diff --git a/overlay/ace/frameworks/base/core/res/res/values/config.xml b/overlay/ace/frameworks/base/core/res/res/values/config.xml
index cf9a060..960a389 100644
--- a/overlay/ace/frameworks/base/core/res/res/values/config.xml
+++ b/overlay/ace/frameworks/base/core/res/res/values/config.xml
@@ -3,22 +3,22 @@
 /*
 ** Copyright 2011, The CyanogenMod Project
 **
-** Licensed under the Apache License, Version 2.0 (the "License"); 
-** you may not use this file except in compliance with the License. 
-** You may obtain a copy of the License at 
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
 **
-**     http://www.apache.org/licenses/LICENSE-2.0 
+**     http://www.apache.org/licenses/LICENSE-2.0
 **
-** Unless required by applicable law or agreed to in writing, software 
-** distributed under the License is distributed on an "AS IS" BASIS, 
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
-** See the License for the specific language governing permissions and 
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
 ** limitations under the License.
 */
 -->
 <resources>
 
-    <!-- Component name of the default wallpaper. This will be ImageWallpaper if not 
+    <!-- Component name of the default wallpaper. This will be ImageWallpaper if not
          specified -->
     <string name="default_wallpaper_component">com.android.wallpaper/.nexus.NexusWallpaper</string>
 
diff --git a/overlay/bravo/frameworks/base/core/res/res/values/config.xml b/overlay/bravo/frameworks/base/core/res/res/values/config.xml
index cf9a060..960a389 100644
--- a/overlay/bravo/frameworks/base/core/res/res/values/config.xml
+++ b/overlay/bravo/frameworks/base/core/res/res/values/config.xml
@@ -3,22 +3,22 @@
 /*
 ** Copyright 2011, The CyanogenMod Project
 **
-** Licensed under the Apache License, Version 2.0 (the "License"); 
-** you may not use this file except in compliance with the License. 
-** You may obtain a copy of the License at 
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
 **
-**     http://www.apache.org/licenses/LICENSE-2.0 
+**     http://www.apache.org/licenses/LICENSE-2.0
 **
-** Unless required by applicable law or agreed to in writing, software 
-** distributed under the License is distributed on an "AS IS" BASIS, 
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
-** See the License for the specific language governing permissions and 
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
 ** limitations under the License.
 */
 -->
 <resources>
 
-    <!-- Component name of the default wallpaper. This will be ImageWallpaper if not 
+    <!-- Component name of the default wallpaper. This will be ImageWallpaper if not
          specified -->
     <string name="default_wallpaper_component">com.android.wallpaper/.nexus.NexusWallpaper</string>
 
diff --git a/overlay/common/frameworks/base/core/res/res/values/config.xml b/overlay/common/frameworks/base/core/res/res/values/config.xml
index fe118f6..2a3ecb2 100644
--- a/overlay/common/frameworks/base/core/res/res/values/config.xml
+++ b/overlay/common/frameworks/base/core/res/res/values/config.xml
@@ -3,16 +3,16 @@
 /*
 ** Copyright 2011, The CyanogenMod Project
 **
-** Licensed under the Apache License, Version 2.0 (the "License"); 
-** you may not use this file except in compliance with the License. 
-** You may obtain a copy of the License at 
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
 **
-**     http://www.apache.org/licenses/LICENSE-2.0 
+**     http://www.apache.org/licenses/LICENSE-2.0
 **
-** Unless required by applicable law or agreed to in writing, software 
-** distributed under the License is distributed on an "AS IS" BASIS, 
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
-** See the License for the specific language governing permissions and 
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
 ** limitations under the License.
 */
 -->
diff --git a/overlay/common/frameworks/base/packages/SettingsProvider/res/values/defaults.xml b/overlay/common/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
index 21f3167..c652ac9 100644
--- a/overlay/common/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
+++ b/overlay/common/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
@@ -3,16 +3,16 @@
 /**
  * Copyright (c) 2009, The Android Open Source Project
  *
- * Licensed under the Apache License, Version 2.0 (the "License"); 
- * you may not use this file except in compliance with the License. 
- * You may obtain a copy of the License at 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
  *
- *     http://www.apache.org/licenses/LICENSE-2.0 
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- * Unless required by applicable law or agreed to in writing, software 
- * distributed under the License is distributed on an "AS IS" BASIS, 
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
- * See the License for the specific language governing permissions and 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 -->
diff --git a/overlay/common/frameworks/base/packages/SystemUI/res/values/config.xml b/overlay/common/frameworks/base/packages/SystemUI/res/values/config.xml
index f51e7b6..88851f7 100644
--- a/overlay/common/frameworks/base/packages/SystemUI/res/values/config.xml
+++ b/overlay/common/frameworks/base/packages/SystemUI/res/values/config.xml
@@ -3,16 +3,16 @@
 /*
 ** Copyright 2011, The CyanogenMod Project
 **
-** Licensed under the Apache License, Version 2.0 (the "License"); 
-** you may not use this file except in compliance with the License. 
-** You may obtain a copy of the License at 
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
 **
-**     http://www.apache.org/licenses/LICENSE-2.0 
+**     http://www.apache.org/licenses/LICENSE-2.0
 **
-** Unless required by applicable law or agreed to in writing, software 
-** distributed under the License is distributed on an "AS IS" BASIS, 
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
-** See the License for the specific language governing permissions and 
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
 ** limitations under the License.
 */
 -->
diff --git a/overlay/common/packages/apps/Music3/res/values/config.xml b/overlay/common/packages/apps/Music3/res/values/config.xml
index c2a7a72..c152a14 100644
--- a/overlay/common/packages/apps/Music3/res/values/config.xml
+++ b/overlay/common/packages/apps/Music3/res/values/config.xml
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="utf-8"?>
 <resources>
-	<bool name="config_isMarketVersion">false</bool>
-	<bool name="config_enableLockScreen">false</bool>
-	<bool name="config_controlsOnBottom">true</bool>
-	<integer name="config_defaultRenderer">1</integer>
+        <bool name="config_isMarketVersion">false</bool>
+        <bool name="config_enableLockScreen">false</bool>
+        <bool name="config_controlsOnBottom">true</bool>
+        <integer name="config_defaultRenderer">1</integer>
 </resources>
 
