diff --git a/components/bt/host/nimble/nimble b/components/bt/host/nimble/nimble index 50c2641a04e3..6e423e457b18 160000 --- a/components/bt/host/nimble/nimble +++ b/components/bt/host/nimble/nimble @@ -1 +1 @@ -Subproject commit 50c2641a04e356fdac9c53fae56f5004f26605e0 +Subproject commit 6e423e457b183bf0b845fae23279c84f0e822ef3 diff --git a/examples/bluetooth/nimble/ble_cts/cts_cent/main/main.c b/examples/bluetooth/nimble/ble_cts/cts_cent/main/main.c index d7bb9f9c4471..41bc0899c67b 100644 --- a/examples/bluetooth/nimble/ble_cts/cts_cent/main/main.c +++ b/examples/bluetooth/nimble/ble_cts/cts_cent/main/main.c @@ -373,7 +373,7 @@ ble_cts_cent_gap_event(struct ble_gap_event *event, void *arg) ble_cts_cent_connect_if_interesting(&event->disc); return 0; - case BLE_GAP_EVENT_CONNECT: + case BLE_GAP_EVENT_LINK_ESTAB: /* A new connection was established or a connection attempt failed. */ if (event->connect.status == 0) { /* Connection successfully established. */ diff --git a/examples/bluetooth/nimble/ble_cts/cts_prph/main/main.c b/examples/bluetooth/nimble/ble_cts/cts_prph/main/main.c index 53bb6897bc6a..53f81200ce94 100644 --- a/examples/bluetooth/nimble/ble_cts/cts_prph/main/main.c +++ b/examples/bluetooth/nimble/ble_cts/cts_prph/main/main.c @@ -178,7 +178,7 @@ static int ble_cts_prph_gap_event(struct ble_gap_event *event, void *arg) { switch (event->type) { - case BLE_GAP_EVENT_CONNECT: + case BLE_GAP_EVENT_LINK_ESTAB: /* A new connection was established or a connection attempt failed */ MODLOG_DFLT(INFO, "connection %s; status=%d\n", event->connect.status == 0 ? "established" : "failed", diff --git a/examples/bluetooth/nimble/ble_dynamic_service/main/main.c b/examples/bluetooth/nimble/ble_dynamic_service/main/main.c index b7c915e0695c..d4a736569889 100644 --- a/examples/bluetooth/nimble/ble_dynamic_service/main/main.c +++ b/examples/bluetooth/nimble/ble_dynamic_service/main/main.c @@ -136,7 +136,7 @@ dynamic_service_gap_event(struct ble_gap_event *event, void *arg) int rc; switch (event->type) { - case BLE_GAP_EVENT_CONNECT: + case BLE_GAP_EVENT_LINK_ESTAB: /* A new connection was established or a connection attempt failed. */ MODLOG_DFLT(INFO, "connection %s; status=%d ", event->connect.status == 0 ? "established" : "failed", diff --git a/examples/bluetooth/nimble/ble_enc_adv_data/enc_adv_data_cent/main/main.c b/examples/bluetooth/nimble/ble_enc_adv_data/enc_adv_data_cent/main/main.c index 6c0b421cc0cc..127c41231203 100644 --- a/examples/bluetooth/nimble/ble_enc_adv_data/enc_adv_data_cent/main/main.c +++ b/examples/bluetooth/nimble/ble_enc_adv_data/enc_adv_data_cent/main/main.c @@ -425,7 +425,7 @@ enc_adv_data_cent_gap_event(struct ble_gap_event *event, void *arg) enc_adv_data_cent_connect_if_interesting(&event->disc); return 0; - case BLE_GAP_EVENT_CONNECT: + case BLE_GAP_EVENT_LINK_ESTAB: /* A new connection was established or a connection attempt failed. */ if (event->connect.status == 0) { /* Connection successfully established. */ diff --git a/examples/bluetooth/nimble/ble_enc_adv_data/enc_adv_data_prph/main/main.c b/examples/bluetooth/nimble/ble_enc_adv_data/enc_adv_data_prph/main/main.c index 4e7320a1e0f7..caf2b83cfacb 100644 --- a/examples/bluetooth/nimble/ble_enc_adv_data/enc_adv_data_prph/main/main.c +++ b/examples/bluetooth/nimble/ble_enc_adv_data/enc_adv_data_prph/main/main.c @@ -204,7 +204,7 @@ enc_adv_data_prph_gap_event(struct ble_gap_event *event, void *arg) int rc; switch (event->type) { - case BLE_GAP_EVENT_CONNECT: + case BLE_GAP_EVENT_LINK_ESTAB: /* A new connection was established or a connection attempt failed. */ MODLOG_DFLT(INFO, "connection %s; status=%d ", event->connect.status == 0 ? "established" : "failed", diff --git a/examples/bluetooth/nimble/ble_htp/htp_cent/main/main.c b/examples/bluetooth/nimble/ble_htp/htp_cent/main/main.c index aa06dfb425d4..798455f230a2 100644 --- a/examples/bluetooth/nimble/ble_htp/htp_cent/main/main.c +++ b/examples/bluetooth/nimble/ble_htp/htp_cent/main/main.c @@ -488,7 +488,7 @@ ble_htp_cent_gap_event(struct ble_gap_event *event, void *arg) ble_htp_cent_connect_if_interesting(&event->disc); return 0; - case BLE_GAP_EVENT_CONNECT: + case BLE_GAP_EVENT_LINK_ESTAB: /* A new connection was established or a connection attempt failed. */ if (event->connect.status == 0) { /* Connection successfully established. */ diff --git a/examples/bluetooth/nimble/ble_htp/htp_prph/main/main.c b/examples/bluetooth/nimble/ble_htp/htp_prph/main/main.c index 0da9cb939247..df4e8f28d9e6 100644 --- a/examples/bluetooth/nimble/ble_htp/htp_prph/main/main.c +++ b/examples/bluetooth/nimble/ble_htp/htp_prph/main/main.c @@ -230,7 +230,7 @@ static int ble_htp_prph_gap_event(struct ble_gap_event *event, void *arg) { switch (event->type) { - case BLE_GAP_EVENT_CONNECT: + case BLE_GAP_EVENT_LINK_ESTAB: /* A new connection was established or a connection attempt failed */ MODLOG_DFLT(INFO, "connection %s; status=%d\n", event->connect.status == 0 ? "established" : "failed", diff --git a/examples/bluetooth/nimble/ble_l2cap_coc/coc_blecent/main/main.c b/examples/bluetooth/nimble/ble_l2cap_coc/coc_blecent/main/main.c index de102268bbf7..5b5cba142294 100644 --- a/examples/bluetooth/nimble/ble_l2cap_coc/coc_blecent/main/main.c +++ b/examples/bluetooth/nimble/ble_l2cap_coc/coc_blecent/main/main.c @@ -412,7 +412,7 @@ blecent_gap_event(struct ble_gap_event *event, void *arg) blecent_connect_if_interesting(&event->disc); return 0; - case BLE_GAP_EVENT_CONNECT: + case BLE_GAP_EVENT_LINK_ESTAB: /* A new connection was established or a connection attempt failed. */ if (event->connect.status == 0) { /* Connection successfully established. */ diff --git a/examples/bluetooth/nimble/ble_l2cap_coc/coc_bleprph/main/main.c b/examples/bluetooth/nimble/ble_l2cap_coc/coc_bleprph/main/main.c index 96a0bdff9e07..6432c67c6c27 100644 --- a/examples/bluetooth/nimble/ble_l2cap_coc/coc_bleprph/main/main.c +++ b/examples/bluetooth/nimble/ble_l2cap_coc/coc_bleprph/main/main.c @@ -315,7 +315,7 @@ bleprph_gap_event(struct ble_gap_event *event, void *arg) int rc; switch (event->type) { - case BLE_GAP_EVENT_CONNECT: + case BLE_GAP_EVENT_LINK_ESTAB: /* A new connection was established or a connection attempt failed. */ MODLOG_DFLT(INFO, "connection %s; status=%d ", event->connect.status == 0 ? "established" : "failed", diff --git a/examples/bluetooth/nimble/ble_multi_adv/main/main.c b/examples/bluetooth/nimble/ble_multi_adv/main/main.c index 482a96a1bebd..b1d00f0d8aa6 100644 --- a/examples/bluetooth/nimble/ble_multi_adv/main/main.c +++ b/examples/bluetooth/nimble/ble_multi_adv/main/main.c @@ -302,7 +302,7 @@ ble_multi_advertise(ble_addr_t addr) static void ble_multi_perform_gatt_proc(ble_addr_t addr) { - /* GATT procedures like notify, indicate can be perfomed now */ + /* GATT procedures like notify, indicate can be performed now */ for (int i = 0; i < BLE_ADV_INSTANCES; i++) { if (memcmp(&addr, &ble_instance_cb[i].addr, sizeof(addr)) == 0) { if (ble_instance_cb[i].cb) { @@ -335,7 +335,7 @@ ble_multi_adv_gap_event(struct ble_gap_event *event, void *arg) int rc; switch (event->type) { - case BLE_GAP_EVENT_CONNECT: + case BLE_GAP_EVENT_LINK_ESTAB: /* A new connection was established or a connection attempt failed. */ MODLOG_DFLT(INFO, "connection %s; status=%d ", event->connect.status == 0 ? "established" : "failed", diff --git a/examples/bluetooth/nimble/ble_multi_conn/ble_multi_conn_cent/main/main.c b/examples/bluetooth/nimble/ble_multi_conn/ble_multi_conn_cent/main/main.c index 9db3939c0e55..eb7bf718e7c7 100644 --- a/examples/bluetooth/nimble/ble_multi_conn/ble_multi_conn_cent/main/main.c +++ b/examples/bluetooth/nimble/ble_multi_conn/ble_multi_conn_cent/main/main.c @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: 2015-2023 Espressif Systems (Shanghai) CO LTD + * SPDX-FileCopyrightText: 2015-2024 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Apache-2.0 */ @@ -93,7 +93,7 @@ ble_cent_client_gap_event(struct ble_gap_event *event, void *arg) return 0; - case BLE_GAP_EVENT_CONNECT: + case BLE_GAP_EVENT_LINK_ESTAB: if (event->connect.status == 0) { ESP_LOGI(TAG, "Connection established. Handle:%d, Total:%d", event->connect.conn_handle, ++s_ble_multi_conn_num); @@ -174,7 +174,7 @@ static int ble_cent_server_gap_event(struct ble_gap_event *event, void *arg) { switch (event->type) { - case BLE_GAP_EVENT_CONNECT: + case BLE_GAP_EVENT_LINK_ESTAB: /* The connectable adv has been established. We will act as the peripheral. */ if (event->connect.status == 0) { ESP_LOGI(TAG, "Peripheral connected to central. Handle:%d", event->connect.conn_handle); diff --git a/examples/bluetooth/nimble/ble_multi_conn/ble_multi_conn_prph/main/main.c b/examples/bluetooth/nimble/ble_multi_conn/ble_multi_conn_prph/main/main.c index e067f618ff42..5067899880c7 100644 --- a/examples/bluetooth/nimble/ble_multi_conn/ble_multi_conn_prph/main/main.c +++ b/examples/bluetooth/nimble/ble_multi_conn/ble_multi_conn_prph/main/main.c @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: 2015-2023 Espressif Systems (Shanghai) CO LTD + * SPDX-FileCopyrightText: 2015-2024 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Apache-2.0 */ @@ -163,7 +163,7 @@ ble_prph_restart_adv(void) { #if CONFIG_EXAMPLE_RESTART_ADV_AFTER_CONNECTED if (!xSemaphoreGive(s_sem_restart_adv)) { - ESP_LOGE(TAG, "Failed to give Semaphor"); + ESP_LOGE(TAG, "Failed to give Semaphore"); } #else ble_prph_advertise(); @@ -189,7 +189,7 @@ static int ble_prph_gap_event(struct ble_gap_event *event, void *arg) { switch (event->type) { - case BLE_GAP_EVENT_CONNECT: + case BLE_GAP_EVENT_LINK_ESTAB: if (event->connect.status == 0) { /* A new connection was established. */ ESP_LOGI(TAG, "Connection established. Handle:%d. Total:%d", event->connect.conn_handle, @@ -316,7 +316,7 @@ app_main(void) vTaskDelay(pdMS_TO_TICKS(delay_ms)); ble_prph_advertise(); } else { - ESP_LOGE(TAG, "Failed to take Semaphor"); + ESP_LOGE(TAG, "Failed to take Semaphore"); } } #endif // CONFIG_EXAMPLE_RESTART_ADV_AFTER_CONNECTED diff --git a/examples/bluetooth/nimble/ble_phy/phy_cent/main/main.c b/examples/bluetooth/nimble/ble_phy/phy_cent/main/main.c index 9922f4ebd012..772c0d25bfde 100644 --- a/examples/bluetooth/nimble/ble_phy/phy_cent/main/main.c +++ b/examples/bluetooth/nimble/ble_phy/phy_cent/main/main.c @@ -347,7 +347,7 @@ blecent_gap_event(struct ble_gap_event *event, void *arg) int rc; switch (event->type) { - case BLE_GAP_EVENT_CONNECT: + case BLE_GAP_EVENT_LINK_ESTAB: /* A new connection was established or a connection attempt failed. */ if (event->connect.status == 0) { /* Connection successfully established. */ diff --git a/examples/bluetooth/nimble/ble_phy/phy_prph/main/main.c b/examples/bluetooth/nimble/ble_phy/phy_prph/main/main.c index 4a616f922621..f1308fd708e7 100644 --- a/examples/bluetooth/nimble/ble_phy/phy_prph/main/main.c +++ b/examples/bluetooth/nimble/ble_phy/phy_prph/main/main.c @@ -183,7 +183,7 @@ bleprph_gap_event(struct ble_gap_event *event, void *arg) int rc; switch (event->type) { - case BLE_GAP_EVENT_CONNECT: + case BLE_GAP_EVENT_LINK_ESTAB: /* A new connection was established or a connection attempt failed. */ MODLOG_DFLT(INFO, "connection %s; status=%d ", event->connect.status == 0 ? "established" : "failed", diff --git a/examples/bluetooth/nimble/ble_proximity_sensor/proximity_sensor_cent/main/main.c b/examples/bluetooth/nimble/ble_proximity_sensor/proximity_sensor_cent/main/main.c index 28b03a387f89..b57c17bb7469 100644 --- a/examples/bluetooth/nimble/ble_proximity_sensor/proximity_sensor_cent/main/main.c +++ b/examples/bluetooth/nimble/ble_proximity_sensor/proximity_sensor_cent/main/main.c @@ -405,7 +405,7 @@ ble_prox_cent_gap_event(struct ble_gap_event *event, void *arg) ble_prox_cent_connect_if_interesting(&event->disc); return 0; - case BLE_GAP_EVENT_CONNECT: + case BLE_GAP_EVENT_LINK_ESTAB: /* A new connection was established or a connection attempt failed. */ if (event->connect.status == 0) { /* Connection successfully established. */ diff --git a/examples/bluetooth/nimble/ble_proximity_sensor/proximity_sensor_prph/main/main.c b/examples/bluetooth/nimble/ble_proximity_sensor/proximity_sensor_prph/main/main.c index f66f74f18bfe..47634029c332 100644 --- a/examples/bluetooth/nimble/ble_proximity_sensor/proximity_sensor_prph/main/main.c +++ b/examples/bluetooth/nimble/ble_proximity_sensor/proximity_sensor_prph/main/main.c @@ -177,7 +177,7 @@ static int ble_prox_prph_gap_event(struct ble_gap_event *event, void *arg) { switch (event->type) { - case BLE_GAP_EVENT_CONNECT: + case BLE_GAP_EVENT_LINK_ESTAB: /* A new connection was established or a connection attempt failed */ MODLOG_DFLT(INFO, "connection %s; status=%d\n", event->connect.status == 0 ? "established" : "failed", diff --git a/examples/bluetooth/nimble/ble_spp/spp_client/main/main.c b/examples/bluetooth/nimble/ble_spp/spp_client/main/main.c index a16fb52e2ef5..0e84d533b9f1 100644 --- a/examples/bluetooth/nimble/ble_spp/spp_client/main/main.c +++ b/examples/bluetooth/nimble/ble_spp/spp_client/main/main.c @@ -230,7 +230,7 @@ ble_spp_client_gap_event(struct ble_gap_event *event, void *arg) ble_spp_client_connect_if_interesting(&event->disc); return 0; - case BLE_GAP_EVENT_CONNECT: + case BLE_GAP_EVENT_LINK_ESTAB: /* A new connection was established or a connection attempt failed. */ if (event->connect.status == 0) { /* Connection successfully established. */ diff --git a/examples/bluetooth/nimble/ble_spp/spp_server/main/main.c b/examples/bluetooth/nimble/ble_spp/spp_server/main/main.c index 0be28e157423..f2569d230182 100644 --- a/examples/bluetooth/nimble/ble_spp/spp_server/main/main.c +++ b/examples/bluetooth/nimble/ble_spp/spp_server/main/main.c @@ -141,7 +141,7 @@ ble_spp_server_gap_event(struct ble_gap_event *event, void *arg) int rc; switch (event->type) { - case BLE_GAP_EVENT_CONNECT: + case BLE_GAP_EVENT_LINK_ESTAB: /* A new connection was established or a connection attempt failed. */ MODLOG_DFLT(INFO, "connection %s; status=%d ", event->connect.status == 0 ? "established" : "failed", diff --git a/examples/bluetooth/nimble/blecent/main/main.c b/examples/bluetooth/nimble/blecent/main/main.c index dd092bd90eb2..724384e4b8fc 100644 --- a/examples/bluetooth/nimble/blecent/main/main.c +++ b/examples/bluetooth/nimble/blecent/main/main.c @@ -696,7 +696,7 @@ blecent_gap_event(struct ble_gap_event *event, void *arg) blecent_connect_if_interesting(&event->disc); return 0; - case BLE_GAP_EVENT_CONNECT: + case BLE_GAP_EVENT_LINK_ESTAB: /* A new connection was established or a connection attempt failed. */ if (event->connect.status == 0) { /* Connection successfully established. */ diff --git a/examples/bluetooth/nimble/blecsc/main/main.c b/examples/bluetooth/nimble/blecsc/main/main.c index 3b69a930dc17..4e159c922c76 100644 --- a/examples/bluetooth/nimble/blecsc/main/main.c +++ b/examples/bluetooth/nimble/blecsc/main/main.c @@ -213,7 +213,7 @@ static int blecsc_gap_event(struct ble_gap_event *event, void *arg) { switch (event->type) { - case BLE_GAP_EVENT_CONNECT: + case BLE_GAP_EVENT_LINK_ESTAB: /* A new connection was established or a connection attempt failed */ MODLOG_DFLT(INFO, "connection %s; status=%d\n", event->connect.status == 0 ? "established" : "failed", diff --git a/examples/bluetooth/nimble/blehr/main/main.c b/examples/bluetooth/nimble/blehr/main/main.c index b9c7ea991f91..9c9a917334a9 100644 --- a/examples/bluetooth/nimble/blehr/main/main.c +++ b/examples/bluetooth/nimble/blehr/main/main.c @@ -184,7 +184,7 @@ static int blehr_gap_event(struct ble_gap_event *event, void *arg) { switch (event->type) { - case BLE_GAP_EVENT_CONNECT: + case BLE_GAP_EVENT_LINK_ESTAB: /* A new connection was established or a connection attempt failed */ MODLOG_DFLT(INFO, "connection %s; status=%d\n", event->connect.status == 0 ? "established" : "failed", diff --git a/examples/bluetooth/nimble/bleprph/main/main.c b/examples/bluetooth/nimble/bleprph/main/main.c index d86364c41ce0..73d77eecc28c 100644 --- a/examples/bluetooth/nimble/bleprph/main/main.c +++ b/examples/bluetooth/nimble/bleprph/main/main.c @@ -235,7 +235,7 @@ bleprph_gap_event(struct ble_gap_event *event, void *arg) int rc; switch (event->type) { - case BLE_GAP_EVENT_CONNECT: + case BLE_GAP_EVENT_LINK_ESTAB: /* A new connection was established or a connection attempt failed. */ MODLOG_DFLT(INFO, "connection %s; status=%d ", event->connect.status == 0 ? "established" : "failed", diff --git a/examples/bluetooth/nimble/bleprph_host_only/main/main.c b/examples/bluetooth/nimble/bleprph_host_only/main/main.c index e34b0683fcf6..43a4d14bfffc 100644 --- a/examples/bluetooth/nimble/bleprph_host_only/main/main.c +++ b/examples/bluetooth/nimble/bleprph_host_only/main/main.c @@ -223,7 +223,7 @@ bleprph_gap_event(struct ble_gap_event *event, void *arg) int rc; switch (event->type) { - case BLE_GAP_EVENT_CONNECT: + case BLE_GAP_EVENT_LINK_ESTAB: /* A new connection was established or a connection attempt failed. */ MODLOG_DFLT(INFO, "connection %s; status=%d ", event->connect.status == 0 ? "established" : "failed", diff --git a/examples/bluetooth/nimble/bleprph_wifi_coex/main/main.c b/examples/bluetooth/nimble/bleprph_wifi_coex/main/main.c index c4eac37c50ca..670bc983b0cd 100644 --- a/examples/bluetooth/nimble/bleprph_wifi_coex/main/main.c +++ b/examples/bluetooth/nimble/bleprph_wifi_coex/main/main.c @@ -119,7 +119,7 @@ void wifi_init_sta(void) .ssid = EXAMPLE_ESP_WIFI_SSID, .password = EXAMPLE_ESP_WIFI_PASS, /* Setting a password implies station will connect to all security modes including WEP/WPA. - * However these modes are deprecated and not advisable to be used. Incase your Access point + * However these modes are deprecated and not advisable to be used. In case your Access point * doesn't support WPA2, these mode can be enabled by commenting below line */ .threshold.authmode = WIFI_AUTH_WPA2_PSK, }, @@ -389,7 +389,7 @@ bleprph_gap_event(struct ble_gap_event *event, void *arg) int rc; switch (event->type) { - case BLE_GAP_EVENT_CONNECT: + case BLE_GAP_EVENT_LINK_ESTAB: /* A new connection was established or a connection attempt failed. */ ESP_LOGI(TAG, "connection %s; status=%d ", event->connect.status == 0 ? "established" : "failed", diff --git a/examples/bluetooth/nimble/power_save/main/main.c b/examples/bluetooth/nimble/power_save/main/main.c index 3e1a5acc28a0..cfb2222c8813 100644 --- a/examples/bluetooth/nimble/power_save/main/main.c +++ b/examples/bluetooth/nimble/power_save/main/main.c @@ -282,7 +282,7 @@ bleprph_gap_event(struct ble_gap_event *event, void *arg) int rc; switch (event->type) { - case BLE_GAP_EVENT_CONNECT: + case BLE_GAP_EVENT_LINK_ESTAB: /* A new connection was established or a connection attempt failed. */ MODLOG_DFLT(INFO, "connection %s; status=%d ", event->connect.status == 0 ? "established" : "failed", diff --git a/examples/bluetooth/nimble/throughput_app/blecent_throughput/main/main.c b/examples/bluetooth/nimble/throughput_app/blecent_throughput/main/main.c index de8f844f30a9..c1087307e5c2 100644 --- a/examples/bluetooth/nimble/throughput_app/blecent_throughput/main/main.c +++ b/examples/bluetooth/nimble/throughput_app/blecent_throughput/main/main.c @@ -538,7 +538,7 @@ blecent_gap_event(struct ble_gap_event *event, void *arg) blecent_connect_if_interesting(&event->disc); return 0; - case BLE_GAP_EVENT_CONNECT: + case BLE_GAP_EVENT_LINK_ESTAB: /* A new connection was established or a connection attempt failed. */ if (event->connect.status == 0) { /* Connection successfully established. */ diff --git a/examples/bluetooth/nimble/throughput_app/bleprph_throughput/main/main.c b/examples/bluetooth/nimble/throughput_app/bleprph_throughput/main/main.c index 50638b04cf45..0a66ea0b6055 100644 --- a/examples/bluetooth/nimble/throughput_app/bleprph_throughput/main/main.c +++ b/examples/bluetooth/nimble/throughput_app/bleprph_throughput/main/main.c @@ -239,7 +239,7 @@ gatts_gap_event(struct ble_gap_event *event, void *arg) int rc; switch (event->type) { - case BLE_GAP_EVENT_CONNECT: + case BLE_GAP_EVENT_LINK_ESTAB: /* A new connection was established or a connection attempt failed */ ESP_LOGI(tag, "connection %s; status = %d ", event->connect.status == 0 ? "established" : "failed",