fedipod-server 0.29.0 → 0.31.0
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.
- package/README.md +16 -6
- package/dist/claims.d.ts +2 -0
- package/dist/claims.js +13 -4
- package/dist/door.d.ts +4 -0
- package/dist/door.js +31 -0
- package/dist/fedipod.d.ts +15 -0
- package/dist/fedipod.js +13 -0
- package/dist/front.d.ts +3 -0
- package/dist/front.js +92 -0
- package/dist/handler.d.ts +36 -101
- package/dist/handler.js +93 -644
- package/dist/handler.jsonld +2 -30
- package/dist/identities.d.ts +71 -0
- package/dist/identities.js +236 -0
- package/dist/mounts.d.ts +43 -0
- package/dist/mounts.js +123 -0
- package/dist/opt-in.d.ts +46 -0
- package/dist/opt-in.js +176 -0
- package/dist/private-read.d.ts +4 -0
- package/dist/private-read.js +34 -0
- package/package.json +12 -20
- package/lib/client/c2s.mjs +0 -636
- package/lib/client/localapi.mjs +0 -87
- package/lib/client/masto/accounts.mjs +0 -310
- package/lib/client/masto/body.mjs +0 -156
- package/lib/client/masto/index.mjs +0 -206
- package/lib/client/masto/instance.mjs +0 -112
- package/lib/client/masto/media.mjs +0 -79
- package/lib/client/masto/oauth.mjs +0 -656
- package/lib/client/masto/render.mjs +0 -518
- package/lib/client/masto/statuses.mjs +0 -372
- package/lib/client/masto/timelines.mjs +0 -438
- package/lib/client/oidc-auth.mjs +0 -62
- package/lib/client/streaming.mjs +0 -154
- package/lib/client/webpush.mjs +0 -98
- package/lib/connections/acctfeed.mjs +0 -257
- package/lib/connections/atproto.mjs +0 -309
- package/lib/connections/bskyfeed.mjs +0 -243
- package/lib/connections/bskygroup.mjs +0 -162
- package/lib/connections/fediacct.mjs +0 -253
- package/lib/connections/import.mjs +0 -357
- package/lib/connections/tagfeed.mjs +0 -212
- package/lib/connections/vault.mjs +0 -114
- package/lib/core/as2.mjs +0 -206
- package/lib/core/contexts/activitystreams.json +0 -379
- package/lib/core/contexts/anno.json +0 -126
- package/lib/core/contexts/did-v1.json +0 -57
- package/lib/core/contexts/fep-5711.json +0 -36
- package/lib/core/contexts/gotosocial.json +0 -86
- package/lib/core/contexts/identity-v1.json +0 -152
- package/lib/core/contexts/index.mjs +0 -63
- package/lib/core/contexts/join-lemmy.json +0 -33
- package/lib/core/contexts/joinmastodon.json +0 -28
- package/lib/core/contexts/litepub-0.1.json +0 -60
- package/lib/core/contexts/map.json +0 -19
- package/lib/core/contexts/miscellany.json +0 -19
- package/lib/core/contexts/quotes.json +0 -18
- package/lib/core/contexts/schemaorg.json +0 -8845
- package/lib/core/contexts/security-data-integrity-v1.json +0 -78
- package/lib/core/contexts/security-data-integrity-v2.json +0 -81
- package/lib/core/contexts/security-multikey-v1.json +0 -35
- package/lib/core/contexts/security-v1.json +0 -74
- package/lib/core/contexts/webfinger.json +0 -10
- package/lib/core/deliver.mjs +0 -387
- package/lib/core/graphview.mjs +0 -327
- package/lib/core/intake/activities.mjs +0 -649
- package/lib/core/intake/activity.mjs +0 -318
- package/lib/core/intake/channel.mjs +0 -144
- package/lib/core/intake/group.mjs +0 -258
- package/lib/core/intake/index.mjs +0 -732
- package/lib/core/intake/notes.mjs +0 -367
- package/lib/core/intake/verify.mjs +0 -142
- package/lib/core/keys.mjs +0 -153
- package/lib/core/lease.mjs +0 -206
- package/lib/core/place.mjs +0 -82
- package/lib/core/polls.mjs +0 -105
- package/lib/core/profile-page.mjs +0 -104
- package/lib/core/proof.mjs +0 -79
- package/lib/core/publisher/collections.mjs +0 -272
- package/lib/core/publisher/index.mjs +0 -522
- package/lib/core/publisher/notes.mjs +0 -519
- package/lib/core/publisher/own.mjs +0 -143
- package/lib/core/publisher/questions.mjs +0 -241
- package/lib/core/publisher/restore.mjs +0 -224
- package/lib/core/shapes/activitystreams.ttl +0 -157
- package/lib/core/shapes/index.mjs +0 -132
- package/lib/core/shapes/shapes-text.mjs +0 -13
- package/lib/core/social.mjs +0 -561
- package/lib/core/storage.mjs +0 -176
- package/lib/core/store.mjs +0 -578
- package/lib/core/wire-quotes.mjs +0 -71
- package/lib/core/wire.mjs +0 -925
- package/lib/device/account.mjs +0 -87
- package/lib/device/admin/index.mjs +0 -13
- package/lib/device/admin/origins.mjs +0 -35
- package/lib/device/admin/routes/connections.mjs +0 -144
- package/lib/device/admin/routes/gateway.mjs +0 -199
- package/lib/device/admin/routes/lifecycle.mjs +0 -200
- package/lib/device/admin/routes/owner.mjs +0 -322
- package/lib/device/admin/routes/setup.mjs +0 -428
- package/lib/device/admin/routes/social.mjs +0 -188
- package/lib/device/admin/server.mjs +0 -95
- package/lib/device/admin/static.mjs +0 -247
- package/lib/device/admin/surface.mjs +0 -315
- package/lib/device/certs.mjs +0 -281
- package/lib/device/cli/commands/account.mjs +0 -586
- package/lib/device/cli/commands/run.mjs +0 -278
- package/lib/device/cli/commands/service.mjs +0 -221
- package/lib/device/cli/commands/setup.mjs +0 -489
- package/lib/device/cli/commands/state.mjs +0 -561
- package/lib/device/cli/context.mjs +0 -288
- package/lib/device/export-collections.mjs +0 -161
- package/lib/device/gateway-move.mjs +0 -58
- package/lib/device/home.mjs +0 -161
- package/lib/device/migrate.mjs +0 -115
- package/lib/device/ports.mjs +0 -27
- package/lib/device/remote.mjs +0 -54
- package/lib/device/setup.mjs +0 -496
- package/lib/device/update.mjs +0 -96
- package/lib/gateway/caches.mjs +0 -36
- package/lib/gateway/directory.mjs +0 -90
- package/lib/gateway/front-core.mjs +0 -966
- package/lib/gateway/gateway-core.mjs +0 -244
- package/lib/gateway/headers.mjs +0 -49
- package/lib/gateway/httpsig.mjs +0 -159
- package/lib/gateway/notices.mjs +0 -84
- package/lib/gateway/quiet.mjs +0 -189
- package/lib/gateway/relay-extras.mjs +0 -89
- package/lib/gateway/token-claims.mjs +0 -16
- package/lib/pod/README.md +0 -61
- package/lib/pod/actor.mjs +0 -96
- package/lib/pod/collection.mjs +0 -77
- package/lib/pod/containers.mjs +0 -140
- package/lib/pod/discovery.mjs +0 -46
- package/lib/pod/featured.mjs +0 -18
- package/lib/pod/followers.mjs +0 -24
- package/lib/pod/following.mjs +0 -10
- package/lib/pod/http.mjs +0 -74
- package/lib/pod/inbox.mjs +0 -166
- package/lib/pod/links.mjs +0 -35
- package/lib/pod/location.mjs +0 -52
- package/lib/pod/media.mjs +0 -27
- package/lib/pod/notes.mjs +0 -78
- package/lib/pod/notifications.mjs +0 -89
- package/lib/pod/outbox.mjs +0 -18
- package/lib/pod/package.json +0 -19
- package/lib/pod/policy.mjs +0 -58
- package/lib/pod/private.mjs +0 -19
- package/lib/pod/root.mjs +0 -104
- package/lib/pod/state.mjs +0 -40
- package/lib/pod/transport.mjs +0 -674
- package/lib/pod/type-index.mjs +0 -101
- package/lib/pod/urls.mjs +0 -91
- package/lib/server/embed.mjs +0 -424
- package/lib/session/README.md +0 -137
- package/lib/session/demo.html +0 -94
- package/lib/session/fedi-account.mjs +0 -417
- package/lib/session/fedi-login.mjs +0 -123
- package/lib/session/oidc-session.mjs +0 -233
- package/lib/session/package.json +0 -49
- package/lib/shared/guard.mjs +0 -213
- package/lib/shared/links.mjs +0 -9
- package/lib/shared/safefetch.mjs +0 -235
- package/lib/shared/ua.mjs +0 -29
- package/phanpy/dist/404.html +0 -40
- package/phanpy/dist/_headers +0 -2
- package/phanpy/dist/apple-touch-icon.png +0 -0
- package/phanpy/dist/assets/ICONS-DIPJeU0C.js +0 -2
- package/phanpy/dist/assets/ICONS-DIPJeU0C.js.map +0 -1
- package/phanpy/dist/assets/ScheduledAtField-D-Abfo4J.js +0 -183
- package/phanpy/dist/assets/ScheduledAtField-D-Abfo4J.js.map +0 -1
- package/phanpy/dist/assets/Temml-CCjoacWt.woff2 +0 -0
- package/phanpy/dist/assets/__vite-browser-external-C7iut881.js +0 -2
- package/phanpy/dist/assets/__vite-browser-external-C7iut881.js.map +0 -1
- package/phanpy/dist/assets/boosts-carousel-BiOaNdMT.jpg +0 -0
- package/phanpy/dist/assets/catch-up-O5q5C75Z.png +0 -0
- package/phanpy/dist/assets/chunk-aKtaBQYM.js +0 -1
- package/phanpy/dist/assets/compose-CFEx7wb4.js +0 -2
- package/phanpy/dist/assets/compose-CFEx7wb4.js.map +0 -1
- package/phanpy/dist/assets/compose-ZJN5xSb4.js +0 -35
- package/phanpy/dist/assets/compose-ZJN5xSb4.js.map +0 -1
- package/phanpy/dist/assets/debug.module-YFQgwnIr.js +0 -52
- package/phanpy/dist/assets/debug.module-YFQgwnIr.js.map +0 -1
- package/phanpy/dist/assets/dom-p1YcJ5Rw.js +0 -2
- package/phanpy/dist/assets/dom-p1YcJ5Rw.js.map +0 -1
- package/phanpy/dist/assets/home-mobile-dark@2x-Dc-J8-SM.png +0 -0
- package/phanpy/dist/assets/home-mobile-light@2x-Bd3fod8m.png +0 -0
- package/phanpy/dist/assets/home-tablet-dark@2x-BgcNI8le.png +0 -0
- package/phanpy/dist/assets/home-tablet-light@2x-BW2RV9T6.png +0 -0
- package/phanpy/dist/assets/icons/add-circle-line-WD0mwORD.js +0 -1
- package/phanpy/dist/assets/icons/alert-line-CpFUMf9s.js +0 -1
- package/phanpy/dist/assets/icons/android-2-line-Bzxnrd3S.js +0 -1
- package/phanpy/dist/assets/icons/announcement-line-5nwaJFJm.js +0 -1
- package/phanpy/dist/assets/icons/arrow-down-circle-line-a7Id9-Iv.js +0 -1
- package/phanpy/dist/assets/icons/arrow-down-line-B8uzXzq6.js +0 -1
- package/phanpy/dist/assets/icons/arrow-left-line-CGrGT9C-.js +0 -1
- package/phanpy/dist/assets/icons/arrow-right-line-CE-HERfX.js +0 -1
- package/phanpy/dist/assets/icons/arrow-to-up-line-CvdQjmcy.js +0 -1
- package/phanpy/dist/assets/icons/arrow-up-circle-line-DEparSNF.js +0 -1
- package/phanpy/dist/assets/icons/arrow-up-line-C7yBeugc.js +0 -1
- package/phanpy/dist/assets/icons/arrows-right-line-BtbXmJGP.js +0 -1
- package/phanpy/dist/assets/icons/at-line-CF66Bznk.js +0 -1
- package/phanpy/dist/assets/icons/attachment-line-BY8It-l9.js +0 -1
- package/phanpy/dist/assets/icons/blockquote-line-BS6pU_hm.js +0 -1
- package/phanpy/dist/assets/icons/board-line-C0UWXyA6.js +0 -1
- package/phanpy/dist/assets/icons/bookmark-line-1CtX5JLF.js +0 -1
- package/phanpy/dist/assets/icons/building-5-line-Dd59MzbO.js +0 -1
- package/phanpy/dist/assets/icons/bus-2-line-6_dvA0GG.js +0 -1
- package/phanpy/dist/assets/icons/calendar-day-line-Crpl_fmu.js +0 -1
- package/phanpy/dist/assets/icons/calendar-month-line-vommts2C.js +0 -1
- package/phanpy/dist/assets/icons/calendar-time-add-line-BU_DTlQk.js +0 -1
- package/phanpy/dist/assets/icons/camera-line-Cv69MEei.js +0 -1
- package/phanpy/dist/assets/icons/celebrate-line-B8DvIoi0.js +0 -1
- package/phanpy/dist/assets/icons/chart-bar-line-FK-QOmtF.js +0 -1
- package/phanpy/dist/assets/icons/chart-line-line-BGcJAFWw.js +0 -1
- package/phanpy/dist/assets/icons/chat-3-line-YFK2-hwz.js +0 -1
- package/phanpy/dist/assets/icons/check-circle-line-DsAxFr5-.js +0 -1
- package/phanpy/dist/assets/icons/clipboard-line-BBp364gJ.js +0 -1
- package/phanpy/dist/assets/icons/close-circle-line-CICdiuGz.js +0 -1
- package/phanpy/dist/assets/icons/close-line-DYrFWcjv.js +0 -1
- package/phanpy/dist/assets/icons/cloud-line-tiQAbah8.js +0 -1
- package/phanpy/dist/assets/icons/code-line-fAl8iiV3.js +0 -1
- package/phanpy/dist/assets/icons/comment-2-line-CR3g7WeB.js +0 -1
- package/phanpy/dist/assets/icons/copy-2-line-CLW69yF5.js +0 -1
- package/phanpy/dist/assets/icons/delete-2-line-B8xmbr4n.js +0 -1
- package/phanpy/dist/assets/icons/document-3-line-DBGNhAg2.js +0 -1
- package/phanpy/dist/assets/icons/document-line-C7mb9sb7.js +0 -1
- package/phanpy/dist/assets/icons/down-line-BGqSSThd.js +0 -1
- package/phanpy/dist/assets/icons/edit-4-line-DcgGaEhx.js +0 -1
- package/phanpy/dist/assets/icons/emoji-2-line-D8YgnM-y.js +0 -1
- package/phanpy/dist/assets/icons/exit-line-Dc07BS-x.js +0 -1
- package/phanpy/dist/assets/icons/external-link-line-BvpSkmjO.js +0 -1
- package/phanpy/dist/assets/icons/eye-2-line-CiWXx-f_.js +0 -1
- package/phanpy/dist/assets/icons/eye-close-line-BgTaSJ4P.js +0 -1
- package/phanpy/dist/assets/icons/filter-2-line-B_mR2usy.js +0 -1
- package/phanpy/dist/assets/icons/filter-line-C_nm-3cU.js +0 -1
- package/phanpy/dist/assets/icons/flag-1-line-C2HB05I0.js +0 -1
- package/phanpy/dist/assets/icons/forbid-circle-line-D3LTT9yd.js +0 -1
- package/phanpy/dist/assets/icons/formula-line-DLrt2d6j.js +0 -1
- package/phanpy/dist/assets/icons/grid-line-CgUmEikf.js +0 -1
- package/phanpy/dist/assets/icons/group-line-C5fnX0wU.js +0 -1
- package/phanpy/dist/assets/icons/hand-finger-2-line-BGgxbuL9.js +0 -1
- package/phanpy/dist/assets/icons/hashtag-line-CyTEEXBb.js +0 -1
- package/phanpy/dist/assets/icons/heart-crack-line-BZddbO2C.js +0 -1
- package/phanpy/dist/assets/icons/heart-line-CJ7K47J4.js +0 -1
- package/phanpy/dist/assets/icons/history-2-line-kWWvFzqv.js +0 -1
- package/phanpy/dist/assets/icons/history-line-bGQiwbTH.js +0 -1
- package/phanpy/dist/assets/icons/home-3-line-fRU1zeLG.js +0 -1
- package/phanpy/dist/assets/icons/information-line-iNk6-sOY.js +0 -1
- package/phanpy/dist/assets/icons/keyboard-line-DsCyuQNz.js +0 -1
- package/phanpy/dist/assets/icons/layout-4-line-CZkOX52Z.js +0 -1
- package/phanpy/dist/assets/icons/layout-5-line-B_znt5wO.js +0 -1
- package/phanpy/dist/assets/icons/left-line-eUw0tya4.js +0 -1
- package/phanpy/dist/assets/icons/lightning-line-DaKoDdix.js +0 -1
- package/phanpy/dist/assets/icons/link-2-line-DCqLmMA7.js +0 -1
- package/phanpy/dist/assets/icons/list-check-line-BAxosBh9.js +0 -1
- package/phanpy/dist/assets/icons/lock-line-CPoaXeUW.js +0 -1
- package/phanpy/dist/assets/icons/mail-line-B0P8aa1L.js +0 -1
- package/phanpy/dist/assets/icons/moon-line-CEqNAToP.js +0 -1
- package/phanpy/dist/assets/icons/more-1-fill-Dw2e5xab.js +0 -1
- package/phanpy/dist/assets/icons/more-3-line-BIiVjYTz.js +0 -1
- package/phanpy/dist/assets/icons/notification-line-BZZq2Gtu.js +0 -1
- package/phanpy/dist/assets/icons/pencil-line-CKh8-A1v.js +0 -1
- package/phanpy/dist/assets/icons/photo-album-line-Bnfg2u40.js +0 -1
- package/phanpy/dist/assets/icons/pin-line-DpTolyhs.js +0 -1
- package/phanpy/dist/assets/icons/play-fill-B0-G_8lX.js +0 -1
- package/phanpy/dist/assets/icons/qrcode-2-line-B6SPCaHn.js +0 -1
- package/phanpy/dist/assets/icons/quill-pen-line-B6LUrnCP.js +0 -1
- package/phanpy/dist/assets/icons/quote-left-fill-hQZ1cj_6.js +0 -1
- package/phanpy/dist/assets/icons/radar-line-CKyroTth.js +0 -1
- package/phanpy/dist/assets/icons/react-line-CoIKhhtK.js +0 -1
- package/phanpy/dist/assets/icons/refresh-2-line-D0mTF97S.js +0 -1
- package/phanpy/dist/assets/icons/right-line-B3KWJaqc.js +0 -1
- package/phanpy/dist/assets/icons/rocket-line-4KZl537D.js +0 -1
- package/phanpy/dist/assets/icons/round-fill-C69NTrZ0.js +0 -1
- package/phanpy/dist/assets/icons/round-line-B9k_1uo-.js +0 -1
- package/phanpy/dist/assets/icons/route-line-B28ReHcE.js +0 -1
- package/phanpy/dist/assets/icons/rows-4-line-CrBniagM.js +0 -1
- package/phanpy/dist/assets/icons/scan-line-DSf74YdP.js +0 -1
- package/phanpy/dist/assets/icons/search-2-line-B6geIU1z.js +0 -1
- package/phanpy/dist/assets/icons/settings-3-line-azJwK47w.js +0 -1
- package/phanpy/dist/assets/icons/settings-6-line-C_5zc5YR.js +0 -1
- package/phanpy/dist/assets/icons/share-2-line-D5MxWjrm.js +0 -1
- package/phanpy/dist/assets/icons/share-forward-line-Cp61fZzZ.js +0 -1
- package/phanpy/dist/assets/icons/sparkles-2-line-DYYyXTaW.js +0 -1
- package/phanpy/dist/assets/icons/sparkles-line-C2hY1s6I.js +0 -1
- package/phanpy/dist/assets/icons/time-line-BF3eet1v.js +0 -1
- package/phanpy/dist/assets/icons/transfer-4-line-oisfvTBw.js +0 -1
- package/phanpy/dist/assets/icons/translate-line-BFWol2Ce.js +0 -1
- package/phanpy/dist/assets/icons/unlock-line-X_x5vwv3.js +0 -1
- package/phanpy/dist/assets/icons/upload-3-line-DgzwUJeW.js +0 -1
- package/phanpy/dist/assets/icons/user-4-line-BVSynZCp.js +0 -1
- package/phanpy/dist/assets/icons/user-add-2-line-BlGS5Q8q.js +0 -1
- package/phanpy/dist/assets/icons/user-add-line-BbXdHG4z.js +0 -1
- package/phanpy/dist/assets/icons/user-edit-line-BFAHOV0X.js +0 -1
- package/phanpy/dist/assets/icons/user-follow-line-BXux0wSd.js +0 -1
- package/phanpy/dist/assets/icons/user-star-line-DdYlpHLU.js +0 -1
- package/phanpy/dist/assets/icons/user-warning-line-Cj43j0_E.js +0 -1
- package/phanpy/dist/assets/icons/user-x-line-DIDgNlPH.js +0 -1
- package/phanpy/dist/assets/icons/volume-line-Bs390KQt.js +0 -1
- package/phanpy/dist/assets/icons/volume-mute-line-DzlzIqFZ.js +0 -1
- package/phanpy/dist/assets/icons/walk-line-yNXfB-md.js +0 -1
- package/phanpy/dist/assets/icons/world-2-line-CenkGIwj.js +0 -1
- package/phanpy/dist/assets/icons/zoom-in-line-CaENUphf.js +0 -1
- package/phanpy/dist/assets/icons/zoom-out-line-BDNk0EWo.js +0 -1
- package/phanpy/dist/assets/instances-BNPptnn-.json +0 -333
- package/phanpy/dist/assets/locales/ar-SA-CfheRbCu.js +0 -1
- package/phanpy/dist/assets/locales/ca-ES-DHRW86Tz.js +0 -1
- package/phanpy/dist/assets/locales/cs-CZ-CKoqEuA1.js +0 -1
- package/phanpy/dist/assets/locales/de-DE-ByRPMRFy.js +0 -1
- package/phanpy/dist/assets/locales/eo-UY-CPC7wLCS.js +0 -1
- package/phanpy/dist/assets/locales/es-ES-dJa0Fd9t.js +0 -1
- package/phanpy/dist/assets/locales/eu-ES-C3djlPR2.js +0 -1
- package/phanpy/dist/assets/locales/fa-IR-DTT490Ck.js +0 -1
- package/phanpy/dist/assets/locales/fi-FI-B23MCPuz.js +0 -1
- package/phanpy/dist/assets/locales/fr-FR-BcaQsO5C.js +0 -1
- package/phanpy/dist/assets/locales/gl-ES-BR-CVKBN.js +0 -1
- package/phanpy/dist/assets/locales/he-IL-CfheRbCu.js +0 -1
- package/phanpy/dist/assets/locales/hu-HU-CfheRbCu.js +0 -1
- package/phanpy/dist/assets/locales/it-IT-C1136UFV.js +0 -1
- package/phanpy/dist/assets/locales/ja-JP-CRZmRAhD.js +0 -1
- package/phanpy/dist/assets/locales/kab-Cz8xH_TT.js +0 -1
- package/phanpy/dist/assets/locales/ko-KR-CG9UiY4o.js +0 -1
- package/phanpy/dist/assets/locales/lt-LT-CJcI6sHZ.js +0 -1
- package/phanpy/dist/assets/locales/nb-NO-CfheRbCu.js +0 -1
- package/phanpy/dist/assets/locales/nl-NL-DxN4Yc1t.js +0 -1
- package/phanpy/dist/assets/locales/oc-FR-CfheRbCu.js +0 -1
- package/phanpy/dist/assets/locales/pl-PL-DkwGXf6P.js +0 -1
- package/phanpy/dist/assets/locales/pseudo-LOCALE-CQ4XxkQ0.js +0 -1
- package/phanpy/dist/assets/locales/pt-BR-nGL0HdFS.js +0 -1
- package/phanpy/dist/assets/locales/pt-PT-Cp17aj2z.js +0 -1
- package/phanpy/dist/assets/locales/ru-RU-0Y8cIoaK.js +0 -1
- package/phanpy/dist/assets/locales/th-TH-CfheRbCu.js +0 -1
- package/phanpy/dist/assets/locales/tok-CfheRbCu.js +0 -1
- package/phanpy/dist/assets/locales/tr-TR-CfheRbCu.js +0 -1
- package/phanpy/dist/assets/locales/uk-UA-C5E3dFBf.js +0 -1
- package/phanpy/dist/assets/locales/zh-CN-BHJi7_et.js +0 -1
- package/phanpy/dist/assets/locales/zh-TW-CfheRbCu.js +0 -1
- package/phanpy/dist/assets/main-BdqNbG-a.js +0 -26
- package/phanpy/dist/assets/main-BdqNbG-a.js.map +0 -1
- package/phanpy/dist/assets/mock-home-DGhR__He.js +0 -2
- package/phanpy/dist/assets/mock-home-DGhR__He.js.map +0 -1
- package/phanpy/dist/assets/multi-column-ROck0NVt.jpg +0 -0
- package/phanpy/dist/assets/multi-hashtag-timeline-DH5INVHi.jpg +0 -0
- package/phanpy/dist/assets/nested-comments-thread-hv59kZLc.jpg +0 -0
- package/phanpy/dist/assets/polyfill-force-H8sUkLGp.js +0 -2
- package/phanpy/dist/assets/polyfill-force-H8sUkLGp.js.map +0 -1
- package/phanpy/dist/assets/pwa-viewport-ogKbF51K.js +0 -20
- package/phanpy/dist/assets/pwa-viewport-ogKbF51K.js.map +0 -1
- package/phanpy/dist/assets/style-B1iLPTPR.css +0 -2
- package/phanpy/dist/assets/temml-DuyIQMei.js +0 -97
- package/phanpy/dist/assets/temml-DuyIQMei.js.map +0 -1
- package/phanpy/dist/assets/tinyld.light.node-DtbBhLYC.js +0 -2
- package/phanpy/dist/assets/tinyld.light.node-DtbBhLYC.js.map +0 -1
- package/phanpy/dist/assets/year-in-posts-B2lywqdx.png +0 -0
- package/phanpy/dist/assets/year-in-posts-DJv_star.js +0 -3
- package/phanpy/dist/assets/year-in-posts-DJv_star.js.map +0 -1
- package/phanpy/dist/compose/index.html +0 -20
- package/phanpy/dist/favicon.ico +0 -0
- package/phanpy/dist/index.html +0 -73
- package/phanpy/dist/logo-192.png +0 -0
- package/phanpy/dist/logo-512.png +0 -0
- package/phanpy/dist/logo-badge-72.png +0 -0
- package/phanpy/dist/logo-maskable-512.png +0 -0
- package/phanpy/dist/logo-monochrome-512.png +0 -0
- package/phanpy/dist/logo-monochrome-maskable-512.png +0 -0
- package/phanpy/dist/manifest.webmanifest +0 -1
- package/phanpy/dist/og-image-2.jpg +0 -0
- package/phanpy/dist/og-image.png +0 -0
- package/phanpy/dist/robots.txt +0 -2
- package/phanpy/dist/sw.js +0 -2
- package/phanpy/dist/sw.js.map +0 -1
- package/phanpy/dist/version.json +0 -1
- package/run-agent.mjs +0 -899
- package/vendor/gate.cjs +0 -138
- package/vendor/idp-grant.cjs +0 -394
- package/vendor/jfetch.cjs +0 -16
- package/web/admin/actors.js +0 -147
- package/web/admin/bar.css +0 -126
- package/web/admin/bar.js +0 -99
- package/web/admin/client/client.js +0 -66
- package/web/admin/client/index.html +0 -69
- package/web/admin/client-pick.js +0 -79
- package/web/admin/common.js +0 -23
- package/web/admin/connections.js +0 -112
- package/web/admin/gateway.js +0 -133
- package/web/admin/group.js +0 -258
- package/web/admin/index.html +0 -612
- package/web/admin/notices-bar.js +0 -90
- package/web/admin/oauth-signin.mjs +0 -37
- package/web/admin/record.js +0 -393
- package/web/admin/setup/index.html +0 -257
- package/web/admin/setup/setup.js +0 -339
- package/web/admin/tokens.css +0 -68
- package/web/admin/upkeep.js +0 -177
- package/web/admin/window.css +0 -55
- package/web/admin/window.js +0 -136
- package/web/app/README.md +0 -81
- package/web/app/admin-facade.mjs +0 -588
- package/web/app/agent.mjs +0 -672
- package/web/app/atproto-browser.mjs +0 -86
- package/web/app/authorize_interaction.html +0 -56
- package/web/app/authorize_interaction.js +0 -69
- package/web/app/boot.mjs +0 -616
- package/web/app/deliver-relay.mjs +0 -129
- package/web/app/dist/boot.js +0 -34562
- package/web/app/dist/boot.js.map +0 -7
- package/web/app/dist/sw.js +0 -73456
- package/web/app/dist/sw.js.map +0 -7
- package/web/app/fediacct-browser.mjs +0 -146
- package/web/app/gateway-move.mjs +0 -60
- package/web/app/idb-kv.mjs +0 -35
- package/web/app/index.html +0 -258
- package/web/app/keys-browser.mjs +0 -71
- package/web/app/keystore.mjs +0 -82
- package/web/app/oidc-session.mjs +0 -6
- package/web/app/pod-auth.mjs +0 -248
- package/web/app/pod-remote.mjs +0 -84
- package/web/app/shims/_globals.mjs +0 -2
- package/web/app/shims/fedify-sig.mjs +0 -77
- package/web/app/shims/node-crypto.mjs +0 -113
- package/web/app/shims/node-fs.mjs +0 -17
- package/web/app/shims/node-path.mjs +0 -19
- package/web/app/shims/node-url.mjs +0 -7
- package/web/app/shims/prelude.js +0 -58
- package/web/app/shims/safefetch.mjs +0 -58
- package/web/app/shims/shapes-text.mjs +0 -8
- package/web/app/shims/web-push.mjs +0 -14
- package/web/app/signup.mjs +0 -357
- package/web/app/sw-src.mjs +0 -220
- package/web/app/update.js +0 -70
- package/web/front/admin.html +0 -55
- package/web/front/admin.js +0 -89
- package/web/front/install.sh +0 -69
- package/web/front/new-account.html +0 -35
- package/web/front/new-account.js +0 -13
- package/web/front/notices.html +0 -69
- package/web/front/notices.js +0 -107
- package/web/front/run.html +0 -64
- package/web/front/run.js +0 -221
- package/web/front/solid-oidc-client.js +0 -6
- package/web/icons/forum.svg +0 -11
- package/web/icons/gateway.svg +0 -14
- package/web/icons/local.svg +0 -11
package/lib/shared/safefetch.mjs
DELETED
|
@@ -1,235 +0,0 @@
|
|
|
1
|
-
// safefetch.mjs — SSRF guard for every outbound request. The pod inbox is
|
|
2
|
-
// public-Append, so ANY fediverse user can hand this agent URLs that it will
|
|
3
|
-
// dereference (verify-by-deref) or deliver to. Without a filter those URLs
|
|
4
|
-
// can name the machine's own services, the LAN, or cloud metadata.
|
|
5
|
-
//
|
|
6
|
-
// Policy: http/https only; the host must resolve exclusively to public
|
|
7
|
-
// addresses; redirects are followed by hand so every hop is re-checked;
|
|
8
|
-
// responses are size-capped. AP_ALLOW_PRIVATE_TARGETS=1 disables the address
|
|
9
|
-
// check for local federation testing.
|
|
10
|
-
|
|
11
|
-
import { USER_AGENT } from './ua.mjs';
|
|
12
|
-
import dns from 'node:dns/promises';
|
|
13
|
-
import net from 'node:net';
|
|
14
|
-
|
|
15
|
-
const MAX_REDIRECTS = 3;
|
|
16
|
-
const MAX_BYTES = 5 * 1024 * 1024;
|
|
17
|
-
|
|
18
|
-
// ONE default, read from ONE place. It was 15s in publisher, 20s in intake and
|
|
19
|
-
// other values again in the vendor grant, so "the timeout" meant four things
|
|
20
|
-
// and AP_HTTP_TIMEOUT_MS moved some of them and not others.
|
|
21
|
-
export const HTTP_TIMEOUT_MS = Number(process.env.AP_HTTP_TIMEOUT_MS) || 20_000;
|
|
22
|
-
|
|
23
|
-
// Said once, loudly: with the flag on there is NO address check and NO pinning.
|
|
24
|
-
if (process.env.AP_ALLOW_PRIVATE_TARGETS === '1') {
|
|
25
|
-
console.warn('safefetch: AP_ALLOW_PRIVATE_TARGETS=1 — SSRF protection is OFF. '
|
|
26
|
-
+ 'Local federation testing only; never set this on a networked deployment.');
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
// A server answering 429 or 503 is asking to be left alone, and Retry-After
|
|
30
|
-
// says for how long. Here rather than in remote.mjs because BOTH directions
|
|
31
|
-
// need it: the pod has honoured it since the incident, and the outbound path
|
|
32
|
-
// — the one that talks to other people's servers — did not.
|
|
33
|
-
const COOLDOWN_DEFAULT_MS = 60_000;
|
|
34
|
-
const COOLDOWN_MAX_MS = 30 * 60_000;
|
|
35
|
-
|
|
36
|
-
// null when the server sent NO Retry-After. The caller decides what absence
|
|
37
|
-
// means: the pod path falls back to its own 60s cooldown, and the delivery
|
|
38
|
-
// queue keeps its exponential ladder — which is why this cannot just return a
|
|
39
|
-
// default. Doing so collapsed the ladder to a flat 60s for every 503 without
|
|
40
|
-
// the header, which is most of them.
|
|
41
|
-
export function retryAfterMs(res, max = COOLDOWN_MAX_MS) {
|
|
42
|
-
const raw = res?.headers?.get?.('retry-after');
|
|
43
|
-
if (!raw) return null;
|
|
44
|
-
const secs = Number(raw);
|
|
45
|
-
if (Number.isFinite(secs)) return Math.min(Math.max(secs, 1) * 1000, max);
|
|
46
|
-
const when = Date.parse(raw); // HTTP-date form
|
|
47
|
-
if (Number.isFinite(when)) return Math.min(Math.max(when - Date.now(), 1000), max);
|
|
48
|
-
return null;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
function isPrivateV4(ip) {
|
|
52
|
-
const [a, b] = ip.split('.').map(Number);
|
|
53
|
-
return a === 0 || a === 10 || a === 127
|
|
54
|
-
|| (a === 169 && b === 254) // link-local + cloud metadata
|
|
55
|
-
|| (a === 172 && b >= 16 && b <= 31)
|
|
56
|
-
|| (a === 192 && b === 168)
|
|
57
|
-
|| (a === 100 && b >= 64 && b <= 127) // CGNAT
|
|
58
|
-
|| (a === 192 && b === 0) // 192.0.0.0/24 special-use
|
|
59
|
-
|| a >= 224; // multicast + reserved
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
function isPrivateV6(ip) {
|
|
63
|
-
const a = ip.toLowerCase();
|
|
64
|
-
if (a === '::' || a === '::1') return true;
|
|
65
|
-
if (/^fe[89ab]/.test(a)) return true; // fe80::/10 link-local, all four nibbles
|
|
66
|
-
if (a.startsWith('fc') || a.startsWith('fd')) return true; // ULA
|
|
67
|
-
if (a.startsWith('fec0')) return true; // deprecated site-local, still routed by some
|
|
68
|
-
if (a.startsWith('ff')) return true; // multicast
|
|
69
|
-
// A v4-mapped address, in EITHER spelling. The dotted form was the only one
|
|
70
|
-
// matched, and it is the one that never arrives: the WHATWG URL parser
|
|
71
|
-
// normalises an IPv6 literal to compressed hex, so `[::ffff:127.0.0.1]` is
|
|
72
|
-
// handed to us as `::ffff:7f00:1` and walked straight past this filter — and
|
|
73
|
-
// with it every one of 127/8, 10/8, 172.16/12, 192.168/16 and 169.254/16.
|
|
74
|
-
// Canonicalise to the quad first, then classify once.
|
|
75
|
-
const dotted = a.match(/^::ffff:(\d+\.\d+\.\d+\.\d+)$/);
|
|
76
|
-
if (dotted) return isPrivateV4(dotted[1]);
|
|
77
|
-
const hex = a.match(/^::ffff:([0-9a-f]{1,4}):([0-9a-f]{1,4})$/);
|
|
78
|
-
if (hex) {
|
|
79
|
-
const [hi, lo] = [parseInt(hex[1], 16), parseInt(hex[2], 16)];
|
|
80
|
-
return isPrivateV4(`${hi >> 8}.${hi & 255}.${lo >> 8}.${lo & 255}`);
|
|
81
|
-
}
|
|
82
|
-
return false;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
export function isPrivateAddress(ip) {
|
|
86
|
-
return net.isIPv4(ip) ? isPrivateV4(ip) : net.isIPv6(ip) ? isPrivateV6(ip) : true;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
// Is this host the machine we are running on? Not a security check — the
|
|
90
|
-
// operator typed this URL — but the one distinction that decides whether
|
|
91
|
-
// plaintext is harmless. Loopback traffic never reaches a network interface,
|
|
92
|
-
// so `http://localhost:8000/` crosses nothing and TLS would add nothing to it.
|
|
93
|
-
// A LAN address is a different matter entirely: 192.168.1.50 is a real wire,
|
|
94
|
-
// shared with every other device on it.
|
|
95
|
-
const LOOPBACK_HOSTS = new Set(['localhost', '127.0.0.1', '[::1]', '::1']);
|
|
96
|
-
export function isLoopbackHost(host) {
|
|
97
|
-
const h = String(host || '').toLowerCase().replace(/^\[|\]$/g, '');
|
|
98
|
-
if (LOOPBACK_HOSTS.has(h) || h === '[::1]') return true;
|
|
99
|
-
if (h.endsWith('.localhost')) return true; // RFC 6761 reserves the whole label
|
|
100
|
-
return /^127\./.test(h);
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
/**
|
|
104
|
-
* Refuse a pod, issuer or private-root address that would carry secrets in
|
|
105
|
-
* clear over a real network. Returns a reason string, or null when acceptable.
|
|
106
|
-
*
|
|
107
|
-
* The pod URL is where the account password is exchanged for a credential and
|
|
108
|
-
* where that credential is used from then on; the issuer is where the password
|
|
109
|
-
* itself is posted. Nothing checked the scheme, so a typed `http://` sent both
|
|
110
|
-
* in plaintext with no warning. Loopback is exempt because it cannot leak, and
|
|
111
|
-
* because a pod on this machine is a documented, ordinary way to run this.
|
|
112
|
-
*/
|
|
113
|
-
export function insecureUrlReason(url, what = 'address') {
|
|
114
|
-
if (!url) return null;
|
|
115
|
-
let u;
|
|
116
|
-
try { u = new URL(url); } catch { return `"${url}" is not a ${what}`; }
|
|
117
|
-
if (u.protocol === 'https:') return null;
|
|
118
|
-
if (u.protocol !== 'http:') return `the ${what} must be http(s), not ${u.protocol}`;
|
|
119
|
-
if (isLoopbackHost(u.hostname)) return null; // never crosses a wire
|
|
120
|
-
return `refusing an unencrypted ${what}: ${u.origin} would send your password, `
|
|
121
|
-
+ 'your credential and everything after it in clear over the network. '
|
|
122
|
-
+ 'Use https:// — or a loopback address if the pod is on this machine.';
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
// Throws when the URL must not be requested; otherwise returns the
|
|
126
|
-
// validated address to pin the connection to ({address, family}), or null
|
|
127
|
-
// when the URL already names a literal IP.
|
|
128
|
-
export async function assertPublicUrl(url) {
|
|
129
|
-
if (process.env.AP_ALLOW_PRIVATE_TARGETS === '1') return null;
|
|
130
|
-
let u;
|
|
131
|
-
try { u = new URL(url); } catch { throw new Error(`unparsable URL: ${url}`); }
|
|
132
|
-
if (u.protocol !== 'https:' && u.protocol !== 'http:') throw new Error(`blocked scheme: ${u.protocol}`);
|
|
133
|
-
const host = u.hostname.replace(/^\[|\]$/g, '');
|
|
134
|
-
if (net.isIP(host)) {
|
|
135
|
-
if (isPrivateAddress(host)) throw new Error(`blocked private address: ${host}`);
|
|
136
|
-
return null;
|
|
137
|
-
}
|
|
138
|
-
let addrs;
|
|
139
|
-
try { addrs = await dns.lookup(host, { all: true }); }
|
|
140
|
-
catch (e) { throw new Error(`DNS lookup failed for ${host}: ${e.message}`); }
|
|
141
|
-
if (!addrs.length) throw new Error(`no addresses for ${host}`);
|
|
142
|
-
// ALL addresses must be public — a name resolving to both public and
|
|
143
|
-
// private answers is a rebinding attempt.
|
|
144
|
-
for (const a of addrs) {
|
|
145
|
-
if (isPrivateAddress(a.address)) throw new Error(`blocked private address: ${host} → ${a.address}`);
|
|
146
|
-
}
|
|
147
|
-
return { address: addrs[0].address, family: addrs[0].family };
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
// Validating a hostname and then handing that NAME to fetch leaves a
|
|
151
|
-
// rebinding window: the resolver can answer publicly for our check and
|
|
152
|
-
// privately for the connection. Pinning the dispatcher's lookup to the
|
|
153
|
-
// address we validated closes it, while TLS/SNI still see the real
|
|
154
|
-
// hostname (so certificates verify normally).
|
|
155
|
-
// Declared in package.json since 2026-08-03. It had been arriving as a
|
|
156
|
-
// four-level transitive dependency of rdflib's, which meant the rebinding
|
|
157
|
-
// protection below rested on a package nothing had asked for — and the catch
|
|
158
|
-
// swallowed its absence, so losing it would have been silent. Say so instead:
|
|
159
|
-
// the address check still runs, but the connection is no longer pinned to the
|
|
160
|
-
// address that passed it.
|
|
161
|
-
let Agent = null;
|
|
162
|
-
try { ({ Agent } = await import('undici')); }
|
|
163
|
-
catch {
|
|
164
|
-
console.warn('safefetch: undici is not available — addresses are still checked, '
|
|
165
|
-
+ 'but connections are NOT pinned to the checked address, so a name that '
|
|
166
|
-
+ 'resolves differently on the second lookup is not caught');
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
function pinnedDispatcher(address, family) {
|
|
170
|
-
if (!Agent) return undefined;
|
|
171
|
-
// The connect layer calls lookup either callback-style (err, address,
|
|
172
|
-
// family) or, with options.all, expecting an array of records.
|
|
173
|
-
const lookup = (_host, opts, cb) => (opts && opts.all
|
|
174
|
-
? cb(null, [{ address, family }])
|
|
175
|
-
: cb(null, address, family));
|
|
176
|
-
return new Agent({ connect: { lookup } });
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
/** Resolve + validate, returning a dispatcher pinned to the checked address. */
|
|
180
|
-
export async function pinnedFor(url) {
|
|
181
|
-
if (process.env.AP_ALLOW_PRIVATE_TARGETS === '1') return undefined;
|
|
182
|
-
const addr = await assertPublicUrl(url);
|
|
183
|
-
return addr ? pinnedDispatcher(addr.address, addr.family) : undefined;
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
/** Read a response body with a hard byte budget (streams are unbounded). */
|
|
187
|
-
export async function readCapped(res, max = MAX_BYTES) {
|
|
188
|
-
const len = Number(res.headers?.get?.('content-length') || 0);
|
|
189
|
-
if (len > max) throw new Error(`response too large (${len} bytes)`);
|
|
190
|
-
if (!res.body) return await res.text();
|
|
191
|
-
const reader = res.body.getReader();
|
|
192
|
-
const chunks = [];
|
|
193
|
-
let total = 0;
|
|
194
|
-
for (;;) {
|
|
195
|
-
const { done, value } = await reader.read();
|
|
196
|
-
if (done) break;
|
|
197
|
-
total += value.length;
|
|
198
|
-
if (total > max) { await reader.cancel(); throw new Error(`response exceeded ${max} bytes`); }
|
|
199
|
-
chunks.push(value);
|
|
200
|
-
}
|
|
201
|
-
return Buffer.concat(chunks.map(Buffer.from)).toString('utf8');
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
/**
|
|
205
|
-
* fetch() with the address policy applied to the initial URL and to every
|
|
206
|
-
* redirect hop, the connection pinned to the validated address, and a
|
|
207
|
-
* response size cap.
|
|
208
|
-
* @param {string} url
|
|
209
|
-
* @param {object} [init] passed through to fetch
|
|
210
|
-
* @param {function} [fetchImpl] the actual fetch (e.g. a signing fetch);
|
|
211
|
-
* receives (url, init) with the dispatcher set
|
|
212
|
-
*/
|
|
213
|
-
export async function safeFetch(url, init = {}, fetchImpl = fetch) {
|
|
214
|
-
let current = url;
|
|
215
|
-
const withUa = { ...init, headers: { 'user-agent': USER_AGENT, ...(init.headers || {}) } };
|
|
216
|
-
for (let hop = 0; hop <= MAX_REDIRECTS; hop++) {
|
|
217
|
-
const dispatcher = await pinnedFor(current);
|
|
218
|
-
const res = await fetchImpl(current, {
|
|
219
|
-
...withUa,
|
|
220
|
-
signal: init.signal || AbortSignal.timeout(HTTP_TIMEOUT_MS),
|
|
221
|
-
...(dispatcher ? { dispatcher } : {}),
|
|
222
|
-
redirect: 'manual',
|
|
223
|
-
});
|
|
224
|
-
if (res.status >= 300 && res.status < 400) {
|
|
225
|
-
const loc = res.headers.get('location');
|
|
226
|
-
if (!loc) return res;
|
|
227
|
-
current = new URL(loc, current).href;
|
|
228
|
-
continue;
|
|
229
|
-
}
|
|
230
|
-
const len = Number(res.headers?.get?.('content-length') || 0);
|
|
231
|
-
if (len > MAX_BYTES) throw new Error(`response too large (${len} bytes) from ${current}`);
|
|
232
|
-
return res;
|
|
233
|
-
}
|
|
234
|
-
throw new Error(`too many redirects from ${url}`);
|
|
235
|
-
}
|
package/lib/shared/ua.mjs
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
// One User-Agent for everything this agent sends. An operator reading an access
|
|
2
|
-
// log should be able to tell what we are and where to raise a complaint;
|
|
3
|
-
// solidcommunity.net's 2026-07-29 report had to infer us from client-credential
|
|
4
|
-
// names because every request identified itself only as "node".
|
|
5
|
-
//
|
|
6
|
-
// vendor/idp-grant.cjs builds the same string from package.json — it is
|
|
7
|
-
// CommonJS and cannot import this.
|
|
8
|
-
|
|
9
|
-
import fs from 'node:fs';
|
|
10
|
-
import path from 'node:path';
|
|
11
|
-
import { fileURLToPath } from 'node:url';
|
|
12
|
-
|
|
13
|
-
// Best-effort: a bundled deploy (the Netlify functions) rewrites this file's
|
|
14
|
-
// location and the relative path with it. A User-Agent must never be the
|
|
15
|
-
// reason anything fails to start.
|
|
16
|
-
let version = '0';
|
|
17
|
-
try {
|
|
18
|
-
({ version } = JSON.parse(fs.readFileSync(
|
|
19
|
-
path.join(path.dirname(fileURLToPath(import.meta.url)), '../../package.json'), 'utf8')));
|
|
20
|
-
} catch {
|
|
21
|
-
try {
|
|
22
|
-
({ version } = JSON.parse(fs.readFileSync(
|
|
23
|
-
path.join(process.cwd(), 'package.json'), 'utf8')));
|
|
24
|
-
} catch { /* keep '0' */ }
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
// Renamed 2026-07-31, once solidcommunity.net was back up and both actors there
|
|
28
|
-
// were retired: the name in their logs no longer has to match the name in here.
|
|
29
|
-
export const USER_AGENT = `fedipod/${version} (+https://github.com/jeff-zucker/FediPod)`;
|
package/phanpy/dist/404.html
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
<!doctype html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="UTF-8" />
|
|
5
|
-
<meta
|
|
6
|
-
name="viewport"
|
|
7
|
-
content="width=device-width, initial-scale=1, viewport-fit=cover"
|
|
8
|
-
/>
|
|
9
|
-
<title>Page not found</title>
|
|
10
|
-
<meta name="color-scheme" content="light dark" />
|
|
11
|
-
<style>
|
|
12
|
-
body {
|
|
13
|
-
text-align: center;
|
|
14
|
-
font-family:
|
|
15
|
-
ui-rounded,
|
|
16
|
-
-apple-system,
|
|
17
|
-
BlinkMacSystemFont,
|
|
18
|
-
Segoe UI,
|
|
19
|
-
Roboto,
|
|
20
|
-
Ubuntu,
|
|
21
|
-
Cantarell,
|
|
22
|
-
Noto Sans,
|
|
23
|
-
sans-serif;
|
|
24
|
-
display: flex;
|
|
25
|
-
flex-direction: column;
|
|
26
|
-
justify-content: center;
|
|
27
|
-
align-items: center;
|
|
28
|
-
min-height: 100vh;
|
|
29
|
-
}
|
|
30
|
-
h1 {
|
|
31
|
-
margin: 0;
|
|
32
|
-
padding: 0;
|
|
33
|
-
}
|
|
34
|
-
</style>
|
|
35
|
-
</head>
|
|
36
|
-
<body>
|
|
37
|
-
<h1>Page not found</h1>
|
|
38
|
-
<p><a href="/">Go home</a></p>
|
|
39
|
-
</body>
|
|
40
|
-
</html>
|
package/phanpy/dist/_headers
DELETED
|
Binary file
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./chunk-aKtaBQYM.js";import{m as t}from"./pwa-viewport-ogKbF51K.js";var n=e({ICONS:()=>r}),r={x:()=>t(()=>import(`./icons/close-line-DYrFWcjv.js`),[],import.meta.url),heart:()=>t(()=>import(`./icons/heart-line-CJ7K47J4.js`),[],import.meta.url),bookmark:()=>t(()=>import(`./icons/bookmark-line-1CtX5JLF.js`),[],import.meta.url),"check-circle":()=>t(()=>import(`./icons/check-circle-line-DsAxFr5-.js`),[],import.meta.url),"x-circle":()=>t(()=>import(`./icons/close-circle-line-CICdiuGz.js`),[],import.meta.url),transfer:()=>t(()=>import(`./icons/transfer-4-line-oisfvTBw.js`),[],import.meta.url),rocket:()=>t(()=>import(`./icons/rocket-line-4KZl537D.js`),[],import.meta.url),"arrow-left":{module:()=>t(()=>import(`./icons/arrow-left-line-CGrGT9C-.js`),[],import.meta.url),rtl:!0},"arrow-right":{module:()=>t(()=>import(`./icons/arrow-right-line-CE-HERfX.js`),[],import.meta.url),rtl:!0},"arrow-up":()=>t(()=>import(`./icons/arrow-up-line-C7yBeugc.js`),[],import.meta.url),"arrow-down":()=>t(()=>import(`./icons/arrow-down-line-B8uzXzq6.js`),[],import.meta.url),earth:()=>t(()=>import(`./icons/world-2-line-CenkGIwj.js`),[],import.meta.url),lock:()=>t(()=>import(`./icons/lock-line-CPoaXeUW.js`),[],import.meta.url),unlock:()=>t(()=>import(`./icons/unlock-line-X_x5vwv3.js`),[],import.meta.url),"eye-close":()=>t(()=>import(`./icons/eye-close-line-BgTaSJ4P.js`),[],import.meta.url),"eye-open":()=>t(()=>import(`./icons/eye-2-line-CiWXx-f_.js`),[],import.meta.url),message:()=>t(()=>import(`./icons/mail-line-B0P8aa1L.js`),[],import.meta.url),comment:{module:()=>t(()=>import(`./icons/chat-3-line-YFK2-hwz.js`),[],import.meta.url),rtl:!0},comment2:{module:()=>t(()=>import(`./icons/comment-2-line-CR3g7WeB.js`),[],import.meta.url),rtl:!0},home:()=>t(()=>import(`./icons/home-3-line-fRU1zeLG.js`),[],import.meta.url),notification:()=>t(()=>import(`./icons/notification-line-BZZq2Gtu.js`),[],import.meta.url),follow:()=>t(()=>import(`./icons/user-follow-line-BXux0wSd.js`),[],import.meta.url),"follow-add":()=>t(()=>import(`./icons/user-add-line-BbXdHG4z.js`),[],import.meta.url),poll:[()=>t(()=>import(`./icons/chart-bar-line-FK-QOmtF.js`),[],import.meta.url),`90deg`],pencil:()=>t(()=>import(`./icons/pencil-line-CKh8-A1v.js`),[],import.meta.url),quill:()=>t(()=>import(`./icons/quill-pen-line-B6LUrnCP.js`),[],import.meta.url),at:()=>t(()=>import(`./icons/at-line-CF66Bznk.js`),[],import.meta.url),attachment:()=>t(()=>import(`./icons/attachment-line-BY8It-l9.js`),[],import.meta.url),upload:()=>t(()=>import(`./icons/upload-3-line-DgzwUJeW.js`),[],import.meta.url),gear:()=>t(()=>import(`./icons/settings-3-line-azJwK47w.js`),[],import.meta.url),more:()=>t(()=>import(`./icons/more-3-line-BIiVjYTz.js`),[],import.meta.url),more2:()=>t(()=>import(`./icons/more-1-fill-Dw2e5xab.js`),[],import.meta.url),external:{module:()=>t(()=>import(`./icons/external-link-line-BvpSkmjO.js`),[],import.meta.url),rtl:!0},popout:{module:()=>t(()=>import(`./icons/external-link-line-BvpSkmjO.js`),[],import.meta.url),rtl:!0},popin:{module:()=>t(()=>import(`./icons/external-link-line-BvpSkmjO.js`),[],import.meta.url),rotate:`180deg`,rtl:!0},plus:()=>t(()=>import(`./icons/add-circle-line-WD0mwORD.js`),[],import.meta.url),"chevron-left":{module:()=>t(()=>import(`./icons/left-line-eUw0tya4.js`),[],import.meta.url),rtl:!0},"chevron-right":{module:()=>t(()=>import(`./icons/right-line-B3KWJaqc.js`),[],import.meta.url),rtl:!0},"chevron-down":()=>t(()=>import(`./icons/down-line-BGqSSThd.js`),[],import.meta.url),reply:{module:()=>t(()=>import(`./icons/share-forward-line-Cp61fZzZ.js`),[],import.meta.url),rotate:`180deg`,flip:`horizontal`,rtl:!0},thread:()=>t(()=>import(`./icons/route-line-B28ReHcE.js`),[],import.meta.url),group:{module:()=>t(()=>import(`./icons/group-line-C5fnX0wU.js`),[],import.meta.url),rtl:!0},bot:()=>t(()=>import(`./icons/android-2-line-Bzxnrd3S.js`),[],import.meta.url),menu:()=>t(()=>import(`./icons/rows-4-line-CrBniagM.js`),[],import.meta.url),list:{module:()=>t(()=>import(`./icons/list-check-line-BAxosBh9.js`),[],import.meta.url),rtl:!0},search:()=>t(()=>import(`./icons/search-2-line-B6geIU1z.js`),[],import.meta.url),hashtag:()=>t(()=>import(`./icons/hashtag-line-CyTEEXBb.js`),[],import.meta.url),info:()=>t(()=>import(`./icons/information-line-iNk6-sOY.js`),[],import.meta.url),shortcut:()=>t(()=>import(`./icons/lightning-line-DaKoDdix.js`),[],import.meta.url),user:()=>t(()=>import(`./icons/user-4-line-BVSynZCp.js`),[],import.meta.url),following:()=>t(()=>import(`./icons/walk-line-yNXfB-md.js`),[],import.meta.url),pin:()=>t(()=>import(`./icons/pin-line-DpTolyhs.js`),[],import.meta.url),unpin:[()=>t(()=>import(`./icons/pin-line-DpTolyhs.js`),[],import.meta.url),`180deg`],bus:()=>t(()=>import(`./icons/bus-2-line-6_dvA0GG.js`),[],import.meta.url),link:()=>t(()=>import(`./icons/link-2-line-DCqLmMA7.js`),[],import.meta.url),history:()=>t(()=>import(`./icons/history-line-bGQiwbTH.js`),[],import.meta.url),share:()=>t(()=>import(`./icons/share-2-line-D5MxWjrm.js`),[],import.meta.url),sparkles:()=>t(()=>import(`./icons/sparkles-line-C2hY1s6I.js`),[],import.meta.url),sparkles2:()=>t(()=>import(`./icons/sparkles-2-line-DYYyXTaW.js`),[],import.meta.url),exit:{module:()=>t(()=>import(`./icons/exit-line-Dc07BS-x.js`),[],import.meta.url),rtl:!0},translate:()=>t(()=>import(`./icons/translate-line-BFWol2Ce.js`),[],import.meta.url),play:()=>t(()=>import(`./icons/play-fill-B0-G_8lX.js`),[],import.meta.url),trash:()=>t(()=>import(`./icons/delete-2-line-B8xmbr4n.js`),[],import.meta.url),mute:{module:()=>t(()=>import(`./icons/volume-mute-line-DzlzIqFZ.js`),[],import.meta.url),rtl:!0},unmute:{module:()=>t(()=>import(`./icons/volume-line-Bs390KQt.js`),[],import.meta.url),rtl:!0},block:()=>t(()=>import(`./icons/forbid-circle-line-D3LTT9yd.js`),[],import.meta.url),unblock:[()=>t(()=>import(`./icons/forbid-circle-line-D3LTT9yd.js`),[],import.meta.url),`180deg`],flag:()=>t(()=>import(`./icons/flag-1-line-C2HB05I0.js`),[],import.meta.url),time:()=>t(()=>import(`./icons/time-line-BF3eet1v.js`),[],import.meta.url),refresh:()=>t(()=>import(`./icons/refresh-2-line-D0mTF97S.js`),[],import.meta.url),emoji2:()=>t(()=>import(`./icons/emoji-2-line-D8YgnM-y.js`),[],import.meta.url),filter:()=>t(()=>import(`./icons/filter-2-line-B_mR2usy.js`),[],import.meta.url),filters:()=>t(()=>import(`./icons/filter-line-C_nm-3cU.js`),[],import.meta.url),chart:()=>t(()=>import(`./icons/chart-line-line-BGcJAFWw.js`),[],import.meta.url),react:()=>t(()=>import(`./icons/react-line-CoIKhhtK.js`),[],import.meta.url),layout4:{module:()=>t(()=>import(`./icons/layout-4-line-CZkOX52Z.js`),[],import.meta.url),rtl:!0},layout5:()=>t(()=>import(`./icons/layout-5-line-B_znt5wO.js`),[],import.meta.url),announce:{module:()=>t(()=>import(`./icons/announcement-line-5nwaJFJm.js`),[],import.meta.url),rtl:!0},alert:()=>t(()=>import(`./icons/alert-line-CpFUMf9s.js`),[],import.meta.url),round:()=>t(()=>import(`./icons/round-fill-C69NTrZ0.js`),[],import.meta.url),"round-line":()=>t(()=>import(`./icons/round-line-B9k_1uo-.js`),[],import.meta.url),"arrow-up-circle":()=>t(()=>import(`./icons/arrow-up-circle-line-DEparSNF.js`),[],import.meta.url),"arrow-down-circle":()=>t(()=>import(`./icons/arrow-down-circle-line-a7Id9-Iv.js`),[],import.meta.url),clipboard:{module:()=>t(()=>import(`./icons/clipboard-line-BBp364gJ.js`),[],import.meta.url),rtl:!0},"account-edit":()=>t(()=>import(`./icons/user-edit-line-BFAHOV0X.js`),[],import.meta.url),"account-warning":()=>t(()=>import(`./icons/user-warning-line-Cj43j0_E.js`),[],import.meta.url),"account-add":()=>t(()=>import(`./icons/user-add-2-line-BlGS5Q8q.js`),[],import.meta.url),keyboard:()=>t(()=>import(`./icons/keyboard-line-DsCyuQNz.js`),[],import.meta.url),cloud:()=>t(()=>import(`./icons/cloud-line-tiQAbah8.js`),[],import.meta.url),month:{module:()=>t(()=>import(`./icons/calendar-month-line-vommts2C.js`),[],import.meta.url),rtl:!0},media:()=>t(()=>import(`./icons/photo-album-line-Bnfg2u40.js`),[],import.meta.url),speak:()=>t(()=>import(`./icons/radar-line-CKyroTth.js`),[],import.meta.url),building:()=>t(()=>import(`./icons/building-5-line-Dd59MzbO.js`),[],import.meta.url),history2:{module:()=>t(()=>import(`./icons/history-2-line-kWWvFzqv.js`),[],import.meta.url),rtl:!0},document:()=>t(()=>import(`./icons/document-line-C7mb9sb7.js`),[],import.meta.url),"arrows-right":{module:()=>t(()=>import(`./icons/arrows-right-line-BtbXmJGP.js`),[],import.meta.url),rtl:!0},code:()=>t(()=>import(`./icons/code-line-fAl8iiV3.js`),[],import.meta.url),copy:()=>t(()=>import(`./icons/copy-2-line-CLW69yF5.js`),[],import.meta.url),quote:{module:()=>t(()=>import(`./icons/quote-left-fill-hQZ1cj_6.js`),[],import.meta.url),rtl:!0},quote2:{module:()=>t(()=>import(`./icons/blockquote-line-BS6pU_hm.js`),[],import.meta.url),rtl:!0},settings:()=>t(()=>import(`./icons/settings-6-line-C_5zc5YR.js`),[],import.meta.url),"heart-break":()=>t(()=>import(`./icons/heart-crack-line-BZddbO2C.js`),[],import.meta.url),"user-x":()=>t(()=>import(`./icons/user-x-line-DIDgNlPH.js`),[],import.meta.url),minimize:()=>t(()=>import(`./icons/down-line-BGqSSThd.js`),[],import.meta.url),celebrate:()=>t(()=>import(`./icons/celebrate-line-B8DvIoi0.js`),[],import.meta.url),schedule:()=>t(()=>import(`./icons/calendar-time-add-line-BU_DTlQk.js`),[],import.meta.url),day:()=>t(()=>import(`./icons/calendar-day-line-Crpl_fmu.js`),[],import.meta.url),camera:()=>t(()=>import(`./icons/camera-line-Cv69MEei.js`),[],import.meta.url),endorsement:{module:()=>t(()=>import(`./icons/user-star-line-DdYlpHLU.js`),[],import.meta.url),rtl:!0},formula:()=>t(()=>import(`./icons/formula-line-DLrt2d6j.js`),[],import.meta.url),edit:()=>t(()=>import(`./icons/edit-4-line-DcgGaEhx.js`),[],import.meta.url),"zoom-in":()=>t(()=>import(`./icons/zoom-in-line-CaENUphf.js`),[],import.meta.url),"zoom-out":()=>t(()=>import(`./icons/zoom-out-line-BDNk0EWo.js`),[],import.meta.url),"cursor-hand":()=>t(()=>import(`./icons/hand-finger-2-line-BGgxbuL9.js`),[],import.meta.url),qrcode:()=>t(()=>import(`./icons/qrcode-2-line-B6SPCaHn.js`),[],import.meta.url),scan:()=>t(()=>import(`./icons/scan-line-DSf74YdP.js`),[],import.meta.url),note:()=>t(()=>import(`./icons/document-3-line-DBGNhAg2.js`),[],import.meta.url),grid:()=>t(()=>import(`./icons/grid-line-CgUmEikf.js`),[],import.meta.url),moon:{module:()=>t(()=>import(`./icons/moon-line-CEqNAToP.js`),[],import.meta.url),flip:`horizontal`},"arrow-up-top":()=>t(()=>import(`./icons/arrow-to-up-line-CvdQjmcy.js`),[],import.meta.url),collections:()=>t(()=>import(`./icons/board-line-C0UWXyA6.js`),[],import.meta.url)};export{n,r as t};
|
|
2
|
-
//# sourceMappingURL=ICONS-DIPJeU0C.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"mappings":"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","names":["ICONS","x","heart","bookmark","transfer","rocket","module","rtl","earth","lock","unlock","message","comment","comment2","home","notification","follow","poll","pencil","quill","at","attachment","upload","gear","more","more2","external","popout","popin","rotate","plus","reply","flip","thread","group","bot","menu","list","search","hashtag","info","shortcut","user","following","pin","unpin","bus","link","history","share","sparkles","sparkles2","exit","translate","play","trash","mute","unmute","block","unblock","flag","time","refresh","emoji2","filter","filters","chart","react","layout4","layout5","announce","alert","round","clipboard","keyboard","cloud","month","media","speak","building","history2","document","code","copy","quote","quote2","settings","minimize","celebrate","schedule","day","camera","endorsement","formula","edit","qrcode","scan","note","grid","moon","collections"],"ignoreList":[],"sources":["../../src/components/ICONS.jsx"],"sourcesContent":["export const ICONS = {\n x: () => import('../iconify-icons/mingcute/close-line.js'),\n heart: () => import('../iconify-icons/mingcute/heart-line.js'),\n bookmark: () => import('../iconify-icons/mingcute/bookmark-line.js'),\n 'check-circle': () =>\n import('../iconify-icons/mingcute/check-circle-line.js'),\n 'x-circle': () => import('../iconify-icons/mingcute/close-circle-line.js'),\n transfer: () => import('../iconify-icons/mingcute/transfer-4-line.js'),\n rocket: () => import('../iconify-icons/mingcute/rocket-line.js'),\n 'arrow-left': {\n module: () => import('../iconify-icons/mingcute/arrow-left-line.js'),\n rtl: true,\n },\n 'arrow-right': {\n module: () => import('../iconify-icons/mingcute/arrow-right-line.js'),\n rtl: true,\n },\n 'arrow-up': () => import('../iconify-icons/mingcute/arrow-up-line.js'),\n 'arrow-down': () => import('../iconify-icons/mingcute/arrow-down-line.js'),\n earth: () => import('../iconify-icons/mingcute/world-2-line.js'),\n lock: () => import('../iconify-icons/mingcute/lock-line.js'),\n unlock: () => import('../iconify-icons/mingcute/unlock-line.js'),\n 'eye-close': () => import('../iconify-icons/mingcute/eye-close-line.js'),\n 'eye-open': () => import('../iconify-icons/mingcute/eye-2-line.js'),\n message: () => import('../iconify-icons/mingcute/mail-line.js'),\n comment: {\n module: () => import('../iconify-icons/mingcute/chat-3-line.js'),\n rtl: true,\n },\n comment2: {\n module: () => import('../iconify-icons/mingcute/comment-2-line.js'),\n rtl: true,\n },\n home: () => import('../iconify-icons/mingcute/home-3-line.js'),\n notification: () => import('../iconify-icons/mingcute/notification-line.js'),\n follow: () => import('../iconify-icons/mingcute/user-follow-line.js'),\n 'follow-add': () => import('../iconify-icons/mingcute/user-add-line.js'),\n poll: [() => import('../iconify-icons/mingcute/chart-bar-line.js'), '90deg'],\n pencil: () => import('../iconify-icons/mingcute/pencil-line.js'),\n quill: () => import('../iconify-icons/mingcute/quill-pen-line.js'),\n at: () => import('../iconify-icons/mingcute/at-line.js'),\n attachment: () => import('../iconify-icons/mingcute/attachment-line.js'),\n upload: () => import('../iconify-icons/mingcute/upload-3-line.js'),\n gear: () => import('../iconify-icons/mingcute/settings-3-line.js'),\n more: () => import('../iconify-icons/mingcute/more-3-line.js'),\n more2: () => import('../iconify-icons/mingcute/more-1-fill.js'),\n external: {\n module: () => import('../iconify-icons/mingcute/external-link-line.js'),\n rtl: true,\n },\n popout: {\n module: () => import('../iconify-icons/mingcute/external-link-line.js'),\n rtl: true,\n },\n popin: {\n module: () => import('../iconify-icons/mingcute/external-link-line.js'),\n rotate: '180deg',\n rtl: true,\n },\n plus: () => import('../iconify-icons/mingcute/add-circle-line.js'),\n 'chevron-left': {\n module: () => import('../iconify-icons/mingcute/left-line.js'),\n rtl: true,\n },\n 'chevron-right': {\n module: () => import('../iconify-icons/mingcute/right-line.js'),\n rtl: true,\n },\n 'chevron-down': () => import('../iconify-icons/mingcute/down-line.js'),\n reply: {\n module: () => import('../iconify-icons/mingcute/share-forward-line.js'),\n rotate: '180deg',\n flip: 'horizontal',\n rtl: true,\n },\n thread: () => import('../iconify-icons/mingcute/route-line.js'),\n group: {\n module: () => import('../iconify-icons/mingcute/group-line.js'),\n rtl: true,\n },\n bot: () => import('../iconify-icons/mingcute/android-2-line.js'),\n menu: () => import('../iconify-icons/mingcute/rows-4-line.js'),\n list: {\n module: () => import('../iconify-icons/mingcute/list-check-line.js'),\n rtl: true,\n },\n search: () => import('../iconify-icons/mingcute/search-2-line.js'),\n hashtag: () => import('../iconify-icons/mingcute/hashtag-line.js'),\n info: () => import('../iconify-icons/mingcute/information-line.js'),\n shortcut: () => import('../iconify-icons/mingcute/lightning-line.js'),\n user: () => import('../iconify-icons/mingcute/user-4-line.js'),\n following: () => import('../iconify-icons/mingcute/walk-line.js'),\n pin: () => import('../iconify-icons/mingcute/pin-line.js'),\n unpin: [() => import('../iconify-icons/mingcute/pin-line.js'), '180deg'],\n bus: () => import('../iconify-icons/mingcute/bus-2-line.js'),\n link: () => import('../iconify-icons/mingcute/link-2-line.js'),\n history: () => import('../iconify-icons/mingcute/history-line.js'),\n share: () => import('../iconify-icons/mingcute/share-2-line.js'),\n sparkles: () => import('../iconify-icons/mingcute/sparkles-line.js'),\n sparkles2: () => import('../iconify-icons/mingcute/sparkles-2-line.js'),\n exit: {\n module: () => import('../iconify-icons/mingcute/exit-line.js'),\n rtl: true,\n },\n translate: () => import('../iconify-icons/mingcute/translate-line.js'),\n play: () => import('../iconify-icons/mingcute/play-fill.js'),\n trash: () => import('../iconify-icons/mingcute/delete-2-line.js'),\n mute: {\n module: () => import('../iconify-icons/mingcute/volume-mute-line.js'),\n rtl: true,\n },\n unmute: {\n module: () => import('../iconify-icons/mingcute/volume-line.js'),\n rtl: true,\n },\n block: () => import('../iconify-icons/mingcute/forbid-circle-line.js'),\n unblock: [\n () => import('../iconify-icons/mingcute/forbid-circle-line.js'),\n '180deg',\n ],\n flag: () => import('../iconify-icons/mingcute/flag-1-line.js'),\n time: () => import('../iconify-icons/mingcute/time-line.js'),\n refresh: () => import('../iconify-icons/mingcute/refresh-2-line.js'),\n emoji2: () => import('../iconify-icons/mingcute/emoji-2-line.js'),\n filter: () => import('../iconify-icons/mingcute/filter-2-line.js'),\n filters: () => import('../iconify-icons/mingcute/filter-line.js'),\n chart: () => import('../iconify-icons/mingcute/chart-line-line.js'),\n react: () => import('../iconify-icons/mingcute/react-line.js'),\n layout4: {\n module: () => import('../iconify-icons/mingcute/layout-4-line.js'),\n rtl: true,\n },\n layout5: () => import('../iconify-icons/mingcute/layout-5-line.js'),\n announce: {\n module: () => import('../iconify-icons/mingcute/announcement-line.js'),\n rtl: true,\n },\n alert: () => import('../iconify-icons/mingcute/alert-line.js'),\n round: () => import('../iconify-icons/mingcute/round-fill.js'),\n 'round-line': () => import('../iconify-icons/mingcute/round-line.js'),\n 'arrow-up-circle': () =>\n import('../iconify-icons/mingcute/arrow-up-circle-line.js'),\n 'arrow-down-circle': () =>\n import('../iconify-icons/mingcute/arrow-down-circle-line.js'),\n clipboard: {\n module: () => import('../iconify-icons/mingcute/clipboard-line.js'),\n rtl: true,\n },\n 'account-edit': () => import('../iconify-icons/mingcute/user-edit-line.js'),\n 'account-warning': () =>\n import('../iconify-icons/mingcute/user-warning-line.js'),\n 'account-add': () => import('../iconify-icons/mingcute/user-add-2-line.js'),\n keyboard: () => import('../iconify-icons/mingcute/keyboard-line.js'),\n cloud: () => import('../iconify-icons/mingcute/cloud-line.js'),\n month: {\n module: () => import('../iconify-icons/mingcute/calendar-month-line.js'),\n rtl: true,\n },\n media: () => import('../iconify-icons/mingcute/photo-album-line.js'),\n speak: () => import('../iconify-icons/mingcute/radar-line.js'),\n building: () => import('../iconify-icons/mingcute/building-5-line.js'),\n history2: {\n module: () => import('../iconify-icons/mingcute/history-2-line.js'),\n rtl: true,\n },\n document: () => import('../iconify-icons/mingcute/document-line.js'),\n 'arrows-right': {\n module: () => import('../iconify-icons/mingcute/arrows-right-line.js'),\n rtl: true,\n },\n code: () => import('../iconify-icons/mingcute/code-line.js'),\n copy: () => import('../iconify-icons/mingcute/copy-2-line.js'),\n quote: {\n module: () => import('../iconify-icons/mingcute/quote-left-fill.js'),\n rtl: true,\n },\n quote2: {\n module: () => import('../iconify-icons/mingcute/blockquote-line.js'),\n rtl: true,\n },\n settings: () => import('../iconify-icons/mingcute/settings-6-line.js'),\n 'heart-break': () => import('../iconify-icons/mingcute/heart-crack-line.js'),\n 'user-x': () => import('../iconify-icons/mingcute/user-x-line.js'),\n minimize: () => import('../iconify-icons/mingcute/down-line.js'),\n celebrate: () => import('../iconify-icons/mingcute/celebrate-line.js'),\n schedule: () => import('../iconify-icons/mingcute/calendar-time-add-line.js'),\n day: () => import('../iconify-icons/mingcute/calendar-day-line.js'),\n camera: () => import('../iconify-icons/mingcute/camera-line.js'),\n endorsement: {\n module: () => import('../iconify-icons/mingcute/user-star-line.js'),\n rtl: true,\n },\n formula: () => import('../iconify-icons/mingcute/formula-line.js'),\n edit: () => import('../iconify-icons/mingcute/edit-4-line.js'),\n 'zoom-in': () => import('../iconify-icons/mingcute/zoom-in-line.js'),\n 'zoom-out': () => import('../iconify-icons/mingcute/zoom-out-line.js'),\n 'cursor-hand': () =>\n import('../iconify-icons/mingcute/hand-finger-2-line.js'),\n qrcode: () => import('../iconify-icons/mingcute/qrcode-2-line.js'),\n scan: () => import('../iconify-icons/mingcute/scan-line.js'),\n note: () => import('../iconify-icons/mingcute/document-3-line.js'),\n grid: () => import('../iconify-icons/mingcute/grid-line.js'),\n moon: {\n module: () => import('../iconify-icons/mingcute/moon-line.js'),\n flip: 'horizontal',\n },\n 'arrow-up-top': () => import('../iconify-icons/mingcute/arrow-to-up-line.js'),\n collections: () => import('../iconify-icons/mingcute/board-line.js'),\n};\n"],"file":"ICONS-DIPJeU0C.js"}
|