diff --git a/overlay/crespo/frameworks/base/core/res/res/values/config.xml b/overlay/crespo/frameworks/base/core/res/res/values/config.xml
index 54cc0a8..2d5d72b 100644
--- a/overlay/crespo/frameworks/base/core/res/res/values/config.xml
+++ b/overlay/crespo/frameworks/base/core/res/res/values/config.xml
@@ -3,16 +3,16 @@
 /*
 ** Copyright 2011, The CyanogenMod Project
 **
-** Licensed under the Apache License, Version 2.0 (the "License"); 
-** you may not use this file except in compliance with the License. 
-** You may obtain a copy of the License at 
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
 **
-**     http://www.apache.org/licenses/LICENSE-2.0 
+**     http://www.apache.org/licenses/LICENSE-2.0
 **
-** Unless required by applicable law or agreed to in writing, software 
-** distributed under the License is distributed on an "AS IS" BASIS, 
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
-** See the License for the specific language governing permissions and 
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
 ** limitations under the License.
 */
 -->
diff --git a/overlay/encore/frameworks/base/core/res/res/layout/usb_storage_activity.xml b/overlay/encore/frameworks/base/core/res/res/layout/usb_storage_activity.xml
index 298a94b..b4625d0 100644
--- a/overlay/encore/frameworks/base/core/res/res/layout/usb_storage_activity.xml
+++ b/overlay/encore/frameworks/base/core/res/res/layout/usb_storage_activity.xml
@@ -41,7 +41,7 @@
         android:layout_marginBottom="16dip"
         >
 
-        <Button android:id="@+id/mount_button" 
+        <Button android:id="@+id/mount_button"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:paddingLeft="18dip"
diff --git a/overlay/espresso/frameworks/base/core/res/res/values/config.xml b/overlay/espresso/frameworks/base/core/res/res/values/config.xml
index 54cc0a8..2d5d72b 100644
--- a/overlay/espresso/frameworks/base/core/res/res/values/config.xml
+++ b/overlay/espresso/frameworks/base/core/res/res/values/config.xml
@@ -3,16 +3,16 @@
 /*
 ** Copyright 2011, The CyanogenMod Project
 **
-** Licensed under the Apache License, Version 2.0 (the "License"); 
-** you may not use this file except in compliance with the License. 
-** You may obtain a copy of the License at 
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
 **
-**     http://www.apache.org/licenses/LICENSE-2.0 
+**     http://www.apache.org/licenses/LICENSE-2.0
 **
-** Unless required by applicable law or agreed to in writing, software 
-** distributed under the License is distributed on an "AS IS" BASIS, 
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
-** See the License for the specific language governing permissions and 
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
 ** limitations under the License.
 */
 -->
diff --git a/overlay/glacier/frameworks/base/core/res/res/values/config.xml b/overlay/glacier/frameworks/base/core/res/res/values/config.xml
index cf9a060..960a389 100644
--- a/overlay/glacier/frameworks/base/core/res/res/values/config.xml
+++ b/overlay/glacier/frameworks/base/core/res/res/values/config.xml
@@ -3,22 +3,22 @@
 /*
 ** Copyright 2011, The CyanogenMod Project
 **
-** Licensed under the Apache License, Version 2.0 (the "License"); 
-** you may not use this file except in compliance with the License. 
-** You may obtain a copy of the License at 
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
 **
-**     http://www.apache.org/licenses/LICENSE-2.0 
+**     http://www.apache.org/licenses/LICENSE-2.0
 **
-** Unless required by applicable law or agreed to in writing, software 
-** distributed under the License is distributed on an "AS IS" BASIS, 
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
-** See the License for the specific language governing permissions and 
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
 ** limitations under the License.
 */
 -->
 <resources>
 
-    <!-- Component name of the default wallpaper. This will be ImageWallpaper if not 
+    <!-- Component name of the default wallpaper. This will be ImageWallpaper if not
          specified -->
     <string name="default_wallpaper_component">com.android.wallpaper/.nexus.NexusWallpaper</string>
 
diff --git a/overlay/glacier/packages/apps/Camera/res/values/config.xml b/overlay/glacier/packages/apps/Camera/res/values/config.xml
index 1f51d45..0103937 100644
--- a/overlay/glacier/packages/apps/Camera/res/values/config.xml
+++ b/overlay/glacier/packages/apps/Camera/res/values/config.xml
@@ -3,16 +3,16 @@
 /*
 ** Copyright 2011, The CyanogenMod Project
 **
-** Licensed under the Apache License, Version 2.0 (the "License"); 
-** you may not use this file except in compliance with the License. 
-** You may obtain a copy of the License at 
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
 **
-**     http://www.apache.org/licenses/LICENSE-2.0 
+**     http://www.apache.org/licenses/LICENSE-2.0
 **
-** Unless required by applicable law or agreed to in writing, software 
-** distributed under the License is distributed on an "AS IS" BASIS, 
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
-** See the License for the specific language governing permissions and 
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
 ** limitations under the License.
 */
 -->
@@ -20,11 +20,11 @@
 <!-- These resources are around just to allow their values to be customized
      for different hardware and product builds. -->
 <resources>
-	<!-- FFC parameter filtering -->
-	<bool name="ffc_canFocus">false</bool>
-	<bool name="ffc_canZoom">false</bool>
-	<string name="ffc_supportedEffects">none,mono,sepia,negative,aqua</string>
+        <!-- FFC parameter filtering -->
+        <bool name="ffc_canFocus">false</bool>
+        <bool name="ffc_canZoom">false</bool>
+        <string name="ffc_supportedEffects">none,mono,sepia,negative,aqua</string>
 
-	<string name="filtered_pictureSizes">2592x1936</string>
+        <string name="filtered_pictureSizes">2592x1936</string>
 </resources>
 
diff --git a/overlay/harmony/packages/apps/Contacts/AndroidManifest.xml b/overlay/harmony/packages/apps/Contacts/AndroidManifest.xml
index 942200f..425bce6 100644
--- a/overlay/harmony/packages/apps/Contacts/AndroidManifest.xml
+++ b/overlay/harmony/packages/apps/Contacts/AndroidManifest.xml
@@ -15,7 +15,7 @@
 -->
 
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
-    package="com.android.contacts"    
+    package="com.android.contacts"
     android:sharedUserId="android.uid.shared"
 >
 
@@ -478,14 +478,14 @@
 
         <activity android:name=".ExportVCardActivity"
             android:theme="@style/BackgroundOnly" />
