Error On Boot - Shield Q&A

Every time I power up my SHIELD, it give me the following error:
Unfortunately, NvStatService has stopped.
Does anyone know what this service is, or why it might be failing?

The most likely reason for this is that the /data/system/nvstat.log file is corrupted. If you are rooted, just remove it and things should go back to normal. A more formal fix should come with one of the next OTAs (I thought it would be with 51, but apparently this is not the case).

Related

Kernel panic - not syncing: Fatal exception in interrupt

I am one of the many who have been experiencing the random reboots. I have seen talk about it, but have not seen anyone really looking into why this is happening. Some people claim it happens only when docked, or when SD card is in etc. Yet others post that they still get the reboots without doing those things either.
I have been monitoring my reboot problem very closely. I have yet to determine the cause other than it only happens when the device is put into sleep mode manually or automatically, and I am looking for some help from some of the DEV's around here.
When our TF's do this reboot, it is a system crash. When this happens, a ROMDUMP file is placed on the internal "sd card".
These can be viewed with a simple txt editor, like windows notepad. I myself can not read the code and understand what info it is revealing to me. According to an Asus tech on the phone this file can tell you what went wrong and made the device reboot. However the buggers won't tell you crap over the phone and want me to send the device in with the ROMDUMP files.
When I try and read the files, I do see one thing in common, in 99% of them, right near the end of the file, or the very last line before the crash, this line is present,
Kernel panic - not syncing: Fatal exception in interrupt
<2>[ 162.985309] CPU1: stopping
If our reboot issue is kernal based, which would indicate it's a firmware issue;
I was thinking one of the talented DEV's around here could fix us up.
Hell maybe even just a reflash of the current firmware would fix the issue.
Anyway, if a DEV around here want to or willing to look into this, I have some ROM dumpfiles they can look at, just send me a PM.
For reference,
I have a B60K modle
Stock 3.1
GPS 1.3.1
Wifi 5.1.42
BluT 6.17
Kernal 2.6.36.3-00001-gf377a2b [email protected] #1
Build HMJ37.US_epad-8.4.4.5.2-20110603
Thanks.
I don't have any more dumps recently, deleted them so I can't pull up and see what mine said to give you, but wanted to just say I was having these multiple times a day every day and it started once I bought an AData 16GB SDCard for the dock. Then I ended up removing that card and bought a MicroSD 16GB card instead and it has quit doing the random reboots, so definitely seemed to be something with my SDCard in the dock.
Post your whole log here (as .txt or .zip) and I will look at it.
I've had these once or twice but have always deleted the file.
The Kernel Panic is the kernel's way of telling you that something unrecoverable has happened and the integrity of the whole OS is in question. Think of a kernel panic like a BSOD on Windows.
I've never seen that specific one before, but a quick Google search indicates it may be a problem with I/O operations - like bad RAM or a bad SD card.
sassafras
Thanks for the response. I have included 4 RAMDUMP files. I find these 4 special because they all happened in quick succession. Four separate reboots all within 8 mins of each other without any interaction of the device myself. I never touched the device, I just sat there and staring at the device rebooting 4 times in 8 mins. On the final reboot the device never came back on. AT this point I picked up the device and had to hold the power button down for over 10 seconds for the device to come back on to an Asus splash screen. This was mins after I did a fresh factory reset via the OS options internally then a hard reset using the hardware buttons.
...It's a bug alright...
It doesn't seem to be caused by the same problem though, just that the watchdog program invokes a kernel panic and reboots. Weird. I'll backtrace it later and see what's up.
sassafras
went a whole day without a reboot. I did have an odd lock up/freeze at the lock screen where i couldnt unlock the device or get it to rotate the screen. It was locked up tight. Held hte power button down for 20 secs before it shut down. Rebooted, no new RAMdump created. No issues since.
sassafras_, Did you have any luck reading those ramdumps?
I did - sort of.
They're all related to the watchdog program assuming it's soft locked up. Which it may very well have been, but since you weren't using the device at the time, it's hard to know for sure.
The function's that were called immediately prior to the fault were different, which to me indicates that it's just buggy software. Honestly, without doing a backtrace I wouldn't know, but I can't without a system.map from around the time of the lockup. I'm going to assume it's just buggy code from 3.1 and wait and see if the 3.2 release lowers the rate of these. If not, then maybe I'll do some more digging.
sassafras
sassafras_ said:
I did - sort of.
They're all related to the watchdog program assuming it's soft locked up. Which it may very well have been, but since you weren't using the device at the time, it's hard to know for sure.
The function's that were called immediately prior to the fault were different, which to me indicates that it's just buggy software. Honestly, without doing a backtrace I wouldn't know, but I can't without a system.map from around the time of the lockup. I'm going to assume it's just buggy code from 3.1 and wait and see if the 3.2 release lowers the rate of these. If not, then maybe I'll do some more digging.
sassafras
Click to expand...
Click to collapse
Is there any progress on this issue? I bougth a brand new tf and during day random reboots maybe 50 times. And that romdumps are appeared on my internal storage. I dont have external sd by the way. Im stuck.
Hi.
Im having a same problem with my Transformer. Its a week old B60 and its reboots probably 50 times a day and give me log files.
Also im using Honeycomb 3.2
I really want to find out what is going on
i guess its a hardware issue or something.
i'm going to give back my TF today and take back a new one.
if i get same errors, i'll let you know.
I posted a workaround that helps immensely for rooted tablets somewhere around here. I can't find it tonight, but it's in one of the other 'random reboot' threads.
sassafras
sassafras_ -
Did you ever find anything with this issue? I am on my second TF and it is exhibiting the same random reboot while sleeping issue as the first. I know you have a post on another thread indicating how to tell the kernel to ignore "oops" conditions - have you received any feedback on how that is working? I assume this requires root access, I haven't yet rooted my device.
I have collected a few ramdump log files, but as of now only one out of 6 shows a kernel panic. I am new to Android, and I am trying to make sense of the dump logs. It appears that these dumps are maintained in a ring buffer, so the last entries are usually somewhere in the middle, is that correct? All of them also have some garbage at the end, but I assume that is just another effect of the ring buffer strategy.
Like I said, I am new to Android, but I am a long time embedded and real-time programmer, and pretty handy in Linux. It seems to me that the log files aren't providing enough information, but I'm not sure how to debug kernel/system crashes in Android. If anyone could point me in the right direction of where I should look next to get more information on these crashes, perhaps we could get to the bottom of this problem.
From what I can tell via the logs, when the TF is sleeping, it wakes up from time to time for various reasons, then suspends when it is done. It looks like it is during this wake/suspend cycle that something occasionally goes wrong and causes the tablet to reboot.
I am hoping that this is a software/firmware issue (or a hardware issue that can be worked-around with software), because I really like the TF platform and this issue makes keeping apps like IM or email running while it the device sleeps kinda iffy.
Any help from the awesome experts here at XDA would be greatly appreciated, and I look forward to learning more of the gory details and inner workings of Android.
I have had the same issues. Configuring the kernel to ignore oops only helped a bit. The tf would still freeze in standby eventually (once a day or so). My supplier (i.e. not Asus) replaced it and my new tf (a SBK v2 one, unfortunately) has not rebooted once in 2+ weeks. So my guess is that it was a hardware issue (memory, something not coming out of backup mode properly, ...?). Not sure if one could work-around it in software.
Now, this was probably not very helpful but I thought I'd share my experience here. And possibly my tf suffered from an entirely different defect, although the symptoms were the same (ramdump logs from random reboots in standby, independent from wifi on/off, sync on/off, and lots of other settings I tried).
flipflipflip -
Thanks for your reply! I was hoping that it wasn't a hardware issue, and since I got two in a row with the identical problem I was thinking that maybe a software fix could get around it. After reading about your experience, I went ahead and returned it and ordered another one from a different source. Hopefully the third time's a charm!
I'm keeping my fingers crossed that this one is not an SBK v2, but I'll be happy just to have one without sleep-apnea!
This did give me a chance to load up ADB and poke around a bit under the hood of the last one, so if nothing else it is a learning experience. Hopefully I will have something to contribute to the community once I get my hands on a working device.
I know it's been a while (had a big work-related headache), but just wanted to post and let people know that I finally received a TF101 (B50!!) that seems to be working just fine - so I guess it was just a combination of bad luck and a hardware issue after all.
The only issue I have now is that sometimes when it is sleeping, it loses its internet connection (it still seems to be connected to the AP) - but I think I can work around that.
Cheers!

