From 1d56bd377e4323e8d1ac27b84ed85b18b95437e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hubert=20Figui=C3=A8re?= Date: Mon, 25 Mar 2024 21:41:20 -0400 Subject: [PATCH] context: Implement device lists for usb MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Hubert Figuière --- common/flatpak-context-private.h | 2 + common/flatpak-context.c | 83 +- common/flatpak-usb-private.h | 5 +- common/flatpak-usb.c | 73 + doc/flatpak-build-finish.xml | 27 + tests/gphoto2-list | 2598 ++++++++++++++++++++++++++++++ tests/test-context.c | 39 + 7 files changed, 2818 insertions(+), 9 deletions(-) create mode 100644 tests/gphoto2-list diff --git a/common/flatpak-context-private.h b/common/flatpak-context-private.h index 8f721bb2..b0e7eeab 100644 --- a/common/flatpak-context-private.h +++ b/common/flatpak-context-private.h @@ -137,6 +137,8 @@ void flatpak_context_set_system_bus_policy (FlatpakContext *context, void flatpak_context_set_a11y_bus_policy (FlatpakContext *context, const char *name, FlatpakPolicy policy); +char * flatpak_context_devices_to_usb_list (GHashTable *devices, + gboolean hidden); void flatpak_context_to_args (FlatpakContext *context, GPtrArray *args); FlatpakRunFlags flatpak_context_get_run_flags (FlatpakContext *context); diff --git a/common/flatpak-context.c b/common/flatpak-context.c index a6957e62..f4b20962 100644 --- a/common/flatpak-context.c +++ b/common/flatpak-context.c @@ -544,6 +544,32 @@ flatpak_context_add_nousb_query (FlatpakContext *context, flatpak_context_add_query_to (context->hidden_usb_devices, usb_query); } +static gboolean +flatpak_context_add_usb_list (FlatpakContext *context, + const char *list, + GError **error) +{ + return flatpak_usb_parse_usb_list (list, context->enumerable_usb_devices, + context->hidden_usb_devices, error); +} + +static gboolean +flatpak_context_add_usb_list_from_file (FlatpakContext *context, + const char *path, + GError **error) +{ + g_autofree char *contents = NULL; + + if (!flatpak_validate_path_characters (path, error)) + return FALSE; + + if (!g_file_get_contents (path, &contents, NULL, error)) + return FALSE; + + return flatpak_usb_parse_usb_list (contents, context->enumerable_usb_devices, + context->hidden_usb_devices, error); +} + static gboolean flatpak_context_set_persistent (FlatpakContext *context, const char *path, @@ -1610,8 +1636,26 @@ option_nousb_cb (const char *option_name, } static gboolean -option_persist_cb (const gchar *option_name, - const gchar *value, +option_usb_list_file_cb (const char *option_name, + const char *value, + gpointer data, + GError **error) +{ + return flatpak_context_add_usb_list_from_file (data, value, error); +} + +static gboolean +option_usb_list_cb (const char *option_name, + const char *value, + gpointer data, + GError **error) +{ + return flatpak_context_add_usb_list (data, value, error); +} + +static gboolean +option_persist_cb (const char *option_name, + const char *value, gpointer data, GError **error) { @@ -1647,6 +1691,8 @@ static GOptionEntry context_options[] = { { "remove-policy", 0, G_OPTION_FLAG_IN_MAIN, G_OPTION_ARG_CALLBACK, &option_remove_generic_policy_cb, N_("Remove generic policy option"), N_("SUBSYSTEM.KEY=VALUE") }, { "usb", 0, G_OPTION_FLAG_IN_MAIN, G_OPTION_ARG_CALLBACK, &option_usb_cb, N_("Add USB device to enumerables"), N_("VENDOR_ID:PRODUCT_ID") }, { "nousb", 0, G_OPTION_FLAG_IN_MAIN, G_OPTION_ARG_CALLBACK, &option_nousb_cb, N_("Add USB device to hidden list"), N_("VENDOR_ID:PRODUCT_ID") }, + { "usb-list", 0, G_OPTION_FLAG_IN_MAIN, G_OPTION_ARG_CALLBACK, &option_usb_list_cb, N_("A list of USB device that are enumerable"), N_("LIST") }, + { "usb-list-file", 0, G_OPTION_FLAG_IN_MAIN | G_OPTION_FLAG_FILENAME, G_OPTION_ARG_CALLBACK, &option_usb_list_file_cb, N_("File containing a list of USB device to make enumerable"), N_("FILENAME") }, { "persist", 0, G_OPTION_FLAG_IN_MAIN, G_OPTION_ARG_CALLBACK, &option_persist_cb, N_("Persist home directory subpath"), N_("FILENAME") }, /* This is not needed/used anymore, so hidden, but we accept it for backwards compat */ { "no-desktop", 0, G_OPTION_FLAG_IN_MAIN | G_OPTION_FLAG_HIDDEN, G_OPTION_ARG_NONE, &option_no_desktop_deprecated, N_("Don't require a running session (no cgroups creation)"), NULL }, @@ -2510,12 +2556,33 @@ flatpak_context_allows_features (FlatpakContext *context, return (context->features & features) == features; } +char * +flatpak_context_devices_to_usb_list (GHashTable *devices, + gboolean hidden) +{ + GString *list = g_string_new (NULL); + GHashTableIter iter; + gpointer value; + + g_hash_table_iter_init (&iter, devices); + while (g_hash_table_iter_next (&iter, &value, NULL)) + { + if (hidden) + g_string_append_printf (list, "!%s;", (const char *) value); + else + g_string_append_printf (list, "%s;", (const char *) value); + } + + return g_string_free (list, FALSE); +} + void flatpak_context_to_args (FlatpakContext *context, GPtrArray *args) { GHashTableIter iter; gpointer key, value; + char *usb_list = NULL; flatpak_context_shared_to_args (context->shares, context->shares_valid, args); flatpak_context_sockets_to_args (context->sockets, context->sockets_valid, args); @@ -2585,13 +2652,13 @@ flatpak_context_to_args (FlatpakContext *context, } } - g_hash_table_iter_init (&iter, context->enumerable_usb_devices); - while (g_hash_table_iter_next (&iter, &value, NULL)) - g_ptr_array_add (args, g_strdup_printf ("--usb=%s", (const char *) value)); + usb_list = flatpak_context_devices_to_usb_list (context->enumerable_usb_devices, FALSE); + g_ptr_array_add (args, g_strdup_printf ("--usb-list=%s", usb_list)); + g_free (usb_list); - g_hash_table_iter_init (&iter, context->hidden_usb_devices); - while (g_hash_table_iter_next (&iter, &value, NULL)) - g_ptr_array_add (args, g_strdup_printf ("--nousb=%s", (const char *) value)); + usb_list = flatpak_context_devices_to_usb_list (context->hidden_usb_devices, TRUE); + g_ptr_array_add (args, g_strdup_printf ("--usb-list=%s", usb_list)); + g_free (usb_list); } void diff --git a/common/flatpak-usb-private.h b/common/flatpak-usb-private.h index ebbfc850..9e4adfd6 100644 --- a/common/flatpak-usb-private.h +++ b/common/flatpak-usb-private.h @@ -91,4 +91,7 @@ gboolean flatpak_usb_parse_usb_rule (const char *data, gboolean flatpak_usb_parse_usb (const char *data, FlatpakUsbQuery **out_usb_query, GError **error); - +gboolean flatpak_usb_parse_usb_list (const char *buffer, + GHashTable *enumerable, + GHashTable *hidden, + GError **error); diff --git a/common/flatpak-usb.c b/common/flatpak-usb.c index 5fa22b44..7773bf6d 100644 --- a/common/flatpak-usb.c +++ b/common/flatpak-usb.c @@ -21,6 +21,7 @@ #include #include +#include #include "libglnx.h" #include "flatpak-usb-private.h" @@ -297,6 +298,78 @@ flatpak_usb_parse_usb (const char *data, return TRUE; } +gboolean +flatpak_usb_parse_usb_list (const char *buffer, + GHashTable *enumerable, + GHashTable *hidden, + GError **error) +{ + char *aux = NULL; + g_autoptr(FlatpakUsbQuery) usb_query = NULL; + g_autoptr(GInputStream) stream = NULL; + g_autoptr(GDataInputStream) buffered = NULL; + g_autoptr(GError) local_error = NULL; + + stream = g_memory_input_stream_new_from_data (buffer, -1, NULL); + if (!stream) + return FALSE; + + buffered = g_data_input_stream_new (G_INPUT_STREAM (stream)); + + while ((aux = g_data_input_stream_read_line (buffered, NULL, NULL, &local_error))) + { + g_autofree char *line = g_steal_pointer (&aux); + g_auto(GStrv) split = NULL; + gboolean blocking = FALSE; + + if (line[0] == '#') + continue; + + split = g_strsplit (line, ";", 0); + if (!split || !*split) + continue; + + for (size_t i = 0; split[i] != NULL; i++) + { + const char *item = split[i]; + + blocking = item[0] == '!'; + if (blocking) + item++; + + if (flatpak_usb_parse_usb (item, &usb_query, NULL)) + { + GString *string = g_string_new (NULL); + flatpak_usb_query_print (usb_query, string); + + if (blocking) + { + g_hash_table_insert (hidden, + g_string_free (string, FALSE), + g_steal_pointer (&usb_query)); + } + else + { + g_hash_table_insert (enumerable, + g_string_free (string, FALSE), + g_steal_pointer (&usb_query)); + } + } + } + } + + g_input_stream_close (G_INPUT_STREAM (buffered), NULL, error); + g_input_stream_close (G_INPUT_STREAM (stream), NULL, error); + + if (local_error) + { + g_propagate_error (error, g_steal_pointer (&local_error)); + return FALSE; + } + + return TRUE; +} + void flatpak_usb_rule_print (FlatpakUsbRule *usb_rule, GString *string) diff --git a/doc/flatpak-build-finish.xml b/doc/flatpak-build-finish.xml index d111942f..fc85fada 100644 --- a/doc/flatpak-build-finish.xml +++ b/doc/flatpak-build-finish.xml @@ -358,6 +358,33 @@ key=v1;v2; + + + + + Adds USB device queries to the application metadata from the file + FILE_NAME. The line syntax is exactly + equal to . Additionally, if it starts + with ! then the query is like for . + Lines sthat starts with # are ignored, + like a comment. Comments will not be persisted. + Available since 1.15.11. + + + + + + + + Adds USB device queries to the application metadata from + LIST. The syntax is exactly equal to + with queries separated by + ;. Additionally, if the query starts with + ! then the query is like for + . Available since 1.15.11. + + + diff --git a/tests/gphoto2-list b/tests/gphoto2-list new file mode 100644 index 00000000..8d97b055 --- /dev/null +++ b/tests/gphoto2-list @@ -0,0 +1,2598 @@ +# List from gphoto2 +# +# Modified for tests, not for use. + + +vnd:0979+dev:0227 +vnd:4102+dev:1230 +!vnd:4102+dev:1213 +!vnd:0502+dev:365e;!vnd:0502+dev:387a +vnd:0502+dev:3841;!vnd:0502+dev:33c3 +vnd:0502+dev:33c4 +vnd:0502+dev:3643 +vnd:0502+dev:353c +vnd:0502+dev:362d +vnd:0502+dev:3586 +vnd:0502+dev:3841 +vnd:0502+dev:394b +vnd:0502+dev:3348 +vnd:0502+dev:3349 +vnd:0502+dev:334a +vnd:0502+dev:33d8 +vnd:0502+dev:337c +vnd:0502+dev:337d +vnd:0502+dev:33cb +vnd:0502+dev:3325 +vnd:0502+dev:3341 +vnd:0502+dev:3344 +vnd:0502+dev:3345 +vnd:0502+dev:3389 +vnd:0502+dev:338a +vnd:0502+dev:3378 +vnd:0502+dev:3514 +vnd:0502+dev:35a8 +vnd:0502+dev:3644 +vnd:0502+dev:3938 +vnd:0502+dev:3725 +vnd:0502+dev:3609 +vnd:0502+dev:3473 +vnd:0502+dev:355f +vnd:0502+dev:374f +vnd:0502+dev:3750 +vnd:0502+dev:3750 +vnd:0502+dev:37ef +vnd:0502+dev:38a5 +vnd:0502+dev:38bb +vnd:0502+dev:3657 +vnd:0502+dev:33aa +vnd:0502+dev:35e4 +vnd:0502+dev:361d +vnd:0502+dev:3683 +vnd:0502+dev:3822 +vnd:0502+dev:3823 +vnd:0502+dev:3886 +vnd:16d5+dev:8006 +vnd:16d5+dev:8005 +vnd:08ca+dev:0111 +vnd:1bbb+dev:0168 +vnd:1bbb+dev:901b +vnd:1bbb+dev:2008 +vnd:1bbb+dev:0c02 +vnd:1bbb+dev:a00e +vnd:1bbb+dev:f003 +vnd:1bbb+dev:af2b +vnd:1bbb+dev:af00 +vnd:1bbb+dev:af2a +vnd:1bbb+dev:a00f +vnd:1bbb+dev:904d +vnd:1bbb+dev:0167 +vnd:271d+dev:4016 +vnd:0979+dev:0227 +vnd:1949+dev:0800 +vnd:1949+dev:0c31 +vnd:1949+dev:0007 +vnd:1949+dev:0008 +vnd:1949+dev:000a +vnd:1949+dev:000c +vnd:1949+dev:0012 +vnd:1949+dev:000b +vnd:1949+dev:000d +vnd:1949+dev:05e1 +vnd:1949+dev:0005 +vnd:1949+dev:0222 +vnd:1949+dev:0221 +vnd:1949+dev:0271 +vnd:1949+dev:0121 +vnd:1949+dev:0211 +vnd:1949+dev:0261 +vnd:1949+dev:0212 +vnd:1949+dev:0331 +vnd:1949+dev:0332 +vnd:1949+dev:0262 +vnd:1949+dev:00f2 +vnd:1949+dev:0581 +vnd:1949+dev:0272 +vnd:1949+dev:0281 +vnd:1949+dev:03f1 +vnd:0979+dev:0224 +vnd:05ac+dev:129a +vnd:05ac+dev:12ab +vnd:05ac+dev:1290 +vnd:05ac+dev:1292 +vnd:05ac+dev:1294 +vnd:05ac+dev:1297 +vnd:05ac+dev:12a0 +vnd:05ac+dev:12a8 +vnd:05ac+dev:1291 +vnd:05ac+dev:1293 +vnd:05ac+dev:1299 +vnd:0e79+dev:5008 +vnd:0e79+dev:5009 +vnd:0e79+dev:4002 +vnd:0e79+dev:1528 +vnd:0e79+dev:1529 +vnd:0e79+dev:1539 +vnd:0e79+dev:1538 +vnd:0e79+dev:14b9 +vnd:0e79+dev:528c +vnd:0e79+dev:528d +vnd:0e79+dev:1548 +vnd:0e79+dev:542f +vnd:0e79+dev:51c6 +vnd:0e79+dev:120a +vnd:0e79+dev:131d +vnd:0e79+dev:120c +vnd:0e79+dev:52c2 +vnd:0e79+dev:1301 +vnd:0e79+dev:1303 +vnd:0e79+dev:1311 +vnd:0e79+dev:1321 +vnd:0e79+dev:31f3 +vnd:0e79+dev:1421 +vnd:0e79+dev:1331 +vnd:0e79+dev:1333 +vnd:0e79+dev:3229 +vnd:0e79+dev:322a +vnd:0e79+dev:5229 +vnd:0e79+dev:522a +vnd:0e79+dev:53a7 +vnd:0e79+dev:1307 +vnd:0e79+dev:31bd +vnd:0e79+dev:2008 +vnd:0e79+dev:5371 +vnd:0e79+dev:545c +vnd:0e79+dev:5465 +vnd:0e79+dev:544a +vnd:0e79+dev:1357 +vnd:0e79+dev:1351 +vnd:0e79+dev:1309 +vnd:0e79+dev:130b +vnd:0e79+dev:1313 +vnd:0e79+dev:1315 +vnd:0e79+dev:1335 +vnd:0e79+dev:15ba +vnd:0e79+dev:130d +vnd:0e79+dev:130f +vnd:0e79+dev:1319 +vnd:0e79+dev:5395 +vnd:0e79+dev:14ef +vnd:0e79+dev:1568 +vnd:0e79+dev:1569 +vnd:0e79+dev:14bf +vnd:0e79+dev:1518 +vnd:0e79+dev:1508 +vnd:0e79+dev:1509 +vnd:0e79+dev:14ad +vnd:0e79+dev:149a +vnd:0e79+dev:5217 +vnd:0e79+dev:146b +vnd:0e79+dev:145e +vnd:0e79+dev:1458 +vnd:0e79+dev:31ab +vnd:0e79+dev:5603 +vnd:0e79+dev:5305 +vnd:0e79+dev:1207 +vnd:0e79+dev:31d8 +vnd:0e79+dev:31e1 +vnd:0e79+dev:1341 +vnd:0e79+dev:131b +vnd:0e79+dev:1208 +vnd:0979+dev:0227 +vnd:2770+dev:9120 +vnd:093a+dev:010f +vnd:093a+dev:010f +vnd:2770+dev:913c +vnd:0979+dev:0227 +vnd:093a+dev:010f +vnd:0979+dev:0227 +vnd:2770+dev:905c +vnd:0b05+dev:5a0f +vnd:0b05+dev:590f +vnd:0b05+dev:4ce0 +vnd:0b05+dev:4ce1 +vnd:0b05+dev:514f +vnd:0b05+dev:7773 +vnd:0b05+dev:540f +vnd:0b05+dev:541f +vnd:0b05+dev:550f +vnd:0b05+dev:5500 +vnd:0b05+dev:4cd0 +vnd:0b05+dev:4cd1 +vnd:0b05+dev:521f +vnd:0b05+dev:520f +vnd:0b05+dev:4cc0 +vnd:0b05+dev:4cc1 +vnd:0b05+dev:7770 +vnd:0b05+dev:5460 +vnd:0b05+dev:5468 +vnd:0b05+dev:5400 +vnd:0b05+dev:5410 +vnd:0b05+dev:5411 +vnd:0b05+dev:5466 +vnd:0b05+dev:7772 +vnd:0b05+dev:5506 +vnd:0b05+dev:5561 +vnd:0b05+dev:5200 +vnd:0b05+dev:5201 +vnd:0b05+dev:5210 +vnd:0b05+dev:5211 +vnd:0b05+dev:5214 +vnd:0b05+dev:5220 +vnd:0b05+dev:5221 +vnd:0b05+dev:5230 +vnd:0b05+dev:5231 +vnd:0b05+dev:4e00 +vnd:0b05+dev:4e01 +vnd:0b05+dev:4e0f +vnd:0b05+dev:4e1f +vnd:0b05+dev:4d00 +vnd:0b05+dev:4d01 +vnd:0b05+dev:4c80 +vnd:0b05+dev:4c81 +vnd:0b05+dev:4c90 +vnd:0b05+dev:4c91 +vnd:0b05+dev:4ca0 +vnd:0b05+dev:4ca1 +vnd:0b05+dev:561f +vnd:0b05+dev:5601 +vnd:0b05+dev:5600 +vnd:0b05+dev:5f02 +vnd:0b05+dev:5f03 +vnd:0b05+dev:580f +vnd:0b05+dev:581f +vnd:0b05+dev:5480 +vnd:0b05+dev:5481 +vnd:0b05+dev:7780 +vnd:0b05+dev:7781 +vnd:0b05+dev:5490 +vnd:0b05+dev:5491 +vnd:0b05+dev:2008 +vnd:0b05+dev:610f +vnd:0b05+dev:600f +vnd:0b05+dev:5e0f +vnd:1908+dev:1315 +vnd:1908+dev:1320 +vnd:1908+dev:0102 +vnd:1908+dev:3335 +vnd:2770+dev:9051 +vnd:2080+dev:000a +vnd:2080+dev:0006 +vnd:2080+dev:0005 +vnd:1d45+dev:459d +vnd:0fca+dev:8041 +vnd:0fca+dev:8042 +vnd:0fca+dev:8031 +vnd:271d+dev:4017 +vnd:271d+dev:4016 +vnd:271d+dev:4008 +vnd:2a47+dev:200d +vnd:2a47+dev:4ee1 +vnd:2a47+dev:3003 +vnd:2a47+dev:7f10 +vnd:2a47+dev:901b +vnd:2a47+dev:9039 +vnd:2a47+dev:903a +vnd:2a47+dev:7f11 +vnd:2a47+dev:201d +vnd:2a47+dev:2008 +vnd:2a47+dev:0c02 +vnd:2a47+dev:f003 +vnd:0e8d+dev:0c03 +vnd:04a9+dev:3047 +vnd:04a9+dev:31c2 +vnd:04a9+dev:31bd +vnd:04a9+dev:31e6 +vnd:04a9+dev:31f3 +vnd:04a9+dev:327d +vnd:04a9+dev:32c0 +vnd:04a9+dev:32d4 +vnd:04a9+dev:3268 +vnd:04a9+dev:30c0 +vnd:04a9+dev:304d +vnd:04a9+dev:31f7 +vnd:04a9+dev:3066 +vnd:04a9+dev:30bf +vnd:04a9+dev:3075 +vnd:04a9+dev:30ba +vnd:04a9+dev:310e +vnd:04a9+dev:30b4 +vnd:04a9+dev:30ff +vnd:04a9+dev:311c +vnd:04a9+dev:30fe +vnd:04a9+dev:314f +vnd:04a9+dev:30f2 +vnd:04a9+dev:314e +vnd:04a9+dev:3116 +vnd:04a9+dev:3184 +vnd:04a9+dev:3119 +vnd:04a9+dev:3174 +vnd:04a9+dev:3136 +vnd:04a9+dev:3160 +vnd:04a9+dev:3174 +vnd:04a9+dev:3115 +vnd:04a9+dev:31c4 +vnd:04a9+dev:314b +vnd:04a9+dev:315f +vnd:04a9+dev:3173 +vnd:04a9+dev:3193 +vnd:04a9+dev:31c1 +vnd:04a9+dev:309b +vnd:04a9+dev:309b +vnd:04a9+dev:30c4 +vnd:04a9+dev:3072 +vnd:04a9+dev:30b6 +vnd:04a9+dev:30f4 +vnd:04a9+dev:3052 +vnd:04a9+dev:3065 +vnd:04a9+dev:3070 +vnd:04a9+dev:3071 +vnd:04a9+dev:30f1 +vnd:04a9+dev:32d6 +vnd:04a9+dev:30ee +vnd:04a9+dev:306a +vnd:04a9+dev:3088 +vnd:04a9+dev:3087 +vnd:04a9+dev:30a5 +vnd:04a9+dev:317b +vnd:04a9+dev:3270 +vnd:04a9+dev:3083 +vnd:04a9+dev:30bc +vnd:04a9+dev:3217 +vnd:04a9+dev:327f +vnd:04a9+dev:32b4 +vnd:04a9+dev:32e1 +vnd:04a9+dev:3252 +vnd:04a9+dev:30ea +vnd:04a9+dev:3147 +vnd:04a9+dev:31d0 +vnd:04a9+dev:3219 +vnd:04a9+dev:3292 +vnd:04a9+dev:32e8 +vnd:04a9+dev:32e1 +vnd:04a9+dev:32cc +vnd:04a9+dev:30eb +vnd:04a9+dev:30ec +vnd:04a9+dev:32e9 +vnd:04a9+dev:3084 +vnd:04a9+dev:3099 +vnd:04a9+dev:3113 +vnd:04a9+dev:30ef +vnd:04a9+dev:30ee +vnd:04a9+dev:30ee +vnd:04a9+dev:32d9 +vnd:04a9+dev:3110 +vnd:04a9+dev:3146 +vnd:04a9+dev:3145 +vnd:04a9+dev:31cf +vnd:04a9+dev:319b +vnd:04a9+dev:31ea +vnd:04a9+dev:3101 +vnd:04a9+dev:3102 +vnd:04a9+dev:3199 +vnd:04a9+dev:323a +vnd:04a9+dev:3281 +vnd:04a9+dev:3295 +vnd:04a9+dev:32af +vnd:04a9+dev:3218 +vnd:04a9+dev:3215 +vnd:04a9+dev:323b +vnd:04a9+dev:3250 +vnd:04a9+dev:32ca +vnd:04a9+dev:3272 +vnd:04a9+dev:3253 +vnd:04a9+dev:32a1 +vnd:04a9+dev:3280 +vnd:04a9+dev:32cb +vnd:04a9+dev:319a +vnd:04a9+dev:326f +vnd:04a9+dev:32c9 +vnd:04a9+dev:3294 +vnd:04a9+dev:32f1 +vnd:04a9+dev:32ea +vnd:04a9+dev:3044 +vnd:04a9+dev:3060 +vnd:04a9+dev:3084 +vnd:04a9+dev:3099 +vnd:04a9+dev:3110 +vnd:04a9+dev:3084 +vnd:04a9+dev:3099 +vnd:04a9+dev:30ee +vnd:04a9+dev:3110 +vnd:04a9+dev:3145 +vnd:04a9+dev:31cf +vnd:04a9+dev:323d +vnd:04a9+dev:32a0 +vnd:04a9+dev:32d1 +vnd:04a9+dev:3273 +vnd:04a9+dev:32ef +vnd:04a9+dev:3299 +vnd:04a9+dev:32bb +vnd:04a9+dev:32d2 +vnd:04a9+dev:32f9 +vnd:04a9+dev:32c5 +vnd:04a9+dev:32e7 +vnd:04a9+dev:32da +vnd:04a9+dev:32f8 +vnd:04a9+dev:3312 +vnd:04a9+dev:32fc +vnd:04a9+dev:32f4 +vnd:04a9+dev:3303 +vnd:04a9+dev:330d +vnd:04a9+dev:32f5 +vnd:04a9+dev:330b +vnd:04a9+dev:32f7 +vnd:04a9+dev:330c +vnd:04a9+dev:31cf +vnd:04a9+dev:32b4 +vnd:04a9+dev:32c9 +vnd:04a9+dev:32f1 +vnd:04a9+dev:3145 +vnd:04a9+dev:32e2 +vnd:04a9+dev:308e +vnd:04a9+dev:3241 +vnd:04a9+dev:32aa +vnd:04a9+dev:32a9 +vnd:04a9+dev:3225 +vnd:04a9+dev:31e6 +vnd:04a9+dev:3193 +vnd:04a9+dev:3046 +vnd:04a9+dev:304b +vnd:04a9+dev:30c0 +vnd:04a9+dev:30c4 +vnd:04a9+dev:306b +vnd:04a9+dev:3096 +vnd:04a9+dev:307c +vnd:04a9+dev:307a +vnd:04a9+dev:30a0 +vnd:04a9+dev:3096 +vnd:04a9+dev:308e +vnd:04a9+dev:3081 +vnd:04a9+dev:3080 +vnd:04a9+dev:30a9 +vnd:04a9+dev:306b +vnd:04a9+dev:308d +vnd:04a9+dev:3082 +vnd:04a9+dev:307f +vnd:04a9+dev:3080 +vnd:04a9+dev:306b +vnd:04a9+dev:3096 +vnd:04a9+dev:30a9 +vnd:04a9+dev:3105 +vnd:04a9+dev:308e +vnd:04a9+dev:304f +vnd:04a9+dev:3061 +vnd:04a9+dev:318e +vnd:04a9+dev:31c3 +vnd:04a9+dev:323e +vnd:04a9+dev:3264 +vnd:04a9+dev:304e +vnd:04a9+dev:3062 +vnd:04a9+dev:3191 +vnd:04a9+dev:31be +vnd:04a9+dev:322a +vnd:04a9+dev:324a +vnd:04a9+dev:3249 +vnd:04a9+dev:3271 +vnd:04a9+dev:3262 +vnd:04a9+dev:3059 +vnd:04a9+dev:3076 +vnd:04a9+dev:31f2 +vnd:04a9+dev:30b8 +vnd:04a9+dev:31f1 +vnd:04a9+dev:3261 +vnd:04a9+dev:3058 +vnd:04a9+dev:30b7 +vnd:04a9+dev:3243 +vnd:04a9+dev:30f9 +vnd:04a9+dev:310f +vnd:04a9+dev:30f8 +vnd:04a9+dev:3155 +vnd:04a9+dev:3149 +vnd:04a9+dev:317a +vnd:04a9+dev:31bf +vnd:04a9+dev:31ef +vnd:04a9+dev:30c2 +vnd:04a9+dev:30c1 +vnd:04a9+dev:3126 +vnd:04a9+dev:311b +vnd:04a9+dev:3150 +vnd:04a9+dev:314d +vnd:04a9+dev:314c +vnd:04a9+dev:3177 +vnd:04a9+dev:3176 +vnd:04a9+dev:3074 +vnd:04a9+dev:30fd +vnd:04a9+dev:30fc +vnd:04a9+dev:313a +vnd:04a9+dev:3139 +vnd:04a9+dev:315b +vnd:04a9+dev:3073 +vnd:04a9+dev:3117 +vnd:04a9+dev:3138 +vnd:04a9+dev:315d +vnd:04a9+dev:30b5 +vnd:04a9+dev:309a +vnd:04a9+dev:3226 +vnd:04a9+dev:323f +vnd:04a9+dev:30b9 +vnd:04a9+dev:30bb +vnd:04a9+dev:31bc +vnd:04a9+dev:32ab +vnd:04a9+dev:3288 +vnd:04a9+dev:3289 +vnd:04a9+dev:3048 +vnd:04a9+dev:3233 +vnd:04a9+dev:318f +vnd:04a9+dev:31df +vnd:04a9+dev:320f +vnd:04a9+dev:3258 +vnd:04a9+dev:3274 +vnd:04a9+dev:3055 +vnd:04a9+dev:306e +vnd:04a9+dev:306f +vnd:04a9+dev:32a8 +vnd:04a9+dev:3085 +vnd:04a9+dev:32b3 +vnd:04a9+dev:30b3 +vnd:04a9+dev:3125 +vnd:04a9+dev:329d +vnd:04a9+dev:32bc +vnd:04a9+dev:315a +vnd:04a9+dev:32c7 +vnd:04a9+dev:309b +vnd:04a9+dev:3049 +vnd:04a9+dev:309c +vnd:04a9+dev:3041 +vnd:04a9+dev:3236 +vnd:04a9+dev:3045 +vnd:04a9+dev:3051 +vnd:04a9+dev:325b +vnd:04a9+dev:3275 +vnd:04a9+dev:30f0 +vnd:04a9+dev:3043 +vnd:04a9+dev:3065 +vnd:04a9+dev:3070 +vnd:04a9+dev:3071 +vnd:04a9+dev:311a +vnd:04a9+dev:3057 +vnd:04a9+dev:304c +vnd:04a9+dev:3066 +vnd:04a9+dev:3056 +vnd:04a9+dev:3075 +vnd:04a9+dev:30ba +vnd:04a9+dev:306c +vnd:04a9+dev:306d +vnd:04a9+dev:3148 +vnd:04a9+dev:3077 +vnd:04a9+dev:30b4 +vnd:04a9+dev:30b2 +vnd:04a9+dev:30b1 +vnd:04a9+dev:30fa +vnd:04a9+dev:3212 +vnd:04a9+dev:309b +vnd:04a9+dev:3072 +vnd:04a9+dev:314f +vnd:04a9+dev:30b6 +vnd:04a9+dev:3184 +vnd:04a9+dev:31c4 +vnd:04a9+dev:31f4 +vnd:04a9+dev:30c4 +vnd:04a9+dev:30c0 +vnd:04a9+dev:3137 +vnd:04a9+dev:30f1 +vnd:04a9+dev:30ff +vnd:04a9+dev:30f2 +vnd:04a9+dev:311c +vnd:04a9+dev:30fe +vnd:04a9+dev:3119 +vnd:04a9+dev:314e +vnd:04a9+dev:3175 +vnd:04a9+dev:31c2 +vnd:04a9+dev:3174 +vnd:04a9+dev:314b +vnd:04a9+dev:3196 +vnd:04a9+dev:3115 +vnd:04a9+dev:31e6 +vnd:04a9+dev:31c1 +vnd:04a9+dev:3193 +vnd:04a9+dev:318d +vnd:04a9+dev:315e +vnd:04a9+dev:3192 +vnd:04a9+dev:31e0 +vnd:04a9+dev:3211 +vnd:04a9+dev:3234 +vnd:04a9+dev:325a +vnd:04a9+dev:3276 +vnd:04a9+dev:31e4 +vnd:04a9+dev:31c0 +vnd:04a9+dev:31f6 +vnd:04a9+dev:322c +vnd:04a9+dev:3228 +vnd:04a9+dev:3245 +vnd:04a9+dev:3244 +vnd:04a9+dev:325f +vnd:04a9+dev:3238 +vnd:04a9+dev:325c +vnd:04a9+dev:3277 +vnd:04a9+dev:329b +vnd:04a9+dev:329f +vnd:04a9+dev:32be +vnd:04a9+dev:3286 +vnd:04a9+dev:329a +vnd:04a9+dev:32ee +vnd:04a9+dev:32e4 +vnd:04a9+dev:3050 +vnd:04a9+dev:305c +vnd:04a9+dev:31ea +vnd:04a9+dev:3217 +vnd:04a9+dev:3218 +vnd:04a9+dev:323b +vnd:04a9+dev:32c3 +vnd:04a9+dev:32c2 +vnd:04a9+dev:3078 +vnd:07cf+dev:1049 +vnd:07cf+dev:1042 +vnd:07cf+dev:104d +vnd:07cf+dev:104c +vnd:07cf+dev:117a +vnd:0409+dev:02ed +vnd:04b7+dev:88b9 +vnd:04b7+dev:88d0 +vnd:04b7+dev:88b0 +vnd:04b7+dev:88c6 +vnd:04b7+dev:88a9 +vnd:04b7+dev:88aa +vnd:04b7+dev:88c0 +vnd:04b7+dev:88c1 +vnd:04b7+dev:88d6 +vnd:04b7+dev:88f1 +vnd:2770+dev:9120 +vnd:2770+dev:905c +vnd:0979+dev:0224 +vnd:2770+dev:905c +vnd:1e74+dev:6512 +vnd:1e53+dev:0005 +vnd:2770+dev:9120 +vnd:2770+dev:9120 +vnd:1ebf+dev:7029 +vnd:0e21+dev:0952 +vnd:0e21+dev:0711 +vnd:0e21+dev:0751 +vnd:0e21+dev:0911 +vnd:0e21+dev:0941 +vnd:0e21+dev:0801 +vnd:0e21+dev:0871 +vnd:0e21+dev:0891 +vnd:0e21+dev:0861 +vnd:0e21+dev:0881 +vnd:0e21+dev:0921 +vnd:0e21+dev:0901 +vnd:0e21+dev:0701 +vnd:0e21+dev:0761 +vnd:0e21+dev:0931 +vnd:041e+dev:4123 +vnd:041e+dev:4157 +vnd:041e+dev:411e +vnd:041e+dev:4130 +vnd:041e+dev:413c +vnd:041e+dev:4133 +vnd:041e+dev:4161 +vnd:041e+dev:4137 +vnd:041e+dev:413d +vnd:041e+dev:4131 +vnd:041e+dev:4150 +vnd:041e+dev:4158 +vnd:041e+dev:4152 +vnd:041e+dev:411f +vnd:041e+dev:4153 +vnd:041e+dev:413e +vnd:041e+dev:4151 +vnd:041e+dev:4162 +vnd:041e+dev:4169 +vnd:041e+dev:4128 +vnd:109b+dev:9130 +vnd:106c+dev:3215 +vnd:2770+dev:905c +vnd:2770+dev:9120 +vnd:0c45+dev:8000 +vnd:041e+dev:4132 +vnd:041e+dev:412f +vnd:413c+dev:b10b +vnd:413c+dev:b11a +vnd:413c+dev:b11b +vnd:413c+dev:4500 +vnd:0bb4+dev:0c08 +vnd:2770+dev:905c +vnd:1f3a+dev:0c02 +vnd:093a+dev:010e +vnd:0979+dev:0227 +vnd:0aa6+dev:6021 +vnd:2770+dev:9050 +vnd:2770+dev:9052 +vnd:2b43+dev:0006 +vnd:10d6+dev:2200 +vnd:093a+dev:010e +vnd:093a+dev:010f +vnd:04b8+dev:0403 +vnd:04b8+dev:0402 +vnd:2e17+dev:c033 +vnd:2e17+dev:c030 +vnd:2ae5+dev:f003 +vnd:2ae5+dev:6764 +vnd:2ae5+dev:9039 +vnd:09cb+dev:100b +vnd:2970+dev:4002 +vnd:2970+dev:2008 +vnd:2970+dev:0c02 +vnd:2970+dev:4001 +vnd:06d3+dev:21ba +vnd:0489+dev:c00b +vnd:0489+dev:c025 +vnd:0489+dev:e111 +vnd:0489+dev:1ab0 +vnd:0489+dev:c026 +vnd:0489+dev:e040 +vnd:04cb+dev:014a +vnd:04cb+dev:01d0 +vnd:04cb+dev:01d2 +vnd:04cb+dev:01c6 +vnd:04cb+dev:01d3 +vnd:04cb+dev:021b +vnd:04cb+dev:0193 +vnd:04cb+dev:01e0 +vnd:04cb+dev:01c0 +vnd:04cb+dev:01e4 +vnd:04cb+dev:019b +vnd:04cb+dev:01c1 +vnd:04cb+dev:01c5 +vnd:04cb+dev:01d4 +vnd:04cb+dev:01e6 +vnd:04cb+dev:01fa +vnd:04cb+dev:020e +vnd:04cb+dev:022d +vnd:04cb+dev:0271 +vnd:04cb+dev:0250 +vnd:04cb+dev:01dd +vnd:04cb+dev:01db +vnd:04cb+dev:01ef +vnd:04cb+dev:0200 +vnd:04cb+dev:01e8 +vnd:04cb+dev:0209 +vnd:04cb+dev:0240 +vnd:04cb+dev:027d +vnd:04cb+dev:0265 +vnd:04cb+dev:0298 +vnd:04cb+dev:01c4 +vnd:04cb+dev:01d7 +vnd:04cb+dev:01bf +vnd:04cb+dev:0142 +vnd:04cb+dev:02b9 +vnd:04cb+dev:018f +vnd:04cb+dev:029c +vnd:04cb+dev:0233 +vnd:04cb+dev:0283 +vnd:04cb+dev:026e +vnd:04cb+dev:0263 +vnd:04cb+dev:02a6 +vnd:04cb+dev:0288 +vnd:04cb+dev:01d8 +vnd:04cb+dev:0201 +vnd:04cb+dev:020d +vnd:04cb+dev:01fe +vnd:04cb+dev:02ea +vnd:04cb+dev:02e9 +vnd:04cb+dev:02de +vnd:04cb+dev:02c6 +vnd:04cb+dev:02d5 +vnd:04cb+dev:02b5 +vnd:04cb+dev:02d6 +vnd:04cb+dev:02e8 +vnd:04cb+dev:02d7 +vnd:04cb+dev:02f2 +vnd:04cb+dev:02f0 +vnd:04cb+dev:02b6 +vnd:04cb+dev:02cb +vnd:04cb+dev:02e4 +vnd:04cb+dev:02ea +vnd:04cb+dev:02bf +vnd:04cb+dev:02c8 +vnd:04cb+dev:02cd +vnd:04cb+dev:02d4 +vnd:04cb+dev:02dd +vnd:04cb+dev:02e3 +vnd:04cb+dev:02e6 +vnd:04cb+dev:02fc +vnd:04cb+dev:02d1 +vnd:04cb+dev:02e5 +vnd:04cb+dev:02c1 +vnd:04cb+dev:02ba +vnd:04cb+dev:02dc +vnd:04cb+dev:02d3 +vnd:04cb+dev:01c3 +vnd:04c5+dev:13dd +vnd:04c5+dev:1378 +vnd:04c5+dev:1140 +vnd:04c5+dev:133b +vnd:04c5+dev:158c +vnd:091e+dev:4dac +vnd:091e+dev:488b +vnd:091e+dev:4c7c +vnd:091e+dev:4dab +vnd:091e+dev:4cba +vnd:091e+dev:4e76 +vnd:091e+dev:4f67 +vnd:091e+dev:4b54 +vnd:091e+dev:4cda +vnd:091e+dev:4cd8 +vnd:091e+dev:4cdb +vnd:091e+dev:4f43 +vnd:091e+dev:4f42 +vnd:091e+dev:5116 +vnd:091e+dev:4dad +vnd:091e+dev:4c05 +vnd:091e+dev:4f97 +vnd:091e+dev:50a1 +vnd:091e+dev:4b48 +vnd:091e+dev:4e05 +vnd:091e+dev:4c29 +vnd:091e+dev:4fb8 +vnd:091e+dev:50db +vnd:091e+dev:4f96 +vnd:091e+dev:4cae +vnd:091e+dev:4caf +vnd:091e+dev:2585 +vnd:091e+dev:4daa +vnd:091e+dev:5027 +vnd:091e+dev:4c9a +vnd:091e+dev:4e77 +vnd:091e+dev:4f0b +vnd:091e+dev:4e78 +vnd:091e+dev:4e9c +vnd:091e+dev:4e0c +vnd:091e+dev:4bac +vnd:091e+dev:4bfa +vnd:091e+dev:4c99 +vnd:091e+dev:4c98 +vnd:091e+dev:4d9c +vnd:2770+dev:9120 +vnd:0458+dev:7005 +vnd:040d+dev:885c +vnd:0414+dev:2008 +vnd:0414+dev:0c02 +vnd:0979+dev:0227 +vnd:0979+dev:0227 +vnd:2770+dev:9120 +vnd:18d1+dev:0007 +vnd:18d1+dev:0006 +vnd:18d1+dev:4e41 +vnd:18d1+dev:4e42 +vnd:18d1+dev:4e0f +vnd:18d1+dev:4d00 +vnd:18d1+dev:2d02 +vnd:18d1+dev:0a07 +vnd:18d1+dev:740a +vnd:18d1+dev:d10a +vnd:18d1+dev:d109 +vnd:18d1+dev:b00a +vnd:18d1+dev:70a8 +vnd:18d1+dev:7169 +vnd:18d1+dev:4e12 +vnd:18d1+dev:05b3 +vnd:18d1+dev:7102 +vnd:18d1+dev:4ee1 +vnd:18d1+dev:4ee2 +vnd:18d1+dev:4ee5 +vnd:18d1+dev:4ee6 +vnd:18d1+dev:5202 +vnd:18d1+dev:5203 +vnd:2672+dev:000c +vnd:2672+dev:0021 +vnd:2672+dev:0011 +vnd:2672+dev:000e +vnd:2672+dev:0056 +vnd:2672+dev:0059 +vnd:2672+dev:005a +vnd:2672+dev:000d +vnd:2672+dev:0027 +vnd:2672+dev:0029 +vnd:2672+dev:0037 +vnd:2672+dev:0047 +vnd:2672+dev:0043 +vnd:2672+dev:0042 +vnd:2672+dev:0049 +vnd:2672+dev:004d +vnd:2770+dev:9120 +vnd:201e+dev:a0c1 +vnd:1302+dev:1016 +vnd:1302+dev:1017 +vnd:093a+dev:010e +vnd:03f0+dev:7e1d +vnd:03f0+dev:5d1d +vnd:03f0+dev:5c1d +vnd:109b+dev:9106 +vnd:109b+dev:9109 +vnd:109b+dev:9105 +vnd:339b+dev:107d +vnd:03f0+dev:6502 +vnd:03f0+dev:7c02 +vnd:03f0+dev:7d02 +vnd:03f0+dev:6302 +vnd:03f0+dev:6602 +vnd:03f0+dev:7402 +vnd:03f0+dev:7802 +vnd:03f0+dev:7202 +vnd:03f0+dev:6e02 +vnd:03f0+dev:7902 +vnd:03f0+dev:6d02 +vnd:03f0+dev:6302 +vnd:03f0+dev:6802 +vnd:03f0+dev:7102 +vnd:03f0+dev:6b02 +vnd:03f0+dev:6402 +vnd:03f0+dev:7602 +vnd:03f0+dev:6702 +vnd:03f0+dev:6c02 +vnd:03f0+dev:6a02 +vnd:03f0+dev:4202 +vnd:03f0+dev:7702 +vnd:03f0+dev:7e02 +vnd:03f0+dev:4302 +vnd:03f0+dev:4402 +vnd:03f0+dev:4502 +vnd:03f0+dev:6002 +vnd:03f0+dev:8b02 +vnd:03f0+dev:9a02 +vnd:03f0+dev:8c02 +vnd:03f0+dev:7502 +vnd:03f0+dev:7b02 +vnd:03f0+dev:7302 +vnd:03f0+dev:7a02 +vnd:03f0+dev:8002 +vnd:03f0+dev:8102 +vnd:03f0+dev:8202 +vnd:03f0+dev:9b02 +vnd:03f0+dev:8402 +vnd:03f0+dev:8502 +vnd:03f0+dev:9602 +vnd:03f0+dev:9702 +vnd:03f0+dev:8702 +vnd:03f0+dev:8802 +vnd:0bb4+dev:685c +vnd:0bb4+dev:6860 +vnd:0bb4+dev:0c02 +vnd:0bb4+dev:2008 +vnd:0bb4+dev:0ec7 +vnd:0bb4+dev:0ec6 +vnd:0bb4+dev:05fd +vnd:0bb4+dev:05f0 +vnd:0bb4+dev:0edd +vnd:0bb4+dev:0668 +vnd:0bb4+dev:0edb +vnd:0bb4+dev:0ebd +vnd:0bb4+dev:0dff +vnd:0bb4+dev:0c93 +vnd:0bb4+dev:0ca8 +vnd:0bb4+dev:0dfe +vnd:0bb4+dev:0de4 +vnd:0bb4+dev:0670 +vnd:0bb4+dev:0dd5 +vnd:0bb4+dev:0e31 +vnd:0bb4+dev:0e32 +vnd:0bb4+dev:0df5 +vnd:0bb4+dev:07ae +vnd:0bb4+dev:0dda +vnd:0bb4+dev:0f91 +vnd:0bb4+dev:0f64 +vnd:0bb4+dev:0f63 +vnd:0bb4+dev:0f87 +vnd:0bb4+dev:0f5f +vnd:0bb4+dev:0f60 +vnd:0bb4+dev:0dea +vnd:0bb4+dev:0dd2 +vnd:0bb4+dev:07ca +vnd:0bb4+dev:0f25 +vnd:0bb4+dev:061a +vnd:0bb4+dev:0fb4 +vnd:0bb4+dev:0fb5 +vnd:0bb4+dev:07cb +vnd:0bb4+dev:07d9 +vnd:0bb4+dev:0cec +vnd:0bb4+dev:0df8 +vnd:0bb4+dev:0df9 +vnd:0bb4+dev:0f26 +vnd:0bb4+dev:0dfa +vnd:0bb4+dev:0dfb +vnd:0bb4+dev:0dfc +vnd:0bb4+dev:0dfd +vnd:0bb4+dev:07a1 +vnd:0bb4+dev:07d8 +vnd:0bb4+dev:0401 +vnd:0bb4+dev:201d +vnd:0bb4+dev:2012 +vnd:0bb4+dev:060b +vnd:0bb4+dev:040b +vnd:0bb4+dev:065c +vnd:0bb4+dev:4ee1 +vnd:0bb4+dev:4ee2 +vnd:0bb4+dev:0dcd +vnd:0bb4+dev:0629 +vnd:0bb4+dev:05e3 +vnd:0bb4+dev:f0ca +vnd:0bb4+dev:0ba1 +vnd:0bb4+dev:0ba2 +vnd:12d1+dev:1082 +vnd:12d1+dev:2608 +vnd:12d1+dev:1079 +vnd:12d1+dev:107a +vnd:12d1+dev:2012 +vnd:12d1+dev:1074 +vnd:12d1+dev:260b +vnd:12d1+dev:360f +vnd:12d1+dev:361f +vnd:12d1+dev:1051 +vnd:12d1+dev:1052 +vnd:12d1+dev:107d +vnd:12d1+dev:107e +vnd:12d1+dev:2406 +vnd:12d1+dev:256b +vnd:12d1+dev:2567 +vnd:12d1+dev:107f +vnd:12d1+dev:257c +vnd:12d1+dev:259c +vnd:12d1+dev:2008 +vnd:12d1+dev:255d +vnd:2207+dev:0017 +vnd:2770+dev:9120 +vnd:093a+dev:010e +vnd:19ff+dev:0303 +vnd:19ff+dev:0309 +vnd:19ff+dev:0307 +vnd:8087+dev:0a5f +vnd:8087+dev:0a15 +vnd:8087+dev:0a16 +vnd:8087+dev:092a +vnd:8087+dev:0a5e +vnd:8087+dev:09fb +vnd:05c6+dev:0a07 +vnd:093a+dev:010f +vnd:4102+dev:1195 +vnd:4102+dev:1200 +vnd:4102+dev:112a +vnd:4102+dev:1126 +vnd:4102+dev:1141 +vnd:4102+dev:1142 +vnd:4102+dev:1152 +vnd:4102+dev:1167 +vnd:4102+dev:1151 +vnd:4102+dev:2101 +vnd:4102+dev:2105 +vnd:4102+dev:2102 +vnd:1006+dev:3004 +vnd:4102+dev:1008 +vnd:4102+dev:1122 +vnd:1006+dev:4002 +vnd:1006+dev:4003 +vnd:4102+dev:1147 +vnd:4102+dev:1113 +vnd:4102+dev:1120 +vnd:4102+dev:1117 +vnd:4102+dev:1115 +vnd:4102+dev:1114 +vnd:4102+dev:1118 +vnd:4102+dev:1119 +vnd:4102+dev:1153 +vnd:4102+dev:1134 +vnd:1042+dev:1143 +vnd:1e68+dev:1002 +vnd:1e68+dev:1007 +vnd:4102+dev:1116 +vnd:4102+dev:1132 +vnd:1f3a+dev:1007 +vnd:0b20+dev:ddee +vnd:0979+dev:0227 +vnd:2770+dev:905c +vnd:0979+dev:0227 +vnd:2770+dev:9120 +vnd:2931+dev:0a01 +vnd:2931+dev:0a05 +vnd:2931+dev:0a07 +vnd:04f1+dev:6105 +vnd:2970+dev:9039 +vnd:0b28+dev:100c +vnd:2237+dev:d108 +vnd:2237+dev:d109 +vnd:2237+dev:b108 +vnd:040a+dev:0617 +vnd:040a+dev:060b +vnd:040a+dev:057e +vnd:040a+dev:058a +vnd:040a+dev:058c +vnd:040a+dev:058d +vnd:040a+dev:0589 +vnd:040a+dev:05aa +vnd:040a+dev:059a +vnd:040a+dev:05a2 +vnd:040a+dev:05b7 +vnd:040a+dev:05ba +vnd:040a+dev:05a7 +vnd:040a+dev:05af +vnd:040a+dev:05ae +vnd:040a+dev:05c3 +vnd:040a+dev:05a9 +vnd:040a+dev:05c6 +vnd:040a+dev:059c +vnd:040a+dev:0560 +vnd:040a+dev:0560 +vnd:040a+dev:0535 +vnd:040a+dev:0566 +vnd:040a+dev:0566 +vnd:040a+dev:0574 +vnd:040a+dev:0573 +vnd:040a+dev:0571 +vnd:040a+dev:0584 +vnd:040a+dev:0579 +vnd:040a+dev:0578 +vnd:040a+dev:0578 +vnd:040a+dev:057a +vnd:040a+dev:057b +vnd:040a+dev:0586 +vnd:040a+dev:057c +vnd:040a+dev:0120 +vnd:040a+dev:0121 +vnd:040a+dev:0130 +vnd:040a+dev:0132 +vnd:040a+dev:0160 +vnd:040a+dev:0131 +vnd:040a+dev:0525 +vnd:040a+dev:0500 +vnd:040a+dev:0510 +vnd:040a+dev:0530 +vnd:040a+dev:0170 +vnd:040a+dev:0555 +vnd:040a+dev:0576 +vnd:040a+dev:0550 +vnd:040a+dev:0570 +vnd:040a+dev:0572 +vnd:040a+dev:0575 +vnd:040a+dev:057d +vnd:040a+dev:057f +vnd:040a+dev:0577 +vnd:040a+dev:0540 +vnd:040a+dev:0568 +vnd:040a+dev:0569 +vnd:040a+dev:0565 +vnd:040a+dev:0567 +vnd:040a+dev:05ce +vnd:040a+dev:0600 +vnd:040a+dev:0665 +vnd:040a+dev:059f +vnd:040a+dev:05c1 +vnd:040a+dev:05ad +vnd:040a+dev:0585 +vnd:040a+dev:0400 +vnd:040a+dev:0592 +vnd:040a+dev:0593 +vnd:040a+dev:058e +vnd:040a+dev:058f +vnd:040a+dev:0591 +vnd:040a+dev:05a0 +vnd:040a+dev:05ac +vnd:040a+dev:05ab +vnd:040a+dev:05b8 +vnd:040a+dev:059d +vnd:040a+dev:059e +vnd:040a+dev:0587 +vnd:040a+dev:05b3 +vnd:040a+dev:05b4 +vnd:040a+dev:0580 +vnd:040a+dev:0588 +vnd:040a+dev:0403 +vnd:040a+dev:05b5 +vnd:040a+dev:0595 +vnd:040a+dev:05cf +vnd:040a+dev:05cd +vnd:040a+dev:0613 +vnd:040a+dev:05c0 +vnd:132b+dev:0001 +vnd:132b+dev:0019 +vnd:132b+dev:0009 +vnd:132b+dev:0007 +vnd:132b+dev:0018 +vnd:132b+dev:0022 +vnd:132b+dev:0033 +vnd:1f3a+dev:1006 +vnd:0482+dev:09fc +vnd:0482+dev:0a73 +vnd:0482+dev:0979 +vnd:0482+dev:0a9a +vnd:0482+dev:0591 +vnd:0482+dev:073c +vnd:0482+dev:085e +vnd:0482+dev:09cb +vnd:0482+dev:0810 +vnd:0482+dev:0571 +vnd:0482+dev:059a +vnd:2770+dev:9051 +vnd:04da+dev:2375 +vnd:1a98+dev:0002 +vnd:1a98+dev:2376 +vnd:04da+dev:2041 +vnd:1a98+dev:2041 +vnd:2b0e+dev:1714 +vnd:2b0e+dev:171b +vnd:17ef+dev:789a +vnd:17ef+dev:789b +vnd:17ef+dev:7928 +vnd:17ef+dev:7929 +vnd:17ef+dev:7737 +vnd:17ef+dev:7738 +vnd:17ef+dev:772b +vnd:17ef+dev:772a +vnd:17ef+dev:7853 +vnd:17ef+dev:7852 +vnd:17ef+dev:7882 +vnd:17ef+dev:7614 +vnd:17ef+dev:7730 +vnd:17ef+dev:7731 +vnd:17ef+dev:7498 +vnd:17ef+dev:7a18 +vnd:17ef+dev:7a36 +vnd:17ef+dev:75bc +vnd:17ef+dev:75be +vnd:17ef+dev:7542 +vnd:17ef+dev:757d +vnd:17ef+dev:76e8 +vnd:17ef+dev:740a +vnd:17ef+dev:7883 +vnd:17ef+dev:7993 +vnd:17ef+dev:7a2a +vnd:17ef+dev:75b5 +vnd:17ef+dev:75b3 +vnd:17ef+dev:7713 +vnd:17ef+dev:778f +vnd:17ef+dev:7c6f +vnd:17ef+dev:775a +vnd:17ef+dev:78b0 +vnd:17ef+dev:74cc +vnd:17ef+dev:9039 +vnd:17ef+dev:7921 +vnd:17ef+dev:7920 +vnd:17ef+dev:7a36 +vnd:17ef+dev:2008 +vnd:17ef+dev:0c02 +vnd:17ef+dev:7497 +vnd:17ef+dev:74a6 +vnd:17ef+dev:78d1 +vnd:17ef+dev:7802 +vnd:17ef+dev:74f8 +vnd:17ef+dev:7718 +vnd:17ef+dev:770a +vnd:17ef+dev:7a50 +vnd:17ef+dev:7949 +vnd:17ef+dev:78da +vnd:17ef+dev:79de +vnd:17ef+dev:7bdf +vnd:17ef+dev:7cb3 +vnd:17ef+dev:7bd3 +vnd:17ef+dev:7d4b +vnd:17ef+dev:77d8 +vnd:17ef+dev:7b25 +vnd:17ef+dev:7ac5 +vnd:17ef+dev:7bc7 +vnd:17ef+dev:7ad0 +vnd:17ef+dev:7b3c +vnd:17ef+dev:7b84 +vnd:17ef+dev:7a6b +vnd:17ef+dev:7c97 +vnd:17ef+dev:7c45 +vnd:17ef+dev:7c46 +vnd:17ef+dev:79a2 +vnd:17ef+dev:79de +vnd:17ef+dev:741c +vnd:17ef+dev:76f2 +vnd:17ef+dev:79b7 +vnd:17ef+dev:78f6 +vnd:17ef+dev:74ee +vnd:17ef+dev:7999 +vnd:17ef+dev:78fc +vnd:17ef+dev:78a7 +vnd:17ef+dev:7902 +vnd:17ef+dev:77ea +vnd:17ef+dev:79af +vnd:17ef+dev:7932 +vnd:17ef+dev:76ff +vnd:17ef+dev:77a5 +vnd:17ef+dev:77a4 +vnd:17ef+dev:77b1 +vnd:17ef+dev:795c +vnd:2b0e+dev:1704 +vnd:2b0e+dev:1840 +vnd:2b0e+dev:1844 +vnd:2b0e+dev:1768 +vnd:2b0e+dev:1778 +vnd:2b0e+dev:1700 +vnd:2b0e+dev:182c +vnd:2b0e+dev:1830 +vnd:1004+dev:6263 +vnd:1004+dev:61f1 +vnd:1004+dev:61f9 +vnd:1004+dev:6225 +vnd:1004+dev:621c +vnd:1004+dev:627f +vnd:1004+dev:626e +vnd:1004+dev:611b +vnd:1004+dev:608f +vnd:1004+dev:6132 +vnd:1004+dev:633e +vnd:1004+dev:633f +vnd:1004+dev:62ce +vnd:1004+dev:62c9 +vnd:1004+dev:6259 +vnd:1004+dev:6239 +vnd:1004+dev:623d +vnd:1004+dev:622a +vnd:1004+dev:619a +vnd:043e+dev:7040 +vnd:1004+dev:628a +vnd:043e+dev:70b1 +vnd:1004+dev:631c +vnd:1004+dev:6265 +vnd:1004+dev:6010 +vnd:13d1+dev:7002 +vnd:1c9e+dev:f003 +vnd:2770+dev:9120 +vnd:2ad9+dev:000b +vnd:066f+dev:846c +vnd:29e4+dev:1201 +vnd:0e8d+dev:0050 +vnd:0e8d+dev:201d +vnd:0e8d+dev:200a +vnd:0e8d+dev:2012 +vnd:0e8d+dev:2008 +vnd:0e8d+dev:4001 +vnd:0408+dev:b00a +vnd:17ef+dev:7483 +vnd:05ca+dev:2205 +vnd:066f+dev:8550 +vnd:066f+dev:8588 +vnd:0408+dev:b009 +vnd:17ef+dev:f003 +vnd:17ef+dev:78ae +vnd:1271+dev:2012 +vnd:201e+dev:42ab +vnd:2a45+dev:2008 +vnd:2a45+dev:0c02 +vnd:18d1+dev:d001 +vnd:10d6+dev:2300 +vnd:0db0+dev:5572 +vnd:045e+dev:0640 +vnd:045e+dev:0a00 +vnd:045e+dev:0622 +vnd:045e+dev:04ec +vnd:045e+dev:0710 +vnd:045e+dev:063e +vnd:045e+dev:f0ca +vnd:045e+dev:00c9 +vnd:045e+dev:0641 +vnd:0c45+dev:8008 +vnd:2770+dev:9120 +vnd:2770+dev:9120 +vnd:22b8+dev:60ca +vnd:22b8+dev:7088 +vnd:22b8+dev:64cf +vnd:22b8+dev:2e32 +vnd:22b8+dev:2e33 +vnd:22b8+dev:2e67 +vnd:22b8+dev:2ea5 +vnd:22b8+dev:2e61 +vnd:22b8+dev:2ea8 +vnd:22b8+dev:2e68 +vnd:22b8+dev:41d6 +vnd:22b8+dev:41da +vnd:22b8+dev:42a7 +vnd:22b8+dev:437f +vnd:22b8+dev:4373 +vnd:22b8+dev:4811 +vnd:22b8+dev:2dff +vnd:22b8+dev:41dc +vnd:22b8+dev:70ca +vnd:22b8+dev:2e76 +vnd:22b8+dev:2e82 +vnd:22b8+dev:2e84 +vnd:22b8+dev:2ea4 +vnd:22b8+dev:2e62 +vnd:22b8+dev:2e63 +vnd:22b8+dev:2e66 +vnd:22b8+dev:2e81 +vnd:22b8+dev:6413 +vnd:22b8+dev:64b5 +vnd:22b8+dev:64b6 +vnd:22b8+dev:2e50 +vnd:22b8+dev:2e51 +vnd:22b8+dev:6415 +vnd:22b8+dev:2a65 +vnd:22b8+dev:2e24 +vnd:22b8+dev:70a3 +vnd:22b8+dev:70a8 +vnd:22b8+dev:70a9 +vnd:22b8+dev:4311 +vnd:22b8+dev:4306 +vnd:22b8+dev:41cf +vnd:22b8+dev:2e83 +vnd:22b8+dev:002e +vnd:22b8+dev:710d +vnd:22b8+dev:710e +vnd:22b8+dev:4362 +vnd:3310+dev:0100 +vnd:0aa6+dev:9601 +vnd:0409+dev:0326 +vnd:0409+dev:0432 +vnd:0409+dev:0242 +vnd:1f85+dev:6a12 +vnd:0402+dev:5668 +vnd:2c3f+dev:0001 +vnd:2770+dev:905c +vnd:04b0+dev:0302 +vnd:04b0+dev:0117 +vnd:04b0+dev:0116 +vnd:04b0+dev:0122 +vnd:04b0+dev:0123 +vnd:04b0+dev:0109 +vnd:04b0+dev:0108 +vnd:04b0+dev:0115 +vnd:04b0+dev:0121 +vnd:04b0+dev:0111 +vnd:04b0+dev:0110 +vnd:04b0+dev:011d +vnd:04b0+dev:012d +vnd:04b0+dev:012c +vnd:04b0+dev:0204 +vnd:04b0+dev:010f +vnd:04b0+dev:010e +vnd:04b0+dev:010b +vnd:04b0+dev:0130 +vnd:04b0+dev:0131 +vnd:04b0+dev:0129 +vnd:04b0+dev:0113 +vnd:04b0+dev:0206 +vnd:04b0+dev:0119 +vnd:04b0+dev:012e +vnd:04b0+dev:010d +vnd:04b0+dev:0135 +vnd:04b0+dev:0139 +vnd:04b0+dev:0137 +vnd:04b0+dev:011f +vnd:04b0+dev:0103 +vnd:04b0+dev:0127 +vnd:04b0+dev:0112 +vnd:04b0+dev:0191 +vnd:04b0+dev:0102 +vnd:04b0+dev:0104 +vnd:04b0+dev:0226 +vnd:04b0+dev:019e +vnd:04b0+dev:0188 +vnd:04b0+dev:0194 +vnd:04b0+dev:0198 +vnd:04b0+dev:0362 +vnd:04b0+dev:0231 +vnd:04b0+dev:0208 +vnd:04b0+dev:030b +vnd:04b0+dev:0174 +vnd:04b0+dev:0309 +vnd:04b0+dev:017e +vnd:04b0+dev:015f +vnd:04b0+dev:0185 +vnd:04b0+dev:0315 +vnd:04b0+dev:0318 +vnd:04b0+dev:0317 +vnd:04b0+dev:0324 +vnd:04b0+dev:0343 +vnd:04b0+dev:0361 +vnd:04b0+dev:0305 +vnd:04b0+dev:032f +vnd:04b0+dev:0192 +vnd:04b0+dev:035a +vnd:04b0+dev:0140 +vnd:04b0+dev:017d +vnd:04b0+dev:0232 +vnd:04b0+dev:0142 +vnd:04b0+dev:0221 +vnd:04b0+dev:0227 +vnd:04b0+dev:020c +vnd:04b0+dev:0169 +vnd:04b0+dev:0184 +vnd:04b0+dev:015b +vnd:04b0+dev:0223 +vnd:04b0+dev:0163 +vnd:04b0+dev:0228 +vnd:04b0+dev:0311 +vnd:04b0+dev:016f +vnd:04b0+dev:017f +vnd:04b0+dev:018b +vnd:04b0+dev:0225 +vnd:04b0+dev:0229 +vnd:04b0+dev:016b +vnd:04b0+dev:016c +vnd:04b0+dev:0173 +vnd:04b0+dev:019c +vnd:04b0+dev:0337 +vnd:04b0+dev:0346 +vnd:04b0+dev:014e +vnd:04b0+dev:0161 +vnd:04b0+dev:0177 +vnd:04b0+dev:0178 +vnd:04b0+dev:0321 +vnd:04b0+dev:032d +vnd:04b0+dev:033f +vnd:04b0+dev:035e +vnd:04b0+dev:031b +vnd:04b0+dev:0320 +vnd:04b0+dev:0334 +vnd:04b0+dev:032a +vnd:04b0+dev:0353 +vnd:04b0+dev:035c +vnd:04b0+dev:0144 +vnd:04b0+dev:0329 +vnd:04b0+dev:015d +vnd:04b0+dev:0220 +vnd:04b0+dev:014e +vnd:04b0+dev:0171 +vnd:04b0+dev:021e +vnd:04b0+dev:021c +vnd:04b0+dev:032c +vnd:04b0+dev:0350 +vnd:04b0+dev:0157 +vnd:04b0+dev:021f +vnd:04b0+dev:0222 +vnd:04b0+dev:0186 +vnd:04b0+dev:0193 +vnd:04b0+dev:034b +vnd:04b0+dev:0202 +vnd:04b0+dev:0401 +vnd:04b0+dev:0404 +vnd:04b0+dev:040c +vnd:04b0+dev:0408 +vnd:04b0+dev:041c +vnd:04b0+dev:040a +vnd:04b0+dev:0402 +vnd:04b0+dev:0410 +vnd:04b0+dev:0416 +vnd:04b0+dev:041a +vnd:04b0+dev:0424 +vnd:04b0+dev:0425 +vnd:04b0+dev:0427 +vnd:04b0+dev:042c +vnd:04b0+dev:0433 +vnd:04b0+dev:043d +vnd:04b0+dev:0445 +vnd:04b0+dev:0426 +vnd:04b0+dev:0420 +vnd:04b0+dev:042b +vnd:04b0+dev:0414 +vnd:04b0+dev:0418 +vnd:04b0+dev:0435 +vnd:04b0+dev:043a +vnd:04b0+dev:043c +vnd:04b0+dev:0423 +vnd:04b0+dev:0429 +vnd:04b0+dev:042f +vnd:04b0+dev:0431 +vnd:04b0+dev:0438 +vnd:04b0+dev:043f +vnd:04b0+dev:0447 +vnd:04b0+dev:041e +vnd:04b0+dev:042d +vnd:04b0+dev:0434 +vnd:04b0+dev:0406 +vnd:04b0+dev:0422 +vnd:04b0+dev:0428 +vnd:04b0+dev:040e +vnd:04b0+dev:0430 +vnd:04b0+dev:0439 +vnd:04b0+dev:0437 +vnd:04b0+dev:0440 +vnd:04b0+dev:0446 +vnd:04b0+dev:0412 +vnd:04b0+dev:042a +vnd:04b0+dev:042e +vnd:04b0+dev:0436 +vnd:04b0+dev:043b +vnd:04b0+dev:0441 +vnd:04b0+dev:0421 +vnd:04b0+dev:0432 +vnd:04b0+dev:0602 +vnd:04b0+dev:0603 +vnd:04b0+dev:0605 +vnd:04b0+dev:0609 +vnd:04b0+dev:060b +vnd:04b0+dev:0364 +vnd:04b0+dev:019f +vnd:04b0+dev:036d +vnd:04b0+dev:0606 +vnd:04b0+dev:0608 +vnd:04b0+dev:0601 +vnd:04b0+dev:0604 +vnd:04b0+dev:060a +vnd:04b0+dev:0452 +vnd:04b0+dev:0448 +vnd:04b0+dev:0444 +vnd:04b0+dev:0443 +vnd:04b0+dev:044c +vnd:04b0+dev:0442 +vnd:04b0+dev:044b +vnd:04b0+dev:0451 +vnd:04b0+dev:0450 +vnd:04b0+dev:044f +vnd:057e+dev:201d +vnd:16c0+dev:0489 +vnd:0979+dev:0224 +vnd:0421+dev:02c1 +vnd:0421+dev:0065 +vnd:0421+dev:005f +vnd:0421+dev:0462 +vnd:0421+dev:01ee +vnd:0421+dev:05c0 +vnd:0421+dev:0209 +vnd:0421+dev:04be +vnd:0421+dev:02e2 +vnd:0421+dev:04ba +vnd:0421+dev:006c +vnd:0421+dev:00ea +vnd:0421+dev:047e +vnd:0421+dev:0229 +vnd:0421+dev:04b4 +vnd:0421+dev:0154 +vnd:0421+dev:0155 +vnd:0421+dev:0159 +vnd:2e04+dev:c025 +vnd:2e04+dev:c026 +vnd:2e04+dev:c02a +vnd:0421+dev:002e +vnd:0421+dev:0098 +vnd:0421+dev:008d +vnd:0421+dev:003c +vnd:0421+dev:0297 +vnd:0421+dev:0530 +vnd:0421+dev:05d3 +vnd:0421+dev:0592 +vnd:0421+dev:0595 +vnd:0421+dev:03c1 +vnd:0421+dev:03cd +vnd:0421+dev:01cf +vnd:0421+dev:032f +vnd:0421+dev:0179 +vnd:0421+dev:00e5 +vnd:0421+dev:0334 +vnd:0421+dev:0335 +vnd:0421+dev:00e4 +vnd:0421+dev:01a1 +vnd:0421+dev:0221 +vnd:0421+dev:06fc +vnd:0421+dev:0666 +vnd:0421+dev:0661 +vnd:0421+dev:0524 +vnd:0421+dev:0488 +vnd:0421+dev:04d1 +vnd:0421+dev:04e1 +vnd:0421+dev:0079 +vnd:0421+dev:0186 +vnd:0421+dev:02fe +vnd:0421+dev:0302 +vnd:0421+dev:04f1 +vnd:0421+dev:000a +vnd:0421+dev:0074 +vnd:0421+dev:0092 +vnd:0421+dev:051a +vnd:0421+dev:0485 +vnd:0421+dev:0478 +vnd:0421+dev:04e5 +vnd:0421+dev:04ef +vnd:0421+dev:006e +vnd:0421+dev:03d2 +vnd:0421+dev:0039 +vnd:0421+dev:01f5 +vnd:0421+dev:026b +vnd:0421+dev:01f4 +vnd:0421+dev:0708 +vnd:0421+dev:0274 +vnd:0421+dev:06e8 +vnd:18d1+dev:685c +vnd:1703+dev:0001 +vnd:1703+dev:0002 +vnd:1e0a+dev:1001 +vnd:0955+dev:70a9 +vnd:0955+dev:7721 +vnd:0955+dev:b401 +vnd:0955+dev:b400 +vnd:0955+dev:b42a +vnd:0955+dev:cf07 +vnd:0955+dev:cf05 +vnd:0955+dev:cf02 +vnd:0955+dev:7100 +vnd:0955+dev:7102 +vnd:0746+dev:a003 +vnd:1e53+dev:0006 +vnd:2833+dev:0183 +vnd:2833+dev:0182 +vnd:07b4+dev:0105 +vnd:07b4+dev:0100 +vnd:07b4+dev:0100 +vnd:07b4+dev:0105 +vnd:07b4+dev:0100 +vnd:07b4+dev:0105 +vnd:07b4+dev:0114 +vnd:07b4+dev:0114 +vnd:07b4+dev:0109 +vnd:07b4+dev:0105 +vnd:07b4+dev:0105 +vnd:07b4+dev:0114 +vnd:07b4+dev:0114 +vnd:07b4+dev:0105 +vnd:07b4+dev:0105 +vnd:07b4+dev:0105 +vnd:07b4+dev:0109 +vnd:07b4+dev:0114 +vnd:07b4+dev:0114 +vnd:07b4+dev:0110 +vnd:07b4+dev:0130 +vnd:07b4+dev:0130 +vnd:07b4+dev:0135 +vnd:07b4+dev:012f +vnd:07b4+dev:0130 +vnd:07b4+dev:012f +vnd:07b4+dev:0109 +vnd:07b4+dev:0116 +vnd:07b4+dev:0114 +vnd:07b4+dev:0113 +vnd:07b4+dev:0136 +vnd:07b4+dev:0109 +vnd:07b4+dev:012f +vnd:07b4+dev:0125 +vnd:07b4+dev:0116 +vnd:07b4+dev:0114 +vnd:07b4+dev:0114 +vnd:07b4+dev:0109 +vnd:07b4+dev:0116 +vnd:07b4+dev:0116 +vnd:2a70+dev:9011 +vnd:2a70+dev:f003 +vnd:05c6+dev:f000 +vnd:2a70+dev:9012 +vnd:2207+dev:000c +vnd:2207+dev:000d +vnd:2207+dev:0014 +vnd:2207+dev:0015 +vnd:22d9+dev:2764 +vnd:22d9+dev:2765 +vnd:22d9+dev:2774 +vnd:22d9+dev:2773 +vnd:2836+dev:0010 +vnd:04da+dev:2382 +vnd:04da+dev:2374 +vnd:04da+dev:2374 +vnd:04da+dev:2374 +vnd:04da+dev:2374 +vnd:04da+dev:2374 +vnd:04da+dev:2374 +vnd:04da+dev:2374 +vnd:04da+dev:2374 +vnd:04da+dev:2374 +vnd:04da+dev:2374 +vnd:04da+dev:2374 +vnd:04da+dev:2374 +vnd:04da+dev:2374 +vnd:04da+dev:2145 +vnd:04da+dev:2158 +vnd:106c+dev:f003 +vnd:19cf+dev:5038 +vnd:19cf+dev:5039 +vnd:1d4d+dev:5036 +vnd:1d4d+dev:5035 +vnd:1d4d+dev:504a +vnd:25fb+dev:0130 +vnd:25fb+dev:0178 +vnd:25fb+dev:0179 +vnd:0a17+dev:0070 +vnd:0a17+dev:00a1 +vnd:0a17+dev:006e +vnd:25fb+dev:0183 +vnd:0a17+dev:0093 +vnd:0a17+dev:0091 +vnd:25fb+dev:0164 +vnd:25fb+dev:0165 +vnd:25fb+dev:017b +vnd:25fb+dev:0132 +vnd:25fb+dev:017a +vnd:25fb+dev:0189 +vnd:25fb+dev:0160 +vnd:25fb+dev:0102 +vnd:25fb+dev:0148 +vnd:25fb+dev:014a +vnd:25fb+dev:017c +vnd:25fb+dev:017d +vnd:25fb+dev:017e +vnd:25fb+dev:017f +vnd:0a17+dev:0009 +vnd:0a17+dev:000d +vnd:0a17+dev:0007 +vnd:0a17+dev:00f7 +vnd:0aa6+dev:9702 +vnd:0471+dev:207c +vnd:0471+dev:20b9 +vnd:0471+dev:2138 +vnd:0471+dev:0165 +vnd:0471+dev:2077 +vnd:0471+dev:208e +vnd:0471+dev:2004 +vnd:0471+dev:0857 +vnd:0471+dev:084e +vnd:0471+dev:2002 +vnd:0471+dev:014f +vnd:0471+dev:2075 +vnd:0471+dev:207b +vnd:0471+dev:20b7 +vnd:0471+dev:20e5 +vnd:0471+dev:014d +vnd:0471+dev:014c +vnd:0471+dev:01eb +vnd:0471+dev:014b +vnd:0471+dev:190b +vnd:093a+dev:010e +vnd:0471+dev:2190 +vnd:0471+dev:7e01 +vnd:0471+dev:0181 +vnd:0471+dev:0164 +vnd:0471+dev:2022 +vnd:0471+dev:0172 +vnd:0471+dev:2008 +vnd:08e4+dev:0142 +vnd:0746+dev:a023 +vnd:08e4+dev:0148 +vnd:093a+dev:010e +vnd:2770+dev:905c +vnd:18dd+dev:1000 +vnd:2770+dev:9120 +vnd:0546+dev:2035 +vnd:0546+dev:0daf +vnd:2770+dev:905c +vnd:2770+dev:9120 +vnd:093a+dev:010f +vnd:29e4+dev:3201 +vnd:29e4+dev:1203 +vnd:29e4+dev:1103 +vnd:29e4+dev:b003 +vnd:29e4+dev:b001 +vnd:46f4+dev:0004 +vnd:0e8d+dev:2026 +vnd:05c6+dev:8800 +vnd:05c6+dev:0229 +vnd:05c6+dev:3196 +vnd:05c6+dev:6764 +vnd:05c6+dev:6765 +vnd:05c6+dev:f003 +vnd:05c6+dev:9039 +vnd:05c6+dev:9025 +vnd:05c6+dev:901b +vnd:22d9+dev:202a +vnd:2523+dev:d209 +vnd:2523+dev:d109 +vnd:2717+dev:1260 +vnd:2717+dev:1268 +vnd:2770+dev:9120 +vnd:05ca+dev:220b +vnd:05ca+dev:2203 +vnd:05ca+dev:2204 +vnd:05ca+dev:2208 +vnd:05ca+dev:220c +vnd:05ca+dev:0325 +vnd:05ca+dev:2214 +vnd:05ca+dev:032d +vnd:05ca+dev:220d +vnd:05ca+dev:2212 +vnd:05ca+dev:032b +vnd:05ca+dev:2213 +vnd:05ca+dev:2216 +vnd:05ca+dev:032f +vnd:05ca+dev:2217 +vnd:05ca+dev:221a +vnd:05ca+dev:0110 +vnd:05ca+dev:2202 +vnd:05ca+dev:033d +vnd:05ca+dev:220d +vnd:25fb+dev:25fb +vnd:05ca+dev:0365 +vnd:05ca+dev:0366 +vnd:05ca+dev:0367 +vnd:05ca+dev:0368 +vnd:05ca+dev:0368 +vnd:05ca+dev:036d +vnd:05ca+dev:036d +vnd:25fb+dev:210b +vnd:0fca+dev:8007 +vnd:05ca+dev:220f +vnd:05ca+dev:220f +vnd:2770+dev:913d +vnd:2770+dev:913d +vnd:2770+dev:913d +vnd:0979+dev:0227 +vnd:0c45+dev:8003 +vnd:0c45+dev:8003 +vnd:0c45+dev:8003 +vnd:093a+dev:010e +vnd:093a+dev:010f +vnd:0979+dev:0227 +vnd:0979+dev:0227 +vnd:2770+dev:9120 +vnd:0979+dev:0227 +vnd:2770+dev:905c +vnd:0979+dev:0227 +vnd:093a+dev:010f +vnd:0979+dev:0227 +vnd:0979+dev:0227 +vnd:0979+dev:0227 +vnd:0979+dev:0227 +vnd:0979+dev:0227 +vnd:0979+dev:0227 +vnd:04e8+dev:6866 +vnd:04e8+dev:6727 +vnd:04e8+dev:6860 +vnd:04e8+dev:685c +vnd:04e8+dev:6877 +vnd:04e8+dev:6752 +vnd:04e8+dev:68af +vnd:04e8+dev:e20c +vnd:04e8+dev:6819 +vnd:04e8+dev:04a4 +vnd:04e8+dev:4f1f +vnd:04e8+dev:6734 +vnd:04e8+dev:6642 +vnd:04e8+dev:140c +vnd:04e8+dev:1384 +vnd:04e8+dev:684a +vnd:04e8+dev:6763 +vnd:04e8+dev:6709 +vnd:04e8+dev:68a9 +vnd:04e8+dev:6702 +vnd:04e8+dev:502e +vnd:04e8+dev:501d +vnd:04e8+dev:5022 +vnd:04e8+dev:502f +vnd:04e8+dev:5024 +vnd:04e8+dev:5a0f +vnd:04e8+dev:5033 +vnd:04e8+dev:0409 +vnd:04e8+dev:5057 +vnd:04e8+dev:5081 +vnd:04e8+dev:505a +vnd:04e8+dev:5118 +vnd:04e8+dev:5083 +vnd:04e8+dev:511a +vnd:04e8+dev:5115 +vnd:04e8+dev:511d +vnd:04e8+dev:5130 +vnd:04e8+dev:5125 +vnd:04e8+dev:510f +vnd:04e8+dev:512e +vnd:04e8+dev:5091 +vnd:04e8+dev:508b +vnd:04e8+dev:508a +vnd:04e8+dev:5047 +vnd:04e8+dev:507f +vnd:04e8+dev:5054 +vnd:04e8+dev:507d +vnd:04e8+dev:5093 +vnd:04e8+dev:5121 +vnd:04e8+dev:5137 +vnd:04e8+dev:503c +vnd:0781+dev:7410 +vnd:0781+dev:7450 +vnd:0781+dev:7452 +vnd:0781+dev:7432 +vnd:0781+dev:7434 +vnd:0781+dev:74e4 +vnd:0781+dev:74d0 +vnd:0781+dev:7480 +vnd:0781+dev:7420 +vnd:0781+dev:7422 +vnd:0781+dev:7460 +vnd:0781+dev:74c0 +vnd:0781+dev:74c2 +vnd:0781+dev:74e0 +vnd:0781+dev:7401 +vnd:0781+dev:7400 +vnd:0781+dev:7430 +vnd:0781+dev:74b0 +vnd:0474+dev:0230 +vnd:0474+dev:02e5 +vnd:05ca+dev:0353 +vnd:05ca+dev:220e +vnd:05ca+dev:0327 +vnd:2770+dev:9120 +vnd:2770+dev:9120 +vnd:2770+dev:9120 +vnd:04dd+dev:9c90 +vnd:04dd+dev:9d6e +vnd:04dd+dev:9661 +vnd:04dd+dev:96ca +vnd:0489+dev:c025 +vnd:04dd+dev:99d2 +vnd:3360+dev:2008 +vnd:093a+dev:010e +vnd:1003+dev:c432 +vnd:1003+dev:c442 +vnd:066f+dev:a010 +vnd:18f6+dev:0102 +vnd:18f6+dev:0110 +vnd:1bdc+dev:fabf +vnd:054c+dev:0e78 +vnd:054c+dev:074e +vnd:054c+dev:07c6 +vnd:054c+dev:0957 +vnd:054c+dev:08e7 +vnd:054c+dev:094e +vnd:054c+dev:08b7 +vnd:054c+dev:0d13 +vnd:054c+dev:0d14 +vnd:054c+dev:079c +vnd:054c+dev:077a +vnd:054c+dev:0784 +vnd:054c+dev:07a4 +vnd:054c+dev:0d0f +vnd:054c+dev:0d10 +vnd:054c+dev:079b +vnd:054c+dev:0779 +vnd:054c+dev:094c +vnd:054c+dev:0c03 +vnd:054c+dev:0c34 +vnd:054c+dev:0da6 +vnd:054c+dev:0da7 +vnd:054c+dev:0953 +vnd:054c+dev:096f +vnd:054c+dev:094d +vnd:054c+dev:0a6b +vnd:054c+dev:0c00 +vnd:054c+dev:0c33 +vnd:054c+dev:0954 +vnd:054c+dev:08e2 +vnd:054c+dev:0a71 +vnd:054c+dev:0c2a +vnd:054c+dev:079e +vnd:054c+dev:0c2f +vnd:054c+dev:0a70 +vnd:054c+dev:1294 +vnd:054c+dev:0ca6 +vnd:054c+dev:02c0 +vnd:054c+dev:0ccc +vnd:054c+dev:0d18 +vnd:054c+dev:0d17 +vnd:054c+dev:02e7 +vnd:054c+dev:004e +vnd:054c+dev:004e +vnd:054c+dev:004e +vnd:054c+dev:004e +vnd:054c+dev:004e +vnd:054c+dev:004e +vnd:054c+dev:0543 +vnd:054c+dev:061f +vnd:054c+dev:061c +vnd:054c+dev:06ee +vnd:054c+dev:08ac +vnd:054c+dev:0491 +vnd:054c+dev:08ad +vnd:054c+dev:0780 +vnd:054c+dev:09e8 +vnd:054c+dev:004e +vnd:054c+dev:004e +vnd:054c+dev:004e +vnd:054c+dev:004e +vnd:054c+dev:004e +vnd:054c+dev:004e +vnd:054c+dev:004e +vnd:054c+dev:004e +vnd:054c+dev:004e +vnd:054c+dev:004e +vnd:054c+dev:004e +vnd:054c+dev:004e +vnd:054c+dev:004e +vnd:054c+dev:004e +vnd:054c+dev:004e +vnd:054c+dev:004e +vnd:054c+dev:004e +vnd:054c+dev:004e +vnd:054c+dev:004e +vnd:054c+dev:0a77 +vnd:054c+dev:004e +vnd:054c+dev:0bfd +vnd:054c+dev:0c32 +vnd:054c+dev:052b +vnd:054c+dev:052a +vnd:054c+dev:074b +vnd:054c+dev:0a6d +vnd:054c+dev:07a3 +vnd:054c+dev:0cb1 +vnd:054c+dev:0cb2 +vnd:054c+dev:0830 +vnd:054c+dev:0c38 +vnd:054c+dev:0cae +vnd:054c+dev:07a3 +vnd:054c+dev:079d +vnd:054c+dev:004e +vnd:054c+dev:004e +vnd:054c+dev:0296 +vnd:054c+dev:004e +vnd:054c+dev:0296 +vnd:054c+dev:004e +vnd:054c+dev:004e +vnd:054c+dev:004e +vnd:054c+dev:004e +vnd:054c+dev:004e +vnd:054c+dev:004e +vnd:054c+dev:004e +vnd:054c+dev:004e +vnd:054c+dev:004e +vnd:054c+dev:0343 +vnd:054c+dev:02f8 +vnd:054c+dev:004e +vnd:054c+dev:053c +vnd:054c+dev:004e +vnd:054c+dev:08d7 +vnd:054c+dev:08b0 +vnd:054c+dev:0603 +vnd:054c+dev:05f7 +vnd:054c+dev:0d1c +vnd:054c+dev:0caa +vnd:054c+dev:0d2b +vnd:054c+dev:0a6a +vnd:054c+dev:09e7 +vnd:054c+dev:0d9b +vnd:054c+dev:0d9f +vnd:054c+dev:0e0c +vnd:054c+dev:0da3 +vnd:0fce+dev:5175 +vnd:0fce+dev:a175 +vnd:0fce+dev:b175 +vnd:0fce+dev:0172 +vnd:0fce+dev:5172 +vnd:0fce+dev:4172 +vnd:0fce+dev:0186 +vnd:0fce+dev:5186 +vnd:0fce+dev:4186 +vnd:0fce+dev:0169 +vnd:0fce+dev:5169 +vnd:0fce+dev:4169 +vnd:0fce+dev:0175 +vnd:0fce+dev:4175 +vnd:0fce+dev:0176 +vnd:0fce+dev:4176 +vnd:0fce+dev:0177 +vnd:0fce+dev:5177 +vnd:0fce+dev:4177 +vnd:0fce+dev:a177 +vnd:0fce+dev:b177 +vnd:0fce+dev:0178 +vnd:0fce+dev:5178 +vnd:0fce+dev:4178 +vnd:0fce+dev:0182 +vnd:0fce+dev:5182 +vnd:0fce+dev:4182 +vnd:0fce+dev:0173 +vnd:0fce+dev:5173 +vnd:0fce+dev:4173 +vnd:0fce+dev:a173 +vnd:0fce+dev:b173 +vnd:054c+dev:004e +vnd:054c+dev:004e +vnd:054c+dev:072f +vnd:054c+dev:066f +vnd:054c+dev:0678 +vnd:054c+dev:057d +vnd:054c+dev:04a5 +vnd:054c+dev:0d00 +vnd:054c+dev:0e6e +vnd:054c+dev:0c71 +vnd:054c+dev:0d01 +vnd:054c+dev:035c +vnd:054c+dev:0325 +vnd:054c+dev:035b +vnd:054c+dev:0404 +vnd:054c+dev:036e +vnd:054c+dev:03d8 +vnd:054c+dev:04be +vnd:054c+dev:059a +vnd:054c+dev:0689 +vnd:054c+dev:03fc +vnd:054c+dev:04cb +vnd:054c+dev:0882 +vnd:054c+dev:0385 +vnd:054c+dev:03fd +vnd:054c+dev:05a6 +vnd:054c+dev:06a9 +vnd:054c+dev:0326 +vnd:054c+dev:03fe +vnd:054c+dev:0327 +vnd:054c+dev:038e +vnd:054c+dev:035a +vnd:054c+dev:038c +vnd:054c+dev:04cc +vnd:054c+dev:05a8 +vnd:054c+dev:0388 +vnd:054c+dev:04bb +vnd:054c+dev:0397 +vnd:054c+dev:0398 +vnd:054c+dev:004e +vnd:054c+dev:08e3 +vnd:054c+dev:04a7 +vnd:054c+dev:0321 +vnd:054c+dev:0669 +vnd:054c+dev:04a3 +vnd:054c+dev:0669 +vnd:054c+dev:0736 +vnd:054c+dev:0737 +vnd:054c+dev:0574 +vnd:054c+dev:0577 +vnd:054c+dev:0675 +vnd:0fce+dev:5176 +vnd:0fce+dev:a176 +vnd:0fce+dev:b176 +vnd:0fce+dev:0181 +vnd:0fce+dev:5181 +vnd:0fce+dev:4181 +vnd:054c+dev:04d1 +vnd:054c+dev:05b3 +vnd:054c+dev:05b4 +vnd:0fce+dev:0171 +vnd:0fce+dev:0170 +vnd:0fce+dev:5170 +vnd:0fce+dev:4170 +vnd:0fce+dev:0180 +vnd:0fce+dev:5180 +vnd:0fce+dev:4180 +vnd:0fce+dev:5171 +vnd:0fce+dev:4171 +vnd:0fce+dev:017e +vnd:0fce+dev:517e +vnd:0fce+dev:417e +vnd:0fce+dev:a17e +vnd:0fce+dev:b17e +vnd:054c+dev:0a79 +vnd:0fce+dev:016d +vnd:0fce+dev:0205 +vnd:0fce+dev:5205 +vnd:0fce+dev:4205 +vnd:0fce+dev:0201 +vnd:0fce+dev:5201 +vnd:0fce+dev:4201 +vnd:0fce+dev:020a +vnd:0fce+dev:020d +vnd:0fce+dev:520d +vnd:0fce+dev:420d +vnd:0fce+dev:520a +vnd:0fce+dev:420a +vnd:0fce+dev:0198 +vnd:0fce+dev:5198 +vnd:0fce+dev:01a3 +vnd:0fce+dev:51a3 +vnd:0fce+dev:41a3 +vnd:0fce+dev:01d2 +vnd:0fce+dev:51d2 +vnd:0fce+dev:41d2 +vnd:0fce+dev:018c +vnd:0fce+dev:518c +vnd:0fce+dev:418c +vnd:0fce+dev:01b5 +vnd:0fce+dev:51b5 +vnd:0fce+dev:41b5 +vnd:0fce+dev:01bc +vnd:0fce+dev:51bc +vnd:0fce+dev:41bc +vnd:0fce+dev:01c5 +vnd:0fce+dev:51c5 +vnd:0fce+dev:41c5 +vnd:0fce+dev:01cb +vnd:0fce+dev:51cb +vnd:0fce+dev:41cb +vnd:0fce+dev:0188 +vnd:0fce+dev:5188 +vnd:0fce+dev:4188 +vnd:0fce+dev:0192 +vnd:0fce+dev:5192 +vnd:0fce+dev:4192 +vnd:0fce+dev:01f6 +vnd:0fce+dev:51f6 +vnd:0fce+dev:41f6 +vnd:0fce+dev:0207 +vnd:0fce+dev:5207 +vnd:0fce+dev:4207 +vnd:0fce+dev:019b +vnd:0fce+dev:519b +vnd:0fce+dev:419b +vnd:0fce+dev:01b8 +vnd:0fce+dev:51b8 +vnd:0fce+dev:41b8 +vnd:0fce+dev:01ab +vnd:0fce+dev:51ab +vnd:0fce+dev:41ab +vnd:0fce+dev:01aa +vnd:0fce+dev:51aa +vnd:0fce+dev:41aa +vnd:0fce+dev:01c4 +vnd:0fce+dev:51c4 +vnd:0fce+dev:41c4 +vnd:0fce+dev:01d6 +vnd:0fce+dev:51d6 +vnd:0fce+dev:41d6 +vnd:0fce+dev:01e1 +vnd:0fce+dev:51e1 +vnd:0fce+dev:41e1 +vnd:0fce+dev:0195 +vnd:0fce+dev:5195 +vnd:0fce+dev:4195 +vnd:0fce+dev:01a9 +vnd:0fce+dev:51a9 +vnd:0fce+dev:41a9 +vnd:054c+dev:06ac +vnd:0fce+dev:018d +vnd:0fce+dev:0194 +vnd:0fce+dev:518d +vnd:0fce+dev:5194 +vnd:0fce+dev:418d +vnd:0fce+dev:4194 +vnd:0fce+dev:01e8 +vnd:0fce+dev:51e8 +vnd:0fce+dev:41e8 +vnd:0fce+dev:01e0 +vnd:0fce+dev:51e0 +vnd:0fce+dev:41e0 +vnd:0fce+dev:01de +vnd:0fce+dev:51de +vnd:0fce+dev:41de +vnd:0fce+dev:01eb +vnd:0fce+dev:51eb +vnd:0fce+dev:41eb +vnd:0fce+dev:01ef +vnd:0fce+dev:51ef +vnd:0fce+dev:41ef +vnd:0fce+dev:0a07 +vnd:0fce+dev:01f7 +vnd:0fce+dev:51f7 +vnd:0fce+dev:41f7 +vnd:0fce+dev:01f8 +vnd:0fce+dev:51f8 +vnd:0fce+dev:41f8 +vnd:0fce+dev:01ed +vnd:0fce+dev:51ed +vnd:0fce+dev:41ed +vnd:0fce+dev:01e7 +vnd:0fce+dev:51e7 +vnd:0fce+dev:41e7 +vnd:0fce+dev:01f1 +vnd:0fce+dev:51f1 +vnd:0fce+dev:41f1 +vnd:0fce+dev:01f3 +vnd:0fce+dev:51f3 +vnd:0fce+dev:01f4 +vnd:0fce+dev:51f4 +vnd:0fce+dev:41f4 +vnd:0fce+dev:41f3 +vnd:0fce+dev:01fa +vnd:0fce+dev:51fa +vnd:0fce+dev:41fa +vnd:0fce+dev:01f9 +vnd:0fce+dev:51f9 +vnd:0fce+dev:41f9 +vnd:0fce+dev:01fb +vnd:0fce+dev:51fb +vnd:0fce+dev:41fb +vnd:0fce+dev:01ff +vnd:0fce+dev:51ff +vnd:0fce+dev:41ff +vnd:0fce+dev:0193 +vnd:0fce+dev:5193 +vnd:0fce+dev:4193 +vnd:0fce+dev:01b6 +vnd:0fce+dev:0196 +vnd:0fce+dev:019c +vnd:0fce+dev:51b6 +vnd:0fce+dev:5196 +vnd:0fce+dev:519c +vnd:0fce+dev:41b6 +vnd:0fce+dev:419c +vnd:0fce+dev:01a7 +vnd:0fce+dev:41a7 +vnd:0fce+dev:51a7 +vnd:0fce+dev:019e +vnd:0fce+dev:519e +vnd:0fce+dev:419e +vnd:0fce+dev:01af +vnd:0fce+dev:51af +vnd:0fce+dev:41af +vnd:0fce+dev:01b1 +vnd:0fce+dev:51b1 +vnd:0fce+dev:41b1 +vnd:0fce+dev:01bb +vnd:0fce+dev:51bb +vnd:0fce+dev:41bb +vnd:0fce+dev:01ba +vnd:0fce+dev:51ba +vnd:0fce+dev:41ba +vnd:0fce+dev:01c0 +vnd:0fce+dev:51c0 +vnd:0fce+dev:41c0 +vnd:0fce+dev:01c9 +vnd:0fce+dev:51c9 +vnd:0fce+dev:41c9 +vnd:0fce+dev:01b0 +vnd:0fce+dev:51b0 +vnd:0fce+dev:41b0 +vnd:0fce+dev:01da +vnd:0fce+dev:51da +vnd:0fce+dev:41da +vnd:0fce+dev:01d9 +vnd:0fce+dev:51d9 +vnd:0fce+dev:41d9 +vnd:0fce+dev:01db +vnd:0fce+dev:51db +vnd:0fce+dev:41db +vnd:0fce+dev:0189 +vnd:0fce+dev:5189 +vnd:0fce+dev:4189 +vnd:0fce+dev:0197 +vnd:0fce+dev:5197 +vnd:054c+dev:0c1b +vnd:054c+dev:0c44 +vnd:054c+dev:0d97 +vnd:054c+dev:0de3 +vnd:0fce+dev:00d9 +vnd:0fce+dev:00d4 +vnd:0fce+dev:00ef +vnd:0fce+dev:0157 +vnd:0fce+dev:5157 +vnd:0fce+dev:4157 +vnd:0fce+dev:014e +vnd:0fce+dev:d144 +vnd:0fce+dev:0144 +vnd:0fce+dev:e000 +vnd:0fce+dev:0075 +vnd:0fce+dev:514f +vnd:0fce+dev:014f +vnd:0fce+dev:015a +vnd:0fce+dev:515a +vnd:0fce+dev:0156 +vnd:0fce+dev:5156 +vnd:0fce+dev:015d +vnd:0fce+dev:515d +vnd:0fce+dev:0166 +vnd:0fce+dev:5166 +vnd:0fce+dev:0167 +vnd:0fce+dev:5167 +vnd:0fce+dev:0168 +vnd:0fce+dev:5168 +vnd:0fce+dev:4168 +vnd:0fce+dev:0161 +vnd:0fce+dev:5161 +vnd:0fce+dev:00fb +vnd:0fce+dev:0133 +vnd:0fce+dev:013a +vnd:0fce+dev:10c8 +vnd:0fce+dev:00f3 +vnd:0fce+dev:0105 +vnd:0fce+dev:00c6 +vnd:0fce+dev:00b3 +vnd:0fce+dev:00f5 +vnd:0fce+dev:0076 +vnd:0fce+dev:00da +vnd:0fce+dev:0112 +vnd:0fce+dev:516d +vnd:0fce+dev:0146 +vnd:0fce+dev:5146 +vnd:2770+dev:905c +vnd:1782+dev:4001 +vnd:1782+dev:4002 +vnd:1782+dev:4003 +vnd:2770+dev:9120 +vnd:1403+dev:0001 +vnd:2770+dev:905c +vnd:2207+dev:0031 +vnd:2770+dev:913d +vnd:2770+dev:9120 +vnd:0451+dev:d108 +vnd:13d1+dev:7017 +vnd:2367+dev:0102 +vnd:0aa6+dev:3011 +vnd:069b+dev:3035 +vnd:069b+dev:0777 +vnd:069b+dev:0774 +vnd:069b+dev:077c +vnd:069b+dev:301a +vnd:069b+dev:3028 +vnd:4173+dev:8000 +vnd:1f85+dev:6056 +vnd:1390+dev:5455 +vnd:11db+dev:1000 +vnd:0930+dev:0960 +vnd:0930+dev:0963 +vnd:0930+dev:000c +vnd:0930+dev:0009 +vnd:0930+dev:001d +vnd:0930+dev:001a +vnd:0930+dev:0018 +vnd:0930+dev:0011 +vnd:0930+dev:000f +vnd:0930+dev:0010 +vnd:0930+dev:0019 +vnd:0930+dev:0016 +vnd:0930+dev:0014 +vnd:1132+dev:4332 +vnd:1132+dev:4335 +vnd:1132+dev:4334 +vnd:0930+dev:7100 +vnd:2357+dev:0314 +vnd:2357+dev:031a +vnd:2357+dev:033c +vnd:2357+dev:0328 +vnd:2357+dev:0320 +vnd:2357+dev:038c +vnd:0168+dev:3011 +vnd:1e68+dev:0002 +vnd:0402+dev:0611 +vnd:1e68+dev:1045 +vnd:066f+dev:842a +vnd:08ca+dev:0110 +vnd:2207+dev:000b +vnd:2207+dev:0001 +vnd:2207+dev:0011 +vnd:10a9+dev:1105 +vnd:0408+dev:3899 +vnd:2770+dev:9120 +vnd:2770+dev:9120 +vnd:0979+dev:0227 +vnd:093a+dev:010e +vnd:093a+dev:010f +vnd:0c45+dev:800a +vnd:2770+dev:905c +vnd:2d95+dev:6002 +vnd:2d95+dev:6003 +vnd:0e8d+dev:ff00 +vnd:0f88+dev:0684 +vnd:0531+dev:2001 +vnd:0c45+dev:8001 +vnd:2970+dev:201d +vnd:2970+dev:2281 +vnd:2970+dev:2282 +vnd:1e53+dev:0007 +vnd:2717+dev:1360 +vnd:2717+dev:1368 +vnd:2717+dev:1248 +vnd:2717+dev:1240 +vnd:0a9d+dev:ff40 +vnd:2717+dev:f003 +vnd:2717+dev:9039 +vnd:2717+dev:ff40 +vnd:2717+dev:ff48 +vnd:2717+dev:0368 +vnd:2717+dev:0360 +vnd:2717+dev:0660 +vnd:2717+dev:0668 +vnd:2717+dev:ff60 +vnd:2717+dev:ff68 +vnd:2207+dev:0006 +vnd:2916+dev:9139 +vnd:2916+dev:914d +vnd:2916+dev:f003 +vnd:2916+dev:9039 +vnd:1ebf+dev:7f29 +vnd:041e+dev:6000 +vnd:2770+dev:905c +vnd:19d2+dev:2008 +vnd:19d2+dev:0343 +vnd:19d2+dev:ffce +vnd:19d2+dev:0244 +vnd:19d2+dev:0245 +vnd:19d2+dev:0306 +vnd:19d2+dev:0307 +vnd:19d2+dev:0383 +vnd:19d2+dev:ffcf +vnd:2b4c+dev:1004 +vnd:2b4c+dev:1005 +vnd:2b4c+dev:101a +vnd:2b4c+dev:1013 diff --git a/tests/test-context.c b/tests/test-context.c index cc1a5c04..e70e1a17 100644 --- a/tests/test-context.c +++ b/tests/test-context.c @@ -501,6 +501,44 @@ test_validate_path_meta (void) } +static void +test_usb_list (void) +{ + const char *gtest_srcdir = NULL; + g_autofree char *test_file_path = NULL; + g_autofree char *content = NULL; + g_autofree char *list = NULL; + gboolean ret = FALSE; + g_autoptr(GError) error = NULL; + g_autoptr(GHashTable) enumerable = g_hash_table_new_full (g_str_hash, g_str_equal, + g_free, (GDestroyNotify) flatpak_usb_query_free); + g_autoptr(GHashTable) hidden = g_hash_table_new_full (g_str_hash, g_str_equal, + g_free, (GDestroyNotify) flatpak_usb_query_free); + + gtest_srcdir = g_getenv ("G_TEST_SRCDIR"); + g_assert (gtest_srcdir); + test_file_path = g_build_filename (gtest_srcdir, "gphoto2-list", NULL); + + ret = g_file_get_contents (test_file_path, &content, NULL, &error); + g_assert (ret); + + ret = flatpak_usb_parse_usb_list (content, enumerable, hidden, &error); + + g_assert (ret); + g_assert_no_error (error); + g_assert_cmpint (g_hash_table_size (hidden), ==, 4); + g_assert_cmpint (g_hash_table_size (enumerable), ==, 2344); + + list = flatpak_context_devices_to_usb_list (hidden, TRUE); + g_assert_cmpstr (list, ==, "!vnd:0502+dev:33c3;!vnd:4102+dev:1213;!vnd:0502+dev:365e;!vnd:0502+dev:387a;"); + + g_hash_table_remove_all (enumerable); + g_hash_table_remove_all (hidden); + ret = flatpak_usb_parse_usb_list (list, enumerable, hidden, &error); + g_assert_cmpint (g_hash_table_size (hidden), ==, 4); + g_assert_cmpint (g_hash_table_size (enumerable), ==, 0); +} + static void test_usb_rules_all (void) { @@ -867,6 +905,7 @@ main (int argc, char *argv[]) g_test_add_func ("/context/validate-path-args", test_validate_path_args); g_test_add_func ("/context/validate-path-meta", test_validate_path_meta); + g_test_add_func ("/context/usb-list", test_usb_list); g_test_add_func ("/context/usb-rules/all", test_usb_rules_all); g_test_add_func ("/context/usb-rules/cls", test_usb_rules_cls); g_test_add_func ("/context/usb-rules/dev", test_usb_rules_dev);