-            
-	    <!-- Wysie_Soh: Custom Intents -->
-    	<activity android:name="ContactsPreferences">
+
+            <!-- Wysie_Soh: Custom Intents -->
+        <activity android:name="ContactsPreferences">
             <intent-filter>
                 <action android:name="android.intent.action.VIEW" />
                 <category android:name="android.intent.category.DEFAULT" />
             </intent-filter>
         </activity>
-    
+
     </application>
 </manifest>
diff --git a/overlay/heroc/frameworks/base/core/res/res/values/config.xml b/overlay/heroc/frameworks/base/core/res/res/values/config.xml
index 54cc0a8..2d5d72b 100644
--- a/overlay/heroc/frameworks/base/core/res/res/values/config.xml
+++ b/overlay/heroc/frameworks/base/core/res/res/values/config.xml
@@ -3,16 +3,16 @@
 /*
 ** Copyright 2011, The CyanogenMod Project
 **
-** Licensed under the Apache License, Version 2.0 (the "License"); 
-** you may not use this file except in compliance with the License. 
-** You may obtain a copy of the License at 
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
 **
-**     http://www.apache.org/licenses/LICENSE-2.0 
+**     http://www.apache.org/licenses/LICENSE-2.0
 **
-** Unless required by applicable law or agreed to in writing, software 
-** distributed under the License is distributed on an "AS IS" BASIS, 
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
-** See the License for the specific language governing permissions and 
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
 ** limitations under the License.
 */
 -->
diff --git a/overlay/inc/frameworks/base/core/res/res/values/config.xml b/overlay/inc/frameworks/base/core/res/res/values/config.xml
index cf9a060..960a389 100644
--- a/overlay/inc/frameworks/base/core/res/res/values/config.xml
+++ b/overlay/inc/frameworks/base/core/res/res/values/config.xml
@@ -3,22 +3,22 @@
 /*
 ** Copyright 2011, The CyanogenMod Project
 **
-** Licensed under the Apache License, Version 2.0 (the "License"); 
-** you may not use this file except in compliance with the License. 
-** You may obtain a copy of the License at 
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
 **
-**     http://www.apache.org/licenses/LICENSE-2.0 
+**     http://www.apache.org/licenses/LICENSE-2.0
 **
-** Unless required by applicable law or agreed to in writing, software 
-** distributed under the License is distributed on an "AS IS" BASIS, 
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
-** See the License for the specific language governing permissions and 
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
 ** limitations under the License.
 */
 -->
 <resources>
 
-    <!-- Component name of the default wallpaper. This will be ImageWallpaper if not 
+    <!-- Component name of the default wallpaper. This will be ImageWallpaper if not
          specified -->
     <string name="default_wallpaper_component">com.android.wallpaper/.nexus.NexusWallpaper</string>
 
diff --git a/overlay/ldpi/frameworks/base/core/res/res/layout/preference_dialog_edittext.xml b/overlay/ldpi/frameworks/base/core/res/res/layout/preference_dialog_edittext.xml
index 457f3f2..637eda9 100644
--- a/overlay/ldpi/frameworks/base/core/res/res/layout/preference_dialog_edittext.xml
+++ b/overlay/ldpi/frameworks/base/core/res/res/layout/preference_dialog_edittext.xml
@@ -4,9 +4,9 @@
      Licensed under the Apache License, Version 2.0 (the "License");
      you may not use this file except in compliance with the License.
      You may obtain a copy of the License at
-  
+
           http://www.apache.org/licenses/LICENSE-2.0
-  
+
      Unless required by applicable law or agreed to in writing, software
      distributed under the License is distributed on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -31,7 +31,7 @@
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:textColor="?android:attr/textColorSecondary" />
-            
+
     </LinearLayout>
 
 </ScrollView>
diff --git a/overlay/ldpi/frameworks/base/core/res/res/values/styles.xml b/overlay/ldpi/frameworks/base/core/res/res/values/styles.xml
index 822a65d..6cc50b5 100644
--- a/overlay/ldpi/frameworks/base/core/res/res/values/styles.xml
+++ b/overlay/ldpi/frameworks/base/core/res/res/values/styles.xml
@@ -4,9 +4,9 @@
      Licensed under the Apache License, Version 2.0 (the "License");
      you may not use this file except in compliance with the License.
      You may obtain a copy of the License at
-  
+
           http://www.apache.org/licenses/LICENSE-2.0
-  
+
      Unless required by applicable law or agreed to in writing, software
      distributed under the License is distributed on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -17,7 +17,7 @@
 <resources>
     <!-- Global Theme Styles -->
     <eat-comment />
-    
+
 
     <style name="WindowTitleBackground">
         <item name="android:background">@android:drawable/title_bar</item>
@@ -48,10 +48,10 @@
         <item name="bottomMedium">@android:drawable/popup_bottom_medium</item>
         <item name="centerMedium">@android:drawable/popup_center_medium</item>
     </style>
-    
+
     <!-- Base style for animations.  This style specifies no animations. -->
     <style name="Animation" />
-    
+
     <!-- Standard animations for a full-screen window or activity. -->
     <style name="Animation.Activity">
         <item name="activityOpenEnterAnimation">@anim/activity_open_enter</item>
@@ -119,7 +119,7 @@
         <item name="windowEnterAnimation">@anim/grow_fade_in_center</item>
         <item name="windowExitAnimation">@anim/shrink_fade_out_center</item>
     </style>
-    
+
     <style name="Animation.TypingFilterRestore">
         <item name="windowEnterAnimation">@null</item>
         <item name="windowExitAnimation">@anim/shrink_fade_out_center</item>
@@ -159,7 +159,7 @@
     </style>
 
     <!-- Window animations that are applied to the search bar overlay window.
-	Previously used, but currently unused.
+        Previously used, but currently unused.
          {@hide Pending API council approval} -->
     <style name="Animation.SearchBar">
         <item name="windowEnterAnimation">@anim/search_bar_enter</item>
@@ -314,7 +314,7 @@
         <item name="android:minHeight">76dip</item>
         <item name="android:maxHeight">76dip</item>
     </style>
-    
+
     <style name="Widget.ProgressBar.Small">
         <item name="android:indeterminateDrawable">@android:drawable/progress_small_white</item>
         <item name="android:minWidth">16dip</item>