[Q] Huawei Y201 NFC U8666n-1 trouble

OK so I recently switched this neat, cheap and decent entry phone, and of course wanted to root and unlock the bootloader.
Using the technique outlined in http://forum.xda-developers.com/showthread.php?t=2066887 "[ROOT][CWM] Huawei Ascend Y201 Pro U8666" I managed to happily root the device. Meaning I could install droidwall and adfree, and uninstall one or two of the annoying Huawei apps. (Surprisingly there are less Vendor apps on this than the previous Ideos U8150 I had.)
So happy that that worked, I thought I would go to the next stage and unlock the boot loader, in preparation for maybe installing clockworkmod recovery. And eventually a ROM if I could find one that looked "safe" and sound.
Cranking up the "UnlockBootloader.exe" as before and clicking the unlock BOOTLOADER initiated something on my phone... However when I switched off my phone preparatory to rebooting, I found what I guess to be a bricked/borked device.
There's no vibrate, no flash on screen, no logo, no pink screen that other people talk about in the few reports I have found around the web. Just that the lower backlit soft buttons flash ten times and then nothing else happens. I can't even find information about what this obviously low level failure message means...
As you can guess, I have tried all sorts of things to get it going: battery removal; powering from USB while botting; any and all of the key press holds for boot; all to the same effect. Have tried several times to find anything similar on the net and can't seem to find anything similar. Especially the ten flash indicator
So my question is "Is this an absolute sign that the device is bricked?" I guess I could try to play the innocent and send it back under warranty, but I guess someone will realise it was my fault. Unless a memory failure happened at the exact time I was flashing/unlocking...
And a warning that same device owners should be careful when following the guide. I'm pretty sure I had everything as outlined. I'm running XP, didn't have it mounted, had fastboot off, etc... Although now its hard to check on the device to see if that was the case
and also
I should also perhaps add that before using UnblockBootLoader with root success, I tried the ICS "adb restore" directory traversal vulnerability, which is part of Root_with_restore, and was unsuccessful.
And that there's no life reported at a low, USB device level to my linux kernel, when plugged in now. So I can't even try a firmware patch using adb etc.
Of course I can't post a relevant cautionary note into the above mentioned thread, as I have yet to reach the 10 post milestone mark, enabling me to post in that section...
Hi,
Sorry for opening an old thread, have the same issue and just wanted to know if you manged to resolve this or it you just took it back to the shop?
Regard
No solution
No - I never managed to work out or find a solution. I just got a new one, and only went as far as the root'ing stage.
I have never seen an applicable ROM for this device anyway, so I guess it wasn't too much of an issue. And root'ing to get those crucial management apps installed, and also being able to remove some Huawei "cruft" is the real thing you need.

