summaryrefslogtreecommitdiff
path: root/~lukeshu
diff options
context:
space:
mode:
authorLuke Shumaker <LukeShu@sbcglobal.net>2011-12-23 11:57:41 -0500
committerLuke Shumaker <LukeShu@sbcglobal.net>2011-12-23 11:57:41 -0500
commit820f075a89a44c4ade3eb4049071d4c28664d52e (patch)
treefa0ec906228c7e8634a5fb7df37bc40efd372f13 /~lukeshu
parent2574d86e478780b7f332aa097b4db4a3a5e4ca30 (diff)
downloadabslibre-820f075a89a44c4ade3eb4049071d4c28664d52e.tar.gz
abslibre-820f075a89a44c4ade3eb4049071d4c28664d52e.tar.bz2
abslibre-820f075a89a44c4ade3eb4049071d4c28664d52e.zip
update [android-udev] in [~lukeshu] from AUR
Diffstat (limited to '~lukeshu')
-rw-r--r--~lukeshu/android-udev/.gitignore1
-rw-r--r--~lukeshu/android-udev/51-android.rules100
-rw-r--r--~lukeshu/android-udev/Makefile33
-rw-r--r--~lukeshu/android-udev/PKGBUILD10
4 files changed, 101 insertions, 43 deletions
diff --git a/~lukeshu/android-udev/.gitignore b/~lukeshu/android-udev/.gitignore
new file mode 100644
index 000000000..290a3baa3
--- /dev/null
+++ b/~lukeshu/android-udev/.gitignore
@@ -0,0 +1 @@
+aur \ No newline at end of file
diff --git a/~lukeshu/android-udev/51-android.rules b/~lukeshu/android-udev/51-android.rules
index c52379309..51f80cf54 100644
--- a/~lukeshu/android-udev/51-android.rules
+++ b/~lukeshu/android-udev/51-android.rules
@@ -1,24 +1,23 @@
# Acer
SUBSYSTEM=="usb", ATTR{idVendor}=="0502", MODE="0666", GROUP="adbusers"
-# ICONIA TAB A500
+# Iconia Tab A500
SUBSYSTEM=="usb", ATTR{idVendor}=="0502", ATTR{idProduct}=="3325", SYMLINK+="android_adb"
-SUBSYSTEM=="usb", ATTR{idVendor}=="0502", ATTR{idProduct}=="3325", SYMLINK+="android_fastboot"
+SUBSYSTEM=="usb", ATTR{idVendor}=="0502", ATTR{idProduct}=="3325", SYMLINK+="android_fastboot"
+# Liquid
+SUBSYSTEM=="usb", ATTR{idVendor}=="0502", ATTR{idProduct}=="3202"
+SUBSYSTEM=="usb", ATTR{idVendor}=="0502", ATTR{idProduct}=="3203", SYMLINK+="android_adb"
# Archos
SUBSYSTEM=="usb", ATTR{idVendor}=="0e79", MODE="0666", GROUP="adbusers"
# 43
SUBSYSTEM=="usb", ATTR{idVendor}=="0e79", ATTR{idProduct}=="1417", SYMLINK+="android_adb"
-SUBSYSTEM=="usb", ATTR{idVendor}=="0e79", ATTR{idProduct}=="1417", SYMLINK+="android_fastboot"
+SUBSYSTEM=="usb", ATTR{idVendor}=="0e79", ATTR{idProduct}=="1417", SYMLINK+="android_fastboot"
# 101
SUBSYSTEM=="usb", ATTR{idVendor}=="0e79", ATTR{idProduct}=="1411", SYMLINK+="android_adb"
-SUBSYSTEM=="usb", ATTR{idVendor}=="0e79", ATTR{idProduct}=="1411", SYMLINK+="android_fastboot"
+SUBSYSTEM=="usb", ATTR{idVendor}=="0e79", ATTR{idProduct}=="1411", SYMLINK+="android_fastboot"
# Asus
-SUBSYSTEM=="usb", ATTR{idVendor}=="0b05", MODE="0666", GROUP="adbusers"
-
-# Blade
-SUBSYSTEM=="usb", ATTR{idVendor}=="19d2", ATTR{idProduct}=="1354", SYMLINK+="android_adb"
-SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="d00d", SYMLINK+="android_fastboot"
+SUBSYSTEM=="usb", ATTR{idVendor}=="0b05", MODE="0666", GROUP="adbusers"
# Dell
SUBSYSTEM=="usb", ATTR{idVendor}=="413c", MODE="0666", GROUP="adbusers"
@@ -32,13 +31,15 @@ SUBSYSTEM=="usb", ATTR{idVendor}=="091e", MODE="0666", GROUP="adbusers"
# Google
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="adbusers"
# NEXUS S
-SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e21",
+SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e21",
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e22", SYMLINK+="android_adb"
-SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e20", SYMLINK+="android_fastboot"
+SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e20", SYMLINK+="android_fastboot"
# Nexus One
-SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e11",
+SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e11",
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e12", SYMLINK+="android_adb"
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="0fff", SYMLINK+="android_fastboot"
+# Generic and unspecified debug interface
+SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="d00d", SYMLINK+="android_fastboot"
# HTC
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", GROUP="adbusers"
@@ -46,14 +47,17 @@ SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", GROUP="adbusers"
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0cb2", SYMLINK+="android_adb"
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0cb2", SYMLINK+="android_fastboot"
# Desire (Bravo)
-SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0ff9",
+SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0ff9",
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0c87", SYMLINK+="android_adb"
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", SYMLINK+="android_fastboot"
+# Desire HD
+SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0ca2", SYMLINK+="android_adb"
+SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", SYMLINK+="android_fastboot"
# Desire Z
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0c91", SYMLINK+="android_adb"
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0c91", SYMLINK+="android_fastboot"
# Evo Shift
-SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0ff9",
+SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0ff9",
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0ca5", SYMLINK+="android_adb"
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", SYMLINK+="android_fastboot"
# HD2
@@ -61,36 +65,37 @@ SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0c02", SYMLINK+="and
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0c02", SYMLINK+="android_fastboot"
# Hero H2000
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0001", SYMLINK+="android_adb"
-SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0001", SYMLINK+="android_fastboot"
-# Hero (GSM)
-SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0ff9",
+SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0001", SYMLINK+="android_fastboot"
+# Hero (GSM), Desire
+SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0ff9",
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0c99", SYMLINK+="android_adb"
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", SYMLINK+="android_fastboot"
# Hero (CDMA)
-SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0ff9",
+SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0ff9",
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0c9a", SYMLINK+="android_adb"
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", SYMLINK+="android_fastboot"
# Incredible
-SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0ff9",
+SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0ff9",
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0c9e", SYMLINK+="android_adb"
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", SYMLINK+="android_fastboot"
-# Incredible rev 0002
-SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0ff9",
+# Evo 4G, Incredible rev 0002
+SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0ff9",
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0c8d", SYMLINK+="android_adb"
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", SYMLINK+="android_fastboot"
# MyTouch 4G
-SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0ff9",
+SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0ff9",
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0c96", SYMLINK+="android_adb"
-SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", SYMLINK+="android_fastboot"
+SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", SYMLINK+="android_fastboot"
# Slide
-SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0ff9",
+SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0ff9",
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0e03", SYMLINK+="android_adb"
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", SYMLINK+="android_fastboot"
-# Tatoo
+# Tatoo, Dream, ADP1 , G1, Magic
+SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0c01"
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0c02", SYMLINK+="android_adb"
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0c02", SYMLINK+="android_fastboot"
# Vision
-SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0ff9",
+SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0ff9",
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0c91", SYMLINK+="android_adb"
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", SYMLINK+="android_fastboot"
# Wildfire
@@ -122,8 +127,14 @@ SUBSYSTEM=="usb", ATTR{idVendor}=="17ef", MODE="0666", GROUP="adbusers"
# LG
SUBSYSTEM=="usb", ATTR{idVendor}=="1004", MODE="0666", GROUP="adbusers"
-# LG (Swift) GT540
-SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="d00d", SYMLINK+="android_fastboot"
+# Ally, Vortex, P500
+SUBSYSTEM=="usb", ATTR{idVendor}=="1004", ATTR{idProduct}=="618f"
+SUBSYSTEM=="usb", ATTR{idVendor}=="1004", ATTR{idProduct}=="618e", SYMLINK+="android_adb"
+# Optimus One
+SUBSYSTEM=="usb", ATTR{idVendor}=="1004", ATTR{idProduct}=="61c5", SYMLINK+="android_adb"
+# Swift GT540
+SUBSYSTEM=="usb", ATTR{idVendor}=="1004", ATTR{idProduct}=="61b4", SYMLINK+="android_adb"
+
# Motorola
SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", MODE="0666", GROUP="adbusers"
@@ -131,14 +142,14 @@ SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", MODE="0666", GROUP="adbusers"
SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", ATTR{idProduct}=="2d66"
# Defy/MB525
SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", ATTR{idProduct}=="428c"
-# Droid
+# Droid
SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", ATTR{idProduct}=="41db"
# -- Xoom ID 1
-SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", ATTR{idProduct}=="70a8",SYMLINK+="android_adb"
-SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", ATTR{idProduct}=="70a8",SYMLINK+="android_fastboot"
+SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", ATTR{idProduct}=="70a8", SYMLINK+="android_adb"
+SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", ATTR{idProduct}=="70a8", SYMLINK+="android_fastboot"
# -- Xoom ID 2
-SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", ATTR{idProduct}=="70a9",SYMLINK+="android_adb"
-SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", ATTR{idProduct}=="70a9",SYMLINK+="android_fastboot"
+SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", ATTR{idProduct}=="70a9", SYMLINK+="android_adb"
+SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", ATTR{idProduct}=="70a9", SYMLINK+="android_fastboot"
# NEC
SUBSYSTEM=="usb", ATTR{idVendor}=="0409", MODE="0666", GROUP="adbusers"
@@ -178,15 +189,16 @@ SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6601", SYMLINK+="and
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="68a9", SYMLINK+="libmtp-%k", ENV{ID_MTP_DEVICE}="1", ENV{ID_MEDIA_PLAYER}="1"
# Galaxy i7500
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6640", SYMLINK+="android_adb"
-SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6640", SYMLINK+="android_fastboot"
+SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6640", SYMLINK+="android_fastboot"
# Galaxy S
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6601", SYMLINK+="android_adb"
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="685d", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="68c3", MODE="0666"
# Galaxy Tab
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6877", SYMLINK+="android_adb"
-SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6877", SYMLINK+="android_fastboot"
-# Galaxy Tab 10.1
+SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6877", SYMLINK+="android_fastboot"
+# Galaxy Tab 10.1, i9100 S2
+SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6860"
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="685e", SYMLINK+="android_adb"
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="685e", SYMLINK+="android_fastboot"
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6860", SYMLINK+="libmtp-%k", ENV{ID_MTP_DEVICE}="1", ENV{ID_MEDIA_PLAYER}="1"
@@ -196,6 +208,18 @@ SUBSYSTEM=="usb", ATTR{idVendor}=="04dd", MODE="0666", GROUP="adbusers"
# Sony Ericsson
SUBSYSTEM=="usb", ATTR{idVendor}=="0fce", MODE="0666", GROUP="adbusers"
+# Xperia X10 mini
+SUBSYSTEM=="usb", ATTR{idVendor}=="0fce", ATTR{idProduct}=="3137"
+SUBSYSTEM=="usb", ATTR{idVendor}=="0fce", ATTR{idProduct}=="2137", SYMLINK+="android_adb"
+# Xperia X10 mini pro
+SUBSYSTEM=="usb", ATTR{idVendor}=="0fce", ATTR{idProduct}=="3138"
+SUBSYSTEM=="usb", ATTR{idVendor}=="0fce", ATTR{idProduct}=="2138", SYMLINK+="android_adb"
+# Xperia X8
+SUBSYSTEM=="usb", ATTR{idVendor}=="0fce", ATTR{idProduct}=="3149"
+SUBSYSTEM=="usb", ATTR{idVendor}=="0fce", ATTR{idProduct}=="2149", SYMLINK+="android_adb"
+# Xperia X12
+SUBSYSTEM=="usb", ATTR{idVendor}=="0fce", ATTR{idProduct}=="e14f"
+SUBSYSTEM=="usb", ATTR{idVendor}=="0fce", ATTR{idProduct}=="614f", SYMLINK+="android_adb"
# Toshiba
SUBSYSTEM=="usb", ATTR{idVendor}=="0930", MODE="0666", GROUP="adbusers"
@@ -203,6 +227,6 @@ SUBSYSTEM=="usb", ATTR{idVendor}=="0930", MODE="0666", GROUP="adbusers"
# ZTE
SUBSYSTEM=="usb", ATTR{idVendor}=="19d2", MODE="0666", GROUP="adbusers"
# Blade
-SUBSYSTEM=="usb", ATTR{idVendor}=="19d2", ATTR{idProduct}=="1353",
+SUBSYSTEM=="usb", ATTR{idVendor}=="19d2", ATTR{idProduct}=="1353",
SUBSYSTEM=="usb", ATTR{idVendor}=="19d2", ATTR{idProduct}=="1351", SYMLINK+="android_adb"
-SUBSYSTEM=="usb", ATTR{idVendor}=="19d2", ATTR{idProduct}=="1354", SYMLINK+="android_fastboot"
+
diff --git a/~lukeshu/android-udev/Makefile b/~lukeshu/android-udev/Makefile
new file mode 100644
index 000000000..238877f5a
--- /dev/null
+++ b/~lukeshu/android-udev/Makefile
@@ -0,0 +1,33 @@
+# Use this to update the package from AUR.
+
+default: PHONY all
+all: PHONY 51-android.rules PKGBUILD
+
+name=android-udev
+
+aur:
+ mkdir $@
+aur/%.tar.gz: | aur
+ cd aur && wget http://aur.archlinux.org/packages/$*/$*.tar.gz
+aur/%: aur/%.tar.gz
+ cd aur && tar xzf $(notdir $<)
+aur/$(name)/%: aur/$(name).tar.gz | aur/$(name)
+ test -f $@ && touch $@
+
+51-android.rules: aur/$(name)/51-android.rules
+ sed -r 's/\s+$$//' < $< > $@
+
+PKGBUILD: aur/$(name)/PKGBUILD 51-android.rules
+ # Update pkg{ver,rel}
+ ver=`grep -m1 pkgver= $<` ; sed -i "s/pkgver=.*/$$ver/" $@
+ rel=`grep -m1 pkgrel= $<`.1; sed -i "s/pkgrel=.*/$$rel/" $@
+ # Update md5sums
+ sed -i '/md5sums/,$$d' $@
+ makepkg -g >> $@
+
+clean: PHONY
+ rm -rf aur
+maintainerclean: PHONY clean
+ rm -f 51-android.rules
+
+.PHONY: PHONY FORCE
diff --git a/~lukeshu/android-udev/PKGBUILD b/~lukeshu/android-udev/PKGBUILD
index dabb611c9..6900b46da 100644
--- a/~lukeshu/android-udev/PKGBUILD
+++ b/~lukeshu/android-udev/PKGBUILD
@@ -3,8 +3,8 @@
# Contributor: marlock
pkgname=android-udev
-pkgver=0.7
-pkgrel=3.1
+pkgver=0.8
+pkgrel=1.1
pkgdesc='Udev rules to for Android devices.'
arch=('any')
url="http://developer.android.com/guide/developing/device.html"
@@ -15,8 +15,8 @@ conflicts=('udev-android-rules')
install='android-udev.install'
package() {
- install -d $pkgdir/etc/udev/rules.d
- install -m644 $srcdir/51-android.rules $pkgdir/etc/udev/rules.d/51-android.rules
+ install -d "$pkgdir/etc/udev/rules.d"
+ install -m644 "$srcdir/51-android.rules" "$pkgdir/etc/udev/rules.d/51-android.rules"
}
-md5sums=('bfcd8d0e4c5bdeed0973e102a656e1eb')
+md5sums=('909eb7629683efae838c6e9d65966b3b')