* BUG in rfcomm_sock_getsockopt+0x128/0x200
From: Fabio Rossi @ 2013-11-01 13:17 UTC (permalink / raw)
To: linux-wireless, linux-bluetooth
I'm using the latest wireless-testing.git and I have found a problem, I get the
following kernel trace:
BUG: unable to handle kernel paging request at
00000009dd50350a
IP: [<ffffffff815b6768>]
rfcomm_sock_getsockopt+0x128/0x200
PGD
0
Oops: 0000 [#1] SMP
Modules linked in: vboxpci(O) vboxnetadp(O) vboxnetflt(O) vboxdrv(O) fglrx(PO)
ath5k ath mac80211 cfg80211
CPU: 2 PID: 1475 Comm: bluetoothd Tainted: P O 3.12.0-rc5-wl #4
Hardware name: System manufacturer System Product Name/P6T DELUXE V2, BIOS
1202 12/22/2010
task: ffff88032e9ce360 ti: ffff880330654000 task.ti: ffff880330654000
RIP: 0010:[<ffffffff815b6768>] [<ffffffff815b6768>]
rfcomm_sock_getsockopt+0x128/0x200
RSP: 0018:ffff880330655ed8 EFLAGS: 00010246
RAX: 00000009dd503502 RBX: 0000000000000003 RCX: 00007fff7b30e298
RDX: 0000000000000003 RSI: 0000000000000012 RDI: ffff8800bad88f00
RBP: ffff880330655f28 R08: 00007fff7b30e29c R09: ffff8803306734d8
R10: 00007fff7b30e298 R11: 0000000000000202 R12: ffff8800ba83ec00
R13: 00007fff7b30e298 R14: 0000000000000003 R15: 00007fff7b30e29c
FS: 00007f31c1d9d700(0000) GS:ffff88033fc80000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00000009dd50350a CR3: 000000033048a000 CR4: 00000000000007e0
Stack:
ffff880330655f28 ffffffff815b5e2f ffff880330655f18 0002ffff81107bb6
0000000600000000 ffff8800bad88f00 0000000000000012 00007fff7b30e298
0000000000000003 00007fff7b30e29c ffff880330655f78 ffffffff814c6260
Call Trace:
[<ffffffff815b5e2f>] ? rfcomm_sock_setsockopt+0x5f/0x190
[<ffffffff814c6260>] SyS_getsockopt+0x60/0xb0
[<ffffffff815e5ba2>] system_call_fastpath+0x16/0x1b
Code: 02 00 00 00 0f 47 d0 4c 89 ef e8 94 f0 cc ff 83 f8 01 19 c9 f7 d1 83 e1
f2 e9 4b ff ff ff 0f 1f 44 00 00 49 8b 84 24 70 02 00 00 <4c> 8b 70 08 4c 89 c0
e8 4c f6 cc ff 85 c0 49 89 d7 b9 f2 ff ff
RIP [<ffffffff815b6768>] rfcomm_sock_getsockopt+0x128/0x200
RSP <ffff880330655ed8>
CR2: 00000009dd50350a
---[ end trace 6e62d73375e99d69 ]---
After bisecting the problem I found the following bad commit:
commit 94a86df01082557e2de45865e538d7fb6c46231c
Author: Marcel Holtmann <marcel@holtmann.org>
Date: Sun Oct 13 10:34:02 2013 -0700
Bluetooth: Store RFCOMM address information in its own socket structure
The address information of RFCOMM sockets should be stored in its
own socket structure. Trying to generalize them is not helpful since
different transports have different address types.
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Fabio
^ permalink raw reply
* Re: [PATCH] android/client: Fix pin reply call when pin argument missing in cmd
From: Johan Hedberg @ 2013-11-01 13:11 UTC (permalink / raw)
To: Ravi kumar Veeramally; +Cc: linux-bluetooth
In-Reply-To: <1383308405-17782-1-git-send-email-ravikumar.veeramally@linux.intel.com>
Hi Ravi,
On Fri, Nov 01, 2013, Ravi kumar Veeramally wrote:
> If condition checks number of arguments properly but still executes
> EXEC command. It should display error message and return.
> ---
> android/client/if-bt.c | 11 +++++++----
> 1 file changed, 7 insertions(+), 4 deletions(-)
>
> diff --git a/android/client/if-bt.c b/android/client/if-bt.c
> index 3d97458..2c3cc4a 100644
> --- a/android/client/if-bt.c
> +++ b/android/client/if-bt.c
> @@ -719,12 +719,15 @@ static void pin_reply_p(int argc, const char **argv)
> RETURN_IF_NULL(if_bluetooth);
> VERIFY_ADDR_ARG(2, &addr);
>
> - if (argc > 3) {
> - accept = 1;
> - pin_len = strlen(argv[3]);
> - memcpy(pin.pin, argv[3], pin_len);
> + if (argc != 4) {
> + haltest_error("Usage <address> <pin>\n");
> + return;
> }
>
> + accept = 1;
> + pin_len = strlen(argv[3]);
> + memcpy(pin.pin, argv[3], pin_len);
> +
> EXEC(if_bluetooth->pin_reply, &addr, accept, pin_len, &pin);
It seems to me that the original code might have been trying to do (if
it hadn't been broken like it now is) a negative pin reply in the case
that no parameter was given. At least I don't see any other code trying
to call if_bluetooth->pin_reply with accept=1 in haltest. So I'd
consider fixing that instead.
Johan
^ permalink raw reply
* [PATCH BlueZ 4/4] android/hid: Add handling of HAL_EV_HID_INFO
From: Luiz Augusto von Dentz @ 2013-11-01 13:08 UTC (permalink / raw)
To: linux-bluetooth
In-Reply-To: <1383311321-28429-1-git-send-email-luiz.dentz@gmail.com>
From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
---
android/hid.c | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)
diff --git a/android/hid.c b/android/hid.c
index 57ad5e4..6e6f606 100644
--- a/android/hid.c
+++ b/android/hid.c
@@ -58,6 +58,7 @@ static GSList *devices = NULL;
struct hid_device {
bdaddr_t dst;
uint8_t state;
+ uint8_t subclass;
uint16_t vendor;
uint16_t product;
uint16_t version;
@@ -260,6 +261,28 @@ static gboolean ctrl_watch_cb(GIOChannel *chan, GIOCondition cond,
return FALSE;
}
+static void bt_hid_set_info(struct hid_device *dev)
+{
+ struct hal_ev_hid_info ev;
+
+ DBG("");
+
+ bdaddr2android(&dev->dst, ev.bdaddr);
+ ev.attr = 0; /* TODO: Check what is this field */
+ ev.subclass = dev->subclass;
+ ev.app_id = 0; /* TODO: Check what is this field */
+ ev.vendor = dev->vendor;
+ ev.product = dev->product;
+ ev.version = dev->version;
+ ev.country = dev->country;
+ ev.descr_len = dev->rd_size;
+ memset(ev.descr, 0, sizeof(ev.descr));
+ memcpy(ev.descr, dev->rd_data, ev.descr_len);
+
+ ipc_send(notification_io, HAL_SERVICE_ID_HIDHOST, HAL_EV_HID_INFO,
+ sizeof(ev), &ev, -1);
+}
+
static int uhid_create(struct hid_device *dev)
{
GIOCondition cond = G_IO_IN | G_IO_ERR | G_IO_NVAL;
@@ -295,6 +318,8 @@ static int uhid_create(struct hid_device *dev)
dev->uhid_watch_id = g_io_add_watch(io, cond, uhid_event_cb, dev);
g_io_channel_unref(io);
+ bt_hid_set_info(dev);
+
return 0;
}
@@ -412,6 +437,10 @@ static void hid_sdp_search_cb(sdp_list_t *recs, int err, gpointer data)
if (data)
dev->country = data->val.uint8;
+ data = sdp_data_get(rec, SDP_ATTR_HID_DEVICE_SUBCLASS);
+ if (data)
+ dev->subclass = data->val.uint8;
+
data = sdp_data_get(rec, SDP_ATTR_HID_DESCRIPTOR_LIST);
if (data) {
if (!SDP_IS_SEQ(data->dtd))
--
1.8.3.1
^ permalink raw reply related
* [PATCH BlueZ 3/4] android/hal-hidhost: Add implemention of .hid_info_cb
From: Luiz Augusto von Dentz @ 2013-11-01 13:08 UTC (permalink / raw)
To: linux-bluetooth
In-Reply-To: <1383311321-28429-1-git-send-email-luiz.dentz@gmail.com>
From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
---
android/hal-hidhost.c | 22 ++++++++++++++++++++++
android/hal-msg.h | 14 ++++++++++++++
2 files changed, 36 insertions(+)
diff --git a/android/hal-hidhost.c b/android/hal-hidhost.c
index e148dc2..c20c785 100644
--- a/android/hal-hidhost.c
+++ b/android/hal-hidhost.c
@@ -40,6 +40,25 @@ static void handle_conn_state(void *buf)
ev->state);
}
+static void handle_info(void *buf)
+{
+ struct hal_ev_hid_info *ev = buf;
+ bthh_hid_info_t info;
+
+ info.attr_mask = ev->attr;
+ info.sub_class = ev->subclass;
+ info.app_id = ev->app_id;
+ info.vendor_id = ev->vendor;
+ info.product_id = ev->product;
+ info.version = ev->version;
+ info.ctry_code = ev->country;
+ info.dl_len = ev->descr_len;
+ memcpy(info.dsc_list, ev->descr, info.dl_len);
+
+ if (bt_hh_cbacks->hid_info_cb)
+ bt_hh_cbacks->hid_info_cb((bt_bdaddr_t *) ev->bdaddr, info);
+}
+
/* will be called from notification thread context */
void bt_notify_hh(uint16_t opcode, void *buf, uint16_t len)
{
@@ -50,6 +69,9 @@ void bt_notify_hh(uint16_t opcode, void *buf, uint16_t len)
case HAL_EV_HID_CONN_STATE:
handle_conn_state(buf);
break;
+ case HAL_EV_HID_INFO:
+ handle_info(buf);
+ break;
default:
DBG("Unhandled callback opcode=0x%x", opcode);
break;
diff --git a/android/hal-msg.h b/android/hal-msg.h
index 8a344d8..9276a2f 100644
--- a/android/hal-msg.h
+++ b/android/hal-msg.h
@@ -439,6 +439,20 @@ struct hal_ev_hid_conn_state {
uint8_t state;
} __attribute__((packed));
+#define HAL_EV_HID_INFO 0x82
+struct hal_ev_hid_info {
+ uint8_t bdaddr[6];
+ uint8_t attr;
+ uint8_t subclass;
+ uint8_t app_id;
+ uint16_t vendor;
+ uint16_t product;
+ uint16_t version;
+ uint8_t country;
+ uint16_t descr_len;
+ uint8_t descr[884];
+} __attribute__((packed));
+
#define HAL_EV_AV_CONNECTION_STATE 0x81
struct hal_ev_av_connection_state {
uint8_t state;
--
1.8.3.1
^ permalink raw reply related
* [PATCH BlueZ 2/4] android/hid: Fix passing vendor id as version to uHID
From: Luiz Augusto von Dentz @ 2013-11-01 13:08 UTC (permalink / raw)
To: linux-bluetooth
In-Reply-To: <1383311321-28429-1-git-send-email-luiz.dentz@gmail.com>
From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
---
android/hid.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/android/hid.c b/android/hid.c
index bbdc66a..57ad5e4 100644
--- a/android/hid.c
+++ b/android/hid.c
@@ -278,7 +278,7 @@ static int uhid_create(struct hid_device *dev)
ev.u.create.bus = BUS_BLUETOOTH;
ev.u.create.vendor = dev->vendor;
ev.u.create.product = dev->product;
- ev.u.create.version = dev->vendor;
+ ev.u.create.version = dev->version;
ev.u.create.country = dev->country;
ev.u.create.rd_size = dev->rd_size;
ev.u.create.rd_data = dev->rd_data;
--
1.8.3.1
^ permalink raw reply related
* [PATCH BlueZ 1/4] android/hid: Rename hdev vars to dev
From: Luiz Augusto von Dentz @ 2013-11-01 13:08 UTC (permalink / raw)
To: linux-bluetooth
From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
---
android/hid.c | 248 +++++++++++++++++++++++++++++-----------------------------
1 file changed, 124 insertions(+), 124 deletions(-)
diff --git a/android/hid.c b/android/hid.c
index f576548..bbdc66a 100644
--- a/android/hid.c
+++ b/android/hid.c
@@ -74,10 +74,10 @@ struct hid_device {
static int device_cmp(gconstpointer s, gconstpointer user_data)
{
- const struct hid_device *hdev = s;
+ const struct hid_device *dev = s;
const bdaddr_t *dst = user_data;
- return bacmp(&hdev->dst, dst);
+ return bacmp(&dev->dst, dst);
}
static void uhid_destroy(int fd)
@@ -95,38 +95,38 @@ static void uhid_destroy(int fd)
close(fd);
}
-static void hid_device_free(struct hid_device *hdev)
+static void hid_device_free(struct hid_device *dev)
{
- if (hdev->ctrl_watch > 0)
- g_source_remove(hdev->ctrl_watch);
+ if (dev->ctrl_watch > 0)
+ g_source_remove(dev->ctrl_watch);
- if (hdev->intr_watch > 0)
- g_source_remove(hdev->intr_watch);
+ if (dev->intr_watch > 0)
+ g_source_remove(dev->intr_watch);
- if (hdev->intr_io)
- g_io_channel_unref(hdev->intr_io);
+ if (dev->intr_io)
+ g_io_channel_unref(dev->intr_io);
- if (hdev->ctrl_io)
- g_io_channel_unref(hdev->ctrl_io);
+ if (dev->ctrl_io)
+ g_io_channel_unref(dev->ctrl_io);
- if (hdev->uhid_watch_id) {
- g_source_remove(hdev->uhid_watch_id);
- hdev->uhid_watch_id = 0;
+ if (dev->uhid_watch_id) {
+ g_source_remove(dev->uhid_watch_id);
+ dev->uhid_watch_id = 0;
}
- if (hdev->uhid_fd > 0)
- uhid_destroy(hdev->uhid_fd);
+ if (dev->uhid_fd > 0)
+ uhid_destroy(dev->uhid_fd);
- g_free(hdev->rd_data);
+ g_free(dev->rd_data);
- devices = g_slist_remove(devices, hdev);
- g_free(hdev);
+ devices = g_slist_remove(devices, dev);
+ g_free(dev);
}
static gboolean uhid_event_cb(GIOChannel *io, GIOCondition cond,
gpointer user_data)
{
- struct hid_device *hdev = user_data;
+ struct hid_device *dev = user_data;
struct uhid_event ev;
ssize_t bread;
int fd;
@@ -151,19 +151,19 @@ static gboolean uhid_event_cb(GIOChannel *io, GIOCondition cond,
return TRUE;
failed:
- hdev->uhid_watch_id = 0;
+ dev->uhid_watch_id = 0;
return FALSE;
}
static gboolean intr_io_watch_cb(GIOChannel *chan, gpointer data)
{
- struct hid_device *hdev = data;
+ struct hid_device *dev = data;
uint8_t buf[UHID_DATA_MAX];
struct uhid_event ev;
int fd, bread;
/* Wait uHID if not ready */
- if (hdev->uhid_fd < 0)
+ if (dev->uhid_fd < 0)
return TRUE;
fd = g_io_channel_unix_get_fd(chan);
@@ -183,26 +183,26 @@ static gboolean intr_io_watch_cb(GIOChannel *chan, gpointer data)
ev.u.input.size = bread - 1;
memcpy(ev.u.input.data, &buf[1], ev.u.input.size);
- if (write(hdev->uhid_fd, &ev, sizeof(ev)) < 0)
+ if (write(dev->uhid_fd, &ev, sizeof(ev)) < 0)
DBG("write: %s (%d)", strerror(errno), errno);
return TRUE;
}
-static void bt_hid_set_state(struct hid_device *hdev, uint8_t state)
+static void bt_hid_set_state(struct hid_device *dev, uint8_t state)
{
struct hal_ev_hid_conn_state ev;
char address[18];
- if (hdev->state == state)
+ if (dev->state == state)
return;
- hdev->state = state;
+ dev->state = state;
- ba2str(&hdev->dst, address);
+ ba2str(&dev->dst, address);
DBG("device %s state %u", address, state);
- bdaddr2android(&hdev->dst, ev.bdaddr);
+ bdaddr2android(&dev->dst, ev.bdaddr);
ev.state = state;
ipc_send(notification_io, HAL_SERVICE_ID_HIDHOST,
@@ -212,7 +212,7 @@ static void bt_hid_set_state(struct hid_device *hdev, uint8_t state)
static gboolean intr_watch_cb(GIOChannel *chan, GIOCondition cond,
gpointer data)
{
- struct hid_device *hdev = data;
+ struct hid_device *dev = data;
if (cond & G_IO_IN)
return intr_io_watch_cb(chan, data);
@@ -220,19 +220,19 @@ static gboolean intr_watch_cb(GIOChannel *chan, GIOCondition cond,
/* Checking for ctrl_watch avoids a double g_io_channel_shutdown since
* it's likely that ctrl_watch_cb has been queued for dispatching in
* this mainloop iteration */
- if ((cond & (G_IO_HUP | G_IO_ERR)) && hdev->ctrl_watch)
+ if ((cond & (G_IO_HUP | G_IO_ERR)) && dev->ctrl_watch)
g_io_channel_shutdown(chan, TRUE, NULL);
- hdev->intr_watch = 0;
+ dev->intr_watch = 0;
- if (hdev->intr_io) {
- g_io_channel_unref(hdev->intr_io);
- hdev->intr_io = NULL;
+ if (dev->intr_io) {
+ g_io_channel_unref(dev->intr_io);
+ dev->intr_io = NULL;
}
/* Close control channel */
- if (hdev->ctrl_io && !(cond & G_IO_NVAL))
- g_io_channel_shutdown(hdev->ctrl_io, TRUE, NULL);
+ if (dev->ctrl_io && !(cond & G_IO_NVAL))
+ g_io_channel_shutdown(dev->ctrl_io, TRUE, NULL);
return FALSE;
}
@@ -240,34 +240,34 @@ static gboolean intr_watch_cb(GIOChannel *chan, GIOCondition cond,
static gboolean ctrl_watch_cb(GIOChannel *chan, GIOCondition cond,
gpointer data)
{
- struct hid_device *hdev = data;
+ struct hid_device *dev = data;
char address[18];
- ba2str(&hdev->dst, address);
- bt_hid_set_state(hdev, HAL_HID_STATE_DISCONNECTED);
+ ba2str(&dev->dst, address);
+ bt_hid_set_state(dev, HAL_HID_STATE_DISCONNECTED);
/* Checking for intr_watch avoids a double g_io_channel_shutdown since
* it's likely that intr_watch_cb has been queued for dispatching in
* this mainloop iteration */
- if ((cond & (G_IO_HUP | G_IO_ERR)) && hdev->intr_watch)
+ if ((cond & (G_IO_HUP | G_IO_ERR)) && dev->intr_watch)
g_io_channel_shutdown(chan, TRUE, NULL);
- if (hdev->intr_io && !(cond & G_IO_NVAL))
- g_io_channel_shutdown(hdev->intr_io, TRUE, NULL);
+ if (dev->intr_io && !(cond & G_IO_NVAL))
+ g_io_channel_shutdown(dev->intr_io, TRUE, NULL);
- hid_device_free(hdev);
+ hid_device_free(dev);
return FALSE;
}
-static int uhid_create(struct hid_device *hdev)
+static int uhid_create(struct hid_device *dev)
{
GIOCondition cond = G_IO_IN | G_IO_ERR | G_IO_NVAL;
GIOChannel *io;
struct uhid_event ev;
- hdev->uhid_fd = open(UHID_DEVICE_FILE, O_RDWR | O_CLOEXEC);
- if (hdev->uhid_fd < 0) {
+ dev->uhid_fd = open(UHID_DEVICE_FILE, O_RDWR | O_CLOEXEC);
+ if (dev->uhid_fd < 0) {
error("Failed to open uHID device: %s", strerror(errno));
return -errno;
}
@@ -276,23 +276,23 @@ static int uhid_create(struct hid_device *hdev)
ev.type = UHID_CREATE;
strcpy((char *) ev.u.create.name, "bluez-input-device");
ev.u.create.bus = BUS_BLUETOOTH;
- ev.u.create.vendor = hdev->vendor;
- ev.u.create.product = hdev->product;
- ev.u.create.version = hdev->vendor;
- ev.u.create.country = hdev->country;
- ev.u.create.rd_size = hdev->rd_size;
- ev.u.create.rd_data = hdev->rd_data;
-
- if (write(hdev->uhid_fd, &ev, sizeof(ev)) < 0) {
+ ev.u.create.vendor = dev->vendor;
+ ev.u.create.product = dev->product;
+ ev.u.create.version = dev->vendor;
+ ev.u.create.country = dev->country;
+ ev.u.create.rd_size = dev->rd_size;
+ ev.u.create.rd_data = dev->rd_data;
+
+ if (write(dev->uhid_fd, &ev, sizeof(ev)) < 0) {
error("Failed to create uHID device: %s", strerror(errno));
- close(hdev->uhid_fd);
- hdev->uhid_fd = -1;
+ close(dev->uhid_fd);
+ dev->uhid_fd = -1;
return -errno;
}
- io = g_io_channel_unix_new(hdev->uhid_fd);
+ io = g_io_channel_unix_new(dev->uhid_fd);
g_io_channel_set_encoding(io, NULL, NULL);
- hdev->uhid_watch_id = g_io_add_watch(io, cond, uhid_event_cb, hdev);
+ dev->uhid_watch_id = g_io_add_watch(io, cond, uhid_event_cb, dev);
g_io_channel_unref(io);
return 0;
@@ -301,21 +301,21 @@ static int uhid_create(struct hid_device *hdev)
static void interrupt_connect_cb(GIOChannel *chan, GError *conn_err,
gpointer user_data)
{
- struct hid_device *hdev = user_data;
+ struct hid_device *dev = user_data;
DBG("");
if (conn_err)
goto failed;
- if (uhid_create(hdev) < 0)
+ if (uhid_create(dev) < 0)
goto failed;
- hdev->intr_watch = g_io_add_watch(hdev->intr_io,
+ dev->intr_watch = g_io_add_watch(dev->intr_io,
G_IO_IN | G_IO_HUP | G_IO_ERR | G_IO_NVAL,
- intr_watch_cb, hdev);
+ intr_watch_cb, dev);
- bt_hid_set_state(hdev, HAL_HID_STATE_CONNECTED);
+ bt_hid_set_state(dev, HAL_HID_STATE_CONNECTED);
return;
@@ -324,58 +324,58 @@ failed:
* control channel (if we only do unref GLib will close it only
* after returning control to the mainloop */
if (!conn_err)
- g_io_channel_shutdown(hdev->intr_io, FALSE, NULL);
+ g_io_channel_shutdown(dev->intr_io, FALSE, NULL);
- g_io_channel_unref(hdev->intr_io);
- hdev->intr_io = NULL;
+ g_io_channel_unref(dev->intr_io);
+ dev->intr_io = NULL;
- if (hdev->ctrl_io) {
- g_io_channel_unref(hdev->ctrl_io);
- hdev->ctrl_io = NULL;
+ if (dev->ctrl_io) {
+ g_io_channel_unref(dev->ctrl_io);
+ dev->ctrl_io = NULL;
}
}
static void control_connect_cb(GIOChannel *chan, GError *conn_err,
gpointer user_data)
{
- struct hid_device *hdev = user_data;
+ struct hid_device *dev = user_data;
GError *err = NULL;
const bdaddr_t *src = bt_adapter_get_address();
DBG("");
if (conn_err) {
- bt_hid_set_state(hdev, HAL_HID_STATE_DISCONNECTED);
+ bt_hid_set_state(dev, HAL_HID_STATE_DISCONNECTED);
error("%s", conn_err->message);
goto failed;
}
/* Connect to the HID interrupt channel */
- hdev->intr_io = bt_io_connect(interrupt_connect_cb, hdev, NULL, &err,
+ dev->intr_io = bt_io_connect(interrupt_connect_cb, dev, NULL, &err,
BT_IO_OPT_SOURCE_BDADDR, src,
- BT_IO_OPT_DEST_BDADDR, &hdev->dst,
+ BT_IO_OPT_DEST_BDADDR, &dev->dst,
BT_IO_OPT_PSM, L2CAP_PSM_HIDP_INTR,
BT_IO_OPT_SEC_LEVEL, BT_IO_SEC_LOW,
BT_IO_OPT_INVALID);
- if (!hdev->intr_io) {
+ if (!dev->intr_io) {
error("%s", err->message);
g_error_free(err);
goto failed;
}
- hdev->ctrl_watch = g_io_add_watch(hdev->ctrl_io,
+ dev->ctrl_watch = g_io_add_watch(dev->ctrl_io,
G_IO_HUP | G_IO_ERR | G_IO_NVAL,
- ctrl_watch_cb, hdev);
+ ctrl_watch_cb, dev);
return;
failed:
- hid_device_free(hdev);
+ hid_device_free(dev);
}
static void hid_sdp_search_cb(sdp_list_t *recs, int err, gpointer data)
{
- struct hid_device *hdev = data;
+ struct hid_device *dev = data;
sdp_list_t *list;
GError *gerr = NULL;
const bdaddr_t *src = bt_adapter_get_address();
@@ -398,19 +398,19 @@ static void hid_sdp_search_cb(sdp_list_t *recs, int err, gpointer data)
data = sdp_data_get(rec, SDP_ATTR_VENDOR_ID);
if (data)
- hdev->vendor = data->val.uint16;
+ dev->vendor = data->val.uint16;
data = sdp_data_get(rec, SDP_ATTR_PRODUCT_ID);
if (data)
- hdev->product = data->val.uint16;
+ dev->product = data->val.uint16;
data = sdp_data_get(rec, SDP_ATTR_VERSION);
if (data)
- hdev->version = data->val.uint16;
+ dev->version = data->val.uint16;
data = sdp_data_get(rec, SDP_ATTR_HID_COUNTRY_CODE);
if (data)
- hdev->country = data->val.uint8;
+ dev->country = data->val.uint8;
data = sdp_data_get(rec, SDP_ATTR_HID_DESCRIPTOR_LIST);
if (data) {
@@ -432,20 +432,20 @@ static void hid_sdp_search_cb(sdp_list_t *recs, int err, gpointer data)
if (!data || !SDP_IS_TEXT_STR(data->dtd))
goto fail;
- hdev->rd_size = data->unitSize;
- hdev->rd_data = g_memdup(data->val.str, data->unitSize);
+ dev->rd_size = data->unitSize;
+ dev->rd_data = g_memdup(data->val.str, data->unitSize);
}
}
- if (hdev->ctrl_io) {
- if (uhid_create(hdev) < 0)
+ if (dev->ctrl_io) {
+ if (uhid_create(dev) < 0)
goto fail;
return;
}
- hdev->ctrl_io = bt_io_connect(control_connect_cb, hdev, NULL, &gerr,
+ dev->ctrl_io = bt_io_connect(control_connect_cb, dev, NULL, &gerr,
BT_IO_OPT_SOURCE_BDADDR, src,
- BT_IO_OPT_DEST_BDADDR, &hdev->dst,
+ BT_IO_OPT_DEST_BDADDR, &dev->dst,
BT_IO_OPT_PSM, L2CAP_PSM_HIDP_CTRL,
BT_IO_OPT_SEC_LEVEL, BT_IO_SEC_LOW,
BT_IO_OPT_INVALID);
@@ -458,13 +458,13 @@ static void hid_sdp_search_cb(sdp_list_t *recs, int err, gpointer data)
return;
fail:
- bt_hid_set_state(hdev, HAL_HID_STATE_DISCONNECTED);
- hid_device_free(hdev);
+ bt_hid_set_state(dev, HAL_HID_STATE_DISCONNECTED);
+ hid_device_free(dev);
}
static uint8_t bt_hid_connect(struct hal_cmd_hid_connect *cmd, uint16_t len)
{
- struct hid_device *hdev;
+ struct hid_device *dev;
char addr[18];
bdaddr_t dst;
GSList *l;
@@ -482,23 +482,23 @@ static uint8_t bt_hid_connect(struct hal_cmd_hid_connect *cmd, uint16_t len)
if (l)
return HAL_STATUS_FAILED;
- hdev = g_new0(struct hid_device, 1);
- bacpy(&hdev->dst, &dst);
- hdev->uhid_fd = -1;
+ dev = g_new0(struct hid_device, 1);
+ bacpy(&dev->dst, &dst);
+ dev->uhid_fd = -1;
- ba2str(&hdev->dst, addr);
+ ba2str(&dev->dst, addr);
DBG("connecting to %s", addr);
bt_string2uuid(&uuid, HID_UUID);
- if (bt_search_service(src, &hdev->dst, &uuid, hid_sdp_search_cb, hdev,
+ if (bt_search_service(src, &dev->dst, &uuid, hid_sdp_search_cb, dev,
NULL) < 0) {
error("Failed to search sdp details");
- hid_device_free(hdev);
+ hid_device_free(dev);
return HAL_STATUS_FAILED;
}
- devices = g_slist_append(devices, hdev);
- bt_hid_set_state(hdev, HAL_HID_STATE_CONNECTING);
+ devices = g_slist_append(devices, dev);
+ bt_hid_set_state(dev, HAL_HID_STATE_CONNECTING);
return HAL_STATUS_SUCCESS;
}
@@ -506,7 +506,7 @@ static uint8_t bt_hid_connect(struct hal_cmd_hid_connect *cmd, uint16_t len)
static uint8_t bt_hid_disconnect(struct hal_cmd_hid_disconnect *cmd,
uint16_t len)
{
- struct hid_device *hdev;
+ struct hid_device *dev;
GSList *l;
bdaddr_t dst;
@@ -521,16 +521,16 @@ static uint8_t bt_hid_disconnect(struct hal_cmd_hid_disconnect *cmd,
if (!l)
return HAL_STATUS_FAILED;
- hdev = l->data;
+ dev = l->data;
/* Wait either channels to HUP */
- if (hdev->intr_io)
- g_io_channel_shutdown(hdev->intr_io, TRUE, NULL);
+ if (dev->intr_io)
+ g_io_channel_shutdown(dev->intr_io, TRUE, NULL);
- if (hdev->ctrl_io)
- g_io_channel_shutdown(hdev->ctrl_io, TRUE, NULL);
+ if (dev->ctrl_io)
+ g_io_channel_shutdown(dev->ctrl_io, TRUE, NULL);
- bt_hid_set_state(hdev, HAL_HID_STATE_DISCONNECTING);
+ bt_hid_set_state(dev, HAL_HID_STATE_DISCONNECTING);
return HAL_STATUS_SUCCESS;
}
@@ -556,7 +556,7 @@ void bt_hid_handle_cmd(GIOChannel *io, uint8_t opcode, void *buf, uint16_t len)
static void connect_cb(GIOChannel *chan, GError *err, gpointer user_data)
{
- struct hid_device *hdev;
+ struct hid_device *dev;
bdaddr_t dst;
char address[18];
uint16_t psm;
@@ -589,25 +589,25 @@ static void connect_cb(GIOChannel *chan, GError *err, gpointer user_data)
if (l)
return;
- hdev = g_new0(struct hid_device, 1);
- bacpy(&hdev->dst, &dst);
- hdev->ctrl_io = g_io_channel_ref(chan);
- hdev->uhid_fd = -1;
+ dev = g_new0(struct hid_device, 1);
+ bacpy(&dev->dst, &dst);
+ dev->ctrl_io = g_io_channel_ref(chan);
+ dev->uhid_fd = -1;
bt_string2uuid(&uuid, HID_UUID);
- if (bt_search_service(src, &hdev->dst, &uuid,
- hid_sdp_search_cb, hdev, NULL) < 0) {
+ if (bt_search_service(src, &dev->dst, &uuid,
+ hid_sdp_search_cb, dev, NULL) < 0) {
error("failed to search sdp details");
- hid_device_free(hdev);
+ hid_device_free(dev);
return;
}
- devices = g_slist_append(devices, hdev);
+ devices = g_slist_append(devices, dev);
- hdev->ctrl_watch = g_io_add_watch(hdev->ctrl_io,
+ dev->ctrl_watch = g_io_add_watch(dev->ctrl_io,
G_IO_HUP | G_IO_ERR | G_IO_NVAL,
- ctrl_watch_cb, hdev);
- bt_hid_set_state(hdev, HAL_HID_STATE_CONNECTING);
+ ctrl_watch_cb, dev);
+ bt_hid_set_state(dev, HAL_HID_STATE_CONNECTING);
break;
case L2CAP_PSM_HIDP_INTR:
@@ -615,12 +615,12 @@ static void connect_cb(GIOChannel *chan, GError *err, gpointer user_data)
if (!l)
return;
- hdev = l->data;
- hdev->intr_io = g_io_channel_ref(chan);
- hdev->intr_watch = g_io_add_watch(hdev->intr_io,
+ dev = l->data;
+ dev->intr_io = g_io_channel_ref(chan);
+ dev->intr_watch = g_io_add_watch(dev->intr_io,
G_IO_IN | G_IO_HUP | G_IO_ERR | G_IO_NVAL,
- intr_watch_cb, hdev);
- bt_hid_set_state(hdev, HAL_HID_STATE_CONNECTED);
+ intr_watch_cb, dev);
+ bt_hid_set_state(dev, HAL_HID_STATE_CONNECTED);
break;
}
}
--
1.8.3.1
^ permalink raw reply related
* [PATCH] android/client: Fix pin reply call when pin argument missing in cmd
From: Ravi kumar Veeramally @ 2013-11-01 12:20 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Ravi kumar Veeramally
If condition checks number of arguments properly but still executes
EXEC command. It should display error message and return.
---
android/client/if-bt.c | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/android/client/if-bt.c b/android/client/if-bt.c
index 3d97458..2c3cc4a 100644
--- a/android/client/if-bt.c
+++ b/android/client/if-bt.c
@@ -719,12 +719,15 @@ static void pin_reply_p(int argc, const char **argv)
RETURN_IF_NULL(if_bluetooth);
VERIFY_ADDR_ARG(2, &addr);
- if (argc > 3) {
- accept = 1;
- pin_len = strlen(argv[3]);
- memcpy(pin.pin, argv[3], pin_len);
+ if (argc != 4) {
+ haltest_error("Usage <address> <pin>\n");
+ return;
}
+ accept = 1;
+ pin_len = strlen(argv[3]);
+ memcpy(pin.pin, argv[3], pin_len);
+
EXEC(if_bluetooth->pin_reply, &addr, accept, pin_len, &pin);
}
--
1.8.1.2
^ permalink raw reply related
* Re: [RFC] android/daemon: Update CoD and RSSI only when they exist
From: Johan Hedberg @ 2013-11-01 12:07 UTC (permalink / raw)
To: Andrei Emeltchenko; +Cc: linux-bluetooth
In-Reply-To: <1383306399-13750-1-git-send-email-Andrei.Emeltchenko.news@gmail.com>
Hi Andrei,
On Fri, Nov 01, 2013, Andrei Emeltchenko wrote:
> This avoid sending zeroed Class of Device and making it unidentified.
> ...
> prop[0]: type=BT_PROPERTY_CLASS_OF_DEVICE len=4 val=000000
> prop[1]: type=BT_PROPERTY_REMOTE_RSSI len=1 val=-75
> prop[2]: type=BT_PROPERTY_BDNAME len=249 val=Microsoft Bluetooth Number Pad
> ...
> ---
> android/adapter.c | 30 +++++++++++++++++-------------
> 1 file changed, 17 insertions(+), 13 deletions(-)
Applied. Thanks.
Johan
^ permalink raw reply
* Re: [RFC 1/6] android/daemon: Implement mgmt device connected event
From: Johan Hedberg @ 2013-11-01 12:06 UTC (permalink / raw)
To: Andrei Emeltchenko; +Cc: linux-bluetooth
In-Reply-To: <1383305418-13619-1-git-send-email-Andrei.Emeltchenko.news@gmail.com>
Hi Andrei,
On Fri, Nov 01, 2013, Andrei Emeltchenko wrote:
> Send HAL_EV_ACL_STATE_CHANGED event to HAL through IPC.
> ---
> android/adapter.c | 26 ++++++++++++++++++++++++++
> 1 file changed, 26 insertions(+)
This doesn't compile:
CC android/adapter.o
android/adapter.c: In function ‘mgmt_device_connected_event’:
android/adapter.c:641:17: error: ‘HAL_ACL_STATE_CONNECTED’ undeclared (first use in this function)
hal_ev.state = HAL_ACL_STATE_CONNECTED;
^
android/adapter.c:641:17: note: each undeclared identifier is reported only once for each function it appears in
make[1]: *** [android/adapter.o] Error 1
> + if (length < sizeof(*ev)) {
> + error("Too short %s (%u bytes)", __func__, length);
> + return;
> + }
This looks a bit weird. The function is not too short but the message
is, not to mention that having to use __func__ for error logs is a bit
counterintuitive. Just put "device connected event" into the string.
Same goes for your device disconnected event patch.
Johan
^ permalink raw reply
* [RFC] android/daemon: Update CoD and RSSI only when they exist
From: Andrei Emeltchenko @ 2013-11-01 11:46 UTC (permalink / raw)
To: linux-bluetooth
From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
This avoid sending zeroed Class of Device and making it unidentified.
...
prop[0]: type=BT_PROPERTY_CLASS_OF_DEVICE len=4 val=000000
prop[1]: type=BT_PROPERTY_REMOTE_RSSI len=1 val=-75
prop[2]: type=BT_PROPERTY_BDNAME len=249 val=Microsoft Bluetooth Number Pad
...
---
android/adapter.c | 30 +++++++++++++++++-------------
1 file changed, 17 insertions(+), 13 deletions(-)
diff --git a/android/adapter.c b/android/adapter.c
index 39389ee..314f711 100644
--- a/android/adapter.c
+++ b/android/adapter.c
@@ -454,19 +454,23 @@ static int fill_device_props(struct hal_property *prop, bdaddr_t *addr,
{
uint8_t num_props = 0;
- /* fill cod */
- prop->type = HAL_PROP_DEVICE_CLASS;
- prop->len = sizeof(cod);
- memcpy(prop->val, &cod, prop->len);
- prop = ((void *) prop) + sizeof(*prop) + sizeof(cod);
- num_props++;
-
- /* fill rssi */
- prop->type = HAL_PROP_DEVICE_RSSI;
- prop->len = sizeof(rssi);
- memcpy(prop->val, &rssi, prop->len);
- prop = ((void *) prop) + sizeof(*prop) + sizeof(rssi);
- num_props++;
+ /* fill Class of Device */
+ if (cod) {
+ prop->type = HAL_PROP_DEVICE_CLASS;
+ prop->len = sizeof(cod);
+ memcpy(prop->val, &cod, prop->len);
+ prop = ((void *) prop) + sizeof(*prop) + sizeof(cod);
+ num_props++;
+ }
+
+ /* fill RSSI */
+ if (rssi) {
+ prop->type = HAL_PROP_DEVICE_RSSI;
+ prop->len = sizeof(rssi);
+ memcpy(prop->val, &rssi, prop->len);
+ prop = ((void *) prop) + sizeof(*prop) + sizeof(rssi);
+ num_props++;
+ }
/* fill name */
if (name) {
--
1.7.10.4
^ permalink raw reply related
* [RFC 6/6] android/daemon: Add handler for device disconnected
From: Andrei Emeltchenko @ 2013-11-01 11:30 UTC (permalink / raw)
To: linux-bluetooth
In-Reply-To: <1383305418-13619-1-git-send-email-Andrei.Emeltchenko.news@gmail.com>
From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
Send event to callback thread which shall call acl state change callback.
---
android/adapter.c | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/android/adapter.c b/android/adapter.c
index bc4492b..39389ee 100644
--- a/android/adapter.c
+++ b/android/adapter.c
@@ -643,6 +643,29 @@ static void mgmt_device_connected_event(uint16_t index, uint16_t length,
HAL_EV_ACL_STATE_CHANGED, sizeof(hal_ev), &hal_ev, -1);
}
+static void mgmt_device_disconnected_event(uint16_t index, uint16_t length,
+ const void *param, void *user_data)
+{
+ const struct mgmt_ev_device_disconnected *ev = param;
+ struct hal_ev_acl_state_changed hal_ev;
+
+ if (length < sizeof(*ev)) {
+ error("Too short %s (%u bytes)", __func__, length);
+ return;
+ }
+
+ /* TODO: Update device */
+
+ /* TODO: Check Set bonding state */
+
+ hal_ev.status = HAL_STATUS_SUCCESS;
+ hal_ev.state = HAL_ACL_STATE_DISCONNECTED;
+ bdaddr2android(&ev->addr.bdaddr, &hal_ev.bdaddr);
+
+ ipc_send(notification_io, HAL_SERVICE_ID_BLUETOOTH,
+ HAL_EV_ACL_STATE_CHANGED, sizeof(hal_ev), &hal_ev, -1);
+}
+
static void mgmt_connect_failed_event(uint16_t index, uint16_t length,
const void *param, void *user_data)
{
@@ -696,6 +719,10 @@ static void register_mgmt_handlers(void)
mgmt_register(adapter->mgmt, MGMT_EV_DEVICE_CONNECTED, adapter->index,
mgmt_device_connected_event, NULL, NULL);
+ mgmt_register(adapter->mgmt, MGMT_EV_DEVICE_DISCONNECTED,
+ adapter->index, mgmt_device_disconnected_event,
+ NULL, NULL);
+
mgmt_register(adapter->mgmt, MGMT_EV_CONNECT_FAILED, adapter->index,
mgmt_connect_failed_event, NULL, NULL);
--
1.7.10.4
^ permalink raw reply related
* [RFC 5/6] android/hal: Add debug prints for every HAL callback
From: Andrei Emeltchenko @ 2013-11-01 11:30 UTC (permalink / raw)
To: linux-bluetooth
In-Reply-To: <1383305418-13619-1-git-send-email-Andrei.Emeltchenko.news@gmail.com>
From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
This allows us to trace callbacks to Java.
---
android/hal-bluetooth.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/android/hal-bluetooth.c b/android/hal-bluetooth.c
index 91c5f97..7334d24 100644
--- a/android/hal-bluetooth.c
+++ b/android/hal-bluetooth.c
@@ -153,6 +153,8 @@ static void handle_adapter_props_changed(void *buf, uint16_t len)
struct hal_ev_adapter_props_changed *ev = buf;
bt_property_t props[ev->num_props];
+ DBG("");
+
if (!bt_hal_cbacks->adapter_properties_cb)
return;
@@ -168,6 +170,8 @@ static void handle_bond_state_change(void *buf)
struct hal_ev_bond_state_changed *ev = buf;
bt_bdaddr_t *addr = (bt_bdaddr_t *) ev->bdaddr;
+ DBG("state %u", ev->state);
+
if (bt_hal_cbacks->bond_state_changed_cb)
bt_hal_cbacks->bond_state_changed_cb(ev->status, addr,
ev->state);
@@ -180,6 +184,8 @@ static void handle_pin_request(void *buf)
bt_bdaddr_t *addr = (bt_bdaddr_t *) ev->bdaddr;
bt_bdname_t *name = (bt_bdname_t *) ev->name;
+ DBG("");
+
if (bt_hal_cbacks->pin_request_cb)
bt_hal_cbacks->pin_request_cb(addr, name, ev->class_of_dev);
}
@@ -191,6 +197,8 @@ static void handle_ssp_request(void *buf)
bt_bdaddr_t *addr = (bt_bdaddr_t *) ev->bdaddr;
bt_bdname_t *name = (bt_bdname_t *) ev->name;
+ DBG("");
+
if (bt_hal_cbacks->ssp_request_cb)
bt_hal_cbacks->ssp_request_cb(addr, name, ev->class_of_dev,
ev->pairing_variant,
@@ -218,6 +226,8 @@ static void handle_discovery_state_changed(void *buf)
{
struct hal_ev_discovery_state_changed *ev = buf;
+ DBG("");
+
if (bt_hal_cbacks->discovery_state_changed_cb)
bt_hal_cbacks->discovery_state_changed_cb(ev->state);
}
@@ -227,6 +237,8 @@ static void handle_device_found(void *buf, uint16_t len)
struct hal_ev_device_found *ev = buf;
bt_property_t props[ev->num_props];
+ DBG("");
+
if (!bt_hal_cbacks->device_found_cb)
return;
@@ -242,6 +254,8 @@ static void handle_device_state_changed(void *buf, uint16_t len)
struct hal_ev_remote_device_props *ev = buf;
bt_property_t props[ev->num_props];
+ DBG("");
+
if (!bt_hal_cbacks->remote_device_properties_cb)
return;
--
1.7.10.4
^ permalink raw reply related
* [RFC 4/6] android/daemon: Add handlers for auth_failed and connect_failed evt
From: Andrei Emeltchenko @ 2013-11-01 11:30 UTC (permalink / raw)
To: linux-bluetooth
In-Reply-To: <1383305418-13619-1-git-send-email-Andrei.Emeltchenko.news@gmail.com>
From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
Add debug prints in a case connection is failing
---
android/adapter.c | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/android/adapter.c b/android/adapter.c
index df56452..bc4492b 100644
--- a/android/adapter.c
+++ b/android/adapter.c
@@ -643,6 +643,18 @@ static void mgmt_device_connected_event(uint16_t index, uint16_t length,
HAL_EV_ACL_STATE_CHANGED, sizeof(hal_ev), &hal_ev, -1);
}
+static void mgmt_connect_failed_event(uint16_t index, uint16_t length,
+ const void *param, void *user_data)
+{
+ DBG("");
+}
+
+static void mgmt_auth_failed_event(uint16_t index, uint16_t length,
+ const void *param, void *user_data)
+{
+ DBG("");
+}
+
static void register_mgmt_handlers(void)
{
mgmt_register(adapter->mgmt, MGMT_EV_NEW_SETTINGS, adapter->index,
@@ -683,6 +695,12 @@ static void register_mgmt_handlers(void)
mgmt_register(adapter->mgmt, MGMT_EV_DEVICE_CONNECTED, adapter->index,
mgmt_device_connected_event, NULL, NULL);
+
+ mgmt_register(adapter->mgmt, MGMT_EV_CONNECT_FAILED, adapter->index,
+ mgmt_connect_failed_event, NULL, NULL);
+
+ mgmt_register(adapter->mgmt, MGMT_EV_AUTH_FAILED, adapter->index,
+ mgmt_auth_failed_event, NULL, NULL);
}
static void load_link_keys_complete(uint8_t status, uint16_t length,
--
1.7.10.4
^ permalink raw reply related
* [RFC 3/6] android/hal: Handle acl_state_changed event
From: Andrei Emeltchenko @ 2013-11-01 11:30 UTC (permalink / raw)
To: linux-bluetooth
In-Reply-To: <1383305418-13619-1-git-send-email-Andrei.Emeltchenko.news@gmail.com>
From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
---
android/hal-bluetooth.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/android/hal-bluetooth.c b/android/hal-bluetooth.c
index a0ee844..91c5f97 100644
--- a/android/hal-bluetooth.c
+++ b/android/hal-bluetooth.c
@@ -254,6 +254,18 @@ static void handle_device_state_changed(void *buf, uint16_t len)
device_hal_props_cleanup(props, ev->num_props);
}
+static void handle_acl_state_changed(void *buf)
+{
+ struct hal_ev_acl_state_changed *ev = buf;
+ bt_bdaddr_t *addr = (bt_bdaddr_t *) ev->bdaddr;
+
+ DBG("state %u", ev->state);
+
+ if (bt_hal_cbacks->acl_state_changed_cb)
+ bt_hal_cbacks->acl_state_changed_cb(ev->status, addr,
+ ev->state);
+}
+
/* will be called from notification thread context */
void bt_notify_adapter(uint16_t opcode, void *buf, uint16_t len)
{
@@ -287,6 +299,9 @@ void bt_notify_adapter(uint16_t opcode, void *buf, uint16_t len)
case HAL_EV_SSP_REQUEST:
handle_ssp_request(buf);
break;
+ case HAL_EV_ACL_STATE_CHANGED:
+ handle_acl_state_changed(buf);
+ break;
default:
DBG("Unhandled callback opcode=0x%x", opcode);
break;
--
1.7.10.4
^ permalink raw reply related
* [RFC 2/6] android/ipc: Update HAL IPC header
From: Andrei Emeltchenko @ 2013-11-01 11:30 UTC (permalink / raw)
To: linux-bluetooth
In-Reply-To: <1383305418-13619-1-git-send-email-Andrei.Emeltchenko.news@gmail.com>
From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
Add ACL states to the header.
---
android/hal-msg.h | 3 +++
1 file changed, 3 insertions(+)
diff --git a/android/hal-msg.h b/android/hal-msg.h
index 8a344d8..1d256f2 100644
--- a/android/hal-msg.h
+++ b/android/hal-msg.h
@@ -405,6 +405,9 @@ struct hal_ev_bond_state_changed {
uint8_t state;
} __attribute__((packed));
+#define HAL_ACL_STATE_CONNECTED 0x00
+#define HAL_ACL_STATE_DISCONNECTED 0x01
+
#define HAL_EV_ACL_STATE_CHANGED 0x89
struct hal_ev_acl_state_changed {
uint8_t status;
--
1.7.10.4
^ permalink raw reply related
* [RFC 1/6] android/daemon: Implement mgmt device connected event
From: Andrei Emeltchenko @ 2013-11-01 11:30 UTC (permalink / raw)
To: linux-bluetooth
From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
Send HAL_EV_ACL_STATE_CHANGED event to HAL through IPC.
---
android/adapter.c | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)
diff --git a/android/adapter.c b/android/adapter.c
index 4ddd68b..df56452 100644
--- a/android/adapter.c
+++ b/android/adapter.c
@@ -620,6 +620,29 @@ static void mgmt_device_found_event(uint16_t index, uint16_t length,
confirm_name, eir, eir_len);
}
+static void mgmt_device_connected_event(uint16_t index, uint16_t length,
+ const void *param, void *user_data)
+{
+ const struct mgmt_ev_device_connected *ev = param;
+ struct hal_ev_acl_state_changed hal_ev;
+
+ if (length < sizeof(*ev)) {
+ error("Too short %s (%u bytes)", __func__, length);
+ return;
+ }
+
+ /* TODO: Update device */
+
+ /* TODO: Check Set bonding state */
+
+ hal_ev.status = HAL_STATUS_SUCCESS;
+ hal_ev.state = HAL_ACL_STATE_CONNECTED;
+ bdaddr2android(&ev->addr.bdaddr, &hal_ev.bdaddr);
+
+ ipc_send(notification_io, HAL_SERVICE_ID_BLUETOOTH,
+ HAL_EV_ACL_STATE_CHANGED, sizeof(hal_ev), &hal_ev, -1);
+}
+
static void register_mgmt_handlers(void)
{
mgmt_register(adapter->mgmt, MGMT_EV_NEW_SETTINGS, adapter->index,
@@ -657,6 +680,9 @@ static void register_mgmt_handlers(void)
mgmt_register(adapter->mgmt, MGMT_EV_DEVICE_FOUND,
adapter->index, mgmt_device_found_event,
NULL, NULL);
+
+ mgmt_register(adapter->mgmt, MGMT_EV_DEVICE_CONNECTED, adapter->index,
+ mgmt_device_connected_event, NULL, NULL);
}
static void load_link_keys_complete(uint8_t status, uint16_t length,
--
1.7.10.4
^ permalink raw reply related
* Re: l2cap sockets not properly multiplexed on ARM
From: Anderson Lizardo @ 2013-11-01 11:03 UTC (permalink / raw)
To: Marcel Holtmann
Cc: Tim Tisdall, Alexander Holler, linux-bluetooth@vger.kernel.org
In-Reply-To: <F9B30CD6-4DCB-4F58-9322-E18969867664@holtmann.org>
Hi Marcel,
On Thu, Oct 31, 2013 at 10:20 AM, Marcel Holtmann <marcel@holtmann.org> wrote:
> Hi Tim,
>
>>> As Anderson Lizardo already mentioned, maybe first verify that the x86
>>> kernel 3.4 doesn't have the same problem and that it's really a problem
>>> of the ARM kernel. Up to now he didn't say what kernel version he uses
>>> on x86.
>>
>> here's my desktop version:
>> $ uname -a
>> Linux tzing 3.8.0-32-generic #47-Ubuntu SMP Tue Oct 1 22:35:23 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
>>
>> I'm trying to get an older version of the kernel running on another machine and then I'll report back
>
> I actually need to know if bluetooth-next tree still has this issue. That is first and foremost the one thing that needs to be checked.
I asked Tim to mention the kernel version on x86 vs. the version on
ARM, because I vaguely remember this same issue being reported last
year (or even 2011) and being fixed (If I find the patch, I will let
you know). As Tim mentions later on, on x86 the issue does not happen
on 3.8, but it is present on 3.2 (and I suspect it will also be
present on 3.4 on x86 as well).
Best Regards,
--
Anderson Lizardo
Instituto Nokia de Tecnologia - INdT
Manaus - Brazil
^ permalink raw reply
* Re: Intel 7260 bluetooth malfunction when it is connected to EHCI bus
From: Hui Wang @ 2013-11-01 9:18 UTC (permalink / raw)
To: Marcel Holtmann
Cc: Tedd An, Johan Hedberg, xiong.y.zhang, Gustavo F. Padovan,
linux-bluetooth@vger.kernel.org development, Kun Yang,
Anthony Wong
In-Reply-To: <C3BBD7E9-6D91-430E-96DF-2D4885F89DCC@holtmann.org>
[-- Attachment #1: Type: text/plain, Size: 6693 bytes --]
On 11/01/2013 03:49 PM, Marcel Holtmann wrote:
> Hi Hui,
>
>>>>>>>> The problem is:
>>>>>>>> On the machine which has Intel 7260 BT module, i use it to connect a bluetooth headset,
>>>>>>>> it can successfully scan and connect to the headset, when i play sound to the bt headset,
>>>>>>>> the problem comes, if the bt module is connected to the XHCI, it can work very well.
>>>>>>>>
>>>>>>>> u@u-Lenovo-B4400:~$ lsusb -t
>>>>>>>> 1-7:1.0: No such file or directory
>>>>>>>> /: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
>>>>>>>> /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/14p, 480M
>>>>>>>> |__ Port 6: Dev 8, If 0, Class=HID, Driver=usbhid, 1.5M
>>>>>>>> |__ Port 7: Dev 2, If 0, Class=vend., Driver=, 12M
>>>>>>>> |__ Port 11: Dev 3, If 0, Class='bInterfaceClass 0xe0 not yet handled', Driver=btusb, 12M
>>>>>>>> |__ Port 11: Dev 3, If 1, Class='bInterfaceClass 0xe0 not yet handled', Driver=btusb, 12M
>>>>>>>>
>>>>>>>> But if the bt module is connected to the EHCI, it always fails to play sound.
>>>>>>>>
>>>>>>>> u@u-Lenovo-B4400:~$ lsusb -t
>>>>>>>> /: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
>>>>>>>> /: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/14p, 480M
>>>>>>>> /: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/3p, 480M
>>>>>>>> |__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/8p, 480M
>>>>>>>> /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/3p, 480M
>>>>>>>> |__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/6p, 480M
>>>>>>>> |__ Port 5: Dev 3, If 0, Class='bInterfaceClass 0xe0 not yet handled', Driver=btusb, 12M
>>>>>>>> |__ Port 5: Dev 3, If 1, Class='bInterfaceClass 0xe0 not yet handled', Driver=btusb, 12M
>>>>>>>> |__ Port 6: Dev 4, If 0, Class='bInterfaceClass 0x0e not yet handled', Driver=uvcvideo, 480M
>>>>>>>> |__ Port 6: Dev 4, If 1, Class='bInterfaceClass 0x0e not yet handled', Driver=uvcvideo, 480M
>>>>>>> can you paste /sys/kernel/debug/usb/devices here.
>>>>>>>
>>>>>>> If the uvcvideo driver is also using ISOC URBs, we might have just exhausted the bandwidth of the USB bus here or these two devices just do not play nice with each other.
>>>>>>>
>>>>>>> Try to unload the uvcvideo driver and try it again.
>>>>>> Thanks for your reply, follow your instruction, i totally disabled the camera from the BIOS, then the usb tree like this,
>>>>>> u@u-Lenovo-B4400:~$ lsusb -t
>>>>>> 1-1.3:1.0: No such file or directory
>>>>>> /: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
>>>>>> /: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/14p, 480M
>>>>>> /: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/3p, 480M
>>>>>> |__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/8p, 480M
>>>>>> /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/3p, 480M
>>>>>> |__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/6p, 480M
>>>>>> |__ Port 2: Dev 3, If 0, Class=HID, Driver=usbhid, 1.5M
>>>>>> |__ Port 3: Dev 4, If 0, Class=vend., Driver=, 12M
>>>>>> |__ Port 5: Dev 5, If 0, Class='bInterfaceClass 0xe0 not yet handled', Driver=btusb, 12M
>>>>>> |__ Port 5: Dev 5, If 1, Class='bInterfaceClass 0xe0 not yet handled', Driver=btusb, 12M
>>>>>> u@u-Lenovo-B4400:~$ uname -a
>>>>>> Linux u-Lenovo-B4400 3.12.0-031200rc6-generic #201310191635 SMP Sat Oct 19 20:36:43 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
>>>>>>
>>>>>> I re-did the test, the result is same as before, after the headset is connected and i play audio, no sound is heard from the headset.
>>>>>> And hciconfig output shows still no SCO packets received by BT driver.
>>>>>> u@u-Lenovo-B4400:~$ hciconfig
>>>>>> hci0: Type: BR/EDR Bus: USB
>>>>>> BD Address: 00:15:00:CC:2D:D2 ACL MTU: 1021:5 SCO MTU: 96:5
>>>>>> UP RUNNING PSCAN
>>>>>> RX bytes:5853 acl:61 sco:0 events:298 errors:0
>>>>>> TX bytes:19212 acl:68 sco:1 commands:179 errors:0
>>>>> this is strange. The only reason I can think of is that you do not have the firmware installed and or it is not loaded correctly. Does dmesg give any indication that something failed here.
>>>> I can confirm the firmware file is the /lib/firmware/intel/ibt-hw-37.7.10-fw-1.80.2.3.d.bseq, and it is in the filesystem. And from the dmesg, the firmware was successfully loaded.
>>>>
>>>> [ 8.600217] Bluetooth: hci0: Intel Bluetooth firmware file: intel/ibt-hw-37.7.10-fw-1.80.2.3.d.bseq
>>>> [ 8.653635] kvm: disabled by bios
>>>> [ 8.672981] psmouse serio1: synaptics: Touchpad model: 1, fw: 8.1, id: 0x1e2b1, caps: 0xd00123/0x840300/0x126c00
>>>> [ 8.707034] input: SynPS/2 Synaptics TouchPad as /devices/platform/i8042/serio1/input/input13
>>>> [ 8.717725] Registered led device: phy0-led
>>>> [ 8.722730] ieee80211 phy0: Selected rate control algorithm 'iwl-mvm-rs'
>>>> [ 8.752626] Bluetooth: hci0: Intel Bluetooth firmware patch completed and activated
>>>>
>>>>> Since this is a 3.12 kernel it should have native support for Intel specific setup routing. Any chance you can run btmon -w <file> before plugging the device into the bus. Maybe something goes wrong with the setup routine on EHCI.
>>>> Do you mean the hcidump file i just sent in my previous email.
>>> I do not get this. I specifically asked to run “btmon -w <file>” before plugging in the device. I want to see the early setup process here. What would I do with a hcidump trace.
>> The attachment is the logfile generated by "btmon -w <file>". And the logfile was generated by below steps,
>>
>> 1) boot up the system into the ubuntu desktop
>> 2) open a terminal and run "sudo btmon -w ~/lenovo-m4400s-btmon.log"
>> 3) open bluetooth applet and click adding a new device, the bluetooth begin to scan devices
>> 4) power up the bt headset
>> 5) laptop bt module find the headset and connect it successfully
>> 6) open the sound applet, choose bt headset as output device, play sound, but no sound can be heard from bt headset
>> 7) Ctrl+C to terminate the "btmon -w <file>"
>>
>> In case you can't receive the attachment, i decode the logfile and paste the content here.
> what I need is to see the 7260 controller init. So you need to start btmon -w <file> before the 7260 gets attached to the USB bus or before btusb.ko driver gets loaded.
Understand now.
The attachment lenovo-k4450-btmon-v0.log is the log of intel 7260 init
procedure, generated by "btmon -w <file>; insmod btusb.ko; ctrl+c
terminate the btmon".
The attachment lenovo-k4450-btmon-v1.log is the log of intel 7260 init
procedure + scan headset + connect headset + play sound.
If anything is wrong, please let me know.
Thanks,
Hui.
> Regards
>
> Marcel
>
>
>
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: lenovo-k4450-btmon-v0.log --]
[-- Type: text/x-log; name="lenovo-k4450-btmon-v0.log", Size: 24010 bytes --]
btsnoop\0\0\0\0\x01\0\0\aÑ\0\0\0\x10\0\0\0\x10\0\0\0\0\0\0\0\0\0áÇÌÓ\x12'é\0\x01\0\0\0\0\0\0hci0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌÓ\x12*ð\x03\f\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x12Xð\x0e\x04\x01\x03\f\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌÓ\x12Y®\x05ü\0\0\0\0\x0f\0\0\0\x0f\0\0\0\x03\0\0\0\0\0áÇÌÓ\x12\Ô\x0e\r\x01\x05ü\07\a\x10\x01\x02\x03\r\0\0\0\0\x05\0\0\0\x05\0\0\0\x02\0\0\0\0\0áÇÌÓ\x12£\x11ü\x02\x01\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x12§\v\x0e\x04\x01\x11ü\0\0\0\0\r\0\0\0\r\0\0\0\x02\0\0\0\0\0áÇÌÓ\x12§'ü
\0\x01\0\b\0\x04\x02\x03\r.\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x12ªò\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x12« üú\0\0\0!\0ô \x0f\0\bR\x02ø\aÂÿá\a\x02ÔH\0\0ØH\0\00\bw(vÕ \x03épý\x020àx¤H\0\0\x02ð\x01ؽ\x02 0\x0fxàx¨H\0\00àx¬H\0\0\x05©¸\x05¡Z\rà\x01\x01Ø\b \x02\x0eظñ°H\0\0 H\0\00ZÐ\0¢ÁV S\0Ø\x01®=\a`0¢ÀàxH\0\0\x02 \x02\bô©pÈÿ¸H\0\0À/àxÈH\0\0¯ÕF\x15\x10èÌH\0\0ÕH\x15\x10¤è]\x15\x10ÄH\0\0\x10ê¹¹¹3¦3³¹O!\x04ÀH\0\0\x10êÐ\0Ù \x0f\0\bl,\x17\0ö\bH\0\0À.n\và\0\x1apXÓ`\x13@ D\x13\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x12²Â\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x12²×üúô\0\0!\0ô\r\x01 ±
ðàx \x01áÁÇÁÆà\x7fÁÅtH\0\0áÇü\x1cÁÇÁÆà\x7fÁÅxH\0\0áÇü\x1cà\x7fÁÅ|H\0\0áÇü\x1c\b´ü\x1cÁ\x05Ïý$H\0\0ïý\x01Ø \bR\0\0Ø ð\x18H\0\0\b¹%x\x02
ïý\x03à\x7føàx H\0\0\x01ã!\v\x1cH\0\0®\fà)\x10Ú8ѧ®¨®\x14H\0\0\x1c@\x1e\x02\x10\x1d?\x1e\x02\x10\x10H\0\0 \x0fÿª\roû\0µ\x06\x06&\fH\0\0&\bw C/\x02P àx\x04H\0\0àxÒ\v\x03\fc\x16»\x10ºE{\b¸exÂ\f\x1aè\x04Ø\x05Ù²\v÷n\x0f\0 X\x10Ó\x15\x01\x16¹(H\0\0È\x1d\x1f\x02p\00\b\x0fÏs\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x12º\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x12º§üúè\x01\0!\0ô\x01 ¨¬8H\0\0
ôè\x17\0\x10Ïq@\0 4H\0\0ù\x1f\x1f\x16\0\x1a[.ðàx0H\0\0\x15è^\x14\x03\x06¬» \x0f\x01 \x1a£,E# \0\x01# \x0f\x01 þ¦t <S ]5 V ,H\0\0»^\x1eØ\x10 \x0f\0\bà\x04\x18\x10\x0f\0¼\0\0 \x0f\0\bÐ\x03Ø\0\x02ð6Øb\f\0\0Ñ\x01\x1f`H\0\0 \x03\x03Ø\x01ØîñdH\0\0À\x1eþ\b\x02\0àxTH\0\0ëvú\v\x0fïÏsPH\0\0ëvî
/ï\bu\x1eíd
%èa#ë \x0f\0\bü\x04\x01Ùà\x7f « \x0f\0\bF\x04UzÇrô\x12
w\b\x11\0nð\0ßõ¥\x01ØhH\0\0 \bu\x11\x0fè\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x12Âa\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x12ÂwüúÜ\x02\0!\0ôD
\x03
ôàxJ&\0pV%\x12\x1a\x1e\x12 lH\0\0Û\x1eB\x13±\x1f\x18\x10Ïr\00 \x0f\0\b®\x04\0V /ù\0Ú\x1c\x10\x03 \x0f\0\b\f\x10\x01Ú\x10qDÆ@!Q ãó\bðàx\r\rÑ\x10XH\0\0\x0eè%\x05\x18\x0eàÌ R\bà\x10 Û©p\x02\0\x16\H\0\0J&\0pàx\x16\x01à:\b \0\x16µ\x1di\00ÿÿ\0\0pH\0\0\x10§Õ ¸è<H\0\0i\b\x03\x17Ðð \x0fÿ\x11\0\0\0\x04Ø\x04N\f/ÿÐA é¹´\x17\0öDH\0\0@ªB\x14/M\v^\x01@H\0\02\roü\x01\0OÐLH\0\0"ª\x01j1\x02 \0ïû\x12ÐHH\0\0\0 Q\0ð \0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x12Ê1\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x12ÊGüúÐ\x03\0!\0ôà\x7f\x01Øà\x7fØ\0H\0\0\x04àx\0Úàx´H\0\0À\x04¥Á\x17\x11vè»°\x11\0\0UxyòáH\0\0C\0\x01Ø\x1d\a`\x03£ÀàxH\0\0¬\x04\00\a\00\x12\00H\0\0H\0\0\0\x03ÁÐ\x17\x14vD\x14\x15 H\0\0ö
¯Ò\x03Ù\x01Ø\x02ð\0Ø`\0\x14à\0
àxàx¹Â\x0f`\0\x19a_¥\x1d@\x10~¥ºñH\0\0$9\bQ\0 \x0f\0\b\\x1c\x19aA\x04\x04ðH\0\0Ç\f^ \0
°\x10\0
ñ\x01`\x02¡Àà~àxÜH\0\0ÐH\0\0\0\x02b\0Ý¢Á\x04\x1cD3¼H\0\0\0ö\0°\x10\0\0\0~\r \x0f\0\b\x12\x02¢ÁñÀAÀBÁ`\x01$\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x12Ò\x03\x0e\x04\x01ü\0\0\0\05\0\0\05\0\0\0\x02\0\0\0\0\0áÇÌÓ\x12Ò$ü2Ä\x04\0!\0,
2×ñàxàxñÀ\x0e\v \x0f\0\b\x02\x05©àxñÀj\f\0\0\0 ý\x03\x1f\x02\x05\0\0\0\0\0\0\x13\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x12Õé\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x12Ö\x05üú \0\0\0ô\x1e\0\0\0O\0\0\0R\0\0\0W\0\0\0Z\0\0\0\\0\0\0b\0\0\0\0\0\0Ï\x01\0\0Ô\x01\0\0Ù\x01\0\0õ\x01\0\0÷\x01\0\0^[\x02\0\0½\x03\0\0\x15\x05\0\0-\x06\0\0a\x06\0\0ê\x06\0\0p\a\0\0Þ\v\0R\f\0\0\r\0¶\x0f\0\x10\0\0\x1a\x14\0\0õ\x14\0\x13\x15\0\x15\0\0ç\x19\0\0÷\x19\0\0þ\x19\0\0\x02\x1a\0\0/\x1a\0\0j\x1a\0\0n\x1a\0\0À\x1a\0\0}^[\0\0e"\0\0ú#\0\04'\0\0E'\0\07(\0\0a(\0\0~)\0\0)\0\0«)\0\0^[-\0\0r2\0\0W3\0\0&4\0\0N5\0\0X5\0\0þ5\0\0>@\0\0C\0\0±C\0\0çC\0\0äH\0\0¶I\0\0^J\0\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x12Ý¿\x0e\x04\x01ü\0\0\0\0U\0\0\0U\0\0\0\x02\0\0\0\0\0áÇÌÓ\x12Þ-üR\x14\x01\0\0LW\0\0·W\0\0ëY\0\0Z\0\0\x0e[\0\0\x18[\0\0d[\0\0¼[\0\0ß[\0\0\x11\\0\0T\\0\0ã\\0\0-]\0\0`]\0\0ë]\0\0É^\0\04_\0\02d\0\0ÿ\x7f\0\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x12á£\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x12áðüú\0\x01\0\b\0ôï¾Þ\0\0\0\0Bï¾B\x14\x01\0\b\0\0\0\0<\x06\0\bø\x01\0\bÀ\x06\0\b\a\0\bÀ\b\0\b4 \0\b
\0\bp\a\0\bä
\0\b$\v\0\bò\x02\0\bP\x03\0\bz\x03\0\b \x03\0\b`\v\0\bô\x03\0\bx\f\0\b\x18\x04\0\bü\f\0\bh\r\0\bl\x0e\0\b(\x0e\0\bÔ\x0e\0\bH\x0f\0\bl\x10\0\bÈ\x10\0\b\x11\0\b\x1c\x05\0\b8\x13\0\bÐ\x14\0\bT\x16\0\bÀ\x19\0\b %\0\b¬\x1e\0\bä\x1c\0\bl \0\b¤ \0\b\x05\0\b\x1c!\0\bÂ\x05\0\b#\0\b¤$\0\bÔ$\0\b %\0\bh%\0\b¨'\0\b\b+\0\bÐ,\0\bâ\x05\0\b\x0e\x06\0\bt+\0\bð+\0\b\x18.\0\bü&\0\b<'\0\bÀ-\0\b\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x12é~\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x12êHüúô\x01\0\b\0ôÞáþ¡À
\x0f\0Á\0\0\x18\x0f\x0e\x13M¤ \x0f\x01 |O\0\x16\0p\0¼L\x03\x04 \x0f\x0eüÿ\x1f\x0fô\x05 \x0f\x10\x02\0\0\0\x1e\0p\0¼L\x03" \x0f\x05 |Ø ð\x05 \x0f°\0\0à\0\x1e\0p\0¼L\x03ÑÀà~!\x06\x04B!A\0L!\0ú\aÂÿ
!\x0f\0\0\0\x10\x11\0\0\v \0\0\0\x10à \x0f\0 ÌYP \0\x03\x10\x19\0\0\x14\x11\0\0P @\x02\x14\x19\0\0 \x0f\0 ÌY\x1c\x04©}e©\b»\x04#\x0f\0\0\0ÿex\0\x1e\0p\0Á\x14\x02\0\x16p\00¤\0\0\x16p\00ø\x12"x\rx\x11¸\x04 \x0fþ\a\0\0\0\x16\x01p\0¼$\x02\x04!\x0f\x01øÿÿ%x\0\x1e\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x12ñD\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x12ñgüúè\x02\0\b\0ô\0p\0¼$\x02à~àx¡ÀÓ\x1dX\x10\0\x16\x01p\0¾<\0\x04!\x0f\0\0\0A)þ\aò
!\x0fº\0ÿñÓ\x1dX\x10\0\x16\x01p\0ÁÐ\0\x04!\x0f\0\0\00A)>\x0eò\x15\x01\x16\x04!\x0f\0þÿÿ\x05!\x0fµ\0\0\0\x1dX\x10 \x0f\x01 |¡À\0\x16\0p\0ÁÐ\0\x04 \x0f\0\0\00A(>à \x0f\x01 þ¦\x16\x02\x16 \x0f\x01 ð¦¡ÀÚ\x1fX\x10Û\x1f\x1f \x041ø\x1f\x1f(\0 ù\x1f\x1f\x15\0Ò¶ \x0f\x01 ¡À¸è\x1f\0\x10Ú\x1f\x1f@\0 Û\x1f\x1f \x04\x01ø\x1f\x1f\x04\0\0\x10ù\x1f\x1f\x16\0Ú6 \x0f\x01 E\x14\x03\x06»E\x1cØ\0!\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x12ù\x13\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x12ù1üúÜ\x03\0\b\0ô\x04\02Øa¸\x06èE\x14\x03\x06+{üõ \x0f\x01 à·@$\x1c1
\x0f\00yð @\0\r\b\x04 \x0f\x04 \x1c9 \x0f\x04 9¡À&\0!\0@Ïq\00ôy\0\x16p\00x\x11\x15y\0¸\0¡ \x0f\x04 ~> \x0f\x04 ØB\x1a`UzÇr\00$Yà8\x12\0á Ê\aÊ *\00\x12\01\x12\0?\v\x03\x01y6\x12\x04\x01 \fÃ\09\x12\0àÌ âÌ "Ì b\bò@$D\0/$\b\x016\x1a\x04\x01\x1a\x15\f\x02\0\0Û{²à\x7f(pà\x7f9\x12\0à\x7f(pàx@$\x02zb\x02$\0Ú\x18\0\x03\0s{" \x0f\x02 ¬H \x0f\x03 0'\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13\0â\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13\0ÿüúÐ\x04\0\b\0ô" \x0f\x02 |H \x0f\x03 0'Q\x16\0\x16¦¸Q\x1e\x18\x10Q\x16\0\x16¸Q\x1e\x18\x10 \x0f\x01 \x10¬a\x13\0\v
Q\0\x01Ù\0^[B
\x11\0\0Ù\0^[B \x0f\x02 ¡ÀÛ\x1eB\x13ü\x1c\b°ü\x1cH°ü\x1c°ü\x1cȰü\x1c\b±ü\x1cH±ü\x1c±ü\x1cȱü\x1c\b²ü\x1cH²ü\x1c²ü\x1cÈ·Z\r@\0\x04\x14\x1f4\x04\x14
4\x04\x14 4\x04\x14\b4\x04\x14\a4\x04\x14\x064\x04\x14\x054\x04\x14\x044\x04\x14\x034\x04\x14\x024\x04\x14\x014\x04\x14\04 \x0f\x02 ¼Ñ@$\x1c1" \x0f\0 @Wü\x1c\b°J @\0\0\x1e\0p\0\b5\x04\x14\04" \x0f\0 XW¬\x11\0\0 \x0f\x05 À@$\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13\b²\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13\bÏüúÄ\x05\0\b\0ô\x1c1\ax\0\x1e\0p\0\b5*p" \x0f\x05 dÀ \x0f\x05 HÅ@$\x1c1S¦E\x16\x10
ê \x0f\0 \x1fñÀáÀ" \x0f\0\bD+ÁÀÑÀ \x0f\0 \x1f@$\x1c1S¦E\x16\x10
ê \x0f\0 X\x1fñÀáÀ" \x0f\0\b\+ÁÀÑÀ \x0f\0 l\x1fàx¡À \x0f\0\bH\x06à~à\x7f\x01Ð\x02\x03\r.\0Ú\x03ð\x01â\x11
\x13\f=ÐVx úé\x03ð\0Øà~áÅáÆ8Ña\x11\x02\x06`\x11\0\x06A\b
\06Ó\x02 Í\05ÐBx-\bC\x03\0Þ\x03ð\x01æ\x13\x0e\x13\x1c\x16!\x03¡õ
A\x02ð\0Øa `\x11\0\x06a\x19Ø\0bx\x10x\x06ð\x10x\x04ðBx\x10x\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13\x10\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13\x10üú¸\x06\0\b\0ôÁÆà\x7fÁÅàx¡À \x0f\0\bÌ\x06à~ñÀ" \x0f\x06 ´\x17\bw" \x0f\0 @W\x03çpF'Ï\x10\x1cÖ\0ð\x7fàÊ \x0f\0\0\0\x03\aò!\a\bE\0\x15Ð"x\x10x\r\bÃ\x03Øÿ\r\bÂ\x03Ðÿ
%\0 ôp" \x0f\0 XW\0Ø\x10ð\x01\x1fg\0¥á¦á¥\0è\0
\0¦p" \x0f\0 XW\0
\x0f\x06 \x18\x04&\00¨\x01\0@¨\x04\0@'\00\vÐ\0à\x01Øà\x7fÀx\bÑà\x7f\0©àx¡À\x06Ñ\0Ú@©«®¡® \x0f\0 tÙà~àxt5\0\b¡À \x0f\0\b\aà~ñÀ" \x0f\x06 ¨\x17!C/\x0f # \bw\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13\x18R\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13\x18püú¬\a\0\b\0ô^[\0 \0;Õép" \x0f\0 äÑ" \x0f\0 <Ò\bu\x02\x15\x12\x11ép\x04\x15\x10\x11" \x0f\x04 p\x03+\b\x0f\0\0ÿÿ" \x0f\x01 \x14>è\0ر٠Ú\x02Û" \x0f\x05 Ðm" \x0f\0 \x18×(ÖÉq" \x0f\x01 HA" \x0f\0 äÙ\x04\x1e\x14\x10®\0\x1e\x04\x14\x03\x03¶\x04\x01¶ ^[\bÐ\0\r\b\0
\x0f\b\0" \x0f\0\b\\a\x04è\x02ª¸\x02¶" \x0f\0\b\\a\aè\x02¬¸\x02¶\0¬¸\0¶\x0f\x0fC\x14\0§¸\0\x05ðÿÜ\x0e'\0\x13\x01à\b®" \x0f\0 ÔÙÉq\x03¦ép" \x0f\0 ¤n©p" \x0f\x01 B \x0f\x06 \b\x18 D\00\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13 !\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13 <üú \b\0\b\0ô,D\00ñÀ" \x0f\x05 ¸ëpÑ\x14©" \x0f\x05 TlÑÀà~àx¡À \x0f\0\bÌ\bà~ñÀ*\b\0\0èûuÁÅ \x0f\x01 X ðûuÁÅ\fÙaÁ \x0f\x01 T åññÀáÅ×p\0\0Wü\x01Ø\x15ô\Ð\0à\fØ\x11òZÑ[Ð\0Ý©r" \x0f\x01 ÐXWЩq" \x0f\0 Üê©p \x0f\x06 0\x18àx¡ÀH\x1e\x02\x10ü\x1cH°ü\x1c°ü\x1cȰü\x1c\b±ü\x1cH±ü\x1c±ü\x1cȱü\x1c\b²ü\x1cH²ü\x1c²ü\x1cȲü\x1cÈ·©p" \x0f\0\b° \x04\x14\x1f4\x04\x14\v4\x04\x14
4\x04\x14 4\x04\x14\b4\x04\x14\a4\x04\x14\x064\x04\x14\x054\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13'ñ\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13(
üú \0\b\0ô\x04\x14\x044\x04\x14\x034\x04\x14\x024\x04\x14\x014 \x0f\0 dûà~àxñÀ" \x0f\x06 ´\x17¡Á0Õ\bv@ O\x06p@%A\x1e\x03Ú" \x0f\x06 \x16\0Ú\fð3$03'\x10\v ã\0\0$0 ¨\x01âí
Ò@%@\x1eq\x03Ú" \x0f\x06 \x16p©qAá\x03Ú" \x0f\x06 \x16\0Ú@&O\x18\fð3$03'\x10\v ã\0\0$0 ¨\x01âí
Ò©pAàq\x03Ú" \x0f\x06 \x16&\x16À\x107\x15Á\x10 \bC\07\x1d\x02\x10(\x16À\x108\x15Á\x10 \bC\08\x1d\x02\x10¡À \x0f\x06 \x18àx\0\00\b\x0e\00¤\b\0\bWü\0\0\x04\0\00¡À \x0f\0\b\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13/Ã\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13/âüú
\0\b\0ô
à~ñÀ\x14Ð \05\b\x0f\0\08ü\x03àÌ bÊ!¢\x04\x06ô" \x0f\0\bh\a\0Ù\vÐ" \x0f\0 ÜêÑÀ \x0f\0 ò½ÑÀ!\0 \x0f\0 è½ÑÀà~àx\x04\x0e\008ü\0\0@$\x1c1 \x0f\0\bô
à~àx Û\x03ð\x01ã\x1f\v\x02\bÔyc5yt!\x02\x03ñ\b\x02\x05Ñ\x14x\ba\x02ðÿØà~àx>\00V\r\00¡À \x0f\0\b0\và~ñÀáÅ\x01Ø" \x0f\0 05\x19\br\0\bu" \x0f\0 ¼! \bP\0a½¯}©p \x0f\x06 0\x18àx¡À \x0f\0\bl\và~ñÀ" \x0f\x06 ´\x17\buáÀ8Ò\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x137\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x137üú|\v\0\b\0ô$\x12\x01\bk\x12\x03\x0e\x04#\x0fÿ\0\07»\x17»\x05#\x0f\0\0oðk\x1a¸\x030Öð\x1a \x03\0Þ¾ô\x1a \x03.Ö<\x16\x0e\x18\x04&\x1f\0\x01\0\0A.\x0f\x16*Ö\r\x0fQ\x10$¦\x01Ø\x14®\x14\x17\bQ\0äây1\x7f&\v Å\x03\0Ø\x14®O\bQ\0åÌ%"Ì%¢Ì%bÌ%b^[ô\x05#\x0f\b\0[° k\x1aø\0ð\x1a \0\x18Ðô\x1a \0\x17Ð\x18Ò\0\x18Ñ\x05è\x04\0¢\x05\x04ð\0\0¢\x01\0¡ÁÀÁÅÁÆÁÇÑÀ\0\x16\x02p\00\b\x0fÏs\x01 ¨¬
À' \x0f\x01 \x0f\x06 \x18àx\0\0\0¼ä\x17\0\0\0\0\0¾x5\0\bõ(\0\0Ü\x0e\00\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13?a\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13?{üúp\f\0\b\0ôÄ\x0e\00È\x0e\00¡À\0Àü\x1cH°ü\x1c°ü\x1cȰü\x1c\b²ü\x1cH²ü\x1c²ü\x1cȲ \x0f\0\b¤\fà~àxñÀ3h\x02y\x15 A\0\x12Ð\x10Ú6x\x11Ñ\x10à" \x0f\x06 \x16\x04\x14\v4\x04\x14
4\x04\x14 4\x04\x14\b4\x04\x14\x034\x04\x14\x024\x04\x14\x014
%\x1f\00pz* \x0f\x04 LÑÀà~àxTx\00Ly\00¡À \x0f\0\b\b\rà~ñÀü\x1cH°ü\x1c°ü\x1cȰü\x1c\b±>Ñ@>ÑUy@%
\x1e\x01<Фº@¡3Ù@\x01j" \x0f\0\b°/\0ØÿÙ" \x0f\x04 \x1c"\x04\x14\x044\x04\x14\x034\x04\x14\x024\x04\x14\x014\x04\x14\x1f4 \x0f\x04 z¦\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13G1\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13GIüúd\r\0\b\0ôÑÀà~¡Àü\x1c\b°ü\x1cȰü\x1c\b±ü\x1cH±ü\x1c±ü\x1cȱü\x1c\b²ü\x1cH² \x0f\0\b\rà~ñÀáÅ\x1eÐ!Ò`uz 3 Þ\x06\x1cл¹ux ¢½ ^[Ðux`¹ ¢»` \x19Ð 5Ø%" \x0f\x04 h\x19\x04\x14\r4\x04\x14\x1f4\x04\x14 4\x04\x14\b4\x04\x14\a4\x04\x14\x064\x04\x14\x054\x04\x14\x044\x04\x14\x034\x04\x14\04@\0Ù \x0f\x04 h \x0f\x06 0\x18àxx\x11\00ôy\00Ä\x11\00,z\00Øy\00À\x11\00@$\x1c1 \x0f\0\b8\x0eà~àxñÀáÅ" \x0f\0 @W"Ñ \bíC
@¡\0Ù\x02ê$¢$¥#¥\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13O\x02\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13OZüúX\x0e\0\b\0ô" \x0f\0 XW©p \x0f\x06 0\x18àx@$\x1c1 \x0f\0\b|\x0eà~àxñÀáÅ
%\0\x1fò" \x0f\0 @W$
C
\x04éC¡\að\x0eÑ@¡\x03ê\0Ù$¢C
\x03ê$
$¢ Ò\0Ù$¥ #¥\x02餡 ¢" \x0f\0 XW \x0f\x06 0\x18àxä\x0f\00à\x0f\00¡Àè\x06!è%\x05\x18\x0eàÌ "\x19ò#\bÑ\0\0\x16p\00/\x0f\0!A\0\x14!A\02!\x0f\00/F\x17 Ð\0" \x0f\x03 \7\x1e\x02\x10\x0e\x06ð\x01Ø7\x1e\x02\x10\0Ø\x15¶<\x1e\x02\x10" \x0f\x01 øë<\x16\x10\x05è \x0f\x03 VU \x0f\x03 dUà~¡À \0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13VÔ\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13W(üúL\x0f\0\b\0ô\x0f\0\bT\x0fà~ñÀ" \x0f\x06 ´\x17páÌ!¢Bô$Ð%Ò\0%j\x18`\x14x\baY\bQ\0"Ð\0"Ö\x18`\x14x\x13b\x1ab u¶ \x05\x06\x04å #\x01\02¶\x02#O\0\x10wÊ!
\0Cöðy"\x7f \x0f#\x103¶ðx\x14¶\x16Ð\x01Ù ¨$©pC" \x0f\x03 tY5\x1e\x02\x10\x13ð\x0fÒ\0à%\x05\x16À}\vÑ \x01à!\x05\a=e\0ª\x05ð\aЧ¦ ©p \x0f\x06 \x18/\x0f\00,F\00Þ\x0e\00\x16\005\0\bñÀáÅ\x15Ð`\0Ù#\x13\0)£\x04-L\x1d\r\x11\x14\x11Õ íPq\x01Ú%Â"\0Yaa¹\bðPq\x01Ù\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13^«\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13_Nüú@\x10\0\b\0ôEÂ!L\0Ya" \x0f\x02 LÁÅÑÀ \x0f\x03 5 \x0f\x06 0\x18\x10\00 \x10\00¡À \x0f\0\bx\x10à~ñÀáÅ\x10Ð " \x0f\x01 Tö\x0eÑ \x0eÒ\x02¹5y4y)báÌ%¡\vòáÊ â\r\x03ô\aè:Ø" \x0f\x02 ´* \x0f\x06 0\x18àx.\x0f\00Þ\x0e\00LE\00¡À \x0f\0\b \x11à~ñÀ" \x0f\x06 ¸\x17\0Ý©v\x04ð\x01Ý\x01æ-\x0e\x15\x12íÏx" \x0f\x03 Cwèc\x10\0ë _\0qè-áÌ!bìõ\0úñ©p \x0f\x06 (\x18àxñÀáÅ" \x0f\0 ¨P\buêÿ¢è" \0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13ft\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13füú4\x11\0\b\0ô\x0f\x03 x>\x04è$
ð" \x0f\x03 d>\x11è)\x0fé$\0!\x0f\0\b\0\0±qÊ F\0¢x\x1d\x0e\x05p\0\0ÿÿ\x06ð" \x0f\x02 ph\x04è\0Ø\x04ð ÿ\x0f \x0f\x06 0\x18¡À \x0f\0\b\x11à~ñÀ" \x0f\x06 ¬\x17 \bv\r
àÌ âxô\x11
\x10èD\x03\0Ù(s\x1ab\x10
Úº" \x0f\x02 Ähè\x01Ø\x15¥\x15
"è\x15\x04\x17\x01ØA\x12¥V%\x10\x1a\b\x10 \0ßp
1Ø/$\0\x01õ¥ñ¥" \x0f\x02 Di\x01a\x10\0è\b\x10 8Øô¥" \x0f\x02 |j\x12
\bQ\0" \x0f\x03 d>}\b\x10\0 \r\rA\x10!\x10\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13nC\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13nüú(\x12\0\b\0ôm\b\x01$\x03V%\x0f\x1a\0!\x11\0(8Ø*r" \x0f\x02 \x18j(\x1ap1Ø*r" \x0f\x02 \x18jàÌ ÿÿÿÿ\x1aôL \0 Ì ¯ÿÿÿÿ\x14ô(\0Ø\x1ap\x12¥\x13¥1Ø" \x0f\x02 |j(8ØP\x1d\0\x14" \x0f\x02 |jÉp" \x0f\x02 Ä \x0f\x06 \x10\x18àxñÀ" \x0f\x06 ¸\x17\0Ø\bu\x03ð\x01å;\rÕ\x11¯x" \x0f\x02 Poxè-áÌ!âôõ!a\x11\0á Q\x10\x01\aP\x10\x03\a;yãÀ!¢\0\x03ð\0ÚHq\x0fÖ%\rÐ\x11:bÚºE¦\x10\x02\a\x02"@\0e¸^[\b
\0 Ò!\x13\bE\0\x01²\að\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13v\x12\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13v0üú\x1c\x13\0\b\0ô" \x0f\0 ¨P\x05¦ \x0f\x06 (\x18àxÐ]\00T\x10\00¡À \x0f\0\bD\x13à~ñÀ" \x0f\x06 ´\x17]Ö\x02" \x0f\x03 ,ã[׸p\0¯\0 \0ÝOò L*òØàò\x12öÖàeò×àô$\x03á\0¯xôPÔ\x14x`\x01£¸\x01©\x10ÝqðÙàò \fôJÑ\x14%@\x01\ba ÿ\x06ò Ì\r@Ù{ð Ì\r\fÙwðBÑ\x14%@\x01\ba ÿöó\f\x16\x10\x03"De" \x0f\x02 èCÕ\b\x10\0 Ì\r\x1fÙ" \x0f\x03 tÛ©p\x12ÙÚ\x03Û" \x0f\x05 ÐmXð¨p" \x0f\x04 X\x06\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13}á\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13}ûüú\x10\x14\0\b\0ô\0/Ò\x14 \x01\0)b¡ Þ" \x0f\x02 \x18D\b\x10\0©p\x12Ù©Ú\x03Û" \x0f\x05 Ðm Ì\r\x1fÙ5ð\x04# ¯è Ô4ya\x01¸\x01© Ý\x02ð\x1fÝ Ì\r©q" \x0f\x03 tÛ" \x0f\x02 "ð\x1fÝ Ì\r©q" \x0f\x03 tÛ" \x0f\x02 à" \x0f\x02 \x04\x10ð\x03\0¯ \f\x0e\x06ð\x03\0¯ L\x0e\0Ù" \x0f\x03 tÛ\0Ý©p \x0f\x06 \x18àxüg\008\x11\00Ti\00Ui\00¡À \x0f\0\bÜ\x14à~ñÀ" \x0f\x06 \x17:pÚp&\x10 X\x16\x14 \0\x11\x10\0\\x16 Áâ@$\r"J%\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13
±\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13
Ëüú\x04\x15\0\b\0ô\0 ¢ò \x11 \x1d\b\x110p\x16 è*p" \x0f\0 äa\x01Ùp\x1eB ðs
\0`\x16\x13 \x02$Ï$\x10çd\x16\x12 +ð\0"À$¢pS \x02\x02#\b\0\x02#\00wÊ!Å\x03\x02 \x04ȸ\x02{pqÊ'Æ Ê'E /$À\x05V!\x03"\x14#\0\x14{@!\0\x06@#\x01\x06r" \x0f\x06 \x16\x02'Ï\x15\0%Õ%Øï\0"\x01%X\x1e@ BuÑ\x17\x12v\bß
pérJqJ#\0 \vs" \x0f\0 ,\\x1aph¾\x13ðÊÑÊÒ\x14"À$ Û
%\0\x05\x14"Â\x04" \x0f\0 <[\0#\x13%u\x02'\x0f\x15\x16ïS%\x01\x12\x0e!\x0f\0\0\0\x02PwÊ$ \\x16 Ê$\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13üúø\x15\0\b\0ôÅ#V!À"\x14 D\0]êqÜñ\x01Ù\\x1eB \x1eðS%\x02\x12\x0e"\x0f\0\0\0\x02\x10vÊ
\x03\x10v \x11 Ê'\x06\x10V!Á"TyÊ'
\x13
pér" \x0f\0 ,\â~\x1apýeäî \x0f\x06 Ø\x17àx¡À \x0f\0\b`\x16à~ñÀ" \x0f\x06 \x17\bv\x02\x1aqJ$@ ê¸ Â$\x01%§Á\0Ýé\x150\x01à\x15¦\b\x03é\v\b\x10\x01©w\x19ðL$\0 \x01ßÊ'¡\x10\x13ð \x10 ÷é0\x05é(\v \x10\x01©w\x02ð\x01ßL$\0 Ñ â\x03ò\0\x18@#)\x01ØáÀxH@ X\0\0Ø\x0f
\x11\x01JâÊ b\0N \0\x02ã¸Ì!\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13S\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13rüúì\x16\0\b\0ôâ\x04ô@Å\x05ð\x03¸@À@&\x11\x17*p" \x0f\0 p=B"V \x01(
\x13ò\x04\x10\x15 @% \v\b
\0^[\f\x11 \b\x16\x10-\f\x11\x01\0(\x05@" \x19\vE\0L$\0 v\x02\x01\0&\x11\x17o\x02 \0 ®
\x05\0ºr\x05ð\a\r\x04 ºpO\f\x10 \0\x10\x02 Ép \x10\0;êA)\x02\x01By; \x10ðA)B\x01By á!\b; È÷Ép
q" \x0f\0 Øb\bðÉp
q" \x0f\0 äa\b\x16\x10\bðBÅ\b\x10 DÀ\0\x10\0 AÀ\x02\v\b\x1f\x03zu/ðÿ\f\x10@\x16\x01\x11D\x16\0\x11"x\x10x'\bÓ\x03;\x16\x10\x01à\x0fxã\br;\x1e\x02\x10\x13\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13!\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13<üúà\x17\0\b\0ô;\x1eB\x13\x01à\x13¦J#@ \x15ðk\b\x12 ;\x16\x10\x01à\x0fx¿\br;\x1e\x02\x10\x13;\x1eB\x13B%U \x01à\x13¦ ÿ\x0fzp-\f\x11\x01
À*q\x02Ú" \x0f\0 Ø=\x05ÀB% \x02Ùà¨\x01\x18B\x05*p" \x0f\0 |=\x01ÀàÌ$! \x03ô\x10\bè\x11\x0f\x10úu\x06ð;\x1eB\x13¯ñJ'@
˻t
"\x14J$\0x\0Ú¨ \0\x02/"À"\x05\x03|*q" \x0f\0 Ø=\v\f\x11 \x05ÀCÀ\x06Á\x01)\x05\x11\x0f\x10 \x05À" \x0f\x06 ,^[GðE\f\x10 \x05ÅÉp\0\x14\x040
qér©s" \x0f\0 ÀdJt\bw)hJ$\0x\0ب \0\x02/$\x02À \0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13¤ñ\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13¥\vüúÔ\x18\0\b\0ôE\0;y\x1de+ðà;\00Ð;\00$\x13\00lÀéq`{\0Âét
"\0\x16J$\0x\0ب \0\x02/"À \x05\x03|\x01ÁJtJ$\0x\0Ý8`AÀ o¨ À\x01/$\x02À%\x05\x10^[x\x03À\x1deD\x16\0\x11\x02%Õ#JtJ$\0xø`\x10xD\x1e\x04\x10\0Ù¨ \0\x02/$\x02À!Å\x03û\x7f*p" \x0f\0 |=L%\0 õ\bàâ \x0f\x05 ¼_?\vQ
À*qJr" \x0f\0 Ø=\x06À\x15è\x05Á\v
Q \0\0©\x03ð\0\0±D\x16\0\x11Jq\x01à\x10xD\x1e\x04\x10*p" \x0f\0 |=§À \x0f\x06 Ø\x17\0Ùà\x7f@\x18D\0¡À \x0f\0\b\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13¬Á\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13¬ÛüúÈ\x19\0\b\0ôÌ\x19à~ñÀ" \x0f\x06 ¨\x17m\x17\x12v:p\x14\x12 \0Þ\x1aqü\x1c³^[\bÑ\x01Ép\aÙ"Ï\x02(s" \x0f\x05 Ðm\x01Ø¿ð" \x0f\0 LW\x14\x12 `ÑOa`Õ\x16'Â\x13\x03ºâz\x15'\x10U}:\x1dB\x14" \x0f\0 XW!C¯*pÆö" \x0f\x05 To\x06ð" \x0f\0 äÉ:p ÃÊ !\0Ê!¡\0Ê"\x0f\0\0Ú\x03Ê#á\x01â \x0f\x05 Ðm©p
q\x14Ú" \x0f\x06 \x16 \v\bÑ\0\x01Ø
*p9\x1dB\x14" \x0f\0 ôm©pÊÿB\x1d\x13D\x1d\x13<\x1d\x13;\x1d\x13Ò¥Ó¥Ô¥Õ¥" \x0f\0\b\\aà\x01Ø\x03ô\f\x10\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13´\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13´«üú¼\x1a\0\b\0ô\0 8\x1d\x02\x10©p" \x0f\0 `IâÊ!\0\x02ô*\0ØáÊ \x0f\0\0Õ\0\x06òáÊ \x0f\0\0ÿ\0\x0fx\0\x1c\x040â\x01ÚÀz\x01âT%À\x18q" \x0f\x06 \x16V%À\x12\bt$\x10\x10À¤!\x10\0" \x0f\x06 ,^[©q!\x10\0\\x19\x03ء١ \b\0\x1a¡\x01Øp\x19\x02\0@%\0\x17éq" \x0f\0 H=àl\x0eáÿÊ A\x03" \x0f\0 LW\x14\x12 \x0f!Â\x03\x14\x1a " \x0f\0 XW©p" \x0f\0 hm\0Ø¡À \x0f\x06 \b\x18,;\00\f5\0\bÌ6\00ñÀ" \x0f\x06 ´\x17ÞÑ\bv\x04æô\x1c\b°p\x03Ù" \0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13¼c\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13¼üú°^[\0\b\0ô\x0f\0\bð/\x01Ù" \x0f\0\bà/\x18Ù" \x0f\0\bÐ/ÔÐ\0ÔÕ \x04\0F
\x13ê\aè\x11\0Á\x10à" \x0f\x05 Ë\0
\x11\f\x16\x01\x18\x14à" \x0f\x05 Ë\0
O'Á\x17\x11" \x0f\x05 Ë£À \x0f\x06 \x18ñÀáÅÁÕ
" \x0f\0 °v\b
\0Ù\x02Ú" \x0f\x05 ¤Y\x06
\x01Ù\x02Ú" \x0f\x05 ¤Y¸Ð\0\x10\0\x06" \x0f\0 À4 \x0f\x06 0\x18ñÀ" \x0f\x06 ¸\x17\buü\x1cȰÉu&
®ÖA \bºEy ¶(p" \x0f\0 (Å Ã\x04ô\0Ø\0¶\0\fè\x06
"@%\0\x1a\x03á" \x0f\0\b\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13Ä1\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13Ä
üú¤\x1c\0\b\0ôÀ/\x11ð\x04\x14\x034\x04\x14\r4\x04\x14\x0e4ÑÀ\x06"\x03\b¸ \x0f\x05 \x1eÁ\x04\x14\x034\x04\x14\r4\x04\x14\x0e4ÑÀ \x0f\x05 *Á \x0f\x06 (\x18¡À \x0f\0\bð\x1cà~ñÀ" \x0f\x06 ¤\x17ªÁÑ×\x1c\x11\x13\0$\x11\x11\0(\x11\x10\0,\x11\x12\0\0μ\x10\0\0" \x0f\x05 Ë\0Ý 9\b\x1e\0¼\x11\0\0\x01Ù©r" \x0f\x05 Ë\0\x05Ù©r¼\x10\0\0" \x0f\x05 Ë\0\rÙ©r¼\x10\0\0" \x0f\x05 Ë tÐV!Ì ¨°\x11\0\0 ¬\0O&\x01\x10\0Ú\x04à" \x0f\x05 Ë" \x0f\x01 ÀQàÀxÀyâ \x0f\0 HMO#Ó&\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13Ì\x02\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13ÌYüú\x1d\0\b\0ôaÖ\0Ý ðð!@\x03jq" \x0f\x05 Ë\x01å\0U A\x04\x10\0ç\bC\x01Ø" \x0f\x05 hÎ\x03Ø" \x0f\x05 hÎ\x05Ø" \x0f\x05 hÎ\x02Ø" \x0f\x05 hÎ\x04Ø" \x0f\x05 hÎ\x10Ø" \x0f\x05 LNÐ\0àâ \x0f\0 "
ÿP!\x01 °¹¹\0¹\0\x1cà" \x0f\x05 Ë\0
q\0E!Á\x03\x14à" \x0f\x05 Ë\0E"Â# \x04\0iF"Á+E!Á\x03ë\x06èHq\0\0\x10à" \x0f\x05 Ë\0\0" \x0f\x05 Ë\0ÙEÀ
À" \x0f\0\b\00\0\x05Á\0" \x0f\x05 Ë(Ð\0Cÿ\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13ÓÔ\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13Ô(üú\x1e\0\b\0ô\0\0Ù¬\x10\0\0¹\x14à" \x0f\x05 Ë\x01تÀ \x0f\x06 \0\x18¡À \x0f\0\b¸\x1eà~ñÀ" \x0f\x06 °\x17\bv@ \r\x02\x1d ÿ¡ÁÈò\x12Ð\02 \x0f\0\0\x06\x01àÀò<
^
0rF\x01%\0\0
è¸~ô\x11Ð\0àzòN\x16@\x11è1B"2ºÊºTzcºá \0\x14ð\x145\0\b\x12\00\x12\00x\x04\00\x12\005\0\b¦5\0\b¥5\0\bX\f\00è\x17\x0fð°èr\x03Ø@'\x01\x14" \x0f\x05 LY¡è1\x03Ú\x02N\x1e\x04\x10\x04" \x0f\x06 \x161X\x04\x03ácº\x04à" \x0f\x06 \x168N\x16@\x11Ki\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13Û«\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13ÜMüú\x1f\0\b\0ô\x01áBx\x0exN\x1e\x04\x100y\x1dðR\x16\0\x11\x01à\x10xR\x1e\x04\x10*ðP\x16\0\x11$X8`1" \x0f\x06 \x16N\x16@\x118"x\x0exP\x16\x02\x11N\x1e\x04\x10Ya0y)\bs\0P\x1eD\x10\0Ø\x16¯\x1ap\x04"\x03á*·" \x0f\0 L"N\x1e\x04\x14P\x1e\x04\x14\0
\v\b\x1f\x02\x11\x02ð\x12\x0f¦\x10¦0\x1e \x104\x1e \x10\0Ø\x1e¥\x14
R \0\0S \x01\04¥\x0f\b\x1e\0\x0e
\x1f¥,\x15\0\x18\x05ð\r
\x1f¥(\x15\0\x18\x1d\0\x10\0
\x19\b\x1f\x02©p" \x0f\x05 h¦6Ñ\0\x01à\0¡\x0eð»\x17\0ö\0àâ \x0f\0 \x060Ñ\0\x01à\0¡¡À \x0f\x06 \x18\x18àx¡À \x0f\0\b\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13ãu\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13ãüút \0\b\0ôx à~ñÀ¨\x17\0ö\0\bÙ¬\x10\0\0\x14à" \x0f\x05 Ë"Ð\0àâ \x0f\0 \x06\x01ØÑÀà~¡À \x0f\0\b° à~ñÀáÅ¡Á\x17\rö\0
" \x0f\0 \0"\0Ø\x02µq©p" \x0f\0 v\x17\x01ö è\0
\f\x19 \0\f\x11\0\bPà\x14\x19 \0\f\x11\0\b\x02¡\x14\x11\0\b\x04¡¡À\x04\x14\r4ÑÀ \x0f\x05 J¶¡À \x0f\x06 0\x18àx¤\x12\00¨\x12\00¡À \x0f\0\b(!à~ñÀ" \x0f\x06 ¬\x17aÖ\0¦Á°\x10\0\0\0\bà" \x0f\x05 Ë\0K\x10\0\x06\x06è$\x04é`y\a \x02ݰ\x11\0\x06àJ!@ ô\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13ëB\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13ë^üúh!\0\b\0ô°\x11\0\0\0" \x0f\x05 Ë V!\x02 xãÆ ÿÿ\x0fø|òLÓ\x04\x13\x10\0â¬\x11\0\0¸ª\0Ù¹\x14à" \x0f\x05 Ë" \x0f\x05 " \x0f\x05 x\0¬\x10\0\0\fà" \x0f\x05 Ë ¡¿'\b\x1e\x01¼\x11\0\0\0Ù\x01Ú" \x0f\x05 Ë\0\0Ù¬\x10\0\0XàO'B\x10\x11ð¬\x11\0\0O'B\x10\0ÙXà" \x0f\x05 Ë\0\0Ù
rº¼\x10\0\0" \x0f\x05 Ë\0\0Ù±\x18X\x04¬\x10\0\0\x01ÚXà" \x0f\x05 Ë\0\0Ù¬\x10\0\0"ÒXà" \x0f\x05 Ë\0\0Ù¬\x10\0\0\bÚXà" \x0f\x05 Ë\0\0Ù¬\x10\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13ó\x12\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13ó.üú\"\0\b\0ô\0\0 ÚXà" \x0f\x05 Ë\0¬\x10\0\0Xà" \x0f\x05 Ë j\x19\x18\0V!Ì ¬\x11\0\0 ¬\0Ù¹\x14à" \x0f\x05 Ë
Ð\0àÊ b\0â \x0f\x05 ˦À \x0f\x06 \x10\x18\x12\00X5\0\b\0\x05\x04\05\0\bD¸S B\x1ciÁ¸Ì !Ê !\0\x16òâÌ !
òàÌ"!\x06òâÌ a\x04ô\x01Ø\bðâÌ ¡\x02Ø\x02ò\x03Ø\x04¸%xà\x7f\x0fxñÀ" \x0f\x06 ¨\x17£Á\bu(w\x1ar\0Ù ª!ªZqÀéq" \x0f\x05 ]\x01Á:p\x01\x10 !ãÿ\x01\x18\x02 \x01À \0\x18B \0Þ\fð\0Á©p" \0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13úá\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13úüüúP#\0\b\0ô\x0f\x06 \x16"Á=e\0"R >fp/!G\x04Â" \x0f\x05 h^"Âíê\x13\x0eA\x14\x02'O\x14/'ÇÑõ\0Ø\x04ð\x02'\x14\x0fx£À \x0f\x06 \b\x18àx¡À \x0f\0\b¤#à~ñÀ" \x0f\x06 ¨\x17çÐà'\a¡Áqò\x17\0\x10\x01ÛA(\0A(\x02\x01Á¸Á¹Ãº" \x0f\x05 ày
"\0\x18§_òS"\x04@'\0\x18" \x0f\0\bÀ//! \x14!@$²B Ò\0*q©p" \x0f\x06 ,^[\0Ø\x1ap`À\x01\x1c\x020\x01Ø" \x0f\x05 ÔÐÌÖ\0/"$¡èJp\x02\x1d\x14" \x0f\x05 $]\x01®\x14è\x03mB!Á /yr²ÿ\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x14\x02±\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x14\x02ËüúD$\0\b\0ô À\0\x01\x140\x01 À\x02®\x01\x140ø\x03®\x11ð\x02\0\x03\x01\vð\x01àÊ"\x02\aÊ B\x03\x0eâÿÊ!B\x04ép" \x0f\x05 ´Õ³Ð\x01Ù ¨\0\x01à\x0fx\v\bò\0\0®\0\x1e\x02\x14¡À \x0f\x06 \b\x18¡À \x0f\0\b°$à~ñÀ©Ñ\0©è" \x0f\x05 \{\x05ð" \x0f\x05 D{¤Ð\0Ù ÑÀà~¡À \x0f\0\bà$à~ñÀáÅÑ\x01ØÕ\x04©\x14\x15\x01\x18¹\x14\x1d`\x10" \x0f\0 \x04C\x10\x15\0\x18¸¸¸\x10\x1d \x10\x10\x15\0\x18°¸\x10\x1d \x10 \x0f\x06 0\x18àx¡À \x0f\0\b,%à~ñÀáÅ\bØ" \x0f\0 \0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x14
\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x14
üú8%\0\b\0ôLV
Õ\x04\x10è\x0eØ" \x0f\0 lV" \x0f\x05 lÊ\x0eØ" \x0f\0 LV\0Ø\x04 \x0f\x06 0\x18¡À \x0f\0\bt%à~ñÀzÑ\x14\x11\0\b©¸\x14\x19 \0\x10\x11\0\b¬¸\x10\x19 \0\x01Ø" \x0f\0 \x04C" \x0f\0 ¤\x05ñ¡À \x0f\0\b¬%à~ñÀ" \x0f\x06 ¸\x17eÖ\0¡Á \x06" \x0f\x05 (Ô\x02Ø\x01Ù" \x0f\0 44cÕq\x06¥©p" \x0f\0 v è\0
\f\x19 \0\f\x11\0\bPà\x14\x19 \0\f\x11\0\b\x02¡\x14\x11\0\b\x04¡(p" \x0f\0\b^[\x03Ø\0Ù" \x0f\0 44 \x02¥\x19\x18\0\x03Ø\0Ù" \x0f\0 \0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x14\x12R\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x14\x12oüú,&\0\b\0ô44 Ú\0ÛË\x19\x18\0KÑ\x0eØ" \x0f\0 \x14V\x0eØ" \x0f\0 lV" \x0f\x05 lÊ\x01Ø" \x0f\0 \x04C\x0eØ" \x0f\0 LV¡À \x0f\x06 (\x18ñÀ\x0fx" \x0f\x05 <ÎàÊ !\0\x05ò\x022¸Ê¸"ññÀ" \x0f\x06 ´\x17£Á\x01Øöÿc¸P \x01\0p/y" \x0f\x05 ]\bu+Ð\0ÁÂ\0¯\x7f\0®\x01\x01®¢®\x03æ ð\x01ÁÉp" \x0f\x06 \x16"À\x1efÀÂéq" \x0f\x05 h^"Âñê\x03m\x10x£À \x0f\x06 \x18àx¡À \x0f\0\b\b'à~ñÀ" \x0f\x06 ¸\x17\x14Õ\x02
ßÿ\bv\x01Ø" \x0f\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x14\x1a!\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x14\x1a=üú '\0\b\0ô\x05 ÔÐ\x06Ø\x0e\x02
Éq" \x0f\x05 Ìy \x0f\x06 (\x18¡À \x0f\0\bh'à~\x12\00 5\0\bµ5\0\bX\f\00¨\x12\00\0\0\0x\x04\00lÊ\x05 ñÀ" \x0f\x06 ¸\x17ð\x17\rð(v
¥6µ\x01Ø" \x0f\x05 ÔÐÈ\x17\x01ð\x05ýè\x01Ø\x05©
Éq" \x0f\x05 Ôz \x0f\x06 (\x18àx¡À \x0f\0\b´'à~ñÀ" \x0f\x06 ¬\x17¥Á¾\x17\x11v`\0\x11\x0e cÃá@$\x103\r\x1cÂ3C\0Ý"\bºYa\x0e\x1cD0E/$H\0\x04\x10\0@*\x05\x02\0%
\x01/%H\x01\x10\x1cD1Gf¿\x06\bº\x1ab
çPzf\x02-\0\x12\x1c0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x14!ò\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x14"\rüú\x14(\0\b\0ô@'\0sõ Ï\x03ôx\0x\x06\0)\x01¬\0\0\x15\x01¸\0B,\0\x02a¸à>\x02\r\0@'\x03sõ#\0\0\x14{\0{\x0f\0&\0U\0\x17\x01\x17\x01?\0L\0\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x012\0Ð\0I"\x04\vèÑÉp©r" \x0f\x06 \x16û\x01\0\0ÑÉp©r" \x0f\x06 \x16ç\x01\0\0Ñ±Ø "\r\0Ép©r" \x0f\x06 \x16Ï\x01\0\0
Ð\0\x18èÑI"\r\x03Ép©r" \x0f\x06 \x16Ùð\x7fÐ\0\fèÑI"\x02Ép©r" \x0f\x06 \x16Íð 0\x05" \x0f\x05 \x14´%ÿ\x17ÃðS!Á\rôxÑ %\x10Ép©r" \x0f\x06 \x16\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x14)Á\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x14)Ûüú\b)\0\b\0ôµð\x1d Q\0sÑ %\x10Ép©r" \x0f\x06 \x16©ð^[ \0mÑ %\x10Ép©r" \x0f\x06 \x16ðáôhÑ %\x10Ép©r" \x0f\x06 \x16ðãô©p" \x0f\0 \0#" \x0f\x05 ¨Ó\x0e\x14\x011]Ð °\x7fð#\x02{ôZÐ\0\0®\x12\x14\r1åè\0 \0sðãqôUÐ\x01ÚU× ¡ ¢ L¨TÐ ¨TÐ@¨TÐ °\0\x10\0\x06¿\b\x10\0{\f\x10\0" \x0f\x05 D{NЩq\x03Ú\f\x19D# ¨LÐ ¨LÐ ¨¡¨\x10\x11\0 " \x0f\x05 ¤Y\0©q \v
" \x0f\x05 DÕ\0\x01Ù \0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x141\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x141¦üúü)\0\b\0ô\a\x02" \x0f\x05 DÕ\0 \v
" \x0f\x05 \fË\0 \a\x02" \x0f\x05 \fË\0 \a\x04" \x0f\x05 \x14!ð" \x0f\x05 \{\0 \a\x04" \x0f\x05 \x15ð¡ãÌ%¡Ê%\x10\x0fò\0\x10 B\0Ý ô&Ð\x06\x10\r!\0\v\rr\x10\0®\x01Ý=\r\x12\x10\x06\x10\0!\x1f\r\x03\x10\x1cÐ\0(©p2¹Ê¹" \x0f\x06 \x18\x01ß\x02é\0ß\0ØÉqÉr©sS'\x04\x10" \x0f\x05 $Ï©p¥À \x0f\x06 \x10\x18x\x04\00ø\x03\00¼Y\x06 ¨Y\x06 ÐY\x06 Z\x06 Z\x06 4\\x06 ´Z\x06 4[\x06 ´[\x06 \x12\00¨5\0\b\x12\00\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x149b\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x149üúð*\0\b\0ô¥5\0\b¦5\0\b\x12\00¡5\0\b 5\0\b¢5\0\b@$\x1c1 \x0f\0\b\x18+à~àx©p" \x0f\0 °v
\x0f\00h\x1c\0Ù¹\0Ú" \x0f\x05 ðÿ \x0f\0 8\x1dà~àxñÀ" \x0f\0\b\\a\x06èUÑ\0¸\0¡ÑÀà~ñÀ" \x0f\0\b\\a\x06èOÑ\0¸\0¡ôñàx@$\x1c1 \x0f\0\b+à~àxñÀáÅHÐ\0èHÐ\0«è" \x0f\0 <'%èBÕ
P!\x04¸\0¥BÐ\0èP!\0\x04²¸´¸¸\0¥>Ð(\x10\0\b!\b\x1e\0=Ñ\0 ¸\0¡
ð" \x0f\0\b\\a\x04è\0
´¸\0¥7Ð\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x14A1\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x14ALüúä+\0\b\0ô@x \x0f\x06 0\x18àx@$\x1c1 \x0f\0\b\0,à~àxñÀáÅ/Ð\0®è/Ð\0,è\x1eØ" \x0f\x05 $]&è"Õ
P!\0\x05¸\0¥"Ð\0èP!\0\x04²¸´¸¸\0¥\x1fÐ(\x10\0\b\x1f\b\x1e\0\x1dÑ\0 ¸\0¡ ð" \x0f\0\b\\a\x05è\0
²¸\0¥^[Ð\0@x \x0f\x06 0\x18ñÀáÀáÁ\x17Ñ ^[ \x1e\0" \x0f\0\b\\aèÁÁÁÀÑÀ À\aÁÁÁÀÑÀ¹\0Ú \x0f\x05 ðÿ\ñàxØ\f\00Ò\f\00Ó\f\00Ñ\f\00\0\0\0à\f\00¬\f\00Ô\f\00é\f\00´\f\00¨\x04\00¡À \x0f\0\b\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x14I\x05\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x14IküúØ,\0\b\0ôÜ,à~ñÀ" \x0f\x06 ¨\x17¨Ð\0\0ݰ\x10\0\0\0\bà" \x0f\x05 裄 $áÌ!¢Vò¡\x17\x10v!\b\x1e\0 Ð\x01Ù\0\x18B Ð Ð Ð ¨\x01ØGð\0\x10
\x10\0\x17\x11v(¸\x17\x12vS A\x03\0\x11\x02 ×Ö\x17
@\0\0\x19@ \0\x1a@# §\x01Ø\0®,ð\0\vè" \x0f\0 ¨P §\0\x1a\0 ®©p\rð" \x0f\0 ¨P\0\x12\x01 "x\v\b3\0\0§\x13x\0§ \x03Òö\0è\0\x19@#\0\x1a@# §\x01Ø\0®\0\x18B#\x02Ø" \x0f\x05 DÑ\0Ø \x0f\x06 \b\x18àx¡À \x0f\0\bÌ-à~\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x14Pß\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x14QüúÌ-\0\b\0ôG\bó\x01\0ÙèmÐ\0@ \x01\x06^[ð\x19\b\x1e\0jÑ\x1dx\x04¸ \x16x!\x02
\x19a\x11ð\x11\b\0dÐ\0\bq! \x06 ð\x0f\b\x11\x01`Ð\0\bq!\v
à\x7f(pàx¡À \x0f\0\b$.à~ñÀ" \x0f\x06 ´\x17¢Á"\0Þ\bw\x04\x1c3Û \x1f\x02A)\x03Á¸àÌ"!eôUÕ(
&\x1d\x13\x03B\b¸X`\x04à\x12µQÐ\0à\x03Ø ô\x01 \b¸%x" \x0f\x05 4Y5\b\0Â9\bÐ\0q" \x0f\x05 LYàuô\0À(
R" \x0f\x06 \x16\0À" \x0f\0 Ø!-ð\b
" \x0f\0 Ø!cð\x03Ø@%\x01\x14" \0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x14X¥\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x14XÐüúÀ.\0\b\0ô\x0f\x05 LYè\x04
\x03Ú(
" \x0f\x06 \x16(
J\x04
\x03áÒºcº\x04à" \x0f\x06 \x16\x04
" \x0f\0 L"\að,Ð" \x0f\0 8!\b
\0Ù\x02Ú" \x0f\x05 ¤Y5ð1 \x1e\x02\bàÌ"!\x12ô Ð.\x18\x03Ö°
" \x0f\0 °v" \x0f\0 "\x1dÐÀ¨\x1fð; \x1e\x02.¹Á¹áÌ"!\x17ô" \x0f\0\b\\a\x12Ñ\vè\x0e\x13\b\x01Ω" \x0f\0 ¤"\aðީα" \x0f\0 "¢À \x0f\x06 \x18\x12\00\x12\00¦5\0\b¨5\0\b¬5\0\b°5\0\b´5\0\bx\x04\005\0\b<\x06 ¥5\0\bJ"@\x10\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x14`r\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x14`üú´/\0\b\0ôJ#\x11 \x0f\x06 ø"J"\0\x10J#\x14 \x0f\x06 ä"J"\0\x10J#\x11 \x0f\x06 ä"J"À\x14J#@\x10 \x0f\x06 ä"J"@\x17J#@\x10 \x0f\x06 ä"J"\0\x11J#\x11 \x0f\x06 ä"áÅÏp\x06 ´= \x01ÛÏp\x06 ¸=(\x19à\0@%\x11\x12Ïp\0 @`\x1a`\x03h\x1a \0Ïp$\0\0$l\x1a \0dØ \x1aà\0\x1c\x1a \0\x04Ø\x18\x1a \0\0Ø(\x19 \0\0ظ\x198\0à\x7fÁÅàxÏq\x06 ¸= \x1c\x19 \0à~àxÏq\x06 ¸= \x18\x19 \0à~àxÏq\x06 ¸= \x04\x19 \0à~àxÏp\x06 ´=\0\0Ù(\x18`\0à~\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x14hB\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x14hYüú¨0\0\b\0ôÏp\x06 ´=\0\x01Ù(\x18`\0à~Ïq\x06 ¸=@H\x12\x01\b L\x12\x01\bà\x7f$¨àxñÀáÅ\buÏp\x06 ¸=\0P\x10\0\b\x04 \x0f\0ÿ\0\0¥\x03 ý\x0fB(þ\x0eò\0" \x0f\0 HA\0©p" \x0f\0 hA\x06ðÏpÞï¾\0¥ \x0f\x06 0\x18Ïq\x06 ¸= 8\x11\x01\b \x03 ý\x0fà\x7fG¸ñÀáÅ\buÏp\x06 ¸=\0\\x10\0\b\x04 \x0f\0ÿ\0\0¥\x03 ý\x0fB(þ\x0eò\0" \x0f\0 HA\0©p" \x0f\0 hA\x06ðÏpÞï¾\0¥ \x0f\x06 0\x18Ïq\x06 ¸= D\x11\x01\b \x03 ý\x0f\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x14p\x13\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x14p,üú1\0\b\0ôà\x7fG¸Ïp\x06 ¸=\0\x01Ù(\x18`\0à~Ïq\x06 ¸= \x19 \0à~àxÏp\x06 ´=\0\x01Ù(\x18`\0Ïp\x06 ¸=\0\x02Ù\x04\x18`\0à~àxÏt\0\0\0\x04¸\x14x` \x12\0\b&x \x1a \0à~Ït\0\0\0\x04¸\x14x`(\x12\0\b&x(\x1a \0à~Ït\0\0\0\x04¸\x14x`(\x12\0\b\x05y(\x1a`\0à~Ïq\0\0\0<\x11\0\b¸<\x19 \0@\x11\0\b¸@\x19 \0à~Ïq\0\0\0<\x11\0\b¸¸<\x19 \0@\x11\0\b¸®¸@\x19 \0à~Ït\0\0\0\x04¸\x14x`0\x12\0\b&x0\x1a \0à~Ït\0\0\0\x04¸\x14x`0\x12\0\b\x05y0\x1a\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x14wá\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x14w÷üú2\0\b\0ô`\0à~Ït\0\0\0\x04¸\x14x`,\x12\0\b&x,\x1a \0à~Ït\0\0\0\x04¸\x14x`,\x12\0\b\x05y,\x1a`\0à~Ïq\0,\0\x04¸\x14x0!\0à~Ït\0,\0\x04¸\x14x`\0\x1a`\0à~àxÏp\0\0\0\x10\x10\0\bà~Ïq\0\0\0\x10\x19 \0à~Ït\0\0\0\x04¸\x14x`8\x12\0\b&x8\x1a \0à~Ït\0\0\0\x04¸\x14x`4\x12\0\b&x4\x1a \0à~Ït\0\0\0\x04¸\x14x`4\x12\0\b\x05y4\x1a`\0à~Ït\0\0\0\x04¸\x14x`8\x12\0\b\x05y8\x1a`\0à~Ïq\0$\0\x04¸\x14x0!\0à~Ït\0\0\0\x04¸\x14x` \x12\0\b\x05y \x1a\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x14\x7f±\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x14\x7fÇüú3\0\b\0ô`\0à~Ïq\0$\0\x04¸\x14x0!\0à~Ïq\0\0\0<\x11\0\bE @\x01<\x19 \0@\x11\0\b¸@\x19 \0@\x11\0\b¢¸@\x19 \0à~Ïq\0\0\0<\x11\0\b¸<\x19 \0@\x11\0\b¤¸@\x19 \0à~Ïq\0\0\0<\x11\0\b¤¸<\x19 \0à~àxÏq\0\0\0<\x11\0\b¸<\x19 \0@\x11\0\b¦¸@\x19 \0à~Ïq\0\0\0<\x11\0\b¦¸<\x19 \0à~àxÏq\0\0\0<\x11\0\b¸¸<\x19 \0@\x11\0\b®¸¯¸@\x19 \0à~Ït\0 \0\x04¸\x14x`\0\x1a`\0à~àxÏt\0\0\0\x04¸\x14x`L\x12\0\b&xL\x1a \0à~Ït\0\0\0\x04¸\x14x`\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x14\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x14üúx4\0\b\0ôL\x12\0\b\x05yL\x1a`\0à~Ïs\00\x04\0 \x13\0?\x05è\x1e8`X`\x02ðXaà\x7f"¸Ïp\0¼\0\0 \x10\0\b Eà\x7fo \v\0Ïq\00'\0àÊ \x0f\0\0\0\x03
ò!\r\bE\0Ïp\0@¨\x04"x\x10xà~àx\0Ù\bt$\x10\x10 ¤!\x10\0 \x0f\x06 ,^[àxȸ\x0e \x0f\0\0\0\x02PqÊ \0à\x7fÊ E\0\0\0\0\x01\0\x02\0\x01\0ÿ\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x14Q\x0e\x04\x01ü\0\0\0\0U\0\0\0U\0\0\0\x02\0\0\0\0\0áÇÌÓ\x14güRl5\0\b\0L\0\0\0\0\0\0\0\0\0\0\0\0>þ\x0eþþPþ>þ°ýþòý\0\0\0\0\0\0\0\02\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x149\x0e\x04\x01ü\0\0\0\0\r\0\0\0\r\0\0\0\x02\0\0\0\0\0áÇÌÓ\x14Nü
\0\0\0@\0\x04\x02\x03\r\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x14!\x0e\x04\x01ü\0\0\0\0\r\0\0\0\r\0\0\0\x02\0\0\0\0\0áÇÌÓ\x146ü
\0\x01\0\b\0\x04\x02\x03\r.\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x14 \x0e\x04\x01ü\0\0\0\0\r\0\0\0\r\0\0\0\x02\0\0\0\0\0áÇÌÓ\x14\x1dü
\0\x04\00\0\x04\x14\x01\0\b\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x14ñ\x0e\x04\x01ü\0\0\0\0\f\0\0\0\f\0\0\0\x02\0\0\0\0\0áÇÌÓ\x14\aü \0\0\0@\0\x03\x02\x03\r\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x14¢Ù\x0e\x04\x01ü\0\0\0\0S\0\0\0S\0\0\0\x02\0\0\0\0\0áÇÌÓ\x14¢í/üP\0\0\0\0\0\0\0\0\0-1\x01ÿþ\x0fþÛÿ{\x01@ú\x1a
\a\x06\b\x05\a\a\a
\a\x06\x04\x06
¤ ¸Ì
\x04\0\x01À\v\x14\b\0\r\0\x1e\0¸\vd\x19ȯ¨aÐ\a\x04\0\vZ\x04C³|\0\0\0\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x14¦Á\x0f\x04\0\x01/ü\0\0\0\x04\0\0\0\x04\0\0\0\x03\0\0\0\0\0áÇÌÓ\x14ª«ÿ\x02\x19\0\0\0\0\x05\0\0\0\x05\0\0\0\x02\0\0\0\0\0áÇÌÓ\x14ªÜ\x11ü\x02\0\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x14®\x0e\x04\x01\x11ü\0\0\0\0\x7f\0\0\0\x7f\0\0\0\x02\0\0\0\0\0áÇÌÓ\x14®®`ü|\x01\x01\x01ßßÚN\0\0\0\0«¿ÄÉÎÓØÝâçìñö\0\0\0ìîðòôöøúüþ\0\x02\x04\x06\b
\x03¸\v\0,\x012\x14\x1a\0\0 \0\x01\0\x03\0\x01\0\x02\0\0\x03\0 \0\x01\0\x03\0\x01\0\x05\0\0\x03\x14\x01\0
\0\0\x03\x14\x01\0
\0\0\x03\x14\x01\0
\0\0\x03\x14\x01\0
\0\0\x03\x14\x01\0
\0\0\x03\x14\x01\0
\0\0\x03\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x14²y\x0e\x04\x01`ü\0\0\0\0\x05\0\0\0\x05\0\0\0\x02\0\0\0\0\0áÇÌÓ\x14²\x11ü\x02\0\x02\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x14é3\x0e\x04\x02\x11ü\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌÓ\x14é\x03\f\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x15\x1fÜ\x0e\x04\x02\x03\f\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌÓ\x15\x1fî\x03\x10\0\0\0\0\x0e\0\0\0\x0e\0\0\0\x03\0\0\0\0\0áÇÌÓ\x15#Â\x0e\f\x01\x03\x10\0ÿþ\x0fþÛÿ{\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌÓ\x15#Ô\x01\x10\0\0\0\0\x0e\0\0\0\x0e\0\0\0\x03\0\0\0\0\0áÇÌÓ\x15'©\x0e\f\x01\x01\x10\0\x06\0\x05\x06\x02\0\0\x05\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌÓ\x15'¸ \x10\0\0\0\0\f\0\0\0\f\0\0\0\x03\0\0\0\0\0áÇÌÓ\x15+\x0e
\x01 \x10\0Dz\aý\f\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌÓ\x15+²\x05\x10\0\0\0\0\r\0\0\0\r\0\0\0\x03\0\0\0\0\0áÇÌÓ\x15/\x0e\v\x01\x05\x10\0ý\x03`\x05\0\x05\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌÓ\x15/#\f\0\0\0\0 \0\0\0 \0\0\0\x03\0\0\0\0\0áÇÌÓ\x153c\x0e\a\x02#\f\0\0\x1f\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌÓ\x153u\x14\f\0\0\0\0þ\0\0\0þ\0\0\0\x03\0\0\0\0\0áÇÌÓ\x15C\x04\x0eü\x01\x14\f\0Bluemoon Universal Bluetooth Host Controller\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌÓ\x15C\x18%\f\0\0\0\0\b\0\0\0\b\0\0\0\x03\0\0\0\0\0áÇÌÓ\x15Fê\x0e\x06\x01%\f\0`\0\0\0\0\x04\0\0\0\x04\0\0\0\x02\0\0\0\0\0áÇÌÓ\x15Fö\x05\f\x01\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x15JÒ\x0e\x04\x01\x05\f\0\0\0\0\x05\0\0\0\x05\0\0\0\x02\0\0\0\0\0áÇÌÓ\x15Jå\x16\f\x02\0}\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x15N¹\x0e\x04\x01\x16\f\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌÓ\x15NÄ^[\f\0\0\0\0
\0\0\0
\0\0\0\x03\0\0\0\0\0áÇÌÓ\x15R¡\x0e\b\x02^[\f\0\0\b\x12\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌÓ\x15R¬F\f\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÓ\x15V\x0e\x05\x02F\f\0\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌÓ\x15V\x02 \0\0\0\0 \0\0\0 \0\0\0\x03\0\0\0\0\0áÇÌÓ\x15Zq\x0e\a\x01\x02 \0^[\0\a\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌÓ\x15Z{\x03 \0\0\0\0\x0e\0\0\0\x0e\0\0\0\x03\0\0\0\0\0áÇÌÓ\x15^Y\x0e\f\x01\x03 \0\x01\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌÓ\x15^c\a \0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÓ\x15bA\x0e\x05\x01\a \0 \0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌÓ\x15bM\x0f \0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÓ\x15f)\x0e\x05\x01\x0f \0 \0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌÓ\x15f4\x1c \0\0\0\0\x0e\0\0\0\x0e\0\0\0\x03\0\0\0\0\0áÇÌÓ\x15j\x11\x0e\f\x01\x1c \0ÿÿÿ\x1f\0\0\0\0\0\0\0\v\0\0\0\v\0\0\0\x02\0\0\0\0\0áÇÌÓ\x15j^[\x01\f\bÿÿûÿ\aø¿=\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x15mû\x0e\x04\x01\x01\f\0\0\0\0\v\0\0\0\v\0\0\0\x02\0\0\0\0\0áÇÌÓ\x15n \x01 \b\x1f\0\0\0\0\0\0\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x15qâ\x0e\x04\x01\x01 \0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌÓ\x15qô\x02\x10\0\0\0\0F\0\0\0F\0\0\0\x03\0\0\0\0\0áÇÌÓ\x15y±\x0eD\x01\x02\x10\0ÿÿû\x03Îÿïÿÿ?ÿó\x0fèþ?÷ÿ\x1c\0\0\0a÷ÿÿ\x7f\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0ô\0\0\0ô\0\0\0\x02\0\0\0\0\0áÇÌÓ\x15y¼R\fñ\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x15}\x0e\x04\x01R\f\0\0\0\0\x04\0\0\0\x04\0\0\0\x02\0\0\0\0\0áÇÌÓ\x15}¤E\f\x01\x02\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x15\x0e\x04\x02E\f\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌÓ\x15X\f\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÓ\x15
i\x0e\x05\x01X\f\0
\0\0\0\x04\0\0\0\x04\0\0\0\x02\0\0\0\0\0áÇÌÓ\x15
u\x04\x10\x01\x01\0\0\0\x10\0\0\0\x10\0\0\0\x03\0\0\0\0\0áÇÌÓ\x15Q\x0e\x0e\x01\x04\x10\0\x01\0\0\0\0\0\0\0\0\0\0\0\0
\0\0\0
\0\0\0\x02\0\0\0\0\0áÇÌÓ\x15l\x12\f\a\0\0\0\0\0\0\x01\0\0\0\b\0\0\0\b\0\0\0\x03\0\0\0\0\0áÇÌÓ\x159\x0e\x06\x01\x12\f\0\0\0\0\0\0\x05\0\0\0\x05\0\0\0\x02\0\0\0\0\0áÇÌÓ\x15E\x0f\b\x02\a\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x15!\x0e\x04\x01\x0f\b\0\0\0\0#\0\0\0#\0\0\0\x02\0\0\0\0\0áÇÌÓ\x15,\b \x1f\x02\x01\b\x02
\x18\bBluemoon Universal Blue\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x15
\x0e\x04\x01\b \0\0\0\0\x04\0\0\0\x04\0\0\0\x02\0\0\0\0\0áÇÌÓ\x15}\x04\x10\x01\x01\0\0\0\x10\0\0\0\x10\0\0\0\x03\0\0\0\0\0áÇÌÓ\x15ò\x0e\x0e\x01\x04\x10\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\0\0\x05\0\0\0\x02\0\0\0\0\0áÇÌÓ\x15\x02\x18\f\x02\0 \0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x15Ù\x0e\x04\x02\x18\f\0\0\0\0
\0\0\0
\0\0\0\x02\0\0\0\0\0áÇÌÓ\x15ã\r\f\a\0\0\0\0\0\0\x01\0\0\0
\0\0\0
\0\0\0\x03\0\0\0\0\0áÇÌÓ\x15 Á\x0e\b\x01\r\f\0\x05\0\0\0\0\0\0û\0\0\0û\0\0\0\x02\0\0\0\0\0áÇÌÓ\x15 Ó\x13\føubuntu-desktop-0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x15¤©\x0e\x04\x01\x13\f\0\0\0\0\v\0\0\0\v\0\0\0\x02\0\0\0\0\0áÇÌÓ\x16\x10A\x01\f\bÿÿûÿ\aø¿=\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x16\x15ô\x0e\x04\x01\x01\f\0\0\0\0\x04\0\0\0\x04\0\0\0\x02\0\0\0\0\0áÇÌÓ\x16\x16\bV\f\x01\x01\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x16\x19Ù\x0e\x04\x01V\f\0\0\0\0\x04\0\0\0\x04\0\0\0\x02\0\0\0\0\0áÇÌÓ\x16\x19ãE\f\x01\x02\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x16\x1dÁ\x0e\x04\x02E\f\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌÓ\x16\x1dÔX\f\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÓ\x16!ª\x0e\x05\x01X\f\0
\0\0\0\x05\0\0\0\x05\0\0\0\x02\0\0\0\0\0áÇÌÓ\x16!¿\x0f\b\x02\a\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x16%\x0e\x04\x01\x0f\b\0\0\0\0\x06\0\0\0\x06\0\0\0\x02\0\0\0\0\0áÇÌÓ\x16%«$\f\x03\0\x01n\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x16){\x0e\x04\x02$\f\0\0\0\0\x04\0\0\0\x04\0\0\0\x02\0\0\0\0\0áÇÌÓ\x16)\x1a\f\x01\x02\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x16-d\x0e\x04\x02\x1a\f\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌÓ\x1603\x14\f\0\0\0\0þ\0\0\0þ\0\0\0\x03\0\0\0\0\0áÇÌÓ\x16@ê\x0eü\x01\x14\f\0ubuntu-desktop-0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌÓ\x16A\bU\f\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÓ\x16DÒ\x0e\x05\x01U\f\0\x01\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌÓ\x16Dì\x19\f\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÓ\x16H¹\x0e\x05\x02\x19\f\0\x02\0\0\0ô\0\0\0ô\0\0\0\x02\0\0\0\0\0áÇÌÓ\x16HÒR\fñ\0\x11 ubuntu-desktop-0\x02
\x13\x03-\x11\x12\x11\x1f\x11\x1e\x11
\x11\v\x11\f\x11\x0e\x11\x03\x11\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x16L¢\x0e\x04\x01R\f\0
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #3: lenovo-k4450-btmon-v1.log --]
[-- Type: text/x-log; name="lenovo-k4450-btmon-v1.log", Size: 34887 bytes --]
btsnoop\0\0\0\0\x01\0\0\aÑ\0\0\0\x10\0\0\0\x10\0\0\0\0\0\0\0\0\0áÇÌým\0\x01\0\0\0\0\0\0hci0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌýmú\x03\f\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýmº@\x0e\x04\x01\x03\f\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌýmº\x05ü\0\0\0\0\x0f\0\0\0\x0f\0\0\0\x03\0\0\0\0\0áÇÌým¾&\x0e\r\x01\x05ü\07\a\x10\x01\x02\x03\r\0\0\0\0\x05\0\0\0\x05\0\0\0\x02\0\0\0\0\0áÇÌýn\x1aù\x11ü\x02\x01\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýn\x1fÐ\x0e\x04\x01\x11ü\0\0\0\0\r\0\0\0\r\0\0\0\x02\0\0\0\0\0áÇÌýn\x1fòü
\0\x01\0\b\0\x04\x02\x03\r.\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýn#µ\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýn#Êüú\0\0\0!\0ô \x0f\0\bR\x02ø\aÂÿá\a\x02ÔH\0\0ØH\0\00\bw(vÕ \x03épý\x020àx¤H\0\0\x02ð\x01ؽ\x02 0\x0fxàx¨H\0\00àx¬H\0\0\x05©¸\x05¡Z\rà\x01\x01Ø\b \x02\x0eظñ°H\0\0 H\0\00ZÐ\0¢ÁV S\0Ø\x01®=\a`0¢ÀàxH\0\0\x02 \x02\bô©pÈÿ¸H\0\0À/àxÈH\0\0¯ÕF\x15\x10èÌH\0\0ÕH\x15\x10¤è]\x15\x10ÄH\0\0\x10ê¹¹¹3¦3³¹O!\x04ÀH\0\0\x10êÐ\0Ù \x0f\0\bl,\x17\0ö\bH\0\0À.n\và\0\x1apXÓ`\x13@ D\x13\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýn+\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýn+üúô\0\0!\0ô\r\x01 ±
ðàx \x01áÁÇÁÆà\x7fÁÅtH\0\0áÇü\x1cÁÇÁÆà\x7fÁÅxH\0\0áÇü\x1cà\x7fÁÅ|H\0\0áÇü\x1c\b´ü\x1cÁ\x05Ïý$H\0\0ïý\x01Ø \bR\0\0Ø ð\x18H\0\0\b¹%x\x02
ïý\x03à\x7føàx H\0\0\x01ã!\v\x1cH\0\0®\fà)\x10Ú8ѧ®¨®\x14H\0\0\x1c@\x1e\x02\x10\x1d?\x1e\x02\x10\x10H\0\0 \x0fÿª\roû\0µ\x06\x06&\fH\0\0&\bw C/\x02P àx\x04H\0\0àxÒ\v\x03\fc\x16»\x10ºE{\b¸exÂ\f\x1aè\x04Ø\x05Ù²\v÷n\x0f\0 X\x10Ó\x15\x01\x16¹(H\0\0È\x1d\x1f\x02p\00\b\x0fÏs\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýn3V\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýn3hüúè\x01\0!\0ô\x01 ¨¬8H\0\0
ôè\x17\0\x10Ïq@\0 4H\0\0ù\x1f\x1f\x16\0\x1a[.ðàx0H\0\0\x15è^\x14\x03\x06¬» \x0f\x01 \x1a£,E# \0\x01# \x0f\x01 þ¦t <S ]5 V ,H\0\0»^\x1eØ\x10 \x0f\0\bà\x04\x18\x10\x0f\0¼\0\0 \x0f\0\bÐ\x03Ø\0\x02ð6Øb\f\0\0Ñ\x01\x1f`H\0\0 \x03\x03Ø\x01ØîñdH\0\0À\x1eþ\b\x02\0àxTH\0\0ëvú\v\x0fïÏsPH\0\0ëvî
/ï\bu\x1eíd
%èa#ë \x0f\0\bü\x04\x01Ùà\x7f « \x0f\0\bF\x04UzÇrô\x12
w\b\x11\0nð\0ßõ¥\x01ØhH\0\0 \bu\x11\x0fè\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýn;&\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýn;:üúÜ\x02\0!\0ôD
\x03
ôàxJ&\0pV%\x12\x1a\x1e\x12 lH\0\0Û\x1eB\x13±\x1f\x18\x10Ïr\00 \x0f\0\b®\x04\0V /ù\0Ú\x1c\x10\x03 \x0f\0\b\f\x10\x01Ú\x10qDÆ@!Q ãó\bðàx\r\rÑ\x10XH\0\0\x0eè%\x05\x18\x0eàÌ R\bà\x10 Û©p\x02\0\x16\H\0\0J&\0pàx\x16\x01à:\b \0\x16µ\x1di\00ÿÿ\0\0pH\0\0\x10§Õ ¸è<H\0\0i\b\x03\x17Ðð \x0fÿ\x11\0\0\0\x04Ø\x04N\f/ÿÐA é¹´\x17\0öDH\0\0@ªB\x14/M\v^\x01@H\0\02\roü\x01\0OÐLH\0\0"ª\x01j1\x02 \0ïû\x12ÐHH\0\0\0 Q\0ð \0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýnBé\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýnCOüúÐ\x03\0!\0ôà\x7f\x01Øà\x7fØ\0H\0\0\x04àx\0Úàx´H\0\0À\x04¥Á\x17\x11vè»°\x11\0\0UxyòáH\0\0C\0\x01Ø\x1d\a`\x03£ÀàxH\0\0¬\x04\00\a\00\x12\00H\0\0H\0\0\0\x03ÁÐ\x17\x14vD\x14\x15 H\0\0ö
¯Ò\x03Ù\x01Ø\x02ð\0Ø`\0\x14à\0
àxàx¹Â\x0f`\0\x19a_¥\x1d@\x10~¥ºñH\0\0$9\bQ\0 \x0f\0\b\\x1c\x19aA\x04\x04ðH\0\0Ç\f^ \0
°\x10\0
ñ\x01`\x02¡Àà~àxÜH\0\0ÐH\0\0\0\x02b\0Ý¢Á\x04\x1cD3¼H\0\0\0ö\0°\x10\0\0\0~\r \x0f\0\b\x12\x02¢ÁñÀAÀBÁ`\x01$\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýnJÆ\x0e\x04\x01ü\0\0\0\05\0\0\05\0\0\0\x02\0\0\0\0\0áÇÌýnJæü2Ä\x04\0!\0,
2×ñàxàxñÀ\x0e\v \x0f\0\b\x02\x05©àxñÀj\f\0\0\0 ý\x03\x1f\x02\x05\0\0\0\0\0\0\x13\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýnN\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýnNÀüú \0\0\0ô\x1e\0\0\0O\0\0\0R\0\0\0W\0\0\0Z\0\0\0\\0\0\0b\0\0\0\0\0\0Ï\x01\0\0Ô\x01\0\0Ù\x01\0\0õ\x01\0\0÷\x01\0\0^[\x02\0\0½\x03\0\0\x15\x05\0\0-\x06\0\0a\x06\0\0ê\x06\0\0p\a\0\0Þ\v\0R\f\0\0\r\0¶\x0f\0\x10\0\0\x1a\x14\0\0õ\x14\0\x13\x15\0\x15\0\0ç\x19\0\0÷\x19\0\0þ\x19\0\0\x02\x1a\0\0/\x1a\0\0j\x1a\0\0n\x1a\0\0À\x1a\0\0}^[\0\0e"\0\0ú#\0\04'\0\0E'\0\07(\0\0a(\0\0~)\0\0)\0\0«)\0\0^[-\0\0r2\0\0W3\0\0&4\0\0N5\0\0X5\0\0þ5\0\0>@\0\0C\0\0±C\0\0çC\0\0äH\0\0¶I\0\0^J\0\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýnV~\x0e\x04\x01ü\0\0\0\0U\0\0\0U\0\0\0\x02\0\0\0\0\0áÇÌýnVüR\x14\x01\0\0LW\0\0·W\0\0ëY\0\0Z\0\0\x0e[\0\0\x18[\0\0d[\0\0¼[\0\0ß[\0\0\x11\\0\0T\\0\0ã\\0\0-]\0\0`]\0\0ë]\0\0É^\0\04_\0\02d\0\0ÿ\x7f\0\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýnZX\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýnZ§üú\0\x01\0\b\0ôï¾Þ\0\0\0\0Bï¾B\x14\x01\0\b\0\0\0\0<\x06\0\bø\x01\0\bÀ\x06\0\b\a\0\bÀ\b\0\b4 \0\b
\0\bp\a\0\bä
\0\b$\v\0\bò\x02\0\bP\x03\0\bz\x03\0\b \x03\0\b`\v\0\bô\x03\0\bx\f\0\b\x18\x04\0\bü\f\0\bh\r\0\bl\x0e\0\b(\x0e\0\bÔ\x0e\0\bH\x0f\0\bl\x10\0\bÈ\x10\0\b\x11\0\b\x1c\x05\0\b8\x13\0\bÐ\x14\0\bT\x16\0\bÀ\x19\0\b %\0\b¬\x1e\0\bä\x1c\0\bl \0\b¤ \0\b\x05\0\b\x1c!\0\bÂ\x05\0\b#\0\b¤$\0\bÔ$\0\b %\0\bh%\0\b¨'\0\b\b+\0\bÐ,\0\bâ\x05\0\b\x0e\x06\0\bt+\0\bð+\0\b\x18.\0\bü&\0\b<'\0\bÀ-\0\b\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýnb+\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýnbyüúô\x01\0\b\0ôÞáþ¡À
\x0f\0Á\0\0\x18\x0f\x0e\x13M¤ \x0f\x01 |O\0\x16\0p\0¼L\x03\x04 \x0f\x0eüÿ\x1f\x0fô\x05 \x0f\x10\x02\0\0\0\x1e\0p\0¼L\x03" \x0f\x05 |Ø ð\x05 \x0f°\0\0à\0\x1e\0p\0¼L\x03ÑÀà~!\x06\x04B!A\0L!\0ú\aÂÿ
!\x0f\0\0\0\x10\x11\0\0\v \0\0\0\x10à \x0f\0 ÌYP \0\x03\x10\x19\0\0\x14\x11\0\0P @\x02\x14\x19\0\0 \x0f\0 ÌY\x1c\x04©}e©\b»\x04#\x0f\0\0\0ÿex\0\x1e\0p\0Á\x14\x02\0\x16p\00¤\0\0\x16p\00ø\x12"x\rx\x11¸\x04 \x0fþ\a\0\0\0\x16\x01p\0¼$\x02\x04!\x0f\x01øÿÿ%x\0\x1e\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýniû\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýnj5üúè\x02\0\b\0ô\0p\0¼$\x02à~àx¡ÀÓ\x1dX\x10\0\x16\x01p\0¾<\0\x04!\x0f\0\0\0A)þ\aò
!\x0fº\0ÿñÓ\x1dX\x10\0\x16\x01p\0ÁÐ\0\x04!\x0f\0\0\00A)>\x0eò\x15\x01\x16\x04!\x0f\0þÿÿ\x05!\x0fµ\0\0\0\x1dX\x10 \x0f\x01 |¡À\0\x16\0p\0ÁÐ\0\x04 \x0f\0\0\00A(>à \x0f\x01 þ¦\x16\x02\x16 \x0f\x01 ð¦¡ÀÚ\x1fX\x10Û\x1f\x1f \x041ø\x1f\x1f(\0 ù\x1f\x1f\x15\0Ò¶ \x0f\x01 ¡À¸è\x1f\0\x10Ú\x1f\x1f@\0 Û\x1f\x1f \x04\x01ø\x1f\x1f\x04\0\0\x10ù\x1f\x1f\x16\0Ú6 \x0f\x01 E\x14\x03\x06»E\x1cØ\0!\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýnqÐ\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýnr\füúÜ\x03\0\b\0ô\x04\02Øa¸\x06èE\x14\x03\x06+{üõ \x0f\x01 à·@$\x1c1
\x0f\00yð @\0\r\b\x04 \x0f\x04 \x1c9 \x0f\x04 9¡À&\0!\0@Ïq\00ôy\0\x16p\00x\x11\x15y\0¸\0¡ \x0f\x04 ~> \x0f\x04 ØB\x1a`UzÇr\00$Yà8\x12\0á Ê\aÊ *\00\x12\01\x12\0?\v\x03\x01y6\x12\x04\x01 \fÃ\09\x12\0àÌ âÌ "Ì b\bò@$D\0/$\b\x016\x1a\x04\x01\x1a\x15\f\x02\0\0Û{²à\x7f(pà\x7f9\x12\0à\x7f(pàx@$\x02zb\x02$\0Ú\x18\0\x03\0s{" \x0f\x02 ¬H \x0f\x03 0'\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýny\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýnyùüúÐ\x04\0\b\0ô" \x0f\x02 |H \x0f\x03 0'Q\x16\0\x16¦¸Q\x1e\x18\x10Q\x16\0\x16¸Q\x1e\x18\x10 \x0f\x01 \x10¬a\x13\0\v
Q\0\x01Ù\0^[B
\x11\0\0Ù\0^[B \x0f\x02 ¡ÀÛ\x1eB\x13ü\x1c\b°ü\x1cH°ü\x1c°ü\x1cȰü\x1c\b±ü\x1cH±ü\x1c±ü\x1cȱü\x1c\b²ü\x1cH²ü\x1c²ü\x1cÈ·Z\r@\0\x04\x14\x1f4\x04\x14
4\x04\x14 4\x04\x14\b4\x04\x14\a4\x04\x14\x064\x04\x14\x054\x04\x14\x044\x04\x14\x034\x04\x14\x024\x04\x14\x014\x04\x14\04 \x0f\x02 ¼Ñ@$\x1c1" \x0f\0 @Wü\x1c\b°J @\0\0\x1e\0p\0\b5\x04\x14\04" \x0f\0 XW¬\x11\0\0 \x0f\x05 À@$\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýnu\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýn¨üúÄ\x05\0\b\0ô\x1c1\ax\0\x1e\0p\0\b5*p" \x0f\x05 dÀ \x0f\x05 HÅ@$\x1c1S¦E\x16\x10
ê \x0f\0 \x1fñÀáÀ" \x0f\0\bD+ÁÀÑÀ \x0f\0 \x1f@$\x1c1S¦E\x16\x10
ê \x0f\0 X\x1fñÀáÀ" \x0f\0\b\+ÁÀÑÀ \x0f\0 l\x1fàx¡À \x0f\0\bH\x06à~à\x7f\x01Ð\x02\x03\r.\0Ú\x03ð\x01â\x11
\x13\f=ÐVx úé\x03ð\0Øà~áÅáÆ8Ña\x11\x02\x06`\x11\0\x06A\b
\06Ó\x02 Í\05ÐBx-\bC\x03\0Þ\x03ð\x01æ\x13\x0e\x13\x1c\x16!\x03¡õ
A\x02ð\0Øa `\x11\0\x06a\x19Ø\0bx\x10x\x06ð\x10x\x04ðBx\x10x\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýnF\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýn}üú¸\x06\0\b\0ôÁÆà\x7fÁÅàx¡À \x0f\0\bÌ\x06à~ñÀ" \x0f\x06 ´\x17\bw" \x0f\0 @W\x03çpF'Ï\x10\x1cÖ\0ð\x7fàÊ \x0f\0\0\0\x03\aò!\a\bE\0\x15Ð"x\x10x\r\bÃ\x03Øÿ\r\bÂ\x03Ðÿ
%\0 ôp" \x0f\0 XW\0Ø\x10ð\x01\x1fg\0¥á¦á¥\0è\0
\0¦p" \x0f\0 XW\0
\x0f\x06 \x18\x04&\00¨\x01\0@¨\x04\0@'\00\vÐ\0à\x01Øà\x7fÀx\bÑà\x7f\0©àx¡À\x06Ñ\0Ú@©«®¡® \x0f\0 tÙà~àxt5\0\b¡À \x0f\0\b\aà~ñÀ" \x0f\x06 ¨\x17!C/\x0f # \bw\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýn\x16\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýn,üú¬\a\0\b\0ô^[\0 \0;Õép" \x0f\0 äÑ" \x0f\0 <Ò\bu\x02\x15\x12\x11ép\x04\x15\x10\x11" \x0f\x04 p\x03+\b\x0f\0\0ÿÿ" \x0f\x01 \x14>è\0ر٠Ú\x02Û" \x0f\x05 Ðm" \x0f\0 \x18×(ÖÉq" \x0f\x01 HA" \x0f\0 äÙ\x04\x1e\x14\x10®\0\x1e\x04\x14\x03\x03¶\x04\x01¶ ^[\bÐ\0\r\b\0
\x0f\b\0" \x0f\0\b\\a\x04è\x02ª¸\x02¶" \x0f\0\b\\a\aè\x02¬¸\x02¶\0¬¸\0¶\x0f\x0fC\x14\0§¸\0\x05ðÿÜ\x0e'\0\x13\x01à\b®" \x0f\0 ÔÙÉq\x03¦ép" \x0f\0 ¤n©p" \x0f\x01 B \x0f\x06 \b\x18 D\00\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýnæ\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýn^[üú \b\0\b\0ô,D\00ñÀ" \x0f\x05 ¸ëpÑ\x14©" \x0f\x05 TlÑÀà~àx¡À \x0f\0\bÌ\bà~ñÀ*\b\0\0èûuÁÅ \x0f\x01 X ðûuÁÅ\fÙaÁ \x0f\x01 T åññÀáÅ×p\0\0Wü\x01Ø\x15ô\Ð\0à\fØ\x11òZÑ[Ð\0Ý©r" \x0f\x01 ÐXWЩq" \x0f\0 Üê©p \x0f\x06 0\x18àx¡ÀH\x1e\x02\x10ü\x1cH°ü\x1c°ü\x1cȰü\x1c\b±ü\x1cH±ü\x1c±ü\x1cȱü\x1c\b²ü\x1cH²ü\x1c²ü\x1cȲü\x1cÈ·©p" \x0f\0\b° \x04\x14\x1f4\x04\x14\v4\x04\x14
4\x04\x14 4\x04\x14\b4\x04\x14\a4\x04\x14\x064\x04\x14\x054\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýn ·\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýn¡\x1düú \0\b\0ô\x04\x14\x044\x04\x14\x034\x04\x14\x024\x04\x14\x014 \x0f\0 dûà~àxñÀ" \x0f\x06 ´\x17¡Á0Õ\bv@ O\x06p@%A\x1e\x03Ú" \x0f\x06 \x16\0Ú\fð3$03'\x10\v ã\0\0$0 ¨\x01âí
Ò@%@\x1eq\x03Ú" \x0f\x06 \x16p©qAá\x03Ú" \x0f\x06 \x16\0Ú@&O\x18\fð3$03'\x10\v ã\0\0$0 ¨\x01âí
Ò©pAàq\x03Ú" \x0f\x06 \x16&\x16À\x107\x15Á\x10 \bC\07\x1d\x02\x10(\x16À\x108\x15Á\x10 \bC\08\x1d\x02\x10¡À \x0f\x06 \x18àx\0\00\b\x0e\00¤\b\0\bWü\0\0\x04\0\00¡À \x0f\0\b\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýn¨\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýn¨Áüú
\0\b\0ô
à~ñÀ\x14Ð \05\b\x0f\0\08ü\x03àÌ bÊ!¢\x04\x06ô" \x0f\0\bh\a\0Ù\vÐ" \x0f\0 ÜêÑÀ \x0f\0 ò½ÑÀ!\0 \x0f\0 è½ÑÀà~àx\x04\x0e\008ü\0\0@$\x1c1 \x0f\0\bô
à~àx Û\x03ð\x01ã\x1f\v\x02\bÔyc5yt!\x02\x03ñ\b\x02\x05Ñ\x14x\ba\x02ðÿØà~àx>\00V\r\00¡À \x0f\0\b0\và~ñÀáÅ\x01Ø" \x0f\0 05\x19\br\0\bu" \x0f\0 ¼! \bP\0a½¯}©p \x0f\x06 0\x18àx¡À \x0f\0\bl\và~ñÀ" \x0f\x06 ´\x17\buáÀ8Ò\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýn°V\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýn°üú|\v\0\b\0ô$\x12\x01\bk\x12\x03\x0e\x04#\x0fÿ\0\07»\x17»\x05#\x0f\0\0oðk\x1a¸\x030Öð\x1a \x03\0Þ¾ô\x1a \x03.Ö<\x16\x0e\x18\x04&\x1f\0\x01\0\0A.\x0f\x16*Ö\r\x0fQ\x10$¦\x01Ø\x14®\x14\x17\bQ\0äây1\x7f&\v Å\x03\0Ø\x14®O\bQ\0åÌ%"Ì%¢Ì%bÌ%b^[ô\x05#\x0f\b\0[° k\x1aø\0ð\x1a \0\x18Ðô\x1a \0\x17Ð\x18Ò\0\x18Ñ\x05è\x04\0¢\x05\x04ð\0\0¢\x01\0¡ÁÀÁÅÁÆÁÇÑÀ\0\x16\x02p\00\b\x0fÏs\x01 ¨¬
À' \x0f\x01 \x0f\x06 \x18àx\0\0\0¼ä\x17\0\0\0\0\0¾x5\0\bõ(\0\0Ü\x0e\00\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýn¸\x19\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýn¸büúp\f\0\b\0ôÄ\x0e\00È\x0e\00¡À\0Àü\x1cH°ü\x1c°ü\x1cȰü\x1c\b²ü\x1cH²ü\x1c²ü\x1cȲ \x0f\0\b¤\fà~àxñÀ3h\x02y\x15 A\0\x12Ð\x10Ú6x\x11Ñ\x10à" \x0f\x06 \x16\x04\x14\v4\x04\x14
4\x04\x14 4\x04\x14\b4\x04\x14\x034\x04\x14\x024\x04\x14\x014
%\x1f\00pz* \x0f\x04 LÑÀà~àxTx\00Ly\00¡À \x0f\0\b\b\rà~ñÀü\x1cH°ü\x1c°ü\x1cȰü\x1c\b±>Ñ@>ÑUy@%
\x1e\x01<Фº@¡3Ù@\x01j" \x0f\0\b°/\0ØÿÙ" \x0f\x04 \x1c"\x04\x14\x044\x04\x14\x034\x04\x14\x024\x04\x14\x014\x04\x14\x1f4 \x0f\x04 z¦\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýn¿é\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýnÀ\x01üúd\r\0\b\0ôÑÀà~¡Àü\x1c\b°ü\x1cȰü\x1c\b±ü\x1cH±ü\x1c±ü\x1cȱü\x1c\b²ü\x1cH² \x0f\0\b\rà~ñÀáÅ\x1eÐ!Ò`uz 3 Þ\x06\x1cл¹ux ¢½ ^[Ðux`¹ ¢»` \x19Ð 5Ø%" \x0f\x04 h\x19\x04\x14\r4\x04\x14\x1f4\x04\x14 4\x04\x14\b4\x04\x14\a4\x04\x14\x064\x04\x14\x054\x04\x14\x044\x04\x14\x034\x04\x14\04@\0Ù \x0f\x04 h \x0f\x06 0\x18àxx\x11\00ôy\00Ä\x11\00,z\00Øy\00À\x11\00@$\x1c1 \x0f\0\b8\x0eà~àxñÀáÅ" \x0f\0 @W"Ñ \bíC
@¡\0Ù\x02ê$¢$¥#¥\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýnÇ»\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýnÈ\x11üúX\x0e\0\b\0ô" \x0f\0 XW©p \x0f\x06 0\x18àx@$\x1c1 \x0f\0\b|\x0eà~àxñÀáÅ
%\0\x1fò" \x0f\0 @W$
C
\x04éC¡\að\x0eÑ@¡\x03ê\0Ù$¢C
\x03ê$
$¢ Ò\0Ù$¥ #¥\x02餡 ¢" \x0f\0 XW \x0f\x06 0\x18àxä\x0f\00à\x0f\00¡Àè\x06!è%\x05\x18\x0eàÌ "\x19ò#\bÑ\0\0\x16p\00/\x0f\0!A\0\x14!A\02!\x0f\00/F\x17 Ð\0" \x0f\x03 \7\x1e\x02\x10\x0e\x06ð\x01Ø7\x1e\x02\x10\0Ø\x15¶<\x1e\x02\x10" \x0f\x01 øë<\x16\x10\x05è \x0f\x03 VU \x0f\x03 dUà~¡À \0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýnÏ\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýnÏÌüúL\x0f\0\b\0ô\x0f\0\bT\x0fà~ñÀ" \x0f\x06 ´\x17páÌ!¢Bô$Ð%Ò\0%j\x18`\x14x\baY\bQ\0"Ð\0"Ö\x18`\x14x\x13b\x1ab u¶ \x05\x06\x04å #\x01\02¶\x02#O\0\x10wÊ!
\0Cöðy"\x7f \x0f#\x103¶ðx\x14¶\x16Ð\x01Ù ¨$©pC" \x0f\x03 tY5\x1e\x02\x10\x13ð\x0fÒ\0à%\x05\x16À}\vÑ \x01à!\x05\a=e\0ª\x05ð\aЧ¦ ©p \x0f\x06 \x18/\x0f\00,F\00Þ\x0e\00\x16\005\0\bñÀáÅ\x15Ð`\0Ù#\x13\0)£\x04-L\x1d\r\x11\x14\x11Õ íPq\x01Ú%Â"\0Yaa¹\bðPq\x01Ù\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýn×a\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýn×üú@\x10\0\b\0ôEÂ!L\0Ya" \x0f\x02 LÁÅÑÀ \x0f\x03 5 \x0f\x06 0\x18\x10\00 \x10\00¡À \x0f\0\bx\x10à~ñÀáÅ\x10Ð " \x0f\x01 Tö\x0eÑ \x0eÒ\x02¹5y4y)báÌ%¡\vòáÊ â\r\x03ô\aè:Ø" \x0f\x02 ´* \x0f\x06 0\x18àx.\x0f\00Þ\x0e\00LE\00¡À \x0f\0\b \x11à~ñÀ" \x0f\x06 ¸\x17\0Ý©v\x04ð\x01Ý\x01æ-\x0e\x15\x12íÏx" \x0f\x03 Cwèc\x10\0ë _\0qè-áÌ!bìõ\0úñ©p \x0f\x06 (\x18àxñÀáÅ" \x0f\0 ¨P\buêÿ¢è" \0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýnß6\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýnßXüú4\x11\0\b\0ô\x0f\x03 x>\x04è$
ð" \x0f\x03 d>\x11è)\x0fé$\0!\x0f\0\b\0\0±qÊ F\0¢x\x1d\x0e\x05p\0\0ÿÿ\x06ð" \x0f\x02 ph\x04è\0Ø\x04ð ÿ\x0f \x0f\x06 0\x18¡À \x0f\0\b\x11à~ñÀ" \x0f\x06 ¬\x17 \bv\r
àÌ âxô\x11
\x10èD\x03\0Ù(s\x1ab\x10
Úº" \x0f\x02 Ähè\x01Ø\x15¥\x15
"è\x15\x04\x17\x01ØA\x12¥V%\x10\x1a\b\x10 \0ßp
1Ø/$\0\x01õ¥ñ¥" \x0f\x02 Di\x01a\x10\0è\b\x10 8Øô¥" \x0f\x02 |j\x12
\bQ\0" \x0f\x03 d>}\b\x10\0 \r\rA\x10!\x10\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýnç\x06\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýnçEüú(\x12\0\b\0ôm\b\x01$\x03V%\x0f\x1a\0!\x11\0(8Ø*r" \x0f\x02 \x18j(\x1ap1Ø*r" \x0f\x02 \x18jàÌ ÿÿÿÿ\x1aôL \0 Ì ¯ÿÿÿÿ\x14ô(\0Ø\x1ap\x12¥\x13¥1Ø" \x0f\x02 |j(8ØP\x1d\0\x14" \x0f\x02 |jÉp" \x0f\x02 Ä \x0f\x06 \x10\x18àxñÀ" \x0f\x06 ¸\x17\0Ø\bu\x03ð\x01å;\rÕ\x11¯x" \x0f\x02 Poxè-áÌ!âôõ!a\x11\0á Q\x10\x01\aP\x10\x03\a;yãÀ!¢\0\x03ð\0ÚHq\x0fÖ%\rÐ\x11:bÚºE¦\x10\x02\a\x02"@\0e¸^[\b
\0 Ò!\x13\bE\0\x01²\að\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýnîÕ\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýnï\büú\x1c\x13\0\b\0ô" \x0f\0 ¨P\x05¦ \x0f\x06 (\x18àxÐ]\00T\x10\00¡À \x0f\0\bD\x13à~ñÀ" \x0f\x06 ´\x17]Ö\x02" \x0f\x03 ,ã[׸p\0¯\0 \0ÝOò L*òØàò\x12öÖàeò×àô$\x03á\0¯xôPÔ\x14x`\x01£¸\x01©\x10ÝqðÙàò \fôJÑ\x14%@\x01\ba ÿ\x06ò Ì\r@Ù{ð Ì\r\fÙwðBÑ\x14%@\x01\ba ÿöó\f\x16\x10\x03"De" \x0f\x02 èCÕ\b\x10\0 Ì\r\x1fÙ" \x0f\x03 tÛ©p\x12ÙÚ\x03Û" \x0f\x05 ÐmXð¨p" \x0f\x04 X\x06\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýnö¦\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýnöèüú\x10\x14\0\b\0ô\0/Ò\x14 \x01\0)b¡ Þ" \x0f\x02 \x18D\b\x10\0©p\x12Ù©Ú\x03Û" \x0f\x05 Ðm Ì\r\x1fÙ5ð\x04# ¯è Ô4ya\x01¸\x01© Ý\x02ð\x1fÝ Ì\r©q" \x0f\x03 tÛ" \x0f\x02 "ð\x1fÝ Ì\r©q" \x0f\x03 tÛ" \x0f\x02 à" \x0f\x02 \x04\x10ð\x03\0¯ \f\x0e\x06ð\x03\0¯ L\x0e\0Ù" \x0f\x03 tÛ\0Ý©p \x0f\x06 \x18àxüg\008\x11\00Ti\00Ui\00¡À \x0f\0\bÜ\x14à~ñÀ" \x0f\x06 \x17:pÚp&\x10 X\x16\x14 \0\x11\x10\0\\x16 Áâ@$\r"J%\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýnþu\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýnþüú\x04\x15\0\b\0ô\0 ¢ò \x11 \x1d\b\x110p\x16 è*p" \x0f\0 äa\x01Ùp\x1eB ðs
\0`\x16\x13 \x02$Ï$\x10çd\x16\x12 +ð\0"À$¢pS \x02\x02#\b\0\x02#\00wÊ!Å\x03\x02 \x04ȸ\x02{pqÊ'Æ Ê'E /$À\x05V!\x03"\x14#\0\x14{@!\0\x06@#\x01\x06r" \x0f\x06 \x16\x02'Ï\x15\0%Õ%Øï\0"\x01%X\x1e@ BuÑ\x17\x12v\bß
pérJqJ#\0 \vs" \x0f\0 ,\\x1aph¾\x13ðÊÑÊÒ\x14"À$ Û
%\0\x05\x14"Â\x04" \x0f\0 <[\0#\x13%u\x02'\x0f\x15\x16ïS%\x01\x12\x0e!\x0f\0\0\0\x02PwÊ$ \\x16 Ê$\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýo\x06F\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýo\x06rüúø\x15\0\b\0ôÅ#V!À"\x14 D\0]êqÜñ\x01Ù\\x1eB \x1eðS%\x02\x12\x0e"\x0f\0\0\0\x02\x10vÊ
\x03\x10v \x11 Ê'\x06\x10V!Á"TyÊ'
\x13
pér" \x0f\0 ,\â~\x1apýeäî \x0f\x06 Ø\x17àx¡À \x0f\0\b`\x16à~ñÀ" \x0f\x06 \x17\bv\x02\x1aqJ$@ ê¸ Â$\x01%§Á\0Ýé\x150\x01à\x15¦\b\x03é\v\b\x10\x01©w\x19ðL$\0 \x01ßÊ'¡\x10\x13ð \x10 ÷é0\x05é(\v \x10\x01©w\x02ð\x01ßL$\0 Ñ â\x03ò\0\x18@#)\x01ØáÀxH@ X\0\0Ø\x0f
\x11\x01JâÊ b\0N \0\x02ã¸Ì!\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýo\x0e\x16\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýo\x0eLüúì\x16\0\b\0ôâ\x04ô@Å\x05ð\x03¸@À@&\x11\x17*p" \x0f\0 p=B"V \x01(
\x13ò\x04\x10\x15 @% \v\b
\0^[\f\x11 \b\x16\x10-\f\x11\x01\0(\x05@" \x19\vE\0L$\0 v\x02\x01\0&\x11\x17o\x02 \0 ®
\x05\0ºr\x05ð\a\r\x04 ºpO\f\x10 \0\x10\x02 Ép \x10\0;êA)\x02\x01By; \x10ðA)B\x01By á!\b; È÷Ép
q" \x0f\0 Øb\bðÉp
q" \x0f\0 äa\b\x16\x10\bðBÅ\b\x10 DÀ\0\x10\0 AÀ\x02\v\b\x1f\x03zu/ðÿ\f\x10@\x16\x01\x11D\x16\0\x11"x\x10x'\bÓ\x03;\x16\x10\x01à\x0fxã\br;\x1e\x02\x10\x13\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýo\x15æ\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýo\x16\x18üúà\x17\0\b\0ô;\x1eB\x13\x01à\x13¦J#@ \x15ðk\b\x12 ;\x16\x10\x01à\x0fx¿\br;\x1e\x02\x10\x13;\x1eB\x13B%U \x01à\x13¦ ÿ\x0fzp-\f\x11\x01
À*q\x02Ú" \x0f\0 Ø=\x05ÀB% \x02Ùà¨\x01\x18B\x05*p" \x0f\0 |=\x01ÀàÌ$! \x03ô\x10\bè\x11\x0f\x10úu\x06ð;\x1eB\x13¯ñJ'@
˻t
"\x14J$\0x\0Ú¨ \0\x02/"À"\x05\x03|*q" \x0f\0 Ø=\v\f\x11 \x05ÀCÀ\x06Á\x01)\x05\x11\x0f\x10 \x05À" \x0f\x06 ,^[GðE\f\x10 \x05ÅÉp\0\x14\x040
qér©s" \x0f\0 ÀdJt\bw)hJ$\0x\0ب \0\x02/$\x02À \0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýo\x1dµ\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýo\x1dÍüúÔ\x18\0\b\0ôE\0;y\x1de+ðà;\00Ð;\00$\x13\00lÀéq`{\0Âét
"\0\x16J$\0x\0ب \0\x02/"À \x05\x03|\x01ÁJtJ$\0x\0Ý8`AÀ o¨ À\x01/$\x02À%\x05\x10^[x\x03À\x1deD\x16\0\x11\x02%Õ#JtJ$\0xø`\x10xD\x1e\x04\x10\0Ù¨ \0\x02/$\x02À!Å\x03û\x7f*p" \x0f\0 |=L%\0 õ\bàâ \x0f\x05 ¼_?\vQ
À*qJr" \x0f\0 Ø=\x06À\x15è\x05Á\v
Q \0\0©\x03ð\0\0±D\x16\0\x11Jq\x01à\x10xD\x1e\x04\x10*p" \x0f\0 |=§À \x0f\x06 Ø\x17\0Ùà\x7f@\x18D\0¡À \x0f\0\b\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýo%\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýo%°üúÈ\x19\0\b\0ôÌ\x19à~ñÀ" \x0f\x06 ¨\x17m\x17\x12v:p\x14\x12 \0Þ\x1aqü\x1c³^[\bÑ\x01Ép\aÙ"Ï\x02(s" \x0f\x05 Ðm\x01Ø¿ð" \x0f\0 LW\x14\x12 `ÑOa`Õ\x16'Â\x13\x03ºâz\x15'\x10U}:\x1dB\x14" \x0f\0 XW!C¯*pÆö" \x0f\x05 To\x06ð" \x0f\0 äÉ:p ÃÊ !\0Ê!¡\0Ê"\x0f\0\0Ú\x03Ê#á\x01â \x0f\x05 Ðm©p
q\x14Ú" \x0f\x06 \x16 \v\bÑ\0\x01Ø
*p9\x1dB\x14" \x0f\0 ôm©pÊÿB\x1d\x13D\x1d\x13<\x1d\x13;\x1d\x13Ò¥Ó¥Ô¥Õ¥" \x0f\0\b\\aà\x01Ø\x03ô\f\x10\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýo-I\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýo-üú¼\x1a\0\b\0ô\0 8\x1d\x02\x10©p" \x0f\0 `IâÊ!\0\x02ô*\0ØáÊ \x0f\0\0Õ\0\x06òáÊ \x0f\0\0ÿ\0\x0fx\0\x1c\x040â\x01ÚÀz\x01âT%À\x18q" \x0f\x06 \x16V%À\x12\bt$\x10\x10À¤!\x10\0" \x0f\x06 ,^[©q!\x10\0\\x19\x03ء١ \b\0\x1a¡\x01Øp\x19\x02\0@%\0\x17éq" \x0f\0 H=àl\x0eáÿÊ A\x03" \x0f\0 LW\x14\x12 \x0f!Â\x03\x14\x1a " \x0f\0 XW©p" \x0f\0 hm\0Ø¡À \x0f\x06 \b\x18,;\00\f5\0\bÌ6\00ñÀ" \x0f\x06 ´\x17ÞÑ\bv\x04æô\x1c\b°p\x03Ù" \0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýo5\x19\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýo5düú°^[\0\b\0ô\x0f\0\bð/\x01Ù" \x0f\0\bà/\x18Ù" \x0f\0\bÐ/ÔÐ\0ÔÕ \x04\0F
\x13ê\aè\x11\0Á\x10à" \x0f\x05 Ë\0
\x11\f\x16\x01\x18\x14à" \x0f\x05 Ë\0
O'Á\x17\x11" \x0f\x05 Ë£À \x0f\x06 \x18ñÀáÅÁÕ
" \x0f\0 °v\b
\0Ù\x02Ú" \x0f\x05 ¤Y\x06
\x01Ù\x02Ú" \x0f\x05 ¤Y¸Ð\0\x10\0\x06" \x0f\0 À4 \x0f\x06 0\x18ñÀ" \x0f\x06 ¸\x17\buü\x1cȰÉu&
®ÖA \bºEy ¶(p" \x0f\0 (Å Ã\x04ô\0Ø\0¶\0\fè\x06
"@%\0\x1a\x03á" \x0f\0\b\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýo<ë\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýo=3üú¤\x1c\0\b\0ôÀ/\x11ð\x04\x14\x034\x04\x14\r4\x04\x14\x0e4ÑÀ\x06"\x03\b¸ \x0f\x05 \x1eÁ\x04\x14\x034\x04\x14\r4\x04\x14\x0e4ÑÀ \x0f\x05 *Á \x0f\x06 (\x18¡À \x0f\0\bð\x1cà~ñÀ" \x0f\x06 ¤\x17ªÁÑ×\x1c\x11\x13\0$\x11\x11\0(\x11\x10\0,\x11\x12\0\0μ\x10\0\0" \x0f\x05 Ë\0Ý 9\b\x1e\0¼\x11\0\0\x01Ù©r" \x0f\x05 Ë\0\x05Ù©r¼\x10\0\0" \x0f\x05 Ë\0\rÙ©r¼\x10\0\0" \x0f\x05 Ë tÐV!Ì ¨°\x11\0\0 ¬\0O&\x01\x10\0Ú\x04à" \x0f\x05 Ë" \x0f\x01 ÀQàÀxÀyâ \x0f\0 HMO#Ó&\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýoD¹\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýoDØüú\x1d\0\b\0ôaÖ\0Ý ðð!@\x03jq" \x0f\x05 Ë\x01å\0U A\x04\x10\0ç\bC\x01Ø" \x0f\x05 hÎ\x03Ø" \x0f\x05 hÎ\x05Ø" \x0f\x05 hÎ\x02Ø" \x0f\x05 hÎ\x04Ø" \x0f\x05 hÎ\x10Ø" \x0f\x05 LNÐ\0àâ \x0f\0 "
ÿP!\x01 °¹¹\0¹\0\x1cà" \x0f\x05 Ë\0
q\0E!Á\x03\x14à" \x0f\x05 Ë\0E"Â# \x04\0iF"Á+E!Á\x03ë\x06èHq\0\0\x10à" \x0f\x05 Ë\0\0" \x0f\x05 Ë\0ÙEÀ
À" \x0f\0\b\00\0\x05Á\0" \x0f\x05 Ë(Ð\0Cÿ\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýoL\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýoLÈüú\x1e\0\b\0ô\0\0Ù¬\x10\0\0¹\x14à" \x0f\x05 Ë\x01تÀ \x0f\x06 \0\x18¡À \x0f\0\b¸\x1eà~ñÀ" \x0f\x06 °\x17\bv@ \r\x02\x1d ÿ¡ÁÈò\x12Ð\02 \x0f\0\0\x06\x01àÀò<
^
0rF\x01%\0\0
è¸~ô\x11Ð\0àzòN\x16@\x11è1B"2ºÊºTzcºá \0\x14ð\x145\0\b\x12\00\x12\00x\x04\00\x12\005\0\b¦5\0\b¥5\0\bX\f\00è\x17\x0fð°èr\x03Ø@'\x01\x14" \x0f\x05 LY¡è1\x03Ú\x02N\x1e\x04\x10\x04" \x0f\x06 \x161X\x04\x03ácº\x04à" \x0f\x06 \x168N\x16@\x11Ki\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýoTh\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýoTüú\x1f\0\b\0ô\x01áBx\x0exN\x1e\x04\x100y\x1dðR\x16\0\x11\x01à\x10xR\x1e\x04\x10*ðP\x16\0\x11$X8`1" \x0f\x06 \x16N\x16@\x118"x\x0exP\x16\x02\x11N\x1e\x04\x10Ya0y)\bs\0P\x1eD\x10\0Ø\x16¯\x1ap\x04"\x03á*·" \x0f\0 L"N\x1e\x04\x14P\x1e\x04\x14\0
\v\b\x1f\x02\x11\x02ð\x12\x0f¦\x10¦0\x1e \x104\x1e \x10\0Ø\x1e¥\x14
R \0\0S \x01\04¥\x0f\b\x1e\0\x0e
\x1f¥,\x15\0\x18\x05ð\r
\x1f¥(\x15\0\x18\x1d\0\x10\0
\x19\b\x1f\x02©p" \x0f\x05 h¦6Ñ\0\x01à\0¡\x0eð»\x17\0ö\0àâ \x0f\0 \x060Ñ\0\x01à\0¡¡À \x0f\x06 \x18\x18àx¡À \x0f\0\b\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýo\6\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýo\Wüút \0\b\0ôx à~ñÀ¨\x17\0ö\0\bÙ¬\x10\0\0\x14à" \x0f\x05 Ë"Ð\0àâ \x0f\0 \x06\x01ØÑÀà~¡À \x0f\0\b° à~ñÀáÅ¡Á\x17\rö\0
" \x0f\0 \0"\0Ø\x02µq©p" \x0f\0 v\x17\x01ö è\0
\f\x19 \0\f\x11\0\bPà\x14\x19 \0\f\x11\0\b\x02¡\x14\x11\0\b\x04¡¡À\x04\x14\r4ÑÀ \x0f\x05 J¶¡À \x0f\x06 0\x18àx¤\x12\00¨\x12\00¡À \x0f\0\b(!à~ñÀ" \x0f\x06 ¬\x17aÖ\0¦Á°\x10\0\0\0\bà" \x0f\x05 Ë\0K\x10\0\x06\x06è$\x04é`y\a \x02ݰ\x11\0\x06àJ!@ ô\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýod\x06\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýod&üúh!\0\b\0ô°\x11\0\0\0" \x0f\x05 Ë V!\x02 xãÆ ÿÿ\x0fø|òLÓ\x04\x13\x10\0â¬\x11\0\0¸ª\0Ù¹\x14à" \x0f\x05 Ë" \x0f\x05 " \x0f\x05 x\0¬\x10\0\0\fà" \x0f\x05 Ë ¡¿'\b\x1e\x01¼\x11\0\0\0Ù\x01Ú" \x0f\x05 Ë\0\0Ù¬\x10\0\0XàO'B\x10\x11ð¬\x11\0\0O'B\x10\0ÙXà" \x0f\x05 Ë\0\0Ù
rº¼\x10\0\0" \x0f\x05 Ë\0\0Ù±\x18X\x04¬\x10\0\0\x01ÚXà" \x0f\x05 Ë\0\0Ù¬\x10\0\0"ÒXà" \x0f\x05 Ë\0\0Ù¬\x10\0\0\bÚXà" \x0f\x05 Ë\0\0Ù¬\x10\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýokÖ\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýokðüú\"\0\b\0ô\0\0 ÚXà" \x0f\x05 Ë\0¬\x10\0\0Xà" \x0f\x05 Ë j\x19\x18\0V!Ì ¬\x11\0\0 ¬\0Ù¹\x14à" \x0f\x05 Ë
Ð\0àÊ b\0â \x0f\x05 ˦À \x0f\x06 \x10\x18\x12\00X5\0\b\0\x05\x04\05\0\bD¸S B\x1ciÁ¸Ì !Ê !\0\x16òâÌ !
òàÌ"!\x06òâÌ a\x04ô\x01Ø\bðâÌ ¡\x02Ø\x02ò\x03Ø\x04¸%xà\x7f\x0fxñÀ" \x0f\x06 ¨\x17£Á\bu(w\x1ar\0Ù ª!ªZqÀéq" \x0f\x05 ]\x01Á:p\x01\x10 !ãÿ\x01\x18\x02 \x01À \0\x18B \0Þ\fð\0Á©p" \0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýos¦\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýosÅüúP#\0\b\0ô\x0f\x06 \x16"Á=e\0"R >fp/!G\x04Â" \x0f\x05 h^"Âíê\x13\x0eA\x14\x02'O\x14/'ÇÑõ\0Ø\x04ð\x02'\x14\x0fx£À \x0f\x06 \b\x18àx¡À \x0f\0\b¤#à~ñÀ" \x0f\x06 ¨\x17çÐà'\a¡Áqò\x17\0\x10\x01ÛA(\0A(\x02\x01Á¸Á¹Ãº" \x0f\x05 ày
"\0\x18§_òS"\x04@'\0\x18" \x0f\0\bÀ//! \x14!@$²B Ò\0*q©p" \x0f\x06 ,^[\0Ø\x1ap`À\x01\x1c\x020\x01Ø" \x0f\x05 ÔÐÌÖ\0/"$¡èJp\x02\x1d\x14" \x0f\x05 $]\x01®\x14è\x03mB!Á /yr²ÿ\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýo{v\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýo{üúD$\0\b\0ô À\0\x01\x140\x01 À\x02®\x01\x140ø\x03®\x11ð\x02\0\x03\x01\vð\x01àÊ"\x02\aÊ B\x03\x0eâÿÊ!B\x04ép" \x0f\x05 ´Õ³Ð\x01Ù ¨\0\x01à\x0fx\v\bò\0\0®\0\x1e\x02\x14¡À \x0f\x06 \b\x18¡À \x0f\0\b°$à~ñÀ©Ñ\0©è" \x0f\x05 \{\x05ð" \x0f\x05 D{¤Ð\0Ù ÑÀà~¡À \x0f\0\bà$à~ñÀáÅÑ\x01ØÕ\x04©\x14\x15\x01\x18¹\x14\x1d`\x10" \x0f\0 \x04C\x10\x15\0\x18¸¸¸\x10\x1d \x10\x10\x15\0\x18°¸\x10\x1d \x10 \x0f\x06 0\x18àx¡À \x0f\0\b,%à~ñÀáÅ\bØ" \x0f\0 \0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýoG\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýohüú8%\0\b\0ôLV
Õ\x04\x10è\x0eØ" \x0f\0 lV" \x0f\x05 lÊ\x0eØ" \x0f\0 LV\0Ø\x04 \x0f\x06 0\x18¡À \x0f\0\bt%à~ñÀzÑ\x14\x11\0\b©¸\x14\x19 \0\x10\x11\0\b¬¸\x10\x19 \0\x01Ø" \x0f\0 \x04C" \x0f\0 ¤\x05ñ¡À \x0f\0\b¬%à~ñÀ" \x0f\x06 ¸\x17eÖ\0¡Á \x06" \x0f\x05 (Ô\x02Ø\x01Ù" \x0f\0 44cÕq\x06¥©p" \x0f\0 v è\0
\f\x19 \0\f\x11\0\bPà\x14\x19 \0\f\x11\0\b\x02¡\x14\x11\0\b\x04¡(p" \x0f\0\b^[\x03Ø\0Ù" \x0f\0 44 \x02¥\x19\x18\0\x03Ø\0Ù" \x0f\0 \0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýo\x16\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýo/üú,&\0\b\0ô44 Ú\0ÛË\x19\x18\0KÑ\x0eØ" \x0f\0 \x14V\x0eØ" \x0f\0 lV" \x0f\x05 lÊ\x01Ø" \x0f\0 \x04C\x0eØ" \x0f\0 LV¡À \x0f\x06 (\x18ñÀ\x0fx" \x0f\x05 <ÎàÊ !\0\x05ò\x022¸Ê¸"ññÀ" \x0f\x06 ´\x17£Á\x01Øöÿc¸P \x01\0p/y" \x0f\x05 ]\bu+Ð\0ÁÂ\0¯\x7f\0®\x01\x01®¢®\x03æ ð\x01ÁÉp" \x0f\x06 \x16"À\x1efÀÂéq" \x0f\x05 h^"Âñê\x03m\x10x£À \x0f\x06 \x18àx¡À \x0f\0\b\b'à~ñÀ" \x0f\x06 ¸\x17\x14Õ\x02
ßÿ\bv\x01Ø" \x0f\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýoæ\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýo\x06üú '\0\b\0ô\x05 ÔÐ\x06Ø\x0e\x02
Éq" \x0f\x05 Ìy \x0f\x06 (\x18¡À \x0f\0\bh'à~\x12\00 5\0\bµ5\0\bX\f\00¨\x12\00\0\0\0x\x04\00lÊ\x05 ñÀ" \x0f\x06 ¸\x17ð\x17\rð(v
¥6µ\x01Ø" \x0f\x05 ÔÐÈ\x17\x01ð\x05ýè\x01Ø\x05©
Éq" \x0f\x05 Ôz \x0f\x06 (\x18àx¡À \x0f\0\b´'à~ñÀ" \x0f\x06 ¬\x17¥Á¾\x17\x11v`\0\x11\x0e cÃá@$\x103\r\x1cÂ3C\0Ý"\bºYa\x0e\x1cD0E/$H\0\x04\x10\0@*\x05\x02\0%
\x01/%H\x01\x10\x1cD1Gf¿\x06\bº\x1ab
çPzf\x02-\0\x12\x1c0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýo¶\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýoÏüú\x14(\0\b\0ô@'\0sõ Ï\x03ôx\0x\x06\0)\x01¬\0\0\x15\x01¸\0B,\0\x02a¸à>\x02\r\0@'\x03sõ#\0\0\x14{\0{\x0f\0&\0U\0\x17\x01\x17\x01?\0L\0\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x012\0Ð\0I"\x04\vèÑÉp©r" \x0f\x06 \x16û\x01\0\0ÑÉp©r" \x0f\x06 \x16ç\x01\0\0Ñ±Ø "\r\0Ép©r" \x0f\x06 \x16Ï\x01\0\0
Ð\0\x18èÑI"\r\x03Ép©r" \x0f\x06 \x16Ùð\x7fÐ\0\fèÑI"\x02Ép©r" \x0f\x06 \x16Íð 0\x05" \x0f\x05 \x14´%ÿ\x17ÃðS!Á\rôxÑ %\x10Ép©r" \x0f\x06 \x16\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýo¢\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýo¢¤üú\b)\0\b\0ôµð\x1d Q\0sÑ %\x10Ép©r" \x0f\x06 \x16©ð^[ \0mÑ %\x10Ép©r" \x0f\x06 \x16ðáôhÑ %\x10Ép©r" \x0f\x06 \x16ðãô©p" \x0f\0 \0#" \x0f\x05 ¨Ó\x0e\x14\x011]Ð °\x7fð#\x02{ôZÐ\0\0®\x12\x14\r1åè\0 \0sðãqôUÐ\x01ÚU× ¡ ¢ L¨TÐ ¨TÐ@¨TÐ °\0\x10\0\x06¿\b\x10\0{\f\x10\0" \x0f\x05 D{NЩq\x03Ú\f\x19D# ¨LÐ ¨LÐ ¨¡¨\x10\x11\0 " \x0f\x05 ¤Y\0©q \v
" \x0f\x05 DÕ\0\x01Ù \0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýoªI\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýoªdüúü)\0\b\0ô\a\x02" \x0f\x05 DÕ\0 \v
" \x0f\x05 \fË\0 \a\x02" \x0f\x05 \fË\0 \a\x04" \x0f\x05 \x14!ð" \x0f\x05 \{\0 \a\x04" \x0f\x05 \x15ð¡ãÌ%¡Ê%\x10\x0fò\0\x10 B\0Ý ô&Ð\x06\x10\r!\0\v\rr\x10\0®\x01Ý=\r\x12\x10\x06\x10\0!\x1f\r\x03\x10\x1cÐ\0(©p2¹Ê¹" \x0f\x06 \x18\x01ß\x02é\0ß\0ØÉqÉr©sS'\x04\x10" \x0f\x05 $Ï©p¥À \x0f\x06 \x10\x18x\x04\00ø\x03\00¼Y\x06 ¨Y\x06 ÐY\x06 Z\x06 Z\x06 4\\x06 ´Z\x06 4[\x06 ´[\x06 \x12\00¨5\0\b\x12\00\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýo²\x19\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýo²3üúð*\0\b\0ô¥5\0\b¦5\0\b\x12\00¡5\0\b 5\0\b¢5\0\b@$\x1c1 \x0f\0\b\x18+à~àx©p" \x0f\0 °v
\x0f\00h\x1c\0Ù¹\0Ú" \x0f\x05 ðÿ \x0f\0 8\x1dà~àxñÀ" \x0f\0\b\\a\x06èUÑ\0¸\0¡ÑÀà~ñÀ" \x0f\0\b\\a\x06èOÑ\0¸\0¡ôñàx@$\x1c1 \x0f\0\b+à~àxñÀáÅHÐ\0èHÐ\0«è" \x0f\0 <'%èBÕ
P!\x04¸\0¥BÐ\0èP!\0\x04²¸´¸¸\0¥>Ð(\x10\0\b!\b\x1e\0=Ñ\0 ¸\0¡
ð" \x0f\0\b\\a\x04è\0
´¸\0¥7Ð\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýo¹ì\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýoº\rüúä+\0\b\0ô@x \x0f\x06 0\x18àx@$\x1c1 \x0f\0\b\0,à~àxñÀáÅ/Ð\0®è/Ð\0,è\x1eØ" \x0f\x05 $]&è"Õ
P!\0\x05¸\0¥"Ð\0èP!\0\x04²¸´¸¸\0¥\x1fÐ(\x10\0\b\x1f\b\x1e\0\x1dÑ\0 ¸\0¡ ð" \x0f\0\b\\a\x05è\0
²¸\0¥^[Ð\0@x \x0f\x06 0\x18ñÀáÀáÁ\x17Ñ ^[ \x1e\0" \x0f\0\b\\aèÁÁÁÀÑÀ À\aÁÁÁÀÑÀ¹\0Ú \x0f\x05 ðÿ\ñàxØ\f\00Ò\f\00Ó\f\00Ñ\f\00\0\0\0à\f\00¬\f\00Ô\f\00é\f\00´\f\00¨\x04\00¡À \x0f\0\b\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýoÁº\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýoÁÝüúØ,\0\b\0ôÜ,à~ñÀ" \x0f\x06 ¨\x17¨Ð\0\0ݰ\x10\0\0\0\bà" \x0f\x05 裄 $áÌ!¢Vò¡\x17\x10v!\b\x1e\0 Ð\x01Ù\0\x18B Ð Ð Ð ¨\x01ØGð\0\x10
\x10\0\x17\x11v(¸\x17\x12vS A\x03\0\x11\x02 ×Ö\x17
@\0\0\x19@ \0\x1a@# §\x01Ø\0®,ð\0\vè" \x0f\0 ¨P §\0\x1a\0 ®©p\rð" \x0f\0 ¨P\0\x12\x01 "x\v\b3\0\0§\x13x\0§ \x03Òö\0è\0\x19@#\0\x1a@# §\x01Ø\0®\0\x18B#\x02Ø" \x0f\x05 DÑ\0Ø \x0f\x06 \b\x18àx¡À \x0f\0\bÌ-à~\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýoÉ\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýoÊFüúÌ-\0\b\0ôG\bó\x01\0ÙèmÐ\0@ \x01\x06^[ð\x19\b\x1e\0jÑ\x1dx\x04¸ \x16x!\x02
\x19a\x11ð\x11\b\0dÐ\0\bq! \x06 ð\x0f\b\x11\x01`Ð\0\bq!\v
à\x7f(pàx¡À \x0f\0\b$.à~ñÀ" \x0f\x06 ´\x17¢Á"\0Þ\bw\x04\x1c3Û \x1f\x02A)\x03Á¸àÌ"!eôUÕ(
&\x1d\x13\x03B\b¸X`\x04à\x12µQÐ\0à\x03Ø ô\x01 \b¸%x" \x0f\x05 4Y5\b\0Â9\bÐ\0q" \x0f\x05 LYàuô\0À(
R" \x0f\x06 \x16\0À" \x0f\0 Ø!-ð\b
" \x0f\0 Ø!cð\x03Ø@%\x01\x14" \0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýoÑg\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýoÑüúÀ.\0\b\0ô\x0f\x05 LYè\x04
\x03Ú(
" \x0f\x06 \x16(
J\x04
\x03áÒºcº\x04à" \x0f\x06 \x16\x04
" \x0f\0 L"\að,Ð" \x0f\0 8!\b
\0Ù\x02Ú" \x0f\x05 ¤Y5ð1 \x1e\x02\bàÌ"!\x12ô Ð.\x18\x03Ö°
" \x0f\0 °v" \x0f\0 "\x1dÐÀ¨\x1fð; \x1e\x02.¹Á¹áÌ"!\x17ô" \x0f\0\b\\a\x12Ñ\vè\x0e\x13\b\x01Ω" \x0f\0 ¤"\aðީα" \x0f\0 "¢À \x0f\x06 \x18\x12\00\x12\00¦5\0\b¨5\0\b¬5\0\b°5\0\b´5\0\bx\x04\005\0\b<\x06 ¥5\0\bJ"@\x10\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýoÙ6\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýoÙWüú´/\0\b\0ôJ#\x11 \x0f\x06 ø"J"\0\x10J#\x14 \x0f\x06 ä"J"\0\x10J#\x11 \x0f\x06 ä"J"À\x14J#@\x10 \x0f\x06 ä"J"@\x17J#@\x10 \x0f\x06 ä"J"\0\x11J#\x11 \x0f\x06 ä"áÅÏp\x06 ´= \x01ÛÏp\x06 ¸=(\x19à\0@%\x11\x12Ïp\0 @`\x1a`\x03h\x1a \0Ïp$\0\0$l\x1a \0dØ \x1aà\0\x1c\x1a \0\x04Ø\x18\x1a \0\0Ø(\x19 \0\0ظ\x198\0à\x7fÁÅàxÏq\x06 ¸= \x1c\x19 \0à~àxÏq\x06 ¸= \x18\x19 \0à~àxÏq\x06 ¸= \x04\x19 \0à~àxÏp\x06 ´=\0\0Ù(\x18`\0à~\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýoá\x06\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýoá&üú¨0\0\b\0ôÏp\x06 ´=\0\x01Ù(\x18`\0à~Ïq\x06 ¸=@H\x12\x01\b L\x12\x01\bà\x7f$¨àxñÀáÅ\buÏp\x06 ¸=\0P\x10\0\b\x04 \x0f\0ÿ\0\0¥\x03 ý\x0fB(þ\x0eò\0" \x0f\0 HA\0©p" \x0f\0 hA\x06ðÏpÞï¾\0¥ \x0f\x06 0\x18Ïq\x06 ¸= 8\x11\x01\b \x03 ý\x0fà\x7fG¸ñÀáÅ\buÏp\x06 ¸=\0\\x10\0\b\x04 \x0f\0ÿ\0\0¥\x03 ý\x0fB(þ\x0eò\0" \x0f\0 HA\0©p" \x0f\0 hA\x06ðÏpÞï¾\0¥ \x0f\x06 0\x18Ïq\x06 ¸= D\x11\x01\b \x03 ý\x0f\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýoè×\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýoèíüú1\0\b\0ôà\x7fG¸Ïp\x06 ¸=\0\x01Ù(\x18`\0à~Ïq\x06 ¸= \x19 \0à~àxÏp\x06 ´=\0\x01Ù(\x18`\0Ïp\x06 ¸=\0\x02Ù\x04\x18`\0à~àxÏt\0\0\0\x04¸\x14x` \x12\0\b&x \x1a \0à~Ït\0\0\0\x04¸\x14x`(\x12\0\b&x(\x1a \0à~Ït\0\0\0\x04¸\x14x`(\x12\0\b\x05y(\x1a`\0à~Ïq\0\0\0<\x11\0\b¸<\x19 \0@\x11\0\b¸@\x19 \0à~Ïq\0\0\0<\x11\0\b¸¸<\x19 \0@\x11\0\b¸®¸@\x19 \0à~Ït\0\0\0\x04¸\x14x`0\x12\0\b&x0\x1a \0à~Ït\0\0\0\x04¸\x14x`0\x12\0\b\x05y0\x1a\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýoð¦\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýoð»üú2\0\b\0ô`\0à~Ït\0\0\0\x04¸\x14x`,\x12\0\b&x,\x1a \0à~Ït\0\0\0\x04¸\x14x`,\x12\0\b\x05y,\x1a`\0à~Ïq\0,\0\x04¸\x14x0!\0à~Ït\0,\0\x04¸\x14x`\0\x1a`\0à~àxÏp\0\0\0\x10\x10\0\bà~Ïq\0\0\0\x10\x19 \0à~Ït\0\0\0\x04¸\x14x`8\x12\0\b&x8\x1a \0à~Ït\0\0\0\x04¸\x14x`4\x12\0\b&x4\x1a \0à~Ït\0\0\0\x04¸\x14x`4\x12\0\b\x05y4\x1a`\0à~Ït\0\0\0\x04¸\x14x`8\x12\0\b\x05y8\x1a`\0à~Ïq\0$\0\x04¸\x14x0!\0à~Ït\0\0\0\x04¸\x14x` \x12\0\b\x05y \x1a\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýoøu\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýoøüú3\0\b\0ô`\0à~Ïq\0$\0\x04¸\x14x0!\0à~Ïq\0\0\0<\x11\0\bE @\x01<\x19 \0@\x11\0\b¸@\x19 \0@\x11\0\b¢¸@\x19 \0à~Ïq\0\0\0<\x11\0\b¸<\x19 \0@\x11\0\b¤¸@\x19 \0à~Ïq\0\0\0<\x11\0\b¤¸<\x19 \0à~àxÏq\0\0\0<\x11\0\b¸<\x19 \0@\x11\0\b¦¸@\x19 \0à~Ïq\0\0\0<\x11\0\b¦¸<\x19 \0à~àxÏq\0\0\0<\x11\0\b¸¸<\x19 \0@\x11\0\b®¸¯¸@\x19 \0à~Ït\0 \0\x04¸\x14x`\0\x1a`\0à~àxÏt\0\0\0\x04¸\x14x`L\x12\0\b&xL\x1a \0à~Ït\0\0\0\x04¸\x14x`\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýp\0G\x0e\x04\x01ü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýp\0[üúx4\0\b\0ôL\x12\0\b\x05yL\x1a`\0à~Ïs\00\x04\0 \x13\0?\x05è\x1e8`X`\x02ðXaà\x7f"¸Ïp\0¼\0\0 \x10\0\b Eà\x7fo \v\0Ïq\00'\0àÊ \x0f\0\0\0\x03
ò!\r\bE\0Ïp\0@¨\x04"x\x10xà~àx\0Ù\bt$\x10\x10 ¤!\x10\0 \x0f\x06 ,^[àxȸ\x0e \x0f\0\0\0\x02PqÊ \0à\x7fÊ E\0\0\0\0\x01\0\x02\0\x01\0ÿ\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýp\b\x17\x0e\x04\x01ü\0\0\0\0U\0\0\0U\0\0\0\x02\0\0\0\0\0áÇÌýp\b-üRl5\0\b\0L\0\0\0\0\0\0\0\0\0\0\0\0>þ\x0eþþPþ>þ°ýþòý\0\0\0\0\0\0\0\02\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýp\vþ\x0e\x04\x01ü\0\0\0\0\r\0\0\0\r\0\0\0\x02\0\0\0\0\0áÇÌýp\f\x13ü
\0\0\0@\0\x04\x02\x03\r\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýp\x0fæ\x0e\x04\x01ü\0\0\0\0\r\0\0\0\r\0\0\0\x02\0\0\0\0\0áÇÌýp\x0fúü
\0\x01\0\b\0\x04\x02\x03\r.\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýp\x13Í\x0e\x04\x01ü\0\0\0\0\r\0\0\0\r\0\0\0\x02\0\0\0\0\0áÇÌýp\x13áü
\0\x04\00\0\x04\x14\x01\0\b\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýp\x17µ\x0e\x04\x01ü\0\0\0\0\f\0\0\0\f\0\0\0\x02\0\0\0\0\0áÇÌýp\x17Èü \0\0\0@\0\x03\x02\x03\r\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýp^[\x0e\x04\x01ü\0\0\0\0S\0\0\0S\0\0\0\x02\0\0\0\0\0áÇÌýp^[²/üP\0\0\0\0\0\0\0\0\0-1\x01ÿþ\x0fþÛÿ{\x01@ú\x1a
\a\x06\b\x05\a\a\a
\a\x06\x04\x06
¤ ¸Ì
\x04\0\x01À\v\x14\b\0\r\0\x1e\0¸\vd\x19ȯ¨aÐ\a\x04\0\vZ\x04C³|\0\0\0\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýp\x1fy\x0f\x04\0\x01/ü\0\0\0\x04\0\0\0\x04\0\0\0\x03\0\0\0\0\0áÇÌýp#bÿ\x02\x19\0\0\0\0\x05\0\0\0\x05\0\0\0\x02\0\0\0\0\0áÇÌýp#w\x11ü\x02\0\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýp'H\x0e\x04\x01\x11ü\0\0\0\0\x7f\0\0\0\x7f\0\0\0\x02\0\0\0\0\0áÇÌýp']`ü|\x01\x01\x01ßßÚN\0\0\0\0«¿ÄÉÎÓØÝâçìñö\0\0\0ìîðòôöøúüþ\0\x02\x04\x06\b
\x03¸\v\0,\x012\x14\x1a\0\0 \0\x01\0\x03\0\x01\0\x02\0\0\x03\0 \0\x01\0\x03\0\x01\0\x05\0\0\x03\x14\x01\0
\0\0\x03\x14\x01\0
\0\0\x03\x14\x01\0
\0\0\x03\x14\x01\0
\0\0\x03\x14\x01\0
\0\0\x03\x14\x01\0
\0\0\x03\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýp+1\x0e\x04\x01`ü\0\0\0\0\x05\0\0\0\x05\0\0\0\x02\0\0\0\0\0áÇÌýp+K\x11ü\x02\0\x02\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýpaò\x0e\x04\x02\x11ü\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌýpb0\x03\f\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýp\x0e\x04\x02\x03\f\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌýp¥\x03\x10\0\0\0\0\x0e\0\0\0\x0e\0\0\0\x03\0\0\0\0\0áÇÌýpx\x0e\f\x01\x03\x10\0ÿþ\x0fþÛÿ{\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌýpÅ\x01\x10\0\0\0\0\x0e\0\0\0\x0e\0\0\0\x03\0\0\0\0\0áÇÌýp `\x0e\f\x01\x01\x10\0\x06\0\x05\x06\x02\0\0\x05\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌýp ¤ \x10\0\0\0\0\f\0\0\0\f\0\0\0\x03\0\0\0\0\0áÇÌýp¤J\x0e
\x01 \x10\0Dz\aý\f\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌýp¤¨\x05\x10\0\0\0\0\r\0\0\0\r\0\0\0\x03\0\0\0\0\0áÇÌýp¨3\x0e\v\x01\x05\x10\0ý\x03`\x05\0\x05\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌýp¨J#\f\0\0\0\0 \0\0\0 \0\0\0\x03\0\0\0\0\0áÇÌýp¬\x19\x0e\a\x02#\f\0\0\x1f\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌýp¬)\x14\f\0\0\0\0þ\0\0\0þ\0\0\0\x03\0\0\0\0\0áÇÌýp»½\x0eü\x01\x14\f\0Bluemoon Universal Bluetooth Host Controller\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌýp»Ù%\f\0\0\0\0\b\0\0\0\b\0\0\0\x03\0\0\0\0\0áÇÌýp¿¯\x0e\x06\x01%\f\0`\0\0\0\0\x04\0\0\0\x04\0\0\0\x02\0\0\0\0\0áÇÌýp¿Á\x05\f\x01\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýpÃ\x0e\x04\x01\x05\f\0\0\0\0\x05\0\0\0\x05\0\0\0\x02\0\0\0\0\0áÇÌýpÃ¥\x16\f\x02\0}\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýpÇ~\x0e\x04\x01\x16\f\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌýpÇ^[\f\0\0\0\0
\0\0\0
\0\0\0\x03\0\0\0\0\0áÇÌýpËf\x0e\b\x02^[\f\0\0\b\x12\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌýpËtF\f\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌýpÏM\x0e\x05\x02F\f\0\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌýpÏ[\x02 \0\0\0\0 \0\0\0 \0\0\0\x03\0\0\0\0\0áÇÌýpÓ5\x0e\a\x01\x02 \0^[\0\a\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌýpÓC\x03 \0\0\0\0\x0e\0\0\0\x0e\0\0\0\x03\0\0\0\0\0áÇÌýp×\x1e\x0e\f\x01\x03 \0\x01\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌýp×,\a \0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌýpÛ\x06\x0e\x05\x01\a \0 \0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌýpÛ\x14\x0f \0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌýpÞî\x0e\x05\x01\x0f \0 \0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌýpÞü\x1c \0\0\0\0\x0e\0\0\0\x0e\0\0\0\x03\0\0\0\0\0áÇÌýpâÖ\x0e\f\x01\x1c \0ÿÿÿ\x1f\0\0\0\0\0\0\0\v\0\0\0\v\0\0\0\x02\0\0\0\0\0áÇÌýpâä\x01\f\bÿÿûÿ\aø¿=\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýpæ½\x0e\x04\x01\x01\f\0\0\0\0\v\0\0\0\v\0\0\0\x02\0\0\0\0\0áÇÌýpæÊ\x01 \b\x1f\0\0\0\0\0\0\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýpê§\x0e\x04\x01\x01 \0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌýpêµ\x02\x10\0\0\0\0F\0\0\0F\0\0\0\x03\0\0\0\0\0áÇÌýpòu\x0eD\x01\x02\x10\0ÿÿû\x03Îÿïÿÿ?ÿó\x0fèþ?÷ÿ\x1c\0\0\0a÷ÿÿ\x7f\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0ô\0\0\0ô\0\0\0\x02\0\0\0\0\0áÇÌýpòR\fñ\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýpö]\x0e\x04\x01R\f\0\0\0\0\x04\0\0\0\x04\0\0\0\x02\0\0\0\0\0áÇÌýpöjE\f\x01\x02\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýpúF\x0e\x04\x02E\f\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌýpúSX\f\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌýpþ.\x0e\x05\x01X\f\0
\0\0\0\x04\0\0\0\x04\0\0\0\x02\0\0\0\0\0áÇÌýpþ:\x04\x10\x01\x01\0\0\0\x10\0\0\0\x10\0\0\0\x03\0\0\0\0\0áÇÌýq\x02\x15\x0e\x0e\x01\x04\x10\0\x01\0\0\0\0\0\0\0\0\0\0\0\0
\0\0\0
\0\0\0\x02\0\0\0\0\0áÇÌýq\x024\x12\f\a\0\0\0\0\0\0\x01\0\0\0\b\0\0\0\b\0\0\0\x03\0\0\0\0\0áÇÌýq\x05þ\x0e\x06\x01\x12\f\0\0\0\0\0\0\x05\0\0\0\x05\0\0\0\x02\0\0\0\0\0áÇÌýq\x06
\x0f\b\x02\a\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýq æ\x0e\x04\x01\x0f\b\0\0\0\0#\0\0\0#\0\0\0\x02\0\0\0\0\0áÇÌýq ó\b \x1f\x02\x01\b\x02
\x18\bBluemoon Universal Blue\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýq\rÍ\x0e\x04\x01\b \0\0\0\0\x04\0\0\0\x04\0\0\0\x02\0\0\0\0\0áÇÌýq\x0e \x04\x10\x01\x01\0\0\0\x10\0\0\0\x10\0\0\0\x03\0\0\0\0\0áÇÌýq\x11«\x0e\x0e\x01\x04\x10\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\0\0\x05\0\0\0\x02\0\0\0\0\0áÇÌýq\x11¸\x18\f\x02\0 \0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýq\x15\x0e\x04\x02\x18\f\0\0\0\0
\0\0\0
\0\0\0\x02\0\0\0\0\0áÇÌýq\x15\r\f\a\0\0\0\0\0\0\x01\0\0\0
\0\0\0
\0\0\0\x03\0\0\0\0\0áÇÌýq\x19x\x0e\b\x01\r\f\0\x05\0\0\0\0\0\0û\0\0\0û\0\0\0\x02\0\0\0\0\0áÇÌýq\x19\x13\føubuntu-desktop-0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýq\x1da\x0e\x04\x01\x13\f\0\0\0\0\v\0\0\0\v\0\0\0\x02\0\0\0\0\0áÇÌýq\0\x01\f\bÿÿûÿ\aø¿=\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýqc\x0e\x04\x01\x01\f\0\0\0\0\x04\0\0\0\x04\0\0\0\x02\0\0\0\0\0áÇÌýqxV\f\x01\x01\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýqM\x0e\x04\x01V\f\0\0\0\0\x04\0\0\0\x04\0\0\0\x02\0\0\0\0\0áÇÌýqbE\f\x01\x02\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýq¢2\x0e\x04\x02E\f\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌýq¢CX\f\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌýq¦\x1a\x0e\x05\x01X\f\0
\0\0\0\x05\0\0\0\x05\0\0\0\x02\0\0\0\0\0áÇÌýq¦*\x0f\b\x02\a\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýqª
\x0e\x04\x01\x0f\b\0\0\0\0\x06\0\0\0\x06\0\0\0\x02\0\0\0\0\0áÇÌýqª&$\f\x03\0\x01n\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýqï\x0e\x04\x02$\f\0\0\0\0\x04\0\0\0\x04\0\0\0\x02\0\0\0\0\0áÇÌýq®!\x1a\f\x01\x02\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýq±à\x0e\x04\x02\x1a\f\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌýqº\x16\x14\f\0\0\0\0þ\0\0\0þ\0\0\0\x03\0\0\0\0\0áÇÌýqÉC\x0eü\x01\x14\f\0ubuntu-desktop-0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌýqÉ\U\f\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌýqÍ)\x0e\x05\x01U\f\0\x01\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌýqÍ;\x19\f\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌýqÑ\x11\x0e\x05\x02\x19\f\0\x02\0\0\0ô\0\0\0ô\0\0\0\x02\0\0\0\0\0áÇÌýqÑ R\fñ\0\x11 ubuntu-desktop-0\x02
\x13\x03-\x11\x12\x11\x1f\x11\x1e\x11
\x11\v\x11\f\x11\x0e\x11\x03\x11\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýqÔú\x0e\x04\x01R\f\0\0\0\0
\0\0\0
\0\0\0\x02\0\0\0\0\0áÇÌþø\x0eD\x12\f\aß^\b¾÷x\0\0\0\0\b\0\0\0\b\0\0\0\x03\0\0\0\0\0áÇÌþø\x13m\x0e\x06\x01\x12\f\0\0\0\0\0\0\b\0\0\0\b\0\0\0\x02\0\0\0\0\0áÇÌÿZ\x1e3\x01\x04\x053\b\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÿZ ö\x0f\x04\0\x02\x01\x04\0\0\0\f\0\0\0\f\0\0\0\x03\0\0\0\0\0áÇÌÿp\x126\x04
ß^\b¾÷x\x04\x04$\x01\0\0\0
\0\0\0
\0\0\0\x02\0\0\0\0\0áÇÌÿp\x12U \x04\aß^\b¾÷x\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÿp\x16\x19\x0f\x04\0\x01 \x04\0\0\0
\0\0\0
\0\0\0\x03\0\0\0\0\0áÇÌÿr\a\x12\b\0ß^\b¾÷x\0\0\0\0\r\0\0\0\r\0\0\0\x03\0\0\0\0\0áÇÌÿs»¸\x03\v\0\0\x01ß^\b¾÷x\x01\0\0\0\0\x05\0\0\0\x05\0\0\0\x02\0\0\0\0\0áÇÌÿs¼\x14^[\x04\x02\0\x01\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÿs¿\x0f\x04\0\x01^[\x04\0\0\0\x05\0\0\0\x05\0\0\0\x03\0\0\0\0\0áÇÌÿtà±^[\x03\0\x01\x05\0\0\0\r\0\0\0\r\0\0\0\x03\0\0\0\0\0áÇÌÿvo\x1f\v\v\0\0\x01¿þþÿy\0\0\0\x06\0\0\0\x06\0\0\0\x02\0\0\0\0\0áÇÌÿvo;\x1c\x04\x03\0\x01\x01\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÿvs\x02\x0f\x04\0\x01\x1c\x04\0\0\0\x0f\0\0\0\x0f\0\0\0\x03\0\0\0\0\0áÇÌÿwÿ#\r\0\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\r\0\0\0\r\0\0\0\x02\0\0\0\0\0áÇÌÿw\x1c\x19\x04
ß^\b¾÷x\x02\0\0\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÿwà\x0f\x04\0\x01\x19\x04\0\0\x01\x01\0\0\x01\x01\0\0\0\x03\0\0\0\0\0áÇÌÿyõp\aÿ\0ß^\b¾÷xHM1700\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x10\0\0\0\x10\0\0\0\x05\0\0\0\0\0áÇÌÿ{hþ\0!\f\0\b\0\x01\0\x02\x02\x04\0\x01\0@\0\0\0\0\x14\0\0\0\x14\0\0\0\x04\0\0\0\0\0áÇÌÿ{i\x1f\0\x01\x10\0\f\0\x01\0\x03\x02\b\0@\0@\0\x01\0\0\0\0\0\0\x0e\0\0\0\x0e\0\0\0\x04\0\0\0\0\0áÇÌÿ{i%\0\x01
\0\x06\0\x01\0
\x01\x02\0\x02\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿ|/È\x13\x05\x01\0\x01\x01\0\0\0\0\x14\0\0\0\x14\0\0\0\x05\0\0\0\0\0áÇÌÿ|'\0!\x10\0\f\0\x01\0\v\x01\b\0\x02\0\0\0\0\x02\0\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿ|0\x13\x05\x01\0\x01\x01\0\0\0\0\x14\0\0\0\x14\0\0\0\x04\0\0\0\0\0áÇÌÿ|J\0\x01\x10\0\f\0\x01\0\x03\x02\b\0@\0@\0\0\0\0\0\0\0\0\x10\0\0\0\x10\0\0\0\x04\0\0\0\0\0áÇÌÿ|O\0\x01\f\0\b\0\x01\0\x04\x02\x04\0@\0\0\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿ}\x06\x13\x05\x01\0\x01\x01\0\0\0\0\x14\0\0\0\x14\0\0\0\x05\0\0\0\0\0áÇÌÿ}Ëä\0!\x10\0\f\0\x01\0\x04\x03\b\0@\0\0\0\x01\x02@\0\0\0\0\x16\0\0\0\x16\0\0\0\x04\0\0\0\0\0áÇÌÿ}Ëþ\0\x01\x12\0\x0e\0\x01\0\x05\x03
\0@\0\0\0\0\0\x01\x02@\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿ}ÍÅ\x13\x05\x01\0\x01\x01\0\0\0\0\x12\0\0\0\x12\0\0\0\x05\0\0\0\0\0áÇÌÿ~-\0!\x0e\0
\0\x01\0\x05\x02\x06\0@\0\0\0\0\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿ~/z\x13\x05\x01\0\x01\x01\0\0\0\0#\0\0\0#\0\0\0\x05\0\0\0\0\0áÇÌÿ~ð_\0!\x1f\0^[\0@\0\x06\0\0\0\x165\x03\x19\x11\x1f\005\f \0\x01 \0\x04 \0 \x03\x11\0\0\0\0H\0\0\0H\0\0\0\x04\0\0\0\0\0áÇÌÿ~ñ$\0\x01D\0@\0@\0\a\0\0\0;\00515/ \0\x015\x06\x19\x11\x1f\x19\x12\x03 \0\x045\f5\x03\x19\x01\05\x05\x19\0\x03\b\r \0 5\b5\x06\x19\x11\x1e \x01\x05 \x03\x11\b psR0\0\0\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿ\x17Ç\x13\x05\x01\0\x01\x01\0\0\0\0+\0\0\0+\0\0\0\x05\0\0\0\0\0áÇÌÿwy\0!'\0#\0@\0\x06\0\x01\0\x1e5\x03\x19\x11\x1f\005\f \0\x01 \0\x04 \0 \x03\x11\b psR0\0\0\0\0\0\0\x13\0\0\0\x13\0\0\0\x04\0\0\0\0\0áÇÌÿwÑ\0\x01\x0f\0\v\0@\0\a\0\x01\0\x06\0\x03 \0\0\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿÛ\x14\x13\x05\x01\0\x01\x01\0\0\0\0\x10\0\0\0\x10\0\0\0\x05\0\0\0\0\0áÇÌÿ:P\0!\f\0\b\0\x01\0\x06\x04\x04\0@\0@\0\0\0\0\x10\0\0\0\x10\0\0\0\x04\0\0\0\0\0áÇÌÿ:q\0\x01\f\0\b\0\x01\0\a\x04\x04\0@\0@\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿ\x03ø\x13\x05\x01\0\x01\x01\0\0\0\0\b\0\0\0\b\0\0\0\x03\0\0\0\0\0áÇÌÿu3\x17\x06ß^\b¾÷x\0\0\0 \0\0\0 \0\0\0\x02\0\0\0\0\0áÇÌÿuò\f\x04\x06ß^\b¾÷x\0\0\0\f\0\0\0\f\0\0\0\x03\0\0\0\0\0áÇÌÿy\x18\x0e
\x01\f\x04\0ß^\b¾÷x\0\0\0\v\0\0\0\v\0\0\0\x03\0\0\0\0\0áÇÌÿ82 ß^\b¾÷x\x03\0\x05\0\0\0\b\0\0\0\b\0\0\0\x03\0\0\0\0\0áÇÌÿ<r1\x06ß^\b¾÷x\0\0\0\f\0\0\0\f\0\0\0\x02\0\0\0\0\0áÇÌÿ<¹+\x04 ß^\b¾÷x\x01\0\x05\0\0\0\f\0\0\0\f\0\0\0\x03\0\0\0\0\0áÇÌÿ@X\x0e
\x01+\x04\0ß^\b¾÷x\0\0\0\f\0\0\0\f\0\0\0\x03\0\0\0\0\0áÇÌÿwx3
ß^\b¾÷x[Û\a\0\0\0\0 \0\0\0 \0\0\0\x02\0\0\0\0\0áÇÌÿx\x04-\x04\x06ß^\b¾÷x\0\0\0\f\0\0\0\f\0\0\0\x03\0\0\0\0\0áÇÌÿ{N\x0e
\x01-\x04\0ß^\b¾÷x\0\0\0 \0\0\0 \0\0\0\x03\0\0\0\0\0áÇÌÿ]\x176\a\x05ß^\b¾÷x\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÿ\f\x05\x04\0\0\x01\x13\0\0\x01\x01\0\0\x01\x01\0\0\0\x03\0\0\0\0\0áÇÌÿ\aÒ/ÿ\x01ß^\b¾÷x\x01\0\x04\x04$æ!Å\a HM1700\v\x03\b\x11\x1e\x11\v\x11\x0e\x11\x01\x11\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌÿ¼þ¼\x02\x04\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÿ½\x05`\x0e\x04\x02\x02\x04\0\0\0\0\x10\0\0\0\x10\0\0\0\x02\0\0\0\0\0áÇÌÿ½\x10\x05\x04\rß^\b¾÷x\x18Ì\x01\0æ¡\x01\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÿ½\x15\0\x0f\x04\0\x01\x05\x04\0\0\0\r\0\0\0\r\0\0\0\x03\0\0\0\0\0áÇÌÿÆÙ\x12\x03\v\0\0\x01ß^\b¾÷x\x01\0\0\0\0\x05\0\0\0\x05\0\0\0\x02\0\0\0\0\0áÇÌÿÆÙi^[\x04\x02\0\x01\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÿÆÜè\x0f\x04\0\x01^[\x04\0\0\0\x05\0\0\0\x05\0\0\0\x03\0\0\0\0\0áÇÌÿÇ\x04\x05^[\x03\0\x01\x05\0\0\0\r\0\0\0\r\0\0\0\x03\0\0\0\0\0áÇÌÿÇ\x13¦\v\v\0\0\x01¿þþÿy\0\0\0\x06\0\0\0\x06\0\0\0\x02\0\0\0\0\0áÇÌÿÇ\x13¼\x1c\x04\x03\0\x01\x01\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÿÇ\x17\x0f\x04\0\x01\x1c\x04\0\0\0\x0f\0\0\0\x0f\0\0\0\x03\0\0\0\0\0áÇÌÿÇN0#\r\0\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\r\0\0\0\r\0\0\0\x02\0\0\0\0\0áÇÌÿÇNM\x19\x04
ß^\b¾÷x\x02\0\0\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÿÇR\x18\x0f\x04\0\x01\x19\x04\0\0\x01\x01\0\0\x01\x01\0\0\0\x03\0\0\0\0\0áÇÌÿÇ«ü\aÿ\0ß^\b¾÷xHM1700\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\0\0\x05\0\0\0\x02\0\0\0\0\0áÇÌÿǬ\x14\x11\x04\x02\0\x01\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÿǯä\x0f\x04\0\x01\x11\x04\0\0\0\b\0\0\0\b\0\0\0\x03\0\0\0\0\0áÇÌÿdzÍ\x17\x06ß^\b¾÷x\0\0\0 \0\0\0 \0\0\0\x02\0\0\0\0\0áÇÌÿÇ´\f\f\x04\x06ß^\b¾÷x\0\0\0\f\0\0\0\f\0\0\0\x03\0\0\0\0\0áÇÌÿÇ·´\x0e
\x01\f\x04\0ß^\b¾÷x\0\0\0\b\0\0\0\b\0\0\0\x03\0\0\0\0\0áÇÌÿÇ»1\x06ß^\b¾÷x\0\0\0\f\0\0\0\f\0\0\0\x02\0\0\0\0\0áÇÌÿÇ»É+\x04 ß^\b¾÷x\x01\0\x03\0\0\0\f\0\0\0\f\0\0\0\x03\0\0\0\0\0áÇÌÿÇ¿\x0e
\x01+\x04\0ß^\b¾÷x\0\0\0\v\0\0\0\v\0\0\0\x03\0\0\0\0\0áÇÌÿÇÏ\x182 ß^\b¾÷x\x03\0\x02\0\0\0\f\0\0\0\f\0\0\0\x03\0\0\0\0\0áÇÌÿË£¢3
ß^\b¾÷x
P\x0e\0\0\0\0 \0\0\0 \0\0\0\x02\0\0\0\0\0áÇÌÿË·¿,\x04\x06ß^\b¾÷x\0\0\0\f\0\0\0\f\0\0\0\x03\0\0\0\0\0áÇÌÿË»\v\x0e
\x01,\x04\0ß^\b¾÷x\0\0\0 \0\0\0 \0\0\0\x03\0\0\0\0\0áÇÌÿÓ-R6\a\0ß^\b¾÷x\0\0\0\x19\0\0\0\x19\0\0\0\x03\0\0\0\0\0áÇÌÿÓo¹\x18\x17ß^\b¾÷x\x7fM4Ðr\x13÷ÈÉmuæÙ\x04\0\0\0\x05\0\0\0\x05\0\0\0\x03\0\0\0\0\0áÇÌÿÓs\x06\x03\0\0\x01\0\0\0\x06\0\0\0\x06\0\0\0\x02\0\0\0\0\0áÇÌÿÓs¶\x13\x04\x03\0\x01\x01\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÿÓw\x0f\x04\0\x01\x13\x04\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÿÔ\x1f\b\x04\0\0\x01\x01\0\0\0\x0e\0\0\0\x0e\0\0\0\x04\0\0\0\0\0áÇÌÿÔ\x1f¦\0\x01
\0\x06\0\x01\0
\x01\x02\0\x02\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿÔ6í\x13\x05\x01\0\x01\x01\0\0\0\0\x14\0\0\0\x14\0\0\0\x05\0\0\0\0\0áÇÌÿÔ8Y\0!\x10\0\f\0\x01\0\v\x01\b\0\x02\0\0\0\0\x02\0\0\0\0\0\x10\0\0\0\x10\0\0\0\x04\0\0\0\0\0áÇÌÿÔ8t\0\x01\f\0\b\0\x01\0\x02\x02\x04\0\x01\0@\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿÔJi\x13\x05\x01\0\x01\x01\0\0\0\0\x14\0\0\0\x14\0\0\0\x05\0\0\0\0\0áÇÌÿÔKà\0!\x10\0\f\0\x01\0\x03\x02\b\0B\0@\0\0\0\0\0\0\0\0\x10\0\0\0\x10\0\0\0\x04\0\0\0\0\0áÇÌÿÔKø\0\x01\f\0\b\0\x01\0\x04\x03\x04\0B\0\0\0\0\0\0\x14\0\0\0\x14\0\0\0\x05\0\0\0\0\0áÇÌÿÔU³\0!\x10\0\f\0\x01\0\x04\x02\b\0@\0\0\0\x01\x02@\0\0\0\0\x16\0\0\0\x16\0\0\0\x04\0\0\0\0\0áÇÌÿÔUÆ\0\x01\x12\0\x0e\0\x01\0\x05\x02
\0B\0\0\0\0\0\x01\x02@\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿÔ]ý\x13\x05\x01\0\x01\x01\0\0\0\0\x12\0\0\0\x12\0\0\0\x05\0\0\0\0\0áÇÌÿÔ_r\0!\x0e\0
\0\x01\0\x05\x03\x06\0@\0\0\0\0\0\0\0\0\x1c\0\0\0\x1c\0\0\0\x04\0\0\0\0\0áÇÌÿÔ_\0\x01\x18\0\x14\0B\0\x06\0\0\0\x0f5\x03\x19\x01\0ÿÿ5\x05
\0\0ÿÿ\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿÔeÌ\x13\x05\x01\0\x01\x01\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿÔul\x13\x05\x01\0\x01\x01\0\0\0\0H\0\0\0H\0\0\0\x05\0\0\0\0\0áÇÌÿÔÙ\0!D\0@\0@\0\a\0\0\0;\066\x01\a6\0R \0\0
\0\x01\0\x01 \0\x015 \x19\x11\b\x19\x111\x19\x12\x03 \0\x045\f5\x03\x19\x01\05\x05\x19\0\x03\b\x01 \0\x055\x03\x19\x10\x02 \x02\06\0\0\0\x1e\0\0\0\x1e\0\0\0\x04\0\0\0\0\0áÇÌÿÔÙë\0\x01\x1a\0\x16\0B\0\x06\0\x01\0\x115\x03\x19\x01\0ÿÿ5\x05
\0\0ÿÿ\x02\06\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿÔê\x13\x05\x01\0\x01\x01\0\0\0\0H\0\0\0H\0\0\0\x05\0\0\0\0\0áÇÌÿÔí\f\0!D\0@\0@\0\a\0\x01\0;\06\0 5\b5\x06\x19\x11\b \x01\x02 \x01\0%\fHSP service\0 \x03\x02(\x016\0P \0\0
\0\x01\0\x02 \0\x015\x06\x19\x11\x1e\x19\x02\0l\0\0\0\x1e\0\0\0\x1e\0\0\0\x04\0\0\0\0\0áÇÌÿÔí>\0\x01\x1a\0\x16\0B\0\x06\0\x02\0\x115\x03\x19\x01\0ÿÿ5\x05
\0\0ÿÿ\x02\0l\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿÕ\rº\x13\x05\x01\0\x01\x01\0\0\0\0H\0\0\0H\0\0\0\x05\0\0\0\0\0áÇÌÿÕ\x0f.\0!D\0@\0@\0\a\0\x02\0;\06\x12\x03 \0\x045\f5\x03\x19\x01\05\x05\x19\0\x03\b\x02 \0\x055\x03\x19\x10\x02 \0 5\b5\x06\x19\x11\x1e \x01\x05 \x01\0%\fHFP servi\x02\0¢\0\0\0\x1e\0\0\0\x1e\0\0\0\x04\0\0\0\0\0áÇÌÿÕ\x0fu\0\x01\x1a\0\x16\0B\0\x06\0\x03\0\x115\x03\x19\x01\0ÿÿ5\x05
\0\0ÿÿ\x02\0¢\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿÕ!R\x13\x05\x01\0\x01\x01\0\0\0\0H\0\0\0H\0\0\0\x05\0\0\0\0\0áÇÌÿÕ,y\0!D\0@\0@\0\a\0\x03\0;\06ce\0 \x03\x11 \0^[6\0\ \0\0
\0\x01\0\x03 \0\x015\x03\x19\x11\v \0\x045\x105\x06\x19\x01\0 \0\x195\x06\x19\0\x19 \x01\x02 \0\x055\x03\x02\0Ø\0\0\0\x1e\0\0\0\x1e\0\0\0\x04\0\0\0\0\0áÇÌÿÕ,É\0\x01\x1a\0\x16\0B\0\x06\0\x04\0\x115\x03\x19\x01\0ÿÿ5\x05
\0\0ÿÿ\x02\0Ø\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿÕ<¤\x13\x05\x01\0\x01\x01\0\0\0\0B\0\0\0B\0\0\0\x05\0\0\0\0\0áÇÌÿÕ@\x0e\0!>\0:\0@\0\a\0\x04\05\02\x19\x10\x02 \0 5\b5\x06\x19\x11\r \x01\x02 \x01\0%\x17Advanced audio service\0 \x03\x11 \0\x01\0\0\0\0\x1c\0\0\0\x1c\0\0\0\x04\0\0\0\0\0áÇÌÿÖ^l\0\x01\x18\0\x14\0B\0\x06\0\x05\0\x0f5\x03\x19\x12\0ÿÿ5\x05
\0\0ÿÿ\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿÖmT\x13\x05\x01\0\x01\x01\0\0\0\0G\0\0\0G\0\0\0\x05\0\0\0\0\0áÇÌÿÖÚ=\0!C\0?\0@\0\a\0\x05\0:\055D6\0A \0\0
\0\x01\0\0 \0\x015\x03\x19\x12\0 \0\x055\x03\x19\x10\x02 \x02\0 \x01\x03 \x02\x01 \0\x0f \x02\x02 \0\0 \x02\x03 \0\0\x02\05\0\0\0\x1e\0\0\0\x1e\0\0\0\x04\0\0\0\0\0áÇÌÿÖÚ\0\x01\x1a\0\x16\0B\0\x06\0\x06\0\x115\x03\x19\x12\0ÿÿ5\x05
\0\0ÿÿ\x02\05\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿÖêW\x13\x05\x01\0\x01\x01\0\0\0\0!\0\0\0!\0\0\0\x05\0\0\0\0\0áÇÌÿÖñ§\0!\x1d\0\x19\0@\0\a\0\x06\0\x14\0\x11 \x02\x04(\x01 \x02\x05 \0\x01 \x01 \0\x01\0\0\0\0\x1c\0\0\0\x1c\0\0\0\x04\0\0\0\0\0áÇÌÿØ\v\0\0\x01\x18\0\x14\0B\0\x06\0\a\0\x0f5\x03\x19\x11\x1eÿÿ5\x05
\0\0ÿÿ\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿØ\x1aü\x13\x05\x01\0\x01\x01\0\0\0\0G\0\0\0G\0\0\0\x05\0\0\0\0\0áÇÌÿØ\x1cp\0!C\0?\0@\0\a\0\a\0:\055S6\0P \0\0
\0\x01\0\x02 \0\x015\x06\x19\x11\x1e\x19\x12\x03 \0\x045\f5\x03\x19\x01\05\x05\x19\0\x03\b\x02 \0\x055\x03\x19\x10\x02 \0 5\x02\05\0\0\0\x1e\0\0\0\x1e\0\0\0\x04\0\0\0\0\0áÇÌÿØ\x1c²\0\x01\x1a\0\x16\0B\0\x06\0\b\0\x115\x03\x19\x11\x1eÿÿ5\x05
\0\0ÿÿ\x02\05\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿØ.\x13\x05\x01\0\x01\x01\0\0\0\00\0\0\00\0\0\0\x05\0\0\0\0\0áÇÌÿØ/ø\0!,\0(\0@\0\a\0\b\0#\0 \b5\x06\x19\x11\x1e \x01\x05 \x01\0%\fHFP service\0 \x03\x11 \0^[\0\0\0\0\x10\0\0\0\x10\0\0\0\x04\0\0\0\0\0áÇÌÿØ1Z\0\x01\f\0\b\0\x01\0\x02\x04\x04\0\x03\0A\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿØB
\x13\x05\x01\0\x01\x01\0\0\0\0\x14\0\0\0\x14\0\0\0\x05\0\0\0\0\0áÇÌÿØC\0!\x10\0\f\0\x01\0\x03\x04\b\0C\0A\0\0\0\0\0\0\0\0\x14\0\0\0\x14\0\0\0\x04\0\0\0\0\0áÇÌÿØC\0\x01\x10\0\f\0\x01\0\x04\x05\b\0C\0\0\0\x01\x02õ\x03\0\0\0\x14\0\0\0\x14\0\0\0\x05\0\0\0\0\0áÇÌÿØHb\0!\x10\0\f\0\x01\0\x04\x03\b\0A\0\0\0\x01\x02\0\x04\0\0\0\x16\0\0\0\x16\0\0\0\x04\0\0\0\0\0áÇÌÿØHy\0\x01\x12\0\x0e\0\x01\0\x05\x03
\0C\0\0\0\0\0\x01\x02\0\x04\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿØU\x13\x05\x01\0\x01\x01\0\0\0\0\x12\0\0\0\x12\0\0\0\x05\0\0\0\0\0áÇÌÿØW\b\0!\x0e\0
\0\x01\0\x05\x05\x06\0A\0\0\0\0\0\0\0\0\f\0\0\0\f\0\0\0\x04\0\0\0\0\0áÇÌÿØW/\0\x01\b\0\x04\0C\0\x03?\x01\x1c\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿØYy\x13\x05\x01\0\x01\x01\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿØi^[\x13\x05\x01\0\x01\x01\0\0\0\0\f\0\0\0\f\0\0\0\x05\0\0\0\0\0áÇÌÿØj\0!\b\0\x04\0A\0\x03s\x01×\0\0\0\x16\0\0\0\x16\0\0\0\x04\0\0\0\0\0áÇÌÿØj±\0\x01\x12\0\x0e\0C\0\x03ï\x15\x11\x04ð\a\0ð\x03\0\ap\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿØ|¡\x13\x05\x01\0\x01\x01\0\0\0\0\x16\0\0\0\x16\0\0\0\x05\0\0\0\0\0áÇÌÿØ\0\0!\x12\0\x0e\0A\0\x01ï\x15\x11\x04à\a\0ÿ\0\0\aª\0\0\0\f\0\0\0\f\0\0\0\x04\0\0\0\0\0áÇÌÿØ\x19\0\x01\b\0\x04\0C\0\x13?\x01\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿØ\x02\x13\x05\x01\0\x01\x01\0\0\0\0\f\0\0\0\f\0\0\0\x05\0\0\0\0\0áÇÌÿØl\0!\b\0\x04\0A\0\x13s\x01]\0\0\0\x10\0\0\0\x10\0\0\0\x04\0\0\0\0\0áÇÌÿØ \0\x01\f\0\b\0C\0\x03ï ã\x05\x13p\0\0\0\x10\0\0\0\x10\0\0\0\x05\0\0\0\0\0áÇÌÿت
\0!\f\0\b\0\x01\0\x02\x04\x04\0\x01\0D\0\0\0\0\x14\0\0\0\x14\0\0\0\x04\0\0\0\0\0áÇÌÿت*\0\x01\x10\0\f\0\x01\0\x03\x04\b\0B\0D\0\0\0\0\0\0\0\0\x10\0\0\0\x10\0\0\0\x04\0\0\0\0\0áÇÌÿت0\0\x01\f\0\b\0\x01\0\x04\x06\x04\0D\0\0\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿØ«\x03\x13\x05\x01\0\x01\x01\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿØ»,\x13\x05\x01\0\x01\x01\0\0\0\0\x10\0\0\0\x10\0\0\0\x05\0\0\0\0\0áÇÌÿؽ\0!\f\0\b\0A\0\x01ï á\x05\x13ª\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿØ¿\x13\x13\x05\x01\0\x01\x01\0\0\0\0\x10\0\0\0\x10\0\0\0\x05\0\0\0\0\0áÇÌÿØÇV\0!\f\0\b\0A\0\x01ï ã\x05\x13ª\0\0\0\x10\0\0\0\x10\0\0\0\x04\0\0\0\0\0áÇÌÿØÇr\0\x01\f\0\b\0C\0\x03ï á\x05\x13p\0\0\0\r\0\0\0\r\0\0\0\x04\0\0\0\0\0áÇÌÿØÇv\0\x01 \0\x05\0C\0\x13ÿ\x01!y\0\0\0\x14\0\0\0\x14\0\0\0\x05\0\0\0\0\0áÇÌÿØÌB\0!\x10\0\f\0\x01\0\x04\x05\b\0B\0\0\0\x01\x02@\0\0\0\0\x16\0\0\0\x16\0\0\0\x04\0\0\0\0\0áÇÌÿØÌQ\0\x01\x12\0\x0e\0\x01\0\x05\x05
\0D\0\0\0\0\0\x01\x02@\0\0\0\0\x12\0\0\0\x12\0\0\0\x05\0\0\0\0\0áÇÌÿØÑ\x19\0!\x0e\0
\0\x01\0\x05\x06\x06\0B\0\0\0\0\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿØÖ
\x13\x05\x01\0\x01\x01\0\0\0\0\x18\0\0\0\x18\0\0\0\x05\0\0\0\0\0áÇÌÿØßÊ\0!\x14\0\x10\0A\0\x11ÿ\x17 AT+BRSF=27\r£\0\0\0\x1a\0\0\0\x1a\0\0\0\x04\0\0\0\0\0áÇÌÿØà\r\0\x01\x16\0\x12\0C\0\x13ï\x1d
+BRSF: 352
e\0\0\0\x12\0\0\0\x12\0\0\0\x04\0\0\0\0\0áÇÌÿØà\x15\0\x01\x0e\0
\0C\0\x13ï
OK
e\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿØâ;\x13\x05\x01\0\x01\x01\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿØæ"\x13\x05\x01\0\x01\x01\0\0\0\0 \0\0\0 \0\0\0\x05\0\0\0\0\0áÇÌÿØè\0!\x1c\0\x18\0B\0\x06\0\0\0\x135\x03\x19\x11\x1f\005 \0\x01 \0 \x03\x11\0\0\0\02\0\0\02\0\0\0\x04\0\0\0\0\0áÇÌÿØé\x05\0\x01.\0*\0D\0\a\0\0\0%\0"5 5\x1e \0\x015\x06\x19\x11\x1f\x19\x12\x03 \0 5\b5\x06\x19\x11\x1e \x01\x05 \x03\x11 \0\0\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿØù\x13\x05\x01\0\x01\x01\0\0\0\0\x17\0\0\0\x17\0\0\0\x05\0\0\0\0\0áÇÌÿÙ\x06Ñ\0!\x13\0\x0f\0A\0\x11ÿ\x15\x02AT+CIND=?\r£\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0áÇÌÿÙ\a1\0\x01\0\0C\0\x13ï\b\x01
+CIND: ("battchg",(0-5)),("signal",(0-5)),("service",(0,1)),("call",(0,1)),("callsetup",(0-3)),("callheld",(0-2)),("roam",(0,1))
e\0\0\0\x12\0\0\0\x12\0\0\0\x04\0\0\0\0\0áÇÌÿÙ\a9\0\x01\x0e\0
\0C\0\x13ï
OK
e\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿÙ\bÊ\x13\x05\x01\0\x01\x01\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿÙ\r*\x13\x05\x01\0\x01\x01\0\0\0\0\x10\0\0\0\x10\0\0\0\x05\0\0\0\0\0áÇÌÿÙ\x10\0!\f\0\b\0\x01\0\x06\x06\x04\0B\0D\0\0\0\0\x10\0\0\0\x10\0\0\0\x04\0\0\0\0\0áÇÌÿÙ\x10§\0\x01\f\0\b\0\x01\0\a\x06\x04\0B\0D\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿÙ\x1cË\x13\x05\x01\0\x01\x01\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿÙ ¼\x13\x05\x01\0\x01\x01\0\0\0\0\x16\0\0\0\x16\0\0\0\x05\0\0\0\0\0áÇÌÿÙ(\x10\0!\x12\0\x0e\0A\0\x11ÿ\x13\x02AT+CIND?\r£\0\0\0$\0\0\0$\0\0\0\x04\0\0\0\0\0áÇÌÿÙ(|\0\x01 \0\x1c\0C\0\x13ï1
+CIND: 5,5,1,0,0,0,0
e\0\0\0\x12\0\0\0\x12\0\0\0\x04\0\0\0\0\0áÇÌÿÙ(
\0\x01\x0e\0
\0C\0\x13ï
OK
e\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿÙ,s\x13\x05\x01\0\x01\x01\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿÙ?û\x13\x05\x01\0\x01\x01\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿÙGË\x13\x05\x01\0\x01\x01\0\0\0\0\x1d\0\0\0\x1d\0\0\0\x05\0\0\0\0\0áÇÌÿÙ§\a\0!\x19\0\x15\0A\0\x11ÿ!\x02AT+CMER=3,0,0,1\r£\0\0\0\x12\0\0\0\x12\0\0\0\x04\0\0\0\0\0áÇÌÿÙ§o\0\x01\x0e\0
\0C\0\x13ï
OK
e\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿÙ¹\f\x13\x05\x01\0\x01\x01\0\0\0\0\x17\0\0\0\x17\0\0\0\x05\0\0\0\0\0áÇÌÿÚ!^[\0!\x13\0\x0f\0A\0\x11ÿ\x15\x01AT+CCWA=1\r£\0\0\0\x12\0\0\0\x12\0\0\0\x04\0\0\0\0\0áÇÌÿÚ!{\0\x01\x0e\0
\0C\0\x13ï
OK
e\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿÚ2,\x13\x05\x01\0\x01\x01\0\0\0\0#\0\0\0#\0\0\0\x05\0\0\0\0\0áÇÌÿÚ4\0!\x1f\0^[\0A\0\x11ÿ-\x01AT+BIA=0,0,1,1,1,1,0,\r£\0\0\0\x15\0\0\0\x15\0\0\0\x04\0\0\0\0\0áÇÌÿÚ4ô\0\x01\x11\0\r\0C\0\x13ï\x13
ERROR
e\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿÚE³\x13\x05\x01\0\x01\x01\0\0\0\0\x18\0\0\0\x18\0\0\0\x05\0\0\0\0\0áÇÌÿÚH$\0!\x14\0\x10\0A\0\x11ÿ\x17\x01AT+CBC=100\r£\0\0\0\x15\0\0\0\x15\0\0\0\x04\0\0\0\0\0áÇÌÿÚHg\0\x01\x11\0\r\0C\0\x13ï\x13
ERROR
e\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿÚY1\x13\x05\x01\0\x01\x01\0\0\0\0\x17\0\0\0\x17\0\0\0\x05\0\0\0\0\0áÇÌÿÚ[ \0!\x13\0\x0f\0A\0\x11ÿ\x15\x01AT+VGS=15\r£\0\0\0\x12\0\0\0\x12\0\0\0\x04\0\0\0\0\0áÇÌÿÚ[Ú\0\x01\x0e\0
\0C\0\x13ï
OK
e\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿÚl¹\x13\x05\x01\0\x01\x01\0\0\0\0\x19\0\0\0\x19\0\0\0\x05\0\0\0\0\0áÇÌÿÚt\x11\0!\x15\0\x11\0A\0\x11ÿ\x19\x01AT+COPS=3,0\r£\0\0\0\x12\0\0\0\x12\0\0\0\x04\0\0\0\0\0áÇÌÿÚt¤\0\x01\x0e\0
\0C\0\x13ï
OK
e\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿÚ\b\x13\x05\x01\0\x01\x01\0\0\0\0\x17\0\0\0\x17\0\0\0\x05\0\0\0\0\0áÇÌÿÚéD\0!\x13\0\x0f\0A\0\x11ÿ\x15\x01AT+CMEE=1\r£\0\0\0\x12\0\0\0\x12\0\0\0\x04\0\0\0\0\0áÇÌÿÚéº\0\x01\x0e\0
\0C\0\x13ï
OK
e\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿÛ\x018\x13\x05\x01\0\x01\x01\0\0\0\0\x10\0\0\0\x10\0\0\0\x04\0\0\0\0\0áÇÌÿïm~\0\x01\f\0\b\0\x01\0\x02\a\x04\0\x19\0B\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿï-\x13\x05\x01\0\x01\x01\0\0\0\0\x14\0\0\0\x14\0\0\0\x05\0\0\0\0\0áÇÌÿï"\0!\x10\0\f\0\x01\0\x03\a\b\0E\0B\0\0\0\0\0\0\0\0\x10\0\0\0\x10\0\0\0\x04\0\0\0\0\0áÇÌÿï6\0\x01\f\0\b\0\x01\0\x04\b\x04\0E\0\0\0\0\0\0\x14\0\0\0\x14\0\0\0\x05\0\0\0\0\0áÇÌÿï\0!\x10\0\f\0\x01\0\x04\a\b\0B\0\0\0\x01\x02 \x02\0\0\0\x16\0\0\0\x16\0\0\0\x04\0\0\0\0\0áÇÌÿï\0\x01\x12\0\x0e\0\x01\0\x05\a
\0E\0\0\0\0\0\x01\x02 \x02\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿï\x13\x05\x01\0\x01\x01\0\0\0\0\x12\0\0\0\x12\0\0\0\x05\0\0\0\0\0áÇÌÿï þ\0!\x0e\0
\0\x01\0\x05\b\x06\0B\0\0\0\0\0\0\0\0
\0\0\0
\0\0\0\x04\0\0\0\0\0áÇÌÿï¡L\0\x01\x06\0\x02\0E\0\0\x01\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿï¡ì\x13\x05\x01\0\x01\x01\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿï²\x15\x13\x05\x01\0\x01\x01\0\0\0\0\f\0\0\0\f\0\0\0\x05\0\0\0\0\0áÇÌÿï½Q\0!\b\0\x04\0B\0\x02\x01\x04\b\0\0\0\v\0\0\0\v\0\0\0\x04\0\0\0\0\0áÇÌÿï½\0\x01\a\0\x03\0E\0\x10\x02\x04\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿïÍo\x13\x05\x01\0\x01\x01\0\0\0\0\x14\0\0\0\x14\0\0\0\x05\0\0\0\0\0áÇÌÿïÑÒ\0!\x10\0\f\0B\0\x12\x02\x01\0\a\x06\0\0ÿÿ\x02Y\0\0\0\x16\0\0\0\x16\0\0\0\x04\0\0\0\0\0áÇÌÿïÒ\x10\0\x01\x12\0\x0e\0E\0 \x03\x04\x04\x01\0\a\x06\0\0!\x15\x025\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿïô\x13\x05\x01\0\x01\x01\0\0\0\0
\0\0\0
\0\0\0\x05\0\0\0\0\0áÇÌÿï÷è\0!\x06\0\x02\0B\0"\x03\0\0\0\v\0\0\0\v\0\0\0\x04\0\0\0\0\0áÇÌÿïø-\0\x01\a\0\x03\0E\00\x06\x04\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿð\b\x06\x13\x05\x01\0\x01\x01\0\0\0\0
\0\0\0
\0\0\0\x05\0\0\0\0\0áÇÌÿð\vo\0!\x06\0\x02\0B\02\x06\0\0\0\x10\0\0\0\x10\0\0\0\x04\0\0\0\0\0áÇÌÿð\v¬\0\x01\f\0\b\0\x01\0\x02 \x04\0\x19\0C\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿð^[\x13\x05\x01\0\x01\x01\0\0\0\0\x14\0\0\0\x14\0\0\0\x05\0\0\0\0\0áÇÌÿð\x1få\0!\x10\0\f\0\x01\0\x03 \b\0F\0C\0\0\0\0\0\0\0\0\x10\0\0\0\x10\0\0\0\x04\0\0\0\0\0áÇÌÿð\x1fû\0\x01\f\0\b\0\x01\0\x04
\x04\0F\0\0\0\0\0\0\x18\0\0\0\x18\0\0\0\x05\0\0\0\0\0áÇÌÿð#Ù\0!\x14\0\x10\0\x01\0\x04\b\f\0C\0\0\0\x01\x02ð\x03\x02\x02È\0\0\0\0\x16\0\0\0\x16\0\0\0\x04\0\0\0\0\0áÇÌÿð#æ\0\x01\x12\0\x0e\0\x01\0\x05\b
\0F\0\0\0\0\0\x01\x02ð\x03\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿð/\x14\x13\x05\x01\0\x01\x01\0\0\0\0\x12\0\0\0\x12\0\0\0\x05\0\0\0\0\0áÇÌÿð3y\0!\x0e\0
\0\x01\0\x05
\x06\0C\0\0\0\0\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿð6Ú\x13\x05\x01\0\x01\x01\0\0\0\0\x14\0\0\0\x14\0\0\0\x02\0\0\0\0\0áÇÌÿðiÛ(\x04\x11\0\x01@\x1f\0\0@\x1f\0\0
\0`\0\x01\x03\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÿðm\x0f\x04\0\x01(\x04\0\0\0\x05\0\0\0\x05\0\0\0\x03\0\0\0\0\0áÇÌÿð\x16^[\x03\0\x01\x01\0\0\0\x13\0\0\0\x13\0\0\0\x03\0\0\0\0\0áÇÌÿð¨#,\x11\0\x01\x01ß^\b¾÷x\x02\f\x02<\0<\0\x02\0\0\0\x17\0\0\0\x17\0\0\0\x04\0\0\0\0\0áÇÌÿð©¯\0\x01\x13\0\x0f\0C\0\x13ï\x17
+VGS=15
e\0\0\0\x17\0\0\0\x17\0\0\0\x04\0\0\0\0\0áÇÌÿð©»\0\x01\x13\0\x0f\0C\0\x13ï\x17
+VGM=15
e\0\0\03\0\0\03\0\0\0\x06\0\0\0\0\0áÇÌÿðÆÆ\x01\x010\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿðÇc\x13\x05\x01\0\x01\x01\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿðËK\x13\x05\x01\0\x01\x01\0\0\0\0\x05\0\0\0\x05\0\0\0\x03\0\0\0\0\0áÇÌÿðÏ2^[\x03\0\x01\x05\0\0\0\x10\0\0\0\x10\0\0\0\x04\0\0\0\0\0áÇÌÿþ«Ó\0\x01\f\0\b\0\x01\0\x06\v\x04\0B\0@\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿþÁ\x13\x05\x01\0\x01\x01\0\0\0\0\x10\0\0\0\x10\0\0\0\x05\0\0\0\0\0áÇÌÿþÅò\0!\f\0\b\0\x01\0\a\v\x04\0B\0@\0\0\0\0\b\0\0\0\b\0\0\0\x03\0\0\0\0\0áÇÍ\01ÏÖ\x14\x06\0\0\x01\x02\x01\0\0\0\x06\0\0\0\x06\0\0\0\x02\0\0\0\0\0áÇÍ\x01 \x04h\x06\x04\x03\x01\x01\x13\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÍ\x01 \b;\x0f\x04\0\x01\x06\x04\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÍ\x01#«\x05\x04\0\x01\x01\x16\0\0\0\b\0\0\0\b\0\0\0\x03\0\0\0\0\0áÇÍ\x01#¢+\x14\x06\0\0\x01\0\0\0
^ permalink raw reply
* Re: [PATCH BlueZ 1/2 v2] android/hid: Fetch record before attempting to connect
From: Johan Hedberg @ 2013-11-01 9:16 UTC (permalink / raw)
To: Luiz Augusto von Dentz; +Cc: linux-bluetooth
In-Reply-To: <1383296324-20355-1-git-send-email-luiz.dentz@gmail.com>
Hi Luiz,
On Fri, Nov 01, 2013, Luiz Augusto von Dentz wrote:
> From: Ravi kumar Veeramally <ravikumar.veeramally@linux.intel.com>
>
> This patch fetch HID record and store the information needed by uHID.
> ---
> v2: Fix including glib-helper.c twice
Both patches have been applied. Thanks.
Johan
^ permalink raw reply
* [PATCH BlueZ 2/2 v2] android/hid: Initial implementation for uHID
From: Luiz Augusto von Dentz @ 2013-11-01 8:58 UTC (permalink / raw)
To: linux-bluetooth
In-Reply-To: <1383296324-20355-1-git-send-email-luiz.dentz@gmail.com>
From: Ravi kumar Veeramally <ravikumar.veeramally@linux.intel.com>
This patch reads data on interrupt channel and feeds into uHID.
Kernel will take care rest of the things and connects bt mouse
and keyboard:
[168988.557647] input: bluez-input-device as /devices/virtual/misc/uhid/input54
---
android/hid.c | 129 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 125 insertions(+), 4 deletions(-)
diff --git a/android/hid.c b/android/hid.c
index d64596d..f576548 100644
--- a/android/hid.c
+++ b/android/hid.c
@@ -37,6 +37,7 @@
#include "src/shared/mgmt.h"
#include "src/sdp-client.h"
#include "src/glib-helper.h"
+#include "profiles/input/uhid_copy.h"
#include "log.h"
#include "hal-msg.h"
@@ -47,7 +48,7 @@
#define L2CAP_PSM_HIDP_CTRL 0x11
#define L2CAP_PSM_HIDP_INTR 0x13
-#define MAX_READ_BUFFER 4096
+#define UHID_DEVICE_FILE "/dev/uhid"
static GIOChannel *notification_io = NULL;
static GIOChannel *ctrl_io = NULL;
@@ -67,6 +68,8 @@ struct hid_device {
GIOChannel *intr_io;
guint ctrl_watch;
guint intr_watch;
+ int uhid_fd;
+ guint uhid_watch_id;
};
static int device_cmp(gconstpointer s, gconstpointer user_data)
@@ -77,6 +80,21 @@ static int device_cmp(gconstpointer s, gconstpointer user_data)
return bacmp(&hdev->dst, dst);
}
+static void uhid_destroy(int fd)
+{
+ struct uhid_event ev;
+
+ /* destroy uHID device */
+ memset(&ev, 0, sizeof(ev));
+ ev.type = UHID_DESTROY;
+
+ if (write(fd, &ev, sizeof(ev)) < 0)
+ error("Failed to destroy uHID device: %s (%d)",
+ strerror(errno), errno);
+
+ close(fd);
+}
+
static void hid_device_free(struct hid_device *hdev)
{
if (hdev->ctrl_watch > 0)
@@ -91,17 +109,63 @@ static void hid_device_free(struct hid_device *hdev)
if (hdev->ctrl_io)
g_io_channel_unref(hdev->ctrl_io);
+ if (hdev->uhid_watch_id) {
+ g_source_remove(hdev->uhid_watch_id);
+ hdev->uhid_watch_id = 0;
+ }
+
+ if (hdev->uhid_fd > 0)
+ uhid_destroy(hdev->uhid_fd);
+
g_free(hdev->rd_data);
devices = g_slist_remove(devices, hdev);
g_free(hdev);
}
+static gboolean uhid_event_cb(GIOChannel *io, GIOCondition cond,
+ gpointer user_data)
+{
+ struct hid_device *hdev = user_data;
+ struct uhid_event ev;
+ ssize_t bread;
+ int fd;
+
+ DBG("");
+
+ if (cond & (G_IO_ERR | G_IO_NVAL))
+ goto failed;
+
+ fd = g_io_channel_unix_get_fd(io);
+ memset(&ev, 0, sizeof(ev));
+
+ bread = read(fd, &ev, sizeof(ev));
+ if (bread < 0) {
+ DBG("read: %s (%d)", strerror(errno), errno);
+ goto failed;
+ }
+
+ DBG("uHID event type %d received", ev.type);
+ /* TODO Handle events */
+
+ return TRUE;
+
+failed:
+ hdev->uhid_watch_id = 0;
+ return FALSE;
+}
+
static gboolean intr_io_watch_cb(GIOChannel *chan, gpointer data)
{
- char buf[MAX_READ_BUFFER];
+ struct hid_device *hdev = data;
+ uint8_t buf[UHID_DATA_MAX];
+ struct uhid_event ev;
int fd, bread;
+ /* Wait uHID if not ready */
+ if (hdev->uhid_fd < 0)
+ return TRUE;
+
fd = g_io_channel_unix_get_fd(chan);
bread = read(fd, buf, sizeof(buf));
if (bread < 0) {
@@ -109,7 +173,18 @@ static gboolean intr_io_watch_cb(GIOChannel *chan, gpointer data)
return TRUE;
}
- DBG("bytes read %d", bread);
+ /* Discard non-data packets */
+ if (bread == 0 || buf[0] != 0xA1)
+ return TRUE;
+
+ /* send data to uHID device skipping HIDP header byte */
+ memset(&ev, 0, sizeof(ev));
+ ev.type = UHID_INPUT;
+ ev.u.input.size = bread - 1;
+ memcpy(ev.u.input.data, &buf[1], ev.u.input.size);
+
+ if (write(hdev->uhid_fd, &ev, sizeof(ev)) < 0)
+ DBG("write: %s (%d)", strerror(errno), errno);
return TRUE;
}
@@ -185,6 +260,44 @@ static gboolean ctrl_watch_cb(GIOChannel *chan, GIOCondition cond,
return FALSE;
}
+static int uhid_create(struct hid_device *hdev)
+{
+ GIOCondition cond = G_IO_IN | G_IO_ERR | G_IO_NVAL;
+ GIOChannel *io;
+ struct uhid_event ev;
+
+ hdev->uhid_fd = open(UHID_DEVICE_FILE, O_RDWR | O_CLOEXEC);
+ if (hdev->uhid_fd < 0) {
+ error("Failed to open uHID device: %s", strerror(errno));
+ return -errno;
+ }
+
+ memset(&ev, 0, sizeof(ev));
+ ev.type = UHID_CREATE;
+ strcpy((char *) ev.u.create.name, "bluez-input-device");
+ ev.u.create.bus = BUS_BLUETOOTH;
+ ev.u.create.vendor = hdev->vendor;
+ ev.u.create.product = hdev->product;
+ ev.u.create.version = hdev->vendor;
+ ev.u.create.country = hdev->country;
+ ev.u.create.rd_size = hdev->rd_size;
+ ev.u.create.rd_data = hdev->rd_data;
+
+ if (write(hdev->uhid_fd, &ev, sizeof(ev)) < 0) {
+ error("Failed to create uHID device: %s", strerror(errno));
+ close(hdev->uhid_fd);
+ hdev->uhid_fd = -1;
+ return -errno;
+ }
+
+ io = g_io_channel_unix_new(hdev->uhid_fd);
+ g_io_channel_set_encoding(io, NULL, NULL);
+ hdev->uhid_watch_id = g_io_add_watch(io, cond, uhid_event_cb, hdev);
+ g_io_channel_unref(io);
+
+ return 0;
+}
+
static void interrupt_connect_cb(GIOChannel *chan, GError *conn_err,
gpointer user_data)
{
@@ -195,6 +308,9 @@ static void interrupt_connect_cb(GIOChannel *chan, GError *conn_err,
if (conn_err)
goto failed;
+ if (uhid_create(hdev) < 0)
+ goto failed;
+
hdev->intr_watch = g_io_add_watch(hdev->intr_io,
G_IO_IN | G_IO_HUP | G_IO_ERR | G_IO_NVAL,
intr_watch_cb, hdev);
@@ -321,8 +437,11 @@ static void hid_sdp_search_cb(sdp_list_t *recs, int err, gpointer data)
}
}
- if (hdev->ctrl_io)
+ if (hdev->ctrl_io) {
+ if (uhid_create(hdev) < 0)
+ goto fail;
return;
+ }
hdev->ctrl_io = bt_io_connect(control_connect_cb, hdev, NULL, &gerr,
BT_IO_OPT_SOURCE_BDADDR, src,
@@ -365,6 +484,7 @@ static uint8_t bt_hid_connect(struct hal_cmd_hid_connect *cmd, uint16_t len)
hdev = g_new0(struct hid_device, 1);
bacpy(&hdev->dst, &dst);
+ hdev->uhid_fd = -1;
ba2str(&hdev->dst, addr);
DBG("connecting to %s", addr);
@@ -472,6 +592,7 @@ static void connect_cb(GIOChannel *chan, GError *err, gpointer user_data)
hdev = g_new0(struct hid_device, 1);
bacpy(&hdev->dst, &dst);
hdev->ctrl_io = g_io_channel_ref(chan);
+ hdev->uhid_fd = -1;
bt_string2uuid(&uuid, HID_UUID);
if (bt_search_service(src, &hdev->dst, &uuid,
--
1.8.3.1
^ permalink raw reply related
* [PATCH BlueZ 1/2 v2] android/hid: Fetch record before attempting to connect
From: Luiz Augusto von Dentz @ 2013-11-01 8:58 UTC (permalink / raw)
To: linux-bluetooth
From: Ravi kumar Veeramally <ravikumar.veeramally@linux.intel.com>
This patch fetch HID record and store the information needed by uHID.
---
v2: Fix including glib-helper.c twice
android/Android.mk | 3 +-
android/Makefile.am | 3 +-
android/hid.c | 134 +++++++++++++++++++++++++++++++++++++++++++++-------
3 files changed, 120 insertions(+), 20 deletions(-)
diff --git a/android/Android.mk b/android/Android.mk
index b953554..443ac7a 100644
--- a/android/Android.mk
+++ b/android/Android.mk
@@ -37,7 +37,8 @@ LOCAL_SRC_FILES := \
../lib/sdp.c \
../lib/bluetooth.c \
../lib/hci.c \
- ../btio/btio.c
+ ../btio/btio.c \
+ ../src/sdp-client.c \
LOCAL_C_INCLUDES := \
$(call include-path-for, glib) \
diff --git a/android/Makefile.am b/android/Makefile.am
index 771d5b2..5eb8f01 100644
--- a/android/Makefile.am
+++ b/android/Makefile.am
@@ -20,7 +20,8 @@ android_bluetoothd_SOURCES = android/main.c \
android/hid.h android/hid.c \
android/ipc.h android/ipc.c \
android/socket.h android/socket.c \
- btio/btio.h btio/btio.c
+ btio/btio.h btio/btio.c \
+ src/sdp-client.h src/sdp-client.c
android_bluetoothd_LDADD = lib/libbluetooth-internal.la @GLIB_LIBS@
diff --git a/android/hid.c b/android/hid.c
index 2bc8c06..d64596d 100644
--- a/android/hid.c
+++ b/android/hid.c
@@ -31,7 +31,12 @@
#include "btio/btio.h"
#include "lib/bluetooth.h"
+#include "lib/sdp.h"
+#include "lib/sdp_lib.h"
+#include "lib/uuid.h"
#include "src/shared/mgmt.h"
+#include "src/sdp-client.h"
+#include "src/glib-helper.h"
#include "log.h"
#include "hal-msg.h"
@@ -52,6 +57,12 @@ static GSList *devices = NULL;
struct hid_device {
bdaddr_t dst;
uint8_t state;
+ uint16_t vendor;
+ uint16_t product;
+ uint16_t version;
+ uint8_t country;
+ int rd_size;
+ void *rd_data;
GIOChannel *ctrl_io;
GIOChannel *intr_io;
guint ctrl_watch;
@@ -80,6 +91,8 @@ static void hid_device_free(struct hid_device *hdev)
if (hdev->ctrl_io)
g_io_channel_unref(hdev->ctrl_io);
+ g_free(hdev->rd_data);
+
devices = g_slist_remove(devices, hdev);
g_free(hdev);
}
@@ -98,10 +111,6 @@ static gboolean intr_io_watch_cb(GIOChannel *chan, gpointer data)
DBG("bytes read %d", bread);
- /* TODO: At this moment only baseband is connected, i.e. mouse
- * movements keyboard events doesn't effect on UI. Have to send
- * this data to uhid fd for profile connection. */
-
return TRUE;
}
@@ -186,8 +195,6 @@ static void interrupt_connect_cb(GIOChannel *chan, GError *conn_err,
if (conn_err)
goto failed;
- /*TODO: Get device details through SDP and create UHID fd and start
- * listening on uhid events */
hdev->intr_watch = g_io_add_watch(hdev->intr_io,
G_IO_IN | G_IO_HUP | G_IO_ERR | G_IO_NVAL,
intr_watch_cb, hdev);
@@ -250,14 +257,100 @@ failed:
hid_device_free(hdev);
}
+static void hid_sdp_search_cb(sdp_list_t *recs, int err, gpointer data)
+{
+ struct hid_device *hdev = data;
+ sdp_list_t *list;
+ GError *gerr = NULL;
+ const bdaddr_t *src = bt_adapter_get_address();
+
+ DBG("");
+
+ if (err < 0) {
+ error("Unable to get SDP record: %s", strerror(-err));
+ goto fail;
+ }
+
+ if (!recs || !recs->data) {
+ error("No SDP records found");
+ goto fail;
+ }
+
+ for (list = recs; list != NULL; list = list->next) {
+ sdp_record_t *rec = list->data;
+ sdp_data_t *data;
+
+ data = sdp_data_get(rec, SDP_ATTR_VENDOR_ID);
+ if (data)
+ hdev->vendor = data->val.uint16;
+
+ data = sdp_data_get(rec, SDP_ATTR_PRODUCT_ID);
+ if (data)
+ hdev->product = data->val.uint16;
+
+ data = sdp_data_get(rec, SDP_ATTR_VERSION);
+ if (data)
+ hdev->version = data->val.uint16;
+
+ data = sdp_data_get(rec, SDP_ATTR_HID_COUNTRY_CODE);
+ if (data)
+ hdev->country = data->val.uint8;
+
+ data = sdp_data_get(rec, SDP_ATTR_HID_DESCRIPTOR_LIST);
+ if (data) {
+ if (!SDP_IS_SEQ(data->dtd))
+ goto fail;
+
+ /* First HIDDescriptor */
+ data = data->val.dataseq;
+ if (!SDP_IS_SEQ(data->dtd))
+ goto fail;
+
+ /* ClassDescriptorType */
+ data = data->val.dataseq;
+ if (data->dtd != SDP_UINT8)
+ goto fail;
+
+ /* ClassDescriptorData */
+ data = data->next;
+ if (!data || !SDP_IS_TEXT_STR(data->dtd))
+ goto fail;
+
+ hdev->rd_size = data->unitSize;
+ hdev->rd_data = g_memdup(data->val.str, data->unitSize);
+ }
+ }
+
+ if (hdev->ctrl_io)
+ return;
+
+ hdev->ctrl_io = bt_io_connect(control_connect_cb, hdev, NULL, &gerr,
+ BT_IO_OPT_SOURCE_BDADDR, src,
+ BT_IO_OPT_DEST_BDADDR, &hdev->dst,
+ BT_IO_OPT_PSM, L2CAP_PSM_HIDP_CTRL,
+ BT_IO_OPT_SEC_LEVEL, BT_IO_SEC_LOW,
+ BT_IO_OPT_INVALID);
+ if (gerr) {
+ error("%s", gerr->message);
+ g_error_free(gerr);
+ goto fail;
+ }
+
+ return;
+
+fail:
+ bt_hid_set_state(hdev, HAL_HID_STATE_DISCONNECTED);
+ hid_device_free(hdev);
+}
+
static uint8_t bt_hid_connect(struct hal_cmd_hid_connect *cmd, uint16_t len)
{
struct hid_device *hdev;
char addr[18];
bdaddr_t dst;
GSList *l;
- GError *err = NULL;
const bdaddr_t *src = bt_adapter_get_address();
+ uuid_t uuid;
DBG("");
@@ -271,20 +364,15 @@ static uint8_t bt_hid_connect(struct hal_cmd_hid_connect *cmd, uint16_t len)
return HAL_STATUS_FAILED;
hdev = g_new0(struct hid_device, 1);
- android2bdaddr(&cmd->bdaddr, &hdev->dst);
- ba2str(&hdev->dst, addr);
+ bacpy(&hdev->dst, &dst);
+ ba2str(&hdev->dst, addr);
DBG("connecting to %s", addr);
- hdev->ctrl_io = bt_io_connect(control_connect_cb, hdev, NULL, &err,
- BT_IO_OPT_SOURCE_BDADDR, src,
- BT_IO_OPT_DEST_BDADDR, &hdev->dst,
- BT_IO_OPT_PSM, L2CAP_PSM_HIDP_CTRL,
- BT_IO_OPT_SEC_LEVEL, BT_IO_SEC_LOW,
- BT_IO_OPT_INVALID);
- if (err) {
- error("%s", err->message);
- g_error_free(err);
+ bt_string2uuid(&uuid, HID_UUID);
+ if (bt_search_service(src, &hdev->dst, &uuid, hid_sdp_search_cb, hdev,
+ NULL) < 0) {
+ error("Failed to search sdp details");
hid_device_free(hdev);
return HAL_STATUS_FAILED;
}
@@ -354,6 +442,8 @@ static void connect_cb(GIOChannel *chan, GError *err, gpointer user_data)
uint16_t psm;
GError *gerr = NULL;
GSList *l;
+ const bdaddr_t *src = bt_adapter_get_address();
+ uuid_t uuid;
if (err) {
error("%s", err->message);
@@ -383,6 +473,14 @@ static void connect_cb(GIOChannel *chan, GError *err, gpointer user_data)
bacpy(&hdev->dst, &dst);
hdev->ctrl_io = g_io_channel_ref(chan);
+ bt_string2uuid(&uuid, HID_UUID);
+ if (bt_search_service(src, &hdev->dst, &uuid,
+ hid_sdp_search_cb, hdev, NULL) < 0) {
+ error("failed to search sdp details");
+ hid_device_free(hdev);
+ return;
+ }
+
devices = g_slist_append(devices, hdev);
hdev->ctrl_watch = g_io_add_watch(hdev->ctrl_io,
--
1.8.3.1
^ permalink raw reply related
* Re: [BUG] Crash during disconnecting and removing bond from remote device
From: Johan Hedberg @ 2013-11-01 7:57 UTC (permalink / raw)
To: Seung-Woo Kim; +Cc: linux-bluetooth, s.syam
In-Reply-To: <526E5C98.8020407@samsung.com>
Hi Seung-Woo Kim,
On Mon, Oct 28, 2013, Seung-Woo Kim wrote:
> I used 3.10.14 with RFCOMM tty patches in 3.12-rc, and I tested
> disconnecting and removing a bond from remote device. and I got
> following crash.
This looks like a potentially valid issue, but you'd need to dress up
the fix as a proper patch (i.e. git format-patch + git send-email). It'd
also be good if you could confirm that the issue is reproducable with
the latest bluetooth-next kernel.
Johan
^ permalink raw reply
* Re: Intel 7260 bluetooth malfunction when it is connected to EHCI bus
From: Marcel Holtmann @ 2013-11-01 7:49 UTC (permalink / raw)
To: Hui Wang
Cc: Tedd An, Johan Hedberg, xiong.y.zhang, Gustavo F. Padovan,
linux-bluetooth@vger.kernel.org development, Kun Yang,
Anthony Wong
In-Reply-To: <5273147E.4040004@canonical.com>
Hi Hui,
>>>>>>> The problem is:
>>>>>>> On the machine which has Intel 7260 BT module, i use it to connect a bluetooth headset,
>>>>>>> it can successfully scan and connect to the headset, when i play sound to the bt headset,
>>>>>>> the problem comes, if the bt module is connected to the XHCI, it can work very well.
>>>>>>>
>>>>>>> u@u-Lenovo-B4400:~$ lsusb -t
>>>>>>> 1-7:1.0: No such file or directory
>>>>>>> /: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
>>>>>>> /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/14p, 480M
>>>>>>> |__ Port 6: Dev 8, If 0, Class=HID, Driver=usbhid, 1.5M
>>>>>>> |__ Port 7: Dev 2, If 0, Class=vend., Driver=, 12M
>>>>>>> |__ Port 11: Dev 3, If 0, Class='bInterfaceClass 0xe0 not yet handled', Driver=btusb, 12M
>>>>>>> |__ Port 11: Dev 3, If 1, Class='bInterfaceClass 0xe0 not yet handled', Driver=btusb, 12M
>>>>>>>
>>>>>>> But if the bt module is connected to the EHCI, it always fails to play sound.
>>>>>>>
>>>>>>> u@u-Lenovo-B4400:~$ lsusb -t
>>>>>>> /: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
>>>>>>> /: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/14p, 480M
>>>>>>> /: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/3p, 480M
>>>>>>> |__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/8p, 480M
>>>>>>> /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/3p, 480M
>>>>>>> |__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/6p, 480M
>>>>>>> |__ Port 5: Dev 3, If 0, Class='bInterfaceClass 0xe0 not yet handled', Driver=btusb, 12M
>>>>>>> |__ Port 5: Dev 3, If 1, Class='bInterfaceClass 0xe0 not yet handled', Driver=btusb, 12M
>>>>>>> |__ Port 6: Dev 4, If 0, Class='bInterfaceClass 0x0e not yet handled', Driver=uvcvideo, 480M
>>>>>>> |__ Port 6: Dev 4, If 1, Class='bInterfaceClass 0x0e not yet handled', Driver=uvcvideo, 480M
>>>>>> can you paste /sys/kernel/debug/usb/devices here.
>>>>>>
>>>>>> If the uvcvideo driver is also using ISOC URBs, we might have just exhausted the bandwidth of the USB bus here or these two devices just do not play nice with each other.
>>>>>>
>>>>>> Try to unload the uvcvideo driver and try it again.
>>>>> Thanks for your reply, follow your instruction, i totally disabled the camera from the BIOS, then the usb tree like this,
>>>>> u@u-Lenovo-B4400:~$ lsusb -t
>>>>> 1-1.3:1.0: No such file or directory
>>>>> /: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
>>>>> /: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/14p, 480M
>>>>> /: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/3p, 480M
>>>>> |__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/8p, 480M
>>>>> /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/3p, 480M
>>>>> |__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/6p, 480M
>>>>> |__ Port 2: Dev 3, If 0, Class=HID, Driver=usbhid, 1.5M
>>>>> |__ Port 3: Dev 4, If 0, Class=vend., Driver=, 12M
>>>>> |__ Port 5: Dev 5, If 0, Class='bInterfaceClass 0xe0 not yet handled', Driver=btusb, 12M
>>>>> |__ Port 5: Dev 5, If 1, Class='bInterfaceClass 0xe0 not yet handled', Driver=btusb, 12M
>>>>> u@u-Lenovo-B4400:~$ uname -a
>>>>> Linux u-Lenovo-B4400 3.12.0-031200rc6-generic #201310191635 SMP Sat Oct 19 20:36:43 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
>>>>>
>>>>> I re-did the test, the result is same as before, after the headset is connected and i play audio, no sound is heard from the headset.
>>>>> And hciconfig output shows still no SCO packets received by BT driver.
>>>>> u@u-Lenovo-B4400:~$ hciconfig
>>>>> hci0: Type: BR/EDR Bus: USB
>>>>> BD Address: 00:15:00:CC:2D:D2 ACL MTU: 1021:5 SCO MTU: 96:5
>>>>> UP RUNNING PSCAN
>>>>> RX bytes:5853 acl:61 sco:0 events:298 errors:0
>>>>> TX bytes:19212 acl:68 sco:1 commands:179 errors:0
>>>> this is strange. The only reason I can think of is that you do not have the firmware installed and or it is not loaded correctly. Does dmesg give any indication that something failed here.
>>> I can confirm the firmware file is the /lib/firmware/intel/ibt-hw-37.7.10-fw-1.80.2.3.d.bseq, and it is in the filesystem. And from the dmesg, the firmware was successfully loaded.
>>>
>>> [ 8.600217] Bluetooth: hci0: Intel Bluetooth firmware file: intel/ibt-hw-37.7.10-fw-1.80.2.3.d.bseq
>>> [ 8.653635] kvm: disabled by bios
>>> [ 8.672981] psmouse serio1: synaptics: Touchpad model: 1, fw: 8.1, id: 0x1e2b1, caps: 0xd00123/0x840300/0x126c00
>>> [ 8.707034] input: SynPS/2 Synaptics TouchPad as /devices/platform/i8042/serio1/input/input13
>>> [ 8.717725] Registered led device: phy0-led
>>> [ 8.722730] ieee80211 phy0: Selected rate control algorithm 'iwl-mvm-rs'
>>> [ 8.752626] Bluetooth: hci0: Intel Bluetooth firmware patch completed and activated
>>>
>>>> Since this is a 3.12 kernel it should have native support for Intel specific setup routing. Any chance you can run btmon -w <file> before plugging the device into the bus. Maybe something goes wrong with the setup routine on EHCI.
>>> Do you mean the hcidump file i just sent in my previous email.
>> I do not get this. I specifically asked to run “btmon -w <file>” before plugging in the device. I want to see the early setup process here. What would I do with a hcidump trace.
>
> The attachment is the logfile generated by "btmon -w <file>". And the logfile was generated by below steps,
>
> 1) boot up the system into the ubuntu desktop
> 2) open a terminal and run "sudo btmon -w ~/lenovo-m4400s-btmon.log"
> 3) open bluetooth applet and click adding a new device, the bluetooth begin to scan devices
> 4) power up the bt headset
> 5) laptop bt module find the headset and connect it successfully
> 6) open the sound applet, choose bt headset as output device, play sound, but no sound can be heard from bt headset
> 7) Ctrl+C to terminate the "btmon -w <file>"
>
> In case you can't receive the attachment, i decode the logfile and paste the content here.
what I need is to see the 7260 controller init. So you need to start btmon -w <file> before the 7260 gets attached to the USB bus or before btusb.ko driver gets loaded.
Regards
Marcel
^ permalink raw reply
* Re: [RFC] hidhost: Shutdown HID L2CAP sockets on unregister
From: Johan Hedberg @ 2013-11-01 7:46 UTC (permalink / raw)
To: Andrei Emeltchenko; +Cc: linux-bluetooth
In-Reply-To: <1383233418-14757-1-git-send-email-Andrei.Emeltchenko.news@gmail.com>
Hi Andrei,
On Thu, Oct 31, 2013, Andrei Emeltchenko wrote:
> Fixes address already in use issue if we reenable HID.
> ...
> bluetoothd[2894]: Failed to listen on ctrl channel:
> l2cap_bind: Address already in use (98)
> ...
> ---
> android/hid.c | 14 ++++++++++----
> 1 file changed, 10 insertions(+), 4 deletions(-)
Applied (after fixing up the subject prefix). Thanks.
Johan
^ permalink raw reply
* Re: [PATCH BlueZ 2/2] android/hid: Initial implementation for uHID
From: Johan Hedberg @ 2013-11-01 7:44 UTC (permalink / raw)
To: Luiz Augusto von Dentz; +Cc: linux-bluetooth
In-Reply-To: <1383235026-12247-2-git-send-email-luiz.dentz@gmail.com>
Hi Luiz/Ravi,
On Thu, Oct 31, 2013, Luiz Augusto von Dentz wrote:
> From: Ravi kumar Veeramally <ravikumar.veeramally@linux.intel.com>
>
> This patch reads data on interrupt channel and feeds into uHID.
> Kernel will take care rest of the things and connects bt mouse
> and keyboard:
>
> [168988.557647] input: bluez-input-device as /devices/virtual/misc/uhid/input54
> ---
> android/hid.c | 129 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
> 1 file changed, 125 insertions(+), 4 deletions(-)
After applying these two patches the tree stops compiling for me (even
after rerunning ./bootstrap-configure):
src/glib-helper.o: In function `bt_modalias':
/home/jh/src/bluez/src/glib-helper.c:42: multiple definition of `bt_modalias'
src/glib-helper.o:/home/jh/src/bluez/src/glib-helper.c:42: first defined here
src/glib-helper.o: In function `bt_uuid2string':
/home/jh/src/bluez/src/glib-helper.c:55: multiple definition of `bt_uuid2string'
src/glib-helper.o:/home/jh/src/bluez/src/glib-helper.c:55: first defined here
src/glib-helper.o: In function `bt_name2string':
/home/jh/src/bluez/src/glib-helper.c:172: multiple definition of `bt_name2string'
src/glib-helper.o:/home/jh/src/bluez/src/glib-helper.c:172: first defined here
src/glib-helper.o: In function `bt_string2uuid':
/home/jh/src/bluez/src/glib-helper.c:202: multiple definition of `bt_string2uuid'
src/glib-helper.o:/home/jh/src/bluez/src/glib-helper.c:202: first defined here
collect2: error: ld returned 1 exit status
make[1]: *** [android/bluetoothd] Error 1
Johan
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox