fedipod-server 0.26.0 → 0.28.1
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/dist/handler.js +4 -0
- package/lib/connections/bskyfeed.mjs +6 -0
- package/lib/core/deliver.mjs +52 -22
- package/lib/core/intake/index.mjs +17 -4
- package/lib/core/lease.mjs +7 -7
- package/lib/core/publisher/index.mjs +3 -0
- package/lib/core/store.mjs +25 -5
- package/lib/core/wire.mjs +10 -1
- package/lib/device/cli/commands/setup.mjs +6 -2
- package/lib/device/gateway-move.mjs +58 -0
- package/lib/device/migrate.mjs +3 -1
- package/lib/device/setup.mjs +67 -7
- package/lib/gateway/caches.mjs +36 -0
- package/lib/gateway/front-core.mjs +143 -71
- package/lib/gateway/gateway-core.mjs +20 -8
- package/lib/gateway/headers.mjs +49 -0
- package/lib/gateway/notices.mjs +84 -0
- package/lib/gateway/quiet.mjs +189 -0
- package/lib/pod/containers.mjs +5 -1
- package/lib/pod/inbox.mjs +22 -3
- package/lib/pod/state.mjs +8 -7
- package/lib/pod/transport.mjs +36 -3
- package/lib/session/README.md +14 -0
- package/lib/session/fedi-account.mjs +62 -0
- package/lib/session/package.json +10 -2
- package/package.json +1 -1
- package/run-agent.mjs +35 -0
- package/web/admin/bar.css +44 -10
- package/web/admin/client/index.html +29 -2
- package/web/admin/gateway.js +22 -0
- package/web/admin/index.html +52 -12
- package/web/admin/notices-bar.js +90 -0
- package/web/admin/record.js +13 -1
- package/web/admin/setup/index.html +29 -2
- package/web/admin/upkeep.js +4 -5
- package/web/app/README.md +14 -10
- package/web/app/admin-facade.mjs +26 -10
- package/web/app/agent.mjs +69 -22
- package/web/app/boot.mjs +154 -92
- package/web/app/deliver-relay.mjs +47 -7
- package/web/app/dist/boot.js +273 -421
- package/web/app/dist/boot.js.map +4 -4
- package/web/app/dist/sw.js +347 -92
- package/web/app/dist/sw.js.map +4 -4
- package/web/app/gateway-move.mjs +60 -0
- package/web/app/index.html +36 -46
- package/web/app/keys-browser.mjs +12 -15
- package/web/app/keystore.mjs +19 -36
- package/web/app/signup.mjs +172 -132
- package/web/app/sw-src.mjs +1 -1
- package/web/app/update.js +4 -0
- package/web/front/admin.html +3 -1
- package/web/front/notices.html +69 -0
- package/web/front/notices.js +107 -0
- package/web/app/index.html~ +0 -152
- package/web/app/site/_headers +0 -31
- package/web/app/site/_redirects +0 -39
- package/web/app/site/admin/actors.js +0 -145
- package/web/app/site/admin/bar.css +0 -92
- package/web/app/site/admin/bar.js +0 -99
- package/web/app/site/admin/client/client.js +0 -66
- package/web/app/site/admin/client/index.html +0 -61
- package/web/app/site/admin/client-phanpy/index.html +0 -61
- package/web/app/site/admin/client-pick.js +0 -79
- package/web/app/site/admin/common.js +0 -23
- package/web/app/site/admin/connections.js +0 -112
- package/web/app/site/admin/gateway.js +0 -111
- package/web/app/site/admin/group.js +0 -258
- package/web/app/site/admin/index.html +0 -582
- package/web/app/site/admin/oauth-signin.mjs +0 -37
- package/web/app/site/admin/record.js +0 -378
- package/web/app/site/admin/setup/index.html +0 -219
- package/web/app/site/admin/setup/setup.js +0 -326
- package/web/app/site/admin/tokens.css +0 -68
- package/web/app/site/admin/upkeep.js +0 -178
- package/web/app/site/admin/window.css +0 -55
- package/web/app/site/admin/window.js +0 -136
- package/web/app/site/app/404.html +0 -40
- package/web/app/site/app/_headers +0 -2
- package/web/app/site/app/apple-touch-icon.png +0 -0
- package/web/app/site/app/assets/ICONS-DIPJeU0C.js +0 -2
- package/web/app/site/app/assets/ICONS-DIPJeU0C.js.map +0 -1
- package/web/app/site/app/assets/ScheduledAtField-D-Abfo4J.js +0 -183
- package/web/app/site/app/assets/ScheduledAtField-D-Abfo4J.js.map +0 -1
- package/web/app/site/app/assets/Temml-CCjoacWt.woff2 +0 -0
- package/web/app/site/app/assets/__vite-browser-external-C7iut881.js +0 -2
- package/web/app/site/app/assets/__vite-browser-external-C7iut881.js.map +0 -1
- package/web/app/site/app/assets/boosts-carousel-BiOaNdMT.jpg +0 -0
- package/web/app/site/app/assets/catch-up-O5q5C75Z.png +0 -0
- package/web/app/site/app/assets/chunk-aKtaBQYM.js +0 -1
- package/web/app/site/app/assets/compose-CFEx7wb4.js +0 -2
- package/web/app/site/app/assets/compose-CFEx7wb4.js.map +0 -1
- package/web/app/site/app/assets/compose-ZJN5xSb4.js +0 -35
- package/web/app/site/app/assets/compose-ZJN5xSb4.js.map +0 -1
- package/web/app/site/app/assets/debug.module-YFQgwnIr.js +0 -52
- package/web/app/site/app/assets/debug.module-YFQgwnIr.js.map +0 -1
- package/web/app/site/app/assets/dom-p1YcJ5Rw.js +0 -2
- package/web/app/site/app/assets/dom-p1YcJ5Rw.js.map +0 -1
- package/web/app/site/app/assets/home-mobile-dark@2x-Dc-J8-SM.png +0 -0
- package/web/app/site/app/assets/home-mobile-light@2x-Bd3fod8m.png +0 -0
- package/web/app/site/app/assets/home-tablet-dark@2x-BgcNI8le.png +0 -0
- package/web/app/site/app/assets/home-tablet-light@2x-BW2RV9T6.png +0 -0
- package/web/app/site/app/assets/icons/add-circle-line-WD0mwORD.js +0 -1
- package/web/app/site/app/assets/icons/alert-line-CpFUMf9s.js +0 -1
- package/web/app/site/app/assets/icons/android-2-line-Bzxnrd3S.js +0 -1
- package/web/app/site/app/assets/icons/announcement-line-5nwaJFJm.js +0 -1
- package/web/app/site/app/assets/icons/arrow-down-circle-line-a7Id9-Iv.js +0 -1
- package/web/app/site/app/assets/icons/arrow-down-line-B8uzXzq6.js +0 -1
- package/web/app/site/app/assets/icons/arrow-left-line-CGrGT9C-.js +0 -1
- package/web/app/site/app/assets/icons/arrow-right-line-CE-HERfX.js +0 -1
- package/web/app/site/app/assets/icons/arrow-to-up-line-CvdQjmcy.js +0 -1
- package/web/app/site/app/assets/icons/arrow-up-circle-line-DEparSNF.js +0 -1
- package/web/app/site/app/assets/icons/arrow-up-line-C7yBeugc.js +0 -1
- package/web/app/site/app/assets/icons/arrows-right-line-BtbXmJGP.js +0 -1
- package/web/app/site/app/assets/icons/at-line-CF66Bznk.js +0 -1
- package/web/app/site/app/assets/icons/attachment-line-BY8It-l9.js +0 -1
- package/web/app/site/app/assets/icons/blockquote-line-BS6pU_hm.js +0 -1
- package/web/app/site/app/assets/icons/board-line-C0UWXyA6.js +0 -1
- package/web/app/site/app/assets/icons/bookmark-line-1CtX5JLF.js +0 -1
- package/web/app/site/app/assets/icons/building-5-line-Dd59MzbO.js +0 -1
- package/web/app/site/app/assets/icons/bus-2-line-6_dvA0GG.js +0 -1
- package/web/app/site/app/assets/icons/calendar-day-line-Crpl_fmu.js +0 -1
- package/web/app/site/app/assets/icons/calendar-month-line-vommts2C.js +0 -1
- package/web/app/site/app/assets/icons/calendar-time-add-line-BU_DTlQk.js +0 -1
- package/web/app/site/app/assets/icons/camera-line-Cv69MEei.js +0 -1
- package/web/app/site/app/assets/icons/celebrate-line-B8DvIoi0.js +0 -1
- package/web/app/site/app/assets/icons/chart-bar-line-FK-QOmtF.js +0 -1
- package/web/app/site/app/assets/icons/chart-line-line-BGcJAFWw.js +0 -1
- package/web/app/site/app/assets/icons/chat-3-line-YFK2-hwz.js +0 -1
- package/web/app/site/app/assets/icons/check-circle-line-DsAxFr5-.js +0 -1
- package/web/app/site/app/assets/icons/clipboard-line-BBp364gJ.js +0 -1
- package/web/app/site/app/assets/icons/close-circle-line-CICdiuGz.js +0 -1
- package/web/app/site/app/assets/icons/close-line-DYrFWcjv.js +0 -1
- package/web/app/site/app/assets/icons/cloud-line-tiQAbah8.js +0 -1
- package/web/app/site/app/assets/icons/code-line-fAl8iiV3.js +0 -1
- package/web/app/site/app/assets/icons/comment-2-line-CR3g7WeB.js +0 -1
- package/web/app/site/app/assets/icons/copy-2-line-CLW69yF5.js +0 -1
- package/web/app/site/app/assets/icons/delete-2-line-B8xmbr4n.js +0 -1
- package/web/app/site/app/assets/icons/document-3-line-DBGNhAg2.js +0 -1
- package/web/app/site/app/assets/icons/document-line-C7mb9sb7.js +0 -1
- package/web/app/site/app/assets/icons/down-line-BGqSSThd.js +0 -1
- package/web/app/site/app/assets/icons/edit-4-line-DcgGaEhx.js +0 -1
- package/web/app/site/app/assets/icons/emoji-2-line-D8YgnM-y.js +0 -1
- package/web/app/site/app/assets/icons/exit-line-Dc07BS-x.js +0 -1
- package/web/app/site/app/assets/icons/external-link-line-BvpSkmjO.js +0 -1
- package/web/app/site/app/assets/icons/eye-2-line-CiWXx-f_.js +0 -1
- package/web/app/site/app/assets/icons/eye-close-line-BgTaSJ4P.js +0 -1
- package/web/app/site/app/assets/icons/filter-2-line-B_mR2usy.js +0 -1
- package/web/app/site/app/assets/icons/filter-line-C_nm-3cU.js +0 -1
- package/web/app/site/app/assets/icons/flag-1-line-C2HB05I0.js +0 -1
- package/web/app/site/app/assets/icons/forbid-circle-line-D3LTT9yd.js +0 -1
- package/web/app/site/app/assets/icons/formula-line-DLrt2d6j.js +0 -1
- package/web/app/site/app/assets/icons/grid-line-CgUmEikf.js +0 -1
- package/web/app/site/app/assets/icons/group-line-C5fnX0wU.js +0 -1
- package/web/app/site/app/assets/icons/hand-finger-2-line-BGgxbuL9.js +0 -1
- package/web/app/site/app/assets/icons/hashtag-line-CyTEEXBb.js +0 -1
- package/web/app/site/app/assets/icons/heart-crack-line-BZddbO2C.js +0 -1
- package/web/app/site/app/assets/icons/heart-line-CJ7K47J4.js +0 -1
- package/web/app/site/app/assets/icons/history-2-line-kWWvFzqv.js +0 -1
- package/web/app/site/app/assets/icons/history-line-bGQiwbTH.js +0 -1
- package/web/app/site/app/assets/icons/home-3-line-fRU1zeLG.js +0 -1
- package/web/app/site/app/assets/icons/information-line-iNk6-sOY.js +0 -1
- package/web/app/site/app/assets/icons/keyboard-line-DsCyuQNz.js +0 -1
- package/web/app/site/app/assets/icons/layout-4-line-CZkOX52Z.js +0 -1
- package/web/app/site/app/assets/icons/layout-5-line-B_znt5wO.js +0 -1
- package/web/app/site/app/assets/icons/left-line-eUw0tya4.js +0 -1
- package/web/app/site/app/assets/icons/lightning-line-DaKoDdix.js +0 -1
- package/web/app/site/app/assets/icons/link-2-line-DCqLmMA7.js +0 -1
- package/web/app/site/app/assets/icons/list-check-line-BAxosBh9.js +0 -1
- package/web/app/site/app/assets/icons/lock-line-CPoaXeUW.js +0 -1
- package/web/app/site/app/assets/icons/mail-line-B0P8aa1L.js +0 -1
- package/web/app/site/app/assets/icons/moon-line-CEqNAToP.js +0 -1
- package/web/app/site/app/assets/icons/more-1-fill-Dw2e5xab.js +0 -1
- package/web/app/site/app/assets/icons/more-3-line-BIiVjYTz.js +0 -1
- package/web/app/site/app/assets/icons/notification-line-BZZq2Gtu.js +0 -1
- package/web/app/site/app/assets/icons/pencil-line-CKh8-A1v.js +0 -1
- package/web/app/site/app/assets/icons/photo-album-line-Bnfg2u40.js +0 -1
- package/web/app/site/app/assets/icons/pin-line-DpTolyhs.js +0 -1
- package/web/app/site/app/assets/icons/play-fill-B0-G_8lX.js +0 -1
- package/web/app/site/app/assets/icons/qrcode-2-line-B6SPCaHn.js +0 -1
- package/web/app/site/app/assets/icons/quill-pen-line-B6LUrnCP.js +0 -1
- package/web/app/site/app/assets/icons/quote-left-fill-hQZ1cj_6.js +0 -1
- package/web/app/site/app/assets/icons/radar-line-CKyroTth.js +0 -1
- package/web/app/site/app/assets/icons/react-line-CoIKhhtK.js +0 -1
- package/web/app/site/app/assets/icons/refresh-2-line-D0mTF97S.js +0 -1
- package/web/app/site/app/assets/icons/right-line-B3KWJaqc.js +0 -1
- package/web/app/site/app/assets/icons/rocket-line-4KZl537D.js +0 -1
- package/web/app/site/app/assets/icons/round-fill-C69NTrZ0.js +0 -1
- package/web/app/site/app/assets/icons/round-line-B9k_1uo-.js +0 -1
- package/web/app/site/app/assets/icons/route-line-B28ReHcE.js +0 -1
- package/web/app/site/app/assets/icons/rows-4-line-CrBniagM.js +0 -1
- package/web/app/site/app/assets/icons/scan-line-DSf74YdP.js +0 -1
- package/web/app/site/app/assets/icons/search-2-line-B6geIU1z.js +0 -1
- package/web/app/site/app/assets/icons/settings-3-line-azJwK47w.js +0 -1
- package/web/app/site/app/assets/icons/settings-6-line-C_5zc5YR.js +0 -1
- package/web/app/site/app/assets/icons/share-2-line-D5MxWjrm.js +0 -1
- package/web/app/site/app/assets/icons/share-forward-line-Cp61fZzZ.js +0 -1
- package/web/app/site/app/assets/icons/sparkles-2-line-DYYyXTaW.js +0 -1
- package/web/app/site/app/assets/icons/sparkles-line-C2hY1s6I.js +0 -1
- package/web/app/site/app/assets/icons/time-line-BF3eet1v.js +0 -1
- package/web/app/site/app/assets/icons/transfer-4-line-oisfvTBw.js +0 -1
- package/web/app/site/app/assets/icons/translate-line-BFWol2Ce.js +0 -1
- package/web/app/site/app/assets/icons/unlock-line-X_x5vwv3.js +0 -1
- package/web/app/site/app/assets/icons/upload-3-line-DgzwUJeW.js +0 -1
- package/web/app/site/app/assets/icons/user-4-line-BVSynZCp.js +0 -1
- package/web/app/site/app/assets/icons/user-add-2-line-BlGS5Q8q.js +0 -1
- package/web/app/site/app/assets/icons/user-add-line-BbXdHG4z.js +0 -1
- package/web/app/site/app/assets/icons/user-edit-line-BFAHOV0X.js +0 -1
- package/web/app/site/app/assets/icons/user-follow-line-BXux0wSd.js +0 -1
- package/web/app/site/app/assets/icons/user-star-line-DdYlpHLU.js +0 -1
- package/web/app/site/app/assets/icons/user-warning-line-Cj43j0_E.js +0 -1
- package/web/app/site/app/assets/icons/user-x-line-DIDgNlPH.js +0 -1
- package/web/app/site/app/assets/icons/volume-line-Bs390KQt.js +0 -1
- package/web/app/site/app/assets/icons/volume-mute-line-DzlzIqFZ.js +0 -1
- package/web/app/site/app/assets/icons/walk-line-yNXfB-md.js +0 -1
- package/web/app/site/app/assets/icons/world-2-line-CenkGIwj.js +0 -1
- package/web/app/site/app/assets/icons/zoom-in-line-CaENUphf.js +0 -1
- package/web/app/site/app/assets/icons/zoom-out-line-BDNk0EWo.js +0 -1
- package/web/app/site/app/assets/instances-BNPptnn-.json +0 -333
- package/web/app/site/app/assets/locales/ar-SA-CfheRbCu.js +0 -1
- package/web/app/site/app/assets/locales/ca-ES-DHRW86Tz.js +0 -1
- package/web/app/site/app/assets/locales/cs-CZ-CKoqEuA1.js +0 -1
- package/web/app/site/app/assets/locales/de-DE-ByRPMRFy.js +0 -1
- package/web/app/site/app/assets/locales/eo-UY-CPC7wLCS.js +0 -1
- package/web/app/site/app/assets/locales/es-ES-dJa0Fd9t.js +0 -1
- package/web/app/site/app/assets/locales/eu-ES-C3djlPR2.js +0 -1
- package/web/app/site/app/assets/locales/fa-IR-DTT490Ck.js +0 -1
- package/web/app/site/app/assets/locales/fi-FI-B23MCPuz.js +0 -1
- package/web/app/site/app/assets/locales/fr-FR-BcaQsO5C.js +0 -1
- package/web/app/site/app/assets/locales/gl-ES-BR-CVKBN.js +0 -1
- package/web/app/site/app/assets/locales/he-IL-CfheRbCu.js +0 -1
- package/web/app/site/app/assets/locales/hu-HU-CfheRbCu.js +0 -1
- package/web/app/site/app/assets/locales/it-IT-C1136UFV.js +0 -1
- package/web/app/site/app/assets/locales/ja-JP-CRZmRAhD.js +0 -1
- package/web/app/site/app/assets/locales/kab-Cz8xH_TT.js +0 -1
- package/web/app/site/app/assets/locales/ko-KR-CG9UiY4o.js +0 -1
- package/web/app/site/app/assets/locales/lt-LT-CJcI6sHZ.js +0 -1
- package/web/app/site/app/assets/locales/nb-NO-CfheRbCu.js +0 -1
- package/web/app/site/app/assets/locales/nl-NL-DxN4Yc1t.js +0 -1
- package/web/app/site/app/assets/locales/oc-FR-CfheRbCu.js +0 -1
- package/web/app/site/app/assets/locales/pl-PL-DkwGXf6P.js +0 -1
- package/web/app/site/app/assets/locales/pseudo-LOCALE-CQ4XxkQ0.js +0 -1
- package/web/app/site/app/assets/locales/pt-BR-nGL0HdFS.js +0 -1
- package/web/app/site/app/assets/locales/pt-PT-Cp17aj2z.js +0 -1
- package/web/app/site/app/assets/locales/ru-RU-0Y8cIoaK.js +0 -1
- package/web/app/site/app/assets/locales/th-TH-CfheRbCu.js +0 -1
- package/web/app/site/app/assets/locales/tok-CfheRbCu.js +0 -1
- package/web/app/site/app/assets/locales/tr-TR-CfheRbCu.js +0 -1
- package/web/app/site/app/assets/locales/uk-UA-C5E3dFBf.js +0 -1
- package/web/app/site/app/assets/locales/zh-CN-BHJi7_et.js +0 -1
- package/web/app/site/app/assets/locales/zh-TW-CfheRbCu.js +0 -1
- package/web/app/site/app/assets/main-BdqNbG-a.js +0 -26
- package/web/app/site/app/assets/main-BdqNbG-a.js.map +0 -1
- package/web/app/site/app/assets/mock-home-DGhR__He.js +0 -2
- package/web/app/site/app/assets/mock-home-DGhR__He.js.map +0 -1
- package/web/app/site/app/assets/multi-column-ROck0NVt.jpg +0 -0
- package/web/app/site/app/assets/multi-hashtag-timeline-DH5INVHi.jpg +0 -0
- package/web/app/site/app/assets/nested-comments-thread-hv59kZLc.jpg +0 -0
- package/web/app/site/app/assets/polyfill-force-H8sUkLGp.js +0 -2
- package/web/app/site/app/assets/polyfill-force-H8sUkLGp.js.map +0 -1
- package/web/app/site/app/assets/pwa-viewport-ogKbF51K.js +0 -20
- package/web/app/site/app/assets/pwa-viewport-ogKbF51K.js.map +0 -1
- package/web/app/site/app/assets/style-B1iLPTPR.css +0 -2
- package/web/app/site/app/assets/temml-DuyIQMei.js +0 -97
- package/web/app/site/app/assets/temml-DuyIQMei.js.map +0 -1
- package/web/app/site/app/assets/tinyld.light.node-DtbBhLYC.js +0 -2
- package/web/app/site/app/assets/tinyld.light.node-DtbBhLYC.js.map +0 -1
- package/web/app/site/app/assets/year-in-posts-B2lywqdx.png +0 -0
- package/web/app/site/app/assets/year-in-posts-DJv_star.js +0 -3
- package/web/app/site/app/assets/year-in-posts-DJv_star.js.map +0 -1
- package/web/app/site/app/compose/index.html +0 -23
- package/web/app/site/app/favicon.ico +0 -0
- package/web/app/site/app/index.html +0 -76
- package/web/app/site/app/logo-192.png +0 -0
- package/web/app/site/app/logo-512.png +0 -0
- package/web/app/site/app/logo-badge-72.png +0 -0
- package/web/app/site/app/logo-maskable-512.png +0 -0
- package/web/app/site/app/logo-monochrome-512.png +0 -0
- package/web/app/site/app/logo-monochrome-maskable-512.png +0 -0
- package/web/app/site/app/manifest.webmanifest +0 -1
- package/web/app/site/app/og-image-2.jpg +0 -0
- package/web/app/site/app/og-image.png +0 -0
- package/web/app/site/app/robots.txt +0 -2
- package/web/app/site/app/version.json +0 -1
- package/web/app/site/authorize_interaction.html +0 -59
- package/web/app/site/authorize_interaction.js +0 -69
- package/web/app/site/bb/bb.js +0 -1617
- package/web/app/site/bb/index.html +0 -300
- package/web/app/site/bb/markdown.mjs +0 -0
- package/web/app/site/bb/masto.mjs +0 -179
- package/web/app/site/bb/mine.mjs +0 -48
- package/web/app/site/bb/oidc-session.mjs +0 -6
- package/web/app/site/bb/pod.mjs +0 -340
- package/web/app/site/bb/private.mjs +0 -98
- package/web/app/site/bb/read.mjs +0 -296
- package/web/app/site/bb/seen.mjs +0 -64
- package/web/app/site/bb/solid-oidc-session.mjs +0 -233
- package/web/app/site/bb/tokens.css +0 -68
- package/web/app/site/boot.js +0 -34366
- package/web/app/site/build.json +0 -1
- package/web/app/site/demo/fedi-account.mjs +0 -346
- package/web/app/site/demo/fedi-login.mjs +0 -123
- package/web/app/site/demo/index.html +0 -94
- package/web/app/site/demo/oidc-session.mjs +0 -233
- package/web/app/site/demo/tokens.css +0 -68
- package/web/app/site/icons/forum.svg +0 -11
- package/web/app/site/icons/gateway.svg +0 -14
- package/web/app/site/icons/local.svg +0 -11
- package/web/app/site/index.html +0 -255
- package/web/app/site/sengi/3rdpartylicenses.txt +0 -832
- package/web/app/site/sengi/Roboto-Black.72f6fd218b59c42e804c.woff2 +0 -0
- package/web/app/site/sengi/Roboto-Black.fdd88b742a9f6304f05b.woff +0 -0
- package/web/app/site/sengi/Roboto-Bold.08cb8f79715774f9a628.woff +0 -0
- package/web/app/site/sengi/Roboto-Bold.f3a02e2578bee50e620e.woff2 +0 -0
- package/web/app/site/sengi/Roboto-Light.10ad0f861c0c58077340.woff +0 -0
- package/web/app/site/sengi/Roboto-Light.ed4b08d2702fa26acc32.woff2 +0 -0
- package/web/app/site/sengi/Roboto-Medium.50d01d3e6c994995bcaf.woff2 +0 -0
- package/web/app/site/sengi/Roboto-Medium.9a3bf7acae14d9b5ed5a.woff +0 -0
- package/web/app/site/sengi/Roboto-Regular.94dac78eee406a8c8f04.woff +0 -0
- package/web/app/site/sengi/Roboto-Regular.9feb0110b6dff9ee2b9e.woff2 +0 -0
- package/web/app/site/sengi/Roboto-Thin.46888f279ddb7baaf897.woff2 +0 -0
- package/web/app/site/sengi/Roboto-Thin.f09d9b5e8e8a5f3843c1.woff +0 -0
- package/web/app/site/sengi/arrow_1.bc5b1e3edc01f84c94d7.png +0 -0
- package/web/app/site/sengi/arrow_2.4ca4d04924079fc62d23.png +0 -0
- package/web/app/site/sengi/assets/audio/all-eyes-on-me.mp3 +0 -0
- package/web/app/site/sengi/assets/audio/appointed.mp3 +0 -0
- package/web/app/site/sengi/assets/audio/boop.mp3 +0 -0
- package/web/app/site/sengi/assets/audio/exquisite.mp3 +0 -0
- package/web/app/site/sengi/assets/docs/privacy.html +0 -20
- package/web/app/site/sengi/assets/emoji/64/0023-20e3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/0023.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/002a-20e3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/002a.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/0030-20e3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/0030.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/0031-20e3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/0031.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/0032-20e3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/0032.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/0033-20e3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/0033.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/0034-20e3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/0034.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/0035-20e3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/0035.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/0036-20e3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/0036.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/0037-20e3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/0037.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/0038-20e3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/0038.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/0039-20e3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/0039.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/00a9.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/00ae.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f004.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f0cf.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f170.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f171.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f17e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f17f.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f18e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f191.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f192.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f193.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f194.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f195.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f196.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f197.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f198.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f199.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f19a.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e6-1f1e8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e6-1f1e9.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e6-1f1ea.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e6-1f1eb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e6-1f1ec.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e6-1f1ee.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e6-1f1f1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e6-1f1f2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e6-1f1f4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e6-1f1f6.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e6-1f1f7.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e6-1f1f8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e6-1f1f9.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e6-1f1fa.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e6-1f1fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e6-1f1fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e6-1f1ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e6.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e7-1f1e6.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e7-1f1e7.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e7-1f1e9.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e7-1f1ea.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e7-1f1eb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e7-1f1ec.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e7-1f1ed.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e7-1f1ee.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e7-1f1ef.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e7-1f1f1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e7-1f1f2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e7-1f1f3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e7-1f1f4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e7-1f1f6.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e7-1f1f7.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e7-1f1f8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e7-1f1f9.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e7-1f1fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e7-1f1fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e7-1f1fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e7-1f1ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e7.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e8-1f1e6.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e8-1f1e8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e8-1f1e9.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e8-1f1eb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e8-1f1ec.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e8-1f1ed.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e8-1f1ee.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e8-1f1f0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e8-1f1f1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e8-1f1f2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e8-1f1f3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e8-1f1f4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e8-1f1f5.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e8-1f1f6.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e8-1f1f7.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e8-1f1fa.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e8-1f1fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e8-1f1fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e8-1f1fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e8-1f1fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e8-1f1ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e9-1f1ea.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e9-1f1ec.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e9-1f1ef.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e9-1f1f0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e9-1f1f2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e9-1f1f4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e9-1f1ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1e9.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1ea-1f1e6.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1ea-1f1e8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1ea-1f1ea.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1ea-1f1ec.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1ea-1f1ed.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1ea-1f1f7.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1ea-1f1f8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1ea-1f1f9.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1ea-1f1fa.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1ea.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1eb-1f1ee.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1eb-1f1ef.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1eb-1f1f0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1eb-1f1f2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1eb-1f1f4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1eb-1f1f7.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1eb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1ec-1f1e6.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1ec-1f1e7.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1ec-1f1e9.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1ec-1f1ea.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1ec-1f1eb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1ec-1f1ec.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1ec-1f1ed.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1ec-1f1ee.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1ec-1f1f1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1ec-1f1f2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1ec-1f1f3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1ec-1f1f5.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1ec-1f1f6.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1ec-1f1f7.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1ec-1f1f8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1ec-1f1f9.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1ec-1f1fa.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1ec-1f1fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1ec-1f1fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1ec.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1ed-1f1f0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1ed-1f1f2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1ed-1f1f3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1ed-1f1f7.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1ed-1f1f9.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1ed-1f1fa.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1ed.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1ee-1f1e8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1ee-1f1e9.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1ee-1f1ea.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1ee-1f1f1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1ee-1f1f2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1ee-1f1f3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1ee-1f1f4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1ee-1f1f6.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1ee-1f1f7.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1ee-1f1f8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1ee-1f1f9.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1ee.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1ef-1f1ea.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1ef-1f1f2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1ef-1f1f4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1ef-1f1f5.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1ef.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f0-1f1ea.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f0-1f1ec.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f0-1f1ed.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f0-1f1ee.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f0-1f1f2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f0-1f1f3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f0-1f1f5.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f0-1f1f7.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f0-1f1fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f0-1f1fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f0-1f1ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f1-1f1e6.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f1-1f1e7.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f1-1f1e8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f1-1f1ee.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f1-1f1f0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f1-1f1f7.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f1-1f1f8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f1-1f1f9.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f1-1f1fa.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f1-1f1fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f1-1f1fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f2-1f1e6.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f2-1f1e8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f2-1f1e9.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f2-1f1ea.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f2-1f1eb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f2-1f1ec.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f2-1f1ed.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f2-1f1f0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f2-1f1f1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f2-1f1f2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f2-1f1f3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f2-1f1f4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f2-1f1f5.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f2-1f1f6.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f2-1f1f7.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f2-1f1f8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f2-1f1f9.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f2-1f1fa.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f2-1f1fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f2-1f1fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f2-1f1fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f2-1f1fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f2-1f1ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f3-1f1e6.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f3-1f1e8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f3-1f1ea.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f3-1f1eb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f3-1f1ec.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f3-1f1ee.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f3-1f1f1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f3-1f1f4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f3-1f1f5.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f3-1f1f7.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f3-1f1fa.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f3-1f1ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f4-1f1f2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f5-1f1e6.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f5-1f1ea.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f5-1f1eb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f5-1f1ec.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f5-1f1ed.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f5-1f1f0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f5-1f1f1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f5-1f1f2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f5-1f1f3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f5-1f1f7.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f5-1f1f8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f5-1f1f9.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f5-1f1fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f5-1f1fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f5.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f6-1f1e6.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f6.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f7-1f1ea.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f7-1f1f4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f7-1f1f8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f7-1f1fa.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f7-1f1fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f7.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f8-1f1e6.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f8-1f1e7.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f8-1f1e8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f8-1f1e9.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f8-1f1ea.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f8-1f1ec.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f8-1f1ed.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f8-1f1ee.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f8-1f1ef.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f8-1f1f0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f8-1f1f1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f8-1f1f2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f8-1f1f3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f8-1f1f4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f8-1f1f7.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f8-1f1f8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f8-1f1f9.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f8-1f1fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f8-1f1fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f8-1f1fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f8-1f1ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f9-1f1e6.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f9-1f1e8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f9-1f1e9.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f9-1f1eb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f9-1f1ec.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f9-1f1ed.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f9-1f1ef.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f9-1f1f0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f9-1f1f1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f9-1f1f2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f9-1f1f3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f9-1f1f4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f9-1f1f7.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f9-1f1f9.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f9-1f1fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f9-1f1fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f9-1f1ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1f9.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1fa-1f1e6.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1fa-1f1ec.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1fa-1f1f2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1fa-1f1f3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1fa-1f1f8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1fa-1f1fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1fa-1f1ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1fa.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1fb-1f1e6.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1fb-1f1e8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1fb-1f1ea.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1fb-1f1ec.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1fb-1f1ee.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1fb-1f1f3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1fb-1f1fa.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1fc-1f1eb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1fc-1f1f8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1fd-1f1f0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1fe-1f1ea.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1fe-1f1f9.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1ff-1f1e6.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1ff-1f1f2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1ff-1f1fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f1ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f201.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f202.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f21a.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f22f.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f232.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f233.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f234.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f235.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f236.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f237.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f238.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f239.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f23a.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f250.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f251.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f300.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f301.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f302.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f303.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f304.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f305.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f306.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f307.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f308.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f309.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f30a.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f30b.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f30c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f30d.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f30e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f30f.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f310.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f311.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f312.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f313.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f314.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f315.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f316.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f317.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f318.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f319.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f31a.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f31b.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f31c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f31d.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f31e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f31f.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f320.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f321.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f324.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f325.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f326.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f327.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f328.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f329.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f32a.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f32b.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f32c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f32d.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f32e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f32f.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f330.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f331.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f332.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f333.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f334.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f335.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f336.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f337.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f338.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f339.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f33a.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f33b.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f33c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f33d.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f33e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f33f.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f340.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f341.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f342.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f343.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f344-1f7eb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f344.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f345.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f346.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f347.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f348.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f349.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f34a.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f34b-1f7e9.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f34b.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f34c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f34d.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f34e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f34f.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f350.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f351.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f352.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f353.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f354.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f355.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f356.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f357.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f358.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f359.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f35a.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f35b.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f35c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f35d.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f35e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f35f.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f360.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f361.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f362.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f363.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f364.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f365.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f366.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f367.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f368.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f369.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f36a.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f36b.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f36c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f36d.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f36e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f36f.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f370.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f371.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f372.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f373.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f374.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f375.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f376.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f377.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f378.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f379.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f37a.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f37b.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f37c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f37d.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f37e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f37f.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f380.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f381.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f382.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f383.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f384.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f385-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f385-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f385-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f385-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f385-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f385.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f386.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f387.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f388.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f389.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f38a.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f38b.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f38c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f38d.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f38e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f38f.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f390.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f391.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f392.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f393.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f396.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f397.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f399.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f39a.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f39b.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f39e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f39f.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3a0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3a2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3a3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3a4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3a5.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3a6.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3a7.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3a8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3a9.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3aa.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3ab.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3ac.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3ad.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3ae.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3af.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3b0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3b1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3b2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3b3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3b4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3b5.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3b6.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3b7.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3b8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3b9.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3ba.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3bb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3bc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3bd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3be.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3bf.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c2-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c2-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c2-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c2-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c2-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c3-1f3fb-2640-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c3-1f3fb-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c3-1f3fb-2642-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c3-1f3fb-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c3-1f3fb-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c3-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c3-1f3fc-2640-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c3-1f3fc-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c3-1f3fc-2642-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c3-1f3fc-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c3-1f3fc-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c3-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c3-1f3fd-2640-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c3-1f3fd-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c3-1f3fd-2642-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c3-1f3fd-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c3-1f3fd-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c3-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c3-1f3fe-2640-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c3-1f3fe-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c3-1f3fe-2642-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c3-1f3fe-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c3-1f3fe-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c3-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c3-1f3ff-2640-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c3-1f3ff-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c3-1f3ff-2642-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c3-1f3ff-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c3-1f3ff-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c3-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c3-2640-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c3-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c3-2642-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c3-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c3-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c4-1f3fb-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c4-1f3fb-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c4-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c4-1f3fc-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c4-1f3fc-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c4-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c4-1f3fd-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c4-1f3fd-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c4-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c4-1f3fe-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c4-1f3fe-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c4-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c4-1f3ff-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c4-1f3ff-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c4-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c4-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c4-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c5.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c6.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c7-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c7-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c7-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c7-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c7-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c7.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3c9.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3ca-1f3fb-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3ca-1f3fb-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3ca-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3ca-1f3fc-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3ca-1f3fc-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3ca-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3ca-1f3fd-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3ca-1f3fd-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3ca-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3ca-1f3fe-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3ca-1f3fe-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3ca-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3ca-1f3ff-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3ca-1f3ff-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3ca-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3ca-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3ca-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3ca.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3cb-1f3fb-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3cb-1f3fb-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3cb-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3cb-1f3fc-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3cb-1f3fc-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3cb-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3cb-1f3fd-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3cb-1f3fd-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3cb-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3cb-1f3fe-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3cb-1f3fe-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3cb-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3cb-1f3ff-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3cb-1f3ff-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3cb-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3cb-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3cb-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3cb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3cc-1f3fb-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3cc-1f3fb-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3cc-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3cc-1f3fc-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3cc-1f3fc-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3cc-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3cc-1f3fd-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3cc-1f3fd-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3cc-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3cc-1f3fe-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3cc-1f3fe-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3cc-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3cc-1f3ff-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3cc-1f3ff-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3cc-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3cc-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3cc-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3cc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3cd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3ce.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3cf.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3d0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3d1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3d2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3d3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3d4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3d5.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3d6.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3d7.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3d8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3d9.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3da.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3db.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3dc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3dd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3de.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3df.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3e0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3e1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3e2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3e3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3e4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3e5.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3e6.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3e7.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3e8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3e9.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3ea.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3eb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3ec.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3ed.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3ee.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3ef.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3f0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3f3-1f308.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3f3-26a7.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3f3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3f4-2620.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3f4-e0067-e0062-e0065-e006e-e0067-e007f.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3f4-e0067-e0062-e0073-e0063-e0074-e007f.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3f4-e0067-e0062-e0077-e006c-e0073-e007f.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3f4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3f5.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3f7.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3f8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3f9.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3fa.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f400.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f401.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f402.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f403.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f404.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f405.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f406.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f407.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f408-2b1b.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f408.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f409.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f40a.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f40b.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f40c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f40d.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f40e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f40f.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f410.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f411.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f412.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f413.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f414.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f415-1f9ba.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f415.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f416.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f417.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f418.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f419.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f41a.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f41b.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f41c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f41d.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f41e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f41f.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f420.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f421.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f422.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f423.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f424.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f425.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f426-1f525.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f426-2b1b.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f426.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f427.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f428.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f429.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f42a.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f42b.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f42c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f42d.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f42e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f42f.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f430.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f431.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f432.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f433.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f434.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f435.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f436.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f437.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f438.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f439.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f43a.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f43b-2744.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f43b.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f43c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f43d.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f43e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f43f.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f440.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f441-1f5e8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f441.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f442-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f442-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f442-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f442-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f442-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f442.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f443-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f443-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f443-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f443-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f443-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f443.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f444.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f445.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f446-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f446-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f446-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f446-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f446-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f446.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f447-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f447-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f447-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f447-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f447-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f447.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f448-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f448-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f448-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f448-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f448-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f448.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f449-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f449-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f449-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f449-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f449-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f449.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f44a-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f44a-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f44a-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f44a-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f44a-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f44a.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f44b-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f44b-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f44b-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f44b-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f44b-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f44b.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f44c-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f44c-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f44c-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f44c-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f44c-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f44c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f44d-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f44d-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f44d-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f44d-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f44d-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f44d.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f44e-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f44e-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f44e-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f44e-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f44e-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f44e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f44f-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f44f-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f44f-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f44f-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f44f-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f44f.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f450-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f450-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f450-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f450-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f450-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f450.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f451.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f452.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f453.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f454.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f455.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f456.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f457.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f458.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f459.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f45a.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f45b.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f45c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f45d.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f45e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f45f.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f460.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f461.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f462.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f463.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f464.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f465.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f466-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f466-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f466-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f466-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f466-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f466.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f467-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f467-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f467-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f467-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f467-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f467.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f33e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f373.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f37c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f393.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3a4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3a8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3eb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3ed.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fb-1f33e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fb-1f373.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fb-1f37c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fb-1f393.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fb-1f3a4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fb-1f3a8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fb-1f3eb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fb-1f3ed.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fb-1f4bb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fb-1f4bc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fb-1f527.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fb-1f52c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fb-1f680.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fb-1f692.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fb-1f91d-1f468-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fb-1f91d-1f468-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fb-1f91d-1f468-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fb-1f91d-1f468-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fb-1f9af-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fb-1f9af.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fb-1f9b0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fb-1f9b1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fb-1f9b2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fb-1f9b3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fb-1f9bc-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fb-1f9bc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fb-1f9bd-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fb-1f9bd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fb-2695.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fb-2696.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fb-2708.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fb-2764-1f468-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fb-2764-1f468-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fb-2764-1f468-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fb-2764-1f468-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fb-2764-1f468-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fb-2764-1f48b-1f468-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fb-2764-1f48b-1f468-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fb-2764-1f48b-1f468-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fb-2764-1f48b-1f468-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fb-2764-1f48b-1f468-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fc-1f33e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fc-1f373.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fc-1f37c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fc-1f393.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fc-1f3a4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fc-1f3a8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fc-1f3eb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fc-1f3ed.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fc-1f4bb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fc-1f4bc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fc-1f527.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fc-1f52c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fc-1f680.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fc-1f692.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fc-1f91d-1f468-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fc-1f91d-1f468-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fc-1f91d-1f468-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fc-1f91d-1f468-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fc-1f9af-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fc-1f9af.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fc-1f9b0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fc-1f9b1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fc-1f9b2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fc-1f9b3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fc-1f9bc-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fc-1f9bc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fc-1f9bd-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fc-1f9bd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fc-2695.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fc-2696.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fc-2708.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fc-2764-1f468-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fc-2764-1f468-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fc-2764-1f468-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fc-2764-1f468-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fc-2764-1f468-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fc-2764-1f48b-1f468-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fc-2764-1f48b-1f468-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fc-2764-1f48b-1f468-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fc-2764-1f48b-1f468-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fc-2764-1f48b-1f468-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fd-1f33e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fd-1f373.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fd-1f37c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fd-1f393.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fd-1f3a4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fd-1f3a8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fd-1f3eb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fd-1f3ed.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fd-1f4bb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fd-1f4bc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fd-1f527.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fd-1f52c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fd-1f680.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fd-1f692.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fd-1f91d-1f468-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fd-1f91d-1f468-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fd-1f91d-1f468-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fd-1f91d-1f468-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fd-1f9af-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fd-1f9af.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fd-1f9b0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fd-1f9b1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fd-1f9b2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fd-1f9b3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fd-1f9bc-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fd-1f9bc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fd-1f9bd-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fd-1f9bd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fd-2695.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fd-2696.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fd-2708.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fd-2764-1f468-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fd-2764-1f468-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fd-2764-1f468-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fd-2764-1f468-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fd-2764-1f468-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fd-2764-1f48b-1f468-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fd-2764-1f48b-1f468-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fd-2764-1f48b-1f468-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fd-2764-1f48b-1f468-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fd-2764-1f48b-1f468-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fe-1f33e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fe-1f373.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fe-1f37c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fe-1f393.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fe-1f3a4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fe-1f3a8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fe-1f3eb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fe-1f3ed.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fe-1f4bb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fe-1f4bc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fe-1f527.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fe-1f52c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fe-1f680.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fe-1f692.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fe-1f91d-1f468-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fe-1f91d-1f468-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fe-1f91d-1f468-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fe-1f91d-1f468-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fe-1f9af-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fe-1f9af.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fe-1f9b0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fe-1f9b1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fe-1f9b2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fe-1f9b3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fe-1f9bc-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fe-1f9bc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fe-1f9bd-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fe-1f9bd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fe-2695.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fe-2696.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fe-2708.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fe-2764-1f468-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fe-2764-1f468-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fe-2764-1f468-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fe-2764-1f468-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fe-2764-1f468-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fe-2764-1f48b-1f468-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fe-2764-1f48b-1f468-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fe-2764-1f48b-1f468-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fe-2764-1f48b-1f468-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fe-2764-1f48b-1f468-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3ff-1f33e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3ff-1f373.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3ff-1f37c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3ff-1f393.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3ff-1f3a4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3ff-1f3a8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3ff-1f3eb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3ff-1f3ed.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3ff-1f4bb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3ff-1f4bc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3ff-1f527.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3ff-1f52c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3ff-1f680.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3ff-1f692.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3ff-1f91d-1f468-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3ff-1f91d-1f468-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3ff-1f91d-1f468-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3ff-1f91d-1f468-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3ff-1f9af-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3ff-1f9af.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3ff-1f9b0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3ff-1f9b1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3ff-1f9b2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3ff-1f9b3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3ff-1f9bc-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3ff-1f9bc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3ff-1f9bd-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3ff-1f9bd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3ff-2695.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3ff-2696.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3ff-2708.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3ff-2764-1f468-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3ff-2764-1f468-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3ff-2764-1f468-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3ff-2764-1f468-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3ff-2764-1f468-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3ff-2764-1f48b-1f468-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3ff-2764-1f48b-1f468-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3ff-2764-1f48b-1f468-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3ff-2764-1f48b-1f468-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3ff-2764-1f48b-1f468-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f466-1f466.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f466.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f467-1f466.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f467-1f467.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f467.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f468-1f466-1f466.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f468-1f466.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f468-1f467-1f466.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f468-1f467-1f467.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f468-1f467.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f469-1f466-1f466.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f469-1f466.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f469-1f467-1f466.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f469-1f467-1f467.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f469-1f467.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f4bb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f4bc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f527.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f52c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f680.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f692.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f9af-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f9af.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f9b0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f9b1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f9b2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f9b3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f9bc-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f9bc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f9bd-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-1f9bd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-2695.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-2696.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-2708.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-2764-1f468.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468-2764-1f48b-1f468.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f468.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f33e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f373.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f37c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f393.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3a4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3a8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3eb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3ed.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fb-1f33e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fb-1f373.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fb-1f37c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fb-1f393.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fb-1f3a4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fb-1f3a8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fb-1f3eb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fb-1f3ed.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fb-1f4bb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fb-1f4bc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fb-1f527.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fb-1f52c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fb-1f680.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fb-1f692.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fb-1f91d-1f468-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fb-1f91d-1f468-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fb-1f91d-1f468-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fb-1f91d-1f468-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fb-1f91d-1f469-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fb-1f91d-1f469-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fb-1f91d-1f469-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fb-1f91d-1f469-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fb-1f9af-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fb-1f9af.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fb-1f9b0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fb-1f9b1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fb-1f9b2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fb-1f9b3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fb-1f9bc-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fb-1f9bc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fb-1f9bd-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fb-1f9bd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fb-2695.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fb-2696.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fb-2708.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fb-2764-1f468-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fb-2764-1f468-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fb-2764-1f468-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fb-2764-1f468-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fb-2764-1f468-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fb-2764-1f469-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fb-2764-1f469-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fb-2764-1f469-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fb-2764-1f469-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fb-2764-1f469-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fb-2764-1f48b-1f468-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fb-2764-1f48b-1f468-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fb-2764-1f48b-1f468-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fb-2764-1f48b-1f468-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fb-2764-1f48b-1f468-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fb-2764-1f48b-1f469-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fb-2764-1f48b-1f469-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fb-2764-1f48b-1f469-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fb-2764-1f48b-1f469-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fb-2764-1f48b-1f469-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fc-1f33e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fc-1f373.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fc-1f37c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fc-1f393.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fc-1f3a4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fc-1f3a8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fc-1f3eb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fc-1f3ed.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fc-1f4bb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fc-1f4bc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fc-1f527.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fc-1f52c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fc-1f680.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fc-1f692.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fc-1f91d-1f468-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fc-1f91d-1f468-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fc-1f91d-1f468-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fc-1f91d-1f468-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fc-1f91d-1f469-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fc-1f91d-1f469-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fc-1f91d-1f469-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fc-1f91d-1f469-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fc-1f9af-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fc-1f9af.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fc-1f9b0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fc-1f9b1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fc-1f9b2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fc-1f9b3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fc-1f9bc-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fc-1f9bc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fc-1f9bd-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fc-1f9bd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fc-2695.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fc-2696.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fc-2708.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fc-2764-1f468-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fc-2764-1f468-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fc-2764-1f468-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fc-2764-1f468-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fc-2764-1f468-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fc-2764-1f469-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fc-2764-1f469-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fc-2764-1f469-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fc-2764-1f469-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fc-2764-1f469-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fc-2764-1f48b-1f468-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fc-2764-1f48b-1f468-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fc-2764-1f48b-1f468-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fc-2764-1f48b-1f468-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fc-2764-1f48b-1f468-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fc-2764-1f48b-1f469-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fc-2764-1f48b-1f469-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fc-2764-1f48b-1f469-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fc-2764-1f48b-1f469-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fc-2764-1f48b-1f469-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fd-1f33e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fd-1f373.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fd-1f37c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fd-1f393.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fd-1f3a4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fd-1f3a8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fd-1f3eb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fd-1f3ed.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fd-1f4bb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fd-1f4bc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fd-1f527.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fd-1f52c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fd-1f680.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fd-1f692.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fd-1f91d-1f468-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fd-1f91d-1f468-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fd-1f91d-1f468-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fd-1f91d-1f468-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fd-1f91d-1f469-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fd-1f91d-1f469-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fd-1f91d-1f469-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fd-1f91d-1f469-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fd-1f9af-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fd-1f9af.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fd-1f9b0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fd-1f9b1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fd-1f9b2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fd-1f9b3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fd-1f9bc-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fd-1f9bc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fd-1f9bd-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fd-1f9bd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fd-2695.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fd-2696.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fd-2708.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fd-2764-1f468-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fd-2764-1f468-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fd-2764-1f468-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fd-2764-1f468-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fd-2764-1f468-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fd-2764-1f469-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fd-2764-1f469-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fd-2764-1f469-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fd-2764-1f469-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fd-2764-1f469-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fd-2764-1f48b-1f468-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fd-2764-1f48b-1f468-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fd-2764-1f48b-1f468-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fd-2764-1f48b-1f468-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fd-2764-1f48b-1f468-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fd-2764-1f48b-1f469-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fd-2764-1f48b-1f469-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fd-2764-1f48b-1f469-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fd-2764-1f48b-1f469-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fd-2764-1f48b-1f469-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fe-1f33e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fe-1f373.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fe-1f37c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fe-1f393.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fe-1f3a4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fe-1f3a8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fe-1f3eb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fe-1f3ed.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fe-1f4bb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fe-1f4bc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fe-1f527.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fe-1f52c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fe-1f680.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fe-1f692.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fe-1f91d-1f468-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fe-1f91d-1f468-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fe-1f91d-1f468-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fe-1f91d-1f468-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fe-1f91d-1f469-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fe-1f91d-1f469-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fe-1f91d-1f469-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fe-1f91d-1f469-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fe-1f9af-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fe-1f9af.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fe-1f9b0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fe-1f9b1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fe-1f9b2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fe-1f9b3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fe-1f9bc-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fe-1f9bc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fe-1f9bd-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fe-1f9bd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fe-2695.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fe-2696.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fe-2708.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fe-2764-1f468-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fe-2764-1f468-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fe-2764-1f468-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fe-2764-1f468-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fe-2764-1f468-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fe-2764-1f469-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fe-2764-1f469-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fe-2764-1f469-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fe-2764-1f469-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fe-2764-1f469-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fe-2764-1f48b-1f468-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fe-2764-1f48b-1f468-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fe-2764-1f48b-1f468-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fe-2764-1f48b-1f468-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fe-2764-1f48b-1f468-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fe-2764-1f48b-1f469-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fe-2764-1f48b-1f469-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fe-2764-1f48b-1f469-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fe-2764-1f48b-1f469-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fe-2764-1f48b-1f469-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3ff-1f33e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3ff-1f373.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3ff-1f37c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3ff-1f393.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3ff-1f3a4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3ff-1f3a8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3ff-1f3eb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3ff-1f3ed.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3ff-1f4bb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3ff-1f4bc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3ff-1f527.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3ff-1f52c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3ff-1f680.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3ff-1f692.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3ff-1f91d-1f468-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3ff-1f91d-1f468-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3ff-1f91d-1f468-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3ff-1f91d-1f468-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3ff-1f91d-1f469-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3ff-1f91d-1f469-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3ff-1f91d-1f469-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3ff-1f91d-1f469-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3ff-1f9af-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3ff-1f9af.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3ff-1f9b0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3ff-1f9b1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3ff-1f9b2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3ff-1f9b3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3ff-1f9bc-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3ff-1f9bc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3ff-1f9bd-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3ff-1f9bd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3ff-2695.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3ff-2696.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3ff-2708.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3ff-2764-1f468-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3ff-2764-1f468-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3ff-2764-1f468-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3ff-2764-1f468-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3ff-2764-1f468-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3ff-2764-1f469-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3ff-2764-1f469-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3ff-2764-1f469-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3ff-2764-1f469-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3ff-2764-1f469-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3ff-2764-1f48b-1f468-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3ff-2764-1f48b-1f468-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3ff-2764-1f48b-1f468-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3ff-2764-1f48b-1f468-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3ff-2764-1f48b-1f468-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3ff-2764-1f48b-1f469-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3ff-2764-1f48b-1f469-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3ff-2764-1f48b-1f469-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3ff-2764-1f48b-1f469-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3ff-2764-1f48b-1f469-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f466-1f466.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f466.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f467-1f466.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f467-1f467.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f467.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f469-1f466-1f466.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f469-1f466.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f469-1f467-1f466.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f469-1f467-1f467.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f469-1f467.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f4bb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f4bc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f527.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f52c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f680.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f692.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f9af-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f9af.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f9b0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f9b1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f9b2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f9b3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f9bc-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f9bc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f9bd-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-1f9bd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-2695.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-2696.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-2708.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-2764-1f468.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-2764-1f469.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-2764-1f48b-1f468.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469-2764-1f48b-1f469.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f469.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f46a.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f46b-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f46b-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f46b-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f46b-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f46b-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f46b.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f46c-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f46c-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f46c-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f46c-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f46c-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f46c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f46d-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f46d-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f46d-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f46d-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f46d-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f46d.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f46e-1f3fb-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f46e-1f3fb-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f46e-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f46e-1f3fc-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f46e-1f3fc-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f46e-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f46e-1f3fd-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f46e-1f3fd-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f46e-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f46e-1f3fe-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f46e-1f3fe-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f46e-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f46e-1f3ff-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f46e-1f3ff-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f46e-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f46e-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f46e-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f46e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f46f-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f46f-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f46f.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f470-1f3fb-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f470-1f3fb-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f470-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f470-1f3fc-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f470-1f3fc-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f470-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f470-1f3fd-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f470-1f3fd-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f470-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f470-1f3fe-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f470-1f3fe-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f470-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f470-1f3ff-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f470-1f3ff-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f470-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f470-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f470-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f470.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f471-1f3fb-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f471-1f3fb-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f471-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f471-1f3fc-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f471-1f3fc-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f471-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f471-1f3fd-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f471-1f3fd-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f471-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f471-1f3fe-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f471-1f3fe-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f471-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f471-1f3ff-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f471-1f3ff-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f471-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f471-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f471-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f471.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f472-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f472-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f472-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f472-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f472-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f472.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f473-1f3fb-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f473-1f3fb-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f473-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f473-1f3fc-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f473-1f3fc-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f473-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f473-1f3fd-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f473-1f3fd-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f473-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f473-1f3fe-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f473-1f3fe-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f473-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f473-1f3ff-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f473-1f3ff-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f473-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f473-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f473-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f473.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f474-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f474-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f474-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f474-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f474-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f474.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f475-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f475-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f475-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f475-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f475-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f475.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f476-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f476-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f476-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f476-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f476-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f476.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f477-1f3fb-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f477-1f3fb-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f477-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f477-1f3fc-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f477-1f3fc-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f477-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f477-1f3fd-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f477-1f3fd-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f477-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f477-1f3fe-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f477-1f3fe-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f477-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f477-1f3ff-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f477-1f3ff-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f477-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f477-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f477-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f477.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f478-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f478-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f478-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f478-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f478-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f478.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f479.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f47a.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f47b.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f47c-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f47c-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f47c-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f47c-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f47c-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f47c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f47d.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f47e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f47f.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f480.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f481-1f3fb-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f481-1f3fb-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f481-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f481-1f3fc-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f481-1f3fc-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f481-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f481-1f3fd-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f481-1f3fd-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f481-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f481-1f3fe-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f481-1f3fe-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f481-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f481-1f3ff-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f481-1f3ff-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f481-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f481-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f481-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f481.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f482-1f3fb-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f482-1f3fb-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f482-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f482-1f3fc-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f482-1f3fc-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f482-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f482-1f3fd-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f482-1f3fd-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f482-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f482-1f3fe-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f482-1f3fe-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f482-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f482-1f3ff-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f482-1f3ff-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f482-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f482-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f482-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f482.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f483-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f483-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f483-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f483-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f483-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f483.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f484.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f485-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f485-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f485-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f485-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f485-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f485.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f486-1f3fb-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f486-1f3fb-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f486-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f486-1f3fc-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f486-1f3fc-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f486-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f486-1f3fd-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f486-1f3fd-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f486-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f486-1f3fe-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f486-1f3fe-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f486-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f486-1f3ff-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f486-1f3ff-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f486-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f486-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f486-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f486.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f487-1f3fb-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f487-1f3fb-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f487-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f487-1f3fc-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f487-1f3fc-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f487-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f487-1f3fd-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f487-1f3fd-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f487-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f487-1f3fe-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f487-1f3fe-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f487-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f487-1f3ff-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f487-1f3ff-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f487-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f487-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f487-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f487.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f488.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f489.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f48a.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f48b.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f48c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f48d.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f48e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f48f-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f48f-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f48f-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f48f-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f48f-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f48f.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f490.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f491-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f491-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f491-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f491-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f491-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f491.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f492.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f493.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f494.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f495.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f496.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f497.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f498.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f499.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f49a.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f49b.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f49c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f49d.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f49e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f49f.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4a0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4a2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4a3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4a4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4a5.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4a6.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4a7.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4a8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4a9.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4aa-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4aa-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4aa-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4aa-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4aa-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4aa.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4ab.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4ac.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4ad.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4ae.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4af.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4b0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4b1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4b2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4b3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4b4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4b5.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4b6.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4b7.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4b8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4b9.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4ba.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4bb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4bc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4bd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4be.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4bf.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4c0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4c1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4c2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4c3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4c4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4c5.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4c6.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4c7.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4c8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4c9.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4ca.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4cb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4cc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4cd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4ce.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4cf.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4d0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4d1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4d2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4d3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4d4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4d5.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4d6.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4d7.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4d8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4d9.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4da.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4db.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4dc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4dd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4de.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4df.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4e0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4e1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4e2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4e3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4e4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4e5.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4e6.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4e7.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4e8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4e9.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4ea.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4eb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4ec.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4ed.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4ee.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4ef.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4f0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4f1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4f2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4f3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4f4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4f5.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4f6.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4f7.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4f8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4f9.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4fa.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f4ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f500.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f501.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f502.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f503.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f504.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f505.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f506.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f507.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f508.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f509.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f50a.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f50b.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f50c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f50d.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f50e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f50f.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f510.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f511.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f512.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f513.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f514.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f515.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f516.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f517.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f518.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f519.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f51a.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f51b.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f51c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f51d.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f51e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f51f.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f520.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f521.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f522.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f523.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f524.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f525.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f526.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f527.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f528.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f529.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f52a.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f52b.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f52c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f52d.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f52e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f52f.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f530.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f531.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f532.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f533.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f534.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f535.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f536.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f537.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f538.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f539.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f53a.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f53b.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f53c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f53d.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f549.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f54a.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f54b.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f54c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f54d.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f54e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f550.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f551.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f552.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f553.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f554.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f555.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f556.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f557.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f558.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f559.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f55a.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f55b.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f55c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f55d.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f55e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f55f.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f560.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f561.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f562.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f563.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f564.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f565.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f566.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f567.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f56f.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f570.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f573.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f574-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f574-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f574-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f574-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f574-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f574.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f575-1f3fb-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f575-1f3fb-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f575-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f575-1f3fc-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f575-1f3fc-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f575-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f575-1f3fd-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f575-1f3fd-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f575-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f575-1f3fe-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f575-1f3fe-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f575-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f575-1f3ff-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f575-1f3ff-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f575-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f575-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f575-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f575.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f576.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f577.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f578.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f579.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f57a-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f57a-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f57a-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f57a-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f57a-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f57a.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f587.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f58a.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f58b.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f58c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f58d.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f590-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f590-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f590-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f590-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f590-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f590.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f595-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f595-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f595-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f595-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f595-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f595.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f596-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f596-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f596-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f596-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f596-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f596.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f5a4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f5a5.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f5a8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f5b1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f5b2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f5bc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f5c2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f5c3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f5c4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f5d1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f5d2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f5d3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f5dc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f5dd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f5de.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f5e1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f5e3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f5e8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f5ef.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f5f3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f5fa.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f5fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f5fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f5fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f5fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f5ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f600.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f601.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f602.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f603.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f604.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f605.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f606.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f607.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f608.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f609.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f60a.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f60b.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f60c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f60d.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f60e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f60f.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f610.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f611.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f612.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f613.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f614.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f615.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f616.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f617.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f618.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f619.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f61a.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f61b.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f61c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f61d.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f61e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f61f.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f620.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f621.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f622.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f623.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f624.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f625.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f626.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f627.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f628.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f629.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f62a.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f62b.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f62c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f62d.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f62e-1f4a8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f62e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f62f.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f630.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f631.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f632.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f633.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f634.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f635-1f4ab.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f635.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f636-1f32b.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f636.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f637.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f638.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f639.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f63a.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f63b.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f63c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f63d.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f63e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f63f.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f641.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f642-2194.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f642-2195.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f643.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f644.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f645-1f3fb-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f645-1f3fb-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f645-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f645-1f3fc-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f645-1f3fc-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f645-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f645-1f3fd-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f645-1f3fd-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f645-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f645-1f3fe-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f645-1f3fe-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f645-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f645-1f3ff-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f645-1f3ff-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f645-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f645-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f645-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f645.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f646-1f3fb-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f646-1f3fb-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f646-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f646-1f3fc-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f646-1f3fc-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f646-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f646-1f3fd-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f646-1f3fd-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f646-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f646-1f3fe-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f646-1f3fe-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f646-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f646-1f3ff-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f646-1f3ff-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f646-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f646-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f646-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f646.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f647-1f3fb-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f647-1f3fb-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f647-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f647-1f3fc-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f647-1f3fc-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f647-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f647-1f3fd-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f647-1f3fd-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f647-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f647-1f3fe-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f647-1f3fe-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f647-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f647-1f3ff-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f647-1f3ff-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f647-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f647-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f647-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f647.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f648.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f649.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64a.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64b-1f3fb-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64b-1f3fb-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64b-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64b-1f3fc-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64b-1f3fc-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64b-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64b-1f3fd-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64b-1f3fd-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64b-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64b-1f3fe-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64b-1f3fe-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64b-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64b-1f3ff-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64b-1f3ff-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64b-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64b-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64b-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64b.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64c-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64c-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64c-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64c-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64c-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64d-1f3fb-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64d-1f3fb-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64d-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64d-1f3fc-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64d-1f3fc-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64d-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64d-1f3fd-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64d-1f3fd-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64d-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64d-1f3fe-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64d-1f3fe-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64d-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64d-1f3ff-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64d-1f3ff-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64d-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64d-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64d-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64d.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64e-1f3fb-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64e-1f3fb-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64e-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64e-1f3fc-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64e-1f3fc-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64e-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64e-1f3fd-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64e-1f3fd-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64e-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64e-1f3fe-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64e-1f3fe-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64e-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64e-1f3ff-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64e-1f3ff-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64e-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64e-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64e-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64f-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64f-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64f-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64f-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64f-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f64f.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f680.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f681.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f682.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f683.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f684.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f685.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f686.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f687.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f688.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f689.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f68a.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f68b.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f68c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f68d.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f68e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f68f.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f690.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f691.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f692.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f693.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f694.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f695.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f696.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f697.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f698.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f699.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f69a.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f69b.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f69c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f69d.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f69e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f69f.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6a0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6a2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6a3-1f3fb-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6a3-1f3fb-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6a3-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6a3-1f3fc-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6a3-1f3fc-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6a3-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6a3-1f3fd-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6a3-1f3fd-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6a3-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6a3-1f3fe-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6a3-1f3fe-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6a3-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6a3-1f3ff-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6a3-1f3ff-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6a3-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6a3-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6a3-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6a3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6a4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6a5.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6a6.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6a7.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6a8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6a9.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6aa.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6ab.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6ac.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6ad.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6ae.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6af.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b4-1f3fb-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b4-1f3fb-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b4-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b4-1f3fc-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b4-1f3fc-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b4-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b4-1f3fd-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b4-1f3fd-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b4-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b4-1f3fe-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b4-1f3fe-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b4-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b4-1f3ff-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b4-1f3ff-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b4-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b4-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b4-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b5-1f3fb-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b5-1f3fb-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b5-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b5-1f3fc-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b5-1f3fc-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b5-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b5-1f3fd-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b5-1f3fd-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b5-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b5-1f3fe-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b5-1f3fe-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b5-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b5-1f3ff-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b5-1f3ff-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b5-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b5-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b5-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b5.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b6-1f3fb-2640-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b6-1f3fb-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b6-1f3fb-2642-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b6-1f3fb-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b6-1f3fb-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b6-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b6-1f3fc-2640-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b6-1f3fc-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b6-1f3fc-2642-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b6-1f3fc-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b6-1f3fc-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b6-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b6-1f3fd-2640-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b6-1f3fd-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b6-1f3fd-2642-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b6-1f3fd-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b6-1f3fd-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b6-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b6-1f3fe-2640-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b6-1f3fe-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b6-1f3fe-2642-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b6-1f3fe-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b6-1f3fe-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b6-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b6-1f3ff-2640-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b6-1f3ff-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b6-1f3ff-2642-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b6-1f3ff-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b6-1f3ff-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b6-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b6-2640-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b6-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b6-2642-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b6-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b6-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b6.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b7.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6b9.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6ba.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6bb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6bc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6bd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6be.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6bf.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6c0-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6c0-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6c0-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6c0-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6c0-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6c0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6c1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6c2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6c3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6c4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6c5.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6cb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6cc-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6cc-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6cc-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6cc-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6cc-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6cc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6cd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6ce.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6cf.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6d0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6d1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6d2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6d5.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6d6.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6d7.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6dc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6dd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6de.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6df.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6e0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6e1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6e2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6e3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6e4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6e5.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6e9.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6eb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6ec.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6f0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6f3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6f4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6f5.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6f6.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6f7.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6f8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6f9.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6fa.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f6fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f7e0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f7e1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f7e2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f7e3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f7e4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f7e5.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f7e6.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f7e7.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f7e8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f7e9.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f7ea.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f7eb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f7f0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f90c-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f90c-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f90c-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f90c-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f90c-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f90c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f90d.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f90e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f90f-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f90f-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f90f-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f90f-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f90f-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f90f.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f910.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f911.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f912.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f913.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f914.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f915.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f916.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f917.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f918-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f918-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f918-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f918-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f918-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f918.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f919-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f919-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f919-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f919-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f919-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f919.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f91a-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f91a-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f91a-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f91a-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f91a-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f91a.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f91b-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f91b-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f91b-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f91b-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f91b-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f91b.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f91c-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f91c-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f91c-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f91c-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f91c-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f91c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f91d-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f91d-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f91d-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f91d-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f91d-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f91d.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f91e-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f91e-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f91e-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f91e-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f91e-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f91e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f91f-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f91f-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f91f-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f91f-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f91f-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f91f.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f920.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f921.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f922.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f923.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f924.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f925.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f926-1f3fb-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f926-1f3fb-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f926-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f926-1f3fc-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f926-1f3fc-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f926-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f926-1f3fd-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f926-1f3fd-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f926-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f926-1f3fe-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f926-1f3fe-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f926-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f926-1f3ff-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f926-1f3ff-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f926-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f926-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f926-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f926.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f927.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f928.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f929.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f92a.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f92b.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f92c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f92d.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f92e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f92f.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f930-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f930-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f930-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f930-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f930-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f930.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f931-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f931-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f931-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f931-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f931-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f931.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f932-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f932-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f932-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f932-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f932-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f932.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f933-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f933-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f933-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f933-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f933-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f933.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f934-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f934-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f934-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f934-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f934-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f934.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f935-1f3fb-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f935-1f3fb-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f935-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f935-1f3fc-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f935-1f3fc-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f935-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f935-1f3fd-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f935-1f3fd-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f935-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f935-1f3fe-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f935-1f3fe-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f935-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f935-1f3ff-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f935-1f3ff-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f935-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f935-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f935-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f935.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f936-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f936-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f936-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f936-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f936-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f936.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f937-1f3fb-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f937-1f3fb-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f937-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f937-1f3fc-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f937-1f3fc-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f937-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f937-1f3fd-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f937-1f3fd-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f937-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f937-1f3fe-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f937-1f3fe-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f937-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f937-1f3ff-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f937-1f3ff-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f937-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f937-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f937-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f937.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f938-1f3fb-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f938-1f3fb-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f938-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f938-1f3fc-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f938-1f3fc-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f938-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f938-1f3fd-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f938-1f3fd-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f938-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f938-1f3fe-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f938-1f3fe-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f938-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f938-1f3ff-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f938-1f3ff-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f938-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f938-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f938-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f938.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f939-1f3fb-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f939-1f3fb-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f939-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f939-1f3fc-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f939-1f3fc-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f939-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f939-1f3fd-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f939-1f3fd-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f939-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f939-1f3fe-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f939-1f3fe-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f939-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f939-1f3ff-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f939-1f3ff-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f939-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f939-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f939-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f939.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f93a.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f93c-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f93c-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f93c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f93d-1f3fb-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f93d-1f3fb-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f93d-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f93d-1f3fc-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f93d-1f3fc-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f93d-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f93d-1f3fd-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f93d-1f3fd-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f93d-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f93d-1f3fe-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f93d-1f3fe-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f93d-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f93d-1f3ff-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f93d-1f3ff-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f93d-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f93d-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f93d-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f93d.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f93e-1f3fb-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f93e-1f3fb-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f93e-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f93e-1f3fc-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f93e-1f3fc-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f93e-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f93e-1f3fd-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f93e-1f3fd-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f93e-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f93e-1f3fe-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f93e-1f3fe-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f93e-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f93e-1f3ff-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f93e-1f3ff-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f93e-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f93e-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f93e-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f93e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f93f.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f940.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f941.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f942.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f943.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f944.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f945.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f947.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f948.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f949.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f94a.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f94b.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f94c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f94d.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f94e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f94f.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f950.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f951.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f952.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f953.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f954.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f955.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f956.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f957.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f958.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f959.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f95a.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f95b.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f95c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f95d.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f95e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f95f.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f960.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f961.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f962.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f963.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f964.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f965.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f966.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f967.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f968.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f969.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f96a.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f96b.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f96c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f96d.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f96e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f96f.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f970.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f971.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f972.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f973.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f974.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f975.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f976.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f977-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f977-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f977-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f977-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f977-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f977.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f978.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f979.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f97a.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f97b.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f97c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f97d.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f97e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f97f.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f980.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f981.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f982.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f983.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f984.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f985.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f986.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f987.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f988.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f989.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f98a.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f98b.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f98c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f98d.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f98e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f98f.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f990.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f991.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f992.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f993.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f994.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f995.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f996.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f997.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f998.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f999.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f99a.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f99b.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f99c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f99d.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f99e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f99f.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9a0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9a2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9a3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9a4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9a5.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9a6.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9a7.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9a8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9a9.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9aa.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9ab.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9ac.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9ad.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9ae.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9af.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9b0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9b1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9b2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9b3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9b4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9b5-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9b5-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9b5-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9b5-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9b5-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9b5.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9b6-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9b6-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9b6-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9b6-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9b6-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9b6.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9b7.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9b8-1f3fb-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9b8-1f3fb-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9b8-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9b8-1f3fc-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9b8-1f3fc-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9b8-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9b8-1f3fd-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9b8-1f3fd-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9b8-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9b8-1f3fe-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9b8-1f3fe-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9b8-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9b8-1f3ff-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9b8-1f3ff-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9b8-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9b8-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9b8-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9b8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9b9-1f3fb-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9b9-1f3fb-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9b9-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9b9-1f3fc-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9b9-1f3fc-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9b9-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9b9-1f3fd-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9b9-1f3fd-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9b9-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9b9-1f3fe-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9b9-1f3fe-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9b9-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9b9-1f3ff-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9b9-1f3ff-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9b9-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9b9-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9b9-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9b9.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9ba.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9bb-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9bb-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9bb-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9bb-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9bb-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9bb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9bc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9bd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9be.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9bf.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9c0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9c1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9c2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9c3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9c4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9c5.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9c6.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9c7.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9c8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9c9.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9ca.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9cb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9cc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9cd-1f3fb-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9cd-1f3fb-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9cd-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9cd-1f3fc-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9cd-1f3fc-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9cd-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9cd-1f3fd-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9cd-1f3fd-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9cd-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9cd-1f3fe-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9cd-1f3fe-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9cd-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9cd-1f3ff-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9cd-1f3ff-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9cd-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9cd-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9cd-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9cd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9ce-1f3fb-2640-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9ce-1f3fb-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9ce-1f3fb-2642-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9ce-1f3fb-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9ce-1f3fb-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9ce-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9ce-1f3fc-2640-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9ce-1f3fc-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9ce-1f3fc-2642-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9ce-1f3fc-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9ce-1f3fc-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9ce-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9ce-1f3fd-2640-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9ce-1f3fd-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9ce-1f3fd-2642-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9ce-1f3fd-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9ce-1f3fd-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9ce-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9ce-1f3fe-2640-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9ce-1f3fe-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9ce-1f3fe-2642-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9ce-1f3fe-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9ce-1f3fe-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9ce-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9ce-1f3ff-2640-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9ce-1f3ff-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9ce-1f3ff-2642-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9ce-1f3ff-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9ce-1f3ff-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9ce-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9ce-2640-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9ce-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9ce-2642-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9ce-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9ce-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9ce.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9cf-1f3fb-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9cf-1f3fb-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9cf-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9cf-1f3fc-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9cf-1f3fc-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9cf-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9cf-1f3fd-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9cf-1f3fd-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9cf-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9cf-1f3fe-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9cf-1f3fe-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9cf-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9cf-1f3ff-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9cf-1f3ff-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9cf-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9cf-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9cf-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9cf.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f33e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f373.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f37c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f384.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f393.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3a4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3a8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3eb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3ed.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fb-1f33e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fb-1f373.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fb-1f37c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fb-1f384.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fb-1f393.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fb-1f3a4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fb-1f3a8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fb-1f3eb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fb-1f3ed.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fb-1f4bb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fb-1f4bc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fb-1f527.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fb-1f52c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fb-1f680.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fb-1f692.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fb-1f91d-1f9d1-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fb-1f91d-1f9d1-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fb-1f91d-1f9d1-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fb-1f91d-1f9d1-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fb-1f91d-1f9d1-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fb-1f9af-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fb-1f9af.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fb-1f9b0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fb-1f9b1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fb-1f9b2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fb-1f9b3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fb-1f9bc-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fb-1f9bc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fb-1f9bd-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fb-1f9bd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fb-2695.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fb-2696.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fb-2708.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fb-2764-1f48b-1f9d1-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fb-2764-1f48b-1f9d1-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fb-2764-1f48b-1f9d1-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fb-2764-1f48b-1f9d1-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fb-2764-1f9d1-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fb-2764-1f9d1-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fb-2764-1f9d1-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fb-2764-1f9d1-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fc-1f33e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fc-1f373.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fc-1f37c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fc-1f384.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fc-1f393.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fc-1f3a4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fc-1f3a8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fc-1f3eb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fc-1f3ed.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fc-1f4bb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fc-1f4bc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fc-1f527.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fc-1f52c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fc-1f680.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fc-1f692.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fc-1f91d-1f9d1-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fc-1f91d-1f9d1-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fc-1f91d-1f9d1-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fc-1f91d-1f9d1-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fc-1f91d-1f9d1-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fc-1f9af-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fc-1f9af.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fc-1f9b0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fc-1f9b1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fc-1f9b2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fc-1f9b3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fc-1f9bc-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fc-1f9bc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fc-1f9bd-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fc-1f9bd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fc-2695.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fc-2696.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fc-2708.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fc-2764-1f48b-1f9d1-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fc-2764-1f48b-1f9d1-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fc-2764-1f48b-1f9d1-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fc-2764-1f48b-1f9d1-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fc-2764-1f9d1-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fc-2764-1f9d1-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fc-2764-1f9d1-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fc-2764-1f9d1-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fd-1f33e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fd-1f373.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fd-1f37c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fd-1f384.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fd-1f393.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fd-1f3a4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fd-1f3a8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fd-1f3eb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fd-1f3ed.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fd-1f4bb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fd-1f4bc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fd-1f527.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fd-1f52c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fd-1f680.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fd-1f692.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fd-1f91d-1f9d1-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fd-1f91d-1f9d1-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fd-1f91d-1f9d1-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fd-1f91d-1f9d1-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fd-1f91d-1f9d1-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fd-1f9af-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fd-1f9af.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fd-1f9b0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fd-1f9b1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fd-1f9b2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fd-1f9b3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fd-1f9bc-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fd-1f9bc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fd-1f9bd-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fd-1f9bd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fd-2695.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fd-2696.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fd-2708.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fd-2764-1f48b-1f9d1-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fd-2764-1f48b-1f9d1-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fd-2764-1f48b-1f9d1-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fd-2764-1f48b-1f9d1-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fd-2764-1f9d1-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fd-2764-1f9d1-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fd-2764-1f9d1-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fd-2764-1f9d1-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fe-1f33e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fe-1f373.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fe-1f37c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fe-1f384.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fe-1f393.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fe-1f3a4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fe-1f3a8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fe-1f3eb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fe-1f3ed.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fe-1f4bb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fe-1f4bc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fe-1f527.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fe-1f52c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fe-1f680.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fe-1f692.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fe-1f91d-1f9d1-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fe-1f91d-1f9d1-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fe-1f91d-1f9d1-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fe-1f91d-1f9d1-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fe-1f91d-1f9d1-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fe-1f9af-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fe-1f9af.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fe-1f9b0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fe-1f9b1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fe-1f9b2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fe-1f9b3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fe-1f9bc-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fe-1f9bc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fe-1f9bd-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fe-1f9bd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fe-2695.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fe-2696.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fe-2708.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fe-2764-1f48b-1f9d1-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fe-2764-1f48b-1f9d1-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fe-2764-1f48b-1f9d1-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fe-2764-1f48b-1f9d1-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fe-2764-1f9d1-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fe-2764-1f9d1-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fe-2764-1f9d1-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fe-2764-1f9d1-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3ff-1f33e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3ff-1f373.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3ff-1f37c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3ff-1f384.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3ff-1f393.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3ff-1f3a4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3ff-1f3a8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3ff-1f3eb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3ff-1f3ed.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3ff-1f4bb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3ff-1f4bc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3ff-1f527.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3ff-1f52c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3ff-1f680.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3ff-1f692.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3ff-1f91d-1f9d1-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3ff-1f91d-1f9d1-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3ff-1f91d-1f9d1-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3ff-1f91d-1f9d1-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3ff-1f91d-1f9d1-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3ff-1f9af-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3ff-1f9af.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3ff-1f9b0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3ff-1f9b1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3ff-1f9b2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3ff-1f9b3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3ff-1f9bc-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3ff-1f9bc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3ff-1f9bd-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3ff-1f9bd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3ff-2695.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3ff-2696.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3ff-2708.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3ff-2764-1f48b-1f9d1-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3ff-2764-1f48b-1f9d1-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3ff-2764-1f48b-1f9d1-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3ff-2764-1f48b-1f9d1-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3ff-2764-1f9d1-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3ff-2764-1f9d1-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3ff-2764-1f9d1-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3ff-2764-1f9d1-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f4bb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f4bc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f527.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f52c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f680.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f692.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f91d-1f9d1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f9af-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f9af.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f9b0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f9b1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f9b2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f9b3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f9bc-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f9bc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f9bd-27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f9bd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f9d1-1f9d2-1f9d2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f9d1-1f9d2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f9d2-1f9d2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-1f9d2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-2695.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-2696.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1-2708.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d2-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d2-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d2-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d2-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d2-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d3-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d3-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d3-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d3-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d3-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d4-1f3fb-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d4-1f3fb-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d4-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d4-1f3fc-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d4-1f3fc-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d4-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d4-1f3fd-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d4-1f3fd-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d4-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d4-1f3fe-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d4-1f3fe-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d4-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d4-1f3ff-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d4-1f3ff-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d4-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d4-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d4-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d5-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d5-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d5-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d5-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d5-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d5.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d6-1f3fb-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d6-1f3fb-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d6-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d6-1f3fc-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d6-1f3fc-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d6-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d6-1f3fd-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d6-1f3fd-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d6-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d6-1f3fe-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d6-1f3fe-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d6-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d6-1f3ff-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d6-1f3ff-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d6-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d6-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d6-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d6.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d7-1f3fb-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d7-1f3fb-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d7-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d7-1f3fc-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d7-1f3fc-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d7-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d7-1f3fd-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d7-1f3fd-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d7-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d7-1f3fe-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d7-1f3fe-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d7-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d7-1f3ff-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d7-1f3ff-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d7-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d7-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d7-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d7.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d8-1f3fb-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d8-1f3fb-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d8-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d8-1f3fc-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d8-1f3fc-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d8-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d8-1f3fd-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d8-1f3fd-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d8-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d8-1f3fe-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d8-1f3fe-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d8-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d8-1f3ff-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d8-1f3ff-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d8-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d8-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d8-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d9-1f3fb-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d9-1f3fb-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d9-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d9-1f3fc-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d9-1f3fc-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d9-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d9-1f3fd-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d9-1f3fd-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d9-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d9-1f3fe-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d9-1f3fe-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d9-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d9-1f3ff-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d9-1f3ff-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d9-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d9-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d9-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9d9.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9da-1f3fb-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9da-1f3fb-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9da-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9da-1f3fc-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9da-1f3fc-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9da-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9da-1f3fd-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9da-1f3fd-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9da-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9da-1f3fe-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9da-1f3fe-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9da-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9da-1f3ff-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9da-1f3ff-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9da-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9da-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9da-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9da.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9db-1f3fb-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9db-1f3fb-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9db-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9db-1f3fc-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9db-1f3fc-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9db-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9db-1f3fd-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9db-1f3fd-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9db-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9db-1f3fe-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9db-1f3fe-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9db-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9db-1f3ff-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9db-1f3ff-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9db-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9db-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9db-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9db.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9dc-1f3fb-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9dc-1f3fb-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9dc-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9dc-1f3fc-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9dc-1f3fc-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9dc-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9dc-1f3fd-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9dc-1f3fd-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9dc-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9dc-1f3fe-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9dc-1f3fe-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9dc-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9dc-1f3ff-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9dc-1f3ff-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9dc-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9dc-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9dc-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9dc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9dd-1f3fb-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9dd-1f3fb-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9dd-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9dd-1f3fc-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9dd-1f3fc-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9dd-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9dd-1f3fd-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9dd-1f3fd-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9dd-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9dd-1f3fe-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9dd-1f3fe-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9dd-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9dd-1f3ff-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9dd-1f3ff-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9dd-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9dd-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9dd-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9dd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9de-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9de-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9de.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9df-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9df-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9df.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9e0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9e1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9e2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9e3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9e4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9e5.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9e6.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9e7.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9e8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9e9.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9ea.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9eb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9ec.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9ed.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9ee.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9ef.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9f0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9f1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9f2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9f3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9f4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9f5.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9f6.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9f7.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9f8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9f9.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9fa.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1f9ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fa70.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fa71.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fa72.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fa73.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fa74.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fa75.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fa76.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fa77.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fa78.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fa79.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fa7a.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fa7b.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fa7c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fa80.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fa81.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fa82.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fa83.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fa84.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fa85.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fa86.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fa87.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fa88.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fa89.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fa8f.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fa90.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fa91.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fa92.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fa93.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fa94.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fa95.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fa96.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fa97.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fa98.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fa99.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fa9a.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fa9b.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fa9c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fa9d.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fa9e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fa9f.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faa0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faa1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faa2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faa3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faa4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faa5.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faa6.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faa7.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faa8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faa9.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faaa.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faab.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faac.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faad.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faae.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faaf.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fab0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fab1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fab2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fab3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fab4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fab5.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fab6.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fab7.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fab8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fab9.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faba.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fabb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fabc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fabd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fabe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fabf.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fac0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fac1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fac2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fac3-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fac3-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fac3-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fac3-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fac3-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fac3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fac4-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fac4-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fac4-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fac4-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fac4-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fac4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fac5-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fac5-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fac5-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fac5-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fac5-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fac5.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fac6.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1face.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1facf.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fad0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fad1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fad2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fad3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fad4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fad5.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fad6.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fad7.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fad8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fad9.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fada.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fadb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fadc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fadf.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fae0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fae1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fae2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fae3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fae4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fae5.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fae6.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fae7.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fae8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1fae9.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf0-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf0-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf0-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf0-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf0-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf1-1f3fb-1faf2-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf1-1f3fb-1faf2-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf1-1f3fb-1faf2-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf1-1f3fb-1faf2-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf1-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf1-1f3fc-1faf2-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf1-1f3fc-1faf2-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf1-1f3fc-1faf2-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf1-1f3fc-1faf2-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf1-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf1-1f3fd-1faf2-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf1-1f3fd-1faf2-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf1-1f3fd-1faf2-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf1-1f3fd-1faf2-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf1-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf1-1f3fe-1faf2-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf1-1f3fe-1faf2-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf1-1f3fe-1faf2-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf1-1f3fe-1faf2-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf1-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf1-1f3ff-1faf2-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf1-1f3ff-1faf2-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf1-1f3ff-1faf2-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf1-1f3ff-1faf2-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf1-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf2-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf2-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf2-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf2-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf2-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf3-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf3-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf3-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf3-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf3-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf4-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf4-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf4-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf4-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf4-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf5-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf5-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf5-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf5-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf5-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf5.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf6-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf6-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf6-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf6-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf6-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf6.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf7-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf7-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf7-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf7-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf7-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf7.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf8-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf8-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf8-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf8-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf8-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/1faf8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/203c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2049.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2122.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2139.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2194.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2195.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2196.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2197.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2198.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2199.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/21a9.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/21aa.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/231a.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/231b.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2328.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/23cf.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/23e9.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/23ea.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/23eb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/23ec.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/23ed.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/23ee.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/23ef.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/23f0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/23f1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/23f2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/23f3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/23f8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/23f9.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/23fa.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/24c2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/25aa.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/25ab.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/25b6.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/25c0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/25fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/25fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/25fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/25fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2600.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2601.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2602.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2603.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2604.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/260e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2611.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2614.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2615.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2618.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/261d-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/261d-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/261d-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/261d-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/261d-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/261d.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2620.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2622.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2623.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2626.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/262a.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/262e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/262f.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2638.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2639.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/263a.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2648.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2649.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/264a.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/264b.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/264c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/264d.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/264e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/264f.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2650.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2651.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2652.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2653.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/265f.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2660.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2663.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2665.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2666.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2668.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/267b.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/267e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/267f.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2692.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2693.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2694.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2695.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2696.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2697.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2699.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/269b.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/269c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/26a0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/26a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/26a7.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/26aa.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/26ab.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/26b0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/26b1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/26bd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/26be.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/26c4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/26c5.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/26c8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/26ce.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/26cf.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/26d1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/26d3-1f4a5.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/26d3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/26d4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/26e9.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/26ea.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/26f0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/26f1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/26f2.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/26f3.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/26f4.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/26f5.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/26f7.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/26f8.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/26f9-1f3fb-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/26f9-1f3fb-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/26f9-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/26f9-1f3fc-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/26f9-1f3fc-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/26f9-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/26f9-1f3fd-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/26f9-1f3fd-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/26f9-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/26f9-1f3fe-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/26f9-1f3fe-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/26f9-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/26f9-1f3ff-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/26f9-1f3ff-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/26f9-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/26f9-2640.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/26f9-2642.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/26f9.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/26fa.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/26fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2702.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2705.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2708.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2709.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/270a-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/270a-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/270a-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/270a-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/270a-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/270a.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/270b-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/270b-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/270b-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/270b-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/270b-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/270b.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/270c-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/270c-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/270c-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/270c-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/270c-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/270c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/270d-1f3fb.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/270d-1f3fc.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/270d-1f3fd.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/270d-1f3fe.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/270d-1f3ff.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/270d.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/270f.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2712.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2714.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2716.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/271d.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2721.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2728.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2733.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2734.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2744.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2747.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/274c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/274e.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2753.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2754.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2755.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2757.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2763.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2764-1f525.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2764-1fa79.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2764.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2795.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2796.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2797.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/27a1.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/27b0.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/27bf.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2934.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2935.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2b05.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2b06.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2b07.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2b1b.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2b1c.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2b50.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/2b55.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/3030.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/303d.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/3297.png +0 -0
- package/web/app/site/sengi/assets/emoji/64/3299.png +0 -0
- package/web/app/site/sengi/assets/fonts/Black/Roboto-Black.woff +0 -0
- package/web/app/site/sengi/assets/fonts/Black/Roboto-Black.woff2 +0 -0
- package/web/app/site/sengi/assets/fonts/Bold/Roboto-Bold.woff +0 -0
- package/web/app/site/sengi/assets/fonts/Bold/Roboto-Bold.woff2 +0 -0
- package/web/app/site/sengi/assets/fonts/Light/Roboto-Light.woff +0 -0
- package/web/app/site/sengi/assets/fonts/Light/Roboto-Light.woff2 +0 -0
- package/web/app/site/sengi/assets/fonts/Medium/Roboto-Medium.woff +0 -0
- package/web/app/site/sengi/assets/fonts/Medium/Roboto-Medium.woff2 +0 -0
- package/web/app/site/sengi/assets/fonts/Regular/Roboto-Regular.woff +0 -0
- package/web/app/site/sengi/assets/fonts/Regular/Roboto-Regular.woff2 +0 -0
- package/web/app/site/sengi/assets/fonts/Thin/Roboto-Thin.woff +0 -0
- package/web/app/site/sengi/assets/fonts/Thin/Roboto-Thin.woff2 +0 -0
- package/web/app/site/sengi/assets/icons/icon-128x128.png +0 -0
- package/web/app/site/sengi/assets/icons/icon-144x144.png +0 -0
- package/web/app/site/sengi/assets/icons/icon-152x152.png +0 -0
- package/web/app/site/sengi/assets/icons/icon-192x192.png +0 -0
- package/web/app/site/sengi/assets/icons/icon-384x384.png +0 -0
- package/web/app/site/sengi/assets/icons/icon-512x512.png +0 -0
- package/web/app/site/sengi/assets/icons/icon-72x72.png +0 -0
- package/web/app/site/sengi/assets/icons/icon-96x96.png +0 -0
- package/web/app/site/sengi/assets/img/account.png +0 -0
- package/web/app/site/sengi/assets/img/arrow_1.png +0 -0
- package/web/app/site/sengi/assets/img/arrow_1_dark.png +0 -0
- package/web/app/site/sengi/assets/img/arrow_2.png +0 -0
- package/web/app/site/sengi/assets/img/arrow_2_dark.png +0 -0
- package/web/app/site/sengi/assets/img/avatar-not-found.png +0 -0
- package/web/app/site/sengi/assets/img/juche-background.jpg +0 -0
- package/web/app/site/sengi/assets/img/labels.png +0 -0
- package/web/app/site/sengi/assets/scss/modules/_fonts.scss +0 -48
- package/web/app/site/sengi/assets/video/flashing.gif +0 -0
- package/web/app/site/sengi/assets/video/flashing.mp4 +0 -0
- package/web/app/site/sengi/assets/video/notification.mp4 +0 -0
- package/web/app/site/sengi/favicon.ico +0 -0
- package/web/app/site/sengi/index.html +0 -64
- package/web/app/site/sengi/juche-background.5779872958c0aa8356d2.jpg +0 -0
- package/web/app/site/sengi/main.1f5d89d26480c74fad14.js +0 -1
- package/web/app/site/sengi/manifest.json +0 -51
- package/web/app/site/sengi/polyfills.c1e766542f6691fc86da.js +0 -1
- package/web/app/site/sengi/runtime.26209474bfa8dc87a77c.js +0 -1
- package/web/app/site/sengi/styles.6f7454aa4cf8f2d23457.css +0 -6
- package/web/app/site/sw.js +0 -72555
- package/web/app/site/update.js +0 -66
package/web/app/site/bb/bb.js
DELETED
|
@@ -1,1617 +0,0 @@
|
|
|
1
|
-
// bb.js — the forum website: reads a forum from its pod (through this site's
|
|
2
|
-
// own /u/<handle>/ when the forum is attached here, or a pod named outright)
|
|
3
|
-
// and shows categories, topics and threads. Replying signs the reader in
|
|
4
|
-
// with a Mastodon account and posts from it; the reply appears here once the
|
|
5
|
-
// forum's host has placed it, and until then the reader sees their own copy
|
|
6
|
-
// marked as waiting.
|
|
7
|
-
//
|
|
8
|
-
// /bb/?forum=<handle> a forum attached to this site
|
|
9
|
-
// /bb/?pod=https://…/fedipod-bb/ a forum read from its pod directly
|
|
10
|
-
// https://bb.<site>/<handle>/ the same forum at its own address
|
|
11
|
-
// #/ #/c/<slug> #/t/<slug>/<tid>
|
|
12
|
-
|
|
13
|
-
import { reader, placeOf, authorLabel, cacheKey, categoryBase } from './read.mjs?v=1e46e77224';
|
|
14
|
-
import { MastoLogin, hostOfHandle, serverKind, actorOfHandle } from './masto.mjs?v=2e3c531c63';
|
|
15
|
-
import * as pod from './pod.mjs?v=5d0995ec1d';
|
|
16
|
-
import { mine as keptByReader } from './mine.mjs?v=2e33e2ff90';
|
|
17
|
-
import { readState } from './seen.mjs?v=1a3acc66e7';
|
|
18
|
-
import { toHtml } from './markdown.mjs?v=83efe6b33d';
|
|
19
|
-
|
|
20
|
-
const $ = (id) => document.getElementById(id);
|
|
21
|
-
// Said to a screen reader when the page changes under it and no focus moves:
|
|
22
|
-
// what is loading, how much arrived, that a link was copied.
|
|
23
|
-
const say = (msg) => { const el = $('say'); if (el) el.textContent = msg; };
|
|
24
|
-
const esc = (s) => String(s ?? '').replace(/[&<>"]/g, c => ({ '&': '&', '<': '<', '>': '>', '"': '"' }[c]));
|
|
25
|
-
const when = (iso) => { const d = new Date(iso); return Number.isNaN(d.getTime()) ? '' : d.toISOString().slice(0, 10); };
|
|
26
|
-
const ago = (iso) => {
|
|
27
|
-
const ms = Date.now() - Date.parse(iso);
|
|
28
|
-
if (!Number.isFinite(ms)) return '';
|
|
29
|
-
const m = Math.round(ms / 60_000);
|
|
30
|
-
if (m < 2) return 'just now';
|
|
31
|
-
if (m < 90) return `${m} min ago`;
|
|
32
|
-
const h = Math.round(m / 60);
|
|
33
|
-
if (h < 36) return `${h} h ago`;
|
|
34
|
-
return `${Math.round(h / 24)} days ago`;
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
const params = new URLSearchParams(location.search);
|
|
38
|
-
const place = placeOf({ origin: location.origin, pathname: location.pathname, search: location.search });
|
|
39
|
-
const { front, base } = place;
|
|
40
|
-
const frontHost = new URL(front).host;
|
|
41
|
-
// The reader asks anonymously first; where a category is members-only it
|
|
42
|
-
// asks again with the pod session, if there is one.
|
|
43
|
-
let read = reader();
|
|
44
|
-
const login = new MastoLogin({ storage: localStorage, redirectUri: location.origin + location.pathname + location.search });
|
|
45
|
-
// What this reader has already read. Theirs, in their own browser: a public
|
|
46
|
-
// forum has nowhere to keep it and no business keeping it.
|
|
47
|
-
const seen = base ? readState({ storage: localStorage, forum: base }) : null;
|
|
48
|
-
|
|
49
|
-
let forum = null;
|
|
50
|
-
let podAcct = null; // { handle, actor, webId } when signed in with a pod
|
|
51
|
-
let moderators = []; // the category's own list, read from the forum
|
|
52
|
-
const account = () => podAcct || login.account();
|
|
53
|
-
const cats = () => forum?.categories || [];
|
|
54
|
-
const iModerate = () => {
|
|
55
|
-
const me = podAcct?.actor || login.account()?.url;
|
|
56
|
-
return !!me && moderators.includes(me);
|
|
57
|
-
};
|
|
58
|
-
const catBySlug = (slug) => cats().find(c => c.slug === slug || c.base.endsWith('/c/' + slug + '/'));
|
|
59
|
-
const handleOf = (cat) => {
|
|
60
|
-
// Through a Gateway a category answers as @slug@gateway; read from a pod, its id is its address.
|
|
61
|
-
if (place.handle && cat.slug) return `@${cat.slug}@${frontHost}`;
|
|
62
|
-
return cat.id;
|
|
63
|
-
};
|
|
64
|
-
// A post names the category it is for, and every reader of this page is
|
|
65
|
-
// already in it: the address is how it got here, not something to read.
|
|
66
|
-
function body(p, cat) {
|
|
67
|
-
const html = p?.content || '';
|
|
68
|
-
if (!cat) return html;
|
|
69
|
-
const d = document.createElement('div');
|
|
70
|
-
d.innerHTML = html;
|
|
71
|
-
for (const a of [...d.querySelectorAll('a')]) {
|
|
72
|
-
const names = a.getAttribute('href') === cat.id
|
|
73
|
-
|| a.textContent.trim().replace(/^@/u, '') === String(cat.slug || '')
|
|
74
|
-
|| a.textContent.trim() === handleOf(cat);
|
|
75
|
-
if (!names) continue;
|
|
76
|
-
const p0 = a.closest('p') || a.parentElement;
|
|
77
|
-
a.remove();
|
|
78
|
-
if (p0 && !p0.textContent.trim() && !p0.querySelector('img,a')) p0.remove();
|
|
79
|
-
}
|
|
80
|
-
return d.innerHTML;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
// The author as they are known: their name when the forum kept a card for
|
|
84
|
-
// them, and always the handle, which is the thing that is theirs everywhere.
|
|
85
|
-
function byline(p, author) {
|
|
86
|
-
if (!author) return esc(p.author ? authorLabel(p.author) : '');
|
|
87
|
-
const handle = esc(author.handle);
|
|
88
|
-
const name = author.name && author.name !== author.handle ? esc(author.name) : null;
|
|
89
|
-
const inner = name ? `${name} <span class="dim">${handle}</span>` : handle;
|
|
90
|
-
// Their posts in this forum, not their page elsewhere: that is what a
|
|
91
|
-
// reader here is asking for when they click a name.
|
|
92
|
-
return `<a href="#/who/${encodeURIComponent(author.id)}">${inner}</a>`;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
// Where this post can be READ away from here. A pod answers its post's own
|
|
96
|
-
// address with JSON, so that address is no use to a person and is not shown;
|
|
97
|
-
// a server that publishes a page for it says so, and the link names its host.
|
|
98
|
-
function elsewhere(p) {
|
|
99
|
-
if (!p?.page) return '';
|
|
100
|
-
let host = '';
|
|
101
|
-
try { host = new URL(p.page).host; } catch { return ''; }
|
|
102
|
-
return ` <a href="${esc(p.page)}" class="dim" rel="noopener">on ${esc(host)}</a>`;
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
// Whose post this is, as this browser can tell: a pod account is its actor,
|
|
106
|
-
// a Mastodon account is the profile its server gave us.
|
|
107
|
-
const mine = (p) => {
|
|
108
|
-
const me = podAcct?.actor || login.account()?.url;
|
|
109
|
-
return !!me && !!p?.author && (p.author === me || p.author === podAcct?.webId);
|
|
110
|
-
};
|
|
111
|
-
|
|
112
|
-
// A thread in the shape it was written: each reply under the post it answers,
|
|
113
|
-
// and anything whose parent is not here at the top level. Depth is capped so
|
|
114
|
-
// a long argument does not walk off the side of the page.
|
|
115
|
-
const MAX_DEPTH = 6;
|
|
116
|
-
async function threaded(posts, authors, cat) {
|
|
117
|
-
const byId = new Map(posts.map(p => [p.id, p]));
|
|
118
|
-
const kids = new Map();
|
|
119
|
-
const roots = [];
|
|
120
|
-
for (const p of posts) {
|
|
121
|
-
const parent = p.inReplyTo && byId.has(p.inReplyTo) && p.inReplyTo !== p.id ? p.inReplyTo : null;
|
|
122
|
-
if (!parent) { roots.push(p); continue; }
|
|
123
|
-
if (!kids.has(parent)) kids.set(parent, []);
|
|
124
|
-
kids.get(parent).push(p);
|
|
125
|
-
}
|
|
126
|
-
const out = [];
|
|
127
|
-
const walk = async (p, depth) => {
|
|
128
|
-
const html = card(p, { author: p.author ? authors.get(p.author) : null, cat, anchor: await cacheKey(p.id) });
|
|
129
|
-
out.push(depth ? `<div class="nest" style="--depth:${Math.min(depth, MAX_DEPTH)}">${html}</div>` : html);
|
|
130
|
-
for (const k of kids.get(p.id) || []) await walk(k, depth + 1);
|
|
131
|
-
};
|
|
132
|
-
for (const r of roots) await walk(r, 0);
|
|
133
|
-
return out;
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
function topicActs(topicId) {
|
|
137
|
-
if (!iModerate()) return '';
|
|
138
|
-
return `<div class="acts mod" role="group" aria-label="Moderator actions for this topic" data-topic="${esc(topicId)}">
|
|
139
|
-
<button data-act="rename">Rename topic</button>
|
|
140
|
-
<button data-act="unlock">Reopen topic</button>
|
|
141
|
-
<button data-act="pin">Pin topic</button><button data-act="unpin">Unpin topic</button>
|
|
142
|
-
<button data-act="sitepin">Pin site-wide</button><button data-act="siteunpin">Unpin site-wide</button>
|
|
143
|
-
<button class="grave" data-act="lock">Close topic</button><button class="grave" data-act="droptopic">Delete topic</button>
|
|
144
|
-
</div>`;
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
// Voting, both ways, as a forum has always had it: up, down, and the one you
|
|
148
|
-
// cast again to take it back. A reader with no account sees the counts.
|
|
149
|
-
function votes(p) {
|
|
150
|
-
const up = p.likes || 0;
|
|
151
|
-
const down = p.dislikes || 0;
|
|
152
|
-
// Signed out, the buttons are still buttons: pressing one asks who you are
|
|
153
|
-
// and then casts the vote. Showing the counts as dead text hid the fact that
|
|
154
|
-
// voting was possible at all.
|
|
155
|
-
const mineWay = account() ? own().votedOn(p.id) : 'none';
|
|
156
|
-
const one = (way, mark, n, label) => `<button data-act="vote-${mineWay === way ? 'none' : way}"
|
|
157
|
-
data-was="${mineWay}"${mineWay === way ? ' aria-pressed="true" class="voted"' : ''}
|
|
158
|
-
aria-label="${mineWay === way ? `Take back your vote ${label}` : `Vote ${label} this post`}">${mark} ${n}</button>`;
|
|
159
|
-
return one('up', '▲', up, 'for') + one('down', '▼', down, 'against');
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
function card(p, { author = null, cat = null, extra = '', waiting = false, anchor = null } = {}) {
|
|
163
|
-
const at = p.published ? when(p.published) : '';
|
|
164
|
-
// What a screen reader hears before the words, and what each of this post's
|
|
165
|
-
// own buttons is called — a thread of them is not twenty identical "Reply"s.
|
|
166
|
-
const whose = esc(author ? (author.name || author.handle) : (p.author ? authorLabel(p.author) : 'someone'));
|
|
167
|
-
const named = `${waiting ? 'Waiting: p' : 'P'}ost by ${whose}${at ? `, ${esc(at)}` : ''}`;
|
|
168
|
-
return `<article class="post${p.gone ? ' gone' : ''}${extra}" aria-label="${named}"${anchor ? ` id="p-${esc(anchor)}"` : ''}>
|
|
169
|
-
<div class="who"><b>${waiting ? '<span class="dim">waiting for the forum · </span>' : ''}${byline(p, author)}</b>
|
|
170
|
-
<span class="when">${esc(at)}${elsewhere(p)}</span></div>
|
|
171
|
-
<div class="body">${p.gone ? 'This post was removed.' : (body(p, cat) || '<span class="dim">(not readable here)</span>')}</div>
|
|
172
|
-
${p.gone || waiting || !p.id ? '' : `<div class="acts" data-post="${esc(p.id)}">
|
|
173
|
-
<button data-act="reply" aria-label="Reply to ${whose}">Reply</button>
|
|
174
|
-
${votes(p)}
|
|
175
|
-
<button data-act="share" aria-label="Copy a link to the post by ${whose}">Share</button>
|
|
176
|
-
${account() ? `<button data-act="${own().isSaved(p.id) ? 'unsave' : 'save'}" aria-label="${own().isSaved(p.id) ? 'Remove this post from your bookmarks' : 'Bookmark this post'}">${own().isSaved(p.id) ? 'Bookmarked' : 'Bookmark'}</button>` : ''}
|
|
177
|
-
${mine(p) || !account() ? '' : `<button data-act="report" aria-label="Report the post by ${whose}">Report</button>`}
|
|
178
|
-
${mine(p) ? '<button data-act="edit" aria-label="Edit your own post">Edit</button><button data-act="delete" aria-label="Delete your own post">Delete</button>' : ''}
|
|
179
|
-
${!mine(p) && iModerate() ? `<button data-act="remove" aria-label="Remove the post by ${whose}">Remove</button>` : ''}
|
|
180
|
-
</div>`}
|
|
181
|
-
</article>`;
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
const waitingKey = (topicId) => 'bb:waiting:' + topicId;
|
|
185
|
-
const waiting = (topicId) => { try { return (JSON.parse(localStorage.getItem(waitingKey(topicId)) || '[]') || []).filter(w => w?.id); } catch { return []; } };
|
|
186
|
-
// A copy is kept only for a post that is waiting to be PLACED, and only when
|
|
187
|
-
// it carries the id the topic will name it by: an entry nothing can match is
|
|
188
|
-
// an entry nothing can ever clear.
|
|
189
|
-
const remember = (topicId, entry) => {
|
|
190
|
-
if (!entry?.id) return;
|
|
191
|
-
try { localStorage.setItem(waitingKey(topicId), JSON.stringify([...waiting(topicId), entry].slice(-20))); } catch { /* full or blocked */ }
|
|
192
|
-
};
|
|
193
|
-
|
|
194
|
-
async function load() {
|
|
195
|
-
if (!base) {
|
|
196
|
-
$('main').innerHTML = `<p class="err">Name a forum: <code>${esc(location.origin)}/<forum>/</code></p>`;
|
|
197
|
-
return;
|
|
198
|
-
}
|
|
199
|
-
forum = await read.forum(base);
|
|
200
|
-
if (!forum) {
|
|
201
|
-
$('main').innerHTML = '<p class="err">No forum answers at this address.</p>';
|
|
202
|
-
return;
|
|
203
|
-
}
|
|
204
|
-
document.title = forum.name || 'FediPod-BB';
|
|
205
|
-
$('forum-link').textContent = forum.name || 'Forum';
|
|
206
|
-
// Who moderates, under the line: the forum's own list, each name linking to
|
|
207
|
-
// the page that account keeps.
|
|
208
|
-
const mods = (forum.admins || []).map(a => `<a href="#/who/${encodeURIComponent(a.id)}">${esc(a.handle)}</a>`).join(', ');
|
|
209
|
-
$('mods-who').innerHTML = mods ? `<span class="lead">moderators:</span> ${mods}` : '';
|
|
210
|
-
route();
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
function crumbs(parts) {
|
|
214
|
-
// One stop is no trail: the front page needs no line saying it is the
|
|
215
|
-
// front page.
|
|
216
|
-
if (parts.length < 2) { $('crumbs').textContent = ''; $('crumbs').hidden = true; return; }
|
|
217
|
-
$('crumbs').hidden = false;
|
|
218
|
-
$('crumbs').innerHTML = parts.map(([label, href], i) => (href && i < parts.length - 1 ? `<a href="${esc(href)}">${esc(label)}</a>` : esc(label))).join(' › ');
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
// Who the page is holding, in the top row: the handle a reader posts under,
|
|
222
|
-
// and the way in when there is nobody. Signing in from here is what makes the
|
|
223
|
-
// moderator's Queue and Settings reachable at all.
|
|
224
|
-
function paintWho() {
|
|
225
|
-
const acct = account();
|
|
226
|
-
$('who-name').textContent = acct ? `signed in as ${acct.handle}` : '';
|
|
227
|
-
$('who-act').textContent = acct ? 'Sign out' : 'Sign in';
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
async function route() {
|
|
231
|
-
paintWho();
|
|
232
|
-
// Searching and starting a topic belong to the forum's own view; the rest of
|
|
233
|
-
// the page keeps the moderators line and nothing else.
|
|
234
|
-
$('mods-acts').innerHTML = '';
|
|
235
|
-
const mine = ++view;
|
|
236
|
-
void mine;
|
|
237
|
-
const hash = location.hash.replace(/^#\/?/u, '');
|
|
238
|
-
const [kind, a, b, c] = hash.split('/');
|
|
239
|
-
$('reply-row').hidden = true;
|
|
240
|
-
$('reply-dlg').close();
|
|
241
|
-
if (kind === 'replies') return showReplies();
|
|
242
|
-
if (kind === 'bookmarks' || kind === 'saved') return showSaved();
|
|
243
|
-
if (kind === 'queue') return showQueue();
|
|
244
|
-
if (kind === 'settings') return showSettings();
|
|
245
|
-
if (kind === 'who' && a) return showWho(decodeURIComponent(a));
|
|
246
|
-
if (kind === 'c' && a) { if (feedFilter !== a) shown = 30; feedFilter = a; return showForum(); }
|
|
247
|
-
if (kind === 't' && a && b) return showTopic(a, b, c || null);
|
|
248
|
-
// `#/` IS the whole forum, so arriving at it clears the category. Leaving the
|
|
249
|
-
// filter where it was meant Home redrew whatever category you had been in,
|
|
250
|
-
// and All — whose link is `#/` — redrew the same one, which from the reader's
|
|
251
|
-
// side was a button that did nothing at all.
|
|
252
|
-
if (feedFilter !== 'all') { feedFilter = 'all'; shown = 30; }
|
|
253
|
-
return showForum();
|
|
254
|
-
}
|
|
255
|
-
|
|
256
|
-
// The front page is an index of what has been said, newest first, across the
|
|
257
|
-
// forum: which category, which topic, who, and when. The words themselves are
|
|
258
|
-
// in the topic, one click away.
|
|
259
|
-
let feedFilter = 'all'; // 'all', or a category's slug
|
|
260
|
-
let shown = 30; // how many of the index's rows are on the page
|
|
261
|
-
let view = 0; // which view the page is on; an older one must not draw
|
|
262
|
-
let order = 'date'; // which column the index is ordered by
|
|
263
|
-
let down = true; // and which way
|
|
264
|
-
let finding = ''; // what the reader is looking for, if anything
|
|
265
|
-
// What this reader keeps for themselves, under the account they signed in as.
|
|
266
|
-
const own = () => keptByReader({ storage: localStorage, who: account()?.handle || null });
|
|
267
|
-
|
|
268
|
-
// Answers to this reader's own posts, newest first. The forum publishes what
|
|
269
|
-
// each post answers, so nobody has to be told whom to notify.
|
|
270
|
-
async function showReplies() {
|
|
271
|
-
crumbs([['Home', '#/'], ['Replies to you', null]]);
|
|
272
|
-
const me = podAcct?.actor || login.account()?.url;
|
|
273
|
-
if (!me) { $('main').innerHTML = '<p class="empty">Sign in to see answers to your posts.</p>'; return; }
|
|
274
|
-
$('main').innerHTML = '<p class="dim">Looking…</p>';
|
|
275
|
-
const latest = await read.latest(base, { limit: 200 });
|
|
276
|
-
const mineIds = new Set(latest.filter(p => p.author === me).map(p => p.id));
|
|
277
|
-
const answers = latest.filter(p => p.inReplyTo && mineIds.has(p.inReplyTo) && p.author !== me);
|
|
278
|
-
if (!answers.length) { $('main').innerHTML = '<p class="empty">Nobody has answered you yet.</p>'; return; }
|
|
279
|
-
const items = [];
|
|
280
|
-
for (const p of answers) {
|
|
281
|
-
const cat = cats().find(c => c.id === p.category) || null;
|
|
282
|
-
const who = cat && p.author ? await read.author(cat.base, p.author) : null;
|
|
283
|
-
const tid = p.topic ? p.topic.split('/').pop() : null;
|
|
284
|
-
const href = cat && tid ? `#/t/${esc(cat.slug)}/${esc(tid)}/${esc(await cacheKey(p.id))}` : '#/';
|
|
285
|
-
items.push(`<li><a class="title" href="${href}">${esc(p.topicName || 'Topic')}</a>
|
|
286
|
-
<div class="meta">${who ? esc(who.handle) : esc(authorLabel(p.author || ''))} · ${esc(when(p.published))}</div>
|
|
287
|
-
<article class="post"><div class="body">${p.content || ''}</div></article></li>`);
|
|
288
|
-
}
|
|
289
|
-
$('main').innerHTML = `<ul class="list">${items.join('')}</ul>`;
|
|
290
|
-
}
|
|
291
|
-
|
|
292
|
-
// Posts this reader kept. The list is theirs and lives in this browser.
|
|
293
|
-
function showSaved() {
|
|
294
|
-
crumbs([['Home', '#/'], ['Bookmarked', null]]);
|
|
295
|
-
const rows = own().saved();
|
|
296
|
-
if (!rows.length) { $('main').innerHTML = '<p class="empty">Nothing bookmarked yet. Use Bookmark on a post.</p>'; return; }
|
|
297
|
-
$('main').innerHTML = `<ul class="list">${rows.map(r => {
|
|
298
|
-
const cat = cats().find(c => c.slug === r.cat) || null;
|
|
299
|
-
const tid = r.topic ? r.topic.split('/').pop() : null;
|
|
300
|
-
const href = cat && tid ? `#/t/${esc(cat.slug)}/${esc(tid)}` : '#/';
|
|
301
|
-
return `<li><a class="title" href="${href}">${esc(r.text || r.id)}</a>
|
|
302
|
-
<div class="meta">bookmarked ${esc(when(r.at))}${cat ? ' · ' + esc(cat.name) : ''}</div></li>`;
|
|
303
|
-
}).join('')}</ul>`;
|
|
304
|
-
}
|
|
305
|
-
|
|
306
|
-
// The moderators' queue: reports, posts held from people who have not joined,
|
|
307
|
-
// and asks not yet acted on. Read from the forum's pod with the moderator's
|
|
308
|
-
// own login — it is not public and never passes through the Gateway.
|
|
309
|
-
async function showQueue() {
|
|
310
|
-
crumbs([['Home', '#/'], ['Queue', null]]);
|
|
311
|
-
if (!podAcct) { $('main').innerHTML = '<p class="empty">The queue is read with your pod account.</p>'; return; }
|
|
312
|
-
$('main').innerHTML = '<p class="dim">Reading the queue…</p>';
|
|
313
|
-
try {
|
|
314
|
-
const said = await serverKind(new URL(front).host, front, undefined, forum.handle || 'forum');
|
|
315
|
-
if (!said?.podHome) throw new Error('this forum does not say where its pod is');
|
|
316
|
-
const q = await pod.modQueue(said.podHome);
|
|
317
|
-
const rows = q?.rows || [];
|
|
318
|
-
if (!rows.length) { $('main').innerHTML = '<p class="empty">Nothing is waiting.</p>'; return; }
|
|
319
|
-
$('main').innerHTML = `<ul class="list">${rows.map(r => `<li>
|
|
320
|
-
<div class="title">${esc(r.type)}${r.category ? ' · ' + esc(r.category) : ''}</div>
|
|
321
|
-
<div class="meta">${r.type === 'Flag' ? 'reported by ' : ''}${esc(r.by ? authorLabel(r.by) : '')}${r.about ? ` · about <a href="#/who/${encodeURIComponent(r.about)}">${esc(authorLabel(r.about))}</a>` : ''} · ${esc(when(r.at))}${r.verified ? ' · checked' : ''}</div>
|
|
322
|
-
${r.object ? `<div class="dim">${esc(r.object)}</div>` : ''}
|
|
323
|
-
${r.failed ? `<p class="err">It did not take: ${esc(r.failed)}${r.failedAt ? ` (${esc(when(r.failedAt))})` : ''}. It is still here and will be tried again.</p>` : ''}
|
|
324
|
-
${r.why ? `<article class="post"><div class="body">${esc(r.why)}</div></article>` : ''}
|
|
325
|
-
${r.object ? `<div class="acts mod" data-post="${esc(r.object)}" data-cat="${esc(r.category || '')}">
|
|
326
|
-
${r.type === 'Held' || r.type === 'Create' ? '<button data-act="approve">Let it through</button><button data-act="refuse">Turn it away</button>' : ''}
|
|
327
|
-
${r.type === 'Join request' ? '<button data-act="admit">Admit</button><button data-act="refuse">Turn them away</button>' : ''}
|
|
328
|
-
${r.about ? '<button data-act="ban" data-who="' + esc(r.about) + '">Ban the author</button>' : ''}
|
|
329
|
-
${r.about && r.object ? '<button data-act="removepost" data-post="' + esc(r.object) + '">Remove the post</button>' : ''}
|
|
330
|
-
${r.type !== 'Flag' && r.by ? '<button data-act="ban" data-who="' + esc(r.by) + '">Ban them</button>' : ''}
|
|
331
|
-
</div>` : ''}
|
|
332
|
-
</li>`).join('')}</ul>`;
|
|
333
|
-
} catch (e) { $('main').innerHTML = `<p class="err">${esc(e.message)}</p>`; }
|
|
334
|
-
}
|
|
335
|
-
|
|
336
|
-
async function showWho(handleOrId) {
|
|
337
|
-
crumbs([['Home', '#/'], ['Someone', null]]);
|
|
338
|
-
$('main').innerHTML = '<p class="dim">Looking…</p>';
|
|
339
|
-
const latest = await read.latest(base, { limit: 200 });
|
|
340
|
-
const theirs = latest.filter(p => p.author === handleOrId);
|
|
341
|
-
const cat = theirs[0] ? cats().find(c => c.id === theirs[0].category) : cats()[0];
|
|
342
|
-
// What the forum kept of them, and failing that their own actor: a moderator
|
|
343
|
-
// who has never posted here has no card, and this page is where every handle
|
|
344
|
-
// in the forum now leads.
|
|
345
|
-
const kept = cat ? await read.author(cat.base, handleOrId) : null;
|
|
346
|
-
// The copy the forum kept may predate the account saying where its profile
|
|
347
|
-
// is, so where it names no page the account itself is asked.
|
|
348
|
-
const said = kept?.url ? null : await read.actorCard(handleOrId).catch(() => null);
|
|
349
|
-
const card = kept && said ? { ...kept, url: said.url, name: kept.name || said.name } : (kept || said);
|
|
350
|
-
crumbs([['Home', '#/'], [card?.handle || authorLabel(handleOrId), null]]);
|
|
351
|
-
const named = esc(card?.handle || authorLabel(handleOrId));
|
|
352
|
-
// A word with them and nobody else. Only from a pod account: the message is
|
|
353
|
-
// written on the sender's own pod before it is handed over.
|
|
354
|
-
const messageBox = podAcct && podAcct.actor !== handleOrId ? `<section class="reply">
|
|
355
|
-
<h2>Post to ${named}'s timeline</h2>
|
|
356
|
-
<p class="hint">A post of yours that names them, so it reaches them and anyone who reads either of
|
|
357
|
-
you. It is public: everybody can read it. Your own account posts it and signs it, so it reaches
|
|
358
|
-
Mastodon and the rest of the Fediverse — which means it goes out when your agent next reads its
|
|
359
|
-
inbox, and that it needs an account fronted at this Gateway.</p>
|
|
360
|
-
<label class="vh" for="dm-text">Your post</label>
|
|
361
|
-
<textarea id="dm-text" rows="3" placeholder="Your post"></textarea>
|
|
362
|
-
<p class="row"><button class="primary" data-act="post-to" data-to="${esc(handleOrId)}"
|
|
363
|
-
data-handle="${esc(card?.handle || '')}">Post</button></p>
|
|
364
|
-
<p class="err" id="dm-err" role="alert"></p>
|
|
365
|
-
</section>` : '';
|
|
366
|
-
const head = `<div class="topline"><h1>${esc(card?.name || card?.handle || authorLabel(handleOrId))}</h1></div>
|
|
367
|
-
<p class="hint">${named}${card?.url ? ` · <a href="${esc(card.url)}">their profile</a>` : ''}
|
|
368
|
-
· ${theirs.length} post${theirs.length === 1 ? '' : 's'} here</p>${messageBox}`;
|
|
369
|
-
if (!theirs.length) { $('main').innerHTML = head + '<p class="empty">Nothing from them in what the forum is holding.</p>'; return; }
|
|
370
|
-
const items = [];
|
|
371
|
-
for (const p of theirs) {
|
|
372
|
-
const c = cats().find(x => x.id === p.category) || null;
|
|
373
|
-
const tid = p.topic ? p.topic.split('/').pop() : null;
|
|
374
|
-
const href = c && tid ? `#/t/${esc(c.slug)}/${esc(tid)}/${esc(await cacheKey(p.id))}` : '#/';
|
|
375
|
-
items.push(`<li><a class="title" href="${href}">${esc(p.topicName || 'Topic')}</a>
|
|
376
|
-
<div class="meta">${c ? esc(c.name) + ' · ' : ''}${esc(when(p.published))} · ▲ ${p.likes || 0} ▼ ${p.dislikes || 0}</div>
|
|
377
|
-
<article class="post"><div class="body">${p.content || ''}</div></article></li>`);
|
|
378
|
-
}
|
|
379
|
-
$('main').innerHTML = head + `<ul class="list">${items.join('')}</ul>`;
|
|
380
|
-
}
|
|
381
|
-
|
|
382
|
-
// What a moderator may change about the forum itself. Every change is a
|
|
383
|
-
// request published at the moderator's own pod and checked there, so this
|
|
384
|
-
// page needs no rights on the forum's pod at all.
|
|
385
|
-
// Who moderates is learned while the forum is drawn. A page opened straight
|
|
386
|
-
// at a link — Settings, say, or a bookmark — has drawn nothing yet, and would
|
|
387
|
-
// take a moderator for a stranger and turn them away.
|
|
388
|
-
async function knowModerators() {
|
|
389
|
-
if (moderators.length || !cats().length) return;
|
|
390
|
-
const lists = await Promise.all(cats().map(c => read.moderators(c.base).catch(() => [])));
|
|
391
|
-
moderators = [...new Set(lists.flat())];
|
|
392
|
-
}
|
|
393
|
-
|
|
394
|
-
async function showSettings() {
|
|
395
|
-
crumbs([['Home', '#/'], ['Settings', null]]);
|
|
396
|
-
await knowModerators();
|
|
397
|
-
if (!iModerate()) { $('main').innerHTML = '<p class="empty">Only this forum\'s moderators may change it.</p>'; return; }
|
|
398
|
-
if (!podAcct) { $('main').innerHTML = '<p class="empty">Changing the forum is done with your pod account.</p>'; return; }
|
|
399
|
-
$('main').innerHTML = `
|
|
400
|
-
<div class="topline"><h1>Settings</h1></div>
|
|
401
|
-
<section class="reply">
|
|
402
|
-
<h2>The forum</h2>
|
|
403
|
-
<div class="row oneline">
|
|
404
|
-
<label for="set-forum-name">Name</label>
|
|
405
|
-
<input type="text" id="set-forum-name" value="${esc(forum.name || '')}">
|
|
406
|
-
<button data-act="set-forum-name">Rename</button>
|
|
407
|
-
<button data-act="open-mods">Manage moderators</button>
|
|
408
|
-
</div>
|
|
409
|
-
</section>
|
|
410
|
-
<section class="reply">
|
|
411
|
-
<h2>Categories</h2>
|
|
412
|
-
<ul class="list bare">${cats().map(c => `<li>
|
|
413
|
-
<div class="row">
|
|
414
|
-
<input type="text" class="cat-name" data-cat="${esc(c.id)}" value="${esc(c.name)}">
|
|
415
|
-
<button data-act="set-cat-name" data-cat="${esc(c.id)}">Rename</button>
|
|
416
|
-
<button data-act="open-members" data-cat="${esc(c.id)}">Manage members</button>
|
|
417
|
-
<span class="dim">${esc(handleOf(c))}</span>
|
|
418
|
-
<label><input type="radio" name="cat-private-${esc(c.slug || c.id)}" data-act="set-cat-private" data-cat="${esc(c.id)}" value="open"${c.private ? '' : ' checked'}> Open</label>
|
|
419
|
-
<label><input type="radio" name="cat-private-${esc(c.slug || c.id)}" data-act="set-cat-private" data-cat="${esc(c.id)}" value="private"${c.private ? ' checked' : ''}> Private</label>
|
|
420
|
-
</div>
|
|
421
|
-
</li>`).join('')}</ul>
|
|
422
|
-
</section>
|
|
423
|
-
<section class="reply">
|
|
424
|
-
<h2>New Category</h2>
|
|
425
|
-
<div class="row oneline">
|
|
426
|
-
<label for="set-new-name">Category name</label>
|
|
427
|
-
<input type="text" id="set-new-name">
|
|
428
|
-
<label for="set-new-slug">Category slug</label>
|
|
429
|
-
<input type="text" id="set-new-slug" placeholder="Fediverse Username" size="18">
|
|
430
|
-
</div>
|
|
431
|
-
<div class="row">
|
|
432
|
-
<label><input type="radio" name="set-new-private" value="open" checked> Open</label>
|
|
433
|
-
<label><input type="radio" name="set-new-private" value="private"> Private</label>
|
|
434
|
-
<button data-act="add-cat">Create</button>
|
|
435
|
-
</div>
|
|
436
|
-
</section>
|
|
437
|
-
`;
|
|
438
|
-
}
|
|
439
|
-
|
|
440
|
-
// The index, read once and filtered here. Changing category, ordering it,
|
|
441
|
-
// or typing in the search box changes NOTHING about what the forum holds — yet
|
|
442
|
-
// each of them refetched every post, every category's moderators and every
|
|
443
|
-
// category's pinned topics, and blanked the page to "Loading…" while it went.
|
|
444
|
-
// Searching did it on every keystroke.
|
|
445
|
-
//
|
|
446
|
-
// So it is read once and kept: whole, unfiltered, for every category, because
|
|
447
|
-
// which subset is on screen is the reader's business and not the network's.
|
|
448
|
-
// Thrown away after a minute, when more rows are asked for than were fetched,
|
|
449
|
-
// and by hand whenever this page writes something the forum will show back.
|
|
450
|
-
let index = null;
|
|
451
|
-
const INDEX_STALE_MS = 60_000;
|
|
452
|
-
function forgetIndex() { index = null; authors.clear(); }
|
|
453
|
-
|
|
454
|
-
// Who wrote it, and the digest a topic link carries. Both are asked once per
|
|
455
|
-
// ROW, and the same people and the same posts come round again every time the
|
|
456
|
-
// index is redrawn — so each was a fresh lookup for an answer that cannot have
|
|
457
|
-
// changed. Serially, too: thirty rows was thirty round trips one after another,
|
|
458
|
-
// which is where the wait after choosing a category actually went.
|
|
459
|
-
const authors = new Map();
|
|
460
|
-
const digests = new Map();
|
|
461
|
-
function authorOnce(catBase, id) {
|
|
462
|
-
const key = `${catBase}|${id}`;
|
|
463
|
-
if (!authors.has(key)) authors.set(key, read.author(catBase, id).catch(() => null));
|
|
464
|
-
return authors.get(key);
|
|
465
|
-
}
|
|
466
|
-
function digestOnce(id) {
|
|
467
|
-
if (!digests.has(id)) digests.set(id, cacheKey(id));
|
|
468
|
-
return digests.get(id);
|
|
469
|
-
}
|
|
470
|
-
|
|
471
|
-
async function readIndex(want) {
|
|
472
|
-
if (index && index.limit >= want && Date.now() - index.at < INDEX_STALE_MS) return index;
|
|
473
|
-
const latest = await read.latest(base, { limit: want });
|
|
474
|
-
const site = new Set(await read.featured(base));
|
|
475
|
-
const pinned = new Map();
|
|
476
|
-
const mods = new Map();
|
|
477
|
-
for (const c of cats()) {
|
|
478
|
-
pinned.set(c.id, new Set(await read.featured(c.base)));
|
|
479
|
-
mods.set(c.id, await read.moderators(c.base));
|
|
480
|
-
}
|
|
481
|
-
index = { at: Date.now(), limit: want, latest, site, pinned, mods };
|
|
482
|
-
return index;
|
|
483
|
-
}
|
|
484
|
-
|
|
485
|
-
async function showForum() {
|
|
486
|
-
const mineView = view;
|
|
487
|
-
const here = cats().find(c => c.slug === feedFilter) || null;
|
|
488
|
-
crumbs(here ? [['Home', '#/'], [here.name, `#/c/${here.slug}`]] : [['Home', '#/']]);
|
|
489
|
-
// Who moderates what is on screen. Showing the whole forum, that is
|
|
490
|
-
// whoever moderates its categories — otherwise a moderator looking at
|
|
491
|
-
// everything would look like a stranger.
|
|
492
|
-
// Moderators come out of the index below, which holds them for every
|
|
493
|
-
// category — so this no longer decides what to fetch, only what to show.
|
|
494
|
-
const showMods = (idx) => {
|
|
495
|
-
if (here) { moderators = idx.mods.get(here.id) || []; } else {
|
|
496
|
-
const all = new Set();
|
|
497
|
-
for (const list of idx.mods.values()) for (const m of list) all.add(m);
|
|
498
|
-
moderators = [...all];
|
|
499
|
-
}
|
|
500
|
-
// The line under the rule says who they are. It is painted from the
|
|
501
|
-
// forum's own list when the page loads; this keeps it with the categories'
|
|
502
|
-
// lists, which is where a moderator added while you read appears first.
|
|
503
|
-
paintMods(moderators);
|
|
504
|
-
};
|
|
505
|
-
const chip = (slug, label) => `<a class="chip${feedFilter === slug ? ' on' : ''}"${feedFilter === slug ? ' aria-current="page"' : ''} href="${slug === 'all' ? '#/' : `#/c/${esc(slug)}`}">${esc(label)}</a>`;
|
|
506
|
-
// Starting a topic from the front page: in the category being shown, or the
|
|
507
|
-
// first one when the whole forum is.
|
|
508
|
-
const into = cats().find(c => c.slug === feedFilter) || cats()[0] || null;
|
|
509
|
-
// Built where it is drawn, not once above: whether this reader moderates is
|
|
510
|
-
// read with the index below, and a row composed before that always said no.
|
|
511
|
-
const head = () => `<p class="hint chips">Categories: ${chip('all', 'All')}${cats().map(c => chip(c.slug || '', c.name)).join('')}
|
|
512
|
-
${account() ? '<a class="chip" href="#/replies">Replies to you</a><a class="chip" href="#/bookmarks">Bookmarked</a>' : ''}
|
|
513
|
-
${iModerate() ? '<a class="chip" href="#/queue">Queue</a><a class="chip" href="#/settings">Settings</a>' : ''}
|
|
514
|
-
<span class="rowend">
|
|
515
|
-
${here && account() && podAcct ? `<button class="new" data-act="${own().isJoined(here.id) ? 'leave' : 'join'}" data-cat="${esc(here.id)}">${own().isJoined(here.id) ? 'Leave' : 'Join'}</button>` : ''}
|
|
516
|
-
</span></p>`;
|
|
517
|
-
// Search and New topic ride at the right end of the moderators row, which is
|
|
518
|
-
// the one line the page keeps above whatever is being read.
|
|
519
|
-
const acts = () => `<label class="vh" for="find">Search this forum</label>
|
|
520
|
-
<input type="text" id="find" placeholder="Search" value="${esc(finding)}" autocomplete="off"${finding ? '' : ' hidden'}>
|
|
521
|
-
<button data-act="search"${finding ? ' hidden' : ''}>Search</button>
|
|
522
|
-
${into ? `<button data-act="newtopic" data-slug="${esc(into.slug || '')}">New topic</button>` : ''}`;
|
|
523
|
-
if (mineView !== view) return;
|
|
524
|
-
// Enough posts to fill a page of TOPICS: several posts can belong to one.
|
|
525
|
-
const want = Math.min(300, shown * 5);
|
|
526
|
-
// Only say "Loading" when something is actually going to be waited for. The
|
|
527
|
-
// reader changing category has everything already; blanking the page for
|
|
528
|
-
// them was the whole of the delay they could see.
|
|
529
|
-
const willFetch = !(index && index.limit >= want && Date.now() - index.at < INDEX_STALE_MS);
|
|
530
|
-
if (willFetch) {
|
|
531
|
-
$('mods-acts').innerHTML = acts();
|
|
532
|
-
$('main').innerHTML = head() + '<p class="dim">Loading…</p>';
|
|
533
|
-
say('Loading the latest posts');
|
|
534
|
-
}
|
|
535
|
-
const idx = await readIndex(want);
|
|
536
|
-
if (mineView !== view) return;
|
|
537
|
-
showMods(idx);
|
|
538
|
-
const latest = idx.latest;
|
|
539
|
-
const looking = finding.trim().toLowerCase();
|
|
540
|
-
const mine = latest.filter(p => (feedFilter === 'all'
|
|
541
|
-
|| (cats().find(c => c.id === p.category)?.slug === feedFilter))
|
|
542
|
-
// Searching what the page has: a topic's name, an author's handle, and
|
|
543
|
-
// the words of the post itself.
|
|
544
|
-
&& (!looking || [p.topicName, p.author, p.content].some(v => String(v || '').toLowerCase().includes(looking))));
|
|
545
|
-
// Pinned topics first. A pin belongs to a category; the forum has a
|
|
546
|
-
// featured collection of its own for a pin that holds everywhere.
|
|
547
|
-
const pins = { cat: new Set(), site: idx.site };
|
|
548
|
-
for (const c of cats()) {
|
|
549
|
-
if (feedFilter !== 'all' && c.slug !== feedFilter) continue;
|
|
550
|
-
for (const id of idx.pinned.get(c.id) || []) pins.cat.add(id);
|
|
551
|
-
}
|
|
552
|
-
// One row per topic: the newest post in it stands for it, which is what a
|
|
553
|
-
// reader wants to open — the thing they have not read.
|
|
554
|
-
const byTopic = new Map();
|
|
555
|
-
for (const p of mine) {
|
|
556
|
-
if (!p.topic) continue;
|
|
557
|
-
const held = byTopic.get(p.topic);
|
|
558
|
-
if (!held || String(p.published || '') > String(held.published || '')) byTopic.set(p.topic, p);
|
|
559
|
-
}
|
|
560
|
-
const rank = (p) => (pins.site.has(p.topic) ? 2 : pins.cat.has(p.topic) ? 1 : 0);
|
|
561
|
-
// Pinned first whatever the order; then the column the reader chose.
|
|
562
|
-
// Posts, not replies: a topic with nobody answering yet still HAS the post
|
|
563
|
-
// that started it, and a column reading 0 beside a topic you can open and
|
|
564
|
-
// read says the wrong thing. The count the forum keeps is of replies, so the
|
|
565
|
-
// opening post is the one added here.
|
|
566
|
-
const by = (p) => (order === 'replies' ? (p.topicReplies || 0) + 1 : String(p.published || ''));
|
|
567
|
-
const topics = [...byTopic.values()].sort((a, b) => rank(b) - rank(a)
|
|
568
|
-
|| (down ? (by(a) > by(b) ? -1 : by(a) < by(b) ? 1 : 0) : (by(a) > by(b) ? 1 : by(a) < by(b) ? -1 : 0)));
|
|
569
|
-
const page = topics.slice(0, shown);
|
|
570
|
-
if (!topics.length) {
|
|
571
|
-
// A members-only category that will not answer this reader looks exactly
|
|
572
|
-
// like an empty one. Ask it a question only a member can have answered.
|
|
573
|
-
if (here && !(await read.topics(here.base)).total && !(await read.canRead(here.base))) {
|
|
574
|
-
if (mineView !== view) return;
|
|
575
|
-
$('mods-acts').innerHTML = acts();
|
|
576
|
-
$('main').innerHTML = head() + (podAcct
|
|
577
|
-
? `<p class="empty row">This category is for its members.
|
|
578
|
-
<button class="new" data-act="ask-join" data-cat="${esc(here.id)}">Request membership</button></p>`
|
|
579
|
-
: `<p class="empty row">This category is for its members, and membership needs a FediPod account.
|
|
580
|
-
<a class="big" href="${esc(front)}/new-account">Get a FediPod account</a></p>`);
|
|
581
|
-
say('This category is for its members');
|
|
582
|
-
return;
|
|
583
|
-
}
|
|
584
|
-
// The one thing to do on an empty page is the one thing offered.
|
|
585
|
-
if (mineView !== view) return;
|
|
586
|
-
$('mods-acts').innerHTML = acts();
|
|
587
|
-
$('main').innerHTML = head() + '<p class="empty">Nothing posted here yet. Use the button at the upper right to create a topic.</p>';
|
|
588
|
-
say('Nothing posted here yet');
|
|
589
|
-
return;
|
|
590
|
-
}
|
|
591
|
-
const rows = [];
|
|
592
|
-
let fresh = 0;
|
|
593
|
-
// Every row's author and digest at once rather than one row at a time: they
|
|
594
|
-
// do not depend on each other, and waiting for each in turn is the whole of
|
|
595
|
-
// the delay between choosing a category and seeing it.
|
|
596
|
-
const looked = await Promise.all(page.map(async (p) => {
|
|
597
|
-
const cat = cats().find(c => c.id === p.category) || null;
|
|
598
|
-
return {
|
|
599
|
-
cat,
|
|
600
|
-
who: cat && p.author ? await authorOnce(cat.base, p.author) : null,
|
|
601
|
-
digest: await digestOnce(p.id),
|
|
602
|
-
};
|
|
603
|
-
}));
|
|
604
|
-
if (mineView !== view) return;
|
|
605
|
-
for (let i = 0; i < page.length; i++) {
|
|
606
|
-
const p = page[i];
|
|
607
|
-
const { cat, who, digest } = looked[i];
|
|
608
|
-
const tid = p.topic ? p.topic.split('/').pop() : null;
|
|
609
|
-
const href = cat && tid ? `#/t/${esc(cat.slug)}/${esc(tid)}/${esc(digest)}` : null;
|
|
610
|
-
const name = esc(p.topicName || 'Topic');
|
|
611
|
-
// New to THIS reader: posted since they last had the topic open.
|
|
612
|
-
const isNew = !!seen?.isNew(p.topic, p.published);
|
|
613
|
-
if (isNew) fresh += 1;
|
|
614
|
-
const byline = who ? who.handle : (p.author ? authorLabel(p.author) : '');
|
|
615
|
-
rows.push(`<tr>
|
|
616
|
-
<td>${pins.site.has(p.topic) ? '<span class="pin" title="Pinned across the forum" role="img" aria-label="pinned across the forum">\u2B50</span> ' : pins.cat.has(p.topic) ? '<span class="pin" title="Pinned in this category" role="img" aria-label="pinned in this category">\uD83D\uDCCC</span> ' : ''}${href ? `<a href="${href}">${name}</a>` : name}${isNew
|
|
617
|
-
? ' <span class="badge">New<span class="vh"> since you last opened this topic</span></span>' : ''}</td>
|
|
618
|
-
<td>${cat ? esc(cat.name) : ''}</td>
|
|
619
|
-
<td>${byline ? (p.author
|
|
620
|
-
? `<a class="who" href="#/who/${encodeURIComponent(p.author)}" title="${esc(byline)}">${esc(byline)}</a>`
|
|
621
|
-
: `<span class="who" title="${esc(byline)}">${esc(byline)}</span>`) : ''}</td>
|
|
622
|
-
<td>${esc(when(p.published))}</td>
|
|
623
|
-
<td>${Number.isFinite(p.topicReplies) ? p.topicReplies + 1 : ''}</td>
|
|
624
|
-
</tr>`);
|
|
625
|
-
}
|
|
626
|
-
// A table, so a reader can run their eye down any one of the four things
|
|
627
|
-
// an entry says.
|
|
628
|
-
const more = Math.max(0, topics.length - page.length) + (latest.more || 0);
|
|
629
|
-
if (mineView !== view) return;
|
|
630
|
-
$('mods-acts').innerHTML = acts();
|
|
631
|
-
$('main').innerHTML = head() + `<div class="scroll" role="region" aria-label="Topics, most recently posted in first" tabindex="0"><table class="index">
|
|
632
|
-
<thead><tr><th scope="col">Topic</th><th scope="col">Category</th><th scope="col">Latest by</th>
|
|
633
|
-
<th scope="col" aria-sort="${order === 'date' ? (down ? 'descending' : 'ascending') : 'none'}">
|
|
634
|
-
<button class="sort" data-act="order" data-order="date">Date ${order === 'date' ? (down ? '▼' : '▲') : '<span class="dim">▽</span>'}</button></th>
|
|
635
|
-
<th scope="col" aria-sort="${order === 'replies' ? (down ? 'descending' : 'ascending') : 'none'}">
|
|
636
|
-
<button class="sort" data-act="order" data-order="replies">Posts ${order === 'replies' ? (down ? '▼' : '▲') : '<span class="dim">▽</span>'}</button></th></tr></thead>
|
|
637
|
-
<tbody>${rows.join('')}</tbody></table>
|
|
638
|
-
${more ? `<p class="row"><button data-act="more">Show ${Math.min(more, 30)} more of ${more}</button></p>` : ''}</div>`;
|
|
639
|
-
say(`${rows.length} topic${rows.length === 1 ? '' : 's'}${fresh ? `, ${fresh} with something new` : ''}`);
|
|
640
|
-
// The box takes the keyboard only when there is something in it to scroll:
|
|
641
|
-
// a tab stop that does nothing is one more press between a reader and the page.
|
|
642
|
-
const box = $('main').querySelector('.scroll');
|
|
643
|
-
if (box) { if (box.scrollHeight > box.clientHeight) box.tabIndex = 0; else box.removeAttribute('tabindex'); }
|
|
644
|
-
}
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
async function showTopic(slug, tid, atPost = null) {
|
|
648
|
-
const cat = catBySlug(slug);
|
|
649
|
-
if (!cat) { $('main').innerHTML = '<p class="err">No such category.</p>'; return; }
|
|
650
|
-
const topicId = cat.base + 'ap/topic/' + tid;
|
|
651
|
-
moderators = await read.moderators(cat.base);
|
|
652
|
-
crumbs([['Home', '#/'], [cat.name, `#/c/${slug}`], ['topic', null]]);
|
|
653
|
-
$('main').innerHTML = '<p class="dim">Loading…</p>';
|
|
654
|
-
say('Loading the topic');
|
|
655
|
-
const t = await read.topic(topicId);
|
|
656
|
-
if (!t) { $('main').innerHTML = '<p class="err">No such topic.</p>'; return; }
|
|
657
|
-
crumbs([['Home', '#/'], [cat.name, `#/c/${slug}`], [t.name, null]]);
|
|
658
|
-
const posts = [];
|
|
659
|
-
for (const id of t.posts) posts.push({ id, ...(await read.post(cat.base, id)) });
|
|
660
|
-
const authors = new Map();
|
|
661
|
-
for (const p of posts) {
|
|
662
|
-
if (!p.author || authors.has(p.author)) continue;
|
|
663
|
-
authors.set(p.author, await read.author(cat.base, p.author));
|
|
664
|
-
}
|
|
665
|
-
// Opening a topic reads it, up to the newest post that was in it.
|
|
666
|
-
seen?.markRead(topicId, seen.newest(posts));
|
|
667
|
-
const placed = new Set(t.posts);
|
|
668
|
-
const pending = waiting(topicId).filter(w => !placed.has(w.id));
|
|
669
|
-
$('main').innerHTML = `<div class="topline"><h1>${esc(t.name)}</h1>
|
|
670
|
-
<button class="primary" data-act="newpost" data-topic="${esc(topicId)}">New post</button></div>
|
|
671
|
-
${topicActs(topicId)}
|
|
672
|
-
|
|
673
|
-
${(await threaded(posts, authors, cat)).join('')}
|
|
674
|
-
${pending.map(w => card({ author: w.author, published: w.at, content: toHtml(w.text) },
|
|
675
|
-
{ cat, extra: ' waiting', waiting: true })).join('')}`;
|
|
676
|
-
replyBox({ cat, title: 'Reply', inReplyToUrl: t.posts[t.posts.length - 1] || null, topicId });
|
|
677
|
-
$('reply-row').hidden = true; // the thread's own button opens it
|
|
678
|
-
// A closed topic takes nothing more: the forum would refuse it anyway, so
|
|
679
|
-
// the page does not offer it.
|
|
680
|
-
if (t.closed) {
|
|
681
|
-
for (const b of document.querySelectorAll('[data-act="newpost"], [data-act="reply"]')) b.remove();
|
|
682
|
-
const said = document.createElement('p');
|
|
683
|
-
said.className = 'hint';
|
|
684
|
-
said.textContent = 'This topic is closed. No more replies are being taken.';
|
|
685
|
-
document.querySelector('.topline')?.after(said);
|
|
686
|
-
}
|
|
687
|
-
// Arriving from the front page: the post that was linked to, in view and
|
|
688
|
-
// marked, rather than the top of a thread it sits somewhere inside.
|
|
689
|
-
say(`${t.name}, ${posts.length} post${posts.length === 1 ? '' : 's'}`);
|
|
690
|
-
if (atPost) {
|
|
691
|
-
const el = document.getElementById('p-' + atPost);
|
|
692
|
-
// Taken to, not just scrolled to: a keyboard and a screen reader both land
|
|
693
|
-
// on the post that was linked, rather than at the top of the thread.
|
|
694
|
-
if (el) { el.scrollIntoView({ block: 'center' }); el.classList.add('picked'); el.tabIndex = -1; el.focus(); }
|
|
695
|
-
}
|
|
696
|
-
}
|
|
697
|
-
|
|
698
|
-
// The reply box: signed out, it offers the two ways in; signed in, it posts.
|
|
699
|
-
let replyCtx = null;
|
|
700
|
-
function replyBox(ctx) {
|
|
701
|
-
replyCtx = ctx;
|
|
702
|
-
$('reply-row').hidden = false;
|
|
703
|
-
$('reply-open').textContent = ctx.title;
|
|
704
|
-
$('reply-title').textContent = ctx.title;
|
|
705
|
-
$('reply-err').textContent = '';
|
|
706
|
-
const acct = account();
|
|
707
|
-
$('reply-signed-out').hidden = !!acct;
|
|
708
|
-
$('reply-signed-in').hidden = !acct;
|
|
709
|
-
$('fedi-note').textContent = '';
|
|
710
|
-
editing = null;
|
|
711
|
-
$('reply-send').textContent = 'Post reply';
|
|
712
|
-
$('topic-title-row').hidden = !!ctx.topicId;
|
|
713
|
-
$('reply-text').placeholder = ctx.topicId ? 'Write your reply' : 'Your opening post';
|
|
714
|
-
$('reply-text-label').textContent = ctx.topicId ? 'Your reply' : 'Your opening post';
|
|
715
|
-
if (acct) $('reply-as').textContent = acct.handle;
|
|
716
|
-
}
|
|
717
|
-
|
|
718
|
-
// From a handle to a way in. A server that speaks the Mastodon API signs the
|
|
719
|
-
// reader in here; a Lemmy server takes part by its own community address; any
|
|
720
|
-
// other account posts from where it is, naming the category.
|
|
721
|
-
async function signIn(handleInput, noteId = 'fedi-note') {
|
|
722
|
-
const host = hostOfHandle(handleInput);
|
|
723
|
-
if (!host) throw new Error('a handle looks like @you@your.server');
|
|
724
|
-
const at = replyCtx?.cat ? handleOf(replyCtx.cat) : 'the category';
|
|
725
|
-
$(noteId).textContent = `Asking ${host}…`;
|
|
726
|
-
const handle = String(handleInput).trim().replace(/^@/u, '').split('@')[0];
|
|
727
|
-
const said = await serverKind(host, front, undefined, handle);
|
|
728
|
-
const kind = said.kind;
|
|
729
|
-
if (kind === 'mastodon-api') {
|
|
730
|
-
sessionStorage.setItem('bb:return', location.hash);
|
|
731
|
-
location.href = await login.begin(host);
|
|
732
|
-
return;
|
|
733
|
-
}
|
|
734
|
-
const note = $(noteId);
|
|
735
|
-
note.textContent = '';
|
|
736
|
-
if (kind === 'fedipod') {
|
|
737
|
-
if (!said.issuer || !said.actor) throw new Error(`${host} did not say where ${handleInput} signs in`);
|
|
738
|
-
sessionStorage.setItem('bb:return', location.hash);
|
|
739
|
-
sessionStorage.setItem('bb:pod', JSON.stringify({ handle: `@${handle}@${host}`, actor: said.actor, podHome: said.podHome }));
|
|
740
|
-
location.href = await pod.signIn({ issuer: said.issuer, redirectUri: location.origin + location.pathname });
|
|
741
|
-
return;
|
|
742
|
-
}
|
|
743
|
-
note.textContent = kind === 'lemmy'
|
|
744
|
-
? `From ${host}, subscribe to !${at.replace(/^@/u, '')} and post there; it arrives here.`
|
|
745
|
-
: kind === 'invalid'
|
|
746
|
-
? 'A handle looks like @you@your.server.'
|
|
747
|
-
: `${host} does not offer a sign-in this page can use. Post from your account there, naming ${at}, and it arrives here.`;
|
|
748
|
-
}
|
|
749
|
-
|
|
750
|
-
// A box in front of the page is movable: press its heading and drag. It
|
|
751
|
-
// stays where it was put until it is closed, and it cannot be dragged off
|
|
752
|
-
// the edge and lost.
|
|
753
|
-
function movable(dlg) {
|
|
754
|
-
const grip = dlg.querySelector('h2');
|
|
755
|
-
if (!grip || grip.dataset.movable) return;
|
|
756
|
-
grip.dataset.movable = '1';
|
|
757
|
-
grip.addEventListener('pointerdown', (e) => {
|
|
758
|
-
if (e.button && e.button !== 0) return;
|
|
759
|
-
const box = dlg.getBoundingClientRect();
|
|
760
|
-
const from = { x: e.clientX - box.left, y: e.clientY - box.top };
|
|
761
|
-
grip.setPointerCapture(e.pointerId);
|
|
762
|
-
const move = (ev) => {
|
|
763
|
-
const x = Math.min(Math.max(0, ev.clientX - from.x), window.innerWidth - box.width);
|
|
764
|
-
const y = Math.min(Math.max(0, ev.clientY - from.y), window.innerHeight - 40);
|
|
765
|
-
dlg.classList.add('moved');
|
|
766
|
-
dlg.style.left = `${x}px`;
|
|
767
|
-
dlg.style.top = `${y}px`;
|
|
768
|
-
};
|
|
769
|
-
const done = () => { grip.removeEventListener('pointermove', move); grip.removeEventListener('pointerup', done); };
|
|
770
|
-
grip.addEventListener('pointermove', move);
|
|
771
|
-
grip.addEventListener('pointerup', done);
|
|
772
|
-
});
|
|
773
|
-
}
|
|
774
|
-
|
|
775
|
-
// Anything the page opens in front of itself goes through here.
|
|
776
|
-
function openPanel(title, html) {
|
|
777
|
-
$('panel-title').textContent = title;
|
|
778
|
-
$('panel-body').innerHTML = html;
|
|
779
|
-
$('panel-err').textContent = '';
|
|
780
|
-
const dlg = $('panel');
|
|
781
|
-
dlg.classList.remove('moved');
|
|
782
|
-
dlg.style.left = dlg.style.top = '';
|
|
783
|
-
movable(dlg);
|
|
784
|
-
dlg.showModal();
|
|
785
|
-
}
|
|
786
|
-
$('panel-close').addEventListener('click', () => $('panel').close());
|
|
787
|
-
|
|
788
|
-
// A panel is a box in front of the page, and it sits OUTSIDE <main> — so the
|
|
789
|
-
// page's own click handler never saw the buttons in one, and pressing Add did
|
|
790
|
-
// nothing at all. Its buttons are settings acts like any other.
|
|
791
|
-
$('panel').addEventListener('click', (e) => {
|
|
792
|
-
const b = e.target.closest('button[data-act]');
|
|
793
|
-
const act = b?.dataset.act || '';
|
|
794
|
-
if (act.startsWith('set-') || act.startsWith('add-') || act.startsWith('drop-')) return onSettings(b);
|
|
795
|
-
return undefined;
|
|
796
|
-
});
|
|
797
|
-
|
|
798
|
-
$('reply-open').addEventListener('click', () => { openReply({ inReplyToUrl: replyCtx?.inReplyToUrl || null }); });
|
|
799
|
-
$('main').addEventListener('click', async (e) => {
|
|
800
|
-
|
|
801
|
-
// Every button in the page that names an action, wherever it sits: a
|
|
802
|
-
// post's row, a topic's row, or the categories line.
|
|
803
|
-
const b = e.target.closest('button[data-act]');
|
|
804
|
-
if (!b) return;
|
|
805
|
-
const id = b.closest('[data-post]')?.dataset.post;
|
|
806
|
-
const act = b.dataset.act;
|
|
807
|
-
if (act === 'reply') return openReply({ inReplyToUrl: id });
|
|
808
|
-
if (act === 'edit') return openEdit(id);
|
|
809
|
-
if (act === 'delete') return removePost(id);
|
|
810
|
-
if (act === 'share') return share(id, b);
|
|
811
|
-
if (act === 'report') return report(id);
|
|
812
|
-
if (act === 'remove') return modRemove(id);
|
|
813
|
-
const topic = b.dataset.topic || b.closest('[data-topic]')?.dataset.topic;
|
|
814
|
-
if (act === 'more') { shown += 30; return showForum(); }
|
|
815
|
-
if (act === 'order') {
|
|
816
|
-
const col = b.dataset.order;
|
|
817
|
-
if (order === col) down = !down; else { order = col; down = true; }
|
|
818
|
-
shown = 30;
|
|
819
|
-
return showForum();
|
|
820
|
-
}
|
|
821
|
-
// Anything that acts as somebody asks who that is first, and remembers what
|
|
822
|
-
// was pressed so signing in finishes it.
|
|
823
|
-
if (GATED[act] && !account()) { rememberIntent(b); return askToSignIn(GATED[act]); }
|
|
824
|
-
if (act === 'join' || act === 'leave') return joinOrLeave(b.dataset.cat, act === 'join');
|
|
825
|
-
if (act === 'ask-join') return askToJoin(b.dataset.cat);
|
|
826
|
-
if (act === 'admit') return modAdmit(id, b.closest('[data-cat]')?.dataset.cat);
|
|
827
|
-
if (act === 'removepost') return modRemoveFromQueue(b.dataset.post, b.closest('[data-cat]')?.dataset.cat);
|
|
828
|
-
if (act === 'save' || act === 'unsave') return saveOrNot(id, act === 'save');
|
|
829
|
-
if (act.startsWith('vote-')) return voteOn(id, act.slice(5), b.dataset.was || 'none');
|
|
830
|
-
if (act === 'approve' || act === 'refuse') return modHeld(id, b.closest('[data-cat]')?.dataset.cat, act === 'approve');
|
|
831
|
-
if (act === 'ban') return modBan(b.dataset.who, b.closest('[data-cat]')?.dataset.cat);
|
|
832
|
-
if (act === 'open-mods') {
|
|
833
|
-
const named = await Promise.all(moderators.map(m => modLabel(m)));
|
|
834
|
-
return openPanel('Moderators', `<p class="hint">${named.map(esc).join(', ') || 'nobody yet'}</p>
|
|
835
|
-
<div class="row oneline">
|
|
836
|
-
<label for="set-mod">Their handle</label>
|
|
837
|
-
<input type="text" id="set-mod" placeholder="@mei@their.server">
|
|
838
|
-
<button data-act="add-mod">Add</button><button data-act="drop-mod">Remove</button>
|
|
839
|
-
</div>
|
|
840
|
-
<p class="hint">Adding somebody makes them a moderator and lets them read the queue.
|
|
841
|
-
The queue is held under the pod's own access rule, and a rule names a person by the
|
|
842
|
-
WebID of their pod: a Mastodon account has none, so it can moderate and have its
|
|
843
|
-
asks acted on, but it cannot open the queue.</p>`);
|
|
844
|
-
}
|
|
845
|
-
if (act === 'open-members') {
|
|
846
|
-
const cat = cats().find(c => c.id === b.dataset.cat);
|
|
847
|
-
if (!cat) return;
|
|
848
|
-
return openPanel(`Members of ${cat.name}`, `<p class="hint">Naming anyone here closes this category to everyone else. A member is named by their WebID, which is what a pod's own rule can grant.</p>
|
|
849
|
-
<div class="row">
|
|
850
|
-
<label for="set-member">Their WebID</label>
|
|
851
|
-
<input type="text" id="set-member" class="cat-member" data-cat="${esc(cat.id)}" placeholder="https://someone.example/profile/card#me">
|
|
852
|
-
<button data-act="add-member" data-cat="${esc(cat.id)}">Let them in</button>
|
|
853
|
-
<button data-act="drop-member" data-cat="${esc(cat.id)}">Take them out</button>
|
|
854
|
-
</div>`);
|
|
855
|
-
}
|
|
856
|
-
if (act.startsWith('set-') || act.startsWith('add-') || act.startsWith('drop-')) return onSettings(b);
|
|
857
|
-
// Search asks for the room to type in rather than holding it open: the
|
|
858
|
-
// button becomes the box, and an empty box left alone becomes the button.
|
|
859
|
-
if (act === 'search') {
|
|
860
|
-
const box = $('find');
|
|
861
|
-
if (!box) return undefined;
|
|
862
|
-
b.hidden = true;
|
|
863
|
-
box.hidden = false;
|
|
864
|
-
box.focus();
|
|
865
|
-
return undefined;
|
|
866
|
-
}
|
|
867
|
-
if (act === 'post-to') return postToTimeline(b.dataset.to, b.dataset.handle || '');
|
|
868
|
-
if (act === 'newpost') return openReply({ inReplyToUrl: replyCtx?.inReplyToUrl || null });
|
|
869
|
-
if (act === 'newtopic') {
|
|
870
|
-
const cat = catBySlug(b.dataset.slug);
|
|
871
|
-
if (!cat) return;
|
|
872
|
-
replyBox({ cat, title: 'Start a topic', inReplyToUrl: null, topicId: null });
|
|
873
|
-
$('reply-row').hidden = true;
|
|
874
|
-
return openReply({ inReplyToUrl: null });
|
|
875
|
-
}
|
|
876
|
-
if (act === 'rename') return modRename(topic);
|
|
877
|
-
if (act === 'pin' || act === 'unpin') return modPin(topic, act === 'pin');
|
|
878
|
-
if (act === 'sitepin' || act === 'siteunpin') return modPin(topic, act === 'sitepin', true);
|
|
879
|
-
if (act === 'lock' || act === 'unlock') return modLock(topic, act === 'lock');
|
|
880
|
-
if (act === 'droptopic') return modDropTopic(topic);
|
|
881
|
-
});
|
|
882
|
-
|
|
883
|
-
// The dialog takes the focus when it opens and hands it back to whatever
|
|
884
|
-
// opened it when it closes, so a keyboard is never left where the page was.
|
|
885
|
-
let reopener = null;
|
|
886
|
-
// What a private category actually promises the person about to write in it.
|
|
887
|
-
// Said in the box, at the moment it matters, because the word Private on a
|
|
888
|
-
// button is a claim and this is the whole of what is behind it.
|
|
889
|
-
function sayPrivacy() {
|
|
890
|
-
const note = $('reply-private');
|
|
891
|
-
if (!note) return;
|
|
892
|
-
const cat = replyCtx?.cat;
|
|
893
|
-
if (!cat?.private) { note.hidden = true; note.textContent = ''; return; }
|
|
894
|
-
note.hidden = false;
|
|
895
|
-
note.textContent = `${cat.name} is private. This is written into your own pod for its members to read, `
|
|
896
|
-
+ 'and goes to nobody else. Your followers are not sent it and cannot read it. '
|
|
897
|
-
+ 'Anyone admitted later can read it, and anyone admitted now can copy it.';
|
|
898
|
-
}
|
|
899
|
-
|
|
900
|
-
function showDialog() {
|
|
901
|
-
sayPrivacy();
|
|
902
|
-
reopener = document.activeElement;
|
|
903
|
-
$('reply-dlg').showModal();
|
|
904
|
-
(account() ? $('reply-text') : $('fedi-handle'))?.focus();
|
|
905
|
-
}
|
|
906
|
-
$('reply-dlg').addEventListener('close', () => { reopener?.focus?.(); reopener = null; });
|
|
907
|
-
|
|
908
|
-
// The dialog, armed for what it is about to do.
|
|
909
|
-
function openReply({ inReplyToUrl = null } = {}) {
|
|
910
|
-
movable($('reply-dlg'));
|
|
911
|
-
editing = null;
|
|
912
|
-
if (replyCtx) replyCtx.inReplyToUrl = inReplyToUrl;
|
|
913
|
-
$('reply-title').textContent = replyCtx?.title || 'Reply';
|
|
914
|
-
$('reply-send').textContent = 'Post reply';
|
|
915
|
-
$('reply-err').textContent = '';
|
|
916
|
-
showDialog();
|
|
917
|
-
}
|
|
918
|
-
|
|
919
|
-
let editing = null;
|
|
920
|
-
async function openEdit(id) {
|
|
921
|
-
const p = await read.post(replyCtx.cat.base, id);
|
|
922
|
-
if (!p) { $('reply-err').textContent = 'that post is not readable here'; return; }
|
|
923
|
-
editing = { id, page: p.page || null };
|
|
924
|
-
$('reply-title').textContent = 'Edit your post';
|
|
925
|
-
$('reply-text-label').textContent = 'Your post';
|
|
926
|
-
$('reply-send').textContent = 'Save';
|
|
927
|
-
$('reply-err').textContent = '';
|
|
928
|
-
$('topic-title-row').hidden = true;
|
|
929
|
-
// Back to the words, from the HTML the post is kept as.
|
|
930
|
-
if (p.source) {
|
|
931
|
-
$('reply-text').value = p.source;
|
|
932
|
-
} else {
|
|
933
|
-
// Written before the forum kept the source, or written elsewhere: the
|
|
934
|
-
// words are recovered from the HTML, losing whatever marked them up.
|
|
935
|
-
const d = document.createElement('div');
|
|
936
|
-
d.innerHTML = body(p, replyCtx.cat);
|
|
937
|
-
$('reply-text').value = [...d.querySelectorAll('p')].map(x => x.textContent.trim()).join('\n\n') || d.textContent.trim();
|
|
938
|
-
}
|
|
939
|
-
showDialog();
|
|
940
|
-
}
|
|
941
|
-
|
|
942
|
-
// The address of this post on this site, for pasting anywhere. The thread is
|
|
943
|
-
// what a person wants to open, and the post is named in it.
|
|
944
|
-
async function share(id, btn) {
|
|
945
|
-
const hash = location.hash.startsWith('#/t/') ? location.hash : `#/t/${replyCtx.cat.slug}/${(await topicOf(id)) || ''}`;
|
|
946
|
-
const link = `${location.origin}${location.pathname}${hash}`;
|
|
947
|
-
try { await navigator.clipboard.writeText(link); btn.textContent = 'Copied'; say('Link copied'); }
|
|
948
|
-
catch { window.prompt('Copy this address', link); return; }
|
|
949
|
-
setTimeout(() => { btn.textContent = 'Share'; }, 1500);
|
|
950
|
-
}
|
|
951
|
-
|
|
952
|
-
// Which topic holds a post, when the page is showing a category rather than a
|
|
953
|
-
// thread: the card sits inside the topic's own list item.
|
|
954
|
-
async function topicOf(id) {
|
|
955
|
-
const li = [...document.querySelectorAll('ul.list li')].find(el => el.querySelector(`[data-post="${CSS.escape(id)}"]`));
|
|
956
|
-
const a = li?.querySelector('a[href^="#/t/"]');
|
|
957
|
-
return a ? a.getAttribute('href').split('/').pop() : null;
|
|
958
|
-
}
|
|
959
|
-
|
|
960
|
-
async function report(id) {
|
|
961
|
-
const why = window.prompt('Report this post to the moderators. What is wrong with it?');
|
|
962
|
-
if (why === null) return;
|
|
963
|
-
try {
|
|
964
|
-
const cat = replyCtx.cat;
|
|
965
|
-
const inbox = await pod.podInboxOf(cat.id, { front, handle: cat.slug || null });
|
|
966
|
-
const who = podAcct?.actor || login.account()?.url;
|
|
967
|
-
await pod.report({ actor: who, object: id, category: cat.id, inbox, why });
|
|
968
|
-
alert('Reported. A moderator will see it in the forum\'s queue.');
|
|
969
|
-
} catch (e) { alert(e.message); }
|
|
970
|
-
}
|
|
971
|
-
|
|
972
|
-
async function asksTo(activity, forCat = null) {
|
|
973
|
-
if (!podAcct) throw new Error('moderating from here needs your pod account');
|
|
974
|
-
const cat = forCat || replyCtx?.cat;
|
|
975
|
-
if (!cat) throw new Error('this is not in a category the page knows about — open the topic and try from there');
|
|
976
|
-
// Which step failed, not only that one did. Three requests go out here — ask
|
|
977
|
-
// the Gateway where the forum takes mail, write the request on your own pod,
|
|
978
|
-
// hand it to the forum — and each can fail with the browser's bare "Failed to
|
|
979
|
-
// fetch", which on its own says nothing about which address would not answer.
|
|
980
|
-
// The same reason voteOn says it.
|
|
981
|
-
let step = 'finding where the forum takes mail';
|
|
982
|
-
try {
|
|
983
|
-
const inbox = await pod.podInboxOf(cat.id, { front, handle: cat.slug || null });
|
|
984
|
-
if (!inbox) throw new Error('the forum did not say where to send it');
|
|
985
|
-
// moderate() names its own two requests, so nothing is added over the top.
|
|
986
|
-
step = 'sending the request';
|
|
987
|
-
await pod.moderate({ actor: podAcct.actor, podHome: podAcct.podHome, inbox, activity });
|
|
988
|
-
} catch (e) {
|
|
989
|
-
throw new Error(`${e.message} — while ${step}`);
|
|
990
|
-
}
|
|
991
|
-
alert('Sent to the forum. It takes effect once the forum has checked who asked.');
|
|
992
|
-
}
|
|
993
|
-
|
|
994
|
-
// A post out of its topic: a Delete whose origin is the topic it is leaving.
|
|
995
|
-
async function modRemove(id) {
|
|
996
|
-
if (!confirm('Remove this post from the topic?')) return;
|
|
997
|
-
const topicId = replyCtx.topicId || (replyCtx.cat.base + 'ap/topic/' + (await topicOf(id)));
|
|
998
|
-
try { await asksTo({ type: 'Delete', object: id, origin: topicId }); } catch (e) { alert(e.message); }
|
|
999
|
-
}
|
|
1000
|
-
|
|
1001
|
-
// A topic's name belongs to the topic, and only the forum writes it.
|
|
1002
|
-
async function modRename(topicId) {
|
|
1003
|
-
const now = document.querySelector('.topline h1')?.textContent || '';
|
|
1004
|
-
const name = window.prompt('Name for this topic', now);
|
|
1005
|
-
if (name === null || !name.trim()) return;
|
|
1006
|
-
try { await asksTo({ type: 'Update', object: { id: topicId, name: name.trim() } }); } catch (e) { alert(e.message); }
|
|
1007
|
-
}
|
|
1008
|
-
|
|
1009
|
-
// Pinned topics are the category's featured collection.
|
|
1010
|
-
// Closed to further replies. `closed` is AS2's own word for a collection
|
|
1011
|
-
// that takes no more, so a reader on any server can see it too.
|
|
1012
|
-
// Joining is a Follow to the category and leaving undoes it. A category
|
|
1013
|
-
// carries its members' posts and nobody else's, so this is what makes
|
|
1014
|
-
// posting from here work at all.
|
|
1015
|
-
async function joinOrLeave(categoryId, on) {
|
|
1016
|
-
const cat = cats().find(c => c.id === categoryId);
|
|
1017
|
-
if (!cat) return;
|
|
1018
|
-
if (!podAcct) {
|
|
1019
|
-
alert(account()
|
|
1020
|
-
? 'Joining is sent from your own pod, so it needs a pod account — sign out and sign in with your @you@your-pod handle.'
|
|
1021
|
-
: 'Joining needs an account.');
|
|
1022
|
-
return;
|
|
1023
|
-
}
|
|
1024
|
-
try {
|
|
1025
|
-
const inbox = await pod.podInboxOf(cat.id, { front, handle: cat.slug || null });
|
|
1026
|
-
const ok = on
|
|
1027
|
-
? await pod.join({ actor: podAcct.actor, category: cat.id, inbox })
|
|
1028
|
-
: await pod.leave({ actor: podAcct.actor, category: cat.id, inbox });
|
|
1029
|
-
if (!ok) throw new Error('the forum did not take it');
|
|
1030
|
-
if (on) own().join(cat.id); else own().leave(cat.id);
|
|
1031
|
-
forgetIndex();
|
|
1032
|
-
await showForum();
|
|
1033
|
-
} catch (e) { alert(e.message); }
|
|
1034
|
-
}
|
|
1035
|
-
|
|
1036
|
-
// --- signing in where the reader is, rather than where the form is ---
|
|
1037
|
-
//
|
|
1038
|
-
// Everything below the counts needs an account: voting, joining, saving,
|
|
1039
|
-
// asking to be let into a private category. A reader without one used to see
|
|
1040
|
-
// no button at all for some of these and a bare refusal for others, and the
|
|
1041
|
-
// way in was hidden inside the Reply box. Now the button is there, pressing it
|
|
1042
|
-
// asks who you are, and the thing you pressed happens when you come back.
|
|
1043
|
-
//
|
|
1044
|
-
// Signing in leaves the page — it is somebody else's login — so what you were
|
|
1045
|
-
// doing has to outlive the trip. It goes in sessionStorage beside `bb:return`,
|
|
1046
|
-
// which is how the hash already survives it.
|
|
1047
|
-
const GATED = {
|
|
1048
|
-
'vote-up': 'vote on a post', 'vote-down': 'vote on a post', 'vote-none': 'take back your vote',
|
|
1049
|
-
join: 'join a category', leave: 'leave a category', 'ask-join': 'ask to join a category',
|
|
1050
|
-
save: 'save a post', unsave: 'remove a saved post',
|
|
1051
|
-
};
|
|
1052
|
-
|
|
1053
|
-
function rememberIntent(b) {
|
|
1054
|
-
const d = b.dataset;
|
|
1055
|
-
sessionStorage.setItem('bb:intent', JSON.stringify({
|
|
1056
|
-
// The SAME places the dispatcher reads them from, or the replay acts on a
|
|
1057
|
-
// different post from the one that was pressed: the id is on the enclosing
|
|
1058
|
-
// `data-post`, never on the button.
|
|
1059
|
-
act: d.act, id: b.closest('[data-post]')?.dataset.post || null,
|
|
1060
|
-
cat: d.cat || b.closest('[data-cat]')?.dataset.cat || null,
|
|
1061
|
-
was: d.was || null,
|
|
1062
|
-
}));
|
|
1063
|
-
}
|
|
1064
|
-
|
|
1065
|
-
// Open the sign-in dialog, saying what it is for. `why` is the plain-English
|
|
1066
|
-
// name of the action from GATED, so the reader is told what signing in buys
|
|
1067
|
-
// them rather than being asked for a handle out of nowhere.
|
|
1068
|
-
function askToSignIn(why) {
|
|
1069
|
-
$('signin-why').textContent = why ? `Sign in to ${why}.` : '';
|
|
1070
|
-
$('signin-note').textContent = '';
|
|
1071
|
-
$('signin-dlg').showModal();
|
|
1072
|
-
$('signin-handle').focus();
|
|
1073
|
-
}
|
|
1074
|
-
|
|
1075
|
-
// Back from the login with something to finish. Runs the same handler the
|
|
1076
|
-
// click would have run, so there is one path through each action and not two.
|
|
1077
|
-
async function replayIntent() {
|
|
1078
|
-
let want = null;
|
|
1079
|
-
try { want = JSON.parse(sessionStorage.getItem('bb:intent') || 'null'); } catch { /* unreadable */ }
|
|
1080
|
-
sessionStorage.removeItem('bb:intent');
|
|
1081
|
-
if (!want || !account()) return;
|
|
1082
|
-
if (String(want.act).startsWith('vote-')) return voteOn(want.id, want.act.slice(5), want.was || 'none');
|
|
1083
|
-
if (want.act === 'join' || want.act === 'leave') return joinOrLeave(want.cat, want.act === 'join');
|
|
1084
|
-
if (want.act === 'ask-join') return askToJoin(want.cat);
|
|
1085
|
-
if (want.act === 'save' || want.act === 'unsave') return saveOrNot(want.id, want.act === 'save');
|
|
1086
|
-
}
|
|
1087
|
-
|
|
1088
|
-
// A vote goes to the category as a Like or a Dislike, and the Undo of
|
|
1089
|
-
// whichever was cast takes it back. The forum counts them; this browser only
|
|
1090
|
-
// remembers which way this reader went, so the buttons can say so.
|
|
1091
|
-
async function voteOn(postId, way, was) {
|
|
1092
|
-
// A vote is signed by the pod that casts it, so a Fediverse-only sign-in
|
|
1093
|
-
// cannot cast one. Said plainly: the reader has just signed in and is being
|
|
1094
|
-
// refused, and "needs your pod account" on its own does not say what to do.
|
|
1095
|
-
if (!podAcct) {
|
|
1096
|
-
alert(account()
|
|
1097
|
-
? 'A vote is sent from your own pod, so it needs a pod account — sign out and sign in with your @you@your-pod handle.'
|
|
1098
|
-
: 'Voting needs an account.');
|
|
1099
|
-
return;
|
|
1100
|
-
}
|
|
1101
|
-
const cat = replyCtx?.cat || cats().find(c => c.slug === feedFilter) || cats()[0];
|
|
1102
|
-
if (!cat) return;
|
|
1103
|
-
let step = 'finding where the forum takes mail';
|
|
1104
|
-
try {
|
|
1105
|
-
const inbox = await pod.podInboxOf(cat.id, { front, handle: cat.slug || null });
|
|
1106
|
-
if (!inbox) throw new Error('the forum did not say where to send it');
|
|
1107
|
-
step = `sending the vote to ${new URL(inbox).host}`;
|
|
1108
|
-
await pod.vote({ actor: podAcct.actor, post: postId, category: cat.id, inbox, way, was });
|
|
1109
|
-
own().vote(postId, way);
|
|
1110
|
-
forgetIndex();
|
|
1111
|
-
paintVote(postId, way, was);
|
|
1112
|
-
say(way === 'none' ? 'Vote taken back.' : 'Voted. The count follows once the forum has taken it.');
|
|
1113
|
-
} catch (e) {
|
|
1114
|
-
// Which step failed, not only that one did: "failed to fetch" on its own
|
|
1115
|
-
// says nothing about which address would not answer.
|
|
1116
|
-
alert(`${e.message} — while ${step}`);
|
|
1117
|
-
}
|
|
1118
|
-
}
|
|
1119
|
-
|
|
1120
|
-
// A post on somebody's timeline: their inbox is asked for, the post is written
|
|
1121
|
-
// in the sender's own public container, and handed over. Each way it can fail
|
|
1122
|
-
// says which address would not answer, since a bare "failed to fetch" names
|
|
1123
|
-
// none of them.
|
|
1124
|
-
async function postToTimeline(to, handle) {
|
|
1125
|
-
const box = $('dm-text');
|
|
1126
|
-
const err = $('dm-err');
|
|
1127
|
-
const text = box?.value.trim();
|
|
1128
|
-
if (!err) return;
|
|
1129
|
-
if (!text) { err.className = 'err'; err.textContent = 'Write something first.'; return; }
|
|
1130
|
-
if (!podAcct) { err.className = 'err'; err.textContent = 'Posting to someone is done from your own pod account.'; return; }
|
|
1131
|
-
err.className = '';
|
|
1132
|
-
err.textContent = 'Posting…';
|
|
1133
|
-
try {
|
|
1134
|
-
// Their handle, for the mention the post carries. Nothing else about them
|
|
1135
|
-
// is needed: the sender's own agent works out where it goes and signs it.
|
|
1136
|
-
const card = await read.actorCard(to).catch(() => null);
|
|
1137
|
-
await pod.postTo({
|
|
1138
|
-
actor: podAcct.actor, podHome: podAcct.podHome, handle: podAcct.handle,
|
|
1139
|
-
to, toHandle: card?.handle || handle || '', front, text,
|
|
1140
|
-
});
|
|
1141
|
-
box.value = '';
|
|
1142
|
-
err.className = 'said';
|
|
1143
|
-
err.textContent = 'Handed to your own account. It goes out signed when your agent next reads its inbox.';
|
|
1144
|
-
say('Posted.');
|
|
1145
|
-
} catch (e) {
|
|
1146
|
-
err.className = 'err';
|
|
1147
|
-
err.textContent = e.message;
|
|
1148
|
-
}
|
|
1149
|
-
}
|
|
1150
|
-
|
|
1151
|
-
// The reader's own vote, on the buttons they just pressed. The forum's count
|
|
1152
|
-
// is the truth and follows when it has taken the vote; until then the page
|
|
1153
|
-
// showed the row exactly as it was, so a vote looked like nothing happening.
|
|
1154
|
-
function paintVote(postId, way, was) {
|
|
1155
|
-
const acts = document.querySelector(`.acts[data-post="${CSS.escape(postId)}"]`);
|
|
1156
|
-
const [upBtn, downBtn] = acts ? acts.querySelectorAll('button[data-act^="vote-"]') : [];
|
|
1157
|
-
if (!upBtn || !downBtn) return;
|
|
1158
|
-
const count = (b) => Number(String(b.textContent).replace(/[^0-9]/gu, '')) || 0;
|
|
1159
|
-
let up = count(upBtn);
|
|
1160
|
-
let down = count(downBtn);
|
|
1161
|
-
if (was === 'up') up -= 1;
|
|
1162
|
-
if (was === 'down') down -= 1;
|
|
1163
|
-
if (way === 'up') up += 1;
|
|
1164
|
-
if (way === 'down') down += 1;
|
|
1165
|
-
const set = (b, its, mark, n, label) => {
|
|
1166
|
-
b.dataset.act = `vote-${way === its ? 'none' : its}`;
|
|
1167
|
-
b.dataset.was = way;
|
|
1168
|
-
b.textContent = `${mark} ${Math.max(0, n)}`;
|
|
1169
|
-
b.classList.toggle('voted', way === its);
|
|
1170
|
-
if (way === its) b.setAttribute('aria-pressed', 'true'); else b.removeAttribute('aria-pressed');
|
|
1171
|
-
b.setAttribute('aria-label', way === its ? `Take back your vote ${label}` : `Vote ${label} this post`);
|
|
1172
|
-
};
|
|
1173
|
-
set(upBtn, 'up', '\u25B2', up, 'for');
|
|
1174
|
-
set(downBtn, 'down', '\u25BC', down, 'against');
|
|
1175
|
-
}
|
|
1176
|
-
|
|
1177
|
-
// Asking to be let into a private category: the same Follow that joining
|
|
1178
|
-
// sends, which a category approving its members holds for a moderator.
|
|
1179
|
-
async function askToJoin(categoryId) {
|
|
1180
|
-
const cat = cats().find(c => c.id === categoryId);
|
|
1181
|
-
if (!cat || !podAcct) return;
|
|
1182
|
-
try {
|
|
1183
|
-
const inbox = await pod.podInboxOf(cat.id, { front, handle: cat.slug || null });
|
|
1184
|
-
await pod.join({ actor: podAcct.actor, category: cat.id, inbox });
|
|
1185
|
-
say('Asked. A moderator sees it in the forum\'s queue.');
|
|
1186
|
-
alert('Your request is with the moderators.');
|
|
1187
|
-
} catch (e) { alert(e.message); }
|
|
1188
|
-
}
|
|
1189
|
-
|
|
1190
|
-
// Admitting somebody who asked: their follow is accepted, and in a private
|
|
1191
|
-
// category their pod is granted the reading that membership means.
|
|
1192
|
-
async function modAdmit(who, slug) {
|
|
1193
|
-
forgetIndex(); // whatever this does, the index behind it is now out of date
|
|
1194
|
-
const cat = cats().find(c => c.slug === slug) || replyCtx?.cat;
|
|
1195
|
-
if (!cat || !who) return;
|
|
1196
|
-
try {
|
|
1197
|
-
await asksTo({ type: 'Join', object: who }, cat);
|
|
1198
|
-
await asksTo({ type: 'Add', object: who, target: cat.base + 'ap/members' }, cat);
|
|
1199
|
-
say('Admitted. It takes effect once the forum has checked who asked.');
|
|
1200
|
-
} catch (e) { alert(e.message); }
|
|
1201
|
-
}
|
|
1202
|
-
|
|
1203
|
-
// A bookmark is this reader's own note to come back to, in this browser.
|
|
1204
|
-
function saveOrNot(postId, on) {
|
|
1205
|
-
const m = own();
|
|
1206
|
-
if (on) {
|
|
1207
|
-
const card = document.querySelector(`[data-post="${CSS.escape(postId)}"]`)?.closest('article');
|
|
1208
|
-
m.save({ id: postId, at: new Date().toISOString(), topic: replyCtx?.topicId || null,
|
|
1209
|
-
cat: replyCtx?.cat?.slug || null, text: (card?.querySelector('.body')?.textContent || '').trim().slice(0, 140) });
|
|
1210
|
-
} else m.unsave(postId);
|
|
1211
|
-
route();
|
|
1212
|
-
}
|
|
1213
|
-
|
|
1214
|
-
// A held post: let through, or turned away. Both are asks like any other,
|
|
1215
|
-
// published at the moderator's own pod and checked there.
|
|
1216
|
-
async function modHeld(postId, slug, through) {
|
|
1217
|
-
forgetIndex(); // whatever this does, the index behind it is now out of date
|
|
1218
|
-
const cat = cats().find(c => c.slug === slug) || replyCtx?.cat;
|
|
1219
|
-
if (!cat) { alert('which category is that in?'); return; }
|
|
1220
|
-
try {
|
|
1221
|
-
await asksTo({ type: through ? 'Accept' : 'Reject', object: postId }, cat);
|
|
1222
|
-
say(through ? 'Let through. It is carried once the forum has checked who asked.' : 'Turned away.');
|
|
1223
|
-
} catch (e) { alert(e.message); }
|
|
1224
|
-
}
|
|
1225
|
-
|
|
1226
|
-
// A reported post taken out of its topic, from the queue rather than from
|
|
1227
|
-
// the thread: the topic it is in is the one the forum has it in.
|
|
1228
|
-
async function modRemoveFromQueue(postId, slug) {
|
|
1229
|
-
forgetIndex(); // whatever this does, the index behind it is now out of date
|
|
1230
|
-
const cat = cats().find(c => c.slug === slug);
|
|
1231
|
-
if (!cat || !postId) return;
|
|
1232
|
-
if (!confirm('Remove this post from its topic?')) return;
|
|
1233
|
-
try {
|
|
1234
|
-
const copy = await read.post(cat.base, postId);
|
|
1235
|
-
if (!copy?.topic) throw new Error('the forum does not say which topic holds it');
|
|
1236
|
-
await asksTo({ type: 'Delete', object: postId, origin: copy.topic }, cat);
|
|
1237
|
-
say('Asked. It takes effect once the forum has checked who asked.');
|
|
1238
|
-
} catch (e) { alert(e.message); }
|
|
1239
|
-
}
|
|
1240
|
-
|
|
1241
|
-
// Banning: the category blocks them, which is the whole of what a group can
|
|
1242
|
-
// enforce — it stops carrying them and ends the following.
|
|
1243
|
-
async function modBan(who, slug) {
|
|
1244
|
-
const cat = cats().find(c => c.slug === slug) || replyCtx?.cat;
|
|
1245
|
-
if (!cat || !who) return;
|
|
1246
|
-
if (!confirm(`Ban ${authorLabel(who)} from ${cat.name}? Their posts stop being carried.`)) return;
|
|
1247
|
-
try {
|
|
1248
|
-
await asksTo({ type: 'Block', object: who }, cat);
|
|
1249
|
-
say('Asked. It takes effect once the forum has checked who asked.');
|
|
1250
|
-
} catch (e) { alert(e.message); }
|
|
1251
|
-
}
|
|
1252
|
-
|
|
1253
|
-
// The line naming who moderates, from actor ids: each one's own handle where
|
|
1254
|
-
// something says it, and the address it was read from otherwise.
|
|
1255
|
-
async function paintMods(ids) {
|
|
1256
|
-
if (!ids.length) return;
|
|
1257
|
-
const cat = cats()[0];
|
|
1258
|
-
const named = await Promise.all(ids.map(async (id) => {
|
|
1259
|
-
const card = cat ? await authorOnce(cat.base, id).catch(() => null) : null;
|
|
1260
|
-
const handle = card?.handle || await modLabel(id);
|
|
1261
|
-
return `<a href="#/who/${encodeURIComponent(id)}">${esc(handle)}</a>`;
|
|
1262
|
-
}));
|
|
1263
|
-
$('mods-who').innerHTML = `<span class="lead">moderators:</span> ${named.join(', ')}`;
|
|
1264
|
-
}
|
|
1265
|
-
|
|
1266
|
-
// What to call a moderator: the card the forum kept of them, then the actor's
|
|
1267
|
-
// own word for it, and a name read off the address only when neither answers.
|
|
1268
|
-
async function modLabel(actorId) {
|
|
1269
|
-
const cat = cats()[0];
|
|
1270
|
-
const card = cat ? await authorOnce(cat.base, actorId) : null;
|
|
1271
|
-
if (card?.handle) return card.handle;
|
|
1272
|
-
return (await read.actorHandle(actorId).catch(() => null)) || authorLabel(actorId);
|
|
1273
|
-
}
|
|
1274
|
-
|
|
1275
|
-
// What a moderator types is a handle; what the wire names is the actor behind
|
|
1276
|
-
// it. A server that will not say who that is stops the ask here, where the
|
|
1277
|
-
// person who typed it is looking, rather than on the forum an hour later.
|
|
1278
|
-
async function actorFor(typed) {
|
|
1279
|
-
if (!typed) return null;
|
|
1280
|
-
try { return await actorOfHandle(typed); } catch (e) { settingsSaid(e.message, true); return null; }
|
|
1281
|
-
}
|
|
1282
|
-
|
|
1283
|
-
// Every settings change is an ordinary activity naming what it changes: a
|
|
1284
|
-
// Create of a Group for a new category, an Update for a name, an Add or a
|
|
1285
|
-
// Remove for who moderates and who may read.
|
|
1286
|
-
// What came of a settings change, where the reader can see it: the line that
|
|
1287
|
-
// reads aloud is invisible on the screen, so a change that worked looked
|
|
1288
|
-
// exactly like a button that did nothing.
|
|
1289
|
-
function settingsSaid(text, bad = false) {
|
|
1290
|
-
say(text);
|
|
1291
|
-
if ($('panel').open) {
|
|
1292
|
-
const box = $('panel-err');
|
|
1293
|
-
box.textContent = text;
|
|
1294
|
-
box.className = bad ? 'err' : 'said';
|
|
1295
|
-
return;
|
|
1296
|
-
}
|
|
1297
|
-
alert(text);
|
|
1298
|
-
}
|
|
1299
|
-
|
|
1300
|
-
async function settingsAsk(...activities) {
|
|
1301
|
-
try {
|
|
1302
|
-
const inbox = await pod.podInboxOf(cats()[0]?.id || forum.id, { front, handle: cats()[0]?.slug || forum.handle });
|
|
1303
|
-
for (const activity of activities) {
|
|
1304
|
-
await pod.moderate({ actor: podAcct.actor, podHome: podAcct.podHome, inbox, activity });
|
|
1305
|
-
}
|
|
1306
|
-
settingsSaid('Sent. It takes effect once the forum has checked who asked.');
|
|
1307
|
-
} catch (e) { settingsSaid(e.message, true); }
|
|
1308
|
-
}
|
|
1309
|
-
|
|
1310
|
-
async function onSettings(b) {
|
|
1311
|
-
const act = b.dataset.act;
|
|
1312
|
-
const catId = b.dataset.cat;
|
|
1313
|
-
const val = (sel) => document.querySelector(sel)?.value.trim() || '';
|
|
1314
|
-
if (act === 'set-forum-name') {
|
|
1315
|
-
const name = val('#set-forum-name');
|
|
1316
|
-
if (name) await settingsAsk({ type: 'Update', object: { id: forum.id, name } });
|
|
1317
|
-
} else if (act === 'set-cat-name') {
|
|
1318
|
-
const name = document.querySelector(`.cat-name[data-cat="${CSS.escape(catId)}"]`)?.value.trim();
|
|
1319
|
-
if (name) await settingsAsk({ type: 'Update', object: { id: catId, name } });
|
|
1320
|
-
} else if (act === 'add-cat') {
|
|
1321
|
-
const slug = val('#set-new-slug').toLowerCase();
|
|
1322
|
-
const name = val('#set-new-name') || slug;
|
|
1323
|
-
if (!/^[a-z0-9][a-z0-9-]{0,62}$/u.test(slug)) { alert('a Fediverse username is lower-case letters, digits and hyphens'); return; }
|
|
1324
|
-
const priv = document.querySelector('input[name="set-new-private"]:checked')?.value === 'private';
|
|
1325
|
-
await settingsAsk({ type: 'Create', target: forum.id,
|
|
1326
|
-
object: { type: 'Group', preferredUsername: slug, name, ...(priv ? { manuallyApprovesFollowers: true } : {}) } });
|
|
1327
|
-
} else if (act === 'add-member' || act === 'drop-member') {
|
|
1328
|
-
const webid = document.querySelector(`.cat-member[data-cat="${CSS.escape(catId)}"]`)?.value.trim();
|
|
1329
|
-
const cat = cats().find(c => c.id === catId);
|
|
1330
|
-
if (webid && cat) await settingsAsk({ type: act === 'add-member' ? 'Add' : 'Remove', object: webid, target: cat.base + 'ap/members' });
|
|
1331
|
-
} else if (act === 'add-mod' || act === 'drop-mod') {
|
|
1332
|
-
const typed = val('#set-mod');
|
|
1333
|
-
if (!typed) { settingsSaid('Type a handle first, like @mei@their.server.', true); return; }
|
|
1334
|
-
const who = await actorFor(typed);
|
|
1335
|
-
const cat = cats()[0];
|
|
1336
|
-
if (!who) return; // actorFor has already said why
|
|
1337
|
-
if (!cat) { settingsSaid('This forum has no category to moderate yet.', true); return; }
|
|
1338
|
-
// One handle says two things: who may ask for moderation, and whose pod
|
|
1339
|
-
// the rule on the queue names. The forum finds the pod behind the actor.
|
|
1340
|
-
const type = act === 'add-mod' ? 'Add' : 'Remove';
|
|
1341
|
-
await settingsAsk({ type, object: who, target: cat.base + 'ap/moderators' },
|
|
1342
|
-
{ type, object: who, target: `${base}mod/` });
|
|
1343
|
-
}
|
|
1344
|
-
}
|
|
1345
|
-
|
|
1346
|
-
async function modLock(topicId, on) {
|
|
1347
|
-
// AS2 types `closed` as a TIME, so closing carries the moment it closed and
|
|
1348
|
-
// reopening REMOVES it — which ActivityPub spells as `null` (§6.3.1, partial
|
|
1349
|
-
// updates). It used to send `closed: false`, which is neither a time nor a
|
|
1350
|
-
// removal: it arrived as the text "false" typed as a date, and `!!"false"` is
|
|
1351
|
-
// true, so every reopen closed the topic again.
|
|
1352
|
-
//
|
|
1353
|
-
// The type is named because the reading is built from a graph, and a node
|
|
1354
|
-
// with nothing on it but an id collapses to a bare id — taking the removal
|
|
1355
|
-
// with it. A topic IS an OrderedCollection, which is what the forum publishes.
|
|
1356
|
-
try {
|
|
1357
|
-
await asksTo({ type: 'Update',
|
|
1358
|
-
object: { id: topicId, type: 'OrderedCollection', closed: on ? new Date().toISOString() : null } });
|
|
1359
|
-
} catch (e) { alert(e.message); }
|
|
1360
|
-
}
|
|
1361
|
-
|
|
1362
|
-
async function modPin(topicId, on, wholeSite = false) {
|
|
1363
|
-
// Which featured collection it goes into says how far the pin reaches: the
|
|
1364
|
-
// category's, or the forum's own.
|
|
1365
|
-
const target = wholeSite ? base + 'ap/featured' : replyCtx.cat.base + 'ap/featured';
|
|
1366
|
-
try { await asksTo({ type: on ? 'Add' : 'Remove', object: topicId, target }); } catch (e) { alert(e.message); }
|
|
1367
|
-
}
|
|
1368
|
-
|
|
1369
|
-
// A topic removed from the category is a topic gone (FEP-f15d).
|
|
1370
|
-
async function modDropTopic(topicId) {
|
|
1371
|
-
if (!confirm('Delete this topic and every post in it?')) return;
|
|
1372
|
-
try { await asksTo({ type: 'Remove', object: topicId, target: replyCtx.cat.id }); } catch (e) { alert(e.message); }
|
|
1373
|
-
}
|
|
1374
|
-
|
|
1375
|
-
async function removePost(id) {
|
|
1376
|
-
if (!confirm('Delete this post? Everywhere it has reached is told to remove it.')) return;
|
|
1377
|
-
try {
|
|
1378
|
-
const cat = replyCtx.cat;
|
|
1379
|
-
if (podAcct) {
|
|
1380
|
-
const inbox = await pod.podInboxOf(cat.id, { front, handle: cat.slug || null });
|
|
1381
|
-
await pod.remove({ actor: podAcct.actor, podHome: podAcct.podHome, id, category: cat.id,
|
|
1382
|
-
categoryBase: cat.base, isPrivate: !!cat.private, inbox });
|
|
1383
|
-
} else {
|
|
1384
|
-
const p = await read.post(cat.base, id);
|
|
1385
|
-
await login.remove({ url: p?.page || id });
|
|
1386
|
-
}
|
|
1387
|
-
forgetIndex();
|
|
1388
|
-
await route();
|
|
1389
|
-
} catch (e) { alert(e.message); }
|
|
1390
|
-
}
|
|
1391
|
-
$('reply-cancel').addEventListener('click', () => $('reply-dlg').close());
|
|
1392
|
-
// Open or private is the forum's setting, changed here and nowhere else:
|
|
1393
|
-
// nobody joining, and nobody being named a member, ever moves a category
|
|
1394
|
-
// between the two.
|
|
1395
|
-
$('main').addEventListener('change', async (e) => {
|
|
1396
|
-
const r = e.target;
|
|
1397
|
-
if (r?.dataset?.act !== 'set-cat-private' || !r.checked) return;
|
|
1398
|
-
const cat = cats().find(c => c.id === r.dataset.cat);
|
|
1399
|
-
if (!cat) return;
|
|
1400
|
-
const priv = r.value === 'private';
|
|
1401
|
-
if (priv === !!cat.private) return;
|
|
1402
|
-
await settingsAsk({ type: 'Update', object: { id: cat.id, manuallyApprovesFollowers: priv } });
|
|
1403
|
-
cat.private = priv;
|
|
1404
|
-
});
|
|
1405
|
-
|
|
1406
|
-
let findTimer = null;
|
|
1407
|
-
function onFind(e) {
|
|
1408
|
-
if (e.target?.id !== 'find') return;
|
|
1409
|
-
finding = e.target.value;
|
|
1410
|
-
clearTimeout(findTimer);
|
|
1411
|
-
findTimer = setTimeout(async () => {
|
|
1412
|
-
const where = e.target.selectionStart;
|
|
1413
|
-
await showForum();
|
|
1414
|
-
const box = document.getElementById('find');
|
|
1415
|
-
if (box) { box.focus(); box.setSelectionRange(where, where); }
|
|
1416
|
-
}, 250);
|
|
1417
|
-
}
|
|
1418
|
-
$('main').addEventListener('input', onFind);
|
|
1419
|
-
|
|
1420
|
-
// The moderators row is above <main>, so the page's own handlers never see the
|
|
1421
|
-
// controls at its end: they are the same acts, listened for here.
|
|
1422
|
-
$('mods-line').addEventListener('click', (e) => {
|
|
1423
|
-
const b = e.target.closest('button[data-act]');
|
|
1424
|
-
if (!b) return;
|
|
1425
|
-
if (b.dataset.act === 'search') {
|
|
1426
|
-
const box = $('find');
|
|
1427
|
-
if (!box) return;
|
|
1428
|
-
b.hidden = true;
|
|
1429
|
-
box.hidden = false;
|
|
1430
|
-
box.focus();
|
|
1431
|
-
return;
|
|
1432
|
-
}
|
|
1433
|
-
if (b.dataset.act === 'newtopic') {
|
|
1434
|
-
const cat = catBySlug(b.dataset.slug);
|
|
1435
|
-
if (!cat) return;
|
|
1436
|
-
replyBox({ cat, title: 'Start a topic', inReplyToUrl: null, topicId: null });
|
|
1437
|
-
$('reply-row').hidden = true;
|
|
1438
|
-
openReply({ inReplyToUrl: null });
|
|
1439
|
-
}
|
|
1440
|
-
});
|
|
1441
|
-
$('mods-line').addEventListener('input', onFind);
|
|
1442
|
-
$('mods-line').addEventListener('focusout', onFindOut);
|
|
1443
|
-
|
|
1444
|
-
// Nothing typed and the reader has gone elsewhere: the row takes its width
|
|
1445
|
-
// back. Something typed stays open, so what is being searched for is visible.
|
|
1446
|
-
function onFindOut(e) {
|
|
1447
|
-
if (e.target?.id !== 'find' || e.target.value.trim()) return;
|
|
1448
|
-
const button = document.querySelector('button[data-act="search"]');
|
|
1449
|
-
if (!button) return;
|
|
1450
|
-
e.target.hidden = true;
|
|
1451
|
-
button.hidden = false;
|
|
1452
|
-
}
|
|
1453
|
-
$('main').addEventListener('focusout', onFindOut);
|
|
1454
|
-
|
|
1455
|
-
$('reply-image').addEventListener('change', async (e) => {
|
|
1456
|
-
const file = e.target.files?.[0];
|
|
1457
|
-
const said = $('reply-image-said');
|
|
1458
|
-
if (!file) return;
|
|
1459
|
-
if (!podAcct) { said.textContent = 'adding an image needs your pod account'; e.target.value = ''; return; }
|
|
1460
|
-
said.textContent = 'putting it in your pod…';
|
|
1461
|
-
try {
|
|
1462
|
-
const url = await pod.upload({ actor: podAcct.actor, podHome: podAcct.podHome, file });
|
|
1463
|
-
const box = $('reply-text');
|
|
1464
|
-
const alt = file.name.replace(/\.[^.]+$/u, '').replace(/[-_]+/gu, ' ');
|
|
1465
|
-
box.value = `${box.value}${box.value && !box.value.endsWith('\n') ? '\n\n' : ''}\n`;
|
|
1466
|
-
said.textContent = 'added';
|
|
1467
|
-
box.focus();
|
|
1468
|
-
} catch (err) { said.textContent = err.message; }
|
|
1469
|
-
e.target.value = '';
|
|
1470
|
-
});
|
|
1471
|
-
|
|
1472
|
-
$('fedi-login').addEventListener('click', async () => {
|
|
1473
|
-
$('reply-err').textContent = '';
|
|
1474
|
-
$('fedi-login').disabled = true;
|
|
1475
|
-
try { await signIn($('fedi-handle').value); } catch (e) { $('reply-err').textContent = e.message; }
|
|
1476
|
-
$('fedi-login').disabled = false;
|
|
1477
|
-
});
|
|
1478
|
-
$('fedi-handle').addEventListener('keydown', (e) => { if (e.key === 'Enter') $('fedi-login').click(); });
|
|
1479
|
-
|
|
1480
|
-
// The stand-alone sign-in. Same signIn() as the Reply box's, reporting into
|
|
1481
|
-
// this dialog's own line rather than the other one's.
|
|
1482
|
-
$('signin-go').addEventListener('click', async () => {
|
|
1483
|
-
$('signin-note').textContent = '';
|
|
1484
|
-
$('signin-go').disabled = true;
|
|
1485
|
-
try { await signIn($('signin-handle').value, 'signin-note'); } catch (e) { $('signin-note').textContent = e.message; }
|
|
1486
|
-
$('signin-go').disabled = false;
|
|
1487
|
-
});
|
|
1488
|
-
$('signin-handle').addEventListener('keydown', (e) => { if (e.key === 'Enter') $('signin-go').click(); });
|
|
1489
|
-
// Cancelling drops what was remembered: the reader said no, and it should not
|
|
1490
|
-
// happen to them the next time they sign in for something else.
|
|
1491
|
-
$('signin-cancel').addEventListener('click', () => { sessionStorage.removeItem('bb:intent'); $('signin-dlg').close(); });
|
|
1492
|
-
$('signin-dlg').addEventListener('cancel', () => sessionStorage.removeItem('bb:intent'));
|
|
1493
|
-
async function signOutOfEverything() {
|
|
1494
|
-
if (podAcct) { await pod.signOut(); podAcct = null; localStorage.removeItem('bb:acct'); sessionStorage.removeItem('bb:pod'); } else login.signOut();
|
|
1495
|
-
if (replyCtx) replyBox(replyCtx);
|
|
1496
|
-
paintWho();
|
|
1497
|
-
}
|
|
1498
|
-
$('masto-logout').addEventListener('click', signOutOfEverything);
|
|
1499
|
-
|
|
1500
|
-
$('who-act').addEventListener('click', async () => {
|
|
1501
|
-
if (!account()) return askToSignIn('take part, and to moderate if you are a moderator');
|
|
1502
|
-
await signOutOfEverything();
|
|
1503
|
-
say('Signed out.');
|
|
1504
|
-
route();
|
|
1505
|
-
});
|
|
1506
|
-
|
|
1507
|
-
async function saveEdit({ body }) {
|
|
1508
|
-
const cat = replyCtx.cat;
|
|
1509
|
-
if (podAcct) {
|
|
1510
|
-
const inbox = await pod.podInboxOf(cat.id, { front, handle: cat.slug || null });
|
|
1511
|
-
return pod.edit({ actor: podAcct.actor, podHome: podAcct.podHome, id: editing.id, text: body, category: cat.id,
|
|
1512
|
-
categoryBase: cat.base, isPrivate: !!cat.private, inbox });
|
|
1513
|
-
}
|
|
1514
|
-
return login.edit({ url: editing.page || editing.id, text: body });
|
|
1515
|
-
}
|
|
1516
|
-
|
|
1517
|
-
// A post written into the reader's own pod and announced to the forum. The
|
|
1518
|
-
// category is named on its own pod, which is where a delivery is taken.
|
|
1519
|
-
async function postFromPod({ topic, body }) {
|
|
1520
|
-
const cat = replyCtx.cat;
|
|
1521
|
-
const inbox = await pod.podInboxOf(cat.id, { front, handle: cat.slug || null });
|
|
1522
|
-
if (!inbox) throw new Error('the forum did not say where to send it');
|
|
1523
|
-
// Posting in an open category joins it on the way past, which is what makes
|
|
1524
|
-
// the post carry. A private one is joined by asking and being admitted, so
|
|
1525
|
-
// the post is refused here instead, and says so.
|
|
1526
|
-
if (!cat.private) await pod.join({ actor: podAcct.actor, category: cat.id, inbox });
|
|
1527
|
-
return pod.post({
|
|
1528
|
-
actor: podAcct.actor, podHome: podAcct.podHome, category: cat.id, categoryBase: cat.base,
|
|
1529
|
-
categoryHandle: handleOf(cat), isPrivate: !!cat.private, inbox,
|
|
1530
|
-
topic, text: body, inReplyTo: replyCtx.inReplyToUrl,
|
|
1531
|
-
context: replyCtx.topicId ? replyCtx.topicId : null,
|
|
1532
|
-
});
|
|
1533
|
-
}
|
|
1534
|
-
$('reply-send').addEventListener('click', async () => {
|
|
1535
|
-
if (!replyCtx) return;
|
|
1536
|
-
const body = $('reply-text').value.trim();
|
|
1537
|
-
if (!body) return;
|
|
1538
|
-
// A Mastodon post has no topic name to give: its first line stands in for
|
|
1539
|
-
// one, which is all that server can say. A pod post names the topic on the
|
|
1540
|
-
// activity that opens it, and its words are only its words.
|
|
1541
|
-
// The topic's name, asked for only when a topic is being opened; the
|
|
1542
|
-
// post's own title, which any post may have and any edit may change.
|
|
1543
|
-
const topic = !editing && !replyCtx.topicId ? $('topic-title').value.trim() : '';
|
|
1544
|
-
|
|
1545
|
-
const text = topic ? `${topic}\n\n${body}` : body;
|
|
1546
|
-
$('reply-err').textContent = '';
|
|
1547
|
-
$('reply-send').disabled = true;
|
|
1548
|
-
try {
|
|
1549
|
-
const made = editing
|
|
1550
|
-
? await saveEdit({ body })
|
|
1551
|
-
: podAcct
|
|
1552
|
-
? await postFromPod({ topic, body })
|
|
1553
|
-
: await login.post({ text, mention: handleOf(replyCtx.cat), inReplyToUrl: replyCtx.inReplyToUrl });
|
|
1554
|
-
const acct = account();
|
|
1555
|
-
if (!editing && replyCtx.topicId) remember(replyCtx.topicId, { id: made.uri || made.url, author: acct.url || acct.handle, text, at: new Date().toISOString() });
|
|
1556
|
-
$('reply-text').value = '';
|
|
1557
|
-
$('topic-title').value = '';
|
|
1558
|
-
$('reply-dlg').close();
|
|
1559
|
-
forgetIndex();
|
|
1560
|
-
await route();
|
|
1561
|
-
} catch (e) { $('reply-err').textContent = e.message; }
|
|
1562
|
-
$('reply-send').disabled = false;
|
|
1563
|
-
});
|
|
1564
|
-
|
|
1565
|
-
// Back from the reader's server with a code: finish the sign-in, then clean
|
|
1566
|
-
// the address so a reload does not replay it.
|
|
1567
|
-
(async () => {
|
|
1568
|
-
// Back from a pod's sign-in: the session is this browser's, and the handle
|
|
1569
|
-
// it belongs to was put aside before leaving.
|
|
1570
|
-
// A reader who signed in stays signed in: the pod session lives in this
|
|
1571
|
-
// browser, and the handle it belongs to is kept beside it.
|
|
1572
|
-
const kept = localStorage.getItem('bb:acct');
|
|
1573
|
-
if (kept && !sessionStorage.getItem('bb:pod')) {
|
|
1574
|
-
try {
|
|
1575
|
-
const s = await pod.session();
|
|
1576
|
-
if (s) { podAcct = { ...JSON.parse(kept), webId: s.webId }; read = reader({ session: s }); }
|
|
1577
|
-
else localStorage.removeItem('bb:acct');
|
|
1578
|
-
} catch { localStorage.removeItem('bb:acct'); }
|
|
1579
|
-
}
|
|
1580
|
-
const waiting = sessionStorage.getItem('bb:pod');
|
|
1581
|
-
if (waiting) {
|
|
1582
|
-
try {
|
|
1583
|
-
const who = JSON.parse(waiting);
|
|
1584
|
-
const s = params.get('code') ? await pod.complete(location.href) : await pod.session();
|
|
1585
|
-
if (s) {
|
|
1586
|
-
podAcct = { ...who, webId: s.webId };
|
|
1587
|
-
read = reader({ session: s });
|
|
1588
|
-
try { localStorage.setItem('bb:acct', JSON.stringify(who)); } catch { /* blocked storage */ }
|
|
1589
|
-
sessionStorage.removeItem('bb:pod');
|
|
1590
|
-
params.delete('code'); params.delete('state'); params.delete('iss');
|
|
1591
|
-
const q = String(params);
|
|
1592
|
-
const back = sessionStorage.getItem('bb:return') || '';
|
|
1593
|
-
sessionStorage.removeItem('bb:return');
|
|
1594
|
-
history.replaceState(null, '', `${location.pathname}${q ? '?' + q : ''}${back}`);
|
|
1595
|
-
}
|
|
1596
|
-
} catch (e) { $('reply-err').textContent = e.message; }
|
|
1597
|
-
}
|
|
1598
|
-
const code = params.get('code');
|
|
1599
|
-
const state = params.get('state');
|
|
1600
|
-
if (code && state) {
|
|
1601
|
-
try {
|
|
1602
|
-
await login.complete({ state, code });
|
|
1603
|
-
params.delete('code'); params.delete('state');
|
|
1604
|
-
const back = sessionStorage.getItem('bb:return') || '';
|
|
1605
|
-
sessionStorage.removeItem('bb:return');
|
|
1606
|
-
const q = String(params);
|
|
1607
|
-
history.replaceState(null, '', `${location.pathname}${q ? '?' + q : ''}${back}`);
|
|
1608
|
-
} catch (e) { $('reply-err').textContent = e.message; }
|
|
1609
|
-
}
|
|
1610
|
-
// Sign-up lives at the Gateway, which is this page's own site or the one it is a face of.
|
|
1611
|
-
$('fedipod-signup').href = front + '/new-account';
|
|
1612
|
-
window.addEventListener('hashchange', () => route());
|
|
1613
|
-
await load();
|
|
1614
|
-
// Whatever the reader pressed before being asked to sign in. After `load`,
|
|
1615
|
-
// because voting and joining both need the categories to be known.
|
|
1616
|
-
await replayIntent();
|
|
1617
|
-
})();
|