codex 1.5.11__py3-none-any.whl → 1.5.12__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of codex might be problematic. Click here for more details.
- codex/static_root/assets/{VCheckbox-DILNxNH0.b3d636874a55.js → VCheckbox-CC74mhfV.a196e804e50a.js} +1 -1
- codex/static_root/assets/VCheckbox-CC74mhfV.a196e804e50a.js.br +0 -0
- codex/static_root/assets/VCheckbox-CC74mhfV.a196e804e50a.js.gz +0 -0
- codex/static_root/assets/{VCheckbox-DILNxNH0.js → VCheckbox-CC74mhfV.js} +1 -1
- codex/static_root/assets/VCheckbox-CC74mhfV.js.br +0 -0
- codex/static_root/assets/VCheckbox-CC74mhfV.js.gz +0 -0
- codex/static_root/assets/{VCheckboxBtn-BvTV50hB.743d5045dd85.js → VCheckboxBtn-F27UKlAX.f74083aa5b9a.js} +1 -1
- codex/static_root/assets/VCheckboxBtn-F27UKlAX.f74083aa5b9a.js.br +0 -0
- codex/static_root/assets/VCheckboxBtn-F27UKlAX.f74083aa5b9a.js.gz +0 -0
- codex/static_root/assets/{VCheckboxBtn-BvTV50hB.js → VCheckboxBtn-F27UKlAX.js} +1 -1
- codex/static_root/assets/VCheckboxBtn-F27UKlAX.js.br +0 -0
- codex/static_root/assets/VCheckboxBtn-F27UKlAX.js.gz +0 -0
- codex/static_root/assets/{VCombobox-WMKXQHU8.bb480d30500d.js → VCombobox-Dw57vrly.b1184dfd61ec.js} +1 -1
- codex/static_root/assets/VCombobox-Dw57vrly.b1184dfd61ec.js.br +0 -0
- codex/static_root/assets/VCombobox-Dw57vrly.b1184dfd61ec.js.gz +0 -0
- codex/static_root/assets/{VCombobox-WMKXQHU8.js → VCombobox-Dw57vrly.js} +1 -1
- codex/static_root/assets/VCombobox-Dw57vrly.js.br +0 -0
- codex/static_root/assets/VCombobox-Dw57vrly.js.gz +0 -0
- codex/static_root/assets/{VDataTableVirtual-CeSA4IqW.222e223c0c5b.js → VDataTableVirtual-BgFOSn9_.969c17b4d50a.js} +1 -1
- codex/static_root/assets/VDataTableVirtual-BgFOSn9_.969c17b4d50a.js.br +0 -0
- codex/static_root/assets/VDataTableVirtual-BgFOSn9_.969c17b4d50a.js.gz +0 -0
- codex/static_root/assets/{VDataTableVirtual-CeSA4IqW.js → VDataTableVirtual-BgFOSn9_.js} +1 -1
- codex/static_root/assets/VDataTableVirtual-BgFOSn9_.js.br +0 -0
- codex/static_root/assets/VDataTableVirtual-BgFOSn9_.js.gz +0 -0
- codex/static_root/assets/{VExpansionPanel-D2KdJaNN.382ab5af5c16.js → VExpansionPanel-B06inlZY.a77a3ad1cc7c.js} +1 -1
- codex/static_root/assets/VExpansionPanel-B06inlZY.a77a3ad1cc7c.js.br +0 -0
- codex/static_root/assets/VExpansionPanel-B06inlZY.a77a3ad1cc7c.js.gz +0 -0
- codex/static_root/assets/{VExpansionPanel-D2KdJaNN.js → VExpansionPanel-B06inlZY.js} +1 -1
- codex/static_root/assets/VExpansionPanel-B06inlZY.js.br +0 -0
- codex/static_root/assets/VExpansionPanel-B06inlZY.js.gz +0 -0
- codex/static_root/assets/{VMain-CLPkUtlY.093dce5ee73d.js → VMain-BR4DrMy3.977234e0db6a.js} +1 -1
- codex/static_root/assets/VMain-BR4DrMy3.977234e0db6a.js.br +0 -0
- codex/static_root/assets/VMain-BR4DrMy3.977234e0db6a.js.gz +0 -0
- codex/static_root/assets/{VMain-CLPkUtlY.js → VMain-BR4DrMy3.js} +1 -1
- codex/static_root/assets/VMain-BR4DrMy3.js.br +0 -0
- codex/static_root/assets/VMain-BR4DrMy3.js.gz +0 -0
- codex/static_root/assets/{VRadioGroup-CKhS3Tqq.d335c4ea0c80.js → VRadioGroup-DE0KmC8d.75bdb9d16a32.js} +1 -1
- codex/static_root/assets/VRadioGroup-DE0KmC8d.75bdb9d16a32.js.br +0 -0
- codex/static_root/assets/VRadioGroup-DE0KmC8d.75bdb9d16a32.js.gz +0 -0
- codex/static_root/assets/{VRadioGroup-CKhS3Tqq.js → VRadioGroup-DE0KmC8d.js} +1 -1
- codex/static_root/assets/VRadioGroup-DE0KmC8d.js.br +0 -0
- codex/static_root/assets/VRadioGroup-DE0KmC8d.js.gz +0 -0
- codex/static_root/assets/{VSelect-CiEBG4Gg.js → VSelect-5wraBYHV.54a9a3184add.js} +1 -1
- codex/static_root/assets/VSelect-5wraBYHV.54a9a3184add.js.br +0 -0
- codex/static_root/assets/VSelect-5wraBYHV.54a9a3184add.js.gz +0 -0
- codex/static_root/assets/{VSelect-CiEBG4Gg.58a09287143f.js → VSelect-5wraBYHV.js} +1 -1
- codex/static_root/assets/VSelect-5wraBYHV.js.br +0 -0
- codex/static_root/assets/VSelect-5wraBYHV.js.gz +0 -0
- codex/static_root/assets/{VSelectionControl-BG0YEK9P.ac59951f8127.js → VSelectionControl-B1zPb_Yg.6112179d7a5d.js} +1 -1
- codex/static_root/assets/VSelectionControl-B1zPb_Yg.6112179d7a5d.js.br +0 -0
- codex/static_root/assets/VSelectionControl-B1zPb_Yg.6112179d7a5d.js.gz +0 -0
- codex/static_root/assets/{VSelectionControl-BG0YEK9P.js → VSelectionControl-B1zPb_Yg.js} +1 -1
- codex/static_root/assets/VSelectionControl-B1zPb_Yg.js.br +0 -0
- codex/static_root/assets/VSelectionControl-B1zPb_Yg.js.gz +0 -0
- codex/static_root/assets/{VSlideGroup-Bm-rZo-p.816bb625906d.js → VSlideGroup-F7Hpcms9.dce335daf8f2.js} +1 -1
- codex/static_root/assets/VSlideGroup-F7Hpcms9.dce335daf8f2.js.br +0 -0
- codex/static_root/assets/VSlideGroup-F7Hpcms9.dce335daf8f2.js.gz +0 -0
- codex/static_root/assets/{VSlideGroup-Bm-rZo-p.js → VSlideGroup-F7Hpcms9.js} +1 -1
- codex/static_root/assets/VSlideGroup-F7Hpcms9.js.br +0 -0
- codex/static_root/assets/VSlideGroup-F7Hpcms9.js.gz +0 -0
- codex/static_root/assets/{VTable-Ca3_Vvv_.6fd02dbba881.js → VTable-Pq4fCfUx.e50f8ad539ed.js} +1 -1
- codex/static_root/assets/VTable-Pq4fCfUx.e50f8ad539ed.js.br +0 -0
- codex/static_root/assets/VTable-Pq4fCfUx.e50f8ad539ed.js.gz +0 -0
- codex/static_root/assets/{VTable-Ca3_Vvv_.js → VTable-Pq4fCfUx.js} +1 -1
- codex/static_root/assets/VTable-Pq4fCfUx.js.br +0 -0
- codex/static_root/assets/VTable-Pq4fCfUx.js.gz +0 -0
- codex/static_root/assets/{VToolbar-CjnGoYm_.js → VToolbar-BFYiqJrS.71a0cbf7eb5f.js} +2 -2
- codex/static_root/assets/VToolbar-BFYiqJrS.71a0cbf7eb5f.js.br +0 -0
- codex/static_root/assets/VToolbar-BFYiqJrS.71a0cbf7eb5f.js.gz +0 -0
- codex/static_root/assets/{VToolbar-CjnGoYm_.211df7fe7fc4.js → VToolbar-BFYiqJrS.js} +2 -2
- codex/static_root/assets/VToolbar-BFYiqJrS.js.br +0 -0
- codex/static_root/assets/VToolbar-BFYiqJrS.js.gz +0 -0
- codex/static_root/assets/{VWindowItem-Ren0_px5.3e2b2ffbdefb.js → VWindowItem-g6ho7Hf4.b91f9a3277ff.js} +1 -1
- codex/static_root/assets/VWindowItem-g6ho7Hf4.b91f9a3277ff.js.br +0 -0
- codex/static_root/assets/VWindowItem-g6ho7Hf4.b91f9a3277ff.js.gz +0 -0
- codex/static_root/assets/{VWindowItem-Ren0_px5.js → VWindowItem-g6ho7Hf4.js} +1 -1
- codex/static_root/assets/VWindowItem-g6ho7Hf4.js.br +0 -0
- codex/static_root/assets/VWindowItem-g6ho7Hf4.js.gz +0 -0
- codex/static_root/assets/{admin-B0qtMbYo.071dfdcac325.js → admin-BVkY78tW.affa20285127.js} +1 -1
- codex/static_root/assets/admin-BVkY78tW.affa20285127.js.br +0 -0
- codex/static_root/assets/admin-BVkY78tW.affa20285127.js.gz +0 -0
- codex/static_root/assets/{admin-B0qtMbYo.js → admin-BVkY78tW.js} +1 -1
- codex/static_root/assets/admin-BVkY78tW.js.br +0 -0
- codex/static_root/assets/admin-BVkY78tW.js.gz +0 -0
- codex/static_root/assets/{admin-drawer-panel-CYYEXqtK.db547c39eded.js → admin-drawer-panel-CEiEnUcn.9f94b93a422f.js} +1 -1
- codex/static_root/assets/admin-drawer-panel-CEiEnUcn.9f94b93a422f.js.br +0 -0
- codex/static_root/assets/admin-drawer-panel-CEiEnUcn.9f94b93a422f.js.gz +0 -0
- codex/static_root/assets/{admin-drawer-panel-CYYEXqtK.js → admin-drawer-panel-CEiEnUcn.js} +1 -1
- codex/static_root/assets/admin-drawer-panel-CEiEnUcn.js.br +0 -0
- codex/static_root/assets/admin-drawer-panel-CEiEnUcn.js.gz +0 -0
- codex/static_root/assets/{browser-B-4o2klP.469a3f62093a.js → browser-BYquFWOA.3e5479490c40.js} +1 -1
- codex/static_root/assets/browser-BYquFWOA.3e5479490c40.js.br +0 -0
- codex/static_root/assets/browser-BYquFWOA.3e5479490c40.js.gz +0 -0
- codex/static_root/assets/{browser-B-4o2klP.js → browser-BYquFWOA.js} +1 -1
- codex/static_root/assets/browser-BYquFWOA.js.br +0 -0
- codex/static_root/assets/browser-BYquFWOA.js.gz +0 -0
- codex/static_root/assets/{change-password-dialog-DnkeLvMH.f9ac56354665.js → change-password-dialog-Bh7raeqK.6d408dcd933e.js} +1 -1
- codex/static_root/assets/change-password-dialog-Bh7raeqK.6d408dcd933e.js.br +0 -0
- codex/static_root/assets/change-password-dialog-Bh7raeqK.6d408dcd933e.js.gz +0 -0
- codex/static_root/assets/{change-password-dialog-DnkeLvMH.js → change-password-dialog-Bh7raeqK.js} +1 -1
- codex/static_root/assets/change-password-dialog-Bh7raeqK.js.br +0 -0
- codex/static_root/assets/change-password-dialog-Bh7raeqK.js.gz +0 -0
- codex/static_root/assets/{confirm-dialog-BfSatKsS.7e0e20b08c75.js → confirm-dialog-CvURjaTY.cadecd4cefa8.js} +1 -1
- codex/static_root/assets/confirm-dialog-CvURjaTY.cadecd4cefa8.js.br +0 -0
- codex/static_root/assets/confirm-dialog-CvURjaTY.cadecd4cefa8.js.gz +0 -0
- codex/static_root/assets/{confirm-dialog-BfSatKsS.js → confirm-dialog-CvURjaTY.js} +1 -1
- codex/static_root/assets/confirm-dialog-CvURjaTY.js.br +0 -0
- codex/static_root/assets/confirm-dialog-CvURjaTY.js.gz +0 -0
- codex/static_root/assets/{confirm-footer-lfG418fS.70e914e12343.js → confirm-footer-C-VAfuKA.c93e5c6d41ca.js} +1 -1
- codex/static_root/assets/confirm-footer-C-VAfuKA.c93e5c6d41ca.js.br +0 -0
- codex/static_root/assets/confirm-footer-C-VAfuKA.c93e5c6d41ca.js.gz +0 -0
- codex/static_root/assets/{confirm-footer-lfG418fS.js → confirm-footer-C-VAfuKA.js} +1 -1
- codex/static_root/assets/confirm-footer-C-VAfuKA.js.br +0 -0
- codex/static_root/assets/confirm-footer-C-VAfuKA.js.gz +0 -0
- codex/static_root/assets/{datetime-column-fbihmJHU.4bc0bcaee780.js → datetime-column-CDcOr8sM.951343a94a28.js} +1 -1
- codex/static_root/assets/datetime-column-CDcOr8sM.951343a94a28.js.br +0 -0
- codex/static_root/assets/datetime-column-CDcOr8sM.951343a94a28.js.gz +0 -0
- codex/static_root/assets/{datetime-column-fbihmJHU.js → datetime-column-CDcOr8sM.js} +1 -1
- codex/static_root/assets/datetime-column-CDcOr8sM.js.br +0 -0
- codex/static_root/assets/datetime-column-CDcOr8sM.js.gz +0 -0
- codex/static_root/assets/{filter-omb1juiE.60e35137ed78.js → filter-DT8MlNGw.c70bb7a7c265.js} +1 -1
- codex/static_root/assets/filter-DT8MlNGw.c70bb7a7c265.js.br +0 -0
- codex/static_root/assets/filter-DT8MlNGw.c70bb7a7c265.js.gz +0 -0
- codex/static_root/assets/{filter-omb1juiE.js → filter-DT8MlNGw.js} +1 -1
- codex/static_root/assets/filter-DT8MlNGw.js.br +0 -0
- codex/static_root/assets/filter-DT8MlNGw.js.gz +0 -0
- codex/static_root/assets/{flag-tab-DMgtpnoL.026603d5e10f.js → flag-tab-BVoz2gvN.591572581c12.js} +1 -1
- codex/static_root/assets/flag-tab-BVoz2gvN.591572581c12.js.br +0 -0
- codex/static_root/assets/flag-tab-BVoz2gvN.591572581c12.js.gz +0 -0
- codex/static_root/assets/{flag-tab-DMgtpnoL.js → flag-tab-BVoz2gvN.js} +1 -1
- codex/static_root/assets/flag-tab-BVoz2gvN.js.br +0 -0
- codex/static_root/assets/flag-tab-BVoz2gvN.js.gz +0 -0
- codex/static_root/assets/{group-tab-ChO_Opmg.310104b14401.js → group-tab-Bu1Hn4DR.8c9fb2cbc4d2.js} +1 -1
- codex/static_root/assets/group-tab-Bu1Hn4DR.8c9fb2cbc4d2.js.br +0 -0
- codex/static_root/assets/group-tab-Bu1Hn4DR.8c9fb2cbc4d2.js.gz +0 -0
- codex/static_root/assets/{group-tab-ChO_Opmg.js → group-tab-Bu1Hn4DR.js} +1 -1
- codex/static_root/assets/group-tab-Bu1Hn4DR.js.br +0 -0
- codex/static_root/assets/group-tab-Bu1Hn4DR.js.gz +0 -0
- codex/static_root/assets/{http-error-C23KyICQ.abef3d8f559f.js → http-error-BKXUvS3w.93b39ceed2f7.js} +1 -1
- codex/static_root/assets/http-error-BKXUvS3w.93b39ceed2f7.js.br +4 -0
- codex/static_root/assets/http-error-BKXUvS3w.93b39ceed2f7.js.gz +0 -0
- codex/static_root/assets/{http-error-C23KyICQ.js → http-error-BKXUvS3w.js} +1 -1
- codex/static_root/assets/http-error-BKXUvS3w.js.br +4 -0
- codex/static_root/assets/http-error-BKXUvS3w.js.gz +0 -0
- codex/static_root/assets/{library-tab-DrLWFLoD.6c7ef6d70145.js → library-tab-AM2XWHOr.31f48701358e.js} +1 -1
- codex/static_root/assets/library-tab-AM2XWHOr.31f48701358e.js.br +0 -0
- codex/static_root/assets/library-tab-AM2XWHOr.31f48701358e.js.gz +0 -0
- codex/static_root/assets/{library-tab-DrLWFLoD.js → library-tab-AM2XWHOr.js} +1 -1
- codex/static_root/assets/library-tab-AM2XWHOr.js.br +0 -0
- codex/static_root/assets/library-tab-AM2XWHOr.js.gz +0 -0
- codex/static_root/assets/{main-BgbJsukE.js → main-Dr7xEc75.ffae6222f1aa.js} +3 -3
- codex/static_root/assets/main-Dr7xEc75.ffae6222f1aa.js.br +0 -0
- codex/static_root/assets/main-Dr7xEc75.ffae6222f1aa.js.gz +0 -0
- codex/static_root/assets/{main-BgbJsukE.7cf51b816bdc.js → main-Dr7xEc75.js} +3 -3
- codex/static_root/assets/main-Dr7xEc75.js.br +0 -0
- codex/static_root/assets/main-Dr7xEc75.js.gz +0 -0
- codex/static_root/assets/{metadata-dialog-BtNY_zfF.22c1b81402ef.js → metadata-dialog-DFDQ4P3u.b959bb5a03a2.js} +1 -1
- codex/static_root/assets/metadata-dialog-DFDQ4P3u.b959bb5a03a2.js.br +0 -0
- codex/static_root/assets/metadata-dialog-DFDQ4P3u.b959bb5a03a2.js.gz +0 -0
- codex/static_root/assets/{metadata-dialog-BtNY_zfF.js → metadata-dialog-DFDQ4P3u.js} +1 -1
- codex/static_root/assets/metadata-dialog-DFDQ4P3u.js.br +0 -0
- codex/static_root/assets/metadata-dialog-DFDQ4P3u.js.gz +0 -0
- codex/static_root/assets/{pdf-doc-CIsTX0uM.6ab3c037f453.js → pdf-doc-DSq1qfWx.50ab90d8b609.js} +1 -1
- codex/static_root/assets/pdf-doc-DSq1qfWx.50ab90d8b609.js.br +0 -0
- codex/static_root/assets/pdf-doc-DSq1qfWx.50ab90d8b609.js.gz +0 -0
- codex/static_root/assets/{pdf-doc-CIsTX0uM.js → pdf-doc-DSq1qfWx.js} +1 -1
- codex/static_root/assets/pdf-doc-DSq1qfWx.js.br +0 -0
- codex/static_root/assets/pdf-doc-DSq1qfWx.js.gz +0 -0
- codex/static_root/assets/{reader-CNqxQvt9.8dc98a69b850.js → reader-Qan6W6n-.fc91835a9075.js} +2 -2
- codex/static_root/assets/reader-Qan6W6n-.fc91835a9075.js.br +0 -0
- codex/static_root/assets/reader-Qan6W6n-.fc91835a9075.js.gz +0 -0
- codex/static_root/assets/{reader-CNqxQvt9.js → reader-Qan6W6n-.js} +2 -2
- codex/static_root/assets/reader-Qan6W6n-.js.br +0 -0
- codex/static_root/assets/reader-Qan6W6n-.js.gz +0 -0
- codex/static_root/assets/{stats-tab-CoaUKmOP.bec3968f1626.js → stats-tab-Bv3OL9xU.949c9b8d7135.js} +1 -1
- codex/static_root/assets/stats-tab-Bv3OL9xU.949c9b8d7135.js.br +0 -0
- codex/static_root/assets/stats-tab-Bv3OL9xU.949c9b8d7135.js.gz +0 -0
- codex/static_root/assets/{stats-tab-CoaUKmOP.js → stats-tab-Bv3OL9xU.js} +1 -1
- codex/static_root/assets/stats-tab-Bv3OL9xU.js.br +0 -0
- codex/static_root/assets/stats-tab-Bv3OL9xU.js.gz +0 -0
- codex/static_root/assets/{task-tab-Chc8Xt1f.cfc054dc04c9.js → task-tab-CgR8JqMw.54569b8df927.js} +1 -1
- codex/static_root/assets/task-tab-CgR8JqMw.54569b8df927.js.br +0 -0
- codex/static_root/assets/task-tab-CgR8JqMw.54569b8df927.js.gz +0 -0
- codex/static_root/assets/{task-tab-Chc8Xt1f.js → task-tab-CgR8JqMw.js} +1 -1
- codex/static_root/assets/task-tab-CgR8JqMw.js.br +0 -0
- codex/static_root/assets/task-tab-CgR8JqMw.js.gz +0 -0
- codex/static_root/assets/{user-tab-DH1Xzfcb.99bb9c50aa13.js → user-tab-Xzi_07Yi.d165773d55aa.js} +1 -1
- codex/static_root/assets/user-tab-Xzi_07Yi.d165773d55aa.js.br +0 -0
- codex/static_root/assets/user-tab-Xzi_07Yi.d165773d55aa.js.gz +0 -0
- codex/static_root/assets/{user-tab-DH1Xzfcb.js → user-tab-Xzi_07Yi.js} +1 -1
- codex/static_root/assets/user-tab-Xzi_07Yi.js.br +0 -0
- codex/static_root/assets/user-tab-Xzi_07Yi.js.gz +0 -0
- codex/static_root/{manifest.3751733856af.json → manifest.0d2e5eed5ce7.json} +205 -205
- codex/static_root/manifest.0d2e5eed5ce7.json.br +0 -0
- codex/static_root/manifest.0d2e5eed5ce7.json.gz +0 -0
- codex/static_root/manifest.json +205 -205
- codex/static_root/manifest.json.br +0 -0
- codex/static_root/manifest.json.gz +0 -0
- codex/static_root/staticfiles.json +1 -1
- codex/views/browser/browser.py +14 -9
- {codex-1.5.11.dist-info → codex-1.5.12.dist-info}/METADATA +1 -1
- {codex-1.5.11.dist-info → codex-1.5.12.dist-info}/RECORD +205 -205
- codex/static_root/assets/VCheckbox-DILNxNH0.b3d636874a55.js.br +0 -0
- codex/static_root/assets/VCheckbox-DILNxNH0.b3d636874a55.js.gz +0 -0
- codex/static_root/assets/VCheckbox-DILNxNH0.js.br +0 -0
- codex/static_root/assets/VCheckbox-DILNxNH0.js.gz +0 -0
- codex/static_root/assets/VCheckboxBtn-BvTV50hB.743d5045dd85.js.br +0 -0
- codex/static_root/assets/VCheckboxBtn-BvTV50hB.743d5045dd85.js.gz +0 -0
- codex/static_root/assets/VCheckboxBtn-BvTV50hB.js.br +0 -0
- codex/static_root/assets/VCheckboxBtn-BvTV50hB.js.gz +0 -0
- codex/static_root/assets/VCombobox-WMKXQHU8.bb480d30500d.js.br +0 -0
- codex/static_root/assets/VCombobox-WMKXQHU8.bb480d30500d.js.gz +0 -0
- codex/static_root/assets/VCombobox-WMKXQHU8.js.br +0 -0
- codex/static_root/assets/VCombobox-WMKXQHU8.js.gz +0 -0
- codex/static_root/assets/VDataTableVirtual-CeSA4IqW.222e223c0c5b.js.br +0 -0
- codex/static_root/assets/VDataTableVirtual-CeSA4IqW.222e223c0c5b.js.gz +0 -0
- codex/static_root/assets/VDataTableVirtual-CeSA4IqW.js.br +0 -0
- codex/static_root/assets/VDataTableVirtual-CeSA4IqW.js.gz +0 -0
- codex/static_root/assets/VExpansionPanel-D2KdJaNN.382ab5af5c16.js.br +0 -0
- codex/static_root/assets/VExpansionPanel-D2KdJaNN.382ab5af5c16.js.gz +0 -0
- codex/static_root/assets/VExpansionPanel-D2KdJaNN.js.br +0 -0
- codex/static_root/assets/VExpansionPanel-D2KdJaNN.js.gz +0 -0
- codex/static_root/assets/VMain-CLPkUtlY.093dce5ee73d.js.br +0 -0
- codex/static_root/assets/VMain-CLPkUtlY.093dce5ee73d.js.gz +0 -0
- codex/static_root/assets/VMain-CLPkUtlY.js.br +0 -0
- codex/static_root/assets/VMain-CLPkUtlY.js.gz +0 -0
- codex/static_root/assets/VRadioGroup-CKhS3Tqq.d335c4ea0c80.js.br +0 -0
- codex/static_root/assets/VRadioGroup-CKhS3Tqq.d335c4ea0c80.js.gz +0 -0
- codex/static_root/assets/VRadioGroup-CKhS3Tqq.js.br +0 -0
- codex/static_root/assets/VRadioGroup-CKhS3Tqq.js.gz +0 -0
- codex/static_root/assets/VSelect-CiEBG4Gg.58a09287143f.js.br +0 -0
- codex/static_root/assets/VSelect-CiEBG4Gg.58a09287143f.js.gz +0 -0
- codex/static_root/assets/VSelect-CiEBG4Gg.js.br +0 -0
- codex/static_root/assets/VSelect-CiEBG4Gg.js.gz +0 -0
- codex/static_root/assets/VSelectionControl-BG0YEK9P.ac59951f8127.js.br +0 -0
- codex/static_root/assets/VSelectionControl-BG0YEK9P.ac59951f8127.js.gz +0 -0
- codex/static_root/assets/VSelectionControl-BG0YEK9P.js.br +0 -0
- codex/static_root/assets/VSelectionControl-BG0YEK9P.js.gz +0 -0
- codex/static_root/assets/VSlideGroup-Bm-rZo-p.816bb625906d.js.br +0 -0
- codex/static_root/assets/VSlideGroup-Bm-rZo-p.816bb625906d.js.gz +0 -0
- codex/static_root/assets/VSlideGroup-Bm-rZo-p.js.br +0 -0
- codex/static_root/assets/VSlideGroup-Bm-rZo-p.js.gz +0 -0
- codex/static_root/assets/VTable-Ca3_Vvv_.6fd02dbba881.js.br +0 -0
- codex/static_root/assets/VTable-Ca3_Vvv_.6fd02dbba881.js.gz +0 -0
- codex/static_root/assets/VTable-Ca3_Vvv_.js.br +0 -0
- codex/static_root/assets/VTable-Ca3_Vvv_.js.gz +0 -0
- codex/static_root/assets/VToolbar-CjnGoYm_.211df7fe7fc4.js.br +0 -0
- codex/static_root/assets/VToolbar-CjnGoYm_.211df7fe7fc4.js.gz +0 -0
- codex/static_root/assets/VToolbar-CjnGoYm_.js.br +0 -0
- codex/static_root/assets/VToolbar-CjnGoYm_.js.gz +0 -0
- codex/static_root/assets/VWindowItem-Ren0_px5.3e2b2ffbdefb.js.br +0 -0
- codex/static_root/assets/VWindowItem-Ren0_px5.3e2b2ffbdefb.js.gz +0 -0
- codex/static_root/assets/VWindowItem-Ren0_px5.js.br +0 -0
- codex/static_root/assets/VWindowItem-Ren0_px5.js.gz +0 -0
- codex/static_root/assets/admin-B0qtMbYo.071dfdcac325.js.br +0 -0
- codex/static_root/assets/admin-B0qtMbYo.071dfdcac325.js.gz +0 -0
- codex/static_root/assets/admin-B0qtMbYo.js.br +0 -0
- codex/static_root/assets/admin-B0qtMbYo.js.gz +0 -0
- codex/static_root/assets/admin-drawer-panel-CYYEXqtK.db547c39eded.js.br +0 -0
- codex/static_root/assets/admin-drawer-panel-CYYEXqtK.db547c39eded.js.gz +0 -0
- codex/static_root/assets/admin-drawer-panel-CYYEXqtK.js.br +0 -0
- codex/static_root/assets/admin-drawer-panel-CYYEXqtK.js.gz +0 -0
- codex/static_root/assets/browser-B-4o2klP.469a3f62093a.js.br +0 -0
- codex/static_root/assets/browser-B-4o2klP.469a3f62093a.js.gz +0 -0
- codex/static_root/assets/browser-B-4o2klP.js.br +0 -0
- codex/static_root/assets/browser-B-4o2klP.js.gz +0 -0
- codex/static_root/assets/change-password-dialog-DnkeLvMH.f9ac56354665.js.br +0 -0
- codex/static_root/assets/change-password-dialog-DnkeLvMH.f9ac56354665.js.gz +0 -0
- codex/static_root/assets/change-password-dialog-DnkeLvMH.js.br +0 -0
- codex/static_root/assets/change-password-dialog-DnkeLvMH.js.gz +0 -0
- codex/static_root/assets/confirm-dialog-BfSatKsS.7e0e20b08c75.js.br +0 -0
- codex/static_root/assets/confirm-dialog-BfSatKsS.7e0e20b08c75.js.gz +0 -0
- codex/static_root/assets/confirm-dialog-BfSatKsS.js.br +0 -0
- codex/static_root/assets/confirm-dialog-BfSatKsS.js.gz +0 -0
- codex/static_root/assets/confirm-footer-lfG418fS.70e914e12343.js.br +0 -0
- codex/static_root/assets/confirm-footer-lfG418fS.70e914e12343.js.gz +0 -0
- codex/static_root/assets/confirm-footer-lfG418fS.js.br +0 -0
- codex/static_root/assets/confirm-footer-lfG418fS.js.gz +0 -0
- codex/static_root/assets/datetime-column-fbihmJHU.4bc0bcaee780.js.br +0 -0
- codex/static_root/assets/datetime-column-fbihmJHU.4bc0bcaee780.js.gz +0 -0
- codex/static_root/assets/datetime-column-fbihmJHU.js.br +0 -0
- codex/static_root/assets/datetime-column-fbihmJHU.js.gz +0 -0
- codex/static_root/assets/filter-omb1juiE.60e35137ed78.js.br +0 -0
- codex/static_root/assets/filter-omb1juiE.60e35137ed78.js.gz +0 -0
- codex/static_root/assets/filter-omb1juiE.js.br +0 -0
- codex/static_root/assets/filter-omb1juiE.js.gz +0 -0
- codex/static_root/assets/flag-tab-DMgtpnoL.026603d5e10f.js.br +0 -0
- codex/static_root/assets/flag-tab-DMgtpnoL.026603d5e10f.js.gz +0 -0
- codex/static_root/assets/flag-tab-DMgtpnoL.js.br +0 -0
- codex/static_root/assets/flag-tab-DMgtpnoL.js.gz +0 -0
- codex/static_root/assets/group-tab-ChO_Opmg.310104b14401.js.br +0 -0
- codex/static_root/assets/group-tab-ChO_Opmg.310104b14401.js.gz +0 -0
- codex/static_root/assets/group-tab-ChO_Opmg.js.br +0 -0
- codex/static_root/assets/group-tab-ChO_Opmg.js.gz +0 -0
- codex/static_root/assets/http-error-C23KyICQ.abef3d8f559f.js.br +0 -0
- codex/static_root/assets/http-error-C23KyICQ.abef3d8f559f.js.gz +0 -0
- codex/static_root/assets/http-error-C23KyICQ.js.br +0 -0
- codex/static_root/assets/http-error-C23KyICQ.js.gz +0 -0
- codex/static_root/assets/library-tab-DrLWFLoD.6c7ef6d70145.js.br +0 -0
- codex/static_root/assets/library-tab-DrLWFLoD.6c7ef6d70145.js.gz +0 -0
- codex/static_root/assets/library-tab-DrLWFLoD.js.br +0 -0
- codex/static_root/assets/library-tab-DrLWFLoD.js.gz +0 -0
- codex/static_root/assets/main-BgbJsukE.7cf51b816bdc.js.br +0 -0
- codex/static_root/assets/main-BgbJsukE.7cf51b816bdc.js.gz +0 -0
- codex/static_root/assets/main-BgbJsukE.js.br +0 -0
- codex/static_root/assets/main-BgbJsukE.js.gz +0 -0
- codex/static_root/assets/metadata-dialog-BtNY_zfF.22c1b81402ef.js.br +0 -0
- codex/static_root/assets/metadata-dialog-BtNY_zfF.22c1b81402ef.js.gz +0 -0
- codex/static_root/assets/metadata-dialog-BtNY_zfF.js.br +0 -0
- codex/static_root/assets/metadata-dialog-BtNY_zfF.js.gz +0 -0
- codex/static_root/assets/pdf-doc-CIsTX0uM.6ab3c037f453.js.br +0 -0
- codex/static_root/assets/pdf-doc-CIsTX0uM.6ab3c037f453.js.gz +0 -0
- codex/static_root/assets/pdf-doc-CIsTX0uM.js.br +0 -0
- codex/static_root/assets/pdf-doc-CIsTX0uM.js.gz +0 -0
- codex/static_root/assets/reader-CNqxQvt9.8dc98a69b850.js.br +0 -0
- codex/static_root/assets/reader-CNqxQvt9.8dc98a69b850.js.gz +0 -0
- codex/static_root/assets/reader-CNqxQvt9.js.br +0 -0
- codex/static_root/assets/reader-CNqxQvt9.js.gz +0 -0
- codex/static_root/assets/stats-tab-CoaUKmOP.bec3968f1626.js.br +0 -0
- codex/static_root/assets/stats-tab-CoaUKmOP.bec3968f1626.js.gz +0 -0
- codex/static_root/assets/stats-tab-CoaUKmOP.js.br +0 -0
- codex/static_root/assets/stats-tab-CoaUKmOP.js.gz +0 -0
- codex/static_root/assets/task-tab-Chc8Xt1f.cfc054dc04c9.js.br +0 -0
- codex/static_root/assets/task-tab-Chc8Xt1f.cfc054dc04c9.js.gz +0 -0
- codex/static_root/assets/task-tab-Chc8Xt1f.js.br +0 -0
- codex/static_root/assets/task-tab-Chc8Xt1f.js.gz +0 -0
- codex/static_root/assets/user-tab-DH1Xzfcb.99bb9c50aa13.js.br +0 -0
- codex/static_root/assets/user-tab-DH1Xzfcb.99bb9c50aa13.js.gz +0 -0
- codex/static_root/assets/user-tab-DH1Xzfcb.js.br +0 -0
- codex/static_root/assets/user-tab-DH1Xzfcb.js.gz +0 -0
- codex/static_root/manifest.3751733856af.json.br +0 -0
- codex/static_root/manifest.3751733856af.json.gz +0 -0
- {codex-1.5.11.dist-info → codex-1.5.12.dist-info}/LICENSE +0 -0
- {codex-1.5.11.dist-info → codex-1.5.12.dist-info}/WHEEL +0 -0
- {codex-1.5.11.dist-info → codex-1.5.12.dist-info}/entry_points.txt +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as c,O as d,P as r,Q as i,R as p,aD as t,ae as a,L as _,aH as u,aI as l}from"./admin-drawer-panel-
|
|
1
|
+
import{_ as c,O as d,P as r,Q as i,R as p,aD as t,ae as a,L as _,aH as u,aI as l}from"./admin-drawer-panel-CEiEnUcn.js";import{V as h}from"./VMain-BR4DrMy3.js";import"./main-Dr7xEc75.js";const n={400:"Bad Request",403:"Forbidden",404:"Page Not Found",500:"Server Error"};Object.freeze(n);const m={name:"HttpError",data(){return{}},computed:{code:function(){return+this.$route.params.code},title:function(){let e=n[this.code];return e||(e="Unknown Error"),e}}},f=e=>(u("data-v-e215aa2c"),e=e(),l(),e),k={id:"httpCode"},I={id:"title"},S=f(()=>t("h2",null,"Codex Home",-1));function x(e,E,v,B,C,o){const s=i("router-link");return p(),d(h,{id:"main"},{default:r(()=>[t("h1",k,a(o.code),1),t("h1",I,a(o.title),1),_(s,{id:"link",to:{name:"home"}},{default:r(()=>[S]),_:1})]),_:1})}const N=c(m,[["render",x],["__scopeId","data-v-e215aa2c"]]);export{N as default};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
X �ʜ��ye�t�n��Q����
|
|
2
|
+
�ڠ��T���GZ�+c�]�k���P�������<<?~����E�$zd�[2��` �]�rZ!|c���X/���@P\�_�^�����ˣ��ѝ��A�S:<���v>�b�u{ݕngI_i�ܕ�d��]�7�7��X(dQ�VBtXY��ec��w�ߔ!~�����TM��t����x.���qzˢ����C�0e�k<�Oe8�:r7��w�n2���Ia$a����rL�>%��)��O��U�+I��
|
|
3
|
+
(c�R��19�/�~ �'���T,0e%0�Ǒg�P�eq�)2��d����^����h�a�`�!��:$��Bت�k�
|
|
4
|
+
e���"�ȵ�F��ȍ�?]���b��I�V�Q+k
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as L}from"./confirm-dialog-BfSatKsS.js";import{A as Q,a as X,b as J,_ as z,V as Z}from"./VDataTableVirtual-CeSA4IqW.js";import{cp as ee,a$ as $,M as w,t as f,a9 as te,_ as k,Q as b,R as c,ay as _,L as l,P as s,aD as r,ae as g,O as V,aa as d,ad as T,aB as A,al as B,az as oe,aH as j,aI as N,am as P,k as x,N as v,ag as le,aX as re,cq as se,cr as ae,aC as ie,b5 as ne,c9 as de,ab as me}from"./admin-drawer-panel-CYYEXqtK.js";import{D as W}from"./datetime-column-fbihmJHU.js";import{V as D,a as E,b as R,c as O}from"./VExpansionPanel-D2KdJaNN.js";import{V as ue}from"./VTable-Ca3_Vvv_.js";import{a as pe}from"./VSlideGroup-Bm-rZo-p.js";import{a as S,u as ce}from"./main-BgbJsukE.js";import{V as he}from"./VCombobox-WMKXQHU8.js";import{V as I}from"./VCheckbox-DILNxNH0.js";import{V as U}from"./VCheckboxBtn-BvTV50hB.js";import"./confirm-footer-lfG418fS.js";import"./VSelect-CiEBG4Gg.js";import"./VSelectionControl-BG0YEK9P.js";import"./filter-omb1juiE.js";const fe={name:"AdminFailedImportsPanel",components:{DateTimeColumn:W},data(){return{mdiBookAlert:ee,mdiOpenInNew:$}},computed:{...w(f,["failedImports"]),...te(f,["unseenFailedImports"])},created(){this.unseenFailedImports=!0}},y=e=>(j("data-v-bc6470a2"),e=e(),N(),e),be={key:0,id:"failedImports"},_e=y(()=>r("thead",null,[r("tr",null,[r("th",null,"Path"),r("th",null,"Created")])],-1)),ye={class:"dateCol"},ge=y(()=>r("h4",null,"Failed Imports Help",-1)),we=y(()=>r("p",null," These are Comic archives that have failed to import. This list is updated every time the library updates. You should probably review these files and fix or remove them. ",-1)),ke=y(()=>r("h4",null,"Fixing comics",-1)),Fe=y(()=>r("p",null,[d(" Try using the zip fixer to fix comics: "),r("code",{class:"cli"},[d(" cp problem-comic.cbz /somewhere/safe/problem-comic.cbz.backup"),r("br"),d(" zip -F problem-comic.cbz --out fixed.zip"),r("br"),d(" mv fixed.zip problem-comic.cbz ")]),d(" You may also try "),r("code",null,"zip -FF"),d(" to fix comics which uses a different (not necissarily better) algorithm. If you fix some imports, and Codex does not immediately detect the change, poll the library which contains the fixed comics. ")],-1)),ve=y(()=>r("h4",null,"Reporting Issues",-1)),Pe={href:"https://github.com/ajslater/codex/issues/",target:"_blank"},Ie=y(()=>r("code",null,"config/logs/codex.log",-1));function Ce(e,t,m,h,o,u){const i=b("DateTimeColumn");return e.failedImports&&e.failedImports.length>0?(c(),_("div",be,[l(O,null,{default:s(()=>[l(D,{id:"failedImportsPanel",onClick:t[0]||(t[0]=p=>e.unseenFailedImports=!1)},{default:s(()=>[l(E,null,{default:s(()=>[r("h4",null,"Failed Imports: "+g(e.failedImports.length),1),e.unseenFailedImports?(c(),V(T,{key:0,id:"failedImportsIcon",title:"New Failed Imports"},{default:s(()=>[d(g(o.mdiBookAlert),1)]),_:1})):A("",!0)]),_:1}),l(R,null,{default:s(()=>[l(ue,{class:"highlight-table"},{default:s(()=>[_e,r("tbody",null,[(c(!0),_(B,null,oe(e.failedImports,p=>(c(),_("tr",{key:`fi:${p.path}`},[r("td",null,g(p.path),1),r("td",ye,[l(i,{dttm:p.createdAt},null,8,["dttm"])])]))),128))])]),_:1}),l(O,null,{default:s(()=>[l(D,{id:"failedImportsHelp"},{default:s(()=>[l(E,null,{default:s(()=>[ge]),_:1}),l(R,null,{default:s(()=>[we,ke,Fe,ve,r("p",null,[d(" If the comic looks good to you, but still shows up as a failed import, it might be Codex's fault for not importing it correctly. Please file an "),r("a",Pe,[d("Issue Report"),l(T,{size:"small"},{default:s(()=>[d(g(o.mdiOpenInNew),1)]),_:1})]),d(" and include the stack trace from the logs at "),Ie,d(" if you can. ")])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})])):A("",!0)}const Ve=k(fe,[["render",Ce],["__scopeId","data-v-bc6470a2"]]),Te={name:"TimeTextField",data(){return{FORMAT:"DDD HH:mm:SS",timeRules:[e=>/^(\d{1,3} )?([01]\d|2[0-3]):([0-5]\d):([0-5]\d)$/.test(e)||`Invalid time format ${this.FORMAT}`]}}};function Ae(e,t,m,h,o,u){return c(),V(pe,P({ref:"timeField",density:"compact",filled:"",hint:o.FORMAT,round:"",rules:o.timeRules},e.$attrs),null,16,["hint","rules"])}const K=k(Te,[["render",Ae]]),xe={name:"AdminServerFolderPicker",emits:["change","menu"],data(){return{path:"",originalPath:"",showHidden:!1,menuOpen:!1}},computed:{...w(f,{folders:e=>e.folderPicker.folders,rootFolder:e=>e.folderPicker.rootFolder}),...w(x,{formErrors:e=>e.form.errors}),appendOuterIcon(){return this.showHidden?this.mdiFolderHidden:this.mdiFolderOutline},showHiddenTooltipPrefix(){return this.showHidden?"Hide":"Show"}},watch:{menuOpen(e){e&&this.$emit("menu",e)}},created(){this.loadFolders().then(()=>(this.path=this.rootFolder,this.originalPath=this.rootFolder,!0)).catch(console.warn)},methods:{...v(f,["clearFolders","loadFolders"]),...v(x,["clearErrors"]),change(e){const t=e?e.startsWith("/")||e.startsWith("\\")?e:[this.rootFolder,e].join("/"):this.rootFolder,m=this.menuOpen;this.clearErrors(),this.loadFolders(t,this.showHidden).then(()=>{this.menuOpen=m;let h="";return this.formErrors.length===0&&(this.path=h=this.rootFolder),this.$emit("change",h)}).catch(console.warn)},onBlur(){this.menuOpen=!1,this.change(this.path)},onClear(){this.clearFolders(this.orignalPath).then(()=>this.change(this.orginalPath)).catch(console.error)},onKeyDownEnter(){this.change(this.path)},onItemClick(e){this.change(e)}}},De={id:"folderPicker"};function Ee(e,t,m,h,o,u){return c(),_("div",De,[l(he,P({modelValue:o.path,"onUpdate:modelValue":t[0]||(t[0]=i=>o.path=i),menu:o.menuOpen,"onUpdate:menu":t[1]||(t[1]=i=>o.menuOpen=i)},e.$attrs,{"aria-label":"Library folder",clearable:"","error-messages":e.formErrors,"full-width":"","hide-details":"auto",items:e.folders,"menu-props":{maxHeight:"370px"},"validate-on":"blur",variant:"filled",onBlur:u.onBlur,"onClick:clear":u.onClear,onKeydown:re(u.onKeyDownEnter,["enter"])}),{item:s(({item:i,props:p})=>[l(le,P(p,{title:i.title,value:i.value,onClick:F=>u.onItemClick(i.value)}),null,16,["title","value","onClick"])]),_:1},16,["modelValue","menu","error-messages","items","onBlur","onClick:clear","onKeydown"]),l(I,{modelValue:o.showHidden,"onUpdate:modelValue":t[2]||(t[2]=i=>o.showHidden=i),density:"compact",class:"showHidden","hide-details":"auto",label:"Show Hidden Folders"},null,8,["modelValue"])])}const Re=k(xe,[["render",Ee],["__scopeId","data-v-3cf2705f"]]),M=["events","poll","pollEvery","groups"];Object.freeze(M);const C={path:"",events:!0,poll:!0,pollEvery:"01:00:00",groups:[]};Object.freeze(C);const H=(e,t)=>(e=e.replaceAll("\\","/"),t=t.replaceAll("\\","/"),e.endsWith("/")||(e+="/"),t.endsWith("/")||(t+="/"),t.startsWith(e)),Oe={name:"AdminLibraryCreateUpdateInputs",components:{AdminRelationPicker:Q,AdminServerFolderPicker:Re,TimeTextField:K},props:{oldRow:{type:[Object,Boolean],default:!1}},emits:["change"],data(){return{rules:{path:[e=>!!e||"Path is required",e=>{if(!e)return!1;for(const t of this.paths){if(H(t,e))return"Path is a child of an existing library";if(H(e,t))return"Path is a parent of an existing library"}return!0}]},row:S.cloneDeep(this.oldRow||C)}},computed:{...w(f,{groups:e=>e.groups,libraries:e=>e.libraries}),paths(){return this.nameSet(this.libraries,"path",this.oldRow,!1)}},watch:{row:{handler(e){this.$emit("change",e)},deep:!0},oldRow:{handler(e){this.row=S.cloneDeep(e)},deep:!0}},methods:{...v(f,["nameSet"])},UPDATE_KEYS:M,EMPTY_ROW:C},Se={key:1};function Ue(e,t,m,h,o,u){const i=b("AdminServerFolderPicker"),p=K,F=b("AdminRelationPicker");return c(),_(B,null,[m.oldRow?(c(),_("div",Se,g(m.oldRow.path),1)):(c(),V(i,{key:0,rules:o.rules.path,autofocus:"",label:"Library Folder",onChange:t[0]||(t[0]=n=>o.row.path=n)},null,8,["rules"])),l(I,{modelValue:o.row.events,"onUpdate:modelValue":t[1]||(t[1]=n=>o.row.events=n),"hide-details":"auto",hint:"Update Codex instantly when the filesystem changes",label:"Watch Filesystem Events","persistent-hint":!0},null,8,["modelValue"]),l(I,{modelValue:o.row.poll,"onUpdate:modelValue":t[2]||(t[2]=n=>o.row.poll=n),label:"Poll Filesystem Periodically","hide-details":"auto",hint:"Periodically poll the library for changes","persistent-hint":!0},null,8,["modelValue"]),l(p,{modelValue:o.row.pollEvery,"onUpdate:modelValue":t[3]||(t[3]=n=>o.row.pollEvery=n),label:"Poll Every",disabled:!o.row.poll},null,8,["modelValue","disabled"]),l(F,{modelValue:o.row.groups,"onUpdate:modelValue":t[4]||(t[4]=n=>o.row.groups=n),label:"Groups",objs:e.groups,"group-type":"","title-key":"name"},null,8,["modelValue","objs"])],64)}const He=k(Oe,[["render",Ue]]),Le={name:"AdminLibrariesTab",components:{AdminDeleteRowDialog:X,AdminFailedImportsPanel:Ve,AdminCreateUpdateDialog:J,RelationChips:z,ConfirmDialog:L,DateTimeColumn:W},data(){return{lastUpdate:{pk:0,field:void 0},mdiDatabaseClockOutline:se,mdiDatabaseSyncOutline:ae,mdiOpenInNew:$,AdminLibraryCreateUpdateInputs:ie(He),headers:[{title:"Path",key:"path",align:"start"},{title:"Watch File Events",key:"events"},{title:"Poll Files Periodically",key:"poll"},{title:"Poll Every",key:"pollEvery"},{title:"Last Poll",key:"lastPoll"},{title:"Groups",key:"groups"},{title:"Actions",key:"actions",sortable:!1}]}},computed:{...w(f,{groups:e=>e.groups,libraries:e=>e.libraries,formErrors:e=>e.form.errors}),...w(ce,{twentyFourHourTime:e=>e.settings.twentyFourHourTime})},mounted(){this.loadTables(["Group","Library","FailedImport"])},methods:{...v(f,["updateRow","clearErrors","librarianTask","loadTables"]),formatDateTime:e=>e?ne(e,(void 0).twentyFourHourTime):"",changeCol(e,t,m){this.lastUpdate.pk=e,this.lastUpdate.field=t;const h={[t]:m};this.updateRow("Library",e,h)},getFormErrors(e,t){if(e===this.lastUpdate.pk&&t===this.lastUpdate.field)return this.formErrors},poll(e){this.librarianTask("poll",`Poll Library ${e}`,e)},forcePoll(e){this.librarianTask("poll_force",`Force Poll Library ${e}`,e)}}},ze=e=>(j("data-v-4107b305"),e=e(),N(),e),$e={class:"tabHeader"},Be=ze(()=>r("td",{class:"adminNoData",colspan:"100%"}," Add a Library to start using Codex ",-1));function je(e,t,m,h,o,u){const i=b("AdminCreateUpdateDialog"),p=b("DateTimeColumn"),F=z,n=L,Y=b("AdminDeleteRowDialog"),G=b("AdminFailedImportsPanel");return c(),_("div",null,[r("header",$e,[l(i,{table:"Library",inputs:o.AdminLibraryCreateUpdateInputs},null,8,["inputs"])]),l(Z,{class:"adminTable","fixed-header":"","item-value":"pk",headers:o.headers,items:e.libraries,"sort-by":[{key:"path",order:"asc"}]},{"no-data":s(()=>[Be]),"item.events":s(({item:a})=>[l(U,{"model-value":a.events,disabled:""},null,8,["model-value"])]),"item.poll":s(({item:a})=>[l(U,{"model-value":a.poll,disabled:""},null,8,["model-value"])]),"item.pollEvery":s(({item:a})=>[r("span",{class:me({disabled:!a.poll})},g(a.pollEvery),3)]),"item.lastPoll":s(({item:a})=>[l(p,{dttm:a.lastPoll},null,8,["dttm"])]),"item.groups":s(({item:a})=>[l(F,{pks:a.groups,objs:e.groups,"group-type":"","title-key":"name"},null,8,["pks","objs"])]),"item.actions":s(({item:a})=>[l(n,{icon:o.mdiDatabaseClockOutline,"title-text":"Poll for updated comics","object-name":a.path,"confirm-text":"Poll Library",size:"small",density:"compact",onConfirm:q=>u.poll(a.pk)},null,8,["icon","object-name","onConfirm"]),l(n,{icon:o.mdiDatabaseSyncOutline,"title-text":"Force update every comic","object-name":a.path,"confirm-text":"Force Update",size:"small",density:"compact",onConfirm:q=>u.forcePoll(a.pk)},null,8,["icon","object-name","onConfirm"]),l(i,{table:"Library","old-row":a,inputs:o.AdminLibraryCreateUpdateInputs,"max-width":"22em",size:"small",density:"compact"},null,8,["old-row","inputs"]),l(Y,{table:"Library",pk:a.pk,name:a.path,size:"small",density:"compact"},null,8,["pk","name"])]),_:2},1032,["headers","items"]),l(de,null,{default:s(()=>[l(G)]),_:1})])}const rt=k(Le,[["render",je],["__scopeId","data-v-4107b305"]]);export{rt as default};
|
|
1
|
+
import{_ as L}from"./confirm-dialog-CvURjaTY.js";import{A as Q,a as X,b as J,_ as z,V as Z}from"./VDataTableVirtual-BgFOSn9_.js";import{cp as ee,a$ as $,M as w,t as f,a9 as te,_ as k,Q as b,R as c,ay as _,L as l,P as s,aD as r,ae as g,O as V,aa as d,ad as T,aB as A,al as B,az as oe,aH as j,aI as N,am as P,k as x,N as v,ag as le,aX as re,cq as se,cr as ae,aC as ie,b5 as ne,c9 as de,ab as me}from"./admin-drawer-panel-CEiEnUcn.js";import{D as W}from"./datetime-column-CDcOr8sM.js";import{V as D,a as E,b as R,c as O}from"./VExpansionPanel-B06inlZY.js";import{V as ue}from"./VTable-Pq4fCfUx.js";import{a as pe}from"./VSlideGroup-F7Hpcms9.js";import{a as S,u as ce}from"./main-Dr7xEc75.js";import{V as he}from"./VCombobox-Dw57vrly.js";import{V as I}from"./VCheckbox-CC74mhfV.js";import{V as U}from"./VCheckboxBtn-F27UKlAX.js";import"./confirm-footer-C-VAfuKA.js";import"./VSelect-5wraBYHV.js";import"./VSelectionControl-B1zPb_Yg.js";import"./filter-DT8MlNGw.js";const fe={name:"AdminFailedImportsPanel",components:{DateTimeColumn:W},data(){return{mdiBookAlert:ee,mdiOpenInNew:$}},computed:{...w(f,["failedImports"]),...te(f,["unseenFailedImports"])},created(){this.unseenFailedImports=!0}},y=e=>(j("data-v-bc6470a2"),e=e(),N(),e),be={key:0,id:"failedImports"},_e=y(()=>r("thead",null,[r("tr",null,[r("th",null,"Path"),r("th",null,"Created")])],-1)),ye={class:"dateCol"},ge=y(()=>r("h4",null,"Failed Imports Help",-1)),we=y(()=>r("p",null," These are Comic archives that have failed to import. This list is updated every time the library updates. You should probably review these files and fix or remove them. ",-1)),ke=y(()=>r("h4",null,"Fixing comics",-1)),Fe=y(()=>r("p",null,[d(" Try using the zip fixer to fix comics: "),r("code",{class:"cli"},[d(" cp problem-comic.cbz /somewhere/safe/problem-comic.cbz.backup"),r("br"),d(" zip -F problem-comic.cbz --out fixed.zip"),r("br"),d(" mv fixed.zip problem-comic.cbz ")]),d(" You may also try "),r("code",null,"zip -FF"),d(" to fix comics which uses a different (not necissarily better) algorithm. If you fix some imports, and Codex does not immediately detect the change, poll the library which contains the fixed comics. ")],-1)),ve=y(()=>r("h4",null,"Reporting Issues",-1)),Pe={href:"https://github.com/ajslater/codex/issues/",target:"_blank"},Ie=y(()=>r("code",null,"config/logs/codex.log",-1));function Ce(e,t,m,h,o,u){const i=b("DateTimeColumn");return e.failedImports&&e.failedImports.length>0?(c(),_("div",be,[l(O,null,{default:s(()=>[l(D,{id:"failedImportsPanel",onClick:t[0]||(t[0]=p=>e.unseenFailedImports=!1)},{default:s(()=>[l(E,null,{default:s(()=>[r("h4",null,"Failed Imports: "+g(e.failedImports.length),1),e.unseenFailedImports?(c(),V(T,{key:0,id:"failedImportsIcon",title:"New Failed Imports"},{default:s(()=>[d(g(o.mdiBookAlert),1)]),_:1})):A("",!0)]),_:1}),l(R,null,{default:s(()=>[l(ue,{class:"highlight-table"},{default:s(()=>[_e,r("tbody",null,[(c(!0),_(B,null,oe(e.failedImports,p=>(c(),_("tr",{key:`fi:${p.path}`},[r("td",null,g(p.path),1),r("td",ye,[l(i,{dttm:p.createdAt},null,8,["dttm"])])]))),128))])]),_:1}),l(O,null,{default:s(()=>[l(D,{id:"failedImportsHelp"},{default:s(()=>[l(E,null,{default:s(()=>[ge]),_:1}),l(R,null,{default:s(()=>[we,ke,Fe,ve,r("p",null,[d(" If the comic looks good to you, but still shows up as a failed import, it might be Codex's fault for not importing it correctly. Please file an "),r("a",Pe,[d("Issue Report"),l(T,{size:"small"},{default:s(()=>[d(g(o.mdiOpenInNew),1)]),_:1})]),d(" and include the stack trace from the logs at "),Ie,d(" if you can. ")])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})])):A("",!0)}const Ve=k(fe,[["render",Ce],["__scopeId","data-v-bc6470a2"]]),Te={name:"TimeTextField",data(){return{FORMAT:"DDD HH:mm:SS",timeRules:[e=>/^(\d{1,3} )?([01]\d|2[0-3]):([0-5]\d):([0-5]\d)$/.test(e)||`Invalid time format ${this.FORMAT}`]}}};function Ae(e,t,m,h,o,u){return c(),V(pe,P({ref:"timeField",density:"compact",filled:"",hint:o.FORMAT,round:"",rules:o.timeRules},e.$attrs),null,16,["hint","rules"])}const K=k(Te,[["render",Ae]]),xe={name:"AdminServerFolderPicker",emits:["change","menu"],data(){return{path:"",originalPath:"",showHidden:!1,menuOpen:!1}},computed:{...w(f,{folders:e=>e.folderPicker.folders,rootFolder:e=>e.folderPicker.rootFolder}),...w(x,{formErrors:e=>e.form.errors}),appendOuterIcon(){return this.showHidden?this.mdiFolderHidden:this.mdiFolderOutline},showHiddenTooltipPrefix(){return this.showHidden?"Hide":"Show"}},watch:{menuOpen(e){e&&this.$emit("menu",e)}},created(){this.loadFolders().then(()=>(this.path=this.rootFolder,this.originalPath=this.rootFolder,!0)).catch(console.warn)},methods:{...v(f,["clearFolders","loadFolders"]),...v(x,["clearErrors"]),change(e){const t=e?e.startsWith("/")||e.startsWith("\\")?e:[this.rootFolder,e].join("/"):this.rootFolder,m=this.menuOpen;this.clearErrors(),this.loadFolders(t,this.showHidden).then(()=>{this.menuOpen=m;let h="";return this.formErrors.length===0&&(this.path=h=this.rootFolder),this.$emit("change",h)}).catch(console.warn)},onBlur(){this.menuOpen=!1,this.change(this.path)},onClear(){this.clearFolders(this.orignalPath).then(()=>this.change(this.orginalPath)).catch(console.error)},onKeyDownEnter(){this.change(this.path)},onItemClick(e){this.change(e)}}},De={id:"folderPicker"};function Ee(e,t,m,h,o,u){return c(),_("div",De,[l(he,P({modelValue:o.path,"onUpdate:modelValue":t[0]||(t[0]=i=>o.path=i),menu:o.menuOpen,"onUpdate:menu":t[1]||(t[1]=i=>o.menuOpen=i)},e.$attrs,{"aria-label":"Library folder",clearable:"","error-messages":e.formErrors,"full-width":"","hide-details":"auto",items:e.folders,"menu-props":{maxHeight:"370px"},"validate-on":"blur",variant:"filled",onBlur:u.onBlur,"onClick:clear":u.onClear,onKeydown:re(u.onKeyDownEnter,["enter"])}),{item:s(({item:i,props:p})=>[l(le,P(p,{title:i.title,value:i.value,onClick:F=>u.onItemClick(i.value)}),null,16,["title","value","onClick"])]),_:1},16,["modelValue","menu","error-messages","items","onBlur","onClick:clear","onKeydown"]),l(I,{modelValue:o.showHidden,"onUpdate:modelValue":t[2]||(t[2]=i=>o.showHidden=i),density:"compact",class:"showHidden","hide-details":"auto",label:"Show Hidden Folders"},null,8,["modelValue"])])}const Re=k(xe,[["render",Ee],["__scopeId","data-v-3cf2705f"]]),M=["events","poll","pollEvery","groups"];Object.freeze(M);const C={path:"",events:!0,poll:!0,pollEvery:"01:00:00",groups:[]};Object.freeze(C);const H=(e,t)=>(e=e.replaceAll("\\","/"),t=t.replaceAll("\\","/"),e.endsWith("/")||(e+="/"),t.endsWith("/")||(t+="/"),t.startsWith(e)),Oe={name:"AdminLibraryCreateUpdateInputs",components:{AdminRelationPicker:Q,AdminServerFolderPicker:Re,TimeTextField:K},props:{oldRow:{type:[Object,Boolean],default:!1}},emits:["change"],data(){return{rules:{path:[e=>!!e||"Path is required",e=>{if(!e)return!1;for(const t of this.paths){if(H(t,e))return"Path is a child of an existing library";if(H(e,t))return"Path is a parent of an existing library"}return!0}]},row:S.cloneDeep(this.oldRow||C)}},computed:{...w(f,{groups:e=>e.groups,libraries:e=>e.libraries}),paths(){return this.nameSet(this.libraries,"path",this.oldRow,!1)}},watch:{row:{handler(e){this.$emit("change",e)},deep:!0},oldRow:{handler(e){this.row=S.cloneDeep(e)},deep:!0}},methods:{...v(f,["nameSet"])},UPDATE_KEYS:M,EMPTY_ROW:C},Se={key:1};function Ue(e,t,m,h,o,u){const i=b("AdminServerFolderPicker"),p=K,F=b("AdminRelationPicker");return c(),_(B,null,[m.oldRow?(c(),_("div",Se,g(m.oldRow.path),1)):(c(),V(i,{key:0,rules:o.rules.path,autofocus:"",label:"Library Folder",onChange:t[0]||(t[0]=n=>o.row.path=n)},null,8,["rules"])),l(I,{modelValue:o.row.events,"onUpdate:modelValue":t[1]||(t[1]=n=>o.row.events=n),"hide-details":"auto",hint:"Update Codex instantly when the filesystem changes",label:"Watch Filesystem Events","persistent-hint":!0},null,8,["modelValue"]),l(I,{modelValue:o.row.poll,"onUpdate:modelValue":t[2]||(t[2]=n=>o.row.poll=n),label:"Poll Filesystem Periodically","hide-details":"auto",hint:"Periodically poll the library for changes","persistent-hint":!0},null,8,["modelValue"]),l(p,{modelValue:o.row.pollEvery,"onUpdate:modelValue":t[3]||(t[3]=n=>o.row.pollEvery=n),label:"Poll Every",disabled:!o.row.poll},null,8,["modelValue","disabled"]),l(F,{modelValue:o.row.groups,"onUpdate:modelValue":t[4]||(t[4]=n=>o.row.groups=n),label:"Groups",objs:e.groups,"group-type":"","title-key":"name"},null,8,["modelValue","objs"])],64)}const He=k(Oe,[["render",Ue]]),Le={name:"AdminLibrariesTab",components:{AdminDeleteRowDialog:X,AdminFailedImportsPanel:Ve,AdminCreateUpdateDialog:J,RelationChips:z,ConfirmDialog:L,DateTimeColumn:W},data(){return{lastUpdate:{pk:0,field:void 0},mdiDatabaseClockOutline:se,mdiDatabaseSyncOutline:ae,mdiOpenInNew:$,AdminLibraryCreateUpdateInputs:ie(He),headers:[{title:"Path",key:"path",align:"start"},{title:"Watch File Events",key:"events"},{title:"Poll Files Periodically",key:"poll"},{title:"Poll Every",key:"pollEvery"},{title:"Last Poll",key:"lastPoll"},{title:"Groups",key:"groups"},{title:"Actions",key:"actions",sortable:!1}]}},computed:{...w(f,{groups:e=>e.groups,libraries:e=>e.libraries,formErrors:e=>e.form.errors}),...w(ce,{twentyFourHourTime:e=>e.settings.twentyFourHourTime})},mounted(){this.loadTables(["Group","Library","FailedImport"])},methods:{...v(f,["updateRow","clearErrors","librarianTask","loadTables"]),formatDateTime:e=>e?ne(e,(void 0).twentyFourHourTime):"",changeCol(e,t,m){this.lastUpdate.pk=e,this.lastUpdate.field=t;const h={[t]:m};this.updateRow("Library",e,h)},getFormErrors(e,t){if(e===this.lastUpdate.pk&&t===this.lastUpdate.field)return this.formErrors},poll(e){this.librarianTask("poll",`Poll Library ${e}`,e)},forcePoll(e){this.librarianTask("poll_force",`Force Poll Library ${e}`,e)}}},ze=e=>(j("data-v-4107b305"),e=e(),N(),e),$e={class:"tabHeader"},Be=ze(()=>r("td",{class:"adminNoData",colspan:"100%"}," Add a Library to start using Codex ",-1));function je(e,t,m,h,o,u){const i=b("AdminCreateUpdateDialog"),p=b("DateTimeColumn"),F=z,n=L,Y=b("AdminDeleteRowDialog"),G=b("AdminFailedImportsPanel");return c(),_("div",null,[r("header",$e,[l(i,{table:"Library",inputs:o.AdminLibraryCreateUpdateInputs},null,8,["inputs"])]),l(Z,{class:"adminTable","fixed-header":"","item-value":"pk",headers:o.headers,items:e.libraries,"sort-by":[{key:"path",order:"asc"}]},{"no-data":s(()=>[Be]),"item.events":s(({item:a})=>[l(U,{"model-value":a.events,disabled:""},null,8,["model-value"])]),"item.poll":s(({item:a})=>[l(U,{"model-value":a.poll,disabled:""},null,8,["model-value"])]),"item.pollEvery":s(({item:a})=>[r("span",{class:me({disabled:!a.poll})},g(a.pollEvery),3)]),"item.lastPoll":s(({item:a})=>[l(p,{dttm:a.lastPoll},null,8,["dttm"])]),"item.groups":s(({item:a})=>[l(F,{pks:a.groups,objs:e.groups,"group-type":"","title-key":"name"},null,8,["pks","objs"])]),"item.actions":s(({item:a})=>[l(n,{icon:o.mdiDatabaseClockOutline,"title-text":"Poll for updated comics","object-name":a.path,"confirm-text":"Poll Library",size:"small",density:"compact",onConfirm:q=>u.poll(a.pk)},null,8,["icon","object-name","onConfirm"]),l(n,{icon:o.mdiDatabaseSyncOutline,"title-text":"Force update every comic","object-name":a.path,"confirm-text":"Force Update",size:"small",density:"compact",onConfirm:q=>u.forcePoll(a.pk)},null,8,["icon","object-name","onConfirm"]),l(i,{table:"Library","old-row":a,inputs:o.AdminLibraryCreateUpdateInputs,"max-width":"22em",size:"small",density:"compact"},null,8,["old-row","inputs"]),l(Y,{table:"Library",pk:a.pk,name:a.path,size:"small",density:"compact"},null,8,["pk","name"])]),_:2},1032,["headers","items"]),l(de,null,{default:s(()=>[l(G)]),_:1})])}const rt=k(Le,[["render",je],["__scopeId","data-v-4107b305"]]);export{rt as default};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as L}from"./confirm-dialog-BfSatKsS.js";import{A as Q,a as X,b as J,_ as z,V as Z}from"./VDataTableVirtual-CeSA4IqW.js";import{cp as ee,a$ as $,M as w,t as f,a9 as te,_ as k,Q as b,R as c,ay as _,L as l,P as s,aD as r,ae as g,O as V,aa as d,ad as T,aB as A,al as B,az as oe,aH as j,aI as N,am as P,k as x,N as v,ag as le,aX as re,cq as se,cr as ae,aC as ie,b5 as ne,c9 as de,ab as me}from"./admin-drawer-panel-CYYEXqtK.js";import{D as W}from"./datetime-column-fbihmJHU.js";import{V as D,a as E,b as R,c as O}from"./VExpansionPanel-D2KdJaNN.js";import{V as ue}from"./VTable-Ca3_Vvv_.js";import{a as pe}from"./VSlideGroup-Bm-rZo-p.js";import{a as S,u as ce}from"./main-BgbJsukE.js";import{V as he}from"./VCombobox-WMKXQHU8.js";import{V as I}from"./VCheckbox-DILNxNH0.js";import{V as U}from"./VCheckboxBtn-BvTV50hB.js";import"./confirm-footer-lfG418fS.js";import"./VSelect-CiEBG4Gg.js";import"./VSelectionControl-BG0YEK9P.js";import"./filter-omb1juiE.js";const fe={name:"AdminFailedImportsPanel",components:{DateTimeColumn:W},data(){return{mdiBookAlert:ee,mdiOpenInNew:$}},computed:{...w(f,["failedImports"]),...te(f,["unseenFailedImports"])},created(){this.unseenFailedImports=!0}},y=e=>(j("data-v-bc6470a2"),e=e(),N(),e),be={key:0,id:"failedImports"},_e=y(()=>r("thead",null,[r("tr",null,[r("th",null,"Path"),r("th",null,"Created")])],-1)),ye={class:"dateCol"},ge=y(()=>r("h4",null,"Failed Imports Help",-1)),we=y(()=>r("p",null," These are Comic archives that have failed to import. This list is updated every time the library updates. You should probably review these files and fix or remove them. ",-1)),ke=y(()=>r("h4",null,"Fixing comics",-1)),Fe=y(()=>r("p",null,[d(" Try using the zip fixer to fix comics: "),r("code",{class:"cli"},[d(" cp problem-comic.cbz /somewhere/safe/problem-comic.cbz.backup"),r("br"),d(" zip -F problem-comic.cbz --out fixed.zip"),r("br"),d(" mv fixed.zip problem-comic.cbz ")]),d(" You may also try "),r("code",null,"zip -FF"),d(" to fix comics which uses a different (not necissarily better) algorithm. If you fix some imports, and Codex does not immediately detect the change, poll the library which contains the fixed comics. ")],-1)),ve=y(()=>r("h4",null,"Reporting Issues",-1)),Pe={href:"https://github.com/ajslater/codex/issues/",target:"_blank"},Ie=y(()=>r("code",null,"config/logs/codex.log",-1));function Ce(e,t,m,h,o,u){const i=b("DateTimeColumn");return e.failedImports&&e.failedImports.length>0?(c(),_("div",be,[l(O,null,{default:s(()=>[l(D,{id:"failedImportsPanel",onClick:t[0]||(t[0]=p=>e.unseenFailedImports=!1)},{default:s(()=>[l(E,null,{default:s(()=>[r("h4",null,"Failed Imports: "+g(e.failedImports.length),1),e.unseenFailedImports?(c(),V(T,{key:0,id:"failedImportsIcon",title:"New Failed Imports"},{default:s(()=>[d(g(o.mdiBookAlert),1)]),_:1})):A("",!0)]),_:1}),l(R,null,{default:s(()=>[l(ue,{class:"highlight-table"},{default:s(()=>[_e,r("tbody",null,[(c(!0),_(B,null,oe(e.failedImports,p=>(c(),_("tr",{key:`fi:${p.path}`},[r("td",null,g(p.path),1),r("td",ye,[l(i,{dttm:p.createdAt},null,8,["dttm"])])]))),128))])]),_:1}),l(O,null,{default:s(()=>[l(D,{id:"failedImportsHelp"},{default:s(()=>[l(E,null,{default:s(()=>[ge]),_:1}),l(R,null,{default:s(()=>[we,ke,Fe,ve,r("p",null,[d(" If the comic looks good to you, but still shows up as a failed import, it might be Codex's fault for not importing it correctly. Please file an "),r("a",Pe,[d("Issue Report"),l(T,{size:"small"},{default:s(()=>[d(g(o.mdiOpenInNew),1)]),_:1})]),d(" and include the stack trace from the logs at "),Ie,d(" if you can. ")])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})])):A("",!0)}const Ve=k(fe,[["render",Ce],["__scopeId","data-v-bc6470a2"]]),Te={name:"TimeTextField",data(){return{FORMAT:"DDD HH:mm:SS",timeRules:[e=>/^(\d{1,3} )?([01]\d|2[0-3]):([0-5]\d):([0-5]\d)$/.test(e)||`Invalid time format ${this.FORMAT}`]}}};function Ae(e,t,m,h,o,u){return c(),V(pe,P({ref:"timeField",density:"compact",filled:"",hint:o.FORMAT,round:"",rules:o.timeRules},e.$attrs),null,16,["hint","rules"])}const K=k(Te,[["render",Ae]]),xe={name:"AdminServerFolderPicker",emits:["change","menu"],data(){return{path:"",originalPath:"",showHidden:!1,menuOpen:!1}},computed:{...w(f,{folders:e=>e.folderPicker.folders,rootFolder:e=>e.folderPicker.rootFolder}),...w(x,{formErrors:e=>e.form.errors}),appendOuterIcon(){return this.showHidden?this.mdiFolderHidden:this.mdiFolderOutline},showHiddenTooltipPrefix(){return this.showHidden?"Hide":"Show"}},watch:{menuOpen(e){e&&this.$emit("menu",e)}},created(){this.loadFolders().then(()=>(this.path=this.rootFolder,this.originalPath=this.rootFolder,!0)).catch(console.warn)},methods:{...v(f,["clearFolders","loadFolders"]),...v(x,["clearErrors"]),change(e){const t=e?e.startsWith("/")||e.startsWith("\\")?e:[this.rootFolder,e].join("/"):this.rootFolder,m=this.menuOpen;this.clearErrors(),this.loadFolders(t,this.showHidden).then(()=>{this.menuOpen=m;let h="";return this.formErrors.length===0&&(this.path=h=this.rootFolder),this.$emit("change",h)}).catch(console.warn)},onBlur(){this.menuOpen=!1,this.change(this.path)},onClear(){this.clearFolders(this.orignalPath).then(()=>this.change(this.orginalPath)).catch(console.error)},onKeyDownEnter(){this.change(this.path)},onItemClick(e){this.change(e)}}},De={id:"folderPicker"};function Ee(e,t,m,h,o,u){return c(),_("div",De,[l(he,P({modelValue:o.path,"onUpdate:modelValue":t[0]||(t[0]=i=>o.path=i),menu:o.menuOpen,"onUpdate:menu":t[1]||(t[1]=i=>o.menuOpen=i)},e.$attrs,{"aria-label":"Library folder",clearable:"","error-messages":e.formErrors,"full-width":"","hide-details":"auto",items:e.folders,"menu-props":{maxHeight:"370px"},"validate-on":"blur",variant:"filled",onBlur:u.onBlur,"onClick:clear":u.onClear,onKeydown:re(u.onKeyDownEnter,["enter"])}),{item:s(({item:i,props:p})=>[l(le,P(p,{title:i.title,value:i.value,onClick:F=>u.onItemClick(i.value)}),null,16,["title","value","onClick"])]),_:1},16,["modelValue","menu","error-messages","items","onBlur","onClick:clear","onKeydown"]),l(I,{modelValue:o.showHidden,"onUpdate:modelValue":t[2]||(t[2]=i=>o.showHidden=i),density:"compact",class:"showHidden","hide-details":"auto",label:"Show Hidden Folders"},null,8,["modelValue"])])}const Re=k(xe,[["render",Ee],["__scopeId","data-v-3cf2705f"]]),M=["events","poll","pollEvery","groups"];Object.freeze(M);const C={path:"",events:!0,poll:!0,pollEvery:"01:00:00",groups:[]};Object.freeze(C);const H=(e,t)=>(e=e.replaceAll("\\","/"),t=t.replaceAll("\\","/"),e.endsWith("/")||(e+="/"),t.endsWith("/")||(t+="/"),t.startsWith(e)),Oe={name:"AdminLibraryCreateUpdateInputs",components:{AdminRelationPicker:Q,AdminServerFolderPicker:Re,TimeTextField:K},props:{oldRow:{type:[Object,Boolean],default:!1}},emits:["change"],data(){return{rules:{path:[e=>!!e||"Path is required",e=>{if(!e)return!1;for(const t of this.paths){if(H(t,e))return"Path is a child of an existing library";if(H(e,t))return"Path is a parent of an existing library"}return!0}]},row:S.cloneDeep(this.oldRow||C)}},computed:{...w(f,{groups:e=>e.groups,libraries:e=>e.libraries}),paths(){return this.nameSet(this.libraries,"path",this.oldRow,!1)}},watch:{row:{handler(e){this.$emit("change",e)},deep:!0},oldRow:{handler(e){this.row=S.cloneDeep(e)},deep:!0}},methods:{...v(f,["nameSet"])},UPDATE_KEYS:M,EMPTY_ROW:C},Se={key:1};function Ue(e,t,m,h,o,u){const i=b("AdminServerFolderPicker"),p=K,F=b("AdminRelationPicker");return c(),_(B,null,[m.oldRow?(c(),_("div",Se,g(m.oldRow.path),1)):(c(),V(i,{key:0,rules:o.rules.path,autofocus:"",label:"Library Folder",onChange:t[0]||(t[0]=n=>o.row.path=n)},null,8,["rules"])),l(I,{modelValue:o.row.events,"onUpdate:modelValue":t[1]||(t[1]=n=>o.row.events=n),"hide-details":"auto",hint:"Update Codex instantly when the filesystem changes",label:"Watch Filesystem Events","persistent-hint":!0},null,8,["modelValue"]),l(I,{modelValue:o.row.poll,"onUpdate:modelValue":t[2]||(t[2]=n=>o.row.poll=n),label:"Poll Filesystem Periodically","hide-details":"auto",hint:"Periodically poll the library for changes","persistent-hint":!0},null,8,["modelValue"]),l(p,{modelValue:o.row.pollEvery,"onUpdate:modelValue":t[3]||(t[3]=n=>o.row.pollEvery=n),label:"Poll Every",disabled:!o.row.poll},null,8,["modelValue","disabled"]),l(F,{modelValue:o.row.groups,"onUpdate:modelValue":t[4]||(t[4]=n=>o.row.groups=n),label:"Groups",objs:e.groups,"group-type":"","title-key":"name"},null,8,["modelValue","objs"])],64)}const He=k(Oe,[["render",Ue]]),Le={name:"AdminLibrariesTab",components:{AdminDeleteRowDialog:X,AdminFailedImportsPanel:Ve,AdminCreateUpdateDialog:J,RelationChips:z,ConfirmDialog:L,DateTimeColumn:W},data(){return{lastUpdate:{pk:0,field:void 0},mdiDatabaseClockOutline:se,mdiDatabaseSyncOutline:ae,mdiOpenInNew:$,AdminLibraryCreateUpdateInputs:ie(He),headers:[{title:"Path",key:"path",align:"start"},{title:"Watch File Events",key:"events"},{title:"Poll Files Periodically",key:"poll"},{title:"Poll Every",key:"pollEvery"},{title:"Last Poll",key:"lastPoll"},{title:"Groups",key:"groups"},{title:"Actions",key:"actions",sortable:!1}]}},computed:{...w(f,{groups:e=>e.groups,libraries:e=>e.libraries,formErrors:e=>e.form.errors}),...w(ce,{twentyFourHourTime:e=>e.settings.twentyFourHourTime})},mounted(){this.loadTables(["Group","Library","FailedImport"])},methods:{...v(f,["updateRow","clearErrors","librarianTask","loadTables"]),formatDateTime:e=>e?ne(e,(void 0).twentyFourHourTime):"",changeCol(e,t,m){this.lastUpdate.pk=e,this.lastUpdate.field=t;const h={[t]:m};this.updateRow("Library",e,h)},getFormErrors(e,t){if(e===this.lastUpdate.pk&&t===this.lastUpdate.field)return this.formErrors},poll(e){this.librarianTask("poll",`Poll Library ${e}`,e)},forcePoll(e){this.librarianTask("poll_force",`Force Poll Library ${e}`,e)}}},ze=e=>(j("data-v-4107b305"),e=e(),N(),e),$e={class:"tabHeader"},Be=ze(()=>r("td",{class:"adminNoData",colspan:"100%"}," Add a Library to start using Codex ",-1));function je(e,t,m,h,o,u){const i=b("AdminCreateUpdateDialog"),p=b("DateTimeColumn"),F=z,n=L,Y=b("AdminDeleteRowDialog"),G=b("AdminFailedImportsPanel");return c(),_("div",null,[r("header",$e,[l(i,{table:"Library",inputs:o.AdminLibraryCreateUpdateInputs},null,8,["inputs"])]),l(Z,{class:"adminTable","fixed-header":"","item-value":"pk",headers:o.headers,items:e.libraries,"sort-by":[{key:"path",order:"asc"}]},{"no-data":s(()=>[Be]),"item.events":s(({item:a})=>[l(U,{"model-value":a.events,disabled:""},null,8,["model-value"])]),"item.poll":s(({item:a})=>[l(U,{"model-value":a.poll,disabled:""},null,8,["model-value"])]),"item.pollEvery":s(({item:a})=>[r("span",{class:me({disabled:!a.poll})},g(a.pollEvery),3)]),"item.lastPoll":s(({item:a})=>[l(p,{dttm:a.lastPoll},null,8,["dttm"])]),"item.groups":s(({item:a})=>[l(F,{pks:a.groups,objs:e.groups,"group-type":"","title-key":"name"},null,8,["pks","objs"])]),"item.actions":s(({item:a})=>[l(n,{icon:o.mdiDatabaseClockOutline,"title-text":"Poll for updated comics","object-name":a.path,"confirm-text":"Poll Library",size:"small",density:"compact",onConfirm:q=>u.poll(a.pk)},null,8,["icon","object-name","onConfirm"]),l(n,{icon:o.mdiDatabaseSyncOutline,"title-text":"Force update every comic","object-name":a.path,"confirm-text":"Force Update",size:"small",density:"compact",onConfirm:q=>u.forcePoll(a.pk)},null,8,["icon","object-name","onConfirm"]),l(i,{table:"Library","old-row":a,inputs:o.AdminLibraryCreateUpdateInputs,"max-width":"22em",size:"small",density:"compact"},null,8,["old-row","inputs"]),l(Y,{table:"Library",pk:a.pk,name:a.path,size:"small",density:"compact"},null,8,["pk","name"])]),_:2},1032,["headers","items"]),l(de,null,{default:s(()=>[l(G)]),_:1})])}const rt=k(Le,[["render",je],["__scopeId","data-v-4107b305"]]);export{rt as default};
|
|
1
|
+
import{_ as L}from"./confirm-dialog-CvURjaTY.js";import{A as Q,a as X,b as J,_ as z,V as Z}from"./VDataTableVirtual-BgFOSn9_.js";import{cp as ee,a$ as $,M as w,t as f,a9 as te,_ as k,Q as b,R as c,ay as _,L as l,P as s,aD as r,ae as g,O as V,aa as d,ad as T,aB as A,al as B,az as oe,aH as j,aI as N,am as P,k as x,N as v,ag as le,aX as re,cq as se,cr as ae,aC as ie,b5 as ne,c9 as de,ab as me}from"./admin-drawer-panel-CEiEnUcn.js";import{D as W}from"./datetime-column-CDcOr8sM.js";import{V as D,a as E,b as R,c as O}from"./VExpansionPanel-B06inlZY.js";import{V as ue}from"./VTable-Pq4fCfUx.js";import{a as pe}from"./VSlideGroup-F7Hpcms9.js";import{a as S,u as ce}from"./main-Dr7xEc75.js";import{V as he}from"./VCombobox-Dw57vrly.js";import{V as I}from"./VCheckbox-CC74mhfV.js";import{V as U}from"./VCheckboxBtn-F27UKlAX.js";import"./confirm-footer-C-VAfuKA.js";import"./VSelect-5wraBYHV.js";import"./VSelectionControl-B1zPb_Yg.js";import"./filter-DT8MlNGw.js";const fe={name:"AdminFailedImportsPanel",components:{DateTimeColumn:W},data(){return{mdiBookAlert:ee,mdiOpenInNew:$}},computed:{...w(f,["failedImports"]),...te(f,["unseenFailedImports"])},created(){this.unseenFailedImports=!0}},y=e=>(j("data-v-bc6470a2"),e=e(),N(),e),be={key:0,id:"failedImports"},_e=y(()=>r("thead",null,[r("tr",null,[r("th",null,"Path"),r("th",null,"Created")])],-1)),ye={class:"dateCol"},ge=y(()=>r("h4",null,"Failed Imports Help",-1)),we=y(()=>r("p",null," These are Comic archives that have failed to import. This list is updated every time the library updates. You should probably review these files and fix or remove them. ",-1)),ke=y(()=>r("h4",null,"Fixing comics",-1)),Fe=y(()=>r("p",null,[d(" Try using the zip fixer to fix comics: "),r("code",{class:"cli"},[d(" cp problem-comic.cbz /somewhere/safe/problem-comic.cbz.backup"),r("br"),d(" zip -F problem-comic.cbz --out fixed.zip"),r("br"),d(" mv fixed.zip problem-comic.cbz ")]),d(" You may also try "),r("code",null,"zip -FF"),d(" to fix comics which uses a different (not necissarily better) algorithm. If you fix some imports, and Codex does not immediately detect the change, poll the library which contains the fixed comics. ")],-1)),ve=y(()=>r("h4",null,"Reporting Issues",-1)),Pe={href:"https://github.com/ajslater/codex/issues/",target:"_blank"},Ie=y(()=>r("code",null,"config/logs/codex.log",-1));function Ce(e,t,m,h,o,u){const i=b("DateTimeColumn");return e.failedImports&&e.failedImports.length>0?(c(),_("div",be,[l(O,null,{default:s(()=>[l(D,{id:"failedImportsPanel",onClick:t[0]||(t[0]=p=>e.unseenFailedImports=!1)},{default:s(()=>[l(E,null,{default:s(()=>[r("h4",null,"Failed Imports: "+g(e.failedImports.length),1),e.unseenFailedImports?(c(),V(T,{key:0,id:"failedImportsIcon",title:"New Failed Imports"},{default:s(()=>[d(g(o.mdiBookAlert),1)]),_:1})):A("",!0)]),_:1}),l(R,null,{default:s(()=>[l(ue,{class:"highlight-table"},{default:s(()=>[_e,r("tbody",null,[(c(!0),_(B,null,oe(e.failedImports,p=>(c(),_("tr",{key:`fi:${p.path}`},[r("td",null,g(p.path),1),r("td",ye,[l(i,{dttm:p.createdAt},null,8,["dttm"])])]))),128))])]),_:1}),l(O,null,{default:s(()=>[l(D,{id:"failedImportsHelp"},{default:s(()=>[l(E,null,{default:s(()=>[ge]),_:1}),l(R,null,{default:s(()=>[we,ke,Fe,ve,r("p",null,[d(" If the comic looks good to you, but still shows up as a failed import, it might be Codex's fault for not importing it correctly. Please file an "),r("a",Pe,[d("Issue Report"),l(T,{size:"small"},{default:s(()=>[d(g(o.mdiOpenInNew),1)]),_:1})]),d(" and include the stack trace from the logs at "),Ie,d(" if you can. ")])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})])):A("",!0)}const Ve=k(fe,[["render",Ce],["__scopeId","data-v-bc6470a2"]]),Te={name:"TimeTextField",data(){return{FORMAT:"DDD HH:mm:SS",timeRules:[e=>/^(\d{1,3} )?([01]\d|2[0-3]):([0-5]\d):([0-5]\d)$/.test(e)||`Invalid time format ${this.FORMAT}`]}}};function Ae(e,t,m,h,o,u){return c(),V(pe,P({ref:"timeField",density:"compact",filled:"",hint:o.FORMAT,round:"",rules:o.timeRules},e.$attrs),null,16,["hint","rules"])}const K=k(Te,[["render",Ae]]),xe={name:"AdminServerFolderPicker",emits:["change","menu"],data(){return{path:"",originalPath:"",showHidden:!1,menuOpen:!1}},computed:{...w(f,{folders:e=>e.folderPicker.folders,rootFolder:e=>e.folderPicker.rootFolder}),...w(x,{formErrors:e=>e.form.errors}),appendOuterIcon(){return this.showHidden?this.mdiFolderHidden:this.mdiFolderOutline},showHiddenTooltipPrefix(){return this.showHidden?"Hide":"Show"}},watch:{menuOpen(e){e&&this.$emit("menu",e)}},created(){this.loadFolders().then(()=>(this.path=this.rootFolder,this.originalPath=this.rootFolder,!0)).catch(console.warn)},methods:{...v(f,["clearFolders","loadFolders"]),...v(x,["clearErrors"]),change(e){const t=e?e.startsWith("/")||e.startsWith("\\")?e:[this.rootFolder,e].join("/"):this.rootFolder,m=this.menuOpen;this.clearErrors(),this.loadFolders(t,this.showHidden).then(()=>{this.menuOpen=m;let h="";return this.formErrors.length===0&&(this.path=h=this.rootFolder),this.$emit("change",h)}).catch(console.warn)},onBlur(){this.menuOpen=!1,this.change(this.path)},onClear(){this.clearFolders(this.orignalPath).then(()=>this.change(this.orginalPath)).catch(console.error)},onKeyDownEnter(){this.change(this.path)},onItemClick(e){this.change(e)}}},De={id:"folderPicker"};function Ee(e,t,m,h,o,u){return c(),_("div",De,[l(he,P({modelValue:o.path,"onUpdate:modelValue":t[0]||(t[0]=i=>o.path=i),menu:o.menuOpen,"onUpdate:menu":t[1]||(t[1]=i=>o.menuOpen=i)},e.$attrs,{"aria-label":"Library folder",clearable:"","error-messages":e.formErrors,"full-width":"","hide-details":"auto",items:e.folders,"menu-props":{maxHeight:"370px"},"validate-on":"blur",variant:"filled",onBlur:u.onBlur,"onClick:clear":u.onClear,onKeydown:re(u.onKeyDownEnter,["enter"])}),{item:s(({item:i,props:p})=>[l(le,P(p,{title:i.title,value:i.value,onClick:F=>u.onItemClick(i.value)}),null,16,["title","value","onClick"])]),_:1},16,["modelValue","menu","error-messages","items","onBlur","onClick:clear","onKeydown"]),l(I,{modelValue:o.showHidden,"onUpdate:modelValue":t[2]||(t[2]=i=>o.showHidden=i),density:"compact",class:"showHidden","hide-details":"auto",label:"Show Hidden Folders"},null,8,["modelValue"])])}const Re=k(xe,[["render",Ee],["__scopeId","data-v-3cf2705f"]]),M=["events","poll","pollEvery","groups"];Object.freeze(M);const C={path:"",events:!0,poll:!0,pollEvery:"01:00:00",groups:[]};Object.freeze(C);const H=(e,t)=>(e=e.replaceAll("\\","/"),t=t.replaceAll("\\","/"),e.endsWith("/")||(e+="/"),t.endsWith("/")||(t+="/"),t.startsWith(e)),Oe={name:"AdminLibraryCreateUpdateInputs",components:{AdminRelationPicker:Q,AdminServerFolderPicker:Re,TimeTextField:K},props:{oldRow:{type:[Object,Boolean],default:!1}},emits:["change"],data(){return{rules:{path:[e=>!!e||"Path is required",e=>{if(!e)return!1;for(const t of this.paths){if(H(t,e))return"Path is a child of an existing library";if(H(e,t))return"Path is a parent of an existing library"}return!0}]},row:S.cloneDeep(this.oldRow||C)}},computed:{...w(f,{groups:e=>e.groups,libraries:e=>e.libraries}),paths(){return this.nameSet(this.libraries,"path",this.oldRow,!1)}},watch:{row:{handler(e){this.$emit("change",e)},deep:!0},oldRow:{handler(e){this.row=S.cloneDeep(e)},deep:!0}},methods:{...v(f,["nameSet"])},UPDATE_KEYS:M,EMPTY_ROW:C},Se={key:1};function Ue(e,t,m,h,o,u){const i=b("AdminServerFolderPicker"),p=K,F=b("AdminRelationPicker");return c(),_(B,null,[m.oldRow?(c(),_("div",Se,g(m.oldRow.path),1)):(c(),V(i,{key:0,rules:o.rules.path,autofocus:"",label:"Library Folder",onChange:t[0]||(t[0]=n=>o.row.path=n)},null,8,["rules"])),l(I,{modelValue:o.row.events,"onUpdate:modelValue":t[1]||(t[1]=n=>o.row.events=n),"hide-details":"auto",hint:"Update Codex instantly when the filesystem changes",label:"Watch Filesystem Events","persistent-hint":!0},null,8,["modelValue"]),l(I,{modelValue:o.row.poll,"onUpdate:modelValue":t[2]||(t[2]=n=>o.row.poll=n),label:"Poll Filesystem Periodically","hide-details":"auto",hint:"Periodically poll the library for changes","persistent-hint":!0},null,8,["modelValue"]),l(p,{modelValue:o.row.pollEvery,"onUpdate:modelValue":t[3]||(t[3]=n=>o.row.pollEvery=n),label:"Poll Every",disabled:!o.row.poll},null,8,["modelValue","disabled"]),l(F,{modelValue:o.row.groups,"onUpdate:modelValue":t[4]||(t[4]=n=>o.row.groups=n),label:"Groups",objs:e.groups,"group-type":"","title-key":"name"},null,8,["modelValue","objs"])],64)}const He=k(Oe,[["render",Ue]]),Le={name:"AdminLibrariesTab",components:{AdminDeleteRowDialog:X,AdminFailedImportsPanel:Ve,AdminCreateUpdateDialog:J,RelationChips:z,ConfirmDialog:L,DateTimeColumn:W},data(){return{lastUpdate:{pk:0,field:void 0},mdiDatabaseClockOutline:se,mdiDatabaseSyncOutline:ae,mdiOpenInNew:$,AdminLibraryCreateUpdateInputs:ie(He),headers:[{title:"Path",key:"path",align:"start"},{title:"Watch File Events",key:"events"},{title:"Poll Files Periodically",key:"poll"},{title:"Poll Every",key:"pollEvery"},{title:"Last Poll",key:"lastPoll"},{title:"Groups",key:"groups"},{title:"Actions",key:"actions",sortable:!1}]}},computed:{...w(f,{groups:e=>e.groups,libraries:e=>e.libraries,formErrors:e=>e.form.errors}),...w(ce,{twentyFourHourTime:e=>e.settings.twentyFourHourTime})},mounted(){this.loadTables(["Group","Library","FailedImport"])},methods:{...v(f,["updateRow","clearErrors","librarianTask","loadTables"]),formatDateTime:e=>e?ne(e,(void 0).twentyFourHourTime):"",changeCol(e,t,m){this.lastUpdate.pk=e,this.lastUpdate.field=t;const h={[t]:m};this.updateRow("Library",e,h)},getFormErrors(e,t){if(e===this.lastUpdate.pk&&t===this.lastUpdate.field)return this.formErrors},poll(e){this.librarianTask("poll",`Poll Library ${e}`,e)},forcePoll(e){this.librarianTask("poll_force",`Force Poll Library ${e}`,e)}}},ze=e=>(j("data-v-4107b305"),e=e(),N(),e),$e={class:"tabHeader"},Be=ze(()=>r("td",{class:"adminNoData",colspan:"100%"}," Add a Library to start using Codex ",-1));function je(e,t,m,h,o,u){const i=b("AdminCreateUpdateDialog"),p=b("DateTimeColumn"),F=z,n=L,Y=b("AdminDeleteRowDialog"),G=b("AdminFailedImportsPanel");return c(),_("div",null,[r("header",$e,[l(i,{table:"Library",inputs:o.AdminLibraryCreateUpdateInputs},null,8,["inputs"])]),l(Z,{class:"adminTable","fixed-header":"","item-value":"pk",headers:o.headers,items:e.libraries,"sort-by":[{key:"path",order:"asc"}]},{"no-data":s(()=>[Be]),"item.events":s(({item:a})=>[l(U,{"model-value":a.events,disabled:""},null,8,["model-value"])]),"item.poll":s(({item:a})=>[l(U,{"model-value":a.poll,disabled:""},null,8,["model-value"])]),"item.pollEvery":s(({item:a})=>[r("span",{class:me({disabled:!a.poll})},g(a.pollEvery),3)]),"item.lastPoll":s(({item:a})=>[l(p,{dttm:a.lastPoll},null,8,["dttm"])]),"item.groups":s(({item:a})=>[l(F,{pks:a.groups,objs:e.groups,"group-type":"","title-key":"name"},null,8,["pks","objs"])]),"item.actions":s(({item:a})=>[l(n,{icon:o.mdiDatabaseClockOutline,"title-text":"Poll for updated comics","object-name":a.path,"confirm-text":"Poll Library",size:"small",density:"compact",onConfirm:q=>u.poll(a.pk)},null,8,["icon","object-name","onConfirm"]),l(n,{icon:o.mdiDatabaseSyncOutline,"title-text":"Force update every comic","object-name":a.path,"confirm-text":"Force Update",size:"small",density:"compact",onConfirm:q=>u.forcePoll(a.pk)},null,8,["icon","object-name","onConfirm"]),l(i,{table:"Library","old-row":a,inputs:o.AdminLibraryCreateUpdateInputs,"max-width":"22em",size:"small",density:"compact"},null,8,["old-row","inputs"]),l(Y,{table:"Library",pk:a.pk,name:a.path,size:"small",density:"compact"},null,8,["pk","name"])]),_:2},1032,["headers","items"]),l(de,null,{default:s(()=>[l(G)]),_:1})])}const rt=k(Le,[["render",je],["__scopeId","data-v-4107b305"]]);export{rt as default};
|
|
Binary file
|
|
Binary file
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
function __vite__mapDeps(indexes) {
|
|
2
2
|
if (!__vite__mapDeps.viteFileDeps) {
|
|
3
|
-
__vite__mapDeps.viteFileDeps = ["assets/admin-
|
|
3
|
+
__vite__mapDeps.viteFileDeps = ["assets/admin-BVkY78tW.js","assets/VToolbar-BFYiqJrS.js","assets/admin-drawer-panel-CEiEnUcn.js","assets/admin-drawer-panel-s72VfDNy.css","assets/index-DUjeNg4x.js","assets/confirm-footer-C-VAfuKA.js","assets/confirm-footer-VFepxcJs.css","assets/change-password-dialog-Bh7raeqK.js","assets/VSlideGroup-F7Hpcms9.js","assets/VSelectionControl-B1zPb_Yg.js","assets/VSelectionControl-BFq--28I.css","assets/VSlideGroup-C3lY91uv.css","assets/change-password-dialog-BRmvkNir.css","assets/VToolbar-BfNszTMd.css","assets/VWindowItem-g6ho7Hf4.js","assets/VWindowItem-ByIod57Y.css","assets/VMain-BR4DrMy3.js","assets/VMain-Byt37V4c.css","assets/admin-Df82-Qcj.css","assets/browser-BYquFWOA.js","assets/metadata-dialog-DFDQ4P3u.js","assets/VSelect-5wraBYHV.js","assets/VCheckboxBtn-F27UKlAX.js","assets/VSelect-BdGop3V2.css","assets/to-case-kUm8NPpW.js","assets/metadata-dialog-BGJasBRy.css","assets/VCombobox-Dw57vrly.js","assets/filter-DT8MlNGw.js","assets/VCombobox-BksEr4D_.css","assets/VTable-Pq4fCfUx.js","assets/VTable-DflzroDq.css","assets/VCheckbox-CC74mhfV.js","assets/VCheckbox-CMKdyl0R.css","assets/confirm-dialog-CvURjaTY.js","assets/confirm-dialog-BmhedLCx.css","assets/browser-2i0QA4La.css","assets/http-error-BKXUvS3w.js","assets/http-error-C25WdjWC.css","assets/reader-Qan6W6n-.js","assets/VRadioGroup-DE0KmC8d.js","assets/VRadioGroup-i2qP9Wu9.css","assets/VExpansionPanel-B06inlZY.js","assets/VExpansionPanel-DsEXVcCv.css","assets/reader-CG6zrLXl.css","assets/flag-tab-BVoz2gvN.js","assets/flag-tab-DUXtbpA2.css","assets/user-tab-Xzi_07Yi.js","assets/VDataTableVirtual-BgFOSn9_.js","assets/VDataTableVirtual-Cbj7IGxa.css","assets/datetime-column-CDcOr8sM.js","assets/datetime-column-BWWfvyhn.css","assets/group-tab-Bu1Hn4DR.js","assets/group-tab-3DXxSetf.css","assets/library-tab-AM2XWHOr.js","assets/library-tab-DZKDtQ5v.css","assets/task-tab-CgR8JqMw.js","assets/task-tab-DoX9OA37.css","assets/stats-tab-Bv3OL9xU.js","assets/stats-tab-BTZLMBCU.css"]
|
|
4
4
|
}
|
|
5
5
|
return indexes.map((i) => __vite__mapDeps.viteFileDeps[i])
|
|
6
6
|
}
|
|
7
|
-
import{n as Xi,v as K1,i as Ot,u as cn,r as to,w as xf,a as Ji,g as Sf,o as Ef,b as bf,c as Lf,s as Cn,d as j1,e as Af,f as Gt,h as Ae,j as Tf,p as nr,H as Dn,k as no,l as wf,m as Ni,q as z1,t as $i,x as uo,y as k1,z as _r,A as Rf,B as Z1,C as Of,D as Y1,E as X1,F as J1,G as Q1,I as _1,J as q1,K as e0,L as Gi,M as Pu,N as t0,_ as n0,O as r0,P as o0,Q as i0,R as s0,S as a0,T as Mu,U as fo,V as ar,W as u0,X as f0,Y as l0,Z as c0,$ as d0,a0 as h0,a1 as p0,a2 as v0,a3 as Du,a4 as Hu,a5 as Fu,a6 as Bu,a7 as g0,a8 as m0}from"./admin-drawer-panel-CYYEXqtK.js";function Ui(s,o={},n){for(const i in s){const u=s[i],f=n?`${n}:${i}`:i;typeof u=="object"&&u!==null?Ui(u,o,f):typeof u=="function"&&(o[f]=u)}return o}const y0={run:s=>s()},x0=()=>y0,If=typeof console.createTask<"u"?console.createTask:x0;function S0(s,o){const n=o.shift(),i=If(n);return s.reduce((u,f)=>u.then(()=>i.run(()=>f(...o))),Promise.resolve())}function E0(s,o){const n=o.shift(),i=If(n);return Promise.all(s.map(u=>i.run(()=>u(...o))))}function Di(s,o){for(const n of[...s])n(o)}class b0{constructor(){this._hooks={},this._before=void 0,this._after=void 0,this._deprecatedMessages=void 0,this._deprecatedHooks={},this.hook=this.hook.bind(this),this.callHook=this.callHook.bind(this),this.callHookWith=this.callHookWith.bind(this)}hook(o,n,i={}){if(!o||typeof n!="function")return()=>{};const u=o;let f;for(;this._deprecatedHooks[o];)f=this._deprecatedHooks[o],o=f.to;if(f&&!i.allowDeprecated){let l=f.message;l||(l=`${u} hook has been deprecated`+(f.to?`, please use ${f.to}`:"")),this._deprecatedMessages||(this._deprecatedMessages=new Set),this._deprecatedMessages.has(l)||(console.warn(l),this._deprecatedMessages.add(l))}if(!n.name)try{Object.defineProperty(n,"name",{get:()=>"_"+o.replace(/\W+/g,"_")+"_hook_cb",configurable:!0})}catch{}return this._hooks[o]=this._hooks[o]||[],this._hooks[o].push(n),()=>{n&&(this.removeHook(o,n),n=void 0)}}hookOnce(o,n){let i,u=(...f)=>(typeof i=="function"&&i(),i=void 0,u=void 0,n(...f));return i=this.hook(o,u),i}removeHook(o,n){if(this._hooks[o]){const i=this._hooks[o].indexOf(n);i!==-1&&this._hooks[o].splice(i,1),this._hooks[o].length===0&&delete this._hooks[o]}}deprecateHook(o,n){this._deprecatedHooks[o]=typeof n=="string"?{to:n}:n;const i=this._hooks[o]||[];delete this._hooks[o];for(const u of i)this.hook(o,u)}deprecateHooks(o){Object.assign(this._deprecatedHooks,o);for(const n in o)this.deprecateHook(n,o[n])}addHooks(o){const n=Ui(o),i=Object.keys(n).map(u=>this.hook(u,n[u]));return()=>{for(const u of i.splice(0,i.length))u()}}removeHooks(o){const n=Ui(o);for(const i in n)this.removeHook(i,n[i])}removeAllHooks(){for(const o in this._hooks)delete this._hooks[o]}callHook(o,...n){return n.unshift(o),this.callHookWith(S0,o,...n)}callHookParallel(o,...n){return n.unshift(o),this.callHookWith(E0,o,...n)}callHookWith(o,n,...i){const u=this._before||this._after?{name:n,args:i,context:{}}:void 0;this._before&&Di(this._before,u);const f=o(n in this._hooks?[...this._hooks[n]]:[],i);return f instanceof Promise?f.finally(()=>{this._after&&u&&Di(this._after,u)}):(this._after&&u&&Di(this._after,u),f)}beforeEach(o){return this._before=this._before||[],this._before.push(o),()=>{if(this._before!==void 0){const n=this._before.indexOf(o);n!==-1&&this._before.splice(n,1)}}}afterEach(o){return this._after=this._after||[],this._after.push(o),()=>{if(this._after!==void 0){const n=this._after.indexOf(o);n!==-1&&this._after.splice(n,1)}}}}function L0(){return new b0}function A0(s){return Array.isArray(s)?s:[s]}const T0=["title","titleTemplate","script","style","noscript"],qr=["base","meta","link","style","script","noscript"],w0=["title","titleTemplate","templateParams","base","htmlAttrs","bodyAttrs","meta","link","style","script","noscript"],R0=["base","title","titleTemplate","bodyAttrs","htmlAttrs","templateParams"],Cf=["tagPosition","tagPriority","tagDuplicateStrategy","children","innerHTML","textContent","processTemplateParams"],O0=typeof window<"u";function Qi(s){let o=9;for(let n=0;n<s.length;)o=Math.imul(o^s.charCodeAt(n++),9**9);return((o^o>>>9)+65536).toString(16).substring(1,8).toLowerCase()}function Wu(s){return s._h||Qi(s._d?s._d:`${s.tag}:${s.textContent||s.innerHTML||""}:${Object.entries(s.props).map(([o,n])=>`${o}:${String(n)}`).join(",")}`)}function Pf(s,o){const{props:n,tag:i}=s;if(R0.includes(i))return i;if(i==="link"&&n.rel==="canonical")return"canonical";if(n.charset)return"charset";const u=["id"];i==="meta"&&u.push("name","property","http-equiv");for(const f of u)if(typeof n[f]<"u"){const l=String(n[f]);return o&&!o(l)?!1:`${i}:${f}:${l}`}return!1}function Nu(s,o){return s==null?o||null:typeof s=="function"?s(o):s}async function I0(s,o,n){const i={tag:s,props:await Mf(typeof o=="object"&&typeof o!="function"&&!(o instanceof Promise)?{...o}:{[["script","noscript","style"].includes(s)?"innerHTML":"textContent"]:o},["templateParams","titleTemplate"].includes(s))};return Cf.forEach(u=>{const f=typeof i.props[u]<"u"?i.props[u]:n[u];typeof f<"u"&&((!["innerHTML","textContent","children"].includes(u)||T0.includes(i.tag))&&(i[u==="children"?"innerHTML":u]=f),delete i.props[u])}),i.props.body&&(i.tagPosition="bodyClose",delete i.props.body),i.tag==="script"&&typeof i.innerHTML=="object"&&(i.innerHTML=JSON.stringify(i.innerHTML),i.props.type=i.props.type||"application/json"),Array.isArray(i.props.content)?i.props.content.map(u=>({...i,props:{...i.props,content:u}})):i}function C0(s,o){const n=s==="class"?" ":";";return typeof o=="object"&&!Array.isArray(o)&&(o=Object.entries(o).filter(([,i])=>i).map(([i,u])=>s==="style"?`${i}:${u}`:i)),(Array.isArray(o)?o.join(n):o).split(n).filter(i=>i.trim()).filter(Boolean).join(n)}async function Mf(s,o){for(const n of Object.keys(s)){if(["class","style"].includes(n)){s[n]=C0(n,s[n]);continue}if(s[n]instanceof Promise&&(s[n]=await s[n]),!o&&!Cf.includes(n)){const i=String(s[n]),u=n.startsWith("data-");i==="true"||i===""?s[n]=u?"true":!0:s[n]||(u&&i==="false"?s[n]="false":delete s[n])}}return s}const P0=10;async function M0(s){const o=[];return Object.entries(s.resolvedInput).filter(([n,i])=>typeof i<"u"&&w0.includes(n)).forEach(([n,i])=>{const u=A0(i);o.push(...u.map(f=>I0(n,f,s)).flat())}),(await Promise.all(o)).flat().filter(Boolean).map((n,i)=>(n._e=s._i,s.mode&&(n._m=s.mode),n._p=(s._i<<P0)+i,n))}const $u={base:-10,title:10},Gu={critical:-80,high:-10,low:20};function ro(s){let o=100;const n=s.tagPriority;return typeof n=="number"?n:(s.tag==="meta"?(s.props["http-equiv"]==="content-security-policy"&&(o=-30),s.props.charset&&(o=-20),s.props.name==="viewport"&&(o=-15)):s.tag==="link"&&s.props.rel==="preconnect"?o=20:s.tag in $u&&(o=$u[s.tag]),typeof n=="string"&&n in Gu?o+Gu[n]:o)}const D0=[{prefix:"before:",offset:-1},{prefix:"after:",offset:1}],Uu=["onload","onerror","onabort","onprogress","onloadstart"],Qt="%separator";function eo(s,o,n){if(typeof s!="string"||!s.includes("%"))return s;function i(l){let v;return["s","pageTitle"].includes(l)?v=o.pageTitle:l.includes(".")?v=l.split(".").reduce((d,m)=>d&&d[m]||void 0,o):v=o[l],typeof v<"u"?(v||"").replace(/"/g,'\\"'):!1}let u=s;try{u=decodeURI(s)}catch{}return(u.match(/%(\w+\.+\w+)|%(\w+)/g)||[]).sort().reverse().forEach(l=>{const v=i(l.slice(1));typeof v=="string"&&(s=s.replace(new RegExp(`\\${l}(\\W|$)`,"g"),(d,m)=>`${v}${m}`).trim())}),s.includes(Qt)&&(s.endsWith(Qt)&&(s=s.slice(0,-Qt.length).trim()),s.startsWith(Qt)&&(s=s.slice(Qt.length).trim()),s=s.replace(new RegExp(`\\${Qt}\\s*\\${Qt}`,"g"),Qt),s=eo(s,{separator:n},n)),s}async function H0(s,o={}){var p;const n=o.document||s.resolvedOptions.document;if(!n||!s.dirty)return;const i={shouldRender:!0,tags:[]};if(await s.hooks.callHook("dom:beforeRender",i),!i.shouldRender)return;const u=(await s.resolveTags()).map(x=>({tag:x,id:qr.includes(x.tag)?Wu(x):x.tag,shouldRender:!0}));let f=s._dom;if(!f){f={elMap:{htmlAttrs:n.documentElement,bodyAttrs:n.body}};for(const x of["body","head"]){const y=(p=n[x])==null?void 0:p.children,E=[];for(const L of[...y].filter(A=>qr.includes(A.tagName.toLowerCase()))){const A={tag:L.tagName.toLowerCase(),props:await Mf(L.getAttributeNames().reduce((O,P)=>({...O,[P]:L.getAttribute(P)}),{})),innerHTML:L.innerHTML};let T=1,I=Pf(A);for(;I&&E.find(O=>O._d===I);)I=`${I}:${T++}`;A._d=I||void 0,E.push(A),f.elMap[L.getAttribute("data-hid")||Wu(A)]=L}}}f.pendingSideEffects={...f.sideEffects||{}},f.sideEffects={};function l(x,y,E){const L=`${x}:${y}`;f.sideEffects[L]=E,delete f.pendingSideEffects[L]}function v({id:x,$el:y,tag:E}){const L=E.tag.endsWith("Attrs");f.elMap[x]=y,L||(["textContent","innerHTML"].forEach(A=>{E[A]&&E[A]!==y[A]&&(y[A]=E[A])}),l(x,"el",()=>{var A;(A=f.elMap[x])==null||A.remove(),delete f.elMap[x]}));for(const[A,T]of Object.entries(E._eventHandlers||{}))y.getAttribute(`data-${A}`)!==""&&((E.tag==="bodyAttrs"?n.defaultView:y).addEventListener(A.replace("on",""),T.bind(y)),y.setAttribute(`data-${A}`,""));Object.entries(E.props).forEach(([A,T])=>{const I=`attr:${A}`;if(A==="class")for(const O of(T||"").split(" ").filter(Boolean))L&&l(x,`${I}:${O}`,()=>y.classList.remove(O)),!y.classList.contains(O)&&y.classList.add(O);else if(A==="style")for(const O of(T||"").split(";").filter(Boolean)){const[P,...$]=O.split(":").map(j=>j.trim());l(x,`${I}:${O}:${P}`,()=>{y.style.removeProperty(P)}),y.style.setProperty(P,$.join(":"))}else y.getAttribute(A)!==T&&y.setAttribute(A,T===!0?"":String(T)),L&&l(x,I,()=>y.removeAttribute(A))})}const d=[],m={bodyClose:void 0,bodyOpen:void 0,head:void 0};for(const x of u){const{tag:y,shouldRender:E,id:L}=x;if(E){if(y.tag==="title"){n.title=y.textContent;continue}x.$el=x.$el||f.elMap[L],x.$el?v(x):qr.includes(y.tag)&&d.push(x)}}for(const x of d){const y=x.tag.tagPosition||"head";x.$el=n.createElement(x.tag.tag),v(x),m[y]=m[y]||n.createDocumentFragment(),m[y].appendChild(x.$el)}for(const x of u)await s.hooks.callHook("dom:renderTag",x,n,l);m.head&&n.head.appendChild(m.head),m.bodyOpen&&n.body.insertBefore(m.bodyOpen,n.body.firstChild),m.bodyClose&&n.body.appendChild(m.bodyClose),Object.values(f.pendingSideEffects).forEach(x=>x()),s._dom=f,s.dirty=!1,await s.hooks.callHook("dom:rendered",{renders:u})}async function F0(s,o={}){const n=o.delayFn||(i=>setTimeout(i,10));return s._domUpdatePromise=s._domUpdatePromise||new Promise(i=>n(async()=>{await H0(s,o),delete s._domUpdatePromise,i()}))}function B0(s){return o=>{var i,u;const n=((u=(i=o.resolvedOptions.document)==null?void 0:i.head.querySelector('script[id="unhead:payload"]'))==null?void 0:u.innerHTML)||!1;return n&&o.push(JSON.parse(n)),{mode:"client",hooks:{"entries:updated":function(f){F0(f,s)}}}}}const W0=["templateParams","htmlAttrs","bodyAttrs"],N0={hooks:{"tag:normalise":function({tag:s}){["hid","vmid","key"].forEach(i=>{s.props[i]&&(s.key=s.props[i],delete s.props[i])});const n=Pf(s)||(s.key?`${s.tag}:${s.key}`:!1);n&&(s._d=n)},"tags:resolve":function(s){const o={};s.tags.forEach(i=>{const u=(i.key?`${i.tag}:${i.key}`:i._d)||i._p,f=o[u];if(f){let v=i==null?void 0:i.tagDuplicateStrategy;if(!v&&W0.includes(i.tag)&&(v="merge"),v==="merge"){const d=f.props;["class","style"].forEach(m=>{d[m]&&(i.props[m]?(m==="style"&&!d[m].endsWith(";")&&(d[m]+=";"),i.props[m]=`${d[m]} ${i.props[m]}`):i.props[m]=d[m])}),o[u].props={...d,...i.props};return}else if(i._e===f._e){f._duped=f._duped||[],i._d=`${f._d}:${f._duped.length+1}`,f._duped.push(i);return}else if(ro(i)>ro(f))return}const l=Object.keys(i.props).length+(i.innerHTML?1:0)+(i.textContent?1:0);if(qr.includes(i.tag)&&l===0){delete o[u];return}o[u]=i});const n=[];Object.values(o).forEach(i=>{const u=i._duped;delete i._duped,n.push(i),u&&n.push(...u)}),s.tags=n,s.tags=s.tags.filter(i=>!(i.tag==="meta"&&(i.props.name||i.props.property)&&!i.props.content))}}},$0={mode:"server",hooks:{"tags:resolve":function(s){const o={};s.tags.filter(n=>["titleTemplate","templateParams","title"].includes(n.tag)&&n._m==="server").forEach(n=>{o[n.tag]=n.tag.startsWith("title")?n.textContent:n.props}),Object.keys(o).length&&s.tags.push({tag:"script",innerHTML:JSON.stringify(o),props:{id:"unhead:payload",type:"application/json"}})}}},G0=["script","link","bodyAttrs"],U0=s=>({hooks:{"tags:resolve":function(o){for(const n of o.tags.filter(i=>G0.includes(i.tag)))Object.entries(n.props).forEach(([i,u])=>{i.startsWith("on")&&typeof u=="function"&&(s.ssr&&Uu.includes(i)?n.props[i]=`this.dataset.${i}fired = true`:delete n.props[i],n._eventHandlers=n._eventHandlers||{},n._eventHandlers[i]=u)}),s.ssr&&n._eventHandlers&&(n.props.src||n.props.href)&&(n.key=n.key||Qi(n.props.src||n.props.href))},"dom:renderTag":function({$el:o,tag:n}){var i,u;for(const f of Object.keys((o==null?void 0:o.dataset)||{}).filter(l=>Uu.some(v=>`${v}fired`===l))){const l=f.replace("fired","");(u=(i=n._eventHandlers)==null?void 0:i[l])==null||u.call(o,new Event(l.replace("on","")))}}}}),V0=["link","style","script","noscript"],K0={hooks:{"tag:normalise":({tag:s})=>{s.key&&V0.includes(s.tag)&&(s.props["data-hid"]=s._h=Qi(s.key))}}},j0={hooks:{"tags:resolve":s=>{const o=n=>{var i;return(i=s.tags.find(u=>u._d===n))==null?void 0:i._p};for(const{prefix:n,offset:i}of D0)for(const u of s.tags.filter(f=>typeof f.tagPriority=="string"&&f.tagPriority.startsWith(n))){const f=o(u.tagPriority.replace(n,""));typeof f<"u"&&(u._p=f+i)}s.tags.sort((n,i)=>n._p-i._p).sort((n,i)=>ro(n)-ro(i))}}},z0={meta:"content",link:"href",htmlAttrs:"lang"},k0=s=>({hooks:{"tags:resolve":o=>{var v;const{tags:n}=o,i=(v=n.find(d=>d.tag==="title"))==null?void 0:v.textContent,u=n.findIndex(d=>d.tag==="templateParams"),f=u!==-1?n[u].props:{},l=f.separator||"|";delete f.separator,f.pageTitle=eo(f.pageTitle||i||"",f,l);for(const d of n.filter(m=>m.processTemplateParams!==!1)){const m=z0[d.tag];m&&typeof d.props[m]=="string"?d.props[m]=eo(d.props[m],f,l):(d.processTemplateParams===!0||["titleTemplate","title"].includes(d.tag))&&["innerHTML","textContent"].forEach(p=>{typeof d[p]=="string"&&(d[p]=eo(d[p],f,l))})}s._templateParams=f,s._separator=l,o.tags=n.filter(d=>d.tag!=="templateParams")}}}),Z0={hooks:{"tags:resolve":s=>{const{tags:o}=s;let n=o.findIndex(u=>u.tag==="titleTemplate");const i=o.findIndex(u=>u.tag==="title");if(i!==-1&&n!==-1){const u=Nu(o[n].textContent,o[i].textContent);u!==null?o[i].textContent=u||o[i].textContent:delete o[i]}else if(n!==-1){const u=Nu(o[n].textContent);u!==null&&(o[n].textContent=u,o[n].tag="title",n=-1)}n!==-1&&delete o[n],s.tags=o.filter(Boolean)}}},Y0={hooks:{"tags:afterResolve":function(s){for(const o of s.tags)typeof o.innerHTML=="string"&&(o.innerHTML&&["application/ld+json","application/json"].includes(o.props.type)?o.innerHTML=o.innerHTML.replace(/</g,"\\u003C"):o.innerHTML=o.innerHTML.replace(new RegExp(`</${o.tag}`,"g"),`<\\/${o.tag}`))}}};let Df;function X0(s={}){const o=J0(s);return o.use(B0()),Df=o}function Vu(s,o){return!s||s==="server"&&o||s==="client"&&!o}function J0(s={}){const o=L0();o.addHooks(s.hooks||{}),s.document=s.document||(O0?document:void 0);const n=!s.document,i=()=>{v.dirty=!0,o.callHook("entries:updated",v)};let u=0,f=[];const l=[],v={plugins:l,dirty:!1,resolvedOptions:s,hooks:o,headEntries(){return f},use(d){const m=typeof d=="function"?d(v):d;(!m.key||!l.some(p=>p.key===m.key))&&(l.push(m),Vu(m.mode,n)&&o.addHooks(m.hooks||{}))},push(d,m){m==null||delete m.head;const p={_i:u++,input:d,...m};return Vu(p.mode,n)&&(f.push(p),i()),{dispose(){f=f.filter(x=>x._i!==p._i),o.callHook("entries:updated",v),i()},patch(x){f=f.map(y=>(y._i===p._i&&(y.input=p.input=x),y)),i()}}},async resolveTags(){const d={tags:[],entries:[...f]};await o.callHook("entries:resolve",d);for(const m of d.entries){const p=m.resolvedInput||m.input;if(m.resolvedInput=await(m.transform?m.transform(p):p),m.resolvedInput)for(const x of await M0(m)){const y={tag:x,entry:m,resolvedOptions:v.resolvedOptions};await o.callHook("tag:normalise",y),d.tags.push(y.tag)}}return await o.callHook("tags:beforeResolve",d),await o.callHook("tags:resolve",d),await o.callHook("tags:afterResolve",d),d.tags},ssr:n};return[N0,$0,U0,K0,j0,k0,Z0,Y0,...(s==null?void 0:s.plugins)||[]].forEach(d=>v.use(d)),v.hooks.callHook("init",v),v}function Q0(){return Df}const Hf=K1.startsWith("3");function _0(s){return typeof s=="function"?s():cn(s)}function oo(s,o=""){if(s instanceof Promise)return s;const n=_0(s);return!s||!n?n:Array.isArray(n)?n.map(i=>oo(i,o)):typeof n=="object"?Object.fromEntries(Object.entries(n).map(([i,u])=>i==="titleTemplate"||i.startsWith("on")?[i,cn(u)]:[i,oo(u,i)])):n}const q0={hooks:{"entries:resolve":function(s){for(const o of s.entries)o.resolvedInput=oo(o.input)}}},Ff="usehead";function em(s){return{install(n){Hf&&(n.config.globalProperties.$unhead=s,n.config.globalProperties.$head=s,n.provide(Ff,s))}}.install}function tm(s={}){s.domDelayFn=s.domDelayFn||(n=>Xi(()=>setTimeout(()=>n(),0)));const o=X0(s);return o.use(q0),o.install=em(o),o}const Ku=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},ju="__unhead_injection_handler__";function nm(){if(ju in Ku)return Ku[ju]();const s=Ot(Ff);return s||Q0()}function rm(s,o={}){const n=o.head||nm();if(n)return n.ssr?n.push(s,o):om(n,s,o)}function om(s,o,n={}){const i=to(!1),u=to({});xf(()=>{u.value=i.value?{}:oo(o)});const f=s.push(u.value,n);return Ji(u,v=>{f.patch(v)}),Sf()&&(Ef(()=>{f.dispose()}),bf(()=>{i.value=!0}),Lf(()=>{i.value=!1})),f}const im={created(){let s=!1;if(Hf){const o=Sf();if(!o)return;const n=o.type;if(!n||!("head"in n))return;s=typeof n.head=="function"?()=>n.head.call(o.proxy):n.head}else{const o=this.$options.head;o&&(s=typeof o=="function"?()=>o.call(this):o)}s&&rm(s)}},sm="drag-scroller-disable",am=(()=>{const s=new WeakMap;return{mounted(o,n){let i=!1;const{onlyX:u,onlyY:f,disablechild:l}=n.modifiers,v=n.value??{};v.hideScrollbar===!0&&(o.style.overflow="hidden");const d=y=>{if(l)return y===o;for(;y&&y.parentNode;){if(y&&y!=null&&y.hasAttribute(sm))return!1;if(y===o)return!0;y=y.parentNode}return!1},m=y=>{i=d(y.target),i&&v!=null&&v.startScroll&&typeof(v==null?void 0:v.startScroll)=="function"&&v.startScroll(y)},p=y=>{i&&v!=null&&v.endScroll&&typeof(v==null?void 0:v.endScroll)=="function"&&v.endScroll(y),i=!1},x=y=>{if(!i)return!1;v!=null&&v.onScrolling&&typeof(v==null?void 0:v.onScrolling)=="function"&&v.onScrolling(y),y.stopPropagation&&y.stopPropagation(),y.preventDefault&&y.preventDefault(),y.cancelBubble=!0,y.returnValue=!1;const E=(v==null?void 0:v.speed)||1,L=v.reverseDirection?y.movementX*E:-y.movementX*E,A=v.reverseDirection?y.movementY*E:-y.movementY*E;u?o.scrollLeft+=L:(f||(o.scrollLeft+=L),o.scrollTop+=A)};s.set(o,{dragStart:m,dragEnd:p,drag:x}),o.addEventListener("pointerdown",m),addEventListener("pointerup",p),addEventListener("pointermove",x)},unmounted(o){const{dragStart:n,dragEnd:i,drag:u}=s.get(o);o.removeEventListener("pointerdown",n),removeEventListener("pointerup",i),removeEventListener("pointermove",u)}}})(),um={install(s){s.directive("drag-scroller",am)}},Bf={bookmarkFilter:[{title:"All",value:"ALL",default:!0},{title:"Unread",value:"UNREAD"},{title:"In Progress",value:"IN_PROGRESS"},{title:"Read",value:"READ"}],q:"",topGroup:[{title:"Publishers",value:"p",default:!0},{title:"Imprints",value:"i"},{title:"Series",value:"s"},{title:"Volumes",value:"v"},{title:"Issues",value:"c"},{title:"Folders",value:"f"},{title:"Story Arcs",value:"a"}],settingsGroup:[{title:"Publishers",value:"p",default:!0},{title:"Imprints",value:"i"},{title:"Series",value:"s",default:!0},{title:"Volumes",value:"v"}],orderBy:[{title:"Name",value:"sort_name",default:!0},{title:"Publish Date",value:"date"},{title:"Added Time",value:"created_at",reverse:!0},{title:"Last Read",value:"bookmark_updated_at",reverse:!0},{title:"Updated Time",value:"updated_at",reverse:!0},{title:"Page Count",value:"page_count",reverse:!0},{title:"File Size",value:"size",reverse:!0},{title:"Filename",value:"path"},{title:"Critical Rating",value:"critical_rating",reverse:!0},{title:"Community Rating",value:"community_rating",reverse:!0},{title:"Age Rating",value:"age_rating"},{title:"Search Score",value:"search_score",reverse:!0},{title:"Story Arc Number",value:"story_arc_number"}],vuetifyNullCode:-1,groupNames:{p:"Publishers",i:"Imprints",s:"Series",v:"Volumes",c:"Issues",f:"Folders",a:"Story Arcs"},route:{group:"r",pk:0,page:1},identifierTypes:{comicvine:"Comic Vine",comixology:"Comixology",asin:"Amazon",gtin:"GTIN",isbn:"ISBN",upc:"UPC"}},fm={fitTo:[{title:"Fit to Screen",value:"S",default:!0},{title:"Fit to Width",value:"W"},{title:"Fit to Height",value:"H"},{title:"Original Size",value:"O"},{title:"",value:""}],readingDirection:[{title:"Left to Right",value:"ltr",default:!0},{title:"Right to Left",value:"rtl"},{title:"Top to Bottom",value:"ttb"},{title:"Bottom to Top",value:"btt"},{title:"",value:""}]},lm={LIBRARY_CHANGED:"LIBRARY_CHANGED",LIBRARIAN_STATUS:"LIBRARIAN_STATUS",FAILED_IMPORTS:"FAILED_IMPORTS"},Je={browser:Bf,reader:fm,websockets:lm},cm="modulepreload",dm=function(s){return window.CODEX.APP_PATH + "static"+"/"+s},zu={},It=function(o,n,i){let u=Promise.resolve();if(n&&n.length>0){const f=document.getElementsByTagName("link"),l=document.querySelector("meta[property=csp-nonce]"),v=(l==null?void 0:l.nonce)||(l==null?void 0:l.getAttribute("nonce"));u=Promise.all(n.map(d=>{if(d=dm(d),d in zu)return;zu[d]=!0;const m=d.endsWith(".css"),p=m?'[rel="stylesheet"]':"";if(!!i)for(let E=f.length-1;E>=0;E--){const L=f[E];if(L.href===d&&(!m||L.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${d}"]${p}`))return;const y=document.createElement("link");if(y.rel=m?"stylesheet":cm,m||(y.as="script",y.crossOrigin=""),y.href=d,v&&y.setAttribute("nonce",v),document.head.appendChild(y),m)return new Promise((E,L)=>{y.addEventListener("load",E),y.addEventListener("error",()=>L(new Error(`Unable to preload CSS for ${d}`)))})}))}return u.then(()=>o()).catch(f=>{const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=f,window.dispatchEvent(l),!l.defaultPrevented)throw f})};/*!
|
|
7
|
+
import{n as Xi,v as K1,i as Ot,u as cn,r as to,w as xf,a as Ji,g as Sf,o as Ef,b as bf,c as Lf,s as Cn,d as j1,e as Af,f as Gt,h as Ae,j as Tf,p as nr,H as Dn,k as no,l as wf,m as Ni,q as z1,t as $i,x as uo,y as k1,z as _r,A as Rf,B as Z1,C as Of,D as Y1,E as X1,F as J1,G as Q1,I as _1,J as q1,K as e0,L as Gi,M as Pu,N as t0,_ as n0,O as r0,P as o0,Q as i0,R as s0,S as a0,T as Mu,U as fo,V as ar,W as u0,X as f0,Y as l0,Z as c0,$ as d0,a0 as h0,a1 as p0,a2 as v0,a3 as Du,a4 as Hu,a5 as Fu,a6 as Bu,a7 as g0,a8 as m0}from"./admin-drawer-panel-CEiEnUcn.js";function Ui(s,o={},n){for(const i in s){const u=s[i],f=n?`${n}:${i}`:i;typeof u=="object"&&u!==null?Ui(u,o,f):typeof u=="function"&&(o[f]=u)}return o}const y0={run:s=>s()},x0=()=>y0,If=typeof console.createTask<"u"?console.createTask:x0;function S0(s,o){const n=o.shift(),i=If(n);return s.reduce((u,f)=>u.then(()=>i.run(()=>f(...o))),Promise.resolve())}function E0(s,o){const n=o.shift(),i=If(n);return Promise.all(s.map(u=>i.run(()=>u(...o))))}function Di(s,o){for(const n of[...s])n(o)}class b0{constructor(){this._hooks={},this._before=void 0,this._after=void 0,this._deprecatedMessages=void 0,this._deprecatedHooks={},this.hook=this.hook.bind(this),this.callHook=this.callHook.bind(this),this.callHookWith=this.callHookWith.bind(this)}hook(o,n,i={}){if(!o||typeof n!="function")return()=>{};const u=o;let f;for(;this._deprecatedHooks[o];)f=this._deprecatedHooks[o],o=f.to;if(f&&!i.allowDeprecated){let l=f.message;l||(l=`${u} hook has been deprecated`+(f.to?`, please use ${f.to}`:"")),this._deprecatedMessages||(this._deprecatedMessages=new Set),this._deprecatedMessages.has(l)||(console.warn(l),this._deprecatedMessages.add(l))}if(!n.name)try{Object.defineProperty(n,"name",{get:()=>"_"+o.replace(/\W+/g,"_")+"_hook_cb",configurable:!0})}catch{}return this._hooks[o]=this._hooks[o]||[],this._hooks[o].push(n),()=>{n&&(this.removeHook(o,n),n=void 0)}}hookOnce(o,n){let i,u=(...f)=>(typeof i=="function"&&i(),i=void 0,u=void 0,n(...f));return i=this.hook(o,u),i}removeHook(o,n){if(this._hooks[o]){const i=this._hooks[o].indexOf(n);i!==-1&&this._hooks[o].splice(i,1),this._hooks[o].length===0&&delete this._hooks[o]}}deprecateHook(o,n){this._deprecatedHooks[o]=typeof n=="string"?{to:n}:n;const i=this._hooks[o]||[];delete this._hooks[o];for(const u of i)this.hook(o,u)}deprecateHooks(o){Object.assign(this._deprecatedHooks,o);for(const n in o)this.deprecateHook(n,o[n])}addHooks(o){const n=Ui(o),i=Object.keys(n).map(u=>this.hook(u,n[u]));return()=>{for(const u of i.splice(0,i.length))u()}}removeHooks(o){const n=Ui(o);for(const i in n)this.removeHook(i,n[i])}removeAllHooks(){for(const o in this._hooks)delete this._hooks[o]}callHook(o,...n){return n.unshift(o),this.callHookWith(S0,o,...n)}callHookParallel(o,...n){return n.unshift(o),this.callHookWith(E0,o,...n)}callHookWith(o,n,...i){const u=this._before||this._after?{name:n,args:i,context:{}}:void 0;this._before&&Di(this._before,u);const f=o(n in this._hooks?[...this._hooks[n]]:[],i);return f instanceof Promise?f.finally(()=>{this._after&&u&&Di(this._after,u)}):(this._after&&u&&Di(this._after,u),f)}beforeEach(o){return this._before=this._before||[],this._before.push(o),()=>{if(this._before!==void 0){const n=this._before.indexOf(o);n!==-1&&this._before.splice(n,1)}}}afterEach(o){return this._after=this._after||[],this._after.push(o),()=>{if(this._after!==void 0){const n=this._after.indexOf(o);n!==-1&&this._after.splice(n,1)}}}}function L0(){return new b0}function A0(s){return Array.isArray(s)?s:[s]}const T0=["title","titleTemplate","script","style","noscript"],qr=["base","meta","link","style","script","noscript"],w0=["title","titleTemplate","templateParams","base","htmlAttrs","bodyAttrs","meta","link","style","script","noscript"],R0=["base","title","titleTemplate","bodyAttrs","htmlAttrs","templateParams"],Cf=["tagPosition","tagPriority","tagDuplicateStrategy","children","innerHTML","textContent","processTemplateParams"],O0=typeof window<"u";function Qi(s){let o=9;for(let n=0;n<s.length;)o=Math.imul(o^s.charCodeAt(n++),9**9);return((o^o>>>9)+65536).toString(16).substring(1,8).toLowerCase()}function Wu(s){return s._h||Qi(s._d?s._d:`${s.tag}:${s.textContent||s.innerHTML||""}:${Object.entries(s.props).map(([o,n])=>`${o}:${String(n)}`).join(",")}`)}function Pf(s,o){const{props:n,tag:i}=s;if(R0.includes(i))return i;if(i==="link"&&n.rel==="canonical")return"canonical";if(n.charset)return"charset";const u=["id"];i==="meta"&&u.push("name","property","http-equiv");for(const f of u)if(typeof n[f]<"u"){const l=String(n[f]);return o&&!o(l)?!1:`${i}:${f}:${l}`}return!1}function Nu(s,o){return s==null?o||null:typeof s=="function"?s(o):s}async function I0(s,o,n){const i={tag:s,props:await Mf(typeof o=="object"&&typeof o!="function"&&!(o instanceof Promise)?{...o}:{[["script","noscript","style"].includes(s)?"innerHTML":"textContent"]:o},["templateParams","titleTemplate"].includes(s))};return Cf.forEach(u=>{const f=typeof i.props[u]<"u"?i.props[u]:n[u];typeof f<"u"&&((!["innerHTML","textContent","children"].includes(u)||T0.includes(i.tag))&&(i[u==="children"?"innerHTML":u]=f),delete i.props[u])}),i.props.body&&(i.tagPosition="bodyClose",delete i.props.body),i.tag==="script"&&typeof i.innerHTML=="object"&&(i.innerHTML=JSON.stringify(i.innerHTML),i.props.type=i.props.type||"application/json"),Array.isArray(i.props.content)?i.props.content.map(u=>({...i,props:{...i.props,content:u}})):i}function C0(s,o){const n=s==="class"?" ":";";return typeof o=="object"&&!Array.isArray(o)&&(o=Object.entries(o).filter(([,i])=>i).map(([i,u])=>s==="style"?`${i}:${u}`:i)),(Array.isArray(o)?o.join(n):o).split(n).filter(i=>i.trim()).filter(Boolean).join(n)}async function Mf(s,o){for(const n of Object.keys(s)){if(["class","style"].includes(n)){s[n]=C0(n,s[n]);continue}if(s[n]instanceof Promise&&(s[n]=await s[n]),!o&&!Cf.includes(n)){const i=String(s[n]),u=n.startsWith("data-");i==="true"||i===""?s[n]=u?"true":!0:s[n]||(u&&i==="false"?s[n]="false":delete s[n])}}return s}const P0=10;async function M0(s){const o=[];return Object.entries(s.resolvedInput).filter(([n,i])=>typeof i<"u"&&w0.includes(n)).forEach(([n,i])=>{const u=A0(i);o.push(...u.map(f=>I0(n,f,s)).flat())}),(await Promise.all(o)).flat().filter(Boolean).map((n,i)=>(n._e=s._i,s.mode&&(n._m=s.mode),n._p=(s._i<<P0)+i,n))}const $u={base:-10,title:10},Gu={critical:-80,high:-10,low:20};function ro(s){let o=100;const n=s.tagPriority;return typeof n=="number"?n:(s.tag==="meta"?(s.props["http-equiv"]==="content-security-policy"&&(o=-30),s.props.charset&&(o=-20),s.props.name==="viewport"&&(o=-15)):s.tag==="link"&&s.props.rel==="preconnect"?o=20:s.tag in $u&&(o=$u[s.tag]),typeof n=="string"&&n in Gu?o+Gu[n]:o)}const D0=[{prefix:"before:",offset:-1},{prefix:"after:",offset:1}],Uu=["onload","onerror","onabort","onprogress","onloadstart"],Qt="%separator";function eo(s,o,n){if(typeof s!="string"||!s.includes("%"))return s;function i(l){let v;return["s","pageTitle"].includes(l)?v=o.pageTitle:l.includes(".")?v=l.split(".").reduce((d,m)=>d&&d[m]||void 0,o):v=o[l],typeof v<"u"?(v||"").replace(/"/g,'\\"'):!1}let u=s;try{u=decodeURI(s)}catch{}return(u.match(/%(\w+\.+\w+)|%(\w+)/g)||[]).sort().reverse().forEach(l=>{const v=i(l.slice(1));typeof v=="string"&&(s=s.replace(new RegExp(`\\${l}(\\W|$)`,"g"),(d,m)=>`${v}${m}`).trim())}),s.includes(Qt)&&(s.endsWith(Qt)&&(s=s.slice(0,-Qt.length).trim()),s.startsWith(Qt)&&(s=s.slice(Qt.length).trim()),s=s.replace(new RegExp(`\\${Qt}\\s*\\${Qt}`,"g"),Qt),s=eo(s,{separator:n},n)),s}async function H0(s,o={}){var p;const n=o.document||s.resolvedOptions.document;if(!n||!s.dirty)return;const i={shouldRender:!0,tags:[]};if(await s.hooks.callHook("dom:beforeRender",i),!i.shouldRender)return;const u=(await s.resolveTags()).map(x=>({tag:x,id:qr.includes(x.tag)?Wu(x):x.tag,shouldRender:!0}));let f=s._dom;if(!f){f={elMap:{htmlAttrs:n.documentElement,bodyAttrs:n.body}};for(const x of["body","head"]){const y=(p=n[x])==null?void 0:p.children,E=[];for(const L of[...y].filter(A=>qr.includes(A.tagName.toLowerCase()))){const A={tag:L.tagName.toLowerCase(),props:await Mf(L.getAttributeNames().reduce((O,P)=>({...O,[P]:L.getAttribute(P)}),{})),innerHTML:L.innerHTML};let T=1,I=Pf(A);for(;I&&E.find(O=>O._d===I);)I=`${I}:${T++}`;A._d=I||void 0,E.push(A),f.elMap[L.getAttribute("data-hid")||Wu(A)]=L}}}f.pendingSideEffects={...f.sideEffects||{}},f.sideEffects={};function l(x,y,E){const L=`${x}:${y}`;f.sideEffects[L]=E,delete f.pendingSideEffects[L]}function v({id:x,$el:y,tag:E}){const L=E.tag.endsWith("Attrs");f.elMap[x]=y,L||(["textContent","innerHTML"].forEach(A=>{E[A]&&E[A]!==y[A]&&(y[A]=E[A])}),l(x,"el",()=>{var A;(A=f.elMap[x])==null||A.remove(),delete f.elMap[x]}));for(const[A,T]of Object.entries(E._eventHandlers||{}))y.getAttribute(`data-${A}`)!==""&&((E.tag==="bodyAttrs"?n.defaultView:y).addEventListener(A.replace("on",""),T.bind(y)),y.setAttribute(`data-${A}`,""));Object.entries(E.props).forEach(([A,T])=>{const I=`attr:${A}`;if(A==="class")for(const O of(T||"").split(" ").filter(Boolean))L&&l(x,`${I}:${O}`,()=>y.classList.remove(O)),!y.classList.contains(O)&&y.classList.add(O);else if(A==="style")for(const O of(T||"").split(";").filter(Boolean)){const[P,...$]=O.split(":").map(j=>j.trim());l(x,`${I}:${O}:${P}`,()=>{y.style.removeProperty(P)}),y.style.setProperty(P,$.join(":"))}else y.getAttribute(A)!==T&&y.setAttribute(A,T===!0?"":String(T)),L&&l(x,I,()=>y.removeAttribute(A))})}const d=[],m={bodyClose:void 0,bodyOpen:void 0,head:void 0};for(const x of u){const{tag:y,shouldRender:E,id:L}=x;if(E){if(y.tag==="title"){n.title=y.textContent;continue}x.$el=x.$el||f.elMap[L],x.$el?v(x):qr.includes(y.tag)&&d.push(x)}}for(const x of d){const y=x.tag.tagPosition||"head";x.$el=n.createElement(x.tag.tag),v(x),m[y]=m[y]||n.createDocumentFragment(),m[y].appendChild(x.$el)}for(const x of u)await s.hooks.callHook("dom:renderTag",x,n,l);m.head&&n.head.appendChild(m.head),m.bodyOpen&&n.body.insertBefore(m.bodyOpen,n.body.firstChild),m.bodyClose&&n.body.appendChild(m.bodyClose),Object.values(f.pendingSideEffects).forEach(x=>x()),s._dom=f,s.dirty=!1,await s.hooks.callHook("dom:rendered",{renders:u})}async function F0(s,o={}){const n=o.delayFn||(i=>setTimeout(i,10));return s._domUpdatePromise=s._domUpdatePromise||new Promise(i=>n(async()=>{await H0(s,o),delete s._domUpdatePromise,i()}))}function B0(s){return o=>{var i,u;const n=((u=(i=o.resolvedOptions.document)==null?void 0:i.head.querySelector('script[id="unhead:payload"]'))==null?void 0:u.innerHTML)||!1;return n&&o.push(JSON.parse(n)),{mode:"client",hooks:{"entries:updated":function(f){F0(f,s)}}}}}const W0=["templateParams","htmlAttrs","bodyAttrs"],N0={hooks:{"tag:normalise":function({tag:s}){["hid","vmid","key"].forEach(i=>{s.props[i]&&(s.key=s.props[i],delete s.props[i])});const n=Pf(s)||(s.key?`${s.tag}:${s.key}`:!1);n&&(s._d=n)},"tags:resolve":function(s){const o={};s.tags.forEach(i=>{const u=(i.key?`${i.tag}:${i.key}`:i._d)||i._p,f=o[u];if(f){let v=i==null?void 0:i.tagDuplicateStrategy;if(!v&&W0.includes(i.tag)&&(v="merge"),v==="merge"){const d=f.props;["class","style"].forEach(m=>{d[m]&&(i.props[m]?(m==="style"&&!d[m].endsWith(";")&&(d[m]+=";"),i.props[m]=`${d[m]} ${i.props[m]}`):i.props[m]=d[m])}),o[u].props={...d,...i.props};return}else if(i._e===f._e){f._duped=f._duped||[],i._d=`${f._d}:${f._duped.length+1}`,f._duped.push(i);return}else if(ro(i)>ro(f))return}const l=Object.keys(i.props).length+(i.innerHTML?1:0)+(i.textContent?1:0);if(qr.includes(i.tag)&&l===0){delete o[u];return}o[u]=i});const n=[];Object.values(o).forEach(i=>{const u=i._duped;delete i._duped,n.push(i),u&&n.push(...u)}),s.tags=n,s.tags=s.tags.filter(i=>!(i.tag==="meta"&&(i.props.name||i.props.property)&&!i.props.content))}}},$0={mode:"server",hooks:{"tags:resolve":function(s){const o={};s.tags.filter(n=>["titleTemplate","templateParams","title"].includes(n.tag)&&n._m==="server").forEach(n=>{o[n.tag]=n.tag.startsWith("title")?n.textContent:n.props}),Object.keys(o).length&&s.tags.push({tag:"script",innerHTML:JSON.stringify(o),props:{id:"unhead:payload",type:"application/json"}})}}},G0=["script","link","bodyAttrs"],U0=s=>({hooks:{"tags:resolve":function(o){for(const n of o.tags.filter(i=>G0.includes(i.tag)))Object.entries(n.props).forEach(([i,u])=>{i.startsWith("on")&&typeof u=="function"&&(s.ssr&&Uu.includes(i)?n.props[i]=`this.dataset.${i}fired = true`:delete n.props[i],n._eventHandlers=n._eventHandlers||{},n._eventHandlers[i]=u)}),s.ssr&&n._eventHandlers&&(n.props.src||n.props.href)&&(n.key=n.key||Qi(n.props.src||n.props.href))},"dom:renderTag":function({$el:o,tag:n}){var i,u;for(const f of Object.keys((o==null?void 0:o.dataset)||{}).filter(l=>Uu.some(v=>`${v}fired`===l))){const l=f.replace("fired","");(u=(i=n._eventHandlers)==null?void 0:i[l])==null||u.call(o,new Event(l.replace("on","")))}}}}),V0=["link","style","script","noscript"],K0={hooks:{"tag:normalise":({tag:s})=>{s.key&&V0.includes(s.tag)&&(s.props["data-hid"]=s._h=Qi(s.key))}}},j0={hooks:{"tags:resolve":s=>{const o=n=>{var i;return(i=s.tags.find(u=>u._d===n))==null?void 0:i._p};for(const{prefix:n,offset:i}of D0)for(const u of s.tags.filter(f=>typeof f.tagPriority=="string"&&f.tagPriority.startsWith(n))){const f=o(u.tagPriority.replace(n,""));typeof f<"u"&&(u._p=f+i)}s.tags.sort((n,i)=>n._p-i._p).sort((n,i)=>ro(n)-ro(i))}}},z0={meta:"content",link:"href",htmlAttrs:"lang"},k0=s=>({hooks:{"tags:resolve":o=>{var v;const{tags:n}=o,i=(v=n.find(d=>d.tag==="title"))==null?void 0:v.textContent,u=n.findIndex(d=>d.tag==="templateParams"),f=u!==-1?n[u].props:{},l=f.separator||"|";delete f.separator,f.pageTitle=eo(f.pageTitle||i||"",f,l);for(const d of n.filter(m=>m.processTemplateParams!==!1)){const m=z0[d.tag];m&&typeof d.props[m]=="string"?d.props[m]=eo(d.props[m],f,l):(d.processTemplateParams===!0||["titleTemplate","title"].includes(d.tag))&&["innerHTML","textContent"].forEach(p=>{typeof d[p]=="string"&&(d[p]=eo(d[p],f,l))})}s._templateParams=f,s._separator=l,o.tags=n.filter(d=>d.tag!=="templateParams")}}}),Z0={hooks:{"tags:resolve":s=>{const{tags:o}=s;let n=o.findIndex(u=>u.tag==="titleTemplate");const i=o.findIndex(u=>u.tag==="title");if(i!==-1&&n!==-1){const u=Nu(o[n].textContent,o[i].textContent);u!==null?o[i].textContent=u||o[i].textContent:delete o[i]}else if(n!==-1){const u=Nu(o[n].textContent);u!==null&&(o[n].textContent=u,o[n].tag="title",n=-1)}n!==-1&&delete o[n],s.tags=o.filter(Boolean)}}},Y0={hooks:{"tags:afterResolve":function(s){for(const o of s.tags)typeof o.innerHTML=="string"&&(o.innerHTML&&["application/ld+json","application/json"].includes(o.props.type)?o.innerHTML=o.innerHTML.replace(/</g,"\\u003C"):o.innerHTML=o.innerHTML.replace(new RegExp(`</${o.tag}`,"g"),`<\\/${o.tag}`))}}};let Df;function X0(s={}){const o=J0(s);return o.use(B0()),Df=o}function Vu(s,o){return!s||s==="server"&&o||s==="client"&&!o}function J0(s={}){const o=L0();o.addHooks(s.hooks||{}),s.document=s.document||(O0?document:void 0);const n=!s.document,i=()=>{v.dirty=!0,o.callHook("entries:updated",v)};let u=0,f=[];const l=[],v={plugins:l,dirty:!1,resolvedOptions:s,hooks:o,headEntries(){return f},use(d){const m=typeof d=="function"?d(v):d;(!m.key||!l.some(p=>p.key===m.key))&&(l.push(m),Vu(m.mode,n)&&o.addHooks(m.hooks||{}))},push(d,m){m==null||delete m.head;const p={_i:u++,input:d,...m};return Vu(p.mode,n)&&(f.push(p),i()),{dispose(){f=f.filter(x=>x._i!==p._i),o.callHook("entries:updated",v),i()},patch(x){f=f.map(y=>(y._i===p._i&&(y.input=p.input=x),y)),i()}}},async resolveTags(){const d={tags:[],entries:[...f]};await o.callHook("entries:resolve",d);for(const m of d.entries){const p=m.resolvedInput||m.input;if(m.resolvedInput=await(m.transform?m.transform(p):p),m.resolvedInput)for(const x of await M0(m)){const y={tag:x,entry:m,resolvedOptions:v.resolvedOptions};await o.callHook("tag:normalise",y),d.tags.push(y.tag)}}return await o.callHook("tags:beforeResolve",d),await o.callHook("tags:resolve",d),await o.callHook("tags:afterResolve",d),d.tags},ssr:n};return[N0,$0,U0,K0,j0,k0,Z0,Y0,...(s==null?void 0:s.plugins)||[]].forEach(d=>v.use(d)),v.hooks.callHook("init",v),v}function Q0(){return Df}const Hf=K1.startsWith("3");function _0(s){return typeof s=="function"?s():cn(s)}function oo(s,o=""){if(s instanceof Promise)return s;const n=_0(s);return!s||!n?n:Array.isArray(n)?n.map(i=>oo(i,o)):typeof n=="object"?Object.fromEntries(Object.entries(n).map(([i,u])=>i==="titleTemplate"||i.startsWith("on")?[i,cn(u)]:[i,oo(u,i)])):n}const q0={hooks:{"entries:resolve":function(s){for(const o of s.entries)o.resolvedInput=oo(o.input)}}},Ff="usehead";function em(s){return{install(n){Hf&&(n.config.globalProperties.$unhead=s,n.config.globalProperties.$head=s,n.provide(Ff,s))}}.install}function tm(s={}){s.domDelayFn=s.domDelayFn||(n=>Xi(()=>setTimeout(()=>n(),0)));const o=X0(s);return o.use(q0),o.install=em(o),o}const Ku=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},ju="__unhead_injection_handler__";function nm(){if(ju in Ku)return Ku[ju]();const s=Ot(Ff);return s||Q0()}function rm(s,o={}){const n=o.head||nm();if(n)return n.ssr?n.push(s,o):om(n,s,o)}function om(s,o,n={}){const i=to(!1),u=to({});xf(()=>{u.value=i.value?{}:oo(o)});const f=s.push(u.value,n);return Ji(u,v=>{f.patch(v)}),Sf()&&(Ef(()=>{f.dispose()}),bf(()=>{i.value=!0}),Lf(()=>{i.value=!1})),f}const im={created(){let s=!1;if(Hf){const o=Sf();if(!o)return;const n=o.type;if(!n||!("head"in n))return;s=typeof n.head=="function"?()=>n.head.call(o.proxy):n.head}else{const o=this.$options.head;o&&(s=typeof o=="function"?()=>o.call(this):o)}s&&rm(s)}},sm="drag-scroller-disable",am=(()=>{const s=new WeakMap;return{mounted(o,n){let i=!1;const{onlyX:u,onlyY:f,disablechild:l}=n.modifiers,v=n.value??{};v.hideScrollbar===!0&&(o.style.overflow="hidden");const d=y=>{if(l)return y===o;for(;y&&y.parentNode;){if(y&&y!=null&&y.hasAttribute(sm))return!1;if(y===o)return!0;y=y.parentNode}return!1},m=y=>{i=d(y.target),i&&v!=null&&v.startScroll&&typeof(v==null?void 0:v.startScroll)=="function"&&v.startScroll(y)},p=y=>{i&&v!=null&&v.endScroll&&typeof(v==null?void 0:v.endScroll)=="function"&&v.endScroll(y),i=!1},x=y=>{if(!i)return!1;v!=null&&v.onScrolling&&typeof(v==null?void 0:v.onScrolling)=="function"&&v.onScrolling(y),y.stopPropagation&&y.stopPropagation(),y.preventDefault&&y.preventDefault(),y.cancelBubble=!0,y.returnValue=!1;const E=(v==null?void 0:v.speed)||1,L=v.reverseDirection?y.movementX*E:-y.movementX*E,A=v.reverseDirection?y.movementY*E:-y.movementY*E;u?o.scrollLeft+=L:(f||(o.scrollLeft+=L),o.scrollTop+=A)};s.set(o,{dragStart:m,dragEnd:p,drag:x}),o.addEventListener("pointerdown",m),addEventListener("pointerup",p),addEventListener("pointermove",x)},unmounted(o){const{dragStart:n,dragEnd:i,drag:u}=s.get(o);o.removeEventListener("pointerdown",n),removeEventListener("pointerup",i),removeEventListener("pointermove",u)}}})(),um={install(s){s.directive("drag-scroller",am)}},Bf={bookmarkFilter:[{title:"All",value:"ALL",default:!0},{title:"Unread",value:"UNREAD"},{title:"In Progress",value:"IN_PROGRESS"},{title:"Read",value:"READ"}],q:"",topGroup:[{title:"Publishers",value:"p",default:!0},{title:"Imprints",value:"i"},{title:"Series",value:"s"},{title:"Volumes",value:"v"},{title:"Issues",value:"c"},{title:"Folders",value:"f"},{title:"Story Arcs",value:"a"}],settingsGroup:[{title:"Publishers",value:"p",default:!0},{title:"Imprints",value:"i"},{title:"Series",value:"s",default:!0},{title:"Volumes",value:"v"}],orderBy:[{title:"Name",value:"sort_name",default:!0},{title:"Publish Date",value:"date"},{title:"Added Time",value:"created_at",reverse:!0},{title:"Last Read",value:"bookmark_updated_at",reverse:!0},{title:"Updated Time",value:"updated_at",reverse:!0},{title:"Page Count",value:"page_count",reverse:!0},{title:"File Size",value:"size",reverse:!0},{title:"Filename",value:"path"},{title:"Critical Rating",value:"critical_rating",reverse:!0},{title:"Community Rating",value:"community_rating",reverse:!0},{title:"Age Rating",value:"age_rating"},{title:"Search Score",value:"search_score",reverse:!0},{title:"Story Arc Number",value:"story_arc_number"}],vuetifyNullCode:-1,groupNames:{p:"Publishers",i:"Imprints",s:"Series",v:"Volumes",c:"Issues",f:"Folders",a:"Story Arcs"},route:{group:"r",pk:0,page:1},identifierTypes:{comicvine:"Comic Vine",comixology:"Comixology",asin:"Amazon",gtin:"GTIN",isbn:"ISBN",upc:"UPC"}},fm={fitTo:[{title:"Fit to Screen",value:"S",default:!0},{title:"Fit to Width",value:"W"},{title:"Fit to Height",value:"H"},{title:"Original Size",value:"O"},{title:"",value:""}],readingDirection:[{title:"Left to Right",value:"ltr",default:!0},{title:"Right to Left",value:"rtl"},{title:"Top to Bottom",value:"ttb"},{title:"Bottom to Top",value:"btt"},{title:"",value:""}]},lm={LIBRARY_CHANGED:"LIBRARY_CHANGED",LIBRARIAN_STATUS:"LIBRARIAN_STATUS",FAILED_IMPORTS:"FAILED_IMPORTS"},Je={browser:Bf,reader:fm,websockets:lm},cm="modulepreload",dm=function(s){return window.CODEX.APP_PATH + "static"+"/"+s},zu={},It=function(o,n,i){let u=Promise.resolve();if(n&&n.length>0){const f=document.getElementsByTagName("link"),l=document.querySelector("meta[property=csp-nonce]"),v=(l==null?void 0:l.nonce)||(l==null?void 0:l.getAttribute("nonce"));u=Promise.all(n.map(d=>{if(d=dm(d),d in zu)return;zu[d]=!0;const m=d.endsWith(".css"),p=m?'[rel="stylesheet"]':"";if(!!i)for(let E=f.length-1;E>=0;E--){const L=f[E];if(L.href===d&&(!m||L.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${d}"]${p}`))return;const y=document.createElement("link");if(y.rel=m?"stylesheet":cm,m||(y.as="script",y.crossOrigin=""),y.href=d,v&&y.setAttribute("nonce",v),document.head.appendChild(y),m)return new Promise((E,L)=>{y.addEventListener("load",E),y.addEventListener("error",()=>L(new Error(`Unable to preload CSS for ${d}`)))})}))}return u.then(()=>o()).catch(f=>{const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=f,window.dispatchEvent(l),!l.defaultPrevented)throw f})};/*!
|
|
8
8
|
* vue-router v4.3.0
|
|
9
9
|
* (c) 2024 Eduardo San Martin Morote
|
|
10
10
|
* @license MIT
|
|
11
|
-
*/const On=typeof document<"u";function hm(s){return s.__esModule||s[Symbol.toStringTag]==="Module"}const Se=Object.assign;function Hi(s,o){const n={};for(const i in o){const u=o[i];n[i]=At(u)?u.map(s):s(u)}return n}const rr=()=>{},At=Array.isArray,Wf=/#/g,pm=/&/g,vm=/\//g,gm=/=/g,mm=/\?/g,Nf=/\+/g,ym=/%5B/g,xm=/%5D/g,$f=/%5E/g,Sm=/%60/g,Gf=/%7B/g,Em=/%7C/g,Uf=/%7D/g,bm=/%20/g;function _i(s){return encodeURI(""+s).replace(Em,"|").replace(ym,"[").replace(xm,"]")}function Lm(s){return _i(s).replace(Gf,"{").replace(Uf,"}").replace($f,"^")}function Vi(s){return _i(s).replace(Nf,"%2B").replace(bm,"+").replace(Wf,"%23").replace(pm,"%26").replace(Sm,"`").replace(Gf,"{").replace(Uf,"}").replace($f,"^")}function Am(s){return Vi(s).replace(gm,"%3D")}function Tm(s){return _i(s).replace(Wf,"%23").replace(mm,"%3F")}function wm(s){return s==null?"":Tm(s).replace(vm,"%2F")}function ir(s){try{return decodeURIComponent(""+s)}catch{}return""+s}const Rm=/\/$/,Om=s=>s.replace(Rm,"");function Fi(s,o,n="/"){let i,u={},f="",l="";const v=o.indexOf("#");let d=o.indexOf("?");return v<d&&v>=0&&(d=-1),d>-1&&(i=o.slice(0,d),f=o.slice(d+1,v>-1?v:o.length),u=s(f)),v>-1&&(i=i||o.slice(0,v),l=o.slice(v,o.length)),i=Mm(i??o,n),{fullPath:i+(f&&"?")+f+l,path:i,query:u,hash:ir(l)}}function Im(s,o){const n=o.query?s(o.query):"";return o.path+(n&&"?")+n+(o.hash||"")}function ku(s,o){return!o||!s.toLowerCase().startsWith(o.toLowerCase())?s:s.slice(o.length)||"/"}function Cm(s,o,n){const i=o.matched.length-1,u=n.matched.length-1;return i>-1&&i===u&&Pn(o.matched[i],n.matched[u])&&Vf(o.params,n.params)&&s(o.query)===s(n.query)&&o.hash===n.hash}function Pn(s,o){return(s.aliasOf||s)===(o.aliasOf||o)}function Vf(s,o){if(Object.keys(s).length!==Object.keys(o).length)return!1;for(const n in s)if(!Pm(s[n],o[n]))return!1;return!0}function Pm(s,o){return At(s)?Zu(s,o):At(o)?Zu(o,s):s===o}function Zu(s,o){return At(o)?s.length===o.length&&s.every((n,i)=>n===o[i]):s.length===1&&s[0]===o}function Mm(s,o){if(s.startsWith("/"))return s;if(!s)return o;const n=o.split("/"),i=s.split("/"),u=i[i.length-1];(u===".."||u===".")&&i.push("");let f=n.length-1,l,v;for(l=0;l<i.length;l++)if(v=i[l],v!==".")if(v==="..")f>1&&f--;else break;return n.slice(0,f).join("/")+"/"+i.slice(l).join("/")}var sr;(function(s){s.pop="pop",s.push="push"})(sr||(sr={}));var or;(function(s){s.back="back",s.forward="forward",s.unknown=""})(or||(or={}));function Dm(s){if(!s)if(On){const o=document.querySelector("base");s=o&&o.getAttribute("href")||"/",s=s.replace(/^\w+:\/\/[^\/]+/,"")}else s="/";return s[0]!=="/"&&s[0]!=="#"&&(s="/"+s),Om(s)}const Hm=/^[^#]+#/;function Fm(s,o){return s.replace(Hm,"#")+o}function Bm(s,o){const n=document.documentElement.getBoundingClientRect(),i=s.getBoundingClientRect();return{behavior:o.behavior,left:i.left-n.left-(o.left||0),top:i.top-n.top-(o.top||0)}}const lo=()=>({left:window.scrollX,top:window.scrollY});function Wm(s){let o;if("el"in s){const n=s.el,i=typeof n=="string"&&n.startsWith("#"),u=typeof n=="string"?i?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!u)return;o=Bm(u,s)}else o=s;"scrollBehavior"in document.documentElement.style?window.scrollTo(o):window.scrollTo(o.left!=null?o.left:window.scrollX,o.top!=null?o.top:window.scrollY)}function Yu(s,o){return(history.state?history.state.position-o:-1)+s}const Ki=new Map;function Nm(s,o){Ki.set(s,o)}function $m(s){const o=Ki.get(s);return Ki.delete(s),o}let Gm=()=>location.protocol+"//"+location.host;function Kf(s,o){const{pathname:n,search:i,hash:u}=o,f=s.indexOf("#");if(f>-1){let v=u.includes(s.slice(f))?s.slice(f).length:1,d=u.slice(v);return d[0]!=="/"&&(d="/"+d),ku(d,"")}return ku(n,s)+i+u}function Um(s,o,n,i){let u=[],f=[],l=null;const v=({state:y})=>{const E=Kf(s,location),L=n.value,A=o.value;let T=0;if(y){if(n.value=E,o.value=y,l&&l===L){l=null;return}T=A?y.position-A.position:0}else i(E);u.forEach(I=>{I(n.value,L,{delta:T,type:sr.pop,direction:T?T>0?or.forward:or.back:or.unknown})})};function d(){l=n.value}function m(y){u.push(y);const E=()=>{const L=u.indexOf(y);L>-1&&u.splice(L,1)};return f.push(E),E}function p(){const{history:y}=window;y.state&&y.replaceState(Se({},y.state,{scroll:lo()}),"")}function x(){for(const y of f)y();f=[],window.removeEventListener("popstate",v),window.removeEventListener("beforeunload",p)}return window.addEventListener("popstate",v),window.addEventListener("beforeunload",p,{passive:!0}),{pauseListeners:d,listen:m,destroy:x}}function Xu(s,o,n,i=!1,u=!1){return{back:s,current:o,forward:n,replaced:i,position:window.history.length,scroll:u?lo():null}}function Vm(s){const{history:o,location:n}=window,i={value:Kf(s,n)},u={value:o.state};u.value||f(i.value,{back:null,current:i.value,forward:null,position:o.length-1,replaced:!0,scroll:null},!0);function f(d,m,p){const x=s.indexOf("#"),y=x>-1?(n.host&&document.querySelector("base")?s:s.slice(x))+d:Gm()+s+d;try{o[p?"replaceState":"pushState"](m,"",y),u.value=m}catch(E){console.error(E),n[p?"replace":"assign"](y)}}function l(d,m){const p=Se({},o.state,Xu(u.value.back,d,u.value.forward,!0),m,{position:u.value.position});f(d,p,!0),i.value=d}function v(d,m){const p=Se({},u.value,o.state,{forward:d,scroll:lo()});f(p.current,p,!0);const x=Se({},Xu(i.value,d,null),{position:p.position+1},m);f(d,x,!1),i.value=d}return{location:i,state:u,push:v,replace:l}}function Km(s){s=Dm(s);const o=Vm(s),n=Um(s,o.state,o.location,o.replace);function i(f,l=!0){l||n.pauseListeners(),history.go(f)}const u=Se({location:"",base:s,go:i,createHref:Fm.bind(null,s)},o,n);return Object.defineProperty(u,"location",{enumerable:!0,get:()=>o.location.value}),Object.defineProperty(u,"state",{enumerable:!0,get:()=>o.state.value}),u}function jm(s){return typeof s=="string"||s&&typeof s=="object"}function jf(s){return typeof s=="string"||typeof s=="symbol"}const _t={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},zf=Symbol("");var Ju;(function(s){s[s.aborted=4]="aborted",s[s.cancelled=8]="cancelled",s[s.duplicated=16]="duplicated"})(Ju||(Ju={}));function Mn(s,o){return Se(new Error,{type:s,[zf]:!0},o)}function $t(s,o){return s instanceof Error&&zf in s&&(o==null||!!(s.type&o))}const Qu="[^/]+?",zm={sensitive:!1,strict:!1,start:!0,end:!0},km=/[.+*?^${}()[\]/\\]/g;function Zm(s,o){const n=Se({},zm,o),i=[];let u=n.start?"^":"";const f=[];for(const m of s){const p=m.length?[]:[90];n.strict&&!m.length&&(u+="/");for(let x=0;x<m.length;x++){const y=m[x];let E=40+(n.sensitive?.25:0);if(y.type===0)x||(u+="/"),u+=y.value.replace(km,"\\$&"),E+=40;else if(y.type===1){const{value:L,repeatable:A,optional:T,regexp:I}=y;f.push({name:L,repeatable:A,optional:T});const O=I||Qu;if(O!==Qu){E+=10;try{new RegExp(`(${O})`)}catch($){throw new Error(`Invalid custom RegExp for param "${L}" (${O}): `+$.message)}}let P=A?`((?:${O})(?:/(?:${O}))*)`:`(${O})`;x||(P=T&&m.length<2?`(?:/${P})`:"/"+P),T&&(P+="?"),u+=P,E+=20,T&&(E+=-8),A&&(E+=-20),O===".*"&&(E+=-50)}p.push(E)}i.push(p)}if(n.strict&&n.end){const m=i.length-1;i[m][i[m].length-1]+=.7000000000000001}n.strict||(u+="/?"),n.end?u+="$":n.strict&&(u+="(?:/|$)");const l=new RegExp(u,n.sensitive?"":"i");function v(m){const p=m.match(l),x={};if(!p)return null;for(let y=1;y<p.length;y++){const E=p[y]||"",L=f[y-1];x[L.name]=E&&L.repeatable?E.split("/"):E}return x}function d(m){let p="",x=!1;for(const y of s){(!x||!p.endsWith("/"))&&(p+="/"),x=!1;for(const E of y)if(E.type===0)p+=E.value;else if(E.type===1){const{value:L,repeatable:A,optional:T}=E,I=L in m?m[L]:"";if(At(I)&&!A)throw new Error(`Provided param "${L}" is an array but it is not repeatable (* or + modifiers)`);const O=At(I)?I.join("/"):I;if(!O)if(T)y.length<2&&(p.endsWith("/")?p=p.slice(0,-1):x=!0);else throw new Error(`Missing required param "${L}"`);p+=O}}return p||"/"}return{re:l,score:i,keys:f,parse:v,stringify:d}}function Ym(s,o){let n=0;for(;n<s.length&&n<o.length;){const i=o[n]-s[n];if(i)return i;n++}return s.length<o.length?s.length===1&&s[0]===80?-1:1:s.length>o.length?o.length===1&&o[0]===80?1:-1:0}function Xm(s,o){let n=0;const i=s.score,u=o.score;for(;n<i.length&&n<u.length;){const f=Ym(i[n],u[n]);if(f)return f;n++}if(Math.abs(u.length-i.length)===1){if(_u(i))return 1;if(_u(u))return-1}return u.length-i.length}function _u(s){const o=s[s.length-1];return s.length>0&&o[o.length-1]<0}const Jm={type:0,value:""},Qm=/[a-zA-Z0-9_]/;function _m(s){if(!s)return[[]];if(s==="/")return[[Jm]];if(!s.startsWith("/"))throw new Error(`Invalid path "${s}"`);function o(E){throw new Error(`ERR (${n})/"${m}": ${E}`)}let n=0,i=n;const u=[];let f;function l(){f&&u.push(f),f=[]}let v=0,d,m="",p="";function x(){m&&(n===0?f.push({type:0,value:m}):n===1||n===2||n===3?(f.length>1&&(d==="*"||d==="+")&&o(`A repeatable param (${m}) must be alone in its segment. eg: '/:ids+.`),f.push({type:1,value:m,regexp:p,repeatable:d==="*"||d==="+",optional:d==="*"||d==="?"})):o("Invalid state to consume buffer"),m="")}function y(){m+=d}for(;v<s.length;){if(d=s[v++],d==="\\"&&n!==2){i=n,n=4;continue}switch(n){case 0:d==="/"?(m&&x(),l()):d===":"?(x(),n=1):y();break;case 4:y(),n=i;break;case 1:d==="("?n=2:Qm.test(d)?y():(x(),n=0,d!=="*"&&d!=="?"&&d!=="+"&&v--);break;case 2:d===")"?p[p.length-1]=="\\"?p=p.slice(0,-1)+d:n=3:p+=d;break;case 3:x(),n=0,d!=="*"&&d!=="?"&&d!=="+"&&v--,p="";break;default:o("Unknown state");break}}return n===2&&o(`Unfinished custom RegExp for param "${m}"`),x(),l(),u}function qm(s,o,n){const i=Zm(_m(s.path),n),u=Se(i,{record:s,parent:o,children:[],alias:[]});return o&&!u.record.aliasOf==!o.record.aliasOf&&o.children.push(u),u}function ey(s,o){const n=[],i=new Map;o=tf({strict:!1,end:!0,sensitive:!1},o);function u(p){return i.get(p)}function f(p,x,y){const E=!y,L=ty(p);L.aliasOf=y&&y.record;const A=tf(o,p),T=[L];if("alias"in p){const P=typeof p.alias=="string"?[p.alias]:p.alias;for(const $ of P)T.push(Se({},L,{components:y?y.record.components:L.components,path:$,aliasOf:y?y.record:L}))}let I,O;for(const P of T){const{path:$}=P;if(x&&$[0]!=="/"){const j=x.record.path,H=j[j.length-1]==="/"?"":"/";P.path=x.record.path+($&&H+$)}if(I=qm(P,x,A),y?y.alias.push(I):(O=O||I,O!==I&&O.alias.push(I),E&&p.name&&!ef(I)&&l(p.name)),L.children){const j=L.children;for(let H=0;H<j.length;H++)f(j[H],I,y&&y.children[H])}y=y||I,(I.record.components&&Object.keys(I.record.components).length||I.record.name||I.record.redirect)&&d(I)}return O?()=>{l(O)}:rr}function l(p){if(jf(p)){const x=i.get(p);x&&(i.delete(p),n.splice(n.indexOf(x),1),x.children.forEach(l),x.alias.forEach(l))}else{const x=n.indexOf(p);x>-1&&(n.splice(x,1),p.record.name&&i.delete(p.record.name),p.children.forEach(l),p.alias.forEach(l))}}function v(){return n}function d(p){let x=0;for(;x<n.length&&Xm(p,n[x])>=0&&(p.record.path!==n[x].record.path||!kf(p,n[x]));)x++;n.splice(x,0,p),p.record.name&&!ef(p)&&i.set(p.record.name,p)}function m(p,x){let y,E={},L,A;if("name"in p&&p.name){if(y=i.get(p.name),!y)throw Mn(1,{location:p});A=y.record.name,E=Se(qu(x.params,y.keys.filter(O=>!O.optional).concat(y.parent?y.parent.keys.filter(O=>O.optional):[]).map(O=>O.name)),p.params&&qu(p.params,y.keys.map(O=>O.name))),L=y.stringify(E)}else if(p.path!=null)L=p.path,y=n.find(O=>O.re.test(L)),y&&(E=y.parse(L),A=y.record.name);else{if(y=x.name?i.get(x.name):n.find(O=>O.re.test(x.path)),!y)throw Mn(1,{location:p,currentLocation:x});A=y.record.name,E=Se({},x.params,p.params),L=y.stringify(E)}const T=[];let I=y;for(;I;)T.unshift(I.record),I=I.parent;return{name:A,path:L,params:E,matched:T,meta:ry(T)}}return s.forEach(p=>f(p)),{addRoute:f,resolve:m,removeRoute:l,getRoutes:v,getRecordMatcher:u}}function qu(s,o){const n={};for(const i of o)i in s&&(n[i]=s[i]);return n}function ty(s){return{path:s.path,redirect:s.redirect,name:s.name,meta:s.meta||{},aliasOf:void 0,beforeEnter:s.beforeEnter,props:ny(s),children:s.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in s?s.components||null:s.component&&{default:s.component}}}function ny(s){const o={},n=s.props||!1;if("component"in s)o.default=n;else for(const i in s.components)o[i]=typeof n=="object"?n[i]:n;return o}function ef(s){for(;s;){if(s.record.aliasOf)return!0;s=s.parent}return!1}function ry(s){return s.reduce((o,n)=>Se(o,n.meta),{})}function tf(s,o){const n={};for(const i in s)n[i]=i in o?o[i]:s[i];return n}function kf(s,o){return o.children.some(n=>n===s||kf(s,n))}function oy(s){const o={};if(s===""||s==="?")return o;const i=(s[0]==="?"?s.slice(1):s).split("&");for(let u=0;u<i.length;++u){const f=i[u].replace(Nf," "),l=f.indexOf("="),v=ir(l<0?f:f.slice(0,l)),d=l<0?null:ir(f.slice(l+1));if(v in o){let m=o[v];At(m)||(m=o[v]=[m]),m.push(d)}else o[v]=d}return o}function nf(s){let o="";for(let n in s){const i=s[n];if(n=Am(n),i==null){i!==void 0&&(o+=(o.length?"&":"")+n);continue}(At(i)?i.map(f=>f&&Vi(f)):[i&&Vi(i)]).forEach(f=>{f!==void 0&&(o+=(o.length?"&":"")+n,f!=null&&(o+="="+f))})}return o}function iy(s){const o={};for(const n in s){const i=s[n];i!==void 0&&(o[n]=At(i)?i.map(u=>u==null?null:""+u):i==null?i:""+i)}return o}const sy=Symbol(""),rf=Symbol(""),qi=Symbol(""),Zf=Symbol(""),ji=Symbol("");function qn(){let s=[];function o(i){return s.push(i),()=>{const u=s.indexOf(i);u>-1&&s.splice(u,1)}}function n(){s=[]}return{add:o,list:()=>s.slice(),reset:n}}function qt(s,o,n,i,u,f=l=>l()){const l=i&&(i.enterCallbacks[u]=i.enterCallbacks[u]||[]);return()=>new Promise((v,d)=>{const m=y=>{y===!1?d(Mn(4,{from:n,to:o})):y instanceof Error?d(y):jm(y)?d(Mn(2,{from:o,to:y})):(l&&i.enterCallbacks[u]===l&&typeof y=="function"&&l.push(y),v())},p=f(()=>s.call(i&&i.instances[u],o,n,m));let x=Promise.resolve(p);s.length<3&&(x=x.then(m)),x.catch(y=>d(y))})}function Bi(s,o,n,i,u=f=>f()){const f=[];for(const l of s)for(const v in l.components){let d=l.components[v];if(!(o!=="beforeRouteEnter"&&!l.instances[v]))if(ay(d)){const p=(d.__vccOpts||d)[o];p&&f.push(qt(p,n,i,l,v,u))}else{let m=d();f.push(()=>m.then(p=>{if(!p)return Promise.reject(new Error(`Couldn't resolve component "${v}" at "${l.path}"`));const x=hm(p)?p.default:p;l.components[v]=x;const E=(x.__vccOpts||x)[o];return E&&qt(E,n,i,l,v,u)()}))}}return f}function ay(s){return typeof s=="object"||"displayName"in s||"props"in s||"__vccOpts"in s}function of(s){const o=Ot(qi),n=Ot(Zf),i=Ae(()=>o.resolve(cn(s.to))),u=Ae(()=>{const{matched:d}=i.value,{length:m}=d,p=d[m-1],x=n.matched;if(!p||!x.length)return-1;const y=x.findIndex(Pn.bind(null,p));if(y>-1)return y;const E=sf(d[m-2]);return m>1&&sf(p)===E&&x[x.length-1].path!==E?x.findIndex(Pn.bind(null,d[m-2])):y}),f=Ae(()=>u.value>-1&&cy(n.params,i.value.params)),l=Ae(()=>u.value>-1&&u.value===n.matched.length-1&&Vf(n.params,i.value.params));function v(d={}){return ly(d)?o[cn(s.replace)?"replace":"push"](cn(s.to)).catch(rr):Promise.resolve()}return{route:i,href:Ae(()=>i.value.href),isActive:f,isExactActive:l,navigate:v}}const uy=Af({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:of,setup(s,{slots:o}){const n=Gt(of(s)),{options:i}=Ot(qi),u=Ae(()=>({[af(s.activeClass,i.linkActiveClass,"router-link-active")]:n.isActive,[af(s.exactActiveClass,i.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const f=o.default&&o.default(n);return s.custom?f:Tf("a",{"aria-current":n.isExactActive?s.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:u.value},f)}}}),fy=uy;function ly(s){if(!(s.metaKey||s.altKey||s.ctrlKey||s.shiftKey)&&!s.defaultPrevented&&!(s.button!==void 0&&s.button!==0)){if(s.currentTarget&&s.currentTarget.getAttribute){const o=s.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(o))return}return s.preventDefault&&s.preventDefault(),!0}}function cy(s,o){for(const n in o){const i=o[n],u=s[n];if(typeof i=="string"){if(i!==u)return!1}else if(!At(u)||u.length!==i.length||i.some((f,l)=>f!==u[l]))return!1}return!0}function sf(s){return s?s.aliasOf?s.aliasOf.path:s.path:""}const af=(s,o,n)=>s??o??n,dy=Af({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(s,{attrs:o,slots:n}){const i=Ot(ji),u=Ae(()=>s.route||i.value),f=Ot(rf,0),l=Ae(()=>{let m=cn(f);const{matched:p}=u.value;let x;for(;(x=p[m])&&!x.components;)m++;return m}),v=Ae(()=>u.value.matched[l.value]);nr(rf,Ae(()=>l.value+1)),nr(sy,v),nr(ji,u);const d=to();return Ji(()=>[d.value,v.value,s.name],([m,p,x],[y,E,L])=>{p&&(p.instances[x]=m,E&&E!==p&&m&&m===y&&(p.leaveGuards.size||(p.leaveGuards=E.leaveGuards),p.updateGuards.size||(p.updateGuards=E.updateGuards))),m&&p&&(!E||!Pn(p,E)||!y)&&(p.enterCallbacks[x]||[]).forEach(A=>A(m))},{flush:"post"}),()=>{const m=u.value,p=s.name,x=v.value,y=x&&x.components[p];if(!y)return uf(n.default,{Component:y,route:m});const E=x.props[p],L=E?E===!0?m.params:typeof E=="function"?E(m):E:null,T=Tf(y,Se({},L,o,{onVnodeUnmounted:I=>{I.component.isUnmounted&&(x.instances[p]=null)},ref:d}));return uf(n.default,{Component:T,route:m})||T}}});function uf(s,o){if(!s)return null;const n=s(o);return n.length===1?n[0]:n}const hy=dy;function py(s){const o=ey(s.routes,s),n=s.parseQuery||oy,i=s.stringifyQuery||nf,u=s.history,f=qn(),l=qn(),v=qn(),d=Cn(_t);let m=_t;On&&s.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const p=Hi.bind(null,W=>""+W),x=Hi.bind(null,wm),y=Hi.bind(null,ir);function E(W,X){let z,_;return jf(W)?(z=o.getRecordMatcher(W),_=X):_=W,o.addRoute(_,z)}function L(W){const X=o.getRecordMatcher(W);X&&o.removeRoute(X)}function A(){return o.getRoutes().map(W=>W.record)}function T(W){return!!o.getRecordMatcher(W)}function I(W,X){if(X=Se({},X||d.value),typeof W=="string"){const ee=Fi(n,W,X.path),we=o.resolve({path:ee.path},X),en=u.createHref(ee.fullPath);return Se(ee,we,{params:y(we.params),hash:ir(ee.hash),redirectedFrom:void 0,href:en})}let z;if(W.path!=null)z=Se({},W,{path:Fi(n,W.path,X.path).path});else{const ee=Se({},W.params);for(const we in ee)ee[we]==null&&delete ee[we];z=Se({},W,{params:x(ee)}),X.params=x(X.params)}const _=o.resolve(z,X),ge=W.hash||"";_.params=p(y(_.params));const Te=Im(i,Se({},W,{hash:Lm(ge),path:_.path})),fe=u.createHref(Te);return Se({fullPath:Te,hash:ge,query:i===nf?iy(W.query):W.query||{}},_,{redirectedFrom:void 0,href:fe})}function O(W){return typeof W=="string"?Fi(n,W,d.value.path):Se({},W)}function P(W,X){if(m!==W)return Mn(8,{from:X,to:W})}function $(W){return G(W)}function j(W){return $(Se(O(W),{replace:!0}))}function H(W){const X=W.matched[W.matched.length-1];if(X&&X.redirect){const{redirect:z}=X;let _=typeof z=="function"?z(W):z;return typeof _=="string"&&(_=_.includes("?")||_.includes("#")?_=O(_):{path:_},_.params={}),Se({query:W.query,hash:W.hash,params:_.path!=null?{}:W.params},_)}}function G(W,X){const z=m=I(W),_=d.value,ge=W.state,Te=W.force,fe=W.replace===!0,ee=H(z);if(ee)return G(Se(O(ee),{state:typeof ee=="object"?Se({},ge,ee.state):ge,force:Te,replace:fe}),X||z);const we=z;we.redirectedFrom=X;let en;return!Te&&Cm(i,_,z)&&(en=Mn(16,{to:we,from:_}),Ce(_,_,!0,!1)),(en?Promise.resolve(en):V(we,_)).catch(Oe=>$t(Oe)?$t(Oe,2)?Oe:ve(Oe):ce(Oe,we,_)).then(Oe=>{if(Oe){if($t(Oe,2))return G(Se({replace:fe},O(Oe.to),{state:typeof Oe.to=="object"?Se({},ge,Oe.to.state):ge,force:Te}),X||we)}else Oe=Z(we,_,!0,fe,ge);return K(we,_,Oe),Oe})}function M(W,X){const z=P(W,X);return z?Promise.reject(z):Promise.resolve()}function N(W){const X=vt.values().next().value;return X&&typeof X.runWithContext=="function"?X.runWithContext(W):W()}function V(W,X){let z;const[_,ge,Te]=vy(W,X);z=Bi(_.reverse(),"beforeRouteLeave",W,X);for(const ee of _)ee.leaveGuards.forEach(we=>{z.push(qt(we,W,X))});const fe=M.bind(null,W,X);return z.push(fe),De(z).then(()=>{z=[];for(const ee of f.list())z.push(qt(ee,W,X));return z.push(fe),De(z)}).then(()=>{z=Bi(ge,"beforeRouteUpdate",W,X);for(const ee of ge)ee.updateGuards.forEach(we=>{z.push(qt(we,W,X))});return z.push(fe),De(z)}).then(()=>{z=[];for(const ee of Te)if(ee.beforeEnter)if(At(ee.beforeEnter))for(const we of ee.beforeEnter)z.push(qt(we,W,X));else z.push(qt(ee.beforeEnter,W,X));return z.push(fe),De(z)}).then(()=>(W.matched.forEach(ee=>ee.enterCallbacks={}),z=Bi(Te,"beforeRouteEnter",W,X,N),z.push(fe),De(z))).then(()=>{z=[];for(const ee of l.list())z.push(qt(ee,W,X));return z.push(fe),De(z)}).catch(ee=>$t(ee,8)?ee:Promise.reject(ee))}function K(W,X,z){v.list().forEach(_=>N(()=>_(W,X,z)))}function Z(W,X,z,_,ge){const Te=P(W,X);if(Te)return Te;const fe=X===_t,ee=On?history.state:{};z&&(_||fe?u.replace(W.fullPath,Se({scroll:fe&&ee&&ee.scroll},ge)):u.push(W.fullPath,ge)),d.value=W,Ce(W,X,z,fe),ve()}let Y;function pe(){Y||(Y=u.listen((W,X,z)=>{const _=I(W),ge=H(_);if(ge){G(Se(ge,{replace:!0}),_).catch(rr);return}m=_;const Te=d.value;On&&Nm(Yu(Te.fullPath,z.delta),lo()),V(_,Te).catch(fe=>$t(fe,12)?fe:$t(fe,2)?(G(fe.to,_).then(ee=>{$t(ee,20)&&!z.delta&&z.type===sr.pop&&u.go(-1,!1)}).catch(rr),Promise.reject()):(z.delta&&u.go(-z.delta,!1),ce(fe,_,Te))).then(fe=>{fe=fe||Z(_,Te,!1),fe&&(z.delta&&!$t(fe,8)?u.go(-z.delta,!1):z.type===sr.pop&&$t(fe,20)&&u.go(-1,!1)),K(_,Te,fe)}).catch(rr)}))}let Ee=qn(),We=qn(),ue;function ce(W,X,z){ve(W);const _=We.list();return _.length?_.forEach(ge=>ge(W,X,z)):console.error(W),Promise.reject(W)}function Me(){return ue&&d.value!==_t?Promise.resolve():new Promise((W,X)=>{Ee.add([W,X])})}function ve(W){return ue||(ue=!W,pe(),Ee.list().forEach(([X,z])=>W?z(W):X()),Ee.reset()),W}function Ce(W,X,z,_){const{scrollBehavior:ge}=s;if(!On||!ge)return Promise.resolve();const Te=!z&&$m(Yu(W.fullPath,0))||(_||!z)&&history.state&&history.state.scroll||null;return Xi().then(()=>ge(W,X,Te)).then(fe=>fe&&Wm(fe)).catch(fe=>ce(fe,W,X))}const je=W=>u.go(W);let Ge;const vt=new Set,gt={currentRoute:d,listening:!0,addRoute:E,removeRoute:L,hasRoute:T,getRoutes:A,resolve:I,options:s,push:$,replace:j,go:je,back:()=>je(-1),forward:()=>je(1),beforeEach:f.add,beforeResolve:l.add,afterEach:v.add,onError:We.add,isReady:Me,install(W){const X=this;W.component("RouterLink",fy),W.component("RouterView",hy),W.config.globalProperties.$router=X,Object.defineProperty(W.config.globalProperties,"$route",{enumerable:!0,get:()=>cn(d)}),On&&!Ge&&d.value===_t&&(Ge=!0,$(u.location).catch(ge=>{}));const z={};for(const ge in _t)Object.defineProperty(z,ge,{get:()=>d.value[ge],enumerable:!0});W.provide(qi,X),W.provide(Zf,j1(z)),W.provide(ji,d);const _=W.unmount;vt.add(W),W.unmount=function(){vt.delete(W),vt.size<1&&(m=_t,Y&&Y(),Y=null,d.value=_t,Ge=!1,ue=!1),_()}}};function De(W){return W.reduce((X,z)=>X.then(()=>N(z)),Promise.resolve())}return gt}function vy(s,o){const n=[],i=[],u=[],f=Math.max(o.matched.length,s.matched.length);for(let l=0;l<f;l++){const v=o.matched[l];v&&(s.matched.find(m=>Pn(m,v))?i.push(v):n.push(v));const d=s.matched[l];d&&(o.matched.find(m=>Pn(m,d))||u.push(d))}return[n,i,u]}const gy=()=>It(()=>import("./admin-B0qtMbYo.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18])),my=()=>It(()=>import("./browser-B-4o2klP.js"),__vite__mapDeps([19,1,2,3,4,5,6,7,8,9,10,11,12,13,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,16,17,35])),yy=()=>It(()=>import("./http-error-C23KyICQ.js"),__vite__mapDeps([36,2,3,16,17,37])),xy=()=>It(()=>import("./reader-CNqxQvt9.js"),__vite__mapDeps([38,1,2,3,4,5,6,7,8,9,10,11,12,13,20,21,22,23,24,25,14,15,39,40,31,32,41,42,16,17,43])),Sy=()=>It(()=>import("./flag-tab-DMgtpnoL.js"),__vite__mapDeps([44,2,3,29,30,31,22,9,10,32,45])),Ey=()=>It(()=>import("./user-tab-DH1Xzfcb.js"),__vite__mapDeps([46,7,8,5,2,3,6,9,10,11,12,47,33,34,21,22,23,29,30,27,48,49,50,31,32])),by=()=>It(()=>import("./group-tab-ChO_Opmg.js"),__vite__mapDeps([51,47,2,3,8,5,6,9,10,11,33,34,21,22,23,29,30,27,48,39,40,52])),Ly=()=>It(()=>import("./library-tab-DrLWFLoD.js"),__vite__mapDeps([53,33,5,2,3,6,34,47,8,9,10,11,21,22,23,29,30,27,48,49,50,41,42,26,28,31,32,54])),Ay=()=>It(()=>import("./task-tab-Chc8Xt1f.js"),__vite__mapDeps([55,33,5,2,3,6,34,56])),Ty=()=>It(()=>import("./stats-tab-CoaUKmOP.js"),__vite__mapDeps([57,33,5,2,3,6,34,4,24,29,30,58])),wy={name:"browser",params:window.CODEX.LAST_ROUTE||Bf.route},Ry=[{name:"home",path:"/",redirect:wy},{name:"reader",path:"/c/:pk/:page",component:xy},{name:"browser",path:"/:group/:pk/:page",component:my},{name:"admin",path:"/admin",component:gy,redirect:"/admin/libraries",children:[{name:"admin-users",path:"users",component:Ey},{name:"admin-groups",path:"groups",component:by},{name:"admin-libraries",path:"libraries",component:Ly},{name:"admin-flags",path:"flags",component:Sy},{name:"admin-tasks",path:"tasks",component:Ay},{name:"admin-stats",path:"stats",component:Ty}]},{name:"error",path:"/error/:code",component:yy,props:!0},{name:"404",path:"/:pathMatch(.*)*",redirect:"/error/404"}],Lt=new py({history:Km(window.CODEX.APP_PATH),routes:Ry});var er=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Yf(s){return s&&s.__esModule&&Object.prototype.hasOwnProperty.call(s,"default")?s.default:s}function Y2(s){if(s.__esModule)return s;var o=s.default;if(typeof o=="function"){var n=function i(){return this instanceof i?Reflect.construct(o,arguments,this.constructor):o.apply(this,arguments)};n.prototype=o.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(s).forEach(function(i){var u=Object.getOwnPropertyDescriptor(s,i);Object.defineProperty(n,i,u.get?u:{enumerable:!0,get:function(){return s[i]}})}),n}var io={exports:{}};/**
|
|
11
|
+
*/const On=typeof document<"u";function hm(s){return s.__esModule||s[Symbol.toStringTag]==="Module"}const Se=Object.assign;function Hi(s,o){const n={};for(const i in o){const u=o[i];n[i]=At(u)?u.map(s):s(u)}return n}const rr=()=>{},At=Array.isArray,Wf=/#/g,pm=/&/g,vm=/\//g,gm=/=/g,mm=/\?/g,Nf=/\+/g,ym=/%5B/g,xm=/%5D/g,$f=/%5E/g,Sm=/%60/g,Gf=/%7B/g,Em=/%7C/g,Uf=/%7D/g,bm=/%20/g;function _i(s){return encodeURI(""+s).replace(Em,"|").replace(ym,"[").replace(xm,"]")}function Lm(s){return _i(s).replace(Gf,"{").replace(Uf,"}").replace($f,"^")}function Vi(s){return _i(s).replace(Nf,"%2B").replace(bm,"+").replace(Wf,"%23").replace(pm,"%26").replace(Sm,"`").replace(Gf,"{").replace(Uf,"}").replace($f,"^")}function Am(s){return Vi(s).replace(gm,"%3D")}function Tm(s){return _i(s).replace(Wf,"%23").replace(mm,"%3F")}function wm(s){return s==null?"":Tm(s).replace(vm,"%2F")}function ir(s){try{return decodeURIComponent(""+s)}catch{}return""+s}const Rm=/\/$/,Om=s=>s.replace(Rm,"");function Fi(s,o,n="/"){let i,u={},f="",l="";const v=o.indexOf("#");let d=o.indexOf("?");return v<d&&v>=0&&(d=-1),d>-1&&(i=o.slice(0,d),f=o.slice(d+1,v>-1?v:o.length),u=s(f)),v>-1&&(i=i||o.slice(0,v),l=o.slice(v,o.length)),i=Mm(i??o,n),{fullPath:i+(f&&"?")+f+l,path:i,query:u,hash:ir(l)}}function Im(s,o){const n=o.query?s(o.query):"";return o.path+(n&&"?")+n+(o.hash||"")}function ku(s,o){return!o||!s.toLowerCase().startsWith(o.toLowerCase())?s:s.slice(o.length)||"/"}function Cm(s,o,n){const i=o.matched.length-1,u=n.matched.length-1;return i>-1&&i===u&&Pn(o.matched[i],n.matched[u])&&Vf(o.params,n.params)&&s(o.query)===s(n.query)&&o.hash===n.hash}function Pn(s,o){return(s.aliasOf||s)===(o.aliasOf||o)}function Vf(s,o){if(Object.keys(s).length!==Object.keys(o).length)return!1;for(const n in s)if(!Pm(s[n],o[n]))return!1;return!0}function Pm(s,o){return At(s)?Zu(s,o):At(o)?Zu(o,s):s===o}function Zu(s,o){return At(o)?s.length===o.length&&s.every((n,i)=>n===o[i]):s.length===1&&s[0]===o}function Mm(s,o){if(s.startsWith("/"))return s;if(!s)return o;const n=o.split("/"),i=s.split("/"),u=i[i.length-1];(u===".."||u===".")&&i.push("");let f=n.length-1,l,v;for(l=0;l<i.length;l++)if(v=i[l],v!==".")if(v==="..")f>1&&f--;else break;return n.slice(0,f).join("/")+"/"+i.slice(l).join("/")}var sr;(function(s){s.pop="pop",s.push="push"})(sr||(sr={}));var or;(function(s){s.back="back",s.forward="forward",s.unknown=""})(or||(or={}));function Dm(s){if(!s)if(On){const o=document.querySelector("base");s=o&&o.getAttribute("href")||"/",s=s.replace(/^\w+:\/\/[^\/]+/,"")}else s="/";return s[0]!=="/"&&s[0]!=="#"&&(s="/"+s),Om(s)}const Hm=/^[^#]+#/;function Fm(s,o){return s.replace(Hm,"#")+o}function Bm(s,o){const n=document.documentElement.getBoundingClientRect(),i=s.getBoundingClientRect();return{behavior:o.behavior,left:i.left-n.left-(o.left||0),top:i.top-n.top-(o.top||0)}}const lo=()=>({left:window.scrollX,top:window.scrollY});function Wm(s){let o;if("el"in s){const n=s.el,i=typeof n=="string"&&n.startsWith("#"),u=typeof n=="string"?i?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!u)return;o=Bm(u,s)}else o=s;"scrollBehavior"in document.documentElement.style?window.scrollTo(o):window.scrollTo(o.left!=null?o.left:window.scrollX,o.top!=null?o.top:window.scrollY)}function Yu(s,o){return(history.state?history.state.position-o:-1)+s}const Ki=new Map;function Nm(s,o){Ki.set(s,o)}function $m(s){const o=Ki.get(s);return Ki.delete(s),o}let Gm=()=>location.protocol+"//"+location.host;function Kf(s,o){const{pathname:n,search:i,hash:u}=o,f=s.indexOf("#");if(f>-1){let v=u.includes(s.slice(f))?s.slice(f).length:1,d=u.slice(v);return d[0]!=="/"&&(d="/"+d),ku(d,"")}return ku(n,s)+i+u}function Um(s,o,n,i){let u=[],f=[],l=null;const v=({state:y})=>{const E=Kf(s,location),L=n.value,A=o.value;let T=0;if(y){if(n.value=E,o.value=y,l&&l===L){l=null;return}T=A?y.position-A.position:0}else i(E);u.forEach(I=>{I(n.value,L,{delta:T,type:sr.pop,direction:T?T>0?or.forward:or.back:or.unknown})})};function d(){l=n.value}function m(y){u.push(y);const E=()=>{const L=u.indexOf(y);L>-1&&u.splice(L,1)};return f.push(E),E}function p(){const{history:y}=window;y.state&&y.replaceState(Se({},y.state,{scroll:lo()}),"")}function x(){for(const y of f)y();f=[],window.removeEventListener("popstate",v),window.removeEventListener("beforeunload",p)}return window.addEventListener("popstate",v),window.addEventListener("beforeunload",p,{passive:!0}),{pauseListeners:d,listen:m,destroy:x}}function Xu(s,o,n,i=!1,u=!1){return{back:s,current:o,forward:n,replaced:i,position:window.history.length,scroll:u?lo():null}}function Vm(s){const{history:o,location:n}=window,i={value:Kf(s,n)},u={value:o.state};u.value||f(i.value,{back:null,current:i.value,forward:null,position:o.length-1,replaced:!0,scroll:null},!0);function f(d,m,p){const x=s.indexOf("#"),y=x>-1?(n.host&&document.querySelector("base")?s:s.slice(x))+d:Gm()+s+d;try{o[p?"replaceState":"pushState"](m,"",y),u.value=m}catch(E){console.error(E),n[p?"replace":"assign"](y)}}function l(d,m){const p=Se({},o.state,Xu(u.value.back,d,u.value.forward,!0),m,{position:u.value.position});f(d,p,!0),i.value=d}function v(d,m){const p=Se({},u.value,o.state,{forward:d,scroll:lo()});f(p.current,p,!0);const x=Se({},Xu(i.value,d,null),{position:p.position+1},m);f(d,x,!1),i.value=d}return{location:i,state:u,push:v,replace:l}}function Km(s){s=Dm(s);const o=Vm(s),n=Um(s,o.state,o.location,o.replace);function i(f,l=!0){l||n.pauseListeners(),history.go(f)}const u=Se({location:"",base:s,go:i,createHref:Fm.bind(null,s)},o,n);return Object.defineProperty(u,"location",{enumerable:!0,get:()=>o.location.value}),Object.defineProperty(u,"state",{enumerable:!0,get:()=>o.state.value}),u}function jm(s){return typeof s=="string"||s&&typeof s=="object"}function jf(s){return typeof s=="string"||typeof s=="symbol"}const _t={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},zf=Symbol("");var Ju;(function(s){s[s.aborted=4]="aborted",s[s.cancelled=8]="cancelled",s[s.duplicated=16]="duplicated"})(Ju||(Ju={}));function Mn(s,o){return Se(new Error,{type:s,[zf]:!0},o)}function $t(s,o){return s instanceof Error&&zf in s&&(o==null||!!(s.type&o))}const Qu="[^/]+?",zm={sensitive:!1,strict:!1,start:!0,end:!0},km=/[.+*?^${}()[\]/\\]/g;function Zm(s,o){const n=Se({},zm,o),i=[];let u=n.start?"^":"";const f=[];for(const m of s){const p=m.length?[]:[90];n.strict&&!m.length&&(u+="/");for(let x=0;x<m.length;x++){const y=m[x];let E=40+(n.sensitive?.25:0);if(y.type===0)x||(u+="/"),u+=y.value.replace(km,"\\$&"),E+=40;else if(y.type===1){const{value:L,repeatable:A,optional:T,regexp:I}=y;f.push({name:L,repeatable:A,optional:T});const O=I||Qu;if(O!==Qu){E+=10;try{new RegExp(`(${O})`)}catch($){throw new Error(`Invalid custom RegExp for param "${L}" (${O}): `+$.message)}}let P=A?`((?:${O})(?:/(?:${O}))*)`:`(${O})`;x||(P=T&&m.length<2?`(?:/${P})`:"/"+P),T&&(P+="?"),u+=P,E+=20,T&&(E+=-8),A&&(E+=-20),O===".*"&&(E+=-50)}p.push(E)}i.push(p)}if(n.strict&&n.end){const m=i.length-1;i[m][i[m].length-1]+=.7000000000000001}n.strict||(u+="/?"),n.end?u+="$":n.strict&&(u+="(?:/|$)");const l=new RegExp(u,n.sensitive?"":"i");function v(m){const p=m.match(l),x={};if(!p)return null;for(let y=1;y<p.length;y++){const E=p[y]||"",L=f[y-1];x[L.name]=E&&L.repeatable?E.split("/"):E}return x}function d(m){let p="",x=!1;for(const y of s){(!x||!p.endsWith("/"))&&(p+="/"),x=!1;for(const E of y)if(E.type===0)p+=E.value;else if(E.type===1){const{value:L,repeatable:A,optional:T}=E,I=L in m?m[L]:"";if(At(I)&&!A)throw new Error(`Provided param "${L}" is an array but it is not repeatable (* or + modifiers)`);const O=At(I)?I.join("/"):I;if(!O)if(T)y.length<2&&(p.endsWith("/")?p=p.slice(0,-1):x=!0);else throw new Error(`Missing required param "${L}"`);p+=O}}return p||"/"}return{re:l,score:i,keys:f,parse:v,stringify:d}}function Ym(s,o){let n=0;for(;n<s.length&&n<o.length;){const i=o[n]-s[n];if(i)return i;n++}return s.length<o.length?s.length===1&&s[0]===80?-1:1:s.length>o.length?o.length===1&&o[0]===80?1:-1:0}function Xm(s,o){let n=0;const i=s.score,u=o.score;for(;n<i.length&&n<u.length;){const f=Ym(i[n],u[n]);if(f)return f;n++}if(Math.abs(u.length-i.length)===1){if(_u(i))return 1;if(_u(u))return-1}return u.length-i.length}function _u(s){const o=s[s.length-1];return s.length>0&&o[o.length-1]<0}const Jm={type:0,value:""},Qm=/[a-zA-Z0-9_]/;function _m(s){if(!s)return[[]];if(s==="/")return[[Jm]];if(!s.startsWith("/"))throw new Error(`Invalid path "${s}"`);function o(E){throw new Error(`ERR (${n})/"${m}": ${E}`)}let n=0,i=n;const u=[];let f;function l(){f&&u.push(f),f=[]}let v=0,d,m="",p="";function x(){m&&(n===0?f.push({type:0,value:m}):n===1||n===2||n===3?(f.length>1&&(d==="*"||d==="+")&&o(`A repeatable param (${m}) must be alone in its segment. eg: '/:ids+.`),f.push({type:1,value:m,regexp:p,repeatable:d==="*"||d==="+",optional:d==="*"||d==="?"})):o("Invalid state to consume buffer"),m="")}function y(){m+=d}for(;v<s.length;){if(d=s[v++],d==="\\"&&n!==2){i=n,n=4;continue}switch(n){case 0:d==="/"?(m&&x(),l()):d===":"?(x(),n=1):y();break;case 4:y(),n=i;break;case 1:d==="("?n=2:Qm.test(d)?y():(x(),n=0,d!=="*"&&d!=="?"&&d!=="+"&&v--);break;case 2:d===")"?p[p.length-1]=="\\"?p=p.slice(0,-1)+d:n=3:p+=d;break;case 3:x(),n=0,d!=="*"&&d!=="?"&&d!=="+"&&v--,p="";break;default:o("Unknown state");break}}return n===2&&o(`Unfinished custom RegExp for param "${m}"`),x(),l(),u}function qm(s,o,n){const i=Zm(_m(s.path),n),u=Se(i,{record:s,parent:o,children:[],alias:[]});return o&&!u.record.aliasOf==!o.record.aliasOf&&o.children.push(u),u}function ey(s,o){const n=[],i=new Map;o=tf({strict:!1,end:!0,sensitive:!1},o);function u(p){return i.get(p)}function f(p,x,y){const E=!y,L=ty(p);L.aliasOf=y&&y.record;const A=tf(o,p),T=[L];if("alias"in p){const P=typeof p.alias=="string"?[p.alias]:p.alias;for(const $ of P)T.push(Se({},L,{components:y?y.record.components:L.components,path:$,aliasOf:y?y.record:L}))}let I,O;for(const P of T){const{path:$}=P;if(x&&$[0]!=="/"){const j=x.record.path,H=j[j.length-1]==="/"?"":"/";P.path=x.record.path+($&&H+$)}if(I=qm(P,x,A),y?y.alias.push(I):(O=O||I,O!==I&&O.alias.push(I),E&&p.name&&!ef(I)&&l(p.name)),L.children){const j=L.children;for(let H=0;H<j.length;H++)f(j[H],I,y&&y.children[H])}y=y||I,(I.record.components&&Object.keys(I.record.components).length||I.record.name||I.record.redirect)&&d(I)}return O?()=>{l(O)}:rr}function l(p){if(jf(p)){const x=i.get(p);x&&(i.delete(p),n.splice(n.indexOf(x),1),x.children.forEach(l),x.alias.forEach(l))}else{const x=n.indexOf(p);x>-1&&(n.splice(x,1),p.record.name&&i.delete(p.record.name),p.children.forEach(l),p.alias.forEach(l))}}function v(){return n}function d(p){let x=0;for(;x<n.length&&Xm(p,n[x])>=0&&(p.record.path!==n[x].record.path||!kf(p,n[x]));)x++;n.splice(x,0,p),p.record.name&&!ef(p)&&i.set(p.record.name,p)}function m(p,x){let y,E={},L,A;if("name"in p&&p.name){if(y=i.get(p.name),!y)throw Mn(1,{location:p});A=y.record.name,E=Se(qu(x.params,y.keys.filter(O=>!O.optional).concat(y.parent?y.parent.keys.filter(O=>O.optional):[]).map(O=>O.name)),p.params&&qu(p.params,y.keys.map(O=>O.name))),L=y.stringify(E)}else if(p.path!=null)L=p.path,y=n.find(O=>O.re.test(L)),y&&(E=y.parse(L),A=y.record.name);else{if(y=x.name?i.get(x.name):n.find(O=>O.re.test(x.path)),!y)throw Mn(1,{location:p,currentLocation:x});A=y.record.name,E=Se({},x.params,p.params),L=y.stringify(E)}const T=[];let I=y;for(;I;)T.unshift(I.record),I=I.parent;return{name:A,path:L,params:E,matched:T,meta:ry(T)}}return s.forEach(p=>f(p)),{addRoute:f,resolve:m,removeRoute:l,getRoutes:v,getRecordMatcher:u}}function qu(s,o){const n={};for(const i of o)i in s&&(n[i]=s[i]);return n}function ty(s){return{path:s.path,redirect:s.redirect,name:s.name,meta:s.meta||{},aliasOf:void 0,beforeEnter:s.beforeEnter,props:ny(s),children:s.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in s?s.components||null:s.component&&{default:s.component}}}function ny(s){const o={},n=s.props||!1;if("component"in s)o.default=n;else for(const i in s.components)o[i]=typeof n=="object"?n[i]:n;return o}function ef(s){for(;s;){if(s.record.aliasOf)return!0;s=s.parent}return!1}function ry(s){return s.reduce((o,n)=>Se(o,n.meta),{})}function tf(s,o){const n={};for(const i in s)n[i]=i in o?o[i]:s[i];return n}function kf(s,o){return o.children.some(n=>n===s||kf(s,n))}function oy(s){const o={};if(s===""||s==="?")return o;const i=(s[0]==="?"?s.slice(1):s).split("&");for(let u=0;u<i.length;++u){const f=i[u].replace(Nf," "),l=f.indexOf("="),v=ir(l<0?f:f.slice(0,l)),d=l<0?null:ir(f.slice(l+1));if(v in o){let m=o[v];At(m)||(m=o[v]=[m]),m.push(d)}else o[v]=d}return o}function nf(s){let o="";for(let n in s){const i=s[n];if(n=Am(n),i==null){i!==void 0&&(o+=(o.length?"&":"")+n);continue}(At(i)?i.map(f=>f&&Vi(f)):[i&&Vi(i)]).forEach(f=>{f!==void 0&&(o+=(o.length?"&":"")+n,f!=null&&(o+="="+f))})}return o}function iy(s){const o={};for(const n in s){const i=s[n];i!==void 0&&(o[n]=At(i)?i.map(u=>u==null?null:""+u):i==null?i:""+i)}return o}const sy=Symbol(""),rf=Symbol(""),qi=Symbol(""),Zf=Symbol(""),ji=Symbol("");function qn(){let s=[];function o(i){return s.push(i),()=>{const u=s.indexOf(i);u>-1&&s.splice(u,1)}}function n(){s=[]}return{add:o,list:()=>s.slice(),reset:n}}function qt(s,o,n,i,u,f=l=>l()){const l=i&&(i.enterCallbacks[u]=i.enterCallbacks[u]||[]);return()=>new Promise((v,d)=>{const m=y=>{y===!1?d(Mn(4,{from:n,to:o})):y instanceof Error?d(y):jm(y)?d(Mn(2,{from:o,to:y})):(l&&i.enterCallbacks[u]===l&&typeof y=="function"&&l.push(y),v())},p=f(()=>s.call(i&&i.instances[u],o,n,m));let x=Promise.resolve(p);s.length<3&&(x=x.then(m)),x.catch(y=>d(y))})}function Bi(s,o,n,i,u=f=>f()){const f=[];for(const l of s)for(const v in l.components){let d=l.components[v];if(!(o!=="beforeRouteEnter"&&!l.instances[v]))if(ay(d)){const p=(d.__vccOpts||d)[o];p&&f.push(qt(p,n,i,l,v,u))}else{let m=d();f.push(()=>m.then(p=>{if(!p)return Promise.reject(new Error(`Couldn't resolve component "${v}" at "${l.path}"`));const x=hm(p)?p.default:p;l.components[v]=x;const E=(x.__vccOpts||x)[o];return E&&qt(E,n,i,l,v,u)()}))}}return f}function ay(s){return typeof s=="object"||"displayName"in s||"props"in s||"__vccOpts"in s}function of(s){const o=Ot(qi),n=Ot(Zf),i=Ae(()=>o.resolve(cn(s.to))),u=Ae(()=>{const{matched:d}=i.value,{length:m}=d,p=d[m-1],x=n.matched;if(!p||!x.length)return-1;const y=x.findIndex(Pn.bind(null,p));if(y>-1)return y;const E=sf(d[m-2]);return m>1&&sf(p)===E&&x[x.length-1].path!==E?x.findIndex(Pn.bind(null,d[m-2])):y}),f=Ae(()=>u.value>-1&&cy(n.params,i.value.params)),l=Ae(()=>u.value>-1&&u.value===n.matched.length-1&&Vf(n.params,i.value.params));function v(d={}){return ly(d)?o[cn(s.replace)?"replace":"push"](cn(s.to)).catch(rr):Promise.resolve()}return{route:i,href:Ae(()=>i.value.href),isActive:f,isExactActive:l,navigate:v}}const uy=Af({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:of,setup(s,{slots:o}){const n=Gt(of(s)),{options:i}=Ot(qi),u=Ae(()=>({[af(s.activeClass,i.linkActiveClass,"router-link-active")]:n.isActive,[af(s.exactActiveClass,i.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const f=o.default&&o.default(n);return s.custom?f:Tf("a",{"aria-current":n.isExactActive?s.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:u.value},f)}}}),fy=uy;function ly(s){if(!(s.metaKey||s.altKey||s.ctrlKey||s.shiftKey)&&!s.defaultPrevented&&!(s.button!==void 0&&s.button!==0)){if(s.currentTarget&&s.currentTarget.getAttribute){const o=s.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(o))return}return s.preventDefault&&s.preventDefault(),!0}}function cy(s,o){for(const n in o){const i=o[n],u=s[n];if(typeof i=="string"){if(i!==u)return!1}else if(!At(u)||u.length!==i.length||i.some((f,l)=>f!==u[l]))return!1}return!0}function sf(s){return s?s.aliasOf?s.aliasOf.path:s.path:""}const af=(s,o,n)=>s??o??n,dy=Af({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(s,{attrs:o,slots:n}){const i=Ot(ji),u=Ae(()=>s.route||i.value),f=Ot(rf,0),l=Ae(()=>{let m=cn(f);const{matched:p}=u.value;let x;for(;(x=p[m])&&!x.components;)m++;return m}),v=Ae(()=>u.value.matched[l.value]);nr(rf,Ae(()=>l.value+1)),nr(sy,v),nr(ji,u);const d=to();return Ji(()=>[d.value,v.value,s.name],([m,p,x],[y,E,L])=>{p&&(p.instances[x]=m,E&&E!==p&&m&&m===y&&(p.leaveGuards.size||(p.leaveGuards=E.leaveGuards),p.updateGuards.size||(p.updateGuards=E.updateGuards))),m&&p&&(!E||!Pn(p,E)||!y)&&(p.enterCallbacks[x]||[]).forEach(A=>A(m))},{flush:"post"}),()=>{const m=u.value,p=s.name,x=v.value,y=x&&x.components[p];if(!y)return uf(n.default,{Component:y,route:m});const E=x.props[p],L=E?E===!0?m.params:typeof E=="function"?E(m):E:null,T=Tf(y,Se({},L,o,{onVnodeUnmounted:I=>{I.component.isUnmounted&&(x.instances[p]=null)},ref:d}));return uf(n.default,{Component:T,route:m})||T}}});function uf(s,o){if(!s)return null;const n=s(o);return n.length===1?n[0]:n}const hy=dy;function py(s){const o=ey(s.routes,s),n=s.parseQuery||oy,i=s.stringifyQuery||nf,u=s.history,f=qn(),l=qn(),v=qn(),d=Cn(_t);let m=_t;On&&s.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const p=Hi.bind(null,W=>""+W),x=Hi.bind(null,wm),y=Hi.bind(null,ir);function E(W,X){let z,_;return jf(W)?(z=o.getRecordMatcher(W),_=X):_=W,o.addRoute(_,z)}function L(W){const X=o.getRecordMatcher(W);X&&o.removeRoute(X)}function A(){return o.getRoutes().map(W=>W.record)}function T(W){return!!o.getRecordMatcher(W)}function I(W,X){if(X=Se({},X||d.value),typeof W=="string"){const ee=Fi(n,W,X.path),we=o.resolve({path:ee.path},X),en=u.createHref(ee.fullPath);return Se(ee,we,{params:y(we.params),hash:ir(ee.hash),redirectedFrom:void 0,href:en})}let z;if(W.path!=null)z=Se({},W,{path:Fi(n,W.path,X.path).path});else{const ee=Se({},W.params);for(const we in ee)ee[we]==null&&delete ee[we];z=Se({},W,{params:x(ee)}),X.params=x(X.params)}const _=o.resolve(z,X),ge=W.hash||"";_.params=p(y(_.params));const Te=Im(i,Se({},W,{hash:Lm(ge),path:_.path})),fe=u.createHref(Te);return Se({fullPath:Te,hash:ge,query:i===nf?iy(W.query):W.query||{}},_,{redirectedFrom:void 0,href:fe})}function O(W){return typeof W=="string"?Fi(n,W,d.value.path):Se({},W)}function P(W,X){if(m!==W)return Mn(8,{from:X,to:W})}function $(W){return G(W)}function j(W){return $(Se(O(W),{replace:!0}))}function H(W){const X=W.matched[W.matched.length-1];if(X&&X.redirect){const{redirect:z}=X;let _=typeof z=="function"?z(W):z;return typeof _=="string"&&(_=_.includes("?")||_.includes("#")?_=O(_):{path:_},_.params={}),Se({query:W.query,hash:W.hash,params:_.path!=null?{}:W.params},_)}}function G(W,X){const z=m=I(W),_=d.value,ge=W.state,Te=W.force,fe=W.replace===!0,ee=H(z);if(ee)return G(Se(O(ee),{state:typeof ee=="object"?Se({},ge,ee.state):ge,force:Te,replace:fe}),X||z);const we=z;we.redirectedFrom=X;let en;return!Te&&Cm(i,_,z)&&(en=Mn(16,{to:we,from:_}),Ce(_,_,!0,!1)),(en?Promise.resolve(en):V(we,_)).catch(Oe=>$t(Oe)?$t(Oe,2)?Oe:ve(Oe):ce(Oe,we,_)).then(Oe=>{if(Oe){if($t(Oe,2))return G(Se({replace:fe},O(Oe.to),{state:typeof Oe.to=="object"?Se({},ge,Oe.to.state):ge,force:Te}),X||we)}else Oe=Z(we,_,!0,fe,ge);return K(we,_,Oe),Oe})}function M(W,X){const z=P(W,X);return z?Promise.reject(z):Promise.resolve()}function N(W){const X=vt.values().next().value;return X&&typeof X.runWithContext=="function"?X.runWithContext(W):W()}function V(W,X){let z;const[_,ge,Te]=vy(W,X);z=Bi(_.reverse(),"beforeRouteLeave",W,X);for(const ee of _)ee.leaveGuards.forEach(we=>{z.push(qt(we,W,X))});const fe=M.bind(null,W,X);return z.push(fe),De(z).then(()=>{z=[];for(const ee of f.list())z.push(qt(ee,W,X));return z.push(fe),De(z)}).then(()=>{z=Bi(ge,"beforeRouteUpdate",W,X);for(const ee of ge)ee.updateGuards.forEach(we=>{z.push(qt(we,W,X))});return z.push(fe),De(z)}).then(()=>{z=[];for(const ee of Te)if(ee.beforeEnter)if(At(ee.beforeEnter))for(const we of ee.beforeEnter)z.push(qt(we,W,X));else z.push(qt(ee.beforeEnter,W,X));return z.push(fe),De(z)}).then(()=>(W.matched.forEach(ee=>ee.enterCallbacks={}),z=Bi(Te,"beforeRouteEnter",W,X,N),z.push(fe),De(z))).then(()=>{z=[];for(const ee of l.list())z.push(qt(ee,W,X));return z.push(fe),De(z)}).catch(ee=>$t(ee,8)?ee:Promise.reject(ee))}function K(W,X,z){v.list().forEach(_=>N(()=>_(W,X,z)))}function Z(W,X,z,_,ge){const Te=P(W,X);if(Te)return Te;const fe=X===_t,ee=On?history.state:{};z&&(_||fe?u.replace(W.fullPath,Se({scroll:fe&&ee&&ee.scroll},ge)):u.push(W.fullPath,ge)),d.value=W,Ce(W,X,z,fe),ve()}let Y;function pe(){Y||(Y=u.listen((W,X,z)=>{const _=I(W),ge=H(_);if(ge){G(Se(ge,{replace:!0}),_).catch(rr);return}m=_;const Te=d.value;On&&Nm(Yu(Te.fullPath,z.delta),lo()),V(_,Te).catch(fe=>$t(fe,12)?fe:$t(fe,2)?(G(fe.to,_).then(ee=>{$t(ee,20)&&!z.delta&&z.type===sr.pop&&u.go(-1,!1)}).catch(rr),Promise.reject()):(z.delta&&u.go(-z.delta,!1),ce(fe,_,Te))).then(fe=>{fe=fe||Z(_,Te,!1),fe&&(z.delta&&!$t(fe,8)?u.go(-z.delta,!1):z.type===sr.pop&&$t(fe,20)&&u.go(-1,!1)),K(_,Te,fe)}).catch(rr)}))}let Ee=qn(),We=qn(),ue;function ce(W,X,z){ve(W);const _=We.list();return _.length?_.forEach(ge=>ge(W,X,z)):console.error(W),Promise.reject(W)}function Me(){return ue&&d.value!==_t?Promise.resolve():new Promise((W,X)=>{Ee.add([W,X])})}function ve(W){return ue||(ue=!W,pe(),Ee.list().forEach(([X,z])=>W?z(W):X()),Ee.reset()),W}function Ce(W,X,z,_){const{scrollBehavior:ge}=s;if(!On||!ge)return Promise.resolve();const Te=!z&&$m(Yu(W.fullPath,0))||(_||!z)&&history.state&&history.state.scroll||null;return Xi().then(()=>ge(W,X,Te)).then(fe=>fe&&Wm(fe)).catch(fe=>ce(fe,W,X))}const je=W=>u.go(W);let Ge;const vt=new Set,gt={currentRoute:d,listening:!0,addRoute:E,removeRoute:L,hasRoute:T,getRoutes:A,resolve:I,options:s,push:$,replace:j,go:je,back:()=>je(-1),forward:()=>je(1),beforeEach:f.add,beforeResolve:l.add,afterEach:v.add,onError:We.add,isReady:Me,install(W){const X=this;W.component("RouterLink",fy),W.component("RouterView",hy),W.config.globalProperties.$router=X,Object.defineProperty(W.config.globalProperties,"$route",{enumerable:!0,get:()=>cn(d)}),On&&!Ge&&d.value===_t&&(Ge=!0,$(u.location).catch(ge=>{}));const z={};for(const ge in _t)Object.defineProperty(z,ge,{get:()=>d.value[ge],enumerable:!0});W.provide(qi,X),W.provide(Zf,j1(z)),W.provide(ji,d);const _=W.unmount;vt.add(W),W.unmount=function(){vt.delete(W),vt.size<1&&(m=_t,Y&&Y(),Y=null,d.value=_t,Ge=!1,ue=!1),_()}}};function De(W){return W.reduce((X,z)=>X.then(()=>N(z)),Promise.resolve())}return gt}function vy(s,o){const n=[],i=[],u=[],f=Math.max(o.matched.length,s.matched.length);for(let l=0;l<f;l++){const v=o.matched[l];v&&(s.matched.find(m=>Pn(m,v))?i.push(v):n.push(v));const d=s.matched[l];d&&(o.matched.find(m=>Pn(m,d))||u.push(d))}return[n,i,u]}const gy=()=>It(()=>import("./admin-BVkY78tW.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18])),my=()=>It(()=>import("./browser-BYquFWOA.js"),__vite__mapDeps([19,1,2,3,4,5,6,7,8,9,10,11,12,13,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,16,17,35])),yy=()=>It(()=>import("./http-error-BKXUvS3w.js"),__vite__mapDeps([36,2,3,16,17,37])),xy=()=>It(()=>import("./reader-Qan6W6n-.js"),__vite__mapDeps([38,1,2,3,4,5,6,7,8,9,10,11,12,13,20,21,22,23,24,25,14,15,39,40,31,32,41,42,16,17,43])),Sy=()=>It(()=>import("./flag-tab-BVoz2gvN.js"),__vite__mapDeps([44,2,3,29,30,31,22,9,10,32,45])),Ey=()=>It(()=>import("./user-tab-Xzi_07Yi.js"),__vite__mapDeps([46,7,8,5,2,3,6,9,10,11,12,47,33,34,21,22,23,29,30,27,48,49,50,31,32])),by=()=>It(()=>import("./group-tab-Bu1Hn4DR.js"),__vite__mapDeps([51,47,2,3,8,5,6,9,10,11,33,34,21,22,23,29,30,27,48,39,40,52])),Ly=()=>It(()=>import("./library-tab-AM2XWHOr.js"),__vite__mapDeps([53,33,5,2,3,6,34,47,8,9,10,11,21,22,23,29,30,27,48,49,50,41,42,26,28,31,32,54])),Ay=()=>It(()=>import("./task-tab-CgR8JqMw.js"),__vite__mapDeps([55,33,5,2,3,6,34,56])),Ty=()=>It(()=>import("./stats-tab-Bv3OL9xU.js"),__vite__mapDeps([57,33,5,2,3,6,34,4,24,29,30,58])),wy={name:"browser",params:window.CODEX.LAST_ROUTE||Bf.route},Ry=[{name:"home",path:"/",redirect:wy},{name:"reader",path:"/c/:pk/:page",component:xy},{name:"browser",path:"/:group/:pk/:page",component:my},{name:"admin",path:"/admin",component:gy,redirect:"/admin/libraries",children:[{name:"admin-users",path:"users",component:Ey},{name:"admin-groups",path:"groups",component:by},{name:"admin-libraries",path:"libraries",component:Ly},{name:"admin-flags",path:"flags",component:Sy},{name:"admin-tasks",path:"tasks",component:Ay},{name:"admin-stats",path:"stats",component:Ty}]},{name:"error",path:"/error/:code",component:yy,props:!0},{name:"404",path:"/:pathMatch(.*)*",redirect:"/error/404"}],Lt=new py({history:Km(window.CODEX.APP_PATH),routes:Ry});var er=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Yf(s){return s&&s.__esModule&&Object.prototype.hasOwnProperty.call(s,"default")?s.default:s}function Y2(s){if(s.__esModule)return s;var o=s.default;if(typeof o=="function"){var n=function i(){return this instanceof i?Reflect.construct(o,arguments,this.constructor):o.apply(this,arguments)};n.prototype=o.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(s).forEach(function(i){var u=Object.getOwnPropertyDescriptor(s,i);Object.defineProperty(n,i,u.get?u:{enumerable:!0,get:function(){return s[i]}})}),n}var io={exports:{}};/**
|
|
12
12
|
* @license
|
|
13
13
|
* Lodash <https://lodash.com/>
|
|
14
14
|
* Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
|
|
Binary file
|
|
Binary file
|