@@ -333,8 +333,8 @@
 
     <style name="Widget.ProgressBar.Small.Inverse">
         <item name="android:indeterminateDrawable">@android:drawable/progress_small</item>
-    </style> 
-    
+    </style>
+
     <style name="Widget.ProgressBar.Small.Title">
         <item name="android:indeterminateDrawable">@android:drawable/progress_small_titlebar</item>
     </style>
@@ -393,7 +393,7 @@
         <item name="android:textSelectHandleRight">?android:attr/textSelectHandleRight</item>
         <item name="android:textSelectHandle">?android:attr/textSelectHandle</item>
     </style>
-    
+
     <style name="Widget.TextView.ListSeparator">
         <item name="android:background">@android:drawable/dark_header_dither</item>
         <item name="android:layout_width">match_parent</item>
@@ -419,7 +419,7 @@
         <item name="android:textColor">@android:color/primary_text_light</item>
         <item name="android:gravity">center_vertical</item>
     </style>
-    
+
     <style name="Widget.ExpandableListView" parent="Widget.ListView">
         <item name="android:groupIndicator">@android:drawable/expander_group</item>
         <item name="android:indicatorLeft">?android:attr/expandableListPreferredItemIndicatorLeft</item>
@@ -478,7 +478,7 @@
         <item name="android:paddingRight">6dip</item>
         <item name="android:gravity">center_vertical</item>
     </style>
-    
+
     <style name="Widget.DropDownItem.Spinner">
         <item name="android:checkMark">@android:drawable/btn_radio</item>
     </style>
@@ -498,20 +498,20 @@
         <item name="android:cacheColorHint">?android:attr/colorBackgroundCacheHint</item>
         <item name="android:divider">@android:drawable/divider_horizontal_dark_opaque</item>
     </style>
-    
+
     <style name="Widget.ListView.White" parent="Widget.AbsListView">
         <item name="android:listSelector">@android:drawable/list_selector_background</item>
         <item name="android:cacheColorHint">?android:attr/colorBackgroundCacheHint</item>
         <item name="android:divider">@android:drawable/divider_horizontal_bright_opaque</item>
-    </style>    
+    </style>
 
     <style name="Widget.ListView.DropDown">
-    	<item name="android:cacheColorHint">@null</item>
+        <item name="android:cacheColorHint">@null</item>
         <item name="android:divider">@android:drawable/divider_horizontal_bright_opaque</item>
     </style>
 
     <style name="Widget.ListView.Menu">
-		<item name="android:cacheColorHint">@null</item>
+                <item name="android:cacheColorHint">@null</item>
         <item name="android:scrollbars">vertical</item>
         <item name="android:fadingEdge">vertical</item>
         <item name="listSelector">@android:drawable/menu_selector</item>
@@ -551,7 +551,7 @@
         <item name="android:spacing">-20dip</item>
         <item name="android:unselectedAlpha">0.85</item>
     </style>
-    
+
     <style name="Widget.PopupWindow">
         <item name="android:popupBackground">@android:drawable/editbox_dropdown_background_dark</item>
         <item name="android:popupAnimationStyle">@android:style/Animation.PopupWindow</item>
@@ -579,7 +579,7 @@
         <item name="android:clickable">true</item>
         <item name="android:scaleType">fitCenter</item>
     </style>
-    
+
     <style name="Widget.QuickContactBadgeSmall">
         <item name="android:layout_width">39dip</item>
         <item name="android:layout_height">42dip</item>
@@ -599,7 +599,7 @@
     <style name="Widget.QuickContactBadge.WindowLarge">
         <item name="android:quickContactWindowSize">modeLarge</item>
     </style>
-    
+
     <style name="Widget.QuickContactBadgeSmall.WindowSmall">
         <item name="android:quickContactWindowSize">modeSmall</item>
     </style>
@@ -700,7 +700,7 @@
         <item name="android:textStyle">normal</item>
         <item name="android:textColor">@android:color/tab_indicator_text</item>
     </style>
-    
+
     <style name="TextAppearance.Widget.TextView">
         <item name="android:textColor">?textColorPrimaryDisableOnly</item>
         <item name="android:textColorHint">?textColorHint</item>
@@ -724,9 +724,9 @@
     <style name="TextAppearance.Widget.TextView.SpinnerItem">
         <item name="android:textColor">@android:color/primary_text_light_disable_only</item>
     </style>
-    
+
     <!-- @hide -->
-    <style name="TextAppearance.SlidingTabNormal" 
+    <style name="TextAppearance.SlidingTabNormal"
         parent="@android:attr/textAppearanceMedium">
         <item name="android:textColor">?android:attr/textColorTertiary</item>
         <item name="android:textSize">28sp</item>
@@ -737,30 +737,30 @@
     </style>
 
     <!-- @hide -->
-    <style name="TextAppearance.SlidingTabActive" 
+    <style name="TextAppearance.SlidingTabActive"
         parent="@android:attr/textAppearanceMedium">
         <item name="android:textColor">@android:color/sliding_tab_text_color_active</item>
         <item name="android:textSize">28sp</item>
     </style>
-    
 
-    <!-- @hide -->	
-     <style name="TextAppearance.SearchResult">	
-         <item name="android:textStyle">normal</item>	
-         <item name="android:textColor">?textColorPrimaryInverse</item>	
-         <item name="android:textColorHint">?textColorHintInverse</item>	
-     </style>	
-     	
-     <!-- @hide -->	
-     <style name="TextAppearance.SearchResult.Title">	
-         <item name="android:textSize">16sp</item>	
-     </style>	
-     	
-     <!-- @hide -->	
-     <style name="TextAppearance.SearchResult.Subtitle">	
-         <item name="android:textSize">13sp</item>	
-         <item name="android:textColor">?textColorSecondaryInverse</item>	
-     </style>	
+
+    <!-- @hide -->
+     <style name="TextAppearance.SearchResult">
+         <item name="android:textStyle">normal</item>
+         <item name="android:textColor">?textColorPrimaryInverse</item>
+         <item name="android:textColorHint">?textColorHintInverse</item>
+     </style>
+
+     <!-- @hide -->
+     <style name="TextAppearance.SearchResult.Title">
+         <item name="android:textSize">16sp</item>
+     </style>
+
+     <!-- @hide -->
+     <style name="TextAppearance.SearchResult.Subtitle">
+         <item name="android:textSize">13sp</item>
+         <item name="android:textColor">?textColorSecondaryInverse</item>
+     </style>
 
     <style name="TextAppearance.WindowTitle">
         <item name="android:textColor">#fff</item>
