Index: format/app.format
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/FR_2639_BT&BLE/format/app.format	(revision 1714)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/FR_2639_BT&BLE/format/app.format	(working copy)
@@ -293,7 +293,6 @@
 7 APP_DISC_BLE
 8 APP_DISC_L2CAP_REFUSED
 9 APP_DISC_SWITCH_FAIL
-10 APP_DISC_PB_BUTTON
 )
 //eeprom init flag
 (
Index: format/app_mouse.format
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/FR_2639_BT&BLE/format/app_mouse.format	(revision 1714)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/FR_2639_BT&BLE/format/app_mouse.format	(working copy)
@@ -184,7 +184,6 @@
 33 mem_mouse_data_queue
 1 mem_mouse_data_queue_num
 
-2 mem_random_addr_increase_count
 1 mem_mouse_le_conn_param_reject
 1 mem_lpm_mult_init
 64 mem_mouse_le_uuid_sup
@@ -224,23 +223,18 @@
 
 19 mem_le_adv_swift_pair
 
-1 mem_24g_sw_gpio
-
 1 mem_mouse_multi_led_blink_enable
 1 mem_mouse_multi_led_gpio
 1 mem_mouse_multi_led_state
 1 mem_mouse_multi_led_type
+1 mem_mouse_multi_led_on_timer
 1 mem_mouse_multi_led_on_timer_init
 1 mem_mouse_multi_led_blink_timer_init
 1 mem_mouse_multi_led_blink_timer
 1 mem_mouse_multi_led_blink_count
-1 mem_mouse_multi_led_on_timer
 1 mem_mouse_multi_led_blink_count_limited
 1 mem_mouse_multi_led_on_poweron2s_flag
 
-1 mem_discovery_on_flag
-1 mem_bt_ui_button_timeout
-1 mem_bt_ui_button_count
 1 mem_mouse_priority_bb_event
 2 mem_mouse_le_parse_l2cap_ptr
 1 mem_low_power_no_data_off_led_time
@@ -257,12 +251,17 @@
 1 mem_le_att_pnp_id_len
 7 mem_le_att_pnp_id
 
+//no motion pin
+1 mem_mouse_long_mult_flag
+1 mem_mouse_le_current_mult_timer
+1 mem_24g_long_sleep_param_update_timer
+
 //flash
 1 mem_flash_ncs_gpio
 1 mem_select_ui_button_count
 4 mem_write_flash_head_temp
 1 mem_mouse_poweron_led_timer
-4 mem_mouse_24g_addr_init
+6 mem_mouse_24g_addr_init
 
 //zcode
 1 mem_zcode_current_number
@@ -271,31 +270,39 @@
 3 mem_flash_address
 4 mem_zcode_head
 
-//no motion pin
-1 mem_mouse_long_mult_flag
-1 mem_mouse_le_current_mult_timer
-1 mem_24g_long_sleep_param_update_timer
-
+1 mem_mouse_select_device_button_wakeup_flag
+1 mem_mouse_le_updata_not_accepted_flag
 
-1 mem_mouse_bt_led_gpio
-1 mem_mouse_button_select_device_timer_init
-1 mem_mouse_button_select_device_count
-1 mem_mouse_multi_led_on_timer_init1
-1 mem_mouse_24g_attempt_success_flag
-1 mem_mouse_le_bb_connected_flag
 
-1 mem_mouse_fast_conn_flag
-3 mem_le_lap_high_3B
+//fast le conn
+6 mem_le_normal_lap
+1 mem_le_switch_adv_flag
+1 mem_le_switch_adv_timer
+1 mem_le_switch_adv_count
+1 mem_mouse_start_discovery_enable
+1 mem_mouse_le_adv_start
 
-//le security reuqest
 1 mem_mouse_send_secutiry_request_timer
 1 mem_le_send_security_request_flag
+1 mem_mouse_le_bb_connected_flag
 
+
+//user flash data
+0 mem_mouse_flash_start_temp
+2 mem_random_addr_increase_count
 1 mem_mouse_long_button_select_device
-1 mem_mouse_select_device_button_wakeup_flag
+2 mem_eeprom_init_flag
+1 mem_mouse_fast_conn_flag
+1 mem_mouse_latest_mode
+0 mem_mouse_flash_end_temp
+
+1 mem_mouse_le_not_tx_disconn
+
+
+25 mem_sensor_8650_init
+13 mem_sensor_ka8_init
+9 mem_sensor_poweron_init
 
-1 mem_mouse_le_fast_conn_enable_timer
-1 mem_mouse_delay_discovery_count
 )
 
 (
@@ -328,6 +335,8 @@
 0x02 MODE_BT_DEVICE2
 0x03 MODE_BT_DEVICE3
 0x02 MODE_24G_DEVICE
+0xff MODE_DEFAULT_DEVICE
+
 //mouse  flag
 0X00 WRITE_REQ_ENABLE_FLAG
 0X01 LL_START_ENC_FLAG
@@ -406,11 +415,12 @@
 0X00 MOUSE_INFO_EEPROM_OFFECT
 0X5A MOUSE_DPI_EEPROM_OFFECT	//1byte
 0X5B MOUSE_G24_ADDR_EEPROM_OFFECT	//4bytes
+0x5F MOUSE_USER_DATA_OFFECT
 0X5F MOUSE_RANDOM_ADDR_COUNT_EEPROM_OFFSET	//2bytes
 0X61 MOUSE_DEVICE_MODE_EEPROM_OFFSET	//1byte	
 0X62 MOUSE_EEPROM_MODULE_INIT_FLAG		//eeprom_module_init_flag 2bytes
 0X64 MOUSE_FAST_CONN_FLAG_OFFSET	//1byte
-
+0X65 MOUSE_LATEST_MODE_OFFSET	//1byte
 
 // Sensor id number
 0x30 P32XX_ID1
@@ -422,7 +432,8 @@
 0x54 PKA8_ID2
 0x70 P3065_XY_ID2
 0x5a MA8650_ID2
-0xD8 P8009_ID2
+0x5a P_MX8650
+
 
 //Sensor type
 0X00 P3205
@@ -433,7 +444,7 @@
 0X05 P3610
 0X06 P3065_XY
 0X07 MA8650
-0x08 P8009
+0x07 MX8650
 
 
 //p3610 smart enable flag
@@ -476,7 +487,7 @@
 )
 
 (
-4 TEST_GPIO
+6 TEST_GPIO
 )
 
 (
@@ -506,8 +517,8 @@
 
 (
 0x017700 G24_LONG_SLEEP_STEP1	//8ms
-0x249f00 G24_LONG_SLEEP_STEP2	//200ms
-0x604800 G24_LONG_SLEEP_STEP3	//500ms
+0x36ee80 G24_LONG_SLEEP_STEP2	//300ms
+0x124f80 G24_LONG_SLEEP_STEP3	//100ms
 )
 
 (
@@ -515,7 +526,7 @@
 )
 
 (
-0x01 DPI_FUNCTION_DISABLE
-0x00 DPI_FUNCTION_ENABLE
+0x0708 BLE_DIRECT_ADV_TIMEOUT
+0x0a BLE_POWERON_RECONN_TIMER
 )
 
Index: format/g24.format
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/FR_2639_BT&BLE/format/g24.format	(revision 1714)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/FR_2639_BT&BLE/format/g24.format	(working copy)
@@ -126,6 +126,19 @@
 1 mem_24g_transmit_by_interrupt
 2 mem_24g_transmit_by_interrupt_exit_count
 2 mem_24g_transmit_by_interrupt_exit_count_init
+6 mem_24g_allpowerful_addr
+
+1 mem_24g_stop_g24_mode
+2 mem_24g_stop_g24_mode_timeout
+1 mem_24g_pair_current_ch_num
+1 mem_24g_powerful_current_ch_num
+
+1 mem_24g_search_dongle_action
+1 mem_24g_search_dongle_count
+1 mem_24g_search_dongle_ch
+1 mem_24g_search_dongle_wait
+
+1 mem_24g_conn_sm
 )
 
 (
@@ -298,6 +311,12 @@
 //6-7 channel offset
 )
 
+(
+0 STATE_24G_STOP
+0 STATE_24G_START
+1 STATE_24G_PAIR
+2 STATE_24G_RECONN
+)
 
 
 //mem_24g_pairing_sm
@@ -459,3 +478,14 @@
 0 G24_TX_TIMER_INT_DISABLE
 )
 
+(
+0 G24_DISCONN_STATE
+1 G24_CONN_STATE
+
+
+8 G24_CH_NUMBER
+16 G24_CH_POLL_COUNT
+0x0708 G24_DISCONN_NODATA_TIMER
+)
+
+
Index: format/utility.format
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/FR_2639_BT&BLE/format/utility.format	(revision 1714)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/FR_2639_BT&BLE/format/utility.format	(working copy)
@@ -149,6 +149,7 @@
 2 mem_data_pre
 2 mem_data_current
 3 mem_data_sum
+1 mem_data_value
 
 //zcode
 1 mem_zcode_temp_param0	//zcode num
Index: output/flash.dat
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/FR_2639_BT&BLE/output/flash.dat	(revision 1714)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/FR_2639_BT&BLE/output/flash.dat	(working copy)
@@ -2,16 +2,16 @@
 02
 aa
 55
-ea
-1d
+86
+17
 20
 20
 00
 40
 20
 40
-03
-bf
+01
+af
 68
 00
 c1
@@ -19,10 +19,10 @@
 60
 00
 cc
-af
+e2
 20
 40
-06
+04
 e8
 68
 00
@@ -32,102 +32,110 @@
 00
 c6
 da
-68
-00
-cb
-32
-60
-00
-cb
-33
 20
 40
-43
-ca
+02
+93
 20
 40
-02
-f5
+01
+30
+20
+40
+05
+85
 20
 40
 00
-0e
+12
 20
 40
 00
-21
+23
 20
+40
+58
+10
 20
-03
-19
+40
 58
-00
-03
-85
-60
+39
+20
+40
+58
+2c
+20
+40
+58
+18
+20
+40
+3e
+1e
+20
+20
 01
-4d
-29
+04
 58
 00
-03
-a2
+01
+9b
 60
 01
 41
 ef
 58
 00
-06
-2a
+04
+33
 60
 01
 41
 f9
 58
 00
-03
-da
+01
+ce
 60
 01
 41
 f1
 58
 00
-02
-9c
+00
+ad
 60
 01
 41
 ed
 58
 00
-04
-15
+01
+f5
 60
 01
 41
 f5
 58
 00
-04
-02
+01
+f3
 60
 01
 41
 f3
 58
 00
-04
-4e
+02
+2c
 60
 01
 41
 eb
 58
 00
-04
-55
+02
+39
 60
 01
 41
@@ -143,19 +151,19 @@
 60
 01
 4d
-3b
+6e
 24
 55
 80
-29
+2d
 20
 40
-02
-f7
+00
+e7
 20
 40
-03
-12
+02
+32
 68
 00
 c7
@@ -164,10 +172,18 @@
 00
 c7
 1e
-20
-60
+68
+00
+c2
+41
+c3
+81
 00
 00
+20
+20
+01
+98
 58
 00
 01
@@ -175,7 +191,7 @@
 60
 01
 4d
-3b
+6e
 20
 60
 00
@@ -244,22 +260,6 @@
 00
 00
 01
-20
-00
-00
-01
-20
-00
-00
-01
-20
-00
-00
-01
-20
-00
-00
-01
 c2
 84
 00
@@ -274,47 +274,47 @@
 7f
 c0
 42
-87
+85
 54
 c0
 44
-87
+85
 25
 c0
 45
-07
+05
 56
 c0
 0d
-86
-43
+84
+48
 c0
 13
-06
-45
+04
+4a
 c0
 24
-06
-60
+04
+65
 c0
 25
-06
+04
 67
 c0
 28
-86
+84
 70
 c0
 2c
-86
-5e
+84
+63
 c0
 53
-86
+84
 75
 c0
 56
-86
+84
 8b
 c0
 65
@@ -322,7 +322,7 @@
 e4
 c0
 74
-86
+84
 9c
 c0
 50
@@ -338,100 +338,100 @@
 9b
 c0
 62
-02
-be
+00
+ca
 c0
 71
-85
-07
+83
+3a
 c0
 73
-05
-25
+03
+54
 c0
 75
-05
-67
+03
+81
 c0
 75
-85
-6f
+83
+84
 c0
 76
-05
-7c
+03
+86
 20
 20
 2a
 8e
 c0
 1c
-85
-86
+83
+8a
 c0
 21
-85
-8e
+83
+92
 c0
 25
-05
-94
+03
+98
 c0
 2b
-85
-97
+83
+9b
 c0
 2c
-85
-99
+83
+9d
 c0
 31
-85
-9b
+83
+9f
 c0
 33
-05
-c5
+03
+c8
 c0
 33
-85
-dc
+83
+e7
 c0
 35
-06
-15
+04
+1f
 c0
 3b
-86
-20
+84
+2a
+c0
+7d
+04
+d0
 c0
 02
-86
+84
 9e
 c0
 40
-06
+04
 a0
 c0
 41
-06
+04
 aa
 c0
 44
-06
+04
 ac
 c0
 46
-06
-30
+04
+35
 c0
 46
-86
-3c
-c0
-7d
-06
-d0
+84
+41
 20
 20
 2a
@@ -443,11 +443,11 @@
 68
 08
 cc
-b3
+e6
 58
 00
 4c
-ba
+ed
 98
 40
 8a
@@ -471,7 +471,7 @@
 60
 08
 cc
-b3
+e6
 20
 60
 00
@@ -490,8 +490,8 @@
 d4
 20
 40
-03
-96
+01
+7c
 20
 40
 6a
@@ -575,7 +575,7 @@
 68
 00
 cb
-28
+25
 24
 3a
 7f
@@ -583,7 +583,7 @@
 68
 00
 cb
-2d
+2b
 24
 3a
 7f
@@ -599,7 +599,7 @@
 68
 00
 c7
-c6
+c4
 c0
 00
 ff
@@ -615,7 +615,7 @@
 68
 00
 c8
-08
+06
 24
 3a
 7f
@@ -624,984 +624,960 @@
 20
 7f
 f1
-c6
-93
-00
-00
-68
+20
+60
 00
-cd
-38
-c0
 00
-80
-b1
-20
+d8
 40
-01
-35
-24
-34
 00
-cc
-20
-40
-01
-1c
+00
+df
 20
-40
-01
-58
-68
 00
-cc
 08
-c1
-ff
+1a
+22
+0c
+00
+e8
+c0
 80
 00
-20
-40
-06
-f9
-20
+98
 40
+84
 00
-ad
-68
+c2
 00
-cb
-28
-c0
 00
-83
-88
-20
-40
+9f
+18
+49
+7e
 00
-d8
-24
-74
+1f
+e2
+04
+00
+c6
+93
 00
 00
+1f
+e6
+fc
+0a
 20
 40
-02
-a3
-58
+7f
+86
+18
+07
+fe
 00
-ec
-54
-20
-20
-2b
-93
-58
-01
-77
+1f
+f2
+7e
+00
+18
+07
+04
+00
+98
+41
+84
 00
-60
-01
-cc
-27
-70
-4b
-61
-14
 20
 60
 00
 00
 20
-40
-02
-6e
-24
-74
+60
+00
+00
+c6
+13
 00
 00
 20
 40
-00
-c6
-68
-01
-4d
-39
-1f
-e0
-fe
-01
-60
 01
-4d
-39
+72
+20
+40
+00
+b7
 68
-09
-4d
-3b
-98
-46
-7c
 00
-20
-42
-80
-bb
-20
-20
+c0
+40
+c3
 00
-9e
-70
-4d
-38
 00
-58
+b4
+68
 00
+80
+a0
+24
+7a
 00
 00
-60
-01
-4d
-39
 58
 00
 00
-19
-60
-01
-4d
-3b
-70
-4c
-33
-00
-68
 00
-cc
-1e
 60
+04
 00
-cc
-1d
+a1
 20
 60
 00
 00
-68
+20
+40
 00
-cc
-1f
+c7
 20
+40
+00
+b4
+20
+40
+3e
+bf
 20
+40
+01
+06
+68
+12
 00
-c2
+70
 68
+1a
 00
-cc
-33
-1f
-e0
-fe
-01
-60
+78
+98
+41
+84
 00
-cc
-33
-c0
-02
+18
+44
+04
 00
-c4
-c0
-02
-80
-c0
-20
 60
+1a
 00
-00
+7c
 68
-00
-cc
-24
-20
-5a
-00
-e1
+10
+80
+7d
+79
+3f
+fe
+02
+60
+10
+80
+7d
+68
+10
+80
+7e
+79
+3f
+fe
+06
+60
+10
+80
+7e
+20
+20
+02
+f7
 68
 00
-cb
-2d
-24
+ca
+fe
+20
 7a
 00
 00
-68
-00
-cb
-28
-c1
-00
+20
+20
+03
+3a
+20
+40
+29
+6c
+20
+40
+34
+16
+20
+40
+74
+b9
+20
+35
 80
+d7
+20
+40
 00
+01
 20
 40
 00
 d8
-24
-74
+68
 00
+c2
+10
+c0
+19
+80
+db
+c0
+1a
 00
-68
+de
+20
+40
+02
+a7
+70
 01
-cc
-27
+6d
+06
 20
 40
-7f
-49
-60
-0a
-41
-5b
+02
+66
 20
 20
-2b
-2a
-78
-34
-7c
-00
+7d
+dd
 20
-40
-2a
-fa
-68
-01
-c1
-6f
 20
-3a
-7f
-e9
+01
+30
 68
 00
-c0
-91
+cc
+e2
+60
+00
+c1
+de
 20
-3a
-7f
-e9
-68
+60
 00
-cd
-38
-c0
 00
-ff
-e9
+68
+03
+41
+d0
+20
+3a
+33
+eb
 20
 20
-02
-a6
+42
+74
 70
-4c
-24
-01
+11
+c6
+11
+20
+20
+05
+58
+da
+20
+43
 70
-4d
-2d
+ea
+20
+80
 00
 20
-40
+7a
 00
-f4
-60
 00
-cb
-94
-58
+98
+c0
+a2
 00
+e8
+c0
+80
 00
+c1
 00
-60
-03
-cb
-95
-68
-02
-4c
-2f
-60
-02
-4b
-9c
-70
-4b
-f8
-0c
-68
+80
 00
-cb
-f9
-79
 20
-7e
-03
-60
+20
 00
-cb
-f9
+e1
 20
 40
 01
-38
+30
 20
+40
+40
+c0
 20
+40
+40
+d9
+c0
+18
 00
-a1
-68
-02
+ef
+c0
+18
+80
+ff
+20
 40
-a0
-60
-02
-4c
-2f
+40
+d1
 20
-60
 00
+03
+e8
+20
+20
 00
-70
-4d
-2e
+e9
+20
+40
 01
-70
-4d
-30
-00
+8d
 68
 00
-cb
-f9
-1f
-e1
-7e
-07
-60
+c6
+de
+c0
+2d
 00
-cb
-f9
+f4
+c0
+2a
+00
+fc
 20
+20
+40
+e0
+70
+46
+e0
+07
+da
 60
+4b
+76
+ea
+61
 00
 00
-68
+c1
+7f
+80
 00
-cb
-f9
-79
 20
-7e
-04
-60
-00
-cb
-f9
-60
-00
-cb
-b4
+40
+64
+13
 20
-60
-00
 00
-68
-00
-cb
-f9
-79
-3f
-fe
-04
+2e
+e0
+1a
 60
+a6
+02
+20
+20
 00
-cb
-f9
+f6
+70
+46
+e0
+02
+da
 60
-00
-cb
-b4
+4b
+8f
 20
-40
-06
-ef
 20
+00
+f6
 20
+40
 01
-e6
+8d
 68
 00
-cd
-2d
+c6
+de
 c0
-80
-80
-f4
-68
-00
-cd
-2b
-1f
+38
+40
+e8
+70
+46
 e0
-fe
 01
+20
 60
 00
-cd
-2b
-c0
-02
-01
-0c
-20
-40
-01
-e6
+00
 70
-4c
-3d
-02
+11
+c6
+80
 20
 20
-01
+05
 58
-20
-40
-06
-ef
-70
-4d
-2b
-00
+68
+08
+cb
+43
 20
 20
-00
-f4
-70
-4d
-30
-02
+68
+25
 70
-4d
-2e
-01
+80
+86
+40
 70
-4d
-2d
-00
-20
-20
+80
+87
 00
-f4
 68
-00
-cd
-2f
-c0
-01
-81
 10
-68
-00
-cb
-f9
-2f
-ec
-00
-04
-20
-20
 80
-f2
-68
-00
-cd
-2f
-c0
-00
 81
-0f
-c0
-01
+79
+3f
+fe
+00
+79
+3f
+fe
 01
-10
+79
 20
+7e
+03
+79
+3f
+fe
+04
 60
+10
+80
+81
+58
+00
 00
 00
+60
+02
+01
+f5
 68
+10
+80
+7f
+79
+3f
+fe
 00
-cc
-08
-c1
-ff
+60
+10
 80
+7f
+20
+60
+00
 00
 20
 40
 01
-21
-24
-56
-01
-29
+61
 20
-60
-00
-00
+40
+44
+23
+68
+01
+47
 78
-56
+d8
+40
+aa
+55
+98
+46
 7c
 00
+20
+22
+81
+52
+60
+09
+47
+78
+20
+40
+44
+1c
 68
 00
-cd
-2e
-c1
-80
-80
+c6
+e1
+60
 00
+c7
+7a
 68
-00
-cd
-30
-c1
-80
-00
-00
-70
-4d
-2f
-01
-70
-4c
-3d
-04
-20
-20
-7f
-eb
-68
-00
-cd
-30
-20
-3a
-01
-30
-1f
-e0
-ff
-ff
+02
+4b
+4a
+60
+02
+47
+7b
 60
-00
-cd
-30
-70
-4d
-2f
 02
-70
 4c
-3d
-04
-20
+53
 20
+40
 01
-e6
-70
-4d
-2f
-03
-68
-00
-cd
-2d
-24
-3a
-01
-03
-70
-4c
-3d
-02
+61
 20
+40
+01
+32
 20
+40
 01
-e6
-68
-00
-cc
-08
-c0
-ff
-81
-a7
+49
 20
 40
 01
-3b
+3e
 20
 40
 01
-d4
-70
+35
+d8
+40
+00
+07
+da
+20
 4b
-fd
+6e
+da
+40
+00
+5f
+68
 01
-20
-60
+c7
 00
+9a
+40
+fe
 00
-68
+20
+40
 01
-4d
-29
+3e
 20
 40
-7f
-9c
+01
+35
 20
-34
+40
 01
-41
-68
-03
-cb
-95
+58
+70
+42
+12
+76
 20
-7a
-00
+20
+3d
+36
+68
+01
+c7
 00
+60
+01
+c2
+32
 20
+40
+65
+2a
+58
+01
+86
+a0
 20
-7f
-e7
+40
+2a
+8f
 20
 40
-03
-b9
-70
-4c
-24
+65
+0b
+58
 00
-1a
-20
-fe
 01
+fa
 60
+11
 00
-cb
-f8
+8c
+58
+00
+00
+05
 20
 40
-00
-f4
+64
+f3
+c2
+80
+01
+35
+20
 60
 00
-cb
-94
-e8
-a8
-80
 00
-ea
-40
-80
+1f
+e2
+26
 00
-98
-41
-fe
+1a
+22
+7e
 00
+1f
 e0
-a0
-80
+ff
+fc
+1f
+e2
+24
 00
-1a
-40
-a4
-01
 ea
 42
 00
 00
-e0
-a2
-00
-00
+60
+02
+4b
+45
 1a
+62
+7e
+00
+20
 40
-a4
-04
-d8
-a0
+65
+52
+68
+02
 4b
-9a
-df
-20
+45
+e2
+42
 00
-02
-ea
-40
-80
 00
-e8
-a8
-80
+20
+60
 00
-98
-40
-fe
 00
-e0
-a0
-80
+58
 00
-1a
-40
-a4
-01
-c2
-00
-01
-51
+47
+7f
+d8
+40
+47
 20
-60
-00
+98
+46
+04
 00
-70
-4c
+68
 01
+c7
 00
-d9
+da
+20
+47
+20
+20
 60
-0d
 00
-34
-73
-02
 00
 20
 40
 01
-76
-68
-00
-cc
-34
-c1
-00
-80
-00
-24
-2c
+61
+20
+40
 01
-85
-24
-37
-81
-85
+49
+20
+20
+65
+62
 20
 40
 01
-70
+4f
 20
 40
 01
-a0
+6b
 20
 40
-06
-eb
+43
+1a
 68
-00
-cb
-f7
-1f
-e0
-fe
-01
+02
+47
+7b
+60
+02
+4c
+53
+20
 60
 00
-cb
-f7
+00
+70
+0a
+a2
+b9
 20
 40
 01
-73
-68
-00
-cc
 08
-c0
-ff
-81
-a9
 20
-40
-01
-13
-58
 00
 00
-00
-60
-01
+64
+20
+40
+65
+0b
+da
+20
 4b
-fe
-60
+45
+68
+08
+8a
+a2
+20
+40
+65
+56
+20
 00
-cc
 00
+64
+20
 60
 00
-cd
-2c
+00
+70
+0a
+a2
+ab
+20
+20
+01
+59
 70
 4b
-fd
-00
+73
+5a
 20
 60
 00
 00
-df
-20
-00
-04
-d8
-a0
+70
 4b
-94
-20
-20
-7e
-c6
+67
+01
+70
+4b
+66
+01
+70
+4b
+73
+ff
 68
-00
-cb
-f9
-c2
-82
-00
-fd
+03
+4d
+70
+60
+03
+44
+a0
 20
 60
 00
 00
-78
-57
-fc
-00
 20
 40
-02
-4d
-68
+01
+61
+d8
+40
 00
-cc
-34
-c0
+07
+da
+20
+4b
+6e
+da
+40
 00
-81
-83
-18
+5f
+68
+01
+c7
 00
-2a
+9a
+40
+fe
 00
-68
-02
-4c
 20
-98
-00
-12
+20
+65
+62
+d8
+c0
+18
 00
-68
-08
-80
-17
+d8
+a0
+48
+0a
 20
 40
-29
-1f
+01
+7a
+d8
+c0
+19
+00
 20
 40
-29
-24
+01
+7a
+d8
+c0
+1a
+00
 20
 40
-02
-09
-20
-57
-82
-45
-20
-60
+01
+7a
+d8
+c0
+1b
 00
+df
+20
 00
-20
-40
-02
-45
+1b
 20
 20
+7f
 01
-63
-68
-01
-4b
-fe
-1f
-e0
-fe
-01
-60
+d8
+c0
+48
+0a
+d8
+a0
+18
+00
+20
+40
 01
-4b
-fe
-68
+7a
+d8
+a0
+19
 00
-cb
-ff
-c2
-82
-2d
-d4
-68
+20
+40
+01
+7a
+d8
+a0
+1a
 00
-cc
-08
-c0
-ff
-81
-8e
 20
 40
 01
-96
+7a
+d8
+a0
+1b
+00
 20
 20
 01
-59
+7a
+70
+41
+72
+00
+70
+4b
+41
+1e
+20
+60
+00
+00
 68
 00
 cb
-fe
+40
 c1
-ff
+80
 80
 00
 58
@@ -1609,444 +1585,416 @@
 00
 00
 60
+00
+cb
+40
+60
+02
+46
+9b
+20
+40
 01
+30
+da
+60
 4b
-fe
-20
-20
-2d
-d4
+9c
 20
 40
-07
-1c
+00
+f6
 20
 40
-06
-ef
-20
-20
 01
-e6
+95
 68
 00
-cc
-01
-1f
-e6
-7c
-0b
-24
-21
-01
-93
-1f
+c6
 e0
-fe
-01
-60
-00
-cc
-01
 c0
 01
 00
-f8
+fc
 c0
 03
+80
+f4
+20
+60
 00
-fd
-c0
-04
 00
-f8
-c0
-06
+68
 00
-fd
+c7
+7a
+c0
+7f
+81
+98
 20
-60
+20
+03
+3a
+68
 00
+c6
+e1
+60
 00
+c7
+7a
+20
+20
+03
+3a
 20
 40
-01
-b9
+58
+92
+24
+7a
+00
+00
 68
 00
 cb
-f6
-20
-7a
-00
+73
+c0
+7f
+81
+a2
+68
 00
-98
+c6
+c5
+1f
+e1
+7e
+03
+c1
+81
+80
 00
-72
+68
 00
-d8
-c0
-4b
-74
-d8
-a0
-4b
-d6
-20
+c7
+9e
 20
-7f
+5a
 01
-70
-11
-c5
-90
+ca
+68
+02
+46
+d3
+c2
+82
+c1
+79
 20
+40
+3f
+97
+24
+74
+00
+00
 20
-07
-59
+40
+01
+85
 20
 40
-06
-e8
-70
-11
+01
+88
+20
+40
+01
 c5
-91
+da
 20
+46
+9a
 20
-07
-59
-70
-11
-c5
-60
+40
+7e
+3d
 20
+54
+01
+b4
 20
+60
+00
+00
+70
+47
+a2
 07
-59
 70
-11
-c5
-70
-20
-20
-07
-59
-79
-3f
-80
-26
-20
-40
-53
-ce
-d8
-e0
+47
+a3
+04
+58
 00
-03
-20
-20
-43
-d2
+47
+a2
 60
-08
-cb
-f8
-18
+01
 42
-72
-00
-d8
-a0
-4b
-94
-1a
-22
-0c
-00
+18
 20
 20
-7f
-01
-68
-00
-cb
-73
-1f
-e9
 7e
+38
+68
 00
-60
-00
-cb
-f6
+c7
+c3
 1f
 e0
 fe
 01
-d8
-c0
-4b
-73
-98
-c0
-8c
-00
-e8
-c1
-80
-00
-60
-01
-cc
-35
-68
-00
-cb
-73
-1f
-e3
-7e
-00
-1f
-e1
-7e
-03
 60
 00
-cc
-3b
+c7
+c3
 20
 60
 00
 00
-60
-02
-4c
-20
 da
 20
-00
-00
-df
+46
+9a
 20
-00
-04
-d8
-c0
-4c
+40
+7e
+54
 20
-e8
-c0
-80
-00
-9a
+34
+01
+bc
 20
-a2
-00
-c2
+60
 00
-01
-ca
-1a
-22
-7e
 00
-60
-01
-4c
-a9
+20
+40
+56
+52
 68
 00
-cc
-a9
+c7
+c3
+1f
+e6
+7c
+01
+24
+41
+56
+50
 68
-08
-cc
-aa
-98
-40
-fe
 00
-60
-00
-cc
-ab
+c7
+c3
 20
-60
-00
+7a
 00
-68
 00
-cb
-f8
 1f
 e0
-fe
-02
+ff
+ff
 60
 00
-cb
-fa
+c7
+c3
+20
+20
+3f
+90
 68
+01
+46
+9f
+20
+7a
 00
-cb
-f9
+00
+70
+48
+06
+01
+70
+48
+07
+0a
+20
 60
 00
-cb
-b4
-68
 00
-cb
-f8
-1f
-e9
+70
+47
+9e
+01
+20
+40
+58
+14
+70
+4a
 fe
+01
+20
+20
 00
-68
-08
-cb
-f7
-18
-41
-04
-03
-18
-43
-84
+e7
+20
+77
 00
-98
-41
-fe
 00
 68
-08
-cc
-34
-98
-40
-fe
 00
-e0
-a0
-80
+c1
+e2
+20
+7a
 00
-68
 00
-cb
-f8
-98
+20
+40
+52
+71
+24
+7a
 00
-72
 00
-d8
-c0
-4b
-94
-20
+68
+00
+c7
+9e
 20
-7f
+5a
 01
+ca
 68
-08
-cc
-03
+02
+46
+d3
+c2
+82
+bf
+8a
+c2
+84
+bf
+8a
 20
 40
-01
-ea
-60
-08
-cc
-03
-20
-60
+3f
+97
+24
+74
 00
 00
 20
 40
 01
-ee
-18
+85
+20
 40
-84
 01
-18
-41
-04
-03
+88
 20
-60
+40
+01
+c5
+68
 00
+cb
+03
+c0
 00
+81
+e2
 68
 00
-cc
+cb
+0a
 20
-1f
-e1
-7e
-03
-1f
-ef
-a2
-04
-58
+7a
+00
 00
-4c
-09
-9a
 20
-fe
+20
+3f
+81
+68
 00
-98
-40
-8c
+c6
+9a
+60
 00
-e8
-c0
+cb
+04
+68
+00
+c6
+9b
+e0
+a0
 80
 00
-60
+68
 00
-cc
-02
-20
-60
+c6
+9d
+e0
+a0
+80
 00
+68
+01
+46
+9f
+e0
+a1
 00
-78
-44
-fc
 00
-78
-43
-fc
+da
+20
 00
-58
-55
-55
-55
-98
+07
+20
+40
+4d
+63
+68
+01
+42
+4e
+e0
+a1
 00
-1e
 00
-68
+58
 00
-cc
 02
-1f
-ed
-84
+a1
+e0
+a1
 00
-79
-20
+00
+68
+02
+cb
 04
-01
-18
-43
-1c
+e0
+a2
+80
 00
 20
 60
@@ -2054,1868 +2002,1760 @@
 00
 20
 40
-53
-c4
-68
-02
-4c
+7e
+34
 20
-98
+20
+3e
+e0
+1a
+62
+7e
 00
+c0
+0a
+02
+03
+c0
+0a
+82
+0e
+c0
+14
+82
 12
-00
+c0
+19
+02
+14
+c0
 20
-40
-29
+02
+16
+c0
+02
+02
 18
-68
-08
-cc
+c0
+09
+82
+18
+c0
+0c
+b3
+df
+c0
+10
+82
+1c
+c0
+00
+82
+1e
+c0
+01
 02
+26
+c0
+15
+82
+2a
+20
+20
+41
+7d
 20
 40
-29
-1f
+01
+cc
 58
 00
-05
 00
+00
+60
+01
+cb
+66
 20
 40
-2a
-8f
-20
-40
-29
-24
-20
-40
+34
+10
+70
+4b
+6d
 01
-f7
-78
-57
-fc
-00
-78
-26
-fc
-00
-78
-30
-fc
-00
-78
-50
-7c
-00
-78
-28
-7c
-00
-68
-01
-4b
-fb
-98
-00
-36
-00
-37
-c1
-84
+68
 00
+c7
+a1
 24
-2c
+3a
 02
-49
-78
-46
-fc
-00
-78
-25
-fc
-00
-78
-23
-fc
-00
-78
-24
-fc
-00
+0b
+70
+4b
+6b
+14
 20
 40
 02
-42
-60
-00
-cc
-ac
-68
-08
-cc
-ab
-98
-46
-7c
-00
-24
-22
-82
-45
+b1
+20
+40
+01
+af
+20
+20
+41
+c3
 20
 40
 02
-42
-60
-00
-cb
-72
-68
-00
-cc
-3e
-1f
-e6
-7c
+2f
+20
+40
+01
+23
+70
+11
+c6
+a2
+20
+20
+05
+58
+70
+0a
+99
+12
+20
+20
+7d
+8f
+70
+11
+c6
+b3
+20
+20
+05
+58
+70
+11
+c6
+a1
+20
+20
+05
+58
+70
+11
+c6
+a3
+20
+20
+05
+58
+70
+11
+c6
+70
+20
+20
+05
+58
+70
+11
+c6
+b1
+20
+20
+05
+58
+20
+40
 02
+64
 20
-22
-82
-25
-68
+40
+01
+cc
+58
 00
+00
+00
+60
+01
 cb
-72
-68
-08
-cb
-f9
-a8
+66
+20
 40
-0e
+02
+b1
+20
+40
+02
+eb
+70
+48
+09
 00
-24
 20
-82
-45
+20
+42
+ca
 20
 40
 02
-42
-e0
-a0
-80
-00
-1f
-e9
-7e
-00
-1f
-e1
-72
-1f
+2f
 20
-22
-82
-2d
+40
+01
+23
+70
+11
+c6
+b4
+20
+20
+05
+58
+70
+11
+c6
+b2
+20
+20
+05
+58
 20
 40
 02
-42
-e0
+2f
+70
+11
+c6
 a0
-80
+20
+20
+05
+58
+68
 00
-c2
+ca
+fe
+20
+7a
 00
-02
-2a
-18
-a2
-22
+00
+70
+4a
+fe
 00
 20
 40
-02
-42
-60
 00
-cd
-33
-1a
-22
-0a
-00
-09
-80
+e7
+58
 00
-18
-78
-28
-7c
 00
-db
-60
 06
+20
+40
 64
+14
 1f
-ef
-7e
-00
+e1
+fe
+08
 1f
-f1
+ed
 7e
 00
+1f
 e0
-a1
-80
-00
-78
-45
-fc
-00
+fe
+06
 20
-23
+20
+64
+13
+20
+40
 02
-45
-78
-37
-fc
-00
-68
-00
-80
-17
-1f
-e0
-a2
-00
+fb
 20
 40
+03
 29
-81
-78
-46
-fc
-00
 20
 40
-29
-18
-68
-00
-cd
-33
+02
+49
 20
 40
-00
-6c
+02
+b4
 20
-60
-00
-00
-09
-80
-00
-08
-19
-89
-7e
-00
+40
+02
+85
 20
-60
-00
-00
-78
-4d
-fc
-00
-78
-45
-fc
-00
+40
+02
+aa
 20
 40
-26
-4d
+02
+8a
 20
-60
-00
-00
+40
+42
+34
 20
+40
+42
+37
 20
+40
 02
-45
+73
 20
 40
-29
-18
-68
-08
-cc
 02
-20
-20
-29
-33
+76
 20
 40
-53
-c4
-68
 02
-4c
+7e
 20
-98
-00
-12
-00
+40
+02
+6b
 20
 40
-01
-f7
+42
+31
 20
 40
 02
-4a
-79
+6e
 20
-2a
-00
-78
-2e
-fc
+20
+42
+3a
+68
 00
-78
-30
-7c
+cb
+66
+20
+7a
 00
-78
-50
-fc
 00
-19
-31
-7e
+da
+60
+4b
+67
+da
+40
+02
+4e
+20
+20
+33
+6d
+70
+4b
+67
+01
+68
 00
+cb
+68
 1f
-ec
+e0
 fe
-00
+01
 1f
-f1
-fe
-00
-08
-00
-86
-28
-78
-4e
-fc
-00
-78
-2d
-fc
-00
-78
-23
-fc
+e1
+7e
+01
+60
 00
-78
-24
-fc
+cb
+68
+c0
 00
+02
+66
 68
+03
+4b
+60
+60
+03
+44
+a0
+d8
+e0
 00
-cc
-ab
-08
+07
+20
+40
+43
+ce
+20
+40
 00
-86
-08
-68
+e0
+58
 00
-cb
-fa
-98
 00
-72
+05
+e0
+c0
+80
 00
 d8
 c0
 4b
-b4
-e8
-c0
-80
-00
-08
-00
-86
-08
-c2
-00
+10
+20
+40
 02
-63
-78
-24
-7c
-00
-08
-00
-86
-18
-78
-44
-7c
-00
-37
-d3
-82
-00
+5e
 20
-00
-00
-64
-78
-4e
-fc
-00
-78
-4d
-fc
-00
 20
-60
-00
+7d
+f4
+d8
+a0
+43
+7b
+df
+20
 00
+13
 20
 40
 7f
-e9
-68
-0a
-4c
-19
-1c
-42
-7e
-00
-98
-46
-7c
+01
+20
+40
+57
+b8
+70
+43
+8f
 00
-24
-41
-2d
-18
-1f
-e2
-24
+20
+60
 00
-68
-02
-4c
-19
-68
-08
-cc
-1d
-98
-40
-84
 00
-1a
-42
-7e
+d8
+e0
 00
-98
-46
-7c
+07
+20
+20
+43
+ce
+70
+43
+6f
 00
-24
-61
+70
+43
+8f
 00
+d8
+e0
 00
-79
-3f
-fe
-1c
+07
+20
+40
+43
+d2
+20
+20
+01
+67
+da
+60
+48
+09
+da
+40
+63
+7a
+20
+20
+33
+6d
+da
 60
+4b
+09
+da
+40
 02
-4c
-19
+71
 20
 20
-7f
-e7
+33
+6d
+70
+4b
+0a
+01
 20
+60
+00
+00
+da
+60
+46
+c6
+da
 40
-29
-bb
+3d
+60
+20
+20
+33
+6d
+68
+00
+cb
+6d
 20
 7a
 00
 00
-68
-08
-cc
-b2
 da
-20
-0d
-9e
-20
+60
+4b
+6b
+da
 40
 02
-84
-60
-08
-cc
-b2
+7b
 20
-60
+20
+33
+6d
+68
 00
+cb
+6c
+24
+7a
 00
-1a
-22
-7e
 00
-98
+20
+20
+5b
+f5
+da
+60
+4b
+41
+da
 40
-8a
-00
+02
+81
+20
+20
+33
+6d
 68
 00
-80
-18
-e0
-a0
-80
+c7
+c5
+60
 00
-18
+c1
+72
+70
+4b
 40
-84
 01
-18
-41
-04
-07
 20
 60
 00
 00
-d8
+da
+60
+48
+07
+da
 40
-00
-00
-df
+02
+88
 20
-00
-08
-1a
-22
-0c
-00
-e8
-c0
-80
-00
-98
-40
-84
-00
-c2
-00
-02
-8e
-18
-49
-7e
-00
-1f
-e2
-04
-00
-c6
-93
-00
-00
-1f
-e6
-fc
-0a
 20
-40
-7f
-86
-18
-07
-fe
-00
-1f
-f2
-7e
-00
-18
-07
-04
-00
-98
-41
-84
+33
+6d
+70
+48
+06
 00
 20
 60
 00
 00
-20
-60
-00
+68
 00
-c6
-13
+c7
+20
+c1
+01
 00
 00
 20
 40
 03
-8c
-20
-40
-02
-a6
-68
-00
+60
 c0
-40
-c3
-00
-02
-a3
+03
+82
+96
 68
 00
-80
-a0
-24
-7a
-00
+c6
+85
+60
 00
-58
+c6
+da
+68
 00
+c6
+db
+c1
 00
+80
 00
-60
-04
+70
+46
+db
+01
+d8
+e0
 00
-a1
+09
 20
-60
-00
-00
+40
+43
+d2
+20
+20
+43
+ca
+70
+47
+a0
+28
 20
 40
 02
-bb
+99
 20
+20
+43
+b0
+da
+60
+46
+da
+da
 40
 02
-a3
+9c
 20
-40
-3e
-bf
 20
-40
-03
-1b
-68
-12
-00
-70
+33
+6d
 68
-1a
-00
-78
-98
-41
-84
-00
-18
-44
-04
-00
-60
-1a
 00
-7c
-68
-10
-80
-7d
-79
-3f
-fe
+cb
+66
+24
+3a
 02
-60
-10
-80
-7d
+a7
 68
-10
-80
-7e
-79
-3f
+01
+46
+82
+2f
+ef
 fe
-06
-60
-10
-80
-7e
-68
-08
-cb
-27
+0b
 20
 40
-67
-fb
+c2
+d4
 68
-08
-cb
-27
-79
-20
-04
+01
+46
+82
+2f
+ef
+fe
 07
+20
+40
+c3
+92
 d8
-a0
-80
-78
+e0
+00
+09
 20
+40
+43
+ce
 20
+20
+43
+b8
 68
-30
-68
+01
+46
+87
+60
+01
+46
+ac
+20
+60
 00
-cb
 00
+68
+00
+c7
+9f
 20
 7a
 00
 00
-20
-20
-05
-07
-20
+da
+60
+47
+a0
+da
 40
-29
-6c
+02
+af
 20
-40
-34
-16
 20
-40
-74
-b9
+33
+6d
+70
+47
+9f
+00
 20
-35
-82
-cb
-68
-01
-c4
-a3
-60
-01
-cb
-69
 20
-40
+34
+0a
+70
+47
+9f
+00
+70
+47
+a0
 00
-01
 20
-40
-02
-cc
+60
+00
+00
+68
+00
+cb
+23
 20
-40
-04
-f0
+7a
+00
+00
 68
 00
-c2
-10
+cb
+26
 c0
-19
+00
 82
 d2
-c0
-1a
-02
-d5
-20
-20
-04
-c0
-20
 20
+40
 02
-f5
+df
 68
 00
-cc
-af
-60
-00
-c1
-de
-20
+cb
+27
+1f
+e0
+fe
+01
 60
 00
-00
-70
-47
-20
-02
-20
-40
-04
-f0
-20
-20
-03
-79
-68
-03
-41
-d0
-20
-3a
-33
-eb
-20
-20
-42
-74
-70
-4b
-6d
-01
-70
-47
-a1
-01
-68
-01
-46
-a8
+cb
+27
 68
 08
 cb
-68
-18
+28
+98
 46
 7c
-ff
-24
-22
-82
-dc
-58
 00
-02
-58
-60
-01
-46
-ae
 20
-40
-34
-18
+42
+82
+c0
 20
-40
-02
-e4
-58
+60
 00
 00
-04
-e0
-c0
-80
+70
+4b
+2d
 00
-d8
-c0
-43
-90
 20
 40
-05
-78
-20
-20
-7d
-f4
-da
-20
-43
-70
-ea
-20
-80
+02
+f1
+68
 00
+c7
 20
-7a
-00
+c1
+80
+80
 00
-98
-c0
-a2
+68
+01
+46
+82
+c3
+84
+80
 00
-e8
-c0
+c3
 80
 00
-c1
 00
-80
+68
 00
-20
-20
-02
-e5
+cb
+73
+c0
+ff
+82
+d0
 70
 4b
-68
-5a
-20
-60
-00
+29
+01
+70
+4b
+2c
 00
 70
 4b
-68
-ff
+2b
+01
 70
-42
-10
-34
-58
-0f
-0f
-0f
-60
+4b
+2a
+05
+70
+4b
+23
 01
-c4
-a0
-60
+70
+4b
+26
 01
-c4
-a3
 20
 60
 00
 00
 70
-11
-c5
-61
-20
-20
-07
-59
-70
-42
-12
-76
-20
-20
-3d
-36
-20
-40
-02
-f5
-20
-40
-40
-c0
-20
-40
-40
-d9
-c0
-18
-83
-02
-20
-40
-40
-d1
-20
-00
-03
-e8
+4b
+29
+05
 20
 20
 02
-f9
-70
+ca
+da
+60
 4b
-00
-01
-20
-40
-64
-0f
-20
+2a
+da
 40
 02
-f7
-20
+d5
 20
-64
-11
 20
-40
-03
-07
+33
+6d
 68
 00
-c6
-de
-c0
-38
-40
-e8
-70
-46
-e0
-01
-20
+cb
+29
 60
 00
+cb
+2a
+68
 00
+cb
+2c
 20
-40
+3a
 02
-f5
-58
+dd
+68
 00
-80
-06
-20
-40
-64
-13
+cb
+2b
 20
-00
-2e
+3a
+02
+ef
+1f
 e0
-20
-20
-03
-0c
+ff
+ff
+60
+00
+cb
+2b
 68
 00
-c7
-7a
+cb
+25
 c0
-7f
-83
-0f
-20
-20
-05
-07
-68
 00
-c6
-e1
-60
+82
+f1
+70
+4b
+25
+01
+68
 00
 c7
-7a
 20
+c0
+00
+82
+e7
+68
+08
+cb
+24
+79
 20
-05
+04
 07
 20
 40
-02
-f5
-58
-00
-00
-06
-20
-40
-64
-14
-1f
-e1
-fe
+68
+0e
+68
 08
-1f
-ed
-7e
-00
-1f
-e0
-fe
-06
-20
+cb
+24
 20
-64
-13
-70
-11
-c5
-80
 20
+68
+25
+68
+08
+cb
+24
 20
-07
-59
+40
+68
+0e
 68
 08
 cb
-46
+24
 20
 20
 68
-25
-70
-80
-86
-40
-70
-80
-87
+29
+68
+00
+cb
+27
+24
+7a
+00
 00
 68
-10
-80
-81
-79
-3f
-fe
 00
-79
-3f
-fe
-01
-79
-20
-7e
-03
-79
-3f
-fe
-04
-60
-10
-80
-81
+cb
+2d
+24
+7a
+00
+00
 58
 00
 00
 00
 60
-02
 01
-f5
+cb
+2a
 68
-10
-80
-7f
-79
-3f
-fe
 00
-60
-10
-80
-7f
-20
-60
+cb
+2b
+24
+3a
+02
+f5
+70
+4b
+23
 00
+70
+4b
+26
 00
+70
+4b
+27
+00
+70
+4b
+25
+00
+68
+08
+cb
+24
 20
 40
-03
-77
-20
-40
-44
-23
 68
-01
-47
-78
-d8
-40
-aa
-55
-98
-46
-7c
-00
-20
-22
-83
+0e
 68
-60
-09
-47
-78
+08
+cb
+24
+20
 20
-40
-44
-1c
+68
+25
 68
 00
 c6
-e1
+ce
+1f
+e0
+fe
+01
 60
 00
-c7
-7a
-20
-40
-03
-77
+c6
+ce
+1f
+e6
+7c
+0a
 20
-40
-03
-47
+61
+00
+00
 20
 40
-03
-5f
+68
+a8
+70
+46
+ce
+00
 20
 40
 03
-4b
+11
 20
 40
-03
-56
-d8
-40
-00
-02
+69
+08
+60
+01
+47
+0f
 da
 20
 47
-c4
-da
+09
+20
 40
-00
-5f
+03
+1c
 68
-01
-c7
 00
-9a
-40
-fe
+c2
+31
+c2
+80
+b4
+0a
+c3
 00
-20
-40
-03
-4b
-20
-40
 03
-56
+0c
+70
+4a
+fd
+01
 20
-40
-03
-6e
 20
+43
+e7
 20
-02
-f5
-d8
 40
+43
+e9
+68
 00
-04
-da
-20
-4c
+ca
+fd
 20
-da
-40
+7a
 00
-5b
-20
-60
 00
+70
+4a
+fd
 00
+20
+20
+02
+f1
 68
-01
-c7
 00
-60
-01
 c2
-32
+2d
+c0
+01
+03
+14
 20
-40
-65
-2a
 20
+68
+ec
+68
+10
+80
+78
+79
+3f
+fe
+05
+60
+10
+80
+78
+20
+40
+68
+f4
+68
+10
+80
+78
+79
 20
-03
-56
-1f
-e2
-26
-00
-1a
-22
 7e
+05
+60
+10
+80
+78
+20
+60
 00
-1f
-e0
-ff
-fc
-1f
-e2
-24
 00
 ea
-42
+24
 00
 00
 60
-02
-4b
-48
-1a
-62
-7e
-00
-20
-40
-65
-52
+04
+0a
+9a
+68
+09
+0a
+9c
 68
-02
-4b
-48
-e2
-42
-00
-00
-20
-60
-00
-00
-58
 01
-86
+0a
 a0
-20
-40
-2a
-8f
-20
-40
-65
-0b
-58
+98
+46
+7c
 00
-01
-fa
-60
-11
+24
+21
+69
+44
+68
+09
+0a
+9e
+98
+46
+7c
 00
-8c
-58
+24
+21
+69
+40
+68
+00
+c2
+31
+79
+3f
+fe
 00
+60
 00
-05
-20
-40
-64
-f3
 c2
-80
-03
-56
+31
 20
 60
 00
 00
-58
+68
+02
+46
+d3
+c4
+02
 00
-47
-7f
-d8
-40
-47
-20
-98
+00
+68
+01
 46
-04
+82
+c3
+85
+80
+00
+c3
+83
+00
 00
 68
 01
-c7
+4b
+2b
+24
+7a
 00
-da
-20
-47
-20
-20
-60
 00
+68
 00
-20
-40
+c6
+cf
+1f
+e0
+fe
+01
+60
+00
+c6
+cf
+1f
+e6
+7c
+1e
+24
+41
 03
-77
-20
-40
+38
+c0
+01
+82
+df
+c0
 03
-5f
+02
+f1
 20
+60
+00
+00
+70
+46
+cf
+01
 20
-65
-62
 20
-40
+02
+f1
+68
+00
+c6
+e0
+c0
+01
 03
-65
+4c
 20
-40
-05
-71
 20
-40
-43
-1a
-68
-02
+03
+3f
+70
 47
-7b
-60
+7a
 02
-4c
-20
 20
 60
 00
 00
-70
-0a
-a2
-b9
-20
-40
-03
-1d
+68
+00
+c7
+7a
+1f
+e6
+7c
+01
 20
+42
+83
+3d
+68
 00
+c7
+7a
+c0
 00
-64
-20
-40
-65
-0b
-da
-20
-4b
+03
 48
+c0
+01
+83
+4a
 68
-08
-8a
-a2
-20
-40
-65
-56
-20
 00
-00
-64
-20
+cb
+36
 60
 00
+c6
+b5
+20
+20
+3d
+c1
+68
 00
-70
-0a
-a2
-ab
+cb
+34
 20
 20
 03
-6f
+46
+68
+00
+cb
+37
+20
 20
-40
 03
-7c
+46
+68
+00
+c7
+7a
 20
-34
+5a
+03
+3d
+68
+00
+c7
+7a
+c0
+00
+bd
+88
+c0
 01
-ae
-20
+83
+52
 20
-01
-ac
-df
 20
+3d
+8e
+58
 00
-02
-d8
-c0
-4c
+00
+05
 20
 20
-40
-7f
-e7
+3d
+be
+78
+54
+7c
+00
 58
 00
-ff
-ff
-e8
-c9
-00
-00
-98
-46
-7c
 00
-24
-42
-ff
-e9
-c2
 00
-03
-80
-20
 60
-00
-00
-20
-40
-44
-01
-68
-01
+03
 46
-9f
-20
-7a
-00
-00
-70
-4d
-38
-01
-58
-00
-00
-00
-60
-01
-4d
-39
-20
-60
-00
-00
-d8
-c0
-18
-00
-d8
-a0
-48
-0c
+9b
 20
 40
 03
-94
-d8
-c0
-19
-00
+7e
 20
 40
-03
-94
-d8
-c0
-1a
-00
+40
+79
+20
+40
+40
+7e
 20
 40
 03
-94
-d8
-c0
-1b
-00
-df
+5e
+24
+34
+05
+85
 20
-00
-1b
+40
+05
+79
 20
 20
-7f
-01
-d8
-c0
-48
-0c
-d8
+3f
 a0
-18
-00
 20
 40
 03
-94
-d8
-a0
-19
-00
+60
 20
-40
-03
-94
-d8
-a0
-1a
-00
 20
 40
-03
-94
-d8
-a0
-1b
-00
-20
+9a
+da
 20
-03
-94
-68
-01
-45
-00
-24
-7a
 00
 00
 20
+40
+03
+63
 20
-41
-79
 20
 40
-58
-92
-24
-7a
-00
-00
-68
-00
-cb
-68
-c0
-7f
-83
-a9
+8e
 68
-00
+08
 c6
-c5
-1f
-e1
-7e
-03
-c1
-81
-80
-00
-68
-00
-c7
-9e
+e2
 20
-5a
+40
 03
-ff
+73
 68
-02
-46
-d3
-c2
-82
-83
-9f
+08
+c6
+e2
 20
 40
-3f
-97
-24
-74
-00
+68
+1d
+79
+20
+a2
 00
+68
+08
+c6
+e3
 20
 40
 03
-b6
+73
+68
+08
+c6
+e3
 20
 40
-03
-b9
+68
+1d
+79
+20
+a2
+01
+68
+08
+c6
+e4
 20
 40
 03
-d5
-da
-20
-46
-9a
+73
+68
+08
+c6
+e4
 20
 40
-7e
-3d
+68
+1d
+79
 20
-54
-03
-c4
+a2
+02
 20
 60
 00
 00
-70
-41
-72
-00
-70
-4b
-60
-1e
+79
 20
-60
-00
-00
-68
-00
-cb
-5f
-c1
-80
+04
+07
+d8
+a0
 80
-00
-58
-00
-00
-00
-60
-00
-cb
-5f
-60
-02
-46
-9b
+78
+20
+40
+68
+30
+79
+3f
+84
+07
 20
 20
 03
+7c
+79
+3f
+84
 07
-70
-47
-a2
+d8
+a0
+80
+78
+20
+40
+68
+30
+79
+20
+04
 07
+d8
+a0
+80
+7c
+20
+20
+68
+0a
+20
+40
+3f
+c0
+78
+54
+7c
+00
+20
+20
+3f
+e7
+20
+40
+02
+c0
+20
+40
+02
+b1
+20
+20
+42
+6d
 70
-47
-a3
-04
+11
+c6
+30
+20
+20
+05
 58
-00
-47
-a2
-60
+20
+40
+02
+eb
+70
+4a
+fe
 01
+20
+40
+01
+8d
+20
+20
 42
-18
+cb
+68
+00
+c5
+0f
+1f
+e0
+fe
+01
+60
+00
+c5
+0f
+c0
+06
+53
+95
 20
+40
+55
+aa
 20
-7e
-38
+40
+56
+1e
+20
+40
+04
+f9
+20
+20
+53
+8f
 68
 00
-c7
-c3
+80
+16
 1f
 e0
 fe
 01
 60
 00
-c7
-c3
+80
+16
+c1
+94
+00
+00
+70
+00
+16
+25
 20
 60
 00
 00
-da
 20
-46
-9a
+40
+29
+bb
 20
 40
-7e
+00
+6c
+20
+20
 54
+a3
+70
+11
+c6
 20
-34
-03
-cc
 20
-60
-00
+20
+05
+58
+70
+11
+c6
+21
+20
+20
+05
+58
+68
 00
+84
+56
+c2
+82
+83
+bf
 20
 40
-56
-52
+04
+eb
 68
 00
 c7
-c3
-1f
-e6
-7c
-01
+8e
 24
-41
-56
-50
+3a
+03
+a9
 68
 00
-c7
+84
+3f
 c3
-20
-7a
+02
+03
+ad
+68
 00
+82
+da
+20
+3a
+03
+ad
+20
+20
+56
+64
+68
 00
+c7
+8e
 1f
 e0
 ff
@@ -3923,1158 +3763,1278 @@
 60
 00
 c7
-c3
+8e
 20
 20
-3f
-90
+56
+64
 68
-01
-46
-9f
-20
-7a
-00
 00
+c4
+c4
+c0
+82
+83
+b0
 70
-48
-08
-01
-70
-48
-09
-02
+47
+8e
+03
 20
-60
-00
-00
+40
+58
+92
 20
-77
-00
-00
+5a
+01
+b8
+20
+20
+56
+22
 68
 00
+c6
+c5
+1f
+e1
+7e
+03
 c1
-e2
+81
+80
+00
+68
+00
+c7
+c3
 20
 7a
 00
 00
+68
+00
+c3
+dd
 20
-40
-52
-71
-24
 7a
 00
 00
 68
 00
-c7
-9e
+c3
+dc
+79
 20
-5a
-03
-ff
-68
-02
-46
-d3
-c2
-82
-bf
-8a
-c2
-84
-bf
-8a
+7e
+04
+60
+00
+c3
+dc
 20
 40
-3f
-97
-24
-74
+56
+50
+20
+60
 00
 00
 20
 40
 03
-b6
+b3
 20
-40
-03
-b9
 20
-40
-03
-d5
-68
-00
-cb
-05
-c0
-00
-83
-ee
+04
+ef
 68
 00
-cb
-0c
+c7
+a1
 20
 7a
 00
 00
-20
-20
-3f
-81
 68
 00
 c6
-9a
+c5
+1f
+e1
+7e
+03
+c1
+01
+80
+00
+70
+46
+c6
+02
+20
 60
 00
-cb
-06
-68
 00
 c6
-9b
-e0
-a0
+07
 80
 00
+20
+40
+58
+90
+24
+7a
+00
+00
 68
 00
-c6
-9d
-e0
-a0
+82
+d9
+1f
+e1
+7e
+03
+60
+00
+c5
+0c
+e8
+c0
 80
 00
+1f
+e1
+7e
+1f
+60
+00
+c5
+0b
+20
+7a
+00
+00
+18
+c2
+7e
+00
+60
+01
+45
+0d
 68
+00
+c5
+0c
+c0
 01
-46
-9f
-e0
-a1
+83
+d7
+20
+20
+56
+8d
+68
 00
+82
+db
+c0
 00
-da
-20
+03
+db
+c0
 00
-07
+83
+e2
+20
+20
+5c
+65
 20
 40
-4d
-63
+5c
+7b
 68
-01
-42
-4e
-e0
-a1
 00
+cb
+5f
+20
+7a
 00
-58
 00
-02
-a1
-e0
-a1
+68
 00
+c3
+d8
+60
 00
-68
-02
-cb
-06
-e0
-a2
-80
+c1
+72
+60
 00
+c7
+c5
 20
 60
 00
 00
-70
-47
-9e
+e8
+c2
+80
+00
+60
+02
+c3
+ce
+e8
+c1
+00
+00
+60
 01
-20
-40
-58
-14
+04
+5f
 20
 20
+5c
+8a
+e8
+c1
+00
+00
+c0
 02
-fe
+03
+eb
+c0
+03
+04
+17
+20
+20
+56
+98
 20
 40
 7e
-34
+a5
 20
 40
-04
-05
-20
+03
+c1
 20
-3e
-e0
-68
+40
+7e
+9f
+e8
+c1
+80
+00
+60
+01
+84
+77
+c0
 08
-c6
-e7
+03
+fa
+1f
+ec
+84
+00
+18
+46
+7c
+24
 20
-40
-05
-55
-68
+21
+04
 08
+d8
+40
+47
 c6
-e7
+60
+09
+44
+bc
 20
 40
-68
-1d
+58
+ad
+58
+00
+8e
+7a
+60
+01
+44
+bc
 20
+60
+00
+00
 20
-84
-13
+40
+59
+fa
 20
 40
-05
-5e
-68
+58
+79
+18
+c0
+8c
+07
+e8
+c0
+80
 00
-c6
-b6
 c1
+88
+80
 00
+18
+c0
+8c
+05
+e8
+c1
 00
 00
-70
+d8
+40
+18
+12
+98
 46
-b6
+7c
 00
-68
+24
+62
+80
 00
-c7
-7a
-1f
+18
+c0
+8d
+fc
+58
+00
+00
+2b
 e0
-fe
-01
-1f
-e1
-7e
-03
-60
+c1
+00
 00
-c7
-7a
-20
-20
-3d
-7e
-20
-40
-05
-5e
-20
 20
-3d
-62
-1a
-62
-7e
+60
+00
 00
 c0
-0a
+05
 04
-26
-c0
 0a
-84
-29
-c0
-14
-84
-2c
-c0
-19
-04
-2e
-c0
 20
-04
-30
-c0
-02
-04
-32
-c0
+20
+58
+ad
+68
 09
-84
-32
-c0
-0c
-b3
-df
-c0
-10
-84
-36
-c0
+04
+78
+68
 00
+c4
+e9
+c2
+81
 84
-38
-c0
+11
+68
 01
 04
-3d
-c0
-15
-84
-40
-c0
-1c
-84
-42
-c0
-1d
-04
-45
+78
 c0
-1e
+09
+da
+76
+68
+09
 04
-48
-20
-20
-41
-7d
-20
-40
-02
-fe
-70
-11
-c5
-b0
+78
 20
 20
-07
 59
+bf
+68
+01
+44
+fa
+98
+46
+7c
+00
+24
+22
+84
+0d
 20
 40
+5a
+42
+24
+34
 04
-51
-70
-11
-c5
-a2
+0d
 20
 20
-07
 59
-70
-0a
-99
-12
-20
-20
-7d
-8f
-70
-11
-c5
-b3
-20
-20
-07
-59
-70
-11
-c5
-a1
-20
-20
-07
-59
-70
-11
-c5
-a3
+e2
+e8
+c0
+80
+00
+c0
+00
+84
+1b
+c0
+02
+84
+1d
 20
 20
-07
-59
+5a
+f5
 70
-11
-c5
-b5
+4b
+6c
+01
 20
 20
-07
-59
+5b
+09
 70
 11
-c5
-b1
-20
+c6
+82
 20
-07
-59
 20
-40
-02
-fe
+05
+58
+68
+00
+80
+16
+c0
+93
+d6
+f2
 20
 40
 04
-c3
+25
+d8
+e0
+00
+00
+68
+01
+44
+82
 20
+20
+7f
+08
+18
+0a
+7e
+00
+d8
 40
-04
+01
 ff
-70
-48
-0b
+98
+41
+7e
 00
+1f
+e0
+fe
+fa
 20
 20
-42
-ca
+3c
+be
+78
+55
+fc
+00
+20
+37
+04
+2d
+24
+36
+d8
+06
 20
 40
+2b
+cb
+68
+01
+40
+c1
+60
+01
 04
-51
-70
-11
+4d
+68
+00
+c6
 c5
-b4
+c0
+81
+ab
+de
 20
 20
-07
-59
+57
+fb
 70
 11
-c5
-b2
-20
+c6
+22
 20
-07
-59
 20
-40
+05
+58
+68
+10
+80
+77
+1f
+e1
+7e
+fd
+60
+10
+80
+77
+68
+18
+80
+73
+18
+41
+84
 02
-fe
-70
-11
-c5
-92
-20
-20
-07
-59
+60
+18
+80
+73
 20
 40
+63
+ee
+18
+41
 04
-51
-70
-11
-c5
-a0
-20
+fd
 20
-07
-59
-70
-4b
-66
-01
+00
+00
+0d
 20
 40
 04
-c3
-20
-40
-02
-fe
+42
+60
+18
+80
+73
 20
-40
-3f
-8d
+60
+00
+00
 20
 40
-43
-66
-20
+64
+dd
+68
+10
+80
+81
+79
 20
+7e
+00
+79
+3f
+fe
+01
+79
+3f
+fe
 03
-35
+60
+10
+80
+81
 20
-40
-04
-51
+60
+00
+00
 70
 11
-c5
-a4
+c6
+00
 20
 20
-07
-59
-68
-00
-cb
-00
+05
+58
 20
-7a
+40
+21
+c9
+24
+74
 00
 00
-70
-4b
+78
+54
+7c
 00
+70
 00
+11
 20
-20
-03
-12
+79
+3f
+80
+0b
+79
+3f
+80
+2d
 20
 40
-04
-c6
+2a
+4f
 20
 40
-04
-99
+22
+e6
+c5
+05
+84
+57
 20
 40
+24
+55
+24
+3a
 04
-b5
+50
+c5
+16
+84
+5f
 20
-40
-04
-9e
 20
-40
-42
-34
+21
+ec
 20
 40
-04
-92
+2a
+4d
+d8
 20
-40
-04
-76
+00
+10
 20
 40
-04
-73
+22
+dc
+79
+20
+00
+2d
+79
+3f
+80
+0b
+18
+00
+08
+01
+70
+00
+11
+02
 20
-40
-04
-7c
 20
-40
 04
-82
+50
+68
+02
+01
+65
+1f
+e0
+fe
+08
+60
+02
+01
+65
+20
+20
+21
+f8
+c5
+16
+26
+4d
+20
+20
+25
+8f
+70
+11
+c6
+23
+20
+20
+05
+58
+68
+00
+80
+30
+2f
+ef
+fe
+00
 20
 40
-04
+84
+6b
+20
+20
+24
 8a
+68
+00
+80
+47
+2f
+ef
+fe
+03
 20
 40
+84
+ef
+24
+40
+84
+eb
+20
+20
 04
-6b
+f9
 20
 40
-42
-31
+24
+f0
+24
+2c
+28
+f9
 20
 40
-04
-6e
+29
+bb
 20
 40
-04
-65
+00
+6c
 20
 20
-42
+25
+18
+c6
+13
+00
+00
+20
+40
+2a
+fa
+68
+01
+c1
+6f
+20
+7a
+00
+00
+68
+00
+c0
+91
+20
+7a
+00
+00
+68
+00
+c6
+5a
+20
 3a
+04
+7f
 68
 00
-cb
-71
+c5
+b1
 20
 7a
 00
 00
-1f
-e0
-ff
-ff
-60
+68
 00
-cb
-71
+c4
+c0
 24
 7a
 00
 00
 20
-20
-42
-b0
-da
-60
-48
-0b
-da
 40
-63
+2c
+3a
+24
 7a
-20
-20
-33
-6d
-da
-60
-4b
-0b
-da
-40
-04
-71
-20
-20
-33
-6d
-70
-4b
-0c
-01
-20
-60
 00
 00
-da
-60
-46
-c6
-da
+68
+00
+c0
 40
-3d
-60
-20
+2f
+e0
+0e
+03
+24
 20
-33
-6d
-da
-60
-46
-ae
-da
+ab
+9d
+68
+01
 40
-04
-79
+42
+d8
+40
+ff
+ff
+98
+46
+7c
+00
+20
+62
+80
+00
 20
 20
-33
-74
+2b
+7d
+78
+55
+fc
+00
 68
 00
-cb
+80
 30
-24
-7a
+c4
 00
+80
 00
+24
+36
+ab
+d0
 20
-20
-42
-66
-da
-60
-4b
-60
-da
 40
-04
-7f
-20
-20
-33
-6d
+2b
+cb
 68
-00
-c7
-c7
+01
+40
+c1
 60
+01
 00
-c1
-72
-20
-20
-04
-97
+3e
 68
 00
-cb
-67
+80
+47
+c2
+81
+ab
+de
+c5
+86
+ab
+de
 20
-7a
-00
-00
-da
-60
-4b
-6c
-da
 40
+52
+74
+24
+3a
+2b
+de
+20
+5a
 04
-87
+99
 20
 20
-33
-6d
-68
+2b
+be
+70
 00
-cb
-6d
-24
-7a
+8a
+01
+70
 00
+8b
 00
 20
-20
-5b
-f5
-68
-00
-cb
-68
-c1
-ff
-80
-00
-68
-00
-cb
-67
-24
-7a
+60
 00
 00
-da
-60
-4b
 70
-da
-40
-04
-91
+11
+c6
+01
 20
 20
-33
-6d
+05
+58
+70
+11
+c6
+02
 20
 20
 05
-6f
-da
+58
+68
+00
+85
+52
 60
-4b
-61
-da
-40
-04
-95
+00
+84
+c9
+c0
+09
+84
+a4
 20
 20
-33
-6d
-58
-24
-9f
+5d
+b4
+20
+40
+5d
+cf
+70
+4a
+ff
+01
+68
 00
-60
+cb
 01
-cc
-27
+20
+7a
+00
+00
 70
 4b
-5f
 01
+02
 20
 60
 00
 00
-da
-60
-48
-09
-da
-40
-04
-9c
+70
+11
+c6
+10
 20
 20
-33
-6d
-70
-48
-08
-00
+05
+58
 20
-60
+40
+62
+bc
+24
+7a
 00
 00
+68
+00
+80
+55
 20
-40
-40
-83
+7a
+00
+00
 c0
-03
-84
-a3
-20
-40
-43
-a9
-d8
-e0
-00
-09
-20
-20
-43
-d2
-70
-47
-a0
-28
-20
-40
+02
 04
-a6
-20
-20
-43
-b0
-da
-60
-46
-da
-da
-40
+ce
+c0
+08
 04
-a9
+b3
 20
 20
-33
-6d
+63
+20
 68
-02
-46
-d3
-c3
-84
-80
 00
-70
-4b
-6e
+c5
+5b
+c1
 00
-68
-01
-46
-82
-2f
-ef
-fe
-0b
-20
-40
-c2
-d4
-68
-01
-46
-82
-2f
-ef
-fe
-07
-20
-40
-c3
-92
-d8
-e0
 00
-09
+00
+c0
+00
+84
+b7
 20
-40
-43
-ce
 20
+63
+5f
 20
-43
-b8
-68
-00
-cb
-30
-24
-7a
-00
+74
+80
 00
 68
 00
-c7
-9f
+81
+6d
+c2
+80
+04
+bb
 20
-7a
+20
+63
+99
+68
 00
+cb
+01
+c0
 00
+e3
+9d
 68
 00
-c7
-a0
+c1
+bd
 20
 3a
-04
-be
-1f
-e0
-ff
-ff
-60
-00
-c7
-a0
-20
-60
-00
-00
-70
-47
-9f
+63
+a9
+68
 00
-20
-20
-34
-0a
-70
-47
-9f
+84
+d1
+c4
 01
-70
-47
-a0
-28
-20
-60
-00
-00
-70
-47
-9f
-00
-70
-47
-a0
+80
 00
-20
-60
+c4
+01
 00
 00
 68
 00
 cb
-26
+00
 20
 7a
 00
 00
-68
+70
+4b
 00
-cb
-29
-c0
 00
+68
+02
 04
-cc
-c0
-00
-84
-d6
-20
-60
-00
+e9
+d8
+40
 00
-20
+14
+98
 40
-04
-e0
-68
+84
 00
-cb
-2e
-1f
-e0
-fe
-01
-60
+1c
+42
+7e
 00
-cb
-2e
-68
-08
-cb
-2a
 98
 46
 7c
 00
+24
+21
+04
+cc
 20
-42
-84
-d4
+20
+63
+49
+70
+4b
+00
+01
 20
 60
 00
 00
 70
-4b
-30
-00
+48
+09
+14
 20
 20
-04
-e7
+63
+6f
+20
+40
+62
+bc
+24
+3a
+7d
+db
 68
 00
-cb
-2c
-1f
-e0
-ff
-ff
-60
-00
-cb
-2c
-24
-7a
-00
-00
-68
-00
-cb
-2b
-60
-00
-cb
-2c
-68
-00
-cb
-28
+8a
+99
+c5
+84
+fd
+d6
 c0
-00
+0f
 84
-e7
+d8
 c0
-00
+10
 04
-e0
+db
+c0
+09
+04
+e5
 20
-60
-00
-00
+20
+7d
+ca
 70
-4b
-28
 01
+85
+34
 68
-08
-cb
-27
-20
-40
-68
-0e
-68
-08
-cb
-27
+03
+04
+4f
 20
 20
+04
+dd
+70
+01
+85
+33
 68
-29
-58
-00
-00
+03
 00
+40
 60
+03
 01
-cb
-2c
+86
 68
+02
+46
+d3
+c4
+03
+80
 00
-cb
-2d
-24
-3a
-04
-eb
-70
-4b
-26
-00
-70
-4b
-29
-00
-70
-4b
-2e
-00
-70
-4b
-28
+d8
+e0
 00
-68
-08
-cb
-27
-79
-3f
-84
 07
 20
+40
+43
+d2
+20
+40
+42
+e8
+20
+40
+42
+fb
+20
 20
-68
-06
-70
-4b
-30
 01
+23
+20
+40
+58
+90
+24
+7a
+00
+00
+20
+20
+5a
+bf
 70
-4b
-26
+4d
+67
 01
 70
-4b
-29
-00
-70
-4b
-2e
+4d
+64
 00
 20
 60
@@ -5082,2612 +5042,2759 @@
 00
 68
 00
-cf
-f0
+cd
+64
 1f
 e0
 fe
 01
 60
 00
-cf
-f0
-70
-4b
-30
-00
-70
-4b
-2b
-03
-70
-4b
-2d
-01
-70
-4b
-2c
-05
-70
-4b
-26
-01
-70
-4b
-29
-01
+cd
+64
 20
 60
 00
 00
 68
 00
-cf
-f1
+cd
+64
 1f
-e0
-fe
-01
-60
-00
-cf
-f1
-68
-00
-cb
-2e
+e6
+7c
+02
 24
-7a
+41
+04
+f7
+68
 00
+cd
+64
+c1
 00
-68
 00
-cb
-30
-24
-7a
 00
+1f
+e0
+ff
+ff
+60
 00
+cd
+64
 20
-20
-04
-e5
-68
+60
 00
-c6
-e0
-c0
-01
-05
-1d
-c0
-03
-05
-13
-68
 00
-c7
-7a
+70
+4d
+64
+03
 20
-5a
-05
-19
-68
+60
 00
-c7
-7a
-c0
 00
-85
-10
-c0
+68
 01
-bd
-8c
-20
-20
-3d
-88
-68
+46
+82
+c3
+85
+80
 00
-c7
-7f
-1f
-e0
-ff
-ff
-20
-20
-3d
-be
-68
+c3
+83
+80
 00
-c7
-7a
-20
-5a
-05
-19
-68
+c3
+83
 00
-c7
-7a
-c0
 00
-85
-1b
-c0
-01
-bd
-8c
-20
+da
 20
-3d
-88
-70
-47
-7a
-01
+4c
+ed
 20
+40
+00
+9c
 60
+08
+cd
+65
+58
 00
 00
-70
+82
+c5
+13
+05
+03
+58
+00
+00
+80
+98
 46
-b5
+7c
 00
-20
-20
-3d
-c1
+24
+21
+05
+1b
 68
 00
-c7
-7a
-20
-5a
+cd
+64
+1f
+e6
+7c
+02
+24
+21
 05
-19
+0b
 68
 00
-c7
-7a
+cd
+64
 c0
 00
-bd
-88
-c0
-01
-85
-23
-20
+05
+1c
 20
-3d
-8e
+60
+00
+00
+68
+00
+cd
+64
+c1
+99
+00
+00
+70
+4d
+64
+00
+68
+08
+cd
+65
 58
 00
 00
+77
+c5
+13
 05
-20
-20
-3d
-be
-78
-54
+12
+58
+00
+00
+75
+98
+46
 7c
 00
-58
+24
+61
 00
 00
+68
+00
+cd
+67
+c0
 00
-60
-03
-46
-9b
-20
-40
-05
-63
-20
-40
-40
-79
-20
-40
-40
-7e
-20
-40
 05
-30
-24
-34
+23
+1f
+e0
+ff
+ff
+60
+00
+cd
+67
+c0
+00
 05
-2e
-20
-20
-3f
-a0
+23
 70
-4b
-38
+41
+de
 00
 20
 60
 00
 00
-20
-40
+70
+4d
+64
+00
+68
+00
+cd
+67
+c0
+01
 05
-32
-20
-20
-40
-9a
-da
+21
+1f
+e0
+fe
+01
+60
+00
+cd
+67
+c0
+00
+85
+19
+70
+41
+de
+02
 20
+60
 00
 00
+70
+41
+de
+04
 20
+60
+00
+00
+60
+08
+80
+17
+18
 40
-05
-39
+a2
+00
 20
 40
+29
+81
+58
+00
 05
-3e
+00
 20
 40
-05
-43
+2a
+8f
+70
+89
+06
+01
+70
+89
+00
+3c
+70
+89
+01
+e0
 20
+00
+00
+0a
+70
+89
+02
+01
+70
+89
+02
+3d
 20
-40
-8e
+00
+00
+0a
+70
+89
+03
+b7
 20
-40
+00
+00
+0a
+70
+89
+02
+7d
+68
+00
+c1
+de
+c0
+01
 05
-49
-20
-20
+3d
+c0
+02
 05
-4f
-68
-08
-c6
-e2
+42
+c0
+10
+05
+51
 20
 40
 05
-5e
-68
-08
-c6
-e2
+47
+70
+89
+55
+d0
+70
+89
+56
+e0
+70
+89
+58
+6c
 20
-40
-68
-1d
-79
 20
-a2
-00
-68
-08
-c6
-e3
+29
+4b
 20
 40
 05
-5e
-68
-08
-c6
-e3
+4c
+70
+89
+55
+d0
+70
+89
+56
+e0
+70
+89
+58
+3c
 20
-40
-68
-1d
-79
 20
-a2
-01
-68
-08
-c6
-e4
+29
+53
 20
 40
 05
-5e
-68
-08
-c6
-e4
+47
+70
+89
+55
+d0
+70
+89
+56
+c0
+70
+89
+58
+6c
 20
-40
-68
-1d
-79
 20
-a2
-02
+29
+5b
+70
+89
+4c
+5b
+70
+89
+4d
+96
+70
+89
+4e
+2c
+70
+89
+4f
+46
 20
 60
 00
 00
-68
-08
-c6
-e5
+70
+89
+4c
+fb
+70
+89
+4d
+ef
+70
+89
+4e
+ec
+70
+89
+4f
+5e
 20
-40
-05
+60
+00
+00
+70
+89
+56
+c2
+70
+89
 55
-68
+d0
+20
+60
+00
+00
+18
+00
+2a
 08
-c6
-e5
 20
-40
-68
-1d
-7d
 20
-a2
-03
+28
+fa
 20
+40
+29
+78
 20
-05
-5e
+60
+00
+00
 68
 08
+91
 c6
-e6
-20
-40
-05
-55
+18
+51
+84
+00
 68
-08
-c6
-e6
+00
+cb
+50
+98
+46
+7c
+00
 20
+22
+85
+77
+60
+08
+cb
+50
+18
 40
-68
-1d
-7d
-20
-a2
-04
-20
-20
-05
-5e
-79
-3f
 84
-07
-d8
-a0
-80
-78
-20
-40
+01
+58
+00
+01
+00
+98
+4f
+84
+00
 68
-30
-79
-20
-04
-07
-d8
-a0
-80
-7c
+01
+cb
+51
+98
+46
+7e
+00
+68
+09
+cb
+54
+98
+40
+fe
+00
+1f
+e0
+ff
+fb
+60
+01
+cb
+57
 20
 40
+01
+61
 68
-30
-79
-3f
-84
-07
+01
+cb
+57
 d8
-a0
-80
-70
+40
+01
+00
+da
 20
+1f
+00
 20
+40
+65
+62
+68
+02
+1f
+00
+68
+0a
+4b
+5a
+98
+46
+7c
+00
+24
+22
+85
 68
-30
-79
-20
-04
-07
-d8
-a0
-80
-78
 20
 40
-68
+01
 30
-79
-3f
-84
-07
-20
-20
-05
-59
-68
+58
 00
-c6
-e0
+1f
+00
+60
+01
+41
+99
+70
+41
+9b
+40
 20
 40
-3f
-c0
-78
-54
-7c
+64
+ca
+58
+00
+00
 00
+60
+02
+41
+99
+68
+00
+91
+c6
 20
 20
-3f
-e7
+00
+01
+68
+02
+46
+9b
 20
-40
-04
-c3
-28
-0f
-fe
-26
+7a
+00
+00
 20
 40
-81
-b0
-70
-4b
-71
+05
+d1
+58
+00
+00
 03
 20
 40
-43
-86
-20
+05
+c7
 20
-41
-c1
-70
-11
+5a
+05
+c3
+24
+5a
+05
 c5
-81
+58
+00
+00
+02
 20
+40
+05
+cc
 20
-07
-59
-70
-11
-c5
-50
+5a
+05
+c3
+68
+00
+cb
+0b
+c0
+00
+85
+88
+df
 20
+00
+05
+d8
+a0
+4b
+0b
 20
-07
-59
 20
-40
-03
-77
-d8
-40
-00
-02
-da
+7e
+d4
+68
+01
+4b
+0c
+60
+01
+11
+be
+68
+01
+46
+9b
+60
+01
+11
+c0
 20
-47
-c4
-da
 40
-00
-5f
+05
+9b
 68
 01
-c7
+11
+be
+60
+01
+4b
+0c
+68
+01
+11
+c0
+60
+01
+46
+9b
+68
+01
+4b
+0e
+60
+01
+11
+be
+68
+01
+46
+9d
+60
+01
+11
+c0
+20
+40
+05
+9b
+68
+01
+11
+be
+60
+01
+4b
+0e
+68
+01
+11
+c0
+60
+01
+46
+9d
+20
+60
+00
+00
+68
+01
+11
+be
+68
+09
+11
+c0
+98
+40
+fe
+00
+60
+01
+91
+c2
+2f
+ef
+fe
+10
+20
+20
+85
+a8
+68
+00
+91
+c3
+c0
+7f
+85
+af
+68
+00
+91
+c2
+1f
+e3
+7e
+00
+60
+01
+11
+be
+60
+01
+11
+c0
+20
+60
+00
+00
+68
+00
+91
+c3
+c0
+00
+05
+ac
+68
+01
+91
+c2
+20
+20
+05
+a4
+70
+11
+c4
+00
+68
+00
+91
+c2
+20
+20
+05
+a4
+68
+00
+91
+c2
+20
+40
+05
+ba
+60
+00
+91
+be
+60
+00
+91
+c0
+20
+3a
+05
+b8
+58
+00
+00
+ff
+60
+00
+91
+bf
+60
+00
+91
+c1
+20
+60
+00
+00
+58
+00
+00
+00
+20
+20
+05
+b5
+20
+40
+05
+bf
+1f
+e3
+7e
+00
+20
+40
+05
+c0
+1f
+e6
+7e
+00
+20
+60
+00
+00
+1f
+e6
+7e
+00
+60
+00
+8a
+ae
+68
+00
+8a
+ae
+20
+60
+00
+00
+70
+4b
+0b
+00
+20
+60
+00
+00
+70
+4b
+0b
+01
+20
+60
+00
+00
+9a
+26
+7c
+00
+24
+21
+7f
+ef
+9a
+46
+7c
+00
+24
+21
+7f
+ef
+20
+20
+7f
+f1
+9a
+26
+7c
+00
+24
+61
+00
+00
+9a
+46
+7c
+00
+24
+61
+00
+00
+20
+20
+7f
+f1
+68
+01
+46
+9b
+20
+40
+05
+d8
+1f
+e2
+22
+00
+68
+01
+46
+9d
+20
+40
+05
+d8
+1f
+e2
+24
+00
+20
+60
+00
+00
+60
+01
+11
+c0
+68
+00
+91
+c1
+c0
+7f
+85
+de
+68
+00
+91
+c0
+1f
+e1
+7e
+ff
+20
+60
+00
+00
+68
+01
+11
+c0
+1f
+e6
+7e
+00
+20
+20
+05
+dc
+70
+b2
+aa
+55
+08
+00
+75
+41
+8f
+1f
+ce
+00
+0a
+0b
+ef
+07
+aa
+55
+01
+00
+57
+41
+00
+aa
+55
+08
+00
+a1
+00
+00
+00
+00
+00
+00
+00
+00
+00
+aa
+55
+08
+00
+ad
+40
+12
+00
+80
+00
+12
+00
+80
+00
+aa
+55
+02
+00
+bb
+40
+20
+00
+aa
+55
+04
+00
+b7
+40
+20
+00
+00
+40
+aa
+55
+04
+00
+bf
+40
+80
+04
+00
+08
+aa
+55
+01
+00
+68
+4d
+00
+aa
+55
+01
+00
+de
+41
+00
+aa
+55
+0d
+00
+8f
+47
+4b
+ba
+55
+d0
+56
+e0
+57
+88
+58
+6c
+59
+10
+ff
+aa
+55
+02
+00
+c3
+40
+8f
+47
+aa
+55
+01
+00
+00
+40
+06
+aa
+55
+02
+00
+03
+40
+08
+40
+aa
+55
+03
+00
+09
+40
+05
+02
+02
+aa
+55
+02
+00
+10
+40
+20
+06
+aa
+55
+03
+00
+14
+40
+82
+20
+06
+aa
+55
+02
+00
+18
+40
+10
+08
+aa
+55
+02
+00
+1c
+40
+48
+1e
+aa
+55
+01
+00
+20
+40
+20
+aa
+55
+08
+00
+27
+40
+02
+08
+04
+80
+02
+c8
+04
+80
+aa
+55
+02
+00
+30
+40
+05
+31
+aa
+55
+01
+00
+3f
+40
+04
+aa
+55
+01
+00
+92
+40
+43
+aa
+55
+01
+00
+91
+40
+01
+aa
+55
+01
+00
+72
+41
+20
+aa
+55
+01
+00
+c5
+47
+20
+aa
+55
+02
+00
+d5
+46
+0a
+01
+aa
+55
+01
+00
+07
+42
+06
+aa
+55
+06
+00
+a0
+40
+ab
+23
+56
+01
+20
+20
+aa
+55
+0c
+00
+15
+45
+0b
+42
+54
+33
+2e
+30
+20
+4d
+6f
+75
+73
+65
+aa
+55
+05
+00
+e3
+41
+0e
+00
+01
+00
+02
+aa
+55
+01
+00
+5a
+45
+0a
+aa
+55
+01
+00
+62
+46
+03
+aa
+55
+01
+00
+5a
+46
+01
+aa
+55
+01
+00
+8d
+45
+00
+aa
+55
+01
+00
+5a
+41
+00
+aa
+55
+03
+00
+5b
+46
+03
+00
+04
+aa
+55
+01
+00
+84
+46
+01
+aa
+55
+01
+00
+d1
+40
+01
+aa
+55
+0c
+00
+6f
+43
+1f
+02
+01
+05
+03
+03
+12
+18
+03
+19
+c2
+03
+aa
+55
+14
+00
+10
+4b
+06
+ff
+06
+00
+03
+00
+80
+0c
+09
+42
+54
+35
+2e
+30
+20
+4d
+6f
+75
+73
+65
+aa
+55
+0e
+00
+8f
+43
+1f
+0c
+09
+42
+54
+35
+2e
+30
+20
+4d
+6f
+75
+73
+65
+aa
+55
+0c
+00
+af
+43
+0b
+42
+54
+35
+2e
+30
+20
+4d
+6f
+75
+73
+65
+aa
+55
+08
+00
+96
+44
+07
+00
+07
+00
+20
+00
+2c
+01
+aa
+55
+04
+00
+82
+44
+00
+00
+00
+00
+aa
+55
+01
+00
+8d
+44
+07
+aa
+55
+06
+00
+a0
+44
+78
+56
+ba
+0e
+8e
+ed
+aa
+55
+01
+00
+e5
+44
+50
+aa
+55
+02
+00
+6f
+44
+19
+00
+aa
+55
+02
+00
+fa
+44
+22
+00
+aa
+55
+02
+00
+87
+46
+08
+07
+aa
+55
+04
+00
+a8
+46
+50
+00
+70
+17
+aa
+55
+01
+00
+43
+4b
+0a
+aa
+55
+01
+00
+14
+42
+ff
+aa
+55
+01
+00
+86
+46
+ff
+aa
+55
+01
+00
+85
+46
+1e
+aa
+55
+01
+00
+d2
+46
+02
+aa
+55
+01
+00
+03
+47
+02
+aa
+55
+02
+00
+2d
+42
+02
+32
+aa
+55
+06
+00
+09
+47
+51
+00
+3e
+00
+44
+00
+aa
+55
+19
+00
+e0
+46
+00
+02
+06
+14
+08
+ff
+ff
+ff
+1b
+1c
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
 00
-9a
-40
-fe
+03
+ff
+ff
+aa
+55
+01
 00
-20
-20
-65
-62
-d8
-a0
-43
-7b
-df
-20
+3a
+42
+ff
+aa
+55
+01
 00
-13
-20
-40
-7f
+dc
+46
+ff
+aa
+55
 01
-20
-20
-57
-b8
-58
 00
+a5
+46
+07
+aa
+55
+01
 00
+6c
+0c
+ff
+aa
+55
+04
 00
-60
+7f
+47
 01
-46
-ac
-20
-40
+02
 03
-07
-68
+04
+aa
+55
+04
 00
-c0
-92
-2f
-ef
-fe
-01
-20
-40
-c2
-d4
-68
+34
+4b
 00
-c0
-92
+01
+02
+03
+aa
+55
 2f
-ef
-fe
 00
-20
+76
+4b
+09
+5a
+ff
+27
+ab
 40
-c2
-d7
-20
-20
-04
+be
+d1
+a0
+41
+a1
+41
+a5
+84
+a7
 ff
-68
+b5
+d0
+b6
 00
-c5
-0f
-1f
-e0
-fe
-01
-60
+ff
+00
+09
 00
+ff
+09
+5a
+5b
+9a
+0d
+12
+0e
 c5
-0f
-c0
-06
 53
-95
-20
-40
+48
+09
+00
+ff
+06
+80
+09
+5a
+0b
+f3
+09
+00
+ff
+aa
 55
+02
+00
+1b
+42
+13
+47
 aa
-20
-40
-56
-1e
-20
+55
+01
+00
+1a
+42
+01
+aa
+55
 40
-06
-f9
-20
-20
-53
-8f
-68
 00
-80
-16
-1f
-e0
-fe
+c6
+47
+25
+00
+02
+03
+28
 01
-60
+12
+26
 00
-80
-16
-c1
-94
+02
+4d
+2a
+07
 00
 00
-70
 00
-16
-25
-20
-60
 00
 00
-20
-40
+00
+00
+27
+00
+02
+02
 29
-bb
-20
-40
+02
 00
-6c
-20
-20
-54
-a3
-70
-11
-c5
-40
-20
-20
-07
-59
-70
+00
+28
+00
+02
+08
+29
+02
 11
-c5
-41
-20
-20
+01
+29
+00
+02
+03
+28
+01
+0e
+2a
+00
+02
+4d
+2a
 07
-59
-68
 00
-84
-56
-c2
-82
-85
-af
-20
-40
-06
-eb
-68
 00
-c7
-8e
-24
-3a
-05
-a5
-68
 00
-84
-3f
-c3
-02
-05
-a9
-68
 00
-82
-da
-20
-3a
-05
-a9
-20
-20
-56
-64
-68
 00
-c7
-8e
-1f
-e0
-ff
-ff
-60
 00
-c7
-8e
-20
-20
-56
-64
-68
 00
-c4
-c4
-c0
-82
-85
-ac
+2b
+00
+02
+08
+29
+02
+11
+02
+aa
+55
+01
+00
+71
+4c
+01
+aa
+55
+01
+00
+2c
+4c
+01
+aa
+55
+01
+00
 70
-47
-8e
-03
-20
-40
-58
-92
-20
-5a
-03
-c8
-20
-20
-56
-22
-20
-40
-05
-b1
-20
-20
-05
-bd
-68
+4c
+04
+aa
+55
+01
 00
-c6
-c5
-1f
-e1
-7e
+67
+4c
+00
+aa
+55
+02
+00
+2e
+4c
+c0
+12
+aa
+55
 03
-c1
-81
-80
 00
-68
+50
+4c
+19
+19
+1c
+aa
+55
+10
 00
-c7
-c3
-20
-7a
+3c
+4c
 00
+13
+2c
+42
+06
+15
+36
+48
+0f
+1a
+3a
+4c
+11
+23
+31
+4d
+aa
+55
+01
 00
-68
+3b
+4c
+ff
+aa
+55
+04
 00
-c3
-dd
+37
+4c
 20
-7a
+15
+10
+05
+aa
+55
+06
+00
+70
+4d
+0f
+0f
+0f
+0f
+0f
+0f
+aa
+55
+0a
 00
+9e
+11
 00
-68
 00
-c3
-dc
-79
-20
-7e
-04
-60
 00
-c3
-dc
-20
-40
-56
-50
-20
-60
 00
 00
-20
-20
-06
-ef
-68
 00
-c7
-a1
-20
-7a
 00
 00
-68
 00
-c6
-c5
-1f
-e1
-7e
+00
+aa
+55
 03
-c1
-01
+00
+5a
+4c
 80
+4f
+12
+aa
+55
+08
 00
-70
-46
-c6
+20
+47
+01
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+aa
+55
 01
-20
-60
-00
-00
-c6
-07
-80
-00
-20
-40
-58
-90
-24
-7a
 00
+73
+4b
+ff
+aa
+55
+01
 00
-68
+70
+4b
+ff
+aa
+55
+06
 00
-82
-d9
-1f
-e1
-7e
+4a
+4b
+ff
+ff
+ff
+ff
+ff
+ff
+aa
+55
 03
-60
-00
-c5
-0c
-e8
-c0
-80
-00
-1f
-e1
-7e
-1f
-60
 00
-c5
-0b
-20
-7a
 00
+47
 00
-18
-c2
-7e
+50
 00
-60
+aa
+55
 01
-45
-0d
-68
 00
-c5
-0c
-c0
+1f
+47
+00
+aa
+55
 01
-85
-d4
-20
-20
-56
-8d
-68
 00
-82
 db
-c0
+46
+01
+aa
+55
+01
 00
-85
-d7
-20
-20
-5c
-65
-e8
-c2
-80
+8e
+47
+03
+aa
+55
+01
 00
-60
+24
+4b
+1d
+aa
+55
 02
-c3
-ce
-e8
-c1
-00
 00
-60
-01
+28
+4b
+14
+03
+aa
+55
 04
-5f
-20
-20
-5c
-8a
-e8
-c1
 00
+50
+4b
+ff
 00
-c0
-02
-05
-e0
-c0
-03
-06
-0d
-20
-20
-56
-98
-20
-40
-7e
-a5
-20
-40
-05
-be
-20
-40
-7e
-9f
-e8
-c1
-80
 00
-60
-01
-84
-77
-c0
-08
-05
-ef
-1f
-ec
-84
 00
-18
-46
-7c
-24
+aa
+55
+04
+00
+5a
+4b
 20
-21
-05
-fd
-d8
-40
-47
-c8
-60
-09
-44
-bc
 20
-40
-58
-ad
-58
 00
-8e
-7a
-60
-01
-44
-bc
-20
-60
+40
+aa
+55
+03
 00
+51
+4b
+9b
+27
 00
+ff
 20
-40
-59
-fa
 20
+00
 40
-58
-79
-18
-c0
-8c
-07
-e8
 c0
+58
 80
-00
-c1
-88
-80
-00
-18
+06
 c0
-8c
-05
-e8
-c1
-00
-00
-d8
-40
-18
-12
-98
-46
-7c
+59
 00
-24
-62
+0c
+c0
+59
 80
+11
+c0
+5a
 00
 18
-c0
-8d
-fc
-58
+20
+60
 00
 00
-2b
-e0
+68
+00
+c8
+08
 c1
+01
 00
 00
-20
+1f
+e0
+fe
+01
 60
 00
-00
-c0
-05
-05
-ff
+c8
+08
+70
+41
+e3
+12
 20
 20
-58
-ad
-68
-09
-04
-78
+34
+0e
 68
 00
-c4
-e9
-c2
+c8
+08
+c1
 81
-86
-06
+00
+00
+70
+48
+08
+00
+70
+41
+e3
+0e
+20
+20
+34
+0e
 68
-01
-04
-78
+00
+c7
+a1
 c0
-09
-da
-76
-68
-09
-04
-78
+00
+80
+14
 20
 20
-59
-bf
-68
-01
-44
-fa
-98
-46
-7c
 00
-24
-22
-86
-02
+16
 20
 40
-5a
-42
-24
-34
-06
 02
+12
 70
-04
-7a
-05
-20
-20
-5a
-77
-e8
-c0
-80
-00
-c0
+46
+c6
+0a
+d8
+e0
 00
-86
-11
-c0
-02
-86
-13
+01
 20
 20
-5a
-f6
+41
+b9
+70
+4a
+ff
+00
 70
 4b
-6d
 01
-20
-20
-5b
-09
+00
 70
-11
-c5
-82
+4b
+0a
+00
 20
 20
-07
-59
-68
+41
+d9
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
 00
-80
-16
-c0
-93
-d6
-f2
-20
-40
-06
-1b
-d8
-e0
 00
 00
-68
-01
-44
-82
-20
-20
-7f
-08
-18
-0a
-7e
 00
-d8
-40
-01
-ff
-98
-41
-7e
 00
-1f
-e0
-fe
-fa
-20
-20
-3c
-be
-78
-55
-fc
 00
-20
-37
-06
-23
-24
-36
-d8
-06
-20
-40
-2b
-cb
-68
-01
-40
-c1
-60
-01
-04
-4d
-68
 00
-c6
-c5
-2f
-e0
-06
-03
-24
-20
-ab
-de
-20
-20
-57
-fb
-68
 00
-c7
-a1
-24
-7a
 00
 00
-68
 00
-84
-78
-1f
-e6
-7e
-1a
-24
-62
-80
 00
-20
-20
-3d
-60
-68
-10
-80
-77
-1f
-e1
-7e
-fd
-60
-10
-80
-77
-68
-18
-80
-73
-18
-41
-84
-02
-60
-18
-80
-73
-20
-40
-63
-ee
-18
-41
-04
-fd
-20
 00
 00
-0d
-20
-40
-06
-3d
-60
-18
-80
-73
-20
-60
 00
 00
-20
-40
-64
-dd
-68
-10
-80
-81
-79
-20
-7e
 00
-79
-3f
-fe
-01
-79
-3f
-fe
-03
-60
-10
-80
-81
-20
-60
 00
 00
-70
-11
-c5
 00
-20
-20
-07
-59
-20
-40
-21
-c9
-24
-74
 00
 00
-78
-54
-7c
 00
-70
 00
-11
-20
-79
-3f
-80
-0b
-79
-3f
-80
-2d
-20
-40
-2a
-4f
 20
-40
-22
-e6
-c5
-05
-86
-52
 20
+00
 40
+c0
+50
+00
 24
-55
-24
-3a
+c0
+50
+80
 06
-4b
-c5
-16
-86
-5a
+c0
+51
+00
+1b
+c0
+51
+80
+14
 20
+60
+00
+00
+68
+01
+45
+09
+c1
+00
+00
+00
+68
+00
+84
+41
+1f
+eb
+7e
+00
+1f
+e6
+7c
+0c
 20
 21
-ec
+00
+12
+58
+00
+00
+09
+60
+01
+44
+96
+60
+01
+44
+98
 20
 40
-2a
-4d
-d8
+02
+12
+70
+47
+c4
+01
 20
+60
 00
-10
+00
+70
+4b
+5f
+01
 20
-40
-22
-dc
-79
 20
+03
+de
+68
+01
+46
+82
+c3
+86
 00
-2d
-79
-3f
-80
-0b
-18
 00
-08
-01
-70
+c3
+83
 00
-11
+00
+c3
+85
+80
+00
+68
 02
+46
+d3
+c3
+82
+80
+00
 20
 20
-06
+33
+a7
+70
 4b
-68
-02
+6d
+00
+58
+00
+00
+07
+60
 01
-65
-1f
-e0
-fe
-08
+44
+96
 60
-02
 01
-65
+44
+98
+70
+47
+c4
+00
+70
+47
+9e
+00
 20
+40
+01
+af
 20
-21
-f8
-c5
+40
+58
 16
-26
-4d
 20
 20
-25
-8f
+41
+d9
+68
+12
+01
+38
+79
 20
-40
-33
-af
+7e
+1a
+60
+12
+00
+4c
 20
 40
-26
-e9
-70
-0a
-99
-02
+2c
+21
 20
 40
-7d
-86
+74
+bd
 20
 40
-5c
-f7
+44
+82
 20
 40
-4d
-6b
+01
+23
 20
+40
+3e
+9f
 20
-24
-6e
-68
-00
-80
-30
-2f
-ef
-fe
+40
 00
+b9
 20
 40
-86
-6b
-20
-20
-24
-8a
+01
+58
 68
-00
+10
 80
-47
-2f
-ef
-fe
-03
-20
-40
-86
-ef
-24
-40
-86
-eb
+81
+1f
+e1
+7e
+f7
+60
+10
+80
+81
+68
+10
+80
+7f
+79
 20
+7e
+00
+60
+10
+80
+7f
 20
-06
-f9
+60
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
 20
-40
-24
-f0
-24
-2c
-28
-f9
 20
+00
 40
-29
-bb
 20
-40
+60
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
 00
-6c
-20
-20
-25
-18
-c6
-13
 00
 00
-20
-40
-2a
-fa
-68
-01
-c1
-6f
-20
-7a
 00
 00
-68
 00
-c0
-91
-20
-7a
 00
 00
-68
 00
-c6
-5a
-20
-3a
-06
-7f
-68
 00
-c5
-b1
-20
-7a
 00
 00
-68
 00
-c4
-c0
-24
-7a
 00
 00
-20
-40
-2c
-3a
-24
-7a
 00
 00
-68
 00
-c0
-40
-2f
-e0
-0e
-03
-24
-20
-ab
-9d
-68
-01
-40
-42
-d8
-40
-ff
-ff
-98
-46
-7c
 00
-20
-62
-80
 00
-20
-20
-2b
-7d
-78
-55
-fc
 00
-68
 00
-80
-30
-c4
 00
-80
 00
-24
-36
-ab
-d0
-20
-40
-2b
-cb
-68
-01
-40
-c1
-60
-01
 00
-3e
-68
 00
-80
-47
-c2
-81
-ab
-de
-c5
-86
-ab
-de
-20
-40
-52
-74
-24
-3a
-2b
-de
-20
-5a
-06
-99
-20
-20
-2b
-be
-70
 00
-8a
-01
-70
 00
-8b
 00
-20
-60
 00
 00
-70
-11
-c5
-10
-20
-20
-07
-59
-70
-11
-c5
-11
-20
-20
-07
-59
-68
 00
-85
-52
-60
 00
-84
-c9
-c0
-09
-86
-a4
-20
-20
-5d
-b4
-20
-40
-5d
-cf
-70
-4b
-01
-01
-68
 00
-cb
-03
-20
-7a
 00
 00
-70
-4b
-03
-02
-20
-60
 00
 00
-70
-11
-c5
-20
-20
-20
-07
-59
-20
-40
-62
-bc
-24
-7a
 00
 00
-68
 00
-80
-55
-20
-7a
 00
 00
-c0
-02
-06
-ce
-c0
-08
-06
-b3
-20
-20
-63
-20
-68
 00
-c5
-5b
-c1
 00
 00
 00
-c0
 00
-86
-b7
-20
-20
-63
-5f
-20
-74
-80
 00
-68
 00
-81
-6d
-c2
-80
-06
-bb
-20
-20
-63
-99
-68
 00
-cb
-03
-c0
 00
-e3
-9d
-68
 00
-c1
-bd
-20
-3a
-63
-a9
-68
 00
-84
-d1
-c4
-01
-80
 00
-c4
-01
 00
 00
-68
 00
-cb
-02
-20
-7a
 00
 00
-70
-4b
-02
 00
-68
-02
-04
-e9
-d8
-40
 00
-14
-98
-40
-84
 00
-1c
-42
-7e
 00
-98
-46
-7c
 00
-24
-21
-06
-cc
-20
-20
-63
-49
-70
-4b
-02
-01
-20
-60
 00
 00
-70
-48
-0b
-14
-20
-20
-63
-6f
-20
-40
-62
-bc
-24
-3a
-7d
-db
-68
 00
-8a
-99
-c5
-84
-fd
-d6
-c0
-0f
-86
-d8
-c0
-10
-06
-db
-c0
-09
-06
-e5
-20
-20
-7d
-ca
-70
-01
-85
-34
-68
-03
-04
-4f
-20
-20
-06
-dd
-70
-01
-85
-33
-68
-03
 00
-40
-60
-03
-01
-86
-68
-02
-46
-d3
-c4
-03
-80
 00
-d8
-e0
 00
-07
-20
-40
-43
-d2
-20
-40
-42
-e8
-20
-40
-42
-fb
-20
-20
-03
-35
-20
-40
-58
-90
-24
-7a
 00
 00
-20
-20
-5a
-bf
-70
-4d
-34
-01
-70
-4d
-31
 00
-20
-60
 00
 00
-68
 00
-cd
-31
-1f
-e0
-fe
-01
-60
 00
-cd
-31
-20
-60
 00
 00
-68
 00
-cd
-31
-1f
-e6
-7c
-02
-24
-41
-06
-f7
-68
 00
-cd
-31
-c1
 00
 00
 00
-1f
-e0
-ff
-ff
-60
 00
-cd
-31
-20
-60
 00
 00
-70
-4d
-31
-03
-20
-60
 00
 00
-68
-01
-46
-82
-c3
-85
-80
 00
-c3
-83
-80
 00
-c3
-83
 00
 00
-da
-20
-4c
-ba
-20
-40
-02
-8b
-60
-08
-cd
-32
-58
 00
 00
-82
-c5
-13
-07
-03
-58
 00
 00
-80
-98
-46
-7c
 00
-24
-21
-07
-1b
-68
 00
-cd
-31
-1f
-e6
-7c
-02
-24
-21
-07
-0b
-68
 00
-cd
-31
-c0
 00
-07
-1c
-20
-60
 00
 00
-68
 00
-cd
-31
-c1
-90
 00
 00
-70
-4d
-31
 00
-68
-08
-cd
-32
-58
 00
 00
-77
-c5
-13
-07
-12
-58
 00
 00
-75
-98
-46
-7c
 00
-24
-61
 00
 00
-68
 00
-cd
-34
-c0
 00
-07
-23
-1f
-e0
-ff
-ff
-60
 00
-cd
-34
-c0
 00
-07
-23
-70
-41
-de
 00
-20
-60
 00
 00
-70
-4d
-31
 00
-68
 00
-cd
-34
-c0
-01
-07
-21
-1f
-e0
-fe
-01
-60
 00
-cd
-34
-c0
 00
-87
-19
-70
-41
-de
-02
-20
-60
 00
 00
-70
-41
-de
-04
-20
-60
 00
 00
-60
-08
-80
-17
-18
-40
-a2
 00
-20
-40
-29
-81
-58
 00
-05
 00
-20
-40
-2a
-8f
-70
-89
-06
-01
-70
-89
 00
-3c
-70
-89
-01
-e0
-20
 00
 00
-0a
-70
-89
-02
-01
-70
-89
-02
-3d
-20
 00
 00
-0a
-70
-89
-03
-b7
-20
 00
 00
-0a
-70
-89
-02
-7d
-68
 00
-c1
-de
-c0
-01
-07
-3d
-c0
-02
-07
-42
-c0
-10
-07
-51
-20
-40
-07
-47
-70
-89
-55
-d0
-70
-89
-56
-e0
-70
-89
-58
-6c
-20
-20
-29
-4b
-20
-40
-07
-4c
-70
-89
-55
-d0
-70
-89
-56
-e0
-70
-89
-58
-3c
-20
-20
-29
-53
-20
-40
-07
-47
-70
-89
-55
-d0
-70
-89
-56
-c0
-70
-89
-58
-6c
-20
-20
-29
-5b
-70
-89
-4c
-5b
-70
-89
-4d
-96
-70
-89
-4e
-2c
-70
-89
-4f
-46
-20
-60
 00
 00
-70
-89
-4c
-fb
-70
-89
-4d
-ef
-70
-89
-4e
-ec
-70
-89
-4f
-5e
-20
-60
 00
 00
-70
-89
-56
-c2
-70
-89
-55
-d0
-20
-60
 00
 00
-18
 00
-2a
-08
-20
-20
-28
-fa
-20
-40
-29
-78
-70
-80
-42
-05
-20
-60
 00
 00
-68
-08
-91
-c5
-18
-51
-84
 00
-68
 00
-cb
-51
-98
-46
-7c
 00
-20
-22
-87
-78
-60
-08
-cb
-51
-18
-40
-84
-01
-58
 00
-01
 00
-98
-4f
-84
 00
-68
-01
-cb
-52
-98
-46
-7e
 00
-68
-09
-cb
-55
-98
-40
-fe
 00
-1f
-e0
-ff
-fb
-60
-01
-cb
-58
-20
-40
-03
-77
-68
-01
-cb
-58
-d8
-40
-01
 00
-da
-20
-1f
 00
-20
-40
-65
-62
-68
-02
-1f
 00
-68
-0a
-4b
-5b
-98
-46
-7c
 00
-24
-22
-87
-69
-20
-40
-02
-f5
-58
 00
-1f
 00
-60
-01
-41
-99
-70
-41
-9b
-40
-20
-40
-64
-ca
-58
 00
 00
 00
-60
-02
-41
-99
-68
 00
-91
-c5
-20
-20
 00
-01
-17
-f4
-aa
-55
-08
 00
-75
-41
-8f
-1f
-ce
 00
-0a
-0b
-ef
-07
-aa
-55
-01
 00
-57
-41
 00
-aa
-55
-08
 00
-a1
 00
 00
 00
@@ -7697,664 +7804,338 @@
 00
 00
 00
-aa
-55
-08
 00
-ad
-40
-12
 00
 00
-02
-12
 00
 00
-02
-aa
-55
-02
 00
-bb
-40
-20
 00
-aa
-55
-04
 00
-b7
-40
-20
 00
 00
-40
-aa
-55
-04
 00
-bf
-40
-80
-04
 00
-08
-aa
-55
-01
 00
-35
-4d
 00
-aa
-55
-01
 00
-de
-41
 00
-aa
-55
-0f
 00
-8f
-47
-4b
-ba
-55
-d0
-56
-e0
-57
-88
-58
-6c
-59
-10
-68
-e6
-ff
-aa
-55
-02
 00
-c3
-40
-8f
-47
-aa
-55
-01
 00
 00
-40
-06
-aa
-55
-02
 00
-03
-40
-08
-40
-aa
-55
-03
 00
-09
-40
-05
-02
-02
-aa
-55
-02
 00
-10
-40
-20
-06
-aa
-55
-03
 00
-14
-40
-82
 20
-06
-aa
-55
-02
+20
 00
-18
 40
-10
-08
-aa
-55
-02
-00
-1c
+c0
 40
-48
-1e
-aa
-55
-01
+00
+03
+20
+60
+00
 00
 20
 40
+3e
+6e
 20
-aa
-55
-08
-00
-27
 40
 02
+f7
+68
 08
-04
-80
-02
-c8
-04
-80
-aa
-55
-02
-00
-30
+cb
+43
+20
 40
-05
-31
-aa
-55
-01
-00
-3f
+68
+0e
+20
 40
-04
-aa
-55
-01
 00
-92
-40
-43
-aa
-55
-01
+20
+58
 00
-91
-40
 00
-aa
-55
-01
 00
-72
-41
-20
-aa
-55
+60
 01
-00
-c7
-47
-20
-aa
-55
-02
-00
-d5
-46
-0a
 41
-aa
-55
+54
+20
+40
+68
+a2
+68
 01
-00
-07
 42
-06
-aa
-55
-06
-00
-a0
-40
-20
-51
-17
+1d
+60
 01
+4b
+6e
 20
-20
-aa
-55
-0c
-00
-15
-45
-0b
-42
+40
+3e
 54
-33
-2e
-30
 20
-4d
-6f
-75
-73
-65
-aa
-55
-05
-00
-e3
-41
-0e
-00
+40
 01
+16
+68
 00
-02
-aa
-55
+c7
+20
+c1
 01
 00
-5a
-45
-0a
-aa
-55
-01
 00
-62
-46
+68
 03
-aa
-55
-01
-00
-5a
+4b
+4a
+68
+0b
+47
+22
+98
 46
-01
-aa
-55
-01
-00
-8d
-45
+7c
 00
-aa
-55
+24
+22
+81
+63
+68
+09
+4b
+6e
+18
+40
+84
+01
+60
+09
+4b
+6e
+60
+09
+44
+a1
+20
+40
 01
+28
+18
+0a
+7e
 00
-5a
-41
+60
 00
-aa
-55
+c4
+a0
+68
 03
-00
-5b
-46
+44
+a0
+60
 03
-00
-04
-aa
-55
+4b
+60
+20
+20
 01
+65
+20
+60
 00
-84
-46
-01
-aa
-55
-01
 00
-d1
+20
 40
-01
-aa
-55
-0c
+74
+b9
+d8
+c0
+8c
 00
-6f
-43
-1f
-02
+d8
+a0
+48
+76
+df
+20
 01
-05
-03
-03
-12
-18
-03
-19
-c2
-03
-aa
-55
-14
+71
+20
+40
+7f
+01
+58
+0f
+02
+09
+e0
+a1
+80
 00
+58
 12
-4b
-06
-ff
-06
 00
-03
-00
-80
-0c
 09
-42
-54
-35
-2e
-32
-20
-4d
-6f
-75
-73
-65
-aa
-55
-0e
+e0
+a1
+80
 00
-8f
-43
-1f
-0c
+58
+10
+02
 09
-42
-54
-35
-2e
-32
-20
-4d
-6f
-75
-73
-65
-aa
-55
-0c
+e0
+a1
+80
 00
-af
-43
-0b
-42
-54
-35
-2e
-32
-20
-4d
-6f
-75
-73
-65
-aa
-55
-08
+58
 00
-96
-44
-07
 00
-07
+09
+e0
+a1
+80
 00
+d8
+c0
+8d
+71
+df
 20
+01
+09
+20
+40
+7f
+01
+70
+48
+8d
 00
-2c
+70
+48
+85
+6d
+58
+00
+40
+1f
+60
 01
-aa
-55
-04
+49
+db
+58
 00
-82
+6d
+04
+60
+01
+4a
 44
+58
 00
+16
+b0
+60
+01
+4a
+4a
+58
 00
+48
+76
+60
+01
+45
+75
+20
+60
 00
 00
-aa
-55
-01
 00
-8d
-44
-07
-aa
-55
-06
 00
-a0
-44
-8e
-b1
-3a
-0e
-8e
-ed
-aa
-55
-01
 00
-e5
-44
-50
-aa
-55
-02
 00
-6f
-44
-19
 00
-aa
-55
-02
 00
-fa
-44
-22
 00
-aa
-55
-02
 00
-87
-46
-08
-07
-aa
-55
-04
 00
-a8
-46
-50
 00
-70
-17
-aa
-55
-01
 00
-46
-4b
-0a
-aa
-55
-01
 00
-14
-42
-ff
-aa
-55
-01
 00
-86
-46
-ff
-aa
-55
-01
 00
-85
-46
-1e
-aa
-55
-01
 00
-32
-4b
-01
-aa
-55
-01
 00
-d2
-46
-02
-aa
-55
-01
 00
-03
-47
-02
-aa
-55
-02
 00
-2d
-42
-02
-32
-aa
-55
-06
 00
-09
-47
-98
 00
-74
+20
+20
 00
-7e
+40
+c0
+38
 00
-aa
-55
-19
+03
+20
+60
 00
-e0
-46
 00
-02
-06
-14
-08
-ff
-ff
-ff
-1b
-1c
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
+5f
 ff
 ff
 ff
+60
 03
-ff
-ff
-aa
-55
-01
 00
-3a
-42
-ff
-aa
-55
+40
+70
 01
-00
-dc
-46
+85
+33
+70
+4b
+73
 ff
-aa
-55
-01
-00
-a5
-46
-07
-aa
-55
+20
+40
+42
+fb
+20
+20
 01
+23
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
 00
-6c
-0c
-ff
-aa
-55
-04
-00
-7f
-47
-01
-02
-03
-04
-aa
-55
-02
 00
-1b
-42
-13
-47
-aa
-55
-01
 00
-1a
-42
-01
-aa
-55
-40
 00
-c8
-47
-25
 00
-02
-03
-28
-01
-12
-26
 00
-02
-4d
-2a
-07
 00
 00
 00
@@ -8362,35 +8143,12 @@
 00
 00
 00
-27
 00
-02
-02
-29
-02
 00
 00
-28
 00
-02
-08
-29
-02
-11
-01
-29
 00
-02
-03
-28
-01
-0e
-2a
 00
-02
-4d
-2a
-07
 00
 00
 00
@@ -8398,118 +8156,21 @@
 00
 00
 00
-2b
 00
-02
-08
-29
-02
-11
-02
-aa
-55
-08
 00
-3e
-4b
-07
-02
-35
-12
-22
-aa
-01
 00
-aa
-55
-01
 00
-3e
-4c
-01
-aa
-55
-01
 00
-f9
-4b
-01
-aa
-55
-01
 00
-3d
-4c
-04
-aa
-55
-01
 00
-34
-4c
 00
-aa
-55
-02
 00
-fb
-4b
-c0
-12
-aa
-55
-03
 00
-1d
-4c
-19
-19
-1c
-aa
-55
-10
 00
-09
-4c
 00
-13
-2c
-42
-06
-15
-36
-48
-0f
-1a
-3a
-4c
-11
-23
-31
-4d
-aa
-55
-01
 00
-08
-4c
-ff
-aa
-55
-04
 00
-04
-4c
-20
-15
-10
-05
-aa
-55
-0a
 00
-9e
-11
 00
 00
 00
@@ -8520,330 +8181,57 @@
 00
 00
 00
-aa
-55
-03
 00
-27
-4c
 00
-48
-60
-aa
-55
-08
 00
-20
-47
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-aa
-55
-03
 00
 00
-47
 00
-50
 00
-aa
-55
-02
 00
-03
-42
-90
-1f
-aa
-55
-01
 00
-11
-42
-80
-aa
-55
-01
 00
-1f
-47
 00
-aa
-55
-01
 00
-db
-46
-01
-aa
-55
-01
 00
-8e
-47
-03
-aa
-55
-04
 00
-4d
-4b
-ff
-ff
-ff
-ff
-aa
-55
-01
 00
-25
-4b
-ff
-aa
-55
-01
 00
-27
-4b
-1d
-aa
-55
-02
 00
-2a
-4b
-14
-03
-aa
-55
-04
 00
-51
-4b
-ff
 00
 00
 00
-aa
-55
-04
 00
-5b
-4b
-20
-20
 00
-40
-aa
-55
-01
 00
-6e
-4b
-ff
-aa
-55
-01
 00
-70
-4b
-14
-aa
-55
-03
 00
-52
-4b
-df
-2d
 00
-ff
-20
-20
 00
-40
-c0
-58
 00
-08
-c0
-58
-80
-0f
-c0
-59
 00
-15
-c0
-59
-80
-1a
-c0
-5a
 00
-21
-c0
-5a
-80
-26
-20
-60
 00
 00
-70
-4b
-67
-01
-68
 00
-c7
-a1
-24
-3a
 00
-0c
-70
-4b
-6c
-14
-20
-40
-04
-c3
-20
-40
-03
-bf
-20
-20
-41
-c3
-68
 00
-c8
-0a
-c1
-01
 00
 00
-1f
-e0
-fe
-01
-60
 00
-c8
-0a
-70
-41
-e3
-12
-20
-20
-34
-0e
-68
 00
-c8
-0a
-c1
-81
 00
 00
-70
-48
-0a
 00
-70
-41
-e3
-0e
-20
-20
-34
-0e
-68
 00
-c7
-a1
-c0
 00
-80
-1d
-20
-20
 00
-1f
-20
-40
-04
-2c
-70
-46
-c6
-05
-d8
-e0
 00
-01
-20
-20
-41
-b9
-70
-4b
-01
 00
-70
-4b
-03
 00
-70
-4b
-0c
 00
-20
-40
-03
-35
-20
-20
-41
-d9
-5f
-ff
-ff
-ff
-60
-03
 00
-40
-70
-01
-85
-33
-70
-4b
-68
-ff
-20
-40
-42
-fb
-70
-47
-21
-ff
-20
-20
-03
-35
 00
 00
 00
@@ -8920,246 +8308,45 @@
 00
 00
 00
-20
-20
 00
-40
-c0
-50
 00
-07
-c0
-50
-80
-0d
-c0
-51
 00
-20
-c0
-51
-80
-19
-c0
-52
 00
-2a
-20
-60
 00
 00
-70
-4d
-38
 00
-20
-40
-02
-cc
-20
-40
-01
-b0
-70
-41
-bd
 00
-20
-40
-02
-a8
-20
-20
-04
-c0
-68
-01
-45
-09
-c1
 00
 00
 00
-68
 00
-84
-41
-1f
-eb
-7e
 00
-1f
-e6
-7c
-0c
-20
-61
 00
 00
-58
 00
 00
-09
-60
-01
-44
-96
-60
-01
-44
-98
-20
-40
-04
-2c
-70
-47
-c6
-01
-20
-60
 00
 00
-68
-01
-46
-82
-c3
-86
 00
 00
-c3
-83
 00
 00
-c3
-85
-80
 00
-68
-02
-46
-d3
-c3
-82
-80
 00
-20
-20
-33
-a7
-70
-4b
-67
 00
-58
 00
 00
-07
-60
-01
-44
-96
-60
-01
-44
-98
-70
-47
-c6
 00
-70
-47
-9e
 00
-20
-40
-03
-bf
-20
-40
-58
-16
-20
-40
-03
-35
-20
-20
-41
-d9
-78
-34
-7c
 00
-68
-12
-01
-38
-79
-34
-7e
-1a
-60
-12
 00
-4c
-20
-40
-2c
-21
-20
-40
-74
-bd
-20
-40
-03
-35
 20
-40
-3e
-9f
 20
+00
 40
-02
-a8
 20
-40
-03
-6e
-68
-10
-80
-81
-1f
-e1
-7e
-f7
 60
-10
-80
-81
-68
-10
-80
-7f
-79
-20
-7e
 00
-60
-10
-80
-7f
-68
-08
-c6
-ec
-20
-20
-67
-dd
 00
 00
 00
@@ -9176,246 +8363,32 @@
 00
 00
 00
-20
-20
 00
-40
-c0
-48
 00
-05
-c0
-48
-80
-1f
-c0
-49
 00
-2f
-20
-60
 00
 00
-68
 00
-cb
-fd
-c0
 00
-ff
-e7
-68
 00
-cc
-08
-c0
 00
-80
-0c
-c0
-01
 00
-0f
-c0
-01
-80
-12
-20
-20
-2a
-8c
-70
-4c
-08
-11
-70
-11
-9e
-aa
-20
-20
 00
-14
-70
-4c
-08
-12
-70
-11
-9e
-55
-20
-20
 00
-14
-70
-4c
-08
-13
-70
-11
-9e
-22
-68
 00
-cb
-f9
-1f
-e1
-7e
-07
-60
 00
-91
-9f
-68
-02
-4c
-2f
-60
-02
-11
-a0
-70
-11
-a4
 00
-da
-20
-11
-9e
-d8
-40
 00
-07
-20
-40
-01
-b4
-20
-40
-01
-38
-20
-20
-7f
-e7
-68
 00
-cc
-08
-c1
-7f
-80
 00
-c0
-08
-80
-25
-c0
-09
 00
-27
-c0
-09
-80
-29
-20
-60
 00
 00
-70
-4c
-08
-02
-20
-20
-01
-6a
-70
-4c
-08
-03
-20
-20
-01
-6a
-70
-4c
-08
-ff
-70
-0a
-99
-39
-20
-40
-7d
-86
-68
-02
-4b
-d8
-20
-40
-01
-c6
-20
-20
-01
-6a
-70
-47
-8b
-01
-d8
-e0
 00
-03
-20
-40
-43
-d2
-58
 00
 00
 00
-60
-01
-47
-07
-70
-46
-a7
 00
-20
-40
-40
-5d
-20
-40
-04
-c3
-20
-40
-02
-cc
-68
-02
-4c
-20
-60
-02
-47
-7b
-20
-40
-43
-66
-20
-20
-03
-35
 00
 00
 00
@@ -9432,762 +8405,121 @@
 00
 00
 00
-20
-20
 00
-40
-c0
-40
 00
-08
-c0
-40
-80
-04
-20
-60
 00
 00
-20
-40
-68
-a2
-58
 00
-11
-22
-60
-01
-47
-c4
-20
-60
 00
 00
-20
-40
 00
-ef
-20
-40
-3e
-6e
-68
-08
-cb
-46
-20
-40
-68
-0e
-20
-40
-3e
-1e
-20
-40
 00
-25
-58
 00
 00
 00
-60
-01
-41
-54
-58
 00
-18
-02
-60
-01
-40
-bd
-20
-40
-68
-a2
-20
-40
-3e
-54
-20
-40
-58
-10
-20
-40
-58
-39
-20
-40
-58
-2c
-20
-40
-58
-18
-20
-40
-05
-6d
-20
-40
-03
-77
-20
-40
-03
-43
-68
-01
-c7
 00
-9a
-40
-fe
 00
-20
-40
-65
-62
-20
-40
-03
-2b
-df
-20
 00
-03
-d8
-c0
-47
-22
-20
-40
-03
-7e
-24
-34
-02
-eb
-20
-40
-02
-ed
-20
-60
 00
 00
-20
-40
-74
-b9
-d8
-c0
-8c
 00
-d8
-a0
-48
-78
-df
-20
-01
-71
-20
-40
-7f
-01
-58
-0f
-02
-09
-e0
-a1
-80
 00
-58
-12
 00
-09
-e0
-a1
-80
 00
-58
-10
-02
-09
-e0
-a1
-80
 00
-58
 00
 00
-09
-e0
-a1
-80
 00
-d8
-c0
-8d
-71
-df
-20
-01
-09
-20
-40
-7f
-01
-70
-48
-8f
 00
-70
-48
-87
-6d
-58
 00
-40
-1f
-60
-01
-49
-dd
-58
 00
-6d
-04
-60
-01
-4a
-46
-58
 00
-16
-b0
-60
-01
-4a
-4c
-58
 00
-48
-78
-60
-01
-45
-75
-20
-60
 00
 00
-20
-20
 00
-40
-c0
-38
 00
-03
-20
-60
 00
 00
-79
-3f
-80
-26
-20
-40
 00
-2c
-20
-40
 00
-19
-70
-4c
-25
 00
-20
 00
-07
-d0
-68
 00
-cc
-25
-c0
-7f
-ad
-d4
-20
-40
-01
-76
-24
-2c
 00
-22
-24
-37
-80
-22
-20
-40
-01
-a0
-20
-40
-02
-cc
-68
-02
-4c
-20
-68
-0a
-4c
-04
-98
-46
-7c
 00
-20
-22
-80
-36
-79
-20
 00
-26
-58
 00
 00
 00
-60
-01
-4c
-25
-20
-40
-2f
-20
-20
-40
-01
-70
-20
-20
-03
-88
-70
-11
-9e
-ff
-68
 00
-cb
-f9
-60
 00
-91
-9f
-68
-02
-4c
-2f
-60
-02
-11
-a0
-d8
-40
 00
-06
-da
-20
-11
-9e
-20
-40
-01
-b4
-20
-20
-01
-d4
-68
 00
-cc
-25
-1f
-e0
-fe
-01
-60
 00
-cc
-25
-68
 00
-cd
-36
-1f
-e0
-fe
-01
-1f
-e1
-7e
-01
-60
 00
-cd
-36
-c0
 00
 00
-32
-c0
 00
-80
-34
-20
-60
 00
 00
-70
-41
-de
-20
-58
 00
-0f
-0f
-60
-01
-4c
-20
-e0
-a1
 00
 00
-20
-40
-01
-c7
-20
-20
-01
-e6
-20
-40
 00
-2c
-20
-20
 00
-07
-20
-40
 00
-3a
-20
-20
 00
-07
-79
-20
 00
-26
-20
-40
 00
-3a
-70
-4c
-08
-01
-20
-60
 00
 00
-70
-41
-de
-20
-70
-4b
-f7
 00
-70
-4c
-02
-4e
-68
-02
-4c
-04
-20
-20
-01
-c6
 00
 00
 00
 00
-20
-20
 00
-40
-c0
-30
 00
-04
-c0
-30
-80
-26
-20
-60
 00
 00
-79
-3f
-80
-26
-20
-40
-01
-c7
-20
-40
-01
-e6
-68
 00
-cc
-08
-c1
-ff
-80
 00
-20
-40
 00
-18
-58
 00
 00
 00
-60
-01
-4c
-25
-20
 00
-07
-d0
-68
 00
-cc
-25
-c0
-7f
-ad
-d4
-20
-40
-01
-76
-24
-2c
 00
-21
-24
-37
-80
-21
-79
-20
 00
-26
-58
 00
 00
 00
-60
-01
-4c
-25
-20
-40
-2f
-20
-20
-40
-01
-70
-20
-20
-03
-88
-70
-11
-9e
-ff
-68
 00
-cb
-f9
-60
 00
-91
-9f
-68
-02
-4c
-2f
-60
-02
-11
-a0
-d8
-40
 00
-06
-da
-20
-11
-9e
-20
-40
-01
-b4
-20
-20
-01
-d4
-68
-01
-4c
-25
-1f
-e0
-fe
-01
-60
-01
-4c
-25
-20
-40
-01
-e6
-20
-20
 00
-0c
-68
 00
-c7
-20
-c1
 00
-80
 00
-68
-02
-46
-d3
-c4
-08
-80
 00
-c3
-81
-80
 00
-c6
-13
 00
 00
-d8
-e0
 00
-03
-20
-40
-43
-ce
-58
 00
 00
 00
-60
-01
-46
-ae
-60
 00
-c6
-b4
-60
-01
-4c
-25
-20
-40
-42
-ca
-20
-20
 00
-34
-79
-20
 00
-26
-20
-40
 00
-38
-70
-4c
-08
-01
-20
-60
 00
 00
-70
-41
-de
-20
-70
-4b
-f7
 00
-70
-4c
-02
-4e
-68
-02
-4c
-04
-20
-20
-01
-c6
 00
 00
 00
@@ -10200,174 +8532,88 @@
 00
 00
 00
-20
-20
 00
-40
-c0
-28
 00
-03
-20
-60
 00
 00
-70
-4b
-6d
 00
-20
-40
-02
-cc
-70
-47
-20
-01
-70
-47
-9e
 00
-20
-40
-05
-71
-68
-09
-47
-c4
-18
-40
-84
-01
-60
-09
-47
-c4
-60
-09
-44
-a1
-20
-40
-03
-3a
-18
-0a
-7e
 00
-60
 00
-c4
-a0
-68
-01
-cb
-69
-60
-01
-c4
-a3
-20
-40
-02
-eb
-20
-40
-34
-18
-68
-01
-46
-87
-60
-01
-46
-ac
-70
-01
-6d
-06
-58
 00
 00
 00
-60
-01
-46
-b0
-60
-01
-46
-ae
-d8
-e0
 00
-07
-20
-40
-43
-ce
-20
-40
-43
-ca
-68
 00
-c0
-92
-2f
-ef
-fe
-01
-20
-40
-80
-23
-68
 00
-c0
-92
-2f
-ef
-fe
 00
-20
-40
-fd
-dd
-20
-20
-04
-f5
-70
-47
-a1
 00
-20
-40
-02
-e4
-58
 00
 00
-05
-e0
-c0
-80
 00
-d8
-c0
-4b
-12
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
 20
-40
-05
-78
 20
+00
+40
 20
-7d
-f4
+60
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
 00
 00
 00
@@ -10456,146 +8702,40 @@
 00
 00
 00
-20
-20
 00
-40
-c0
-20
 00
-04
-c0
-20
-80
-16
-20
-60
 00
 00
-20
-40
 00
-0c
-20
-20
-55
-7d
-68
 00
-c7
-c7
-60
 00
-c1
-72
-70
-47
-c6
 00
-20
-60
 00
 00
-70
-47
-c6
-01
-20
-60
 00
 00
-68
 00
-c3
-d6
-1f
-e6
-7c
-0c
-24
-21
 00
-0a
-68
 00
-c3
-d8
-68
-08
-c7
-c7
-98
-46
-7c
 00
-20
-21
 00
-06
-68
 00
-c3
-d8
-60
 00
-c1
-72
-20
-20
 00
-08
-68
 00
-84
-3f
-c4
-03
 00
 00
-20
-40
 00
-1b
-24
-74
 00
 00
-20
-20
-55
-a0
-78
-34
-7c
 00
-68
 00
-84
-5a
-1f
-f1
-fe
 00
-c1
-87
-80
 00
-68
 00
-84
-60
-1f
-f1
-fe
 00
-c1
-80
 00
 00
-20
-20
-7f
-e9
 00
 00
 00
@@ -10716,158 +8856,43 @@
 20
 00
 40
-c0
-18
-00
-03
 20
 60
 00
 00
-20
-40
-62
-bc
-24
-7a
 00
 00
-68
 00
-80
-55
-20
-7a
 00
 00
-c0
-02
 00
-25
-c0
-08
 00
-0a
-20
-20
-63
-20
-68
 00
-c5
-5b
-c1
 00
 00
 00
-c0
 00
-80
-0e
-20
-20
-63
-5f
-20
-74
-80
 00
-68
 00
-81
-6d
-c2
-80
 00
-12
-20
-20
-63
-99
-68
 00
-cb
-03
-c0
 00
-e3
-9d
-68
 00
-c1
-bd
-20
-3a
-63
-a9
-68
 00
-84
-d1
-c4
-01
-80
 00
-c4
-01
 00
 00
-68
 00
-cb
-02
-20
-7a
 00
 00
-70
-4b
-02
 00
-68
-02
-04
-e9
-d8
-40
 00
-14
-98
-40
-84
 00
-1c
-42
-7e
 00
-98
-46
-7c
 00
-24
-21
 00
-23
-20
-20
-63
-49
-70
-4b
-02
-01
-20
-60
 00
 00
-70
-48
-0b
-14
-20
-20
-63
-6f
 00
 00
 00
@@ -10968,188 +8993,47 @@
 00
 00
 00
-20
-20
 00
-40
-c0
-10
 00
-03
-20
-60
 00
 00
-78
-54
-7c
 00
-20
-40
-62
-c1
-68
 00
-80
-48
-20
-7a
 00
 00
-c2
-83
-80
-0c
-c0
-01
-80
-1c
-c0
-18
-80
-18
-c0
-0b
-80
-1a
-20
-20
-60
-10
-c0
-42
 00
-0f
-c0
-41
-80
-12
-20
-20
-60
-3f
-20
-40
 00
-15
-68
 00
-80
-48
-20
-20
-60
-99
-20
-40
 00
-15
-68
 00
-80
-48
-20
-20
-61
-0d
-68
 00
-c6
-5a
-20
-3a
-61
-2b
-20
-20
-61
-24
-70
-4b
-03
-01
-20
-20
-61
-c3
-70
-4b
-0b
-04
-20
-20
-61
-a4
-18
 00
-7e
-02
-20
-40
-62
-98
-68
 00
-80
-49
-e0
-a0
-80
 00
-60
 00
-ca
-fe
-20
-40
-62
-a7
-68
 00
-ca
-fe
-c0
-17
 00
-25
-20
-20
-60
-51
-68
 00
-cb
-01
-20
-7a
 00
 00
-70
-4b
-01
 00
-68
 00
-cb
-03
-c1
-81
 00
 00
-70
-4b
-02
-01
-1c
-42
-7e
 00
-60
-02
-04
-e9
-20
-60
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
 00
 00
 00
@@ -11229,182 +9113,175 @@
 00
 40
 c0
-08
+18
 00
-04
-c0
-08
-80
-1a
+03
 20
 60
 00
 00
+20
+40
+00
+d8
 70
-48
-0a
+47
+a1
 00
 70
-41
-e3
-0e
+4b
+6c
+00
+70
+47
+9e
+00
+70
+47
 20
-40
-41
-e7
+01
 68
 01
-42
-08
-c2
-83
-80
-0e
-c2
-80
-33
-a9
-c2
-80
-80
-11
-c2
-81
-00
-14
+46
+82
 c2
-81
+85
 80
-14
-20
+0b
 20
-42
-b0
+40
+00
+1c
 20
 40
-41
-c1
-68
 01
-42
-08
-20
-20
-41
-f7
-c2
-82
-80
-14
-c2
-81
-80
-14
-20
+63
 20
-42
-b0
+40
+34
+18
 68
 01
 46
-82
-c2
-86
-42
+87
+60
+01
+46
+ac
+70
+01
+6d
+06
+58
+00
+00
+00
+60
+01
+46
 b0
+60
+01
+46
+ae
 20
 40
-33
-a9
-20
-40
-05
-32
-c0
 02
-84
-c0
-20
+64
 20
-33
-a7
+40
+43
+ca
 68
-01
-02
-64
-1f
-e2
-0c
 00
-e8
 c0
-80
-00
-60
-00
-cb
-04
-1f
-e1
-04
-0f
-1f
-f1
+92
+2f
+ef
 fe
-00
-c0
-03
-80
-23
-c0
-00
-80
-2a
-20
-20
-4d
-39
+01
 20
 40
-4d
-53
-70
-4b
-05
-00
+82
+56
 68
 00
-cb
-04
+c0
+92
 2f
 ef
 fe
 00
 20
+40
+fd
+dd
+20
+20
+02
+c9
+20
+40
+01
+6b
+68
+09
+4b
+6e
+18
+40
+84
+01
 60
-80
-00
-70
+09
 4b
-05
+6e
+60
+09
+44
+a1
+20
+40
 01
+28
+18
+0a
+7e
+00
+60
+00
+c4
+a0
 20
 60
 00
 00
-18
+20
+40
+7f
+e7
+58
+00
+ff
+ff
+e8
+c9
+00
+00
+98
+46
+7c
+00
+24
 42
-7e
+ff
+e9
+c2
 00
-c0
-02
-84
-34
-20
-20
-4d
-41
 00
+27
+20
+60
 00
 00
 00
@@ -11480,107 +9357,217 @@
 00
 00
 00
-20
-20
 00
-40
-c0
 00
 00
-03
-20
-60
 00
 00
-68
 00
-80
-0e
-1f
-e0
-fe
-01
-60
 00
-80
-0e
 20
-40
-24
-35
-79
 20
 00
-2c
-20
 40
-22
-f2
-20
-2c
+c0
+10
 00
-0e
-79
-3f
+06
+c0
+10
 80
-2c
-20
-40
-24
-55
-24
-3a
+18
+c0
+11
 00
-07
-20
-20
-20
-fc
-79
-3f
+25
+c0
+11
 80
 2c
 20
-20
-21
-5f
+60
 00
 00
+20
+40
+00
+0e
+20
+20
+55
+7d
+68
 00
+c7
+c5
+60
 00
+c1
+72
+70
+47
+c4
 00
+20
+60
 00
 00
+70
+47
+c4
+01
+20
+60
 00
 00
+68
 00
+c3
+d6
+1f
+e6
+7c
+0c
+24
+21
 00
+0c
+68
 00
+c3
+d8
+68
+08
+c7
+c5
+98
+46
+7c
 00
+20
+21
 00
+08
+68
 00
+c3
+d8
+60
 00
+c1
+72
+20
+20
 00
+0a
+68
 00
+84
+3f
+c4
+03
 00
 00
+20
+40
 00
+1d
+24
+74
 00
 00
+20
+20
+55
+a0
+78
+34
+7c
 00
+68
 00
+84
+5a
+1f
+f1
+fe
 00
+c1
+87
+80
 00
+68
 00
+84
+60
+1f
+f1
+fe
 00
+c1
+80
 00
 00
+20
+20
+7f
+e9
+68
 00
+c7
+a1
+24
+7a
 00
 00
+68
 00
+84
+78
+1f
+e6
+7e
+1a
+24
+62
+80
 00
+70
+46
+c6
 00
+20
+20
+3d
+60
+20
+40
+33
+af
+20
+40
+26
+e9
+70
+0a
+99
+02
+20
+40
+7d
+86
+20
+40
+5c
+f7
+20
+40
+4d
+6b
+20
+20
+24
+6e
 00
 00
 00
@@ -11633,39 +9620,240 @@
 00
 00
 00
+20
+20
 00
+40
+c0
+08
 00
+10
+c0
+08
+80
+04
+20
+60
 00
 00
+70
+4b
+6c
+01
+70
+47
+a1
+01
+68
+01
+46
+a8
+60
+01
+46
+ae
+20
+40
+02
+64
+20
+40
+34
+18
+20
+40
 00
+e0
+58
 00
 00
+04
+e0
+c0
+80
 00
+20
+40
+02
+61
+70
+43
+6f
+03
+20
+20
+7d
+f4
+78
+54
+7c
 00
+20
+40
+62
+c1
+68
 00
+80
+48
+20
+7a
 00
 00
+c2
+83
+80
+19
+c0
+01
+80
+29
+c0
+18
+80
+25
+c0
+0b
+80
+27
+20
+20
+60
+10
+c0
+42
 00
+1c
+c0
+41
+80
+1f
+20
+20
+60
+3f
+20
+40
 00
+22
+68
 00
+80
+48
+20
+20
+60
+99
+20
+40
 00
+22
+68
 00
+80
+48
+20
+20
+61
+0d
+68
 00
+c6
+5a
+20
+3a
+61
+2b
+20
+20
+61
+24
+70
+4b
+01
+01
+20
+20
+61
+c3
+70
+4b
+09
+04
+20
+20
+61
+a4
+18
 00
+7e
+02
+20
+40
+62
+98
+68
 00
+80
+49
+e0
+a0
+80
 00
+60
 00
+ca
+fc
+20
+40
+62
+a7
+68
 00
+ca
+fc
+c0
+17
 00
+32
+20
+20
+60
+51
+68
 00
+ca
+ff
+20
+7a
 00
 00
+70
+4a
+ff
 00
+68
 00
+cb
+01
+c1
+81
 00
 00
+70
+4b
 00
+01
+1c
+42
+7e
 00
+60
+02
+04
+e9
+20
+60
 00
 00
 00
@@ -11688,34 +9876,242 @@
 00
 00
 00
+20
+20
 00
+40
+c0
 00
 00
+05
+c0
 00
+80
+12
+c0
+01
 00
+28
+20
+60
 00
 00
+68
 00
+80
+0e
+1f
+e0
+fe
+01
+60
 00
+80
+0e
+20
+40
+24
+35
+79
+20
 00
+2c
+20
+40
+22
+f2
+20
+2c
 00
+10
+79
+3f
+80
+2c
+20
+40
+24
+55
+24
+3a
 00
+09
+20
+20
+20
+fc
+79
+3f
+80
+2c
+20
+20
+21
+5f
+70
+48
+08
 00
+70
+41
+e3
+0e
+20
+40
+41
+e7
+68
+01
+42
+08
+c2
+83
+c1
+f5
+c2
+80
+33
+a9
+c2
+80
+80
+1c
+c2
+81
 00
+1f
+c2
+81
+80
+1f
+20
+20
+42
+b0
+c2
+82
+80
+1f
+c2
+81
+80
+1f
+20
+20
+42
+b0
+68
+01
+46
+82
+c2
+86
+42
+b0
+20
+40
+33
+a9
+20
+40
+03
+60
+c0
+03
+80
+25
+20
+20
+33
+a7
+70
+47
+9f
+01
+70
+47
+a0
+28
+20
+60
 00
 00
+68
+01
+02
+64
+1f
+e2
+0c
 00
+e8
+c0
+80
 00
+60
 00
+cb
+02
+1f
+e1
+04
+0f
+1f
+f1
+fe
 00
+c0
+03
+80
+31
+c0
 00
+80
+38
+20
+20
+4d
+39
+20
+40
+4d
+53
+70
+4b
+03
 00
+68
 00
+cb
+02
+2f
+ef
+fe
 00
+20
+60
+80
 00
+70
+4b
+03
+01
+20
+60
 00
 00
+18
+42
+7e
 00
+c0
+02
+82
+1a
+20
+20
+4d
+41
 00
 00
 00
@@ -11740,5 +10136,5 @@
 55
 00
 00
-25
-24
+7c
+89
Index: output/memmap.format
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/FR_2639_BT&BLE/output/memmap.format	(revision 1714)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/FR_2639_BT&BLE/output/memmap.format	(working copy)
@@ -602,9 +602,10 @@
 0x11be mem_data_pre
 0x11c0 mem_data_current
 0x11c2 mem_data_sum
-0x11c5 mem_zcode_temp_param0//zcode num
-0x11c6 mem_zcode_temp_param1//patch ram func addr
-0x11c8 mem_zcode_temp_param2//patch ram func addr
+0x11c5 mem_data_value
+0x11c6 mem_zcode_temp_param0//zcode num
+0x11c7 mem_zcode_temp_param1//patch ram func addr
+0x11c9 mem_zcode_temp_param2//patch ram func addr
 0x4000 mem_patch00
 0x4001 mem_patch01
 0x4002 mem_patch02
@@ -1743,202 +1744,215 @@
 0x47a1 mem_mouse_le_reconnect_flag
 0x47a2 mem_mouse_data_queue
 0x47c3 mem_mouse_data_queue_num
-0x47c4 mem_random_addr_increase_count
-0x47c6 mem_mouse_le_conn_param_reject
-0x47c7 mem_lpm_mult_init
-0x47c8 mem_mouse_le_uuid_sup
-0x4808 mem_mouse_wheel_trigger
-0x4809 mem_mouse_wheel_trigger_timer
-0x480a mem_mouse_enter_sniff_count
-0x480b mem_mouse_send_switch_req_timer
-0x480c mem_le_tx_buffer0_omemalloc
-0x4827 mem_le_tx_buffer1_omemalloc
-0x4842 mem_le_tx_buffer2_omemalloc
-0x485d mem_le_tx_buffer3_omemalloc
-0x4878 mem_mouse_uuid_list
-0x4afe mem_lmi_opcode_temp
-0x4aff mem_mouse_adc_last_low_voltage_flag
-0x4b00 mem_mouse_init_sensor_reset_flag
-0x4b01 mem_bt_rcvd_switch_req_accept
-0x4b02 mem_bt_send_max_slot_req_accept_after_switch
-0x4b03 mem_bt_send_lmp_setup_complete
-0x4b04 mem_l2cap_rcv
-0x4b05 mem_mouse_bt_boot_mode
-0x4b06 mem_mouse_bt_boot_data
-0x4b0b mem_mouse_bt_send_first_package_timer
-0x4b0c mem_mouse_bt_send_first_package_flag
-0x4b0d mem_mouse_asm_flag
-0x4b0e mem_mouse_x_pre
-0x4b10 mem_mouse_y_pre
-0x4b12 mem_le_adv_swift_pair
-0x4b25 mem_24g_sw_gpio
-0x4b26 mem_mouse_multi_led_blink_enable
-0x4b27 mem_mouse_multi_led_gpio
-0x4b28 mem_mouse_multi_led_state
-0x4b29 mem_mouse_multi_led_type
-0x4b2a mem_mouse_multi_led_on_timer_init
-0x4b2b mem_mouse_multi_led_blink_timer_init
-0x4b2c mem_mouse_multi_led_blink_timer
-0x4b2d mem_mouse_multi_led_blink_count
-0x4b2e mem_mouse_multi_led_on_timer
-0x4b2f mem_mouse_multi_led_blink_count_limited
-0x4b30 mem_mouse_multi_led_on_poweron2s_flag
-0x4b31 mem_discovery_on_flag
-0x4b32 mem_bt_ui_button_timeout
-0x4b33 mem_bt_ui_button_count
-0x4b34 mem_mouse_priority_bb_event
-0x4b35 mem_mouse_le_parse_l2cap_ptr
-0x4b37 mem_low_power_no_data_off_led_time
-0x4b38 mem_low_power_check_count
-0x4b39 mem_low_power_led_blink_flag
-0x4b3a mem_mouse_3065xy_dpi_seting
-0x4b3a mem_3065xy_dpi_1
-0x4b3b mem_3065xy_dpi_2
-0x4b3c mem_3065xy_dpi_3
-0x4b3d mem_3065xy_dpi_4
-0x4b3e mem_le_att_pnp_id_len
-0x4b3f mem_le_att_pnp_id
-0x4b46 mem_flash_ncs_gpio
-0x4b47 mem_select_ui_button_count
-0x4b48 mem_write_flash_head_temp
-0x4b4c mem_mouse_poweron_led_timer
-0x4b4d mem_mouse_24g_addr_init
-0x4b51 mem_zcode_current_number
-0x4b52 mem_xip_flash_offset
-0x4b55 mem_flash_start_addr
-0x4b58 mem_flash_address
-0x4b5b mem_zcode_head
-0x4b5f mem_mouse_long_mult_flag
-0x4b60 mem_mouse_le_current_mult_timer
-0x4b61 mem_24g_long_sleep_param_update_timer
-0x4b62 mem_mouse_bt_led_gpio
-0x4b63 mem_mouse_button_select_device_timer_init
-0x4b64 mem_mouse_button_select_device_count
-0x4b65 mem_mouse_multi_led_on_timer_init1
-0x4b66 mem_mouse_24g_attempt_success_flag
-0x4b67 mem_mouse_le_bb_connected_flag
-0x4b68 mem_mouse_fast_conn_flag
-0x4b69 mem_le_lap_high_3B
-0x4b6c mem_mouse_send_secutiry_request_timer
-0x4b6d mem_le_send_security_request_flag
-0x4b6e mem_mouse_long_button_select_device
-0x4b6f mem_mouse_select_device_button_wakeup_flag
-0x4b70 mem_mouse_le_fast_conn_enable_timer
-0x4b71 mem_mouse_delay_discovery_count
-0x4b72 mem_24g_rxbuf
-0x4b94 mem_24g_txbuf
-0x4bb4 mem_24g_txpayload
-0x4bd6 mem_24g_rxpayload
-0x4bf6 mem_24g_rxdata_length
-0x4bf7 mem_24g_pid
-0x4bf8 mem_24g_datalen
-0x4bf9 mem_24g_data_type
-0x4bfa mem_24g_txlen
-0x4bfb mem_24g_rx_window
-0x4bfd mem_24g_ensure
-0x4bfe mem_24g_txfail_cnt
-0x4c00 mem_24g_get_ack_fail
-0x4c01 mem_24g_retry
-0x4c02 mem_24g_ch
-0x4c03 mem_24g_current_ch_number
-0x4c04 mem_24g_paring_addr
-0x4c08 mem_24g_pairing_sm
-0x4c09 mem_24g_ch_map1
-0x4c0d mem_24g_ch_map2
-0x4c11 mem_24g_ch_map3
-0x4c15 mem_24g_ch_map4
-0x4c19 mem_24g_tx_btclk
-0x4c1d mem_24g_interval
-0x4c1e mem_24g_interval_min
-0x4c1f mem_24g_interval_max
-0x4c20 mem_24g_addr
-0x4c24 mem_24g_abort_pac
-0x4c25 mem_24g_check_dongle_times
-0x4c27 mem_24g_enter_hibernate
-0x4c2f mem_24g_device_addr
-0x4c33 mem_24g_pac_index
-0x4c34 mem_24g_no_ack
-0x4c35 mem_24g_sta_crc
-0x4c38 mem_24g_last_crc
-0x4c3b mem_24g_sta_pid
-0x4c3c mem_24g_last_pid
-0x4c3d mem_24g_max_retry
-0x4c3e mem_24g_mode
-0x4c3f mem_24g_rxdata_temp
-0x4c61 mem_24g_rx_addr
-0x4c65 mem_dongle_mode_init
-0x4c66 mem_dongle_work_mode
-0x4c67 mem_dongle_ms_bind_step
-0x4c68 mem_dongle_kb_bind_step
-0x4c69 mem_dongle_bind_device_status
-0x4c6a mem_24g_bind_payload
-0x4c72 mem_24g_abort_packet
-0x4c73 mem_24g_rf_laststa
-0x4c74 mem_24g_hop_btclk
-0x4c78 mem_24g_hop_interval
-0x4c79 mem_24g_mode_switch
-0x4c7a mem_24g_ackpayload_enable
-0x4c7b mem_24g_hop_packet
-0x4c7c mem_24g_pair_mode
-0x4c7d mem_24g_nodata_timer_enable
-0x4c7e mem_24g_time_slice
-0x4c7f mem_24g_kb_data_sta_data
-0x4c87 mem_24g_kb_data_last_data
-0x4c8f mem_24g_kb_multikey_sta_data
-0x4c92 mem_24g_kb_multikey_last_data
-0x4c95 mem_24g_kb_blank_data_enable
-0x4c96 mem_24g_kb_mul_blank_data_enable
-0x4c97 mem_24g_ms_blank_data_enable
-0x4c98 mem_24g_kb_addr
-0x4c9c mem_24g_ms_addr
-0x4ca0 mem_24g_dg_last_ch
-0x4ca1 mem_24g_dg_ch_number
-0x4ca2 mem_24g_dg_config_ch_once
-0x4ca3 mem_24g_kb_last_ch
-0x4ca4 mem_24g_kb_ch_number
-0x4ca5 mem_24g_kb_config_ch_once
-0x4ca6 mem_24g_ms_last_ch
-0x4ca7 mem_24g_ms_ch_number
-0x4ca8 mem_24g_ms_config_ch_once
-0x4ca9 mem_24g_syncword
-0x4cab mem_24g_syncword_crc8
-0x4cac mem_24g_get_syncword_crc8
-0x4cad mem_24g_ota_sta_pid
-0x4caf mem_tx_power_temp
-0x4cb0 mem_rssi_hex
-0x4cb1 mem_rssi_noise_avg
-0x4cb2 mem_rssi_noise_index
-0x4cb3 mem_rssi_signal_index
-0x4cb4 mem_rssi_noise_dg_avg
-0x4cb5 mem_rssi_noise_kb_avg
-0x4cb6 mem_rssi_noise_ms_avg
-0x4cb7 mem_rssi_noise_dg_index
-0x4cb8 mem_rssi_noise_kb_index
-0x4cb9 mem_rssi_noise_ms_index
-0x4cba mem_rssi_signal_buf
-0x4cc2 mem_queue_ele_num
-0x4cc3 mem_queue_read
-0x4cc5 mem_queue_write
-0x4cc7 mem_queue_start
-0x4cc7 mem_data_ele0
-0x4ce7 mem_data_ele1
-0x4d07 mem_data_ele2
-0x4d27 mem_queue_end
-0x4d27 mem_queue_temp
-0x4d29 mem_cb_24g_data
-0x4d2b mem_24g_hop_fastly_cnt
-0x4d2c mem_24g_hop_pac_retry
-0x4d2d mem_24g_rf_hop_ch
-0x4d2e mem_24g_rf_last_sta
-0x4d2f mem_24g_rf_work_stage
-0x4d30 mem_24g_sync_cnt
-0x4d31 mem_power_ctrl_pac_succ_cnt
-0x4d32 mem_rssi_avg_received
-0x4d33 mem_rssi_hex_received
-0x4d34 mem_power_ctrl_level
-0x4d35 mem_seqi
-0x4d36 mem_24g_auto_paring_switch
-0x4d37 mem_24g_paccnt
-0x4d38 mem_24g_transmit_by_interrupt
-0x4d39 mem_24g_transmit_by_interrupt_exit_count
-0x4d3b mem_24g_transmit_by_interrupt_exit_count_init
+0x47c4 mem_mouse_le_conn_param_reject
+0x47c5 mem_lpm_mult_init
+0x47c6 mem_mouse_le_uuid_sup
+0x4806 mem_mouse_wheel_trigger
+0x4807 mem_mouse_wheel_trigger_timer
+0x4808 mem_mouse_enter_sniff_count
+0x4809 mem_mouse_send_switch_req_timer
+0x480a mem_le_tx_buffer0_omemalloc
+0x4825 mem_le_tx_buffer1_omemalloc
+0x4840 mem_le_tx_buffer2_omemalloc
+0x485b mem_le_tx_buffer3_omemalloc
+0x4876 mem_mouse_uuid_list
+0x4afc mem_lmi_opcode_temp
+0x4afd mem_mouse_adc_last_low_voltage_flag
+0x4afe mem_mouse_init_sensor_reset_flag
+0x4aff mem_bt_rcvd_switch_req_accept
+0x4b00 mem_bt_send_max_slot_req_accept_after_switch
+0x4b01 mem_bt_send_lmp_setup_complete
+0x4b02 mem_l2cap_rcv
+0x4b03 mem_mouse_bt_boot_mode
+0x4b04 mem_mouse_bt_boot_data
+0x4b09 mem_mouse_bt_send_first_package_timer
+0x4b0a mem_mouse_bt_send_first_package_flag
+0x4b0b mem_mouse_asm_flag
+0x4b0c mem_mouse_x_pre
+0x4b0e mem_mouse_y_pre
+0x4b10 mem_le_adv_swift_pair
+0x4b23 mem_mouse_multi_led_blink_enable
+0x4b24 mem_mouse_multi_led_gpio
+0x4b25 mem_mouse_multi_led_state
+0x4b26 mem_mouse_multi_led_type
+0x4b27 mem_mouse_multi_led_on_timer
+0x4b28 mem_mouse_multi_led_on_timer_init
+0x4b29 mem_mouse_multi_led_blink_timer_init
+0x4b2a mem_mouse_multi_led_blink_timer
+0x4b2b mem_mouse_multi_led_blink_count
+0x4b2c mem_mouse_multi_led_blink_count_limited
+0x4b2d mem_mouse_multi_led_on_poweron2s_flag
+0x4b2e mem_mouse_priority_bb_event
+0x4b2f mem_mouse_le_parse_l2cap_ptr
+0x4b31 mem_low_power_no_data_off_led_time
+0x4b32 mem_low_power_check_count
+0x4b33 mem_low_power_led_blink_flag
+0x4b34 mem_mouse_3065xy_dpi_seting
+0x4b34 mem_3065xy_dpi_1
+0x4b35 mem_3065xy_dpi_2
+0x4b36 mem_3065xy_dpi_3
+0x4b37 mem_3065xy_dpi_4
+0x4b38 mem_le_att_pnp_id_len
+0x4b39 mem_le_att_pnp_id
+0x4b40 mem_mouse_long_mult_flag
+0x4b41 mem_mouse_le_current_mult_timer
+0x4b42 mem_24g_long_sleep_param_update_timer
+0x4b43 mem_flash_ncs_gpio
+0x4b44 mem_select_ui_button_count
+0x4b45 mem_write_flash_head_temp
+0x4b49 mem_mouse_poweron_led_timer
+0x4b4a mem_mouse_24g_addr_init
+0x4b50 mem_zcode_current_number
+0x4b51 mem_xip_flash_offset
+0x4b54 mem_flash_start_addr
+0x4b57 mem_flash_address
+0x4b5a mem_zcode_head
+0x4b5e mem_mouse_select_device_button_wakeup_flag
+0x4b5f mem_mouse_le_updata_not_accepted_flag
+0x4b60 mem_le_normal_lap
+0x4b66 mem_le_switch_adv_flag
+0x4b67 mem_le_switch_adv_timer
+0x4b68 mem_le_switch_adv_count
+0x4b69 mem_mouse_start_discovery_enable
+0x4b6a mem_mouse_le_adv_start
+0x4b6b mem_mouse_send_secutiry_request_timer
+0x4b6c mem_le_send_security_request_flag
+0x4b6d mem_mouse_le_bb_connected_flag
+0x4b6e mem_mouse_flash_start_temp
+0x4b6e mem_random_addr_increase_count
+0x4b70 mem_mouse_long_button_select_device
+0x4b71 mem_eeprom_init_flag
+0x4b73 mem_mouse_fast_conn_flag
+0x4b74 mem_mouse_latest_mode
+0x4b75 mem_mouse_flash_end_temp
+0x4b75 mem_mouse_le_not_tx_disconn
+0x4b76 mem_sensor_8650_init
+0x4b8f mem_sensor_ka8_init
+0x4b9c mem_sensor_poweron_init
+0x4ba5 mem_24g_rxbuf
+0x4bc7 mem_24g_txbuf
+0x4be7 mem_24g_txpayload
+0x4c09 mem_24g_rxpayload
+0x4c29 mem_24g_rxdata_length
+0x4c2a mem_24g_pid
+0x4c2b mem_24g_datalen
+0x4c2c mem_24g_data_type
+0x4c2d mem_24g_txlen
+0x4c2e mem_24g_rx_window
+0x4c30 mem_24g_ensure
+0x4c31 mem_24g_txfail_cnt
+0x4c33 mem_24g_get_ack_fail
+0x4c34 mem_24g_retry
+0x4c35 mem_24g_ch
+0x4c36 mem_24g_current_ch_number
+0x4c37 mem_24g_paring_addr
+0x4c3b mem_24g_pairing_sm
+0x4c3c mem_24g_ch_map1
+0x4c40 mem_24g_ch_map2
+0x4c44 mem_24g_ch_map3
+0x4c48 mem_24g_ch_map4
+0x4c4c mem_24g_tx_btclk
+0x4c50 mem_24g_interval
+0x4c51 mem_24g_interval_min
+0x4c52 mem_24g_interval_max
+0x4c53 mem_24g_addr
+0x4c57 mem_24g_abort_pac
+0x4c58 mem_24g_check_dongle_times
+0x4c5a mem_24g_enter_hibernate
+0x4c62 mem_24g_device_addr
+0x4c66 mem_24g_pac_index
+0x4c67 mem_24g_no_ack
+0x4c68 mem_24g_sta_crc
+0x4c6b mem_24g_last_crc
+0x4c6e mem_24g_sta_pid
+0x4c6f mem_24g_last_pid
+0x4c70 mem_24g_max_retry
+0x4c71 mem_24g_mode
+0x4c72 mem_24g_rxdata_temp
+0x4c94 mem_24g_rx_addr
+0x4c98 mem_dongle_mode_init
+0x4c99 mem_dongle_work_mode
+0x4c9a mem_dongle_ms_bind_step
+0x4c9b mem_dongle_kb_bind_step
+0x4c9c mem_dongle_bind_device_status
+0x4c9d mem_24g_bind_payload
+0x4ca5 mem_24g_abort_packet
+0x4ca6 mem_24g_rf_laststa
+0x4ca7 mem_24g_hop_btclk
+0x4cab mem_24g_hop_interval
+0x4cac mem_24g_mode_switch
+0x4cad mem_24g_ackpayload_enable
+0x4cae mem_24g_hop_packet
+0x4caf mem_24g_pair_mode
+0x4cb0 mem_24g_nodata_timer_enable
+0x4cb1 mem_24g_time_slice
+0x4cb2 mem_24g_kb_data_sta_data
+0x4cba mem_24g_kb_data_last_data
+0x4cc2 mem_24g_kb_multikey_sta_data
+0x4cc5 mem_24g_kb_multikey_last_data
+0x4cc8 mem_24g_kb_blank_data_enable
+0x4cc9 mem_24g_kb_mul_blank_data_enable
+0x4cca mem_24g_ms_blank_data_enable
+0x4ccb mem_24g_kb_addr
+0x4ccf mem_24g_ms_addr
+0x4cd3 mem_24g_dg_last_ch
+0x4cd4 mem_24g_dg_ch_number
+0x4cd5 mem_24g_dg_config_ch_once
+0x4cd6 mem_24g_kb_last_ch
+0x4cd7 mem_24g_kb_ch_number
+0x4cd8 mem_24g_kb_config_ch_once
+0x4cd9 mem_24g_ms_last_ch
+0x4cda mem_24g_ms_ch_number
+0x4cdb mem_24g_ms_config_ch_once
+0x4cdc mem_24g_syncword
+0x4cde mem_24g_syncword_crc8
+0x4cdf mem_24g_get_syncword_crc8
+0x4ce0 mem_24g_ota_sta_pid
+0x4ce2 mem_tx_power_temp
+0x4ce3 mem_rssi_hex
+0x4ce4 mem_rssi_noise_avg
+0x4ce5 mem_rssi_noise_index
+0x4ce6 mem_rssi_signal_index
+0x4ce7 mem_rssi_noise_dg_avg
+0x4ce8 mem_rssi_noise_kb_avg
+0x4ce9 mem_rssi_noise_ms_avg
+0x4cea mem_rssi_noise_dg_index
+0x4ceb mem_rssi_noise_kb_index
+0x4cec mem_rssi_noise_ms_index
+0x4ced mem_rssi_signal_buf
+0x4cf5 mem_queue_ele_num
+0x4cf6 mem_queue_read
+0x4cf8 mem_queue_write
+0x4cfa mem_queue_start
+0x4cfa mem_data_ele0
+0x4d1a mem_data_ele1
+0x4d3a mem_data_ele2
+0x4d5a mem_queue_end
+0x4d5a mem_queue_temp
+0x4d5c mem_cb_24g_data
+0x4d5e mem_24g_hop_fastly_cnt
+0x4d5f mem_24g_hop_pac_retry
+0x4d60 mem_24g_rf_hop_ch
+0x4d61 mem_24g_rf_last_sta
+0x4d62 mem_24g_rf_work_stage
+0x4d63 mem_24g_sync_cnt
+0x4d64 mem_power_ctrl_pac_succ_cnt
+0x4d65 mem_rssi_avg_received
+0x4d66 mem_rssi_hex_received
+0x4d67 mem_power_ctrl_level
+0x4d68 mem_seqi
+0x4d69 mem_24g_auto_paring_switch
+0x4d6a mem_24g_paccnt
+0x4d6b mem_24g_transmit_by_interrupt
+0x4d6c mem_24g_transmit_by_interrupt_exit_count
+0x4d6e mem_24g_transmit_by_interrupt_exit_count_init
+0x4d70 mem_24g_allpowerful_addr
+0x4d76 mem_24g_stop_g24_mode
+0x4d77 mem_24g_stop_g24_mode_timeout
+0x4d79 mem_24g_pair_current_ch_num
+0x4d7a mem_24g_powerful_current_ch_num
+0x4d7b mem_24g_search_dongle_action
+0x4d7c mem_24g_search_dongle_count
+0x4d7d mem_24g_search_dongle_ch
+0x4d7e mem_24g_search_dongle_wait
+0x4d7f mem_24g_conn_sm
Index: output/program.lis
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/FR_2639_BT&BLE/output/program.lis	(revision 1714)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/FR_2639_BT&BLE/output/program.lis	(working copy)
@@ -7,61 +7,61 @@
 p_zcode:
 
 p_wake_from_power:
-0001 204003bf call p_mouse_data_init 
+0001 204001af call p_mouse_data_init 
 0002 6800c1de fetch 1 ,mem_tx_power 
-0003 6000ccaf store 1 ,mem_tx_power_temp 
-0004 204006e8 call power_ctrl_pac_succ_cnt_init 
+0003 6000cce2 store 1 ,mem_tx_power_temp 
+0004 204004e8 call power_ctrl_pac_succ_cnt_init 
 0005 6800c685 fetch 1 ,mem_ui_button_timeout 
 0006 6000c6da store 1 ,mem_combination_ui_button_count 
-0007 6800cb32 fetch 1 ,mem_bt_ui_button_timeout 
-0008 6000cb33 store 1 ,mem_bt_ui_button_count 
-0009 204043ca call mouse_bt_discovery_button_down_disable 
-000a 204002f5 call p_mouse_spi_init 
-000b 2040000e call p_mouse_cb_fuction 
-000c 20400021 call p_mouse_wakeup_from_power 
-000d 20200319 branch p_mouse_setting_config 
+0007 20400293 call p_mouse_bt_discovery_button_up_init 
+0008 20400130 call p_mouse_spi_init 
+0009 20400585 call p_drawing_optima_init 
+000a 20400012 call p_mouse_cb_fuction 
+000b 20400023 call p_mouse_wakeup_from_power 
+000c 20405810 call le_set_config_fixed_ltk 
+000d 20405839 call le_set_justwork 
+000e 2040582c call le_set_fixed_ltk 
+000f 20405818 call le_set_config_read_authentication 
+0010 20403e1e call mouse_param_init 
+0011 20200104 branch p_mouse_setting_config 
 
 p_mouse_cb_fuction:
-000e 58000385 setarg p_mouse_g24_package_data 
-000f 60014d29 store 2 ,mem_cb_24g_data 
-0010 580003a2 setarg p_mouse_le 
-0011 600141ef store 2 ,mem_cb_le_process 
-0012 5800062a setarg p_le_mouse_bb_event_connect_complete 
-0013 600141f9 store 2 ,mem_cb_att_write 
-0014 580003da setarg p_mouse_bt 
-0015 600141f1 store 2 ,mem_cb_bt_process 
-0016 5800029c setarg p_mouse_before_lpm 
-0017 600141ed store 2 ,mem_cb_before_lpm 
-0018 58000415 setarg p_mouse_priority_bb_event 
-0019 600141f5 store 2 ,mem_cb_bb_event_process 
-001a 58000402 setarg p_mouse_idle 
-001b 600141f3 store 2 ,mem_cb_idle_process 
-001c 5800044e setarg p_mouse_before_hibernate 
-001d 600141eb store 2 ,mem_cb_before_hibernate 
-001e 58000455 setarg p_mouse_bb_event_timer 
-001f 600141fd store 2 ,mem_cb_event_timer 
-0020 20600000 rtn 
+0012 5800019b setarg p_mouse_le 
+0013 600141ef store 2 ,mem_cb_le_process 
+0014 58000433 setarg p_le_mouse_bb_event_connect_complete 
+0015 600141f9 store 2 ,mem_cb_att_write 
+0016 580001ce setarg p_mouse_bt 
+0017 600141f1 store 2 ,mem_cb_bt_process 
+0018 580000ad setarg p_mouse_before_lpm 
+0019 600141ed store 2 ,mem_cb_before_lpm 
+001a 580001f5 setarg p_mouse_priority_bb_event 
+001b 600141f5 store 2 ,mem_cb_bb_event_process 
+001c 580001f3 setarg p_mouse_idle 
+001d 600141f3 store 2 ,mem_cb_idle_process 
+001e 5800022c setarg p_mouse_before_hibernate 
+001f 600141eb store 2 ,mem_cb_before_hibernate 
+0020 58000239 setarg p_mouse_bb_event_timer 
+0021 600141fd store 2 ,mem_cb_event_timer 
+0022 20600000 rtn 
 
 p_mouse_wakeup_from_power:
-0021 58000019 setarg 25 
-0022 60014d3b store 2 ,mem_24g_transmit_by_interrupt_exit_count_init 
-0023 24558029 ncall p_mouse_24g_transmit_by_interrupt_exit_count_max ,wake 
-0024 204002f7 call p_mouse_init_sunt 
-0025 20400312 call p_mouse_sensor_powerdown 
+0023 58000019 setarg 25 
+0024 60014d6e store 2 ,mem_24g_transmit_by_interrupt_exit_count_init 
+0025 2455802d ncall p_mouse_24g_transmit_by_interrupt_exit_count_max ,wake 
+0026 204000e7 call p_mouse_init_sunt 
+0027 20400232 call p_mouse_sensor_powerdown 
 
 p_mouse_wakeup_no_from_power:
-0026 6800c71f fetch 1 ,mem_reconn_times_init 
-0027 6000c71e store 1 ,mem_reconn_times 
-0028 20600000 rtn 
+0028 6800c71f fetch 1 ,mem_reconn_times_init 
+0029 6000c71e store 1 ,mem_reconn_times 
+002a 6800c241 fetch 1 ,mem_power_on_flag 
+002b c3810000 rtnbit1 2 
+002c 20200198 branch p_mouse_dpi_config_default 
 
 p_mouse_24g_transmit_by_interrupt_exit_count_max:
-0029 58000177 setarg 375 
-002a 60014d3b store 2 ,mem_24g_transmit_by_interrupt_exit_count_init 
-002b 20600000 rtn 
-002c 20000001 nop 1 
-002d 20000001 nop 1 
-002e 20000001 nop 1 
-002f 20000001 nop 1 
+002d 58000177 setarg 375 
+002e 60014d6e store 2 ,mem_24g_transmit_by_interrupt_exit_count_init 
+002f 20600000 rtn 
 0030 20000001 nop 1 
 0031 20000001 nop 1 
 0032 20000001 nop 1 
@@ -83,67 +83,67 @@
 0040 c284005a bbit1 8 ,pf_patch_ext 
 0041 c0008076 beq patch00_1 ,p_soft_reset_1 
 0042 c001007f beq patch00_2 ,p_soft_reset_2 
-0043 c0428754 beq patch10_5 ,p_shutdown_radio 
-0044 c0448725 beq patch11_1 ,p_set_freq_tx 
-0045 c0450756 beq patch11_2 ,p_initialize_radio_cont 
-0046 c00d8643 beq patch03_3 ,p_page_wait_fhs_reply_ok 
-0047 c0130645 beq patch04_6 ,p_role_switch_master 
-0048 c0240660 beq patch09_0 ,p_quit_connection_cont 
-0049 c0250667 beq patch09_2 ,p_prepare_tx 
-004a c0288670 beq patch0a_1 ,p_slave_conn_recv_packet 
-004b c02c865e beq patch0b_1 ,p_process_dmh 
-004c c0538675 beq patch14_7 ,p_lpm_dispatch 
-004d c056868b beq patch15_5 ,p_lpm_set_mult 
+0043 c0428554 beq patch10_5 ,p_shutdown_radio 
+0044 c0448525 beq patch11_1 ,p_set_freq_tx 
+0045 c0450556 beq patch11_2 ,p_initialize_radio_cont 
+0046 c00d8448 beq patch03_3 ,p_page_wait_fhs_reply_ok 
+0047 c013044a beq patch04_6 ,p_role_switch_master 
+0048 c0240465 beq patch09_0 ,p_quit_connection_cont 
+0049 c0250467 beq patch09_2 ,p_prepare_tx 
+004a c0288470 beq patch0a_1 ,p_slave_conn_recv_packet 
+004b c02c8463 beq patch0b_1 ,p_process_dmh 
+004c c0538475 beq patch14_7 ,p_lpm_dispatch 
+004d c056848b beq patch15_5 ,p_lpm_set_mult 
 004e c065b3e4 beq patch19_3 ,app_bt_start_reconnect + 3 
-004f c074869c beq patch1d_1 ,p_mouse_bb_disconnected 
+004f c074849c beq patch1d_1 ,p_mouse_bb_disconnected 
 0050 c0508088 beq patch14_1 ,p_init_param 
 0051 c058808d beq patch16_1 ,p_lpm_check_wake_lock 
 0052 c059009b beq patch16_2 ,p_g24_dispatch 
-0053 c06202be beq patch18_4 ,p_device_init 
-0054 c0718507 beq patch1c_3 ,p_mouse_seting_dpi 
-0055 c0730525 beq patch1c_6 ,p_mouse_motion 
-0056 c0750567 beq patch1d_2 ,p_mouse_bb_event_discovery_btn 
-0057 c075856f beq patch1d_3 ,p_mouse_start_discovery 
-0058 c076057c beq patch1d_4 ,p_mouse_stop_discovery 
+0053 c06200ca beq patch18_4 ,p_device_init 
+0054 c071833a beq patch1c_3 ,p_mouse_seting_dpi 
+0055 c0730354 beq patch1c_6 ,p_mouse_motion 
+0056 c0750381 beq patch1d_2 ,p_mouse_bb_event_discovery_btn 
+0057 c0758384 beq patch1d_3 ,p_mouse_start_discovery 
+0058 c0760386 beq patch1d_4 ,p_mouse_stop_discovery 
 0059 20202a8e branch loop 
 
 pf_patch_ext:
-005a c01c8586 beq patch27_1 ,p_le_slave_match 
-005b c021858e beq patch28_3 ,p_le_next_adv_channel 
-005c c0250594 beq patch29_2 ,p_le_receive_skip 
-005d c02b8597 beq patch2a_7 ,p_le_update_param 
-005e c02c8599 beq patch2b_1 ,p_le_update_channel_map 
-005f c031859b beq patch2c_3 ,p_le_prepare_tx 
-0060 c03305c5 beq patch2c_6 ,p_le_parse 
-0061 c03385dc beq patch2c_7 ,p_le_parse_l2cap 
-0062 c0350615 beq patch2d_2 ,p_le_adv_not_match 
-0063 c03b8620 beq patch2e_7 ,p_le_lpm_setmult 
-0064 c002869e beq patch20_5 ,p_hid_rx_process 
-0065 c04006a0 beq patch30_0 ,p_parse_lmp_accepted 
-0066 c04106aa beq patch30_2 ,p_send_lmp 
-0067 c04406ac beq patch31_0 ,p_process_conn_sm 
-0068 c0460630 beq patch31_4 ,p_twspi_reset 
-0069 c046863c beq patch31_5 ,p_spid_init 
-006a c07d06d0 beq patch3f_2 ,p_check_51cmd_once_continue 
+005a c01c838a beq patch27_1 ,p_le_slave_match 
+005b c0218392 beq patch28_3 ,p_le_next_adv_channel 
+005c c0250398 beq patch29_2 ,p_le_receive_skip 
+005d c02b839b beq patch2a_7 ,p_le_update_param 
+005e c02c839d beq patch2b_1 ,p_le_update_channel_map 
+005f c031839f beq patch2c_3 ,p_le_prepare_tx 
+0060 c03303c8 beq patch2c_6 ,p_le_parse 
+0061 c03383e7 beq patch2c_7 ,p_le_parse_l2cap 
+0062 c035041f beq patch2d_2 ,p_le_adv_not_match 
+0063 c03b842a beq patch2e_7 ,p_le_lpm_setmult 
+0064 c07d04d0 beq patch3f_2 ,p_check_51cmd_once_continue 
+0065 c002849e beq patch20_5 ,p_hid_rx_process 
+0066 c04004a0 beq patch30_0 ,p_parse_lmp_accepted 
+0067 c04104aa beq patch30_2 ,p_send_lmp 
+0068 c04404ac beq patch31_0 ,p_process_conn_sm 
+0069 c0460435 beq patch31_4 ,p_twspi_reset 
+006a c0468441 beq patch31_5 ,p_spid_init 
 006b 20202a8e branch loop 
 
 p_rssi_signal:
 006c 1fe22200 copy pdata ,rega 
-006d 6808ccb3 fetcht 1 ,mem_rssi_signal_index 
-006e 58004cba setarg mem_rssi_signal_buf 
+006d 6808cce6 fetcht 1 ,mem_rssi_signal_index 
+006e 58004ced setarg mem_rssi_signal_buf 
 006f 98408a00 iadd temp ,contw 
 0070 1a227e00 copy rega ,pdata 
 0071 e0a08000 istore 1 ,contw 
 0072 18408401 increase 1 ,temp 
 0073 18410407 and_into rssi_buf_len_signal ,temp 
-0074 6008ccb3 storet 1 ,mem_rssi_signal_index 
+0074 6008cce6 storet 1 ,mem_rssi_signal_index 
 0075 20600000 rtn 
 
 p_soft_reset_1:
 0076 d8a009ae arg mem_sp_state ,contw 
 0077 df20000c arg 12 ,loopcnt 
 0078 20407ed4 call clear_mem 
-0079 20400396 call p_mouse_le_txbuff_load 
+0079 2040017c call p_mouse_le_txbuff_load 
 007a 20406a03 call rfcomm_init 
 007b 20405cf6 call init_lmp 
 007c 2455ac65 ncall lpm_disable_exen_output ,wake 
@@ -172,2476 +172,1941 @@
 
 p_lpm_check_wake_lock:
 008d c6130000 rtnmark1 mark_24g 
-008e 6800cb28 fetch 1 ,mem_mouse_multi_led_state 
+008e 6800cb25 fetch 1 ,mem_mouse_multi_led_state 
 008f 243a7fef nbranch disable_blank ,blank 
-0090 6800cb2d fetch 1 ,mem_mouse_multi_led_blink_count 
+0090 6800cb2b fetch 1 ,mem_mouse_multi_led_blink_count 
 0091 243a7fef nbranch disable_blank ,blank 
 0092 6800c79e fetch 1 ,mem_mouse_clear_sensor_data_flag 
 0093 203a7fef branch disable_blank ,blank 
-0094 6800c7c6 fetch 1 ,mem_mouse_le_conn_param_reject 
+0094 6800c7c4 fetch 1 ,mem_mouse_le_conn_param_reject 
 0095 c000ffef beq le_lpm_disable ,disable_blank 
 0096 68014248 fetch 2 ,mem_sdp_remote_cid 
 0097 243a7fef nbranch disable_blank ,blank 
-0098 6800c808 fetch 1 ,mem_mouse_wheel_trigger 
+0098 6800c806 fetch 1 ,mem_mouse_wheel_trigger 
 0099 243a7fef nbranch disable_blank ,blank 
 009a 20207ff1 branch enable_blank 
 
 p_g24_dispatch:
-009b c6930000 rtnmark0 mark_24g 
-009c 6800cd38 fetch 1 ,mem_24g_transmit_by_interrupt 
-009d c00080b1 beq g24_tx_timer_int_enable ,p_g24_transmit_by_interrupt 
-
-p_g24_transmit_process:
-009e 20400135 call p_g24_txdata_prep 
-009f 243400cc nbranch p_g24_nodata_transmit ,user 
-00a0 2040011c call p_g24_rf_sta_check 
-
-p_g24_transmit_start:
-00a1 20400158 call p_g24_transmit_packet 
-00a2 6800cc08 fetch 1 ,mem_24g_pairing_sm 
-00a3 c1ff8000 rtnne state_24g_pairing_success 
-00a4 204006f9 call power_ctrl_start 
-00a5 204000ad call g24_long_sleep_shorter_param_update 
-00a6 6800cb28 fetch 1 ,mem_mouse_multi_led_state 
-00a7 c0008388 beq on ,p_g24_transmit_by_interrupt_enable 
-
-p_g24_short_sleep:
-00a8 204000d8 call p_g24_lpm_wait 
-00a9 24740000 nrtn user 
-00aa 204002a3 call p_clear_wake 
-00ab 5800ec54 setarg 60500 
-00ac 20202b93 branch lpm_dispatch_sleep 
-
-g24_long_sleep_shorter_param_update:
-00ad 58017700 setarg g24_long_sleep_step1 
-00ae 6001cc27 store 3 ,mem_24g_enter_hibernate 
-00af 704b6114 jam 20 ,mem_24g_long_sleep_param_update_timer 
-00b0 20600000 rtn 
-
-p_g24_transmit_by_interrupt:
-00b1 2040026e call p_g24_timer_check 
-00b2 24740000 nrtn user 
-00b3 204000c6 call p_g24_interval_calibrate 
-00b4 68014d39 fetch 2 ,mem_24g_transmit_by_interrupt_exit_count 
-00b5 1fe0fe01 increase 1 ,pdata 
-00b6 60014d39 store 2 ,mem_24g_transmit_by_interrupt_exit_count 
-00b7 68094d3b fetcht 2 ,mem_24g_transmit_by_interrupt_exit_count_init 
-00b8 98467c00 isub temp ,null 
-00b9 204280bb call p_g24_transmit_by_interrupt_exit ,zero 
-00ba 2020009e branch p_g24_transmit_process 
-
-p_g24_transmit_by_interrupt_exit:
-00bb 704d3800 jam g24_tx_timer_int_disable ,mem_24g_transmit_by_interrupt 
-00bc 58000000 setarg 0 
-00bd 60014d39 store 2 ,mem_24g_transmit_by_interrupt_exit_count 
-00be 58000019 setarg 25 
-00bf 60014d3b store 2 ,mem_24g_transmit_by_interrupt_exit_count_init 
-
-p_g24_interval_min:
-00c0 704c3300 jam 0 ,mem_24g_pac_index 
-00c1 6800cc1e fetch 1 ,mem_24g_interval_min 
-
-p_g24_current_interval_store:
-00c2 6000cc1d store 1 ,mem_24g_interval 
-00c3 20600000 rtn 
-
-p_g24_interval_max:
-00c4 6800cc1f fetch 1 ,mem_24g_interval_max 
-00c5 202000c2 branch p_g24_current_interval_store 
-
-p_g24_interval_calibrate:
-00c6 6800cc33 fetch 1 ,mem_24g_pac_index 
-00c7 1fe0fe01 increase 1 ,pdata 
-00c8 6000cc33 store 1 ,mem_24g_pac_index 
-00c9 c00200c4 beq 4 ,p_g24_interval_max 
-00ca c00280c0 beq 5 ,p_g24_interval_min 
-00cb 20600000 rtn 
-
-p_g24_nodata_transmit:
-00cc 6800cc24 fetch 1 ,mem_24g_abort_pac 
-00cd 205a00e1 call p_g24_send_abort_packet ,blank 
-00ce 6800cb2d fetch 1 ,mem_mouse_multi_led_blink_count 
-00cf 247a0000 nrtn blank 
-00d0 6800cb28 fetch 1 ,mem_mouse_multi_led_state 
-00d1 c1008000 rtneq on 
-
-p_g24_long_sleep:
-00d2 204000d8 call p_g24_lpm_wait 
-00d3 24740000 nrtn user 
-00d4 6801cc27 fetch 3 ,mem_24g_enter_hibernate 
-00d5 20407f49 call clk2lpo 
-00d6 600a415b storet 4 ,mem_sleep_counter 
-00d7 20202b2a branch lpm_sleep 
-
-p_g24_lpm_wait:
-00d8 78347c00 enable user 
-00d9 20402afa call lpo_calibration 
-00da 6801c16f fetch 3 ,mem_clks_per_lpo 
-00db 203a7fe9 branch disable_user ,blank 
-00dc 6800c091 fetch 1 ,mem_lpm_mode 
-00dd 203a7fe9 branch disable_user ,blank 
-00de 6800cd38 fetch 1 ,mem_24g_transmit_by_interrupt 
-00df c000ffe9 beq g24_tx_timer_int_enable ,disable_user 
-00e0 202002a6 branch p_mouse_setgpio_lpm 
-
-p_g24_send_abort_packet:
-00e1 704c2401 jam 1 ,mem_24g_abort_pac 
-00e2 704d2d00 jam 0 ,mem_24g_rf_hop_ch 
-00e3 204000f4 call p_g24_transmit_rf_ctrl_clear 
-00e4 6000cb94 store 1 ,mem_24g_txbuf 
-00e5 58000000 setarg 0 
-00e6 6003cb95 store 7 ,mem_24g_txbuf + 1 
-00e7 68024c2f fetch 4 ,mem_24g_device_addr 
-00e8 60024b9c store 4 ,mem_24g_txbuf + 8 
-00e9 704bf80c jam 12 ,mem_24g_datalen 
-00ea 6800cbf9 fetch 1 ,mem_24g_data_type 
-00eb 79207e03 set1 bit_abort ,pdata 
-00ec 6000cbf9 store 1 ,mem_24g_data_type 
-00ed 20400138 call p_g24_txdata_enable_tx 
-00ee 202000a1 branch p_g24_transmit_start 
-
-p_g24_set_device_addr:
-00ef 680240a0 fetch 4 ,mem_lap 
-00f0 60024c2f store 4 ,mem_24g_device_addr 
-00f1 20600000 rtn 
-
-p_g24_transmit_rf_sta_init:
-00f2 704d2e01 jam 1 ,mem_24g_rf_last_sta 
-00f3 704d3000 jam 0 ,mem_24g_sync_cnt 
-
-p_g24_transmit_rf_ctrl_clear:
-00f4 6800cbf9 fetch 1 ,mem_24g_data_type 
-00f5 1fe17e07 and_into bits_data ,pdata 
-00f6 6000cbf9 store 1 ,mem_24g_data_type 
-00f7 20600000 rtn 
-
-p_g24_hop_ch_enable:
-00f8 6800cbf9 fetch 1 ,mem_24g_data_type 
-00f9 79207e04 set1 bit_hop ,pdata 
-00fa 6000cbf9 store 1 ,mem_24g_data_type 
-00fb 6000cbb4 store 1 ,mem_24g_txpayload 
-00fc 20600000 rtn 
-
-p_g24_hop_ch_disable:
-00fd 6800cbf9 fetch 1 ,mem_24g_data_type 
-00fe 793ffe04 set0 bit_hop ,pdata 
-00ff 6000cbf9 store 1 ,mem_24g_data_type 
-0100 6000cbb4 store 1 ,mem_24g_txpayload 
-0101 204006ef call power_ctrl_pac_succ_decrs 
-0102 202001e6 branch p_g24_ch 
-
-p_g24_rf_hop_attemp_again:
-0103 6800cd2d fetch 1 ,mem_24g_rf_hop_ch 
-0104 c08080f4 bne 1 ,p_g24_transmit_rf_ctrl_clear 
-
-p_g24_rf_hop_fastly:
-0105 6800cd2b fetch 1 ,mem_24g_hop_fastly_cnt 
-0106 1fe0fe01 increase 1 ,pdata 
-0107 6000cd2b store 1 ,mem_24g_hop_fastly_cnt 
-0108 c002010c beq 4 ,p_g24_rf_hop_fastly_exit 
-0109 204001e6 call p_g24_ch 
-010a 704c3d02 jam 2 ,mem_24g_max_retry 
-010b 20200158 branch p_g24_transmit_packet 
-
-p_g24_rf_hop_fastly_exit:
-010c 204006ef call power_ctrl_pac_succ_decrs 
-010d 704d2b00 jam 0 ,mem_24g_hop_fastly_cnt 
-010e 202000f4 branch p_g24_transmit_rf_ctrl_clear 
-
-p_g24_transmit_hop_pac_succ_wo_hop:
-010f 704d3002 jam 2 ,mem_24g_sync_cnt 
-
-p_g24_transmit_hop_pac_succ:
-0110 704d2e01 jam 1 ,mem_24g_rf_last_sta 
-0111 704d2d00 jam 0 ,mem_24g_rf_hop_ch 
-0112 202000f4 branch p_g24_transmit_rf_ctrl_clear 
-
-p_g24_transmit_succ_rf_config:
-0113 6800cd2f fetch 1 ,mem_24g_rf_work_stage 
-0114 c0018110 beq 3 ,p_g24_transmit_hop_pac_succ 
-0115 6800cbf9 fetch 1 ,mem_24g_data_type 
-0116 2fec0004 isolate0 bit_hop ,pdata 
-0117 202080f2 branch p_g24_transmit_rf_sta_init ,true 
-0118 6800cd2f fetch 1 ,mem_24g_rf_work_stage 
-0119 c000810f beq 1 ,p_g24_transmit_hop_pac_succ_wo_hop 
-011a c0010110 beq 2 ,p_g24_transmit_hop_pac_succ 
-011b 20600000 rtn 
-
-p_g24_rf_sta_check:
-011c 6800cc08 fetch 1 ,mem_24g_pairing_sm 
-011d c1ff8000 rtnne state_24g_pairing_success 
-011e 20400121 call p_g24_rf_laststa_synccnt_check 
-011f 24560129 ncall p_g24_rf_sync_cnt_check ,user2 
-0120 20600000 rtn 
-
-p_g24_rf_laststa_synccnt_check:
-0121 78567c00 disable user2 
-0122 6800cd2e fetch 1 ,mem_24g_rf_last_sta 
-0123 c1808000 rtnne 1 
-0124 6800cd30 fetch 1 ,mem_24g_sync_cnt 
-0125 c1800000 rtnne 0 
-0126 704d2f01 jam 1 ,mem_24g_rf_work_stage 
-0127 704c3d04 jam 4 ,mem_24g_max_retry 
-0128 20207feb branch enable_user2 
-
-p_g24_rf_sync_cnt_check:
-0129 6800cd30 fetch 1 ,mem_24g_sync_cnt 
-012a 203a0130 branch p_g24_rf_hop_attemp ,blank 
-012b 1fe0ffff increase -1 ,pdata 
-012c 6000cd30 store 1 ,mem_24g_sync_cnt 
-012d 704d2f02 jam 2 ,mem_24g_rf_work_stage 
-012e 704c3d04 jam 4 ,mem_24g_max_retry 
-012f 202001e6 branch p_g24_ch 
-
-p_g24_rf_hop_attemp:
-0130 704d2f03 jam 3 ,mem_24g_rf_work_stage 
-0131 6800cd2d fetch 1 ,mem_24g_rf_hop_ch 
-0132 243a0103 nbranch p_g24_rf_hop_attemp_again ,blank 
-0133 704c3d02 jam 2 ,mem_24g_max_retry 
-0134 202001e6 branch p_g24_ch 
-
-p_g24_txdata_prep:
-0135 6800cc08 fetch 1 ,mem_24g_pairing_sm 
-0136 c0ff81a7 bne state_24g_pairing_success ,p_g24_pairing_sm 
-
-p_g24_txdata_prep_packeage_data:
-0137 2040013b call p_g24_package_data 
-
-p_g24_txdata_enable_tx:
-0138 204001d4 call p_g24_transmit_prep 
-0139 704bfd01 jam ensure_on_24g ,mem_24g_ensure 
-013a 20600000 rtn 
-
-p_g24_package_data:
-013b 68014d29 fetch 2 ,mem_cb_24g_data 
-013c 20407f9c call callback_func 
-013d 20340141 branch p_g24_accumulate_mouse_data ,user 
-013e 6803cb95 fetch 7 ,mem_24g_txbuf + 1 
-013f 207a0000 rtn blank 
-0140 20207fe7 branch enable_user 
-
-p_g24_accumulate_mouse_data:
-0141 204003b9 call p_mouse_data_xy_release 
-0142 704c2400 jam 0 ,mem_24g_abort_pac 
-0143 1a20fe01 add rega ,1 ,pdata 
-0144 6000cbf8 store 1 ,mem_24g_datalen 
-0145 204000f4 call p_g24_transmit_rf_ctrl_clear 
-0146 6000cb94 store 1 ,mem_24g_txbuf 
-0147 e8a88000 ifetcht 1 ,contw 
-0148 ea408000 ifetch 1 ,regb 
-0149 9841fe00 ior temp ,pdata 
-014a e0a08000 istore 1 ,contw 
-014b 1a40a401 increase 1 ,regb 
-014c ea420000 ifetch 4 ,regb 
-014d e0a20000 istore 4 ,contw 
-014e 1a40a404 increase 4 ,regb 
-014f d8a04b9a arg mem_24g_txbuf + 6 ,contw 
-0150 df200002 arg 2 ,loopcnt 
-
-p_g24_accumulation_loop:
-0151 ea408000 ifetch 1 ,regb 
-0152 e8a88000 ifetcht 1 ,contw 
-0153 9840fe00 iadd temp ,pdata 
-0154 e0a08000 istore 1 ,contw 
-0155 1a40a401 increase 1 ,regb 
-0156 c2000151 loop p_g24_accumulation_loop 
-0157 20600000 rtn 
-
-p_g24_transmit_packet:
-0158 704c0100 jam 0 ,mem_24g_retry 
-
-p_g24_transmit_loop:
-0159 d9600d00 arg param_rx_setup ,timeup 
-015a 34730200 until clkn_rt ,meet 
-015b 20400176 call p_g24_transmit_receive_ack 
-015c 6800cc34 fetch 1 ,mem_24g_no_ack 
-015d c1008000 rtneq no_ack_24g 
-015e 242c0185 nbranch p_g24_retransmit ,sync 
-015f 24378185 nbranch p_g24_retransmit ,user3 
-0160 20400170 call p_g24_txbuf_clear 
-0161 204001a0 call p_g24_ackpayload_parse 
-0162 204006eb call power_ctrl_pac_succ_incrs 
-
-p_g24_transmit_next_packet:
-0163 6800cbf7 fetch 1 ,mem_24g_pid 
-0164 1fe0fe01 increase 1 ,pdata 
-0165 6000cbf7 store 1 ,mem_24g_pid 
-0166 20400173 call p_g24_hop_enable_packet 
-0167 6800cc08 fetch 1 ,mem_24g_pairing_sm 
-0168 c0ff81a9 bne state_24g_pairing_success ,p_g24_paring_mode_start 
-0169 20400113 call p_g24_transmit_succ_rf_config 
-
-p_g24_transmit_abandon:
-016a 58000000 setarg 0 
-016b 60014bfe store 2 ,mem_24g_txfail_cnt 
-016c 6000cc00 store 1 ,mem_24g_get_ack_fail 
-016d 6000cd2c store 1 ,mem_24g_hop_pac_retry 
-016e 704bfd00 jam ensure_off_24g ,mem_24g_ensure 
-016f 20600000 rtn 
-
-p_g24_txbuf_clear:
-0170 df200004 arg 4 ,loopcnt 
-0171 d8a04b94 arg mem_24g_txbuf ,contw 
-0172 20207ec6 branch memset0 
-
-p_g24_hop_enable_packet:
-0173 6800cbf9 fetch 1 ,mem_24g_data_type 
-0174 c28200fd bbit1 bit_hop ,p_g24_hop_ch_disable 
-0175 20600000 rtn 
-
-p_g24_transmit_receive_ack:
-0176 7857fc00 disable user3 
-0177 2040024d call p_g24_transmit 
-0178 6800cc34 fetch 1 ,mem_24g_no_ack 
-0179 c0008183 beq no_ack_24g ,p_g24_transmit_no_ack 
-017a 18002a00 force 0 ,radio_ctrl 
-017b 68024c20 fetch 4 ,mem_24g_addr 
-017c 98001200 iforce access 
-017d 68088017 fetcht 1 ,mem_last_freq 
-017e 2040291f call set_freq_rx 
-017f 20402924 call rf_rx_enable 
-0180 20400209 call p_g24_receive_rxon 
-0181 20578245 call p_g24_end_of_packet ,user3 
-0182 20600000 rtn 
-
-p_g24_transmit_no_ack:
-0183 20400245 call p_g24_end_of_packet 
-0184 20200163 branch p_g24_transmit_next_packet 
-
-p_g24_retransmit:
-0185 68014bfe fetch 2 ,mem_24g_txfail_cnt 
-0186 1fe0fe01 increase 1 ,pdata 
-0187 60014bfe store 2 ,mem_24g_txfail_cnt 
-0188 6800cbff fetch 1 ,mem_24g_txfail_cnt + 1 
-0189 c2822dd4 bbit1 4 ,g24_stop_24g_mode 
-018a 6800cc08 fetch 1 ,mem_24g_pairing_sm 
-018b c0ff818e bne state_24g_pairing_success ,p_g24_tx_paring_retry 
-018c 20400196 call p_g24_tx_hop_ch_process 
-018d 20200159 branch p_g24_transmit_loop 
-
-p_g24_tx_paring_retry:
-018e 6800cbfe fetch 1 ,mem_24g_txfail_cnt 
-018f c1ff8000 rtnne 0xff 
-
-p_g24_tx_attempt_fail:
-0190 58000000 setarg 0 
-0191 60014bfe store 2 ,mem_24g_txfail_cnt 
-0192 20202dd4 branch g24_stop_24g_mode 
-
-p_g24_tx_fast_hop:
-0193 2040071c call power_ctrl_txpower_incrs 
-0194 204006ef call power_ctrl_pac_succ_decrs 
-0195 202001e6 branch p_g24_ch 
-
-p_g24_tx_hop_ch_process:
-0196 6800cc01 fetch 1 ,mem_24g_retry 
-0197 1fe67c0b sub pdata ,11 ,null 
-0198 24210193 nbranch p_g24_tx_fast_hop ,positive 
-0199 1fe0fe01 increase 1 ,pdata 
-019a 6000cc01 store 1 ,mem_24g_retry 
-019b c00100f8 beq 2 ,p_g24_hop_ch_enable 
-019c c00300fd beq 6 ,p_g24_hop_ch_disable 
-019d c00400f8 beq 8 ,p_g24_hop_ch_enable 
-019e c00600fd beq 12 ,p_g24_hop_ch_disable 
-019f 20600000 rtn 
-
-p_g24_ackpayload_parse:
-01a0 204001b9 call p_g24_read_len_pid_crc 
-01a1 6800cbf6 fetch 1 ,mem_24g_rxdata_length 
-01a2 207a0000 rtn blank 
-01a3 98007200 iforce loopcnt 
-01a4 d8c04b74 arg mem_24g_rxbuf + 2 ,contr 
-01a5 d8a04bd6 arg mem_24g_rxpayload ,contw 
-01a6 20207f01 branch memcpy 
-
-p_g24_pairing_sm:
-01a7 7011c590 jam zcode_90 ,mem_zcode_temp_param0 
-01a8 20200759 branch p_zcode_entrance 
-
-p_g24_paring_mode_start:
-01a9 204006e8 call power_ctrl_pac_succ_cnt_init 
-
-p_g24_paring_mode:
-01aa 7011c591 jam zcode_91 ,mem_zcode_temp_param0 
-01ab 20200759 branch p_zcode_entrance 
-
-p_g24_start_24g_mode:
-01ac 7011c560 jam zcode_60 ,mem_zcode_temp_param0 
-01ad 20200759 branch p_zcode_entrance 
-
-p_g24_auto_pair_start:
-01ae 7011c570 jam zcode_70 ,mem_zcode_temp_param0 
-01af 20200759 branch p_zcode_entrance 
-
-p_g24_check_51cmd_stop_24g:
-01b0 793f8026 set0 mark_24g ,mark 
-01b1 204053ce call le_disable 
-
-p_mouse_disable_g24_pairing_flag:
-01b2 d8e00003 arg mosue_24g_pairing_flag ,queue 
-01b3 202043d2 branch mouse_disable_function_flag 
-
-p_g24_put_data_in_buff:
-01b4 6008cbf8 storet 1 ,mem_24g_datalen 
-01b5 18427200 copy temp ,loopcnt 
-01b6 d8a04b94 arg mem_24g_txbuf ,contw 
-01b7 1a220c00 copy rega ,contr 
-01b8 20207f01 branch memcpy 
-
-p_g24_read_len_pid_crc:
-01b9 6800cb73 fetch 1 ,mem_24g_rxbuf + 1 
-01ba 1fe97e00 rshift3 pdata ,pdata 
-01bb 6000cbf6 store 1 ,mem_24g_rxdata_length 
-01bc 1fe0fe01 increase 1 ,pdata 
-01bd d8c04b73 arg mem_24g_rxbuf + 1 ,contr 
-01be 98c08c00 iadd contr ,contr 
-01bf e8c18000 ifetch 3 ,contr 
-01c0 6001cc35 store 3 ,mem_24g_sta_crc 
-01c1 6800cb73 fetch 1 ,mem_24g_rxbuf + 1 
-01c2 1fe37e00 rshift pdata ,pdata 
-01c3 1fe17e03 and pdata ,0x03 ,pdata 
-01c4 6000cc3b store 1 ,mem_24g_sta_pid 
-01c5 20600000 rtn 
-
-p_g24_update_addr_and_synccrc8:
-01c6 60024c20 store 4 ,mem_24g_addr 
-
-p_g24_syncword_crc8:
-01c7 da200000 arg 0 ,rega 
-01c8 df200004 arg 4 ,loopcnt 
-01c9 d8c04c20 arg mem_24g_addr ,contr 
-
-p_g24_syncword_crc8_loop:
-01ca e8c08000 ifetch 1 ,contr 
-01cb 9a20a200 iadd rega ,rega 
-01cc c20001ca loop p_g24_syncword_crc8_loop 
-01cd 1a227e00 copy rega ,pdata 
-01ce 60014ca9 store 2 ,mem_24g_syncword 
-01cf 6800cca9 fetch 1 ,mem_24g_syncword 
-01d0 6808ccaa fetcht 1 ,mem_24g_syncword + 1 
-01d1 9840fe00 iadd temp ,pdata 
-01d2 6000ccab store 1 ,mem_24g_syncword_crc8 
-01d3 20600000 rtn 
-
-p_g24_transmit_prep:
-01d4 6800cbf8 fetch 1 ,mem_24g_datalen 
-01d5 1fe0fe02 increase 2 ,pdata 
-01d6 6000cbfa store 1 ,mem_24g_txlen 
-01d7 6800cbf9 fetch 1 ,mem_24g_data_type 
-01d8 6000cbb4 store 1 ,mem_24g_txpayload 
-01d9 6800cbf8 fetch 1 ,mem_24g_datalen 
-01da 1fe9fe00 lshift3 pdata ,pdata 
-01db 6808cbf7 fetcht 1 ,mem_24g_pid 
-01dc 18410403 and temp ,0x03 ,temp 
-01dd 18438400 lshift temp ,temp 
-01de 9841fe00 ior temp ,pdata 
-01df 6808cc34 fetcht 1 ,mem_24g_no_ack 
-01e0 9840fe00 iadd temp ,pdata 
-01e1 e0a08000 istore 1 ,contw 
-01e2 6800cbf8 fetch 1 ,mem_24g_datalen 
-01e3 98007200 iforce loopcnt 
-01e4 d8c04b94 arg mem_24g_txbuf ,contr 
-01e5 20207f01 branch memcpy 
-
-p_g24_ch:
-01e6 6808cc03 fetcht 1 ,mem_24g_current_ch_number 
-01e7 204001ea call p_g24_ch_map_size 
-01e8 6008cc03 storet 1 ,mem_24g_current_ch_number 
-01e9 20600000 rtn 
-
-p_g24_ch_map_size:
-01ea 204001ee call p_g24_ch_calc 
-01eb 18408401 increase 1 ,temp 
-01ec 18410403 and_into 3 ,temp 
-01ed 20600000 rtn 
-
-p_g24_ch_calc:
-01ee 6800cc20 fetch 1 ,mem_24g_addr 
-01ef 1fe17e03 and_into 0x03 ,pdata 
-01f0 1fefa204 mul32 pdata ,4 ,rega 
-01f1 58004c09 setarg mem_24g_ch_map1 
-01f2 9a20fe00 iadd rega ,pdata 
-01f3 98408c00 iadd temp ,contr 
-01f4 e8c08000 ifetch 1 ,contr 
-01f5 6000cc02 store 1 ,mem_24g_ch 
-01f6 20600000 rtn 
-
-p_g24_prep:
-01f7 7844fc00 disable enable_crc 
-01f8 7843fc00 disable enable_white 
-01f9 58555555 setarg 0x555555 
-01fa 98001e00 iforce crc24_init 
-01fb 6800cc02 fetch 1 ,mem_24g_ch 
-01fc 1fed8400 reverse pdata ,temp 
-01fd 79200401 set1 1 ,temp 
-01fe 18431c00 rshift temp ,white_init 
-01ff 20600000 rtn 
-
-p_g24_receive_packet:
-0200 204053c4 call le_enable 
-0201 68024c20 fetch 4 ,mem_24g_addr 
-0202 98001200 iforce access 
-0203 20402918 call set_sync_on 
-0204 6808cc02 fetcht 1 ,mem_24g_ch 
-0205 2040291f call set_freq_rx 
-0206 58000500 setarg param_pll_setup 
-0207 20402a8f call sleep 
-0208 20402924 call rf_rx_enable 
-
-p_g24_receive_rxon:
-0209 204001f7 call p_g24_prep 
-020a 7857fc00 disable user3 
-020b 7826fc00 enable decode_fec0 
-020c 7830fc00 enable is_rx 
-020d 78507c00 disable is_tx 
-020e 78287c00 enable swfine 
-020f 68014bfb fetch 2 ,mem_24g_rx_window 
-0210 98003600 iforce stop_watch 
-0211 37c18400 correlate null ,timeout 
-0212 242c0249 nbranch p_g24_sync_timeout ,sync 
-0213 7846fc00 disable decode_fec0 
-0214 7825fc00 enable decode_fec1 
-0215 7823fc00 enable enable_white 
-0216 7824fc00 enable enable_crc 
-0217 20400242 call p_g24_receive_byte 
-0218 6000ccac store 1 ,mem_24g_get_syncword_crc8 
-0219 6808ccab fetcht 1 ,mem_24g_syncword_crc8 
-021a 98467c00 isub temp ,null 
-021b 24228245 nbranch p_g24_end_of_packet ,zero 
-021c 20400242 call p_g24_receive_byte 
-021d 6000cb72 store 1 ,mem_24g_rxbuf 
-021e 6800cc3e fetch 1 ,mem_24g_mode 
-021f 1fe67c02 sub pdata ,rx_24g ,null 
-0220 20228225 branch p_g24_receive_skip ,zero 
-0221 6800cb72 fetch 1 ,mem_24g_rxbuf 
-0222 6808cbf9 fetcht 1 ,mem_24g_data_type 
-0223 a8400e00 icompare bits_data ,temp 
-0224 24208245 nbranch p_g24_end_of_packet ,true 
-
-p_g24_receive_skip:
-0225 20400242 call p_g24_receive_byte 
-0226 e0a08000 istore 1 ,contw 
-0227 1fe97e00 rshift3 pdata ,pdata 
-0228 1fe1721f and pdata ,0x1f ,loopcnt 
-0229 2022822d branch p_g24rx_nopayload ,zero 
-
-p_g24rx_loop:
-022a 20400242 call p_g24_receive_byte 
-022b e0a08000 istore 1 ,contw 
-022c c200022a loop p_g24rx_loop 
-
-p_g24rx_nopayload:
-022d 18a22200 copy contw ,rega 
-022e 20400242 call p_g24_receive_byte 
-022f 6000cd33 store 1 ,mem_rssi_hex_received 
-0230 1a220a00 copy rega ,contw 
-0231 09800018 parse demod ,bucket ,24 
-0232 78287c00 enable swfine 
-0233 db600664 arg param_sifs ,stop_watch 
-0234 1fef7e00 rshift32 pdata ,pdata 
-0235 1ff17e00 rshift16 pdata ,pdata 
-0236 e0a18000 istore 3 ,contw 
-0237 7845fc00 disable decode_fec1 
-0238 20230245 branch p_g24_end_of_packet ,crc_failed 
-0239 7837fc00 enable user3 
-023a 68008017 fetch 1 ,mem_last_freq 
-023b 1fe0a200 add pdata ,0 ,rega 
-023c 20402981 call rf_write_freq 
-023d 7846fc00 disable decode_fec0 
-023e 20402918 call set_sync_on 
-023f 6800cd33 fetch 1 ,mem_rssi_hex_received 
-0240 2040006c call p_rssi_signal 
-0241 20600000 rtn 
-
-p_g24_receive_byte:
-0242 09800008 parse demod ,bucket ,8 
-0243 19897e00 rshift3 pwindow ,pdata 
-0244 20600000 rtn 
-
-p_g24_end_of_packet:
-0245 784dfc00 disable encode_fec1 
-0246 7845fc00 disable decode_fec1 
-0247 2040264d call end_of_packet 
-0248 20600000 rtn 
-
-p_g24_sync_timeout:
-0249 20200245 branch p_g24_end_of_packet 
-
-p_g24_set_freq_tx:
-024a 20402918 call set_sync_on 
-024b 6808cc02 fetcht 1 ,mem_24g_ch 
-024c 20202933 branch set_freq_tx 
-
-p_g24_transmit:
-024d 204053c4 call le_enable 
-024e 68024c20 fetch 4 ,mem_24g_addr 
-024f 98001200 iforce access 
-0250 204001f7 call p_g24_prep 
-0251 2040024a call p_g24_set_freq_tx 
-0252 79202a00 set1 txgfsk ,radio_ctrl 
-0253 782efc00 enable encode_fec0 
-0254 78307c00 enable is_tx 
-0255 7850fc00 disable is_rx 
-0256 19317e00 rshift16 access ,pdata 
-0257 1fecfe00 rshift8 pdata ,pdata 
-0258 1ff1fe00 rshift4 pdata ,pdata 
-0259 08008628 inject mod ,40 
-025a 784efc00 disable encode_fec0 
-025b 782dfc00 enable encode_fec1 
-025c 7823fc00 enable enable_white 
-025d 7824fc00 enable enable_crc 
-025e 6800ccab fetch 1 ,mem_24g_syncword_crc8 
-025f 08008608 inject mod ,8 
-0260 6800cbfa fetch 1 ,mem_24g_txlen 
-0261 98007200 iforce loopcnt 
-0262 d8c04bb4 arg mem_24g_txpayload ,contr 
-
-p_g24tr_loop:
-0263 e8c08000 ifetch 1 ,contr 
-0264 08008608 inject mod ,8 
-0265 c2000263 loop p_g24tr_loop 
-0266 78247c00 enable enable_parity 
-0267 08008618 inject mod ,24 
-0268 78447c00 disable enable_parity 
-0269 37d38200 until null ,tx_clear 
-026a 20000064 nop 100 
-026b 784efc00 disable encode_fec0 
-026c 784dfc00 disable encode_fec1 
-026d 20600000 rtn 
-
-p_g24_timer_check:
-026e 20407fe9 call disable_user 
-026f 680a4c19 fetcht 4 ,mem_24g_tx_btclk 
-0270 1c427e00 copy clkn_bt ,pdata 
-0271 98467c00 isub temp ,null 
-0272 24412d18 ncall g24_timer_timeout ,positive 
-0273 1fe22400 copy pdata ,regb 
-0274 68024c19 fetch 4 ,mem_24g_tx_btclk 
-0275 6808cc1d fetcht 1 ,mem_24g_interval 
-0276 98408400 iadd temp ,temp 
-0277 1a427e00 copy regb ,pdata 
-0278 98467c00 isub temp ,null 
-0279 24610000 nrtn positive 
-027a 793ffe1c set0 28 ,pdata 
-027b 60024c19 store 4 ,mem_24g_tx_btclk 
-027c 20207fe7 branch enable_user 
-
-p_rssi_noise:
-027d 204029bb call save_rssi 
-027e 207a0000 rtn blank 
-027f 6808ccb2 fetcht 1 ,mem_rssi_noise_index 
-0280 da200d9e arg mem_rssi_noise_buffer ,rega 
-0281 20400284 call p_rssi_store 
-0282 6008ccb2 storet 1 ,mem_rssi_noise_index 
-0283 20600000 rtn 
-
-p_rssi_store:
-0284 1a227e00 copy rega ,pdata 
-0285 98408a00 iadd temp ,contw 
-0286 68008018 fetch 1 ,mem_rssi 
-0287 e0a08000 istore 1 ,contw 
-0288 18408401 increase 1 ,temp 
-0289 18410407 and_into rssi_buf_len_signal ,temp 
-028a 20600000 rtn 
+009b 20600000 rtn 
 
 p_rssi_average:
-028b d8400000 arg 0 ,temp 
-028c df200008 arg rssi_buf_len_signal + 1 ,loopcnt 
-028d 1a220c00 copy rega ,contr 
+009c d8400000 arg 0 ,temp 
+009d df200008 arg rssi_buf_len_signal + 1 ,loopcnt 
+009e 1a220c00 copy rega ,contr 
 
 p_rssi_average_loop:
-028e e8c08000 ifetch 1 ,contr 
-028f 98408400 iadd temp ,temp 
-0290 c200028e loop p_rssi_average_loop 
-0291 18497e00 rshift3 temp ,pdata 
-0292 1fe20400 copy pdata ,temp 
-0293 c6930000 rtnmark0 mark_24g 
-0294 1fe6fc0a div pdata ,10 
-0295 20407f86 call wait_div_end 
-0296 1807fe00 quotient pdata 
-0297 1ff27e00 lshift4 pdata ,pdata 
-0298 18070400 remainder temp 
-0299 98418400 ior temp ,temp 
-029a 20600000 rtn 
-029b 20600000 rtn 
+009f e8c08000 ifetch 1 ,contr 
+00a0 98408400 iadd temp ,temp 
+00a1 c200009f loop p_rssi_average_loop 
+00a2 18497e00 rshift3 temp ,pdata 
+00a3 1fe20400 copy pdata ,temp 
+00a4 c6930000 rtnmark0 mark_24g 
+00a5 1fe6fc0a div pdata ,10 
+00a6 20407f86 call wait_div_end 
+00a7 1807fe00 quotient pdata 
+00a8 1ff27e00 lshift4 pdata ,pdata 
+00a9 18070400 remainder temp 
+00aa 98418400 ior temp ,temp 
+00ab 20600000 rtn 
+00ac 20600000 rtn 
 
 p_mouse_before_lpm:
-029c c6130000 rtnmark1 mark_24g 
-029d 2040038c call p_mouse_le_txbuff_save 
-029e 204002a6 call p_mouse_setgpio_lpm 
-029f 6800c040 fetch 1 ,mem_context 
-02a0 c30002a3 bbit0 state_inconn ,p_clear_wake 
-02a1 680080a0 fetch 1 ,mem_lpm_current_mult 
-02a2 247a0000 nrtn blank 
+00ad c6130000 rtnmark1 mark_24g 
+00ae 20400172 call p_mouse_le_txbuff_save 
+00af 204000b7 call p_mouse_setgpio_lpm 
+00b0 6800c040 fetch 1 ,mem_context 
+00b1 c30000b4 bbit0 state_inconn ,p_clear_wake 
+00b2 680080a0 fetch 1 ,mem_lpm_current_mult 
+00b3 247a0000 nrtn blank 
 
 p_clear_wake:
-02a3 58000000 setarg 0 
-02a4 600400a1 store 8 ,mem_gpio_wakeup_low 
-02a5 20600000 rtn 
+00b4 58000000 setarg 0 
+00b5 600400a1 store 8 ,mem_gpio_wakeup_low 
+00b6 20600000 rtn 
 
 p_mouse_setgpio_lpm:
-02a6 204002bb call p_mouse_set_sdio_high 
-02a7 204002a3 call p_clear_wake 
+00b7 204000c7 call p_mouse_set_sdio_high 
+00b8 204000b4 call p_clear_wake 
 
 p_mouse_setgpio_hibernate:
-02a8 20403ebf call mouse_lpm_before_common 
-02a9 2040031b call p_flash_ncs_disable 
-02aa 68120070 hfetch 4 ,core_gpio_oe0 
-02ab 681a0078 hfetcht 4 ,core_gpio_pu0 
-02ac 98418400 ior temp ,temp 
-02ad 18440400 invert temp ,temp 
-02ae 601a007c hstoret 4 ,core_gpio_pd0 
-02af 6810807d hfetch 1 ,core_gpio_pd1 
-02b0 793ffe02 set0 2 ,pdata 
-02b1 6010807d hstore 1 ,core_gpio_pd1 
-02b2 6810807e hfetch 1 ,core_gpio_pd2 
-02b3 793ffe06 set0 6 ,pdata 
-02b4 6010807e hstore 1 ,core_gpio_pd2 
-
-p_set_ice_gpio:
-02b5 6808cb27 fetcht 1 ,mem_mouse_multi_led_gpio 
-02b6 204067fb call gpio_config_input 
-02b7 6808cb27 fetcht 1 ,mem_mouse_multi_led_gpio 
-02b8 79200407 set1 gpio_active_bit ,temp 
-02b9 d8a08078 arg core_gpio_pu0 ,contw 
-02ba 20206830 branch gpio_set_bit 
+00b9 20403ebf call mouse_lpm_before_common 
+00ba 20400106 call p_flash_ncs_disable 
+00bb 68120070 hfetch 4 ,core_gpio_oe0 
+00bc 681a0078 hfetcht 4 ,core_gpio_pu0 
+00bd 98418400 ior temp ,temp 
+00be 18440400 invert temp ,temp 
+00bf 601a007c hstoret 4 ,core_gpio_pd0 
+00c0 6810807d hfetch 1 ,core_gpio_pd1 
+00c1 793ffe02 set0 2 ,pdata 
+00c2 6010807d hstore 1 ,core_gpio_pd1 
+00c3 6810807e hfetch 1 ,core_gpio_pd2 
+00c4 793ffe06 set0 6 ,pdata 
+00c5 6010807e hstore 1 ,core_gpio_pd2 
+00c6 202002f7 branch p_mouse_multi_led_gpio_set_float 
 
 p_mouse_set_sdio_high:
-02bb 6800cb00 fetch 1 ,mem_mouse_init_sensor_reset_flag 
-02bc 207a0000 rtn blank 
-02bd 20200507 branch p_mouse_seting_sensor_type 
+00c7 6800cafe fetch 1 ,mem_mouse_init_sensor_reset_flag 
+00c8 207a0000 rtn blank 
+00c9 2020033a branch p_mouse_seting_sensor_type 
 
 p_device_init:
-02be 2040296c call initialize_radio 
-02bf 20403416 call app_lpm_mult_enable 
-02c0 204074b9 call enable_authrom 
-02c1 203582cb branch p_device_wake_from_lpm ,wake 
+00ca 2040296c call initialize_radio 
+00cb 20403416 call app_lpm_mult_enable 
+00cc 204074b9 call enable_authrom 
+00cd 203580d7 branch p_device_wake_from_lpm ,wake 
 
 p_device_wake_from_power:
-02c2 6801c4a3 fetch 3 ,mem_le_lap + 3 
-02c3 6001cb69 store 3 ,mem_le_lap_high_3b 
-02c4 20400001 call p_wake_from_power 
+00ce 20400001 call p_wake_from_power 
 
 p_mouse_check_reconn_target:
-02c5 204002cc call p_mouse_tx_power_init 
-02c6 204004f0 call p_mouse_mode_bt_device1_multi_led_on 
-02c7 6800c210 fetch 1 ,mem_xrecord_mode 
-02c8 c01982d2 beq rec_3_mode ,p_mouse3_0_check_reconn_target 
-02c9 c01a02d5 beq rec_4_mode ,p_mouse4_0_check_reconn_target 
-02ca 202004c0 branch p_mouse_null_enter_hibernate_enable 
+00cf 204000d8 call p_mouse_tx_power_init 
+00d0 6800c210 fetch 1 ,mem_xrecord_mode 
+00d1 c01980db beq rec_3_mode ,p_mouse3_0_check_reconn_target 
+00d2 c01a00de beq rec_4_mode ,p_mouse4_0_check_reconn_target 
+00d3 204002a7 call p_mouse_fast_conn_adv_switch_timer_reinit 
+00d4 70016d06 jam 6 ,mem_connection_options 
+00d5 20400266 call p_mouse_check_fast_conn_adv_start 
+00d6 20207ddd branch check_51cmd_start_discovery 
 
 p_device_wake_from_lpm:
-02cb 202002f5 branch p_mouse_spi_init 
+00d7 20200130 branch p_mouse_spi_init 
 
 p_mouse_tx_power_init:
-02cc 6800ccaf fetch 1 ,mem_tx_power_temp 
-02cd 6000c1de store 1 ,mem_tx_power 
-02ce 20600000 rtn 
-
-p_mouse_connect_24g_mode:
-02cf 70472002 jam mode_24g_device ,mem_device_flag 
-02d0 204004f0 call p_mouse_mode_24g_device_multi_led_on 
-02d1 20200379 branch p_mouse_start_24g_mode 
+00d8 6800cce2 fetch 1 ,mem_tx_power_temp 
+00d9 6000c1de store 1 ,mem_tx_power 
+00da 20600000 rtn 
 
 p_mouse3_0_check_reconn_target:
-02d2 680341d0 fetch 6 ,mem_hci_plap 
-02d3 203a33eb branch app_bt_start_discovery_short ,blank 
-02d4 20204274 branch mouse3_0_check_reconn_target + 3 
+00db 680341d0 fetch 6 ,mem_hci_plap 
+00dc 203a33eb branch app_bt_start_discovery_short ,blank 
+00dd 20204274 branch mouse3_0_check_reconn_target + 3 
 
 p_mouse4_0_check_reconn_target:
-02d5 704b6d01 jam 1 ,mem_le_send_security_request_flag 
-02d6 7047a101 jam 1 ,mem_mouse_le_reconnect_flag 
-02d7 680146a8 fetch 2 ,mem_mouse_direct_timeout 
-02d8 6808cb68 fetcht 1 ,mem_mouse_fast_conn_flag 
-02d9 18467cff sub temp ,0xff ,null 
-02da 242282dc nbranch p_mouse4_0_check_reconn_target_next ,zero 
-02db 58000258 setarg 0x0258 
-
-p_mouse4_0_check_reconn_target_next:
-02dc 600146ae store 2 ,mem_mouse_direct_timer 
-02dd 20403418 call app_lpm_mult_disable 
-02de 204002e4 call p_le_check_adv_flag 
-02df 58000004 setarg adv_flag_bredr_not_supported 
-02e0 e0c08000 istore 1 ,contr 
-02e1 d8c04390 arg mem_le_scan_data ,contr 
-02e2 20400578 call p_le_adv_data_update 
-02e3 20207df4 branch check_51cmd_adv 
+00de 7011c611 jam zcode_11 ,mem_zcode_temp_param0 
+00df 20200558 branch p_zcode_entrance 
 
 p_le_check_adv_flag:
-02e4 da204370 arg mem_le_adv_data ,rega 
+00e0 da204370 arg mem_le_adv_data ,rega 
 
 p_le_check_adv_flag_loop:
-02e5 ea208000 ifetch 1 ,rega 
-02e6 207a0000 rtn blank 
-02e7 98c0a200 iadd contr ,rega 
-02e8 e8c08000 ifetch 1 ,contr 
-02e9 c1008000 rtneq 0x01 
-02ea 202002e5 branch p_le_check_adv_flag_loop 
-
-p_mouse_le_fast_conn_disable:
-02eb 704b685a jam 0x5a ,mem_mouse_fast_conn_flag 
-02ec 20600000 rtn 
-
-p_mouse_fast_conn_init:
-02ed 704b68ff jam 0xff ,mem_mouse_fast_conn_flag 
-02ee 70421034 jam 0x34 ,mem_xrecord_mode 
-02ef 580f0f0f setarg 0x0f0f0f 
-02f0 6001c4a0 store 3 ,mem_le_lap 
-02f1 6001c4a3 store 3 ,mem_le_lap + 3 
-02f2 20600000 rtn 
-
-p_mouse_24g_pairing_button:
-02f3 7011c561 jam zcode_61 ,mem_zcode_temp_param0 
-02f4 20200759 branch p_zcode_entrance 
-
-p_mouse_spi_init:
-02f5 70421276 jam 0x76 ,mem_spi_init_clk 
-02f6 20203d36 branch mouse_spi_init 
+00e1 ea208000 ifetch 1 ,rega 
+00e2 207a0000 rtn blank 
+00e3 98c0a200 iadd contr ,rega 
+00e4 e8c08000 ifetch 1 ,contr 
+00e5 c1008000 rtneq 0x01 
+00e6 202000e1 branch p_le_check_adv_flag_loop 
 
 p_mouse_init_sunt:
-02f7 204002f5 call p_mouse_spi_init 
-02f8 204040c0 call mouse_spi_sdio_gpio_pollup 
+00e7 20400130 call p_mouse_spi_init 
+00e8 204040c0 call mouse_spi_sdio_gpio_pollup 
 
 p_mouse_init_sensor:
-02f9 204040d9 call mouse_read_sensor_id 
-02fa c0188302 beq p3065_id1 ,p_mouse_p3065_init_param 
-02fb 204040d1 call mouse_twspi_reset 
-02fc 200003e8 nop 1000 
-02fd 202002f9 branch p_mouse_init_sensor 
-
-p_mouse_init_sensor_reset:
-02fe 704b0001 jam 1 ,mem_mouse_init_sensor_reset_flag 
-02ff 2040640f call spi_ncs_enable 
-0300 204002f7 call p_mouse_init_sunt 
-0301 20206411 branch spi_ncs_disable 
+00e9 204040d9 call mouse_read_sensor_id 
+00ea c01800ef beq p32xx_id1 ,p_mouse_init_p32xx_id2_judge 
+00eb c01880ff beq p3065_id1 ,p_mouse_p3065_init_param 
+00ec 204040d1 call mouse_twspi_reset 
+00ed 200003e8 nop 1000 
+00ee 202000e9 branch p_mouse_init_sensor 
+
+p_mouse_init_p32xx_id2_judge:
+00ef 2040018d call p_mouse_sensor_poweron 
+00f0 6800c6de fetch 1 ,mem_sensor_id2 
+00f1 c02d00f4 beq p_mx8650 ,p_mouse_mx8650_init_param 
+00f2 c02a00fc beq pka8_id2 ,p_mouse_ka8_init_param 
+00f3 202040e0 branch mouse_init_p32xx_id2_judge 
+
+p_mouse_mx8650_init_param:
+00f4 7046e007 jam mx8650 ,mem_config_sensor_type 
+00f5 da604b76 arg mem_sensor_8650_init ,regc 
+
+p_sensor_wr_seq:
+00f6 ea610000 ifetch 2 ,regc 
+00f7 c17f8000 rtneq 0xff 
+00f8 20406413 call twspi_write 
+00f9 20002ee0 nop 12000 
+00fa 1a60a602 increase 2 ,regc 
+00fb 202000f6 branch p_sensor_wr_seq 
+
+p_mouse_ka8_init_param:
+00fc 7046e002 jam ka8 ,mem_config_sensor_type 
+00fd da604b8f arg mem_sensor_ka8_init ,regc 
+00fe 202000f6 branch p_sensor_wr_seq 
 
 p_mouse_p3065_init_param:
-0302 20400307 call p_mouse_sensor_poweron 
-0303 6800c6de fetch 1 ,mem_sensor_id2 
-0304 c03840e8 beq p3065_xy_id2 ,mouse_p3065xy_init_param 
-0305 7046e001 jam p3065 ,mem_config_sensor_type 
-0306 20600000 rtn 
-
-p_mouse_sensor_poweron:
-0307 204002f5 call p_mouse_spi_init 
-0308 58008006 setarg 0x8006 
-0309 20406413 call twspi_write 
-030a 20002ee0 nop 12000 
-030b 2020030c branch p_mouse_dpi_config 
-
-p_mouse_dpi_config:
-030c 6800c77a fetch 1 ,mem_mouse_dpi 
-030d c07f830f beq 0xff ,p_mouse_dpi_config_default 
-030e 20200507 branch p_mouse_seting_dpi 
-
-p_mouse_dpi_config_default:
-030f 6800c6e1 fetch 1 ,mem_config_sensor_motion 
-0310 6000c77a store 1 ,mem_mouse_dpi 
-0311 20200507 branch p_mouse_seting_dpi 
-
-p_mouse_sensor_powerdown:
-0312 204002f5 call p_mouse_spi_init 
-0313 58000006 setarg 0x06 
-0314 20406414 call twspi_read 
-0315 1fe1fe08 or pdata ,0x08 ,pdata 
-0316 1fed7e00 lshift8 pdata ,pdata 
-0317 1fe0fe06 add pdata ,0x06 ,pdata 
-0318 20206413 branch twspi_write 
+00ff 2040018d call p_mouse_sensor_poweron 
+0100 6800c6de fetch 1 ,mem_sensor_id2 
+0101 c03840e8 beq p3065_xy_id2 ,mouse_p3065xy_init_param 
+0102 7046e001 jam p3065 ,mem_config_sensor_type 
+0103 20600000 rtn 
 
 p_mouse_setting_config:
-0319 7011c580 jam zcode_80 ,mem_zcode_temp_param0 
-031a 20200759 branch p_zcode_entrance 
+0104 7011c680 jam zcode_80 ,mem_zcode_temp_param0 
+0105 20200558 branch p_zcode_entrance 
 
 p_flash_ncs_disable:
-031b 6808cb46 fetcht 1 ,mem_flash_ncs_gpio 
-031c 20206825 branch gpio_out_inactive 
+0106 6808cb43 fetcht 1 ,mem_flash_ncs_gpio 
+0107 20206825 branch gpio_out_inactive 
 
 p_spid_init_flash:
-031d 70808640 jam 0x40 ,core_spid_ctrl 
-031e 70808700 jam 0x0 ,core_spid_delay 
-031f 68108081 hfetch 1 ,core_gpio_sel1 
-0320 793ffe00 set0 0 ,pdata 
-0321 793ffe01 set0 1 ,pdata 
-0322 79207e03 set1 3 ,pdata 
-0323 793ffe04 set0 4 ,pdata 
-0324 60108081 hstore 1 ,core_gpio_sel1 
-0325 58000000 setarg 0 
-0326 600201f5 store 4 ,mem_spid_tbuf 
-0327 6810807f hfetch 1 ,core_gpio_pd3 
-0328 793ffe00 set0 0 ,pdata 
-0329 6010807f hstore 1 ,core_gpio_pd3 
-032a 20600000 rtn 
+0108 70808640 jam 0x40 ,core_spid_ctrl 
+0109 70808700 jam 0x0 ,core_spid_delay 
+010a 68108081 hfetch 1 ,core_gpio_sel1 
+010b 793ffe00 set0 0 ,pdata 
+010c 793ffe01 set0 1 ,pdata 
+010d 79207e03 set1 3 ,pdata 
+010e 793ffe04 set0 4 ,pdata 
+010f 60108081 hstore 1 ,core_gpio_sel1 
+0110 58000000 setarg 0 
+0111 600201f5 store 4 ,mem_spid_tbuf 
+0112 6810807f hfetch 1 ,core_gpio_pd3 
+0113 793ffe00 set0 0 ,pdata 
+0114 6010807f hstore 1 ,core_gpio_pd3 
+0115 20600000 rtn 
 
 p_mouse_load_flash_info_check:
-032b 20400377 call p_flash_release_deep_power_down 
-032c 20404423 call mouse_load_flash_flag 
-032d 68014778 fetch 2 ,mem_store_flag 
-032e d840aa55 arg eeprom_init_flag ,temp 
-032f 98467c00 isub temp ,null 
-0330 20228368 branch p_mouse_load_flash_device_info ,zero 
-0331 60094778 storet 2 ,mem_store_flag 
-0332 2040441c call mouse_ble_init_address 
-0333 6800c6e1 fetch 1 ,mem_config_sensor_motion 
-0334 6000c77a store 1 ,mem_mouse_dpi 
+0116 20400161 call p_flash_release_deep_power_down 
+0117 20404423 call mouse_load_flash_flag 
+0118 68014778 fetch 2 ,mem_store_flag 
+0119 d840aa55 arg eeprom_init_flag ,temp 
+011a 98467c00 isub temp ,null 
+011b 20228152 branch p_mouse_load_flash_device_info ,zero 
+011c 60094778 storet 2 ,mem_store_flag 
+011d 2040441c call mouse_ble_init_address 
+011e 6800c6e1 fetch 1 ,mem_config_sensor_motion 
+011f 6000c77a store 1 ,mem_mouse_dpi 
+0120 68024b4a fetch 4 ,mem_mouse_24g_addr_init 
+0121 6002477b store 4 ,mem_mouse_24g_addr 
+0122 60024c53 store 4 ,mem_24g_addr 
 
 p_mouse_store_flash_device_info:
-0335 20400377 call p_flash_release_deep_power_down 
-0336 20400347 call p_flash_erase_sector 
-0337 2040035f call p_mouse_information_flash_parameters 
-0338 2040034b call p_spid_write_flash 
-0339 20400356 call p_wait_flash_done 
-
-p_mouse_store_random_addr_increase_count:
-033a d8400002 arg 2 ,temp 
-033b da2047c4 arg mem_random_addr_increase_count ,rega 
-033c da40005f arg mouse_random_addr_count_eeprom_offset ,regb 
-033d 6801c700 fetch 3 ,mem_flash_base 
-033e 9a40fe00 iadd regb ,pdata 
-033f 2040034b call p_spid_write_flash 
-0340 20400356 call p_wait_flash_done 
-0341 2040036e call p_flash_deep_power_down 
-0342 202002f5 branch p_mouse_spi_init 
-
-p_mouse_set_24g_addr_flash:
-0343 d8400004 arg 4 ,temp 
-0344 da204c20 arg mem_24g_addr ,rega 
-0345 da40005b arg mouse_g24_addr_eeprom_offect ,regb 
-0346 20600000 rtn 
+0123 20400161 call p_flash_release_deep_power_down 
+0124 20400132 call p_flash_erase_sector 
+0125 20400149 call p_mouse_information_flash_parameters 
+0126 2040013e call p_spid_write_flash 
+0127 20400135 call p_wait_flash_done 
+
+p_mouse_store_flash_user_data:
+0128 d8400007 arg 7 ,temp 
+0129 da204b6e arg mem_mouse_flash_start_temp ,rega 
+012a da40005f arg mouse_user_data_offect ,regb 
+012b 6801c700 fetch 3 ,mem_flash_base 
+012c 9a40fe00 iadd regb ,pdata 
+012d 2040013e call p_spid_write_flash 
+012e 20400135 call p_wait_flash_done 
+012f 20400158 call p_flash_deep_power_down 
 
-p_flash_erase_sector:
-0347 6801c700 fetch 3 ,mem_flash_base 
-0348 6001c232 store 3 ,mem_spi_write_addr 
-0349 2040652a call flash_erase_sector + 2 
-034a 20200356 branch p_wait_flash_done 
+p_mouse_spi_init:
+0130 70421276 jam 0x76 ,mem_spi_init_clk 
+0131 20203d36 branch mouse_spi_init 
 
-p_spid_write_flash:
-034b 1fe22600 copy pdata ,regc 
-034c 1a227e00 copy rega ,pdata 
-034d 1fe0fffc increase -4 ,pdata 
-034e 1fe22400 copy pdata ,regb 
-034f ea420000 ifetch 4 ,regb 
-0350 60024b48 store 4 ,mem_write_flash_head_temp 
-0351 1a627e00 copy regc ,pdata 
-0352 20406552 call spid_write_flash 
-0353 68024b48 fetch 4 ,mem_write_flash_head_temp 
-0354 e2420000 istore 4 ,regb 
-0355 20600000 rtn 
+p_flash_erase_sector:
+0132 6801c700 fetch 3 ,mem_flash_base 
+0133 6001c232 store 3 ,mem_spi_write_addr 
+0134 2040652a call flash_erase_sector + 2 
 
 p_wait_flash_done:
-0356 580186a0 setarg 100000 
-0357 20402a8f call sleep 
-0358 2040650b call spid_unlock_flash 
-0359 580001fa setarg mem_spid_rbuf 
-035a 6011008c hstore 2 ,core_spid_rxaddr 
-035b 58000005 setarg flash_read_satus 
-035c 204064f3 call spid_read_reg 
-035d c2800356 bbit1 flash_status_wip ,p_wait_flash_done 
-035e 20600000 rtn 
+0135 580186a0 setarg 100000 
+0136 20402a8f call sleep 
+0137 2040650b call spid_unlock_flash 
+0138 580001fa setarg mem_spid_rbuf 
+0139 6011008c hstore 2 ,core_spid_rxaddr 
+013a 58000005 setarg flash_read_satus 
+013b 204064f3 call spid_read_reg 
+013c c2800135 bbit1 flash_status_wip ,p_wait_flash_done 
+013d 20600000 rtn 
+
+p_spid_write_flash:
+013e 1fe22600 copy pdata ,regc 
+013f 1a227e00 copy rega ,pdata 
+0140 1fe0fffc increase -4 ,pdata 
+0141 1fe22400 copy pdata ,regb 
+0142 ea420000 ifetch 4 ,regb 
+0143 60024b45 store 4 ,mem_write_flash_head_temp 
+0144 1a627e00 copy regc ,pdata 
+0145 20406552 call spid_write_flash 
+0146 68024b45 fetch 4 ,mem_write_flash_head_temp 
+0147 e2420000 istore 4 ,regb 
+0148 20600000 rtn 
 
 p_mouse_information_flash_parameters:
-035f 5800477f setarg mem_mouse_information_end 
-0360 d8404720 arg mem_mouse_information_start ,temp 
-0361 98460400 isub temp ,temp 
-0362 6801c700 fetch 3 ,mem_flash_base 
-0363 da204720 arg mem_mouse_information_start ,rega 
-0364 20600000 rtn 
+0149 5800477f setarg mem_mouse_information_end 
+014a d8404720 arg mem_mouse_information_start ,temp 
+014b 98460400 isub temp ,temp 
+014c 6801c700 fetch 3 ,mem_flash_base 
+014d da204720 arg mem_mouse_information_start ,rega 
+014e 20600000 rtn 
 
 p_mouse_read_flash:
-0365 20400377 call p_flash_release_deep_power_down 
-0366 2040035f call p_mouse_information_flash_parameters 
-0367 20206562 branch spid_read_flash 
+014f 20400161 call p_flash_release_deep_power_down 
+0150 20400149 call p_mouse_information_flash_parameters 
+0151 20206562 branch spid_read_flash 
 
 p_mouse_load_flash_device_info:
-0368 20400365 call p_mouse_read_flash 
-0369 20400571 call p_mouse_load_random_addr_increase_count 
-036a 2040431a call mouse_select_reconn_device 
-036b 6802477b fetch 4 ,mem_mouse_24g_addr 
-036c 60024c20 store 4 ,mem_24g_addr 
-036d 20600000 rtn 
+0152 2040014f call p_mouse_read_flash 
+0153 2040016b call p_mouse_load_flash_user_data 
+0154 2040431a call mouse_select_reconn_device 
+0155 6802477b fetch 4 ,mem_mouse_24g_addr 
+0156 60024c53 store 4 ,mem_24g_addr 
+0157 20600000 rtn 
 
 p_flash_deep_power_down:
-036e 700aa2b9 jam flash_command_deep_power_down ,mem_temp 
+0158 700aa2b9 jam flash_command_deep_power_down ,mem_temp 
 
 p_spid_write_flash_cmd:
-036f 2040031d call p_spid_init_flash 
-0370 20000064 nop 100 
-0371 2040650b call spid_unlock_flash 
-0372 da204b48 arg mem_write_flash_head_temp ,rega 
-0373 68088aa2 fetcht 1 ,mem_temp 
-0374 20406556 call spid_write_flash_common 
-0375 20000064 nop 100 
-0376 20600000 rtn 
+0159 20400108 call p_spid_init_flash 
+015a 20000064 nop 100 
+015b 2040650b call spid_unlock_flash 
+015c da204b45 arg mem_write_flash_head_temp ,rega 
+015d 68088aa2 fetcht 1 ,mem_temp 
+015e 20406556 call spid_write_flash_common 
+015f 20000064 nop 100 
+0160 20600000 rtn 
 
 p_flash_release_deep_power_down:
-0377 700aa2ab jam flash_command_release_deep_power_down ,mem_temp 
-0378 2020036f branch p_spid_write_flash_cmd 
+0161 700aa2ab jam flash_command_release_deep_power_down ,mem_temp 
+0162 20200159 branch p_spid_write_flash_cmd 
+
+p_mouse_fast_conn_disable:
+0163 704b735a jam 0x5a ,mem_mouse_fast_conn_flag 
+0164 20600000 rtn 
+
+p_mouse_fast_conn_le_switch_adv:
+0165 704b6701 jam 1 ,mem_le_switch_adv_timer 
+0166 704b6601 jam 1 ,mem_le_switch_adv_flag 
 
-p_mouse_start_24g_mode:
-0379 2040037c call p_g24_factory_check 
-037a 203401ae branch p_g24_auto_pair_start ,user 
-037b 202001ac branch p_g24_start_24g_mode 
-
-p_g24_factory_check:
-037c df200002 arg 2 ,loopcnt 
-037d d8c04c20 arg mem_24g_addr ,contr 
-
-p_pdata_0xff_check:
-037e 20407fe7 call enable_user 
-037f 5800ffff setarg 0xffff 
-
-p_pdata_0xff_check_loop:
-0380 e8c90000 ifetcht 2 ,contr 
-0381 98467c00 isub temp ,null 
-0382 2442ffe9 ncall disable_user ,zero 
-0383 c2000380 loop p_pdata_0xff_check_loop 
-0384 20600000 rtn 
-
-p_mouse_g24_package_data:
-0385 20404401 call mouse_g24_package_data 
-0386 6801469f fetch 2 ,mem_mouse_z 
-0387 207a0000 rtn blank 
-
-p_g24_transmit_by_interrupt_enable:
-0388 704d3801 jam g24_tx_timer_int_enable ,mem_24g_transmit_by_interrupt 
-0389 58000000 setarg 0 
-038a 60014d39 store 2 ,mem_24g_transmit_by_interrupt_exit_count 
-038b 20600000 rtn 
+p_mouse_fast_conn_init:
+0167 704b73ff jam 0xff ,mem_mouse_fast_conn_flag 
+0168 68034d70 fetch 6 ,mem_24g_allpowerful_addr 
+0169 600344a0 store 6 ,mem_le_lap 
+016a 20600000 rtn 
+
+p_mouse_load_flash_user_data:
+016b 20400161 call p_flash_release_deep_power_down 
+016c d8400007 arg 7 ,temp 
+016d da204b6e arg mem_mouse_flash_start_temp ,rega 
+016e da40005f arg mouse_user_data_offect ,regb 
+016f 6801c700 fetch 3 ,mem_flash_base 
+0170 9a40fe00 iadd regb ,pdata 
+0171 20206562 branch spid_read_flash 
 
 p_mouse_le_txbuff_save:
-038c d8c01800 arg mem_le_tx_buffer0 ,contr 
-038d d8a0480c arg mem_le_tx_buffer0_omemalloc ,contw 
-038e 20400394 call p_mouse_le_txbuff_copy 
-038f d8c01900 arg mem_le_tx_buffer1 ,contr 
-0390 20400394 call p_mouse_le_txbuff_copy 
-0391 d8c01a00 arg mem_le_tx_buffer2 ,contr 
-0392 20400394 call p_mouse_le_txbuff_copy 
-0393 d8c01b00 arg mem_le_tx_buffer3 ,contr 
+0172 d8c01800 arg mem_le_tx_buffer0 ,contr 
+0173 d8a0480a arg mem_le_tx_buffer0_omemalloc ,contw 
+0174 2040017a call p_mouse_le_txbuff_copy 
+0175 d8c01900 arg mem_le_tx_buffer1 ,contr 
+0176 2040017a call p_mouse_le_txbuff_copy 
+0177 d8c01a00 arg mem_le_tx_buffer2 ,contr 
+0178 2040017a call p_mouse_le_txbuff_copy 
+0179 d8c01b00 arg mem_le_tx_buffer3 ,contr 
 
 p_mouse_le_txbuff_copy:
-0394 df20001b arg 27 ,loopcnt 
-0395 20207f01 branch memcpy 
+017a df20001b arg 27 ,loopcnt 
+017b 20207f01 branch memcpy 
 
 p_mouse_le_txbuff_load:
-0396 d8c0480c arg mem_le_tx_buffer0_omemalloc ,contr 
-0397 d8a01800 arg mem_le_tx_buffer0 ,contw 
-0398 20400394 call p_mouse_le_txbuff_copy 
-0399 d8a01900 arg mem_le_tx_buffer1 ,contw 
-039a 20400394 call p_mouse_le_txbuff_copy 
-039b d8a01a00 arg mem_le_tx_buffer2 ,contw 
-039c 20400394 call p_mouse_le_txbuff_copy 
-039d d8a01b00 arg mem_le_tx_buffer3 ,contw 
-039e 20200394 branch p_mouse_le_txbuff_copy 
-
-p_mouse_le_send_empty_packet:
-039f 68014500 fetch 2 ,mem_le_tx_ptr0 
-03a0 247a0000 nrtn blank 
-03a1 20204179 branch mouse_le_send_empty_packet 
+017c d8c0480a arg mem_le_tx_buffer0_omemalloc ,contr 
+017d d8a01800 arg mem_le_tx_buffer0 ,contw 
+017e 2040017a call p_mouse_le_txbuff_copy 
+017f d8a01900 arg mem_le_tx_buffer1 ,contw 
+0180 2040017a call p_mouse_le_txbuff_copy 
+0181 d8a01a00 arg mem_le_tx_buffer2 ,contw 
+0182 2040017a call p_mouse_le_txbuff_copy 
+0183 d8a01b00 arg mem_le_tx_buffer3 ,contw 
+0184 2020017a branch p_mouse_le_txbuff_copy 
+
+p_mouse_le_current_mult_update:
+0185 70417200 jam 0 ,mem_lpm_mult 
+0186 704b411e jam 30 ,mem_mouse_le_current_mult_timer 
+0187 20600000 rtn 
+
+p_mouse_data_xy_release:
+0188 6800cb40 fetch 1 ,mem_mouse_long_mult_flag 
+0189 c1808000 rtnne 1 
+018a 58000000 setarg 0 
+018b 6000cb40 store 1 ,mem_mouse_long_mult_flag 
+018c 6002469b store 4 ,mem_mouse_x 
+
+p_mouse_sensor_poweron:
+018d 20400130 call p_mouse_spi_init 
+018e da604b9c arg mem_sensor_poweron_init ,regc 
+018f 204000f6 call p_sensor_wr_seq 
+0190 20400195 call p_mouse_dpi_config 
+0191 6800c6e0 fetch 1 ,mem_config_sensor_type 
+0192 c00100fc beq ka8 ,p_mouse_ka8_init_param 
+0193 c00380f4 beq mx8650 ,p_mouse_mx8650_init_param 
+0194 20600000 rtn 
+
+p_mouse_dpi_config:
+0195 6800c77a fetch 1 ,mem_mouse_dpi 
+0196 c07f8198 beq 0xff ,p_mouse_dpi_config_default 
+0197 2020033a branch p_mouse_seting_dpi 
+
+p_mouse_dpi_config_default:
+0198 6800c6e1 fetch 1 ,mem_config_sensor_motion 
+0199 6000c77a store 1 ,mem_mouse_dpi 
+019a 2020033a branch p_mouse_seting_dpi 
 
 p_mouse_le:
-03a2 20405892 call le_fifo_check_nearly_full 
-03a3 247a0000 nrtn blank 
-03a4 6800cb68 fetch 1 ,mem_mouse_fast_conn_flag 
-03a5 c07f83a9 beq 0xff ,p_mouse_le_next 
-03a6 6800c6c5 fetch 1 ,mem_le_connect_status_flag 
-03a7 1fe17e03 and pdata ,0x03 ,pdata 
-03a8 c1818000 rtnne 0x03 
+019b 20405892 call le_fifo_check_nearly_full 
+019c 247a0000 nrtn blank 
+019d 6800cb73 fetch 1 ,mem_mouse_fast_conn_flag 
+019e c07f81a2 beq 0xff ,p_mouse_le_next 
+019f 6800c6c5 fetch 1 ,mem_le_connect_status_flag 
+01a0 1fe17e03 and pdata ,0x03 ,pdata 
+01a1 c1818000 rtnne 0x03 
 
 p_mouse_le_next:
-03a9 6800c79e fetch 1 ,mem_mouse_clear_sensor_data_flag 
-03aa 205a03ff call p_mouse_clear_sensor_data ,blank 
-03ab 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
-03ac c282839f bbit1 mouse_bt_discovery_button_down_flag ,p_mouse_le_send_empty_packet 
-03ad 20403f97 call mouse_motion 
-03ae 24740000 nrtn user 
-03af 204003b6 call p_mouse_le_current_mult_update 
-03b0 204003b9 call p_mouse_data_xy_release 
-03b1 204003d5 call p_mouse_wheel_trigger 
+01a2 6800c79e fetch 1 ,mem_mouse_clear_sensor_data_flag 
+01a3 205a01ca call p_mouse_clear_sensor_data ,blank 
+01a4 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+01a5 c282c179 bbit1 mouse_bt_discovery_button_down_flag ,mouse_le_send_empty_packet 
+01a6 20403f97 call mouse_motion 
+01a7 24740000 nrtn user 
+01a8 20400185 call p_mouse_le_current_mult_update 
+01a9 20400188 call p_mouse_data_xy_release 
+01aa 204001c5 call p_mouse_wheel_trigger 
 
 p_mouse_data_push:
-03b2 da20469a arg mem_mouse_key ,rega 
-03b3 20407e3d call queue_push 
-03b4 205403c4 call p_mouse_queue_increase ,user 
-03b5 20600000 rtn 
-
-p_mouse_le_current_mult_update:
-03b6 70417200 jam 0 ,mem_lpm_mult 
-03b7 704b601e jam 30 ,mem_mouse_le_current_mult_timer 
-03b8 20600000 rtn 
-
-p_mouse_data_xy_release:
-03b9 6800cb5f fetch 1 ,mem_mouse_long_mult_flag 
-03ba c1808000 rtnne 1 
-03bb 58000000 setarg 0 
-03bc 6000cb5f store 1 ,mem_mouse_long_mult_flag 
-03bd 6002469b store 4 ,mem_mouse_x 
-03be 20200307 branch p_mouse_sensor_poweron 
+01ab da20469a arg mem_mouse_key ,rega 
+01ac 20407e3d call queue_push 
+01ad 205401b4 call p_mouse_queue_increase ,user 
+01ae 20600000 rtn 
 
 p_mouse_data_init:
-03bf 7047a207 jam 7 ,mem_mouse_data_queue 
-03c0 7047a304 jam 4 ,mem_mouse_data_queue + 1 
-03c1 580047a2 setarg mem_mouse_data_queue 
-03c2 60014218 store 2 ,mem_queue_ptr 
-03c3 20207e38 branch queue_init 
+01af 7047a207 jam 7 ,mem_mouse_data_queue 
+01b0 7047a304 jam 4 ,mem_mouse_data_queue + 1 
+01b1 580047a2 setarg mem_mouse_data_queue 
+01b2 60014218 store 2 ,mem_queue_ptr 
+01b3 20207e38 branch queue_init 
 
 p_mouse_queue_increase:
-03c4 6800c7c3 fetch 1 ,mem_mouse_data_queue_num 
-03c5 1fe0fe01 increase 1 ,pdata 
-03c6 6000c7c3 store 1 ,mem_mouse_data_queue_num 
-03c7 20600000 rtn 
+01b4 6800c7c3 fetch 1 ,mem_mouse_data_queue_num 
+01b5 1fe0fe01 increase 1 ,pdata 
+01b6 6000c7c3 store 1 ,mem_mouse_data_queue_num 
+01b7 20600000 rtn 
 
 p_mouse_data_pull:
-03c8 da20469a arg mem_mouse_key ,rega 
-03c9 20407e54 call queue_pop 
-03ca 203403cc branch p_mouse_fill_data_le ,user 
-03cb 20600000 rtn 
+01b8 da20469a arg mem_mouse_key ,rega 
+01b9 20407e54 call queue_pop 
+01ba 203401bc branch p_mouse_fill_data_le ,user 
+01bb 20600000 rtn 
 
 p_mouse_fill_data_le:
-03cc 20405652 call le_clear_md 
-03cd 6800c7c3 fetch 1 ,mem_mouse_data_queue_num 
-03ce 1fe67c01 sub pdata ,1 ,null 
-03cf 24415650 ncall le_set_md ,positive 
-03d0 6800c7c3 fetch 1 ,mem_mouse_data_queue_num 
-03d1 207a0000 rtn blank 
-03d2 1fe0ffff increase -1 ,pdata 
-03d3 6000c7c3 store 1 ,mem_mouse_data_queue_num 
-03d4 20203f90 branch mouse_fill_data_le 
+01bc 20405652 call le_clear_md 
+01bd 6800c7c3 fetch 1 ,mem_mouse_data_queue_num 
+01be 1fe67c01 sub pdata ,1 ,null 
+01bf 24415650 ncall le_set_md ,positive 
+01c0 6800c7c3 fetch 1 ,mem_mouse_data_queue_num 
+01c1 207a0000 rtn blank 
+01c2 1fe0ffff increase -1 ,pdata 
+01c3 6000c7c3 store 1 ,mem_mouse_data_queue_num 
+01c4 20203f90 branch mouse_fill_data_le 
 
 p_mouse_wheel_trigger:
-03d5 6801469f fetch 2 ,mem_mouse_z 
-03d6 207a0000 rtn blank 
-03d7 70480801 jam 1 ,mem_mouse_wheel_trigger 
-03d8 70480902 jam 2 ,mem_mouse_wheel_trigger_timer 
-03d9 20600000 rtn 
+01c5 6801469f fetch 2 ,mem_mouse_z 
+01c6 207a0000 rtn blank 
+01c7 70480601 jam 1 ,mem_mouse_wheel_trigger 
+01c8 7048070a jam 10 ,mem_mouse_wheel_trigger_timer 
+01c9 20600000 rtn 
+
+p_mouse_clear_sensor_data:
+01ca 70479e01 jam 1 ,mem_mouse_clear_sensor_data_flag 
+01cb 20405814 call le_set_config_more_data 
+
+p_mouse_init_sensor_reset:
+01cc 704afe01 jam 1 ,mem_mouse_init_sensor_reset_flag 
+01cd 202000e7 branch p_mouse_init_sunt 
 
 p_mouse_bt:
-03da 20770000 rtn attempt 
-03db 6800c1e2 fetch 1 ,mem_app_handshake_flag 
-03dc 207a0000 rtn blank 
-03dd 20405271 call l2cap_malloc_is_fifo_nearly_full 
-03de 247a0000 nrtn blank 
-03df 6800c79e fetch 1 ,mem_mouse_clear_sensor_data_flag 
-03e0 205a03ff call p_mouse_clear_sensor_data ,blank 
-03e1 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
-03e2 c282bf8a bbit1 mouse_bt_discovery_button_down_flag ,mouse_send_empty_data 
-03e3 c284bf8a bbit1 mouse_bt_discovery_button_long_down_flag ,mouse_send_empty_data 
-03e4 20403f97 call mouse_motion 
-03e5 24740000 nrtn user 
-03e6 204003b6 call p_mouse_le_current_mult_update 
-03e7 204003b9 call p_mouse_data_xy_release 
-03e8 204003d5 call p_mouse_wheel_trigger 
-03e9 6800cb05 fetch 1 ,mem_mouse_bt_boot_mode 
-03ea c00083ee beq 1 ,p_mouse_send_data_boot_mode 
-03eb 6800cb0c fetch 1 ,mem_mouse_bt_send_first_package_flag 
-03ec 207a0000 rtn blank 
-03ed 20203f81 branch mouse_send_data 
+01ce 20770000 rtn attempt 
+01cf 6800c1e2 fetch 1 ,mem_app_handshake_flag 
+01d0 207a0000 rtn blank 
+01d1 20405271 call l2cap_malloc_is_fifo_nearly_full 
+01d2 247a0000 nrtn blank 
+01d3 6800c79e fetch 1 ,mem_mouse_clear_sensor_data_flag 
+01d4 205a01ca call p_mouse_clear_sensor_data ,blank 
+01d5 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+01d6 c282bf8a bbit1 mouse_bt_discovery_button_down_flag ,mouse_send_empty_data 
+01d7 c284bf8a bbit1 mouse_bt_discovery_button_long_down_flag ,mouse_send_empty_data 
+01d8 20403f97 call mouse_motion 
+01d9 24740000 nrtn user 
+01da 20400185 call p_mouse_le_current_mult_update 
+01db 20400188 call p_mouse_data_xy_release 
+01dc 204001c5 call p_mouse_wheel_trigger 
+01dd 6800cb03 fetch 1 ,mem_mouse_bt_boot_mode 
+01de c00081e2 beq 1 ,p_mouse_send_data_boot_mode 
+01df 6800cb0a fetch 1 ,mem_mouse_bt_send_first_package_flag 
+01e0 207a0000 rtn blank 
+01e1 20203f81 branch mouse_send_data 
 
 p_mouse_send_data_boot_mode:
-03ee 6800c69a fetch 1 ,mem_mouse_key 
-03ef 6000cb06 store 1 ,mem_mouse_bt_boot_data 
-03f0 6800c69b fetch 1 ,mem_mouse_x 
-03f1 e0a08000 istore 1 ,contw 
-03f2 6800c69d fetch 1 ,mem_mouse_y 
-03f3 e0a08000 istore 1 ,contw 
-03f4 6801469f fetch 2 ,mem_mouse_z 
-03f5 e0a10000 istore 2 ,contw 
-03f6 da200007 arg 7 ,rega 
-03f7 20404d63 call hid_malloc_tx_buff 
-03f8 6801424e fetch 2 ,mem_hid_int_remote_cid 
-03f9 e0a10000 istore 2 ,contw 
-03fa 580002a1 setarg 0x02a1 
-03fb e0a10000 istore 2 ,contw 
-03fc 6802cb06 fetch 5 ,mem_mouse_bt_boot_data 
-03fd e0a28000 istore 5 ,contw 
-03fe 20600000 rtn 
-
-p_mouse_clear_sensor_data:
-03ff 70479e01 jam 1 ,mem_mouse_clear_sensor_data_flag 
-0400 20405814 call le_set_config_more_data 
-0401 202002fe branch p_mouse_init_sensor_reset 
+01e2 6800c69a fetch 1 ,mem_mouse_key 
+01e3 6000cb04 store 1 ,mem_mouse_bt_boot_data 
+01e4 6800c69b fetch 1 ,mem_mouse_x 
+01e5 e0a08000 istore 1 ,contw 
+01e6 6800c69d fetch 1 ,mem_mouse_y 
+01e7 e0a08000 istore 1 ,contw 
+01e8 6801469f fetch 2 ,mem_mouse_z 
+01e9 e0a10000 istore 2 ,contw 
+01ea da200007 arg 7 ,rega 
+01eb 20404d63 call hid_malloc_tx_buff 
+01ec 6801424e fetch 2 ,mem_hid_int_remote_cid 
+01ed e0a10000 istore 2 ,contw 
+01ee 580002a1 setarg 0x02a1 
+01ef e0a10000 istore 2 ,contw 
+01f0 6802cb04 fetch 5 ,mem_mouse_bt_boot_data 
+01f1 e0a28000 istore 5 ,contw 
+01f2 20600000 rtn 
 
 p_mouse_idle:
-0402 20407e34 call ui_check_paring_button 
-0403 20400405 call p_mouse_dpi_check 
-0404 20203ee0 branch mouse_wheel_check 
-
-p_mouse_dpi_check:
-0405 6808c6e7 fetcht 1 ,mem_dpi_button_gpio 
-0406 20400555 call p_gpio_set_input_pd 
-0407 6808c6e7 fetcht 1 ,mem_dpi_button_gpio 
-0408 2040681d call gpio_get_bit 
-0409 20208413 branch p_mouse_dpi_up ,true 
-040a 2040055e call p_gpio_set_input_pu 
-
-p_mouse_dpi_down:
-040b 6800c6b6 fetch 1 ,mem_mouse_dpi_button_state 
-040c c1000000 rtneq dpi_button_state_down 
-040d 7046b600 jam dpi_button_state_down ,mem_mouse_dpi_button_state 
-
-p_mouse_dpi_down_next:
-040e 6800c77a fetch 1 ,mem_mouse_dpi 
-040f 1fe0fe01 increase 1 ,pdata 
-0410 1fe17e03 and pdata ,0x03 ,pdata 
-0411 6000c77a store 1 ,mem_mouse_dpi 
-0412 20203d7e branch mouse_seting_dpi 
-
-p_mouse_dpi_up:
-0413 2040055e call p_gpio_set_input_pu 
-0414 20203d62 branch mouse_dpi_up 
+01f3 20407e34 call ui_check_paring_button 
+01f4 20203ee0 branch mouse_wheel_check 
 
 p_mouse_priority_bb_event:
-0415 1a627e00 copy regc ,pdata 
-0416 c00a0426 beq bt_evt_le_connected ,p_mouse_le_bb_event_connected 
-0417 c00a8429 beq bt_evt_le_disconnected ,p_mouse_le_bb_disconnected 
-0418 c014842c beq bt_evt_le_enc_info ,p_mouse_le_enc_info 
-0419 c019042e beq bt_evt_le_start_enc ,p_mouse_le_ll_start_encryt 
-041a c0200430 beq bt_evt_le_parse_conn_papa_update_rsp ,p_mouse_le_conn_param_update_rsp_recieved 
-041b c0020432 beq bt_evt_reconn_failed ,p_mouse_bb_event_reconn_failed 
-041c c0098432 beq bt_evt_reconn_page_timeout ,p_mouse_bb_event_reconn_timeout 
-041d c00cb3df beq bt_evt_switch_not_accept ,app_bt_role_switch 
-041e c0108436 beq bt_evt_sniff_not_accept ,p_mouse_sniff_not_accept 
-041f c0008438 beq bt_evt_bb_connected ,p_mouse_bb_event_connected 
-0420 c001043d beq bt_evt_bb_disconnected ,p_mouse_bb_event_disconnected 
-0421 c0158440 beq bt_evt_switch_success_master ,p_mouse_enter_sniff_check 
-0422 c01c8442 beq bt_evt_24g_pairing_complete ,p_mouse_24g_pairing_complete 
-0423 c01d0445 beq bt_evt_24g_attempt_fail ,p_mouse_24g_attempt_fail 
-0424 c01e0448 beq bt_evt_24g_attempt_success ,p_mouse_24g_attempt_success 
-0425 2020417d branch mouse_priority_bb_event + 1 
+01f5 1a627e00 copy regc ,pdata 
+01f6 c00a0203 beq bt_evt_le_connected ,p_mouse_le_bb_event_connected 
+01f7 c00a820e beq bt_evt_le_disconnected ,p_mouse_le_bb_disconnected 
+01f8 c0148212 beq bt_evt_le_enc_info ,p_mouse_le_enc_info 
+01f9 c0190214 beq bt_evt_le_start_enc ,p_mouse_le_ll_start_encryt 
+01fa c0200216 beq bt_evt_le_parse_conn_papa_update_rsp ,p_mouse_le_conn_param_update_rsp_recieved 
+01fb c0020218 beq bt_evt_reconn_failed ,p_mouse_bb_event_reconn_failed 
+01fc c0098218 beq bt_evt_reconn_page_timeout ,p_mouse_bb_event_reconn_timeout 
+01fd c00cb3df beq bt_evt_switch_not_accept ,app_bt_role_switch 
+01fe c010821c beq bt_evt_sniff_not_accept ,p_mouse_sniff_not_accept 
+01ff c000821e beq bt_evt_bb_connected ,p_mouse_bb_event_connected 
+0200 c0010226 beq bt_evt_bb_disconnected ,p_mouse_bb_event_disconnected 
+0201 c015822a beq bt_evt_switch_success_master ,p_mouse_enter_sniff_check 
+0202 2020417d branch mouse_priority_bb_event + 1 
 
 p_mouse_le_bb_event_connected:
-0426 204002fe call p_mouse_init_sensor_reset 
-0427 7011c5b0 jam zcode_b0 ,mem_zcode_temp_param0 
-0428 20200759 branch p_zcode_entrance 
+0203 204001cc call p_mouse_init_sensor_reset 
+0204 58000000 setarg 0 
+0205 6001cb66 store 3 ,mem_le_switch_adv_flag 
+0206 20403410 call app_ble_store_reconn_info 
+0207 704b6d01 jam 1 ,mem_mouse_le_bb_connected_flag 
+0208 6800c7a1 fetch 1 ,mem_mouse_le_reconnect_flag 
+0209 243a020b nbranch p_mouse_le_bb_event_connected_next ,blank 
+020a 704b6b14 jam 0x14 ,mem_mouse_send_secutiry_request_timer 
+
+p_mouse_le_bb_event_connected_next:
+020b 204002b1 call p_mouse_null_enter_hibernate_disable 
+020c 204001af call p_mouse_data_init 
+020d 202041c3 branch mouse_le_bb_event_connected 
 
 p_mouse_le_bb_disconnected:
-0429 20400451 call p_mouse_sensor_powerdown_check 
-042a 7011c5a2 jam zcode_a2 ,mem_zcode_temp_param0 
-042b 20200759 branch p_zcode_entrance 
+020e 2040022f call p_mouse_sensor_powerdown_check 
+020f 20400123 call p_mouse_store_flash_device_info 
+0210 7011c6a2 jam zcode_a2 ,mem_zcode_temp_param0 
+0211 20200558 branch p_zcode_entrance 
 
 p_mouse_le_enc_info:
 
 p_app_updata_le_param:
-042c 700a9912 jam bt_cmd_le_update_conn ,mem_fifo_temp 
-042d 20207d8f branch ui_ipc_send_cmd 
+0212 700a9912 jam bt_cmd_le_update_conn ,mem_fifo_temp 
+0213 20207d8f branch ui_ipc_send_cmd 
 
 p_mouse_le_ll_start_encryt:
-042e 7011c5b3 jam zcode_b3 ,mem_zcode_temp_param0 
-042f 20200759 branch p_zcode_entrance 
+0214 7011c6b3 jam zcode_b3 ,mem_zcode_temp_param0 
+0215 20200558 branch p_zcode_entrance 
 
 p_mouse_le_conn_param_update_rsp_recieved:
-0430 7011c5a1 jam zcode_a1 ,mem_zcode_temp_param0 
-0431 20200759 branch p_zcode_entrance 
+0216 7011c6a1 jam zcode_a1 ,mem_zcode_temp_param0 
+0217 20200558 branch p_zcode_entrance 
 
 p_mouse_bb_event_reconn_timeout:
 
 p_mouse_bb_event_reconn_failed:
-0432 7011c5a3 jam zcode_a3 ,mem_zcode_temp_param0 
-0433 20200759 branch p_zcode_entrance 
+0218 7011c6a3 jam zcode_a3 ,mem_zcode_temp_param0 
+0219 20200558 branch p_zcode_entrance 
 
 p_mouse_irtual_cable_unplug:
-0434 7011c5b5 jam zcode_b5 ,mem_zcode_temp_param0 
-0435 20200759 branch p_zcode_entrance 
+021a 7011c670 jam zcode_70 ,mem_zcode_temp_param0 
+021b 20200558 branch p_zcode_entrance 
 
 p_mouse_sniff_not_accept:
-0436 7011c5b1 jam zcode_b1 ,mem_zcode_temp_param0 
-0437 20200759 branch p_zcode_entrance 
+021c 7011c6b1 jam zcode_b1 ,mem_zcode_temp_param0 
+021d 20200558 branch p_zcode_entrance 
 
 p_mouse_bb_event_connected:
-0438 204002fe call p_mouse_init_sensor_reset 
-0439 204004c3 call p_mouse_null_enter_hibernate_disable 
-043a 204004ff call p_mouse_discovey_led_blink_off 
-043b 70480b00 jam 0 ,mem_mouse_send_switch_req_timer 
-043c 202042ca branch mouse_stop_discovery 
+021e 20400264 call p_mouse_store_eeprom_enable 
+021f 204001cc call p_mouse_init_sensor_reset 
+0220 58000000 setarg 0 
+0221 6001cb66 store 3 ,mem_le_switch_adv_flag 
+0222 204002b1 call p_mouse_null_enter_hibernate_disable 
+0223 204002eb call p_mouse_discovey_led_blink_off 
+0224 70480900 jam 0 ,mem_mouse_send_switch_req_timer 
+0225 202042ca branch mouse_stop_discovery 
 
 p_mouse_bb_event_disconnected:
-043d 20400451 call p_mouse_sensor_powerdown_check 
-043e 7011c5b4 jam zcode_b4 ,mem_zcode_temp_param0 
-043f 20200759 branch p_zcode_entrance 
+0226 2040022f call p_mouse_sensor_powerdown_check 
+0227 20400123 call p_mouse_store_flash_device_info 
+0228 7011c6b4 jam zcode_b4 ,mem_zcode_temp_param0 
+0229 20200558 branch p_zcode_entrance 
 
 p_mouse_enter_sniff_check:
-0440 7011c5b2 jam zcode_b2 ,mem_zcode_temp_param0 
-0441 20200759 branch p_zcode_entrance 
-
-p_mouse_24g_pairing_complete:
-0442 204002fe call p_mouse_init_sensor_reset 
-0443 7011c592 jam zcode_92 ,mem_zcode_temp_param0 
-0444 20200759 branch p_zcode_entrance 
-
-p_mouse_24g_attempt_fail:
-0445 20400451 call p_mouse_sensor_powerdown_check 
-0446 7011c5a0 jam zcode_a0 ,mem_zcode_temp_param0 
-0447 20200759 branch p_zcode_entrance 
-
-p_mouse_24g_attempt_success:
-0448 704b6601 jam 1 ,mem_mouse_24g_attempt_success_flag 
-0449 204004c3 call p_mouse_null_enter_hibernate_disable 
-044a 204002fe call p_mouse_init_sensor_reset 
-044b 20403f8d call mouse_no_data_timer_init 
-
-p_mouse_store_24g_device_2flash:
-044c 20404366 call mouse_cheak_select_24gdevice 
-044d 20200335 branch p_mouse_store_flash_device_info 
+022a 7011c6b2 jam zcode_b2 ,mem_zcode_temp_param0 
+022b 20200558 branch p_zcode_entrance 
 
 p_mouse_before_hibernate:
-044e 20400451 call p_mouse_sensor_powerdown_check 
-044f 7011c5a4 jam zcode_a4 ,mem_zcode_temp_param0 
-0450 20200759 branch p_zcode_entrance 
+022c 2040022f call p_mouse_sensor_powerdown_check 
+022d 7011c6a0 jam zcode_a0 ,mem_zcode_temp_param0 
+022e 20200558 branch p_zcode_entrance 
 
 p_mouse_sensor_powerdown_check:
-0451 6800cb00 fetch 1 ,mem_mouse_init_sensor_reset_flag 
-0452 207a0000 rtn blank 
-0453 704b0000 jam 0 ,mem_mouse_init_sensor_reset_flag 
-0454 20200312 branch p_mouse_sensor_powerdown 
+022f 6800cafe fetch 1 ,mem_mouse_init_sensor_reset_flag 
+0230 207a0000 rtn blank 
+0231 704afe00 jam 0 ,mem_mouse_init_sensor_reset_flag 
+
+p_mouse_sensor_powerdown:
+0232 204000e7 call p_mouse_init_sunt 
+0233 58000006 setarg 0x06 
+0234 20406414 call twspi_read 
+0235 1fe1fe08 or pdata ,0x08 ,pdata 
+0236 1fed7e00 lshift8 pdata ,pdata 
+0237 1fe0fe06 add pdata ,0x06 ,pdata 
+0238 20206413 branch twspi_write 
 
 p_mouse_bb_event_timer:
-0455 204004c6 call p_mouse_multi_led_blink_timer 
-0456 20400499 call p_mouse_wheel_trigger_timer 
-0457 204004b5 call p_mouse_null_enter_hibernate_timer 
-0458 2040049e call p_mouse_bt_discovery_check 
-0459 20404234 call mouse_check_discovery_timeout_timer 
-045a 20400492 call p_mouse_g24_long_sleep_param_update_timer 
-045b 20400476 call p_mouse_check_direct_timeout_timer 
-045c 20400473 call p_mouse_le_enable_att_list_timer 
-045d 2040047c call p_mouse_le_current_mult_update_timer 
-045e 20400482 call p_le_send_smp_security_request_timer 
-045f 2040048a call p_mouse_le_fast_conn_enable_timer 
-0460 2040046b call p_mouse_send_switch_req_timer 
-0461 20404231 call mouse_check_hid_handshake_timer 
-0462 2040046e call p_mouse_bt_check_sniff_req_timeout_timer 
-0463 20400465 call p_mouse_delay_discovery_timer 
-0464 2020423a branch mouse_check_no_data_timeout_timer 
-
-p_mouse_delay_discovery_timer:
-0465 6800cb71 fetch 1 ,mem_mouse_delay_discovery_count 
-0466 207a0000 rtn blank 
-0467 1fe0ffff increase -1 ,pdata 
-0468 6000cb71 store 1 ,mem_mouse_delay_discovery_count 
-0469 247a0000 nrtn blank 
-046a 202042b0 branch mouse_start_discovery 
+0239 204002fb call p_mouse_adc_read 
+023a 20400329 call p_mouse_low_voltage_led_timer 
+023b 20400249 call p_mouse_le_switch_adv_timer 
+023c 204002b4 call p_mouse_multi_led_blink_timer 
+023d 20400285 call p_mouse_wheel_trigger_timer 
+023e 204002aa call p_mouse_null_enter_hibernate_timer 
+023f 2040028a call p_mouse_bt_discovery_check 
+0240 20404234 call mouse_check_discovery_timeout_timer 
+0241 20404237 call mouse_check_direct_timeout_timer 
+0242 20400273 call p_mouse_le_enable_att_list_timer 
+0243 20400276 call p_le_send_smp_security_request_timer 
+0244 2040027e call p_mouse_le_current_mult_update_timer 
+0245 2040026b call p_mouse_send_switch_req_timer 
+0246 20404231 call mouse_check_hid_handshake_timer 
+0247 2040026e call p_mouse_bt_check_sniff_req_timeout_timer 
+0248 2020423a branch mouse_check_no_data_timeout_timer 
+
+p_mouse_le_switch_adv_timer:
+0249 6800cb66 fetch 1 ,mem_le_switch_adv_flag 
+024a 207a0000 rtn blank 
+024b da604b67 arg mem_le_switch_adv_timer ,regc 
+024c da40024e arg p_mouse_le_switch_adv ,regb 
+024d 2020336d branch timer_single_step 
+
+p_mouse_le_switch_adv:
+024e 704b6701 jam 1 ,mem_le_switch_adv_timer 
+024f 6800cb68 fetch 1 ,mem_le_switch_adv_count 
+0250 1fe0fe01 increase 1 ,pdata 
+0251 1fe17e01 and_into 1 ,pdata 
+0252 6000cb68 store 1 ,mem_le_switch_adv_count 
+0253 c0000266 beq 0 ,p_mouse_check_fast_conn_adv_start1 
+
+p_mouse_le_normal_adv:
+0254 68034b60 fetch 6 ,mem_le_normal_lap 
+0255 600344a0 store 6 ,mem_le_lap 
+
+p_check_51cmd_adv:
+0256 d8e00007 arg mouse_store_eeprom_flag ,queue 
+0257 204043ce call mouse_enable_function_flag 
+0258 204000e0 call p_le_check_adv_flag 
+0259 58000005 setarg adv_flag_bredr_not_supported | adv_flag_limited_discoverable 
+025a e0c08000 istore 1 ,contr 
+025b d8c04b10 arg mem_le_adv_swift_pair ,contr 
+025c 2040025e call p_le_adv_data_update 
+025d 20207df4 branch check_51cmd_adv 
+
+p_le_adv_data_update:
+025e d8a0437b arg mem_le_adv_data + 11 ,contw 
+025f df200013 arg 19 ,loopcnt 
+0260 20407f01 call memcpy 
+
+p_le_adv_data_update3:
+0261 204057b8 call le_modified_name_adv 
+0262 70438f00 jam 0 ,mem_le_scan_data_len 
+0263 20600000 rtn 
+
+p_mouse_store_eeprom_enable:
+0264 d8e00007 arg mouse_store_eeprom_flag ,queue 
+0265 202043ce branch mouse_enable_function_flag 
+
+p_mouse_check_fast_conn_adv_start:
+
+p_mouse_check_fast_conn_adv_start1:
+0266 70436f00 jam 0 ,mem_le_adv_data_len 
+0267 70438f00 jam 0 ,mem_le_scan_data_len 
+0268 d8e00007 arg mouse_store_eeprom_flag ,queue 
+0269 204043d2 call mouse_disable_function_flag 
+026a 20200167 branch p_mouse_fast_conn_init 
 
 p_mouse_send_switch_req_timer:
-046b da60480b arg mem_mouse_send_switch_req_timer ,regc 
-046c da40637a arg host_create_conn_resend ,regb 
-046d 2020336d branch timer_single_step 
+026b da604809 arg mem_mouse_send_switch_req_timer ,regc 
+026c da40637a arg host_create_conn_resend ,regb 
+026d 2020336d branch timer_single_step 
 
 p_mouse_bt_check_sniff_req_timeout_timer:
-046e da604b0b arg mem_mouse_bt_send_first_package_timer ,regc 
-046f da400471 arg p_mouse_bt_send_first_package ,regb 
-0470 2020336d branch timer_single_step 
+026e da604b09 arg mem_mouse_bt_send_first_package_timer ,regc 
+026f da400271 arg p_mouse_bt_send_first_package ,regb 
+0270 2020336d branch timer_single_step 
 
 p_mouse_bt_send_first_package:
-0471 704b0c01 jam 1 ,mem_mouse_bt_send_first_package_flag 
-0472 20600000 rtn 
+0271 704b0a01 jam 1 ,mem_mouse_bt_send_first_package_flag 
+0272 20600000 rtn 
 
 p_mouse_le_enable_att_list_timer:
-0473 da6046c6 arg mem_le_start_encrypt_timer ,regc 
-0474 da403d60 arg mouse_le_write_enable ,regb 
-0475 2020336d branch timer_single_step 
-
-p_mouse_check_direct_timeout_timer:
-0476 da6046ae arg mem_mouse_direct_timer ,regc 
-0477 da400479 arg p_mouse_check_direct_timeout ,regb 
-0478 20203374 branch timer_single_step_2b 
-
-p_mouse_check_direct_timeout:
-0479 6800cb30 fetch 1 ,mem_mouse_multi_led_on_poweron2s_flag 
-047a 247a0000 nrtn blank 
-047b 20204266 branch mouse_check_direct_timeout 
-
-p_mouse_le_current_mult_update_timer:
-047c da604b60 arg mem_mouse_le_current_mult_timer ,regc 
-047d da40047f arg p_mouse_le_current_mult_reinit ,regb 
-047e 2020336d branch timer_single_step 
-
-p_mouse_le_current_mult_reinit:
-047f 6800c7c7 fetch 1 ,mem_lpm_mult_init 
-0480 6000c172 store 1 ,mem_lpm_mult 
-0481 20200497 branch p_mouse_long_mult_flag_enable 
+0273 da6046c6 arg mem_le_start_encrypt_timer ,regc 
+0274 da403d60 arg mouse_le_write_enable ,regb 
+0275 2020336d branch timer_single_step 
 
 p_le_send_smp_security_request_timer:
-0482 6800cb67 fetch 1 ,mem_mouse_le_bb_connected_flag 
-0483 207a0000 rtn blank 
-0484 da604b6c arg mem_mouse_send_secutiry_request_timer ,regc 
-0485 da400487 arg p_le_pairing_sm_start_check ,regb 
-0486 2020336d branch timer_single_step 
+0276 6800cb6d fetch 1 ,mem_mouse_le_bb_connected_flag 
+0277 207a0000 rtn blank 
+0278 da604b6b arg mem_mouse_send_secutiry_request_timer ,regc 
+0279 da40027b arg p_le_pairing_sm_start_check ,regb 
+027a 2020336d branch timer_single_step 
 
 p_le_pairing_sm_start_check:
-0487 6800cb6d fetch 1 ,mem_le_send_security_request_flag 
-0488 247a0000 nrtn blank 
-0489 20205bf5 branch le_pairing_sm_start 
-
-p_mouse_le_fast_conn_enable_timer:
-048a 6800cb68 fetch 1 ,mem_mouse_fast_conn_flag 
-048b c1ff8000 rtnne 0xff 
-048c 6800cb67 fetch 1 ,mem_mouse_le_bb_connected_flag 
-048d 247a0000 nrtn blank 
-048e da604b70 arg mem_mouse_le_fast_conn_enable_timer ,regc 
-048f da400491 arg p_mouse_le_fast_conn_enable_timeout ,regb 
-0490 2020336d branch timer_single_step 
-
-p_mouse_le_fast_conn_enable_timeout:
-0491 2020056f branch p_mouse_start_discovery 
-
-p_mouse_g24_long_sleep_param_update_timer:
-0492 da604b61 arg mem_24g_long_sleep_param_update_timer ,regc 
-0493 da400495 arg p_mouse_g24_long_sleep_normal_param ,regb 
-0494 2020336d branch timer_single_step 
-
-p_mouse_g24_long_sleep_normal_param:
-0495 58249f00 setarg g24_long_sleep_step2 
-0496 6001cc27 store 3 ,mem_24g_enter_hibernate 
+027b 6800cb6c fetch 1 ,mem_le_send_security_request_flag 
+027c 247a0000 nrtn blank 
+027d 20205bf5 branch le_pairing_sm_start 
+
+p_mouse_le_current_mult_update_timer:
+027e da604b41 arg mem_mouse_le_current_mult_timer ,regc 
+027f da400281 arg p_mouse_le_current_mult_reinit ,regb 
+0280 2020336d branch timer_single_step 
+
+p_mouse_le_current_mult_reinit:
+0281 6800c7c5 fetch 1 ,mem_lpm_mult_init 
+0282 6000c172 store 1 ,mem_lpm_mult 
 
 p_mouse_long_mult_flag_enable:
-0497 704b5f01 jam 1 ,mem_mouse_long_mult_flag 
-0498 20600000 rtn 
+0283 704b4001 jam 1 ,mem_mouse_long_mult_flag 
+0284 20600000 rtn 
 
 p_mouse_wheel_trigger_timer:
-0499 da604809 arg mem_mouse_wheel_trigger_timer ,regc 
-049a da40049c arg p_mouse_wheel_trigger_disable ,regb 
-049b 2020336d branch timer_single_step 
+0285 da604807 arg mem_mouse_wheel_trigger_timer ,regc 
+0286 da400288 arg p_mouse_wheel_trigger_disable ,regb 
+0287 2020336d branch timer_single_step 
 
 p_mouse_wheel_trigger_disable:
-049c 70480800 jam 0 ,mem_mouse_wheel_trigger 
-049d 20600000 rtn 
+0288 70480600 jam 0 ,mem_mouse_wheel_trigger 
+0289 20600000 rtn 
 
 p_mouse_bt_discovery_check:
+028a 6800c720 fetch 1 ,mem_device_flag 
+028b c1010000 rtneq mode_24g_device 
 
-p_mouse_bt_discovery_by_button:
-049e 20404083 call mouse_check_key_gpio 
-049f c00384a3 beq mouse_lmr_button ,p_mouse_bt_discovery_commbination_key_down 
+p_mouse_bt_discovery_commbination_key:
+028c 20400360 call p_mouse_check_key_gpio 
+028d c0038296 beq mouse_lmr_button ,p_mouse_bt_discovery_commbination_key_down 
 
 p_mouse_bt_discovery_commbination_key_up:
-04a0 204043a9 call mouse_bt_discovery_commbination_key_up 
-04a1 d8e00009 arg mouse_bt_discovery_button_long_down_flag ,queue 
-04a2 202043d2 branch mouse_disable_function_flag 
+028e 6800c685 fetch 1 ,mem_ui_button_timeout 
+028f 6000c6da store 1 ,mem_combination_ui_button_count 
+0290 6800c6db fetch 1 ,mem_bt_discovey_button_statue 
+0291 c1008000 rtneq dpi_button_state_up 
+0292 7046db01 jam dpi_button_state_up ,mem_bt_discovey_button_statue 
+
+p_mouse_bt_discovery_button_up_init:
+0293 d8e00009 arg mouse_bt_discovery_button_long_down_flag ,queue 
+0294 204043d2 call mouse_disable_function_flag 
+0295 202043ca branch mouse_bt_discovery_button_down_disable 
 
 p_mouse_bt_discovery_commbination_key_down:
-04a3 7047a028 jam 40 ,mem_mouse_null_enter_hibernate_timer 
-04a4 204004a6 call p_mouse_bt_discovery_timer 
-04a5 202043b0 branch mouse_bt_discovery_commbination_key_down + 1 
+0296 7047a028 jam 40 ,mem_mouse_null_enter_hibernate_timer 
+0297 20400299 call p_mouse_bt_discovery_timer 
+0298 202043b0 branch mouse_bt_discovery_commbination_key_down + 1 
 
 p_mouse_bt_discovery_timer:
-04a6 da6046da arg mem_combination_ui_button_count ,regc 
-04a7 da4004a9 arg p_mouse_long_button_bt_discovery ,regb 
-04a8 2020336d branch timer_single_step 
+0299 da6046da arg mem_combination_ui_button_count ,regc 
+029a da40029c arg p_mouse_long_button_bt_discovery ,regb 
+029b 2020336d branch timer_single_step 
 
 p_mouse_long_button_bt_discovery:
-04a9 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
-04aa c3848000 rtnbit1 mouse_bt_discovery_button_long_down_flag 
-04ab 704b6e00 jam 0 ,mem_mouse_long_button_select_device 
-04ac 68014682 fetch 2 ,mem_ui_state_map 
-04ad 2feffe0b isolate1 ui_state_ble_adv ,pdata 
-04ae 2040c2d4 call mouse_stop_le_adv ,true 
-04af 68014682 fetch 2 ,mem_ui_state_map 
-04b0 2feffe07 isolate1 ui_state_bt_reconnect ,pdata 
-04b1 2040c392 call mouse_cancel_reconnect ,true 
-04b2 d8e00009 arg mouse_bt_discovery_button_long_down_flag ,queue 
-04b3 204043ce call mouse_enable_function_flag 
-04b4 202043b8 branch mouse_long_button_bt_discovry 
+029c 6800cb66 fetch 1 ,mem_le_switch_adv_flag 
+029d 243a02a7 nbranch p_mouse_fast_conn_adv_switch_timer_reinit ,blank 
+029e 68014682 fetch 2 ,mem_ui_state_map 
+029f 2feffe0b isolate1 ui_state_ble_adv ,pdata 
+02a0 2040c2d4 call mouse_stop_le_adv ,true 
+02a1 68014682 fetch 2 ,mem_ui_state_map 
+02a2 2feffe07 isolate1 ui_state_bt_reconnect ,pdata 
+02a3 2040c392 call mouse_cancel_reconnect ,true 
+02a4 d8e00009 arg mouse_bt_discovery_button_long_down_flag ,queue 
+02a5 204043ce call mouse_enable_function_flag 
+02a6 202043b8 branch mouse_long_button_bt_discovry 
+
+p_mouse_fast_conn_adv_switch_timer_reinit:
+02a7 68014687 fetch 2 ,mem_discovery_timeout 
+02a8 600146ac store 2 ,mem_mouse_discovery_timer 
+02a9 20600000 rtn 
 
 p_mouse_null_enter_hibernate_timer:
-04b5 6800cb30 fetch 1 ,mem_mouse_multi_led_on_poweron2s_flag 
-04b6 247a0000 nrtn blank 
-04b7 6800c79f fetch 1 ,mem_mouse_null_enter_hibernate_flag 
-04b8 207a0000 rtn blank 
-04b9 6800c7a0 fetch 1 ,mem_mouse_null_enter_hibernate_timer 
-04ba 203a04be branch p_mouse_null_enter_hibernate ,blank 
-04bb 1fe0ffff increase -1 ,pdata 
-04bc 6000c7a0 store 1 ,mem_mouse_null_enter_hibernate_timer 
-04bd 20600000 rtn 
+02aa 6800c79f fetch 1 ,mem_mouse_null_enter_hibernate_flag 
+02ab 207a0000 rtn blank 
+02ac da6047a0 arg mem_mouse_null_enter_hibernate_timer ,regc 
+02ad da4002af arg p_mouse_null_enter_hibernate ,regb 
+02ae 2020336d branch timer_single_step 
 
 p_mouse_null_enter_hibernate:
-04be 70479f00 jam 0 ,mem_mouse_null_enter_hibernate_flag 
-04bf 2020340a branch app_enter_hibernate 
-
-p_mouse_null_enter_hibernate_enable:
-04c0 70479f01 jam 1 ,mem_mouse_null_enter_hibernate_flag 
-04c1 7047a028 jam 40 ,mem_mouse_null_enter_hibernate_timer 
-04c2 20600000 rtn 
+02af 70479f00 jam 0 ,mem_mouse_null_enter_hibernate_flag 
+02b0 2020340a branch app_enter_hibernate 
 
 p_mouse_null_enter_hibernate_disable:
-04c3 70479f00 jam 0 ,mem_mouse_null_enter_hibernate_flag 
-04c4 7047a000 jam 0 ,mem_mouse_null_enter_hibernate_timer 
-04c5 20600000 rtn 
+02b1 70479f00 jam 0 ,mem_mouse_null_enter_hibernate_flag 
+02b2 7047a000 jam 0 ,mem_mouse_null_enter_hibernate_timer 
+02b3 20600000 rtn 
 
 p_mouse_multi_led_blink_timer:
-04c6 6800cb26 fetch 1 ,mem_mouse_multi_led_blink_enable 
-04c7 207a0000 rtn blank 
-04c8 6800cb29 fetch 1 ,mem_mouse_multi_led_type 
-04c9 c00004cc beq multi_led_on ,p_mouse_multi_led_type_on 
-04ca c00084d6 beq multi_led_blink ,p_mouse_multi_led_type_blink 
-04cb 20600000 rtn 
+02b4 6800cb23 fetch 1 ,mem_mouse_multi_led_blink_enable 
+02b5 207a0000 rtn blank 
+02b6 6800cb26 fetch 1 ,mem_mouse_multi_led_type 
+02b7 c00082d2 beq multi_led_blink ,p_mouse_multi_led_type_blink 
 
 p_mouse_multi_led_type_on:
-04cc 204004e0 call p_mouse_multi_led_on 
-04cd 6800cb2e fetch 1 ,mem_mouse_multi_led_on_timer 
-04ce 1fe0fe01 increase 1 ,pdata 
-04cf 6000cb2e store 1 ,mem_mouse_multi_led_on_timer 
-04d0 6808cb2a fetcht 1 ,mem_mouse_multi_led_on_timer_init 
-04d1 98467c00 isub temp ,null 
-04d2 204284d4 call p_mouse_multi_led_off_poweron2s ,zero 
-04d3 20600000 rtn 
+02b8 204002df call p_mouse_multi_led_on 
+02b9 6800cb27 fetch 1 ,mem_mouse_multi_led_on_timer 
+02ba 1fe0fe01 increase 1 ,pdata 
+02bb 6000cb27 store 1 ,mem_mouse_multi_led_on_timer 
+02bc 6808cb28 fetcht 1 ,mem_mouse_multi_led_on_timer_init 
+02bd 98467c00 isub temp ,null 
+02be 204282c0 call p_mouse_multi_led_off_poweron2s ,zero 
+02bf 20600000 rtn 
 
 p_mouse_multi_led_off_poweron2s:
-04d4 704b3000 jam 0 ,mem_mouse_multi_led_on_poweron2s_flag 
-04d5 202004e7 branch p_mouse_multi_led_off 
+02c0 704b2d00 jam 0 ,mem_mouse_multi_led_on_poweron2s_flag 
+02c1 204002f1 call p_mouse_multi_led_off 
+02c2 6800c720 fetch 1 ,mem_device_flag 
+02c3 c1808000 rtnne mode_bt_device1 
+02c4 68014682 fetch 2 ,mem_ui_state_map 
+02c5 c3848000 rtnbit1 ui_state_ble_connected 
+02c6 c3800000 rtnbit1 ui_state_bt_connected 
+02c7 6800cb73 fetch 1 ,mem_mouse_fast_conn_flag 
+02c8 c0ff82d0 bne 0xff ,p_mouse_bt_reconn_multi_led_blink 
+
+p_mouse_discovery_multi_led_blink:
+02c9 704b2901 jam 1 ,mem_mouse_multi_led_blink_timer_init 
+
+p_mouse_discovery_multi_led_blink1:
+02ca 704b2c00 jam 0 ,mem_mouse_multi_led_blink_count_limited 
+02cb 704b2b01 jam 1 ,mem_mouse_multi_led_blink_count 
+
+p_mouse_multi_led_blink_enable:
+02cc 704b2a05 jam 5 ,mem_mouse_multi_led_blink_timer 
+02cd 704b2301 jam on ,mem_mouse_multi_led_blink_enable 
+02ce 704b2601 jam multi_led_blink ,mem_mouse_multi_led_type 
+02cf 20600000 rtn 
+
+p_mouse_bt_reconn_multi_led_blink:
+02d0 704b2905 jam 5 ,mem_mouse_multi_led_blink_timer_init 
+02d1 202002ca branch p_mouse_discovery_multi_led_blink1 
 
 p_mouse_multi_led_type_blink:
-04d6 6800cb2c fetch 1 ,mem_mouse_multi_led_blink_timer 
-04d7 1fe0ffff increase -1 ,pdata 
-04d8 6000cb2c store 1 ,mem_mouse_multi_led_blink_timer 
-04d9 247a0000 nrtn blank 
-04da 6800cb2b fetch 1 ,mem_mouse_multi_led_blink_timer_init 
-04db 6000cb2c store 1 ,mem_mouse_multi_led_blink_timer 
+02d2 da604b2a arg mem_mouse_multi_led_blink_timer ,regc 
+02d3 da4002d5 arg p_mouse_multi_led_type_blink_timeout ,regb 
+02d4 2020336d branch timer_single_step 
+
+p_mouse_multi_led_type_blink_timeout:
+02d5 6800cb29 fetch 1 ,mem_mouse_multi_led_blink_timer_init 
+02d6 6000cb2a store 1 ,mem_mouse_multi_led_blink_timer 
+02d7 6800cb2c fetch 1 ,mem_mouse_multi_led_blink_count_limited 
+02d8 203a02dd branch p_mouse_multi_led_blink_count_no_limited ,blank 
+02d9 6800cb2b fetch 1 ,mem_mouse_multi_led_blink_count 
+02da 203a02ef branch p_mouse_multi_led_blink_off ,blank 
+02db 1fe0ffff increase -1 ,pdata 
+02dc 6000cb2b store 1 ,mem_mouse_multi_led_blink_count 
 
 p_mouse_multi_led_blink_count_no_limited:
-04dc 6800cb28 fetch 1 ,mem_mouse_multi_led_state 
-04dd c00084e7 beq on ,p_mouse_multi_led_off 
-04de c00004e0 beq off ,p_mouse_multi_led_on 
-04df 20600000 rtn 
+02dd 6800cb25 fetch 1 ,mem_mouse_multi_led_state 
+02de c00082f1 beq on ,p_mouse_multi_led_off 
 
 p_mouse_multi_led_on:
-04e0 704b2801 jam on ,mem_mouse_multi_led_state 
+02df 704b2501 jam on ,mem_mouse_multi_led_state 
+02e0 6800c720 fetch 1 ,mem_device_flag 
+02e1 c00082e7 beq mode_bt_device1 ,p_mouse_multi_down_led_on 
+
+p_mouse_multi_up_led_on:
+02e2 6808cb24 fetcht 1 ,mem_mouse_multi_led_gpio 
+02e3 79200407 set1 gpio_active_bit ,temp 
+02e4 2040680e call gpio_config_output 
+02e5 6808cb24 fetcht 1 ,mem_mouse_multi_led_gpio 
+02e6 20206825 branch gpio_out_inactive 
 
 p_mouse_multi_down_led_on:
-04e1 6808cb27 fetcht 1 ,mem_mouse_multi_led_gpio 
-04e2 2040680e call gpio_config_output 
-04e3 6808cb27 fetcht 1 ,mem_mouse_multi_led_gpio 
-04e4 20206829 branch gpio_out_active 
+02e7 6808cb24 fetcht 1 ,mem_mouse_multi_led_gpio 
+02e8 2040680e call gpio_config_output 
+02e9 6808cb24 fetcht 1 ,mem_mouse_multi_led_gpio 
+02ea 20206829 branch gpio_out_active 
+
+p_mouse_discovey_led_blink_off:
+02eb 6800cb27 fetch 1 ,mem_mouse_multi_led_on_timer 
+02ec 247a0000 nrtn blank 
+02ed 6800cb2d fetch 1 ,mem_mouse_multi_led_on_poweron2s_flag 
+02ee 247a0000 nrtn blank 
 
 p_mouse_multi_led_blink_off:
-04e5 58000000 setarg 0 
-04e6 6001cb2c store 3 ,mem_mouse_multi_led_blink_timer 
+02ef 58000000 setarg 0 
+02f0 6001cb2a store 3 ,mem_mouse_multi_led_blink_timer 
 
 p_mouse_multi_led_off:
-04e7 6800cb2d fetch 1 ,mem_mouse_multi_led_blink_count 
-04e8 243a04eb nbranch p_mouse_multi_led_off_wait_blink_over ,blank 
-04e9 704b2600 jam 0 ,mem_mouse_multi_led_blink_enable 
-04ea 704b2900 jam 0 ,mem_mouse_multi_led_type 
+02f1 6800cb2b fetch 1 ,mem_mouse_multi_led_blink_count 
+02f2 243a02f5 nbranch p_mouse_multi_led_off_wait_blink_over ,blank 
+02f3 704b2300 jam 0 ,mem_mouse_multi_led_blink_enable 
+02f4 704b2600 jam 0 ,mem_mouse_multi_led_type 
 
 p_mouse_multi_led_off_wait_blink_over:
-04eb 704b2e00 jam 0 ,mem_mouse_multi_led_on_timer 
-04ec 704b2800 jam off ,mem_mouse_multi_led_state 
+02f5 704b2700 jam 0 ,mem_mouse_multi_led_on_timer 
+02f6 704b2500 jam off ,mem_mouse_multi_led_state 
 
-p_mouse_bt_led_suspend:
-04ed 6808cb27 fetcht 1 ,mem_mouse_multi_led_gpio 
-04ee 793f8407 set0 gpio_active_bit ,temp 
-04ef 20206806 branch gpio_set_high_impedance 
-
-p_mouse_mode_bt_device1_multi_led_on:
-
-p_mouse_mode_24g_device_multi_led_on:
-04f0 704b3001 jam 1 ,mem_mouse_multi_led_on_poweron2s_flag 
-04f1 704b2601 jam on ,mem_mouse_multi_led_blink_enable 
-04f2 704b2900 jam multi_led_on ,mem_mouse_multi_led_type 
-04f3 704b2e00 jam 0 ,mem_mouse_multi_led_on_timer 
-04f4 20600000 rtn 
-
-p_mouse_discovery_multi_led_blink:
-04f5 6800cff0 fetch 1 ,0x4ff0 
-04f6 1fe0fe01 pincrease 1 
-04f7 6000cff0 store 1 ,0x4ff0 
-04f8 704b3000 jam 0 ,mem_mouse_multi_led_on_poweron2s_flag 
-04f9 704b2b03 jam 3 ,mem_mouse_multi_led_blink_timer_init 
-04fa 704b2d01 jam 1 ,mem_mouse_multi_led_blink_count 
-
-p_mouse_multi_led_blink_enable:
-04fb 704b2c05 jam 5 ,mem_mouse_multi_led_blink_timer 
-04fc 704b2601 jam on ,mem_mouse_multi_led_blink_enable 
-04fd 704b2901 jam multi_led_blink ,mem_mouse_multi_led_type 
-04fe 20600000 rtn 
-
-p_mouse_discovey_led_blink_off:
-04ff 6800cff1 fetch 1 ,0x4ff1 
-0500 1fe0fe01 pincrease 1 
-0501 6000cff1 store 1 ,0x4ff1 
-0502 6800cb2e fetch 1 ,mem_mouse_multi_led_on_timer 
-0503 247a0000 nrtn blank 
-0504 6800cb30 fetch 1 ,mem_mouse_multi_led_on_poweron2s_flag 
-0505 247a0000 nrtn blank 
-0506 202004e5 branch p_mouse_multi_led_blink_off 
+p_mouse_multi_led_gpio_set_float:
+02f7 6808cb24 fetcht 1 ,mem_mouse_multi_led_gpio 
+02f8 2040680e call gpio_config_output 
+02f9 6808cb24 fetcht 1 ,mem_mouse_multi_led_gpio 
+02fa 20206825 branch gpio_out_inactive 
+
+p_mouse_adc_read:
+02fb 6800c6ce fetch 1 ,mem_adc_read_timer 
+02fc 1fe0fe01 increase 1 ,pdata 
+02fd 6000c6ce store 1 ,mem_adc_read_timer 
+02fe 1fe67c0a sub pdata ,10 ,null 
+02ff 20610000 rtn positive 
+0300 204068a8 call adc_init_data 
+0301 7046ce00 jam 0 ,mem_adc_read_timer 
+0302 20400311 call p_adc_set_mode 
+0303 20406908 call vdd_calculate_by_mode 
+0304 6001470f store 2 ,mem_mouse_vdd_now_vol 
+0305 da204709 arg mem_mouse_vdd_calculate_set ,rega 
+0306 2040031c call p_adc_bat_percent_lowpower_out 
+0307 6800c231 fetch 1 ,mem_adc_power_flag 
+0308 c280b40a bbit1 1 ,app_enter_hibernate 
+0309 c300030c bbit0 0 ,p_mouse_adc_no_low_voltage 
+030a 704afd01 jam 1 ,mem_mouse_adc_last_low_voltage_flag 
+030b 202043e7 branch mouse_adc_low_voltage 
+
+p_mouse_adc_no_low_voltage:
+030c 204043e9 call mouse_adc_no_low_voltage 
+030d 6800cafd fetch 1 ,mem_mouse_adc_last_low_voltage_flag 
+030e 207a0000 rtn blank 
+030f 704afd00 jam 0 ,mem_mouse_adc_last_low_voltage_flag 
+0310 202002f1 branch p_mouse_multi_led_off 
+
+p_adc_set_mode:
+0311 6800c22d fetch 1 ,mem_adc_config_flag 
+0312 c0010314 beq adc_config_gpio ,p_adc_check_gpio 
+0313 202068ec branch adc_set_mode + 1 
+
+p_adc_check_gpio:
+0314 68108078 hfetch 1 ,core_gpio_pu0 
+0315 793ffe05 set0 5 ,pdata 
+0316 60108078 hstore 1 ,core_gpio_pu0 
+0317 204068f4 call adc_check_gpio 
+0318 68108078 hfetch 1 ,core_gpio_pu0 
+0319 79207e05 set1 5 ,pdata 
+031a 60108078 hstore 1 ,core_gpio_pu0 
+031b 20600000 rtn 
+
+p_adc_bat_percent_lowpower_out:
+031c ea240000 ifetch 8 ,rega 
+031d 60040a9a store 8 ,mem_pdatatemp 
+031e 68090a9c fetcht 2 ,mem_pdatatemp + 2 
+031f 68010aa0 fetch 2 ,mem_pdatatemp + 6 
+0320 98467c00 isub temp ,null 
+0321 24216944 nbranch adc_set_no_power_flag ,positive 
+0322 68090a9e fetcht 2 ,mem_pdatatemp + 4 
+0323 98467c00 isub temp ,null 
+0324 24216940 nbranch adc_set_low_power_flag ,positive 
+
+p_adc_clear_low_power_flag:
+0325 6800c231 fetch 1 ,mem_adc_power_flag 
+0326 793ffe00 set0 0 ,pdata 
+0327 6000c231 store 1 ,mem_adc_power_flag 
+0328 20600000 rtn 
+
+p_mouse_low_voltage_led_timer:
+0329 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+032a c4020000 rtnbit0 mouse_low_voltage_flag 
+032b 68014682 fetch 2 ,mem_ui_state_map 
+032c c3858000 rtnbit1 ui_state_ble_adv 
+032d c3830000 rtnbit1 ui_state_bt_discovery 
+032e 68014b2b fetch 2 ,mem_mouse_multi_led_blink_count 
+032f 247a0000 nrtn blank 
+0330 6800c6cf fetch 1 ,mem_adc_low_volatage_led_timer_count 
+0331 1fe0fe01 pincrease 1 
+0332 6000c6cf store 1 ,mem_adc_low_volatage_led_timer_count 
+0333 1fe67c1e sub pdata ,30 ,null 
+0334 24410338 ncall p_mouse_adc_low_volatage_led_timer_count_clean ,positive 
+0335 c00182df beq 3 ,p_mouse_multi_led_on 
+0336 c00302f1 beq 6 ,p_mouse_multi_led_off 
+0337 20600000 rtn 
+
+p_mouse_adc_low_volatage_led_timer_count_clean:
+0338 7046cf01 jam 1 ,mem_adc_low_volatage_led_timer_count 
+0339 202002f1 branch p_mouse_multi_led_off 
 
 p_mouse_seting_dpi:
 
 p_mouse_seting_sensor_type:
-0507 6800c6e0 fetch 1 ,mem_config_sensor_type 
-0508 c001051d beq ka8 ,p_mouse_seting_ka8_dpi 
-0509 c0030513 beq p3065_xy ,p_mouse_seting_3065xy_dpi 
-
-p_mouse_seting_3205_dpi:
-050a 6800c77a fetch 1 ,mem_mouse_dpi 
-050b 205a0519 call p_mouse_3065xy_dpi_recount ,blank 
-050c 6800c77a fetch 1 ,mem_mouse_dpi 
-050d c0008510 beq mouse_dpi_level2 ,p_mouse_3205_set_cpi1 
-050e c001bd8c beq mouse_dpi_level4 ,mouse_set_cpi3 
-050f 20203d88 branch mouse_set_cpi2 
-
-p_mouse_3205_set_cpi1:
-0510 6800c77f fetch 1 ,mem_320x_dpi_1 
-0511 1fe0ffff increase -1 ,pdata 
-0512 20203dbe branch mouse_p3205_dpi 
+033a 6800c6e0 fetch 1 ,mem_config_sensor_type 
+033b c001034c beq ka8 ,p_mouse_seting_ka8_dpi 
+033c 2020033f branch p_mouse_seting_3065xy_dpi 
+
+p_mouse_3205_dpi_recount:
+033d 70477a02 jam mouse_dpi_level3 ,mem_mouse_dpi 
+033e 20600000 rtn 
 
 p_mouse_seting_3065xy_dpi:
-0513 6800c77a fetch 1 ,mem_mouse_dpi 
-0514 205a0519 call p_mouse_3065xy_dpi_recount ,blank 
-0515 6800c77a fetch 1 ,mem_mouse_dpi 
-0516 c000851b beq mouse_dpi_level2 ,p_mouse_8009_set_cpi1 
-0517 c001bd8c beq mouse_dpi_level4 ,mouse_set_cpi3 
-0518 20203d88 branch mouse_set_cpi2 
-
-p_mouse_3065xy_dpi_recount:
-0519 70477a01 jam mouse_dpi_level2 ,mem_mouse_dpi 
-051a 20600000 rtn 
-
-p_mouse_8009_set_cpi1:
-051b 7046b500 jam 0 ,mem_mouse_cpi_count 
-051c 20203dc1 branch mouse_p3205_dpi + 3 
+033f 6800c77a fetch 1 ,mem_mouse_dpi 
+0340 1fe67c01 sub pdata ,mouse_dpi_level2 ,null 
+0341 2042833d call p_mouse_3205_dpi_recount ,zero 
+0342 6800c77a fetch 1 ,mem_mouse_dpi 
+0343 c0000348 beq mouse_dpi_level1 ,p_mouse_3065xy_set_cpi1 
+0344 c001834a beq mouse_dpi_level4 ,p_mouse_3065xy_set_cpi4 
+
+p_mouse_3065xy_set_cpi3:
+0345 6800cb36 fetch 1 ,mem_3065xy_dpi_3 
+
+p_mouse_dpi_store:
+0346 6000c6b5 store 1 ,mem_mouse_cpi_count 
+0347 20203dc1 branch mouse_p3205_dpi + 3 
+
+p_mouse_3065xy_set_cpi1:
+0348 6800cb34 fetch 1 ,mem_3065xy_dpi_1 
+0349 20200346 branch p_mouse_dpi_store 
+
+p_mouse_3065xy_set_cpi4:
+034a 6800cb37 fetch 1 ,mem_3065xy_dpi_4 
+034b 20200346 branch p_mouse_dpi_store 
 
 p_mouse_seting_ka8_dpi:
-051d 6800c77a fetch 1 ,mem_mouse_dpi 
-051e 205a0519 call p_mouse_3065xy_dpi_recount ,blank 
-051f 6800c77a fetch 1 ,mem_mouse_dpi 
-0520 c000bd88 beq mouse_dpi_level2 ,mouse_set_cpi2 
-0521 c0018523 beq mouse_dpi_level4 ,p_mouse_ka8_set_cpi3 
-0522 20203d8e branch mouse_set_cpi4 
+034c 6800c77a fetch 1 ,mem_mouse_dpi 
+034d 205a033d call p_mouse_3205_dpi_recount ,blank 
+034e 6800c77a fetch 1 ,mem_mouse_dpi 
+034f c000bd88 beq mouse_dpi_level2 ,mouse_set_cpi2 
+0350 c0018352 beq mouse_dpi_level4 ,p_mouse_ka8_set_cpi3 
+0351 20203d8e branch mouse_set_cpi4 
 
 p_mouse_ka8_set_cpi3:
-0523 58000005 setarg 5 
-0524 20203dbe branch mouse_p3205_dpi 
+0352 58000005 setarg 5 
+0353 20203dbe branch mouse_p3205_dpi 
 
 p_mouse_motion:
-0525 78547c00 disable user 
-0526 58000000 setarg 0 
-0527 6003469b store 6 ,mem_mouse_x 
-0528 20400563 call p_mouse_cheak_sensor_data 
-0529 20404079 call mouse_zwheel 
-052a 2040407e call mouse_t_zwheel 
-052b 20400530 call p_mouse_key 
-052c 2434052e nbranch p_mouse_motion_nodata ,user 
-052d 20203fa0 branch mouse_motion + 9 
-
-p_mouse_motion_nodata:
-052e 704b3800 jam 0 ,mem_low_power_check_count 
-052f 20600000 rtn 
+0354 78547c00 disable user 
+0355 58000000 setarg 0 
+0356 6003469b store 6 ,mem_mouse_x 
+0357 2040037e call p_mouse_cheak_sensor_data 
+0358 20404079 call mouse_zwheel 
+0359 2040407e call mouse_t_zwheel 
+035a 2040035e call p_mouse_key 
+035b 24340585 nbranch p_drawing_optima_init ,user 
+035c 20400579 call p_drawing_optima 
+035d 20203fa0 branch mouse_motion + 9 
 
 p_mouse_key:
-0530 20400532 call p_mouse_check_key_gpio 
-0531 2020409a branch mouse_key + 1 
+035e 20400360 call p_mouse_check_key_gpio 
+035f 2020409a branch mouse_key + 1 
 
 p_mouse_check_key_gpio:
-0532 da200000 arg 0 ,rega 
-0533 20400539 call p_mouse_check_lkey_gpio 
-0534 2040053e call p_mouse_check_rkey_gpio 
-0535 20400543 call p_mouse_check_mkey_gpio 
-0536 2020408e branch mouse_check_key_gpio_output 
-
-p_mouse_check_skey_gpio:
-0537 20400549 call p_mouse_check_bk_key_gpio 
-0538 2020054f branch p_mouse_check_fw_key_gpio 
+0360 da200000 arg 0 ,rega 
+0361 20400363 call p_mouse_check_lkey_gpio 
+0362 2020408e branch mouse_check_key_gpio_output 
 
 p_mouse_check_lkey_gpio:
-0539 6808c6e2 fetcht 1 ,mem_lbutton_gpio 
-053a 2040055e call p_gpio_set_input_pu 
-053b 6808c6e2 fetcht 1 ,mem_lbutton_gpio 
-053c 2040681d call gpio_get_bit 
-053d 7920a200 setflag true ,0 ,rega 
+0363 6808c6e2 fetcht 1 ,mem_lbutton_gpio 
+0364 20400373 call p_gpio_set_input_pu 
+0365 6808c6e2 fetcht 1 ,mem_lbutton_gpio 
+0366 2040681d call gpio_get_bit 
+0367 7920a200 setflag true ,0 ,rega 
 
 p_mouse_check_rkey_gpio:
-053e 6808c6e3 fetcht 1 ,mem_rbutton_gpio 
-053f 2040055e call p_gpio_set_input_pu 
-0540 6808c6e3 fetcht 1 ,mem_rbutton_gpio 
-0541 2040681d call gpio_get_bit 
-0542 7920a201 setflag true ,1 ,rega 
+0368 6808c6e3 fetcht 1 ,mem_rbutton_gpio 
+0369 20400373 call p_gpio_set_input_pu 
+036a 6808c6e3 fetcht 1 ,mem_rbutton_gpio 
+036b 2040681d call gpio_get_bit 
+036c 7920a201 setflag true ,1 ,rega 
 
 p_mouse_check_mkey_gpio:
-0543 6808c6e4 fetcht 1 ,mem_mbutton_gpio 
-0544 2040055e call p_gpio_set_input_pu 
-0545 6808c6e4 fetcht 1 ,mem_mbutton_gpio 
-0546 2040681d call gpio_get_bit 
-0547 7920a202 setflag true ,2 ,rega 
-0548 20600000 rtn 
-
-p_mouse_check_bk_key_gpio:
-0549 6808c6e5 fetcht 1 ,mem_bk_button_gpio 
-054a 20400555 call p_gpio_set_input_pd 
-054b 6808c6e5 fetcht 1 ,mem_bk_button_gpio 
-054c 2040681d call gpio_get_bit 
-054d 7d20a203 nsetflag true ,3 ,rega 
-054e 2020055e branch p_gpio_set_input_pu 
-
-p_mouse_check_fw_key_gpio:
-054f 6808c6e6 fetcht 1 ,mem_fw_button_gpio 
-0550 20400555 call p_gpio_set_input_pd 
-0551 6808c6e6 fetcht 1 ,mem_fw_button_gpio 
-0552 2040681d call gpio_get_bit 
-0553 7d20a204 nsetflag true ,4 ,rega 
-0554 2020055e branch p_gpio_set_input_pu 
+036d 6808c6e4 fetcht 1 ,mem_mbutton_gpio 
+036e 20400373 call p_gpio_set_input_pu 
+036f 6808c6e4 fetcht 1 ,mem_mbutton_gpio 
+0370 2040681d call gpio_get_bit 
+0371 7920a202 setflag true ,2 ,rega 
+0372 20600000 rtn 
+
+p_gpio_set_input_pu:
+0373 79200407 set1 gpio_active_bit ,temp 
+0374 d8a08078 arg core_gpio_pu0 ,contw 
+0375 20406830 call gpio_set_bit 
+0376 793f8407 set0 gpio_active_bit ,temp 
+0377 2020037c branch p_gpio_set_input_pd4 
 
 p_gpio_set_input_pd:
-0555 793f8407 set0 gpio_active_bit ,temp 
-0556 d8a08078 arg core_gpio_pu0 ,contw 
-0557 20406830 call gpio_set_bit 
-0558 79200407 set1 gpio_active_bit ,temp 
+0378 793f8407 set0 gpio_active_bit ,temp 
+0379 d8a08078 arg core_gpio_pu0 ,contw 
+037a 20406830 call gpio_set_bit 
+037b 79200407 set1 gpio_active_bit ,temp 
 
 p_gpio_set_input_pd4:
-0559 d8a0807c arg core_gpio_pd0 ,contw 
-055a 20406830 call gpio_set_bit 
-055b 793f8407 set0 gpio_active_bit ,temp 
-055c d8a08070 arg core_gpio_oe0 ,contw 
-055d 20206830 branch gpio_set_bit 
-
-p_gpio_set_input_pu:
-055e 79200407 set1 gpio_active_bit ,temp 
-
-p_gpio_set_input_pu1:
-055f d8a08078 arg core_gpio_pu0 ,contw 
-0560 20406830 call gpio_set_bit 
-0561 793f8407 set0 gpio_active_bit ,temp 
-0562 20200559 branch p_gpio_set_input_pd4 
+037c d8a0807c arg core_gpio_pd0 ,contw 
+037d 2020680a branch gpio_set_high_impedance + 4 
 
 p_mouse_cheak_sensor_data:
-0563 6800c6e0 fetch 1 ,mem_config_sensor_type 
 
 p_mouse_p32xx_sensor_motion:
-0564 20403fc0 call mouse_clear_sensor_data 
-0565 78547c00 disable user 
-0566 20203fe7 branch mouse_p32xx_sensor_motion_2 
+037e 20403fc0 call mouse_clear_sensor_data 
+037f 78547c00 disable user 
+0380 20203fe7 branch mouse_p32xx_sensor_motion_2 
 
 p_mouse_bb_event_discovery_btn:
-0567 204004c3 call p_mouse_null_enter_hibernate_disable 
-0568 280ffe26 isolate1 mark_24g ,mark 
-0569 204081b0 call p_g24_check_51cmd_stop_24g ,true 
-056a 704b7103 jam 3 ,mem_mouse_delay_discovery_count 
-056b 20404386 call mouse_disconnect 
-056c 202041c1 branch mouse_le_clean_connect_flag 
-
-p_le_addr_random_config:
-056d 7011c581 jam zcode_81 ,mem_zcode_temp_param0 
-056e 20200759 branch p_zcode_entrance 
+0381 204002c0 call p_mouse_multi_led_off_poweron2s 
+0382 204002b1 call p_mouse_null_enter_hibernate_disable 
+0383 2020426d branch mouse_bb_event_discovery_btn + 1 
 
 p_mouse_start_discovery:
-056f 7011c550 jam zcode_50 ,mem_zcode_temp_param0 
-0570 20200759 branch p_zcode_entrance 
-
-p_mouse_load_random_addr_increase_count:
-0571 20400377 call p_flash_release_deep_power_down 
-0572 d8400002 arg 2 ,temp 
-0573 da2047c4 arg mem_random_addr_increase_count ,rega 
-0574 da40005f arg mouse_random_addr_count_eeprom_offset ,regb 
-0575 6801c700 fetch 3 ,mem_flash_base 
-0576 9a40fe00 iadd regb ,pdata 
-0577 20206562 branch spid_read_flash 
-
-p_le_adv_data_update:
-0578 d8a0437b arg mem_le_adv_data + 11 ,contw 
-0579 df200013 arg 19 ,loopcnt 
-057a 20407f01 call memcpy 
-057b 202057b8 branch le_modified_name_adv 
+0384 7011c630 jam zcode_30 ,mem_zcode_temp_param0 
+0385 20200558 branch p_zcode_entrance 
 
 p_mouse_stop_discovery:
-057c 58000000 setarg 0 
-057d 600146ac store 2 ,mem_mouse_discovery_timer 
-057e 20400307 call p_mouse_sensor_poweron 
-057f 6800c092 fetch 1 ,mem_device_option 
-0580 2feffe01 isolate1 mode_4_mouse ,pdata 
-0581 2040c2d4 call mouse_stop_le_adv ,true 
-0582 6800c092 fetch 1 ,mem_device_option 
-0583 2feffe00 isolate1 mode_3_mouse ,pdata 
-0584 2040c2d7 call mouse_stop_bt3_discovery ,true 
-0585 202004ff branch p_mouse_discovey_led_blink_off 
+0386 204002eb call p_mouse_discovey_led_blink_off 
+0387 704afe01 jam 1 ,mem_mouse_init_sensor_reset_flag 
+0388 2040018d call p_mouse_sensor_poweron 
+0389 202042cb branch mouse_stop_discovery + 1 
 
 p_le_slave_match:
-0586 6800c50f fetch 1 ,mem_le_md_count 
-0587 1fe0fe01 pincrease 1 
-0588 6000c50f store 1 ,mem_le_md_count 
-0589 c0065395 beq le_md_max_count ,le_slave_cont 
-058a 204055aa call le_acknowledge 
-058b 2040561e call le_prepare_tx 
-058c 204006f9 call power_ctrl_start 
-058d 2020538f branch le_slave_match + 7 
+038a 6800c50f fetch 1 ,mem_le_md_count 
+038b 1fe0fe01 pincrease 1 
+038c 6000c50f store 1 ,mem_le_md_count 
+038d c0065395 beq le_md_max_count ,le_slave_cont 
+038e 204055aa call le_acknowledge 
+038f 2040561e call le_prepare_tx 
+0390 204004f9 call power_ctrl_start 
+0391 2020538f branch le_slave_match + 7 
 
 p_le_next_adv_channel:
-058e 68008016 fetch 1 ,mem_le_ch_mapped 
-058f 1fe0fe01 increase 1 ,pdata 
-0590 60008016 store 1 ,mem_le_ch_mapped 
-0591 c1940000 rtnne 40 
-0592 70001625 jam 37 ,mem_le_ch_mapped 
-0593 20600000 rtn 
+0392 68008016 fetch 1 ,mem_le_ch_mapped 
+0393 1fe0fe01 increase 1 ,pdata 
+0394 60008016 store 1 ,mem_le_ch_mapped 
+0395 c1940000 rtnne 40 
+0396 70001625 jam 37 ,mem_le_ch_mapped 
+0397 20600000 rtn 
 
 p_le_receive_skip:
-0594 204029bb call save_rssi 
-0595 2040006c call p_rssi_signal 
-0596 202054a3 branch le_receive_skip + 2 
+0398 204029bb call save_rssi 
+0399 2040006c call p_rssi_signal 
+039a 202054a3 branch le_receive_skip + 2 
 
 p_le_update_param:
-0597 7011c540 jam zcode_40 ,mem_zcode_temp_param0 
-0598 20200759 branch p_zcode_entrance 
+039b 7011c620 jam zcode_20 ,mem_zcode_temp_param0 
+039c 20200558 branch p_zcode_entrance 
 
 p_le_update_channel_map:
-0599 7011c541 jam zcode_41 ,mem_zcode_temp_param0 
-059a 20200759 branch p_zcode_entrance 
+039d 7011c621 jam zcode_21 ,mem_zcode_temp_param0 
+039e 20200558 branch p_zcode_entrance 
 
 p_le_prepare_tx:
-059b 68008456 fetch 1 ,mem_le_arq 
-059c c28285af bbit1 wak ,p_le_prepare_tx_wak 
-059d 204006eb call power_ctrl_pac_succ_incrs 
-059e 6800c78e fetch 1 ,mem_empty_count 
-059f 243a05a5 nbranch p_le_send_empyt ,blank 
-05a0 6800843f fetch 1 ,mem_le_state 
-05a1 c30205a9 bbit0 lestate_encryption ,p_le_tx_4 
-05a2 680082da fetch 1 ,mem_le_rxbuf + 1 
-05a3 203a05a9 branch p_le_tx_4 ,blank 
-05a4 20205664 branch le_send_empty 
+039f 68008456 fetch 1 ,mem_le_arq 
+03a0 c28283bf bbit1 wak ,p_le_prepare_tx_wak 
+03a1 204004eb call power_ctrl_pac_succ_incrs 
+03a2 6800c78e fetch 1 ,mem_empty_count 
+03a3 243a03a9 nbranch p_le_send_empyt ,blank 
+03a4 6800843f fetch 1 ,mem_le_state 
+03a5 c30203ad bbit0 lestate_encryption ,p_le_tx_4 
+03a6 680082da fetch 1 ,mem_le_rxbuf + 1 
+03a7 203a03ad branch p_le_tx_4 ,blank 
+03a8 20205664 branch le_send_empty 
 
 p_le_send_empyt:
-05a5 6800c78e fetch 1 ,mem_empty_count 
-05a6 1fe0ffff increase -1 ,pdata 
-05a7 6000c78e store 1 ,mem_empty_count 
-05a8 20205664 branch le_send_empty 
+03a9 6800c78e fetch 1 ,mem_empty_count 
+03aa 1fe0ffff increase -1 ,pdata 
+03ab 6000c78e store 1 ,mem_empty_count 
+03ac 20205664 branch le_send_empty 
 
 p_le_tx_4:
-05a9 6800c4c4 fetch 1 ,mem_le_pairing_state 
-05aa c08285ac bne flag_le_pairing_after_auth ,p_in_le_tx_4 
-05ab 70478e03 jam 3 ,mem_empty_count 
+03ad 6800c4c4 fetch 1 ,mem_le_pairing_state 
+03ae c08283b0 bne flag_le_pairing_after_auth ,p_in_le_tx_4 
+03af 70478e03 jam 3 ,mem_empty_count 
 
 p_in_le_tx_4:
-05ac 20405892 call le_fifo_check_nearly_full 
-05ad 205a03c8 call p_mouse_data_pull ,blank 
-05ae 20205622 branch le_prepare_tx + 4 
-
-p_le_prepare_tx_wak:
-05af 204005b1 call p_le_check_tx_retransmit_setmd 
-05b0 202005bd branch p_le_power_ctrl_pac_succ_decrs 
+03b0 20405892 call le_fifo_check_nearly_full 
+03b1 205a01b8 call p_mouse_data_pull ,blank 
+03b2 20205622 branch le_prepare_tx + 4 
 
 p_le_check_tx_retransmit_setmd:
-05b1 6800c6c5 fetch 1 ,mem_le_connect_status_flag 
-05b2 1fe17e03 and pdata ,0x03 ,pdata 
-05b3 c1818000 rtnne 0x03 
-05b4 6800c7c3 fetch 1 ,mem_mouse_data_queue_num 
-05b5 207a0000 rtn blank 
-05b6 6800c3dd fetch 1 ,mem_le_txlen 
-05b7 207a0000 rtn blank 
-05b8 6800c3dc fetch 1 ,mem_le_txheader 
-05b9 79207e04 set1 md ,pdata 
-05ba 6000c3dc store 1 ,mem_le_txheader 
-05bb 20405650 call le_set_md 
-05bc 20600000 rtn 
+03b3 6800c6c5 fetch 1 ,mem_le_connect_status_flag 
+03b4 1fe17e03 and pdata ,0x03 ,pdata 
+03b5 c1818000 rtnne 0x03 
+03b6 6800c7c3 fetch 1 ,mem_mouse_data_queue_num 
+03b7 207a0000 rtn blank 
+03b8 6800c3dd fetch 1 ,mem_le_txlen 
+03b9 207a0000 rtn blank 
+03ba 6800c3dc fetch 1 ,mem_le_txheader 
+03bb 79207e04 set1 md ,pdata 
+03bc 6000c3dc store 1 ,mem_le_txheader 
+03bd 20405650 call le_set_md 
+03be 20600000 rtn 
+
+p_le_prepare_tx_wak:
+03bf 204003b3 call p_le_check_tx_retransmit_setmd 
 
 p_le_power_ctrl_pac_succ_decrs:
-05bd 202006ef branch power_ctrl_pac_succ_decrs 
+03c0 202004ef branch power_ctrl_pac_succ_decrs 
 
 p_mouse_le_reconn_write_enable_timer_reinit:
-05be 6800c7a1 fetch 1 ,mem_mouse_le_reconnect_flag 
-05bf 207a0000 rtn blank 
-05c0 6800c6c5 fetch 1 ,mem_le_connect_status_flag 
-05c1 1fe17e03 and pdata ,0x03 ,pdata 
-05c2 c1018000 rtneq 0x03 
-05c3 7046c601 jam 1 ,mem_le_start_encrypt_timer 
-05c4 20600000 rtn 
+03c1 6800c7a1 fetch 1 ,mem_mouse_le_reconnect_flag 
+03c2 207a0000 rtn blank 
+03c3 6800c6c5 fetch 1 ,mem_le_connect_status_flag 
+03c4 1fe17e03 and pdata ,0x03 ,pdata 
+03c5 c1018000 rtneq 0x03 
+03c6 7046c602 jam 2 ,mem_le_start_encrypt_timer 
+03c7 20600000 rtn 
 
 p_le_parse:
-05c5 c6078000 rtnmark1 mark_old_packet 
-05c6 20405890 call le_fifo_check_full 
-05c7 247a0000 nrtn blank 
-05c8 680082d9 fetch 1 ,mem_le_rxbuf 
-05c9 1fe17e03 and pdata ,0x3 ,pdata 
-05ca 6000c50c store 1 ,mem_le_packet_llid 
-05cb e8c08000 ifetch 1 ,contr 
-05cc 1fe17e1f and pdata ,0x1f ,pdata 
-05cd 6000c50b store 1 ,mem_le_packet_size 
-05ce 207a0000 rtn blank 
-05cf 18c27e00 copy contr ,pdata 
-05d0 6001450d store 2 ,mem_le_payload_ptr 
-05d1 6800c50c fetch 1 ,mem_le_packet_llid 
-05d2 c00185d4 beq llid_le_ll ,p_le_parse_ll 
-05d3 2020568d branch le_parse_l2cap 
+03c8 c6078000 rtnmark1 mark_old_packet 
+03c9 20405890 call le_fifo_check_full 
+03ca 247a0000 nrtn blank 
+03cb 680082d9 fetch 1 ,mem_le_rxbuf 
+03cc 1fe17e03 and pdata ,0x3 ,pdata 
+03cd 6000c50c store 1 ,mem_le_packet_llid 
+03ce e8c08000 ifetch 1 ,contr 
+03cf 1fe17e1f and pdata ,0x1f ,pdata 
+03d0 6000c50b store 1 ,mem_le_packet_size 
+03d1 207a0000 rtn blank 
+03d2 18c27e00 copy contr ,pdata 
+03d3 6001450d store 2 ,mem_le_payload_ptr 
+03d4 6800c50c fetch 1 ,mem_le_packet_llid 
+03d5 c00183d7 beq llid_le_ll ,p_le_parse_ll 
+03d6 2020568d branch le_parse_l2cap 
 
 p_le_parse_ll:
-05d4 680082db fetch 1 ,mem_le_rxbuf + 2 
-05d5 c00085d7 beq ll_channel_map_req ,p_le_parse_channel_map_req 
-05d6 20205c65 branch le_parse_ll + 1 
+03d7 680082db fetch 1 ,mem_le_rxbuf + 2 
+03d8 c00003db beq ll_connection_update_req ,p_le_parse_connection_update_req 
+03d9 c00083e2 beq ll_channel_map_req ,p_le_parse_channel_map_req 
+03da 20205c65 branch le_parse_ll + 1 
+
+p_le_parse_connection_update_req:
+03db 20405c7b call le_parse_connection_update_req 
+03dc 6800cb5f fetch 1 ,mem_mouse_le_updata_not_accepted_flag 
+03dd 207a0000 rtn blank 
+
+p_mouse_le_conn_param_update_rsp_not_accepted_mult_reset:
+03de 6800c3d8 fetch 1 ,mem_le_new_connslavelatency 
+03df 6000c172 store 1 ,mem_lpm_mult 
+03e0 6000c7c5 store 1 ,mem_lpm_mult_init 
+03e1 20600000 rtn 
 
 p_le_parse_channel_map_req:
-05d7 e8c28000 ifetch 5 ,contr 
-05d8 6002c3ce store 5 ,mem_le_new_map 
-05d9 e8c10000 ifetch 2 ,contr 
-05da 6001045f store 2 ,mem_le_instant 
-05db 20205c8a branch le_parse_channel_map_req + 7 
+03e2 e8c28000 ifetch 5 ,contr 
+03e3 6002c3ce store 5 ,mem_le_new_map 
+03e4 e8c10000 ifetch 2 ,contr 
+03e5 6001045f store 2 ,mem_le_instant 
+03e6 20205c8a branch le_parse_channel_map_req + 7 
 
 p_le_parse_l2cap:
-05dc e8c10000 ifetch 2 ,contr 
-05dd c00205e0 beq le_l2cap_cid_att ,p_le_parse_att 
-05de c003060d beq le_l2cap_cid_smp ,p_le_parse_smp 
-05df 20205698 branch le_parse_l2cap + 11 
+03e7 e8c10000 ifetch 2 ,contr 
+03e8 c00203eb beq le_l2cap_cid_att ,p_le_parse_att 
+03e9 c0030417 beq le_l2cap_cid_smp ,p_le_parse_smp 
+03ea 20205698 branch le_parse_l2cap + 11 
 
 p_le_parse_att:
-05e0 20407ea5 call store_contr 
-05e1 204005be call p_mouse_le_reconn_write_enable_timer_reinit 
-05e2 20407e9f call get_contr 
-05e3 e8c18000 ifetch 3 ,contr 
-05e4 60018477 store 3 ,mem_le_att_opcode 
-05e5 c00805ef beq attop_read_by_group_type_request ,p_le_parse_att_read_by_group_type_request 
-05e6 1fec8400 rshift8 pdata ,temp 
-05e7 18467c24 sub temp ,0x24 ,null 
-05e8 202105fd branch p_le_parse_att1 ,positive 
-05e9 d84047c8 arg mem_mouse_le_uuid_sup ,temp 
-05ea 600944bc storet 2 ,mem_ui_le_uuid_table 
-05eb 204058ad call le_parse_att + 2 
-05ec 58008e7a setarg 0x8e7a 
-05ed 600144bc store 2 ,mem_ui_le_uuid_table 
-05ee 20600000 rtn 
+03eb 20407ea5 call store_contr 
+03ec 204003c1 call p_mouse_le_reconn_write_enable_timer_reinit 
+03ed 20407e9f call get_contr 
+03ee e8c18000 ifetch 3 ,contr 
+03ef 60018477 store 3 ,mem_le_att_opcode 
+03f0 c00803fa beq attop_read_by_group_type_request ,p_le_parse_att_read_by_group_type_request 
+03f1 1fec8400 rshift8 pdata ,temp 
+03f2 18467c24 sub temp ,0x24 ,null 
+03f3 20210408 branch p_le_parse_att1 ,positive 
+03f4 d84047c6 arg mem_mouse_le_uuid_sup ,temp 
+03f5 600944bc storet 2 ,mem_ui_le_uuid_table 
+03f6 204058ad call le_parse_att + 2 
+03f7 58008e7a setarg 0x8e7a 
+03f8 600144bc store 2 ,mem_ui_le_uuid_table 
+03f9 20600000 rtn 
 
 p_le_parse_att_read_by_group_type_request:
-05ef 204059fa call le_parse_att_read_by_group_type_request 
-05f0 20405879 call le_fifo_get_last_tx_ptr 
-05f1 18c08c07 increase 7 ,contr 
-05f2 e8c08000 ifetch 1 ,contr 
-05f3 c1888000 rtnne attop_read_by_group_type_response 
-05f4 18c08c05 increase 5 ,contr 
-05f5 e8c10000 ifetch 2 ,contr 
-05f6 d8401812 arg uuid_service_hids ,temp 
-05f7 98467c00 isub temp ,null 
-05f8 24628000 nrtn zero 
-05f9 18c08dfc increase -4 ,contr 
-05fa 5800002b setarg 0x2b 
-05fb e0c10000 istore 2 ,contr 
-05fc 20600000 rtn 
+03fa 204059fa call le_parse_att_read_by_group_type_request 
+03fb 20405879 call le_fifo_get_last_tx_ptr 
+03fc 18c08c07 increase 7 ,contr 
+03fd e8c08000 ifetch 1 ,contr 
+03fe c1888000 rtnne attop_read_by_group_type_response 
+03ff 18c08c05 increase 5 ,contr 
+0400 e8c10000 ifetch 2 ,contr 
+0401 d8401812 arg uuid_service_hids ,temp 
+0402 98467c00 isub temp ,null 
+0403 24628000 nrtn zero 
+0404 18c08dfc increase -4 ,contr 
+0405 5800002b setarg 0x2b 
+0406 e0c10000 istore 2 ,contr 
+0407 20600000 rtn 
 
 p_le_parse_att1:
-05fd c00505ff beq attop_read_request ,p_le_parse_att_read_request 
-05fe 202058ad branch le_parse_att + 2 
+0408 c005040a beq attop_read_request ,p_le_parse_att_read_request 
+0409 202058ad branch le_parse_att + 2 
 
 p_le_parse_att_read_request:
-05ff 68090478 fetcht 2 ,mem_le_att_handle 
-0600 6800c4e9 fetch 1 ,mem_le_configuration 
-0601 c2818606 bbit1 bit_ble_read_auth ,p_le_send_att_read_response_check_auth 
+040a 68090478 fetcht 2 ,mem_le_att_handle 
+040b 6800c4e9 fetch 1 ,mem_le_configuration 
+040c c2818411 bbit1 bit_ble_read_auth ,p_le_send_att_read_response_check_auth 
 
 p_le_send_att_read_response:
-0602 68010478 fetch 2 ,mem_le_att_handle 
-0603 c009da76 beq 0x13 ,le_send_att_error_response_notfound 
-0604 68090478 fetcht 2 ,mem_le_att_handle 
-0605 202059bf branch le_send_att_read_response 
+040d 68010478 fetch 2 ,mem_le_att_handle 
+040e c009da76 beq 0x13 ,le_send_att_error_response_notfound 
+040f 68090478 fetcht 2 ,mem_le_att_handle 
+0410 202059bf branch le_send_att_read_response 
 
 p_le_send_att_read_response_check_auth:
-0606 680144fa fetch 2 ,mem_le_pairing_handle 
-0607 98467c00 isub temp ,null 
-0608 24228602 nbranch p_le_send_att_read_response ,zero 
-0609 20405a42 call le_check_encrypt_state 
-060a 24340602 nbranch p_le_send_att_read_response ,user 
-060b 70047a05 jam att_err_insufficient_authentication ,mem_le_err_code 
-060c 20205a77 branch le_send_att_error_response 
+0411 680144fa fetch 2 ,mem_le_pairing_handle 
+0412 98467c00 isub temp ,null 
+0413 2422840d nbranch p_le_send_att_read_response ,zero 
+0414 20405a42 call le_check_encrypt_state 
+0415 2434040d nbranch p_le_send_att_read_response ,user 
+0416 202059e2 branch le_send_att_read_response_check_auth + 5 
 
 p_le_parse_smp:
-060d e8c08000 ifetch 1 ,contr 
-060e c0008611 beq smp_pairing_request ,p_le_parse_smp_pairing_request 
-060f c0028613 beq smp_pairing_failed ,p_le_parse_smp_pairing_failed 
-0610 20205af6 branch le_parse_smp + 2 
+0417 e8c08000 ifetch 1 ,contr 
+0418 c000841b beq smp_pairing_request ,p_le_parse_smp_pairing_request 
+0419 c002841d beq smp_pairing_failed ,p_le_parse_smp_pairing_failed 
+041a 20205af5 branch le_parse_smp + 1 
 
 p_le_parse_smp_pairing_request:
-0611 704b6d01 jam 1 ,mem_le_send_security_request_flag 
-0612 20205b09 branch le_parse_smp_pairing_request 
+041b 704b6c01 jam 1 ,mem_le_send_security_request_flag 
+041c 20205b09 branch le_parse_smp_pairing_request 
 
 p_le_parse_smp_pairing_failed:
-0613 7011c582 jam zcode_82 ,mem_zcode_temp_param0 
-0614 20200759 branch p_zcode_entrance 
+041d 7011c682 jam zcode_82 ,mem_zcode_temp_param0 
+041e 20200558 branch p_zcode_entrance 
 
 p_le_adv_not_match:
-0615 68008016 fetch 1 ,mem_le_ch_mapped 
-0616 c093d6f2 bne 39 ,le_adv_loop 
-0617 2040061b call p_le_adv_random_delay 
-0618 d8e00000 arg le_adv_interval_timer ,queue 
-0619 68014482 fetch 2 ,mem_le_adv_interval 
-061a 20207f08 branch timer_init 
+041f 68008016 fetch 1 ,mem_le_ch_mapped 
+0420 c093d6f2 bne 39 ,le_adv_loop 
+0421 20400425 call p_le_adv_random_delay 
+0422 d8e00000 arg le_adv_interval_timer ,queue 
+0423 68014482 fetch 2 ,mem_le_adv_interval 
+0424 20207f08 branch timer_init 
 
 p_le_adv_random_delay:
-061b 180a7e00 random pdata 
-061c d84001ff arg 0x1ff ,temp 
-061d 98417e00 iand temp ,pdata 
-061e 1fe0fefa add pdata ,250 ,pdata 
-061f 20203cbe branch delay 
+0425 180a7e00 random pdata 
+0426 d84001ff arg 0x1ff ,temp 
+0427 98417e00 iand temp ,pdata 
+0428 1fe0fefa add pdata ,250 ,pdata 
+0429 20203cbe branch delay 
 
 p_le_lpm_setmult:
-0620 7855fc00 disable wake 
-0621 20370623 branch p_le_lpm_set_mult_attempt ,attempt 
-0622 2436d806 nbranch le_lpm_lost ,match 
+042a 7855fc00 disable wake 
+042b 2037042d branch p_le_lpm_set_mult_attempt ,attempt 
+042c 2436d806 nbranch le_lpm_lost ,match 
 
 p_le_lpm_set_mult_attempt:
-0623 20402bcb call lpm_match 
-0624 680140c1 fetch 2 ,mem_rx_window_sniff 
-0625 6001044d store 2 ,mem_le_receive_window 
-0626 6800c6c5 fetch 1 ,mem_le_connect_status_flag 
-0627 2fe00603 compare 3 ,pdata ,3 
-0628 2420abde nbranch lpm_mult_short ,true 
-0629 202057fb branch le_lpm_set_mult_attempt + 3 
+042d 20402bcb call lpm_match 
+042e 680140c1 fetch 2 ,mem_rx_window_sniff 
+042f 6001044d store 2 ,mem_le_receive_window 
+0430 6800c6c5 fetch 1 ,mem_le_connect_status_flag 
+0431 c081abde bne 3 ,lpm_mult_short 
+0432 202057fb branch le_lpm_set_mult_attempt + 3 
 
 p_le_mouse_bb_event_connect_complete:
-062a 6800c7a1 fetch 1 ,mem_mouse_le_reconnect_flag 
-062b 247a0000 nrtn blank 
-062c 68008478 fetch 1 ,mem_le_att_handle 
-062d 1fe67e1a sub pdata ,26 ,pdata 
-062e 24628000 nrtn zero 
-062f 20203d60 branch mouse_le_write_enable 
+0433 7011c622 jam zcode_22 ,mem_zcode_temp_param0 
+0434 20200558 branch p_zcode_entrance 
 
 p_twspi_reset:
-0630 68108077 hfetch 1 ,core_gpio_out3 
-0631 1fe17efd and_into 0xfd ,pdata 
-0632 60108077 hstore 1 ,core_gpio_out3 
-0633 68188073 hfetcht 1 ,core_gpio_oe3 
-0634 18418402 or_into 0x2 ,temp 
-0635 60188073 hstoret 1 ,core_gpio_oe3 
-0636 204063ee call twspi_disable 
-0637 184104fd and_into 0xfd ,temp 
-0638 2000000d nop 13 
-0639 2040063d call p_twspi_enable 
-063a 60188073 hstoret 1 ,core_gpio_oe3 
-063b 20600000 rtn 
+0435 68108077 hfetch 1 ,core_gpio_out3 
+0436 1fe17efd and_into 0xfd ,pdata 
+0437 60108077 hstore 1 ,core_gpio_out3 
+0438 68188073 hfetcht 1 ,core_gpio_oe3 
+0439 18418402 or_into 0x2 ,temp 
+043a 60188073 hstoret 1 ,core_gpio_oe3 
+043b 204063ee call twspi_disable 
+043c 184104fd and_into 0xfd ,temp 
+043d 2000000d nop 13 
+043e 20400442 call p_twspi_enable 
+043f 60188073 hstoret 1 ,core_gpio_oe3 
+0440 20600000 rtn 
 
 p_spid_init:
-063c 204064dd call spid_init_common 
+0441 204064dd call spid_init_common 
 
 p_twspi_enable:
-063d 68108081 hfetch 1 ,core_gpio_sel1 
-063e 79207e00 set1 0 ,pdata 
-063f 793ffe01 set0 1 ,pdata 
-0640 793ffe03 set0 3 ,pdata 
-0641 60108081 hstore 1 ,core_gpio_sel1 
-0642 20600000 rtn 
+0442 68108081 hfetch 1 ,core_gpio_sel1 
+0443 79207e00 set1 0 ,pdata 
+0444 793ffe01 set0 1 ,pdata 
+0445 793ffe03 set0 3 ,pdata 
+0446 60108081 hstore 1 ,core_gpio_sel1 
+0447 20600000 rtn 
 
 p_page_wait_fhs_reply_ok:
-0643 7011c500 jam zcode_00 ,mem_zcode_temp_param0 
-0644 20200759 branch p_zcode_entrance 
+0448 7011c600 jam zcode_00 ,mem_zcode_temp_param0 
+0449 20200558 branch p_zcode_entrance 
 
 p_role_switch_master:
-0645 204021c9 call role_switch_check 
-0646 24740000 nrtn user 
+044a 204021c9 call role_switch_check 
+044b 24740000 nrtn user 
 
 p_wait_role_switch_anchor:
-0647 78547c00 disable user 
-0648 70001120 jam param_newconnto ,mem_newconnto_counter 
-0649 793f800b set0 mark_fhs_already_good ,mark 
-064a 793f802d set0 mark_role_switch_receive_fhs ,mark 
+044c 78547c00 disable user 
+044d 70001120 jam param_newconnto ,mem_newconnto_counter 
+044e 793f800b set0 mark_fhs_already_good ,mark 
+044f 793f802d set0 mark_role_switch_receive_fhs ,mark 
 
 p_roles_waitfhs_loop:
-064b 20402a4f call rf_setup_time_master_slot 
-064c 204022e6 call master_recv_packet 
-064d c5058652 bmark1 mark_fhs_already_good ,p_roles_replyto_fhs 
-064e 20402455 call new_conn_timeout 
-064f 243a064b nbranch p_roles_waitfhs_loop ,blank 
-0650 c516865a bmark1 mark_role_switch_receive_fhs ,p_roles_replyto_fhs1 
-0651 202021ec branch role_switch_fail_master 
+0450 20402a4f call rf_setup_time_master_slot 
+0451 204022e6 call master_recv_packet 
+0452 c5058457 bmark1 mark_fhs_already_good ,p_roles_replyto_fhs 
+0453 20402455 call new_conn_timeout 
+0454 243a0450 nbranch p_roles_waitfhs_loop ,blank 
+0455 c516845f bmark1 mark_role_switch_receive_fhs ,p_roles_replyto_fhs1 
+0456 202021ec branch role_switch_fail_master 
 
 p_roles_replyto_fhs:
-0652 20402a4d call rf_setup_time_slave_slot 
-0653 d8200010 arg type_id ,type 
-0654 204022dc call master_send_packet 
-0655 7920002d set1 mark_role_switch_receive_fhs ,mark 
-0656 793f800b set0 mark_fhs_already_good ,mark 
-0657 18000801 force 1 ,am_addr 
-0658 70001102 jam 2 ,mem_newconnto_counter 
-0659 2020064b branch p_roles_waitfhs_loop 
+0457 20402a4d call rf_setup_time_slave_slot 
+0458 d8200010 arg type_id ,type 
+0459 204022dc call master_send_packet 
+045a 7920002d set1 mark_role_switch_receive_fhs ,mark 
+045b 793f800b set0 mark_fhs_already_good ,mark 
+045c 18000801 force 1 ,am_addr 
+045d 70001102 jam 2 ,mem_newconnto_counter 
+045e 20200450 branch p_roles_waitfhs_loop 
 
 p_roles_replyto_fhs1:
-065a 68020165 fetch 4 ,mem_clke_bt 
-065b 1fe0fe08 pincrease 8 
-065c 60020165 store 4 ,mem_clke_bt 
-065d 202021f8 branch roles_replyto_fhs + 4 
+045f 68020165 fetch 4 ,mem_clke_bt 
+0460 1fe0fe08 pincrease 8 
+0461 60020165 store 4 ,mem_clke_bt 
+0462 202021f8 branch roles_replyto_fhs + 4 
 
 p_process_dmh:
-065e c516264d bmark1 mark_first_packet ,end_of_packet 
-065f 2020258f branch process_dmh + 1 
+0463 c516264d bmark1 mark_first_packet ,end_of_packet 
+0464 2020258f branch process_dmh + 1 
 
 p_quit_connection_cont:
-0660 204033af call app_disconn_reason_collect_bt 
-0661 204026e9 call sniff_exit 
-0662 700a9902 jam bt_evt_bb_disconnected ,mem_fifo_temp 
-0663 20407d86 call ui_ipc_send_event 
-0664 20405cf7 call init_lmp_work 
-0665 20404d6b call l2cap_init_work 
-0666 2020246e branch quit_connection_cont + 8 
+0465 7011c623 jam zcode_23 ,mem_zcode_temp_param0 
+0466 20200558 branch p_zcode_entrance 
 
 p_prepare_tx:
-0667 68008030 fetch 1 ,mem_state 
-0668 2feffe00 isolate1 state_inconn ,pdata 
-0669 2040866b call p_bt_power_ctrl ,true 
-066a 2020248a branch prepare_tx + 1 
+0467 68008030 fetch 1 ,mem_state 
+0468 2feffe00 isolate1 state_inconn ,pdata 
+0469 2040846b call p_bt_power_ctrl ,true 
+046a 2020248a branch prepare_tx + 1 
 
 p_bt_power_ctrl:
-066b 68008047 fetch 1 ,mem_arq 
-066c 2feffe03 isolate1 wack ,pdata 
-066d 204086ef call power_ctrl_pac_succ_decrs ,true 
-066e 244086eb ncall power_ctrl_pac_succ_incrs ,true 
-066f 202006f9 branch power_ctrl_start 
+046b 68008047 fetch 1 ,mem_arq 
+046c 2feffe03 isolate1 wack ,pdata 
+046d 204084ef call power_ctrl_pac_succ_decrs ,true 
+046e 244084eb ncall power_ctrl_pac_succ_incrs ,true 
+046f 202004f9 branch power_ctrl_start 
 
 p_slave_conn_recv_packet:
-0670 204024f0 call slave_receive_master_slot 
-0671 242c28f9 nbranch shutdown_radio ,sync 
-0672 204029bb call save_rssi 
-0673 2040006c call p_rssi_signal 
-0674 20202518 branch slave_conn_recv_packet + 4 
+0470 204024f0 call slave_receive_master_slot 
+0471 242c28f9 nbranch shutdown_radio ,sync 
+0472 204029bb call save_rssi 
+0473 2040006c call p_rssi_signal 
+0474 20202518 branch slave_conn_recv_packet + 4 
 
 p_lpm_dispatch:
-0675 c6130000 rtnmark1 mark_24g 
-0676 20402afa call lpo_calibration 
-0677 6801c16f fetch 3 ,mem_clks_per_lpo 
-0678 207a0000 rtn blank 
-0679 6800c091 fetch 1 ,mem_lpm_mode 
-067a 207a0000 rtn blank 
-067b 6800c65a fetch 1 ,mem_ssp_enable 
-067c 203a067f branch p_lpm_dispatch_next ,blank 
-067d 6800c5b1 fetch 1 ,mem_sp_local_key_invalid 
-067e 207a0000 rtn blank 
+0475 c6130000 rtnmark1 mark_24g 
+0476 20402afa call lpo_calibration 
+0477 6801c16f fetch 3 ,mem_clks_per_lpo 
+0478 207a0000 rtn blank 
+0479 6800c091 fetch 1 ,mem_lpm_mode 
+047a 207a0000 rtn blank 
+047b 6800c65a fetch 1 ,mem_ssp_enable 
+047c 203a047f branch p_lpm_dispatch_next ,blank 
+047d 6800c5b1 fetch 1 ,mem_sp_local_key_invalid 
+047e 207a0000 rtn blank 
 
 p_lpm_dispatch_next:
-067f 6800c4c0 fetch 1 ,mem_le_sc_calc 
-0680 247a0000 nrtn blank 
-0681 20402c3a call lpm_check_wake_lock 
-0682 247a0000 nrtn blank 
-0683 6800c040 fetch 1 ,mem_context 
-0684 2fe00e03 compare 3 ,pdata ,0x7 
-0685 2420ab9d nbranch lpm_dispatch_unconn ,true 
-0686 68014042 fetch 2 ,mem_context + coffset_tsniff 
-0687 d840ffff arg 0xffff ,temp 
-0688 98467c00 isub temp ,null 
-0689 20628000 rtn zero 
-068a 20202b7d branch lpm_dispatch_next + 9 
+047f 6800c4c0 fetch 1 ,mem_le_sc_calc 
+0480 247a0000 nrtn blank 
+0481 20402c3a call lpm_check_wake_lock 
+0482 247a0000 nrtn blank 
+0483 6800c040 fetch 1 ,mem_context 
+0484 2fe00e03 compare 3 ,pdata ,0x7 
+0485 2420ab9d nbranch lpm_dispatch_unconn ,true 
+0486 68014042 fetch 2 ,mem_context + coffset_tsniff 
+0487 d840ffff arg 0xffff ,temp 
+0488 98467c00 isub temp ,null 
+0489 20628000 rtn zero 
+048a 20202b7d branch lpm_dispatch_next + 9 
 
 p_lpm_set_mult:
-068b 7855fc00 disable wake 
-068c 68008030 fetch 1 ,mem_state 
-068d c4008000 rtnbit0 state_insniff 
-068e 2436abd0 nbranch lpm_not_match ,match 
-068f 20402bcb call lpm_match 
-0690 680140c1 fetch 2 ,mem_rx_window_sniff 
-0691 6001003e store 2 ,mem_rx_window 
-0692 68008047 fetch 1 ,mem_arq 
-0693 c281abde bbit1 wack ,lpm_mult_short 
-0694 c586abde bmark0 mark_lpm_mult_enable ,lpm_mult_short 
-0695 20405274 call l2cap_malloc_is_fifo_empty 
-0696 243a2bde nbranch lpm_mult_short ,blank 
-0697 205a0699 call p_lpm_set_attemp_timeout ,blank 
-0698 20202bbe branch lpm_set_mult + 13 
+048b 7855fc00 disable wake 
+048c 68008030 fetch 1 ,mem_state 
+048d c4008000 rtnbit0 state_insniff 
+048e 2436abd0 nbranch lpm_not_match ,match 
+048f 20402bcb call lpm_match 
+0490 680140c1 fetch 2 ,mem_rx_window_sniff 
+0491 6001003e store 2 ,mem_rx_window 
+0492 68008047 fetch 1 ,mem_arq 
+0493 c281abde bbit1 wack ,lpm_mult_short 
+0494 c586abde bmark0 mark_lpm_mult_enable ,lpm_mult_short 
+0495 20405274 call l2cap_malloc_is_fifo_empty 
+0496 243a2bde nbranch lpm_mult_short ,blank 
+0497 205a0499 call p_lpm_set_attemp_timeout ,blank 
+0498 20202bbe branch lpm_set_mult + 13 
 
 p_lpm_set_attemp_timeout:
-0699 70008a01 jam 1 ,mem_current_sniff_attempt 
-069a 70008b00 jam 0 ,mem_current_sniff_timeout 
-069b 20600000 rtn 
+0499 70008a01 jam 1 ,mem_current_sniff_attempt 
+049a 70008b00 jam 0 ,mem_current_sniff_timeout 
+049b 20600000 rtn 
 
 p_mouse_bb_disconnected:
-069c 7011c510 jam zcode_10 ,mem_zcode_temp_param0 
-069d 20200759 branch p_zcode_entrance 
+049c 7011c601 jam zcode_01 ,mem_zcode_temp_param0 
+049d 20200558 branch p_zcode_entrance 
 
 p_hid_rx_process:
-069e 7011c511 jam zcode_11 ,mem_zcode_temp_param0 
-069f 20200759 branch p_zcode_entrance 
+049e 7011c602 jam zcode_02 ,mem_zcode_temp_param0 
+049f 20200558 branch p_zcode_entrance 
 
 p_parse_lmp_accepted:
-06a0 68008552 fetch 1 ,mem_rxbuf + 1 
-06a1 600084c9 store 1 ,mem_lmi_accepted_opcode 
-06a2 c00986a4 beq lmp_switch_req ,p_parse_lmp_accepted_switch 
-06a3 20205db4 branch parse_lmp_accepted + 3 
+04a0 68008552 fetch 1 ,mem_rxbuf + 1 
+04a1 600084c9 store 1 ,mem_lmi_accepted_opcode 
+04a2 c00984a4 beq lmp_switch_req ,p_parse_lmp_accepted_switch 
+04a3 20205db4 branch parse_lmp_accepted + 3 
 
 p_parse_lmp_accepted_switch:
-06a4 20405dcf call parse_lmp_accepted_switch 
-06a5 704b0101 jam 1 ,mem_bt_rcvd_switch_req_accept 
-06a6 6800cb03 fetch 1 ,mem_bt_send_lmp_setup_complete 
-06a7 207a0000 rtn blank 
-06a8 704b0302 jam 2 ,mem_bt_send_lmp_setup_complete 
-06a9 20600000 rtn 
+04a4 20405dcf call parse_lmp_accepted_switch 
+04a5 704aff01 jam 1 ,mem_bt_rcvd_switch_req_accept 
+04a6 6800cb01 fetch 1 ,mem_bt_send_lmp_setup_complete 
+04a7 207a0000 rtn blank 
+04a8 704b0102 jam 2 ,mem_bt_send_lmp_setup_complete 
+04a9 20600000 rtn 
 
 p_send_lmp:
-06aa 7011c520 jam zcode_20 ,mem_zcode_temp_param0 
-06ab 20200759 branch p_zcode_entrance 
+04aa 7011c610 jam zcode_10 ,mem_zcode_temp_param0 
+04ab 20200558 branch p_zcode_entrance 
 
 p_process_conn_sm:
-06ac 204062bc call lmo_fifo_check 
-06ad 247a0000 nrtn blank 
+04ac 204062bc call lmo_fifo_check 
+04ad 247a0000 nrtn blank 
 
 p_process_conn_sm_continue:
-06ae 68008055 fetch 1 ,mem_conn_sm 
-06af 207a0000 rtn blank 
-06b0 c00206ce beq conn_sm_send_conn_req ,p_host_create_conn_send_conn_req 
-06b1 c00806b3 beq conn_sm_wait_switch_after_host_connection ,p_host_creat_conn_wait_switch 
-06b2 20206320 branch process_conn_sm_continue + 2 
+04ae 68008055 fetch 1 ,mem_conn_sm 
+04af 207a0000 rtn blank 
+04b0 c00204ce beq conn_sm_send_conn_req ,p_host_create_conn_send_conn_req 
+04b1 c00804b3 beq conn_sm_wait_switch_after_host_connection ,p_host_creat_conn_wait_switch 
+04b2 20206320 branch process_conn_sm_continue + 2 
 
 p_host_creat_conn_wait_switch:
-06b3 6800c55b fetch 1 ,mem_switch_flag 
-06b4 c1000000 rtneq switch_flag_init 
-06b5 c00086b7 beq switch_flag_accept ,p_host_create_conn_switch_accept 
-06b6 2020635f branch host_creat_conn_wait_switch + 3 
+04b3 6800c55b fetch 1 ,mem_switch_flag 
+04b4 c1000000 rtneq switch_flag_init 
+04b5 c00084b7 beq switch_flag_accept ,p_host_create_conn_switch_accept 
+04b6 2020635f branch host_creat_conn_wait_switch + 3 
 
 p_host_create_conn_switch_accept:
-06b7 20748000 rtn master 
+04b7 20748000 rtn master 
 
 p_host_create_conn_auth_pair:
-06b8 6800816d fetch 1 ,mem_connection_options 
-06b9 c28006bb bbit1 connection_auth ,p_host_create_conn_auth_pair_true 
-06ba 20206399 branch host_create_conn_auth_pair + 1 
+04b8 6800816d fetch 1 ,mem_connection_options 
+04b9 c28004bb bbit1 connection_auth ,p_host_create_conn_auth_pair_true 
+04ba 20206399 branch host_create_conn_auth_pair + 1 
 
 p_host_create_conn_auth_pair_true:
-06bb 6800cb03 fetch 1 ,mem_bt_send_lmp_setup_complete 
-06bc c000e39d beq 1 ,host_create_conn_auth_pair_true 
-06bd 6800c1bd fetch 1 ,mem_link_key_exists 
-06be 203a63a9 branch host_create_conn_auth_pair_nokey ,blank 
-06bf 680084d1 fetch 1 ,mem_lmp_conn_state 
-06c0 c4018000 rtnbit0 sent_setup_complete 
-06c1 c4010000 rtnbit0 received_setup_complete 
-06c2 6800cb02 fetch 1 ,mem_bt_send_max_slot_req_accept_after_switch 
-06c3 207a0000 rtn blank 
-06c4 704b0200 jam 0 ,mem_bt_send_max_slot_req_accept_after_switch 
-06c5 680204e9 fetch 4 ,mem_aurand_send_delay_time 
-06c6 d8400014 arg 20 ,temp 
-06c7 98408400 iadd temp ,temp 
-06c8 1c427e00 copy clkn_bt ,pdata 
-06c9 98467c00 isub temp ,null 
-06ca 242106cc nbranch p_bt_send_max_slot_req_accept_after_switch_wait ,positive 
-06cb 20206349 branch host_create_conn_auth 
+04bb 6800cb01 fetch 1 ,mem_bt_send_lmp_setup_complete 
+04bc c000e39d beq 1 ,host_create_conn_auth_pair_true 
+04bd 6800c1bd fetch 1 ,mem_link_key_exists 
+04be 203a63a9 branch host_create_conn_auth_pair_nokey ,blank 
+04bf 680084d1 fetch 1 ,mem_lmp_conn_state 
+04c0 c4018000 rtnbit0 sent_setup_complete 
+04c1 c4010000 rtnbit0 received_setup_complete 
+04c2 6800cb00 fetch 1 ,mem_bt_send_max_slot_req_accept_after_switch 
+04c3 207a0000 rtn blank 
+04c4 704b0000 jam 0 ,mem_bt_send_max_slot_req_accept_after_switch 
+04c5 680204e9 fetch 4 ,mem_aurand_send_delay_time 
+04c6 d8400014 arg 20 ,temp 
+04c7 98408400 iadd temp ,temp 
+04c8 1c427e00 copy clkn_bt ,pdata 
+04c9 98467c00 isub temp ,null 
+04ca 242104cc nbranch p_bt_send_max_slot_req_accept_after_switch_wait ,positive 
+04cb 20206349 branch host_create_conn_auth 
 
 p_bt_send_max_slot_req_accept_after_switch_wait:
-06cc 704b0201 jam 1 ,mem_bt_send_max_slot_req_accept_after_switch 
-06cd 20600000 rtn 
+04cc 704b0001 jam 1 ,mem_bt_send_max_slot_req_accept_after_switch 
+04cd 20600000 rtn 
 
 p_host_create_conn_send_conn_req:
-06ce 70480b14 jam 20 ,mem_mouse_send_switch_req_timer 
-06cf 2020636f branch host_create_conn_send_conn_req 
+04ce 70480914 jam 20 ,mem_mouse_send_switch_req_timer 
+04cf 2020636f branch host_create_conn_send_conn_req 
 
 p_check_51cmd_once_continue:
-06d0 204062bc call lmo_fifo_check 
-06d1 243a7ddb nbranch check_51cmd_restore ,blank 
-06d2 68008a99 fetch 1 ,mem_fifo_temp 
-06d3 c584fdd6 bmark0 mark_context ,check_51cmd_check_idle 
-06d4 c00f86d8 beq bt_cmd_store_reconn_info_le ,p_flash_store_le_reconn_info 
-06d5 c01006db beq bt_cmd_store_reconn_info_bt ,p_flash_store_bd_reconn_info 
-06d6 c00906e5 beq bt_cmd_le_update_conn ,p_check_51cmd_ble_update_connect_param 
-06d7 20207dca branch check_51cmd_once_continue + 2 
+04d0 204062bc call lmo_fifo_check 
+04d1 243a7ddb nbranch check_51cmd_restore ,blank 
+04d2 68008a99 fetch 1 ,mem_fifo_temp 
+04d3 c584fdd6 bmark0 mark_context ,check_51cmd_check_idle 
+04d4 c00f84d8 beq bt_cmd_store_reconn_info_le ,p_flash_store_le_reconn_info 
+04d5 c01004db beq bt_cmd_store_reconn_info_bt ,p_flash_store_bd_reconn_info 
+04d6 c00904e5 beq bt_cmd_le_update_conn ,p_check_51cmd_ble_update_connect_param 
+04d7 20207dca branch check_51cmd_once_continue + 2 
 
 p_flash_store_le_reconn_info:
-06d8 70018534 jam rec_4_mode ,mem_record_bt_mode 
-06d9 6803044f fetch 6 ,mem_le_plap 
-06da 202006dd branch p_flash_store_reconn_info 
+04d8 70018534 jam rec_4_mode ,mem_record_bt_mode 
+04d9 6803044f fetch 6 ,mem_le_plap 
+04da 202004dd branch p_flash_store_reconn_info 
 
 p_flash_store_bd_reconn_info:
-06db 70018533 jam rec_3_mode ,mem_record_bt_mode 
-06dc 68030040 fetch 6 ,mem_plap 
+04db 70018533 jam rec_3_mode ,mem_record_bt_mode 
+04dc 68030040 fetch 6 ,mem_plap 
 
 p_flash_store_reconn_info:
-06dd 60030186 store 6 ,mem_temp_lap 
+04dd 60030186 store 6 ,mem_temp_lap 
 
 p_mouse_store_remote_bdaddr:
-06de 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
-06df c4038000 rtnbit0 mouse_store_eeprom_flag 
-06e0 d8e00007 arg mouse_store_eeprom_flag ,queue 
-06e1 204043d2 call mouse_disable_function_flag 
-06e2 204042e8 call mouse_check_device_addr 
+04de 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+04df c4038000 rtnbit0 mouse_store_eeprom_flag 
+04e0 d8e00007 arg mouse_store_eeprom_flag ,queue 
+04e1 204043d2 call mouse_disable_function_flag 
+04e2 204042e8 call mouse_check_device_addr 
 
 p_mouse_unplug_clean_bdaddr:
-06e3 204042fb call mouse_before_store_reconn_info 
-06e4 20200335 branch p_mouse_store_flash_device_info 
+04e3 204042fb call mouse_before_store_reconn_info 
+04e4 20200123 branch p_mouse_store_flash_device_info 
 
 p_check_51cmd_ble_update_connect_param:
-06e5 20405890 call le_fifo_check_full 
-06e6 247a0000 nrtn blank 
-06e7 20205abf branch le_l2cap_tx_update_req 
+04e5 20405890 call le_fifo_check_full 
+04e6 247a0000 nrtn blank 
+04e7 20205abf branch le_l2cap_tx_update_req 
 
 power_ctrl_pac_succ_cnt_init:
-06e8 704d3401 jam 1 ,mem_power_ctrl_level 
-06e9 704d3100 jam 0 ,mem_power_ctrl_pac_succ_cnt 
-06ea 20600000 rtn 
+04e8 704d6701 jam 1 ,mem_power_ctrl_level 
+04e9 704d6400 jam 0 ,mem_power_ctrl_pac_succ_cnt 
+04ea 20600000 rtn 
 
 power_ctrl_pac_succ_incrs:
-06eb 6800cd31 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
-06ec 1fe0fe01 increase 1 ,pdata 
-06ed 6000cd31 store 1 ,mem_power_ctrl_pac_succ_cnt 
-06ee 20600000 rtn 
+04eb 6800cd64 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+04ec 1fe0fe01 increase 1 ,pdata 
+04ed 6000cd64 store 1 ,mem_power_ctrl_pac_succ_cnt 
+04ee 20600000 rtn 
 
 power_ctrl_pac_succ_decrs:
-06ef 6800cd31 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
-06f0 1fe67c02 sub pdata ,2 ,null 
-06f1 244106f7 ncall power_ctrl_pac_succ_cnt_reinit ,positive 
-06f2 6800cd31 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
-06f3 c1000000 rtneq 0 
-06f4 1fe0ffff increase -1 ,pdata 
-06f5 6000cd31 store 1 ,mem_power_ctrl_pac_succ_cnt 
-06f6 20600000 rtn 
+04ef 6800cd64 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+04f0 1fe67c02 sub pdata ,2 ,null 
+04f1 244104f7 ncall power_ctrl_pac_succ_cnt_reinit ,positive 
+04f2 6800cd64 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+04f3 c1000000 rtneq 0 
+04f4 1fe0ffff increase -1 ,pdata 
+04f5 6000cd64 store 1 ,mem_power_ctrl_pac_succ_cnt 
+04f6 20600000 rtn 
 
 power_ctrl_pac_succ_cnt_reinit:
-06f7 704d3103 jam 3 ,mem_power_ctrl_pac_succ_cnt 
-06f8 20600000 rtn 
+04f7 704d6403 jam 3 ,mem_power_ctrl_pac_succ_cnt 
+04f8 20600000 rtn 
 
 power_ctrl_start:
-06f9 68014682 fetch 2 ,mem_ui_state_map 
-06fa c3858000 rtnbit1 ui_state_ble_adv 
-06fb c3838000 rtnbit1 ui_state_bt_reconnect 
-06fc c3830000 rtnbit1 ui_state_bt_discovery 
-06fd da204cba arg mem_rssi_signal_buf ,rega 
-06fe 2040028b call p_rssi_average 
-06ff 6008cd32 storet 1 ,mem_rssi_avg_received 
-0700 58000082 setarg rssi_dis_max_24g 
-0701 c5130703 bmark1 mark_24g ,power_ctrl_start_next 
-0702 58000080 setarg rssi_dis_max_ble 
+04f9 68014682 fetch 2 ,mem_ui_state_map 
+04fa c3858000 rtnbit1 ui_state_ble_adv 
+04fb c3838000 rtnbit1 ui_state_bt_reconnect 
+04fc c3830000 rtnbit1 ui_state_bt_discovery 
+04fd da204ced arg mem_rssi_signal_buf ,rega 
+04fe 2040009c call p_rssi_average 
+04ff 6008cd65 storet 1 ,mem_rssi_avg_received 
+0500 58000082 setarg rssi_dis_max_24g 
+0501 c5130503 bmark1 mark_24g ,power_ctrl_start_next 
+0502 58000080 setarg rssi_dis_max_ble 
 
 power_ctrl_start_next:
-0703 98467c00 isub temp ,null 
-0704 2421071b nbranch power_ctrl_txpower_incrs_force ,positive 
-0705 6800cd31 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
-0706 1fe67c02 sub pdata ,2 ,null 
-0707 2421070b nbranch power_ctrl_txpower_decrs_check ,positive 
-0708 6800cd31 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
-0709 c000071c beq 0 ,power_ctrl_txpower_incrs 
-070a 20600000 rtn 
+0503 98467c00 isub temp ,null 
+0504 2421051b nbranch power_ctrl_txpower_incrs_force ,positive 
+0505 6800cd64 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+0506 1fe67c02 sub pdata ,2 ,null 
+0507 2421050b nbranch power_ctrl_txpower_decrs_check ,positive 
+0508 6800cd64 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+0509 c000051c beq 0 ,power_ctrl_txpower_incrs 
+050a 20600000 rtn 
 
 power_ctrl_txpower_decrs_check:
-070b 6800cd31 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
-070c c1900000 rtnne 32 
-070d 704d3100 jam 0 ,mem_power_ctrl_pac_succ_cnt 
+050b 6800cd64 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+050c c1990000 rtnne 50 
+050d 704d6400 jam 0 ,mem_power_ctrl_pac_succ_cnt 
 
 power_ctrl_txpower_decrs:
-070e 6808cd32 fetcht 1 ,mem_rssi_avg_received 
-070f 58000077 setarg rssi_dis_min_24g 
-0710 c5130712 bmark1 mark_24g ,power_ctrl_txpower_decrs_next 
-0711 58000075 setarg rssi_dis_min_ble 
+050e 6808cd65 fetcht 1 ,mem_rssi_avg_received 
+050f 58000077 setarg rssi_dis_min_24g 
+0510 c5130512 bmark1 mark_24g ,power_ctrl_txpower_decrs_next 
+0511 58000075 setarg rssi_dis_min_ble 
 
 power_ctrl_txpower_decrs_next:
-0712 98467c00 isub temp ,null 
-0713 24610000 nrtn positive 
-0714 6800cd34 fetch 1 ,mem_power_ctrl_level 
-0715 c0000723 beq 0 ,power_ctrl_decrs_level0 
-0716 1fe0ffff increase -1 ,pdata 
-0717 6000cd34 store 1 ,mem_power_ctrl_level 
-0718 c0000723 beq 0 ,power_ctrl_decrs_level0 
+0512 98467c00 isub temp ,null 
+0513 24610000 nrtn positive 
+0514 6800cd67 fetch 1 ,mem_power_ctrl_level 
+0515 c0000523 beq 0 ,power_ctrl_decrs_level0 
+0516 1fe0ffff increase -1 ,pdata 
+0517 6000cd67 store 1 ,mem_power_ctrl_level 
+0518 c0000523 beq 0 ,power_ctrl_decrs_level0 
 
 power_ctrl_decrs_level1:
 
 power_ctrl_incrs_level1:
-0719 7041de00 jam tx_power_0db ,mem_tx_power 
-071a 20600000 rtn 
+0519 7041de00 jam tx_power_0db ,mem_tx_power 
+051a 20600000 rtn 
 
 power_ctrl_txpower_incrs_force:
-071b 704d3100 jam 0 ,mem_power_ctrl_pac_succ_cnt 
+051b 704d6400 jam 0 ,mem_power_ctrl_pac_succ_cnt 
 
 power_ctrl_txpower_incrs:
-071c 6800cd34 fetch 1 ,mem_power_ctrl_level 
-071d c0010721 beq 2 ,power_ctrl_incrs_level2 
-071e 1fe0fe01 increase 1 ,pdata 
-071f 6000cd34 store 1 ,mem_power_ctrl_level 
-0720 c0008719 beq 1 ,power_ctrl_incrs_level1 
+051c 6800cd67 fetch 1 ,mem_power_ctrl_level 
+051d c0010521 beq 2 ,power_ctrl_incrs_level2 
+051e 1fe0fe01 increase 1 ,pdata 
+051f 6000cd67 store 1 ,mem_power_ctrl_level 
+0520 c0008519 beq 1 ,power_ctrl_incrs_level1 
 
 power_ctrl_incrs_level2:
-0721 7041de02 jam tx_power_5db ,mem_tx_power 
-0722 20600000 rtn 
+0521 7041de02 jam tx_power_5db ,mem_tx_power 
+0522 20600000 rtn 
 
 power_ctrl_decrs_level0:
-0723 7041de04 jam tx_power_f5db ,mem_tx_power 
-0724 20600000 rtn 
+0523 7041de04 jam tx_power_f5db ,mem_tx_power 
+0524 20600000 rtn 
 
 p_set_freq_tx:
-0725 60088017 storet 1 ,mem_last_freq 
-0726 1840a200 add temp ,0 ,rega 
-0727 20402981 call rf_write_freq 
-0728 58000500 setarg param_pll_setup 
-0729 20402a8f call sleep 
+0525 60088017 storet 1 ,mem_last_freq 
+0526 1840a200 add temp ,0 ,rega 
+0527 20402981 call rf_write_freq 
+0528 58000500 setarg param_pll_setup 
+0529 20402a8f call sleep 
 
 p_rf_tx_enable:
-072a 70890601 jam 0x1 ,rfen_adc 
-072b 7089003c jam 0x3c ,rfen_rx 
-072c 708901e0 jam 0xe0 ,rfen_tx 
-072d 2000000a nop 10 
-072e 70890201 jam 0x01 ,rfen_mdm 
-072f 7089023d jam 0x3d ,rfen_mdm 
-0730 2000000a nop 10 
-0731 708903b7 jam 0xb7 ,rfen_sn 
-0732 2000000a nop 10 
-0733 7089027d jam 0x7d ,rfen_mdm 
-0734 6800c1de fetch 1 ,mem_tx_power 
-0735 c001073d beq tx_power_5db ,p_set_tx_power_5db 
-0736 c0020742 beq tx_power_f5db ,p_set_tx_power_f5db 
-0737 c0100751 beq tx_power_pair ,p_set_tx_power_pair 
+052a 70890601 jam 0x1 ,rfen_adc 
+052b 7089003c jam 0x3c ,rfen_rx 
+052c 708901e0 jam 0xe0 ,rfen_tx 
+052d 2000000a nop 10 
+052e 70890201 jam 0x01 ,rfen_mdm 
+052f 7089023d jam 0x3d ,rfen_mdm 
+0530 2000000a nop 10 
+0531 708903b7 jam 0xb7 ,rfen_sn 
+0532 2000000a nop 10 
+0533 7089027d jam 0x7d ,rfen_mdm 
+0534 6800c1de fetch 1 ,mem_tx_power 
+0535 c001053d beq tx_power_5db ,p_set_tx_power_5db 
+0536 c0020542 beq tx_power_f5db ,p_set_tx_power_f5db 
+0537 c0100551 beq tx_power_pair ,p_set_tx_power_pair 
 
 p_set_tx_power_0db:
-0738 20400747 call p_rx_low_sens 
-0739 708955d0 jam 0xd0 ,0x8955 
-073a 708956e0 jam 0xe0 ,0x8956 
-073b 7089586c jam 0x6c ,0x8958 
-073c 2020294b branch set_tx_power_0db 
+0538 20400547 call p_rx_low_sens 
+0539 708955d0 jam 0xd0 ,0x8955 
+053a 708956e0 jam 0xe0 ,0x8956 
+053b 7089586c jam 0x6c ,0x8958 
+053c 2020294b branch set_tx_power_0db 
 
 p_set_tx_power_5db:
-073d 2040074c call p_rx_high_sens 
-073e 708955d0 jam 0xd0 ,0x8955 
-073f 708956e0 jam 0xe0 ,0x8956 
-0740 7089583c jam 0x3c ,0x8958 
-0741 20202953 branch set_tx_power_5db 
+053d 2040054c call p_rx_high_sens 
+053e 708955d0 jam 0xd0 ,0x8955 
+053f 708956e0 jam 0xe0 ,0x8956 
+0540 7089583c jam 0x3c ,0x8958 
+0541 20202953 branch set_tx_power_5db 
 
 p_set_tx_power_f5db:
-0742 20400747 call p_rx_low_sens 
-0743 708955d0 jam 0xd0 ,0x8955 
-0744 708956c0 jam 0xc0 ,0x8956 
-0745 7089586c jam 0x6c ,0x8958 
-0746 2020295b branch set_tx_power_f5db 
+0542 20400547 call p_rx_low_sens 
+0543 708955d0 jam 0xd0 ,0x8955 
+0544 708956c0 jam 0xc0 ,0x8956 
+0545 7089586c jam 0x6c ,0x8958 
+0546 2020295b branch set_tx_power_f5db 
 
 p_rx_low_sens:
-0747 70894c5b jam 0x5b ,0x894c 
-0748 70894d96 jam 0x96 ,0x894d 
-0749 70894e2c jam 0x2c ,0x894e 
-074a 70894f46 jam 0x46 ,0x894f 
-074b 20600000 rtn 
+0547 70894c5b jam 0x5b ,0x894c 
+0548 70894d96 jam 0x96 ,0x894d 
+0549 70894e2c jam 0x2c ,0x894e 
+054a 70894f46 jam 0x46 ,0x894f 
+054b 20600000 rtn 
 
 p_rx_high_sens:
-074c 70894cfb jam 0xfb ,0x894c 
-074d 70894def jam 0xef ,0x894d 
-074e 70894eec jam 0xec ,0x894e 
-074f 70894f5e jam 0x5e ,0x894f 
-0750 20600000 rtn 
+054c 70894cfb jam 0xfb ,0x894c 
+054d 70894def jam 0xef ,0x894d 
+054e 70894eec jam 0xec ,0x894e 
+054f 70894f5e jam 0x5e ,0x894f 
+0550 20600000 rtn 
 
 p_set_tx_power_pair:
-0751 708956c2 jam 0xc2 ,0x8956 
-0752 708955d0 jam 0xd0 ,0x8955 
-0753 20600000 rtn 
+0551 708956c2 jam 0xc2 ,0x8956 
+0552 708955d0 jam 0xd0 ,0x8955 
+0553 20600000 rtn 
 
 p_shutdown_radio:
-0754 18002a08 force 8 ,radio_ctrl 
-0755 202028fa branch shutdown_radio + 1 
+0554 18002a08 force 8 ,radio_ctrl 
+0555 202028fa branch shutdown_radio + 1 
 
 p_initialize_radio_cont:
-0756 20402978 call initialize_radio_cont + 1 
-0757 70804205 jam clksel_dpll ,core_clksel 
-0758 20600000 rtn 
+0556 20402978 call initialize_radio_cont + 1 
+0557 20600000 rtn 
 
 p_zcode_entrance:
-0759 680891c5 fetcht 1 ,mem_zcode_temp_param0 
-075a 18518400 rshift4 temp ,temp 
-075b 6800cb51 fetch 1 ,mem_zcode_current_number 
-075c 98467c00 isub temp ,null 
-075d 20228778 branch p_zcode_run ,zero 
-075e 6008cb51 storet 1 ,mem_zcode_current_number 
-075f 18408401 increase 1 ,temp 
-0760 58000100 setarg zcode_buff_size 
-0761 984f8400 imul32 temp ,temp 
-0762 6801cb52 fetch 3 ,mem_xip_flash_offset 
-0763 98467e00 isub temp ,pdata 
-0764 6809cb55 fetcht 3 ,mem_flash_start_addr 
-0765 9840fe00 iadd temp ,pdata 
-0766 1fe0fffb increase -5 ,pdata 
-0767 6001cb58 store 3 ,mem_flash_address 
-0768 20400377 call p_flash_release_deep_power_down 
+0558 680891c6 fetcht 1 ,mem_zcode_temp_param0 
+0559 18518400 rshift4 temp ,temp 
+055a 6800cb50 fetch 1 ,mem_zcode_current_number 
+055b 98467c00 isub temp ,null 
+055c 20228577 branch p_zcode_run ,zero 
+055d 6008cb50 storet 1 ,mem_zcode_current_number 
+055e 18408401 increase 1 ,temp 
+055f 58000100 setarg zcode_buff_size 
+0560 984f8400 imul32 temp ,temp 
+0561 6801cb51 fetch 3 ,mem_xip_flash_offset 
+0562 98467e00 isub temp ,pdata 
+0563 6809cb54 fetcht 3 ,mem_flash_start_addr 
+0564 9840fe00 iadd temp ,pdata 
+0565 1fe0fffb increase -5 ,pdata 
+0566 6001cb57 store 3 ,mem_flash_address 
+0567 20400161 call p_flash_release_deep_power_down 
 
 p_zcode_read_loop:
-0769 6801cb58 fetch 3 ,mem_flash_address 
-076a d8400100 arg zcode_buff_size ,temp 
-076b da201f00 arg mem_zcode_buff ,rega 
-076c 20406562 call spid_read_flash 
-076d 68021f00 fetch 4 ,mem_zcode_buff 
-076e 680a4b5b fetcht 4 ,mem_zcode_head 
-076f 98467c00 isub temp ,null 
-0770 24228769 nbranch p_zcode_read_loop ,zero 
-0771 204002f5 call p_mouse_spi_init 
-0772 58001f00 setarg mem_zcode_buff 
-0773 60014199 store 2 ,mem_patch_ptr 
-0774 70419b40 jam zcode_code_size ,mem_patch_len 
-0775 204064ca call load_ucode 
-0776 58000000 setarg 0 
-0777 60024199 store 4 ,mem_patch_ptr 
+0568 6801cb57 fetch 3 ,mem_flash_address 
+0569 d8400100 arg zcode_buff_size ,temp 
+056a da201f00 arg mem_zcode_buff ,rega 
+056b 20406562 call spid_read_flash 
+056c 68021f00 fetch 4 ,mem_zcode_buff 
+056d 680a4b5a fetcht 4 ,mem_zcode_head 
+056e 98467c00 isub temp ,null 
+056f 24228568 nbranch p_zcode_read_loop ,zero 
+0570 20400130 call p_mouse_spi_init 
+0571 58001f00 setarg mem_zcode_buff 
+0572 60014199 store 2 ,mem_patch_ptr 
+0573 70419b40 jam zcode_code_size ,mem_patch_len 
+0574 204064ca call load_ucode 
+0575 58000000 setarg 0 
+0576 60024199 store 4 ,mem_patch_ptr 
 
 p_zcode_run:
-0778 680091c5 fetch 1 ,mem_zcode_temp_param0 
-0779 20200001 branch p_zcode 
+0577 680091c6 fetch 1 ,mem_zcode_temp_param0 
+0578 20200001 branch p_zcode 
+
+p_drawing_optima:
+0579 6802469b fetch 4 ,mem_mouse_x 
+057a 207a0000 rtn blank 
+057b 204005d1 call p_data_abs_check 
+057c 58000003 setarg 0x03 
+057d 204005c7 call p_pdata_greater_than_check 
+057e 205a05c3 call p_disable_asm ,blank 
+057f 245a05c5 ncall p_enable_asm ,blank 
+0580 58000002 setarg 0x02 
+0581 204005cc call p_data_less_than_check 
+0582 205a05c3 call p_disable_asm ,blank 
+0583 6800cb0b fetch 1 ,mem_mouse_asm_flag 
+0584 c0008588 beq 1 ,p_drawing_optima_modify 
+
+p_drawing_optima_init:
+0585 df200005 arg 5 ,loopcnt 
+0586 d8a04b0b arg mem_mouse_asm_flag ,contw 
+0587 20207ed4 branch clear_mem 
+
+p_drawing_optima_modify:
+0588 68014b0c fetch 2 ,mem_mouse_x_pre 
+0589 600111be store 2 ,mem_data_pre 
+058a 6801469b fetch 2 ,mem_mouse_x 
+058b 600111c0 store 2 ,mem_data_current 
+058c 2040059b call p_drawing_optima_data 
+058d 680111be fetch 2 ,mem_data_pre 
+058e 60014b0c store 2 ,mem_mouse_x_pre 
+058f 680111c0 fetch 2 ,mem_data_current 
+0590 6001469b store 2 ,mem_mouse_x 
+0591 68014b0e fetch 2 ,mem_mouse_y_pre 
+0592 600111be store 2 ,mem_data_pre 
+0593 6801469d fetch 2 ,mem_mouse_y 
+0594 600111c0 store 2 ,mem_data_current 
+0595 2040059b call p_drawing_optima_data 
+0596 680111be fetch 2 ,mem_data_pre 
+0597 60014b0e store 2 ,mem_mouse_y_pre 
+0598 680111c0 fetch 2 ,mem_data_current 
+0599 6001469d store 2 ,mem_mouse_y 
+059a 20600000 rtn 
+
+p_drawing_optima_data:
+059b 680111be fetch 2 ,mem_data_pre 
+059c 680911c0 fetcht 2 ,mem_data_current 
+059d 9840fe00 iadd temp ,pdata 
+059e 600191c2 store 3 ,mem_data_sum 
+059f 2feffe10 isolate1 16 ,pdata 
+05a0 202085a8 branch p_data_sum_overflow ,true 
+05a1 680091c3 fetch 1 ,mem_data_sum + 1 
+05a2 c07f85af beq 0xff ,p_data_sum_n 
+05a3 680091c2 fetch 1 ,mem_data_sum 
+
+p_data_store_pre:
+05a4 1fe37e00 rshift pdata ,pdata 
+05a5 600111be store 2 ,mem_data_pre 
+05a6 600111c0 store 2 ,mem_data_current 
+05a7 20600000 rtn 
+
+p_data_sum_overflow:
+05a8 680091c3 fetch 1 ,mem_data_sum + 1 
+05a9 c00005ac beq 0 ,p_data_sum_overflow_p 
+05aa 680191c2 fetch 3 ,mem_data_sum 
+05ab 202005a4 branch p_data_store_pre 
+
+p_data_sum_overflow_p:
+05ac 7011c400 jam 0 ,mem_data_sum + 2 
+05ad 680091c2 fetch 1 ,mem_data_sum 
+05ae 202005a4 branch p_data_store_pre 
+
+p_data_sum_n:
+05af 680091c2 fetch 1 ,mem_data_sum 
+05b0 204005ba call p_pdata_get_half 
+05b1 600091be store 1 ,mem_data_pre 
+05b2 600091c0 store 1 ,mem_data_current 
+05b3 203a05b8 branch p_data_zero ,blank 
+05b4 580000ff setarg 0xff 
+
+p_data_set_direction:
+05b5 600091bf store 1 ,mem_data_pre + 1 
+05b6 600091c1 store 1 ,mem_data_current + 1 
+05b7 20600000 rtn 
+
+p_data_zero:
+05b8 58000000 setarg 0 
+05b9 202005b5 branch p_data_set_direction 
+
+p_pdata_get_half:
+05ba 204005bf call p_pdata_invert 
+05bb 1fe37e00 rshift pdata ,pdata 
+
+p_pdata_get_new_value:
+05bc 204005c0 call p_rega_in_out 
+05bd 1fe67e00 sub pdata ,0 ,pdata 
+05be 20600000 rtn 
+
+p_pdata_invert:
+05bf 1fe67e00 sub pdata ,0 ,pdata 
+
+p_rega_in_out:
+05c0 60008aae store 1 ,mem_rega 
+05c1 68008aae fetch 1 ,mem_rega 
+05c2 20600000 rtn 
+
+p_disable_asm:
+05c3 704b0b00 jam 0 ,mem_mouse_asm_flag 
+05c4 20600000 rtn 
+
+p_enable_asm:
+05c5 704b0b01 jam 1 ,mem_mouse_asm_flag 
+05c6 20600000 rtn 
+
+p_pdata_greater_than_check:
+05c7 9a267c00 isub rega ,null 
+05c8 24217fef nbranch disable_blank ,positive 
+05c9 9a467c00 isub regb ,null 
+05ca 24217fef nbranch disable_blank ,positive 
+05cb 20207ff1 branch enable_blank 
+
+p_data_less_than_check:
+05cc 9a267c00 isub rega ,null 
+05cd 24610000 nrtn positive 
+05ce 9a467c00 isub regb ,null 
+05cf 24610000 nrtn positive 
+05d0 20207ff1 branch enable_blank 
+
+p_data_abs_check:
+05d1 6801469b fetch 2 ,mem_mouse_x 
+05d2 204005d8 call p_data_abs 
+05d3 1fe22200 copy pdata ,rega 
+05d4 6801469d fetch 2 ,mem_mouse_y 
+05d5 204005d8 call p_data_abs 
+05d6 1fe22400 copy pdata ,regb 
+05d7 20600000 rtn 
+
+p_data_abs:
+05d8 600111c0 store 2 ,mem_data_current 
+05d9 680091c1 fetch 1 ,mem_data_current + 1 
+05da c07f85de beq 0xff ,p_data_reversal 
+05db 680091c0 fetch 1 ,mem_data_current 
+
+p_data_abs_store:
+05dc 1fe17eff and_into 0xff ,pdata 
+05dd 20600000 rtn 
+
+p_data_reversal:
+05de 680111c0 fetch 2 ,mem_data_current 
+05df 1fe67e00 sub pdata ,0 ,pdata 
+05e0 202005dc branch p_data_abs_store 
 org 0x2000
 
 start:
@@ -12805,6 +12270,8 @@
 3d6d 6800c6b6 fetch 1 ,mem_mouse_dpi_button_state 
 3d6e c1000000 rtneq dpi_button_state_down 
 3d6f 7046b600 jam dpi_button_state_down ,mem_mouse_dpi_button_state 
+
+mouse_dpi_down_setting:
 3d70 6800c77a fetch 1 ,mem_mouse_dpi 
 3d71 1fe0fe01 increase 1 ,pdata 
 3d72 1fe17e03 and pdata ,0x03 ,pdata 
@@ -13589,6 +13056,8 @@
 3fc5 6808c6f3 fetcht 1 ,mem_sensor_data_gpio 
 3fc6 2040681d call gpio_get_bit 
 3fc7 24608000 nrtn true 
+
+mouse_p3212_sensor_motion_1:
 3fc8 58000000 setarg pan_reg_pid_l 
 3fc9 20406414 call twspi_read 
 3fca c09840d1 bne p32xx_id1 ,mouse_twspi_reset 
@@ -35254,779 +34723,493 @@
 org 0x10001
 
 z_entrance0:
-10001 c0000003  beq zcode_00 ,z_page_wait_fhs_reply_ok
-10002 20600000  rtn
+10001 c0000005  beq zcode_00 ,z_page_wait_fhs_reply_ok
+10002 c0008012  beq zcode_01 ,z_mouse_bb_disconnected
+10003 c0010028  beq zcode_02 ,z_hid_rx_process
+10004 20600000  rtn
 
 z_page_wait_fhs_reply_ok:
-10003 6800800e  fetch 1 ,mem_page_rcv_fhs
-10004 1fe0fe01  increase 1 ,pdata
-10005 6000800e  store 1 ,mem_page_rcv_fhs
-10006 20402435  call prepare_newconn
+10005 6800800e  fetch 1 ,mem_page_rcv_fhs
+10006 1fe0fe01  increase 1 ,pdata
+10007 6000800e  store 1 ,mem_page_rcv_fhs
+10008 20402435  call prepare_newconn
 
 z_master_newconn_loop:
-10007 7920002c  set1 mark_first_packet ,mark
-10008 204022f2  call master_newconn_once
-10009 202c000e  branch z_newconn_poll_responded ,sync
-1000a 793f802c  set0 mark_first_packet ,mark
-1000b 20402455  call new_conn_timeout
-1000c 243a0007  nbranch z_master_newconn_loop ,blank
-1000d 202020fc  branch page_restart
+10009 7920002c  set1 mark_first_packet ,mark
+1000a 204022f2  call master_newconn_once
+1000b 202c0010  branch z_newconn_poll_responded ,sync
+1000c 793f802c  set0 mark_first_packet ,mark
+1000d 20402455  call new_conn_timeout
+1000e 243a0009  nbranch z_master_newconn_loop ,blank
+1000f 202020fc  branch page_restart
 
 z_newconn_poll_responded:
-1000e 793f802c  set0 mark_first_packet ,mark
-1000f 2020215f  branch newconn_poll_responded
-org 0x20001
-
-z_entrance1:
-20001 c0080004  beq zcode_10 ,z_mouse_bb_disconnected
-20002 c008801a  beq zcode_11 ,z_hid_rx_process
-20003 20600000  rtn
+10010 793f802c  set0 mark_first_packet ,mark
+10011 2020215f  branch newconn_poll_responded
 
 z_mouse_bb_disconnected:
-20004 70480a00  jam 0 ,mem_mouse_enter_sniff_count
-20005 7041e30e  jam 0x0e ,mem_sniff_param_interval
-20006 204041e7  call mouse_bb_discon_clear_stack
-20007 68014208  fetch app_disc_rsn_size ,mem_app_disconn_reason
-20008 c283800e  bbit1 app_disc_ble ,z_mouse4_0_event_bb_disconn
-20009 c28033a9  bbit1 app_disc_by_button ,app_disconn_reason_clear
-2000a c2808011  bbit1 app_disc_after_pairing ,z_mouse_event_light_state_pairing
-2000b c2810014  bbit1 app_disc_after_reconn ,z_mouse_event_light_state_hibernate
-2000c c2818014  bbit1 app_disc_after_sniff ,z_mouse_event_light_state_hibernate
-2000d 202042b0  branch mouse_start_discovery
-
-z_mouse4_0_event_bb_disconn:
-2000e 204041c1  call mouse_le_clean_connect_flag
-2000f 68014208  fetch app_disc_rsn_size ,mem_app_disconn_reason
-20010 202041f7  branch mouse4_0_event_bb_disconn + 2
+10012 70480800  jam 0 ,mem_mouse_enter_sniff_count
+10013 7041e30e  jam 0x0e ,mem_sniff_param_interval
+10014 204041e7  call mouse_bb_discon_clear_stack
+10015 68014208  fetch app_disc_rsn_size ,mem_app_disconn_reason
+10016 c283c1f5  bbit1 app_disc_ble ,mouse4_0_event_bb_disconn
+10017 c28033a9  bbit1 app_disc_by_button ,app_disconn_reason_clear
+10018 c280801c  bbit1 app_disc_after_pairing ,z_mouse_event_light_state_pairing
+10019 c281001f  bbit1 app_disc_after_reconn ,z_mouse_event_light_state_hibernate
+1001a c281801f  bbit1 app_disc_after_sniff ,z_mouse_event_light_state_hibernate
+1001b 202042b0  branch mouse_start_discovery
 
 z_mouse_event_light_state_pairing:
-20011 c2828014  bbit1 app_disc_after_handshake ,z_mouse_event_light_state_hibernate
-20012 c2818014  bbit1 app_disc_after_sniff ,z_mouse_event_light_state_hibernate
-20013 202042b0  branch mouse_start_discovery
+1001c c282801f  bbit1 app_disc_after_handshake ,z_mouse_event_light_state_hibernate
+1001d c281801f  bbit1 app_disc_after_sniff ,z_mouse_event_light_state_hibernate
+1001e 202042b0  branch mouse_start_discovery
 
 z_mouse_event_light_state_hibernate:
-20014 68014682  fetch 2 ,mem_ui_state_map
-20015 c28642b0  bbit1 ui_state_btn_down ,mouse_start_discovery
-20016 204033a9  call app_disconn_reason_clear
-20017 20400532  call p_mouse_check_key_gpio
-20018 c00284c0  beq mouse_lm_button ,p_mouse_null_enter_hibernate_enable
-20019 202033a7  branch app_bb_hibernate
+1001f 68014682  fetch 2 ,mem_ui_state_map
+10020 c28642b0  bbit1 ui_state_btn_down ,mouse_start_discovery
+10021 204033a9  call app_disconn_reason_clear
+10022 20400360  call p_mouse_check_key_gpio
+10023 c0038025  beq mouse_lmr_button ,z_mouse_null_enter_hibernate_enable
+10024 202033a7  branch app_bb_hibernate
+
+z_mouse_null_enter_hibernate_enable:
+10025 70479f01  jam 1 ,mem_mouse_null_enter_hibernate_flag
+10026 7047a028  jam 40 ,mem_mouse_null_enter_hibernate_timer
+10027 20600000  rtn
 
 z_hid_rx_process:
-2001a 68010264  fetch 2 ,mem_l2cap_payload_ptr
-2001b 1fe20c00  copy pdata ,contr
-2001c e8c08000  ifetch 1 ,contr
-2001d 6000cb04  store 1 ,mem_l2cap_rcv
-2001e 1fe1040f  and pdata ,0x0f ,temp
-2001f 1ff1fe00  rshift4 pdata ,pdata
-20020 c0038023  beq hid_type_set_protocol ,z_hid_rx_set_protocol
-20021 c000802a  beq hid_type_control ,z_hid_rx_process_hid_control
-20022 20204d39  branch hid_rx_process + 6
+10028 68010264  fetch 2 ,mem_l2cap_payload_ptr
+10029 1fe20c00  copy pdata ,contr
+1002a e8c08000  ifetch 1 ,contr
+1002b 6000cb02  store 1 ,mem_l2cap_rcv
+1002c 1fe1040f  and pdata ,0x0f ,temp
+1002d 1ff1fe00  rshift4 pdata ,pdata
+1002e c0038031  beq hid_type_set_protocol ,z_hid_rx_set_protocol
+1002f c0008038  beq hid_type_control ,z_hid_rx_process_hid_control
+10030 20204d39  branch hid_rx_process + 6
 
 z_hid_rx_set_protocol:
-20023 20404d53  call hid_rx_process_handshake
-20024 704b0500  jam 0 ,mem_mouse_bt_boot_mode
-20025 6800cb04  fetch 1 ,mem_l2cap_rcv
-20026 2feffe00  isolate1 0 ,pdata
-20027 20608000  rtn true
-20028 704b0501  jam 1 ,mem_mouse_bt_boot_mode
-20029 20600000  rtn
+10031 20404d53  call hid_rx_process_handshake
+10032 704b0300  jam 0 ,mem_mouse_bt_boot_mode
+10033 6800cb02  fetch 1 ,mem_l2cap_rcv
+10034 2feffe00  isolate1 0 ,pdata
+10035 20608000  rtn true
+10036 704b0301  jam 1 ,mem_mouse_bt_boot_mode
+10037 20600000  rtn
 
 z_hid_rx_process_hid_control:
-2002a 18427e00  copy temp ,pdata
-2002b c0028434  beq hid_control_p_virtualcableunplug ,p_mouse_irtual_cable_unplug
-2002c 20204d41  branch hid_rx_process_hid_control + 2
-org 0x30001
+10038 18427e00  copy temp ,pdata
+10039 c002821a  beq hid_control_p_virtualcableunplug ,p_mouse_irtual_cable_unplug
+1003a 20204d41  branch hid_rx_process_hid_control + 2
+org 0x20001
 
-z_entrance2:
-30001 c0100003  beq zcode_20 ,z_send_lmp
-30002 20600000  rtn
+z_entrance1:
+20001 c0080010  beq zcode_10 ,z_send_lmp
+20002 c0088004  beq zcode_11 ,z_mouse4_0_check_reconn_target
+20003 20600000  rtn
+
+z_mouse4_0_check_reconn_target:
+20004 704b6c01  jam 1 ,mem_le_send_security_request_flag
+20005 7047a101  jam 1 ,mem_mouse_le_reconnect_flag
+20006 680146a8  fetch 2 ,mem_mouse_direct_timeout
+20007 600146ae  store 2 ,mem_mouse_direct_timer
+20008 20400264  call p_mouse_store_eeprom_enable
+20009 20403418  call app_lpm_mult_disable
+2000a 204000e0  call p_le_check_adv_flag
+2000b 58000004  setarg adv_flag_bredr_not_supported
+2000c e0c08000  istore 1 ,contr
+2000d 20400261  call p_le_adv_data_update3
+2000e 70436f03  jam 0x03 ,mem_le_adv_data_len
+2000f 20207df4  branch check_51cmd_adv
 
 z_send_lmp:
-30003 78547c00  disable user
-30004 204062c1  call lmo_fifo_process
-30005 68008048  fetch 1 ,mem_lmp_to_send
-30006 207a0000  rtn blank
-30007 c283800c  bbit1 7 ,z_send_lmp_escape
-30008 c001801c  beq lmp_accepted ,z_send_lmp_accepted
-30009 c0188018  beq lmp_setup_complete ,z_send_lmp_setup_complete
-3000a c00b801a  beq lmp_sniff_req ,z_send_lmp_sniff_req
-3000b 20206010  branch send_lmp0
+20010 78547c00  disable user
+20011 204062c1  call lmo_fifo_process
+20012 68008048  fetch 1 ,mem_lmp_to_send
+20013 207a0000  rtn blank
+20014 c2838019  bbit1 7 ,z_send_lmp_escape
+20015 c0018029  beq lmp_accepted ,z_send_lmp_accepted
+20016 c0188025  beq lmp_setup_complete ,z_send_lmp_setup_complete
+20017 c00b8027  beq lmp_sniff_req ,z_send_lmp_sniff_req
+20018 20206010  branch send_lmp0
 
 z_send_lmp_escape:
-3000c c042000f  beq lmp_ext_features_res ,z_send_lmpext_features_res
-3000d c0418012  beq lmp_ext_features_req ,z_send_lmpext_features_req
-3000e 2020603f  branch send_lmp_escape
+20019 c042001c  beq lmp_ext_features_res ,z_send_lmpext_features_res
+2001a c041801f  beq lmp_ext_features_req ,z_send_lmpext_features_req
+2001b 2020603f  branch send_lmp_escape
 
 z_send_lmpext_features_res:
-3000f 20400015  call z_check_ssp_enable
-30010 68008048  fetch 1 ,mem_lmp_to_send
-30011 20206099  branch send_lmpext_features_res
+2001c 20400022  call z_check_ssp_enable
+2001d 68008048  fetch 1 ,mem_lmp_to_send
+2001e 20206099  branch send_lmpext_features_res
 
 z_send_lmpext_features_req:
-30012 20400015  call z_check_ssp_enable
-30013 68008048  fetch 1 ,mem_lmp_to_send
-30014 2020610d  branch send_lmpext_features_req
+2001f 20400022  call z_check_ssp_enable
+20020 68008048  fetch 1 ,mem_lmp_to_send
+20021 2020610d  branch send_lmpext_features_req
 
 z_check_ssp_enable:
-30015 6800c65a  fetch 1 ,mem_ssp_enable
-30016 203a612b  branch ssp_disable ,blank
-30017 20206124  branch ssp_enable
+20022 6800c65a  fetch 1 ,mem_ssp_enable
+20023 203a612b  branch ssp_disable ,blank
+20024 20206124  branch ssp_enable
 
 z_send_lmp_setup_complete:
-30018 704b0301  jam 1 ,mem_bt_send_lmp_setup_complete
-30019 202061c3  branch send_lmp_setup_complete
+20025 704b0101  jam 1 ,mem_bt_send_lmp_setup_complete
+20026 202061c3  branch send_lmp_setup_complete
 
 z_send_lmp_sniff_req:
-3001a 704b0b04  jam 4 ,mem_mouse_bt_send_first_package_timer
-3001b 202061a4  branch send_lmp_sniff_req
+20027 704b0904  jam 4 ,mem_mouse_bt_send_first_package_timer
+20028 202061a4  branch send_lmp_sniff_req
 
 z_send_lmp_accepted:
-3001c 18007e02  force 2 ,pdata
-3001d 20406298  call msg_send_lmp
-3001e 68008049  fetch 1 ,mem_lmi_opcode
-3001f e0a08000  istore 1 ,contw
-30020 6000cafe  store 1 ,mem_lmi_opcode_temp
-30021 204062a7  call send_lmp_follow
-30022 6800cafe  fetch 1 ,mem_lmi_opcode_temp
-30023 c0170025  beq lmp_max_slot_req ,z_send_lmp_accepted_max_slot_req
-30024 20206051  branch send_lmp_accepted + 7
+20029 18007e02  force 2 ,pdata
+2002a 20406298  call msg_send_lmp
+2002b 68008049  fetch 1 ,mem_lmi_opcode
+2002c e0a08000  istore 1 ,contw
+2002d 6000cafc  store 1 ,mem_lmi_opcode_temp
+2002e 204062a7  call send_lmp_follow
+2002f 6800cafc  fetch 1 ,mem_lmi_opcode_temp
+20030 c0170032  beq lmp_max_slot_req ,z_send_lmp_accepted_max_slot_req
+20031 20206051  branch send_lmp_accepted + 7
 
 z_send_lmp_accepted_max_slot_req:
-30025 6800cb01  fetch 1 ,mem_bt_rcvd_switch_req_accept
-30026 207a0000  rtn blank
-30027 704b0100  jam 0 ,mem_bt_rcvd_switch_req_accept
-30028 6800cb03  fetch 1 ,mem_bt_send_lmp_setup_complete
-30029 c1810000  rtnne 2
-3002a 704b0201  jam 1 ,mem_bt_send_max_slot_req_accept_after_switch
-3002b 1c427e00  copy clkn_bt ,pdata
-3002c 600204e9  store 4 ,mem_aurand_send_delay_time
-3002d 20600000  rtn
-org 0x40001
-
-z_entrance3:
-40001 c0180003  beq zcode_30 ,z_process_conn_sm
-40002 20600000  rtn
-
-z_process_conn_sm:
-40003 204062bc  call lmo_fifo_check
-40004 247a0000  nrtn blank
-
-z_process_conn_sm_continue:
-40005 68008055  fetch 1 ,mem_conn_sm
-40006 207a0000  rtn blank
-40007 c0020025  beq conn_sm_send_conn_req ,z_host_create_conn_send_conn_req
-40008 c008000a  beq conn_sm_wait_switch_after_host_connection ,z_host_creat_conn_wait_switch
-40009 20206320  branch process_conn_sm_continue + 2
-
-z_host_creat_conn_wait_switch:
-4000a 6800c55b  fetch 1 ,mem_switch_flag
-4000b c1000000  rtneq switch_flag_init
-4000c c000800e  beq switch_flag_accept ,z_host_create_conn_switch_accept
-4000d 2020635f  branch host_creat_conn_wait_switch + 3
-
-z_host_create_conn_switch_accept:
-4000e 20748000  rtn master
-
-z_host_create_conn_auth_pair:
-4000f 6800816d  fetch 1 ,mem_connection_options
-40010 c2800012  bbit1 connection_auth ,z_host_create_conn_auth_pair_true
-40011 20206399  branch host_create_conn_auth_pair + 1
-
-z_host_create_conn_auth_pair_true:
-40012 6800cb03  fetch 1 ,mem_bt_send_lmp_setup_complete
-40013 c000e39d  beq 1 ,host_create_conn_auth_pair_true
-40014 6800c1bd  fetch 1 ,mem_link_key_exists
-40015 203a63a9  branch host_create_conn_auth_pair_nokey ,blank
-40016 680084d1  fetch 1 ,mem_lmp_conn_state
-40017 c4018000  rtnbit0 sent_setup_complete
-40018 c4010000  rtnbit0 received_setup_complete
-40019 6800cb02  fetch 1 ,mem_bt_send_max_slot_req_accept_after_switch
-4001a 207a0000  rtn blank
-4001b 704b0200  jam 0 ,mem_bt_send_max_slot_req_accept_after_switch
-4001c 680204e9  fetch 4 ,mem_aurand_send_delay_time
-4001d d8400014  arg 20 ,temp
-4001e 98408400  iadd temp ,temp
-4001f 1c427e00  copy clkn_bt ,pdata
-40020 98467c00  isub temp ,null
-40021 24210023  nbranch z_bt_send_max_slot_req_accept_after_switch_wait ,positive
-40022 20206349  branch host_create_conn_auth
-
-z_bt_send_max_slot_req_accept_after_switch_wait:
-40023 704b0201  jam 1 ,mem_bt_send_max_slot_req_accept_after_switch
-40024 20600000  rtn
-
-z_host_create_conn_send_conn_req:
-40025 70480b14  jam 20 ,mem_mouse_send_switch_req_timer
-40026 2020636f  branch host_create_conn_send_conn_req
-org 0x50001
+20032 6800caff  fetch 1 ,mem_bt_rcvd_switch_req_accept
+20033 207a0000  rtn blank
+20034 704aff00  jam 0 ,mem_bt_rcvd_switch_req_accept
+20035 6800cb01  fetch 1 ,mem_bt_send_lmp_setup_complete
+20036 c1810000  rtnne 2
+20037 704b0001  jam 1 ,mem_bt_send_max_slot_req_accept_after_switch
+20038 1c427e00  copy clkn_bt ,pdata
+20039 600204e9  store 4 ,mem_aurand_send_delay_time
+2003a 20600000  rtn
+org 0x30001
 
-z_entrance4:
-50001 c0200004  beq zcode_40 ,z_le_update_param
-50002 c0208016  beq zcode_41 ,z_le_update_channel_map
-50003 20600000  rtn
+z_entrance2:
+30001 c0100006  beq zcode_20 ,z_le_update_param
+30002 c0108018  beq zcode_21 ,z_le_update_channel_map
+30003 c0110025  beq zcode_22 ,z_le_mouse_bb_event_connect_complete
+30004 c011802c  beq zcode_23 ,z_quit_connection_cont
+30005 20600000  rtn
 
 z_le_update_param:
-50004 2040000c  call z_mouse_le_conn_param_check
-50005 2020557d  branch le_update_param + 8
+30006 2040000e  call z_mouse_le_conn_param_check
+30007 2020557d  branch le_update_param + 8
 
 z_mouse_le_lpm_mult_reinit:
-50006 6800c7c7  fetch 1 ,mem_lpm_mult_init
-50007 6000c172  store 1 ,mem_lpm_mult
+30008 6800c7c5  fetch 1 ,mem_lpm_mult_init
+30009 6000c172  store 1 ,mem_lpm_mult
 
 z_mouse_le_conn_param_lpm_enable:
-50008 7047c600  jam le_lpm_enable ,mem_mouse_le_conn_param_reject
-50009 20600000  rtn
+3000a 7047c400  jam le_lpm_enable ,mem_mouse_le_conn_param_reject
+3000b 20600000  rtn
 
 z_mouse_le_conn_param_lpm_disable:
-5000a 7047c601  jam le_lpm_disable ,mem_mouse_le_conn_param_reject
-5000b 20600000  rtn
+3000c 7047c401  jam le_lpm_disable ,mem_mouse_le_conn_param_reject
+3000d 20600000  rtn
 
 z_mouse_le_conn_param_check:
-5000c 6800c3d6  fetch 1 ,mem_le_new_conninterval
-5000d 1fe67c0c  sub pdata ,le_interval_15ms ,null
-5000e 2421000a  nbranch z_mouse_le_conn_param_lpm_disable ,positive
-5000f 6800c3d8  fetch 1 ,mem_le_new_connslavelatency
-50010 6808c7c7  fetcht 1 ,mem_lpm_mult_init
-50011 98467c00  isub temp ,null
-50012 20210006  branch z_mouse_le_lpm_mult_reinit ,positive
-50013 6800c3d8  fetch 1 ,mem_le_new_connslavelatency
-50014 6000c172  store 1 ,mem_lpm_mult
-50015 20200008  branch z_mouse_le_conn_param_lpm_enable
+3000e 6800c3d6  fetch 1 ,mem_le_new_conninterval
+3000f 1fe67c0c  sub pdata ,le_interval_15ms ,null
+30010 2421000c  nbranch z_mouse_le_conn_param_lpm_disable ,positive
+30011 6800c3d8  fetch 1 ,mem_le_new_connslavelatency
+30012 6808c7c5  fetcht 1 ,mem_lpm_mult_init
+30013 98467c00  isub temp ,null
+30014 20210008  branch z_mouse_le_lpm_mult_reinit ,positive
+30015 6800c3d8  fetch 1 ,mem_le_new_connslavelatency
+30016 6000c172  store 1 ,mem_lpm_mult
+30017 2020000a  branch z_mouse_le_conn_param_lpm_enable
 
 z_le_update_channel_map:
-50016 6800843f  fetch 1 ,mem_le_state
-50017 c4030000  rtnbit0 lestate_update_map
-50018 2040001b  call z_le_channel_map_overflow_check
-50019 24740000  nrtn user
-5001a 202055a0  branch le_update_channel_map + 3
+30018 6800843f  fetch 1 ,mem_le_state
+30019 c4030000  rtnbit0 lestate_update_map
+3001a 2040001d  call z_le_channel_map_overflow_check
+3001b 24740000  nrtn user
+3001c 202055a0  branch le_update_channel_map + 3
 
 z_le_channel_map_overflow_check:
-5001b 78347c00  enable user
-5001c 6800845a  fetch 1 ,mem_le_event_count + 1
-5001d 1ff1fe00  rshift4 pdata ,pdata
-5001e c1878000  rtnne 0x0f
-5001f 68008460  fetch 1 ,mem_le_instant + 1
-50020 1ff1fe00  rshift4 pdata ,pdata
-50021 c1800000  rtnne 0x00
-50022 20207fe9  branch disable_user
-org 0x60001
+3001d 78347c00  enable user
+3001e 6800845a  fetch 1 ,mem_le_event_count + 1
+3001f 1ff1fe00  rshift4 pdata ,pdata
+30020 c1878000  rtnne 0x0f
+30021 68008460  fetch 1 ,mem_le_instant + 1
+30022 1ff1fe00  rshift4 pdata ,pdata
+30023 c1800000  rtnne 0x00
+30024 20207fe9  branch disable_user
+
+z_le_mouse_bb_event_connect_complete:
+30025 6800c7a1  fetch 1 ,mem_mouse_le_reconnect_flag
+30026 247a0000  nrtn blank
+30027 68008478  fetch 1 ,mem_le_att_handle
+30028 1fe67e1a  sub pdata ,26 ,pdata
+30029 24628000  nrtn zero
+3002a 7046c600  jam 0 ,mem_le_start_encrypt_timer
+3002b 20203d60  branch mouse_le_write_enable
+
+z_quit_connection_cont:
+3002c 204033af  call app_disconn_reason_collect_bt
+3002d 204026e9  call sniff_exit
+3002e 700a9902  jam bt_evt_bb_disconnected ,mem_fifo_temp
+3002f 20407d86  call ui_ipc_send_event
+30030 20405cf7  call init_lmp_work
+30031 20404d6b  call l2cap_init_work
+30032 2020246e  branch quit_connection_cont + 8
+org 0x40001
 
-z_entrance5:
-60001 c0280003  beq zcode_50 ,z_mouse_start_discovery
-60002 20600000  rtn
+z_entrance3:
+40001 c0180003  beq zcode_30 ,z_mouse_start_discovery
+40002 20600000  rtn
 
 z_mouse_start_discovery:
-60003 704b6d00  jam 0 ,mem_le_send_security_request_flag
-60004 204002cc  call p_mouse_tx_power_init
-60005 70472001  jam mode_bt_device1 ,mem_device_flag
-60006 70479e00  jam 0 ,mem_mouse_clear_sensor_data_flag
-60007 20400571  call p_mouse_load_random_addr_increase_count
-60008 680947c4  fetcht 2 ,mem_random_addr_increase_count
-60009 18408401  increase 1 ,temp
-6000a 600947c4  storet 2 ,mem_random_addr_increase_count
-6000b 600944a1  storet 2 ,mem_le_lap + 1
-6000c 2040033a  call p_mouse_store_random_addr_increase_count
-6000d 180a7e00  random pdata
-6000e 6000c4a0  store 1 ,mem_le_lap
+40003 204000d8  call p_mouse_tx_power_init
+40004 7047a100  jam 0 ,mem_mouse_le_reconnect_flag
+40005 704b6c00  jam 0 ,mem_le_send_security_request_flag
+40006 70479e00  jam 0 ,mem_mouse_clear_sensor_data_flag
+40007 70472001  jam mode_bt_device1 ,mem_device_flag
+40008 68014682  fetch 2 ,mem_ui_state_map
+40009 c285800b  bbit1 ui_state_ble_adv ,z_mouse_start_discovery_norandom
+4000a 2040001c  call z_mouse_le_addr_update
 
 z_mouse_start_discovery_norandom:
-6000f 6801cb69  fetch 3 ,mem_le_lap_high_3b
-60010 6001c4a3  store 3 ,mem_le_lap + 3
-60011 204002eb  call p_mouse_le_fast_conn_disable
-60012 20403418  call app_lpm_mult_disable
-60013 68014687  fetch 2 ,mem_discovery_timeout
-60014 600146ac  store 2 ,mem_mouse_discovery_timer
-60015 70016d06  jam 6 ,mem_connection_options
-60016 58000000  setarg 0
-60017 600146b0  store 2 ,mem_mouse_no_data_timer
-60018 600146ae  store 2 ,mem_mouse_direct_timer
-60019 d8e00007  arg mouse_store_eeprom_flag ,queue
-6001a 204043ce  call mouse_enable_function_flag
-6001b 204043ca  call mouse_bt_discovery_button_down_disable
-6001c 6800c092  fetch 1 ,mem_device_option
-6001d 2feffe01  isolate1 mode_4_mouse ,pdata
-6001e 20408023  call z_check_51cmd_adv ,true
-6001f 6800c092  fetch 1 ,mem_device_option
-60020 2feffe00  isolate1 mode_3_mouse ,pdata
-60021 2040fddd  call check_51cmd_start_discovery ,true
-60022 202004f5  branch p_mouse_discovery_multi_led_blink
-
-z_check_51cmd_adv:
-60023 7047a100  jam 0 ,mem_mouse_le_reconnect_flag
-60024 204002e4  call p_le_check_adv_flag
-60025 58000005  setarg adv_flag_bredr_not_supported | adv_flag_limited_discoverable
-60026 e0c08000  istore 1 ,contr
-60027 d8c04b12  arg mem_le_adv_swift_pair ,contr
-60028 20400578  call p_le_adv_data_update
-60029 20207df4  branch check_51cmd_adv
+4000b 20400163  call p_mouse_fast_conn_disable
+4000c 20403418  call app_lpm_mult_disable
+4000d 68014687  fetch 2 ,mem_discovery_timeout
+4000e 600146ac  store 2 ,mem_mouse_discovery_timer
+4000f 70016d06  jam 6 ,mem_connection_options
+40010 58000000  setarg 0
+40011 600146b0  store 2 ,mem_mouse_no_data_timer
+40012 600146ae  store 2 ,mem_mouse_direct_timer
+40013 20400264  call p_mouse_store_eeprom_enable
+40014 204043ca  call mouse_bt_discovery_button_down_disable
+40015 6800c092  fetch 1 ,mem_device_option
+40016 2feffe01  isolate1 mode_4_mouse ,pdata
+40017 20408256  call p_check_51cmd_adv ,true
+40018 6800c092  fetch 1 ,mem_device_option
+40019 2feffe00  isolate1 mode_3_mouse ,pdata
+4001a 2040fddd  call check_51cmd_start_discovery ,true
+4001b 202002c9  branch p_mouse_discovery_multi_led_blink
+
+z_mouse_le_addr_update:
+4001c 2040016b  call p_mouse_load_flash_user_data
+4001d 68094b6e  fetcht 2 ,mem_random_addr_increase_count
+4001e 18408401  increase 1 ,temp
+4001f 60094b6e  storet 2 ,mem_random_addr_increase_count
+40020 600944a1  storet 2 ,mem_le_lap + 1
+40021 20400128  call p_mouse_store_flash_user_data
+40022 180a7e00  random pdata
+40023 6000c4a0  store 1 ,mem_le_lap
+40024 20600000  rtn
+
+z3_pdata_0xff_check:
+40025 20407fe7  call enable_user
+40026 5800ffff  setarg 0xffff
+
+z3_pdata_0xff_check_loop:
+40027 e8c90000  ifetcht 2 ,contr
+40028 98467c00  isub temp ,null
+40029 2442ffe9  ncall disable_user ,zero
+4002a c2000027  loop z3_pdata_0xff_check_loop
+4002b 20600000  rtn
+org 0x50001
+
+z_entrance4:
+50001 20600000  rtn
+org 0x60001
+
+z_entrance5:
+60001 20600000  rtn
 org 0x70001
 
 z_entrance6:
-70001 c0300004  beq zcode_60 ,z_g24_start_24g_mode
-70002 c0308026  beq zcode_61 ,z_mouse_24g_pairing_button
-70003 20600000  rtn
-
-z_g24_start_24g_mode:
-70004 793f8026  set0 mark_24g ,mark
-70005 204001c7  call p_g24_syncword_crc8
-70006 204001e6  call p_g24_ch
-70007 6800cc08  fetch 1 ,mem_24g_pairing_sm
-70008 c1ff8000  rtnne state_24g_pairing_success
-70009 20400018  call z_g24_tx_attemp_data_prep
-
-z_g24_tx_attemp_dongle:
-7000a 58000000  setarg 0
-7000b 60014c25  store 2 ,mem_24g_check_dongle_times
-
-z_g24_tx_attemp_dongle_loop:
-7000c 200007d0  nop 2000
-7000d 6800cc25  fetch 1 ,mem_24g_check_dongle_times
-7000e c07fadd4  beq 0xff ,g24_stop_24g_mode
-7000f 20400176  call p_g24_transmit_receive_ack
-70010 242c0021  nbranch z_g24_attemp_txdata_retry ,sync
-70011 24378021  nbranch z_g24_attemp_txdata_retry ,user3
-
-z_g24_tx_attemp_dongle_succ:
-70012 79200026  set1 mark_24g ,mark
-70013 58000000  setarg 0
-70014 60014c25  store 2 ,mem_24g_check_dongle_times
-70015 20402f20  call g24_app_tx_attempt_success
-70016 20400170  call p_g24_txbuf_clear
-70017 20200388  branch p_g24_transmit_by_interrupt_enable
-
-z_g24_tx_attemp_data_prep:
-70018 70119eff  jam 0xff ,mem_24g_common_temp
-70019 6800cbf9  fetch 1 ,mem_24g_data_type
-7001a 6000919f  store 1 ,mem_24g_common_temp + 1
-7001b 68024c2f  fetch 4 ,mem_24g_device_addr
-7001c 600211a0  store 4 ,mem_24g_common_temp + 2
-7001d d8400006  arg 6 ,temp
-7001e da20119e  arg mem_24g_common_temp ,rega
-7001f 204001b4  call p_g24_put_data_in_buff
-70020 202001d4  branch p_g24_transmit_prep
-
-z_g24_attemp_txdata_retry:
-70021 68014c25  fetch 2 ,mem_24g_check_dongle_times
-70022 1fe0fe01  increase 1 ,pdata
-70023 60014c25  store 2 ,mem_24g_check_dongle_times
-70024 204001e6  call p_g24_ch
-70025 2020000c  branch z_g24_tx_attemp_dongle_loop
-
-z_mouse_24g_pairing_button:
-70026 6800c720  fetch 1 ,mem_device_flag
-70027 c1008000  rtneq mode_bt_device1
-70028 680246d3  fetch mouse_flag_len ,mem_mouse_flag
-70029 c4088000  rtnbit0 mouse_enable_24g
-7002a c3818000  rtnbit1 mosue_24g_pairing_flag
-7002b c6130000  rtnmark1 mark_24g
-7002c d8e00003  arg mosue_24g_pairing_flag ,queue
-7002d 204043ce  call mouse_enable_function_flag
-7002e 58000000  setarg 0
-7002f 600146ae  store 2 ,mem_mouse_direct_timer
-70030 6000c6b4  store 1 ,mem_mouse_send_blank_timer
-70031 60014c25  store 2 ,mem_24g_check_dongle_times
-70032 204042ca  call mouse_stop_discovery
-70033 20200034  branch z6_g24_start_pairing_sm1
-
-z6_g24_start_pairing_sm1:
-70034 79200026  set1 mark_24g ,mark
-70035 20400038  call z6_g24_pair_init
-
-z6_g24_set_pairing_sm_1:
-70036 704c0801  jam state_24g_pairing_1 ,mem_24g_pairing_sm
-70037 20600000  rtn
-
-z6_g24_pair_init:
-70038 7041de20  jam tx_power_pair ,mem_tx_power
-70039 704bf700  jam 0 ,mem_24g_pid
-7003a 704c024e  jam g24_pair_ch ,mem_24g_ch
-7003b 68024c04  fetch 4 ,mem_24g_paring_addr
-7003c 202001c6  branch p_g24_update_addr_and_synccrc8
+70001 20600000  rtn
 org 0x80001
 
 z_entrance7:
-80001 c0380003  beq zcode_70 ,z_g24_auto_pair_start
+80001 c0380003  beq zcode_70 ,z_mouse_irtual_cable_unplug
 80002 20600000  rtn
 
-z_g24_auto_pair_start:
-80003 793f8026  set0 mark_24g ,mark
-80004 2040002c  call z_g24_auto_pair_all_powerful
-80005 20400019  call z7_g24_tx_attemp_data_prep
-
-z_g24_auto_pair_restart:
-80006 704c2500  jam 0 ,mem_24g_check_dongle_times
-
-z_g24_auto_pair_start_loop:
-80007 200007d0  nop 2000
-80008 6800cc25  fetch 1 ,mem_24g_check_dongle_times
-80009 c07fadd4  beq 0xff ,g24_stop_24g_mode
-8000a 20400176  call p_g24_transmit_receive_ack
-8000b 242c0022  nbranch z_g24_auto_pair_retry ,sync
-8000c 24378022  nbranch z_g24_auto_pair_retry ,user3
-8000d 204001a0  call p_g24_ackpayload_parse
-8000e 204002cc  call p_mouse_tx_power_init
-8000f 68024c20  fetch 4 ,mem_24g_addr
-80010 680a4c04  fetcht 4 ,mem_24g_paring_addr
-80011 98467c00  isub temp ,null
-80012 20228036  branch z_g24_start_pairing_sm1 ,zero
-80013 79200026  set1 mark_24g ,mark
-80014 58000000  setarg 0
-80015 60014c25  store 2 ,mem_24g_check_dongle_times
-80016 20402f20  call g24_app_tx_attempt_success
-80017 20400170  call p_g24_txbuf_clear
-80018 20200388  branch p_g24_transmit_by_interrupt_enable
-
-z7_g24_tx_attemp_data_prep:
-80019 70119eff  jam 0xff ,mem_24g_common_temp
-8001a 6800cbf9  fetch 1 ,mem_24g_data_type
-8001b 6000919f  store 1 ,mem_24g_common_temp + 1
-8001c 68024c2f  fetch 4 ,mem_24g_device_addr
-8001d 600211a0  store 4 ,mem_24g_common_temp + 2
-8001e d8400006  arg 6 ,temp
-8001f da20119e  arg mem_24g_common_temp ,rega
-80020 204001b4  call p_g24_put_data_in_buff
-80021 202001d4  branch p_g24_transmit_prep
-
-z_g24_auto_pair_retry:
-80022 6800cc25  fetch 1 ,mem_24g_check_dongle_times
-80023 1fe0fe01  increase 1 ,pdata
-80024 6000cc25  store 1 ,mem_24g_check_dongle_times
-80025 6800cd36  fetch 1 ,mem_24g_auto_paring_switch
-80026 1fe0fe01  increase 1 ,pdata
-80027 1fe17e01  and_into 1 ,pdata
-80028 6000cd36  store 1 ,mem_24g_auto_paring_switch
-80029 c0000032  beq 0 ,z_g24_auto_pair_device_attemp
-8002a c0008034  beq 1 ,z_g24_auto_pair_pair_attemp
-8002b 20600000  rtn
-
-z_g24_auto_pair_all_powerful:
-8002c 7041de20  jam tx_power_pair ,mem_tx_power
-8002d 58000f0f  setarg 0x0f0f
-8002e 60014c20  store 2 ,mem_24g_addr
-8002f e0a10000  istore 2 ,contw
-
-z_g24_ch_syncword_crc8_init:
-80030 204001c7  call p_g24_syncword_crc8
-80031 202001e6  branch p_g24_ch
-
-z_g24_auto_pair_device_attemp:
-80032 2040002c  call z_g24_auto_pair_all_powerful
-80033 20200007  branch z_g24_auto_pair_start_loop
-
-z_g24_auto_pair_pair_attemp:
-80034 2040003a  call z_g24_pair_init
-80035 20200007  branch z_g24_auto_pair_start_loop
-
-z_g24_start_pairing_sm1:
-80036 79200026  set1 mark_24g ,mark
-80037 2040003a  call z_g24_pair_init
-
-z_g24_set_pairing_sm_1:
-80038 704c0801  jam state_24g_pairing_1 ,mem_24g_pairing_sm
-80039 20600000  rtn
-
-z_g24_pair_init:
-8003a 7041de20  jam tx_power_pair ,mem_tx_power
-8003b 704bf700  jam 0 ,mem_24g_pid
-8003c 704c024e  jam g24_pair_ch ,mem_24g_ch
-8003d 68024c04  fetch 4 ,mem_24g_paring_addr
-8003e 202001c6  branch p_g24_update_addr_and_synccrc8
+z_mouse_irtual_cable_unplug:
+80003 5fffffff  setarg -1
+80004 60030040  store 6 ,mem_plap
+80005 70018533  jam rec_3_mode ,mem_record_bt_mode
+80006 704b73ff  jam 0xff ,mem_mouse_fast_conn_flag
+80007 204042fb  call mouse_before_store_reconn_info
+80008 20200123  branch p_mouse_store_flash_device_info
 org 0x90001
 
 z_entrance8:
-90001 c0400008  beq zcode_80 ,z_mouse_setting_config
-90002 c0408004  beq zcode_81 ,z_le_addr_random_config
-90003 20600000  rtn
-
-z_le_addr_random_config:
-90004 204068a2  call load_adc_init
-90005 58001122  setarg 0x1122
-
-z_le_otp_adc_empty:
-90006 600147c4  store 2 ,mem_random_addr_increase_count
-90007 20600000  rtn
+90001 c0400003  beq zcode_80 ,z_mouse_setting_config
+90002 20600000  rtn
 
 z_mouse_setting_config:
-90008 204000ef  call p_g24_set_device_addr
-90009 20403e6e  call mouse_gpio_init
-9000a 6808cb46  fetcht 1 ,mem_flash_ncs_gpio
-9000b 2040680e  call gpio_config_output
-9000c 20403e1e  call mouse_param_init
-9000d 20400025  call z_mouse_bt_sdp_update
-9000e 58000000  setarg 0
-9000f 60014154  store 2 ,mem_lpm_interval
-90010 58001802  setarg 0x1802
-90011 600140bd  store 2 ,mem_fcomp_mul
-90012 204068a2  call load_adc_init
-90013 20403e54  call mouse_adc_init
-90014 20405810  call le_set_config_fixed_ltk
-90015 20405839  call le_set_justwork
-90016 2040582c  call le_set_fixed_ltk
-90017 20405818  call le_set_config_read_authentication
-90018 2040056d  call p_le_addr_random_config
-90019 20400377  call p_flash_release_deep_power_down
-9001a 20400343  call p_mouse_set_24g_addr_flash
-9001b 6801c700  fetch 3 ,mem_flash_base
-9001c 9a40fe00  iadd regb ,pdata
-9001d 20406562  call spid_read_flash
-9001e 2040032b  call p_mouse_load_flash_info_check
-9001f df200003  arg 3 ,loopcnt
-90020 d8c04722  arg mem_device1_addr ,contr
-90021 2040037e  call p_pdata_0xff_check
-90022 243402eb  nbranch p_mouse_le_fast_conn_disable ,user
-90023 204002ed  call p_mouse_fast_conn_init
-90024 20600000  rtn
+90003 20403e6e  call mouse_gpio_init
+90004 204002f7  call p_mouse_multi_led_gpio_set_float
+90005 6808cb43  fetcht 1 ,mem_flash_ncs_gpio
+90006 2040680e  call gpio_config_output
+90007 20400020  call z_mouse_bt_sdp_update
+90008 58000000  setarg 0
+90009 60014154  store 2 ,mem_lpm_interval
+9000a 204068a2  call load_adc_init
+9000b 6801421d  fetch 2 ,mem_0_5_adc_io_data
+9000c 60014b6e  store 2 ,mem_random_addr_increase_count
+9000d 20403e54  call mouse_adc_init
+9000e 20400116  call p_mouse_load_flash_info_check
+9000f 6800c720  fetch 1 ,mem_device_flag
+90010 c1010000  rtneq mode_24g_device
+90011 68034b4a  fetch 6 ,mem_mouse_24g_addr_init
+90012 680b4722  fetcht 6 ,mem_device1_addr
+90013 98467c00  isub temp ,null
+90014 24228163  nbranch p_mouse_fast_conn_disable ,zero
+90015 68094b6e  fetcht 2 ,mem_random_addr_increase_count
+90016 18408401  increase 1 ,temp
+90017 60094b6e  storet 2 ,mem_random_addr_increase_count
+90018 600944a1  storet 2 ,mem_le_lap + 1
+90019 20400128  call p_mouse_store_flash_user_data
+9001a 180a7e00  random pdata
+9001b 6000c4a0  store 1 ,mem_le_lap
+9001c 680344a0  fetch 6 ,mem_le_lap
+9001d 60034b60  store 6 ,mem_le_normal_lap
+9001e 20200165  branch p_mouse_fast_conn_le_switch_adv
+9001f 20600000  rtn
 
 z_mouse_bt_sdp_update:
-90025 204074b9  call enable_authrom
-90026 d8c08c00  arg 0x8c00 ,contr
-90027 d8a04878  arg mem_mouse_uuid_list ,contw
-90028 df200171  arg 369 ,loopcnt
-90029 20407f01  call memcpy
-9002a 580f0209  setarg 0x0f0209
-9002b e0a18000  istore 3 ,contw
-9002c 58120009  setarg 0x120009
-9002d e0a18000  istore 3 ,contw
-9002e 58100209  setarg 0x100209
-9002f e0a18000  istore 3 ,contw
-90030 58000009  setarg 0x000009
-90031 e0a18000  istore 3 ,contw
-90032 d8c08d71  arg 0x8d71 ,contr
-90033 df200109  arg 265 ,loopcnt
-90034 20407f01  call memcpy
-90035 70488f00  jam 0 ,mem_mouse_uuid_list + 23
-90036 7048876d  jam 0x6d ,mem_mouse_uuid_list + 15
-90037 5800401f  setarg 0x401f
-90038 600149dd  store 2 ,mem_mouse_uuid_list + 357
-90039 58006d04  setarg 0x6d04
-9003a 60014a46  store 2 ,mem_mouse_uuid_list + 462
-9003b 580016b0  setarg 0x16b0
-9003c 60014a4c  store 2 ,mem_mouse_uuid_list + 468
-9003d 58004878  setarg mem_mouse_uuid_list
-9003e 60014575  store 2 ,mem_ui_uuid_table
-9003f 20600000  rtn
+90020 204074b9  call enable_authrom
+90021 d8c08c00  arg 0x8c00 ,contr
+90022 d8a04876  arg mem_mouse_uuid_list ,contw
+90023 df200171  arg 369 ,loopcnt
+90024 20407f01  call memcpy
+90025 580f0209  setarg 0x0f0209
+90026 e0a18000  istore 3 ,contw
+90027 58120009  setarg 0x120009
+90028 e0a18000  istore 3 ,contw
+90029 58100209  setarg 0x100209
+9002a e0a18000  istore 3 ,contw
+9002b 58000009  setarg 0x000009
+9002c e0a18000  istore 3 ,contw
+9002d d8c08d71  arg 0x8d71 ,contr
+9002e df200109  arg 265 ,loopcnt
+9002f 20407f01  call memcpy
+90030 70488d00  jam 0 ,mem_mouse_uuid_list + 23
+90031 7048856d  jam 0x6d ,mem_mouse_uuid_list + 15
+90032 5800401f  setarg 0x401f
+90033 600149db  store 2 ,mem_mouse_uuid_list + 357
+90034 58006d04  setarg 0x6d04
+90035 60014a44  store 2 ,mem_mouse_uuid_list + 462
+90036 580016b0  setarg 0x16b0
+90037 60014a4a  store 2 ,mem_mouse_uuid_list + 468
+90038 58004876  setarg mem_mouse_uuid_list
+90039 60014575  store 2 ,mem_ui_uuid_table
+9003a 20600000  rtn
 org 0xa0001
 
 z_entrance9:
-a0001 c0480005  beq zcode_90 ,z_g24_pairing_sm
-a0002 c048801f  beq zcode_91 ,z_g24_paring_mode
-a0003 c049002f  beq zcode_92 ,z_mouse_24g_pairing_complete
-a0004 20600000  rtn
-
-z_g24_pairing_sm:
-a0005 6800cbfd  fetch 1 ,mem_24g_ensure
-a0006 c000ffe7  beq ensure_on_24g ,enable_user
-a0007 6800cc08  fetch 1 ,mem_24g_pairing_sm
-a0008 c000800c  beq state_24g_pairing_1 ,z_g24_pairing_sm_1
-a0009 c001000f  beq state_24g_pairing_2 ,z_g24_pairing_sm_2
-a000a c0018012  beq state_24g_pairing_3 ,z_g24_pairing_sm_3
-a000b 20202a8c  branch assert
-
-z_g24_pairing_sm_1:
-a000c 704c0811  jam state_24g_pairing_1_waiting_ack ,mem_24g_pairing_sm
-a000d 70119eaa  jam 0xaa ,mem_24g_common_temp
-a000e 20200014  branch z_g24_pairing_sm_common
-
-z_g24_pairing_sm_2:
-a000f 704c0812  jam state_24g_pairing_2_waiting_ack ,mem_24g_pairing_sm
-a0010 70119e55  jam 0x55 ,mem_24g_common_temp
-a0011 20200014  branch z_g24_pairing_sm_common
-
-z_g24_pairing_sm_3:
-a0012 704c0813  jam state_24g_pairing_3_waiting_ack ,mem_24g_pairing_sm
-a0013 70119e22  jam 0x22 ,mem_24g_common_temp
-
-z_g24_pairing_sm_common:
-a0014 6800cbf9  fetch 1 ,mem_24g_data_type
-a0015 1fe17e07  and_into bits_data ,pdata
-a0016 6000919f  store 1 ,mem_24g_common_temp + 1
-a0017 68024c2f  fetch 4 ,mem_24g_device_addr
-a0018 600211a0  store 4 ,mem_24g_common_temp + 2
-
-z_g24_put_pairing_data_in_buff:
-a0019 7011a400  jam 0 ,mem_24g_common_temp + 6
-a001a da20119e  arg mem_24g_common_temp ,rega
-a001b d8400007  arg 7 ,temp
-a001c 204001b4  call p_g24_put_data_in_buff
-a001d 20400138  call p_g24_txdata_enable_tx
-a001e 20207fe7  branch enable_user
-
-z_g24_paring_mode:
-a001f 6800cc08  fetch 1 ,mem_24g_pairing_sm
-a0020 c17f8000  rtneq state_24g_pairing_success
-a0021 c0088025  beq state_24g_pairing_1_waiting_ack ,z_g24_pairing_sm_1_waiting_ack
-a0022 c0090027  beq state_24g_pairing_2_waiting_ack ,z_g24_pairing_sm_2_waiting_ack
-a0023 c0098029  beq state_24g_pairing_3_waiting_ack ,z_g24_pairing_sm_3_waiting_ack
-a0024 20600000  rtn
-
-z_g24_pairing_sm_1_waiting_ack:
-a0025 704c0802  jam state_24g_pairing_2 ,mem_24g_pairing_sm
-a0026 2020016a  branch p_g24_transmit_abandon
-
-z_g24_pairing_sm_2_waiting_ack:
-a0027 704c0803  jam state_24g_pairing_3 ,mem_24g_pairing_sm
-a0028 2020016a  branch p_g24_transmit_abandon
-
-z_g24_pairing_sm_3_waiting_ack:
-a0029 704c08ff  jam state_24g_pairing_success ,mem_24g_pairing_sm
-a002a 700a9939  jam bt_evt_24g_pairing_complete ,mem_fifo_temp
-a002b 20407d86  call ui_ipc_send_event
-a002c 68024bd8  fetch 4 ,mem_24g_rxpayload + 2
-a002d 204001c6  call p_g24_update_addr_and_synccrc8
-a002e 2020016a  branch p_g24_transmit_abandon
-
-z_mouse_24g_pairing_complete:
-a002f 70478b01  jam 1 ,mem_mouse_24g_enter_lpm_enable
-a0030 d8e00003  arg mosue_24g_pairing_flag ,queue
-a0031 204043d2  call mouse_disable_function_flag
-a0032 58000000  setarg 0
-a0033 60014707  store 2 ,mem_24g_pairing_timer_count
-a0034 7046a700  jam 0 ,mem_mouse_move_flag
-a0035 2040405d  call mouse_read_sensor_common
-a0036 204004c3  call p_mouse_null_enter_hibernate_disable
-a0037 204002cc  call p_mouse_tx_power_init
-a0038 68024c20  fetch 4 ,mem_24g_addr
-a0039 6002477b  store 4 ,mem_mouse_24g_addr
-a003a 20404366  call mouse_cheak_select_24gdevice
-a003b 20200335  branch p_mouse_store_flash_device_info
+a0001 20600000  rtn
 org 0xb0001
 
 z_entrancea:
-b0001 c0500007  beq zcode_a0 ,z_mouse_24g_attempt_fail
-b0002 c050800d  beq zcode_a1 ,z_mouse_le_conn_param_update_rsp_recieved
-b0003 c0510020  beq zcode_a2 ,z_mouse_le_bb_disconnected
-b0004 c0518019  beq zcode_a3 ,z_mouse_bb_event_reconn_timeout
-b0005 c052002a  beq zcode_a4 ,z_mouse_before_hibernate
-b0006 20600000  rtn
-
-z_mouse_24g_attempt_fail:
-b0007 704d3800  jam g24_tx_timer_int_disable ,mem_24g_transmit_by_interrupt
-b0008 204002cc  call p_mouse_tx_power_init
-b0009 204001b0  call p_g24_check_51cmd_stop_24g
-b000a 7041bd00  jam 0 ,mem_link_key_exists
-b000b 204002a8  call p_mouse_setgpio_hibernate
-b000c 202004c0  branch p_mouse_null_enter_hibernate_enable
+b0001 c0500024  beq zcode_a0 ,z_mouse_before_hibernate
+b0002 c0508006  beq zcode_a1 ,z_mouse_le_conn_param_update_rsp_recieved
+b0003 c051001b  beq zcode_a2 ,z_mouse_le_bb_disconnected
+b0004 c0518014  beq zcode_a3 ,z_mouse_bb_event_reconn_timeout
+b0005 20600000  rtn
 
 z_mouse_le_conn_param_update_rsp_recieved:
-b000d 68014509  fetch 2 ,mem_le_l2cap_signaling_conn_param_update_rsp_result
-b000e c1000000  rtneq ble_signaling_connect_parameter_update_accepted
-b000f 68008441  fetch 1 ,mem_le_tsniff
-b0010 1feb7e00  rshift2 pdata ,pdata
-b0011 1fe67c0c  sub pdata ,le_interval_15ms ,null
-b0012 20610000  rtn positive
-b0013 58000009  setarg le_interval_11_25ms
-b0014 60014496  store 2 ,mem_le_interval_min
-b0015 60014498  store 2 ,mem_le_interval_min + 2
-b0016 2040042c  call p_app_updata_le_param
-b0017 7047c601  jam le_lpm_disable ,mem_mouse_le_conn_param_reject
-b0018 20600000  rtn
+b0006 68014509  fetch 2 ,mem_le_l2cap_signaling_conn_param_update_rsp_result
+b0007 c1000000  rtneq ble_signaling_connect_parameter_update_accepted
+b0008 68008441  fetch 1 ,mem_le_tsniff
+b0009 1feb7e00  rshift2 pdata ,pdata
+b000a 1fe67c0c  sub pdata ,le_interval_15ms ,null
+b000b 20210012  branch z_mouse_le_conn_param_update_rsp_not_accepted ,positive
+b000c 58000009  setarg le_interval_11_25ms
+b000d 60014496  store 2 ,mem_le_interval_min
+b000e 60014498  store 2 ,mem_le_interval_min + 2
+b000f 20400212  call p_app_updata_le_param
+b0010 7047c401  jam le_lpm_disable ,mem_mouse_le_conn_param_reject
+b0011 20600000  rtn
+
+z_mouse_le_conn_param_update_rsp_not_accepted:
+b0012 704b5f01  jam 1 ,mem_mouse_le_updata_not_accepted_flag
+b0013 202003de  branch p_mouse_le_conn_param_update_rsp_not_accepted_mult_reset
 
 z_mouse_bb_event_reconn_timeout:
 
 z_mouse_bb_event_reconn_failed:
-b0019 68014682  fetch 2 ,mem_ui_state_map
-b001a c3860000  rtnbit1 ui_state_btn_down
-b001b c3830000  rtnbit1 ui_state_bt_discovery
-b001c c3858000  rtnbit1 ui_state_ble_adv
-b001d 680246d3  fetch mouse_flag_len ,mem_mouse_flag
-b001e c3828000  rtnbit1 mouse_bt_discovery_button_down_flag
-b001f 202033a7  branch app_bb_hibernate
+b0014 68014682  fetch 2 ,mem_ui_state_map
+b0015 c3860000  rtnbit1 ui_state_btn_down
+b0016 c3830000  rtnbit1 ui_state_bt_discovery
+b0017 c3858000  rtnbit1 ui_state_ble_adv
+b0018 680246d3  fetch mouse_flag_len ,mem_mouse_flag
+b0019 c3828000  rtnbit1 mouse_bt_discovery_button_down_flag
+b001a 202033a7  branch app_bb_hibernate
 
 z_mouse_le_bb_disconnected:
-b0020 704b6700  jam 0 ,mem_mouse_le_bb_connected_flag
-b0021 58000007  setarg le_interval_8_75ms
-b0022 60014496  store 2 ,mem_le_interval_min
-b0023 60014498  store 2 ,mem_le_interval_min + 2
-b0024 7047c600  jam le_lpm_enable ,mem_mouse_le_conn_param_reject
-b0025 70479e00  jam 0 ,mem_mouse_clear_sensor_data_flag
-b0026 204003bf  call p_mouse_data_init
-b0027 20405816  call le_clr_config_more_data
-b0028 20400335  call p_mouse_store_flash_device_info
-b0029 202041d9  branch mouse_bb_disconnected
+b001b 704b6d00  jam 0 ,mem_mouse_le_bb_connected_flag
+b001c 58000007  setarg le_interval_8_75ms
+b001d 60014496  store 2 ,mem_le_interval_min
+b001e 60014498  store 2 ,mem_le_interval_min + 2
+b001f 7047c400  jam le_lpm_enable ,mem_mouse_le_conn_param_reject
+b0020 70479e00  jam 0 ,mem_mouse_clear_sensor_data_flag
+b0021 204001af  call p_mouse_data_init
+b0022 20405816  call le_clr_config_more_data
+b0023 202041d9  branch mouse_bb_disconnected
 
 z_mouse_before_hibernate:
-b002a 78347c00  enable user
-b002b 68120138  hfetch 4 ,0x8138
-b002c 79347e1a  setflag user ,26 ,pdata
-b002d 6012004c  hstore 4 ,core_lpm_reg
-b002e 20402c21  call lpm_write_ctrl
-b002f 204074bd  call disable_authrom
-b0030 20400335  call p_mouse_store_flash_device_info
-b0031 20403e9f  call mouse_before_hibernate_wheel_gpio_set
-b0032 204002a8  call p_mouse_setgpio_hibernate
-b0033 2040036e  call p_flash_deep_power_down
-b0034 68108081  hfetch 1 ,core_gpio_sel1
-b0035 1fe17ef7  and pdata ,0xf7 ,pdata
-b0036 60108081  hstore 1 ,core_gpio_sel1
-b0037 6810807f  hfetch 1 ,core_gpio_pd3
-b0038 79207e00  set1 0 ,pdata
-b0039 6010807f  hstore 1 ,core_gpio_pd3
-b003a 6808c6ec  fetcht 1 ,mem_config_bt_button_gpio
-b003b 202067dd  branch gpio_set_wake_by_current_state
+b0024 68120138  hfetch 4 ,core_lpm_ctrl
+b0025 79207e1a  set1 26 ,pdata
+b0026 6012004c  hstore 4 ,core_lpm_reg
+b0027 20402c21  call lpm_write_ctrl
+b0028 204074bd  call disable_authrom
+b0029 20404482  call mouse_devce_led_off
+b002a 20400123  call p_mouse_store_flash_device_info
+b002b 20403e9f  call mouse_before_hibernate_wheel_gpio_set
+b002c 204000b9  call p_mouse_setgpio_hibernate
+b002d 20400158  call p_flash_deep_power_down
+b002e 68108081  hfetch 1 ,core_gpio_sel1
+b002f 1fe17ef7  and pdata ,0xf7 ,pdata
+b0030 60108081  hstore 1 ,core_gpio_sel1
+b0031 6810807f  hfetch 1 ,core_gpio_pd3
+b0032 79207e00  set1 0 ,pdata
+b0033 6010807f  hstore 1 ,core_gpio_pd3
+b0034 20600000  rtn
 org 0xc0001
 
 z_entranceb:
-c0001 c0580008  beq zcode_b0 ,z_mouse_le_bb_event_connected
-c0002 c058800f  beq zcode_b1 ,z_mouse_sniff_not_accept
-c0003 c0590015  beq zcode_b2 ,z_mouse_enter_sniff_check
-c0004 c059801a  beq zcode_b3 ,z_mouse_le_ll_start_encryt
-c0005 c05a0021  beq zcode_b4 ,z_mouse_bb_event_disconnected
-c0006 c05a8026  beq zcode_b5 ,z_mouse_irtual_cable_unplug
-c0007 20600000  rtn
-
-z_mouse_le_bb_event_connected:
-c0008 704b6701  jam 1 ,mem_mouse_le_bb_connected_flag
-c0009 6800c7a1  fetch 1 ,mem_mouse_le_reconnect_flag
-c000a 243a000c  nbranch p_mouse_le_bb_event_connected_next ,blank
-c000b 704b6c14  jam 0x14 ,mem_mouse_send_secutiry_request_timer
-
-p_mouse_le_bb_event_connected_next:
-c000c 204004c3  call p_mouse_null_enter_hibernate_disable
-c000d 204003bf  call p_mouse_data_init
-c000e 202041c3  branch mouse_le_bb_event_connected
+c0001 c0588006  beq zcode_b1 ,z_mouse_sniff_not_accept
+c0002 c059000c  beq zcode_b2 ,z_mouse_enter_sniff_check
+c0003 c0598011  beq zcode_b3 ,z_mouse_le_ll_start_encryt
+c0004 c05a0018  beq zcode_b4 ,z_mouse_bb_event_disconnected
+c0005 20600000  rtn
 
 z_mouse_sniff_not_accept:
-c000f 6800c80a  fetch 1 ,mem_mouse_enter_sniff_count
-c0010 c1010000  rtneq 2
-c0011 1fe0fe01  increase 1 ,pdata
-c0012 6000c80a  store 1 ,mem_mouse_enter_sniff_count
-c0013 7041e312  jam 0x12 ,mem_sniff_param_interval
-c0014 2020340e  branch app_bt_enter_sniff
+c0006 6800c808  fetch 1 ,mem_mouse_enter_sniff_count
+c0007 c1010000  rtneq 2
+c0008 1fe0fe01  increase 1 ,pdata
+c0009 6000c808  store 1 ,mem_mouse_enter_sniff_count
+c000a 7041e312  jam 0x12 ,mem_sniff_param_interval
+c000b 2020340e  branch app_bt_enter_sniff
 
 z_mouse_enter_sniff_check:
-c0015 6800c80a  fetch 1 ,mem_mouse_enter_sniff_count
-c0016 c1810000  rtnne 2
-c0017 70480a00  jam 0 ,mem_mouse_enter_sniff_count
-c0018 7041e30e  jam 0x0e ,mem_sniff_param_interval
-c0019 2020340e  branch app_bt_enter_sniff
+c000c 6800c808  fetch 1 ,mem_mouse_enter_sniff_count
+c000d c1810000  rtnne 2
+c000e 70480800  jam 0 ,mem_mouse_enter_sniff_count
+c000f 7041e30e  jam 0x0e ,mem_sniff_param_interval
+c0010 2020340e  branch app_bt_enter_sniff
 
 z_mouse_le_ll_start_encryt:
-c001a 6800c7a1  fetch 1 ,mem_mouse_le_reconnect_flag
-c001b c000801d  beq 1 ,z_mouse_le_ll_reconn_start_encryt
-c001c 2020001f  branch z_mouse_le_ll_enable_start_enc_flag
+c0011 6800c7a1  fetch 1 ,mem_mouse_le_reconnect_flag
+c0012 c0008014  beq 1 ,z_mouse_le_ll_reconn_start_encryt
+c0013 20200016  branch z_mouse_le_ll_enable_start_enc_flag
 
 z_mouse_le_ll_reconn_start_encryt:
-c001d 2040042c  call p_app_updata_le_param
-c001e 7046c605  jam 5 ,mem_le_start_encrypt_timer
+c0014 20400212  call p_app_updata_le_param
+c0015 7046c60a  jam 10 ,mem_le_start_encrypt_timer
 
 z_mouse_le_ll_enable_start_enc_flag:
-c001f d8e00001  arg ll_start_enc_flag ,queue
-c0020 202041b9  branch mouse_le_enable_connect_flag
+c0016 d8e00001  arg ll_start_enc_flag ,queue
+c0017 202041b9  branch mouse_le_enable_connect_flag
 
 z_mouse_bb_event_disconnected:
-c0021 704b0100  jam 0 ,mem_bt_rcvd_switch_req_accept
-c0022 704b0300  jam 0 ,mem_bt_send_lmp_setup_complete
-c0023 704b0c00  jam 0 ,mem_mouse_bt_send_first_package_flag
-c0024 20400335  call p_mouse_store_flash_device_info
-c0025 202041d9  branch mouse_bb_disconnected
-
-z_mouse_irtual_cable_unplug:
-c0026 5fffffff  setarg -1
-c0027 60030040  store 6 ,mem_plap
-c0028 70018533  jam rec_3_mode ,mem_record_bt_mode
-c0029 704b68ff  jam 0xff ,mem_mouse_fast_conn_flag
-c002a 204042fb  call mouse_before_store_reconn_info
-c002b 704721ff  jam 0xff ,mem_device1_type
-c002c 20200335  branch p_mouse_store_flash_device_info
- branch p_mouse_store_flash_device_info
+c0018 704aff00  jam 0 ,mem_bt_rcvd_switch_req_accept
+c0019 704b0100  jam 0 ,mem_bt_send_lmp_setup_complete
+c001a 704b0a00  jam 0 ,mem_mouse_bt_send_first_package_flag
+c001b 202041d9  branch mouse_bb_disconnected
+ branch mouse_bb_disconnected
Index: output/ramcode.rom
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/FR_2639_BT&BLE/output/ramcode.rom	(revision 1714)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/FR_2639_BT&BLE/output/ramcode.rom	(working copy)
@@ -1,46 +1,50 @@
 20200040
-204003bf
+204001af
 6800c1de
-6000ccaf
-204006e8
+6000cce2
+204004e8
 6800c685
 6000c6da
-6800cb32
-6000cb33
-204043ca
-204002f5
-2040000e
-20400021
-20200319
-58000385
-60014d29
-580003a2
+20400293
+20400130
+20400585
+20400012
+20400023
+20405810
+20405839
+2040582c
+20405818
+20403e1e
+20200104
+5800019b
 600141ef
-5800062a
+58000433
 600141f9
-580003da
+580001ce
 600141f1
-5800029c
+580000ad
 600141ed
-58000415
+580001f5
 600141f5
-58000402
+580001f3
 600141f3
-5800044e
+5800022c
 600141eb
-58000455
+58000239
 600141fd
 20600000
 58000019
-60014d3b
-24558029
-204002f7
-20400312
+60014d6e
+2455802d
+204000e7
+20400232
 6800c71f
 6000c71e
-20600000
+6800c241
+c3810000
+20200198
 58000177
-60014d3b
+60014d6e
 20600000
 20000001
 20000001
@@ -58,68 +62,64 @@
 20000001
 20000001
 20000001
-20000001
-20000001
-20000001
-20000001
 c284005a
 c0008076
 c001007f
-c0428754
-c0448725
-c0450756
-c00d8643
-c0130645
-c0240660
-c0250667
-c0288670
-c02c865e
-c0538675
-c056868b
+c0428554
+c0448525
+c0450556
+c00d8448
+c013044a
+c0240465
+c0250467
+c0288470
+c02c8463
+c0538475
+c056848b
 c065b3e4
-c074869c
+c074849c
 c0508088
 c058808d
 c059009b
-c06202be
-c0718507
-c0730525
-c0750567
-c075856f
-c076057c
+c06200ca
+c071833a
+c0730354
+c0750381
+c0758384
+c0760386
 20202a8e
-c01c8586
-c021858e
-c0250594
-c02b8597
-c02c8599
-c031859b
-c03305c5
-c03385dc
-c0350615
-c03b8620
-c002869e
-c04006a0
-c04106aa
-c04406ac
-c0460630
-c046863c
-c07d06d0
+c01c838a
+c0218392
+c0250398
+c02b839b
+c02c839d
+c031839f
+c03303c8
+c03383e7
+c035041f
+c03b842a
+c07d04d0
+c002849e
+c04004a0
+c04104aa
+c04404ac
+c0460435
+c0468441
 20202a8e
 1fe22200
-6808ccb3
-58004cba
+6808cce6
+58004ced
 98408a00
 1a227e00
 e0a08000
 18408401
 18410407
-6008ccb3
+6008cce6
 20600000
 d8a009ae
 df20000c
 20407ed4
-20400396
+2040017c
 20406a03
 20405cf6
 2455ac65
@@ -140,521 +140,26 @@
 60014513
 20202aa2
 c6130000
-6800cb28
+6800cb25
 243a7fef
-6800cb2d
+6800cb2b
 243a7fef
 6800c79e
 203a7fef
-6800c7c6
+6800c7c4
 c000ffef
 68014248
 243a7fef
-6800c808
+6800c806
 243a7fef
 20207ff1
-c6930000
-6800cd38
-c00080b1
-20400135
-243400cc
-2040011c
-20400158
-6800cc08
-c1ff8000
-204006f9
-204000ad
-6800cb28
-c0008388
-204000d8
-24740000
-204002a3
-5800ec54
-20202b93
-58017700
-6001cc27
-704b6114
-20600000
-2040026e
-24740000
-204000c6
-68014d39
-1fe0fe01
-60014d39
-68094d3b
-98467c00
-204280bb
-2020009e
-704d3800
-58000000
-60014d39
-58000019
-60014d3b
-704c3300
-6800cc1e
-6000cc1d
-20600000
-6800cc1f
-202000c2
-6800cc33
-1fe0fe01
-6000cc33
-c00200c4
-c00280c0
-20600000
-6800cc24
-205a00e1
-6800cb2d
-247a0000
-6800cb28
-c1008000
-204000d8
-24740000
-6801cc27
-20407f49
-600a415b
-20202b2a
-78347c00
-20402afa
-6801c16f
-203a7fe9
-6800c091
-203a7fe9
-6800cd38
-c000ffe9
-202002a6
-704c2401
-704d2d00
-204000f4
-6000cb94
-58000000
-6003cb95
-68024c2f
-60024b9c
-704bf80c
-6800cbf9
-79207e03
-6000cbf9
-20400138
-202000a1
-680240a0
-60024c2f
-20600000
-704d2e01
-704d3000
-6800cbf9
-1fe17e07
-6000cbf9
-20600000
-6800cbf9
-79207e04
-6000cbf9
-6000cbb4
-20600000
-6800cbf9
-793ffe04
-6000cbf9
-6000cbb4
-204006ef
-202001e6
-6800cd2d
-c08080f4
-6800cd2b
-1fe0fe01
-6000cd2b
-c002010c
-204001e6
-704c3d02
-20200158
-204006ef
-704d2b00
-202000f4
-704d3002
-704d2e01
-704d2d00
-202000f4
-6800cd2f
-c0018110
-6800cbf9
-2fec0004
-202080f2
-6800cd2f
-c000810f
-c0010110
-20600000
-6800cc08
-c1ff8000
-20400121
-24560129
-20600000
-78567c00
-6800cd2e
-c1808000
-6800cd30
-c1800000
-704d2f01
-704c3d04
-20207feb
-6800cd30
-203a0130
-1fe0ffff
-6000cd30
-704d2f02
-704c3d04
-202001e6
-704d2f03
-6800cd2d
-243a0103
-704c3d02
-202001e6
-6800cc08
-c0ff81a7
-2040013b
-204001d4
-704bfd01
-20600000
-68014d29
-20407f9c
-20340141
-6803cb95
-207a0000
-20207fe7
-204003b9
-704c2400
-1a20fe01
-6000cbf8
-204000f4
-6000cb94
-e8a88000
-ea408000
-9841fe00
-e0a08000
-1a40a401
-ea420000
-e0a20000
-1a40a404
-d8a04b9a
-df200002
-ea408000
-e8a88000
-9840fe00
-e0a08000
-1a40a401
-c2000151
-20600000
-704c0100
-d9600d00
-34730200
-20400176
-6800cc34
-c1008000
-242c0185
-24378185
-20400170
-204001a0
-204006eb
-6800cbf7
-1fe0fe01
-6000cbf7
-20400173
-6800cc08
-c0ff81a9
-20400113
-58000000
-60014bfe
-6000cc00
-6000cd2c
-704bfd00
-20600000
-df200004
-d8a04b94
-20207ec6
-6800cbf9
-c28200fd
-20600000
-7857fc00
-2040024d
-6800cc34
-c0008183
-18002a00
-68024c20
-98001200
-68088017
-2040291f
-20402924
-20400209
-20578245
-20600000
-20400245
-20200163
-68014bfe
-1fe0fe01
-60014bfe
-6800cbff
-c2822dd4
-6800cc08
-c0ff818e
-20400196
-20200159
-6800cbfe
-c1ff8000
-58000000
-60014bfe
-20202dd4
-2040071c
-204006ef
-202001e6
-6800cc01
-1fe67c0b
-24210193
-1fe0fe01
-6000cc01
-c00100f8
-c00300fd
-c00400f8
-c00600fd
-20600000
-204001b9
-6800cbf6
-207a0000
-98007200
-d8c04b74
-d8a04bd6
-20207f01
-7011c590
-20200759
-204006e8
-7011c591
-20200759
-7011c560
-20200759
-7011c570
-20200759
-793f8026
-204053ce
-d8e00003
-202043d2
-6008cbf8
-18427200
-d8a04b94
-1a220c00
-20207f01
-6800cb73
-1fe97e00
-6000cbf6
-1fe0fe01
-d8c04b73
-98c08c00
-e8c18000
-6001cc35
-6800cb73
-1fe37e00
-1fe17e03
-6000cc3b
-20600000
-60024c20
-da200000
-df200004
-d8c04c20
-e8c08000
-9a20a200
-c20001ca
-1a227e00
-60014ca9
-6800cca9
-6808ccaa
-9840fe00
-6000ccab
-20600000
-6800cbf8
-1fe0fe02
-6000cbfa
-6800cbf9
-6000cbb4
-6800cbf8
-1fe9fe00
-6808cbf7
-18410403
-18438400
-9841fe00
-6808cc34
-9840fe00
-e0a08000
-6800cbf8
-98007200
-d8c04b94
-20207f01
-6808cc03
-204001ea
-6008cc03
-20600000
-204001ee
-18408401
-18410403
-20600000
-6800cc20
-1fe17e03
-1fefa204
-58004c09
-9a20fe00
-98408c00
-e8c08000
-6000cc02
-20600000
-7844fc00
-7843fc00
-58555555
-98001e00
-6800cc02
-1fed8400
-79200401
-18431c00
-20600000
-204053c4
-68024c20
-98001200
-20402918
-6808cc02
-2040291f
-58000500
-20402a8f
-20402924
-204001f7
-7857fc00
-7826fc00
-7830fc00
-78507c00
-78287c00
-68014bfb
-98003600
-37c18400
-242c0249
-7846fc00
-7825fc00
-7823fc00
-7824fc00
-20400242
-6000ccac
-6808ccab
-98467c00
-24228245
-20400242
-6000cb72
-6800cc3e
-1fe67c02
-20228225
-6800cb72
-6808cbf9
-a8400e00
-24208245
-20400242
-e0a08000
-1fe97e00
-1fe1721f
-2022822d
-20400242
-e0a08000
-c200022a
-18a22200
-20400242
-6000cd33
-1a220a00
-09800018
-78287c00
-db600664
-1fef7e00
-1ff17e00
-e0a18000
-7845fc00
-20230245
-7837fc00
-68008017
-1fe0a200
-20402981
-7846fc00
-20402918
-6800cd33
-2040006c
-20600000
-09800008
-19897e00
-20600000
-784dfc00
-7845fc00
-2040264d
-20600000
-20200245
-20402918
-6808cc02
-20202933
-204053c4
-68024c20
-98001200
-204001f7
-2040024a
-79202a00
-782efc00
-78307c00
-7850fc00
-19317e00
-1fecfe00
-1ff1fe00
-08008628
-784efc00
-782dfc00
-7823fc00
-7824fc00
-6800ccab
-08008608
-6800cbfa
-98007200
-d8c04bb4
-e8c08000
-08008608
-c2000263
-78247c00
-08008618
-78447c00
-37d38200
-20000064
-784efc00
-784dfc00
-20600000
-20407fe9
-680a4c19
-1c427e00
-98467c00
-24412d18
-1fe22400
-68024c19
-6808cc1d
-98408400
-1a427e00
-98467c00
-24610000
-793ffe1c
-60024c19
-20207fe7
-204029bb
-207a0000
-6808ccb2
-da200d9e
-20400284
-6008ccb2
-20600000
-1a227e00
-98408a00
-68008018
-e0a08000
-18408401
-18410407
 20600000
 d8400000
 df200008
 1a220c00
 e8c08000
 98408400
-c200028e
+c200009f
 18497e00
 1fe20400
 c6930000
@@ -667,19 +172,19 @@
 20600000
 20600000
 c6130000
-2040038c
-204002a6
+20400172
+204000b7
 6800c040
-c30002a3
+c30000b4
 680080a0
 247a0000
 58000000
 600400a1
 20600000
-204002bb
-204002a3
+204000c7
+204000b4
 20403ebf
-2040031b
+20400106
 68120070
 681a0078
 98418400
@@ -691,109 +196,71 @@
 6810807e
 793ffe06
 6010807e
-6808cb27
-204067fb
-6808cb27
-79200407
-d8a08078
-20206830
-6800cb00
+202002f7
+6800cafe
 207a0000
-20200507
+2020033a
 2040296c
 20403416
 204074b9
-203582cb
-6801c4a3
-6001cb69
+203580d7
 20400001
-204002cc
-204004f0
+204000d8
 6800c210
-c01982d2
-c01a02d5
-202004c0
-202002f5
-6800ccaf
+c01980db
+c01a00de
+204002a7
+70016d06
+20400266
+20207ddd
+20200130
+6800cce2
 6000c1de
 20600000
-70472002
-204004f0
-20200379
 680341d0
 203a33eb
 20204274
-704b6d01
-7047a101
-680146a8
-6808cb68
-18467cff
-242282dc
-58000258
-600146ae
-20403418
-204002e4
-58000004
-e0c08000
-d8c04390
-20400578
-20207df4
+7011c611
+20200558
 da204370
 ea208000
 207a0000
 98c0a200
 e8c08000
 c1008000
-202002e5
-704b685a
-20600000
-704b68ff
-70421034
-580f0f0f
-6001c4a0
-6001c4a3
-20600000
-7011c561
-20200759
-70421276
-20203d36
-204002f5
+202000e1
+20400130
 204040c0
 204040d9
-c0188302
+c01800ef
+c01880ff
 204040d1
 200003e8
-202002f9
-704b0001
-2040640f
-204002f7
-20206411
-20400307
+202000e9
+2040018d
+6800c6de
+c02d00f4
+c02a00fc
+202040e0
+7046e007
+da604b76
+ea610000
+c17f8000
+20406413
+20002ee0
+1a60a602
+202000f6
+7046e002
+da604b8f
+202000f6
+2040018d
 6800c6de
 c03840e8
 7046e001
 20600000
-204002f5
-58008006
-20406413
-20002ee0
-2020030c
-6800c77a
-c07f830f
-20200507
-6800c6e1
-6000c77a
-20200507
-204002f5
-58000006
-20406414
-1fe1fe08
-1fed7e00
-1fe0fe06
-20206413
-7011c580
-20200759
-6808cb46
+7011c680
+20200558
+6808cb43
 20206825
 70808640
 70808700
@@ -809,154 +276,159 @@
 793ffe00
 6010807f
 20600000
-20400377
+20400161
 20404423
 68014778
 d840aa55
 98467c00
-20228368
+20228152
 60094778
 2040441c
 6800c6e1
 6000c77a
-20400377
-20400347
-2040035f
-2040034b
-20400356
-d8400002
-da2047c4
+68024b4a
+6002477b
+60024c53
+20400161
+20400132
+20400149
+2040013e
+20400135
+d8400007
+da204b6e
 da40005f
 6801c700
 9a40fe00
-2040034b
-20400356
-2040036e
-202002f5
-d8400004
-da204c20
-da40005b
-20600000
+2040013e
+20400135
+20400158
+70421276
+20203d36
 6801c700
 6001c232
 2040652a
-20200356
+580186a0
+20402a8f
+2040650b
+580001fa
+6011008c
+58000005
+204064f3
+c2800135
+20600000
 1fe22600
 1a227e00
 1fe0fffc
 1fe22400
 ea420000
-60024b48
+60024b45
 1a627e00
 20406552
-68024b48
+68024b45
 e2420000
 20600000
-580186a0
-20402a8f
-2040650b
-580001fa
-6011008c
-58000005
-204064f3
-c2800356
-20600000
 5800477f
 d8404720
 98460400
 6801c700
 da204720
 20600000
-20400377
-2040035f
+20400161
+20400149
 20206562
-20400365
-20400571
+2040014f
+2040016b
 2040431a
 6802477b
-60024c20
+60024c53
 20600000
 700aa2b9
-2040031d
+20400108
 20000064
 2040650b
-da204b48
+da204b45
 68088aa2
 20406556
 20000064
 20600000
 700aa2ab
-2020036f
-2040037c
-203401ae
-202001ac
-df200002
-d8c04c20
-20407fe7
-5800ffff
-e8c90000
-98467c00
-2442ffe9
-c2000380
-20600000
-20404401
-6801469f
-207a0000
-704d3801
-58000000
-60014d39
+20200159
+704b735a
 20600000
+704b6701
+704b6601
+704b73ff
+68034d70
+600344a0
+20600000
+20400161
+d8400007
+da204b6e
+da40005f
+6801c700
+9a40fe00
+20206562
 d8c01800
-d8a0480c
-20400394
+d8a0480a
+2040017a
 d8c01900
-20400394
+2040017a
 d8c01a00
-20400394
+2040017a
 d8c01b00
 df20001b
 20207f01
-d8c0480c
+d8c0480a
 d8a01800
-20400394
+2040017a
 d8a01900
-20400394
+2040017a
 d8a01a00
-20400394
+2040017a
 d8a01b00
-20200394
-68014500
-247a0000
-20204179
+2020017a
+70417200
+704b411e
+20600000
+6800cb40
+c1808000
+58000000
+6000cb40
+6002469b
+20400130
+da604b9c
+204000f6
+20400195
+6800c6e0
+c00100fc
+c00380f4
+20600000
+6800c77a
+c07f8198
+2020033a
+6800c6e1
+6000c77a
+2020033a
 20405892
 247a0000
-6800cb68
-c07f83a9
+6800cb73
+c07f81a2
 6800c6c5
 1fe17e03
 c1818000
 6800c79e
-205a03ff
+205a01ca
 680246d3
-c282839f
+c282c179
 20403f97
 24740000
-204003b6
-204003b9
-204003d5
+20400185
+20400188
+204001c5
 da20469a
 20407e3d
-205403c4
+205401b4
 20600000
-70417200
-704b601e
-20600000
-6800cb5f
-c1808000
-58000000
-6000cb5f
-6002469b
-20200307
 7047a207
 7047a304
 580047a2
@@ -968,7 +440,7 @@
 20600000
 da20469a
 20407e54
-203403cc
+203401bc
 20600000
 20405652
 6800c7c3
@@ -981,31 +453,35 @@
 20203f90
 6801469f
 207a0000
-70480801
-70480902
+70480601
+7048070a
 20600000
+70479e01
+20405814
+704afe01
+202000e7
 20770000
 6800c1e2
 207a0000
 20405271
 247a0000
 6800c79e
-205a03ff
+205a01ca
 680246d3
 c282bf8a
 c284bf8a
 20403f97
 24740000
-204003b6
-204003b9
-204003d5
-6800cb05
-c00083ee
-6800cb0c
+20400185
+20400188
+204001c5
+6800cb03
+c00081e2
+6800cb0a
 207a0000
 20203f81
 6800c69a
-6000cb06
+6000cb04
 6800c69b
 e0a08000
 6800c69d
@@ -1018,182 +494,180 @@
 e0a10000
 580002a1
 e0a10000
-6802cb06
+6802cb04
 e0a28000
 20600000
-70479e01
-20405814
-202002fe
 20407e34
-20400405
 20203ee0
-6808c6e7
-20400555
-6808c6e7
-2040681d
-20208413
-2040055e
-6800c6b6
-c1000000
-7046b600
-6800c77a
-1fe0fe01
-1fe17e03
-6000c77a
-20203d7e
-2040055e
-20203d62
 1a627e00
-c00a0426
-c00a8429
-c014842c
-c019042e
-c0200430
-c0020432
-c0098432
+c00a0203
+c00a820e
+c0148212
+c0190214
+c0200216
+c0020218
+c0098218
 c00cb3df
-c0108436
-c0008438
-c001043d
-c0158440
-c01c8442
-c01d0445
-c01e0448
+c010821c
+c000821e
+c0010226
+c015822a
 2020417d
-204002fe
-7011c5b0
-20200759
-20400451
-7011c5a2
-20200759
+204001cc
+58000000
+6001cb66
+20403410
+704b6d01
+6800c7a1
+243a020b
+704b6b14
+204002b1
+204001af
+202041c3
+2040022f
+20400123
+7011c6a2
+20200558
 700a9912
 20207d8f
-7011c5b3
-20200759
-7011c5a1
-20200759
-7011c5a3
-20200759
-7011c5b5
-20200759
-7011c5b1
-20200759
-204002fe
-204004c3
-204004ff
-70480b00
+7011c6b3
+20200558
+7011c6a1
+20200558
+7011c6a3
+20200558
+7011c670
+20200558
+7011c6b1
+20200558
+20400264
+204001cc
+58000000
+6001cb66
+204002b1
+204002eb
+70480900
 202042ca
-20400451
-7011c5b4
-20200759
-7011c5b2
-20200759
-204002fe
-7011c592
-20200759
-20400451
-7011c5a0
-20200759
-704b6601
-204004c3
-204002fe
-20403f8d
-20404366
-20200335
-20400451
-7011c5a4
-20200759
-6800cb00
+2040022f
+20400123
+7011c6b4
+20200558
+7011c6b2
+20200558
+2040022f
+7011c6a0
+20200558
+6800cafe
 207a0000
-704b0000
-20200312
-204004c6
-20400499
-204004b5
-2040049e
+704afe00
+204000e7
+58000006
+20406414
+1fe1fe08
+1fed7e00
+1fe0fe06
+20206413
+204002fb
+20400329
+20400249
+204002b4
+20400285
+204002aa
+2040028a
 20404234
-20400492
-20400476
-20400473
-2040047c
-20400482
-2040048a
-2040046b
+20404237
+20400273
+20400276
+2040027e
+2040026b
 20404231
-2040046e
-20400465
+2040026e
 2020423a
-6800cb71
+6800cb66
 207a0000
-1fe0ffff
-6000cb71
-247a0000
-202042b0
-da60480b
+da604b67
+da40024e
+2020336d
+704b6701
+6800cb68
+1fe0fe01
+1fe17e01
+6000cb68
+c0000266
+68034b60
+600344a0
+d8e00007
+204043ce
+204000e0
+58000005
+e0c08000
+d8c04b10
+2040025e
+20207df4
+d8a0437b
+df200013
+20407f01
+204057b8
+70438f00
+20600000
+d8e00007
+202043ce
+70436f00
+70438f00
+d8e00007
+204043d2
+20200167
+da604809
 da40637a
 2020336d
-da604b0b
-da400471
+da604b09
+da400271
 2020336d
-704b0c01
+704b0a01
 20600000
 da6046c6
 da403d60
 2020336d
-da6046ae
-da400479
-20203374
-6800cb30
-247a0000
-20204266
-da604b60
-da40047f
-2020336d
-6800c7c7
-6000c172
-20200497
-6800cb67
+6800cb6d
 207a0000
-da604b6c
-da400487
+da604b6b
+da40027b
 2020336d
-6800cb6d
+6800cb6c
 247a0000
 20205bf5
-6800cb68
-c1ff8000
-6800cb67
-247a0000
-da604b70
-da400491
-2020336d
-2020056f
-da604b61
-da400495
+da604b41
+da400281
 2020336d
-58249f00
-6001cc27
-704b5f01
+6800c7c5
+6000c172
+704b4001
 20600000
-da604809
-da40049c
+da604807
+da400288
 2020336d
-70480800
+70480600
 20600000
-20404083
-c00384a3
-204043a9
+6800c720
+c1010000
+20400360
+c0038296
+6800c685
+6000c6da
+6800c6db
+c1008000
+7046db01
 d8e00009
-202043d2
+204043d2
+202043ca
 7047a028
-204004a6
+20400299
 202043b0
 da6046da
-da4004a9
+da40029c
 2020336d
-680246d3
-c3848000
-704b6e00
+6800cb66
+243a02a7
 68014682
 2feffe0b
 2040c2d4
@@ -1203,222 +677,240 @@
 d8e00009
 204043ce
 202043b8
-6800cb30
-247a0000
+68014687
+600146ac
+20600000
 6800c79f
 207a0000
-6800c7a0
-203a04be
-1fe0ffff
-6000c7a0
-20600000
+da6047a0
+da4002af
+2020336d
 70479f00
 2020340a
-70479f01
-7047a028
-20600000
 70479f00
 7047a000
 20600000
-6800cb26
+6800cb23
 207a0000
-6800cb29
-c00004cc
-c00084d6
-20600000
-204004e0
-6800cb2e
+6800cb26
+c00082d2
+204002df
+6800cb27
 1fe0fe01
-6000cb2e
-6808cb2a
+6000cb27
+6808cb28
 98467c00
-204284d4
+204282c0
+20600000
+704b2d00
+204002f1
+6800c720
+c1808000
+68014682
+c3848000
+c3800000
+6800cb73
+c0ff82d0
+704b2901
+704b2c00
+704b2b01
+704b2a05
+704b2301
+704b2601
 20600000
-704b3000
-202004e7
+704b2905
+202002ca
+da604b2a
+da4002d5
+2020336d
+6800cb29
+6000cb2a
 6800cb2c
-1fe0ffff
-6000cb2c
-247a0000
+203a02dd
 6800cb2b
-6000cb2c
-6800cb28
-c00084e7
-c00004e0
-20600000
-704b2801
-6808cb27
+203a02ef
+1fe0ffff
+6000cb2b
+6800cb25
+c00082f1
+704b2501
+6800c720
+c00082e7
+6808cb24
+79200407
 2040680e
-6808cb27
+6808cb24
+20206825
+6808cb24
+2040680e
+6808cb24
 20206829
-58000000
-6001cb2c
+6800cb27
+247a0000
 6800cb2d
-243a04eb
+247a0000
+58000000
+6001cb2a
+6800cb2b
+243a02f5
+704b2300
 704b2600
-704b2900
-704b2e00
-704b2800
-6808cb27
-793f8407
-20206806
-704b3001
-704b2601
-704b2900
-704b2e00
-20600000
-6800cff0
+704b2700
+704b2500
+6808cb24
+2040680e
+6808cb24
+20206825
+6800c6ce
 1fe0fe01
-6000cff0
-704b3000
-704b2b03
-704b2d01
-704b2c05
-704b2601
-704b2901
+6000c6ce
+1fe67c0a
+20610000
+204068a8
+7046ce00
+20400311
+20406908
+6001470f
+da204709
+2040031c
+6800c231
+c280b40a
+c300030c
+704afd01
+202043e7
+204043e9
+6800cafd
+207a0000
+704afd00
+202002f1
+6800c22d
+c0010314
+202068ec
+68108078
+793ffe05
+60108078
+204068f4
+68108078
+79207e05
+60108078
+20600000
+ea240000
+60040a9a
+68090a9c
+68010aa0
+98467c00
+24216944
+68090a9e
+98467c00
+24216940
+6800c231
+793ffe00
+6000c231
 20600000
-6800cff1
-1fe0fe01
-6000cff1
-6800cb2e
-247a0000
-6800cb30
+680246d3
+c4020000
+68014682
+c3858000
+c3830000
+68014b2b
 247a0000
-202004e5
+6800c6cf
+1fe0fe01
+6000c6cf
+1fe67c1e
+24410338
+c00182df
+c00302f1
+20600000
+7046cf01
+202002f1
 6800c6e0
-c001051d
-c0030513
-6800c77a
-205a0519
-6800c77a
-c0008510
-c001bd8c
-20203d88
-6800c77f
-1fe0ffff
-20203dbe
+c001034c
+2020033f
+70477a02
+20600000
 6800c77a
-205a0519
+1fe67c01
+2042833d
 6800c77a
-c000851b
-c001bd8c
-20203d88
-70477a01
-20600000
-7046b500
+c0000348
+c001834a
+6800cb36
+6000c6b5
 20203dc1
+6800cb34
+20200346
+6800cb37
+20200346
 6800c77a
-205a0519
+205a033d
 6800c77a
 c000bd88
-c0018523
+c0018352
 20203d8e
 58000005
 20203dbe
 78547c00
 58000000
 6003469b
-20400563
+2040037e
 20404079
 2040407e
-20400530
-2434052e
+2040035e
+24340585
+20400579
 20203fa0
-704b3800
-20600000
-20400532
+20400360
 2020409a
 da200000
-20400539
-2040053e
-20400543
+20400363
 2020408e
-20400549
-2020054f
 6808c6e2
-2040055e
+20400373
 6808c6e2
 2040681d
 7920a200
 6808c6e3
-2040055e
+20400373
 6808c6e3
 2040681d
 7920a201
 6808c6e4
-2040055e
+20400373
 6808c6e4
 2040681d
 7920a202
 20600000
-6808c6e5
-20400555
-6808c6e5
-2040681d
-7d20a203
-2020055e
-6808c6e6
-20400555
-6808c6e6
-2040681d
-7d20a204
-2020055e
-793f8407
-d8a08078
-20406830
 79200407
-d8a0807c
+d8a08078
 20406830
 793f8407
-d8a08070
-20206830
-79200407
+2020037c
+793f8407
 d8a08078
 20406830
-793f8407
-20200559
-6800c6e0
+79200407
+d8a0807c
+2020680a
 20403fc0
 78547c00
 20203fe7
-204004c3
-280ffe26
-204081b0
-704b7103
-20404386
-202041c1
-7011c581
-20200759
-7011c550
-20200759
-20400377
-d8400002
-da2047c4
-da40005f
-6801c700
-9a40fe00
-20206562
-d8a0437b
-df200013
-20407f01
-202057b8
-58000000
-600146ac
-20400307
-6800c092
-2feffe01
-2040c2d4
-6800c092
-2feffe00
-2040c2d7
-202004ff
+204002c0
+204002b1
+2020426d
+7011c630
+20200558
+204002eb
+704afe01
+2040018d
+202042cb
 6800c50f
 1fe0fe01
 6000c50f
 c0065395
 204055aa
 2040561e
-204006f9
+204004f9
 2020538f
 68008016
 1fe0fe01
@@ -1429,32 +921,30 @@
 204029bb
 2040006c
 202054a3
-7011c540
-20200759
-7011c541
-20200759
+7011c620
+20200558
+7011c621
+20200558
 68008456
-c28285af
-204006eb
+c28283bf
+204004eb
 6800c78e
-243a05a5
+243a03a9
 6800843f
-c30205a9
+c30203ad
 680082da
-203a05a9
+203a03ad
 20205664
 6800c78e
 1fe0ffff
 6000c78e
 20205664
 6800c4c4
-c08285ac
+c08283b0
 70478e03
 20405892
-205a03c8
+205a01b8
 20205622
-204005b1
-202005bd
 6800c6c5
 1fe17e03
 c1818000
@@ -1467,13 +957,14 @@
 6000c3dc
 20405650
 20600000
-202006ef
+204003b3
+202004ef
 6800c7a1
 207a0000
 6800c6c5
 1fe17e03
 c1018000
-7046c601
+7046c602
 20600000
 c6078000
 20405890
@@ -1488,30 +979,38 @@
 18c27e00
 6001450d
 6800c50c
-c00185d4
+c00183d7
 2020568d
 680082db
-c00085d7
+c00003db
+c00083e2
 20205c65
+20405c7b
+6800cb5f
+207a0000
+6800c3d8
+6000c172
+6000c7c5
+20600000
 e8c28000
 6002c3ce
 e8c10000
 6001045f
 20205c8a
 e8c10000
-c00205e0
-c003060d
+c00203eb
+c0030417
 20205698
 20407ea5
-204005be
+204003c1
 20407e9f
 e8c18000
 60018477
-c00805ef
+c00803fa
 1fec8400
 18467c24
-202105fd
-d84047c8
+20210408
+d84047c6
 600944bc
 204058ad
 58008e7a
@@ -1531,33 +1030,32 @@
 5800002b
 e0c10000
 20600000
-c00505ff
+c005040a
 202058ad
 68090478
 6800c4e9
-c2818606
+c2818411
 68010478
 c009da76
 68090478
 202059bf
 680144fa
 98467c00
-24228602
+2422840d
 20405a42
-24340602
-70047a05
-20205a77
+2434040d
+202059e2
 e8c08000
-c0008611
-c0028613
-20205af6
-704b6d01
+c000841b
+c002841d
+20205af5
+704b6c01
 20205b09
-7011c582
-20200759
+7011c682
+20200558
 68008016
 c093d6f2
-2040061b
+20400425
 d8e00000
 68014482
 20207f08
@@ -1567,21 +1065,16 @@
 1fe0fefa
 20203cbe
 7855fc00
-20370623
+2037042d
 2436d806
 20402bcb
 680140c1
 6001044d
 6800c6c5
-2fe00603
-2420abde
+c081abde
 202057fb
-6800c7a1
-247a0000
-68008478
-1fe67e1a
-24628000
-20203d60
+7011c622
+20200558
 68108077
 1fe17efd
 60108077
@@ -1591,7 +1084,7 @@
 204063ee
 184104fd
 2000000d
-2040063d
+20400442
 60188073
 20600000
 204064dd
@@ -1601,8 +1094,8 @@
 793ffe03
 60108081
 20600000
-7011c500
-20200759
+7011c600
+20200558
 204021c9
 24740000
 78547c00
@@ -1611,10 +1104,10 @@
 793f802d
 20402a4f
 204022e6
-c5058652
+c5058457
 20402455
-243a064b
-c516865a
+243a0450
+c516845f
 202021ec
 20402a4d
 d8200010
@@ -1623,29 +1116,24 @@
 793f800b
 18000801
 70001102
-2020064b
+20200450
 68020165
 1fe0fe08
 60020165
 202021f8
 c516264d
 2020258f
-204033af
-204026e9
-700a9902
-20407d86
-20405cf7
-20404d6b
-2020246e
+7011c623
+20200558
 68008030
 2feffe00
-2040866b
+2040846b
 2020248a
 68008047
 2feffe03
-204086ef
-244086eb
-202006f9
+204084ef
+244084eb
+202004f9
 204024f0
 242c28f9
 204029bb
@@ -1658,7 +1146,7 @@
 6800c091
 207a0000
 6800c65a
-203a067f
+203a047f
 6800c5b1
 207a0000
 6800c4c0
@@ -1685,74 +1173,74 @@
 c586abde
 20405274
 243a2bde
-205a0699
+205a0499
 20202bbe
 70008a01
 70008b00
 20600000
-7011c510
-20200759
-7011c511
-20200759
+7011c601
+20200558
+7011c602
+20200558
 68008552
 600084c9
-c00986a4
+c00984a4
 20205db4
 20405dcf
-704b0101
-6800cb03
+704aff01
+6800cb01
 207a0000
-704b0302
+704b0102
 20600000
-7011c520
-20200759
+7011c610
+20200558
 204062bc
 247a0000
 68008055
 207a0000
-c00206ce
-c00806b3
+c00204ce
+c00804b3
 20206320
 6800c55b
 c1000000
-c00086b7
+c00084b7
 2020635f
 20748000
 6800816d
-c28006bb
+c28004bb
 20206399
-6800cb03
+6800cb01
 c000e39d
 6800c1bd
 203a63a9
 680084d1
 c4018000
 c4010000
-6800cb02
+6800cb00
 207a0000
-704b0200
+704b0000
 680204e9
 d8400014
 98408400
 1c427e00
 98467c00
-242106cc
+242104cc
 20206349
-704b0201
+704b0001
 20600000
-70480b14
+70480914
 2020636f
 204062bc
 243a7ddb
 68008a99
 c584fdd6
-c00f86d8
-c01006db
-c00906e5
+c00f84d8
+c01004db
+c00904e5
 20207dca
 70018534
 6803044f
-202006dd
+202004dd
 70018533
 68030040
 60030186
@@ -1762,67 +1250,67 @@
 204043d2
 204042e8
 204042fb
-20200335
+20200123
 20405890
 247a0000
 20205abf
-704d3401
-704d3100
+704d6701
+704d6400
 20600000
-6800cd31
+6800cd64
 1fe0fe01
-6000cd31
+6000cd64
 20600000
-6800cd31
+6800cd64
 1fe67c02
-244106f7
-6800cd31
+244104f7
+6800cd64
 c1000000
 1fe0ffff
-6000cd31
+6000cd64
 20600000
-704d3103
+704d6403
 20600000
 68014682
 c3858000
 c3838000
 c3830000
-da204cba
-2040028b
-6008cd32
+da204ced
+2040009c
+6008cd65
 58000082
-c5130703
+c5130503
 58000080
 98467c00
-2421071b
-6800cd31
+2421051b
+6800cd64
 1fe67c02
-2421070b
-6800cd31
-c000071c
-20600000
-6800cd31
-c1900000
-704d3100
-6808cd32
+2421050b
+6800cd64
+c000051c
+20600000
+6800cd64
+c1990000
+704d6400
+6808cd65
 58000077
-c5130712
+c5130512
 58000075
 98467c00
 24610000
-6800cd34
-c0000723
+6800cd67
+c0000523
 1fe0ffff
-6000cd34
-c0000723
+6000cd67
+c0000523
 7041de00
 20600000
-704d3100
-6800cd34
-c0010721
+704d6400
+6800cd67
+c0010521
 1fe0fe01
-6000cd34
-c0008719
+6000cd67
+c0008519
 7041de02
 20600000
 7041de04
@@ -1843,20 +1331,20 @@
 2000000a
 7089027d
 6800c1de
-c001073d
-c0020742
-c0100751
-20400747
+c001053d
+c0020542
+c0100551
+20400547
 708955d0
 708956e0
 7089586c
 2020294b
-2040074c
+2040054c
 708955d0
 708956e0
 7089583c
 20202953
-20400747
+20400547
 708955d0
 708956c0
 7089586c
@@ -1877,38 +1365,141 @@
 18002a08
 202028fa
 20402978
-70804205
 20600000
-680891c5
+680891c6
 18518400
-6800cb51
+6800cb50
 98467c00
-20228778
-6008cb51
+20228577
+6008cb50
 18408401
 58000100
 984f8400
-6801cb52
+6801cb51
 98467e00
-6809cb55
+6809cb54
 9840fe00
 1fe0fffb
-6001cb58
-20400377
-6801cb58
+6001cb57
+20400161
+6801cb57
 d8400100
 da201f00
 20406562
 68021f00
-680a4b5b
+680a4b5a
 98467c00
-24228769
-204002f5
+24228568
+20400130
 58001f00
 60014199
 70419b40
 204064ca
 58000000
 60024199
-680091c5
+680091c6
 20200001
+6802469b
+207a0000
+204005d1
+58000003
+204005c7
+205a05c3
+245a05c5
+58000002
+204005cc
+205a05c3
+6800cb0b
+c0008588
+df200005
+d8a04b0b
+20207ed4
+68014b0c
+600111be
+6801469b
+600111c0
+2040059b
+680111be
+60014b0c
+680111c0
+6001469b
+68014b0e
+600111be
+6801469d
+600111c0
+2040059b
+680111be
+60014b0e
+680111c0
+6001469d
+20600000
+680111be
+680911c0
+9840fe00
+600191c2
+2feffe10
+202085a8
+680091c3
+c07f85af
+680091c2
+1fe37e00
+600111be
+600111c0
+20600000
+680091c3
+c00005ac
+680191c2
+202005a4
+7011c400
+680091c2
+202005a4
+680091c2
+204005ba
+600091be
+600091c0
+203a05b8
+580000ff
+600091bf
+600091c1
+20600000
+58000000
+202005b5
+204005bf
+1fe37e00
+204005c0
+1fe67e00
+20600000
+1fe67e00
+60008aae
+68008aae
+20600000
+704b0b00
+20600000
+704b0b01
+20600000
+9a267c00
+24217fef
+9a467c00
+24217fef
+20207ff1
+9a267c00
+24610000
+9a467c00
+24610000
+20207ff1
+6801469b
+204005d8
+1fe22200
+6801469d
+204005d8
+1fe22400
+20600000
+600111c0
+680091c1
+c07f85de
+680091c0
+1fe17eff
+20600000
+680111c0
+1fe67e00
+202005dc
Index: program/24g.prog
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/FR_2639_BT&BLE/program/24g.prog	(revision 1714)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/FR_2639_BT&BLE/program/24g.prog	(working copy)
@@ -1098,7 +1098,7 @@
 	setarg STATE_24G_PAIRING_SUCCESS
 	call g24_store_mem_pairing_sm
 	//jam 0,mem_24g_check_dongle_times
-g24_app_tx_attempt_success:
+g24_app_tx_attempt_success:	
 	jam BT_EVT_24G_ATTEMPT_SUCCESS,mem_fifo_temp
 	branch ui_ipc_send_event
 
Index: program/app_mouse.prog
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/FR_2639_BT&BLE/program/app_mouse.prog	(revision 1714)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/FR_2639_BT&BLE/program/app_mouse.prog	(working copy)
@@ -158,6 +158,7 @@
 	fetch 1,mem_mouse_dpi_button_state
 	rtneq DPI_BUTTON_STATE_DOWN
 	jam DPI_BUTTON_STATE_DOWN,mem_mouse_dpi_button_state
+mouse_dpi_down_setting:
 	fetch 1,mem_mouse_dpi
 	increase 1,pdata
 	and pdata,0x03,pdata
@@ -971,6 +972,7 @@
 	fetcht 1,mem_sensor_data_gpio
 	call gpio_get_bit
 	nrtn true
+mouse_p3212_sensor_motion_1:	
 	setarg PAN_REG_PID_L
 	call twspi_read
 	bne P32XX_ID1,mouse_twspi_reset
@@ -1008,7 +1010,7 @@
 	fetcht 1,mem_sensor_data_gpio
 	call gpio_get_bit
 	nrtn true
-mouse_p32xx_sensor_motion_2:
+mouse_p32xx_sensor_motion_2:	
 	setarg PAN_REG_PID_L
 	call twspi_read
 	bne P32XX_ID1,mouse_p3065_judge   
@@ -1777,7 +1779,7 @@
 	arg mouse_bt_hid_handshake,regb
 	branch timer_single_step
 
-mouse_check_discovery_timeout_timer:	
+mouse_check_discovery_timeout_timer:
 	arg mem_mouse_discovery_timer,regc
 	arg mouse_check_discovery_timeout,regb
 	branch timer_single_step_2B
Index: program/patch.prog
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/FR_2639_BT&BLE/program/patch.prog	(revision 1714)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/FR_2639_BT&BLE/program/patch.prog	(working copy)
@@ -1,14 +1,15 @@
 //define DONGLE
 define MOUSE
-define G24
+//define G24
 define BLE
 define CLASSIC_BT
-//define MOUSE_SMOOTHER
-//define ADC_ENABLE
+define MOUSE_SMOOTHER
+//define XY_OFFSET
+define ADC_ENABLE
 //define P24G_LOG
 //define RF_DEBUG
+//define BLE_RFIO
 define BLE_FAST_CONN_ENABLE
-define G24_NEW_RF_HOP
 
 //define DEBUGLOG
 //define DEBUGLOG_CALLBACK
@@ -38,23 +39,32 @@
 	call power_ctrl_pac_succ_cnt_init
 	fetch 1,mem_ui_button_timeout
 	store 1,mem_combination_ui_button_count	//combination key timer init
-	fetch 1,mem_bt_ui_button_timeout
-	store 1,mem_bt_ui_button_count	//bt key timer init
-	call mouse_bt_discovery_button_down_disable
+	call p_mouse_bt_discovery_button_up_init
 	call p_mouse_spi_init
-ifdef MOUSE_SMOOTHER	
+ifdef MOUSE_SMOOTHER
 	call p_drawing_optima_init
 endif
 	call p_mouse_cb_fuction
 	call p_mouse_wakeup_from_power
-//	call p_mouse_select_device_button_wakeup_check	//hibernate wakeup need 190ms
+
+ifdef G24
+	fetch 4,mem_lap
+	store 4,mem_24g_device_addr
+endif
+ifdef BLE
+	call le_set_config_fixed_ltk
+	call le_set_justwork
+	call le_set_fixed_ltk
+	call le_set_config_read_authentication
+endif
+	call mouse_param_init	
 	branch p_mouse_setting_config
 
 p_mouse_cb_fuction:
 ifdef G24
 	setarg p_mouse_g24_package_data
 	store 2,mem_cb_24g_data
-endif	
+endif
 ifdef BLE
 	setarg p_mouse_le
 	store 2,mem_cb_le_process
@@ -86,7 +96,11 @@
 p_mouse_wakeup_no_from_power:
 	fetch 1,mem_reconn_times_init
 	store 1,mem_reconn_times
-	rtn
+	fetch 1,mem_power_on_flag
+	rtnbit1 2
+	//power on
+	branch p_mouse_dpi_config_default
+	
 p_mouse_24g_transmit_by_interrupt_exit_count_max:
 	setarg 375
 	store 2,mem_24g_transmit_by_interrupt_exit_count_init
@@ -108,21 +122,19 @@
 	nop 1
 	nop 1
 	nop 1
-	nop 1
-	nop 1
-	nop 1
-	nop 1
-	
-
 
+	
 p_patch_array:
 	bbit1 8,pf_patch_ext
-	//patch00_0 and patch11_2 are unuseful because of otp
+	//patch00_0 is unuseful because of otp
 	beq patch00_1,p_soft_reset_1
 	beq patch00_2,p_soft_reset_2
 	beq patch10_5,p_shutdown_radio
 	beq patch11_1,p_set_freq_tx
 	beq patch11_2,p_initialize_radio_cont
+ifdef BLE_RFIO
+	beq patch0c_5,p_end_of_packet
+endif	
 ifdef CLASSIC_BT
 	beq patch03_3,p_page_wait_fhs_reply_ok
 	beq patch04_6,p_role_switch_master
@@ -149,6 +161,10 @@
 ifdef BLE
 	beq patch27_1,p_le_slave_match
 	beq patch28_3,p_le_next_adv_channel
+ifdef BLE_RFIO	
+	beq patch29_1,p_le_receive_rxon
+	beq patch29_3,p_lerx_nopayload
+endif	
 	beq patch29_2,p_le_receive_skip
 	beq patch2a_7,p_le_update_param
 	beq patch2b_1,p_le_update_channel_map
@@ -157,6 +173,7 @@
 	beq patch2c_7,p_le_parse_l2cap
 	beq patch2d_2,p_le_adv_not_match
 	beq patch2e_7,p_le_lpm_setmult
+	beq patch3f_2,p_check_51cmd_once_continue
 endif	
 ifdef CLASSIC_BT
 	beq patch20_5,p_hid_rx_process
@@ -166,7 +183,6 @@
 endif
 	beq patch31_4,p_twspi_reset
 	beq patch31_5,p_spid_init
-	beq patch3f_2,p_check_51cmd_once_continue
 ifdef DEBUGLOG
 	beq patch2f_6,p_parse_lmp_opcode
 	beq patch37_6,p_process_upper_sm_reconn
@@ -189,28 +205,8 @@
 	storet 1,mem_rssi_signal_index
 	rtn
 
-//p_mouse_select_device_button_wakeup_check:
-//	jam 0,mem_mouse_select_device_button_wakeup_flag
-//	fetcht 1,mem_config_select_device_button_gpio
-//	call gpio_config_input
-//	fetcht 1,mem_config_select_device_button_gpio
-//	call gpio_get_bit
-//	nrtn true
-//	call delay_10ms
-//	fetcht 1,mem_config_select_device_button_gpio
-//	call gpio_get_bit
-//	nrtn true
-//	jam 1,mem_mouse_select_device_button_wakeup_flag
-//	rtn
-
-
-//p_mouse_switch_Hwakeup_byPB:
-//	fetch 1,mem_mouse_select_device_button_wakeup_flag
-//	rtn blank
-//	call p_mouse_switch_device_flag
-//	branch p_mouse_store_flash_device_info	
-
 p_soft_reset_1:
+//	call p_mouse_select_device_button_wakeup_check
 	arg mem_sp_state,contw
 	arg 12,loopcnt
 	call clear_mem
@@ -231,7 +227,6 @@
 	call ssp_disable
 ifdef SECURE_CONNECTION
 	call publickey_init
-
 endif
 endif
 	call lpm_recover_clk,wake
@@ -269,9 +264,14 @@
 	branch enable_blank
 
 
-ifdef G24
 p_g24_dispatch:
+ifndef G24
+	rtn
+else
 	rtnmark0 mark_24g
+	fetch 1,mem_24g_conn_sm
+	bbit1 STATE_24G_PAIR,p_g24_pair_dispatch
+	bbit1 STATE_24G_RECONN,p_g24_reconn_dispatch
 	fetch 1,mem_24g_transmit_by_interrupt
 	beq G24_TX_TIMER_INT_ENABLE,p_g24_transmit_by_interrupt
 p_g24_transmit_process:
@@ -286,13 +286,23 @@
 	call g24_long_sleep_shorter_param_update
 	fetch 1,mem_mouse_multi_led_state
 	beq ON,p_g24_transmit_by_interrupt_enable
-p_g24_short_sleep:	
+	fetch 1,mem_mouse_key
+	bbit1 2,p_g24_transmit_by_interrupt_enable	//MButton
+p_g24_short_sleep:
 	call p_g24_lpm_wait
 	nrtn user
 	call p_clear_wake
-	setarg 60500
+	setarg 58000
 	branch lpm_dispatch_sleep
 
+p_g24_pair_dispatch:
+	jam ZCODE_60,mem_zcode_temp_param0
+	branch p_zcode_entrance
+
+p_g24_reconn_dispatch:
+	jam ZCODE_53,mem_zcode_temp_param0
+	branch p_zcode_entrance
+
 g24_long_sleep_shorter_param_update:
 //	fetch 1,mem_config_function_enable
 //	rtnbit1 ENABLE_SENSOR_MOTION_PIN
@@ -300,7 +310,7 @@
 	store 3,mem_24g_enter_hibernate
 	jam 20,mem_24g_long_sleep_param_update_timer
 	rtn
-	
+
 p_g24_transmit_by_interrupt:
 	call p_g24_timer_check
 	nrtn user
@@ -321,12 +331,12 @@
 p_g24_interval_min:
 	jam 0,mem_24g_pac_index
 	fetch 1,mem_24g_interval_min
-p_g24_current_interval_store:
+p_g24_interval_store:
 	store 1,mem_24g_interval
 	rtn
 p_g24_interval_max:
 	fetch 1,mem_24g_interval_max
-	branch p_g24_current_interval_store
+	branch p_g24_interval_store	
 p_g24_interval_calibrate:
 	fetch 1,mem_24g_pac_index
 	increase 1,pdata
@@ -342,6 +352,9 @@
 	nrtn blank
 	fetch 1,mem_mouse_multi_led_state
 	rtneq ON
+	fetch 1,mem_24g_transmit_by_interrupt
+	rtneq G24_TX_TIMER_INT_ENABLE
+	call p_g24_search_dongle
 p_g24_long_sleep:
 	call p_g24_lpm_wait
 	nrtn user
@@ -377,11 +390,45 @@
 	call p_g24_txdata_enable_tx
 	branch p_g24_transmit_start
 
-p_g24_set_device_addr:
-	fetch 4,mem_lap
-	store 4,mem_24g_device_addr
+p_g24_search_dongle_init:
+	setarg 0
+	store 3,mem_24g_search_dongle_action
 	rtn
 
+p_g24_search_dongle:
+	jam ZCODE_71,mem_zcode_temp_param0
+	branch p_zcode_entrance
+
+p_g24_search_dongle_check:
+	jam 0,mem_24g_search_dongle_count
+	fetch 1,mem_24g_search_dongle_action
+	rtnbit1 G24_DISCONN_STATE
+	set1 G24_DISCONN_STATE,pdata
+	store 1,mem_24g_search_dongle_action
+	setarg G24_DISCONN_NODATA_TIMER	//3min
+	store 2,mem_mouse_no_data_timer
+	branch p_mouse_sensor_powerdown
+
+p_g24_search_dongle_success:
+	fetch 1,mem_24g_abort_pac
+	branch p_g24_search_dongle_init,blank
+	jam 0,mem_24g_search_dongle_count
+	fetch 1,mem_24g_search_dongle_action
+	rtnbit0 G24_DISCONN_STATE
+	set0 G24_DISCONN_STATE,pdata
+	store 1,mem_24g_search_dongle_action
+	call mouse_no_data_timer_init
+	branch p_mouse_init_sensor_reset
+
+//p_g24_set_device_addr:
+//	call adc_init_data
+//	fetch 4,mem_2v_adc_vinlpm_data	//adc data from otp
+//	store 4,mem_24g_device_addr	
+//	nrtn blank
+//	fetch 4,mem_lap
+//	store 4,mem_24g_device_addr
+//	rtn
+
 p_g24_transmit_rf_sta_init:
 	jam 1,mem_24g_rf_last_sta
 	jam 0,mem_24g_sync_cnt
@@ -398,6 +445,10 @@
 	//update txpayload
 	store 1,mem_24g_txpayload
 	rtn
+
+p_g24_hop_enable_packet:
+	fetch 1,mem_24g_data_type
+	rtnbit0 bit_hop
 p_g24_hop_ch_disable:
 	fetch 1,mem_24g_data_type
 	set0 bit_hop,pdata
@@ -405,33 +456,7 @@
 	store 1,mem_24g_txpayload
 	call power_ctrl_pac_succ_decrs
 	branch p_g24_ch
-
-//p_g24_transmit_hop_pac_fail:
-//	call power_ctrl_pac_succ_decrs
-//	fetch 1,mem_24g_rf_work_stage
-//	beq 1,p_g24_transmit_hop_pac_fail_wo_hop
-//	beq 2,p_g24_transmit_hop_pac_fail_hop_stage2
-//	rtn
-//p_g24_transmit_hop_pac_fail_wo_hop:
-//	jam 2,mem_24g_sync_cnt
-//p_g24_transmit_hop_pac_fail_stage1:	
-//	jam 0,mem_24g_hop_pac_retry
-//	jam 0,mem_24g_rf_last_sta
-//	branch p_g24_transmit_rf_ctrl_clear
-
-//p_g24_transmit_hop_pac_fail_hop_stage2:
-//	jam 0,mem_24g_rf_hop_ch
-//	branch p_g24_transmit_hop_pac_fail_stage1
-
 	
-//p_g24_transmit_pac_fail_hop_stage3:
-//	fetch 2,mem_24g_txfail_cnt
-//	increase 1,pdata
-//	store 2,mem_24g_txfail_cnt
-//	bbit1 10,p_g24_tx_attempt_fail	//1024ms * 8
-//	fetch 1,mem_24g_rf_hop_ch
-//	beq 1,p_g24_rf_hop_fastly
-//	jam 1,mem_24g_rf_hop_ch
 p_g24_rf_hop_attemp_again:
 	fetch 1,mem_24g_rf_hop_ch
 	bne 1,p_g24_transmit_rf_ctrl_clear
@@ -491,7 +516,20 @@
 	store 1,mem_24g_sync_cnt
 	jam 2,mem_24g_rf_work_stage
 	jam 4,mem_24g_max_retry
-	branch p_g24_ch
+p_g24_ch:
+	fetcht 1,mem_24g_current_ch_number
+	fetch 1,mem_24g_addr	
+	and_into 0x03,pdata
+	mul32 pdata,4,rega			//24addr low bit0 bit1 ,00-map1,01-map2,10-map3,11-map4
+	setarg mem_24g_ch_map1
+	iadd rega,pdata
+	iadd temp,contr
+	ifetch 1,contr
+	store 1,mem_24g_ch
+	increase 1,temp
+	and_into 3,temp //map size =4
+	storet 1,mem_24g_current_ch_number
+	rtn
 
 p_g24_rf_hop_attemp:
 	jam 3,mem_24g_rf_work_stage
@@ -549,8 +587,8 @@
 	arg param_rx_setup,timeup
 	until clkn_rt,meet
 	call p_g24_transmit_receive_ack
-	fetch 1,mem_24g_no_ack	//tx noack
-	rtneq no_ack_24g
+//	fetch 1,mem_24g_no_ack	//tx noack
+//	rtneq no_ack_24g
 	nbranch p_g24_retransmit,sync
 	nbranch p_g24_retransmit,user3
 	call p_g24_txbuf_clear
@@ -560,16 +598,14 @@
 	fetch 1,mem_24g_pid
 	increase 1,pdata
 	store 1,mem_24g_pid
-	call p_g24_hop_enable_packet
+	call p_g24_hop_enable_packet	
 	fetch 1,mem_24g_pairing_sm
 	bne STATE_24G_PAIRING_SUCCESS,p_g24_paring_mode_start
 	call p_g24_transmit_succ_rf_config
 p_g24_transmit_abandon:
 	setarg 0
-	store 2,mem_24g_txfail_cnt
-	store 1,mem_24g_get_ack_fail
+	store 4,mem_24g_ensure
 	store 1,mem_24g_hop_pac_retry
-	jam ENSURE_OFF_24G,mem_24g_ensure
 	rtn
 
 p_g24_txbuf_clear:
@@ -577,11 +613,6 @@
 	arg mem_24g_txbuf,contw
 	branch memset0
 
-p_g24_hop_enable_packet:
-	fetch 1,mem_24g_data_type
-	bbit1 bit_hop,p_g24_hop_ch_disable
-	rtn	
-
 p_g24_transmit_receive_ack:
 	disable user3
 	call p_g24_transmit
@@ -590,8 +621,8 @@
 	call test_gpio_low
 endif
 
-	fetch 1,mem_24g_no_ack
-	beq no_ack_24g,p_g24_transmit_no_ack	//tx no ack
+//	fetch 1,mem_24g_no_ack
+//	beq no_ack_24g,p_g24_transmit_no_ack	//tx no ack
 	force 0,radio_ctrl
 	fetch 4,mem_24g_addr
 	iforce access
@@ -601,9 +632,9 @@
 	call p_g24_receive_rxon
 	call p_g24_end_of_packet,user3
 	rtn
-p_g24_transmit_no_ack:
-	call p_g24_end_of_packet
-	branch p_g24_transmit_next_packet
+//p_g24_transmit_no_ack:
+//	call p_g24_end_of_packet
+//	branch p_g24_transmit_next_packet
 
 p_g24_retransmit:
 	fetch 2,mem_24g_txfail_cnt
@@ -611,13 +642,11 @@
 	store 2,mem_24g_txfail_cnt	
 	fetch 1,mem_24g_txfail_cnt+1
 	bbit1 4,g24_stop_24g_mode
-
 	fetch 1,mem_24g_pairing_sm
 	bne STATE_24G_PAIRING_SUCCESS,p_g24_tx_paring_retry
-
 	call p_g24_tx_hop_ch_process
 	branch p_g24_transmit_loop
-
+	
 p_g24_tx_paring_retry:
 	fetch 1,mem_24g_txfail_cnt
 	rtnne 0xff
@@ -626,7 +655,6 @@
 	store 2,mem_24g_txfail_cnt
 	branch g24_stop_24g_mode
 
-ifdef G24_NEW_RF_HOP
 p_g24_tx_fast_hop:
 	call power_ctrl_txpower_incrs
 	call power_ctrl_pac_succ_decrs
@@ -643,8 +671,7 @@
 	beq 8,p_g24_hop_ch_enable
 	beq 12,p_g24_hop_ch_disable
 	rtn
-endif
-	
+
 p_g24_ackpayload_parse:
 	call p_g24_read_len_pid_crc
 	fetch 1,mem_24g_rxdata_length	//ack payload length 
@@ -654,6 +681,37 @@
 	arg mem_24g_rxpayload,contw	//ack payload buffer 
 	branch memcpy
 
+p_g24_pair_init:
+	jam TX_POWER_f5DB,mem_tx_power
+	jam 0,mem_24g_pid
+	jam G24_PAIR_CH,mem_24g_ch
+	fetch 4,mem_24g_paring_addr
+p_g24_update_addr_and_synccrc8:	
+	store 4,mem_24g_addr
+//output: 1BYTE crc8
+p_g24_syncword_crc8:
+	arg 0,rega
+	arg 4,loopcnt
+	arg mem_24g_addr,contr
+p_g24_syncword_crc8_loop:
+	ifetch 1,contr
+	iadd rega,rega
+	loop p_g24_syncword_crc8_loop
+	copy rega,pdata
+	store 2,mem_24g_syncword
+	fetch 1,mem_24g_syncword
+	fetcht 1,mem_24g_syncword+1
+	iadd temp,pdata
+	store 1,mem_24g_syncword_crc8
+	rtn
+
+p_g24_start_pairing_sm1:
+	set1 mark_24g,mark
+	call p_g24_pair_init
+p_g24_set_pairing_sm_1:
+	jam STATE_24G_PAIRING_1,mem_24g_pairing_sm
+	rtn
+
 p_g24_pairing_sm:
 	jam ZCODE_90,mem_zcode_temp_param0
 	branch p_zcode_entrance
@@ -665,20 +723,22 @@
 	branch p_zcode_entrance
 
 p_g24_start_24g_mode:
-	jam ZCODE_60,mem_zcode_temp_param0
+	jam ZCODE_40,mem_zcode_temp_param0
 	branch p_zcode_entrance
 
 p_g24_auto_pair_start:
-	jam ZCODE_70,mem_zcode_temp_param0
+	jam ZCODE_41,mem_zcode_temp_param0
 	branch p_zcode_entrance
 
 p_g24_check_51cmd_stop_24g:
 	set0 mark_24g,mark
+	jam STATE_24G_STOP,mem_24g_conn_sm
 	call le_disable
 p_mouse_disable_g24_pairing_flag:
 	arg MOSUE_24G_PAIRING_FLAG,queue
 	branch mouse_disable_function_flag
 
+
 p_g24_put_data_in_buff:
 	storet 1,mem_24g_datalen
 	copy temp,loopcnt
@@ -704,24 +764,7 @@
 	store 1,mem_24g_sta_pid
 	rtn
 
-p_g24_update_addr_and_synccrc8:	
-	store 4,mem_24g_addr
-//output: 1BYTE crc8
-p_g24_syncword_crc8:
-	arg 0,rega
-	arg 4,loopcnt
-	arg mem_24g_addr,contr
-p_g24_syncword_crc8_loop:
-	ifetch 1,contr
-	iadd rega,rega
-	loop p_g24_syncword_crc8_loop
-	copy rega,pdata
-	store 2,mem_24g_syncword
-	fetch 1,mem_24g_syncword
-	fetcht 1,mem_24g_syncword+1
-	iadd temp,pdata
-	store 1,mem_24g_syncword_crc8
-	rtn
+
 
 p_g24_transmit_prep:
 ifdef P24G_LOG
@@ -753,28 +796,37 @@
 	arg mem_24g_txbuf,contr
 	branch memcpy
 
-p_g24_ch:
-	fetcht 1,mem_24g_current_ch_number
-	call p_g24_ch_map_size
-	storet 1,mem_24g_current_ch_number
-	rtn
+//p_g24_ch:
+//	fetcht 1,mem_24g_current_ch_number
+//	fetch 1,mem_24g_addr	
+//	and_into 0x03,pdata
+//	mul32 pdata,4,rega			//24addr low bit0 bit1 ,00-map1,01-map2,10-map3,11-map4
+//	setarg mem_24g_ch_map1
+//	iadd rega,pdata
+//	iadd temp,contr
+//	ifetch 1,contr
+//	store 1,mem_24g_ch
+//	increase 1,temp
+//	and_into 3,temp //map size =4
+//	storet 1,mem_24g_current_ch_number
+//	rtn
 
-p_g24_ch_map_size:
-	call p_g24_ch_calc
-	increase 1,temp
-	and_into 3,temp //map size =4
-	rtn
+//p_g24_ch_map_size:
+//	call p_g24_ch_calc
+//	increase 1,temp
+//	and_into 3,temp //map size =4
+//	rtn
 	
-p_g24_ch_calc:
-	fetch 1,mem_24g_addr	
-	and_into 0x03,pdata
-	mul32 pdata,4,rega			//24addr low bit0 bit1 ,00-map1,01-map2,10-map3,11-map4
-	setarg mem_24g_ch_map1
-	iadd rega,pdata
-	iadd temp,contr
-	ifetch 1,contr
-	store 1,mem_24g_ch
-	rtn
+//p_g24_ch_calc:
+//	fetch 1,mem_24g_addr	
+//	and_into 0x03,pdata
+//	mul32 pdata,4,rega			//24addr low bit0 bit1 ,00-map1,01-map2,10-map3,11-map4
+//	setarg mem_24g_ch_map1
+//	iadd rega,pdata
+//	iadd temp,contr
+//	ifetch 1,contr
+//	store 1,mem_24g_ch
+//	rtn
 
 p_g24_prep:
 	disable enable_crc
@@ -787,16 +839,16 @@
 	rshift temp,white_init
 	rtn
 
-p_g24_receive_packet:
-	call le_enable
-	fetch 4,mem_24g_addr
-	iforce access
-	call set_sync_on
-	fetcht 1,mem_24g_ch
-	call set_freq_rx
-	setarg param_pll_setup
-	call sleep
-	call rf_rx_enable
+//p_g24_receive_packet:
+//	call le_enable
+//	fetch 4,mem_24g_addr
+//	iforce access
+//	call set_sync_on
+//	fetcht 1,mem_24g_ch
+//	call set_freq_rx
+//	setarg param_pll_setup
+//	call sleep
+//	call rf_rx_enable
 p_g24_receive_rxon:
 
 ifdef RF_DEBUG
@@ -830,9 +882,9 @@
 	nbranch p_g24_end_of_packet,zero
 	call p_g24_receive_byte
 	store 1,mem_24g_rxbuf	//device id
-	fetch 1,mem_24g_mode
-	sub pdata,rx_24g,null
-	branch p_g24_receive_skip,zero
+//	fetch 1,mem_24g_mode
+//	sub pdata,rx_24g,null
+//	branch p_g24_receive_skip,zero
 	fetch 1,mem_24g_rxbuf
 	fetcht 1,mem_24g_data_type
 	icompare bits_data,temp
@@ -892,6 +944,11 @@
 	rshift3 pwindow,pdata
 	rtn
 	
+p_g24_sync_timeout:
+//ifdef DONGLE
+//	call p_rssi_noise
+//endif
+//	branch p_g24_end_of_packet
 p_g24_end_of_packet:
 	disable encode_fec1
 	disable decode_fec1
@@ -901,12 +958,6 @@
 endif
 	rtn
 
-p_g24_sync_timeout:
-ifdef DONGLE
-	call p_rssi_noise
-endif
-	branch p_g24_end_of_packet
-
 p_g24_set_freq_tx:
 	call set_sync_on
 	fetcht 1,mem_24g_ch
@@ -984,28 +1035,30 @@
 	store 4,mem_24g_tx_btclk
 	branch enable_user
 
-p_rssi_noise:
-	call save_rssi
-	rtn blank
-	fetcht 1,mem_rssi_noise_index
-	arg mem_rssi_noise_buffer,rega
-	call p_rssi_store
-	storet 1,mem_rssi_noise_index
-	rtn
+//p_rssi_noise:
+//	call save_rssi
+//	rtn blank
+//	fetcht 1,mem_rssi_noise_index
+//	arg mem_rssi_noise_buffer,rega
+//	call p_rssi_store
+//	storet 1,mem_rssi_noise_index
+//	rtn
 	
-p_rssi_store:
-	copy rega,pdata
-	iadd temp,contw
-	fetch 1,mem_rssi
-	istore 1,contw
-	increase 1,temp
-ifdef DONGLE
-	and_into RSSI_BUF_LEN_NOISE,temp
-endif
-ifdef MOUSE
-	and_into RSSI_BUF_LEN_SIGNAL,temp
+//p_rssi_store:
+//	copy rega,pdata
+//	iadd temp,contw
+//	fetch 1,mem_rssi
+//	istore 1,contw
+//	increase 1,temp
+//ifdef DONGLE
+//	and_into RSSI_BUF_LEN_NOISE,temp
+//endif
+//ifdef MOUSE
+//	and_into RSSI_BUF_LEN_SIGNAL,temp
+//endif
+//	rtn
 endif
-	rtn
+
 p_rssi_average:
 	arg 0,temp
 ifdef DONGLE
@@ -1037,8 +1090,6 @@
 endif
 	rtn
 
-endif
-
 p_mouse_before_lpm:
 	rtnmark1 mark_24g
 	call p_mouse_le_txbuff_save
@@ -1068,19 +1119,13 @@
 	hstore 1,core_gpio_pd1
 	hfetch 1,core_gpio_pd2	//flash hold pin gpio22
 	set0 6,pdata
-	hstore 1,core_gpio_pd2	
-p_set_ice_gpio:
-	fetcht 1,mem_mouse_multi_led_gpio
-	call gpio_config_input
-	fetcht 1,mem_mouse_multi_led_gpio
-	set1 gpio_active_bit,temp
-	arg core_gpio_pu0,contw
-	branch gpio_set_bit
+	hstore 1,core_gpio_pd2
+	branch p_mouse_multi_led_gpio_set_float
 
 p_mouse_set_sdio_high:
 	fetch 1,mem_mouse_init_sensor_reset_flag
 	rtn blank
-	branch p_mouse_seting_sensor_type// make sdio high to make 100uA less	
+	branch p_mouse_seting_sensor_type// make sdio high to make 100uA less
 
 p_device_init:
 	call initialize_radio
@@ -1110,33 +1155,31 @@
 ifdef RF_DEBUG
 	call test_gpio_init
 endif
-ifdef BLE_FAST_CONN_ENABLE
-	fetch 3,mem_le_lap+3
-	store 3,mem_le_lap_high_3B
-endif
 	call p_wake_from_power
-
-//	call p_mouse_switch_Hwakeup_byPB
 //ifdef G24
+//	fetch 1,mem_power_on_flag
+//	bbit1 2,p_mouse_skip_24g_pair
 //	call p_mouse_check_key_gpio
-//	beq MOUSE_LM_BUTTON,p_mouse_24g_pairing_button
+//	beq MOUSE_LR_BUTTON,p_mouse_24g_pairing_button
+//p_mouse_skip_24g_pair:
 //endif
 p_mouse_check_reconn_target:
 	call p_mouse_tx_power_init
 //	fetch 1,mem_device_flag
-//	fetcht 1,mem_24g_device_number
-//	isub temp,null
-//	branch p_mouse_connect_24g_mode,zero
-//	beq 0xff,p_mouse_connect_24g_mode
-	call p_mouse_mode_bt_device1_multi_led_on
+//	beq MODE_24G_DEVICE,p_mouse_connect_24g_mode
+//	beq MODE_DEFAULT_DEVICE,p_mouse_connect_24g_mode
+//	call p_mouse_mode_bt_device1_multi_led_on
 	fetch 1,mem_xrecord_mode
 ifdef CLASSIC_BT
 	beq REC_3_MODE,p_mouse3_0_check_reconn_target
 endif
 ifdef BLE
 	beq REC_4_MODE,p_mouse4_0_check_reconn_target
-endif	
-	branch p_mouse_null_enter_hibernate_enable	//enter hibernate if it is in its factory state
+endif
+	call p_mouse_fast_conn_adv_switch_timer_reinit
+	jam 6,mem_connection_options
+	call p_mouse_check_fast_conn_adv_start
+	branch check_51cmd_start_discovery
 
 p_device_wake_from_lpm:
 	branch p_mouse_spi_init
@@ -1150,11 +1193,6 @@
 //	fetch 1,mem_config_function_enable
 //	branch mouse_cheak_select_device_by_switch+1
 
-p_mouse_connect_24g_mode:
-	jam MODE_24G_DEVICE,mem_device_flag
-	call p_mouse_mode_24g_device_multi_led_on
-	branch p_mouse_start_24g_mode
-
 ifdef CLASSIC_BT
 p_mouse3_0_check_reconn_target:
 	fetch 6,mem_hci_plap
@@ -1164,26 +1202,8 @@
 
 ifdef BLE
 p_mouse4_0_check_reconn_target:
-	jam 1,mem_le_send_security_request_flag
-	jam 1,mem_mouse_le_reconnect_flag
-	fetch 2,mem_mouse_direct_timeout
-ifdef BLE_FAST_CONN_ENABLE
-	fetcht 1,mem_mouse_fast_conn_flag
-	sub temp,0xff,null
-	nbranch p_mouse4_0_check_reconn_target_next,zero
-	setarg 0x0258								//ble fast conn time 1min
-endif
-p_mouse4_0_check_reconn_target_next:
-	store 2,mem_mouse_direct_timer
-	call app_lpm_mult_disable
-	call p_le_check_adv_flag
-	setarg ADV_FLAG_BREDR_NOT_SUPPORTED
-	istore 1,contr
-
-	arg mem_le_scan_data,contr
-	call p_le_adv_data_update
-	
-	branch check_51cmd_adv
+	jam ZCODE_11,mem_zcode_temp_param0
+	branch p_zcode_entrance
 
 p_le_check_adv_flag:
 	arg mem_le_adv_data,rega
@@ -1193,103 +1213,48 @@
 	iadd contr,rega
 	ifetch 1,contr	//type
 	rtneq 0x01
-	branch p_le_check_adv_flag_loop
-
-ifdef BLE_FAST_CONN_ENABLE
-p_mouse_le_fast_conn_disable:
-	jam 0x5a,mem_mouse_fast_conn_flag
-	rtn
-	
-p_mouse_fast_conn_init:
-	jam 0xff,mem_mouse_fast_conn_flag
-	jam 0x34,mem_xrecord_mode
-	setarg 0x0f0f0f
-	store 3,mem_le_lap
-	store 3,mem_le_lap+3
-	rtn	
-endif
-	
+	branch p_le_check_adv_flag_loop	
 endif
 
-ifdef G24
-p_mouse_24g_pairing_button:
-	jam ZCODE_61,mem_zcode_temp_param0
-	branch p_zcode_entrance
-endif
-
-//p_mouse_devce_led_off:
-//	call mouse_device1_led_on
-//	call mouse_device2_led_on
-//	fetch 1,mem_config_low_voltage_alarm_gpio
-//	store 1,mem_mouse_struct_led_gpio
-//	branch mouse_led_on
+//ifdef G24
+//p_mouse_24g_pairing_button:
+//	jam ZCODE_42,mem_zcode_temp_param0
+//	branch p_zcode_entrance
+//endif
 
-p_mouse_spi_init:
-	jam 0x76,mem_spi_init_clk
-	branch mouse_spi_init
-	
 p_mouse_init_sunt:
 	call p_mouse_spi_init
 	call mouse_spi_sdio_gpio_pollup
-//	fetch 1,mem_config_sensor_type
-//	beq P3610,mouse_init_3610sensor
 p_mouse_init_sensor:
 	call mouse_read_sensor_id
-//	beq P32XX_ID1,p_mouse_init_p32xx_id2_judge
+	beq P32XX_ID1,p_mouse_init_p32xx_id2_judge
 	beq P3065_ID1,p_mouse_p3065_init_param
 	call mouse_twspi_reset
 	nop 1000
 	branch p_mouse_init_sensor
 
-p_mouse_init_sensor_reset:
-	jam 1,mem_mouse_init_sensor_reset_flag
-	call spi_ncs_enable
-	call p_mouse_init_sunt
-	branch spi_ncs_disable
+p_mouse_init_p32xx_id2_judge:
+	call p_mouse_sensor_poweron
+	fetch 1,mem_sensor_id2
+	beq P_MX8650,p_mouse_mx8650_init_param
+	beq PKA8_ID2,p_mouse_ka8_init_param
+	branch mouse_init_p32xx_id2_judge
+
+p_mouse_mx8650_init_param:
+	jam MX8650,mem_config_sensor_type
+	arg mem_sensor_8650_init,regc
+p_sensor_wr_seq:
+	ifetch 2,regc
+	rtneq 0xff
+	call twspi_write
+	nop 12000
+	increase 2,regc
+	branch p_sensor_wr_seq
 
-//p_mouse_init_p32xx_id2_judge:
-//	call p_mouse_sensor_poweron
-//	fetch 1,mem_sensor_id2
-//	beq MA8650_ID2,p_mouse_ma8650_init_param
-//	beq P8009_ID2,p_mouse_8009_init_param
-//	branch mouse_init_p32xx_id2_judge+1
-
-//p_mouse_ma8650_init_param:
-//	setarg 0x8006	// reset to factory settings
-//	call twspi_write
-//	call delay_10ms
-//	jam MA8650,mem_config_sensor_type
-//	call mouse_sensor_disable_wp
-//	setarg 0x220a
-//	call twspi_write
-//	branch mouse_sensor_enable_wp
-
-//p_mouse_8009_init_param:
-//	setarg 0x16
-//	call twspi_read
-//	sub pdata,0xbd,null 
-//	nbranch p_mouse_init_sensor,zero
-//	setarg 0x19
-//	call twspi_read
-//	sub pdata,0x55,null 
-//	nbranch p_mouse_init_sensor,zero
-//	setarg 0x1b
-//	call twspi_read
-//	sub pdata,0x1d,null 
-//	nbranch p_mouse_init_sensor,zero
-//	jam P8009,mem_config_sensor_type
-//	call mouse_sensor_disable_wp
-//	setarg 0x0206
-//	call twspi_write
-//	setarg 0x6909
-//	call twspi_write
-//	setarg 0x280d
-//	call twspi_write
-//	setarg 0x9f0e
-//	call twspi_write
-//	setarg 0xba0f
-//	call twspi_write
-//	branch mouse_sensor_enable_wp
+p_mouse_ka8_init_param:
+	jam KA8,mem_config_sensor_type
+	arg mem_sensor_ka8_init,regc
+	branch p_sensor_wr_seq
 
 p_mouse_p3065_init_param:
 	call p_mouse_sensor_poweron
@@ -1298,36 +1263,6 @@
 	jam P3065,mem_config_sensor_type
 	rtn
 
-p_mouse_sensor_poweron:
-	call p_mouse_spi_init
-	setarg 0x8006	// reset to factory settings
-	call twspi_write
-	nop 12000
-	branch p_mouse_dpi_config
-//	fetch 1,mem_sensor_id2
-//	beq P8009_ID2,p_mouse_8009_init_param
-//	rtn
-
-p_mouse_dpi_config:
-//	fetch MOUSE_FLAG_LEN,mem_mouse_flag
-//	bbit0 MOUSE_ENABLE_EEPROM,mouse_dpi_config
-	fetch 1,mem_mouse_dpi
-	beq 0xff,p_mouse_dpi_config_default
-	branch p_mouse_seting_dpi
-p_mouse_dpi_config_default:
-	fetch 1,mem_config_sensor_motion
-	store 1,mem_mouse_dpi
-	branch p_mouse_seting_dpi
-
-p_mouse_sensor_powerdown:
-	call p_mouse_spi_init
-	setarg 0x06
-	call twspi_read
-	or pdata,0x08,pdata
-	lshift8 pdata,pdata
-	add pdata,0x06,pdata
-	branch twspi_write	//make sdio high
-
 p_mouse_setting_config:
 	jam ZCODE_80,mem_zcode_temp_param0
 	branch p_zcode_entrance
@@ -1348,11 +1283,9 @@
 	hstore 1,core_gpio_sel1
 	setarg 0
 	store 4,mem_spid_tbuf
-
 	hfetch 1,core_gpio_pd3	//gpio24 can not be set pulldown
 	set0 0,pdata
 	hstore 1,core_gpio_pd3
-	
 	rtn
 
 p_mouse_load_flash_info_check:
@@ -1363,40 +1296,47 @@
 	isub temp,null
 	branch p_mouse_load_flash_device_info,zero
 	storet 2,mem_store_flag
+//	ncall p_mouse_check_select_device_by_switch,zero
 	call mouse_ble_init_address
 	fetch 1,mem_config_sensor_motion
 	store 1,mem_mouse_dpi
-//	fetch 4,mem_mouse_24g_addr_init
-//	store 4,mem_mouse_24g_addr
-//	store 4,mem_24g_addr
+	fetch 4,mem_mouse_24g_addr_init
+	store 4,mem_mouse_24g_addr
+	store 4,mem_24g_addr
 p_mouse_store_flash_device_info:
 	call p_flash_release_deep_power_down
 	call p_flash_erase_sector
 	call p_mouse_information_flash_parameters
 	call p_spid_write_flash
 	call p_wait_flash_done
-p_mouse_store_random_addr_increase_count:
-	arg 2,temp
-	arg mem_random_addr_increase_count,rega
-	arg MOUSE_RANDOM_ADDR_COUNT_EEPROM_OFFSET,regb
+	//user flash data
+p_mouse_store_flash_user_data:
+	arg 7,temp
+	arg mem_mouse_flash_start_temp,rega
+	arg MOUSE_USER_DATA_OFFECT,regb
 	fetch 3,mem_flash_base
 	iadd regb,pdata
 	call p_spid_write_flash
 	call p_wait_flash_done
 	call p_flash_deep_power_down
-	branch p_mouse_spi_init
+p_mouse_spi_init:
+	jam 0x76,mem_spi_init_clk
+	branch mouse_spi_init
 
-p_mouse_set_24g_addr_flash:
-	arg 4,temp
-	arg mem_24g_addr,rega
-	arg MOUSE_G24_ADDR_EEPROM_OFFECT,regb
-	rtn
-	
 p_flash_erase_sector:
 	fetch 3,mem_flash_base
 	store 3,mem_spi_write_addr
 	call flash_erase_sector+2
-	branch p_wait_flash_done
+p_wait_flash_done:
+	setarg 100000
+	call sleep
+	call spid_unlock_flash
+	setarg mem_spid_rbuf
+	hstore 2,core_spid_rxaddr
+	setarg FLASH_READ_SATUS
+	call spid_read_reg
+	bbit1 FLASH_STATUS_WIP,p_wait_flash_done
+	rtn
 
 p_spid_write_flash:
 	copy pdata,regc
@@ -1411,17 +1351,6 @@
 	istore 4,regb
 	rtn
 
-p_wait_flash_done:
-	setarg 100000	
-	call sleep
-	call spid_unlock_flash
-	setarg mem_spid_rbuf
-	hstore 2,core_spid_rxaddr
-	setarg FLASH_READ_SATUS
-	call spid_read_reg
-	bbit1 FLASH_STATUS_WIP,p_wait_flash_done
-	rtn
-
 p_mouse_information_flash_parameters:
 	setarg mem_mouse_information_end
 	arg mem_mouse_information_start,temp
@@ -1435,10 +1364,11 @@
 	call p_mouse_information_flash_parameters
 	branch spid_read_flash
 
-p_mouse_load_flash_device_info:	
+p_mouse_load_flash_device_info:
 	call p_mouse_read_flash
-	call p_mouse_load_random_addr_increase_count
+	call p_mouse_load_flash_user_data
 //	call p_mouse_check_select_device_by_switch
+//	call p_mouse_switch_Hwakeup_byPB
 	call mouse_select_reconn_device
 	fetch 4,mem_mouse_24g_addr
 	store 4,mem_24g_addr
@@ -1459,28 +1389,71 @@
 p_flash_release_deep_power_down:
 	jam FLASH_COMMAND_RELEASE_DEEP_POWER_DOWN,mem_temp
 	branch p_spid_write_flash_cmd
-	
-p_mouse_start_24g_mode:
-//	fetch MOUSE_FLAG_LEN,mem_mouse_flag
-//	rtnbit0 MOUSE_ENABLE_24G
-	call p_g24_factory_check
-	branch p_g24_auto_pair_start,user
-	branch p_g24_start_24g_mode
 
-p_g24_factory_check:
-	arg 2,loopcnt
-	arg mem_24g_addr,contr
-p_pdata_0xff_check:
-	call enable_user
-	setarg 0xffff
-p_pdata_0xff_check_loop:
-	ifetcht 2,contr
-	isub temp,null
-	ncall disable_user,zero
-	loop p_pdata_0xff_check_loop
+ifdef BLE_FAST_CONN_ENABLE
+p_mouse_fast_conn_disable:
+	jam 0x5a,mem_mouse_fast_conn_flag
+	rtn
+p_mouse_fast_conn_le_switch_adv:
+	jam 1,mem_le_switch_adv_timer
+	jam 1,mem_le_switch_adv_flag
+p_mouse_fast_conn_init:
+	jam 0xff,mem_mouse_fast_conn_flag
+	fetch 6,mem_24g_allpowerful_addr
+	store 6,mem_le_lap
 	rtn
+endif
+
+p_mouse_load_flash_user_data:
+	call p_flash_release_deep_power_down
+	arg 7,temp
+	arg mem_mouse_flash_start_temp,rega
+	arg MOUSE_USER_DATA_OFFECT,regb
+	fetch 3,mem_flash_base
+	iadd regb,pdata
+	branch spid_read_flash
+
+//p_mouse_select_device_button_wakeup_check:
+//	jam 0,mem_mouse_select_device_button_wakeup_flag
+//	fetcht 1,mem_config_select_device_button_gpio
+//	call gpio_config_input
+//	fetcht 1,mem_config_select_device_button_gpio
+//	call gpio_get_bit
+//	nrtn true
+//	call delay_10ms
+//	fetcht 1,mem_config_select_device_button_gpio
+//	call gpio_get_bit
+//	nrtn true
+//	jam 1,mem_mouse_select_device_button_wakeup_flag
+//	rtn
+
+//p_mouse_switch_Hwakeup_byPB:
+//	fetch 1,mem_config_function_enable
+//	rtnbit1 ENABLE_SELECT_DEVICE_BY_GPIO_BUTTON
+//	fetch 1,mem_mouse_select_device_button_wakeup_flag
+//	rtn blank
+//p_mouse_switch_device:	
+//	fetcht 1,mem_device_flag
+//	increase 1,temp
+//	fetch 1,mem_device_number
+//	isub temp,null
+//	ncall mouse_select_device_count_clean,positive
+//	storet 1,mem_device_flag
+//	branch p_mouse_store_flash_device_info
 
 ifdef G24
+p_mouse_connect_24g_mode:
+	call p_mouse_mode_24g_device_multi_led_on
+p_mouse_start_24g_mode:
+//	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+//	rtnbit0 MOUSE_ENABLE_24G
+	fetch 1,mem_power_on_flag
+	bbit1 2,p_g24_start_24g_mode	//hibernate goto reconn
+	fetch 4,mem_mouse_24g_addr_init	//power on goto pair
+	store 4,mem_24g_addr
+	call p_mouse_store_flash_device_info	
+	branch p_g24_auto_pair_start
+
 p_mouse_g24_package_data:
 	call mouse_g24_package_data
 	fetch 2,mem_mouse_z
@@ -1517,10 +1490,36 @@
 	arg mem_le_tx_buffer3,contw
 	branch p_mouse_le_txbuff_copy
 
-p_mouse_le_send_empty_packet:
-	fetch 2,mem_le_tx_ptr0
-	nrtn blank
-	branch mouse_le_send_empty_packet
+
+p_mouse_le_current_mult_update:
+	jam 0,mem_lpm_mult
+	jam 30,mem_mouse_le_current_mult_timer
+	rtn
+
+p_mouse_data_xy_release:
+	fetch 1,mem_mouse_long_mult_flag
+	rtnne 1
+	setarg 0
+	store 1,mem_mouse_long_mult_flag
+	store 4,mem_mouse_x
+p_mouse_sensor_poweron:
+	call p_mouse_spi_init
+	arg mem_sensor_poweron_init,regc
+	call p_sensor_wr_seq
+	call p_mouse_dpi_config
+	fetch 1,mem_config_sensor_type
+	beq KA8,p_mouse_ka8_init_param
+	beq MX8650,p_mouse_mx8650_init_param
+	rtn
+	
+p_mouse_dpi_config:
+	fetch 1,mem_mouse_dpi
+	beq 0xff,p_mouse_dpi_config_default
+	branch p_mouse_seting_dpi
+p_mouse_dpi_config_default:
+	fetch 1,mem_config_sensor_motion
+	store 1,mem_mouse_dpi
+	branch p_mouse_seting_dpi
 
 p_mouse_le:
 	call le_fifo_check_nearly_full
@@ -1528,15 +1527,15 @@
 ifdef BLE_FAST_CONN_ENABLE
 	fetch 1,mem_mouse_fast_conn_flag
 	beq 0xff,p_mouse_le_next
-endif
+endif	
 	fetch 1,mem_le_connect_status_flag
 	and pdata,0x03,pdata
 	rtnne 0x03
-p_mouse_le_next:
+p_mouse_le_next:	
 	fetch 1,mem_mouse_clear_sensor_data_flag
 	call p_mouse_clear_sensor_data,blank
 	fetch MOUSE_FLAG_LEN,mem_mouse_flag
-	bbit1 MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG,p_mouse_le_send_empty_packet
+	bbit1 MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG,mouse_le_send_empty_packet
 	call mouse_motion
 	nrtn user
 	call p_mouse_le_current_mult_update
@@ -1562,23 +1561,6 @@
 endif
 	rtn
 
-p_mouse_le_current_mult_update:
-//	fetch 1,mem_config_function_enable
-//	rtnbit1 ENABLE_SENSOR_MOTION_PIN
-	jam 0,mem_lpm_mult
-	jam 30,mem_mouse_le_current_mult_timer
-	rtn	
-
-p_mouse_data_xy_release:
-//	fetch 1,mem_config_function_enable
-//	rtnbit1 ENABLE_SENSOR_MOTION_PIN
-	fetch 1,mem_mouse_long_mult_flag
-	rtnne 1
-	setarg 0
-	store 1,mem_mouse_long_mult_flag
-	store 4,mem_mouse_x
-	branch p_mouse_sensor_poweron
-
 p_mouse_data_init:
 	jam 7,mem_mouse_data_queue	//data length
 	jam 4,mem_mouse_data_queue+1	//fifo depth
@@ -1632,9 +1614,16 @@
 	fetch 2,mem_mouse_z
 	rtn blank
 	jam 1,mem_mouse_wheel_trigger
-	jam 2,mem_mouse_wheel_trigger_timer
+	jam 10,mem_mouse_wheel_trigger_timer
 	rtn
 
+p_mouse_clear_sensor_data:
+	jam 1,mem_mouse_clear_sensor_data_flag
+	call le_set_config_more_data
+p_mouse_init_sensor_reset:
+	jam 1,mem_mouse_init_sensor_reset_flag
+	branch p_mouse_init_sunt
+
 ifdef CLASSIC_BT
 p_mouse_bt:
 	rtn attempt
@@ -1678,46 +1667,35 @@
 	istore 5,contw
 	rtn
 
-p_mouse_clear_sensor_data:
-	jam 1,mem_mouse_clear_sensor_data_flag
-	call le_set_config_more_data
-	branch p_mouse_init_sensor_reset
 endif
 
-//p_mouse_clear_sensor_data:
-//	call le_set_config_more_data
-//	jam 1,mem_mouse_clear_sensor_data_flag
-//	branch p_mouse_sensor_poweron
-
 p_mouse_idle:
 	call ui_check_paring_button
-	call p_mouse_dpi_check
+//	call p_mouse_dpi_check
 	branch mouse_wheel_check
 
-p_mouse_dpi_check:
-	fetcht 1,mem_dpi_button_gpio
-	call p_gpio_set_input_pd
-	fetcht 1,mem_dpi_button_gpio
-	call gpio_get_bit
-	branch p_mouse_dpi_up,true
-	call p_gpio_set_input_pu
-p_mouse_dpi_down:
-	fetch 1,mem_mouse_dpi_button_state
-	rtneq DPI_BUTTON_STATE_DOWN
-	jam DPI_BUTTON_STATE_DOWN,mem_mouse_dpi_button_state
-p_mouse_dpi_down_next:
-	fetch 1,mem_mouse_dpi
-	increase 1,pdata
-	and pdata,0x03,pdata
-	store 1,mem_mouse_dpi
+//p_mouse_dpi_check:
+//	fetcht 1,mem_dpi_button_gpio
+//	call p_gpio_set_input_pd
+//	fetcht 1,mem_dpi_button_gpio
+//	call gpio_get_bit
+//	branch p_mouse_dpi_up,true
+//	call p_gpio_set_input_pu
+//p_mouse_dpi_down:
+//	fetch 1,mem_mouse_dpi_button_state
+//	rtneq DPI_BUTTON_STATE_DOWN
+//	jam DPI_BUTTON_STATE_DOWN,mem_mouse_dpi_button_state
+//	fetch 1,mem_mouse_dpi
+//	increase 1,pdata
+//	and pdata,0x03,pdata
+//	store 1,mem_mouse_dpi
 //	increase 2,pdata
-//	store 2,mem_mouse_multi_led_blink_count
+//	store 1,mem_mouse_multi_led_blink_count
 //	call p_mouse_dpi_multi_led_blink
-	branch mouse_seting_dpi
-
-p_mouse_dpi_up:
-	call p_gpio_set_input_pu
-	branch mouse_dpi_up
+//	branch mouse_seting_dpi
+//p_mouse_dpi_up:
+//	call p_gpio_set_input_pu
+//	branch mouse_dpi_up
 
 p_mouse_priority_bb_event:
 	copy regc,pdata
@@ -1731,7 +1709,7 @@
 ifdef CLASSIC_BT
 	beq BT_EVT_RECONN_FAILED,p_mouse_bb_event_reconn_failed
 	beq BT_EVT_RECONN_PAGE_TIMEOUT,p_mouse_bb_event_reconn_timeout
-	beq BT_EVT_SWITCH_NOT_ACCEPT,app_bt_role_switch
+	beq BT_EVT_SWITCH_NOT_ACCEPT,app_bt_role_switch	
 	beq BT_EVT_SNIFF_NOT_ACCEPT,p_mouse_sniff_not_accept
 	beq BT_EVT_BB_CONNECTED,p_mouse_bb_event_connected
 	beq BT_EVT_BB_DISCONNECTED,p_mouse_bb_event_disconnected
@@ -1747,11 +1725,24 @@
 ifdef BLE
 p_mouse_le_bb_event_connected:
 	call p_mouse_init_sensor_reset
-	jam ZCODE_B0,mem_zcode_temp_param0
-	branch p_zcode_entrance
+ifdef BLE_FAST_CONN_ENABLE
+	setarg 0
+	store 3,mem_le_switch_adv_flag
+endif
+	call app_ble_store_reconn_info
+	jam 1,mem_mouse_le_bb_connected_flag
+	fetch 1,mem_mouse_le_reconnect_flag
+	nbranch p_mouse_le_bb_event_connected_next,blank
+	jam 0x14,mem_mouse_send_secutiry_request_timer
+p_mouse_le_bb_event_connected_next:
+	call p_mouse_null_enter_hibernate_disable
+	call p_mouse_data_init
+	branch mouse_le_bb_event_connected
+
 
 p_mouse_le_bb_disconnected:
 	call p_mouse_sensor_powerdown_check	//sensor power down
+	call p_mouse_store_flash_device_info
 	jam ZCODE_A2,mem_zcode_temp_param0
 	branch p_zcode_entrance
 
@@ -1777,7 +1768,7 @@
 	branch p_zcode_entrance
 
 p_mouse_irtual_cable_unplug:
-	jam ZCODE_B5,mem_zcode_temp_param0
+	jam ZCODE_70,mem_zcode_temp_param0
 	branch p_zcode_entrance
 
 p_mouse_sniff_not_accept:
@@ -1785,7 +1776,12 @@
 	branch p_zcode_entrance
 
 p_mouse_bb_event_connected:
+	call p_mouse_store_eeprom_enable
 	call p_mouse_init_sensor_reset
+ifdef BLE_FAST_CONN_ENABLE
+	setarg 0
+	store 3,mem_le_switch_adv_flag
+endif
 	call p_mouse_null_enter_hibernate_disable
 	call p_mouse_discovey_led_blink_off
 	jam 0,mem_mouse_send_switch_req_timer
@@ -1793,6 +1789,7 @@
 
 p_mouse_bb_event_disconnected:
 	call p_mouse_sensor_powerdown_check	//sensor power down
+	call p_mouse_store_flash_device_info
 	jam ZCODE_B4,mem_zcode_temp_param0
 	branch p_zcode_entrance
 
@@ -1804,138 +1801,157 @@
 ifdef G24
 p_mouse_24g_pairing_complete:
 	call p_mouse_init_sensor_reset
-	jam ZCODE_92,mem_zcode_temp_param0
+	jam ZCODE_50,mem_zcode_temp_param0
 	branch p_zcode_entrance
 
 p_mouse_24g_attempt_fail:
 	call p_mouse_sensor_powerdown_check	//sensor power down
-	jam ZCODE_A0,mem_zcode_temp_param0
+	jam ZCODE_51,mem_zcode_temp_param0
 	branch p_zcode_entrance
 
 p_mouse_24g_attempt_success:
-	jam 1,mem_mouse_24g_attempt_success_flag
-	call p_mouse_null_enter_hibernate_disable
 	call p_mouse_init_sensor_reset
-	call mouse_no_data_timer_init
-p_mouse_store_24g_device_2flash:
-	call mouse_cheak_select_24gdevice
-	branch p_mouse_store_flash_device_info
-endif
+	jam ZCODE_52,mem_zcode_temp_param0
+	branch p_zcode_entrance
+endif	
 
 p_mouse_before_hibernate:
 	call p_mouse_sensor_powerdown_check
-	jam ZCODE_A4,mem_zcode_temp_param0
+	jam ZCODE_A0,mem_zcode_temp_param0
 	branch p_zcode_entrance
 
 p_mouse_sensor_powerdown_check:
 	fetch 1,mem_mouse_init_sensor_reset_flag
 	rtn blank
 	jam 0,mem_mouse_init_sensor_reset_flag
-	branch p_mouse_sensor_powerdown
+p_mouse_sensor_powerdown:
+	call p_mouse_init_sunt
+	setarg 0x06
+	call twspi_read
+	or pdata,0x08,pdata
+	lshift8 pdata,pdata
+	add pdata,0x06,pdata
+	branch twspi_write	//make sdio high
 
 
 p_mouse_bb_event_timer:
 ifdef ADC_ENABLE
 	call p_mouse_adc_read
 	call p_mouse_low_voltage_led_timer
+//	call p_low_power_nodata_off_led_time_check
+endif
+ifdef BLE_FAST_CONN_ENABLE
+	call p_mouse_le_switch_adv_timer
 endif
 	call p_mouse_multi_led_blink_timer
 	call p_mouse_wheel_trigger_timer
-	call p_mouse_null_enter_hibernate_timer	
+	call p_mouse_null_enter_hibernate_timer
 	call p_mouse_bt_discovery_check
-	//call mouse_bt_discovery_cheak
 	call mouse_check_discovery_timeout_timer
-//	call p_mouse_select_device	
+//	call p_mouse_check_select_device_by_switch_timer
 ifdef G24
 	call p_mouse_g24_long_sleep_param_update_timer
-endif	
+	call p_mouse_g24_stop_mode_timeout_timer
+endif
 ifdef BLE	
-	call p_mouse_check_direct_timeout_timer
+	call mouse_check_direct_timeout_timer
 	call p_mouse_le_enable_att_list_timer
-	call p_mouse_le_current_mult_update_timer
 	call p_le_send_smp_security_request_timer
-	call p_mouse_le_fast_conn_enable_timer
+	call p_mouse_le_current_mult_update_timer
 endif
 ifdef CLASSIC_BT
 	call p_mouse_send_switch_req_timer
 	call mouse_check_hid_handshake_timer
 	call p_mouse_bt_check_sniff_req_timeout_timer
 endif
-	call p_mouse_delay_discovery_timer
 	branch mouse_check_no_data_timeout_timer
 
-p_mouse_delay_discovery_timer:
-	fetch 1,mem_mouse_delay_discovery_count
-	rtn blank
-	increase -1,pdata
-	store 1,mem_mouse_delay_discovery_count
-	nrtn blank
-	branch mouse_start_discovery
 
-//p_mouse_select_device:
-//p_mouse_select_device_by_button:
+//p_mouse_check_select_device_by_switch_timer:
+//	fetch 1,mem_config_function_enable
+//	rtnbit0 ENABLE_SELECT_DEVICE_BY_SWITCH
 //	fetcht 1,mem_config_select_device_button_gpio
 //	call gpio_get_bit
-//	branch p_mouse_select_device_button_down,true
-//p_mouse_select_device_button_up:
-//	fetch 1,mem_mouse_select_device_button_wakeup_flag	
-//	nbranch p_mouse_select_button_wakeup_firstUp,blank
-//	fetch 1,mem_select_device_button_statue
-//	rtneq DPI_BUTTON_STATE_UP
-
-//	jam DPI_BUTTON_STATE_UP,mem_select_device_button_statue
-//	jam ON,mem_mouse_multi_led_blink_enable
+//	branch p_mouse_cheak_select_24gdevice,true
+//p_mouse_select_btdevice:
+//	fetch 1,mem_device_flag
+//	bne MODE_BT_DEVICE1,soft_reset_chip
+//	rtn
+//p_mouse_cheak_select_24gdevice:
+//	fetch 1,mem_device_flag
+//	bne MODE_24G_DEVICE,soft_reset_chip
+//	rtn
 
-//	fetch 1,mem_mouse_long_button_select_device
-//	branch p_mouse_long_button_state_clear,blank
-//p_mouse_ready_reconnection_by_button:
-//	call p_mouse_switch_device_flag
-//	jam 0,mem_link_key_exists
-//	call p_mouse_store_flash_device_info
+ifdef BLE_FAST_CONN_ENABLE
+p_mouse_le_switch_adv_timer:
+	fetch 1,mem_le_switch_adv_flag
+	rtn blank
+	arg mem_le_switch_adv_timer,regc
+	arg p_mouse_le_switch_adv,regb
+	branch timer_single_step
+p_mouse_le_switch_adv:
+	jam 1,mem_le_switch_adv_timer
+	fetch 1,mem_le_switch_adv_count
+	increase 1,pdata
+	and_into 1,pdata
+	store 1,mem_le_switch_adv_count
+	beq 0,p_mouse_check_fast_conn_adv_start1
+p_mouse_le_normal_adv:
+	fetch 6,mem_le_normal_lap
+	store 6,mem_le_lap
+p_check_51cmd_adv:
+	arg MOUSE_STORE_EEPROM_FLAG,queue
+	call mouse_enable_function_flag
+	call p_le_check_adv_flag
+	setarg ADV_FLAG_BREDR_NOT_SUPPORTED |ADV_FLAG_LIMITED_DISCOVERABLE
+	istore 1,contr
+	arg mem_le_adv_swift_pair,contr
+	call p_le_adv_data_update
+	branch check_51cmd_adv
 
-//	call mouse_select_device_enable
-//	branch mouse_set_reconnection
+p_le_adv_data_update:
+	arg mem_le_adv_data+11,contw
+	arg 19,loopcnt
+	call memcpy
+p_le_adv_data_update3:	
+	call le_modified_name_adv
+	jam 0,mem_le_scan_data_len
+	rtn
 
-//p_mouse_switch_device_flag:
-//	fetcht 1,mem_device_flag
-//	increase 1,temp
-//	fetch 1,mem_device_number
-//	isub temp,null
-//	ncall mouse_select_device_count_clean,positive
-//	storet 1,mem_device_flag
-//	rtn	
+p_mouse_store_eeprom_enable:
+	arg MOUSE_STORE_EEPROM_FLAG,queue
+	branch mouse_enable_function_flag
 
-//p_mouse_long_button_state_clear:
-//	jam 0xff,mem_mouse_long_button_select_device
-//	rtn
+p_mouse_check_fast_conn_adv_start:
+p_mouse_check_fast_conn_adv_start1:
+	jam 0,mem_le_adv_data_len
+	jam 0,mem_le_scan_data_len
+	arg MOUSE_STORE_EEPROM_FLAG,queue
+	call mouse_disable_function_flag
+	branch p_mouse_fast_conn_init
+endif
 
-//p_mouse_select_button_wakeup_firstUp:
-//	jam 0,mem_mouse_select_device_button_wakeup_flag	//when waked from hibernate by PB key ,first key up does not change mode 
-//	jam DPI_BUTTON_STATE_UP,mem_select_device_button_statue
-//	jam ON,mem_mouse_multi_led_blink_enable
-//	rtn	
 
-//p_mouse_select_device_button_down:
-//	fetch 2,mem_ui_state_map
-//	bbit1 UI_STATE_BLE_ADV,p_mouse_select_device_button_down_next
-//	jam OFF,mem_mouse_multi_led_blink_enable
-//p_mouse_select_device_button_down_next:
-//	fetch 1,mem_select_device_button_statue
-//	rtneq DPI_BUTTON_STATE_DOWN
-//	jam DPI_BUTTON_STATE_DOWN,mem_select_device_button_statue
+ifdef G24
+p_mouse_g24_long_sleep_param_update_timer:
+	arg mem_24g_long_sleep_param_update_timer,regc
+	arg p_mouse_g24_long_sleep_normal_param,regb
+	branch timer_single_step
+p_mouse_g24_long_sleep_normal_param:
+	setarg G24_LONG_SLEEP_STEP3
+	store 3,mem_24g_enter_hibernate
+	branch p_mouse_long_mult_flag_enable
 
-//	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason
-//	rtnbit1 APP_DISC_PB_BUTTON
+p_mouse_g24_stop_mode_timeout_timer:
+	arg mem_24g_stop_g24_mode_timeout,regc
+	arg p_mouse_g24_stop_mode_timeout,regb
+	branch timer_single_step_2B
+p_mouse_g24_stop_mode_timeout:
+	jam 1,mem_24g_stop_g24_mode
+	rtn
+endif
 
-//	fetch 1,mem_device_flag
-//	rtnne MODE_BT_DEVICE1
-//p_mouse_pb_button_2ble_disconnect:
-//	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
-//	set1 APP_DISC_PB_BUTTON,pdata
-//	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
-//	branch mouse_disconnect
 
-	
 ifdef CLASSIC_BT
 p_mouse_send_switch_req_timer:
 	arg mem_mouse_send_switch_req_timer,regc
@@ -1958,25 +1974,6 @@
 	arg mouse_le_write_enable,regb
 	branch timer_single_step
 
-p_mouse_check_direct_timeout_timer:
-	arg mem_mouse_direct_timer,regc
-	arg p_mouse_check_direct_timeout,regb
-	branch timer_single_step_2B
-
-p_mouse_check_direct_timeout:
-	fetch 1,mem_mouse_multi_led_on_poweron2s_flag
-	nrtn blank
-	branch mouse_check_direct_timeout
-
-p_mouse_le_current_mult_update_timer:
-	arg mem_mouse_le_current_mult_timer,regc
-	arg p_mouse_le_current_mult_reinit,regb
-	branch timer_single_step
-p_mouse_le_current_mult_reinit:
-	fetch 1,mem_lpm_mult_init
-	store 1,mem_lpm_mult
-	branch p_mouse_long_mult_flag_enable
-
 p_le_send_smp_security_request_timer:
 	fetch 1,mem_mouse_le_bb_connected_flag
 	rtn blank
@@ -1988,31 +1985,16 @@
 	nrtn blank
 	branch le_pairing_sm_start
 
-p_mouse_le_fast_conn_enable_timer:
-	fetch 1,mem_mouse_fast_conn_flag
-	rtnne 0xff
-	fetch 1,mem_mouse_le_bb_connected_flag
-	nrtn blank
-	arg mem_mouse_le_fast_conn_enable_timer,regc
-	arg p_mouse_le_fast_conn_enable_timeout,regb
-	branch timer_single_step		
-
-p_mouse_le_fast_conn_enable_timeout:
-	branch p_mouse_start_discovery
-endif
-
-
-ifdef G24
-p_mouse_g24_long_sleep_param_update_timer:
-	arg mem_24g_long_sleep_param_update_timer,regc
-	arg p_mouse_g24_long_sleep_normal_param,regb
+p_mouse_le_current_mult_update_timer:
+	arg mem_mouse_le_current_mult_timer,regc
+	arg p_mouse_le_current_mult_reinit,regb
 	branch timer_single_step
-p_mouse_g24_long_sleep_normal_param:
-	setarg G24_LONG_SLEEP_STEP2
-	store 3,mem_24g_enter_hibernate
-p_mouse_long_mult_flag_enable:	
+p_mouse_le_current_mult_reinit:
+	fetch 1,mem_lpm_mult_init
+	store 1,mem_lpm_mult
+p_mouse_long_mult_flag_enable:
 	jam 1,mem_mouse_long_mult_flag
-	rtn	
+	rtn
 endif
 
 p_mouse_wheel_trigger_timer:
@@ -2024,14 +2006,23 @@
 	rtn
 
 p_mouse_bt_discovery_check:
-p_mouse_bt_discovery_by_button:
-	call mouse_check_key_gpio
+	fetch 1,mem_device_flag
+	rtneq MODE_24G_DEVICE
+p_mouse_bt_discovery_commbination_key:
+//	fetch 1,mem_mouse_dpi_button_state
+//	branch p_mouse_bt_discovery_commbination_key_down,blank
+	call p_mouse_check_key_gpio
 	beq MOUSE_LMR_BUTTON,p_mouse_bt_discovery_commbination_key_down
 p_mouse_bt_discovery_commbination_key_up:
-	call mouse_bt_discovery_commbination_key_up
+	fetch 1,mem_ui_button_timeout
+	store 1,mem_combination_ui_button_count	//combination key timer init
+	fetch 1,mem_bt_discovey_button_statue
+	rtneq DPI_BUTTON_STATE_UP
+	jam DPI_BUTTON_STATE_UP,mem_bt_discovey_button_statue
+p_mouse_bt_discovery_button_up_init:
 	arg MOUSE_BT_DISCOVERY_BUTTON_LONG_DOWN_FLAG,queue
-	branch mouse_disable_function_flag
-	
+	call mouse_disable_function_flag
+	branch mouse_bt_discovery_button_down_disable
 p_mouse_bt_discovery_commbination_key_down:
 	jam 40,mem_mouse_null_enter_hibernate_timer
 	call p_mouse_bt_discovery_timer
@@ -2042,10 +2033,8 @@
 	arg p_mouse_long_button_bt_discovery,regb
 	branch timer_single_step
 p_mouse_long_button_bt_discovery:
-	fetch MOUSE_FLAG_LEN,mem_mouse_flag
-	rtnbit1 MOUSE_BT_DISCOVERY_BUTTON_LONG_DOWN_FLAG
-	jam 0,mem_mouse_long_button_select_device
-	
+	fetch 1,mem_le_switch_adv_flag
+	nbranch p_mouse_fast_conn_adv_switch_timer_reinit,blank
 	fetch 2,mem_ui_state_map
 	isolate1 UI_STATE_BLE_ADV,pdata
 	call mouse_stop_le_adv,true		//reconnect adv
@@ -2056,69 +2045,31 @@
 	call mouse_enable_function_flag
 	branch mouse_long_button_bt_discovry
 
-
-//p_mouse_bt_discovery_by_button:	//one key enter
-//	fetch 1,mem_discovery_on_flag
-//	rtneq DIS_COMM_BUTTON
-//	fetch 1,mem_config_bt_button_gpio
-//	rtneq GPIO_DISABLE
-//	fetcht 1,mem_config_bt_button_gpio
-//	call p_gpio_set_input_pd
-//	fetcht 1,mem_config_bt_button_gpio
-//	call gpio_get_bit
-//	branch p_mouse_bt_discovery_bt_key_up,true
-//	call p_gpio_set_input_pu
-//	branch p_mouse_bt_discovery_bt_key_down
-//p_mouse_bt_discovery_bt_key_up:
-//	fetch 1,mem_bt_ui_button_timeout
-//	store 1,mem_bt_ui_button_count
-//	branch p_mouse_bt_discovery_commbination_key_up+2
-//p_mouse_bt_discovery_bt_key_down:
-//	jam DIS_BT_BUTTON,mem_discovery_on_flag
-//	jam 40,mem_mouse_null_enter_hibernate_timer
-//	call p_mouse_bt_key_discovery_timer
-//	branch mouse_bt_discovery_commbination_key_down+1
-//p_mouse_bt_key_discovery_timer:
-//	arg mem_bt_ui_button_count,regc
-//	branch p_mouse_bt_discovery_timer+1
-	
+p_mouse_fast_conn_adv_switch_timer_reinit:
+	fetch 2,mem_discovery_timeout
+	store 2,mem_mouse_discovery_timer
+	rtn
 
 p_mouse_null_enter_hibernate_timer:
-	fetch 1,mem_mouse_multi_led_on_poweron2s_flag
-	nrtn blank
 	fetch 1,mem_mouse_null_enter_hibernate_flag
 	rtn blank
-	fetch 1,mem_mouse_null_enter_hibernate_timer
-	branch p_mouse_null_enter_hibernate,blank
-	increase -1,pdata
-	store 1,mem_mouse_null_enter_hibernate_timer
-	rtn
+	arg mem_mouse_null_enter_hibernate_timer,regc
+	arg p_mouse_null_enter_hibernate,regb
+	branch timer_single_step
 p_mouse_null_enter_hibernate:
 	jam 0,mem_mouse_null_enter_hibernate_flag
 	branch app_enter_hibernate
-p_mouse_null_enter_hibernate_enable:	//ble never connected
-	jam 1,mem_mouse_null_enter_hibernate_flag
-	jam 40,mem_mouse_null_enter_hibernate_timer	//lmr 3s
-	rtn
+
 p_mouse_null_enter_hibernate_disable:	//ble never connected
 	jam 0,mem_mouse_null_enter_hibernate_flag
 	jam 0,mem_mouse_null_enter_hibernate_timer	//lmr 3s
 	rtn	
-//p_mouse_null_enter_hibernate_check:
-//	fetch 2,mem_ui_state_map
-//	rtnbit1 UI_STATE_BLE_CONNECTED
-//	rtnbit1 UI_STATE_BT_CONNECTED
-//	rtnmark1 mark_24g
-//	branch p_mouse_null_enter_hibernate_enable
 
 p_mouse_multi_led_blink_timer:
 	fetch 1,mem_mouse_multi_led_blink_enable
 	rtn blank
 	fetch 1,mem_mouse_multi_led_type
-	beq MULTI_LED_ON,p_mouse_multi_led_type_on
 	beq MULTI_LED_BLINK,p_mouse_multi_led_type_blink
-	rtn
-
 p_mouse_multi_led_type_on:
 	call p_mouse_multi_led_on
 	fetch 1,mem_mouse_multi_led_on_timer
@@ -2130,42 +2081,66 @@
 	rtn
 p_mouse_multi_led_off_poweron2s:
 	jam 0,mem_mouse_multi_led_on_poweron2s_flag
-	branch p_mouse_multi_led_off
-	
+	call p_mouse_multi_led_off
+	fetch 1,mem_device_flag
+	rtnne MODE_BT_DEVICE1
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BLE_CONNECTED
+	rtnbit1 UI_STATE_BT_CONNECTED
+	fetch 1,mem_mouse_fast_conn_flag
+	bne 0xff,p_mouse_bt_reconn_multi_led_blink
+p_mouse_discovery_multi_led_blink:
+	jam 1,mem_mouse_multi_led_blink_timer_init	//300ms
+p_mouse_discovery_multi_led_blink1:	
+	jam 0,mem_mouse_multi_led_blink_count_limited
+	jam 1,mem_mouse_multi_led_blink_count//0 will clear mem_mouse_multi_led_blink_enable/mem_mouse_multi_led_type
+p_mouse_multi_led_blink_enable:
+	jam 5,mem_mouse_multi_led_blink_timer
+	jam ON,mem_mouse_multi_led_blink_enable
+	jam MULTI_LED_BLINK,mem_mouse_multi_led_type
+	rtn
+
+p_mouse_bt_reconn_multi_led_blink:
+	jam 5,mem_mouse_multi_led_blink_timer_init	//500ms
+	branch p_mouse_discovery_multi_led_blink1
+
 p_mouse_multi_led_type_blink:
-	fetch 1,mem_mouse_multi_led_blink_timer
-	increase -1,pdata
-	store 1,mem_mouse_multi_led_blink_timer
-	nrtn blank
+	arg mem_mouse_multi_led_blink_timer,regc
+	arg p_mouse_multi_led_type_blink_timeout,regb
+	branch timer_single_step
+p_mouse_multi_led_type_blink_timeout:
 	fetch 1,mem_mouse_multi_led_blink_timer_init
 	store 1,mem_mouse_multi_led_blink_timer
-//	fetch 1,mem_mouse_multi_led_blink_count_limited
-//	branch p_mouse_multi_led_blink_count_no_limited,blank
-//	fetch 1,mem_mouse_multi_led_blink_count
-//	branch p_mouse_multi_led_blink_off,blank
-//	increase -1,pdata
-//	store 1,mem_mouse_multi_led_blink_count
+	fetch 1,mem_mouse_multi_led_blink_count_limited
+	branch p_mouse_multi_led_blink_count_no_limited,blank
+	fetch 1,mem_mouse_multi_led_blink_count
+	branch p_mouse_multi_led_blink_off,blank
+	increase -1,pdata
+	store 1,mem_mouse_multi_led_blink_count
 p_mouse_multi_led_blink_count_no_limited:
 	fetch 1,mem_mouse_multi_led_state
 	beq ON,p_mouse_multi_led_off
-	beq OFF,p_mouse_multi_led_on
-	rtn
-
 p_mouse_multi_led_on:
 	jam ON,mem_mouse_multi_led_state
-//	fetch 1,mem_device_flag
-//	beq MODE_24G_DEVICE,p_mouse_multi_down_led_on
-//p_mouse_multi_up_led_on:
-//	fetcht 1,mem_mouse_multi_led_gpio 
-//	call gpio_config_output 
-//	fetcht 1,mem_mouse_multi_led_gpio
-//	branch gpio_out_inactive
+	fetch 1,mem_device_flag
+	beq MODE_BT_DEVICE1,p_mouse_multi_down_led_on
+p_mouse_multi_up_led_on:
+	fetcht 1,mem_mouse_multi_led_gpio
+	set1 gpio_active_bit,temp
+	call gpio_config_output
+	fetcht 1,mem_mouse_multi_led_gpio
+	branch gpio_out_inactive
 p_mouse_multi_down_led_on:
 	fetcht 1,mem_mouse_multi_led_gpio
-	call gpio_config_output 
-	fetcht 1,mem_mouse_multi_led_gpio 
+	call gpio_config_output
+	fetcht 1,mem_mouse_multi_led_gpio
 	branch gpio_out_active
-	
+
+p_mouse_discovey_led_blink_off:
+	fetch 1,mem_mouse_multi_led_on_timer
+	nrtn blank
+	fetch 1,mem_mouse_multi_led_on_poweron2s_flag
+	nrtn blank
 p_mouse_multi_led_blink_off:
 	setarg 0
 	store 3,mem_mouse_multi_led_blink_timer
@@ -2177,44 +2152,27 @@
 p_mouse_multi_led_off_wait_blink_over:
 	jam 0,mem_mouse_multi_led_on_timer
 	jam OFF,mem_mouse_multi_led_state
-//	branch p_mouse_multi_led_gpio_set_float
-p_mouse_bt_led_suspend:
+p_mouse_multi_led_gpio_set_float:
+//	fetch 1,mem_mouse_multi_led_gpio
+//	rtneq UI_BUTTON_GPIO_DISABLE
+//	fetcht 1,mem_mouse_multi_led_gpio
+//p_mouse_set_gpio_suspend:
+//	set0 gpio_active_bit,temp
+//	branch gpio_set_high_impedance
 	fetcht 1,mem_mouse_multi_led_gpio
-	set0 gpio_active_bit,temp
-	branch gpio_set_high_impedance	
-	
-	
-p_mouse_mode_bt_device1_multi_led_on:
-p_mouse_mode_24g_device_multi_led_on:
-	jam 1,mem_mouse_multi_led_on_poweron2s_flag
-	jam ON,mem_mouse_multi_led_blink_enable
-	jam MULTI_LED_ON,mem_mouse_multi_led_type
-	jam 0,mem_mouse_multi_led_on_timer
-	rtn
+	call gpio_config_output
+	fetcht 1,mem_mouse_multi_led_gpio
+	branch gpio_out_inactive
 
-p_mouse_discovery_multi_led_blink:
-	fetch 1,0x4ff0
-	pincrease 1
-	store 1,0x4ff0
-	jam 0,mem_mouse_multi_led_on_poweron2s_flag
-	jam 3,mem_mouse_multi_led_blink_timer_init	//300ms
-//	jam 0,mem_mouse_multi_led_blink_count_limited
-	jam 1,mem_mouse_multi_led_blink_count//0 will clear mem_mouse_multi_led_blink_enable/mem_mouse_multi_led_type
-p_mouse_multi_led_blink_enable:
-	jam 5,mem_mouse_multi_led_blink_timer
-	jam ON,mem_mouse_multi_led_blink_enable
-	jam MULTI_LED_BLINK,mem_mouse_multi_led_type
-	rtn
 
-p_mouse_discovey_led_blink_off:
-	fetch 1,0x4ff1
-	pincrease 1
-	store 1,0x4ff1
-	fetch 1,mem_mouse_multi_led_on_timer
-	nrtn blank
-	fetch 1,mem_mouse_multi_led_on_poweron2s_flag
-	nrtn blank
-	branch p_mouse_multi_led_blink_off
+
+//p_mouse_mode_bt_device1_multi_led_on:
+//p_mouse_mode_24g_device_multi_led_on:
+//	jam 1,mem_mouse_multi_led_on_poweron2s_flag
+//	jam ON,mem_mouse_multi_led_blink_enable
+//	jam MULTI_LED_ON,mem_mouse_multi_led_type
+//	jam 0,mem_mouse_multi_led_on_timer
+//	rtn
 		
 //p_mouse_dpi_multi_led_blink:
 //	jam 3,mem_mouse_multi_led_blink_timer_init	//300ms
@@ -2226,22 +2184,17 @@
 p_mouse_adc_read:
 //	fetch MOUSE_FLAG_LEN,mem_mouse_flag
 //	rtnbit0 MOUSE_ENABLE_ADC
-	fetch 2,mem_mouse_multi_led_blink_count
-	nrtn blank
 	fetch 1,mem_adc_read_timer
 	increase 1,pdata
 	store 1,mem_adc_read_timer
 	sub pdata,10,null              //1s read adc
 	rtn positive
+	
 	call adc_init_data
+	
 	jam 0,mem_adc_read_timer
 	call p_adc_set_mode
 	call vdd_calculate_by_mode
-//	store 2,0x4ff8
-//	add pdata,0x1c,pdata
-//	arg 0x0122,temp			//compare to 2.9V
-//	isub temp,null
-//	ncall p_mouse_vlotage_sub,positive
 	store 2,mem_mouse_vdd_now_vol
 	arg mem_mouse_vdd_calculate_set,rega
 	call p_adc_bat_percent_lowpower_out
@@ -2256,13 +2209,12 @@
 	fetch 1,mem_mouse_adc_last_low_voltage_flag
 	rtn blank
 	jam 0,mem_mouse_adc_last_low_voltage_flag
+//p_mouse_adc_low_volatage_led_off:
+//	fetch 1,mem_config_low_voltage_alarm_gpio
+//	store 1,mem_mouse_struct_led_gpio
+//	branch mouse_led_on
 	branch p_mouse_multi_led_off
 
-p_mouse_vlotage_sub:
-	arg 0x0b,temp
-	isub temp,pdata
-	rtn
-
 p_adc_set_mode:
 	fetch 1,mem_adc_config_flag
 	beq ADC_CONFIG_GPIO,p_adc_check_gpio
@@ -2294,20 +2246,29 @@
 	rtn
 
 p_mouse_low_voltage_led_timer:
+//	fetch 1,mem_low_power_led_blink_flag
+//	nrtn blank	//15s no action
 	fetch MOUSE_FLAG_LEN,mem_mouse_flag
 	rtnbit0 MOUSE_LOW_VOLTAGE_FLAG
 	fetch 2,mem_ui_state_map
 	rtnbit1 UI_STATE_BLE_ADV
-//	rtnbit1 UI_STATE_BT_DISCOVERY
+	rtnbit1 UI_STATE_BT_DISCOVERY
 	fetch 2,mem_mouse_multi_led_blink_count
 	nrtn blank
 
+//	fetch 1,mem_config_low_voltage_alarm_gpio
+//	store 1,mem_mouse_struct_led_gpio
+
+//	setarg G24_LONG_SLEEP_STEP2
+//	store 3,mem_24g_enter_hibernate
+	
 	fetch 1,mem_adc_low_volatage_led_timer_count
 	pincrease 1
 	store 1,mem_adc_low_volatage_led_timer_count
-	beq 5,p_mouse_multi_led_on
-	sub pdata,10,null
-	nbranch p_mouse_adc_low_volatage_led_timer_count_clean,positive
+	sub pdata,30,null
+	ncall p_mouse_adc_low_volatage_led_timer_count_clean,positive
+	beq 3,p_mouse_multi_led_on
+	beq 6,p_mouse_multi_led_off
 	rtn
 p_mouse_adc_low_volatage_led_timer_count_clean:
 	jam 1,mem_adc_low_volatage_led_timer_count
@@ -2337,46 +2298,45 @@
 p_mouse_seting_dpi:
 p_mouse_seting_sensor_type:
 	fetch 1,mem_config_sensor_type
-	//beq P8009,p_mouse_seting_8009_dpi
+//	beq P3212,p_mouse_seting_3212_dpi
+//	beq P3065_XY,p_mouse_seting_3065XY_dpi
+//	beq MX8650,p_mouse_seting_3065XY_dpi
 	beq KA8,p_mouse_seting_ka8_dpi
-	beq P3065_XY,p_mouse_seting_3065XY_dpi
-p_mouse_seting_3205_dpi:
-	fetch 1,mem_mouse_dpi
-	call p_mouse_3065xy_dpi_recount,blank
-	fetch 1,mem_mouse_dpi
-	beq MOUSE_DPI_LEVEL2,p_mouse_3205_set_cpi1			//800
-	beq MOUSE_DPI_LEVEL4,mouse_set_cpi3				//1600
-	branch mouse_set_cpi2								//1200
-p_mouse_3205_set_cpi1:
-	fetch 1,mem_320x_dpi_1
-	increase -1,pdata
-	branch mouse_p3205_dpi
+	branch p_mouse_seting_3065XY_dpi
+//p_mouse_seting_3205_dpi:
+//	fetch 1,mem_mouse_dpi
+//	sub pdata,MOUSE_DPI_LEVEL2,null
+//	call p_mouse_3205_dpi_recount,zero
+//	fetch 1,mem_mouse_dpi
+//	beq MOUSE_DPI_LEVEL1,mouse_set_cpi1
+//	beq MOUSE_DPI_LEVEL4,mouse_set_cpi4
+//	branch mouse_set_cpi3
+p_mouse_3205_dpi_recount:
+	jam MOUSE_DPI_LEVEL3,mem_mouse_dpi
+	rtn
 
 p_mouse_seting_3065XY_dpi:
 	fetch 1,mem_mouse_dpi
-	call p_mouse_3065xy_dpi_recount,blank
+	sub pdata,MOUSE_DPI_LEVEL2,null
+	call p_mouse_3205_dpi_recount,zero
 	fetch 1,mem_mouse_dpi
-	beq MOUSE_DPI_LEVEL2,p_mouse_8009_set_cpi1			//800
-	beq MOUSE_DPI_LEVEL4,mouse_set_cpi3				//1600
-	branch mouse_set_cpi2								//1300
-p_mouse_3065xy_dpi_recount:
-	jam MOUSE_DPI_LEVEL2,mem_mouse_dpi
-	rtn
-
-//p_mouse_seting_8009_dpi::
-//	fetch 1,mem_mouse_dpi
-//	call p_mouse_3065xy_dpi_recount,blank
-//	fetch 1,mem_mouse_dpi
-//	beq MOUSE_DPI_LEVEL2,p_mouse_8009_set_cpi1			//800
-//	beq MOUSE_DPI_LEVEL4,mouse_set_cpi2				//1600
-//	branch mouse_set_cpi1								//1200
-p_mouse_8009_set_cpi1:	
-	jam 0,mem_mouse_cpi_count
+	beq MOUSE_DPI_LEVEL1,p_mouse_3065xy_set_cpi1
+	beq MOUSE_DPI_LEVEL4,p_mouse_3065xy_set_cpi4
+p_mouse_3065xy_set_cpi3:
+	fetch 1,mem_3065xy_dpi_3
+p_mouse_dpi_store:
+	store 1,mem_mouse_cpi_count
 	branch mouse_p3205_dpi+3
+p_mouse_3065xy_set_cpi1:
+	fetch 1,mem_3065xy_dpi_1
+	branch p_mouse_dpi_store
+p_mouse_3065xy_set_cpi4:
+	fetch 1,mem_3065xy_dpi_4
+	branch p_mouse_dpi_store
 
 p_mouse_seting_ka8_dpi:
 	fetch 1,mem_mouse_dpi
-	call p_mouse_3065xy_dpi_recount,blank
+	call p_mouse_3205_dpi_recount,blank
 	fetch 1,mem_mouse_dpi
 	beq MOUSE_DPI_LEVEL2,mouse_set_cpi2			//800
 	beq MOUSE_DPI_LEVEL4,p_mouse_ka8_set_cpi3		//1600
@@ -2384,6 +2344,16 @@
 p_mouse_ka8_set_cpi3:	
 	setarg 5
 	branch mouse_p3205_dpi
+	
+//p_mouse_seting_3212_dpi:
+//	fetch 1,mem_mouse_dpi
+//	sub pdata,MOUSE_DPI_LEVEL2,null
+//	call p_mouse_3205_dpi_recount,zero
+//	fetch 1,mem_mouse_dpi
+//	beq MOUSE_DPI_LEVEL1,mouse_set_p3212_cpi1
+//	beq MOUSE_DPI_LEVEL4,mouse_set_p3212_cpi4
+//	branch mouse_set_p3212_cpi3
+
 
 p_mouse_motion:
 	disable user
@@ -2393,21 +2363,14 @@
 	call mouse_zwheel
 	call mouse_t_zwheel
 	call p_mouse_key
-ifdef MOUSE_SMOOTHER
-	nbranch p_mouse_motion_nodata,user
+ifdef MOUSE_SMOOTHER	
+	nbranch p_drawing_optima_init,user
 	call p_drawing_optima
 else
-	nbranch p_mouse_motion_nodata,user
+	nrtn user
 endif
 	branch mouse_motion+9
 
-p_mouse_motion_nodata:	
-ifdef MOUSE_SMOOTHER
-	call p_drawing_optima_init
-endif	
-	jam 0,mem_low_power_check_count
-	rtn
-
 p_mouse_key:
 	call p_mouse_check_key_gpio
 	branch mouse_key+1
@@ -2415,15 +2378,15 @@
 p_mouse_check_key_gpio:
 	arg 0,rega
 	call p_mouse_check_lkey_gpio
-	call p_mouse_check_rkey_gpio
-	call p_mouse_check_mkey_gpio
+//	call p_mouse_check_rkey_gpio
+//	call p_mouse_check_mkey_gpio
 //	call p_mouse_check_skey_gpio
 	branch mouse_check_key_gpio_output
-p_mouse_check_skey_gpio:
+//p_mouse_check_skey_gpio:
 //	fetch 1,mem_bk_button_gpio
 //	rtneq GPIO_DISABLE
-	call p_mouse_check_bk_key_gpio
-	branch p_mouse_check_fw_key_gpio
+//	call p_mouse_check_bk_key_gpio
+//	branch p_mouse_check_fw_key_gpio
 	
 p_mouse_check_lkey_gpio:
 	fetcht 1,mem_lbutton_gpio
@@ -2446,21 +2409,26 @@
 	call gpio_get_bit
 	setflag true,2,rega			//true = 1,input low level
 	rtn
-p_mouse_check_bk_key_gpio:
-	fetcht 1,mem_bk_button_gpio
-	call p_gpio_set_input_pd
-	fetcht 1,mem_bk_button_gpio
-	call gpio_get_bit
-	nsetflag true,3,rega
-	branch p_gpio_set_input_pu
-p_mouse_check_fw_key_gpio:
-	fetcht 1,mem_fw_button_gpio
-	call p_gpio_set_input_pd
-	fetcht 1,mem_fw_button_gpio
-	call gpio_get_bit
-	nsetflag true,4,rega
-	branch p_gpio_set_input_pu
-
+//p_mouse_check_bk_key_gpio:
+//	fetcht 1,mem_bk_button_gpio
+//	call p_gpio_set_input_pd
+//	fetcht 1,mem_bk_button_gpio
+//	call gpio_get_bit
+//	nsetflag true,3,rega
+//	branch p_gpio_set_input_pu
+//p_mouse_check_fw_key_gpio:
+//	fetcht 1,mem_fw_button_gpio
+//	call p_gpio_set_input_pd
+//	fetcht 1,mem_fw_button_gpio
+//	call gpio_get_bit
+//	nsetflag true,4,rega
+p_gpio_set_input_pu:
+	set1 gpio_active_bit,temp
+	arg core_gpio_pu0,contw
+	call gpio_set_bit
+	set0 gpio_active_bit,temp
+	branch p_gpio_set_input_pd4
+	
 p_gpio_set_input_pd:
 	set0 gpio_active_bit,temp
 	arg core_gpio_pu0,contw
@@ -2468,104 +2436,38 @@
 	set1 gpio_active_bit,temp
 p_gpio_set_input_pd4:	
 	arg core_gpio_pd0,contw
-	call gpio_set_bit
-	set0 gpio_active_bit,temp
-	arg core_gpio_oe0,contw
-	branch gpio_set_bit
+	branch gpio_set_high_impedance+4
 
-p_gpio_set_input_pu:
-	set1 gpio_active_bit,temp
-p_gpio_set_input_pu1:	
-	arg core_gpio_pu0,contw
-	call gpio_set_bit
-	set0 gpio_active_bit,temp
-	branch p_gpio_set_input_pd4
-	
-//p_mouse_select_device_button_gpio_set_suspend:
-//	fetcht 1,mem_config_select_device_button_gpio
-//p_mouse_set_gpio_suspend:
-//	set0 gpio_active_bit,temp
-//	branch p_gpio_set_input_pu1
 
 p_mouse_cheak_sensor_data:
-	fetch 1,mem_config_sensor_type
-//	beq P8009,p_mouse_p8009_sensor_motion
-p_mouse_p32xx_sensor_motion:	
+//	fetch 1,mem_config_sensor_type
+//	beq P3212,p_mouse_p3212_sensor_motion
+p_mouse_p32xx_sensor_motion:
 	call mouse_clear_sensor_data
 	disable user
-//	fetch 1,mem_config_function_enable
-//	bbit0 ENABLE_SENSOR_MOTION_PIN,mouse_p32xx_sensor_motion_2
-//	fetcht 1,mem_sensor_data_gpio
-//	call gpio_get_bit
-//	nrtn true
 	branch mouse_p32xx_sensor_motion_2
-
-//p_mouse_p8009_sensor_motion:
+//p_mouse_p3212_sensor_motion:
 //	call mouse_clear_sensor_data
-//	disable user
-//	fetcht 1,mem_sensor_data_gpio
-//	call gpio_get_bit
-//	nrtn true 
-//p_mouse_p32xx_sensor_motion_1:
-//	setarg PAN_REG_MOTION_STAUS
-//	call twspi_read
-//	rtnbit0 7
-//	setarg PAN_REG_OPRATION_STATE
-//	call twspi_read
-//	branch mouse_p32xx_sensor_motion_1+3,blank
-//	setarg 0
-//	store 6,mem_mouse_x
-//	rtn
-
+//	branch mouse_p3212_sensor_motion_1
 	
 p_mouse_bb_event_discovery_btn:
+	call p_mouse_multi_led_off_poweron2s
 	call p_mouse_null_enter_hibernate_disable
 ifdef G24	
 	isolate1 mark_24g,mark
 	call p_g24_check_51cmd_stop_24g,true
 endif
-	jam 3,mem_mouse_delay_discovery_count
-	call mouse_disconnect
-	branch mouse_le_clean_connect_flag
-
-ifdef BLE
-p_le_addr_random_config:
-	jam ZCODE_81,mem_zcode_temp_param0
-	branch p_zcode_entrance	
+	branch mouse_bb_event_discovery_btn+1
 
 p_mouse_start_discovery:
-	jam ZCODE_50,mem_zcode_temp_param0
+	jam ZCODE_30,mem_zcode_temp_param0
 	branch p_zcode_entrance
 
-p_mouse_load_random_addr_increase_count:
-	call p_flash_release_deep_power_down
-	arg 2,temp
-	arg mem_random_addr_increase_count,rega
-	arg MOUSE_RANDOM_ADDR_COUNT_EEPROM_OFFSET,regb
-	fetch 3,mem_flash_base
-	iadd regb,pdata
-	branch spid_read_flash
-
-p_le_adv_data_update:
-	arg mem_le_adv_data+11,contw
-	arg 19,loopcnt
-	call memcpy
-	branch le_modified_name_adv
-
 p_mouse_stop_discovery:
-	setarg 0
-	store 2,mem_mouse_discovery_timer
+	call p_mouse_discovey_led_blink_off
+	jam 1,mem_mouse_init_sensor_reset_flag
 	call p_mouse_sensor_poweron		//clear sensor data,confirm the motion pin high
-	fetch 1,mem_device_option
-	isolate1 MODE_4_MOUSE,pdata
-	call mouse_stop_le_adv,true
-	fetch 1,mem_device_option
-	isolate1 MODE_3_MOUSE,pdata
-	call mouse_stop_bt3_discovery,true
-//	fetch MOUSE_FLAG_LEN,mem_mouse_flag
-//	bbit1 MOUSE_ENABLE_DISCOVERY_SENSOR_LED,mouse_sensor_led_blink_stop
-	branch p_mouse_discovey_led_blink_off
-
+	branch mouse_stop_discovery+1
 
 ifdef BLE
 p_le_slave_match:
@@ -2586,17 +2488,68 @@
 	jam 37,mem_le_ch_mapped
 	rtn
 
+ifdef BLE_RFIO
+p_le_receive_rxon:
+ifdef RF_DEBUG
+	call test_h_l_h
+endif
+	call le_prep
+	disable match
+	enable decode_fec0
+	enable is_rx
+	disable is_tx
+	copy timeup,stop_watch
+	correlate null,timeout
+	branch p_le_receive_on_attempt,attempt
+	copy clke,temp
+	storet 6,mem_sync_clke
+p_le_receive_on_attempt:
+	nbranch end_of_packet,sync
+ifdef RF_DEBUG
+	call test_gpio_low
+	call test_gpio_high
+	call test_gpio_low
+endif	
+	branch le_receive_skip,attempt
+	arg param_clke_cal_le,clke_rt
+	copy bt_clk,clke_bt
+	fetch 1,mem_le_state
+	bbit0 lestate_got_first_packet,le_receive_skip
+	call lpm_adjust_clk,wake
+	branch le_receive_skip
+
+p_end_of_packet:
+ifdef RF_DEBUG
+	call test_gpio_low
+endif	
+	branch end_of_packet+1
+	
+p_lerx_nopayload:
+	parse demod,bucket,24
+	enable swfine
+	arg param_sifs,stop_watch		// start SIFS timer after last bit of crc
+	rshift32 pdata,pdata
+	rshift16 pdata,pdata
+	istore 3,contw
+	branch end_of_packet,crc_failed
+//ifdef RF_DEBUG
+//	call test_gpio_low
+//	call test_gpio_high
+//endif
+	branch lerx_nopayload+8
+endif
+
 p_le_receive_skip:
 	call save_rssi
 	call p_rssi_signal
 	branch le_receive_skip+2
 
 p_le_update_param:
-	jam ZCODE_40,mem_zcode_temp_param0
+	jam ZCODE_20,mem_zcode_temp_param0
 	branch p_zcode_entrance
 
 p_le_update_channel_map:
-	jam ZCODE_41,mem_zcode_temp_param0
+	jam ZCODE_21,mem_zcode_temp_param0
 	branch p_zcode_entrance
 
 p_le_prepare_tx:
@@ -2624,10 +2577,6 @@
 	call p_mouse_data_pull,blank
 	branch le_prepare_tx+4
 
-p_le_prepare_tx_wak:
-	call p_le_check_tx_retransmit_setmd
-	branch p_le_power_ctrl_pac_succ_decrs
-
 p_le_check_tx_retransmit_setmd:
 	fetch 1,mem_le_connect_status_flag
 	and pdata,0x03,pdata
@@ -2651,8 +2600,8 @@
 endif
 	rtn
 
-	
-	
+p_le_prepare_tx_wak:
+	call p_le_check_tx_retransmit_setmd
 p_le_power_ctrl_pac_succ_decrs:
 ifdef DEBUGLOG
 ifdef DEBUGLOG_MISC
@@ -2671,7 +2620,7 @@
 	fetch 1,mem_le_connect_status_flag
 	and pdata,0x03,pdata
 	rtneq 0x03
-	jam 1,mem_le_start_encrypt_timer
+	jam 2,mem_le_start_encrypt_timer
 	rtn
 
 p_le_parse:
@@ -2692,8 +2641,19 @@
 	branch le_parse_l2cap
 p_le_parse_ll:
 	fetch 1,mem_le_rxbuf+2
+	beq LL_CONNECTION_UPDATE_REQ,p_le_parse_connection_update_req
 	beq LL_CHANNEL_MAP_REQ,p_le_parse_channel_map_req
 	branch le_parse_ll+1
+p_le_parse_connection_update_req:
+	call le_parse_connection_update_req
+	fetch 1,mem_mouse_le_updata_not_accepted_flag
+	rtn blank
+//ipad not accepted updata, need reinit mem_lpm_mult.   mem_lpm_mult = LL_CONNECTION_UPDATE_REQ latency = 04	
+p_mouse_le_conn_param_update_rsp_not_accepted_mult_reset:	
+	fetch 1,mem_le_new_connslavelatency
+	store 1,mem_lpm_mult
+	store 1,mem_lpm_mult_init
+	rtn		
 p_le_parse_channel_map_req:
 	ifetch 5,contr
 	store 5,mem_le_new_map
@@ -2747,52 +2707,26 @@
 	fetch 1,mem_le_configuration
 	bbit1 BIT_BLE_READ_AUTH,p_le_send_att_read_response_check_auth
 p_le_send_att_read_response:
-//	call le_att_get_handle_ptr
-//	branch le_send_att_error_response_notfound,blank
-//	increase -2,contr
-//	ifetch 2,contr
-//	arg UUID_CHRCTR_PNP_ID,temp
-//	isub temp,null
-//	branch p_le_send_att_pnp_id,zero
-	
 	fetch 2,mem_le_att_handle
 	beq 0x13,le_send_att_error_response_notfound
-
 	fetcht 2,mem_le_att_handle
 	branch le_send_att_read_response
-
-//p_le_send_att_pnp_id:
-//	call store_contr
-//	fetch 1,mem_le_att_pnp_id_len
-//	add pdata,1,rega
-//	call le_fifo_malloc_tx_l2cap_gatt
-//	setarg ATTOP_READ_RESPONSE
-//	istore 1,contw
-//	fetch 1,mem_le_att_pnp_id_len
-//	copy pdata,loopcnt
-//	arg mem_le_att_pnp_id,contr
-//	branch memcpy
-
 p_le_send_att_read_response_check_auth:
 	fetch 2,mem_le_pairing_handle
 	isub temp,null
 	nbranch p_le_send_att_read_response,zero
 	call le_check_encrypt_state
 	nbranch p_le_send_att_read_response,user
-	jam ATT_ERR_INSUFFICIENT_AUTHENTICATION,mem_le_err_code
-	branch le_send_att_error_response
+	branch le_send_att_read_response_check_auth+5
 	
-
 p_le_parse_smp:
 	ifetch 1,contr
 	beq SMP_PAIRING_REQUEST,p_le_parse_smp_pairing_request
 	beq SMP_PAIRING_FAILED,p_le_parse_smp_pairing_failed
-	branch le_parse_smp+2
-
+	branch le_parse_smp+1
 p_le_parse_smp_pairing_request:
 	jam 1,mem_le_send_security_request_flag
-	branch le_parse_smp_pairing_request
-	
+	branch le_parse_smp_pairing_request	
 p_le_parse_smp_pairing_failed:
 	jam ZCODE_82,mem_zcode_temp_param0
 	branch p_zcode_entrance
@@ -2820,17 +2754,12 @@
 	fetch 2,mem_rx_window_sniff
 	store 2,mem_le_receive_window
 	fetch 1,mem_le_connect_status_flag
-	compare 3,pdata,3
-	nbranch lpm_mult_short,true
+	bne 3,lpm_mult_short
 	branch le_lpm_set_mult_attempt+3
 
 p_le_mouse_bb_event_connect_complete:
-	fetch 1,mem_mouse_le_reconnect_flag
-	nrtn blank
-	fetch 1,mem_le_att_handle
-	sub pdata,26,pdata
-	nrtn zero
-	branch mouse_le_write_enable
+	jam ZCODE_22,mem_zcode_temp_param0
+	branch p_zcode_entrance
 endif
 
 p_twspi_reset:
@@ -2901,13 +2830,8 @@
 	branch process_dmh+1
 
 p_quit_connection_cont:
-	call app_disconn_reason_collect_bt
-	call sniff_exit
-	jam BT_EVT_BB_DISCONNECTED,mem_fifo_temp
-	call ui_ipc_send_event
-	call init_lmp_work
-	call l2cap_init_work
-	branch quit_connection_cont+8
+	jam ZCODE_23,mem_zcode_temp_param0
+	branch p_zcode_entrance
 
 p_prepare_tx:
 	fetch 1,mem_state
@@ -2974,11 +2898,11 @@
 	rtn	
 
 p_mouse_bb_disconnected:
-	jam ZCODE_10,mem_zcode_temp_param0
+	jam ZCODE_01,mem_zcode_temp_param0
 	branch p_zcode_entrance
 
 p_hid_rx_process:
-	jam ZCODE_11,mem_zcode_temp_param0
+	jam ZCODE_02,mem_zcode_temp_param0
 	branch p_zcode_entrance
 
 p_parse_lmp_accepted:
@@ -2995,7 +2919,7 @@
 	rtn
 
 p_send_lmp:
-	jam ZCODE_20,mem_zcode_temp_param0
+	jam ZCODE_10,mem_zcode_temp_param0
 	branch p_zcode_entrance
 
 p_process_conn_sm:
@@ -3218,7 +3142,7 @@
 
 power_ctrl_txpower_decrs_check:
 	fetch 1,mem_power_ctrl_pac_succ_cnt
-	rtnne 32
+	rtnne 50
 	jam 0,mem_power_ctrl_pac_succ_cnt
 power_ctrl_txpower_decrs:
 	fetcht 1,mem_rssi_avg_received
@@ -3384,8 +3308,8 @@
 
 p_initialize_radio_cont:
 	call initialize_radio_cont+1
-	jam clksel_dpll,core_clksel
-	rtn
+//	jam clksel_dpll,core_clksel
+	rtn	
 
 // input : mem_zcode_temp_param0 ---- zocde number(0~1f)
 p_zcode_entrance:
@@ -3416,7 +3340,6 @@
 	iadd temp,pdata
 	increase -5,pdata
 	store 3,mem_flash_address
-	
 	call p_flash_release_deep_power_down
 p_zcode_read_loop:
 	fetch 3,mem_flash_address
@@ -3428,7 +3351,7 @@
 	isub temp,null
 	nbranch p_zcode_read_loop,zero	//sometimes we will lost p_start,read flash again
 	call p_mouse_spi_init
-	
+
 	setarg mem_zcode_buff
 	store 2,mem_patch_ptr
 	jam ZCODE_CODE_SIZE,mem_patch_len
@@ -3439,8 +3362,6 @@
 	fetch 1,mem_zcode_temp_param0
 	branch p_zcode
 
-
-
 ifdef DEBUGLOG 
 pdata_push:
 	store 8,mem_debuglog_pdata
@@ -3559,22 +3480,23 @@
 
 ifdef MOUSE_SMOOTHER
 //notice: need to call p_mouse_drawing_optima_init when waked from mult
-p_drawing_optima_init:
-	arg 5,loopcnt
-	arg mem_mouse_asm_flag,contw
-	branch clear_mem
-
 p_drawing_optima:
 	fetch 4,mem_mouse_x
 	rtn blank
 	call p_data_abs_check
-	setarg 0x06	//asm_flag enable condition
-	call p_data_greater_than_check
-	setarg 0x03	//asm_flag disable condition
+	setarg 0x03	//asm_flag enable condition
+	call p_pdata_greater_than_check
+	call p_disable_asm,blank
+	ncall p_enable_asm,blank
+	setarg 0x02	//asm_flag disable condition
 	call p_data_less_than_check
+	call p_disable_asm,blank
 	fetch 1,mem_mouse_asm_flag
 	beq 1,p_drawing_optima_modify
-	branch p_drawing_optima_init
+p_drawing_optima_init:
+	arg 5,loopcnt
+	arg mem_mouse_asm_flag,contw
+	branch clear_mem
 
 p_drawing_optima_modify:
 	fetch 2,mem_mouse_x_pre
@@ -3596,7 +3518,50 @@
 	store 2,mem_mouse_y_pre
 	fetch 2,mem_data_current
 	store 2,mem_mouse_y
+
+ifdef XY_OFFSET
+	call p_data_abs_check
+	setarg 0x14	//offset enable condition
+	call p_pdata_greater_than_check
+	rtn blank
+	fetch 1,mem_mouse_x
+	store 1,mem_data_value
+	fetch 1,mem_mouse_x+1
+	sub pdata,0x00,null
+	call p_xy_pdata_offset,zero
+	ncall p_xy_ndata_offset,zero
+	store 1,mem_mouse_x
+	store 1,mem_mouse_x_pre
+
+	fetch 1,mem_mouse_y
+	store 1,mem_data_value
+	fetch 1,mem_mouse_y+1
+	sub pdata,0x00,null
+	call p_xy_pdata_offset,zero
+	ncall p_xy_ndata_offset,zero
+	store 1,mem_mouse_y
+	store 1,mem_mouse_y_pre
+endif
+	rtn
+
+ifdef XY_OFFSET
+p_xy_pdata_offset:
+	fetch 1,mem_data_value
+	sub pdata,0x70,null
+	nrtn positive
+	mul32 pdata,9,pdata
+	rshift3 pdata,pdata
 	rtn
+p_xy_ndata_offset:
+	fetch 1,mem_data_value
+	sub pdata,0x90,null
+	rtn positive
+p_pdata_get_1125_times:	//1.125 times
+	call p_pdata_invert
+	mul32 pdata,9,pdata
+	rshift3 pdata,pdata
+	branch p_pdata_get_new_value
+endif
 
 /**********
 input:data_pre,data_current
@@ -3643,41 +3608,46 @@
 	branch p_data_set_direction
 
 p_pdata_get_half:
-	sub pdata,0,pdata
-	store 1,mem_rega
-	fetch 1,mem_rega
+	call p_pdata_invert
 	rshift pdata,pdata
+p_pdata_get_new_value:	
+	call p_rega_in_out
+	sub pdata,0,pdata
+	rtn
+
+p_pdata_invert:
+	sub pdata,0,pdata
+p_rega_in_out:	
 	store 1,mem_rega
 	fetch 1,mem_rega
-	sub pdata,0,pdata
 	rtn
 
-//rega mouse_x, regb mouse_y, pdata refer
-p_data_greater_than_check:
-	isub rega,null
-	nbranch p_enable_asm,positive
-	isub regb,null
-	nbranch p_enable_asm,positive
 p_disable_asm:
 	jam 0,mem_mouse_asm_flag
 	rtn
+p_enable_asm:
+	jam 1,mem_mouse_asm_flag
+	rtn
+
+//rega mouse_x, regb mouse_y, pdata refer
+p_pdata_greater_than_check:
+	isub rega,null
+	nbranch disable_blank,positive
+	isub regb,null
+	nbranch disable_blank,positive
+	branch enable_blank
 p_data_less_than_check:
 	isub rega,null
 	nrtn positive
 	isub regb,null
 	nrtn positive
-	branch p_disable_asm
-p_enable_asm:
-	jam 1,mem_mouse_asm_flag
-	rtn
+	branch enable_blank
 
 p_data_abs_check:
 	fetch 2,mem_mouse_x
-	store 2,mem_data_current
 	call p_data_abs
 	copy pdata,rega
 	fetch 2,mem_mouse_y
-	store 2,mem_data_current
 	call p_data_abs
 	copy pdata,regb
 	rtn
@@ -3687,6 +3657,7 @@
 output:pdata,abs
 ************/
 p_data_abs:
+	store 2,mem_data_current
 	fetch 1,mem_data_current+1
 	beq 0xff,p_data_reversal
 	fetch 1,mem_data_current
@@ -3698,7 +3669,6 @@
 	fetch 2,mem_data_current
 	sub pdata,0,pdata
 	branch p_data_abs_store
-
 endif
 
 ifdef TESTDATA
Index: program/z.prog
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/FR_2639_BT&BLE/program/z.prog	(revision 1714)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/FR_2639_BT&BLE/program/z.prog	(working copy)
@@ -2,6 +2,8 @@
 org 0x10001
 z_entrance0:
 	beq ZCODE_00,z_page_wait_fhs_reply_ok
+	beq ZCODE_01,z_mouse_bb_disconnected
+	beq ZCODE_02,z_hid_rx_process
 	rtn
 
 z_page_wait_fhs_reply_ok:
@@ -21,33 +23,17 @@
 	set0 mark_first_packet,mark
 	branch newconn_poll_responded
 
-
-
-	
-org 0x20001
-
-z_entrance1:
-	beq ZCODE_10,z_mouse_bb_disconnected
-	beq ZCODE_11,z_hid_rx_process
-	rtn
-
 z_mouse_bb_disconnected:
 	jam 0,mem_mouse_enter_sniff_count
 	jam 0x0e,mem_sniff_param_interval	//115Hz
 	call mouse_bb_discon_clear_stack
 	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason
-	bbit1 APP_DISC_BLE,z_mouse4_0_event_bb_disconn
+	bbit1 APP_DISC_BLE,mouse4_0_event_bb_disconn
 	bbit1 APP_DISC_BY_BUTTON,app_disconn_reason_clear
 	bbit1 APP_DISC_AFTER_PAIRING,z_mouse_event_light_state_pairing
 	bbit1 APP_DISC_AFTER_RECONN,z_mouse_event_light_state_hibernate
 	bbit1 APP_DISC_AFTER_SNIFF,z_mouse_event_light_state_hibernate
 	branch mouse_start_discovery
-
-z_mouse4_0_event_bb_disconn:
-	call mouse_le_clean_connect_flag
-	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason
-//	bbit1 APP_DISC_PB_BUTTON,p_mouse_select_device_button_up
-	branch mouse4_0_event_bb_disconn+2
 	
 z_mouse_event_light_state_pairing:
 	bbit1 APP_DISC_AFTER_HANDSHAKE,z_mouse_event_light_state_hibernate
@@ -57,10 +43,16 @@
 	fetch 2,mem_ui_state_map
 	bbit1 UI_STATE_BTN_DOWN,mouse_start_discovery
 	call app_disconn_reason_clear
-	call p_mouse_check_key_gpio
-	beq MOUSE_LM_BUTTON,p_mouse_null_enter_hibernate_enable
+	call p_mouse_check_key_gpio	//mult_key pair
+	beq MOUSE_LMR_BUTTON,z_mouse_null_enter_hibernate_enable
+//	fetch 1,mem_mouse_dpi_button_state	//dpi key pair
+//	branch z_mouse_null_enter_hibernate_enable,blank
 	branch app_bb_hibernate
 
+z_mouse_null_enter_hibernate_enable:	//ble never connected
+	jam 1,mem_mouse_null_enter_hibernate_flag
+	jam 40,mem_mouse_null_enter_hibernate_timer	//lmr 3s
+	rtn	
 
 z_hid_rx_process:
 	fetch 2,mem_l2cap_payload_ptr
@@ -86,12 +78,27 @@
 	beq HID_CONTROL_P_VIRTUALCABLEUNPLUG,p_mouse_irtual_cable_unplug
 	branch hid_rx_process_hid_control+2
 
-org 0x30001
+org 0x20001
 
-z_entrance2:
-	beq ZCODE_20,z_send_lmp
+z_entrance1:
+	beq ZCODE_10,z_send_lmp
+	beq ZCODE_11,z_mouse4_0_check_reconn_target
 	rtn
 
+z_mouse4_0_check_reconn_target:
+	jam 1,mem_le_send_security_request_flag
+	jam 1,mem_mouse_le_reconnect_flag
+	fetch 2,mem_mouse_direct_timeout
+	store 2,mem_mouse_direct_timer
+	call p_mouse_store_eeprom_enable
+	call app_lpm_mult_disable
+	call p_le_check_adv_flag
+	setarg ADV_FLAG_BREDR_NOT_SUPPORTED
+	istore 1,contr
+	call p_le_adv_data_update3
+	jam 0x03,mem_le_adv_data_len
+	branch check_51cmd_adv
+
 z_send_lmp:
 	disable user
 	call lmo_fifo_process
@@ -173,85 +180,14 @@
 	copy clkn_bt,pdata
 	store 4,mem_aurand_send_delay_time
 	rtn
+	
+org 0x30001
 
-
-org 0x40001
-
-z_entrance3:
-	beq ZCODE_30,z_process_conn_sm
-	rtn
-
-z_process_conn_sm:
-	call lmo_fifo_check
-	nrtn blank
-z_process_conn_sm_continue:
-	fetch 1,mem_conn_sm
-	rtn blank
-ifdef DEBUGLOG
-ifdef DEBUGLOG_CONN_SM
-	call pdata_push
-	setarg DEBUGLOG_DTYPE_CONN_SM
-	store 2,mem_debuglog_datatype
-	fetch 1,mem_conn_sm
-	store 2,mem_debuglog_dataval
-	call pdata_pull
-	call debuglog_push	
-endif
-endif
-	beq CONN_SM_SEND_CONN_REQ, z_host_create_conn_send_conn_req
-	beq CONN_SM_WAIT_SWITCH_AFTER_HOST_CONNECTION,z_host_creat_conn_wait_switch
-	branch process_conn_sm_continue+2
-
-
-z_host_creat_conn_wait_switch:
-	fetch 1,mem_switch_flag
-	rtneq SWITCH_FLAG_INIT
-	beq SWITCH_FLAG_ACCEPT,z_host_create_conn_switch_accept
-	branch host_creat_conn_wait_switch+3
-z_host_create_conn_switch_accept:
-	rtn master
-z_host_create_conn_auth_pair:
-	/* checking whether or not to do m/s switch */
-	fetch 1,mem_connection_options
-	bbit1 CONNECTION_AUTH,z_host_create_conn_auth_pair_true
-	branch host_create_conn_auth_pair+1
-z_host_create_conn_auth_pair_true:
-	fetch 1,mem_bt_send_lmp_setup_complete
-	beq 1,host_create_conn_auth_pair_true
-	//sumsung a5100 patch
-	fetch 1,mem_link_key_exists
-	branch host_create_conn_auth_pair_nokey,blank
-	fetch 1,mem_lmp_conn_state
-	rtnbit0 SENT_SETUP_COMPLETE
-	rtnbit0 RECEIVED_SETUP_COMPLETE
-	fetch 1,mem_bt_send_max_slot_req_accept_after_switch
-	rtn blank
-	jam 0,mem_bt_send_max_slot_req_accept_after_switch	
-	fetch 4,mem_aurand_send_delay_time
-	arg 20,temp
-	iadd temp,temp
-	copy clkn_bt,pdata
-	isub temp,null
-	nbranch z_bt_send_max_slot_req_accept_after_switch_wait,positive
-	branch host_create_conn_auth
-
-z_bt_send_max_slot_req_accept_after_switch_wait:
-	jam 1,mem_bt_send_max_slot_req_accept_after_switch
-	rtn
-
-z_host_create_conn_send_conn_req:
-	jam 20,mem_mouse_send_switch_req_timer
-	branch host_create_conn_send_conn_req
-
-
-
-
-
-org 0x50001
-
-z_entrance4:
-	beq ZCODE_40,z_le_update_param
-	beq ZCODE_41,z_le_update_channel_map
+z_entrance2:
+	beq ZCODE_20,z_le_update_param
+	beq ZCODE_21,z_le_update_channel_map
+	beq ZCODE_22,z_le_mouse_bb_event_connect_complete
+	beq ZCODE_23,z_quit_connection_cont
 	rtn
 
 z_le_update_param:
@@ -294,39 +230,42 @@
 	rtnne 0x00
 	branch disable_user
 
+z_le_mouse_bb_event_connect_complete:
+	fetch 1,mem_mouse_le_reconnect_flag
+	nrtn blank
+	fetch 1,mem_le_att_handle
+	sub pdata,26,pdata
+	nrtn zero
+	jam 0,mem_le_start_encrypt_timer
+	branch mouse_le_write_enable
+	
+z_quit_connection_cont:
+	call app_disconn_reason_collect_bt
+	call sniff_exit
+	jam BT_EVT_BB_DISCONNECTED,mem_fifo_temp
+	call ui_ipc_send_event
+	call init_lmp_work
+	call l2cap_init_work
+	branch quit_connection_cont+8
 
+org 0x40001
 
-org 0x60001
-
-z_entrance5:
-	beq ZCODE_50,z_mouse_start_discovery
+z_entrance3:
+	beq ZCODE_30,z_mouse_start_discovery
 	rtn
 
-
 z_mouse_start_discovery:
-	jam 0,mem_le_send_security_request_flag
 	call p_mouse_tx_power_init
-	jam MODE_BT_DEVICE1,mem_device_flag
+	jam 0,mem_mouse_le_reconnect_flag	
+	jam 0,mem_le_send_security_request_flag
 	jam 0,mem_mouse_clear_sensor_data_flag
-//	fetch 2,mem_ui_state_map
-//	bbit1 UI_STATE_BLE_ADV,z_mouse_start_discovery_norandom
-//	fetch MOUSE_FLAG_LEN,mem_mouse_flag
-//	bbit0 MOUSE_ENABLE_BLE_RANDOM_ADDRE,z_mouse_start_discovery_norandom
-ifdef BLE
-	call p_mouse_load_random_addr_increase_count
-	fetcht 2,mem_random_addr_increase_count
-	increase 1,temp
-	storet 2,mem_random_addr_increase_count
-	storet 2,mem_le_lap+1
-	call p_mouse_store_random_addr_increase_count
-	random pdata
-	store 1,mem_le_lap
-endif
+	jam MODE_BT_DEVICE1,mem_device_flag
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BLE_ADV,z_mouse_start_discovery_norandom
+	call z_mouse_le_addr_update
 z_mouse_start_discovery_norandom:
 ifdef BLE_FAST_CONN_ENABLE
-	fetch 3,mem_le_lap_high_3B
-	store 3,mem_le_lap+3
-	call p_mouse_le_fast_conn_disable
+	call p_mouse_fast_conn_disable
 endif
 	call app_lpm_mult_disable
 	fetch 2,mem_discovery_timeout
@@ -335,276 +274,362 @@
 	setarg 0
 	store 2,mem_mouse_no_data_timer
 	store 2,mem_mouse_direct_timer
-	arg MOUSE_STORE_EEPROM_FLAG,queue
-	call mouse_enable_function_flag
+	call p_mouse_store_eeprom_enable
 	call mouse_bt_discovery_button_down_disable
 	fetch 1,mem_device_option
 	isolate1 MODE_4_MOUSE,pdata
-	call z_check_51cmd_adv,true
+	call p_check_51cmd_adv,true
 	fetch 1,mem_device_option
 	isolate1 MODE_3_MOUSE,pdata
 	call check_51cmd_start_discovery,true
-//	fetch MOUSE_FLAG_LEN,mem_mouse_flag
-//	bbit1 MOUSE_ENABLE_DISCOVERY_SENSOR_LED,mouse_sensor_start_blink
 	branch p_mouse_discovery_multi_led_blink
 
-z_check_51cmd_adv:
-	jam 0,mem_mouse_le_reconnect_flag
-	call p_le_check_adv_flag
-	setarg ADV_FLAG_BREDR_NOT_SUPPORTED |ADV_FLAG_LIMITED_DISCOVERABLE
-	istore 1,contr
-	arg mem_le_adv_swift_pair,contr
-	call p_le_adv_data_update
-	branch check_51cmd_adv
-
-org 0x70001
+z_mouse_le_addr_update:
+	call p_mouse_load_flash_user_data	
+	fetcht 2,mem_random_addr_increase_count
+	increase 1,temp
+	storet 2,mem_random_addr_increase_count
+	storet 2,mem_le_lap+1
+	call p_mouse_store_flash_user_data
+	random pdata
+	store 1,mem_le_lap
+	rtn
 
-z_entrance6:
-	beq ZCODE_60,z_g24_start_24g_mode
-	beq ZCODE_61,z_mouse_24g_pairing_button
+z3_pdata_0xff_check:
+	call enable_user
+	setarg 0xffff
+z3_pdata_0xff_check_loop:
+	ifetcht 2,contr
+	isub temp,null
+	ncall disable_user,zero
+	loop z3_pdata_0xff_check_loop
 	rtn
+
+
+org 0x50001
+
+z_entrance4:
+//	beq ZCODE_40,z_g24_start_24g_mode
+//	beq ZCODE_41,z_g24_auto_pair_start
+//	beq ZCODE_42,z_mouse_24g_pairing_button
+	rtn
+
+//z_g24_start_24g_mode:
+//	call z_g24_factory_check
+//	branch p_g24_auto_pair_start,user
+//	set1 mark_24g,mark
+//	fetch 1,mem_24g_conn_sm
+//	set1 STATE_24G_RECONN,pdata
+//	store 1,mem_24g_conn_sm
+//	call p_g24_syncword_crc8
+//	call p_g24_ch
+//	branch z_g24_auto_pair_timeout_init
+
+//z_g24_factory_check:
+//	arg 2,loopcnt
+//	arg mem_24g_addr,contr
+//	call enable_user
+//	setarg 0xffff
+//z4_pdata_0xff_check_loop:
+//	ifetcht 2,contr
+//	isub temp,null
+//	ncall disable_user,zero
+//	loop z4_pdata_0xff_check_loop
+//	rtn
+
+//z_g24_auto_pair_start:
+//	set1 mark_24g,mark
+//	fetch 1,mem_24g_conn_sm
+//	set1 STATE_24G_PAIR,pdata
+//	store 1,mem_24g_conn_sm
+//z_g24_auto_pair_timeout_init:
+//	setarg G24_DISCONN_NODATA_TIMER
+//	store 2,mem_24g_stop_g24_mode_timeout
+//	jam 0,mem_24g_stop_g24_mode
+//	rtn	
+//	
+//z_mouse_24g_pairing_button:
+//	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+//	rtnbit0 MOUSE_ENABLE_24G
+//	rtnbit1 MOSUE_24G_PAIRING_FLAG
+//	rtnmark1 mark_24g
+//	call mouse_devce_led_off
+//	arg MOSUE_24G_PAIRING_FLAG,queue
+//	call mouse_enable_function_flag
+//	setarg 0
+//	store 2,mem_mouse_direct_timer
+//	store 1,mem_mouse_send_blank_timer
+//	store 2,mem_24g_check_dongle_times
+//	call mouse_stop_discovery
+//	branch p_g24_auto_pair_start
 	
-z_g24_start_24g_mode:
-	set0 mark_24g,mark
-	call p_g24_syncword_crc8
-	call p_g24_ch
-	fetch 1,mem_24g_pairing_sm
-	rtnne STATE_24G_PAIRING_SUCCESS
-	call z_g24_tx_attemp_data_prep
-z_g24_tx_attemp_dongle:
-	setarg 0
-	store 2,mem_24g_check_dongle_times
-z_g24_tx_attemp_dongle_loop:
-//	call lpo_calibration
-	nop 2000
-	fetch 1,mem_24g_check_dongle_times
-	beq 0xff,g24_stop_24g_mode
-	call p_g24_transmit_receive_ack
-	nbranch z_g24_attemp_txdata_retry,sync
-	nbranch z_g24_attemp_txdata_retry,user3
-z_g24_tx_attemp_dongle_succ:
-	set1 mark_24g,mark
-	setarg 0
-	store 2,mem_24g_check_dongle_times
-	call g24_app_tx_attempt_success
-	call p_g24_txbuf_clear
-	branch p_g24_transmit_by_interrupt_enable
-
-z_g24_tx_attemp_data_prep:
-	jam 0xff,mem_24g_common_temp
-	fetch 1,mem_24g_data_type
-	store 1,mem_24g_common_temp+1
-	fetch 4,mem_24g_device_addr
-	store 4,mem_24g_common_temp+2
-	arg 6,temp
-	arg mem_24g_common_temp,rega
-	call p_g24_put_data_in_buff
-	branch p_g24_transmit_prep
-	
-z_g24_attemp_txdata_retry:
-	fetch 2,mem_24g_check_dongle_times
-	increase 1,pdata
-	store 2,mem_24g_check_dongle_times
-	call p_g24_ch
-	branch z_g24_tx_attemp_dongle_loop
 
+org 0x60001
 
-z_mouse_24g_pairing_button:
-	fetch 1,mem_device_flag
-	rtneq MODE_BT_DEVICE1
-	fetch MOUSE_FLAG_LEN,mem_mouse_flag
-	rtnbit0 MOUSE_ENABLE_24G
-	rtnbit1 MOSUE_24G_PAIRING_FLAG
-	rtnmark1 mark_24g
-	//call p_mouse_devce_led_off
-	arg MOSUE_24G_PAIRING_FLAG,queue
-	call mouse_enable_function_flag
-	setarg 0
-	store 2,mem_mouse_direct_timer
-	store 1,mem_mouse_send_blank_timer
-	store 2,mem_24g_check_dongle_times
-	call mouse_stop_discovery
-	branch z6_g24_start_pairing_sm1
-
-z6_g24_start_pairing_sm1:
-	set1 mark_24g,mark
-	call z6_g24_pair_init
-z6_g24_set_pairing_sm_1:
-	jam STATE_24G_PAIRING_1,mem_24g_pairing_sm
-	rtn
-
-z6_g24_pair_init:
-	jam TX_POWER_PAIR,mem_tx_power
-	jam 0,mem_24g_pid
-	jam G24_PAIR_CH,mem_24g_ch
-	fetch 4,mem_24g_paring_addr
-	branch p_g24_update_addr_and_synccrc8	
+z_entrance5:
+//	beq ZCODE_50,z_mouse_24g_pairing_complete
+//	beq ZCODE_51,z_mouse_24g_attempt_fail
+//	beq ZCODE_52,z_mouse_24g_attempt_success
+//	beq ZCODE_53,z_g24_reconn_dispatch
+	rtn
+
+//z_mouse_24g_pairing_complete:
+//	arg MOSUE_24G_PAIRING_FLAG,queue
+//	call mouse_disable_function_flag
+//	jam 0,mem_mouse_move_flag
+//	call mouse_read_sensor_common
+//	call p_mouse_tx_power_init
+//	branch z_mouse_24g_attempt_success
+
+//z_mouse_24g_attempt_fail:
+//	jam G24_TX_TIMER_INT_DISABLE,mem_24g_transmit_by_interrupt
+//	call p_mouse_tx_power_init
+//	call p_g24_check_51cmd_stop_24g
+//	branch app_enter_hibernate
+
+//z_mouse_24g_attempt_success:
+//	jam 0,mem_mouse_long_mult_flag
+//	call z_g24_auto_pair_timeout_clear
+//	call p_mouse_null_enter_hibernate_disable
+//	call mouse_no_data_timer_init
+//	fetch 4,mem_24g_addr
+//	store 4,mem_mouse_24g_addr
+//	call mouse_cheak_select_24gdevice
+//	branch p_mouse_store_flash_device_info
+
+//z_g24_auto_pair_timeout_clear:
+//	setarg 0
+//	store 3,mem_24g_stop_g24_mode
+//	rtn
+
+//z_g24_reconn_dispatch:
+//	fetch 1,mem_24g_stop_g24_mode
+//	beq 1,g24_stop_24g_mode
+//	call z_g24_tx_attemp_data_prep
+//	call p_g24_transmit_receive_ack
+//	nbranch p_g24_ch,sync
+//	nbranch p_g24_ch,user3
+//	fetch 1,mem_24g_conn_sm
+//	set0 STATE_24G_RECONN,pdata
+//	store 1,mem_24g_conn_sm
+//z_g24_tx_attemp_dongle_succ:
+//	jam 0,mem_mouse_long_mult_flag
+//	call g24_app_tx_attempt_success
+//	call p_g24_txbuf_clear
+//	branch p_g24_transmit_by_interrupt_enable
+
+
+//z_g24_store_dongle_addr:
+//	fetch 4,mem_24g_rxpayload+2
+//	branch p_g24_update_addr_and_synccrc8
+
+//z_g24_tx_attemp_data_prep:
+//	jam 0xff,mem_24g_common_temp
+//	fetch 1,mem_24g_data_type
+//	store 1,mem_24g_common_temp+1
+//	fetch 4,mem_24g_device_addr
+//	store 4,mem_24g_common_temp+2
+//	arg 6,temp
+//	arg mem_24g_common_temp,rega
+//	call p_g24_put_data_in_buff
+//	branch p_g24_transmit_prep
 
-org 0x80001
+	
+endif
 
-z_entrance7:
-	beq ZCODE_70,z_g24_auto_pair_start
-	rtn
 
-z_g24_auto_pair_start:
-	set0 mark_24g,mark
-	call z_g24_auto_pair_all_powerful
-	call z7_g24_tx_attemp_data_prep
-z_g24_auto_pair_restart:
-	jam 0,mem_24g_check_dongle_times
-z_g24_auto_pair_start_loop:
-//	call lpo_calibration
-	nop 2000
-	fetch 1,mem_24g_check_dongle_times
-	beq 0xff,g24_stop_24g_mode
-	call p_g24_transmit_receive_ack
-	nbranch z_g24_auto_pair_retry,sync
-	nbranch z_g24_auto_pair_retry,user3
-	call p_g24_ackpayload_parse
-	call p_mouse_tx_power_init
-	fetch 4,mem_24g_addr
-	fetcht 4,mem_24g_paring_addr
-	isub temp,null
-	branch z_g24_start_pairing_sm1,zero
-	set1 mark_24g,mark
-	setarg 0
-	store 2,mem_24g_check_dongle_times
-	call g24_app_tx_attempt_success
-	call p_g24_txbuf_clear
-	branch p_g24_transmit_by_interrupt_enable
-
-z7_g24_tx_attemp_data_prep:
-	jam 0xff,mem_24g_common_temp
-	fetch 1,mem_24g_data_type
-	store 1,mem_24g_common_temp+1
-	fetch 4,mem_24g_device_addr
-	store 4,mem_24g_common_temp+2
-	arg 6,temp
-	arg mem_24g_common_temp,rega
-	call p_g24_put_data_in_buff
-	branch p_g24_transmit_prep
+org 0x70001
 
-z_g24_auto_pair_retry:
-	fetch 1,mem_24g_check_dongle_times
-	increase 1,pdata
-	store 1,mem_24g_check_dongle_times
-	fetch 1,mem_24g_auto_paring_switch
-	increase 1,pdata
-	and_into 1,pdata
-	store 1,mem_24g_auto_paring_switch
-	beq 0,z_g24_auto_pair_device_attemp
-	beq 1,z_g24_auto_pair_pair_attemp
+z_entrance6:
 	rtn
-	
-z_g24_auto_pair_all_powerful:
-	jam TX_POWER_PAIR,mem_tx_power
-	setarg 0x0f0f
-	store 2,mem_24g_addr
-	istore 2,contw
-z_g24_ch_syncword_crc8_init:	
-	call p_g24_syncword_crc8
-	branch p_g24_ch
-
-z_g24_auto_pair_device_attemp:
-	call z_g24_auto_pair_all_powerful
-	branch z_g24_auto_pair_start_loop
-
-z_g24_auto_pair_pair_attemp:
-	call z_g24_pair_init
-	branch z_g24_auto_pair_start_loop
-
-z_g24_start_pairing_sm1:
-	set1 mark_24g,mark
-	call z_g24_pair_init
-z_g24_set_pairing_sm_1:
-	jam STATE_24G_PAIRING_1,mem_24g_pairing_sm
-	rtn
-
-z_g24_pair_init:
-	jam TX_POWER_PAIR,mem_tx_power
-	jam 0,mem_24g_pid
-	jam G24_PAIR_CH,mem_24g_ch
-	fetch 4,mem_24g_paring_addr
-	branch p_g24_update_addr_and_synccrc8
+//	beq ZCODE_60,z_g24_pair_dispatch
+//z_g24_pair_dispatch:
+//	fetch 1,mem_24g_stop_g24_mode
+//	beq 1,g24_stop_24g_mode
+//	jam 0xff,mem_24g_common_temp
+//	fetch 1,mem_24g_data_type
+//	store 1,mem_24g_common_temp+1
+//	fetch 4,mem_24g_device_addr
+//	store 4,mem_24g_common_temp+2
+//	arg 6,temp
+//	arg mem_24g_common_temp,rega
+//	call p_g24_put_data_in_buff
+//	call p_g24_transmit_prep
+//	call p_g24_transmit_receive_ack
+//	nbranch z_g24_pair_txdata_retry,sync
+//	nbranch z_g24_pair_txdata_retry,user3
+//	fetch 1,mem_24g_conn_sm
+//	set0 STATE_24G_PAIR,pdata
+//	store 1,mem_24g_conn_sm
+//	jam 0,mem_24g_conn_sm
+//	call p_g24_ackpayload_parse
+//	fetch 4,mem_24g_addr
+//	fetcht 4,mem_24g_allpowerful_addr
+//	isub temp,null
+//	branch z_g24_auto_pair_skip_rx_length,zero
+//	fetch 1,mem_24g_rxdata_length	//ack payload length
+//	rtn blank
+//z_g24_auto_pair_skip_rx_length:
+//	call p_mouse_tx_power_init
+//	fetch 4,mem_24g_addr
+//	fetcht 4,mem_24g_paring_addr
+//	isub temp,null
+//	branch p_g24_start_pairing_sm1,zero
+//	fetch 4,mem_24g_addr
+//	fetcht 4,mem_24g_device_addr
+//	isub temp,null
+//	call z7_g24_store_dongle_addr,zero
+//	jam 0,mem_mouse_long_mult_flag
+//	call g24_app_tx_attempt_success
+//	call p_g24_txbuf_clear
+//	branch p_g24_transmit_by_interrupt_enable
+
+//z7_g24_store_dongle_addr:
+//	fetch 4,mem_24g_rxpayload+2
+//	branch p_g24_update_addr_and_synccrc8
+
+//z_g24_pair_txdata_retry:
+//z_g24_pair_txdata_switch:
+//	fetch 1,mem_24g_auto_paring_switch
+//	increase 1,pdata
+//	and_into 3,pdata
+//	store 1,mem_24g_auto_paring_switch
+//	beq 0,z_g24_auto_pair_first_attemp
+//	beq 2,z_g24_auto_pair_all_powerful
+//	branch p_g24_pair_init
+//	
+//z_g24_auto_pair_first_attemp:
+//	call p_mouse_tx_power_init
+//	fetch 4,mem_24g_device_addr
+//	store 4,mem_24g_addr
+//	fetch 1,mem_24g_pair_current_ch_num
+//	store 1,mem_24g_current_ch_number
+//	call z_g24_ch_syncword_crc8_init
+//	storet 1,mem_24g_pair_current_ch_num
+//	rtn
+
+//z_g24_ch_syncword_crc8_init:
+//	call p_g24_syncword_crc8
+//	branch p_g24_ch
+
+//z_g24_auto_pair_all_powerful:
+//	jam TX_POWER_PAIR,mem_tx_power
+//	fetch 4,mem_24g_allpowerful_addr
+//	store 4,mem_24g_addr
+//	fetch 1,mem_24g_powerful_current_ch_num
+//	store 1,mem_24g_current_ch_number
+//	call z_g24_ch_syncword_crc8_init
+//	storet 1,mem_24g_powerful_current_ch_num
+//	rtn
 
+org 0x80001
 
+z_entrance7:
+	beq ZCODE_70,z_mouse_irtual_cable_unplug
+//	beq ZCODE_71,z_g24_search_dongle
+	rtn
 
+z_mouse_irtual_cable_unplug:
+	setarg -1
+	store 6,mem_plap
+	jam REC_3_MODE,mem_record_bt_mode
+	jam 0xff,mem_mouse_fast_conn_flag
+	call mouse_before_store_reconn_info
+//	jam 0xff,mem_device1_type
+	branch p_mouse_store_flash_device_info
+
+//z_g24_search_dongle:
+//	fetch 1,mem_mouse_long_mult_flag
+//	rtn blank
+//	fetch 1,mem_24g_abort_pac
+//	rtn blank
+//	fetch 1,mem_24g_search_dongle_wait
+//	increase 1,pdata
+//	and_into 3,pdata
+//	store 1,mem_24g_search_dongle_wait
+//	nrtn blank	//400ms
+//	jam 0,mem_24g_search_dongle_ch
+//z_g24_search_dongle_loop:
+//	fetch 1,mem_24g_search_dongle_ch
+//	increase 1,pdata
+//	store 1,mem_24g_search_dongle_ch
+//	sub pdata,G24_CH_NUMBER,null
+//	nbranch z_g24_search_dongle_loop_end,positive
+//	call z7_g24_tx_attemp_data_prep
+//	call p_g24_transmit_receive_ack
+//	nbranch z_g24_search_dongle_loop_retry,sync
+//	nbranch z_g24_search_dongle_loop_retry,user3
+//	call p_g24_search_dongle_success
+//z_g24_search_dongle_loop_end:
+//	call p_g24_txbuf_clear
+//	fetch 1,mem_24g_search_dongle_count
+//	increase 1,pdata
+//	store 1,mem_24g_search_dongle_count
+//	beq G24_CH_POLL_COUNT,p_g24_search_dongle_check
+//	rtn
+//	
+//z7_g24_tx_attemp_data_prep:
+//	jam 0xff,mem_24g_common_temp
+//	fetch 1,mem_24g_data_type
+//	store 1,mem_24g_common_temp+1
+//	fetch 4,mem_24g_device_addr
+//	store 4,mem_24g_common_temp+2
+//	arg 6,temp
+//	arg mem_24g_common_temp,rega
+//	call p_g24_put_data_in_buff
+//	branch p_g24_transmit_prep
+//	
+//z_g24_search_dongle_loop_retry:
+//	call p_g24_ch
+//	branch z_g24_search_dongle_loop
 
 
 org 0x90001
 
 z_entrance8:
 	beq ZCODE_80,z_mouse_setting_config
-	beq ZCODE_81,z_le_addr_random_config
-//	beq ZCODE_82,z_le_parse_smp_pairing_failed
 	rtn
-//z_le_parse_smp_pairing_failed:
-//	call le_parse_smp_pairing_failed
-//	fetch 1,mem_le_state	//disable update conn param
-//	set0 lestate_update_param,pdata
-//	store 1,mem_le_state
-//	branch le_parse_terminate_ind
-
-
-ifdef BLE	
-z_le_addr_random_config:
-	call load_adc_init
-//	fetch 2,mem_0_5_adc_io_data	//adc data from otp
-//	nbranch z_le_otp_adc_empty,blank
-	setarg 0x1122
-z_le_otp_adc_empty:
-	store 2,mem_random_addr_increase_count
-	rtn
-endif
-
 
 z_mouse_setting_config:
-ifdef G24
-	call p_g24_set_device_addr
-endif
-//	//disable usb function
-//	hfetch 1,core_usb_config
-//	set0 4,pdata
-//	hstore 1,core_usb_config
 	call mouse_gpio_init
-
+	call p_mouse_multi_led_gpio_set_float
 	fetcht 1,mem_flash_ncs_gpio
 	call gpio_config_output
+
+//	setarg 0x1802	//16M XTAL
+//	store 2,mem_fcomp_mul
 	
-	call mouse_param_init
 ifdef CLASSIC_BT
 	call z_mouse_bt_sdp_update
 endif	
 	setarg 0
 	store 2,mem_lpm_interval
-	setarg 0x1802		//16M XTAL
-	store 2,mem_fcomp_mul
 	call load_adc_init
+	fetch 2,mem_0_5_adc_io_data	//adc data from otp
+	store 2,mem_random_addr_increase_count
 	call mouse_adc_init
-ifdef BLE	
-	call le_set_config_fixed_ltk
-	call le_set_justwork
-	call le_set_fixed_ltk
-	call le_set_config_read_authentication
-	call p_le_addr_random_config
-endif
-	call p_flash_release_deep_power_down
-	call p_mouse_set_24g_addr_flash
-	fetch 3,mem_flash_base
-	iadd regb,pdata
-	call spid_read_flash
 
 	call p_mouse_load_flash_info_check
-ifdef BLE_FAST_CONN_ENABLE
-	arg 3,loopcnt
-	arg mem_device1_addr,contr
-	call p_pdata_0xff_check
-	nbranch p_mouse_le_fast_conn_disable,user
-	call p_mouse_fast_conn_init
-endif	
+	fetch 1,mem_device_flag
+	rtneq MODE_24G_DEVICE
+ifdef BLE_FAST_CONN_ENABLE	
+	fetch 6,mem_mouse_24g_addr_init
+	fetcht 6,mem_device1_addr
+	isub temp,null
+	nbranch p_mouse_fast_conn_disable,zero
+	fetcht 2,mem_random_addr_increase_count
+	increase 1,temp
+	storet 2,mem_random_addr_increase_count
+	storet 2,mem_le_lap+1
+	call p_mouse_store_flash_user_data
+	random pdata
+	store 1,mem_le_lap
+	fetch 6,mem_le_lap
+	store 6,mem_le_normal_lap
+	branch p_mouse_fast_conn_le_switch_adv
+endif
 	rtn
 
-
 ifdef CLASSIC_BT
 z_mouse_bt_sdp_update:
 	call enable_authrom
@@ -645,118 +670,93 @@
 org 0xa0001
 
 z_entrance9:
-	beq ZCODE_90,z_g24_pairing_sm
-	beq ZCODE_91,z_g24_paring_mode
-	beq ZCODE_92,z_mouse_24g_pairing_complete
-	rtn
-
-z_g24_pairing_sm:
-	fetch 1,mem_24g_ensure
-	beq ENSURE_ON_24G,enable_user
-	fetch 1,mem_24g_pairing_sm
-	beq STATE_24G_PAIRING_1,z_g24_pairing_sm_1
-	beq STATE_24G_PAIRING_2,z_g24_pairing_sm_2
-	beq STATE_24G_PAIRING_3,z_g24_pairing_sm_3
-	branch assert
-
-z_g24_pairing_sm_1:
-	jam STATE_24G_PAIRING_1_WAITING_ACK,mem_24g_pairing_sm
-	jam 0xaa,mem_24g_common_temp
-	branch z_g24_pairing_sm_common
-z_g24_pairing_sm_2:
-	jam STATE_24G_PAIRING_2_WAITING_ACK,mem_24g_pairing_sm
-	jam 0x55,mem_24g_common_temp
-	branch z_g24_pairing_sm_common
-z_g24_pairing_sm_3:
-	jam STATE_24G_PAIRING_3_WAITING_ACK,mem_24g_pairing_sm
-	jam 0x22,mem_24g_common_temp
-z_g24_pairing_sm_common:
-	fetch 1,mem_24g_data_type
-	and_into bits_data,pdata
-	store 1,mem_24g_common_temp+1
-	fetch 4,mem_24g_device_addr
-	store 4,mem_24g_common_temp+2
-z_g24_put_pairing_data_in_buff:
-	jam 0,mem_24g_common_temp+6
-	arg mem_24g_common_temp,rega
-	arg 7,temp
-	call p_g24_put_data_in_buff
-	call p_g24_txdata_enable_tx
-	branch enable_user
-
-z_g24_paring_mode:
-	fetch 1,mem_24g_pairing_sm
-	rtneq STATE_24G_PAIRING_SUCCESS
-	beq STATE_24G_PAIRING_1_WAITING_ACK,z_g24_pairing_sm_1_waiting_ack
-	beq STATE_24G_PAIRING_2_WAITING_ACK,z_g24_pairing_sm_2_waiting_ack
-	beq STATE_24G_PAIRING_3_WAITING_ACK,z_g24_pairing_sm_3_waiting_ack
-	rtn
-
-z_g24_pairing_sm_1_waiting_ack:
-	jam STATE_24G_PAIRING_2,mem_24g_pairing_sm
-	branch p_g24_transmit_abandon
-z_g24_pairing_sm_2_waiting_ack:
-	jam STATE_24G_PAIRING_3,mem_24g_pairing_sm
-	branch p_g24_transmit_abandon
-z_g24_pairing_sm_3_waiting_ack:
-	jam STATE_24G_PAIRING_SUCCESS,mem_24g_pairing_sm
-	jam BT_EVT_24G_PAIRING_COMPLETE,mem_fifo_temp
-	call ui_ipc_send_event	
-	fetch 4,mem_24g_rxpayload+2
-	call p_g24_update_addr_and_synccrc8
-	branch p_g24_transmit_abandon
-
-
-z_mouse_24g_pairing_complete:
-	jam 1,mem_mouse_24g_enter_lpm_enable
-	arg MOSUE_24G_PAIRING_FLAG,queue
-	call mouse_disable_function_flag
-	setarg 0
-	store 2,mem_24g_pairing_timer_count
-	jam 0,mem_mouse_move_flag
-	
-	call mouse_read_sensor_common
-	call p_mouse_null_enter_hibernate_disable
-	call p_mouse_tx_power_init
-	
-	fetch 4,mem_24g_addr
-	store 4,mem_mouse_24g_addr
+//	beq ZCODE_90,z_g24_pairing_sm
+//	beq ZCODE_91,z_g24_paring_mode
+	rtn
+
+//z_g24_pairing_sm:
+//	fetch 1,mem_24g_ensure
+//	beq ENSURE_ON_24G,enable_user
+//	fetch 1,mem_24g_pairing_sm
+//	beq STATE_24G_PAIRING_1,z_g24_pairing_sm_1
+//	beq STATE_24G_PAIRING_2,z_g24_pairing_sm_2
+//	beq STATE_24G_PAIRING_3,z_g24_pairing_sm_3
+//	branch assert
+
+//z_g24_pairing_sm_1:
+//	jam STATE_24G_PAIRING_1_WAITING_ACK,mem_24g_pairing_sm
+//	jam 0xaa,mem_24g_common_temp
+//	branch z_g24_pairing_sm_common
+//z_g24_pairing_sm_2:
+//	jam STATE_24G_PAIRING_2_WAITING_ACK,mem_24g_pairing_sm
+//	jam 0x55,mem_24g_common_temp
+//	branch z_g24_pairing_sm_common
+//z_g24_pairing_sm_3:
+//	jam STATE_24G_PAIRING_3_WAITING_ACK,mem_24g_pairing_sm
+//	jam 0x22,mem_24g_common_temp
+//z_g24_pairing_sm_common:
+//	fetch 1,mem_24g_data_type
+//	and_into bits_data,pdata
+//	store 1,mem_24g_common_temp+1
+//	fetch 4,mem_24g_device_addr
+//	store 4,mem_24g_common_temp+2
+//z_g24_put_pairing_data_in_buff:
+//	jam 0,mem_24g_common_temp+6
+//	arg mem_24g_common_temp,rega
+//	arg 7,temp
+//	call p_g24_put_data_in_buff
+//	call p_g24_txdata_enable_tx
+//	branch enable_user
+
+//z_g24_paring_mode:
+//	fetch 1,mem_24g_pairing_sm
+//	rtneq STATE_24G_PAIRING_SUCCESS
+//	beq STATE_24G_PAIRING_1_WAITING_ACK,z_g24_pairing_sm_1_waiting_ack
+//	beq STATE_24G_PAIRING_2_WAITING_ACK,z_g24_pairing_sm_2_waiting_ack
+//	beq STATE_24G_PAIRING_3_WAITING_ACK,z_g24_pairing_sm_3_waiting_ack
+//	rtn
+
+//z_g24_pairing_sm_1_waiting_ack:
+//	jam STATE_24G_PAIRING_2,mem_24g_pairing_sm
+//	branch p_g24_transmit_abandon
+//z_g24_pairing_sm_2_waiting_ack:
+//	jam STATE_24G_PAIRING_3,mem_24g_pairing_sm
+//	branch p_g24_transmit_abandon
+//z_g24_pairing_sm_3_waiting_ack:
+//	jam STATE_24G_PAIRING_SUCCESS,mem_24g_pairing_sm
+//	jam BT_EVT_24G_PAIRING_COMPLETE,mem_fifo_temp
+//	call ui_ipc_send_event	
+//	fetch 4,mem_24g_rxpayload+2
+//	call p_g24_update_addr_and_synccrc8
+//	branch p_g24_transmit_abandon
 
-	call mouse_cheak_select_24gdevice
-	branch p_mouse_store_flash_device_info
 
 org 0xb0001
 
 z_entranceA:
-	beq ZCODE_A0,z_mouse_24g_attempt_fail
+	beq ZCODE_A0,z_mouse_before_hibernate
 	beq ZCODE_A1,z_mouse_le_conn_param_update_rsp_recieved
 	beq ZCODE_A2,z_mouse_le_bb_disconnected
 	beq ZCODE_A3,z_mouse_bb_event_reconn_timeout
-	beq ZCODE_A4,z_mouse_before_hibernate
 	rtn
 
-z_mouse_24g_attempt_fail:
-	jam G24_TX_TIMER_INT_DISABLE,mem_24g_transmit_by_interrupt
-	call p_mouse_tx_power_init
-	call p_g24_check_51cmd_stop_24g
-	jam 0,mem_link_key_exists
-	call p_mouse_setgpio_hibernate
-	branch p_mouse_null_enter_hibernate_enable
-
 z_mouse_le_conn_param_update_rsp_recieved:
 	fetch 2,mem_le_l2cap_signaling_conn_param_update_rsp_result
 	rtneq BLE_SIGNALING_CONNECT_PARAMETER_UPDATE_ACCEPTED
 	fetch 1,mem_le_tsniff
 	rshift2 pdata,pdata
 	sub pdata,LE_INTERVAL_15MS,null
-	rtn positive
+	branch z_mouse_le_conn_param_update_rsp_not_accepted,positive
 	setarg LE_INTERVAL_11_25MS
 	store 2,mem_le_interval_min
 	store 2,mem_le_interval_min+2
 	call p_app_updata_le_param
 	jam LE_LPM_DISABLE,mem_mouse_le_conn_param_reject
 	rtn
-
+//ipad not accepted updata, need reinit mem_lpm_mult.   mem_lpm_mult = CONNECT_IND latency = 0
+z_mouse_le_conn_param_update_rsp_not_accepted:
+	jam 1,mem_mouse_le_updata_not_accepted_flag
+	branch p_mouse_le_conn_param_update_rsp_not_accepted_mult_reset
 
 z_mouse_bb_event_reconn_timeout:
 z_mouse_bb_event_reconn_failed:
@@ -777,53 +777,46 @@
 	jam 0,mem_mouse_clear_sensor_data_flag
 	call p_mouse_data_init
 	call le_clr_config_more_data
-	call p_mouse_store_flash_device_info
 	branch mouse_bb_disconnected
 
-
 z_mouse_before_hibernate:
-	enable user
-	hfetch 4,0x8138
-	setflag user,26,pdata
+	hfetch 4,core_lpm_ctrl
+	set1 26,pdata
 	hstore 4,core_lpm_reg
 	call lpm_write_ctrl
 	call disable_authrom
-//	call p_mouse_devce_led_off
+	call mouse_devce_led_off
 	call p_mouse_store_flash_device_info
 	call mouse_before_hibernate_wheel_gpio_set
 	call p_mouse_setgpio_hibernate
+//	fetch 1,mem_device_flag
+//	sub pdata,MODE_24G_DEVICE,null
+//	call z_mouse_select_device_button_gpio_set_suspend,zero
+
 	call p_flash_deep_power_down
 	hfetch 1,core_gpio_sel1
 	and pdata,0xf7,pdata
-	hstore 1,core_gpio_sel1  //disable flash spi		
+	hstore 1,core_gpio_sel1  //disable flash spi
 	hfetch 1,core_gpio_pd3	//gpio24 can not be set pulldown
 	set1 0,pdata
 	hstore 1,core_gpio_pd3
-	fetcht 1,mem_config_bt_button_gpio
-	branch gpio_set_wake_by_current_state
-	
+//	fetcht 1,mem_config_select_device_button_gpio
+//	branch gpio_clr_wake
+	rtn
+
+//z_mouse_select_device_button_gpio_set_suspend:
+//	fetcht 1,mem_config_select_device_button_gpio
+//	branch p_mouse_set_gpio_suspend
 	
 org 0xc0001
 
 z_entranceB:
-	beq ZCODE_B0,z_mouse_le_bb_event_connected
 	beq ZCODE_B1,z_mouse_sniff_not_accept
 	beq ZCODE_B2,z_mouse_enter_sniff_check
 	beq ZCODE_B3,z_mouse_le_ll_start_encryt
 	beq ZCODE_B4,z_mouse_bb_event_disconnected
-	beq ZCODE_B5,z_mouse_irtual_cable_unplug
 	rtn
 
-z_mouse_le_bb_event_connected:
-	jam 1,mem_mouse_le_bb_connected_flag
-	fetch 1,mem_mouse_le_reconnect_flag
-	nbranch p_mouse_le_bb_event_connected_next,blank
-	jam 0x14,mem_mouse_send_secutiry_request_timer
-p_mouse_le_bb_event_connected_next:
-	call p_mouse_null_enter_hibernate_disable
-	call p_mouse_data_init
-	branch mouse_le_bb_event_connected
-
 z_mouse_sniff_not_accept:
 	fetch 1,mem_mouse_enter_sniff_count
 	rtneq 2
@@ -845,7 +838,7 @@
 	branch z_mouse_le_ll_enable_start_enc_flag
 z_mouse_le_ll_reconn_start_encryt:
 	call p_app_updata_le_param
-	jam 5,mem_le_start_encrypt_timer
+	jam 10,mem_le_start_encrypt_timer
 z_mouse_le_ll_enable_start_enc_flag:
 	arg LL_START_ENC_FLAG,queue
 	branch mouse_le_enable_connect_flag
@@ -854,16 +847,7 @@
 	jam 0,mem_bt_rcvd_switch_req_accept
 	jam 0,mem_bt_send_lmp_setup_complete
 	jam 0,mem_mouse_bt_send_first_package_flag
-	call p_mouse_store_flash_device_info
 	branch mouse_bb_disconnected
 
-z_mouse_irtual_cable_unplug:
-	setarg -1
-	store 6,mem_plap
-	jam REC_3_MODE,mem_record_bt_mode
-	jam 0xff,mem_mouse_fast_conn_flag
-	call mouse_before_store_reconn_info
-	jam 0xff,mem_device1_type
-	branch p_mouse_store_flash_device_info
 
 
Index: sched/109x.dat
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/FR_2639_BT&BLE/sched/109x.dat	(revision 1714)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/FR_2639_BT&BLE/sched/109x.dat	(working copy)
@@ -1,14 +1,14 @@
 
-mem_lpm_config:8f 1f ce	#-1khz
+mem_lpm_config:8f 1f ce	#4khz
 mem_lpm_xtalcnt:00 0a 0b ef 07
 mem_lpm_hibernate_switch:00
 mem_gpio_wakeup_low:00 00 00 00 00 00 00 00
 #mem_fcomp_mul:02
 #mem_fcomp_div:24
 mem_iscan_window:12 00
-mem_iscan_interval:00 02
+mem_iscan_interval:80 00
 mem_pscan_window:12 00
-mem_pscan_interval:00 02
+mem_pscan_interval:80 00
 mem_inq_window:20 00
 mem_page_window:20 00
 mem_page_to:00 40
@@ -29,7 +29,7 @@
 58 6c
 59 10
 #xtal 16M
-68 e6
+#68 e6
 ff
 mem_rf_init_ptr:mem_rf_init_data_new
 
Index: sched/mouse.dat
===================================================================
--- /branch/mouse_project/ZJL_Project/ZJL_1059/FR_2639_BT&BLE/sched/mouse.dat	(revision 1714)
+++ /branch/mouse_project/ZJL_Project/ZJL_1059/FR_2639_BT&BLE/sched/mouse.dat	(working copy)
@@ -34,7 +34,7 @@
 
 
 mem_device_option:43
-mem_lpm_mode:00
+mem_lpm_mode:01
 mem_lpm_mult:20
 mem_lpm_mult_init:20
 #mem_lpm_interval:00 00
@@ -57,10 +57,10 @@
 #bit5 MOUSE_ENABLE_AUTO_24G_PARING
 #bit6 MOUSE_ENABLE_WAKEUP_FROM_POWER
 #bit7 MOUSE_ENABLE_GPIO_CONTROL_ADC_SENSOR
-41
+01
 
 mem_app_connection_options:06
-mem_lap:20 51 17 01 20 20
+mem_lap:ab 23 56 01 20 20
 mem_local_name_length:
 'BT3.0 Mouse
 mem_sniff_param_interval:
@@ -99,17 +99,17 @@
 #microsoft swift pair
 06 ff 06 00 03 00 80
 #name
-'\09BT5.2 Mouse
+'\09BT5.0 Mouse
 
 mem_le_scan_data_len:1f
 mem_le_scan_data:
 #name
-'\09BT5.2 Mouse
+'\09BT5.0 Mouse
 
 
 #max 20bytes, att list data rom limits
 mem_le_name_len:
-'BT5.2 Mouse
+'BT5.0 Mouse
 
 
 mem_le_interval_min:
@@ -124,7 +124,7 @@
 mem_le_adv_own_addr_type:00
 mem_le_adv_channel_map:07 
 
-mem_le_lap:8e b1 3a 0e 8e ed
+mem_le_lap:78 56 ba 0e 8e ed
 
 mem_le_transmit_window:50
 
@@ -134,21 +134,21 @@
 
 mem_discovery_timeout:08 07#3min
 mem_mouse_direct_timeout:50 00#8s
-mem_mouse_no_data_timeout:70 17#10min
+mem_mouse_no_data_timeout:70 17#30min
 
 mem_flash_ncs_gpio:0a
 mem_spi_ncs_gpio:ff
 mem_ui_button_gpio:ff
 mem_ui_button_timeout:1e
-mem_bt_ui_button_timeout:01
 
 mem_device_number:02 #max device number
 mem_24g_device_number:02 #devie 2 :24g mode
 mem_adc_config_flag:02 #0 vinlpm 1 hvin 2 gpio
 mem_adc_channel:32 #gpio5
-mem_mouse_vdd_full_vol:98 00#1.5v
-74 00#mem_mouse_vdd_empty_vol:5a 00#0.9v
-7e 00#mem_mouse_vdd_low_vol:64 00  #1.1v
+mem_mouse_vdd_full_vol:51 00#4.2V
+3e 00#mem_mouse_vdd_empty_vol:5a 00# 2.8V
+44 00#mem_mouse_vdd_low_vol:64 00  #3.2v
+
 mem_config_sensor_type:00
 02 #mem_config_sensor_motion:02
 06 #mem_lbutton_gpio:04
@@ -170,11 +170,18 @@
 ff #mem_config_device3_led_gpio:ff
 ff #mem_sensor_data_gpio:18
 ff #mem_dpi_led_gpio:08
-ff #mem_config_function_enable:04
+00 #mem_config_function_enable:04
 03 #mem_config_sensor_angle:00
 ff #mem_select_sensor_angle_gpio:ff
 ff #mem_select_adc_gpio:ff
 
+#mouse sensor angle
+#0x00 MOUSE_6CLK_ANGLE
+#0X01 MOUSE_9CLK_ANGLE
+#0X02 MOUSE_12CLK_ANGLE
+#0X03 MOUSE_3CLK_ANGLE
+
+
 mem_eeprom_wp_gpio:ff
 mem_sensor_reset_gpio:ff
 mem_sensor_squal_reg:07# 07:3205         	06:3610
@@ -190,7 +197,7 @@
 #bit5 ENABLE_SELECT_DEVICE_BY_GPIO_BUTTON
 #bit6 ENABLE_SELECT_DEVICE_BY_SWITCH
 #bit7 ENABLE_SENSOR_MOTION_PIN
-#10
+#00
 
 mem_mouse_dpi_seting:
 01##mem_320x_dpi_1
@@ -208,6 +215,43 @@
 #07##mem_3610_dpi_3
 #08##mem_3610_dpi_4
 
+mem_mouse_3065xy_dpi_seting:
+00
+01
+02
+03
+
+mem_sensor_8650_init:
+09 5a
+ff 27
+ab 40
+be d1
+a0 41
+a1 41
+a5 84
+a7 ff
+b5 d0
+b6 00
+ff 00
+09 00
+ff
+
+mem_sensor_ka8_init:
+09 5a
+5b 9a
+0d 12
+0e c5
+53 48
+09 00
+ff
+
+mem_sensor_poweron_init:
+06 80
+09 5a
+0b f3
+09 00
+ff
+
 mem_ui_led_struct_ptr:mem_mouse_led_type
 mem_ui_led_struct_num:01
 
@@ -222,12 +266,12 @@
 2b 00 02 08 29 02 11 02
 
 
-mem_le_att_pnp_id_len:07
-mem_le_att_pnp_id:
-02		#verdor ID source
-35 12	#usb verdor ID
-22 aa 	#product ID
-01 00	#product version
+#mem_le_att_pnp_id_len:07
+#mem_le_att_pnp_id:
+#02		#verdor ID source
+#35 12	#usb verdor ID
+#22 aa 	#product ID
+#01 00	#product version
 
   
 #24g init
@@ -245,11 +289,12 @@
 mem_24g_ch_map4:11 23 31 4d
 mem_24g_pairing_sm:ff
 mem_24g_paring_addr:20 15 10 05
+mem_24g_allpowerful_addr:0f 0f 0f 0f 0f 0f
 mem_24g_common_temp:00 00 00 00 00 00 00 00 00 00
-mem_24g_enter_hibernate:00 48 60
+mem_24g_enter_hibernate:80 4f 12
 
 mem_device_flag:
-ff
+01
 ff
 ff ff ff ff ff ff
 #mem_device2_type:
@@ -258,19 +303,18 @@
 #mem_device3_type:
 #34
 #11 22 33 44 55 66
+mem_mouse_fast_conn_flag:ff
+mem_mouse_long_button_select_device:ff
+mem_mouse_24g_addr_init:ff ff ff ff ff ff
 
 
 mem_flash_base:00 50 00
-mem_eeprom_base:90 1f
-mem_eeprom_block_size:80
+#mem_eeprom_base:90 1f
+#mem_eeprom_block_size:80
 mem_reconn_times_init:00
 mem_bt_discovey_button_statue:01#default: button up
 mem_empty_count:03
 
-mem_mouse_24g_addr_init:ff ff ff ff
-
-
-mem_24g_sw_gpio:ff
 mem_mouse_multi_led_gpio:1d
 mem_mouse_multi_led_on_timer_init:14
 mem_mouse_multi_led_blink_timer_init:03
@@ -280,12 +324,6 @@
 mem_xip_flash_offset:00 00 00
 mem_zcode_head:20 20 00 40
 
-#mem_mouse_button_select_device_timer_init:1e
-#mem_mouse_dpi_button_state:01
-
-mem_mouse_long_button_select_device:ff
-mem_mouse_le_fast_conn_enable_timer:14
-
 #yichip sdp
 #04 0011 0100 1002 1124
 #00 01 00 00
