Thread viewer for Bluesky

Compare changes

Choose any two refs to compare.

+133 -86
+1 -1
LICENSE.txt
··· 1 1 The zlib License 2 2 3 - Copyright (c) 2025 Jakub Suder 3 + Copyright (c) 2026 Jakub Suder 4 4 5 5 This software is provided 'as-is', without any express or implied 6 6 warranty. In no event will the authors be held liable for any damages
+2 -5
README.md
··· 44 44 45 45 ## Running 46 46 47 - You can access Skythread at: 48 - 49 - - [skythread.mackuba.eu](https://skythread.mackuba.eu) โ€“ new version rewritten in Svelte 50 - - [blue.mackuba.eu/skythread](https://blue.mackuba.eu/skythread/) โ€“ old stable version in vanilla JS 47 + You can access the public Skythread site at [skythread.mackuba.eu](https://skythread.mackuba.eu). 51 48 52 49 You can also download a zipped copy of this repo or clone it and use it locally โ€“ just open the `index.html` at the root of the project, no need to start any servers! 53 50 ··· 59 56 60 57 ## Credits 61 58 62 - Copyright ยฉ 2025 [Kuba Suder](https://mackuba.eu) (<a href="https://bsky.app/profile/mackuba.eu">@mackuba.eu</a> on Bluesky). Licensed under [zlib license](https://choosealicense.com/licenses/zlib/) (permissive, similar to MIT). 59 + Copyright ยฉ 2026 [Kuba Suder](https://mackuba.eu) (<a href="https://bsky.app/profile/did:plc:oio4hkxaop4ao4wz2pp3f4cr">@mackuba.eu</a> on Bluesky). Licensed under [zlib license](https://choosealicense.com/licenses/zlib/) (permissive, similar to MIT). 63 60 64 61 Pull requests, bug reports and suggestions are welcome :)
+33 -33
bun.lock
··· 17 17 }, 18 18 }, 19 19 "packages": { 20 - "@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.27.0", "", { "os": "aix", "cpu": "ppc64" }, "sha512-KuZrd2hRjz01y5JK9mEBSD3Vj3mbCvemhT466rSuJYeE/hjuBrHfjjcjMdTm/sz7au+++sdbJZJmuBwQLuw68A=="], 20 + "@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.27.2", "", { "os": "aix", "cpu": "ppc64" }, "sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw=="], 21 21 22 - "@esbuild/android-arm": ["@esbuild/android-arm@0.27.0", "", { "os": "android", "cpu": "arm" }, "sha512-j67aezrPNYWJEOHUNLPj9maeJte7uSMM6gMoxfPC9hOg8N02JuQi/T7ewumf4tNvJadFkvLZMlAq73b9uwdMyQ=="], 22 + "@esbuild/android-arm": ["@esbuild/android-arm@0.27.2", "", { "os": "android", "cpu": "arm" }, "sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA=="], 23 23 24 - "@esbuild/android-arm64": ["@esbuild/android-arm64@0.27.0", "", { "os": "android", "cpu": "arm64" }, "sha512-CC3vt4+1xZrs97/PKDkl0yN7w8edvU2vZvAFGD16n9F0Cvniy5qvzRXjfO1l94efczkkQE6g1x0i73Qf5uthOQ=="], 24 + "@esbuild/android-arm64": ["@esbuild/android-arm64@0.27.2", "", { "os": "android", "cpu": "arm64" }, "sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA=="], 25 25 26 - "@esbuild/android-x64": ["@esbuild/android-x64@0.27.0", "", { "os": "android", "cpu": "x64" }, "sha512-wurMkF1nmQajBO1+0CJmcN17U4BP6GqNSROP8t0X/Jiw2ltYGLHpEksp9MpoBqkrFR3kv2/te6Sha26k3+yZ9Q=="], 26 + "@esbuild/android-x64": ["@esbuild/android-x64@0.27.2", "", { "os": "android", "cpu": "x64" }, "sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A=="], 27 27 28 - "@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.27.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-uJOQKYCcHhg07DL7i8MzjvS2LaP7W7Pn/7uA0B5S1EnqAirJtbyw4yC5jQ5qcFjHK9l6o/MX9QisBg12kNkdHg=="], 28 + "@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.27.2", "", { "os": "darwin", "cpu": "arm64" }, "sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg=="], 29 29 30 - "@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.27.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-8mG6arH3yB/4ZXiEnXof5MK72dE6zM9cDvUcPtxhUZsDjESl9JipZYW60C3JGreKCEP+p8P/72r69m4AZGJd5g=="], 30 + "@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.27.2", "", { "os": "darwin", "cpu": "x64" }, "sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA=="], 31 31 32 - "@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.27.0", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-9FHtyO988CwNMMOE3YIeci+UV+x5Zy8fI2qHNpsEtSF83YPBmE8UWmfYAQg6Ux7Gsmd4FejZqnEUZCMGaNQHQw=="], 32 + "@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.27.2", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g=="], 33 33 34 - "@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.27.0", "", { "os": "freebsd", "cpu": "x64" }, "sha512-zCMeMXI4HS/tXvJz8vWGexpZj2YVtRAihHLk1imZj4efx1BQzN76YFeKqlDr3bUWI26wHwLWPd3rwh6pe4EV7g=="], 34 + "@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.27.2", "", { "os": "freebsd", "cpu": "x64" }, "sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA=="], 35 35 36 - "@esbuild/linux-arm": ["@esbuild/linux-arm@0.27.0", "", { "os": "linux", "cpu": "arm" }, "sha512-t76XLQDpxgmq2cNXKTVEB7O7YMb42atj2Re2Haf45HkaUpjM2J0UuJZDuaGbPbamzZ7bawyGFUkodL+zcE+jvQ=="], 36 + "@esbuild/linux-arm": ["@esbuild/linux-arm@0.27.2", "", { "os": "linux", "cpu": "arm" }, "sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw=="], 37 37 38 - "@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.27.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-AS18v0V+vZiLJyi/4LphvBE+OIX682Pu7ZYNsdUHyUKSoRwdnOsMf6FDekwoAFKej14WAkOef3zAORJgAtXnlQ=="], 38 + "@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.27.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw=="], 39 39 40 - "@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.27.0", "", { "os": "linux", "cpu": "ia32" }, "sha512-Mz1jxqm/kfgKkc/KLHC5qIujMvnnarD9ra1cEcrs7qshTUSksPihGrWHVG5+osAIQ68577Zpww7SGapmzSt4Nw=="], 40 + "@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.27.2", "", { "os": "linux", "cpu": "ia32" }, "sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w=="], 41 41 42 - "@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.27.0", "", { "os": "linux", "cpu": "none" }, "sha512-QbEREjdJeIreIAbdG2hLU1yXm1uu+LTdzoq1KCo4G4pFOLlvIspBm36QrQOar9LFduavoWX2msNFAAAY9j4BDg=="], 42 + "@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.27.2", "", { "os": "linux", "cpu": "none" }, "sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg=="], 43 43 44 - "@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.27.0", "", { "os": "linux", "cpu": "none" }, "sha512-sJz3zRNe4tO2wxvDpH/HYJilb6+2YJxo/ZNbVdtFiKDufzWq4JmKAiHy9iGoLjAV7r/W32VgaHGkk35cUXlNOg=="], 44 + "@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.27.2", "", { "os": "linux", "cpu": "none" }, "sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw=="], 45 45 46 - "@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.27.0", "", { "os": "linux", "cpu": "ppc64" }, "sha512-z9N10FBD0DCS2dmSABDBb5TLAyF1/ydVb+N4pi88T45efQ/w4ohr/F/QYCkxDPnkhkp6AIpIcQKQ8F0ANoA2JA=="], 46 + "@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.27.2", "", { "os": "linux", "cpu": "ppc64" }, "sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ=="], 47 47 48 - "@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.27.0", "", { "os": "linux", "cpu": "none" }, "sha512-pQdyAIZ0BWIC5GyvVFn5awDiO14TkT/19FTmFcPdDec94KJ1uZcmFs21Fo8auMXzD4Tt+diXu1LW1gHus9fhFQ=="], 48 + "@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.27.2", "", { "os": "linux", "cpu": "none" }, "sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA=="], 49 49 50 - "@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.27.0", "", { "os": "linux", "cpu": "s390x" }, "sha512-hPlRWR4eIDDEci953RI1BLZitgi5uqcsjKMxwYfmi4LcwyWo2IcRP+lThVnKjNtk90pLS8nKdroXYOqW+QQH+w=="], 50 + "@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.27.2", "", { "os": "linux", "cpu": "s390x" }, "sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w=="], 51 51 52 - "@esbuild/linux-x64": ["@esbuild/linux-x64@0.27.0", "", { "os": "linux", "cpu": "x64" }, "sha512-1hBWx4OUJE2cab++aVZ7pObD6s+DK4mPGpemtnAORBvb5l/g5xFGk0vc0PjSkrDs0XaXj9yyob3d14XqvnQ4gw=="], 52 + "@esbuild/linux-x64": ["@esbuild/linux-x64@0.27.2", "", { "os": "linux", "cpu": "x64" }, "sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA=="], 53 53 54 - "@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.27.0", "", { "os": "none", "cpu": "arm64" }, "sha512-6m0sfQfxfQfy1qRuecMkJlf1cIzTOgyaeXaiVaaki8/v+WB+U4hc6ik15ZW6TAllRlg/WuQXxWj1jx6C+dfy3w=="], 54 + "@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.27.2", "", { "os": "none", "cpu": "arm64" }, "sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw=="], 55 55 56 - "@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.27.0", "", { "os": "none", "cpu": "x64" }, "sha512-xbbOdfn06FtcJ9d0ShxxvSn2iUsGd/lgPIO2V3VZIPDbEaIj1/3nBBe1AwuEZKXVXkMmpr6LUAgMkLD/4D2PPA=="], 56 + "@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.27.2", "", { "os": "none", "cpu": "x64" }, "sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA=="], 57 57 58 - "@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.27.0", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-fWgqR8uNbCQ/GGv0yhzttj6sU/9Z5/Sv/VGU3F5OuXK6J6SlriONKrQ7tNlwBrJZXRYk5jUhuWvF7GYzGguBZQ=="], 58 + "@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.27.2", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA=="], 59 59 60 - "@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.27.0", "", { "os": "openbsd", "cpu": "x64" }, "sha512-aCwlRdSNMNxkGGqQajMUza6uXzR/U0dIl1QmLjPtRbLOx3Gy3otfFu/VjATy4yQzo9yFDGTxYDo1FfAD9oRD2A=="], 60 + "@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.27.2", "", { "os": "openbsd", "cpu": "x64" }, "sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg=="], 61 61 62 - "@esbuild/openharmony-arm64": ["@esbuild/openharmony-arm64@0.27.0", "", { "os": "none", "cpu": "arm64" }, "sha512-nyvsBccxNAsNYz2jVFYwEGuRRomqZ149A39SHWk4hV0jWxKM0hjBPm3AmdxcbHiFLbBSwG6SbpIcUbXjgyECfA=="], 62 + "@esbuild/openharmony-arm64": ["@esbuild/openharmony-arm64@0.27.2", "", { "os": "none", "cpu": "arm64" }, "sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag=="], 63 63 64 - "@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.27.0", "", { "os": "sunos", "cpu": "x64" }, "sha512-Q1KY1iJafM+UX6CFEL+F4HRTgygmEW568YMqDA5UV97AuZSm21b7SXIrRJDwXWPzr8MGr75fUZPV67FdtMHlHA=="], 64 + "@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.27.2", "", { "os": "sunos", "cpu": "x64" }, "sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg=="], 65 65 66 - "@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.27.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-W1eyGNi6d+8kOmZIwi/EDjrL9nxQIQ0MiGqe/AWc6+IaHloxHSGoeRgDRKHFISThLmsewZ5nHFvGFWdBYlgKPg=="], 66 + "@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.27.2", "", { "os": "win32", "cpu": "arm64" }, "sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg=="], 67 67 68 - "@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.27.0", "", { "os": "win32", "cpu": "ia32" }, "sha512-30z1aKL9h22kQhilnYkORFYt+3wp7yZsHWus+wSKAJR8JtdfI76LJ4SBdMsCopTR3z/ORqVu5L1vtnHZWVj4cQ=="], 68 + "@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.27.2", "", { "os": "win32", "cpu": "ia32" }, "sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ=="], 69 69 70 - "@esbuild/win32-x64": ["@esbuild/win32-x64@0.27.0", "", { "os": "win32", "cpu": "x64" }, "sha512-aIitBcjQeyOhMTImhLZmtxfdOcuNRpwlPNmlFKPcHQYPhEssw75Cl1TSXJXpMkzaua9FUetx/4OQKq7eJul5Cg=="], 70 + "@esbuild/win32-x64": ["@esbuild/win32-x64@0.27.2", "", { "os": "win32", "cpu": "x64" }, "sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ=="], 71 71 72 72 "@jridgewell/gen-mapping": ["@jridgewell/gen-mapping@0.3.13", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA=="], 73 73 ··· 97 97 98 98 "clsx": ["clsx@2.1.1", "", {}, "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA=="], 99 99 100 - "devalue": ["devalue@5.5.0", "", {}, "sha512-69sM5yrHfFLJt0AZ9QqZXGCPfJ7fQjvpln3Rq5+PS03LD32Ost1Q9N+eEnaQwGRIriKkMImXD56ocjQmfjbV3w=="], 100 + "devalue": ["devalue@5.6.2", "", {}, "sha512-nPRkjWzzDQlsejL1WVifk5rvcFi/y1onBRxjaFMjZeR9mFpqu2gmAZ9xUB9/IEanEP/vBtGeGganC/GO1fmufg=="], 101 101 102 - "dompurify": ["dompurify@3.3.0", "", { "optionalDependencies": { "@types/trusted-types": "^2.0.7" } }, "sha512-r+f6MYR1gGN1eJv0TVQbhA7if/U7P87cdPl3HN5rikqaBSBxLiCb/b9O+2eG0cxz0ghyU+mU1QkbsOwERMYlWQ=="], 102 + "dompurify": ["dompurify@3.3.1", "", { "optionalDependencies": { "@types/trusted-types": "^2.0.7" } }, "sha512-qkdCKzLNtrgPFP1Vo+98FRzJnBRGe4ffyCea9IwHB1fyxPOeNTHpLKYGd4Uk9xvNoH0ZoOjwZxNptyMwqrId1Q=="], 103 103 104 - "esbuild": ["esbuild@0.27.0", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.27.0", "@esbuild/android-arm": "0.27.0", "@esbuild/android-arm64": "0.27.0", "@esbuild/android-x64": "0.27.0", "@esbuild/darwin-arm64": "0.27.0", "@esbuild/darwin-x64": "0.27.0", "@esbuild/freebsd-arm64": "0.27.0", "@esbuild/freebsd-x64": "0.27.0", "@esbuild/linux-arm": "0.27.0", "@esbuild/linux-arm64": "0.27.0", "@esbuild/linux-ia32": "0.27.0", "@esbuild/linux-loong64": "0.27.0", "@esbuild/linux-mips64el": "0.27.0", "@esbuild/linux-ppc64": "0.27.0", "@esbuild/linux-riscv64": "0.27.0", "@esbuild/linux-s390x": "0.27.0", "@esbuild/linux-x64": "0.27.0", "@esbuild/netbsd-arm64": "0.27.0", "@esbuild/netbsd-x64": "0.27.0", "@esbuild/openbsd-arm64": "0.27.0", "@esbuild/openbsd-x64": "0.27.0", "@esbuild/openharmony-arm64": "0.27.0", "@esbuild/sunos-x64": "0.27.0", "@esbuild/win32-arm64": "0.27.0", "@esbuild/win32-ia32": "0.27.0", "@esbuild/win32-x64": "0.27.0" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-jd0f4NHbD6cALCyGElNpGAOtWxSq46l9X/sWB0Nzd5er4Kz2YTm+Vl0qKFT9KUJvD8+fiO8AvoHhFvEatfVixA=="], 104 + "esbuild": ["esbuild@0.27.2", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.27.2", "@esbuild/android-arm": "0.27.2", "@esbuild/android-arm64": "0.27.2", "@esbuild/android-x64": "0.27.2", "@esbuild/darwin-arm64": "0.27.2", "@esbuild/darwin-x64": "0.27.2", "@esbuild/freebsd-arm64": "0.27.2", "@esbuild/freebsd-x64": "0.27.2", "@esbuild/linux-arm": "0.27.2", "@esbuild/linux-arm64": "0.27.2", "@esbuild/linux-ia32": "0.27.2", "@esbuild/linux-loong64": "0.27.2", "@esbuild/linux-mips64el": "0.27.2", "@esbuild/linux-ppc64": "0.27.2", "@esbuild/linux-riscv64": "0.27.2", "@esbuild/linux-s390x": "0.27.2", "@esbuild/linux-x64": "0.27.2", "@esbuild/netbsd-arm64": "0.27.2", "@esbuild/netbsd-x64": "0.27.2", "@esbuild/openbsd-arm64": "0.27.2", "@esbuild/openbsd-x64": "0.27.2", "@esbuild/openharmony-arm64": "0.27.2", "@esbuild/sunos-x64": "0.27.2", "@esbuild/win32-arm64": "0.27.2", "@esbuild/win32-ia32": "0.27.2", "@esbuild/win32-x64": "0.27.2" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw=="], 105 105 106 - "esbuild-svelte": ["esbuild-svelte@0.9.3", "", { "dependencies": { "@jridgewell/trace-mapping": "^0.3.19" }, "peerDependencies": { "esbuild": ">=0.17.0", "svelte": ">=4.2.1 <6" } }, "sha512-CgEcGY1r/d16+aggec3czoFBEBaYIrFOnMxpsO6fWNaNEqHregPN5DLAPZDqrL7rXDNplW+WMu8s3GMq9FqgJA=="], 106 + "esbuild-svelte": ["esbuild-svelte@0.9.4", "", { "dependencies": { "@jridgewell/trace-mapping": "^0.3.19" }, "peerDependencies": { "esbuild": ">=0.17.0", "svelte": ">=4.2.1 <6" } }, "sha512-v/a0GjkKN06nal2QLluxjk2GXsei3fdtjIuHRa6pVnri5rQBZ6pj4a2WwjLfRojgRsLwDHl4xSeZ1BeUHsqQrw=="], 107 107 108 108 "esm-env": ["esm-env@1.2.2", "", {}, "sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA=="], 109 109 110 - "esrap": ["esrap@2.2.0", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.4.15" } }, "sha512-WBmtxe7R9C5mvL4n2le8nMUe4mD5V9oiK2vJpQ9I3y20ENPUomPcphBXE8D1x/Bm84oN1V+lOfgXxtqmxTp3Xg=="], 110 + "esrap": ["esrap@2.2.2", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.4.15" } }, "sha512-zA6497ha+qKvoWIK+WM9NAh5ni17sKZKhbS5B3PoYbBvaYHZWoS33zmFybmyqpn07RLUxSmn+RCls2/XF+d0oQ=="], 111 111 112 112 "fdir": ["fdir@6.5.0", "", { "peerDependencies": { "picomatch": "^3 || ^4" }, "optionalPeers": ["picomatch"] }, "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg=="], 113 113 ··· 125 125 126 126 "sade": ["sade@1.8.1", "", { "dependencies": { "mri": "^1.1.0" } }, "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A=="], 127 127 128 - "svelte": ["svelte@5.45.2", "", { "dependencies": { "@jridgewell/remapping": "^2.3.4", "@jridgewell/sourcemap-codec": "^1.5.0", "@sveltejs/acorn-typescript": "^1.0.5", "@types/estree": "^1.0.5", "acorn": "^8.12.1", "aria-query": "^5.3.1", "axobject-query": "^4.1.0", "clsx": "^2.1.1", "devalue": "^5.5.0", "esm-env": "^1.2.1", "esrap": "^2.2.0", "is-reference": "^3.0.3", "locate-character": "^3.0.0", "magic-string": "^0.30.11", "zimmerframe": "^1.1.2" } }, "sha512-yyXdW2u3H0H/zxxWoGwJoQlRgaSJLp+Vhktv12iRw2WRDlKqUPT54Fi0K/PkXqrdkcQ98aBazpy0AH4BCBVfoA=="], 128 + "svelte": ["svelte@5.48.3", "", { "dependencies": { "@jridgewell/remapping": "^2.3.4", "@jridgewell/sourcemap-codec": "^1.5.0", "@sveltejs/acorn-typescript": "^1.0.5", "@types/estree": "^1.0.5", "acorn": "^8.12.1", "aria-query": "^5.3.1", "axobject-query": "^4.1.0", "clsx": "^2.1.1", "devalue": "^5.6.2", "esm-env": "^1.2.1", "esrap": "^2.2.1", "is-reference": "^3.0.3", "locate-character": "^3.0.0", "magic-string": "^0.30.11", "zimmerframe": "^1.1.2" } }, "sha512-w7QZ398cdNherTdiQ/v3SYLLGOO4948Jgjh04PYqtTYVohmBvbmFwLmo7pp8gp4/1tceRWfSTjHgjtfpCVNJmQ=="], 129 129 130 - "svelte-check": ["svelte-check@4.3.4", "", { "dependencies": { "@jridgewell/trace-mapping": "^0.3.25", "chokidar": "^4.0.1", "fdir": "^6.2.0", "picocolors": "^1.0.0", "sade": "^1.7.4" }, "peerDependencies": { "svelte": "^4.0.0 || ^5.0.0-next.0", "typescript": ">=5.0.0" }, "bin": { "svelte-check": "bin/svelte-check" } }, "sha512-DVWvxhBrDsd+0hHWKfjP99lsSXASeOhHJYyuKOFYJcP7ThfSCKgjVarE8XfuMWpS5JV3AlDf+iK1YGGo2TACdw=="], 130 + "svelte-check": ["svelte-check@4.3.5", "", { "dependencies": { "@jridgewell/trace-mapping": "^0.3.25", "chokidar": "^4.0.1", "fdir": "^6.2.0", "picocolors": "^1.0.0", "sade": "^1.7.4" }, "peerDependencies": { "svelte": "^4.0.0 || ^5.0.0-next.0", "typescript": ">=5.0.0" }, "bin": { "svelte-check": "bin/svelte-check" } }, "sha512-e4VWZETyXaKGhpkxOXP+B/d0Fp/zKViZoJmneZWe/05Y2aqSKj3YN2nLfYPJBQ87WEiY4BQCQ9hWGu9mPT1a1Q=="], 131 131 132 132 "typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="], 133 133
+1 -1
dist/skythread.css
··· 1 - .dialog.svelte-1fggtsn{position:fixed;display:flex;z-index:10;background-color:#f0f0f066;justify-content:center;align-items: center;padding-bottom:5%;inset:0}.dialog.svelte-1fggtsn.expanded{padding-bottom:0}.dialog.svelte-1fggtsn~main{filter:blur(8px)}.dialog.svelte-1fggtsn form{position:relative;background-color:#f5faff;border:2px solid #b3d9ff;border-radius:10px;padding:15px 25px}.dialog.svelte-1fggtsn .close{position:absolute;color:#80bfff;opacity:.6;top:5px;right:5px}.dialog.svelte-1fggtsn .close:hover{color:#4ca6ff;opacity:1}.dialog.svelte-1fggtsn p{text-align:center;line-height:125%}.dialog.svelte-1fggtsn h2{text-align:center;margin-bottom:25px;padding-right:10px;font-size:13pt;font-weight:600}.dialog.svelte-1fggtsn input[type=text]{border:1px solid #d6d6d6;border-radius:4px;width:200px;margin:0 15px;padding:5px 6px;font-size:11pt}.dialog.svelte-1fggtsn input[type=password]{border:1px solid #d6d6d6;border-radius:4px;width:200px;margin:0 15px;padding:5px 6px;font-size:11pt}.dialog.svelte-1fggtsn p.submit{margin-top:25px}.dialog.svelte-1fggtsn input[type=submit]{background-color:#d6ebff;border:1px solid #b6d9fb;border-radius:4px;width:150px;padding:5px 6px;font-size:11pt}.dialog.svelte-1fggtsn input[type=submit]:hover{background-color:#cce6ff;border:1px solid #a8d1fa}.dialog.svelte-1fggtsn input[type=submit]:active{background-color:#bddeff;border:1px solid #9eccfa}form.svelte-1b6ue70{width:400px}.dialog p.submit.svelte-1b6ue70{margin-top:40px;margin-bottom:20px}.dialog input[type=submit].svelte-1b6ue70{width:180px;margin-left:5px;margin-right:5px}p.info.svelte-1pnuyy2{font-size:9pt}p.info.svelte-1pnuyy2 a:where(.svelte-1pnuyy2){color:#666}.cloudy.svelte-1pnuyy2{color:#99bfe6;margin:14px 0}.info-box.svelte-1pnuyy2{background-color:#fffceb;border:1px solid #fc3;border-radius:6px;width:360px;font-size:11pt}.info-box.svelte-1pnuyy2 p:where(.svelte-1pnuyy2){text-align:left;margin:15px}@media (prefers-color-scheme:dark){#login{background-color:#f0f0f026}form.svelte-1pnuyy2{background-color:#384047;border-color:#52667a}.close.svelte-1pnuyy2{color:#668099;opacity:.6}.close.svelte-1pnuyy2:hover{color:#668099;opacity:1}p.info.svelte-1pnuyy2 a:where(.svelte-1pnuyy2){color:#888}input[type=text].svelte-1pnuyy2,input[type=password].svelte-1pnuyy2{border-color:#666}input[type=submit].svelte-1pnuyy2{background-color:#4f5964;border-color:#576675}input[type=submit].svelte-1pnuyy2:active{background-color:#434d56;border-color:#4c5967}.cloudy.svelte-1pnuyy2{color:#99bfe6}.info-box.svelte-1pnuyy2{background-color:#6b612e;border-color:#e6ac00}.info-box.svelte-1pnuyy2 a:where(.svelte-1pnuyy2){color:#ffbf00}}li.svelte-1obod96 .button:where(.svelte-1obod96){display:inline-block;color:#333;background-color:#000a141f;border:1px solid #bbb;border-radius:5px;margin-top:8px;padding:3px 5px;font-size:11pt}li.svelte-1obod96 .button:where(.svelte-1obod96):hover{text-decoration:none;background-color:#000a1433}@media (prefers-color-scheme:dark){li.svelte-1obod96 .button:where(.svelte-1obod96){color:#333;background-color:#000a141f;border-color:#bbb}li.svelte-1obod96 .button:where(.svelte-1obod96):hover{background-color:#000a1433}}#account.svelte-jzoz05{position:fixed;z-index:20;user-select:none;-webkit-user-select:none;line-height:24px;top:10px;left:10px}#account.svelte-jzoz05 i:where(.svelte-jzoz05){opacity:.4}#account.svelte-jzoz05 i:where(.svelte-jzoz05):hover{cursor:pointer;opacity:.6}#account.svelte-jzoz05 img.avatar{border-radius:13px;width:24px;height:24px;box-shadow:0 0 2px #000}#account_menu.svelte-jzoz05{position:fixed;visibility:hidden;z-index:15;user-select:none;-webkit-user-select:none;background:#ebf0f5;border:1px solid #ccc;border-radius:5px;padding-top:30px;top:5px;left:5px}#account_menu.svelte-jzoz05 ul:where(.svelte-jzoz05){list-style-type:none;margin:0 0 10px;padding:6px 11px}#account_menu.svelte-jzoz05 li:not(.link)+li.link{border-top:1px solid #ccc;margin-top:16px;padding-top:10px}li.link.svelte-jzoz05{margin-top:8px;margin-left:2px}li.link.svelte-jzoz05 a:where(.svelte-jzoz05){color:#333;font-size:11pt}@media (prefers-color-scheme:dark){#account.active.svelte-jzoz05{color:#333}#account_menu.svelte-jzoz05{background:#ebf0f5;border-color:#ccc}}#loader.svelte-1larzq0{position:fixed;width:36px;height:36px;margin:auto;inset:0}#loader.svelte-1larzq0 img:where(.svelte-1larzq0){animation:rotation 3s infinite linear;width:36px}@media (prefers-color-scheme:dark){#loader.svelte-1larzq0{filter:invert()}}.edge.svelte-qe4209{position:absolute;width:6px;top:30px;bottom:0;left:-2px}.line.svelte-qe4209{position:absolute;border-left:1px solid #aaa;top:0;bottom:0;left:2px}.edge.svelte-qe4209:hover .line:where(.svelte-qe4209){border-left:2px solid #888}.plus.svelte-qe4209{position:absolute;width:14px;top:8px;left:-6px}.post.collapsed .line.svelte-qe4209,.post.flat>.margin.svelte-qe4209{display:none}@media (prefers-color-scheme:dark){.line.svelte-qe4209{border-left-color:#666}.edge.svelte-qe4209:hover .line:where(.svelte-qe4209){border-left-color:#888}.plus.svelte-qe4209{filter:invert()}}.fedi-link.svelte-ul6xja{display:inline-block;margin-top:2px;margin-bottom:6px}.fedi-link.svelte-ul6xja:hover{text-decoration:none}div.svelte-ul6xja{color:#555;border:1px solid #d0d0d0;border-radius:8px;padding:5px 9px;font-size:10pt}i.svelte-ul6xja{margin-right:3px}.fedi-link.svelte-ul6xja:hover div:where(.svelte-ul6xja){background-color:#f6f7f8;border:1px solid #c8c8c8}@media (prefers-color-scheme:dark){div.svelte-ul6xja{color:#909090;border-color:#606060}.fedi-link.svelte-ul6xja:hover div:where(.svelte-ul6xja){background-color:#444;border-color:#909090}}.hidden-replies.svelte-1epmfrv{margin-top:20px;font-size:11pt}.hidden-replies.svelte-1epmfrv a:where(.svelte-1epmfrv){color:#8b4513;font-size:12pt}.bridged-body.svelte-rk6ws2 p+p{margin-top:18px}.svelte-rk6ws2::highlight(search-results){background-color:#ffff00bf}@media (prefers-color-scheme:dark){.svelte-rk6ws2::highlight(search-results){background-color:#ffff0059}}h2.svelte-b7kxl{margin-bottom:0;font-size:12pt}.avatar.svelte-b7kxl{vertical-align:middle;border-radius:16px;width:32px;height:32px;margin-bottom:3px;margin-right:4px}.no-avatar.svelte-b7kxl,.muted-avatar.svelte-b7kxl{color:#aaa;vertical-align:middle;background-color:#eee;border-radius:16px;margin-right:4px}.muted-avatar.svelte-b7kxl{color:#bbb}.handle.svelte-b7kxl{color:#888;vertical-align:text-top;font-size:11pt;font-weight:400}.mastodon.svelte-b7kxl{position:relative;width:15px;margin-left:3px;top:2px}.time.svelte-b7kxl{color:#666;vertical-align:text-top;font-size:10pt;font-weight:400}@media (prefers-color-scheme:dark){.handle.svelte-b7kxl,.separator.svelte-b7kxl{color:#888}.time.svelte-b7kxl{color:#aaa}h2.svelte-b7kxl .action{color:#888}}a.svelte-1d08m6n{color:#333;background-color:#f0f7fe;border:1px solid #b6d3fb;border-radius:6px;margin-right:5px;padding:3px 7px;font-size:10pt}a.svelte-1d08m6n:hover{text-decoration:none;background-color:#ddedfd}.stats.svelte-14wd2aa{color:#666;font-size:10pt}a.svelte-14wd2aa{color:#666;text-decoration:none}a.svelte-14wd2aa:hover{text-decoration:underline}i.svelte-14wd2aa{color:#888;font-size:9pt}i.fa-heart.svelte-14wd2aa{color:#aaa}i.fa-heart.liked.svelte-14wd2aa{color:#e03030}i.fa-heart.svelte-14wd2aa:hover{color:#888;cursor:pointer}i.fa-heart.liked.svelte-14wd2aa:hover{color:#c02020}span.svelte-14wd2aa{margin-right:7px}.blocked-info.svelte-14wd2aa{color:#a02020;margin-left:5px;font-weight:700}@media (prefers-color-scheme:dark){.stats.svelte-14wd2aa{color:#aaa}i.svelte-14wd2aa{color:#888}i.fa-heart.svelte-14wd2aa{color:#aaa}i.fa-heart.liked.svelte-14wd2aa{color:#f04040}i.fa-heart.svelte-14wd2aa:hover{color:#eee}i.fa-heart.liked.svelte-14wd2aa:hover{color:#ff7070}}.image-alt.svelte-1d4qxx0{color:#666;margin-bottom:20px;font-size:11pt}.image-alt.svelte-1d4qxx0 summary:where(.svelte-1d4qxx0){color:#666;user-select:none;-webkit-user-select:none;cursor:default;margin-bottom:5px;font-size:11pt}@media (prefers-color-scheme:dark){.image-alt.svelte-1d4qxx0{color:#999}.image-alt.svelte-1d4qxx0 summary:where(.svelte-1d4qxx0){color:#999}}.gif.svelte-1g38dct img:where(.svelte-1g38dct){user-select:none;-webkit-user-select:none}.gif.svelte-1g38dct img.static:where(.svelte-1g38dct){opacity:.75}.quote-embed.svelte-qy2yyv{background-color:#fbfcfd;border:1px solid #ddd;border-radius:8px;max-width:800px;margin-top:25px;margin-bottom:15px;margin-left:0}.quote-embed.svelte-qy2yyv .post{margin-top:16px;padding-bottom:5px;padding-left:16px;padding-right:16px}.placeholder.svelte-qy2yyv{color:#888;font-size:11pt;font-style:italic}@media (prefers-color-scheme:dark){.quote-embed.svelte-qy2yyv{background-color:#303030;border-color:#606060}}.embed.svelte-19fytgx a.link-card{display:block;position:relative;max-width:500px;margin-bottom:12px}.embed.svelte-19fytgx a.link-card:hover{text-decoration:none}.embed.svelte-19fytgx a.link-card>div{background-color:#fcfcfd;border:1px solid #d8d8d8;border-radius:8px;padding:11px 15px}.embed.svelte-19fytgx a.link-card:hover>div{background-color:#f6f7f8;border:1px solid #c8c8c8}.embed.svelte-19fytgx a.link-card>div:not(:has(p.description)){padding-bottom:14px}.embed.svelte-19fytgx a.link-card p.domain{color:#888;margin-top:1px;margin-bottom:5px;font-size:10pt}.embed.svelte-19fytgx a.link-card h2{color:#333;margin-top:8px;margin-bottom:0;font-size:12pt}.embed.svelte-19fytgx a.link-card p.description{color:#666;white-space:pre-line;margin-top:8px;margin-bottom:4px;font-size:11pt;line-height:135%}.embed.svelte-19fytgx a.link-card.record>div:has(.avatar){padding-left:65px}.embed.svelte-19fytgx a.link-card.record h2{margin-top:3px}.embed.svelte-19fytgx a.link-card.record .handle{color:#666;vertical-align:text-top;margin-left:1px;font-size:11pt;font-weight:400}.embed.svelte-19fytgx a.link-card.record .avatar{position:absolute;border:1px solid #ddd;border-radius:6px;width:36px;height:36px;top:15px;left:15px}.embed.svelte-19fytgx a.link-card.record .stats{color:#666;margin-top:9px;margin-bottom:1px;font-size:10pt}.embed.svelte-19fytgx a.link-card.record .stats i.fa-heart{color:#aaa;font-size:9pt}@media (prefers-color-scheme:dark){.embed.svelte-19fytgx a.link-card>div{background-color:#303030;border-color:#606060}.embed.svelte-19fytgx a.link-card:hover>div{background-color:#383838;border-color:#707070}.embed.svelte-19fytgx a.link-card p.domain{color:#666}.embed.svelte-19fytgx a.link-card h2{color:#ccc}.embed.svelte-19fytgx a.link-card p.description{color:#888}.embed.svelte-19fytgx a.link-card.record .handle{color:#666}.embed.svelte-19fytgx a.link-card.record .avatar{border-color:#888}}.post.blocked.svelte-qmmoky p{color:#666;font-size:11pt}.post.blocked.svelte-qmmoky a{color:#666;font-size:11pt}@media (prefers-color-scheme:dark){.post.blocked.svelte-qmmoky p{color:#aaa}.post.blocked.svelte-qmmoky a{color:#aaa}}.post p{margin-top:10px}.post .blocked-header i{margin-right:2px}.post h2 .separator,.post .blocked-header .separator,.blocked-header .separator{color:#888;vertical-align:text-top;font-size:11pt;font-weight:400}.post h2 .action,.post .blocked-header .action,.blocked-header .action{color:#888;vertical-align:text-top;font-size:10pt;font-weight:400}.post h2 .action:hover,.post .blocked-header .action:hover,.blocked-header .action:hover{color:#444}.post{position:relative;margin-top:30px;padding-left:21px}.post.collapsed.svelte-rwn0j1 .content:where(.svelte-rwn0j1){display:none}.post.flat.svelte-rwn0j1{margin-top:25px;padding-left:0}.post.muted.svelte-rwn0j1>h2{opacity:.3;font-weight:600}.post.muted.svelte-rwn0j1>.content>details>p,.post.muted.svelte-rwn0j1>.content>details summary{opacity:.3}details.svelte-rwn0j1{margin-top:12px;margin-bottom:10px}summary.svelte-rwn0j1{user-select:none;-webkit-user-select:none;cursor:default;font-size:10pt}.missing-replies-info.svelte-rwn0j1{color:#8b0000;margin-top:25px;font-size:11pt}.post.svelte-rwn0j1 img.loader{animation:rotation 3s infinite linear;width:24px;margin-top:5px}.hashtag.svelte-1l2woaq>.post{border-bottom:1px solid #ddd;padding-bottom:10px}#search.svelte-1drcssc{position:fixed;display:flex;justify-content:center;align-items: center;padding-bottom:5%;inset:0}form.svelte-1drcssc{border:2px solid #9cf;border-radius:10px;margin-left:50px;padding:15px 20px}input.svelte-1drcssc{border:0;width:600px;margin-left:8px;font-size:16pt}input.svelte-1drcssc:focus{outline:none}@media (prefers-color-scheme:dark){form.svelte-1drcssc{border-color:#7099c2}form.svelte-1drcssc input:where(.svelte-1drcssc){background-color:#0000}}.scan-result.svelte-8hgnpr{border-collapse:collapse;display:none;float:left;border:1px solid #333;margin-top:20px;margin-bottom:40px}td.svelte-8hgnpr,th.svelte-8hgnpr{border:1px solid #333;padding:5px 10px}th.svelte-8hgnpr{text-align:center;background-color:#b8dfff;padding:12px 10px}td.no.svelte-8hgnpr{text-align:right;font-weight:700}td.handle.svelte-8hgnpr{width:280px}td.count.svelte-8hgnpr{padding:5px 15px}.avatar.svelte-8hgnpr{vertical-align:middle;border-radius:14px;width:24px;height:24px;margin-right:2px;padding:2px}@media (prefers-color-scheme:dark){.scan-result.svelte-8hgnpr,td.svelte-8hgnpr,th.svelte-8hgnpr{border-color:#888}th.svelte-8hgnpr{background-color:#064579}}input[type=range].svelte-16cw7lp{vertical-align:middle;width:250px}input[type=submit].svelte-16cw7lp{margin:5px 0;padding:5px 10px;font-size:12pt}progress.svelte-16cw7lp{vertical-align:middle;display:none;width:300px;margin-left:10px}.scan-result.given-likes{margin-right:100px}.search-page.svelte-p7bb5y input[type=submit]{margin:5px 0;padding:5px 10px;font-size:12pt}.search-page.svelte-p7bb5y progress{vertical-align:middle;width:300px;margin-left:10px}.search-page.svelte-p7bb5y .search-query{border:1px solid #ccc;border-radius:6px;margin-left:8px;padding:5px 6px;font-size:12pt}.search-page.svelte-p7bb5y .results{margin-top:30px}.search-page.svelte-p7bb5y .results>.post{border-bottom:1px solid #ddd;margin-top:24px;margin-left:-15px;padding-bottom:10px;padding-left:15px}.search-page.svelte-p7bb5y .results-end{color:#333;font-size:12pt}.search-page.svelte-p7bb5y .post+.results-end{font-size:11pt}@media (prefers-color-scheme:dark){.search-page.svelte-p7bb5y .search-query{border:1px solid #666}.search-page.svelte-p7bb5y .results-end{color:#888}.search-page.svelte-p7bb5y .results>.post{border-bottom:1px solid #555}}.search-collections.svelte-1xf0p4l label:where(.svelte-1xf0p4l){vertical-align:middle;margin-right:5px}.lycan-import.svelte-1xf0p4l{border-top:1px solid #ccc;margin-top:30px;padding-top:5px}.lycan-import.svelte-1xf0p4l form:where(.svelte-1xf0p4l) p:where(.svelte-1xf0p4l){line-height:135%}.import-progress.svelte-1xf0p4l progress:where(.svelte-1xf0p4l){margin-left:0;margin-right:6px}.import-progress.svelte-1xf0p4l progress:where(.svelte-1xf0p4l)+output:where(.svelte-1xf0p4l){font-size:11pt}@media (prefers-color-scheme:dark){.lycan-import.svelte-1xf0p4l{border-top-color:#888}}.notifications.svelte-95g2ry .post{border-bottom:1px solid #ddd;margin-top:24px;padding-bottom:4px}.notifications.svelte-95g2ry .back{margin-top:15px;margin-bottom:-12px;margin-left:22px}.notifications.svelte-95g2ry .back{font-size:10pt}.notifications.svelte-95g2ry .back a{font-size:10pt}.notifications.svelte-95g2ry .back i{margin-right:2px;font-size:9pt}.user-choice.svelte-1cm32f6{position:relative}input.svelte-1cm32f6{width:260px;font-size:11pt}.autocomplete.svelte-1cm32f6{position:absolute;overflow-y:auto;z-index:10;background-color:#fff;border:1px solid #ccc;width:350px;max-height:250px;margin-top:4px;top:0;left:0}.selected-users.svelte-1cm32f6{overflow-y:auto;border:1px solid #aaa;width:275px;height:150px;margin-top:20px;padding:4px}.user-row.svelte-1cm32f6{position:relative;cursor:pointer;padding:2px 4px 2px 37px}.user-row.svelte-1cm32f6 .avatar:where(.svelte-1cm32f6){position:absolute;border-radius:12px;width:24px;top:8px;left:6px}.user-row.svelte-1cm32f6 span:where(.svelte-1cm32f6){display:block;overflow-x:hidden;text-overflow:ellipsis}.user-row.svelte-1cm32f6 .name:where(.svelte-1cm32f6){margin-top:1px;margin-bottom:1px;font-size:11pt}.user-row.svelte-1cm32f6 .handle:where(.svelte-1cm32f6){color:#666;margin-bottom:2px;font-size:10pt}.autocomplete.svelte-1cm32f6 .user-row:where(.svelte-1cm32f6){cursor:pointer}.autocomplete.svelte-1cm32f6 .user-row.highlighted:where(.svelte-1cm32f6){background-color:#b3ddff}.selected-users.svelte-1cm32f6 .user-row:where(.svelte-1cm32f6) span:where(.svelte-1cm32f6){padding-right:14px}.selected-users.svelte-1cm32f6 .user-row:where(.svelte-1cm32f6) .remove:where(.svelte-1cm32f6){position:absolute;color:#333;padding:0 4px;line-height:17px;top:11px;right:4px}.selected-users.svelte-1cm32f6 .user-row:where(.svelte-1cm32f6) .remove:where(.svelte-1cm32f6):hover{text-decoration:none;background-color:#ddd;border-radius:8px}@media (prefers-color-scheme:dark){.autocomplete.svelte-1cm32f6{background-color:#2c2e30;border-color:#4b4b4b}.selected-users.svelte-1cm32f6{border-color:#666}.user-row.svelte-1cm32f6 .handle:where(.svelte-1cm32f6){color:#888}.autocomplete.svelte-1cm32f6 .user-row.highlighted:where(.svelte-1cm32f6){background-color:#064579}.selected-users.svelte-1cm32f6 .user-row:where(.svelte-1cm32f6) .remove:where(.svelte-1cm32f6){color:#aaa}.selected-users.svelte-1cm32f6 .user-row:where(.svelte-1cm32f6) .remove:where(.svelte-1cm32f6):hover{color:#bbb;background-color:#555}}.scan-result.svelte-vhh361{border-collapse:collapse;border:1px solid #333}td.svelte-vhh361,th.svelte-vhh361{border:1px solid #333}td.svelte-vhh361{text-align:right;padding:5px 8px}th.svelte-vhh361{text-align:center;background-color:#b8dfff;padding:7px 10px}td.handle.svelte-vhh361{text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:450px}tr.total.svelte-vhh361 td:where(.svelte-vhh361){background-color:#b8dfff66;font-size:11pt;font-weight:700}tr.total.svelte-vhh361 td.handle:where(.svelte-vhh361){text-align:left;padding:10px 12px}.avatar.svelte-vhh361{vertical-align:middle;border-radius:14px;width:24px;height:24px;margin-right:2px;padding:2px}td.no.svelte-vhh361{font-weight:700}td.percent.svelte-vhh361{min-width:70px}@media (prefers-color-scheme:dark){.scan-result.svelte-vhh361,td.svelte-vhh361,th.svelte-vhh361{border-color:#888}th.svelte-vhh361{background-color:#064579}tr.total.svelte-vhh361 td:where(.svelte-vhh361){background-color:#06457966}}input[type=radio].svelte-1khgu5y{position:relative;margin-left:5px;top:-1px}input[type=radio].svelte-1khgu5y+label:where(.svelte-1khgu5y){user-select:none;-webkit-user-select:none;margin-right:4px}input[type=range].svelte-1khgu5y{vertical-align:middle;width:250px}input[type=submit].svelte-1khgu5y{margin:5px 0;padding:5px 10px;font-size:12pt}select.svelte-1khgu5y{margin-left:5px;font-size:12pt}progress.svelte-1khgu5y{vertical-align:middle;width:300px;margin-left:10px}.scan-info.svelte-1khgu5y{margin:20px 0;font-weight:600;line-height:125%}.quotes.svelte-13teqqd p.back{padding-left:10px}.quotes.svelte-13teqqd .post{padding-bottom:5px}.quotes.svelte-13teqqd .post-quote .quote-embed,.quotes.svelte-13teqqd .post-quote p.stats{display:none}#tangled.svelte-18p55jz{position:fixed;z-index:10;bottom:10px;right:10px}img.svelte-18p55jz{opacity:.4;width:20px}a.svelte-18p55jz:hover img:where(.svelte-18p55jz){opacity:.6}@media (prefers-color-scheme:dark){#tangled.svelte-18p55jz{filter:invert()}}input[type=range].svelte-ba7vy9{vertical-align:middle;width:250px} 1 + .dialog.svelte-39p02pfp7x05g{position:fixed;display:flex;z-index:10;background-color:#f0f0f066;justify-content:center;align-items: center;padding-bottom:5%;inset:0}.dialog.svelte-39p02pfp7x05g.expanded{padding-bottom:0}.dialog.svelte-39p02pfp7x05g~main{filter:blur(8px)}.dialog.svelte-39p02pfp7x05g form{position:relative;background-color:#f5faff;border:2px solid #b3d9ff;border-radius:10px;padding:15px 25px}.dialog.svelte-39p02pfp7x05g .close{position:absolute;color:#80bfff;opacity:.6;top:5px;right:5px}.dialog.svelte-39p02pfp7x05g .close:hover{color:#4ca6ff;opacity:1}.dialog.svelte-39p02pfp7x05g p{text-align:center;line-height:125%}.dialog.svelte-39p02pfp7x05g h2{text-align:center;margin-bottom:25px;padding-right:10px;font-size:13pt;font-weight:600}.dialog.svelte-39p02pfp7x05g input[type=text]{border:1px solid #d6d6d6;border-radius:4px;width:200px;margin:0 15px;padding:5px 6px;font-size:11pt}.dialog.svelte-39p02pfp7x05g input[type=password]{border:1px solid #d6d6d6;border-radius:4px;width:200px;margin:0 15px;padding:5px 6px;font-size:11pt}.dialog.svelte-39p02pfp7x05g p.submit{margin-top:25px}.dialog.svelte-39p02pfp7x05g input[type=submit]{background-color:#d6ebff;border:1px solid #b6d9fb;border-radius:4px;width:150px;padding:5px 6px;font-size:11pt}.dialog.svelte-39p02pfp7x05g input[type=submit]:hover{background-color:#cce6ff;border:1px solid #a8d1fa}.dialog.svelte-39p02pfp7x05g input[type=submit]:active{background-color:#bddeff;border:1px solid #9eccfa}form.svelte-1dbou6z4h1v2{width:400px}.dialog p.submit.svelte-1dbou6z4h1v2{margin-top:40px;margin-bottom:20px}.dialog input[type=submit].svelte-1dbou6z4h1v2{width:180px;margin-left:5px;margin-right:5px}p.info.svelte-nwvgqytdmqdc{font-size:9pt}p.info.svelte-nwvgqytdmqdc a:where(.svelte-nwvgqytdmqdc){color:#666}.cloudy.svelte-nwvgqytdmqdc{color:#99bfe6;margin:14px 0}.info-box.svelte-nwvgqytdmqdc{background-color:#fffceb;border:1px solid #fc3;border-radius:6px;width:360px;font-size:11pt}.info-box.svelte-nwvgqytdmqdc p:where(.svelte-nwvgqytdmqdc){text-align:left;margin:15px}@media (prefers-color-scheme:dark){#login{background-color:#f0f0f026}form.svelte-nwvgqytdmqdc{background-color:#384047;border-color:#52667a}.close.svelte-nwvgqytdmqdc{color:#668099;opacity:.6}.close.svelte-nwvgqytdmqdc:hover{color:#668099;opacity:1}p.info.svelte-nwvgqytdmqdc a:where(.svelte-nwvgqytdmqdc){color:#888}input[type=text].svelte-nwvgqytdmqdc,input[type=password].svelte-nwvgqytdmqdc{border-color:#666}input[type=submit].svelte-nwvgqytdmqdc{background-color:#4f5964;border-color:#576675}input[type=submit].svelte-nwvgqytdmqdc:active{background-color:#434d56;border-color:#4c5967}.cloudy.svelte-nwvgqytdmqdc{color:#99bfe6}.info-box.svelte-nwvgqytdmqdc{background-color:#6b612e;border-color:#e6ac00}.info-box.svelte-nwvgqytdmqdc a:where(.svelte-nwvgqytdmqdc){color:#ffbf00}}li.svelte-2l3xtqf39s5xz .button:where(.svelte-2l3xtqf39s5xz){display:inline-block;color:#333;background-color:#000a141f;border:1px solid #bbb;border-radius:5px;margin-top:8px;padding:3px 5px;font-size:11pt}li.svelte-2l3xtqf39s5xz .button:where(.svelte-2l3xtqf39s5xz):hover{text-decoration:none;background-color:#000a1433}@media (prefers-color-scheme:dark){li.svelte-2l3xtqf39s5xz .button:where(.svelte-2l3xtqf39s5xz){color:#333;background-color:#000a141f;border-color:#bbb}li.svelte-2l3xtqf39s5xz .button:where(.svelte-2l3xtqf39s5xz):hover{background-color:#000a1433}}#account.svelte-37q3bo06zz82t{position:fixed;z-index:20;user-select:none;-webkit-user-select:none;line-height:24px;top:10px;left:10px}#account.svelte-37q3bo06zz82t i:where(.svelte-37q3bo06zz82t){opacity:.4}#account.svelte-37q3bo06zz82t i:where(.svelte-37q3bo06zz82t):hover{cursor:pointer;opacity:.6}#account.svelte-37q3bo06zz82t img.avatar{border-radius:13px;width:24px;height:24px;box-shadow:0 0 2px #000}#account_menu.svelte-37q3bo06zz82t{position:fixed;visibility:hidden;z-index:15;user-select:none;-webkit-user-select:none;background:#ebf0f5;border:1px solid #ccc;border-radius:5px;padding-top:30px;top:5px;left:5px}#account_menu.svelte-37q3bo06zz82t ul:where(.svelte-37q3bo06zz82t){list-style-type:none;margin:0 0 10px;padding:6px 11px}#account_menu.svelte-37q3bo06zz82t li:not(.link)+li.link{border-top:1px solid #ccc;margin-top:16px;padding-top:10px}li.link.svelte-37q3bo06zz82t{margin-top:8px;margin-left:2px}li.link.svelte-37q3bo06zz82t a:where(.svelte-37q3bo06zz82t){color:#333;font-size:11pt}@media (prefers-color-scheme:dark){#account.active.svelte-37q3bo06zz82t{color:#333}#account_menu.svelte-37q3bo06zz82t{background:#ebf0f5;border-color:#ccc}}#loader.svelte-1sl84wlrv68d4{position:fixed;width:36px;height:36px;margin:auto;inset:0}#loader.svelte-1sl84wlrv68d4 img:where(.svelte-1sl84wlrv68d4){animation:rotation 3s infinite linear;width:36px}@media (prefers-color-scheme:dark){#loader.svelte-1sl84wlrv68d4{filter:invert()}}.edge.svelte-2ac5zurqv2ncl{position:absolute;width:6px;top:30px;bottom:0;left:-2px}.line.svelte-2ac5zurqv2ncl{position:absolute;border-left:1px solid #aaa;top:0;bottom:0;left:2px}.edge.svelte-2ac5zurqv2ncl:hover .line:where(.svelte-2ac5zurqv2ncl){border-left:2px solid #888}.plus.svelte-2ac5zurqv2ncl{position:absolute;width:14px;top:8px;left:-6px}.post.collapsed .line.svelte-2ac5zurqv2ncl,.post.flat>.margin.svelte-2ac5zurqv2ncl{display:none}@media (prefers-color-scheme:dark){.line.svelte-2ac5zurqv2ncl{border-left-color:#666}.edge.svelte-2ac5zurqv2ncl:hover .line:where(.svelte-2ac5zurqv2ncl){border-left-color:#888}.plus.svelte-2ac5zurqv2ncl{filter:invert()}}.fedi-link.svelte-1ssytx46btagw{display:inline-block;margin-top:2px;margin-bottom:6px}.fedi-link.svelte-1ssytx46btagw:hover{text-decoration:none}div.svelte-1ssytx46btagw{color:#555;border:1px solid #d0d0d0;border-radius:8px;padding:5px 9px;font-size:10pt}i.svelte-1ssytx46btagw{margin-right:3px}.fedi-link.svelte-1ssytx46btagw:hover div:where(.svelte-1ssytx46btagw){background-color:#f6f7f8;border:1px solid #c8c8c8}@media (prefers-color-scheme:dark){div.svelte-1ssytx46btagw{color:#909090;border-color:#606060}.fedi-link.svelte-1ssytx46btagw:hover div:where(.svelte-1ssytx46btagw){background-color:#444;border-color:#909090}}.hidden-replies.svelte-2zqs77smgmod7{margin-top:20px;font-size:11pt}.hidden-replies.svelte-2zqs77smgmod7 a:where(.svelte-2zqs77smgmod7){color:#8b4513;font-size:12pt}.bridged-body.svelte-2d3jfo6dimkdp p+p{margin-top:18px}.svelte-2d3jfo6dimkdp::highlight(search-results){background-color:#ffff00bf}@media (prefers-color-scheme:dark){.svelte-2d3jfo6dimkdp::highlight(search-results){background-color:#ffff0059}}h2.svelte-19hm87t6mz7s5{margin-bottom:0;font-size:12pt}.avatar.svelte-19hm87t6mz7s5{vertical-align:middle;border-radius:16px;width:32px;height:32px;margin-bottom:3px;margin-right:4px}.no-avatar.svelte-19hm87t6mz7s5,.muted-avatar.svelte-19hm87t6mz7s5{color:#aaa;vertical-align:middle;background-color:#eee;border-radius:16px;margin-right:4px}.muted-avatar.svelte-19hm87t6mz7s5{color:#bbb}.handle.svelte-19hm87t6mz7s5{color:#888;vertical-align:text-top;font-size:11pt;font-weight:400}.mastodon.svelte-19hm87t6mz7s5{position:relative;width:15px;margin-left:3px;top:2px}.time.svelte-19hm87t6mz7s5{color:#666;vertical-align:text-top;font-size:10pt;font-weight:400}@media (prefers-color-scheme:dark){.handle.svelte-19hm87t6mz7s5,.separator.svelte-19hm87t6mz7s5{color:#888}.time.svelte-19hm87t6mz7s5{color:#aaa}h2.svelte-19hm87t6mz7s5 .action{color:#888}}a.svelte-3d455ypfy1g8s{color:#333;background-color:#f0f7fe;border:1px solid #b6d3fb;border-radius:6px;margin-right:5px;padding:3px 7px;font-size:10pt}a.svelte-3d455ypfy1g8s:hover{text-decoration:none;background-color:#ddedfd}.stats.svelte-1tsy42z5eauyq{color:#666;font-size:10pt}a.svelte-1tsy42z5eauyq{color:#666;text-decoration:none}a.svelte-1tsy42z5eauyq:hover{text-decoration:underline}i.svelte-1tsy42z5eauyq{color:#888;font-size:9pt}i.fa-heart.svelte-1tsy42z5eauyq{color:#aaa}i.fa-heart.liked.svelte-1tsy42z5eauyq{color:#e03030}i.fa-heart.svelte-1tsy42z5eauyq:hover{color:#888;cursor:pointer}i.fa-heart.liked.svelte-1tsy42z5eauyq:hover{color:#c02020}span.svelte-1tsy42z5eauyq{margin-right:7px}.blocked-info.svelte-1tsy42z5eauyq{color:#a02020;margin-left:5px;font-weight:700}@media (prefers-color-scheme:dark){.stats.svelte-1tsy42z5eauyq{color:#aaa}i.svelte-1tsy42z5eauyq{color:#888}i.fa-heart.svelte-1tsy42z5eauyq{color:#aaa}i.fa-heart.liked.svelte-1tsy42z5eauyq{color:#f04040}i.fa-heart.svelte-1tsy42z5eauyq:hover{color:#eee}i.fa-heart.liked.svelte-1tsy42z5eauyq:hover{color:#ff7070}}.image-alt.svelte-3o2regxzbqbr0{color:#666;margin-bottom:20px;font-size:11pt}.image-alt.svelte-3o2regxzbqbr0 summary:where(.svelte-3o2regxzbqbr0){color:#666;user-select:none;-webkit-user-select:none;cursor:default;margin-bottom:5px;font-size:11pt}@media (prefers-color-scheme:dark){.image-alt.svelte-3o2regxzbqbr0{color:#999}.image-alt.svelte-3o2regxzbqbr0 summary:where(.svelte-3o2regxzbqbr0){color:#999}}.gif.svelte-2dx58m87um1nk img:where(.svelte-2dx58m87um1nk){user-select:none;-webkit-user-select:none}.gif.svelte-2dx58m87um1nk img.static:where(.svelte-2dx58m87um1nk){opacity:.75}.quote-embed.svelte-767shvs6ixvg{background-color:#fbfcfd;border:1px solid #ddd;border-radius:8px;max-width:800px;margin-top:25px;margin-bottom:15px;margin-left:0}.quote-embed.svelte-767shvs6ixvg .post{margin-top:16px;padding-bottom:5px;padding-left:16px;padding-right:16px}.placeholder.svelte-767shvs6ixvg{color:#888;font-size:11pt;font-style:italic}@media (prefers-color-scheme:dark){.quote-embed.svelte-767shvs6ixvg{background-color:#303030;border-color:#606060}}.embed.svelte-1k40bdrlabc6f a.link-card{display:block;position:relative;max-width:500px;margin-bottom:12px}.embed.svelte-1k40bdrlabc6f a.link-card:hover{text-decoration:none}.embed.svelte-1k40bdrlabc6f a.link-card>div{background-color:#fcfcfd;border:1px solid #d8d8d8;border-radius:8px;padding:11px 15px}.embed.svelte-1k40bdrlabc6f a.link-card:hover>div{background-color:#f6f7f8;border:1px solid #c8c8c8}.embed.svelte-1k40bdrlabc6f a.link-card>div:not(:has(p.description)){padding-bottom:14px}.embed.svelte-1k40bdrlabc6f a.link-card p.domain{color:#888;margin-top:1px;margin-bottom:5px;font-size:10pt}.embed.svelte-1k40bdrlabc6f a.link-card h2{color:#333;margin-top:8px;margin-bottom:0;font-size:12pt}.embed.svelte-1k40bdrlabc6f a.link-card p.description{color:#666;white-space:pre-line;margin-top:8px;margin-bottom:4px;font-size:11pt;line-height:135%}.embed.svelte-1k40bdrlabc6f a.link-card.record>div:has(.avatar){padding-left:65px}.embed.svelte-1k40bdrlabc6f a.link-card.record h2{margin-top:3px}.embed.svelte-1k40bdrlabc6f a.link-card.record .handle{color:#666;vertical-align:text-top;margin-left:1px;font-size:11pt;font-weight:400}.embed.svelte-1k40bdrlabc6f a.link-card.record .avatar{position:absolute;border:1px solid #ddd;border-radius:6px;width:36px;height:36px;top:15px;left:15px}.embed.svelte-1k40bdrlabc6f a.link-card.record .stats{color:#666;margin-top:9px;margin-bottom:1px;font-size:10pt}.embed.svelte-1k40bdrlabc6f a.link-card.record .stats i.fa-heart{color:#aaa;font-size:9pt}@media (prefers-color-scheme:dark){.embed.svelte-1k40bdrlabc6f a.link-card>div{background-color:#303030;border-color:#606060}.embed.svelte-1k40bdrlabc6f a.link-card:hover>div{background-color:#383838;border-color:#707070}.embed.svelte-1k40bdrlabc6f a.link-card p.domain{color:#666}.embed.svelte-1k40bdrlabc6f a.link-card h2{color:#ccc}.embed.svelte-1k40bdrlabc6f a.link-card p.description{color:#888}.embed.svelte-1k40bdrlabc6f a.link-card.record .handle{color:#666}.embed.svelte-1k40bdrlabc6f a.link-card.record .avatar{border-color:#888}}.post.blocked.svelte-15n9djnirzicp p{color:#666;font-size:11pt}.post.blocked.svelte-15n9djnirzicp a{color:#666;font-size:11pt}@media (prefers-color-scheme:dark){.post.blocked.svelte-15n9djnirzicp p{color:#aaa}.post.blocked.svelte-15n9djnirzicp a{color:#aaa}}.post p{margin-top:10px}.post .blocked-header i{margin-right:2px}.post h2 .separator,.post .blocked-header .separator,.blocked-header .separator{color:#888;vertical-align:text-top;font-size:11pt;font-weight:400}.post h2 .action,.post .blocked-header .action,.blocked-header .action{color:#888;vertical-align:text-top;font-size:10pt;font-weight:400}.post h2 .action:hover,.post .blocked-header .action:hover,.blocked-header .action:hover{color:#444}.post{position:relative;margin-top:30px;padding-left:21px}.post.collapsed.svelte-2k39y5eft77zk .content:where(.svelte-2k39y5eft77zk){display:none}.post.flat.svelte-2k39y5eft77zk{margin-top:25px;padding-left:0}.post.muted.svelte-2k39y5eft77zk>h2{opacity:.3;font-weight:600}.post.muted.svelte-2k39y5eft77zk>.content>details>p,.post.muted.svelte-2k39y5eft77zk>.content>details summary{opacity:.3}details.svelte-2k39y5eft77zk{margin-top:12px;margin-bottom:10px}summary.svelte-2k39y5eft77zk{user-select:none;-webkit-user-select:none;cursor:default;font-size:10pt}.missing-replies-info.svelte-2k39y5eft77zk{color:#8b0000;margin-top:25px;font-size:11pt}.post.svelte-2k39y5eft77zk img.loader{animation:rotation 3s infinite linear;width:24px;margin-top:5px}.hashtag.svelte-2cy8gir839nsk>.post{border-bottom:1px solid #ddd;padding-bottom:10px}#search.svelte-20y046s055ja6{position:fixed;display:flex;justify-content:center;align-items: center;padding-bottom:5%;inset:0}form.svelte-20y046s055ja6{border:2px solid #9cf;border-radius:10px;margin-left:50px;padding:15px 20px}input.svelte-20y046s055ja6{border:0;width:600px;margin-left:8px;font-size:16pt}input.svelte-20y046s055ja6:focus{outline:none}@media (prefers-color-scheme:dark){form.svelte-20y046s055ja6{border-color:#7099c2}form.svelte-20y046s055ja6 input:where(.svelte-20y046s055ja6){background-color:#0000}}.scan-result.svelte-3rl6pbqxjh5is{border-collapse:collapse;display:none;float:left;border:1px solid #333;margin-top:20px;margin-bottom:40px}td.svelte-3rl6pbqxjh5is,th.svelte-3rl6pbqxjh5is{border:1px solid #333;padding:5px 10px}th.svelte-3rl6pbqxjh5is{text-align:center;background-color:#b8dfff;padding:12px 10px}td.no.svelte-3rl6pbqxjh5is{text-align:right;font-weight:700}td.handle.svelte-3rl6pbqxjh5is{width:280px}td.count.svelte-3rl6pbqxjh5is{padding:5px 15px}.avatar.svelte-3rl6pbqxjh5is{vertical-align:middle;border-radius:14px;width:24px;height:24px;margin-right:2px;padding:2px}@media (prefers-color-scheme:dark){.scan-result.svelte-3rl6pbqxjh5is,td.svelte-3rl6pbqxjh5is,th.svelte-3rl6pbqxjh5is{border-color:#888}th.svelte-3rl6pbqxjh5is{background-color:#064579}}input[type=range].svelte-2hvcjaqoddeji{vertical-align:middle;width:250px}input[type=submit].svelte-2hvcjaqoddeji{margin:5px 0;padding:5px 10px;font-size:12pt}progress.svelte-2hvcjaqoddeji{vertical-align:middle;display:none;width:300px;margin-left:10px}.scan-result.given-likes{margin-right:100px}.search-page.svelte-geig8bptdwj6 input[type=submit]{margin:5px 0;padding:5px 10px;font-size:12pt}.search-page.svelte-geig8bptdwj6 progress{vertical-align:middle;width:300px;margin-left:10px}.search-page.svelte-geig8bptdwj6 .search-query{border:1px solid #ccc;border-radius:6px;margin-left:8px;padding:5px 6px;font-size:12pt}.search-page.svelte-geig8bptdwj6 .results{margin-top:30px}.search-page.svelte-geig8bptdwj6 .results>.post{border-bottom:1px solid #ddd;margin-top:24px;margin-left:-15px;padding-bottom:10px;padding-left:15px}.search-page.svelte-geig8bptdwj6 .results-end{color:#333;font-size:12pt}.search-page.svelte-geig8bptdwj6 .post+.results-end{font-size:11pt}@media (prefers-color-scheme:dark){.search-page.svelte-geig8bptdwj6 .search-query{border:1px solid #666}.search-page.svelte-geig8bptdwj6 .results-end{color:#888}.search-page.svelte-geig8bptdwj6 .results>.post{border-bottom:1px solid #555}}.search-collections.svelte-1xaglya9rfxfs label:where(.svelte-1xaglya9rfxfs){vertical-align:middle;margin-right:5px}.lycan-import.svelte-1xaglya9rfxfs{border-top:1px solid #ccc;margin-top:30px;padding-top:5px}.lycan-import.svelte-1xaglya9rfxfs form:where(.svelte-1xaglya9rfxfs) p:where(.svelte-1xaglya9rfxfs){line-height:135%}.import-progress.svelte-1xaglya9rfxfs progress:where(.svelte-1xaglya9rfxfs){margin-left:0;margin-right:6px}.import-progress.svelte-1xaglya9rfxfs progress:where(.svelte-1xaglya9rfxfs)+output:where(.svelte-1xaglya9rfxfs){font-size:11pt}@media (prefers-color-scheme:dark){.lycan-import.svelte-1xaglya9rfxfs{border-top-color:#888}}.notifications.svelte-3q0ai2k4d1d8n .post{border-bottom:1px solid #ddd;margin-top:24px;padding-bottom:4px}.notifications.svelte-3q0ai2k4d1d8n .back{margin-top:15px;margin-bottom:-12px;margin-left:22px}.notifications.svelte-3q0ai2k4d1d8n .back{font-size:10pt}.notifications.svelte-3q0ai2k4d1d8n .back a{font-size:10pt}.notifications.svelte-3q0ai2k4d1d8n .back i{margin-right:2px;font-size:9pt}.user-choice.svelte-2z5j67wda5rm6{position:relative}input.svelte-2z5j67wda5rm6{width:260px;font-size:11pt}.autocomplete.svelte-2z5j67wda5rm6{position:absolute;overflow-y:auto;z-index:10;background-color:#fff;border:1px solid #ccc;width:350px;max-height:250px;margin-top:4px;top:0;left:0}.selected-users.svelte-2z5j67wda5rm6{overflow-y:auto;border:1px solid #aaa;width:275px;height:150px;margin-top:20px;padding:4px}.user-row.svelte-2z5j67wda5rm6{position:relative;cursor:pointer;padding:2px 4px 2px 37px}.user-row.svelte-2z5j67wda5rm6 .avatar:where(.svelte-2z5j67wda5rm6){position:absolute;border-radius:12px;width:24px;top:8px;left:6px}.user-row.svelte-2z5j67wda5rm6 span:where(.svelte-2z5j67wda5rm6){display:block;overflow-x:hidden;text-overflow:ellipsis}.user-row.svelte-2z5j67wda5rm6 .name:where(.svelte-2z5j67wda5rm6){margin-top:1px;margin-bottom:1px;font-size:11pt}.user-row.svelte-2z5j67wda5rm6 .handle:where(.svelte-2z5j67wda5rm6){color:#666;margin-bottom:2px;font-size:10pt}.autocomplete.svelte-2z5j67wda5rm6 .user-row:where(.svelte-2z5j67wda5rm6){cursor:pointer}.autocomplete.svelte-2z5j67wda5rm6 .user-row.highlighted:where(.svelte-2z5j67wda5rm6){background-color:#b3ddff}.selected-users.svelte-2z5j67wda5rm6 .user-row:where(.svelte-2z5j67wda5rm6) span:where(.svelte-2z5j67wda5rm6){padding-right:14px}.selected-users.svelte-2z5j67wda5rm6 .user-row:where(.svelte-2z5j67wda5rm6) .remove:where(.svelte-2z5j67wda5rm6){position:absolute;color:#333;padding:0 4px;line-height:17px;top:11px;right:4px}.selected-users.svelte-2z5j67wda5rm6 .user-row:where(.svelte-2z5j67wda5rm6) .remove:where(.svelte-2z5j67wda5rm6):hover{text-decoration:none;background-color:#ddd;border-radius:8px}@media (prefers-color-scheme:dark){.autocomplete.svelte-2z5j67wda5rm6{background-color:#2c2e30;border-color:#4b4b4b}.selected-users.svelte-2z5j67wda5rm6{border-color:#666}.user-row.svelte-2z5j67wda5rm6 .handle:where(.svelte-2z5j67wda5rm6){color:#888}.autocomplete.svelte-2z5j67wda5rm6 .user-row.highlighted:where(.svelte-2z5j67wda5rm6){background-color:#064579}.selected-users.svelte-2z5j67wda5rm6 .user-row:where(.svelte-2z5j67wda5rm6) .remove:where(.svelte-2z5j67wda5rm6){color:#aaa}.selected-users.svelte-2z5j67wda5rm6 .user-row:where(.svelte-2z5j67wda5rm6) .remove:where(.svelte-2z5j67wda5rm6):hover{color:#bbb;background-color:#555}}.scan-result.svelte-3u8wzgp5meuu{border-collapse:collapse;border:1px solid #333}td.svelte-3u8wzgp5meuu,th.svelte-3u8wzgp5meuu{border:1px solid #333}td.svelte-3u8wzgp5meuu{text-align:right;padding:5px 8px}th.svelte-3u8wzgp5meuu{text-align:center;background-color:#b8dfff;padding:7px 10px}td.handle.svelte-3u8wzgp5meuu{text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:450px}tr.total.svelte-3u8wzgp5meuu td:where(.svelte-3u8wzgp5meuu){background-color:#b8dfff66;font-size:11pt;font-weight:700}tr.total.svelte-3u8wzgp5meuu td.handle:where(.svelte-3u8wzgp5meuu){text-align:left;padding:10px 12px}.avatar.svelte-3u8wzgp5meuu{vertical-align:middle;border-radius:14px;width:24px;height:24px;margin-right:2px;padding:2px}td.no.svelte-3u8wzgp5meuu{font-weight:700}td.percent.svelte-3u8wzgp5meuu{min-width:70px}@media (prefers-color-scheme:dark){.scan-result.svelte-3u8wzgp5meuu,td.svelte-3u8wzgp5meuu,th.svelte-3u8wzgp5meuu{border-color:#888}th.svelte-3u8wzgp5meuu{background-color:#064579}tr.total.svelte-3u8wzgp5meuu td:where(.svelte-3u8wzgp5meuu){background-color:#06457966}}input[type=radio].svelte-936eaahz55lf{position:relative;margin-left:5px;top:-1px}input[type=radio].svelte-936eaahz55lf+label:where(.svelte-936eaahz55lf){user-select:none;-webkit-user-select:none;margin-right:4px}input[type=range].svelte-936eaahz55lf{vertical-align:middle;width:250px}input[type=submit].svelte-936eaahz55lf{margin:5px 0;padding:5px 10px;font-size:12pt}select.svelte-936eaahz55lf{margin-left:5px;font-size:12pt}progress.svelte-936eaahz55lf{vertical-align:middle;width:300px;margin-left:10px}.scan-info.svelte-936eaahz55lf{margin:20px 0;font-weight:600;line-height:125%}.quotes.svelte-3bl0i96onoebm p.back{padding-left:10px}.quotes.svelte-3bl0i96onoebm .post{padding-bottom:5px}.quotes.svelte-3bl0i96onoebm .post-quote .quote-embed,.quotes.svelte-3bl0i96onoebm .post-quote p.stats{display:none}#tangled.svelte-14j5zro1yllpd{position:fixed;z-index:10;bottom:10px;right:10px}img.svelte-14j5zro1yllpd{opacity:.4;width:20px}a.svelte-14j5zro1yllpd:hover img:where(.svelte-14j5zro1yllpd){opacity:.6}@media (prefers-color-scheme:dark){#tangled.svelte-14j5zro1yllpd{filter:invert()}}input[type=range].svelte-27yj0b3y75jqg{vertical-align:middle;width:250px}
+33 -33
dist/skythread.js
··· 1 - (()=>{var m=!1;var w6=Array.isArray,r7=Array.prototype.indexOf,k5=Array.from,I9=Object.keys,q1=Object.defineProperty,D1=Object.getOwnPropertyDescriptor,Mz=Object.getOwnPropertyDescriptors,S9=Object.prototype,n7=Array.prototype,q8=Object.getPrototypeOf,D9=Object.isExtensible;function M8(z){return typeof z==="function"}var J6=()=>{};function R9(z){return typeof z?.then==="function"}function t7(z){return z()}function o8(z){for(var J=0;J<z.length;J++)z[J]()}function Cz(){var z,J,Q=new Promise((K,X)=>{z=K,J=X});return{promise:Q,resolve:z,reject:J}}var h0=2,a8=4,C8=8,r8=16777216,m1=16,k1=32,Q6=64,x8=128,b1=512,l0=1024,i0=2048,R1=4096,j1=8192,T1=16384,U6=32768,E1=65536,O8=131072,n8=262144,S6=524288,j9=1048576,K6=32768,xz=2097152,m6=4194304,Z6=8388608,Q1=Symbol("$state"),t8=Symbol("legacy props"),e7=Symbol(""),Oz=Symbol("proxy path"),D6=new class extends Error{name="StaleReactionError";message="The reaction that called `getAbortSignal()` was re-run or destroyed"};var e8=3,A1=8;function Lz(z){if(m){let J=Error(`lifecycle_outside_component 1 + (()=>{var f=!1;var w5=Array.isArray,rJ=Array.prototype.indexOf,Nz=Array.from,I7=Object.keys,V1=Object.defineProperty,I1=Object.getOwnPropertyDescriptor,M8=Object.getOwnPropertyDescriptors,S7=Object.prototype,nJ=Array.prototype,F6=Object.getPrototypeOf,j7=Object.isExtensible;function M6(z){return typeof z==="function"}var t1=()=>{};function D7(z){return typeof z?.then==="function"}function tJ(z){return z()}function c6(z){for(var J=0;J<z.length;J++)z[J]()}function x8(){var z,J,Q=new Promise((K,Z)=>{z=K,J=Z});return{promise:Q,resolve:z,reject:J}}var g0=2,s6=4,x6=8,o6=16777216,f1=16,N1=32,e1=64,C6=128,k1=512,$0=1024,p0=2048,S1=4096,j1=8192,b1=16384,G5=32768,T1=65536,O6=131072,a6=262144,L5=524288,R7=1048576,z5=32768,C8=2097152,m5=4194304,J5=8388608,z1=Symbol("$state"),r6=Symbol("legacy props"),eJ=Symbol(""),O8=Symbol("proxy path"),I5=new class extends Error{name="StaleReactionError";message="The reaction that called `getAbortSignal()` was re-run or destroyed"};var n6=3,D1=8;function P8(z){if(f){let J=Error(`lifecycle_outside_component 2 2 \`${z}(...)\` can only be used during component initialisation 3 - https://svelte.dev/e/lifecycle_outside_component`);throw J.name="Svelte error",J}else throw Error("https://svelte.dev/e/lifecycle_outside_component")}function zQ(){if(m){let z=Error(`missing_context 3 + https://svelte.dev/e/lifecycle_outside_component`);throw J.name="Svelte error",J}else throw Error("https://svelte.dev/e/lifecycle_outside_component")}function zQ(){if(f){let z=Error(`missing_context 4 4 Context was not set in a parent component 5 - https://svelte.dev/e/missing_context`);throw z.name="Svelte error",z}else throw Error("https://svelte.dev/e/missing_context")}function JQ(){if(m){let z=Error("async_derived_orphan\nCannot create a `$derived(...)` with an `await` expression outside of an effect tree\nhttps://svelte.dev/e/async_derived_orphan");throw z.name="Svelte error",z}else throw Error("https://svelte.dev/e/async_derived_orphan")}function A9(){if(m){let z=Error("bind_invalid_checkbox_value\nUsing `bind:value` together with a checkbox input is not allowed. Use `bind:checked` instead\nhttps://svelte.dev/e/bind_invalid_checkbox_value");throw z.name="Svelte error",z}else throw Error("https://svelte.dev/e/bind_invalid_checkbox_value")}function QQ(){if(m){let z=Error(`derived_references_self 5 + https://svelte.dev/e/missing_context`);throw z.name="Svelte error",z}else throw Error("https://svelte.dev/e/missing_context")}function JQ(){if(f){let z=Error("async_derived_orphan\nCannot create a `$derived(...)` with an `await` expression outside of an effect tree\nhttps://svelte.dev/e/async_derived_orphan");throw z.name="Svelte error",z}else throw Error("https://svelte.dev/e/async_derived_orphan")}function A7(){if(f){let z=Error("bind_invalid_checkbox_value\nUsing `bind:value` together with a checkbox input is not allowed. Use `bind:checked` instead\nhttps://svelte.dev/e/bind_invalid_checkbox_value");throw z.name="Svelte error",z}else throw Error("https://svelte.dev/e/bind_invalid_checkbox_value")}function QQ(){if(f){let z=Error(`derived_references_self 6 6 A derived value cannot reference itself recursively 7 - https://svelte.dev/e/derived_references_self`);throw z.name="Svelte error",z}else throw Error("https://svelte.dev/e/derived_references_self")}function KQ(z){if(m){let J=Error(`effect_in_teardown 7 + https://svelte.dev/e/derived_references_self`);throw z.name="Svelte error",z}else throw Error("https://svelte.dev/e/derived_references_self")}function KQ(z){if(f){let J=Error(`effect_in_teardown 8 8 \`${z}\` cannot be used inside an effect cleanup function 9 - https://svelte.dev/e/effect_in_teardown`);throw J.name="Svelte error",J}else throw Error("https://svelte.dev/e/effect_in_teardown")}function ZQ(){if(m){let z=Error("effect_in_unowned_derived\nEffect cannot be created inside a `$derived` value that was not itself created inside an effect\nhttps://svelte.dev/e/effect_in_unowned_derived");throw z.name="Svelte error",z}else throw Error("https://svelte.dev/e/effect_in_unowned_derived")}function XQ(z){if(m){let J=Error(`effect_orphan 9 + https://svelte.dev/e/effect_in_teardown`);throw J.name="Svelte error",J}else throw Error("https://svelte.dev/e/effect_in_teardown")}function ZQ(){if(f){let z=Error("effect_in_unowned_derived\nEffect cannot be created inside a `$derived` value that was not itself created inside an effect\nhttps://svelte.dev/e/effect_in_unowned_derived");throw z.name="Svelte error",z}else throw Error("https://svelte.dev/e/effect_in_unowned_derived")}function XQ(z){if(f){let J=Error(`effect_orphan 10 10 \`${z}\` can only be used inside an effect (e.g. during component initialisation) 11 - https://svelte.dev/e/effect_orphan`);throw J.name="Svelte error",J}else throw Error("https://svelte.dev/e/effect_orphan")}function WQ(){if(m){let z=Error(`effect_update_depth_exceeded 11 + https://svelte.dev/e/effect_orphan`);throw J.name="Svelte error",J}else throw Error("https://svelte.dev/e/effect_orphan")}function WQ(){if(f){let z=Error(`effect_update_depth_exceeded 12 12 Maximum update depth exceeded. This typically indicates that an effect reads and writes the same piece of state 13 - https://svelte.dev/e/effect_update_depth_exceeded`);throw z.name="Svelte error",z}else throw Error("https://svelte.dev/e/effect_update_depth_exceeded")}function YQ(){if(m){let z=Error(`hydration_failed 13 + https://svelte.dev/e/effect_update_depth_exceeded`);throw z.name="Svelte error",z}else throw Error("https://svelte.dev/e/effect_update_depth_exceeded")}function YQ(){if(f){let z=Error(`hydration_failed 14 14 Failed to hydrate the application 15 - https://svelte.dev/e/hydration_failed`);throw z.name="Svelte error",z}else throw Error("https://svelte.dev/e/hydration_failed")}function GQ(){if(m){let z=Error("invalid_snippet\nCould not `{@render}` snippet due to the expression being `null` or `undefined`. Consider using optional chaining `{@render snippet?.()}`\nhttps://svelte.dev/e/invalid_snippet");throw z.name="Svelte error",z}else throw Error("https://svelte.dev/e/invalid_snippet")}function BQ(z){if(m){let J=Error(`props_invalid_value 15 + https://svelte.dev/e/hydration_failed`);throw z.name="Svelte error",z}else throw Error("https://svelte.dev/e/hydration_failed")}function wQ(){if(f){let z=Error("invalid_snippet\nCould not `{@render}` snippet due to the expression being `null` or `undefined`. Consider using optional chaining `{@render snippet?.()}`\nhttps://svelte.dev/e/invalid_snippet");throw z.name="Svelte error",z}else throw Error("https://svelte.dev/e/invalid_snippet")}function GQ(z){if(f){let J=Error(`props_invalid_value 16 16 Cannot do \`bind:${z}={undefined}\` when \`${z}\` has a fallback value 17 - https://svelte.dev/e/props_invalid_value`);throw J.name="Svelte error",J}else throw Error("https://svelte.dev/e/props_invalid_value")}function HQ(z){if(m){let J=Error(`props_rest_readonly 17 + https://svelte.dev/e/props_invalid_value`);throw J.name="Svelte error",J}else throw Error("https://svelte.dev/e/props_invalid_value")}function BQ(z){if(f){let J=Error(`props_rest_readonly 18 18 Rest element properties of \`$props()\` such as \`${z}\` are readonly 19 - https://svelte.dev/e/props_rest_readonly`);throw J.name="Svelte error",J}else throw Error("https://svelte.dev/e/props_rest_readonly")}function wQ(z){if(m){let J=Error(`rune_outside_svelte 19 + https://svelte.dev/e/props_rest_readonly`);throw J.name="Svelte error",J}else throw Error("https://svelte.dev/e/props_rest_readonly")}function HQ(z){if(f){let J=Error(`rune_outside_svelte 20 20 The \`${z}\` rune is only available inside \`.svelte\` and \`.svelte.js/ts\` files 21 - https://svelte.dev/e/rune_outside_svelte`);throw J.name="Svelte error",J}else throw Error("https://svelte.dev/e/rune_outside_svelte")}function UQ(){if(m){let z=Error("set_context_after_init\n`setContext` must be called when a component first initializes, not in a subsequent effect or after an `await` expression\nhttps://svelte.dev/e/set_context_after_init");throw z.name="Svelte error",z}else throw Error("https://svelte.dev/e/set_context_after_init")}function VQ(){if(m){let z=Error("state_descriptors_fixed\nProperty descriptors defined on `$state` objects must contain `value` and always be `enumerable`, `configurable` and `writable`.\nhttps://svelte.dev/e/state_descriptors_fixed");throw z.name="Svelte error",z}else throw Error("https://svelte.dev/e/state_descriptors_fixed")}function FQ(){if(m){let z=Error("state_prototype_fixed\nCannot set prototype of `$state` object\nhttps://svelte.dev/e/state_prototype_fixed");throw z.name="Svelte error",z}else throw Error("https://svelte.dev/e/state_prototype_fixed")}function qQ(){if(m){let z=Error("state_unsafe_mutation\nUpdating state inside `$derived(...)`, `$inspect(...)` or a template expression is forbidden. If the value should not be reactive, declare it without `$state`\nhttps://svelte.dev/e/state_unsafe_mutation");throw z.name="Svelte error",z}else throw Error("https://svelte.dev/e/state_unsafe_mutation")}function MQ(){if(m){let z=Error("svelte_boundary_reset_onerror\nA `<svelte:boundary>` `reset` function cannot be called while an error is still being handled\nhttps://svelte.dev/e/svelte_boundary_reset_onerror");throw z.name="Svelte error",z}else throw Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}var N9=1,k9=2,b9=4,CQ=8,xQ=16,OQ=1,LQ=2,PQ=4,IQ=8,SQ=16;var DQ=1,RQ=2;var b5="[",V6="[!",L8="]",R6={};var E0=Symbol(),$1=Symbol("filename"),jQ=Symbol("hmr"),AQ="http://www.w3.org/1999/xhtml";var T9="@attach";var $6="font-weight: bold",u6="font-weight: normal";function NQ(z,J){if(m)console.warn(`%c[svelte] await_waterfall 21 + https://svelte.dev/e/rune_outside_svelte`);throw J.name="Svelte error",J}else throw Error("https://svelte.dev/e/rune_outside_svelte")}function UQ(){if(f){let z=Error("set_context_after_init\n`setContext` must be called when a component first initializes, not in a subsequent effect or after an `await` expression\nhttps://svelte.dev/e/set_context_after_init");throw z.name="Svelte error",z}else throw Error("https://svelte.dev/e/set_context_after_init")}function VQ(){if(f){let z=Error("state_descriptors_fixed\nProperty descriptors defined on `$state` objects must contain `value` and always be `enumerable`, `configurable` and `writable`.\nhttps://svelte.dev/e/state_descriptors_fixed");throw z.name="Svelte error",z}else throw Error("https://svelte.dev/e/state_descriptors_fixed")}function qQ(){if(f){let z=Error("state_prototype_fixed\nCannot set prototype of `$state` object\nhttps://svelte.dev/e/state_prototype_fixed");throw z.name="Svelte error",z}else throw Error("https://svelte.dev/e/state_prototype_fixed")}function FQ(){if(f){let z=Error("state_unsafe_mutation\nUpdating state inside `$derived(...)`, `$inspect(...)` or a template expression is forbidden. If the value should not be reactive, declare it without `$state`\nhttps://svelte.dev/e/state_unsafe_mutation");throw z.name="Svelte error",z}else throw Error("https://svelte.dev/e/state_unsafe_mutation")}function MQ(){if(f){let z=Error("svelte_boundary_reset_onerror\nA `<svelte:boundary>` `reset` function cannot be called while an error is still being handled\nhttps://svelte.dev/e/svelte_boundary_reset_onerror");throw z.name="Svelte error",z}else throw Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}var N7=1,k7=2,b7=4,xQ=8,CQ=16,OQ=1,PQ=2,LQ=4,IQ=8,SQ=16;var jQ=1,DQ=2;var kz="[",B5="[!",P6="]",S5={};var E0=Symbol(),m1=Symbol("filename"),RQ=Symbol("hmr"),AQ="http://www.w3.org/1999/xhtml";var T7="@attach";var $5="font-weight: bold",u5="font-weight: normal";function NQ(z,J){if(f)console.warn(`%c[svelte] await_waterfall 22 22 %cAn async derived, \`${z}\` (${J}) was not read immediately after it resolved. This often indicates an unnecessary waterfall, which can slow down your app 23 - https://svelte.dev/e/await_waterfall`,$6,u6);else console.warn("https://svelte.dev/e/await_waterfall")}function kQ(z,J,Q){if(m)console.warn(`%c[svelte] hydration_attribute_changed 23 + https://svelte.dev/e/await_waterfall`,$5,u5);else console.warn("https://svelte.dev/e/await_waterfall")}function kQ(z,J,Q){if(f)console.warn(`%c[svelte] hydration_attribute_changed 24 24 %cThe \`${z}\` attribute on \`${J}\` changed its value between server and client renders. The client value, \`${Q}\`, will be ignored in favour of the server value 25 - https://svelte.dev/e/hydration_attribute_changed`,$6,u6);else console.warn("https://svelte.dev/e/hydration_attribute_changed")}function bQ(z){if(m)console.warn(`%c[svelte] hydration_html_changed 25 + https://svelte.dev/e/hydration_attribute_changed`,$5,u5);else console.warn("https://svelte.dev/e/hydration_attribute_changed")}function bQ(z){if(f)console.warn(`%c[svelte] hydration_html_changed 26 26 %c${z?`The value of an \`{@html ...}\` block ${z} changed between server and client renders. The client value will be ignored in favour of the server value`:"The value of an `{@html ...}` block changed between server and client renders. The client value will be ignored in favour of the server value"} 27 - https://svelte.dev/e/hydration_html_changed`,$6,u6);else console.warn("https://svelte.dev/e/hydration_html_changed")}function z8(z){if(m)console.warn(`%c[svelte] hydration_mismatch 27 + https://svelte.dev/e/hydration_html_changed`,$5,u5);else console.warn("https://svelte.dev/e/hydration_html_changed")}function e5(z){if(f)console.warn(`%c[svelte] hydration_mismatch 28 28 %c${z?`Hydration failed because the initial UI does not match what was rendered on the server. The error occurred near ${z}`:"Hydration failed because the initial UI does not match what was rendered on the server"} 29 - https://svelte.dev/e/hydration_mismatch`,$6,u6);else console.warn("https://svelte.dev/e/hydration_mismatch")}function TQ(){if(m)console.warn(`%c[svelte] lifecycle_double_unmount 29 + https://svelte.dev/e/hydration_mismatch`,$5,u5);else console.warn("https://svelte.dev/e/hydration_mismatch")}function TQ(){if(f)console.warn(`%c[svelte] lifecycle_double_unmount 30 30 %cTried to unmount a component that was not mounted 31 - https://svelte.dev/e/lifecycle_double_unmount`,$6,u6);else console.warn("https://svelte.dev/e/lifecycle_double_unmount")}function EQ(){if(m)console.warn("%c[svelte] select_multiple_invalid_value\n%cThe `value` property of a `<select multiple>` element should be an array, but it received a non-array value. The selection will be kept as is.\nhttps://svelte.dev/e/select_multiple_invalid_value",$6,u6);else console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function Pz(z){if(m)console.warn(`%c[svelte] state_proxy_equality_mismatch 31 + https://svelte.dev/e/lifecycle_double_unmount`,$5,u5);else console.warn("https://svelte.dev/e/lifecycle_double_unmount")}function EQ(){if(f)console.warn("%c[svelte] select_multiple_invalid_value\n%cThe `value` property of a `<select multiple>` element should be an array, but it received a non-array value. The selection will be kept as is.\nhttps://svelte.dev/e/select_multiple_invalid_value",$5,u5);else console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function L8(z){if(f)console.warn(`%c[svelte] state_proxy_equality_mismatch 32 32 %cReactive \`$state(...)\` proxies and the values they proxy have different identities. Because of this, comparisons with \`${z}\` will produce unexpected results 33 - https://svelte.dev/e/state_proxy_equality_mismatch`,$6,u6);else console.warn("https://svelte.dev/e/state_proxy_equality_mismatch")}function yQ(){if(m)console.warn(`%c[svelte] state_proxy_unmount 33 + https://svelte.dev/e/state_proxy_equality_mismatch`,$5,u5);else console.warn("https://svelte.dev/e/state_proxy_equality_mismatch")}function yQ(){if(f)console.warn(`%c[svelte] state_proxy_unmount 34 34 %cTried to unmount a state proxy, rather than a component 35 - https://svelte.dev/e/state_proxy_unmount`,$6,u6);else console.warn("https://svelte.dev/e/state_proxy_unmount")}function vQ(){if(m)console.warn("%c[svelte] svelte_boundary_reset_noop\n%cA `<svelte:boundary>` `reset` function only resets the boundary the first time it is called\nhttps://svelte.dev/e/svelte_boundary_reset_noop",$6,u6);else console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}var r=!1;function f0(z){r=z}var B0;function j0(z){if(z===null)throw z8(),R6;return B0=z}function _0(){return j0(e0(B0))}function C(z){if(!r)return;if(e0(B0)!==null)throw z8(),R6;B0=z}function c0(z=1){if(r){var J=z,Q=B0;while(J--)Q=e0(Q);B0=Q}}function F6(z=!0){var J=0,Q=B0;while(!0){if(Q.nodeType===A1){var K=Q.data;if(K===L8){if(J===0)return Q;J-=1}else if(K===b5||K===V6)J+=1}var X=e0(Q);if(z)Q.remove();Q=X}}function Iz(z){if(!z||z.nodeType!==A1)throw z8(),R6;return z.data}function Sz(z){return z===this.v}function E9(z,J){return z!=z?J==J:z!==J||z!==null&&typeof z==="object"||typeof z==="function"}function Dz(z){return!E9(z,this.v)}var N1=!1,l6=!1,q6=!1;function gQ(){l6=!0}var T5=null;function u1(z,J){return z.label=J,Rz(z.v,J),z}function Rz(z,J){return z?.[Oz]?.(J),z}function A6(z){let J=Error(),Q=jZ();if(Q.length===0)return null;return Q.unshift(` 36 - `),q1(J,"stack",{value:Q.join(` 37 - `)}),q1(J,"name",{value:z}),J}function jZ(){let z=Error.stackTraceLimit;Error.stackTraceLimit=1/0;let J=Error().stack;if(Error.stackTraceLimit=z,!J)return[];let Q=J.split(` 38 - `),K=[];for(let X=0;X<Q.length;X++){let Z=Q[X],W=Z.replaceAll("\\","/");if(Z.trim()==="Error")continue;if(Z.includes("validate_each_keys"))return[];if(W.includes("svelte/src/internal")||W.includes("node_modules/.vite"))continue;K.push(Z)}return K}var L0=null;function p6(z){L0=z}var M6=null;function z5(z){M6=z}var c1=null;function jz(z){c1=z}function v9(){let z={};return[()=>{if(!$Q(z))zQ();return fQ(z)},(J)=>mQ(z,J)]}function fQ(z){return g9("getContext").get(z)}function mQ(z,J){let Q=g9("setContext");if(N1){var K=J0.f,X=!W0&&(K&k1)!==0&&!L0.i;if(!X)UQ()}return Q.set(z,J),J}function $Q(z){return g9("hasContext").has(z)}function i(z,J=!1,Q){if(L0={p:L0,i:!1,c:null,e:null,s:z,x:null,l:l6&&!J?{s:null,u:null,$:[]}:null},m)L0.function=Q,c1=Q}function _(z){var J=L0,Q=J.e;if(Q!==null){J.e=null;for(var K of Q)h9(K)}if(z!==void 0)J.x=z;if(J.i=!0,L0=J.p,m)c1=L0?.function??null;return z??{}}function s1(){return!l6||L0!==null&&L0.l===null}function g9(z){if(L0===null)Lz(z);return L0.c??=new Map(AZ(L0)||void 0)}function AZ(z){let J=z.p;while(J!==null){let Q=J.c;if(Q!==null)return Q;J=J.p}return null}var P8=[];function uQ(){var z=P8;P8=[],o8(z)}function p0(z){if(P8.length===0&&!J8){var J=P8;queueMicrotask(()=>{if(J===P8)uQ()})}P8.push(z)}function lQ(){while(P8.length>0)uQ()}var f9=new WeakMap;function Az(z){var J=J0;if(J===null)return W0.f|=Z6,z;if(m&&z instanceof Error&&!f9.has(z))f9.set(z,NZ(z,J));if((J.f&U6)===0){if((J.f&x8)===0){if(m&&!J.parent&&z instanceof Error)pQ(z);throw z}J.b.error(z)}else N6(z,J)}function N6(z,J){while(J!==null){if((J.f&x8)!==0)try{J.b.error(z);return}catch(Q){z=Q}J=J.parent}if(m&&z instanceof Error)pQ(z);throw z}function NZ(z,J){let Q=D1(z,"message");if(Q&&!Q.configurable)return;var K=E5?" ":"\t",X=` 39 - ${K}in ${J.fn?.name||"<unknown>"}`,Z=J.ctx;while(Z!==null)X+=` 40 - ${K}in ${Z.function?.[$1].split("/").pop()}`,Z=Z.p;return{message:z.message+` 41 - ${X} 35 + https://svelte.dev/e/state_proxy_unmount`,$5,u5);else console.warn("https://svelte.dev/e/state_proxy_unmount")}function vQ(){if(f)console.warn("%c[svelte] svelte_boundary_reset_noop\n%cA `<svelte:boundary>` `reset` function only resets the boundary the first time it is called\nhttps://svelte.dev/e/svelte_boundary_reset_noop",$5,u5);else console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}var r=!1;function h0(z){r=z}var U0;function R0(z){if(z===null)throw e5(),S5;return U0=z}function d0(){return R0(a0(U0))}function x(z){if(!r)return;if(a0(U0)!==null)throw e5(),S5;U0=z}function J1(z=1){if(r){var J=z,Q=U0;while(J--)Q=a0(Q);U0=Q}}function H5(z=!0){var J=0,Q=U0;while(!0){if(Q.nodeType===D1){var K=Q.data;if(K===P6){if(J===0)return Q;J-=1}else if(K===kz||K===B5)J+=1}var Z=a0(Q);if(z)Q.remove();Q=Z}}function I8(z){if(!z||z.nodeType!==D1)throw e5(),S5;return z.data}function S8(z){return z===this.v}function E7(z,J){return z!=z?J==J:z!==J||z!==null&&typeof z==="object"||typeof z==="function"}function j8(z){return!E7(z,this.v)}var R1=!1,l5=!1,U5=!1;function gQ(){l5=!0}var bz=null;function $1(z,J){return z.label=J,D8(z.v,J),z}function D8(z,J){return z?.[O8]?.(J),z}function D5(z){let J=Error(),Q=RK();if(Q.length===0)return null;return Q.unshift(` 36 + `),V1(J,"stack",{value:Q.join(` 37 + `)}),V1(J,"name",{value:z}),J}function RK(){let z=Error.stackTraceLimit;Error.stackTraceLimit=1/0;let J=Error().stack;if(Error.stackTraceLimit=z,!J)return[];let Q=J.split(` 38 + `),K=[];for(let Z=0;Z<Q.length;Z++){let X=Q[Z],W=X.replaceAll("\\","/");if(X.trim()==="Error")continue;if(X.includes("validate_each_keys"))return[];if(W.includes("svelte/src/internal")||W.includes("node_modules/.vite"))continue;K.push(X)}return K}var L0=null;function p5(z){L0=z}var V5=null;function t6(z){V5=z}var _1=null;function R8(z){_1=z}function v7(){let z={};return[()=>{if(!$Q(z))zQ();return fQ(z)},(J)=>mQ(z,J)]}function fQ(z){return g7("getContext").get(z)}function mQ(z,J){let Q=g7("setContext");if(R1){var K=K0.f,Z=!Y0&&(K&N1)!==0&&!L0.i;if(!Z)UQ()}return Q.set(z,J),J}function $Q(z){return g7("hasContext").has(z)}function c(z,J=!1,Q){if(L0={p:L0,i:!1,c:null,e:null,s:z,x:null,l:l5&&!J?{s:null,u:null,$:[]}:null},f)L0.function=Q,_1=Q}function s(z){var J=L0,Q=J.e;if(Q!==null){J.e=null;for(var K of Q)h7(K)}if(z!==void 0)J.x=z;if(J.i=!0,L0=J.p,f)_1=L0?.function??null;return z??{}}function c1(){return!l5||L0!==null&&L0.l===null}function g7(z){if(L0===null)P8(z);return L0.c??=new Map(AK(L0)||void 0)}function AK(z){let J=z.p;while(J!==null){let Q=J.c;if(Q!==null)return Q;J=J.p}return null}var L6=[];function uQ(){var z=L6;L6=[],c6(z)}function u0(z){if(L6.length===0&&!z6){var J=L6;queueMicrotask(()=>{if(J===L6)uQ()})}L6.push(z)}function lQ(){while(L6.length>0)uQ()}var f7=new WeakMap;function A8(z){var J=K0;if(J===null)return Y0.f|=J5,z;if(f&&z instanceof Error&&!f7.has(z))f7.set(z,NK(z,J));if((J.f&G5)===0){if((J.f&C6)===0){if(f&&!J.parent&&z instanceof Error)pQ(z);throw z}J.b.error(z)}else R5(z,J)}function R5(z,J){while(J!==null){if((J.f&C6)!==0)try{J.b.error(z);return}catch(Q){z=Q}J=J.parent}if(f&&z instanceof Error)pQ(z);throw z}function NK(z,J){let Q=I1(z,"message");if(Q&&!Q.configurable)return;var K=Tz?" ":"\t",Z=` 39 + ${K}in ${J.fn?.name||"<unknown>"}`,X=J.ctx;while(X!==null)Z+=` 40 + ${K}in ${X.function?.[m1].split("/").pop()}`,X=X.p;return{message:z.message+` 41 + ${Z} 42 42 `,stack:z.stack?.split(` 43 43 `).filter((W)=>!W.includes("svelte/src/internal")).join(` 44 - `)}}function pQ(z){let J=f9.get(z);if(J)q1(z,"message",{value:J.message}),q1(z,"stack",{value:J.stack})}var J5=new Set,w0=null,I8=null,B1=null,X6=[],Nz=null,m9=!1,J8=!1;class o0{committed=!1;current=new Map;previous=new Map;#z=new Set;#J=new Set;#Q=0;#K=0;#G=null;#X=[];#Z=[];skipped_effects=new Set;is_fork=!1;is_deferred(){return this.is_fork||this.#K>0}process(z){X6=[],I8=null,this.apply();var J={parent:null,effect:null,effects:[],render_effects:[],block_effects:[]};for(let Q of z)this.#W(Q,J);if(!this.is_fork)this.#H();if(this.is_deferred())this.#Y(J.effects),this.#Y(J.render_effects),this.#Y(J.block_effects);else I8=this,w0=null,dQ(J.render_effects),dQ(J.effects),I8=null,this.#G?.resolve();B1=null}#W(z,J){z.f^=l0;var Q=z.first;while(Q!==null){var K=Q.f,X=(K&(k1|Q6))!==0,Z=X&&(K&l0)!==0,W=Z||(K&j1)!==0||this.skipped_effects.has(Q);if((Q.f&x8)!==0&&Q.b?.is_pending())J={parent:J,effect:Q,effects:[],render_effects:[],block_effects:[]};if(!W&&Q.fn!==null){if(X)Q.f^=l0;else if((K&a8)!==0)J.effects.push(Q);else if(N1&&(K&(C8|r8))!==0)J.render_effects.push(Q);else if(Z8(Q)){if((Q.f&m1)!==0)J.block_effects.push(Q);Q8(Q)}var G=Q.first;if(G!==null){Q=G;continue}}var w=Q.parent;Q=Q.next;while(Q===null&&w!==null){if(w===J.effect)this.#Y(J.effects),this.#Y(J.render_effects),this.#Y(J.block_effects),J=J.parent;Q=w.next,w=w.parent}}}#Y(z){for(let J of z)((J.f&i0)!==0?this.#X:this.#Z).push(J),this.#B(J.deps),s0(J,l0)}#B(z){if(z===null)return;for(let J of z){if((J.f&h0)===0||(J.f&K6)===0)continue;J.f^=K6,this.#B(J.deps)}}capture(z,J){if(!this.previous.has(z))this.previous.set(z,J);if((z.f&Z6)===0)this.current.set(z,z.v),B1?.set(z,z.v)}activate(){w0=this,this.apply()}deactivate(){if(w0!==this)return;w0=null,B1=null}flush(){if(this.activate(),X6.length>0){if($9(),w0!==null&&w0!==this)return}else if(this.#Q===0)this.process([]);this.deactivate()}discard(){for(let z of this.#J)z(this);this.#J.clear()}#H(){if(this.#K===0){for(let z of this.#z)z();this.#z.clear()}if(this.#Q===0)this.#w()}#w(){if(J5.size>1){this.previous.clear();var z=B1,J=!0,Q={parent:null,effect:null,effects:[],render_effects:[],block_effects:[]};for(let X of J5){if(X===this){J=!1;continue}let Z=[];for(let[G,w]of this.current){if(X.current.has(G))if(J&&w!==X.current.get(G))X.current.set(G,w);else continue;Z.push(G)}if(Z.length===0)continue;let W=[...X.current.keys()].filter((G)=>!this.current.has(G));if(W.length>0){var K=X6;X6=[];let G=new Set,w=new Map;for(let H of Z)iQ(H,W,G,w);if(X6.length>0){w0=X,X.apply();for(let H of X6)X.#W(H,Q);X.deactivate()}X6=K}}w0=null,B1=z}this.committed=!0,J5.delete(this)}increment(z){if(this.#Q+=1,z)this.#K+=1}decrement(z){if(this.#Q-=1,z)this.#K-=1;this.revive()}revive(){for(let z of this.#X)s0(z,i0),k6(z);for(let z of this.#Z)s0(z,R1),k6(z);this.#X=[],this.#Z=[],this.flush()}oncommit(z){this.#z.add(z)}ondiscard(z){this.#J.add(z)}settled(){return(this.#G??=Cz()).promise}static ensure(){if(w0===null){let z=w0=new o0;if(J5.add(w0),!J8)o0.enqueue(()=>{if(w0!==z)return;z.flush()})}return w0}static enqueue(z){p0(z)}apply(){if(!N1||!this.is_fork&&J5.size===1)return;B1=new Map(this.current);for(let z of J5){if(z===this)continue;for(let[J,Q]of z.previous)if(!B1.has(J))B1.set(J,Q)}}}function K8(z){var J=J8;J8=!0;try{var Q;if(z){if(w0!==null)$9();Q=z()}while(!0){if(lQ(),X6.length===0){if(w0?.flush(),X6.length===0)return Nz=null,Q}$9()}}finally{J8=J}}function $9(){var z=T6;m9=!0;var J=m?new Set:null;try{var Q=0;Q5(!0);while(X6.length>0){var K=o0.ensure();if(Q++>1000){if(m){var X=new Map;for(let W of K.current.keys())for(let[G,w]of W.updated??[]){var Z=X.get(G);if(!Z)Z={error:w.error,count:0},X.set(G,Z);Z.count+=w.count}for(let W of X.values())if(W.error)console.error(W.error)}bZ()}if(K.process(X6),b6.clear(),m)for(let W of K.current.keys())J.add(W)}}finally{if(m9=!1,Q5(z),Nz=null,m)for(let W of J)W.updated=null}}function bZ(){try{WQ()}catch(z){if(m)q1(z,"stack",{value:""});N6(z,Nz)}}var W6=null;function dQ(z){var J=z.length;if(J===0)return;var Q=0;while(Q<J){var K=z[Q++];if((K.f&(T1|j1))===0&&Z8(K)){if(W6=new Set,Q8(K),K.deps===null&&K.first===null&&K.nodes_start===null)if(K.teardown===null&&K.ac===null)u9(K);else K.fn=null;if(W6?.size>0){b6.clear();for(let X of W6){if((X.f&(T1|j1))!==0)continue;let Z=[X],W=X.parent;while(W!==null){if(W6.has(W))W6.delete(W),Z.push(W);W=W.parent}for(let G=Z.length-1;G>=0;G--){let w=Z[G];if((w.f&(T1|j1))!==0)continue;Q8(w)}}W6.clear()}}}W6=null}function iQ(z,J,Q,K){if(Q.has(z))return;if(Q.add(z),z.reactions!==null)for(let X of z.reactions){let Z=X.f;if((Z&h0)!==0)iQ(X,J,Q,K);else if((Z&(m6|m1))!==0&&(Z&i0)===0&&_Q(X,J,K))s0(X,i0),k6(X)}}function _Q(z,J,Q){let K=Q.get(z);if(K!==void 0)return K;if(z.deps!==null)for(let X of z.deps){if(J.includes(X))return!0;if((X.f&h0)!==0&&_Q(X,J,Q))return Q.set(X,!0),!0}return Q.set(z,!1),!1}function k6(z){var J=Nz=z;while(J.parent!==null){J=J.parent;var Q=J.f;if(m9&&J===J0&&(Q&m1)!==0&&(Q&n8)===0)return;if((Q&(Q6|k1))!==0){if((Q&l0)===0)return;J.f^=l0}}X6.push(J)}function sQ(z){let J=0,Q=H1(0),K;if(m)u1(Q,"createSubscriber version");return()=>{if(j6())Y(Q),w1(()=>{if(J===0)K=b0(()=>z(()=>S8(Q)));return J+=1,()=>{p0(()=>{if(J-=1,J===0)K?.(),K=void 0,S8(Q)})}})}}var EZ=E1|S6|x8;function l9(z,J,Q){new p9(z,J,Q)}class p9{parent;#z=!1;#J;#Q=r?B0:null;#K;#G;#X;#Z=null;#W=null;#Y=null;#B=null;#H=null;#w=0;#V=0;#F=!1;#U=null;#O=sQ(()=>{if(this.#U=H1(this.#w),m)u1(this.#U,"$effect.pending()");return()=>{this.#U=null}});constructor(z,J,Q){if(this.#J=z,this.#K=J,this.#G=Q,this.parent=J0.b,this.#z=!!this.#K.pending,this.#X=x1(()=>{if(J0.b=this,r){let X=this.#Q;if(_0(),X.nodeType===A1&&X.data===V6)this.#P();else this.#L()}else{var K=this.#C();try{this.#Z=z1(()=>Q(K))}catch(X){this.error(X)}if(this.#V>0)this.#M();else this.#z=!1}return()=>{this.#H?.remove()}},EZ),r)this.#J=B0}#L(){try{this.#Z=z1(()=>this.#G(this.#J))}catch(z){this.error(z)}this.#z=!1}#P(){let z=this.#K.pending;if(!z)return;this.#W=z1(()=>z(this.#J)),o0.enqueue(()=>{var J=this.#C();if(this.#Z=this.#q(()=>{return o0.ensure(),z1(()=>this.#G(J))}),this.#V>0)this.#M();else d6(this.#W,()=>{this.#W=null}),this.#z=!1})}#C(){var z=this.#J;if(this.#z)this.#H=d0(),this.#J.before(this.#H),z=this.#H;return z}is_pending(){return this.#z||!!this.parent&&this.parent.is_pending()}has_pending_snippet(){return!!this.#K.pending}#q(z){var J=J0,Q=W0,K=L0;U1(this.#X),a0(this.#X),p6(this.#X.ctx);try{return z()}catch(X){return Az(X),null}finally{U1(J),a0(Q),p6(K)}}#M(){let z=this.#K.pending;if(this.#Z!==null)this.#B=document.createDocumentFragment(),this.#B.append(this.#H),Tz(this.#Z,this.#B);if(this.#W===null)this.#W=z1(()=>z(this.#J))}#x(z){if(!this.has_pending_snippet()){if(this.parent)this.parent.#x(z);return}if(this.#V+=z,this.#V===0){if(this.#z=!1,this.#W)d6(this.#W,()=>{this.#W=null});if(this.#B)this.#J.before(this.#B),this.#B=null}}update_pending_count(z){if(this.#x(z),this.#w+=z,this.#U)l1(this.#U,this.#w)}get_effect_pending(){return this.#O(),Y(this.#U)}error(z){var J=this.#K.onerror;let Q=this.#K.failed;if(this.#F||!J&&!Q)throw z;if(this.#Z)y0(this.#Z),this.#Z=null;if(this.#W)y0(this.#W),this.#W=null;if(this.#Y)y0(this.#Y),this.#Y=null;if(r)j0(this.#Q),c0(),j0(F6());var K=!1,X=!1;let Z=()=>{if(K){vQ();return}if(K=!0,X)MQ();if(o0.ensure(),this.#w=0,this.#Y!==null)d6(this.#Y,()=>{this.#Y=null});if(this.#z=this.has_pending_snippet(),this.#Z=this.#q(()=>{return this.#F=!1,z1(()=>this.#G(this.#J))}),this.#V>0)this.#M();else this.#z=!1};var W=W0;try{a0(null),X=!0,J?.(z,Z),X=!1}catch(G){N6(G,this.#X&&this.#X.parent)}finally{a0(W)}if(Q)p0(()=>{this.#Y=this.#q(()=>{o0.ensure(),this.#F=!0;try{return z1(()=>{Q(this.#J,()=>z,()=>Z)})}catch(G){return N6(G,this.#X.parent),null}finally{this.#F=!1}})})}}var K5=null;function O1(z,J){return J}function yZ(z,J,Q){var K=[],X=J.length;for(var Z=0;Z<X;Z++)yz(J[Z].e,K,!0);i9(K,()=>{var W=K.length===0&&Q!==null;if(W){var G=Q,w=G.parentNode;v5(w),w.append(G),z.items.clear(),C6(z,J[0].prev,J[X-1].next)}for(var H=0;H<X;H++){var q=J[H];if(!W)z.items.delete(q.k),C6(z,q.prev,q.next);y0(q.e,!W)}if(z.first===J[0])z.first=J[0].prev})}function A0(z,J,Q,K,X,Z=null){var W=z,G=new Map,w=null,H=(J&b9)!==0,q=(J&N9)!==0,F=(J&k9)!==0;if(H){var B=z;W=r?j0(r0(B)):B.appendChild(d0())}if(r)_0();var U=null,M=D8(()=>{var N=Q();return w6(N)?N:N==null?[]:k5(N)}),P,O=!0;function j(){if(vZ(E,P,W,J,K),U!==null)if(P.length===0){if(U.fragment)W.before(U.fragment),U.fragment=null;else g5(U.effect);T.first=U.effect}else d6(U.effect,()=>{U=null})}var T=x1(()=>{P=Y(M);var N=P.length;let y=!1;if(r){var b=Iz(W)===V6;if(b!==(N===0))W=F6(),j0(W),f0(!1),y=!0}var A=new Set,k=w0,$=null,v=Ez();for(var l=0;l<N;l+=1){if(r&&B0.nodeType===A1&&B0.data===L8)W=B0,y=!0,f0(!1);var n=P[l],o=K(n,l),a=O?null:G.get(o);if(a){if(q)l1(a.v,n);if(F)l1(a.i,l);else a.i=l;if(v)k.skipped_effects.delete(a.e)}else{if(a=gZ(O?W:null,$,n,o,l,X,J,Q),O){if(a.o=!0,$===null)w=a;else $.next=a;$=a}G.set(o,a)}A.add(o)}if(N===0&&Z&&!U)if(O)U={fragment:null,effect:z1(()=>Z(W))};else{var X0=document.createDocumentFragment(),Q0=d0();X0.append(Q0),U={fragment:X0,effect:z1(()=>Z(Q0))}}if(r&&N>0)j0(F6());if(!O)if(v){for(let[U0,D0]of G)if(!A.has(U0))k.skipped_effects.add(D0.e);k.oncommit(j),k.ondiscard(()=>{})}else j();if(y)f0(!0);Y(M)}),E={effect:T,flags:J,items:G,first:w};if(O=!1,r)W=B0}function vZ(z,J,Q,K,X){var Z=(K&CQ)!==0,W=J.length,G=z.items,w=z.first,H,q=null,F,B=[],U=[],M,P,O,j;if(Z){for(j=0;j<W;j+=1)if(M=J[j],P=X(M,j),O=G.get(P),O.o)O.a?.measure(),(F??=new Set).add(O)}for(j=0;j<W;j+=1){if(M=J[j],P=X(M,j),O=G.get(P),z.first??=O,!O.o){O.o=!0;var T=q?q.next:w;C6(z,q,O),C6(z,O,T),d9(O,T,Q),q=O,B=[],U=[],w=q.next;continue}if((O.e.f&j1)!==0){if(g5(O.e),Z)O.a?.unfix(),(F??=new Set).delete(O)}if(O!==w){if(H!==void 0&&H.has(O)){if(B.length<U.length){var E=U[0],N;q=E.prev;var y=B[0],b=B[B.length-1];for(N=0;N<B.length;N+=1)d9(B[N],E,Q);for(N=0;N<U.length;N+=1)H.delete(U[N]);C6(z,y.prev,b.next),C6(z,q,y),C6(z,b,E),w=E,q=b,j-=1,B=[],U=[]}else H.delete(O),d9(O,w,Q),C6(z,O.prev,O.next),C6(z,O,q===null?z.first:q.next),C6(z,q,O),q=O;continue}B=[],U=[];while(w!==null&&w.k!==P){if((w.e.f&j1)===0)(H??=new Set).add(w);U.push(w),w=w.next}if(w===null)continue;O=w}B.push(O),q=O,w=O.next}let A=G.size>W;if(w!==null||H!==void 0){var k=H===void 0?[]:k5(H);while(w!==null){if((w.e.f&j1)===0)k.push(w);w=w.next}var $=k.length;if(A=G.size-$>W,$>0){var v=(K&b9)!==0&&W===0?Q:null;if(Z){for(j=0;j<$;j+=1)k[j].a?.measure();for(j=0;j<$;j+=1)k[j].a?.fix()}yZ(z,k,v)}}if(A){for(let l of G.values())if(!l.o)C6(z,q,l),q=l}if(z.effect.last=q&&q.e,Z)p0(()=>{if(F===void 0)return;for(O of F)O.a?.apply()})}function gZ(z,J,Q,K,X,Z,W,G){var w=K5,H=(W&N9)!==0,q=(W&xQ)===0,F=H?q?i6(Q,!1,!1):H1(Q):Q,B=(W&k9)===0?X:H1(X);if(m&&H)F.trace=()=>{var P=typeof B==="number"?X:B.v;G()[P]};var U={i:B,v:F,k:K,a:null,e:null,o:!1,prev:J,next:null};K5=U;try{if(z===null){var M=document.createDocumentFragment();M.append(z=d0())}if(U.e=z1(()=>Z(z,F,B,G)),J!==null)J.next=U;return U}finally{K5=w}}function d9(z,J,Q){var K=z.next?z.next.e.nodes_start:Q,X=J?J.e.nodes_start:Q,Z=z.e.nodes_start;while(Z!==null&&Z!==K){var W=e0(Z);X.before(Z),Z=W}}function C6(z,J,Q){if(J===null)z.first=Q,z.effect.first=Q&&Q.e;else{if(J.e.next)J.e.next.prev=null;J.next=Q,J.e.next=Q&&Q.e}if(Q!==null){if(Q.e.prev)Q.e.prev.next=null;Q.prev=J,Q.e.prev=J&&J.e}}function Z5(z,J,Q,K){let X=s1()?X8:D8;if(Q.length===0&&z.length===0){K(J.map(X));return}var Z=w0,W=J0,G=_9();function w(){Promise.all(Q.map((H)=>s9(H))).then((H)=>{G();try{K([...J.map(X),...H])}catch(q){if((W.f&T1)===0)N6(q,W)}Z?.deactivate(),R8()}).catch((H)=>{N6(H,W)})}if(z.length>0)Promise.all(z).then(()=>{G();try{return w()}finally{Z?.deactivate(),R8()}});else w()}function _9(){var z=J0,J=W0,Q=L0,K=w0;if(m)var X=M6;return function(W=!0){if(U1(z),a0(J),p6(Q),W)K?.activate();if(m)c9(null),z5(X)}}function R8(){if(U1(null),a0(null),p6(null),m)c9(null),z5(null)}var X5=null;function c9(z){X5=z}var h5=new Set;function X8(z){var J=h0|i0,Q=W0!==null&&(W0.f&h0)!==0?W0:null;if(J0!==null)J0.f|=S6;let K={ctx:L0,deps:null,effects:null,equals:Sz,f:J,fn:z,reactions:null,rv:0,v:E0,wv:0,parent:Q??J0,ac:null};if(m&&q6)K.created=A6("created at");return K}function s9(z,J){let Q=J0;if(Q===null)JQ();var K=Q.b,X=void 0,Z=H1(E0),W=!W0,G=new Map;if(oQ(()=>{if(m)X5=J0;var w=Cz();X=w.promise;try{Promise.resolve(z()).then(w.resolve,w.reject).then(()=>{if(H===w0&&H.committed)H.deactivate();R8()})}catch(B){w.reject(B),R8()}if(m)X5=null;var H=w0;if(W){var q=!K.is_pending();K.update_pending_count(1),H.increment(q),G.get(H)?.reject(D6),G.delete(H),G.set(H,w)}let F=(B,U=void 0)=>{if(X5=null,H.activate(),U){if(U!==D6)Z.f|=Z6,l1(Z,U)}else{if((Z.f&Z6)!==0)Z.f^=Z6;l1(Z,B);for(let[M,P]of G){if(G.delete(M),M===H)break;P.reject(D6)}if(m&&J!==void 0)h5.add(Z),setTimeout(()=>{if(h5.has(Z))NQ(Z.label,J),h5.delete(Z)})}if(W)K.update_pending_count(-1),H.decrement(q)};w.promise.then(F,(B)=>F(null,B||"unknown"))}),K1(()=>{for(let w of G.values())w.reject(D6)}),m)Z.f|=m6;return new Promise((w)=>{function H(q){function F(){if(q===X)w(Z);else H(X)}q.then(F,F)}H(X)})}function C0(z){let J=X8(z);if(!N1)hz(J);return J}function D8(z){let J=X8(z);return J.equals=Dz,J}function vz(z){var J=z.effects;if(J!==null){z.effects=null;for(var Q=0;Q<J.length;Q+=1)y0(J[Q])}}var o9=[];function $Z(z){var J=z.parent;while(J!==null){if((J.f&h0)===0)return(J.f&T1)===0?J:null;J=J.parent}return null}function f5(z){var J,Q=J0;if(U1($Z(z)),m){let K=j8;kz(new Set);try{if(o9.includes(z))QQ();o9.push(z),z.f&=~K6,vz(z),J=gz(z)}finally{U1(Q),kz(K),o9.pop()}}else try{z.f&=~K6,vz(z),J=gz(z)}finally{U1(Q)}return J}function a9(z){var J=f5(z);if(!z.equals(J)){if(!w0?.is_fork)z.v=J;z.wv=m5()}if(x6)return;if(B1!==null){if(j6()||w0?.is_fork)B1.set(z,J)}else{var Q=(z.f&b1)===0?R1:l0;s0(z,Q)}}var j8=new Set,b6=new Map;function kz(z){j8=z}var r9=!1;function aQ(){r9=!0}function H1(z,J){var Q={f:0,v:z,reactions:null,equals:Sz,rv:0,wv:0};if(m&&q6)Q.created=J??A6("created at"),Q.updated=null,Q.set_during_effect=!1,Q.trace=null;return Q}function f(z,J){let Q=H1(z,J);return hz(Q),Q}function i6(z,J=!1,Q=!0){let K=H1(z);if(!J)K.equals=Dz;if(l6&&Q&&L0!==null&&L0.l!==null)(L0.l.s??=[]).push(K);return K}function R(z,J,Q=!1){if(W0!==null&&(!a1||(W0.f&O8)!==0)&&s1()&&(W0.f&(h0|m1|m6|O8))!==0&&!E6?.includes(z))qQ();let K=Q?x0(J):J;if(m)Rz(K,z.label);return l1(z,K)}function l1(z,J){if(!z.equals(J)){var Q=z.v;if(x6)b6.set(z,J);else b6.set(z,Q);z.v=J;var K=o0.ensure();if(K.capture(z,Q),m){if(q6||J0!==null){z.updated??=new Map;let X=(z.updated.get("")?.count??0)+1;if(z.updated.set("",{error:null,count:X}),q6||X>5){let Z=A6("updated at");if(Z!==null){let W=z.updated.get(Z.stack);if(!W)W={error:Z,count:0},z.updated.set(Z.stack,W);W.count++}}}if(J0!==null)z.set_during_effect=!0}if((z.f&h0)!==0){if((z.f&i0)!==0)f5(z);s0(z,(z.f&b1)!==0?l0:R1)}if(z.wv=m5(),rQ(z,i0),s1()&&J0!==null&&(J0.f&l0)!==0&&(J0.f&(k1|Q6))===0)if(o1===null)nQ([z]);else o1.push(z);if(!K.is_fork&&j8.size>0&&!r9)bz()}return J}function bz(){r9=!1;var z=T6;Q5(!0);let J=Array.from(j8);try{for(let Q of J){if((Q.f&l0)!==0)s0(Q,R1);if(Z8(Q))Q8(Q)}}finally{Q5(z)}j8.clear()}function S8(z){R(z,z.v+1)}function rQ(z,J){var Q=z.reactions;if(Q===null)return;var K=s1(),X=Q.length;for(var Z=0;Z<X;Z++){var W=Q[Z],G=W.f;if(!K&&W===J0)continue;if(m&&(G&O8)!==0){j8.add(W);continue}var w=(G&i0)===0;if(w)s0(W,J);if((G&h0)!==0){var H=W;if(B1?.delete(H),(G&K6)===0){if(G&b1)W.f|=K6;rQ(H,R1)}}else if(w){if((G&m1)!==0&&W6!==null)W6.add(W);k6(W)}}}var uZ=/^[a-zA-Z_$][a-zA-Z_$0-9]*$/;function x0(z){if(typeof z!=="object"||z===null||Q1 in z)return z;let J=q8(z);if(J!==S9&&J!==n7)return z;var Q=new Map,K=w6(z),X=f(0),Z=m&&q6?A6("created at"):null,W=W8,G=(F)=>{if(W8===W)return F();var B=W0,U=W8;a0(null),n9(W);var M=F();return a0(B),n9(U),M};if(K){if(Q.set("length",f(z.length,Z)),m)z=pZ(z)}var w="";let H=!1;function q(F){if(H)return;H=!0,w=F,u1(X,`${w} version`);for(let[B,U]of Q)u1(U,A8(w,B));H=!1}return new Proxy(z,{defineProperty(F,B,U){if(!("value"in U)||U.configurable===!1||U.enumerable===!1||U.writable===!1)VQ();var M=Q.get(B);if(M===void 0)M=G(()=>{var P=f(U.value,Z);if(Q.set(B,P),m&&typeof B==="string")u1(P,A8(w,B));return P});else R(M,U.value,!0);return!0},deleteProperty(F,B){var U=Q.get(B);if(U===void 0){if(B in F){let M=G(()=>f(E0,Z));if(Q.set(B,M),S8(X),m)u1(M,A8(w,B))}}else R(U,E0),S8(X);return!0},get(F,B,U){if(B===Q1)return z;if(m&&B===Oz)return q;var M=Q.get(B),P=B in F;if(M===void 0&&(!P||D1(F,B)?.writable))M=G(()=>{var j=x0(P?F[B]:E0),T=f(j,Z);if(m)u1(T,A8(w,B));return T}),Q.set(B,M);if(M!==void 0){var O=Y(M);return O===E0?void 0:O}return Reflect.get(F,B,U)},getOwnPropertyDescriptor(F,B){var U=Reflect.getOwnPropertyDescriptor(F,B);if(U&&"value"in U){var M=Q.get(B);if(M)U.value=Y(M)}else if(U===void 0){var P=Q.get(B),O=P?.v;if(P!==void 0&&O!==E0)return{enumerable:!0,configurable:!0,value:O,writable:!0}}return U},has(F,B){if(B===Q1)return!0;var U=Q.get(B),M=U!==void 0&&U.v!==E0||Reflect.has(F,B);if(U!==void 0||J0!==null&&(!M||D1(F,B)?.writable)){if(U===void 0)U=G(()=>{var O=M?x0(F[B]):E0,j=f(O,Z);if(m)u1(j,A8(w,B));return j}),Q.set(B,U);var P=Y(U);if(P===E0)return!1}return M},set(F,B,U,M){var P=Q.get(B),O=B in F;if(K&&B==="length")for(var j=U;j<P.v;j+=1){var T=Q.get(j+"");if(T!==void 0)R(T,E0);else if(j in F){if(T=G(()=>f(E0,Z)),Q.set(j+"",T),m)u1(T,A8(w,j))}}if(P===void 0){if(!O||D1(F,B)?.writable){if(P=G(()=>f(void 0,Z)),m)u1(P,A8(w,B));R(P,x0(U)),Q.set(B,P)}}else{O=P.v!==E0;var E=G(()=>x0(U));R(P,E)}var N=Reflect.getOwnPropertyDescriptor(F,B);if(N?.set)N.set.call(M,U);if(!O){if(K&&typeof B==="string"){var y=Q.get("length"),b=Number(B);if(Number.isInteger(b)&&b>=y.v)R(y,b+1)}S8(X)}return!0},ownKeys(F){Y(X);var B=Reflect.ownKeys(F).filter((P)=>{var O=Q.get(P);return O===void 0||O.v!==E0});for(var[U,M]of Q)if(M.v!==E0&&!(U in F))B.push(U);return B},setPrototypeOf(){FQ()}})}function A8(z,J){if(typeof J==="symbol")return`${z}[Symbol(${J.description??""})]`;if(uZ.test(J))return`${z}.${J}`;return/^\d+$/.test(J)?`${z}[${J}]`:`${z}['${J}']`}function W5(z){try{if(z!==null&&typeof z==="object"&&Q1 in z)return z[Q1]}catch{}return z}function fz(z,J){return Object.is(W5(z),W5(J))}var lZ=new Set(["copyWithin","fill","pop","push","reverse","shift","sort","splice","unshift"]);function pZ(z){return new Proxy(z,{get(J,Q,K){var X=Reflect.get(J,Q,K);if(!lZ.has(Q))return X;return function(...Z){aQ();var W=X.apply(this,Z);return bz(),W}}})}function tQ(){let{prototype:z,__svelte_cleanup:J}=Array;if(J)J();let{indexOf:Q,lastIndexOf:K,includes:X}=z;z.indexOf=function(Z,W){let G=Q.call(this,Z,W);if(G===-1){for(let w=W??0;w<this.length;w+=1)if(W5(this[w])===Z){Pz("array.indexOf(...)");break}}return G},z.lastIndexOf=function(Z,W){let G=K.call(this,Z,W??this.length-1);if(G===-1){for(let w=0;w<=(W??this.length-1);w+=1)if(W5(this[w])===Z){Pz("array.lastIndexOf(...)");break}}return G},z.includes=function(Z,W){let G=X.call(this,Z,W);if(!G){for(let w=0;w<this.length;w+=1)if(W5(this[w])===Z){Pz("array.includes(...)");break}}return G},Array.__svelte_cleanup=()=>{z.indexOf=Q,z.lastIndexOf=K,z.includes=X}}var t9,Y8,E5,eQ,zK;function mz(){if(t9!==void 0)return;t9=window,Y8=document,E5=/Firefox/.test(navigator.userAgent);var z=Element.prototype,J=Node.prototype,Q=Text.prototype;if(eQ=D1(J,"firstChild").get,zK=D1(J,"nextSibling").get,D9(z))z.__click=void 0,z.__className=void 0,z.__attributes=null,z.__style=void 0,z.__e=void 0;if(D9(Q))Q.__t=void 0;if(m)z.__svelte_meta=null,tQ()}function d0(z=""){return document.createTextNode(z)}function r0(z){return eQ.call(z)}function e0(z){return zK.call(z)}function x(z,J){if(!r)return r0(z);var Q=r0(B0);if(Q===null)Q=B0.appendChild(d0());else if(J&&Q.nodeType!==e8){var K=d0();return Q?.before(K),j0(K),K}return j0(Q),Q}function h(z,J=!1){if(!r){var Q=r0(z);if(Q instanceof Comment&&Q.data==="")return e0(Q);return Q}if(J&&B0?.nodeType!==e8){var K=d0();return B0?.before(K),j0(K),K}return B0}function S(z,J=1,Q=!1){let K=r?B0:z;var X;while(J--)X=K,K=e0(K);if(!r)return K;if(Q&&K?.nodeType!==e8){var Z=d0();if(K===null)X?.after(Z);else K.before(Z);return j0(Z),Z}return j0(K),K}function v5(z){z.textContent=""}function Ez(){if(!N1)return!1;if(W6!==null)return!1;var z=J0.f;return(z&U6)!==0}function N8(z,J){if(J){let Q=document.body;z.autofocus=!0,p0(()=>{if(document.activeElement===Q)z.focus()})}}var JK=!1;function $z(){if(!JK)JK=!0,document.addEventListener("reset",(z)=>{Promise.resolve().then(()=>{if(!z.defaultPrevented)for(let J of z.target.elements)J.__on_r?.()})},{capture:!0})}function _6(z){var J=W0,Q=J0;a0(null),U1(null);try{return z()}finally{a0(J),U1(Q)}}function $5(z,J,Q,K=Q){z.addEventListener(J,()=>_6(Q));let X=z.__on_r;if(X)z.__on_r=()=>{X(),K(!0)};else z.__on_r=()=>K(!0);$z()}function zJ(z){if(J0===null){if(W0===null)XQ(z);ZQ()}if(x6)KQ(z)}function dZ(z,J){var Q=J.last;if(Q===null)J.last=J.first=z;else Q.next=z,z.prev=Q,J.last=z}function r1(z,J,Q){var K=J0;if(m)while(K!==null&&(K.f&O8)!==0)K=K.parent;if(K!==null&&(K.f&j1)!==0)z|=j1;var X={ctx:L0,deps:null,nodes_start:null,nodes_end:null,f:z|i0|b1,first:null,fn:J,last:null,next:null,parent:K,b:K&&K.b,prev:null,teardown:null,transitions:null,wv:0,ac:null};if(m)X.component_function=c1;if(Q)try{Q8(X),X.f|=U6}catch(G){throw y0(X),G}else if(J!==null)k6(X);var Z=X;if(Q&&Z.deps===null&&Z.teardown===null&&Z.nodes_start===null&&Z.first===Z.last&&(Z.f&S6)===0){if(Z=Z.first,(z&m1)!==0&&(z&E1)!==0&&Z!==null)Z.f|=E1}if(Z!==null){if(Z.parent=K,K!==null)dZ(Z,K);if(W0!==null&&(W0.f&h0)!==0&&(z&Q6)===0){var W=W0;(W.effects??=[]).push(Z)}}return X}function j6(){return W0!==null&&!a1}function K1(z){let J=r1(C8,null,!1);return s0(J,l0),J.teardown=z,J}function Z1(z){if(zJ("$effect"),m)q1(z,"name",{value:"$effect"});var J=J0.f,Q=!W0&&(J&k1)!==0&&(J&U6)===0;if(Q){var K=L0;(K.e??=[]).push(z)}else return h9(z)}function h9(z){return r1(a8|j9,z,!1)}function u5(z){if(zJ("$effect.pre"),m)q1(z,"name",{value:"$effect.pre"});return r1(C8|j9,z,!0)}function JJ(z){o0.ensure();let J=r1(Q6|S6,z,!0);return()=>{y0(J)}}function QK(z){o0.ensure();let J=r1(Q6|S6,z,!0);return(Q={})=>{return new Promise((K)=>{if(Q.outro)d6(J,()=>{y0(J),K(void 0)});else y0(J),K(void 0)})}}function V1(z){return r1(a8,z,!1)}function oQ(z){return r1(m6|S6,z,!0)}function w1(z,J=0){return r1(C8|J,z,!0)}function g(z,J=[],Q=[],K=[]){Z5(K,J,Q,(X)=>{r1(C8,()=>z(...X.map(Y)),!0)})}function l5(z,J=[],Q=[],K=[]){var X=w0,Z=Q.length>0||K.length>0;if(Z)X.increment(!0);Z5(K,J,Q,(W)=>{if(r1(a8,()=>z(...W.map(Y)),!1),Z)X.decrement(!0)})}function x1(z,J=0){var Q=r1(m1|J,z,!0);if(m)Q.dev_stack=M6;return Q}function uz(z,J=0){var Q=r1(r8|J,z,!0);if(m)Q.dev_stack=M6;return Q}function z1(z){return r1(k1|S6,z,!0)}function QJ(z){var J=z.teardown;if(J!==null){let Q=x6,K=W0;e9(!0),a0(null);try{J.call(null)}finally{e9(Q),a0(K)}}}function KJ(z,J=!1){var Q=z.first;z.first=z.last=null;while(Q!==null){let X=Q.ac;if(X!==null)_6(()=>{X.abort(D6)});var K=Q.next;if((Q.f&Q6)!==0)Q.parent=null;else y0(Q,J);Q=K}}function KK(z){var J=z.first;while(J!==null){var Q=J.next;if((J.f&k1)===0)y0(J);J=Q}}function y0(z,J=!0){var Q=!1;if((J||(z.f&n8)!==0)&&z.nodes_start!==null&&z.nodes_end!==null)ZJ(z.nodes_start,z.nodes_end),Q=!0;KJ(z,J&&!Q),p5(z,0),s0(z,T1);var K=z.transitions;if(K!==null)for(let Z of K)Z.stop();QJ(z);var X=z.parent;if(X!==null&&X.first!==null)u9(z);if(m)z.component_function=null;z.next=z.prev=z.teardown=z.ctx=z.deps=z.fn=z.nodes_start=z.nodes_end=z.ac=null}function ZJ(z,J){while(z!==null){var Q=z===J?null:e0(z);z.remove(),z=Q}}function u9(z){var{parent:J,prev:Q,next:K}=z;if(Q!==null)Q.next=K;if(K!==null)K.prev=Q;if(J!==null){if(J.first===z)J.first=K;if(J.last===z)J.last=Q}}function d6(z,J,Q=!0){var K=[];yz(z,K,!0),i9(K,()=>{if(Q)y0(z);if(J)J()})}function i9(z,J){var Q=z.length;if(Q>0){var K=()=>--Q||J();for(var X of z)X.out(K)}else J()}function yz(z,J,Q){if((z.f&j1)!==0)return;if(z.f^=j1,z.transitions!==null){for(let W of z.transitions)if(W.is_global||Q)J.push(W)}var K=z.first;while(K!==null){var X=K.next,Z=(K.f&E1)!==0||(K.f&k1)!==0&&(z.f&m1)!==0;yz(K,J,Z?Q:!1),K=X}}function g5(z){ZK(z,!0)}function ZK(z,J){if((z.f&j1)===0)return;if(z.f^=j1,(z.f&l0)===0)s0(z,i0),k6(z);var Q=z.first;while(Q!==null){var K=Q.next,X=(Q.f&E1)!==0||(Q.f&k1)!==0;ZK(Q,X?J:!1),Q=K}if(z.transitions!==null){for(let Z of z.transitions)if(Z.is_global||J)Z.in()}}function Tz(z,J){var{nodes_start:Q,nodes_end:K}=z;while(Q!==null){var X=Q===K?null:e0(Q);J.append(Q),Q=X}}var XK=null;var T6=!1;function Q5(z){T6=z}var x6=!1;function e9(z){x6=z}var W0=null,a1=!1;function a0(z){W0=z}var J0=null;function U1(z){J0=z}var E6=null;function hz(z){if(W0!==null&&(!N1||(W0.f&h0)!==0))if(E6===null)E6=[z];else E6.push(z)}var y1=null,n1=0,o1=null;function nQ(z){o1=z}var WK=1,d5=0,W8=d5;function n9(z){W8=z}function m5(){return++WK}function Z8(z){var J=z.f;if((J&i0)!==0)return!0;if(J&h0)z.f&=~K6;if((J&R1)!==0){var Q=z.deps;if(Q!==null){var K=Q.length;for(var X=0;X<K;X++){var Z=Q[X];if(Z8(Z))a9(Z);if(Z.wv>z.wv)return!0}}if((J&b1)!==0&&B1===null)s0(z,l0)}return!1}function YK(z,J,Q=!0){var K=z.reactions;if(K===null)return;if(!N1&&E6?.includes(z))return;for(var X=0;X<K.length;X++){var Z=K[X];if((Z.f&h0)!==0)YK(Z,J,!1);else if(J===Z){if(Q)s0(Z,i0);else if((Z.f&l0)!==0)s0(Z,R1);k6(Z)}}}function gz(z){var J=y1,Q=n1,K=o1,X=W0,Z=E6,W=L0,G=a1,w=W8,H=z.f;if(y1=null,n1=0,o1=null,W0=(H&(k1|Q6))===0?z:null,E6=null,p6(z.ctx),a1=!1,W8=++d5,z.ac!==null)_6(()=>{z.ac.abort(D6)}),z.ac=null;try{z.f|=xz;var q=z.fn,F=q(),B=z.deps;if(y1!==null){var U;if(p5(z,n1),B!==null&&n1>0){B.length=n1+y1.length;for(U=0;U<y1.length;U++)B[n1+U]=y1[U]}else z.deps=B=y1;if(T6&&j6()&&(z.f&b1)!==0)for(U=n1;U<B.length;U++)(B[U].reactions??=[]).push(z)}else if(B!==null&&n1<B.length)p5(z,n1),B.length=n1;if(s1()&&o1!==null&&!a1&&B!==null&&(z.f&(h0|R1|i0))===0)for(U=0;U<o1.length;U++)YK(o1[U],z);if(X!==null&&X!==z){if(d5++,o1!==null)if(K===null)K=o1;else K.push(...o1)}if((z.f&Z6)!==0)z.f^=Z6;return F}catch(M){return Az(M)}finally{z.f^=xz,y1=J,n1=Q,o1=K,W0=X,E6=Z,p6(W),a1=G,W8=w}}function iZ(z,J){let Q=J.reactions;if(Q!==null){var K=r7.call(Q,z);if(K!==-1){var X=Q.length-1;if(X===0)Q=J.reactions=null;else Q[K]=Q[X],Q.pop()}}if(Q===null&&(J.f&h0)!==0&&(y1===null||!y1.includes(J))){if(s0(J,R1),(J.f&b1)!==0)J.f^=b1,J.f&=~K6;vz(J),p5(J,0)}}function p5(z,J){var Q=z.deps;if(Q===null)return;for(var K=J;K<Q.length;K++)iZ(z,Q[K])}function Q8(z){var J=z.f;if((J&T1)!==0)return;s0(z,l0);var Q=J0,K=T6;if(J0=z,T6=!0,m){var X=c1;jz(z.component_function);var Z=M6;z5(z.dev_stack??M6)}try{if((J&(m1|r8))!==0)KK(z);else KJ(z);QJ(z);var W=gz(z);if(z.teardown=typeof W==="function"?W:null,z.wv=WK,m&&q6&&(z.f&i0)!==0&&z.deps!==null){for(var G of z.deps)if(G.set_during_effect)G.wv=m5(),G.set_during_effect=!1}}finally{if(T6=K,J0=Q,m)jz(X),z5(Z)}}async function y5(){if(N1)return new Promise((z)=>{requestAnimationFrame(()=>z()),setTimeout(()=>z())});await Promise.resolve(),K8()}function Y(z){var J=z.f,Q=(J&h0)!==0;if(XK?.add(z),W0!==null&&!a1){var K=J0!==null&&(J0.f&T1)!==0;if(!K&&!E6?.includes(z)){var X=W0.deps;if((W0.f&xz)!==0){if(z.rv<d5){if(z.rv=d5,y1===null&&X!==null&&X[n1]===z)n1++;else if(y1===null)y1=[z];else if(!y1.includes(z))y1.push(z)}}else{(W0.deps??=[]).push(z);var Z=z.reactions;if(Z===null)z.reactions=[W0];else if(!Z.includes(W0))Z.push(W0)}}}if(m){if(h5.delete(z),q6&&!a1&&T5!==null&&W0!==null&&T5.reaction===W0)if(z.trace)z.trace();else{var W=A6("traced at");if(W){var G=T5.entries.get(z);if(G===void 0)G={traces:[]},T5.entries.set(z,G);var w=G.traces[G.traces.length-1];if(W.stack!==w?.stack)G.traces.push(W)}}}if(x6){if(b6.has(z))return b6.get(z);if(Q){var H=z,q=H.v;if((H.f&l0)===0&&H.reactions!==null||BK(H))q=f5(H);return b6.set(H,q),q}}else if(Q&&(!B1?.has(z)||w0?.is_fork&&!j6())){if(H=z,Z8(H))a9(H);if(T6&&j6()&&(H.f&b1)===0)GK(H)}if(B1?.has(z))return B1.get(z);if((z.f&Z6)!==0)throw z.v;return z.v}function GK(z){if(z.deps===null)return;z.f^=b1;for(let J of z.deps)if((J.reactions??=[]).push(z),(J.f&h0)!==0&&(J.f&b1)===0)GK(J)}function BK(z){if(z.v===E0)return!0;if(z.deps===null)return!1;for(let J of z.deps){if(b6.has(J))return!0;if((J.f&h0)!==0&&BK(J))return!0}return!1}function b0(z){var J=a1;try{return a1=!0,z()}finally{a1=J}}var _Z=~(i0|R1|l0);function s0(z,J){z.f=z.f&_Z|J}function pz(z){if(typeof z!=="object"||!z||z instanceof EventTarget)return;if(Q1 in z)lz(z);else if(!Array.isArray(z))for(let J in z){let Q=z[J];if(typeof Q==="object"&&Q&&Q1 in Q)lz(Q)}}function lz(z,J=new Set){if(typeof z==="object"&&z!==null&&!(z instanceof EventTarget)&&!J.has(z)){if(J.add(z),z instanceof Date)z.getTime();for(let K in z)try{lz(z[K],J)}catch(X){}let Q=q8(z);if(Q!==Object.prototype&&Q!==Array.prototype&&Q!==Map.prototype&&Q!==Set.prototype&&Q!==Date.prototype){let K=Mz(Q);for(let X in K){let Z=K[X].get;if(Z)try{Z.call(z)}catch(W){}}}}}var cZ=/\r/g;function HK(z){z=z.replace(cZ,"");let J=5381,Q=z.length;while(Q--)J=(J<<5)-J^z.charCodeAt(Q);return(J>>>0).toString(36)}function wK(z){return z.endsWith("capture")&&z!=="gotpointercapture"&&z!=="lostpointercapture"}var sZ=["beforeinput","click","change","dblclick","contextmenu","focusin","focusout","input","keydown","keyup","mousedown","mousemove","mouseout","mouseover","mouseup","pointerdown","pointermove","pointerout","pointerover","pointerup","touchend","touchmove","touchstart"];function UK(z){return sZ.includes(z)}var oZ=["allowfullscreen","async","autofocus","autoplay","checked","controls","default","disabled","formnovalidate","indeterminate","inert","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","seamless","selected","webkitdirectory","defer","disablepictureinpicture","disableremoteplayback"];var aZ={formnovalidate:"formNoValidate",ismap:"isMap",nomodule:"noModule",playsinline:"playsInline",readonly:"readOnly",defaultvalue:"defaultValue",defaultchecked:"defaultChecked",srcobject:"srcObject",novalidate:"noValidate",allowfullscreen:"allowFullscreen",disablepictureinpicture:"disablePictureInPicture",disableremoteplayback:"disableRemotePlayback"};function VK(z){return z=z.toLowerCase(),aZ[z]??z}var RH=[...oZ,"formNoValidate","isMap","noModule","playsInline","readOnly","value","volume","defaultValue","defaultChecked","srcObject","noValidate","allowFullscreen","disablePictureInPicture","disableRemotePlayback"];var rZ=["touchstart","touchmove"];function FK(z){return rZ.includes(z)}var nZ=["$state","$state.raw","$derived","$derived.by"],jH=[...nZ,"$state.eager","$state.snapshot","$props","$props.id","$bindable","$effect","$effect.pre","$effect.tracking","$effect.root","$effect.pending","$inspect","$inspect().with","$inspect.trace","$host"];function dz(z){return z?.replace(/\//g,"/โ€‹")}var XJ=new Set,iz=new Set;function Y5(z){if(!r)return;z.removeAttribute("onload"),z.removeAttribute("onerror");let J=z.__e;if(J!==void 0)z.__e=void 0,queueMicrotask(()=>{if(z.isConnected)z.dispatchEvent(J)})}function WJ(z,J,Q,K={}){function X(Z){if(!K.capture)G5.call(J,Z);if(!Z.cancelBubble)return _6(()=>{return Q?.call(this,Z)})}if(z.startsWith("pointer")||z.startsWith("touch")||z==="wheel")p0(()=>{J.addEventListener(z,X,K)});else J.addEventListener(z,X,K);return X}function L1(z,J,Q,K,X){var Z={capture:K,passive:X},W=WJ(z,J,Q,Z);if(J===document.body||J===window||J===document||J instanceof HTMLMediaElement)K1(()=>{J.removeEventListener(z,W,Z)})}function I0(z){for(var J=0;J<z.length;J++)XJ.add(z[J]);for(var Q of iz)Q(z)}var MK=null;function G5(z){var J=this,Q=J.ownerDocument,K=z.type,X=z.composedPath?.()||[],Z=X[0]||z.target;MK=z;var W=0,G=MK===z&&z.__root;if(G){var w=X.indexOf(G);if(w!==-1&&(J===document||J===window)){z.__root=J;return}var H=X.indexOf(J);if(H===-1)return;if(w<=H)W=w}if(Z=X[W]||z.target,Z===J)return;q1(z,"currentTarget",{configurable:!0,get(){return Z||Q}});var q=W0,F=J0;a0(null),U1(null);try{var B,U=[];while(Z!==null){var M=Z.assignedSlot||Z.parentNode||Z.host||null;try{var P=Z["__"+K];if(P!=null&&(!Z.disabled||z.target===Z))P.call(Z,z)}catch(O){if(B)U.push(O);else B=O}if(z.cancelBubble||M===J||M===null)break;Z=M}if(B){for(let O of U)queueMicrotask(()=>{throw O});throw B}}finally{z.__root=J,delete z.currentTarget,a0(q),U1(F)}}function i5(z){var J=document.createElement("template");return J.innerHTML=z.replaceAll("<!>","<!---->"),J.content}function p1(z,J){var Q=J0;if(Q.nodes_start===null)Q.nodes_start=z,Q.nodes_end=J}function L(z,J){var Q=(J&DQ)!==0,K=(J&RQ)!==0,X,Z=!z.startsWith("<!>");return()=>{if(r)return p1(B0,null),B0;if(X===void 0){if(X=i5(Z?z:"<!>"+z),!Q)X=r0(X)}var W=K||E5?document.importNode(X,!0):X.cloneNode(!0);if(Q){var G=r0(W),w=W.lastChild;p1(G,w)}else p1(W,W);return W}}function d1(z=""){if(!r){var J=d0(z+"");return p1(J,J),J}var Q=B0;if(Q.nodeType!==e8)Q.before(Q=d0()),j0(Q);return p1(Q,Q),Q}function c(){if(r)return p1(B0,null),B0;var z=document.createDocumentFragment(),J=document.createComment(""),Q=d0();return z.append(J,Q),p1(J,Q),z}function V(z,J){if(r){var Q=J0;if((Q.f&U6)===0||Q.nodes_end===null)Q.nodes_end=B0;_0();return}if(z===null)return;z.before(J)}var YJ=!0;function u(z,J){var Q=J==null?"":typeof J==="object"?J+"":J;if(Q!==(z.__t??=z.nodeValue))z.__t=Q,z.nodeValue=Q+""}function H5(z,J){return xK(z,J)}function BJ(z,J){mz(),J.intro=J.intro??!1;let Q=J.target,K=r,X=B0;try{var Z=r0(Q);while(Z&&(Z.nodeType!==A1||Z.data!==b5))Z=e0(Z);if(!Z)throw R6;f0(!0),j0(Z);let W=xK(z,{...J,anchor:Z});return f0(!1),W}catch(W){if(W instanceof Error&&W.message.split(` 45 - `).some((G)=>G.startsWith("https://svelte.dev/e/")))throw W;if(W!==R6)console.warn("Failed to hydrate: ",W);if(J.recover===!1)YQ();return mz(),v5(Q),f0(!1),H5(z,J)}finally{f0(K),j0(X)}}var B5=new Map;function xK(z,{target:J,anchor:Q,props:K={},events:X,context:Z,intro:W=!0}){mz();var G=new Set,w=(F)=>{for(var B=0;B<F.length;B++){var U=F[B];if(G.has(U))continue;G.add(U);var M=FK(U);J.addEventListener(U,G5,{passive:M});var P=B5.get(U);if(P===void 0)document.addEventListener(U,G5,{passive:M}),B5.set(U,1);else B5.set(U,P+1)}};w(k5(XJ)),iz.add(w);var H=void 0,q=QK(()=>{var F=Q??J.appendChild(d0());return l9(F,{pending:()=>{}},(B)=>{if(Z){i({});var U=L0;U.c=Z}if(X)K.$$events=X;if(r)p1(B,null);if(YJ=W,H=z(B,K)||{},YJ=!0,r){if(J0.nodes_end=B0,B0===null||B0.nodeType!==A1||B0.data!==L8)throw z8(),R6}if(Z)_()}),()=>{for(var B of G){J.removeEventListener(B,G5);var U=B5.get(B);if(--U===0)document.removeEventListener(B,G5),B5.delete(B);else B5.set(B,U)}if(iz.delete(w),F!==Q)F.parentNode?.removeChild(F)}});return GJ.set(H,q),H}var GJ=new WeakMap;function HJ(z,J){let Q=GJ.get(z);if(Q)return GJ.delete(z),Q(J);if(m)if(Q1 in z)yQ();else TQ();return Promise.resolve()}class O6{anchor;#z=new Map;#J=new Map;#Q=new Map;#K=new Set;#G=!0;constructor(z,J=!0){this.anchor=z,this.#G=J}#X=()=>{var z=w0;if(!this.#z.has(z))return;var J=this.#z.get(z),Q=this.#J.get(J);if(Q)g5(Q),this.#K.delete(J);else{var K=this.#Q.get(J);if(K)this.#J.set(J,K.effect),this.#Q.delete(J),K.fragment.lastChild.remove(),this.anchor.before(K.fragment),Q=K.effect}for(let[X,Z]of this.#z){if(this.#z.delete(X),X===z)break;let W=this.#Q.get(Z);if(W)y0(W.effect),this.#Q.delete(Z)}for(let[X,Z]of this.#J){if(X===J||this.#K.has(X))continue;let W=()=>{if(Array.from(this.#z.values()).includes(X)){var w=document.createDocumentFragment();Tz(Z,w),w.append(d0()),this.#Q.set(X,{effect:Z,fragment:w})}else y0(Z);this.#K.delete(X),this.#J.delete(X)};if(this.#G||!Q)this.#K.add(X),d6(Z,W,!1);else W()}};#Z=(z)=>{this.#z.delete(z);let J=Array.from(this.#z.values());for(let[Q,K]of this.#Q)if(!J.includes(Q))y0(K.effect),this.#Q.delete(Q)};ensure(z,J){var Q=w0,K=Ez();if(J&&!this.#J.has(z)&&!this.#Q.has(z))if(K){var X=document.createDocumentFragment(),Z=d0();X.append(Z),this.#Q.set(z,{effect:z1(()=>J(Z)),fragment:X})}else this.#J.set(z,z1(()=>J(this.anchor)));if(this.#z.set(Q,z),K){for(let[W,G]of this.#J)if(W===z)Q.skipped_effects.delete(G);else Q.skipped_effects.add(G);for(let[W,G]of this.#Q)if(W===z)Q.skipped_effects.delete(G.effect);else Q.skipped_effects.add(G.effect);Q.oncommit(this.#X),Q.ondiscard(this.#Z)}else{if(r)this.anchor=B0;this.#X()}}}var OK=0,wJ=1;function k8(z,J,Q,K,X){if(r)_0();var Z=s1(),W=E0,G=Z?H1(W):i6(W,!1,!1),w=Z?H1(W):i6(W,!1,!1),H=new O6(z);x1(()=>{var q=J(),F=!1;let B=r&&R9(q)===(z.data===V6);if(B)j0(F6()),f0(!1);if(R9(q)){var U=_9(),M=!1;let P=(O)=>{if(F)return;if(M=!0,U(!1),o0.ensure(),r)f0(!1);try{O()}finally{if(R8(),!J8)K8()}};if(q.then((O)=>{P(()=>{l1(G,O),H.ensure(wJ,K&&((j)=>K(j,G)))})},(O)=>{P(()=>{if(l1(w,O),H.ensure(wJ,X&&((j)=>X(j,w))),!X)throw w.v})}),r)H.ensure(OK,Q);else p0(()=>{if(!M)P(()=>{H.ensure(OK,Q)})})}else l1(G,q),H.ensure(wJ,K&&((P)=>K(P,G)));if(B)f0(!0);return()=>{F=!0}})}function D(z,J,Q=!1){if(r)_0();var K=new O6(z),X=Q?E1:0;function Z(W,G){if(r){let H=Iz(z)===V6;if(W===H){var w=F6();j0(w),K.anchor=w,f0(!1),K.ensure(W,G),f0(!0);return}}K.ensure(W,G)}x1(()=>{var W=!1;if(J((G,w=!0)=>{W=!0,Z(w,G)}),!W)Z(!1,null)},X)}function UJ(z,J,Q){if(r)_0();var K=new O6(z),X=!s1();x1(()=>{var Z=J();if(X&&Z!==null&&typeof Z==="object")Z={};K.ensure(Z,Q)})}function z4(z,J,Q){if(!J||J===HK(String(Q??"")))return;let K,X=z.__svelte_meta?.loc;if(X)K=`near ${X.file}:${X.line}:${X.column}`;else if(c1?.[$1])K=`in ${c1[$1]}`;bQ(dz(K))}function VJ(z,J,Q=!1,K=!1,X=!1){var Z=z,W="";g(()=>{var G=J0;if(W===(W=J()??"")){if(r)_0();return}if(G.nodes_start!==null)ZJ(G.nodes_start,G.nodes_end),G.nodes_start=G.nodes_end=null;if(W==="")return;if(r){var w=B0.data,H=_0(),q=H;while(H!==null&&(H.nodeType!==A1||H.data!==""))q=H,H=e0(H);if(H===null)throw z8(),R6;if(m&&!X)z4(H.parentNode,w,W);p1(B0,q),Z=j0(H);return}var F=W+"";if(Q)F=`<svg>${F}</svg>`;else if(K)F=`<math>${F}</math>`;var B=i5(F);if(Q||K)B=r0(B);if(p1(r0(B),B.lastChild),Q||K)while(r0(B))Z.before(r0(B));else Z.before(B)})}function G8(z,J,...Q){var K=new O6(z);x1(()=>{let X=J()??null;if(m&&X==null)GQ();K.ensure(X,X&&((Z)=>X(Z,...Q)))},E1)}function b8(z,J){let Q=null,K=r;var X;if(r){Q=B0;var Z=r0(document.head);while(Z!==null&&(Z.nodeType!==A1||Z.data!==z))Z=e0(Z);if(Z===null)f0(!1);else{var W=e0(Z);Z.remove(),j0(W)}}if(!r)X=document.head.appendChild(d0());try{x1(()=>J(X),n8)}finally{if(K)f0(!0),j0(Q)}}function FJ(z,J){var Q=void 0,K;uz(()=>{if(Q!==(Q=J())){if(K)y0(K),K=null;if(Q)K=z1(()=>{V1(()=>Q(z))})}})}function LK(z){var J,Q,K="";if(typeof z=="string"||typeof z=="number")K+=z;else if(typeof z=="object")if(Array.isArray(z)){var X=z.length;for(J=0;J<X;J++)z[J]&&(Q=LK(z[J]))&&(K&&(K+=" "),K+=Q)}else for(Q in z)z[Q]&&(K&&(K+=" "),K+=Q);return K}function PK(){for(var z,J,Q=0,K="",X=arguments.length;Q<X;Q++)(z=arguments[Q])&&(J=LK(z))&&(K&&(K+=" "),K+=J);return K}function T8(z){if(typeof z==="object")return PK(z);else return z??""}var IK=[...` 46 - \r\fย \v\uFEFF`];function DK(z,J,Q){var K=z==null?"":""+z;if(J)K=K?K+" "+J:J;if(Q){for(var X in Q)if(Q[X])K=K?K+" "+X:X;else if(K.length){var Z=X.length,W=0;while((W=K.indexOf(X,W))>=0){var G=W+Z;if((W===0||IK.includes(K[W-1]))&&(G===K.length||IK.includes(K[G])))K=(W===0?"":K.substring(0,W))+K.substring(G+1);else W=G}}}return K===""?null:K}function SK(z,J=!1){var Q=J?" !important;":";",K="";for(var X in z){var Z=z[X];if(Z!=null&&Z!=="")K+=" "+X+": "+Z+Q}return K}function qJ(z){if(z[0]!=="-"||z[1]!=="-")return z.toLowerCase();return z}function RK(z,J){if(J){var Q="",K,X;if(Array.isArray(J))K=J[0],X=J[1];else K=J;if(z){z=String(z).replaceAll(/\s*\/\*.*?\*\/\s*/g,"").trim();var Z=!1,W=0,G=!1,w=[];if(K)w.push(...Object.keys(K).map(qJ));if(X)w.push(...Object.keys(X).map(qJ));var H=0,q=-1;let P=z.length;for(var F=0;F<P;F++){var B=z[F];if(G){if(B==="/"&&z[F-1]==="*")G=!1}else if(Z){if(Z===B)Z=!1}else if(B==="/"&&z[F+1]==="*")G=!0;else if(B==='"'||B==="'")Z=B;else if(B==="(")W++;else if(B===")")W--;if(!G&&Z===!1&&W===0){if(B===":"&&q===-1)q=F;else if(B===";"||F===P-1){if(q!==-1){var U=qJ(z.substring(H,q).trim());if(!w.includes(U)){if(B!==";")F++;var M=z.substring(H,F).trim();Q+=" "+M+";"}}H=F+1,q=-1}}}}if(K)Q+=SK(K);if(X)Q+=SK(X,!0);return Q=Q.trim(),Q===""?null:Q}return z==null?null:String(z)}function X1(z,J,Q,K,X,Z){var W=z.__className;if(r||W!==Q||W===void 0){var G=DK(Q,K,Z);if(!r||G!==z.getAttribute("class"))if(G==null)z.removeAttribute("class");else if(J)z.className=G;else z.setAttribute("class",G);z.__className=Q}else if(Z&&X!==Z)for(var w in Z){var H=!!Z[w];if(X==null||H!==!!X[w])z.classList.toggle(w,H)}return Z}function MJ(z,J={},Q,K){for(var X in Q){var Z=Q[X];if(J[X]!==Z)if(Q[X]==null)z.style.removeProperty(X);else z.style.setProperty(X,Z,K)}}function c6(z,J,Q,K){var X=z.__style;if(r||X!==J){var Z=RK(J,K);if(!r||Z!==z.getAttribute("style"))if(Z==null)z.removeAttribute("style");else z.style.cssText=Z;z.__style=J}else if(K)if(Array.isArray(K))MJ(z,Q?.[0],K[0]),MJ(z,Q?.[1],K[1],"important");else MJ(z,Q,K);return K}function w5(z,J,Q=!1){if(z.multiple){if(J==null)return;if(!w6(J))return EQ();for(var K of z.options)K.selected=J.includes(_5(K));return}for(K of z.options){var X=_5(K);if(fz(X,J)){K.selected=!0;return}}if(!Q||J!==void 0)z.selectedIndex=-1}function _z(z){var J=new MutationObserver(()=>{w5(z,z.__value)});J.observe(z,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),K1(()=>{J.disconnect()})}function CJ(z,J,Q=J){var K=new WeakSet,X=!0;$5(z,"change",(Z)=>{var W=Z?"[selected]":":checked",G;if(z.multiple)G=[].map.call(z.querySelectorAll(W),_5);else{var w=z.querySelector(W)??z.querySelector("option:not([disabled])");G=w&&_5(w)}if(Q(G),w0!==null)K.add(w0)}),V1(()=>{var Z=J();if(z===document.activeElement){var W=I8??w0;if(K.has(W))return}if(w5(z,Z,X),X&&Z===void 0){var G=z.querySelector(":checked");if(G!==null)Z=_5(G),Q(Z)}z.__value=Z,X=!1}),_z(z)}function _5(z){if("__value"in z)return z.__value;else return z.value}var U5=Symbol("class"),V5=Symbol("style"),NK=Symbol("is custom element"),kK=Symbol("is html");function $0(z){if(!r)return;var J=!1,Q=()=>{if(J)return;if(J=!0,z.hasAttribute("value")){var K=z.value;d(z,"value",null),z.value=K}if(z.hasAttribute("checked")){var X=z.checked;d(z,"checked",null),z.checked=X}};z.__on_r=Q,p0(Q),$z()}function Y6(z,J){var Q=OJ(z);if(Q.value===(Q.value=J??void 0)||z.value===J&&(J!==0||z.nodeName!=="PROGRESS"))return;z.value=J??""}function bK(z,J){if(J){if(!z.hasAttribute("selected"))z.setAttribute("selected","")}else z.removeAttribute("selected")}function d(z,J,Q,K){var X=OJ(z);if(r){if(X[J]=z.getAttribute(J),J==="src"||J==="srcset"||J==="href"&&z.nodeName==="LINK"){if(!K)Z4(z,J,Q??"");return}}if(X[J]===(X[J]=Q))return;if(J==="loading")z[e7]=Q;if(Q==null)z.removeAttribute(J);else if(typeof Q!=="string"&&TK(z).includes(J))z[J]=Q;else z.setAttribute(J,Q)}function K4(z,J,Q,K,X=!1,Z=!1){if(r&&X&&z.tagName==="INPUT"){var W=z,G=W.type==="checkbox"?"defaultChecked":"defaultValue";if(!(G in Q))$0(W)}var w=OJ(z),H=w[NK],q=!w[kK];let F=r&&H;if(F)f0(!1);var B=J||{},U=z.tagName==="OPTION";for(var M in J)if(!(M in Q))Q[M]=null;if(Q.class)Q.class=T8(Q.class);else if(K||Q[U5])Q.class=null;if(Q[V5])Q.style??=null;var P=TK(z);for(let b in Q){let A=Q[b];if(U&&b==="value"&&A==null){z.value=z.__value="",B[b]=A;continue}if(b==="class"){var O=z.namespaceURI==="http://www.w3.org/1999/xhtml";X1(z,O,A,K,J?.[U5],Q[U5]),B[b]=A,B[U5]=Q[U5];continue}if(b==="style"){c6(z,A,J?.[V5],Q[V5]),B[b]=A,B[V5]=Q[V5];continue}var j=B[b];if(A===j&&!(A===void 0&&z.hasAttribute(b)))continue;B[b]=A;var T=b[0]+b[1];if(T==="$$")continue;if(T==="on"){let k={},$="$$"+b,v=b.slice(2);var E=UK(v);if(wK(v))v=v.slice(0,-7),k.capture=!0;if(!E&&j){if(A!=null)continue;z.removeEventListener(v,B[$],k),B[$]=null}if(A!=null)if(!E){let l=function(n){B[b].call(this,n)};B[$]=WJ(v,z,l,k)}else z[`__${v}`]=A,I0([v]);else if(E)z[`__${v}`]=void 0}else if(b==="style")d(z,b,A);else if(b==="autofocus")N8(z,Boolean(A));else if(!H&&(b==="__value"||b==="value"&&A!=null))z.value=z.__value=A;else if(b==="selected"&&U)bK(z,A);else{var N=b;if(!q)N=VK(N);var y=N==="defaultValue"||N==="defaultChecked";if(A==null&&!H&&!y)if(w[b]=null,N==="value"||N==="checked"){let k=z,$=J===void 0;if(N==="value"){let v=k.defaultValue;k.removeAttribute(N),k.defaultValue=v,k.value=k.__value=$?v:null}else{let v=k.defaultChecked;k.removeAttribute(N),k.defaultChecked=v,k.checked=$?v:!1}}else z.removeAttribute(b);else if(y||P.includes(N)&&(H||typeof A!=="string")){if(z[N]=A,N in w)w[N]=E0}else if(typeof A!=="function")d(z,N,A,Z)}}if(F)f0(!0);return B}function cz(z,J,Q=[],K=[],X=[],Z,W=!1,G=!1){Z5(X,Q,K,(w)=>{var H=void 0,q={},F=z.nodeName==="SELECT",B=!1;if(uz(()=>{var M=J(...w.map(Y)),P=K4(z,H,M,Z,W,G);if(B&&F&&"value"in M)w5(z,M.value);for(let j of Object.getOwnPropertySymbols(q))if(!M[j])y0(q[j]);for(let j of Object.getOwnPropertySymbols(M)){var O=M[j];if(j.description===T9&&(!H||O!==H[j])){if(q[j])y0(q[j]);q[j]=z1(()=>FJ(z,()=>O))}P[j]=O}H=P}),F){var U=z;V1(()=>{w5(U,H.value,!0),_z(U)})}B=!0})}function OJ(z){return z.__attributes??={[NK]:z.nodeName.includes("-"),[kK]:z.namespaceURI===AQ}}var jK=new Map;function TK(z){var J=z.getAttribute("is")||z.nodeName,Q=jK.get(J);if(Q)return Q;jK.set(J,Q=[]);var K,X=z,Z=Element.prototype;while(Z!==X){K=Mz(X);for(var W in K)if(K[W].set)Q.push(W);X=q8(X)}return Q}function Z4(z,J,Q){if(!m)return;if(J==="srcset"&&X4(z,Q))return;if(xJ(z.getAttribute(J)??"",Q))return;kQ(J,z.outerHTML.replace(z.innerHTML,z.innerHTML&&"..."),String(Q))}function xJ(z,J){if(z===J)return!0;return new URL(z,document.baseURI).href===new URL(J,document.baseURI).href}function AK(z){return z.split(",").map((J)=>J.trim().split(" ").filter(Boolean))}function X4(z,J){var Q=AK(z.srcset),K=AK(J);return K.length===Q.length&&K.every(([X,Z],W)=>Z===Q[W][1]&&(xJ(Q[W][0],X)||xJ(X,Q[W][0])))}function P1(z,J,Q=J){var K=new WeakSet;if($5(z,"input",async(X)=>{if(m&&z.type==="checkbox")A9();var Z=X?z.defaultValue:z.value;if(Z=PJ(z)?IJ(Z):Z,Q(Z),w0!==null)K.add(w0);if(await y5(),Z!==(Z=J())){var{selectionStart:W,selectionEnd:G}=z,w=z.value.length;if(z.value=Z??"",G!==null){var H=z.value.length;if(W===G&&G===w&&H>w)z.selectionStart=H,z.selectionEnd=H;else z.selectionStart=W,z.selectionEnd=Math.min(G,H)}}}),r&&z.defaultValue!==z.value||b0(J)==null&&z.value){if(Q(PJ(z)?IJ(z.value):z.value),w0!==null)K.add(w0)}w1(()=>{if(m&&z.type==="checkbox")A9();var X=J();if(z===document.activeElement){var Z=I8??w0;if(K.has(Z))return}if(PJ(z)&&X===IJ(z.value))return;if(z.type==="date"&&!X&&!z.value)return;if(X!==z.value)z.value=X??""})}var LJ=new Set;function c5(z,J,Q,K,X=K){var Z=Q.getAttribute("type")==="checkbox",W=z;let G=!1;if(J!==null)for(var w of J)W=W[w]??=[];if(W.push(Q),$5(Q,"change",()=>{var H=Q.__value;if(Z)H=EK(W,H,Q.checked);X(H)},()=>X(Z?[]:null)),w1(()=>{var H=K();if(r&&Q.defaultChecked!==Q.checked){G=!0;return}if(Z)H=H||[],Q.checked=H.includes(Q.__value);else Q.checked=fz(Q.__value,H)}),K1(()=>{var H=W.indexOf(Q);if(H!==-1)W.splice(H,1)}),!LJ.has(W))LJ.add(W),p0(()=>{W.sort((H,q)=>H.compareDocumentPosition(q)===4?-1:1),LJ.delete(W)});p0(()=>{if(G){var H;if(Z)H=EK(W,H,Q.checked);else{var q=W.find((F)=>F.checked);H=q?.__value}X(H)}})}function EK(z,J,Q){var K=new Set;for(var X=0;X<z.length;X+=1)if(z[X].checked)K.add(z[X].__value);if(!Q)K.delete(J);return Array.from(K)}function PJ(z){var J=z.type;return J==="number"||J==="range"}function IJ(z){return z===""?null:+z}class SJ{#z=new WeakMap;#J;#Q;static entries=new WeakMap;constructor(z){this.#Q=z}observe(z,J){var Q=this.#z.get(z)||new Set;return Q.add(J),this.#z.set(z,Q),this.#K().observe(z,this.#Q),()=>{var K=this.#z.get(z);if(K.delete(J),K.size===0)this.#z.delete(z),this.#J.unobserve(z)}}#K(){return this.#J??(this.#J=new ResizeObserver((z)=>{for(var J of z){SJ.entries.set(J.target,J);for(var Q of this.#z.get(J.target)||[])Q(J)}}))}}var Y4=new SJ({box:"border-box"});function DJ(z,J,Q){var K=Y4.observe(z,()=>Q(z[J]));V1(()=>{return b0(()=>Q(z[J])),K})}function yK(z,J){return z===J||z?.[Q1]===J}function t1(z={},J,Q,K){return V1(()=>{var X,Z;return w1(()=>{X=Z,Z=K?.()||[],b0(()=>{if(z!==Q(...Z)){if(J(z,...Z),X&&yK(Q(...X),z))J(null,...X)}})}),()=>{p0(()=>{if(Z&&yK(Q(...Z),z))J(null,...Z)})}}),z}function RJ(z=!1){let J=L0,Q=J.l.u;if(!Q)return;let K=()=>pz(J.s);if(z){let X=0,Z={},W=X8(()=>{let G=!1,w=J.s;for(let H in w)if(w[H]!==Z[H])Z[H]=w[H],G=!0;if(G)X++;return X});K=()=>Y(W)}if(Q.b.length)u5(()=>{vK(J,K),o8(Q.b)});if(Z1(()=>{let X=b0(()=>Q.m.map(t7));return()=>{for(let Z of X)if(typeof Z==="function")Z()}}),Q.a.length)Z1(()=>{vK(J,K),o8(Q.a)})}function vK(z,J){if(z.l.s)for(let Q of z.l.s)Y(Q);J()}var oz=!1,Gq=Symbol();function jJ(z){var J=oz;try{return oz=!1,[z(),oz]}finally{oz=J}}var B4={get(z,J){if(z.exclude.includes(J))return;return z.props[J]},set(z,J){if(m)HQ(`${z.name}.${String(J)}`);return!1},getOwnPropertyDescriptor(z,J){if(z.exclude.includes(J))return;if(J in z.props)return{enumerable:!0,configurable:!0,value:z.props[J]}},has(z,J){if(z.exclude.includes(J))return!1;return J in z.props},ownKeys(z){return Reflect.ownKeys(z.props).filter((J)=>!z.exclude.includes(J))}};function s6(z,J,Q){return new Proxy(m?{props:z,exclude:J,name:Q,other:{},to_proxy:[]}:{props:z,exclude:J},B4)}var H4={get(z,J){let Q=z.props.length;while(Q--){let K=z.props[Q];if(M8(K))K=K();if(typeof K==="object"&&K!==null&&J in K)return K[J]}},set(z,J,Q){let K=z.props.length;while(K--){let X=z.props[K];if(M8(X))X=X();let Z=D1(X,J);if(Z&&Z.set)return Z.set(Q),!0}return!1},getOwnPropertyDescriptor(z,J){let Q=z.props.length;while(Q--){let K=z.props[Q];if(M8(K))K=K();if(typeof K==="object"&&K!==null&&J in K){let X=D1(K,J);if(X&&!X.configurable)X.configurable=!0;return X}}},has(z,J){if(J===Q1||J===t8)return!1;for(let Q of z.props){if(M8(Q))Q=Q();if(Q!=null&&J in Q)return!0}return!1},ownKeys(z){let J=[];for(let Q of z.props){if(M8(Q))Q=Q();if(!Q)continue;for(let K in Q)if(!J.includes(K))J.push(K);for(let K of Object.getOwnPropertySymbols(Q))if(!J.includes(K))J.push(K)}return J}};function AJ(...z){return new Proxy({props:z},H4)}function R0(z,J,Q,K){var X=!l6||(Q&LQ)!==0,Z=(Q&IQ)!==0,W=(Q&SQ)!==0,G=K,w=!0,H=()=>{if(w)w=!1,G=W?b0(K):K;return G},q;if(Z){var F=Q1 in z||t8 in z;q=D1(z,J)?.set??(F&&J in z?(E)=>z[J]=E:void 0)}var B,U=!1;if(Z)[B,U]=jJ(()=>z[J]);else B=z[J];if(B===void 0&&K!==void 0){if(B=H(),q){if(X)BQ(J);q(B)}}var M;if(X)M=()=>{var E=z[J];if(E===void 0)return H();return w=!0,E};else M=()=>{var E=z[J];if(E!==void 0)G=void 0;return E===void 0?G:E};if(X&&(Q&PQ)===0)return M;if(q){var P=z.$$legacy;return function(E,N){if(arguments.length>0){if(!X||!N||P||U)q(N?M():E);return E}return M()}}var O=!1,j=((Q&OQ)!==0?X8:D8)(()=>{return O=!1,M()});if(m)j.label=J;if(Z)Y(j);var T=J0;return function(E,N){if(arguments.length>0){let y=N?Y(j):X&&Z?x0(E):E;if(R(j,y),O=!0,G!==void 0)G=y;return E}if(x6&&O||(T.f&T1)!==0)return j.v;return Y(j)}}function gK(z){return new hK(z)}class hK{#z;#J;constructor(z){var J=new Map,Q=(X,Z)=>{var W=i6(Z,!1,!1);return J.set(X,W),W};let K=new Proxy({...z.props||{},$$events:{}},{get(X,Z){return Y(J.get(Z)??Q(Z,Reflect.get(X,Z)))},has(X,Z){if(Z===t8)return!0;return Y(J.get(Z)??Q(Z,Reflect.get(X,Z))),Reflect.has(X,Z)},set(X,Z,W){return R(J.get(Z)??Q(Z,W),W),Reflect.set(X,Z,W)}});if(this.#J=(z.hydrate?BJ:H5)(z.component,{target:z.target,anchor:z.anchor,props:K,context:z.context,intro:z.intro??!1,recover:z.recover}),!N1&&(!z?.props?.$$host||z.sync===!1))K8();this.#z=K.$$events;for(let X of Object.keys(this.#J)){if(X==="$set"||X==="$destroy"||X==="$on")continue;q1(this,X,{get(){return this.#J[X]},set(Z){this.#J[X]=Z},enumerable:!0})}this.#J.$set=(X)=>{Object.assign(K,X)},this.#J.$destroy=()=>{HJ(this.#J)}}$set(z){this.#J.$set(z)}$on(z,J){this.#z[z]=this.#z[z]||[];let Q=(...K)=>J.call(this,...K);return this.#z[z].push(Q),()=>{this.#z[z]=this.#z[z].filter((K)=>K!==Q)}}$destroy(){this.#J.$destroy()}}var x4;if(typeof HTMLElement==="function")x4=class extends HTMLElement{$$ctor;$$s;$$c;$$cn=!1;$$d={};$$r=!1;$$p_d={};$$l={};$$l_u=new Map;$$me;constructor(z,J,Q){super();if(this.$$ctor=z,this.$$s=J,Q)this.attachShadow({mode:"open"})}addEventListener(z,J,Q){if(this.$$l[z]=this.$$l[z]||[],this.$$l[z].push(J),this.$$c){let K=this.$$c.$on(z,J);this.$$l_u.set(J,K)}super.addEventListener(z,J,Q)}removeEventListener(z,J,Q){if(super.removeEventListener(z,J,Q),this.$$c){let K=this.$$l_u.get(J);if(K)K(),this.$$l_u.delete(J)}}async connectedCallback(){if(this.$$cn=!0,!this.$$c){let z=function(K){return(X)=>{let Z=document.createElement("slot");if(K!=="default")Z.name=K;V(X,Z)}};if(await Promise.resolve(),!this.$$cn||this.$$c)return;let J={},Q=O4(this);for(let K of this.$$s)if(K in Q)if(K==="default"&&!this.$$d.children)this.$$d.children=z(K),J.default=!0;else J[K]=z(K);for(let K of this.attributes){let X=this.$$g_p(K.name);if(!(X in this.$$d))this.$$d[X]=NJ(X,K.value,this.$$p_d,"toProp")}for(let K in this.$$p_d)if(!(K in this.$$d)&&this[K]!==void 0)this.$$d[K]=this[K],delete this[K];this.$$c=gK({component:this.$$ctor,target:this.shadowRoot||this,props:{...this.$$d,$$slots:J,$$host:this}}),this.$$me=JJ(()=>{w1(()=>{this.$$r=!0;for(let K of I9(this.$$c)){if(!this.$$p_d[K]?.reflect)continue;this.$$d[K]=this.$$c[K];let X=NJ(K,this.$$d[K],this.$$p_d,"toAttribute");if(X==null)this.removeAttribute(this.$$p_d[K].attribute||K);else this.setAttribute(this.$$p_d[K].attribute||K,X)}this.$$r=!1})});for(let K in this.$$l)for(let X of this.$$l[K]){let Z=this.$$c.$on(K,X);this.$$l_u.set(X,Z)}this.$$l={}}}attributeChangedCallback(z,J,Q){if(this.$$r)return;z=this.$$g_p(z),this.$$d[z]=NJ(z,Q,this.$$p_d,"toProp"),this.$$c?.$set({[z]:this.$$d[z]})}disconnectedCallback(){this.$$cn=!1,Promise.resolve().then(()=>{if(!this.$$cn&&this.$$c)this.$$c.$destroy(),this.$$me(),this.$$c=void 0})}$$g_p(z){return I9(this.$$p_d).find((J)=>this.$$p_d[J].attribute===z||!this.$$p_d[J].attribute&&J.toLowerCase()===z)||z}};function NJ(z,J,Q,K){let X=Q[z]?.type;if(J=X==="Boolean"&&typeof J!=="boolean"?J!=null:J,!K||!Q[z])return J;else if(K==="toAttribute")switch(X){case"Object":case"Array":return J==null?null:JSON.stringify(J);case"Boolean":return J?"":null;case"Number":return J==null?null:J;default:return J}else switch(X){case"Object":case"Array":return J&&JSON.parse(J);case"Boolean":return J;case"Number":return J!=null?+J:J;default:return J}}function O4(z){let J={};return z.childNodes.forEach((Q)=>{J[Q.slot||"default"]=!0}),J}if(m){let z=function(J){if(!(J in globalThis)){let Q;Object.defineProperty(globalThis,J,{configurable:!0,get:()=>{if(Q!==void 0)return Q;wQ(J)},set:(K)=>{Q=K}})}};z("$state"),z("$effect"),z("$derived"),z("$inspect"),z("$props"),z("$bindable")}class kJ{cache;prepareCache(){if(!this.cache){let z=localStorage.getItem("handleCache");this.cache=z?JSON.parse(z):{}}}saveCache(){localStorage.setItem("handleCache",JSON.stringify(this.cache))}getHandleDid(z){return this.prepareCache(),this.cache[z]}setHandleDid(z,J){this.prepareCache(),this.cache[z]=J,this.saveCache()}findHandleByDid(z){this.prepareCache();let J=Object.entries(this.cache).find((Q)=>Q[1]==z);return J?J[0]:void 0}}class o6 extends Error{code;json;constructor(z,J){super("APIError status "+z+` 44 + `)}}function pQ(z){let J=f7.get(z);if(J)V1(z,"message",{value:J.message}),V1(z,"stack",{value:J.stack})}var e6=new Set,F0=null,I6=null,Y1=null,Q5=[],N8=null,m7=!1,z6=!1;class _0{committed=!1;current=new Map;previous=new Map;#z=new Set;#J=new Set;#Q=0;#K=0;#w=null;#X=[];#Z=[];skipped_effects=new Set;is_fork=!1;is_deferred(){return this.is_fork||this.#K>0}process(z){Q5=[],I6=null,this.apply();var J={parent:null,effect:null,effects:[],render_effects:[],block_effects:[]};for(let Q of z)this.#W(Q,J);if(!this.is_fork)this.#B();if(this.is_deferred())this.#Y(J.effects),this.#Y(J.render_effects),this.#Y(J.block_effects);else I6=this,F0=null,dQ(J.render_effects),dQ(J.effects),I6=null,this.#w?.resolve();Y1=null}#W(z,J){z.f^=$0;var Q=z.first;while(Q!==null){var K=Q.f,Z=(K&(N1|e1))!==0,X=Z&&(K&$0)!==0,W=X||(K&j1)!==0||this.skipped_effects.has(Q);if((Q.f&C6)!==0&&Q.b?.is_pending())J={parent:J,effect:Q,effects:[],render_effects:[],block_effects:[]};if(!W&&Q.fn!==null){if(Z)Q.f^=$0;else if((K&s6)!==0)J.effects.push(Q);else if(R1&&(K&(x6|o6))!==0)J.render_effects.push(Q);else if(K6(Q)){if((Q.f&f1)!==0)J.block_effects.push(Q);J6(Q)}var w=Q.first;if(w!==null){Q=w;continue}}var H=Q.parent;Q=Q.next;while(Q===null&&H!==null){if(H===J.effect)this.#Y(J.effects),this.#Y(J.render_effects),this.#Y(J.block_effects),J=J.parent;Q=H.next,H=H.parent}}}#Y(z){for(let J of z)((J.f&p0)!==0?this.#X:this.#Z).push(J),this.#G(J.deps),i0(J,$0)}#G(z){if(z===null)return;for(let J of z){if((J.f&g0)===0||(J.f&z5)===0)continue;J.f^=z5,this.#G(J.deps)}}capture(z,J){if(!this.previous.has(z))this.previous.set(z,J);if((z.f&J5)===0)this.current.set(z,z.v),Y1?.set(z,z.v)}activate(){F0=this,this.apply()}deactivate(){if(F0!==this)return;F0=null,Y1=null}flush(){if(this.activate(),Q5.length>0){if($7(),F0!==null&&F0!==this)return}else if(this.#Q===0)this.process([]);this.deactivate()}discard(){for(let z of this.#J)z(this);this.#J.clear()}#B(){if(this.#K===0){for(let z of this.#z)z();this.#z.clear()}if(this.#Q===0)this.#H()}#H(){if(e6.size>1){this.previous.clear();var z=Y1,J=!0,Q={parent:null,effect:null,effects:[],render_effects:[],block_effects:[]};for(let Z of e6){if(Z===this){J=!1;continue}let X=[];for(let[w,H]of this.current){if(Z.current.has(w))if(J&&H!==Z.current.get(w))Z.current.set(w,H);else continue;X.push(w)}if(X.length===0)continue;let W=[...Z.current.keys()].filter((w)=>!this.current.has(w));if(W.length>0){var K=Q5;Q5=[];let w=new Set,H=new Map;for(let B of X)iQ(B,W,w,H);if(Q5.length>0){F0=Z,Z.apply();for(let B of Q5)Z.#W(B,Q);Z.deactivate()}Q5=K}}F0=null,Y1=z}this.committed=!0,e6.delete(this)}increment(z){if(this.#Q+=1,z)this.#K+=1}decrement(z){if(this.#Q-=1,z)this.#K-=1;this.revive()}revive(){for(let z of this.#X)i0(z,p0),A5(z);for(let z of this.#Z)i0(z,S1),A5(z);this.#X=[],this.#Z=[],this.flush()}oncommit(z){this.#z.add(z)}ondiscard(z){this.#J.add(z)}settled(){return(this.#w??=x8()).promise}static ensure(){if(F0===null){let z=F0=new _0;if(e6.add(F0),!z6)_0.enqueue(()=>{if(F0!==z)return;z.flush()})}return F0}static enqueue(z){u0(z)}apply(){if(!R1||!this.is_fork&&e6.size===1)return;Y1=new Map(this.current);for(let z of e6){if(z===this)continue;for(let[J,Q]of z.previous)if(!Y1.has(J))Y1.set(J,Q)}}}function Q6(z){var J=z6;z6=!0;try{var Q;if(z){if(F0!==null)$7();Q=z()}while(!0){if(lQ(),Q5.length===0){if(F0?.flush(),Q5.length===0)return N8=null,Q}$7()}}finally{z6=J}}function $7(){var z=k5;m7=!0;var J=f?new Set:null;try{var Q=0;zz(!0);while(Q5.length>0){var K=_0.ensure();if(Q++>1000){if(f){var Z=new Map;for(let W of K.current.keys())for(let[w,H]of W.updated??[]){var X=Z.get(w);if(!X)X={error:H.error,count:0},Z.set(w,X);X.count+=H.count}for(let W of Z.values())if(W.error)console.error(W.error)}bK()}if(K.process(Q5),N5.clear(),f)for(let W of K.current.keys())J.add(W)}}finally{if(m7=!1,zz(z),N8=null,f)for(let W of J)W.updated=null}}function bK(){try{WQ()}catch(z){if(f)V1(z,"stack",{value:""});R5(z,N8)}}var K5=null;function dQ(z){var J=z.length;if(J===0)return;var Q=0;while(Q<J){var K=z[Q++];if((K.f&(b1|j1))===0&&K6(K)){if(K5=new Set,J6(K),K.deps===null&&K.first===null&&K.nodes_start===null)if(K.teardown===null&&K.ac===null)u7(K);else K.fn=null;if(K5?.size>0){N5.clear();for(let Z of K5){if((Z.f&(b1|j1))!==0)continue;let X=[Z],W=Z.parent;while(W!==null){if(K5.has(W))K5.delete(W),X.push(W);W=W.parent}for(let w=X.length-1;w>=0;w--){let H=X[w];if((H.f&(b1|j1))!==0)continue;J6(H)}}K5.clear()}}}K5=null}function iQ(z,J,Q,K){if(Q.has(z))return;if(Q.add(z),z.reactions!==null)for(let Z of z.reactions){let X=Z.f;if((X&g0)!==0)iQ(Z,J,Q,K);else if((X&(m5|f1))!==0&&(X&p0)===0&&_Q(Z,J,K))i0(Z,p0),A5(Z)}}function _Q(z,J,Q){let K=Q.get(z);if(K!==void 0)return K;if(z.deps!==null)for(let Z of z.deps){if(J.includes(Z))return!0;if((Z.f&g0)!==0&&_Q(Z,J,Q))return Q.set(Z,!0),!0}return Q.set(z,!1),!1}function A5(z){var J=N8=z;while(J.parent!==null){J=J.parent;var Q=J.f;if(m7&&J===K0&&(Q&f1)!==0&&(Q&a6)===0)return;if((Q&(e1|N1))!==0){if((Q&$0)===0)return;J.f^=$0}}Q5.push(J)}function sQ(z){let J=0,Q=w1(0),K;if(f)$1(Q,"createSubscriber version");return()=>{if(j5())Y(Q),G1(()=>{if(J===0)K=b0(()=>z(()=>S6(Q)));return J+=1,()=>{u0(()=>{if(J-=1,J===0)K?.(),K=void 0,S6(Q)})}})}}var EK=T1|L5|C6;function l7(z,J,Q){new p7(z,J,Q)}class p7{parent;#z=!1;#J;#Q=r?U0:null;#K;#w;#X;#Z=null;#W=null;#Y=null;#G=null;#B=null;#H=0;#V=0;#q=!1;#U=null;#O=sQ(()=>{if(this.#U=w1(this.#H),f)$1(this.#U,"$effect.pending()");return()=>{this.#U=null}});constructor(z,J,Q){if(this.#J=z,this.#K=J,this.#w=Q,this.parent=K0.b,this.#z=!!this.#K.pending,this.#X=M1(()=>{if(K0.b=this,r){let Z=this.#Q;if(d0(),Z.nodeType===D1&&Z.data===B5)this.#L();else this.#P()}else{var K=this.#x();try{this.#Z=r0(()=>Q(K))}catch(Z){this.error(Z)}if(this.#V>0)this.#M();else this.#z=!1}return()=>{this.#B?.remove()}},EK),r)this.#J=U0}#P(){try{this.#Z=r0(()=>this.#w(this.#J))}catch(z){this.error(z)}this.#z=!1}#L(){let z=this.#K.pending;if(!z)return;this.#W=r0(()=>z(this.#J)),_0.enqueue(()=>{var J=this.#x();if(this.#Z=this.#F(()=>{return _0.ensure(),r0(()=>this.#w(J))}),this.#V>0)this.#M();else d5(this.#W,()=>{this.#W=null}),this.#z=!1})}#x(){var z=this.#J;if(this.#z)this.#B=l0(),this.#J.before(this.#B),z=this.#B;return z}is_pending(){return this.#z||!!this.parent&&this.parent.is_pending()}has_pending_snippet(){return!!this.#K.pending}#F(z){var J=K0,Q=Y0,K=L0;B1(this.#X),c0(this.#X),p5(this.#X.ctx);try{return z()}catch(Z){return A8(Z),null}finally{B1(J),c0(Q),p5(K)}}#M(){let z=this.#K.pending;if(this.#Z!==null)this.#G=document.createDocumentFragment(),this.#G.append(this.#B),T8(this.#Z,this.#G);if(this.#W===null)this.#W=r0(()=>z(this.#J))}#C(z){if(!this.has_pending_snippet()){if(this.parent)this.parent.#C(z);return}if(this.#V+=z,this.#V===0){if(this.#z=!1,this.#W)d5(this.#W,()=>{this.#W=null});if(this.#G)this.#J.before(this.#G),this.#G=null}}update_pending_count(z){if(this.#C(z),this.#H+=z,this.#U)u1(this.#U,this.#H)}get_effect_pending(){return this.#O(),Y(this.#U)}error(z){var J=this.#K.onerror;let Q=this.#K.failed;if(this.#q||!J&&!Q)throw z;if(this.#Z)y0(this.#Z),this.#Z=null;if(this.#W)y0(this.#W),this.#W=null;if(this.#Y)y0(this.#Y),this.#Y=null;if(r)R0(this.#Q),J1(),R0(H5());var K=!1,Z=!1;let X=()=>{if(K){vQ();return}if(K=!0,Z)MQ();if(_0.ensure(),this.#H=0,this.#Y!==null)d5(this.#Y,()=>{this.#Y=null});if(this.#z=this.has_pending_snippet(),this.#Z=this.#F(()=>{return this.#q=!1,r0(()=>this.#w(this.#J))}),this.#V>0)this.#M();else this.#z=!1};var W=Y0;try{c0(null),Z=!0,J?.(z,X),Z=!1}catch(w){R5(w,this.#X&&this.#X.parent)}finally{c0(W)}if(Q)u0(()=>{this.#Y=this.#F(()=>{_0.ensure(),this.#q=!0;try{return r0(()=>{Q(this.#J,()=>z,()=>X)})}catch(w){return R5(w,this.#X.parent),null}finally{this.#q=!1}})})}}var Jz=null;function x1(z,J){return J}function yK(z,J,Q){var K=[],Z=J.length;for(var X=0;X<Z;X++)y8(J[X].e,K,!0);i7(K,()=>{var W=K.length===0&&Q!==null;if(W){var w=Q,H=w.parentNode;yz(H),H.append(w),z.items.clear(),q5(z,J[0].prev,J[Z-1].next)}for(var B=0;B<Z;B++){var F=J[B];if(!W)z.items.delete(F.k),q5(z,F.prev,F.next);y0(F.e,!W)}if(z.first===J[0])z.first=J[0].prev})}function A0(z,J,Q,K,Z,X=null){var W=z,w=new Map,H=null,B=(J&b7)!==0,F=(J&N7)!==0,q=(J&k7)!==0;if(B){var G=z;W=r?R0(s0(G)):G.appendChild(l0())}if(r)d0();var U=null,M=j6(()=>{var N=Q();return w5(N)?N:N==null?[]:Nz(N)}),I,O=!0;function A(){if(vK(y,I,W,J,K),U!==null)if(I.length===0){if(U.fragment)W.before(U.fragment),U.fragment=null;else vz(U.effect);T.first=U.effect}else d5(U.effect,()=>{U=null})}var T=M1(()=>{I=Y(M);var N=I.length;let E=!1;if(r){var b=I8(W)===B5;if(b!==(N===0))W=H5(),R0(W),h0(!1),E=!0}var R=new Set,k=F0,$=null,v=E8();for(var u=0;u<N;u+=1){if(r&&U0.nodeType===D1&&U0.data===P6)W=U0,E=!0,h0(!1);var n=I[u],o=K(n,u),i=O?null:w.get(o);if(i){if(F)u1(i.v,n);if(q)u1(i.i,u);else i.i=u;if(v)k.skipped_effects.delete(i.e)}else{if(i=gK(O?W:null,$,n,o,u,Z,J,Q),O){if(i.o=!0,$===null)H=i;else $.next=i;$=i}w.set(o,i)}R.add(o)}if(N===0&&X&&!U)if(O)U={fragment:null,effect:r0(()=>X(W))};else{var X0=document.createDocumentFragment(),Q0=l0();X0.append(Q0),U={fragment:X0,effect:r0(()=>X(Q0))}}if(r&&N>0)R0(H5());if(!O)if(v){for(let[q0,a]of w)if(!R.has(q0))k.skipped_effects.add(a.e);k.oncommit(A),k.ondiscard(()=>{})}else A();if(E)h0(!0);Y(M)}),y={effect:T,flags:J,items:w,first:H};if(O=!1,r)W=U0}function vK(z,J,Q,K,Z){var X=(K&xQ)!==0,W=J.length,w=z.items,H=z.first,B,F=null,q,G=[],U=[],M,I,O,A;if(X){for(A=0;A<W;A+=1)if(M=J[A],I=Z(M,A),O=w.get(I),O.o)O.a?.measure(),(q??=new Set).add(O)}for(A=0;A<W;A+=1){if(M=J[A],I=Z(M,A),O=w.get(I),z.first??=O,!O.o){O.o=!0;var T=F?F.next:H;q5(z,F,O),q5(z,O,T),d7(O,T,Q),F=O,G=[],U=[],H=F.next;continue}if((O.e.f&j1)!==0){if(vz(O.e),X)O.a?.unfix(),(q??=new Set).delete(O)}if(O!==H){if(B!==void 0&&B.has(O)){if(G.length<U.length){var y=U[0],N;F=y.prev;var E=G[0],b=G[G.length-1];for(N=0;N<G.length;N+=1)d7(G[N],y,Q);for(N=0;N<U.length;N+=1)B.delete(U[N]);q5(z,E.prev,b.next),q5(z,F,E),q5(z,b,y),H=y,F=b,A-=1,G=[],U=[]}else B.delete(O),d7(O,H,Q),q5(z,O.prev,O.next),q5(z,O,F===null?z.first:F.next),q5(z,F,O),F=O;continue}G=[],U=[];while(H!==null&&H.k!==I){if((H.e.f&j1)===0)(B??=new Set).add(H);U.push(H),H=H.next}if(H===null)continue;O=H}G.push(O),F=O,H=O.next}let R=w.size>W;if(H!==null||B!==void 0){var k=B===void 0?[]:Nz(B);while(H!==null){if((H.e.f&j1)===0)k.push(H);H=H.next}var $=k.length;if(R=w.size-$>W,$>0){var v=(K&b7)!==0&&W===0?Q:null;if(X){for(A=0;A<$;A+=1)k[A].a?.measure();for(A=0;A<$;A+=1)k[A].a?.fix()}yK(z,k,v)}}if(R){for(let u of w.values())if(!u.o)q5(z,F,u),F=u}if(z.effect.last=F&&F.e,X)u0(()=>{if(q===void 0)return;for(O of q)O.a?.apply()})}function gK(z,J,Q,K,Z,X,W,w){var H=Jz,B=(W&N7)!==0,F=(W&CQ)===0,q=B?F?i5(Q,!1,!1):w1(Q):Q,G=(W&k7)===0?Z:w1(Z);if(f&&B)q.trace=()=>{var I=typeof G==="number"?Z:G.v;w()[I]};var U={i:G,v:q,k:K,a:null,e:null,o:!1,prev:J,next:null};Jz=U;try{if(z===null){var M=document.createDocumentFragment();M.append(z=l0())}if(U.e=r0(()=>X(z,q,G,w)),J!==null)J.next=U;return U}finally{Jz=H}}function d7(z,J,Q){var K=z.next?z.next.e.nodes_start:Q,Z=J?J.e.nodes_start:Q,X=z.e.nodes_start;while(X!==null&&X!==K){var W=a0(X);Z.before(X),X=W}}function q5(z,J,Q){if(J===null)z.first=Q,z.effect.first=Q&&Q.e;else{if(J.e.next)J.e.next.prev=null;J.next=Q,J.e.next=Q&&Q.e}if(Q!==null){if(Q.e.prev)Q.e.prev.next=null;Q.prev=J,Q.e.prev=J&&J.e}}function Qz(z,J,Q,K){let Z=c1()?Z6:j6;if(Q.length===0&&z.length===0){K(J.map(Z));return}var X=F0,W=K0,w=_7();function H(){Promise.all(Q.map((B)=>s7(B))).then((B)=>{w();try{K([...J.map(Z),...B])}catch(F){if((W.f&b1)===0)R5(F,W)}X?.deactivate(),D6()}).catch((B)=>{R5(B,W)})}if(z.length>0)Promise.all(z).then(()=>{w();try{return H()}finally{X?.deactivate(),D6()}});else H()}function _7(){var z=K0,J=Y0,Q=L0,K=F0;if(f)var Z=V5;return function(W=!0){if(B1(z),c0(J),p5(Q),W)K?.activate();if(f)c7(null),t6(Z)}}function D6(){if(B1(null),c0(null),p5(null),f)c7(null),t6(null)}var Kz=null;function c7(z){Kz=z}var gz=new Set;function Z6(z){var J=g0|p0,Q=Y0!==null&&(Y0.f&g0)!==0?Y0:null;if(K0!==null)K0.f|=L5;let K={ctx:L0,deps:null,effects:null,equals:S8,f:J,fn:z,reactions:null,rv:0,v:E0,wv:0,parent:Q??K0,ac:null};if(f&&U5)K.created=D5("created at");return K}function s7(z,J){let Q=K0;if(Q===null)JQ();var K=Q.b,Z=void 0,X=w1(E0),W=!Y0,w=new Map;if(oQ(()=>{if(f)Kz=K0;var H=x8();Z=H.promise;try{Promise.resolve(z()).then(H.resolve,H.reject).then(()=>{if(B===F0&&B.committed)B.deactivate();D6()})}catch(G){H.reject(G),D6()}if(f)Kz=null;var B=F0;if(W){var F=!K.is_pending();K.update_pending_count(1),B.increment(F),w.get(B)?.reject(I5),w.delete(B),w.set(B,H)}let q=(G,U=void 0)=>{if(Kz=null,B.activate(),U){if(U!==I5)X.f|=J5,u1(X,U)}else{if((X.f&J5)!==0)X.f^=J5;u1(X,G);for(let[M,I]of w){if(w.delete(M),M===B)break;I.reject(I5)}if(f&&J!==void 0)gz.add(X),setTimeout(()=>{if(gz.has(X))NQ(X.label,J),gz.delete(X)})}if(W)K.update_pending_count(-1),B.decrement(F)};H.promise.then(q,(G)=>q(null,G||"unknown"))}),Q1(()=>{for(let H of w.values())H.reject(I5)}),f)X.f|=m5;return new Promise((H)=>{function B(F){function q(){if(F===Z)H(X);else B(Z)}F.then(q,q)}B(Z)})}function x0(z){let J=Z6(z);if(!R1)h8(J);return J}function j6(z){let J=Z6(z);return J.equals=j8,J}function v8(z){var J=z.effects;if(J!==null){z.effects=null;for(var Q=0;Q<J.length;Q+=1)y0(J[Q])}}var o7=[];function $K(z){var J=z.parent;while(J!==null){if((J.f&g0)===0)return(J.f&b1)===0?J:null;J=J.parent}return null}function hz(z){var J,Q=K0;if(B1($K(z)),f){let K=R6;k8(new Set);try{if(o7.includes(z))QQ();o7.push(z),z.f&=~z5,v8(z),J=g8(z)}finally{B1(Q),k8(K),o7.pop()}}else try{z.f&=~z5,v8(z),J=g8(z)}finally{B1(Q)}return J}function a7(z){var J=hz(z);if(!z.equals(J)){if(!F0?.is_fork)z.v=J;z.wv=fz()}if(F5)return;if(Y1!==null){if(j5()||F0?.is_fork)Y1.set(z,J)}else{var Q=(z.f&k1)===0?S1:$0;i0(z,Q)}}var R6=new Set,N5=new Map;function k8(z){R6=z}var r7=!1;function aQ(){r7=!0}function w1(z,J){var Q={f:0,v:z,reactions:null,equals:S8,rv:0,wv:0};if(f&&U5)Q.created=J??D5("created at"),Q.updated=null,Q.set_during_effect=!1,Q.trace=null;return Q}function m(z,J){let Q=w1(z,J);return h8(Q),Q}function i5(z,J=!1,Q=!0){let K=w1(z);if(!J)K.equals=j8;if(l5&&Q&&L0!==null&&L0.l!==null)(L0.l.s??=[]).push(K);return K}function D(z,J,Q=!1){if(Y0!==null&&(!o1||(Y0.f&O6)!==0)&&c1()&&(Y0.f&(g0|f1|m5|O6))!==0&&!b5?.includes(z))FQ();let K=Q?C0(J):J;if(f)D8(K,z.label);return u1(z,K)}function u1(z,J){if(!z.equals(J)){var Q=z.v;if(F5)N5.set(z,J);else N5.set(z,Q);z.v=J;var K=_0.ensure();if(K.capture(z,Q),f){if(U5||K0!==null){z.updated??=new Map;let Z=(z.updated.get("")?.count??0)+1;if(z.updated.set("",{error:null,count:Z}),U5||Z>5){let X=D5("updated at");if(X!==null){let W=z.updated.get(X.stack);if(!W)W={error:X,count:0},z.updated.set(X.stack,W);W.count++}}}if(K0!==null)z.set_during_effect=!0}if((z.f&g0)!==0){if((z.f&p0)!==0)hz(z);i0(z,(z.f&k1)!==0?$0:S1)}if(z.wv=fz(),rQ(z,p0),c1()&&K0!==null&&(K0.f&$0)!==0&&(K0.f&(N1|e1))===0)if(s1===null)nQ([z]);else s1.push(z);if(!K.is_fork&&R6.size>0&&!r7)b8()}return J}function b8(){r7=!1;var z=k5;zz(!0);let J=Array.from(R6);try{for(let Q of J){if((Q.f&$0)!==0)i0(Q,S1);if(K6(Q))J6(Q)}}finally{zz(z)}R6.clear()}function S6(z){D(z,z.v+1)}function rQ(z,J){var Q=z.reactions;if(Q===null)return;var K=c1(),Z=Q.length;for(var X=0;X<Z;X++){var W=Q[X],w=W.f;if(!K&&W===K0)continue;if(f&&(w&O6)!==0){R6.add(W);continue}var H=(w&p0)===0;if(H)i0(W,J);if((w&g0)!==0){var B=W;if(Y1?.delete(B),(w&z5)===0){if(w&k1)W.f|=z5;rQ(B,S1)}}else if(H){if((w&f1)!==0&&K5!==null)K5.add(W);A5(W)}}}var uK=/^[a-zA-Z_$][a-zA-Z_$0-9]*$/;function C0(z){if(typeof z!=="object"||z===null||z1 in z)return z;let J=F6(z);if(J!==S7&&J!==nJ)return z;var Q=new Map,K=w5(z),Z=m(0),X=f&&U5?D5("created at"):null,W=X6,w=(q)=>{if(X6===W)return q();var G=Y0,U=X6;c0(null),n7(W);var M=q();return c0(G),n7(U),M};if(K){if(Q.set("length",m(z.length,X)),f)z=pK(z)}var H="";let B=!1;function F(q){if(B)return;B=!0,H=q,$1(Z,`${H} version`);for(let[G,U]of Q)$1(U,A6(H,G));B=!1}return new Proxy(z,{defineProperty(q,G,U){if(!("value"in U)||U.configurable===!1||U.enumerable===!1||U.writable===!1)VQ();var M=Q.get(G);if(M===void 0)M=w(()=>{var I=m(U.value,X);if(Q.set(G,I),f&&typeof G==="string")$1(I,A6(H,G));return I});else D(M,U.value,!0);return!0},deleteProperty(q,G){var U=Q.get(G);if(U===void 0){if(G in q){let M=w(()=>m(E0,X));if(Q.set(G,M),S6(Z),f)$1(M,A6(H,G))}}else D(U,E0),S6(Z);return!0},get(q,G,U){if(G===z1)return z;if(f&&G===O8)return F;var M=Q.get(G),I=G in q;if(M===void 0&&(!I||I1(q,G)?.writable))M=w(()=>{var A=C0(I?q[G]:E0),T=m(A,X);if(f)$1(T,A6(H,G));return T}),Q.set(G,M);if(M!==void 0){var O=Y(M);return O===E0?void 0:O}return Reflect.get(q,G,U)},getOwnPropertyDescriptor(q,G){var U=Reflect.getOwnPropertyDescriptor(q,G);if(U&&"value"in U){var M=Q.get(G);if(M)U.value=Y(M)}else if(U===void 0){var I=Q.get(G),O=I?.v;if(I!==void 0&&O!==E0)return{enumerable:!0,configurable:!0,value:O,writable:!0}}return U},has(q,G){if(G===z1)return!0;var U=Q.get(G),M=U!==void 0&&U.v!==E0||Reflect.has(q,G);if(U!==void 0||K0!==null&&(!M||I1(q,G)?.writable)){if(U===void 0)U=w(()=>{var O=M?C0(q[G]):E0,A=m(O,X);if(f)$1(A,A6(H,G));return A}),Q.set(G,U);var I=Y(U);if(I===E0)return!1}return M},set(q,G,U,M){var I=Q.get(G),O=G in q;if(K&&G==="length")for(var A=U;A<I.v;A+=1){var T=Q.get(A+"");if(T!==void 0)D(T,E0);else if(A in q){if(T=w(()=>m(E0,X)),Q.set(A+"",T),f)$1(T,A6(H,A))}}if(I===void 0){if(!O||I1(q,G)?.writable){if(I=w(()=>m(void 0,X)),f)$1(I,A6(H,G));D(I,C0(U)),Q.set(G,I)}}else{O=I.v!==E0;var y=w(()=>C0(U));D(I,y)}var N=Reflect.getOwnPropertyDescriptor(q,G);if(N?.set)N.set.call(M,U);if(!O){if(K&&typeof G==="string"){var E=Q.get("length"),b=Number(G);if(Number.isInteger(b)&&b>=E.v)D(E,b+1)}S6(Z)}return!0},ownKeys(q){Y(Z);var G=Reflect.ownKeys(q).filter((I)=>{var O=Q.get(I);return O===void 0||O.v!==E0});for(var[U,M]of Q)if(M.v!==E0&&!(U in q))G.push(U);return G},setPrototypeOf(){qQ()}})}function A6(z,J){if(typeof J==="symbol")return`${z}[Symbol(${J.description??""})]`;if(uK.test(J))return`${z}.${J}`;return/^\d+$/.test(J)?`${z}[${J}]`:`${z}['${J}']`}function Zz(z){try{if(z!==null&&typeof z==="object"&&z1 in z)return z[z1]}catch{}return z}function f8(z,J){return Object.is(Zz(z),Zz(J))}var lK=new Set(["copyWithin","fill","pop","push","reverse","shift","sort","splice","unshift"]);function pK(z){return new Proxy(z,{get(J,Q,K){var Z=Reflect.get(J,Q,K);if(!lK.has(Q))return Z;return function(...X){aQ();var W=Z.apply(this,X);return b8(),W}}})}function tQ(){let{prototype:z,__svelte_cleanup:J}=Array;if(J)J();let{indexOf:Q,lastIndexOf:K,includes:Z}=z;z.indexOf=function(X,W){let w=Q.call(this,X,W);if(w===-1){for(let H=W??0;H<this.length;H+=1)if(Zz(this[H])===X){L8("array.indexOf(...)");break}}return w},z.lastIndexOf=function(X,W){let w=K.call(this,X,W??this.length-1);if(w===-1){for(let H=0;H<=(W??this.length-1);H+=1)if(Zz(this[H])===X){L8("array.lastIndexOf(...)");break}}return w},z.includes=function(X,W){let w=Z.call(this,X,W);if(!w){for(let H=0;H<this.length;H+=1)if(Zz(this[H])===X){L8("array.includes(...)");break}}return w},Array.__svelte_cleanup=()=>{z.indexOf=Q,z.lastIndexOf=K,z.includes=Z}}var t7,W6,Tz,eQ,z4;function m8(){if(t7!==void 0)return;t7=window,W6=document,Tz=/Firefox/.test(navigator.userAgent);var z=Element.prototype,J=Node.prototype,Q=Text.prototype;if(eQ=I1(J,"firstChild").get,z4=I1(J,"nextSibling").get,j7(z))z.__click=void 0,z.__className=void 0,z.__attributes=null,z.__style=void 0,z.__e=void 0;if(j7(Q))Q.__t=void 0;if(f)z.__svelte_meta=null,tQ()}function l0(z=""){return document.createTextNode(z)}function s0(z){return eQ.call(z)}function a0(z){return z4.call(z)}function C(z,J){if(!r)return s0(z);var Q=s0(U0);if(Q===null)Q=U0.appendChild(l0());else if(J&&Q.nodeType!==n6){var K=l0();return Q?.before(K),R0(K),K}return R0(Q),Q}function h(z,J=!1){if(!r){var Q=s0(z);if(Q instanceof Comment&&Q.data==="")return a0(Q);return Q}if(J&&U0?.nodeType!==n6){var K=l0();return U0?.before(K),R0(K),K}return U0}function S(z,J=1,Q=!1){let K=r?U0:z;var Z;while(J--)Z=K,K=a0(K);if(!r)return K;if(Q&&K?.nodeType!==n6){var X=l0();if(K===null)Z?.after(X);else K.before(X);return R0(X),X}return R0(K),K}function yz(z){z.textContent=""}function E8(){if(!R1)return!1;if(K5!==null)return!1;var z=K0.f;return(z&G5)!==0}function N6(z,J){if(J){let Q=document.body;z.autofocus=!0,u0(()=>{if(document.activeElement===Q)z.focus()})}}var J4=!1;function $8(){if(!J4)J4=!0,document.addEventListener("reset",(z)=>{Promise.resolve().then(()=>{if(!z.defaultPrevented)for(let J of z.target.elements)J.__on_r?.()})},{capture:!0})}function _5(z){var J=Y0,Q=K0;c0(null),B1(null);try{return z()}finally{c0(J),B1(Q)}}function mz(z,J,Q,K=Q){z.addEventListener(J,()=>_5(Q));let Z=z.__on_r;if(Z)z.__on_r=()=>{Z(),K(!0)};else z.__on_r=()=>K(!0);$8()}function z9(z){if(K0===null){if(Y0===null)XQ(z);ZQ()}if(F5)KQ(z)}function dK(z,J){var Q=J.last;if(Q===null)J.last=J.first=z;else Q.next=z,z.prev=Q,J.last=z}function a1(z,J,Q){var K=K0;if(f)while(K!==null&&(K.f&O6)!==0)K=K.parent;if(K!==null&&(K.f&j1)!==0)z|=j1;var Z={ctx:L0,deps:null,nodes_start:null,nodes_end:null,f:z|p0|k1,first:null,fn:J,last:null,next:null,parent:K,b:K&&K.b,prev:null,teardown:null,transitions:null,wv:0,ac:null};if(f)Z.component_function=_1;if(Q)try{J6(Z),Z.f|=G5}catch(w){throw y0(Z),w}else if(J!==null)A5(Z);var X=Z;if(Q&&X.deps===null&&X.teardown===null&&X.nodes_start===null&&X.first===X.last&&(X.f&L5)===0){if(X=X.first,(z&f1)!==0&&(z&T1)!==0&&X!==null)X.f|=T1}if(X!==null){if(X.parent=K,K!==null)dK(X,K);if(Y0!==null&&(Y0.f&g0)!==0&&(z&e1)===0){var W=Y0;(W.effects??=[]).push(X)}}return Z}function j5(){return Y0!==null&&!o1}function Q1(z){let J=a1(x6,null,!1);return i0(J,$0),J.teardown=z,J}function K1(z){if(z9("$effect"),f)V1(z,"name",{value:"$effect"});var J=K0.f,Q=!Y0&&(J&N1)!==0&&(J&G5)===0;if(Q){var K=L0;(K.e??=[]).push(z)}else return h7(z)}function h7(z){return a1(s6|R7,z,!1)}function $z(z){if(z9("$effect.pre"),f)V1(z,"name",{value:"$effect.pre"});return a1(x6|R7,z,!0)}function J9(z){_0.ensure();let J=a1(e1|L5,z,!0);return()=>{y0(J)}}function Q4(z){_0.ensure();let J=a1(e1|L5,z,!0);return(Q={})=>{return new Promise((K)=>{if(Q.outro)d5(J,()=>{y0(J),K(void 0)});else y0(J),K(void 0)})}}function H1(z){return a1(s6,z,!1)}function oQ(z){return a1(m5|L5,z,!0)}function G1(z,J=0){return a1(x6|J,z,!0)}function g(z,J=[],Q=[],K=[]){Qz(K,J,Q,(Z)=>{a1(x6,()=>z(...Z.map(Y)),!0)})}function uz(z,J=[],Q=[],K=[]){var Z=F0,X=Q.length>0||K.length>0;if(X)Z.increment(!0);Qz(K,J,Q,(W)=>{if(a1(s6,()=>z(...W.map(Y)),!1),X)Z.decrement(!0)})}function M1(z,J=0){var Q=a1(f1|J,z,!0);if(f)Q.dev_stack=V5;return Q}function u8(z,J=0){var Q=a1(o6|J,z,!0);if(f)Q.dev_stack=V5;return Q}function r0(z){return a1(N1|L5,z,!0)}function Q9(z){var J=z.teardown;if(J!==null){let Q=F5,K=Y0;e7(!0),c0(null);try{J.call(null)}finally{e7(Q),c0(K)}}}function K9(z,J=!1){var Q=z.first;z.first=z.last=null;while(Q!==null){let Z=Q.ac;if(Z!==null)_5(()=>{Z.abort(I5)});var K=Q.next;if((Q.f&e1)!==0)Q.parent=null;else y0(Q,J);Q=K}}function K4(z){var J=z.first;while(J!==null){var Q=J.next;if((J.f&N1)===0)y0(J);J=Q}}function y0(z,J=!0){var Q=!1;if((J||(z.f&a6)!==0)&&z.nodes_start!==null&&z.nodes_end!==null)Z9(z.nodes_start,z.nodes_end),Q=!0;K9(z,J&&!Q),lz(z,0),i0(z,b1);var K=z.transitions;if(K!==null)for(let X of K)X.stop();Q9(z);var Z=z.parent;if(Z!==null&&Z.first!==null)u7(z);if(f)z.component_function=null;z.next=z.prev=z.teardown=z.ctx=z.deps=z.fn=z.nodes_start=z.nodes_end=z.ac=null}function Z9(z,J){while(z!==null){var Q=z===J?null:a0(z);z.remove(),z=Q}}function u7(z){var{parent:J,prev:Q,next:K}=z;if(Q!==null)Q.next=K;if(K!==null)K.prev=Q;if(J!==null){if(J.first===z)J.first=K;if(J.last===z)J.last=Q}}function d5(z,J,Q=!0){var K=[];y8(z,K,!0),i7(K,()=>{if(Q)y0(z);if(J)J()})}function i7(z,J){var Q=z.length;if(Q>0){var K=()=>--Q||J();for(var Z of z)Z.out(K)}else J()}function y8(z,J,Q){if((z.f&j1)!==0)return;if(z.f^=j1,z.transitions!==null){for(let W of z.transitions)if(W.is_global||Q)J.push(W)}var K=z.first;while(K!==null){var Z=K.next,X=(K.f&T1)!==0||(K.f&N1)!==0&&(z.f&f1)!==0;y8(K,J,X?Q:!1),K=Z}}function vz(z){Z4(z,!0)}function Z4(z,J){if((z.f&j1)===0)return;if(z.f^=j1,(z.f&$0)===0)i0(z,p0),A5(z);var Q=z.first;while(Q!==null){var K=Q.next,Z=(Q.f&T1)!==0||(Q.f&N1)!==0;Z4(Q,Z?J:!1),Q=K}if(z.transitions!==null){for(let X of z.transitions)if(X.is_global||J)X.in()}}function T8(z,J){var{nodes_start:Q,nodes_end:K}=z;while(Q!==null){var Z=Q===K?null:a0(Q);J.append(Q),Q=Z}}var X4=null;var k5=!1;function zz(z){k5=z}var F5=!1;function e7(z){F5=z}var Y0=null,o1=!1;function c0(z){Y0=z}var K0=null;function B1(z){K0=z}var b5=null;function h8(z){if(Y0!==null&&(!R1||(Y0.f&g0)!==0))if(b5===null)b5=[z];else b5.push(z)}var E1=null,r1=0,s1=null;function nQ(z){s1=z}var W4=1,pz=0,X6=pz;function n7(z){X6=z}function fz(){return++W4}function K6(z){var J=z.f;if((J&p0)!==0)return!0;if(J&g0)z.f&=~z5;if((J&S1)!==0){var Q=z.deps;if(Q!==null){var K=Q.length;for(var Z=0;Z<K;Z++){var X=Q[Z];if(K6(X))a7(X);if(X.wv>z.wv)return!0}}if((J&k1)!==0&&Y1===null)i0(z,$0)}return!1}function Y4(z,J,Q=!0){var K=z.reactions;if(K===null)return;if(!R1&&b5?.includes(z))return;for(var Z=0;Z<K.length;Z++){var X=K[Z];if((X.f&g0)!==0)Y4(X,J,!1);else if(J===X){if(Q)i0(X,p0);else if((X.f&$0)!==0)i0(X,S1);A5(X)}}}function g8(z){var J=E1,Q=r1,K=s1,Z=Y0,X=b5,W=L0,w=o1,H=X6,B=z.f;if(E1=null,r1=0,s1=null,Y0=(B&(N1|e1))===0?z:null,b5=null,p5(z.ctx),o1=!1,X6=++pz,z.ac!==null)_5(()=>{z.ac.abort(I5)}),z.ac=null;try{z.f|=C8;var F=z.fn,q=F(),G=z.deps;if(E1!==null){var U;if(lz(z,r1),G!==null&&r1>0){G.length=r1+E1.length;for(U=0;U<E1.length;U++)G[r1+U]=E1[U]}else z.deps=G=E1;if(k5&&j5()&&(z.f&k1)!==0)for(U=r1;U<G.length;U++)(G[U].reactions??=[]).push(z)}else if(G!==null&&r1<G.length)lz(z,r1),G.length=r1;if(c1()&&s1!==null&&!o1&&G!==null&&(z.f&(g0|S1|p0))===0)for(U=0;U<s1.length;U++)Y4(s1[U],z);if(Z!==null&&Z!==z){if(pz++,s1!==null)if(K===null)K=s1;else K.push(...s1)}if((z.f&J5)!==0)z.f^=J5;return q}catch(M){return A8(M)}finally{z.f^=C8,E1=J,r1=Q,s1=K,Y0=Z,b5=X,p5(W),o1=w,X6=H}}function iK(z,J){let Q=J.reactions;if(Q!==null){var K=rJ.call(Q,z);if(K!==-1){var Z=Q.length-1;if(Z===0)Q=J.reactions=null;else Q[K]=Q[Z],Q.pop()}}if(Q===null&&(J.f&g0)!==0&&(E1===null||!E1.includes(J))){if(i0(J,S1),(J.f&k1)!==0)J.f^=k1,J.f&=~z5;v8(J),lz(J,0)}}function lz(z,J){var Q=z.deps;if(Q===null)return;for(var K=J;K<Q.length;K++)iK(z,Q[K])}function J6(z){var J=z.f;if((J&b1)!==0)return;i0(z,$0);var Q=K0,K=k5;if(K0=z,k5=!0,f){var Z=_1;R8(z.component_function);var X=V5;t6(z.dev_stack??V5)}try{if((J&(f1|o6))!==0)K4(z);else K9(z);Q9(z);var W=g8(z);if(z.teardown=typeof W==="function"?W:null,z.wv=W4,f&&U5&&(z.f&p0)!==0&&z.deps!==null){for(var w of z.deps)if(w.set_during_effect)w.wv=fz(),w.set_during_effect=!1}}finally{if(k5=K,K0=Q,f)R8(Z),t6(X)}}async function Ez(){if(R1)return new Promise((z)=>{requestAnimationFrame(()=>z()),setTimeout(()=>z())});await Promise.resolve(),Q6()}function Y(z){var J=z.f,Q=(J&g0)!==0;if(X4?.add(z),Y0!==null&&!o1){var K=K0!==null&&(K0.f&b1)!==0;if(!K&&!b5?.includes(z)){var Z=Y0.deps;if((Y0.f&C8)!==0){if(z.rv<pz){if(z.rv=pz,E1===null&&Z!==null&&Z[r1]===z)r1++;else if(E1===null)E1=[z];else if(!E1.includes(z))E1.push(z)}}else{(Y0.deps??=[]).push(z);var X=z.reactions;if(X===null)z.reactions=[Y0];else if(!X.includes(Y0))X.push(Y0)}}}if(f){if(gz.delete(z),U5&&!o1&&bz!==null&&Y0!==null&&bz.reaction===Y0)if(z.trace)z.trace();else{var W=D5("traced at");if(W){var w=bz.entries.get(z);if(w===void 0)w={traces:[]},bz.entries.set(z,w);var H=w.traces[w.traces.length-1];if(W.stack!==H?.stack)w.traces.push(W)}}}if(F5){if(N5.has(z))return N5.get(z);if(Q){var B=z,F=B.v;if((B.f&$0)===0&&B.reactions!==null||G4(B))F=hz(B);return N5.set(B,F),F}}else if(Q&&(!Y1?.has(z)||F0?.is_fork&&!j5())){if(B=z,K6(B))a7(B);if(k5&&j5()&&(B.f&k1)===0)w4(B)}if(Y1?.has(z))return Y1.get(z);if((z.f&J5)!==0)throw z.v;return z.v}function w4(z){if(z.deps===null)return;z.f^=k1;for(let J of z.deps)if((J.reactions??=[]).push(z),(J.f&g0)!==0&&(J.f&k1)===0)w4(J)}function G4(z){if(z.v===E0)return!0;if(z.deps===null)return!1;for(let J of z.deps){if(N5.has(J))return!0;if((J.f&g0)!==0&&G4(J))return!0}return!1}function b0(z){var J=o1;try{return o1=!0,z()}finally{o1=J}}var _K=~(p0|S1|$0);function i0(z,J){z.f=z.f&_K|J}function p8(z){if(typeof z!=="object"||!z||z instanceof EventTarget)return;if(z1 in z)l8(z);else if(!Array.isArray(z))for(let J in z){let Q=z[J];if(typeof Q==="object"&&Q&&z1 in Q)l8(Q)}}function l8(z,J=new Set){if(typeof z==="object"&&z!==null&&!(z instanceof EventTarget)&&!J.has(z)){if(J.add(z),z instanceof Date)z.getTime();for(let K in z)try{l8(z[K],J)}catch(Z){}let Q=F6(z);if(Q!==Object.prototype&&Q!==Array.prototype&&Q!==Map.prototype&&Q!==Set.prototype&&Q!==Date.prototype){let K=M8(Q);for(let Z in K){let X=K[Z].get;if(X)try{X.call(z)}catch(W){}}}}}var cK=/\r/g;function B4(z){z=z.replace(cK,"");let J=5381,Q=z.length;while(Q--)J=(J<<5)-J^z.charCodeAt(Q);return(J>>>0).toString(36)}function H4(z){return z.endsWith("capture")&&z!=="gotpointercapture"&&z!=="lostpointercapture"}var sK=["beforeinput","click","change","dblclick","contextmenu","focusin","focusout","input","keydown","keyup","mousedown","mousemove","mouseout","mouseover","mouseup","pointerdown","pointermove","pointerout","pointerover","pointerup","touchend","touchmove","touchstart"];function U4(z){return sK.includes(z)}var oK=["allowfullscreen","async","autofocus","autoplay","checked","controls","default","disabled","formnovalidate","indeterminate","inert","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","seamless","selected","webkitdirectory","defer","disablepictureinpicture","disableremoteplayback"];var aK={formnovalidate:"formNoValidate",ismap:"isMap",nomodule:"noModule",playsinline:"playsInline",readonly:"readOnly",defaultvalue:"defaultValue",defaultchecked:"defaultChecked",srcobject:"srcObject",novalidate:"noValidate",allowfullscreen:"allowFullscreen",disablepictureinpicture:"disablePictureInPicture",disableremoteplayback:"disableRemotePlayback"};function V4(z){return z=z.toLowerCase(),aK[z]??z}var D2=[...oK,"formNoValidate","isMap","noModule","playsInline","readOnly","value","volume","defaultValue","defaultChecked","srcObject","noValidate","allowFullscreen","disablePictureInPicture","disableRemotePlayback"];var rK=["touchstart","touchmove"];function q4(z){return rK.includes(z)}var nK=["$state","$state.raw","$derived","$derived.by"],R2=[...nK,"$state.eager","$state.snapshot","$props","$props.id","$bindable","$effect","$effect.pre","$effect.tracking","$effect.root","$effect.pending","$inspect","$inspect().with","$inspect.trace","$host"];function d8(z){return z?.replace(/\//g,"/โ€‹")}var X9=new Set,i8=new Set;function Xz(z){if(!r)return;z.removeAttribute("onload"),z.removeAttribute("onerror");let J=z.__e;if(J!==void 0)z.__e=void 0,queueMicrotask(()=>{if(z.isConnected)z.dispatchEvent(J)})}function W9(z,J,Q,K={}){function Z(X){if(!K.capture)Wz.call(J,X);if(!X.cancelBubble)return _5(()=>{return Q?.call(this,X)})}if(z.startsWith("pointer")||z.startsWith("touch")||z==="wheel")u0(()=>{J.addEventListener(z,Z,K)});else J.addEventListener(z,Z,K);return Z}function C1(z,J,Q,K,Z){var X={capture:K,passive:Z},W=W9(z,J,Q,X);if(J===document.body||J===window||J===document||J instanceof HTMLMediaElement)Q1(()=>{J.removeEventListener(z,W,X)})}function I0(z){for(var J=0;J<z.length;J++)X9.add(z[J]);for(var Q of i8)Q(z)}var M4=null;function Wz(z){var J=this,Q=J.ownerDocument,K=z.type,Z=z.composedPath?.()||[],X=Z[0]||z.target;M4=z;var W=0,w=M4===z&&z.__root;if(w){var H=Z.indexOf(w);if(H!==-1&&(J===document||J===window)){z.__root=J;return}var B=Z.indexOf(J);if(B===-1)return;if(H<=B)W=H}if(X=Z[W]||z.target,X===J)return;V1(z,"currentTarget",{configurable:!0,get(){return X||Q}});var F=Y0,q=K0;c0(null),B1(null);try{var G,U=[];while(X!==null){var M=X.assignedSlot||X.parentNode||X.host||null;try{var I=X["__"+K];if(I!=null&&(!X.disabled||z.target===X))I.call(X,z)}catch(O){if(G)U.push(O);else G=O}if(z.cancelBubble||M===J||M===null)break;X=M}if(G){for(let O of U)queueMicrotask(()=>{throw O});throw G}}finally{z.__root=J,delete z.currentTarget,c0(F),B1(q)}}function dz(z){var J=document.createElement("template");return J.innerHTML=z.replaceAll("<!>","<!---->"),J.content}function l1(z,J){var Q=K0;if(Q.nodes_start===null)Q.nodes_start=z,Q.nodes_end=J}function P(z,J){var Q=(J&jQ)!==0,K=(J&DQ)!==0,Z,X=!z.startsWith("<!>");return()=>{if(r)return l1(U0,null),U0;if(Z===void 0){if(Z=dz(X?z:"<!>"+z),!Q)Z=s0(Z)}var W=K||Tz?document.importNode(Z,!0):Z.cloneNode(!0);if(Q){var w=s0(W),H=W.lastChild;l1(w,H)}else l1(W,W);return W}}function A1(z=""){if(!r){var J=l0(z+"");return l1(J,J),J}var Q=U0;if(Q.nodeType!==n6)Q.before(Q=l0()),R0(Q);return l1(Q,Q),Q}function d(){if(r)return l1(U0,null),U0;var z=document.createDocumentFragment(),J=document.createComment(""),Q=l0();return z.append(J,Q),l1(J,Q),z}function V(z,J){if(r){var Q=K0;if((Q.f&G5)===0||Q.nodes_end===null)Q.nodes_end=U0;d0();return}if(z===null)return;z.before(J)}var Y9=!0;function l(z,J){var Q=J==null?"":typeof J==="object"?J+"":J;if(Q!==(z.__t??=z.nodeValue))z.__t=Q,z.nodeValue=Q+""}function wz(z,J){return C4(z,J)}function G9(z,J){m8(),J.intro=J.intro??!1;let Q=J.target,K=r,Z=U0;try{var X=s0(Q);while(X&&(X.nodeType!==D1||X.data!==kz))X=a0(X);if(!X)throw S5;h0(!0),R0(X);let W=C4(z,{...J,anchor:X});return h0(!1),W}catch(W){if(W instanceof Error&&W.message.split(` 45 + `).some((w)=>w.startsWith("https://svelte.dev/e/")))throw W;if(W!==S5)console.warn("Failed to hydrate: ",W);if(J.recover===!1)YQ();return m8(),yz(Q),h0(!1),wz(z,J)}finally{h0(K),R0(Z)}}var Yz=new Map;function C4(z,{target:J,anchor:Q,props:K={},events:Z,context:X,intro:W=!0}){m8();var w=new Set,H=(q)=>{for(var G=0;G<q.length;G++){var U=q[G];if(w.has(U))continue;w.add(U);var M=q4(U);J.addEventListener(U,Wz,{passive:M});var I=Yz.get(U);if(I===void 0)document.addEventListener(U,Wz,{passive:M}),Yz.set(U,1);else Yz.set(U,I+1)}};H(Nz(X9)),i8.add(H);var B=void 0,F=Q4(()=>{var q=Q??J.appendChild(l0());return l7(q,{pending:()=>{}},(G)=>{if(X){c({});var U=L0;U.c=X}if(Z)K.$$events=Z;if(r)l1(G,null);if(Y9=W,B=z(G,K)||{},Y9=!0,r){if(K0.nodes_end=U0,U0===null||U0.nodeType!==D1||U0.data!==P6)throw e5(),S5}if(X)s()}),()=>{for(var G of w){J.removeEventListener(G,Wz);var U=Yz.get(G);if(--U===0)document.removeEventListener(G,Wz),Yz.delete(G);else Yz.set(G,U)}if(i8.delete(H),q!==Q)q.parentNode?.removeChild(q)}});return w9.set(B,F),B}var w9=new WeakMap;function B9(z,J){let Q=w9.get(z);if(Q)return w9.delete(z),Q(J);if(f)if(z1 in z)yQ();else TQ();return Promise.resolve()}class M5{anchor;#z=new Map;#J=new Map;#Q=new Map;#K=new Set;#w=!0;constructor(z,J=!0){this.anchor=z,this.#w=J}#X=()=>{var z=F0;if(!this.#z.has(z))return;var J=this.#z.get(z),Q=this.#J.get(J);if(Q)vz(Q),this.#K.delete(J);else{var K=this.#Q.get(J);if(K)this.#J.set(J,K.effect),this.#Q.delete(J),K.fragment.lastChild.remove(),this.anchor.before(K.fragment),Q=K.effect}for(let[Z,X]of this.#z){if(this.#z.delete(Z),Z===z)break;let W=this.#Q.get(X);if(W)y0(W.effect),this.#Q.delete(X)}for(let[Z,X]of this.#J){if(Z===J||this.#K.has(Z))continue;let W=()=>{if(Array.from(this.#z.values()).includes(Z)){var H=document.createDocumentFragment();T8(X,H),H.append(l0()),this.#Q.set(Z,{effect:X,fragment:H})}else y0(X);this.#K.delete(Z),this.#J.delete(Z)};if(this.#w||!Q)this.#K.add(Z),d5(X,W,!1);else W()}};#Z=(z)=>{this.#z.delete(z);let J=Array.from(this.#z.values());for(let[Q,K]of this.#Q)if(!J.includes(Q))y0(K.effect),this.#Q.delete(Q)};ensure(z,J){var Q=F0,K=E8();if(J&&!this.#J.has(z)&&!this.#Q.has(z))if(K){var Z=document.createDocumentFragment(),X=l0();Z.append(X),this.#Q.set(z,{effect:r0(()=>J(X)),fragment:Z})}else this.#J.set(z,r0(()=>J(this.anchor)));if(this.#z.set(Q,z),K){for(let[W,w]of this.#J)if(W===z)Q.skipped_effects.delete(w);else Q.skipped_effects.add(w);for(let[W,w]of this.#Q)if(W===z)Q.skipped_effects.delete(w.effect);else Q.skipped_effects.add(w.effect);Q.oncommit(this.#X),Q.ondiscard(this.#Z)}else{if(r)this.anchor=U0;this.#X()}}}var O4=0,H9=1;function k6(z,J,Q,K,Z){if(r)d0();var X=c1(),W=E0,w=X?w1(W):i5(W,!1,!1),H=X?w1(W):i5(W,!1,!1),B=new M5(z);M1(()=>{var F=J(),q=!1;let G=r&&D7(F)===(z.data===B5);if(G)R0(H5()),h0(!1);if(D7(F)){var U=_7(),M=!1;let I=(O)=>{if(q)return;if(M=!0,U(!1),_0.ensure(),r)h0(!1);try{O()}finally{if(D6(),!z6)Q6()}};if(F.then((O)=>{I(()=>{u1(w,O),B.ensure(H9,K&&((A)=>K(A,w)))})},(O)=>{I(()=>{if(u1(H,O),B.ensure(H9,Z&&((A)=>Z(A,H))),!Z)throw H.v})}),r)B.ensure(O4,Q);else u0(()=>{if(!M)I(()=>{B.ensure(O4,Q)})})}else u1(w,F),B.ensure(H9,K&&((I)=>K(I,w)));if(G)h0(!0);return()=>{q=!0}})}function j(z,J,Q=!1){if(r)d0();var K=new M5(z),Z=Q?T1:0;function X(W,w){if(r){let B=I8(z)===B5;if(W===B){var H=H5();R0(H),K.anchor=H,h0(!1),K.ensure(W,w),h0(!0);return}}K.ensure(W,w)}M1(()=>{var W=!1;if(J((w,H=!0)=>{W=!0,X(H,w)}),!W)X(!1,null)},Z)}function U9(z,J,Q){if(r)d0();var K=new M5(z),Z=!c1();M1(()=>{var X=J();if(Z&&X!==null&&typeof X==="object")X={};K.ensure(X,Q)})}function zZ(z,J,Q){if(!J||J===B4(String(Q??"")))return;let K,Z=z.__svelte_meta?.loc;if(Z)K=`near ${Z.file}:${Z.line}:${Z.column}`;else if(_1?.[m1])K=`in ${_1[m1]}`;bQ(d8(K))}function V9(z,J,Q=!1,K=!1,Z=!1){var X=z,W="";g(()=>{var w=K0;if(W===(W=J()??"")){if(r)d0();return}if(w.nodes_start!==null)Z9(w.nodes_start,w.nodes_end),w.nodes_start=w.nodes_end=null;if(W==="")return;if(r){var H=U0.data,B=d0(),F=B;while(B!==null&&(B.nodeType!==D1||B.data!==""))F=B,B=a0(B);if(B===null)throw e5(),S5;if(f&&!Z)zZ(B.parentNode,H,W);l1(U0,F),X=R0(B);return}var q=W+"";if(Q)q=`<svg>${q}</svg>`;else if(K)q=`<math>${q}</math>`;var G=dz(q);if(Q||K)G=s0(G);if(l1(s0(G),G.lastChild),Q||K)while(s0(G))X.before(s0(G));else X.before(G)})}function Y6(z,J,...Q){var K=new M5(z);M1(()=>{let Z=J()??null;if(f&&Z==null)wQ();K.ensure(Z,Z&&((X)=>Z(X,...Q)))},T1)}function b6(z,J){let Q=null,K=r;var Z;if(r){Q=U0;var X=s0(document.head);while(X!==null&&(X.nodeType!==D1||X.data!==z))X=a0(X);if(X===null)h0(!1);else{var W=a0(X);X.remove(),R0(W)}}if(!r)Z=document.head.appendChild(l0());try{M1(()=>J(Z),a6)}finally{if(K)h0(!0),R0(Q)}}function q9(z,J){var Q=void 0,K;u8(()=>{if(Q!==(Q=J())){if(K)y0(K),K=null;if(Q)K=r0(()=>{H1(()=>Q(z))})}})}function P4(z){var J,Q,K="";if(typeof z=="string"||typeof z=="number")K+=z;else if(typeof z=="object")if(Array.isArray(z)){var Z=z.length;for(J=0;J<Z;J++)z[J]&&(Q=P4(z[J]))&&(K&&(K+=" "),K+=Q)}else for(Q in z)z[Q]&&(K&&(K+=" "),K+=Q);return K}function L4(){for(var z,J,Q=0,K="",Z=arguments.length;Q<Z;Q++)(z=arguments[Q])&&(J=P4(z))&&(K&&(K+=" "),K+=J);return K}function T6(z){if(typeof z==="object")return L4(z);else return z??""}var I4=[...` 46 + \r\fย \v\uFEFF`];function j4(z,J,Q){var K=z==null?"":""+z;if(J)K=K?K+" "+J:J;if(Q){for(var Z in Q)if(Q[Z])K=K?K+" "+Z:Z;else if(K.length){var X=Z.length,W=0;while((W=K.indexOf(Z,W))>=0){var w=W+X;if((W===0||I4.includes(K[W-1]))&&(w===K.length||I4.includes(K[w])))K=(W===0?"":K.substring(0,W))+K.substring(w+1);else W=w}}}return K===""?null:K}function S4(z,J=!1){var Q=J?" !important;":";",K="";for(var Z in z){var X=z[Z];if(X!=null&&X!=="")K+=" "+Z+": "+X+Q}return K}function F9(z){if(z[0]!=="-"||z[1]!=="-")return z.toLowerCase();return z}function D4(z,J){if(J){var Q="",K,Z;if(Array.isArray(J))K=J[0],Z=J[1];else K=J;if(z){z=String(z).replaceAll(/\s*\/\*.*?\*\/\s*/g,"").trim();var X=!1,W=0,w=!1,H=[];if(K)H.push(...Object.keys(K).map(F9));if(Z)H.push(...Object.keys(Z).map(F9));var B=0,F=-1;let I=z.length;for(var q=0;q<I;q++){var G=z[q];if(w){if(G==="/"&&z[q-1]==="*")w=!1}else if(X){if(X===G)X=!1}else if(G==="/"&&z[q+1]==="*")w=!0;else if(G==='"'||G==="'")X=G;else if(G==="(")W++;else if(G===")")W--;if(!w&&X===!1&&W===0){if(G===":"&&F===-1)F=q;else if(G===";"||q===I-1){if(F!==-1){var U=F9(z.substring(B,F).trim());if(!H.includes(U)){if(G!==";")q++;var M=z.substring(B,q).trim();Q+=" "+M+";"}}B=q+1,F=-1}}}}if(K)Q+=S4(K);if(Z)Q+=S4(Z,!0);return Q=Q.trim(),Q===""?null:Q}return z==null?null:String(z)}function Z1(z,J,Q,K,Z,X){var W=z.__className;if(r||W!==Q||W===void 0){var w=j4(Q,K,X);if(!r||w!==z.getAttribute("class"))if(w==null)z.removeAttribute("class");else if(J)z.className=w;else z.setAttribute("class",w);z.__className=Q}else if(X&&Z!==X)for(var H in X){var B=!!X[H];if(Z==null||B!==!!Z[H])z.classList.toggle(H,B)}return X}function M9(z,J={},Q,K){for(var Z in Q){var X=Q[Z];if(J[Z]!==X)if(Q[Z]==null)z.style.removeProperty(Z);else z.style.setProperty(Z,X,K)}}function c5(z,J,Q,K){var Z=z.__style;if(r||Z!==J){var X=D4(J,K);if(!r||X!==z.getAttribute("style"))if(X==null)z.removeAttribute("style");else z.style.cssText=X;z.__style=J}else if(K)if(Array.isArray(K))M9(z,Q?.[0],K[0]),M9(z,Q?.[1],K[1],"important");else M9(z,Q,K);return K}function Gz(z,J,Q=!1){if(z.multiple){if(J==null)return;if(!w5(J))return EQ();for(var K of z.options)K.selected=J.includes(iz(K));return}for(K of z.options){var Z=iz(K);if(f8(Z,J)){K.selected=!0;return}}if(!Q||J!==void 0)z.selectedIndex=-1}function _8(z){var J=new MutationObserver(()=>{Gz(z,z.__value)});J.observe(z,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),Q1(()=>{J.disconnect()})}function x9(z,J,Q=J){var K=new WeakSet,Z=!0;mz(z,"change",(X)=>{var W=X?"[selected]":":checked",w;if(z.multiple)w=[].map.call(z.querySelectorAll(W),iz);else{var H=z.querySelector(W)??z.querySelector("option:not([disabled])");w=H&&iz(H)}if(Q(w),F0!==null)K.add(F0)}),H1(()=>{var X=J();if(z===document.activeElement){var W=I6??F0;if(K.has(W))return}if(Gz(z,X,Z),Z&&X===void 0){var w=z.querySelector(":checked");if(w!==null)X=iz(w),Q(X)}z.__value=X,Z=!1}),_8(z)}function iz(z){if("__value"in z)return z.__value;else return z.value}var Bz=Symbol("class"),Hz=Symbol("style"),N4=Symbol("is custom element"),k4=Symbol("is html");function m0(z){if(!r)return;var J=!1,Q=()=>{if(J)return;if(J=!0,z.hasAttribute("value")){var K=z.value;_(z,"value",null),z.value=K}if(z.hasAttribute("checked")){var Z=z.checked;_(z,"checked",null),z.checked=Z}};z.__on_r=Q,u0(Q),$8()}function Z5(z,J){var Q=O9(z);if(Q.value===(Q.value=J??void 0)||z.value===J&&(J!==0||z.nodeName!=="PROGRESS"))return;z.value=J??""}function b4(z,J){if(J){if(!z.hasAttribute("selected"))z.setAttribute("selected","")}else z.removeAttribute("selected")}function _(z,J,Q,K){var Z=O9(z);if(r){if(Z[J]=z.getAttribute(J),J==="src"||J==="srcset"||J==="href"&&z.nodeName==="LINK"){if(!K)ZZ(z,J,Q??"");return}}if(Z[J]===(Z[J]=Q))return;if(J==="loading")z[eJ]=Q;if(Q==null)z.removeAttribute(J);else if(typeof Q!=="string"&&T4(z).includes(J))z[J]=Q;else z.setAttribute(J,Q)}function KZ(z,J,Q,K,Z=!1,X=!1){if(r&&Z&&z.tagName==="INPUT"){var W=z,w=W.type==="checkbox"?"defaultChecked":"defaultValue";if(!(w in Q))m0(W)}var H=O9(z),B=H[N4],F=!H[k4];let q=r&&B;if(q)h0(!1);var G=J||{},U=z.tagName==="OPTION";for(var M in J)if(!(M in Q))Q[M]=null;if(Q.class)Q.class=T6(Q.class);else if(K||Q[Bz])Q.class=null;if(Q[Hz])Q.style??=null;var I=T4(z);for(let b in Q){let R=Q[b];if(U&&b==="value"&&R==null){z.value=z.__value="",G[b]=R;continue}if(b==="class"){var O=z.namespaceURI==="http://www.w3.org/1999/xhtml";Z1(z,O,R,K,J?.[Bz],Q[Bz]),G[b]=R,G[Bz]=Q[Bz];continue}if(b==="style"){c5(z,R,J?.[Hz],Q[Hz]),G[b]=R,G[Hz]=Q[Hz];continue}var A=G[b];if(R===A&&!(R===void 0&&z.hasAttribute(b)))continue;G[b]=R;var T=b[0]+b[1];if(T==="$$")continue;if(T==="on"){let k={},$="$$"+b,v=b.slice(2);var y=U4(v);if(H4(v))v=v.slice(0,-7),k.capture=!0;if(!y&&A){if(R!=null)continue;z.removeEventListener(v,G[$],k),G[$]=null}if(R!=null)if(!y){let u=function(n){G[b].call(this,n)};G[$]=W9(v,z,u,k)}else z[`__${v}`]=R,I0([v]);else if(y)z[`__${v}`]=void 0}else if(b==="style")_(z,b,R);else if(b==="autofocus")N6(z,Boolean(R));else if(!B&&(b==="__value"||b==="value"&&R!=null))z.value=z.__value=R;else if(b==="selected"&&U)b4(z,R);else{var N=b;if(!F)N=V4(N);var E=N==="defaultValue"||N==="defaultChecked";if(R==null&&!B&&!E)if(H[b]=null,N==="value"||N==="checked"){let k=z,$=J===void 0;if(N==="value"){let v=k.defaultValue;k.removeAttribute(N),k.defaultValue=v,k.value=k.__value=$?v:null}else{let v=k.defaultChecked;k.removeAttribute(N),k.defaultChecked=v,k.checked=$?v:!1}}else z.removeAttribute(b);else if(E||I.includes(N)&&(B||typeof R!=="string")){if(z[N]=R,N in H)H[N]=E0}else if(typeof R!=="function")_(z,N,R,X)}}if(q)h0(!0);return G}function c8(z,J,Q=[],K=[],Z=[],X,W=!1,w=!1){Qz(Z,Q,K,(H)=>{var B=void 0,F={},q=z.nodeName==="SELECT",G=!1;if(u8(()=>{var M=J(...H.map(Y)),I=KZ(z,B,M,X,W,w);if(G&&q&&"value"in M)Gz(z,M.value);for(let A of Object.getOwnPropertySymbols(F))if(!M[A])y0(F[A]);for(let A of Object.getOwnPropertySymbols(M)){var O=M[A];if(A.description===T7&&(!B||O!==B[A])){if(F[A])y0(F[A]);F[A]=r0(()=>q9(z,()=>O))}I[A]=O}B=I}),q){var U=z;H1(()=>{Gz(U,B.value,!0),_8(U)})}G=!0})}function O9(z){return z.__attributes??={[N4]:z.nodeName.includes("-"),[k4]:z.namespaceURI===AQ}}var R4=new Map;function T4(z){var J=z.getAttribute("is")||z.nodeName,Q=R4.get(J);if(Q)return Q;R4.set(J,Q=[]);var K,Z=z,X=Element.prototype;while(X!==Z){K=M8(Z);for(var W in K)if(K[W].set)Q.push(W);Z=F6(Z)}return Q}function ZZ(z,J,Q){if(!f)return;if(J==="srcset"&&XZ(z,Q))return;if(C9(z.getAttribute(J)??"",Q))return;kQ(J,z.outerHTML.replace(z.innerHTML,z.innerHTML&&"..."),String(Q))}function C9(z,J){if(z===J)return!0;return new URL(z,document.baseURI).href===new URL(J,document.baseURI).href}function A4(z){return z.split(",").map((J)=>J.trim().split(" ").filter(Boolean))}function XZ(z,J){var Q=A4(z.srcset),K=A4(J);return K.length===Q.length&&K.every(([Z,X],W)=>X===Q[W][1]&&(C9(Q[W][0],Z)||C9(Z,Q[W][0])))}function O1(z,J,Q=J){var K=new WeakSet;if(mz(z,"input",async(Z)=>{if(f&&z.type==="checkbox")A7();var X=Z?z.defaultValue:z.value;if(X=L9(z)?I9(X):X,Q(X),F0!==null)K.add(F0);if(await Ez(),X!==(X=J())){var{selectionStart:W,selectionEnd:w}=z,H=z.value.length;if(z.value=X??"",w!==null){var B=z.value.length;if(W===w&&w===H&&B>H)z.selectionStart=B,z.selectionEnd=B;else z.selectionStart=W,z.selectionEnd=Math.min(w,B)}}}),r&&z.defaultValue!==z.value||b0(J)==null&&z.value){if(Q(L9(z)?I9(z.value):z.value),F0!==null)K.add(F0)}G1(()=>{if(f&&z.type==="checkbox")A7();var Z=J();if(z===document.activeElement){var X=I6??F0;if(K.has(X))return}if(L9(z)&&Z===I9(z.value))return;if(z.type==="date"&&!Z&&!z.value)return;if(Z!==z.value)z.value=Z??""})}var P9=new Set;function _z(z,J,Q,K,Z=K){var X=Q.getAttribute("type")==="checkbox",W=z;let w=!1;if(J!==null)for(var H of J)W=W[H]??=[];if(W.push(Q),mz(Q,"change",()=>{var B=Q.__value;if(X)B=E4(W,B,Q.checked);Z(B)},()=>Z(X?[]:null)),G1(()=>{var B=K();if(r&&Q.defaultChecked!==Q.checked){w=!0;return}if(X)B=B||[],Q.checked=B.includes(Q.__value);else Q.checked=f8(Q.__value,B)}),Q1(()=>{var B=W.indexOf(Q);if(B!==-1)W.splice(B,1)}),!P9.has(W))P9.add(W),u0(()=>{W.sort((B,F)=>B.compareDocumentPosition(F)===4?-1:1),P9.delete(W)});u0(()=>{if(w){var B;if(X)B=E4(W,B,Q.checked);else{var F=W.find((q)=>q.checked);B=F?.__value}Z(B)}})}function E4(z,J,Q){var K=new Set;for(var Z=0;Z<z.length;Z+=1)if(z[Z].checked)K.add(z[Z].__value);if(!Q)K.delete(J);return Array.from(K)}function L9(z){var J=z.type;return J==="number"||J==="range"}function I9(z){return z===""?null:+z}class S9{#z=new WeakMap;#J;#Q;static entries=new WeakMap;constructor(z){this.#Q=z}observe(z,J){var Q=this.#z.get(z)||new Set;return Q.add(J),this.#z.set(z,Q),this.#K().observe(z,this.#Q),()=>{var K=this.#z.get(z);if(K.delete(J),K.size===0)this.#z.delete(z),this.#J.unobserve(z)}}#K(){return this.#J??(this.#J=new ResizeObserver((z)=>{for(var J of z){S9.entries.set(J.target,J);for(var Q of this.#z.get(J.target)||[])Q(J)}}))}}var YZ=new S9({box:"border-box"});function j9(z,J,Q){var K=YZ.observe(z,()=>Q(z[J]));H1(()=>{return b0(()=>Q(z[J])),K})}function y4(z,J){return z===J||z?.[z1]===J}function n1(z={},J,Q,K){return H1(()=>{var Z,X;return G1(()=>{Z=X,X=K?.()||[],b0(()=>{if(z!==Q(...X)){if(J(z,...X),Z&&y4(Q(...Z),z))J(null,...Z)}})}),()=>{u0(()=>{if(X&&y4(Q(...X),z))J(null,...X)})}}),z}function D9(z=!1){let J=L0,Q=J.l.u;if(!Q)return;let K=()=>p8(J.s);if(z){let Z=0,X={},W=Z6(()=>{let w=!1,H=J.s;for(let B in H)if(H[B]!==X[B])X[B]=H[B],w=!0;if(w)Z++;return Z});K=()=>Y(W)}if(Q.b.length)$z(()=>{v4(J,K),c6(Q.b)});if(K1(()=>{let Z=b0(()=>Q.m.map(tJ));return()=>{for(let X of Z)if(typeof X==="function")X()}}),Q.a.length)K1(()=>{v4(J,K),c6(Q.a)})}function v4(z,J){if(z.l.s)for(let Q of z.l.s)Y(Q);J()}var o8=!1,wF=Symbol();function R9(z){var J=o8;try{return o8=!1,[z(),o8]}finally{o8=J}}var GZ={get(z,J){if(z.exclude.includes(J))return;return z.props[J]},set(z,J){if(f)BQ(`${z.name}.${String(J)}`);return!1},getOwnPropertyDescriptor(z,J){if(z.exclude.includes(J))return;if(J in z.props)return{enumerable:!0,configurable:!0,value:z.props[J]}},has(z,J){if(z.exclude.includes(J))return!1;return J in z.props},ownKeys(z){return Reflect.ownKeys(z.props).filter((J)=>!z.exclude.includes(J))}};function s5(z,J,Q){return new Proxy(f?{props:z,exclude:J,name:Q,other:{},to_proxy:[]}:{props:z,exclude:J},GZ)}var BZ={get(z,J){let Q=z.props.length;while(Q--){let K=z.props[Q];if(M6(K))K=K();if(typeof K==="object"&&K!==null&&J in K)return K[J]}},set(z,J,Q){let K=z.props.length;while(K--){let Z=z.props[K];if(M6(Z))Z=Z();let X=I1(Z,J);if(X&&X.set)return X.set(Q),!0}return!1},getOwnPropertyDescriptor(z,J){let Q=z.props.length;while(Q--){let K=z.props[Q];if(M6(K))K=K();if(typeof K==="object"&&K!==null&&J in K){let Z=I1(K,J);if(Z&&!Z.configurable)Z.configurable=!0;return Z}}},has(z,J){if(J===z1||J===r6)return!1;for(let Q of z.props){if(M6(Q))Q=Q();if(Q!=null&&J in Q)return!0}return!1},ownKeys(z){let J=[];for(let Q of z.props){if(M6(Q))Q=Q();if(!Q)continue;for(let K in Q)if(!J.includes(K))J.push(K);for(let K of Object.getOwnPropertySymbols(Q))if(!J.includes(K))J.push(K)}return J}};function A9(...z){return new Proxy({props:z},BZ)}function j0(z,J,Q,K){var Z=!l5||(Q&PQ)!==0,X=(Q&IQ)!==0,W=(Q&SQ)!==0,w=K,H=!0,B=()=>{if(H)H=!1,w=W?b0(K):K;return w},F;if(X){var q=z1 in z||r6 in z;F=I1(z,J)?.set??(q&&J in z?(y)=>z[J]=y:void 0)}var G,U=!1;if(X)[G,U]=R9(()=>z[J]);else G=z[J];if(G===void 0&&K!==void 0){if(G=B(),F){if(Z)GQ(J);F(G)}}var M;if(Z)M=()=>{var y=z[J];if(y===void 0)return B();return H=!0,y};else M=()=>{var y=z[J];if(y!==void 0)w=void 0;return y===void 0?w:y};if(Z&&(Q&LQ)===0)return M;if(F){var I=z.$$legacy;return function(y,N){if(arguments.length>0){if(!Z||!N||I||U)F(N?M():y);return y}return M()}}var O=!1,A=((Q&OQ)!==0?Z6:j6)(()=>{return O=!1,M()});if(f)A.label=J;if(X)Y(A);var T=K0;return function(y,N){if(arguments.length>0){let E=N?Y(A):Z&&X?C0(y):y;if(D(A,E),O=!0,w!==void 0)w=E;return y}if(F5&&O||(T.f&b1)!==0)return A.v;return Y(A)}}function g4(z){return new h4(z)}class h4{#z;#J;constructor(z){var J=new Map,Q=(Z,X)=>{var W=i5(X,!1,!1);return J.set(Z,W),W};let K=new Proxy({...z.props||{},$$events:{}},{get(Z,X){return Y(J.get(X)??Q(X,Reflect.get(Z,X)))},has(Z,X){if(X===r6)return!0;return Y(J.get(X)??Q(X,Reflect.get(Z,X))),Reflect.has(Z,X)},set(Z,X,W){return D(J.get(X)??Q(X,W),W),Reflect.set(Z,X,W)}});if(this.#J=(z.hydrate?G9:wz)(z.component,{target:z.target,anchor:z.anchor,props:K,context:z.context,intro:z.intro??!1,recover:z.recover}),!R1&&(!z?.props?.$$host||z.sync===!1))Q6();this.#z=K.$$events;for(let Z of Object.keys(this.#J)){if(Z==="$set"||Z==="$destroy"||Z==="$on")continue;V1(this,Z,{get(){return this.#J[Z]},set(X){this.#J[Z]=X},enumerable:!0})}this.#J.$set=(Z)=>{Object.assign(K,Z)},this.#J.$destroy=()=>{B9(this.#J)}}$set(z){this.#J.$set(z)}$on(z,J){this.#z[z]=this.#z[z]||[];let Q=(...K)=>J.call(this,...K);return this.#z[z].push(Q),()=>{this.#z[z]=this.#z[z].filter((K)=>K!==Q)}}$destroy(){this.#J.$destroy()}}var CZ;if(typeof HTMLElement==="function")CZ=class extends HTMLElement{$$ctor;$$s;$$c;$$cn=!1;$$d={};$$r=!1;$$p_d={};$$l={};$$l_u=new Map;$$me;constructor(z,J,Q){super();if(this.$$ctor=z,this.$$s=J,Q)this.attachShadow({mode:"open"})}addEventListener(z,J,Q){if(this.$$l[z]=this.$$l[z]||[],this.$$l[z].push(J),this.$$c){let K=this.$$c.$on(z,J);this.$$l_u.set(J,K)}super.addEventListener(z,J,Q)}removeEventListener(z,J,Q){if(super.removeEventListener(z,J,Q),this.$$c){let K=this.$$l_u.get(J);if(K)K(),this.$$l_u.delete(J)}}async connectedCallback(){if(this.$$cn=!0,!this.$$c){let z=function(K){return(Z)=>{let X=document.createElement("slot");if(K!=="default")X.name=K;V(Z,X)}};if(await Promise.resolve(),!this.$$cn||this.$$c)return;let J={},Q=OZ(this);for(let K of this.$$s)if(K in Q)if(K==="default"&&!this.$$d.children)this.$$d.children=z(K),J.default=!0;else J[K]=z(K);for(let K of this.attributes){let Z=this.$$g_p(K.name);if(!(Z in this.$$d))this.$$d[Z]=N9(Z,K.value,this.$$p_d,"toProp")}for(let K in this.$$p_d)if(!(K in this.$$d)&&this[K]!==void 0)this.$$d[K]=this[K],delete this[K];this.$$c=g4({component:this.$$ctor,target:this.shadowRoot||this,props:{...this.$$d,$$slots:J,$$host:this}}),this.$$me=J9(()=>{G1(()=>{this.$$r=!0;for(let K of I7(this.$$c)){if(!this.$$p_d[K]?.reflect)continue;this.$$d[K]=this.$$c[K];let Z=N9(K,this.$$d[K],this.$$p_d,"toAttribute");if(Z==null)this.removeAttribute(this.$$p_d[K].attribute||K);else this.setAttribute(this.$$p_d[K].attribute||K,Z)}this.$$r=!1})});for(let K in this.$$l)for(let Z of this.$$l[K]){let X=this.$$c.$on(K,Z);this.$$l_u.set(Z,X)}this.$$l={}}}attributeChangedCallback(z,J,Q){if(this.$$r)return;z=this.$$g_p(z),this.$$d[z]=N9(z,Q,this.$$p_d,"toProp"),this.$$c?.$set({[z]:this.$$d[z]})}disconnectedCallback(){this.$$cn=!1,Promise.resolve().then(()=>{if(!this.$$cn&&this.$$c)this.$$c.$destroy(),this.$$me(),this.$$c=void 0})}$$g_p(z){return I7(this.$$p_d).find((J)=>this.$$p_d[J].attribute===z||!this.$$p_d[J].attribute&&J.toLowerCase()===z)||z}};function N9(z,J,Q,K){let Z=Q[z]?.type;if(J=Z==="Boolean"&&typeof J!=="boolean"?J!=null:J,!K||!Q[z])return J;else if(K==="toAttribute")switch(Z){case"Object":case"Array":return J==null?null:JSON.stringify(J);case"Boolean":return J?"":null;case"Number":return J==null?null:J;default:return J}else switch(Z){case"Object":case"Array":return J&&JSON.parse(J);case"Boolean":return J;case"Number":return J!=null?+J:J;default:return J}}function OZ(z){let J={};return z.childNodes.forEach((Q)=>{J[Q.slot||"default"]=!0}),J}if(f){let z=function(J){if(!(J in globalThis)){let Q;Object.defineProperty(globalThis,J,{configurable:!0,get:()=>{if(Q!==void 0)return Q;HQ(J)},set:(K)=>{Q=K}})}};z("$state"),z("$effect"),z("$derived"),z("$inspect"),z("$props"),z("$bindable")}class k9{cache;prepareCache(){if(!this.cache){let z=localStorage.getItem("handleCache");this.cache=z?JSON.parse(z):{}}}saveCache(){localStorage.setItem("handleCache",JSON.stringify(this.cache))}getHandleDid(z){return this.prepareCache(),this.cache[z]}setHandleDid(z,J){this.prepareCache(),this.cache[z]=J,this.saveCache()}findHandleByDid(z){this.prepareCache();let J=Object.entries(this.cache).find((Q)=>Q[1]==z);return J?J[0]:void 0}}class G6 extends Error{code;json;constructor(z,J){super("APIError status "+z+` 47 47 48 - `+JSON.stringify(J));this.code=z,this.json=J}}class bJ extends Error{}class B8 extends Error{}class s5{host;config;user;sendAuthHeaders;autoManageTokens;constructor(z,J,Q){if(this.host=z,this.config=J||null,this.user=J?.user||null,this.sendAuthHeaders=!!this.user,this.autoManageTokens=!!this.user,Q)Object.assign(this,Q)}get baseURL(){if(this.host)return(this.host.includes("://")?this.host:`https://${this.host}`)+"/xrpc";else throw new bJ("Hostname not set")}get isLoggedIn(){return!!(this.user&&this.user.accessToken&&this.user.refreshToken&&this.user.did&&this.user.pdsEndpoint)}async getRequest(z,J,Q={}){let K=new URL(`${this.baseURL}/${z}`),X=Q&&"auth"in Q?Q.auth:this.sendAuthHeaders;if(this.autoManageTokens&&X===!0)await this.checkAccess();if(J)for(let G in J)if(J[G]instanceof Array)J[G].forEach((w)=>K.searchParams.append(G,w));else K.searchParams.append(G,J[G]);let Z=this.authHeaders(X);if(Q.headers)Object.assign(Z,Q.headers);let W=await fetch(K,{headers:Z,signal:Q.abortSignal??null});return await this.parseResponse(W)}async postRequest(z,J,Q={}){let K=`${this.baseURL}/${z}`,X=Q&&"auth"in Q?Q.auth:this.sendAuthHeaders;if(this.autoManageTokens&&X===!0)await this.checkAccess();let Z=this.authHeaders(X),W={method:"POST"};if(J)W.body=JSON.stringify(J),Z["Content-Type"]="application/json";if(Q.headers)Object.assign(Z,Q.headers);if(Q.abortSignal)W.signal=Q.abortSignal;W.headers=Z;let G=await fetch(K,W);return await this.parseResponse(G)}async fetchAll(z,J){if(!J||!J.field)throw new bJ("'field' option is required");let Q=[],K=J.params??{},X=this.sliceOptions(J,["auth","headers","abortSignal"]);for(;;){let Z=await this.getRequest(z,K,X),W=Z[J.field],G=Z.cursor;if(J.breakWhen){let w=J.breakWhen;if(W.some((H)=>w(H))){if(!J.keepLastPage)W=W.filter((H)=>!w(H));G=null}}if(Q=Q.concat(W),K.cursor=G,J.onPageLoad?.(W),!G)break}return Q}authHeaders(z){if(typeof z=="string")return{Authorization:`Bearer ${z}`};else if(z)if(this.user?.accessToken)return{Authorization:`Bearer ${this.user.accessToken}`};else throw new B8("Can't send auth headers, access token is missing");else return{}}sliceOptions(z,J){let Q={};for(let K of J)if(K in z)Q[K]=z[K];return Q}tokenExpirationTimestamp(z){let J=z.split(".");if(J.length!=3)throw new B8("Invalid access token format");let K=JSON.parse(atob(J[1])).exp;if(!(K&&typeof K=="number"&&K>0))throw new B8("Invalid token expiry data");return K*1000}isInvalidToken(z,J){return z.status==400&&!!J&&["InvalidToken","ExpiredToken"].includes(J.error)}async parseResponse(z){let J=await z.text(),Q=J.trim().length>0?JSON.parse(J):void 0;if(z.status>=200&&z.status<300)return Q;else throw new o6(z.status,Q)}requireUserConfig(){if(!this.config||!this.config.user)throw new B8("Missing user configuration object")}requireLoggedInUser(){if(this.requireUserConfig(),!this.isLoggedIn)throw new B8("Not logged in")}async checkAccess(){if(this.requireLoggedInUser(),this.tokenExpirationTimestamp(this.user.accessToken)<new Date().getTime()+60000)await this.performTokenRefresh()}async logIn(z,J){this.requireUserConfig();let Q={identifier:z,password:J},K=await this.postRequest("com.atproto.server.createSession",Q,{auth:!1});return this.saveTokens(K),K}async performTokenRefresh(){this.requireLoggedInUser(),console.log("Refreshing access tokenโ€ฆ");let z=await this.postRequest("com.atproto.server.refreshSession",null,{auth:this.user.refreshToken});return this.saveTokens(z),z}saveTokens(z){if(this.requireUserConfig(),this.user.accessToken=z.accessJwt,this.user.refreshToken=z.refreshJwt,this.user.did=z.did,z.didDoc?.service){let J=z.didDoc.service.find((Q)=>Q.id=="#atproto_pds");this.host=J.serviceEndpoint.replace("https://","")}this.user.pdsEndpoint=this.host,this.config.save()}resetTokens(){this.requireUserConfig(),delete this.user.accessToken,delete this.user.refreshToken,delete this.user.did,delete this.user.pdsEndpoint,this.config.save()}}class fK{repo;collection;rkey;constructor(z){if(!z.startsWith("at://"))throw new a6(`Not an at:// URI: ${z}`);let J=z.split("/");if(J.length!=5)throw new a6(`Invalid at:// URI: ${z}`);this.repo=J[2],this.collection=J[3],this.rkey=J[4]}}function m0(z){return new fK(z)}function L4(){return new IntersectionObserver((z,J)=>{for(let Q of z)if(Q.isIntersecting){let K=Q.target;K.removeAttribute("lazy"),J.unobserve(K)}},{rootMargin:"1000px 0px"})}var TJ=L4();/*! @license DOMPurify 3.3.0 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.3.0/LICENSE */var{entries:cK,setPrototypeOf:mK,isFrozen:P4,getPrototypeOf:I4,getOwnPropertyDescriptor:S4}=Object,{freeze:g1,seal:G6,create:mJ}=Object,{apply:$J,construct:uJ}=typeof Reflect<"u"&&Reflect;if(!g1)g1=function(J){return J};if(!G6)G6=function(J){return J};if(!$J)$J=function(J,Q){for(var K=arguments.length,X=Array(K>2?K-2:0),Z=2;Z<K;Z++)X[Z-2]=arguments[Z];return J.apply(Q,X)};if(!uJ)uJ=function(J){for(var Q=arguments.length,K=Array(Q>1?Q-1:0),X=1;X<Q;X++)K[X-1]=arguments[X];return new J(...K)};var az=h1(Array.prototype.forEach),D4=h1(Array.prototype.lastIndexOf),$K=h1(Array.prototype.pop),o5=h1(Array.prototype.push),R4=h1(Array.prototype.splice),nz=h1(String.prototype.toLowerCase),EJ=h1(String.prototype.toString),yJ=h1(String.prototype.match),a5=h1(String.prototype.replace),j4=h1(String.prototype.indexOf),A4=h1(String.prototype.trim),L6=h1(Object.prototype.hasOwnProperty),v1=h1(RegExp.prototype.test),r5=N4(TypeError);function h1(z){return function(J){if(J instanceof RegExp)J.lastIndex=0;for(var Q=arguments.length,K=Array(Q>1?Q-1:0),X=1;X<Q;X++)K[X-1]=arguments[X];return $J(z,J,K)}}function N4(z){return function(){for(var J=arguments.length,Q=Array(J),K=0;K<J;K++)Q[K]=arguments[K];return uJ(z,Q)}}function P0(z,J){let Q=arguments.length>2&&arguments[2]!==void 0?arguments[2]:nz;if(mK)mK(z,null);let K=J.length;while(K--){let X=J[K];if(typeof X==="string"){let Z=Q(X);if(Z!==X){if(!P4(J))J[K]=Z;X=Z}}z[X]=!0}return z}function k4(z){for(let J=0;J<z.length;J++)if(!L6(z,J))z[J]=null;return z}function r6(z){let J=mJ(null);for(let[Q,K]of cK(z))if(L6(z,Q))if(Array.isArray(K))J[Q]=k4(K);else if(K&&typeof K==="object"&&K.constructor===Object)J[Q]=r6(K);else J[Q]=K;return J}function n5(z,J){while(z!==null){let K=S4(z,J);if(K){if(K.get)return h1(K.get);if(typeof K.value==="function")return h1(K.value)}z=I4(z)}function Q(){return null}return Q}var uK=g1(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),vJ=g1(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),gJ=g1(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),b4=g1(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),hJ=g1(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),T4=g1(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),lK=g1(["#text"]),pK=g1(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns","slot"]),fJ=g1(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),dK=g1(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),rz=g1(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),E4=G6(/\{\{[\w\W]*|[\w\W]*\}\}/gm),y4=G6(/<%[\w\W]*|[\w\W]*%>/gm),v4=G6(/\$\{[\w\W]*/gm),g4=G6(/^data-[\-\w.\u00B7-\uFFFF]+$/),h4=G6(/^aria-[\-\w]+$/),sK=G6(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),f4=G6(/^(?:\w+script|data):/i),m4=G6(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),oK=G6(/^html$/i),$4=G6(/^[a-z][.\w]*(-[.\w]+)+$/i),iK=Object.freeze({__proto__:null,ARIA_ATTR:h4,ATTR_WHITESPACE:m4,CUSTOM_ELEMENT:$4,DATA_ATTR:g4,DOCTYPE_NAME:oK,ERB_EXPR:y4,IS_ALLOWED_URI:sK,IS_SCRIPT_OR_DATA:f4,MUSTACHE_EXPR:E4,TMPLIT_EXPR:v4}),t5={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},u4=function(){return typeof window>"u"?null:window},l4=function(J,Q){if(typeof J!=="object"||typeof J.createPolicy!=="function")return null;let K=null,X="data-tt-policy-suffix";if(Q&&Q.hasAttribute(X))K=Q.getAttribute(X);let Z="dompurify"+(K?"#"+K:"");try{return J.createPolicy(Z,{createHTML(W){return W},createScriptURL(W){return W}})}catch(W){return console.warn("TrustedTypes policy "+Z+" could not be created."),null}},_K=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function aK(){let z=arguments.length>0&&arguments[0]!==void 0?arguments[0]:u4(),J=(K0)=>aK(K0);if(J.version="3.3.0",J.removed=[],!z||!z.document||z.document.nodeType!==t5.document||!z.Element)return J.isSupported=!1,J;let{document:Q}=z,K=Q,X=K.currentScript,{DocumentFragment:Z,HTMLTemplateElement:W,Node:G,Element:w,NodeFilter:H,NamedNodeMap:q=z.NamedNodeMap||z.MozNamedAttrMap,HTMLFormElement:F,DOMParser:B,trustedTypes:U}=z,M=w.prototype,P=n5(M,"cloneNode"),O=n5(M,"remove"),j=n5(M,"nextSibling"),T=n5(M,"childNodes"),E=n5(M,"parentNode");if(typeof W==="function"){let K0=Q.createElement("template");if(K0.content&&K0.content.ownerDocument)Q=K0.content.ownerDocument}let N,y="",{implementation:b,createNodeIterator:A,createDocumentFragment:k,getElementsByTagName:$}=Q,{importNode:v}=K,l=_K();J.isSupported=typeof cK==="function"&&typeof E==="function"&&b&&b.createHTMLDocument!==void 0;let{MUSTACHE_EXPR:n,ERB_EXPR:o,TMPLIT_EXPR:a,DATA_ATTR:X0,ARIA_ATTR:Q0,IS_SCRIPT_OR_DATA:U0,ATTR_WHITESPACE:D0,CUSTOM_ELEMENT:M0}=iK,{IS_ALLOWED_URI:v0}=iK,s=null,V0=P0({},[...uK,...vJ,...gJ,...hJ,...lK]),Y0=null,e=P0({},[...pK,...fJ,...dK,...rz]),t=Object.seal(mJ(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),G0=null,O0=null,H0=Object.seal(mJ(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),F0=!0,u0=!0,n0=!1,k0=!0,z6=!1,t6=!0,H6=!1,u8=!1,l8=!1,e6=!1,p8=!1,wz=!1,E7=!0,y7=!1,MZ="user-content-",q9=!0,A5=!1,d8={},i8=null,v7=P0({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),g7=null,h7=P0({},["audio","video","img","source","image","track"]),M9=null,f7=P0({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Uz="http://www.w3.org/1998/Math/MathML",Vz="http://www.w3.org/2000/svg",g6="http://www.w3.org/1999/xhtml",_8=g6,C9=!1,x9=null,CZ=P0({},[Uz,Vz,g6],EJ),Fz=P0({},["mi","mo","mn","ms","mtext"]),qz=P0({},["annotation-xml"]),xZ=P0({},["title","style","font","a","script"]),N5=null,OZ=["application/xhtml+xml","text/html"],LZ="text/html",G1=null,c8=null,PZ=Q.createElement("form"),m7=function(I){return I instanceof RegExp||I instanceof Function},O9=function(){let I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(c8&&c8===I)return;if(!I||typeof I!=="object")I={};if(I=r6(I),N5=OZ.indexOf(I.PARSER_MEDIA_TYPE)===-1?LZ:I.PARSER_MEDIA_TYPE,G1=N5==="application/xhtml+xml"?EJ:nz,s=L6(I,"ALLOWED_TAGS")?P0({},I.ALLOWED_TAGS,G1):V0,Y0=L6(I,"ALLOWED_ATTR")?P0({},I.ALLOWED_ATTR,G1):e,x9=L6(I,"ALLOWED_NAMESPACES")?P0({},I.ALLOWED_NAMESPACES,EJ):CZ,M9=L6(I,"ADD_URI_SAFE_ATTR")?P0(r6(f7),I.ADD_URI_SAFE_ATTR,G1):f7,g7=L6(I,"ADD_DATA_URI_TAGS")?P0(r6(h7),I.ADD_DATA_URI_TAGS,G1):h7,i8=L6(I,"FORBID_CONTENTS")?P0({},I.FORBID_CONTENTS,G1):v7,G0=L6(I,"FORBID_TAGS")?P0({},I.FORBID_TAGS,G1):r6({}),O0=L6(I,"FORBID_ATTR")?P0({},I.FORBID_ATTR,G1):r6({}),d8=L6(I,"USE_PROFILES")?I.USE_PROFILES:!1,F0=I.ALLOW_ARIA_ATTR!==!1,u0=I.ALLOW_DATA_ATTR!==!1,n0=I.ALLOW_UNKNOWN_PROTOCOLS||!1,k0=I.ALLOW_SELF_CLOSE_IN_ATTR!==!1,z6=I.SAFE_FOR_TEMPLATES||!1,t6=I.SAFE_FOR_XML!==!1,H6=I.WHOLE_DOCUMENT||!1,e6=I.RETURN_DOM||!1,p8=I.RETURN_DOM_FRAGMENT||!1,wz=I.RETURN_TRUSTED_TYPE||!1,l8=I.FORCE_BODY||!1,E7=I.SANITIZE_DOM!==!1,y7=I.SANITIZE_NAMED_PROPS||!1,q9=I.KEEP_CONTENT!==!1,A5=I.IN_PLACE||!1,v0=I.ALLOWED_URI_REGEXP||sK,_8=I.NAMESPACE||g6,Fz=I.MATHML_TEXT_INTEGRATION_POINTS||Fz,qz=I.HTML_INTEGRATION_POINTS||qz,t=I.CUSTOM_ELEMENT_HANDLING||{},I.CUSTOM_ELEMENT_HANDLING&&m7(I.CUSTOM_ELEMENT_HANDLING.tagNameCheck))t.tagNameCheck=I.CUSTOM_ELEMENT_HANDLING.tagNameCheck;if(I.CUSTOM_ELEMENT_HANDLING&&m7(I.CUSTOM_ELEMENT_HANDLING.attributeNameCheck))t.attributeNameCheck=I.CUSTOM_ELEMENT_HANDLING.attributeNameCheck;if(I.CUSTOM_ELEMENT_HANDLING&&typeof I.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements==="boolean")t.allowCustomizedBuiltInElements=I.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements;if(z6)u0=!1;if(p8)e6=!0;if(d8){if(s=P0({},lK),Y0=[],d8.html===!0)P0(s,uK),P0(Y0,pK);if(d8.svg===!0)P0(s,vJ),P0(Y0,fJ),P0(Y0,rz);if(d8.svgFilters===!0)P0(s,gJ),P0(Y0,fJ),P0(Y0,rz);if(d8.mathMl===!0)P0(s,hJ),P0(Y0,dK),P0(Y0,rz)}if(I.ADD_TAGS)if(typeof I.ADD_TAGS==="function")H0.tagCheck=I.ADD_TAGS;else{if(s===V0)s=r6(s);P0(s,I.ADD_TAGS,G1)}if(I.ADD_ATTR)if(typeof I.ADD_ATTR==="function")H0.attributeCheck=I.ADD_ATTR;else{if(Y0===e)Y0=r6(Y0);P0(Y0,I.ADD_ATTR,G1)}if(I.ADD_URI_SAFE_ATTR)P0(M9,I.ADD_URI_SAFE_ATTR,G1);if(I.FORBID_CONTENTS){if(i8===v7)i8=r6(i8);P0(i8,I.FORBID_CONTENTS,G1)}if(q9)s["#text"]=!0;if(H6)P0(s,["html","head","body"]);if(s.table)P0(s,["tbody"]),delete G0.tbody;if(I.TRUSTED_TYPES_POLICY){if(typeof I.TRUSTED_TYPES_POLICY.createHTML!=="function")throw r5('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof I.TRUSTED_TYPES_POLICY.createScriptURL!=="function")throw r5('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');N=I.TRUSTED_TYPES_POLICY,y=N.createHTML("")}else{if(N===void 0)N=l4(U,X);if(N!==null&&typeof y==="string")y=N.createHTML("")}if(g1)g1(I);c8=I},$7=P0({},[...vJ,...gJ,...b4]),u7=P0({},[...hJ,...T4]),IZ=function(I){let p=E(I);if(!p||!p.tagName)p={namespaceURI:_8,tagName:"template"};let z0=nz(I.tagName),g0=nz(p.tagName);if(!x9[I.namespaceURI])return!1;if(I.namespaceURI===Vz){if(p.namespaceURI===g6)return z0==="svg";if(p.namespaceURI===Uz)return z0==="svg"&&(g0==="annotation-xml"||Fz[g0]);return Boolean($7[z0])}if(I.namespaceURI===Uz){if(p.namespaceURI===g6)return z0==="math";if(p.namespaceURI===Vz)return z0==="math"&&qz[g0];return Boolean(u7[z0])}if(I.namespaceURI===g6){if(p.namespaceURI===Vz&&!qz[g0])return!1;if(p.namespaceURI===Uz&&!Fz[g0])return!1;return!u7[z0]&&(xZ[z0]||!$7[z0])}if(N5==="application/xhtml+xml"&&x9[I.namespaceURI])return!0;return!1},I6=function(I){o5(J.removed,{element:I});try{E(I).removeChild(I)}catch(p){O(I)}},F8=function(I,p){try{o5(J.removed,{attribute:p.getAttributeNode(I),from:p})}catch(z0){o5(J.removed,{attribute:null,from:p})}if(p.removeAttribute(I),I==="is")if(e6||p8)try{I6(p)}catch(z0){}else try{p.setAttribute(I,"")}catch(z0){}},l7=function(I){let p=null,z0=null;if(l8)I="<remove></remove>"+I;else{let t0=yJ(I,/^[\r\n\t ]+/);z0=t0&&t0[0]}if(N5==="application/xhtml+xml"&&_8===g6)I='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+I+"</body></html>";let g0=N?N.createHTML(I):I;if(_8===g6)try{p=new B().parseFromString(g0,N5)}catch(t0){}if(!p||!p.documentElement){p=b.createDocument(_8,"template",null);try{p.documentElement.innerHTML=C9?y:g0}catch(t0){}}let S1=p.body||p.documentElement;if(I&&z0)S1.insertBefore(Q.createTextNode(z0),S1.childNodes[0]||null);if(_8===g6)return $.call(p,H6?"html":"body")[0];return H6?p.documentElement:S1},p7=function(I){return A.call(I.ownerDocument||I,I,H.SHOW_ELEMENT|H.SHOW_COMMENT|H.SHOW_TEXT|H.SHOW_PROCESSING_INSTRUCTION|H.SHOW_CDATA_SECTION,null)},L9=function(I){return I instanceof F&&(typeof I.nodeName!=="string"||typeof I.textContent!=="string"||typeof I.removeChild!=="function"||!(I.attributes instanceof q)||typeof I.removeAttribute!=="function"||typeof I.setAttribute!=="function"||typeof I.namespaceURI!=="string"||typeof I.insertBefore!=="function"||typeof I.hasChildNodes!=="function")},d7=function(I){return typeof G==="function"&&I instanceof G};function h6(K0,I,p){az(K0,(z0)=>{z0.call(J,I,p,c8)})}let i7=function(I){let p=null;if(h6(l.beforeSanitizeElements,I,null),L9(I))return I6(I),!0;let z0=G1(I.nodeName);if(h6(l.uponSanitizeElement,I,{tagName:z0,allowedTags:s}),t6&&I.hasChildNodes()&&!d7(I.firstElementChild)&&v1(/<[/\w!]/g,I.innerHTML)&&v1(/<[/\w!]/g,I.textContent))return I6(I),!0;if(I.nodeType===t5.progressingInstruction)return I6(I),!0;if(t6&&I.nodeType===t5.comment&&v1(/<[/\w]/g,I.data))return I6(I),!0;if(!(H0.tagCheck instanceof Function&&H0.tagCheck(z0))&&(!s[z0]||G0[z0])){if(!G0[z0]&&c7(z0)){if(t.tagNameCheck instanceof RegExp&&v1(t.tagNameCheck,z0))return!1;if(t.tagNameCheck instanceof Function&&t.tagNameCheck(z0))return!1}if(q9&&!i8[z0]){let g0=E(I)||I.parentNode,S1=T(I)||I.childNodes;if(S1&&g0){let t0=S1.length;for(let f1=t0-1;f1>=0;--f1){let f6=P(S1[f1],!0);f6.__removalCount=(I.__removalCount||0)+1,g0.insertBefore(f6,j(I))}}}return I6(I),!0}if(I instanceof w&&!IZ(I))return I6(I),!0;if((z0==="noscript"||z0==="noembed"||z0==="noframes")&&v1(/<\/no(script|embed|frames)/i,I.innerHTML))return I6(I),!0;if(z6&&I.nodeType===t5.text){if(p=I.textContent,az([n,o,a],(g0)=>{p=a5(p,g0," ")}),I.textContent!==p)o5(J.removed,{element:I.cloneNode()}),I.textContent=p}return h6(l.afterSanitizeElements,I,null),!1},_7=function(I,p,z0){if(E7&&(p==="id"||p==="name")&&((z0 in Q)||(z0 in PZ)))return!1;if(u0&&!O0[p]&&v1(X0,p));else if(F0&&v1(Q0,p));else if(H0.attributeCheck instanceof Function&&H0.attributeCheck(p,I));else if(!Y0[p]||O0[p])if(c7(I)&&(t.tagNameCheck instanceof RegExp&&v1(t.tagNameCheck,I)||t.tagNameCheck instanceof Function&&t.tagNameCheck(I))&&(t.attributeNameCheck instanceof RegExp&&v1(t.attributeNameCheck,p)||t.attributeNameCheck instanceof Function&&t.attributeNameCheck(p,I))||p==="is"&&t.allowCustomizedBuiltInElements&&(t.tagNameCheck instanceof RegExp&&v1(t.tagNameCheck,z0)||t.tagNameCheck instanceof Function&&t.tagNameCheck(z0)));else return!1;else if(M9[p]);else if(v1(v0,a5(z0,D0,"")));else if((p==="src"||p==="xlink:href"||p==="href")&&I!=="script"&&j4(z0,"data:")===0&&g7[I]);else if(n0&&!v1(U0,a5(z0,D0,"")));else if(z0)return!1;return!0},c7=function(I){return I!=="annotation-xml"&&yJ(I,M0)},s7=function(I){h6(l.beforeSanitizeAttributes,I,null);let{attributes:p}=I;if(!p||L9(I))return;let z0={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:Y0,forceKeepAttr:void 0},g0=p.length;while(g0--){let S1=p[g0],{name:t0,namespaceURI:f1,value:f6}=S1,s8=G1(t0),P9=f6,F1=t0==="value"?P9:A4(P9);if(z0.attrName=s8,z0.attrValue=F1,z0.keepAttr=!0,z0.forceKeepAttr=void 0,h6(l.uponSanitizeAttribute,I,z0),F1=z0.attrValue,y7&&(s8==="id"||s8==="name"))F8(t0,I),F1=MZ+F1;if(t6&&v1(/((--!?|])>)|<\/(style|title|textarea)/i,F1)){F8(t0,I);continue}if(s8==="attributename"&&yJ(F1,"href")){F8(t0,I);continue}if(z0.forceKeepAttr)continue;if(!z0.keepAttr){F8(t0,I);continue}if(!k0&&v1(/\/>/i,F1)){F8(t0,I);continue}if(z6)az([n,o,a],(a7)=>{F1=a5(F1,a7," ")});let o7=G1(I.nodeName);if(!_7(o7,s8,F1)){F8(t0,I);continue}if(N&&typeof U==="object"&&typeof U.getAttributeType==="function")if(f1);else switch(U.getAttributeType(o7,s8)){case"TrustedHTML":{F1=N.createHTML(F1);break}case"TrustedScriptURL":{F1=N.createScriptURL(F1);break}}if(F1!==P9)try{if(f1)I.setAttributeNS(f1,t0,F1);else I.setAttribute(t0,F1);if(L9(I))I6(I);else $K(J.removed)}catch(a7){F8(t0,I)}}h6(l.afterSanitizeAttributes,I,null)},SZ=function K0(I){let p=null,z0=p7(I);h6(l.beforeSanitizeShadowDOM,I,null);while(p=z0.nextNode())if(h6(l.uponSanitizeShadowNode,p,null),i7(p),s7(p),p.content instanceof Z)K0(p.content);h6(l.afterSanitizeShadowDOM,I,null)};return J.sanitize=function(K0){let I=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},p=null,z0=null,g0=null,S1=null;if(C9=!K0,C9)K0="<!-->";if(typeof K0!=="string"&&!d7(K0))if(typeof K0.toString==="function"){if(K0=K0.toString(),typeof K0!=="string")throw r5("dirty is not a string, aborting")}else throw r5("toString is not a function");if(!J.isSupported)return K0;if(!u8)O9(I);if(J.removed=[],typeof K0==="string")A5=!1;if(A5){if(K0.nodeName){let f6=G1(K0.nodeName);if(!s[f6]||G0[f6])throw r5("root node is forbidden and cannot be sanitized in-place")}}else if(K0 instanceof G)if(p=l7("<!---->"),z0=p.ownerDocument.importNode(K0,!0),z0.nodeType===t5.element&&z0.nodeName==="BODY")p=z0;else if(z0.nodeName==="HTML")p=z0;else p.appendChild(z0);else{if(!e6&&!z6&&!H6&&K0.indexOf("<")===-1)return N&&wz?N.createHTML(K0):K0;if(p=l7(K0),!p)return e6?null:wz?y:""}if(p&&l8)I6(p.firstChild);let t0=p7(A5?K0:p);while(g0=t0.nextNode())if(i7(g0),s7(g0),g0.content instanceof Z)SZ(g0.content);if(A5)return K0;if(e6){if(p8){S1=k.call(p.ownerDocument);while(p.firstChild)S1.appendChild(p.firstChild)}else S1=p;if(Y0.shadowroot||Y0.shadowrootmode)S1=v.call(K,S1,!0);return S1}let f1=H6?p.outerHTML:p.innerHTML;if(H6&&s["!doctype"]&&p.ownerDocument&&p.ownerDocument.doctype&&p.ownerDocument.doctype.name&&v1(oK,p.ownerDocument.doctype.name))f1="<!DOCTYPE "+p.ownerDocument.doctype.name+`> 49 - `+f1;if(z6)az([n,o,a],(f6)=>{f1=a5(f1,f6," ")});return N&&wz?N.createHTML(f1):f1},J.setConfig=function(){let K0=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};O9(K0),u8=!0},J.clearConfig=function(){c8=null,u8=!1},J.isValidAttribute=function(K0,I,p){if(!c8)O9({});let z0=G1(K0),g0=G1(I);return _7(z0,g0,p)},J.addHook=function(K0,I){if(typeof I!=="function")return;o5(l[K0],I)},J.removeHook=function(K0,I){if(I!==void 0){let p=D4(l[K0],I);return p===-1?void 0:R4(l[K0],p,1)[0]}return $K(l[K0])},J.removeHooks=function(K0){l[K0]=[]},J.removeAllHooks=function(){l=_K()},J}var rK=aK();function E8(z){return tz(z,"day")}function tz(z,J,Q){if(z==1)return`1 ${J}`;else return Q=Q??`${J}s`,`${z} ${Q}`}function nK(z){return rK.sanitize(z,{ALLOWED_TAGS:["a","b","blockquote","br","code","dd","del","div","dl","dt","em","font","h1","h2","h3","h4","h5","h6","hr","i","li","ol","p","q","pre","s","span","strong","sub","sup","u","wbr","#text"],ALLOWED_ATTR:["align","alt","class","clear","color","dir","href","lang","rel","title","translate"]})}function tK(z,J){if(z.length<=J)return z;else return z.slice(0,J-1)+"โ€ฆ"}function y8(z){if(z===void 0||z===null||typeof z=="number")return z;else return parseInt(z,10)}function i1(z){let J=z.reason?z.reason.indexedAt:z.post.record.createdAt;return Date.parse(J)}function ez(z){try{return new URL(z),!0}catch(J){return console.error("Invalid URL: "+J),!1}}function eK(z,J){return z.getDate()==J.getDate()&&z.getMonth()==J.getMonth()&&z.getFullYear()==J.getFullYear()}function H8(z){console.log(z),alert(z)}class _1{constructor(z,J){this.data=z,Object.assign(this,J??{})}get uri(){return this.data.uri}get cid(){return this.data.cid}get rkey(){return m0(this.uri).rkey}get type(){return this.data.$type}}class e5 extends _1{constructor(z){super(z);this.author=z.creator}get title(){return this.data.displayName}get description(){return this.data.description}get likeCount(){return y8(this.data.likeCount)}get avatar(){return this.data.avatar}}class zz extends _1{constructor(z){super(z);this.author=z.creator}get title(){return this.data.name}get purpose(){return this.data.purpose}get description(){return this.data.description}get avatar(){return this.data.avatar}}class Jz extends _1{constructor(z){super(z);this.author=z.creator}get title(){return this.data.record.name}get description(){return this.data.record.description}}class W1{json;static parseInlineEmbed(z){switch(z.$type){case"app.bsky.embed.record#view":return new q5(z);case"app.bsky.embed.recordWithMedia#view":return new M5(z);case"app.bsky.embed.images#view":return new X9(z);case"app.bsky.embed.external#view":return new C5(z);case"app.bsky.embed.video#view":return new x5(z);default:if(location.protocol=="file:")throw new F5(`Unexpected embed type: ${z.$type}`);else return console.warn("Unexpected embed type:",z.$type),new W1(z)}}static parseRawEmbed(z){switch(z.$type){case"app.bsky.embed.record":return new K9(z);case"app.bsky.embed.recordWithMedia":return new Z9(z);case"app.bsky.embed.images":return new z9(z);case"app.bsky.embed.external":return new J9(z);case"app.bsky.embed.video":return new Q9(z);default:if(location.protocol=="file:")throw new F5(`Unexpected embed type: ${z.$type}`);else return console.warn("Unexpected embed type:",z.$type),new W1(z)}}constructor(z){this.json=z}get type(){return this.json.$type}}class z9 extends W1{images;constructor(z){super(z);this.images=z.images}}class J9 extends W1{url;title;thumb;constructor(z){super(z);this.url=z.external.uri,this.title=z.external.title,this.thumb=z.external.thumb}}class Q9 extends W1{video;constructor(z){super(z);this.video=z.video}}class K9 extends W1{record;constructor(z){super(z);this.record=new _1(z.record)}}class Z9 extends W1{record;media;constructor(z){super(z);this.record=new _1(z.record.record),this.media=W1.parseRawEmbed(z.media)}}class q5 extends W1{record;constructor(z){super(z);this.record=lJ(z.record)}}class M5 extends W1{record;media;constructor(z){super(z);this.record=lJ(z.record.record),this.media=W1.parseInlineEmbed(z.media)}}class C5 extends W1{url;title;description;thumb;constructor(z){super(z);this.url=z.external.uri,this.title=z.external.title,this.description=z.external.description,this.thumb=z.external.thumb}}class X9 extends W1{images;constructor(z){super(z);this.images=z.images}}class x5 extends W1{playlistURL;alt;constructor(z){super(z);this.playlistURL=z.playlist,this.alt=z.alt}}class F5 extends Error{constructor(z){super(z)}}class v8 extends _1{get didLinkToAuthor(){let{repo:z}=m0(this.uri);return`https://bsky.app/profile/${z}`}}function w8(z,J=null,Q=0,K=0){switch(z.$type){case"app.bsky.feed.defs#threadViewPost":let X=new S0(z.post,{level:Q,absoluteLevel:K});if(X.pageRoot=J??X,z.replies){let Z=z.replies.map((W)=>w8(W,X.pageRoot,Q+1,K+1));X.setReplies(Z)}if(K<=0&&z.parent)X.parent=w8(z.parent,X.pageRoot,Q-1,K-1);return X;case"app.bsky.feed.defs#notFoundPost":return new P6(z);case"app.bsky.feed.defs#blockedPost":return new y6(z);default:throw new F5(`Unexpected record type: ${z.$type}`)}}function lJ(z){switch(z.$type){case"app.bsky.embed.record#viewRecord":return new S0(z,{isEmbed:!0});case"app.bsky.embed.record#viewNotFound":return new P6(z);case"app.bsky.embed.record#viewBlocked":return new y6(z);case"app.bsky.embed.record#viewDetached":return new O5(z);case"app.bsky.feed.defs#generatorView":return new e5(z);case"app.bsky.graph.defs#listView":return new zz(z);case"app.bsky.graph.defs#starterPackViewBasic":return new Jz(z);default:return console.warn("Unknown record type:",z.$type),new _1(z)}}function JZ(z){let J=new S0(z.post);if(z.reply){if(J.parent=zZ(z.reply.parent),J.threadRoot=zZ(z.reply.root),z.reply.grandparentAuthor)J.grandparentAuthor=z.reply.grandparentAuthor}if(z.reason)J.reason=z.reason;return J}function zZ(z){switch(z.$type){case"app.bsky.feed.defs#postView":return new S0(z);case"app.bsky.feed.defs#notFoundPost":return new P6(z);case"app.bsky.feed.defs#blockedPost":return new y6(z);default:throw new F5(`Unexpected record type: ${z.$type}`)}}class S0 extends v8{parent;threadRoot;pageRoot;replies;grandparentAuthor;level;absoluteLevel;reason;isEmbed;constructor(z,J){super(z);if(Object.assign(this,J??{}),this.absoluteLevel===0)this.pageRoot=this;if(this.record=this.isPostView?z.record:z.value,this.isPostView&&z.embed)this.embed=W1.parseInlineEmbed(z.embed);else if(this.isEmbed&&z.embeds&&z.embeds[0])this.embed=W1.parseInlineEmbed(z.embeds[0]);else if(this.record.embed)this.embed=W1.parseRawEmbed(this.record.embed);if(this.author=this.author??z.author,this.replies=[],this.viewerData=z.viewer,this.viewerLike=z.viewer?.like,this.author)N0.cacheProfile(this.author)}updateDataFromPost(z){this.record=z.record,this.embed=z.embed,this.author=z.author,this.viewerData=z.viewerData,this.viewerLike=z.viewerLike,this.level=z.level,this.absoluteLevel=z.absoluteLevel,this.setReplies(z.replies)}setReplies(z){this.replies=z,this.replies.sort(this.sortReplies.bind(this))}sortReplies(z,J){if(z instanceof S0&&J instanceof S0)if(z.author.did==this.author.did&&J.author.did!=this.author.did)return-1;else if(z.author.did!=this.author.did&&J.author.did==this.author.did)return 1;else if(z.text!="\uD83D\uDCCC"&&J.text=="\uD83D\uDCCC")return-1;else if(z.text=="\uD83D\uDCCC"&&J.text!="\uD83D\uDCCC")return 1;else if(z.createdAt.getTime()<J.createdAt.getTime())return-1;else if(z.createdAt.getTime()>J.createdAt.getTime())return 1;else return 0;else if(z instanceof S0)return-1;else if(J instanceof S0)return 1;else return 0}get isPostView(){return!this.isEmbed}get isFediPost(){return this.author?.handle.endsWith(".ap.brid.gy")}get originalFediContent(){return this.record.bridgyOriginalText}get originalFediURL(){return this.record.bridgyOriginalUrl}get isPageRoot(){return this.pageRoot===this}get authorFediHandle(){if(this.isFediPost)return this.author.handle.replace(/\.ap\.brid\.gy$/,"").replace(".","@");else throw"Not a Fedi post"}get hasValidHandle(){return this.author.handle!="handle.invalid"}get authorDisplayName(){if(this.author.displayName)return this.author.displayName.trim();else if(this.author.handle.endsWith(".bsky.social"))return this.author.handle.replace(/\.bsky\.social$/,"");else return this.author.handle}get linkToAuthor(){return"https://bsky.app/profile/"+(this.hasValidHandle?this.author.handle:this.author.did)}get linkToPost(){return this.linkToAuthor+"/post/"+this.rkey}get text(){return this.record.text}get lowercaseText(){if(!this._lowercaseText)this._lowercaseText=this.record.text.toLowerCase();return this._lowercaseText}get facets(){return this.record.facets}get tags(){return this.record.tags}get createdAt(){return new Date(this.record.createdAt)}get likeCount(){return y8(this.data.likeCount)}get replyCount(){return y8(this.data.replyCount)}get quoteCount(){return y8(this.data.quoteCount)}get hasMoreReplies(){return this.replyCount!==void 0&&this.replyCount>this.replies.length&&this.replies.length===0&&(this.level!==void 0&&this.level>4)}get hasHiddenReplies(){return this.replyCount!==void 0&&this.replyCount>this.replies.length&&(this.replies.length>0||this.level!==void 0&&this.level<=4)}get isRestrictingReplies(){return!!(this.data.threadgate&&this.data.threadgate.record.allow)}get repostCount(){return y8(this.data.repostCount)}get liked(){return this.viewerLike!==void 0}get muted(){return this.author.viewer?.muted}get muteList(){return this.author.viewer?.mutedByList?.name}get hasViewerInfo(){return this.viewerData!==void 0}get parentReference(){return this.record.reply?.parent&&new _1(this.record.reply?.parent)}get rootReference(){return this.record.reply?.root&&new _1(this.record.reply?.root)}}class y6 extends v8{constructor(z){super(z);this.author=z.author}get blocksUser(){return!!this.author.viewer?.blocking}get blockedByUser(){return this.author.viewer?.blockedBy}}class P6 extends v8{}class O5 extends v8{}class pJ extends Error{}class a6 extends Error{constructor(z){super(z)}}class Kz extends Error{originalError;constructor(z){super(z.message);this.originalError=z}}class e1 extends s5{handleCache;profiles;constructor(z,J,Q){super(z,J,Q);this.handleCache=new kJ,this.profiles={}}cacheProfile(z){this.profiles[z.did]=z,this.profiles[z.handle]=z,this.handleCache.setHandleDid(z.handle,z.did)}async fetchHandleForDid(z){let J=this.handleCache.findHandleByDid(z);if(J)return J;else return(await this.loadUserProfile(z)).handle}async resolveHandle(z){let J=this.handleCache.getHandleDid(z);if(J)return J;else{let Q=await this.getRequest("com.atproto.identity.resolveHandle",{handle:z},{auth:!1}),K=Q.did;if(K)return this.handleCache.setHandleDid(z,K),K;else throw new pJ("Missing DID in response: "+JSON.stringify(Q))}}async loadThreadByURL(z){let{user:J,post:Q}=Qz(z);return await this.loadThreadById(J,Q)}async loadThreadById(z,J){let K=`at://${z.startsWith("did:")?z:await this.resolveHandle(z)}/app.bsky.feed.post/${J}`;return await this.loadThreadByAtURI(K)}async loadThreadByAtURI(z){return await this.getRequest("app.bsky.feed.getPostThread",{uri:z,depth:10})}async loadUserProfile(z){if(this.profiles[z])return this.profiles[z];else{let J=await this.getRequest("app.bsky.actor.getProfile",{actor:z});return this.cacheProfile(J),J}}async autocompleteUsers(z){return(await this.getRequest("app.bsky.actor.searchActorsTypeahead",{q:z})).actors}async getReplies(z){return(await this.getRequest("blue.feeds.post.getReplies",{uri:z})).replies}async getQuoteCount(z){return(await this.getRequest("blue.feeds.post.getQuoteCount",{uri:z})).quoteCount}async getQuotes(z,J){let Q;if(z.startsWith("at://"))Q=z;else{let{user:X,post:Z}=Qz(z);Q=`at://${X.startsWith("did:")?X:await U8.resolveHandle(X)}/app.bsky.feed.post/${Z}`}let K={uri:Q};if(J)K.cursor=J;return await this.getRequest("blue.feeds.post.getQuotes",K)}async getHashtagFeed(z,J){let Q={q:"#"+z,limit:50,sort:"latest"};if(J)Q.cursor=J;return await this.getRequest("app.bsky.feed.searchPosts",Q)}async loadHiddenReplies(z){let J;try{J=await g8.getReplies(z.uri)}catch(Z){if(Z instanceof o6&&Z.code==404)throw new Kz(Z);else throw Z}let K=J.filter((Z)=>!z.replies.some((W)=>W.uri===Z)).map((Z)=>this.loadThreadByAtURI(Z));return(await Promise.allSettled(K)).map((Z)=>Z.status=="fulfilled"?Z.value:null)}async loadUserTimeline(z,J,Q){let X=new Date().getTime()-J*86400*1000,{filter:Z,...W}=Q;return await this.fetchAll("app.bsky.feed.getAuthorFeed",{params:{actor:z,filter:Z,limit:100},field:"feed",breakWhen:(G)=>i1(G)<X,...W})}async loadListTimeline(z,J,Q={}){let X=new Date().getTime()-J*86400*1000;return await this.fetchAll("app.bsky.feed.getListFeed",{params:{list:z,limit:100},field:"feed",breakWhen:(Z)=>i1(Z)<X,...Q})}async loadPost(z){let J=await this.loadPosts([z]);if(J.length==1)return J[0];else throw new pJ("Post not found")}async loadPostIfExists(z){return(await this.loadPosts([z]))[0]}async loadPosts(z){if(z.length>0)return(await this.getRequest("app.bsky.feed.getPosts",{uris:z})).posts;else return[]}async loadPostViewerInfo(z){let J=await this.loadPostIfExists(z.uri);if(J)z.author=J.author,z.viewerData=J.viewer,z.viewerLike=J.viewer?.like;return J}async reloadBlockedPost(z){let{repo:J}=m0(z),Q=U8.loadPostIfExists(z),K=this.getRequest("app.bsky.actor.getProfile",{actor:J}),X=await Q;if(!X)return null;let Z=await K;return new S0(X,{author:Z})}}class QZ{user;constructor(){let z=localStorage.getItem("userData");this.user=z?JSON.parse(z):{}}save(){if(this.user)localStorage.setItem("userData",JSON.stringify(this.user));else localStorage.removeItem("userData")}}class W9 extends e1{user;constructor(){let z=new QZ,J=z.user.pdsEndpoint||null;super(J,z);this.user=z.user}async getCurrentUserAvatar(){return(await this.getRequest("com.atproto.repo.getRecord",{repo:this.user.did,collection:"app.bsky.actor.profile",rkey:"self"})).value.avatar}async loadCurrentUserAvatar(){if(!this.config||!this.config.user)throw new B8("User isn't logged in");let z=await this.getCurrentUserAvatar();if(z){let J=`https://cdn.bsky.app/img/avatar/plain/${this.user.did}/${z.ref.$link}@jpeg`;return this.config.user.avatar=J,this.config.save(),J}else return null}async loadNotifications(z){return await this.getRequest("app.bsky.notification.listNotifications",z||{})}async loadMentions(z){let J=await this.loadNotifications({cursor:z??"",limit:100,reasons:["reply","mention"]}),Q=J.notifications.map((Z)=>Z.uri),K=[];for(let Z=0;Z<Q.length;Z+=25){let W=this.loadPosts(Q.slice(Z,Z+25));K.push(W)}let X=await Promise.all(K);return{cursor:J.cursor,posts:X.flat()}}async loadHomeTimeline(z,J={}){let K=new Date().getTime()-z*86400*1000;return await this.fetchAll("app.bsky.feed.getTimeline",{params:{limit:100},field:"feed",breakWhen:(X)=>i1(X)<K,...J})}async loadUserLists(){return(await this.fetchAll("app.bsky.graph.getLists",{params:{actor:this.user.did,limit:100},field:"lists"})).filter((J)=>J.purpose=="app.bsky.graph.defs#curatelist")}async likePost(z){return await this.postRequest("com.atproto.repo.createRecord",{repo:this.user.did,collection:"app.bsky.feed.like",record:{subject:{uri:z.uri,cid:z.cid},createdAt:new Date().toISOString()}})}async removeLike(z){let{rkey:J}=m0(z);await this.postRequest("com.atproto.repo.deleteRecord",{repo:this.user.did,collection:"app.bsky.feed.like",rkey:J})}resetTokens(){delete this.user.avatar,super.resetTokens()}}class KZ{#z;get data(){return Y(this.#z)}set data(z){R(this.#z,z,!0)}constructor(){let z=localStorage.getItem("settings");this.#z=f(x0(z?JSON.parse(z):{}))}save(){localStorage.setItem("settings",JSON.stringify(this.data))}logOut(){delete this.data.incognito,this.save()}get dateLocale(){return this.data.dateLocale}set dateLocale(z){this.data.dateLocale=z,this.save()}get incognitoMode(){return this.data.incognito}set incognitoMode(z){this.data.incognito=z,this.save()}get biohazardsEnabled(){return this.data.biohazard}set biohazardsEnabled(z){this.data.biohazard=z,this.save()}}var T0=new KZ;window.settings=T0;var U8=new e1("api.bsky.app"),g8=new e1("blue.mackuba.eu"),q0=new W9,N0;function dJ(){N0=q0.isLoggedIn&&!T0.incognitoMode?q0:U8,window.api=N0}dJ();window.AuthenticatedAPI=W9;window.BlueskyAPI=e1;window.Minisky=s5;window.appView=U8;window.blueAPI=g8;window.accountAPI=q0;function h8(){return location.origin+location.pathname}function L5(z){let J=new URL(h8());return J.searchParams.set("hash",z),J.toString()}function iJ(z){let J=new URL(h8());return J.searchParams.set("quotes",z),J.toString()}function v6(z){return B6(z.author.handle,z.rkey)}function B6(z,J){let Q=new URL(h8());return Q.searchParams.set("author",z),Q.searchParams.set("post",J),Q.toString()}function Qz(z){let J;try{J=new URL(z)}catch(Z){throw new a6(`${Z}`)}if(J.protocol!="https:"&&J.protocol!="http:")throw new a6("URL must start with http(s)://");let Q=J.pathname.split("/");if(Q.length<5||Q[1]!="profile"||Q[3]!="post")throw new a6("This is not a valid thread URL");let K=Q[2],X=Q[4];return{user:K,post:X}}function ZZ(z){return Object.fromEntries(new URLSearchParams(z))}var XZ="5";if(typeof window<"u")((window.__svelte??={}).v??=new Set).add(XZ);class _J extends Error{}class YZ extends Error{}async function WZ(z){let J;if(z.startsWith("did:plc:"))J=new URL(`https://plc.directory/${z}`);else if(z.startsWith("did:web:")){let Z=z.replace(/^did:web:/,"");J=new URL(`https://${Z}/.well-known/did.json`)}else throw new _J(`Unknown DID type: ${z}`);let Q=await fetch(J),K=await Q.text(),X=K.trim().length>0?JSON.parse(K):void 0;if(Q.status==200){let Z=(X.service||[]).find((W)=>W.id=="#atproto_pds");if(Z)return Z.serviceEndpoint.replace("https://","");else throw new _J("Missing #atproto_pds service definition")}else throw new o6(Q.status,X)}async function GZ(z){if(z.match(/^did:/))return await WZ(z);else if(z.match(/^[^@]+@[^@]+$/))return"bsky.social";else if(z.match(/^@?[\w\-]+(\.[\w\-]+)+$/)){z=z.replace(/^@/,"");let J=await U8.resolveHandle(z);return await WZ(J)}else throw new YZ("Please enter your handle or DID.")}class BZ{#z;#J;#Q;constructor(){this.#z=f(x0(q0.isLoggedIn)),this.#J=f(x0(q0.isLoggedIn?q0.user.avatar:void 0)),this.#Q=f(!1)}get isIncognito(){return!!T0.incognitoMode}toggleIncognitoMode(){T0.incognitoMode=!this.isIncognito,location.reload()}get loggedIn(){return Y(this.#z)}get avatarURL(){return Y(this.#J)}get avatarIsLoading(){return Y(this.#Q)}async logIn(z,J){let Q=await GZ(z);q0.host=Q,await q0.logIn(z,J),R(this.#z,!0),R(this.#Q,!0),dJ(),q0.loadCurrentUserAvatar().then((K)=>{R(this.#J,K||void 0,!0)}).catch((K)=>{console.log(K)}).finally(()=>{R(this.#Q,!1)})}logOut(){q0.resetTokens(),T0.logOut(),location.reload()}}var Y1=new BZ;var p4=L("<div><!></div>");function Zz(z,J){i(J,!0);let Q=R0(J,"onClose",3,void 0),K=R0(J,"id",3,void 0),X=s6(J,["$$slots","$$events","$$legacy","children","onClose","id"]);function Z(w){if(w.target===w.currentTarget)Q()?.()}var W=p4();W.__click=Z;var G=x(W);G8(G,()=>J.children),C(W),g(()=>{d(W,"id",K()),X1(W,1,`dialog ${J.class??""}`,"svelte-1fggtsn")}),V(z,W),_()}I0(["click"]);var d4=L(`<form method="get" class="svelte-1b6ue70"><i class="close fa-circle-xmark fa-regular"></i> <h2>โ˜ฃ๏ธ Infohazard Warning</h2> <p>&ldquo;<em>This thread is not a place of honor... no highly esteemed post is commemorated here... nothing valued is here.</em>&rdquo;</p> <p>This feature allows access to comments in a thread which were hidden because one of the commenters has blocked another. Bluesky currently hides such comments to avoid escalating conflicts.</p> <p>Are you sure you want to enter?<br/>(You can toggle this in the menu in top-left corner.)</p> <p class="submit svelte-1b6ue70"><input type="submit" value="Show me the drama \uD83D\uDE08" class="svelte-1b6ue70"/> <input type="submit" value="Nope, I'd rather not \uD83D\uDE48" class="svelte-1b6ue70"/></p></form>`);function cJ(z,J){i(J,!0);let Q=R0(J,"onConfirm",3,void 0),K=R0(J,"onReject",3,void 0),X=R0(J,"onClose",3,void 0);function Z(G){G.preventDefault(),T0.biohazardsEnabled=!0,Q()?.(),X()?.()}function W(G){G.preventDefault(),T0.biohazardsEnabled=!1,K()?.(),X()?.()}Zz(z,{onClose:()=>X()?.(),children:(G,w)=>{var H=d4(),q=x(H);q.__click=function(...M){X()?.apply(this,M)};var F=S(q,10),B=x(F);B.__click=Z;var U=S(B,2);U.__click=W,C(F),C(H),V(G,H)},$$slots:{default:!0}}),_()}I0(["click"]);var i4=L('<i class="close fa-circle-xmark fa-regular svelte-1pnuyy2"></i>'),_4=L(`<div class="info-box svelte-1pnuyy2"><p class="svelte-1pnuyy2">Skythread doesn't support OAuth yet. For now, you need to use an "app password" here, which you can generate in the Bluesky app settings.</p> <p class="svelte-1pnuyy2">The password you enter here is only passed to the Bluesky API (PDS) and isn't saved anywhere. The returned access token is only stored in your browser's local storage. You can see the complete source code of this app <a href="http://tangled.org/@mackuba.eu/skythread" target="_blank" class="svelte-1pnuyy2">on Tangled</a>.</p></div>`),c4=L('<input type="submit" value="Log in" class="svelte-1pnuyy2"/>'),s4=L('<i class="cloudy fa-solid fa-cloud fa-beat fa-xl svelte-1pnuyy2"></i>'),o4=L('<form method="get" class="svelte-1pnuyy2"><!> <h2>\uD83C\uDF24 Skythread</h2> <p><input type="text" id="login_handle" required placeholder="name.bsky.social" class="svelte-1pnuyy2"/></p> <p><input type="password" id="login_password" required placeholder="โœฑโœฑโœฑโœฑโœฑโœฑโœฑโœฑ" class="svelte-1pnuyy2"/></p> <p class="info svelte-1pnuyy2"><a href="#" class="svelte-1pnuyy2"><i class="fa-regular fa-circle-question"></i> Use an "app password" here</a></p> <!> <p class="submit"><!></p></form>');function sJ(z,J){i(J,!0);let Q=R0(J,"onClose",3,void 0),K=R0(J,"onLogin",3,void 0),X=f(""),Z=f(""),W=f(!1),G=f(!1),w,H;function q(){if(J.showClose&&Q())Q()()}function F(M){M.preventDefault(),R(W,!Y(W))}async function B(M){M.preventDefault(),R(G,!0),w.blur(),H.blur();try{await Y1.logIn(Y(X).trim(),Y(Z).trim()),K()?.(),Q()?.()}catch(P){R(G,!1),U(P)}}function U(M){if(console.log(M),M instanceof o6&&M.code==401&&M.json.error=="AuthFactorTokenRequired")alert('Please log in using an "app password" if you have 2FA enabled.');else window.setTimeout(()=>alert(M),10)}{let M=C0(()=>Y(W)?"expanded":"");Zz(z,{id:"login",get class(){return Y(M)},onClose:q,children:(P,O)=>{var j=o4(),T=x(j);{var E=(Q0)=>{var U0=i4();U0.__click=function(...D0){Q()?.apply(this,D0)},V(Q0,U0)};D(T,(Q0)=>{if(J.showClose)Q0(E)})}var N=S(T,4),y=x(N);$0(y),N8(y,!0),t1(y,(Q0)=>w=Q0,()=>w),C(N);var b=S(N,2),A=x(b);$0(A),t1(A,(Q0)=>H=Q0,()=>H),C(b);var k=S(b,2),$=x(k);$.__click=F,C(k);var v=S(k,2);{var l=(Q0)=>{var U0=_4();V(Q0,U0)};D(v,(Q0)=>{if(Y(W))Q0(l)})}var n=S(v,2),o=x(n);{var a=(Q0)=>{var U0=c4();V(Q0,U0)},X0=(Q0)=>{var U0=s4();V(Q0,U0)};D(o,(Q0)=>{if(!Y(G))Q0(a);else Q0(X0,!1)})}C(n),C(j),L1("submit",j,B),P1(y,()=>Y(X),(Q0)=>R(X,Q0)),P1(A,()=>Y(Z),(Q0)=>R(Z,Q0)),V(P,j)},$$slots:{default:!0}})}_()}I0(["click"]);var Y9=f(!1),HZ=f(!1),G9=f(!1),wZ=f(void 0);function P5(z){if(!Y(Y9))R(Y9,!0),R(HZ,z.showClose,!0)}function UZ(z){if(!Y(G9))R(G9,!0),R(wZ,z,!0)}function oJ(z){var J=c(),Q=h(J);{var K=(Z)=>{sJ(Z,{onClose:()=>R(Y9,!1),get showClose(){return Y(HZ)}})},X=(Z)=>{var W=c(),G=h(W);{var w=(H)=>{cJ(H,{onClose:()=>R(G9,!1),onConfirm:()=>Y(wZ)?.()})};D(G,(H)=>{if(Y(G9))H(w)},!0)}V(Z,W)};D(Q,(Z)=>{if(Y(Y9))Z(K);else Z(X,!1)})}V(z,J)}var a4=L('<span class="check">โœ“</span>'),r4=L('<li class="svelte-1obod96"><a class="button svelte-1obod96" href="#"><!> </a></li>');function I5(z,J){let Q=R0(J,"title",3,void 0),K=R0(J,"showCheckmark",3,!1);var X=r4(),Z=x(X);Z.__click=function(...H){J.onclick?.apply(this,H)};var W=x(Z);{var G=(H)=>{var q=a4();V(H,q)};D(W,(H)=>{if(K())H(G)})}var w=S(W);C(Z),C(X),g(()=>{d(Z,"title",Q()),u(w,` ${J.label??""}`)}),V(z,X)}I0(["click"]);var n4=L("<!> <img/>",1),t4=L("<img/>");function aJ(z,J){let Q=s6(J,["$$slots","$$events","$$legacy","loading","error"]),K=f(void 0);function X(){R(K,"loaded")}function Z(){R(K,"error")}var W=c(),G=h(W);{var w=(q)=>{var F=n4(),B=h(F);G8(B,()=>J.loading);var U=S(B,2);cz(U,()=>({...Q,style:"display: none",onload:X,onerror:Z})),Y5(U),V(q,F)},H=(q)=>{var F=c(),B=h(F);{var U=(P)=>{var O=t4();cz(O,()=>({...Q})),Y5(O),V(P,O)},M=(P)=>{var O=c(),j=h(O);G8(j,()=>J.error),V(P,O)};D(B,(P)=>{if(Y(K)=="loaded")P(U);else P(M,!1)},!0)}V(q,F)};D(G,(q)=>{if(!Y(K))q(w);else q(H,!1)})}V(z,W)}var e4=L('<i class="fa-solid fa-user-secret fa-lg svelte-jzoz05"></i>'),zX=L('<i class="fa-regular fa-user-circle fa-xl svelte-jzoz05"></i>'),JX=L('<i class="fa-regular fa-user-circle fa-xl svelte-jzoz05"></i>'),QX=L('<i class="fa-solid fa-user-circle fa-xl svelte-jzoz05"></i>'),KX=L('<i class="fa-solid fa-user-circle fa-xl svelte-jzoz05"></i>'),ZX=L('<div id="account"><!></div> <div id="account_menu" class="svelte-jzoz05"><ul class="svelte-jzoz05"><!> <!> <!> <li class="link svelte-jzoz05"><a class="svelte-jzoz05">Home</a></li> <li class="link svelte-jzoz05"><a href="?page=posting_stats" class="svelte-jzoz05">Posting stats</a></li> <li class="link svelte-jzoz05"><a href="?page=like_stats" class="svelte-jzoz05">Like stats</a></li> <li class="link svelte-jzoz05"><a href="?page=search" class="svelte-jzoz05">Timeline search</a></li> <li class="link svelte-jzoz05"><a href="?page=search&amp;mode=likes" class="svelte-jzoz05">Archive search</a></li></ul></div>',1);function rJ(z,J){i(J,!0);let Q=f(!1);Z1(()=>{let k=document.body.parentNode;return k.addEventListener("click",K),()=>{k.removeEventListener("click",K)}});function K(){R(Q,!1)}function X(k){k.stopPropagation(),R(Q,!Y(Q))}function Z(k){if(k.preventDefault(),T0.biohazardsEnabled===!1)T0.biohazardsEnabled=!0;else T0.biohazardsEnabled=!1}function W(k){k.preventDefault(),Y1.toggleIncognitoMode()}function G(k){k.preventDefault(),P5({showClose:!0}),R(Q,!1)}function w(k){k.preventDefault(),Y1.logOut()}var H=ZX(),q=h(H);q.__click=X;var F=x(q);{var B=(k)=>{var $=e4();V(k,$)},U=(k)=>{var $=c(),v=h($);{var l=(o)=>{var a=zX();V(o,a)},n=(o)=>{var a=c(),X0=h(a);{var Q0=(D0)=>{aJ(D0,{class:"avatar",get src(){return Y1.avatarURL},loading:(s)=>{var V0=JX();V(s,V0)},error:(s)=>{var V0=QX();V(s,V0)},$$slots:{loading:!0,error:!0}})},U0=(D0)=>{var M0=KX();V(D0,M0)};D(X0,(D0)=>{if(Y1.loggedIn&&Y1.avatarURL)D0(Q0);else D0(U0,!1)},!0)}V(o,a)};D(v,(o)=>{if(!Y1.loggedIn||Y1.avatarIsLoading)o(l);else o(n,!1)},!0)}V(k,$)};D(F,(k)=>{if(Y1.isIncognito)k(B);else k(U,!1)})}C(q);var M=S(q,2);M.__click=(k)=>k.stopPropagation();var P=x(M),O=x(P);{var j=(k)=>{I5(k,{onclick:W,label:"Incognito mode",title:"Temporarily load threads as a logged-out user",get showCheckmark(){return Y1.isIncognito}})};D(O,(k)=>{if(Y1.loggedIn)k(j)})}var T=S(O,2);{let k=C0(()=>T0.biohazardsEnabled!==!1);I5(T,{onclick:Z,label:"Show infohazards",title:"Show links to blocked and hidden comments",get showCheckmark(){return Y(k)}})}var E=S(T,2);{var N=(k)=>{I5(k,{onclick:G,label:"Log in"})},y=(k)=>{I5(k,{onclick:w,label:"Log out"})};D(E,(k)=>{if(!Y1.loggedIn)k(N);else k(y,!1)})}var b=S(E,2),A=x(b);C(b),c0(8),C(P),C(M),g((k)=>{X1(q,1,T8({active:Y(Q)}),"svelte-jzoz05"),c6(M,`visibility: ${Y(Q)?"visible":"hidden"}`),d(A,"href",k)},[h8]),V(z,H),_()}I0(["click"]);var f8,nJ;function V8(z){if(f8)document.removeEventListener("scroll",f8);nJ?.disconnect(),f8=()=>{if(window.pageYOffset+window.innerHeight>document.body.offsetHeight-500)z(f8)},z(f8),document.addEventListener("scroll",f8),nJ=new ResizeObserver(f8),nJ.observe(document.body)}gQ();var XX=L('<div id="loader" class="svelte-1larzq0"><img src="icons/sunny.png" alt="Loading..." class="svelte-1larzq0"/></div>');function n6(z){var J=XX();V(z,J)}var WX=L('<div class="margin svelte-qe4209"><div class="edge svelte-qe4209"><div class="line svelte-qe4209"></div></div> <img class="plus svelte-qe4209"/></div>');function tJ(z,J){i(J,!0);let Q=R0(J,"collapsed",15,!1);function K(){Q(!Q())}var X=WX(),Z=x(X);Z.__click=K;var W=S(Z,2);W.__click=K,C(X),g(()=>{d(W,"alt",Q()?"+":"-"),d(W,"src",`icons/${Q()?"add-square.png":"subtract-square.png"}`)}),V(z,X),_()}I0(["click"]);var YX=L('<a class="fedi-link svelte-ul6xja" target="_blank"><div class="svelte-ul6xja"><i class="fa-solid fa-arrow-up-right-from-square fa-sm svelte-ul6xja"></i> </div></a>');function eJ(z,J){i(J,!0);let Q=C0(()=>new URL(J.url).hostname);var K=YX(),X=x(K),Z=S(x(X));C(X),C(K),g(()=>{d(K,"href",J.url),u(Z,` View on ${Y(Q)??""}`)}),V(z,K),_()}var GX=L('โ˜ฃ๏ธ <a class="svelte-1epmfrv">Load hidden repliesโ€ฆ</a>',1),BX=L('<img class="loader" src="icons/sunny.png" alt="Loading..."/>'),HX=L('<p class="hidden-replies svelte-1epmfrv"><!></p>');function z7(z,J){i(J,!0);let{post:Q}=J1(),K=f(!1);function X(q){if(q.preventDefault(),T0.biohazardsEnabled===!0)Z();else UZ(()=>{Z()})}async function Z(){R(K,!0);try{let F=(await N0.loadHiddenReplies(Q)).map((B)=>B&&w8(B.thread,Q.pageRoot,1,Q.absoluteLevel+1));R(K,!1),J.onLoad(F)}catch(q){R(K,!1),J.onError(q)}}var W=HX(),G=x(W);{var w=(q)=>{var F=GX(),B=S(h(F));B.__click=X,g((U)=>d(B,"href",U),[()=>v6(Q)]),V(q,F)},H=(q)=>{var F=BX();V(q,F)};D(G,(q)=>{if(!Y(K))q(w);else q(H,!1)})}C(W),V(z,W),_()}I0(["click"]);var wX=L("<a>Load more repliesโ€ฆ</a>"),UX=L('<img class="loader" src="icons/sunny.png" alt="Loading..."/>'),VX=L("<p><!></p>");function J7(z,J){i(J,!0);let{post:Q}=J1(),K=f(!1);async function X(H){H.preventDefault(),R(K,!0);try{let q=await N0.loadThreadByAtURI(Q.uri),F=w8(q.thread,Q.pageRoot,0,Q.absoluteLevel);if(R(K,!1),F instanceof S0)window.subtreeRoot=F,J.onLoad(F);else J.onError(Error("Post is not available"))}catch(q){R(K,!1),J.onError(q)}}var Z=VX(),W=x(Z);{var G=(H)=>{var q=wX();q.__click=X,g((F)=>d(q,"href",F),[()=>v6(Q)]),V(H,q)},w=(H)=>{var q=UX();V(H,q)};D(W,(H)=>{if(!Y(K))H(G);else H(w,!1)})}C(Z),V(z,Z),_()}I0(["click"]);class S5{text;facet;constructor(z,J){this.text=z;this.facet=J}get link(){return this.facet?.features.find((z)=>z.$type==="app.bsky.richtext.facet#link")}isLink(){return!!this.link}get mention(){return this.facet?.features.find((z)=>z.$type==="app.bsky.richtext.facet#mention")}isMention(){return!!this.mention}get tag(){return this.facet?.features.find((z)=>z.$type==="app.bsky.richtext.facet#tag")}isTag(){return!!this.tag}}class Q7{unicodeText;facets;constructor(z){if(this.unicodeText=new VZ(z.text),this.facets=z.facets,this.facets)this.facets=this.facets.filter(qX).sort(FX)}get text(){return this.unicodeText.toString()}get length(){return this.unicodeText.length}get graphemeLength(){return this.unicodeText.graphemeLength}*segments(){let z=this.facets||[];if(!z.length){yield new S5(this.unicodeText.utf16);return}let J=0,Q=0;do{let K=z[Q];if(J<K.index.byteStart)yield new S5(this.unicodeText.slice(J,K.index.byteStart));else if(J>K.index.byteStart){Q++;continue}if(K.index.byteStart<K.index.byteEnd){let X=this.unicodeText.slice(K.index.byteStart,K.index.byteEnd);if(!X.trim())yield new S5(X);else yield new S5(X,K)}J=K.index.byteEnd,Q++}while(Q<z.length);if(J<this.unicodeText.length)yield new S5(this.unicodeText.slice(J,this.unicodeText.length))}}var FX=(z,J)=>z.index.byteStart-J.index.byteStart,qX=(z)=>z.index.byteStart<=z.index.byteEnd,MX=new TextEncoder,CX=new TextDecoder,xX=new Intl.Segmenter,OX=(z)=>{return Array.from(xX.segment(z)).length};class VZ{utf16;utf8;_graphemeLen;constructor(z){this.utf16=z,this.utf8=MX.encode(z)}get length(){return this.utf8.byteLength}get graphemeLength(){if(!this._graphemeLen)this._graphemeLen=OX(this.utf16);return this._graphemeLen}slice(z,J){return CX.decode(this.utf8.slice(z,J))}toString(){return this.utf16}}var LX=L("<a> </a>"),PX=L("<a> </a>"),IX=L("<a> </a>"),SX=L("<br/>"),DX=L("<!> ",1);function K7(z,J){i(J,!0);let Q=C0(()=>new Q7({text:J.text,facets:J.facets})),K=C0(()=>Y(Q).segments());var X=c(),Z=h(X);A0(Z,17,()=>Y(K),O1,(W,G)=>{var w=c(),H=h(w);{var q=(B)=>{var U=LX(),M=x(U,!0);C(U),g(()=>{d(U,"href",`https://bsky.app/profile/${Y(G).mention.did??""}`),u(M,Y(G).text)}),V(B,U)},F=(B)=>{var U=c(),M=h(U);{var P=(j)=>{var T=PX(),E=x(T,!0);C(T),g(()=>{d(T,"href",Y(G).link.uri),u(E,Y(G).text)}),V(j,T)},O=(j)=>{var T=c(),E=h(T);{var N=(b)=>{var A=IX(),k=x(A,!0);C(A),g(($)=>{d(A,"href",$),u(k,Y(G).text)},[()=>L5(Y(G).tag.tag)]),V(b,A)},y=(b)=>{let A=C0(()=>Y(G).text.split(` 50 - `));var k=c(),$=h(k);A0($,17,()=>Y(A),O1,(v,l,n)=>{var o=DX(),a=h(o);{var X0=(U0)=>{var D0=SX();V(U0,D0)};D(a,(U0)=>{if(n>0)U0(X0)})}var Q0=S(a,1,!0);g(()=>u(Q0,Y(l))),V(v,o)}),V(b,k)};D(E,(b)=>{if(Y(G).tag)b(N);else b(y,!1)},!0)}V(j,T)};D(M,(j)=>{if(Y(G).link)j(P);else j(O,!1)},!0)}V(B,U)};D(H,(B)=>{if(Y(G).mention)B(q);else B(F,!1)})}V(W,w)}),V(z,X),_()}var RX=L('<div class="bridged-body svelte-rk6ws2"><!></div>'),jX=L('<p class="body svelte-rk6ws2"><!></p>');function Xz(z,J){i(J,!0);let Q="search-results",{post:K}=J1(),X=R0(J,"highlightedMatches",3,void 0),Z=f(void 0);function W(F){let B=new RegExp(`\\b(${F.join("|")})\\b`,"gi"),U=document.createTreeWalker(Y(Z),NodeFilter.SHOW_TEXT),M=[];while(U.nextNode()){let O=U.currentNode;if(!O.textContent)continue;B.lastIndex=0;for(;;){let j=B.exec(O.textContent);if(j===null)break;let T=new Range;T.setStart(O,j.index),T.setEnd(O,j.index+j[0].length),M.push(T)}}let P=CSS.highlights.get(Q)||new Highlight;M.forEach((O)=>P.add(O)),CSS.highlights.set(Q,P)}Z1(()=>{if(X()&&X().length>0)return W(X()),()=>{CSS.highlights.delete(Q)};else return});var G=c(),w=h(G);{var H=(F)=>{var B=RX(),U=x(B);VJ(U,()=>nK(K.originalFediContent)),C(B),t1(B,(M)=>R(Z,M),()=>Y(Z)),V(F,B)},q=(F)=>{var B=jX(),U=x(B);K7(U,{get text(){return K.text},get facets(){return K.facets}}),C(B),t1(B,(M)=>R(Z,M),()=>Y(Z)),V(F,B)};D(w,(F)=>{if(K.originalFediContent)F(H);else F(q,!1)})}V(z,G),_()}class Z7{post;placement;constructor(z,J){this.post=z,this.placement=J}get timeFormatForTimestamp(){if(this.placement=="quotes"||this.placement=="feed")return{weekday:"short",day:"numeric",month:"short",year:"numeric",hour:"numeric",minute:"numeric"};else if(this.post.isPageRoot||this.placement!="thread")return{day:"numeric",month:"short",year:"numeric",hour:"numeric",minute:"numeric"};else if(this.post.pageRoot&&!eK(this.post.createdAt,this.post.pageRoot.createdAt))return{day:"numeric",month:"short",hour:"numeric",minute:"numeric"};else return{hour:"numeric",minute:"numeric"}}get formattedTimestamp(){let z=this.timeFormatForTimestamp;return this.post.createdAt.toLocaleString(T0.dateLocale,z)}}var AX=L('<a class="action"><i class="fa-solid fa-arrows-split-up-and-left fa-rotate-180"></i></a>');function D5(z,J){i(J,!0);let Q=R0(J,"title",3,"");var K=AX();g((X)=>{d(K,"href",X),d(K,"title",Q())},[()=>v6(J.post)]),V(z,K),_()}var NX=L('<i class="muted-avatar fa-regular fa-circle-user fa-2x svelte-b7kxl"></i>'),kX=L('<img class="avatar svelte-b7kxl" alt="Avatar" loading="lazy"/>'),bX=L('<i class="no-avatar fa-regular fa-face-smile fa-2x svelte-b7kxl"></i>'),TX=L('<a class="handle svelte-b7kxl" target="_blank"> </a> <img src="icons/mastodon.svg" class="mastodon svelte-b7kxl" alt="Mastodon logo"/>',1),EX=L('<a class="handle svelte-b7kxl" target="_blank"> </a>'),yX=L('<span class="separator svelte-b7kxl">&bull;</span> <!>',1),vX=L('<h2 class="svelte-b7kxl"><!> <!> <span class="separator svelte-b7kxl">&bull;</span> <a class="time svelte-b7kxl" target="_blank"> </a> <!></h2>');function X7(z,J){i(J,!0);let{post:Q,placement:K}=J1(),X=new Z7(Q,K),Z=f(void 0);Z1(()=>{if(Y(Z))TJ.observe(Y(Z));return()=>{Y(Z)&&TJ.unobserve(Y(Z))}});var W=vX(),G=x(W);{var w=(T)=>{var E=NX();V(T,E)},H=(T)=>{var E=c(),N=h(E);{var y=(A)=>{var k=kX();t1(k,($)=>R(Z,$),()=>Y(Z)),g(()=>d(k,"src",Q.author.avatar)),V(A,k)},b=(A)=>{var k=bX();V(A,k)};D(N,(A)=>{if(Q.author.avatar)A(y);else A(b,!1)},!0)}V(T,E)};D(G,(T)=>{if(Q.muted)T(w);else T(H,!1)})}var q=S(G),F=S(q);{var B=(T)=>{var E=TX(),N=h(E),y=x(N);C(N),c0(2),g(()=>{d(N,"href",Q.linkToAuthor),u(y,`@${Q.authorFediHandle??""}`)}),V(T,E)},U=(T)=>{var E=EX(),N=x(E,!0);C(E),g(()=>{d(E,"href",Q.linkToAuthor),u(N,Q.hasValidHandle?`@${Q.author.handle}`:"[invalid handle]")}),V(T,E)};D(F,(T)=>{if(Q.isFediPost)T(B);else T(U,!1)})}var M=S(F,4),P=x(M,!0);C(M);var O=S(M,2);{var j=(T)=>{var E=yX(),N=S(h(E),2);{var y=(A)=>{D5(A,{get post(){return Q},title:"Load thread"})},b=(A)=>{D5(A,{get post(){return Q},title:"Load this subtree"})};D(N,(A)=>{if(["quote","quotes","feed"].includes(K))A(y);else A(b,!1)})}V(T,E)};D(O,(T)=>{if(Q.replyCount>0&&!Q.isPageRoot||["quote","quotes","feed"].includes(K))T(j)})}C(W),g((T)=>{u(q,` ${Q.authorDisplayName??""} `),d(M,"href",Q.linkToPost),d(M,"title",T),u(P,X.formattedTimestamp)},[()=>Q.createdAt.toISOString()]),V(z,W),_()}var gX=L('<a class="svelte-1d08m6n"> </a>'),hX=L('<p class="tags"></p>');function W7(z,J){i(J,!1);let{post:Q}=J1();RJ();var K=hX();A0(K,5,()=>Q.tags,O1,(X,Z)=>{var W=gX(),G=x(W);C(W),g((w)=>{d(W,"href",w),u(G,`# ${Y(Z)??""}`)},[()=>L5(Y(Z))]),V(X,W)}),C(K),V(z,K),_()}var fX=L('<span class="svelte-14wd2aa"><i class="fa-solid fa-retweet svelte-14wd2aa"></i> </span>'),mX=L('<span class="svelte-14wd2aa"><i class="fa-regular fa-message svelte-14wd2aa"></i> <a class="svelte-14wd2aa"> </a></span>'),$X=L('<span class="svelte-14wd2aa"><i class="fa-regular fa-comments svelte-14wd2aa"></i> <a class="svelte-14wd2aa"> </a></span>'),uX=L('<a class="svelte-14wd2aa"><i class="fa-regular fa-comments svelte-14wd2aa"></i> </a>'),lX=L('<span class="svelte-14wd2aa"><i class="fa-solid fa-ban svelte-14wd2aa"></i> Limited replies</span>'),pX=L('<span class="blocked-info svelte-14wd2aa">\uD83D\uDEAB Post unavailable</span>'),dX=L('<p class="stats svelte-14wd2aa"><span class="svelte-14wd2aa"><i></i> <output> </output></span> <!> <!> <!> <!> <!></p>');function Y7(z,J){i(J,!0);let{post:Q,placement:K}=J1(),X=f(x0(Q.liked)),Z=f(x0(Q.likeCount)),W=f(!1);async function G(){try{if(Q.hasViewerInfo)await H();else if(Y1.loggedIn)await w();else P5({showClose:!0})}catch($){H8($)}}async function w(){if(await q0.loadPostViewerInfo(Q))if(Q.liked)R(X,!0);else await H();else R(W,!0)}async function H(){if(!Y(X)){let $=await q0.likePost(Q);Q.viewerLike=$.uri,R(X,!0),R(Z,Y(Z)+1)}else await q0.removeLike(Q.viewerLike),Q.viewerLike=void 0,R(X,!1),R(Z,Y(Z)-1)}var q=dX(),F=x(q),B=x(F);B.__click=G;var U=S(B,2),M=x(U,!0);C(U),C(F);var P=S(F,2);{var O=($)=>{var v=fX(),l=S(x(v));C(v),g(()=>u(l,` ${Q.repostCount??""}`)),V($,v)};D(P,($)=>{if(Q.repostCount>0)$(O)})}var j=S(P,2);{var T=($)=>{var v=mX(),l=S(x(v),2),n=x(l,!0);C(l),C(v),g((o,a)=>{d(l,"href",o),u(n,a)},[()=>v6(Q),()=>tz(Q.replyCount,"reply","replies")]),V($,v)};D(j,($)=>{if(Q.replyCount>0&&(K=="quotes"||K=="feed"))$(T)})}var E=S(j,2);{var N=($)=>{var v=c(),l=h(v);{var n=(a)=>{var X0=$X(),Q0=S(x(X0),2),U0=x(Q0,!0);C(Q0),C(X0),g((D0,M0)=>{d(Q0,"href",D0),u(U0,M0)},[()=>iJ(Q.linkToPost),()=>tz(J.quoteCount,"quote")]),V(a,X0)},o=(a)=>{var X0=uX(),Q0=S(x(X0));C(X0),g((U0)=>{d(X0,"href",U0),u(Q0,` ${J.quoteCount??""}`)},[()=>iJ(Q.linkToPost)]),V(a,X0)};D(l,(a)=>{if(K=="quotes"||K=="feed"||Q.isPageRoot)a(n);else a(o,!1)})}V($,v)};D(E,($)=>{if(J.quoteCount&&K!="quote")$(N)})}var y=S(E,2);{var b=($)=>{var v=lX();V($,v)};D(y,($)=>{if(K=="thread"&&Q.isRestrictingReplies)$(b)})}var A=S(y,2);{var k=($)=>{var v=pX();V($,v)};D(A,($)=>{if(Y(W))$(k)})}C(q),g(()=>{X1(B,1,`fa-solid fa-heart ${Y(X)?"liked":""}`,"svelte-14wd2aa"),u(M,Y(Z))}),V(z,q),_()}I0(["click"]);var iX=L('<details class="image-alt svelte-1d4qxx0"><summary class="svelte-1d4qxx0">Show alt</summary> </details>'),_X=L("<p>[<a>Image</a>]</p> <!>",1),cX=L("<div></div>");function G7(z,J){i(J,!0);let{post:Q}=J1();function K(Z){if(Z.fullsize)return Z.fullsize;else{let W=Z.image.ref.$link;return`https://cdn.bsky.app/img/feed_fullsize/plain/${Q.author.did}/${W}@jpeg`}}var X=cX();A0(X,21,()=>J.embed.images,O1,(Z,W)=>{var G=_X(),w=h(G),H=S(x(w));c0(),C(w);var q=S(w,2);{var F=(B)=>{var U=iX(),M=S(x(U));C(U),g(()=>u(M,` ${Y(W).alt??""}`)),V(B,U)};D(q,(B)=>{if(Y(W).alt)B(F)})}g((B)=>d(H,"href",B),[()=>K(Y(W))]),V(Z,G)}),C(X),V(z,X),_()}var sX=L('<div class="gif svelte-1g38dct"><img/></div>');function B7(z,J){let Q=f(!1),K=f(!1),X=f(500),Z=f(200);function W(F){let B=F.target;if(B.naturalWidth<B.naturalHeight)R(X,200),R(Z,400);R(Q,!0)}function G(){R(K,!Y(K))}var w=sX(),H=x(w);H.__click=G;let q;C(w),g(()=>{d(H,"src",Y(K)?J.staticURL:J.gifURL),X1(H,1,T8(Y(K)?"static":""),"svelte-1g38dct"),d(H,"alt",J.alt?`Gif: ${J.alt}`:"Gif animation"),q=c6(H,"",q,{opacity:Y(Q)?1:0,"max-width":`${Y(X)??""}px`,"max-height":`${Y(Z)??""}px`})}),L1("load",H,W),Y5(H),V(z,w)}I0(["click"]);var oX=L('<p class="description"> </p>'),aX=L('<a class="link-card" target="_blank"><div><p class="domain"> </p> <h2> </h2> <!></div></a>'),rX=L("<p>[Link: <a> </a>]</p>");function H7(z,J){i(J,!0);let{post:Q}=J1(),K=f(!1),X=C0(()=>new URL(J.embed.url).hostname),Z=C0(()=>Y(X)=="media.tenor.com"),W=C0(()=>Y(Z)?G:void 0);function G(U){U.preventDefault(),R(K,!0)}function w(){if(typeof J.embed.thumb=="string")return J.embed.thumb;else return`https://cdn.bsky.app/img/avatar/feed_thumbnail/${Q.author.did}/${J.embed.thumb.ref.$link}@jpeg`}var H=c(),q=h(H);{var F=(U)=>{{let M=C0(w);B7(U,{get gifURL(){return J.embed.url},get staticURL(){return Y(M)},get alt(){return J.embed.title}})}},B=(U)=>{var M=c(),P=h(M);{var O=(T)=>{var E=aX();E.__click=function(...l){Y(W)?.apply(this,l)};var N=x(E),y=x(N),b=x(y,!0);C(y);var A=S(y,2),k=x(A,!0);C(A);var $=S(A,2);{var v=(l)=>{var n=oX(),o=x(n,!0);C(n),g((a)=>u(o,a),[()=>tK(J.embed.description,300)]),V(l,n)};D($,(l)=>{if(J.embed.description)l(v)})}C(N),C(E),g(()=>{d(E,"href",J.embed.url),u(b,Y(X)),u(k,J.embed.title||J.embed.url)}),V(T,E)},j=(T)=>{var E=rX(),N=S(x(E)),y=x(N,!0);C(N),c0(),C(E),g(()=>{d(N,"href",J.embed.url),u(y,J.embed.title||J.embed.url)}),V(T,E)};D(P,(T)=>{if(ez(J.embed.url))T(O);else T(j,!1)})}V(U,M)};D(q,(U)=>{if(Y(K))U(F);else U(B,!1)})}V(z,H),_()}I0(["click"]);var nX=L('<img class="avatar" alt="Avatar"/>'),tX=L('<p class="description"> </p>'),eX=L('<a class="link-card record" target="_blank"><div><!> <h2> <span class="handle"> </span></h2> <!> <p class="stats"><i class="fa-solid fa-heart"></i> <output> </output></p></div></a>');function w7(z,J){i(J,!0);function Q(O){let{repo:j,rkey:T}=m0(O.uri);return`https://bsky.app/profile/${j}/feed/${T}`}var K=eX(),X=x(K),Z=x(X);{var W=(O)=>{var j=nX();g(()=>d(j,"src",J.feed.avatar)),V(O,j)};D(Z,(O)=>{if(J.feed.avatar)O(W)})}var G=S(Z,2),w=x(G),H=S(w),q=x(H);C(H),C(G);var F=S(G,2);{var B=(O)=>{var j=tX(),T=x(j,!0);C(j),g(()=>u(T,J.feed.description)),V(O,j)};D(F,(O)=>{if(J.feed.description)O(B)})}var U=S(F,2),M=S(x(U),2),P=x(M,!0);C(M),C(U),C(X),C(K),g((O)=>{d(K,"href",O),u(w,`${J.feed.title??""} `),u(q,`โ€ข Feed by @${J.feed.author.handle??""}`),u(P,J.feed.likeCount)},[()=>Q(J.feed)]),V(z,K),_()}var zW=L('<p class="description"> </p>'),JW=L('<a class="link-card record" target="_blank"><div><h2> <span class="handle"> </span></h2> <!></div></a>');function U7(z,J){i(J,!0);function Q(F){let{repo:B,rkey:U}=m0(F.uri);return`https://bsky.app/starter-pack/${B}/${U}`}var K=JW(),X=x(K),Z=x(X),W=x(Z),G=S(W),w=x(G);C(G),C(Z);var H=S(Z,2);{var q=(F)=>{var B=zW(),U=x(B,!0);C(B),g(()=>u(U,J.starterPack.description)),V(F,B)};D(H,(F)=>{if(J.starterPack.description)F(q)})}C(X),C(K),g((F)=>{d(K,"href",F),u(W,`${J.starterPack.title??""} `),u(w,`โ€ข Starter pack by @${J.starterPack.author.handle??""}`)},[()=>Q(J.starterPack)]),V(z,K),_()}var QW=L('<img class="avatar" alt="Avatar"/>'),KW=L('<p class="description"> </p>'),ZW=L('<a class="link-card record" target="_blank"><div><!> <h2> <span class="handle"> </span></h2> <!></div></a>');function V7(z,J){i(J,!0);function Q(M){let{repo:P,rkey:O}=m0(M.uri);return`https://bsky.app/profile/${P}/lists/${O}`}function K(M){switch(M.purpose){case"app.bsky.graph.defs#curatelist":return"User list";case"app.bsky.graph.defs#modlist":return"Mute list";default:return"List"}}var X=ZW(),Z=x(X),W=x(Z);{var G=(M)=>{var P=QW();g(()=>d(P,"src",J.list.avatar)),V(M,P)};D(W,(M)=>{if(J.list.avatar)M(G)})}var w=S(W,2),H=x(w),q=S(H),F=x(q);C(q),C(w);var B=S(w,2);{var U=(M)=>{var P=KW(),O=x(P,!0);C(P),g(()=>u(O,J.list.description)),V(M,P)};D(B,(M)=>{if(J.list.description)M(U)})}C(Z),C(X),g((M,P)=>{d(X,"href",M),u(H,`${J.list.title??""} `),u(F,`โ€ข ${P??""} by @${J.list.author.handle??""}`)},[()=>Q(J.list),()=>K(J.list)]),V(z,X),_()}var FZ=(z,J=J6)=>{var Q=c(),K=h(Q);{var X=(W)=>{var G=XW(),w=x(G);m8(w,{get post(){return J()},placement:"quote"}),C(G),V(W,G)},Z=(W)=>{var G=c(),w=h(G);{var H=(F)=>{w7(F,{get feed(){return J()}})},q=(F)=>{var B=c(),U=h(B);{var M=(O)=>{U7(O,{get starterPack(){return J()}})},P=(O)=>{var j=c(),T=h(j);{var E=(y)=>{V7(y,{get list(){return J()}})},N=(y)=>{var b=WW(),A=x(b),k=x(A);C(A),C(b),g(()=>u(k,`[${J().type??""}]`)),V(y,b)};D(T,(y)=>{if(J()instanceof zz)y(E);else y(N,!1)},!0)}V(O,j)};D(U,(O)=>{if(J()instanceof Jz)O(M);else O(P,!1)},!0)}V(F,B)};D(w,(F)=>{if(J()instanceof e5)F(H);else F(q,!1)},!0)}V(W,G)};D(K,(W)=>{if(J()instanceof v8)W(X);else W(Z,!1)})}V(z,Q)},XW=L('<div class="quote-embed svelte-qy2yyv"><!></div>'),WW=L('<div class="quote-embed svelte-qy2yyv"><p> </p></div>'),YW=L('<div class="quote-embed svelte-qy2yyv"><p class="post placeholder svelte-qy2yyv">Error loading quoted post</p></div>'),GW=L('<div class="quote-embed svelte-qy2yyv"><p class="post placeholder svelte-qy2yyv">Loading quoted post...</p></div>');function H9(z,J){i(J,!0);let{post:Q}=J1();async function K(){let{collection:w}=m0(J.record.uri);if(w=="app.bsky.feed.post"){let H=await N0.loadPostIfExists(J.record.uri);if(H)return new S0(H);else return new P6(Q.data)}else{let q=(await N0.loadPostIfExists(Q.uri).then((F)=>F&&new S0(F)))?.embed;if(q instanceof q5||q instanceof M5)return q.record;else return new P6(J.record)}}var X=c(),Z=h(X);{var W=(w)=>{var H=c(),q=h(H);k8(q,K,(F)=>{var B=GW();V(F,B)},(F,B)=>{FZ(F,()=>Y(B))},(F)=>{var B=YW();V(F,B)}),V(w,H)},G=(w)=>{FZ(w,()=>J.record)};D(Z,(w)=>{if(J.record.constructor===_1&&!J.record.type)w(W);else w(G,!1)})}V(z,X),_()}var BW=L('<details class="image-alt"><summary>Show alt</summary> </details>'),HW=L("<div><p>[<a>Video</a>]</p> <!></div>");function F7(z,J){i(J,!0);let{post:Q}=J1();function K(H){if(H instanceof x5)return H.playlistURL;else{let q=H.video.ref.$link;return`https://video.bsky.app/watch/${Q.author.did}/${q}/playlist.m3u8`}}var X=HW(),Z=x(X),W=S(x(Z));c0(),C(Z);var G=S(Z,2);{var w=(H)=>{var q=BW(),F=S(x(q));C(q),g(()=>u(F,` ${J.embed.alt??""}`)),V(H,q)};D(G,(H)=>{if(J.embed.alt)H(w)})}C(X),g((H)=>d(W,"href",H),[()=>K(J.embed)]),V(z,X),_()}var wW=L("<div><!> <!></div>"),UW=L("<p> </p>"),VW=L('<div class="embed svelte-19fytgx"><!></div>');function $8(z,J){i(J,!0);var Q=VW(),K=x(Q);{var X=(W)=>{H9(W,{get record(){return J.embed.record}})},Z=(W)=>{var G=c(),w=h(G);{var H=(F)=>{var B=wW(),U=x(B);$8(U,{get embed(){return J.embed.media}});var M=S(U,2);H9(M,{get record(){return J.embed.record}}),C(B),V(F,B)},q=(F)=>{var B=c(),U=h(B);{var M=(O)=>{G7(O,{get embed(){return J.embed}})},P=(O)=>{var j=c(),T=h(j);{var E=(y)=>{H7(y,{get embed(){return J.embed}})},N=(y)=>{var b=c(),A=h(b);{var k=(v)=>{F7(v,{get embed(){return J.embed}})},$=(v)=>{var l=UW(),n=x(l);C(l),g(()=>u(n,`[${J.embed.type??""}]`)),V(v,l)};D(A,(v)=>{if(J.embed instanceof Q9||J.embed instanceof x5)v(k);else v($,!1)},!0)}V(y,b)};D(T,(y)=>{if(J.embed instanceof J9||J.embed instanceof C5)y(E);else y(N,!1)},!0)}V(O,j)};D(U,(O)=>{if(J.embed instanceof z9||J.embed instanceof X9)O(M);else O(P,!1)},!0)}V(F,B)};D(w,(F)=>{if(J.embed instanceof Z9||J.embed instanceof M5)F(H);else F(q,!1)},!0)}V(W,G)};D(K,(W)=>{if(J.embed instanceof K9||J.embed instanceof q5)W(X);else W(Z,!1)})}C(Q),V(z,Q),_()}var FW=L("<a> </a>"),qW=L("<a>See parent post</a>"),MW=L("<a>See parent post</a>"),CW=L('<p class="back"><i class="fa-solid fa-reply"></i> <!></p>');function Wz(z,J){i(J,!0);let Q=C0(()=>m0(J.uri)),K=C0(()=>Y(Q).repo),X=C0(()=>Y(Q).rkey);var Z=CW(),W=S(x(Z),2);k8(W,()=>N0.fetchHandleForDid(Y(K)),(G)=>{var w=MW();g((H)=>d(w,"href",H),[()=>B6(Y(K),Y(X))]),V(G,w)},(G,w)=>{var H=FW(),q=x(H);C(H),g((F)=>{d(H,"href",F),u(q,`See parent post (@${Y(w)??""})`)},[()=>B6(Y(w),Y(X))]),V(G,H)},(G)=>{var w=qW();g((H)=>d(w,"href",H),[()=>B6(Y(K),Y(X))]),V(G,w)}),C(Z),V(z,Z),_()}var xW=L("<!> <!> <!>",1);function q7(z,J){i(J,!0),M7({post:J.post,placement:J.placement});var Q=xW(),K=h(Q);{var X=(w)=>{Wz(w,{get uri(){return J.post.parentReference.uri}})};D(K,(w)=>{if(J.post.isPageRoot&&J.post.parentReference)w(X)})}var Z=S(K,2);Xz(Z,{});var W=S(Z,2);{var G=(w)=>{$8(w,{get embed(){return J.post.embed}})};D(W,(w)=>{if(J.post.embed)w(G)})}V(z,Q),_()}var OW=L('(<a target="_blank"> </a> ',1),LW=L('(<a target="_blank"> </a>)',1);function R5(z,J){i(J,!0);let Q=R0(J,"status",3,void 0),K=f(void 0),X=C0(()=>Y(K)?`@${Y(K)}`:"see author");Z1(()=>{let H=m0(J.post.uri).repo;N0.fetchHandleForDid(H).then((q)=>{R(K,q,!0)})});var Z=c(),W=h(Z);{var G=(H)=>{var q=OW(),F=S(h(q)),B=x(F,!0);C(F);var U=S(F);g(()=>{d(F,"href",J.post.didLinkToAuthor),u(B,Y(X)),u(U,`, ${Q()??""})`)}),V(H,q)},w=(H)=>{var q=LW(),F=S(h(q)),B=x(F,!0);C(F),c0(),g(()=>{d(F,"href",J.post.didLinkToAuthor),u(B,Y(X))}),V(H,q)};D(W,(H)=>{if(Q())H(G);else H(w,!1)})}V(z,Z),_()}var PW=L('<p class="blocked-header"><i class="fa-solid fa-ban"></i> <span>Deleted post</span> <!></p>');function Yz(z,J){var Q=PW(),K=S(x(Q),4);R5(K,{get post(){return J.post}}),C(Q),V(z,Q)}var IW=L('<a href="#">Load postโ€ฆ</a>'),SW=L('<p class="load-post"><!></p>'),DW=L('<p class="blocked-header"><i class="fa-solid fa-ban"></i> <span> </span> <!></p> <!>',1),RW=L('<span class="separator">&bull;</span> <!>',1),jW=L('<p class="blocked-header"><i class="fa-solid fa-ban"></i> <span> </span> <!> <!></p> <!>',1);function j5(z,J){i(J,!0);let Q=C0(()=>T0.biohazardsEnabled!==!1),K=f(!1),X=f(!1),Z=f(void 0);async function W(U){U.preventDefault(),R(K,!0);let M=await N0.reloadBlockedPost(J.post.uri);if(M)R(Z,M,!0);else R(X,!0)}function G(U){let M=U.author.viewer;if(M)return!(M.blockedBy||M.blocking);else return!0}function w(){if(J.post instanceof O5)return;else if(J.post.blockedByUser)return"has blocked you";else if(J.post.blocksUser)return"you've blocked them";else return}var H=c(),q=h(H);{var F=(U)=>{var M=DW(),P=h(M),O=S(x(P),2),j=x(O,!0);C(O);var T=S(O,2);{var E=(b)=>{{let A=C0(w);R5(b,{get post(){return J.post},get status(){return Y(A)}})}};D(T,(b)=>{if(Y(Q))b(E)})}C(P);var N=S(P,2);{var y=(b)=>{var A=SW(),k=x(A);{var $=(l)=>{var n=IW();n.__click=W,V(l,n)},v=(l)=>{var n=d1("ย ");V(l,n)};D(k,(l)=>{if(!Y(K))l($);else l(v,!1)})}C(A),V(b,A)};D(N,(b)=>{if(Y(Q))b(y)})}g(()=>u(j,J.reason)),V(U,M)},B=(U)=>{var M=c(),P=h(M);{var O=(T)=>{var E=jW(),N=h(E),y=S(x(N),2),b=x(y,!0);C(y);var A=S(y,2);{let l=C0(w);R5(A,{get post(){return J.post},get status(){return Y(l)}})}var k=S(A,2);{var $=(l)=>{var n=RW(),o=S(h(n),2);D5(o,{get post(){return Y(Z)},title:"Load thread"}),V(l,n)};D(k,(l)=>{if(G(Y(Z)))l($)})}C(N);var v=S(N,2);q7(v,{get post(){return Y(Z)},get placement(){return J.placement}}),g(()=>u(b,J.reason)),V(T,E)},j=(T)=>{{let E=C0(()=>new P6(J.post.data));Yz(T,{get post(){return Y(E)}})}};D(P,(T)=>{if(Y(Z))T(O);else T(j,!1)},!0)}V(U,M)};D(q,(U)=>{if(!Y(X)&&!Y(Z))U(F);else U(B,!1)})}V(z,H),_()}I0(["click"]);var AW=L("<div><!></div>");function m8(z,J){var Q=c(),K=h(Q);{var X=(W)=>{I1(W,{get post(){return J.post},get placement(){return J.placement}})},Z=(W)=>{var G=AW(),w=x(G);{var H=(F)=>{j5(F,{get post(){return J.post},get placement(){return J.placement},reason:"Blocked post"})},q=(F)=>{var B=c(),U=h(B);{var M=(O)=>{j5(O,{get post(){return J.post},get placement(){return J.placement},reason:"Hidden quote"})},P=(O)=>{Yz(O,{get post(){return J.post}})};D(U,(O)=>{if(J.post instanceof O5)O(M);else O(P,!1)},!0)}V(F,B)};D(w,(F)=>{if(J.post instanceof y6)F(H);else F(q,!1)})}C(G),g(()=>X1(G,1,`post post-${J.placement??""} blocked`,"svelte-qmmoky")),V(W,G)};D(K,(W)=>{if(J.post instanceof S0)W(X);else W(Z,!1)})}V(z,Q)}var[J1,M7]=v9(),NW=L("<!> <!> <!> <!> <!>",1),kW=L('<details class="svelte-rwn0j1"><summary class="svelte-rwn0j1"> </summary> <!></details>'),bW=L('<p class="missing-replies-info svelte-rwn0j1"><i class="fa-solid fa-ban"></i> <!> (likely taken down by moderation)</p>'),TW=L('<p class="missing-replies-info svelte-rwn0j1"><i class="fa-solid fa-ban"></i> Hidden replies not available (post too old)</p>'),EW=L('<div><!> <!> <div class="content svelte-rwn0j1"><!> <!> <!> <!> <!></div></div>');function I1(z,J){i(J,!0);let Q=(s)=>{var V0=NW(),Y0=h(V0);Xz(Y0,{get highlightedMatches(){return X()}});var e=S(Y0,2);{var t=(k0)=>{W7(k0,{})};D(e,(k0)=>{if(K().tags)k0(t)})}var G0=S(e,2);{var O0=(k0)=>{$8(k0,{get embed(){return K().embed}})};D(G0,(k0)=>{if(K().embed&&M(K().embed))k0(O0)})}var H0=S(G0,2);{var F0=(k0)=>{eJ(k0,{get url(){return K().originalFediURL}})};D(H0,(k0)=>{if(K().originalFediURL&&ez(K().originalFediURL))k0(F0)})}var u0=S(H0,2);{var n0=(k0)=>{Y7(k0,{get quoteCount(){return Y(F)}})};D(u0,(k0)=>{if(K().likeCount!==void 0||K().repostCount!==void 0)k0(n0)})}V(s,V0)},K=R0(J,"post",7),X=R0(J,"highlightedMatches",3,void 0),Z=s6(J,["$$slots","$$events","$$legacy","post","placement","highlightedMatches"]),W=f(!1),G=f(x0(K().replies)),w=f(!1),H=f(void 0),q=f(void 0);M7({post:K(),placement:J.placement});let F=f(x0(K().quoteCount));function B(s){R(F,s,!0)}function U(s){if(s instanceof S0)return!0;else if(s instanceof y6)return T0.biohazardsEnabled!==!1;else return!1}function M(s){if(K().originalFediURL){if(s instanceof C5&&s.title?.startsWith("Original post on "))return!1}return!0}function P(s){K().updateDataFromPost(s),R(G,K().replies,!0)}function O(s){let V0=s.filter((Y0)=>Y0!==null);if(Y(G).push(...V0),K().replies=Y(G),V0.length===s.length&&V0.length>0)R(H,void 0);else R(H,s.length-V0.length);R(w,!0)}function j(s){if(R(w,!0),s instanceof Kz)R(q,s,!0);else setTimeout(()=>H8(s),1)}var T={setQuoteCount:B},E=EW();let N;var y=x(E);X7(y,{});var b=S(y,2);{var A=(s)=>{tJ(s,{get collapsed(){return Y(W)},set collapsed(V0){R(W,V0,!0)}})};D(b,(s)=>{if(J.placement=="thread"&&!K().isPageRoot)s(A)})}var k=S(b,2),$=x(k);{var v=(s)=>{var V0=kW(),Y0=x(V0),e=x(Y0,!0);C(Y0);var t=S(Y0,2);Q(t),C(V0),g(()=>u(e,K().muteList?`Muted (${K().muteList})`:"Muted - click to show")),V(s,V0)},l=(s)=>{Q(s)};D($,(s)=>{if(K().muted)s(v);else s(l,!1)})}var n=S($,2);{var o=(s)=>{I1(s,{get post(){return Y(G)[0]},placement:"thread",class:"flat"})},a=(s)=>{var V0=c(),Y0=h(V0);A0(Y0,17,()=>Y(G),(e)=>e.uri,(e,t)=>{var G0=c(),O0=h(G0);{var H0=(F0)=>{m8(F0,{get post(){return Y(t)},placement:"thread"})};D(O0,(F0)=>{if(U(Y(t)))F0(H0)})}V(e,G0)}),V(s,V0)};D(n,(s)=>{if(K().replyCount==1&&Y(G)[0]instanceof S0&&Y(G)[0].author.did==K().author.did)s(o);else s(a,!1)})}var X0=S(n,2);{var Q0=(s)=>{var V0=c(),Y0=h(V0);UJ(Y0,()=>Y(G),(e)=>{var t=c(),G0=h(t);{var O0=(F0)=>{J7(F0,{onLoad:P,onError:j})},H0=(F0)=>{var u0=c(),n0=h(u0);{var k0=(z6)=>{z7(z6,{onLoad:O,onError:j})};D(n0,(z6)=>{if(K().hasHiddenReplies&&T0.biohazardsEnabled!==!1)z6(k0)},!0)}V(F0,u0)};D(G0,(F0)=>{if(K().hasMoreReplies)F0(O0);else F0(H0,!1)})}V(e,t)}),V(s,V0)};D(X0,(s)=>{if(J.placement=="thread"&&!Y(w))s(Q0)})}var U0=S(X0,2);{var D0=(s)=>{var V0=bW(),Y0=S(x(V0),2);{var e=(G0)=>{var O0=d1();g(()=>u(O0,`${Y(H)??""} replies are missing`)),V(G0,O0)},t=(G0)=>{var O0=c(),H0=h(O0);{var F0=(n0)=>{var k0=d1("1 reply is missing");V(n0,k0)},u0=(n0)=>{var k0=d1("Some replies are missing");V(n0,k0)};D(H0,(n0)=>{if(Y(H)==1)n0(F0);else n0(u0,!1)},!0)}V(G0,O0)};D(Y0,(G0)=>{if(Y(H)>1)G0(e);else G0(t,!1)})}c0(),C(V0),V(s,V0)};D(U0,(s)=>{if(Y(H)!==void 0)s(D0)})}var M0=S(U0,2);{var v0=(s)=>{var V0=TW();V(s,V0)};D(M0,(s)=>{if(Y(q))s(v0)})}return C(k),C(E),g(()=>N=X1(E,1,`post post-${J.placement??""} ${(J.class||"")??""}`,"svelte-rwn0j1",N,{muted:K().muted,collapsed:Y(W)})),V(z,E),_(T)}var yW=L('<main class="hashtag svelte-1l2woaq"><header><h2><!></h2></header> <!></main>');function C7(z,J){i(J,!0);let Q=R0(J,"hashtag",7);Q(Q().replace(/^\#/,""));let K=x0([]),X=f(!1),Z=f(!1),W=!1,G=!1,w;V8(async()=>{if(W||G)return;W=!0;try{let U=await N0.getHashtagFeed(Q(),w),M=U.posts.map((P)=>new S0(P));if(R(X,!0),K.push(...M),W=!1,w=U.cursor,!w||K.length==0)G=!0}catch(U){console.log(U),W=!1,R(Z,!0)}});var H=c();b8("xlrj1v",(U)=>{l5(()=>{Y8.title=`#${Q()??""} - Skythread`})});var q=h(H);{var F=(U)=>{var M=yW(),P=x(M),O=x(P),j=x(O);{var T=(y)=>{var b=d1();g(()=>u(b,`Posts tagged: #${Q()??""}`)),V(y,b)},E=(y)=>{var b=d1();g(()=>u(b,`No posts tagged #${Q()??""}.`)),V(y,b)};D(j,(y)=>{if(K.length>0)y(T);else y(E,!1)})}C(O),C(P);var N=S(P,2);A0(N,17,()=>K,(y)=>y.uri,(y,b)=>{I1(y,{get post(){return Y(b)},placement:"feed"})}),C(M),V(U,M)},B=(U)=>{var M=c(),P=h(M);{var O=(j)=>{n6(j,{})};D(P,(j)=>{if(!Y(Z))j(O)},!0)}V(U,M)};D(q,(U)=>{if(Y(X))U(F);else U(B,!1)})}V(z,H),_()}var vW=L('<div id="search" class="svelte-1drcssc"><form method="get" class="svelte-1drcssc">\uD83C\uDF24 <input type="text" placeholder="Paste a thread link or type a #hashtag" class="svelte-1drcssc"/></form></div>');function w9(z,J){i(J,!0);let Q=f(""),K;Z1(()=>{K.focus()});function X(w){w.preventDefault();let H=Y(Q).trim();if(!H)return;if(H.startsWith("at://")){let q=new URL(h8());q.searchParams.set("q",H),location.assign(q.toString())}else if(H.match(/^#?((\p{Letter}|\p{Number})+)$/u)){let q=H.replace(/^#/,"");location.assign(L5(q))}else try{let{user:q,post:F}=Qz(H);location.assign(B6(q,F))}catch(q){console.log(q),alert(q.message||"This is not a valid URL or hashtag")}}var Z=vW(),W=x(Z),G=S(x(W));$0(G),t1(G,(w)=>K=w,()=>K),C(W),C(Z),L1("submit",W,X),P1(G,()=>Y(Q),(w)=>R(Q,w)),V(z,Z),_()}var gW=L('<tr><td class="no svelte-8hgnpr"></td><td class="handle svelte-8hgnpr"><img class="avatar svelte-8hgnpr" alt="Avatar"/> <a target="_blank"> </a></td><td class="count svelte-8hgnpr"> </td></tr>'),hW=L('<table style="display: table;"><thead><tr><th colspan="3" class="svelte-8hgnpr"> </th></tr></thead><tbody></tbody></table>');function U9(z,J){var Q=hW(),K=x(Q),X=x(K),Z=x(X),W=x(Z,!0);C(Z),C(X),C(K);var G=S(K);A0(G,21,()=>J.users,O1,(w,H,q)=>{var F=gW(),B=x(F);B.textContent=q+1;var U=S(B),M=x(U),P=S(M,2),O=x(P,!0);C(P),C(U);var j=S(U),T=x(j,!0);C(j),C(F),g(()=>{d(M,"src",Y(H).avatar),d(P,"href",`https://bsky.app/profile/${Y(H).handle??""}`),u(O,Y(H).handle),u(T,Y(H).count)}),V(w,F)}),C(G),C(Q),g(()=>{X1(Q,1,`scan-result ${J.cssClass??""}`,"svelte-8hgnpr"),u(W,J.header)}),V(z,Q)}class x7{scanStartTime;appView;progressPosts;progressLikeRecords;progressPostLikes;onProgress;abortController;constructor(){this.appView=new e1("public.api.bsky.app"),this.progressPosts=0,this.progressLikeRecords=0,this.progressPostLikes=0}async findLikes(z,J){this.onProgress=J,this.resetProgress(),this.scanStartTime=new Date().getTime(),this.abortController=new AbortController;let Q=this.fetchGivenLikes(z),K=await this.fetchReceivedLikes(z),X=this.sumUpReceivedLikes(K),Z=this.getTopEntries(X),W=await Q,G=this.sumUpGivenLikes(W),w=this.getTopEntries(G),H=await this.appView.getRequest("app.bsky.actor.getProfiles",{actors:w.map((q)=>q.did)},{abortSignal:this.abortController.signal});for(let q of H.profiles){let F=w.find((B)=>B.did==q.did);F.handle=q.handle,F.avatar=q.avatar}return this.scanStartTime=void 0,{givenLikes:w,receivedLikes:Z}}async fetchGivenLikes(z){let J=this.scanStartTime;return await q0.fetchAll("com.atproto.repo.listRecords",{params:{repo:q0.user.did,collection:"app.bsky.feed.like",limit:100},field:"records",breakWhen:(Q)=>Date.parse(Q.value.createdAt)<J-86400*z*1000,onPageLoad:(Q)=>{let K=Q.at(-1);if(!K)return;let X=Date.parse(K.value.createdAt),Z=(J-X)/86400/1000;this.updateProgress({likeRecords:Math.min(1,Z/z)})},abortSignal:this.abortController.signal})}async fetchReceivedLikes(z){let J=this.scanStartTime,K=(await this.appView.loadUserTimeline(q0.user.did,z,{filter:"posts_with_replies",onPageLoad:(Z)=>{let W=Z.at(-1);if(!W)return;let G=i1(W),w=(J-G)/86400/1000;this.updateProgress({posts:Math.min(1,w/z)})},abortSignal:this.abortController.signal})).filter((Z)=>!Z.reason&&Z.post.likeCount>0),X=[];for(let Z=0;Z<K.length;Z+=10){let W=K.slice(Z,Z+10);this.updateProgress({postLikes:Z/K.length});let G=W.map((H)=>{return this.appView.fetchAll("app.bsky.feed.getLikes",{params:{uri:H.post.uri,limit:100},field:"likes",abortSignal:this.abortController.signal})}),w=await Promise.all(G);X=X.concat(w)}return this.updateProgress({postLikes:1}),X.flat()}sumUpReceivedLikes(z){let J={};for(let Q of z){let K=Q.actor.handle;if(!J[K])J[K]={handle:K,count:0,avatar:Q.actor.avatar};J[K].count+=1}return J}sumUpGivenLikes(z){let J={};for(let Q of z){let K=m0(Q.value.subject.uri).repo;if(!J[K])J[K]={did:K,count:0};J[K].count+=1}return J}getTopEntries(z){return Object.entries(z).sort(this.sortResults).map((J)=>J[1]).slice(0,25)}resetProgress(){this.progressPosts=0,this.progressLikeRecords=0,this.progressPostLikes=0,this.onProgress?.(0)}updateProgress(z){if(z.posts)this.progressPosts=z.posts;if(z.likeRecords)this.progressLikeRecords=z.likeRecords;if(z.postLikes)this.progressPostLikes=z.postLikes;let J=0.1*this.progressPosts+0.65*this.progressLikeRecords+0.25*this.progressPostLikes;this.onProgress?.(J)}sortResults(z,J){if(z[1].count<J[1].count)return 1;else if(z[1].count>J[1].count)return-1;else return 0}abortScan(){this.scanStartTime=void 0,this.onProgress=void 0,this.abortController?.abort(),delete this.abortController}}var fW=L('<progress style="display: inline;" class="svelte-16cw7lp"></progress>'),mW=L("<!> <!>",1),$W=L('<main><h2>Like statistics</h2> <form><p>Time range: <input id="like_stats_range" type="range" min="1" max="60" class="svelte-16cw7lp"/> <label for="like_stats_range"> </label></p> <p><input type="submit" class="svelte-16cw7lp"/> <!></p></form> <!></main>');function O7(z,J){i(J,!0);let Q=f(7),K=f(void 0),X=C0(()=>Y(K)!==void 0),Z=f(void 0),W=f(void 0),G=new x7;async function w(y){y.preventDefault();try{if(!Y(X)){R(Z,void 0),R(W,void 0);let b=await G.findLikes(Y(Q),(A)=>{R(K,A,!0)});R(Z,b.givenLikes,!0),R(W,b.receivedLikes,!0),R(K,void 0)}else G.abortScan(),R(K,void 0)}catch(b){if(b.name!=="AbortError")throw b}}var H=$W(),q=S(x(H),2),F=x(q),B=S(x(F));$0(B);var U=S(B,2),M=x(U,!0);C(U),C(F);var P=S(F,2),O=x(P);$0(O);var j=S(O,2);{var T=(y)=>{var b=fW();g(()=>Y6(b,Y(K))),V(y,b)};D(j,(y)=>{if(Y(X))y(T)})}C(P),C(q);var E=S(q,2);{var N=(y)=>{var b=mW(),A=h(b);U9(A,{cssClass:"given-likes",header:"โค๏ธ Likes from you:",get users(){return Y(Z)}});var k=S(A,2);U9(k,{cssClass:"received-likes",header:"\uD83D\uDC9B Likes on your posts:",get users(){return Y(W)}}),V(y,b)};D(E,(y)=>{if(Y(Z)&&Y(W))y(N)})}C(H),g((y)=>{u(M,y),Y6(O,Y(X)?"Cancel":"Start scan")},[()=>E8(Y(Q))]),L1("submit",q,w),P1(B,()=>Y(Q),(y)=>R(Q,y)),V(z,H),_()}var uW="did:web:lycan.feeds.blue#lycan";class Gz{lycanAddress;constructor(z){this.lycanAddress=z??uW}get proxyHeaders(){return{"atproto-proxy":this.lycanAddress}}async getImportStatus(){return await q0.getRequest("blue.feeds.lycan.getImportStatus",null,{headers:this.proxyHeaders})}async startImport(){await q0.postRequest("blue.feeds.lycan.startImport",null,{headers:this.proxyHeaders})}async makeQuery(z,J,Q){let K={collection:z,query:J};if(Q)K.cursor=Q;return await q0.getRequest("blue.feeds.lycan.searchPosts",K,{headers:this.proxyHeaders})}searchPosts(z,J,Q){let K=!1,X=!1,Z;V8(async()=>{if(K||X)return;K=!0;let W=await this.makeQuery(z,J,Z),w=(await q0.loadPosts(W.posts)).map((H)=>new S0(H));if(K=!1,Q.onPostsLoaded({posts:w,terms:W.terms}),Z=W.cursor,!Z)X=!0,Q.onFinish?.()})}}class V9 extends Gz{localLycan;constructor(z){super();this.localLycan=new e1(z)}async getImportStatus(){return await this.localLycan.getRequest("blue.feeds.lycan.getImportStatus",{user:q0.user.did})}async startImport(){await this.localLycan.postRequest("blue.feeds.lycan.startImport",{user:q0.user.did})}async makeQuery(z,J,Q){let K={collection:z,query:J,user:q0.user.did};if(Q)K.cursor=Q;return await this.localLycan.getRequest("blue.feeds.lycan.searchPosts",K)}}var lW=L('<main class="search-page svelte-p7bb5y"><!></main>');function Bz(z,J){var Q=lW(),K=x(Q);G8(K,()=>J.children),C(Q),V(z,Q)}var pW=L('<input type="radio" name="collection"/> <label class="svelte-1xf0p4l"> </label>',1),dW=L(`<form class="svelte-1xf0p4l"><h4>Data not imported yet</h4> <p class="svelte-1xf0p4l">In order to search within your likes and bookmarks, the posts you've liked or saved need to be imported into a database. 51 - This is a one-time process, but it can take several minutes or more, depending on the age of your account.</p> <p class="svelte-1xf0p4l">To start the import, press the button below. You can then wait until it finishes, or close this tab and come back a bit later. 52 - After the import is complete, the database will be kept up to date automatically going forward.</p> <p class="svelte-1xf0p4l"><input type="submit" value="Start import"/></p></form>`),iW=L('<p><progress class="svelte-1xf0p4l"></progress> <output class="svelte-1xf0p4l"> </output></p>'),_W=L('<div class="import-progress svelte-1xf0p4l"><h4>Import in progress</h4> <p class="import-status"> </p> <!></div>'),cW=L('<div class="lycan-import svelte-1xf0p4l"><!></div>'),sW=L("<p>...</p>"),oW=L('<p class="results-end"> </p>'),aW=L("<!> <!>",1),rW=L('<h2>Archive search</h2> <form class="search-form"><p class="search">Search: <input type="text" class="search-query" autocomplete="off"/></p> <div class="search-collections svelte-1xf0p4l"></div></form> <!> <div class="results"><!></div>',1);function L7(z,J){i(J,!0);let Q=[],K=[{id:"likes",title:"Likes"},{id:"reposts",title:"Reposts"},{id:"quotes",title:"Quotes"},{id:"pins",title:"Pins"}],X=C0(()=>j(J.lycan)),Z=f(!1),W=f(void 0),G=f(void 0),w=f(0),H=f(!1),q,F=f(x0(K[0].id)),B=f(""),U=f(!1),M=f(!1),P=f(x0([])),O=f(x0([]));N();function j(v){if(!v)return new Gz;else if(v=="local"||v=="localhost")return new V9("http://localhost:3000");else if(v.startsWith("local:")||v.startsWith("localhost:")){let l=v.split(":")[1];return new V9(`http://localhost:${l}`)}else return new Gz(`did:web:${J.lycan}#lycan`)}function T(v){v.preventDefault(),y({status:"requested"}),R(H,!0),Y(X).startImport().catch((l)=>{console.error("Failed to start Lycan import",l),A(`Import failed: ${l}`)})}function E(v){if(v.key=="Enter"){v.preventDefault();let l=Y(B).trim().toLowerCase();if(l.length==0||Y(W)!="finished")return;R(P,[],!0),R(H,!1),R(U,!0),R(M,!1),Y(X).searchPosts(Y(F),l,{onPostsLoaded:({posts:n,terms:o})=>{R(U,!1),Y(P).push(...n),R(O,o,!0)},onFinish:()=>{R(M,!0)}})}}async function N(){if(Y(Z))return;R(Z,!0);try{let v=await Y(X).getImportStatus();y(v)}catch(v){A(`Couldn't check import status: ${v}`)}finally{R(Z,!1)}}function y(v){if(console.log(v),!v.status){A("Error checking import status");return}R(W,v.status,!0);let l=["in_progress","scheduled","requested"].includes(v.status);if(R(H,Y(H)||l,!0),v.status=="not_started");else if(l)b(v);else if(v.status=="finished")b({status:"finished",progress:1});else A("Error checking import status");l?k():$()}function b(v){if(R(w,Math.max(0,Math.min(v.progress||0,1)),!0),v.progress==1)R(G,"Import complete โœ“");else if(v.position){let l=new Date(v.position).toLocaleString(T0.dateLocale,{day:"numeric",month:"short",year:"numeric"});R(G,`Downloaded data until: ${l}`)}else if(v.status=="requested")R(G,"Requesting importโ€ฆ");else R(G,"Import startedโ€ฆ")}function A(v){R(W,"error"),R(H,!0),R(G,v,!0),$()}function k(){if(!q)q=setInterval(N,3000)}function $(){if(q)clearInterval(q),q=void 0}Bz(z,{children:(v,l)=>{var n=rW(),o=S(h(n),2),a=x(o),X0=S(x(a));$0(X0),X0.__keydown=E,C(a);var Q0=S(a,2);A0(Q0,21,()=>K,O1,(Y0,e)=>{var t=pW(),G0=h(t);$0(G0);var O0,H0=S(G0,2),F0=x(H0,!0);C(H0),g(()=>{if(d(G0,"id",`collection-${Y(e).id??""}`),O0!==(O0=Y(e).id))G0.value=(G0.__value=Y(e).id)??"";d(H0,"for",`collection-${Y(e).id??""}`),u(F0,Y(e).title)}),c5(Q,[],G0,()=>{return Y(e).id,Y(F)},(u0)=>R(F,u0)),V(Y0,t)}),C(Q0),C(o);var U0=S(o,2);{var D0=(Y0)=>{var e=cW(),t=x(e);{var G0=(H0)=>{var F0=dW();L1("submit",F0,T),V(H0,F0)},O0=(H0)=>{var F0=_W(),u0=S(x(F0),2),n0=x(u0,!0);C(u0);var k0=S(u0,2);{var z6=(t6)=>{var H6=iW(),u8=x(H6),l8=S(u8,2),e6=x(l8);C(l8),C(H6),g((p8)=>{Y6(u8,Y(w)),u(e6,`${p8??""}%`)},[()=>Math.round(Y(w)*100)]),V(t6,H6)};D(k0,(t6)=>{if(Y(W)!="error")t6(z6)})}C(F0),g(()=>u(n0,Y(G))),V(H0,F0)};D(t,(H0)=>{if(Y(W)=="not_started")H0(G0);else H0(O0,!1)})}C(e),V(Y0,e)};D(U0,(Y0)=>{if(Y(H)||Y(W)=="not_started")Y0(D0)})}var M0=S(U0,2),v0=x(M0);{var s=(Y0)=>{var e=sW();V(Y0,e)},V0=(Y0)=>{var e=aW(),t=h(e);A0(t,17,()=>Y(P),(H0)=>H0.uri,(H0,F0)=>{I1(H0,{get post(){return Y(F0)},placement:"feed",get highlightedMatches(){return Y(O)}})});var G0=S(t,2);{var O0=(H0)=>{var F0=oW(),u0=x(F0,!0);C(F0),g(()=>u(u0,Y(P).length>0?"No more results.":"No results.")),V(H0,F0)};D(G0,(H0)=>{if(Y(M))H0(O0)})}V(Y0,e)};D(v0,(Y0)=>{if(Y(U))Y0(s);else Y0(V0,!1)})}C(M0),g(()=>X0.disabled=Y(W)!="finished"),P1(X0,()=>Y(B),(Y0)=>R(B,Y0)),V(v,n)},$$slots:{default:!0}}),_()}I0(["keydown"]);var nW=L("<a>Reply to you</a>"),tW=L("<a> </a>"),eW=L("<a> </a>"),zY=L("<a>Reply</a>"),JY=L('<p class="back"><i class="fa-solid fa-reply"></i> <!></p>');function Hz(z,J){i(J,!0);let Q=C0(()=>m0(J.uri)),K=C0(()=>Y(Q).repo),X=C0(()=>Y(Q).rkey);var Z=JY(),W=S(x(Z),2);{var G=(H)=>{var q=nW();g((F)=>d(q,"href",F),[()=>B6(Y(K),Y(X))]),V(H,q)},w=(H)=>{var q=c(),F=h(q);k8(F,()=>N0.fetchHandleForDid(Y(K)),(B)=>{var U=zY();g((M)=>d(U,"href",M),[()=>B6(Y(K),Y(X))]),V(B,U)},(B,U)=>{var M=tW(),P=x(M);C(M),g((O)=>{d(M,"href",O),u(P,`Reply to @${Y(U)??""}`)},[()=>B6(Y(U),Y(X))]),V(B,M)},(B)=>{var U=eW(),M=x(U);C(U),g((P)=>{d(U,"href",P),u(M,`Reply to ${Y(K)??""}`)},[()=>B6(Y(K),Y(X))]),V(B,U)}),V(H,q)};D(W,(H)=>{if(q0&&Y(K)==q0.user.did)H(G);else H(w,!1)})}C(Z),V(z,Z),_()}var QY=L("<!> <!>",1),KY=L('<main class="notifications svelte-95g2ry"><header><h2>Replies & Mentions:</h2></header> <!></main>');function P7(z,J){i(J,!0);let Q=x0([]),K=f(!1),X=f(!1),Z=!1,W=!1,G;V8(async(B)=>{if(Z||W)return;Z=!0;try{let U=await q0.loadMentions(G),M=U.posts.map((P)=>new S0(P));if(!Y(K)&&M.length>0)R(K,!0);if(Q.push(...M),Z=!1,G=U.cursor,!G)W=!0;else if(M.length==0)B()}catch(U){console.log(U),Z=!1,R(X,!0)}});var w=c();b8("387i67",(B)=>{V1(()=>{Y8.title="Notifications - Skythread"})});var H=h(w);{var q=(B)=>{var U=KY(),M=S(x(U),2);A0(M,17,()=>Q,(P)=>P.uri,(P,O)=>{var j=QY(),T=h(j);{var E=(y)=>{Hz(y,{get uri(){return Y(O).parentReference.uri}})};D(T,(y)=>{if(Y(O).parentReference)y(E)})}var N=S(T,2);I1(N,{get post(){return Y(O)},placement:"feed"}),V(P,j)}),C(U),V(B,U)},F=(B)=>{var U=c(),M=h(U);{var P=(O)=>{n6(O,{})};D(M,(O)=>{if(!Y(X))O(P)},!0)}V(B,U)};D(H,(B)=>{if(Y(K))B(q);else B(F,!1)})}V(z,w),_()}var qZ=(z,J=J6)=>{var Q=ZY(),K=h(Q),X=S(K,2),Z=x(X,!0);C(X);var W=S(X,2),G=x(W,!0);C(W),g(()=>{d(K,"src",J().avatar),u(Z,J().displayName||"โ€“"),u(G,J().handle)}),V(z,Q)},ZY=L('<img class="avatar svelte-1cm32f6" alt="Avatar"/> <span class="name svelte-1cm32f6"> </span> <span class="handle svelte-1cm32f6"> </span>',1),XY=L("<div><!></div>"),WY=L('<div class="autocomplete svelte-1cm32f6"></div>'),YY=L('<div class="user-row svelte-1cm32f6"><!> <a class="remove svelte-1cm32f6" href="#">โœ•</a></div>'),GY=L('<div class="user-choice svelte-1cm32f6"><input type="text" placeholder="Add user" autocomplete="off" class="svelte-1cm32f6"/> <!> <div class="selected-users svelte-1cm32f6"></div></div>');function I7(z,J){i(J,!0);let Q=R0(J,"selectedUsers",27,()=>x0([])),K=f(""),X=f(x0([])),Z=f(-1),W=C0(()=>Q().map((A)=>A.did)),G=C0(()=>Y(X).length>0),w=f(0),H;Z1(()=>{let A=document.body.parentNode;return A.addEventListener("click",U),()=>{A.removeEventListener("click",U)}});function q(){if(H)clearTimeout(H);let A=Y(K).trim();if(A.length>0)H=setTimeout(()=>B(A),100);else U(),H=void 0}function F(A){if(A.key=="Enter"){if(A.preventDefault(),Y(Z)>=0)O(Y(Z))}else if(A.key=="Escape")U();else if(A.key=="ArrowDown"&&Y(X).length>0)A.preventDefault(),M(1);else if(A.key=="ArrowUp"&&Y(X).length>0)A.preventDefault(),M(-1)}async function B(A){let k=await N0.autocompleteUsers(A),$=new Set(Y(W));if(k=k.filter((v)=>!$.has(v.did)),k.length>0)R(X,k,!0),R(Z,0);else U()}function U(){R(X,[],!0),R(Z,-1)}function M(A){if(Y(X).length==0)return;let k=Y(Z)+A;if(k<0)k=Y(X).length-1;else if(k>=Y(X).length)k=0;R(Z,k,!0)}function P(A,k){A.preventDefault(),O(k)}function O(A){let k=Y(X)[A];if(!k)return;Q().push(k),R(K,""),U()}function j(A,k){A.preventDefault(),Q().splice(k,1)}var T=GY(),E=x(T);$0(E),N8(E,!0),E.__input=q,E.__keydown=F;var N=S(E,2);{var y=(A)=>{var k=WY();let $;A0(k,23,()=>Y(X),(v)=>v.did,(v,l,n)=>{var o=XY();let a;o.__mousedown=(Q0)=>{P(Q0,Y(n))};var X0=x(o);qZ(X0,()=>Y(l)),C(o),g(()=>a=X1(o,1,"user-row svelte-1cm32f6",null,a,{highlighted:Y(Z)==Y(n)})),L1("mouseenter",o,()=>{R(Z,Y(n),!0)}),V(v,o)}),C(k),g(()=>$=c6(k,"",$,{display:Y(G)?"block":"none",top:`${Y(w)??""}px`})),V(A,k)};D(N,(A)=>{if(Y(G))A(y)})}var b=S(N,2);A0(b,23,Q,(A)=>A.did,(A,k,$)=>{var v=YY(),l=x(v);qZ(l,()=>Y(k));var n=S(l,2);n.__click=(o)=>{j(o,Y($))},C(v),V(A,v)}),C(b),C(T),P1(E,()=>Y(K),(A)=>R(K,A)),DJ(E,"offsetHeight",(A)=>R(w,A)),V(z,T),_()}I0(["input","keydown","mousedown","click"]);var BY=L('<th class="svelte-vhh361">All posts /d</th> <th class="svelte-vhh361">Own posts /d</th> <th class="svelte-vhh361">Reposts /d</th>',1),HY=L('<th class="svelte-vhh361">Posts /d</th>'),wY=L('<th class="svelte-vhh361">% of timeline</th>'),UY=L('<td class="svelte-vhh361"> </td>'),VY=L('<td class="svelte-vhh361"> </td>'),FY=L('<td class="percent svelte-vhh361"></td>'),qY=L('<tr class="total svelte-vhh361"><td class="no svelte-vhh361"></td><td class="handle svelte-vhh361">Total:</td><!><td class="svelte-vhh361"> </td><!><!></tr>'),MY=L('<td class="svelte-vhh361"> </td>'),CY=L('<td class="svelte-vhh361"> </td>'),xY=L('<td class="percent svelte-vhh361"> </td>'),OY=L('<tr><td class="no svelte-vhh361"></td><td class="handle svelte-vhh361"><img class="avatar svelte-vhh361" alt="Avatar"/> <a target="_blank"> </a></td><!><td class="svelte-vhh361"> </td><!><!></tr>'),LY=L('<table class="scan-result svelte-vhh361"><thead><tr><th class="svelte-vhh361">#</th><th class="svelte-vhh361">Handle</th><!><!></tr></thead><tbody><!><!></tbody></table>');function S7(z,J){i(J,!0);let Q=R0(J,"showReposts",3,!0),K=R0(J,"showPercentages",3,!0),X=R0(J,"showTotal",3,!0);function Z(T){return T>0?T.toFixed(1):"โ€“"}var W=LY(),G=x(W),w=x(G),H=S(x(w),2);{var q=(T)=>{var E=BY();c0(4),V(T,E)},F=(T)=>{var E=HY();V(T,E)};D(H,(T)=>{if(Q())T(q);else T(F,!1)})}var B=S(H);{var U=(T)=>{var E=wY();V(T,E)};D(B,(T)=>{if(K())T(U)})}C(w),C(G);var M=S(G),P=x(M);{var O=(T)=>{var E=qY(),N=S(x(E),2);{var y=(n)=>{var o=UY(),a=x(o,!0);C(o),g((X0)=>u(a,X0),[()=>Z(J.sums.all/J.daysBack)]),V(n,o)};D(N,(n)=>{if(Q())n(y)})}var b=S(N),A=x(b,!0);C(b);var k=S(b);{var $=(n)=>{var o=VY(),a=x(o,!0);C(o),g((X0)=>u(a,X0),[()=>Z(J.sums.reposts/J.daysBack)]),V(n,o)};D(k,(n)=>{if(Q())n($)})}var v=S(k);{var l=(n)=>{var o=FY();V(n,o)};D(v,(n)=>{if(K())n(l)})}C(E),g((n)=>u(A,n),[()=>Z(J.sums.own/J.daysBack)]),V(T,E)};D(P,(T)=>{if(X())T(O)})}var j=S(P);A0(j,17,()=>J.users,O1,(T,E,N)=>{var y=OY(),b=x(y);b.textContent=N+1;var A=S(b),k=x(A),$=S(k,2),v=x($,!0);C($),C(A);var l=S(A);{var n=(M0)=>{var v0=MY(),s=x(v0,!0);C(v0),g((V0)=>u(s,V0),[()=>Z(Y(E).all/J.daysBack)]),V(M0,v0)};D(l,(M0)=>{if(Q())M0(n)})}var o=S(l),a=x(o,!0);C(o);var X0=S(o);{var Q0=(M0)=>{var v0=CY(),s=x(v0,!0);C(v0),g((V0)=>u(s,V0),[()=>Z(Y(E).reposts/J.daysBack)]),V(M0,v0)};D(X0,(M0)=>{if(Q())M0(Q0)})}var U0=S(X0);{var D0=(M0)=>{var v0=xY(),s=x(v0);C(v0),g((V0)=>u(s,`${V0??""}%`),[()=>Z(Y(E).all*100/J.sums.all)]),V(M0,v0)};D(U0,(M0)=>{if(K())M0(D0)})}C(y),g((M0)=>{d(k,"src",Y(E).avatar),d($,"href",`https://bsky.app/profile/${Y(E).handle??""}`),u(v,Y(E).handle),u(a,M0)},[()=>Z(Y(E).own/J.daysBack)]),V(T,y)}),C(M),C(W),V(z,W),_()}class D7{appView;userProgress;onProgress;abortController;constructor(z){this.onProgress=z,this.appView=new e1("public.api.bsky.app"),this.userProgress={}}async scanHomeTimeline(z){let J=new Date().getTime();this.abortController=new AbortController;let Q=await q0.loadHomeTimeline(z,{onPageLoad:(K)=>this.updateProgress(K,J),abortSignal:this.abortController.signal,keepLastPage:!0});return this.generateResults(Q,z,J)}async scanListTimeline(z,J){let Q=new Date().getTime();this.abortController=new AbortController;let K=await q0.loadListTimeline(z,J,{onPageLoad:(X)=>this.updateProgress(X,Q),abortSignal:this.abortController.signal,keepLastPage:!0});return this.generateResults(K,J,Q)}async scanUserTimelines(z,J){let Q=new Date().getTime(),K=z.map((w)=>w.did);this.resetUserProgress(K),this.abortController=new AbortController;let X=this.abortController.signal,Z=K.map((w)=>this.appView.loadUserTimeline(w,J,{filter:"posts_and_author_threads",onPageLoad:(H)=>this.updateUserProgress(w,H,Q,J),abortSignal:X,keepLastPage:!0})),G=(await Promise.all(Z)).flat();return this.generateResults(G,J,Q,{countFetchedDays:!1,users:z})}async scanYourTimeline(z){let J=new Date().getTime();this.abortController=new AbortController;let Q=await q0.loadUserTimeline(q0.user.did,z,{filter:"posts_no_replies",onPageLoad:(K)=>this.updateProgress(K,J),abortSignal:this.abortController.signal,keepLastPage:!0});return this.generateResults(Q,z,J)}generateResults(z,J,Q,K={}){let X=z.at(-1);if(!X)return null;let Z={},W=i1(X),G=(Q-W)/86400/1000,w;if(K.countFetchedDays!==!1)w=Math.min(J,G);else w=J;let H=Q-J*86400*1000;if(z=z.filter((U)=>i1(U)>H),z.reverse(),K.users)for(let U of K.users)Z[U.handle]={handle:U.handle,own:0,reposts:0,avatar:U.avatar};let q=new Set,F={own:0,reposts:0,all:0};for(let U of z){if(U.reply){if(!q.has(U.reply.parent.uri))continue}let M=U.reason?U.reason.by:U.post.author,P=M.handle;if(Z[P]=Z[P]??{handle:P,own:0,reposts:0,avatar:M.avatar},U.reason)Z[P].reposts+=1,F.reposts+=1;else Z[P].own+=1,F.own+=1,q.add(U.post.uri)}let B=Object.values(Z);return B.forEach((U)=>{U.all=U.own+U.reposts}),B.sort((U,M)=>M.all-U.all),F.all=F.own+F.reposts,{users:B,sums:F,fetchedDays:G,daysBack:w}}updateProgress(z,J){let Q=z.at(-1);if(!Q)return;let K=i1(Q),X=(J-K)/86400/1000;this.onProgress?.(X)}resetUserProgress(z){this.userProgress={};for(let J of z)this.userProgress[J]={pages:0,progress:0}}updateUserProgress(z,J,Q,K){let X=J.at(-1);if(!X)return;let Z=i1(X),W=(Q-Z)/86400/1000;this.userProgress[z].pages+=1,this.userProgress[z].progress=Math.min(W/K,1);let G=Object.values(this.userProgress).map((B)=>B.pages/B.progress),w=G.filter((B)=>!isNaN(B)),H=w.reduce((B,U)=>B+U)/w.length*G.length,F=Object.values(this.userProgress).map((B)=>B.pages).reduce((B,U)=>B+U)/H*K;this.onProgress?.(F)}abortScan(){this.abortController?.abort(),delete this.abortController}}var PY=L('<input type="radio" name="scan_type" class="svelte-1khgu5y"/> <label class="svelte-1khgu5y"> </label>',1),IY=L("<option> </option>"),SY=L('<p class="list-choice"><label for="posting_stats_list">Select list:</label> <select id="posting_stats_list" name="scan_list" class="svelte-1khgu5y"></select></p>'),DY=L('<progress class="svelte-1khgu5y"></progress>'),RY=L('<p class="scan-info svelte-1khgu5y"> </p>'),jY=L('<main><h2>Bluesky posting statistics</h2> <form><p>Scan posts from: <!></p> <p>Time range: <input id="posting_stats_range" type="range" min="1" max="60" class="svelte-1khgu5y"/> <label for="posting_stats_range"> </label></p> <!> <!> <p><input type="submit" class="svelte-1khgu5y"/> <!></p></form> <!> <!></main>');function R7(z,J){i(J,!0);let Q=[],K=[{id:"home",title:"Home timeline"},{id:"list",title:"List feed"},{id:"users",title:"Selected users"},{id:"you",title:"Your profile"}],X=f(x0([])),Z=f(7),W=f(x0(K[0].id)),G=f(x0([])),w=f(void 0),H=f(!1),q=f(void 0),F=f(void 0),B=f(void 0),U=f(x0({})),M=f(null),P=new D7((e)=>{R(F,Math.max(Y(F)||0,e),!0)});Z1(()=>{j()});function O(){R(M,null)}async function j(){let e=await q0.loadUserLists();R(X,e.sort((t,G0)=>{let O0=t.name.toLocaleLowerCase(),H0=G0.name.toLocaleLowerCase();return O0.localeCompare(H0)}),!0),R(w,Y(X)[0]?.uri,!0)}async function T(e){e.preventDefault();try{if(!Y(H))await E();else R(H,!1),P.abortScan()}catch(t){if(t.name!=="AbortError")throw t}}async function E(){if(Y(W)=="list"&&!Y(w)||Y(W)=="users"&&Y(G).length==0)return;R(B,void 0),R(M,null),R(q,Y(Z),!0),R(F,0),R(H,!0);let e=new Date().getTime(),t,G0;if(Y(W)=="home")G0={},t=await P.scanHomeTimeline(Y(q));else if(Y(W)=="list")G0={showReposts:!1},t=await P.scanListTimeline(Y(w),Y(q));else if(Y(W)=="users")G0={showTotal:!1,showPercentages:!1},t=await P.scanUserTimelines(Y(G),Y(q));else G0={showTotal:!1,showPercentages:!1},t=await P.scanYourTimeline(Y(q));if(new Date().getTime()-e<150)await new Promise((H0)=>setTimeout(H0,150));R(U,G0,!0),R(M,t,!0),R(H,!1)}var N=jY(),y=S(x(N),2),b=x(y),A=S(x(b));A0(A,17,()=>K,O1,(e,t)=>{var G0=PY(),O0=h(G0);$0(O0),O0.__click=O;var H0,F0=S(O0,2),u0=x(F0,!0);C(F0),g(()=>{if(d(O0,"id",`scan_type_${Y(t).id??""}`),H0!==(H0=Y(t).id))O0.value=(O0.__value=Y(t).id)??"";d(F0,"for",`scan_type_${Y(t).id??""}`),u(u0,Y(t).title)}),c5(Q,[],O0,()=>{return Y(t).id,Y(W)},(n0)=>R(W,n0)),V(e,G0)}),C(b);var k=S(b,2),$=S(x(k));$0($);var v=S($,2),l=x(v,!0);C(v),C(k);var n=S(k,2);{var o=(e)=>{var t=SY(),G0=S(x(t),2);A0(G0,21,()=>Y(X),O1,(O0,H0)=>{var F0=IY(),u0=x(F0);C(F0);var n0={};g(()=>{if(u(u0,`${Y(H0).name??""}ย `),n0!==(n0=Y(H0).uri))F0.value=(F0.__value=Y(H0).uri)??""}),V(O0,F0)}),C(G0),C(t),CJ(G0,()=>Y(w),(O0)=>R(w,O0)),V(e,t)};D(n,(e)=>{if(Y(W)=="list")e(o)})}var a=S(n,2);{var X0=(e)=>{I7(e,{get selectedUsers(){return Y(G)},set selectedUsers(t){R(G,t,!0)}})};D(a,(e)=>{if(Y(W)=="users")e(X0)})}var Q0=S(a,2),U0=x(Q0);$0(U0);var D0=S(U0,2);{var M0=(e)=>{var t=DY();g(()=>{d(t,"max",Y(q)),Y6(t,Y(F))}),V(e,t)};D(D0,(e)=>{if(Y(H))e(M0)})}C(Q0),C(y);var v0=S(y,2);{var s=(e)=>{var t=RY(),G0=x(t,!0);C(t),g(()=>u(G0,Y(B))),V(e,t)};D(v0,(e)=>{if(Y(B))e(s)})}var V0=S(v0,2);{var Y0=(e)=>{S7(e,AJ(()=>Y(U),()=>Y(M)))};D(V0,(e)=>{if(Y(M))e(Y0)})}C(N),g((e)=>{u(l,e),Y6(U0,!Y(H)?"Start scan":"Cancel")},[()=>E8(Y(Z))]),L1("submit",y,T),P1($,()=>Y(Z),(e)=>R(Z,e)),V(z,N),_()}I0(["click"]);var AY=L("<!> <!>",1),NY=L('<main class="quotes svelte-13teqqd"><header><h2><!></h2></header> <!></main>');function j7(z,J){i(J,!0);let Q=!1,K,X=!1,Z=x0([]),W=f(void 0),G=f(!1);V8(async()=>{if(Q||X)return;Q=!0;try{let B=await g8.getQuotes(J.postURL,K),M=(await N0.loadPosts(B.posts)).map((P)=>new S0(P));if(Y(W)===void 0)R(W,B.quoteCount,!0);if(Z.push(...M),Q=!1,K=B.cursor,!K||Z.length==0)X=!0}catch(B){console.log(B),Q=!1,R(G,!0),H8(B)}});var w=c(),H=h(w);{var q=(B)=>{var U=NY(),M=x(U),P=x(M),O=x(P);{var j=(N)=>{var y=d1();g(()=>u(y,`${Y(W)??""} quotes:`)),V(N,y)},T=(N)=>{var y=c(),b=h(y);{var A=($)=>{var v=d1("1 quote:");V($,v)},k=($)=>{var v=d1("No quotes found.");V($,v)};D(b,($)=>{if(Y(W)==1)$(A);else $(k,!1)},!0)}V(N,y)};D(O,(N)=>{if(Y(W)>1)N(j);else N(T,!1)})}C(P),C(M);var E=S(M,2);A0(E,17,()=>Z,(N)=>N.uri,(N,y)=>{var b=AY(),A=h(b);{var k=(v)=>{Hz(v,{get uri(){return Y(y).parentReference.uri}})};D(A,(v)=>{if(Y(y).parentReference)v(k)})}var $=S(A,2);I1($,{get post(){return Y(y)},placement:"quotes"}),V(N,b)}),C(U),V(B,U)},F=(B)=>{var U=c(),M=h(U);{var P=(O)=>{n6(O,{})};D(M,(O)=>{if(!Y(G))O(P)},!0)}V(B,U)};D(H,(B)=>{if(Y(W)!==void 0)B(q);else B(F,!1)})}V(z,w),_()}var kY=L('<div id="tangled" class="svelte-18p55jz"><a href="https://tangled.org/mackuba.eu/skythread" target="_blank" class="svelte-18p55jz"><img src="icons/tangled_dolly.svg" alt="Tangled" class="svelte-18p55jz"/></a></div>');function A7(z){var J=kY();V(z,J)}var bY=L('<p class="back"><i class="fa-solid fa-reply"></i> <a> </a></p>'),TY=L('<div class="back"><!></div>'),EY=L('<p class="back"><i class="fa-solid fa-ban"></i> parent post has been deleted</p>'),yY=L(`<p class="back"><i class="fa-solid fa-ban"></i> something went wrong, this shouldn't happen</p>`);function N7(z,J){i(J,!0);var Q=c(),K=h(Q);{var X=(W)=>{var G=bY(),w=S(x(G),2),H=x(w);C(w),C(G),g((q)=>{d(w,"href",q),u(H,`See parent post (@${J.post.author.handle??""})`)},[()=>v6(J.post)]),V(W,G)},Z=(W)=>{var G=c(),w=h(G);{var H=(F)=>{var B=TY(),U=x(B);j5(U,{get post(){return J.post},placement:"parent",reason:"Parent post blocked"}),C(B),V(F,B)},q=(F)=>{var B=c(),U=h(B);{var M=(O)=>{var j=EY();V(O,j)},P=(O)=>{var j=yY();V(O,j)};D(U,(O)=>{if(J.post instanceof P6)O(M);else O(P,!1)},!0)}V(F,B)};D(w,(F)=>{if(J.post instanceof y6)F(H);else F(q,!1)},!0)}V(W,G)};D(K,(W)=>{if(J.post instanceof S0)W(X);else W(Z,!1)})}V(z,Q),_()}var vY=L("<!> <!>",1),gY=L("<main><!></main>");function F9(z,J){i(J,!0);let Q=s6(J,["$$slots","$$events","$$legacy"]),K=f(void 0),X=f(!1),Z=f(void 0),W;if("url"in Q){let{url:F}=Q;if(F.startsWith("at://"))W=N0.loadThreadByAtURI(F);else W=N0.loadThreadByURL(F)}else{let{author:F,rkey:B}=Q;W=N0.loadThreadById(F,B)}W.then((F)=>{let B=w8(F.thread);if(window.root=B,window.subtreeRoot=B,R(K,B,!0),B instanceof S0)B.data.quoteCount=void 0,g8.getQuoteCount(B.uri).then((U)=>{Y(Z)?.setQuoteCount(U)}).catch((U)=>{console.warn("Couldn't load quote count: "+U)})}).catch((F)=>{H8(F),R(X,!0)});var G=c();b8("64euhl",(F)=>{var B=c(),U=h(B);{var M=(P)=>{l5(()=>{Y8.title=`${Y(K).author.displayName??""}: "${Y(K).text??""}" - Skythread`})};D(U,(P)=>{if(Y(K)instanceof S0)P(M)})}V(F,B)});var w=h(G);{var H=(F)=>{var B=gY(),U=x(B);{var M=(O)=>{var j=vY(),T=h(j);{var E=(b)=>{N7(b,{get post(){return Y(K).parent}})},N=(b)=>{var A=c(),k=h(A);{var $=(v)=>{Wz(v,{get uri(){return Y(K).parentReference.uri}})};D(k,(v)=>{if(Y(K).parentReference)v($)},!0)}V(b,A)};D(T,(b)=>{if(Y(K).parent)b(E);else b(N,!1)})}var y=S(T,2);t1(I1(y,{get post(){return Y(K)},placement:"thread"}),(b)=>R(Z,b,!0),()=>Y(Z)),V(O,j)},P=(O)=>{m8(O,{get post(){return Y(K)},placement:"thread"})};D(U,(O)=>{if(Y(K)instanceof S0)O(M);else O(P,!1)})}C(B),V(F,B)},q=(F)=>{var B=c(),U=h(B);{var M=(P)=>{n6(P,{})};D(U,(P)=>{if(!Y(X))P(M)},!0)}V(F,B)};D(w,(F)=>{if(Y(K))F(H);else F(q,!1)})}V(z,G),_()}class k7{timelinePosts;abortController;constructor(){this.timelinePosts=[]}async fetchTimeline(z,J){let Q=new Date().getTime();this.abortController=new AbortController;let K=await q0.loadHomeTimeline(z,{abortSignal:this.abortController.signal,onPageLoad:(X)=>{let Z=this.calculateProgress(X,Q);if(Z)J(Z)}});this.timelinePosts=K}calculateProgress(z,J){let Q=z.at(-1);if(!Q)return null;let K=i1(Q);return(J-K)/86400/1000}searchPosts(z){if(z.length==0)return[];return this.timelinePosts.filter((Q)=>Q.post.record.text.toLowerCase().includes(z)).map((Q)=>JZ(Q))}abortFetch(){this.abortController?.abort(),delete this.abortController}}var hY=L("<progress></progress>"),fY=L('<p class="archive-status"> </p>'),mY=L('<form class="search-form"><p class="search">Search: <input type="text" class="search-query" autocomplete="off"/></p></form> <div class="results"></div>',1),$Y=L('<h2>Timeline search</h2> <div class="timeline-search"><form><p>Fetch timeline posts: <input id="timeline_search_range" type="range" min="1" max="60" class="svelte-ba7vy9"/> <label for="timeline_search_range"> </label></p> <p><input type="submit"/> <!></p></form> <!> <hr/></div> <!>',1);function b7(z,J){i(J,!0);let Q=f(7),K=f(void 0),X=f(void 0),Z=C0(()=>Y(X)!==void 0),W=f(void 0),G=f(""),w=f(x0([])),H=new k7;async function q(B){B.preventDefault();try{if(!Y(Z))R(K,Y(Q),!0),R(X,0),await H.fetchTimeline(Y(Q),(U)=>{R(X,U,!0)}),R(W,Y(X),!0),R(X,void 0);else R(X,void 0),H.abortFetch()}catch(U){if(U.name!=="AbortError")throw U}}function F(B){if(B.key=="Enter"){B.preventDefault();let U=Y(G).trim().toLowerCase();R(w,H.searchPosts(U),!0)}}Bz(z,{children:(B,U)=>{var M=$Y(),P=S(h(M),2),O=x(P),j=x(O),T=S(x(j));$0(T);var E=S(T,2),N=x(E,!0);C(E),C(j);var y=S(j,2),b=x(y);$0(b);var A=S(b,2);{var k=(o)=>{var a=hY();g(()=>{d(a,"max",Y(K)),Y6(a,Y(X))}),V(o,a)};D(A,(o)=>{if(Y(Z))o(k)})}C(y),C(O);var $=S(O,2);{var v=(o)=>{var a=fY(),X0=x(a);C(a),g((Q0)=>u(X0,`Timeline archive fetched: ${Q0??""}`),[()=>E8(Math.round(Y(W)))]),V(o,a)};D($,(o)=>{if(Y(W))o(v)})}c0(2),C(P);var l=S(P,2);{var n=(o)=>{var a=mY(),X0=h(a),Q0=x(X0),U0=S(x(Q0));$0(U0),U0.__keydown=F,C(Q0),C(X0);var D0=S(X0,2);A0(D0,21,()=>Y(w),(M0)=>M0.uri,(M0,v0)=>{I1(M0,{get post(){return Y(v0)},placement:"feed"})}),C(D0),P1(U0,()=>Y(G),(M0)=>R(G,M0)),V(o,a)};D(l,(o)=>{if(Y(W))o(n)})}g((o)=>{u(N,o),Y6(b,Y(Z)?"Cancel":"Fetch timeline")},[()=>E8(Y(Q))]),L1("submit",O,q),P1(T,()=>Y(Q),(o)=>R(Q,o)),V(B,M)},$$slots:{default:!0}}),_()}I0(["keydown"]);var uY=L("<!> <!> <!> <!>",1);function T7(z,J){i(J,!0);let Q=(q)=>{var F=c(),B=h(F);{var U=(P)=>{P7(P,{})},M=(P)=>{var O=c(),j=h(O);{var T=(N)=>{R7(N,{})},E=(N)=>{var y=c(),b=h(y);{var A=($)=>{O7($,{})},k=($)=>{var v=c(),l=h(v);{var n=(a)=>{var X0=c(),Q0=h(X0);{var U0=(M0)=>{L7(M0,{get lycan(){return J.params.lycan}})},D0=(M0)=>{b7(M0,{})};D(Q0,(M0)=>{if(J.params.mode=="likes")M0(U0);else M0(D0,!1)})}V(a,X0)},o=(a)=>{w9(a,{})};D(l,(a)=>{if(J.params.page=="search")a(n);else a(o,!1)},!0)}V($,v)};D(b,($)=>{if(J.params.page=="like_stats")$(A);else $(k,!1)},!0)}V(N,y)};D(j,(N)=>{if(J.params.page=="posting_stats")N(T);else N(E,!1)},!0)}V(P,O)};D(B,(P)=>{if(J.params.page=="notif")P(U);else P(M,!1)})}V(q,F)};if(J.params.page&&!Y1.loggedIn)P5({showClose:!1});var K=uY(),X=h(K);rJ(X,{});var Z=S(X,2);oJ(Z,{});var W=S(Z,2);A7(W,{});var G=S(W,2);{var w=(q)=>{F9(q,{get url(){return J.params.q}})},H=(q)=>{var F=c(),B=h(F);{var U=(P)=>{F9(P,{get author(){return J.params.author},get rkey(){return J.params.post}})},M=(P)=>{var O=c(),j=h(O);{var T=(N)=>{j7(N,{get postURL(){return J.params.quotes}})},E=(N)=>{var y=c(),b=h(y);{var A=($)=>{C7($,{get hashtag(){return J.params.hash}})},k=($)=>{var v=c(),l=h(v);{var n=(a)=>{var X0=c(),Q0=h(X0);{var U0=(D0)=>{Q(D0)};D(Q0,(D0)=>{if(Y1.loggedIn)D0(U0)})}V(a,X0)},o=(a)=>{w9(a,{})};D(l,(a)=>{if(J.params.page)a(n);else a(o,!1)},!0)}V($,v)};D(b,($)=>{if(J.params.hash)$(A);else $(k,!1)},!0)}V(N,y)};D(j,(N)=>{if(J.params.quotes)N(T);else N(E,!1)},!0)}V(P,O)};D(B,(P)=>{if(J.params.author&&J.params.post)P(U);else P(M,!1)},!0)}V(q,F)};D(G,(q)=>{if(J.params.q)q(w);else q(H,!1)})}V(z,K),_()}function lY(){let z=ZZ(location.search);H5(T7,{target:document.body,props:{params:z}})}document.addEventListener("DOMContentLoaded",lY);})(); 48 + `+JSON.stringify(J));this.code=z,this.json=J}}class b9 extends Error{}class w6 extends Error{}class cz{host;config;user;sendAuthHeaders;autoManageTokens;constructor(z,J,Q){if(this.host=z,this.config=J||null,this.user=J?.user||null,this.sendAuthHeaders=!!this.user,this.autoManageTokens=!!this.user,Q)Object.assign(this,Q)}get baseURL(){if(this.host)return(this.host.includes("://")?this.host:`https://${this.host}`)+"/xrpc";else throw new b9("Hostname not set")}get isLoggedIn(){return!!(this.user&&this.user.accessToken&&this.user.refreshToken&&this.user.did&&this.user.pdsEndpoint)}async getRequest(z,J,Q={}){let K=new URL(`${this.baseURL}/${z}`),Z=Q&&"auth"in Q?Q.auth:this.sendAuthHeaders;if(this.autoManageTokens&&Z===!0)await this.checkAccess();if(J)for(let w in J)if(J[w]instanceof Array)J[w].forEach((H)=>K.searchParams.append(w,H));else K.searchParams.append(w,J[w]);let X=this.authHeaders(Z);if(Q.headers)Object.assign(X,Q.headers);let W=await fetch(K,{headers:X,signal:Q.abortSignal??null});return await this.parseResponse(W)}async postRequest(z,J,Q={}){let K=`${this.baseURL}/${z}`,Z=Q&&"auth"in Q?Q.auth:this.sendAuthHeaders;if(this.autoManageTokens&&Z===!0)await this.checkAccess();let X=this.authHeaders(Z),W={method:"POST"};if(J)W.body=JSON.stringify(J),X["Content-Type"]="application/json";if(Q.headers)Object.assign(X,Q.headers);if(Q.abortSignal)W.signal=Q.abortSignal;W.headers=X;let w=await fetch(K,W);return await this.parseResponse(w)}async fetchAll(z,J){if(!J||!J.field)throw new b9("'field' option is required");let Q=[],K=J.params??{},Z=this.sliceOptions(J,["auth","headers","abortSignal"]);for(;;){let X=await this.getRequest(z,K,Z),W=X[J.field],w=X.cursor;if(J.breakWhen){let H=J.breakWhen;if(W.some((B)=>H(B))){if(!J.keepLastPage)W=W.filter((B)=>!H(B));w=null}}if(Q=Q.concat(W),K.cursor=w,J.onPageLoad?.(W),!w)break}return Q}authHeaders(z){if(typeof z=="string")return{Authorization:`Bearer ${z}`};else if(z)if(this.user?.accessToken)return{Authorization:`Bearer ${this.user.accessToken}`};else throw new w6("Can't send auth headers, access token is missing");else return{}}sliceOptions(z,J){let Q={};for(let K of J)if(K in z)Q[K]=z[K];return Q}tokenExpirationTimestamp(z){let J=z.split(".");if(J.length!=3)throw new w6("Invalid access token format");let K=JSON.parse(atob(J[1])).exp;if(!(K&&typeof K=="number"&&K>0))throw new w6("Invalid token expiry data");return K*1000}isInvalidToken(z,J){return z.status==400&&!!J&&["InvalidToken","ExpiredToken"].includes(J.error)}async parseResponse(z){let J=await z.text(),Q=J.trim().length>0?JSON.parse(J):void 0;if(z.status>=200&&z.status<300)return Q;else throw new G6(z.status,Q)}requireUserConfig(){if(!this.config||!this.config.user)throw new w6("Missing user configuration object")}requireLoggedInUser(){if(this.requireUserConfig(),!this.isLoggedIn)throw new w6("Not logged in")}async checkAccess(){if(this.requireLoggedInUser(),this.tokenExpirationTimestamp(this.user.accessToken)<new Date().getTime()+60000)await this.performTokenRefresh()}async logIn(z,J){this.requireUserConfig();let Q={identifier:z,password:J},K=await this.postRequest("com.atproto.server.createSession",Q,{auth:!1});return this.saveTokens(K),K}async performTokenRefresh(){this.requireLoggedInUser(),console.log("Refreshing access tokenโ€ฆ");let z=await this.postRequest("com.atproto.server.refreshSession",null,{auth:this.user.refreshToken});return this.saveTokens(z),z}saveTokens(z){if(this.requireUserConfig(),this.user.accessToken=z.accessJwt,this.user.refreshToken=z.refreshJwt,this.user.did=z.did,z.didDoc?.service){let J=z.didDoc.service.find((Q)=>Q.id=="#atproto_pds");this.host=J.serviceEndpoint.replace("https://","")}this.user.pdsEndpoint=this.host,this.config.save()}resetTokens(){this.requireUserConfig(),delete this.user.accessToken,delete this.user.refreshToken,delete this.user.did,delete this.user.pdsEndpoint,this.config.save()}}class f4{repo;collection;rkey;constructor(z){if(!z.startsWith("at://"))throw new o5(`Not an at:// URI: ${z}`);let J=z.split("/");if(J.length!=5)throw new o5(`Invalid at:// URI: ${z}`);this.repo=J[2],this.collection=J[3],this.rkey=J[4]}}function f0(z){return new f4(z)}function PZ(){return new IntersectionObserver((z,J)=>{for(let Q of z)if(Q.isIntersecting){let K=Q.target;K.removeAttribute("lazy"),J.unobserve(K)}},{rootMargin:"1000px 0px"})}var T9=PZ();/*! @license DOMPurify 3.3.1 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.3.1/LICENSE */var{entries:c4,setPrototypeOf:m4,isFrozen:LZ,getPrototypeOf:IZ,getOwnPropertyDescriptor:SZ}=Object,{freeze:v1,seal:X5,create:m9}=Object,{apply:$9,construct:u9}=typeof Reflect<"u"&&Reflect;if(!v1)v1=function(J){return J};if(!X5)X5=function(J){return J};if(!$9)$9=function(J,Q){for(var K=arguments.length,Z=Array(K>2?K-2:0),X=2;X<K;X++)Z[X-2]=arguments[X];return J.apply(Q,Z)};if(!u9)u9=function(J){for(var Q=arguments.length,K=Array(Q>1?Q-1:0),Z=1;Z<Q;Z++)K[Z-1]=arguments[Z];return new J(...K)};var a8=g1(Array.prototype.forEach),jZ=g1(Array.prototype.lastIndexOf),$4=g1(Array.prototype.pop),sz=g1(Array.prototype.push),DZ=g1(Array.prototype.splice),n8=g1(String.prototype.toLowerCase),E9=g1(String.prototype.toString),y9=g1(String.prototype.match),oz=g1(String.prototype.replace),RZ=g1(String.prototype.indexOf),AZ=g1(String.prototype.trim),x5=g1(Object.prototype.hasOwnProperty),y1=g1(RegExp.prototype.test),az=NZ(TypeError);function g1(z){return function(J){if(J instanceof RegExp)J.lastIndex=0;for(var Q=arguments.length,K=Array(Q>1?Q-1:0),Z=1;Z<Q;Z++)K[Z-1]=arguments[Z];return $9(z,J,K)}}function NZ(z){return function(){for(var J=arguments.length,Q=Array(J),K=0;K<J;K++)Q[K]=arguments[K];return u9(z,Q)}}function O0(z,J){let Q=arguments.length>2&&arguments[2]!==void 0?arguments[2]:n8;if(m4)m4(z,null);let K=J.length;while(K--){let Z=J[K];if(typeof Z==="string"){let X=Q(Z);if(X!==Z){if(!LZ(J))J[K]=X;Z=X}}z[Z]=!0}return z}function kZ(z){for(let J=0;J<z.length;J++)if(!x5(z,J))z[J]=null;return z}function T5(z){let J=m9(null);for(let[Q,K]of c4(z))if(x5(z,Q))if(Array.isArray(K))J[Q]=kZ(K);else if(K&&typeof K==="object"&&K.constructor===Object)J[Q]=T5(K);else J[Q]=K;return J}function rz(z,J){while(z!==null){let K=SZ(z,J);if(K){if(K.get)return g1(K.get);if(typeof K.value==="function")return g1(K.value)}z=IZ(z)}function Q(){return null}return Q}var u4=v1(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),v9=v1(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),g9=v1(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),bZ=v1(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),h9=v1(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),TZ=v1(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),l4=v1(["#text"]),p4=v1(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns","slot"]),f9=v1(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),d4=v1(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),r8=v1(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),EZ=X5(/\{\{[\w\W]*|[\w\W]*\}\}/gm),yZ=X5(/<%[\w\W]*|[\w\W]*%>/gm),vZ=X5(/\$\{[\w\W]*/gm),gZ=X5(/^data-[\-\w.\u00B7-\uFFFF]+$/),hZ=X5(/^aria-[\-\w]+$/),s4=X5(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),fZ=X5(/^(?:\w+script|data):/i),mZ=X5(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),o4=X5(/^html$/i),$Z=X5(/^[a-z][.\w]*(-[.\w]+)+$/i),i4=Object.freeze({__proto__:null,ARIA_ATTR:hZ,ATTR_WHITESPACE:mZ,CUSTOM_ELEMENT:$Z,DATA_ATTR:gZ,DOCTYPE_NAME:o4,ERB_EXPR:yZ,IS_ALLOWED_URI:s4,IS_SCRIPT_OR_DATA:fZ,MUSTACHE_EXPR:EZ,TMPLIT_EXPR:vZ}),nz={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},uZ=function(){return typeof window>"u"?null:window},lZ=function(J,Q){if(typeof J!=="object"||typeof J.createPolicy!=="function")return null;let K=null,Z="data-tt-policy-suffix";if(Q&&Q.hasAttribute(Z))K=Q.getAttribute(Z);let X="dompurify"+(K?"#"+K:"");try{return J.createPolicy(X,{createHTML(W){return W},createScriptURL(W){return W}})}catch(W){return console.warn("TrustedTypes policy "+X+" could not be created."),null}},_4=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function a4(){let z=arguments.length>0&&arguments[0]!==void 0?arguments[0]:uZ(),J=(Z0)=>a4(Z0);if(J.version="3.3.1",J.removed=[],!z||!z.document||z.document.nodeType!==nz.document||!z.Element)return J.isSupported=!1,J;let{document:Q}=z,K=Q,Z=K.currentScript,{DocumentFragment:X,HTMLTemplateElement:W,Node:w,Element:H,NodeFilter:B,NamedNodeMap:F=z.NamedNodeMap||z.MozNamedAttrMap,HTMLFormElement:q,DOMParser:G,trustedTypes:U}=z,M=H.prototype,I=rz(M,"cloneNode"),O=rz(M,"remove"),A=rz(M,"nextSibling"),T=rz(M,"childNodes"),y=rz(M,"parentNode");if(typeof W==="function"){let Z0=Q.createElement("template");if(Z0.content&&Z0.content.ownerDocument)Q=Z0.content.ownerDocument}let N,E="",{implementation:b,createNodeIterator:R,createDocumentFragment:k,getElementsByTagName:$}=Q,{importNode:v}=K,u=_4();J.isSupported=typeof c4==="function"&&typeof y==="function"&&b&&b.createHTMLDocument!==void 0;let{MUSTACHE_EXPR:n,ERB_EXPR:o,TMPLIT_EXPR:i,DATA_ATTR:X0,ARIA_ATTR:Q0,IS_SCRIPT_OR_DATA:q0,ATTR_WHITESPACE:a,CUSTOM_ELEMENT:e}=i4,{IS_ALLOWED_URI:P0}=i4,V0=null,k0=O0({},[...u4,...v9,...g9,...h9,...l4]),w0=null,z0=O0({},[...p4,...f9,...d4,...r8]),t=Object.seal(m9(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),B0=null,D0=null,H0=Object.seal(m9(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),G0=!0,t0=!0,v5=!1,B8=!0,r5=!1,n5=!0,Y5=!1,$6=!1,u6=!1,t5=!1,l6=!1,H8=!1,yJ=!0,vJ=!1,MK="user-content-",q7=!0,Rz=!1,p6={},O5=null,F7=O0({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),gJ=null,hJ=O0({},["audio","video","img","source","image","track"]),M7=null,fJ=O0({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),U8="http://www.w3.org/1998/Math/MathML",V8="http://www.w3.org/2000/svg",g5="http://www.w3.org/1999/xhtml",d6=g5,x7=!1,C7=null,xK=O0({},[U8,V8,g5],E9),q8=O0({},["mi","mo","mn","ms","mtext"]),F8=O0({},["annotation-xml"]),CK=O0({},["title","style","font","a","script"]),Az=null,OK=["application/xhtml+xml","text/html"],PK="text/html",e0=null,i6=null,LK=Q.createElement("form"),mJ=function(L){return L instanceof RegExp||L instanceof Function},O7=function(){let L=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(i6&&i6===L)return;if(!L||typeof L!=="object")L={};if(L=T5(L),Az=OK.indexOf(L.PARSER_MEDIA_TYPE)===-1?PK:L.PARSER_MEDIA_TYPE,e0=Az==="application/xhtml+xml"?E9:n8,V0=x5(L,"ALLOWED_TAGS")?O0({},L.ALLOWED_TAGS,e0):k0,w0=x5(L,"ALLOWED_ATTR")?O0({},L.ALLOWED_ATTR,e0):z0,C7=x5(L,"ALLOWED_NAMESPACES")?O0({},L.ALLOWED_NAMESPACES,E9):xK,M7=x5(L,"ADD_URI_SAFE_ATTR")?O0(T5(fJ),L.ADD_URI_SAFE_ATTR,e0):fJ,gJ=x5(L,"ADD_DATA_URI_TAGS")?O0(T5(hJ),L.ADD_DATA_URI_TAGS,e0):hJ,O5=x5(L,"FORBID_CONTENTS")?O0({},L.FORBID_CONTENTS,e0):F7,B0=x5(L,"FORBID_TAGS")?O0({},L.FORBID_TAGS,e0):T5({}),D0=x5(L,"FORBID_ATTR")?O0({},L.FORBID_ATTR,e0):T5({}),p6=x5(L,"USE_PROFILES")?L.USE_PROFILES:!1,G0=L.ALLOW_ARIA_ATTR!==!1,t0=L.ALLOW_DATA_ATTR!==!1,v5=L.ALLOW_UNKNOWN_PROTOCOLS||!1,B8=L.ALLOW_SELF_CLOSE_IN_ATTR!==!1,r5=L.SAFE_FOR_TEMPLATES||!1,n5=L.SAFE_FOR_XML!==!1,Y5=L.WHOLE_DOCUMENT||!1,t5=L.RETURN_DOM||!1,l6=L.RETURN_DOM_FRAGMENT||!1,H8=L.RETURN_TRUSTED_TYPE||!1,u6=L.FORCE_BODY||!1,yJ=L.SANITIZE_DOM!==!1,vJ=L.SANITIZE_NAMED_PROPS||!1,q7=L.KEEP_CONTENT!==!1,Rz=L.IN_PLACE||!1,P0=L.ALLOWED_URI_REGEXP||s4,d6=L.NAMESPACE||g5,q8=L.MATHML_TEXT_INTEGRATION_POINTS||q8,F8=L.HTML_INTEGRATION_POINTS||F8,t=L.CUSTOM_ELEMENT_HANDLING||{},L.CUSTOM_ELEMENT_HANDLING&&mJ(L.CUSTOM_ELEMENT_HANDLING.tagNameCheck))t.tagNameCheck=L.CUSTOM_ELEMENT_HANDLING.tagNameCheck;if(L.CUSTOM_ELEMENT_HANDLING&&mJ(L.CUSTOM_ELEMENT_HANDLING.attributeNameCheck))t.attributeNameCheck=L.CUSTOM_ELEMENT_HANDLING.attributeNameCheck;if(L.CUSTOM_ELEMENT_HANDLING&&typeof L.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements==="boolean")t.allowCustomizedBuiltInElements=L.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements;if(r5)t0=!1;if(l6)t5=!0;if(p6){if(V0=O0({},l4),w0=[],p6.html===!0)O0(V0,u4),O0(w0,p4);if(p6.svg===!0)O0(V0,v9),O0(w0,f9),O0(w0,r8);if(p6.svgFilters===!0)O0(V0,g9),O0(w0,f9),O0(w0,r8);if(p6.mathMl===!0)O0(V0,h9),O0(w0,d4),O0(w0,r8)}if(L.ADD_TAGS)if(typeof L.ADD_TAGS==="function")H0.tagCheck=L.ADD_TAGS;else{if(V0===k0)V0=T5(V0);O0(V0,L.ADD_TAGS,e0)}if(L.ADD_ATTR)if(typeof L.ADD_ATTR==="function")H0.attributeCheck=L.ADD_ATTR;else{if(w0===z0)w0=T5(w0);O0(w0,L.ADD_ATTR,e0)}if(L.ADD_URI_SAFE_ATTR)O0(M7,L.ADD_URI_SAFE_ATTR,e0);if(L.FORBID_CONTENTS){if(O5===F7)O5=T5(O5);O0(O5,L.FORBID_CONTENTS,e0)}if(L.ADD_FORBID_CONTENTS){if(O5===F7)O5=T5(O5);O0(O5,L.ADD_FORBID_CONTENTS,e0)}if(q7)V0["#text"]=!0;if(Y5)O0(V0,["html","head","body"]);if(V0.table)O0(V0,["tbody"]),delete B0.tbody;if(L.TRUSTED_TYPES_POLICY){if(typeof L.TRUSTED_TYPES_POLICY.createHTML!=="function")throw az('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof L.TRUSTED_TYPES_POLICY.createScriptURL!=="function")throw az('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');N=L.TRUSTED_TYPES_POLICY,E=N.createHTML("")}else{if(N===void 0)N=lZ(U,Z);if(N!==null&&typeof E==="string")E=N.createHTML("")}if(v1)v1(L);i6=L},$J=O0({},[...v9,...g9,...bZ]),uJ=O0({},[...h9,...TZ]),IK=function(L){let p=y(L);if(!p||!p.tagName)p={namespaceURI:d6,tagName:"template"};let J0=n8(L.tagName),v0=n8(p.tagName);if(!C7[L.namespaceURI])return!1;if(L.namespaceURI===V8){if(p.namespaceURI===g5)return J0==="svg";if(p.namespaceURI===U8)return J0==="svg"&&(v0==="annotation-xml"||q8[v0]);return Boolean($J[J0])}if(L.namespaceURI===U8){if(p.namespaceURI===g5)return J0==="math";if(p.namespaceURI===V8)return J0==="math"&&F8[v0];return Boolean(uJ[J0])}if(L.namespaceURI===g5){if(p.namespaceURI===V8&&!F8[v0])return!1;if(p.namespaceURI===U8&&!q8[v0])return!1;return!uJ[J0]&&(CK[J0]||!$J[J0])}if(Az==="application/xhtml+xml"&&C7[L.namespaceURI])return!0;return!1},P5=function(L){sz(J.removed,{element:L});try{y(L).removeChild(L)}catch(p){O(L)}},q6=function(L,p){try{sz(J.removed,{attribute:p.getAttributeNode(L),from:p})}catch(J0){sz(J.removed,{attribute:null,from:p})}if(p.removeAttribute(L),L==="is")if(t5||l6)try{P5(p)}catch(J0){}else try{p.setAttribute(L,"")}catch(J0){}},lJ=function(L){let p=null,J0=null;if(u6)L="<remove></remove>"+L;else{let o0=y9(L,/^[\r\n\t ]+/);J0=o0&&o0[0]}if(Az==="application/xhtml+xml"&&d6===g5)L='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+L+"</body></html>";let v0=N?N.createHTML(L):L;if(d6===g5)try{p=new G().parseFromString(v0,Az)}catch(o0){}if(!p||!p.documentElement){p=b.createDocument(d6,"template",null);try{p.documentElement.innerHTML=x7?E:v0}catch(o0){}}let L1=p.body||p.documentElement;if(L&&J0)L1.insertBefore(Q.createTextNode(J0),L1.childNodes[0]||null);if(d6===g5)return $.call(p,Y5?"html":"body")[0];return Y5?p.documentElement:L1},pJ=function(L){return R.call(L.ownerDocument||L,L,B.SHOW_ELEMENT|B.SHOW_COMMENT|B.SHOW_TEXT|B.SHOW_PROCESSING_INSTRUCTION|B.SHOW_CDATA_SECTION,null)},P7=function(L){return L instanceof q&&(typeof L.nodeName!=="string"||typeof L.textContent!=="string"||typeof L.removeChild!=="function"||!(L.attributes instanceof F)||typeof L.removeAttribute!=="function"||typeof L.setAttribute!=="function"||typeof L.namespaceURI!=="string"||typeof L.insertBefore!=="function"||typeof L.hasChildNodes!=="function")},dJ=function(L){return typeof w==="function"&&L instanceof w};function h5(Z0,L,p){a8(Z0,(J0)=>{J0.call(J,L,p,i6)})}let iJ=function(L){let p=null;if(h5(u.beforeSanitizeElements,L,null),P7(L))return P5(L),!0;let J0=e0(L.nodeName);if(h5(u.uponSanitizeElement,L,{tagName:J0,allowedTags:V0}),n5&&L.hasChildNodes()&&!dJ(L.firstElementChild)&&y1(/<[/\w!]/g,L.innerHTML)&&y1(/<[/\w!]/g,L.textContent))return P5(L),!0;if(L.nodeType===nz.progressingInstruction)return P5(L),!0;if(n5&&L.nodeType===nz.comment&&y1(/<[/\w]/g,L.data))return P5(L),!0;if(!(H0.tagCheck instanceof Function&&H0.tagCheck(J0))&&(!V0[J0]||B0[J0])){if(!B0[J0]&&cJ(J0)){if(t.tagNameCheck instanceof RegExp&&y1(t.tagNameCheck,J0))return!1;if(t.tagNameCheck instanceof Function&&t.tagNameCheck(J0))return!1}if(q7&&!O5[J0]){let v0=y(L)||L.parentNode,L1=T(L)||L.childNodes;if(L1&&v0){let o0=L1.length;for(let h1=o0-1;h1>=0;--h1){let f5=I(L1[h1],!0);f5.__removalCount=(L.__removalCount||0)+1,v0.insertBefore(f5,A(L))}}}return P5(L),!0}if(L instanceof H&&!IK(L))return P5(L),!0;if((J0==="noscript"||J0==="noembed"||J0==="noframes")&&y1(/<\/no(script|embed|frames)/i,L.innerHTML))return P5(L),!0;if(r5&&L.nodeType===nz.text){if(p=L.textContent,a8([n,o,i],(v0)=>{p=oz(p,v0," ")}),L.textContent!==p)sz(J.removed,{element:L.cloneNode()}),L.textContent=p}return h5(u.afterSanitizeElements,L,null),!1},_J=function(L,p,J0){if(yJ&&(p==="id"||p==="name")&&((J0 in Q)||(J0 in LK)))return!1;if(t0&&!D0[p]&&y1(X0,p));else if(G0&&y1(Q0,p));else if(H0.attributeCheck instanceof Function&&H0.attributeCheck(p,L));else if(!w0[p]||D0[p])if(cJ(L)&&(t.tagNameCheck instanceof RegExp&&y1(t.tagNameCheck,L)||t.tagNameCheck instanceof Function&&t.tagNameCheck(L))&&(t.attributeNameCheck instanceof RegExp&&y1(t.attributeNameCheck,p)||t.attributeNameCheck instanceof Function&&t.attributeNameCheck(p,L))||p==="is"&&t.allowCustomizedBuiltInElements&&(t.tagNameCheck instanceof RegExp&&y1(t.tagNameCheck,J0)||t.tagNameCheck instanceof Function&&t.tagNameCheck(J0)));else return!1;else if(M7[p]);else if(y1(P0,oz(J0,a,"")));else if((p==="src"||p==="xlink:href"||p==="href")&&L!=="script"&&RZ(J0,"data:")===0&&gJ[L]);else if(v5&&!y1(q0,oz(J0,a,"")));else if(J0)return!1;return!0},cJ=function(L){return L!=="annotation-xml"&&y9(L,e)},sJ=function(L){h5(u.beforeSanitizeAttributes,L,null);let{attributes:p}=L;if(!p||P7(L))return;let J0={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:w0,forceKeepAttr:void 0},v0=p.length;while(v0--){let L1=p[v0],{name:o0,namespaceURI:h1,value:f5}=L1,_6=e0(o0),L7=f5,U1=o0==="value"?L7:AZ(L7);if(J0.attrName=_6,J0.attrValue=U1,J0.keepAttr=!0,J0.forceKeepAttr=void 0,h5(u.uponSanitizeAttribute,L,J0),U1=J0.attrValue,vJ&&(_6==="id"||_6==="name"))q6(o0,L),U1=MK+U1;if(n5&&y1(/((--!?|])>)|<\/(style|title|textarea)/i,U1)){q6(o0,L);continue}if(_6==="attributename"&&y9(U1,"href")){q6(o0,L);continue}if(J0.forceKeepAttr)continue;if(!J0.keepAttr){q6(o0,L);continue}if(!B8&&y1(/\/>/i,U1)){q6(o0,L);continue}if(r5)a8([n,o,i],(aJ)=>{U1=oz(U1,aJ," ")});let oJ=e0(L.nodeName);if(!_J(oJ,_6,U1)){q6(o0,L);continue}if(N&&typeof U==="object"&&typeof U.getAttributeType==="function")if(h1);else switch(U.getAttributeType(oJ,_6)){case"TrustedHTML":{U1=N.createHTML(U1);break}case"TrustedScriptURL":{U1=N.createScriptURL(U1);break}}if(U1!==L7)try{if(h1)L.setAttributeNS(h1,o0,U1);else L.setAttribute(o0,U1);if(P7(L))P5(L);else $4(J.removed)}catch(aJ){q6(o0,L)}}h5(u.afterSanitizeAttributes,L,null)},SK=function Z0(L){let p=null,J0=pJ(L);h5(u.beforeSanitizeShadowDOM,L,null);while(p=J0.nextNode())if(h5(u.uponSanitizeShadowNode,p,null),iJ(p),sJ(p),p.content instanceof X)Z0(p.content);h5(u.afterSanitizeShadowDOM,L,null)};return J.sanitize=function(Z0){let L=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},p=null,J0=null,v0=null,L1=null;if(x7=!Z0,x7)Z0="<!-->";if(typeof Z0!=="string"&&!dJ(Z0))if(typeof Z0.toString==="function"){if(Z0=Z0.toString(),typeof Z0!=="string")throw az("dirty is not a string, aborting")}else throw az("toString is not a function");if(!J.isSupported)return Z0;if(!$6)O7(L);if(J.removed=[],typeof Z0==="string")Rz=!1;if(Rz){if(Z0.nodeName){let f5=e0(Z0.nodeName);if(!V0[f5]||B0[f5])throw az("root node is forbidden and cannot be sanitized in-place")}}else if(Z0 instanceof w)if(p=lJ("<!---->"),J0=p.ownerDocument.importNode(Z0,!0),J0.nodeType===nz.element&&J0.nodeName==="BODY")p=J0;else if(J0.nodeName==="HTML")p=J0;else p.appendChild(J0);else{if(!t5&&!r5&&!Y5&&Z0.indexOf("<")===-1)return N&&H8?N.createHTML(Z0):Z0;if(p=lJ(Z0),!p)return t5?null:H8?E:""}if(p&&u6)P5(p.firstChild);let o0=pJ(Rz?Z0:p);while(v0=o0.nextNode())if(iJ(v0),sJ(v0),v0.content instanceof X)SK(v0.content);if(Rz)return Z0;if(t5){if(l6){L1=k.call(p.ownerDocument);while(p.firstChild)L1.appendChild(p.firstChild)}else L1=p;if(w0.shadowroot||w0.shadowrootmode)L1=v.call(K,L1,!0);return L1}let h1=Y5?p.outerHTML:p.innerHTML;if(Y5&&V0["!doctype"]&&p.ownerDocument&&p.ownerDocument.doctype&&p.ownerDocument.doctype.name&&y1(o4,p.ownerDocument.doctype.name))h1="<!DOCTYPE "+p.ownerDocument.doctype.name+`> 49 + `+h1;if(r5)a8([n,o,i],(f5)=>{h1=oz(h1,f5," ")});return N&&H8?N.createHTML(h1):h1},J.setConfig=function(){let Z0=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};O7(Z0),$6=!0},J.clearConfig=function(){i6=null,$6=!1},J.isValidAttribute=function(Z0,L,p){if(!i6)O7({});let J0=e0(Z0),v0=e0(L);return _J(J0,v0,p)},J.addHook=function(Z0,L){if(typeof L!=="function")return;sz(u[Z0],L)},J.removeHook=function(Z0,L){if(L!==void 0){let p=jZ(u[Z0],L);return p===-1?void 0:DZ(u[Z0],p,1)[0]}return $4(u[Z0])},J.removeHooks=function(Z0){u[Z0]=[]},J.removeAllHooks=function(){u=_4()},J}var r4=a4();function E6(z){return t8(z,"day")}function t8(z,J,Q){if(z==1)return`1 ${J}`;else return Q=Q??`${J}s`,`${z} ${Q}`}function n4(z){return r4.sanitize(z,{ALLOWED_TAGS:["a","b","blockquote","br","code","dd","del","div","dl","dt","em","font","h1","h2","h3","h4","h5","h6","hr","i","li","ol","p","q","pre","s","span","strong","sub","sup","u","wbr","#text"],ALLOWED_ATTR:["align","alt","class","clear","color","dir","href","lang","rel","title","translate"]})}function t4(z,J){if(z.length<=J)return z;else return z.slice(0,J-1)+"โ€ฆ"}function y6(z){if(z===void 0||z===null||typeof z=="number")return z;else return parseInt(z,10)}function p1(z){let J=z.reason?z.reason.indexedAt:z.post.record.createdAt;return Date.parse(J)}function Uz(z){try{let J=new URL(z);return J.protocol=="http:"||J.protocol=="https:"}catch(J){return console.error("Invalid URL: "+J),!1}}function e4(z,J){return z.getDate()==J.getDate()&&z.getMonth()==J.getMonth()&&z.getFullYear()==J.getFullYear()}function B6(z){console.log(z),alert(z)}class d1{constructor(z,J){this.data=z,Object.assign(this,J??{})}get uri(){return this.data.uri}get cid(){return this.data.cid}get rkey(){return f0(this.uri).rkey}get type(){return this.data.$type}}class tz extends d1{constructor(z){super(z);this.author=z.creator}get title(){return this.data.displayName}get description(){return this.data.description}get likeCount(){return y6(this.data.likeCount)}get avatar(){return this.data.avatar}}class ez extends d1{constructor(z){super(z);this.author=z.creator}get title(){return this.data.name}get purpose(){return this.data.purpose}get description(){return this.data.description}get avatar(){return this.data.avatar}}class z8 extends d1{constructor(z){super(z);this.author=z.creator}get title(){return this.data.record.name}get description(){return this.data.record.description}}class X1{json;static parseInlineEmbed(z){switch(z.$type){case"app.bsky.embed.record#view":return new qz(z);case"app.bsky.embed.recordWithMedia#view":return new Fz(z);case"app.bsky.embed.images#view":return new Z7(z);case"app.bsky.embed.external#view":return new Mz(z);case"app.bsky.embed.video#view":return new xz(z);default:if(location.protocol=="file:")throw new Vz(`Unexpected embed type: ${z.$type}`);else return console.warn("Unexpected embed type:",z.$type),new X1(z)}}static parseRawEmbed(z){switch(z.$type){case"app.bsky.embed.record":return new Q7(z);case"app.bsky.embed.recordWithMedia":return new K7(z);case"app.bsky.embed.images":return new e8(z);case"app.bsky.embed.external":return new z7(z);case"app.bsky.embed.video":return new J7(z);default:if(location.protocol=="file:")throw new Vz(`Unexpected embed type: ${z.$type}`);else return console.warn("Unexpected embed type:",z.$type),new X1(z)}}constructor(z){this.json=z}get type(){return this.json.$type}}class e8 extends X1{images;constructor(z){super(z);this.images=z.images}}class z7 extends X1{url;title;thumb;constructor(z){super(z);this.url=z.external.uri,this.title=z.external.title,this.thumb=z.external.thumb}}class J7 extends X1{video;constructor(z){super(z);this.video=z.video}}class Q7 extends X1{record;constructor(z){super(z);this.record=new d1(z.record)}}class K7 extends X1{record;media;constructor(z){super(z);this.record=new d1(z.record.record),this.media=X1.parseRawEmbed(z.media)}}class qz extends X1{record;constructor(z){super(z);this.record=l9(z.record)}}class Fz extends X1{record;media;constructor(z){super(z);this.record=l9(z.record.record),this.media=X1.parseInlineEmbed(z.media)}}class Mz extends X1{url;title;description;thumb;constructor(z){super(z);this.url=z.external.uri,this.title=z.external.title,this.description=z.external.description,this.thumb=z.external.thumb}}class Z7 extends X1{images;constructor(z){super(z);this.images=z.images}}class xz extends X1{playlistURL;alt;constructor(z){super(z);this.playlistURL=z.playlist,this.alt=z.alt}}class Vz extends Error{constructor(z){super(z)}}class v6 extends d1{get didLinkToAuthor(){let{repo:z}=f0(this.uri);return`https://bsky.app/profile/${z}`}}function H6(z,J=null,Q=0,K=0){switch(z.$type){case"app.bsky.feed.defs#threadViewPost":let Z=new S0(z.post,{level:Q,absoluteLevel:K});if(Z.pageRoot=J??Z,z.replies){let X=z.replies.map((W)=>H6(W,Z.pageRoot,Q+1,K+1));Z.setReplies(X)}if(K<=0&&z.parent)Z.parent=H6(z.parent,Z.pageRoot,Q-1,K-1);return Z;case"app.bsky.feed.defs#notFoundPost":return new C5(z);case"app.bsky.feed.defs#blockedPost":return new E5(z);default:throw new Vz(`Unexpected record type: ${z.$type}`)}}function l9(z){switch(z.$type){case"app.bsky.embed.record#viewRecord":return new S0(z,{isEmbed:!0});case"app.bsky.embed.record#viewNotFound":return new C5(z);case"app.bsky.embed.record#viewBlocked":return new E5(z);case"app.bsky.embed.record#viewDetached":return new Cz(z);case"app.bsky.feed.defs#generatorView":return new tz(z);case"app.bsky.graph.defs#listView":return new ez(z);case"app.bsky.graph.defs#starterPackViewBasic":return new z8(z);default:return console.warn("Unknown record type:",z.$type),new d1(z)}}function JK(z){let J=new S0(z.post);if(z.reply){if(J.parent=zK(z.reply.parent),J.threadRoot=zK(z.reply.root),z.reply.grandparentAuthor)J.grandparentAuthor=z.reply.grandparentAuthor}if(z.reason)J.reason=z.reason;return J}function zK(z){switch(z.$type){case"app.bsky.feed.defs#postView":return new S0(z);case"app.bsky.feed.defs#notFoundPost":return new C5(z);case"app.bsky.feed.defs#blockedPost":return new E5(z);default:throw new Vz(`Unexpected record type: ${z.$type}`)}}class S0 extends v6{parent;threadRoot;pageRoot;replies;grandparentAuthor;level;absoluteLevel;reason;isEmbed;constructor(z,J){super(z);if(Object.assign(this,J??{}),this.absoluteLevel===0)this.pageRoot=this;if(this.record=this.isPostView?z.record:z.value,this.isPostView&&z.embed)this.embed=X1.parseInlineEmbed(z.embed);else if(this.isEmbed&&z.embeds&&z.embeds[0])this.embed=X1.parseInlineEmbed(z.embeds[0]);else if(this.record.embed)this.embed=X1.parseRawEmbed(this.record.embed);if(this.author=this.author??z.author,this.replies=[],this.viewerData=z.viewer,this.viewerLike=z.viewer?.like,this.author)N0.cacheProfile(this.author)}updateDataFromPost(z){this.record=z.record,this.embed=z.embed,this.author=z.author,this.viewerData=z.viewerData,this.viewerLike=z.viewerLike,this.level=z.level,this.absoluteLevel=z.absoluteLevel,this.setReplies(z.replies)}setReplies(z){this.replies=z,this.replies.sort(this.sortReplies.bind(this))}sortReplies(z,J){if(z instanceof S0&&J instanceof S0)if(z.author.did==this.author.did&&J.author.did!=this.author.did)return-1;else if(z.author.did!=this.author.did&&J.author.did==this.author.did)return 1;else if(z.text!="\uD83D\uDCCC"&&J.text=="\uD83D\uDCCC")return-1;else if(z.text=="\uD83D\uDCCC"&&J.text!="\uD83D\uDCCC")return 1;else if(z.createdAt.getTime()<J.createdAt.getTime())return-1;else if(z.createdAt.getTime()>J.createdAt.getTime())return 1;else return 0;else if(z instanceof S0)return-1;else if(J instanceof S0)return 1;else return 0}get isPostView(){return!this.isEmbed}get isFediPost(){return this.author?.handle.endsWith(".ap.brid.gy")}get originalFediContent(){return this.record.bridgyOriginalText}get originalFediURL(){return this.record.bridgyOriginalUrl}get isPageRoot(){return this.pageRoot===this}get authorFediHandle(){if(this.isFediPost)return this.author.handle.replace(/\.ap\.brid\.gy$/,"").replace(".","@");else throw"Not a Fedi post"}get hasValidHandle(){return this.author.handle!="handle.invalid"}get authorDisplayName(){if(this.author.displayName)return this.author.displayName.trim();else if(this.author.handle.endsWith(".bsky.social"))return this.author.handle.replace(/\.bsky\.social$/,"");else return this.author.handle}get linkToAuthor(){return"https://bsky.app/profile/"+(this.hasValidHandle?this.author.handle:this.author.did)}get linkToPost(){return this.linkToAuthor+"/post/"+this.rkey}get text(){return this.record.text}get lowercaseText(){if(!this._lowercaseText)this._lowercaseText=this.record.text.toLowerCase();return this._lowercaseText}get facets(){return this.record.facets}get tags(){return this.record.tags}get createdAt(){return new Date(this.record.createdAt)}get likeCount(){return y6(this.data.likeCount)}get replyCount(){return y6(this.data.replyCount)}get quoteCount(){return y6(this.data.quoteCount)}get hasMoreReplies(){return this.replyCount!==void 0&&this.replyCount>this.replies.length&&this.replies.length===0&&(this.level!==void 0&&this.level>4)}get hasHiddenReplies(){return this.replyCount!==void 0&&this.replyCount>this.replies.length&&(this.replies.length>0||this.level!==void 0&&this.level<=4)}get isRestrictingReplies(){return!!(this.data.threadgate&&this.data.threadgate.record.allow)}get repostCount(){return y6(this.data.repostCount)}get liked(){return this.viewerLike!==void 0}get muted(){return this.author.viewer?.muted}get muteList(){return this.author.viewer?.mutedByList?.name}get hasViewerInfo(){return this.viewerData!==void 0}get parentReference(){return this.record.reply?.parent&&new d1(this.record.reply?.parent)}get rootReference(){return this.record.reply?.root&&new d1(this.record.reply?.root)}}class E5 extends v6{constructor(z){super(z);this.author=z.author}get blocksUser(){return!!this.author.viewer?.blocking}get blockedByUser(){return this.author.viewer?.blockedBy}}class C5 extends v6{}class Cz extends v6{}class p9 extends Error{}class o5 extends Error{constructor(z){super(z)}}class i1 extends cz{handleCache;profiles;constructor(z,J,Q){super(z,J,Q);this.handleCache=new k9,this.profiles={}}cacheProfile(z){this.profiles[z.did]=z,this.profiles[z.handle]=z,this.handleCache.setHandleDid(z.handle,z.did)}async fetchHandleForDid(z){let J=this.handleCache.findHandleByDid(z);if(J)return J;else return(await this.loadUserProfile(z)).handle}async resolveHandle(z){let J=this.handleCache.getHandleDid(z);if(J)return J;else{let Q=await this.getRequest("com.atproto.identity.resolveHandle",{handle:z},{auth:!1}),K=Q.did;if(K)return this.handleCache.setHandleDid(z,K),K;else throw new p9("Missing DID in response: "+JSON.stringify(Q))}}async loadThreadByURL(z){let{user:J,post:Q}=J8(z);return await this.loadThreadById(J,Q)}async loadThreadById(z,J){let K=`at://${z.startsWith("did:")?z:await this.resolveHandle(z)}/app.bsky.feed.post/${J}`;return await this.loadThreadByAtURI(K)}async loadThreadByAtURI(z){return await this.getRequest("app.bsky.feed.getPostThread",{uri:z,depth:10})}async loadUserProfile(z){if(this.profiles[z])return this.profiles[z];else{let J=await this.getRequest("app.bsky.actor.getProfile",{actor:z});return this.cacheProfile(J),J}}async autocompleteUsers(z){return(await this.getRequest("app.bsky.actor.searchActorsTypeahead",{q:z})).actors}async getReplies(z){return(await this.fetchAll("blue.microcosm.links.getBacklinks",{field:"records",params:{subject:z,source:"app.bsky.feed.post:reply.parent.uri",limit:100}})).map((Q)=>`at://${Q.did}/${Q.collection}/${Q.rkey}`)}async getQuoteCount(z){return(await this.getRequest("blue.feeds.post.getQuoteCount",{uri:z})).quoteCount}async getQuotes(z,J){let Q;if(z.startsWith("at://"))Q=z;else{let{user:Z,post:X}=J8(z);Q=`at://${Z.startsWith("did:")?Z:await U6.resolveHandle(Z)}/app.bsky.feed.post/${X}`}let K={uri:Q};if(J)K.cursor=J;return await this.getRequest("blue.feeds.post.getQuotes",K)}async getHashtagFeed(z,J){let Q={q:"#"+z,limit:50,sort:"latest"};if(J)Q.cursor=J;return await this.getRequest("app.bsky.feed.searchPosts",Q)}async loadHiddenReplies(z){let Q=(await d9.getReplies(z.uri)).filter((X)=>!z.replies.some((W)=>W.uri===X));Q.sort((X,W)=>{let w=X.split("/").at(-1),H=W.split("/").at(-1);return w.localeCompare(H)});let K=Q.map((X)=>this.loadThreadByAtURI(X));return(await Promise.allSettled(K)).map((X)=>X.status=="fulfilled"?X.value:null)}async loadUserTimeline(z,J,Q){let Z=new Date().getTime()-J*86400*1000,{filter:X,...W}=Q;return await this.fetchAll("app.bsky.feed.getAuthorFeed",{params:{actor:z,filter:X,limit:100},field:"feed",breakWhen:(w)=>p1(w)<Z,...W})}async loadListTimeline(z,J,Q={}){let Z=new Date().getTime()-J*86400*1000;return await this.fetchAll("app.bsky.feed.getListFeed",{params:{list:z,limit:100},field:"feed",breakWhen:(X)=>p1(X)<Z,...Q})}async loadPost(z){let J=await this.loadPosts([z]);if(J.length==1)return J[0];else throw new p9("Post not found")}async loadPostIfExists(z){return(await this.loadPosts([z]))[0]}async loadPosts(z){if(z.length>0)return(await this.getRequest("app.bsky.feed.getPosts",{uris:z})).posts;else return[]}async loadPostViewerInfo(z){let J=await this.loadPostIfExists(z.uri);if(J)z.author=J.author,z.viewerData=J.viewer,z.viewerLike=J.viewer?.like;return J}async reloadBlockedPost(z){let{repo:J}=f0(z),Q=U6.loadPostIfExists(z),K=this.getRequest("app.bsky.actor.getProfile",{actor:J}),Z=await Q;if(!Z)return null;let X=await K;return new S0(Z,{author:X})}}class QK{user;constructor(){let z=localStorage.getItem("userData");this.user=z?JSON.parse(z):{}}save(){if(this.user)localStorage.setItem("userData",JSON.stringify(this.user));else localStorage.removeItem("userData")}}class X7 extends i1{user;constructor(){let z=new QK,J=z.user.pdsEndpoint||null;super(J,z);this.user=z.user}async getCurrentUserAvatar(){return(await this.getRequest("com.atproto.repo.getRecord",{repo:this.user.did,collection:"app.bsky.actor.profile",rkey:"self"})).value.avatar}async loadCurrentUserAvatar(){if(!this.config||!this.config.user)throw new w6("User isn't logged in");let z=await this.getCurrentUserAvatar();if(z){let J=`https://cdn.bsky.app/img/avatar/plain/${this.user.did}/${z.ref.$link}@jpeg`;return this.config.user.avatar=J,this.config.save(),J}else return null}async loadNotifications(z){return await this.getRequest("app.bsky.notification.listNotifications",z||{})}async loadMentions(z){let J=await this.loadNotifications({cursor:z??"",limit:100,reasons:["reply","mention"]}),Q=J.notifications.map((X)=>X.uri),K=[];for(let X=0;X<Q.length;X+=25){let W=this.loadPosts(Q.slice(X,X+25));K.push(W)}let Z=await Promise.all(K);return{cursor:J.cursor,posts:Z.flat()}}async loadHomeTimeline(z,J={}){let K=new Date().getTime()-z*86400*1000;return await this.fetchAll("app.bsky.feed.getTimeline",{params:{limit:100},field:"feed",breakWhen:(Z)=>p1(Z)<K,...J})}async loadUserLists(){return(await this.fetchAll("app.bsky.graph.getLists",{params:{actor:this.user.did,limit:100},field:"lists"})).filter((J)=>J.purpose=="app.bsky.graph.defs#curatelist")}async likePost(z){return await this.postRequest("com.atproto.repo.createRecord",{repo:this.user.did,collection:"app.bsky.feed.like",record:{subject:{uri:z.uri,cid:z.cid},createdAt:new Date().toISOString()}})}async removeLike(z){let{rkey:J}=f0(z);await this.postRequest("com.atproto.repo.deleteRecord",{repo:this.user.did,collection:"app.bsky.feed.like",rkey:J})}resetTokens(){delete this.user.avatar,super.resetTokens()}}class KK{#z;get data(){return Y(this.#z)}set data(z){D(this.#z,z,!0)}constructor(){let z=localStorage.getItem("settings");this.#z=m(C0(z?JSON.parse(z):{}))}save(){localStorage.setItem("settings",JSON.stringify(this.data))}logOut(){delete this.data.incognito,this.save()}get dateLocale(){return this.data.dateLocale}set dateLocale(z){this.data.dateLocale=z,this.save()}get incognitoMode(){return this.data.incognito}set incognitoMode(z){this.data.incognito=z,this.save()}get biohazardsEnabled(){return this.data.biohazard}set biohazardsEnabled(z){this.data.biohazard=z,this.save()}}var T0=new KK;window.settings=T0;var U6=new i1("api.bsky.app"),Q8=new i1("blue.mackuba.eu"),d9=new i1("constellation.microcosm.blue"),M0=new X7,N0;function i9(){N0=M0.isLoggedIn&&!T0.incognitoMode?M0:U6,window.api=N0}i9();window.AuthenticatedAPI=X7;window.BlueskyAPI=i1;window.Minisky=cz;window.appView=U6;window.blueAPI=Q8;window.accountAPI=M0;window.constellationAPI=d9;function g6(){return location.origin+location.pathname}function Oz(z){let J=new URL(g6());return J.searchParams.set("hash",z),J.toString()}function _9(z){let J=new URL(g6());return J.searchParams.set("quotes",z),J.toString()}function y5(z){return W5(z.author.handle,z.rkey)}function W5(z,J){let Q=new URL(g6());return Q.searchParams.set("author",z),Q.searchParams.set("post",J),Q.toString()}function J8(z){let J;try{J=new URL(z)}catch(X){throw new o5(`${X}`)}if(J.protocol!="https:"&&J.protocol!="http:")throw new o5("URL must start with http(s)://");let Q=J.pathname.split("/");if(Q.length<5||Q[1]!="profile"||Q[3]!="post")throw new o5("This is not a valid thread URL");let K=Q[2],Z=Q[4];return{user:K,post:Z}}function ZK(z){return Object.fromEntries(new URLSearchParams(z))}var XK="5";if(typeof window<"u")((window.__svelte??={}).v??=new Set).add(XK);class c9 extends Error{}class YK extends Error{}async function WK(z){let J;if(z.startsWith("did:plc:"))J=new URL(`https://plc.directory/${z}`);else if(z.startsWith("did:web:")){let X=z.replace(/^did:web:/,"");J=new URL(`https://${X}/.well-known/did.json`)}else throw new c9(`Unknown DID type: ${z}`);let Q=await fetch(J),K=await Q.text(),Z=K.trim().length>0?JSON.parse(K):void 0;if(Q.status==200){let X=(Z.service||[]).find((W)=>W.id=="#atproto_pds");if(X)return X.serviceEndpoint.replace("https://","");else throw new c9("Missing #atproto_pds service definition")}else throw new G6(Q.status,Z)}async function wK(z){if(z.match(/^did:/))return await WK(z);else if(z.match(/^[^@]+@[^@]+$/))return"bsky.social";else if(z.match(/^@?[\w\-]+(\.[\w\-]+)+$/)){z=z.replace(/^@/,"");let J=await U6.resolveHandle(z);return await WK(J)}else throw new YK("Please enter your handle or DID.")}class GK{#z;#J;#Q;constructor(){this.#z=m(C0(M0.isLoggedIn)),this.#J=m(C0(M0.isLoggedIn?M0.user.avatar:void 0)),this.#Q=m(!1)}get isIncognito(){return!!T0.incognitoMode}toggleIncognitoMode(){T0.incognitoMode=!this.isIncognito,location.reload()}get loggedIn(){return Y(this.#z)}get avatarURL(){return Y(this.#J)}get avatarIsLoading(){return Y(this.#Q)}async logIn(z,J){let Q=await wK(z);M0.host=Q,await M0.logIn(z,J),D(this.#z,!0),D(this.#Q,!0),i9(),M0.loadCurrentUserAvatar().then((K)=>{D(this.#J,K||void 0,!0)}).catch((K)=>{console.log(K)}).finally(()=>{D(this.#Q,!1)})}logOut(){M0.resetTokens(),T0.logOut(),location.reload()}}var W1=new GK;var pZ=P("<div><!></div>");function K8(z,J){c(J,!0);let Q=j0(J,"onClose",3,void 0),K=j0(J,"id",3,void 0),Z=s5(J,["$$slots","$$events","$$legacy","children","onClose","id"]);function X(H){if(H.target===H.currentTarget)Q()?.()}var W=pZ();W.__click=X;var w=C(W);Y6(w,()=>J.children),x(W),g(()=>{_(W,"id",K()),Z1(W,1,`dialog ${J.class??""}`,"svelte-39p02pfp7x05g")}),V(z,W),s()}I0(["click"]);var dZ=P(`<form method="get" class="svelte-1dbou6z4h1v2"><i class="close fa-circle-xmark fa-regular"></i> <h2>โ˜ฃ๏ธ Infohazard Warning</h2> <p>&ldquo;<em>This thread is not a place of honor... no highly esteemed post is commemorated here... nothing valued is here.</em>&rdquo;</p> <p>This feature allows access to comments in a thread which were hidden because one of the commenters has blocked another. Bluesky currently hides such comments to avoid escalating conflicts.</p> <p>Are you sure you want to enter?<br/>(You can toggle this in the menu in top-left corner.)</p> <p class="submit svelte-1dbou6z4h1v2"><input type="submit" value="Show me the drama \uD83D\uDE08" class="svelte-1dbou6z4h1v2"/> <input type="submit" value="Nope, I'd rather not \uD83D\uDE48" class="svelte-1dbou6z4h1v2"/></p></form>`);function s9(z,J){c(J,!0);let Q=j0(J,"onConfirm",3,void 0),K=j0(J,"onReject",3,void 0),Z=j0(J,"onClose",3,void 0);function X(w){w.preventDefault(),T0.biohazardsEnabled=!0,Q()?.(),Z()?.()}function W(w){w.preventDefault(),T0.biohazardsEnabled=!1,K()?.(),Z()?.()}K8(z,{onClose:()=>Z()?.(),children:(w,H)=>{var B=dZ(),F=C(B);F.__click=function(...M){Z()?.apply(this,M)};var q=S(F,10),G=C(q);G.__click=X;var U=S(G,2);U.__click=W,x(q),x(B),V(w,B)},$$slots:{default:!0}}),s()}I0(["click"]);var iZ=P('<i class="close fa-circle-xmark fa-regular svelte-nwvgqytdmqdc"></i>'),_Z=P(`<div class="info-box svelte-nwvgqytdmqdc"><p class="svelte-nwvgqytdmqdc">Skythread doesn't support OAuth yet. For now, you need to use an "app password" here, which you can generate in the Bluesky app settings.</p> <p class="svelte-nwvgqytdmqdc">The password you enter here is only passed to the Bluesky API (PDS) and isn't saved anywhere. The returned access token is only stored in your browser's local storage. You can see the complete source code of this app <a href="http://tangled.org/mackuba.eu/skythread" target="_blank" class="svelte-nwvgqytdmqdc">on Tangled</a>.</p></div>`),cZ=P('<input type="submit" value="Log in" class="svelte-nwvgqytdmqdc"/>'),sZ=P('<i class="cloudy fa-solid fa-cloud fa-beat fa-xl svelte-nwvgqytdmqdc"></i>'),oZ=P('<form method="get" class="svelte-nwvgqytdmqdc"><!> <h2>\uD83C\uDF24 Skythread</h2> <p><input type="text" id="login_handle" required placeholder="name.bsky.social" class="svelte-nwvgqytdmqdc"/></p> <p><input type="password" id="login_password" required placeholder="โœฑโœฑโœฑโœฑโœฑโœฑโœฑโœฑ" class="svelte-nwvgqytdmqdc"/></p> <p class="info svelte-nwvgqytdmqdc"><a href="#" class="svelte-nwvgqytdmqdc"><i class="fa-regular fa-circle-question"></i> Use an "app password" here</a></p> <!> <p class="submit"><!></p></form>');function o9(z,J){c(J,!0);let Q=j0(J,"onClose",3,void 0),K=j0(J,"onLogin",3,void 0),Z=m(""),X=m(""),W=m(!1),w=m(!1),H,B;function F(){if(J.showClose&&Q())Q()()}function q(M){M.preventDefault(),D(W,!Y(W))}async function G(M){M.preventDefault(),D(w,!0),H.blur(),B.blur();try{await W1.logIn(Y(Z).trim(),Y(X).trim()),K()?.(),Q()?.()}catch(I){D(w,!1),U(I)}}function U(M){if(console.log(M),M instanceof G6&&M.code==401&&M.json.error=="AuthFactorTokenRequired")alert('Please log in using an "app password" if you have 2FA enabled.');else window.setTimeout(()=>alert(M),10)}{let M=x0(()=>Y(W)?"expanded":"");K8(z,{id:"login",get class(){return Y(M)},onClose:F,children:(I,O)=>{var A=oZ(),T=C(A);{var y=(Q0)=>{var q0=iZ();q0.__click=function(...a){Q()?.apply(this,a)},V(Q0,q0)};j(T,(Q0)=>{if(J.showClose)Q0(y)})}var N=S(T,4),E=C(N);m0(E),N6(E,!0),n1(E,(Q0)=>H=Q0,()=>H),x(N);var b=S(N,2),R=C(b);m0(R),n1(R,(Q0)=>B=Q0,()=>B),x(b);var k=S(b,2),$=C(k);$.__click=q,x(k);var v=S(k,2);{var u=(Q0)=>{var q0=_Z();V(Q0,q0)};j(v,(Q0)=>{if(Y(W))Q0(u)})}var n=S(v,2),o=C(n);{var i=(Q0)=>{var q0=cZ();V(Q0,q0)},X0=(Q0)=>{var q0=sZ();V(Q0,q0)};j(o,(Q0)=>{if(!Y(w))Q0(i);else Q0(X0,!1)})}x(n),x(A),C1("submit",A,G),O1(E,()=>Y(Z),(Q0)=>D(Z,Q0)),O1(R,()=>Y(X),(Q0)=>D(X,Q0)),V(I,A)},$$slots:{default:!0}})}s()}I0(["click"]);var W7=m(!1),BK=m(!1),Y7=m(!1),HK=m(void 0);function Pz(z){if(!Y(W7))D(W7,!0),D(BK,z.showClose,!0)}function UK(z){if(!Y(Y7))D(Y7,!0),D(HK,z,!0)}function a9(z){var J=d(),Q=h(J);{var K=(X)=>{o9(X,{onClose:()=>D(W7,!1),get showClose(){return Y(BK)}})},Z=(X)=>{var W=d(),w=h(W);{var H=(B)=>{s9(B,{onClose:()=>D(Y7,!1),onConfirm:()=>Y(HK)?.()})};j(w,(B)=>{if(Y(Y7))B(H)},!0)}V(X,W)};j(Q,(X)=>{if(Y(W7))X(K);else X(Z,!1)})}V(z,J)}var aZ=P('<span class="check">โœ“</span>'),rZ=P('<li class="svelte-2l3xtqf39s5xz"><a class="button svelte-2l3xtqf39s5xz" href="#"><!> </a></li>');function Lz(z,J){let Q=j0(J,"title",3,void 0),K=j0(J,"showCheckmark",3,!1);var Z=rZ(),X=C(Z);X.__click=function(...B){J.onclick?.apply(this,B)};var W=C(X);{var w=(B)=>{var F=aZ();V(B,F)};j(W,(B)=>{if(K())B(w)})}var H=S(W);x(X),x(Z),g(()=>{_(X,"title",Q()),l(H,` ${J.label??""}`)}),V(z,Z)}I0(["click"]);var nZ=P("<!> <img/>",1),tZ=P("<img/>");function r9(z,J){let Q=s5(J,["$$slots","$$events","$$legacy","loading","error"]),K=m(void 0);function Z(){D(K,"loaded")}function X(){D(K,"error")}var W=d(),w=h(W);{var H=(F)=>{var q=nZ(),G=h(q);Y6(G,()=>J.loading);var U=S(G,2);c8(U,()=>({...Q,style:"display: none",onload:Z,onerror:X})),Xz(U),V(F,q)},B=(F)=>{var q=d(),G=h(q);{var U=(I)=>{var O=tZ();c8(O,()=>({...Q})),Xz(O),V(I,O)},M=(I)=>{var O=d(),A=h(O);Y6(A,()=>J.error),V(I,O)};j(G,(I)=>{if(Y(K)=="loaded")I(U);else I(M,!1)},!0)}V(F,q)};j(w,(F)=>{if(!Y(K))F(H);else F(B,!1)})}V(z,W)}var eZ=P('<i class="fa-solid fa-user-secret fa-lg svelte-37q3bo06zz82t"></i>'),zX=P('<i class="fa-regular fa-user-circle fa-xl svelte-37q3bo06zz82t"></i>'),JX=P('<i class="fa-regular fa-user-circle fa-xl svelte-37q3bo06zz82t"></i>'),QX=P('<i class="fa-solid fa-user-circle fa-xl svelte-37q3bo06zz82t"></i>'),KX=P('<i class="fa-solid fa-user-circle fa-xl svelte-37q3bo06zz82t"></i>'),ZX=P('<div id="account"><!></div> <div id="account_menu" class="svelte-37q3bo06zz82t"><ul class="svelte-37q3bo06zz82t"><!> <!> <!> <li class="link svelte-37q3bo06zz82t"><a class="svelte-37q3bo06zz82t">Home</a></li> <li class="link svelte-37q3bo06zz82t"><a href="?page=posting_stats" class="svelte-37q3bo06zz82t">Posting stats</a></li> <li class="link svelte-37q3bo06zz82t"><a href="?page=like_stats" class="svelte-37q3bo06zz82t">Like stats</a></li> <li class="link svelte-37q3bo06zz82t"><a href="?page=search" class="svelte-37q3bo06zz82t">Timeline search</a></li> <li class="link svelte-37q3bo06zz82t"><a href="?page=search&amp;mode=likes" class="svelte-37q3bo06zz82t">Archive search</a></li></ul></div>',1);function n9(z,J){c(J,!0);let Q=m(!1);K1(()=>{let k=document.body.parentNode;return k.addEventListener("click",K),()=>{k.removeEventListener("click",K)}});function K(){D(Q,!1)}function Z(k){k.stopPropagation(),D(Q,!Y(Q))}function X(k){if(k.preventDefault(),T0.biohazardsEnabled===!1)T0.biohazardsEnabled=!0;else T0.biohazardsEnabled=!1}function W(k){k.preventDefault(),W1.toggleIncognitoMode()}function w(k){k.preventDefault(),Pz({showClose:!0}),D(Q,!1)}function H(k){k.preventDefault(),W1.logOut()}var B=ZX(),F=h(B);F.__click=Z;var q=C(F);{var G=(k)=>{var $=eZ();V(k,$)},U=(k)=>{var $=d(),v=h($);{var u=(o)=>{var i=zX();V(o,i)},n=(o)=>{var i=d(),X0=h(i);{var Q0=(a)=>{r9(a,{class:"avatar",get src(){return W1.avatarURL},loading:(V0)=>{var k0=JX();V(V0,k0)},error:(V0)=>{var k0=QX();V(V0,k0)},$$slots:{loading:!0,error:!0}})},q0=(a)=>{var e=KX();V(a,e)};j(X0,(a)=>{if(W1.loggedIn&&W1.avatarURL)a(Q0);else a(q0,!1)},!0)}V(o,i)};j(v,(o)=>{if(!W1.loggedIn||W1.avatarIsLoading)o(u);else o(n,!1)},!0)}V(k,$)};j(q,(k)=>{if(W1.isIncognito)k(G);else k(U,!1)})}x(F);var M=S(F,2);M.__click=(k)=>k.stopPropagation();var I=C(M),O=C(I);{var A=(k)=>{Lz(k,{onclick:W,label:"Incognito mode",title:"Temporarily load threads as a logged-out user",get showCheckmark(){return W1.isIncognito}})};j(O,(k)=>{if(W1.loggedIn)k(A)})}var T=S(O,2);{let k=x0(()=>T0.biohazardsEnabled!==!1);Lz(T,{onclick:X,label:"Show infohazards",title:"Show links to blocked and hidden comments",get showCheckmark(){return Y(k)}})}var y=S(T,2);{var N=(k)=>{Lz(k,{onclick:w,label:"Log in"})},E=(k)=>{Lz(k,{onclick:H,label:"Log out"})};j(y,(k)=>{if(!W1.loggedIn)k(N);else k(E,!1)})}var b=S(y,2),R=C(b);x(b),J1(8),x(I),x(M),g((k)=>{Z1(F,1,T6({active:Y(Q)}),"svelte-37q3bo06zz82t"),c5(M,`visibility: ${Y(Q)?"visible":"hidden"}`),_(R,"href",k)},[g6]),V(z,B),s()}I0(["click"]);var h6,t9;function V6(z){if(h6)document.removeEventListener("scroll",h6);t9?.disconnect(),h6=()=>{if(window.pageYOffset+window.innerHeight>document.body.offsetHeight-500)z(h6)},z(h6),document.addEventListener("scroll",h6),t9=new ResizeObserver(h6),t9.observe(document.body)}gQ();var XX=P('<div id="loader" class="svelte-1sl84wlrv68d4"><img src="icons/sunny.png" alt="Loading..." class="svelte-1sl84wlrv68d4"/></div>');function a5(z){var J=XX();V(z,J)}var WX=P('<div class="margin svelte-2ac5zurqv2ncl"><div class="edge svelte-2ac5zurqv2ncl"><div class="line svelte-2ac5zurqv2ncl"></div></div> <img class="plus svelte-2ac5zurqv2ncl"/></div>');function e9(z,J){c(J,!0);let Q=j0(J,"collapsed",15,!1);function K(){Q(!Q())}var Z=WX(),X=C(Z);X.__click=K;var W=S(X,2);W.__click=K,x(Z),g(()=>{_(W,"alt",Q()?"+":"-"),_(W,"src",`icons/${Q()?"add-square.png":"subtract-square.png"}`)}),V(z,Z),s()}I0(["click"]);var YX=P('<a class="fedi-link svelte-1ssytx46btagw" target="_blank"><div class="svelte-1ssytx46btagw"><i class="fa-solid fa-arrow-up-right-from-square fa-sm svelte-1ssytx46btagw"></i> </div></a>');function zJ(z,J){c(J,!0);let Q=x0(()=>new URL(J.url).hostname);var K=YX(),Z=C(K),X=S(C(Z));x(Z),x(K),g(()=>{_(K,"href",J.url),l(X,` View on ${Y(Q)??""}`)}),V(z,K),s()}var wX=P('โ˜ฃ๏ธ <a class="svelte-2zqs77smgmod7">Load hidden repliesโ€ฆ</a>',1),GX=P('<img class="loader" src="icons/sunny.png" alt="Loading..."/>'),BX=P('<p class="hidden-replies svelte-2zqs77smgmod7"><!></p>');function JJ(z,J){c(J,!0);let{post:Q}=n0(),K=m(!1);function Z(F){if(F.preventDefault(),T0.biohazardsEnabled===!0)X();else UK(()=>{X()})}async function X(){D(K,!0);try{let q=(await N0.loadHiddenReplies(Q)).map((G)=>G&&H6(G.thread,Q.pageRoot,1,Q.absoluteLevel+1));D(K,!1),J.onLoad(q)}catch(F){D(K,!1),J.onError(F)}}var W=BX(),w=C(W);{var H=(F)=>{var q=wX(),G=S(h(q));G.__click=Z,g((U)=>_(G,"href",U),[()=>y5(Q)]),V(F,q)},B=(F)=>{var q=GX();V(F,q)};j(w,(F)=>{if(!Y(K))F(H);else F(B,!1)})}x(W),V(z,W),s()}I0(["click"]);var HX=P("<a>Load more repliesโ€ฆ</a>"),UX=P('<img class="loader" src="icons/sunny.png" alt="Loading..."/>'),VX=P("<p><!></p>");function QJ(z,J){c(J,!0);let{post:Q}=n0(),K=m(!1);async function Z(B){B.preventDefault(),D(K,!0);try{let F=await N0.loadThreadByAtURI(Q.uri),q=H6(F.thread,Q.pageRoot,0,Q.absoluteLevel);if(D(K,!1),q instanceof S0)window.subtreeRoot=q,J.onLoad(q);else J.onError(Error("Post is not available"))}catch(F){D(K,!1),J.onError(F)}}var X=VX(),W=C(X);{var w=(B)=>{var F=HX();F.__click=Z,g((q)=>_(F,"href",q),[()=>y5(Q)]),V(B,F)},H=(B)=>{var F=UX();V(B,F)};j(W,(B)=>{if(!Y(K))B(w);else B(H,!1)})}x(X),V(z,X),s()}I0(["click"]);class Iz{text;facet;constructor(z,J){this.text=z;this.facet=J}get link(){return this.facet?.features.find((z)=>z.$type==="app.bsky.richtext.facet#link")}isLink(){return!!this.link}get mention(){return this.facet?.features.find((z)=>z.$type==="app.bsky.richtext.facet#mention")}isMention(){return!!this.mention}get tag(){return this.facet?.features.find((z)=>z.$type==="app.bsky.richtext.facet#tag")}isTag(){return!!this.tag}}class KJ{unicodeText;facets;constructor(z){if(this.unicodeText=new VK(z.text),this.facets=z.facets,this.facets)this.facets=this.facets.filter(FX).sort(qX)}get text(){return this.unicodeText.toString()}get length(){return this.unicodeText.length}get graphemeLength(){return this.unicodeText.graphemeLength}*segments(){let z=this.facets||[];if(!z.length){yield new Iz(this.unicodeText.utf16);return}let J=0,Q=0;do{let K=z[Q];if(J<K.index.byteStart)yield new Iz(this.unicodeText.slice(J,K.index.byteStart));else if(J>K.index.byteStart){Q++;continue}if(K.index.byteStart<K.index.byteEnd){let Z=this.unicodeText.slice(K.index.byteStart,K.index.byteEnd);if(!Z.trim())yield new Iz(Z);else yield new Iz(Z,K)}J=K.index.byteEnd,Q++}while(Q<z.length);if(J<this.unicodeText.length)yield new Iz(this.unicodeText.slice(J,this.unicodeText.length))}}var qX=(z,J)=>z.index.byteStart-J.index.byteStart,FX=(z)=>z.index.byteStart<=z.index.byteEnd,MX=new TextEncoder,xX=new TextDecoder,CX=new Intl.Segmenter,OX=(z)=>{return Array.from(CX.segment(z)).length};class VK{utf16;utf8;_graphemeLen;constructor(z){this.utf16=z,this.utf8=MX.encode(z)}get length(){return this.utf8.byteLength}get graphemeLength(){if(!this._graphemeLen)this._graphemeLen=OX(this.utf16);return this._graphemeLen}slice(z,J){return xX.decode(this.utf8.slice(z,J))}toString(){return this.utf16}}var PX=P("<a> </a>"),LX=P("<a> </a>"),IX=P("<a> </a>"),SX=P("<br/>"),jX=P("<!> ",1);function ZJ(z,J){c(J,!0);let Q=x0(()=>new KJ({text:J.text,facets:J.facets})),K=x0(()=>Y(Q).segments());var Z=d(),X=h(Z);A0(X,17,()=>Y(K),x1,(W,w)=>{var H=d(),B=h(H);{var F=(G)=>{var U=PX(),M=C(U,!0);x(U),g(()=>{_(U,"href",`https://bsky.app/profile/${Y(w).mention.did??""}`),l(M,Y(w).text)}),V(G,U)},q=(G)=>{var U=d(),M=h(U);{var I=(A)=>{var T=d(),y=h(T);{var N=(b)=>{var R=LX(),k=C(R,!0);x(R),g(()=>{_(R,"href",Y(w).link.uri),l(k,Y(w).text)}),V(b,R)},E=(b)=>{var R=A1();g(()=>l(R,`[${Y(w).text??""}](${Y(w).link.uri??""})`)),V(b,R)};j(y,(b)=>{if(Uz(Y(w).link.uri))b(N);else b(E,!1)})}V(A,T)},O=(A)=>{var T=d(),y=h(T);{var N=(b)=>{var R=IX(),k=C(R,!0);x(R),g(($)=>{_(R,"href",$),l(k,Y(w).text)},[()=>Oz(Y(w).tag.tag)]),V(b,R)},E=(b)=>{let R=x0(()=>Y(w).text.split(` 50 + `));var k=d(),$=h(k);A0($,17,()=>Y(R),x1,(v,u,n)=>{var o=jX(),i=h(o);{var X0=(q0)=>{var a=SX();V(q0,a)};j(i,(q0)=>{if(n>0)q0(X0)})}var Q0=S(i,1,!0);g(()=>l(Q0,Y(u))),V(v,o)}),V(b,k)};j(y,(b)=>{if(Y(w).tag)b(N);else b(E,!1)},!0)}V(A,T)};j(M,(A)=>{if(Y(w).link)A(I);else A(O,!1)},!0)}V(G,U)};j(B,(G)=>{if(Y(w).mention)G(F);else G(q,!1)})}V(W,H)}),V(z,Z),s()}var DX=P('<div class="bridged-body svelte-2d3jfo6dimkdp"><!></div>'),RX=P('<p class="body svelte-2d3jfo6dimkdp"><!></p>');function Z8(z,J){c(J,!0);let Q="search-results",{post:K}=n0(),Z=j0(J,"highlightedMatches",3,void 0),X=m(void 0);function W(q){let G=new RegExp(`\\b(${q.join("|")})\\b`,"gi"),U=document.createTreeWalker(Y(X),NodeFilter.SHOW_TEXT),M=[];while(U.nextNode()){let O=U.currentNode;if(!O.textContent)continue;G.lastIndex=0;for(;;){let A=G.exec(O.textContent);if(A===null)break;let T=new Range;T.setStart(O,A.index),T.setEnd(O,A.index+A[0].length),M.push(T)}}let I=CSS.highlights.get(Q)||new Highlight;M.forEach((O)=>I.add(O)),CSS.highlights.set(Q,I)}K1(()=>{if(Z()&&Z().length>0)return W(Z()),()=>{CSS.highlights.delete(Q)};else return});var w=d(),H=h(w);{var B=(q)=>{var G=DX(),U=C(G);V9(U,()=>n4(K.originalFediContent)),x(G),n1(G,(M)=>D(X,M),()=>Y(X)),V(q,G)},F=(q)=>{var G=RX(),U=C(G);ZJ(U,{get text(){return K.text},get facets(){return K.facets}}),x(G),n1(G,(M)=>D(X,M),()=>Y(X)),V(q,G)};j(H,(q)=>{if(K.originalFediContent)q(B);else q(F,!1)})}V(z,w),s()}class XJ{post;placement;constructor(z,J){this.post=z,this.placement=J}get timeFormatForTimestamp(){if(this.placement=="quotes"||this.placement=="feed")return{weekday:"short",day:"numeric",month:"short",year:"numeric",hour:"numeric",minute:"numeric"};else if(this.post.isPageRoot||this.placement!="thread")return{day:"numeric",month:"short",year:"numeric",hour:"numeric",minute:"numeric"};else if(this.post.pageRoot&&!e4(this.post.createdAt,this.post.pageRoot.createdAt))return{day:"numeric",month:"short",hour:"numeric",minute:"numeric"};else return{hour:"numeric",minute:"numeric"}}get formattedTimestamp(){let z=this.timeFormatForTimestamp;return this.post.createdAt.toLocaleString(T0.dateLocale,z)}}var AX=P('<a class="action"><i class="fa-solid fa-arrows-split-up-and-left fa-rotate-180"></i></a>');function Sz(z,J){c(J,!0);let Q=j0(J,"title",3,"");var K=AX();g((Z)=>{_(K,"href",Z),_(K,"title",Q())},[()=>y5(J.post)]),V(z,K),s()}var NX=P('<i class="muted-avatar fa-regular fa-circle-user fa-2x svelte-19hm87t6mz7s5"></i>'),kX=P('<img class="avatar svelte-19hm87t6mz7s5" alt="Avatar" loading="lazy"/>'),bX=P('<i class="no-avatar fa-regular fa-face-smile fa-2x svelte-19hm87t6mz7s5"></i>'),TX=P('<a class="handle svelte-19hm87t6mz7s5" target="_blank"> </a> <img src="icons/mastodon.svg" class="mastodon svelte-19hm87t6mz7s5" alt="Mastodon logo"/>',1),EX=P('<a class="handle svelte-19hm87t6mz7s5" target="_blank"> </a>'),yX=P('<span class="separator svelte-19hm87t6mz7s5">&bull;</span> <!>',1),vX=P('<h2 class="svelte-19hm87t6mz7s5"><!> <!> <span class="separator svelte-19hm87t6mz7s5">&bull;</span> <a class="time svelte-19hm87t6mz7s5" target="_blank"> </a> <!></h2>');function WJ(z,J){c(J,!0);let{post:Q,placement:K}=n0(),Z=new XJ(Q,K),X=m(void 0);K1(()=>{if(Y(X))T9.observe(Y(X));return()=>{Y(X)&&T9.unobserve(Y(X))}});var W=vX(),w=C(W);{var H=(T)=>{var y=NX();V(T,y)},B=(T)=>{var y=d(),N=h(y);{var E=(R)=>{var k=kX();n1(k,($)=>D(X,$),()=>Y(X)),g(()=>_(k,"src",Q.author.avatar)),V(R,k)},b=(R)=>{var k=bX();V(R,k)};j(N,(R)=>{if(Q.author.avatar)R(E);else R(b,!1)},!0)}V(T,y)};j(w,(T)=>{if(Q.muted)T(H);else T(B,!1)})}var F=S(w),q=S(F);{var G=(T)=>{var y=TX(),N=h(y),E=C(N);x(N),J1(2),g(()=>{_(N,"href",Q.linkToAuthor),l(E,`@${Q.authorFediHandle??""}`)}),V(T,y)},U=(T)=>{var y=EX(),N=C(y,!0);x(y),g(()=>{_(y,"href",Q.linkToAuthor),l(N,Q.hasValidHandle?`@${Q.author.handle}`:"[invalid handle]")}),V(T,y)};j(q,(T)=>{if(Q.isFediPost)T(G);else T(U,!1)})}var M=S(q,4),I=C(M,!0);x(M);var O=S(M,2);{var A=(T)=>{var y=yX(),N=S(h(y),2);{var E=(R)=>{Sz(R,{get post(){return Q},title:"Load thread"})},b=(R)=>{Sz(R,{get post(){return Q},title:"Load this subtree"})};j(N,(R)=>{if(["quote","quotes","feed"].includes(K))R(E);else R(b,!1)})}V(T,y)};j(O,(T)=>{if(Q.replyCount>0&&!Q.isPageRoot||["quote","quotes","feed"].includes(K))T(A)})}x(W),g((T)=>{l(F,` ${Q.authorDisplayName??""} `),_(M,"href",Q.linkToPost),_(M,"title",T),l(I,Z.formattedTimestamp)},[()=>Q.createdAt.toISOString()]),V(z,W),s()}var gX=P('<a class="svelte-3d455ypfy1g8s"> </a>'),hX=P('<p class="tags"></p>');function YJ(z,J){c(J,!1);let{post:Q}=n0();D9();var K=hX();A0(K,5,()=>Q.tags,x1,(Z,X)=>{var W=gX(),w=C(W);x(W),g((H)=>{_(W,"href",H),l(w,`# ${Y(X)??""}`)},[()=>Oz(Y(X))]),V(Z,W)}),x(K),V(z,K),s()}var fX=P('<span class="svelte-1tsy42z5eauyq"><i class="fa-solid fa-retweet svelte-1tsy42z5eauyq"></i> </span>'),mX=P('<span class="svelte-1tsy42z5eauyq"><i class="fa-regular fa-message svelte-1tsy42z5eauyq"></i> <a class="svelte-1tsy42z5eauyq"> </a></span>'),$X=P('<span class="svelte-1tsy42z5eauyq"><i class="fa-regular fa-comments svelte-1tsy42z5eauyq"></i> <a class="svelte-1tsy42z5eauyq"> </a></span>'),uX=P('<a class="svelte-1tsy42z5eauyq"><i class="fa-regular fa-comments svelte-1tsy42z5eauyq"></i> </a>'),lX=P('<span class="svelte-1tsy42z5eauyq"><i class="fa-solid fa-ban svelte-1tsy42z5eauyq"></i> Limited replies</span>'),pX=P('<span class="svelte-1tsy42z5eauyq"><i class="fa-solid fa-ban svelte-1tsy42z5eauyq" title="Limited replies"></i></span>'),dX=P('<span class="blocked-info svelte-1tsy42z5eauyq">\uD83D\uDEAB Post unavailable</span>'),iX=P('<p class="stats svelte-1tsy42z5eauyq"><span class="svelte-1tsy42z5eauyq"><i></i> <output> </output></span> <!> <!> <!> <!> <!></p>');function wJ(z,J){c(J,!0);let{post:Q,placement:K}=n0(),Z=m(C0(Q.liked)),X=m(C0(Q.likeCount)),W=m(!1);async function w(){try{if(Q.hasViewerInfo)await B();else if(W1.loggedIn)await H();else Pz({showClose:!0})}catch($){B6($)}}async function H(){if(await M0.loadPostViewerInfo(Q))if(Q.liked)D(Z,!0);else await B();else D(W,!0)}async function B(){if(!Y(Z)){let $=await M0.likePost(Q);Q.viewerLike=$.uri,D(Z,!0),D(X,Y(X)+1)}else await M0.removeLike(Q.viewerLike),Q.viewerLike=void 0,D(Z,!1),D(X,Y(X)-1)}var F=iX(),q=C(F),G=C(q);G.__click=w;var U=S(G,2),M=C(U,!0);x(U),x(q);var I=S(q,2);{var O=($)=>{var v=fX(),u=S(C(v));x(v),g(()=>l(u,` ${Q.repostCount??""}`)),V($,v)};j(I,($)=>{if(Q.repostCount>0)$(O)})}var A=S(I,2);{var T=($)=>{var v=mX(),u=S(C(v),2),n=C(u,!0);x(u),x(v),g((o,i)=>{_(u,"href",o),l(n,i)},[()=>y5(Q),()=>t8(Q.replyCount,"reply","replies")]),V($,v)};j(A,($)=>{if(Q.replyCount>0&&(K=="quotes"||K=="feed"))$(T)})}var y=S(A,2);{var N=($)=>{var v=d(),u=h(v);{var n=(i)=>{var X0=$X(),Q0=S(C(X0),2),q0=C(Q0,!0);x(Q0),x(X0),g((a,e)=>{_(Q0,"href",a),l(q0,e)},[()=>_9(Q.linkToPost),()=>t8(J.quoteCount,"quote")]),V(i,X0)},o=(i)=>{var X0=uX(),Q0=S(C(X0));x(X0),g((q0)=>{_(X0,"href",q0),l(Q0,` ${J.quoteCount??""}`)},[()=>_9(Q.linkToPost)]),V(i,X0)};j(u,(i)=>{if(K=="quotes"||K=="feed"||Q.isPageRoot)i(n);else i(o,!1)})}V($,v)};j(y,($)=>{if(J.quoteCount&&K!="quote")$(N)})}var E=S(y,2);{var b=($)=>{var v=d(),u=h(v);{var n=(i)=>{var X0=lX();V(i,X0)},o=(i)=>{var X0=d(),Q0=h(X0);{var q0=(a)=>{var e=pX();V(a,e)};j(Q0,(a)=>{if(K=="quotes")a(q0)},!0)}V(i,X0)};j(u,(i)=>{if(K=="thread")i(n);else i(o,!1)})}V($,v)};j(E,($)=>{if(Q.isRestrictingReplies)$(b)})}var R=S(E,2);{var k=($)=>{var v=dX();V($,v)};j(R,($)=>{if(Y(W))$(k)})}x(F),g(()=>{Z1(G,1,`fa-solid fa-heart ${Y(Z)?"liked":""}`,"svelte-1tsy42z5eauyq"),l(M,Y(X))}),V(z,F),s()}I0(["click"]);var _X=P('<details class="image-alt svelte-3o2regxzbqbr0"><summary class="svelte-3o2regxzbqbr0">Show alt</summary> </details>'),cX=P("<p>[<a>Image</a>]</p> <!>",1),sX=P("<div></div>");function GJ(z,J){c(J,!0);let{post:Q}=n0();function K(X){if(X.fullsize)return X.fullsize;else{let W=X.image.ref.$link;return`https://cdn.bsky.app/img/feed_fullsize/plain/${Q.author.did}/${W}@jpeg`}}var Z=sX();A0(Z,21,()=>J.embed.images,x1,(X,W)=>{var w=cX(),H=h(w),B=S(C(H));J1(),x(H);var F=S(H,2);{var q=(G)=>{var U=_X(),M=S(C(U));x(U),g(()=>l(M,` ${Y(W).alt??""}`)),V(G,U)};j(F,(G)=>{if(Y(W).alt)G(q)})}g((G)=>_(B,"href",G),[()=>K(Y(W))]),V(X,w)}),x(Z),V(z,Z),s()}var oX=P('<div class="gif svelte-2dx58m87um1nk"><img/></div>');function BJ(z,J){let Q=m(!1),K=m(!1),Z=m(500),X=m(200);function W(q){let G=q.target;if(G.naturalWidth<G.naturalHeight)D(Z,200),D(X,400);D(Q,!0)}function w(){D(K,!Y(K))}var H=oX(),B=C(H);B.__click=w;let F;x(H),g(()=>{_(B,"src",Y(K)?J.staticURL:J.gifURL),Z1(B,1,T6(Y(K)?"static":""),"svelte-2dx58m87um1nk"),_(B,"alt",J.alt?`Gif: ${J.alt}`:"Gif animation"),F=c5(B,"",F,{opacity:Y(Q)?1:0,"max-width":`${Y(Z)??""}px`,"max-height":`${Y(X)??""}px`})}),C1("load",B,W),Xz(B),V(z,H)}I0(["click"]);var aX=P('<p class="description"> </p>'),rX=P('<a class="link-card" target="_blank"><div><p class="domain"> </p> <h2> </h2> <!></div></a>'),nX=P("<p> </p>");function HJ(z,J){c(J,!0);let{post:Q}=n0(),K=m(!1),Z=x0(()=>new URL(J.embed.url).hostname),X=x0(()=>Y(Z)=="media.tenor.com"),W=x0(()=>Y(X)?w:void 0);function w(U){U.preventDefault(),D(K,!0)}function H(){if(typeof J.embed.thumb=="string")return J.embed.thumb;else return`https://cdn.bsky.app/img/avatar/feed_thumbnail/${Q.author.did}/${J.embed.thumb.ref.$link}@jpeg`}var B=d(),F=h(B);{var q=(U)=>{{let M=x0(H);BJ(U,{get gifURL(){return J.embed.url},get staticURL(){return Y(M)},get alt(){return J.embed.title}})}},G=(U)=>{var M=d(),I=h(M);{var O=(T)=>{var y=rX();y.__click=function(...u){Y(W)?.apply(this,u)};var N=C(y),E=C(N),b=C(E,!0);x(E);var R=S(E,2),k=C(R,!0);x(R);var $=S(R,2);{var v=(u)=>{var n=aX(),o=C(n,!0);x(n),g((i)=>l(o,i),[()=>t4(J.embed.description,300)]),V(u,n)};j($,(u)=>{if(J.embed.description)u(v)})}x(N),x(y),g(()=>{_(y,"href",J.embed.url),l(b,Y(Z)),l(k,J.embed.title||J.embed.url)}),V(T,y)},A=(T)=>{var y=nX(),N=C(y);x(y),g(()=>l(N,`[Link: ${J.embed.url??""}]`)),V(T,y)};j(I,(T)=>{if(Uz(J.embed.url))T(O);else T(A,!1)})}V(U,M)};j(F,(U)=>{if(Y(K))U(q);else U(G,!1)})}V(z,B),s()}I0(["click"]);var tX=P('<img class="avatar" alt="Avatar"/>'),eX=P('<p class="description"> </p>'),zW=P('<a class="link-card record" target="_blank"><div><!> <h2> <span class="handle"> </span></h2> <!> <p class="stats"><i class="fa-solid fa-heart"></i> <output> </output></p></div></a>');function UJ(z,J){c(J,!0);function Q(O){let{repo:A,rkey:T}=f0(O.uri);return`https://bsky.app/profile/${A}/feed/${T}`}var K=zW(),Z=C(K),X=C(Z);{var W=(O)=>{var A=tX();g(()=>_(A,"src",J.feed.avatar)),V(O,A)};j(X,(O)=>{if(J.feed.avatar)O(W)})}var w=S(X,2),H=C(w),B=S(H),F=C(B);x(B),x(w);var q=S(w,2);{var G=(O)=>{var A=eX(),T=C(A,!0);x(A),g(()=>l(T,J.feed.description)),V(O,A)};j(q,(O)=>{if(J.feed.description)O(G)})}var U=S(q,2),M=S(C(U),2),I=C(M,!0);x(M),x(U),x(Z),x(K),g((O)=>{_(K,"href",O),l(H,`${J.feed.title??""} `),l(F,`โ€ข Feed by @${J.feed.author.handle??""}`),l(I,J.feed.likeCount)},[()=>Q(J.feed)]),V(z,K),s()}var JW=P('<p class="description"> </p>'),QW=P('<a class="link-card record" target="_blank"><div><h2> <span class="handle"> </span></h2> <!></div></a>');function VJ(z,J){c(J,!0);function Q(q){let{repo:G,rkey:U}=f0(q.uri);return`https://bsky.app/starter-pack/${G}/${U}`}var K=QW(),Z=C(K),X=C(Z),W=C(X),w=S(W),H=C(w);x(w),x(X);var B=S(X,2);{var F=(q)=>{var G=JW(),U=C(G,!0);x(G),g(()=>l(U,J.starterPack.description)),V(q,G)};j(B,(q)=>{if(J.starterPack.description)q(F)})}x(Z),x(K),g((q)=>{_(K,"href",q),l(W,`${J.starterPack.title??""} `),l(H,`โ€ข Starter pack by @${J.starterPack.author.handle??""}`)},[()=>Q(J.starterPack)]),V(z,K),s()}var KW=P('<img class="avatar" alt="Avatar"/>'),ZW=P('<p class="description"> </p>'),XW=P('<a class="link-card record" target="_blank"><div><!> <h2> <span class="handle"> </span></h2> <!></div></a>');function qJ(z,J){c(J,!0);function Q(M){let{repo:I,rkey:O}=f0(M.uri);return`https://bsky.app/profile/${I}/lists/${O}`}function K(M){switch(M.purpose){case"app.bsky.graph.defs#curatelist":return"User list";case"app.bsky.graph.defs#modlist":return"Mute list";default:return"List"}}var Z=XW(),X=C(Z),W=C(X);{var w=(M)=>{var I=KW();g(()=>_(I,"src",J.list.avatar)),V(M,I)};j(W,(M)=>{if(J.list.avatar)M(w)})}var H=S(W,2),B=C(H),F=S(B),q=C(F);x(F),x(H);var G=S(H,2);{var U=(M)=>{var I=ZW(),O=C(I,!0);x(I),g(()=>l(O,J.list.description)),V(M,I)};j(G,(M)=>{if(J.list.description)M(U)})}x(X),x(Z),g((M,I)=>{_(Z,"href",M),l(B,`${J.list.title??""} `),l(q,`โ€ข ${I??""} by @${J.list.author.handle??""}`)},[()=>Q(J.list),()=>K(J.list)]),V(z,Z),s()}var qK=(z,J=t1)=>{var Q=d(),K=h(Q);{var Z=(W)=>{var w=WW(),H=C(w);f6(H,{get post(){return J()},placement:"quote"}),x(w),V(W,w)},X=(W)=>{var w=d(),H=h(w);{var B=(q)=>{UJ(q,{get feed(){return J()}})},F=(q)=>{var G=d(),U=h(G);{var M=(O)=>{VJ(O,{get starterPack(){return J()}})},I=(O)=>{var A=d(),T=h(A);{var y=(E)=>{qJ(E,{get list(){return J()}})},N=(E)=>{var b=YW(),R=C(b),k=C(R);x(R),x(b),g(()=>l(k,`[${J().type??""}]`)),V(E,b)};j(T,(E)=>{if(J()instanceof ez)E(y);else E(N,!1)},!0)}V(O,A)};j(U,(O)=>{if(J()instanceof z8)O(M);else O(I,!1)},!0)}V(q,G)};j(H,(q)=>{if(J()instanceof tz)q(B);else q(F,!1)},!0)}V(W,w)};j(K,(W)=>{if(J()instanceof v6)W(Z);else W(X,!1)})}V(z,Q)},WW=P('<div class="quote-embed svelte-767shvs6ixvg"><!></div>'),YW=P('<div class="quote-embed svelte-767shvs6ixvg"><p> </p></div>'),wW=P('<div class="quote-embed svelte-767shvs6ixvg"><p class="post placeholder svelte-767shvs6ixvg">Error loading quoted post</p></div>'),GW=P('<div class="quote-embed svelte-767shvs6ixvg"><p class="post placeholder svelte-767shvs6ixvg">Loading quoted post...</p></div>');function G7(z,J){c(J,!0);let{post:Q}=n0();async function K(){let{collection:H}=f0(J.record.uri);if(H=="app.bsky.feed.post"){let B=await N0.loadPostIfExists(J.record.uri);if(B)return new S0(B);else return new C5(Q.data)}else{let F=(await N0.loadPostIfExists(Q.uri).then((q)=>q&&new S0(q)))?.embed;if(F instanceof qz||F instanceof Fz)return F.record;else return new C5(J.record)}}var Z=d(),X=h(Z);{var W=(H)=>{var B=d(),F=h(B);k6(F,K,(q)=>{var G=GW();V(q,G)},(q,G)=>{qK(q,()=>Y(G))},(q)=>{var G=wW();V(q,G)}),V(H,B)},w=(H)=>{qK(H,()=>J.record)};j(X,(H)=>{if(J.record.constructor===d1&&!J.record.type)H(W);else H(w,!1)})}V(z,Z),s()}var BW=P('<details class="image-alt"><summary>Show alt</summary> </details>'),HW=P("<div><p>[<a>Video</a>]</p> <!></div>");function FJ(z,J){c(J,!0);let{post:Q}=n0();function K(B){if(B instanceof xz)return B.playlistURL;else{let F=B.video.ref.$link;return`https://video.bsky.app/watch/${Q.author.did}/${F}/playlist.m3u8`}}var Z=HW(),X=C(Z),W=S(C(X));J1(),x(X);var w=S(X,2);{var H=(B)=>{var F=BW(),q=S(C(F));x(F),g(()=>l(q,` ${J.embed.alt??""}`)),V(B,F)};j(w,(B)=>{if(J.embed.alt)B(H)})}x(Z),g((B)=>_(W,"href",B),[()=>K(J.embed)]),V(z,Z),s()}var UW=P("<div><!> <!></div>"),VW=P("<p> </p>"),qW=P('<div class="embed svelte-1k40bdrlabc6f"><!></div>');function m6(z,J){c(J,!0);var Q=qW(),K=C(Q);{var Z=(W)=>{G7(W,{get record(){return J.embed.record}})},X=(W)=>{var w=d(),H=h(w);{var B=(q)=>{var G=UW(),U=C(G);m6(U,{get embed(){return J.embed.media}});var M=S(U,2);G7(M,{get record(){return J.embed.record}}),x(G),V(q,G)},F=(q)=>{var G=d(),U=h(G);{var M=(O)=>{GJ(O,{get embed(){return J.embed}})},I=(O)=>{var A=d(),T=h(A);{var y=(E)=>{HJ(E,{get embed(){return J.embed}})},N=(E)=>{var b=d(),R=h(b);{var k=(v)=>{FJ(v,{get embed(){return J.embed}})},$=(v)=>{var u=VW(),n=C(u);x(u),g(()=>l(n,`[${J.embed.type??""}]`)),V(v,u)};j(R,(v)=>{if(J.embed instanceof J7||J.embed instanceof xz)v(k);else v($,!1)},!0)}V(E,b)};j(T,(E)=>{if(J.embed instanceof z7||J.embed instanceof Mz)E(y);else E(N,!1)},!0)}V(O,A)};j(U,(O)=>{if(J.embed instanceof e8||J.embed instanceof Z7)O(M);else O(I,!1)},!0)}V(q,G)};j(H,(q)=>{if(J.embed instanceof K7||J.embed instanceof Fz)q(B);else q(F,!1)},!0)}V(W,w)};j(K,(W)=>{if(J.embed instanceof Q7||J.embed instanceof qz)W(Z);else W(X,!1)})}x(Q),V(z,Q),s()}var FW=P("<a> </a>"),MW=P("<a>See parent post</a>"),xW=P("<a>See parent post</a>"),CW=P('<p class="back"><i class="fa-solid fa-reply"></i> <!></p>');function X8(z,J){c(J,!0);let Q=x0(()=>f0(J.uri)),K=x0(()=>Y(Q).repo),Z=x0(()=>Y(Q).rkey);var X=CW(),W=S(C(X),2);k6(W,()=>N0.fetchHandleForDid(Y(K)),(w)=>{var H=xW();g((B)=>_(H,"href",B),[()=>W5(Y(K),Y(Z))]),V(w,H)},(w,H)=>{var B=FW(),F=C(B);x(B),g((q)=>{_(B,"href",q),l(F,`See parent post (@${Y(H)??""})`)},[()=>W5(Y(H),Y(Z))]),V(w,B)},(w)=>{var H=MW();g((B)=>_(H,"href",B),[()=>W5(Y(K),Y(Z))]),V(w,H)}),x(X),V(z,X),s()}var OW=P("<!> <!> <!>",1);function MJ(z,J){c(J,!0),xJ({post:J.post,placement:J.placement});var Q=OW(),K=h(Q);{var Z=(H)=>{X8(H,{get uri(){return J.post.parentReference.uri}})};j(K,(H)=>{if(J.post.isPageRoot&&J.post.parentReference)H(Z)})}var X=S(K,2);Z8(X,{});var W=S(X,2);{var w=(H)=>{m6(H,{get embed(){return J.post.embed}})};j(W,(H)=>{if(J.post.embed)H(w)})}V(z,Q),s()}var PW=P('(<a target="_blank"> </a> ',1),LW=P('(<a target="_blank"> </a>)',1);function jz(z,J){c(J,!0);let Q=j0(J,"status",3,void 0),K=m(void 0),Z=x0(()=>Y(K)?`@${Y(K)}`:"see author");K1(()=>{let B=f0(J.post.uri).repo;N0.fetchHandleForDid(B).then((F)=>{D(K,F,!0)})});var X=d(),W=h(X);{var w=(B)=>{var F=PW(),q=S(h(F)),G=C(q,!0);x(q);var U=S(q);g(()=>{_(q,"href",J.post.didLinkToAuthor),l(G,Y(Z)),l(U,`, ${Q()??""})`)}),V(B,F)},H=(B)=>{var F=LW(),q=S(h(F)),G=C(q,!0);x(q),J1(),g(()=>{_(q,"href",J.post.didLinkToAuthor),l(G,Y(Z))}),V(B,F)};j(W,(B)=>{if(Q())B(w);else B(H,!1)})}V(z,X),s()}var IW=P('<p class="blocked-header"><i class="fa-solid fa-ban"></i> <span>Deleted post</span> <!></p>');function W8(z,J){var Q=IW(),K=S(C(Q),4);jz(K,{get post(){return J.post}}),x(Q),V(z,Q)}var SW=P('<a href="#">Load postโ€ฆ</a>'),jW=P('<p class="load-post"><!></p>'),DW=P('<p class="blocked-header"><i class="fa-solid fa-ban"></i> <span> </span> <!></p> <!>',1),RW=P('<span class="separator">&bull;</span> <!>',1),AW=P('<p class="blocked-header"><i class="fa-solid fa-ban"></i> <span> </span> <!> <!></p> <!>',1);function Dz(z,J){c(J,!0);let Q=x0(()=>T0.biohazardsEnabled!==!1),K=m(!1),Z=m(!1),X=m(void 0);async function W(U){U.preventDefault(),D(K,!0);let M=await N0.reloadBlockedPost(J.post.uri);if(M)D(X,M,!0);else D(Z,!0)}function w(U){let M=U.author.viewer;if(M)return!(M.blockedBy||M.blocking);else return!0}function H(){if(J.post instanceof Cz)return;else if(J.post.blockedByUser)return"has blocked you";else if(J.post.blocksUser)return"you've blocked them";else return}var B=d(),F=h(B);{var q=(U)=>{var M=DW(),I=h(M),O=S(C(I),2),A=C(O,!0);x(O);var T=S(O,2);{var y=(b)=>{{let R=x0(H);jz(b,{get post(){return J.post},get status(){return Y(R)}})}};j(T,(b)=>{if(Y(Q))b(y)})}x(I);var N=S(I,2);{var E=(b)=>{var R=jW(),k=C(R);{var $=(u)=>{var n=SW();n.__click=W,V(u,n)},v=(u)=>{var n=A1("ย ");V(u,n)};j(k,(u)=>{if(!Y(K))u($);else u(v,!1)})}x(R),V(b,R)};j(N,(b)=>{if(Y(Q))b(E)})}g(()=>l(A,J.reason)),V(U,M)},G=(U)=>{var M=d(),I=h(M);{var O=(T)=>{var y=AW(),N=h(y),E=S(C(N),2),b=C(E,!0);x(E);var R=S(E,2);{let u=x0(H);jz(R,{get post(){return J.post},get status(){return Y(u)}})}var k=S(R,2);{var $=(u)=>{var n=RW(),o=S(h(n),2);Sz(o,{get post(){return Y(X)},title:"Load thread"}),V(u,n)};j(k,(u)=>{if(w(Y(X)))u($)})}x(N);var v=S(N,2);MJ(v,{get post(){return Y(X)},get placement(){return J.placement}}),g(()=>l(b,J.reason)),V(T,y)},A=(T)=>{{let y=x0(()=>new C5(J.post.data));W8(T,{get post(){return Y(y)}})}};j(I,(T)=>{if(Y(X))T(O);else T(A,!1)},!0)}V(U,M)};j(F,(U)=>{if(!Y(Z)&&!Y(X))U(q);else U(G,!1)})}V(z,B),s()}I0(["click"]);var NW=P("<div><!></div>");function f6(z,J){var Q=d(),K=h(Q);{var Z=(W)=>{P1(W,{get post(){return J.post},get placement(){return J.placement}})},X=(W)=>{var w=NW(),H=C(w);{var B=(q)=>{Dz(q,{get post(){return J.post},get placement(){return J.placement},reason:"Blocked post"})},F=(q)=>{var G=d(),U=h(G);{var M=(O)=>{Dz(O,{get post(){return J.post},get placement(){return J.placement},reason:"Hidden quote"})},I=(O)=>{W8(O,{get post(){return J.post}})};j(U,(O)=>{if(J.post instanceof Cz)O(M);else O(I,!1)},!0)}V(q,G)};j(H,(q)=>{if(J.post instanceof E5)q(B);else q(F,!1)})}x(w),g(()=>Z1(w,1,`post post-${J.placement??""} blocked`,"svelte-15n9djnirzicp")),V(W,w)};j(K,(W)=>{if(J.post instanceof S0)W(Z);else W(X,!1)})}V(z,Q)}var[n0,xJ]=v7(),kW=P("<!> <!> <!> <!> <!>",1),bW=P('<details class="svelte-2k39y5eft77zk"><summary class="svelte-2k39y5eft77zk"> </summary> <!></details>'),TW=P('<p class="missing-replies-info svelte-2k39y5eft77zk"><i class="fa-solid fa-ban"></i> <!> (likely taken down by moderation)</p>'),EW=P('<div><!> <!> <div class="content svelte-2k39y5eft77zk"><!> <!> <!> <!></div></div>');function P1(z,J){c(J,!0);let Q=(a)=>{var e=kW(),P0=h(e);Z8(P0,{get highlightedMatches(){return Z()}});var V0=S(P0,2);{var k0=(G0)=>{YJ(G0,{})};j(V0,(G0)=>{if(K().tags)G0(k0)})}var w0=S(V0,2);{var z0=(G0)=>{m6(G0,{get embed(){return K().embed}})};j(w0,(G0)=>{if(K().embed&&U(K().embed))G0(z0)})}var t=S(w0,2);{var B0=(G0)=>{zJ(G0,{get url(){return K().originalFediURL}})};j(t,(G0)=>{if(K().originalFediURL&&Uz(K().originalFediURL))G0(B0)})}var D0=S(t,2);{var H0=(G0)=>{wJ(G0,{get quoteCount(){return Y(F)}})};j(D0,(G0)=>{if(K().likeCount!==void 0||K().repostCount!==void 0)G0(H0)})}V(a,e)},K=j0(J,"post",7),Z=j0(J,"highlightedMatches",3,void 0),X=s5(J,["$$slots","$$events","$$legacy","post","placement","highlightedMatches"]),W=m(!1),w=m(C0(K().replies)),H=m(!1),B=m(void 0);xJ({post:K(),placement:J.placement});let F=m(C0(K().quoteCount));function q(a){D(F,a,!0)}function G(a){if(a instanceof S0)return!0;else if(a instanceof E5)return T0.biohazardsEnabled!==!1;else return!1}function U(a){if(K().originalFediURL){if(a instanceof Mz&&a.title?.startsWith("Original post on "))return!1}return!0}function M(a){K().updateDataFromPost(a),D(w,K().replies,!0)}function I(a){let e=a.filter((P0)=>P0!==null);if(Y(w).push(...e),K().replies=Y(w),e.length===a.length&&e.length>0)D(B,void 0);else D(B,a.length-e.length);D(H,!0)}function O(a){B6(a)}var A={setQuoteCount:q},T=EW();let y;var N=C(T);WJ(N,{});var E=S(N,2);{var b=(a)=>{e9(a,{get collapsed(){return Y(W)},set collapsed(e){D(W,e,!0)}})};j(E,(a)=>{if(J.placement=="thread"&&!K().isPageRoot)a(b)})}var R=S(E,2),k=C(R);{var $=(a)=>{var e=bW(),P0=C(e),V0=C(P0,!0);x(P0);var k0=S(P0,2);Q(k0),x(e),g(()=>l(V0,K().muteList?`Muted (${K().muteList})`:"Muted - click to show")),V(a,e)},v=(a)=>{Q(a)};j(k,(a)=>{if(K().muted)a($);else a(v,!1)})}var u=S(k,2);{var n=(a)=>{P1(a,{get post(){return Y(w)[0]},placement:"thread",class:"flat"})},o=(a)=>{var e=d(),P0=h(e);A0(P0,17,()=>Y(w),(V0)=>V0.uri,(V0,k0)=>{var w0=d(),z0=h(w0);{var t=(B0)=>{f6(B0,{get post(){return Y(k0)},placement:"thread"})};j(z0,(B0)=>{if(G(Y(k0)))B0(t)})}V(V0,w0)}),V(a,e)};j(u,(a)=>{if(K().replyCount==1&&Y(w)[0]instanceof S0&&Y(w)[0].author.did==K().author.did)a(n);else a(o,!1)})}var i=S(u,2);{var X0=(a)=>{var e=d(),P0=h(e);U9(P0,()=>Y(w),(V0)=>{var k0=d(),w0=h(k0);{var z0=(B0)=>{QJ(B0,{onLoad:M,onError:O})},t=(B0)=>{var D0=d(),H0=h(D0);{var G0=(t0)=>{JJ(t0,{onLoad:I,onError:O})};j(H0,(t0)=>{if(K().hasHiddenReplies&&T0.biohazardsEnabled!==!1)t0(G0)},!0)}V(B0,D0)};j(w0,(B0)=>{if(K().hasMoreReplies)B0(z0);else B0(t,!1)})}V(V0,k0)}),V(a,e)};j(i,(a)=>{if(J.placement=="thread"&&!Y(H))a(X0)})}var Q0=S(i,2);{var q0=(a)=>{var e=TW(),P0=S(C(e),2);{var V0=(w0)=>{var z0=A1();g(()=>l(z0,`${Y(B)??""} replies are missing`)),V(w0,z0)},k0=(w0)=>{var z0=d(),t=h(z0);{var B0=(H0)=>{var G0=A1("1 reply is missing");V(H0,G0)},D0=(H0)=>{var G0=A1("Some replies are missing");V(H0,G0)};j(t,(H0)=>{if(Y(B)==1)H0(B0);else H0(D0,!1)},!0)}V(w0,z0)};j(P0,(w0)=>{if(Y(B)>1)w0(V0);else w0(k0,!1)})}J1(),x(e),V(a,e)};j(Q0,(a)=>{if(Y(B)!==void 0)a(q0)})}return x(R),x(T),g(()=>y=Z1(T,1,`post post-${J.placement??""} ${(J.class||"")??""}`,"svelte-2k39y5eft77zk",y,{muted:K().muted,collapsed:Y(W)})),V(z,T),s(A)}var yW=P('<main class="hashtag svelte-2cy8gir839nsk"><header><h2><!></h2></header> <!></main>');function CJ(z,J){c(J,!0);let Q=j0(J,"hashtag",7);Q(Q().replace(/^\#/,""));let K=C0([]),Z=m(!1),X=m(!1),W=!1,w=!1,H;V6(async()=>{if(W||w)return;W=!0;try{let U=await N0.getHashtagFeed(Q(),H),M=U.posts.map((I)=>new S0(I));if(D(Z,!0),K.push(...M),W=!1,H=U.cursor,!H||K.length==0)w=!0}catch(U){console.log(U),W=!1,D(X,!0)}});var B=d();b6("xlrj1v",(U)=>{uz(()=>{W6.title=`#${Q()??""} - Skythread`})});var F=h(B);{var q=(U)=>{var M=yW(),I=C(M),O=C(I),A=C(O);{var T=(E)=>{var b=A1();g(()=>l(b,`Posts tagged: #${Q()??""}`)),V(E,b)},y=(E)=>{var b=A1();g(()=>l(b,`No posts tagged #${Q()??""}.`)),V(E,b)};j(A,(E)=>{if(K.length>0)E(T);else E(y,!1)})}x(O),x(I);var N=S(I,2);A0(N,17,()=>K,(E)=>E.uri,(E,b)=>{P1(E,{get post(){return Y(b)},placement:"feed"})}),x(M),V(U,M)},G=(U)=>{var M=d(),I=h(M);{var O=(A)=>{a5(A,{})};j(I,(A)=>{if(!Y(X))A(O)},!0)}V(U,M)};j(F,(U)=>{if(Y(Z))U(q);else U(G,!1)})}V(z,B),s()}var vW=P('<div id="search" class="svelte-20y046s055ja6"><form method="get" class="svelte-20y046s055ja6">\uD83C\uDF24 <input type="text" placeholder="Paste a thread link or type a #hashtag" class="svelte-20y046s055ja6"/></form></div>');function B7(z,J){c(J,!0);let Q=m(""),K;K1(()=>{K.focus()});function Z(H){H.preventDefault();let B=Y(Q).trim();if(!B)return;if(B.startsWith("at://")){let F=new URL(g6());F.searchParams.set("q",B),location.assign(F.toString())}else if(B.match(/^#?((\p{Letter}|\p{Number})+)$/u)){let F=B.replace(/^#/,"");location.assign(Oz(F))}else try{let{user:F,post:q}=J8(B);location.assign(W5(F,q))}catch(F){console.log(F),alert(F.message||"This is not a valid URL or hashtag")}}var X=vW(),W=C(X),w=S(C(W));m0(w),n1(w,(H)=>K=H,()=>K),x(W),x(X),C1("submit",W,Z),O1(w,()=>Y(Q),(H)=>D(Q,H)),V(z,X),s()}var gW=P('<tr><td class="no svelte-3rl6pbqxjh5is"></td><td class="handle svelte-3rl6pbqxjh5is"><img class="avatar svelte-3rl6pbqxjh5is" alt="Avatar"/> <a target="_blank"> </a></td><td class="count svelte-3rl6pbqxjh5is"> </td></tr>'),hW=P('<table style="display: table;"><thead><tr><th colspan="3" class="svelte-3rl6pbqxjh5is"> </th></tr></thead><tbody></tbody></table>');function H7(z,J){var Q=hW(),K=C(Q),Z=C(K),X=C(Z),W=C(X,!0);x(X),x(Z),x(K);var w=S(K);A0(w,21,()=>J.users,x1,(H,B,F)=>{var q=gW(),G=C(q);G.textContent=F+1;var U=S(G),M=C(U),I=S(M,2),O=C(I,!0);x(I),x(U);var A=S(U),T=C(A,!0);x(A),x(q),g(()=>{_(M,"src",Y(B).avatar),_(I,"href",`https://bsky.app/profile/${Y(B).handle??""}`),l(O,Y(B).handle),l(T,Y(B).count)}),V(H,q)}),x(w),x(Q),g(()=>{Z1(Q,1,`scan-result ${J.cssClass??""}`,"svelte-3rl6pbqxjh5is"),l(W,J.header)}),V(z,Q)}class OJ{scanStartTime;appView;progressPosts;progressLikeRecords;progressPostLikes;onProgress;abortController;constructor(){this.appView=new i1("public.api.bsky.app"),this.progressPosts=0,this.progressLikeRecords=0,this.progressPostLikes=0}async findLikes(z,J){this.onProgress=J,this.resetProgress(),this.scanStartTime=new Date().getTime(),this.abortController=new AbortController;let Q=this.fetchGivenLikes(z),K=await this.fetchReceivedLikes(z),Z=this.sumUpReceivedLikes(K),X=this.getTopEntries(Z),W=await Q,w=this.sumUpGivenLikes(W),H=this.getTopEntries(w),B=await this.appView.getRequest("app.bsky.actor.getProfiles",{actors:H.map((F)=>F.did)},{abortSignal:this.abortController.signal});for(let F of B.profiles){let q=H.find((G)=>G.did==F.did);q.handle=F.handle,q.avatar=F.avatar}return this.scanStartTime=void 0,{givenLikes:H,receivedLikes:X}}async fetchGivenLikes(z){let J=this.scanStartTime;return await M0.fetchAll("com.atproto.repo.listRecords",{params:{repo:M0.user.did,collection:"app.bsky.feed.like",limit:100},field:"records",breakWhen:(Q)=>Date.parse(Q.value.createdAt)<J-86400*z*1000,onPageLoad:(Q)=>{let K=Q.at(-1);if(!K)return;let Z=Date.parse(K.value.createdAt),X=(J-Z)/86400/1000;this.updateProgress({likeRecords:Math.min(1,X/z)})},abortSignal:this.abortController.signal})}async fetchReceivedLikes(z){let J=this.scanStartTime,K=(await this.appView.loadUserTimeline(M0.user.did,z,{filter:"posts_with_replies",onPageLoad:(X)=>{let W=X.at(-1);if(!W)return;let w=p1(W),H=(J-w)/86400/1000;this.updateProgress({posts:Math.min(1,H/z)})},abortSignal:this.abortController.signal})).filter((X)=>!X.reason&&X.post.likeCount>0),Z=[];for(let X=0;X<K.length;X+=10){let W=K.slice(X,X+10);this.updateProgress({postLikes:X/K.length});let w=W.map((B)=>{return this.appView.fetchAll("app.bsky.feed.getLikes",{params:{uri:B.post.uri,limit:100},field:"likes",abortSignal:this.abortController.signal})}),H=await Promise.all(w);Z=Z.concat(H)}return this.updateProgress({postLikes:1}),Z.flat()}sumUpReceivedLikes(z){let J={};for(let Q of z){let K=Q.actor.handle;if(!J[K])J[K]={handle:K,count:0,avatar:Q.actor.avatar};J[K].count+=1}return J}sumUpGivenLikes(z){let J={};for(let Q of z){let K=f0(Q.value.subject.uri).repo;if(!J[K])J[K]={did:K,count:0};J[K].count+=1}return J}getTopEntries(z){return Object.entries(z).sort(this.sortResults).map((J)=>J[1]).slice(0,25)}resetProgress(){this.progressPosts=0,this.progressLikeRecords=0,this.progressPostLikes=0,this.onProgress?.(0)}updateProgress(z){if(z.posts)this.progressPosts=z.posts;if(z.likeRecords)this.progressLikeRecords=z.likeRecords;if(z.postLikes)this.progressPostLikes=z.postLikes;let J=0.1*this.progressPosts+0.65*this.progressLikeRecords+0.25*this.progressPostLikes;this.onProgress?.(J)}sortResults(z,J){if(z[1].count<J[1].count)return 1;else if(z[1].count>J[1].count)return-1;else return 0}abortScan(){this.scanStartTime=void 0,this.onProgress=void 0,this.abortController?.abort(),delete this.abortController}}var fW=P('<progress style="display: inline;" class="svelte-2hvcjaqoddeji"></progress>'),mW=P("<!> <!>",1),$W=P('<main><h2>Like statistics</h2> <form><p>Time range: <input id="like_stats_range" type="range" min="1" max="60" class="svelte-2hvcjaqoddeji"/> <label for="like_stats_range"> </label></p> <p><input type="submit" class="svelte-2hvcjaqoddeji"/> <!></p></form> <!></main>');function PJ(z,J){c(J,!0);let Q=m(7),K=m(void 0),Z=x0(()=>Y(K)!==void 0),X=m(void 0),W=m(void 0),w=new OJ;async function H(E){E.preventDefault();try{if(!Y(Z)){D(X,void 0),D(W,void 0);let b=await w.findLikes(Y(Q),(R)=>{D(K,R,!0)});D(X,b.givenLikes,!0),D(W,b.receivedLikes,!0),D(K,void 0)}else w.abortScan(),D(K,void 0)}catch(b){if(b.name!=="AbortError")throw b}}var B=$W(),F=S(C(B),2),q=C(F),G=S(C(q));m0(G);var U=S(G,2),M=C(U,!0);x(U),x(q);var I=S(q,2),O=C(I);m0(O);var A=S(O,2);{var T=(E)=>{var b=fW();g(()=>Z5(b,Y(K))),V(E,b)};j(A,(E)=>{if(Y(Z))E(T)})}x(I),x(F);var y=S(F,2);{var N=(E)=>{var b=mW(),R=h(b);H7(R,{cssClass:"given-likes",header:"โค๏ธ Likes from you:",get users(){return Y(X)}});var k=S(R,2);H7(k,{cssClass:"received-likes",header:"\uD83D\uDC9B Likes on your posts:",get users(){return Y(W)}}),V(E,b)};j(y,(E)=>{if(Y(X)&&Y(W))E(N)})}x(B),g((E)=>{l(M,E),Z5(O,Y(Z)?"Cancel":"Start scan")},[()=>E6(Y(Q))]),C1("submit",F,H),O1(G,()=>Y(Q),(E)=>D(Q,E)),V(z,B),s()}var uW="did:web:lycan.feeds.blue#lycan";class Y8{lycanAddress;constructor(z){this.lycanAddress=z??uW}get proxyHeaders(){return{"atproto-proxy":this.lycanAddress}}async getImportStatus(){return await M0.getRequest("blue.feeds.lycan.getImportStatus",null,{headers:this.proxyHeaders})}async startImport(){await M0.postRequest("blue.feeds.lycan.startImport",null,{headers:this.proxyHeaders})}async makeQuery(z,J,Q){let K={collection:z,query:J};if(Q)K.cursor=Q;return await M0.getRequest("blue.feeds.lycan.searchPosts",K,{headers:this.proxyHeaders})}searchPosts(z,J,Q){let K=!1,Z=!1,X;V6(async()=>{if(K||Z)return;K=!0;let W=await this.makeQuery(z,J,X),H=(await M0.loadPosts(W.posts)).map((B)=>new S0(B));if(K=!1,Q.onPostsLoaded({posts:H,terms:W.terms}),X=W.cursor,!X)Z=!0,Q.onFinish?.()})}}class U7 extends Y8{localLycan;constructor(z){super();this.localLycan=new i1(z)}async getImportStatus(){return await this.localLycan.getRequest("blue.feeds.lycan.getImportStatus",{user:M0.user.did})}async startImport(){await this.localLycan.postRequest("blue.feeds.lycan.startImport",{user:M0.user.did})}async makeQuery(z,J,Q){let K={collection:z,query:J,user:M0.user.did};if(Q)K.cursor=Q;return await this.localLycan.getRequest("blue.feeds.lycan.searchPosts",K)}}var lW=P('<main class="search-page svelte-geig8bptdwj6"><!></main>');function w8(z,J){var Q=lW(),K=C(Q);Y6(K,()=>J.children),x(Q),V(z,Q)}var pW=P('<input type="radio" name="collection"/> <label class="svelte-1xaglya9rfxfs"> </label>',1),dW=P(`<form class="svelte-1xaglya9rfxfs"><h4>Data not imported yet</h4> <p class="svelte-1xaglya9rfxfs">In order to search within your likes and bookmarks, the posts you've liked or saved need to be imported into a database. 51 + This is a one-time process, but it can take several minutes or more, depending on the age of your account.</p> <p class="svelte-1xaglya9rfxfs">To start the import, press the button below. You can then wait until it finishes, or close this tab and come back a bit later. 52 + After the import is complete, the database will be kept up to date automatically going forward.</p> <p class="svelte-1xaglya9rfxfs"><input type="submit" value="Start import"/></p></form>`),iW=P('<p><progress class="svelte-1xaglya9rfxfs"></progress> <output class="svelte-1xaglya9rfxfs"> </output></p>'),_W=P('<div class="import-progress svelte-1xaglya9rfxfs"><h4>Import in progress</h4> <p class="import-status"> </p> <!></div>'),cW=P('<div class="lycan-import svelte-1xaglya9rfxfs"><!></div>'),sW=P("<p>...</p>"),oW=P('<p class="results-end"> </p>'),aW=P("<!> <!>",1),rW=P('<h2>Archive search</h2> <form class="search-form"><p class="search">Search: <input type="text" class="search-query" autocomplete="off"/></p> <div class="search-collections svelte-1xaglya9rfxfs"></div></form> <!> <div class="results"><!></div>',1);function LJ(z,J){c(J,!0);let Q=[],K=[{id:"likes",title:"Likes"},{id:"reposts",title:"Reposts"},{id:"quotes",title:"Quotes"},{id:"pins",title:"Pins"}],Z=x0(()=>A(J.lycan)),X=m(!1),W=m(void 0),w=m(void 0),H=m(0),B=m(!1),F,q=m(C0(K[0].id)),G=m(""),U=m(!1),M=m(!1),I=m(C0([])),O=m(C0([]));N();function A(v){if(!v)return new Y8;else if(v=="local"||v=="localhost")return new U7("http://localhost:3000");else if(v.startsWith("local:")||v.startsWith("localhost:")){let u=v.split(":")[1];return new U7(`http://localhost:${u}`)}else return new Y8(`did:web:${J.lycan}#lycan`)}function T(v){v.preventDefault(),E({status:"requested"}),D(B,!0),Y(Z).startImport().catch((u)=>{console.error("Failed to start Lycan import",u),R(`Import failed: ${u}`)})}function y(v){if(v.key=="Enter"){v.preventDefault();let u=Y(G).trim().toLowerCase();if(u.length==0||Y(W)!="finished")return;D(I,[],!0),D(B,!1),D(U,!0),D(M,!1),Y(Z).searchPosts(Y(q),u,{onPostsLoaded:({posts:n,terms:o})=>{D(U,!1),Y(I).push(...n),D(O,o,!0)},onFinish:()=>{D(M,!0)}})}}async function N(){if(Y(X))return;D(X,!0);try{let v=await Y(Z).getImportStatus();E(v)}catch(v){R(`Couldn't check import status: ${v}`)}finally{D(X,!1)}}function E(v){if(console.log(v),!v.status){R("Error checking import status");return}D(W,v.status,!0);let u=["in_progress","scheduled","requested"].includes(v.status);if(D(B,Y(B)||u,!0),v.status=="not_started");else if(u)b(v);else if(v.status=="finished")b({status:"finished",progress:1});else R("Error checking import status");u?k():$()}function b(v){if(D(H,Math.max(0,Math.min(v.progress||0,1)),!0),v.progress==1)D(w,"Import complete โœ“");else if(v.position){let u=new Date(v.position).toLocaleString(T0.dateLocale,{day:"numeric",month:"short",year:"numeric"});D(w,`Downloaded data until: ${u}`)}else if(v.status=="requested")D(w,"Requesting importโ€ฆ");else D(w,"Import startedโ€ฆ")}function R(v){D(W,"error"),D(B,!0),D(w,v,!0),$()}function k(){if(!F)F=setInterval(N,3000)}function $(){if(F)clearInterval(F),F=void 0}w8(z,{children:(v,u)=>{var n=rW(),o=S(h(n),2),i=C(o),X0=S(C(i));m0(X0),X0.__keydown=y,x(i);var Q0=S(i,2);A0(Q0,21,()=>K,x1,(w0,z0)=>{var t=pW(),B0=h(t);m0(B0);var D0,H0=S(B0,2),G0=C(H0,!0);x(H0),g(()=>{if(_(B0,"id",`collection-${Y(z0).id??""}`),D0!==(D0=Y(z0).id))B0.value=(B0.__value=Y(z0).id)??"";_(H0,"for",`collection-${Y(z0).id??""}`),l(G0,Y(z0).title)}),_z(Q,[],B0,()=>{return Y(z0).id,Y(q)},(t0)=>D(q,t0)),V(w0,t)}),x(Q0),x(o);var q0=S(o,2);{var a=(w0)=>{var z0=cW(),t=C(z0);{var B0=(H0)=>{var G0=dW();C1("submit",G0,T),V(H0,G0)},D0=(H0)=>{var G0=_W(),t0=S(C(G0),2),v5=C(t0,!0);x(t0);var B8=S(t0,2);{var r5=(n5)=>{var Y5=iW(),$6=C(Y5),u6=S($6,2),t5=C(u6);x(u6),x(Y5),g((l6)=>{Z5($6,Y(H)),l(t5,`${l6??""}%`)},[()=>Math.round(Y(H)*100)]),V(n5,Y5)};j(B8,(n5)=>{if(Y(W)!="error")n5(r5)})}x(G0),g(()=>l(v5,Y(w))),V(H0,G0)};j(t,(H0)=>{if(Y(W)=="not_started")H0(B0);else H0(D0,!1)})}x(z0),V(w0,z0)};j(q0,(w0)=>{if(Y(B)||Y(W)=="not_started")w0(a)})}var e=S(q0,2),P0=C(e);{var V0=(w0)=>{var z0=sW();V(w0,z0)},k0=(w0)=>{var z0=aW(),t=h(z0);A0(t,17,()=>Y(I),(H0)=>H0.uri,(H0,G0)=>{P1(H0,{get post(){return Y(G0)},placement:"feed",get highlightedMatches(){return Y(O)}})});var B0=S(t,2);{var D0=(H0)=>{var G0=oW(),t0=C(G0,!0);x(G0),g(()=>l(t0,Y(I).length>0?"No more results.":"No results.")),V(H0,G0)};j(B0,(H0)=>{if(Y(M))H0(D0)})}V(w0,z0)};j(P0,(w0)=>{if(Y(U))w0(V0);else w0(k0,!1)})}x(e),g(()=>X0.disabled=Y(W)!="finished"),O1(X0,()=>Y(G),(w0)=>D(G,w0)),V(v,n)},$$slots:{default:!0}}),s()}I0(["keydown"]);var nW=P("<a>Reply to you</a>"),tW=P("<a> </a>"),eW=P("<a> </a>"),z3=P("<a>Reply</a>"),J3=P('<p class="back"><i class="fa-solid fa-reply"></i> <!></p>');function G8(z,J){c(J,!0);let Q=x0(()=>f0(J.uri)),K=x0(()=>Y(Q).repo),Z=x0(()=>Y(Q).rkey);var X=J3(),W=S(C(X),2);{var w=(B)=>{var F=nW();g((q)=>_(F,"href",q),[()=>W5(Y(K),Y(Z))]),V(B,F)},H=(B)=>{var F=d(),q=h(F);k6(q,()=>N0.fetchHandleForDid(Y(K)),(G)=>{var U=z3();g((M)=>_(U,"href",M),[()=>W5(Y(K),Y(Z))]),V(G,U)},(G,U)=>{var M=tW(),I=C(M);x(M),g((O)=>{_(M,"href",O),l(I,`Reply to @${Y(U)??""}`)},[()=>W5(Y(U),Y(Z))]),V(G,M)},(G)=>{var U=eW(),M=C(U);x(U),g((I)=>{_(U,"href",I),l(M,`Reply to ${Y(K)??""}`)},[()=>W5(Y(K),Y(Z))]),V(G,U)}),V(B,F)};j(W,(B)=>{if(M0&&Y(K)==M0.user.did)B(w);else B(H,!1)})}x(X),V(z,X),s()}var Q3=P("<!> <!>",1),K3=P('<main class="notifications svelte-3q0ai2k4d1d8n"><header><h2>Replies & Mentions:</h2></header> <!></main>');function IJ(z,J){c(J,!0);let Q=C0([]),K=m(!1),Z=m(!1),X=!1,W=!1,w;V6(async(G)=>{if(X||W)return;X=!0;try{let U=await M0.loadMentions(w),M=U.posts.map((I)=>new S0(I));if(!Y(K)&&M.length>0)D(K,!0);if(Q.push(...M),X=!1,w=U.cursor,!w)W=!0;else if(M.length==0)G()}catch(U){console.log(U),X=!1,D(Z,!0)}});var H=d();b6("387i67",(G)=>{H1(()=>{W6.title="Notifications - Skythread"})});var B=h(H);{var F=(G)=>{var U=K3(),M=S(C(U),2);A0(M,17,()=>Q,(I)=>I.uri,(I,O)=>{var A=Q3(),T=h(A);{var y=(E)=>{G8(E,{get uri(){return Y(O).parentReference.uri}})};j(T,(E)=>{if(Y(O).parentReference)E(y)})}var N=S(T,2);P1(N,{get post(){return Y(O)},placement:"feed"}),V(I,A)}),x(U),V(G,U)},q=(G)=>{var U=d(),M=h(U);{var I=(O)=>{a5(O,{})};j(M,(O)=>{if(!Y(Z))O(I)},!0)}V(G,U)};j(B,(G)=>{if(Y(K))G(F);else G(q,!1)})}V(z,H),s()}var FK=(z,J=t1)=>{var Q=Z3(),K=h(Q),Z=S(K,2),X=C(Z,!0);x(Z);var W=S(Z,2),w=C(W,!0);x(W),g(()=>{_(K,"src",J().avatar),l(X,J().displayName||"โ€“"),l(w,J().handle)}),V(z,Q)},Z3=P('<img class="avatar svelte-2z5j67wda5rm6" alt="Avatar"/> <span class="name svelte-2z5j67wda5rm6"> </span> <span class="handle svelte-2z5j67wda5rm6"> </span>',1),X3=P("<div><!></div>"),W3=P('<div class="autocomplete svelte-2z5j67wda5rm6"></div>'),Y3=P('<div class="user-row svelte-2z5j67wda5rm6"><!> <a class="remove svelte-2z5j67wda5rm6" href="#">โœ•</a></div>'),w3=P('<div class="user-choice svelte-2z5j67wda5rm6"><input type="text" placeholder="Add user" autocomplete="off" class="svelte-2z5j67wda5rm6"/> <!> <div class="selected-users svelte-2z5j67wda5rm6"></div></div>');function SJ(z,J){c(J,!0);let Q=j0(J,"selectedUsers",27,()=>C0([])),K=m(""),Z=m(C0([])),X=m(-1),W=x0(()=>Q().map((R)=>R.did)),w=x0(()=>Y(Z).length>0),H=m(0),B;K1(()=>{let R=document.body.parentNode;return R.addEventListener("click",U),()=>{R.removeEventListener("click",U)}});function F(){if(B)clearTimeout(B);let R=Y(K).trim();if(R.length>0)B=setTimeout(()=>G(R),100);else U(),B=void 0}function q(R){if(R.key=="Enter"){if(R.preventDefault(),Y(X)>=0)O(Y(X))}else if(R.key=="Escape")U();else if(R.key=="ArrowDown"&&Y(Z).length>0)R.preventDefault(),M(1);else if(R.key=="ArrowUp"&&Y(Z).length>0)R.preventDefault(),M(-1)}async function G(R){let k=await N0.autocompleteUsers(R),$=new Set(Y(W));if(k=k.filter((v)=>!$.has(v.did)),k.length>0)D(Z,k,!0),D(X,0);else U()}function U(){D(Z,[],!0),D(X,-1)}function M(R){if(Y(Z).length==0)return;let k=Y(X)+R;if(k<0)k=Y(Z).length-1;else if(k>=Y(Z).length)k=0;D(X,k,!0)}function I(R,k){R.preventDefault(),O(k)}function O(R){let k=Y(Z)[R];if(!k)return;Q().push(k),D(K,""),U()}function A(R,k){R.preventDefault(),Q().splice(k,1)}var T=w3(),y=C(T);m0(y),N6(y,!0),y.__input=F,y.__keydown=q;var N=S(y,2);{var E=(R)=>{var k=W3();let $;A0(k,23,()=>Y(Z),(v)=>v.did,(v,u,n)=>{var o=X3();let i;o.__mousedown=(Q0)=>{I(Q0,Y(n))};var X0=C(o);FK(X0,()=>Y(u)),x(o),g(()=>i=Z1(o,1,"user-row svelte-2z5j67wda5rm6",null,i,{highlighted:Y(X)==Y(n)})),C1("mouseenter",o,()=>{D(X,Y(n),!0)}),V(v,o)}),x(k),g(()=>$=c5(k,"",$,{display:Y(w)?"block":"none",top:`${Y(H)??""}px`})),V(R,k)};j(N,(R)=>{if(Y(w))R(E)})}var b=S(N,2);A0(b,23,Q,(R)=>R.did,(R,k,$)=>{var v=Y3(),u=C(v);FK(u,()=>Y(k));var n=S(u,2);n.__click=(o)=>{A(o,Y($))},x(v),V(R,v)}),x(b),x(T),O1(y,()=>Y(K),(R)=>D(K,R)),j9(y,"offsetHeight",(R)=>D(H,R)),V(z,T),s()}I0(["input","keydown","mousedown","click"]);var G3=P('<th class="svelte-3u8wzgp5meuu">All posts /d</th> <th class="svelte-3u8wzgp5meuu">Own posts /d</th> <th class="svelte-3u8wzgp5meuu">Reposts /d</th>',1),B3=P('<th class="svelte-3u8wzgp5meuu">Posts /d</th>'),H3=P('<th class="svelte-3u8wzgp5meuu">% of timeline</th>'),U3=P('<td class="svelte-3u8wzgp5meuu"> </td>'),V3=P('<td class="svelte-3u8wzgp5meuu"> </td>'),q3=P('<td class="percent svelte-3u8wzgp5meuu"></td>'),F3=P('<tr class="total svelte-3u8wzgp5meuu"><td class="no svelte-3u8wzgp5meuu"></td><td class="handle svelte-3u8wzgp5meuu">Total:</td><!><td class="svelte-3u8wzgp5meuu"> </td><!><!></tr>'),M3=P('<td class="svelte-3u8wzgp5meuu"> </td>'),x3=P('<td class="svelte-3u8wzgp5meuu"> </td>'),C3=P('<td class="percent svelte-3u8wzgp5meuu"> </td>'),O3=P('<tr><td class="no svelte-3u8wzgp5meuu"></td><td class="handle svelte-3u8wzgp5meuu"><img class="avatar svelte-3u8wzgp5meuu" alt="Avatar"/> <a target="_blank"> </a></td><!><td class="svelte-3u8wzgp5meuu"> </td><!><!></tr>'),P3=P('<table class="scan-result svelte-3u8wzgp5meuu"><thead><tr><th class="svelte-3u8wzgp5meuu">#</th><th class="svelte-3u8wzgp5meuu">Handle</th><!><!></tr></thead><tbody><!><!></tbody></table>');function jJ(z,J){c(J,!0);let Q=j0(J,"showReposts",3,!0),K=j0(J,"showPercentages",3,!0),Z=j0(J,"showTotal",3,!0);function X(T){return T>0?T.toFixed(1):"โ€“"}var W=P3(),w=C(W),H=C(w),B=S(C(H),2);{var F=(T)=>{var y=G3();J1(4),V(T,y)},q=(T)=>{var y=B3();V(T,y)};j(B,(T)=>{if(Q())T(F);else T(q,!1)})}var G=S(B);{var U=(T)=>{var y=H3();V(T,y)};j(G,(T)=>{if(K())T(U)})}x(H),x(w);var M=S(w),I=C(M);{var O=(T)=>{var y=F3(),N=S(C(y),2);{var E=(n)=>{var o=U3(),i=C(o,!0);x(o),g((X0)=>l(i,X0),[()=>X(J.sums.all/J.daysBack)]),V(n,o)};j(N,(n)=>{if(Q())n(E)})}var b=S(N),R=C(b,!0);x(b);var k=S(b);{var $=(n)=>{var o=V3(),i=C(o,!0);x(o),g((X0)=>l(i,X0),[()=>X(J.sums.reposts/J.daysBack)]),V(n,o)};j(k,(n)=>{if(Q())n($)})}var v=S(k);{var u=(n)=>{var o=q3();V(n,o)};j(v,(n)=>{if(K())n(u)})}x(y),g((n)=>l(R,n),[()=>X(J.sums.own/J.daysBack)]),V(T,y)};j(I,(T)=>{if(Z())T(O)})}var A=S(I);A0(A,17,()=>J.users,x1,(T,y,N)=>{var E=O3(),b=C(E);b.textContent=N+1;var R=S(b),k=C(R),$=S(k,2),v=C($,!0);x($),x(R);var u=S(R);{var n=(e)=>{var P0=M3(),V0=C(P0,!0);x(P0),g((k0)=>l(V0,k0),[()=>X(Y(y).all/J.daysBack)]),V(e,P0)};j(u,(e)=>{if(Q())e(n)})}var o=S(u),i=C(o,!0);x(o);var X0=S(o);{var Q0=(e)=>{var P0=x3(),V0=C(P0,!0);x(P0),g((k0)=>l(V0,k0),[()=>X(Y(y).reposts/J.daysBack)]),V(e,P0)};j(X0,(e)=>{if(Q())e(Q0)})}var q0=S(X0);{var a=(e)=>{var P0=C3(),V0=C(P0);x(P0),g((k0)=>l(V0,`${k0??""}%`),[()=>X(Y(y).all*100/J.sums.all)]),V(e,P0)};j(q0,(e)=>{if(K())e(a)})}x(E),g((e)=>{_(k,"src",Y(y).avatar),_($,"href",`https://bsky.app/profile/${Y(y).handle??""}`),l(v,Y(y).handle),l(i,e)},[()=>X(Y(y).own/J.daysBack)]),V(T,E)}),x(M),x(W),V(z,W),s()}class DJ{appView;userProgress;onProgress;abortController;constructor(z){this.onProgress=z,this.appView=new i1("public.api.bsky.app"),this.userProgress={}}async scanHomeTimeline(z){let J=new Date().getTime();this.abortController=new AbortController;let Q=await M0.loadHomeTimeline(z,{onPageLoad:(K)=>this.updateProgress(K,J),abortSignal:this.abortController.signal,keepLastPage:!0});return this.generateResults(Q,z,J)}async scanListTimeline(z,J){let Q=new Date().getTime();this.abortController=new AbortController;let K=await M0.loadListTimeline(z,J,{onPageLoad:(Z)=>this.updateProgress(Z,Q),abortSignal:this.abortController.signal,keepLastPage:!0});return this.generateResults(K,J,Q)}async scanUserTimelines(z,J){let Q=new Date().getTime(),K=z.map((H)=>H.did);this.resetUserProgress(K),this.abortController=new AbortController;let Z=this.abortController.signal,X=K.map((H)=>this.appView.loadUserTimeline(H,J,{filter:"posts_and_author_threads",onPageLoad:(B)=>this.updateUserProgress(H,B,Q,J),abortSignal:Z,keepLastPage:!0})),w=(await Promise.all(X)).flat();return this.generateResults(w,J,Q,{countFetchedDays:!1,users:z})}async scanYourTimeline(z){let J=new Date().getTime();this.abortController=new AbortController;let Q=await M0.loadUserTimeline(M0.user.did,z,{filter:"posts_no_replies",onPageLoad:(K)=>this.updateProgress(K,J),abortSignal:this.abortController.signal,keepLastPage:!0});return this.generateResults(Q,z,J)}generateResults(z,J,Q,K={}){let Z=z.at(-1);if(!Z)return null;let X={},W=p1(Z),w=(Q-W)/86400/1000,H;if(K.countFetchedDays!==!1)H=Math.min(J,w);else H=J;let B=Q-J*86400*1000;if(z=z.filter((U)=>p1(U)>B),z.reverse(),K.users)for(let U of K.users)X[U.handle]={handle:U.handle,own:0,reposts:0,avatar:U.avatar};let F=new Set,q={own:0,reposts:0,all:0};for(let U of z){if(U.reply){if(!F.has(U.reply.parent.uri))continue}let M=U.reason?U.reason.by:U.post.author,I=M.handle;if(X[I]=X[I]??{handle:I,own:0,reposts:0,avatar:M.avatar},U.reason)X[I].reposts+=1,q.reposts+=1;else X[I].own+=1,q.own+=1,F.add(U.post.uri)}let G=Object.values(X);return G.forEach((U)=>{U.all=U.own+U.reposts}),G.sort((U,M)=>M.all-U.all),q.all=q.own+q.reposts,{users:G,sums:q,fetchedDays:w,daysBack:H}}updateProgress(z,J){let Q=z.at(-1);if(!Q)return;let K=p1(Q),Z=(J-K)/86400/1000;this.onProgress?.(Z)}resetUserProgress(z){this.userProgress={};for(let J of z)this.userProgress[J]={pages:0,progress:0}}updateUserProgress(z,J,Q,K){let Z=J.at(-1);if(!Z)return;let X=p1(Z),W=(Q-X)/86400/1000;this.userProgress[z].pages+=1,this.userProgress[z].progress=Math.min(W/K,1);let w=Object.values(this.userProgress).map((G)=>G.pages/G.progress),H=w.filter((G)=>!isNaN(G)),B=H.reduce((G,U)=>G+U)/H.length*w.length,q=Object.values(this.userProgress).map((G)=>G.pages).reduce((G,U)=>G+U)/B*K;this.onProgress?.(q)}abortScan(){this.abortController?.abort(),delete this.abortController}}var L3=P('<input type="radio" name="scan_type" class="svelte-936eaahz55lf"/> <label class="svelte-936eaahz55lf"> </label>',1),I3=P("<option> </option>"),S3=P('<p class="list-choice"><label for="posting_stats_list">Select list:</label> <select id="posting_stats_list" name="scan_list" class="svelte-936eaahz55lf"></select></p>'),j3=P('<progress class="svelte-936eaahz55lf"></progress>'),D3=P('<p class="scan-info svelte-936eaahz55lf"> </p>'),R3=P('<main><h2>Bluesky posting statistics</h2> <form><p>Scan posts from: <!></p> <p>Time range: <input id="posting_stats_range" type="range" min="1" max="60" class="svelte-936eaahz55lf"/> <label for="posting_stats_range"> </label></p> <!> <!> <p><input type="submit" class="svelte-936eaahz55lf"/> <!></p></form> <!> <!></main>');function RJ(z,J){c(J,!0);let Q=[],K=[{id:"home",title:"Home timeline"},{id:"list",title:"List feed"},{id:"users",title:"Selected users"},{id:"you",title:"Your profile"}],Z=m(C0([])),X=m(7),W=m(C0(K[0].id)),w=m(C0([])),H=m(void 0),B=m(!1),F=m(void 0),q=m(void 0),G=m(void 0),U=m(C0({})),M=m(null),I=new DJ((z0)=>{D(q,Math.max(Y(q)||0,z0),!0)});K1(()=>{A()});function O(){D(M,null)}async function A(){let z0=await M0.loadUserLists();D(Z,z0.sort((t,B0)=>{let D0=t.name.toLocaleLowerCase(),H0=B0.name.toLocaleLowerCase();return D0.localeCompare(H0)}),!0),D(H,Y(Z)[0]?.uri,!0)}async function T(z0){z0.preventDefault();try{if(!Y(B))await y();else D(B,!1),I.abortScan()}catch(t){if(t.name!=="AbortError")throw t}}async function y(){if(Y(W)=="list"&&!Y(H)||Y(W)=="users"&&Y(w).length==0)return;D(G,void 0),D(M,null),D(F,Y(X),!0),D(q,0),D(B,!0);let z0=new Date().getTime(),t,B0;if(Y(W)=="home")B0={},t=await I.scanHomeTimeline(Y(F));else if(Y(W)=="list")B0={showReposts:!1},t=await I.scanListTimeline(Y(H),Y(F));else if(Y(W)=="users")B0={showTotal:!1,showPercentages:!1},t=await I.scanUserTimelines(Y(w),Y(F));else B0={showTotal:!1,showPercentages:!1},t=await I.scanYourTimeline(Y(F));if(new Date().getTime()-z0<150)await new Promise((H0)=>setTimeout(H0,150));D(U,B0,!0),D(M,t,!0),D(B,!1)}var N=R3(),E=S(C(N),2),b=C(E),R=S(C(b));A0(R,17,()=>K,x1,(z0,t)=>{var B0=L3(),D0=h(B0);m0(D0),D0.__click=O;var H0,G0=S(D0,2),t0=C(G0,!0);x(G0),g(()=>{if(_(D0,"id",`scan_type_${Y(t).id??""}`),H0!==(H0=Y(t).id))D0.value=(D0.__value=Y(t).id)??"";_(G0,"for",`scan_type_${Y(t).id??""}`),l(t0,Y(t).title)}),_z(Q,[],D0,()=>{return Y(t).id,Y(W)},(v5)=>D(W,v5)),V(z0,B0)}),x(b);var k=S(b,2),$=S(C(k));m0($);var v=S($,2),u=C(v,!0);x(v),x(k);var n=S(k,2);{var o=(z0)=>{var t=S3(),B0=S(C(t),2);A0(B0,21,()=>Y(Z),x1,(D0,H0)=>{var G0=I3(),t0=C(G0);x(G0);var v5={};g(()=>{if(l(t0,`${Y(H0).name??""}ย `),v5!==(v5=Y(H0).uri))G0.value=(G0.__value=Y(H0).uri)??""}),V(D0,G0)}),x(B0),x(t),x9(B0,()=>Y(H),(D0)=>D(H,D0)),V(z0,t)};j(n,(z0)=>{if(Y(W)=="list")z0(o)})}var i=S(n,2);{var X0=(z0)=>{SJ(z0,{get selectedUsers(){return Y(w)},set selectedUsers(t){D(w,t,!0)}})};j(i,(z0)=>{if(Y(W)=="users")z0(X0)})}var Q0=S(i,2),q0=C(Q0);m0(q0);var a=S(q0,2);{var e=(z0)=>{var t=j3();g(()=>{_(t,"max",Y(F)),Z5(t,Y(q))}),V(z0,t)};j(a,(z0)=>{if(Y(B))z0(e)})}x(Q0),x(E);var P0=S(E,2);{var V0=(z0)=>{var t=D3(),B0=C(t,!0);x(t),g(()=>l(B0,Y(G))),V(z0,t)};j(P0,(z0)=>{if(Y(G))z0(V0)})}var k0=S(P0,2);{var w0=(z0)=>{jJ(z0,A9(()=>Y(U),()=>Y(M)))};j(k0,(z0)=>{if(Y(M))z0(w0)})}x(N),g((z0)=>{l(u,z0),Z5(q0,!Y(B)?"Start scan":"Cancel")},[()=>E6(Y(X))]),C1("submit",E,T),O1($,()=>Y(X),(z0)=>D(X,z0)),V(z,N),s()}I0(["click"]);var A3=P("<!> <!>",1),N3=P('<main class="quotes svelte-3bl0i96onoebm"><header><h2><!></h2></header> <!></main>');function AJ(z,J){c(J,!0);let Q=!1,K,Z=!1,X=C0([]),W=m(void 0),w=m(!1);V6(async()=>{if(Q||Z)return;Q=!0;try{let G=await Q8.getQuotes(J.postURL,K),M=(await N0.loadPosts(G.posts)).map((I)=>new S0(I));if(Y(W)===void 0)D(W,G.quoteCount,!0);if(X.push(...M),Q=!1,K=G.cursor,!K||X.length==0)Z=!0}catch(G){console.log(G),Q=!1,D(w,!0),B6(G)}});var H=d(),B=h(H);{var F=(G)=>{var U=N3(),M=C(U),I=C(M),O=C(I);{var A=(N)=>{var E=A1();g(()=>l(E,`${Y(W)??""} quotes:`)),V(N,E)},T=(N)=>{var E=d(),b=h(E);{var R=($)=>{var v=A1("1 quote:");V($,v)},k=($)=>{var v=A1("No quotes found.");V($,v)};j(b,($)=>{if(Y(W)==1)$(R);else $(k,!1)},!0)}V(N,E)};j(O,(N)=>{if(Y(W)>1)N(A);else N(T,!1)})}x(I),x(M);var y=S(M,2);A0(y,17,()=>X,(N)=>N.uri,(N,E)=>{var b=A3(),R=h(b);{var k=(v)=>{G8(v,{get uri(){return Y(E).parentReference.uri}})};j(R,(v)=>{if(Y(E).parentReference)v(k)})}var $=S(R,2);P1($,{get post(){return Y(E)},placement:"quotes"}),V(N,b)}),x(U),V(G,U)},q=(G)=>{var U=d(),M=h(U);{var I=(O)=>{a5(O,{})};j(M,(O)=>{if(!Y(w))O(I)},!0)}V(G,U)};j(B,(G)=>{if(Y(W)!==void 0)G(F);else G(q,!1)})}V(z,H),s()}var k3=P('<div id="tangled" class="svelte-14j5zro1yllpd"><a href="https://tangled.org/mackuba.eu/skythread" target="_blank" class="svelte-14j5zro1yllpd"><img src="icons/tangled_dolly.svg" alt="Tangled" class="svelte-14j5zro1yllpd"/></a></div>');function NJ(z){var J=k3();V(z,J)}var b3=P('<p class="back"><i class="fa-solid fa-reply"></i> <a> </a></p>'),T3=P('<div class="back"><!></div>'),E3=P('<p class="back"><i class="fa-solid fa-ban"></i> parent post has been deleted</p>'),y3=P(`<p class="back"><i class="fa-solid fa-ban"></i> something went wrong, this shouldn't happen</p>`);function kJ(z,J){c(J,!0);var Q=d(),K=h(Q);{var Z=(W)=>{var w=b3(),H=S(C(w),2),B=C(H);x(H),x(w),g((F)=>{_(H,"href",F),l(B,`See parent post (@${J.post.author.handle??""})`)},[()=>y5(J.post)]),V(W,w)},X=(W)=>{var w=d(),H=h(w);{var B=(q)=>{var G=T3(),U=C(G);Dz(U,{get post(){return J.post},placement:"parent",reason:"Parent post blocked"}),x(G),V(q,G)},F=(q)=>{var G=d(),U=h(G);{var M=(O)=>{var A=E3();V(O,A)},I=(O)=>{var A=y3();V(O,A)};j(U,(O)=>{if(J.post instanceof C5)O(M);else O(I,!1)},!0)}V(q,G)};j(H,(q)=>{if(J.post instanceof E5)q(B);else q(F,!1)},!0)}V(W,w)};j(K,(W)=>{if(J.post instanceof S0)W(Z);else W(X,!1)})}V(z,Q),s()}var v3=P("<!> <!>",1),g3=P("<main><!></main>");function V7(z,J){c(J,!0);let Q=s5(J,["$$slots","$$events","$$legacy"]),K=m(void 0),Z=m(!1),X=m(void 0),W;if("url"in Q){let{url:q}=Q;if(q.startsWith("at://"))W=N0.loadThreadByAtURI(q);else W=N0.loadThreadByURL(q)}else{let{author:q,rkey:G}=Q;W=N0.loadThreadById(q,G)}W.then((q)=>{let G=H6(q.thread);if(window.root=G,window.subtreeRoot=G,D(K,G,!0),G instanceof S0)G.data.quoteCount=void 0,Q8.getQuoteCount(G.uri).then((U)=>{Y(X)?.setQuoteCount(U)}).catch((U)=>{console.warn("Couldn't load quote count: "+U)})}).catch((q)=>{B6(q),D(Z,!0)});var w=d();b6("64euhl",(q)=>{var G=d(),U=h(G);{var M=(I)=>{uz(()=>{W6.title=`${Y(K).author.displayName??""}: "${Y(K).text??""}" - Skythread`})};j(U,(I)=>{if(Y(K)instanceof S0)I(M)})}V(q,G)});var H=h(w);{var B=(q)=>{var G=g3(),U=C(G);{var M=(O)=>{var A=v3(),T=h(A);{var y=(b)=>{kJ(b,{get post(){return Y(K).parent}})},N=(b)=>{var R=d(),k=h(R);{var $=(v)=>{X8(v,{get uri(){return Y(K).parentReference.uri}})};j(k,(v)=>{if(Y(K).parentReference)v($)},!0)}V(b,R)};j(T,(b)=>{if(Y(K).parent)b(y);else b(N,!1)})}var E=S(T,2);n1(P1(E,{get post(){return Y(K)},placement:"thread"}),(b)=>D(X,b,!0),()=>Y(X)),V(O,A)},I=(O)=>{f6(O,{get post(){return Y(K)},placement:"thread"})};j(U,(O)=>{if(Y(K)instanceof S0)O(M);else O(I,!1)})}x(G),V(q,G)},F=(q)=>{var G=d(),U=h(G);{var M=(I)=>{a5(I,{})};j(U,(I)=>{if(!Y(Z))I(M)},!0)}V(q,G)};j(H,(q)=>{if(Y(K))q(B);else q(F,!1)})}V(z,w),s()}class bJ{timelinePosts;abortController;constructor(){this.timelinePosts=[]}async fetchTimeline(z,J){let Q=new Date().getTime();this.abortController=new AbortController;let K=await M0.loadHomeTimeline(z,{abortSignal:this.abortController.signal,onPageLoad:(Z)=>{let X=this.calculateProgress(Z,Q);if(X)J(X)}});this.timelinePosts=K}calculateProgress(z,J){let Q=z.at(-1);if(!Q)return null;let K=p1(Q);return(J-K)/86400/1000}searchPosts(z){if(z.length==0)return[];return this.timelinePosts.filter((Q)=>Q.post.record.text.toLowerCase().includes(z)).map((Q)=>JK(Q))}abortFetch(){this.abortController?.abort(),delete this.abortController}}var h3=P("<progress></progress>"),f3=P('<p class="archive-status"> </p>'),m3=P('<form class="search-form"><p class="search">Search: <input type="text" class="search-query" autocomplete="off"/></p></form> <div class="results"></div>',1),$3=P('<h2>Timeline search</h2> <div class="timeline-search"><form><p>Fetch timeline posts: <input id="timeline_search_range" type="range" min="1" max="60" class="svelte-27yj0b3y75jqg"/> <label for="timeline_search_range"> </label></p> <p><input type="submit"/> <!></p></form> <!> <hr/></div> <!>',1);function TJ(z,J){c(J,!0);let Q=m(7),K=m(void 0),Z=m(void 0),X=x0(()=>Y(Z)!==void 0),W=m(void 0),w=m(""),H=m(C0([])),B=new bJ;async function F(G){G.preventDefault();try{if(!Y(X))D(K,Y(Q),!0),D(Z,0),await B.fetchTimeline(Y(Q),(U)=>{D(Z,U,!0)}),D(W,Y(Z),!0),D(Z,void 0);else D(Z,void 0),B.abortFetch()}catch(U){if(U.name!=="AbortError")throw U}}function q(G){if(G.key=="Enter"){G.preventDefault();let U=Y(w).trim().toLowerCase();D(H,B.searchPosts(U),!0)}}w8(z,{children:(G,U)=>{var M=$3(),I=S(h(M),2),O=C(I),A=C(O),T=S(C(A));m0(T);var y=S(T,2),N=C(y,!0);x(y),x(A);var E=S(A,2),b=C(E);m0(b);var R=S(b,2);{var k=(o)=>{var i=h3();g(()=>{_(i,"max",Y(K)),Z5(i,Y(Z))}),V(o,i)};j(R,(o)=>{if(Y(X))o(k)})}x(E),x(O);var $=S(O,2);{var v=(o)=>{var i=f3(),X0=C(i);x(i),g((Q0)=>l(X0,`Timeline archive fetched: ${Q0??""}`),[()=>E6(Math.round(Y(W)))]),V(o,i)};j($,(o)=>{if(Y(W))o(v)})}J1(2),x(I);var u=S(I,2);{var n=(o)=>{var i=m3(),X0=h(i),Q0=C(X0),q0=S(C(Q0));m0(q0),q0.__keydown=q,x(Q0),x(X0);var a=S(X0,2);A0(a,21,()=>Y(H),(e)=>e.uri,(e,P0)=>{P1(e,{get post(){return Y(P0)},placement:"feed"})}),x(a),O1(q0,()=>Y(w),(e)=>D(w,e)),V(o,i)};j(u,(o)=>{if(Y(W))o(n)})}g((o)=>{l(N,o),Z5(b,Y(X)?"Cancel":"Fetch timeline")},[()=>E6(Y(Q))]),C1("submit",O,F),O1(T,()=>Y(Q),(o)=>D(Q,o)),V(G,M)},$$slots:{default:!0}}),s()}I0(["keydown"]);var u3=P("<!> <!> <!> <!>",1);function EJ(z,J){c(J,!0);let Q=(F)=>{var q=d(),G=h(q);{var U=(I)=>{IJ(I,{})},M=(I)=>{var O=d(),A=h(O);{var T=(N)=>{RJ(N,{})},y=(N)=>{var E=d(),b=h(E);{var R=($)=>{PJ($,{})},k=($)=>{var v=d(),u=h(v);{var n=(i)=>{var X0=d(),Q0=h(X0);{var q0=(e)=>{LJ(e,{get lycan(){return J.params.lycan}})},a=(e)=>{TJ(e,{})};j(Q0,(e)=>{if(J.params.mode=="likes")e(q0);else e(a,!1)})}V(i,X0)},o=(i)=>{B7(i,{})};j(u,(i)=>{if(J.params.page=="search")i(n);else i(o,!1)},!0)}V($,v)};j(b,($)=>{if(J.params.page=="like_stats")$(R);else $(k,!1)},!0)}V(N,E)};j(A,(N)=>{if(J.params.page=="posting_stats")N(T);else N(y,!1)},!0)}V(I,O)};j(G,(I)=>{if(J.params.page=="notif")I(U);else I(M,!1)})}V(F,q)};if(J.params.page&&!W1.loggedIn)Pz({showClose:!1});var K=u3(),Z=h(K);n9(Z,{});var X=S(Z,2);a9(X,{});var W=S(X,2);NJ(W,{});var w=S(W,2);{var H=(F)=>{V7(F,{get url(){return J.params.q}})},B=(F)=>{var q=d(),G=h(q);{var U=(I)=>{V7(I,{get author(){return J.params.author},get rkey(){return J.params.post}})},M=(I)=>{var O=d(),A=h(O);{var T=(N)=>{AJ(N,{get postURL(){return J.params.quotes}})},y=(N)=>{var E=d(),b=h(E);{var R=($)=>{CJ($,{get hashtag(){return J.params.hash}})},k=($)=>{var v=d(),u=h(v);{var n=(i)=>{var X0=d(),Q0=h(X0);{var q0=(a)=>{Q(a)};j(Q0,(a)=>{if(W1.loggedIn)a(q0)})}V(i,X0)},o=(i)=>{B7(i,{})};j(u,(i)=>{if(J.params.page)i(n);else i(o,!1)},!0)}V($,v)};j(b,($)=>{if(J.params.hash)$(R);else $(k,!1)},!0)}V(N,E)};j(A,(N)=>{if(J.params.quotes)N(T);else N(y,!1)},!0)}V(I,O)};j(G,(I)=>{if(J.params.author&&J.params.post)I(U);else I(M,!1)},!0)}V(F,q)};j(w,(F)=>{if(J.params.q)F(H);else F(B,!1)})}V(z,K),s()}function l3(){let z=ZK(location.search);wz(EJ,{target:document.body,props:{params:z}})}document.addEventListener("DOMContentLoaded",l3);})(); 53 53 54 - //# debugId=5F5EE1B7C176518A64756E2164756E21 54 + //# debugId=D1D02602A62A41DF64756E2164756E21 55 55 //# sourceMappingURL=skythread.js.map
+2 -1
index.html
··· 4 4 <meta charset="UTF-8"> 5 5 <meta http-equiv="Content-Security-Policy" content=" 6 6 default-src 'none'; 7 - script-src 'self'; 7 + script-src 'self' https://mackuba.eu; 8 8 style-src 'self'; 9 9 img-src 'self' https:; 10 10 font-src 'self'; ··· 26 26 </head> 27 27 <body> 28 28 <script src="dist/skythread.js"></script> 29 + <script src="https://mackuba.eu/stat/matomo.js"></script> 29 30 </body> 30 31 </html>
+5 -5
package.json
··· 1 1 { 2 2 "dependencies": { 3 - "dompurify": "^3.3.0", 4 - "svelte": "^5.45.2" 3 + "dompurify": "^3.3.1", 4 + "svelte": "^5.48.3" 5 5 }, 6 6 "devDependencies": { 7 7 "bun-plugin-svelte": "^0.0.6", 8 - "esbuild": "^0.27.0", 9 - "esbuild-svelte": "^0.9.3", 10 - "svelte-check": "^4.3.4", 8 + "esbuild": "^0.27.2", 9 + "esbuild-svelte": "^0.9.4", 10 + "svelte-check": "^4.3.5", 11 11 "typescript": "^5.9.3" 12 12 } 13 13 }
+7
src/api/bluesky_api.ts
··· 167 167 async loadHiddenReplies(post: Post): Promise<(json | null)[]> { 168 168 let expectedReplyURIs = await constellationAPI.getReplies(post.uri); 169 169 let missingReplyURIs = expectedReplyURIs.filter(r => !post.replies.some(x => x.uri === r)); 170 + 171 + missingReplyURIs.sort((a, b) => { 172 + let arkey = a.split('/').at(-1)! 173 + let brkey = b.split('/').at(-1)! 174 + return arkey.localeCompare(brkey); 175 + }); 176 + 170 177 let promises = missingReplyURIs.map(uri => this.loadThreadByAtURI(uri)); 171 178 let responses = await Promise.allSettled(promises); 172 179
+1 -1
src/components/LoginDialog.svelte
··· 79 79 {#if loginInfoVisible} 80 80 <div class="info-box"> 81 81 <p>Skythread doesn't support OAuth yet. For now, you need to use an "app password" here, which you can generate in the Bluesky app settings.</p> 82 - <p>The password you enter here is only passed to the Bluesky API (PDS) and isn't saved anywhere. The returned access token is only stored in your browser's local storage. You can see the complete source code of this app <a href="http://tangled.org/@mackuba.eu/skythread" target="_blank">on Tangled</a>.</p> 82 + <p>The password you enter here is only passed to the Bluesky API (PDS) and isn't saved anywhere. The returned access token is only stored in your browser's local storage. You can see the complete source code of this app <a href="http://tangled.org/mackuba.eu/skythread" target="_blank">on Tangled</a>.</p> 83 83 </div> 84 84 {/if} 85 85
+6 -1
src/components/RichTextFromFacets.svelte
··· 1 1 <script lang="ts"> 2 2 import { RichText, type Facet } from '../../lib/rich_text_lite.js'; 3 3 import { linkToHashtagPage } from '../router.js'; 4 + import { isValidURL } from '../utils.js'; 4 5 5 6 let { text, facets }: { text: string, facets: Facet[] } = $props(); 6 7 ··· 12 13 {#if segment.mention} 13 14 <a href="https://bsky.app/profile/{segment.mention.did}">{segment.text}</a> 14 15 {:else if segment.link} 15 - <a href="{segment.link.uri}">{segment.text}</a> 16 + {#if isValidURL(segment.link.uri)} 17 + <a href="{segment.link.uri}">{segment.text}</a> 18 + {:else} 19 + [{segment.text}]({segment.link.uri}) 20 + {/if} 16 21 {:else if segment.tag} 17 22 <a href={linkToHashtagPage(segment.tag.tag)}>{segment.text}</a> 18 23 {:else}
+1 -1
src/components/embeds/LinkComponent.svelte
··· 43 43 </a> 44 44 {:else} 45 45 <p> 46 - [Link: <a href={embed.url}>{embed.title || embed.url}</a>] 46 + [Link: {embed.url}] 47 47 </p> 48 48 {/if} 49 49 {/if}
+6 -2
src/components/posts/PostFooter.svelte
··· 87 87 {/if} 88 88 {/if} 89 89 90 - {#if placement == 'thread' && post.isRestrictingReplies} 91 - <span><i class="fa-solid fa-ban"></i> Limited replies</span> 90 + {#if post.isRestrictingReplies} 91 + {#if placement == 'thread'} 92 + <span><i class="fa-solid fa-ban"></i> Limited replies</span> 93 + {:else if placement == 'quotes'} 94 + <span><i class="fa-solid fa-ban" title="Limited replies"></i></span> 95 + {/if} 92 96 {/if} 93 97 94 98 {#if isUnavailableForLiking}
+30
src/services/analytics.ts
··· 1 + export function initAnalytics() { 2 + if (window.location.protocol != 'https:') { return } 3 + 4 + let _paq = window._paq = window._paq || []; 5 + _paq.push(["setExcludedQueryParams", ['fbclid']]); 6 + _paq.push(['setTrackerUrl', 'https://mackuba.eu/stat/matomo.php']); 7 + _paq.push(['setCustomUrl', anonymizeParams(location.href)]); 8 + _paq.push(["setRequestMethod", "GET"]); 9 + _paq.push(['setSiteId', '13']); 10 + _paq.push(["disableCookies"]); 11 + _paq.push(["disableAlwaysUseSendBeacon"]); 12 + _paq.push(['trackPageView']); 13 + } 14 + 15 + function anonymizeParams(url: string) { 16 + let u = new URL(url); 17 + let params = u.searchParams; 18 + 19 + // turn e.g.: /?author=jcsalterego.bsky.social&post=3mci5wurx6c2c 20 + // into: /?author=xxx&post=xxx 21 + 22 + for (let key of params.keys()) { 23 + if (['q', 'author', 'post', 'quotes', 'hash'].includes(key)) { 24 + params.set(key, 'xxx'); 25 + } 26 + } 27 + 28 + u.search = params.toString(); 29 + return u.origin + u.pathname + u.search; 30 + }
+2
src/skythread.ts
··· 1 1 import { mount } from 'svelte'; 2 2 import { parseURLParams } from './router.js'; 3 3 import App from './App.svelte'; 4 + import { initAnalytics } from './services/analytics.js'; 4 5 5 6 function init() { 6 7 let params = parseURLParams(location.search); ··· 8 9 } 9 10 10 11 document.addEventListener("DOMContentLoaded", init); 12 + initAnalytics();
+1
src/types.d.ts
··· 1 1 interface Window { 2 2 root: AnyPost; 3 3 subtreeRoot: AnyPost; 4 + _paq?: any[][]; 4 5 } 5 6 6 7 type json = Record<string, any>;
+2 -2
src/utils.ts
··· 17 17 18 18 export function isValidURL(url: string): boolean { 19 19 try { 20 - new URL(url); 21 - return true; 20 + let u = new URL(url); 21 + return (u.protocol == 'http:' || u.protocol == 'https:'); 22 22 } catch (error) { 23 23 console.error("Invalid URL: " + error); 24 24 return false;