@@ -773,24 +773,24 @@
     <style name="Preference">
         <item name="android:layout">@android:layout/preference</item>
     </style>
-    
+
     <style name="Preference.Information">
         <item name="android:layout">@android:layout/preference_information</item>
         <item name="android:enabled">false</item>
         <item name="android:shouldDisableView">false</item>
     </style>
-    
+
     <style name="Preference.Category">
         <item name="android:layout">@android:layout/preference_category</item>
         <!-- The title should not dim if the category is disabled, instead only the preference children should dim. -->
         <item name="android:shouldDisableView">false</item>
         <item name="android:selectable">false</item>
     </style>
-    
+
     <style name="Preference.CheckBoxPreference">
         <item name="android:widgetLayout">@android:layout/preference_widget_checkbox</item>
     </style>
-    
+
     <style name="Preference.PreferenceScreen">
     </style>
 
@@ -799,16 +799,16 @@
         <item name="android:negativeButtonText">@android:string/cancel</item>
         <item name="android:widgetLayout">@android:layout/preference_dialog</item>
     </style>
-    
+
     <style name="Preference.DialogPreference.YesNoPreference">
         <item name="android:positiveButtonText">@android:string/yes</item>
         <item name="android:negativeButtonText">@android:string/no</item>
     </style>
-    
+
     <style name="Preference.DialogPreference.EditTextPreference">
         <item name="android:dialogLayout">@android:layout/preference_dialog_edittext</item>
     </style>
-    
+
     <style name="Preference.RingtonePreference">
         <item name="android:ringtoneType">ringtone</item>
         <item name="android:showSilent">true</item>
@@ -854,7 +854,7 @@
         <item name="android:paddingLeft">15dip</item>
         <item name="android:paddingRight">15dip</item>
     </style>
-    
+
     <!-- Style you can use with a container (typically a horizontal
          LinearLayout) to get the standard "button bar" background and
          spacing. @hide -->
diff --git a/overlay/ldpi/frameworks/base/packages/SystemUI/res/layout/status_bar_expanded.xml b/overlay/ldpi/frameworks/base/packages/SystemUI/res/layout/status_bar_expanded.xml
index 701b7b7..6ae907d 100644
--- a/overlay/ldpi/frameworks/base/packages/SystemUI/res/layout/status_bar_expanded.xml
+++ b/overlay/ldpi/frameworks/base/packages/SystemUI/res/layout/status_bar_expanded.xml
@@ -5,16 +5,16 @@
 ** Copyright 2006, The Android Open Source Project
 ** Patched by Sven Dawitz; Copyright (C) 2011 CyanogenMod Project
 **
-** Licensed under the Apache License, Version 2.0 (the "License"); 
-** you may not use this file except in compliance with the License. 
-** You may obtain a copy of the License at 
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
 **
-**     http://www.apache.org/licenses/LICENSE-2.0 
+**     http://www.apache.org/licenses/LICENSE-2.0
 **
-** Unless required by applicable law or agreed to in writing, software 
-** distributed under the License is distributed on an "AS IS" BASIS, 
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
-** See the License for the specific language governing permissions and 
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
 ** limitations under the License.
 */
 -->
diff --git a/overlay/ldpi/frameworks/base/packages/SystemUI/res/values/styles.xml b/overlay/ldpi/frameworks/base/packages/SystemUI/res/values/styles.xml
index 879746e..d1b8e39 100644
--- a/overlay/ldpi/frameworks/base/packages/SystemUI/res/values/styles.xml
+++ b/overlay/ldpi/frameworks/base/packages/SystemUI/res/values/styles.xml
@@ -4,9 +4,9 @@
      Licensed under the Apache License, Version 2.0 (the "License");
      you may not use this file except in compliance with the License.
      You may obtain a copy of the License at
-  
+
           http://www.apache.org/licenses/LICENSE-2.0
-  
+
      Unless required by applicable law or agreed to in writing, software
      distributed under the License is distributed on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
diff --git a/overlay/ldpi/packages/apps/ADWLauncher/res/layout/widget_span_setup.xml b/overlay/ldpi/packages/apps/ADWLauncher/res/layout/widget_span_setup.xml
index 54d1607..0ebb562 100644
--- a/overlay/ldpi/packages/apps/ADWLauncher/res/layout/widget_span_setup.xml
+++ b/overlay/ldpi/packages/apps/ADWLauncher/res/layout/widget_span_setup.xml
@@ -15,54 +15,54 @@
  * limitations under the License.
  */
  -->
-<LinearLayout 
-	xmlns:android="http://schemas.android.com/apk/res/android"
-	android:orientation="vertical"
-	android:layout_width="fill_parent"
-	android:layout_height="fill_parent"
-	android:id="@+id/layout_root"
-	>
-	<LinearLayout 
-		android:orientation="horizontal"
-		android:layout_width="fill_parent"
-		android:layout_height="fill_parent"
-		android:padding="5dp"
-		android:layout_weight="1.0"
-		>
-	    <TextView
-	        android:id="@+id/text_columns_span"
-	        android:layout_width="fill_parent"
-	        android:layout_height="fill_parent" 
-	        android:layout_weight="1.0"
-	        android:gravity="center_horizontal"
-	        android:text="@string/widget_columns"/>
-	    <TextView
-	        android:id="@+id/text_rows_span"
-	        android:layout_width="fill_parent"
-	        android:layout_height="fill_parent"
-	        android:layout_weight="1.0"
-	        android:gravity="center_horizontal"
-	        android:text="@string/widget_rows"/>
-	    
-	</LinearLayout>
-	<LinearLayout 
-		android:orientation="horizontal"
-		android:layout_width="fill_parent"
-		android:layout_height="fill_parent"
-		android:padding="5dp"
-		android:layout_weight="1.0"
-		>
-	    <com.android.launcher.NumberPicker
-	        android:id="@+id/widget_columns_span"
-	        android:layout_width="fill_parent"
-	        android:layout_height="fill_parent" 
-	        android:layout_weight="1.0"/>
-	    <com.android.launcher.NumberPicker
-	        android:id="@+id/widget_rows_span"
-	        android:layout_width="fill_parent"
-	        android:layout_height="fill_parent"
-	        android:layout_weight="1.0" />
-	    
-	</LinearLayout>
+<LinearLayout
+        xmlns:android="http://schemas.android.com/apk/res/android"
+        android:orientation="vertical"
+        android:layout_width="fill_parent"
+        android:layout_height="fill_parent"
+        android:id="@+id/layout_root"
+        >
+        <LinearLayout
+                android:orientation="horizontal"
+                android:layout_width="fill_parent"
+                android:layout_height="fill_parent"
+                android:padding="5dp"
+                android:layout_weight="1.0"
+                >
+            <TextView
+                android:id="@+id/text_columns_span"
+                android:layout_width="fill_parent"
+                android:layout_height="fill_parent"
+                android:layout_weight="1.0"
+                android:gravity="center_horizontal"
+                android:text="@string/widget_columns"/>
+            <TextView
+                android:id="@+id/text_rows_span"
+                android:layout_width="fill_parent"
+                android:layout_height="fill_parent"
+                android:layout_weight="1.0"
+                android:gravity="center_horizontal"
+                android:text="@string/widget_rows"/>
+
+        </LinearLayout>
+        <LinearLayout
+                android:orientation="horizontal"
+                android:layout_width="fill_parent"
+                android:layout_height="fill_parent"
+                android:padding="5dp"
+                android:layout_weight="1.0"
+                >
+            <com.android.launcher.NumberPicker
+                android:id="@+id/widget_columns_span"
+                android:layout_width="fill_parent"
+                android:layout_height="fill_parent"
+                android:layout_weight="1.0"/>
+            <com.android.launcher.NumberPicker
+                android:id="@+id/widget_rows_span"
+                android:layout_width="fill_parent"
+                android:layout_height="fill_parent"
+                android:layout_weight="1.0" />
+
+        </LinearLayout>
 </LinearLayout>
 
