Jump to content

roytam1

Member
  • Posts

    3,612
  • Joined

  • Last visited

  • Days Won

    415
  • Donations

    0.00 USD 
  • Country

    Hong Kong

Everything posted by roytam1

  1. FAQ: Q: Having audio distorted when watching Twitter/etc.? A: Please try turning on "Firefox compatibility" in options dialog or either "general.useragent.compatMode = 2" or "general.useragent.compatMode.firefox = true" in about:config and reload the page. Q: Can't play H264 clips? (for PM27/KM76/FF45) A: Download following packages for your browser edition(32bit/64bit) and extract DLLs to same place as palemoon.exe lives. 32bit LAV dlls are in separated package (extracted from K-Lite codec pack 13.5.5) https://o.rthost.win/palemoon/lav.7z Just in case if you have an older processor which has no SSE instruction set support: 32bit NoSSE (ffmpeg 3.1.1 lite build) https://o.rthost.win/palemoon/lav-dll-lite-mmx.7z 32bit No ASM (ffmpeg 3.1.1 lite build, if build above doesn't work on your processor) https://o.rthost.win/palemoon/lav-dll-lite-noasm.7z 64bit LAV dlls are in separated package (LAV Filters 64bit 0.70.2) https://o.rthost.win/palemoon/lav64.7z Q: AV1 Support? (for UXP-based applications except mailnews) A: You need to enable "media.av1.enabled" in about:config Q: VP9 Support? (for PM27) A: VP9 works if async MSE option is unchecked and "Enable MSE for WebM Video" checked in options. Q: Extensions/Themes not working after updating binaries. A: If you encounter extensions not show icon, clicking options button of extension causing browser unresponsive, etc. please try following actions: 1.a Killing palemoon.exe process 1.b Copy whole extensions folder out of profile folder (to somewhere else for example, desktop) 1.c Restart browser without restoring previous sessions 1.d Goto about:addons page 1.e Drop XPI files from the copied-out extensions folder to about:addonss page One-by-One. 1.f After all XPI files are dropped and installed/updated, restart browser Q: Virus detected? A: Tell your anti-virus program to exclude palemoon.exe and/or plugin-container.exe. Some anti-virus heuristic engines (for example symantec's sonar engine) is too sensitive to palemoon.exe/plugin-container.exe network activities. Q: Where's your patches for compiling my own? A: Please visit the link above "FAQ:". Latest source patch files are named "sources_patches_YYYYMMDD.7z" in that page. Q: basilisk browser showing basic pages in GMail? A: set these to "ture" in about:config general.useragent.compatMode.firefox general.useragent.compatMode.gecko Q: Should I let official Pale Moon and "New Moon" both using same profile (at the same time / alternatively)? A: it is not recommend to do that, as they have different NSS security library, which has different encryption procedure to the saved password database. Same profile being "touched" by different gecko/goanna applications may cause unexpected behaviors. If you want to launch both Pale Moon and "New Moon" / Basilisk and "Serpent" / etc. at the same time, one of them should be in "--no-remote" portable mode. Q: How to change User Interface language? A: Please see this post: Q: Portable Loader? A: You can always use official portable launcher with my binaries, or you can use my simple portable loader written in NSIS: Q: How to install extensions/themes in BNavigator browser? A: Please check this post out: (EDIT: you may need to change minVersion to 0.9.0a1 as upstream changed version to a lower value after this guide existed) Q: I want to verify if archive is not changed by others! A: from 30 October 2019, new archives will have ".asc" GPG detached signature. You can download signature separately by appending ".asc" (without quotation marks) after the archive URL. You can get my public key by following instructions in this post: Q: I'm getting 0xC000001D error when starting Serpent/UXP-ia32 browser! A: your processor does not support CMOV instruction. VC2015 IA32 build requires CMOV instruction support. here is a list of processors with CMOV instruction support: - Intel: Pentium Pro or later - AMD: K7 (original Athlon/Duron) or later - VIA: C7 or later - Transmeta: all CPUs are capable to run sp52-ia32. - Cyrix/IBM: 6x86MX or later, MediaGXm(MediaGX-S) or later - National Semiconductor/AMD: Geode GX or later - DM&P/Vortex86: Vortex86DX3 or later Q: I need WebAssembly support! A: for NM28/SP52, go to about:config and enable javascript.options.wasm
  2. Notice: These projects have no affiliation with any upstream community code sources or organizations. Please direct all support or related questions to here. "Serpent", "New Moon", "MailNews" are generic debranded names and they are subject to change in the future. Archive directory names and archive filenames will only be changed once generic debranded names are not used in the future. Latest changelog is available here as well: http://rtfreesoft.blogspot.com/search/label/browser for people who can't register here, there is another place you can create post for asking/help besides in github and blog: https://forum.eclipse.cx/viewforum.php?f=33 Serpent/UXP browser (MCP reforked 52ESR as new base), and NM28XP releases: Binaries are moved to here: (I'm lazy to edit all previous posts) https://o.rthost.win/palemoon/?sort=date&order=desc BOC and hyperbola related binaries: Binary list: https://o.rthost.win/boc-uxp/?sort=date&order=desc ------------------------------------- NewMoon 27 build: ------------------------------------- Serpent/moebius browser (deprecated by MCP, forked by me), and also 26.5 as playground : And NewMoon 26.5 and K-Meleon 74 with Goanna 2.2 (newmoon-26.5) for vanilla Win2000 build: ------------------------------------- K-Meleon browser with Goanna/Tycho engine: It has its own sub-forum in K-Meleon official forum! http://kmeleonbrowser.org/forum/list.php?19 Latest build: ------------------------------------- Firefox ESR 45 with TenFourFox fixes for IA32/SSE-only machines: ------------------------------------- K-Meleon Original cross-post is here: ------------------------------------- ArcticFox XP win32 test build: ----previous post----
  3. nope, NM26 doesn't come with MediaSource so LAV dlls won't work with NM26
  4. I think they just "forget" to update their website after they changed their base.
  5. If I want to get another MB I'd pick MSI X470 GAMING PLUS instead.
  6. NM27 requires SP3 functions, you may have a look on this to see if there is workaround for that or not: http://kmeleonbrowser.org/forum/read.php?19,143253,143901#msg-143901
  7. this pref is enabled by default. did you change it in about:config?
  8. different technologies. if you can make rust creating XP compatible binaries, and if you can make firefox > 53 XP compatible, please tell me how to do that.
  9. there is a missing guard that prevents devtools scripts from running correctly. as a precaution all UXP builds uploaded today are replaced.
  10. so you're using Serpent builds? for Serpent there is a glitch that is fixed. you may try redownloading.
  11. actually today's builds don't come with "great" commits from upstreams, and today's builds are mainly for testing my overhauled packaging script. and for supporting KaiOS development, my (non-BOC) UXP builds comes with WebIDE again.
  12. New regular/weekly KM-Goanna release: https://o.rths.ml/kmeleon/KM76.2-Goanna-20191019.7z Changelog: Out-of-tree changes: * update Goanna3 to git 3f92ddedb..551099728: repo changes since my last build: - import changes from rmottola/Arctic-Fox: - Don't use APZ for selection carets on Desktop. (bug 1141855, r=kats) (9dddd666d0) - Bug 1130982 - Ensure the clip rect on a multi-metrics layer belongs to the bottommost layer. r=botond (291ef70d84) (551099728) * Notice: the changelog above may not always applicable to XULRunner code which K-Meleon uses. A goanna3 source tree that has kmeleon adaption patch applied is available here: https://github.com/roytam1/palemoon27/tree/kmeleon76
  13. New New Moon 27 Build! 32bit https://o.rths.ml/palemoon/palemoon-27.9.6.win32-git-20191019-551099728-xpmod.7z 32bit SSE https://o.rths.ml/palemoon/palemoon-27.9.6.win32-git-20191019-551099728-xpmod-sse.7z 32bit noSSE https://o.rths.ml/palemoon/palemoon-27.9.6.win32-git-20191019-551099728-xpmod-ia32.7z 64bit https://o.rths.ml/palemoon/palemoon-27.9.6.win64-git-20191019-551099728-xpmod.7z source repo: https://github.com/roytam1/palemoon27 repo changes since my last build: - import changes from rmottola/Arctic-Fox: - Don't use APZ for selection carets on Desktop. (bug 1141855, r=kats) (9dddd666d0) - Bug 1130982 - Ensure the clip rect on a multi-metrics layer belongs to the bottommost layer. r=botond (291ef70d84) (551099728)
  14. New build of BOC/UXP for XP! Test binary: MailNews Win32 https://o.rths.ml/boc-uxp/mailnews.win32-20191019-efcafdc-uxp-201635685-xpmod.7z Browser-only Suite Win32 https://o.rths.ml/boc-uxp/bnavigator.win32-20191019-efcafdc-uxp-201635685-xpmod.7z source patch (excluding UXP): https://o.rths.ml/boc-uxp/boc-uxp-src-xpmod-20190720.7z No official repo changes since my last build. For UXP changes please see above.
  15. New build of Serpent/UXP for XP! Test binary: Win32 https://o.rths.ml/basilisk/basilisk52-g4.4.win32-git-20191019-201635685-xpmod.7z Win64 https://o.rths.ml/basilisk/basilisk52-g4.4.win64-git-20191019-201635685-xpmod.7z source code that is comparable to my current working tree is available here: https://github.com/roytam1/UXP/commits/custom NM28XP build: Win32 https://o.rths.ml/palemoon/palemoon-28.8.0a1.win32-git-20191019-201635685-xpmod.7z Win64 https://o.rths.ml/palemoon/palemoon-28.8.0a1.win64-git-20191019-201635685-xpmod.7z Official repo changes since my last build: - Added missing libwebp files to update.sh (d43b7d5c8) - Merge pull request #1244 from dimag0g/master (3ae8f139a) - No Issue - Expand HWA over RDP to Windows 8.1 and 10. (1a86abc15) - Replace calls to undefined functions isMarkable() and toMarkablePointer() (a68a09618) - Merge pull request #1246 from dimag0g/master (5a6f737e1) - Fix build errors with newer glibc versions (e31d79e8d) - Don't treat format warnings as errors in xpconnect (b51ff1f69) - Merge branch 'master' of https://github.com/MoonchildProductions/UXP (201635685) My changes since my last build: - Revert "Remove WebIDE devtools component." (df89b48e3)
  16. and rmottola upstream pushed lots of commits of front-end side, so 2 merge commit issued and new test build is uploaded: http://o.rths.ml/gpc/files1.rt/arcticfox-27.9.18.win32-20191019.7z changelog from rmottola: - Bug 891360 - Move SessionStore I/O logic to a dedicated worker; r=yoric (c42ed07e6f) - Bug 893009 - Move _backupSessionFileOnce() logic into the SessionWorker; r=ttaubert (ddb0d2874b) - Bug 898184 - Restore telemetry measurements that were removed when transitioning to the SessionWorker. r=ttaubert (6dcc64be00) - Bug 898775 - Fix the browser.sessionstore.resume_from_crash preference; r=yoric (1ab3729bac) - Bug 904480 - Return values of _SessionFile.wipe() and .writeLoadStateOnceAfterStartup() are unused. r=ttaubert (d555f2aefd) - Bug 914581 - [Session Restore] Plug into AsyncShutdown;r=ttaubert (296589cb19) - Bug 904477 - Add missing error handlers for promises used in SessionStore. r=ttaubert (f9a7fe352f) - Bug 921581 - Send a notification once the final state has been written to disk on shutdown. r=ttaubert, r=Yoric (a2e8fd8415) - Bug 930901 - Rename _SessionFile to SessionFile r=billm (d1e5268bca) - Bug 918024 - Remove the synchronous fallback for reading in Session Store initialization. r=Yoric, f=ttaubert (b084667337) - Bug 952465 - [Session Restore] Replace Components.utils.reportError with Console.jsm. r=Yoric (e3e96ff56a) - Bug 956678 - Replace TaskUtils.spawn() by Task.spawn() in Session Restore. r=yoric (a55caa0d41) - Bug 942340 - Extracting many Telemetry statistics from sessionstore.js;r=ttaubert,froydnj (c471a206b2) - Bug 904529 - Remove SessionStore._initialState and pass it as an argument to .onLoad(); r=smacleod (15d64b2751) - Bug 904460 - Pass _firstTabs 'parameter' as an argument to restoreWindow() rather than tacking it onto the state object; r=smacleod (af47dd8141) - Bug 887780 - Stop writing state immediately after startup and switch to CrashMonitor for crash detection. r=Yoric, r=ttaubert (3e750a7719) - Bug 966253 - Fix SessionFile shutdown blocker. r=ttaubert (50c597dc23) - Bug 959130 - Stop using the SessionWorker for read at startup to avoid slowdown. r=ttaubert (73d5eb0d1f) - Bug 970495 - [Session Restore] Switch SessionFile.read() to use the native OS.File read(). r=Yoric (a107752cfe) - Bug 883609 - Make Session Restore backups useful;r=ttaubert Ã[except Privacylevel.jsm] (f624a30672) - Bug 801598 - Making SessionWorker use the now public PromiseWorker API. r=ttaubert (611612e53d) - import missing Telemetry (54edadb477) - missing bits of Bug 881049 - Switch SessionStore to Promise.jsm; r=ttaubert (49767c04ad) - Bug 898308 - Clean up SessionStore initialization; f=smacleod, r=dao (55aa725815) - Bug 898732 - Use SessionStore object instead of getting the nsISessionStore service. r=dao (226a7a5630) - Bug 928335 - Disable 'Restore Last Session' menuitem after restoring the last session; r=dao (96f37183ab) - Bug 899213 - Introduce a Session Store API for global data. r=ttaubert (6687a700f0) - Bug 938248 - [Session Restore] Move GlobalState from SessionStore.jsm to its own JSM. r=smacleod (b77ee69e9f) - add ContentRestore as of 2014-01-17 (dae3886b34) - Bug 911115 - Move the TabStateCache to its own module. r=ttaubert (97554178ab) - Bug 930901 - Introduce Utils.jsm r=billm (0fef89af9f) - update to TabState.collect() (5f3db50cf6) - Bug 894595 - part 2 - Implement asynchronous data collection for session storage and history; f=smacleod r=yoric (b7ef535dc2) - Bug 903388 - [Session Restore] Collect cookie hosts *after* serializing session history; r=yoric (c3b2750157) - Bug 903398 - [Session Restore] Use a 'cookie-changed' observer instead of asking the cookie service for every host; r=yoric (bbaf8a694a) - Bug 905533 - Move SessionStore._updateCookies() to SessionCookies.update(); f=smacleod r=yoric (0cf58017f7) - add TabAttributes.jsm at level of Bug 1059007 - [e10s] Use TabState.flush() (8b69b3ed68) - Bug 972243 - Use Cu.cloneInto() and/or shallow copies to clone state objects r=billm (2f0919cd78) - also include TabAttributes (f8d9e7b3cc) - Bug 894595 - part 1 - Move tab state collection routines to a separate object; f=smacleod r=yoric (53d9a35721) - Bug 910646 - Collect docShell capabilities from content script (r=ttaubert) (fdd1311eca) - Bug 910668 - Collect pagestyle from a content script (r=ttaubert) (4d46957ede) - Bug 909048 - Collect text and scroll data from content script (r=ttaubert) (295b9a8ca4) - Bug 919835 - Make session data collection work with multiple processes (r=ttaubert,Yoric) (802b7e9177) - Bug 930269 - Rename SessionHistory.read (r=smacleod) Add SessionHistory.jsm as of 930269. (52ba37370c) - Bug 930269 - Move saving of tab attributes (r=smacleod) (638e9ada00) - Bug 930269 - Rename SessionStore.restoreHistoryPrecursor (r=smacleod) (fde22bcc23) - Bug 894595 - part 1.5 - Move privacy level checks into a module; r=yoric (1bf5f0265d) - missing part of Bug 785884 - Implement support for temporary storage (e245b71048) - Bug 930202 - Cancel pending session collections when restoring (r=ttaubert) (d139944ef4) - Bug 930269 - Clean up SessionStore.restoreHistory [adapted] (08fbbe5bc0) - Bug 930269 - Rename SessionStore.restoreTab (r=smacleod) (107776a22c) - Bug 919532 - Make sure we don't lose state when quitting early without being notified; r=yoric (f75dd25eb2) - Bug 923331 - Don't wait for history object in session restore (r=ttaubert) (2781468526) - Bug 929036 - Remove legacy timer code; r=smacleod (7db14e58e0) - Bug 930269 - Create SessionHistory.restore (r=smacleod) (ed513ebe7c) - Bug 938084 - Drop pending collections when docShells are swapped r=billm (d69d3cc44c) - Bug 938093 - Swap TabStateCache contents when docShells are swapped r=billm (b9065a7ff3) - Bug 910668 - Move pagestyle collection to a module (r=ttaubert) (328daf6182) - Bug 910646 - Collect docShell capabilities from module (r=ttaubert) (040b789339) - Bug 930967 - Add broadcasting for sessionstore data r=yoric,billm,smacleod (4714c39906) - missing Ãpart of Bug 938093 - Swap TabStateCache contents when docShells are swapped (2c7a1db669) - Add missing part of Bug 930967 - Add broadcasting for sessionstore data (822ff8d3f8) - Bug 909048 - Move text and scroll data handling to a module (r=ttaubert) (edc44cc813) - Bug 947216 - Remove special case for about:config's form data collection r=smacleod (6fdc51af28) - Bug 921942 - Broadcast scroll positions r=yoric (2e9b7bfe17) - Bug 947632 - Use sendRpcMessage during session store flush (r=ttaubert) (50444ef808) - Bug 853779 - Ensure we don't lose sessions when starting with a private window only; r=yoric (9eba8fd494) - Bug 899276 - Don't collect/save private tabs. r=ttaubert (5d07755b79) - Bug 945809 - Add Telemetry for Session Store data collection in the frame script. r=ttaubert (da33ac51a9) - Bug 950132 - Fix pageStyle data collection r=yoric (945645d657) - Bug 952401 - Collect scroll and pageStyle data as soon as the frame tree is available r=smacleod (02deb47454) - Bug 952998 - Use FrameTree to collect DOMSessionStorage data r=yoric (3d3900879b) - Bug 952934 - Use onFrameTreeReset() to re-collect docShell capability data r=smacleod (e3798b5388) - Bug 956826 - Check docShell's private browsing state when the frame script is loaded r=yoric (ac0d988457) - small update (e33838b454) - fix up (3c2f1d1804) - Bug 940777 - Fixup indexing in session restore (r=ttaubert) (c1ec1ea84d) - Bug 942374 - Restore sessions by message passing (r=ttaubert) (bc85e714a3) - Bug 942622 - Invalidate TabStateCache when .userTypedValue changes r=yoric,dao (1ba8241878) - Bug 958809 - Don't put broadcasted data into the regular TabStateCache r=yoric (978ac794c8) - Bug 952998 - Follow-up to fix test and use document.documentURIObject rs=Unfocused (078863f242) - Bug 902280 - Update _lastSaveTime before writing to avoid deceeding the write interval. r=ttaubert (e267b37398) - Bug 894595 - part 3 - Use asynchronous data collection for delayed save state calls; r=yoric (02689f04e0) - Bug 923034 - Don't check getCurrentState's return value in SessionSaver; r=smacleod (fe4ed3bb70) - bug 1036694 - merge nsIMarkupDocumentViewer into nsIContentViewer (27b4413431) - Bug 962808 - [Session Restore] Better telemetry for _writeState. r=ttaubert (985e97ecff) - Bug 944557 - Don't save sessionstore.js in permanent private browsing mode. r=ttaubert (0d4108e7de) - Bug 944557 - Remove sessionstore-state-write. r=ttaubert (86deb9e36a) - Bug 961016 - Fix icon and label for pending tabs with async restore r=billm,dao (49d4d271c4) - Bug 950174: Part 1: Move required session store files from browser/ to toolkit/modules. r=gps, ttaubert (5c0a4aef20) - Bug 961106 - Remove observers on frame script unload r=billm (c480a17ade) - Bug 961380 - Should be able to undo closing tabs in private windows r=yoric, ui-r=phlsa (And add PrivacyLevel.jsm as of Bug 961380) (b8b48277d2) - Bug 960903 - Broadcast session history data r=yoric (89d88735ad) - Bug 981900 - Add OnHistoryReplaceEntry to nsISHistoryListener to handle history.replaceState. r=smaug (788cddd128) - Bug 1027087 - Fix ContentRestore errors when a tab is closed while restoring into it r=smacleod (3d8a00c2d7) - Bug 941540 - Use browser.permanentKey to handle docShell swaps more easily r=yoric (8878ef341d) - update tasks with more Session stuff (bbd09bac46) - Bug 952092 - Get rid of post data in SessionStore r=smacleod (5c738947de) - Bug 883609 - Make Session Restore backups useful;r=ttaubert (f2e479e0cd) - Bug 930901 - Introduce Utils.jsm r=billm (e3941b78a0) - Bug 962494 - Remove Iterator() usage from SessionStore code r=yoric (f1370c9689) - Bug 960903 - Listen for subframe loads and clear observers r=yoric (3bd4258646) - Bug 965218 - Check whether shistory is empty when frame script is loaded r=yoric (c49adb4b47) - Bug 961861 - [e10s] Make sure content-sessionStore.js is always loaded (r=ttaubert) (ed488e4576) - Bug 964239 - Give sessionrestore awareness of srcdoc base URI. r=ttaubert (d908d9fb2a) - Bug 973559 - Fix baseURI serialization for srcdoc frames r=billm (a69aebf357) - Bug 973550 - "TypeError: webNavigation.document.body is null" in SessionHistory.jsm r=smacleod (f0137fc411) - remove Messenger.jsm (ae8b522587) - remove Messenger.jsm (9c2e929910) - Bug 936271 - Remove load event handling from SessionStore.jsm r=yori (30d71be976) - Bug 445461 - restore MRU tab order when restoring a session. r=ttaubert (26b5588216) - Merge branch 'master' of https://github.com/rmottola/Arctic-Fox (987409c7d7) - Don't use APZ for selection carets on Desktop. (bug 1141855, r=kats) (9dddd666d0) - Bug 1036399 - Multiple CSP policies should be combined towards an intersection (r=sstamm) (e3bff81f2e) - Bug 1130982 - Ensure the clip rect on a multi-metrics layer belongs to the bottommost layer. r=botond (291ef70d84) - Bug 943339 - Part 1: Only store a subset of session history entries to file. r=Yoric (57fcec5642) - Bug 943339 - Part 2: Add tests to make sure the new preferences work as expected. r=Yoric (32c1e32a49) - mark some stuff done (7c8f9bcd9d) - mark some stuff done (af4736b682) - Bug 972797 - More telemetry on SessionStore data collection. r=ttaubert (cb671f8405) - Bug 915173 - Don't invalidate the whole tab state when setting/deleting tab values; r=yoric (900b38db0f) - Bug 916390 - [Session Restore] Remove __SS_formDataSaved; r=yoric (4f38afe3e5) - Bug 901137 - Move initial tabs to end, instead of moving restored tabs to beginning. r=gavin (d31fbc024f) - Bug 900089 - Added call to _resetTabRestoringState in SessionRestore.setTabState; r=ttaubert (a483895aa7) - Bug 961863 - [e10s] Update browser remoteness attribute when restoring a tab (r=ttaubert,felipe) (a356005f3f) - Bug 908440 - Add type checks to prevent non string values from being saved. r=ttaubert (6a78652026) - Bug 981699 - Skip resizeTo() call when restoring a maximized window that is currently maximized r=smacleod (f531b78612) - Bug 495123 - Save an empty window state if it's the last window closed and there were no others closed in series before r=smacleod (bf3428b0eb) - mark progress (2a534b1713)
  17. already read, tried, but nothing helped. also asked selling agent of mainboard and they told be I have to grab the board to their office for further diagnosis
  18. hard to tell, but for NM27/KM76.2 APZ will be disabled in some cases in recent AF import: https://github.com/roytam1/palemoon27/commit/5510997281dee83f6a7fae37b35fbca99bd4d55e
  19. as they don't recommend people to enable hardware acceleration other than ticking the one in options dialog, your request may be ignored.
  20. and now it is completely broken. with MS driver, driver doesn't even start now. with realtek's driver, it act as usual broken state: no sound, only some noise can be heard when speaker is in maximum volume. if I send the board back to vendor, then there will a at least a month I can't use my new rig. running in old rig which has only 4GB RAM with win7 x64 is quite harsh and old rig has no M.2 slot for my win7 system SSD. so I just bought an USB Audio adapter in HK$99 for getting back basic audio functionality. then I hit another pitfall, that is modded AMD USB 3.2 driver doesn't work well with USB Audio. I took extra time for debugging if the device is in fault or kind of driver issue.
  21. cloudflare doesn't accept registering with sub-domain.
  22. never thought that I need to quote this, but yeah again.
  23. unless it is protected with cloudflare or I won't even try it at all.
  24. mega is too slow to upload here.
×
×
  • Create New...