[Q] How do I suppress firmware updates?

I got a notification on my phone that there is a software update available for my phone. After reading up on it a bit, I decided it's not worth the hassle to update. I thought I had gone through steps to suppress firmware updates a while back but I guess not. What's the easiest way to suppress this warning? Let me know when you get the chance. Thanks, guys!
Well, a bit of an update, I found the original information on how to suppress OTA updates here:
http://forum.xda-developers.com/showpost.php?p=56693607&postcount=370
As I thought before, I had already gone through this step and disabled it (it was disabled in the hidden menu already). However, the update still seems to have popped up. t tried to auto update this morning but reported back that it suspects my system is rooted so it wasn't able to install. That's good news to a point (at least it didn't screw anything up) but I don't like that it even attempted it without me giving it permission.
Any idea what might have changed? Or is there a difference between an OTA update and a "software update"?
I don't know the answer but I am having the same problem. My phone keeps restarting and giving the error that it wasn't able to install. This actually happened before when I was on 4.X and eventually it bricked my phone and the AT&T store couldn't fix it so they gave me a refurb. It sucked because I didn't have all my photos backed up(I have since fixed that problem.) Now I am having the same issue and I don't want it to brick my phone. I also hate that it restarts automatically...I might need to use my phone for something at the moment. I also have tried the info in the link to disable OTA both phones and neither time has it worked. If anyone can help, please do. Thanks.
The only thing I have ever done and has worked every time is to root and then freeze a file called. "software update" or "update manager". Hope this helps.
I would actually like someone to put together an update.zip that will update us to the latest version without having to go through the hassle of flashing back to stock and what not.
I like the idea of LTE voice calls but not so much that I am willing to go through the work of starting over.
sent from a location using an app
In Titanium Backup (or similar app) find the app call "Software Update 2.3.3.1" and freeze it
That is what solved me receiving software updates and I no longer see the option in the About phone area.

System UI has stopped/force closing

Hello everyone.
So I just got this phone off of ebay recently, and yesterday I started getting the "System UI has stopped" message. I select the OK button and it just keeps repeating the same error and wont let me access the desktop.
Phone is stock, no root or twrp, with the latest sw update, and I am using Nova Launcher instead of the stock launcher.
I googled this problem and it seems that you need to reboot into recovery and wipe cache partition. I did that, and upon reboot I still get the same error.
I ended up going back into stock recovery and factory resetting.
Has anyone else encountered this problem?
UPDATE...
After factory resetting, I restored phone as a new device. A short time later, after updating apps and downloading some others, I once again got the System UI stopped error. Going back to my backup phone until I can get this sorted out.
UPDATE #2...
Sent BLU a trouble ticket via their tech support page on Sunday. In the meantime, did ANOTHER factory reset and whatnot over the weekend, and the phone was fine up until about an hour ago, and I got the same error.
This time, I called them directly. They actually had my trouble ticket on file, and asked me if I did a hard reset, which I have done MANY times.
They then apologized, and asked me where I bought the phone from (ebay auction).
They then told me that I need to obtain the original sales receipt of the phone in order to process a warranty claim. Now I gotta ask the person who sold me the phone if they still have the receipt?????
This is ridiculous.
Anyway, back to my Moto X pure 2015 until I get this sorted out.
Back to the matter at hand and not how unnecessary you may think it is to obtain a receipt for your purchase...
Can anyone install "MTK Engineering" from the Play Store, go to the "Log and Debugging" tab, open MTKLogger, start recording a video of the device, press play, reproduce the issue, then press stop to stop capturing logs?
BLU needs our help to capture logs since they can't reproduce the issue.
vicks1008 said:
Back to the matter at hand and not how unnecessary you may think it is to obtain a receipt for your purchase...
Can anyone install "MTK Engineering" from the Play Store, go to the "Log and Debugging" tab, open MTKLogger, start recording a video of the device, press play, reproduce the issue, then press stop to stop capturing logs?
BLU needs our help to capture logs since they can't reproduce the issue.
Click to expand...
Click to collapse
My advice would be: In SP flash tool load the Android scatter txt from the GIONEE E8 ROM(which can be found in the development thread), after loading that uncheck the top check mark so it clears all the other check marks. Then double click on the system field, navagate to where you have the stock BLU pure xl system image located(which can be found in the development thread), double click on it to load it into the system field. Then click download on SP flash tool, plug usb into computer, power off your phone hold the volume down key while plugging USB into phone. Then wait till the progress bar goes across the bottom in sp flash tool once its done flashing it will say success and now you will be flashed back to stock system. Hopefully this will get rid of whatever is corrupting your system.
Try running the phone without Nova .. I tried several launchers - and things didn't quite go right. What I've found is that not all applications run as smoothly as my OPO use to run - probably because my OPO was rooted and I pretty much did whatever I wanted with it. Not with this running stock - I don't have "proof" but the Pure XL really didn't like it when I installed a different launcher and/or themes .. once I uninstalled the launchers/themes - I rebooted and it was fine.
Jaybird thanks for the suggestion. However, I still had this issue even on stock launcher. I ended up selling the phone anyways.
And I must say here, I apologize if people were annoyed with the fact that I mentioned needing a receipt for my phone in order to send it in for repair/exhange.. This phone has been out for less then a year and in my opinion should be covered under warranty, whether i have a receipt or not.
Its 2016, don't tell me they can't look up the serial number and see that it's under warranty. But whatever.
Just would like to chime in and say I randomly got this same issue after getting a phone call. Suddenly I have no UI what-so-ever but apparently everything else works. I did see this flash of some screen saying "Preparing files for first time use..." just before I lost all ability to use my phone. And despite going into TWRP and clearing both Cache and Dalvik Cache I still have no ability to use my phone.
---------- Post added at 06:13 PM ---------- Previous post was at 05:54 PM ----------
I managed to get the phone working. Ran the factory reset through TWRP and it seems to be back in working order.

H910 OTA update popped up today?

I'm on stock rooted ROM 20H sep 2018. Last time I checked (just now) this is still the latest verion.
However my H910 keeps bugging me about new update available from AT&T.
Does that happen to you guys?
It didn't give me any info about versions and so on.
Should I proceed?
I got it too. Came here to see if it was just me. I'm on H910 Oreo stock rooted.
Warning: DO NOT try to silence the nagging by blocking the notifications. AT&T/LG will treat "quit bothering me" like "go ahead, have your way", and simply go ahead and try to install the update without even bothering to ask you next time. If you're running RootedStock, you'll end up in a slow semi-bootloop where Android boots, you'll have about 3-5 minutes, then it will forcibly install the update, reboot, you'll end up in TWRP, and when you reboot to system (or power off, then power up later), the whole cycle will repeat.
I'm not sure how robustly my solution worked, but here's how I broke out of it. So far, about 15 minutes after rebooting, it seems to have worked. Since I'm writing this AFTER seemingly fixing the problem, I'm writing it from memory, and can't say with 100% certainty which step was actually the one that fixed the problem for me. I actually began the process of installing Titanium backup about a half-dozen FOTA-reboot cycles before tripping over another post here that advised deleting /cache/FOTA. Titanium Backup might, or might not, be an essential element of my apparent success. I honestly don't know. If you own it, use it... you have nothing to lose. If you don't already own it, try just deleting /cache/FOTA first from TWRP's file manager and see whether it works (temporarily or permanently).
Anyway... here's the approximate path to slaying the FOTA beast:
1. I installed Titanium Backup from Google Play. It actually took two reboot cycles to do this... you REALLY have to be ready to unlock the phone, launch Google Play, search for Titanium, and trigger its installation while standing a few feet from your wifi AP for it to finish the download and begin installing it before the next forced-update attempt begins. When it does, swear violently. It'll make you feel a tiny bit better.
1b. When FOTA forces the reboot into TWRP, try deleting /cache/FOTA before rebooting. It might work to temporarily slay the FOTA beast, it might not. If it does, it'll save you about 30 minutes of FOTA-reboot misery for the remaining steps. Feel free to repeat this after each of the following steps. It can't hurt.
2. On the next cycle, launch Google Play the moment your phone finishes booting, and go back to Titanium Backup. Hopefully, it'll be installing. With a little luck, installation will finish before FOTA begins. Then sigh, and let FOTA waste another 5 minutes of your time.
3. On the next cycle, launch Ti backup, give it permanent root permission, and give it permission to do everything it wants. Then, try to launch Google Play, search for Titanium, scroll down, select Ti Backup pro key, and try to initiate installation before FOTA kicks in yet again.
4. On the next cycle, launch Google Play, search for Titanium, scroll down, select the pro key, and begin installation if it isn't already downloading and/or installing. 99% likely you'll end up going through another round of FOTA misery.
4b. If FOTA is still forcing reboots up to this point, repeat step 1b before step 5.
5. On the next cycle, launch Titanium Backup, give it any additional permissions it wants, then select Backup/Restore, scroll down to "FOTA Update 8.0.0", and freeze it.
5b. If FOTA kicks in again, repeat step 1b.
If, despite deleting /cache/FOTA, then freezing FOTA Update 8.0.0 using Ti backup, then deleting /cache/FOTA again, it's still happening... well, then my solution didn't work for you (and possibly not for me. I'll start breathing again normally if my phone is still working normally tomorrow).
Anyway, hopefully this will help someone. I suspect a lot of people running RootedStock Oreo are going to get stung by this. I'd guess that more than a few v20 owners actually bought theirs long after AT&T's previous forced update, and have never actually HAD to deal with blocking forced updates with their current ROM.
It's entirely possible that purchasing Ti backup (I don't think the free version can freeze apps) will be essential for the H910 going forward if you want to keep using what was, prior to yesterday, the newest rooted-stock Oreo ROM without having AT&T's FOTA harass you every few hours (or wipe your phone and reflash once someone releases a newer build based on the current update). Trust me, you can't swat it away forever. I went through this forced-update nagging bull**** years ago with my Motorola Photon. Someday, when you least expect it, the dialog will come flying at you when you're driving and trying to select a song using Amazon Music, or in the middle of a phone call, or semi-distracted, or scrolling down a web page while the phone is bogged down because it's grinding its wheels in the background preparing to harass you about updating again, and you WILL accidentally click "ok" & have your life go down the toilet for the next few hours until you're able to dig yourself out of the mess.
Bite the bullet, and freeze FOTA Update 8.0.0 now, while you can still do it without burning an hour of your life waiting for reboot after reboot.
For those finding their way here, make sure to back up in the brief period of time before you get hamstrung if you can't freeze the process. I am/was bone stock H910 and after ATT forced the update on me, my phone now won't finish starting up and functionally boot-loops now until I pull the battery.
It will start, get to the home screen, I might get 5-15 seconds of actual usable time with the phone before it freezes, goes back to the bootscreen and will get warmer and warmer and give me less and less time until it freezes in the middle of the ATT logo. Tried pulling SD card and SIM card, just in case. The sim card removal bought me enough time to get the phone to tell me it was "finished updating" but upon attempting to power down and start re-inserting cards, the phone locked up and bootlooped.
No idea what this update is for but it seems to have killed my phone rather handily, beware.
FWIW, airplane mode does not stall the update either.
bitbang3r said:
Warning: DO NOT try to silence the nagging by blocking the notifications. AT&T/LG will treat "quit bothering me" like "go ahead, have your way", and simply go ahead and try to install the update without even bothering to ask you next time. If you're running Roote
Bite the bullet, and freeze FOTA Update 8.0.0 now, while you can still do it without burning an hour of your life waiting for reboot after reboot.
Click to expand...
Click to collapse
Hope I'm not jinxing myself, but this appears to have worked for me.
I have gotten a "update could not be installed" popup, which I'm taking to be a good sign.
Still annoying, since I have auto-updates turned off.
Ugh, it popped up again. Confirmed, FOTA is still frozen.
It initiated the update for me on its own. Luckily I noticed and plugged it in or it would have died and maybe bricked the phone.
I don't notice a difference. Same Android version (8.0) same security patch (Sept 2018). The ATT version might have gone from H to I.
Yep, it started nagging me again, too. Goddamn it, this is really starting to piss me off.
Okay, on mine I think when I delete /cache/FOTA while in TWRP, it might not actually be deleting the folder.
I deleted the folder in recovery mode, then rebooted and went straight to X-plore file manager. The FOTA folder was either still there, or it just recreated itself on boot. I deleted it again in X-plore and it's now been working since my previous post.
Fingers crossed.
I just rooted a H910 yesterday, and this morning the same "slow boot loop" with the update started. I tried different things, and what so far seems to have worked was:
1. Entered TWRP recovery (from the last "update cycle." (Not like I had a choice.)
2. Wiped everything and re-installed Oreo, and all other zip and img files back to the way I originally set it all up.
3. After phone was booted up, I DID NOT have a SIM card in it, nor did I enable WiFi.
4. Temporarily skipped all the Google sign in stuff.
5. Enabled Developer options, and turned off "automatic system updates." (Not Google Play Updates!)
6. Re-booted phone and then confirmed that the above setting still showed "off."
7. Enabled WiFi and connected.
8. Set up Google account and other misc settings.
9. Restored a backup that I had made prior to the phone doing the update reboot loop, but was careful to uncheck settings. I did not use Titanium Backup. I used the built in one.
NOTE: This is not my daily driver phone. It is meant to be used as an emergency backup phone in the event that my regular phone (Samsung Galaxy S Series) falls in a canal or gets run over by a truck. (Or City Bus)
So far so good. I will use the phone for the day and check again the following morning to see if it starts the forced update. I will check back here in a few days and let everyone know what the end result was.
My theory is that if the phone does not have a chance via cell data or WiFi to get any FOTA updates prior to me turning off the "automatic system updates" that is in the Developer Options, it will never check in with AT&T's update server.
I am not sure about this, and if someone else knows, please correct the following:
I don't think AT&T "pushes" updates out. At least the type of updates we are talking about. I believe the software in the phone periodically polls an AT&T update server, and "pulls" any update at a schedule time, or time interval. My working theory is that turning off the automatic system updates will disable this automatic check, or polling routine. If it already has an update that it downloaded prior to turning off automatic system updates, its too late.
Thanks for everyone's input on this in advance.

Categories

Resources