diff --git a/overlay/ldpi/packages/apps/DeskClock/res/layout-land/desk_clock.xml b/overlay/ldpi/packages/apps/DeskClock/res/layout-land/desk_clock.xml
index 7d49d55..f03ad42 100644
--- a/overlay/ldpi/packages/apps/DeskClock/res/layout-land/desk_clock.xml
+++ b/overlay/ldpi/packages/apps/DeskClock/res/layout-land/desk_clock.xml
@@ -65,7 +65,7 @@
                     android:shadowColor="#C0000000"
                     android:shadowDx="0"
                     android:shadowDy="0"
-                    android:shadowRadius="3.0"                        
+                    android:shadowRadius="3.0"
                     />
 
                 <include layout="@layout/desk_clock_battery"
diff --git a/overlay/ldpi/packages/apps/DeskClock/res/layout/desk_clock.xml b/overlay/ldpi/packages/apps/DeskClock/res/layout/desk_clock.xml
index 1b4d9be..c16b0c6 100644
--- a/overlay/ldpi/packages/apps/DeskClock/res/layout/desk_clock.xml
+++ b/overlay/ldpi/packages/apps/DeskClock/res/layout/desk_clock.xml
@@ -69,7 +69,7 @@
                     android:shadowColor="#C0000000"
                     android:shadowDx="0"
                     android:shadowDy="0"
-                    android:shadowRadius="3.0"                        
+                    android:shadowRadius="3.0"
                     />
                 <ImageButton android:id="@+id/nightmode_button"
                     style="@style/RoundTouchButton"
diff --git a/overlay/ldpi/packages/apps/Music/res/layout-land-mdpi-finger/audio_player.xml b/overlay/ldpi/packages/apps/Music/res/layout-land-mdpi-finger/audio_player.xml
index f0420fa..bc3cb6b 100644
--- a/overlay/ldpi/packages/apps/Music/res/layout-land-mdpi-finger/audio_player.xml
+++ b/overlay/ldpi/packages/apps/Music/res/layout-land-mdpi-finger/audio_player.xml
@@ -4,9 +4,9 @@
      Licensed under the Apache License, Version 2.0 (the "License");
      you may not use this file except in compliance with the License.
      You may obtain a copy of the License at
-  
+
           http://www.apache.org/licenses/LICENSE-2.0
-  
+
      Unless required by applicable law or agreed to in writing, software
      distributed under the License is distributed on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
diff --git a/overlay/ldpi/packages/apps/Music/res/layout-mdpi-finger/audio_player.xml b/overlay/ldpi/packages/apps/Music/res/layout-mdpi-finger/audio_player.xml
index 7990253..b69a609 100644
--- a/overlay/ldpi/packages/apps/Music/res/layout-mdpi-finger/audio_player.xml
+++ b/overlay/ldpi/packages/apps/Music/res/layout-mdpi-finger/audio_player.xml
@@ -4,9 +4,9 @@
      Licensed under the Apache License, Version 2.0 (the "License");
      you may not use this file except in compliance with the License.
      You may obtain a copy of the License at
-  
+
           http://www.apache.org/licenses/LICENSE-2.0
-  
+
      Unless required by applicable law or agreed to in writing, software
      distributed under the License is distributed on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
diff --git a/overlay/ldpi/packages/apps/Phone/res/layout/incall_touch_ui_left.xml b/overlay/ldpi/packages/apps/Phone/res/layout/incall_touch_ui_left.xml
index bfe9719..d6ac08e 100644
--- a/overlay/ldpi/packages/apps/Phone/res/layout/incall_touch_ui_left.xml
+++ b/overlay/ldpi/packages/apps/Phone/res/layout/incall_touch_ui_left.xml
@@ -160,7 +160,7 @@
                         android:drawableTop="@drawable/ic_in_call_touch_end"
                         android:textColor="@color/incall_endButtonLabel"
                         />
-    
+
                 <!-- The upper-right button in the main cluster is either
                      "Add" or "Merge", depending on the state of the call. -->
                 <FrameLayout
diff --git a/overlay/ldpi/packages/apps/Phone/res/values/styles.xml b/overlay/ldpi/packages/apps/Phone/res/values/styles.xml
index cb4ffa0..516da80 100644
--- a/overlay/ldpi/packages/apps/Phone/res/values/styles.xml
+++ b/overlay/ldpi/packages/apps/Phone/res/values/styles.xml
@@ -126,7 +126,7 @@
     <!-- OTA Call Card styles -->
     <style name="ccOtaButtonBar">
         <!-- TODO: change height to 'wrap_content' when layout bug is fixed -->
-        <item name="android:layout_height">60dip</item> 
+        <item name="android:layout_height">60dip</item>
         <item name="android:layout_width">match_parent</item>
         <item name="android:background">@android:drawable/bottom_bar</item>
     </style>
diff --git a/overlay/ldpi/packages/apps/Settings/res/layout/choose_lock_pattern_example.xml b/overlay/ldpi/packages/apps/Settings/res/layout/choose_lock_pattern_example.xml
index 5d5d074..7c14e5f 100644
--- a/overlay/ldpi/packages/apps/Settings/res/layout/choose_lock_pattern_example.xml
+++ b/overlay/ldpi/packages/apps/Settings/res/layout/choose_lock_pattern_example.xml
@@ -4,9 +4,9 @@
      Licensed under the Apache License, Version 2.0 (the "License");
      you may not use this file except in compliance with the License.
      You may obtain a copy of the License at
-  
+
           http://www.apache.org/licenses/LICENSE-2.0
-  
+
      Unless required by applicable law or agreed to in writing, software
      distributed under the License is distributed on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -18,18 +18,18 @@
     android:orientation="vertical"
     android:layout_height="match_parent"
     android:layout_width="match_parent">
-    
-    <ScrollView 
+
+    <ScrollView
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:layout_weight="1">
-        
+
         <LinearLayout
             android:orientation="vertical"
             android:layout_height="match_parent"
             android:layout_width="match_parent"
             android:padding="5dip">
-            
+
             <TextView
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
@@ -38,7 +38,7 @@
                 style="?android:attr/textAppearanceLarge"
                 android:visibility="gone"
             />
-        
+
             <ImageView android:id="@+id/lock_anim"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
@@ -47,7 +47,7 @@
                 android:focusable="false"
                 android:clickable="false"
             />
-            
+
             <TextView
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
@@ -55,18 +55,18 @@
                 android:text="@string/lock_example_message"
                 android:layout_gravity="left"
                 style="?android:attr/textAppearanceMedium"
-				android:visibility="gone"
+                                android:visibility="gone"
             />
-            
+
         </LinearLayout>
 
     </ScrollView>
-    
+
     <LinearLayout style="@android:style/ButtonBar"
         android:orientation="horizontal"
         android:layout_width="match_parent"
         android:layout_height="wrap_content">
-        
+
         <Button android:id="@+id/skip_button"
             android:layout_height="wrap_content"
             android:layout_width="140dip"
@@ -74,14 +74,14 @@
             android:singleLine="true"
             android:text="@string/skip_button_label"
         />
-      
+
         <!-- Placeholder to get blank space between the two buttons -->
         <View
             android:visibility="invisible"
             android:layout_height="0dip"
             android:layout_width="1dip"
             android:layout_weight="1" />
-            
+
         <Button android:id="@+id/next_button"
             android:layout_height="wrap_content"
             android:layout_width="140dip"
@@ -91,7 +91,7 @@
             android:drawablePadding="3dip"
             android:text="@string/next_button_label"
         />
-        
+
     </LinearLayout>
-    
+
 </LinearLayout>
diff --git a/overlay/leo/packages/apps/Camera/res/values/config.xml b/overlay/leo/packages/apps/Camera/res/values/config.xml
index 9e133a1..35f3cef 100644
--- a/overlay/leo/packages/apps/Camera/res/values/config.xml
+++ b/overlay/leo/packages/apps/Camera/res/values/config.xml
@@ -3,16 +3,16 @@
 /*
 ** Copyright 2011, The CyanogenMod Project
 **
-** Licensed under the Apache License, Version 2.0 (the "License"); 
-** you may not use this file except in compliance with the License. 
-** You may obtain a copy of the License at 
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
 **
-**     http://www.apache.org/licenses/LICENSE-2.0 
+**     http://www.apache.org/licenses/LICENSE-2.0
 **
-** Unless required by applicable law or agreed to in writing, software 
-** distributed under the License is distributed on an "AS IS" BASIS, 
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
-** See the License for the specific language governing permissions and 
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
 ** limitations under the License.
 */
 -->
@@ -20,9 +20,9 @@
 <!-- These resources are around just to allow their values to be customized
      for different hardware and product builds. -->
 <resources>
-	<!-- FFC parameter filtering -->
-	<bool name="ffc_canFocus">false</bool>
-	<bool name="ffc_canZoom">false</bool>
-	<string name="ffc_supportedEffects">none,mono,sepia</string>
+        <!-- FFC parameter filtering -->
+        <bool name="ffc_canFocus">false</bool>
+        <bool name="ffc_canZoom">false</bool>
+        <string name="ffc_supportedEffects">none,mono,sepia</string>
 </resources>
 
diff --git a/overlay/passion/frameworks/base/core/res/res/values/config.xml b/overlay/passion/frameworks/base/core/res/res/values/config.xml
index cf9a060..960a389 100644
--- a/overlay/passion/frameworks/base/core/res/res/values/config.xml
+++ b/overlay/passion/frameworks/base/core/res/res/values/config.xml
@@ -3,22 +3,22 @@
 /*
 ** Copyright 2011, The CyanogenMod Project
 **
-** Licensed under the Apache License, Version 2.0 (the "License"); 
-** you may not use this file except in compliance with the License. 
-** You may obtain a copy of the License at 
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
 **
-**     http://www.apache.org/licenses/LICENSE-2.0 
+**     http://www.apache.org/licenses/LICENSE-2.0
 **
-** Unless required by applicable law or agreed to in writing, software 
-** distributed under the License is distributed on an "AS IS" BASIS, 
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
-** See the License for the specific language governing permissions and 
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
 ** limitations under the License.
 */
 -->
 <resources>
 
-    <!-- Component name of the default wallpaper. This will be ImageWallpaper if not 
+    <!-- Component name of the default wallpaper. This will be ImageWallpaper if not
          specified -->
     <string name="default_wallpaper_component">com.android.wallpaper/.nexus.NexusWallpaper</string>
 
diff --git a/overlay/speedy/frameworks/base/core/res/res/values/config.xml b/overlay/speedy/frameworks/base/core/res/res/values/config.xml
index cf9a060..960a389 100644
--- a/overlay/speedy/frameworks/base/core/res/res/values/config.xml
+++ b/overlay/speedy/frameworks/base/core/res/res/values/config.xml
@@ -3,22 +3,22 @@
 /*
 ** Copyright 2011, The CyanogenMod Project
 **
-** Licensed under the Apache License, Version 2.0 (the "License"); 
-** you may not use this file except in compliance with the License. 
-** You may obtain a copy of the License at 
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
 **
-**     http://www.apache.org/licenses/LICENSE-2.0 
+**     http://www.apache.org/licenses/LICENSE-2.0
 **
-** Unless required by applicable law or agreed to in writing, software 
-** distributed under the License is distributed on an "AS IS" BASIS, 
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
-** See the License for the specific language governing permissions and 
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
 ** limitations under the License.
 */
 -->
 <resources>
 
-    <!-- Component name of the default wallpaper. This will be ImageWallpaper if not 
+    <!-- Component name of the default wallpaper. This will be ImageWallpaper if not
          specified -->
     <string name="default_wallpaper_component">com.android.wallpaper/.nexus.NexusWallpaper</string>
 
diff --git a/overlay/speedy/packages/apps/Camera/res/values/config.xml b/overlay/speedy/packages/apps/Camera/res/values/config.xml
index e9e9e19..2cba641 100644
--- a/overlay/speedy/packages/apps/Camera/res/values/config.xml
+++ b/overlay/speedy/packages/apps/Camera/res/values/config.xml
@@ -3,16 +3,16 @@
 /*
 ** Copyright 2011, The CyanogenMod Project
 **
-** Licensed under the Apache License, Version 2.0 (the "License"); 
-** you may not use this file except in compliance with the License. 
-** You may obtain a copy of the License at 
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
 **
-**     http://www.apache.org/licenses/LICENSE-2.0 
+**     http://www.apache.org/licenses/LICENSE-2.0
 **
-** Unless required by applicable law or agreed to in writing, software 
-** distributed under the License is distributed on an "AS IS" BASIS, 
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
-** See the License for the specific language governing permissions and 
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
 ** limitations under the License.
 */
 -->
@@ -20,6 +20,6 @@
 <!-- These resources are around just to allow their values to be customized
      for different hardware and product builds. -->
 <resources>
-	<string name="filtered_pictureSizes">2592x1936</string>
+        <string name="filtered_pictureSizes">2592x1936</string>
 </resources>
 
diff --git a/overlay/supersonic/packages/apps/Camera/res/values/config.xml b/overlay/supersonic/packages/apps/Camera/res/values/config.xml
index 9e133a1..35f3cef 100644
--- a/overlay/supersonic/packages/apps/Camera/res/values/config.xml
+++ b/overlay/supersonic/packages/apps/Camera/res/values/config.xml
@@ -3,16 +3,16 @@
 /*
 ** Copyright 2011, The CyanogenMod Project
 **
-** Licensed under the Apache License, Version 2.0 (the "License"); 
-** you may not use this file except in compliance with the License. 
-** You may obtain a copy of the License at 
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
 **
-**     http://www.apache.org/licenses/LICENSE-2.0 
+**     http://www.apache.org/licenses/LICENSE-2.0
 **
-** Unless required by applicable law or agreed to in writing, software 
-** distributed under the License is distributed on an "AS IS" BASIS, 
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
-** See the License for the specific language governing permissions and 
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
 ** limitations under the License.
 */
 -->
@@ -20,9 +20,9 @@
 <!-- These resources are around just to allow their values to be customized
      for different hardware and product builds. -->
 <resources>
-	<!-- FFC parameter filtering -->
-	<bool name="ffc_canFocus">false</bool>
-	<bool name="ffc_canZoom">false</bool>
-	<string name="ffc_supportedEffects">none,mono,sepia</string>
+        <!-- FFC parameter filtering -->
+        <bool name="ffc_canFocus">false</bool>
+        <bool name="ffc_canZoom">false</bool>
+        <string name="ffc_supportedEffects">none,mono,sepia</string>
 </resources>
 
diff --git a/overlay/vision/frameworks/base/core/res/res/values/config.xml b/overlay/vision/frameworks/base/core/res/res/values/config.xml
index cf9a060..960a389 100644
--- a/overlay/vision/frameworks/base/core/res/res/values/config.xml
+++ b/overlay/vision/frameworks/base/core/res/res/values/config.xml
@@ -3,22 +3,22 @@
 /*
 ** Copyright 2011, The CyanogenMod Project
 **
-** Licensed under the Apache License, Version 2.0 (the "License"); 
-** you may not use this file except in compliance with the License. 
-** You may obtain a copy of the License at 
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
 **
-**     http://www.apache.org/licenses/LICENSE-2.0 
+**     http://www.apache.org/licenses/LICENSE-2.0
 **
-** Unless required by applicable law or agreed to in writing, software 
-** distributed under the License is distributed on an "AS IS" BASIS, 
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
-** See the License for the specific language governing permissions and 
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
 ** limitations under the License.
 */
 -->
 <resources>
 
-    <!-- Component name of the default wallpaper. This will be ImageWallpaper if not 
+    <!-- Component name of the default wallpaper. This will be ImageWallpaper if not
          specified -->
     <string name="default_wallpaper_component">com.android.wallpaper/.nexus.NexusWallpaper</string>
 
diff --git a/overlay/vision/packages/apps/Camera/res/values/config.xml b/overlay/vision/packages/apps/Camera/res/values/config.xml
index e9e9e19..2cba641 100644
--- a/overlay/vision/packages/apps/Camera/res/values/config.xml
+++ b/overlay/vision/packages/apps/Camera/res/values/config.xml
@@ -3,16 +3,16 @@
 /*
 ** Copyright 2011, The CyanogenMod Project
 **
-** Licensed under the Apache License, Version 2.0 (the "License"); 
-** you may not use this file except in compliance with the License. 
-** You may obtain a copy of the License at 
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
 **
-**     http://www.apache.org/licenses/LICENSE-2.0 
+**     http://www.apache.org/licenses/LICENSE-2.0
 **
-** Unless required by applicable law or agreed to in writing, software 
-** distributed under the License is distributed on an "AS IS" BASIS, 
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
-** See the License for the specific language governing permissions and 
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
 ** limitations under the License.
 */
 -->
@@ -20,6 +20,6 @@
 <!-- These resources are around just to allow their values to be customized
      for different hardware and product builds. -->
 <resources>
-	<string name="filtered_pictureSizes">2592x1936</string>
+        <string name="filtered_pictureSizes">2592x1936</string>
 </resources>
 
