Index: c51/bluetooth.c
===================================================================
--- /YC1026/YC1086_BLE_24g_SDK/c51/bluetooth.c	(revision 327)
+++ /YC1026/YC1086_BLE_24g_SDK/c51/bluetooth.c	(working copy)
@@ -200,8 +200,11 @@
 {
 	if (g_variable.update_eeprom_flag)				//bt3.0  bt4.2 record information save
 	{
-		if (g_variable.update_eeprom_flag != EEPROM_STORE_TYPE_NORMAL)
-			Delay1ms(200);
+		#ifdef  ADC_ENABLE
+		if(m_adcCurrentValue < g_variable.battery_level_shutdown)
+			return;
+		#endif
+
 		GPIO_Setout(EEPROM_WP_GPIO,0);
 		if (g_variable.update_eeprom_flag == EEPROM_STORE_TYPE_G24)
 		{
Index: c51/kb_process.c
===================================================================
--- /YC1026/YC1086_BLE_24g_SDK/c51/kb_process.c	(revision 327)
+++ /YC1026/YC1086_BLE_24g_SDK/c51/kb_process.c	(working copy)
@@ -54,11 +54,7 @@
 		xmemclear_ff((byte *)bd_key_record_list,sizeof(BD_KEY_RECORD)*3);
 		g_variable.last_device_num = 0xff;
 		g_variable.system_mode = 0xff;
-		Delay1ms(200);
-		GPIO_Setout(EEPROM_WP_GPIO,0);
-		IIC_WriteBlock(EEPROM_RECON_INFO_BASE ,sizeof(BD_KEY_RECORD)*3 , (byte *)&bd_key_record_list);
-		IIC_WriteBlock(EEPROM_RECON_INFO_LAST_DEVICE ,1 ,(byte *)&g_variable.last_device_num);
-		GPIO_Setout(EEPROM_WP_GPIO,1);
+		g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_BT;
 		g_variable.key_action = KEY_NONE;
 		break;
 	case KEY_START_24G:
Index: c51/keyscan.c
===================================================================
--- /YC1026/YC1086_BLE_24g_SDK/c51/keyscan.c	(revision 327)
+++ /YC1026/YC1086_BLE_24g_SDK/c51/keyscan.c	(working copy)
@@ -9,8 +9,7 @@
 	REG_GPIO_OE(g) |= n; \
 	REG_GPIO_OUT(g) &= ~n;	\
 	y = ~ REG_GPIO_IN(0);	\
-	REG_GPIO_PUP(g) |= n;	\
-	REG_GPIO_OE(g) &= ~n
+	REG_GPIO_OUT(g) |= n
 
 
 #define GET_RAW_KEY_SEL0(y,x)		GPIO_SetOutput(x, 0); \
@@ -199,7 +198,7 @@
 {
 	byte i = 0;
 	for (i=0; col[i]!=0; i++) {
-		GPIO_SetInput(col[i], 0);
+		GPIO_SetOutput(col[i], 1);
 	}
 }
 
Index: c51/output/FW
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/output/FW.COD
===================================================================
--- /YC1026/YC1086_BLE_24g_SDK/c51/output/FW.COD	(revision 327)
+++ /YC1026/YC1086_BLE_24g_SDK/c51/output/FW.COD	(working copy)
@@ -1,4 +1,4 @@
-LX51 LINKER/LOCATER V4.41                                                               12/25/2021  18:52:31  PAGE 1
+LX51 LINKER/LOCATER V4.41                                                               01/24/2022  21:30:08  PAGE 1
 
 
 
@@ -299,8 +299,8 @@
 
 ----- FUNCTION _kb_motion_keyscan (BEGIN) -----
  FILE: 'kb_process.c'
-  357: void kb_motion_keyscan(tKSEVENT *pEvt)
-  358: {
+  353: void kb_motion_keyscan(tKSEVENT *pEvt)
+  354: {
 0008C0 904EC5            MOV     DPTR,#pEvt
 0008C3 EB                MOV     A,R3
 0008C4 F0                MOVX    @DPTR,A
@@ -310,18 +310,18 @@
 0008C8 A3                INC     DPTR
 0008C9 E9                MOV     A,R1
 0008CA F0                MOVX    @DPTR,A
-  359: 	byte temp = 0;
-  360: 	byte i=0;
+  355: 	byte temp = 0;
+  356: 	byte i=0;
 0008CB E4                CLR     A
 0008CC A3                INC     DPTR
 0008CD F0                MOVX    @DPTR,A
-  361: 	
+  357: 	
 0008CE A3                INC     DPTR
 0008CF F0                MOVX    @DPTR,A
-  362: 	fn_flag = 0;
+  358: 	fn_flag = 0;
 0008D0 904DE2            MOV     DPTR,#fn_flag
 0008D3 F0                MOVX    @DPTR,A
-  363: 	for(i=0; i < KS_BUFF_POLL_LEN-1; i++)
+  359: 	for(i=0; i < KS_BUFF_POLL_LEN-1; i++)
 0008D4 904EC9            MOV     DPTR,#i
 0008D7 F0                MOVX    @DPTR,A
 0008D8         ?C0070?KB_PROCESS:
@@ -331,8 +331,8 @@
 0008DD C3                CLR     C
 0008DE 9405              SUBB    A,#05H
 0008E0 502C              JNC     ?C0071?KB_PROCESS
-  364: 	{
-  365: 		if (pEvt->ksPool[i] == HID_KEY_FN) 		// Fn key check
+  360: 	{
+  361: 		if (pEvt->ksPool[i] == HID_KEY_FN) 		// Fn key check
 0008E2 904EC5            MOV     DPTR,#pEvt
 0008E5 E0                MOVX    A,@DPTR
 0008E6 FB                MOV     R3,A
@@ -355,13 +355,13 @@
 0008F9 FA                MOV     R2,A
 0008FA 1203B6            LCALL   ?C?CLDPTR
 0008FD B47F06            CJNE    A,#07FH,?C0072?KB_PROCESS
-  366: 		{
-  367: 			fn_flag = 1;
+  362: 		{
+  363: 			fn_flag = 1;
 000900 904DE2            MOV     DPTR,#fn_flag
 000903 7401              MOV     A,#01H
 000905 F0                MOVX    @DPTR,A
-  368: 		}
-  369: 	}
+  364: 		}
+  365: 	}
 000906         ?C0072?KB_PROCESS:
 000906 904EC9            MOV     DPTR,#i
 000909 E0                MOVX    A,@DPTR
@@ -369,9 +369,9 @@
 00090B F0                MOVX    @DPTR,A
 00090C 80CA              SJMP    ?C0070?KB_PROCESS
 00090E         ?C0071?KB_PROCESS:
-  370: 
-  371: 	
-  372: 	if(kb_device_select(pEvt))		// select device or discovery
+  366: 
+  367: 	
+  368: 	if(kb_device_select(pEvt))		// select device or discovery
 00090E 904EC5            MOV     DPTR,#pEvt
 000911 E0                MOVX    A,@DPTR
 000912 FB                MOV     R3,A
@@ -381,13 +381,13 @@
 000916 A3                INC     DPTR
 000917 E0                MOVX    A,@DPTR
 000918 F9                MOV     R1,A
-000919 122792            LCALL   _kb_device_select
+000919 122799            LCALL   _kb_device_select
 00091C EF                MOV     A,R7
 00091D 6002              JZ      $ + 4H
 00091F 616A              AJMP    ?C0075?KB_PROCESS
 000921         ?C0074?KB_PROCESS:
-  373: 		return;
-  374: 	if (pEvt == NULL)
+  369: 		return;
+  370: 	if (pEvt == NULL)
 000921 904EC5            MOV     DPTR,#pEvt
 000924 E0                MOVX    A,@DPTR
 000925 A3                INC     DPTR
@@ -399,136 +399,136 @@
 00092B 7002              JNZ     $ + 4H
 00092D 616A              AJMP    ?C0075?KB_PROCESS
 00092F         ?C0076?KB_PROCESS:
-  375: 		return;
-  376: 
-  377: #ifdef PC_SLEEP_STATUS_GET
-  378: 	if(m_pc_sleep_flag)		// wake from pc sleep,get led status
+  371: 		return;
+  372: 
+  373: #ifdef PC_SLEEP_STATUS_GET
+  374: 	if(m_pc_sleep_flag)		// wake from pc sleep,get led status
 00092F 904D7D            MOV     DPTR,#m_pc_sleep_flag
 000932 E0                MOVX    A,@DPTR
 000933 6008              JZ      ?C0077?KB_PROCESS
-  379: 	{
-  380: 		m_pc_sleep_flag = 0;
+  375: 	{
+  376: 		m_pc_sleep_flag = 0;
 000935 E4                CLR     A
 000936 F0                MOVX    @DPTR,A
-  381: 		m_24g_led_flag = KB_24G_LED_ACK_TYPE;	
+  377: 		m_24g_led_flag = KB_24G_LED_ACK_TYPE;	
 000937 904D46            MOV     DPTR,#m_24g_led_flag
 00093A 7403              MOV     A,#03H
 00093C F0                MOVX    @DPTR,A
-  382: 	}
+  378: 	}
 00093D         ?C0077?KB_PROCESS:
-  383: #endif
-  384: 	
-  385: 	if (g_variable.ble_currentState == CHANGE_TO_BLE_CONNECTED)
+  379: #endif
+  380: 	
+  381: 	if (g_variable.ble_currentState == CHANGE_TO_BLE_CONNECTED)
 00093D 904CC7            MOV     DPTR,#g_variable+08H
 000940 E0                MOVX    A,@DPTR
 000941 B40406            CJNE    A,#04H,?C0078?KB_PROCESS
-  386: 	{
-  387: 		kscurrmult = 0x3;
+  382: 	{
+  383: 		kscurrmult = 0x3;
 000944 904213            MOV     DPTR,#kscurrmult
 000947 7403              MOV     A,#03H
 000949 F0                MOVX    @DPTR,A
-  388: 	}
+  384: 	}
 00094A         ?C0078?KB_PROCESS:
-  389: 	delayChgInvTimer = 10;
+  385: 	delayChgInvTimer = 10;
 00094A 904DE6            MOV     DPTR,#delayChgInvTimer
 00094D 740A              MOV     A,#0AH
 00094F F0                MOVX    @DPTR,A
-  390: 	g_variable.sleepTimer = 0;
+  386: 	g_variable.sleepTimer = 0;
 000950 E4                CLR     A
 000951 904CE3            MOV     DPTR,#g_variable+024H
 000954 F0                MOVX    @DPTR,A
 000955 A3                INC     DPTR
 000956 F0                MOVX    @DPTR,A
-  391: 	if(g_variable.battery_status == BAT_STATUS_LOW)
+  387: 	if(g_variable.battery_status == BAT_STATUS_LOW)
 000957 904CD5            MOV     DPTR,#g_variable+016H
 00095A E0                MOVX    A,@DPTR
 00095B B40112            CJNE    A,#01H,?C0079?KB_PROCESS
-  392: 	{
-  393: 		m_24g_enter_hibernate[0]	= 0x00;
+  388: 	{
+  389: 		m_24g_enter_hibernate[0]	= 0x00;
 00095E E4                CLR     A
 00095F 904D40            MOV     DPTR,#m_24g_enter_hibernate
 000962 F0                MOVX    @DPTR,A
-  394: 		m_24g_enter_hibernate[1]	= 0x48;
+  390: 		m_24g_enter_hibernate[1]	= 0x48;
 000963 A3                INC     DPTR
 000964 7448              MOV     A,#048H
 000966 F0                MOVX    @DPTR,A
-  395: 		m_24g_enter_hibernate[2]	= 0x12;		// 100ms
+  391: 		m_24g_enter_hibernate[2]	= 0x12;		// 100ms
 000967 A3                INC     DPTR
 000968 7412              MOV     A,#012H
 00096A F0                MOVX    @DPTR,A
-  396: 		m_24g_enter_hibernate[3]	= 0x00;
+  392: 		m_24g_enter_hibernate[3]	= 0x00;
 00096B E4                CLR     A
 00096C A3                INC     DPTR
 00096D F0                MOVX    @DPTR,A
-  397: 	}
+  393: 	}
 00096E 8010              SJMP    ?C0080?KB_PROCESS
 000970         ?C0079?KB_PROCESS:
-  398: 	else
-  399: 	{
-  400: 		m_24g_enter_hibernate[0]	= 0x00;
+  394: 	else
+  395: 	{
+  396: 		m_24g_enter_hibernate[0]	= 0x00;
 000970 E4                CLR     A
 000971 904D40            MOV     DPTR,#m_24g_enter_hibernate
 000974 F0                MOVX    @DPTR,A
-  401: 		m_24g_enter_hibernate[1]	= 0x48;
+  397: 		m_24g_enter_hibernate[1]	= 0x48;
 000975 A3                INC     DPTR
 000976 7448              MOV     A,#048H
 000978 F0                MOVX    @DPTR,A
-  402: 		m_24g_enter_hibernate[2]   = 0x5d;		// 510ms
+  398: 		m_24g_enter_hibernate[2]   = 0x5d;		// 510ms
 000979 A3                INC     DPTR
 00097A 745D              MOV     A,#05DH
 00097C F0                MOVX    @DPTR,A
-  403: 		m_24g_enter_hibernate[3]	= 0x00;
+  399: 		m_24g_enter_hibernate[3]	= 0x00;
 00097D E4                CLR     A
 00097E A3                INC     DPTR
 00097F F0                MOVX    @DPTR,A
-  404: 	}
+  400: 	}
 000980         ?C0080?KB_PROCESS:
-  405: 	xmemclear(hidBuff,9);
+  401: 	xmemclear(hidBuff,9);
 000980 7B01              MOV     R3,#01H
 000982 7A48              MOV     R2,#HIGH hidBuff
 000984 7900              MOV     R1,#LOW hidBuff
 000986 7D09              MOV     R5,#09H
 000988 7C00              MOV     R4,#00H
 00098A 716B              ACALL   _xmemclear
-  406: 	xmemclear(multikey,9);
+  402: 	xmemclear(multikey,9);
 00098C 7B01              MOV     R3,#01H
 00098E 7A4E              MOV     R2,#HIGH multikey
 000990 794C              MOV     R1,#LOW multikey
 000992 7D09              MOV     R5,#09H
 000994 7C00              MOV     R4,#00H
 000996 716B              ACALL   _xmemclear
-  407: 
-  408: /*
-  409: 	////////////////////////////2.4g pairing////////////////////////////////////
-  410: 	if ((pEvt->ksPool[0]  == HID_KEY_EQUAL&& pEvt->ksPool[1]  == HID_KEY_ESC) 
-  411: 		||(pEvt->ksPool[0]  == HID_KEY_ESC && pEvt->ksPool[1]  == HID_KEY_EQUAL) 
-  412: 		)
-  413: 	{
-  414: 		m_24g_paring_addr[0] = 0x20;
-  415: 		m_24g_paring_addr[1] = 0x15;
-  416: 		m_24g_paring_addr[2] = 0x10;
-  417: 		m_24g_paring_addr[3] = 0x05;
-  418: 		if (g_variable.g24_currentState != CHANGE_TO_24G_PAIRING)
+  403: 
+  404: /*
+  405: 	////////////////////////////2.4g pairing////////////////////////////////////
+  406: 	if ((pEvt->ksPool[0]  == HID_KEY_EQUAL&& pEvt->ksPool[1]  == HID_KEY_ESC) 
+  407: 		||(pEvt->ksPool[0]  == HID_KEY_ESC && pEvt->ksPool[1]  == HID_KEY_EQUAL) 
+  408: 		)
+  409: 	{
+  410: 		m_24g_paring_addr[0] = 0x20;
+  411: 		m_24g_paring_addr[1] = 0x15;
+  412: 		m_24g_paring_addr[2] = 0x10;
+  413: 		m_24g_paring_addr[3] = 0x05;
+  414: 		if (g_variable.g24_currentState != CHANGE_TO_24G_PAIRING)
+  415: 		{
+  416: 			g_variable.button_flag |= KEY_FLAG_FN_24G_DEVICE_BUTTON;
+  417: 		}
+  418: 		else
   419: 		{
-  420: 			g_variable.button_flag |= KEY_FLAG_FN_24G_DEVICE_BUTTON;
+  420: 			g_variable.button_flag &= ~KEY_FLAG_FN_24G_DEVICE_BUTTON;
   421: 		}
-  422: 		else
-  423: 		{
-  424: 			g_variable.button_flag &= ~KEY_FLAG_FN_24G_DEVICE_BUTTON;
-  425: 		}
+  422: 	}
+  423: 	else
+  424: 	{
+  425: 		g_variable.button_flag &= ~KEY_FLAG_FN_24G_DEVICE_BUTTON;
   426: 	}
-  427: 	else
-  428: 	{
-  429: 		g_variable.button_flag &= ~KEY_FLAG_FN_24G_DEVICE_BUTTON;
-  430: 	}
-  431: */
-  432: 
-  433: 
-  434: 	m_power_on_flag = 1;
+  427: */
+  428: 
+  429: 
+  430: 	m_power_on_flag = 1;
 000998 904CB6            MOV     DPTR,#m_power_on_flag
 00099B 7401              MOV     A,#01H
 00099D F0                MOVX    @DPTR,A
-  435: 	if( (g_variable.key_combination_step == CAMBINATION_KEY_PRESS) ||
+  431: 	if( (g_variable.key_combination_step == CAMBINATION_KEY_PRESS) ||
 00099E 904CF4            MOV     DPTR,#g_variable+035H
 0009A1 E0                MOVX    A,@DPTR
 0009A2 FF                MOV     R7,A
@@ -543,21 +543,21 @@
 0009B1 6402              XRL     A,#02H
 0009B3 7002              JNZ     $ + 4H
 0009B5 616A              AJMP    ?C0075?KB_PROCESS
-  436: 	    (g_variable.key_combination_step == CAMBINATION_KEY_WAIT_RELEASE) ||
-  437: 	    (g_variable.key_combination_step == CAMBINATION_KEY_HOLD))
-  438: 	{
-  439: 		return;
-  440: 	}
+  432: 	    (g_variable.key_combination_step == CAMBINATION_KEY_WAIT_RELEASE) ||
+  433: 	    (g_variable.key_combination_step == CAMBINATION_KEY_HOLD))
+  434: 	{
+  435: 		return;
+  436: 	}
 0009B7         ?C0081?KB_PROCESS:
-  441: 
-  442: 	// get 24g led status
-  443: 	if (g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED)
+  437: 
+  438: 	// get 24g led status
+  439: 	if (g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED)
 0009B7 904CC5            MOV     DPTR,#g_variable+06H
 0009BA E0                MOVX    A,@DPTR
 0009BB 6403              XRL     A,#03H
 0009BD 7045              JNZ     ?C0083?KB_PROCESS
-  444: 	{
-  445: 		for(i=0; i < KS_BUFF_POLL_LEN-1; i++)
+  440: 	{
+  441: 		for(i=0; i < KS_BUFF_POLL_LEN-1; i++)
 0009BF 904EC9            MOV     DPTR,#i
 0009C2 F0                MOVX    @DPTR,A
 0009C3         ?C0084?KB_PROCESS:
@@ -567,8 +567,8 @@
 0009C8 C3                CLR     C
 0009C9 9405              SUBB    A,#05H
 0009CB 5037              JNC     ?C0083?KB_PROCESS
-  446: 		{
-  447: 			if ((pEvt->ksPool[i] == HID_KEY_CAPS_LOCK) || (pEvt->ksPool[i] == HID_KEY_NUM_LOCK) 
+  442: 		{
+  443: 			if ((pEvt->ksPool[i] == HID_KEY_CAPS_LOCK) || (pEvt->ksPool[i] == HID_KEY_NUM_LOCK) 
 0009CD 904EC5            MOV     DPTR,#pEvt
 0009D0 E0                MOVX    A,@DPTR
 0009D1 FB                MOV     R3,A
@@ -599,25 +599,25 @@
 0009F2 EF                MOV     A,R7
 0009F3 B44706            CJNE    A,#047H,?C0086?KB_PROCESS
 0009F6         ?C0088?KB_PROCESS:
-  448: 			|| (pEvt->ksPool[i] == HID_KEY_SCROLL_LOCK))
-  449: 			{
-  450: 				m_24g_led_flag = KB_24G_LED_ACK_TYPE;
+  444: 			|| (pEvt->ksPool[i] == HID_KEY_SCROLL_LOCK))
+  445: 			{
+  446: 				m_24g_led_flag = KB_24G_LED_ACK_TYPE;
 0009F6 904D46            MOV     DPTR,#m_24g_led_flag
 0009F9 7403              MOV     A,#03H
 0009FB F0                MOVX    @DPTR,A
-  451: 
-  452: 			}
-  453: 		}
+  447: 
+  448: 			}
+  449: 		}
 0009FC         ?C0086?KB_PROCESS:
 0009FC 904EC9            MOV     DPTR,#i
 0009FF E0                MOVX    A,@DPTR
 000A00 04                INC     A
 000A01 F0                MOVX    @DPTR,A
 000A02 80BF              SJMP    ?C0084?KB_PROCESS
-  454: 	}
+  450: 	}
 000A04         ?C0083?KB_PROCESS:
-  455: 
-  456: 	kb_multikey_setup(pEvt);
+  451: 
+  452: 	kb_multikey_setup(pEvt);
 000A04 904EC5            MOV     DPTR,#pEvt
 000A07 E0                MOVX    A,@DPTR
 000A08 FB                MOV     R3,A
@@ -627,48 +627,48 @@
 000A0C A3                INC     DPTR
 000A0D E0                MOVX    A,@DPTR
 000A0E F9                MOV     R1,A
-000A0F 12201D            LCALL   _kb_multikey_setup
-  457: 	
-  458: 	if (mult_key_status == KEY_MULIT_PRESS) 
+000A0F 122024            LCALL   _kb_multikey_setup
+  453: 	
+  454: 	if (mult_key_status == KEY_MULIT_PRESS) 
 000A12 904E4B            MOV     DPTR,#mult_key_status
 000A15 E0                MOVX    A,@DPTR
 000A16 B40111            CJNE    A,#01H,?C0089?KB_PROCESS
-  459: 	{
-  460: 		mult_key_status = KEY_WAIT_RELEASE;
+  455: 	{
+  456: 		mult_key_status = KEY_WAIT_RELEASE;
 000A19 7402              MOV     A,#02H
 000A1B F0                MOVX    @DPTR,A
-  461: 		multikey[0] = HID_REPORTID_2;
+  457: 		multikey[0] = HID_REPORTID_2;
 000A1C 904E4C            MOV     DPTR,#multikey
 000A1F F0                MOVX    @DPTR,A
-  462: 		IPC_TxHidData(multikey, 3);
+  458: 		IPC_TxHidData(multikey, 3);
 000A20 7B01              MOV     R3,#01H
 000A22 7A4E              MOV     R2,#HIGH multikey
 000A24 794C              MOV     R1,#LOW multikey
 000A26 7D03              MOV     R5,#03H
 000A28 8130              AJMP    _IPC_TxHidData
-  463: 	}
+  459: 	}
 000A2A         ?C0089?KB_PROCESS:
-  464: 	else if (mult_key_status == KEY_SYSTEM_PRESS) 
+  460: 	else if (mult_key_status == KEY_SYSTEM_PRESS) 
 000A2A 904E4B            MOV     DPTR,#mult_key_status
 000A2D E0                MOVX    A,@DPTR
 000A2E B40413            CJNE    A,#04H,?C0091?KB_PROCESS
-  465: 	{
-  466: 		mult_key_status = KEY_WAIT_RELEASE;
+  461: 	{
+  462: 		mult_key_status = KEY_WAIT_RELEASE;
 000A31 7402              MOV     A,#02H
 000A33 F0                MOVX    @DPTR,A
-  467: 		multikey[0] = HID_REPORTID_SYSTEM;
+  463: 		multikey[0] = HID_REPORTID_SYSTEM;
 000A34 904E4C            MOV     DPTR,#multikey
 000A37 7406              MOV     A,#06H
 000A39 F0                MOVX    @DPTR,A
-  468: 		IPC_TxHidData(multikey, 3);
+  464: 		IPC_TxHidData(multikey, 3);
 000A3A 7B01              MOV     R3,#01H
 000A3C 7A4E              MOV     R2,#HIGH multikey
 000A3E 794C              MOV     R1,#LOW multikey
 000A40 7D03              MOV     R5,#03H
 000A42 8130              AJMP    _IPC_TxHidData
-  469: 	}
+  465: 	}
 000A44         ?C0091?KB_PROCESS:
-  470: 	else if((mult_key_status == KEY_RELEASE) || (mult_key_status == KEY_WAIT_RELEASE && (!keyCount)))
+  466: 	else if((mult_key_status == KEY_RELEASE) || (mult_key_status == KEY_WAIT_RELEASE && (!keyCount)))
 000A44 904E4B            MOV     DPTR,#mult_key_status
 000A47 E0                MOVX    A,@DPTR
 000A48 6403              XRL     A,#03H
@@ -680,50 +680,50 @@
 000A54 E0                MOVX    A,@DPTR
 000A55 7029              JNZ     ?C0093?KB_PROCESS
 000A57         ?C0094?KB_PROCESS:
-  471: 	{
-  472: 		mult_key_status = KEY_STANDBY;
+  467: 	{
+  468: 		mult_key_status = KEY_STANDBY;
 000A57 E4                CLR     A
 000A58 904E4B            MOV     DPTR,#mult_key_status
 000A5B F0                MOVX    @DPTR,A
-  473: 		mult_key_value = 0;	
+  469: 		mult_key_value = 0;	
 000A5C 904DED            MOV     DPTR,#mult_key_value
 000A5F F0                MOVX    @DPTR,A
-  474: 		if(system_key_press)
+  470: 		if(system_key_press)
 000A60 904DE9            MOV     DPTR,#system_key_press
 000A63 E0                MOVX    A,@DPTR
 000A64 600A              JZ      ?C0095?KB_PROCESS
-  475: 		{
-  476: 			system_key_press = 0;
+  471: 		{
+  472: 			system_key_press = 0;
 000A66 E4                CLR     A
 000A67 F0                MOVX    @DPTR,A
-  477: 			multikey[0] = HID_REPORTID_SYSTEM;
+  473: 			multikey[0] = HID_REPORTID_SYSTEM;
 000A68 904E4C            MOV     DPTR,#multikey
 000A6B 7406              MOV     A,#06H
 000A6D F0                MOVX    @DPTR,A
-  478: 		}
+  474: 		}
 000A6E 8006              SJMP    ?C0096?KB_PROCESS
 000A70         ?C0095?KB_PROCESS:
-  479: 		else	
-  480: 			multikey[0] = HID_REPORTID_2;
+  475: 		else	
+  476: 			multikey[0] = HID_REPORTID_2;
 000A70 904E4C            MOV     DPTR,#multikey
 000A73 7402              MOV     A,#02H
 000A75 F0                MOVX    @DPTR,A
 000A76         ?C0096?KB_PROCESS:
-  481: 		IPC_TxHidData(multikey, 3);
+  477: 		IPC_TxHidData(multikey, 3);
 000A76 7B01              MOV     R3,#01H
 000A78 7A4E              MOV     R2,#HIGH multikey
 000A7A 794C              MOV     R1,#LOW multikey
 000A7C 7D03              MOV     R5,#03H
 000A7E 8130              AJMP    _IPC_TxHidData
-  482: 	}
+  478: 	}
 000A80         ?C0093?KB_PROCESS:
-  483: 	else 
-  484: 	{
-  485: 		if(!keyCount)
+  479: 	else 
+  480: 	{
+  481: 		if(!keyCount)
 000A80 904DE4            MOV     DPTR,#keyCount
 000A83 E0                MOVX    A,@DPTR
 000A84 7016              JNZ     ?C0098?KB_PROCESS
-  486: 			xmemclear(pEvt->ksPool,6);
+  482: 			xmemclear(pEvt->ksPool,6);
 000A86 904EC5            MOV     DPTR,#pEvt
 000A89 E0                MOVX    A,@DPTR
 000A8A FB                MOV     R3,A
@@ -741,12 +741,12 @@
 000A98 7C00              MOV     R4,#00H
 000A9A 716B              ACALL   _xmemclear
 000A9C         ?C0098?KB_PROCESS:
-  487: 	
-  488: 		hidBuff[0] = HID_REPORTID_1;		// standard key send
+  483: 	
+  484: 		hidBuff[0] = HID_REPORTID_1;		// standard key send
 000A9C 904800            MOV     DPTR,#hidBuff
 000A9F 7401              MOV     A,#01H
 000AA1 F0                MOVX    @DPTR,A
-  489: 		hidBuff[1] = pEvt->standardSel;
+  485: 		hidBuff[1] = pEvt->standardSel;
 000AA2 904EC5            MOV     DPTR,#pEvt
 000AA5 E0                MOVX    A,@DPTR
 000AA6 FB                MOV     R3,A
@@ -759,38 +759,38 @@
 000AAD 1203B6            LCALL   ?C?CLDPTR
 000AB0 904801            MOV     DPTR,#hidBuff+01H
 000AB3 F0                MOVX    @DPTR,A
-  490: 		if (g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED)
+  486: 		if (g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED)
 000AB4 904CC5            MOV     DPTR,#g_variable+06H
 000AB7 E0                MOVX    A,@DPTR
 000AB8 B4030A            CJNE    A,#03H,?C0099?KB_PROCESS
-  491: 			hidBuff[2] = m_24g_led_flag;
+  487: 			hidBuff[2] = m_24g_led_flag;
 000ABB 904D46            MOV     DPTR,#m_24g_led_flag
 000ABE E0                MOVX    A,@DPTR
 000ABF 904802            MOV     DPTR,#hidBuff+02H
 000AC2 F0                MOVX    @DPTR,A
 000AC3 8005              SJMP    ?C0100?KB_PROCESS
 000AC5         ?C0099?KB_PROCESS:
-  492: 		else
-  493: 			hidBuff[2] = 0;
+  488: 		else
+  489: 			hidBuff[2] = 0;
 000AC5 E4                CLR     A
 000AC6 904802            MOV     DPTR,#hidBuff+02H
 000AC9 F0                MOVX    @DPTR,A
 000ACA         ?C0100?KB_PROCESS:
-  494: 
-  495: 		standard_key_release_flag = 0;
+  490: 
+  491: 		standard_key_release_flag = 0;
 000ACA E4                CLR     A
 000ACB 904DDF            MOV     DPTR,#standard_key_release_flag
 000ACE F0                MOVX    @DPTR,A
-  496: 		if(!fast_connect_flag)
+  492: 		if(!fast_connect_flag)
 000ACF 904E55            MOV     DPTR,#fast_connect_flag
 000AD2 E0                MOVX    A,@DPTR
 000AD3 706F              JNZ     ?C0101?KB_PROCESS
-  497: 		{
-  498: 			if (pEvt->ksPool[0] == HID_KEY_FN)
+  493: 		{
+  494: 			if (pEvt->ksPool[0] == HID_KEY_FN)
 000AD5 900001            MOV     DPTR,#01H
 000AD8 1203CF            LCALL   ?C?CLDOPTR
 000ADB B47F15            CJNE    A,#07FH,?C0102?KB_PROCESS
-  499: 				xmemcpy(&hidBuff[3], &pEvt->ksPool[1], 5);
+  495: 				xmemcpy(&hidBuff[3], &pEvt->ksPool[1], 5);
 000ADE 7E48              MOV     R6,#HIGH hidBuff+03H
 000AE0 7F03              MOV     R7,#LOW hidBuff+03H
 000AE2 E9                MOV     A,R1
@@ -805,8 +805,8 @@
 000AEF 117D              ACALL   _xmemcpy
 000AF1 801C              SJMP    ?C0103?KB_PROCESS
 000AF3         ?C0102?KB_PROCESS:
-  500: 			else
-  501: 				xmemcpy(&hidBuff[3], pEvt->ksPool, 6);
+  496: 			else
+  497: 				xmemcpy(&hidBuff[3], pEvt->ksPool, 6);
 000AF3 7E48              MOV     R6,#HIGH hidBuff+03H
 000AF5 7F03              MOV     R7,#LOW hidBuff+03H
 000AF7 904EC5            MOV     DPTR,#pEvt
@@ -827,8 +827,8 @@
 000B0C F0                MOVX    @DPTR,A
 000B0D 117D              ACALL   _xmemcpy
 000B0F         ?C0103?KB_PROCESS:
-  502: 			
-  503: 			for(i = 3; i<9;i++)
+  498: 			
+  499: 			for(i = 3; i<9;i++)
 000B0F 904EC9            MOV     DPTR,#i
 000B12 7403              MOV     A,#03H
 000B14 F0                MOVX    @DPTR,A
@@ -839,8 +839,8 @@
 000B1A C3                CLR     C
 000B1B 9409              SUBB    A,#09H
 000B1D 5041              JNC     ?C0108?KB_PROCESS
-  504: 			{
-  505: 				if (hidBuff[i] == HID_KEY_FN)
+  500: 			{
+  501: 				if (hidBuff[i] == HID_KEY_FN)
 000B1F 7400              MOV     A,#LOW hidBuff
 000B21 2F                ADD     A,R7
 000B22 F582              MOV     DPL,A
@@ -849,7 +849,7 @@
 000B27 F583              MOV     DPH,A
 000B29 E0                MOVX    A,@DPTR
 000B2A B47F0F            CJNE    A,#07FH,?C0106?KB_PROCESS
-  506: 					hidBuff[i] = 0;
+  502: 					hidBuff[i] = 0;
 000B2D 904EC9            MOV     DPTR,#i
 000B30 E0                MOVX    A,@DPTR
 000B31 2400              ADD     A,#LOW hidBuff
@@ -859,17 +859,17 @@
 000B38 F583              MOV     DPH,A
 000B3A E4                CLR     A
 000B3B F0                MOVX    @DPTR,A
-  507: 			}
+  503: 			}
 000B3C         ?C0106?KB_PROCESS:
 000B3C 904EC9            MOV     DPTR,#i
 000B3F E0                MOVX    A,@DPTR
 000B40 04                INC     A
 000B41 F0                MOVX    @DPTR,A
 000B42 80D1              SJMP    ?C0104?KB_PROCESS
-  508: 		}
+  504: 		}
 000B44         ?C0101?KB_PROCESS:
-  509: 		else	
-  510: 			xmemcpy(&hidBuff[3], pEvt->ksPool, 6);
+  505: 		else	
+  506: 			xmemcpy(&hidBuff[3], pEvt->ksPool, 6);
 000B44 7E48              MOV     R6,#HIGH hidBuff+03H
 000B46 7F03              MOV     R7,#LOW hidBuff+03H
 000B48 904EC5            MOV     DPTR,#pEvt
@@ -890,15 +890,15 @@
 000B5D F0                MOVX    @DPTR,A
 000B5E 117D              ACALL   _xmemcpy
 000B60         ?C0108?KB_PROCESS:
-  511: 		IPC_TxHidData(hidBuff, 9);
+  507: 		IPC_TxHidData(hidBuff, 9);
 000B60 7B01              MOV     R3,#01H
 000B62 7A48              MOV     R2,#HIGH hidBuff
 000B64 7900              MOV     R1,#LOW hidBuff
 000B66 7D09              MOV     R5,#09H
 000B68 9130              ACALL   _IPC_TxHidData
-  512: 	}
-  513: 	return;
-  514: }
+  508: 	}
+  509: 	return;
+  510: }
 000B6A         ?C0075?KB_PROCESS:
 000B6A 22                RET     
 ----- FUNCTION _kb_motion_keyscan (END) -------
@@ -1057,8 +1057,8 @@
 
 ----- FUNCTION _IPC_TxHidData (BEGIN) -----
  FILE: 'kb_process.c'
-  122: void IPC_TxHidData(byte* dt, byte len)
-  123: {
+  118: void IPC_TxHidData(byte* dt, byte len)
+  119: {
 000C30 904E7A            MOV     DPTR,#dt
 000C33 EB                MOV     A,R3
 000C34 F0                MOVX    @DPTR,A
@@ -1071,13 +1071,13 @@
 000C3B A3                INC     DPTR
 000C3C ED                MOV     A,R5
 000C3D F0                MOVX    @DPTR,A
-  124: 	xbyte tx_hid_buff[10];
-  125: 	byte i=0;
+  120: 	xbyte tx_hid_buff[10];
+  121: 	byte i=0;
 ;---- Variable 'i' assigned to Register 'R7' ----
 000C3E E4                CLR     A
 000C3F FF                MOV     R7,A
-  126: 
-  127: 	for(i==0; i< len; i++)
+  122: 
+  123: 	for(i==0; i< len; i++)
 000C40         ?C0027?KB_PROCESS:
 000C40 904E7D            MOV     DPTR,#len
 000C43 E0                MOVX    A,@DPTR
@@ -1086,8 +1086,8 @@
 000C46 C3                CLR     C
 000C47 9E                SUBB    A,R6
 000C48 5023              JNC     ?C0028?KB_PROCESS
-  128: 	{
-  129: 		tx_hid_buff[i] = dt[i];
+  124: 	{
+  125: 		tx_hid_buff[i] = dt[i];
 000C4A 904E7A            MOV     DPTR,#dt
 000C4D E0                MOVX    A,@DPTR
 000C4E FB                MOV     R3,A
@@ -1109,27 +1109,27 @@
 000C66 F583              MOV     DPH,A
 000C68 EE                MOV     A,R6
 000C69 F0                MOVX    @DPTR,A
-  130: 	}
+  126: 	}
 000C6A 0F                INC     R7
 000C6B 80D3              SJMP    ?C0027?KB_PROCESS
 000C6D         ?C0028?KB_PROCESS:
-  131: 	
-  132: 	if(!YC_check_need_reconnected()) 
+  127: 	
+  128: 	if(!YC_check_need_reconnected()) 
 000C6D 12100D            LCALL   YC_check_need_reconnected
 000C70 EF                MOV     A,R7
 000C71 7002              JNZ     $ + 4H
 000C73 A111              AJMP    ?C0031?KB_PROCESS
 000C75         ?C0030?KB_PROCESS:
-  133: 		return;
-  134: 	if (g_variable.release_data)
+  129: 		return;
+  130: 	if (g_variable.release_data)
 000C75 904CEB            MOV     DPTR,#g_variable+02CH
 000C78 E0                MOVX    A,@DPTR
 000C79 6002              JZ      $ + 4H
 000C7B A111              AJMP    ?C0031?KB_PROCESS
 000C7D         ?C0032?KB_PROCESS:
-  135: 		return;
-  136: 
-  137: 	if ((g_variable.ble_currentState == CHANGE_TO_BLE_CONNECTED) ||
+  131: 		return;
+  132: 
+  133: 	if ((g_variable.ble_currentState == CHANGE_TO_BLE_CONNECTED) ||
 000C7D 904CC7            MOV     DPTR,#g_variable+08H
 000C80 E0                MOVX    A,@DPTR
 000C81 FF                MOV     R7,A
@@ -1141,17 +1141,17 @@
 000C8D E0                MOVX    A,@DPTR
 000C8E 6017              JZ      ?C0033?KB_PROCESS
 000C90         ?C0034?KB_PROCESS:
-  138: 	((g_variable.ble_currentState == CHANGE_TO_BLE_CONNECTING) && ble_fast_connect_flag))
-  139: 	{
-  140: 		if (tx_hid_buff[0] == HID_REPORTID_SYSTEM)
+  134: 	((g_variable.ble_currentState == CHANGE_TO_BLE_CONNECTING) && ble_fast_connect_flag))
+  135: 	{
+  136: 		if (tx_hid_buff[0] == HID_REPORTID_SYSTEM)
 000C90 904E7E            MOV     DPTR,#tx_hid_buff
 000C93 E0                MOVX    A,@DPTR
 000C94 B40603            CJNE    A,#06H,?C0035?KB_PROCESS
-  141: 			tx_hid_buff[0] = HID_REPORTID_3;
+  137: 			tx_hid_buff[0] = HID_REPORTID_3;
 000C97 7403              MOV     A,#03H
 000C99 F0                MOVX    @DPTR,A
 000C9A         ?C0035?KB_PROCESS:
-  142: 		IPC_TxBleData(tx_hid_buff,len);
+  138: 		IPC_TxBleData(tx_hid_buff,len);
 000C9A 7B01              MOV     R3,#01H
 000C9C 7A4E              MOV     R2,#HIGH tx_hid_buff
 000C9E 797E              MOV     R1,#LOW tx_hid_buff
@@ -1159,25 +1159,25 @@
 000CA3 E0                MOVX    A,@DPTR
 000CA4 FD                MOV     R5,A
 000CA5 F1E8              ACALL   _IPC_TxBleData
-  143: 
-  144: 	}
+  139: 
+  140: 	}
 000CA7         ?C0033?KB_PROCESS:
-  145: 	if (g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED)
+  141: 	if (g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED)
 000CA7 904CC5            MOV     DPTR,#g_variable+06H
 000CAA E0                MOVX    A,@DPTR
 000CAB 6403              XRL     A,#03H
 000CAD 7062              JNZ     ?C0031?KB_PROCESS
-  146: 	{
-  147: 		if(tx_hid_buff[0] == HID_REPORTID_1)
+  142: 	{
+  143: 		if(tx_hid_buff[0] == HID_REPORTID_1)
 000CAF 904E7E            MOV     DPTR,#tx_hid_buff
 000CB2 E0                MOVX    A,@DPTR
 000CB3 6401              XRL     A,#01H
 000CB5 7023              JNZ     ?C0037?KB_PROCESS
-  148: 		{
-  149: 			tx_hid_buff[0] = 4;
+  144: 		{
+  145: 			tx_hid_buff[0] = 4;
 000CB7 7404              MOV     A,#04H
 000CB9 F0                MOVX    @DPTR,A
-  150: 			if (tx_hid_buff[1] == 0 && tx_hid_buff[3] == 00 && tx_hid_buff[4] == 00 && tx_hid_buff[5] == 0)
+  146: 			if (tx_hid_buff[1] == 0 && tx_hid_buff[3] == 00 && tx_hid_buff[4] == 00 && tx_hid_buff[5] == 0)
 000CBA A3                INC     DPTR
 000CBB E0                MOVX    A,@DPTR
 000CBC 7014              JNZ     ?C0038?KB_PROCESS
@@ -1190,62 +1190,62 @@
 000CC8 A3                INC     DPTR
 000CC9 E0                MOVX    A,@DPTR
 000CCA 7006              JNZ     ?C0038?KB_PROCESS
-  151: 				repeat_send_24g = 0;
+  147: 				repeat_send_24g = 0;
 000CCC 904DDD            MOV     DPTR,#repeat_send_24g
 000CCF F0                MOVX    @DPTR,A
 000CD0 8032              SJMP    ?C0040?KB_PROCESS
 000CD2         ?C0038?KB_PROCESS:
-  152: 			else
-  153: 				repeat_send_24g = 1;			
+  148: 			else
+  149: 				repeat_send_24g = 1;			
 000CD2 904DDD            MOV     DPTR,#repeat_send_24g
 000CD5 7401              MOV     A,#01H
 000CD7 F0                MOVX    @DPTR,A
-  154: 		}
+  150: 		}
 000CD8 802A              SJMP    ?C0040?KB_PROCESS
 000CDA         ?C0037?KB_PROCESS:
-  155: 		else if(tx_hid_buff[0] == HID_REPORTID_2)
+  151: 		else if(tx_hid_buff[0] == HID_REPORTID_2)
 000CDA 904E7E            MOV     DPTR,#tx_hid_buff
 000CDD E0                MOVX    A,@DPTR
 000CDE B40219            CJNE    A,#02H,?C0041?KB_PROCESS
-  156: 		{
-  157: 			tx_hid_buff[0] = 5;
+  152: 		{
+  153: 			tx_hid_buff[0] = 5;
 000CE1 7405              MOV     A,#05H
 000CE3 F0                MOVX    @DPTR,A
-  158: 			if (tx_hid_buff[1] == 00 && tx_hid_buff[2] == 00)
+  154: 			if (tx_hid_buff[1] == 00 && tx_hid_buff[2] == 00)
 000CE4 A3                INC     DPTR
 000CE5 E0                MOVX    A,@DPTR
 000CE6 700A              JNZ     ?C0042?KB_PROCESS
 000CE8 A3                INC     DPTR
 000CE9 E0                MOVX    A,@DPTR
 000CEA 7006              JNZ     ?C0042?KB_PROCESS
-  159: 			{
-  160: 				repeat_send_24g = 0;
+  155: 			{
+  156: 				repeat_send_24g = 0;
 000CEC 904DDD            MOV     DPTR,#repeat_send_24g
 000CEF F0                MOVX    @DPTR,A
-  161: 			}
+  157: 			}
 000CF0 8012              SJMP    ?C0040?KB_PROCESS
 000CF2         ?C0042?KB_PROCESS:
-  162: 			else
-  163: 			{
-  164: 				repeat_send_24g = 1;
+  158: 			else
+  159: 			{
+  160: 				repeat_send_24g = 1;
 000CF2 904DDD            MOV     DPTR,#repeat_send_24g
 000CF5 7401              MOV     A,#01H
 000CF7 F0                MOVX    @DPTR,A
-  165: 			}
-  166: 		}
+  161: 			}
+  162: 		}
 000CF8 800A              SJMP    ?C0040?KB_PROCESS
 000CFA         ?C0041?KB_PROCESS:
-  167: 		else if(tx_hid_buff[0] == HID_REPORTID_3)
+  163: 		else if(tx_hid_buff[0] == HID_REPORTID_3)
 000CFA 904E7E            MOV     DPTR,#tx_hid_buff
 000CFD E0                MOVX    A,@DPTR
 000CFE B40303            CJNE    A,#03H,?C0040?KB_PROCESS
-  168: 		{
-  169: 			tx_hid_buff[0] = 7;
+  164: 		{
+  165: 			tx_hid_buff[0] = 7;
 000D01 7407              MOV     A,#07H
 000D03 F0                MOVX    @DPTR,A
-  170: 		}
+  166: 		}
 000D04         ?C0040?KB_PROCESS:
-  171: 		IPC_Tx24GData(tx_hid_buff,len);
+  167: 		IPC_Tx24GData(tx_hid_buff,len);
 000D04 7B01              MOV     R3,#01H
 000D06 7A4E              MOV     R2,#HIGH tx_hid_buff
 000D08 797E              MOV     R1,#LOW tx_hid_buff
@@ -1253,8 +1253,8 @@
 000D0D E0                MOVX    A,@DPTR
 000D0E FD                MOV     R5,A
 000D0F F1E0              ACALL   _IPC_Tx24GData
-  172: 	}
-  173: }
+  168: 	}
+  169: }
 000D11         ?C0031?KB_PROCESS:
 000D11 22                RET     
 ----- FUNCTION _IPC_TxHidData (END) -------
@@ -1262,27 +1262,27 @@
 
 ----- FUNCTION _kb_send_combination_key (BEGIN) -----
  FILE: 'kb_process.c'
-  199: void kb_send_combination_key(byte ctrl_value,byte key_value)
-  200: {
+  195: void kb_send_combination_key(byte ctrl_value,byte key_value)
+  196: {
 000D12 904EF9            MOV     DPTR,#ctrl_value
 000D15 EF                MOV     A,R7
 000D16 F0                MOVX    @DPTR,A
 000D17 A3                INC     DPTR
 000D18 ED                MOV     A,R5
 000D19 F0                MOVX    @DPTR,A
-  201: 	xmemclear(hidBuff,9);
-  202: 	hidBuff[0] = HID_REPORTID_1;
+  197: 	xmemclear(hidBuff,9);
+  198: 	hidBuff[0] = HID_REPORTID_1;
 000D1A 7B01              MOV     R3,#01H
 000D1C 7A48              MOV     R2,#HIGH hidBuff
 000D1E 7900              MOV     R1,#LOW hidBuff
 000D20 7D09              MOV     R5,#09H
 000D22 7C00              MOV     R4,#00H
 000D24 716B              ACALL   _xmemclear
-  203: 	hidBuff[1] |= ctrl_value;
+  199: 	hidBuff[1] |= ctrl_value;
 000D26 904800            MOV     DPTR,#hidBuff
 000D29 7401              MOV     A,#01H
 000D2B F0                MOVX    @DPTR,A
-  204: 	hidBuff[3] = key_value; 
+  200: 	hidBuff[3] = key_value; 
 000D2C A3                INC     DPTR
 000D2D E0                MOVX    A,@DPTR
 000D2E FF                MOV     R7,A
@@ -1293,12 +1293,12 @@
 000D35 4E                ORL     A,R6
 000D36 904801            MOV     DPTR,#hidBuff+01H
 000D39 F0                MOVX    @DPTR,A
-  205: 	IPC_TxHidData(hidBuff, 9);
+  201: 	IPC_TxHidData(hidBuff, 9);
 000D3A 904EFA            MOV     DPTR,#key_value
 000D3D E0                MOVX    A,@DPTR
 000D3E 904803            MOV     DPTR,#hidBuff+03H
 000D41 F0                MOVX    @DPTR,A
-  206: }
+  202: }
 000D42 7B01              MOV     R3,#01H
 000D44 7A48              MOV     R2,#HIGH hidBuff
 000D46 7900              MOV     R1,#LOW hidBuff
@@ -1309,18 +1309,18 @@
 
 ----- FUNCTION kb_need_keyscan (BEGIN) -----
  FILE: 'kb_process.c'
-  306: void kb_need_keyscan()
-  307: {
-  308: /*
-  309: 	 if (g_variable.ble_currentSubState == CHANGE_TO_BLE_SUB_PINCODE 
-  310: 		|| g_variable.br_currentSubState == CHANGE_TO_BR_SUB_PINCODE)
-  311: 	{
-  312: 		kb_bt_pincode_enter();
-  313: 	}
-  314: 	else
-  315: */	
-  316: 	{	
-  317: 		if((g_variable.key_combination_step == CAMBINATION_KEY_FREE)
+  302: void kb_need_keyscan()
+  303: {
+  304: /*
+  305: 	 if (g_variable.ble_currentSubState == CHANGE_TO_BLE_SUB_PINCODE 
+  306: 		|| g_variable.br_currentSubState == CHANGE_TO_BR_SUB_PINCODE)
+  307: 	{
+  308: 		kb_bt_pincode_enter();
+  309: 	}
+  310: 	else
+  311: */	
+  312: 	{	
+  313: 		if((g_variable.key_combination_step == CAMBINATION_KEY_FREE)
 000D4C 904CF4            MOV     DPTR,#g_variable+035H
 000D4F E0                MOVX    A,@DPTR
 000D50 FF                MOV     R7,A
@@ -1330,42 +1330,42 @@
 000D57 EF                MOV     A,R7
 000D58 B40503            CJNE    A,#05H,?C0057?KB_PROCESS
 000D5B         ?C0058?KB_PROCESS:
-  318: 		||(g_variable.key_combination_step == CAMBINATION_KEY_COMPLETE)
-  319: 		|| (g_variable.key_combination_step == CAMBINATION_KEY_RELEASE)
-  320: 		)
-  321: 			kb_motion();
-000D5B 022372            LJMP    kb_motion
+  314: 		||(g_variable.key_combination_step == CAMBINATION_KEY_COMPLETE)
+  315: 		|| (g_variable.key_combination_step == CAMBINATION_KEY_RELEASE)
+  316: 		)
+  317: 			kb_motion();
+000D5B 022379            LJMP    kb_motion
 000D5E         ?C0057?KB_PROCESS:
-  322: 		else
-  323: 		{
-  324: 			if(g_variable.key_combination_step == CAMBINATION_KEY_PRESS)
+  318: 		else
+  319: 		{
+  320: 			if(g_variable.key_combination_step == CAMBINATION_KEY_PRESS)
 000D5E 904CF4            MOV     DPTR,#g_variable+035H
 000D61 E0                MOVX    A,@DPTR
 000D62 B4010E            CJNE    A,#01H,?C0060?KB_PROCESS
-  325: 			{
-  326: 				kb_send_combination_key(g_variable.key_combination_ctrl,0);
+  321: 			{
+  322: 				kb_send_combination_key(g_variable.key_combination_ctrl,0);
 000D65 A3                INC     DPTR
 000D66 E0                MOVX    A,@DPTR
 000D67 FF                MOV     R7,A
 000D68 E4                CLR     A
 000D69 FD                MOV     R5,A
 000D6A B112              ACALL   _kb_send_combination_key
-  327: 				g_variable.key_combination_step = CAMBINATION_KEY_HOLD;
+  323: 				g_variable.key_combination_step = CAMBINATION_KEY_HOLD;
 000D6C 904CF4            MOV     DPTR,#g_variable+035H
 000D6F 7402              MOV     A,#02H
 000D71 F0                MOVX    @DPTR,A
-  328: 			}
+  324: 			}
 000D72 22                RET     
 000D73         ?C0060?KB_PROCESS:
-  329: 			else if(g_variable.key_combination_step == CAMBINATION_KEY_HOLD)
+  325: 			else if(g_variable.key_combination_step == CAMBINATION_KEY_HOLD)
 000D73 904CF4            MOV     DPTR,#g_variable+035H
 000D76 E0                MOVX    A,@DPTR
 000D77 B4020B            CJNE    A,#02H,?C0062?KB_PROCESS
-  330: 			{	
-  331: 				g_variable.key_combination_step = CAMBINATION_KEY_COMPLETE;
+  326: 			{	
+  327: 				g_variable.key_combination_step = CAMBINATION_KEY_COMPLETE;
 000D7A 7403              MOV     A,#03H
 000D7C F0                MOVX    @DPTR,A
-  332: 				kb_send_combination_key(g_variable.key_combination_ctrl,g_variable.key_combination_keyvalue);
+  328: 				kb_send_combination_key(g_variable.key_combination_ctrl,g_variable.key_combination_keyvalue);
 000D7D A3                INC     DPTR
 000D7E E0                MOVX    A,@DPTR
 000D7F FF                MOV     R7,A
@@ -1373,73 +1373,73 @@
 000D81 E0                MOVX    A,@DPTR
 000D82 FD                MOV     R5,A
 000D83 808D              SJMP    _kb_send_combination_key
-  333: 			}
+  329: 			}
 000D85         ?C0062?KB_PROCESS:
-  334: 			else if(g_variable.key_combination_step == CAMBINATION_KEY_WAIT_RELEASE)
+  330: 			else if(g_variable.key_combination_step == CAMBINATION_KEY_WAIT_RELEASE)
 000D85 904CF4            MOV     DPTR,#g_variable+035H
 000D88 E0                MOVX    A,@DPTR
 000D89 B40427            CJNE    A,#04H,?C0064?KB_PROCESS
-  335: 			{
-  336: 				g_variable.key_combination_keyvalue = 0;
+  331: 			{
+  332: 				g_variable.key_combination_keyvalue = 0;
 000D8C E4                CLR     A
 000D8D 904CF6            MOV     DPTR,#g_variable+037H
 000D90 F0                MOVX    @DPTR,A
-  337: 				kb_send_combination_key(g_variable.key_combination_ctrl,g_variable.key_combination_keyvalue);
+  333: 				kb_send_combination_key(g_variable.key_combination_ctrl,g_variable.key_combination_keyvalue);
 000D91 904CF5            MOV     DPTR,#g_variable+036H
 000D94 E0                MOVX    A,@DPTR
 000D95 FF                MOV     R7,A
 000D96 E4                CLR     A
 000D97 FD                MOV     R5,A
 000D98 B112              ACALL   _kb_send_combination_key
-  338: 				g_variable.key_combination_ctrl = 0;
+  334: 				g_variable.key_combination_ctrl = 0;
 000D9A E4                CLR     A
 000D9B 904CF5            MOV     DPTR,#g_variable+036H
 000D9E F0                MOVX    @DPTR,A
-  339: 				if(!g_variable.one_key_press_wait_release_timer)
+  335: 				if(!g_variable.one_key_press_wait_release_timer)
 000D9F 904CF8            MOV     DPTR,#g_variable+039H
 000DA2 E0                MOVX    A,@DPTR
 000DA3 7007              JNZ     ?C0065?KB_PROCESS
-  340: 					g_variable.key_combination_step = CAMBINATION_KEY_NULL;
+  336: 					g_variable.key_combination_step = CAMBINATION_KEY_NULL;
 000DA5 904CF4            MOV     DPTR,#g_variable+035H
 000DA8 7406              MOV     A,#06H
 000DAA F0                MOVX    @DPTR,A
 000DAB 22                RET     
 000DAC         ?C0065?KB_PROCESS:
-  341: 				else
-  342: 					g_variable.key_combination_step = CAMBINATION_KEY_RELEASE;
+  337: 				else
+  338: 					g_variable.key_combination_step = CAMBINATION_KEY_RELEASE;
 000DAC 904CF4            MOV     DPTR,#g_variable+035H
 000DAF 7405              MOV     A,#05H
 000DB1 F0                MOVX    @DPTR,A
-  343: 			}
+  339: 			}
 000DB2 22                RET     
 000DB3         ?C0064?KB_PROCESS:
-  344: 			else if(g_variable.key_combination_step == CAMBINATION_KEY_NULL)
+  340: 			else if(g_variable.key_combination_step == CAMBINATION_KEY_NULL)
 000DB3 904CF4            MOV     DPTR,#g_variable+035H
 000DB6 E0                MOVX    A,@DPTR
 000DB7 B40615            CJNE    A,#06H,?C0069?KB_PROCESS
-  345: 			{
-  346: 				g_variable.key_combination_keyvalue = 0;
+  341: 			{
+  342: 				g_variable.key_combination_keyvalue = 0;
 000DBA E4                CLR     A
 000DBB 904CF6            MOV     DPTR,#g_variable+037H
 000DBE F0                MOVX    @DPTR,A
-  347: 				g_variable.key_combination_ctrl = 0;
+  343: 				g_variable.key_combination_ctrl = 0;
 000DBF 904CF5            MOV     DPTR,#g_variable+036H
 000DC2 F0                MOVX    @DPTR,A
-  348: 				kb_send_combination_key(g_variable.key_combination_ctrl,g_variable.key_combination_keyvalue);
+  344: 				kb_send_combination_key(g_variable.key_combination_ctrl,g_variable.key_combination_keyvalue);
 000DC3 A3                INC     DPTR
 000DC4 E0                MOVX    A,@DPTR
 000DC5 FD                MOV     R5,A
 000DC6 E4                CLR     A
 000DC7 FF                MOV     R7,A
 000DC8 B112              ACALL   _kb_send_combination_key
-  349: 				g_variable.key_combination_step = CAMBINATION_KEY_FREE;
+  345: 				g_variable.key_combination_step = CAMBINATION_KEY_FREE;
 000DCA E4                CLR     A
 000DCB 904CF4            MOV     DPTR,#g_variable+035H
 000DCE F0                MOVX    @DPTR,A
-  350: 			}
-  351: 		}
-  352: 	}
-  353: }
+  346: 			}
+  347: 		}
+  348: 	}
+  349: }
 000DCF         ?C0069?KB_PROCESS:
 000DCF 22                RET     
 ----- FUNCTION kb_need_keyscan (END) -------
@@ -1447,47 +1447,47 @@
 
 ----- FUNCTION YC_connect_timeout_500ms (BEGIN) -----
  FILE: 'sys.c'
-  379: void YC_connect_timeout_500ms()
-  380: {
-  381: 
-  382: 	if(le_send_battery_level_delay_count)
+  376: void YC_connect_timeout_500ms()
+  377: {
+  378: 
+  379: 	if(le_send_battery_level_delay_count)
 000DD0 904DDB            MOV     DPTR,#le_send_battery_level_delay_count
 000DD3 E0                MOVX    A,@DPTR
 000DD4 600F              JZ      ?C0069?SYS
-  383: 	{
-  384: 		le_send_battery_level_delay_count--;
+  380: 	{
+  381: 		le_send_battery_level_delay_count--;
 000DD6 E0                MOVX    A,@DPTR
 000DD7 14                DEC     A
 000DD8 F0                MOVX    @DPTR,A
-  385: 		if(!le_send_battery_level_delay_count)
+  382: 		if(!le_send_battery_level_delay_count)
 000DD9 E0                MOVX    A,@DPTR
 000DDA 7009              JNZ     ?C0069?SYS
-  386: 		{	
-  387: 			m_lpm_mode = 1;
+  383: 		{	
+  384: 			m_lpm_mode = 1;
 000DDC 904131            MOV     DPTR,#m_lpm_mode
 000DDF 04                INC     A
 000DE0 F0                MOVX    @DPTR,A
-  388: 			le_send_battery_level_flag = 1;
+  385: 			le_send_battery_level_flag = 1;
 000DE1 904DDA            MOV     DPTR,#le_send_battery_level_flag
 000DE4 F0                MOVX    @DPTR,A
-  389: 		}
-  390: 	}
+  386: 		}
+  387: 	}
 000DE5         ?C0069?SYS:
-  391: 	
-  392: //system long sleep timer
-  393: 	if (g_variable.ble_currentState == CHANGE_TO_BLE_CONNECTED)
+  388: 	
+  389: //system long sleep timer
+  390: 	if (g_variable.ble_currentState == CHANGE_TO_BLE_CONNECTED)
 000DE5 904CC7            MOV     DPTR,#g_variable+08H
 000DE8 E0                MOVX    A,@DPTR
 000DE9 FF                MOV     R7,A
 000DEA 6404              XRL     A,#04H
 000DEC 7051              JNZ     ?C0071?SYS
-  394: 	{
-  395: 		if (g_variable.ble_currentState == CHANGE_TO_BLE_CONNECTED)
+  391: 	{
+  392: 		if (g_variable.ble_currentState == CHANGE_TO_BLE_CONNECTED)
 000DEE EF                MOV     A,R7
 000DEF 6404              XRL     A,#04H
 000DF1 7033              JNZ     ?C0072?SYS
-  396: 		{
-  397: 			if(le_send_battery_level_flag || (g_variable.sleepTimer && !(g_variable.sleepTimer & 0x1f)))		// ble battery l
+  393: 		{
+  394: 			if(le_send_battery_level_flag || (g_variable.sleepTimer && !(g_variable.sleepTimer & 0x1f)))		// ble battery l
 >> evel updata each 16 second
 000DF3 904DDA            MOV     DPTR,#le_send_battery_level_flag
 000DF6 E0                MOVX    A,@DPTR
@@ -1504,30 +1504,30 @@
 000E05 541F              ANL     A,#01FH
 000E07 701D              JNZ     ?C0072?SYS
 000E09         ?C0074?SYS:
-  398: 			{
-  399: 				le_send_battery_level_flag = 0;
+  395: 			{
+  396: 				le_send_battery_level_flag = 0;
 000E09 E4                CLR     A
 000E0A 904DDA            MOV     DPTR,#le_send_battery_level_flag
 000E0D F0                MOVX    @DPTR,A
-  400: 				multikey[0] = HID_REPORTID_BATTERY;	
+  397: 				multikey[0] = HID_REPORTID_BATTERY;	
 000E0E 904E4C            MOV     DPTR,#multikey
 000E11 7404              MOV     A,#04H
 000E13 F0                MOVX    @DPTR,A
-  401: 				multikey[1] = g_variable.battery_level_percentage;	
+  398: 				multikey[1] = g_variable.battery_level_percentage;	
 000E14 904CF9            MOV     DPTR,#g_variable+03AH
 000E17 E0                MOVX    A,@DPTR
 000E18 904E4D            MOV     DPTR,#multikey+01H
 000E1B F0                MOVX    @DPTR,A
-  402: 				IPC_TxHidData(multikey, 2);
+  399: 				IPC_TxHidData(multikey, 2);
 000E1C 7B01              MOV     R3,#01H
 000E1E 7A4E              MOV     R2,#HIGH multikey
 000E20 794C              MOV     R1,#LOW multikey
 000E22 7D02              MOV     R5,#02H
 000E24 9130              ACALL   _IPC_TxHidData
-  403: 			}
-  404: 		}
+  400: 			}
+  401: 		}
 000E26         ?C0072?SYS:
-  405: 		if (g_variable.sleepTimer == STANDBY_TIMER_10MIN) 
+  402: 		if (g_variable.sleepTimer == STANDBY_TIMER_10MIN) 
 000E26 904CE3            MOV     DPTR,#g_variable+024H
 000E29 E0                MOVX    A,@DPTR
 000E2A 6404              XRL     A,#04H
@@ -1538,24 +1538,24 @@
 000E32         ?C0172?SYS:
 000E32 6002              JZ      $ + 4H
 000E34 C1C9              AJMP    ?C0087?SYS
-  406: 		{
-  407: 			YC_disconnect_all_link();
+  403: 		{
+  404: 			YC_disconnect_all_link();
 000E36 F187              ACALL   YC_disconnect_all_link
-  408: 			g_variable.lockLpm = 1;
+  405: 			g_variable.lockLpm = 1;
 000E38 904CEC            MOV     DPTR,#g_variable+02DH
 000E3B 7401              MOV     A,#01H
 000E3D F0                MOVX    @DPTR,A
-  409: 		}
-  410: 	}
+  406: 		}
+  407: 	}
 000E3E 22                RET     
 000E3F         ?C0071?SYS:
-  411: 	else if(g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED)
+  408: 	else if(g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED)
 000E3F 904CC5            MOV     DPTR,#g_variable+06H
 000E42 E0                MOVX    A,@DPTR
 000E43 6403              XRL     A,#03H
 000E45 704C              JNZ     ?C0077?SYS
-  412: 	{
-  413: 		if((g_variable.sleepTimer == 10) && m_24g_led_flag)
+  409: 	{
+  410: 		if((g_variable.sleepTimer == 10) && m_24g_led_flag)
 000E47 904CE3            MOV     DPTR,#g_variable+024H
 000E4A E0                MOVX    A,@DPTR
 000E4B FE                MOV     R6,A
@@ -1568,46 +1568,46 @@
 000E54 904D46            MOV     DPTR,#m_24g_led_flag
 000E57 E0                MOVX    A,@DPTR
 000E58 6002              JZ      ?C0078?SYS
-  414: 		{
-  415: 			m_24g_led_flag = 0;
+  411: 		{
+  412: 			m_24g_led_flag = 0;
 000E5A E4                CLR     A
 000E5B F0                MOVX    @DPTR,A
-  416: 		}	
+  413: 		}	
 000E5C         ?C0078?SYS:
-  417: 	
-  418: #ifdef PC_SLEEP_STATUS_GET	
-  419: 		if((g_variable.sleepTimer & 0x1f) == 0x10)	// search dongle each 8s
+  414: 	
+  415: #ifdef PC_SLEEP_STATUS_GET	
+  416: 		if((g_variable.sleepTimer & 0x1f) == 0x10)	// search dongle each 8s
 000E5C EF                MOV     A,R7
 000E5D 541F              ANL     A,#01FH
 000E5F 6410              XRL     A,#010H
 000E61 701E              JNZ     ?C0079?SYS
-  420: 		{
-  421: 			xmemclear(hidBuff,9);
+  417: 		{
+  418: 			xmemclear(hidBuff,9);
 000E63 7B01              MOV     R3,#01H
 000E65 7A48              MOV     R2,#HIGH hidBuff
 000E67 7900              MOV     R1,#LOW hidBuff
 000E69 7D09              MOV     R5,#09H
 000E6B FC                MOV     R4,A
 000E6C 716B              ACALL   _xmemclear
-  422: 
-  423: 			mult_key_status = 0;
+  419: 
+  420: 			mult_key_status = 0;
 000E6E E4                CLR     A
 000E6F 904E4B            MOV     DPTR,#mult_key_status
 000E72 F0                MOVX    @DPTR,A
-  424: 			hidBuff[0] = HID_REPORTID_1;		// standard key send
+  421: 			hidBuff[0] = HID_REPORTID_1;		// standard key send
 000E73 904800            MOV     DPTR,#hidBuff
 000E76 04                INC     A
 000E77 F0                MOVX    @DPTR,A
-  425: 			IPC_TxHidData(hidBuff, 9);
+  422: 			IPC_TxHidData(hidBuff, 9);
 000E78 FB                MOV     R3,A
 000E79 7A48              MOV     R2,#HIGH hidBuff
 000E7B 7900              MOV     R1,#LOW hidBuff
 000E7D 7D09              MOV     R5,#09H
 000E7F 9130              ACALL   _IPC_TxHidData
-  426: 		}
+  423: 		}
 000E81         ?C0079?SYS:
-  427: #endif	
-  428: 		if (g_variable.sleepTimer >= STANDBY_TIMER_10MIN)
+  424: #endif	
+  425: 		if (g_variable.sleepTimer >= STANDBY_TIMER_10MIN)
 000E81 C3                CLR     C
 000E82 904CE4            MOV     DPTR,#g_variable+025H
 000E85 E0                MOVX    A,@DPTR
@@ -1616,18 +1616,18 @@
 000E8B E0                MOVX    A,@DPTR
 000E8C 9404              SUBB    A,#04H
 000E8E 4039              JC      ?C0087?SYS
-  429: 		{
-  430: 			System_G24_long_lpm();
-000E90 022FAD            LJMP    System_G24_long_lpm
-  431: 		}
-  432: 	}
+  426: 		{
+  427: 			System_G24_long_lpm();
+000E90 022FB4            LJMP    System_G24_long_lpm
+  428: 		}
+  429: 	}
 000E93         ?C0077?SYS:
-  433: 	else if(g_variable.g24_currentState == CHANGE_TO_24G_PAIRING)
+  430: 	else if(g_variable.g24_currentState == CHANGE_TO_24G_PAIRING)
 000E93 904CC5            MOV     DPTR,#g_variable+06H
 000E96 E0                MOVX    A,@DPTR
 000E97 B40112            CJNE    A,#01H,?C0082?SYS
-  434: 	{
-  435: 		if (g_variable.sleepTimer >= BT_PAIRING_TIME_OUT_1MIN)
+  431: 	{
+  432: 		if (g_variable.sleepTimer >= BT_PAIRING_TIME_OUT_1MIN)
 000E9A C3                CLR     C
 000E9B 904CE4            MOV     DPTR,#g_variable+025H
 000E9E E0                MOVX    A,@DPTR
@@ -1636,15 +1636,15 @@
 000EA4 E0                MOVX    A,@DPTR
 000EA5 9400              SUBB    A,#00H
 000EA7 4020              JC      ?C0087?SYS
-  436: 		{
-  437: 			System_G24_long_lpm();
-000EA9 022FAD            LJMP    System_G24_long_lpm
-  438: 		}
-  439: 	}
+  433: 		{
+  434: 			System_G24_long_lpm();
+000EA9 022FB4            LJMP    System_G24_long_lpm
+  435: 		}
+  436: 	}
 000EAC         ?C0082?SYS:
-  440: 	else
-  441: 	{
-  442: 		if (g_variable.sleepTimer >= RECONNECT_TIMER_10S)
+  437: 	else
+  438: 	{
+  439: 		if (g_variable.sleepTimer >= RECONNECT_TIMER_10S)
 000EAC C3                CLR     C
 000EAD 904CE4            MOV     DPTR,#g_variable+025H
 000EB0 E0                MOVX    A,@DPTR
@@ -1653,25 +1653,25 @@
 000EB6 E0                MOVX    A,@DPTR
 000EB7 9400              SUBB    A,#00H
 000EB9 400E              JC      ?C0087?SYS
-  443: 		{
-  444: 			if(ble_reconnect_flag)
+  440: 		{
+  441: 			if(ble_reconnect_flag)
 000EBB 904DE5            MOV     DPTR,#ble_reconnect_flag
 000EBE E0                MOVX    A,@DPTR
 000EBF 6006              JZ      ?C0086?SYS
-  445: 			{
-  446: 				ble_reconnect_flag = 0;
+  442: 			{
+  443: 				ble_reconnect_flag = 0;
 000EC1 E4                CLR     A
 000EC2 F0                MOVX    @DPTR,A
-  447: 				IPC_TxControlCmd(IPC_CMD_STOP_ADV);
+  444: 				IPC_TxControlCmd(IPC_CMD_STOP_ADV);
 000EC3 7F0E              MOV     R7,#0EH
 000EC5 D1CA              ACALL   _IPC_TxControlCmd
-  448: 			}
+  445: 			}
 000EC7         ?C0086?SYS:
-  449: 			System_long_sleep();
+  446: 			System_long_sleep();
 000EC7 F1B2              ACALL   System_long_sleep
-  450: 		}
-  451: 	}
-  452: }
+  447: 		}
+  448: 	}
+  449: }
 000EC9         ?C0087?SYS:
 000EC9 22                RET     
 ----- FUNCTION YC_connect_timeout_500ms (END) -------
@@ -1740,7 +1740,7 @@
 000F1D E0                MOVX    A,@DPTR
 000F1E FD                MOV     R5,A
 000F1F 7B64              MOV     R3,#064H
-000F21 12339D            LCALL   _bufsize
+000F21 12337A            LCALL   _bufsize
 000F24 904EBC            MOV     DPTR,#len
 000F27 E0                MOVX    A,@DPTR
 000F28 FE                MOV     R6,A
@@ -2089,7 +2089,7 @@
 001091 B40D00            CJNE    A,#0DH,?C0258?KB_PROCESS
 001094         ?C0258?KB_PROCESS:
 001094 4002              JC      $ + 4H
-001096 4162              AJMP    ?C0025?KB_PROCESS
+001096 4138              AJMP    ?C0025?KB_PROCESS
 001098 9010A6            MOV     DPTR,#010A6H
 00109B 75F003            MOV     B,#03H
 00109E A4                MUL     AB
@@ -2101,15 +2101,15 @@
 0010A6 0210CD            LJMP    ?C0004?KB_PROCESS
 0010A9 0210CD            LJMP    ?C0004?KB_PROCESS
 0010AC 0210CD            LJMP    ?C0004?KB_PROCESS
-0010AF 021262            LJMP    ?C0025?KB_PROCESS
+0010AF 021238            LJMP    ?C0025?KB_PROCESS
 0010B2 021114            LJMP    ?C0009?KB_PROCESS
 0010B5 021156            LJMP    ?C0013?KB_PROCESS
 0010B8 02115F            LJMP    ?C0014?KB_PROCESS
-0010BB 0211AA            LJMP    ?C0016?KB_PROCESS
-0010BE 0211AA            LJMP    ?C0016?KB_PROCESS
-0010C1 021211            LJMP    ?C0020?KB_PROCESS
-0010C4 021262            LJMP    ?C0025?KB_PROCESS
-0010C7 021262            LJMP    ?C0025?KB_PROCESS
+0010BB 021180            LJMP    ?C0016?KB_PROCESS
+0010BE 021180            LJMP    ?C0016?KB_PROCESS
+0010C1 0211E7            LJMP    ?C0020?KB_PROCESS
+0010C4 021238            LJMP    ?C0025?KB_PROCESS
+0010C7 021238            LJMP    ?C0025?KB_PROCESS
 0010CA 02110F            LJMP    ?C0008?KB_PROCESS
     7: 	case KEY_RECON_0:
     8: 	case KEY_RECON_1:
@@ -2157,7 +2157,7 @@
 0010FD 120ECA            LCALL   _IPC_TxControlCmd
    22: 			Delay1ms(10);
 001100 7F0A              MOV     R7,#0AH
-001102 B1B2              ACALL   _Delay1ms
+001102 B195              ACALL   _Delay1ms
    23: 			IPC_TxControlCmd(IPC_CMD_SET_RECONNECT_INIT);
 001104 7F2A              MOV     R7,#02AH
 001106 120ECA            LCALL   _IPC_TxControlCmd
@@ -2184,10 +2184,10 @@
 001119 120F87            LCALL   YC_disconnect_all_link
 00111C EF                MOV     A,R7
 00111D 700B              JNZ     ?C0011?KB_PROCESS
-00111F F1D5              ACALL   YC_cancel_reconnect
+00111F F1B7              ACALL   YC_cancel_reconnect
 001121 EF                MOV     A,R7
 001122 7006              JNZ     ?C0011?KB_PROCESS
-001124 121801            LCALL   YC_g24_mode_discovery
+001124 121855            LCALL   YC_g24_mode_discovery
 001127 EF                MOV     A,R7
 001128 600F              JZ      ?C0010?KB_PROCESS
 00112A         ?C0011?KB_PROCESS:
@@ -2207,7 +2207,7 @@
    37: 		else
    38: 		{
    39: 			YC_clear_reconnect_flag();
-001139 F1F7              ACALL   YC_clear_reconnect_flag
+001139 F1EA              ACALL   YC_clear_reconnect_flag
    40: 				ble_send_secutiry_request_timer = 0;
 00113B E4                CLR     A
 00113C 904DD4            MOV     DPTR,#ble_send_secutiry_request_timer
@@ -2220,7 +2220,7 @@
 001147 F0                MOVX    @DPTR,A
    43: //				m_lpm_mode = 0;
    44: 				YC_get_ble_ramdon_lap();
-001148 121818            LCALL   YC_get_ble_ramdon_lap
+001148 12186C            LCALL   YC_get_ble_ramdon_lap
    45: 				IPC_TxControlCmd(IPC_CMD_START_ADV);
 00114B 7F0D              MOV     R7,#0DH
 00114D 120ECA            LCALL   _IPC_TxControlCmd
@@ -2249,7 +2249,7 @@
 001163 79EE              MOV     R1,#LOW bd_key_record_list
 001165 7D5D              MOV     R5,#05DH
 001167 7C00              MOV     R4,#00H
-001169 1234F0            LCALL   _xmemclear_ff
+001169 1234CD            LCALL   _xmemclear_ff
    55: 		g_variable.last_device_num = 0xff;
 00116C 904CC0            MOV     DPTR,#g_variable+01H
 00116F 74FF              MOV     A,#0FFH
@@ -2257,447 +2257,422 @@
    56: 		g_variable.system_mode = 0xff;
 001172 A3                INC     DPTR
 001173 F0                MOVX    @DPTR,A
-   57: 		Delay1ms(200);
-001174 7FC8              MOV     R7,#0C8H
-001176 B1B2              ACALL   _Delay1ms
-   58: 		GPIO_Setout(EEPROM_WP_GPIO,0);
-001178 C201              CLR     ?_GPIO_Setout?BIT
-00117A 7FFF              MOV     R7,#0FFH
-00117C 5168              ACALL   _GPIO_Setout
-   59: 		IIC_WriteBlock(EEPROM_RECON_INFO_BASE ,sizeof(BD_KEY_RECORD)*3 , (byte *)&bd_key_record_list);
-00117E 7B01              MOV     R3,#01H
-001180 7A4D              MOV     R2,#HIGH bd_key_record_list
-001182 79EE              MOV     R1,#LOW bd_key_record_list
-001184 7D5D              MOV     R5,#05DH
-001186 7C00              MOV     R4,#00H
-001188 7F60              MOV     R7,#060H
-00118A 7E7F              MOV     R6,#07FH
-00118C B104              ACALL   _IIC_WriteBlock
-   60: 		IIC_WriteBlock(EEPROM_RECON_INFO_LAST_DEVICE ,1 ,(byte *)&g_variable.last_device_num);
-00118E 7B01              MOV     R3,#01H
-001190 7A4C              MOV     R2,#HIGH g_variable+01H
-001192 79C0              MOV     R1,#LOW g_variable+01H
-001194 7D01              MOV     R5,#01H
-001196 7C00              MOV     R4,#00H
-001198 7FBD              MOV     R7,#0BDH
-00119A 7E7F              MOV     R6,#07FH
-00119C B104              ACALL   _IIC_WriteBlock
-   61: 		GPIO_Setout(EEPROM_WP_GPIO,1);
-00119E D201              SETB    ?_GPIO_Setout?BIT
-0011A0 7FFF              MOV     R7,#0FFH
-0011A2 5168              ACALL   _GPIO_Setout
-   62: 		g_variable.key_action = KEY_NONE;
-0011A4 E4                CLR     A
-0011A5 904CED            MOV     DPTR,#g_variable+02EH
-0011A8 F0                MOVX    @DPTR,A
-   63: 		break;
-0011A9 22                RET     
-   64: 	case KEY_START_24G:
-   65: 	case KEY_OPEN_24G:
-0011AA         ?C0016?KB_PROCESS:
-   66: 		g_variable.recon_count = 0;
-0011AA E4                CLR     A
-0011AB 904CF0            MOV     DPTR,#g_variable+031H
-0011AE F0                MOVX    @DPTR,A
-   67: 		if ( YC_cancel_reconnect())
-0011AF F1D5              ACALL   YC_cancel_reconnect
-0011B1 EF                MOV     A,R7
-0011B2 6009              JZ      ?C0017?KB_PROCESS
+   57: 		g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_BT;
+001174 904CBF            MOV     DPTR,#g_variable
+001177 7403              MOV     A,#03H
+001179 F0                MOVX    @DPTR,A
+   58: 		g_variable.key_action = KEY_NONE;
+00117A E4                CLR     A
+00117B 904CED            MOV     DPTR,#g_variable+02EH
+00117E F0                MOVX    @DPTR,A
+   59: 		break;
+00117F 22                RET     
+   60: 	case KEY_START_24G:
+   61: 	case KEY_OPEN_24G:
+001180         ?C0016?KB_PROCESS:
+   62: 		g_variable.recon_count = 0;
+001180 E4                CLR     A
+001181 904CF0            MOV     DPTR,#g_variable+031H
+001184 F0                MOVX    @DPTR,A
+   63: 		if ( YC_cancel_reconnect())
+001185 F1B7              ACALL   YC_cancel_reconnect
+001187 EF                MOV     A,R7
+001188 6009              JZ      ?C0017?KB_PROCESS
+   64: 		{
+   65: 			g_variable.key_action = key_num;
+00118A 904F02            MOV     DPTR,#key_num
+00118D E0                MOVX    A,@DPTR
+00118E 904CED            MOV     DPTR,#g_variable+02EH
+001191 F0                MOVX    @DPTR,A
+   66: 		}
+001192 22                RET     
+001193         ?C0017?KB_PROCESS:
+   67: 		else
    68: 		{
-   69: 			g_variable.key_action = key_num;
-0011B4 904F02            MOV     DPTR,#key_num
-0011B7 E0                MOVX    A,@DPTR
-0011B8 904CED            MOV     DPTR,#g_variable+02EH
-0011BB F0                MOVX    @DPTR,A
-   70: 		}
-0011BC 22                RET     
-0011BD         ?C0017?KB_PROCESS:
-   71: 		else
-   72: 		{
-   73: 			IIC_Read(EEPROM_RECON_INFO_BASE_6+2,4 , (byte *)m_24g_addr);
-0011BD 7B01              MOV     R3,#01H
-0011BF 7A4C              MOV     R2,#HIGH m_24g_addr
-0011C1 7900              MOV     R1,#LOW m_24g_addr
-0011C3 7D04              MOV     R5,#04H
-0011C5 7C00              MOV     R4,#00H
-0011C7 7F52              MOV     R7,#052H
-0011C9 7E7F              MOV     R6,#07FH
-0011CB D178              ACALL   _IIC_Read
-   74: 			Delay1ms(10);
-0011CD 7F0A              MOV     R7,#0AH
-0011CF B1B2              ACALL   _Delay1ms
-   75: 			fast_connect_flag = 0;
-0011D1 E4                CLR     A
-0011D2 904E55            MOV     DPTR,#fast_connect_flag
-0011D5 F0                MOVX    @DPTR,A
-   76: 			if (m_24g_addr[0] == 0xff && m_24g_addr[1] == 0xff && m_24g_addr[2] == 0xff && m_24g_addr[3] == 0xff)
-0011D6 904C00            MOV     DPTR,#m_24g_addr
-0011D9 E0                MOVX    A,@DPTR
-0011DA F4                CPL     A
-0011DB 7021              JNZ     ?C0019?KB_PROCESS
-0011DD A3                INC     DPTR
-0011DE E0                MOVX    A,@DPTR
-0011DF B4FF1C            CJNE    A,#0FFH,?C0019?KB_PROCESS
-0011E2 A3                INC     DPTR
-0011E3 E0                MOVX    A,@DPTR
-0011E4 B4FF17            CJNE    A,#0FFH,?C0019?KB_PROCESS
-0011E7 A3                INC     DPTR
-0011E8 E0                MOVX    A,@DPTR
-0011E9 B4FF12            CJNE    A,#0FFH,?C0019?KB_PROCESS
-   77: 			{
-   78: 				m_24g_addr[0] = 0x0f;
-0011EC 904C00            MOV     DPTR,#m_24g_addr
-0011EF 740F              MOV     A,#0FH
-0011F1 F0                MOVX    @DPTR,A
-   79: 				m_24g_addr[1] = 0x0f;
-0011F2 A3                INC     DPTR
-0011F3 F0                MOVX    @DPTR,A
-   80: 				m_24g_addr[2] = 0x0f;
-0011F4 A3                INC     DPTR
-0011F5 F0                MOVX    @DPTR,A
-   81: 				m_24g_addr[3] = 0x0f;
-0011F6 A3                INC     DPTR
-0011F7 F0                MOVX    @DPTR,A
-   82: 				fast_connect_flag = 1;
-0011F8 904E55            MOV     DPTR,#fast_connect_flag
-0011FB 7401              MOV     A,#01H
-0011FD F0                MOVX    @DPTR,A
-   83: 			}
-0011FE         ?C0019?KB_PROCESS:
-   84: 				
-   85: 			IPC_TxControlCmd(IPC_CMD_START_24G);
-0011FE 7F21              MOV     R7,#021H
-001200 120ECA            LCALL   _IPC_TxControlCmd
-   86: 			
-   87: 			g_variable.g24_currentState = CHANGE_TO_24G_CONNECTING;
-001203 904CC5            MOV     DPTR,#g_variable+06H
-001206 7402              MOV     A,#02H
-001208 F0                MOVX    @DPTR,A
-   88: 			g_variable.g24_currentSubState = CHANGE_TO_24G_SUB_NONE;
-001209 E4                CLR     A
-00120A A3                INC     DPTR
-00120B F0                MOVX    @DPTR,A
-   89: 			g_variable.key_action = KEY_NONE;
-00120C 904CED            MOV     DPTR,#g_variable+02EH
-00120F F0                MOVX    @DPTR,A
-   90: 		}
-   91: 		break;
-001210 22                RET     
-   92: 	case KEY_PAIRING_24G:
-001211         ?C0020?KB_PROCESS:
-   93: 		g_variable.recon_count = 0;
-001211 E4                CLR     A
-001212 904CF0            MOV     DPTR,#g_variable+031H
-001215 F0                MOVX    @DPTR,A
-   94: 		if (YC_disconnect_all_link() || YC_cancel_reconnect())
-001216 120F87            LCALL   YC_disconnect_all_link
-001219 EF                MOV     A,R7
-00121A 7005              JNZ     ?C0022?KB_PROCESS
-00121C F1D5              ACALL   YC_cancel_reconnect
-00121E EF                MOV     A,R7
-00121F 6009              JZ      ?C0021?KB_PROCESS
-001221         ?C0022?KB_PROCESS:
+   69: 			IIC_Read(EEPROM_RECON_INFO_BASE_6+2,4 , (byte *)m_24g_addr);
+001193 7B01              MOV     R3,#01H
+001195 7A4C              MOV     R2,#HIGH m_24g_addr
+001197 7900              MOV     R1,#LOW m_24g_addr
+001199 7D04              MOV     R5,#04H
+00119B 7C00              MOV     R4,#00H
+00119D 7F52              MOV     R7,#052H
+00119F 7E7F              MOV     R6,#07FH
+0011A1 D15B              ACALL   _IIC_Read
+   70: 			Delay1ms(10);
+0011A3 7F0A              MOV     R7,#0AH
+0011A5 B195              ACALL   _Delay1ms
+   71: 			fast_connect_flag = 0;
+0011A7 E4                CLR     A
+0011A8 904E55            MOV     DPTR,#fast_connect_flag
+0011AB F0                MOVX    @DPTR,A
+   72: 			if (m_24g_addr[0] == 0xff && m_24g_addr[1] == 0xff && m_24g_addr[2] == 0xff && m_24g_addr[3] == 0xff)
+0011AC 904C00            MOV     DPTR,#m_24g_addr
+0011AF E0                MOVX    A,@DPTR
+0011B0 F4                CPL     A
+0011B1 7021              JNZ     ?C0019?KB_PROCESS
+0011B3 A3                INC     DPTR
+0011B4 E0                MOVX    A,@DPTR
+0011B5 B4FF1C            CJNE    A,#0FFH,?C0019?KB_PROCESS
+0011B8 A3                INC     DPTR
+0011B9 E0                MOVX    A,@DPTR
+0011BA B4FF17            CJNE    A,#0FFH,?C0019?KB_PROCESS
+0011BD A3                INC     DPTR
+0011BE E0                MOVX    A,@DPTR
+0011BF B4FF12            CJNE    A,#0FFH,?C0019?KB_PROCESS
+   73: 			{
+   74: 				m_24g_addr[0] = 0x0f;
+0011C2 904C00            MOV     DPTR,#m_24g_addr
+0011C5 740F              MOV     A,#0FH
+0011C7 F0                MOVX    @DPTR,A
+   75: 				m_24g_addr[1] = 0x0f;
+0011C8 A3                INC     DPTR
+0011C9 F0                MOVX    @DPTR,A
+   76: 				m_24g_addr[2] = 0x0f;
+0011CA A3                INC     DPTR
+0011CB F0                MOVX    @DPTR,A
+   77: 				m_24g_addr[3] = 0x0f;
+0011CC A3                INC     DPTR
+0011CD F0                MOVX    @DPTR,A
+   78: 				fast_connect_flag = 1;
+0011CE 904E55            MOV     DPTR,#fast_connect_flag
+0011D1 7401              MOV     A,#01H
+0011D3 F0                MOVX    @DPTR,A
+   79: 			}
+0011D4         ?C0019?KB_PROCESS:
+   80: 				
+   81: 			IPC_TxControlCmd(IPC_CMD_START_24G);
+0011D4 7F21              MOV     R7,#021H
+0011D6 120ECA            LCALL   _IPC_TxControlCmd
+   82: 			
+   83: 			g_variable.g24_currentState = CHANGE_TO_24G_CONNECTING;
+0011D9 904CC5            MOV     DPTR,#g_variable+06H
+0011DC 7402              MOV     A,#02H
+0011DE F0                MOVX    @DPTR,A
+   84: 			g_variable.g24_currentSubState = CHANGE_TO_24G_SUB_NONE;
+0011DF E4                CLR     A
+0011E0 A3                INC     DPTR
+0011E1 F0                MOVX    @DPTR,A
+   85: 			g_variable.key_action = KEY_NONE;
+0011E2 904CED            MOV     DPTR,#g_variable+02EH
+0011E5 F0                MOVX    @DPTR,A
+   86: 		}
+   87: 		break;
+0011E6 22                RET     
+   88: 	case KEY_PAIRING_24G:
+0011E7         ?C0020?KB_PROCESS:
+   89: 		g_variable.recon_count = 0;
+0011E7 E4                CLR     A
+0011E8 904CF0            MOV     DPTR,#g_variable+031H
+0011EB F0                MOVX    @DPTR,A
+   90: 		if (YC_disconnect_all_link() || YC_cancel_reconnect())
+0011EC 120F87            LCALL   YC_disconnect_all_link
+0011EF EF                MOV     A,R7
+0011F0 7005              JNZ     ?C0022?KB_PROCESS
+0011F2 F1B7              ACALL   YC_cancel_reconnect
+0011F4 EF                MOV     A,R7
+0011F5 6009              JZ      ?C0021?KB_PROCESS
+0011F7         ?C0022?KB_PROCESS:
+   91: 		{
+   92: 			g_variable.key_action = key_num;
+0011F7 904F02            MOV     DPTR,#key_num
+0011FA E0                MOVX    A,@DPTR
+0011FB 904CED            MOV     DPTR,#g_variable+02EH
+0011FE F0                MOVX    @DPTR,A
+   93: 		}
+0011FF 22                RET     
+001200         ?C0021?KB_PROCESS:
+   94: 		else
    95: 		{
-   96: 			g_variable.key_action = key_num;
-001221 904F02            MOV     DPTR,#key_num
-001224 E0                MOVX    A,@DPTR
-001225 904CED            MOV     DPTR,#g_variable+02EH
-001228 F0                MOVX    @DPTR,A
-   97: 		}
-001229 22                RET     
-00122A         ?C0021?KB_PROCESS:
-   98: 		else
-   99: 		{
-  100: 			if (g_variable.g24_currentState != CHANGE_TO_24G_PAIRING)
-00122A 904CC5            MOV     DPTR,#g_variable+06H
-00122D E0                MOVX    A,@DPTR
-00122E 6401              XRL     A,#01H
-001230 602A              JZ      ?C0024?KB_PROCESS
-  101: 			{
-  102: 				fast_connect_flag = 0;
+   96: 			if (g_variable.g24_currentState != CHANGE_TO_24G_PAIRING)
+001200 904CC5            MOV     DPTR,#g_variable+06H
+001203 E0                MOVX    A,@DPTR
+001204 6401              XRL     A,#01H
+001206 602A              JZ      ?C0024?KB_PROCESS
+   97: 			{
+   98: 				fast_connect_flag = 0;
+001208 E4                CLR     A
+001209 904E55            MOV     DPTR,#fast_connect_flag
+00120C F0                MOVX    @DPTR,A
+   99: 				IPC_TxControlCmd(IPC_CMD_PAIR_24G);
+00120D 7F23              MOV     R7,#023H
+00120F 120ECA            LCALL   _IPC_TxControlCmd
+  100: 				g_variable.g24_currentState = CHANGE_TO_24G_PAIRING;
+001212 904CC5            MOV     DPTR,#g_variable+06H
+001215 7401              MOV     A,#01H
+001217 F0                MOVX    @DPTR,A
+  101: 				g_variable.g24_currentSubState = CHANGE_TO_24G_SUB_NONE;
+001218 E4                CLR     A
+001219 A3                INC     DPTR
+00121A F0                MOVX    @DPTR,A
+  102: 				g_variable.pairing_g24_timeout = BT_PAIRING_TIME_OUT_2MIN;
+00121B 904CEE            MOV     DPTR,#g_variable+02FH
+00121E 74F0              MOV     A,#0F0H
+001220 F0                MOVX    @DPTR,A
+  103: 				GPIO_Setout(BT2_LED_GPIO,LED_OFF);
+001221 D201              SETB    ?_GPIO_Setout?BIT
+001223 7F1E              MOV     R7,#01EH
+001225 513E              ACALL   _GPIO_Setout
+  104: 				GPIO_Setout(LOWPOWER_LED_GPIO,LED_OFF);
+001227 D201              SETB    ?_GPIO_Setout?BIT
+001229 7F1D              MOV     R7,#01DH
+00122B 513E              ACALL   _GPIO_Setout
+  105: 				g_variable.pairing_timeout = 0;
+00122D E4                CLR     A
+00122E 904CE9            MOV     DPTR,#g_variable+02AH
+001231 F0                MOVX    @DPTR,A
+  106: 			}
+001232         ?C0024?KB_PROCESS:
+  107: 			g_variable.key_action = KEY_NONE;
 001232 E4                CLR     A
-001233 904E55            MOV     DPTR,#fast_connect_flag
+001233 904CED            MOV     DPTR,#g_variable+02EH
 001236 F0                MOVX    @DPTR,A
-  103: 				IPC_TxControlCmd(IPC_CMD_PAIR_24G);
-001237 7F23              MOV     R7,#023H
-001239 120ECA            LCALL   _IPC_TxControlCmd
-  104: 				g_variable.g24_currentState = CHANGE_TO_24G_PAIRING;
-00123C 904CC5            MOV     DPTR,#g_variable+06H
-00123F 7401              MOV     A,#01H
-001241 F0                MOVX    @DPTR,A
-  105: 				g_variable.g24_currentSubState = CHANGE_TO_24G_SUB_NONE;
-001242 E4                CLR     A
-001243 A3                INC     DPTR
-001244 F0                MOVX    @DPTR,A
-  106: 				g_variable.pairing_g24_timeout = BT_PAIRING_TIME_OUT_2MIN;
-001245 904CEE            MOV     DPTR,#g_variable+02FH
-001248 74F0              MOV     A,#0F0H
-00124A F0                MOVX    @DPTR,A
-  107: 				GPIO_Setout(BT2_LED_GPIO,LED_OFF);
-00124B D201              SETB    ?_GPIO_Setout?BIT
-00124D 7F1E              MOV     R7,#01EH
-00124F 5168              ACALL   _GPIO_Setout
-  108: 				GPIO_Setout(LOWPOWER_LED_GPIO,LED_OFF);
-001251 D201              SETB    ?_GPIO_Setout?BIT
-001253 7F1D              MOV     R7,#01DH
-001255 5168              ACALL   _GPIO_Setout
-  109: 				g_variable.pairing_timeout = 0;
-001257 E4                CLR     A
-001258 904CE9            MOV     DPTR,#g_variable+02AH
-00125B F0                MOVX    @DPTR,A
-  110: 			}
-00125C         ?C0024?KB_PROCESS:
-  111: 			g_variable.key_action = KEY_NONE;
-00125C E4                CLR     A
-00125D 904CED            MOV     DPTR,#g_variable+02EH
-001260 F0                MOVX    @DPTR,A
-  112: 		}
-  113: 		break;
-001261 22                RET     
-  114: 	default:
-001262         ?C0025?KB_PROCESS:
-  115: 		g_variable.key_action = KEY_NONE;
-001262 E4                CLR     A
-001263 904CED            MOV     DPTR,#g_variable+02EH
-001266 F0                MOVX    @DPTR,A
-  116: 		break;
-  117: 	}
-  118: }
-001267 22                RET     
+  108: 		}
+  109: 		break;
+001237 22                RET     
+  110: 	default:
+001238         ?C0025?KB_PROCESS:
+  111: 		g_variable.key_action = KEY_NONE;
+001238 E4                CLR     A
+001239 904CED            MOV     DPTR,#g_variable+02EH
+00123C F0                MOVX    @DPTR,A
+  112: 		break;
+  113: 	}
+  114: }
+00123D 22                RET     
 ----- FUNCTION _YC_key_action_handle (END) -------
 
 
 ----- FUNCTION _GPIO_Setout (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
-001268 EF                MOV     A,R7
-001269 F4                CPL     A
-00126A 600D              JZ      ?C0007?GPIO
-00126C         ?C0006?GPIO:
-00126C 7B01              MOV     R3,#01H
-00126E 7A80              MOV     R2,#080H
-001270 7974              MOV     R1,#074H
-001272 A201              MOV     C,bit_val
-001274 9200              MOV     ?_gpioSetBit?BIT,C
-001276 12351D            LCALL   _gpioSetBit
-001279         ?C0007?GPIO:
-001279 22                RET     
+00123E EF                MOV     A,R7
+00123F F4                CPL     A
+001240 600C              JZ      ?C0007?GPIO
+001242         ?C0006?GPIO:
+001242 7B01              MOV     R3,#01H
+001244 7A80              MOV     R2,#080H
+001246 7974              MOV     R1,#074H
+001248 A201              MOV     C,bit_val
+00124A 9200              MOV     ?_gpioSetBit?BIT,C
+00124C F1F4              ACALL   _gpioSetBit
+00124E         ?C0007?GPIO:
+00124E 22                RET     
 ----- FUNCTION _GPIO_Setout (END) -------
 
 
 ----- FUNCTION LED_timer500ms (BEGIN) -----
  FILE: 'sys.c'
-  306: void LED_timer500ms()
-  307: {
-  308: 	if (power_on_flag != 2)
-  309: 		return;
-00127A 904DEB            MOV     DPTR,#power_on_flag
-00127D E0                MOVX    A,@DPTR
-00127E 6402              XRL     A,#02H
-001280 6002              JZ      $ + 4H
-001282 6150              AJMP    ?C0047?SYS
-001284         ?C0046?SYS:
-  310: 	if (g_variable.pairing_timeout != 0) //bt  pairing
-001284 904CE9            MOV     DPTR,#g_variable+02AH
-001287 E0                MOVX    A,@DPTR
-001288 6048              JZ      ?C0048?SYS
-  311: 	{
-  312: 		if (g_variable.button_reconnect_flag != 1)
-00128A 904CCC            MOV     DPTR,#g_variable+0DH
-00128D E0                MOVX    A,@DPTR
-00128E 6401              XRL     A,#01H
-001290 602C              JZ      ?C0049?SYS
-  313: 		{
-  314: 			if(g_variable.current_device_num == 1)
-001292 904CC3            MOV     DPTR,#g_variable+04H
-001295 E0                MOVX    A,@DPTR
-001296 B40106            CJNE    A,#01H,?C0050?SYS
-  315: 				GPIO_FlipOutBit(BT_LED_GPIO);
-001299 7F1F              MOV     R7,#01FH
-00129B 7151              ACALL   _GPIO_FlipOutBit
-00129D 8041              SJMP    ?C0056?SYS
-00129F         ?C0050?SYS:
-  316: 			else if(g_variable.current_device_num == 2)
-00129F 904CC3            MOV     DPTR,#g_variable+04H
-0012A2 E0                MOVX    A,@DPTR
-0012A3 B40206            CJNE    A,#02H,?C0052?SYS
-  317: 				GPIO_FlipOutBit(BT2_LED_GPIO);
-0012A6 7F1E              MOV     R7,#01EH
-0012A8 7151              ACALL   _GPIO_FlipOutBit
-0012AA 8034              SJMP    ?C0056?SYS
-0012AC         ?C0052?SYS:
-  318: 			else if(g_variable.current_device_num == 3)
-0012AC 904CC3            MOV     DPTR,#g_variable+04H
-0012AF E0                MOVX    A,@DPTR
-0012B0 6403              XRL     A,#03H
-0012B2 702C              JNZ     ?C0056?SYS
-  319: 			{
-  320: 				GPIO_FlipOutBit(BT_LED_GPIO);
-0012B4 7F1F              MOV     R7,#01FH
-0012B6 7151              ACALL   _GPIO_FlipOutBit
-  321: 				GPIO_FlipOutBit(LOWPOWER_LED_GPIO);
-0012B8 7F1D              MOV     R7,#01DH
-0012BA 7151              ACALL   _GPIO_FlipOutBit
-  322: 			}
-  323: 		}
-0012BC 8022              SJMP    ?C0056?SYS
-0012BE         ?C0049?SYS:
-  324: 		else
-  325: 		{
-  326: 			GPIO_Setout(BT_LED_GPIO,LED_OFF);
-0012BE D201              SETB    ?_GPIO_Setout?BIT
-0012C0 7F1F              MOV     R7,#01FH
-0012C2 5168              ACALL   _GPIO_Setout
-  327: 			GPIO_Setout(BT2_LED_GPIO,LED_OFF);
-0012C4 D201              SETB    ?_GPIO_Setout?BIT
-0012C6 7F1E              MOV     R7,#01EH
-0012C8 5168              ACALL   _GPIO_Setout
-  328: 			GPIO_Setout(LOWPOWER_LED_GPIO,LED_OFF);
-0012CA D201              SETB    ?_GPIO_Setout?BIT
-0012CC 7F1D              MOV     R7,#01DH
-0012CE 5168              ACALL   _GPIO_Setout
-  329: 		}
-  330: 	}
-0012D0 800E              SJMP    ?C0056?SYS
-0012D2         ?C0048?SYS:
-  331: 	else if (g_variable.pairing_g24_timeout != 0)
-0012D2 904CEE            MOV     DPTR,#g_variable+02FH
-0012D5 E0                MOVX    A,@DPTR
-0012D6 6008              JZ      ?C0056?SYS
-  332: 	{
-  333: 		GPIO_FlipOutBit(BT2_LED_GPIO);
-0012D8 7F1E              MOV     R7,#01EH
-0012DA 7151              ACALL   _GPIO_FlipOutBit
-  334: 		GPIO_FlipOutBit(LOWPOWER_LED_GPIO);
-0012DC 7F1D              MOV     R7,#01DH
-0012DE 7151              ACALL   _GPIO_FlipOutBit
-  335: 	}
-  336: 	else
-  337: 	{
-  338: 		
-  339: 	}
-0012E0         ?C0056?SYS:
-  340: 
-  341: 	
-  342: 	if (YC_check_is_connected())
-0012E0 120FF8            LCALL   YC_check_is_connected
-0012E3 EF                MOV     A,R7
-0012E4 606A              JZ      ?C0047?SYS
-  343: 	{
-  344: 		if(g_variable.sys_numlockled_on_timer)
-0012E6 904CE6            MOV     DPTR,#g_variable+027H
-0012E9 E0                MOVX    A,@DPTR
-0012EA 6016              JZ      ?C0060?SYS
-  345: 		{
-  346: 			g_variable.sys_numlockled_on_timer--;
-0012EC 14                DEC     A
-0012ED F0                MOVX    @DPTR,A
-  347: 			GPIO_Setout(NUM_LOCK_LED_GPIO, LED_ON);
-0012EE C201              CLR     ?_GPIO_Setout?BIT
-0012F0 7F10              MOV     R7,#010H
-0012F2 5168              ACALL   _GPIO_Setout
-  348: 			if(!g_variable.sys_numlockled_on_timer)
-0012F4 904CE6            MOV     DPTR,#g_variable+027H
-0012F7 E0                MOVX    A,@DPTR
-0012F8 700E              JNZ     ?C0062?SYS
-  349: 				GPIO_Setout(NUM_LOCK_LED_GPIO, LED_OFF);
-0012FA D201              SETB    ?_GPIO_Setout?BIT
-0012FC 7F10              MOV     R7,#010H
-0012FE 5168              ACALL   _GPIO_Setout
-  350: 		}
-001300 8006              SJMP    ?C0062?SYS
-001302         ?C0060?SYS:
-  351: 		else 
-  352: 			GPIO_Setout(NUM_LOCK_LED_GPIO, LED_OFF);
-001302 D201              SETB    ?_GPIO_Setout?BIT
-001304 7F10              MOV     R7,#010H
-001306 5168              ACALL   _GPIO_Setout
-001308         ?C0062?SYS:
-  353: 
-  354: 		if(g_variable.sys_capslockled_on_timer)
-001308 904CE7            MOV     DPTR,#g_variable+028H
-00130B E0                MOVX    A,@DPTR
-00130C 6016              JZ      ?C0063?SYS
-  355: 		{
-  356: 			g_variable.sys_capslockled_on_timer--;
-00130E 14                DEC     A
-00130F F0                MOVX    @DPTR,A
-  357: 			GPIO_Setout(CAPS_LED_GPIO, LED_ON);
-001310 C201              CLR     ?_GPIO_Setout?BIT
-001312 7F0F              MOV     R7,#0FH
-001314 5168              ACALL   _GPIO_Setout
-  358: 			if(!g_variable.sys_capslockled_on_timer)
-001316 904CE7            MOV     DPTR,#g_variable+028H
-001319 E0                MOVX    A,@DPTR
-00131A 700E              JNZ     ?C0065?SYS
-  359: 				GPIO_Setout(CAPS_LED_GPIO, LED_OFF);
-00131C D201              SETB    ?_GPIO_Setout?BIT
-00131E 7F0F              MOV     R7,#0FH
-001320 5168              ACALL   _GPIO_Setout
-  360: 		}
-001322 8006              SJMP    ?C0065?SYS
-001324         ?C0063?SYS:
-  361: 		else
-  362: 			GPIO_Setout(CAPS_LED_GPIO, LED_OFF);
-001324 D201              SETB    ?_GPIO_Setout?BIT
-001326 7F0F              MOV     R7,#0FH
-001328 5168              ACALL   _GPIO_Setout
-00132A         ?C0065?SYS:
-  363: 
-  364: 
-  365: 		if(g_variable.sys_scrolllockled_on_timer)
-00132A 904CE8            MOV     DPTR,#g_variable+029H
-00132D E0                MOVX    A,@DPTR
-00132E 6020              JZ      ?C0047?SYS
-  366: 		{
-  367: 			g_variable.sys_scrolllockled_on_timer--;
-001330 14                DEC     A
-001331 F0                MOVX    @DPTR,A
-  368: 			if(!g_variable.powerOn_timer && !g_variable.battery_low_led_flash_interval)
-001332 904CE5            MOV     DPTR,#g_variable+026H
-001335 E0                MOVX    A,@DPTR
-001336 7018              JNZ     ?C0047?SYS
-001338 904CE2            MOV     DPTR,#g_variable+023H
-00133B E0                MOVX    A,@DPTR
-00133C 7012              JNZ     ?C0047?SYS
-  369: 			{
-  370: 				GPIO_Setout(LOWPOWER_LED_GPIO, LED_ON);
-00133E C201              CLR     ?_GPIO_Setout?BIT
-001340 7F1D              MOV     R7,#01DH
-001342 5168              ACALL   _GPIO_Setout
-  371: 				if(!g_variable.sys_scrolllockled_on_timer)
-001344 904CE8            MOV     DPTR,#g_variable+029H
-001347 E0                MOVX    A,@DPTR
-001348 7006              JNZ     ?C0047?SYS
-  372: 					GPIO_Setout(LOWPOWER_LED_GPIO, LED_OFF);
-00134A D201              SETB    ?_GPIO_Setout?BIT
-00134C 7F1D              MOV     R7,#01DH
-00134E 5168              ACALL   _GPIO_Setout
-  373: 			}
-  374: 		}		
-  375: 		
-  376: 	}	
-  377: }
-001350         ?C0047?SYS:
-001350 22                RET     
+  303: void LED_timer500ms()
+  304: {
+  305: 	if (power_on_flag != 2)
+  306: 		return;
+00124F 904DEB            MOV     DPTR,#power_on_flag
+001252 E0                MOVX    A,@DPTR
+001253 6402              XRL     A,#02H
+001255 6002              JZ      $ + 4H
+001257 6125              AJMP    ?C0047?SYS
+001259         ?C0046?SYS:
+  307: 	if (g_variable.pairing_timeout != 0) //bt  pairing
+001259 904CE9            MOV     DPTR,#g_variable+02AH
+00125C E0                MOVX    A,@DPTR
+00125D 6048              JZ      ?C0048?SYS
+  308: 	{
+  309: 		if (g_variable.button_reconnect_flag != 1)
+00125F 904CCC            MOV     DPTR,#g_variable+0DH
+001262 E0                MOVX    A,@DPTR
+001263 6401              XRL     A,#01H
+001265 602C              JZ      ?C0049?SYS
+  310: 		{
+  311: 			if(g_variable.current_device_num == 1)
+001267 904CC3            MOV     DPTR,#g_variable+04H
+00126A E0                MOVX    A,@DPTR
+00126B B40106            CJNE    A,#01H,?C0050?SYS
+  312: 				GPIO_FlipOutBit(BT_LED_GPIO);
+00126E 7F1F              MOV     R7,#01FH
+001270 7126              ACALL   _GPIO_FlipOutBit
+001272 8041              SJMP    ?C0056?SYS
+001274         ?C0050?SYS:
+  313: 			else if(g_variable.current_device_num == 2)
+001274 904CC3            MOV     DPTR,#g_variable+04H
+001277 E0                MOVX    A,@DPTR
+001278 B40206            CJNE    A,#02H,?C0052?SYS
+  314: 				GPIO_FlipOutBit(BT2_LED_GPIO);
+00127B 7F1E              MOV     R7,#01EH
+00127D 7126              ACALL   _GPIO_FlipOutBit
+00127F 8034              SJMP    ?C0056?SYS
+001281         ?C0052?SYS:
+  315: 			else if(g_variable.current_device_num == 3)
+001281 904CC3            MOV     DPTR,#g_variable+04H
+001284 E0                MOVX    A,@DPTR
+001285 6403              XRL     A,#03H
+001287 702C              JNZ     ?C0056?SYS
+  316: 			{
+  317: 				GPIO_FlipOutBit(BT_LED_GPIO);
+001289 7F1F              MOV     R7,#01FH
+00128B 7126              ACALL   _GPIO_FlipOutBit
+  318: 				GPIO_FlipOutBit(LOWPOWER_LED_GPIO);
+00128D 7F1D              MOV     R7,#01DH
+00128F 7126              ACALL   _GPIO_FlipOutBit
+  319: 			}
+  320: 		}
+001291 8022              SJMP    ?C0056?SYS
+001293         ?C0049?SYS:
+  321: 		else
+  322: 		{
+  323: 			GPIO_Setout(BT_LED_GPIO,LED_OFF);
+001293 D201              SETB    ?_GPIO_Setout?BIT
+001295 7F1F              MOV     R7,#01FH
+001297 513E              ACALL   _GPIO_Setout
+  324: 			GPIO_Setout(BT2_LED_GPIO,LED_OFF);
+001299 D201              SETB    ?_GPIO_Setout?BIT
+00129B 7F1E              MOV     R7,#01EH
+00129D 513E              ACALL   _GPIO_Setout
+  325: 			GPIO_Setout(LOWPOWER_LED_GPIO,LED_OFF);
+00129F D201              SETB    ?_GPIO_Setout?BIT
+0012A1 7F1D              MOV     R7,#01DH
+0012A3 513E              ACALL   _GPIO_Setout
+  326: 		}
+  327: 	}
+0012A5 800E              SJMP    ?C0056?SYS
+0012A7         ?C0048?SYS:
+  328: 	else if (g_variable.pairing_g24_timeout != 0)
+0012A7 904CEE            MOV     DPTR,#g_variable+02FH
+0012AA E0                MOVX    A,@DPTR
+0012AB 6008              JZ      ?C0056?SYS
+  329: 	{
+  330: 		GPIO_FlipOutBit(BT2_LED_GPIO);
+0012AD 7F1E              MOV     R7,#01EH
+0012AF 7126              ACALL   _GPIO_FlipOutBit
+  331: 		GPIO_FlipOutBit(LOWPOWER_LED_GPIO);
+0012B1 7F1D              MOV     R7,#01DH
+0012B3 7126              ACALL   _GPIO_FlipOutBit
+  332: 	}
+  333: 	else
+  334: 	{
+  335: 		
+  336: 	}
+0012B5         ?C0056?SYS:
+  337: 
+  338: 	
+  339: 	if (YC_check_is_connected())
+0012B5 120FF8            LCALL   YC_check_is_connected
+0012B8 EF                MOV     A,R7
+0012B9 606A              JZ      ?C0047?SYS
+  340: 	{
+  341: 		if(g_variable.sys_numlockled_on_timer)
+0012BB 904CE6            MOV     DPTR,#g_variable+027H
+0012BE E0                MOVX    A,@DPTR
+0012BF 6016              JZ      ?C0060?SYS
+  342: 		{
+  343: 			g_variable.sys_numlockled_on_timer--;
+0012C1 14                DEC     A
+0012C2 F0                MOVX    @DPTR,A
+  344: 			GPIO_Setout(NUM_LOCK_LED_GPIO, LED_ON);
+0012C3 C201              CLR     ?_GPIO_Setout?BIT
+0012C5 7F10              MOV     R7,#010H
+0012C7 513E              ACALL   _GPIO_Setout
+  345: 			if(!g_variable.sys_numlockled_on_timer)
+0012C9 904CE6            MOV     DPTR,#g_variable+027H
+0012CC E0                MOVX    A,@DPTR
+0012CD 700E              JNZ     ?C0062?SYS
+  346: 				GPIO_Setout(NUM_LOCK_LED_GPIO, LED_OFF);
+0012CF D201              SETB    ?_GPIO_Setout?BIT
+0012D1 7F10              MOV     R7,#010H
+0012D3 513E              ACALL   _GPIO_Setout
+  347: 		}
+0012D5 8006              SJMP    ?C0062?SYS
+0012D7         ?C0060?SYS:
+  348: 		else 
+  349: 			GPIO_Setout(NUM_LOCK_LED_GPIO, LED_OFF);
+0012D7 D201              SETB    ?_GPIO_Setout?BIT
+0012D9 7F10              MOV     R7,#010H
+0012DB 513E              ACALL   _GPIO_Setout
+0012DD         ?C0062?SYS:
+  350: 
+  351: 		if(g_variable.sys_capslockled_on_timer)
+0012DD 904CE7            MOV     DPTR,#g_variable+028H
+0012E0 E0                MOVX    A,@DPTR
+0012E1 6016              JZ      ?C0063?SYS
+  352: 		{
+  353: 			g_variable.sys_capslockled_on_timer--;
+0012E3 14                DEC     A
+0012E4 F0                MOVX    @DPTR,A
+  354: 			GPIO_Setout(CAPS_LED_GPIO, LED_ON);
+0012E5 C201              CLR     ?_GPIO_Setout?BIT
+0012E7 7F0F              MOV     R7,#0FH
+0012E9 513E              ACALL   _GPIO_Setout
+  355: 			if(!g_variable.sys_capslockled_on_timer)
+0012EB 904CE7            MOV     DPTR,#g_variable+028H
+0012EE E0                MOVX    A,@DPTR
+0012EF 700E              JNZ     ?C0065?SYS
+  356: 				GPIO_Setout(CAPS_LED_GPIO, LED_OFF);
+0012F1 D201              SETB    ?_GPIO_Setout?BIT
+0012F3 7F0F              MOV     R7,#0FH
+0012F5 513E              ACALL   _GPIO_Setout
+  357: 		}
+0012F7 8006              SJMP    ?C0065?SYS
+0012F9         ?C0063?SYS:
+  358: 		else
+  359: 			GPIO_Setout(CAPS_LED_GPIO, LED_OFF);
+0012F9 D201              SETB    ?_GPIO_Setout?BIT
+0012FB 7F0F              MOV     R7,#0FH
+0012FD 513E              ACALL   _GPIO_Setout
+0012FF         ?C0065?SYS:
+  360: 
+  361: 
+  362: 		if(g_variable.sys_scrolllockled_on_timer)
+0012FF 904CE8            MOV     DPTR,#g_variable+029H
+001302 E0                MOVX    A,@DPTR
+001303 6020              JZ      ?C0047?SYS
+  363: 		{
+  364: 			g_variable.sys_scrolllockled_on_timer--;
+001305 14                DEC     A
+001306 F0                MOVX    @DPTR,A
+  365: 			if(!g_variable.powerOn_timer && !g_variable.battery_low_led_flash_interval)
+001307 904CE5            MOV     DPTR,#g_variable+026H
+00130A E0                MOVX    A,@DPTR
+00130B 7018              JNZ     ?C0047?SYS
+00130D 904CE2            MOV     DPTR,#g_variable+023H
+001310 E0                MOVX    A,@DPTR
+001311 7012              JNZ     ?C0047?SYS
+  366: 			{
+  367: 				GPIO_Setout(LOWPOWER_LED_GPIO, LED_ON);
+001313 C201              CLR     ?_GPIO_Setout?BIT
+001315 7F1D              MOV     R7,#01DH
+001317 513E              ACALL   _GPIO_Setout
+  368: 				if(!g_variable.sys_scrolllockled_on_timer)
+001319 904CE8            MOV     DPTR,#g_variable+029H
+00131C E0                MOVX    A,@DPTR
+00131D 7006              JNZ     ?C0047?SYS
+  369: 					GPIO_Setout(LOWPOWER_LED_GPIO, LED_OFF);
+00131F D201              SETB    ?_GPIO_Setout?BIT
+001321 7F1D              MOV     R7,#01DH
+001323 513E              ACALL   _GPIO_Setout
+  370: 			}
+  371: 		}		
+  372: 		
+  373: 	}	
+  374: }
+001325         ?C0047?SYS:
+001325 22                RET     
 ----- FUNCTION LED_timer500ms (END) -------
 
 
 ----- FUNCTION _GPIO_FlipOutBit (BEGIN) -----
-001351 904F0B            MOV     DPTR,#gpio_num
-001354 EF                MOV     A,R7
-001355 F0                MOVX    @DPTR,A
-001356 7B01              MOV     R3,#01H
-001358 7A80              MOV     R2,#080H
-00135A 7974              MOV     R1,#074H
-00135C 122F60            LCALL   _gpioGetBit
-00135F 9209              MOV     st,C
-001361 904F0B            MOV     DPTR,#gpio_num
-001364 E0                MOVX    A,@DPTR
-001365 FF                MOV     R7,A
-001366 A209              MOV     C,st
-001368 B3                CPL     C
-001369 9201              MOV     ?_GPIO_Setout?BIT,C
-00136B 4168              AJMP    _GPIO_Setout
+001326 904F0B            MOV     DPTR,#gpio_num
+001329 EF                MOV     A,R7
+00132A F0                MOVX    @DPTR,A
+00132B 7B01              MOV     R3,#01H
+00132D 7A80              MOV     R2,#080H
+00132F 7974              MOV     R1,#074H
+001331 122F67            LCALL   _gpioGetBit
+001334 9209              MOV     st,C
+001336 904F0B            MOV     DPTR,#gpio_num
+001339 E0                MOVX    A,@DPTR
+00133A FF                MOV     R7,A
+00133B A209              MOV     C,st
+00133D B3                CPL     C
+00133E 9201              MOV     ?_GPIO_Setout?BIT,C
+001340 413E              AJMP    _GPIO_Setout
 ----- FUNCTION _GPIO_FlipOutBit (END) -------
 
 
@@ -2707,233 +2682,233 @@
    53: {
    54: 	if (power_on_flag != 2)
    55: 		return;
-00136D 904DEB            MOV     DPTR,#power_on_flag
-001370 E0                MOVX    A,@DPTR
-001371 6402              XRL     A,#02H
-001373 6002              JZ      $ + 4H
-001375 816C              AJMP    ?C0017?LED
-001377         ?C0016?LED:
+001342 904DEB            MOV     DPTR,#power_on_flag
+001345 E0                MOVX    A,@DPTR
+001346 6402              XRL     A,#02H
+001348 6002              JZ      $ + 4H
+00134A 8141              AJMP    ?C0017?LED
+00134C         ?C0016?LED:
    56: 
    57: 	if(!g_variable.pairing_timeout && !g_variable.pairing_g24_timeout)
-001377 904CE9            MOV     DPTR,#g_variable+02AH
-00137A E0                MOVX    A,@DPTR
-00137B 6002              JZ      $ + 4H
-00137D 8166              AJMP    ?C0018?LED
-00137F 904CEE            MOV     DPTR,#g_variable+02FH
-001382 E0                MOVX    A,@DPTR
-001383 6002              JZ      $ + 4H
-001385 8166              AJMP    ?C0018?LED
+00134C 904CE9            MOV     DPTR,#g_variable+02AH
+00134F E0                MOVX    A,@DPTR
+001350 6002              JZ      $ + 4H
+001352 813B              AJMP    ?C0018?LED
+001354 904CEE            MOV     DPTR,#g_variable+02FH
+001357 E0                MOVX    A,@DPTR
+001358 6002              JZ      $ + 4H
+00135A 813B              AJMP    ?C0018?LED
    58: 	{
    59: 		//low battery LED process
    60: 		if (g_variable.battery_status == BAT_STATUS_SHUT_DOWN)
-001387 904CD5            MOV     DPTR,#g_variable+016H
-00138A E0                MOVX    A,@DPTR
-00138B B40205            CJNE    A,#02H,?C0019?LED
+00135C 904CD5            MOV     DPTR,#g_variable+016H
+00135F E0                MOVX    A,@DPTR
+001360 B40205            CJNE    A,#02H,?C0019?LED
    61: 		{
    62: 			System_long_sleep();
-00138E 120FB2            LCALL   System_long_sleep
+001363 120FB2            LCALL   System_long_sleep
    63: 		}
-001391 802E              SJMP    ?C0020?LED
-001393         ?C0019?LED:
+001366 802E              SJMP    ?C0020?LED
+001368         ?C0019?LED:
    64: 		else if (g_variable.battery_status == BAT_STATUS_LOW)
-001393 904CD5            MOV     DPTR,#g_variable+016H
-001396 E0                MOVX    A,@DPTR
-001397 B40114            CJNE    A,#01H,?C0021?LED
+001368 904CD5            MOV     DPTR,#g_variable+016H
+00136B E0                MOVX    A,@DPTR
+00136C B40114            CJNE    A,#01H,?C0021?LED
    65: 		{
    66: 			if (g_variable.battery_low_led_flash_flag == 0)
-00139A 904CF7            MOV     DPTR,#g_variable+038H
-00139D E0                MOVX    A,@DPTR
-00139E 7021              JNZ     ?C0020?LED
+00136F 904CF7            MOV     DPTR,#g_variable+038H
+001372 E0                MOVX    A,@DPTR
+001373 7021              JNZ     ?C0020?LED
    67: 			{
    68: 				g_variable.battery_low_led_flash_interval = LOW_BATTERY_FLASH_INTERVAL;
-0013A0 904CE2            MOV     DPTR,#g_variable+023H
-0013A3 7418              MOV     A,#018H
-0013A5 F0                MOVX    @DPTR,A
+001375 904CE2            MOV     DPTR,#g_variable+023H
+001378 7418              MOV     A,#018H
+00137A F0                MOVX    @DPTR,A
    69: 				g_variable.battery_low_led_flash_flag = 1;
-0013A6 904CF7            MOV     DPTR,#g_variable+038H
-0013A9 7401              MOV     A,#01H
-0013AB F0                MOVX    @DPTR,A
+00137B 904CF7            MOV     DPTR,#g_variable+038H
+00137E 7401              MOV     A,#01H
+001380 F0                MOVX    @DPTR,A
    70: 			}
    71: 		}
-0013AC 8013              SJMP    ?C0020?LED
-0013AE         ?C0021?LED:
+001381 8013              SJMP    ?C0020?LED
+001383         ?C0021?LED:
    72: 		else
    73: 		{
    74: 			if (g_variable.battery_low_led_flash_flag == 1)
-0013AE 904CF7            MOV     DPTR,#g_variable+038H
-0013B1 E0                MOVX    A,@DPTR
-0013B2 B4010C            CJNE    A,#01H,?C0020?LED
+001383 904CF7            MOV     DPTR,#g_variable+038H
+001386 E0                MOVX    A,@DPTR
+001387 B4010C            CJNE    A,#01H,?C0020?LED
    75: 			{
    76: 				g_variable.battery_low_led_flash_flag = 0;
-0013B5 E4                CLR     A
-0013B6 F0                MOVX    @DPTR,A
+00138A E4                CLR     A
+00138B F0                MOVX    @DPTR,A
    77: 				g_variable.battery_low_led_flash_interval = 0;
-0013B7 904CE2            MOV     DPTR,#g_variable+023H
-0013BA F0                MOVX    @DPTR,A
+00138C 904CE2            MOV     DPTR,#g_variable+023H
+00138F F0                MOVX    @DPTR,A
    78: 				GPIO_Setout(LOWPOWER_LED_GPIO, LED_OFF);
-0013BB D201              SETB    ?_GPIO_Setout?BIT
-0013BD 7F1D              MOV     R7,#01DH
-0013BF 5168              ACALL   _GPIO_Setout
+001390 D201              SETB    ?_GPIO_Setout?BIT
+001392 7F1D              MOV     R7,#01DH
+001394 513E              ACALL   _GPIO_Setout
    79: 			}
    80: 		}
-0013C1         ?C0020?LED:
+001396         ?C0020?LED:
    81: 
    82: 		//capslock  numlock  scrolllock LED process
    83: 		if (YC_check_is_connected())
-0013C1 120FF8            LCALL   YC_check_is_connected
-0013C4 EF                MOV     A,R7
-0013C5 7002              JNZ     $ + 4H
-0013C7 815A              AJMP    ?C0025?LED
+001396 120FF8            LCALL   YC_check_is_connected
+001399 EF                MOV     A,R7
+00139A 7002              JNZ     $ + 4H
+00139C 812F              AJMP    ?C0025?LED
    84: 		{
    85: 			if(m_caps_num_lock != m_caps_num_lock_last)
-0013C9 904DE0            MOV     DPTR,#m_caps_num_lock_last
-0013CC E0                MOVX    A,@DPTR
-0013CD FF                MOV     R7,A
-0013CE 904CB7            MOV     DPTR,#m_caps_num_lock
-0013D1 E0                MOVX    A,@DPTR
-0013D2 6F                XRL     A,R7
-0013D3 7002              JNZ     $ + 4H
-0013D5 816C              AJMP    ?C0017?LED
+00139E 904DE0            MOV     DPTR,#m_caps_num_lock_last
+0013A1 E0                MOVX    A,@DPTR
+0013A2 FF                MOV     R7,A
+0013A3 904CB7            MOV     DPTR,#m_caps_num_lock
+0013A6 E0                MOVX    A,@DPTR
+0013A7 6F                XRL     A,R7
+0013A8 7002              JNZ     $ + 4H
+0013AA 8141              AJMP    ?C0017?LED
    86: 			{
    87: 				if(m_caps_num_lock & KB_PC_KEYSEL_NUMLOCK)
-0013D7 E0                MOVX    A,@DPTR
-0013D8 30E00E            JNB     ACC.0,?C0027?LED
+0013AC E0                MOVX    A,@DPTR
+0013AD 30E00E            JNB     ACC.0,?C0027?LED
    88: 				{
    89: 					g_variable.sys_numlockled_on_timer = KB_NUM_CAPS_LED_ON_TIMER;
-0013DB 904CE6            MOV     DPTR,#g_variable+027H
-0013DE 740C              MOV     A,#0CH
-0013E0 F0                MOVX    @DPTR,A
+0013B0 904CE6            MOV     DPTR,#g_variable+027H
+0013B3 740C              MOV     A,#0CH
+0013B5 F0                MOVX    @DPTR,A
    90: 					GPIO_Setout(NUM_LOCK_LED_GPIO, LED_ON);
-0013E1 C201              CLR     ?_GPIO_Setout?BIT
-0013E3 7F10              MOV     R7,#010H
-0013E5 5168              ACALL   _GPIO_Setout
+0013B6 C201              CLR     ?_GPIO_Setout?BIT
+0013B8 7F10              MOV     R7,#010H
+0013BA 513E              ACALL   _GPIO_Setout
    91: 				}
-0013E7 800B              SJMP    ?C0028?LED
-0013E9         ?C0027?LED:
+0013BC 800B              SJMP    ?C0028?LED
+0013BE         ?C0027?LED:
    92: 				else
    93: 				{
    94: 					GPIO_Setout(NUM_LOCK_LED_GPIO, LED_OFF);
-0013E9 D201              SETB    ?_GPIO_Setout?BIT
-0013EB 7F10              MOV     R7,#010H
-0013ED 5168              ACALL   _GPIO_Setout
+0013BE D201              SETB    ?_GPIO_Setout?BIT
+0013C0 7F10              MOV     R7,#010H
+0013C2 513E              ACALL   _GPIO_Setout
    95: 					g_variable.sys_numlockled_on_timer = 0;
-0013EF E4                CLR     A
-0013F0 904CE6            MOV     DPTR,#g_variable+027H
-0013F3 F0                MOVX    @DPTR,A
+0013C4 E4                CLR     A
+0013C5 904CE6            MOV     DPTR,#g_variable+027H
+0013C8 F0                MOVX    @DPTR,A
    96: 				}
-0013F4         ?C0028?LED:
+0013C9         ?C0028?LED:
    97: 				
    98: 				if(m_caps_num_lock & KB_PC_KEYSEL_CAPSLOCK)
-0013F4 904CB7            MOV     DPTR,#m_caps_num_lock
-0013F7 E0                MOVX    A,@DPTR
-0013F8 30E10E            JNB     ACC.1,?C0029?LED
+0013C9 904CB7            MOV     DPTR,#m_caps_num_lock
+0013CC E0                MOVX    A,@DPTR
+0013CD 30E10E            JNB     ACC.1,?C0029?LED
    99: 				{
   100: 					g_variable.sys_capslockled_on_timer = KB_NUM_CAPS_LED_ON_TIMER;
-0013FB 904CE7            MOV     DPTR,#g_variable+028H
-0013FE 740C              MOV     A,#0CH
-001400 F0                MOVX    @DPTR,A
+0013D0 904CE7            MOV     DPTR,#g_variable+028H
+0013D3 740C              MOV     A,#0CH
+0013D5 F0                MOVX    @DPTR,A
   101: 					GPIO_Setout(CAPS_LED_GPIO, LED_ON);
-001401 C201              CLR     ?_GPIO_Setout?BIT
-001403 7F0F              MOV     R7,#0FH
-001405 5168              ACALL   _GPIO_Setout
+0013D6 C201              CLR     ?_GPIO_Setout?BIT
+0013D8 7F0F              MOV     R7,#0FH
+0013DA 513E              ACALL   _GPIO_Setout
   102: 				}
-001407 800B              SJMP    ?C0030?LED
-001409         ?C0029?LED:
+0013DC 800B              SJMP    ?C0030?LED
+0013DE         ?C0029?LED:
   103: 				else 
   104: 				{
   105: 					GPIO_Setout(CAPS_LED_GPIO, LED_OFF);
-001409 D201              SETB    ?_GPIO_Setout?BIT
-00140B 7F0F              MOV     R7,#0FH
-00140D 5168              ACALL   _GPIO_Setout
+0013DE D201              SETB    ?_GPIO_Setout?BIT
+0013E0 7F0F              MOV     R7,#0FH
+0013E2 513E              ACALL   _GPIO_Setout
   106: 					g_variable.sys_capslockled_on_timer = 0;
-00140F E4                CLR     A
-001410 904CE7            MOV     DPTR,#g_variable+028H
-001413 F0                MOVX    @DPTR,A
+0013E4 E4                CLR     A
+0013E5 904CE7            MOV     DPTR,#g_variable+028H
+0013E8 F0                MOVX    @DPTR,A
   107: 				}	
-001414         ?C0030?LED:
+0013E9         ?C0030?LED:
   108: 
   109: 				
   110: 				if(m_caps_num_lock & KB_PC_KEYSEL_SCROLLLOCK)
-001414 904CB7            MOV     DPTR,#m_caps_num_lock
-001417 E0                MOVX    A,@DPTR
-001418 30E21A            JNB     ACC.2,?C0031?LED
+0013E9 904CB7            MOV     DPTR,#m_caps_num_lock
+0013EC E0                MOVX    A,@DPTR
+0013ED 30E21A            JNB     ACC.2,?C0031?LED
   111: 				{
   112: 					g_variable.sys_scrolllockled_on_timer = KB_NUM_CAPS_LED_ON_TIMER;
-00141B 904CE8            MOV     DPTR,#g_variable+029H
-00141E 740C              MOV     A,#0CH
-001420 F0                MOVX    @DPTR,A
+0013F0 904CE8            MOV     DPTR,#g_variable+029H
+0013F3 740C              MOV     A,#0CH
+0013F5 F0                MOVX    @DPTR,A
   113: 					if(!g_variable.powerOn_timer && !g_variable.battery_low_led_flash_interval)
-001421 904CE5            MOV     DPTR,#g_variable+026H
-001424 E0                MOVX    A,@DPTR
-001425 7025              JNZ     ?C0033?LED
-001427 904CE2            MOV     DPTR,#g_variable+023H
-00142A E0                MOVX    A,@DPTR
-00142B 701F              JNZ     ?C0033?LED
+0013F6 904CE5            MOV     DPTR,#g_variable+026H
+0013F9 E0                MOVX    A,@DPTR
+0013FA 7025              JNZ     ?C0033?LED
+0013FC 904CE2            MOV     DPTR,#g_variable+023H
+0013FF E0                MOVX    A,@DPTR
+001400 701F              JNZ     ?C0033?LED
   114: 						GPIO_Setout(LOWPOWER_LED_GPIO, LED_ON);
-00142D C201              CLR     ?_GPIO_Setout?BIT
-00142F 7F1D              MOV     R7,#01DH
-001431 5168              ACALL   _GPIO_Setout
+001402 C201              CLR     ?_GPIO_Setout?BIT
+001404 7F1D              MOV     R7,#01DH
+001406 513E              ACALL   _GPIO_Setout
   115: 				}
-001433 8017              SJMP    ?C0033?LED
-001435         ?C0031?LED:
+001408 8017              SJMP    ?C0033?LED
+00140A         ?C0031?LED:
   116: 				else 
   117: 				{
   118: 					if(!g_variable.powerOn_timer && !g_variable.battery_low_led_flash_interval)
-001435 904CE5            MOV     DPTR,#g_variable+026H
-001438 E0                MOVX    A,@DPTR
-001439 700C              JNZ     ?C0034?LED
-00143B 904CE2            MOV     DPTR,#g_variable+023H
-00143E E0                MOVX    A,@DPTR
-00143F 7006              JNZ     ?C0034?LED
+00140A 904CE5            MOV     DPTR,#g_variable+026H
+00140D E0                MOVX    A,@DPTR
+00140E 700C              JNZ     ?C0034?LED
+001410 904CE2            MOV     DPTR,#g_variable+023H
+001413 E0                MOVX    A,@DPTR
+001414 7006              JNZ     ?C0034?LED
   119: 						GPIO_Setout(LOWPOWER_LED_GPIO, LED_OFF);
-001441 D201              SETB    ?_GPIO_Setout?BIT
-001443 7F1D              MOV     R7,#01DH
-001445 5168              ACALL   _GPIO_Setout
-001447         ?C0034?LED:
+001416 D201              SETB    ?_GPIO_Setout?BIT
+001418 7F1D              MOV     R7,#01DH
+00141A 513E              ACALL   _GPIO_Setout
+00141C         ?C0034?LED:
   120: 					g_variable.sys_scrolllockled_on_timer = 0;
-001447 E4                CLR     A
-001448 904CE8            MOV     DPTR,#g_variable+029H
-00144B F0                MOVX    @DPTR,A
+00141C E4                CLR     A
+00141D 904CE8            MOV     DPTR,#g_variable+029H
+001420 F0                MOVX    @DPTR,A
   121: 				}
-00144C         ?C0033?LED:
+001421         ?C0033?LED:
   122: 				m_24g_led_flag = 0;	
-00144C E4                CLR     A
-00144D 904D46            MOV     DPTR,#m_24g_led_flag
-001450 F0                MOVX    @DPTR,A
+001421 E4                CLR     A
+001422 904D46            MOV     DPTR,#m_24g_led_flag
+001425 F0                MOVX    @DPTR,A
   123: 				m_caps_num_lock_last = m_caps_num_lock;
-001451 904CB7            MOV     DPTR,#m_caps_num_lock
-001454 E0                MOVX    A,@DPTR
-001455 904DE0            MOV     DPTR,#m_caps_num_lock_last
-001458 F0                MOVX    @DPTR,A
+001426 904CB7            MOV     DPTR,#m_caps_num_lock
+001429 E0                MOVX    A,@DPTR
+00142A 904DE0            MOV     DPTR,#m_caps_num_lock_last
+00142D F0                MOVX    @DPTR,A
   124: 			}
   125: 		}
-001459 22                RET     
-00145A         ?C0025?LED:
+00142E 22                RET     
+00142F         ?C0025?LED:
   126: 		else
   127: 		{
   128: 			GPIO_Setout(NUM_LOCK_LED_GPIO, LED_OFF);
-00145A D201              SETB    ?_GPIO_Setout?BIT
-00145C 7F10              MOV     R7,#010H
-00145E 5168              ACALL   _GPIO_Setout
+00142F D201              SETB    ?_GPIO_Setout?BIT
+001431 7F10              MOV     R7,#010H
+001433 513E              ACALL   _GPIO_Setout
   129: 			GPIO_Setout(CAPS_LED_GPIO, LED_OFF);
-001460 D201              SETB    ?_GPIO_Setout?BIT
-001462 7F0F              MOV     R7,#0FH
-001464 4168              AJMP    _GPIO_Setout
+001435 D201              SETB    ?_GPIO_Setout?BIT
+001437 7F0F              MOV     R7,#0FH
+001439 413E              AJMP    _GPIO_Setout
   130: 		}
   131: 	}
-001466         ?C0018?LED:
+00143B         ?C0018?LED:
   132: 	else
   133: 	{
   134: 		GPIO_Setout(NUM_LOCK_LED_GPIO, LED_OFF);
-001466 D201              SETB    ?_GPIO_Setout?BIT
-001468 7F10              MOV     R7,#010H
-00146A 5168              ACALL   _GPIO_Setout
+00143B D201              SETB    ?_GPIO_Setout?BIT
+00143D 7F10              MOV     R7,#010H
+00143F 513E              ACALL   _GPIO_Setout
   135: 
   136: 	}
   137: 
   138: }
-00146C         ?C0017?LED:
-00146C 22                RET     
+001441         ?C0017?LED:
+001441 22                RET     
 ----- FUNCTION LED_handle (END) -------
 
 
@@ -2943,270 +2918,283 @@
   200: {
   201: 	if (g_variable.update_eeprom_flag)				//bt3.0  bt4.2 record information save
   202: 	{
-00146D 904CBF            MOV     DPTR,#g_variable
-001470 E0                MOVX    A,@DPTR
-001471 FF                MOV     R7,A
-001472 7002              JNZ     $ + 4H
-001474 A103              AJMP    ?C0042?BLUETOOTH
-  203: 		if (g_variable.update_eeprom_flag != EEPROM_STORE_TYPE_NORMAL)
-  204: 			Delay1ms(200);
-001476 6401              XRL     A,#01H
-001478 6004              JZ      ?C0038?BLUETOOTH
-  205: 		GPIO_Setout(EEPROM_WP_GPIO,0);
-00147A 7FC8              MOV     R7,#0C8H
-00147C B1B2              ACALL   _Delay1ms
-00147E         ?C0038?BLUETOOTH:
-  206: 		if (g_variable.update_eeprom_flag == EEPROM_STORE_TYPE_G24)
-00147E C201              CLR     ?_GPIO_Setout?BIT
-001480 7FFF              MOV     R7,#0FFH
-001482 5168              ACALL   _GPIO_Setout
-  207: 		{
-001484 904CBF            MOV     DPTR,#g_variable
-001487 E0                MOVX    A,@DPTR
-001488 6402              XRL     A,#02H
-00148A 7031              JNZ     ?C0039?BLUETOOTH
-  208: 			IIC_WriteBlock(EEPROM_RECON_INFO_BASE_6+2,4 , (byte *)m_24g_addr);
-  209: 			IIC_WriteBlock(EEPROM_RECON_INFO_G24_SYTEM_MODE ,1 ,(byte *)&g_variable.system_mode);
-00148C 7B01              MOV     R3,#01H
-00148E 7A4C              MOV     R2,#HIGH m_24g_addr
-001490 7900              MOV     R1,#LOW m_24g_addr
-001492 7D04              MOV     R5,#04H
-001494 FC                MOV     R4,A
-001495 7F52              MOV     R7,#052H
-001497 7E7F              MOV     R6,#07FH
-001499 B104              ACALL   _IIC_WriteBlock
-  210: 			IIC_WriteBlock(EEPROM_RECON_INFO_G24_FN_LOCK ,1 ,(byte *)&fn_lock_flag);
-00149B 7B01              MOV     R3,#01H
-00149D 7A4C              MOV     R2,#HIGH g_variable+02H
-00149F 79C1              MOV     R1,#LOW g_variable+02H
-0014A1 7D01              MOV     R5,#01H
-0014A3 7C00              MOV     R4,#00H
-0014A5 7F57              MOV     R7,#057H
-0014A7 7E7F              MOV     R6,#07FH
-0014A9 B104              ACALL   _IIC_WriteBlock
-  211: 		}	
-0014AB 7B01              MOV     R3,#01H
-0014AD 7A4D              MOV     R2,#HIGH fn_lock_flag
-0014AF 79E7              MOV     R1,#LOW fn_lock_flag
-0014B1 7D01              MOV     R5,#01H
-0014B3 7C00              MOV     R4,#00H
-0014B5 7F56              MOV     R7,#056H
-0014B7 7E7F              MOV     R6,#07FH
-0014B9 B104              ACALL   _IIC_WriteBlock
-  212: 		else if (g_variable.update_eeprom_flag == EEPROM_STORE_TYPE_BT)
-0014BB 8017              SJMP    ?C0040?BLUETOOTH
-0014BD         ?C0039?BLUETOOTH:
-  213: 			IIC_WriteBlock(EEPROM_RECON_INFO_BASE ,(sizeof(BD_KEY_RECORD)*3) , (byte *)&bd_key_record_list);
-0014BD 904CBF            MOV     DPTR,#g_variable
-0014C0 E0                MOVX    A,@DPTR
-0014C1 B40310            CJNE    A,#03H,?C0040?BLUETOOTH
-  214: 		
-0014C4 7B01              MOV     R3,#01H
-0014C6 7A4D              MOV     R2,#HIGH bd_key_record_list
-0014C8 79EE              MOV     R1,#LOW bd_key_record_list
-0014CA 7D5D              MOV     R5,#05DH
-0014CC 7C00              MOV     R4,#00H
-0014CE 7F60              MOV     R7,#060H
-0014D0 7E7F              MOV     R6,#07FH
-0014D2 B104              ACALL   _IIC_WriteBlock
-0014D4         ?C0040?BLUETOOTH:
-  215: 		IIC_WriteBlock(EEPROM_RECON_INFO_LAST_DEVICE ,1 ,(byte *)&g_variable.last_device_num);
-0014D4 7B01              MOV     R3,#01H
-0014D6 7A4C              MOV     R2,#HIGH g_variable+01H
-0014D8 79C0              MOV     R1,#LOW g_variable+01H
-0014DA 7D01              MOV     R5,#01H
-0014DC 7C00              MOV     R4,#00H
-0014DE 7FBD              MOV     R7,#0BDH
-0014E0 7E7F              MOV     R6,#07FH
-0014E2 B104              ACALL   _IIC_WriteBlock
-  216: 		IIC_WriteBlock(EEPROM_RECON_INFO_RAMDON_LE_LAP1 ,2 ,(byte *)&g_variable.ble_ramdon_lap1);
-0014E4 7B01              MOV     R3,#01H
-0014E6 7A4C              MOV     R2,#HIGH g_variable+033H
-0014E8 79F2              MOV     R1,#LOW g_variable+033H
-0014EA 7D02              MOV     R5,#02H
-0014EC 7C00              MOV     R4,#00H
-0014EE 7FBE              MOV     R7,#0BEH
-0014F0 7E7F              MOV     R6,#07FH
-0014F2 B104              ACALL   _IIC_WriteBlock
-  217: 
-  218: 		GPIO_Setout(EEPROM_WP_GPIO,1);
-0014F4 D201              SETB    ?_GPIO_Setout?BIT
-0014F6 7FFF              MOV     R7,#0FFH
-0014F8 5168              ACALL   _GPIO_Setout
-  219: 		Delay1ms(10);
-0014FA 7F0A              MOV     R7,#0AH
-0014FC B1B2              ACALL   _Delay1ms
-  220: 		g_variable.update_eeprom_flag = 0;
-0014FE E4                CLR     A
-0014FF 904CBF            MOV     DPTR,#g_variable
-001502 F0                MOVX    @DPTR,A
-  221: 	}
-  222: }
-001503         ?C0042?BLUETOOTH:
-001503 22                RET     
+001442 904CBF            MOV     DPTR,#g_variable
+001445 E0                MOVX    A,@DPTR
+001446 7002              JNZ     $ + 4H
+001448 81E6              AJMP    ?C0039?BLUETOOTH
+  203: 		#ifdef  ADC_ENABLE
+  204: 		if(m_adcCurrentValue < g_variable.battery_level_shutdown)
+00144A 904CE0            MOV     DPTR,#g_variable+021H
+00144D E0                MOVX    A,@DPTR
+00144E FE                MOV     R6,A
+00144F A3                INC     DPTR
+001450 E0                MOVX    A,@DPTR
+001451 FF                MOV     R7,A
+001452 C3                CLR     C
+001453 904C96            MOV     DPTR,#m_adcCurrentValue+01H
+001456 E0                MOVX    A,@DPTR
+001457 9F                SUBB    A,R7
+001458 904C95            MOV     DPTR,#m_adcCurrentValue
+00145B E0                MOVX    A,@DPTR
+00145C 9E                SUBB    A,R6
+00145D 5002              JNC     $ + 4H
+00145F 81E6              AJMP    ?C0039?BLUETOOTH
+001461         ?C0038?BLUETOOTH:
+  205: 			return;
+  206: 		#endif
+  207: 
+  208: 		GPIO_Setout(EEPROM_WP_GPIO,0);
+001461 C201              CLR     ?_GPIO_Setout?BIT
+001463 7FFF              MOV     R7,#0FFH
+001465 513E              ACALL   _GPIO_Setout
+  209: 		if (g_variable.update_eeprom_flag == EEPROM_STORE_TYPE_G24)
+001467 904CBF            MOV     DPTR,#g_variable
+00146A E0                MOVX    A,@DPTR
+00146B 6402              XRL     A,#02H
+00146D 7031              JNZ     ?C0040?BLUETOOTH
+  210: 		{
+  211: 			IIC_WriteBlock(EEPROM_RECON_INFO_BASE_6+2,4 , (byte *)m_24g_addr);
+00146F 7B01              MOV     R3,#01H
+001471 7A4C              MOV     R2,#HIGH m_24g_addr
+001473 7900              MOV     R1,#LOW m_24g_addr
+001475 7D04              MOV     R5,#04H
+001477 FC                MOV     R4,A
+001478 7F52              MOV     R7,#052H
+00147A 7E7F              MOV     R6,#07FH
+00147C 91E7              ACALL   _IIC_WriteBlock
+  212: 			IIC_WriteBlock(EEPROM_RECON_INFO_G24_SYTEM_MODE ,1 ,(byte *)&g_variable.system_mode);
+00147E 7B01              MOV     R3,#01H
+001480 7A4C              MOV     R2,#HIGH g_variable+02H
+001482 79C1              MOV     R1,#LOW g_variable+02H
+001484 7D01              MOV     R5,#01H
+001486 7C00              MOV     R4,#00H
+001488 7F57              MOV     R7,#057H
+00148A 7E7F              MOV     R6,#07FH
+00148C 91E7              ACALL   _IIC_WriteBlock
+  213: 			IIC_WriteBlock(EEPROM_RECON_INFO_G24_FN_LOCK ,1 ,(byte *)&fn_lock_flag);
+00148E 7B01              MOV     R3,#01H
+001490 7A4D              MOV     R2,#HIGH fn_lock_flag
+001492 79E7              MOV     R1,#LOW fn_lock_flag
+001494 7D01              MOV     R5,#01H
+001496 7C00              MOV     R4,#00H
+001498 7F56              MOV     R7,#056H
+00149A 7E7F              MOV     R6,#07FH
+00149C 91E7              ACALL   _IIC_WriteBlock
+  214: 		}	
+00149E 8017              SJMP    ?C0041?BLUETOOTH
+0014A0         ?C0040?BLUETOOTH:
+  215: 		else if (g_variable.update_eeprom_flag == EEPROM_STORE_TYPE_BT)
+0014A0 904CBF            MOV     DPTR,#g_variable
+0014A3 E0                MOVX    A,@DPTR
+0014A4 B40310            CJNE    A,#03H,?C0041?BLUETOOTH
+  216: 			IIC_WriteBlock(EEPROM_RECON_INFO_BASE ,(sizeof(BD_KEY_RECORD)*3) , (byte *)&bd_key_record_list);
+0014A7 7B01              MOV     R3,#01H
+0014A9 7A4D              MOV     R2,#HIGH bd_key_record_list
+0014AB 79EE              MOV     R1,#LOW bd_key_record_list
+0014AD 7D5D              MOV     R5,#05DH
+0014AF 7C00              MOV     R4,#00H
+0014B1 7F60              MOV     R7,#060H
+0014B3 7E7F              MOV     R6,#07FH
+0014B5 91E7              ACALL   _IIC_WriteBlock
+0014B7         ?C0041?BLUETOOTH:
+  217: 		
+  218: 		IIC_WriteBlock(EEPROM_RECON_INFO_LAST_DEVICE ,1 ,(byte *)&g_variable.last_device_num);
+0014B7 7B01              MOV     R3,#01H
+0014B9 7A4C              MOV     R2,#HIGH g_variable+01H
+0014BB 79C0              MOV     R1,#LOW g_variable+01H
+0014BD 7D01              MOV     R5,#01H
+0014BF 7C00              MOV     R4,#00H
+0014C1 7FBD              MOV     R7,#0BDH
+0014C3 7E7F              MOV     R6,#07FH
+0014C5 91E7              ACALL   _IIC_WriteBlock
+  219: 		IIC_WriteBlock(EEPROM_RECON_INFO_RAMDON_LE_LAP1 ,2 ,(byte *)&g_variable.ble_ramdon_lap1);
+0014C7 7B01              MOV     R3,#01H
+0014C9 7A4C              MOV     R2,#HIGH g_variable+033H
+0014CB 79F2              MOV     R1,#LOW g_variable+033H
+0014CD 7D02              MOV     R5,#02H
+0014CF 7C00              MOV     R4,#00H
+0014D1 7FBE              MOV     R7,#0BEH
+0014D3 7E7F              MOV     R6,#07FH
+0014D5 91E7              ACALL   _IIC_WriteBlock
+  220: 
+  221: 		GPIO_Setout(EEPROM_WP_GPIO,1);
+0014D7 D201              SETB    ?_GPIO_Setout?BIT
+0014D9 7FFF              MOV     R7,#0FFH
+0014DB 513E              ACALL   _GPIO_Setout
+  222: 		Delay1ms(10);
+0014DD 7F0A              MOV     R7,#0AH
+0014DF B195              ACALL   _Delay1ms
+  223: 		g_variable.update_eeprom_flag = 0;
+0014E1 E4                CLR     A
+0014E2 904CBF            MOV     DPTR,#g_variable
+0014E5 F0                MOVX    @DPTR,A
+  224: 	}
+  225: }
+0014E6         ?C0039?BLUETOOTH:
+0014E6 22                RET     
 ----- FUNCTION YC_update_eeprom_data (END) -------
 
 
 ----- FUNCTION _IIC_WriteBlock (BEGIN) -----
-001504 904E93            MOV     DPTR,#addr
-001507 EE                MOV     A,R6
-001508 F0                MOVX    @DPTR,A
-001509 A3                INC     DPTR
-00150A EF                MOV     A,R7
-00150B F0                MOVX    @DPTR,A
-00150C A3                INC     DPTR
-00150D EC                MOV     A,R4
-00150E F0                MOVX    @DPTR,A
+0014E7 904E93            MOV     DPTR,#addr
+0014EA EE                MOV     A,R6
+0014EB F0                MOVX    @DPTR,A
+0014EC A3                INC     DPTR
+0014ED EF                MOV     A,R7
+0014EE F0                MOVX    @DPTR,A
+0014EF A3                INC     DPTR
+0014F0 EC                MOV     A,R4
+0014F1 F0                MOVX    @DPTR,A
+0014F2 A3                INC     DPTR
+0014F3 ED                MOV     A,R5
+0014F4 F0                MOVX    @DPTR,A
+0014F5 A3                INC     DPTR
+0014F6 EB                MOV     A,R3
+0014F7 F0                MOVX    @DPTR,A
+0014F8 A3                INC     DPTR
+0014F9 EA                MOV     A,R2
+0014FA F0                MOVX    @DPTR,A
+0014FB A3                INC     DPTR
+0014FC E9                MOV     A,R1
+0014FD F0                MOVX    @DPTR,A
+0014FE         ?C0007?IIC:
+0014FE 904E95            MOV     DPTR,#len
+001501 E0                MOVX    A,@DPTR
+001502 7002              JNZ     ?C0012?IIC
+001504 A3                INC     DPTR
+001505 E0                MOVX    A,@DPTR
+001506         ?C0012?IIC:
+001506 7002              JNZ     $ + 4H
+001508 A194              AJMP    ?C0011?IIC
+00150A 904E93            MOV     DPTR,#addr
+00150D E0                MOVX    A,@DPTR
+00150E FE                MOV     R6,A
 00150F A3                INC     DPTR
-001510 ED                MOV     A,R5
-001511 F0                MOVX    @DPTR,A
-001512 A3                INC     DPTR
-001513 EB                MOV     A,R3
-001514 F0                MOVX    @DPTR,A
-001515 A3                INC     DPTR
-001516 EA                MOV     A,R2
-001517 F0                MOVX    @DPTR,A
-001518 A3                INC     DPTR
-001519 E9                MOV     A,R1
-00151A F0                MOVX    @DPTR,A
-00151B         ?C0007?IIC:
-00151B 904E95            MOV     DPTR,#len
-00151E E0                MOVX    A,@DPTR
-00151F 7002              JNZ     ?C0012?IIC
-001521 A3                INC     DPTR
-001522 E0                MOVX    A,@DPTR
-001523         ?C0012?IIC:
-001523 7002              JNZ     $ + 4H
-001525 A1B1              AJMP    ?C0011?IIC
-001527 904E93            MOV     DPTR,#addr
-00152A E0                MOVX    A,@DPTR
-00152B FE                MOV     R6,A
-00152C A3                INC     DPTR
-00152D E0                MOVX    A,@DPTR
-00152E FF                MOV     R7,A
-00152F 440F              ORL     A,#0FH
-001531 2401              ADD     A,#01H
-001533 FD                MOV     R5,A
-001534 E4                CLR     A
-001535 3E                ADDC    A,R6
-001536 FC                MOV     R4,A
+001510 E0                MOVX    A,@DPTR
+001511 FF                MOV     R7,A
+001512 440F              ORL     A,#0FH
+001514 2401              ADD     A,#01H
+001516 FD                MOV     R5,A
+001517 E4                CLR     A
+001518 3E                ADDC    A,R6
+001519 FC                MOV     R4,A
 ;---- Variable 'cris' assigned to Register 'R4/R5' ----
-001537 C3                CLR     C
-001538 ED                MOV     A,R5
-001539 9F                SUBB    A,R7
-00153A FF                MOV     R7,A
-00153B EC                MOV     A,R4
-00153C 9E                SUBB    A,R6
-00153D FE                MOV     R6,A
-00153E 904E9A            MOV     DPTR,#curr_len
-001541 F0                MOVX    @DPTR,A
-001542 A3                INC     DPTR
-001543 EF                MOV     A,R7
-001544 F0                MOVX    @DPTR,A
-001545 904E95            MOV     DPTR,#len
-001548 E0                MOVX    A,@DPTR
+00151A C3                CLR     C
+00151B ED                MOV     A,R5
+00151C 9F                SUBB    A,R7
+00151D FF                MOV     R7,A
+00151E EC                MOV     A,R4
+00151F 9E                SUBB    A,R6
+001520 FE                MOV     R6,A
+001521 904E9A            MOV     DPTR,#curr_len
+001524 F0                MOVX    @DPTR,A
+001525 A3                INC     DPTR
+001526 EF                MOV     A,R7
+001527 F0                MOVX    @DPTR,A
+001528 904E95            MOV     DPTR,#len
+00152B E0                MOVX    A,@DPTR
+00152C FC                MOV     R4,A
+00152D A3                INC     DPTR
+00152E E0                MOVX    A,@DPTR
+00152F FD                MOV     R5,A
+001530 D3                SETB    C
+001531 9F                SUBB    A,R7
+001532 EC                MOV     A,R4
+001533 9E                SUBB    A,R6
+001534 400A              JC      ?C0009?IIC
+001536 904E9A            MOV     DPTR,#curr_len
+001539 E0                MOVX    A,@DPTR
+00153A FE                MOV     R6,A
+00153B A3                INC     DPTR
+00153C E0                MOVX    A,@DPTR
+00153D FF                MOV     R7,A
+00153E 8004              SJMP    ?C0010?IIC
+001540         ?C0009?IIC:
+001540 AE04              MOV     R6,AR4
+001542 AF05              MOV     R7,AR5
+001544         ?C0010?IIC:
+001544 904E9A            MOV     DPTR,#curr_len
+001547 EE                MOV     A,R6
+001548 F0                MOVX    @DPTR,A
 001549 FC                MOV     R4,A
 00154A A3                INC     DPTR
-00154B E0                MOVX    A,@DPTR
-00154C FD                MOV     R5,A
-00154D D3                SETB    C
-00154E 9F                SUBB    A,R7
-00154F EC                MOV     A,R4
-001550 9E                SUBB    A,R6
-001551 400A              JC      ?C0009?IIC
-001553 904E9A            MOV     DPTR,#curr_len
-001556 E0                MOVX    A,@DPTR
-001557 FE                MOV     R6,A
-001558 A3                INC     DPTR
-001559 E0                MOVX    A,@DPTR
-00155A FF                MOV     R7,A
-00155B 8004              SJMP    ?C0010?IIC
-00155D         ?C0009?IIC:
-00155D AE04              MOV     R6,AR4
-00155F AF05              MOV     R7,AR5
-001561         ?C0010?IIC:
-001561 904E9A            MOV     DPTR,#curr_len
-001564 EE                MOV     A,R6
-001565 F0                MOVX    @DPTR,A
-001566 FC                MOV     R4,A
-001567 A3                INC     DPTR
-001568 EF                MOV     A,R7
-001569 F0                MOVX    @DPTR,A
-00156A FD                MOV     R5,A
-00156B C3                CLR     C
-00156C 904E96            MOV     DPTR,#len+01H
-00156F E0                MOVX    A,@DPTR
-001570 9D                SUBB    A,R5
-001571 F0                MOVX    @DPTR,A
-001572 904E95            MOV     DPTR,#len
-001575 E0                MOVX    A,@DPTR
-001576 9C                SUBB    A,R4
-001577 F0                MOVX    @DPTR,A
-001578 904E93            MOV     DPTR,#addr
+00154B EF                MOV     A,R7
+00154C F0                MOVX    @DPTR,A
+00154D FD                MOV     R5,A
+00154E C3                CLR     C
+00154F 904E96            MOV     DPTR,#len+01H
+001552 E0                MOVX    A,@DPTR
+001553 9D                SUBB    A,R5
+001554 F0                MOVX    @DPTR,A
+001555 904E95            MOV     DPTR,#len
+001558 E0                MOVX    A,@DPTR
+001559 9C                SUBB    A,R4
+00155A F0                MOVX    @DPTR,A
+00155B 904E93            MOV     DPTR,#addr
+00155E E0                MOVX    A,@DPTR
+00155F FE                MOV     R6,A
+001560 A3                INC     DPTR
+001561 E0                MOVX    A,@DPTR
+001562 FF                MOV     R7,A
+001563 904E97            MOV     DPTR,#pbuff
+001566 E0                MOVX    A,@DPTR
+001567 FB                MOV     R3,A
+001568 A3                INC     DPTR
+001569 E0                MOVX    A,@DPTR
+00156A FA                MOV     R2,A
+00156B A3                INC     DPTR
+00156C E0                MOVX    A,@DPTR
+00156D F9                MOV     R1,A
+00156E 123432            LCALL   _IIC_write
+001571 7F0A              MOV     R7,#0AH
+001573 B195              ACALL   _Delay1ms
+001575 904E9A            MOV     DPTR,#curr_len
+001578 E0                MOVX    A,@DPTR
+001579 FE                MOV     R6,A
+00157A A3                INC     DPTR
 00157B E0                MOVX    A,@DPTR
-00157C FE                MOV     R6,A
-00157D A3                INC     DPTR
-00157E E0                MOVX    A,@DPTR
-00157F FF                MOV     R7,A
-001580 904E97            MOV     DPTR,#pbuff
-001583 E0                MOVX    A,@DPTR
-001584 FB                MOV     R3,A
-001585 A3                INC     DPTR
-001586 E0                MOVX    A,@DPTR
-001587 FA                MOV     R2,A
-001588 A3                INC     DPTR
+00157C FF                MOV     R7,A
+00157D 904E98            MOV     DPTR,#pbuff+01H
+001580 EE                MOV     A,R6
+001581 8FF0              MOV     B,R7
+001583 12040E            LCALL   ?C?IILDX
+001586 904E94            MOV     DPTR,#addr+01H
 001589 E0                MOVX    A,@DPTR
-00158A F9                MOV     R1,A
-00158B 123455            LCALL   _IIC_write
-00158E 7F0A              MOV     R7,#0AH
-001590 B1B2              ACALL   _Delay1ms
-001592 904E9A            MOV     DPTR,#curr_len
-001595 E0                MOVX    A,@DPTR
-001596 FE                MOV     R6,A
-001597 A3                INC     DPTR
-001598 E0                MOVX    A,@DPTR
-001599 FF                MOV     R7,A
-00159A 904E98            MOV     DPTR,#pbuff+01H
-00159D EE                MOV     A,R6
-00159E 8FF0              MOV     B,R7
-0015A0 12040E            LCALL   ?C?IILDX
-0015A3 904E94            MOV     DPTR,#addr+01H
-0015A6 E0                MOVX    A,@DPTR
-0015A7 2F                ADD     A,R7
-0015A8 F0                MOVX    @DPTR,A
-0015A9 904E93            MOV     DPTR,#addr
-0015AC E0                MOVX    A,@DPTR
-0015AD 3E                ADDC    A,R6
-0015AE F0                MOVX    @DPTR,A
-0015AF A11B              AJMP    ?C0007?IIC
-0015B1         ?C0011?IIC:
-0015B1 22                RET     
+00158A 2F                ADD     A,R7
+00158B F0                MOVX    @DPTR,A
+00158C 904E93            MOV     DPTR,#addr
+00158F E0                MOVX    A,@DPTR
+001590 3E                ADDC    A,R6
+001591 F0                MOVX    @DPTR,A
+001592 81FE              AJMP    ?C0007?IIC
+001594         ?C0011?IIC:
+001594 22                RET     
 ----- FUNCTION _IIC_WriteBlock (END) -------
 
 
 ----- FUNCTION _Delay1ms (BEGIN) -----
 ;---- Variable 'Time' assigned to Register 'R7' ----
-0015B2         ?C0014?UTILITIES:
-0015B2 EF                MOV     A,R7
-0015B3 D3                SETB    C
-0015B4 9400              SUBB    A,#00H
-0015B6 4011              JC      ?C0020?UTILITIES
+001595         ?C0014?UTILITIES:
+001595 EF                MOV     A,R7
+001596 D3                SETB    C
+001597 9400              SUBB    A,#00H
+001599 4011              JC      ?C0020?UTILITIES
 ;---- Variable 'j' assigned to Register 'R4/R5' ----
-0015B8 E4                CLR     A
-0015B9 FD                MOV     R5,A
-0015BA FC                MOV     R4,A
-0015BB         ?C0017?UTILITIES:
-0015BB 0D                INC     R5
-0015BC BD0001            CJNE    R5,#00H,?C0028?UTILITIES
-0015BF 0C                INC     R4
-0015C0         ?C0028?UTILITIES:
-0015C0 BC04F8            CJNE    R4,#04H,?C0017?UTILITIES
-0015C3 BDA6F5            CJNE    R5,#0A6H,?C0017?UTILITIES
-0015C6         ?C0016?UTILITIES:
-0015C6 1F                DEC     R7
-0015C7 80E9              SJMP    ?C0014?UTILITIES
-0015C9         ?C0020?UTILITIES:
-0015C9 22                RET     
+00159B E4                CLR     A
+00159C FD                MOV     R5,A
+00159D FC                MOV     R4,A
+00159E         ?C0017?UTILITIES:
+00159E 0D                INC     R5
+00159F BD0001            CJNE    R5,#00H,?C0028?UTILITIES
+0015A2 0C                INC     R4
+0015A3         ?C0028?UTILITIES:
+0015A3 BC04F8            CJNE    R4,#04H,?C0017?UTILITIES
+0015A6 BDA6F5            CJNE    R5,#0A6H,?C0017?UTILITIES
+0015A9         ?C0016?UTILITIES:
+0015A9 1F                DEC     R7
+0015AA 80E9              SJMP    ?C0014?UTILITIES
+0015AC         ?C0020?UTILITIES:
+0015AC 22                RET     
 ----- FUNCTION _Delay1ms (END) -------
 
 
@@ -3216,278 +3204,278 @@
   154: {
   155: 	power_on_flag = 2;
   156: 	IIC_Read(EEPROM_RECON_INFO_BASE ,sizeof(BD_KEY_RECORD)*3, (byte *)bd_key_record_list);
-0015CA 904DEB            MOV     DPTR,#power_on_flag
-0015CD 7402              MOV     A,#02H
-0015CF F0                MOVX    @DPTR,A
+0015AD 904DEB            MOV     DPTR,#power_on_flag
+0015B0 7402              MOV     A,#02H
+0015B2 F0                MOVX    @DPTR,A
   157: 	Delay1ms(10);
-0015D0 7B01              MOV     R3,#01H
-0015D2 7A4D              MOV     R2,#HIGH bd_key_record_list
-0015D4 79EE              MOV     R1,#LOW bd_key_record_list
-0015D6 7D5D              MOV     R5,#05DH
-0015D8 7C00              MOV     R4,#00H
-0015DA 7F60              MOV     R7,#060H
-0015DC 7E7F              MOV     R6,#07FH
-0015DE D178              ACALL   _IIC_Read
+0015B3 7B01              MOV     R3,#01H
+0015B5 7A4D              MOV     R2,#HIGH bd_key_record_list
+0015B7 79EE              MOV     R1,#LOW bd_key_record_list
+0015B9 7D5D              MOV     R5,#05DH
+0015BB 7C00              MOV     R4,#00H
+0015BD 7F60              MOV     R7,#060H
+0015BF 7E7F              MOV     R6,#07FH
+0015C1 D15B              ACALL   _IIC_Read
   158: 	IIC_Read(EEPROM_RECON_INFO_BASE_6+2,4 , (byte *)m_24g_addr);
-0015E0 7F0A              MOV     R7,#0AH
-0015E2 B1B2              ACALL   _Delay1ms
+0015C3 7F0A              MOV     R7,#0AH
+0015C5 B195              ACALL   _Delay1ms
   159: 	Delay1ms(10);
-0015E4 7B01              MOV     R3,#01H
-0015E6 7A4C              MOV     R2,#HIGH m_24g_addr
-0015E8 7900              MOV     R1,#LOW m_24g_addr
-0015EA 7D04              MOV     R5,#04H
-0015EC 7C00              MOV     R4,#00H
-0015EE 7F52              MOV     R7,#052H
-0015F0 7E7F              MOV     R6,#07FH
-0015F2 D178              ACALL   _IIC_Read
+0015C7 7B01              MOV     R3,#01H
+0015C9 7A4C              MOV     R2,#HIGH m_24g_addr
+0015CB 7900              MOV     R1,#LOW m_24g_addr
+0015CD 7D04              MOV     R5,#04H
+0015CF 7C00              MOV     R4,#00H
+0015D1 7F52              MOV     R7,#052H
+0015D3 7E7F              MOV     R6,#07FH
+0015D5 D15B              ACALL   _IIC_Read
   160: 	IIC_Read(EEPROM_RECON_INFO_G24_FN_LOCK ,1 ,(byte *)&fn_lock_flag);
-0015F4 7F0A              MOV     R7,#0AH
-0015F6 B1B2              ACALL   _Delay1ms
+0015D7 7F0A              MOV     R7,#0AH
+0015D9 B195              ACALL   _Delay1ms
   161: 	Delay1ms(10);
-0015F8 7B01              MOV     R3,#01H
-0015FA 7A4D              MOV     R2,#HIGH fn_lock_flag
-0015FC 79E7              MOV     R1,#LOW fn_lock_flag
-0015FE 7D01              MOV     R5,#01H
-001600 7C00              MOV     R4,#00H
-001602 7F56              MOV     R7,#056H
-001604 7E7F              MOV     R6,#07FH
-001606 D178              ACALL   _IIC_Read
+0015DB 7B01              MOV     R3,#01H
+0015DD 7A4D              MOV     R2,#HIGH fn_lock_flag
+0015DF 79E7              MOV     R1,#LOW fn_lock_flag
+0015E1 7D01              MOV     R5,#01H
+0015E3 7C00              MOV     R4,#00H
+0015E5 7F56              MOV     R7,#056H
+0015E7 7E7F              MOV     R6,#07FH
+0015E9 D15B              ACALL   _IIC_Read
   162: 	IIC_Read(EEPROM_RECON_INFO_G24_SYTEM_MODE ,1 ,(byte *)&g_variable.system_mode);
-001608 7F0A              MOV     R7,#0AH
-00160A B1B2              ACALL   _Delay1ms
+0015EB 7F0A              MOV     R7,#0AH
+0015ED B195              ACALL   _Delay1ms
   163: 	Delay1ms(10);
-00160C 7B01              MOV     R3,#01H
-00160E 7A4C              MOV     R2,#HIGH g_variable+02H
-001610 79C1              MOV     R1,#LOW g_variable+02H
-001612 7D01              MOV     R5,#01H
-001614 7C00              MOV     R4,#00H
-001616 7F57              MOV     R7,#057H
-001618 7E7F              MOV     R6,#07FH
-00161A D178              ACALL   _IIC_Read
+0015EF 7B01              MOV     R3,#01H
+0015F1 7A4C              MOV     R2,#HIGH g_variable+02H
+0015F3 79C1              MOV     R1,#LOW g_variable+02H
+0015F5 7D01              MOV     R5,#01H
+0015F7 7C00              MOV     R4,#00H
+0015F9 7F57              MOV     R7,#057H
+0015FB 7E7F              MOV     R6,#07FH
+0015FD D15B              ACALL   _IIC_Read
   164: 	
-00161C 7F0A              MOV     R7,#0AH
-00161E B1B2              ACALL   _Delay1ms
+0015FF 7F0A              MOV     R7,#0AH
+001601 B195              ACALL   _Delay1ms
   165: 	if (g_variable.current_device_num <= 3 && g_variable.current_device_num >= 1)
-001620 904CC3            MOV     DPTR,#g_variable+04H
-001623 E0                MOVX    A,@DPTR
-001624 FF                MOV     R7,A
-001625 D3                SETB    C
-001626 9403              SUBB    A,#03H
-001628 5033              JNC     ?C0031?BLUETOOTH
-00162A EF                MOV     A,R7
-00162B C3                CLR     C
-00162C 9401              SUBB    A,#01H
-00162E 402D              JC      ?C0031?BLUETOOTH
+001603 904CC3            MOV     DPTR,#g_variable+04H
+001606 E0                MOVX    A,@DPTR
+001607 FF                MOV     R7,A
+001608 D3                SETB    C
+001609 9403              SUBB    A,#03H
+00160B 5033              JNC     ?C0031?BLUETOOTH
+00160D EF                MOV     A,R7
+00160E C3                CLR     C
+00160F 9401              SUBB    A,#01H
+001611 402D              JC      ?C0031?BLUETOOTH
   166: 	{
   167: 		g_variable.system_mode = bd_key_record_list[g_variable.current_device_num - 1].system_mode;
-001630 EF                MOV     A,R7
-001631 75F01F            MOV     B,#01FH
-001634 A4                MUL     AB
-001635 24EC              ADD     A,#LOW bd_key_record_list-02H
-001637 F582              MOV     DPL,A
-001639 E4                CLR     A
-00163A 344D              ADDC    A,#HIGH bd_key_record_list-02H
-00163C F583              MOV     DPH,A
-00163E E0                MOVX    A,@DPTR
-00163F 904CC1            MOV     DPTR,#g_variable+02H
-001642 F0                MOVX    @DPTR,A
+001613 EF                MOV     A,R7
+001614 75F01F            MOV     B,#01FH
+001617 A4                MUL     AB
+001618 24EC              ADD     A,#LOW bd_key_record_list-02H
+00161A F582              MOV     DPL,A
+00161C E4                CLR     A
+00161D 344D              ADDC    A,#HIGH bd_key_record_list-02H
+00161F F583              MOV     DPH,A
+001621 E0                MOVX    A,@DPTR
+001622 904CC1            MOV     DPTR,#g_variable+02H
+001625 F0                MOVX    @DPTR,A
   168: 		fn_lock_flag = bd_key_record_list[g_variable.current_device_num - 1].fn_lock; 
-001643 904CC3            MOV     DPTR,#g_variable+04H
-001646 E0                MOVX    A,@DPTR
-001647 75F01F            MOV     B,#01FH
-00164A A4                MUL     AB
-00164B 24ED              ADD     A,#LOW bd_key_record_list-01H
-00164D F582              MOV     DPL,A
-00164F E4                CLR     A
-001650 344D              ADDC    A,#HIGH bd_key_record_list-01H
-001652 F583              MOV     DPH,A
-001654 E0                MOVX    A,@DPTR
-001655 904DE7            MOV     DPTR,#fn_lock_flag
-001658 F0                MOVX    @DPTR,A
+001626 904CC3            MOV     DPTR,#g_variable+04H
+001629 E0                MOVX    A,@DPTR
+00162A 75F01F            MOV     B,#01FH
+00162D A4                MUL     AB
+00162E 24ED              ADD     A,#LOW bd_key_record_list-01H
+001630 F582              MOV     DPL,A
+001632 E4                CLR     A
+001633 344D              ADDC    A,#HIGH bd_key_record_list-01H
+001635 F583              MOV     DPH,A
+001637 E0                MOVX    A,@DPTR
+001638 904DE7            MOV     DPTR,#fn_lock_flag
+00163B F0                MOVX    @DPTR,A
   169: 		YC_key_action_handle(g_variable.current_device_num);
-001659 118B              ACALL   _YC_key_action_handle
+00163C 118B              ACALL   _YC_key_action_handle
   170: 	}
-00165B 8004              SJMP    ?C0032?BLUETOOTH
-00165D         ?C0031?BLUETOOTH:
+00163E 8004              SJMP    ?C0032?BLUETOOTH
+001640         ?C0031?BLUETOOTH:
   171: 	else	
   172: 	{	
   173: 		YC_key_action_handle(KEY_START_24G);
-00165D 7F08              MOV     R7,#08H
-00165F 118B              ACALL   _YC_key_action_handle
+001640 7F08              MOV     R7,#08H
+001642 118B              ACALL   _YC_key_action_handle
   174: 	}
-001661         ?C0032?BLUETOOTH:
+001644         ?C0032?BLUETOOTH:
   175: 	if(fn_lock_flag > 1)
-001661 904DE7            MOV     DPTR,#fn_lock_flag
-001664 E0                MOVX    A,@DPTR
-001665 D3                SETB    C
-001666 9401              SUBB    A,#01H
-001668 4002              JC      ?C0033?BLUETOOTH
+001644 904DE7            MOV     DPTR,#fn_lock_flag
+001647 E0                MOVX    A,@DPTR
+001648 D3                SETB    C
+001649 9401              SUBB    A,#01H
+00164B 4002              JC      ?C0033?BLUETOOTH
   176: 		fn_lock_flag = 0;
-00166A E4                CLR     A
-00166B F0                MOVX    @DPTR,A
-00166C         ?C0033?BLUETOOTH:
+00164D E4                CLR     A
+00164E F0                MOVX    @DPTR,A
+00164F         ?C0033?BLUETOOTH:
   177: 	if(g_variable.system_mode > OSMODE_IOS)
-00166C 904CC1            MOV     DPTR,#g_variable+02H
-00166F E0                MOVX    A,@DPTR
-001670 D3                SETB    C
-001671 9402              SUBB    A,#02H
-001673 4002              JC      ?C0035?BLUETOOTH
+00164F 904CC1            MOV     DPTR,#g_variable+02H
+001652 E0                MOVX    A,@DPTR
+001653 D3                SETB    C
+001654 9402              SUBB    A,#02H
+001656 4002              JC      ?C0035?BLUETOOTH
   178: 	{
   179: 		g_variable.system_mode = OSMODE_WINDOWS;
-001675 E4                CLR     A
-001676 F0                MOVX    @DPTR,A
+001658 E4                CLR     A
+001659 F0                MOVX    @DPTR,A
   180: 	}	
   181: }
-001677         ?C0035?BLUETOOTH:
-001677 22                RET     
+00165A         ?C0035?BLUETOOTH:
+00165A 22                RET     
 ----- FUNCTION YC_start_reconnect (END) -------
 
 
 ----- FUNCTION _IIC_Read (BEGIN) -----
-001678 904ECF            MOV     DPTR,#len
-00167B EC                MOV     A,R4
-00167C F0                MOVX    @DPTR,A
-00167D A3                INC     DPTR
-00167E ED                MOV     A,R5
-00167F F0                MOVX    @DPTR,A
-001680 A3                INC     DPTR
-001681 EB                MOV     A,R3
-001682 F0                MOVX    @DPTR,A
-001683 A3                INC     DPTR
-001684 EA                MOV     A,R2
-001685 F0                MOVX    @DPTR,A
-001686 A3                INC     DPTR
-001687 E9                MOV     A,R1
-001688 F0                MOVX    @DPTR,A
+00165B 904ECF            MOV     DPTR,#len
+00165E EC                MOV     A,R4
+00165F F0                MOVX    @DPTR,A
+001660 A3                INC     DPTR
+001661 ED                MOV     A,R5
+001662 F0                MOVX    @DPTR,A
+001663 A3                INC     DPTR
+001664 EB                MOV     A,R3
+001665 F0                MOVX    @DPTR,A
+001666 A3                INC     DPTR
+001667 EA                MOV     A,R2
+001668 F0                MOVX    @DPTR,A
+001669 A3                INC     DPTR
+00166A E9                MOV     A,R1
+00166B F0                MOVX    @DPTR,A
 ;---- Variable 'addr' assigned to Register 'R6/R7' ----
 ;---- Variable 'mem_src' assigned to Register 'R6/R7' ----
-001689 908098            MOV     DPTR,#08098H
-00168C 7404              MOV     A,#04H
-00168E F0                MOVX    @DPTR,A
-00168F A3                INC     DPTR
-001690 E4                CLR     A
-001691 F0                MOVX    @DPTR,A
-001692 900CAF            MOV     DPTR,#YC_IICDTbuf
-001695 74A0              MOV     A,#0A0H
-001697 F0                MOVX    @DPTR,A
-001698 A3                INC     DPTR
-001699 EE                MOV     A,R6
-00169A F0                MOVX    @DPTR,A
-00169B A3                INC     DPTR
-00169C EF                MOV     A,R7
-00169D F0                MOVX    @DPTR,A
-00169E 900CB2            MOV     DPTR,#YC_IICDTbuf+03H
-0016A1 74A1              MOV     A,#0A1H
-0016A3 F0                MOVX    @DPTR,A
-0016A4 7A0C              MOV     R2,#HIGH YC_IICDTbuf
-0016A6 79AF              MOV     R1,#LOW YC_IICDTbuf
-0016A8 7E0C              MOV     R6,#HIGH YC_IICDTbuf
-0016AA 7FAF              MOV     R7,#LOW YC_IICDTbuf
-0016AC 74AF              MOV     A,#LOW YC_IICDTbuf
-0016AE FC                MOV     R4,A
-0016AF 740C              MOV     A,#HIGH YC_IICDTbuf
-0016B1 FF                MOV     R7,A
-0016B2 EC                MOV     A,R4
-0016B3 FE                MOV     R6,A
-0016B4 EF                MOV     A,R7
-0016B5 90809A            MOV     DPTR,#0809AH
-0016B8 EE                MOV     A,R6
-0016B9 F0                MOVX    @DPTR,A
-0016BA A3                INC     DPTR
-0016BB EF                MOV     A,R7
-0016BC F0                MOVX    @DPTR,A
-0016BD 904ECF            MOV     DPTR,#len
-0016C0 E0                MOVX    A,@DPTR
-0016C1 FC                MOV     R4,A
-0016C2 A3                INC     DPTR
-0016C3 E0                MOVX    A,@DPTR
-0016C4 FA                MOV     R2,A
-0016C5 EC                MOV     A,R4
-0016C6 FF                MOV     R7,A
-0016C7 EA                MOV     A,R2
-0016C8 FE                MOV     R6,A
-0016C9 EF                MOV     A,R7
-0016CA 90809E            MOV     DPTR,#0809EH
-0016CD EE                MOV     A,R6
-0016CE F0                MOVX    @DPTR,A
-0016CF A3                INC     DPTR
-0016D0 EF                MOV     A,R7
-0016D1 F0                MOVX    @DPTR,A
-0016D2 7A0B              MOV     R2,#HIGH IIC_TempBuff
-0016D4 7983              MOV     R1,#LOW IIC_TempBuff
-0016D6 7E0B              MOV     R6,#HIGH IIC_TempBuff
-0016D8 7F83              MOV     R7,#LOW IIC_TempBuff
-0016DA 7483              MOV     A,#LOW IIC_TempBuff
-0016DC FC                MOV     R4,A
-0016DD 740B              MOV     A,#HIGH IIC_TempBuff
-0016DF FF                MOV     R7,A
-0016E0 EC                MOV     A,R4
-0016E1 FE                MOV     R6,A
-0016E2 EF                MOV     A,R7
-0016E3 90809C            MOV     DPTR,#0809CH
-0016E6 EE                MOV     A,R6
-0016E7 F0                MOVX    @DPTR,A
-0016E8 A3                INC     DPTR
-0016E9 EF                MOV     A,R7
-0016EA F0                MOVX    @DPTR,A
-0016EB 908090            MOV     DPTR,#08090H
-0016EE 7402              MOV     A,#02H
-0016F0 F0                MOVX    @DPTR,A
-0016F1 90809C            MOV     DPTR,#0809CH
-0016F4 A3                INC     DPTR
-0016F5 E0                MOVX    A,@DPTR
-0016F6 20E707            JB      ACC.7,?C0004?IIC
-0016F9 908090            MOV     DPTR,#08090H
-0016FC E0                MOVX    A,@DPTR
-0016FD 4401              ORL     A,#01H
-0016FF F0                MOVX    @DPTR,A
-001700         ?C0004?IIC:
-001700 908006            MOV     DPTR,#08006H
+00166C 908098            MOV     DPTR,#08098H
+00166F 7404              MOV     A,#04H
+001671 F0                MOVX    @DPTR,A
+001672 A3                INC     DPTR
+001673 E4                CLR     A
+001674 F0                MOVX    @DPTR,A
+001675 900CAF            MOV     DPTR,#YC_IICDTbuf
+001678 74A0              MOV     A,#0A0H
+00167A F0                MOVX    @DPTR,A
+00167B A3                INC     DPTR
+00167C EE                MOV     A,R6
+00167D F0                MOVX    @DPTR,A
+00167E A3                INC     DPTR
+00167F EF                MOV     A,R7
+001680 F0                MOVX    @DPTR,A
+001681 900CB2            MOV     DPTR,#YC_IICDTbuf+03H
+001684 74A1              MOV     A,#0A1H
+001686 F0                MOVX    @DPTR,A
+001687 7A0C              MOV     R2,#HIGH YC_IICDTbuf
+001689 79AF              MOV     R1,#LOW YC_IICDTbuf
+00168B 7E0C              MOV     R6,#HIGH YC_IICDTbuf
+00168D 7FAF              MOV     R7,#LOW YC_IICDTbuf
+00168F 74AF              MOV     A,#LOW YC_IICDTbuf
+001691 FC                MOV     R4,A
+001692 740C              MOV     A,#HIGH YC_IICDTbuf
+001694 FF                MOV     R7,A
+001695 EC                MOV     A,R4
+001696 FE                MOV     R6,A
+001697 EF                MOV     A,R7
+001698 90809A            MOV     DPTR,#0809AH
+00169B EE                MOV     A,R6
+00169C F0                MOVX    @DPTR,A
+00169D A3                INC     DPTR
+00169E EF                MOV     A,R7
+00169F F0                MOVX    @DPTR,A
+0016A0 904ECF            MOV     DPTR,#len
+0016A3 E0                MOVX    A,@DPTR
+0016A4 FC                MOV     R4,A
+0016A5 A3                INC     DPTR
+0016A6 E0                MOVX    A,@DPTR
+0016A7 FA                MOV     R2,A
+0016A8 EC                MOV     A,R4
+0016A9 FF                MOV     R7,A
+0016AA EA                MOV     A,R2
+0016AB FE                MOV     R6,A
+0016AC EF                MOV     A,R7
+0016AD 90809E            MOV     DPTR,#0809EH
+0016B0 EE                MOV     A,R6
+0016B1 F0                MOVX    @DPTR,A
+0016B2 A3                INC     DPTR
+0016B3 EF                MOV     A,R7
+0016B4 F0                MOVX    @DPTR,A
+0016B5 7A0B              MOV     R2,#HIGH IIC_TempBuff
+0016B7 7983              MOV     R1,#LOW IIC_TempBuff
+0016B9 7E0B              MOV     R6,#HIGH IIC_TempBuff
+0016BB 7F83              MOV     R7,#LOW IIC_TempBuff
+0016BD 7483              MOV     A,#LOW IIC_TempBuff
+0016BF FC                MOV     R4,A
+0016C0 740B              MOV     A,#HIGH IIC_TempBuff
+0016C2 FF                MOV     R7,A
+0016C3 EC                MOV     A,R4
+0016C4 FE                MOV     R6,A
+0016C5 EF                MOV     A,R7
+0016C6 90809C            MOV     DPTR,#0809CH
+0016C9 EE                MOV     A,R6
+0016CA F0                MOVX    @DPTR,A
+0016CB A3                INC     DPTR
+0016CC EF                MOV     A,R7
+0016CD F0                MOVX    @DPTR,A
+0016CE 908090            MOV     DPTR,#08090H
+0016D1 7402              MOV     A,#02H
+0016D3 F0                MOVX    @DPTR,A
+0016D4 90809C            MOV     DPTR,#0809CH
+0016D7 A3                INC     DPTR
+0016D8 E0                MOVX    A,@DPTR
+0016D9 20E707            JB      ACC.7,?C0004?IIC
+0016DC 908090            MOV     DPTR,#08090H
+0016DF E0                MOVX    A,@DPTR
+0016E0 4401              ORL     A,#01H
+0016E2 F0                MOVX    @DPTR,A
+0016E3         ?C0004?IIC:
+0016E3 908006            MOV     DPTR,#08006H
+0016E6 E0                MOVX    A,@DPTR
+0016E7 4404              ORL     A,#04H
+0016E9 F0                MOVX    @DPTR,A
+0016EA F1DA              ACALL   IIcWaitDone
+0016EC 904ED1            MOV     DPTR,#pbuff
+0016EF E0                MOVX    A,@DPTR
+0016F0 A3                INC     DPTR
+0016F1 E0                MOVX    A,@DPTR
+0016F2 FA                MOV     R2,A
+0016F3 A3                INC     DPTR
+0016F4 E0                MOVX    A,@DPTR
+0016F5 AE02              MOV     R6,AR2
+0016F7 FF                MOV     R7,A
+0016F8 7B01              MOV     R3,#01H
+0016FA 7A0B              MOV     R2,#HIGH IIC_TempBuff
+0016FC 7983              MOV     R1,#LOW IIC_TempBuff
+0016FE 904ECF            MOV     DPTR,#len
+001701 E0                MOVX    A,@DPTR
+001702 A3                INC     DPTR
 001703 E0                MOVX    A,@DPTR
-001704 4404              ORL     A,#04H
-001706 F0                MOVX    @DPTR,A
-001707 F1E7              ACALL   IIcWaitDone
-001709 904ED1            MOV     DPTR,#pbuff
-00170C E0                MOVX    A,@DPTR
-00170D A3                INC     DPTR
-00170E E0                MOVX    A,@DPTR
-00170F FA                MOV     R2,A
-001710 A3                INC     DPTR
-001711 E0                MOVX    A,@DPTR
-001712 AE02              MOV     R6,AR2
-001714 FF                MOV     R7,A
-001715 7B01              MOV     R3,#01H
-001717 7A0B              MOV     R2,#HIGH IIC_TempBuff
-001719 7983              MOV     R1,#LOW IIC_TempBuff
-00171B 904ECF            MOV     DPTR,#len
-00171E E0                MOVX    A,@DPTR
-00171F A3                INC     DPTR
-001720 E0                MOVX    A,@DPTR
-001721 904EC4            MOV     DPTR,#?_xmemcpy?BYTE+05H
-001724 F0                MOVX    @DPTR,A
-001725 02087D            LJMP    _xmemcpy
+001704 904EC4            MOV     DPTR,#?_xmemcpy?BYTE+05H
+001707 F0                MOVX    @DPTR,A
+001708 02087D            LJMP    _xmemcpy
 ----- FUNCTION _IIC_Read (END) -------
 
 
 ----- FUNCTION _GPIO_SetOutput (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R4' ----
-001728 AC07              MOV     R4,AR7
-00172A EC                MOV     A,R4
-00172B F4                CPL     A
-00172C 6016              JZ      ?C0017?GPIO
-00172E         ?C0016?GPIO:
-00172E AF04              MOV     R7,AR4
-001730 D204              SETB    ?_GPIO_Setoe?BIT
-001732 12358F            LCALL   _GPIO_Setoe
-001735 AF04              MOV     R7,AR4
-001737 A206              MOV     C,st
-001739 9201              MOV     ?_GPIO_Setout?BIT,C
-00173B 5168              ACALL   _GPIO_Setout
-00173D AF04              MOV     R7,AR4
-00173F C202              CLR     ?_GPIO_SetPu?BIT
-001741 121FD5            LCALL   _GPIO_SetPu
-001744         ?C0017?GPIO:
-001744 22                RET     
+00170B AC07              MOV     R4,AR7
+00170D EC                MOV     A,R4
+00170E F4                CPL     A
+00170F 6015              JZ      ?C0017?GPIO
+001711         ?C0016?GPIO:
+001711 AF04              MOV     R7,AR4
+001713 D204              SETB    ?_GPIO_Setoe?BIT
+001715 12352B            LCALL   _GPIO_Setoe
+001718 AF04              MOV     R7,AR4
+00171A A206              MOV     C,st
+00171C 9201              MOV     ?_GPIO_Setout?BIT,C
+00171E 513E              ACALL   _GPIO_Setout
+001720 AF04              MOV     R7,AR4
+001722 C202              CLR     ?_GPIO_SetPu?BIT
+001724 F1C9              ACALL   _GPIO_SetPu
+001726         ?C0017?GPIO:
+001726 22                RET     
 ----- FUNCTION _GPIO_SetOutput (END) -------
 
 
@@ -3497,47 +3485,47 @@
    16: {
    17: 	if(g_variable.current_device_num == 1)
    18: 		GPIO_Setout(BT_LED_GPIO,LED_ON);
-001745 904CC3            MOV     DPTR,#g_variable+04H
-001748 E0                MOVX    A,@DPTR
-001749 B40106            CJNE    A,#01H,?C0002?LED
+001727 904CC3            MOV     DPTR,#g_variable+04H
+00172A E0                MOVX    A,@DPTR
+00172B B40106            CJNE    A,#01H,?C0002?LED
    19: 	else if(g_variable.current_device_num == 2)
-00174C C201              CLR     ?_GPIO_Setout?BIT
-00174E 7F1F              MOV     R7,#01FH
-001750 4168              AJMP    _GPIO_Setout
-001752         ?C0002?LED:
+00172E C201              CLR     ?_GPIO_Setout?BIT
+001730 7F1F              MOV     R7,#01FH
+001732 413E              AJMP    _GPIO_Setout
+001734         ?C0002?LED:
    20: 		GPIO_Setout(BT2_LED_GPIO,LED_ON);
-001752 904CC3            MOV     DPTR,#g_variable+04H
-001755 E0                MOVX    A,@DPTR
-001756 B40206            CJNE    A,#02H,?C0004?LED
+001734 904CC3            MOV     DPTR,#g_variable+04H
+001737 E0                MOVX    A,@DPTR
+001738 B40206            CJNE    A,#02H,?C0004?LED
    21: 	else if(g_variable.current_device_num == 3)
-001759 C201              CLR     ?_GPIO_Setout?BIT
-00175B 7F1E              MOV     R7,#01EH
-00175D 4168              AJMP    _GPIO_Setout
-00175F         ?C0004?LED:
+00173B C201              CLR     ?_GPIO_Setout?BIT
+00173D 7F1E              MOV     R7,#01EH
+00173F 413E              AJMP    _GPIO_Setout
+001741         ?C0004?LED:
    22: 	{	
-00175F 904CC3            MOV     DPTR,#g_variable+04H
-001762 E0                MOVX    A,@DPTR
-001763 B4030C            CJNE    A,#03H,?C0006?LED
+001741 904CC3            MOV     DPTR,#g_variable+04H
+001744 E0                MOVX    A,@DPTR
+001745 B4030C            CJNE    A,#03H,?C0006?LED
    23: 		GPIO_SetOutput(BT_LED_GPIO,LED_ON);
    24: 		GPIO_SetOutput(LOWPOWER_LED_GPIO,LED_ON);
-001766 C206              CLR     ?_GPIO_SetOutput?BIT
-001768 7F1F              MOV     R7,#01FH
-00176A F128              ACALL   _GPIO_SetOutput
+001748 C206              CLR     ?_GPIO_SetOutput?BIT
+00174A 7F1F              MOV     R7,#01FH
+00174C F10B              ACALL   _GPIO_SetOutput
    25: 	}
-00176C C206              CLR     ?_GPIO_SetOutput?BIT
-00176E 7F1D              MOV     R7,#01DH
-001770 80B6              SJMP    _GPIO_SetOutput
+00174E C206              CLR     ?_GPIO_SetOutput?BIT
+001750 7F1D              MOV     R7,#01DH
+001752 80B7              SJMP    _GPIO_SetOutput
    26: 	else
-001772         ?C0006?LED:
+001754         ?C0006?LED:
    27: 	{
    28: 		GPIO_Setout(BT2_LED_GPIO,LED_ON);
-001772 C201              CLR     ?_GPIO_Setout?BIT
-001774 7F1E              MOV     R7,#01EH
-001776 5168              ACALL   _GPIO_Setout
+001754 C201              CLR     ?_GPIO_Setout?BIT
+001756 7F1E              MOV     R7,#01EH
+001758 513E              ACALL   _GPIO_Setout
    29: 		GPIO_SetOutput(LOWPOWER_LED_GPIO,LED_ON);
-001778 C206              CLR     ?_GPIO_SetOutput?BIT
-00177A 7F1D              MOV     R7,#01DH
-00177C 80AA              SJMP    _GPIO_SetOutput
+00175A C206              CLR     ?_GPIO_SetOutput?BIT
+00175C 7F1D              MOV     R7,#01DH
+00175E 80AB              SJMP    _GPIO_SetOutput
    30: 	}
 ----- FUNCTION LED_device_poweron (END) -------
 
@@ -3548,47 +3536,47 @@
    34: {
    35: 	if(g_variable.current_device_num == 1)
    36: 		GPIO_Setout(BT_LED_GPIO,LED_OFF);
-00177E 904CC3            MOV     DPTR,#g_variable+04H
-001781 E0                MOVX    A,@DPTR
-001782 B40106            CJNE    A,#01H,?C0009?LED
+001760 904CC3            MOV     DPTR,#g_variable+04H
+001763 E0                MOVX    A,@DPTR
+001764 B40106            CJNE    A,#01H,?C0009?LED
    37: 	else if(g_variable.current_device_num == 2)
-001785 D201              SETB    ?_GPIO_Setout?BIT
-001787 7F1F              MOV     R7,#01FH
-001789 4168              AJMP    _GPIO_Setout
-00178B         ?C0009?LED:
+001767 D201              SETB    ?_GPIO_Setout?BIT
+001769 7F1F              MOV     R7,#01FH
+00176B 413E              AJMP    _GPIO_Setout
+00176D         ?C0009?LED:
    38: 		GPIO_Setout(BT2_LED_GPIO,LED_OFF);
-00178B 904CC3            MOV     DPTR,#g_variable+04H
-00178E E0                MOVX    A,@DPTR
-00178F B40206            CJNE    A,#02H,?C0011?LED
+00176D 904CC3            MOV     DPTR,#g_variable+04H
+001770 E0                MOVX    A,@DPTR
+001771 B40206            CJNE    A,#02H,?C0011?LED
    39: 	else if(g_variable.current_device_num == 3)
-001792 D201              SETB    ?_GPIO_Setout?BIT
-001794 7F1E              MOV     R7,#01EH
-001796 4168              AJMP    _GPIO_Setout
-001798         ?C0011?LED:
+001774 D201              SETB    ?_GPIO_Setout?BIT
+001776 7F1E              MOV     R7,#01EH
+001778 413E              AJMP    _GPIO_Setout
+00177A         ?C0011?LED:
    40: 	{	
-001798 904CC3            MOV     DPTR,#g_variable+04H
-00179B E0                MOVX    A,@DPTR
-00179C B4030C            CJNE    A,#03H,?C0013?LED
+00177A 904CC3            MOV     DPTR,#g_variable+04H
+00177D E0                MOVX    A,@DPTR
+00177E B4030C            CJNE    A,#03H,?C0013?LED
    41: 		GPIO_Setout(BT_LED_GPIO,LED_OFF);
    42: 		GPIO_SetOutput(LOWPOWER_LED_GPIO,LED_OFF);
-00179F D201              SETB    ?_GPIO_Setout?BIT
-0017A1 7F1F              MOV     R7,#01FH
-0017A3 5168              ACALL   _GPIO_Setout
+001781 D201              SETB    ?_GPIO_Setout?BIT
+001783 7F1F              MOV     R7,#01FH
+001785 513E              ACALL   _GPIO_Setout
    43: 	}
-0017A5 D206              SETB    ?_GPIO_SetOutput?BIT
-0017A7 7F1D              MOV     R7,#01DH
-0017A9 E128              AJMP    _GPIO_SetOutput
+001787 D206              SETB    ?_GPIO_SetOutput?BIT
+001789 7F1D              MOV     R7,#01DH
+00178B E10B              AJMP    _GPIO_SetOutput
    44: 	else
-0017AB         ?C0013?LED:
+00178D         ?C0013?LED:
    45: 	{
    46: 		GPIO_Setout(BT2_LED_GPIO,LED_OFF);
-0017AB D201              SETB    ?_GPIO_Setout?BIT
-0017AD 7F1E              MOV     R7,#01EH
-0017AF 5168              ACALL   _GPIO_Setout
+00178D D201              SETB    ?_GPIO_Setout?BIT
+00178F 7F1E              MOV     R7,#01EH
+001791 513E              ACALL   _GPIO_Setout
    47: 		GPIO_SetOutput(LOWPOWER_LED_GPIO,LED_OFF);
-0017B1 D206              SETB    ?_GPIO_SetOutput?BIT
-0017B3 7F1D              MOV     R7,#01DH
-0017B5 E128              AJMP    _GPIO_SetOutput
+001793 D206              SETB    ?_GPIO_SetOutput?BIT
+001795 7F1D              MOV     R7,#01DH
+001797 E10B              AJMP    _GPIO_SetOutput
    48: 	}
 ----- FUNCTION LED_device_poweroff (END) -------
 
@@ -3599,25 +3587,25 @@
     5: {
     6: 	GPIO_SetOutput(NUM_LOCK_LED_GPIO,LED_OFF);
     7: 	GPIO_SetOutput(CAPS_LED_GPIO,LED_OFF);
-0017B7 D206              SETB    ?_GPIO_SetOutput?BIT
-0017B9 7F10              MOV     R7,#010H
-0017BB F128              ACALL   _GPIO_SetOutput
+001799 D206              SETB    ?_GPIO_SetOutput?BIT
+00179B 7F10              MOV     R7,#010H
+00179D F10B              ACALL   _GPIO_SetOutput
     8: 	GPIO_SetOutput(BT_LED_GPIO,LED_OFF);
-0017BD D206              SETB    ?_GPIO_SetOutput?BIT
-0017BF 7F0F              MOV     R7,#0FH
-0017C1 F128              ACALL   _GPIO_SetOutput
+00179F D206              SETB    ?_GPIO_SetOutput?BIT
+0017A1 7F0F              MOV     R7,#0FH
+0017A3 F10B              ACALL   _GPIO_SetOutput
     9: 	GPIO_SetOutput(BT2_LED_GPIO,LED_OFF);	
-0017C3 D206              SETB    ?_GPIO_SetOutput?BIT
-0017C5 7F1F              MOV     R7,#01FH
-0017C7 F128              ACALL   _GPIO_SetOutput
+0017A5 D206              SETB    ?_GPIO_SetOutput?BIT
+0017A7 7F1F              MOV     R7,#01FH
+0017A9 F10B              ACALL   _GPIO_SetOutput
    10: 	GPIO_SetOutput(LOWPOWER_LED_GPIO,LED_OFF);
-0017C9 D206              SETB    ?_GPIO_SetOutput?BIT
-0017CB 7F1E              MOV     R7,#01EH
-0017CD F128              ACALL   _GPIO_SetOutput
+0017AB D206              SETB    ?_GPIO_SetOutput?BIT
+0017AD 7F1E              MOV     R7,#01EH
+0017AF F10B              ACALL   _GPIO_SetOutput
    11: //	GPIO_SetOutput(G24_LED_GPIO,LED_OFF);
-0017CF D206              SETB    ?_GPIO_SetOutput?BIT
-0017D1 7F1D              MOV     R7,#01DH
-0017D3 E128              AJMP    _GPIO_SetOutput
+0017B1 D206              SETB    ?_GPIO_SetOutput?BIT
+0017B3 7F1D              MOV     R7,#01DH
+0017B5 E10B              AJMP    _GPIO_SetOutput
    12: }
 ----- FUNCTION LED_all_shutdown (END) -------
 
@@ -3628,31 +3616,48 @@
   106: {
   107: 	if (g_variable.ble_currentState == CHANGE_TO_BLE_DIRECT_ADV)
   108: 	{
-0017D5 904CC7            MOV     DPTR,#g_variable+08H
-0017D8 E0                MOVX    A,@DPTR
-0017D9 B40208            CJNE    A,#02H,?C0020?BLUETOOTH
+0017B7 904CC7            MOV     DPTR,#g_variable+08H
+0017BA E0                MOVX    A,@DPTR
+0017BB B40208            CJNE    A,#02H,?C0020?BLUETOOTH
   109: 		//stop adv
   110: 		IPC_TxControlCmd(IPC_CMD_STOP_ADV);
-0017DC 7F0E              MOV     R7,#0EH
-0017DE 120ECA            LCALL   _IPC_TxControlCmd
+0017BE 7F0E              MOV     R7,#0EH
+0017C0 120ECA            LCALL   _IPC_TxControlCmd
   111: 		return 1;
-0017E1 7F01              MOV     R7,#01H
-0017E3 22                RET     
+0017C3 7F01              MOV     R7,#01H
+0017C5 22                RET     
   112: 	}
-0017E4         ?C0020?BLUETOOTH:
+0017C6         ?C0020?BLUETOOTH:
   113: 	return 0;
-0017E4 7F00              MOV     R7,#00H
+0017C6 7F00              MOV     R7,#00H
   114: }
-0017E6 22                RET     
+0017C8 22                RET     
 ----- FUNCTION YC_cancel_reconnect (END) -------
 
 
+----- FUNCTION _GPIO_SetPu (BEGIN) -----
+;---- Variable 'gpio_num' assigned to Register 'R7' ----
+0017C9 EF                MOV     A,R7
+0017CA F4                CPL     A
+0017CB 600C              JZ      ?C0009?GPIO
+0017CD         ?C0008?GPIO:
+0017CD 7B01              MOV     R3,#01H
+0017CF 7A80              MOV     R2,#080H
+0017D1 7978              MOV     R1,#078H
+0017D3 A202              MOV     C,bit_val
+0017D5 9200              MOV     ?_gpioSetBit?BIT,C
+0017D7 F1F4              ACALL   _gpioSetBit
+0017D9         ?C0009?GPIO:
+0017D9 22                RET     
+----- FUNCTION _GPIO_SetPu (END) -------
+
+
 ----- FUNCTION IIcWaitDone (BEGIN) -----
-0017E7         ?C0001?IIC:
-0017E7 90812C            MOV     DPTR,#0812CH
-0017EA E0                MOVX    A,@DPTR
-0017EB 30E5F9            JNB     ACC.5,?C0001?IIC
-0017EE 22                RET     
+0017DA         ?C0001?IIC:
+0017DA 90812C            MOV     DPTR,#0812CH
+0017DD E0                MOVX    A,@DPTR
+0017DE 30E5F9            JNB     ACC.5,?C0001?IIC
+0017E1 22                RET     
 ----- FUNCTION IIcWaitDone (END) -------
 
 
@@ -3662,11 +3667,11 @@
    54: {
    55: 	System_IIC_clk_setup();
    56: 	KS_Initialize();
-0017EF 12313E            LCALL   System_IIC_clk_setup
+0017E2 12311B            LCALL   System_IIC_clk_setup
    57: 	LED_all_shutdown();
-0017F2 121F6F            LCALL   KS_Initialize
+0017E5 121FA6            LCALL   KS_Initialize
    58: }
-0017F5 80C0              SJMP    LED_all_shutdown
+0017E8 80AF              SJMP    LED_all_shutdown
 ----- FUNCTION System_Hardware_init (END) -------
 
 
@@ -3676,44 +3681,127 @@
   118: {
   119: 	g_variable.recon_count = 0;
   120: 	ble_reconnect_flag = 0;
-0017F7 E4                CLR     A
-0017F8 904CF0            MOV     DPTR,#g_variable+031H
-0017FB F0                MOVX    @DPTR,A
+0017EA E4                CLR     A
+0017EB 904CF0            MOV     DPTR,#g_variable+031H
+0017EE F0                MOVX    @DPTR,A
   121: }
-0017FC 904DE5            MOV     DPTR,#ble_reconnect_flag
-0017FF F0                MOVX    @DPTR,A
+0017EF 904DE5            MOV     DPTR,#ble_reconnect_flag
+0017F2 F0                MOVX    @DPTR,A
   122: 
-001800 22                RET     
+0017F3 22                RET     
 ----- FUNCTION YC_clear_reconnect_flag (END) -------
 
 
+----- FUNCTION _gpioSetBit (BEGIN) -----
+0017F4 904EF6            MOV     DPTR,#reg_base
+0017F7 EB                MOV     A,R3
+0017F8 F0                MOVX    @DPTR,A
+0017F9 A3                INC     DPTR
+0017FA EA                MOV     A,R2
+0017FB F0                MOVX    @DPTR,A
+0017FC A3                INC     DPTR
+0017FD E9                MOV     A,R1
+0017FE F0                MOVX    @DPTR,A
+;---- Variable 'gpio_num' assigned to Register 'R7' ----
+;---- Variable 'queue' assigned to Register 'R6' ----
+0017FF E4                CLR     A
+001800 FE                MOV     R6,A
+;---- Variable 'group' assigned to Register 'R5' ----
+001801 FD                MOV     R5,A
+001802 EF                MOV     A,R7
+001803 5407              ANL     A,#07H
+001805 FE                MOV     R6,A
+001806 EF                MOV     A,R7
+001807 13                RRC     A
+001808 13                RRC     A
+001809 13                RRC     A
+00180A 5403              ANL     A,#03H
+00180C FD                MOV     R5,A
+00180D 300022            JNB     bit_val,?C0001?GPIO
+001810 904EF6            MOV     DPTR,#reg_base
+001813 E0                MOVX    A,@DPTR
+001814 FB                MOV     R3,A
+001815 A3                INC     DPTR
+001816 E0                MOVX    A,@DPTR
+001817 FA                MOV     R2,A
+001818 A3                INC     DPTR
+001819 E0                MOVX    A,@DPTR
+00181A 2D                ADD     A,R5
+00181B F9                MOV     R1,A
+00181C E4                CLR     A
+00181D 3A                ADDC    A,R2
+00181E FA                MOV     R2,A
+00181F 1203B6            LCALL   ?C?CLDPTR
+001822 FF                MOV     R7,A
+001823 7401              MOV     A,#01H
+001825 A806              MOV     R0,AR6
+001827 08                INC     R0
+001828 8002              SJMP    ?C0031?GPIO
+00182A         ?C0030?GPIO:
+00182A C3                CLR     C
+00182B 33                RLC     A
+00182C         ?C0031?GPIO:
+00182C D8FC              DJNZ    R0,?C0030?GPIO
+00182E 4F                ORL     A,R7
+00182F 0203FC            LJMP    ?C?CSTPTR
+001832         ?C0001?GPIO:
+001832 904EF6            MOV     DPTR,#reg_base
+001835 E0                MOVX    A,@DPTR
+001836 FB                MOV     R3,A
+001837 A3                INC     DPTR
+001838 E0                MOVX    A,@DPTR
+001839 FA                MOV     R2,A
+00183A A3                INC     DPTR
+00183B E0                MOVX    A,@DPTR
+00183C 2D                ADD     A,R5
+00183D F9                MOV     R1,A
+00183E E4                CLR     A
+00183F 3A                ADDC    A,R2
+001840 FA                MOV     R2,A
+001841 1203B6            LCALL   ?C?CLDPTR
+001844 FF                MOV     R7,A
+001845 7401              MOV     A,#01H
+001847 A806              MOV     R0,AR6
+001849 08                INC     R0
+00184A 8002              SJMP    ?C0033?GPIO
+00184C         ?C0032?GPIO:
+00184C C3                CLR     C
+00184D 33                RLC     A
+00184E         ?C0033?GPIO:
+00184E D8FC              DJNZ    R0,?C0032?GPIO
+001850 F4                CPL     A
+001851 5F                ANL     A,R7
+001852 0203FC            LJMP    ?C?CSTPTR
+----- FUNCTION _gpioSetBit (END) -------
+
+
 ----- FUNCTION YC_g24_mode_discovery (BEGIN) -----
  FILE: 'bluetooth.c'
   141: byte YC_g24_mode_discovery()
   142: {
   143: 	if (g_variable.last_device_num == 0xfe ||g_variable.last_device_num == 0x00)
   144: 	{
-001801 904CC0            MOV     DPTR,#g_variable+01H
-001804 E0                MOVX    A,@DPTR
-001805 FF                MOV     R7,A
-001806 64FE              XRL     A,#0FEH
-001808 6003              JZ      ?C0029?BLUETOOTH
-00180A EF                MOV     A,R7
-00180B 7008              JNZ     ?C0028?BLUETOOTH
-00180D         ?C0029?BLUETOOTH:
+001855 904CC0            MOV     DPTR,#g_variable+01H
+001858 E0                MOVX    A,@DPTR
+001859 FF                MOV     R7,A
+00185A 64FE              XRL     A,#0FEH
+00185C 6003              JZ      ?C0029?BLUETOOTH
+00185E EF                MOV     A,R7
+00185F 7008              JNZ     ?C0028?BLUETOOTH
+001861         ?C0029?BLUETOOTH:
   145: 		IPC_TxControlCmd(IPC_CMD_STOP_24G);
   146: 		return 1;
-00180D 7F22              MOV     R7,#022H
-00180F 120ECA            LCALL   _IPC_TxControlCmd
+001861 7F22              MOV     R7,#022H
+001863 120ECA            LCALL   _IPC_TxControlCmd
   147: 	}
-001812 7F01              MOV     R7,#01H
-001814 22                RET     
+001866 7F01              MOV     R7,#01H
+001868 22                RET     
   148: 	return 0;
-001815         ?C0028?BLUETOOTH:
+001869         ?C0028?BLUETOOTH:
   149: }
-001815 7F00              MOV     R7,#00H
+001869 7F00              MOV     R7,#00H
   150: 
-001817 22                RET     
+00186B 22                RET     
 ----- FUNCTION YC_g24_mode_discovery (END) -------
 
 
@@ -3723,234 +3811,234 @@
   186: {
   187: 	IIC_Read(EEPROM_RECON_INFO_RAMDON_LE_LAP1 ,2 ,(byte *)&g_variable.ble_ramdon_lap1);
   188: 	g_variable.ble_ramdon_lap1++;
-001818 7B01              MOV     R3,#01H
-00181A 7A4C              MOV     R2,#HIGH g_variable+033H
-00181C 79F2              MOV     R1,#LOW g_variable+033H
-00181E 7D02              MOV     R5,#02H
-001820 7C00              MOV     R4,#00H
-001822 7FBE              MOV     R7,#0BEH
-001824 7E7F              MOV     R6,#07FH
-001826 121678            LCALL   _IIC_Read
+00186C 7B01              MOV     R3,#01H
+00186E 7A4C              MOV     R2,#HIGH g_variable+033H
+001870 79F2              MOV     R1,#LOW g_variable+033H
+001872 7D02              MOV     R5,#02H
+001874 7C00              MOV     R4,#00H
+001876 7FBE              MOV     R7,#0BEH
+001878 7E7F              MOV     R6,#07FH
+00187A 12165B            LCALL   _IIC_Read
   189: 	g_variable.ble_ramdon_lap2++;
-001829 904CF2            MOV     DPTR,#g_variable+033H
-00182C E0                MOVX    A,@DPTR
-00182D 04                INC     A
-00182E F0                MOVX    @DPTR,A
+00187D 904CF2            MOV     DPTR,#g_variable+033H
+001880 E0                MOVX    A,@DPTR
+001881 04                INC     A
+001882 F0                MOVX    @DPTR,A
   190: 	m_le_lap[1] = g_variable.ble_ramdon_lap1;
-00182F A3                INC     DPTR
-001830 E0                MOVX    A,@DPTR
-001831 04                INC     A
-001832 F0                MOVX    @DPTR,A
+001883 A3                INC     DPTR
+001884 E0                MOVX    A,@DPTR
+001885 04                INC     A
+001886 F0                MOVX    @DPTR,A
   191: 	m_le_lap[2] = g_variable.ble_ramdon_lap2;
-001833 904CF2            MOV     DPTR,#g_variable+033H
-001836 E0                MOVX    A,@DPTR
-001837 9044FA            MOV     DPTR,#m_le_lap+01H
-00183A F0                MOVX    @DPTR,A
+001887 904CF2            MOV     DPTR,#g_variable+033H
+00188A E0                MOVX    A,@DPTR
+00188B 9044FA            MOV     DPTR,#m_le_lap+01H
+00188E F0                MOVX    @DPTR,A
   192: 	m_le_lap[3] = le_lap_temp[0];
-00183B 904CF3            MOV     DPTR,#g_variable+034H
-00183E E0                MOVX    A,@DPTR
-00183F 9044FB            MOV     DPTR,#m_le_lap+02H
-001842 F0                MOVX    @DPTR,A
+00188F 904CF3            MOV     DPTR,#g_variable+034H
+001892 E0                MOVX    A,@DPTR
+001893 9044FB            MOV     DPTR,#m_le_lap+02H
+001896 F0                MOVX    @DPTR,A
   193: 	m_le_lap[4] = le_lap_temp[1];
-001843 904DD0            MOV     DPTR,#le_lap_temp
-001846 E0                MOVX    A,@DPTR
-001847 9044FC            MOV     DPTR,#m_le_lap+03H
-00184A F0                MOVX    @DPTR,A
+001897 904DD0            MOV     DPTR,#le_lap_temp
+00189A E0                MOVX    A,@DPTR
+00189B 9044FC            MOV     DPTR,#m_le_lap+03H
+00189E F0                MOVX    @DPTR,A
   194: 	m_le_lap[5] = le_lap_temp[2];
-00184B 904DD1            MOV     DPTR,#le_lap_temp+01H
-00184E E0                MOVX    A,@DPTR
-00184F 9044FD            MOV     DPTR,#m_le_lap+04H
-001852 F0                MOVX    @DPTR,A
+00189F 904DD1            MOV     DPTR,#le_lap_temp+01H
+0018A2 E0                MOVX    A,@DPTR
+0018A3 9044FD            MOV     DPTR,#m_le_lap+04H
+0018A6 F0                MOVX    @DPTR,A
   195: }
-001853 904DD2            MOV     DPTR,#le_lap_temp+02H
-001856 E0                MOVX    A,@DPTR
-001857 9044FE            MOV     DPTR,#m_le_lap+05H
-00185A F0                MOVX    @DPTR,A
+0018A7 904DD2            MOV     DPTR,#le_lap_temp+02H
+0018AA E0                MOVX    A,@DPTR
+0018AB 9044FE            MOV     DPTR,#m_le_lap+05H
+0018AE F0                MOVX    @DPTR,A
   196: 
-00185B 22                RET     
+0018AF 22                RET     
 ----- FUNCTION YC_get_ble_ramdon_lap (END) -------
 
 
 ----- FUNCTION YC_wait_disconnect_timer500ms (BEGIN) -----
  FILE: 'sys.c'
-  455: void YC_wait_disconnect_timer500ms()
-  456: {
-  457: //before discovery/adv,if current state is connected,wait disconnect done
-  458: 	if (action_timeout!=0)
-00185C 904DEC            MOV     DPTR,#action_timeout
-00185F E0                MOVX    A,@DPTR
-001860 6038              JZ      ?C0091?SYS
-  459: 	{
-  460: 		action_timeout--;
-001862 E0                MOVX    A,@DPTR
-001863 14                DEC     A
-001864 F0                MOVX    @DPTR,A
-  461: 		if(action_timeout == 0)
-001865 E0                MOVX    A,@DPTR
-001866 7032              JNZ     ?C0091?SYS
-  462: 		{
-  463: 			if(g_variable.key_action == KEY_DISCOVERY
-001868 904CED            MOV     DPTR,#g_variable+02EH
-00186B E0                MOVX    A,@DPTR
-00186C B4052B            CJNE    A,#05H,?C0091?SYS
-00186F 9047F5            MOV     DPTR,#m_ui_state_map+01H
-001872 E0                MOVX    A,@DPTR
-001873 20E324            JB      ACC.3,?C0091?SYS
-  464: 			&& (m_ui_state_map & 0x0008) != 0x0008)
-  465: 
-  466: 			{
-  467: //				m_lpm_mode = 0;
-  468: 				ble_send_secutiry_request_timer = 0;
-001876 E4                CLR     A
-001877 904DD4            MOV     DPTR,#ble_send_secutiry_request_timer
-00187A F0                MOVX    @DPTR,A
-  469: 				g_variable.pairing_timeout = BT_PAIRING_TIME_OUT_2MIN;
-00187B 904CE9            MOV     DPTR,#g_variable+02AH
-00187E 74F0              MOV     A,#0F0H
-001880 F0                MOVX    @DPTR,A
-  470: 				g_variable.pairing_g24_timeout = 0;
-001881 E4                CLR     A
-001882 904CEE            MOV     DPTR,#g_variable+02FH
-001885 F0                MOVX    @DPTR,A
-  471: 				fast_connect_flag = 0;
-001886 904E55            MOV     DPTR,#fast_connect_flag
-001889 F0                MOVX    @DPTR,A
-  472: 				ble_fast_connect_flag = 0;
-00188A 904DD3            MOV     DPTR,#ble_fast_connect_flag
-00188D F0                MOVX    @DPTR,A
-  473: 				YC_get_ble_ramdon_lap();
-00188E 1118              ACALL   YC_get_ble_ramdon_lap
-  474: 				IPC_TxControlCmd(IPC_CMD_START_ADV);
-001890 7F0D              MOV     R7,#0DH
-001892 120ECA            LCALL   _IPC_TxControlCmd
-  475: 				g_variable.key_action = KEY_NONE;
-001895 E4                CLR     A
-001896 904CED            MOV     DPTR,#g_variable+02EH
-001899 F0                MOVX    @DPTR,A
-  476: 			}
-  477: 		}
-  478: 	}
-  479: 
-  480: }
-00189A         ?C0091?SYS:
-00189A 22                RET     
+  452: void YC_wait_disconnect_timer500ms()
+  453: {
+  454: //before discovery/adv,if current state is connected,wait disconnect done
+  455: 	if (action_timeout!=0)
+0018B0 904DEC            MOV     DPTR,#action_timeout
+0018B3 E0                MOVX    A,@DPTR
+0018B4 6038              JZ      ?C0091?SYS
+  456: 	{
+  457: 		action_timeout--;
+0018B6 E0                MOVX    A,@DPTR
+0018B7 14                DEC     A
+0018B8 F0                MOVX    @DPTR,A
+  458: 		if(action_timeout == 0)
+0018B9 E0                MOVX    A,@DPTR
+0018BA 7032              JNZ     ?C0091?SYS
+  459: 		{
+  460: 			if(g_variable.key_action == KEY_DISCOVERY
+0018BC 904CED            MOV     DPTR,#g_variable+02EH
+0018BF E0                MOVX    A,@DPTR
+0018C0 B4052B            CJNE    A,#05H,?C0091?SYS
+0018C3 9047F5            MOV     DPTR,#m_ui_state_map+01H
+0018C6 E0                MOVX    A,@DPTR
+0018C7 20E324            JB      ACC.3,?C0091?SYS
+  461: 			&& (m_ui_state_map & 0x0008) != 0x0008)
+  462: 
+  463: 			{
+  464: //				m_lpm_mode = 0;
+  465: 				ble_send_secutiry_request_timer = 0;
+0018CA E4                CLR     A
+0018CB 904DD4            MOV     DPTR,#ble_send_secutiry_request_timer
+0018CE F0                MOVX    @DPTR,A
+  466: 				g_variable.pairing_timeout = BT_PAIRING_TIME_OUT_2MIN;
+0018CF 904CE9            MOV     DPTR,#g_variable+02AH
+0018D2 74F0              MOV     A,#0F0H
+0018D4 F0                MOVX    @DPTR,A
+  467: 				g_variable.pairing_g24_timeout = 0;
+0018D5 E4                CLR     A
+0018D6 904CEE            MOV     DPTR,#g_variable+02FH
+0018D9 F0                MOVX    @DPTR,A
+  468: 				fast_connect_flag = 0;
+0018DA 904E55            MOV     DPTR,#fast_connect_flag
+0018DD F0                MOVX    @DPTR,A
+  469: 				ble_fast_connect_flag = 0;
+0018DE 904DD3            MOV     DPTR,#ble_fast_connect_flag
+0018E1 F0                MOVX    @DPTR,A
+  470: 				YC_get_ble_ramdon_lap();
+0018E2 116C              ACALL   YC_get_ble_ramdon_lap
+  471: 				IPC_TxControlCmd(IPC_CMD_START_ADV);
+0018E4 7F0D              MOV     R7,#0DH
+0018E6 120ECA            LCALL   _IPC_TxControlCmd
+  472: 				g_variable.key_action = KEY_NONE;
+0018E9 E4                CLR     A
+0018EA 904CED            MOV     DPTR,#g_variable+02EH
+0018ED F0                MOVX    @DPTR,A
+  473: 			}
+  474: 		}
+  475: 	}
+  476: 
+  477: }
+0018EE         ?C0091?SYS:
+0018EE 22                RET     
 ----- FUNCTION YC_wait_disconnect_timer500ms (END) -------
 
 
 ----- FUNCTION kb_cb_Timer500ms (BEGIN) -----
  FILE: 'sys.c'
-  670: static void kb_cb_Timer500ms()
-  671: {
-  672: 	LED_timer500ms();	
-  673: 
-00189B 12127A            LCALL   LED_timer500ms
-  674: 	g_variable.sleepTimer++;
-00189E 904CE4            MOV     DPTR,#g_variable+025H
-0018A1 E0                MOVX    A,@DPTR
-0018A2 04                INC     A
-0018A3 F0                MOVX    @DPTR,A
-0018A4 7006              JNZ     ?C0173?SYS
-0018A6 904CE3            MOV     DPTR,#g_variable+024H
-0018A9 E0                MOVX    A,@DPTR
-0018AA 04                INC     A
-0018AB F0                MOVX    @DPTR,A
-0018AC         ?C0173?SYS:
-  675: 
-  676: 	YC_adc_check_timer500ms();
-0018AC 11FE              ACALL   YC_adc_check_timer500ms
-  677: 	YC_connect_timeout_500ms();
-0018AE 120DD0            LCALL   YC_connect_timeout_500ms
-  678: 	kb_button_press_timer500ms();
-0018B1 310F              ACALL   kb_button_press_timer500ms
-  679: 	YC_wait_disconnect_timer500ms();
-0018B3 115C              ACALL   YC_wait_disconnect_timer500ms
+  667: static void kb_cb_Timer500ms()
+  668: {
+  669: 	LED_timer500ms();	
+  670: 
+0018EF 12124F            LCALL   LED_timer500ms
+  671: 	g_variable.sleepTimer++;
+0018F2 904CE4            MOV     DPTR,#g_variable+025H
+0018F5 E0                MOVX    A,@DPTR
+0018F6 04                INC     A
+0018F7 F0                MOVX    @DPTR,A
+0018F8 7006              JNZ     ?C0173?SYS
+0018FA 904CE3            MOV     DPTR,#g_variable+024H
+0018FD E0                MOVX    A,@DPTR
+0018FE 04                INC     A
+0018FF F0                MOVX    @DPTR,A
+001900         ?C0173?SYS:
+  672: 
+  673: 	YC_adc_check_timer500ms();
+001900 3152              ACALL   YC_adc_check_timer500ms
+  674: 	YC_connect_timeout_500ms();
+001902 120DD0            LCALL   YC_connect_timeout_500ms
+  675: 	kb_button_press_timer500ms();
+001905 3163              ACALL   kb_button_press_timer500ms
+  676: 	YC_wait_disconnect_timer500ms();
+001907 11B0              ACALL   YC_wait_disconnect_timer500ms
 ;----                  JMP     YC_pairing_timerout_500ms
-  680: 	YC_pairing_timerout_500ms();
-  681: 	
-  682: /*	
-  683: 	if(g_variable.ble_currentSubState ==  CHANGE_TO_BLE_SUB_PINCODE)
-  684: 	{
-  685: 		g_variable.sleepTimer = 0;				//wait macOS enter pincode
-  686: 	}
-  687: */	
-  688: 	return;
+  677: 	YC_pairing_timerout_500ms();
+  678: 	
+  679: /*	
+  680: 	if(g_variable.ble_currentSubState ==  CHANGE_TO_BLE_SUB_PINCODE)
+  681: 	{
+  682: 		g_variable.sleepTimer = 0;				//wait macOS enter pincode
+  683: 	}
+  684: */	
+  685: 	return;
 ----- FUNCTION kb_cb_Timer500ms (END) -------
 
 
 ----- FUNCTION YC_pairing_timerout_500ms (BEGIN) -----
  FILE: 'sys.c'
-  483: void YC_pairing_timerout_500ms()
-  484: {
-  485: //pairing timer
-  486: 	if (g_variable.pairing_timeout != 0)
-0018B5 904CE9            MOV     DPTR,#g_variable+02AH
-0018B8 E0                MOVX    A,@DPTR
-0018B9 6024              JZ      ?C0092?SYS
-  487: 	{
-  488: 		g_variable.sleepTimer = 0;
-0018BB E4                CLR     A
-0018BC 904CE3            MOV     DPTR,#g_variable+024H
-0018BF F0                MOVX    @DPTR,A
-0018C0 A3                INC     DPTR
-0018C1 F0                MOVX    @DPTR,A
-  489: 		g_variable.pairing_timeout--;
-0018C2 904CE9            MOV     DPTR,#g_variable+02AH
-0018C5 E0                MOVX    A,@DPTR
-0018C6 14                DEC     A
-0018C7 F0                MOVX    @DPTR,A
-  490: 		if (g_variable.pairing_timeout == 0)
-0018C8 E0                MOVX    A,@DPTR
-0018C9 7014              JNZ     ?C0092?SYS
-  491: 		{
-  492: 			g_variable.current_device_num = g_variable.temp_device_num;
-0018CB 904CC4            MOV     DPTR,#g_variable+05H
-0018CE E0                MOVX    A,@DPTR
-0018CF 904CC3            MOV     DPTR,#g_variable+04H
-0018D2 F0                MOVX    @DPTR,A
-  493: 			g_variable.last_device_num = g_variable.current_device_num;
-0018D3 904CC0            MOV     DPTR,#g_variable+01H
-0018D6 F0                MOVX    @DPTR,A
-  494: 		
-  495: 			YC_key_action_handle(KEY_STOP_DISCOVERY);
-0018D7 7F0D              MOV     R7,#0DH
-0018D9 12108B            LCALL   _YC_key_action_handle
-  496: 			System_long_sleep();
-0018DC 120FB2            LCALL   System_long_sleep
-  497: 		}
-  498: 	}
-0018DF         ?C0092?SYS:
-  499: 
-  500: 	if (g_variable.pairing_g24_timeout != 0)
-0018DF 904CEE            MOV     DPTR,#g_variable+02FH
-0018E2 E0                MOVX    A,@DPTR
-0018E3 6018              JZ      ?C0096?SYS
-  501: 	{
-  502: 		g_variable.sleepTimer = 0;
-0018E5 E4                CLR     A
-0018E6 904CE3            MOV     DPTR,#g_variable+024H
-0018E9 F0                MOVX    @DPTR,A
-0018EA A3                INC     DPTR
-0018EB F0                MOVX    @DPTR,A
-  503: 		g_variable.pairing_g24_timeout--;
-0018EC 904CEE            MOV     DPTR,#g_variable+02FH
-0018EF E0                MOVX    A,@DPTR
-0018F0 14                DEC     A
-0018F1 F0                MOVX    @DPTR,A
-  504: 		if (g_variable.pairing_g24_timeout == 0)
-0018F2 E0                MOVX    A,@DPTR
-0018F3 7008              JNZ     ?C0096?SYS
-  505: 		{
-  506: //			IPC_TxControlCmd(IPC_CMD_STOP_24G);
-  507: 			Delay1ms(10);
-0018F5 7F0A              MOV     R7,#0AH
-0018F7 1215B2            LCALL   _Delay1ms
-  508: 			System_long_sleep();
-0018FA 120FB2            LCALL   System_long_sleep
-  509: 		}
-  510: 	}
-  511: }
-0018FD         ?C0096?SYS:
-0018FD 22                RET     
+  480: void YC_pairing_timerout_500ms()
+  481: {
+  482: //pairing timer
+  483: 	if (g_variable.pairing_timeout != 0)
+001909 904CE9            MOV     DPTR,#g_variable+02AH
+00190C E0                MOVX    A,@DPTR
+00190D 6024              JZ      ?C0092?SYS
+  484: 	{
+  485: 		g_variable.sleepTimer = 0;
+00190F E4                CLR     A
+001910 904CE3            MOV     DPTR,#g_variable+024H
+001913 F0                MOVX    @DPTR,A
+001914 A3                INC     DPTR
+001915 F0                MOVX    @DPTR,A
+  486: 		g_variable.pairing_timeout--;
+001916 904CE9            MOV     DPTR,#g_variable+02AH
+001919 E0                MOVX    A,@DPTR
+00191A 14                DEC     A
+00191B F0                MOVX    @DPTR,A
+  487: 		if (g_variable.pairing_timeout == 0)
+00191C E0                MOVX    A,@DPTR
+00191D 7014              JNZ     ?C0092?SYS
+  488: 		{
+  489: 			g_variable.current_device_num = g_variable.temp_device_num;
+00191F 904CC4            MOV     DPTR,#g_variable+05H
+001922 E0                MOVX    A,@DPTR
+001923 904CC3            MOV     DPTR,#g_variable+04H
+001926 F0                MOVX    @DPTR,A
+  490: 			g_variable.last_device_num = g_variable.current_device_num;
+001927 904CC0            MOV     DPTR,#g_variable+01H
+00192A F0                MOVX    @DPTR,A
+  491: 		
+  492: 			YC_key_action_handle(KEY_STOP_DISCOVERY);
+00192B 7F0D              MOV     R7,#0DH
+00192D 12108B            LCALL   _YC_key_action_handle
+  493: 			System_long_sleep();
+001930 120FB2            LCALL   System_long_sleep
+  494: 		}
+  495: 	}
+001933         ?C0092?SYS:
+  496: 
+  497: 	if (g_variable.pairing_g24_timeout != 0)
+001933 904CEE            MOV     DPTR,#g_variable+02FH
+001936 E0                MOVX    A,@DPTR
+001937 6018              JZ      ?C0096?SYS
+  498: 	{
+  499: 		g_variable.sleepTimer = 0;
+001939 E4                CLR     A
+00193A 904CE3            MOV     DPTR,#g_variable+024H
+00193D F0                MOVX    @DPTR,A
+00193E A3                INC     DPTR
+00193F F0                MOVX    @DPTR,A
+  500: 		g_variable.pairing_g24_timeout--;
+001940 904CEE            MOV     DPTR,#g_variable+02FH
+001943 E0                MOVX    A,@DPTR
+001944 14                DEC     A
+001945 F0                MOVX    @DPTR,A
+  501: 		if (g_variable.pairing_g24_timeout == 0)
+001946 E0                MOVX    A,@DPTR
+001947 7008              JNZ     ?C0096?SYS
+  502: 		{
+  503: //			IPC_TxControlCmd(IPC_CMD_STOP_24G);
+  504: 			Delay1ms(10);
+001949 7F0A              MOV     R7,#0AH
+00194B 121595            LCALL   _Delay1ms
+  505: 			System_long_sleep();
+00194E 120FB2            LCALL   System_long_sleep
+  506: 		}
+  507: 	}
+  508: }
+001951         ?C0096?SYS:
+001951 22                RET     
 ----- FUNCTION YC_pairing_timerout_500ms (END) -------
 
 
@@ -3961,457 +4049,457 @@
   102: #ifdef  ADC_ENABLE
   103: 	// adc check timer	
   104: 	if (g_variable.battery_check_interval)
-0018FE 904CD3            MOV     DPTR,#g_variable+014H
-001901 E0                MOVX    A,@DPTR
-001902 600A              JZ      ?C0023?ADC
+001952 904CD3            MOV     DPTR,#g_variable+014H
+001955 E0                MOVX    A,@DPTR
+001956 600A              JZ      ?C0023?ADC
   105: 	{
   106: 		g_variable.battery_check_interval--;
-001904 14                DEC     A
-001905 F0                MOVX    @DPTR,A
+001958 14                DEC     A
+001959 F0                MOVX    @DPTR,A
   107: 		if (g_variable.battery_check_interval == 0)
-001906 E0                MOVX    A,@DPTR
-001907 7005              JNZ     ?C0023?ADC
+00195A E0                MOVX    A,@DPTR
+00195B 7005              JNZ     ?C0023?ADC
   108: 		{
   109: 			g_variable.battery_check_interval = BATTERY_CHECK_INTERVAL;
-001909 7405              MOV     A,#05H
-00190B F0                MOVX    @DPTR,A
+00195D 7405              MOV     A,#05H
+00195F F0                MOVX    @DPTR,A
   110: 			YC_adc_check();
-00190C 51EA              ACALL   YC_adc_check
+001960 713E              ACALL   YC_adc_check
   111: 		}
   112: 	}
   113: #endif	
   114: }
-00190E         ?C0023?ADC:
-00190E 22                RET     
+001962         ?C0023?ADC:
+001962 22                RET     
 ----- FUNCTION YC_adc_check_timer500ms (END) -------
 
 
 ----- FUNCTION kb_button_press_timer500ms (BEGIN) -----
  FILE: 'sys.c'
-  513: void kb_button_press_timer500ms()
-  514: {
-  515: 	
-  516: //key status 
-  517: /*
-  518: 	if (g_variable.button_flag & KEY_FLAG_BTKEY_PRESS)		//press BT key
-  519: 	{
-  520: 		if (g_variable.button_timer[0] < 250)
-  521: 			g_variable.button_timer[0]++;
-  522: 		if (g_variable.button_timer[0] == 2)
-  523: 		{
-  524: 			YC_key_action_handle(KEY_DISCOVERY);
-  525: 		}
-  526: 	}
-  527: 	else
-  528: 		g_variable.button_timer[0] = 0;
-  529: */		
-  530: 	
-  531: 	if (g_variable.button_flag & KEY_FLAG_SAME_KEY_PRESS)
-00190F 904CCE            MOV     DPTR,#g_variable+0FH
-001912 E0                MOVX    A,@DPTR
-001913 30E13E            JNB     ACC.1,?C0097?SYS
-  532: 	{
-  533: 		if (g_variable.button_timer[1] < 250)
-001916 904CD0            MOV     DPTR,#g_variable+011H
-001919 E0                MOVX    A,@DPTR
-00191A C3                CLR     C
-00191B 94FA              SUBB    A,#0FAH
-00191D 5003              JNC     ?C0098?SYS
-  534: 			g_variable.button_timer[1]++;
-00191F E0                MOVX    A,@DPTR
-001920 04                INC     A
-001921 F0                MOVX    @DPTR,A
-001922         ?C0098?SYS:
-  535: 		if (g_variable.button_timer[1] == 180)			// 500ms*180*3 = 4min30s
-001922 904CD0            MOV     DPTR,#g_variable+011H
-001925 E0                MOVX    A,@DPTR
-001926 64B4              XRL     A,#0B4H
-001928 7037              JNZ     ?C0103?SYS
-  536: 		{
-  537: 			press_long_time_flag++;
-00192A 904DE3            MOV     DPTR,#press_long_time_flag
-00192D E0                MOVX    A,@DPTR
-00192E 04                INC     A
-00192F F0                MOVX    @DPTR,A
-  538: 			if(press_long_time_flag <= 2)
-001930 E0                MOVX    A,@DPTR
-001931 D3                SETB    C
-001932 9402              SUBB    A,#02H
-001934 5007              JNC     ?C0100?SYS
-  539: 			{
-  540: 				g_variable.button_timer[1] = 0;
-001936 E4                CLR     A
-001937 904CD0            MOV     DPTR,#g_variable+011H
-00193A F0                MOVX    @DPTR,A
-  541: 			}
-00193B 8024              SJMP    ?C0103?SYS
-00193D         ?C0100?SYS:
-  542: 			else if(press_long_time_flag == 3)
-00193D 904DE3            MOV     DPTR,#press_long_time_flag
-001940 E0                MOVX    A,@DPTR
-001941 B4031D            CJNE    A,#03H,?C0103?SYS
-  543: 			{
-  544: 				long_press_flag = 1;
-001944 904DDC            MOV     DPTR,#long_press_flag
-001947 7401              MOV     A,#01H
-001949 F0                MOVX    @DPTR,A
-  545: 				g_variable.button_timer[1] = 0;
-00194A E4                CLR     A
-00194B 904CD0            MOV     DPTR,#g_variable+011H
-00194E F0                MOVX    @DPTR,A
-  546: 				System_long_sleep();
-00194F 120FB2            LCALL   System_long_sleep
-  547: 			}
-  548: 		}
-  549: 	}
-001952 800D              SJMP    ?C0103?SYS
-001954         ?C0097?SYS:
-  550: 	else
-  551: 	{
-  552: 		press_long_time_flag = 0;
-001954 E4                CLR     A
-001955 904DE3            MOV     DPTR,#press_long_time_flag
-001958 F0                MOVX    @DPTR,A
-  553: 		long_press_flag = 0;
-001959 904DDC            MOV     DPTR,#long_press_flag
-00195C F0                MOVX    @DPTR,A
-  554: 		g_variable.button_timer[1] = 0;
-00195D 904CD0            MOV     DPTR,#g_variable+011H
-001960 F0                MOVX    @DPTR,A
-  555: 	}
-001961         ?C0103?SYS:
-  556: 		
-  557: 	if (g_variable.button_flag & KEY_FLAG_FN_24G_DEVICE_BUTTON)		// G24 pairing
-001961 904CCE            MOV     DPTR,#g_variable+0FH
-001964 E0                MOVX    A,@DPTR
-001965 30E439            JNB     ACC.4,?C0104?SYS
-  558: 	{
-  559: 		g_variable.delay_enter_lpm_timer = 10;
-001968 904CEA            MOV     DPTR,#g_variable+02BH
-00196B 740A              MOV     A,#0AH
-00196D F0                MOVX    @DPTR,A
-  560: 		if (g_variable.button_timer[2] < 250)
-00196E 904CD1            MOV     DPTR,#g_variable+012H
-001971 E0                MOVX    A,@DPTR
-001972 C3                CLR     C
-001973 94FA              SUBB    A,#0FAH
-001975 5003              JNC     ?C0105?SYS
-  561: 			g_variable.button_timer[2]++;
-001977 E0                MOVX    A,@DPTR
-001978 04                INC     A
-001979 F0                MOVX    @DPTR,A
-00197A         ?C0105?SYS:
-  562: 		if (g_variable.button_timer[2] == 6)
-00197A 904CD1            MOV     DPTR,#g_variable+012H
-00197D E0                MOVX    A,@DPTR
-00197E 6406              XRL     A,#06H
-001980 704A              JNZ     ?C0109?SYS
-  563: 		{
-  564: 			if( !g_variable.current_device_num || (g_variable.current_device_num == 0xfe))
-001982 904CC3            MOV     DPTR,#g_variable+04H
-001985 E0                MOVX    A,@DPTR
-001986 FF                MOV     R7,A
-001987 6004              JZ      ?C0108?SYS
-001989 64FE              XRL     A,#0FEH
-00198B 703F              JNZ     ?C0109?SYS
-00198D         ?C0108?SYS:
-  565: 			{
-  566: 				g_variable.button_24G_rec_flag = 0;
-00198D E4                CLR     A
-00198E 904CCD            MOV     DPTR,#g_variable+0EH
-001991 F0                MOVX    @DPTR,A
-  567: 				YC_disconnect_all_link();
-001992 120F87            LCALL   YC_disconnect_all_link
-  568: 				Delay1ms(10);
-001995 7F0A              MOV     R7,#0AH
-001997 1215B2            LCALL   _Delay1ms
-  569: 				YC_key_action_handle(KEY_PAIRING_24G);
-00199A 7F0A              MOV     R7,#0AH
-00199C 12108B            LCALL   _YC_key_action_handle
-  570: 			}
-  571: 		}
-  572: 	}
-00199F 802B              SJMP    ?C0109?SYS
-0019A1         ?C0104?SYS:
-  573: 	else
-  574: 	{
-  575: 		if(g_variable.button_24G_rec_flag)
-0019A1 904CCD            MOV     DPTR,#g_variable+0EH
-0019A4 E0                MOVX    A,@DPTR
-0019A5 6020              JZ      ?C0110?SYS
-  576: 		{
-  577: 			g_variable.button_24G_rec_flag = 0;
-0019A7 E4                CLR     A
-0019A8 F0                MOVX    @DPTR,A
-  578: 			YC_key_action_handle(KEY_STOP_DISCOVERY);
-0019A9 7F0D              MOV     R7,#0DH
-0019AB 12108B            LCALL   _YC_key_action_handle
-  579: 			g_variable.release_data = 1;
-0019AE 904CEB            MOV     DPTR,#g_variable+02CH
-0019B1 7401              MOV     A,#01H
-0019B3 F0                MOVX    @DPTR,A
-  580: 			g_variable.last_device_num = g_variable.current_device_num;
-0019B4 904CC3            MOV     DPTR,#g_variable+04H
-0019B7 E0                MOVX    A,@DPTR
-0019B8 904CC0            MOV     DPTR,#g_variable+01H
-0019BB F0                MOVX    @DPTR,A
-  581: 			g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_NORMAL;
-0019BC 904CBF            MOV     DPTR,#g_variable
-0019BF 7401              MOV     A,#01H
+  510: void kb_button_press_timer500ms()
+  511: {
+  512: 	
+  513: //key status 
+  514: /*
+  515: 	if (g_variable.button_flag & KEY_FLAG_BTKEY_PRESS)		//press BT key
+  516: 	{
+  517: 		if (g_variable.button_timer[0] < 250)
+  518: 			g_variable.button_timer[0]++;
+  519: 		if (g_variable.button_timer[0] == 2)
+  520: 		{
+  521: 			YC_key_action_handle(KEY_DISCOVERY);
+  522: 		}
+  523: 	}
+  524: 	else
+  525: 		g_variable.button_timer[0] = 0;
+  526: */		
+  527: 	
+  528: 	if (g_variable.button_flag & KEY_FLAG_SAME_KEY_PRESS)
+001963 904CCE            MOV     DPTR,#g_variable+0FH
+001966 E0                MOVX    A,@DPTR
+001967 30E13E            JNB     ACC.1,?C0097?SYS
+  529: 	{
+  530: 		if (g_variable.button_timer[1] < 250)
+00196A 904CD0            MOV     DPTR,#g_variable+011H
+00196D E0                MOVX    A,@DPTR
+00196E C3                CLR     C
+00196F 94FA              SUBB    A,#0FAH
+001971 5003              JNC     ?C0098?SYS
+  531: 			g_variable.button_timer[1]++;
+001973 E0                MOVX    A,@DPTR
+001974 04                INC     A
+001975 F0                MOVX    @DPTR,A
+001976         ?C0098?SYS:
+  532: 		if (g_variable.button_timer[1] == 180)			// 500ms*180*3 = 4min30s
+001976 904CD0            MOV     DPTR,#g_variable+011H
+001979 E0                MOVX    A,@DPTR
+00197A 64B4              XRL     A,#0B4H
+00197C 7037              JNZ     ?C0103?SYS
+  533: 		{
+  534: 			press_long_time_flag++;
+00197E 904DE3            MOV     DPTR,#press_long_time_flag
+001981 E0                MOVX    A,@DPTR
+001982 04                INC     A
+001983 F0                MOVX    @DPTR,A
+  535: 			if(press_long_time_flag <= 2)
+001984 E0                MOVX    A,@DPTR
+001985 D3                SETB    C
+001986 9402              SUBB    A,#02H
+001988 5007              JNC     ?C0100?SYS
+  536: 			{
+  537: 				g_variable.button_timer[1] = 0;
+00198A E4                CLR     A
+00198B 904CD0            MOV     DPTR,#g_variable+011H
+00198E F0                MOVX    @DPTR,A
+  538: 			}
+00198F 8024              SJMP    ?C0103?SYS
+001991         ?C0100?SYS:
+  539: 			else if(press_long_time_flag == 3)
+001991 904DE3            MOV     DPTR,#press_long_time_flag
+001994 E0                MOVX    A,@DPTR
+001995 B4031D            CJNE    A,#03H,?C0103?SYS
+  540: 			{
+  541: 				long_press_flag = 1;
+001998 904DDC            MOV     DPTR,#long_press_flag
+00199B 7401              MOV     A,#01H
+00199D F0                MOVX    @DPTR,A
+  542: 				g_variable.button_timer[1] = 0;
+00199E E4                CLR     A
+00199F 904CD0            MOV     DPTR,#g_variable+011H
+0019A2 F0                MOVX    @DPTR,A
+  543: 				System_long_sleep();
+0019A3 120FB2            LCALL   System_long_sleep
+  544: 			}
+  545: 		}
+  546: 	}
+0019A6 800D              SJMP    ?C0103?SYS
+0019A8         ?C0097?SYS:
+  547: 	else
+  548: 	{
+  549: 		press_long_time_flag = 0;
+0019A8 E4                CLR     A
+0019A9 904DE3            MOV     DPTR,#press_long_time_flag
+0019AC F0                MOVX    @DPTR,A
+  550: 		long_press_flag = 0;
+0019AD 904DDC            MOV     DPTR,#long_press_flag
+0019B0 F0                MOVX    @DPTR,A
+  551: 		g_variable.button_timer[1] = 0;
+0019B1 904CD0            MOV     DPTR,#g_variable+011H
+0019B4 F0                MOVX    @DPTR,A
+  552: 	}
+0019B5         ?C0103?SYS:
+  553: 		
+  554: 	if (g_variable.button_flag & KEY_FLAG_FN_24G_DEVICE_BUTTON)		// G24 pairing
+0019B5 904CCE            MOV     DPTR,#g_variable+0FH
+0019B8 E0                MOVX    A,@DPTR
+0019B9 30E439            JNB     ACC.4,?C0104?SYS
+  555: 	{
+  556: 		g_variable.delay_enter_lpm_timer = 10;
+0019BC 904CEA            MOV     DPTR,#g_variable+02BH
+0019BF 740A              MOV     A,#0AH
 0019C1 F0                MOVX    @DPTR,A
-  582: 			YC_update_eeprom_data();
-0019C2 12146D            LCALL   YC_update_eeprom_data
-  583: 			System_Reset_Connect();
-0019C5 51E1              ACALL   System_Reset_Connect
-  584: 		}
-0019C7         ?C0110?SYS:
-  585: 		g_variable.button_timer[2] = 0;
-0019C7 E4                CLR     A
-0019C8 904CD1            MOV     DPTR,#g_variable+012H
-0019CB F0                MOVX    @DPTR,A
-  586: 	}
-0019CC         ?C0109?SYS:
-  587: 
-  588: 	
-  589: 	if (g_variable.button_flag & KEY_FLAG_FN_DEVICE_BUTTON)
-0019CC 904CCE            MOV     DPTR,#g_variable+0FH
-0019CF E0                MOVX    A,@DPTR
-0019D0 30E349            JNB     ACC.3,?C0111?SYS
-  590: 	{
-  591: 		g_variable.delay_enter_lpm_timer = 10;
-0019D3 904CEA            MOV     DPTR,#g_variable+02BH
-0019D6 740A              MOV     A,#0AH
-0019D8 F0                MOVX    @DPTR,A
-  592: 		if (g_variable.button_timer[3] < 250)
-0019D9 904CD2            MOV     DPTR,#g_variable+013H
-0019DC E0                MOVX    A,@DPTR
-0019DD C3                CLR     C
-0019DE 94FA              SUBB    A,#0FAH
-0019E0 5003              JNC     ?C0112?SYS
-  593: 			g_variable.button_timer[3]++;
-0019E2 E0                MOVX    A,@DPTR
-0019E3 04                INC     A
-0019E4 F0                MOVX    @DPTR,A
-0019E5         ?C0112?SYS:
-  594: 		if (g_variable.button_timer[3] == 6)
-0019E5 904CD2            MOV     DPTR,#g_variable+013H
-0019E8 E0                MOVX    A,@DPTR
-0019E9 6406              XRL     A,#06H
-0019EB 7067              JNZ     ?C0114?SYS
-  595: 		{
-  596: 			//do discoverable
-  597: 			g_variable.pairing_timeout = BT_PAIRING_TIME_OUT_2MIN;
-0019ED 904CE9            MOV     DPTR,#g_variable+02AH
-0019F0 74F0              MOV     A,#0F0H
-0019F2 F0                MOVX    @DPTR,A
-  598: 			g_variable.pairing_g24_timeout = 0;
-0019F3 E4                CLR     A
-0019F4 904CEE            MOV     DPTR,#g_variable+02FH
-0019F7 F0                MOVX    @DPTR,A
-  599: 			YC_key_action_handle(KEY_DISCOVERY);
-0019F8 7F05              MOV     R7,#05H
-0019FA 12108B            LCALL   _YC_key_action_handle
-  600: 			LED_all_shutdown();
-0019FD 1217B7            LCALL   LED_all_shutdown
-  601: 			g_variable.button_reconnect_flag = 0;
-001A00 E4                CLR     A
-001A01 904CCC            MOV     DPTR,#g_variable+0DH
-001A04 F0                MOVX    @DPTR,A
-  602: 			g_variable.release_data = 1;
-001A05 904CEB            MOV     DPTR,#g_variable+02CH
-001A08 04                INC     A
-001A09 F0                MOVX    @DPTR,A
-  603: 			g_variable.temp_device_num = g_variable.last_device_num;
-001A0A 904CC0            MOV     DPTR,#g_variable+01H
-001A0D E0                MOVX    A,@DPTR
-001A0E 904CC4            MOV     DPTR,#g_variable+05H
-001A11 F0                MOVX    @DPTR,A
-  604: 			g_variable.last_device_num = g_variable.current_device_num;
-001A12 904CC3            MOV     DPTR,#g_variable+04H
-001A15 E0                MOVX    A,@DPTR
-001A16 904CC0            MOV     DPTR,#g_variable+01H
-001A19 F0                MOVX    @DPTR,A
-  605: 		}
-  606: 	}
-001A1A 8038              SJMP    ?C0114?SYS
-001A1C         ?C0111?SYS:
-  607: 	else
-  608: 	{
-  609: 		if (g_variable.button_reconnect_flag)
-001A1C 904CCC            MOV     DPTR,#g_variable+0DH
-001A1F E0                MOVX    A,@DPTR
-001A20 602D              JZ      ?C0115?SYS
-  610: 		{
-  611: 			g_variable.button_reconnect_flag = 0;
-001A22 E4                CLR     A
-001A23 F0                MOVX    @DPTR,A
-  612: 
-  613: 			if(g_variable.last_device_num !=g_variable.current_device_num)		//switch device,
-001A24 904CC3            MOV     DPTR,#g_variable+04H
-001A27 E0                MOVX    A,@DPTR
-001A28 FF                MOV     R7,A
-001A29 904CC0            MOV     DPTR,#g_variable+01H
-001A2C E0                MOVX    A,@DPTR
-001A2D 6F                XRL     A,R7
-001A2E 601F              JZ      ?C0115?SYS
-  614: 			{
-  615: 				g_variable.release_data = 1;
-001A30 904CEB            MOV     DPTR,#g_variable+02CH
-001A33 7401              MOV     A,#01H
-001A35 F0                MOVX    @DPTR,A
-  616: 				LED_all_shutdown();
-001A36 1217B7            LCALL   LED_all_shutdown
-  617: 				g_variable.last_device_num = g_variable.current_device_num;
-001A39 904CC3            MOV     DPTR,#g_variable+04H
+  557: 		if (g_variable.button_timer[2] < 250)
+0019C2 904CD1            MOV     DPTR,#g_variable+012H
+0019C5 E0                MOVX    A,@DPTR
+0019C6 C3                CLR     C
+0019C7 94FA              SUBB    A,#0FAH
+0019C9 5003              JNC     ?C0105?SYS
+  558: 			g_variable.button_timer[2]++;
+0019CB E0                MOVX    A,@DPTR
+0019CC 04                INC     A
+0019CD F0                MOVX    @DPTR,A
+0019CE         ?C0105?SYS:
+  559: 		if (g_variable.button_timer[2] == 6)
+0019CE 904CD1            MOV     DPTR,#g_variable+012H
+0019D1 E0                MOVX    A,@DPTR
+0019D2 6406              XRL     A,#06H
+0019D4 704A              JNZ     ?C0109?SYS
+  560: 		{
+  561: 			if( !g_variable.current_device_num || (g_variable.current_device_num == 0xfe))
+0019D6 904CC3            MOV     DPTR,#g_variable+04H
+0019D9 E0                MOVX    A,@DPTR
+0019DA FF                MOV     R7,A
+0019DB 6004              JZ      ?C0108?SYS
+0019DD 64FE              XRL     A,#0FEH
+0019DF 703F              JNZ     ?C0109?SYS
+0019E1         ?C0108?SYS:
+  562: 			{
+  563: 				g_variable.button_24G_rec_flag = 0;
+0019E1 E4                CLR     A
+0019E2 904CCD            MOV     DPTR,#g_variable+0EH
+0019E5 F0                MOVX    @DPTR,A
+  564: 				YC_disconnect_all_link();
+0019E6 120F87            LCALL   YC_disconnect_all_link
+  565: 				Delay1ms(10);
+0019E9 7F0A              MOV     R7,#0AH
+0019EB 121595            LCALL   _Delay1ms
+  566: 				YC_key_action_handle(KEY_PAIRING_24G);
+0019EE 7F0A              MOV     R7,#0AH
+0019F0 12108B            LCALL   _YC_key_action_handle
+  567: 			}
+  568: 		}
+  569: 	}
+0019F3 802B              SJMP    ?C0109?SYS
+0019F5         ?C0104?SYS:
+  570: 	else
+  571: 	{
+  572: 		if(g_variable.button_24G_rec_flag)
+0019F5 904CCD            MOV     DPTR,#g_variable+0EH
+0019F8 E0                MOVX    A,@DPTR
+0019F9 6020              JZ      ?C0110?SYS
+  573: 		{
+  574: 			g_variable.button_24G_rec_flag = 0;
+0019FB E4                CLR     A
+0019FC F0                MOVX    @DPTR,A
+  575: 			YC_key_action_handle(KEY_STOP_DISCOVERY);
+0019FD 7F0D              MOV     R7,#0DH
+0019FF 12108B            LCALL   _YC_key_action_handle
+  576: 			g_variable.release_data = 1;
+001A02 904CEB            MOV     DPTR,#g_variable+02CH
+001A05 7401              MOV     A,#01H
+001A07 F0                MOVX    @DPTR,A
+  577: 			g_variable.last_device_num = g_variable.current_device_num;
+001A08 904CC3            MOV     DPTR,#g_variable+04H
+001A0B E0                MOVX    A,@DPTR
+001A0C 904CC0            MOV     DPTR,#g_variable+01H
+001A0F F0                MOVX    @DPTR,A
+  578: 			g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_NORMAL;
+001A10 904CBF            MOV     DPTR,#g_variable
+001A13 7401              MOV     A,#01H
+001A15 F0                MOVX    @DPTR,A
+  579: 			YC_update_eeprom_data();
+001A16 121442            LCALL   YC_update_eeprom_data
+  580: 			System_Reset_Connect();
+001A19 7135              ACALL   System_Reset_Connect
+  581: 		}
+001A1B         ?C0110?SYS:
+  582: 		g_variable.button_timer[2] = 0;
+001A1B E4                CLR     A
+001A1C 904CD1            MOV     DPTR,#g_variable+012H
+001A1F F0                MOVX    @DPTR,A
+  583: 	}
+001A20         ?C0109?SYS:
+  584: 
+  585: 	
+  586: 	if (g_variable.button_flag & KEY_FLAG_FN_DEVICE_BUTTON)
+001A20 904CCE            MOV     DPTR,#g_variable+0FH
+001A23 E0                MOVX    A,@DPTR
+001A24 30E349            JNB     ACC.3,?C0111?SYS
+  587: 	{
+  588: 		g_variable.delay_enter_lpm_timer = 10;
+001A27 904CEA            MOV     DPTR,#g_variable+02BH
+001A2A 740A              MOV     A,#0AH
+001A2C F0                MOVX    @DPTR,A
+  589: 		if (g_variable.button_timer[3] < 250)
+001A2D 904CD2            MOV     DPTR,#g_variable+013H
+001A30 E0                MOVX    A,@DPTR
+001A31 C3                CLR     C
+001A32 94FA              SUBB    A,#0FAH
+001A34 5003              JNC     ?C0112?SYS
+  590: 			g_variable.button_timer[3]++;
+001A36 E0                MOVX    A,@DPTR
+001A37 04                INC     A
+001A38 F0                MOVX    @DPTR,A
+001A39         ?C0112?SYS:
+  591: 		if (g_variable.button_timer[3] == 6)
+001A39 904CD2            MOV     DPTR,#g_variable+013H
 001A3C E0                MOVX    A,@DPTR
-001A3D 904CC0            MOV     DPTR,#g_variable+01H
-001A40 F0                MOVX    @DPTR,A
-  618: 				g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_NORMAL;
-001A41 904CBF            MOV     DPTR,#g_variable
-001A44 7401              MOV     A,#01H
+001A3D 6406              XRL     A,#06H
+001A3F 7067              JNZ     ?C0114?SYS
+  592: 		{
+  593: 			//do discoverable
+  594: 			g_variable.pairing_timeout = BT_PAIRING_TIME_OUT_2MIN;
+001A41 904CE9            MOV     DPTR,#g_variable+02AH
+001A44 74F0              MOV     A,#0F0H
 001A46 F0                MOVX    @DPTR,A
-  619: 				
-  620: 				YC_disconnect_all_link();
-001A47 120F87            LCALL   YC_disconnect_all_link
-  621: 				YC_update_eeprom_data();
-001A4A 12146D            LCALL   YC_update_eeprom_data
-  622: 				System_Reset_Connect();
-001A4D 51E1              ACALL   System_Reset_Connect
-  623: 			}
-  624: 		}
-001A4F         ?C0115?SYS:
-  625: 		g_variable.button_timer[3] = 0;
-001A4F E4                CLR     A
-001A50 904CD2            MOV     DPTR,#g_variable+013H
-001A53 F0                MOVX    @DPTR,A
-  626: 	}
-001A54         ?C0114?SYS:
-  627: 
-  628: 
-  629: 	if (g_variable.button_flag & KEY_FLAG_FN_SYSTEM_MODE_BUTTON)
-001A54 904CCE            MOV     DPTR,#g_variable+0FH
-001A57 E0                MOVX    A,@DPTR
-001A58 20E502            JB      ACC.5,$ + 5H
-001A5B 41DB              AJMP    ?C0117?SYS
-  630: 	{
-  631: 		if (g_variable.button_timer[0] < 250)
-001A5D A3                INC     DPTR
-001A5E E0                MOVX    A,@DPTR
-001A5F C3                CLR     C
-001A60 94FA              SUBB    A,#0FAH
-001A62 5003              JNC     ?C0118?SYS
-  632: 			g_variable.button_timer[0]++;
-001A64 E0                MOVX    A,@DPTR
-001A65 04                INC     A
-001A66 F0                MOVX    @DPTR,A
-001A67         ?C0118?SYS:
-  633: 		if (g_variable.button_timer[0] == 6)
-001A67 904CCF            MOV     DPTR,#g_variable+010H
-001A6A E0                MOVX    A,@DPTR
-001A6B 6406              XRL     A,#06H
-001A6D 7071              JNZ     ?C0130?SYS
-  634: 		{
-  635: 			if(key_value_temp == HID_KEY_I)
-001A6F 904DE8            MOV     DPTR,#key_value_temp
-001A72 E0                MOVX    A,@DPTR
-001A73 B40C08            CJNE    A,#0CH,?C0120?SYS
-  636: 			{
-  637: 				g_variable.system_mode = OSMODE_IOS;
-001A76 904CC1            MOV     DPTR,#g_variable+02H
-001A79 7402              MOV     A,#02H
-001A7B F0                MOVX    @DPTR,A
-  638: 			}
-001A7C 801B              SJMP    ?C0121?SYS
-001A7E         ?C0120?SYS:
-  639: 			else if(key_value_temp == HID_KEY_O)
-001A7E 904DE8            MOV     DPTR,#key_value_temp
-001A81 E0                MOVX    A,@DPTR
-001A82 B41208            CJNE    A,#012H,?C0122?SYS
-  640: 			{
-  641: 				g_variable.system_mode = OSMODE_MAC;
-001A85 904CC1            MOV     DPTR,#g_variable+02H
-001A88 7401              MOV     A,#01H
-001A8A F0                MOVX    @DPTR,A
-  642: 
-  643: 			}
-001A8B 800C              SJMP    ?C0121?SYS
-001A8D         ?C0122?SYS:
-  644: 			else if(key_value_temp == HID_KEY_U)
-001A8D 904DE8            MOV     DPTR,#key_value_temp
+  595: 			g_variable.pairing_g24_timeout = 0;
+001A47 E4                CLR     A
+001A48 904CEE            MOV     DPTR,#g_variable+02FH
+001A4B F0                MOVX    @DPTR,A
+  596: 			YC_key_action_handle(KEY_DISCOVERY);
+001A4C 7F05              MOV     R7,#05H
+001A4E 12108B            LCALL   _YC_key_action_handle
+  597: 			LED_all_shutdown();
+001A51 121799            LCALL   LED_all_shutdown
+  598: 			g_variable.button_reconnect_flag = 0;
+001A54 E4                CLR     A
+001A55 904CCC            MOV     DPTR,#g_variable+0DH
+001A58 F0                MOVX    @DPTR,A
+  599: 			g_variable.release_data = 1;
+001A59 904CEB            MOV     DPTR,#g_variable+02CH
+001A5C 04                INC     A
+001A5D F0                MOVX    @DPTR,A
+  600: 			g_variable.temp_device_num = g_variable.last_device_num;
+001A5E 904CC0            MOV     DPTR,#g_variable+01H
+001A61 E0                MOVX    A,@DPTR
+001A62 904CC4            MOV     DPTR,#g_variable+05H
+001A65 F0                MOVX    @DPTR,A
+  601: 			g_variable.last_device_num = g_variable.current_device_num;
+001A66 904CC3            MOV     DPTR,#g_variable+04H
+001A69 E0                MOVX    A,@DPTR
+001A6A 904CC0            MOV     DPTR,#g_variable+01H
+001A6D F0                MOVX    @DPTR,A
+  602: 		}
+  603: 	}
+001A6E 8038              SJMP    ?C0114?SYS
+001A70         ?C0111?SYS:
+  604: 	else
+  605: 	{
+  606: 		if (g_variable.button_reconnect_flag)
+001A70 904CCC            MOV     DPTR,#g_variable+0DH
+001A73 E0                MOVX    A,@DPTR
+001A74 602D              JZ      ?C0115?SYS
+  607: 		{
+  608: 			g_variable.button_reconnect_flag = 0;
+001A76 E4                CLR     A
+001A77 F0                MOVX    @DPTR,A
+  609: 
+  610: 			if(g_variable.last_device_num !=g_variable.current_device_num)		//switch device,
+001A78 904CC3            MOV     DPTR,#g_variable+04H
+001A7B E0                MOVX    A,@DPTR
+001A7C FF                MOV     R7,A
+001A7D 904CC0            MOV     DPTR,#g_variable+01H
+001A80 E0                MOVX    A,@DPTR
+001A81 6F                XRL     A,R7
+001A82 601F              JZ      ?C0115?SYS
+  611: 			{
+  612: 				g_variable.release_data = 1;
+001A84 904CEB            MOV     DPTR,#g_variable+02CH
+001A87 7401              MOV     A,#01H
+001A89 F0                MOVX    @DPTR,A
+  613: 				LED_all_shutdown();
+001A8A 121799            LCALL   LED_all_shutdown
+  614: 				g_variable.last_device_num = g_variable.current_device_num;
+001A8D 904CC3            MOV     DPTR,#g_variable+04H
 001A90 E0                MOVX    A,@DPTR
-001A91 B41805            CJNE    A,#018H,?C0121?SYS
-  645: 			{
-  646: 				g_variable.system_mode = OSMODE_WINDOWS;
-001A94 E4                CLR     A
-001A95 904CC1            MOV     DPTR,#g_variable+02H
-001A98 F0                MOVX    @DPTR,A
-  647: 
-  648: 			}
-001A99         ?C0121?SYS:
-  649: 			g_variable.powerOn_timer = 10;
-001A99 904CE5            MOV     DPTR,#g_variable+026H
-001A9C 740A              MOV     A,#0AH
-001A9E F0                MOVX    @DPTR,A
-  650: 			if(g_variable.current_device_num == 0 || g_variable.current_device_num == 0xfe)
-001A9F 904CC3            MOV     DPTR,#g_variable+04H
-001AA2 E0                MOVX    A,@DPTR
-001AA3 FF                MOV     R7,A
-001AA4 6003              JZ      ?C0126?SYS
-001AA6 B4FE07            CJNE    A,#0FEH,?C0125?SYS
-001AA9         ?C0126?SYS:
-  651: 			{
-  652: 				g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_G24;
-001AA9 904CBF            MOV     DPTR,#g_variable
-001AAC 7402              MOV     A,#02H
-001AAE F0                MOVX    @DPTR,A
-  653: 			}
-001AAF 22                RET     
-001AB0         ?C0125?SYS:
-  654: 			else	if (g_variable.current_device_num <= 3 && g_variable.current_device_num >= 1)
-001AB0 EF                MOV     A,R7
-001AB1 D3                SETB    C
-001AB2 9403              SUBB    A,#03H
-001AB4 502A              JNC     ?C0130?SYS
-001AB6 EF                MOV     A,R7
-001AB7 C3                CLR     C
-001AB8 9401              SUBB    A,#01H
-001ABA 4024              JC      ?C0130?SYS
-  655: 			{
-  656: 				bd_key_record_list[g_variable.current_device_num - 1].system_mode = g_variable.system_mode;
-001ABC 904CC1            MOV     DPTR,#g_variable+02H
-001ABF E0                MOVX    A,@DPTR
-001AC0 FF                MOV     R7,A
-001AC1 904CC3            MOV     DPTR,#g_variable+04H
-001AC4 E0                MOVX    A,@DPTR
-001AC5 75F01F            MOV     B,#01FH
-001AC8 A4                MUL     AB
-001AC9 24EC              ADD     A,#LOW bd_key_record_list-02H
-001ACB F582              MOV     DPL,A
-001ACD E4                CLR     A
-001ACE 344D              ADDC    A,#HIGH bd_key_record_list-02H
-001AD0 F583              MOV     DPH,A
-001AD2 EF                MOV     A,R7
-001AD3 F0                MOVX    @DPTR,A
-  657: 				g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_BT;
-001AD4 904CBF            MOV     DPTR,#g_variable
-001AD7 7403              MOV     A,#03H
-001AD9 F0                MOVX    @DPTR,A
-  658: 			}
-  659: 		}
-  660: 	}
-001ADA 22                RET     
-001ADB         ?C0117?SYS:
-  661: 	else
-  662: 	{
-  663: 		g_variable.button_timer[0] = 0;
-001ADB E4                CLR     A
-001ADC 904CCF            MOV     DPTR,#g_variable+010H
-001ADF F0                MOVX    @DPTR,A
-  664: 	}		
-  665: 
-  666: }
-001AE0         ?C0130?SYS:
-001AE0 22                RET     
+001A91 904CC0            MOV     DPTR,#g_variable+01H
+001A94 F0                MOVX    @DPTR,A
+  615: 				g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_NORMAL;
+001A95 904CBF            MOV     DPTR,#g_variable
+001A98 7401              MOV     A,#01H
+001A9A F0                MOVX    @DPTR,A
+  616: 				
+  617: 				YC_disconnect_all_link();
+001A9B 120F87            LCALL   YC_disconnect_all_link
+  618: 				YC_update_eeprom_data();
+001A9E 121442            LCALL   YC_update_eeprom_data
+  619: 				System_Reset_Connect();
+001AA1 7135              ACALL   System_Reset_Connect
+  620: 			}
+  621: 		}
+001AA3         ?C0115?SYS:
+  622: 		g_variable.button_timer[3] = 0;
+001AA3 E4                CLR     A
+001AA4 904CD2            MOV     DPTR,#g_variable+013H
+001AA7 F0                MOVX    @DPTR,A
+  623: 	}
+001AA8         ?C0114?SYS:
+  624: 
+  625: 
+  626: 	if (g_variable.button_flag & KEY_FLAG_FN_SYSTEM_MODE_BUTTON)
+001AA8 904CCE            MOV     DPTR,#g_variable+0FH
+001AAB E0                MOVX    A,@DPTR
+001AAC 20E502            JB      ACC.5,$ + 5H
+001AAF 612F              AJMP    ?C0117?SYS
+  627: 	{
+  628: 		if (g_variable.button_timer[0] < 250)
+001AB1 A3                INC     DPTR
+001AB2 E0                MOVX    A,@DPTR
+001AB3 C3                CLR     C
+001AB4 94FA              SUBB    A,#0FAH
+001AB6 5003              JNC     ?C0118?SYS
+  629: 			g_variable.button_timer[0]++;
+001AB8 E0                MOVX    A,@DPTR
+001AB9 04                INC     A
+001ABA F0                MOVX    @DPTR,A
+001ABB         ?C0118?SYS:
+  630: 		if (g_variable.button_timer[0] == 6)
+001ABB 904CCF            MOV     DPTR,#g_variable+010H
+001ABE E0                MOVX    A,@DPTR
+001ABF 6406              XRL     A,#06H
+001AC1 7071              JNZ     ?C0130?SYS
+  631: 		{
+  632: 			if(key_value_temp == HID_KEY_I)
+001AC3 904DE8            MOV     DPTR,#key_value_temp
+001AC6 E0                MOVX    A,@DPTR
+001AC7 B40C08            CJNE    A,#0CH,?C0120?SYS
+  633: 			{
+  634: 				g_variable.system_mode = OSMODE_IOS;
+001ACA 904CC1            MOV     DPTR,#g_variable+02H
+001ACD 7402              MOV     A,#02H
+001ACF F0                MOVX    @DPTR,A
+  635: 			}
+001AD0 801B              SJMP    ?C0121?SYS
+001AD2         ?C0120?SYS:
+  636: 			else if(key_value_temp == HID_KEY_O)
+001AD2 904DE8            MOV     DPTR,#key_value_temp
+001AD5 E0                MOVX    A,@DPTR
+001AD6 B41208            CJNE    A,#012H,?C0122?SYS
+  637: 			{
+  638: 				g_variable.system_mode = OSMODE_MAC;
+001AD9 904CC1            MOV     DPTR,#g_variable+02H
+001ADC 7401              MOV     A,#01H
+001ADE F0                MOVX    @DPTR,A
+  639: 
+  640: 			}
+001ADF 800C              SJMP    ?C0121?SYS
+001AE1         ?C0122?SYS:
+  641: 			else if(key_value_temp == HID_KEY_U)
+001AE1 904DE8            MOV     DPTR,#key_value_temp
+001AE4 E0                MOVX    A,@DPTR
+001AE5 B41805            CJNE    A,#018H,?C0121?SYS
+  642: 			{
+  643: 				g_variable.system_mode = OSMODE_WINDOWS;
+001AE8 E4                CLR     A
+001AE9 904CC1            MOV     DPTR,#g_variable+02H
+001AEC F0                MOVX    @DPTR,A
+  644: 
+  645: 			}
+001AED         ?C0121?SYS:
+  646: 			g_variable.powerOn_timer = 10;
+001AED 904CE5            MOV     DPTR,#g_variable+026H
+001AF0 740A              MOV     A,#0AH
+001AF2 F0                MOVX    @DPTR,A
+  647: 			if(g_variable.current_device_num == 0 || g_variable.current_device_num == 0xfe)
+001AF3 904CC3            MOV     DPTR,#g_variable+04H
+001AF6 E0                MOVX    A,@DPTR
+001AF7 FF                MOV     R7,A
+001AF8 6003              JZ      ?C0126?SYS
+001AFA B4FE07            CJNE    A,#0FEH,?C0125?SYS
+001AFD         ?C0126?SYS:
+  648: 			{
+  649: 				g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_G24;
+001AFD 904CBF            MOV     DPTR,#g_variable
+001B00 7402              MOV     A,#02H
+001B02 F0                MOVX    @DPTR,A
+  650: 			}
+001B03 22                RET     
+001B04         ?C0125?SYS:
+  651: 			else	if (g_variable.current_device_num <= 3 && g_variable.current_device_num >= 1)
+001B04 EF                MOV     A,R7
+001B05 D3                SETB    C
+001B06 9403              SUBB    A,#03H
+001B08 502A              JNC     ?C0130?SYS
+001B0A EF                MOV     A,R7
+001B0B C3                CLR     C
+001B0C 9401              SUBB    A,#01H
+001B0E 4024              JC      ?C0130?SYS
+  652: 			{
+  653: 				bd_key_record_list[g_variable.current_device_num - 1].system_mode = g_variable.system_mode;
+001B10 904CC1            MOV     DPTR,#g_variable+02H
+001B13 E0                MOVX    A,@DPTR
+001B14 FF                MOV     R7,A
+001B15 904CC3            MOV     DPTR,#g_variable+04H
+001B18 E0                MOVX    A,@DPTR
+001B19 75F01F            MOV     B,#01FH
+001B1C A4                MUL     AB
+001B1D 24EC              ADD     A,#LOW bd_key_record_list-02H
+001B1F F582              MOV     DPL,A
+001B21 E4                CLR     A
+001B22 344D              ADDC    A,#HIGH bd_key_record_list-02H
+001B24 F583              MOV     DPH,A
+001B26 EF                MOV     A,R7
+001B27 F0                MOVX    @DPTR,A
+  654: 				g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_BT;
+001B28 904CBF            MOV     DPTR,#g_variable
+001B2B 7403              MOV     A,#03H
+001B2D F0                MOVX    @DPTR,A
+  655: 			}
+  656: 		}
+  657: 	}
+001B2E 22                RET     
+001B2F         ?C0117?SYS:
+  658: 	else
+  659: 	{
+  660: 		g_variable.button_timer[0] = 0;
+001B2F E4                CLR     A
+001B30 904CCF            MOV     DPTR,#g_variable+010H
+001B33 F0                MOVX    @DPTR,A
+  661: 	}		
+  662: 
+  663: }
+001B34         ?C0130?SYS:
+001B34 22                RET     
 ----- FUNCTION kb_button_press_timer500ms (END) -------
 
 
@@ -4430,13 +4518,13 @@
    75: {
    76: 	m_reset_reg = 1;
    77: 	while(1);
-001AE1 908010            MOV     DPTR,#m_reset_reg
-001AE4 7401              MOV     A,#01H
-001AE6 F0                MOVX    @DPTR,A
-001AE7         ?C0005?SYS:
+001B35 908010            MOV     DPTR,#m_reset_reg
+001B38 7401              MOV     A,#01H
+001B3A F0                MOVX    @DPTR,A
+001B3B         ?C0005?SYS:
    78: }
-001AE7 80FE              SJMP    ?C0005?SYS
-001AE9 22                RET     
+001B3B 80FE              SJMP    ?C0005?SYS
+001B3D 22                RET     
 ----- FUNCTION System_Hardware_reset (END) -------
 
 
@@ -4447,383 +4535,383 @@
    44: #ifdef  ADC_ENABLE
    45: 	byte i;
    46: 	ulong batValue = 0;
-001AEA 904ECB            MOV     DPTR,#batValue
-001AED 120582            LCALL   ?C?LSTKXDATA
-001AF0 00                DB      00H
-001AF1 00                DB      00H
-001AF2 00                DB      00H
-001AF3 00                DB      00H
+001B3E 904ECB            MOV     DPTR,#batValue
+001B41 120582            LCALL   ?C?LSTKXDATA
+001B44 00                DB      00H
+001B45 00                DB      00H
+001B46 00                DB      00H
+001B47 00                DB      00H
    47: 
    48: 	if(!m_adcCurrentValue)
-001AF4 904C95            MOV     DPTR,#m_adcCurrentValue
-001AF7 E0                MOVX    A,@DPTR
-001AF8 7002              JNZ     ?C0024?ADC
-001AFA A3                INC     DPTR
-001AFB E0                MOVX    A,@DPTR
-001AFC         ?C0024?ADC:
-001AFC 7002              JNZ     $ + 4H
-001AFE 81A7              AJMP    ?C0006?ADC
-001B00         ?C0005?ADC:
+001B48 904C95            MOV     DPTR,#m_adcCurrentValue
+001B4B E0                MOVX    A,@DPTR
+001B4C 7002              JNZ     ?C0024?ADC
+001B4E A3                INC     DPTR
+001B4F E0                MOVX    A,@DPTR
+001B50         ?C0024?ADC:
+001B50 7002              JNZ     $ + 4H
+001B52 81FB              AJMP    ?C0006?ADC
+001B54         ?C0005?ADC:
    49: 		return;
    50: 
    51: 	g_variable.battery_value[g_variable.battery_value_index++] = m_adcCurrentValue;
-001B00 904C95            MOV     DPTR,#m_adcCurrentValue
-001B03 E0                MOVX    A,@DPTR
-001B04 FE                MOV     R6,A
-001B05 A3                INC     DPTR
-001B06 E0                MOVX    A,@DPTR
-001B07 FF                MOV     R7,A
-001B08 904CD4            MOV     DPTR,#g_variable+015H
-001B0B E0                MOVX    A,@DPTR
-001B0C FD                MOV     R5,A
-001B0D 04                INC     A
-001B0E F0                MOVX    @DPTR,A
-001B0F ED                MOV     A,R5
-001B10 25E0              ADD     A,ACC
-001B12 24D6              ADD     A,#LOW g_variable+017H
-001B14 F582              MOV     DPL,A
-001B16 E4                CLR     A
-001B17 344C              ADDC    A,#HIGH g_variable+017H
-001B19 F583              MOV     DPH,A
-001B1B EE                MOV     A,R6
-001B1C F0                MOVX    @DPTR,A
-001B1D A3                INC     DPTR
-001B1E EF                MOV     A,R7
-001B1F F0                MOVX    @DPTR,A
+001B54 904C95            MOV     DPTR,#m_adcCurrentValue
+001B57 E0                MOVX    A,@DPTR
+001B58 FE                MOV     R6,A
+001B59 A3                INC     DPTR
+001B5A E0                MOVX    A,@DPTR
+001B5B FF                MOV     R7,A
+001B5C 904CD4            MOV     DPTR,#g_variable+015H
+001B5F E0                MOVX    A,@DPTR
+001B60 FD                MOV     R5,A
+001B61 04                INC     A
+001B62 F0                MOVX    @DPTR,A
+001B63 ED                MOV     A,R5
+001B64 25E0              ADD     A,ACC
+001B66 24D6              ADD     A,#LOW g_variable+017H
+001B68 F582              MOV     DPL,A
+001B6A E4                CLR     A
+001B6B 344C              ADDC    A,#HIGH g_variable+017H
+001B6D F583              MOV     DPH,A
+001B6F EE                MOV     A,R6
+001B70 F0                MOVX    @DPTR,A
+001B71 A3                INC     DPTR
+001B72 EF                MOV     A,R7
+001B73 F0                MOVX    @DPTR,A
    52: 	if (g_variable.battery_value_index >= BAT_ARRAY_LEN)
-001B20 904CD4            MOV     DPTR,#g_variable+015H
-001B23 E0                MOVX    A,@DPTR
-001B24 C3                CLR     C
-001B25 9404              SUBB    A,#04H
-001B27 4002              JC      ?C0007?ADC
+001B74 904CD4            MOV     DPTR,#g_variable+015H
+001B77 E0                MOVX    A,@DPTR
+001B78 C3                CLR     C
+001B79 9404              SUBB    A,#04H
+001B7B 4002              JC      ?C0007?ADC
    53: 		g_variable.battery_value_index = 0;
-001B29 E4                CLR     A
-001B2A F0                MOVX    @DPTR,A
-001B2B         ?C0007?ADC:
+001B7D E4                CLR     A
+001B7E F0                MOVX    @DPTR,A
+001B7F         ?C0007?ADC:
    54: 	for (i = 0; i < BAT_ARRAY_LEN; i++)
-001B2B E4                CLR     A
-001B2C 904ECA            MOV     DPTR,#i
-001B2F F0                MOVX    @DPTR,A
-001B30         ?C0008?ADC:
+001B7F E4                CLR     A
+001B80 904ECA            MOV     DPTR,#i
+001B83 F0                MOVX    @DPTR,A
+001B84         ?C0008?ADC:
    55: 	{
    56: 		batValue += g_variable.battery_value[i];
-001B30 904ECB            MOV     DPTR,#batValue
-001B33 E0                MOVX    A,@DPTR
-001B34 F8                MOV     R0,A
-001B35 A3                INC     DPTR
-001B36 E0                MOVX    A,@DPTR
-001B37 F9                MOV     R1,A
-001B38 A3                INC     DPTR
-001B39 E0                MOVX    A,@DPTR
-001B3A FA                MOV     R2,A
-001B3B A3                INC     DPTR
-001B3C E0                MOVX    A,@DPTR
-001B3D FB                MOV     R3,A
-001B3E 904ECA            MOV     DPTR,#i
-001B41 E0                MOVX    A,@DPTR
-001B42 25E0              ADD     A,ACC
-001B44 24D6              ADD     A,#LOW g_variable+017H
-001B46 F582              MOV     DPL,A
-001B48 E4                CLR     A
-001B49 344C              ADDC    A,#HIGH g_variable+017H
-001B4B F583              MOV     DPH,A
-001B4D E0                MOVX    A,@DPTR
-001B4E FE                MOV     R6,A
-001B4F A3                INC     DPTR
-001B50 E0                MOVX    A,@DPTR
-001B51 FF                MOV     R7,A
-001B52 E4                CLR     A
-001B53 FC                MOV     R4,A
-001B54 FD                MOV     R5,A
-001B55 EB                MOV     A,R3
-001B56 2F                ADD     A,R7
-001B57 FF                MOV     R7,A
-001B58 EA                MOV     A,R2
-001B59 3E                ADDC    A,R6
-001B5A FE                MOV     R6,A
-001B5B ED                MOV     A,R5
-001B5C 39                ADDC    A,R1
-001B5D FD                MOV     R5,A
-001B5E EC                MOV     A,R4
-001B5F 38                ADDC    A,R0
-001B60 FC                MOV     R4,A
-001B61 904ECB            MOV     DPTR,#batValue
-001B64 120576            LCALL   ?C?LSTXDATA
+001B84 904ECB            MOV     DPTR,#batValue
+001B87 E0                MOVX    A,@DPTR
+001B88 F8                MOV     R0,A
+001B89 A3                INC     DPTR
+001B8A E0                MOVX    A,@DPTR
+001B8B F9                MOV     R1,A
+001B8C A3                INC     DPTR
+001B8D E0                MOVX    A,@DPTR
+001B8E FA                MOV     R2,A
+001B8F A3                INC     DPTR
+001B90 E0                MOVX    A,@DPTR
+001B91 FB                MOV     R3,A
+001B92 904ECA            MOV     DPTR,#i
+001B95 E0                MOVX    A,@DPTR
+001B96 25E0              ADD     A,ACC
+001B98 24D6              ADD     A,#LOW g_variable+017H
+001B9A F582              MOV     DPL,A
+001B9C E4                CLR     A
+001B9D 344C              ADDC    A,#HIGH g_variable+017H
+001B9F F583              MOV     DPH,A
+001BA1 E0                MOVX    A,@DPTR
+001BA2 FE                MOV     R6,A
+001BA3 A3                INC     DPTR
+001BA4 E0                MOVX    A,@DPTR
+001BA5 FF                MOV     R7,A
+001BA6 E4                CLR     A
+001BA7 FC                MOV     R4,A
+001BA8 FD                MOV     R5,A
+001BA9 EB                MOV     A,R3
+001BAA 2F                ADD     A,R7
+001BAB FF                MOV     R7,A
+001BAC EA                MOV     A,R2
+001BAD 3E                ADDC    A,R6
+001BAE FE                MOV     R6,A
+001BAF ED                MOV     A,R5
+001BB0 39                ADDC    A,R1
+001BB1 FD                MOV     R5,A
+001BB2 EC                MOV     A,R4
+001BB3 38                ADDC    A,R0
+001BB4 FC                MOV     R4,A
+001BB5 904ECB            MOV     DPTR,#batValue
+001BB8 120576            LCALL   ?C?LSTXDATA
    57: 	}
-001B67 904ECA            MOV     DPTR,#i
-001B6A E0                MOVX    A,@DPTR
-001B6B 04                INC     A
-001B6C F0                MOVX    @DPTR,A
-001B6D E0                MOVX    A,@DPTR
-001B6E B404BF            CJNE    A,#04H,?C0008?ADC
-001B71         ?C0009?ADC:
+001BBB 904ECA            MOV     DPTR,#i
+001BBE E0                MOVX    A,@DPTR
+001BBF 04                INC     A
+001BC0 F0                MOVX    @DPTR,A
+001BC1 E0                MOVX    A,@DPTR
+001BC2 B404BF            CJNE    A,#04H,?C0008?ADC
+001BC5         ?C0009?ADC:
    58: 	batValue = batValue/BAT_ARRAY_LEN;
-001B71 904ECB            MOV     DPTR,#batValue
-001B74 E0                MOVX    A,@DPTR
-001B75 FC                MOV     R4,A
-001B76 A3                INC     DPTR
-001B77 E0                MOVX    A,@DPTR
-001B78 FD                MOV     R5,A
-001B79 A3                INC     DPTR
-001B7A E0                MOVX    A,@DPTR
-001B7B FE                MOV     R6,A
-001B7C A3                INC     DPTR
-001B7D E0                MOVX    A,@DPTR
-001B7E FF                MOV     R7,A
-001B7F E4                CLR     A
-001B80 7B04              MOV     R3,#04H
-001B82 FA                MOV     R2,A
-001B83 F9                MOV     R1,A
-001B84 F8                MOV     R0,A
-001B85 1204C5            LCALL   ?C?ULDIV
-001B88 904ECB            MOV     DPTR,#batValue
-001B8B 120576            LCALL   ?C?LSTXDATA
+001BC5 904ECB            MOV     DPTR,#batValue
+001BC8 E0                MOVX    A,@DPTR
+001BC9 FC                MOV     R4,A
+001BCA A3                INC     DPTR
+001BCB E0                MOVX    A,@DPTR
+001BCC FD                MOV     R5,A
+001BCD A3                INC     DPTR
+001BCE E0                MOVX    A,@DPTR
+001BCF FE                MOV     R6,A
+001BD0 A3                INC     DPTR
+001BD1 E0                MOVX    A,@DPTR
+001BD2 FF                MOV     R7,A
+001BD3 E4                CLR     A
+001BD4 7B04              MOV     R3,#04H
+001BD6 FA                MOV     R2,A
+001BD7 F9                MOV     R1,A
+001BD8 F8                MOV     R0,A
+001BD9 1204C5            LCALL   ?C?ULDIV
+001BDC 904ECB            MOV     DPTR,#batValue
+001BDF 120576            LCALL   ?C?LSTXDATA
    59: 
    60: 	if(batValue <= g_variable.battery_level_shutdown)
-001B8E 904CE0            MOV     DPTR,#g_variable+021H
-001B91 E0                MOVX    A,@DPTR
-001B92 FE                MOV     R6,A
-001B93 A3                INC     DPTR
-001B94 E0                MOVX    A,@DPTR
-001B95 FF                MOV     R7,A
-001B96 E4                CLR     A
-001B97 FC                MOV     R4,A
-001B98 FD                MOV     R5,A
-001B99 904ECB            MOV     DPTR,#batValue
-001B9C E0                MOVX    A,@DPTR
-001B9D F8                MOV     R0,A
-001B9E A3                INC     DPTR
-001B9F E0                MOVX    A,@DPTR
-001BA0 F9                MOV     R1,A
-001BA1 A3                INC     DPTR
-001BA2 E0                MOVX    A,@DPTR
-001BA3 FA                MOV     R2,A
-001BA4 A3                INC     DPTR
-001BA5 E0                MOVX    A,@DPTR
-001BA6 FB                MOV     R3,A
-001BA7 D3                SETB    C
-001BA8 120565            LCALL   ?C?ULCMP
-001BAB 5007              JNC     ?C0011?ADC
+001BE2 904CE0            MOV     DPTR,#g_variable+021H
+001BE5 E0                MOVX    A,@DPTR
+001BE6 FE                MOV     R6,A
+001BE7 A3                INC     DPTR
+001BE8 E0                MOVX    A,@DPTR
+001BE9 FF                MOV     R7,A
+001BEA E4                CLR     A
+001BEB FC                MOV     R4,A
+001BEC FD                MOV     R5,A
+001BED 904ECB            MOV     DPTR,#batValue
+001BF0 E0                MOVX    A,@DPTR
+001BF1 F8                MOV     R0,A
+001BF2 A3                INC     DPTR
+001BF3 E0                MOVX    A,@DPTR
+001BF4 F9                MOV     R1,A
+001BF5 A3                INC     DPTR
+001BF6 E0                MOVX    A,@DPTR
+001BF7 FA                MOV     R2,A
+001BF8 A3                INC     DPTR
+001BF9 E0                MOVX    A,@DPTR
+001BFA FB                MOV     R3,A
+001BFB D3                SETB    C
+001BFC 120565            LCALL   ?C?ULCMP
+001BFF 5007              JNC     ?C0011?ADC
    61: 		g_variable.battery_level_percentage = 0;
-001BAD E4                CLR     A
-001BAE 904CF9            MOV     DPTR,#g_variable+03AH
-001BB1 F0                MOVX    @DPTR,A
-001BB2 8136              AJMP    ?C0012?ADC
-001BB4         ?C0011?ADC:
+001C01 E4                CLR     A
+001C02 904CF9            MOV     DPTR,#g_variable+03AH
+001C05 F0                MOVX    @DPTR,A
+001C06 818A              AJMP    ?C0012?ADC
+001C08         ?C0011?ADC:
    62: 	else	if(batValue >= g_variable.battery_level_full)
-001BB4 904CFA            MOV     DPTR,#g_variable+03BH
-001BB7 E0                MOVX    A,@DPTR
-001BB8 FE                MOV     R6,A
-001BB9 A3                INC     DPTR
-001BBA E0                MOVX    A,@DPTR
-001BBB FF                MOV     R7,A
-001BBC E4                CLR     A
-001BBD FC                MOV     R4,A
-001BBE FD                MOV     R5,A
-001BBF 904ECB            MOV     DPTR,#batValue
-001BC2 E0                MOVX    A,@DPTR
-001BC3 F8                MOV     R0,A
-001BC4 A3                INC     DPTR
-001BC5 E0                MOVX    A,@DPTR
-001BC6 F9                MOV     R1,A
-001BC7 A3                INC     DPTR
-001BC8 E0                MOVX    A,@DPTR
-001BC9 FA                MOV     R2,A
-001BCA A3                INC     DPTR
-001BCB E0                MOVX    A,@DPTR
-001BCC FB                MOV     R3,A
-001BCD C3                CLR     C
-001BCE 120565            LCALL   ?C?ULCMP
-001BD1 4008              JC      ?C0013?ADC
+001C08 904CFA            MOV     DPTR,#g_variable+03BH
+001C0B E0                MOVX    A,@DPTR
+001C0C FE                MOV     R6,A
+001C0D A3                INC     DPTR
+001C0E E0                MOVX    A,@DPTR
+001C0F FF                MOV     R7,A
+001C10 E4                CLR     A
+001C11 FC                MOV     R4,A
+001C12 FD                MOV     R5,A
+001C13 904ECB            MOV     DPTR,#batValue
+001C16 E0                MOVX    A,@DPTR
+001C17 F8                MOV     R0,A
+001C18 A3                INC     DPTR
+001C19 E0                MOVX    A,@DPTR
+001C1A F9                MOV     R1,A
+001C1B A3                INC     DPTR
+001C1C E0                MOVX    A,@DPTR
+001C1D FA                MOV     R2,A
+001C1E A3                INC     DPTR
+001C1F E0                MOVX    A,@DPTR
+001C20 FB                MOV     R3,A
+001C21 C3                CLR     C
+001C22 120565            LCALL   ?C?ULCMP
+001C25 4008              JC      ?C0013?ADC
    63: 		g_variable.battery_level_percentage = 100;
-001BD3 904CF9            MOV     DPTR,#g_variable+03AH
-001BD6 7464              MOV     A,#064H
-001BD8 F0                MOVX    @DPTR,A
-001BD9 805B              SJMP    ?C0012?ADC
-001BDB         ?C0013?ADC:
+001C27 904CF9            MOV     DPTR,#g_variable+03AH
+001C2A 7464              MOV     A,#064H
+001C2C F0                MOVX    @DPTR,A
+001C2D 805B              SJMP    ?C0012?ADC
+001C2F         ?C0013?ADC:
    64: 	else	
    65: 		g_variable.battery_level_percentage = (byte)(((batValue - g_variable.battery_level_shutdown)*100)/(g_variable.b
 >> attery_level_full -g_variable.battery_level_shutdown) );
-001BDB 904CE0            MOV     DPTR,#g_variable+021H
-001BDE E0                MOVX    A,@DPTR
-001BDF FE                MOV     R6,A
-001BE0 A3                INC     DPTR
-001BE1 E0                MOVX    A,@DPTR
-001BE2 FF                MOV     R7,A
-001BE3 FB                MOV     R3,A
-001BE4 AA06              MOV     R2,AR6
-001BE6 E4                CLR     A
-001BE7 904ECB            MOV     DPTR,#batValue
-001BEA E0                MOVX    A,@DPTR
-001BEB FC                MOV     R4,A
-001BEC A3                INC     DPTR
-001BED E0                MOVX    A,@DPTR
-001BEE FD                MOV     R5,A
-001BEF A3                INC     DPTR
-001BF0 E0                MOVX    A,@DPTR
-001BF1 FE                MOV     R6,A
-001BF2 A3                INC     DPTR
-001BF3 E0                MOVX    A,@DPTR
-001BF4 C3                CLR     C
-001BF5 9B                SUBB    A,R3
-001BF6 FF                MOV     R7,A
-001BF7 EE                MOV     A,R6
-001BF8 9A                SUBB    A,R2
-001BF9 FE                MOV     R6,A
-001BFA ED                MOV     A,R5
-001BFB 9400              SUBB    A,#00H
-001BFD FD                MOV     R5,A
-001BFE EC                MOV     A,R4
-001BFF 9400              SUBB    A,#00H
-001C01 FC                MOV     R4,A
-001C02 E4                CLR     A
-001C03 7B64              MOV     R3,#064H
-001C05 FA                MOV     R2,A
-001C06 F9                MOV     R1,A
-001C07 F8                MOV     R0,A
-001C08 12043A            LCALL   ?C?LMUL
-001C0B C006              PUSH    AR6
-001C0D C007              PUSH    AR7
-001C0F 904CE0            MOV     DPTR,#g_variable+021H
-001C12 E0                MOVX    A,@DPTR
-001C13 FE                MOV     R6,A
-001C14 A3                INC     DPTR
-001C15 E0                MOVX    A,@DPTR
-001C16 FF                MOV     R7,A
-001C17 C3                CLR     C
-001C18 904CFB            MOV     DPTR,#g_variable+03CH
-001C1B E0                MOVX    A,@DPTR
-001C1C 9F                SUBB    A,R7
-001C1D FF                MOV     R7,A
-001C1E 904CFA            MOV     DPTR,#g_variable+03BH
-001C21 E0                MOVX    A,@DPTR
-001C22 9E                SUBB    A,R6
-001C23 FE                MOV     R6,A
-001C24 AB07              MOV     R3,AR7
-001C26 FA                MOV     R2,A
-001C27 E4                CLR     A
-001C28 F9                MOV     R1,A
-001C29 F8                MOV     R0,A
-001C2A D007              POP     AR7
-001C2C D006              POP     AR6
-001C2E 1204C5            LCALL   ?C?ULDIV
-001C31 904CF9            MOV     DPTR,#g_variable+03AH
-001C34 EF                MOV     A,R7
-001C35 F0                MOVX    @DPTR,A
-001C36         ?C0012?ADC:
+001C2F 904CE0            MOV     DPTR,#g_variable+021H
+001C32 E0                MOVX    A,@DPTR
+001C33 FE                MOV     R6,A
+001C34 A3                INC     DPTR
+001C35 E0                MOVX    A,@DPTR
+001C36 FF                MOV     R7,A
+001C37 FB                MOV     R3,A
+001C38 AA06              MOV     R2,AR6
+001C3A E4                CLR     A
+001C3B 904ECB            MOV     DPTR,#batValue
+001C3E E0                MOVX    A,@DPTR
+001C3F FC                MOV     R4,A
+001C40 A3                INC     DPTR
+001C41 E0                MOVX    A,@DPTR
+001C42 FD                MOV     R5,A
+001C43 A3                INC     DPTR
+001C44 E0                MOVX    A,@DPTR
+001C45 FE                MOV     R6,A
+001C46 A3                INC     DPTR
+001C47 E0                MOVX    A,@DPTR
+001C48 C3                CLR     C
+001C49 9B                SUBB    A,R3
+001C4A FF                MOV     R7,A
+001C4B EE                MOV     A,R6
+001C4C 9A                SUBB    A,R2
+001C4D FE                MOV     R6,A
+001C4E ED                MOV     A,R5
+001C4F 9400              SUBB    A,#00H
+001C51 FD                MOV     R5,A
+001C52 EC                MOV     A,R4
+001C53 9400              SUBB    A,#00H
+001C55 FC                MOV     R4,A
+001C56 E4                CLR     A
+001C57 7B64              MOV     R3,#064H
+001C59 FA                MOV     R2,A
+001C5A F9                MOV     R1,A
+001C5B F8                MOV     R0,A
+001C5C 12043A            LCALL   ?C?LMUL
+001C5F C006              PUSH    AR6
+001C61 C007              PUSH    AR7
+001C63 904CE0            MOV     DPTR,#g_variable+021H
+001C66 E0                MOVX    A,@DPTR
+001C67 FE                MOV     R6,A
+001C68 A3                INC     DPTR
+001C69 E0                MOVX    A,@DPTR
+001C6A FF                MOV     R7,A
+001C6B C3                CLR     C
+001C6C 904CFB            MOV     DPTR,#g_variable+03CH
+001C6F E0                MOVX    A,@DPTR
+001C70 9F                SUBB    A,R7
+001C71 FF                MOV     R7,A
+001C72 904CFA            MOV     DPTR,#g_variable+03BH
+001C75 E0                MOVX    A,@DPTR
+001C76 9E                SUBB    A,R6
+001C77 FE                MOV     R6,A
+001C78 AB07              MOV     R3,AR7
+001C7A FA                MOV     R2,A
+001C7B E4                CLR     A
+001C7C F9                MOV     R1,A
+001C7D F8                MOV     R0,A
+001C7E D007              POP     AR7
+001C80 D006              POP     AR6
+001C82 1204C5            LCALL   ?C?ULDIV
+001C85 904CF9            MOV     DPTR,#g_variable+03AH
+001C88 EF                MOV     A,R7
+001C89 F0                MOVX    @DPTR,A
+001C8A         ?C0012?ADC:
    66: 	
    67: 	if(g_variable.battery_value[0] < g_variable.battery_level_shutdown)
-001C36 904CE0            MOV     DPTR,#g_variable+021H
-001C39 E0                MOVX    A,@DPTR
-001C3A FE                MOV     R6,A
-001C3B A3                INC     DPTR
-001C3C E0                MOVX    A,@DPTR
-001C3D FF                MOV     R7,A
-001C3E C3                CLR     C
-001C3F 904CD7            MOV     DPTR,#g_variable+018H
-001C42 E0                MOVX    A,@DPTR
-001C43 9F                SUBB    A,R7
-001C44 904CD6            MOV     DPTR,#g_variable+017H
-001C47 E0                MOVX    A,@DPTR
-001C48 9E                SUBB    A,R6
-001C49 5007              JNC     ?C0015?ADC
+001C8A 904CE0            MOV     DPTR,#g_variable+021H
+001C8D E0                MOVX    A,@DPTR
+001C8E FE                MOV     R6,A
+001C8F A3                INC     DPTR
+001C90 E0                MOVX    A,@DPTR
+001C91 FF                MOV     R7,A
+001C92 C3                CLR     C
+001C93 904CD7            MOV     DPTR,#g_variable+018H
+001C96 E0                MOVX    A,@DPTR
+001C97 9F                SUBB    A,R7
+001C98 904CD6            MOV     DPTR,#g_variable+017H
+001C9B E0                MOVX    A,@DPTR
+001C9C 9E                SUBB    A,R6
+001C9D 5007              JNC     ?C0015?ADC
    68: 	{
    69: 		g_variable.battery_status = BAT_STATUS_SHUT_DOWN;
-001C4B 904CD5            MOV     DPTR,#g_variable+016H
-001C4E 7402              MOV     A,#02H
-001C50 F0                MOVX    @DPTR,A
+001C9F 904CD5            MOV     DPTR,#g_variable+016H
+001CA2 7402              MOV     A,#02H
+001CA4 F0                MOVX    @DPTR,A
    70: 	}
-001C51 22                RET     
-001C52         ?C0015?ADC:
+001CA5 22                RET     
+001CA6         ?C0015?ADC:
    71: 	else
    72: 	{
    73: 		if (batValue < g_variable.battery_level_low)
-001C52 904CDE            MOV     DPTR,#g_variable+01FH
-001C55 E0                MOVX    A,@DPTR
-001C56 FE                MOV     R6,A
-001C57 A3                INC     DPTR
-001C58 E0                MOVX    A,@DPTR
-001C59 FF                MOV     R7,A
-001C5A E4                CLR     A
-001C5B FC                MOV     R4,A
-001C5C FD                MOV     R5,A
-001C5D 904ECB            MOV     DPTR,#batValue
-001C60 E0                MOVX    A,@DPTR
-001C61 F8                MOV     R0,A
-001C62 A3                INC     DPTR
-001C63 E0                MOVX    A,@DPTR
-001C64 F9                MOV     R1,A
-001C65 A3                INC     DPTR
-001C66 E0                MOVX    A,@DPTR
-001C67 FA                MOV     R2,A
-001C68 A3                INC     DPTR
-001C69 E0                MOVX    A,@DPTR
-001C6A FB                MOV     R3,A
-001C6B C3                CLR     C
-001C6C 120565            LCALL   ?C?ULCMP
-001C6F 501C              JNC     ?C0017?ADC
+001CA6 904CDE            MOV     DPTR,#g_variable+01FH
+001CA9 E0                MOVX    A,@DPTR
+001CAA FE                MOV     R6,A
+001CAB A3                INC     DPTR
+001CAC E0                MOVX    A,@DPTR
+001CAD FF                MOV     R7,A
+001CAE E4                CLR     A
+001CAF FC                MOV     R4,A
+001CB0 FD                MOV     R5,A
+001CB1 904ECB            MOV     DPTR,#batValue
+001CB4 E0                MOVX    A,@DPTR
+001CB5 F8                MOV     R0,A
+001CB6 A3                INC     DPTR
+001CB7 E0                MOVX    A,@DPTR
+001CB8 F9                MOV     R1,A
+001CB9 A3                INC     DPTR
+001CBA E0                MOVX    A,@DPTR
+001CBB FA                MOV     R2,A
+001CBC A3                INC     DPTR
+001CBD E0                MOVX    A,@DPTR
+001CBE FB                MOV     R3,A
+001CBF C3                CLR     C
+001CC0 120565            LCALL   ?C?ULCMP
+001CC3 501C              JNC     ?C0017?ADC
    74: 		{
    75: 			g_variable.battery_status = BAT_STATUS_LOW;
-001C71 904CD5            MOV     DPTR,#g_variable+016H
-001C74 7401              MOV     A,#01H
-001C76 F0                MOVX    @DPTR,A
+001CC5 904CD5            MOV     DPTR,#g_variable+016H
+001CC8 7401              MOV     A,#01H
+001CCA F0                MOVX    @DPTR,A
    76: 			if(!g_variable.g24_long_sleep_flag)
-001C77 904CFC            MOV     DPTR,#g_variable+03DH
-001C7A E0                MOVX    A,@DPTR
-001C7B 702A              JNZ     ?C0006?ADC
+001CCB 904CFC            MOV     DPTR,#g_variable+03DH
+001CCE E0                MOVX    A,@DPTR
+001CCF 702A              JNZ     ?C0006?ADC
    77: 			{
    78: 			m_24g_enter_hibernate[0]	= 0x00;
-001C7D 904D40            MOV     DPTR,#m_24g_enter_hibernate
-001C80 F0                MOVX    @DPTR,A
+001CD1 904D40            MOV     DPTR,#m_24g_enter_hibernate
+001CD4 F0                MOVX    @DPTR,A
    79: 			m_24g_enter_hibernate[1]	= 0x48;
-001C81 A3                INC     DPTR
-001C82 7448              MOV     A,#048H
-001C84 F0                MOVX    @DPTR,A
+001CD5 A3                INC     DPTR
+001CD6 7448              MOV     A,#048H
+001CD8 F0                MOVX    @DPTR,A
    80: 			m_24g_enter_hibernate[2]	= 0x12;		// 100ms
-001C85 A3                INC     DPTR
-001C86 7412              MOV     A,#012H
-001C88 F0                MOVX    @DPTR,A
+001CD9 A3                INC     DPTR
+001CDA 7412              MOV     A,#012H
+001CDC F0                MOVX    @DPTR,A
    81: 			m_24g_enter_hibernate[3]	= 0x00;
-001C89 E4                CLR     A
-001C8A A3                INC     DPTR
-001C8B F0                MOVX    @DPTR,A
+001CDD E4                CLR     A
+001CDE A3                INC     DPTR
+001CDF F0                MOVX    @DPTR,A
    82: 			}
    83: 		}
-001C8C 22                RET     
-001C8D         ?C0017?ADC:
+001CE0 22                RET     
+001CE1         ?C0017?ADC:
    84: 		else
    85: 		{
    86: 			g_variable.battery_status = BAT_STATUS_NONE;
-001C8D E4                CLR     A
-001C8E 904CD5            MOV     DPTR,#g_variable+016H
-001C91 F0                MOVX    @DPTR,A
+001CE1 E4                CLR     A
+001CE2 904CD5            MOV     DPTR,#g_variable+016H
+001CE5 F0                MOVX    @DPTR,A
    87: 			if(!g_variable.g24_long_sleep_flag)
-001C92 904CFC            MOV     DPTR,#g_variable+03DH
-001C95 E0                MOVX    A,@DPTR
-001C96 700F              JNZ     ?C0006?ADC
+001CE6 904CFC            MOV     DPTR,#g_variable+03DH
+001CE9 E0                MOVX    A,@DPTR
+001CEA 700F              JNZ     ?C0006?ADC
    88: 			{
    89: 			m_24g_enter_hibernate[0]	= 0x00;
-001C98 904D40            MOV     DPTR,#m_24g_enter_hibernate
-001C9B F0                MOVX    @DPTR,A
+001CEC 904D40            MOV     DPTR,#m_24g_enter_hibernate
+001CEF F0                MOVX    @DPTR,A
    90: 			m_24g_enter_hibernate[1]	= 0x48;
-001C9C A3                INC     DPTR
-001C9D 7448              MOV     A,#048H
-001C9F F0                MOVX    @DPTR,A
+001CF0 A3                INC     DPTR
+001CF1 7448              MOV     A,#048H
+001CF3 F0                MOVX    @DPTR,A
    91: 			m_24g_enter_hibernate[2]   = 0x5d;		// 510ms
-001CA0 A3                INC     DPTR
-001CA1 745D              MOV     A,#05DH
-001CA3 F0                MOVX    @DPTR,A
+001CF4 A3                INC     DPTR
+001CF5 745D              MOV     A,#05DH
+001CF7 F0                MOVX    @DPTR,A
    92: 			m_24g_enter_hibernate[3]	= 0x00;
-001CA4 E4                CLR     A
-001CA5 A3                INC     DPTR
-001CA6 F0                MOVX    @DPTR,A
+001CF8 E4                CLR     A
+001CF9 A3                INC     DPTR
+001CFA F0                MOVX    @DPTR,A
    93: 			}
    94: 		}
    95: 	}
    96: #endif	
    97: }
-001CA7         ?C0006?ADC:
-001CA7 22                RET     
+001CFB         ?C0006?ADC:
+001CFB 22                RET     
 ----- FUNCTION YC_adc_check (END) -------
 
 
@@ -4831,4345 +4919,4289 @@
  FILE: 'sys.c'
   123: static void kb_cb_event(byte evt)
   124: {
-001CA8 904F07            MOV     DPTR,#evt
-001CAB EF                MOV     A,R7
-001CAC F0                MOVX    @DPTR,A
+001CFC 904F07            MOV     DPTR,#evt
+001CFF EF                MOV     A,R7
+001D00 F0                MOVX    @DPTR,A
   125: 	switch (evt) 
   126: 	{
-001CAD 1205B3            LCALL   ?C?CCASE
-001CB0 1E54              DW      ?C0034?SYS
-001CB2 14                DB      014H
-001CB3 1F27              DW      ?C0041?SYS
-001CB5 15                DB      015H
-001CB6 1D4F              DW      ?C0020?SYS
-001CB8 27                DB      027H
-001CB9 1EEE              DW      ?C0039?SYS
-001CBB 29                DB      029H
-001CBC 1CDE              DW      ?C0015?SYS
-001CBE 2F                DB      02FH
-001CBF 1D44              DW      ?C0018?SYS
-001CC1 30                DB      030H
-001CC2 1DA3              DW      ?C0024?SYS
-001CC4 31                DB      031H
-001CC5 1E15              DW      ?C0030?SYS
-001CC7 32                DB      032H
-001CC8 1CDE              DW      ?C0015?SYS
-001CCA 33                DB      033H
-001CCB 1EC8              DW      ?C0038?SYS
-001CCD 34                DB      034H
-001CCE 1F08              DW      ?C0040?SYS
-001CD0 35                DB      035H
-001CD1 1D9B              DW      ?C0022?SYS
-001CD3 37                DB      037H
-001CD4 1D4F              DW      ?C0020?SYS
-001CD6 39                DB      039H
-001CD7 1DA3              DW      ?C0024?SYS
-001CD9 3C                DB      03CH
-001CDA 0000              DW      00H
-001CDC 1F6E              DW      ?C0045?SYS
+001D01 1205B3            LCALL   ?C?CCASE
+001D04 1E8B              DW      ?C0034?SYS
+001D06 14                DB      014H
+001D07 1F5E              DW      ?C0041?SYS
+001D09 15                DB      015H
+001D0A 1DA3              DW      ?C0020?SYS
+001D0C 27                DB      027H
+001D0D 1F25              DW      ?C0039?SYS
+001D0F 29                DB      029H
+001D10 1D32              DW      ?C0015?SYS
+001D12 2F                DB      02FH
+001D13 1D98              DW      ?C0018?SYS
+001D15 30                DB      030H
+001D16 1DDA              DW      ?C0024?SYS
+001D18 31                DB      031H
+001D19 1E4C              DW      ?C0030?SYS
+001D1B 32                DB      032H
+001D1C 1D32              DW      ?C0015?SYS
+001D1E 33                DB      033H
+001D1F 1EFF              DW      ?C0038?SYS
+001D21 34                DB      034H
+001D22 1F3F              DW      ?C0040?SYS
+001D24 35                DB      035H
+001D25 1DD2              DW      ?C0022?SYS
+001D27 37                DB      037H
+001D28 1DA3              DW      ?C0020?SYS
+001D2A 39                DB      039H
+001D2B 1DDA              DW      ?C0024?SYS
+001D2D 3C                DB      03CH
+001D2E 0000              DW      00H
+001D30 1FA5              DW      ?C0045?SYS
   127: 	case IPC_EVT_HIBERNATE_WAKE:
   128: 	case IPC_EVT_RESET:
   129: 		System_Hardware_init();
-001CDE         ?C0015?SYS:
+001D32         ?C0015?SYS:
   130: 		System_Software_init();
-001CDE 1217EF            LCALL   System_Hardware_init
+001D32 1217E2            LCALL   System_Hardware_init
   131: 		IIC_Read(EEPROM_RECON_INFO_LAST_DEVICE ,1 ,(byte *)&g_variable.last_device_num);
-001CE1 123151            LCALL   System_Software_init
+001D35 12312E            LCALL   System_Software_init
   132: 		if(g_variable.last_device_num > 3)
-001CE4 7B01              MOV     R3,#01H
-001CE6 7A4C              MOV     R2,#HIGH g_variable+01H
-001CE8 79C0              MOV     R1,#LOW g_variable+01H
-001CEA 7D01              MOV     R5,#01H
-001CEC 7C00              MOV     R4,#00H
-001CEE 7FBD              MOV     R7,#0BDH
-001CF0 7E7F              MOV     R6,#07FH
-001CF2 121678            LCALL   _IIC_Read
+001D38 7B01              MOV     R3,#01H
+001D3A 7A4C              MOV     R2,#HIGH g_variable+01H
+001D3C 79C0              MOV     R1,#LOW g_variable+01H
+001D3E 7D01              MOV     R5,#01H
+001D40 7C00              MOV     R4,#00H
+001D42 7FBD              MOV     R7,#0BDH
+001D44 7E7F              MOV     R6,#07FH
+001D46 12165B            LCALL   _IIC_Read
   133: 			g_variable.last_device_num = 0;
-001CF5 904CC0            MOV     DPTR,#g_variable+01H
-001CF8 E0                MOVX    A,@DPTR
-001CF9 D3                SETB    C
-001CFA 9403              SUBB    A,#03H
-001CFC 4002              JC      ?C0016?SYS
+001D49 904CC0            MOV     DPTR,#g_variable+01H
+001D4C E0                MOVX    A,@DPTR
+001D4D D3                SETB    C
+001D4E 9403              SUBB    A,#03H
+001D50 4002              JC      ?C0016?SYS
   134: 		g_variable.current_device_num = g_variable.last_device_num;
-001CFE E4                CLR     A
-001CFF F0                MOVX    @DPTR,A
-001D00         ?C0016?SYS:
+001D52 E4                CLR     A
+001D53 F0                MOVX    @DPTR,A
+001D54         ?C0016?SYS:
   135: 		LED_device_poweron();
-001D00 904CC0            MOV     DPTR,#g_variable+01H
-001D03 E0                MOVX    A,@DPTR
-001D04 904CC3            MOV     DPTR,#g_variable+04H
-001D07 F0                MOVX    @DPTR,A
+001D54 904CC0            MOV     DPTR,#g_variable+01H
+001D57 E0                MOVX    A,@DPTR
+001D58 904CC3            MOV     DPTR,#g_variable+04H
+001D5B F0                MOVX    @DPTR,A
   136: 		Delay1ms(10);
-001D08 121745            LCALL   LED_device_poweron
+001D5C 121727            LCALL   LED_device_poweron
   137: 		IIC_Read(EEPROM_RECON_INFO_RAMDON_LE_LAP1 ,2 ,(byte *)&g_variable.ble_ramdon_lap1);
-001D0B 7F0A              MOV     R7,#0AH
-001D0D 1215B2            LCALL   _Delay1ms
+001D5F 7F0A              MOV     R7,#0AH
+001D61 121595            LCALL   _Delay1ms
   138: 		if(g_variable.ble_ramdon_lap1 == 0xff && g_variable.ble_ramdon_lap2 == 0xff)
-001D10 7B01              MOV     R3,#01H
-001D12 7A4C              MOV     R2,#HIGH g_variable+033H
-001D14 79F2              MOV     R1,#LOW g_variable+033H
-001D16 7D02              MOV     R5,#02H
-001D18 7C00              MOV     R4,#00H
-001D1A 7FBE              MOV     R7,#0BEH
-001D1C 7E7F              MOV     R6,#07FH
-001D1E 121678            LCALL   _IIC_Read
+001D64 7B01              MOV     R3,#01H
+001D66 7A4C              MOV     R2,#HIGH g_variable+033H
+001D68 79F2              MOV     R1,#LOW g_variable+033H
+001D6A 7D02              MOV     R5,#02H
+001D6C 7C00              MOV     R4,#00H
+001D6E 7FBE              MOV     R7,#0BEH
+001D70 7E7F              MOV     R6,#07FH
+001D72 12165B            LCALL   _IIC_Read
   139: 		{
-001D21 904CF2            MOV     DPTR,#g_variable+033H
-001D24 E0                MOVX    A,@DPTR
-001D25 B4FF19            CJNE    A,#0FFH,?C0017?SYS
-001D28 A3                INC     DPTR
-001D29 E0                MOVX    A,@DPTR
-001D2A B4FF14            CJNE    A,#0FFH,?C0017?SYS
+001D75 904CF2            MOV     DPTR,#g_variable+033H
+001D78 E0                MOVX    A,@DPTR
+001D79 B4FF19            CJNE    A,#0FFH,?C0017?SYS
+001D7C A3                INC     DPTR
+001D7D E0                MOVX    A,@DPTR
+001D7E B4FF14            CJNE    A,#0FFH,?C0017?SYS
   140: 			g_variable.ble_ramdon_lap1 = m_adc3vValue;
   141: 			g_variable.ble_ramdon_lap2 = m_adc0vBase;
-001D2D 904C93            MOV     DPTR,#m_adc3vValue
-001D30 E0                MOVX    A,@DPTR
-001D31 A3                INC     DPTR
-001D32 E0                MOVX    A,@DPTR
-001D33 904CF2            MOV     DPTR,#g_variable+033H
-001D36 F0                MOVX    @DPTR,A
+001D81 904C93            MOV     DPTR,#m_adc3vValue
+001D84 E0                MOVX    A,@DPTR
+001D85 A3                INC     DPTR
+001D86 E0                MOVX    A,@DPTR
+001D87 904CF2            MOV     DPTR,#g_variable+033H
+001D8A F0                MOVX    @DPTR,A
   142: 		}
-001D37 904C91            MOV     DPTR,#m_adc0vBase
-001D3A E0                MOVX    A,@DPTR
-001D3B A3                INC     DPTR
-001D3C E0                MOVX    A,@DPTR
-001D3D 904CF3            MOV     DPTR,#g_variable+034H
-001D40 F0                MOVX    @DPTR,A
+001D8B 904C91            MOV     DPTR,#m_adc0vBase
+001D8E E0                MOVX    A,@DPTR
+001D8F A3                INC     DPTR
+001D90 E0                MOVX    A,@DPTR
+001D91 904CF3            MOV     DPTR,#g_variable+034H
+001D94 F0                MOVX    @DPTR,A
   143: 		YC_start_reconnect();
-001D41         ?C0017?SYS:
+001D95         ?C0017?SYS:
   144: 		break;
-001D41 0215CA            LJMP    YC_start_reconnect
+001D95 0215AD            LJMP    YC_start_reconnect
   145: 	case IPC_EVT_WAKEUP:
   146: 		System_IIC_clk_setup();
-001D44         ?C0018?SYS:
+001D98         ?C0018?SYS:
   147: 		KS_Initialize();
-001D44 12313E            LCALL   System_IIC_clk_setup
+001D98 12311B            LCALL   System_IIC_clk_setup
   148: 		g_variable.g24_long_sleep_flag = 0;
-001D47 F16F              ACALL   KS_Initialize
+001D9B F1A6              ACALL   KS_Initialize
   149: 		break;
-001D49 E4                CLR     A
-001D4A 904CFC            MOV     DPTR,#g_variable+03DH
-001D4D F0                MOVX    @DPTR,A
+001D9D E4                CLR     A
+001D9E 904CFC            MOV     DPTR,#g_variable+03DH
+001DA1 F0                MOVX    @DPTR,A
   150: 
-001D4E 22                RET     
+001DA2 22                RET     
   151: // connection event
   152: 	case IPC_EVT_VIRTUAL_CABLE_UNPLUG:
   153: 	case IPC_EVT_CLEAR_LINKKEY:
-001D4F         ?C0020?SYS:
+001DA3         ?C0020?SYS:
   154: 		if ((g_variable.current_device_num > 0) && (g_variable.current_device_num < 4))
-001D4F 904CC3            MOV     DPTR,#g_variable+04H
-001D52 E0                MOVX    A,@DPTR
-001D53 D3                SETB    C
-001D54 9400              SUBB    A,#00H
-001D56 5002              JNC     $ + 4H
-001D58 E16E              AJMP    ?C0045?SYS
-001D5A E0                MOVX    A,@DPTR
-001D5B 9404              SUBB    A,#04H
-001D5D 4002              JC      $ + 4H
-001D5F E16E              AJMP    ?C0045?SYS
+001DA3 904CC3            MOV     DPTR,#g_variable+04H
+001DA6 E0                MOVX    A,@DPTR
+001DA7 D3                SETB    C
+001DA8 9400              SUBB    A,#00H
+001DAA 5002              JNC     $ + 4H
+001DAC E1A5              AJMP    ?C0045?SYS
+001DAE E0                MOVX    A,@DPTR
+001DAF 9404              SUBB    A,#04H
+001DB1 4002              JC      $ + 4H
+001DB3 E1A5              AJMP    ?C0045?SYS
   155: 		{
   156: 			xmemclear_ff((byte *)&bd_key_record_list[g_variable.current_device_num-1],sizeof(BD_KEY_RECORD));	
-001D61 E0                MOVX    A,@DPTR
-001D62 75F01F            MOV     B,#01FH
-001D65 A4                MUL     AB
-001D66 24CF              ADD     A,#LOW bd_key_record_list-01FH
-001D68 F9                MOV     R1,A
-001D69 744D              MOV     A,#HIGH bd_key_record_list-01FH
-001D6B 35F0              ADDC    A,B
-001D6D FA                MOV     R2,A
-001D6E 7B01              MOV     R3,#01H
-001D70 7D1F              MOV     R5,#01FH
-001D72 7C00              MOV     R4,#00H
-001D74 1234F0            LCALL   _xmemclear_ff
-  157: 			Delay1ms(200);
-001D77 7FC8              MOV     R7,#0C8H
-001D79 1215B2            LCALL   _Delay1ms
-  158: 			GPIO_Setout(EEPROM_WP_GPIO,0);
-001D7C C201              CLR     ?_GPIO_Setout?BIT
-001D7E 7FFF              MOV     R7,#0FFH
-001D80 121268            LCALL   _GPIO_Setout
-  159: 			IIC_WriteBlock(EEPROM_RECON_INFO_BASE ,sizeof(BD_KEY_RECORD)*3 , (byte *)bd_key_record_list);		
-001D83 7B01              MOV     R3,#01H
-001D85 7A4D              MOV     R2,#HIGH bd_key_record_list
-001D87 79EE              MOV     R1,#LOW bd_key_record_list
-001D89 7D5D              MOV     R5,#05DH
-001D8B 7C00              MOV     R4,#00H
-001D8D 7F60              MOV     R7,#060H
-001D8F 7E7F              MOV     R6,#07FH
-001D91 121504            LCALL   _IIC_WriteBlock
-  160: 			GPIO_Setout(EEPROM_WP_GPIO,1);
-001D94 D201              SETB    ?_GPIO_Setout?BIT
-001D96 7FFF              MOV     R7,#0FFH
-001D98 021268            LJMP    _GPIO_Setout
-  161: 		}
-  162: 		break;
-  163: 	case IPC_EVT_RECONNECT_STANDY:
-001D9B         ?C0022?SYS:
-  164: 		YC_load_record_list(recon_index);
-001D9B 904DD6            MOV     DPTR,#recon_index
-001D9E E0                MOVX    A,@DPTR
-001D9F FF                MOV     R7,A
-001DA0 020737            LJMP    _YC_load_record_list
-  165: 		break;		
-  166: 		
-  167: // 2.4G event	
-  168: 	case IPC_EVT_24G_PAIRING_COMPLETE:
-  169: 	case IPC_EVT_24G_ATTEMPT_SUCCESS:
-001DA3         ?C0024?SYS:
-  170: 		g_variable.g24_currentState =  CHANGE_TO_24G_CONNECTED;
-001DA3 904CC5            MOV     DPTR,#g_variable+06H
-001DA6 7403              MOV     A,#03H
-001DA8 F0                MOVX    @DPTR,A
-  171: 		g_variable.g24_currentSubState = CHANGE_TO_24G_SUB_NONE;
-001DA9 E4                CLR     A
-001DAA A3                INC     DPTR
-001DAB F0                MOVX    @DPTR,A
-  172: 		YC_clear_reconnect_flag();
-001DAC 1217F7            LCALL   YC_clear_reconnect_flag
-  173: 		g_variable.pairing_g24_timeout = 0;
-001DAF E4                CLR     A
-001DB0 904CEE            MOV     DPTR,#g_variable+02FH
-001DB3 F0                MOVX    @DPTR,A
-  174: 		g_variable.release_data = 0;
-001DB4 904CEB            MOV     DPTR,#g_variable+02CH
-001DB7 F0                MOVX    @DPTR,A
-  175: 		g_variable.last_device_num = 0xfe;
-001DB8 904CC0            MOV     DPTR,#g_variable+01H
-001DBB 74FE              MOV     A,#0FEH
-001DBD F0                MOVX    @DPTR,A
-  176: 		g_variable.current_device_num = 0xfe;
-001DBE 904CC3            MOV     DPTR,#g_variable+04H
-001DC1 F0                MOVX    @DPTR,A
-  177: 		m_24g_led_flag = KB_24G_LED_ACK_TYPE;
-001DC2 904D46            MOV     DPTR,#m_24g_led_flag
-001DC5 7403              MOV     A,#03H
-001DC7 F0                MOVX    @DPTR,A
-  178: 		delayChgInvTimer = 10;
-001DC8 904DE6            MOV     DPTR,#delayChgInvTimer
-001DCB 740A              MOV     A,#0AH
-001DCD F0                MOVX    @DPTR,A
-  179: 
-  180: 		if(evt == IPC_EVT_24G_PAIRING_COMPLETE)
-001DCE 904F07            MOV     DPTR,#evt
-001DD1 E0                MOVX    A,@DPTR
-001DD2 6431              XRL     A,#031H
-001DD4 7036              JNZ     ?C0025?SYS
-  181: 		{
-  182: 			fn_lock_flag = 0;
-001DD6 904DE7            MOV     DPTR,#fn_lock_flag
-001DD9 F0                MOVX    @DPTR,A
-  183: 			fast_connect_flag = 0;
-001DDA 904E55            MOV     DPTR,#fast_connect_flag
-001DDD F0                MOVX    @DPTR,A
-  184: 			g_variable.system_mode = OSMODE_WINDOWS;
-001DDE 904CC1            MOV     DPTR,#g_variable+02H
-001DE1 F0                MOVX    @DPTR,A
-  185: 			g_variable.powerOn_timer = KB_POWERON_LED_ON_TIMER;
-001DE2 904CE5            MOV     DPTR,#g_variable+026H
-001DE5 741E              MOV     A,#01EH
-001DE7 F0                MOVX    @DPTR,A
-  186: 			if(m_24g_paring_addr[0] != 0x0f || m_24g_paring_addr[1] != 0x0f ||
-001DE8 904BEB            MOV     DPTR,#m_24g_paring_addr
-001DEB E0                MOVX    A,@DPTR
-001DEC B40F12            CJNE    A,#0FH,?C0027?SYS
-001DEF A3                INC     DPTR
-001DF0 E0                MOVX    A,@DPTR
-001DF1 B40F0D            CJNE    A,#0FH,?C0027?SYS
-001DF4 A3                INC     DPTR
-001DF5 E0                MOVX    A,@DPTR
-001DF6 B40F08            CJNE    A,#0FH,?C0027?SYS
-001DF9 A3                INC     DPTR
-001DFA E0                MOVX    A,@DPTR
-001DFB 640F              XRL     A,#0FH
-001DFD 7002              JNZ     $ + 4H
-001DFF E16E              AJMP    ?C0045?SYS
-001E01         ?C0027?SYS:
-  187: 				m_24g_paring_addr[2] != 0x0f || m_24g_paring_addr[3] != 0x0f)
-  188: 				{
-  189: 					g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_G24;
-001E01 904CBF            MOV     DPTR,#g_variable
-001E04 7402              MOV     A,#02H
-001E06 F0                MOVX    @DPTR,A
-  190: 					YC_update_eeprom_data();
-001E07 12146D            LCALL   YC_update_eeprom_data
-  191: 					System_Hardware_reset();
-001E0A 41E1              AJMP    System_Hardware_reset
-  192: 				}
-  193: 		}
-001E0C         ?C0025?SYS:
-  194: 		else
-  195: 		{
-  196: 			if(!g_variable.powerOn_timer)
-001E0C 904CE5            MOV     DPTR,#g_variable+026H
-001E0F E0                MOVX    A,@DPTR
-001E10 6002              JZ      $ + 4H
-001E12 E16E              AJMP    ?C0045?SYS
-  197: 			;//GPIO_Setout(G24_LED_GPIO,LED_OFF);
-  198: 		}
-  199: 		break;
-001E14 22                RET     
-  200: 	
-  201: 	case IPC_EVT_24G_ATTEMPT_FAIL:	
-001E15         ?C0030?SYS:
-  202: 		g_variable.g24_currentState =  CHANGE_TO_24G_DISCONNECTED;
-001E15 E4                CLR     A
-001E16 904CC5            MOV     DPTR,#g_variable+06H
-001E19 F0                MOVX    @DPTR,A
-  203: 		g_variable.g24_currentSubState = CHANGE_TO_24G_SUB_NONE;
-001E1A A3                INC     DPTR
-001E1B F0                MOVX    @DPTR,A
-  204: 		g_variable.sleepTimer = 0;
-001E1C 904CE3            MOV     DPTR,#g_variable+024H
-001E1F F0                MOVX    @DPTR,A
-001E20 A3                INC     DPTR
-001E21 F0                MOVX    @DPTR,A
-  205: 		g_variable.release_data = 1;
-001E22 904CEB            MOV     DPTR,#g_variable+02CH
-001E25 04                INC     A
-001E26 F0                MOVX    @DPTR,A
-  206: 
-  207: 		if (g_variable.key_action != KEY_NONE)
-001E27 904CED            MOV     DPTR,#g_variable+02EH
-001E2A E0                MOVX    A,@DPTR
-001E2B 600B              JZ      ?C0031?SYS
-  208: 		{
-  209: 			YC_clear_reconnect_flag();
-001E2D 1217F7            LCALL   YC_clear_reconnect_flag
-  210: 			YC_key_action_handle(g_variable.key_action);
-001E30 904CED            MOV     DPTR,#g_variable+02EH
-001E33 E0                MOVX    A,@DPTR
-001E34 FF                MOV     R7,A
-001E35 02108B            LJMP    _YC_key_action_handle
-  211: 			break;
-  212: 		}
-001E38         ?C0031?SYS:
-  213: 
-  214: 		if (g_variable.lockLpm == 1)
-001E38 904CEC            MOV     DPTR,#g_variable+02DH
-001E3B E0                MOVX    A,@DPTR
-001E3C B40105            CJNE    A,#01H,?C0032?SYS
-  215: 		{
-  216: 			g_variable.lockLpm =0;
-001E3F E4                CLR     A
-001E40 F0                MOVX    @DPTR,A
-  217: 			System_long_sleep();
-001E41 020FB2            LJMP    System_long_sleep
-  218: 			break;
-  219: 		}
-001E44         ?C0032?SYS:
-  220: 		if (g_variable.recon_count != 0)
-001E44 904CF0            MOV     DPTR,#g_variable+031H
-001E47 E0                MOVX    A,@DPTR
-001E48 7002              JNZ     $ + 4H
-001E4A E16E              AJMP    ?C0045?SYS
-  221: 		{
-  222: 			YC_load_record_list(recon_index);
-001E4C 904DD6            MOV     DPTR,#recon_index
-001E4F E0                MOVX    A,@DPTR
-001E50 FF                MOV     R7,A
-001E51 020737            LJMP    _YC_load_record_list
-  223: 		}
-  224: 		break;
-  225: 
-  226: 
-  227: 
-  228: // BT 4.2 event
-  229: 	case IPC_EVT_LE_CONNECTED:
-001E54         ?C0034?SYS:
-  230: 		g_variable.ble_currentState = CHANGE_TO_BLE_CONNECTING;
-001E54 904CC7            MOV     DPTR,#g_variable+08H
-001E57 7403              MOV     A,#03H
-001E59 F0                MOVX    @DPTR,A
-  231: 		g_variable.ble_currentSubState = CHANGE_TO_BLE_SUB_INIT;
-001E5A A3                INC     DPTR
-001E5B 7401              MOV     A,#01H
+001DB5 E0                MOVX    A,@DPTR
+001DB6 75F01F            MOV     B,#01FH
+001DB9 A4                MUL     AB
+001DBA 24CF              ADD     A,#LOW bd_key_record_list-01FH
+001DBC F9                MOV     R1,A
+001DBD 744D              MOV     A,#HIGH bd_key_record_list-01FH
+001DBF 35F0              ADDC    A,B
+001DC1 FA                MOV     R2,A
+001DC2 7B01              MOV     R3,#01H
+001DC4 7D1F              MOV     R5,#01FH
+001DC6 7C00              MOV     R4,#00H
+001DC8 1234CD            LCALL   _xmemclear_ff
+  157: 			g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_BT;
+001DCB 904CBF            MOV     DPTR,#g_variable
+001DCE 7403              MOV     A,#03H
+001DD0 F0                MOVX    @DPTR,A
+  158: 		}
+  159: 		break;
+001DD1 22                RET     
+  160: 	case IPC_EVT_RECONNECT_STANDY:
+001DD2         ?C0022?SYS:
+  161: 		YC_load_record_list(recon_index);
+001DD2 904DD6            MOV     DPTR,#recon_index
+001DD5 E0                MOVX    A,@DPTR
+001DD6 FF                MOV     R7,A
+001DD7 020737            LJMP    _YC_load_record_list
+  162: 		break;		
+  163: 		
+  164: // 2.4G event	
+  165: 	case IPC_EVT_24G_PAIRING_COMPLETE:
+  166: 	case IPC_EVT_24G_ATTEMPT_SUCCESS:
+001DDA         ?C0024?SYS:
+  167: 		g_variable.g24_currentState =  CHANGE_TO_24G_CONNECTED;
+001DDA 904CC5            MOV     DPTR,#g_variable+06H
+001DDD 7403              MOV     A,#03H
+001DDF F0                MOVX    @DPTR,A
+  168: 		g_variable.g24_currentSubState = CHANGE_TO_24G_SUB_NONE;
+001DE0 E4                CLR     A
+001DE1 A3                INC     DPTR
+001DE2 F0                MOVX    @DPTR,A
+  169: 		YC_clear_reconnect_flag();
+001DE3 1217EA            LCALL   YC_clear_reconnect_flag
+  170: 		g_variable.pairing_g24_timeout = 0;
+001DE6 E4                CLR     A
+001DE7 904CEE            MOV     DPTR,#g_variable+02FH
+001DEA F0                MOVX    @DPTR,A
+  171: 		g_variable.release_data = 0;
+001DEB 904CEB            MOV     DPTR,#g_variable+02CH
+001DEE F0                MOVX    @DPTR,A
+  172: 		g_variable.last_device_num = 0xfe;
+001DEF 904CC0            MOV     DPTR,#g_variable+01H
+001DF2 74FE              MOV     A,#0FEH
+001DF4 F0                MOVX    @DPTR,A
+  173: 		g_variable.current_device_num = 0xfe;
+001DF5 904CC3            MOV     DPTR,#g_variable+04H
+001DF8 F0                MOVX    @DPTR,A
+  174: 		m_24g_led_flag = KB_24G_LED_ACK_TYPE;
+001DF9 904D46            MOV     DPTR,#m_24g_led_flag
+001DFC 7403              MOV     A,#03H
+001DFE F0                MOVX    @DPTR,A
+  175: 		delayChgInvTimer = 10;
+001DFF 904DE6            MOV     DPTR,#delayChgInvTimer
+001E02 740A              MOV     A,#0AH
+001E04 F0                MOVX    @DPTR,A
+  176: 
+  177: 		if(evt == IPC_EVT_24G_PAIRING_COMPLETE)
+001E05 904F07            MOV     DPTR,#evt
+001E08 E0                MOVX    A,@DPTR
+001E09 6431              XRL     A,#031H
+001E0B 7036              JNZ     ?C0025?SYS
+  178: 		{
+  179: 			fn_lock_flag = 0;
+001E0D 904DE7            MOV     DPTR,#fn_lock_flag
+001E10 F0                MOVX    @DPTR,A
+  180: 			fast_connect_flag = 0;
+001E11 904E55            MOV     DPTR,#fast_connect_flag
+001E14 F0                MOVX    @DPTR,A
+  181: 			g_variable.system_mode = OSMODE_WINDOWS;
+001E15 904CC1            MOV     DPTR,#g_variable+02H
+001E18 F0                MOVX    @DPTR,A
+  182: 			g_variable.powerOn_timer = KB_POWERON_LED_ON_TIMER;
+001E19 904CE5            MOV     DPTR,#g_variable+026H
+001E1C 741E              MOV     A,#01EH
+001E1E F0                MOVX    @DPTR,A
+  183: 			if(m_24g_paring_addr[0] != 0x0f || m_24g_paring_addr[1] != 0x0f ||
+001E1F 904BEB            MOV     DPTR,#m_24g_paring_addr
+001E22 E0                MOVX    A,@DPTR
+001E23 B40F12            CJNE    A,#0FH,?C0027?SYS
+001E26 A3                INC     DPTR
+001E27 E0                MOVX    A,@DPTR
+001E28 B40F0D            CJNE    A,#0FH,?C0027?SYS
+001E2B A3                INC     DPTR
+001E2C E0                MOVX    A,@DPTR
+001E2D B40F08            CJNE    A,#0FH,?C0027?SYS
+001E30 A3                INC     DPTR
+001E31 E0                MOVX    A,@DPTR
+001E32 640F              XRL     A,#0FH
+001E34 7002              JNZ     $ + 4H
+001E36 E1A5              AJMP    ?C0045?SYS
+001E38         ?C0027?SYS:
+  184: 				m_24g_paring_addr[2] != 0x0f || m_24g_paring_addr[3] != 0x0f)
+  185: 				{
+  186: 					g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_G24;
+001E38 904CBF            MOV     DPTR,#g_variable
+001E3B 7402              MOV     A,#02H
+001E3D F0                MOVX    @DPTR,A
+  187: 					YC_update_eeprom_data();
+001E3E 121442            LCALL   YC_update_eeprom_data
+  188: 					System_Hardware_reset();
+001E41 6135              AJMP    System_Hardware_reset
+  189: 				}
+  190: 		}
+001E43         ?C0025?SYS:
+  191: 		else
+  192: 		{
+  193: 			if(!g_variable.powerOn_timer)
+001E43 904CE5            MOV     DPTR,#g_variable+026H
+001E46 E0                MOVX    A,@DPTR
+001E47 6002              JZ      $ + 4H
+001E49 E1A5              AJMP    ?C0045?SYS
+  194: 			;//GPIO_Setout(G24_LED_GPIO,LED_OFF);
+  195: 		}
+  196: 		break;
+001E4B 22                RET     
+  197: 	
+  198: 	case IPC_EVT_24G_ATTEMPT_FAIL:	
+001E4C         ?C0030?SYS:
+  199: 		g_variable.g24_currentState =  CHANGE_TO_24G_DISCONNECTED;
+001E4C E4                CLR     A
+001E4D 904CC5            MOV     DPTR,#g_variable+06H
+001E50 F0                MOVX    @DPTR,A
+  200: 		g_variable.g24_currentSubState = CHANGE_TO_24G_SUB_NONE;
+001E51 A3                INC     DPTR
+001E52 F0                MOVX    @DPTR,A
+  201: 		g_variable.sleepTimer = 0;
+001E53 904CE3            MOV     DPTR,#g_variable+024H
+001E56 F0                MOVX    @DPTR,A
+001E57 A3                INC     DPTR
+001E58 F0                MOVX    @DPTR,A
+  202: 		g_variable.release_data = 1;
+001E59 904CEB            MOV     DPTR,#g_variable+02CH
+001E5C 04                INC     A
 001E5D F0                MOVX    @DPTR,A
-  232: 		g_variable.br_currentState = CHANGE_TO_BR_DISCONNECT;
-001E5E E4                CLR     A
-001E5F A3                INC     DPTR
-001E60 F0                MOVX    @DPTR,A
-  233: 		g_variable.br_currentSubState = CHANGE_TO_BR_SUB_NONE;
-001E61 A3                INC     DPTR
-001E62 F0                MOVX    @DPTR,A
-  234: 		IPC_TxControlCmd(IPC_CMD_STOP_ADV);
-001E63 7F0E              MOV     R7,#0EH
-001E65 120ECA            LCALL   _IPC_TxControlCmd
-  235: 		IPC_TxControlCmd(IPC_CMD_STOP_DISCOVERY);
-001E68 7F02              MOV     R7,#02H
-001E6A 120ECA            LCALL   _IPC_TxControlCmd
-  236: 		if(g_variable.pairing_timeout)
-001E6D 904CE9            MOV     DPTR,#g_variable+02AH
-001E70 E0                MOVX    A,@DPTR
-001E71 6034              JZ      ?C0035?SYS
-  237: 		{
-  238: 			fn_lock_flag = 0;
-001E73 E4                CLR     A
-001E74 904DE7            MOV     DPTR,#fn_lock_flag
+  203: 
+  204: 		if (g_variable.key_action != KEY_NONE)
+001E5E 904CED            MOV     DPTR,#g_variable+02EH
+001E61 E0                MOVX    A,@DPTR
+001E62 600B              JZ      ?C0031?SYS
+  205: 		{
+  206: 			YC_clear_reconnect_flag();
+001E64 1217EA            LCALL   YC_clear_reconnect_flag
+  207: 			YC_key_action_handle(g_variable.key_action);
+001E67 904CED            MOV     DPTR,#g_variable+02EH
+001E6A E0                MOVX    A,@DPTR
+001E6B FF                MOV     R7,A
+001E6C 02108B            LJMP    _YC_key_action_handle
+  208: 			break;
+  209: 		}
+001E6F         ?C0031?SYS:
+  210: 
+  211: 		if (g_variable.lockLpm == 1)
+001E6F 904CEC            MOV     DPTR,#g_variable+02DH
+001E72 E0                MOVX    A,@DPTR
+001E73 B40105            CJNE    A,#01H,?C0032?SYS
+  212: 		{
+  213: 			g_variable.lockLpm =0;
+001E76 E4                CLR     A
 001E77 F0                MOVX    @DPTR,A
-  239: 			g_variable.system_mode = OSMODE_WINDOWS;
-001E78 904CC1            MOV     DPTR,#g_variable+02H
-001E7B F0                MOVX    @DPTR,A
-  240: 			bd_key_record_list[g_variable.current_device_num - 1].system_mode = g_variable.system_mode;
-001E7C 904CC3            MOV     DPTR,#g_variable+04H
-001E7F E0                MOVX    A,@DPTR
-001E80 75F01F            MOV     B,#01FH
-001E83 A4                MUL     AB
-001E84 24EC              ADD     A,#LOW bd_key_record_list-02H
-001E86 F582              MOV     DPL,A
-001E88 E4                CLR     A
-001E89 344D              ADDC    A,#HIGH bd_key_record_list-02H
-001E8B F583              MOV     DPH,A
-001E8D E4                CLR     A
-001E8E F0                MOVX    @DPTR,A
-  241: 			bd_key_record_list[g_variable.current_device_num - 1].fn_lock = fn_lock_flag;
-001E8F 904DE7            MOV     DPTR,#fn_lock_flag
-001E92 E0                MOVX    A,@DPTR
-001E93 FF                MOV     R7,A
-001E94 904CC3            MOV     DPTR,#g_variable+04H
-001E97 E0                MOVX    A,@DPTR
-001E98 75F01F            MOV     B,#01FH
-001E9B A4                MUL     AB
-001E9C 24ED              ADD     A,#LOW bd_key_record_list-01H
-001E9E F582              MOV     DPL,A
-001EA0 E4                CLR     A
-001EA1 344D              ADDC    A,#HIGH bd_key_record_list-01H
-001EA3 F583              MOV     DPH,A
-001EA5 EF                MOV     A,R7
-001EA6 F0                MOVX    @DPTR,A
-  242: 		}
-001EA7         ?C0035?SYS:
-  243: 		if(!ble_reconnect_flag)
-001EA7 904DE5            MOV     DPTR,#ble_reconnect_flag
-001EAA E0                MOVX    A,@DPTR
-001EAB 7006              JNZ     ?C0036?SYS
-  244: 			ble_send_secutiry_request_timer = 20;
-001EAD 904DD4            MOV     DPTR,#ble_send_secutiry_request_timer
-001EB0 7414              MOV     A,#014H
+  214: 			System_long_sleep();
+001E78 020FB2            LJMP    System_long_sleep
+  215: 			break;
+  216: 		}
+001E7B         ?C0032?SYS:
+  217: 		if (g_variable.recon_count != 0)
+001E7B 904CF0            MOV     DPTR,#g_variable+031H
+001E7E E0                MOVX    A,@DPTR
+001E7F 7002              JNZ     $ + 4H
+001E81 E1A5              AJMP    ?C0045?SYS
+  218: 		{
+  219: 			YC_load_record_list(recon_index);
+001E83 904DD6            MOV     DPTR,#recon_index
+001E86 E0                MOVX    A,@DPTR
+001E87 FF                MOV     R7,A
+001E88 020737            LJMP    _YC_load_record_list
+  220: 		}
+  221: 		break;
+  222: 
+  223: 
+  224: 
+  225: // BT 4.2 event
+  226: 	case IPC_EVT_LE_CONNECTED:
+001E8B         ?C0034?SYS:
+  227: 		g_variable.ble_currentState = CHANGE_TO_BLE_CONNECTING;
+001E8B 904CC7            MOV     DPTR,#g_variable+08H
+001E8E 7403              MOV     A,#03H
+001E90 F0                MOVX    @DPTR,A
+  228: 		g_variable.ble_currentSubState = CHANGE_TO_BLE_SUB_INIT;
+001E91 A3                INC     DPTR
+001E92 7401              MOV     A,#01H
+001E94 F0                MOVX    @DPTR,A
+  229: 		g_variable.br_currentState = CHANGE_TO_BR_DISCONNECT;
+001E95 E4                CLR     A
+001E96 A3                INC     DPTR
+001E97 F0                MOVX    @DPTR,A
+  230: 		g_variable.br_currentSubState = CHANGE_TO_BR_SUB_NONE;
+001E98 A3                INC     DPTR
+001E99 F0                MOVX    @DPTR,A
+  231: 		IPC_TxControlCmd(IPC_CMD_STOP_ADV);
+001E9A 7F0E              MOV     R7,#0EH
+001E9C 120ECA            LCALL   _IPC_TxControlCmd
+  232: 		IPC_TxControlCmd(IPC_CMD_STOP_DISCOVERY);
+001E9F 7F02              MOV     R7,#02H
+001EA1 120ECA            LCALL   _IPC_TxControlCmd
+  233: 		if(g_variable.pairing_timeout)
+001EA4 904CE9            MOV     DPTR,#g_variable+02AH
+001EA7 E0                MOVX    A,@DPTR
+001EA8 6034              JZ      ?C0035?SYS
+  234: 		{
+  235: 			fn_lock_flag = 0;
+001EAA E4                CLR     A
+001EAB 904DE7            MOV     DPTR,#fn_lock_flag
+001EAE F0                MOVX    @DPTR,A
+  236: 			g_variable.system_mode = OSMODE_WINDOWS;
+001EAF 904CC1            MOV     DPTR,#g_variable+02H
 001EB2 F0                MOVX    @DPTR,A
-001EB3         ?C0036?SYS:
-  245: 		if(!g_variable.powerOn_timer)
-001EB3 904CE5            MOV     DPTR,#g_variable+026H
+  237: 			bd_key_record_list[g_variable.current_device_num - 1].system_mode = g_variable.system_mode;
+001EB3 904CC3            MOV     DPTR,#g_variable+04H
 001EB6 E0                MOVX    A,@DPTR
-001EB7 7003              JNZ     ?C0037?SYS
-  246: 			LED_device_poweroff();
-001EB9 12177E            LCALL   LED_device_poweroff
-001EBC         ?C0037?SYS:
-  247: 		g_variable.pairing_timeout = 0;
-001EBC E4                CLR     A
-001EBD 904CE9            MOV     DPTR,#g_variable+02AH
-001EC0 F0                MOVX    @DPTR,A
-  248: 		g_variable.sleepTimer = 0;
-001EC1 904CE3            MOV     DPTR,#g_variable+024H
-001EC4 F0                MOVX    @DPTR,A
-001EC5 A3                INC     DPTR
-001EC6 F0                MOVX    @DPTR,A
-  249: 		break;
-001EC7 22                RET     
-  250: 	case IPC_EVT_LE_PROTOCOL_CONNECTED:
-001EC8         ?C0038?SYS:
-  251: 	    	g_variable.ble_currentState = CHANGE_TO_BLE_CONNECTED;
-001EC8 904CC7            MOV     DPTR,#g_variable+08H
-001ECB 7404              MOV     A,#04H
-001ECD F0                MOVX    @DPTR,A
-  252: 		g_variable.ble_currentSubState = CHANGE_TO_BLE_SUB_NONE;
-001ECE E4                CLR     A
-001ECF A3                INC     DPTR
-001ED0 F0                MOVX    @DPTR,A
-  253: 		YC_clear_reconnect_flag();
-001ED1 1217F7            LCALL   YC_clear_reconnect_flag
-  254: 		g_variable.release_data = 0;
-001ED4 E4                CLR     A
-001ED5 904CEB            MOV     DPTR,#g_variable+02CH
-001ED8 F0                MOVX    @DPTR,A
-  255: 		le_send_battery_level_delay_count = 10;
-001ED9 904DDB            MOV     DPTR,#le_send_battery_level_delay_count
-001EDC 740A              MOV     A,#0AH
-001EDE F0                MOVX    @DPTR,A
-  256: 		g_variable.last_device_num = g_variable.current_device_num;
-001EDF 904CC3            MOV     DPTR,#g_variable+04H
-001EE2 E0                MOVX    A,@DPTR
-001EE3 904CC0            MOV     DPTR,#g_variable+01H
-001EE6 F0                MOVX    @DPTR,A
-  257: 		g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_BT;
-001EE7 904CBF            MOV     DPTR,#g_variable
-001EEA 7403              MOV     A,#03H
-001EEC F0                MOVX    @DPTR,A
-  258: 		break;
-001EED 22                RET     
-  259: 	case IPC_EVT_LE_ENC_INFO:
-001EEE         ?C0039?SYS:
-  260: 		YC_store_record_list(1, g_variable.current_device_num-1);
-001EEE 904CC3            MOV     DPTR,#g_variable+04H
-001EF1 E0                MOVX    A,@DPTR
-001EF2 14                DEC     A
-001EF3 FD                MOV     R5,A
-001EF4 7F01              MOV     R7,#01H
-001EF6 120803            LCALL   _YC_store_record_list
-  261: 		g_variable.last_device_num = g_variable.current_device_num;
-001EF9 904CC3            MOV     DPTR,#g_variable+04H
-001EFC E0                MOVX    A,@DPTR
-001EFD 904CC0            MOV     DPTR,#g_variable+01H
-001F00 F0                MOVX    @DPTR,A
-  262: 		g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_BT;
-001F01 904CBF            MOV     DPTR,#g_variable
-001F04 7403              MOV     A,#03H
-001F06 F0                MOVX    @DPTR,A
-  263: 		break;
-001F07 22                RET     
-  264: 
-  265: 	case IPC_EVT_LE_PINCODE_REQ:
-001F08         ?C0040?SYS:
-  266: 		le_pin_code = 0;
-001F08 904D39            MOV     DPTR,#le_pin_code
-001F0B 120582            LCALL   ?C?LSTKXDATA
-001F0E 00                DB      00H
-001F0F 00                DB      00H
-001F10 00                DB      00H
-001F11 00                DB      00H
-  267: 		le_pin_code_len = 0;
-001F12 E4                CLR     A
-001F13 904DD7            MOV     DPTR,#le_pin_code_len
-001F16 F0                MOVX    @DPTR,A
-  268: 		pinCode_flag = 1;
-001F17 904DDE            MOV     DPTR,#pinCode_flag
-001F1A 04                INC     A
-001F1B F0                MOVX    @DPTR,A
-  269: 		g_variable.ble_currentSubState =  CHANGE_TO_BLE_SUB_PINCODE;
-001F1C 904CC8            MOV     DPTR,#g_variable+09H
-001F1F 04                INC     A
-001F20 F0                MOVX    @DPTR,A
-  270: 		g_variable.ble_currentState = CHANGE_TO_BLE_CONNECTING;
-001F21 904CC7            MOV     DPTR,#g_variable+08H
-001F24 04                INC     A
-001F25 F0                MOVX    @DPTR,A
-  271: 		break;
-001F26 22                RET     
-  272: 		
-  273: 	case IPC_EVT_LE_DISCONNECTED:	
-001F27         ?C0041?SYS:
-  274: 		g_variable.history_state = g_variable.ble_currentState ;
-001F27 904CC7            MOV     DPTR,#g_variable+08H
-001F2A E0                MOVX    A,@DPTR
-001F2B 904CCB            MOV     DPTR,#g_variable+0CH
-001F2E F0                MOVX    @DPTR,A
-  275: 		g_variable.ble_currentState = CHANGE_TO_BLE_DISCONNECT;
-001F2F E4                CLR     A
-001F30 904CC7            MOV     DPTR,#g_variable+08H
-001F33 F0                MOVX    @DPTR,A
-  276: 		g_variable.ble_currentSubState = CHANGE_TO_BLE_SUB_NONE;
-001F34 A3                INC     DPTR
-001F35 F0                MOVX    @DPTR,A
-  277: 		g_variable.release_data = 1;
-001F36 904CEB            MOV     DPTR,#g_variable+02CH
-001F39 04                INC     A
-001F3A F0                MOVX    @DPTR,A
-  278: 		m_le_send_security_request_flag = 0;
-001F3B E4                CLR     A
-001F3C 904D3D            MOV     DPTR,#m_le_send_security_request_flag
-001F3F F0                MOVX    @DPTR,A
-  279: 		if (g_variable.lockLpm == 1)
-001F40 904CEC            MOV     DPTR,#g_variable+02DH
-001F43 E0                MOVX    A,@DPTR
-001F44 B40105            CJNE    A,#01H,?C0042?SYS
-  280: 		{
-  281: 			g_variable.lockLpm =0;
-001F47 E4                CLR     A
-001F48 F0                MOVX    @DPTR,A
-  282: 			System_long_sleep();
-001F49 020FB2            LJMP    System_long_sleep
-  283: 			break;
-  284: 		}
-001F4C         ?C0042?SYS:
-  285: 
-  286: 		if (g_variable.key_action != KEY_NONE)
-001F4C 904CED            MOV     DPTR,#g_variable+02EH
-001F4F E0                MOVX    A,@DPTR
-001F50 6004              JZ      ?C0043?SYS
-  287: 		{
-  288: 			YC_key_action_handle(g_variable.key_action);
-001F52 FF                MOV     R7,A
-001F53 02108B            LJMP    _YC_key_action_handle
-  289: 			break;
-  290: 		}
-001F56         ?C0043?SYS:
-  291: 
-  292: 
-  293: 		if (g_variable.recon_count != 0)
-001F56 904CF0            MOV     DPTR,#g_variable+031H
-001F59 E0                MOVX    A,@DPTR
-001F5A 6008              JZ      ?C0044?SYS
-  294: 		{
-  295: 			YC_load_record_list(recon_index);
-001F5C 904DD6            MOV     DPTR,#recon_index
-001F5F E0                MOVX    A,@DPTR
-001F60 FF                MOV     R7,A
-001F61 020737            LJMP    _YC_load_record_list
-  296: 			break;
-  297: 		}
-001F64         ?C0044?SYS:
-  298: 
-  299: 		System_long_sleep();		
-001F64 120FB2            LCALL   System_long_sleep
-  300: 		g_variable.sleepTimer = 0;
-001F67 E4                CLR     A
-001F68 904CE3            MOV     DPTR,#g_variable+024H
-001F6B F0                MOVX    @DPTR,A
-001F6C A3                INC     DPTR
-001F6D F0                MOVX    @DPTR,A
-  301: 		break;
-  302: 	}
-  303: }
-001F6E         ?C0045?SYS:
-001F6E 22                RET     
+001EB7 75F01F            MOV     B,#01FH
+001EBA A4                MUL     AB
+001EBB 24EC              ADD     A,#LOW bd_key_record_list-02H
+001EBD F582              MOV     DPL,A
+001EBF E4                CLR     A
+001EC0 344D              ADDC    A,#HIGH bd_key_record_list-02H
+001EC2 F583              MOV     DPH,A
+001EC4 E4                CLR     A
+001EC5 F0                MOVX    @DPTR,A
+  238: 			bd_key_record_list[g_variable.current_device_num - 1].fn_lock = fn_lock_flag;
+001EC6 904DE7            MOV     DPTR,#fn_lock_flag
+001EC9 E0                MOVX    A,@DPTR
+001ECA FF                MOV     R7,A
+001ECB 904CC3            MOV     DPTR,#g_variable+04H
+001ECE E0                MOVX    A,@DPTR
+001ECF 75F01F            MOV     B,#01FH
+001ED2 A4                MUL     AB
+001ED3 24ED              ADD     A,#LOW bd_key_record_list-01H
+001ED5 F582              MOV     DPL,A
+001ED7 E4                CLR     A
+001ED8 344D              ADDC    A,#HIGH bd_key_record_list-01H
+001EDA F583              MOV     DPH,A
+001EDC EF                MOV     A,R7
+001EDD F0                MOVX    @DPTR,A
+  239: 		}
+001EDE         ?C0035?SYS:
+  240: 		if(!ble_reconnect_flag)
+001EDE 904DE5            MOV     DPTR,#ble_reconnect_flag
+001EE1 E0                MOVX    A,@DPTR
+001EE2 7006              JNZ     ?C0036?SYS
+  241: 			ble_send_secutiry_request_timer = 20;
+001EE4 904DD4            MOV     DPTR,#ble_send_secutiry_request_timer
+001EE7 7414              MOV     A,#014H
+001EE9 F0                MOVX    @DPTR,A
+001EEA         ?C0036?SYS:
+  242: 		if(!g_variable.powerOn_timer)
+001EEA 904CE5            MOV     DPTR,#g_variable+026H
+001EED E0                MOVX    A,@DPTR
+001EEE 7003              JNZ     ?C0037?SYS
+  243: 			LED_device_poweroff();
+001EF0 121760            LCALL   LED_device_poweroff
+001EF3         ?C0037?SYS:
+  244: 		g_variable.pairing_timeout = 0;
+001EF3 E4                CLR     A
+001EF4 904CE9            MOV     DPTR,#g_variable+02AH
+001EF7 F0                MOVX    @DPTR,A
+  245: 		g_variable.sleepTimer = 0;
+001EF8 904CE3            MOV     DPTR,#g_variable+024H
+001EFB F0                MOVX    @DPTR,A
+001EFC A3                INC     DPTR
+001EFD F0                MOVX    @DPTR,A
+  246: 		break;
+001EFE 22                RET     
+  247: 	case IPC_EVT_LE_PROTOCOL_CONNECTED:
+001EFF         ?C0038?SYS:
+  248: 	    	g_variable.ble_currentState = CHANGE_TO_BLE_CONNECTED;
+001EFF 904CC7            MOV     DPTR,#g_variable+08H
+001F02 7404              MOV     A,#04H
+001F04 F0                MOVX    @DPTR,A
+  249: 		g_variable.ble_currentSubState = CHANGE_TO_BLE_SUB_NONE;
+001F05 E4                CLR     A
+001F06 A3                INC     DPTR
+001F07 F0                MOVX    @DPTR,A
+  250: 		YC_clear_reconnect_flag();
+001F08 1217EA            LCALL   YC_clear_reconnect_flag
+  251: 		g_variable.release_data = 0;
+001F0B E4                CLR     A
+001F0C 904CEB            MOV     DPTR,#g_variable+02CH
+001F0F F0                MOVX    @DPTR,A
+  252: 		le_send_battery_level_delay_count = 10;
+001F10 904DDB            MOV     DPTR,#le_send_battery_level_delay_count
+001F13 740A              MOV     A,#0AH
+001F15 F0                MOVX    @DPTR,A
+  253: 		g_variable.last_device_num = g_variable.current_device_num;
+001F16 904CC3            MOV     DPTR,#g_variable+04H
+001F19 E0                MOVX    A,@DPTR
+001F1A 904CC0            MOV     DPTR,#g_variable+01H
+001F1D F0                MOVX    @DPTR,A
+  254: 		g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_BT;
+001F1E 904CBF            MOV     DPTR,#g_variable
+001F21 7403              MOV     A,#03H
+001F23 F0                MOVX    @DPTR,A
+  255: 		break;
+001F24 22                RET     
+  256: 	case IPC_EVT_LE_ENC_INFO:
+001F25         ?C0039?SYS:
+  257: 		YC_store_record_list(1, g_variable.current_device_num-1);
+001F25 904CC3            MOV     DPTR,#g_variable+04H
+001F28 E0                MOVX    A,@DPTR
+001F29 14                DEC     A
+001F2A FD                MOV     R5,A
+001F2B 7F01              MOV     R7,#01H
+001F2D 120803            LCALL   _YC_store_record_list
+  258: 		g_variable.last_device_num = g_variable.current_device_num;
+001F30 904CC3            MOV     DPTR,#g_variable+04H
+001F33 E0                MOVX    A,@DPTR
+001F34 904CC0            MOV     DPTR,#g_variable+01H
+001F37 F0                MOVX    @DPTR,A
+  259: 		g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_BT;
+001F38 904CBF            MOV     DPTR,#g_variable
+001F3B 7403              MOV     A,#03H
+001F3D F0                MOVX    @DPTR,A
+  260: 		break;
+001F3E 22                RET     
+  261: 
+  262: 	case IPC_EVT_LE_PINCODE_REQ:
+001F3F         ?C0040?SYS:
+  263: 		le_pin_code = 0;
+001F3F 904D39            MOV     DPTR,#le_pin_code
+001F42 120582            LCALL   ?C?LSTKXDATA
+001F45 00                DB      00H
+001F46 00                DB      00H
+001F47 00                DB      00H
+001F48 00                DB      00H
+  264: 		le_pin_code_len = 0;
+001F49 E4                CLR     A
+001F4A 904DD7            MOV     DPTR,#le_pin_code_len
+001F4D F0                MOVX    @DPTR,A
+  265: 		pinCode_flag = 1;
+001F4E 904DDE            MOV     DPTR,#pinCode_flag
+001F51 04                INC     A
+001F52 F0                MOVX    @DPTR,A
+  266: 		g_variable.ble_currentSubState =  CHANGE_TO_BLE_SUB_PINCODE;
+001F53 904CC8            MOV     DPTR,#g_variable+09H
+001F56 04                INC     A
+001F57 F0                MOVX    @DPTR,A
+  267: 		g_variable.ble_currentState = CHANGE_TO_BLE_CONNECTING;
+001F58 904CC7            MOV     DPTR,#g_variable+08H
+001F5B 04                INC     A
+001F5C F0                MOVX    @DPTR,A
+  268: 		break;
+001F5D 22                RET     
+  269: 		
+  270: 	case IPC_EVT_LE_DISCONNECTED:	
+001F5E         ?C0041?SYS:
+  271: 		g_variable.history_state = g_variable.ble_currentState ;
+001F5E 904CC7            MOV     DPTR,#g_variable+08H
+001F61 E0                MOVX    A,@DPTR
+001F62 904CCB            MOV     DPTR,#g_variable+0CH
+001F65 F0                MOVX    @DPTR,A
+  272: 		g_variable.ble_currentState = CHANGE_TO_BLE_DISCONNECT;
+001F66 E4                CLR     A
+001F67 904CC7            MOV     DPTR,#g_variable+08H
+001F6A F0                MOVX    @DPTR,A
+  273: 		g_variable.ble_currentSubState = CHANGE_TO_BLE_SUB_NONE;
+001F6B A3                INC     DPTR
+001F6C F0                MOVX    @DPTR,A
+  274: 		g_variable.release_data = 1;
+001F6D 904CEB            MOV     DPTR,#g_variable+02CH
+001F70 04                INC     A
+001F71 F0                MOVX    @DPTR,A
+  275: 		m_le_send_security_request_flag = 0;
+001F72 E4                CLR     A
+001F73 904D3D            MOV     DPTR,#m_le_send_security_request_flag
+001F76 F0                MOVX    @DPTR,A
+  276: 		if (g_variable.lockLpm == 1)
+001F77 904CEC            MOV     DPTR,#g_variable+02DH
+001F7A E0                MOVX    A,@DPTR
+001F7B B40105            CJNE    A,#01H,?C0042?SYS
+  277: 		{
+  278: 			g_variable.lockLpm =0;
+001F7E E4                CLR     A
+001F7F F0                MOVX    @DPTR,A
+  279: 			System_long_sleep();
+001F80 020FB2            LJMP    System_long_sleep
+  280: 			break;
+  281: 		}
+001F83         ?C0042?SYS:
+  282: 
+  283: 		if (g_variable.key_action != KEY_NONE)
+001F83 904CED            MOV     DPTR,#g_variable+02EH
+001F86 E0                MOVX    A,@DPTR
+001F87 6004              JZ      ?C0043?SYS
+  284: 		{
+  285: 			YC_key_action_handle(g_variable.key_action);
+001F89 FF                MOV     R7,A
+001F8A 02108B            LJMP    _YC_key_action_handle
+  286: 			break;
+  287: 		}
+001F8D         ?C0043?SYS:
+  288: 
+  289: 
+  290: 		if (g_variable.recon_count != 0)
+001F8D 904CF0            MOV     DPTR,#g_variable+031H
+001F90 E0                MOVX    A,@DPTR
+001F91 6008              JZ      ?C0044?SYS
+  291: 		{
+  292: 			YC_load_record_list(recon_index);
+001F93 904DD6            MOV     DPTR,#recon_index
+001F96 E0                MOVX    A,@DPTR
+001F97 FF                MOV     R7,A
+001F98 020737            LJMP    _YC_load_record_list
+  293: 			break;
+  294: 		}
+001F9B         ?C0044?SYS:
+  295: 
+  296: 		System_long_sleep();		
+001F9B 120FB2            LCALL   System_long_sleep
+  297: 		g_variable.sleepTimer = 0;
+001F9E E4                CLR     A
+001F9F 904CE3            MOV     DPTR,#g_variable+024H
+001FA2 F0                MOVX    @DPTR,A
+001FA3 A3                INC     DPTR
+001FA4 F0                MOVX    @DPTR,A
+  298: 		break;
+  299: 	}
+  300: }
+001FA5         ?C0045?SYS:
+001FA5 22                RET     
 ----- FUNCTION _kb_cb_event (END) -------
 
 
 ----- FUNCTION KS_Initialize (BEGIN) -----
  FILE: 'keyscan.c'
-  206: void KS_Initialize()
-  207: {
-  208: 	REG_GPIO_SELECT(0) = 0;
-  209: 	REG_GPIO_SELECT(1) = 0;
-001F6F 908080            MOV     DPTR,#08080H
-001F72 E4                CLR     A
-001F73 F0                MOVX    @DPTR,A
-  210: 	REG_GPIO_SELECT(2) = 0;
-001F74 A3                INC     DPTR
-001F75 F0                MOVX    @DPTR,A
-  211: 	ksRawInitialize();
-001F76 A3                INC     DPTR
-001F77 F0                MOVX    @DPTR,A
-  212: 	ksColInitialize();
-001F78 F198              ACALL   ksRawInitialize
+  205: void KS_Initialize()
+  206: {
+  207: 	REG_GPIO_SELECT(0) = 0;
+  208: 	REG_GPIO_SELECT(1) = 0;
+001FA6 908080            MOV     DPTR,#08080H
+001FA9 E4                CLR     A
+001FAA F0                MOVX    @DPTR,A
+  209: 	REG_GPIO_SELECT(2) = 0;
+001FAB A3                INC     DPTR
+001FAC F0                MOVX    @DPTR,A
+  210: 	ksRawInitialize();
+001FAD A3                INC     DPTR
+001FAE F0                MOVX    @DPTR,A
+  211: 	ksColInitialize();
+001FAF F1D0              ACALL   ksRawInitialize
 ;----                  JMP     ksColInitialize
-  213: }
+  212: }
 ----- FUNCTION KS_Initialize (END) -------
 
 
 ----- FUNCTION ksColInitialize (BEGIN) -----
  FILE: 'keyscan.c'
-  198: static void ksColInitialize()
-  199: {
-  200: 	byte i = 0;
-  201: 	for (i=0; col[i]!=0; i++) {
-001F7A E4                CLR     A
-001F7B 904F05            MOV     DPTR,#i
-001F7E F0                MOVX    @DPTR,A
-  202: 		GPIO_SetInput(col[i], 0);
-001F7F F0                MOVX    @DPTR,A
-001F80         ?C0032?KEYSCAN:
-001F80 904F05            MOV     DPTR,#i
-001F83 E0                MOVX    A,@DPTR
-001F84 900681            MOV     DPTR,#col
-001F87 93                MOVC    A,@A+DPTR
-001F88 FF                MOV     R7,A
-001F89 600C              JZ      ?C0035?KEYSCAN
-  203: 	}
-001F8B C205              CLR     ?_GPIO_SetInput?BIT
-001F8D F1B5              ACALL   _GPIO_SetInput
-  204: }
-001F8F 904F05            MOV     DPTR,#i
-001F92 E0                MOVX    A,@DPTR
-001F93 04                INC     A
-001F94 F0                MOVX    @DPTR,A
-001F95 80E9              SJMP    ?C0032?KEYSCAN
-  205: 
-001F97         ?C0035?KEYSCAN:
-001F97 22                RET     
+  197: static void ksColInitialize()
+  198: {
+  199: 	byte i = 0;
+  200: 	for (i=0; col[i]!=0; i++) {
+001FB1 E4                CLR     A
+001FB2 904F05            MOV     DPTR,#i
+001FB5 F0                MOVX    @DPTR,A
+  201: 		GPIO_SetOutput(col[i], 1);
+001FB6 F0                MOVX    @DPTR,A
+001FB7         ?C0032?KEYSCAN:
+001FB7 904F05            MOV     DPTR,#i
+001FBA E0                MOVX    A,@DPTR
+001FBB 900681            MOV     DPTR,#col
+001FBE 93                MOVC    A,@A+DPTR
+001FBF FF                MOV     R7,A
+001FC0 600D              JZ      ?C0035?KEYSCAN
+  202: 	}
+001FC2 D206              SETB    ?_GPIO_SetOutput?BIT
+001FC4 12170B            LCALL   _GPIO_SetOutput
+  203: }
+001FC7 904F05            MOV     DPTR,#i
+001FCA E0                MOVX    A,@DPTR
+001FCB 04                INC     A
+001FCC F0                MOVX    @DPTR,A
+001FCD 80E8              SJMP    ?C0032?KEYSCAN
+  204: 
+001FCF         ?C0035?KEYSCAN:
+001FCF 22                RET     
 ----- FUNCTION ksColInitialize (END) -------
 
 
 ----- FUNCTION ksRawInitialize (BEGIN) -----
  FILE: 'keyscan.c'
-  189: static void ksRawInitialize()
-  190: {
-  191: 	byte i = 0;
-  192: 	
-001F98 E4                CLR     A
-001F99 904F04            MOV     DPTR,#i
-001F9C F0                MOVX    @DPTR,A
-  193: 	for (i=0; i<8; i++) {
-001F9D F0                MOVX    @DPTR,A
-001F9E         ?C0028?KEYSCAN:
-001F9E 904F04            MOV     DPTR,#i
-001FA1 E0                MOVX    A,@DPTR
-001FA2 FF                MOV     R7,A
-001FA3 C3                CLR     C
-001FA4 9408              SUBB    A,#08H
-001FA6 500C              JNC     ?C0031?KEYSCAN
-  194: 		GPIO_SetInput(i, 0);
-001FA8 C205              CLR     ?_GPIO_SetInput?BIT
-001FAA F1B5              ACALL   _GPIO_SetInput
-  195: 	}
-001FAC 904F04            MOV     DPTR,#i
-001FAF E0                MOVX    A,@DPTR
-001FB0 04                INC     A
-001FB1 F0                MOVX    @DPTR,A
-001FB2 80EA              SJMP    ?C0028?KEYSCAN
-  196: }
-001FB4         ?C0031?KEYSCAN:
-001FB4 22                RET     
+  188: static void ksRawInitialize()
+  189: {
+  190: 	byte i = 0;
+  191: 	
+001FD0 E4                CLR     A
+001FD1 904F04            MOV     DPTR,#i
+001FD4 F0                MOVX    @DPTR,A
+  192: 	for (i=0; i<8; i++) {
+001FD5 F0                MOVX    @DPTR,A
+001FD6         ?C0028?KEYSCAN:
+001FD6 904F04            MOV     DPTR,#i
+001FD9 E0                MOVX    A,@DPTR
+001FDA FF                MOV     R7,A
+001FDB C3                CLR     C
+001FDC 9408              SUBB    A,#08H
+001FDE 500D              JNC     ?C0031?KEYSCAN
+  193: 		GPIO_SetInput(i, 0);
+001FE0 C205              CLR     ?_GPIO_SetInput?BIT
+001FE2 12350C            LCALL   _GPIO_SetInput
+  194: 	}
+001FE5 904F04            MOV     DPTR,#i
+001FE8 E0                MOVX    A,@DPTR
+001FE9 04                INC     A
+001FEA F0                MOVX    @DPTR,A
+001FEB 80E9              SJMP    ?C0028?KEYSCAN
+  195: }
+001FED         ?C0031?KEYSCAN:
+001FED 22                RET     
 ----- FUNCTION ksRawInitialize (END) -------
 
 
------ FUNCTION _GPIO_SetInput (BEGIN) -----
-;---- Variable 'gpio_num' assigned to Register 'R4' ----
-001FB5 AC07              MOV     R4,AR7
-001FB7 EC                MOV     A,R4
-001FB8 F4                CPL     A
-001FB9 6019              JZ      ?C0015?GPIO
-001FBB         ?C0014?GPIO:
-001FBB AF04              MOV     R7,AR4
-001FBD A205              MOV     C,st
-001FBF 9203              MOV     ?_GPIO_SetPd?BIT,C
-001FC1 12357E            LCALL   _GPIO_SetPd
-001FC4 AF04              MOV     R7,AR4
-001FC6 A205              MOV     C,st
-001FC8 B3                CPL     C
-001FC9 9202              MOV     ?_GPIO_SetPu?BIT,C
-001FCB F1D5              ACALL   _GPIO_SetPu
-001FCD AF04              MOV     R7,AR4
-001FCF C204              CLR     ?_GPIO_Setoe?BIT
-001FD1 12358F            LCALL   _GPIO_Setoe
-001FD4         ?C0015?GPIO:
-001FD4 22                RET     
------ FUNCTION _GPIO_SetInput (END) -------
-
-
------ FUNCTION _GPIO_SetPu (BEGIN) -----
-;---- Variable 'gpio_num' assigned to Register 'R7' ----
-001FD5 EF                MOV     A,R7
-001FD6 F4                CPL     A
-001FD7 600D              JZ      ?C0009?GPIO
-001FD9         ?C0008?GPIO:
-001FD9 7B01              MOV     R3,#01H
-001FDB 7A80              MOV     R2,#080H
-001FDD 7978              MOV     R1,#078H
-001FDF A202              MOV     C,bit_val
-001FE1 9200              MOV     ?_gpioSetBit?BIT,C
-001FE3 12351D            LCALL   _gpioSetBit
-001FE6         ?C0009?GPIO:
-001FE6 22                RET     
------ FUNCTION _GPIO_SetPu (END) -------
-
-
 ----- FUNCTION _kb_set_multikey (BEGIN) -----
  FILE: 'kb_process.c'
-  176: void kb_set_multikey(word multikey_value)
-  177: {
+  172: void kb_set_multikey(word multikey_value)
+  173: {
 ;---- Variable 'multikey_value' assigned to Register 'R4/R5' ----
-001FE7 AD07              MOV     R5,AR7
-001FE9 AC06              MOV     R4,AR6
-  178: 	if(mult_key_status != KEY_WAIT_RELEASE)
-  179: 	{
-001FEB 904E4B            MOV     DPTR,#mult_key_status
-001FEE E0                MOVX    A,@DPTR
-001FEF 6402              XRL     A,#02H
-001FF1 600E              JZ      ?C0047?KB_PROCESS
-  180: 		mult_key_status = KEY_MULIT_PRESS;
-  181: 		multikey[0] = HID_REPORTID_2;
-001FF3 7401              MOV     A,#01H
-001FF5 F0                MOVX    @DPTR,A
-  182: 		multikey[1] = (multikey_value&0xff);
-001FF6 904E4C            MOV     DPTR,#multikey
-001FF9 04                INC     A
-001FFA F0                MOVX    @DPTR,A
-  183: 		multikey[2] = ((multikey_value>>8)&0xff);
-001FFB EF                MOV     A,R7
-001FFC A3                INC     DPTR
-001FFD F0                MOVX    @DPTR,A
-  184: 	}
-001FFE EE                MOV     A,R6
-001FFF A3                INC     DPTR
-002000 F0                MOVX    @DPTR,A
-  185: }
-  186: 
-002001         ?C0047?KB_PROCESS:
-002001 22                RET     
+001FEE AD07              MOV     R5,AR7
+001FF0 AC06              MOV     R4,AR6
+  174: 	if(mult_key_status != KEY_WAIT_RELEASE)
+  175: 	{
+001FF2 904E4B            MOV     DPTR,#mult_key_status
+001FF5 E0                MOVX    A,@DPTR
+001FF6 6402              XRL     A,#02H
+001FF8 600E              JZ      ?C0047?KB_PROCESS
+  176: 		mult_key_status = KEY_MULIT_PRESS;
+  177: 		multikey[0] = HID_REPORTID_2;
+001FFA 7401              MOV     A,#01H
+001FFC F0                MOVX    @DPTR,A
+  178: 		multikey[1] = (multikey_value&0xff);
+001FFD 904E4C            MOV     DPTR,#multikey
+002000 04                INC     A
+002001 F0                MOVX    @DPTR,A
+  179: 		multikey[2] = ((multikey_value>>8)&0xff);
+002002 EF                MOV     A,R7
+002003 A3                INC     DPTR
+002004 F0                MOVX    @DPTR,A
+  180: 	}
+002005 EE                MOV     A,R6
+002006 A3                INC     DPTR
+002007 F0                MOVX    @DPTR,A
+  181: }
+  182: 
+002008         ?C0047?KB_PROCESS:
+002008 22                RET     
 ----- FUNCTION _kb_set_multikey (END) -------
 
 
 ----- FUNCTION _kb_set_systemkey (BEGIN) -----
  FILE: 'kb_process.c'
-  187: void kb_set_systemkey(byte systemkey_value)
-  188: {
+  183: void kb_set_systemkey(byte systemkey_value)
+  184: {
 ;---- Variable 'systemkey_value' assigned to Register 'R7' ----
-  189: 	if(mult_key_status != KEY_WAIT_RELEASE)
-  190: 	{
-002002 904E4B            MOV     DPTR,#mult_key_status
-002005 E0                MOVX    A,@DPTR
-002006 6402              XRL     A,#02H
-002008 6012              JZ      ?C0049?KB_PROCESS
-  191: 		mult_key_status = KEY_SYSTEM_PRESS;
-  192: 		system_key_press = 1;
-00200A 7404              MOV     A,#04H
-00200C F0                MOVX    @DPTR,A
-  193: 		multikey[0] = HID_REPORTID_SYSTEM;
-00200D 904DE9            MOV     DPTR,#system_key_press
-002010 7401              MOV     A,#01H
-002012 F0                MOVX    @DPTR,A
-  194: 		multikey[1] = systemkey_value;
-002013 904E4C            MOV     DPTR,#multikey
-002016 7406              MOV     A,#06H
-002018 F0                MOVX    @DPTR,A
-  195: 	}
-002019 A3                INC     DPTR
-00201A EF                MOV     A,R7
-00201B F0                MOVX    @DPTR,A
-  196: }
-  197: 
-00201C         ?C0049?KB_PROCESS:
-00201C 22                RET     
+  185: 	if(mult_key_status != KEY_WAIT_RELEASE)
+  186: 	{
+002009 904E4B            MOV     DPTR,#mult_key_status
+00200C E0                MOVX    A,@DPTR
+00200D 6402              XRL     A,#02H
+00200F 6012              JZ      ?C0049?KB_PROCESS
+  187: 		mult_key_status = KEY_SYSTEM_PRESS;
+  188: 		system_key_press = 1;
+002011 7404              MOV     A,#04H
+002013 F0                MOVX    @DPTR,A
+  189: 		multikey[0] = HID_REPORTID_SYSTEM;
+002014 904DE9            MOV     DPTR,#system_key_press
+002017 7401              MOV     A,#01H
+002019 F0                MOVX    @DPTR,A
+  190: 		multikey[1] = systemkey_value;
+00201A 904E4C            MOV     DPTR,#multikey
+00201D 7406              MOV     A,#06H
+00201F F0                MOVX    @DPTR,A
+  191: 	}
+002020 A3                INC     DPTR
+002021 EF                MOV     A,R7
+002022 F0                MOVX    @DPTR,A
+  192: }
+  193: 
+002023         ?C0049?KB_PROCESS:
+002023 22                RET     
 ----- FUNCTION _kb_set_systemkey (END) -------
 
 
 ----- FUNCTION _kb_multikey_setup (BEGIN) -----
  FILE: 'kb_process.c'
-  804: void kb_multikey_setup(tKSEVENT *pEvt)
-  805: {
-00201D 904ED8            MOV     DPTR,#pEvt
-002020 EB                MOV     A,R3
-002021 F0                MOVX    @DPTR,A
-002022 A3                INC     DPTR
-002023 EA                MOV     A,R2
-002024 F0                MOVX    @DPTR,A
-002025 A3                INC     DPTR
-002026 E9                MOV     A,R1
-002027 F0                MOVX    @DPTR,A
-  806: 	byte i = 0;
-  807: 	
-002028 E4                CLR     A
+  800: void kb_multikey_setup(tKSEVENT *pEvt)
+  801: {
+002024 904ED8            MOV     DPTR,#pEvt
+002027 EB                MOV     A,R3
+002028 F0                MOVX    @DPTR,A
 002029 A3                INC     DPTR
-00202A F0                MOVX    @DPTR,A
-  808: 	for (i = 0;i < 6;i++)
+00202A EA                MOV     A,R2
 00202B F0                MOVX    @DPTR,A
-00202C         ?C0198?KB_PROCESS:
-00202C 904EDB            MOV     DPTR,#i
-00202F E0                MOVX    A,@DPTR
-002030 FF                MOV     R7,A
-002031 C3                CLR     C
-002032 9406              SUBB    A,#06H
-002034 4002              JC      $ + 4H
-002036 6133              AJMP    ?C0257?KB_PROCESS
-  809: 	{		
-  810: 		if ((pEvt->ksPool[i] &0xF0) == 0xf0 
-002038 904ED8            MOV     DPTR,#pEvt
-00203B E0                MOVX    A,@DPTR
-00203C FB                MOV     R3,A
-00203D A3                INC     DPTR
-00203E E0                MOVX    A,@DPTR
-00203F FA                MOV     R2,A
-002040 A3                INC     DPTR
-002041 E0                MOVX    A,@DPTR
-002042 2401              ADD     A,#01H
-002044 F9                MOV     R1,A
-002045 E4                CLR     A
-002046 3A                ADDC    A,R2
-002047 FA                MOV     R2,A
-002048 7E00              MOV     R6,#00H
-00204A E9                MOV     A,R1
-00204B 2F                ADD     A,R7
-00204C F9                MOV     R1,A
-00204D EE                MOV     A,R6
-00204E 3A                ADDC    A,R2
-00204F FA                MOV     R2,A
-002050 1203B6            LCALL   ?C?CLDPTR
-002053 FF                MOV     R7,A
-002054 54F0              ANL     A,#0F0H
-002056 64F0              XRL     A,#0F0H
-002058 6009              JZ      ?C0202?KB_PROCESS
-00205A EF                MOV     A,R7
-00205B 54D0              ANL     A,#0D0H
-00205D 64D0              XRL     A,#0D0H
-00205F 6002              JZ      $ + 4H
-002061 612B              AJMP    ?C0200?KB_PROCESS
-002063         ?C0202?KB_PROCESS:
-  811: 			|| (pEvt->ksPool[i] &0xD0) == 0xD0)
-  812: 		{
-  813: 			
-  814: 			if (pEvt->ksPool[i] ==  HID_MULTIKEY_MEDIA) //media select
-002063 1203B6            LCALL   ?C?CLDPTR
-002066 FB                MOV     R3,A
-002067 B4F109            CJNE    A,#0F1H,?C0203?KB_PROCESS
-  815: 			{
-  816: 				kb_set_multikey(0x0183); 
-00206A 7F83              MOV     R7,#083H
-00206C 7E01              MOV     R6,#01H
-00206E 121FE7            LCALL   _kb_set_multikey
-  817: 			}
-002071 6100              AJMP    ?C0204?KB_PROCESS
-002073         ?C0203?KB_PROCESS:
-  818: 			else
-  819: 			if (pEvt->ksPool[i] ==  HID_MULTIKEY_PALY) //play / pause
-002073 EB                MOV     A,R3
-002074 B4F209            CJNE    A,#0F2H,?C0205?KB_PROCESS
-  820: 			{ 
-  821: 				kb_set_multikey(0x00cd);
-002077 7FCD              MOV     R7,#0CDH
-002079 7E00              MOV     R6,#00H
-00207B 121FE7            LCALL   _kb_set_multikey
-  822: 			}
-00207E 6100              AJMP    ?C0204?KB_PROCESS
-002080         ?C0205?KB_PROCESS:
-  823: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_STOP)  //stop
-002080 904ED8            MOV     DPTR,#pEvt
-002083 E0                MOVX    A,@DPTR
-002084 FB                MOV     R3,A
-002085 A3                INC     DPTR
-002086 E0                MOVX    A,@DPTR
-002087 FA                MOV     R2,A
-002088 A3                INC     DPTR
-002089 E0                MOVX    A,@DPTR
-00208A 2401              ADD     A,#01H
-00208C F9                MOV     R1,A
-00208D E4                CLR     A
-00208E 3A                ADDC    A,R2
-00208F FA                MOV     R2,A
-002090 A3                INC     DPTR
-002091 E0                MOVX    A,@DPTR
-002092 7E00              MOV     R6,#00H
-002094 29                ADD     A,R1
-002095 F9                MOV     R1,A
-002096 EE                MOV     A,R6
-002097 3A                ADDC    A,R2
-002098 FA                MOV     R2,A
-002099 1203B6            LCALL   ?C?CLDPTR
-00209C FB                MOV     R3,A
-00209D B4F307            CJNE    A,#0F3H,?C0207?KB_PROCESS
+00202C A3                INC     DPTR
+00202D E9                MOV     A,R1
+00202E F0                MOVX    @DPTR,A
+  802: 	byte i = 0;
+  803: 	
+00202F E4                CLR     A
+002030 A3                INC     DPTR
+002031 F0                MOVX    @DPTR,A
+  804: 	for (i = 0;i < 6;i++)
+002032 F0                MOVX    @DPTR,A
+002033         ?C0198?KB_PROCESS:
+002033 904EDB            MOV     DPTR,#i
+002036 E0                MOVX    A,@DPTR
+002037 FF                MOV     R7,A
+002038 C3                CLR     C
+002039 9406              SUBB    A,#06H
+00203B 4002              JC      $ + 4H
+00203D 613A              AJMP    ?C0257?KB_PROCESS
+  805: 	{		
+  806: 		if ((pEvt->ksPool[i] &0xF0) == 0xf0 
+00203F 904ED8            MOV     DPTR,#pEvt
+002042 E0                MOVX    A,@DPTR
+002043 FB                MOV     R3,A
+002044 A3                INC     DPTR
+002045 E0                MOVX    A,@DPTR
+002046 FA                MOV     R2,A
+002047 A3                INC     DPTR
+002048 E0                MOVX    A,@DPTR
+002049 2401              ADD     A,#01H
+00204B F9                MOV     R1,A
+00204C E4                CLR     A
+00204D 3A                ADDC    A,R2
+00204E FA                MOV     R2,A
+00204F 7E00              MOV     R6,#00H
+002051 E9                MOV     A,R1
+002052 2F                ADD     A,R7
+002053 F9                MOV     R1,A
+002054 EE                MOV     A,R6
+002055 3A                ADDC    A,R2
+002056 FA                MOV     R2,A
+002057 1203B6            LCALL   ?C?CLDPTR
+00205A FF                MOV     R7,A
+00205B 54F0              ANL     A,#0F0H
+00205D 64F0              XRL     A,#0F0H
+00205F 6009              JZ      ?C0202?KB_PROCESS
+002061 EF                MOV     A,R7
+002062 54D0              ANL     A,#0D0H
+002064 64D0              XRL     A,#0D0H
+002066 6002              JZ      $ + 4H
+002068 6132              AJMP    ?C0200?KB_PROCESS
+00206A         ?C0202?KB_PROCESS:
+  807: 			|| (pEvt->ksPool[i] &0xD0) == 0xD0)
+  808: 		{
+  809: 			
+  810: 			if (pEvt->ksPool[i] ==  HID_MULTIKEY_MEDIA) //media select
+00206A 1203B6            LCALL   ?C?CLDPTR
+00206D FB                MOV     R3,A
+00206E B4F109            CJNE    A,#0F1H,?C0203?KB_PROCESS
+  811: 			{
+  812: 				kb_set_multikey(0x0183); 
+002071 7F83              MOV     R7,#083H
+002073 7E01              MOV     R6,#01H
+002075 121FEE            LCALL   _kb_set_multikey
+  813: 			}
+002078 6107              AJMP    ?C0204?KB_PROCESS
+00207A         ?C0203?KB_PROCESS:
+  814: 			else
+  815: 			if (pEvt->ksPool[i] ==  HID_MULTIKEY_PALY) //play / pause
+00207A EB                MOV     A,R3
+00207B B4F209            CJNE    A,#0F2H,?C0205?KB_PROCESS
+  816: 			{ 
+  817: 				kb_set_multikey(0x00cd);
+00207E 7FCD              MOV     R7,#0CDH
+002080 7E00              MOV     R6,#00H
+002082 121FEE            LCALL   _kb_set_multikey
+  818: 			}
+002085 6107              AJMP    ?C0204?KB_PROCESS
+002087         ?C0205?KB_PROCESS:
+  819: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_STOP)  //stop
+002087 904ED8            MOV     DPTR,#pEvt
+00208A E0                MOVX    A,@DPTR
+00208B FB                MOV     R3,A
+00208C A3                INC     DPTR
+00208D E0                MOVX    A,@DPTR
+00208E FA                MOV     R2,A
+00208F A3                INC     DPTR
+002090 E0                MOVX    A,@DPTR
+002091 2401              ADD     A,#01H
+002093 F9                MOV     R1,A
+002094 E4                CLR     A
+002095 3A                ADDC    A,R2
+002096 FA                MOV     R2,A
+002097 A3                INC     DPTR
+002098 E0                MOVX    A,@DPTR
+002099 7E00              MOV     R6,#00H
+00209B 29                ADD     A,R1
+00209C F9                MOV     R1,A
+00209D EE                MOV     A,R6
+00209E 3A                ADDC    A,R2
+00209F FA                MOV     R2,A
+0020A0 1203B6            LCALL   ?C?CLDPTR
+0020A3 FB                MOV     R3,A
+0020A4 B4F307            CJNE    A,#0F3H,?C0207?KB_PROCESS
+  820: 			{
+  821: 				kb_set_multikey(0x00b7);
+0020A7 7FB7              MOV     R7,#0B7H
+0020A9 121FEE            LCALL   _kb_set_multikey
+  822: 			}	
+0020AC 6107              AJMP    ?C0204?KB_PROCESS
+0020AE         ?C0207?KB_PROCESS:
+  823: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_PRE_TRACK) //pre Track
+0020AE EB                MOV     A,R3
+0020AF B4F409            CJNE    A,#0F4H,?C0209?KB_PROCESS
   824: 			{
-  825: 				kb_set_multikey(0x00b7);
-0020A0 7FB7              MOV     R7,#0B7H
-0020A2 121FE7            LCALL   _kb_set_multikey
-  826: 			}	
-0020A5 6100              AJMP    ?C0204?KB_PROCESS
-0020A7         ?C0207?KB_PROCESS:
-  827: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_PRE_TRACK) //pre Track
-0020A7 EB                MOV     A,R3
-0020A8 B4F409            CJNE    A,#0F4H,?C0209?KB_PROCESS
+  825: 				kb_set_multikey(0x00b6);
+0020B2 7FB6              MOV     R7,#0B6H
+0020B4 7E00              MOV     R6,#00H
+0020B6 121FEE            LCALL   _kb_set_multikey
+  826: 			}
+0020B9 6107              AJMP    ?C0204?KB_PROCESS
+0020BB         ?C0209?KB_PROCESS:
+  827: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_NEXT_TRACK) //next Track
+0020BB 904ED8            MOV     DPTR,#pEvt
+0020BE E0                MOVX    A,@DPTR
+0020BF FB                MOV     R3,A
+0020C0 A3                INC     DPTR
+0020C1 E0                MOVX    A,@DPTR
+0020C2 FA                MOV     R2,A
+0020C3 A3                INC     DPTR
+0020C4 E0                MOVX    A,@DPTR
+0020C5 2401              ADD     A,#01H
+0020C7 F9                MOV     R1,A
+0020C8 E4                CLR     A
+0020C9 3A                ADDC    A,R2
+0020CA FA                MOV     R2,A
+0020CB A3                INC     DPTR
+0020CC E0                MOVX    A,@DPTR
+0020CD 7E00              MOV     R6,#00H
+0020CF 29                ADD     A,R1
+0020D0 F9                MOV     R1,A
+0020D1 EE                MOV     A,R6
+0020D2 3A                ADDC    A,R2
+0020D3 FA                MOV     R2,A
+0020D4 1203B6            LCALL   ?C?CLDPTR
+0020D7 FB                MOV     R3,A
+0020D8 B4F507            CJNE    A,#0F5H,?C0211?KB_PROCESS
   828: 			{
-  829: 				kb_set_multikey(0x00b6);
-0020AB 7FB6              MOV     R7,#0B6H
-0020AD 7E00              MOV     R6,#00H
-0020AF 121FE7            LCALL   _kb_set_multikey
+  829: 				kb_set_multikey(0x00b5);
+0020DB 7FB5              MOV     R7,#0B5H
+0020DD 121FEE            LCALL   _kb_set_multikey
   830: 			}
-0020B2 6100              AJMP    ?C0204?KB_PROCESS
-0020B4         ?C0209?KB_PROCESS:
-  831: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_NEXT_TRACK) //next Track
-0020B4 904ED8            MOV     DPTR,#pEvt
-0020B7 E0                MOVX    A,@DPTR
-0020B8 FB                MOV     R3,A
-0020B9 A3                INC     DPTR
-0020BA E0                MOVX    A,@DPTR
-0020BB FA                MOV     R2,A
-0020BC A3                INC     DPTR
-0020BD E0                MOVX    A,@DPTR
-0020BE 2401              ADD     A,#01H
-0020C0 F9                MOV     R1,A
-0020C1 E4                CLR     A
-0020C2 3A                ADDC    A,R2
-0020C3 FA                MOV     R2,A
-0020C4 A3                INC     DPTR
-0020C5 E0                MOVX    A,@DPTR
-0020C6 7E00              MOV     R6,#00H
-0020C8 29                ADD     A,R1
-0020C9 F9                MOV     R1,A
-0020CA EE                MOV     A,R6
-0020CB 3A                ADDC    A,R2
-0020CC FA                MOV     R2,A
-0020CD 1203B6            LCALL   ?C?CLDPTR
-0020D0 FB                MOV     R3,A
-0020D1 B4F507            CJNE    A,#0F5H,?C0211?KB_PROCESS
+0020E0 6107              AJMP    ?C0204?KB_PROCESS
+0020E2         ?C0211?KB_PROCESS:
+  831: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_VOL_DOWN) //vol-
+0020E2 EB                MOV     A,R3
+0020E3 B4F609            CJNE    A,#0F6H,?C0213?KB_PROCESS
   832: 			{
-  833: 				kb_set_multikey(0x00b5);
-0020D4 7FB5              MOV     R7,#0B5H
-0020D6 121FE7            LCALL   _kb_set_multikey
+  833: 				kb_set_multikey(0x00ea);
+0020E6 7FEA              MOV     R7,#0EAH
+0020E8 7E00              MOV     R6,#00H
+0020EA 121FEE            LCALL   _kb_set_multikey
   834: 			}
-0020D9 6100              AJMP    ?C0204?KB_PROCESS
-0020DB         ?C0211?KB_PROCESS:
-  835: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_VOL_DOWN) //vol-
-0020DB EB                MOV     A,R3
-0020DC B4F609            CJNE    A,#0F6H,?C0213?KB_PROCESS
+0020ED 6107              AJMP    ?C0204?KB_PROCESS
+0020EF         ?C0213?KB_PROCESS:
+  835: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_VOL_UP) //vol+
+0020EF 904ED8            MOV     DPTR,#pEvt
+0020F2 E0                MOVX    A,@DPTR
+0020F3 FB                MOV     R3,A
+0020F4 A3                INC     DPTR
+0020F5 E0                MOVX    A,@DPTR
+0020F6 FA                MOV     R2,A
+0020F7 A3                INC     DPTR
+0020F8 E0                MOVX    A,@DPTR
+0020F9 2401              ADD     A,#01H
+0020FB F9                MOV     R1,A
+0020FC E4                CLR     A
+0020FD 3A                ADDC    A,R2
+0020FE FA                MOV     R2,A
+0020FF A3                INC     DPTR
+002100 E0                MOVX    A,@DPTR
+002101 7E00              MOV     R6,#00H
+002103 29                ADD     A,R1
+002104 F9                MOV     R1,A
+002105 EE                MOV     A,R6
+002106 3A                ADDC    A,R2
+002107 FA                MOV     R2,A
+002108 1203B6            LCALL   ?C?CLDPTR
+00210B FB                MOV     R3,A
+00210C B4F707            CJNE    A,#0F7H,?C0215?KB_PROCESS
   836: 			{
-  837: 				kb_set_multikey(0x00ea);
-0020DF 7FEA              MOV     R7,#0EAH
-0020E1 7E00              MOV     R6,#00H
-0020E3 121FE7            LCALL   _kb_set_multikey
+  837: 				kb_set_multikey(0x00e9);
+00210F 7FE9              MOV     R7,#0E9H
+002111 121FEE            LCALL   _kb_set_multikey
   838: 			}
-0020E6 6100              AJMP    ?C0204?KB_PROCESS
-0020E8         ?C0213?KB_PROCESS:
-  839: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_VOL_UP) //vol+
-0020E8 904ED8            MOV     DPTR,#pEvt
-0020EB E0                MOVX    A,@DPTR
-0020EC FB                MOV     R3,A
-0020ED A3                INC     DPTR
-0020EE E0                MOVX    A,@DPTR
-0020EF FA                MOV     R2,A
-0020F0 A3                INC     DPTR
-0020F1 E0                MOVX    A,@DPTR
-0020F2 2401              ADD     A,#01H
-0020F4 F9                MOV     R1,A
-0020F5 E4                CLR     A
-0020F6 3A                ADDC    A,R2
-0020F7 FA                MOV     R2,A
-0020F8 A3                INC     DPTR
-0020F9 E0                MOVX    A,@DPTR
-0020FA 7E00              MOV     R6,#00H
-0020FC 29                ADD     A,R1
-0020FD F9                MOV     R1,A
-0020FE EE                MOV     A,R6
-0020FF 3A                ADDC    A,R2
-002100 FA                MOV     R2,A
-002101 1203B6            LCALL   ?C?CLDPTR
-002104 FB                MOV     R3,A
-002105 B4F707            CJNE    A,#0F7H,?C0215?KB_PROCESS
+002114 6107              AJMP    ?C0204?KB_PROCESS
+002116         ?C0215?KB_PROCESS:
+  839: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_MUTE) //mute
+002116 EB                MOV     A,R3
+002117 B4F809            CJNE    A,#0F8H,?C0217?KB_PROCESS
   840: 			{
-  841: 				kb_set_multikey(0x00e9);
-002108 7FE9              MOV     R7,#0E9H
-00210A 121FE7            LCALL   _kb_set_multikey
+  841: 				kb_set_multikey(0x00e2);
+00211A 7FE2              MOV     R7,#0E2H
+00211C 7E00              MOV     R6,#00H
+00211E 121FEE            LCALL   _kb_set_multikey
   842: 			}
-00210D 6100              AJMP    ?C0204?KB_PROCESS
-00210F         ?C0215?KB_PROCESS:
-  843: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_MUTE) //mute
-00210F EB                MOV     A,R3
-002110 B4F809            CJNE    A,#0F8H,?C0217?KB_PROCESS
+002121 6107              AJMP    ?C0204?KB_PROCESS
+002123         ?C0217?KB_PROCESS:
+  843: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_MY_COMPUTER) 
+002123 904ED8            MOV     DPTR,#pEvt
+002126 E0                MOVX    A,@DPTR
+002127 FB                MOV     R3,A
+002128 A3                INC     DPTR
+002129 E0                MOVX    A,@DPTR
+00212A FA                MOV     R2,A
+00212B A3                INC     DPTR
+00212C E0                MOVX    A,@DPTR
+00212D 2401              ADD     A,#01H
+00212F F9                MOV     R1,A
+002130 E4                CLR     A
+002131 3A                ADDC    A,R2
+002132 FA                MOV     R2,A
+002133 A3                INC     DPTR
+002134 E0                MOVX    A,@DPTR
+002135 7E00              MOV     R6,#00H
+002137 29                ADD     A,R1
+002138 F9                MOV     R1,A
+002139 EE                MOV     A,R6
+00213A 3A                ADDC    A,R2
+00213B FA                MOV     R2,A
+00213C 1203B6            LCALL   ?C?CLDPTR
+00213F FB                MOV     R3,A
+002140 B4F908            CJNE    A,#0F9H,?C0219?KB_PROCESS
   844: 			{
-  845: 				kb_set_multikey(0x00e2);
-002113 7FE2              MOV     R7,#0E2H
-002115 7E00              MOV     R6,#00H
-002117 121FE7            LCALL   _kb_set_multikey
-  846: 			}
-00211A 6100              AJMP    ?C0204?KB_PROCESS
-00211C         ?C0217?KB_PROCESS:
-  847: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_MY_COMPUTER) 
-00211C 904ED8            MOV     DPTR,#pEvt
-00211F E0                MOVX    A,@DPTR
-002120 FB                MOV     R3,A
-002121 A3                INC     DPTR
-002122 E0                MOVX    A,@DPTR
-002123 FA                MOV     R2,A
-002124 A3                INC     DPTR
-002125 E0                MOVX    A,@DPTR
-002126 2401              ADD     A,#01H
-002128 F9                MOV     R1,A
-002129 E4                CLR     A
-00212A 3A                ADDC    A,R2
-00212B FA                MOV     R2,A
-00212C A3                INC     DPTR
-00212D E0                MOVX    A,@DPTR
-00212E 7E00              MOV     R6,#00H
-002130 29                ADD     A,R1
-002131 F9                MOV     R1,A
-002132 EE                MOV     A,R6
-002133 3A                ADDC    A,R2
-002134 FA                MOV     R2,A
-002135 1203B6            LCALL   ?C?CLDPTR
-002138 FB                MOV     R3,A
-002139 B4F908            CJNE    A,#0F9H,?C0219?KB_PROCESS
+  845: 				kb_set_multikey(0x0194);
+002143 7F94              MOV     R7,#094H
+002145 0E                INC     R6
+002146 121FEE            LCALL   _kb_set_multikey
+  846: 			}	
+002149 6107              AJMP    ?C0204?KB_PROCESS
+00214B         ?C0219?KB_PROCESS:
+  847: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_MAIL)  //mail
+00214B EB                MOV     A,R3
+00214C B4FA09            CJNE    A,#0FAH,?C0221?KB_PROCESS
   848: 			{
-  849: 				kb_set_multikey(0x0194);
-00213C 7F94              MOV     R7,#094H
-00213E 0E                INC     R6
-00213F 121FE7            LCALL   _kb_set_multikey
-  850: 			}	
-002142 6100              AJMP    ?C0204?KB_PROCESS
-002144         ?C0219?KB_PROCESS:
-  851: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_MAIL)  //mail
-002144 EB                MOV     A,R3
-002145 B4FA09            CJNE    A,#0FAH,?C0221?KB_PROCESS
+  849: 				kb_set_multikey(0x018a);//mail
+00214F 7F8A              MOV     R7,#08AH
+002151 7E01              MOV     R6,#01H
+002153 121FEE            LCALL   _kb_set_multikey
+  850: 			}
+002156 6107              AJMP    ?C0204?KB_PROCESS
+002158         ?C0221?KB_PROCESS:
+  851: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_CALCULATOR) //calculator
+002158 904ED8            MOV     DPTR,#pEvt
+00215B E0                MOVX    A,@DPTR
+00215C FB                MOV     R3,A
+00215D A3                INC     DPTR
+00215E E0                MOVX    A,@DPTR
+00215F FA                MOV     R2,A
+002160 A3                INC     DPTR
+002161 E0                MOVX    A,@DPTR
+002162 2401              ADD     A,#01H
+002164 F9                MOV     R1,A
+002165 E4                CLR     A
+002166 3A                ADDC    A,R2
+002167 FA                MOV     R2,A
+002168 A3                INC     DPTR
+002169 E0                MOVX    A,@DPTR
+00216A 7E00              MOV     R6,#00H
+00216C 29                ADD     A,R1
+00216D F9                MOV     R1,A
+00216E EE                MOV     A,R6
+00216F 3A                ADDC    A,R2
+002170 FA                MOV     R2,A
+002171 1203B6            LCALL   ?C?CLDPTR
+002174 FB                MOV     R3,A
+002175 B4FB08            CJNE    A,#0FBH,?C0223?KB_PROCESS
   852: 			{
-  853: 				kb_set_multikey(0x018a);//mail
-002148 7F8A              MOV     R7,#08AH
-00214A 7E01              MOV     R6,#01H
-00214C 121FE7            LCALL   _kb_set_multikey
+  853: 				kb_set_multikey(0x0192);
+002178 7F92              MOV     R7,#092H
+00217A 0E                INC     R6
+00217B 121FEE            LCALL   _kb_set_multikey
   854: 			}
-00214F 6100              AJMP    ?C0204?KB_PROCESS
-002151         ?C0221?KB_PROCESS:
-  855: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_CALCULATOR) //calculator
-002151 904ED8            MOV     DPTR,#pEvt
-002154 E0                MOVX    A,@DPTR
-002155 FB                MOV     R3,A
-002156 A3                INC     DPTR
-002157 E0                MOVX    A,@DPTR
-002158 FA                MOV     R2,A
-002159 A3                INC     DPTR
-00215A E0                MOVX    A,@DPTR
-00215B 2401              ADD     A,#01H
-00215D F9                MOV     R1,A
-00215E E4                CLR     A
-00215F 3A                ADDC    A,R2
-002160 FA                MOV     R2,A
-002161 A3                INC     DPTR
-002162 E0                MOVX    A,@DPTR
-002163 7E00              MOV     R6,#00H
-002165 29                ADD     A,R1
-002166 F9                MOV     R1,A
-002167 EE                MOV     A,R6
-002168 3A                ADDC    A,R2
-002169 FA                MOV     R2,A
-00216A 1203B6            LCALL   ?C?CLDPTR
-00216D FB                MOV     R3,A
-00216E B4FB08            CJNE    A,#0FBH,?C0223?KB_PROCESS
+00217E 6107              AJMP    ?C0204?KB_PROCESS
+002180         ?C0223?KB_PROCESS:
+  855: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_FAVORITES) 
+002180 EB                MOV     A,R3
+002181 B4D009            CJNE    A,#0D0H,?C0225?KB_PROCESS
   856: 			{
-  857: 				kb_set_multikey(0x0192);
-002171 7F92              MOV     R7,#092H
-002173 0E                INC     R6
-002174 121FE7            LCALL   _kb_set_multikey
+  857: 				kb_set_multikey(0x022a);//www Favorites
+002184 7F2A              MOV     R7,#02AH
+002186 7E02              MOV     R6,#02H
+002188 121FEE            LCALL   _kb_set_multikey
   858: 			}
-002177 6100              AJMP    ?C0204?KB_PROCESS
-002179         ?C0223?KB_PROCESS:
-  859: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_FAVORITES) 
-002179 EB                MOV     A,R3
-00217A B4D009            CJNE    A,#0D0H,?C0225?KB_PROCESS
+00218B 6107              AJMP    ?C0204?KB_PROCESS
+00218D         ?C0225?KB_PROCESS:
+  859: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_FORWARD)  
+00218D 904ED8            MOV     DPTR,#pEvt
+002190 E0                MOVX    A,@DPTR
+002191 FB                MOV     R3,A
+002192 A3                INC     DPTR
+002193 E0                MOVX    A,@DPTR
+002194 FA                MOV     R2,A
+002195 A3                INC     DPTR
+002196 E0                MOVX    A,@DPTR
+002197 2401              ADD     A,#01H
+002199 F9                MOV     R1,A
+00219A E4                CLR     A
+00219B 3A                ADDC    A,R2
+00219C FA                MOV     R2,A
+00219D A3                INC     DPTR
+00219E E0                MOVX    A,@DPTR
+00219F 7E00              MOV     R6,#00H
+0021A1 29                ADD     A,R1
+0021A2 F9                MOV     R1,A
+0021A3 EE                MOV     A,R6
+0021A4 3A                ADDC    A,R2
+0021A5 FA                MOV     R2,A
+0021A6 1203B6            LCALL   ?C?CLDPTR
+0021A9 FB                MOV     R3,A
+0021AA B4D109            CJNE    A,#0D1H,?C0227?KB_PROCESS
   860: 			{
-  861: 				kb_set_multikey(0x022a);//www Favorites
-00217D 7F2A              MOV     R7,#02AH
-00217F 7E02              MOV     R6,#02H
-002181 121FE7            LCALL   _kb_set_multikey
+  861: 				kb_set_multikey(0x0225);
+0021AD 7F25              MOV     R7,#025H
+0021AF 7E02              MOV     R6,#02H
+0021B1 121FEE            LCALL   _kb_set_multikey
   862: 			}
-002184 6100              AJMP    ?C0204?KB_PROCESS
-002186         ?C0225?KB_PROCESS:
-  863: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_FORWARD)  
-002186 904ED8            MOV     DPTR,#pEvt
-002189 E0                MOVX    A,@DPTR
-00218A FB                MOV     R3,A
-00218B A3                INC     DPTR
-00218C E0                MOVX    A,@DPTR
-00218D FA                MOV     R2,A
-00218E A3                INC     DPTR
-00218F E0                MOVX    A,@DPTR
-002190 2401              ADD     A,#01H
-002192 F9                MOV     R1,A
-002193 E4                CLR     A
-002194 3A                ADDC    A,R2
-002195 FA                MOV     R2,A
-002196 A3                INC     DPTR
-002197 E0                MOVX    A,@DPTR
-002198 7E00              MOV     R6,#00H
-00219A 29                ADD     A,R1
-00219B F9                MOV     R1,A
-00219C EE                MOV     A,R6
-00219D 3A                ADDC    A,R2
-00219E FA                MOV     R2,A
-00219F 1203B6            LCALL   ?C?CLDPTR
-0021A2 FB                MOV     R3,A
-0021A3 B4D109            CJNE    A,#0D1H,?C0227?KB_PROCESS
+0021B4 6107              AJMP    ?C0204?KB_PROCESS
+0021B6         ?C0227?KB_PROCESS:
+  863: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_STOP)  //www Stop
+0021B6 EB                MOV     A,R3
+0021B7 B4D309            CJNE    A,#0D3H,?C0229?KB_PROCESS
   864: 			{
-  865: 				kb_set_multikey(0x0225);
-0021A6 7F25              MOV     R7,#025H
-0021A8 7E02              MOV     R6,#02H
-0021AA 121FE7            LCALL   _kb_set_multikey
+  865: 				kb_set_multikey(0x0226);
+0021BA 7F26              MOV     R7,#026H
+0021BC 7E02              MOV     R6,#02H
+0021BE 121FEE            LCALL   _kb_set_multikey
   866: 			}
-0021AD 6100              AJMP    ?C0204?KB_PROCESS
-0021AF         ?C0227?KB_PROCESS:
-  867: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_STOP)  //www Stop
-0021AF EB                MOV     A,R3
-0021B0 B4D309            CJNE    A,#0D3H,?C0229?KB_PROCESS
+0021C1 6107              AJMP    ?C0204?KB_PROCESS
+0021C3         ?C0229?KB_PROCESS:
+  867: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_BACK)  
+0021C3 904ED8            MOV     DPTR,#pEvt
+0021C6 E0                MOVX    A,@DPTR
+0021C7 FB                MOV     R3,A
+0021C8 A3                INC     DPTR
+0021C9 E0                MOVX    A,@DPTR
+0021CA FA                MOV     R2,A
+0021CB A3                INC     DPTR
+0021CC E0                MOVX    A,@DPTR
+0021CD 2401              ADD     A,#01H
+0021CF F9                MOV     R1,A
+0021D0 E4                CLR     A
+0021D1 3A                ADDC    A,R2
+0021D2 FA                MOV     R2,A
+0021D3 A3                INC     DPTR
+0021D4 E0                MOVX    A,@DPTR
+0021D5 7E00              MOV     R6,#00H
+0021D7 29                ADD     A,R1
+0021D8 F9                MOV     R1,A
+0021D9 EE                MOV     A,R6
+0021DA 3A                ADDC    A,R2
+0021DB FA                MOV     R2,A
+0021DC 1203B6            LCALL   ?C?CLDPTR
+0021DF FB                MOV     R3,A
+0021E0 B4D209            CJNE    A,#0D2H,?C0231?KB_PROCESS
   868: 			{
-  869: 				kb_set_multikey(0x0226);
-0021B3 7F26              MOV     R7,#026H
-0021B5 7E02              MOV     R6,#02H
-0021B7 121FE7            LCALL   _kb_set_multikey
+  869: 				kb_set_multikey(0x0224);
+0021E3 7F24              MOV     R7,#024H
+0021E5 7E02              MOV     R6,#02H
+0021E7 121FEE            LCALL   _kb_set_multikey
   870: 			}
-0021BA 6100              AJMP    ?C0204?KB_PROCESS
-0021BC         ?C0229?KB_PROCESS:
-  871: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_BACK)  
-0021BC 904ED8            MOV     DPTR,#pEvt
-0021BF E0                MOVX    A,@DPTR
-0021C0 FB                MOV     R3,A
-0021C1 A3                INC     DPTR
-0021C2 E0                MOVX    A,@DPTR
-0021C3 FA                MOV     R2,A
-0021C4 A3                INC     DPTR
-0021C5 E0                MOVX    A,@DPTR
-0021C6 2401              ADD     A,#01H
-0021C8 F9                MOV     R1,A
-0021C9 E4                CLR     A
-0021CA 3A                ADDC    A,R2
-0021CB FA                MOV     R2,A
-0021CC A3                INC     DPTR
-0021CD E0                MOVX    A,@DPTR
-0021CE 7E00              MOV     R6,#00H
-0021D0 29                ADD     A,R1
-0021D1 F9                MOV     R1,A
-0021D2 EE                MOV     A,R6
-0021D3 3A                ADDC    A,R2
-0021D4 FA                MOV     R2,A
-0021D5 1203B6            LCALL   ?C?CLDPTR
-0021D8 FB                MOV     R3,A
-0021D9 B4D209            CJNE    A,#0D2H,?C0231?KB_PROCESS
+0021EA 6107              AJMP    ?C0204?KB_PROCESS
+0021EC         ?C0231?KB_PROCESS:
+  871: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_REFRESH) //www refresh
+0021EC EB                MOV     A,R3
+0021ED B4D409            CJNE    A,#0D4H,?C0233?KB_PROCESS
   872: 			{
-  873: 				kb_set_multikey(0x0224);
-0021DC 7F24              MOV     R7,#024H
-0021DE 7E02              MOV     R6,#02H
-0021E0 121FE7            LCALL   _kb_set_multikey
-  874: 			}
-0021E3 6100              AJMP    ?C0204?KB_PROCESS
-0021E5         ?C0231?KB_PROCESS:
-  875: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_REFRESH) //www refresh
-0021E5 EB                MOV     A,R3
-0021E6 B4D409            CJNE    A,#0D4H,?C0233?KB_PROCESS
+  873: 				kb_set_multikey(0x0227);
+0021F0 7F27              MOV     R7,#027H
+0021F2 7E02              MOV     R6,#02H
+0021F4 121FEE            LCALL   _kb_set_multikey
+  874: 			}	
+0021F7 6107              AJMP    ?C0204?KB_PROCESS
+0021F9         ?C0233?KB_PROCESS:
+  875: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_SEARCH)  //www search
+0021F9 904ED8            MOV     DPTR,#pEvt
+0021FC E0                MOVX    A,@DPTR
+0021FD FB                MOV     R3,A
+0021FE A3                INC     DPTR
+0021FF E0                MOVX    A,@DPTR
+002200 FA                MOV     R2,A
+002201 A3                INC     DPTR
+002202 E0                MOVX    A,@DPTR
+002203 2401              ADD     A,#01H
+002205 F9                MOV     R1,A
+002206 E4                CLR     A
+002207 3A                ADDC    A,R2
+002208 FA                MOV     R2,A
+002209 A3                INC     DPTR
+00220A E0                MOVX    A,@DPTR
+00220B 7E00              MOV     R6,#00H
+00220D 29                ADD     A,R1
+00220E F9                MOV     R1,A
+00220F EE                MOV     A,R6
+002210 3A                ADDC    A,R2
+002211 FA                MOV     R2,A
+002212 1203B6            LCALL   ?C?CLDPTR
+002215 FB                MOV     R3,A
+002216 B4D509            CJNE    A,#0D5H,?C0235?KB_PROCESS
   876: 			{
-  877: 				kb_set_multikey(0x0227);
-0021E9 7F27              MOV     R7,#027H
-0021EB 7E02              MOV     R6,#02H
-0021ED 121FE7            LCALL   _kb_set_multikey
-  878: 			}	
-0021F0 6100              AJMP    ?C0204?KB_PROCESS
-0021F2         ?C0233?KB_PROCESS:
-  879: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_SEARCH)  //www search
-0021F2 904ED8            MOV     DPTR,#pEvt
-0021F5 E0                MOVX    A,@DPTR
-0021F6 FB                MOV     R3,A
-0021F7 A3                INC     DPTR
-0021F8 E0                MOVX    A,@DPTR
-0021F9 FA                MOV     R2,A
-0021FA A3                INC     DPTR
-0021FB E0                MOVX    A,@DPTR
-0021FC 2401              ADD     A,#01H
-0021FE F9                MOV     R1,A
-0021FF E4                CLR     A
-002200 3A                ADDC    A,R2
-002201 FA                MOV     R2,A
-002202 A3                INC     DPTR
-002203 E0                MOVX    A,@DPTR
-002204 7E00              MOV     R6,#00H
-002206 29                ADD     A,R1
-002207 F9                MOV     R1,A
-002208 EE                MOV     A,R6
-002209 3A                ADDC    A,R2
-00220A FA                MOV     R2,A
-00220B 1203B6            LCALL   ?C?CLDPTR
-00220E FB                MOV     R3,A
-00220F B4D509            CJNE    A,#0D5H,?C0235?KB_PROCESS
+  877: 				kb_set_multikey(0x0221);
+002219 7F21              MOV     R7,#021H
+00221B 7E02              MOV     R6,#02H
+00221D 121FEE            LCALL   _kb_set_multikey
+  878: 			}
+002220 6107              AJMP    ?C0204?KB_PROCESS
+002222         ?C0235?KB_PROCESS:
+  879: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_HOME)
+002222 EB                MOV     A,R3
+002223 B4D609            CJNE    A,#0D6H,?C0237?KB_PROCESS
   880: 			{
-  881: 				kb_set_multikey(0x0221);
-002212 7F21              MOV     R7,#021H
-002214 7E02              MOV     R6,#02H
-002216 121FE7            LCALL   _kb_set_multikey
+  881: 				kb_set_multikey(0x0223);
+002226 7F23              MOV     R7,#023H
+002228 7E02              MOV     R6,#02H
+00222A 121FEE            LCALL   _kb_set_multikey
   882: 			}
-002219 6100              AJMP    ?C0204?KB_PROCESS
-00221B         ?C0235?KB_PROCESS:
-  883: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_HOME)
-00221B EB                MOV     A,R3
-00221C B4D609            CJNE    A,#0D6H,?C0237?KB_PROCESS
+00222D 6107              AJMP    ?C0204?KB_PROCESS
+00222F         ?C0237?KB_PROCESS:
+  883: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_LIGHT_DOWN)
+00222F 904ED8            MOV     DPTR,#pEvt
+002232 E0                MOVX    A,@DPTR
+002233 FB                MOV     R3,A
+002234 A3                INC     DPTR
+002235 E0                MOVX    A,@DPTR
+002236 FA                MOV     R2,A
+002237 A3                INC     DPTR
+002238 E0                MOVX    A,@DPTR
+002239 2401              ADD     A,#01H
+00223B F9                MOV     R1,A
+00223C E4                CLR     A
+00223D 3A                ADDC    A,R2
+00223E FA                MOV     R2,A
+00223F A3                INC     DPTR
+002240 E0                MOVX    A,@DPTR
+002241 7E00              MOV     R6,#00H
+002243 29                ADD     A,R1
+002244 F9                MOV     R1,A
+002245 EE                MOV     A,R6
+002246 3A                ADDC    A,R2
+002247 FA                MOV     R2,A
+002248 1203B6            LCALL   ?C?CLDPTR
+00224B FB                MOV     R3,A
+00224C B4D707            CJNE    A,#0D7H,?C0239?KB_PROCESS
   884: 			{
-  885: 				kb_set_multikey(0x0223);
-00221F 7F23              MOV     R7,#023H
-002221 7E02              MOV     R6,#02H
-002223 121FE7            LCALL   _kb_set_multikey
+  885: 				kb_set_multikey(0x0070);
+00224F 7F70              MOV     R7,#070H
+002251 121FEE            LCALL   _kb_set_multikey
   886: 			}
-002226 6100              AJMP    ?C0204?KB_PROCESS
-002228         ?C0237?KB_PROCESS:
-  887: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_LIGHT_DOWN)
-002228 904ED8            MOV     DPTR,#pEvt
-00222B E0                MOVX    A,@DPTR
-00222C FB                MOV     R3,A
-00222D A3                INC     DPTR
-00222E E0                MOVX    A,@DPTR
-00222F FA                MOV     R2,A
-002230 A3                INC     DPTR
-002231 E0                MOVX    A,@DPTR
-002232 2401              ADD     A,#01H
-002234 F9                MOV     R1,A
-002235 E4                CLR     A
-002236 3A                ADDC    A,R2
-002237 FA                MOV     R2,A
-002238 A3                INC     DPTR
-002239 E0                MOVX    A,@DPTR
-00223A 7E00              MOV     R6,#00H
-00223C 29                ADD     A,R1
-00223D F9                MOV     R1,A
-00223E EE                MOV     A,R6
-00223F 3A                ADDC    A,R2
-002240 FA                MOV     R2,A
-002241 1203B6            LCALL   ?C?CLDPTR
-002244 FB                MOV     R3,A
-002245 B4D707            CJNE    A,#0D7H,?C0239?KB_PROCESS
+002254 6107              AJMP    ?C0204?KB_PROCESS
+002256         ?C0239?KB_PROCESS:
+  887: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_LIGHT_UP)
+002256 EB                MOV     A,R3
+002257 B4D809            CJNE    A,#0D8H,?C0241?KB_PROCESS
   888: 			{
-  889: 				kb_set_multikey(0x0070);
-002248 7F70              MOV     R7,#070H
-00224A 121FE7            LCALL   _kb_set_multikey
-  890: 			}
-00224D 6100              AJMP    ?C0204?KB_PROCESS
-00224F         ?C0239?KB_PROCESS:
-  891: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_LIGHT_UP)
-00224F EB                MOV     A,R3
-002250 B4D809            CJNE    A,#0D8H,?C0241?KB_PROCESS
-  892: 			{
-  893: 				kb_set_multikey(0x006f);
-002253 7F6F              MOV     R7,#06FH
-002255 7E00              MOV     R6,#00H
-002257 121FE7            LCALL   _kb_set_multikey
-  894: 			}	
-00225A 6100              AJMP    ?C0204?KB_PROCESS
-00225C         ?C0241?KB_PROCESS:
-  895: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_IOS_SOFT_KB)  //IOS VIR KB
-00225C 904ED8            MOV     DPTR,#pEvt
-00225F E0                MOVX    A,@DPTR
-002260 FB                MOV     R3,A
-002261 A3                INC     DPTR
-002262 E0                MOVX    A,@DPTR
-002263 FA                MOV     R2,A
-002264 A3                INC     DPTR
-002265 E0                MOVX    A,@DPTR
-002266 2401              ADD     A,#01H
-002268 F9                MOV     R1,A
-002269 E4                CLR     A
-00226A 3A                ADDC    A,R2
-00226B FA                MOV     R2,A
-00226C A3                INC     DPTR
-00226D E0                MOVX    A,@DPTR
-00226E 7E00              MOV     R6,#00H
-002270 29                ADD     A,R1
-002271 F9                MOV     R1,A
-002272 EE                MOV     A,R6
-002273 3A                ADDC    A,R2
-002274 FA                MOV     R2,A
-002275 1203B6            LCALL   ?C?CLDPTR
-002278 FB                MOV     R3,A
-002279 B4D907            CJNE    A,#0D9H,?C0243?KB_PROCESS
+  889: 				kb_set_multikey(0x006f);
+00225A 7F6F              MOV     R7,#06FH
+00225C 7E00              MOV     R6,#00H
+00225E 121FEE            LCALL   _kb_set_multikey
+  890: 			}	
+002261 6107              AJMP    ?C0204?KB_PROCESS
+002263         ?C0241?KB_PROCESS:
+  891: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_IOS_SOFT_KB)  //IOS VIR KB
+002263 904ED8            MOV     DPTR,#pEvt
+002266 E0                MOVX    A,@DPTR
+002267 FB                MOV     R3,A
+002268 A3                INC     DPTR
+002269 E0                MOVX    A,@DPTR
+00226A FA                MOV     R2,A
+00226B A3                INC     DPTR
+00226C E0                MOVX    A,@DPTR
+00226D 2401              ADD     A,#01H
+00226F F9                MOV     R1,A
+002270 E4                CLR     A
+002271 3A                ADDC    A,R2
+002272 FA                MOV     R2,A
+002273 A3                INC     DPTR
+002274 E0                MOVX    A,@DPTR
+002275 7E00              MOV     R6,#00H
+002277 29                ADD     A,R1
+002278 F9                MOV     R1,A
+002279 EE                MOV     A,R6
+00227A 3A                ADDC    A,R2
+00227B FA                MOV     R2,A
+00227C 1203B6            LCALL   ?C?CLDPTR
+00227F FB                MOV     R3,A
+002280 B4D907            CJNE    A,#0D9H,?C0243?KB_PROCESS
+  892: 		      	{
+  893: 		        	kb_set_multikey(0x00b8);
+002283 7FB8              MOV     R7,#0B8H
+002285 121FEE            LCALL   _kb_set_multikey
+  894: 		      	}
+002288 807D              SJMP    ?C0204?KB_PROCESS
+00228A         ?C0243?KB_PROCESS:
+  895: 		      else if (pEvt->ksPool[i] ==  HID_MULTIKEY_OS_LOCK)
+00228A EB                MOV     A,R3
+00228B B4DA09            CJNE    A,#0DAH,?C0245?KB_PROCESS
   896: 		      	{
-  897: 		        	kb_set_multikey(0x00b8);
-00227C 7FB8              MOV     R7,#0B8H
-00227E 121FE7            LCALL   _kb_set_multikey
-  898: 		      	}
-002281 807D              SJMP    ?C0204?KB_PROCESS
-002283         ?C0243?KB_PROCESS:
-  899: 		      else if (pEvt->ksPool[i] ==  HID_MULTIKEY_OS_LOCK)
-002283 EB                MOV     A,R3
-002284 B4DA09            CJNE    A,#0DAH,?C0245?KB_PROCESS
+  897: 		        	kb_set_multikey(0x0030);
+00228E 7F30              MOV     R7,#030H
+002290 7E00              MOV     R6,#00H
+002292 121FEE            LCALL   _kb_set_multikey
+  898: 		      	}	
+002295 8070              SJMP    ?C0204?KB_PROCESS
+002297         ?C0245?KB_PROCESS:
+  899: 		      	else if (pEvt->ksPool[i] ==  HID_MULTIKEY_ANDROID_SETUP_SHORTCUTS)
+002297 904ED8            MOV     DPTR,#pEvt
+00229A E0                MOVX    A,@DPTR
+00229B FB                MOV     R3,A
+00229C A3                INC     DPTR
+00229D E0                MOVX    A,@DPTR
+00229E FA                MOV     R2,A
+00229F A3                INC     DPTR
+0022A0 E0                MOVX    A,@DPTR
+0022A1 2401              ADD     A,#01H
+0022A3 F9                MOV     R1,A
+0022A4 E4                CLR     A
+0022A5 3A                ADDC    A,R2
+0022A6 FA                MOV     R2,A
+0022A7 A3                INC     DPTR
+0022A8 E0                MOVX    A,@DPTR
+0022A9 7E00              MOV     R6,#00H
+0022AB 29                ADD     A,R1
+0022AC F9                MOV     R1,A
+0022AD EE                MOV     A,R6
+0022AE 3A                ADDC    A,R2
+0022AF FA                MOV     R2,A
+0022B0 1203B6            LCALL   ?C?CLDPTR
+0022B3 FB                MOV     R3,A
+0022B4 B4DB09            CJNE    A,#0DBH,?C0247?KB_PROCESS
   900: 		      	{
-  901: 		        	kb_set_multikey(0x0030);
-002287 7F30              MOV     R7,#030H
-002289 7E00              MOV     R6,#00H
-00228B 121FE7            LCALL   _kb_set_multikey
-  902: 		      	}	
-00228E 8070              SJMP    ?C0204?KB_PROCESS
-002290         ?C0245?KB_PROCESS:
-  903: 		      	else if (pEvt->ksPool[i] ==  HID_MULTIKEY_ANDROID_SETUP_SHORTCUTS)
-002290 904ED8            MOV     DPTR,#pEvt
-002293 E0                MOVX    A,@DPTR
-002294 FB                MOV     R3,A
-002295 A3                INC     DPTR
-002296 E0                MOVX    A,@DPTR
-002297 FA                MOV     R2,A
-002298 A3                INC     DPTR
-002299 E0                MOVX    A,@DPTR
-00229A 2401              ADD     A,#01H
-00229C F9                MOV     R1,A
-00229D E4                CLR     A
-00229E 3A                ADDC    A,R2
-00229F FA                MOV     R2,A
-0022A0 A3                INC     DPTR
-0022A1 E0                MOVX    A,@DPTR
-0022A2 7E00              MOV     R6,#00H
-0022A4 29                ADD     A,R1
-0022A5 F9                MOV     R1,A
-0022A6 EE                MOV     A,R6
-0022A7 3A                ADDC    A,R2
-0022A8 FA                MOV     R2,A
-0022A9 1203B6            LCALL   ?C?CLDPTR
-0022AC FB                MOV     R3,A
-0022AD B4DB09            CJNE    A,#0DBH,?C0247?KB_PROCESS
+  901: 		        	kb_set_multikey(0x0306);
+0022B7 7F06              MOV     R7,#06H
+0022B9 7E03              MOV     R6,#03H
+0022BB 121FEE            LCALL   _kb_set_multikey
+  902: 		      	}
+0022BE 8047              SJMP    ?C0204?KB_PROCESS
+0022C0         ?C0247?KB_PROCESS:
+  903: 		      	else if (pEvt->ksPool[i] ==  HID_MULTIKEY_ANDROID_SOFT_KB)
+0022C0 EB                MOV     A,R3
+0022C1 B4DC09            CJNE    A,#0DCH,?C0249?KB_PROCESS
   904: 		      	{
-  905: 		        	kb_set_multikey(0x0306);
-0022B0 7F06              MOV     R7,#06H
-0022B2 7E03              MOV     R6,#03H
-0022B4 121FE7            LCALL   _kb_set_multikey
+  905: 		        	kb_set_multikey(0x0307);
+0022C4 7F07              MOV     R7,#07H
+0022C6 7E03              MOV     R6,#03H
+0022C8 121FEE            LCALL   _kb_set_multikey
   906: 		      	}
-0022B7 8047              SJMP    ?C0204?KB_PROCESS
-0022B9         ?C0247?KB_PROCESS:
-  907: 		      	else if (pEvt->ksPool[i] ==  HID_MULTIKEY_ANDROID_SOFT_KB)
-0022B9 EB                MOV     A,R3
-0022BA B4DC09            CJNE    A,#0DCH,?C0249?KB_PROCESS
+0022CB 803A              SJMP    ?C0204?KB_PROCESS
+0022CD         ?C0249?KB_PROCESS:
+  907: 		      	else if (pEvt->ksPool[i] ==  HID_SYSTEM_KEY_POWER_DOWN)
+0022CD 904ED8            MOV     DPTR,#pEvt
+0022D0 E0                MOVX    A,@DPTR
+0022D1 FB                MOV     R3,A
+0022D2 A3                INC     DPTR
+0022D3 E0                MOVX    A,@DPTR
+0022D4 FA                MOV     R2,A
+0022D5 A3                INC     DPTR
+0022D6 E0                MOVX    A,@DPTR
+0022D7 2401              ADD     A,#01H
+0022D9 F9                MOV     R1,A
+0022DA E4                CLR     A
+0022DB 3A                ADDC    A,R2
+0022DC FA                MOV     R2,A
+0022DD A3                INC     DPTR
+0022DE E0                MOVX    A,@DPTR
+0022DF 7E00              MOV     R6,#00H
+0022E1 29                ADD     A,R1
+0022E2 F9                MOV     R1,A
+0022E3 EE                MOV     A,R6
+0022E4 3A                ADDC    A,R2
+0022E5 FA                MOV     R2,A
+0022E6 1203B6            LCALL   ?C?CLDPTR
+0022E9 FE                MOV     R6,A
+0022EA B4DD06            CJNE    A,#0DDH,?C0251?KB_PROCESS
   908: 		      	{
-  909: 		        	kb_set_multikey(0x0307);
-0022BD 7F07              MOV     R7,#07H
-0022BF 7E03              MOV     R6,#03H
-0022C1 121FE7            LCALL   _kb_set_multikey
+  909: 		        	kb_set_systemkey(0x01);
+0022ED 7F01              MOV     R7,#01H
+0022EF 1109              ACALL   _kb_set_systemkey
   910: 		      	}
-0022C4 803A              SJMP    ?C0204?KB_PROCESS
-0022C6         ?C0249?KB_PROCESS:
-  911: 		      	else if (pEvt->ksPool[i] ==  HID_SYSTEM_KEY_POWER_DOWN)
-0022C6 904ED8            MOV     DPTR,#pEvt
-0022C9 E0                MOVX    A,@DPTR
-0022CA FB                MOV     R3,A
-0022CB A3                INC     DPTR
-0022CC E0                MOVX    A,@DPTR
-0022CD FA                MOV     R2,A
-0022CE A3                INC     DPTR
-0022CF E0                MOVX    A,@DPTR
-0022D0 2401              ADD     A,#01H
-0022D2 F9                MOV     R1,A
-0022D3 E4                CLR     A
-0022D4 3A                ADDC    A,R2
-0022D5 FA                MOV     R2,A
-0022D6 A3                INC     DPTR
-0022D7 E0                MOVX    A,@DPTR
-0022D8 7E00              MOV     R6,#00H
-0022DA 29                ADD     A,R1
-0022DB F9                MOV     R1,A
-0022DC EE                MOV     A,R6
-0022DD 3A                ADDC    A,R2
-0022DE FA                MOV     R2,A
-0022DF 1203B6            LCALL   ?C?CLDPTR
-0022E2 FE                MOV     R6,A
-0022E3 B4DD06            CJNE    A,#0DDH,?C0251?KB_PROCESS
+0022F1 8014              SJMP    ?C0204?KB_PROCESS
+0022F3         ?C0251?KB_PROCESS:
+  911: 		      	else if (pEvt->ksPool[i] ==  HID_SYSTEM_KEY_SLEEP)
+0022F3 EE                MOV     A,R6
+0022F4 B4DE06            CJNE    A,#0DEH,?C0253?KB_PROCESS
   912: 		      	{
-  913: 		        	kb_set_systemkey(0x01);
-0022E6 7F01              MOV     R7,#01H
-0022E8 1102              ACALL   _kb_set_systemkey
+  913: 		        	kb_set_systemkey(0x02);
+0022F7 7F02              MOV     R7,#02H
+0022F9 1109              ACALL   _kb_set_systemkey
   914: 		      	}
-0022EA 8014              SJMP    ?C0204?KB_PROCESS
-0022EC         ?C0251?KB_PROCESS:
-  915: 		      	else if (pEvt->ksPool[i] ==  HID_SYSTEM_KEY_SLEEP)
-0022EC EE                MOV     A,R6
-0022ED B4DE06            CJNE    A,#0DEH,?C0253?KB_PROCESS
+0022FB 800A              SJMP    ?C0204?KB_PROCESS
+0022FD         ?C0253?KB_PROCESS:
+  915: 		      	else if (pEvt->ksPool[i] ==  HID_SYSTEM_KEY_WAKE_UP)
+0022FD 1203B6            LCALL   ?C?CLDPTR
+002300 B4DF04            CJNE    A,#0DFH,?C0204?KB_PROCESS
   916: 		      	{
-  917: 		        	kb_set_systemkey(0x02);
-0022F0 7F02              MOV     R7,#02H
-0022F2 1102              ACALL   _kb_set_systemkey
+  917: 		        	kb_set_systemkey(0x04);
+002303 7F04              MOV     R7,#04H
+002305 1109              ACALL   _kb_set_systemkey
   918: 		      	}
-0022F4 800A              SJMP    ?C0204?KB_PROCESS
-0022F6         ?C0253?KB_PROCESS:
-  919: 		      	else if (pEvt->ksPool[i] ==  HID_SYSTEM_KEY_WAKE_UP)
-0022F6 1203B6            LCALL   ?C?CLDPTR
-0022F9 B4DF04            CJNE    A,#0DFH,?C0204?KB_PROCESS
-  920: 		      	{
-  921: 		        	kb_set_systemkey(0x04);
-0022FC 7F04              MOV     R7,#04H
-0022FE 1102              ACALL   _kb_set_systemkey
-  922: 		      	}
-002300         ?C0204?KB_PROCESS:
-  923: 			
-  924: 			if(mult_key_status == KEY_WAIT_RELEASE)
-002300 904E4B            MOV     DPTR,#mult_key_status
-002303 E0                MOVX    A,@DPTR
-002304 B40224            CJNE    A,#02H,?C0200?KB_PROCESS
-  925: 			{
-  926: 				mult_key_value = pEvt->ksPool[i];
-002307 904ED8            MOV     DPTR,#pEvt
+002307         ?C0204?KB_PROCESS:
+  919: 			
+  920: 			if(mult_key_status == KEY_WAIT_RELEASE)
+002307 904E4B            MOV     DPTR,#mult_key_status
 00230A E0                MOVX    A,@DPTR
-00230B FB                MOV     R3,A
-00230C A3                INC     DPTR
-00230D E0                MOVX    A,@DPTR
-00230E FA                MOV     R2,A
-00230F A3                INC     DPTR
-002310 E0                MOVX    A,@DPTR
-002311 2401              ADD     A,#01H
-002313 F9                MOV     R1,A
-002314 E4                CLR     A
-002315 3A                ADDC    A,R2
-002316 FA                MOV     R2,A
-002317 A3                INC     DPTR
-002318 E0                MOVX    A,@DPTR
-002319 7E00              MOV     R6,#00H
-00231B 29                ADD     A,R1
-00231C F9                MOV     R1,A
-00231D EE                MOV     A,R6
-00231E 3A                ADDC    A,R2
-00231F FA                MOV     R2,A
-002320 1203B6            LCALL   ?C?CLDPTR
-002323 904DED            MOV     DPTR,#mult_key_value
-002326 F0                MOVX    @DPTR,A
-  927: 				pEvt->ksPool[i] = 0;
-002327 E4                CLR     A
-002328 1203FC            LCALL   ?C?CSTPTR
-  928: 			}
-  929: 		}
-  930: 	}
-00232B         ?C0200?KB_PROCESS:
-00232B 904EDB            MOV     DPTR,#i
-00232E E0                MOVX    A,@DPTR
-00232F 04                INC     A
-002330 F0                MOVX    @DPTR,A
-002331 012C              AJMP    ?C0198?KB_PROCESS
-  931: }
-002333         ?C0257?KB_PROCESS:
-002333 22                RET     
+00230B B40224            CJNE    A,#02H,?C0200?KB_PROCESS
+  921: 			{
+  922: 				mult_key_value = pEvt->ksPool[i];
+00230E 904ED8            MOV     DPTR,#pEvt
+002311 E0                MOVX    A,@DPTR
+002312 FB                MOV     R3,A
+002313 A3                INC     DPTR
+002314 E0                MOVX    A,@DPTR
+002315 FA                MOV     R2,A
+002316 A3                INC     DPTR
+002317 E0                MOVX    A,@DPTR
+002318 2401              ADD     A,#01H
+00231A F9                MOV     R1,A
+00231B E4                CLR     A
+00231C 3A                ADDC    A,R2
+00231D FA                MOV     R2,A
+00231E A3                INC     DPTR
+00231F E0                MOVX    A,@DPTR
+002320 7E00              MOV     R6,#00H
+002322 29                ADD     A,R1
+002323 F9                MOV     R1,A
+002324 EE                MOV     A,R6
+002325 3A                ADDC    A,R2
+002326 FA                MOV     R2,A
+002327 1203B6            LCALL   ?C?CLDPTR
+00232A 904DED            MOV     DPTR,#mult_key_value
+00232D F0                MOVX    @DPTR,A
+  923: 				pEvt->ksPool[i] = 0;
+00232E E4                CLR     A
+00232F 1203FC            LCALL   ?C?CSTPTR
+  924: 			}
+  925: 		}
+  926: 	}
+002332         ?C0200?KB_PROCESS:
+002332 904EDB            MOV     DPTR,#i
+002335 E0                MOVX    A,@DPTR
+002336 04                INC     A
+002337 F0                MOVX    @DPTR,A
+002338 0133              AJMP    ?C0198?KB_PROCESS
+  927: }
+00233A         ?C0257?KB_PROCESS:
+00233A 22                RET     
 ----- FUNCTION _kb_multikey_setup (END) -------
 
 
 ----- FUNCTION kb_24g_get_led_status (BEGIN) -----
  FILE: 'kb_process.c'
-  269: void kb_24g_get_led_status()		//get RF Ack for get numlock/capslock status
-  270: {
-  271: 	if((m_24g_led_flag)&& (repeat_send_24g == 0))
-  272: 	{
-002334 904D46            MOV     DPTR,#m_24g_led_flag
-002337 E0                MOVX    A,@DPTR
-002338 6037              JZ      ?C0053?KB_PROCESS
-00233A 904DDD            MOV     DPTR,#repeat_send_24g
-00233D E0                MOVX    A,@DPTR
-00233E 7031              JNZ     ?C0053?KB_PROCESS
-  273: 		if (g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED)
-  274: 		{
-002340 904CC5            MOV     DPTR,#g_variable+06H
-002343 E0                MOVX    A,@DPTR
-002344 B4032A            CJNE    A,#03H,?C0053?KB_PROCESS
-  275: 			xmemclear(hidBuff,9);
-  276: 
-002347 7B01              MOV     R3,#01H
-002349 7A48              MOV     R2,#HIGH hidBuff
-00234B 7900              MOV     R1,#LOW hidBuff
-00234D 7D09              MOV     R5,#09H
-00234F 7C00              MOV     R4,#00H
-002351 120B6B            LCALL   _xmemclear
-  277: 			mult_key_status = 0;
-002354 E4                CLR     A
-002355 904E4B            MOV     DPTR,#mult_key_status
-002358 F0                MOVX    @DPTR,A
-  278: 			hidBuff[0] = HID_REPORTID_1;		// standard key send
-002359 904800            MOV     DPTR,#hidBuff
-00235C 04                INC     A
-00235D F0                MOVX    @DPTR,A
-  279: 			hidBuff[2] = m_24g_led_flag;
-00235E 904D46            MOV     DPTR,#m_24g_led_flag
-002361 E0                MOVX    A,@DPTR
-002362 904802            MOV     DPTR,#hidBuff+02H
-002365 F0                MOVX    @DPTR,A
-  280: 			IPC_TxHidData(hidBuff, 9);
-002366 7B01              MOV     R3,#01H
-002368 7A48              MOV     R2,#HIGH hidBuff
-00236A 7900              MOV     R1,#LOW hidBuff
-00236C 7D09              MOV     R5,#09H
-00236E 120C30            LCALL   _IPC_TxHidData
-  281: 		}	
-  282: 	}
-  283: }
-002371         ?C0053?KB_PROCESS:
-002371 22                RET     
+  265: void kb_24g_get_led_status()		//get RF Ack for get numlock/capslock status
+  266: {
+  267: 	if((m_24g_led_flag)&& (repeat_send_24g == 0))
+  268: 	{
+00233B 904D46            MOV     DPTR,#m_24g_led_flag
+00233E E0                MOVX    A,@DPTR
+00233F 6037              JZ      ?C0053?KB_PROCESS
+002341 904DDD            MOV     DPTR,#repeat_send_24g
+002344 E0                MOVX    A,@DPTR
+002345 7031              JNZ     ?C0053?KB_PROCESS
+  269: 		if (g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED)
+  270: 		{
+002347 904CC5            MOV     DPTR,#g_variable+06H
+00234A E0                MOVX    A,@DPTR
+00234B B4032A            CJNE    A,#03H,?C0053?KB_PROCESS
+  271: 			xmemclear(hidBuff,9);
+  272: 
+00234E 7B01              MOV     R3,#01H
+002350 7A48              MOV     R2,#HIGH hidBuff
+002352 7900              MOV     R1,#LOW hidBuff
+002354 7D09              MOV     R5,#09H
+002356 7C00              MOV     R4,#00H
+002358 120B6B            LCALL   _xmemclear
+  273: 			mult_key_status = 0;
+00235B E4                CLR     A
+00235C 904E4B            MOV     DPTR,#mult_key_status
+00235F F0                MOVX    @DPTR,A
+  274: 			hidBuff[0] = HID_REPORTID_1;		// standard key send
+002360 904800            MOV     DPTR,#hidBuff
+002363 04                INC     A
+002364 F0                MOVX    @DPTR,A
+  275: 			hidBuff[2] = m_24g_led_flag;
+002365 904D46            MOV     DPTR,#m_24g_led_flag
+002368 E0                MOVX    A,@DPTR
+002369 904802            MOV     DPTR,#hidBuff+02H
+00236C F0                MOVX    @DPTR,A
+  276: 			IPC_TxHidData(hidBuff, 9);
+00236D 7B01              MOV     R3,#01H
+00236F 7A48              MOV     R2,#HIGH hidBuff
+002371 7900              MOV     R1,#LOW hidBuff
+002373 7D09              MOV     R5,#09H
+002375 120C30            LCALL   _IPC_TxHidData
+  277: 		}	
+  278: 	}
+  279: }
+002378         ?C0053?KB_PROCESS:
+002378 22                RET     
 ----- FUNCTION kb_24g_get_led_status (END) -------
 
 
 ----- FUNCTION kb_motion (BEGIN) -----
  FILE: 'kb_process.c'
-  287: static void kb_motion()
-  288: {
-  289: 	tKSEVENT *pEvt = NULL;
-  290: 	
-002372 904EE4            MOV     DPTR,#pEvt
-002375 E4                CLR     A
-002376 F0                MOVX    @DPTR,A
-002377 A3                INC     DPTR
-002378 F0                MOVX    @DPTR,A
-002379 A3                INC     DPTR
-00237A F0                MOVX    @DPTR,A
-  291: 	if (!IPC_IsTxBuffEmpty())
-00237B D100              ACALL   IPC_IsTxBuffEmpty
-00237D 5025              JNC     ?C0055?KB_PROCESS
-00237F         ?C0054?KB_PROCESS:
-  292: 		return;
-  293: 	pEvt = KS_GetCurrentEvt();
-00237F 71A5              ACALL   KS_GetCurrentEvt
-002381 904EE4            MOV     DPTR,#pEvt
-002384 EB                MOV     A,R3
-002385 F0                MOVX    @DPTR,A
-002386 A3                INC     DPTR
-002387 EA                MOV     A,R2
-002388 F0                MOVX    @DPTR,A
-002389 A3                INC     DPTR
-00238A E9                MOV     A,R1
-00238B F0                MOVX    @DPTR,A
-  294: 
-  295: 	if (pEvt == NULL)
-00238C 4A                ORL     A,R2
-00238D 7007              JNZ     ?C0056?KB_PROCESS
-  296: 	{
-  297: 		m_power_on_flag = 1;
-00238F 904CB6            MOV     DPTR,#m_power_on_flag
-002392 04                INC     A
-002393 F0                MOVX    @DPTR,A
-  298: 		kb_24g_get_led_status();
-002394 809E              SJMP    kb_24g_get_led_status
-  299: 		return;
-  300: 	}
-002396         ?C0056?KB_PROCESS:
-  301: 	kb_motion_keyscan(pEvt);
-002396 904EE4            MOV     DPTR,#pEvt
-002399 E0                MOVX    A,@DPTR
-00239A FB                MOV     R3,A
-00239B A3                INC     DPTR
-00239C E0                MOVX    A,@DPTR
-00239D FA                MOV     R2,A
-00239E A3                INC     DPTR
-00239F E0                MOVX    A,@DPTR
-0023A0 F9                MOV     R1,A
-0023A1 1208C0            LCALL   _kb_motion_keyscan
-  302: }
-0023A4         ?C0055?KB_PROCESS:
-0023A4 22                RET     
+  283: static void kb_motion()
+  284: {
+  285: 	tKSEVENT *pEvt = NULL;
+  286: 	
+002379 904EE4            MOV     DPTR,#pEvt
+00237C E4                CLR     A
+00237D F0                MOVX    @DPTR,A
+00237E A3                INC     DPTR
+00237F F0                MOVX    @DPTR,A
+002380 A3                INC     DPTR
+002381 F0                MOVX    @DPTR,A
+  287: 	if (!IPC_IsTxBuffEmpty())
+002382 D107              ACALL   IPC_IsTxBuffEmpty
+002384 5025              JNC     ?C0055?KB_PROCESS
+002386         ?C0054?KB_PROCESS:
+  288: 		return;
+  289: 	pEvt = KS_GetCurrentEvt();
+002386 71AC              ACALL   KS_GetCurrentEvt
+002388 904EE4            MOV     DPTR,#pEvt
+00238B EB                MOV     A,R3
+00238C F0                MOVX    @DPTR,A
+00238D A3                INC     DPTR
+00238E EA                MOV     A,R2
+00238F F0                MOVX    @DPTR,A
+002390 A3                INC     DPTR
+002391 E9                MOV     A,R1
+002392 F0                MOVX    @DPTR,A
+  290: 
+  291: 	if (pEvt == NULL)
+002393 4A                ORL     A,R2
+002394 7007              JNZ     ?C0056?KB_PROCESS
+  292: 	{
+  293: 		m_power_on_flag = 1;
+002396 904CB6            MOV     DPTR,#m_power_on_flag
+002399 04                INC     A
+00239A F0                MOVX    @DPTR,A
+  294: 		kb_24g_get_led_status();
+00239B 809E              SJMP    kb_24g_get_led_status
+  295: 		return;
+  296: 	}
+00239D         ?C0056?KB_PROCESS:
+  297: 	kb_motion_keyscan(pEvt);
+00239D 904EE4            MOV     DPTR,#pEvt
+0023A0 E0                MOVX    A,@DPTR
+0023A1 FB                MOV     R3,A
+0023A2 A3                INC     DPTR
+0023A3 E0                MOVX    A,@DPTR
+0023A4 FA                MOV     R2,A
+0023A5 A3                INC     DPTR
+0023A6 E0                MOVX    A,@DPTR
+0023A7 F9                MOV     R1,A
+0023A8 1208C0            LCALL   _kb_motion_keyscan
+  298: }
+0023AB         ?C0055?KB_PROCESS:
+0023AB 22                RET     
 ----- FUNCTION kb_motion (END) -------
 
 
 ----- FUNCTION KS_GetCurrentEvt (BEGIN) -----
  FILE: 'keyscan.c'
-  292: tKSEVENT *KS_GetCurrentEvt()
-  293: {
-  294: 	//
-  295: 	byte i = 0;
-0023A5 E4                CLR     A
-0023A6 904E88            MOV     DPTR,#i
-0023A9 F0                MOVX    @DPTR,A
-  296: 	byte j = 0;
-0023AA A3                INC     DPTR
-0023AB F0                MOVX    @DPTR,A
-  297: 	byte k = 0;
-0023AC A3                INC     DPTR
-0023AD F0                MOVX    @DPTR,A
-  298: 	byte temp = 0;
-0023AE A3                INC     DPTR
-0023AF F0                MOVX    @DPTR,A
-  299: 	byte flag = 0;
-0023B0 A3                INC     DPTR
-0023B1 F0                MOVX    @DPTR,A
-  300: 	byte offset = 0;
-0023B2 A3                INC     DPTR
-0023B3 F0                MOVX    @DPTR,A
-  301: 	byte state = 0;
-0023B4 A3                INC     DPTR
-0023B5 F0                MOVX    @DPTR,A
-  302: 	byte keyCounttemp = 0;
-0023B6 A3                INC     DPTR
-0023B7 F0                MOVX    @DPTR,A
-  303: 	byte key_value_temp = 0;
-0023B8 A3                INC     DPTR
-0023B9 F0                MOVX    @DPTR,A
-  304: 	byte ghost = 0;
-0023BA A3                INC     DPTR
-0023BB F0                MOVX    @DPTR,A
-  305: 	byte rawCount = 0;
-0023BC A3                INC     DPTR
-0023BD F0                MOVX    @DPTR,A
-  306: 	
-  307: 	KS_ScanMatrix();
-0023BE 122FDC            LCALL   KS_ScanMatrix
-  308: 
-  309: 	if (compare_str(ksSelMapCurr,ksSelMapCheck,KB_KSCAN_COL_NUM) 
-0023C1 7A4D              MOV     R2,#HIGH ksSelMapCheck
-0023C3 79A8              MOV     R1,#LOW ksSelMapCheck
-0023C5 904EAE            MOV     DPTR,#?_compare_str?BYTE+03H
-0023C8 7401              MOV     A,#01H
-0023CA F0                MOVX    @DPTR,A
-0023CB A3                INC     DPTR
-0023CC 744D              MOV     A,#HIGH ksSelMapCheck
-0023CE F0                MOVX    @DPTR,A
-0023CF A3                INC     DPTR
-0023D0 74A8              MOV     A,#LOW ksSelMapCheck
-0023D2 F0                MOVX    @DPTR,A
-0023D3 A3                INC     DPTR
-0023D4 7414              MOV     A,#014H
-0023D6 F0                MOVX    @DPTR,A
-0023D7 7B01              MOV     R3,#01H
-0023D9 7A4D              MOV     R2,#HIGH ksSelMapCurr
-0023DB 79BC              MOV     R1,#LOW ksSelMapCurr
-0023DD D148              ACALL   _compare_str
-0023DF EF                MOV     A,R7
-0023E0 6016              JZ      ?C0059?KEYSCAN
-0023E2 7B01              MOV     R3,#01H
-0023E4 7A4D              MOV     R2,#HIGH ksSelMapCurr
-0023E6 79BC              MOV     R1,#LOW ksSelMapCurr
-0023E8 7D14              MOV     R5,#014H
-0023EA D118              ACALL   _array_is_empty
-0023EC EF                MOV     A,R7
-0023ED 7009              JNZ     ?C0059?KEYSCAN
-  310: 		&& !array_is_empty(ksSelMapCurr,KB_KSCAN_COL_NUM))
-  311: 	{
-  312: 		g_variable.button_flag |= 0x02;
-0023EF 904CCE            MOV     DPTR,#g_variable+0FH
-0023F2 E0                MOVX    A,@DPTR
-0023F3 4402              ORL     A,#02H
-0023F5 F0                MOVX    @DPTR,A
-  313: 	}
-0023F6 800C              SJMP    ?C0060?KEYSCAN
-0023F8         ?C0059?KEYSCAN:
-  314: 	else
-  315: 	{	
-  316: 		g_variable.button_flag &= 0xFD;
-0023F8 904CCE            MOV     DPTR,#g_variable+0FH
-0023FB E0                MOVX    A,@DPTR
-0023FC 54FD              ANL     A,#0FDH
-0023FE F0                MOVX    @DPTR,A
-  317: 		g_variable.button_timer[1] = 0;
-0023FF E4                CLR     A
-002400 904CD0            MOV     DPTR,#g_variable+011H
-002403 F0                MOVX    @DPTR,A
-  318: 	}
-002404         ?C0060?KEYSCAN:
-  319: 
-  320: 	for (i=0; col[i]!=0; i++) 
-002404 E4                CLR     A
-002405 904E88            MOV     DPTR,#i
-002408 F0                MOVX    @DPTR,A
-002409         ?C0061?KEYSCAN:
-002409 904E88            MOV     DPTR,#i
-00240C E0                MOVX    A,@DPTR
-00240D FF                MOV     R7,A
-00240E 900681            MOV     DPTR,#col
-002411 93                MOVC    A,@A+DPTR
-002412 7002              JNZ     $ + 4H
-002414 81D6              AJMP    ?C0062?KEYSCAN
-  321: 	{
-  322: 		temp = ksSelMapCurr[i];
-002416 74BC              MOV     A,#LOW ksSelMapCurr
-002418 2F                ADD     A,R7
-002419 F582              MOV     DPL,A
-00241B E4                CLR     A
-00241C 344D              ADDC    A,#HIGH ksSelMapCurr
-00241E F583              MOV     DPH,A
-002420 E0                MOVX    A,@DPTR
-002421 904E8B            MOV     DPTR,#temp
-002424 F0                MOVX    @DPTR,A
-  323: 		rawCount = bit_count(temp);
-002425 E0                MOVX    A,@DPTR
-002426 FF                MOV     R7,A
-002427 B1F2              ACALL   _bit_count
-002429 904E92            MOV     DPTR,#rawCount
-00242C EF                MOV     A,R7
-00242D F0                MOVX    @DPTR,A
-  324: 		if(rawCount >= 2)		// col[i] has more than two key press
-00242E C3                CLR     C
-00242F 9402              SUBB    A,#02H
-002431 5002              JNC     $ + 4H
-002433 81BF              AJMP    ?C0064?KEYSCAN
-  325: 		{
-  326: 			for(j=0 ; j<8 ;j++)
-002435 E4                CLR     A
-002436 904E89            MOV     DPTR,#j
-002439 F0                MOVX    @DPTR,A
-00243A         ?C0065?KEYSCAN:
-00243A 904E89            MOV     DPTR,#j
-00243D E0                MOVX    A,@DPTR
-00243E FF                MOV     R7,A
-00243F C3                CLR     C
-002440 9408              SUBB    A,#08H
-002442 507B              JNC     ?C0064?KEYSCAN
-  327: 			{
-  328: 				if(temp & (1<<j))	// Ci_Rj press
-002444 7401              MOV     A,#01H
-002446 7E00              MOV     R6,#00H
-002448 A807              MOV     R0,AR7
-00244A 08                INC     R0
-00244B 8005              SJMP    ?C0103?KEYSCAN
-00244D         ?C0102?KEYSCAN:
-00244D C3                CLR     C
-00244E 33                RLC     A
-00244F CE                XCH     A,R6
-002450 33                RLC     A
-002451 CE                XCH     A,R6
-002452         ?C0103?KEYSCAN:
-002452 D8F9              DJNZ    R0,?C0102?KEYSCAN
-002454 FF                MOV     R7,A
-002455 904E8B            MOV     DPTR,#temp
-002458 E0                MOVX    A,@DPTR
-002459 FD                MOV     R5,A
-00245A E4                CLR     A
-00245B EF                MOV     A,R7
-00245C 5D                ANL     A,R5
-00245D 6058              JZ      ?C0067?KEYSCAN
-  329: 				{
-  330: 					for(k=0 ; col[k]!=0; k++)
-00245F E4                CLR     A
-002460 904E8A            MOV     DPTR,#k
-002463 F0                MOVX    @DPTR,A
-002464         ?C0069?KEYSCAN:
-002464 904E8A            MOV     DPTR,#k
-002467 E0                MOVX    A,@DPTR
-002468 FF                MOV     R7,A
-002469 900681            MOV     DPTR,#col
-00246C 93                MOVC    A,@A+DPTR
-00246D 6048              JZ      ?C0067?KEYSCAN
-  331: 					{
-  332: 						if(k!= i)
-00246F 904E88            MOV     DPTR,#i
-002472 E0                MOVX    A,@DPTR
-002473 FE                MOV     R6,A
-002474 EF                MOV     A,R7
-002475 6E                XRL     A,R6
-002476 6037              JZ      ?C0071?KEYSCAN
-  333: 						{
-  334: 							if(ksSelMapCurr[k] & (1<<j))	// R line has another key press
-002478 904E8A            MOV     DPTR,#k
-00247B E0                MOVX    A,@DPTR
-00247C 24BC              ADD     A,#LOW ksSelMapCurr
-00247E F582              MOV     DPL,A
-002480 E4                CLR     A
-002481 344D              ADDC    A,#HIGH ksSelMapCurr
-002483 F583              MOV     DPH,A
-002485 E0                MOVX    A,@DPTR
-002486 FD                MOV     R5,A
-002487 7C00              MOV     R4,#00H
-002489 904E89            MOV     DPTR,#j
+  291: tKSEVENT *KS_GetCurrentEvt()
+  292: {
+  293: 	//
+  294: 	byte i = 0;
+0023AC E4                CLR     A
+0023AD 904E88            MOV     DPTR,#i
+0023B0 F0                MOVX    @DPTR,A
+  295: 	byte j = 0;
+0023B1 A3                INC     DPTR
+0023B2 F0                MOVX    @DPTR,A
+  296: 	byte k = 0;
+0023B3 A3                INC     DPTR
+0023B4 F0                MOVX    @DPTR,A
+  297: 	byte temp = 0;
+0023B5 A3                INC     DPTR
+0023B6 F0                MOVX    @DPTR,A
+  298: 	byte flag = 0;
+0023B7 A3                INC     DPTR
+0023B8 F0                MOVX    @DPTR,A
+  299: 	byte offset = 0;
+0023B9 A3                INC     DPTR
+0023BA F0                MOVX    @DPTR,A
+  300: 	byte state = 0;
+0023BB A3                INC     DPTR
+0023BC F0                MOVX    @DPTR,A
+  301: 	byte keyCounttemp = 0;
+0023BD A3                INC     DPTR
+0023BE F0                MOVX    @DPTR,A
+  302: 	byte key_value_temp = 0;
+0023BF A3                INC     DPTR
+0023C0 F0                MOVX    @DPTR,A
+  303: 	byte ghost = 0;
+0023C1 A3                INC     DPTR
+0023C2 F0                MOVX    @DPTR,A
+  304: 	byte rawCount = 0;
+0023C3 A3                INC     DPTR
+0023C4 F0                MOVX    @DPTR,A
+  305: 	
+  306: 	KS_ScanMatrix();
+0023C5 122FE3            LCALL   KS_ScanMatrix
+  307: 
+  308: 	if (compare_str(ksSelMapCurr,ksSelMapCheck,KB_KSCAN_COL_NUM) 
+0023C8 7A4D              MOV     R2,#HIGH ksSelMapCheck
+0023CA 79A8              MOV     R1,#LOW ksSelMapCheck
+0023CC 904EAE            MOV     DPTR,#?_compare_str?BYTE+03H
+0023CF 7401              MOV     A,#01H
+0023D1 F0                MOVX    @DPTR,A
+0023D2 A3                INC     DPTR
+0023D3 744D              MOV     A,#HIGH ksSelMapCheck
+0023D5 F0                MOVX    @DPTR,A
+0023D6 A3                INC     DPTR
+0023D7 74A8              MOV     A,#LOW ksSelMapCheck
+0023D9 F0                MOVX    @DPTR,A
+0023DA A3                INC     DPTR
+0023DB 7414              MOV     A,#014H
+0023DD F0                MOVX    @DPTR,A
+0023DE 7B01              MOV     R3,#01H
+0023E0 7A4D              MOV     R2,#HIGH ksSelMapCurr
+0023E2 79BC              MOV     R1,#LOW ksSelMapCurr
+0023E4 D14F              ACALL   _compare_str
+0023E6 EF                MOV     A,R7
+0023E7 6016              JZ      ?C0059?KEYSCAN
+0023E9 7B01              MOV     R3,#01H
+0023EB 7A4D              MOV     R2,#HIGH ksSelMapCurr
+0023ED 79BC              MOV     R1,#LOW ksSelMapCurr
+0023EF 7D14              MOV     R5,#014H
+0023F1 D11F              ACALL   _array_is_empty
+0023F3 EF                MOV     A,R7
+0023F4 7009              JNZ     ?C0059?KEYSCAN
+  309: 		&& !array_is_empty(ksSelMapCurr,KB_KSCAN_COL_NUM))
+  310: 	{
+  311: 		g_variable.button_flag |= 0x02;
+0023F6 904CCE            MOV     DPTR,#g_variable+0FH
+0023F9 E0                MOVX    A,@DPTR
+0023FA 4402              ORL     A,#02H
+0023FC F0                MOVX    @DPTR,A
+  312: 	}
+0023FD 800C              SJMP    ?C0060?KEYSCAN
+0023FF         ?C0059?KEYSCAN:
+  313: 	else
+  314: 	{	
+  315: 		g_variable.button_flag &= 0xFD;
+0023FF 904CCE            MOV     DPTR,#g_variable+0FH
+002402 E0                MOVX    A,@DPTR
+002403 54FD              ANL     A,#0FDH
+002405 F0                MOVX    @DPTR,A
+  316: 		g_variable.button_timer[1] = 0;
+002406 E4                CLR     A
+002407 904CD0            MOV     DPTR,#g_variable+011H
+00240A F0                MOVX    @DPTR,A
+  317: 	}
+00240B         ?C0060?KEYSCAN:
+  318: 
+  319: 	for (i=0; col[i]!=0; i++) 
+00240B E4                CLR     A
+00240C 904E88            MOV     DPTR,#i
+00240F F0                MOVX    @DPTR,A
+002410         ?C0061?KEYSCAN:
+002410 904E88            MOV     DPTR,#i
+002413 E0                MOVX    A,@DPTR
+002414 FF                MOV     R7,A
+002415 900681            MOV     DPTR,#col
+002418 93                MOVC    A,@A+DPTR
+002419 7002              JNZ     $ + 4H
+00241B 81DD              AJMP    ?C0062?KEYSCAN
+  320: 	{
+  321: 		temp = ksSelMapCurr[i];
+00241D 74BC              MOV     A,#LOW ksSelMapCurr
+00241F 2F                ADD     A,R7
+002420 F582              MOV     DPL,A
+002422 E4                CLR     A
+002423 344D              ADDC    A,#HIGH ksSelMapCurr
+002425 F583              MOV     DPH,A
+002427 E0                MOVX    A,@DPTR
+002428 904E8B            MOV     DPTR,#temp
+00242B F0                MOVX    @DPTR,A
+  322: 		rawCount = bit_count(temp);
+00242C E0                MOVX    A,@DPTR
+00242D FF                MOV     R7,A
+00242E B1F9              ACALL   _bit_count
+002430 904E92            MOV     DPTR,#rawCount
+002433 EF                MOV     A,R7
+002434 F0                MOVX    @DPTR,A
+  323: 		if(rawCount >= 2)		// col[i] has more than two key press
+002435 C3                CLR     C
+002436 9402              SUBB    A,#02H
+002438 5002              JNC     $ + 4H
+00243A 81C6              AJMP    ?C0064?KEYSCAN
+  324: 		{
+  325: 			for(j=0 ; j<8 ;j++)
+00243C E4                CLR     A
+00243D 904E89            MOV     DPTR,#j
+002440 F0                MOVX    @DPTR,A
+002441         ?C0065?KEYSCAN:
+002441 904E89            MOV     DPTR,#j
+002444 E0                MOVX    A,@DPTR
+002445 FF                MOV     R7,A
+002446 C3                CLR     C
+002447 9408              SUBB    A,#08H
+002449 507B              JNC     ?C0064?KEYSCAN
+  326: 			{
+  327: 				if(temp & (1<<j))	// Ci_Rj press
+00244B 7401              MOV     A,#01H
+00244D 7E00              MOV     R6,#00H
+00244F A807              MOV     R0,AR7
+002451 08                INC     R0
+002452 8005              SJMP    ?C0103?KEYSCAN
+002454         ?C0102?KEYSCAN:
+002454 C3                CLR     C
+002455 33                RLC     A
+002456 CE                XCH     A,R6
+002457 33                RLC     A
+002458 CE                XCH     A,R6
+002459         ?C0103?KEYSCAN:
+002459 D8F9              DJNZ    R0,?C0102?KEYSCAN
+00245B FF                MOV     R7,A
+00245C 904E8B            MOV     DPTR,#temp
+00245F E0                MOVX    A,@DPTR
+002460 FD                MOV     R5,A
+002461 E4                CLR     A
+002462 EF                MOV     A,R7
+002463 5D                ANL     A,R5
+002464 6058              JZ      ?C0067?KEYSCAN
+  328: 				{
+  329: 					for(k=0 ; col[k]!=0; k++)
+002466 E4                CLR     A
+002467 904E8A            MOV     DPTR,#k
+00246A F0                MOVX    @DPTR,A
+00246B         ?C0069?KEYSCAN:
+00246B 904E8A            MOV     DPTR,#k
+00246E E0                MOVX    A,@DPTR
+00246F FF                MOV     R7,A
+002470 900681            MOV     DPTR,#col
+002473 93                MOVC    A,@A+DPTR
+002474 6048              JZ      ?C0067?KEYSCAN
+  330: 					{
+  331: 						if(k!= i)
+002476 904E88            MOV     DPTR,#i
+002479 E0                MOVX    A,@DPTR
+00247A FE                MOV     R6,A
+00247B EF                MOV     A,R7
+00247C 6E                XRL     A,R6
+00247D 6037              JZ      ?C0071?KEYSCAN
+  332: 						{
+  333: 							if(ksSelMapCurr[k] & (1<<j))	// R line has another key press
+00247F 904E8A            MOV     DPTR,#k
+002482 E0                MOVX    A,@DPTR
+002483 24BC              ADD     A,#LOW ksSelMapCurr
+002485 F582              MOV     DPL,A
+002487 E4                CLR     A
+002488 344D              ADDC    A,#HIGH ksSelMapCurr
+00248A F583              MOV     DPH,A
 00248C E0                MOVX    A,@DPTR
-00248D FF                MOV     R7,A
-00248E 7401              MOV     A,#01H
-002490 7E00              MOV     R6,#00H
-002492 A807              MOV     R0,AR7
-002494 08                INC     R0
-002495 8005              SJMP    ?C0105?KEYSCAN
-002497         ?C0104?KEYSCAN:
-002497 C3                CLR     C
-002498 33                RLC     A
-002499 CE                XCH     A,R6
-00249A 33                RLC     A
-00249B CE                XCH     A,R6
-00249C         ?C0105?KEYSCAN:
-00249C D8F9              DJNZ    R0,?C0104?KEYSCAN
-00249E FF                MOV     R7,A
-00249F EE                MOV     A,R6
-0024A0 5C                ANL     A,R4
-0024A1 FE                MOV     R6,A
-0024A2 EF                MOV     A,R7
-0024A3 5D                ANL     A,R5
-0024A4 4E                ORL     A,R6
-0024A5 6008              JZ      ?C0071?KEYSCAN
-  335: 							{
-  336: 								ghost = 1;
-0024A7 904E91            MOV     DPTR,#ghost
-0024AA 7401              MOV     A,#01H
-0024AC F0                MOVX    @DPTR,A
-  337: 								break;
-0024AD 8008              SJMP    ?C0067?KEYSCAN
-  338: 							}	
-  339: 						}
-  340: 					}
-0024AF         ?C0071?KEYSCAN:
-0024AF 904E8A            MOV     DPTR,#k
-0024B2 E0                MOVX    A,@DPTR
-0024B3 04                INC     A
-0024B4 F0                MOVX    @DPTR,A
-0024B5 80AD              SJMP    ?C0069?KEYSCAN
-  341: 				}
-  342: 			}
-0024B7         ?C0067?KEYSCAN:
-0024B7 904E89            MOV     DPTR,#j
-0024BA E0                MOVX    A,@DPTR
-0024BB 04                INC     A
-0024BC F0                MOVX    @DPTR,A
-0024BD 813A              AJMP    ?C0065?KEYSCAN
-  343: 		}
-0024BF         ?C0064?KEYSCAN:
-  344: 		
-  345: 		if (temp!=0)
-0024BF 904E8B            MOV     DPTR,#temp
-0024C2 E0                MOVX    A,@DPTR
-0024C3 FF                MOV     R7,A
-0024C4 6008              JZ      ?C0063?KEYSCAN
-  346: 		{
-  347: 			keyCounttemp += bit_count(temp);
-0024C6 B1F2              ACALL   _bit_count
-0024C8 904E8F            MOV     DPTR,#keyCounttemp
-0024CB E0                MOVX    A,@DPTR
-0024CC 2F                ADD     A,R7
-0024CD F0                MOVX    @DPTR,A
-  348: 		}
-  349: 	}
-0024CE         ?C0063?KEYSCAN:
-0024CE 904E88            MOV     DPTR,#i
-0024D1 E0                MOVX    A,@DPTR
-0024D2 04                INC     A
-0024D3 F0                MOVX    @DPTR,A
-0024D4 8109              AJMP    ?C0061?KEYSCAN
-0024D6         ?C0062?KEYSCAN:
-  350: 	keyCount = keyCounttemp;
-0024D6 904E8F            MOV     DPTR,#keyCounttemp
-0024D9 E0                MOVX    A,@DPTR
-0024DA 904DE4            MOV     DPTR,#keyCount
-0024DD F0                MOVX    @DPTR,A
-  351: 	
-  352: 	for (i=0; col[i]!=0; i++)
-0024DE E4                CLR     A
-0024DF 904E88            MOV     DPTR,#i
-0024E2 F0                MOVX    @DPTR,A
-0024E3         ?C0075?KEYSCAN:
-0024E3 904E88            MOV     DPTR,#i
-0024E6 E0                MOVX    A,@DPTR
-0024E7 FF                MOV     R7,A
-0024E8 900681            MOV     DPTR,#col
-0024EB 93                MOVC    A,@A+DPTR
-0024EC 7002              JNZ     $ + 4H
-0024EE A1C6              AJMP    ?C0076?KEYSCAN
-  353: 	{
-  354: 		temp = ksSelMapCurr[i] ^ ksSelMapOld[i];
-0024F0 7493              MOV     A,#LOW ksSelMapOld
-0024F2 2F                ADD     A,R7
-0024F3 F582              MOV     DPL,A
-0024F5 E4                CLR     A
-0024F6 344D              ADDC    A,#HIGH ksSelMapOld
-0024F8 F583              MOV     DPH,A
-0024FA E0                MOVX    A,@DPTR
-0024FB FE                MOV     R6,A
-0024FC 74BC              MOV     A,#LOW ksSelMapCurr
-0024FE 2F                ADD     A,R7
-0024FF F582              MOV     DPL,A
-002501 E4                CLR     A
-002502 344D              ADDC    A,#HIGH ksSelMapCurr
-002504 F583              MOV     DPH,A
-002506 E0                MOVX    A,@DPTR
-002507 6E                XRL     A,R6
-002508 904E8B            MOV     DPTR,#temp
-00250B F0                MOVX    @DPTR,A
-  355: 		state = ksSelMapCurr[i];
-00250C 904E88            MOV     DPTR,#i
-00250F E0                MOVX    A,@DPTR
-002510 FF                MOV     R7,A
-002511 24BC              ADD     A,#LOW ksSelMapCurr
-002513 F582              MOV     DPL,A
-002515 E4                CLR     A
-002516 344D              ADDC    A,#HIGH ksSelMapCurr
-002518 F583              MOV     DPH,A
-00251A E0                MOVX    A,@DPTR
-00251B 904E8E            MOV     DPTR,#state
-00251E F0                MOVX    @DPTR,A
-  356: 		if (temp == 0) 
-00251F 904E8B            MOV     DPTR,#temp
-002522 E0                MOVX    A,@DPTR
-002523 7004              JNZ     ?C0078?KEYSCAN
-  357: 		{
-  358: 			continue;
-002525 A1BE              AJMP    ?C0077?KEYSCAN
-  359: 		}
-002527 A1BE              AJMP    ?C0077?KEYSCAN
-002529         ?C0078?KEYSCAN:
-  360: 		else 
-  361: 		{
-  362: 
-  363: 			if (ghost) 
-002529 904E91            MOV     DPTR,#ghost
-00252C E0                MOVX    A,@DPTR
-00252D 6007              JZ      ?C0080?KEYSCAN
-  364: 				return NULL;
-00252F 7B00              MOV     R3,#00H
-002531 7A00              MOV     R2,#00H
-002533 7900              MOV     R1,#00H
-002535 22                RET     
-002536         ?C0080?KEYSCAN:
-  365: 			ksSelMapOld[i] = ksSelMapCurr[i];
-002536 74BC              MOV     A,#LOW ksSelMapCurr
-002538 2F                ADD     A,R7
-002539 F582              MOV     DPL,A
-00253B E4                CLR     A
-00253C 344D              ADDC    A,#HIGH ksSelMapCurr
-00253E F583              MOV     DPH,A
-002540 E0                MOVX    A,@DPTR
-002541 FE                MOV     R6,A
-002542 7493              MOV     A,#LOW ksSelMapOld
-002544 2F                ADD     A,R7
-002545 F582              MOV     DPL,A
-002547 E4                CLR     A
-002548 344D              ADDC    A,#HIGH ksSelMapOld
-00254A F583              MOV     DPH,A
-00254C EE                MOV     A,R6
-00254D F0                MOVX    @DPTR,A
-  366: 			for (j = 0 ; j<8 ; j++) 
+00248D FD                MOV     R5,A
+00248E 7C00              MOV     R4,#00H
+002490 904E89            MOV     DPTR,#j
+002493 E0                MOVX    A,@DPTR
+002494 FF                MOV     R7,A
+002495 7401              MOV     A,#01H
+002497 7E00              MOV     R6,#00H
+002499 A807              MOV     R0,AR7
+00249B 08                INC     R0
+00249C 8005              SJMP    ?C0105?KEYSCAN
+00249E         ?C0104?KEYSCAN:
+00249E C3                CLR     C
+00249F 33                RLC     A
+0024A0 CE                XCH     A,R6
+0024A1 33                RLC     A
+0024A2 CE                XCH     A,R6
+0024A3         ?C0105?KEYSCAN:
+0024A3 D8F9              DJNZ    R0,?C0104?KEYSCAN
+0024A5 FF                MOV     R7,A
+0024A6 EE                MOV     A,R6
+0024A7 5C                ANL     A,R4
+0024A8 FE                MOV     R6,A
+0024A9 EF                MOV     A,R7
+0024AA 5D                ANL     A,R5
+0024AB 4E                ORL     A,R6
+0024AC 6008              JZ      ?C0071?KEYSCAN
+  334: 							{
+  335: 								ghost = 1;
+0024AE 904E91            MOV     DPTR,#ghost
+0024B1 7401              MOV     A,#01H
+0024B3 F0                MOVX    @DPTR,A
+  336: 								break;
+0024B4 8008              SJMP    ?C0067?KEYSCAN
+  337: 							}	
+  338: 						}
+  339: 					}
+0024B6         ?C0071?KEYSCAN:
+0024B6 904E8A            MOV     DPTR,#k
+0024B9 E0                MOVX    A,@DPTR
+0024BA 04                INC     A
+0024BB F0                MOVX    @DPTR,A
+0024BC 80AD              SJMP    ?C0069?KEYSCAN
+  340: 				}
+  341: 			}
+0024BE         ?C0067?KEYSCAN:
+0024BE 904E89            MOV     DPTR,#j
+0024C1 E0                MOVX    A,@DPTR
+0024C2 04                INC     A
+0024C3 F0                MOVX    @DPTR,A
+0024C4 8141              AJMP    ?C0065?KEYSCAN
+  342: 		}
+0024C6         ?C0064?KEYSCAN:
+  343: 		
+  344: 		if (temp!=0)
+0024C6 904E8B            MOV     DPTR,#temp
+0024C9 E0                MOVX    A,@DPTR
+0024CA FF                MOV     R7,A
+0024CB 6008              JZ      ?C0063?KEYSCAN
+  345: 		{
+  346: 			keyCounttemp += bit_count(temp);
+0024CD B1F9              ACALL   _bit_count
+0024CF 904E8F            MOV     DPTR,#keyCounttemp
+0024D2 E0                MOVX    A,@DPTR
+0024D3 2F                ADD     A,R7
+0024D4 F0                MOVX    @DPTR,A
+  347: 		}
+  348: 	}
+0024D5         ?C0063?KEYSCAN:
+0024D5 904E88            MOV     DPTR,#i
+0024D8 E0                MOVX    A,@DPTR
+0024D9 04                INC     A
+0024DA F0                MOVX    @DPTR,A
+0024DB 8110              AJMP    ?C0061?KEYSCAN
+0024DD         ?C0062?KEYSCAN:
+  349: 	keyCount = keyCounttemp;
+0024DD 904E8F            MOV     DPTR,#keyCounttemp
+0024E0 E0                MOVX    A,@DPTR
+0024E1 904DE4            MOV     DPTR,#keyCount
+0024E4 F0                MOVX    @DPTR,A
+  350: 	
+  351: 	for (i=0; col[i]!=0; i++)
+0024E5 E4                CLR     A
+0024E6 904E88            MOV     DPTR,#i
+0024E9 F0                MOVX    @DPTR,A
+0024EA         ?C0075?KEYSCAN:
+0024EA 904E88            MOV     DPTR,#i
+0024ED E0                MOVX    A,@DPTR
+0024EE FF                MOV     R7,A
+0024EF 900681            MOV     DPTR,#col
+0024F2 93                MOVC    A,@A+DPTR
+0024F3 7002              JNZ     $ + 4H
+0024F5 A1CD              AJMP    ?C0076?KEYSCAN
+  352: 	{
+  353: 		temp = ksSelMapCurr[i] ^ ksSelMapOld[i];
+0024F7 7493              MOV     A,#LOW ksSelMapOld
+0024F9 2F                ADD     A,R7
+0024FA F582              MOV     DPL,A
+0024FC E4                CLR     A
+0024FD 344D              ADDC    A,#HIGH ksSelMapOld
+0024FF F583              MOV     DPH,A
+002501 E0                MOVX    A,@DPTR
+002502 FE                MOV     R6,A
+002503 74BC              MOV     A,#LOW ksSelMapCurr
+002505 2F                ADD     A,R7
+002506 F582              MOV     DPL,A
+002508 E4                CLR     A
+002509 344D              ADDC    A,#HIGH ksSelMapCurr
+00250B F583              MOV     DPH,A
+00250D E0                MOVX    A,@DPTR
+00250E 6E                XRL     A,R6
+00250F 904E8B            MOV     DPTR,#temp
+002512 F0                MOVX    @DPTR,A
+  354: 		state = ksSelMapCurr[i];
+002513 904E88            MOV     DPTR,#i
+002516 E0                MOVX    A,@DPTR
+002517 FF                MOV     R7,A
+002518 24BC              ADD     A,#LOW ksSelMapCurr
+00251A F582              MOV     DPL,A
+00251C E4                CLR     A
+00251D 344D              ADDC    A,#HIGH ksSelMapCurr
+00251F F583              MOV     DPH,A
+002521 E0                MOVX    A,@DPTR
+002522 904E8E            MOV     DPTR,#state
+002525 F0                MOVX    @DPTR,A
+  355: 		if (temp == 0) 
+002526 904E8B            MOV     DPTR,#temp
+002529 E0                MOVX    A,@DPTR
+00252A 7004              JNZ     ?C0078?KEYSCAN
+  356: 		{
+  357: 			continue;
+00252C A1C5              AJMP    ?C0077?KEYSCAN
+  358: 		}
+00252E A1C5              AJMP    ?C0077?KEYSCAN
+002530         ?C0078?KEYSCAN:
+  359: 		else 
+  360: 		{
+  361: 
+  362: 			if (ghost) 
+002530 904E91            MOV     DPTR,#ghost
+002533 E0                MOVX    A,@DPTR
+002534 6007              JZ      ?C0080?KEYSCAN
+  363: 				return NULL;
+002536 7B00              MOV     R3,#00H
+002538 7A00              MOV     R2,#00H
+00253A 7900              MOV     R1,#00H
+00253C 22                RET     
+00253D         ?C0080?KEYSCAN:
+  364: 			ksSelMapOld[i] = ksSelMapCurr[i];
+00253D 74BC              MOV     A,#LOW ksSelMapCurr
+00253F 2F                ADD     A,R7
+002540 F582              MOV     DPL,A
+002542 E4                CLR     A
+002543 344D              ADDC    A,#HIGH ksSelMapCurr
+002545 F583              MOV     DPH,A
+002547 E0                MOVX    A,@DPTR
+002548 FE                MOV     R6,A
+002549 7493              MOV     A,#LOW ksSelMapOld
+00254B 2F                ADD     A,R7
+00254C F582              MOV     DPL,A
 00254E E4                CLR     A
-00254F 904E89            MOV     DPTR,#j
-002552 F0                MOVX    @DPTR,A
-002553         ?C0082?KEYSCAN:
-002553 904E89            MOV     DPTR,#j
-002556 E0                MOVX    A,@DPTR
-002557 FF                MOV     R7,A
-002558 C3                CLR     C
-002559 9408              SUBB    A,#08H
-00255B 505B              JNC     ?C0083?KEYSCAN
-  367: 			{
-  368: 				if (temp&1)
-00255D 904E8B            MOV     DPTR,#temp
-002560 E0                MOVX    A,@DPTR
-002561 30E03C            JNB     ACC.0,?C0085?KEYSCAN
-  369: 				{
-  370: 					offset = i<<3 |j;
-002564 904E88            MOV     DPTR,#i
+00254F 344D              ADDC    A,#HIGH ksSelMapOld
+002551 F583              MOV     DPH,A
+002553 EE                MOV     A,R6
+002554 F0                MOVX    @DPTR,A
+  365: 			for (j = 0 ; j<8 ; j++) 
+002555 E4                CLR     A
+002556 904E89            MOV     DPTR,#j
+002559 F0                MOVX    @DPTR,A
+00255A         ?C0082?KEYSCAN:
+00255A 904E89            MOV     DPTR,#j
+00255D E0                MOVX    A,@DPTR
+00255E FF                MOV     R7,A
+00255F C3                CLR     C
+002560 9408              SUBB    A,#08H
+002562 505B              JNC     ?C0083?KEYSCAN
+  366: 			{
+  367: 				if (temp&1)
+002564 904E8B            MOV     DPTR,#temp
 002567 E0                MOVX    A,@DPTR
-002568 FE                MOV     R6,A
-002569 33                RLC     A
-00256A 33                RLC     A
-00256B 33                RLC     A
-00256C 54F8              ANL     A,#0F8H
-00256E FE                MOV     R6,A
-00256F EF                MOV     A,R7
-002570 4E                ORL     A,R6
-002571 904E8D            MOV     DPTR,#offset
-002574 F0                MOVX    @DPTR,A
-  371: 					key_value_temp = key_fn_function(state,ksMap[offset]);
-002575 A3                INC     DPTR
-002576 E0                MOVX    A,@DPTR
-002577 FF                MOV     R7,A
+002568 30E03C            JNB     ACC.0,?C0085?KEYSCAN
+  368: 				{
+  369: 					offset = i<<3 |j;
+00256B 904E88            MOV     DPTR,#i
+00256E E0                MOVX    A,@DPTR
+00256F FE                MOV     R6,A
+002570 33                RLC     A
+002571 33                RLC     A
+002572 33                RLC     A
+002573 54F8              ANL     A,#0F8H
+002575 FE                MOV     R6,A
+002576 EF                MOV     A,R7
+002577 4E                ORL     A,R6
 002578 904E8D            MOV     DPTR,#offset
-00257B E0                MOVX    A,@DPTR
-00257C 900696            MOV     DPTR,#ksMap
-00257F 93                MOVC    A,@A+DPTR
-002580 FD                MOV     R5,A
-002581 1228F8            LCALL   _key_fn_function
-002584 904E90            MOV     DPTR,#key_value_temp
-002587 EF                MOV     A,R7
-002588 F0                MOVX    @DPTR,A
-  372: 					if (state & 1)
-002589 904E8E            MOV     DPTR,#state
-00258C E0                MOVX    A,@DPTR
-00258D 30E009            JNB     ACC.0,?C0086?KEYSCAN
-  373: 					{
-  374: 						keyIn(key_value_temp);
-002590 904E90            MOV     DPTR,#key_value_temp
+00257B F0                MOVX    @DPTR,A
+  370: 					key_value_temp = key_fn_function(state,ksMap[offset]);
+00257C A3                INC     DPTR
+00257D E0                MOVX    A,@DPTR
+00257E FF                MOV     R7,A
+00257F 904E8D            MOV     DPTR,#offset
+002582 E0                MOVX    A,@DPTR
+002583 900696            MOV     DPTR,#ksMap
+002586 93                MOVC    A,@A+DPTR
+002587 FD                MOV     R5,A
+002588 1228FF            LCALL   _key_fn_function
+00258B 904E90            MOV     DPTR,#key_value_temp
+00258E EF                MOV     A,R7
+00258F F0                MOVX    @DPTR,A
+  371: 					if (state & 1)
+002590 904E8E            MOV     DPTR,#state
 002593 E0                MOVX    A,@DPTR
-002594 FF                MOV     R7,A
-002595 D192              ACALL   _keyIn
-  375: 					}
-002597 8007              SJMP    ?C0085?KEYSCAN
-002599         ?C0086?KEYSCAN:
-  376: 					else
-  377: 					{
-  378: 						keyOut(key_value_temp);
-002599 904E90            MOV     DPTR,#key_value_temp
-00259C E0                MOVX    A,@DPTR
-00259D FF                MOV     R7,A
-00259E D1E8              ACALL   _keyOut
-  379: 					}
-  380: 				}
-0025A0         ?C0085?KEYSCAN:
-  381: 				temp = temp >>1;
-0025A0 904E8B            MOV     DPTR,#temp
+002594 30E009            JNB     ACC.0,?C0086?KEYSCAN
+  372: 					{
+  373: 						keyIn(key_value_temp);
+002597 904E90            MOV     DPTR,#key_value_temp
+00259A E0                MOVX    A,@DPTR
+00259B FF                MOV     R7,A
+00259C D199              ACALL   _keyIn
+  374: 					}
+00259E 8007              SJMP    ?C0085?KEYSCAN
+0025A0         ?C0086?KEYSCAN:
+  375: 					else
+  376: 					{
+  377: 						keyOut(key_value_temp);
+0025A0 904E90            MOV     DPTR,#key_value_temp
 0025A3 E0                MOVX    A,@DPTR
 0025A4 FF                MOV     R7,A
-0025A5 C3                CLR     C
-0025A6 13                RRC     A
-0025A7 F0                MOVX    @DPTR,A
-  382: 				state = state>>1;
-0025A8 904E8E            MOV     DPTR,#state
-0025AB E0                MOVX    A,@DPTR
-0025AC FF                MOV     R7,A
-0025AD C3                CLR     C
-0025AE 13                RRC     A
-0025AF F0                MOVX    @DPTR,A
-  383: 			}
-0025B0 904E89            MOV     DPTR,#j
-0025B3 E0                MOVX    A,@DPTR
-0025B4 04                INC     A
-0025B5 F0                MOVX    @DPTR,A
-0025B6 809B              SJMP    ?C0082?KEYSCAN
-0025B8         ?C0083?KEYSCAN:
-  384: 			flag = 1;
-0025B8 904E8C            MOV     DPTR,#flag
-0025BB 7401              MOV     A,#01H
-0025BD F0                MOVX    @DPTR,A
-  385: 		}
-  386: 	}
-0025BE         ?C0077?KEYSCAN:
-0025BE 904E88            MOV     DPTR,#i
-0025C1 E0                MOVX    A,@DPTR
-0025C2 04                INC     A
-0025C3 F0                MOVX    @DPTR,A
-0025C4 81E3              AJMP    ?C0075?KEYSCAN
-0025C6         ?C0076?KEYSCAN:
-  387: 	
-  388: 	if((mult_key_status == KEY_RELEASE) && (standard_key_release_flag == 1))
-0025C6 904E4B            MOV     DPTR,#mult_key_status
-0025C9 E0                MOVX    A,@DPTR
-0025CA B4030A            CJNE    A,#03H,?C0088?KEYSCAN
-0025CD 904DDF            MOV     DPTR,#standard_key_release_flag
+0025A5 D1EF              ACALL   _keyOut
+  378: 					}
+  379: 				}
+0025A7         ?C0085?KEYSCAN:
+  380: 				temp = temp >>1;
+0025A7 904E8B            MOV     DPTR,#temp
+0025AA E0                MOVX    A,@DPTR
+0025AB FF                MOV     R7,A
+0025AC C3                CLR     C
+0025AD 13                RRC     A
+0025AE F0                MOVX    @DPTR,A
+  381: 				state = state>>1;
+0025AF 904E8E            MOV     DPTR,#state
+0025B2 E0                MOVX    A,@DPTR
+0025B3 FF                MOV     R7,A
+0025B4 C3                CLR     C
+0025B5 13                RRC     A
+0025B6 F0                MOVX    @DPTR,A
+  382: 			}
+0025B7 904E89            MOV     DPTR,#j
+0025BA E0                MOVX    A,@DPTR
+0025BB 04                INC     A
+0025BC F0                MOVX    @DPTR,A
+0025BD 809B              SJMP    ?C0082?KEYSCAN
+0025BF         ?C0083?KEYSCAN:
+  383: 			flag = 1;
+0025BF 904E8C            MOV     DPTR,#flag
+0025C2 7401              MOV     A,#01H
+0025C4 F0                MOVX    @DPTR,A
+  384: 		}
+  385: 	}
+0025C5         ?C0077?KEYSCAN:
+0025C5 904E88            MOV     DPTR,#i
+0025C8 E0                MOVX    A,@DPTR
+0025C9 04                INC     A
+0025CA F0                MOVX    @DPTR,A
+0025CB 81EA              AJMP    ?C0075?KEYSCAN
+0025CD         ?C0076?KEYSCAN:
+  386: 	
+  387: 	if((mult_key_status == KEY_RELEASE) && (standard_key_release_flag == 1))
+0025CD 904E4B            MOV     DPTR,#mult_key_status
 0025D0 E0                MOVX    A,@DPTR
-0025D1 B40103            CJNE    A,#01H,?C0088?KEYSCAN
-  389: 	{
-  390: 		standard_key_release_flag = 2;		//media key and standard key  release the same time
-0025D4 7402              MOV     A,#02H
-0025D6 F0                MOVX    @DPTR,A
-  391: 	}
-0025D7         ?C0088?KEYSCAN:
-  392: 
-  393: 	
-  394: 	if (flag || standard_key_release_flag == 2) 
-0025D7 904E8C            MOV     DPTR,#flag
-0025DA E0                MOVX    A,@DPTR
-0025DB 7007              JNZ     ?C0090?KEYSCAN
-0025DD 904DDF            MOV     DPTR,#standard_key_release_flag
-0025E0 E0                MOVX    A,@DPTR
-0025E1 B40207            CJNE    A,#02H,?C0089?KEYSCAN
-0025E4         ?C0090?KEYSCAN:
-  395: 	{
-  396: 		return &ksEvtPool;
-0025E4 7B01              MOV     R3,#01H
-0025E6 7A4E              MOV     R2,#HIGH ksEvtPool
-0025E8 79A4              MOV     R1,#LOW ksEvtPool
-0025EA 22                RET     
-  397: 	}
-0025EB         ?C0089?KEYSCAN:
-  398: 	else
-  399: 	{
-  400: 		return NULL;
-0025EB 7B00              MOV     R3,#00H
-0025ED 7A00              MOV     R2,#00H
-0025EF 7900              MOV     R1,#00H
-  401: 	}
-  402: 	
-  403: 
-  404: }
+0025D1 B4030A            CJNE    A,#03H,?C0088?KEYSCAN
+0025D4 904DDF            MOV     DPTR,#standard_key_release_flag
+0025D7 E0                MOVX    A,@DPTR
+0025D8 B40103            CJNE    A,#01H,?C0088?KEYSCAN
+  388: 	{
+  389: 		standard_key_release_flag = 2;		//media key and standard key  release the same time
+0025DB 7402              MOV     A,#02H
+0025DD F0                MOVX    @DPTR,A
+  390: 	}
+0025DE         ?C0088?KEYSCAN:
+  391: 
+  392: 	
+  393: 	if (flag || standard_key_release_flag == 2) 
+0025DE 904E8C            MOV     DPTR,#flag
+0025E1 E0                MOVX    A,@DPTR
+0025E2 7007              JNZ     ?C0090?KEYSCAN
+0025E4 904DDF            MOV     DPTR,#standard_key_release_flag
+0025E7 E0                MOVX    A,@DPTR
+0025E8 B40207            CJNE    A,#02H,?C0089?KEYSCAN
+0025EB         ?C0090?KEYSCAN:
+  394: 	{
+  395: 		return &ksEvtPool;
+0025EB 7B01              MOV     R3,#01H
+0025ED 7A4E              MOV     R2,#HIGH ksEvtPool
+0025EF 79A4              MOV     R1,#LOW ksEvtPool
 0025F1 22                RET     
+  396: 	}
+0025F2         ?C0089?KEYSCAN:
+  397: 	else
+  398: 	{
+  399: 		return NULL;
+0025F2 7B00              MOV     R3,#00H
+0025F4 7A00              MOV     R2,#00H
+0025F6 7900              MOV     R1,#00H
+  400: 	}
+  401: 	
+  402: 
+  403: }
+0025F8 22                RET     
 ----- FUNCTION KS_GetCurrentEvt (END) -------
 
 
 ----- FUNCTION _bit_count (BEGIN) -----
  FILE: 'keyscan.c'
-   24: static byte bit_count(byte v)
-   25: {
+   23: static byte bit_count(byte v)
+   24: {
 ;---- Variable 'v' assigned to Register 'R7' ----
-   26: 	unsigned char c;
-   27: 	for (c = 0; v; c++) {
+   25: 	unsigned char c;
+   26: 	for (c = 0; v; c++) {
 ;---- Variable 'c' assigned to Register 'R6' ----
-0025F2 E4                CLR     A
-0025F3 FE                MOV     R6,A
-0025F4         ?C0001?KEYSCAN:
-0025F4 EF                MOV     A,R7
-0025F5 6006              JZ      ?C0002?KEYSCAN
-   28:     	v &= v - 1;
-0025F7 14                DEC     A
-0025F8 5F                ANL     A,R7
-0025F9 FF                MOV     R7,A
-   29:     }
-0025FA 0E                INC     R6
-0025FB 80F7              SJMP    ?C0001?KEYSCAN
-0025FD         ?C0002?KEYSCAN:
-   30:     return c;
-0025FD AF06              MOV     R7,AR6
-   31: }
-0025FF 22                RET     
+0025F9 E4                CLR     A
+0025FA FE                MOV     R6,A
+0025FB         ?C0001?KEYSCAN:
+0025FB EF                MOV     A,R7
+0025FC 6006              JZ      ?C0002?KEYSCAN
+   27:     	v &= v - 1;
+0025FE 14                DEC     A
+0025FF 5F                ANL     A,R7
+002600 FF                MOV     R7,A
+   28:     }
+002601 0E                INC     R6
+002602 80F7              SJMP    ?C0001?KEYSCAN
+002604         ?C0002?KEYSCAN:
+   29:     return c;
+002604 AF06              MOV     R7,AR6
+   30: }
+002606 22                RET     
 ----- FUNCTION _bit_count (END) -------
 
 
 ----- FUNCTION IPC_IsTxBuffEmpty (BEGIN) -----
-002600 904B9C            MOV     DPTR,#ipcTxWritePtr
-002603 E0                MOVX    A,@DPTR
-002604 FE                MOV     R6,A
-002605 A3                INC     DPTR
-002606 E0                MOVX    A,@DPTR
-002607 FF                MOV     R7,A
-002608 904B9A            MOV     DPTR,#ipcTxReadPtr
-00260B E0                MOVX    A,@DPTR
-00260C B50607            CJNE    A,AR6,?C0025?IPC
-00260F A3                INC     DPTR
-002610 E0                MOVX    A,@DPTR
-002611 B50702            CJNE    A,AR7,?C0025?IPC
-002614 D3                SETB    C
-002615 22                RET     
-002616         ?C0025?IPC:
-002616 C3                CLR     C
-002617 22                RET     
+002607 904B9C            MOV     DPTR,#ipcTxWritePtr
+00260A E0                MOVX    A,@DPTR
+00260B FE                MOV     R6,A
+00260C A3                INC     DPTR
+00260D E0                MOVX    A,@DPTR
+00260E FF                MOV     R7,A
+00260F 904B9A            MOV     DPTR,#ipcTxReadPtr
+002612 E0                MOVX    A,@DPTR
+002613 B50607            CJNE    A,AR6,?C0025?IPC
+002616 A3                INC     DPTR
+002617 E0                MOVX    A,@DPTR
+002618 B50702            CJNE    A,AR7,?C0025?IPC
+00261B D3                SETB    C
+00261C 22                RET     
+00261D         ?C0025?IPC:
+00261D C3                CLR     C
+00261E 22                RET     
 ----- FUNCTION IPC_IsTxBuffEmpty (END) -------
 
 
 ----- FUNCTION _array_is_empty (BEGIN) -----
  FILE: 'keyscan.c'
-  280: byte array_is_empty(byte * str1,byte len)
-  281: {
-002618 904EEA            MOV     DPTR,#str1
-00261B EB                MOV     A,R3
-00261C F0                MOVX    @DPTR,A
-00261D A3                INC     DPTR
-00261E EA                MOV     A,R2
-00261F F0                MOVX    @DPTR,A
-002620 A3                INC     DPTR
-002621 E9                MOV     A,R1
-002622 F0                MOVX    @DPTR,A
+  279: byte array_is_empty(byte * str1,byte len)
+  280: {
+00261F 904EEA            MOV     DPTR,#str1
+002622 EB                MOV     A,R3
+002623 F0                MOVX    @DPTR,A
+002624 A3                INC     DPTR
+002625 EA                MOV     A,R2
+002626 F0                MOVX    @DPTR,A
+002627 A3                INC     DPTR
+002628 E9                MOV     A,R1
+002629 F0                MOVX    @DPTR,A
 ;---- Variable 'len' assigned to Register 'R5' ----
-  282: 	byte i;
-  283: 	for (i=0;i < len;i++)
+  281: 	byte i;
+  282: 	for (i=0;i < len;i++)
 ;---- Variable 'i' assigned to Register 'R7' ----
-002623 E4                CLR     A
-002624 FF                MOV     R7,A
-002625         ?C0054?KEYSCAN:
-002625 EF                MOV     A,R7
-002626 C3                CLR     C
-002627 9D                SUBB    A,R5
-002628 501B              JNC     ?C0055?KEYSCAN
-  284: 	{
-  285: 		if (str1[i] != 0)
-00262A 904EEA            MOV     DPTR,#str1
-00262D E0                MOVX    A,@DPTR
-00262E FB                MOV     R3,A
-00262F A3                INC     DPTR
-002630 E0                MOVX    A,@DPTR
-002631 FA                MOV     R2,A
-002632 A3                INC     DPTR
-002633 E0                MOVX    A,@DPTR
-002634 F9                MOV     R1,A
-002635 8F82              MOV     DPL,R7
-002637 758300            MOV     DPH,#00H
-00263A 1203CF            LCALL   ?C?CLDOPTR
-00263D 6003              JZ      ?C0056?KEYSCAN
-  286: 			return 0x00;
-00263F 7F00              MOV     R7,#00H
-002641 22                RET     
-  287: 	}
-002642         ?C0056?KEYSCAN:
-002642 0F                INC     R7
-002643 80E0              SJMP    ?C0054?KEYSCAN
-002645         ?C0055?KEYSCAN:
-  288: 	return 0x01;
-002645 7F01              MOV     R7,#01H
-  289: }
-002647 22                RET     
+00262A E4                CLR     A
+00262B FF                MOV     R7,A
+00262C         ?C0054?KEYSCAN:
+00262C EF                MOV     A,R7
+00262D C3                CLR     C
+00262E 9D                SUBB    A,R5
+00262F 501B              JNC     ?C0055?KEYSCAN
+  283: 	{
+  284: 		if (str1[i] != 0)
+002631 904EEA            MOV     DPTR,#str1
+002634 E0                MOVX    A,@DPTR
+002635 FB                MOV     R3,A
+002636 A3                INC     DPTR
+002637 E0                MOVX    A,@DPTR
+002638 FA                MOV     R2,A
+002639 A3                INC     DPTR
+00263A E0                MOVX    A,@DPTR
+00263B F9                MOV     R1,A
+00263C 8F82              MOV     DPL,R7
+00263E 758300            MOV     DPH,#00H
+002641 1203CF            LCALL   ?C?CLDOPTR
+002644 6003              JZ      ?C0056?KEYSCAN
+  285: 			return 0x00;
+002646 7F00              MOV     R7,#00H
+002648 22                RET     
+  286: 	}
+002649         ?C0056?KEYSCAN:
+002649 0F                INC     R7
+00264A 80E0              SJMP    ?C0054?KEYSCAN
+00264C         ?C0055?KEYSCAN:
+  287: 	return 0x01;
+00264C 7F01              MOV     R7,#01H
+  288: }
+00264E 22                RET     
 ----- FUNCTION _array_is_empty (END) -------
 
 
 ----- FUNCTION _compare_str (BEGIN) -----
-002648 904EAB            MOV     DPTR,#str1
-00264B EB                MOV     A,R3
-00264C F0                MOVX    @DPTR,A
-00264D A3                INC     DPTR
-00264E EA                MOV     A,R2
-00264F F0                MOVX    @DPTR,A
-002650 A3                INC     DPTR
-002651 E9                MOV     A,R1
-002652 F0                MOVX    @DPTR,A
+00264F 904EAB            MOV     DPTR,#str1
+002652 EB                MOV     A,R3
+002653 F0                MOVX    @DPTR,A
+002654 A3                INC     DPTR
+002655 EA                MOV     A,R2
+002656 F0                MOVX    @DPTR,A
+002657 A3                INC     DPTR
+002658 E9                MOV     A,R1
+002659 F0                MOVX    @DPTR,A
 ;---- Variable 'i' assigned to Register 'R7' ----
-002653 E4                CLR     A
-002654 FF                MOV     R7,A
-002655         ?C0021?UTILITIES:
-002655 904EB1            MOV     DPTR,#len
-002658 E0                MOVX    A,@DPTR
-002659 FE                MOV     R6,A
-00265A EF                MOV     A,R7
-00265B C3                CLR     C
-00265C 9E                SUBB    A,R6
-00265D 5030              JNC     ?C0022?UTILITIES
-00265F 904EAE            MOV     DPTR,#str2
-002662 E0                MOVX    A,@DPTR
-002663 FB                MOV     R3,A
-002664 A3                INC     DPTR
-002665 E0                MOVX    A,@DPTR
-002666 FA                MOV     R2,A
-002667 A3                INC     DPTR
-002668 E0                MOVX    A,@DPTR
-002669 F9                MOV     R1,A
-00266A 8F82              MOV     DPL,R7
-00266C 758300            MOV     DPH,#00H
-00266F 1203CF            LCALL   ?C?CLDOPTR
-002672 FE                MOV     R6,A
-002673 904EAB            MOV     DPTR,#str1
-002676 E0                MOVX    A,@DPTR
-002677 FB                MOV     R3,A
-002678 A3                INC     DPTR
-002679 E0                MOVX    A,@DPTR
-00267A FA                MOV     R2,A
-00267B A3                INC     DPTR
-00267C E0                MOVX    A,@DPTR
-00267D F9                MOV     R1,A
-00267E 8F82              MOV     DPL,R7
-002680 758300            MOV     DPH,#00H
-002683 1203CF            LCALL   ?C?CLDOPTR
-002686 6E                XRL     A,R6
-002687 6003              JZ      ?C0023?UTILITIES
-002689 7F00              MOV     R7,#00H
-00268B 22                RET     
-00268C         ?C0023?UTILITIES:
-00268C 0F                INC     R7
-00268D 80C6              SJMP    ?C0021?UTILITIES
-00268F         ?C0022?UTILITIES:
-00268F 7F01              MOV     R7,#01H
-002691 22                RET     
+00265A E4                CLR     A
+00265B FF                MOV     R7,A
+00265C         ?C0021?UTILITIES:
+00265C 904EB1            MOV     DPTR,#len
+00265F E0                MOVX    A,@DPTR
+002660 FE                MOV     R6,A
+002661 EF                MOV     A,R7
+002662 C3                CLR     C
+002663 9E                SUBB    A,R6
+002664 5030              JNC     ?C0022?UTILITIES
+002666 904EAE            MOV     DPTR,#str2
+002669 E0                MOVX    A,@DPTR
+00266A FB                MOV     R3,A
+00266B A3                INC     DPTR
+00266C E0                MOVX    A,@DPTR
+00266D FA                MOV     R2,A
+00266E A3                INC     DPTR
+00266F E0                MOVX    A,@DPTR
+002670 F9                MOV     R1,A
+002671 8F82              MOV     DPL,R7
+002673 758300            MOV     DPH,#00H
+002676 1203CF            LCALL   ?C?CLDOPTR
+002679 FE                MOV     R6,A
+00267A 904EAB            MOV     DPTR,#str1
+00267D E0                MOVX    A,@DPTR
+00267E FB                MOV     R3,A
+00267F A3                INC     DPTR
+002680 E0                MOVX    A,@DPTR
+002681 FA                MOV     R2,A
+002682 A3                INC     DPTR
+002683 E0                MOVX    A,@DPTR
+002684 F9                MOV     R1,A
+002685 8F82              MOV     DPL,R7
+002687 758300            MOV     DPH,#00H
+00268A 1203CF            LCALL   ?C?CLDOPTR
+00268D 6E                XRL     A,R6
+00268E 6003              JZ      ?C0023?UTILITIES
+002690 7F00              MOV     R7,#00H
+002692 22                RET     
+002693         ?C0023?UTILITIES:
+002693 0F                INC     R7
+002694 80C6              SJMP    ?C0021?UTILITIES
+002696         ?C0022?UTILITIES:
+002696 7F01              MOV     R7,#01H
+002698 22                RET     
 ----- FUNCTION _compare_str (END) -------
 
 
 ----- FUNCTION _keyIn (BEGIN) -----
  FILE: 'keyscan.c'
-   35: static void keyIn(byte key)
-   36: {
+   34: static void keyIn(byte key)
+   35: {
 ;---- Variable 'key' assigned to Register 'R7' ----
-   37: 	byte i = 0;
-   38: 
+   36: 	byte i = 0;
+   37: 
 ;---- Variable 'i' assigned to Register 'R6' ----
-002692 E4                CLR     A
-002693 FE                MOV     R6,A
-   39: 	if(key >= HID_KEY_LEFT_CTL && key <= HID_KEY_RIGHT_GUI)
-002694 EF                MOV     A,R7
-002695 C3                CLR     C
-002696 94E0              SUBB    A,#0E0H
-002698 4020              JC      ?C0005?KEYSCAN
-00269A EF                MOV     A,R7
-00269B D3                SETB    C
-00269C 94E7              SUBB    A,#0E7H
-00269E 501A              JNC     ?C0005?KEYSCAN
-   40: 	{
-   41: 		ksEvtPool.standardSel  |=  0x01 << (key & 0x07);
-0026A0 904EA4            MOV     DPTR,#ksEvtPool
-0026A3 E0                MOVX    A,@DPTR
-0026A4 FE                MOV     R6,A
-0026A5 EF                MOV     A,R7
-0026A6 5407              ANL     A,#07H
-0026A8 FF                MOV     R7,A
-0026A9 7401              MOV     A,#01H
-0026AB A807              MOV     R0,AR7
-0026AD 08                INC     R0
-0026AE 8002              SJMP    ?C0093?KEYSCAN
-0026B0         ?C0092?KEYSCAN:
-0026B0 C3                CLR     C
-0026B1 33                RLC     A
-0026B2         ?C0093?KEYSCAN:
-0026B2 D8FC              DJNZ    R0,?C0092?KEYSCAN
-0026B4 4E                ORL     A,R6
-0026B5 904EA4            MOV     DPTR,#ksEvtPool
-0026B8 F0                MOVX    @DPTR,A
-0026B9 22                RET     
-   42: 		return;
-   43: 	}
-0026BA         ?C0005?KEYSCAN:
-   44: /*
-   45: 
-   46: 	if (key == HID_KEY_RIGHT_GUI)
-   47: 	{
-   48: 		ksEvtPool.standardSel |= KS_SEL_RGUI;
-   49: 		return;
-   50: 	}
-   51: 	else if (key ==HID_KEY_RIGHT_ALT) 
-   52: 	{
-   53: 		ksEvtPool.standardSel |= KS_SEL_RALT;
-   54: 		return;
-   55: 	}
-   56: 	else if (key ==HID_KEY_RIGHT_SHIFT) 
-   57: 	{
-   58: 		ksEvtPool.standardSel |= KS_SEL_RSHIFT;
-   59: 		return;
-   60: 	}
-   61: 	else if (key ==HID_KEY_RIGHT_CTL) 
-   62: 	{
-   63: 		ksEvtPool.standardSel |= KS_SEL_RCTRL;
-   64: 		return;
-   65: 	}
-   66: 	else if (key ==HID_KEY_LEFT_GUI) 
-   67: 	{
-   68: 		ksEvtPool.standardSel |= KS_SEL_LGUI;
-   69: 		return;
-   70: 	}
-   71: 	else if (key ==HID_KEY_LEFT_ALT) 
-   72: 	{
-   73: 		ksEvtPool.standardSel |= KS_SEL_LALT;
-   74: 		return;
-   75: 	}
-   76: 	else if (key ==HID_KEY_LEFT_SHIFT)
-   77: 	{
-   78: 		ksEvtPool.standardSel |= KS_SEL_LSHIFT;
-   79: 		return;
-   80: 	}
-   81: 	else if (key ==HID_KEY_LEFT_CTL) 
-   82: 	{
-   83: 		ksEvtPool.standardSel |= KS_SEL_LCTRL;
-   84: 		return;
-   85: 	}
-   86: */	
-   87: 	//special key
-   88: 
-   89: 	for (i=0 ; i<KS_BUFF_POLL_LEN ; i++) 
-0026BA E4                CLR     A
-0026BB FE                MOV     R6,A
-0026BC         ?C0007?KEYSCAN:
-   90: 	{
-   91: 		if (ksEvtPool.ksPool[i] == key)
-0026BC 74A5              MOV     A,#LOW ksEvtPool+01H
-0026BE 2E                ADD     A,R6
-0026BF F582              MOV     DPL,A
+002699 E4                CLR     A
+00269A FE                MOV     R6,A
+   38: 	if(key >= HID_KEY_LEFT_CTL && key <= HID_KEY_RIGHT_GUI)
+00269B EF                MOV     A,R7
+00269C C3                CLR     C
+00269D 94E0              SUBB    A,#0E0H
+00269F 4020              JC      ?C0005?KEYSCAN
+0026A1 EF                MOV     A,R7
+0026A2 D3                SETB    C
+0026A3 94E7              SUBB    A,#0E7H
+0026A5 501A              JNC     ?C0005?KEYSCAN
+   39: 	{
+   40: 		ksEvtPool.standardSel  |=  0x01 << (key & 0x07);
+0026A7 904EA4            MOV     DPTR,#ksEvtPool
+0026AA E0                MOVX    A,@DPTR
+0026AB FE                MOV     R6,A
+0026AC EF                MOV     A,R7
+0026AD 5407              ANL     A,#07H
+0026AF FF                MOV     R7,A
+0026B0 7401              MOV     A,#01H
+0026B2 A807              MOV     R0,AR7
+0026B4 08                INC     R0
+0026B5 8002              SJMP    ?C0093?KEYSCAN
+0026B7         ?C0092?KEYSCAN:
+0026B7 C3                CLR     C
+0026B8 33                RLC     A
+0026B9         ?C0093?KEYSCAN:
+0026B9 D8FC              DJNZ    R0,?C0092?KEYSCAN
+0026BB 4E                ORL     A,R6
+0026BC 904EA4            MOV     DPTR,#ksEvtPool
+0026BF F0                MOVX    @DPTR,A
+0026C0 22                RET     
+   41: 		return;
+   42: 	}
+0026C1         ?C0005?KEYSCAN:
+   43: /*
+   44: 
+   45: 	if (key == HID_KEY_RIGHT_GUI)
+   46: 	{
+   47: 		ksEvtPool.standardSel |= KS_SEL_RGUI;
+   48: 		return;
+   49: 	}
+   50: 	else if (key ==HID_KEY_RIGHT_ALT) 
+   51: 	{
+   52: 		ksEvtPool.standardSel |= KS_SEL_RALT;
+   53: 		return;
+   54: 	}
+   55: 	else if (key ==HID_KEY_RIGHT_SHIFT) 
+   56: 	{
+   57: 		ksEvtPool.standardSel |= KS_SEL_RSHIFT;
+   58: 		return;
+   59: 	}
+   60: 	else if (key ==HID_KEY_RIGHT_CTL) 
+   61: 	{
+   62: 		ksEvtPool.standardSel |= KS_SEL_RCTRL;
+   63: 		return;
+   64: 	}
+   65: 	else if (key ==HID_KEY_LEFT_GUI) 
+   66: 	{
+   67: 		ksEvtPool.standardSel |= KS_SEL_LGUI;
+   68: 		return;
+   69: 	}
+   70: 	else if (key ==HID_KEY_LEFT_ALT) 
+   71: 	{
+   72: 		ksEvtPool.standardSel |= KS_SEL_LALT;
+   73: 		return;
+   74: 	}
+   75: 	else if (key ==HID_KEY_LEFT_SHIFT)
+   76: 	{
+   77: 		ksEvtPool.standardSel |= KS_SEL_LSHIFT;
+   78: 		return;
+   79: 	}
+   80: 	else if (key ==HID_KEY_LEFT_CTL) 
+   81: 	{
+   82: 		ksEvtPool.standardSel |= KS_SEL_LCTRL;
+   83: 		return;
+   84: 	}
+   85: */	
+   86: 	//special key
+   87: 
+   88: 	for (i=0 ; i<KS_BUFF_POLL_LEN ; i++) 
 0026C1 E4                CLR     A
-0026C2 344E              ADDC    A,#HIGH ksEvtPool+01H
-0026C4 F583              MOV     DPH,A
-0026C6 E0                MOVX    A,@DPTR
-0026C7 FD                MOV     R5,A
-0026C8 6F                XRL     A,R7
-0026C9 601C              JZ      ?C0006?KEYSCAN
-   92: 			break;
-0026CB         ?C0010?KEYSCAN:
-   93: 		if (ksEvtPool.ksPool[i] == 0) 
-0026CB ED                MOV     A,R5
-0026CC 7014              JNZ     ?C0009?KEYSCAN
-   94: 		{
-   95: 			if(mult_key_value != key)
-0026CE 904DED            MOV     DPTR,#mult_key_value
-0026D1 E0                MOVX    A,@DPTR
-0026D2 6F                XRL     A,R7
-0026D3 6012              JZ      ?C0006?KEYSCAN
-   96: 				ksEvtPool.ksPool[i] = key;
-0026D5 74A5              MOV     A,#LOW ksEvtPool+01H
-0026D7 2E                ADD     A,R6
-0026D8 F582              MOV     DPL,A
-0026DA E4                CLR     A
-0026DB 344E              ADDC    A,#HIGH ksEvtPool+01H
-0026DD F583              MOV     DPH,A
-0026DF EF                MOV     A,R7
-0026E0 F0                MOVX    @DPTR,A
-   97: 			break;
-0026E1 22                RET     
-   98: 		}
-   99: 	}
-0026E2         ?C0009?KEYSCAN:
-0026E2 0E                INC     R6
-0026E3 EE                MOV     A,R6
-0026E4 B406D5            CJNE    A,#06H,?C0007?KEYSCAN
-  100: }
-0026E7         ?C0006?KEYSCAN:
-0026E7 22                RET     
+0026C2 FE                MOV     R6,A
+0026C3         ?C0007?KEYSCAN:
+   89: 	{
+   90: 		if (ksEvtPool.ksPool[i] == key)
+0026C3 74A5              MOV     A,#LOW ksEvtPool+01H
+0026C5 2E                ADD     A,R6
+0026C6 F582              MOV     DPL,A
+0026C8 E4                CLR     A
+0026C9 344E              ADDC    A,#HIGH ksEvtPool+01H
+0026CB F583              MOV     DPH,A
+0026CD E0                MOVX    A,@DPTR
+0026CE FD                MOV     R5,A
+0026CF 6F                XRL     A,R7
+0026D0 601C              JZ      ?C0006?KEYSCAN
+   91: 			break;
+0026D2         ?C0010?KEYSCAN:
+   92: 		if (ksEvtPool.ksPool[i] == 0) 
+0026D2 ED                MOV     A,R5
+0026D3 7014              JNZ     ?C0009?KEYSCAN
+   93: 		{
+   94: 			if(mult_key_value != key)
+0026D5 904DED            MOV     DPTR,#mult_key_value
+0026D8 E0                MOVX    A,@DPTR
+0026D9 6F                XRL     A,R7
+0026DA 6012              JZ      ?C0006?KEYSCAN
+   95: 				ksEvtPool.ksPool[i] = key;
+0026DC 74A5              MOV     A,#LOW ksEvtPool+01H
+0026DE 2E                ADD     A,R6
+0026DF F582              MOV     DPL,A
+0026E1 E4                CLR     A
+0026E2 344E              ADDC    A,#HIGH ksEvtPool+01H
+0026E4 F583              MOV     DPH,A
+0026E6 EF                MOV     A,R7
+0026E7 F0                MOVX    @DPTR,A
+   96: 			break;
+0026E8 22                RET     
+   97: 		}
+   98: 	}
+0026E9         ?C0009?KEYSCAN:
+0026E9 0E                INC     R6
+0026EA EE                MOV     A,R6
+0026EB B406D5            CJNE    A,#06H,?C0007?KEYSCAN
+   99: }
+0026EE         ?C0006?KEYSCAN:
+0026EE 22                RET     
 ----- FUNCTION _keyIn (END) -------
 
 
 ----- FUNCTION _keyOut (BEGIN) -----
  FILE: 'keyscan.c'
-  102: static void keyOut(byte key)
-  103: {
+  101: static void keyOut(byte key)
+  102: {
 ;---- Variable 'key' assigned to Register 'R7' ----
-  104: 	byte i = 0 ;
-  105: 	byte found = 0;
+  103: 	byte i = 0 ;
+  104: 	byte found = 0;
 ;---- Variable 'i' assigned to Register 'R6' ----
-0026E8 E4                CLR     A
-0026E9 FE                MOV     R6,A
-  106: 
+0026EF E4                CLR     A
+0026F0 FE                MOV     R6,A
+  105: 
 ;---- Variable 'found' assigned to Register 'R5' ----
-0026EA FD                MOV     R5,A
-  107: 	if ((key &0xF0) == 0xf0 || (key &0xD0) == 0xD0)
-0026EB EF                MOV     A,R7
-0026EC 54F0              ANL     A,#0F0H
-0026EE 64F0              XRL     A,#0F0H
-0026F0 6007              JZ      ?C0014?KEYSCAN
+0026F1 FD                MOV     R5,A
+  106: 	if ((key &0xF0) == 0xf0 || (key &0xD0) == 0xD0)
 0026F2 EF                MOV     A,R7
-0026F3 54D0              ANL     A,#0D0H
-0026F5 FC                MOV     R4,A
-0026F6 BCD00C            CJNE    R4,#0D0H,?C0013?KEYSCAN
-0026F9         ?C0014?KEYSCAN:
-  108: 	{
-  109: 		if(mult_key_status == KEY_WAIT_RELEASE)
-0026F9 904E4B            MOV     DPTR,#mult_key_status
-0026FC E0                MOVX    A,@DPTR
-0026FD B4020B            CJNE    A,#02H,?C0016?KEYSCAN
-  110: 		{
-  111: 			mult_key_status = KEY_RELEASE;
-002700 7403              MOV     A,#03H
-002702 F0                MOVX    @DPTR,A
-  112: 		}
-  113: 	}
-002703 8006              SJMP    ?C0016?KEYSCAN
-002705         ?C0013?KEYSCAN:
-  114: 	else
-  115: 		standard_key_release_flag = 1;
-002705 904DDF            MOV     DPTR,#standard_key_release_flag
-002708 7401              MOV     A,#01H
-00270A F0                MOVX    @DPTR,A
-00270B         ?C0016?KEYSCAN:
-  116: 
-  117: 	if(key >= HID_KEY_LEFT_CTL && key <= HID_KEY_RIGHT_GUI)
-00270B EF                MOV     A,R7
-00270C C3                CLR     C
-00270D 94E0              SUBB    A,#0E0H
-00270F 4021              JC      ?C0017?KEYSCAN
-002711 EF                MOV     A,R7
-002712 D3                SETB    C
-002713 94E7              SUBB    A,#0E7H
-002715 501B              JNC     ?C0017?KEYSCAN
-  118: 	{
-  119: 		ksEvtPool.standardSel  &= ~(0x01 << (key & 0x07));
-002717 904EA4            MOV     DPTR,#ksEvtPool
-00271A E0                MOVX    A,@DPTR
-00271B FE                MOV     R6,A
-00271C EF                MOV     A,R7
-00271D 5407              ANL     A,#07H
-00271F FF                MOV     R7,A
-002720 7401              MOV     A,#01H
-002722 A807              MOV     R0,AR7
-002724 08                INC     R0
-002725 8002              SJMP    ?C0095?KEYSCAN
-002727         ?C0094?KEYSCAN:
-002727 C3                CLR     C
-002728 33                RLC     A
-002729         ?C0095?KEYSCAN:
-002729 D8FC              DJNZ    R0,?C0094?KEYSCAN
-00272B F4                CPL     A
-00272C 5E                ANL     A,R6
-00272D 904EA4            MOV     DPTR,#ksEvtPool
-002730 F0                MOVX    @DPTR,A
-002731 22                RET     
-  120: 		return;
-  121: 	}
-002732         ?C0017?KEYSCAN:
-  122: 	
-  123: 
-  124: /*
-  125: 	if (key == HID_KEY_RIGHT_GUI ) 
-  126: 	{
-  127: 		ksEvtPool.standardSel &= ~KS_SEL_RGUI;
-  128: 		return;
-  129: 	}
-  130: 	else if (key ==HID_KEY_RIGHT_ALT ) 
-  131: 	{
-  132: 		ksEvtPool.standardSel &= ~KS_SEL_RALT;
-  133: 		return;
-  134: 	}
-  135: 	else if (key ==HID_KEY_RIGHT_SHIFT) 
-  136: 	{
-  137: 		ksEvtPool.standardSel &= ~KS_SEL_RSHIFT;
-  138: 		return;
-  139: 	}
-  140: 	else if (key ==HID_KEY_RIGHT_CTL) 
-  141: 	{
-  142: 		ksEvtPool.standardSel &= ~KS_SEL_RCTRL;
-  143: 		return;
-  144: 	}
-  145: 	else if (key ==HID_KEY_LEFT_GUI)
-  146: 	{
-  147: 		ksEvtPool.standardSel &= ~KS_SEL_LGUI;
-  148: 		return;
-  149: 	}
-  150: 	else if (key ==HID_KEY_LEFT_ALT)
-  151: 	{
-  152: 		ksEvtPool.standardSel &= ~KS_SEL_LALT;
-  153: 		return;
-  154: 	}
-  155: 	else if (key ==HID_KEY_LEFT_SHIFT) 
-  156: 	{
-  157: 		ksEvtPool.standardSel &= ~KS_SEL_LSHIFT;
-  158: 		return;
-  159: 	}
-  160: 	else if (key ==HID_KEY_LEFT_CTL) 
-  161: 	{
-  162: 		ksEvtPool.standardSel &= ~ KS_SEL_LCTRL;
-  163: 		return;
-  164: 	}
-  165: */	
-  166: 	for (i=0 ; i<KS_BUFF_POLL_LEN ; i++) 
-002732 E4                CLR     A
-002733 FE                MOV     R6,A
-002734         ?C0019?KEYSCAN:
-  167: 	{
-  168: 		if (found == 0) 
-002734 ED                MOV     A,R5
-002735 7021              JNZ     ?C0022?KEYSCAN
-  169: 		{
-  170: 			if (ksEvtPool.ksPool[i] == key) {
-002737 74A5              MOV     A,#LOW ksEvtPool+01H
-002739 2E                ADD     A,R6
-00273A F582              MOV     DPL,A
-00273C E4                CLR     A
-00273D 344E              ADDC    A,#HIGH ksEvtPool+01H
-00273F F583              MOV     DPH,A
-002741 E0                MOVX    A,@DPTR
-002742 6F                XRL     A,R7
-002743 7047              JNZ     ?C0021?KEYSCAN
-  171: 				if (i == KS_BUFF_POLL_LEN-1) {
-002745 EE                MOV     A,R6
-002746 B4050B            CJNE    A,#05H,?C0024?KEYSCAN
-  172: 					ksEvtPool.ksPool[i] = 0;
-002749 24A5              ADD     A,#LOW ksEvtPool+01H
-00274B F582              MOV     DPL,A
-00274D E4                CLR     A
-00274E 344E              ADDC    A,#HIGH ksEvtPool+01H
-002750 F583              MOV     DPH,A
-002752 E4                CLR     A
-002753 F0                MOVX    @DPTR,A
-  173: 				}
-002754         ?C0024?KEYSCAN:
-  174: 				found = 1;
-002754 7D01              MOV     R5,#01H
-  175: 			}
-  176: 		}
-002756 8034              SJMP    ?C0021?KEYSCAN
-002758         ?C0022?KEYSCAN:
-  177: 		else 
-  178: 		{
-  179: 			ksEvtPool.ksPool[i-1] = ksEvtPool.ksPool[i];
-002758 74A5              MOV     A,#LOW ksEvtPool+01H
-00275A 2E                ADD     A,R6
-00275B F582              MOV     DPL,A
-00275D E4                CLR     A
-00275E 344E              ADDC    A,#HIGH ksEvtPool+01H
-002760 F583              MOV     DPH,A
-002762 E0                MOVX    A,@DPTR
-002763 FC                MOV     R4,A
-002764 74A4              MOV     A,#LOW ksEvtPool
-002766 2E                ADD     A,R6
-002767 F582              MOV     DPL,A
-002769 E4                CLR     A
-00276A 344E              ADDC    A,#HIGH ksEvtPool
-00276C F583              MOV     DPH,A
-00276E EC                MOV     A,R4
-00276F F0                MOVX    @DPTR,A
-  180: 			if (ksEvtPool.ksPool[i] == 0)
-002770 74A5              MOV     A,#LOW ksEvtPool+01H
-002772 2E                ADD     A,R6
-002773 F582              MOV     DPL,A
-002775 E4                CLR     A
-002776 344E              ADDC    A,#HIGH ksEvtPool+01H
-002778 F583              MOV     DPH,A
-00277A E0                MOVX    A,@DPTR
-00277B 6014              JZ      ?C0018?KEYSCAN
-  181: 				break;
-00277D         ?C0026?KEYSCAN:
-  182: 			if (i == KS_BUFF_POLL_LEN-1) {
-00277D EE                MOV     A,R6
-00277E B4050B            CJNE    A,#05H,?C0021?KEYSCAN
-  183: 				ksEvtPool.ksPool[i] = 0;
-002781 24A5              ADD     A,#LOW ksEvtPool+01H
-002783 F582              MOV     DPL,A
-002785 E4                CLR     A
-002786 344E              ADDC    A,#HIGH ksEvtPool+01H
-002788 F583              MOV     DPH,A
-00278A E4                CLR     A
-00278B F0                MOVX    @DPTR,A
-  184: 			}
-  185: 		}
-  186: 	}
-00278C         ?C0021?KEYSCAN:
-00278C 0E                INC     R6
-00278D EE                MOV     A,R6
-00278E B406A3            CJNE    A,#06H,?C0019?KEYSCAN
-  187: }
-002791         ?C0018?KEYSCAN:
-002791 22                RET     
+0026F3 54F0              ANL     A,#0F0H
+0026F5 64F0              XRL     A,#0F0H
+0026F7 6007              JZ      ?C0014?KEYSCAN
+0026F9 EF                MOV     A,R7
+0026FA 54D0              ANL     A,#0D0H
+0026FC FC                MOV     R4,A
+0026FD BCD00C            CJNE    R4,#0D0H,?C0013?KEYSCAN
+002700         ?C0014?KEYSCAN:
+  107: 	{
+  108: 		if(mult_key_status == KEY_WAIT_RELEASE)
+002700 904E4B            MOV     DPTR,#mult_key_status
+002703 E0                MOVX    A,@DPTR
+002704 B4020B            CJNE    A,#02H,?C0016?KEYSCAN
+  109: 		{
+  110: 			mult_key_status = KEY_RELEASE;
+002707 7403              MOV     A,#03H
+002709 F0                MOVX    @DPTR,A
+  111: 		}
+  112: 	}
+00270A 8006              SJMP    ?C0016?KEYSCAN
+00270C         ?C0013?KEYSCAN:
+  113: 	else
+  114: 		standard_key_release_flag = 1;
+00270C 904DDF            MOV     DPTR,#standard_key_release_flag
+00270F 7401              MOV     A,#01H
+002711 F0                MOVX    @DPTR,A
+002712         ?C0016?KEYSCAN:
+  115: 
+  116: 	if(key >= HID_KEY_LEFT_CTL && key <= HID_KEY_RIGHT_GUI)
+002712 EF                MOV     A,R7
+002713 C3                CLR     C
+002714 94E0              SUBB    A,#0E0H
+002716 4021              JC      ?C0017?KEYSCAN
+002718 EF                MOV     A,R7
+002719 D3                SETB    C
+00271A 94E7              SUBB    A,#0E7H
+00271C 501B              JNC     ?C0017?KEYSCAN
+  117: 	{
+  118: 		ksEvtPool.standardSel  &= ~(0x01 << (key & 0x07));
+00271E 904EA4            MOV     DPTR,#ksEvtPool
+002721 E0                MOVX    A,@DPTR
+002722 FE                MOV     R6,A
+002723 EF                MOV     A,R7
+002724 5407              ANL     A,#07H
+002726 FF                MOV     R7,A
+002727 7401              MOV     A,#01H
+002729 A807              MOV     R0,AR7
+00272B 08                INC     R0
+00272C 8002              SJMP    ?C0095?KEYSCAN
+00272E         ?C0094?KEYSCAN:
+00272E C3                CLR     C
+00272F 33                RLC     A
+002730         ?C0095?KEYSCAN:
+002730 D8FC              DJNZ    R0,?C0094?KEYSCAN
+002732 F4                CPL     A
+002733 5E                ANL     A,R6
+002734 904EA4            MOV     DPTR,#ksEvtPool
+002737 F0                MOVX    @DPTR,A
+002738 22                RET     
+  119: 		return;
+  120: 	}
+002739         ?C0017?KEYSCAN:
+  121: 	
+  122: 
+  123: /*
+  124: 	if (key == HID_KEY_RIGHT_GUI ) 
+  125: 	{
+  126: 		ksEvtPool.standardSel &= ~KS_SEL_RGUI;
+  127: 		return;
+  128: 	}
+  129: 	else if (key ==HID_KEY_RIGHT_ALT ) 
+  130: 	{
+  131: 		ksEvtPool.standardSel &= ~KS_SEL_RALT;
+  132: 		return;
+  133: 	}
+  134: 	else if (key ==HID_KEY_RIGHT_SHIFT) 
+  135: 	{
+  136: 		ksEvtPool.standardSel &= ~KS_SEL_RSHIFT;
+  137: 		return;
+  138: 	}
+  139: 	else if (key ==HID_KEY_RIGHT_CTL) 
+  140: 	{
+  141: 		ksEvtPool.standardSel &= ~KS_SEL_RCTRL;
+  142: 		return;
+  143: 	}
+  144: 	else if (key ==HID_KEY_LEFT_GUI)
+  145: 	{
+  146: 		ksEvtPool.standardSel &= ~KS_SEL_LGUI;
+  147: 		return;
+  148: 	}
+  149: 	else if (key ==HID_KEY_LEFT_ALT)
+  150: 	{
+  151: 		ksEvtPool.standardSel &= ~KS_SEL_LALT;
+  152: 		return;
+  153: 	}
+  154: 	else if (key ==HID_KEY_LEFT_SHIFT) 
+  155: 	{
+  156: 		ksEvtPool.standardSel &= ~KS_SEL_LSHIFT;
+  157: 		return;
+  158: 	}
+  159: 	else if (key ==HID_KEY_LEFT_CTL) 
+  160: 	{
+  161: 		ksEvtPool.standardSel &= ~ KS_SEL_LCTRL;
+  162: 		return;
+  163: 	}
+  164: */	
+  165: 	for (i=0 ; i<KS_BUFF_POLL_LEN ; i++) 
+002739 E4                CLR     A
+00273A FE                MOV     R6,A
+00273B         ?C0019?KEYSCAN:
+  166: 	{
+  167: 		if (found == 0) 
+00273B ED                MOV     A,R5
+00273C 7021              JNZ     ?C0022?KEYSCAN
+  168: 		{
+  169: 			if (ksEvtPool.ksPool[i] == key) {
+00273E 74A5              MOV     A,#LOW ksEvtPool+01H
+002740 2E                ADD     A,R6
+002741 F582              MOV     DPL,A
+002743 E4                CLR     A
+002744 344E              ADDC    A,#HIGH ksEvtPool+01H
+002746 F583              MOV     DPH,A
+002748 E0                MOVX    A,@DPTR
+002749 6F                XRL     A,R7
+00274A 7047              JNZ     ?C0021?KEYSCAN
+  170: 				if (i == KS_BUFF_POLL_LEN-1) {
+00274C EE                MOV     A,R6
+00274D B4050B            CJNE    A,#05H,?C0024?KEYSCAN
+  171: 					ksEvtPool.ksPool[i] = 0;
+002750 24A5              ADD     A,#LOW ksEvtPool+01H
+002752 F582              MOV     DPL,A
+002754 E4                CLR     A
+002755 344E              ADDC    A,#HIGH ksEvtPool+01H
+002757 F583              MOV     DPH,A
+002759 E4                CLR     A
+00275A F0                MOVX    @DPTR,A
+  172: 				}
+00275B         ?C0024?KEYSCAN:
+  173: 				found = 1;
+00275B 7D01              MOV     R5,#01H
+  174: 			}
+  175: 		}
+00275D 8034              SJMP    ?C0021?KEYSCAN
+00275F         ?C0022?KEYSCAN:
+  176: 		else 
+  177: 		{
+  178: 			ksEvtPool.ksPool[i-1] = ksEvtPool.ksPool[i];
+00275F 74A5              MOV     A,#LOW ksEvtPool+01H
+002761 2E                ADD     A,R6
+002762 F582              MOV     DPL,A
+002764 E4                CLR     A
+002765 344E              ADDC    A,#HIGH ksEvtPool+01H
+002767 F583              MOV     DPH,A
+002769 E0                MOVX    A,@DPTR
+00276A FC                MOV     R4,A
+00276B 74A4              MOV     A,#LOW ksEvtPool
+00276D 2E                ADD     A,R6
+00276E F582              MOV     DPL,A
+002770 E4                CLR     A
+002771 344E              ADDC    A,#HIGH ksEvtPool
+002773 F583              MOV     DPH,A
+002775 EC                MOV     A,R4
+002776 F0                MOVX    @DPTR,A
+  179: 			if (ksEvtPool.ksPool[i] == 0)
+002777 74A5              MOV     A,#LOW ksEvtPool+01H
+002779 2E                ADD     A,R6
+00277A F582              MOV     DPL,A
+00277C E4                CLR     A
+00277D 344E              ADDC    A,#HIGH ksEvtPool+01H
+00277F F583              MOV     DPH,A
+002781 E0                MOVX    A,@DPTR
+002782 6014              JZ      ?C0018?KEYSCAN
+  180: 				break;
+002784         ?C0026?KEYSCAN:
+  181: 			if (i == KS_BUFF_POLL_LEN-1) {
+002784 EE                MOV     A,R6
+002785 B4050B            CJNE    A,#05H,?C0021?KEYSCAN
+  182: 				ksEvtPool.ksPool[i] = 0;
+002788 24A5              ADD     A,#LOW ksEvtPool+01H
+00278A F582              MOV     DPL,A
+00278C E4                CLR     A
+00278D 344E              ADDC    A,#HIGH ksEvtPool+01H
+00278F F583              MOV     DPH,A
+002791 E4                CLR     A
+002792 F0                MOVX    @DPTR,A
+  183: 			}
+  184: 		}
+  185: 	}
+002793         ?C0021?KEYSCAN:
+002793 0E                INC     R6
+002794 EE                MOV     A,R6
+002795 B406A3            CJNE    A,#06H,?C0019?KEYSCAN
+  186: }
+002798         ?C0018?KEYSCAN:
+002798 22                RET     
 ----- FUNCTION _keyOut (END) -------
 
 
 ----- FUNCTION _kb_device_select (BEGIN) -----
  FILE: 'kb_process.c'
-  518: byte kb_device_select(tKSEVENT *pEvt)
-  519: {
-002792 904ED4            MOV     DPTR,#pEvt
-002795 EB                MOV     A,R3
-002796 F0                MOVX    @DPTR,A
-002797 A3                INC     DPTR
-002798 EA                MOV     A,R2
-002799 F0                MOVX    @DPTR,A
-00279A A3                INC     DPTR
-00279B E9                MOV     A,R1
-00279C F0                MOVX    @DPTR,A
-  520: 	byte temp = 0;
-  521: 	byte i=0;
-;---- Variable 'temp' assigned to Register 'R5' ----
-00279D E4                CLR     A
-00279E FD                MOV     R5,A
-  522: 	
-00279F A3                INC     DPTR
+  514: byte kb_device_select(tKSEVENT *pEvt)
+  515: {
+002799 904ED4            MOV     DPTR,#pEvt
+00279C EB                MOV     A,R3
+00279D F0                MOVX    @DPTR,A
+00279E A3                INC     DPTR
+00279F EA                MOV     A,R2
 0027A0 F0                MOVX    @DPTR,A
-  523: 	if (fn_flag == 1) 
-0027A1 904DE2            MOV     DPTR,#fn_flag
-0027A4 E0                MOVX    A,@DPTR
-0027A5 6401              XRL     A,#01H
-0027A7 6003              JZ      $ + 5H
-0027A9 022888            LJMP    ?C0109?KB_PROCESS
-  524: 	{
-  525: 		i = KS_BUFF_POLL_LEN-1;
-0027AC 904ED7            MOV     DPTR,#i
-0027AF 7405              MOV     A,#05H
-0027B1 F0                MOVX    @DPTR,A
-0027B2         ?C0110?KB_PROCESS:
-  526: 
-  527: 		while (i--) 
-0027B2 904ED7            MOV     DPTR,#i
-0027B5 E0                MOVX    A,@DPTR
-0027B6 FE                MOV     R6,A
-0027B7 14                DEC     A
+0027A1 A3                INC     DPTR
+0027A2 E9                MOV     A,R1
+0027A3 F0                MOVX    @DPTR,A
+  516: 	byte temp = 0;
+  517: 	byte i=0;
+;---- Variable 'temp' assigned to Register 'R5' ----
+0027A4 E4                CLR     A
+0027A5 FD                MOV     R5,A
+  518: 	
+0027A6 A3                INC     DPTR
+0027A7 F0                MOVX    @DPTR,A
+  519: 	if (fn_flag == 1) 
+0027A8 904DE2            MOV     DPTR,#fn_flag
+0027AB E0                MOVX    A,@DPTR
+0027AC 6401              XRL     A,#01H
+0027AE 6003              JZ      $ + 5H
+0027B0 02288F            LJMP    ?C0109?KB_PROCESS
+  520: 	{
+  521: 		i = KS_BUFF_POLL_LEN-1;
+0027B3 904ED7            MOV     DPTR,#i
+0027B6 7405              MOV     A,#05H
 0027B8 F0                MOVX    @DPTR,A
-0027B9 EE                MOV     A,R6
-0027BA 7003              JNZ     $ + 5H
-0027BC 0228D0            LJMP    ?C0126?KB_PROCESS
-  528: 		{
-  529: 			temp = pEvt->ksPool[i];
-0027BF 904ED4            MOV     DPTR,#pEvt
-0027C2 E0                MOVX    A,@DPTR
-0027C3 FB                MOV     R3,A
-0027C4 A3                INC     DPTR
-0027C5 E0                MOVX    A,@DPTR
-0027C6 FA                MOV     R2,A
-0027C7 A3                INC     DPTR
-0027C8 E0                MOVX    A,@DPTR
-0027C9 2401              ADD     A,#01H
-0027CB F9                MOV     R1,A
-0027CC E4                CLR     A
-0027CD 3A                ADDC    A,R2
-0027CE FA                MOV     R2,A
-0027CF A3                INC     DPTR
-0027D0 E0                MOVX    A,@DPTR
-0027D1 7E00              MOV     R6,#00H
-0027D3 29                ADD     A,R1
-0027D4 F9                MOV     R1,A
-0027D5 EE                MOV     A,R6
-0027D6 3A                ADDC    A,R2
-0027D7 FA                MOV     R2,A
-0027D8 1203B6            LCALL   ?C?CLDPTR
-0027DB FD                MOV     R5,A
-  530: 
-  531: 			if (temp >= HID_KEY_7 && temp <= HID_KEY_0) 
-0027DC C3                CLR     C
-0027DD 9424              SUBB    A,#024H
-0027DF 4073              JC      ?C0112?KB_PROCESS
-0027E1 ED                MOV     A,R5
-0027E2 D3                SETB    C
-0027E3 9427              SUBB    A,#027H
-0027E5 506D              JNC     ?C0112?KB_PROCESS
-  532: 			{
-  533: 				switch(temp)
-0027E7 ED                MOV     A,R5
-0027E8 24DC              ADD     A,#0DCH
-0027EA 24FD              ADD     A,#0FDH
-0027EC 5004              JNC     ?C0116?KB_PROCESS
-0027EE 6037              JZ      ?C0119?KB_PROCESS
-0027F0 805F              SJMP    ?C0113?KB_PROCESS
-  534: 				{
-  535: 					case HID_KEY_7:
-  536: 					case HID_KEY_8:
-  537: 					case HID_KEY_9:		//BT
-0027F2         ?C0116?KB_PROCESS:
-  538: 						g_variable.delay_enter_lpm_timer = 10;
-0027F2 904CEA            MOV     DPTR,#g_variable+02BH
-0027F5 740A              MOV     A,#0AH
-0027F7 F0                MOVX    @DPTR,A
-  539: 
-  540: 						g_variable.button_flag |= KEY_FLAG_FN_DEVICE_BUTTON;
-0027F8 904CCE            MOV     DPTR,#g_variable+0FH
-0027FB E0                MOVX    A,@DPTR
-0027FC 4408              ORL     A,#08H
+0027B9         ?C0110?KB_PROCESS:
+  522: 
+  523: 		while (i--) 
+0027B9 904ED7            MOV     DPTR,#i
+0027BC E0                MOVX    A,@DPTR
+0027BD FE                MOV     R6,A
+0027BE 14                DEC     A
+0027BF F0                MOVX    @DPTR,A
+0027C0 EE                MOV     A,R6
+0027C1 7003              JNZ     $ + 5H
+0027C3 0228D7            LJMP    ?C0126?KB_PROCESS
+  524: 		{
+  525: 			temp = pEvt->ksPool[i];
+0027C6 904ED4            MOV     DPTR,#pEvt
+0027C9 E0                MOVX    A,@DPTR
+0027CA FB                MOV     R3,A
+0027CB A3                INC     DPTR
+0027CC E0                MOVX    A,@DPTR
+0027CD FA                MOV     R2,A
+0027CE A3                INC     DPTR
+0027CF E0                MOVX    A,@DPTR
+0027D0 2401              ADD     A,#01H
+0027D2 F9                MOV     R1,A
+0027D3 E4                CLR     A
+0027D4 3A                ADDC    A,R2
+0027D5 FA                MOV     R2,A
+0027D6 A3                INC     DPTR
+0027D7 E0                MOVX    A,@DPTR
+0027D8 7E00              MOV     R6,#00H
+0027DA 29                ADD     A,R1
+0027DB F9                MOV     R1,A
+0027DC EE                MOV     A,R6
+0027DD 3A                ADDC    A,R2
+0027DE FA                MOV     R2,A
+0027DF 1203B6            LCALL   ?C?CLDPTR
+0027E2 FD                MOV     R5,A
+  526: 
+  527: 			if (temp >= HID_KEY_7 && temp <= HID_KEY_0) 
+0027E3 C3                CLR     C
+0027E4 9424              SUBB    A,#024H
+0027E6 4073              JC      ?C0112?KB_PROCESS
+0027E8 ED                MOV     A,R5
+0027E9 D3                SETB    C
+0027EA 9427              SUBB    A,#027H
+0027EC 506D              JNC     ?C0112?KB_PROCESS
+  528: 			{
+  529: 				switch(temp)
+0027EE ED                MOV     A,R5
+0027EF 24DC              ADD     A,#0DCH
+0027F1 24FD              ADD     A,#0FDH
+0027F3 5004              JNC     ?C0116?KB_PROCESS
+0027F5 6037              JZ      ?C0119?KB_PROCESS
+0027F7 805F              SJMP    ?C0113?KB_PROCESS
+  530: 				{
+  531: 					case HID_KEY_7:
+  532: 					case HID_KEY_8:
+  533: 					case HID_KEY_9:		//BT
+0027F9         ?C0116?KB_PROCESS:
+  534: 						g_variable.delay_enter_lpm_timer = 10;
+0027F9 904CEA            MOV     DPTR,#g_variable+02BH
+0027FC 740A              MOV     A,#0AH
 0027FE F0                MOVX    @DPTR,A
-  541: 						g_variable.button_flag &= ~KEY_FLAG_FN_24G_DEVICE_BUTTON;
-0027FF 54EF              ANL     A,#0EFH
-002801 F0                MOVX    @DPTR,A
-  542: 						if((g_variable.current_device_num != (temp-(HID_KEY_7 - 1))) ||(g_variable.g24_currentState == CHANGE_TO_24
+  535: 
+  536: 						g_variable.button_flag |= KEY_FLAG_FN_DEVICE_BUTTON;
+0027FF 904CCE            MOV     DPTR,#g_variable+0FH
+002802 E0                MOVX    A,@DPTR
+002803 4408              ORL     A,#08H
+002805 F0                MOVX    @DPTR,A
+  537: 						g_variable.button_flag &= ~KEY_FLAG_FN_24G_DEVICE_BUTTON;
+002806 54EF              ANL     A,#0EFH
+002808 F0                MOVX    @DPTR,A
+  538: 						if((g_variable.current_device_num != (temp-(HID_KEY_7 - 1))) ||(g_variable.g24_currentState == CHANGE_TO_24
 >> G_CONNECTED))
-002802 ED                MOV     A,R5
-002803 24DD              ADD     A,#0DDH
-002805 FF                MOV     R7,A
-002806 904CC3            MOV     DPTR,#g_variable+04H
-002809 E0                MOVX    A,@DPTR
-00280A B50708            CJNE    A,AR7,?C0118?KB_PROCESS
-00280D 904CC5            MOV     DPTR,#g_variable+06H
+002809 ED                MOV     A,R5
+00280A 24DD              ADD     A,#0DDH
+00280C FF                MOV     R7,A
+00280D 904CC3            MOV     DPTR,#g_variable+04H
 002810 E0                MOVX    A,@DPTR
-002811 6403              XRL     A,#03H
-002813 703C              JNZ     ?C0113?KB_PROCESS
-002815         ?C0118?KB_PROCESS:
-  543: 						{
-  544: 							g_variable.current_device_num = temp-(HID_KEY_7 - 1);
-002815 904CC3            MOV     DPTR,#g_variable+04H
-002818 EF                MOV     A,R7
-002819 F0                MOVX    @DPTR,A
-  545: 							g_variable.button_reconnect_flag = 1;		// long press = 3s enter discovery
-00281A 904CCC            MOV     DPTR,#g_variable+0DH
-00281D 7401              MOV     A,#01H
-00281F F0                MOVX    @DPTR,A
-  546: 							g_variable.powerOn_timer = 0;
-002820 E4                CLR     A
-002821 904CE5            MOV     DPTR,#g_variable+026H
-002824 F0                MOVX    @DPTR,A
-  547: 						}
-  548: 						break;
-002825 802A              SJMP    ?C0113?KB_PROCESS
-  549: 					case HID_KEY_0: 			//g24 switch
-002827         ?C0119?KB_PROCESS:
-  550: 						g_variable.delay_enter_lpm_timer = 10;
-002827 904CEA            MOV     DPTR,#g_variable+02BH
-00282A 740A              MOV     A,#0AH
-00282C F0                MOVX    @DPTR,A
-  551: 						g_variable.button_flag &= ~KEY_FLAG_FN_DEVICE_BUTTON;
-00282D 904CCE            MOV     DPTR,#g_variable+0FH
-002830 E0                MOVX    A,@DPTR
-002831 54F7              ANL     A,#0F7H
+002811 B50708            CJNE    A,AR7,?C0118?KB_PROCESS
+002814 904CC5            MOV     DPTR,#g_variable+06H
+002817 E0                MOVX    A,@DPTR
+002818 6403              XRL     A,#03H
+00281A 703C              JNZ     ?C0113?KB_PROCESS
+00281C         ?C0118?KB_PROCESS:
+  539: 						{
+  540: 							g_variable.current_device_num = temp-(HID_KEY_7 - 1);
+00281C 904CC3            MOV     DPTR,#g_variable+04H
+00281F EF                MOV     A,R7
+002820 F0                MOVX    @DPTR,A
+  541: 							g_variable.button_reconnect_flag = 1;		// long press = 3s enter discovery
+002821 904CCC            MOV     DPTR,#g_variable+0DH
+002824 7401              MOV     A,#01H
+002826 F0                MOVX    @DPTR,A
+  542: 							g_variable.powerOn_timer = 0;
+002827 E4                CLR     A
+002828 904CE5            MOV     DPTR,#g_variable+026H
+00282B F0                MOVX    @DPTR,A
+  543: 						}
+  544: 						break;
+00282C 802A              SJMP    ?C0113?KB_PROCESS
+  545: 					case HID_KEY_0: 			//g24 switch
+00282E         ?C0119?KB_PROCESS:
+  546: 						g_variable.delay_enter_lpm_timer = 10;
+00282E 904CEA            MOV     DPTR,#g_variable+02BH
+002831 740A              MOV     A,#0AH
 002833 F0                MOVX    @DPTR,A
-  552: 						g_variable.button_flag |= KEY_FLAG_FN_24G_DEVICE_BUTTON;
-002834 4410              ORL     A,#010H
-002836 F0                MOVX    @DPTR,A
-  553: 						if( (g_variable.current_device_num != 0) && (g_variable.current_device_num != 0xfe))
-002837 904CC3            MOV     DPTR,#g_variable+04H
-00283A E0                MOVX    A,@DPTR
-00283B FF                MOV     R7,A
-00283C 6013              JZ      ?C0113?KB_PROCESS
-00283E 64FE              XRL     A,#0FEH
-002840 600F              JZ      ?C0113?KB_PROCESS
-  554: 						{
-  555: 							g_variable.button_24G_rec_flag = 1;
-002842 904CCD            MOV     DPTR,#g_variable+0EH
-002845 7401              MOV     A,#01H
-002847 F0                MOVX    @DPTR,A
-  556: 							g_variable.current_device_num =0;
-002848 E4                CLR     A
-002849 904CC3            MOV     DPTR,#g_variable+04H
-00284C F0                MOVX    @DPTR,A
-  557: 							g_variable.powerOn_timer = 0;
-00284D 904CE5            MOV     DPTR,#g_variable+026H
-002850 F0                MOVX    @DPTR,A
-  558: 						}
-  559: 						break;
-  560: 				}
-002851         ?C0113?KB_PROCESS:
-  561: 				return 1;
-002851 7F01              MOV     R7,#01H
-002853 22                RET     
+  547: 						g_variable.button_flag &= ~KEY_FLAG_FN_DEVICE_BUTTON;
+002834 904CCE            MOV     DPTR,#g_variable+0FH
+002837 E0                MOVX    A,@DPTR
+002838 54F7              ANL     A,#0F7H
+00283A F0                MOVX    @DPTR,A
+  548: 						g_variable.button_flag |= KEY_FLAG_FN_24G_DEVICE_BUTTON;
+00283B 4410              ORL     A,#010H
+00283D F0                MOVX    @DPTR,A
+  549: 						if( (g_variable.current_device_num != 0) && (g_variable.current_device_num != 0xfe))
+00283E 904CC3            MOV     DPTR,#g_variable+04H
+002841 E0                MOVX    A,@DPTR
+002842 FF                MOV     R7,A
+002843 6013              JZ      ?C0113?KB_PROCESS
+002845 64FE              XRL     A,#0FEH
+002847 600F              JZ      ?C0113?KB_PROCESS
+  550: 						{
+  551: 							g_variable.button_24G_rec_flag = 1;
+002849 904CCD            MOV     DPTR,#g_variable+0EH
+00284C 7401              MOV     A,#01H
+00284E F0                MOVX    @DPTR,A
+  552: 							g_variable.current_device_num =0;
+00284F E4                CLR     A
+002850 904CC3            MOV     DPTR,#g_variable+04H
+002853 F0                MOVX    @DPTR,A
+  553: 							g_variable.powerOn_timer = 0;
+002854 904CE5            MOV     DPTR,#g_variable+026H
+002857 F0                MOVX    @DPTR,A
+  554: 						}
+  555: 						break;
+  556: 				}
+002858         ?C0113?KB_PROCESS:
+  557: 				return 1;
+002858 7F01              MOV     R7,#01H
+00285A 22                RET     
+  558: 			}
+00285B         ?C0112?KB_PROCESS:
+  559: 			else
+  560: 			{
+  561: 				g_variable.button_flag &= ~(KEY_FLAG_FN_DEVICE_BUTTON |KEY_FLAG_FN_24G_DEVICE_BUTTON);
+00285B 904CCE            MOV     DPTR,#g_variable+0FH
+00285E E0                MOVX    A,@DPTR
+00285F 54E7              ANL     A,#0E7H
+002861 F0                MOVX    @DPTR,A
   562: 			}
-002854         ?C0112?KB_PROCESS:
-  563: 			else
-  564: 			{
-  565: 				g_variable.button_flag &= ~(KEY_FLAG_FN_DEVICE_BUTTON |KEY_FLAG_FN_24G_DEVICE_BUTTON);
-002854 904CCE            MOV     DPTR,#g_variable+0FH
-002857 E0                MOVX    A,@DPTR
-002858 54E7              ANL     A,#0E7H
-00285A F0                MOVX    @DPTR,A
-  566: 			}
-00285B         ?C0122?KB_PROCESS:
-  567: 
-  568: 			
-  569: 			if((temp == HID_KEY_U) || (temp == HID_KEY_I) || (temp == HID_KEY_O))
-00285B ED                MOV     A,R5
-00285C 6418              XRL     A,#018H
-00285E 6009              JZ      ?C0124?KB_PROCESS
-002860 ED                MOV     A,R5
-002861 640C              XRL     A,#0CH
-002863 6004              JZ      ?C0124?KB_PROCESS
-002865 ED                MOV     A,R5
-002866 B41215            CJNE    A,#012H,?C0123?KB_PROCESS
-002869         ?C0124?KB_PROCESS:
-  570: 			{
-  571: 				g_variable.delay_enter_lpm_timer = 10;
-002869 904CEA            MOV     DPTR,#g_variable+02BH
-00286C 740A              MOV     A,#0AH
-00286E F0                MOVX    @DPTR,A
-  572: 				key_value_temp = temp;
-00286F 904DE8            MOV     DPTR,#key_value_temp
-002872 ED                MOV     A,R5
-002873 F0                MOVX    @DPTR,A
-  573: 				g_variable.button_flag |= KEY_FLAG_FN_SYSTEM_MODE_BUTTON;
-002874 904CCE            MOV     DPTR,#g_variable+0FH
-002877 E0                MOVX    A,@DPTR
-002878 4420              ORL     A,#020H
+002862         ?C0122?KB_PROCESS:
+  563: 
+  564: 			
+  565: 			if((temp == HID_KEY_U) || (temp == HID_KEY_I) || (temp == HID_KEY_O))
+002862 ED                MOV     A,R5
+002863 6418              XRL     A,#018H
+002865 6009              JZ      ?C0124?KB_PROCESS
+002867 ED                MOV     A,R5
+002868 640C              XRL     A,#0CH
+00286A 6004              JZ      ?C0124?KB_PROCESS
+00286C ED                MOV     A,R5
+00286D B41215            CJNE    A,#012H,?C0123?KB_PROCESS
+002870         ?C0124?KB_PROCESS:
+  566: 			{
+  567: 				g_variable.delay_enter_lpm_timer = 10;
+002870 904CEA            MOV     DPTR,#g_variable+02BH
+002873 740A              MOV     A,#0AH
+002875 F0                MOVX    @DPTR,A
+  568: 				key_value_temp = temp;
+002876 904DE8            MOV     DPTR,#key_value_temp
+002879 ED                MOV     A,R5
 00287A F0                MOVX    @DPTR,A
-  574: 				return 1;
-00287B 7F01              MOV     R7,#01H
-00287D 22                RET     
-  575: 			}
-00287E         ?C0123?KB_PROCESS:
-  576: 			else
-  577: 				g_variable.button_flag &= ~KEY_FLAG_FN_SYSTEM_MODE_BUTTON;
-00287E 904CCE            MOV     DPTR,#g_variable+0FH
-002881 E0                MOVX    A,@DPTR
-002882 54DF              ANL     A,#0DFH
-002884 F0                MOVX    @DPTR,A
-  578: 		}
-002885 0227B2            LJMP    ?C0110?KB_PROCESS
-  579: 	}
-002888         ?C0109?KB_PROCESS:
-  580: 	else
-  581: 	{
-  582: 		if (pEvt->ksPool[0] == HID_KEY_PB) 
-002888 904ED4            MOV     DPTR,#pEvt
-00288B E0                MOVX    A,@DPTR
-00288C FB                MOV     R3,A
-00288D A3                INC     DPTR
-00288E E0                MOVX    A,@DPTR
-00288F FA                MOV     R2,A
-002890 A3                INC     DPTR
-002891 E0                MOVX    A,@DPTR
-002892 F9                MOV     R1,A
-002893 900001            MOV     DPTR,#01H
-002896 1203CF            LCALL   ?C?CLDOPTR
-002899 64EF              XRL     A,#0EFH
-00289B 7029              JNZ     ?C0127?KB_PROCESS
-  583: 		{
-  584: 			g_variable.delay_enter_lpm_timer = 10;
-00289D 904CEA            MOV     DPTR,#g_variable+02BH
-0028A0 740A              MOV     A,#0AH
-0028A2 F0                MOVX    @DPTR,A
-  585: 			g_variable.button_flag &= ~KEY_FLAG_FN_DEVICE_BUTTON;
-0028A3 904CCE            MOV     DPTR,#g_variable+0FH
-0028A6 E0                MOVX    A,@DPTR
-0028A7 54F7              ANL     A,#0F7H
+  569: 				g_variable.button_flag |= KEY_FLAG_FN_SYSTEM_MODE_BUTTON;
+00287B 904CCE            MOV     DPTR,#g_variable+0FH
+00287E E0                MOVX    A,@DPTR
+00287F 4420              ORL     A,#020H
+002881 F0                MOVX    @DPTR,A
+  570: 				return 1;
+002882 7F01              MOV     R7,#01H
+002884 22                RET     
+  571: 			}
+002885         ?C0123?KB_PROCESS:
+  572: 			else
+  573: 				g_variable.button_flag &= ~KEY_FLAG_FN_SYSTEM_MODE_BUTTON;
+002885 904CCE            MOV     DPTR,#g_variable+0FH
+002888 E0                MOVX    A,@DPTR
+002889 54DF              ANL     A,#0DFH
+00288B F0                MOVX    @DPTR,A
+  574: 		}
+00288C 0227B9            LJMP    ?C0110?KB_PROCESS
+  575: 	}
+00288F         ?C0109?KB_PROCESS:
+  576: 	else
+  577: 	{
+  578: 		if (pEvt->ksPool[0] == HID_KEY_PB) 
+00288F 904ED4            MOV     DPTR,#pEvt
+002892 E0                MOVX    A,@DPTR
+002893 FB                MOV     R3,A
+002894 A3                INC     DPTR
+002895 E0                MOVX    A,@DPTR
+002896 FA                MOV     R2,A
+002897 A3                INC     DPTR
+002898 E0                MOVX    A,@DPTR
+002899 F9                MOV     R1,A
+00289A 900001            MOV     DPTR,#01H
+00289D 1203CF            LCALL   ?C?CLDOPTR
+0028A0 64EF              XRL     A,#0EFH
+0028A2 7029              JNZ     ?C0127?KB_PROCESS
+  579: 		{
+  580: 			g_variable.delay_enter_lpm_timer = 10;
+0028A4 904CEA            MOV     DPTR,#g_variable+02BH
+0028A7 740A              MOV     A,#0AH
 0028A9 F0                MOVX    @DPTR,A
-  586: 			g_variable.button_flag |= KEY_FLAG_FN_24G_DEVICE_BUTTON;
-0028AA 4410              ORL     A,#010H
-0028AC F0                MOVX    @DPTR,A
-  587: 			if( (g_variable.current_device_num != 0) && (g_variable.current_device_num != 0xfe))
-0028AD 904CC3            MOV     DPTR,#g_variable+04H
-0028B0 E0                MOVX    A,@DPTR
-0028B1 FF                MOV     R7,A
-0028B2 600F              JZ      ?C0128?KB_PROCESS
-0028B4 64FE              XRL     A,#0FEH
-0028B6 600B              JZ      ?C0128?KB_PROCESS
-  588: 			{
-  589: 				g_variable.button_24G_rec_flag = 1;
-0028B8 904CCD            MOV     DPTR,#g_variable+0EH
-0028BB 7401              MOV     A,#01H
-0028BD F0                MOVX    @DPTR,A
-  590: 				g_variable.current_device_num =0;
-0028BE E4                CLR     A
-0028BF 904CC3            MOV     DPTR,#g_variable+04H
-0028C2 F0                MOVX    @DPTR,A
-  591: 			}
-0028C3         ?C0128?KB_PROCESS:
-  592: 			return 1;
-0028C3 7F01              MOV     R7,#01H
-0028C5 22                RET     
-  593: 		}
-0028C6         ?C0127?KB_PROCESS:
-  594: 	
-  595: 		g_variable.button_flag &= ~(KEY_FLAG_FN_DEVICE_BUTTON |KEY_FLAG_FN_24G_DEVICE_BUTTON) ;
-0028C6 904CCE            MOV     DPTR,#g_variable+0FH
-0028C9 E0                MOVX    A,@DPTR
-0028CA 54E7              ANL     A,#0E7H
-0028CC F0                MOVX    @DPTR,A
-  596: 		g_variable.button_flag &= ~KEY_FLAG_FN_SYSTEM_MODE_BUTTON;
-0028CD 54DF              ANL     A,#0DFH
-0028CF F0                MOVX    @DPTR,A
-  597: 	}
-0028D0         ?C0126?KB_PROCESS:
-  598: 	return 0;
-0028D0 7F00              MOV     R7,#00H
-  599: }
-0028D2 22                RET     
+  581: 			g_variable.button_flag &= ~KEY_FLAG_FN_DEVICE_BUTTON;
+0028AA 904CCE            MOV     DPTR,#g_variable+0FH
+0028AD E0                MOVX    A,@DPTR
+0028AE 54F7              ANL     A,#0F7H
+0028B0 F0                MOVX    @DPTR,A
+  582: 			g_variable.button_flag |= KEY_FLAG_FN_24G_DEVICE_BUTTON;
+0028B1 4410              ORL     A,#010H
+0028B3 F0                MOVX    @DPTR,A
+  583: 			if( (g_variable.current_device_num != 0) && (g_variable.current_device_num != 0xfe))
+0028B4 904CC3            MOV     DPTR,#g_variable+04H
+0028B7 E0                MOVX    A,@DPTR
+0028B8 FF                MOV     R7,A
+0028B9 600F              JZ      ?C0128?KB_PROCESS
+0028BB 64FE              XRL     A,#0FEH
+0028BD 600B              JZ      ?C0128?KB_PROCESS
+  584: 			{
+  585: 				g_variable.button_24G_rec_flag = 1;
+0028BF 904CCD            MOV     DPTR,#g_variable+0EH
+0028C2 7401              MOV     A,#01H
+0028C4 F0                MOVX    @DPTR,A
+  586: 				g_variable.current_device_num =0;
+0028C5 E4                CLR     A
+0028C6 904CC3            MOV     DPTR,#g_variable+04H
+0028C9 F0                MOVX    @DPTR,A
+  587: 			}
+0028CA         ?C0128?KB_PROCESS:
+  588: 			return 1;
+0028CA 7F01              MOV     R7,#01H
+0028CC 22                RET     
+  589: 		}
+0028CD         ?C0127?KB_PROCESS:
+  590: 	
+  591: 		g_variable.button_flag &= ~(KEY_FLAG_FN_DEVICE_BUTTON |KEY_FLAG_FN_24G_DEVICE_BUTTON) ;
+0028CD 904CCE            MOV     DPTR,#g_variable+0FH
+0028D0 E0                MOVX    A,@DPTR
+0028D1 54E7              ANL     A,#0E7H
+0028D3 F0                MOVX    @DPTR,A
+  592: 		g_variable.button_flag &= ~KEY_FLAG_FN_SYSTEM_MODE_BUTTON;
+0028D4 54DF              ANL     A,#0DFH
+0028D6 F0                MOVX    @DPTR,A
+  593: 	}
+0028D7         ?C0126?KB_PROCESS:
+  594: 	return 0;
+0028D7 7F00              MOV     R7,#00H
+  595: }
+0028D9 22                RET     
 ----- FUNCTION _kb_device_select (END) -------
 
 
 ----- FUNCTION _kb_combination_key_press (BEGIN) -----
  FILE: 'kb_process.c'
-  604: void kb_combination_key_press(byte press_state,byte special_key,byte standrad_key)
-  605: {
+  600: void kb_combination_key_press(byte press_state,byte special_key,byte standrad_key)
+  601: {
 ;---- Variable 'press_state' assigned to Register 'R7' ----
 ;---- Variable 'standrad_key' assigned to Register 'R3' ----
 ;---- Variable 'special_key' assigned to Register 'R5' ----
-  606: 	g_variable.key_combination_ctrl = special_key;	
-  607: 	g_variable.key_combination_keyvalue = standrad_key;
-0028D3 904CF5            MOV     DPTR,#g_variable+036H
-0028D6 ED                MOV     A,R5
-0028D7 F0                MOVX    @DPTR,A
-  608: 
-0028D8 A3                INC     DPTR
-0028D9 EB                MOV     A,R3
-0028DA F0                MOVX    @DPTR,A
-  609: 	if(press_state & 1)
-0028DB EF                MOV     A,R7
-0028DC 30E012            JNB     ACC.0,?C0129?KB_PROCESS
-  610: 	{
-  611: 		if(g_variable.key_combination_step == CAMBINATION_KEY_COMPLETE) 
-0028DF 904CF4            MOV     DPTR,#g_variable+035H
-0028E2 E0                MOVX    A,@DPTR
-0028E3 B40304            CJNE    A,#03H,?C0130?KB_PROCESS
-  612: 			g_variable.key_combination_step = CAMBINATION_KEY_HOLD;
-0028E6 7402              MOV     A,#02H
-0028E8 F0                MOVX    @DPTR,A
-0028E9 22                RET     
-0028EA         ?C0130?KB_PROCESS:
-  613: 		else	
-  614: 			g_variable.key_combination_step = CAMBINATION_KEY_PRESS;
-0028EA 904CF4            MOV     DPTR,#g_variable+035H
-0028ED 7401              MOV     A,#01H
+  602: 	g_variable.key_combination_ctrl = special_key;	
+  603: 	g_variable.key_combination_keyvalue = standrad_key;
+0028DA 904CF5            MOV     DPTR,#g_variable+036H
+0028DD ED                MOV     A,R5
+0028DE F0                MOVX    @DPTR,A
+  604: 
+0028DF A3                INC     DPTR
+0028E0 EB                MOV     A,R3
+0028E1 F0                MOVX    @DPTR,A
+  605: 	if(press_state & 1)
+0028E2 EF                MOV     A,R7
+0028E3 30E012            JNB     ACC.0,?C0129?KB_PROCESS
+  606: 	{
+  607: 		if(g_variable.key_combination_step == CAMBINATION_KEY_COMPLETE) 
+0028E6 904CF4            MOV     DPTR,#g_variable+035H
+0028E9 E0                MOVX    A,@DPTR
+0028EA B40304            CJNE    A,#03H,?C0130?KB_PROCESS
+  608: 			g_variable.key_combination_step = CAMBINATION_KEY_HOLD;
+0028ED 7402              MOV     A,#02H
 0028EF F0                MOVX    @DPTR,A
-  615: 	}
 0028F0 22                RET     
-0028F1         ?C0129?KB_PROCESS:
-  616: 	else
-  617: 	{
-  618: 		g_variable.key_combination_step = CAMBINATION_KEY_WAIT_RELEASE;
+0028F1         ?C0130?KB_PROCESS:
+  609: 		else	
+  610: 			g_variable.key_combination_step = CAMBINATION_KEY_PRESS;
 0028F1 904CF4            MOV     DPTR,#g_variable+035H
-0028F4 7404              MOV     A,#04H
+0028F4 7401              MOV     A,#01H
 0028F6 F0                MOVX    @DPTR,A
-  619: 	}
-  620: 
-  621: }
+  611: 	}
 0028F7 22                RET     
+0028F8         ?C0129?KB_PROCESS:
+  612: 	else
+  613: 	{
+  614: 		g_variable.key_combination_step = CAMBINATION_KEY_WAIT_RELEASE;
+0028F8 904CF4            MOV     DPTR,#g_variable+035H
+0028FB 7404              MOV     A,#04H
+0028FD F0                MOVX    @DPTR,A
+  615: 	}
+  616: 
+  617: }
+0028FE 22                RET     
 ----- FUNCTION _kb_combination_key_press (END) -------
 
 
 ----- FUNCTION _key_fn_function (BEGIN) -----
  FILE: 'kb_process.c'
-  624: byte key_fn_function(byte state ,byte key_value)
-  625: {
+  620: byte key_fn_function(byte state ,byte key_value)
+  621: {
 ;---- Variable 'state' assigned to Register 'R6' ----
-0028F8 AE07              MOV     R6,AR7
+0028FF AE07              MOV     R6,AR7
 ;---- Variable 'key_value' assigned to Register 'R5' ----
-  626: 	byte temp = 0;
-  627: 
-0028FA E4                CLR     A
-0028FB 904F03            MOV     DPTR,#temp
-0028FE F0                MOVX    @DPTR,A
-  628: 	if(state & 1)
-0028FF EE                MOV     A,R6
-002900 30E005            JNB     ACC.0,?C0134?KB_PROCESS
-  629: 		g_variable.one_key_press_wait_release_timer = 0;
-002903 E4                CLR     A
-002904 904CF8            MOV     DPTR,#g_variable+039H
-002907 F0                MOVX    @DPTR,A
-002908         ?C0134?KB_PROCESS:
-  630: 
-  631: 	temp = key_value;
-002908 904F03            MOV     DPTR,#temp
-00290B ED                MOV     A,R5
-00290C F0                MOVX    @DPTR,A
-  632: 	if(g_variable.system_mode != OSMODE_WINDOWS)
-00290D 904CC1            MOV     DPTR,#g_variable+02H
-002910 E0                MOVX    A,@DPTR
-002911 602E              JZ      ?C0135?KB_PROCESS
-  633: 	{
-  634: 		if(key_value == HID_KEY_RIGHT_ALT)
-002913 ED                MOV     A,R5
-002914 B4E608            CJNE    A,#0E6H,?C0136?KB_PROCESS
-  635: 			temp = HID_KEY_RIGHT_GUI;
-002917 904F03            MOV     DPTR,#temp
-00291A 74E7              MOV     A,#0E7H
-00291C F0                MOVX    @DPTR,A
-00291D 8022              SJMP    ?C0135?KB_PROCESS
-00291F         ?C0136?KB_PROCESS:
-  636: 		else if(key_value == HID_KEY_RIGHT_CTL)
-00291F ED                MOV     A,R5
-002920 B4E408            CJNE    A,#0E4H,?C0138?KB_PROCESS
-  637: 			temp = HID_KEY_RIGHT_ALT;	
-002923 904F03            MOV     DPTR,#temp
-002926 74E6              MOV     A,#0E6H
-002928 F0                MOVX    @DPTR,A
-002929 8016              SJMP    ?C0135?KB_PROCESS
-00292B         ?C0138?KB_PROCESS:
-  638: 		else if(key_value == HID_KEY_LEFT_GUI)
-00292B ED                MOV     A,R5
-00292C B4E308            CJNE    A,#0E3H,?C0140?KB_PROCESS
-  639: 			temp = HID_KEY_LEFT_ALT;
-00292F 904F03            MOV     DPTR,#temp
-002932 74E2              MOV     A,#0E2H
-002934 F0                MOVX    @DPTR,A
-002935 800A              SJMP    ?C0135?KB_PROCESS
-002937         ?C0140?KB_PROCESS:
-  640: 		else if(key_value == HID_KEY_LEFT_ALT)
-002937 ED                MOV     A,R5
-002938 B4E206            CJNE    A,#0E2H,?C0135?KB_PROCESS
-  641: 			temp = HID_KEY_LEFT_GUI;	
-00293B 904F03            MOV     DPTR,#temp
-00293E 74E3              MOV     A,#0E3H
-002940 F0                MOVX    @DPTR,A
-  642: 	}
-002941         ?C0135?KB_PROCESS:
-  643: 
-  644: 	if(fn_flag == 1)			// Fn lock
-002941 904DE2            MOV     DPTR,#fn_flag
-002944 E0                MOVX    A,@DPTR
-002945 6401              XRL     A,#01H
-002947 6002              JZ      $ + 4H
-002949 21E1              AJMP    ?C0143?KB_PROCESS
-  645: 	{
-  646: 		if(key_value == HID_KEY_DELETE)
-00294B ED                MOV     A,R5
-00294C B44C08            CJNE    A,#04CH,?C0144?KB_PROCESS
+  622: 	byte temp = 0;
+  623: 
+002901 E4                CLR     A
+002902 904F03            MOV     DPTR,#temp
+002905 F0                MOVX    @DPTR,A
+  624: 	if(state & 1)
+002906 EE                MOV     A,R6
+002907 30E005            JNB     ACC.0,?C0134?KB_PROCESS
+  625: 		g_variable.one_key_press_wait_release_timer = 0;
+00290A E4                CLR     A
+00290B 904CF8            MOV     DPTR,#g_variable+039H
+00290E F0                MOVX    @DPTR,A
+00290F         ?C0134?KB_PROCESS:
+  626: 
+  627: 	temp = key_value;
+00290F 904F03            MOV     DPTR,#temp
+002912 ED                MOV     A,R5
+002913 F0                MOVX    @DPTR,A
+  628: 	if(g_variable.system_mode != OSMODE_WINDOWS)
+002914 904CC1            MOV     DPTR,#g_variable+02H
+002917 E0                MOVX    A,@DPTR
+002918 602E              JZ      ?C0135?KB_PROCESS
+  629: 	{
+  630: 		if(key_value == HID_KEY_RIGHT_ALT)
+00291A ED                MOV     A,R5
+00291B B4E608            CJNE    A,#0E6H,?C0136?KB_PROCESS
+  631: 			temp = HID_KEY_RIGHT_GUI;
+00291E 904F03            MOV     DPTR,#temp
+002921 74E7              MOV     A,#0E7H
+002923 F0                MOVX    @DPTR,A
+002924 8022              SJMP    ?C0135?KB_PROCESS
+002926         ?C0136?KB_PROCESS:
+  632: 		else if(key_value == HID_KEY_RIGHT_CTL)
+002926 ED                MOV     A,R5
+002927 B4E408            CJNE    A,#0E4H,?C0138?KB_PROCESS
+  633: 			temp = HID_KEY_RIGHT_ALT;	
+00292A 904F03            MOV     DPTR,#temp
+00292D 74E6              MOV     A,#0E6H
+00292F F0                MOVX    @DPTR,A
+002930 8016              SJMP    ?C0135?KB_PROCESS
+002932         ?C0138?KB_PROCESS:
+  634: 		else if(key_value == HID_KEY_LEFT_GUI)
+002932 ED                MOV     A,R5
+002933 B4E308            CJNE    A,#0E3H,?C0140?KB_PROCESS
+  635: 			temp = HID_KEY_LEFT_ALT;
+002936 904F03            MOV     DPTR,#temp
+002939 74E2              MOV     A,#0E2H
+00293B F0                MOVX    @DPTR,A
+00293C 800A              SJMP    ?C0135?KB_PROCESS
+00293E         ?C0140?KB_PROCESS:
+  636: 		else if(key_value == HID_KEY_LEFT_ALT)
+00293E ED                MOV     A,R5
+00293F B4E206            CJNE    A,#0E2H,?C0135?KB_PROCESS
+  637: 			temp = HID_KEY_LEFT_GUI;	
+002942 904F03            MOV     DPTR,#temp
+002945 74E3              MOV     A,#0E3H
+002947 F0                MOVX    @DPTR,A
+  638: 	}
+002948         ?C0135?KB_PROCESS:
+  639: 
+  640: 	if(fn_flag == 1)			// Fn lock
+002948 904DE2            MOV     DPTR,#fn_flag
+00294B E0                MOVX    A,@DPTR
+00294C 6401              XRL     A,#01H
+00294E 6002              JZ      $ + 4H
+002950 21E8              AJMP    ?C0143?KB_PROCESS
+  641: 	{
+  642: 		if(key_value == HID_KEY_DELETE)
+002952 ED                MOV     A,R5
+002953 B44C08            CJNE    A,#04CH,?C0144?KB_PROCESS
+  643: 		{
+  644: 			temp = HID_KEY_PAUSE;
+002956 904F03            MOV     DPTR,#temp
+002959 7448              MOV     A,#048H
+00295B F0                MOVX    @DPTR,A
+  645: 		}
+00295C 21E8              AJMP    ?C0143?KB_PROCESS
+00295E         ?C0144?KB_PROCESS:
+  646: 		else if(key_value == HID_KEY_UP_ARROW)
+00295E ED                MOV     A,R5
+00295F B45208            CJNE    A,#052H,?C0146?KB_PROCESS
   647: 		{
-  648: 			temp = HID_KEY_PAUSE;
-00294F 904F03            MOV     DPTR,#temp
-002952 7448              MOV     A,#048H
-002954 F0                MOVX    @DPTR,A
+  648: 			temp = HID_MULTIKEY_LIGHT_UP;
+002962 904F03            MOV     DPTR,#temp
+002965 74D8              MOV     A,#0D8H
+002967 F0                MOVX    @DPTR,A
   649: 		}
-002955 21E1              AJMP    ?C0143?KB_PROCESS
-002957         ?C0144?KB_PROCESS:
-  650: 		else if(key_value == HID_KEY_UP_ARROW)
-002957 ED                MOV     A,R5
-002958 B45208            CJNE    A,#052H,?C0146?KB_PROCESS
+002968 807E              SJMP    ?C0143?KB_PROCESS
+00296A         ?C0146?KB_PROCESS:
+  650: 		else if(key_value == HID_KEY_DOWN_ARROW)
+00296A ED                MOV     A,R5
+00296B B45108            CJNE    A,#051H,?C0148?KB_PROCESS
   651: 		{
-  652: 			temp = HID_MULTIKEY_LIGHT_UP;
-00295B 904F03            MOV     DPTR,#temp
-00295E 74D8              MOV     A,#0D8H
-002960 F0                MOVX    @DPTR,A
+  652: 			temp = HID_MULTIKEY_LIGHT_DOWN;
+00296E 904F03            MOV     DPTR,#temp
+002971 74D7              MOV     A,#0D7H
+002973 F0                MOVX    @DPTR,A
   653: 		}
-002961 807E              SJMP    ?C0143?KB_PROCESS
-002963         ?C0146?KB_PROCESS:
-  654: 		else if(key_value == HID_KEY_DOWN_ARROW)
-002963 ED                MOV     A,R5
-002964 B45108            CJNE    A,#051H,?C0148?KB_PROCESS
+002974 8072              SJMP    ?C0143?KB_PROCESS
+002976         ?C0148?KB_PROCESS:
+  654: 		else if(key_value == HID_KEY_ENTER)
+002976 ED                MOV     A,R5
+002977 B42808            CJNE    A,#028H,?C0150?KB_PROCESS
   655: 		{
-  656: 			temp = HID_MULTIKEY_LIGHT_DOWN;
-002967 904F03            MOV     DPTR,#temp
-00296A 74D7              MOV     A,#0D7H
-00296C F0                MOVX    @DPTR,A
+  656: 			temp = HID_KEY_SCROLL_LOCK;
+00297A 904F03            MOV     DPTR,#temp
+00297D 7447              MOV     A,#047H
+00297F F0                MOVX    @DPTR,A
   657: 		}
-00296D 8072              SJMP    ?C0143?KB_PROCESS
-00296F         ?C0148?KB_PROCESS:
-  658: 		else if(key_value == HID_KEY_ENTER)
-00296F ED                MOV     A,R5
-002970 B42808            CJNE    A,#028H,?C0150?KB_PROCESS
+002980 8066              SJMP    ?C0143?KB_PROCESS
+002982         ?C0150?KB_PROCESS:
+  658: 		else if(key_value == HID_KEY_BACKSPACE)
+002982 ED                MOV     A,R5
+002983 B42A08            CJNE    A,#02AH,?C0152?KB_PROCESS
   659: 		{
-  660: 			temp = HID_KEY_SCROLL_LOCK;
-002973 904F03            MOV     DPTR,#temp
-002976 7447              MOV     A,#047H
-002978 F0                MOVX    @DPTR,A
+  660: 			temp = HID_MULTIKEY_OS_LOCK;
+002986 904F03            MOV     DPTR,#temp
+002989 74DA              MOV     A,#0DAH
+00298B F0                MOVX    @DPTR,A
   661: 		}
-002979 8066              SJMP    ?C0143?KB_PROCESS
-00297B         ?C0150?KB_PROCESS:
-  662: 		else if(key_value == HID_KEY_BACKSPACE)
-00297B ED                MOV     A,R5
-00297C B42A08            CJNE    A,#02AH,?C0152?KB_PROCESS
+00298C 805A              SJMP    ?C0143?KB_PROCESS
+00298E         ?C0152?KB_PROCESS:
+  662: 		else if(key_value == HID_KEY_ESC)
+00298E ED                MOV     A,R5
+00298F 6429              XRL     A,#029H
+002991 7055              JNZ     ?C0143?KB_PROCESS
   663: 		{
-  664: 			temp = HID_MULTIKEY_OS_LOCK;
-00297F 904F03            MOV     DPTR,#temp
-002982 74DA              MOV     A,#0DAH
-002984 F0                MOVX    @DPTR,A
-  665: 		}
-002985 805A              SJMP    ?C0143?KB_PROCESS
-002987         ?C0152?KB_PROCESS:
-  666: 		else if(key_value == HID_KEY_ESC)
-002987 ED                MOV     A,R5
-002988 6429              XRL     A,#029H
-00298A 7055              JNZ     ?C0143?KB_PROCESS
-  667: 		{
-  668: 			if(state & 1)
-00298C EE                MOV     A,R6
-00298D 30E04C            JNB     ACC.0,?C0155?KB_PROCESS
-  669: 			{						
-  670: 				if(fn_lock_flag)
-002990 904DE7            MOV     DPTR,#fn_lock_flag
-002993 E0                MOVX    A,@DPTR
-002994 6004              JZ      ?C0156?KB_PROCESS
-  671: 				{
-  672: 					fn_lock_flag = 0;
-002996 E4                CLR     A
-002997 F0                MOVX    @DPTR,A
-  673: 				}
-002998 8006              SJMP    ?C0157?KB_PROCESS
-00299A         ?C0156?KB_PROCESS:
-  674: 				else
-  675: 					fn_lock_flag = 1;
-00299A 904DE7            MOV     DPTR,#fn_lock_flag
-00299D 7401              MOV     A,#01H
-00299F F0                MOVX    @DPTR,A
-0029A0         ?C0157?KB_PROCESS:
-  676: 					
-  677: 				if(g_variable.current_device_num == 0 || g_variable.current_device_num == 0xfe)
-0029A0 904CC3            MOV     DPTR,#g_variable+04H
-0029A3 E0                MOVX    A,@DPTR
-0029A4 FF                MOV     R7,A
-0029A5 6003              JZ      ?C0159?KB_PROCESS
-0029A7 B4FE08            CJNE    A,#0FEH,?C0158?KB_PROCESS
-0029AA         ?C0159?KB_PROCESS:
+  664: 			if(state & 1)
+002993 EE                MOV     A,R6
+002994 30E04C            JNB     ACC.0,?C0155?KB_PROCESS
+  665: 			{						
+  666: 				if(fn_lock_flag)
+002997 904DE7            MOV     DPTR,#fn_lock_flag
+00299A E0                MOVX    A,@DPTR
+00299B 6004              JZ      ?C0156?KB_PROCESS
+  667: 				{
+  668: 					fn_lock_flag = 0;
+00299D E4                CLR     A
+00299E F0                MOVX    @DPTR,A
+  669: 				}
+00299F 8006              SJMP    ?C0157?KB_PROCESS
+0029A1         ?C0156?KB_PROCESS:
+  670: 				else
+  671: 					fn_lock_flag = 1;
+0029A1 904DE7            MOV     DPTR,#fn_lock_flag
+0029A4 7401              MOV     A,#01H
+0029A6 F0                MOVX    @DPTR,A
+0029A7         ?C0157?KB_PROCESS:
+  672: 					
+  673: 				if(g_variable.current_device_num == 0 || g_variable.current_device_num == 0xfe)
+0029A7 904CC3            MOV     DPTR,#g_variable+04H
+0029AA E0                MOVX    A,@DPTR
+0029AB FF                MOV     R7,A
+0029AC 6003              JZ      ?C0159?KB_PROCESS
+0029AE B4FE08            CJNE    A,#0FEH,?C0158?KB_PROCESS
+0029B1         ?C0159?KB_PROCESS:
+  674: 				{
+  675: 					g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_G24;
+0029B1 904CBF            MOV     DPTR,#g_variable
+0029B4 7402              MOV     A,#02H
+0029B6 F0                MOVX    @DPTR,A
+  676: 				}
+0029B7 802A              SJMP    ?C0155?KB_PROCESS
+0029B9         ?C0158?KB_PROCESS:
+  677: 				else	if (g_variable.current_device_num <= 3 && g_variable.current_device_num >= 1)
+0029B9 EF                MOV     A,R7
+0029BA D3                SETB    C
+0029BB 9403              SUBB    A,#03H
+0029BD 5024              JNC     ?C0155?KB_PROCESS
+0029BF EF                MOV     A,R7
+0029C0 C3                CLR     C
+0029C1 9401              SUBB    A,#01H
+0029C3 401E              JC      ?C0155?KB_PROCESS
   678: 				{
-  679: 					g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_G24;
-0029AA 904CBF            MOV     DPTR,#g_variable
-0029AD 7402              MOV     A,#02H
-0029AF F0                MOVX    @DPTR,A
-  680: 				}
-0029B0 802A              SJMP    ?C0155?KB_PROCESS
-0029B2         ?C0158?KB_PROCESS:
-  681: 				else	if (g_variable.current_device_num <= 3 && g_variable.current_device_num >= 1)
-0029B2 EF                MOV     A,R7
-0029B3 D3                SETB    C
-0029B4 9403              SUBB    A,#03H
-0029B6 5024              JNC     ?C0155?KB_PROCESS
-0029B8 EF                MOV     A,R7
-0029B9 C3                CLR     C
-0029BA 9401              SUBB    A,#01H
-0029BC 401E              JC      ?C0155?KB_PROCESS
-  682: 				{
-  683: 					bd_key_record_list[g_variable.current_device_num - 1].fn_lock = fn_lock_flag;
-0029BE 904DE7            MOV     DPTR,#fn_lock_flag
-0029C1 E0                MOVX    A,@DPTR
-0029C2 FF                MOV     R7,A
-0029C3 904CC3            MOV     DPTR,#g_variable+04H
-0029C6 E0                MOVX    A,@DPTR
-0029C7 75F01F            MOV     B,#01FH
-0029CA A4                MUL     AB
-0029CB 24ED              ADD     A,#LOW bd_key_record_list-01H
-0029CD F582              MOV     DPL,A
-0029CF E4                CLR     A
-0029D0 344D              ADDC    A,#HIGH bd_key_record_list-01H
-0029D2 F583              MOV     DPH,A
-0029D4 EF                MOV     A,R7
-0029D5 F0                MOVX    @DPTR,A
-  684: 					g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_BT;
-0029D6 904CBF            MOV     DPTR,#g_variable
-0029D9 7403              MOV     A,#03H
-0029DB F0                MOVX    @DPTR,A
-  685: 				}
-  686: 			}
-0029DC         ?C0155?KB_PROCESS:
-  687: 			temp = HID_KEY_NULL;
-0029DC E4                CLR     A
-0029DD 904F03            MOV     DPTR,#temp
-0029E0 F0                MOVX    @DPTR,A
-  688: 		}		
-  689: 	}
-0029E1         ?C0143?KB_PROCESS:
-  690: 	
-  691: 	if((!fast_connect_flag)  && ((!fn_flag && !fn_lock_flag) || (fn_flag == 1 && fn_lock_flag == 1)))
-0029E1 904E55            MOV     DPTR,#fast_connect_flag
-0029E4 E0                MOVX    A,@DPTR
-0029E5 6002              JZ      $ + 4H
-0029E7 6154              AJMP    ?C0162?KB_PROCESS
-0029E9 904DE2            MOV     DPTR,#fn_flag
-0029EC E0                MOVX    A,@DPTR
-0029ED 7006              JNZ     ?C0164?KB_PROCESS
-0029EF 904DE7            MOV     DPTR,#fn_lock_flag
-0029F2 E0                MOVX    A,@DPTR
-0029F3 6014              JZ      ?C0163?KB_PROCESS
-0029F5         ?C0164?KB_PROCESS:
-0029F5 904DE2            MOV     DPTR,#fn_flag
-0029F8 E0                MOVX    A,@DPTR
-0029F9 6401              XRL     A,#01H
-0029FB 6002              JZ      $ + 4H
-0029FD 6154              AJMP    ?C0162?KB_PROCESS
-0029FF 904DE7            MOV     DPTR,#fn_lock_flag
-002A02 E0                MOVX    A,@DPTR
-002A03 6401              XRL     A,#01H
-002A05 6002              JZ      $ + 4H
-002A07 6154              AJMP    ?C0162?KB_PROCESS
-002A09         ?C0163?KB_PROCESS:
-  692: 	{
-  693: 		switch (key_value)
-002A09 ED                MOV     A,R5
-002A0A 24C6              ADD     A,#0C6H
-002A0C B40C00            CJNE    A,#0CH,?C0260?KB_PROCESS
-002A0F         ?C0260?KB_PROCESS:
-002A0F 4002              JC      $ + 4H
-002A11 6154              AJMP    ?C0162?KB_PROCESS
-002A13 902A21            MOV     DPTR,#02A21H
-002A16 75F003            MOV     B,#03H
-002A19 A4                MUL     AB
-002A1A C583              XCH     A,DPH
-002A1C 25F0              ADD     A,B
-002A1E C583              XCH     A,DPH
-002A20 73                JMP     @A+DPTR
-002A21         ?C0261?KB_PROCESS:
-002A21 022A45            LJMP    ?C0166?KB_PROCESS
-002A24 022A5C            LJMP    ?C0169?KB_PROCESS
-002A27 022AA5            LJMP    ?C0177?KB_PROCESS
-002A2A 022AC2            LJMP    ?C0180?KB_PROCESS
-002A2D 022AE0            LJMP    ?C0183?KB_PROCESS
-002A30 022B09            LJMP    ?C0187?KB_PROCESS
-002A33 022B26            LJMP    ?C0190?KB_PROCESS
-002A36 022B2E            LJMP    ?C0191?KB_PROCESS
-002A39 022B36            LJMP    ?C0192?KB_PROCESS
-002A3C 022B3E            LJMP    ?C0193?KB_PROCESS
-002A3F 022B46            LJMP    ?C0194?KB_PROCESS
-002A42 022B4E            LJMP    ?C0195?KB_PROCESS
-  694: 		{ 	
-  695: 			case HID_KEY_F1:
-002A45         ?C0166?KB_PROCESS:
-  696: 				if(g_variable.system_mode == OSMODE_MAC)
-002A45 904CC1            MOV     DPTR,#g_variable+02H
-002A48 E0                MOVX    A,@DPTR
-002A49 B40108            CJNE    A,#01H,?C0167?KB_PROCESS
+  679: 					bd_key_record_list[g_variable.current_device_num - 1].fn_lock = fn_lock_flag;
+0029C5 904DE7            MOV     DPTR,#fn_lock_flag
+0029C8 E0                MOVX    A,@DPTR
+0029C9 FF                MOV     R7,A
+0029CA 904CC3            MOV     DPTR,#g_variable+04H
+0029CD E0                MOVX    A,@DPTR
+0029CE 75F01F            MOV     B,#01FH
+0029D1 A4                MUL     AB
+0029D2 24ED              ADD     A,#LOW bd_key_record_list-01H
+0029D4 F582              MOV     DPL,A
+0029D6 E4                CLR     A
+0029D7 344D              ADDC    A,#HIGH bd_key_record_list-01H
+0029D9 F583              MOV     DPH,A
+0029DB EF                MOV     A,R7
+0029DC F0                MOVX    @DPTR,A
+  680: 					g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_BT;
+0029DD 904CBF            MOV     DPTR,#g_variable
+0029E0 7403              MOV     A,#03H
+0029E2 F0                MOVX    @DPTR,A
+  681: 				}
+  682: 			}
+0029E3         ?C0155?KB_PROCESS:
+  683: 			temp = HID_KEY_NULL;
+0029E3 E4                CLR     A
+0029E4 904F03            MOV     DPTR,#temp
+0029E7 F0                MOVX    @DPTR,A
+  684: 		}		
+  685: 	}
+0029E8         ?C0143?KB_PROCESS:
+  686: 	
+  687: 	if((!fast_connect_flag)  && ((!fn_flag && !fn_lock_flag) || (fn_flag == 1 && fn_lock_flag == 1)))
+0029E8 904E55            MOV     DPTR,#fast_connect_flag
+0029EB E0                MOVX    A,@DPTR
+0029EC 6002              JZ      $ + 4H
+0029EE 615B              AJMP    ?C0162?KB_PROCESS
+0029F0 904DE2            MOV     DPTR,#fn_flag
+0029F3 E0                MOVX    A,@DPTR
+0029F4 7006              JNZ     ?C0164?KB_PROCESS
+0029F6 904DE7            MOV     DPTR,#fn_lock_flag
+0029F9 E0                MOVX    A,@DPTR
+0029FA 6014              JZ      ?C0163?KB_PROCESS
+0029FC         ?C0164?KB_PROCESS:
+0029FC 904DE2            MOV     DPTR,#fn_flag
+0029FF E0                MOVX    A,@DPTR
+002A00 6401              XRL     A,#01H
+002A02 6002              JZ      $ + 4H
+002A04 615B              AJMP    ?C0162?KB_PROCESS
+002A06 904DE7            MOV     DPTR,#fn_lock_flag
+002A09 E0                MOVX    A,@DPTR
+002A0A 6401              XRL     A,#01H
+002A0C 6002              JZ      $ + 4H
+002A0E 615B              AJMP    ?C0162?KB_PROCESS
+002A10         ?C0163?KB_PROCESS:
+  688: 	{
+  689: 		switch (key_value)
+002A10 ED                MOV     A,R5
+002A11 24C6              ADD     A,#0C6H
+002A13 B40C00            CJNE    A,#0CH,?C0260?KB_PROCESS
+002A16         ?C0260?KB_PROCESS:
+002A16 4002              JC      $ + 4H
+002A18 615B              AJMP    ?C0162?KB_PROCESS
+002A1A 902A28            MOV     DPTR,#02A28H
+002A1D 75F003            MOV     B,#03H
+002A20 A4                MUL     AB
+002A21 C583              XCH     A,DPH
+002A23 25F0              ADD     A,B
+002A25 C583              XCH     A,DPH
+002A27 73                JMP     @A+DPTR
+002A28         ?C0261?KB_PROCESS:
+002A28 022A4C            LJMP    ?C0166?KB_PROCESS
+002A2B 022A63            LJMP    ?C0169?KB_PROCESS
+002A2E 022AAC            LJMP    ?C0177?KB_PROCESS
+002A31 022AC9            LJMP    ?C0180?KB_PROCESS
+002A34 022AE7            LJMP    ?C0183?KB_PROCESS
+002A37 022B10            LJMP    ?C0187?KB_PROCESS
+002A3A 022B2D            LJMP    ?C0190?KB_PROCESS
+002A3D 022B35            LJMP    ?C0191?KB_PROCESS
+002A40 022B3D            LJMP    ?C0192?KB_PROCESS
+002A43 022B45            LJMP    ?C0193?KB_PROCESS
+002A46 022B4D            LJMP    ?C0194?KB_PROCESS
+002A49 022B55            LJMP    ?C0195?KB_PROCESS
+  690: 		{ 	
+  691: 			case HID_KEY_F1:
+002A4C         ?C0166?KB_PROCESS:
+  692: 				if(g_variable.system_mode == OSMODE_MAC)
+002A4C 904CC1            MOV     DPTR,#g_variable+02H
+002A4F E0                MOVX    A,@DPTR
+002A50 B40108            CJNE    A,#01H,?C0167?KB_PROCESS
+  693: 				{
+  694: 					temp = HID_KEY_F11;	
+002A53 904F03            MOV     DPTR,#temp
+002A56 7444              MOV     A,#044H
+002A58 F0                MOVX    @DPTR,A
+  695: 				}
+002A59 615B              AJMP    ?C0162?KB_PROCESS
+002A5B         ?C0167?KB_PROCESS:
+  696: 				else
   697: 				{
-  698: 					temp = HID_KEY_F11;	
-002A4C 904F03            MOV     DPTR,#temp
-002A4F 7444              MOV     A,#044H
-002A51 F0                MOVX    @DPTR,A
+  698: 					temp = HID_MULTIKEY_AC_HOME;
+002A5B 904F03            MOV     DPTR,#temp
+002A5E 74D6              MOV     A,#0D6H
+002A60 F0                MOVX    @DPTR,A
   699: 				}
-002A52 6154              AJMP    ?C0162?KB_PROCESS
-002A54         ?C0167?KB_PROCESS:
-  700: 				else
-  701: 				{
-  702: 					temp = HID_MULTIKEY_AC_HOME;
-002A54 904F03            MOV     DPTR,#temp
-002A57 74D6              MOV     A,#0D6H
-002A59 F0                MOVX    @DPTR,A
-  703: 				}
-  704: 				break;
-002A5A 6154              AJMP    ?C0162?KB_PROCESS
-  705: 			case HID_KEY_F2:
-002A5C         ?C0169?KB_PROCESS:
-  706: 				if(g_variable.system_mode == OSMODE_WINDOWS)
-002A5C 904CC1            MOV     DPTR,#g_variable+02H
-002A5F E0                MOVX    A,@DPTR
-002A60 FC                MOV     R4,A
-002A61 7014              JNZ     ?C0170?KB_PROCESS
-  707: 				{
-  708: 					kb_combination_key_press(state,KS_SEL_LALT,HID_KEY_TAB);
-002A63 AF06              MOV     R7,AR6
-002A65 7B2B              MOV     R3,#02BH
-002A67 7D04              MOV     R5,#04H
-002A69 11D3              ACALL   _kb_combination_key_press
-  709: 					if(state & 1)
-002A6B EE                MOV     A,R6
-002A6C 30E02F            JNB     ACC.0,?C0172?KB_PROCESS
-  710: 					{						
-  711: 						g_variable.one_key_press_wait_release_timer = 10;
-002A6F 904CF8            MOV     DPTR,#g_variable+039H
-002A72 740A              MOV     A,#0AH
-002A74 F0                MOVX    @DPTR,A
-  712: 					}
+  700: 				break;
+002A61 615B              AJMP    ?C0162?KB_PROCESS
+  701: 			case HID_KEY_F2:
+002A63         ?C0169?KB_PROCESS:
+  702: 				if(g_variable.system_mode == OSMODE_WINDOWS)
+002A63 904CC1            MOV     DPTR,#g_variable+02H
+002A66 E0                MOVX    A,@DPTR
+002A67 FC                MOV     R4,A
+002A68 7014              JNZ     ?C0170?KB_PROCESS
+  703: 				{
+  704: 					kb_combination_key_press(state,KS_SEL_LALT,HID_KEY_TAB);
+002A6A AF06              MOV     R7,AR6
+002A6C 7B2B              MOV     R3,#02BH
+002A6E 7D04              MOV     R5,#04H
+002A70 11DA              ACALL   _kb_combination_key_press
+  705: 					if(state & 1)
+002A72 EE                MOV     A,R6
+002A73 30E02F            JNB     ACC.0,?C0172?KB_PROCESS
+  706: 					{						
+  707: 						g_variable.one_key_press_wait_release_timer = 10;
+002A76 904CF8            MOV     DPTR,#g_variable+039H
+002A79 740A              MOV     A,#0AH
+002A7B F0                MOVX    @DPTR,A
+  708: 					}
+  709: 				}
+002A7C 8027              SJMP    ?C0172?KB_PROCESS
+002A7E         ?C0170?KB_PROCESS:
+  710: 				else if(g_variable.system_mode == OSMODE_MAC)
+002A7E EC                MOV     A,R4
+002A7F B4010A            CJNE    A,#01H,?C0173?KB_PROCESS
+  711: 				{
+  712: 					kb_combination_key_press(state,KS_SEL_LCTRL,HID_KEY_UP_ARROW);
+002A82 AF06              MOV     R7,AR6
+002A84 7B52              MOV     R3,#052H
+002A86 7D01              MOV     R5,#01H
+002A88 11DA              ACALL   _kb_combination_key_press
   713: 				}
-002A75 8027              SJMP    ?C0172?KB_PROCESS
-002A77         ?C0170?KB_PROCESS:
-  714: 				else if(g_variable.system_mode == OSMODE_MAC)
-002A77 EC                MOV     A,R4
-002A78 B4010A            CJNE    A,#01H,?C0173?KB_PROCESS
+002A8A 8019              SJMP    ?C0172?KB_PROCESS
+002A8C         ?C0173?KB_PROCESS:
+  714: 				else if(g_variable.system_mode == OSMODE_IOS)
+002A8C 904CC1            MOV     DPTR,#g_variable+02H
+002A8F E0                MOVX    A,@DPTR
+002A90 B40212            CJNE    A,#02H,?C0172?KB_PROCESS
   715: 				{
-  716: 					kb_combination_key_press(state,KS_SEL_LCTRL,HID_KEY_UP_ARROW);
-002A7B AF06              MOV     R7,AR6
-002A7D 7B52              MOV     R3,#052H
-002A7F 7D01              MOV     R5,#01H
-002A81 11D3              ACALL   _kb_combination_key_press
-  717: 				}
-002A83 8019              SJMP    ?C0172?KB_PROCESS
-002A85         ?C0173?KB_PROCESS:
-  718: 				else if(g_variable.system_mode == OSMODE_IOS)
-002A85 904CC1            MOV     DPTR,#g_variable+02H
-002A88 E0                MOVX    A,@DPTR
-002A89 B40212            CJNE    A,#02H,?C0172?KB_PROCESS
-  719: 				{
-  720: 					kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_TAB);
-002A8C AF06              MOV     R7,AR6
-002A8E 7B2B              MOV     R3,#02BH
-002A90 7D08              MOV     R5,#08H
-002A92 11D3              ACALL   _kb_combination_key_press
-  721: 					if(state & 1)
-002A94 EE                MOV     A,R6
-002A95 30E006            JNB     ACC.0,?C0172?KB_PROCESS
-  722: 					{						
-  723: 						g_variable.one_key_press_wait_release_timer = 10;
-002A98 904CF8            MOV     DPTR,#g_variable+039H
-002A9B 740A              MOV     A,#0AH
-002A9D F0                MOVX    @DPTR,A
-  724: 					}
-  725: 				}
-002A9E         ?C0172?KB_PROCESS:
-  726: 				temp = HID_KEY_NULL;
-002A9E E4                CLR     A
-002A9F 904F03            MOV     DPTR,#temp
-002AA2 F0                MOVX    @DPTR,A
-  727: 				break;
-002AA3 6154              AJMP    ?C0162?KB_PROCESS
-  728: 			case HID_KEY_F3:
-002AA5         ?C0177?KB_PROCESS:
-  729: 				if(g_variable.system_mode == OSMODE_WINDOWS)
-002AA5 904CC1            MOV     DPTR,#g_variable+02H
-002AA8 E0                MOVX    A,@DPTR
-002AA9 7008              JNZ     ?C0178?KB_PROCESS
+  716: 					kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_TAB);
+002A93 AF06              MOV     R7,AR6
+002A95 7B2B              MOV     R3,#02BH
+002A97 7D08              MOV     R5,#08H
+002A99 11DA              ACALL   _kb_combination_key_press
+  717: 					if(state & 1)
+002A9B EE                MOV     A,R6
+002A9C 30E006            JNB     ACC.0,?C0172?KB_PROCESS
+  718: 					{						
+  719: 						g_variable.one_key_press_wait_release_timer = 10;
+002A9F 904CF8            MOV     DPTR,#g_variable+039H
+002AA2 740A              MOV     A,#0AH
+002AA4 F0                MOVX    @DPTR,A
+  720: 					}
+  721: 				}
+002AA5         ?C0172?KB_PROCESS:
+  722: 				temp = HID_KEY_NULL;
+002AA5 E4                CLR     A
+002AA6 904F03            MOV     DPTR,#temp
+002AA9 F0                MOVX    @DPTR,A
+  723: 				break;
+002AAA 615B              AJMP    ?C0162?KB_PROCESS
+  724: 			case HID_KEY_F3:
+002AAC         ?C0177?KB_PROCESS:
+  725: 				if(g_variable.system_mode == OSMODE_WINDOWS)
+002AAC 904CC1            MOV     DPTR,#g_variable+02H
+002AAF E0                MOVX    A,@DPTR
+002AB0 7008              JNZ     ?C0178?KB_PROCESS
+  726: 				{
+  727: 					temp = HID_MULTIKEY_AC_BACK;
+002AB2 904F03            MOV     DPTR,#temp
+002AB5 74D2              MOV     A,#0D2H
+002AB7 F0                MOVX    @DPTR,A
+  728: 				}
+002AB8 615B              AJMP    ?C0162?KB_PROCESS
+002ABA         ?C0178?KB_PROCESS:
+  729: 				else
   730: 				{
-  731: 					temp = HID_MULTIKEY_AC_BACK;
-002AAB 904F03            MOV     DPTR,#temp
-002AAE 74D2              MOV     A,#0D2H
-002AB0 F0                MOVX    @DPTR,A
-  732: 				}
-002AB1 6154              AJMP    ?C0162?KB_PROCESS
-002AB3         ?C0178?KB_PROCESS:
-  733: 				else
-  734: 				{
-  735: 					kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_LEFT_ARROW);
-002AB3 AF06              MOV     R7,AR6
-002AB5 7B50              MOV     R3,#050H
-002AB7 7D08              MOV     R5,#08H
-002AB9 11D3              ACALL   _kb_combination_key_press
-  736: 					temp = HID_KEY_NULL;
-002ABB E4                CLR     A
-002ABC 904F03            MOV     DPTR,#temp
-002ABF F0                MOVX    @DPTR,A
-  737: 				}
-  738: 				break;
-002AC0 6154              AJMP    ?C0162?KB_PROCESS
-  739: 			case HID_KEY_F4:
-002AC2         ?C0180?KB_PROCESS:
-  740: 				if(g_variable.system_mode == OSMODE_MAC)
-002AC2 904CC1            MOV     DPTR,#g_variable+02H
-002AC5 E0                MOVX    A,@DPTR
-002AC6 B4010F            CJNE    A,#01H,?C0181?KB_PROCESS
-  741: 				{
-  742: 					kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_SPACE);
-002AC9 AF06              MOV     R7,AR6
-002ACB 7B2C              MOV     R3,#02CH
-002ACD 7D08              MOV     R5,#08H
-002ACF 11D3              ACALL   _kb_combination_key_press
-  743: 					temp = HID_KEY_NULL;
-002AD1 E4                CLR     A
-002AD2 904F03            MOV     DPTR,#temp
-002AD5 F0                MOVX    @DPTR,A
+  731: 					kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_LEFT_ARROW);
+002ABA AF06              MOV     R7,AR6
+002ABC 7B50              MOV     R3,#050H
+002ABE 7D08              MOV     R5,#08H
+002AC0 11DA              ACALL   _kb_combination_key_press
+  732: 					temp = HID_KEY_NULL;
+002AC2 E4                CLR     A
+002AC3 904F03            MOV     DPTR,#temp
+002AC6 F0                MOVX    @DPTR,A
+  733: 				}
+  734: 				break;
+002AC7 615B              AJMP    ?C0162?KB_PROCESS
+  735: 			case HID_KEY_F4:
+002AC9         ?C0180?KB_PROCESS:
+  736: 				if(g_variable.system_mode == OSMODE_MAC)
+002AC9 904CC1            MOV     DPTR,#g_variable+02H
+002ACC E0                MOVX    A,@DPTR
+002ACD B4010F            CJNE    A,#01H,?C0181?KB_PROCESS
+  737: 				{
+  738: 					kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_SPACE);
+002AD0 AF06              MOV     R7,AR6
+002AD2 7B2C              MOV     R3,#02CH
+002AD4 7D08              MOV     R5,#08H
+002AD6 11DA              ACALL   _kb_combination_key_press
+  739: 					temp = HID_KEY_NULL;
+002AD8 E4                CLR     A
+002AD9 904F03            MOV     DPTR,#temp
+002ADC F0                MOVX    @DPTR,A
+  740: 				}
+002ADD 807C              SJMP    ?C0162?KB_PROCESS
+002ADF         ?C0181?KB_PROCESS:
+  741: 				else
+  742: 				{
+  743: 					temp = HID_MULTIKEY_AC_SEARCH;
+002ADF 904F03            MOV     DPTR,#temp
+002AE2 74D5              MOV     A,#0D5H
+002AE4 F0                MOVX    @DPTR,A
   744: 				}
-002AD6 807C              SJMP    ?C0162?KB_PROCESS
-002AD8         ?C0181?KB_PROCESS:
-  745: 				else
-  746: 				{
-  747: 					temp = HID_MULTIKEY_AC_SEARCH;
-002AD8 904F03            MOV     DPTR,#temp
-002ADB 74D5              MOV     A,#0D5H
-002ADD F0                MOVX    @DPTR,A
-  748: 				}
-  749: 				break;
-002ADE 8074              SJMP    ?C0162?KB_PROCESS
-  750: 			case HID_KEY_F5:
-002AE0         ?C0183?KB_PROCESS:
-  751: 				if(g_variable.system_mode == OSMODE_WINDOWS)		// language switch
-002AE0 904CC1            MOV     DPTR,#g_variable+02H
-002AE3 E0                MOVX    A,@DPTR
-002AE4 700A              JNZ     ?C0184?KB_PROCESS
+  745: 				break;
+002AE5 8074              SJMP    ?C0162?KB_PROCESS
+  746: 			case HID_KEY_F5:
+002AE7         ?C0183?KB_PROCESS:
+  747: 				if(g_variable.system_mode == OSMODE_WINDOWS)		// language switch
+002AE7 904CC1            MOV     DPTR,#g_variable+02H
+002AEA E0                MOVX    A,@DPTR
+002AEB 700A              JNZ     ?C0184?KB_PROCESS
+  748: 				{
+  749: 					kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_SPACE);	
+002AED AF06              MOV     R7,AR6
+002AEF 7B2C              MOV     R3,#02CH
+002AF1 7D08              MOV     R5,#08H
+002AF3 11DA              ACALL   _kb_combination_key_press
+  750: 				}
+002AF5 8008              SJMP    ?C0185?KB_PROCESS
+002AF7         ?C0184?KB_PROCESS:
+  751: 				else
   752: 				{
-  753: 					kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_SPACE);	
-002AE6 AF06              MOV     R7,AR6
-002AE8 7B2C              MOV     R3,#02CH
-002AEA 7D08              MOV     R5,#08H
-002AEC 11D3              ACALL   _kb_combination_key_press
+  753: 					kb_combination_key_press(state,KS_SEL_LCTRL,HID_KEY_SPACE);	
+002AF7 AF06              MOV     R7,AR6
+002AF9 7B2C              MOV     R3,#02CH
+002AFB 7D01              MOV     R5,#01H
+002AFD 11DA              ACALL   _kb_combination_key_press
   754: 				}
-002AEE 8008              SJMP    ?C0185?KB_PROCESS
-002AF0         ?C0184?KB_PROCESS:
-  755: 				else
-  756: 				{
-  757: 					kb_combination_key_press(state,KS_SEL_LCTRL,HID_KEY_SPACE);	
-002AF0 AF06              MOV     R7,AR6
-002AF2 7B2C              MOV     R3,#02CH
-002AF4 7D01              MOV     R5,#01H
-002AF6 11D3              ACALL   _kb_combination_key_press
+002AFF         ?C0185?KB_PROCESS:
+  755: 				if(state & 1)
+002AFF EE                MOV     A,R6
+002B00 30E006            JNB     ACC.0,?C0186?KB_PROCESS
+  756: 				{						
+  757: 					g_variable.one_key_press_wait_release_timer = 10;
+002B03 904CF8            MOV     DPTR,#g_variable+039H
+002B06 740A              MOV     A,#0AH
+002B08 F0                MOVX    @DPTR,A
   758: 				}
-002AF8         ?C0185?KB_PROCESS:
-  759: 				if(state & 1)
-002AF8 EE                MOV     A,R6
-002AF9 30E006            JNB     ACC.0,?C0186?KB_PROCESS
-  760: 				{						
-  761: 					g_variable.one_key_press_wait_release_timer = 10;
-002AFC 904CF8            MOV     DPTR,#g_variable+039H
-002AFF 740A              MOV     A,#0AH
-002B01 F0                MOVX    @DPTR,A
-  762: 				}
-002B02         ?C0186?KB_PROCESS:
-  763: 				temp = HID_KEY_NULL;
-002B02 E4                CLR     A
-002B03 904F03            MOV     DPTR,#temp
-002B06 F0                MOVX    @DPTR,A
-  764: 				break;
-002B07 804B              SJMP    ?C0162?KB_PROCESS
-  765: 			case HID_KEY_F6:
-002B09         ?C0187?KB_PROCESS:
-  766: 				if(g_variable.system_mode == OSMODE_WINDOWS)
-002B09 904CC1            MOV     DPTR,#g_variable+02H
-002B0C E0                MOVX    A,@DPTR
-002B0D 7008              JNZ     ?C0188?KB_PROCESS
+002B09         ?C0186?KB_PROCESS:
+  759: 				temp = HID_KEY_NULL;
+002B09 E4                CLR     A
+002B0A 904F03            MOV     DPTR,#temp
+002B0D F0                MOVX    @DPTR,A
+  760: 				break;
+002B0E 804B              SJMP    ?C0162?KB_PROCESS
+  761: 			case HID_KEY_F6:
+002B10         ?C0187?KB_PROCESS:
+  762: 				if(g_variable.system_mode == OSMODE_WINDOWS)
+002B10 904CC1            MOV     DPTR,#g_variable+02H
+002B13 E0                MOVX    A,@DPTR
+002B14 7008              JNZ     ?C0188?KB_PROCESS
+  763: 				{
+  764: 					temp = HID_KEY_PRINT_SCREEN;
+002B16 904F03            MOV     DPTR,#temp
+002B19 7446              MOV     A,#046H
+002B1B F0                MOVX    @DPTR,A
+  765: 				}
+002B1C 803D              SJMP    ?C0162?KB_PROCESS
+002B1E         ?C0188?KB_PROCESS:
+  766: 				else
   767: 				{
-  768: 					temp = HID_KEY_PRINT_SCREEN;
-002B0F 904F03            MOV     DPTR,#temp
-002B12 7446              MOV     A,#046H
-002B14 F0                MOVX    @DPTR,A
-  769: 				}
-002B15 803D              SJMP    ?C0162?KB_PROCESS
-002B17         ?C0188?KB_PROCESS:
-  770: 				else
-  771: 				{
-  772: 					kb_combination_key_press(state,KS_SEL_LGUI | KS_SEL_LSHIFT,HID_KEY_3);	// ios prt
-002B17 AF06              MOV     R7,AR6
-002B19 7B20              MOV     R3,#020H
-002B1B 7D0A              MOV     R5,#0AH
-002B1D 11D3              ACALL   _kb_combination_key_press
-  773: 					temp = HID_KEY_NULL;
-002B1F E4                CLR     A
-002B20 904F03            MOV     DPTR,#temp
-002B23 F0                MOVX    @DPTR,A
-  774: 				}	
-  775: 				break;
-002B24 802E              SJMP    ?C0162?KB_PROCESS
-  776: 			case HID_KEY_F7:
-002B26         ?C0190?KB_PROCESS:
-  777: 				temp = HID_MULTIKEY_PRE_TRACK;
-002B26 904F03            MOV     DPTR,#temp
-002B29 74F4              MOV     A,#0F4H
-002B2B F0                MOVX    @DPTR,A
-  778: 				break;	
-002B2C 8026              SJMP    ?C0162?KB_PROCESS
-  779: 			case HID_KEY_F8:
-002B2E         ?C0191?KB_PROCESS:
-  780: 				temp = HID_MULTIKEY_PALY;
-002B2E 904F03            MOV     DPTR,#temp
-002B31 74F2              MOV     A,#0F2H
-002B33 F0                MOVX    @DPTR,A
-  781: 				break;
-002B34 801E              SJMP    ?C0162?KB_PROCESS
-  782: 			case HID_KEY_F9:
-002B36         ?C0192?KB_PROCESS:
-  783: 				temp = HID_MULTIKEY_NEXT_TRACK;
-002B36 904F03            MOV     DPTR,#temp
-002B39 74F5              MOV     A,#0F5H
-002B3B F0                MOVX    @DPTR,A
-  784: 				break;
-002B3C 8016              SJMP    ?C0162?KB_PROCESS
-  785: 			case HID_KEY_F10:
-002B3E         ?C0193?KB_PROCESS:
-  786: 				temp = HID_MULTIKEY_MUTE;
-002B3E 904F03            MOV     DPTR,#temp
-002B41 74F8              MOV     A,#0F8H
-002B43 F0                MOVX    @DPTR,A
-  787: 				break;
-002B44 800E              SJMP    ?C0162?KB_PROCESS
-  788: 			case HID_KEY_F11:
-002B46         ?C0194?KB_PROCESS:
-  789: 				temp = HID_MULTIKEY_VOL_DOWN;
-002B46 904F03            MOV     DPTR,#temp
-002B49 74F6              MOV     A,#0F6H
-002B4B F0                MOVX    @DPTR,A
-  790: 				break;
-002B4C 8006              SJMP    ?C0162?KB_PROCESS
-  791: 			case HID_KEY_F12:
-002B4E         ?C0195?KB_PROCESS:
-  792: 				temp = HID_MULTIKEY_VOL_UP;
-002B4E 904F03            MOV     DPTR,#temp
-002B51 74F7              MOV     A,#0F7H
-002B53 F0                MOVX    @DPTR,A
-  793: 				break;
-  794: 			default :
-  795: 				break;
-  796: 		}
-  797: 	}
-002B54         ?C0162?KB_PROCESS:
-  798: 
-  799: 	return temp;
-002B54 904F03            MOV     DPTR,#temp
-002B57 E0                MOVX    A,@DPTR
-002B58 FF                MOV     R7,A
-  800: }
-002B59 22                RET     
+  768: 					kb_combination_key_press(state,KS_SEL_LGUI | KS_SEL_LSHIFT,HID_KEY_3);	// ios prt
+002B1E AF06              MOV     R7,AR6
+002B20 7B20              MOV     R3,#020H
+002B22 7D0A              MOV     R5,#0AH
+002B24 11DA              ACALL   _kb_combination_key_press
+  769: 					temp = HID_KEY_NULL;
+002B26 E4                CLR     A
+002B27 904F03            MOV     DPTR,#temp
+002B2A F0                MOVX    @DPTR,A
+  770: 				}	
+  771: 				break;
+002B2B 802E              SJMP    ?C0162?KB_PROCESS
+  772: 			case HID_KEY_F7:
+002B2D         ?C0190?KB_PROCESS:
+  773: 				temp = HID_MULTIKEY_PRE_TRACK;
+002B2D 904F03            MOV     DPTR,#temp
+002B30 74F4              MOV     A,#0F4H
+002B32 F0                MOVX    @DPTR,A
+  774: 				break;	
+002B33 8026              SJMP    ?C0162?KB_PROCESS
+  775: 			case HID_KEY_F8:
+002B35         ?C0191?KB_PROCESS:
+  776: 				temp = HID_MULTIKEY_PALY;
+002B35 904F03            MOV     DPTR,#temp
+002B38 74F2              MOV     A,#0F2H
+002B3A F0                MOVX    @DPTR,A
+  777: 				break;
+002B3B 801E              SJMP    ?C0162?KB_PROCESS
+  778: 			case HID_KEY_F9:
+002B3D         ?C0192?KB_PROCESS:
+  779: 				temp = HID_MULTIKEY_NEXT_TRACK;
+002B3D 904F03            MOV     DPTR,#temp
+002B40 74F5              MOV     A,#0F5H
+002B42 F0                MOVX    @DPTR,A
+  780: 				break;
+002B43 8016              SJMP    ?C0162?KB_PROCESS
+  781: 			case HID_KEY_F10:
+002B45         ?C0193?KB_PROCESS:
+  782: 				temp = HID_MULTIKEY_MUTE;
+002B45 904F03            MOV     DPTR,#temp
+002B48 74F8              MOV     A,#0F8H
+002B4A F0                MOVX    @DPTR,A
+  783: 				break;
+002B4B 800E              SJMP    ?C0162?KB_PROCESS
+  784: 			case HID_KEY_F11:
+002B4D         ?C0194?KB_PROCESS:
+  785: 				temp = HID_MULTIKEY_VOL_DOWN;
+002B4D 904F03            MOV     DPTR,#temp
+002B50 74F6              MOV     A,#0F6H
+002B52 F0                MOVX    @DPTR,A
+  786: 				break;
+002B53 8006              SJMP    ?C0162?KB_PROCESS
+  787: 			case HID_KEY_F12:
+002B55         ?C0195?KB_PROCESS:
+  788: 				temp = HID_MULTIKEY_VOL_UP;
+002B55 904F03            MOV     DPTR,#temp
+002B58 74F7              MOV     A,#0F7H
+002B5A F0                MOVX    @DPTR,A
+  789: 				break;
+  790: 			default :
+  791: 				break;
+  792: 		}
+  793: 	}
+002B5B         ?C0162?KB_PROCESS:
+  794: 
+  795: 	return temp;
+002B5B 904F03            MOV     DPTR,#temp
+002B5E E0                MOVX    A,@DPTR
+002B5F FF                MOV     R7,A
+  796: }
+002B60 22                RET     
 ----- FUNCTION _key_fn_function (END) -------
 
 
 ----- FUNCTION KS_Unistall (BEGIN) -----
  FILE: 'keyscan.c'
-  215: void KS_Unistall()
-  216: {
-  217: 	byte i = 0;
-  218: 	byte temp = 0;
+  214: void KS_Unistall()
+  215: {
+  216: 	byte i = 0;
+  217: 	byte temp = 0;
 ;---- Variable 'i' assigned to Register 'R7' ----
-002B5A E4                CLR     A
-002B5B FF                MOV     R7,A
-  219: 	byte tgroup = 0;
-002B5C 904F06            MOV     DPTR,#temp
-002B5F F0                MOVX    @DPTR,A
-  220: 	byte tgpionum = 0;
+002B61 E4                CLR     A
+002B62 FF                MOV     R7,A
+  218: 	byte tgroup = 0;
+002B63 904F06            MOV     DPTR,#temp
+002B66 F0                MOVX    @DPTR,A
+  219: 	byte tgpionum = 0;
 ;---- Variable 'tgroup' assigned to Register 'R6' ----
-002B60 FE                MOV     R6,A
-  221: 	for (i=0; col[i]!=0; i++) {
+002B67 FE                MOV     R6,A
+  220: 	for (i=0; col[i]!=0; i++) {
 ;---- Variable 'tgpionum' assigned to Register 'R5' ----
-002B61 FD                MOV     R5,A
-  222: 		tgroup = col[i]  >> 3;
-002B62         ?C0037?KEYSCAN:
-002B62 EF                MOV     A,R7
-002B63 900681            MOV     DPTR,#col
-002B66 93                MOVC    A,@A+DPTR
-002B67 6049              JZ      ?C0038?KEYSCAN
-  223: 		tgpionum = 1 << (col[i] & 7);
+002B68 FD                MOV     R5,A
+  221: 		tgroup = col[i]  >> 3;
+002B69         ?C0037?KEYSCAN:
 002B69 EF                MOV     A,R7
-002B6A 93                MOVC    A,@A+DPTR
-002B6B FD                MOV     R5,A
-002B6C 13                RRC     A
-002B6D 13                RRC     A
-002B6E 13                RRC     A
-002B6F 541F              ANL     A,#01FH
-002B71 FE                MOV     R6,A
-  224: 		REG_GPIO_PUP (tgroup) &= ~tgpionum;
-002B72 ED                MOV     A,R5
-002B73 5407              ANL     A,#07H
-002B75 FD                MOV     R5,A
-002B76 7401              MOV     A,#01H
-002B78 A805              MOV     R0,AR5
-002B7A 08                INC     R0
-002B7B 8002              SJMP    ?C0097?KEYSCAN
-002B7D         ?C0096?KEYSCAN:
-002B7D C3                CLR     C
-002B7E 33                RLC     A
-002B7F         ?C0097?KEYSCAN:
-002B7F D8FC              DJNZ    R0,?C0096?KEYSCAN
-002B81 FD                MOV     R5,A
-  225: 		REG_GPIO_OE(tgroup) |= tgpionum;
-002B82 EE                MOV     A,R6
-002B83 2478              ADD     A,#078H
-002B85 FB                MOV     R3,A
-002B86 E4                CLR     A
-002B87 3480              ADDC    A,#080H
-002B89 8B82              MOV     DPL,R3
-002B8B F583              MOV     DPH,A
-002B8D E0                MOVX    A,@DPTR
-002B8E FC                MOV     R4,A
-002B8F ED                MOV     A,R5
-002B90 F4                CPL     A
-002B91 FB                MOV     R3,A
-002B92 EC                MOV     A,R4
-002B93 5B                ANL     A,R3
-002B94 F0                MOVX    @DPTR,A
-  226: 		REG_GPIO_OUT(tgroup) &= ~tgpionum;
-002B95 EE                MOV     A,R6
-002B96 2470              ADD     A,#070H
-002B98 F582              MOV     DPL,A
-002B9A E4                CLR     A
-002B9B 3480              ADDC    A,#080H
-002B9D F583              MOV     DPH,A
-002B9F E0                MOVX    A,@DPTR
-002BA0 4D                ORL     A,R5
-002BA1 F0                MOVX    @DPTR,A
-  227: 	}
-002BA2 EE                MOV     A,R6
-002BA3 2474              ADD     A,#074H
-002BA5 F582              MOV     DPL,A
-002BA7 E4                CLR     A
-002BA8 3480              ADDC    A,#080H
-002BAA F583              MOV     DPH,A
-002BAC E0                MOVX    A,@DPTR
-002BAD 5B                ANL     A,R3
-002BAE F0                MOVX    @DPTR,A
-  228: 	
-002BAF 0F                INC     R7
-002BB0 80B0              SJMP    ?C0037?KEYSCAN
-002BB2         ?C0038?KEYSCAN:
-  229: 	GPIO_fillpd();
-002BB2 1235DF            LCALL   GPIO_fillpd
-  230: 	
-  231: 	temp = REG_GPIO_IN(0);
-002BB5 90811C            MOV     DPTR,#0811CH
-002BB8 E0                MOVX    A,@DPTR
-002BB9 904F06            MOV     DPTR,#temp
-002BBC F0                MOVX    @DPTR,A
-  232: 
-  233: 	if(long_press_flag)
-002BBD 904DDC            MOV     DPTR,#long_press_flag
-002BC0 E0                MOVX    A,@DPTR
-002BC1 6020              JZ      ?C0040?KEYSCAN
-  234: 	{
-  235: 		GPIO_SetWakeupByCurrentState(0);
-002BC3 E4                CLR     A
-002BC4 FF                MOV     R7,A
-002BC5 71F3              ACALL   _GPIO_SetWakeupByCurrentState
-  236: 		GPIO_SetWakeupByCurrentState(1);
-002BC7 7F01              MOV     R7,#01H
-002BC9 71F3              ACALL   _GPIO_SetWakeupByCurrentState
-  237: 		GPIO_SetWakeupByCurrentState(2);
-002BCB 7F02              MOV     R7,#02H
-002BCD 71F3              ACALL   _GPIO_SetWakeupByCurrentState
-  238: 		GPIO_SetWakeupByCurrentState(3);
-002BCF 7F03              MOV     R7,#03H
-002BD1 71F3              ACALL   _GPIO_SetWakeupByCurrentState
-  239: 		GPIO_SetWakeupByCurrentState(4);
-002BD3 7F04              MOV     R7,#04H
-002BD5 71F3              ACALL   _GPIO_SetWakeupByCurrentState
-  240: 		GPIO_SetWakeupByCurrentState(5);
-002BD7 7F05              MOV     R7,#05H
-002BD9 71F3              ACALL   _GPIO_SetWakeupByCurrentState
-  241: 		GPIO_SetWakeupByCurrentState(6);
-002BDB 7F06              MOV     R7,#06H
-002BDD 71F3              ACALL   _GPIO_SetWakeupByCurrentState
-  242: 		GPIO_SetWakeupByCurrentState(7);
-002BDF 7F07              MOV     R7,#07H
-002BE1 8010              SJMP    _GPIO_SetWakeupByCurrentState
-  243: 	}
-002BE3         ?C0040?KEYSCAN:
-  244: 	else
-  245: 	{
-  246: 		YC_GPIOWakeupL[0] = temp;
-002BE3 904F06            MOV     DPTR,#temp
-002BE6 E0                MOVX    A,@DPTR
-002BE7 FF                MOV     R7,A
-002BE8 9000A3            MOV     DPTR,#YC_GPIOWakeupL
-002BEB F0                MOVX    @DPTR,A
-  247: 		YC_GPIOWakeupH[0] = ~temp;
-002BEC EF                MOV     A,R7
-002BED F4                CPL     A
-002BEE 9000A7            MOV     DPTR,#YC_GPIOWakeupH
-002BF1 F0                MOVX    @DPTR,A
-  248: 	}
-  249: 
-  250: }
-002BF2 22                RET     
+002B6A 900681            MOV     DPTR,#col
+002B6D 93                MOVC    A,@A+DPTR
+002B6E 6049              JZ      ?C0038?KEYSCAN
+  222: 		tgpionum = 1 << (col[i] & 7);
+002B70 EF                MOV     A,R7
+002B71 93                MOVC    A,@A+DPTR
+002B72 FD                MOV     R5,A
+002B73 13                RRC     A
+002B74 13                RRC     A
+002B75 13                RRC     A
+002B76 541F              ANL     A,#01FH
+002B78 FE                MOV     R6,A
+  223: 		REG_GPIO_PUP (tgroup) &= ~tgpionum;
+002B79 ED                MOV     A,R5
+002B7A 5407              ANL     A,#07H
+002B7C FD                MOV     R5,A
+002B7D 7401              MOV     A,#01H
+002B7F A805              MOV     R0,AR5
+002B81 08                INC     R0
+002B82 8002              SJMP    ?C0097?KEYSCAN
+002B84         ?C0096?KEYSCAN:
+002B84 C3                CLR     C
+002B85 33                RLC     A
+002B86         ?C0097?KEYSCAN:
+002B86 D8FC              DJNZ    R0,?C0096?KEYSCAN
+002B88 FD                MOV     R5,A
+  224: 		REG_GPIO_OE(tgroup) |= tgpionum;
+002B89 EE                MOV     A,R6
+002B8A 2478              ADD     A,#078H
+002B8C FB                MOV     R3,A
+002B8D E4                CLR     A
+002B8E 3480              ADDC    A,#080H
+002B90 8B82              MOV     DPL,R3
+002B92 F583              MOV     DPH,A
+002B94 E0                MOVX    A,@DPTR
+002B95 FC                MOV     R4,A
+002B96 ED                MOV     A,R5
+002B97 F4                CPL     A
+002B98 FB                MOV     R3,A
+002B99 EC                MOV     A,R4
+002B9A 5B                ANL     A,R3
+002B9B F0                MOVX    @DPTR,A
+  225: 		REG_GPIO_OUT(tgroup) &= ~tgpionum;
+002B9C EE                MOV     A,R6
+002B9D 2470              ADD     A,#070H
+002B9F F582              MOV     DPL,A
+002BA1 E4                CLR     A
+002BA2 3480              ADDC    A,#080H
+002BA4 F583              MOV     DPH,A
+002BA6 E0                MOVX    A,@DPTR
+002BA7 4D                ORL     A,R5
+002BA8 F0                MOVX    @DPTR,A
+  226: 	}
+002BA9 EE                MOV     A,R6
+002BAA 2474              ADD     A,#074H
+002BAC F582              MOV     DPL,A
+002BAE E4                CLR     A
+002BAF 3480              ADDC    A,#080H
+002BB1 F583              MOV     DPH,A
+002BB3 E0                MOVX    A,@DPTR
+002BB4 5B                ANL     A,R3
+002BB5 F0                MOVX    @DPTR,A
+  227: 	
+002BB6 0F                INC     R7
+002BB7 80B0              SJMP    ?C0037?KEYSCAN
+002BB9         ?C0038?KEYSCAN:
+  228: 	GPIO_fillpd();
+002BB9 12357C            LCALL   GPIO_fillpd
+  229: 	
+  230: 	temp = REG_GPIO_IN(0);
+002BBC 90811C            MOV     DPTR,#0811CH
+002BBF E0                MOVX    A,@DPTR
+002BC0 904F06            MOV     DPTR,#temp
+002BC3 F0                MOVX    @DPTR,A
+  231: 
+  232: 	if(long_press_flag)
+002BC4 904DDC            MOV     DPTR,#long_press_flag
+002BC7 E0                MOVX    A,@DPTR
+002BC8 6020              JZ      ?C0040?KEYSCAN
+  233: 	{
+  234: 		GPIO_SetWakeupByCurrentState(0);
+002BCA E4                CLR     A
+002BCB FF                MOV     R7,A
+002BCC 71FA              ACALL   _GPIO_SetWakeupByCurrentState
+  235: 		GPIO_SetWakeupByCurrentState(1);
+002BCE 7F01              MOV     R7,#01H
+002BD0 71FA              ACALL   _GPIO_SetWakeupByCurrentState
+  236: 		GPIO_SetWakeupByCurrentState(2);
+002BD2 7F02              MOV     R7,#02H
+002BD4 71FA              ACALL   _GPIO_SetWakeupByCurrentState
+  237: 		GPIO_SetWakeupByCurrentState(3);
+002BD6 7F03              MOV     R7,#03H
+002BD8 71FA              ACALL   _GPIO_SetWakeupByCurrentState
+  238: 		GPIO_SetWakeupByCurrentState(4);
+002BDA 7F04              MOV     R7,#04H
+002BDC 71FA              ACALL   _GPIO_SetWakeupByCurrentState
+  239: 		GPIO_SetWakeupByCurrentState(5);
+002BDE 7F05              MOV     R7,#05H
+002BE0 71FA              ACALL   _GPIO_SetWakeupByCurrentState
+  240: 		GPIO_SetWakeupByCurrentState(6);
+002BE2 7F06              MOV     R7,#06H
+002BE4 71FA              ACALL   _GPIO_SetWakeupByCurrentState
+  241: 		GPIO_SetWakeupByCurrentState(7);
+002BE6 7F07              MOV     R7,#07H
+002BE8 8010              SJMP    _GPIO_SetWakeupByCurrentState
+  242: 	}
+002BEA         ?C0040?KEYSCAN:
+  243: 	else
+  244: 	{
+  245: 		YC_GPIOWakeupL[0] = temp;
+002BEA 904F06            MOV     DPTR,#temp
+002BED E0                MOVX    A,@DPTR
+002BEE FF                MOV     R7,A
+002BEF 9000A3            MOV     DPTR,#YC_GPIOWakeupL
+002BF2 F0                MOVX    @DPTR,A
+  246: 		YC_GPIOWakeupH[0] = ~temp;
+002BF3 EF                MOV     A,R7
+002BF4 F4                CPL     A
+002BF5 9000A7            MOV     DPTR,#YC_GPIOWakeupH
+002BF8 F0                MOVX    @DPTR,A
+  247: 	}
+  248: 
+  249: }
+002BF9 22                RET     
 ----- FUNCTION KS_Unistall (END) -------
 
 
 ----- FUNCTION _GPIO_SetWakeupByCurrentState (BEGIN) -----
-002BF3 904F0A            MOV     DPTR,#gpio_num
-002BF6 EF                MOV     A,R7
-002BF7 F0                MOVX    @DPTR,A
-002BF8 F15A              ACALL   _GPIO_GetInputStatus
-002BFA 9208              MOV     st,C
-002BFC 904F0A            MOV     DPTR,#gpio_num
-002BFF E0                MOVX    A,@DPTR
-002C00 FF                MOV     R7,A
-002C01 A208              MOV     C,st
-002C03 B3                CPL     C
-002C04 9207              MOV     ?_GPIO_SetWakeup?BIT,C
+002BFA 904F0A            MOV     DPTR,#gpio_num
+002BFD EF                MOV     A,R7
+002BFE F0                MOVX    @DPTR,A
+002BFF F161              ACALL   _GPIO_GetInputStatus
+002C01 9208              MOV     st,C
+002C03 904F0A            MOV     DPTR,#gpio_num
+002C06 E0                MOVX    A,@DPTR
+002C07 FF                MOV     R7,A
+002C08 A208              MOV     C,st
+002C0A B3                CPL     C
+002C0B 9207              MOV     ?_GPIO_SetWakeup?BIT,C
 ;----                  JMP     _GPIO_SetWakeup
 ----- FUNCTION _GPIO_SetWakeupByCurrentState (END) -------
 
 
 ----- FUNCTION _GPIO_SetWakeup (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
-002C06 EF                MOV     A,R7
-002C07 F4                CPL     A
-002C08 7002              JNZ     $ + 4H
-002C0A 8191              AJMP    ?C0019?GPIO
-002C0C         ?C0018?GPIO:
-002C0C EF                MOV     A,R7
-002C0D 5407              ANL     A,#07H
-002C0F FE                MOV     R6,A
+002C0D EF                MOV     A,R7
+002C0E F4                CPL     A
+002C0F 7002              JNZ     $ + 4H
+002C11 8198              AJMP    ?C0019?GPIO
+002C13         ?C0018?GPIO:
+002C13 EF                MOV     A,R7
+002C14 5407              ANL     A,#07H
+002C16 FE                MOV     R6,A
 ;---- Variable 'queue' assigned to Register 'R6' ----
-002C10 EF                MOV     A,R7
-002C11 13                RRC     A
-002C12 13                RRC     A
-002C13 13                RRC     A
-002C14 5403              ANL     A,#03H
-002C16 FF                MOV     R7,A
+002C17 EF                MOV     A,R7
+002C18 13                RRC     A
+002C19 13                RRC     A
+002C1A 13                RRC     A
+002C1B 5403              ANL     A,#03H
+002C1D FF                MOV     R7,A
 ;---- Variable 'group' assigned to Register 'R7' ----
-002C17 300743            JNB     st,?C0020?GPIO
-002C1A 24A3              ADD     A,#LOW YC_GPIOWakeupL
-002C1C F582              MOV     DPL,A
-002C1E E4                CLR     A
-002C1F 3400              ADDC    A,#HIGH YC_GPIOWakeupL
-002C21 F583              MOV     DPH,A
-002C23 C083              PUSH    DPH
-002C25 C082              PUSH    DPL
-002C27 E0                MOVX    A,@DPTR
-002C28 FD                MOV     R5,A
-002C29 7401              MOV     A,#01H
-002C2B A806              MOV     R0,AR6
-002C2D 08                INC     R0
-002C2E 8002              SJMP    ?C0037?GPIO
-002C30         ?C0036?GPIO:
-002C30 C3                CLR     C
-002C31 33                RLC     A
-002C32         ?C0037?GPIO:
-002C32 D8FC              DJNZ    R0,?C0036?GPIO
-002C34 F4                CPL     A
-002C35 5D                ANL     A,R5
-002C36 D082              POP     DPL
-002C38 D083              POP     DPH
-002C3A F0                MOVX    @DPTR,A
-002C3B 74A7              MOV     A,#LOW YC_GPIOWakeupH
-002C3D 2F                ADD     A,R7
-002C3E F582              MOV     DPL,A
-002C40 E4                CLR     A
-002C41 3400              ADDC    A,#HIGH YC_GPIOWakeupH
-002C43 F583              MOV     DPH,A
-002C45 C083              PUSH    DPH
-002C47 C082              PUSH    DPL
-002C49 E0                MOVX    A,@DPTR
-002C4A FF                MOV     R7,A
-002C4B 7401              MOV     A,#01H
-002C4D A806              MOV     R0,AR6
-002C4F 08                INC     R0
-002C50 8002              SJMP    ?C0039?GPIO
-002C52         ?C0038?GPIO:
-002C52 C3                CLR     C
-002C53 33                RLC     A
-002C54         ?C0039?GPIO:
-002C54 D8FC              DJNZ    R0,?C0038?GPIO
-002C56 4F                ORL     A,R7
-002C57 D082              POP     DPL
-002C59 D083              POP     DPH
-002C5B F0                MOVX    @DPTR,A
-002C5C 22                RET     
-002C5D         ?C0020?GPIO:
-002C5D 74A3              MOV     A,#LOW YC_GPIOWakeupL
-002C5F 2F                ADD     A,R7
-002C60 F582              MOV     DPL,A
-002C62 E4                CLR     A
-002C63 3400              ADDC    A,#HIGH YC_GPIOWakeupL
-002C65 F583              MOV     DPH,A
-002C67 C083              PUSH    DPH
-002C69 C082              PUSH    DPL
-002C6B E0                MOVX    A,@DPTR
-002C6C FD                MOV     R5,A
-002C6D 7401              MOV     A,#01H
-002C6F A806              MOV     R0,AR6
-002C71 08                INC     R0
-002C72 8002              SJMP    ?C0041?GPIO
-002C74         ?C0040?GPIO:
-002C74 C3                CLR     C
-002C75 33                RLC     A
-002C76         ?C0041?GPIO:
-002C76 D8FC              DJNZ    R0,?C0040?GPIO
-002C78 FC                MOV     R4,A
-002C79 4D                ORL     A,R5
-002C7A D082              POP     DPL
-002C7C D083              POP     DPH
-002C7E F0                MOVX    @DPTR,A
-002C7F 74A7              MOV     A,#LOW YC_GPIOWakeupH
-002C81 2F                ADD     A,R7
-002C82 F582              MOV     DPL,A
-002C84 E4                CLR     A
-002C85 3400              ADDC    A,#HIGH YC_GPIOWakeupH
-002C87 F583              MOV     DPH,A
-002C89 E0                MOVX    A,@DPTR
-002C8A FF                MOV     R7,A
-002C8B EC                MOV     A,R4
-002C8C F4                CPL     A
-002C8D FE                MOV     R6,A
-002C8E EF                MOV     A,R7
-002C8F 5E                ANL     A,R6
-002C90 F0                MOVX    @DPTR,A
-002C91         ?C0019?GPIO:
-002C91 22                RET     
+002C1E 300743            JNB     st,?C0020?GPIO
+002C21 24A3              ADD     A,#LOW YC_GPIOWakeupL
+002C23 F582              MOV     DPL,A
+002C25 E4                CLR     A
+002C26 3400              ADDC    A,#HIGH YC_GPIOWakeupL
+002C28 F583              MOV     DPH,A
+002C2A C083              PUSH    DPH
+002C2C C082              PUSH    DPL
+002C2E E0                MOVX    A,@DPTR
+002C2F FD                MOV     R5,A
+002C30 7401              MOV     A,#01H
+002C32 A806              MOV     R0,AR6
+002C34 08                INC     R0
+002C35 8002              SJMP    ?C0037?GPIO
+002C37         ?C0036?GPIO:
+002C37 C3                CLR     C
+002C38 33                RLC     A
+002C39         ?C0037?GPIO:
+002C39 D8FC              DJNZ    R0,?C0036?GPIO
+002C3B F4                CPL     A
+002C3C 5D                ANL     A,R5
+002C3D D082              POP     DPL
+002C3F D083              POP     DPH
+002C41 F0                MOVX    @DPTR,A
+002C42 74A7              MOV     A,#LOW YC_GPIOWakeupH
+002C44 2F                ADD     A,R7
+002C45 F582              MOV     DPL,A
+002C47 E4                CLR     A
+002C48 3400              ADDC    A,#HIGH YC_GPIOWakeupH
+002C4A F583              MOV     DPH,A
+002C4C C083              PUSH    DPH
+002C4E C082              PUSH    DPL
+002C50 E0                MOVX    A,@DPTR
+002C51 FF                MOV     R7,A
+002C52 7401              MOV     A,#01H
+002C54 A806              MOV     R0,AR6
+002C56 08                INC     R0
+002C57 8002              SJMP    ?C0039?GPIO
+002C59         ?C0038?GPIO:
+002C59 C3                CLR     C
+002C5A 33                RLC     A
+002C5B         ?C0039?GPIO:
+002C5B D8FC              DJNZ    R0,?C0038?GPIO
+002C5D 4F                ORL     A,R7
+002C5E D082              POP     DPL
+002C60 D083              POP     DPH
+002C62 F0                MOVX    @DPTR,A
+002C63 22                RET     
+002C64         ?C0020?GPIO:
+002C64 74A3              MOV     A,#LOW YC_GPIOWakeupL
+002C66 2F                ADD     A,R7
+002C67 F582              MOV     DPL,A
+002C69 E4                CLR     A
+002C6A 3400              ADDC    A,#HIGH YC_GPIOWakeupL
+002C6C F583              MOV     DPH,A
+002C6E C083              PUSH    DPH
+002C70 C082              PUSH    DPL
+002C72 E0                MOVX    A,@DPTR
+002C73 FD                MOV     R5,A
+002C74 7401              MOV     A,#01H
+002C76 A806              MOV     R0,AR6
+002C78 08                INC     R0
+002C79 8002              SJMP    ?C0041?GPIO
+002C7B         ?C0040?GPIO:
+002C7B C3                CLR     C
+002C7C 33                RLC     A
+002C7D         ?C0041?GPIO:
+002C7D D8FC              DJNZ    R0,?C0040?GPIO
+002C7F FC                MOV     R4,A
+002C80 4D                ORL     A,R5
+002C81 D082              POP     DPL
+002C83 D083              POP     DPH
+002C85 F0                MOVX    @DPTR,A
+002C86 74A7              MOV     A,#LOW YC_GPIOWakeupH
+002C88 2F                ADD     A,R7
+002C89 F582              MOV     DPL,A
+002C8B E4                CLR     A
+002C8C 3400              ADDC    A,#HIGH YC_GPIOWakeupH
+002C8E F583              MOV     DPH,A
+002C90 E0                MOVX    A,@DPTR
+002C91 FF                MOV     R7,A
+002C92 EC                MOV     A,R4
+002C93 F4                CPL     A
+002C94 FE                MOV     R6,A
+002C95 EF                MOV     A,R7
+002C96 5E                ANL     A,R6
+002C97 F0                MOVX    @DPTR,A
+002C98         ?C0019?GPIO:
+002C98 22                RET     
 ----- FUNCTION _GPIO_SetWakeup (END) -------
 
 
 ----- FUNCTION YC_System_Main (BEGIN) -----
  FILE: 'sys.c'
-  814: void YC_System_Main(void)
-  815: {
-  816: 	kb_cb_init();
-  817: 	while(1) {
-002C92 F147              ACALL   kb_cb_init
-002C94         ?C0160?SYS:
-  818: 		IPC_DealSingleStep();
-  819: 		kb_need_keyscan();
-002C94 91EE              ACALL   IPC_DealSingleStep
-  820: 		YC_update_eeprom_data();
-002C96 120D4C            LCALL   kb_need_keyscan
-  821: 		LED_handle();
-002C99 12146D            LCALL   YC_update_eeprom_data
-  822: #ifdef PC_SLEEP_STATUS_GET		
-002C9C 12136D            LCALL   LED_handle
-  823: 		if(m_pc_sleep_flag)
-002C9F 904D7D            MOV     DPTR,#m_pc_sleep_flag
-002CA2 E0                MOVX    A,@DPTR
-002CA3 6002              JZ      ?C0162?SYS
-  824: 		{
-  825: 			System_G24_long_lpm();
-002CA5 F1AD              ACALL   System_G24_long_lpm
-  826: 		}
-002CA7         ?C0162?SYS:
-  827: #endif		
-  828: 		switch (current_task) {
-002CA7 900B7E            MOV     DPTR,#current_task
-002CAA E0                MOVX    A,@DPTR
-002CAB 14                DEC     A
-002CAC 600D              JZ      ?C0167?SYS
-002CAE 24FE              ADD     A,#0FEH
-002CB0 70E2              JNZ     ?C0160?SYS
-  829: 		case FIX_ENTER_HIBERNATE:
-002CB2         ?C0164?SYS:
-  830: 			KS_Unistall();
-002CB2 715A              ACALL   KS_Unistall
-  831: 			//GPIO_SetWakeupByCurrentState(BT_BUTTON_GPIO);
-  832: 			LED_all_shutdown();
-002CB4 1217B7            LCALL   LED_all_shutdown
-  833: 			IPC_WaitLpm();	/*<wait enter lpm,do nothing*/
-002CB7 91E0              ACALL   IPC_WaitLpm
-002CB9         ?C0165?SYS:
-  834: 			while(1);
-002CB9 80FE              SJMP    ?C0165?SYS
-  835: 			break;
-  836: 			
-  837: 		case FIX_ENTER_LPM:
-002CBB         ?C0167?SYS:
-  838: 			if (g_variable.delay_enter_lpm_timer ||g_variable.lockLpm ||g_variable.powerOn_timer ||g_variable.one_key_pres
+  811: void YC_System_Main(void)
+  812: {
+  813: 	kb_cb_init();
+  814: 	while(1) {
+002C99 F14E              ACALL   kb_cb_init
+002C9B         ?C0160?SYS:
+  815: 		IPC_DealSingleStep();
+  816: 		kb_need_keyscan();
+002C9B 91F5              ACALL   IPC_DealSingleStep
+  817: 		YC_update_eeprom_data();
+002C9D 120D4C            LCALL   kb_need_keyscan
+  818: 		LED_handle();
+002CA0 121442            LCALL   YC_update_eeprom_data
+  819: #ifdef PC_SLEEP_STATUS_GET		
+002CA3 121342            LCALL   LED_handle
+  820: 		if(m_pc_sleep_flag)
+002CA6 904D7D            MOV     DPTR,#m_pc_sleep_flag
+002CA9 E0                MOVX    A,@DPTR
+002CAA 6002              JZ      ?C0162?SYS
+  821: 		{
+  822: 			System_G24_long_lpm();
+002CAC F1B4              ACALL   System_G24_long_lpm
+  823: 		}
+002CAE         ?C0162?SYS:
+  824: #endif		
+  825: 		switch (current_task) {
+002CAE 900B7E            MOV     DPTR,#current_task
+002CB1 E0                MOVX    A,@DPTR
+002CB2 14                DEC     A
+002CB3 600D              JZ      ?C0167?SYS
+002CB5 24FE              ADD     A,#0FEH
+002CB7 70E2              JNZ     ?C0160?SYS
+  826: 		case FIX_ENTER_HIBERNATE:
+002CB9         ?C0164?SYS:
+  827: 			KS_Unistall();
+002CB9 7161              ACALL   KS_Unistall
+  828: 			//GPIO_SetWakeupByCurrentState(BT_BUTTON_GPIO);
+  829: 			LED_all_shutdown();
+002CBB 121799            LCALL   LED_all_shutdown
+  830: 			IPC_WaitLpm();	/*<wait enter lpm,do nothing*/
+002CBE 91E7              ACALL   IPC_WaitLpm
+002CC0         ?C0165?SYS:
+  831: 			while(1);
+002CC0 80FE              SJMP    ?C0165?SYS
+  832: 			break;
+  833: 			
+  834: 		case FIX_ENTER_LPM:
+002CC2         ?C0167?SYS:
+  835: 			if (g_variable.delay_enter_lpm_timer ||g_variable.lockLpm ||g_variable.powerOn_timer ||g_variable.one_key_pres
 >> s_wait_release_timer
-002CBB 904CEA            MOV     DPTR,#g_variable+02BH
-002CBE E0                MOVX    A,@DPTR
-002CBF 7012              JNZ     ?C0169?SYS
-002CC1 904CEC            MOV     DPTR,#g_variable+02DH
-002CC4 E0                MOVX    A,@DPTR
-002CC5 700C              JNZ     ?C0169?SYS
-002CC7 904CE5            MOV     DPTR,#g_variable+026H
-002CCA E0                MOVX    A,@DPTR
-002CCB 7006              JNZ     ?C0169?SYS
-002CCD 904CF8            MOV     DPTR,#g_variable+039H
-002CD0 E0                MOVX    A,@DPTR
-002CD1 6004              JZ      ?C0168?SYS
-002CD3         ?C0169?SYS:
-  839: 			) 
-  840: 			{
-  841: 				IPC_AbandonLpm();
-002CD3 F1A1              ACALL   IPC_AbandonLpm
-  842: 				break;
-002CD5 80BD              SJMP    ?C0160?SYS
-  843: 			}
-002CD7         ?C0168?SYS:
-  844: 			else
-  845: 			{
-  846: 				KS_Unistall();
-002CD7 715A              ACALL   KS_Unistall
-  847: 				IPC_WaitLpm();	/*<wait enter lpm,do nothing*/
-002CD9 91E0              ACALL   IPC_WaitLpm
-  848: 				break;
-002CDB 80B7              SJMP    ?C0160?SYS
-  849: 			}
-  850: 		}
-  851: 	}
-002CDD 80B5              SJMP    ?C0160?SYS
-002CDF 22                RET     
+002CC2 904CEA            MOV     DPTR,#g_variable+02BH
+002CC5 E0                MOVX    A,@DPTR
+002CC6 7012              JNZ     ?C0169?SYS
+002CC8 904CEC            MOV     DPTR,#g_variable+02DH
+002CCB E0                MOVX    A,@DPTR
+002CCC 700C              JNZ     ?C0169?SYS
+002CCE 904CE5            MOV     DPTR,#g_variable+026H
+002CD1 E0                MOVX    A,@DPTR
+002CD2 7006              JNZ     ?C0169?SYS
+002CD4 904CF8            MOV     DPTR,#g_variable+039H
+002CD7 E0                MOVX    A,@DPTR
+002CD8 6004              JZ      ?C0168?SYS
+002CDA         ?C0169?SYS:
+  836: 			) 
+  837: 			{
+  838: 				IPC_AbandonLpm();
+002CDA F1A8              ACALL   IPC_AbandonLpm
+  839: 				break;
+002CDC 80BD              SJMP    ?C0160?SYS
+  840: 			}
+002CDE         ?C0168?SYS:
+  841: 			else
+  842: 			{
+  843: 				KS_Unistall();
+002CDE 7161              ACALL   KS_Unistall
+  844: 				IPC_WaitLpm();	/*<wait enter lpm,do nothing*/
+002CE0 91E7              ACALL   IPC_WaitLpm
+  845: 				break;
+002CE2 80B7              SJMP    ?C0160?SYS
+  846: 			}
+  847: 		}
+  848: 	}
+002CE4 80B5              SJMP    ?C0160?SYS
+002CE6 22                RET     
 ----- FUNCTION YC_System_Main (END) -------
 
 
 ----- FUNCTION IPC_WaitLpm (BEGIN) -----
-002CE0 E4                CLR     A
-002CE1 900B7F            MOV     DPTR,#lpm_flag
-002CE4 F0                MOVX    @DPTR,A
-002CE5 900B7E            MOV     DPTR,#current_task
-002CE8 F0                MOVX    @DPTR,A
-002CE9 7F01              MOV     R7,#01H
-002CEB 0215B2            LJMP    _Delay1ms
+002CE7 E4                CLR     A
+002CE8 900B7F            MOV     DPTR,#lpm_flag
+002CEB F0                MOVX    @DPTR,A
+002CEC 900B7E            MOV     DPTR,#current_task
+002CEF F0                MOVX    @DPTR,A
+002CF0 7F01              MOV     R7,#01H
+002CF2 021595            LJMP    _Delay1ms
 ----- FUNCTION IPC_WaitLpm (END) -------
 
 
 ----- FUNCTION IPC_DealSingleStep (BEGIN) -----
-002CEE 7A0C              MOV     R2,#HIGH ipcReadBuff
-002CF0 794B              MOV     R1,#LOW ipcReadBuff
-002CF2 904EED            MOV     DPTR,#pbuff
-002CF5 7401              MOV     A,#01H
-002CF7 F0                MOVX    @DPTR,A
-002CF8 A3                INC     DPTR
-002CF9 740C              MOV     A,#HIGH ipcReadBuff
-002CFB F0                MOVX    @DPTR,A
-002CFC A3                INC     DPTR
-002CFD 744B              MOV     A,#LOW ipcReadBuff
-002CFF F0                MOVX    @DPTR,A
-002D00 904BA0            MOV     DPTR,#ipcRxWritePtr
-002D03 E0                MOVX    A,@DPTR
-002D04 FE                MOV     R6,A
-002D05 A3                INC     DPTR
-002D06 E0                MOVX    A,@DPTR
-002D07 FF                MOV     R7,A
-002D08 904B9E            MOV     DPTR,#ipcRxReadPtr
-002D0B E0                MOVX    A,@DPTR
-002D0C 6E                XRL     A,R6
-002D0D 7003              JNZ     ?C0048?IPC
-002D0F A3                INC     DPTR
-002D10 E0                MOVX    A,@DPTR
-002D11 6F                XRL     A,R7
-002D12         ?C0048?IPC:
-002D12 7002              JNZ     $ + 4H
-002D14 C19D              AJMP    ?C0039?IPC
-002D16         ?C0027?IPC:
-002D16 7E0C              MOV     R6,#HIGH ipcReadBuff
-002D18 7F4B              MOV     R7,#LOW ipcReadBuff
-002D1A 7D03              MOV     R5,#03H
-002D1C D1F7              ACALL   _ipcRx
-002D1E 904EED            MOV     DPTR,#pbuff
-002D21 E0                MOVX    A,@DPTR
-002D22 FB                MOV     R3,A
-002D23 A3                INC     DPTR
-002D24 E0                MOVX    A,@DPTR
-002D25 FA                MOV     R2,A
-002D26 A3                INC     DPTR
-002D27 E0                MOVX    A,@DPTR
-002D28 F9                MOV     R1,A
-002D29 1203B6            LCALL   ?C?CLDPTR
-002D2C B4022B            CJNE    A,#02H,?C0029?IPC
-002D2F 904EEE            MOV     DPTR,#pbuff+01H
-002D32 E4                CLR     A
-002D33 75F002            MOV     B,#02H
-002D36 12040E            LCALL   ?C?IILDX
-002D39 904EED            MOV     DPTR,#pbuff
-002D3C E0                MOVX    A,@DPTR
-002D3D FB                MOV     R3,A
-002D3E A3                INC     DPTR
-002D3F E0                MOVX    A,@DPTR
-002D40 FA                MOV     R2,A
-002D41 A3                INC     DPTR
-002D42 E0                MOVX    A,@DPTR
-002D43 F9                MOV     R1,A
-002D44 1203B6            LCALL   ?C?CLDPTR
-002D47 FF                MOV     R7,A
-002D48 904E68            MOV     DPTR,#ipcCb
-002D4B E0                MOVX    A,@DPTR
-002D4C A3                INC     DPTR
-002D4D E0                MOVX    A,@DPTR
-002D4E FA                MOV     R2,A
-002D4F A3                INC     DPTR
-002D50 E0                MOVX    A,@DPTR
-002D51 F582              MOV     DPL,A
-002D53 8A83              MOV     DPH,R2
-002D55 1205DD            LCALL   ?C?ICALL2
-002D58 C19D              AJMP    ?C0039?IPC
-002D5A         ?C0029?IPC:
-002D5A 904EED            MOV     DPTR,#pbuff
-002D5D E0                MOVX    A,@DPTR
-002D5E FB                MOV     R3,A
-002D5F A3                INC     DPTR
-002D60 E0                MOVX    A,@DPTR
-002D61 FA                MOV     R2,A
-002D62 A3                INC     DPTR
-002D63 E0                MOVX    A,@DPTR
-002D64 F9                MOV     R1,A
-002D65 1203B6            LCALL   ?C?CLDPTR
-002D68 6404              XRL     A,#04H
-002D6A 7059              JNZ     ?C0031?IPC
-002D6C 904EEE            MOV     DPTR,#pbuff+01H
-002D6F 75F001            MOV     B,#01H
-002D72 12040E            LCALL   ?C?IILDX
-002D75 7E0C              MOV     R6,#HIGH ipcReadBuff+03H
-002D77 7F4E              MOV     R7,#LOW ipcReadBuff+03H
-002D79 904EED            MOV     DPTR,#pbuff
-002D7C E0                MOVX    A,@DPTR
-002D7D FB                MOV     R3,A
-002D7E A3                INC     DPTR
-002D7F E0                MOVX    A,@DPTR
-002D80 FA                MOV     R2,A
-002D81 A3                INC     DPTR
-002D82 E0                MOVX    A,@DPTR
-002D83 F9                MOV     R1,A
-002D84 1203B6            LCALL   ?C?CLDPTR
-002D87 14                DEC     A
-002D88 FD                MOV     R5,A
-002D89 D1F7              ACALL   _ipcRx
-002D8B 904EED            MOV     DPTR,#pbuff
-002D8E E0                MOVX    A,@DPTR
-002D8F FB                MOV     R3,A
-002D90 A3                INC     DPTR
-002D91 E0                MOVX    A,@DPTR
-002D92 FA                MOV     R2,A
-002D93 A3                INC     DPTR
-002D94 E0                MOVX    A,@DPTR
-002D95 2401              ADD     A,#01H
-002D97 F9                MOV     R1,A
-002D98 E4                CLR     A
-002D99 3A                ADDC    A,R2
-002D9A FA                MOV     R2,A
-002D9B C002              PUSH    AR2
-002D9D C001              PUSH    AR1
-002D9F 904EED            MOV     DPTR,#pbuff
-002DA2 E0                MOVX    A,@DPTR
-002DA3 A3                INC     DPTR
-002DA4 E0                MOVX    A,@DPTR
-002DA5 FA                MOV     R2,A
-002DA6 A3                INC     DPTR
-002DA7 E0                MOVX    A,@DPTR
-002DA8 F9                MOV     R1,A
-002DA9 1203B6            LCALL   ?C?CLDPTR
-002DAC FD                MOV     R5,A
-002DAD 7C00              MOV     R4,#00H
-002DAF 904E6B            MOV     DPTR,#ipcCb+03H
-002DB2 E0                MOVX    A,@DPTR
-002DB3 A3                INC     DPTR
-002DB4 E0                MOVX    A,@DPTR
-002DB5 FA                MOV     R2,A
-002DB6 A3                INC     DPTR
-002DB7 E0                MOVX    A,@DPTR
-002DB8 F582              MOV     DPL,A
-002DBA 8A83              MOV     DPH,R2
-002DBC D001              POP     AR1
-002DBE D002              POP     AR2
-002DC0 1205DD            LCALL   ?C?ICALL2
-002DC3 C19D              AJMP    ?C0039?IPC
-002DC5         ?C0031?IPC:
-002DC5 904EED            MOV     DPTR,#pbuff
-002DC8 E0                MOVX    A,@DPTR
-002DC9 FB                MOV     R3,A
-002DCA A3                INC     DPTR
-002DCB E0                MOVX    A,@DPTR
-002DCC FA                MOV     R2,A
-002DCD A3                INC     DPTR
-002DCE E0                MOVX    A,@DPTR
-002DCF F9                MOV     R1,A
-002DD0 1203B6            LCALL   ?C?CLDPTR
-002DD3 6405              XRL     A,#05H
-002DD5 7059              JNZ     ?C0033?IPC
-002DD7 904EEE            MOV     DPTR,#pbuff+01H
-002DDA 75F001            MOV     B,#01H
-002DDD 12040E            LCALL   ?C?IILDX
-002DE0 7E0C              MOV     R6,#HIGH ipcReadBuff+03H
-002DE2 7F4E              MOV     R7,#LOW ipcReadBuff+03H
-002DE4 904EED            MOV     DPTR,#pbuff
-002DE7 E0                MOVX    A,@DPTR
-002DE8 FB                MOV     R3,A
-002DE9 A3                INC     DPTR
-002DEA E0                MOVX    A,@DPTR
-002DEB FA                MOV     R2,A
-002DEC A3                INC     DPTR
-002DED E0                MOVX    A,@DPTR
-002DEE F9                MOV     R1,A
-002DEF 1203B6            LCALL   ?C?CLDPTR
-002DF2 14                DEC     A
-002DF3 FD                MOV     R5,A
-002DF4 D1F7              ACALL   _ipcRx
-002DF6 904EED            MOV     DPTR,#pbuff
-002DF9 E0                MOVX    A,@DPTR
-002DFA FB                MOV     R3,A
-002DFB A3                INC     DPTR
-002DFC E0                MOVX    A,@DPTR
-002DFD FA                MOV     R2,A
-002DFE A3                INC     DPTR
-002DFF E0                MOVX    A,@DPTR
-002E00 2401              ADD     A,#01H
-002E02 F9                MOV     R1,A
-002E03 E4                CLR     A
-002E04 3A                ADDC    A,R2
-002E05 FA                MOV     R2,A
-002E06 C002              PUSH    AR2
-002E08 C001              PUSH    AR1
-002E0A 904EED            MOV     DPTR,#pbuff
-002E0D E0                MOVX    A,@DPTR
-002E0E A3                INC     DPTR
-002E0F E0                MOVX    A,@DPTR
-002E10 FA                MOV     R2,A
-002E11 A3                INC     DPTR
-002E12 E0                MOVX    A,@DPTR
-002E13 F9                MOV     R1,A
-002E14 1203B6            LCALL   ?C?CLDPTR
-002E17 FD                MOV     R5,A
-002E18 7C00              MOV     R4,#00H
-002E1A 904E74            MOV     DPTR,#ipcCb+0CH
-002E1D E0                MOVX    A,@DPTR
-002E1E A3                INC     DPTR
-002E1F E0                MOVX    A,@DPTR
-002E20 FA                MOV     R2,A
-002E21 A3                INC     DPTR
-002E22 E0                MOVX    A,@DPTR
-002E23 F582              MOV     DPL,A
-002E25 8A83              MOV     DPH,R2
-002E27 D001              POP     AR1
-002E29 D002              POP     AR2
-002E2B 1205DD            LCALL   ?C?ICALL2
-002E2E 806D              SJMP    ?C0039?IPC
-002E30         ?C0033?IPC:
-002E30 904EED            MOV     DPTR,#pbuff
-002E33 E0                MOVX    A,@DPTR
-002E34 FB                MOV     R3,A
-002E35 A3                INC     DPTR
-002E36 E0                MOVX    A,@DPTR
-002E37 FA                MOV     R2,A
-002E38 A3                INC     DPTR
-002E39 E0                MOVX    A,@DPTR
-002E3A F9                MOV     R1,A
-002E3B 1203B6            LCALL   ?C?CLDPTR
-002E3E 6403              XRL     A,#03H
-002E40 7059              JNZ     ?C0037?IPC
-002E42 904EEE            MOV     DPTR,#pbuff+01H
-002E45 75F001            MOV     B,#01H
-002E48 12040E            LCALL   ?C?IILDX
-002E4B 7E0C              MOV     R6,#HIGH ipcReadBuff+03H
-002E4D 7F4E              MOV     R7,#LOW ipcReadBuff+03H
-002E4F 904EED            MOV     DPTR,#pbuff
-002E52 E0                MOVX    A,@DPTR
-002E53 FB                MOV     R3,A
-002E54 A3                INC     DPTR
-002E55 E0                MOVX    A,@DPTR
-002E56 FA                MOV     R2,A
-002E57 A3                INC     DPTR
-002E58 E0                MOVX    A,@DPTR
-002E59 F9                MOV     R1,A
-002E5A 1203B6            LCALL   ?C?CLDPTR
-002E5D 14                DEC     A
-002E5E FD                MOV     R5,A
-002E5F D1F7              ACALL   _ipcRx
-002E61 904EED            MOV     DPTR,#pbuff
-002E64 E0                MOVX    A,@DPTR
-002E65 FB                MOV     R3,A
-002E66 A3                INC     DPTR
-002E67 E0                MOVX    A,@DPTR
-002E68 FA                MOV     R2,A
-002E69 A3                INC     DPTR
-002E6A E0                MOVX    A,@DPTR
-002E6B 2401              ADD     A,#01H
-002E6D F9                MOV     R1,A
-002E6E E4                CLR     A
-002E6F 3A                ADDC    A,R2
-002E70 FA                MOV     R2,A
-002E71 C002              PUSH    AR2
-002E73 C001              PUSH    AR1
-002E75 904EED            MOV     DPTR,#pbuff
-002E78 E0                MOVX    A,@DPTR
-002E79 A3                INC     DPTR
-002E7A E0                MOVX    A,@DPTR
-002E7B FA                MOV     R2,A
-002E7C A3                INC     DPTR
-002E7D E0                MOVX    A,@DPTR
-002E7E F9                MOV     R1,A
-002E7F 1203B6            LCALL   ?C?CLDPTR
-002E82 FD                MOV     R5,A
-002E83 7C00              MOV     R4,#00H
-002E85 904E77            MOV     DPTR,#ipcCb+0FH
-002E88 E0                MOVX    A,@DPTR
-002E89 A3                INC     DPTR
-002E8A E0                MOVX    A,@DPTR
-002E8B FA                MOV     R2,A
-002E8C A3                INC     DPTR
-002E8D E0                MOVX    A,@DPTR
-002E8E F582              MOV     DPL,A
-002E90 8A83              MOV     DPH,R2
-002E92 D001              POP     AR1
-002E94 D002              POP     AR2
-002E96 1205DD            LCALL   ?C?ICALL2
-002E99 8002              SJMP    ?C0039?IPC
-002E9B         ?C0037?IPC:
-002E9B 80FE              SJMP    ?C0037?IPC
-002E9D         IPC_TIMER:
-002E9D         ?C0039?IPC:
-002E9D 904BA5            MOV     DPTR,#bttimer
-002EA0 E0                MOVX    A,@DPTR
-002EA1 FE                MOV     R6,A
-002EA2 A3                INC     DPTR
-002EA3 E0                MOVX    A,@DPTR
-002EA4 FF                MOV     R7,A
-002EA5 904C5E            MOV     DPTR,#c51timer
-002EA8 E0                MOVX    A,@DPTR
-002EA9 6E                XRL     A,R6
-002EAA 7003              JNZ     ?C0049?IPC
-002EAC A3                INC     DPTR
-002EAD E0                MOVX    A,@DPTR
-002EAE 6F                XRL     A,R7
-002EAF         ?C0049?IPC:
-002EAF 6022              JZ      ?C0043?IPC
-002EB1 904E6E            MOV     DPTR,#ipcCb+06H
+002CF5 7A0C              MOV     R2,#HIGH ipcReadBuff
+002CF7 794B              MOV     R1,#LOW ipcReadBuff
+002CF9 904EED            MOV     DPTR,#pbuff
+002CFC 7401              MOV     A,#01H
+002CFE F0                MOVX    @DPTR,A
+002CFF A3                INC     DPTR
+002D00 740C              MOV     A,#HIGH ipcReadBuff
+002D02 F0                MOVX    @DPTR,A
+002D03 A3                INC     DPTR
+002D04 744B              MOV     A,#LOW ipcReadBuff
+002D06 F0                MOVX    @DPTR,A
+002D07 904BA0            MOV     DPTR,#ipcRxWritePtr
+002D0A E0                MOVX    A,@DPTR
+002D0B FE                MOV     R6,A
+002D0C A3                INC     DPTR
+002D0D E0                MOVX    A,@DPTR
+002D0E FF                MOV     R7,A
+002D0F 904B9E            MOV     DPTR,#ipcRxReadPtr
+002D12 E0                MOVX    A,@DPTR
+002D13 6E                XRL     A,R6
+002D14 7003              JNZ     ?C0048?IPC
+002D16 A3                INC     DPTR
+002D17 E0                MOVX    A,@DPTR
+002D18 6F                XRL     A,R7
+002D19         ?C0048?IPC:
+002D19 7002              JNZ     $ + 4H
+002D1B C1A4              AJMP    ?C0039?IPC
+002D1D         ?C0027?IPC:
+002D1D 7E0C              MOV     R6,#HIGH ipcReadBuff
+002D1F 7F4B              MOV     R7,#LOW ipcReadBuff
+002D21 7D03              MOV     R5,#03H
+002D23 D1FE              ACALL   _ipcRx
+002D25 904EED            MOV     DPTR,#pbuff
+002D28 E0                MOVX    A,@DPTR
+002D29 FB                MOV     R3,A
+002D2A A3                INC     DPTR
+002D2B E0                MOVX    A,@DPTR
+002D2C FA                MOV     R2,A
+002D2D A3                INC     DPTR
+002D2E E0                MOVX    A,@DPTR
+002D2F F9                MOV     R1,A
+002D30 1203B6            LCALL   ?C?CLDPTR
+002D33 B4022B            CJNE    A,#02H,?C0029?IPC
+002D36 904EEE            MOV     DPTR,#pbuff+01H
+002D39 E4                CLR     A
+002D3A 75F002            MOV     B,#02H
+002D3D 12040E            LCALL   ?C?IILDX
+002D40 904EED            MOV     DPTR,#pbuff
+002D43 E0                MOVX    A,@DPTR
+002D44 FB                MOV     R3,A
+002D45 A3                INC     DPTR
+002D46 E0                MOVX    A,@DPTR
+002D47 FA                MOV     R2,A
+002D48 A3                INC     DPTR
+002D49 E0                MOVX    A,@DPTR
+002D4A F9                MOV     R1,A
+002D4B 1203B6            LCALL   ?C?CLDPTR
+002D4E FF                MOV     R7,A
+002D4F 904E68            MOV     DPTR,#ipcCb
+002D52 E0                MOVX    A,@DPTR
+002D53 A3                INC     DPTR
+002D54 E0                MOVX    A,@DPTR
+002D55 FA                MOV     R2,A
+002D56 A3                INC     DPTR
+002D57 E0                MOVX    A,@DPTR
+002D58 F582              MOV     DPL,A
+002D5A 8A83              MOV     DPH,R2
+002D5C 1205DD            LCALL   ?C?ICALL2
+002D5F C1A4              AJMP    ?C0039?IPC
+002D61         ?C0029?IPC:
+002D61 904EED            MOV     DPTR,#pbuff
+002D64 E0                MOVX    A,@DPTR
+002D65 FB                MOV     R3,A
+002D66 A3                INC     DPTR
+002D67 E0                MOVX    A,@DPTR
+002D68 FA                MOV     R2,A
+002D69 A3                INC     DPTR
+002D6A E0                MOVX    A,@DPTR
+002D6B F9                MOV     R1,A
+002D6C 1203B6            LCALL   ?C?CLDPTR
+002D6F 6404              XRL     A,#04H
+002D71 7059              JNZ     ?C0031?IPC
+002D73 904EEE            MOV     DPTR,#pbuff+01H
+002D76 75F001            MOV     B,#01H
+002D79 12040E            LCALL   ?C?IILDX
+002D7C 7E0C              MOV     R6,#HIGH ipcReadBuff+03H
+002D7E 7F4E              MOV     R7,#LOW ipcReadBuff+03H
+002D80 904EED            MOV     DPTR,#pbuff
+002D83 E0                MOVX    A,@DPTR
+002D84 FB                MOV     R3,A
+002D85 A3                INC     DPTR
+002D86 E0                MOVX    A,@DPTR
+002D87 FA                MOV     R2,A
+002D88 A3                INC     DPTR
+002D89 E0                MOVX    A,@DPTR
+002D8A F9                MOV     R1,A
+002D8B 1203B6            LCALL   ?C?CLDPTR
+002D8E 14                DEC     A
+002D8F FD                MOV     R5,A
+002D90 D1FE              ACALL   _ipcRx
+002D92 904EED            MOV     DPTR,#pbuff
+002D95 E0                MOVX    A,@DPTR
+002D96 FB                MOV     R3,A
+002D97 A3                INC     DPTR
+002D98 E0                MOVX    A,@DPTR
+002D99 FA                MOV     R2,A
+002D9A A3                INC     DPTR
+002D9B E0                MOVX    A,@DPTR
+002D9C 2401              ADD     A,#01H
+002D9E F9                MOV     R1,A
+002D9F E4                CLR     A
+002DA0 3A                ADDC    A,R2
+002DA1 FA                MOV     R2,A
+002DA2 C002              PUSH    AR2
+002DA4 C001              PUSH    AR1
+002DA6 904EED            MOV     DPTR,#pbuff
+002DA9 E0                MOVX    A,@DPTR
+002DAA A3                INC     DPTR
+002DAB E0                MOVX    A,@DPTR
+002DAC FA                MOV     R2,A
+002DAD A3                INC     DPTR
+002DAE E0                MOVX    A,@DPTR
+002DAF F9                MOV     R1,A
+002DB0 1203B6            LCALL   ?C?CLDPTR
+002DB3 FD                MOV     R5,A
+002DB4 7C00              MOV     R4,#00H
+002DB6 904E6B            MOV     DPTR,#ipcCb+03H
+002DB9 E0                MOVX    A,@DPTR
+002DBA A3                INC     DPTR
+002DBB E0                MOVX    A,@DPTR
+002DBC FA                MOV     R2,A
+002DBD A3                INC     DPTR
+002DBE E0                MOVX    A,@DPTR
+002DBF F582              MOV     DPL,A
+002DC1 8A83              MOV     DPH,R2
+002DC3 D001              POP     AR1
+002DC5 D002              POP     AR2
+002DC7 1205DD            LCALL   ?C?ICALL2
+002DCA C1A4              AJMP    ?C0039?IPC
+002DCC         ?C0031?IPC:
+002DCC 904EED            MOV     DPTR,#pbuff
+002DCF E0                MOVX    A,@DPTR
+002DD0 FB                MOV     R3,A
+002DD1 A3                INC     DPTR
+002DD2 E0                MOVX    A,@DPTR
+002DD3 FA                MOV     R2,A
+002DD4 A3                INC     DPTR
+002DD5 E0                MOVX    A,@DPTR
+002DD6 F9                MOV     R1,A
+002DD7 1203B6            LCALL   ?C?CLDPTR
+002DDA 6405              XRL     A,#05H
+002DDC 7059              JNZ     ?C0033?IPC
+002DDE 904EEE            MOV     DPTR,#pbuff+01H
+002DE1 75F001            MOV     B,#01H
+002DE4 12040E            LCALL   ?C?IILDX
+002DE7 7E0C              MOV     R6,#HIGH ipcReadBuff+03H
+002DE9 7F4E              MOV     R7,#LOW ipcReadBuff+03H
+002DEB 904EED            MOV     DPTR,#pbuff
+002DEE E0                MOVX    A,@DPTR
+002DEF FB                MOV     R3,A
+002DF0 A3                INC     DPTR
+002DF1 E0                MOVX    A,@DPTR
+002DF2 FA                MOV     R2,A
+002DF3 A3                INC     DPTR
+002DF4 E0                MOVX    A,@DPTR
+002DF5 F9                MOV     R1,A
+002DF6 1203B6            LCALL   ?C?CLDPTR
+002DF9 14                DEC     A
+002DFA FD                MOV     R5,A
+002DFB D1FE              ACALL   _ipcRx
+002DFD 904EED            MOV     DPTR,#pbuff
+002E00 E0                MOVX    A,@DPTR
+002E01 FB                MOV     R3,A
+002E02 A3                INC     DPTR
+002E03 E0                MOVX    A,@DPTR
+002E04 FA                MOV     R2,A
+002E05 A3                INC     DPTR
+002E06 E0                MOVX    A,@DPTR
+002E07 2401              ADD     A,#01H
+002E09 F9                MOV     R1,A
+002E0A E4                CLR     A
+002E0B 3A                ADDC    A,R2
+002E0C FA                MOV     R2,A
+002E0D C002              PUSH    AR2
+002E0F C001              PUSH    AR1
+002E11 904EED            MOV     DPTR,#pbuff
+002E14 E0                MOVX    A,@DPTR
+002E15 A3                INC     DPTR
+002E16 E0                MOVX    A,@DPTR
+002E17 FA                MOV     R2,A
+002E18 A3                INC     DPTR
+002E19 E0                MOVX    A,@DPTR
+002E1A F9                MOV     R1,A
+002E1B 1203B6            LCALL   ?C?CLDPTR
+002E1E FD                MOV     R5,A
+002E1F 7C00              MOV     R4,#00H
+002E21 904E74            MOV     DPTR,#ipcCb+0CH
+002E24 E0                MOVX    A,@DPTR
+002E25 A3                INC     DPTR
+002E26 E0                MOVX    A,@DPTR
+002E27 FA                MOV     R2,A
+002E28 A3                INC     DPTR
+002E29 E0                MOVX    A,@DPTR
+002E2A F582              MOV     DPL,A
+002E2C 8A83              MOV     DPH,R2
+002E2E D001              POP     AR1
+002E30 D002              POP     AR2
+002E32 1205DD            LCALL   ?C?ICALL2
+002E35 806D              SJMP    ?C0039?IPC
+002E37         ?C0033?IPC:
+002E37 904EED            MOV     DPTR,#pbuff
+002E3A E0                MOVX    A,@DPTR
+002E3B FB                MOV     R3,A
+002E3C A3                INC     DPTR
+002E3D E0                MOVX    A,@DPTR
+002E3E FA                MOV     R2,A
+002E3F A3                INC     DPTR
+002E40 E0                MOVX    A,@DPTR
+002E41 F9                MOV     R1,A
+002E42 1203B6            LCALL   ?C?CLDPTR
+002E45 6403              XRL     A,#03H
+002E47 7059              JNZ     ?C0037?IPC
+002E49 904EEE            MOV     DPTR,#pbuff+01H
+002E4C 75F001            MOV     B,#01H
+002E4F 12040E            LCALL   ?C?IILDX
+002E52 7E0C              MOV     R6,#HIGH ipcReadBuff+03H
+002E54 7F4E              MOV     R7,#LOW ipcReadBuff+03H
+002E56 904EED            MOV     DPTR,#pbuff
+002E59 E0                MOVX    A,@DPTR
+002E5A FB                MOV     R3,A
+002E5B A3                INC     DPTR
+002E5C E0                MOVX    A,@DPTR
+002E5D FA                MOV     R2,A
+002E5E A3                INC     DPTR
+002E5F E0                MOVX    A,@DPTR
+002E60 F9                MOV     R1,A
+002E61 1203B6            LCALL   ?C?CLDPTR
+002E64 14                DEC     A
+002E65 FD                MOV     R5,A
+002E66 D1FE              ACALL   _ipcRx
+002E68 904EED            MOV     DPTR,#pbuff
+002E6B E0                MOVX    A,@DPTR
+002E6C FB                MOV     R3,A
+002E6D A3                INC     DPTR
+002E6E E0                MOVX    A,@DPTR
+002E6F FA                MOV     R2,A
+002E70 A3                INC     DPTR
+002E71 E0                MOVX    A,@DPTR
+002E72 2401              ADD     A,#01H
+002E74 F9                MOV     R1,A
+002E75 E4                CLR     A
+002E76 3A                ADDC    A,R2
+002E77 FA                MOV     R2,A
+002E78 C002              PUSH    AR2
+002E7A C001              PUSH    AR1
+002E7C 904EED            MOV     DPTR,#pbuff
+002E7F E0                MOVX    A,@DPTR
+002E80 A3                INC     DPTR
+002E81 E0                MOVX    A,@DPTR
+002E82 FA                MOV     R2,A
+002E83 A3                INC     DPTR
+002E84 E0                MOVX    A,@DPTR
+002E85 F9                MOV     R1,A
+002E86 1203B6            LCALL   ?C?CLDPTR
+002E89 FD                MOV     R5,A
+002E8A 7C00              MOV     R4,#00H
+002E8C 904E77            MOV     DPTR,#ipcCb+0FH
+002E8F E0                MOVX    A,@DPTR
+002E90 A3                INC     DPTR
+002E91 E0                MOVX    A,@DPTR
+002E92 FA                MOV     R2,A
+002E93 A3                INC     DPTR
+002E94 E0                MOVX    A,@DPTR
+002E95 F582              MOV     DPL,A
+002E97 8A83              MOV     DPH,R2
+002E99 D001              POP     AR1
+002E9B D002              POP     AR2
+002E9D 1205DD            LCALL   ?C?ICALL2
+002EA0 8002              SJMP    ?C0039?IPC
+002EA2         ?C0037?IPC:
+002EA2 80FE              SJMP    ?C0037?IPC
+002EA4         IPC_TIMER:
+002EA4         ?C0039?IPC:
+002EA4 904BA5            MOV     DPTR,#bttimer
+002EA7 E0                MOVX    A,@DPTR
+002EA8 FE                MOV     R6,A
+002EA9 A3                INC     DPTR
+002EAA E0                MOVX    A,@DPTR
+002EAB FF                MOV     R7,A
+002EAC 904C5E            MOV     DPTR,#c51timer
+002EAF E0                MOVX    A,@DPTR
+002EB0 6E                XRL     A,R6
+002EB1 7003              JNZ     ?C0049?IPC
+002EB3 A3                INC     DPTR
 002EB4 E0                MOVX    A,@DPTR
-002EB5 FB                MOV     R3,A
-002EB6 A3                INC     DPTR
-002EB7 E0                MOVX    A,@DPTR
-002EB8 FA                MOV     R2,A
-002EB9 A3                INC     DPTR
-002EBA E0                MOVX    A,@DPTR
-002EBB F9                MOV     R1,A
-002EBC 4A                ORL     A,R2
-002EBD 6037              JZ      ?C0042?IPC
-002EBF         ?C0041?IPC:
-002EBF 1205D9            LCALL   ?C?ICALL
-002EC2 904BA5            MOV     DPTR,#bttimer
-002EC5 E0                MOVX    A,@DPTR
-002EC6 FF                MOV     R7,A
-002EC7 A3                INC     DPTR
-002EC8 E0                MOVX    A,@DPTR
-002EC9 904C5E            MOV     DPTR,#c51timer
-002ECC CF                XCH     A,R7
-002ECD F0                MOVX    @DPTR,A
+002EB5 6F                XRL     A,R7
+002EB6         ?C0049?IPC:
+002EB6 6022              JZ      ?C0043?IPC
+002EB8 904E6E            MOV     DPTR,#ipcCb+06H
+002EBB E0                MOVX    A,@DPTR
+002EBC FB                MOV     R3,A
+002EBD A3                INC     DPTR
+002EBE E0                MOVX    A,@DPTR
+002EBF FA                MOV     R2,A
+002EC0 A3                INC     DPTR
+002EC1 E0                MOVX    A,@DPTR
+002EC2 F9                MOV     R1,A
+002EC3 4A                ORL     A,R2
+002EC4 6037              JZ      ?C0042?IPC
+002EC6         ?C0041?IPC:
+002EC6 1205D9            LCALL   ?C?ICALL
+002EC9 904BA5            MOV     DPTR,#bttimer
+002ECC E0                MOVX    A,@DPTR
+002ECD FF                MOV     R7,A
 002ECE A3                INC     DPTR
-002ECF EF                MOV     A,R7
-002ED0 F0                MOVX    @DPTR,A
-002ED1 80CA              SJMP    ?C0039?IPC
-002ED3         ?C0043?IPC:
-002ED3 904C8D            MOV     DPTR,#btstimer
-002ED6 E0                MOVX    A,@DPTR
-002ED7 FF                MOV     R7,A
-002ED8 A3                INC     DPTR
-002ED9 E0                MOVX    A,@DPTR
-002EDA 6F                XRL     A,R7
-002EDB 6019              JZ      ?C0042?IPC
-002EDD 904E71            MOV     DPTR,#ipcCb+09H
+002ECF E0                MOVX    A,@DPTR
+002ED0 904C5E            MOV     DPTR,#c51timer
+002ED3 CF                XCH     A,R7
+002ED4 F0                MOVX    @DPTR,A
+002ED5 A3                INC     DPTR
+002ED6 EF                MOV     A,R7
+002ED7 F0                MOVX    @DPTR,A
+002ED8 80CA              SJMP    ?C0039?IPC
+002EDA         ?C0043?IPC:
+002EDA 904C8D            MOV     DPTR,#btstimer
+002EDD E0                MOVX    A,@DPTR
+002EDE FF                MOV     R7,A
+002EDF A3                INC     DPTR
 002EE0 E0                MOVX    A,@DPTR
-002EE1 FB                MOV     R3,A
-002EE2 A3                INC     DPTR
-002EE3 E0                MOVX    A,@DPTR
-002EE4 FA                MOV     R2,A
-002EE5 A3                INC     DPTR
-002EE6 E0                MOVX    A,@DPTR
-002EE7 F9                MOV     R1,A
-002EE8 4A                ORL     A,R2
-002EE9 600B              JZ      ?C0042?IPC
-002EEB         ?C0045?IPC:
-002EEB 1205D9            LCALL   ?C?ICALL
-002EEE 904C8D            MOV     DPTR,#btstimer
-002EF1 E0                MOVX    A,@DPTR
-002EF2 A3                INC     DPTR
-002EF3 F0                MOVX    @DPTR,A
-002EF4 80DD              SJMP    ?C0043?IPC
-002EF6         ?C0042?IPC:
-002EF6 22                RET     
+002EE1 6F                XRL     A,R7
+002EE2 6019              JZ      ?C0042?IPC
+002EE4 904E71            MOV     DPTR,#ipcCb+09H
+002EE7 E0                MOVX    A,@DPTR
+002EE8 FB                MOV     R3,A
+002EE9 A3                INC     DPTR
+002EEA E0                MOVX    A,@DPTR
+002EEB FA                MOV     R2,A
+002EEC A3                INC     DPTR
+002EED E0                MOVX    A,@DPTR
+002EEE F9                MOV     R1,A
+002EEF 4A                ORL     A,R2
+002EF0 600B              JZ      ?C0042?IPC
+002EF2         ?C0045?IPC:
+002EF2 1205D9            LCALL   ?C?ICALL
+002EF5 904C8D            MOV     DPTR,#btstimer
+002EF8 E0                MOVX    A,@DPTR
+002EF9 A3                INC     DPTR
+002EFA F0                MOVX    @DPTR,A
+002EFB 80DD              SJMP    ?C0043?IPC
+002EFD         ?C0042?IPC:
+002EFD 22                RET     
 ----- FUNCTION IPC_DealSingleStep (END) -------
 
 
 ----- FUNCTION _ipcRx (BEGIN) -----
-002EF7 904EFD            MOV     DPTR,#dest
-002EFA EE                MOV     A,R6
-002EFB F0                MOVX    @DPTR,A
-002EFC A3                INC     DPTR
-002EFD EF                MOV     A,R7
-002EFE F0                MOVX    @DPTR,A
+002EFE 904EFD            MOV     DPTR,#dest
+002F01 EE                MOV     A,R6
+002F02 F0                MOVX    @DPTR,A
+002F03 A3                INC     DPTR
+002F04 EF                MOV     A,R7
+002F05 F0                MOVX    @DPTR,A
 ;---- Variable 'len' assigned to Register 'R1' ----
-002EFF A905              MOV     R1,AR5
-002F01 904B9E            MOV     DPTR,#ipcRxReadPtr
-002F04 E0                MOVX    A,@DPTR
-002F05 FE                MOV     R6,A
-002F06 A3                INC     DPTR
-002F07 E0                MOVX    A,@DPTR
-002F08 FF                MOV     R7,A
+002F06 A905              MOV     R1,AR5
+002F08 904B9E            MOV     DPTR,#ipcRxReadPtr
+002F0B E0                MOVX    A,@DPTR
+002F0C FE                MOV     R6,A
+002F0D A3                INC     DPTR
+002F0E E0                MOVX    A,@DPTR
+002F0F FF                MOV     R7,A
 ;---- Variable 'src' assigned to Register 'R6/R7' ----
-002F09         ?C0004?IPC:
-002F09 AD01              MOV     R5,AR1
-002F0B 19                DEC     R1
-002F0C ED                MOV     A,R5
-002F0D 602F              JZ      ?C0005?IPC
-002F0F 0F                INC     R7
-002F10 EF                MOV     A,R7
-002F11 AC06              MOV     R4,AR6
-002F13 7001              JNZ     ?C0046?IPC
-002F15 0E                INC     R6
-002F16         ?C0046?IPC:
-002F16 14                DEC     A
-002F17 F582              MOV     DPL,A
-002F19 8C83              MOV     DPH,R4
-002F1B E0                MOVX    A,@DPTR
-002F1C FD                MOV     R5,A
-002F1D 904EFD            MOV     DPTR,#dest
-002F20 E4                CLR     A
-002F21 75F001            MOV     B,#01H
-002F24 120424            LCALL   ?C?ILDIX
-002F27 85F082            MOV     DPL,B
-002F2A F583              MOV     DPH,A
-002F2C ED                MOV     A,R5
-002F2D F0                MOVX    @DPTR,A
-002F2E AD07              MOV     R5,AR7
-002F30 AC06              MOV     R4,AR6
-002F32 BC4BD4            CJNE    R4,#04BH,?C0004?IPC
-002F35 BD9AD1            CJNE    R5,#09AH,?C0004?IPC
-002F38 7E4B              MOV     R6,#04BH
-002F3A 7F36              MOV     R7,#036H
-002F3C 80CB              SJMP    ?C0004?IPC
-002F3E         ?C0005?IPC:
-002F3E 904B9E            MOV     DPTR,#ipcRxReadPtr
-002F41 EE                MOV     A,R6
-002F42 F0                MOVX    @DPTR,A
-002F43 A3                INC     DPTR
-002F44 EF                MOV     A,R7
-002F45 F0                MOVX    @DPTR,A
-002F46 22                RET     
+002F10         ?C0004?IPC:
+002F10 AD01              MOV     R5,AR1
+002F12 19                DEC     R1
+002F13 ED                MOV     A,R5
+002F14 602F              JZ      ?C0005?IPC
+002F16 0F                INC     R7
+002F17 EF                MOV     A,R7
+002F18 AC06              MOV     R4,AR6
+002F1A 7001              JNZ     ?C0046?IPC
+002F1C 0E                INC     R6
+002F1D         ?C0046?IPC:
+002F1D 14                DEC     A
+002F1E F582              MOV     DPL,A
+002F20 8C83              MOV     DPH,R4
+002F22 E0                MOVX    A,@DPTR
+002F23 FD                MOV     R5,A
+002F24 904EFD            MOV     DPTR,#dest
+002F27 E4                CLR     A
+002F28 75F001            MOV     B,#01H
+002F2B 120424            LCALL   ?C?ILDIX
+002F2E 85F082            MOV     DPL,B
+002F31 F583              MOV     DPH,A
+002F33 ED                MOV     A,R5
+002F34 F0                MOVX    @DPTR,A
+002F35 AD07              MOV     R5,AR7
+002F37 AC06              MOV     R4,AR6
+002F39 BC4BD4            CJNE    R4,#04BH,?C0004?IPC
+002F3C BD9AD1            CJNE    R5,#09AH,?C0004?IPC
+002F3F 7E4B              MOV     R6,#04BH
+002F41 7F36              MOV     R7,#036H
+002F43 80CB              SJMP    ?C0004?IPC
+002F45         ?C0005?IPC:
+002F45 904B9E            MOV     DPTR,#ipcRxReadPtr
+002F48 EE                MOV     A,R6
+002F49 F0                MOVX    @DPTR,A
+002F4A A3                INC     DPTR
+002F4B EF                MOV     A,R7
+002F4C F0                MOVX    @DPTR,A
+002F4D 22                RET     
 ----- FUNCTION _ipcRx (END) -------
 
 
 ----- FUNCTION kb_cb_init (BEGIN) -----
  FILE: 'sys.c'
-  807: static void kb_cb_init()
-  808: {
-  809: 	IPC_Initialize(&cb);
-  810: }
-002F47 7B01              MOV     R3,#01H
-002F49 7A4E              MOV     R2,#HIGH cb
-002F4B 7956              MOV     R1,#LOW cb
+  804: static void kb_cb_init()
+  805: {
+  806: 	IPC_Initialize(&cb);
+  807: }
+002F4E 7B01              MOV     R3,#01H
+002F50 7A4E              MOV     R2,#HIGH cb
+002F52 7956              MOV     R1,#LOW cb
 ;----                  JMP     _IPC_Initialize
 ----- FUNCTION kb_cb_init (END) -------
 
 
 ----- FUNCTION _IPC_Initialize (BEGIN) -----
 ;---- Variable 'cb' assigned to Register 'R1/R2/R3' ----
-002F4D 7868              MOV     R0,#LOW ipcCb
-002F4F 7C4E              MOV     R4,#HIGH ipcCb
-002F51 7D01              MOV     R5,#01H
-002F53 7E00              MOV     R6,#00H
-002F55 7F12              MOV     R7,#012H
-002F57 020390            LJMP    ?C?COPY
+002F54 7868              MOV     R0,#LOW ipcCb
+002F56 7C4E              MOV     R4,#HIGH ipcCb
+002F58 7D01              MOV     R5,#01H
+002F5A 7E00              MOV     R6,#00H
+002F5C 7F12              MOV     R7,#012H
+002F5E 020390            LJMP    ?C?COPY
 ----- FUNCTION _IPC_Initialize (END) -------
 
 
 ----- FUNCTION _GPIO_GetInputStatus (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
-002F5A 7B01              MOV     R3,#01H
-002F5C 7A81              MOV     R2,#081H
-002F5E 791C              MOV     R1,#01CH
+002F61 7B01              MOV     R3,#01H
+002F63 7A81              MOV     R2,#081H
+002F65 791C              MOV     R1,#01CH
 ;----                  JMP     _gpioGetBit
 ----- FUNCTION _GPIO_GetInputStatus (END) -------
 
 
 ----- FUNCTION _gpioGetBit (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R5' ----
-002F60 AD07              MOV     R5,AR7
+002F67 AD07              MOV     R5,AR7
 ;---- Variable 'reg_base' assigned to Register 'R1/R2/R3' ----
-002F62 E4                CLR     A
-002F63 904F09            MOV     DPTR,#queue
-002F66 F0                MOVX    @DPTR,A
+002F69 E4                CLR     A
+002F6A 904F09            MOV     DPTR,#queue
+002F6D F0                MOVX    @DPTR,A
 ;---- Variable 'group' assigned to Register 'R6' ----
-002F67 FE                MOV     R6,A
-002F68 EF                MOV     A,R7
-002F69 5407              ANL     A,#07H
-002F6B F0                MOVX    @DPTR,A
-002F6C EF                MOV     A,R7
-002F6D 13                RRC     A
-002F6E 13                RRC     A
-002F6F 13                RRC     A
-002F70 5403              ANL     A,#03H
-002F72 FE                MOV     R6,A
-002F73 F582              MOV     DPL,A
-002F75 758300            MOV     DPH,#00H
-002F78 1203CF            LCALL   ?C?CLDOPTR
-002F7B FD                MOV     R5,A
-002F7C 33                RLC     A
-002F7D 95E0              SUBB    A,ACC
-002F7F FC                MOV     R4,A
-002F80 904F09            MOV     DPTR,#queue
-002F83 E0                MOVX    A,@DPTR
-002F84 FF                MOV     R7,A
-002F85 7401              MOV     A,#01H
-002F87 7E00              MOV     R6,#00H
-002F89 A807              MOV     R0,AR7
-002F8B 08                INC     R0
-002F8C 8005              SJMP    ?C0035?GPIO
-002F8E         ?C0034?GPIO:
-002F8E C3                CLR     C
-002F8F 33                RLC     A
-002F90 CE                XCH     A,R6
-002F91 33                RLC     A
-002F92 CE                XCH     A,R6
-002F93         ?C0035?GPIO:
-002F93 D8F9              DJNZ    R0,?C0034?GPIO
-002F95 FF                MOV     R7,A
-002F96 EE                MOV     A,R6
-002F97 5C                ANL     A,R4
-002F98 FE                MOV     R6,A
-002F99 EF                MOV     A,R7
-002F9A 5D                ANL     A,R5
-002F9B 4E                ORL     A,R6
-002F9C 24FF              ADD     A,#0FFH
-002F9E 22                RET     
+002F6E FE                MOV     R6,A
+002F6F EF                MOV     A,R7
+002F70 5407              ANL     A,#07H
+002F72 F0                MOVX    @DPTR,A
+002F73 EF                MOV     A,R7
+002F74 13                RRC     A
+002F75 13                RRC     A
+002F76 13                RRC     A
+002F77 5403              ANL     A,#03H
+002F79 FE                MOV     R6,A
+002F7A F582              MOV     DPL,A
+002F7C 758300            MOV     DPH,#00H
+002F7F 1203CF            LCALL   ?C?CLDOPTR
+002F82 FD                MOV     R5,A
+002F83 33                RLC     A
+002F84 95E0              SUBB    A,ACC
+002F86 FC                MOV     R4,A
+002F87 904F09            MOV     DPTR,#queue
+002F8A E0                MOVX    A,@DPTR
+002F8B FF                MOV     R7,A
+002F8C 7401              MOV     A,#01H
+002F8E 7E00              MOV     R6,#00H
+002F90 A807              MOV     R0,AR7
+002F92 08                INC     R0
+002F93 8005              SJMP    ?C0035?GPIO
+002F95         ?C0034?GPIO:
+002F95 C3                CLR     C
+002F96 33                RLC     A
+002F97 CE                XCH     A,R6
+002F98 33                RLC     A
+002F99 CE                XCH     A,R6
+002F9A         ?C0035?GPIO:
+002F9A D8F9              DJNZ    R0,?C0034?GPIO
+002F9C FF                MOV     R7,A
+002F9D EE                MOV     A,R6
+002F9E 5C                ANL     A,R4
+002F9F FE                MOV     R6,A
+002FA0 EF                MOV     A,R7
+002FA1 5D                ANL     A,R5
+002FA2 4E                ORL     A,R6
+002FA3 24FF              ADD     A,#0FFH
+002FA5 22                RET     
 ----- FUNCTION _gpioGetBit (END) -------
 
 
@@ -9179,18 +9211,18 @@
     6: {
     7: 	YC_System_Main();
     8: }
-002F9F 8192              AJMP    YC_System_Main
+002FA6 8199              AJMP    YC_System_Main
 ----- FUNCTION main (END) -------
 
 
 ----- FUNCTION IPC_AbandonLpm (BEGIN) -----
-002FA1 900B7F            MOV     DPTR,#lpm_flag
-002FA4 7401              MOV     A,#01H
-002FA6 F0                MOVX    @DPTR,A
-002FA7 E4                CLR     A
-002FA8 900B7E            MOV     DPTR,#current_task
-002FAB F0                MOVX    @DPTR,A
-002FAC 22                RET     
+002FA8 900B7F            MOV     DPTR,#lpm_flag
+002FAB 7401              MOV     A,#01H
+002FAD F0                MOVX    @DPTR,A
+002FAE E4                CLR     A
+002FAF 900B7E            MOV     DPTR,#current_task
+002FB2 F0                MOVX    @DPTR,A
+002FB3 22                RET     
 ----- FUNCTION IPC_AbandonLpm (END) -------
 
 
@@ -9200,345 +9232,314 @@
    87: {
    88: 	LED_all_shutdown();
    89: 	m_24g_pairing_sm = 0xff;
-002FAD 1217B7            LCALL   LED_all_shutdown
+002FB4 121799            LCALL   LED_all_shutdown
    90: 	g_variable.g24_long_sleep_flag = 1;
-002FB0 904BEF            MOV     DPTR,#m_24g_pairing_sm
-002FB3 74FF              MOV     A,#0FFH
-002FB5 F0                MOVX    @DPTR,A
+002FB7 904BEF            MOV     DPTR,#m_24g_pairing_sm
+002FBA 74FF              MOV     A,#0FFH
+002FBC F0                MOVX    @DPTR,A
    91: #ifdef PC_SLEEP_STATUS_GET	
-002FB6 904CFC            MOV     DPTR,#g_variable+03DH
-002FB9 7401              MOV     A,#01H
-002FBB F0                MOVX    @DPTR,A
+002FBD 904CFC            MOV     DPTR,#g_variable+03DH
+002FC0 7401              MOV     A,#01H
+002FC2 F0                MOVX    @DPTR,A
    92: 	g_variable.sys_numlockled_on_timer = 0;
-002FBC E4                CLR     A
-002FBD 904CE6            MOV     DPTR,#g_variable+027H
-002FC0 F0                MOVX    @DPTR,A
+002FC3 E4                CLR     A
+002FC4 904CE6            MOV     DPTR,#g_variable+027H
+002FC7 F0                MOVX    @DPTR,A
    93: 	g_variable.sys_capslockled_on_timer = 0;
-002FC1 A3                INC     DPTR
-002FC2 F0                MOVX    @DPTR,A
+002FC8 A3                INC     DPTR
+002FC9 F0                MOVX    @DPTR,A
    94: 	g_variable.sys_scrolllockled_on_timer = 0;
-002FC3 A3                INC     DPTR
-002FC4 F0                MOVX    @DPTR,A
+002FCA A3                INC     DPTR
+002FCB F0                MOVX    @DPTR,A
    95: 	m_caps_num_lock = 0xf0;
-002FC5 904CB7            MOV     DPTR,#m_caps_num_lock
-002FC8 74F0              MOV     A,#0F0H
-002FCA F0                MOVX    @DPTR,A
+002FCC 904CB7            MOV     DPTR,#m_caps_num_lock
+002FCF 74F0              MOV     A,#0F0H
+002FD1 F0                MOVX    @DPTR,A
    96: 	m_caps_num_lock_last = 0xf0; 
-002FCB 904DE0            MOV     DPTR,#m_caps_num_lock_last
-002FCE F0                MOVX    @DPTR,A
+002FD2 904DE0            MOV     DPTR,#m_caps_num_lock_last
+002FD5 F0                MOVX    @DPTR,A
    97: #endif	
    98: 	m_24g_enter_hibernate[0]	= 0xff;
-002FCF 904D40            MOV     DPTR,#m_24g_enter_hibernate
-002FD2 74FF              MOV     A,#0FFH
-002FD4 F0                MOVX    @DPTR,A
+002FD6 904D40            MOV     DPTR,#m_24g_enter_hibernate
+002FD9 74FF              MOV     A,#0FFH
+002FDB F0                MOVX    @DPTR,A
    99: 	m_24g_enter_hibernate[1]	= 0xff;
-002FD5 A3                INC     DPTR
-002FD6 F0                MOVX    @DPTR,A
+002FDC A3                INC     DPTR
+002FDD F0                MOVX    @DPTR,A
   100: 	m_24g_enter_hibernate[2]	= 0xff;
-002FD7 A3                INC     DPTR
-002FD8 F0                MOVX    @DPTR,A
+002FDE A3                INC     DPTR
+002FDF F0                MOVX    @DPTR,A
   101: 	m_24g_enter_hibernate[3]	= 0xff;
-002FD9 A3                INC     DPTR
-002FDA F0                MOVX    @DPTR,A
+002FE0 A3                INC     DPTR
+002FE1 F0                MOVX    @DPTR,A
   102: }
-002FDB 22                RET     
+002FE2 22                RET     
 ----- FUNCTION System_G24_long_lpm (END) -------
 
 
 ----- FUNCTION KS_ScanMatrix (BEGIN) -----
  FILE: 'keyscan.c'
-  253: void KS_ScanMatrix()
-  254: {
-  255: 	byte i = 0;
-  256: 	byte j = 0;
+  252: void KS_ScanMatrix()
+  253: {
+  254: 	byte i = 0;
+  255: 	byte j = 0;
 ;---- Variable 'i' assigned to Register 'R7' ----
-002FDC E4                CLR     A
-002FDD FF                MOV     R7,A
-  257: 	byte tgroup = 0;
-002FDE 904EE7            MOV     DPTR,#j
-002FE1 F0                MOVX    @DPTR,A
-  258: 	byte tgpionum = 0;
+002FE3 E4                CLR     A
+002FE4 FF                MOV     R7,A
+  256: 	byte tgroup = 0;
+002FE5 904EE7            MOV     DPTR,#j
+002FE8 F0                MOVX    @DPTR,A
+  257: 	byte tgpionum = 0;
 ;---- Variable 'tgroup' assigned to Register 'R6' ----
-002FE2 FE                MOV     R6,A
-  259: 	byte temp = 0;
+002FE9 FE                MOV     R6,A
+  258: 	byte temp = 0;
 ;---- Variable 'tgpionum' assigned to Register 'R5' ----
-002FE3 FD                MOV     R5,A
-  260: 	byte check = 0;
-002FE4 A3                INC     DPTR
-002FE5 F0                MOVX    @DPTR,A
-  261: 	for (i=0; col[i]!=0; i++) {
-002FE6 A3                INC     DPTR
-002FE7 F0                MOVX    @DPTR,A
-  262: 		tgroup = col[i]  >> 3;
-002FE8         ?C0043?KEYSCAN:
-002FE8 EF                MOV     A,R7
-002FE9 900681            MOV     DPTR,#col
-002FEC 93                MOVC    A,@A+DPTR
-002FED 7003              JNZ     $ + 5H
-002FEF 02306F            LJMP    ?C0044?KEYSCAN
-  263: 		tgpionum = 1 << (col[i] & 7);
-002FF2 EF                MOV     A,R7
+002FEA FD                MOV     R5,A
+  259: 	byte check = 0;
+002FEB A3                INC     DPTR
+002FEC F0                MOVX    @DPTR,A
+  260: 	for (i=0; col[i]!=0; i++) {
+002FED A3                INC     DPTR
+002FEE F0                MOVX    @DPTR,A
+  261: 		tgroup = col[i]  >> 3;
+002FEF         ?C0043?KEYSCAN:
+002FEF EF                MOV     A,R7
+002FF0 900681            MOV     DPTR,#col
 002FF3 93                MOVC    A,@A+DPTR
-002FF4 FD                MOV     R5,A
-002FF5 13                RRC     A
-002FF6 13                RRC     A
-002FF7 13                RRC     A
-002FF8 541F              ANL     A,#01FH
-002FFA FE                MOV     R6,A
-  264: 		GET_RAW_KEY_SEL(ksSelMapCurr[i], tgroup, tgpionum);
-002FFB ED                MOV     A,R5
-002FFC 5407              ANL     A,#07H
-002FFE FD                MOV     R5,A
-002FFF 7401              MOV     A,#01H
-003001 A805              MOV     R0,AR5
-003003 08                INC     R0
-003004 8002              SJMP    ?C0099?KEYSCAN
-003006         ?C0098?KEYSCAN:
-003006 C3                CLR     C
-003007 33                RLC     A
-003008         ?C0099?KEYSCAN:
-003008 D8FC              DJNZ    R0,?C0098?KEYSCAN
-00300A FD                MOV     R5,A
-  265: 	}
-00300B EE                MOV     A,R6
-00300C 2478              ADD     A,#078H
-00300E FB                MOV     R3,A
-00300F E4                CLR     A
-003010 3480              ADDC    A,#080H
-003012 8B82              MOV     DPL,R3
-003014 F583              MOV     DPH,A
-003016 E0                MOVX    A,@DPTR
-003017 FC                MOV     R4,A
-003018 ED                MOV     A,R5
-003019 F4                CPL     A
-00301A FB                MOV     R3,A
-00301B EC                MOV     A,R4
-00301C 5B                ANL     A,R3
-00301D F0                MOVX    @DPTR,A
-00301E EE                MOV     A,R6
-00301F 2470              ADD     A,#070H
-003021 F582              MOV     DPL,A
-003023 E4                CLR     A
-003024 3480              ADDC    A,#080H
-003026 F583              MOV     DPH,A
-003028 E0                MOVX    A,@DPTR
-003029 4D                ORL     A,R5
-00302A F0                MOVX    @DPTR,A
-00302B EE                MOV     A,R6
-00302C 2474              ADD     A,#074H
-00302E F582              MOV     DPL,A
-003030 E4                CLR     A
-003031 3480              ADDC    A,#080H
-003033 F583              MOV     DPH,A
-003035 E0                MOVX    A,@DPTR
-003036 5B                ANL     A,R3
-003037 F0                MOVX    @DPTR,A
-003038 90811C            MOV     DPTR,#0811CH
-00303B E0                MOVX    A,@DPTR
-00303C F4                CPL     A
-00303D FC                MOV     R4,A
-00303E 74BC              MOV     A,#LOW ksSelMapCurr
-003040 2F                ADD     A,R7
-003041 F582              MOV     DPL,A
-003043 E4                CLR     A
-003044 344D              ADDC    A,#HIGH ksSelMapCurr
-003046 F583              MOV     DPH,A
-003048 EC                MOV     A,R4
-003049 F0                MOVX    @DPTR,A
-00304A EE                MOV     A,R6
-00304B 2478              ADD     A,#078H
-00304D FB                MOV     R3,A
-00304E E4                CLR     A
-00304F 3480              ADDC    A,#080H
-003051 8B82              MOV     DPL,R3
-003053 F583              MOV     DPH,A
-003055 E0                MOVX    A,@DPTR
-003056 4D                ORL     A,R5
-003057 F0                MOVX    @DPTR,A
-003058 EE                MOV     A,R6
-003059 2470              ADD     A,#070H
-00305B FB                MOV     R3,A
-00305C E4                CLR     A
-00305D 3480              ADDC    A,#080H
-00305F 8B82              MOV     DPL,R3
-003061 F583              MOV     DPH,A
-003063 E0                MOVX    A,@DPTR
-003064 FC                MOV     R4,A
-003065 ED                MOV     A,R5
-003066 F4                CPL     A
-003067 FB                MOV     R3,A
-003068 EC                MOV     A,R4
-003069 5B                ANL     A,R3
-00306A F0                MOVX    @DPTR,A
-  266: 
-00306B 0F                INC     R7
-00306C 022FE8            LJMP    ?C0043?KEYSCAN
-00306F         ?C0044?KEYSCAN:
-  267: 	for (i=0; col[i]!=0; i++) {
-00306F E4                CLR     A
-003070 FF                MOV     R7,A
-003071         ?C0046?KEYSCAN:
-003071 EF                MOV     A,R7
-003072 900681            MOV     DPTR,#col
-003075 93                MOVC    A,@A+DPTR
-003076 607C              JZ      ?C0047?KEYSCAN
-  268: 		tgroup = col[i]  >> 3;
-003078 EF                MOV     A,R7
-003079 93                MOVC    A,@A+DPTR
-00307A FD                MOV     R5,A
-00307B 13                RRC     A
-00307C 13                RRC     A
-00307D 13                RRC     A
-00307E 541F              ANL     A,#01FH
-003080 FE                MOV     R6,A
-  269: 		tgpionum = 1 << (col[i] & 7);
-003081 ED                MOV     A,R5
-003082 5407              ANL     A,#07H
-003084 FD                MOV     R5,A
-003085 7401              MOV     A,#01H
-003087 A805              MOV     R0,AR5
-003089 08                INC     R0
-00308A 8002              SJMP    ?C0101?KEYSCAN
-00308C         ?C0100?KEYSCAN:
-00308C C3                CLR     C
-00308D 33                RLC     A
-00308E         ?C0101?KEYSCAN:
-00308E D8FC              DJNZ    R0,?C0100?KEYSCAN
-003090 FD                MOV     R5,A
-  270: 		GET_RAW_KEY_SEL(ksSelMapCheck[i], tgroup, tgpionum);
-003091 EE                MOV     A,R6
-003092 2478              ADD     A,#078H
-003094 FB                MOV     R3,A
-003095 E4                CLR     A
-003096 3480              ADDC    A,#080H
-003098 8B82              MOV     DPL,R3
-00309A F583              MOV     DPH,A
-00309C E0                MOVX    A,@DPTR
-00309D FC                MOV     R4,A
-00309E ED                MOV     A,R5
-00309F F4                CPL     A
-0030A0 FB                MOV     R3,A
-0030A1 EC                MOV     A,R4
-0030A2 5B                ANL     A,R3
-0030A3 F0                MOVX    @DPTR,A
-0030A4 EE                MOV     A,R6
-0030A5 2470              ADD     A,#070H
-0030A7 F582              MOV     DPL,A
-0030A9 E4                CLR     A
-0030AA 3480              ADDC    A,#080H
-0030AC F583              MOV     DPH,A
-0030AE E0                MOVX    A,@DPTR
-0030AF 4D                ORL     A,R5
-0030B0 F0                MOVX    @DPTR,A
-0030B1 EE                MOV     A,R6
-0030B2 2474              ADD     A,#074H
-0030B4 F582              MOV     DPL,A
-0030B6 E4                CLR     A
-0030B7 3480              ADDC    A,#080H
-0030B9 F583              MOV     DPH,A
-0030BB E0                MOVX    A,@DPTR
-0030BC 5B                ANL     A,R3
-0030BD F0                MOVX    @DPTR,A
-0030BE 90811C            MOV     DPTR,#0811CH
-0030C1 E0                MOVX    A,@DPTR
-0030C2 F4                CPL     A
-0030C3 FC                MOV     R4,A
-0030C4 74A8              MOV     A,#LOW ksSelMapCheck
-0030C6 2F                ADD     A,R7
-0030C7 F582              MOV     DPL,A
-0030C9 E4                CLR     A
-0030CA 344D              ADDC    A,#HIGH ksSelMapCheck
-0030CC F583              MOV     DPH,A
-0030CE EC                MOV     A,R4
-0030CF F0                MOVX    @DPTR,A
-0030D0 EE                MOV     A,R6
-0030D1 2478              ADD     A,#078H
-0030D3 FB                MOV     R3,A
-0030D4 E4                CLR     A
-0030D5 3480              ADDC    A,#080H
-0030D7 8B82              MOV     DPL,R3
-0030D9 F583              MOV     DPH,A
-0030DB E0                MOVX    A,@DPTR
-0030DC 4D                ORL     A,R5
-0030DD F0                MOVX    @DPTR,A
-0030DE EE                MOV     A,R6
-0030DF 2470              ADD     A,#070H
-0030E1 FB                MOV     R3,A
-0030E2 E4                CLR     A
-0030E3 3480              ADDC    A,#080H
-0030E5 8B82              MOV     DPL,R3
-0030E7 F583              MOV     DPH,A
-0030E9 E0                MOVX    A,@DPTR
-0030EA FC                MOV     R4,A
-0030EB ED                MOV     A,R5
-0030EC F4                CPL     A
-0030ED FB                MOV     R3,A
-0030EE EC                MOV     A,R4
-0030EF 5B                ANL     A,R3
-0030F0 F0                MOVX    @DPTR,A
-  271: 	}
-0030F1 0F                INC     R7
-0030F2 0171              AJMP    ?C0046?KEYSCAN
-0030F4         ?C0047?KEYSCAN:
-  272: 
-  273: 	for (i=0; col[i]!=0; i++) {
-0030F4 E4                CLR     A
-0030F5 FF                MOV     R7,A
-0030F6         ?C0049?KEYSCAN:
-0030F6 EF                MOV     A,R7
-0030F7 900681            MOV     DPTR,#col
-0030FA 93                MOVC    A,@A+DPTR
-0030FB 6040              JZ      ?C0053?KEYSCAN
-  274: 		if (ksSelMapCheck[i]!=ksSelMapCurr[i]) {
-0030FD 74BC              MOV     A,#LOW ksSelMapCurr
-0030FF 2F                ADD     A,R7
-003100 F582              MOV     DPL,A
-003102 E4                CLR     A
-003103 344D              ADDC    A,#HIGH ksSelMapCurr
-003105 F583              MOV     DPH,A
-003107 E0                MOVX    A,@DPTR
-003108 FE                MOV     R6,A
-003109 74A8              MOV     A,#LOW ksSelMapCheck
-00310B 2F                ADD     A,R7
-00310C F582              MOV     DPL,A
-00310E E4                CLR     A
-00310F 344D              ADDC    A,#HIGH ksSelMapCheck
-003111 F583              MOV     DPH,A
-003113 E0                MOVX    A,@DPTR
-003114 6E                XRL     A,R6
-003115 6023              JZ      ?C0051?KEYSCAN
-  275: 			ksSelMapCurr[i] &= ksSelMapCheck[i];
-003117 74BC              MOV     A,#LOW ksSelMapCurr
-003119 2F                ADD     A,R7
-00311A F582              MOV     DPL,A
-00311C E4                CLR     A
-00311D 344D              ADDC    A,#HIGH ksSelMapCurr
-00311F F583              MOV     DPH,A
-003121 C083              PUSH    DPH
-003123 C082              PUSH    DPL
-003125 E0                MOVX    A,@DPTR
-003126 FE                MOV     R6,A
-003127 74A8              MOV     A,#LOW ksSelMapCheck
-003129 2F                ADD     A,R7
-00312A F582              MOV     DPL,A
-00312C E4                CLR     A
-00312D 344D              ADDC    A,#HIGH ksSelMapCheck
-00312F F583              MOV     DPH,A
-003131 E0                MOVX    A,@DPTR
-003132 FD                MOV     R5,A
-003133 EE                MOV     A,R6
-003134 5D                ANL     A,R5
-003135 D082              POP     DPL
-003137 D083              POP     DPH
-003139 F0                MOVX    @DPTR,A
-  276: 		}
-  277: 	}
-00313A         ?C0051?KEYSCAN:
-00313A 0F                INC     R7
-00313B 80B9              SJMP    ?C0049?KEYSCAN
-  278: }
-00313D         ?C0053?KEYSCAN:
-00313D 22                RET     
+002FF4 6069              JZ      ?C0044?KEYSCAN
+  262: 		tgpionum = 1 << (col[i] & 7);
+002FF6 EF                MOV     A,R7
+002FF7 93                MOVC    A,@A+DPTR
+002FF8 FD                MOV     R5,A
+002FF9 13                RRC     A
+002FFA 13                RRC     A
+002FFB 13                RRC     A
+002FFC 541F              ANL     A,#01FH
+002FFE FE                MOV     R6,A
+  263: 		GET_RAW_KEY_SEL(ksSelMapCurr[i], tgroup, tgpionum);
+002FFF ED                MOV     A,R5
+003000 5407              ANL     A,#07H
+003002 FD                MOV     R5,A
+003003 7401              MOV     A,#01H
+003005 A805              MOV     R0,AR5
+003007 08                INC     R0
+003008 8002              SJMP    ?C0099?KEYSCAN
+00300A         ?C0098?KEYSCAN:
+00300A C3                CLR     C
+00300B 33                RLC     A
+00300C         ?C0099?KEYSCAN:
+00300C D8FC              DJNZ    R0,?C0098?KEYSCAN
+00300E FD                MOV     R5,A
+  264: 	}
+00300F EE                MOV     A,R6
+003010 2478              ADD     A,#078H
+003012 FB                MOV     R3,A
+003013 E4                CLR     A
+003014 3480              ADDC    A,#080H
+003016 8B82              MOV     DPL,R3
+003018 F583              MOV     DPH,A
+00301A E0                MOVX    A,@DPTR
+00301B FC                MOV     R4,A
+00301C ED                MOV     A,R5
+00301D F4                CPL     A
+00301E FB                MOV     R3,A
+00301F EC                MOV     A,R4
+003020 5B                ANL     A,R3
+003021 F0                MOVX    @DPTR,A
+003022 EE                MOV     A,R6
+003023 2470              ADD     A,#070H
+003025 F582              MOV     DPL,A
+003027 E4                CLR     A
+003028 3480              ADDC    A,#080H
+00302A F583              MOV     DPH,A
+00302C E0                MOVX    A,@DPTR
+00302D 4D                ORL     A,R5
+00302E F0                MOVX    @DPTR,A
+00302F EE                MOV     A,R6
+003030 2474              ADD     A,#074H
+003032 F582              MOV     DPL,A
+003034 E4                CLR     A
+003035 3480              ADDC    A,#080H
+003037 F583              MOV     DPH,A
+003039 E0                MOVX    A,@DPTR
+00303A 5B                ANL     A,R3
+00303B F0                MOVX    @DPTR,A
+00303C 90811C            MOV     DPTR,#0811CH
+00303F E0                MOVX    A,@DPTR
+003040 F4                CPL     A
+003041 FC                MOV     R4,A
+003042 74BC              MOV     A,#LOW ksSelMapCurr
+003044 2F                ADD     A,R7
+003045 F582              MOV     DPL,A
+003047 E4                CLR     A
+003048 344D              ADDC    A,#HIGH ksSelMapCurr
+00304A F583              MOV     DPH,A
+00304C EC                MOV     A,R4
+00304D F0                MOVX    @DPTR,A
+00304E EE                MOV     A,R6
+00304F 2474              ADD     A,#074H
+003051 FB                MOV     R3,A
+003052 E4                CLR     A
+003053 3480              ADDC    A,#080H
+003055 8B82              MOV     DPL,R3
+003057 F583              MOV     DPH,A
+003059 E0                MOVX    A,@DPTR
+00305A 4D                ORL     A,R5
+00305B F0                MOVX    @DPTR,A
+  265: 
+00305C 0F                INC     R7
+00305D 8090              SJMP    ?C0043?KEYSCAN
+00305F         ?C0044?KEYSCAN:
+  266: 	for (i=0; col[i]!=0; i++) {
+00305F E4                CLR     A
+003060 FF                MOV     R7,A
+003061         ?C0046?KEYSCAN:
+003061 EF                MOV     A,R7
+003062 900681            MOV     DPTR,#col
+003065 93                MOVC    A,@A+DPTR
+003066 6069              JZ      ?C0047?KEYSCAN
+  267: 		tgroup = col[i]  >> 3;
+003068 EF                MOV     A,R7
+003069 93                MOVC    A,@A+DPTR
+00306A FD                MOV     R5,A
+00306B 13                RRC     A
+00306C 13                RRC     A
+00306D 13                RRC     A
+00306E 541F              ANL     A,#01FH
+003070 FE                MOV     R6,A
+  268: 		tgpionum = 1 << (col[i] & 7);
+003071 ED                MOV     A,R5
+003072 5407              ANL     A,#07H
+003074 FD                MOV     R5,A
+003075 7401              MOV     A,#01H
+003077 A805              MOV     R0,AR5
+003079 08                INC     R0
+00307A 8002              SJMP    ?C0101?KEYSCAN
+00307C         ?C0100?KEYSCAN:
+00307C C3                CLR     C
+00307D 33                RLC     A
+00307E         ?C0101?KEYSCAN:
+00307E D8FC              DJNZ    R0,?C0100?KEYSCAN
+003080 FD                MOV     R5,A
+  269: 		GET_RAW_KEY_SEL(ksSelMapCheck[i], tgroup, tgpionum);
+003081 EE                MOV     A,R6
+003082 2478              ADD     A,#078H
+003084 FB                MOV     R3,A
+003085 E4                CLR     A
+003086 3480              ADDC    A,#080H
+003088 8B82              MOV     DPL,R3
+00308A F583              MOV     DPH,A
+00308C E0                MOVX    A,@DPTR
+00308D FC                MOV     R4,A
+00308E ED                MOV     A,R5
+00308F F4                CPL     A
+003090 FB                MOV     R3,A
+003091 EC                MOV     A,R4
+003092 5B                ANL     A,R3
+003093 F0                MOVX    @DPTR,A
+003094 EE                MOV     A,R6
+003095 2470              ADD     A,#070H
+003097 F582              MOV     DPL,A
+003099 E4                CLR     A
+00309A 3480              ADDC    A,#080H
+00309C F583              MOV     DPH,A
+00309E E0                MOVX    A,@DPTR
+00309F 4D                ORL     A,R5
+0030A0 F0                MOVX    @DPTR,A
+0030A1 EE                MOV     A,R6
+0030A2 2474              ADD     A,#074H
+0030A4 F582              MOV     DPL,A
+0030A6 E4                CLR     A
+0030A7 3480              ADDC    A,#080H
+0030A9 F583              MOV     DPH,A
+0030AB E0                MOVX    A,@DPTR
+0030AC 5B                ANL     A,R3
+0030AD F0                MOVX    @DPTR,A
+0030AE 90811C            MOV     DPTR,#0811CH
+0030B1 E0                MOVX    A,@DPTR
+0030B2 F4                CPL     A
+0030B3 FC                MOV     R4,A
+0030B4 74A8              MOV     A,#LOW ksSelMapCheck
+0030B6 2F                ADD     A,R7
+0030B7 F582              MOV     DPL,A
+0030B9 E4                CLR     A
+0030BA 344D              ADDC    A,#HIGH ksSelMapCheck
+0030BC F583              MOV     DPH,A
+0030BE EC                MOV     A,R4
+0030BF F0                MOVX    @DPTR,A
+0030C0 EE                MOV     A,R6
+0030C1 2474              ADD     A,#074H
+0030C3 FB                MOV     R3,A
+0030C4 E4                CLR     A
+0030C5 3480              ADDC    A,#080H
+0030C7 8B82              MOV     DPL,R3
+0030C9 F583              MOV     DPH,A
+0030CB E0                MOVX    A,@DPTR
+0030CC 4D                ORL     A,R5
+0030CD F0                MOVX    @DPTR,A
+  270: 	}
+0030CE 0F                INC     R7
+0030CF 8090              SJMP    ?C0046?KEYSCAN
+0030D1         ?C0047?KEYSCAN:
+  271: 
+  272: 	for (i=0; col[i]!=0; i++) {
+0030D1 E4                CLR     A
+0030D2 FF                MOV     R7,A
+0030D3         ?C0049?KEYSCAN:
+0030D3 EF                MOV     A,R7
+0030D4 900681            MOV     DPTR,#col
+0030D7 93                MOVC    A,@A+DPTR
+0030D8 6040              JZ      ?C0053?KEYSCAN
+  273: 		if (ksSelMapCheck[i]!=ksSelMapCurr[i]) {
+0030DA 74BC              MOV     A,#LOW ksSelMapCurr
+0030DC 2F                ADD     A,R7
+0030DD F582              MOV     DPL,A
+0030DF E4                CLR     A
+0030E0 344D              ADDC    A,#HIGH ksSelMapCurr
+0030E2 F583              MOV     DPH,A
+0030E4 E0                MOVX    A,@DPTR
+0030E5 FE                MOV     R6,A
+0030E6 74A8              MOV     A,#LOW ksSelMapCheck
+0030E8 2F                ADD     A,R7
+0030E9 F582              MOV     DPL,A
+0030EB E4                CLR     A
+0030EC 344D              ADDC    A,#HIGH ksSelMapCheck
+0030EE F583              MOV     DPH,A
+0030F0 E0                MOVX    A,@DPTR
+0030F1 6E                XRL     A,R6
+0030F2 6023              JZ      ?C0051?KEYSCAN
+  274: 			ksSelMapCurr[i] &= ksSelMapCheck[i];
+0030F4 74BC              MOV     A,#LOW ksSelMapCurr
+0030F6 2F                ADD     A,R7
+0030F7 F582              MOV     DPL,A
+0030F9 E4                CLR     A
+0030FA 344D              ADDC    A,#HIGH ksSelMapCurr
+0030FC F583              MOV     DPH,A
+0030FE C083              PUSH    DPH
+003100 C082              PUSH    DPL
+003102 E0                MOVX    A,@DPTR
+003103 FE                MOV     R6,A
+003104 74A8              MOV     A,#LOW ksSelMapCheck
+003106 2F                ADD     A,R7
+003107 F582              MOV     DPL,A
+003109 E4                CLR     A
+00310A 344D              ADDC    A,#HIGH ksSelMapCheck
+00310C F583              MOV     DPH,A
+00310E E0                MOVX    A,@DPTR
+00310F FD                MOV     R5,A
+003110 EE                MOV     A,R6
+003111 5D                ANL     A,R5
+003112 D082              POP     DPL
+003114 D083              POP     DPH
+003116 F0                MOVX    @DPTR,A
+  275: 		}
+  276: 	}
+003117         ?C0051?KEYSCAN:
+003117 0F                INC     R7
+003118 80B9              SJMP    ?C0049?KEYSCAN
+  277: }
+00311A         ?C0053?KEYSCAN:
+00311A 22                RET     
 ----- FUNCTION KS_ScanMatrix (END) -------
 
 
@@ -9548,28 +9549,28 @@
    44: {
    45: 	REG_IICD_SCL_LOW  =  0x0d;
    46:    	REG_IICD_SCL_HIGH  =  0x0e;
-00313E 908091            MOV     DPTR,#08091H
-003141 740D              MOV     A,#0DH
-003143 F0                MOVX    @DPTR,A
+00311B 908091            MOV     DPTR,#08091H
+00311E 740D              MOV     A,#0DH
+003120 F0                MOVX    @DPTR,A
    47:    	REG_IICD_START_SETUP  = 0x0e;
-003144 A3                INC     DPTR
-003145 04                INC     A
-003146 F0                MOVX    @DPTR,A
+003121 A3                INC     DPTR
+003122 04                INC     A
+003123 F0                MOVX    @DPTR,A
    48:    	REG_IICD_START_HOLD  = 0x0e;
-003147 A3                INC     DPTR
-003148 F0                MOVX    @DPTR,A
+003124 A3                INC     DPTR
+003125 F0                MOVX    @DPTR,A
    49:   	REG_IICD_STOP_SETUP  = 0x0e;
-003149 A3                INC     DPTR
-00314A F0                MOVX    @DPTR,A
+003126 A3                INC     DPTR
+003127 F0                MOVX    @DPTR,A
    50:    	REG_IICD_DATA_SETUP  = 0x0d;
-00314B A3                INC     DPTR
-00314C F0                MOVX    @DPTR,A
+003128 A3                INC     DPTR
+003129 F0                MOVX    @DPTR,A
    51: }
-00314D A3                INC     DPTR
-00314E 14                DEC     A
-00314F F0                MOVX    @DPTR,A
+00312A A3                INC     DPTR
+00312B 14                DEC     A
+00312C F0                MOVX    @DPTR,A
    52: 
-003150 22                RET     
+00312D 22                RET     
 ----- FUNCTION System_IIC_clk_setup (END) -------
 
 
@@ -9579,42 +9580,42 @@
    62: {
    63: 	System_clear_mem();
    64: 	YC_adc_init();
-003151 120B97            LCALL   System_clear_mem
+00312E 120B97            LCALL   System_clear_mem
    65: 	g_variable.release_data =1;
-003154 3186              ACALL   YC_adc_init
+003131 3163              ACALL   YC_adc_init
    66: 	g_variable.powerOn_timer = KB_POWERON_LED_ON_TIMER;
-003156 904CEB            MOV     DPTR,#g_variable+02CH
-003159 7401              MOV     A,#01H
-00315B F0                MOVX    @DPTR,A
+003133 904CEB            MOV     DPTR,#g_variable+02CH
+003136 7401              MOV     A,#01H
+003138 F0                MOVX    @DPTR,A
    67: 	g_variable.recon_count = 0;
-00315C 904CE5            MOV     DPTR,#g_variable+026H
-00315F 741E              MOV     A,#01EH
-003161 F0                MOVX    @DPTR,A
+003139 904CE5            MOV     DPTR,#g_variable+026H
+00313C 741E              MOV     A,#01EH
+00313E F0                MOVX    @DPTR,A
    68: 	g_variable.test_buff = 0xff;
-003162 E4                CLR     A
-003163 904CF0            MOV     DPTR,#g_variable+031H
-003166 F0                MOVX    @DPTR,A
+00313F E4                CLR     A
+003140 904CF0            MOV     DPTR,#g_variable+031H
+003143 F0                MOVX    @DPTR,A
    69: 	le_lap_temp[0] = m_le_lap[3];
-003167 904D05            MOV     DPTR,#g_variable+046H
-00316A 74FF              MOV     A,#0FFH
-00316C F0                MOVX    @DPTR,A
+003144 904D05            MOV     DPTR,#g_variable+046H
+003147 74FF              MOV     A,#0FFH
+003149 F0                MOVX    @DPTR,A
    70: 	le_lap_temp[1] = m_le_lap[4];
-00316D 9044FC            MOV     DPTR,#m_le_lap+03H
-003170 E0                MOVX    A,@DPTR
-003171 904DD0            MOV     DPTR,#le_lap_temp
-003174 F0                MOVX    @DPTR,A
+00314A 9044FC            MOV     DPTR,#m_le_lap+03H
+00314D E0                MOVX    A,@DPTR
+00314E 904DD0            MOV     DPTR,#le_lap_temp
+003151 F0                MOVX    @DPTR,A
    71: 	le_lap_temp[2] = m_le_lap[5];
-003175 9044FD            MOV     DPTR,#m_le_lap+04H
-003178 E0                MOVX    A,@DPTR
-003179 904DD1            MOV     DPTR,#le_lap_temp+01H
-00317C F0                MOVX    @DPTR,A
+003152 9044FD            MOV     DPTR,#m_le_lap+04H
+003155 E0                MOVX    A,@DPTR
+003156 904DD1            MOV     DPTR,#le_lap_temp+01H
+003159 F0                MOVX    @DPTR,A
    72: }
-00317D 9044FE            MOV     DPTR,#m_le_lap+05H
-003180 E0                MOVX    A,@DPTR
-003181 904DD2            MOV     DPTR,#le_lap_temp+02H
-003184 F0                MOVX    @DPTR,A
+00315A 9044FE            MOV     DPTR,#m_le_lap+05H
+00315D E0                MOVX    A,@DPTR
+00315E 904DD2            MOV     DPTR,#le_lap_temp+02H
+003161 F0                MOVX    @DPTR,A
    73: 
-003185 22                RET     
+003162 22                RET     
 ----- FUNCTION System_Software_init (END) -------
 
 
@@ -9626,13 +9627,13 @@
     6: 	byte i;
     7: 	
     8: 	g_variable.battery_check_interval = BATTERY_CHECK_INTERVAL;
-003186 904CD3            MOV     DPTR,#g_variable+014H
-003189 7405              MOV     A,#05H
-00318B F0                MOVX    @DPTR,A
+003163 904CD3            MOV     DPTR,#g_variable+014H
+003166 7405              MOV     A,#05H
+003168 F0                MOVX    @DPTR,A
     9: 	g_variable.battery_value_index = 0;
-00318C E4                CLR     A
-00318D A3                INC     DPTR
-00318E F0                MOVX    @DPTR,A
+003169 E4                CLR     A
+00316A A3                INC     DPTR
+00316B F0                MOVX    @DPTR,A
    10: 
    11: #ifdef ADC_TYPE_HVIN 	
    12: 	for (i = 0; i < BAT_ARRAY_LEN; i++)
@@ -9654,177 +9655,177 @@
    28: #endif
    29: #ifdef ADC_TYPE_GPIO
    30: 	m_adc_channel = ADC_CHANNEL;
-00318F 904C90            MOV     DPTR,#m_adc_channel
-003192 7433              MOV     A,#033H
-003194 F0                MOVX    @DPTR,A
+00316C 904C90            MOV     DPTR,#m_adc_channel
+00316F 7433              MOV     A,#033H
+003171 F0                MOVX    @DPTR,A
    31: 	for (i = 0; i < BAT_ARRAY_LEN; i++)
 ;---- Variable 'i' assigned to Register 'R7' ----
-003195 E4                CLR     A
-003196 FF                MOV     R7,A
-003197         ?C0001?ADC:
+003172 E4                CLR     A
+003173 FF                MOV     R7,A
+003174         ?C0001?ADC:
    32: 	{
    33: 		g_variable.battery_value[i] = INIT_BATTERY_VALUE_GPIO;
-003197 EF                MOV     A,R7
-003198 25E0              ADD     A,ACC
-00319A 24D6              ADD     A,#LOW g_variable+017H
-00319C F582              MOV     DPL,A
-00319E E4                CLR     A
-00319F 344C              ADDC    A,#HIGH g_variable+017H
-0031A1 F583              MOV     DPH,A
-0031A3 7462              MOV     A,#062H
-0031A5 F0                MOVX    @DPTR,A
-0031A6 A3                INC     DPTR
-0031A7 F0                MOVX    @DPTR,A
+003174 EF                MOV     A,R7
+003175 25E0              ADD     A,ACC
+003177 24D6              ADD     A,#LOW g_variable+017H
+003179 F582              MOV     DPL,A
+00317B E4                CLR     A
+00317C 344C              ADDC    A,#HIGH g_variable+017H
+00317E F583              MOV     DPH,A
+003180 7462              MOV     A,#062H
+003182 F0                MOVX    @DPTR,A
+003183 A3                INC     DPTR
+003184 F0                MOVX    @DPTR,A
    34: 	}
-0031A8 0F                INC     R7
-0031A9 EF                MOV     A,R7
-0031AA B404EA            CJNE    A,#04H,?C0001?ADC
-0031AD         ?C0002?ADC:
+003185 0F                INC     R7
+003186 EF                MOV     A,R7
+003187 B404EA            CJNE    A,#04H,?C0001?ADC
+00318A         ?C0002?ADC:
    35: 	g_variable.battery_level_full = (m_adc3vValue - m_adc0vBase)*LOW_BATTER_COEFFICIENT_1V5+m_adc0vBase;
-0031AD 904C91            MOV     DPTR,#m_adc0vBase
-0031B0 E0                MOVX    A,@DPTR
-0031B1 FE                MOV     R6,A
-0031B2 A3                INC     DPTR
-0031B3 E0                MOVX    A,@DPTR
-0031B4 FF                MOV     R7,A
-0031B5 C3                CLR     C
-0031B6 904C94            MOV     DPTR,#m_adc3vValue+01H
+00318A 904C91            MOV     DPTR,#m_adc0vBase
+00318D E0                MOVX    A,@DPTR
+00318E FE                MOV     R6,A
+00318F A3                INC     DPTR
+003190 E0                MOVX    A,@DPTR
+003191 FF                MOV     R7,A
+003192 C3                CLR     C
+003193 904C94            MOV     DPTR,#m_adc3vValue+01H
+003196 E0                MOVX    A,@DPTR
+003197 9F                SUBB    A,R7
+003198 FD                MOV     R5,A
+003199 904C93            MOV     DPTR,#m_adc3vValue
+00319C E0                MOVX    A,@DPTR
+00319D 9E                SUBB    A,R6
+00319E FC                MOV     R4,A
+00319F E4                CLR     A
+0031A0 120206            LCALL   ?C?FCASTI
+0031A3 7BF6              MOV     R3,#0F6H
+0031A5 7A28              MOV     R2,#028H
+0031A7 791C              MOV     R1,#01CH
+0031A9 783F              MOV     R0,#03FH
+0031AB 1200FB            LCALL   ?C?FPMUL
+0031AE C004              PUSH    AR4
+0031B0 C005              PUSH    AR5
+0031B2 C006              PUSH    AR6
+0031B4 C007              PUSH    AR7
+0031B6 904C91            MOV     DPTR,#m_adc0vBase
 0031B9 E0                MOVX    A,@DPTR
-0031BA 9F                SUBB    A,R7
-0031BB FD                MOV     R5,A
-0031BC 904C93            MOV     DPTR,#m_adc3vValue
-0031BF E0                MOVX    A,@DPTR
-0031C0 9E                SUBB    A,R6
-0031C1 FC                MOV     R4,A
-0031C2 E4                CLR     A
-0031C3 120206            LCALL   ?C?FCASTI
-0031C6 7BF6              MOV     R3,#0F6H
-0031C8 7A28              MOV     R2,#028H
-0031CA 791C              MOV     R1,#01CH
-0031CC 783F              MOV     R0,#03FH
-0031CE 1200FB            LCALL   ?C?FPMUL
-0031D1 C004              PUSH    AR4
-0031D3 C005              PUSH    AR5
-0031D5 C006              PUSH    AR6
-0031D7 C007              PUSH    AR7
-0031D9 904C91            MOV     DPTR,#m_adc0vBase
-0031DC E0                MOVX    A,@DPTR
-0031DD FC                MOV     R4,A
-0031DE A3                INC     DPTR
-0031DF E0                MOVX    A,@DPTR
-0031E0 FD                MOV     R5,A
-0031E1 E4                CLR     A
-0031E2 120206            LCALL   ?C?FCASTI
-0031E5 D003              POP     AR3
-0031E7 D002              POP     AR2
-0031E9 D001              POP     AR1
-0031EB D000              POP     AR0
-0031ED 12000A            LCALL   ?C?FPADD
-0031F0 12023F            LCALL   ?C?CASTF
-0031F3 904CFA            MOV     DPTR,#g_variable+03BH
-0031F6 EE                MOV     A,R6
-0031F7 F0                MOVX    @DPTR,A
-0031F8 A3                INC     DPTR
-0031F9 EF                MOV     A,R7
-0031FA F0                MOVX    @DPTR,A
+0031BA FC                MOV     R4,A
+0031BB A3                INC     DPTR
+0031BC E0                MOVX    A,@DPTR
+0031BD FD                MOV     R5,A
+0031BE E4                CLR     A
+0031BF 120206            LCALL   ?C?FCASTI
+0031C2 D003              POP     AR3
+0031C4 D002              POP     AR2
+0031C6 D001              POP     AR1
+0031C8 D000              POP     AR0
+0031CA 12000A            LCALL   ?C?FPADD
+0031CD 12023F            LCALL   ?C?CASTF
+0031D0 904CFA            MOV     DPTR,#g_variable+03BH
+0031D3 EE                MOV     A,R6
+0031D4 F0                MOVX    @DPTR,A
+0031D5 A3                INC     DPTR
+0031D6 EF                MOV     A,R7
+0031D7 F0                MOVX    @DPTR,A
    36: 	g_variable.battery_level_low = (m_adc3vValue - m_adc0vBase)*LOW_BATTER_COEFFICIENT_1V1+m_adc0vBase;
-0031FB 904C91            MOV     DPTR,#m_adc0vBase
-0031FE E0                MOVX    A,@DPTR
-0031FF FE                MOV     R6,A
-003200 A3                INC     DPTR
-003201 E0                MOVX    A,@DPTR
-003202 FF                MOV     R7,A
-003203 C3                CLR     C
-003204 904C94            MOV     DPTR,#m_adc3vValue+01H
+0031D8 904C91            MOV     DPTR,#m_adc0vBase
+0031DB E0                MOVX    A,@DPTR
+0031DC FE                MOV     R6,A
+0031DD A3                INC     DPTR
+0031DE E0                MOVX    A,@DPTR
+0031DF FF                MOV     R7,A
+0031E0 C3                CLR     C
+0031E1 904C94            MOV     DPTR,#m_adc3vValue+01H
+0031E4 E0                MOVX    A,@DPTR
+0031E5 9F                SUBB    A,R7
+0031E6 FD                MOV     R5,A
+0031E7 904C93            MOV     DPTR,#m_adc3vValue
+0031EA E0                MOVX    A,@DPTR
+0031EB 9E                SUBB    A,R6
+0031EC FC                MOV     R4,A
+0031ED E4                CLR     A
+0031EE 120206            LCALL   ?C?FCASTI
+0031F1 7BC3              MOV     R3,#0C3H
+0031F3 7AF5              MOV     R2,#0F5H
+0031F5 79A8              MOV     R1,#0A8H
+0031F7 783E              MOV     R0,#03EH
+0031F9 1200FB            LCALL   ?C?FPMUL
+0031FC C004              PUSH    AR4
+0031FE C005              PUSH    AR5
+003200 C006              PUSH    AR6
+003202 C007              PUSH    AR7
+003204 904C91            MOV     DPTR,#m_adc0vBase
 003207 E0                MOVX    A,@DPTR
-003208 9F                SUBB    A,R7
-003209 FD                MOV     R5,A
-00320A 904C93            MOV     DPTR,#m_adc3vValue
-00320D E0                MOVX    A,@DPTR
-00320E 9E                SUBB    A,R6
-00320F FC                MOV     R4,A
-003210 E4                CLR     A
-003211 120206            LCALL   ?C?FCASTI
-003214 7BC3              MOV     R3,#0C3H
-003216 7AF5              MOV     R2,#0F5H
-003218 79A8              MOV     R1,#0A8H
-00321A 783E              MOV     R0,#03EH
-00321C 1200FB            LCALL   ?C?FPMUL
-00321F C004              PUSH    AR4
-003221 C005              PUSH    AR5
-003223 C006              PUSH    AR6
-003225 C007              PUSH    AR7
-003227 904C91            MOV     DPTR,#m_adc0vBase
-00322A E0                MOVX    A,@DPTR
-00322B FC                MOV     R4,A
-00322C A3                INC     DPTR
-00322D E0                MOVX    A,@DPTR
-00322E FD                MOV     R5,A
-00322F E4                CLR     A
-003230 120206            LCALL   ?C?FCASTI
-003233 D003              POP     AR3
-003235 D002              POP     AR2
-003237 D001              POP     AR1
-003239 D000              POP     AR0
-00323B 12000A            LCALL   ?C?FPADD
-00323E 12023F            LCALL   ?C?CASTF
-003241 904CDE            MOV     DPTR,#g_variable+01FH
-003244 EE                MOV     A,R6
-003245 F0                MOVX    @DPTR,A
-003246 A3                INC     DPTR
-003247 EF                MOV     A,R7
-003248 F0                MOVX    @DPTR,A
+003208 FC                MOV     R4,A
+003209 A3                INC     DPTR
+00320A E0                MOVX    A,@DPTR
+00320B FD                MOV     R5,A
+00320C E4                CLR     A
+00320D 120206            LCALL   ?C?FCASTI
+003210 D003              POP     AR3
+003212 D002              POP     AR2
+003214 D001              POP     AR1
+003216 D000              POP     AR0
+003218 12000A            LCALL   ?C?FPADD
+00321B 12023F            LCALL   ?C?CASTF
+00321E 904CDE            MOV     DPTR,#g_variable+01FH
+003221 EE                MOV     A,R6
+003222 F0                MOVX    @DPTR,A
+003223 A3                INC     DPTR
+003224 EF                MOV     A,R7
+003225 F0                MOVX    @DPTR,A
    37: 	g_variable.battery_level_shutdown = (m_adc3vValue - m_adc0vBase)*LOW_BATTER_COEFFICIENT_0V9+m_adc0vBase;
-003249 904C91            MOV     DPTR,#m_adc0vBase
-00324C E0                MOVX    A,@DPTR
-00324D FE                MOV     R6,A
-00324E A3                INC     DPTR
-00324F E0                MOVX    A,@DPTR
-003250 FF                MOV     R7,A
-003251 C3                CLR     C
-003252 904C94            MOV     DPTR,#m_adc3vValue+01H
+003226 904C91            MOV     DPTR,#m_adc0vBase
+003229 E0                MOVX    A,@DPTR
+00322A FE                MOV     R6,A
+00322B A3                INC     DPTR
+00322C E0                MOVX    A,@DPTR
+00322D FF                MOV     R7,A
+00322E C3                CLR     C
+00322F 904C94            MOV     DPTR,#m_adc3vValue+01H
+003232 E0                MOVX    A,@DPTR
+003233 9F                SUBB    A,R7
+003234 FD                MOV     R5,A
+003235 904C93            MOV     DPTR,#m_adc3vValue
+003238 E0                MOVX    A,@DPTR
+003239 9E                SUBB    A,R6
+00323A FC                MOV     R4,A
+00323B E4                CLR     A
+00323C 120206            LCALL   ?C?FCASTI
+00323F 7B5C              MOV     R3,#05CH
+003241 7A8F              MOV     R2,#08FH
+003243 7942              MOV     R1,#042H
+003245 783E              MOV     R0,#03EH
+003247 1200FB            LCALL   ?C?FPMUL
+00324A C004              PUSH    AR4
+00324C C005              PUSH    AR5
+00324E C006              PUSH    AR6
+003250 C007              PUSH    AR7
+003252 904C91            MOV     DPTR,#m_adc0vBase
 003255 E0                MOVX    A,@DPTR
-003256 9F                SUBB    A,R7
-003257 FD                MOV     R5,A
-003258 904C93            MOV     DPTR,#m_adc3vValue
-00325B E0                MOVX    A,@DPTR
-00325C 9E                SUBB    A,R6
-00325D FC                MOV     R4,A
-00325E E4                CLR     A
-00325F 120206            LCALL   ?C?FCASTI
-003262 7B5C              MOV     R3,#05CH
-003264 7A8F              MOV     R2,#08FH
-003266 7942              MOV     R1,#042H
-003268 783E              MOV     R0,#03EH
-00326A 1200FB            LCALL   ?C?FPMUL
-00326D C004              PUSH    AR4
-00326F C005              PUSH    AR5
-003271 C006              PUSH    AR6
-003273 C007              PUSH    AR7
-003275 904C91            MOV     DPTR,#m_adc0vBase
-003278 E0                MOVX    A,@DPTR
-003279 FC                MOV     R4,A
-00327A A3                INC     DPTR
-00327B E0                MOVX    A,@DPTR
-00327C FD                MOV     R5,A
-00327D E4                CLR     A
-00327E 120206            LCALL   ?C?FCASTI
-003281 D003              POP     AR3
-003283 D002              POP     AR2
-003285 D001              POP     AR1
-003287 D000              POP     AR0
-003289 12000A            LCALL   ?C?FPADD
-00328C 12023F            LCALL   ?C?CASTF
-00328F 904CE0            MOV     DPTR,#g_variable+021H
-003292 EE                MOV     A,R6
-003293 F0                MOVX    @DPTR,A
-003294 A3                INC     DPTR
-003295 EF                MOV     A,R7
-003296 F0                MOVX    @DPTR,A
+003256 FC                MOV     R4,A
+003257 A3                INC     DPTR
+003258 E0                MOVX    A,@DPTR
+003259 FD                MOV     R5,A
+00325A E4                CLR     A
+00325B 120206            LCALL   ?C?FCASTI
+00325E D003              POP     AR3
+003260 D002              POP     AR2
+003262 D001              POP     AR1
+003264 D000              POP     AR0
+003266 12000A            LCALL   ?C?FPADD
+003269 12023F            LCALL   ?C?CASTF
+00326C 904CE0            MOV     DPTR,#g_variable+021H
+00326F EE                MOV     A,R6
+003270 F0                MOVX    @DPTR,A
+003271 A3                INC     DPTR
+003272 EF                MOV     A,R7
+003273 F0                MOVX    @DPTR,A
    38: #endif	
    39: #endif
    40: }
-003297 22                RET     
+003274 22                RET     
 ----- FUNCTION YC_adc_init (END) -------
 
 
@@ -9832,790 +9833,731 @@
  FILE: 'sys.c'
   114: static void kb_cb_Hid(byte *p,byte len) {
   115: 	//p[0] is hid type,always is 1(kb) now
-003298 904EFB            MOV     DPTR,#len
-00329B ED                MOV     A,R5
-00329C F0                MOVX    @DPTR,A
+003275 904EFB            MOV     DPTR,#len
+003278 ED                MOV     A,R5
+003279 F0                MOVX    @DPTR,A
 ;---- Variable 'p' assigned to Register 'R1/R2/R3' ----
   116: 	byte temp = p[1];
-00329D 900001            MOV     DPTR,#01H
-0032A0 1203CF            LCALL   ?C?CLDOPTR
-0032A3 904EFC            MOV     DPTR,#temp
-0032A6 F0                MOVX    @DPTR,A
+00327A 900001            MOV     DPTR,#01H
+00327D 1203CF            LCALL   ?C?CLDOPTR
+003280 904EFC            MOV     DPTR,#temp
+003283 F0                MOVX    @DPTR,A
   117: 
   118: 	if (len<2) {
   119: 		return;
   120: 	}
   121: }
-0032A7 22                RET     
+003284 22                RET     
 ----- FUNCTION _kb_cb_Hid (END) -------
 
 
 ----- FUNCTION kb_cb_Timer100ms (BEGIN) -----
  FILE: 'sys.c'
-  692: static void kb_cb_Timer100ms()
-  693: {
-  694: 
-  695: 	if (g_variable.delay_enter_lpm_timer) 
-0032A8 904CEA            MOV     DPTR,#g_variable+02BH
-0032AB E0                MOVX    A,@DPTR
-0032AC 6002              JZ      ?C0132?SYS
-  696: 	{
-  697: 		g_variable.delay_enter_lpm_timer --;
-0032AE 14                DEC     A
-0032AF F0                MOVX    @DPTR,A
-  698: 	}
-0032B0         ?C0132?SYS:
+  689: static void kb_cb_Timer100ms()
+  690: {
+  691: 
+  692: 	if (g_variable.delay_enter_lpm_timer) 
+003285 904CEA            MOV     DPTR,#g_variable+02BH
+003288 E0                MOVX    A,@DPTR
+003289 6002              JZ      ?C0132?SYS
+  693: 	{
+  694: 		g_variable.delay_enter_lpm_timer --;
+00328B 14                DEC     A
+00328C F0                MOVX    @DPTR,A
+  695: 	}
+00328D         ?C0132?SYS:
+  696: 
+  697: 	if(g_variable.recon_delay)
+00328D 904CEF            MOV     DPTR,#g_variable+030H
+003290 E0                MOVX    A,@DPTR
+003291 6002              JZ      ?C0133?SYS
+  698: 		g_variable.recon_delay--;
+003293 14                DEC     A
+003294 F0                MOVX    @DPTR,A
+003295         ?C0133?SYS:
   699: 
-  700: 	if(g_variable.recon_delay)
-0032B0 904CEF            MOV     DPTR,#g_variable+030H
-0032B3 E0                MOVX    A,@DPTR
-0032B4 6002              JZ      ?C0133?SYS
-  701: 		g_variable.recon_delay--;
-0032B6 14                DEC     A
-0032B7 F0                MOVX    @DPTR,A
-0032B8         ?C0133?SYS:
-  702: 
-  703: 	if(g_variable.one_key_press_wait_release_timer)
-0032B8 904CF8            MOV     DPTR,#g_variable+039H
+  700: 	if(g_variable.one_key_press_wait_release_timer)
+003295 904CF8            MOV     DPTR,#g_variable+039H
+003298 E0                MOVX    A,@DPTR
+003299 600B              JZ      ?C0134?SYS
+  701: 	{
+  702: 		g_variable.one_key_press_wait_release_timer--;
+00329B 14                DEC     A
+00329C F0                MOVX    @DPTR,A
+  703: 		if(!g_variable.one_key_press_wait_release_timer)
+00329D E0                MOVX    A,@DPTR
+00329E 7006              JNZ     ?C0134?SYS
+  704: 			g_variable.key_combination_step = CAMBINATION_KEY_NULL;
+0032A0 904CF4            MOV     DPTR,#g_variable+035H
+0032A3 7406              MOV     A,#06H
+0032A5 F0                MOVX    @DPTR,A
+  705: 	}
+0032A6         ?C0134?SYS:
+  706: 	
+  707: 	if (g_variable.powerOn_timer != 0)
+0032A6 904CE5            MOV     DPTR,#g_variable+026H
+0032A9 E0                MOVX    A,@DPTR
+0032AA 6020              JZ      ?C0136?SYS
+  708: 	{	
+  709: 		if(g_variable.pairing_g24_timeout)
+0032AC 904CEE            MOV     DPTR,#g_variable+02FH
+0032AF E0                MOVX    A,@DPTR
+0032B0 6006              JZ      ?C0137?SYS
+  710: 		{
+  711: 			g_variable.powerOn_timer = 0;
+0032B2 E4                CLR     A
+0032B3 904CE5            MOV     DPTR,#g_variable+026H
+0032B6 F0                MOVX    @DPTR,A
+0032B7 22                RET     
+  712: 			return;
+  713: 		}
+0032B8         ?C0137?SYS:
+  714: 			
+  715: 		g_variable.powerOn_timer--;
+0032B8 904CE5            MOV     DPTR,#g_variable+026H
 0032BB E0                MOVX    A,@DPTR
-0032BC 600B              JZ      ?C0134?SYS
-  704: 	{
-  705: 		g_variable.one_key_press_wait_release_timer--;
-0032BE 14                DEC     A
-0032BF F0                MOVX    @DPTR,A
-  706: 		if(!g_variable.one_key_press_wait_release_timer)
-0032C0 E0                MOVX    A,@DPTR
-0032C1 7006              JNZ     ?C0134?SYS
-  707: 			g_variable.key_combination_step = CAMBINATION_KEY_NULL;
-0032C3 904CF4            MOV     DPTR,#g_variable+035H
-0032C6 7406              MOV     A,#06H
-0032C8 F0                MOVX    @DPTR,A
-  708: 	}
-0032C9         ?C0134?SYS:
-  709: 	
-  710: 	if (g_variable.powerOn_timer != 0)
-0032C9 904CE5            MOV     DPTR,#g_variable+026H
-0032CC E0                MOVX    A,@DPTR
-0032CD 6020              JZ      ?C0136?SYS
-  711: 	{	
-  712: 		if(g_variable.pairing_g24_timeout)
-0032CF 904CEE            MOV     DPTR,#g_variable+02FH
-0032D2 E0                MOVX    A,@DPTR
-0032D3 6006              JZ      ?C0137?SYS
-  713: 		{
-  714: 			g_variable.powerOn_timer = 0;
-0032D5 E4                CLR     A
-0032D6 904CE5            MOV     DPTR,#g_variable+026H
-0032D9 F0                MOVX    @DPTR,A
-0032DA 22                RET     
-  715: 			return;
-  716: 		}
-0032DB         ?C0137?SYS:
-  717: 			
-  718: 		g_variable.powerOn_timer--;
-0032DB 904CE5            MOV     DPTR,#g_variable+026H
-0032DE E0                MOVX    A,@DPTR
-0032DF 14                DEC     A
-0032E0 F0                MOVX    @DPTR,A
-  719: 		LED_device_poweron();
-0032E1 121745            LCALL   LED_device_poweron
-  720: 		if (!g_variable.powerOn_timer)
-0032E4 904CE5            MOV     DPTR,#g_variable+026H
-0032E7 E0                MOVX    A,@DPTR
-0032E8 7046              JNZ     ?C0140?SYS
-  721: 		{
-  722: 			LED_device_poweroff();
-0032EA 12177E            LCALL   LED_device_poweroff
-  723: 		}
-  724: 	}
-0032ED 8041              SJMP    ?C0140?SYS
-0032EF         ?C0136?SYS:
-  725: 	else	if ((g_variable.pairing_timeout == 0) && (g_variable.pairing_g24_timeout == 0))  //  pairing
-0032EF 904CE9            MOV     DPTR,#g_variable+02AH
-0032F2 E0                MOVX    A,@DPTR
-0032F3 703B              JNZ     ?C0140?SYS
-0032F5 904CEE            MOV     DPTR,#g_variable+02FH
-0032F8 E0                MOVX    A,@DPTR
-0032F9 7035              JNZ     ?C0140?SYS
-  726: 	{
-  727: 		if(g_variable.battery_low_led_flash_interval)
-0032FB 904CE2            MOV     DPTR,#g_variable+023H
-0032FE E0                MOVX    A,@DPTR
-0032FF 602F              JZ      ?C0140?SYS
-  728: 		{
-  729: 			g_variable.battery_low_led_flash_interval--;
-003301 14                DEC     A
-003302 F0                MOVX    @DPTR,A
-  730: 			if(g_variable.battery_low_led_flash_interval < 8)
-003303 E0                MOVX    A,@DPTR
-003304 FF                MOV     R7,A
-003305 C3                CLR     C
-003306 9408              SUBB    A,#08H
-003308 5016              JNC     ?C0143?SYS
-  731: 			{
-  732: 				if(g_variable.battery_low_led_flash_interval & 0x02)
-00330A EF                MOV     A,R7
-00330B 30E109            JNB     ACC.1,?C0144?SYS
-  733: 				{
-  734: 					GPIO_Setout(LOWPOWER_LED_GPIO, LED_ON);
-00330E C201              CLR     ?_GPIO_Setout?BIT
-003310 7F1D              MOV     R7,#01DH
-003312 121268            LCALL   _GPIO_Setout
-  735: 				}
-003315 8010              SJMP    ?C0146?SYS
-003317         ?C0144?SYS:
-  736: 				else
-  737: 				{
-  738: 					GPIO_Setout(LOWPOWER_LED_GPIO, LED_OFF);	
-003317 D201              SETB    ?_GPIO_Setout?BIT
-003319 7F1D              MOV     R7,#01DH
-00331B 121268            LCALL   _GPIO_Setout
-  739: 				}	
-  740: 			}
-00331E 8007              SJMP    ?C0146?SYS
-003320         ?C0143?SYS:
-  741: 			else
-  742: 				GPIO_Setout(LOWPOWER_LED_GPIO, LED_OFF);
-003320 D201              SETB    ?_GPIO_Setout?BIT
-003322 7F1D              MOV     R7,#01DH
-003324 121268            LCALL   _GPIO_Setout
-003327         ?C0146?SYS:
-  743: 			if(!g_variable.battery_low_led_flash_interval)
-003327 904CE2            MOV     DPTR,#g_variable+023H
-00332A E0                MOVX    A,@DPTR
-00332B 7003              JNZ     ?C0140?SYS
-  744: 				g_variable.battery_low_led_flash_interval = LOW_BATTERY_FLASH_INTERVAL;
-00332D 7418              MOV     A,#018H
-00332F F0                MOVX    @DPTR,A
-  745: 		}
-  746: 	}
-003330         ?C0140?SYS:
-  747: 	
-  748: // The dongle must receive data within 200ms, otherwise it will be forced to lift
-  749: 	if(!long_press_flag)
-003330 904DDC            MOV     DPTR,#long_press_flag
-003333 E0                MOVX    A,@DPTR
-003334 7036              JNZ     ?C0148?SYS
-  750: 	{
-  751: 		if (repeat_send_24g == 1)
-003336 904DDD            MOV     DPTR,#repeat_send_24g
-003339 E0                MOVX    A,@DPTR
-00333A 6401              XRL     A,#01H
-00333C 702E              JNZ     ?C0148?SYS
-  752: 		{
-  753: 			g_variable.sleepTimer = 0;	
-00333E 904CE3            MOV     DPTR,#g_variable+024H
-003341 F0                MOVX    @DPTR,A
-003342 A3                INC     DPTR
-003343 F0                MOVX    @DPTR,A
-  754: 			repeat_send_24g = 0;
-003344 904DDD            MOV     DPTR,#repeat_send_24g
-003347 F0                MOVX    @DPTR,A
-  755: 
-  756: 			 if (multikey[0] != 0)
-003348 904E4C            MOV     DPTR,#multikey
-00334B E0                MOVX    A,@DPTR
-00334C 600D              JZ      ?C0150?SYS
-  757: 			{
-  758: 				IPC_TxHidData(multikey, 3);
-00334E 7B01              MOV     R3,#01H
-003350 7A4E              MOV     R2,#HIGH multikey
-003352 794C              MOV     R1,#LOW multikey
-003354 7D03              MOV     R5,#03H
-003356 120C30            LCALL   _IPC_TxHidData
-  759: 			}
-003359 8011              SJMP    ?C0148?SYS
-00335B         ?C0150?SYS:
-  760: 			else if (hidBuff[0] != 0)
-00335B 904800            MOV     DPTR,#hidBuff
-00335E E0                MOVX    A,@DPTR
-00335F 600B              JZ      ?C0148?SYS
-  761: 			{
-  762: 
-  763: 				IPC_TxHidData(hidBuff,9);
-003361 7B01              MOV     R3,#01H
-003363 7A48              MOV     R2,#HIGH hidBuff
-003365 7900              MOV     R1,#LOW hidBuff
-003367 7D09              MOV     R5,#09H
-003369 120C30            LCALL   _IPC_TxHidData
-  764: 			}
-  765: 		}
-  766: 	}
-00336C         ?C0148?SYS:
-  767: 
-  768: 
-  769: // ble delay send secutiry request
-  770: 	if(ble_send_secutiry_request_timer)
-00336C 904DD4            MOV     DPTR,#ble_send_secutiry_request_timer
+0032BC 14                DEC     A
+0032BD F0                MOVX    @DPTR,A
+  716: 		LED_device_poweron();
+0032BE 121727            LCALL   LED_device_poweron
+  717: 		if (!g_variable.powerOn_timer)
+0032C1 904CE5            MOV     DPTR,#g_variable+026H
+0032C4 E0                MOVX    A,@DPTR
+0032C5 7046              JNZ     ?C0140?SYS
+  718: 		{
+  719: 			LED_device_poweroff();
+0032C7 121760            LCALL   LED_device_poweroff
+  720: 		}
+  721: 	}
+0032CA 8041              SJMP    ?C0140?SYS
+0032CC         ?C0136?SYS:
+  722: 	else	if ((g_variable.pairing_timeout == 0) && (g_variable.pairing_g24_timeout == 0))  //  pairing
+0032CC 904CE9            MOV     DPTR,#g_variable+02AH
+0032CF E0                MOVX    A,@DPTR
+0032D0 703B              JNZ     ?C0140?SYS
+0032D2 904CEE            MOV     DPTR,#g_variable+02FH
+0032D5 E0                MOVX    A,@DPTR
+0032D6 7035              JNZ     ?C0140?SYS
+  723: 	{
+  724: 		if(g_variable.battery_low_led_flash_interval)
+0032D8 904CE2            MOV     DPTR,#g_variable+023H
+0032DB E0                MOVX    A,@DPTR
+0032DC 602F              JZ      ?C0140?SYS
+  725: 		{
+  726: 			g_variable.battery_low_led_flash_interval--;
+0032DE 14                DEC     A
+0032DF F0                MOVX    @DPTR,A
+  727: 			if(g_variable.battery_low_led_flash_interval < 8)
+0032E0 E0                MOVX    A,@DPTR
+0032E1 FF                MOV     R7,A
+0032E2 C3                CLR     C
+0032E3 9408              SUBB    A,#08H
+0032E5 5016              JNC     ?C0143?SYS
+  728: 			{
+  729: 				if(g_variable.battery_low_led_flash_interval & 0x02)
+0032E7 EF                MOV     A,R7
+0032E8 30E109            JNB     ACC.1,?C0144?SYS
+  730: 				{
+  731: 					GPIO_Setout(LOWPOWER_LED_GPIO, LED_ON);
+0032EB C201              CLR     ?_GPIO_Setout?BIT
+0032ED 7F1D              MOV     R7,#01DH
+0032EF 12123E            LCALL   _GPIO_Setout
+  732: 				}
+0032F2 8010              SJMP    ?C0146?SYS
+0032F4         ?C0144?SYS:
+  733: 				else
+  734: 				{
+  735: 					GPIO_Setout(LOWPOWER_LED_GPIO, LED_OFF);	
+0032F4 D201              SETB    ?_GPIO_Setout?BIT
+0032F6 7F1D              MOV     R7,#01DH
+0032F8 12123E            LCALL   _GPIO_Setout
+  736: 				}	
+  737: 			}
+0032FB 8007              SJMP    ?C0146?SYS
+0032FD         ?C0143?SYS:
+  738: 			else
+  739: 				GPIO_Setout(LOWPOWER_LED_GPIO, LED_OFF);
+0032FD D201              SETB    ?_GPIO_Setout?BIT
+0032FF 7F1D              MOV     R7,#01DH
+003301 12123E            LCALL   _GPIO_Setout
+003304         ?C0146?SYS:
+  740: 			if(!g_variable.battery_low_led_flash_interval)
+003304 904CE2            MOV     DPTR,#g_variable+023H
+003307 E0                MOVX    A,@DPTR
+003308 7003              JNZ     ?C0140?SYS
+  741: 				g_variable.battery_low_led_flash_interval = LOW_BATTERY_FLASH_INTERVAL;
+00330A 7418              MOV     A,#018H
+00330C F0                MOVX    @DPTR,A
+  742: 		}
+  743: 	}
+00330D         ?C0140?SYS:
+  744: 	
+  745: // The dongle must receive data within 200ms, otherwise it will be forced to lift
+  746: 	if(!long_press_flag)
+00330D 904DDC            MOV     DPTR,#long_press_flag
+003310 E0                MOVX    A,@DPTR
+003311 7036              JNZ     ?C0148?SYS
+  747: 	{
+  748: 		if (repeat_send_24g == 1)
+003313 904DDD            MOV     DPTR,#repeat_send_24g
+003316 E0                MOVX    A,@DPTR
+003317 6401              XRL     A,#01H
+003319 702E              JNZ     ?C0148?SYS
+  749: 		{
+  750: 			g_variable.sleepTimer = 0;	
+00331B 904CE3            MOV     DPTR,#g_variable+024H
+00331E F0                MOVX    @DPTR,A
+00331F A3                INC     DPTR
+003320 F0                MOVX    @DPTR,A
+  751: 			repeat_send_24g = 0;
+003321 904DDD            MOV     DPTR,#repeat_send_24g
+003324 F0                MOVX    @DPTR,A
+  752: 
+  753: 			 if (multikey[0] != 0)
+003325 904E4C            MOV     DPTR,#multikey
+003328 E0                MOVX    A,@DPTR
+003329 600D              JZ      ?C0150?SYS
+  754: 			{
+  755: 				IPC_TxHidData(multikey, 3);
+00332B 7B01              MOV     R3,#01H
+00332D 7A4E              MOV     R2,#HIGH multikey
+00332F 794C              MOV     R1,#LOW multikey
+003331 7D03              MOV     R5,#03H
+003333 120C30            LCALL   _IPC_TxHidData
+  756: 			}
+003336 8011              SJMP    ?C0148?SYS
+003338         ?C0150?SYS:
+  757: 			else if (hidBuff[0] != 0)
+003338 904800            MOV     DPTR,#hidBuff
+00333B E0                MOVX    A,@DPTR
+00333C 600B              JZ      ?C0148?SYS
+  758: 			{
+  759: 
+  760: 				IPC_TxHidData(hidBuff,9);
+00333E 7B01              MOV     R3,#01H
+003340 7A48              MOV     R2,#HIGH hidBuff
+003342 7900              MOV     R1,#LOW hidBuff
+003344 7D09              MOV     R5,#09H
+003346 120C30            LCALL   _IPC_TxHidData
+  761: 			}
+  762: 		}
+  763: 	}
+003349         ?C0148?SYS:
+  764: 
+  765: 
+  766: // ble delay send secutiry request
+  767: 	if(ble_send_secutiry_request_timer)
+003349 904DD4            MOV     DPTR,#ble_send_secutiry_request_timer
+00334C E0                MOVX    A,@DPTR
+00334D 6011              JZ      ?C0153?SYS
+  768: 	{
+  769: 		ble_send_secutiry_request_timer--;
+00334F E0                MOVX    A,@DPTR
+003350 14                DEC     A
+003351 F0                MOVX    @DPTR,A
+  770: 		if(!ble_send_secutiry_request_timer)
+003352 E0                MOVX    A,@DPTR
+003353 700B              JNZ     ?C0153?SYS
+  771: 		{
+  772: 			if(!m_le_send_security_request_flag)
+003355 904D3D            MOV     DPTR,#m_le_send_security_request_flag
+003358 E0                MOVX    A,@DPTR
+003359 7005              JNZ     ?C0153?SYS
+  773: 			{
+  774: 				IPC_TxControlCmd(IPC_CMD_LE_SMP_SECURITY_REQUEST);
+00335B 7F1B              MOV     R7,#01BH
+00335D 120ECA            LCALL   _IPC_TxControlCmd
+  775: 			}
+  776: 		}
+  777: 	}
+003360         ?C0153?SYS:
+  778: 
+  779: 	if (delayChgInvTimer != 0){
+003360 904DE6            MOV     DPTR,#delayChgInvTimer
+003363 E0                MOVX    A,@DPTR
+003364 6013              JZ      ?C0138?SYS
+  780: 		delayChgInvTimer--;
+003366 E0                MOVX    A,@DPTR
+003367 14                DEC     A
+003368 F0                MOVX    @DPTR,A
+  781: 		if (delayChgInvTimer == 0)
+003369 E0                MOVX    A,@DPTR
+00336A 700D              JNZ     ?C0138?SYS
+  782: 		{
+  783: 
+  784: 			if (g_variable.ble_currentState == CHANGE_TO_BLE_CONNECTED)
+00336C 904CC7            MOV     DPTR,#g_variable+08H
 00336F E0                MOVX    A,@DPTR
-003370 6011              JZ      ?C0153?SYS
-  771: 	{
-  772: 		ble_send_secutiry_request_timer--;
-003372 E0                MOVX    A,@DPTR
-003373 14                DEC     A
-003374 F0                MOVX    @DPTR,A
-  773: 		if(!ble_send_secutiry_request_timer)
-003375 E0                MOVX    A,@DPTR
-003376 700B              JNZ     ?C0153?SYS
-  774: 		{
-  775: 			if(!m_le_send_security_request_flag)
-003378 904D3D            MOV     DPTR,#m_le_send_security_request_flag
-00337B E0                MOVX    A,@DPTR
-00337C 7005              JNZ     ?C0153?SYS
-  776: 			{
-  777: 				IPC_TxControlCmd(IPC_CMD_LE_SMP_SECURITY_REQUEST);
-00337E 7F1B              MOV     R7,#01BH
-003380 120ECA            LCALL   _IPC_TxControlCmd
-  778: 			}
-  779: 		}
-  780: 	}
-003383         ?C0153?SYS:
-  781: 
-  782: 	if (delayChgInvTimer != 0){
-003383 904DE6            MOV     DPTR,#delayChgInvTimer
-003386 E0                MOVX    A,@DPTR
-003387 6013              JZ      ?C0138?SYS
-  783: 		delayChgInvTimer--;
-003389 E0                MOVX    A,@DPTR
-00338A 14                DEC     A
-00338B F0                MOVX    @DPTR,A
-  784: 		if (delayChgInvTimer == 0)
-00338C E0                MOVX    A,@DPTR
-00338D 700D              JNZ     ?C0138?SYS
-  785: 		{
-  786: 
-  787: 			if (g_variable.ble_currentState == CHANGE_TO_BLE_CONNECTED)
-00338F 904CC7            MOV     DPTR,#g_variable+08H
-003392 E0                MOVX    A,@DPTR
-003393 B40406            CJNE    A,#04H,?C0138?SYS
-  788: 			{
-  789: 				kscurrmult = 0x0c;
-003396 904213            MOV     DPTR,#kscurrmult
-003399 740C              MOV     A,#0CH
-00339B F0                MOVX    @DPTR,A
-  790: 			}
-  791: 		}
-  792: 	}
-  793: }
-00339C         ?C0138?SYS:
-00339C 22                RET     
+003370 B40406            CJNE    A,#04H,?C0138?SYS
+  785: 			{
+  786: 				kscurrmult = 0x0c;
+003373 904213            MOV     DPTR,#kscurrmult
+003376 740C              MOV     A,#0CH
+003378 F0                MOVX    @DPTR,A
+  787: 			}
+  788: 		}
+  789: 	}
+  790: }
+003379         ?C0138?SYS:
+003379 22                RET     
 ----- FUNCTION kb_cb_Timer100ms (END) -------
 
 
 ----- FUNCTION _bufsize (BEGIN) -----
-00339D 904EDC            MOV     DPTR,#rptr
-0033A0 EE                MOV     A,R6
-0033A1 F0                MOVX    @DPTR,A
-0033A2 A3                INC     DPTR
-0033A3 EF                MOV     A,R7
-0033A4 F0                MOVX    @DPTR,A
-0033A5 904EDE            MOV     DPTR,#wptr
-0033A8 EC                MOV     A,R4
-0033A9 F0                MOVX    @DPTR,A
-0033AA A3                INC     DPTR
-0033AB ED                MOV     A,R5
-0033AC F0                MOVX    @DPTR,A
+00337A 904EDC            MOV     DPTR,#rptr
+00337D EE                MOV     A,R6
+00337E F0                MOVX    @DPTR,A
+00337F A3                INC     DPTR
+003380 EF                MOV     A,R7
+003381 F0                MOVX    @DPTR,A
+003382 904EDE            MOV     DPTR,#wptr
+003385 EC                MOV     A,R4
+003386 F0                MOVX    @DPTR,A
+003387 A3                INC     DPTR
+003388 ED                MOV     A,R5
+003389 F0                MOVX    @DPTR,A
 ;---- Variable 'buflen' assigned to Register 'R3' ----
-0033AD 904EDE            MOV     DPTR,#wptr
+00338A 904EDE            MOV     DPTR,#wptr
+00338D E0                MOVX    A,@DPTR
+00338E FE                MOV     R6,A
+00338F A3                INC     DPTR
+003390 E0                MOVX    A,@DPTR
+003391 FF                MOV     R7,A
+003392 D3                SETB    C
+003393 904EDD            MOV     DPTR,#rptr+01H
+003396 E0                MOVX    A,@DPTR
+003397 9F                SUBB    A,R7
+003398 904EDC            MOV     DPTR,#rptr
+00339B E0                MOVX    A,@DPTR
+00339C 9E                SUBB    A,R6
+00339D 4016              JC      ?C0001?IPC
+00339F 904EDE            MOV     DPTR,#wptr
+0033A2 E0                MOVX    A,@DPTR
+0033A3 FE                MOV     R6,A
+0033A4 A3                INC     DPTR
+0033A5 E0                MOVX    A,@DPTR
+0033A6 FF                MOV     R7,A
+0033A7 904EDD            MOV     DPTR,#rptr+01H
+0033AA E0                MOVX    A,@DPTR
+0033AB 9F                SUBB    A,R7
+0033AC FF                MOV     R7,A
+0033AD 904EDC            MOV     DPTR,#rptr
 0033B0 E0                MOVX    A,@DPTR
-0033B1 FE                MOV     R6,A
-0033B2 A3                INC     DPTR
-0033B3 E0                MOVX    A,@DPTR
-0033B4 FF                MOV     R7,A
-0033B5 D3                SETB    C
-0033B6 904EDD            MOV     DPTR,#rptr+01H
-0033B9 E0                MOVX    A,@DPTR
-0033BA 9F                SUBB    A,R7
-0033BB 904EDC            MOV     DPTR,#rptr
-0033BE E0                MOVX    A,@DPTR
-0033BF 9E                SUBB    A,R6
-0033C0 4016              JC      ?C0001?IPC
-0033C2 904EDE            MOV     DPTR,#wptr
-0033C5 E0                MOVX    A,@DPTR
-0033C6 FE                MOV     R6,A
-0033C7 A3                INC     DPTR
-0033C8 E0                MOVX    A,@DPTR
-0033C9 FF                MOV     R7,A
-0033CA 904EDD            MOV     DPTR,#rptr+01H
-0033CD E0                MOVX    A,@DPTR
+0033B1 9E                SUBB    A,R6
+0033B2 FE                MOV     R6,A
+0033B3 801E              SJMP    ?C0002?IPC
+0033B5         ?C0001?IPC:
+0033B5 904EDC            MOV     DPTR,#rptr
+0033B8 E0                MOVX    A,@DPTR
+0033B9 FE                MOV     R6,A
+0033BA A3                INC     DPTR
+0033BB E0                MOVX    A,@DPTR
+0033BC FF                MOV     R7,A
+0033BD C3                CLR     C
+0033BE 904EDF            MOV     DPTR,#wptr+01H
+0033C1 E0                MOVX    A,@DPTR
+0033C2 9F                SUBB    A,R7
+0033C3 FF                MOV     R7,A
+0033C4 904EDE            MOV     DPTR,#wptr
+0033C7 E0                MOVX    A,@DPTR
+0033C8 9E                SUBB    A,R6
+0033C9 FE                MOV     R6,A
+0033CA AD03              MOV     R5,AR3
+0033CC C3                CLR     C
+0033CD EB                MOV     A,R3
 0033CE 9F                SUBB    A,R7
 0033CF FF                MOV     R7,A
-0033D0 904EDC            MOV     DPTR,#rptr
-0033D3 E0                MOVX    A,@DPTR
-0033D4 9E                SUBB    A,R6
-0033D5 FE                MOV     R6,A
-0033D6 801E              SJMP    ?C0002?IPC
-0033D8         ?C0001?IPC:
-0033D8 904EDC            MOV     DPTR,#rptr
-0033DB E0                MOVX    A,@DPTR
-0033DC FE                MOV     R6,A
-0033DD A3                INC     DPTR
-0033DE E0                MOVX    A,@DPTR
-0033DF FF                MOV     R7,A
-0033E0 C3                CLR     C
-0033E1 904EDF            MOV     DPTR,#wptr+01H
-0033E4 E0                MOVX    A,@DPTR
-0033E5 9F                SUBB    A,R7
-0033E6 FF                MOV     R7,A
-0033E7 904EDE            MOV     DPTR,#wptr
-0033EA E0                MOVX    A,@DPTR
-0033EB 9E                SUBB    A,R6
-0033EC FE                MOV     R6,A
-0033ED AD03              MOV     R5,AR3
-0033EF C3                CLR     C
-0033F0 EB                MOV     A,R3
-0033F1 9F                SUBB    A,R7
-0033F2 FF                MOV     R7,A
-0033F3 E4                CLR     A
-0033F4 9E                SUBB    A,R6
-0033F5 FE                MOV     R6,A
-0033F6         ?C0002?IPC:
-0033F6 22                RET     
+0033D0 E4                CLR     A
+0033D1 9E                SUBB    A,R6
+0033D2 FE                MOV     R6,A
+0033D3         ?C0002?IPC:
+0033D3 22                RET     
 ----- FUNCTION _bufsize (END) -------
 
 
 ----- FUNCTION _IPC_TxBREDRHidData (BEGIN) -----
 ;---- Variable 'len' assigned to Register 'R5' ----
 ;---- Variable 'dt' assigned to Register 'R1/R2/R3' ----
-0033F7 900BE7            MOV     DPTR,#ipcSendBuff
-0033FA 7403              MOV     A,#03H
-0033FC F0                MOVX    @DPTR,A
-0033FD ED                MOV     A,R5
-0033FE 6003              JZ      ?C0017?IPC
-003400         ?C0016?IPC:
-003400 120FBB            LCALL   _IPC_TxData
-003403         ?C0017?IPC:
-003403 22                RET     
+0033D4 900BE7            MOV     DPTR,#ipcSendBuff
+0033D7 7403              MOV     A,#03H
+0033D9 F0                MOVX    @DPTR,A
+0033DA ED                MOV     A,R5
+0033DB 6003              JZ      ?C0017?IPC
+0033DD         ?C0016?IPC:
+0033DD 120FBB            LCALL   _IPC_TxData
+0033E0         ?C0017?IPC:
+0033E0 22                RET     
 ----- FUNCTION _IPC_TxBREDRHidData (END) -------
 
 
 ----- FUNCTION IPC_GetBBDIsconnectReason (BEGIN) -----
-003404 900446            MOV     DPTR,#bbDisReason
-003407 E0                MOVX    A,@DPTR
-003408 FF                MOV     R7,A
-003409 22                RET     
+0033E1 900446            MOV     DPTR,#bbDisReason
+0033E4 E0                MOVX    A,@DPTR
+0033E5 FF                MOV     R7,A
+0033E6 22                RET     
 ----- FUNCTION IPC_GetBBDIsconnectReason (END) -------
 
 
 ----- FUNCTION YC_Ice_break (BEGIN) -----
-00340A 908280            MOV     DPTR,#08280H
-00340D 7401              MOV     A,#01H
-00340F F0                MOVX    @DPTR,A
-003410 22                RET     
+0033E7 908280            MOV     DPTR,#08280H
+0033EA 7401              MOV     A,#01H
+0033EC F0                MOVX    @DPTR,A
+0033ED 22                RET     
 ----- FUNCTION YC_Ice_break (END) -------
 
 
 ----- FUNCTION _dmemcpy (BEGIN) -----
-003411 904E9C            MOV     DPTR,#dest
-003414 EB                MOV     A,R3
-003415 F0                MOVX    @DPTR,A
-003416 A3                INC     DPTR
-003417 EA                MOV     A,R2
-003418 F0                MOVX    @DPTR,A
-003419 A3                INC     DPTR
-00341A E9                MOV     A,R1
-00341B F0                MOVX    @DPTR,A
-00341C         ?C0005?UTILITIES:
-00341C 904EA2            MOV     DPTR,#len
-00341F 74FF              MOV     A,#0FFH
-003421 F5F0              MOV     B,A
-003423 120424            LCALL   ?C?ILDIX
-003426 45F0              ORL     A,B
-003428 602A              JZ      ?C0007?UTILITIES
-00342A 904E9F            MOV     DPTR,#src
-00342D E0                MOVX    A,@DPTR
-00342E FB                MOV     R3,A
-00342F A3                INC     DPTR
-003430 E4                CLR     A
-003431 75F001            MOV     B,#01H
-003434 120424            LCALL   ?C?ILDIX
-003437 A9F0              MOV     R1,B
-003439 FA                MOV     R2,A
-00343A 1203B6            LCALL   ?C?CLDPTR
-00343D FF                MOV     R7,A
-00343E 904E9C            MOV     DPTR,#dest
-003441 E0                MOVX    A,@DPTR
-003442 FB                MOV     R3,A
-003443 A3                INC     DPTR
-003444 E4                CLR     A
-003445 75F001            MOV     B,#01H
-003448 120424            LCALL   ?C?ILDIX
-00344B A9F0              MOV     R1,B
-00344D FA                MOV     R2,A
-00344E EF                MOV     A,R7
-00344F 1203FC            LCALL   ?C?CSTPTR
-003452 80C8              SJMP    ?C0005?UTILITIES
-003454         ?C0007?UTILITIES:
-003454 22                RET     
+0033EE 904E9C            MOV     DPTR,#dest
+0033F1 EB                MOV     A,R3
+0033F2 F0                MOVX    @DPTR,A
+0033F3 A3                INC     DPTR
+0033F4 EA                MOV     A,R2
+0033F5 F0                MOVX    @DPTR,A
+0033F6 A3                INC     DPTR
+0033F7 E9                MOV     A,R1
+0033F8 F0                MOVX    @DPTR,A
+0033F9         ?C0005?UTILITIES:
+0033F9 904EA2            MOV     DPTR,#len
+0033FC 74FF              MOV     A,#0FFH
+0033FE F5F0              MOV     B,A
+003400 120424            LCALL   ?C?ILDIX
+003403 45F0              ORL     A,B
+003405 602A              JZ      ?C0007?UTILITIES
+003407 904E9F            MOV     DPTR,#src
+00340A E0                MOVX    A,@DPTR
+00340B FB                MOV     R3,A
+00340C A3                INC     DPTR
+00340D E4                CLR     A
+00340E 75F001            MOV     B,#01H
+003411 120424            LCALL   ?C?ILDIX
+003414 A9F0              MOV     R1,B
+003416 FA                MOV     R2,A
+003417 1203B6            LCALL   ?C?CLDPTR
+00341A FF                MOV     R7,A
+00341B 904E9C            MOV     DPTR,#dest
+00341E E0                MOVX    A,@DPTR
+00341F FB                MOV     R3,A
+003420 A3                INC     DPTR
+003421 E4                CLR     A
+003422 75F001            MOV     B,#01H
+003425 120424            LCALL   ?C?ILDIX
+003428 A9F0              MOV     R1,B
+00342A FA                MOV     R2,A
+00342B EF                MOV     A,R7
+00342C 1203FC            LCALL   ?C?CSTPTR
+00342F 80C8              SJMP    ?C0005?UTILITIES
+003431         ?C0007?UTILITIES:
+003431 22                RET     
 ----- FUNCTION _dmemcpy (END) -------
 
 
 ----- FUNCTION _IIC_write (BEGIN) -----
-003455 904EB2            MOV     DPTR,#addr
-003458 EE                MOV     A,R6
+003432 904EB2            MOV     DPTR,#addr
+003435 EE                MOV     A,R6
+003436 F0                MOVX    @DPTR,A
+003437 A3                INC     DPTR
+003438 EF                MOV     A,R7
+003439 F0                MOVX    @DPTR,A
+00343A 904EB6            MOV     DPTR,#pbuff
+00343D EB                MOV     A,R3
+00343E F0                MOVX    @DPTR,A
+00343F A3                INC     DPTR
+003440 EA                MOV     A,R2
+003441 F0                MOVX    @DPTR,A
+003442 A3                INC     DPTR
+003443 E9                MOV     A,R1
+003444 F0                MOVX    @DPTR,A
+003445 904EB4            MOV     DPTR,#len
+003448 EC                MOV     A,R4
+003449 F0                MOVX    @DPTR,A
+00344A A3                INC     DPTR
+00344B ED                MOV     A,R5
+00344C F0                MOVX    @DPTR,A
+00344D A3                INC     DPTR
+00344E E0                MOVX    A,@DPTR
+00344F F9                MOV     R1,A
+003450 A3                INC     DPTR
+003451 E0                MOVX    A,@DPTR
+003452 FA                MOV     R2,A
+003453 A3                INC     DPTR
+003454 E0                MOVX    A,@DPTR
+003455 904E9F            MOV     DPTR,#?_dmemcpy?BYTE+03H
+003458 C9                XCH     A,R1
 003459 F0                MOVX    @DPTR,A
 00345A A3                INC     DPTR
-00345B EF                MOV     A,R7
+00345B EA                MOV     A,R2
 00345C F0                MOVX    @DPTR,A
-00345D 904EB6            MOV     DPTR,#pbuff
-003460 EB                MOV     A,R3
-003461 F0                MOVX    @DPTR,A
-003462 A3                INC     DPTR
-003463 EA                MOV     A,R2
-003464 F0                MOVX    @DPTR,A
-003465 A3                INC     DPTR
-003466 E9                MOV     A,R1
-003467 F0                MOVX    @DPTR,A
-003468 904EB4            MOV     DPTR,#len
-00346B EC                MOV     A,R4
-00346C F0                MOVX    @DPTR,A
-00346D A3                INC     DPTR
-00346E ED                MOV     A,R5
-00346F F0                MOVX    @DPTR,A
-003470 A3                INC     DPTR
-003471 E0                MOVX    A,@DPTR
-003472 F9                MOV     R1,A
-003473 A3                INC     DPTR
-003474 E0                MOVX    A,@DPTR
-003475 FA                MOV     R2,A
-003476 A3                INC     DPTR
+00345D A3                INC     DPTR
+00345E E9                MOV     A,R1
+00345F F0                MOVX    @DPTR,A
+003460 A3                INC     DPTR
+003461 EC                MOV     A,R4
+003462 F0                MOVX    @DPTR,A
+003463 A3                INC     DPTR
+003464 ED                MOV     A,R5
+003465 F0                MOVX    @DPTR,A
+003466 7B01              MOV     R3,#01H
+003468 7A0B              MOV     R2,#HIGH IIC_TempBuff+03H
+00346A 7986              MOV     R1,#LOW IIC_TempBuff+03H
+00346C 71EE              ACALL   _dmemcpy
+00346E 900B83            MOV     DPTR,#IIC_TempBuff
+003471 74A0              MOV     A,#0A0H
+003473 F0                MOVX    @DPTR,A
+003474 904EB2            MOV     DPTR,#addr
 003477 E0                MOVX    A,@DPTR
-003478 904E9F            MOV     DPTR,#?_dmemcpy?BYTE+03H
-00347B C9                XCH     A,R1
-00347C F0                MOVX    @DPTR,A
-00347D A3                INC     DPTR
-00347E EA                MOV     A,R2
+003478 FF                MOV     R7,A
+003479 A3                INC     DPTR
+00347A E0                MOVX    A,@DPTR
+00347B 900B84            MOV     DPTR,#IIC_TempBuff+01H
+00347E CF                XCH     A,R7
 00347F F0                MOVX    @DPTR,A
 003480 A3                INC     DPTR
-003481 E9                MOV     A,R1
+003481 EF                MOV     A,R7
 003482 F0                MOVX    @DPTR,A
-003483 A3                INC     DPTR
-003484 EC                MOV     A,R4
-003485 F0                MOVX    @DPTR,A
-003486 A3                INC     DPTR
-003487 ED                MOV     A,R5
-003488 F0                MOVX    @DPTR,A
-003489 7B01              MOV     R3,#01H
-00348B 7A0B              MOV     R2,#HIGH IIC_TempBuff+03H
-00348D 7986              MOV     R1,#LOW IIC_TempBuff+03H
-00348F 9111              ACALL   _dmemcpy
-003491 900B83            MOV     DPTR,#IIC_TempBuff
-003494 74A0              MOV     A,#0A0H
-003496 F0                MOVX    @DPTR,A
-003497 904EB2            MOV     DPTR,#addr
-00349A E0                MOVX    A,@DPTR
-00349B FF                MOV     R7,A
-00349C A3                INC     DPTR
-00349D E0                MOVX    A,@DPTR
-00349E 900B84            MOV     DPTR,#IIC_TempBuff+01H
-0034A1 CF                XCH     A,R7
-0034A2 F0                MOVX    @DPTR,A
-0034A3 A3                INC     DPTR
-0034A4 EF                MOV     A,R7
-0034A5 F0                MOVX    @DPTR,A
-0034A6 904EB5            MOV     DPTR,#len+01H
-0034A9 E0                MOVX    A,@DPTR
-0034AA 2403              ADD     A,#03H
-0034AC FD                MOV     R5,A
-0034AD 904EB4            MOV     DPTR,#len
-0034B0 E0                MOVX    A,@DPTR
-0034B1 3400              ADDC    A,#00H
-0034B3 FC                MOV     R4,A
-0034B4 ED                MOV     A,R5
-0034B5 FA                MOV     R2,A
-0034B6 EC                MOV     A,R4
-0034B7 FF                MOV     R7,A
-0034B8 EA                MOV     A,R2
-0034B9 FE                MOV     R6,A
-0034BA EF                MOV     A,R7
-0034BB 908098            MOV     DPTR,#08098H
-0034BE EE                MOV     A,R6
-0034BF F0                MOVX    @DPTR,A
-0034C0 A3                INC     DPTR
-0034C1 EF                MOV     A,R7
+003483 904EB5            MOV     DPTR,#len+01H
+003486 E0                MOVX    A,@DPTR
+003487 2403              ADD     A,#03H
+003489 FD                MOV     R5,A
+00348A 904EB4            MOV     DPTR,#len
+00348D E0                MOVX    A,@DPTR
+00348E 3400              ADDC    A,#00H
+003490 FC                MOV     R4,A
+003491 ED                MOV     A,R5
+003492 FA                MOV     R2,A
+003493 EC                MOV     A,R4
+003494 FF                MOV     R7,A
+003495 EA                MOV     A,R2
+003496 FE                MOV     R6,A
+003497 EF                MOV     A,R7
+003498 908098            MOV     DPTR,#08098H
+00349B EE                MOV     A,R6
+00349C F0                MOVX    @DPTR,A
+00349D A3                INC     DPTR
+00349E EF                MOV     A,R7
+00349F F0                MOVX    @DPTR,A
+0034A0 7A0B              MOV     R2,#HIGH IIC_TempBuff
+0034A2 7983              MOV     R1,#LOW IIC_TempBuff
+0034A4 7E0B              MOV     R6,#HIGH IIC_TempBuff
+0034A6 7F83              MOV     R7,#LOW IIC_TempBuff
+0034A8 7483              MOV     A,#LOW IIC_TempBuff
+0034AA FC                MOV     R4,A
+0034AB 740B              MOV     A,#HIGH IIC_TempBuff
+0034AD FF                MOV     R7,A
+0034AE EC                MOV     A,R4
+0034AF FE                MOV     R6,A
+0034B0 EF                MOV     A,R7
+0034B1 A3                INC     DPTR
+0034B2 EE                MOV     A,R6
+0034B3 F0                MOVX    @DPTR,A
+0034B4 A3                INC     DPTR
+0034B5 EF                MOV     A,R7
+0034B6 F0                MOVX    @DPTR,A
+0034B7 90809E            MOV     DPTR,#0809EH
+0034BA E4                CLR     A
+0034BB F0                MOVX    @DPTR,A
+0034BC A3                INC     DPTR
+0034BD F0                MOVX    @DPTR,A
+0034BE 908090            MOV     DPTR,#08090H
+0034C1 04                INC     A
 0034C2 F0                MOVX    @DPTR,A
-0034C3 7A0B              MOV     R2,#HIGH IIC_TempBuff
-0034C5 7983              MOV     R1,#LOW IIC_TempBuff
-0034C7 7E0B              MOV     R6,#HIGH IIC_TempBuff
-0034C9 7F83              MOV     R7,#LOW IIC_TempBuff
-0034CB 7483              MOV     A,#LOW IIC_TempBuff
-0034CD FC                MOV     R4,A
-0034CE 740B              MOV     A,#HIGH IIC_TempBuff
-0034D0 FF                MOV     R7,A
-0034D1 EC                MOV     A,R4
-0034D2 FE                MOV     R6,A
-0034D3 EF                MOV     A,R7
-0034D4 A3                INC     DPTR
-0034D5 EE                MOV     A,R6
-0034D6 F0                MOVX    @DPTR,A
-0034D7 A3                INC     DPTR
-0034D8 EF                MOV     A,R7
-0034D9 F0                MOVX    @DPTR,A
-0034DA 90809E            MOV     DPTR,#0809EH
-0034DD E4                CLR     A
-0034DE F0                MOVX    @DPTR,A
-0034DF A3                INC     DPTR
-0034E0 F0                MOVX    @DPTR,A
-0034E1 908090            MOV     DPTR,#08090H
-0034E4 04                INC     A
-0034E5 F0                MOVX    @DPTR,A
-0034E6 908006            MOV     DPTR,#08006H
-0034E9 E0                MOVX    A,@DPTR
-0034EA 4404              ORL     A,#04H
-0034EC F0                MOVX    @DPTR,A
-0034ED 0217E7            LJMP    IIcWaitDone
+0034C3 908006            MOV     DPTR,#08006H
+0034C6 E0                MOVX    A,@DPTR
+0034C7 4404              ORL     A,#04H
+0034C9 F0                MOVX    @DPTR,A
+0034CA 0217DA            LJMP    IIcWaitDone
 ----- FUNCTION _IIC_write (END) -------
 
 
 ----- FUNCTION _xmemclear_ff (BEGIN) -----
-0034F0 904EF3            MOV     DPTR,#dest
-0034F3 EB                MOV     A,R3
-0034F4 F0                MOVX    @DPTR,A
-0034F5 A3                INC     DPTR
-0034F6 EA                MOV     A,R2
-0034F7 F0                MOVX    @DPTR,A
-0034F8 A3                INC     DPTR
-0034F9 E9                MOV     A,R1
-0034FA F0                MOVX    @DPTR,A
+0034CD 904EF3            MOV     DPTR,#dest
+0034D0 EB                MOV     A,R3
+0034D1 F0                MOVX    @DPTR,A
+0034D2 A3                INC     DPTR
+0034D3 EA                MOV     A,R2
+0034D4 F0                MOVX    @DPTR,A
+0034D5 A3                INC     DPTR
+0034D6 E9                MOV     A,R1
+0034D7 F0                MOVX    @DPTR,A
 ;---- Variable 'len' assigned to Register 'R4/R5' ----
-0034FB         ?C0011?UTILITIES:
-0034FB ED                MOV     A,R5
-0034FC 1D                DEC     R5
-0034FD AE04              MOV     R6,AR4
-0034FF 7001              JNZ     ?C0027?UTILITIES
-003501 1C                DEC     R4
-003502         ?C0027?UTILITIES:
-003502 4E                ORL     A,R6
-003503 6017              JZ      ?C0013?UTILITIES
-003505 904EF3            MOV     DPTR,#dest
-003508 E0                MOVX    A,@DPTR
-003509 FB                MOV     R3,A
-00350A A3                INC     DPTR
-00350B E4                CLR     A
-00350C 75F001            MOV     B,#01H
-00350F 120424            LCALL   ?C?ILDIX
-003512 A9F0              MOV     R1,B
-003514 FA                MOV     R2,A
-003515 74FF              MOV     A,#0FFH
-003517 1203FC            LCALL   ?C?CSTPTR
-00351A 80DF              SJMP    ?C0011?UTILITIES
-00351C         ?C0013?UTILITIES:
-00351C 22                RET     
+0034D8         ?C0011?UTILITIES:
+0034D8 ED                MOV     A,R5
+0034D9 1D                DEC     R5
+0034DA AE04              MOV     R6,AR4
+0034DC 7001              JNZ     ?C0027?UTILITIES
+0034DE 1C                DEC     R4
+0034DF         ?C0027?UTILITIES:
+0034DF 4E                ORL     A,R6
+0034E0 6017              JZ      ?C0013?UTILITIES
+0034E2 904EF3            MOV     DPTR,#dest
+0034E5 E0                MOVX    A,@DPTR
+0034E6 FB                MOV     R3,A
+0034E7 A3                INC     DPTR
+0034E8 E4                CLR     A
+0034E9 75F001            MOV     B,#01H
+0034EC 120424            LCALL   ?C?ILDIX
+0034EF A9F0              MOV     R1,B
+0034F1 FA                MOV     R2,A
+0034F2 74FF              MOV     A,#0FFH
+0034F4 1203FC            LCALL   ?C?CSTPTR
+0034F7 80DF              SJMP    ?C0011?UTILITIES
+0034F9         ?C0013?UTILITIES:
+0034F9 22                RET     
 ----- FUNCTION _xmemclear_ff (END) -------
 
 
------ FUNCTION _gpioSetBit (BEGIN) -----
-00351D 904EF6            MOV     DPTR,#reg_base
-003520 EB                MOV     A,R3
-003521 F0                MOVX    @DPTR,A
-003522 A3                INC     DPTR
-003523 EA                MOV     A,R2
-003524 F0                MOVX    @DPTR,A
-003525 A3                INC     DPTR
-003526 E9                MOV     A,R1
-003527 F0                MOVX    @DPTR,A
-;---- Variable 'gpio_num' assigned to Register 'R7' ----
-;---- Variable 'queue' assigned to Register 'R6' ----
-003528 E4                CLR     A
-003529 FE                MOV     R6,A
-;---- Variable 'group' assigned to Register 'R5' ----
-00352A FD                MOV     R5,A
-00352B EF                MOV     A,R7
-00352C 5407              ANL     A,#07H
-00352E FE                MOV     R6,A
-00352F EF                MOV     A,R7
-003530 13                RRC     A
-003531 13                RRC     A
-003532 13                RRC     A
-003533 5403              ANL     A,#03H
-003535 FD                MOV     R5,A
-003536 300022            JNB     bit_val,?C0001?GPIO
-003539 904EF6            MOV     DPTR,#reg_base
-00353C E0                MOVX    A,@DPTR
-00353D FB                MOV     R3,A
-00353E A3                INC     DPTR
-00353F E0                MOVX    A,@DPTR
-003540 FA                MOV     R2,A
-003541 A3                INC     DPTR
-003542 E0                MOVX    A,@DPTR
-003543 2D                ADD     A,R5
-003544 F9                MOV     R1,A
-003545 E4                CLR     A
-003546 3A                ADDC    A,R2
-003547 FA                MOV     R2,A
-003548 1203B6            LCALL   ?C?CLDPTR
-00354B FF                MOV     R7,A
-00354C 7401              MOV     A,#01H
-00354E A806              MOV     R0,AR6
-003550 08                INC     R0
-003551 8002              SJMP    ?C0031?GPIO
-003553         ?C0030?GPIO:
-003553 C3                CLR     C
-003554 33                RLC     A
-003555         ?C0031?GPIO:
-003555 D8FC              DJNZ    R0,?C0030?GPIO
-003557 4F                ORL     A,R7
-003558 0203FC            LJMP    ?C?CSTPTR
-00355B         ?C0001?GPIO:
-00355B 904EF6            MOV     DPTR,#reg_base
-00355E E0                MOVX    A,@DPTR
-00355F FB                MOV     R3,A
-003560 A3                INC     DPTR
-003561 E0                MOVX    A,@DPTR
-003562 FA                MOV     R2,A
-003563 A3                INC     DPTR
-003564 E0                MOVX    A,@DPTR
-003565 2D                ADD     A,R5
-003566 F9                MOV     R1,A
-003567 E4                CLR     A
-003568 3A                ADDC    A,R2
-003569 FA                MOV     R2,A
-00356A 1203B6            LCALL   ?C?CLDPTR
-00356D FF                MOV     R7,A
-00356E 7401              MOV     A,#01H
-003570 A806              MOV     R0,AR6
-003572 08                INC     R0
-003573 8002              SJMP    ?C0033?GPIO
-003575         ?C0032?GPIO:
-003575 C3                CLR     C
-003576 33                RLC     A
-003577         ?C0033?GPIO:
-003577 D8FC              DJNZ    R0,?C0032?GPIO
-003579 F4                CPL     A
-00357A 5F                ANL     A,R7
-00357B 0203FC            LJMP    ?C?CSTPTR
------ FUNCTION _gpioSetBit (END) -------
-
-
 ----- FUNCTION _GPIO_SetPd (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
-00357E EF                MOV     A,R7
-00357F F4                CPL     A
-003580 600C              JZ      ?C0011?GPIO
-003582         ?C0010?GPIO:
-003582 7B01              MOV     R3,#01H
-003584 7A80              MOV     R2,#080H
-003586 797C              MOV     R1,#07CH
-003588 A203              MOV     C,bit_val
-00358A 9200              MOV     ?_gpioSetBit?BIT,C
-00358C B11D              ACALL   _gpioSetBit
-00358E         ?C0011?GPIO:
-00358E 22                RET     
+0034FA EF                MOV     A,R7
+0034FB F4                CPL     A
+0034FC 600D              JZ      ?C0011?GPIO
+0034FE         ?C0010?GPIO:
+0034FE 7B01              MOV     R3,#01H
+003500 7A80              MOV     R2,#080H
+003502 797C              MOV     R1,#07CH
+003504 A203              MOV     C,bit_val
+003506 9200              MOV     ?_gpioSetBit?BIT,C
+003508 1217F4            LCALL   _gpioSetBit
+00350B         ?C0011?GPIO:
+00350B 22                RET     
 ----- FUNCTION _GPIO_SetPd (END) -------
 
 
+----- FUNCTION _GPIO_SetInput (BEGIN) -----
+;---- Variable 'gpio_num' assigned to Register 'R4' ----
+00350C AC07              MOV     R4,AR7
+00350E EC                MOV     A,R4
+00350F F4                CPL     A
+003510 6018              JZ      ?C0015?GPIO
+003512         ?C0014?GPIO:
+003512 AF04              MOV     R7,AR4
+003514 A205              MOV     C,st
+003516 9203              MOV     ?_GPIO_SetPd?BIT,C
+003518 91FA              ACALL   _GPIO_SetPd
+00351A AF04              MOV     R7,AR4
+00351C A205              MOV     C,st
+00351E B3                CPL     C
+00351F 9202              MOV     ?_GPIO_SetPu?BIT,C
+003521 1217C9            LCALL   _GPIO_SetPu
+003524 AF04              MOV     R7,AR4
+003526 C204              CLR     ?_GPIO_Setoe?BIT
+003528 B12B              ACALL   _GPIO_Setoe
+00352A         ?C0015?GPIO:
+00352A 22                RET     
+----- FUNCTION _GPIO_SetInput (END) -------
+
+
 ----- FUNCTION _GPIO_Setoe (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
-00358F EF                MOV     A,R7
-003590 F4                CPL     A
-003591 600C              JZ      ?C0013?GPIO
-003593         ?C0012?GPIO:
-003593 7B01              MOV     R3,#01H
-003595 7A80              MOV     R2,#080H
-003597 7970              MOV     R1,#070H
-003599 A204              MOV     C,bit_val
-00359B 9200              MOV     ?_gpioSetBit?BIT,C
-00359D B11D              ACALL   _gpioSetBit
-00359F         ?C0013?GPIO:
-00359F 22                RET     
+00352B EF                MOV     A,R7
+00352C F4                CPL     A
+00352D 600D              JZ      ?C0013?GPIO
+00352F         ?C0012?GPIO:
+00352F 7B01              MOV     R3,#01H
+003531 7A80              MOV     R2,#080H
+003533 7970              MOV     R1,#070H
+003535 A204              MOV     C,bit_val
+003537 9200              MOV     ?_gpioSetBit?BIT,C
+003539 1217F4            LCALL   _gpioSetBit
+00353C         ?C0013?GPIO:
+00353C 22                RET     
 ----- FUNCTION _GPIO_Setoe (END) -------
 
 
 ----- FUNCTION _GPIO_ClearWakeup (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
-0035A0 EF                MOV     A,R7
-0035A1 F4                CPL     A
-0035A2 603A              JZ      ?C0023?GPIO
-0035A4         ?C0022?GPIO:
-0035A4 EF                MOV     A,R7
-0035A5 5407              ANL     A,#07H
-0035A7 FE                MOV     R6,A
+00353D EF                MOV     A,R7
+00353E F4                CPL     A
+00353F 603A              JZ      ?C0023?GPIO
+003541         ?C0022?GPIO:
+003541 EF                MOV     A,R7
+003542 5407              ANL     A,#07H
+003544 FE                MOV     R6,A
 ;---- Variable 'queue' assigned to Register 'R6' ----
-0035A8 EF                MOV     A,R7
-0035A9 13                RRC     A
-0035AA 13                RRC     A
-0035AB 13                RRC     A
-0035AC 5403              ANL     A,#03H
-0035AE FF                MOV     R7,A
+003545 EF                MOV     A,R7
+003546 13                RRC     A
+003547 13                RRC     A
+003548 13                RRC     A
+003549 5403              ANL     A,#03H
+00354B FF                MOV     R7,A
 ;---- Variable 'group' assigned to Register 'R7' ----
-0035AF 24A3              ADD     A,#LOW YC_GPIOWakeupL
-0035B1 F582              MOV     DPL,A
-0035B3 E4                CLR     A
-0035B4 3400              ADDC    A,#HIGH YC_GPIOWakeupL
-0035B6 F583              MOV     DPH,A
-0035B8 C083              PUSH    DPH
-0035BA C082              PUSH    DPL
-0035BC E0                MOVX    A,@DPTR
-0035BD FD                MOV     R5,A
-0035BE 7401              MOV     A,#01H
-0035C0 A806              MOV     R0,AR6
-0035C2 08                INC     R0
-0035C3 8002              SJMP    ?C0043?GPIO
-0035C5         ?C0042?GPIO:
-0035C5 C3                CLR     C
-0035C6 33                RLC     A
-0035C7         ?C0043?GPIO:
-0035C7 D8FC              DJNZ    R0,?C0042?GPIO
-0035C9 F4                CPL     A
-0035CA FC                MOV     R4,A
-0035CB 5D                ANL     A,R5
-0035CC D082              POP     DPL
-0035CE D083              POP     DPH
-0035D0 F0                MOVX    @DPTR,A
-0035D1 74A7              MOV     A,#LOW YC_GPIOWakeupH
-0035D3 2F                ADD     A,R7
-0035D4 F582              MOV     DPL,A
-0035D6 E4                CLR     A
-0035D7 3400              ADDC    A,#HIGH YC_GPIOWakeupH
-0035D9 F583              MOV     DPH,A
-0035DB E0                MOVX    A,@DPTR
-0035DC 5C                ANL     A,R4
-0035DD F0                MOVX    @DPTR,A
-0035DE         ?C0023?GPIO:
-0035DE 22                RET     
+00354C 24A3              ADD     A,#LOW YC_GPIOWakeupL
+00354E F582              MOV     DPL,A
+003550 E4                CLR     A
+003551 3400              ADDC    A,#HIGH YC_GPIOWakeupL
+003553 F583              MOV     DPH,A
+003555 C083              PUSH    DPH
+003557 C082              PUSH    DPL
+003559 E0                MOVX    A,@DPTR
+00355A FD                MOV     R5,A
+00355B 7401              MOV     A,#01H
+00355D A806              MOV     R0,AR6
+00355F 08                INC     R0
+003560 8002              SJMP    ?C0043?GPIO
+003562         ?C0042?GPIO:
+003562 C3                CLR     C
+003563 33                RLC     A
+003564         ?C0043?GPIO:
+003564 D8FC              DJNZ    R0,?C0042?GPIO
+003566 F4                CPL     A
+003567 FC                MOV     R4,A
+003568 5D                ANL     A,R5
+003569 D082              POP     DPL
+00356B D083              POP     DPH
+00356D F0                MOVX    @DPTR,A
+00356E 74A7              MOV     A,#LOW YC_GPIOWakeupH
+003570 2F                ADD     A,R7
+003571 F582              MOV     DPL,A
+003573 E4                CLR     A
+003574 3400              ADDC    A,#HIGH YC_GPIOWakeupH
+003576 F583              MOV     DPH,A
+003578 E0                MOVX    A,@DPTR
+003579 5C                ANL     A,R4
+00357A F0                MOVX    @DPTR,A
+00357B         ?C0023?GPIO:
+00357B 22                RET     
 ----- FUNCTION _GPIO_ClearWakeup (END) -------
 
 
 ----- FUNCTION GPIO_fillpd (BEGIN) -----
 ;---- Variable 'i' assigned to Register 'R7' ----
-0035DF E4                CLR     A
-0035E0 FF                MOV     R7,A
-0035E1         ?C0026?GPIO:
-0035E1 EF                MOV     A,R7
-0035E2 FD                MOV     R5,A
-0035E3 7C00              MOV     R4,#00H
-0035E5 2478              ADD     A,#078H
-0035E7 FB                MOV     R3,A
-0035E8 EC                MOV     A,R4
-0035E9 3480              ADDC    A,#080H
-0035EB 8B82              MOV     DPL,R3
-0035ED F583              MOV     DPH,A
-0035EF E0                MOVX    A,@DPTR
-0035F0 FE                MOV     R6,A
-0035F1 ED                MOV     A,R5
-0035F2 2470              ADD     A,#070H
-0035F4 FD                MOV     R5,A
-0035F5 EC                MOV     A,R4
-0035F6 3480              ADDC    A,#080H
-0035F8 8D82              MOV     DPL,R5
-0035FA F583              MOV     DPH,A
-0035FC E0                MOVX    A,@DPTR
-0035FD 4E                ORL     A,R6
-0035FE F4                CPL     A
-0035FF FE                MOV     R6,A
-003600 EF                MOV     A,R7
-003601 247C              ADD     A,#07CH
-003603 FD                MOV     R5,A
-003604 EC                MOV     A,R4
-003605 3480              ADDC    A,#080H
-003607 8D82              MOV     DPL,R5
-003609 F583              MOV     DPH,A
-00360B EE                MOV     A,R6
-00360C F0                MOVX    @DPTR,A
-00360D 0F                INC     R7
-00360E EF                MOV     A,R7
-00360F B404CF            CJNE    A,#04H,?C0026?GPIO
-003612 22                RET     
+00357C E4                CLR     A
+00357D FF                MOV     R7,A
+00357E         ?C0026?GPIO:
+00357E EF                MOV     A,R7
+00357F FD                MOV     R5,A
+003580 7C00              MOV     R4,#00H
+003582 2478              ADD     A,#078H
+003584 FB                MOV     R3,A
+003585 EC                MOV     A,R4
+003586 3480              ADDC    A,#080H
+003588 8B82              MOV     DPL,R3
+00358A F583              MOV     DPH,A
+00358C E0                MOVX    A,@DPTR
+00358D FE                MOV     R6,A
+00358E ED                MOV     A,R5
+00358F 2470              ADD     A,#070H
+003591 FD                MOV     R5,A
+003592 EC                MOV     A,R4
+003593 3480              ADDC    A,#080H
+003595 8D82              MOV     DPL,R5
+003597 F583              MOV     DPH,A
+003599 E0                MOVX    A,@DPTR
+00359A 4E                ORL     A,R6
+00359B F4                CPL     A
+00359C FE                MOV     R6,A
+00359D EF                MOV     A,R7
+00359E 247C              ADD     A,#07CH
+0035A0 FD                MOV     R5,A
+0035A1 EC                MOV     A,R4
+0035A2 3480              ADDC    A,#080H
+0035A4 8D82              MOV     DPL,R5
+0035A6 F583              MOV     DPH,A
+0035A8 EE                MOV     A,R6
+0035A9 F0                MOVX    @DPTR,A
+0035AA 0F                INC     R7
+0035AB EF                MOV     A,R7
+0035AC B404CF            CJNE    A,#04H,?C0026?GPIO
+0035AF 22                RET     
 ----- FUNCTION GPIO_fillpd (END) -------
 
 
Index: c51/output/FW.HTM
===================================================================
--- /YC1026/YC1086_BLE_24g_SDK/c51/output/FW.HTM	(revision 327)
+++ /YC1026/YC1086_BLE_24g_SDK/c51/output/FW.HTM	(working copy)
@@ -25,7 +25,7 @@
 
 <p class="TinyT">
 Created from: <b>LX51 LINKER/LOCATER V4.41</b><br>
-Creation time: <b>12/25/2021  18:52:31</b><p>
+Creation time: <b>01/24/2022  21:30:08</b><p>
 
 <hr>
 
@@ -43,8 +43,8 @@
 <li><a href="#S105">?PR?_KB_CB_EVENT?SYS</a></li>
 </ul>
 
-<h2><a name="S13"></a>?PR?YC_START_RECONNECT?BLUETOOTH (C:0015CAH - C:001677H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=10 Bytes (<a href="#S53">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>)<p>
+<h2><a name="S13"></a>?PR?YC_START_RECONNECT?BLUETOOTH (C:0015ADH - C:00165AH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S53">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S170">?PR?_DELAY1MS?UTILITIES</a></li>
@@ -57,35 +57,33 @@
 <li><a href="#S105">?PR?_KB_CB_EVENT?SYS</a></li>
 </ul>
 
-<h2><a name="S79"></a>?PR?KSCOLINITIALIZE?KEYSCAN (C:001F7AH - C:001F97H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S187">?PR?_GPIO_SETINPUT?GPIO</a>)<p>
+<h2><a name="S79"></a>?PR?KSCOLINITIALIZE?KEYSCAN (C:001FB1H - C:001FCFH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S189">?PR?_GPIO_SETOUTPUT?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S187">?PR?_GPIO_SETINPUT?GPIO</a></li>
+<li><a href="#S189">?PR?_GPIO_SETOUTPUT?GPIO</a></li>
 </ul>
 
-<h2><a name="S99"></a>?PR?SYSTEM_HARDWARE_RESET?SYS (C:001AE1H - C:001AE9H)</h2>
+<h2><a name="S99"></a>?PR?SYSTEM_HARDWARE_RESET?SYS (C:001B35H - C:001B3DH)</h2>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S105">?PR?_KB_CB_EVENT?SYS</a></li>
 </ul>
 
-<h2><a name="S103"></a>?PR?_KB_CB_HID?SYS (C:003298H - C:0032A7H)</h2>
+<h2><a name="S103"></a>?PR?_KB_CB_HID?SYS (C:003275H - C:003284H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S212">?C?LIB_CODE</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S212">?C?LIB_CODE</a></li>
 </ul>
 
-<h2><a name="S105"></a>?PR?_KB_CB_EVENT?SYS (C:001CA8H - C:001F6EH)</h2>
+<h2><a name="S105"></a>?PR?_KB_CB_EVENT?SYS (C:001CFCH - C:001FA5H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=14 Bytes (<a href="#S97">?PR?SYSTEM_HARDWARE_INIT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S212">?C?LIB_CODE</a></li>
 <li><a href="#S170">?PR?_DELAY1MS?UTILITIES</a></li>
-<li><a href="#S179">?PR?_GPIO_SETOUT?GPIO</a></li>
 <li><a href="#S204">?PR?_IIC_READ?IIC</a></li>
-<li><a href="#S208">?PR?_IIC_WRITEBLOCK?IIC</a></li>
 <li><a href="#S129">?PR?_IPC_TXCONTROLCMD?IPC</a></li>
 <li><a href="#S168">?PR?_XMEMCLEAR_FF?UTILITIES</a></li>
 <li><a href="#S53">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
@@ -104,8 +102,8 @@
 <li><a href="#S15">?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH</a></li>
 </ul>
 
-<h2><a name="S110"></a>?PR?YC_PAIRING_TIMEROUT_500MS?SYS (C:0018B5H - C:0018FDH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=10 Bytes (<a href="#S53">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>)<p>
+<h2><a name="S110"></a>?PR?YC_PAIRING_TIMEROUT_500MS?SYS (C:001909H - C:001951H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S53">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S170">?PR?_DELAY1MS?UTILITIES</a></li>
@@ -113,8 +111,8 @@
 <li><a href="#S100">?PR?SYSTEM_LONG_SLEEP?SYS</a></li>
 </ul>
 
-<h2><a name="S112"></a>?PR?KB_CB_TIMER500MS?SYS (C:00189BH - C:0018B4H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=16 Bytes (<a href="#S108">?PR?YC_CONNECT_TIMEOUT_500MS?SYS</a>)<p>
+<h2><a name="S112"></a>?PR?KB_CB_TIMER500MS?SYS (C:0018EFH - C:001908H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=14 Bytes (<a href="#S108">?PR?YC_CONNECT_TIMEOUT_500MS?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S111">?PR?KB_BUTTON_PRESS_TIMER500MS?SYS</a></li>
@@ -124,8 +122,8 @@
 <li><a href="#S109">?PR?YC_WAIT_DISCONNECT_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S113"></a>?PR?KB_CB_TIMER100MS?SYS (C:0032A8H - C:00339CH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=14 Bytes (<a href="#S55">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>)<p>
+<h2><a name="S113"></a>?PR?KB_CB_TIMER100MS?SYS (C:003285H - C:003379H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=12 Bytes (<a href="#S55">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S179">?PR?_GPIO_SETOUT?GPIO</a></li>
@@ -135,8 +133,8 @@
 <li><a href="#S92">?PR?LED_DEVICE_POWERON?LED</a></li>
 </ul>
 
-<h2><a name="S115"></a>?PR?YC_SYSTEM_MAIN?SYS (C:002C92H - C:002CDFH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=18 Bytes (<a href="#S64">?PR?KB_NEED_KEYSCAN?KB_PROCESS</a>)<p>
+<h2><a name="S115"></a>?PR?YC_SYSTEM_MAIN?SYS (C:002C99H - C:002CE6H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=16 Bytes (<a href="#S64">?PR?KB_NEED_KEYSCAN?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S140">?PR?IPC_ABANDONLPM?IPC</a></li>
@@ -156,14 +154,14 @@
 <li><a href="#S122">?PR?MAIN?RAM</a></li>
 </ul>
 
-<h2><a name="S122"></a>?PR?MAIN?RAM (C:002F9FH - C:002FA0H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=18 Bytes (<a href="#S115">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
+<h2><a name="S122"></a>?PR?MAIN?RAM (C:002FA6H - C:002FA7H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=16 Bytes (<a href="#S115">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S115">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S133"></a>?PR?_IPC_TXBREDRHIDDATA?IPC (C:0033F7H - C:003403H)</h2>
+<h2><a name="S133"></a>?PR?_IPC_TXBREDRHIDDATA?IPC (C:0033D4H - C:0033E0H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S131">?PR?_IPC_TXDATA?IPC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -177,7 +175,7 @@
 <li><a href="#S131">?PR?_IPC_TXDATA?IPC</a></li>
 </ul>
 
-<h2><a name="S138"></a>?PR?_IPC_INITIALIZE?IPC (C:002F4DH - C:002F59H)</h2>
+<h2><a name="S138"></a>?PR?_IPC_INITIALIZE?IPC (C:002F54H - C:002F60H)</h2>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S212">?C?LIB_CODE</a></li>
@@ -204,7 +202,7 @@
 </ul>
 
 <h2><a name="S7"></a>?PR?YC_CHECK_NEED_RECONNECTED?BLUETOOTH (C:00100DH - C:00108AH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=10 Bytes (<a href="#S53">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>) Top=8 Bytes (<a href="#S55">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>)<p>
+<p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S53">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>) Top=8 Bytes (<a href="#S55">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S53">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
@@ -215,7 +213,7 @@
 <li><a href="#S55">?PR?_IPC_TXHIDDATA?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S9"></a>?PR?YC_CANCEL_RECONNECT?BLUETOOTH (C:0017D5H - C:0017E6H)</h2>
+<h2><a name="S9"></a>?PR?YC_CANCEL_RECONNECT?BLUETOOTH (C:0017B7H - C:0017C8H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S129">?PR?_IPC_TXCONTROLCMD?IPC</a>) Top=12 Bytes (<a href="#S53">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -227,7 +225,7 @@
 <li><a href="#S53">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S10"></a>?PR?YC_CLEAR_RECONNECT_FLAG?BLUETOOTH (C:0017F7H - C:001800H)</h2>
+<h2><a name="S10"></a>?PR?YC_CLEAR_RECONNECT_FLAG?BLUETOOTH (C:0017EAH - C:0017F3H)</h2>
 <p><br><b>Maximum Stack:</b> Top=12 Bytes (<a href="#S53">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
@@ -249,7 +247,7 @@
 <li><a href="#S108">?PR?YC_CONNECT_TIMEOUT_500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S12"></a>?PR?YC_G24_MODE_DISCOVERY?BLUETOOTH (C:001801H - C:001817H)</h2>
+<h2><a name="S12"></a>?PR?YC_G24_MODE_DISCOVERY?BLUETOOTH (C:001855H - C:00186BH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S129">?PR?_IPC_TXCONTROLCMD?IPC</a>) Top=12 Bytes (<a href="#S53">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -261,7 +259,7 @@
 <li><a href="#S53">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S14"></a>?PR?YC_GET_BLE_RAMDON_LAP?BLUETOOTH (C:001818H - C:00185BH)</h2>
+<h2><a name="S14"></a>?PR?YC_GET_BLE_RAMDON_LAP?BLUETOOTH (C:00186CH - C:0018AFH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S204">?PR?_IIC_READ?IIC</a>) Top=12 Bytes (<a href="#S53">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -274,7 +272,7 @@
 <li><a href="#S109">?PR?YC_WAIT_DISCONNECT_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S15"></a>?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH (C:00146DH - C:001503H)</h2>
+<h2><a name="S15"></a>?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH (C:001442H - C:0014E6H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S208">?PR?_IIC_WRITEBLOCK?IIC</a>) Top=4 Bytes (<a href="#S111">?PR?KB_BUTTON_PRESS_TIMER500MS?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -290,14 +288,13 @@
 <li><a href="#S115">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S53"></a>?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS (C:00108BH - C:001267H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S208">?PR?_IIC_WRITEBLOCK?IIC</a>) Top=10 Bytes (<a href="#S7">?PR?YC_CHECK_NEED_RECONNECTED?BLUETOOTH</a>)<p>
+<h2><a name="S53"></a>?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS (C:00108BH - C:00123DH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S11">?PR?YC_DISCONNECT_ALL_LINK?BLUETOOTH</a>) Top=10 Bytes (<a href="#S7">?PR?YC_CHECK_NEED_RECONNECTED?BLUETOOTH</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S170">?PR?_DELAY1MS?UTILITIES</a></li>
 <li><a href="#S179">?PR?_GPIO_SETOUT?GPIO</a></li>
 <li><a href="#S204">?PR?_IIC_READ?IIC</a></li>
-<li><a href="#S208">?PR?_IIC_WRITEBLOCK?IIC</a></li>
 <li><a href="#S129">?PR?_IPC_TXCONTROLCMD?IPC</a></li>
 <li><a href="#S168">?PR?_XMEMCLEAR_FF?UTILITIES</a></li>
 <li><a href="#S9">?PR?YC_CANCEL_RECONNECT?BLUETOOTH</a></li>
@@ -317,7 +314,7 @@
 </ul>
 
 <h2><a name="S55"></a>?PR?_IPC_TXHIDDATA?KB_PROCESS (C:000C30H - C:000D11H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=12 Bytes (<a href="#S7">?PR?YC_CHECK_NEED_RECONNECTED?BLUETOOTH</a>) Top=6 Bytes (<a href="#S65">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a>)<p>
+<p><br><b>Maximum Stack:</b> Bottom=10 Bytes (<a href="#S7">?PR?YC_CHECK_NEED_RECONNECTED?BLUETOOTH</a>) Top=6 Bytes (<a href="#S65">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S212">?C?LIB_CODE</a></li>
@@ -335,14 +332,14 @@
 <li><a href="#S108">?PR?YC_CONNECT_TIMEOUT_500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S57"></a>?PR?_KB_SET_MULTIKEY?KB_PROCESS (C:001FE7H - C:002001H)</h2>
+<h2><a name="S57"></a>?PR?_KB_SET_MULTIKEY?KB_PROCESS (C:001FEEH - C:002008H)</h2>
 <p><br><b>Maximum Stack:</b> Top=8 Bytes (<a href="#S72">?PR?_KB_MULTIKEY_SETUP?KB_PROCESS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S72">?PR?_KB_MULTIKEY_SETUP?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S58"></a>?PR?_KB_SET_SYSTEMKEY?KB_PROCESS (C:002002H - C:00201CH)</h2>
+<h2><a name="S58"></a>?PR?_KB_SET_SYSTEMKEY?KB_PROCESS (C:002009H - C:002023H)</h2>
 <p><br><b>Maximum Stack:</b> Top=8 Bytes (<a href="#S72">?PR?_KB_MULTIKEY_SETUP?KB_PROCESS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
@@ -350,7 +347,7 @@
 </ul>
 
 <h2><a name="S59"></a>?PR?_KB_SEND_COMBINATION_KEY?KB_PROCESS (C:000D12H - C:000D4BH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=12 Bytes (<a href="#S55">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>) Top=4 Bytes (<a href="#S64">?PR?KB_NEED_KEYSCAN?KB_PROCESS</a>)<p>
+<p><br><b>Maximum Stack:</b> Bottom=10 Bytes (<a href="#S55">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>) Top=4 Bytes (<a href="#S64">?PR?KB_NEED_KEYSCAN?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S55">?PR?_IPC_TXHIDDATA?KB_PROCESS</a></li>
@@ -362,8 +359,8 @@
 <li><a href="#S64">?PR?KB_NEED_KEYSCAN?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S61"></a>?PR?KB_24G_GET_LED_STATUS?KB_PROCESS (C:002334H - C:002371H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=14 Bytes (<a href="#S55">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>) Top=2 Bytes (<a href="#S62">?PR?KB_MOTION?KB_PROCESS</a>)<p>
+<h2><a name="S61"></a>?PR?KB_24G_GET_LED_STATUS?KB_PROCESS (C:00233BH - C:002378H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=12 Bytes (<a href="#S55">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>) Top=2 Bytes (<a href="#S62">?PR?KB_MOTION?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S55">?PR?_IPC_TXHIDDATA?KB_PROCESS</a></li>
@@ -375,8 +372,8 @@
 <li><a href="#S62">?PR?KB_MOTION?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S62"></a>?PR?KB_MOTION?KB_PROCESS (C:002372H - C:0023A4H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=16 Bytes (<a href="#S65">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a>) Top=2 Bytes (<a href="#S64">?PR?KB_NEED_KEYSCAN?KB_PROCESS</a>)<p>
+<h2><a name="S62"></a>?PR?KB_MOTION?KB_PROCESS (C:002379H - C:0023ABH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=14 Bytes (<a href="#S65">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a>) Top=2 Bytes (<a href="#S64">?PR?KB_NEED_KEYSCAN?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S65">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a></li>
@@ -391,7 +388,7 @@
 </ul>
 
 <h2><a name="S64"></a>?PR?KB_NEED_KEYSCAN?KB_PROCESS (C:000D4CH - C:000DCFH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=16 Bytes (<a href="#S62">?PR?KB_MOTION?KB_PROCESS</a>) Top=2 Bytes (<a href="#S115">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
+<p><br><b>Maximum Stack:</b> Bottom=14 Bytes (<a href="#S62">?PR?KB_MOTION?KB_PROCESS</a>) Top=2 Bytes (<a href="#S115">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S59">?PR?_KB_SEND_COMBINATION_KEY?KB_PROCESS</a></li>
@@ -404,7 +401,7 @@
 </ul>
 
 <h2><a name="S65"></a>?PR?_KB_MOTION_KEYSCAN?KB_PROCESS (C:0008C0H - C:000B6AH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=14 Bytes (<a href="#S55">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>) Top=4 Bytes (<a href="#S62">?PR?KB_MOTION?KB_PROCESS</a>)<p>
+<p><br><b>Maximum Stack:</b> Bottom=12 Bytes (<a href="#S55">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>) Top=4 Bytes (<a href="#S62">?PR?KB_MOTION?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S212">?C?LIB_CODE</a></li>
@@ -420,7 +417,7 @@
 <li><a href="#S62">?PR?KB_MOTION?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S67"></a>?PR?_KB_DEVICE_SELECT?KB_PROCESS (C:002792H - C:0028D2H)</h2>
+<h2><a name="S67"></a>?PR?_KB_DEVICE_SELECT?KB_PROCESS (C:002799H - C:0028D9H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S212">?C?LIB_CODE</a>) Top=6 Bytes (<a href="#S65">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -432,14 +429,14 @@
 <li><a href="#S65">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S69"></a>?PR?_KB_COMBINATION_KEY_PRESS?KB_PROCESS (C:0028D3H - C:0028F7H)</h2>
+<h2><a name="S69"></a>?PR?_KB_COMBINATION_KEY_PRESS?KB_PROCESS (C:0028DAH - C:0028FEH)</h2>
 <p><br><b>Maximum Stack:</b> Top=8 Bytes (<a href="#S70">?PR?_KEY_FN_FUNCTION?KB_PROCESS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S70">?PR?_KEY_FN_FUNCTION?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S70"></a>?PR?_KEY_FN_FUNCTION?KB_PROCESS (C:0028F8H - C:002B59H)</h2>
+<h2><a name="S70"></a>?PR?_KEY_FN_FUNCTION?KB_PROCESS (C:0028FFH - C:002B60H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S69">?PR?_KB_COMBINATION_KEY_PRESS?KB_PROCESS</a>) Top=6 Bytes (<a href="#S88">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -451,7 +448,7 @@
 <li><a href="#S88">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S72"></a>?PR?_KB_MULTIKEY_SETUP?KB_PROCESS (C:00201DH - C:002333H)</h2>
+<h2><a name="S72"></a>?PR?_KB_MULTIKEY_SETUP?KB_PROCESS (C:002024H - C:00233AH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S212">?C?LIB_CODE</a>) Top=6 Bytes (<a href="#S65">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -465,28 +462,28 @@
 <li><a href="#S65">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S74"></a>?PR?_BIT_COUNT?KEYSCAN (C:0025F2H - C:0025FFH)</h2>
+<h2><a name="S74"></a>?PR?_BIT_COUNT?KEYSCAN (C:0025F9H - C:002606H)</h2>
 <p><br><b>Maximum Stack:</b> Top=6 Bytes (<a href="#S88">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S88">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S75"></a>?PR?_KEYIN?KEYSCAN (C:002692H - C:0026E7H)</h2>
+<h2><a name="S75"></a>?PR?_KEYIN?KEYSCAN (C:002699H - C:0026EEH)</h2>
 <p><br><b>Maximum Stack:</b> Top=6 Bytes (<a href="#S88">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S88">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S76"></a>?PR?_KEYOUT?KEYSCAN (C:0026E8H - C:002791H)</h2>
+<h2><a name="S76"></a>?PR?_KEYOUT?KEYSCAN (C:0026EFH - C:002798H)</h2>
 <p><br><b>Maximum Stack:</b> Top=6 Bytes (<a href="#S88">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S88">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S77"></a>?PR?KSRAWINITIALIZE?KEYSCAN (C:001F98H - C:001FB4H)</h2>
+<h2><a name="S77"></a>?PR?KSRAWINITIALIZE?KEYSCAN (C:001FD0H - C:001FEDH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S187">?PR?_GPIO_SETINPUT?GPIO</a>) Top=6 Bytes (<a href="#S81">?PR?KS_INITIALIZE?KEYSCAN</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -498,7 +495,7 @@
 <li><a href="#S81">?PR?KS_INITIALIZE?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S81"></a>?PR?KS_INITIALIZE?KEYSCAN (C:001F6FH - C:001F79H)</h2>
+<h2><a name="S81"></a>?PR?KS_INITIALIZE?KEYSCAN (C:001FA6H - C:001FB0H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=10 Bytes (<a href="#S77">?PR?KSRAWINITIALIZE?KEYSCAN</a>) Top=4 Bytes (<a href="#S97">?PR?SYSTEM_HARDWARE_INIT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -511,7 +508,7 @@
 <li><a href="#S97">?PR?SYSTEM_HARDWARE_INIT?SYS</a></li>
 </ul>
 
-<h2><a name="S82"></a>?PR?KS_UNISTALL?KEYSCAN (C:002B5AH - C:002BF2H)</h2>
+<h2><a name="S82"></a>?PR?KS_UNISTALL?KEYSCAN (C:002B61H - C:002BF9H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S194">?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO</a>) Top=2 Bytes (<a href="#S115">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -524,14 +521,14 @@
 <li><a href="#S115">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S84"></a>?PR?KS_SCANMATRIX?KEYSCAN (C:002FDCH - C:00313DH)</h2>
+<h2><a name="S84"></a>?PR?KS_SCANMATRIX?KEYSCAN (C:002FE3H - C:00311AH)</h2>
 <p><br><b>Maximum Stack:</b> Top=6 Bytes (<a href="#S88">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S88">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S86"></a>?PR?_ARRAY_IS_EMPTY?KEYSCAN (C:002618H - C:002647H)</h2>
+<h2><a name="S86"></a>?PR?_ARRAY_IS_EMPTY?KEYSCAN (C:00261FH - C:00264EH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S212">?C?LIB_CODE</a>) Top=6 Bytes (<a href="#S88">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -543,7 +540,7 @@
 <li><a href="#S88">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S88"></a>?PR?KS_GETCURRENTEVT?KEYSCAN (C:0023A5H - C:0025F1H)</h2>
+<h2><a name="S88"></a>?PR?KS_GETCURRENTEVT?KEYSCAN (C:0023ACH - C:0025F8H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S84">?PR?KS_SCANMATRIX?KEYSCAN</a>) Top=4 Bytes (<a href="#S62">?PR?KB_MOTION?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -561,7 +558,7 @@
 <li><a href="#S62">?PR?KB_MOTION?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S91"></a>?PR?LED_ALL_SHUTDOWN?LED (C:0017B7H - C:0017D4H)</h2>
+<h2><a name="S91"></a>?PR?LED_ALL_SHUTDOWN?LED (C:001799H - C:0017B6H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S189">?PR?_GPIO_SETOUTPUT?GPIO</a>) Top=4 Bytes (<a href="#S101">?PR?SYSTEM_G24_LONG_LPM?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -576,7 +573,7 @@
 <li><a href="#S115">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S92"></a>?PR?LED_DEVICE_POWERON?LED (C:001745H - C:00177DH)</h2>
+<h2><a name="S92"></a>?PR?LED_DEVICE_POWERON?LED (C:001727H - C:00175FH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S189">?PR?_GPIO_SETOUTPUT?GPIO</a>) Top=2 Bytes (<a href="#S105">?PR?_KB_CB_EVENT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -590,7 +587,7 @@
 <li><a href="#S113">?PR?KB_CB_TIMER100MS?SYS</a></li>
 </ul>
 
-<h2><a name="S93"></a>?PR?LED_DEVICE_POWEROFF?LED (C:00177EH - C:0017B6H)</h2>
+<h2><a name="S93"></a>?PR?LED_DEVICE_POWEROFF?LED (C:001760H - C:001798H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S179">?PR?_GPIO_SETOUT?GPIO</a>) Top=2 Bytes (<a href="#S105">?PR?_KB_CB_EVENT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -604,7 +601,7 @@
 <li><a href="#S113">?PR?KB_CB_TIMER100MS?SYS</a></li>
 </ul>
 
-<h2><a name="S94"></a>?PR?LED_HANDLE?LED (C:00136DH - C:00146CH)</h2>
+<h2><a name="S94"></a>?PR?LED_HANDLE?LED (C:001342H - C:001441H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S179">?PR?_GPIO_SETOUT?GPIO</a>) Top=2 Bytes (<a href="#S115">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -630,7 +627,7 @@
 <li><a href="#S98">?PR?SYSTEM_SOFTWARE_INIT?SYS</a></li>
 </ul>
 
-<h2><a name="S96"></a>?PR?SYSTEM_IIC_CLK_SETUP?SYS (C:00313EH - C:003150H)</h2>
+<h2><a name="S96"></a>?PR?SYSTEM_IIC_CLK_SETUP?SYS (C:00311BH - C:00312DH)</h2>
 <p><br><b>Maximum Stack:</b> Top=4 Bytes (<a href="#S97">?PR?SYSTEM_HARDWARE_INIT?SYS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
@@ -638,7 +635,7 @@
 <li><a href="#S97">?PR?SYSTEM_HARDWARE_INIT?SYS</a></li>
 </ul>
 
-<h2><a name="S97"></a>?PR?SYSTEM_HARDWARE_INIT?SYS (C:0017EFH - C:0017F6H)</h2>
+<h2><a name="S97"></a>?PR?SYSTEM_HARDWARE_INIT?SYS (C:0017E2H - C:0017E9H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=12 Bytes (<a href="#S81">?PR?KS_INITIALIZE?KEYSCAN</a>) Top=2 Bytes (<a href="#S105">?PR?_KB_CB_EVENT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -652,7 +649,7 @@
 <li><a href="#S105">?PR?_KB_CB_EVENT?SYS</a></li>
 </ul>
 
-<h2><a name="S98"></a>?PR?SYSTEM_SOFTWARE_INIT?SYS (C:003151H - C:003185H)</h2>
+<h2><a name="S98"></a>?PR?SYSTEM_SOFTWARE_INIT?SYS (C:00312EH - C:003162H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S118">?PR?YC_ADC_INIT?ADC</a>) Top=2 Bytes (<a href="#S105">?PR?_KB_CB_EVENT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -681,7 +678,7 @@
 <li><a href="#S110">?PR?YC_PAIRING_TIMEROUT_500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S101"></a>?PR?SYSTEM_G24_LONG_LPM?SYS (C:002FADH - C:002FDBH)</h2>
+<h2><a name="S101"></a>?PR?SYSTEM_G24_LONG_LPM?SYS (C:002FB4H - C:002FE2H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=10 Bytes (<a href="#S91">?PR?LED_ALL_SHUTDOWN?LED</a>) Top=2 Bytes (<a href="#S108">?PR?YC_CONNECT_TIMEOUT_500MS?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -694,14 +691,14 @@
 <li><a href="#S115">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S102"></a>?PR?SYSTEM_RESET_CONNECT?SYS (C:001AE1H - C:001AE0H)</h2>
+<h2><a name="S102"></a>?PR?SYSTEM_RESET_CONNECT?SYS (C:001B35H - C:001B34H)</h2>
 <p><br><b>Maximum Stack:</b> Top=4 Bytes (<a href="#S111">?PR?KB_BUTTON_PRESS_TIMER500MS?SYS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S111">?PR?KB_BUTTON_PRESS_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S107"></a>?PR?LED_TIMER500MS?SYS (C:00127AH - C:001350H)</h2>
+<h2><a name="S107"></a>?PR?LED_TIMER500MS?SYS (C:00124FH - C:001325H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S197">?PR?_GPIO_FLIPOUTBIT?GPIO</a>) Top=2 Bytes (<a href="#S112">?PR?KB_CB_TIMER500MS?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -716,7 +713,7 @@
 </ul>
 
 <h2><a name="S108"></a>?PR?YC_CONNECT_TIMEOUT_500MS?SYS (C:000DD0H - C:000EC9H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=14 Bytes (<a href="#S55">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>) Top=2 Bytes (<a href="#S112">?PR?KB_CB_TIMER500MS?SYS</a>)<p>
+<p><br><b>Maximum Stack:</b> Bottom=12 Bytes (<a href="#S55">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>) Top=2 Bytes (<a href="#S112">?PR?KB_CB_TIMER500MS?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S129">?PR?_IPC_TXCONTROLCMD?IPC</a></li>
@@ -732,7 +729,7 @@
 <li><a href="#S112">?PR?KB_CB_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S109"></a>?PR?YC_WAIT_DISCONNECT_TIMER500MS?SYS (C:00185CH - C:00189AH)</h2>
+<h2><a name="S109"></a>?PR?YC_WAIT_DISCONNECT_TIMER500MS?SYS (C:0018B0H - C:0018EEH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S14">?PR?YC_GET_BLE_RAMDON_LAP?BLUETOOTH</a>) Top=2 Bytes (<a href="#S112">?PR?KB_CB_TIMER500MS?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -745,8 +742,8 @@
 <li><a href="#S112">?PR?KB_CB_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S111"></a>?PR?KB_BUTTON_PRESS_TIMER500MS?SYS (C:00190FH - C:001AE0H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=10 Bytes (<a href="#S53">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>) Top=2 Bytes (<a href="#S112">?PR?KB_CB_TIMER500MS?SYS</a>)<p>
+<h2><a name="S111"></a>?PR?KB_BUTTON_PRESS_TIMER500MS?SYS (C:001963H - C:001B34H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=10 Bytes (<a href="#S15">?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH</a>) Top=2 Bytes (<a href="#S112">?PR?KB_CB_TIMER500MS?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S170">?PR?_DELAY1MS?UTILITIES</a></li>
@@ -763,14 +760,14 @@
 <li><a href="#S112">?PR?KB_CB_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S114"></a>?PR?KB_CB_INIT?SYS (C:002F47H - C:002F4CH)</h2>
+<h2><a name="S114"></a>?PR?KB_CB_INIT?SYS (C:002F4EH - C:002F53H)</h2>
 <p><br><b>Maximum Stack:</b> Top=2 Bytes (<a href="#S115">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S115">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S118"></a>?PR?YC_ADC_INIT?ADC (C:003186H - C:003297H)</h2>
+<h2><a name="S118"></a>?PR?YC_ADC_INIT?ADC (C:003163H - C:003274H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S212">?C?LIB_CODE</a>) Top=4 Bytes (<a href="#S98">?PR?SYSTEM_SOFTWARE_INIT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -782,7 +779,7 @@
 <li><a href="#S98">?PR?SYSTEM_SOFTWARE_INIT?SYS</a></li>
 </ul>
 
-<h2><a name="S119"></a>?PR?YC_ADC_CHECK?ADC (C:001AEAH - C:001CA7H)</h2>
+<h2><a name="S119"></a>?PR?YC_ADC_CHECK?ADC (C:001B3EH - C:001CFBH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S212">?C?LIB_CODE</a>) Top=4 Bytes (<a href="#S121">?PR?YC_ADC_CHECK_TIMER500MS?ADC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -794,7 +791,7 @@
 <li><a href="#S121">?PR?YC_ADC_CHECK_TIMER500MS?ADC</a></li>
 </ul>
 
-<h2><a name="S121"></a>?PR?YC_ADC_CHECK_TIMER500MS?ADC (C:0018FEH - C:00190EH)</h2>
+<h2><a name="S121"></a>?PR?YC_ADC_CHECK_TIMER500MS?ADC (C:001952H - C:001962H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S119">?PR?YC_ADC_CHECK?ADC</a>) Top=2 Bytes (<a href="#S112">?PR?KB_CB_TIMER500MS?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -806,14 +803,14 @@
 <li><a href="#S112">?PR?KB_CB_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S123"></a>?PR?_BUFSIZE?IPC (C:00339DH - C:0033F6H)</h2>
+<h2><a name="S123"></a>?PR?_BUFSIZE?IPC (C:00337AH - C:0033D3H)</h2>
 <p><br><b>Maximum Stack:</b> Top=10 Bytes (<a href="#S127">?PR?_IPCTX?IPC</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S127">?PR?_IPCTX?IPC</a></li>
 </ul>
 
-<h2><a name="S125"></a>?PR?_IPCRX?IPC (C:002EF7H - C:002F46H)</h2>
+<h2><a name="S125"></a>?PR?_IPCRX?IPC (C:002EFEH - C:002F4DH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S212">?C?LIB_CODE</a>) Top=4 Bytes (<a href="#S142">?PR?IPC_DEALSINGLESTEP?IPC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -899,7 +896,7 @@
 <li><a href="#S55">?PR?_IPC_TXHIDDATA?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S139"></a>?PR?IPC_WAITLPM?IPC (C:002CE0H - C:002CEDH)</h2>
+<h2><a name="S139"></a>?PR?IPC_WAITLPM?IPC (C:002CE7H - C:002CF4H)</h2>
 <p><br><b>Maximum Stack:</b> Top=2 Bytes (<a href="#S115">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -911,21 +908,21 @@
 <li><a href="#S115">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S140"></a>?PR?IPC_ABANDONLPM?IPC (C:002FA1H - C:002FACH)</h2>
+<h2><a name="S140"></a>?PR?IPC_ABANDONLPM?IPC (C:002FA8H - C:002FB3H)</h2>
 <p><br><b>Maximum Stack:</b> Top=2 Bytes (<a href="#S115">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S115">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S141"></a>?PR?IPC_ISTXBUFFEMPTY?IPC (C:002600H - C:002617H)</h2>
+<h2><a name="S141"></a>?PR?IPC_ISTXBUFFEMPTY?IPC (C:002607H - C:00261EH)</h2>
 <p><br><b>Maximum Stack:</b> Top=4 Bytes (<a href="#S62">?PR?KB_MOTION?KB_PROCESS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S62">?PR?KB_MOTION?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S142"></a>?PR?IPC_DEALSINGLESTEP?IPC (C:002CEEH - C:002EF6H)</h2>
+<h2><a name="S142"></a>?PR?IPC_DEALSINGLESTEP?IPC (C:002CF5H - C:002EFDH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S125">?PR?_IPCRX?IPC</a>) Top=2 Bytes (<a href="#S115">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -954,8 +951,8 @@
 <li><a href="#S4">?PR?_YC_STORE_RECORD_LIST?BLUETOOTH</a></li>
 </ul>
 
-<h2><a name="S164"></a>?PR?_DMEMCPY?UTILITIES (C:003411H - C:003454H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S212">?C?LIB_CODE</a>) Top=16 Bytes (<a href="#S206">?PR?_IIC_WRITE?IIC</a>)<p>
+<h2><a name="S164"></a>?PR?_DMEMCPY?UTILITIES (C:0033EEH - C:003431H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S212">?C?LIB_CODE</a>) Top=10 Bytes (<a href="#S206">?PR?_IIC_WRITE?IIC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S212">?C?LIB_CODE</a></li>
@@ -982,7 +979,7 @@
 <li><a href="#S108">?PR?YC_CONNECT_TIMEOUT_500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S168"></a>?PR?_XMEMCLEAR_FF?UTILITIES (C:0034F0H - C:00351CH)</h2>
+<h2><a name="S168"></a>?PR?_XMEMCLEAR_FF?UTILITIES (C:0034CDH - C:0034F9H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S212">?C?LIB_CODE</a>) Top=12 Bytes (<a href="#S53">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -995,8 +992,8 @@
 <li><a href="#S53">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S170"></a>?PR?_DELAY1MS?UTILITIES (C:0015B2H - C:0015C9H)</h2>
-<p><br><b>Maximum Stack:</b> Top=14 Bytes (<a href="#S208">?PR?_IIC_WRITEBLOCK?IIC</a>)<p>
+<h2><a name="S170"></a>?PR?_DELAY1MS?UTILITIES (C:001595H - C:0015ACH)</h2>
+<p><br><b>Maximum Stack:</b> Top=12 Bytes (<a href="#S53">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S208">?PR?_IIC_WRITEBLOCK?IIC</a></li>
@@ -1009,7 +1006,7 @@
 <li><a href="#S15">?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH</a></li>
 </ul>
 
-<h2><a name="S171"></a>?PR?_COMPARE_STR?UTILITIES (C:002648H - C:002691H)</h2>
+<h2><a name="S171"></a>?PR?_COMPARE_STR?UTILITIES (C:00264FH - C:002698H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S212">?C?LIB_CODE</a>) Top=6 Bytes (<a href="#S88">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -1021,7 +1018,7 @@
 <li><a href="#S88">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S173"></a>?PR?_GPIOSETBIT?GPIO (C:00351DH - C:00357DH)</h2>
+<h2><a name="S173"></a>?PR?_GPIOSETBIT?GPIO (C:0017F4H - C:001854H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S212">?C?LIB_CODE</a>) Top=14 Bytes (<a href="#S179">?PR?_GPIO_SETOUT?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -1036,7 +1033,7 @@
 <li><a href="#S181">?PR?_GPIO_SETPU?GPIO</a></li>
 </ul>
 
-<h2><a name="S176"></a>?PR?_GPIOGETBIT?GPIO (C:002F60H - C:002F9EH)</h2>
+<h2><a name="S176"></a>?PR?_GPIOGETBIT?GPIO (C:002F67H - C:002FA5H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S212">?C?LIB_CODE</a>) Top=6 Bytes (<a href="#S197">?PR?_GPIO_FLIPOUTBIT?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -1048,14 +1045,14 @@
 <li><a href="#S197">?PR?_GPIO_FLIPOUTBIT?GPIO</a></li>
 </ul>
 
-<h2><a name="S178"></a>?PR?_GPIO_GETINPUTSTATUS?GPIO (C:002F5AH - C:002F5FH)</h2>
+<h2><a name="S178"></a>?PR?_GPIO_GETINPUTSTATUS?GPIO (C:002F61H - C:002F66H)</h2>
 <p><br><b>Maximum Stack:</b> Top=6 Bytes (<a href="#S194">?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S194">?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO</a></li>
 </ul>
 
-<h2><a name="S179"></a>?PR?_GPIO_SETOUT?GPIO (C:001268H - C:001279H)</h2>
+<h2><a name="S179"></a>?PR?_GPIO_SETOUT?GPIO (C:00123EH - C:00124EH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S173">?PR?_GPIOSETBIT?GPIO</a>) Top=12 Bytes (<a href="#S53">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -1066,7 +1063,6 @@
 <ul>
 <li><a href="#S197">?PR?_GPIO_FLIPOUTBIT?GPIO</a></li>
 <li><a href="#S189">?PR?_GPIO_SETOUTPUT?GPIO</a></li>
-<li><a href="#S105">?PR?_KB_CB_EVENT?SYS</a></li>
 <li><a href="#S53">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
 <li><a href="#S113">?PR?KB_CB_TIMER100MS?SYS</a></li>
 <li><a href="#S93">?PR?LED_DEVICE_POWEROFF?LED</a></li>
@@ -1076,7 +1072,7 @@
 <li><a href="#S15">?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH</a></li>
 </ul>
 
-<h2><a name="S181"></a>?PR?_GPIO_SETPU?GPIO (C:001FD5H - C:001FE6H)</h2>
+<h2><a name="S181"></a>?PR?_GPIO_SETPU?GPIO (C:0017C9H - C:0017D9H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S173">?PR?_GPIOSETBIT?GPIO</a>) Top=10 Bytes (<a href="#S187">?PR?_GPIO_SETINPUT?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -1089,7 +1085,7 @@
 <li><a href="#S189">?PR?_GPIO_SETOUTPUT?GPIO</a></li>
 </ul>
 
-<h2><a name="S183"></a>?PR?_GPIO_SETPD?GPIO (C:00357EH - C:00358EH)</h2>
+<h2><a name="S183"></a>?PR?_GPIO_SETPD?GPIO (C:0034FAH - C:00350BH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S173">?PR?_GPIOSETBIT?GPIO</a>) Top=10 Bytes (<a href="#S187">?PR?_GPIO_SETINPUT?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -1101,7 +1097,7 @@
 <li><a href="#S187">?PR?_GPIO_SETINPUT?GPIO</a></li>
 </ul>
 
-<h2><a name="S185"></a>?PR?_GPIO_SETOE?GPIO (C:00358FH - C:00359FH)</h2>
+<h2><a name="S185"></a>?PR?_GPIO_SETOE?GPIO (C:00352BH - C:00353CH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S173">?PR?_GPIOSETBIT?GPIO</a>) Top=10 Bytes (<a href="#S187">?PR?_GPIO_SETINPUT?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -1114,7 +1110,7 @@
 <li><a href="#S189">?PR?_GPIO_SETOUTPUT?GPIO</a></li>
 </ul>
 
-<h2><a name="S187"></a>?PR?_GPIO_SETINPUT?GPIO (C:001FB5H - C:001FD4H)</h2>
+<h2><a name="S187"></a>?PR?_GPIO_SETINPUT?GPIO (C:00350CH - C:00352AH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S183">?PR?_GPIO_SETPD?GPIO</a>) Top=8 Bytes (<a href="#S77">?PR?KSRAWINITIALIZE?KEYSCAN</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -1125,11 +1121,10 @@
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S79">?PR?KSCOLINITIALIZE?KEYSCAN</a></li>
 <li><a href="#S77">?PR?KSRAWINITIALIZE?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S189"></a>?PR?_GPIO_SETOUTPUT?GPIO (C:001728H - C:001744H)</h2>
+<h2><a name="S189"></a>?PR?_GPIO_SETOUTPUT?GPIO (C:00170BH - C:001726H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S185">?PR?_GPIO_SETOE?GPIO</a>) Top=6 Bytes (<a href="#S91">?PR?LED_ALL_SHUTDOWN?LED</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -1140,12 +1135,13 @@
 
 <p><br><b>Called from:</b></p>
 <ul>
+<li><a href="#S79">?PR?KSCOLINITIALIZE?KEYSCAN</a></li>
 <li><a href="#S91">?PR?LED_ALL_SHUTDOWN?LED</a></li>
 <li><a href="#S93">?PR?LED_DEVICE_POWEROFF?LED</a></li>
 <li><a href="#S92">?PR?LED_DEVICE_POWERON?LED</a></li>
 </ul>
 
-<h2><a name="S194"></a>?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO (C:002BF3H - C:002C05H)</h2>
+<h2><a name="S194"></a>?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO (C:002BFAH - C:002C0CH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S178">?PR?_GPIO_GETINPUTSTATUS?GPIO</a>) Top=4 Bytes (<a href="#S82">?PR?KS_UNISTALL?KEYSCAN</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -1157,7 +1153,7 @@
 <li><a href="#S82">?PR?KS_UNISTALL?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S197"></a>?PR?_GPIO_FLIPOUTBIT?GPIO (C:001351H - C:00136CH)</h2>
+<h2><a name="S197"></a>?PR?_GPIO_FLIPOUTBIT?GPIO (C:001326H - C:001341H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S176">?PR?_GPIOGETBIT?GPIO</a>) Top=4 Bytes (<a href="#S107">?PR?LED_TIMER500MS?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -1170,14 +1166,14 @@
 <li><a href="#S107">?PR?LED_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S200"></a>?PR?GPIO_FILLPD?GPIO (C:0035DFH - C:003612H)</h2>
+<h2><a name="S200"></a>?PR?GPIO_FILLPD?GPIO (C:00357CH - C:0035AFH)</h2>
 <p><br><b>Maximum Stack:</b> Top=4 Bytes (<a href="#S82">?PR?KS_UNISTALL?KEYSCAN</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S82">?PR?KS_UNISTALL?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S203"></a>?PR?IICWAITDONE?IIC (C:0017E7H - C:0017EEH)</h2>
+<h2><a name="S203"></a>?PR?IICWAITDONE?IIC (C:0017DAH - C:0017E1H)</h2>
 <p><br><b>Maximum Stack:</b> Top=16 Bytes (<a href="#S204">?PR?_IIC_READ?IIC</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
@@ -1185,7 +1181,7 @@
 <li><a href="#S206">?PR?_IIC_WRITE?IIC</a></li>
 </ul>
 
-<h2><a name="S204"></a>?PR?_IIC_READ?IIC (C:001678H - C:001727H)</h2>
+<h2><a name="S204"></a>?PR?_IIC_READ?IIC (C:00165BH - C:00170AH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S203">?PR?IICWAITDONE?IIC</a>) Top=14 Bytes (<a href="#S14">?PR?YC_GET_BLE_RAMDON_LAP?BLUETOOTH</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -1201,8 +1197,8 @@
 <li><a href="#S13">?PR?YC_START_RECONNECT?BLUETOOTH</a></li>
 </ul>
 
-<h2><a name="S206"></a>?PR?_IIC_WRITE?IIC (C:003455H - C:0034EFH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S164">?PR?_DMEMCPY?UTILITIES</a>) Top=14 Bytes (<a href="#S208">?PR?_IIC_WRITEBLOCK?IIC</a>)<p>
+<h2><a name="S206"></a>?PR?_IIC_WRITE?IIC (C:003432H - C:0034CCH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S164">?PR?_DMEMCPY?UTILITIES</a>) Top=8 Bytes (<a href="#S208">?PR?_IIC_WRITEBLOCK?IIC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S164">?PR?_DMEMCPY?UTILITIES</a></li>
@@ -1214,8 +1210,8 @@
 <li><a href="#S208">?PR?_IIC_WRITEBLOCK?IIC</a></li>
 </ul>
 
-<h2><a name="S208"></a>?PR?_IIC_WRITEBLOCK?IIC (C:001504H - C:0015B1H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S206">?PR?_IIC_WRITE?IIC</a>) Top=12 Bytes (<a href="#S53">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>)<p>
+<h2><a name="S208"></a>?PR?_IIC_WRITEBLOCK?IIC (C:0014E7H - C:001594H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S206">?PR?_IIC_WRITE?IIC</a>) Top=6 Bytes (<a href="#S15">?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S212">?C?LIB_CODE</a></li>
@@ -1225,13 +1221,11 @@
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S105">?PR?_KB_CB_EVENT?SYS</a></li>
-<li><a href="#S53">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
 <li><a href="#S15">?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH</a></li>
 </ul>
 
 <h2><a name="S212"></a>?C?LIB_CODE (C:000003H - C:0005DEH)</h2>
-<p><br><b>Maximum Stack:</b> Top=18 Bytes (<a href="#S164">?PR?_DMEMCPY?UTILITIES</a>)<p>
+<p><br><b>Maximum Stack:</b> Top=16 Bytes (<a href="#S129">?PR?_IPC_TXCONTROLCMD?IPC</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S86">?PR?_ARRAY_IS_EMPTY?KEYSCAN</a></li>
Index: c51/output/FW.MAP
===================================================================
--- /YC1026/YC1086_BLE_24g_SDK/c51/output/FW.MAP	(revision 327)
+++ /YC1026/YC1086_BLE_24g_SDK/c51/output/FW.MAP	(working copy)
@@ -1,4 +1,4 @@
-LX51 LINKER/LOCATER V4.41                                                               12/25/2021  18:52:31  PAGE 1
+LX51 LINKER/LOCATER V4.41                                                               01/24/2022  21:30:08  PAGE 1
 
 
 LX51 LINKER/LOCATER V4.41, INVOKED BY:
@@ -86,7 +86,7 @@
 BASE        START       END         USED      MEMORY CLASS
 ==========================================================
 X:000000H   X:004DD0H   X:004F40H   000383H   XDATA
-C:000000H   C:000000H   C:00FFFFH   00355DH   CODE
+C:000000H   C:000000H   C:00FFFFH   0034FAH   CODE
 I:000000H   I:000010H   I:00007FH   000008H   DATA
 I:000000H   I:000080H   I:0000CFH   000001H   IDATA
 C:000000H   C:000000H   C:00FFFFH   0000B6H   CONST
@@ -142,87 +142,87 @@
 000FF0H   000FF7H   000008H   BYTE   UNIT     CODE           ?PR?_IPC_TXSPPDATA?IPC
 000FF8H   00100CH   000015H   BYTE   UNIT     CODE           ?PR?YC_CHECK_IS_CONNECTED?BLUETOOTH
 00100DH   00108AH   00007EH   BYTE   UNIT     CODE           ?PR?YC_CHECK_NEED_RECONNECTED?BLUETOOTH
-00108BH   001267H   0001DDH   BYTE   UNIT     CODE           ?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS
-001268H   001279H   000012H   BYTE   UNIT     CODE           ?PR?_GPIO_SETOUT?GPIO
-00127AH   001350H   0000D7H   BYTE   UNIT     CODE           ?PR?LED_TIMER500MS?SYS
-001351H   00136CH   00001CH   BYTE   UNIT     CODE           ?PR?_GPIO_FLIPOUTBIT?GPIO
-00136DH   00146CH   000100H   BYTE   UNIT     CODE           ?PR?LED_HANDLE?LED
-00146DH   001503H   000097H   BYTE   UNIT     CODE           ?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH
-001504H   0015B1H   0000AEH   BYTE   UNIT     CODE           ?PR?_IIC_WRITEBLOCK?IIC
-0015B2H   0015C9H   000018H   BYTE   UNIT     CODE           ?PR?_DELAY1MS?UTILITIES
-0015CAH   001677H   0000AEH   BYTE   UNIT     CODE           ?PR?YC_START_RECONNECT?BLUETOOTH
-001678H   001727H   0000B0H   BYTE   UNIT     CODE           ?PR?_IIC_READ?IIC
-001728H   001744H   00001DH   BYTE   UNIT     CODE           ?PR?_GPIO_SETOUTPUT?GPIO
-001745H   00177DH   000039H   BYTE   UNIT     CODE           ?PR?LED_DEVICE_POWERON?LED
-00177EH   0017B6H   000039H   BYTE   UNIT     CODE           ?PR?LED_DEVICE_POWEROFF?LED
-0017B7H   0017D4H   00001EH   BYTE   UNIT     CODE           ?PR?LED_ALL_SHUTDOWN?LED
-0017D5H   0017E6H   000012H   BYTE   UNIT     CODE           ?PR?YC_CANCEL_RECONNECT?BLUETOOTH
-0017E7H   0017EEH   000008H   BYTE   UNIT     CODE           ?PR?IICWAITDONE?IIC
-0017EFH   0017F6H   000008H   BYTE   UNIT     CODE           ?PR?SYSTEM_HARDWARE_INIT?SYS
-0017F7H   001800H   00000AH   BYTE   UNIT     CODE           ?PR?YC_CLEAR_RECONNECT_FLAG?BLUETOOTH
-001801H   001817H   000017H   BYTE   UNIT     CODE           ?PR?YC_G24_MODE_DISCOVERY?BLUETOOTH
-001818H   00185BH   000044H   BYTE   UNIT     CODE           ?PR?YC_GET_BLE_RAMDON_LAP?BLUETOOTH
-00185CH   00189AH   00003FH   BYTE   UNIT     CODE           ?PR?YC_WAIT_DISCONNECT_TIMER500MS?SYS
-00189BH   0018B4H   00001AH   BYTE   UNIT     CODE           ?PR?KB_CB_TIMER500MS?SYS
-0018B5H   0018FDH   000049H   BYTE   UNIT     CODE           ?PR?YC_PAIRING_TIMEROUT_500MS?SYS
-0018FEH   00190EH   000011H   BYTE   UNIT     CODE           ?PR?YC_ADC_CHECK_TIMER500MS?ADC
-00190FH   001AE0H   0001D2H   BYTE   UNIT     CODE           ?PR?KB_BUTTON_PRESS_TIMER500MS?SYS
-001AE1H   ---       000000H   BYTE   UNIT     CODE           ?PR?SYSTEM_RESET_CONNECT?SYS
-001AE1H   001AE9H   000009H   BYTE   UNIT     CODE           ?PR?SYSTEM_HARDWARE_RESET?SYS
-001AEAH   001CA7H   0001BEH   BYTE   UNIT     CODE           ?PR?YC_ADC_CHECK?ADC
-001CA8H   001F6EH   0002C7H   BYTE   UNIT     CODE           ?PR?_KB_CB_EVENT?SYS
-001F6FH   001F79H   00000BH   BYTE   UNIT     CODE           ?PR?KS_INITIALIZE?KEYSCAN
-001F7AH   001F97H   00001EH   BYTE   UNIT     CODE           ?PR?KSCOLINITIALIZE?KEYSCAN
-001F98H   001FB4H   00001DH   BYTE   UNIT     CODE           ?PR?KSRAWINITIALIZE?KEYSCAN
-001FB5H   001FD4H   000020H   BYTE   UNIT     CODE           ?PR?_GPIO_SETINPUT?GPIO
-001FD5H   001FE6H   000012H   BYTE   UNIT     CODE           ?PR?_GPIO_SETPU?GPIO
-001FE7H   002001H   00001BH   BYTE   UNIT     CODE           ?PR?_KB_SET_MULTIKEY?KB_PROCESS
-002002H   00201CH   00001BH   BYTE   UNIT     CODE           ?PR?_KB_SET_SYSTEMKEY?KB_PROCESS
-00201DH   002333H   000317H   BYTE   UNIT     CODE           ?PR?_KB_MULTIKEY_SETUP?KB_PROCESS
-002334H   002371H   00003EH   BYTE   UNIT     CODE           ?PR?KB_24G_GET_LED_STATUS?KB_PROCESS
-002372H   0023A4H   000033H   BYTE   UNIT     CODE           ?PR?KB_MOTION?KB_PROCESS
-0023A5H   0025F1H   00024DH   BYTE   UNIT     CODE           ?PR?KS_GETCURRENTEVT?KEYSCAN
-0025F2H   0025FFH   00000EH   BYTE   UNIT     CODE           ?PR?_BIT_COUNT?KEYSCAN
-002600H   002617H   000018H   BYTE   UNIT     CODE           ?PR?IPC_ISTXBUFFEMPTY?IPC
-002618H   002647H   000030H   BYTE   UNIT     CODE           ?PR?_ARRAY_IS_EMPTY?KEYSCAN
-002648H   002691H   00004AH   BYTE   UNIT     CODE           ?PR?_COMPARE_STR?UTILITIES
-002692H   0026E7H   000056H   BYTE   UNIT     CODE           ?PR?_KEYIN?KEYSCAN
-0026E8H   002791H   0000AAH   BYTE   UNIT     CODE           ?PR?_KEYOUT?KEYSCAN
-002792H   0028D2H   000141H   BYTE   UNIT     CODE           ?PR?_KB_DEVICE_SELECT?KB_PROCESS
-0028D3H   0028F7H   000025H   BYTE   UNIT     CODE           ?PR?_KB_COMBINATION_KEY_PRESS?KB_PROCESS
-0028F8H   002B59H   000262H   BYTE   UNIT     CODE           ?PR?_KEY_FN_FUNCTION?KB_PROCESS
-002B5AH   002BF2H   000099H   BYTE   UNIT     CODE           ?PR?KS_UNISTALL?KEYSCAN
-002BF3H   002C05H   000013H   BYTE   UNIT     CODE           ?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO
-002C06H   002C91H   00008CH   BYTE   UNIT     CODE           ?PR?_GPIO_SETWAKEUP?GPIO
-002C92H   002CDFH   00004EH   BYTE   UNIT     CODE           ?PR?YC_SYSTEM_MAIN?SYS
-002CE0H   002CEDH   00000EH   BYTE   UNIT     CODE           ?PR?IPC_WAITLPM?IPC
-002CEEH   002EF6H   000209H   BYTE   UNIT     CODE           ?PR?IPC_DEALSINGLESTEP?IPC
-002EF7H   002F46H   000050H   BYTE   UNIT     CODE           ?PR?_IPCRX?IPC
-002F47H   002F4CH   000006H   BYTE   UNIT     CODE           ?PR?KB_CB_INIT?SYS
-002F4DH   002F59H   00000DH   BYTE   UNIT     CODE           ?PR?_IPC_INITIALIZE?IPC
-002F5AH   002F5FH   000006H   BYTE   UNIT     CODE           ?PR?_GPIO_GETINPUTSTATUS?GPIO
-002F60H   002F9EH   00003FH   BYTE   UNIT     CODE           ?PR?_GPIOGETBIT?GPIO
-002F9FH   002FA0H   000002H   BYTE   UNIT     CODE           ?PR?MAIN?RAM
-002FA1H   002FACH   00000CH   BYTE   UNIT     CODE           ?PR?IPC_ABANDONLPM?IPC
-002FADH   002FDBH   00002FH   BYTE   UNIT     CODE           ?PR?SYSTEM_G24_LONG_LPM?SYS
-002FDCH   00313DH   000162H   BYTE   UNIT     CODE           ?PR?KS_SCANMATRIX?KEYSCAN
-00313EH   003150H   000013H   BYTE   UNIT     CODE           ?PR?SYSTEM_IIC_CLK_SETUP?SYS
-003151H   003185H   000035H   BYTE   UNIT     CODE           ?PR?SYSTEM_SOFTWARE_INIT?SYS
-003186H   003297H   000112H   BYTE   UNIT     CODE           ?PR?YC_ADC_INIT?ADC
-003298H   0032A7H   000010H   BYTE   UNIT     CODE           ?PR?_KB_CB_HID?SYS
-0032A8H   00339CH   0000F5H   BYTE   UNIT     CODE           ?PR?KB_CB_TIMER100MS?SYS
-00339DH   0033F6H   00005AH   BYTE   UNIT     CODE           ?PR?_BUFSIZE?IPC
-0033F7H   003403H   00000DH   BYTE   UNIT     CODE           ?PR?_IPC_TXBREDRHIDDATA?IPC
-003404H   003409H   000006H   BYTE   UNIT     CODE           ?PR?IPC_GETBBDISCONNECTREASON?IPC
-00340AH   003410H   000007H   BYTE   UNIT     CODE           ?PR?YC_ICE_BREAK?UTILITIES
-003411H   003454H   000044H   BYTE   UNIT     CODE           ?PR?_DMEMCPY?UTILITIES
-003455H   0034EFH   00009BH   BYTE   UNIT     CODE           ?PR?_IIC_WRITE?IIC
-0034F0H   00351CH   00002DH   BYTE   UNIT     CODE           ?PR?_XMEMCLEAR_FF?UTILITIES
-00351DH   00357DH   000061H   BYTE   UNIT     CODE           ?PR?_GPIOSETBIT?GPIO
-00357EH   00358EH   000011H   BYTE   UNIT     CODE           ?PR?_GPIO_SETPD?GPIO
-00358FH   00359FH   000011H   BYTE   UNIT     CODE           ?PR?_GPIO_SETOE?GPIO
-0035A0H   0035DEH   00003FH   BYTE   UNIT     CODE           ?PR?_GPIO_CLEARWAKEUP?GPIO
-0035DFH   003612H   000034H   BYTE   UNIT     CODE           ?PR?GPIO_FILLPD?GPIO
+00108BH   00123DH   0001B3H   BYTE   UNIT     CODE           ?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS
+00123EH   00124EH   000011H   BYTE   UNIT     CODE           ?PR?_GPIO_SETOUT?GPIO
+00124FH   001325H   0000D7H   BYTE   UNIT     CODE           ?PR?LED_TIMER500MS?SYS
+001326H   001341H   00001CH   BYTE   UNIT     CODE           ?PR?_GPIO_FLIPOUTBIT?GPIO
+001342H   001441H   000100H   BYTE   UNIT     CODE           ?PR?LED_HANDLE?LED
+001442H   0014E6H   0000A5H   BYTE   UNIT     CODE           ?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH
+0014E7H   001594H   0000AEH   BYTE   UNIT     CODE           ?PR?_IIC_WRITEBLOCK?IIC
+001595H   0015ACH   000018H   BYTE   UNIT     CODE           ?PR?_DELAY1MS?UTILITIES
+0015ADH   00165AH   0000AEH   BYTE   UNIT     CODE           ?PR?YC_START_RECONNECT?BLUETOOTH
+00165BH   00170AH   0000B0H   BYTE   UNIT     CODE           ?PR?_IIC_READ?IIC
+00170BH   001726H   00001CH   BYTE   UNIT     CODE           ?PR?_GPIO_SETOUTPUT?GPIO
+001727H   00175FH   000039H   BYTE   UNIT     CODE           ?PR?LED_DEVICE_POWERON?LED
+001760H   001798H   000039H   BYTE   UNIT     CODE           ?PR?LED_DEVICE_POWEROFF?LED
+001799H   0017B6H   00001EH   BYTE   UNIT     CODE           ?PR?LED_ALL_SHUTDOWN?LED
+0017B7H   0017C8H   000012H   BYTE   UNIT     CODE           ?PR?YC_CANCEL_RECONNECT?BLUETOOTH
+0017C9H   0017D9H   000011H   BYTE   UNIT     CODE           ?PR?_GPIO_SETPU?GPIO
+0017DAH   0017E1H   000008H   BYTE   UNIT     CODE           ?PR?IICWAITDONE?IIC
+0017E2H   0017E9H   000008H   BYTE   UNIT     CODE           ?PR?SYSTEM_HARDWARE_INIT?SYS
+0017EAH   0017F3H   00000AH   BYTE   UNIT     CODE           ?PR?YC_CLEAR_RECONNECT_FLAG?BLUETOOTH
+0017F4H   001854H   000061H   BYTE   UNIT     CODE           ?PR?_GPIOSETBIT?GPIO
+001855H   00186BH   000017H   BYTE   UNIT     CODE           ?PR?YC_G24_MODE_DISCOVERY?BLUETOOTH
+00186CH   0018AFH   000044H   BYTE   UNIT     CODE           ?PR?YC_GET_BLE_RAMDON_LAP?BLUETOOTH
+0018B0H   0018EEH   00003FH   BYTE   UNIT     CODE           ?PR?YC_WAIT_DISCONNECT_TIMER500MS?SYS
+0018EFH   001908H   00001AH   BYTE   UNIT     CODE           ?PR?KB_CB_TIMER500MS?SYS
+001909H   001951H   000049H   BYTE   UNIT     CODE           ?PR?YC_PAIRING_TIMEROUT_500MS?SYS
+001952H   001962H   000011H   BYTE   UNIT     CODE           ?PR?YC_ADC_CHECK_TIMER500MS?ADC
+001963H   001B34H   0001D2H   BYTE   UNIT     CODE           ?PR?KB_BUTTON_PRESS_TIMER500MS?SYS
+001B35H   ---       000000H   BYTE   UNIT     CODE           ?PR?SYSTEM_RESET_CONNECT?SYS
+001B35H   001B3DH   000009H   BYTE   UNIT     CODE           ?PR?SYSTEM_HARDWARE_RESET?SYS
+001B3EH   001CFBH   0001BEH   BYTE   UNIT     CODE           ?PR?YC_ADC_CHECK?ADC
+001CFCH   001FA5H   0002AAH   BYTE   UNIT     CODE           ?PR?_KB_CB_EVENT?SYS
+001FA6H   001FB0H   00000BH   BYTE   UNIT     CODE           ?PR?KS_INITIALIZE?KEYSCAN
+001FB1H   001FCFH   00001FH   BYTE   UNIT     CODE           ?PR?KSCOLINITIALIZE?KEYSCAN
+001FD0H   001FEDH   00001EH   BYTE   UNIT     CODE           ?PR?KSRAWINITIALIZE?KEYSCAN
+001FEEH   002008H   00001BH   BYTE   UNIT     CODE           ?PR?_KB_SET_MULTIKEY?KB_PROCESS
+002009H   002023H   00001BH   BYTE   UNIT     CODE           ?PR?_KB_SET_SYSTEMKEY?KB_PROCESS
+002024H   00233AH   000317H   BYTE   UNIT     CODE           ?PR?_KB_MULTIKEY_SETUP?KB_PROCESS
+00233BH   002378H   00003EH   BYTE   UNIT     CODE           ?PR?KB_24G_GET_LED_STATUS?KB_PROCESS
+002379H   0023ABH   000033H   BYTE   UNIT     CODE           ?PR?KB_MOTION?KB_PROCESS
+0023ACH   0025F8H   00024DH   BYTE   UNIT     CODE           ?PR?KS_GETCURRENTEVT?KEYSCAN
+0025F9H   002606H   00000EH   BYTE   UNIT     CODE           ?PR?_BIT_COUNT?KEYSCAN
+002607H   00261EH   000018H   BYTE   UNIT     CODE           ?PR?IPC_ISTXBUFFEMPTY?IPC
+00261FH   00264EH   000030H   BYTE   UNIT     CODE           ?PR?_ARRAY_IS_EMPTY?KEYSCAN
+00264FH   002698H   00004AH   BYTE   UNIT     CODE           ?PR?_COMPARE_STR?UTILITIES
+002699H   0026EEH   000056H   BYTE   UNIT     CODE           ?PR?_KEYIN?KEYSCAN
+0026EFH   002798H   0000AAH   BYTE   UNIT     CODE           ?PR?_KEYOUT?KEYSCAN
+002799H   0028D9H   000141H   BYTE   UNIT     CODE           ?PR?_KB_DEVICE_SELECT?KB_PROCESS
+0028DAH   0028FEH   000025H   BYTE   UNIT     CODE           ?PR?_KB_COMBINATION_KEY_PRESS?KB_PROCESS
+0028FFH   002B60H   000262H   BYTE   UNIT     CODE           ?PR?_KEY_FN_FUNCTION?KB_PROCESS
+002B61H   002BF9H   000099H   BYTE   UNIT     CODE           ?PR?KS_UNISTALL?KEYSCAN
+002BFAH   002C0CH   000013H   BYTE   UNIT     CODE           ?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO
+002C0DH   002C98H   00008CH   BYTE   UNIT     CODE           ?PR?_GPIO_SETWAKEUP?GPIO
+002C99H   002CE6H   00004EH   BYTE   UNIT     CODE           ?PR?YC_SYSTEM_MAIN?SYS
+002CE7H   002CF4H   00000EH   BYTE   UNIT     CODE           ?PR?IPC_WAITLPM?IPC
+002CF5H   002EFDH   000209H   BYTE   UNIT     CODE           ?PR?IPC_DEALSINGLESTEP?IPC
+002EFEH   002F4DH   000050H   BYTE   UNIT     CODE           ?PR?_IPCRX?IPC
+002F4EH   002F53H   000006H   BYTE   UNIT     CODE           ?PR?KB_CB_INIT?SYS
+002F54H   002F60H   00000DH   BYTE   UNIT     CODE           ?PR?_IPC_INITIALIZE?IPC
+002F61H   002F66H   000006H   BYTE   UNIT     CODE           ?PR?_GPIO_GETINPUTSTATUS?GPIO
+002F67H   002FA5H   00003FH   BYTE   UNIT     CODE           ?PR?_GPIOGETBIT?GPIO
+002FA6H   002FA7H   000002H   BYTE   UNIT     CODE           ?PR?MAIN?RAM
+002FA8H   002FB3H   00000CH   BYTE   UNIT     CODE           ?PR?IPC_ABANDONLPM?IPC
+002FB4H   002FE2H   00002FH   BYTE   UNIT     CODE           ?PR?SYSTEM_G24_LONG_LPM?SYS
+002FE3H   00311AH   000138H   BYTE   UNIT     CODE           ?PR?KS_SCANMATRIX?KEYSCAN
+00311BH   00312DH   000013H   BYTE   UNIT     CODE           ?PR?SYSTEM_IIC_CLK_SETUP?SYS
+00312EH   003162H   000035H   BYTE   UNIT     CODE           ?PR?SYSTEM_SOFTWARE_INIT?SYS
+003163H   003274H   000112H   BYTE   UNIT     CODE           ?PR?YC_ADC_INIT?ADC
+003275H   003284H   000010H   BYTE   UNIT     CODE           ?PR?_KB_CB_HID?SYS
+003285H   003379H   0000F5H   BYTE   UNIT     CODE           ?PR?KB_CB_TIMER100MS?SYS
+00337AH   0033D3H   00005AH   BYTE   UNIT     CODE           ?PR?_BUFSIZE?IPC
+0033D4H   0033E0H   00000DH   BYTE   UNIT     CODE           ?PR?_IPC_TXBREDRHIDDATA?IPC
+0033E1H   0033E6H   000006H   BYTE   UNIT     CODE           ?PR?IPC_GETBBDISCONNECTREASON?IPC
+0033E7H   0033EDH   000007H   BYTE   UNIT     CODE           ?PR?YC_ICE_BREAK?UTILITIES
+0033EEH   003431H   000044H   BYTE   UNIT     CODE           ?PR?_DMEMCPY?UTILITIES
+003432H   0034CCH   00009BH   BYTE   UNIT     CODE           ?PR?_IIC_WRITE?IIC
+0034CDH   0034F9H   00002DH   BYTE   UNIT     CODE           ?PR?_XMEMCLEAR_FF?UTILITIES
+0034FAH   00350BH   000012H   BYTE   UNIT     CODE           ?PR?_GPIO_SETPD?GPIO
+00350CH   00352AH   00001FH   BYTE   UNIT     CODE           ?PR?_GPIO_SETINPUT?GPIO
+00352BH   00353CH   000012H   BYTE   UNIT     CODE           ?PR?_GPIO_SETOE?GPIO
+00353DH   00357BH   00003FH   BYTE   UNIT     CODE           ?PR?_GPIO_CLEARWAKEUP?GPIO
+00357CH   0035AFH   000034H   BYTE   UNIT     CODE           ?PR?GPIO_FILLPD?GPIO
 
 * * * * * * * * * * *  X D A T A   M E M O R Y  * * * * * * * * * * * * *
 000040H   000045H   000006H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?29
@@ -403,42 +403,42 @@
       00000000H   NUMBER   ---       ?C?XDATASEG
       01000626H   CODE     ---       ?C_START
       01000000H   CODE     ---       ?C_STARTUP
-      01002618H   CODE     ---       _array_is_empty
-      01002648H   CODE     ---       _compare_str
-      010015B2H   CODE     ---       _Delay1ms
-      01003411H   CODE     ---       _dmemcpy
-      010035A0H   CODE     ---       _GPIO_ClearWakeup
-      01001351H   CODE     ---       _GPIO_FlipOutBit
-      01002F5AH   CODE     ---       _GPIO_GetInputStatus
-      01001FB5H   CODE     ---       _GPIO_SetInput
-      0100358FH   CODE     ---       _GPIO_Setoe
-      01001268H   CODE     ---       _GPIO_Setout
-      01001728H   CODE     ---       _GPIO_SetOutput
-      0100357EH   CODE     ---       _GPIO_SetPd
-      01001FD5H   CODE     ---       _GPIO_SetPu
-      01002C06H   CODE     ---       _GPIO_SetWakeup
-      01002BF3H   CODE     ---       _GPIO_SetWakeupByCurrentState
-      01001678H   CODE     ---       _IIC_Read
-      01003455H   CODE     ---       _IIC_write
-      01001504H   CODE     ---       _IIC_WriteBlock
-      01002F4DH   CODE     ---       _IPC_Initialize
+      0100261FH   CODE     ---       _array_is_empty
+      0100264FH   CODE     ---       _compare_str
+      01001595H   CODE     ---       _Delay1ms
+      010033EEH   CODE     ---       _dmemcpy
+      0100353DH   CODE     ---       _GPIO_ClearWakeup
+      01001326H   CODE     ---       _GPIO_FlipOutBit
+      01002F61H   CODE     ---       _GPIO_GetInputStatus
+      0100350CH   CODE     ---       _GPIO_SetInput
+      0100352BH   CODE     ---       _GPIO_Setoe
+      0100123EH   CODE     ---       _GPIO_Setout
+      0100170BH   CODE     ---       _GPIO_SetOutput
+      010034FAH   CODE     ---       _GPIO_SetPd
+      010017C9H   CODE     ---       _GPIO_SetPu
+      01002C0DH   CODE     ---       _GPIO_SetWakeup
+      01002BFAH   CODE     ---       _GPIO_SetWakeupByCurrentState
+      0100165BH   CODE     ---       _IIC_Read
+      01003432H   CODE     ---       _IIC_write
+      010014E7H   CODE     ---       _IIC_WriteBlock
+      01002F54H   CODE     ---       _IPC_Initialize
       01000FE0H   CODE     ---       _IPC_Tx24GData
       01000FE8H   CODE     ---       _IPC_TxBleData
-      010033F7H   CODE     ---       _IPC_TxBREDRHidData
+      010033D4H   CODE     ---       _IPC_TxBREDRHidData
       01000ECAH   CODE     ---       _IPC_TxControlCmd
       01000FBBH   CODE     ---       _IPC_TxData
       01000C30H   CODE     ---       _IPC_TxHidData
       01000FF0H   CODE     ---       _IPC_TxSppData
-      010028D3H   CODE     ---       _kb_combination_key_press
-      01002792H   CODE     ---       _kb_device_select
+      010028DAH   CODE     ---       _kb_combination_key_press
+      01002799H   CODE     ---       _kb_device_select
       010008C0H   CODE     ---       _kb_motion_keyscan
-      0100201DH   CODE     ---       _kb_multikey_setup
+      01002024H   CODE     ---       _kb_multikey_setup
       01000D12H   CODE     ---       _kb_send_combination_key
-      01001FE7H   CODE     ---       _kb_set_multikey
-      01002002H   CODE     ---       _kb_set_systemkey
-      010028F8H   CODE     ---       _key_fn_function
+      01001FEEH   CODE     ---       _kb_set_multikey
+      01002009H   CODE     ---       _kb_set_systemkey
+      010028FFH   CODE     ---       _key_fn_function
       01000B6BH   CODE     ---       _xmemclear
-      010034F0H   CODE     ---       _xmemclear_ff
+      010034CDH   CODE     ---       _xmemclear_ff
       0100087DH   CODE     ---       _xmemcpy
       0100108BH   CODE     ---       _YC_key_action_handle
       01000737H   CODE     ---       _YC_load_record_list
@@ -462,27 +462,27 @@
       02004DD8H   XDATA    BYTE      fn_tx_flag
       02004CBFH   XDATA    ---       g_variable
       02004DD5H   XDATA    BYTE      get_24g_led_send
-      010035DFH   CODE     ---       GPIO_fillpd
+      0100357CH   CODE     ---       GPIO_fillpd
       02004800H   XDATA    ---       hidBuff
       02004DE1H   XDATA    BYTE      iOS_rec_pinCode
-      01002FA1H   CODE     ---       IPC_AbandonLpm
-      01002CEEH   CODE     ---       IPC_DealSingleStep
-      01003404H   CODE     ---       IPC_GetBBDIsconnectReason
-      01002600H   CODE     ---       IPC_IsTxBuffEmpty
-      01002CE0H   CODE     ---       IPC_WaitLpm
+      01002FA8H   CODE     ---       IPC_AbandonLpm
+      01002CF5H   CODE     ---       IPC_DealSingleStep
+      010033E1H   CODE     ---       IPC_GetBBDIsconnectReason
+      01002607H   CODE     ---       IPC_IsTxBuffEmpty
+      01002CE7H   CODE     ---       IPC_WaitLpm
       02000550H   XDATA    ---       ipcPin
       0200054FH   XDATA    BYTE      ipcPinlen
       02000C4BH   XDATA    ---       ipcReadBuff
       02000BE7H   XDATA    ---       ipcSendBuff
-      01002334H   CODE     ---       kb_24g_get_led_status
-      0100190FH   CODE     ---       kb_button_press_timer500ms
+      0100233BH   CODE     ---       kb_24g_get_led_status
+      01001963H   CODE     ---       kb_button_press_timer500ms
       01000D4CH   CODE     ---       kb_need_keyscan
       02004DE8H   XDATA    BYTE      key_value_temp
       02004DE4H   XDATA    BYTE      keyCount
-      010023A5H   CODE     ---       KS_GetCurrentEvt
-      01001F6FH   CODE     ---       KS_Initialize
-      01002FDCH   CODE     ---       KS_ScanMatrix
-      01002B5AH   CODE     ---       KS_Unistall
+      010023ACH   CODE     ---       KS_GetCurrentEvt
+      01001FA6H   CODE     ---       KS_Initialize
+      01002FE3H   CODE     ---       KS_ScanMatrix
+      01002B61H   CODE     ---       KS_Unistall
       02004213H   XDATA    BYTE      kscurrmult
       02004EA4H   XDATA    ---       ksEvtPool
       01000696H   CONST    ---       ksMap
@@ -494,11 +494,11 @@
       02004DD7H   XDATA    BYTE      le_pin_code_len
       02004DDBH   XDATA    BYTE      le_send_battery_level_delay_count
       02004DDAH   XDATA    BYTE      le_send_battery_level_flag
-      010017B7H   CODE     ---       LED_all_shutdown
-      0100177EH   CODE     ---       LED_device_poweroff
-      01001745H   CODE     ---       LED_device_poweron
-      0100136DH   CODE     ---       LED_handle
-      0100127AH   CODE     ---       LED_timer500ms
+      01001799H   CODE     ---       LED_all_shutdown
+      01001760H   CODE     ---       LED_device_poweroff
+      01001727H   CODE     ---       LED_device_poweron
+      01001342H   CODE     ---       LED_handle
+      0100124FH   CODE     ---       LED_timer500ms
       02004DDCH   XDATA    BYTE      long_press_flag
       02000B7FH   XDATA    BYTE      lpm_flag
       02004C00H   XDATA    ---       m_24g_addr
@@ -530,7 +530,7 @@
       02008010H   XDATA    BYTE      m_reset_reg
       020047F4H   XDATA    WORD      m_ui_state_map
       02000B81H   XDATA    BYTE      m_wakup_from_power_flag
-      01002F9FH   CODE     ---       main
+      01002FA6H   CODE     ---       main
       02004E4BH   XDATA    BYTE      mult_key_status
       02004DEDH   XDATA    BYTE      mult_key_value
       02004E4CH   XDATA    ---       multikey
@@ -541,30 +541,30 @@
       02004DDDH   XDATA    BYTE      repeat_send_24g
       02004DDFH   XDATA    BYTE      standard_key_release_flag
       02004DD9H   XDATA    BYTE      switch_role_timer
-      01002FADH   CODE     ---       System_G24_long_lpm
+      01002FB4H   CODE     ---       System_G24_long_lpm
       02004DE9H   XDATA    BYTE      system_key_press
       01000FB2H   CODE     ---       System_long_sleep
-      01001AE1H   CODE     ---       System_Reset_Connect
-      01003151H   CODE     ---       System_Software_init
-      01001AEAH   CODE     ---       YC_adc_check
-      010018FEH   CODE     ---       YC_adc_check_timer500ms
-      01003186H   CODE     ---       YC_adc_init
-      010017D5H   CODE     ---       YC_cancel_reconnect
+      01001B35H   CODE     ---       System_Reset_Connect
+      0100312EH   CODE     ---       System_Software_init
+      01001B3EH   CODE     ---       YC_adc_check
+      01001952H   CODE     ---       YC_adc_check_timer500ms
+      01003163H   CODE     ---       YC_adc_init
+      010017B7H   CODE     ---       YC_cancel_reconnect
       01000FF8H   CODE     ---       YC_check_is_connected
       0100100DH   CODE     ---       YC_check_need_reconnected
-      010017F7H   CODE     ---       YC_clear_reconnect_flag
+      010017EAH   CODE     ---       YC_clear_reconnect_flag
       01000DD0H   CODE     ---       YC_connect_timeout_500ms
       01000F87H   CODE     ---       YC_disconnect_all_link
-      01001801H   CODE     ---       YC_g24_mode_discovery
-      01001818H   CODE     ---       YC_get_ble_ramdon_lap
+      01001855H   CODE     ---       YC_g24_mode_discovery
+      0100186CH   CODE     ---       YC_get_ble_ramdon_lap
       020000A7H   XDATA    ---       YC_GPIOWakeupH
       020000A3H   XDATA    ---       YC_GPIOWakeupL
-      0100340AH   CODE     ---       YC_Ice_break
-      010018B5H   CODE     ---       YC_pairing_timerout_500ms
-      010015CAH   CODE     ---       YC_start_reconnect
-      01002C92H   CODE     ---       YC_System_Main
-      0100146DH   CODE     ---       YC_update_eeprom_data
-      0100185CH   CODE     ---       YC_wait_disconnect_timer500ms
+      010033E7H   CODE     ---       YC_Ice_break
+      01001909H   CODE     ---       YC_pairing_timerout_500ms
+      010015ADH   CODE     ---       YC_start_reconnect
+      01002C99H   CODE     ---       YC_System_Main
+      01001442H   CODE     ---       YC_update_eeprom_data
+      010018B0H   CODE     ---       YC_wait_disconnect_timer500ms
 
 
 
@@ -573,13 +573,13 @@
       VALUE       REP       CLASS    TYPE      SYMBOL NAME
       ====================================================
       ---         MODULE    ---      ---       BLUETOOTH
-      0100146DH   PUBLIC    CODE     ---       YC_update_eeprom_data
-      01001818H   PUBLIC    CODE     ---       YC_get_ble_ramdon_lap
-      010015CAH   PUBLIC    CODE     ---       YC_start_reconnect
-      01001801H   PUBLIC    CODE     ---       YC_g24_mode_discovery
+      01001442H   PUBLIC    CODE     ---       YC_update_eeprom_data
+      0100186CH   PUBLIC    CODE     ---       YC_get_ble_ramdon_lap
+      010015ADH   PUBLIC    CODE     ---       YC_start_reconnect
+      01001855H   PUBLIC    CODE     ---       YC_g24_mode_discovery
       01000F87H   PUBLIC    CODE     ---       YC_disconnect_all_link
-      010017F7H   PUBLIC    CODE     ---       YC_clear_reconnect_flag
-      010017D5H   PUBLIC    CODE     ---       YC_cancel_reconnect
+      010017EAH   PUBLIC    CODE     ---       YC_clear_reconnect_flag
+      010017B7H   PUBLIC    CODE     ---       YC_cancel_reconnect
       0100100DH   PUBLIC    CODE     ---       YC_check_need_reconnected
       01000FF8H   PUBLIC    CODE     ---       YC_check_is_connected
       01000803H   PUBLIC    CODE     ---       _YC_store_record_list
@@ -680,24 +680,24 @@
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      010017D5H   BLOCK     CODE     ---       LVL=0
-      010017D5H   LINE      ---      ---       #105
-      010017D5H   LINE      ---      ---       #106
-      010017D5H   LINE      ---      ---       #107
-      010017DCH   LINE      ---      ---       #108
-      010017DCH   LINE      ---      ---       #110
-      010017E1H   LINE      ---      ---       #111
-      010017E4H   LINE      ---      ---       #112
-      010017E4H   LINE      ---      ---       #113
-      010017E6H   LINE      ---      ---       #114
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010017F7H   BLOCK     CODE     ---       LVL=0
-      010017F7H   LINE      ---      ---       #117
-      010017F7H   LINE      ---      ---       #118
-      010017F7H   LINE      ---      ---       #119
-      010017FCH   LINE      ---      ---       #120
-      01001800H   LINE      ---      ---       #121
+      010017B7H   BLOCK     CODE     ---       LVL=0
+      010017B7H   LINE      ---      ---       #105
+      010017B7H   LINE      ---      ---       #106
+      010017B7H   LINE      ---      ---       #107
+      010017BEH   LINE      ---      ---       #108
+      010017BEH   LINE      ---      ---       #110
+      010017C3H   LINE      ---      ---       #111
+      010017C6H   LINE      ---      ---       #112
+      010017C6H   LINE      ---      ---       #113
+      010017C8H   LINE      ---      ---       #114
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010017EAH   BLOCK     CODE     ---       LVL=0
+      010017EAH   LINE      ---      ---       #117
+      010017EAH   LINE      ---      ---       #118
+      010017EAH   LINE      ---      ---       #119
+      010017EFH   LINE      ---      ---       #120
+      010017F3H   LINE      ---      ---       #121
       ---         BLOCKEND  ---      ---       LVL=0
 
       01000F87H   BLOCK     CODE     ---       LVL=0
@@ -717,85 +717,84 @@
       01000FB1H   LINE      ---      ---       #139
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01001801H   BLOCK     CODE     ---       LVL=0
-      01001801H   LINE      ---      ---       #141
-      01001801H   LINE      ---      ---       #142
-      01001801H   LINE      ---      ---       #143
-      0100180DH   LINE      ---      ---       #144
-      0100180DH   LINE      ---      ---       #145
-      01001812H   LINE      ---      ---       #146
-      01001815H   LINE      ---      ---       #147
-      01001815H   LINE      ---      ---       #148
-      01001817H   LINE      ---      ---       #149
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010015CAH   BLOCK     CODE     ---       LVL=0
-      010015CAH   LINE      ---      ---       #153
-      010015CAH   LINE      ---      ---       #154
-      010015CAH   LINE      ---      ---       #155
-      010015D0H   LINE      ---      ---       #156
-      010015E0H   LINE      ---      ---       #157
-      010015E4H   LINE      ---      ---       #158
-      010015F4H   LINE      ---      ---       #159
-      010015F8H   LINE      ---      ---       #160
-      01001608H   LINE      ---      ---       #161
-      0100160CH   LINE      ---      ---       #162
-      0100161CH   LINE      ---      ---       #163
-      01001620H   LINE      ---      ---       #165
-      01001630H   LINE      ---      ---       #166
-      01001630H   LINE      ---      ---       #167
-      01001643H   LINE      ---      ---       #168
-      01001659H   LINE      ---      ---       #169
-      0100165BH   LINE      ---      ---       #170
-      0100165DH   LINE      ---      ---       #172
-      0100165DH   LINE      ---      ---       #173
-      01001661H   LINE      ---      ---       #174
-      01001661H   LINE      ---      ---       #175
-      0100166AH   LINE      ---      ---       #176
-      0100166CH   LINE      ---      ---       #177
-      01001675H   LINE      ---      ---       #178
-      01001675H   LINE      ---      ---       #179
-      01001677H   LINE      ---      ---       #180
-      01001677H   LINE      ---      ---       #181
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001818H   BLOCK     CODE     ---       LVL=0
-      01001818H   LINE      ---      ---       #185
-      01001818H   LINE      ---      ---       #186
-      01001818H   LINE      ---      ---       #187
-      01001829H   LINE      ---      ---       #188
-      0100182FH   LINE      ---      ---       #189
-      01001833H   LINE      ---      ---       #190
-      0100183BH   LINE      ---      ---       #191
-      01001843H   LINE      ---      ---       #192
-      0100184BH   LINE      ---      ---       #193
-      01001853H   LINE      ---      ---       #194
-      0100185BH   LINE      ---      ---       #195
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      0100146DH   BLOCK     CODE     ---       LVL=0
-      0100146DH   LINE      ---      ---       #199
-      0100146DH   LINE      ---      ---       #200
-      0100146DH   LINE      ---      ---       #201
-      01001476H   LINE      ---      ---       #202
-      01001476H   LINE      ---      ---       #203
-      0100147AH   LINE      ---      ---       #204
-      0100147EH   LINE      ---      ---       #205
-      01001484H   LINE      ---      ---       #206
-      0100148CH   LINE      ---      ---       #207
-      0100148CH   LINE      ---      ---       #208
-      0100149BH   LINE      ---      ---       #209
-      010014ABH   LINE      ---      ---       #210
-      010014BBH   LINE      ---      ---       #211
-      010014BDH   LINE      ---      ---       #212
-      010014C4H   LINE      ---      ---       #213
-      010014D4H   LINE      ---      ---       #215
-      010014E4H   LINE      ---      ---       #216
-      010014F4H   LINE      ---      ---       #218
-      010014FAH   LINE      ---      ---       #219
-      010014FEH   LINE      ---      ---       #220
-      01001503H   LINE      ---      ---       #221
-      01001503H   LINE      ---      ---       #222
+      01001855H   BLOCK     CODE     ---       LVL=0
+      01001855H   LINE      ---      ---       #141
+      01001855H   LINE      ---      ---       #142
+      01001855H   LINE      ---      ---       #143
+      01001861H   LINE      ---      ---       #144
+      01001861H   LINE      ---      ---       #145
+      01001866H   LINE      ---      ---       #146
+      01001869H   LINE      ---      ---       #147
+      01001869H   LINE      ---      ---       #148
+      0100186BH   LINE      ---      ---       #149
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010015ADH   BLOCK     CODE     ---       LVL=0
+      010015ADH   LINE      ---      ---       #153
+      010015ADH   LINE      ---      ---       #154
+      010015ADH   LINE      ---      ---       #155
+      010015B3H   LINE      ---      ---       #156
+      010015C3H   LINE      ---      ---       #157
+      010015C7H   LINE      ---      ---       #158
+      010015D7H   LINE      ---      ---       #159
+      010015DBH   LINE      ---      ---       #160
+      010015EBH   LINE      ---      ---       #161
+      010015EFH   LINE      ---      ---       #162
+      010015FFH   LINE      ---      ---       #163
+      01001603H   LINE      ---      ---       #165
+      01001613H   LINE      ---      ---       #166
+      01001613H   LINE      ---      ---       #167
+      01001626H   LINE      ---      ---       #168
+      0100163CH   LINE      ---      ---       #169
+      0100163EH   LINE      ---      ---       #170
+      01001640H   LINE      ---      ---       #172
+      01001640H   LINE      ---      ---       #173
+      01001644H   LINE      ---      ---       #174
+      01001644H   LINE      ---      ---       #175
+      0100164DH   LINE      ---      ---       #176
+      0100164FH   LINE      ---      ---       #177
+      01001658H   LINE      ---      ---       #178
+      01001658H   LINE      ---      ---       #179
+      0100165AH   LINE      ---      ---       #180
+      0100165AH   LINE      ---      ---       #181
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100186CH   BLOCK     CODE     ---       LVL=0
+      0100186CH   LINE      ---      ---       #185
+      0100186CH   LINE      ---      ---       #186
+      0100186CH   LINE      ---      ---       #187
+      0100187DH   LINE      ---      ---       #188
+      01001883H   LINE      ---      ---       #189
+      01001887H   LINE      ---      ---       #190
+      0100188FH   LINE      ---      ---       #191
+      01001897H   LINE      ---      ---       #192
+      0100189FH   LINE      ---      ---       #193
+      010018A7H   LINE      ---      ---       #194
+      010018AFH   LINE      ---      ---       #195
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001442H   BLOCK     CODE     ---       LVL=0
+      01001442H   LINE      ---      ---       #199
+      01001442H   LINE      ---      ---       #200
+      01001442H   LINE      ---      ---       #201
+      0100144AH   LINE      ---      ---       #202
+      0100144AH   LINE      ---      ---       #204
+      01001461H   LINE      ---      ---       #208
+      01001467H   LINE      ---      ---       #209
+      0100146FH   LINE      ---      ---       #210
+      0100146FH   LINE      ---      ---       #211
+      0100147EH   LINE      ---      ---       #212
+      0100148EH   LINE      ---      ---       #213
+      0100149EH   LINE      ---      ---       #214
+      010014A0H   LINE      ---      ---       #215
+      010014A7H   LINE      ---      ---       #216
+      010014B7H   LINE      ---      ---       #218
+      010014C7H   LINE      ---      ---       #219
+      010014D7H   LINE      ---      ---       #221
+      010014DDH   LINE      ---      ---       #222
+      010014E1H   LINE      ---      ---       #223
+      010014E6H   LINE      ---      ---       #224
+      010014E6H   LINE      ---      ---       #225
       ---         BLOCKEND  ---      ---       LVL=0
 
       ---         MODULE    ---      ---       GLOBAL_VARIABLE
@@ -870,16 +869,16 @@
       01000681H   PUBLIC    CONST    ---       col
 
       ---         MODULE    ---      ---       KB_PROCESS
-      0100201DH   PUBLIC    CODE     ---       _kb_multikey_setup
-      010028F8H   PUBLIC    CODE     ---       _key_fn_function
-      010028D3H   PUBLIC    CODE     ---       _kb_combination_key_press
-      01002792H   PUBLIC    CODE     ---       _kb_device_select
+      01002024H   PUBLIC    CODE     ---       _kb_multikey_setup
+      010028FFH   PUBLIC    CODE     ---       _key_fn_function
+      010028DAH   PUBLIC    CODE     ---       _kb_combination_key_press
+      01002799H   PUBLIC    CODE     ---       _kb_device_select
       010008C0H   PUBLIC    CODE     ---       _kb_motion_keyscan
       01000D4CH   PUBLIC    CODE     ---       kb_need_keyscan
-      01002334H   PUBLIC    CODE     ---       kb_24g_get_led_status
+      0100233BH   PUBLIC    CODE     ---       kb_24g_get_led_status
       01000D12H   PUBLIC    CODE     ---       _kb_send_combination_key
-      01002002H   PUBLIC    CODE     ---       _kb_set_systemkey
-      01001FE7H   PUBLIC    CODE     ---       _kb_set_multikey
+      01002009H   PUBLIC    CODE     ---       _kb_set_systemkey
+      01001FEEH   PUBLIC    CODE     ---       _kb_set_multikey
       01000C30H   PUBLIC    CODE     ---       _IPC_TxHidData
       0100108BH   PUBLIC    CODE     ---       _YC_key_action_handle
 
@@ -935,887 +934,883 @@
       0100116CH   LINE      ---      ---       #55
       01001172H   LINE      ---      ---       #56
       01001174H   LINE      ---      ---       #57
-      01001178H   LINE      ---      ---       #58
-      0100117EH   LINE      ---      ---       #59
-      0100118EH   LINE      ---      ---       #60
-      0100119EH   LINE      ---      ---       #61
-      010011A4H   LINE      ---      ---       #62
-      010011A9H   LINE      ---      ---       #63
-      010011AAH   LINE      ---      ---       #64
-      010011AAH   LINE      ---      ---       #65
-      010011AAH   LINE      ---      ---       #66
-      010011AFH   LINE      ---      ---       #67
-      010011B4H   LINE      ---      ---       #68
-      010011B4H   LINE      ---      ---       #69
-      010011BCH   LINE      ---      ---       #70
-      010011BDH   LINE      ---      ---       #72
-      010011BDH   LINE      ---      ---       #73
-      010011CDH   LINE      ---      ---       #74
-      010011D1H   LINE      ---      ---       #75
-      010011D6H   LINE      ---      ---       #76
-      010011ECH   LINE      ---      ---       #77
-      010011ECH   LINE      ---      ---       #78
-      010011F2H   LINE      ---      ---       #79
-      010011F4H   LINE      ---      ---       #80
-      010011F6H   LINE      ---      ---       #81
-      010011F8H   LINE      ---      ---       #82
-      010011FEH   LINE      ---      ---       #83
-      010011FEH   LINE      ---      ---       #85
-      01001203H   LINE      ---      ---       #87
-      01001209H   LINE      ---      ---       #88
-      0100120CH   LINE      ---      ---       #89
-      01001210H   LINE      ---      ---       #90
-      01001210H   LINE      ---      ---       #91
-      01001211H   LINE      ---      ---       #92
-      01001211H   LINE      ---      ---       #93
-      01001216H   LINE      ---      ---       #94
-      01001221H   LINE      ---      ---       #95
-      01001221H   LINE      ---      ---       #96
-      01001229H   LINE      ---      ---       #97
-      0100122AH   LINE      ---      ---       #99
-      0100122AH   LINE      ---      ---       #100
-      01001232H   LINE      ---      ---       #101
-      01001232H   LINE      ---      ---       #102
-      01001237H   LINE      ---      ---       #103
-      0100123CH   LINE      ---      ---       #104
-      01001242H   LINE      ---      ---       #105
-      01001245H   LINE      ---      ---       #106
-      0100124BH   LINE      ---      ---       #107
-      01001251H   LINE      ---      ---       #108
-      01001257H   LINE      ---      ---       #109
-      0100125CH   LINE      ---      ---       #110
-      0100125CH   LINE      ---      ---       #111
-      01001261H   LINE      ---      ---       #112
-      01001261H   LINE      ---      ---       #113
-      01001262H   LINE      ---      ---       #114
-      01001262H   LINE      ---      ---       #115
-      01001267H   LINE      ---      ---       #116
-      01001267H   LINE      ---      ---       #117
-      01001267H   LINE      ---      ---       #118
+      0100117AH   LINE      ---      ---       #58
+      0100117FH   LINE      ---      ---       #59
+      01001180H   LINE      ---      ---       #60
+      01001180H   LINE      ---      ---       #61
+      01001180H   LINE      ---      ---       #62
+      01001185H   LINE      ---      ---       #63
+      0100118AH   LINE      ---      ---       #64
+      0100118AH   LINE      ---      ---       #65
+      01001192H   LINE      ---      ---       #66
+      01001193H   LINE      ---      ---       #68
+      01001193H   LINE      ---      ---       #69
+      010011A3H   LINE      ---      ---       #70
+      010011A7H   LINE      ---      ---       #71
+      010011ACH   LINE      ---      ---       #72
+      010011C2H   LINE      ---      ---       #73
+      010011C2H   LINE      ---      ---       #74
+      010011C8H   LINE      ---      ---       #75
+      010011CAH   LINE      ---      ---       #76
+      010011CCH   LINE      ---      ---       #77
+      010011CEH   LINE      ---      ---       #78
+      010011D4H   LINE      ---      ---       #79
+      010011D4H   LINE      ---      ---       #81
+      010011D9H   LINE      ---      ---       #83
+      010011DFH   LINE      ---      ---       #84
+      010011E2H   LINE      ---      ---       #85
+      010011E6H   LINE      ---      ---       #86
+      010011E6H   LINE      ---      ---       #87
+      010011E7H   LINE      ---      ---       #88
+      010011E7H   LINE      ---      ---       #89
+      010011ECH   LINE      ---      ---       #90
+      010011F7H   LINE      ---      ---       #91
+      010011F7H   LINE      ---      ---       #92
+      010011FFH   LINE      ---      ---       #93
+      01001200H   LINE      ---      ---       #95
+      01001200H   LINE      ---      ---       #96
+      01001208H   LINE      ---      ---       #97
+      01001208H   LINE      ---      ---       #98
+      0100120DH   LINE      ---      ---       #99
+      01001212H   LINE      ---      ---       #100
+      01001218H   LINE      ---      ---       #101
+      0100121BH   LINE      ---      ---       #102
+      01001221H   LINE      ---      ---       #103
+      01001227H   LINE      ---      ---       #104
+      0100122DH   LINE      ---      ---       #105
+      01001232H   LINE      ---      ---       #106
+      01001232H   LINE      ---      ---       #107
+      01001237H   LINE      ---      ---       #108
+      01001237H   LINE      ---      ---       #109
+      01001238H   LINE      ---      ---       #110
+      01001238H   LINE      ---      ---       #111
+      0100123DH   LINE      ---      ---       #112
+      0100123DH   LINE      ---      ---       #113
+      0100123DH   LINE      ---      ---       #114
       ---         BLOCKEND  ---      ---       LVL=0
 
       01000C30H   BLOCK     CODE     ---       LVL=0
-      01000C30H   LINE      ---      ---       #122
-      01000C3EH   LINE      ---      ---       #123
+      01000C30H   LINE      ---      ---       #118
+      01000C3EH   LINE      ---      ---       #119
       01000C3EH   BLOCK     CODE     NEAR LAB  LVL=1
-      01000C3EH   LINE      ---      ---       #125
-      01000C40H   LINE      ---      ---       #127
-      01000C4AH   LINE      ---      ---       #128
-      01000C4AH   LINE      ---      ---       #129
-      01000C6AH   LINE      ---      ---       #130
-      01000C6DH   LINE      ---      ---       #132
-      01000C75H   LINE      ---      ---       #134
-      01000C7DH   LINE      ---      ---       #137
-      01000C90H   LINE      ---      ---       #139
-      01000C90H   LINE      ---      ---       #140
-      01000C97H   LINE      ---      ---       #141
-      01000C9AH   LINE      ---      ---       #142
-      01000CA7H   LINE      ---      ---       #144
-      01000CA7H   LINE      ---      ---       #145
-      01000CAFH   LINE      ---      ---       #146
-      01000CAFH   LINE      ---      ---       #147
-      01000CB7H   LINE      ---      ---       #148
-      01000CB7H   LINE      ---      ---       #149
-      01000CBAH   LINE      ---      ---       #150
-      01000CCCH   LINE      ---      ---       #151
-      01000CD2H   LINE      ---      ---       #153
-      01000CD8H   LINE      ---      ---       #154
-      01000CDAH   LINE      ---      ---       #155
-      01000CE1H   LINE      ---      ---       #156
-      01000CE1H   LINE      ---      ---       #157
-      01000CE4H   LINE      ---      ---       #158
-      01000CECH   LINE      ---      ---       #159
-      01000CECH   LINE      ---      ---       #160
-      01000CF0H   LINE      ---      ---       #161
-      01000CF2H   LINE      ---      ---       #163
-      01000CF2H   LINE      ---      ---       #164
-      01000CF8H   LINE      ---      ---       #165
-      01000CF8H   LINE      ---      ---       #166
-      01000CFAH   LINE      ---      ---       #167
-      01000D01H   LINE      ---      ---       #168
-      01000D01H   LINE      ---      ---       #169
-      01000D04H   LINE      ---      ---       #170
-      01000D04H   LINE      ---      ---       #171
-      01000D11H   LINE      ---      ---       #172
-      01000D11H   LINE      ---      ---       #173
+      01000C3EH   LINE      ---      ---       #121
+      01000C40H   LINE      ---      ---       #123
+      01000C4AH   LINE      ---      ---       #124
+      01000C4AH   LINE      ---      ---       #125
+      01000C6AH   LINE      ---      ---       #126
+      01000C6DH   LINE      ---      ---       #128
+      01000C75H   LINE      ---      ---       #130
+      01000C7DH   LINE      ---      ---       #133
+      01000C90H   LINE      ---      ---       #135
+      01000C90H   LINE      ---      ---       #136
+      01000C97H   LINE      ---      ---       #137
+      01000C9AH   LINE      ---      ---       #138
+      01000CA7H   LINE      ---      ---       #140
+      01000CA7H   LINE      ---      ---       #141
+      01000CAFH   LINE      ---      ---       #142
+      01000CAFH   LINE      ---      ---       #143
+      01000CB7H   LINE      ---      ---       #144
+      01000CB7H   LINE      ---      ---       #145
+      01000CBAH   LINE      ---      ---       #146
+      01000CCCH   LINE      ---      ---       #147
+      01000CD2H   LINE      ---      ---       #149
+      01000CD8H   LINE      ---      ---       #150
+      01000CDAH   LINE      ---      ---       #151
+      01000CE1H   LINE      ---      ---       #152
+      01000CE1H   LINE      ---      ---       #153
+      01000CE4H   LINE      ---      ---       #154
+      01000CECH   LINE      ---      ---       #155
+      01000CECH   LINE      ---      ---       #156
+      01000CF0H   LINE      ---      ---       #157
+      01000CF2H   LINE      ---      ---       #159
+      01000CF2H   LINE      ---      ---       #160
+      01000CF8H   LINE      ---      ---       #161
+      01000CF8H   LINE      ---      ---       #162
+      01000CFAH   LINE      ---      ---       #163
+      01000D01H   LINE      ---      ---       #164
+      01000D01H   LINE      ---      ---       #165
+      01000D04H   LINE      ---      ---       #166
+      01000D04H   LINE      ---      ---       #167
+      01000D11H   LINE      ---      ---       #168
+      01000D11H   LINE      ---      ---       #169
       02004E7EH   SYMBOL    XDATA    VOID      tx_hid_buff
       00000007H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001FE7H   BLOCK     CODE     ---       LVL=0
-      01001FE7H   LINE      ---      ---       #176
-      01001FEBH   LINE      ---      ---       #177
-      01001FEBH   LINE      ---      ---       #178
-      01001FF3H   LINE      ---      ---       #179
-      01001FF3H   LINE      ---      ---       #180
-      01001FF6H   LINE      ---      ---       #181
-      01001FFBH   LINE      ---      ---       #182
-      01001FFEH   LINE      ---      ---       #183
-      01002001H   LINE      ---      ---       #184
-      01002001H   LINE      ---      ---       #185
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01002002H   BLOCK     CODE     ---       LVL=0
-      01002002H   LINE      ---      ---       #187
-      01002002H   LINE      ---      ---       #188
-      01002002H   LINE      ---      ---       #189
-      0100200AH   LINE      ---      ---       #190
-      0100200AH   LINE      ---      ---       #191
-      0100200DH   LINE      ---      ---       #192
-      01002013H   LINE      ---      ---       #193
-      01002019H   LINE      ---      ---       #194
-      0100201CH   LINE      ---      ---       #195
-      0100201CH   LINE      ---      ---       #196
+      01001FEEH   BLOCK     CODE     ---       LVL=0
+      01001FEEH   LINE      ---      ---       #172
+      01001FF2H   LINE      ---      ---       #173
+      01001FF2H   LINE      ---      ---       #174
+      01001FFAH   LINE      ---      ---       #175
+      01001FFAH   LINE      ---      ---       #176
+      01001FFDH   LINE      ---      ---       #177
+      01002002H   LINE      ---      ---       #178
+      01002005H   LINE      ---      ---       #179
+      01002008H   LINE      ---      ---       #180
+      01002008H   LINE      ---      ---       #181
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01002009H   BLOCK     CODE     ---       LVL=0
+      01002009H   LINE      ---      ---       #183
+      01002009H   LINE      ---      ---       #184
+      01002009H   LINE      ---      ---       #185
+      01002011H   LINE      ---      ---       #186
+      01002011H   LINE      ---      ---       #187
+      01002014H   LINE      ---      ---       #188
+      0100201AH   LINE      ---      ---       #189
+      01002020H   LINE      ---      ---       #190
+      01002023H   LINE      ---      ---       #191
+      01002023H   LINE      ---      ---       #192
       ---         BLOCKEND  ---      ---       LVL=0
 
       01000D12H   BLOCK     CODE     ---       LVL=0
-      01000D12H   LINE      ---      ---       #199
-      01000D1AH   LINE      ---      ---       #200
-      01000D1AH   LINE      ---      ---       #201
-      01000D26H   LINE      ---      ---       #202
-      01000D2CH   LINE      ---      ---       #203
-      01000D3AH   LINE      ---      ---       #204
-      01000D42H   LINE      ---      ---       #205
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01002334H   BLOCK     CODE     ---       LVL=0
-      01002334H   LINE      ---      ---       #269
-      01002334H   LINE      ---      ---       #270
-      01002334H   LINE      ---      ---       #271
-      01002340H   LINE      ---      ---       #272
-      01002340H   LINE      ---      ---       #273
-      01002347H   LINE      ---      ---       #274
-      01002347H   LINE      ---      ---       #275
-      01002354H   LINE      ---      ---       #277
-      01002359H   LINE      ---      ---       #278
-      0100235EH   LINE      ---      ---       #279
-      01002366H   LINE      ---      ---       #280
-      01002371H   LINE      ---      ---       #281
-      01002371H   LINE      ---      ---       #282
-      01002371H   LINE      ---      ---       #283
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01002372H   BLOCK     CODE     ---       LVL=0
-      01002372H   LINE      ---      ---       #287
-      01002372H   LINE      ---      ---       #288
-      01002372H   BLOCK     CODE     NEAR LAB  LVL=1
-      01002372H   LINE      ---      ---       #289
-      0100237BH   LINE      ---      ---       #291
-      0100237FH   LINE      ---      ---       #293
-      0100238CH   LINE      ---      ---       #295
-      0100238FH   LINE      ---      ---       #296
-      0100238FH   LINE      ---      ---       #297
-      01002394H   LINE      ---      ---       #298
-      01002396H   LINE      ---      ---       #300
-      01002396H   LINE      ---      ---       #301
-      010023A4H   LINE      ---      ---       #302
+      01000D12H   LINE      ---      ---       #195
+      01000D1AH   LINE      ---      ---       #196
+      01000D1AH   LINE      ---      ---       #197
+      01000D26H   LINE      ---      ---       #198
+      01000D2CH   LINE      ---      ---       #199
+      01000D3AH   LINE      ---      ---       #200
+      01000D42H   LINE      ---      ---       #201
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100233BH   BLOCK     CODE     ---       LVL=0
+      0100233BH   LINE      ---      ---       #265
+      0100233BH   LINE      ---      ---       #266
+      0100233BH   LINE      ---      ---       #267
+      01002347H   LINE      ---      ---       #268
+      01002347H   LINE      ---      ---       #269
+      0100234EH   LINE      ---      ---       #270
+      0100234EH   LINE      ---      ---       #271
+      0100235BH   LINE      ---      ---       #273
+      01002360H   LINE      ---      ---       #274
+      01002365H   LINE      ---      ---       #275
+      0100236DH   LINE      ---      ---       #276
+      01002378H   LINE      ---      ---       #277
+      01002378H   LINE      ---      ---       #278
+      01002378H   LINE      ---      ---       #279
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01002379H   BLOCK     CODE     ---       LVL=0
+      01002379H   LINE      ---      ---       #283
+      01002379H   LINE      ---      ---       #284
+      01002379H   BLOCK     CODE     NEAR LAB  LVL=1
+      01002379H   LINE      ---      ---       #285
+      01002382H   LINE      ---      ---       #287
+      01002386H   LINE      ---      ---       #289
+      01002393H   LINE      ---      ---       #291
+      01002396H   LINE      ---      ---       #292
+      01002396H   LINE      ---      ---       #293
+      0100239BH   LINE      ---      ---       #294
+      0100239DH   LINE      ---      ---       #296
+      0100239DH   LINE      ---      ---       #297
+      010023ABH   LINE      ---      ---       #298
       02004EE4H   SYMBOL    XDATA    VOID      pEvt
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
       01000D4CH   BLOCK     CODE     ---       LVL=0
-      01000D4CH   LINE      ---      ---       #306
-      01000D4CH   LINE      ---      ---       #307
-      01000D4CH   LINE      ---      ---       #316
-      01000D4CH   LINE      ---      ---       #317
-      01000D5BH   LINE      ---      ---       #321
-      01000D5EH   LINE      ---      ---       #323
-      01000D5EH   LINE      ---      ---       #324
-      01000D65H   LINE      ---      ---       #325
-      01000D65H   LINE      ---      ---       #326
-      01000D6CH   LINE      ---      ---       #327
-      01000D72H   LINE      ---      ---       #328
-      01000D73H   LINE      ---      ---       #329
-      01000D7AH   LINE      ---      ---       #330
-      01000D7AH   LINE      ---      ---       #331
-      01000D7DH   LINE      ---      ---       #332
-      01000D85H   LINE      ---      ---       #333
-      01000D85H   LINE      ---      ---       #334
-      01000D8CH   LINE      ---      ---       #335
-      01000D8CH   LINE      ---      ---       #336
-      01000D91H   LINE      ---      ---       #337
-      01000D9AH   LINE      ---      ---       #338
-      01000D9FH   LINE      ---      ---       #339
-      01000DA5H   LINE      ---      ---       #340
-      01000DACH   LINE      ---      ---       #342
-      01000DB2H   LINE      ---      ---       #343
-      01000DB3H   LINE      ---      ---       #344
-      01000DBAH   LINE      ---      ---       #345
-      01000DBAH   LINE      ---      ---       #346
-      01000DBFH   LINE      ---      ---       #347
-      01000DC3H   LINE      ---      ---       #348
-      01000DCAH   LINE      ---      ---       #349
-      01000DCFH   LINE      ---      ---       #350
-      01000DCFH   LINE      ---      ---       #351
-      01000DCFH   LINE      ---      ---       #352
-      01000DCFH   LINE      ---      ---       #353
+      01000D4CH   LINE      ---      ---       #302
+      01000D4CH   LINE      ---      ---       #303
+      01000D4CH   LINE      ---      ---       #312
+      01000D4CH   LINE      ---      ---       #313
+      01000D5BH   LINE      ---      ---       #317
+      01000D5EH   LINE      ---      ---       #319
+      01000D5EH   LINE      ---      ---       #320
+      01000D65H   LINE      ---      ---       #321
+      01000D65H   LINE      ---      ---       #322
+      01000D6CH   LINE      ---      ---       #323
+      01000D72H   LINE      ---      ---       #324
+      01000D73H   LINE      ---      ---       #325
+      01000D7AH   LINE      ---      ---       #326
+      01000D7AH   LINE      ---      ---       #327
+      01000D7DH   LINE      ---      ---       #328
+      01000D85H   LINE      ---      ---       #329
+      01000D85H   LINE      ---      ---       #330
+      01000D8CH   LINE      ---      ---       #331
+      01000D8CH   LINE      ---      ---       #332
+      01000D91H   LINE      ---      ---       #333
+      01000D9AH   LINE      ---      ---       #334
+      01000D9FH   LINE      ---      ---       #335
+      01000DA5H   LINE      ---      ---       #336
+      01000DACH   LINE      ---      ---       #338
+      01000DB2H   LINE      ---      ---       #339
+      01000DB3H   LINE      ---      ---       #340
+      01000DBAH   LINE      ---      ---       #341
+      01000DBAH   LINE      ---      ---       #342
+      01000DBFH   LINE      ---      ---       #343
+      01000DC3H   LINE      ---      ---       #344
+      01000DCAH   LINE      ---      ---       #345
+      01000DCFH   LINE      ---      ---       #346
+      01000DCFH   LINE      ---      ---       #347
+      01000DCFH   LINE      ---      ---       #348
+      01000DCFH   LINE      ---      ---       #349
       ---         BLOCKEND  ---      ---       LVL=0
 
       010008C0H   BLOCK     CODE     ---       LVL=0
-      010008C0H   LINE      ---      ---       #357
-      010008CBH   LINE      ---      ---       #358
+      010008C0H   LINE      ---      ---       #353
+      010008CBH   LINE      ---      ---       #354
       010008CBH   BLOCK     CODE     NEAR LAB  LVL=1
-      010008CBH   LINE      ---      ---       #359
-      010008CEH   LINE      ---      ---       #360
-      010008D0H   LINE      ---      ---       #362
-      010008D4H   LINE      ---      ---       #363
-      010008E2H   LINE      ---      ---       #364
-      010008E2H   LINE      ---      ---       #365
-      01000900H   LINE      ---      ---       #366
-      01000900H   LINE      ---      ---       #367
-      01000906H   LINE      ---      ---       #368
-      01000906H   LINE      ---      ---       #369
-      0100090EH   LINE      ---      ---       #372
-      01000921H   LINE      ---      ---       #374
-      0100092FH   LINE      ---      ---       #378
-      01000935H   LINE      ---      ---       #379
-      01000935H   LINE      ---      ---       #380
-      01000937H   LINE      ---      ---       #381
-      0100093DH   LINE      ---      ---       #382
-      0100093DH   LINE      ---      ---       #385
-      01000944H   LINE      ---      ---       #386
-      01000944H   LINE      ---      ---       #387
-      0100094AH   LINE      ---      ---       #388
-      0100094AH   LINE      ---      ---       #389
-      01000950H   LINE      ---      ---       #390
-      01000957H   LINE      ---      ---       #391
-      0100095EH   LINE      ---      ---       #392
-      0100095EH   LINE      ---      ---       #393
-      01000963H   LINE      ---      ---       #394
-      01000967H   LINE      ---      ---       #395
-      0100096BH   LINE      ---      ---       #396
-      0100096EH   LINE      ---      ---       #397
-      01000970H   LINE      ---      ---       #399
-      01000970H   LINE      ---      ---       #400
-      01000975H   LINE      ---      ---       #401
-      01000979H   LINE      ---      ---       #402
-      0100097DH   LINE      ---      ---       #403
-      01000980H   LINE      ---      ---       #404
-      01000980H   LINE      ---      ---       #405
-      0100098CH   LINE      ---      ---       #406
-      01000998H   LINE      ---      ---       #434
-      0100099EH   LINE      ---      ---       #435
-      010009B7H   LINE      ---      ---       #438
-      010009B7H   LINE      ---      ---       #440
-      010009B7H   LINE      ---      ---       #443
-      010009BFH   LINE      ---      ---       #444
-      010009BFH   LINE      ---      ---       #445
-      010009CDH   LINE      ---      ---       #446
-      010009CDH   LINE      ---      ---       #447
-      010009F6H   LINE      ---      ---       #449
-      010009F6H   LINE      ---      ---       #450
-      010009FCH   LINE      ---      ---       #452
-      010009FCH   LINE      ---      ---       #453
-      01000A04H   LINE      ---      ---       #454
-      01000A04H   LINE      ---      ---       #456
-      01000A12H   LINE      ---      ---       #458
-      01000A19H   LINE      ---      ---       #459
-      01000A19H   LINE      ---      ---       #460
-      01000A1CH   LINE      ---      ---       #461
-      01000A20H   LINE      ---      ---       #462
-      01000A2AH   LINE      ---      ---       #463
-      01000A2AH   LINE      ---      ---       #464
-      01000A31H   LINE      ---      ---       #465
-      01000A31H   LINE      ---      ---       #466
-      01000A34H   LINE      ---      ---       #467
-      01000A3AH   LINE      ---      ---       #468
-      01000A44H   LINE      ---      ---       #469
-      01000A44H   LINE      ---      ---       #470
-      01000A57H   LINE      ---      ---       #471
-      01000A57H   LINE      ---      ---       #472
-      01000A5CH   LINE      ---      ---       #473
-      01000A60H   LINE      ---      ---       #474
-      01000A66H   LINE      ---      ---       #475
-      01000A66H   LINE      ---      ---       #476
-      01000A68H   LINE      ---      ---       #477
-      01000A6EH   LINE      ---      ---       #478
-      01000A70H   LINE      ---      ---       #480
-      01000A76H   LINE      ---      ---       #481
-      01000A80H   LINE      ---      ---       #482
-      01000A80H   LINE      ---      ---       #484
-      01000A80H   LINE      ---      ---       #485
-      01000A86H   LINE      ---      ---       #486
-      01000A9CH   LINE      ---      ---       #488
-      01000AA2H   LINE      ---      ---       #489
-      01000AB4H   LINE      ---      ---       #490
-      01000ABBH   LINE      ---      ---       #491
-      01000AC5H   LINE      ---      ---       #493
-      01000ACAH   LINE      ---      ---       #495
-      01000ACFH   LINE      ---      ---       #496
-      01000AD5H   LINE      ---      ---       #497
-      01000AD5H   LINE      ---      ---       #498
-      01000ADEH   LINE      ---      ---       #499
-      01000AF3H   LINE      ---      ---       #501
-      01000B0FH   LINE      ---      ---       #503
-      01000B1FH   LINE      ---      ---       #504
-      01000B1FH   LINE      ---      ---       #505
-      01000B2DH   LINE      ---      ---       #506
-      01000B3CH   LINE      ---      ---       #507
-      01000B44H   LINE      ---      ---       #508
-      01000B44H   LINE      ---      ---       #510
-      01000B60H   LINE      ---      ---       #511
-      01000B6AH   LINE      ---      ---       #512
-      01000B6AH   LINE      ---      ---       #514
+      010008CBH   LINE      ---      ---       #355
+      010008CEH   LINE      ---      ---       #356
+      010008D0H   LINE      ---      ---       #358
+      010008D4H   LINE      ---      ---       #359
+      010008E2H   LINE      ---      ---       #360
+      010008E2H   LINE      ---      ---       #361
+      01000900H   LINE      ---      ---       #362
+      01000900H   LINE      ---      ---       #363
+      01000906H   LINE      ---      ---       #364
+      01000906H   LINE      ---      ---       #365
+      0100090EH   LINE      ---      ---       #368
+      01000921H   LINE      ---      ---       #370
+      0100092FH   LINE      ---      ---       #374
+      01000935H   LINE      ---      ---       #375
+      01000935H   LINE      ---      ---       #376
+      01000937H   LINE      ---      ---       #377
+      0100093DH   LINE      ---      ---       #378
+      0100093DH   LINE      ---      ---       #381
+      01000944H   LINE      ---      ---       #382
+      01000944H   LINE      ---      ---       #383
+      0100094AH   LINE      ---      ---       #384
+      0100094AH   LINE      ---      ---       #385
+      01000950H   LINE      ---      ---       #386
+      01000957H   LINE      ---      ---       #387
+      0100095EH   LINE      ---      ---       #388
+      0100095EH   LINE      ---      ---       #389
+      01000963H   LINE      ---      ---       #390
+      01000967H   LINE      ---      ---       #391
+      0100096BH   LINE      ---      ---       #392
+      0100096EH   LINE      ---      ---       #393
+      01000970H   LINE      ---      ---       #395
+      01000970H   LINE      ---      ---       #396
+      01000975H   LINE      ---      ---       #397
+      01000979H   LINE      ---      ---       #398
+      0100097DH   LINE      ---      ---       #399
+      01000980H   LINE      ---      ---       #400
+      01000980H   LINE      ---      ---       #401
+      0100098CH   LINE      ---      ---       #402
+      01000998H   LINE      ---      ---       #430
+      0100099EH   LINE      ---      ---       #431
+      010009B7H   LINE      ---      ---       #434
+      010009B7H   LINE      ---      ---       #436
+      010009B7H   LINE      ---      ---       #439
+      010009BFH   LINE      ---      ---       #440
+      010009BFH   LINE      ---      ---       #441
+      010009CDH   LINE      ---      ---       #442
+      010009CDH   LINE      ---      ---       #443
+      010009F6H   LINE      ---      ---       #445
+      010009F6H   LINE      ---      ---       #446
+      010009FCH   LINE      ---      ---       #448
+      010009FCH   LINE      ---      ---       #449
+      01000A04H   LINE      ---      ---       #450
+      01000A04H   LINE      ---      ---       #452
+      01000A12H   LINE      ---      ---       #454
+      01000A19H   LINE      ---      ---       #455
+      01000A19H   LINE      ---      ---       #456
+      01000A1CH   LINE      ---      ---       #457
+      01000A20H   LINE      ---      ---       #458
+      01000A2AH   LINE      ---      ---       #459
+      01000A2AH   LINE      ---      ---       #460
+      01000A31H   LINE      ---      ---       #461
+      01000A31H   LINE      ---      ---       #462
+      01000A34H   LINE      ---      ---       #463
+      01000A3AH   LINE      ---      ---       #464
+      01000A44H   LINE      ---      ---       #465
+      01000A44H   LINE      ---      ---       #466
+      01000A57H   LINE      ---      ---       #467
+      01000A57H   LINE      ---      ---       #468
+      01000A5CH   LINE      ---      ---       #469
+      01000A60H   LINE      ---      ---       #470
+      01000A66H   LINE      ---      ---       #471
+      01000A66H   LINE      ---      ---       #472
+      01000A68H   LINE      ---      ---       #473
+      01000A6EH   LINE      ---      ---       #474
+      01000A70H   LINE      ---      ---       #476
+      01000A76H   LINE      ---      ---       #477
+      01000A80H   LINE      ---      ---       #478
+      01000A80H   LINE      ---      ---       #480
+      01000A80H   LINE      ---      ---       #481
+      01000A86H   LINE      ---      ---       #482
+      01000A9CH   LINE      ---      ---       #484
+      01000AA2H   LINE      ---      ---       #485
+      01000AB4H   LINE      ---      ---       #486
+      01000ABBH   LINE      ---      ---       #487
+      01000AC5H   LINE      ---      ---       #489
+      01000ACAH   LINE      ---      ---       #491
+      01000ACFH   LINE      ---      ---       #492
+      01000AD5H   LINE      ---      ---       #493
+      01000AD5H   LINE      ---      ---       #494
+      01000ADEH   LINE      ---      ---       #495
+      01000AF3H   LINE      ---      ---       #497
+      01000B0FH   LINE      ---      ---       #499
+      01000B1FH   LINE      ---      ---       #500
+      01000B1FH   LINE      ---      ---       #501
+      01000B2DH   LINE      ---      ---       #502
+      01000B3CH   LINE      ---      ---       #503
+      01000B44H   LINE      ---      ---       #504
+      01000B44H   LINE      ---      ---       #506
+      01000B60H   LINE      ---      ---       #507
+      01000B6AH   LINE      ---      ---       #508
+      01000B6AH   LINE      ---      ---       #510
       02004EC8H   SYMBOL    XDATA    VOID      temp
       02004EC9H   SYMBOL    XDATA    VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01002792H   BLOCK     CODE     ---       LVL=0
-      01002792H   LINE      ---      ---       #518
-      0100279DH   LINE      ---      ---       #519
-      0100279DH   BLOCK     CODE     NEAR LAB  LVL=1
-      0100279DH   LINE      ---      ---       #520
-      0100279FH   LINE      ---      ---       #521
-      010027A1H   LINE      ---      ---       #523
-      010027ACH   LINE      ---      ---       #524
-      010027ACH   LINE      ---      ---       #525
-      010027B2H   LINE      ---      ---       #527
-      010027BFH   LINE      ---      ---       #528
-      010027BFH   LINE      ---      ---       #529
-      010027DCH   LINE      ---      ---       #531
-      010027E7H   LINE      ---      ---       #532
-      010027E7H   LINE      ---      ---       #533
-      010027F2H   LINE      ---      ---       #534
-      010027F2H   LINE      ---      ---       #535
-      010027F2H   LINE      ---      ---       #536
-      010027F2H   LINE      ---      ---       #537
-      010027F2H   LINE      ---      ---       #538
-      010027F8H   LINE      ---      ---       #540
-      010027FFH   LINE      ---      ---       #541
-      01002802H   LINE      ---      ---       #542
-      01002815H   LINE      ---      ---       #543
-      01002815H   LINE      ---      ---       #544
-      0100281AH   LINE      ---      ---       #545
-      01002820H   LINE      ---      ---       #546
-      01002825H   LINE      ---      ---       #547
-      01002825H   LINE      ---      ---       #548
-      01002827H   LINE      ---      ---       #549
-      01002827H   LINE      ---      ---       #550
-      0100282DH   LINE      ---      ---       #551
-      01002834H   LINE      ---      ---       #552
-      01002837H   LINE      ---      ---       #553
-      01002842H   LINE      ---      ---       #554
-      01002842H   LINE      ---      ---       #555
-      01002848H   LINE      ---      ---       #556
-      0100284DH   LINE      ---      ---       #557
-      01002851H   LINE      ---      ---       #558
-      01002851H   LINE      ---      ---       #559
-      01002851H   LINE      ---      ---       #560
-      01002851H   LINE      ---      ---       #561
-      01002854H   LINE      ---      ---       #562
-      01002854H   LINE      ---      ---       #564
-      01002854H   LINE      ---      ---       #565
-      0100285BH   LINE      ---      ---       #566
-      0100285BH   LINE      ---      ---       #569
-      01002869H   LINE      ---      ---       #570
-      01002869H   LINE      ---      ---       #571
-      0100286FH   LINE      ---      ---       #572
-      01002874H   LINE      ---      ---       #573
-      0100287BH   LINE      ---      ---       #574
-      0100287EH   LINE      ---      ---       #575
-      0100287EH   LINE      ---      ---       #577
-      01002885H   LINE      ---      ---       #578
-      01002888H   LINE      ---      ---       #579
-      01002888H   LINE      ---      ---       #581
-      01002888H   LINE      ---      ---       #582
-      0100289DH   LINE      ---      ---       #583
-      0100289DH   LINE      ---      ---       #584
-      010028A3H   LINE      ---      ---       #585
-      010028AAH   LINE      ---      ---       #586
-      010028ADH   LINE      ---      ---       #587
-      010028B8H   LINE      ---      ---       #588
-      010028B8H   LINE      ---      ---       #589
-      010028BEH   LINE      ---      ---       #590
-      010028C3H   LINE      ---      ---       #591
-      010028C3H   LINE      ---      ---       #592
-      010028C6H   LINE      ---      ---       #593
-      010028C6H   LINE      ---      ---       #595
-      010028CDH   LINE      ---      ---       #596
-      010028D0H   LINE      ---      ---       #597
-      010028D0H   LINE      ---      ---       #598
-      010028D2H   LINE      ---      ---       #599
+      01002799H   BLOCK     CODE     ---       LVL=0
+      01002799H   LINE      ---      ---       #514
+      010027A4H   LINE      ---      ---       #515
+      010027A4H   BLOCK     CODE     NEAR LAB  LVL=1
+      010027A4H   LINE      ---      ---       #516
+      010027A6H   LINE      ---      ---       #517
+      010027A8H   LINE      ---      ---       #519
+      010027B3H   LINE      ---      ---       #520
+      010027B3H   LINE      ---      ---       #521
+      010027B9H   LINE      ---      ---       #523
+      010027C6H   LINE      ---      ---       #524
+      010027C6H   LINE      ---      ---       #525
+      010027E3H   LINE      ---      ---       #527
+      010027EEH   LINE      ---      ---       #528
+      010027EEH   LINE      ---      ---       #529
+      010027F9H   LINE      ---      ---       #530
+      010027F9H   LINE      ---      ---       #531
+      010027F9H   LINE      ---      ---       #532
+      010027F9H   LINE      ---      ---       #533
+      010027F9H   LINE      ---      ---       #534
+      010027FFH   LINE      ---      ---       #536
+      01002806H   LINE      ---      ---       #537
+      01002809H   LINE      ---      ---       #538
+      0100281CH   LINE      ---      ---       #539
+      0100281CH   LINE      ---      ---       #540
+      01002821H   LINE      ---      ---       #541
+      01002827H   LINE      ---      ---       #542
+      0100282CH   LINE      ---      ---       #543
+      0100282CH   LINE      ---      ---       #544
+      0100282EH   LINE      ---      ---       #545
+      0100282EH   LINE      ---      ---       #546
+      01002834H   LINE      ---      ---       #547
+      0100283BH   LINE      ---      ---       #548
+      0100283EH   LINE      ---      ---       #549
+      01002849H   LINE      ---      ---       #550
+      01002849H   LINE      ---      ---       #551
+      0100284FH   LINE      ---      ---       #552
+      01002854H   LINE      ---      ---       #553
+      01002858H   LINE      ---      ---       #554
+      01002858H   LINE      ---      ---       #555
+      01002858H   LINE      ---      ---       #556
+      01002858H   LINE      ---      ---       #557
+      0100285BH   LINE      ---      ---       #558
+      0100285BH   LINE      ---      ---       #560
+      0100285BH   LINE      ---      ---       #561
+      01002862H   LINE      ---      ---       #562
+      01002862H   LINE      ---      ---       #565
+      01002870H   LINE      ---      ---       #566
+      01002870H   LINE      ---      ---       #567
+      01002876H   LINE      ---      ---       #568
+      0100287BH   LINE      ---      ---       #569
+      01002882H   LINE      ---      ---       #570
+      01002885H   LINE      ---      ---       #571
+      01002885H   LINE      ---      ---       #573
+      0100288CH   LINE      ---      ---       #574
+      0100288FH   LINE      ---      ---       #575
+      0100288FH   LINE      ---      ---       #577
+      0100288FH   LINE      ---      ---       #578
+      010028A4H   LINE      ---      ---       #579
+      010028A4H   LINE      ---      ---       #580
+      010028AAH   LINE      ---      ---       #581
+      010028B1H   LINE      ---      ---       #582
+      010028B4H   LINE      ---      ---       #583
+      010028BFH   LINE      ---      ---       #584
+      010028BFH   LINE      ---      ---       #585
+      010028C5H   LINE      ---      ---       #586
+      010028CAH   LINE      ---      ---       #587
+      010028CAH   LINE      ---      ---       #588
+      010028CDH   LINE      ---      ---       #589
+      010028CDH   LINE      ---      ---       #591
+      010028D4H   LINE      ---      ---       #592
+      010028D7H   LINE      ---      ---       #593
+      010028D7H   LINE      ---      ---       #594
+      010028D9H   LINE      ---      ---       #595
       00000005H   SYMBOL    DATA     VOID      temp
       02004ED7H   SYMBOL    XDATA    VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      010028D3H   BLOCK     CODE     ---       LVL=0
-      010028D3H   LINE      ---      ---       #604
-      010028D3H   LINE      ---      ---       #605
-      010028D3H   LINE      ---      ---       #606
-      010028D8H   LINE      ---      ---       #607
-      010028DBH   LINE      ---      ---       #609
-      010028DFH   LINE      ---      ---       #610
-      010028DFH   LINE      ---      ---       #611
-      010028E6H   LINE      ---      ---       #612
-      010028EAH   LINE      ---      ---       #614
-      010028F0H   LINE      ---      ---       #615
-      010028F1H   LINE      ---      ---       #617
-      010028F1H   LINE      ---      ---       #618
-      010028F7H   LINE      ---      ---       #619
-      010028F7H   LINE      ---      ---       #621
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010028F8H   BLOCK     CODE     ---       LVL=0
-      010028F8H   LINE      ---      ---       #624
-      010028FAH   LINE      ---      ---       #625
-      010028FAH   BLOCK     CODE     NEAR LAB  LVL=1
-      010028FAH   LINE      ---      ---       #626
-      010028FFH   LINE      ---      ---       #628
-      01002903H   LINE      ---      ---       #629
-      01002908H   LINE      ---      ---       #631
-      0100290DH   LINE      ---      ---       #632
-      01002913H   LINE      ---      ---       #633
-      01002913H   LINE      ---      ---       #634
-      01002917H   LINE      ---      ---       #635
-      0100291FH   LINE      ---      ---       #636
-      01002923H   LINE      ---      ---       #637
-      0100292BH   LINE      ---      ---       #638
-      0100292FH   LINE      ---      ---       #639
-      01002937H   LINE      ---      ---       #640
-      0100293BH   LINE      ---      ---       #641
-      01002941H   LINE      ---      ---       #642
-      01002941H   LINE      ---      ---       #644
-      0100294BH   LINE      ---      ---       #645
-      0100294BH   LINE      ---      ---       #646
-      0100294FH   LINE      ---      ---       #647
-      0100294FH   LINE      ---      ---       #648
-      01002955H   LINE      ---      ---       #649
-      01002957H   LINE      ---      ---       #650
-      0100295BH   LINE      ---      ---       #651
-      0100295BH   LINE      ---      ---       #652
-      01002961H   LINE      ---      ---       #653
-      01002963H   LINE      ---      ---       #654
-      01002967H   LINE      ---      ---       #655
-      01002967H   LINE      ---      ---       #656
-      0100296DH   LINE      ---      ---       #657
-      0100296FH   LINE      ---      ---       #658
-      01002973H   LINE      ---      ---       #659
-      01002973H   LINE      ---      ---       #660
-      01002979H   LINE      ---      ---       #661
-      0100297BH   LINE      ---      ---       #662
-      0100297FH   LINE      ---      ---       #663
-      0100297FH   LINE      ---      ---       #664
-      01002985H   LINE      ---      ---       #665
-      01002987H   LINE      ---      ---       #666
-      0100298CH   LINE      ---      ---       #667
-      0100298CH   LINE      ---      ---       #668
-      01002990H   LINE      ---      ---       #669
-      01002990H   LINE      ---      ---       #670
-      01002996H   LINE      ---      ---       #671
-      01002996H   LINE      ---      ---       #672
-      01002998H   LINE      ---      ---       #673
-      0100299AH   LINE      ---      ---       #675
-      010029A0H   LINE      ---      ---       #677
-      010029AAH   LINE      ---      ---       #678
-      010029AAH   LINE      ---      ---       #679
-      010029B0H   LINE      ---      ---       #680
-      010029B2H   LINE      ---      ---       #681
-      010029BEH   LINE      ---      ---       #682
-      010029BEH   LINE      ---      ---       #683
-      010029D6H   LINE      ---      ---       #684
-      010029DCH   LINE      ---      ---       #685
-      010029DCH   LINE      ---      ---       #686
-      010029DCH   LINE      ---      ---       #687
-      010029E1H   LINE      ---      ---       #688
-      010029E1H   LINE      ---      ---       #689
-      010029E1H   LINE      ---      ---       #691
-      01002A09H   LINE      ---      ---       #692
-      01002A09H   LINE      ---      ---       #693
-      01002A45H   LINE      ---      ---       #694
-      01002A45H   LINE      ---      ---       #695
-      01002A45H   LINE      ---      ---       #696
-      01002A4CH   LINE      ---      ---       #697
-      01002A4CH   LINE      ---      ---       #698
-      01002A52H   LINE      ---      ---       #699
-      01002A54H   LINE      ---      ---       #701
-      01002A54H   LINE      ---      ---       #702
-      01002A5AH   LINE      ---      ---       #703
-      01002A5AH   LINE      ---      ---       #704
-      01002A5CH   LINE      ---      ---       #705
-      01002A5CH   LINE      ---      ---       #706
-      01002A63H   LINE      ---      ---       #707
-      01002A63H   LINE      ---      ---       #708
-      01002A6BH   LINE      ---      ---       #709
-      01002A6FH   LINE      ---      ---       #710
-      01002A6FH   LINE      ---      ---       #711
-      01002A75H   LINE      ---      ---       #712
-      01002A75H   LINE      ---      ---       #713
-      01002A77H   LINE      ---      ---       #714
-      01002A7BH   LINE      ---      ---       #715
-      01002A7BH   LINE      ---      ---       #716
-      01002A83H   LINE      ---      ---       #717
-      01002A85H   LINE      ---      ---       #718
-      01002A8CH   LINE      ---      ---       #719
-      01002A8CH   LINE      ---      ---       #720
-      01002A94H   LINE      ---      ---       #721
-      01002A98H   LINE      ---      ---       #722
-      01002A98H   LINE      ---      ---       #723
-      01002A9EH   LINE      ---      ---       #724
-      01002A9EH   LINE      ---      ---       #725
-      01002A9EH   LINE      ---      ---       #726
-      01002AA3H   LINE      ---      ---       #727
-      01002AA5H   LINE      ---      ---       #728
-      01002AA5H   LINE      ---      ---       #729
-      01002AABH   LINE      ---      ---       #730
-      01002AABH   LINE      ---      ---       #731
-      01002AB1H   LINE      ---      ---       #732
-      01002AB3H   LINE      ---      ---       #734
-      01002AB3H   LINE      ---      ---       #735
-      01002ABBH   LINE      ---      ---       #736
-      01002AC0H   LINE      ---      ---       #737
-      01002AC0H   LINE      ---      ---       #738
-      01002AC2H   LINE      ---      ---       #739
-      01002AC2H   LINE      ---      ---       #740
-      01002AC9H   LINE      ---      ---       #741
-      01002AC9H   LINE      ---      ---       #742
-      01002AD1H   LINE      ---      ---       #743
-      01002AD6H   LINE      ---      ---       #744
-      01002AD8H   LINE      ---      ---       #746
-      01002AD8H   LINE      ---      ---       #747
-      01002ADEH   LINE      ---      ---       #748
-      01002ADEH   LINE      ---      ---       #749
-      01002AE0H   LINE      ---      ---       #750
-      01002AE0H   LINE      ---      ---       #751
-      01002AE6H   LINE      ---      ---       #752
-      01002AE6H   LINE      ---      ---       #753
-      01002AEEH   LINE      ---      ---       #754
-      01002AF0H   LINE      ---      ---       #756
-      01002AF0H   LINE      ---      ---       #757
-      01002AF8H   LINE      ---      ---       #758
-      01002AF8H   LINE      ---      ---       #759
-      01002AFCH   LINE      ---      ---       #760
-      01002AFCH   LINE      ---      ---       #761
-      01002B02H   LINE      ---      ---       #762
-      01002B02H   LINE      ---      ---       #763
-      01002B07H   LINE      ---      ---       #764
-      01002B09H   LINE      ---      ---       #765
-      01002B09H   LINE      ---      ---       #766
-      01002B0FH   LINE      ---      ---       #767
-      01002B0FH   LINE      ---      ---       #768
-      01002B15H   LINE      ---      ---       #769
-      01002B17H   LINE      ---      ---       #771
-      01002B17H   LINE      ---      ---       #772
-      01002B1FH   LINE      ---      ---       #773
-      01002B24H   LINE      ---      ---       #774
-      01002B24H   LINE      ---      ---       #775
-      01002B26H   LINE      ---      ---       #776
-      01002B26H   LINE      ---      ---       #777
-      01002B2CH   LINE      ---      ---       #778
-      01002B2EH   LINE      ---      ---       #779
-      01002B2EH   LINE      ---      ---       #780
-      01002B34H   LINE      ---      ---       #781
-      01002B36H   LINE      ---      ---       #782
-      01002B36H   LINE      ---      ---       #783
-      01002B3CH   LINE      ---      ---       #784
-      01002B3EH   LINE      ---      ---       #785
-      01002B3EH   LINE      ---      ---       #786
-      01002B44H   LINE      ---      ---       #787
-      01002B46H   LINE      ---      ---       #788
-      01002B46H   LINE      ---      ---       #789
-      01002B4CH   LINE      ---      ---       #790
-      01002B4EH   LINE      ---      ---       #791
-      01002B4EH   LINE      ---      ---       #792
-      01002B54H   LINE      ---      ---       #793
-      01002B54H   LINE      ---      ---       #794
-      01002B54H   LINE      ---      ---       #795
-      01002B54H   LINE      ---      ---       #796
-      01002B54H   LINE      ---      ---       #797
-      01002B54H   LINE      ---      ---       #799
-      01002B59H   LINE      ---      ---       #800
+      010028DAH   BLOCK     CODE     ---       LVL=0
+      010028DAH   LINE      ---      ---       #600
+      010028DAH   LINE      ---      ---       #601
+      010028DAH   LINE      ---      ---       #602
+      010028DFH   LINE      ---      ---       #603
+      010028E2H   LINE      ---      ---       #605
+      010028E6H   LINE      ---      ---       #606
+      010028E6H   LINE      ---      ---       #607
+      010028EDH   LINE      ---      ---       #608
+      010028F1H   LINE      ---      ---       #610
+      010028F7H   LINE      ---      ---       #611
+      010028F8H   LINE      ---      ---       #613
+      010028F8H   LINE      ---      ---       #614
+      010028FEH   LINE      ---      ---       #615
+      010028FEH   LINE      ---      ---       #617
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010028FFH   BLOCK     CODE     ---       LVL=0
+      010028FFH   LINE      ---      ---       #620
+      01002901H   LINE      ---      ---       #621
+      01002901H   BLOCK     CODE     NEAR LAB  LVL=1
+      01002901H   LINE      ---      ---       #622
+      01002906H   LINE      ---      ---       #624
+      0100290AH   LINE      ---      ---       #625
+      0100290FH   LINE      ---      ---       #627
+      01002914H   LINE      ---      ---       #628
+      0100291AH   LINE      ---      ---       #629
+      0100291AH   LINE      ---      ---       #630
+      0100291EH   LINE      ---      ---       #631
+      01002926H   LINE      ---      ---       #632
+      0100292AH   LINE      ---      ---       #633
+      01002932H   LINE      ---      ---       #634
+      01002936H   LINE      ---      ---       #635
+      0100293EH   LINE      ---      ---       #636
+      01002942H   LINE      ---      ---       #637
+      01002948H   LINE      ---      ---       #638
+      01002948H   LINE      ---      ---       #640
+      01002952H   LINE      ---      ---       #641
+      01002952H   LINE      ---      ---       #642
+      01002956H   LINE      ---      ---       #643
+      01002956H   LINE      ---      ---       #644
+      0100295CH   LINE      ---      ---       #645
+      0100295EH   LINE      ---      ---       #646
+      01002962H   LINE      ---      ---       #647
+      01002962H   LINE      ---      ---       #648
+      01002968H   LINE      ---      ---       #649
+      0100296AH   LINE      ---      ---       #650
+      0100296EH   LINE      ---      ---       #651
+      0100296EH   LINE      ---      ---       #652
+      01002974H   LINE      ---      ---       #653
+      01002976H   LINE      ---      ---       #654
+      0100297AH   LINE      ---      ---       #655
+      0100297AH   LINE      ---      ---       #656
+      01002980H   LINE      ---      ---       #657
+      01002982H   LINE      ---      ---       #658
+      01002986H   LINE      ---      ---       #659
+      01002986H   LINE      ---      ---       #660
+      0100298CH   LINE      ---      ---       #661
+      0100298EH   LINE      ---      ---       #662
+      01002993H   LINE      ---      ---       #663
+      01002993H   LINE      ---      ---       #664
+      01002997H   LINE      ---      ---       #665
+      01002997H   LINE      ---      ---       #666
+      0100299DH   LINE      ---      ---       #667
+      0100299DH   LINE      ---      ---       #668
+      0100299FH   LINE      ---      ---       #669
+      010029A1H   LINE      ---      ---       #671
+      010029A7H   LINE      ---      ---       #673
+      010029B1H   LINE      ---      ---       #674
+      010029B1H   LINE      ---      ---       #675
+      010029B7H   LINE      ---      ---       #676
+      010029B9H   LINE      ---      ---       #677
+      010029C5H   LINE      ---      ---       #678
+      010029C5H   LINE      ---      ---       #679
+      010029DDH   LINE      ---      ---       #680
+      010029E3H   LINE      ---      ---       #681
+      010029E3H   LINE      ---      ---       #682
+      010029E3H   LINE      ---      ---       #683
+      010029E8H   LINE      ---      ---       #684
+      010029E8H   LINE      ---      ---       #685
+      010029E8H   LINE      ---      ---       #687
+      01002A10H   LINE      ---      ---       #688
+      01002A10H   LINE      ---      ---       #689
+      01002A4CH   LINE      ---      ---       #690
+      01002A4CH   LINE      ---      ---       #691
+      01002A4CH   LINE      ---      ---       #692
+      01002A53H   LINE      ---      ---       #693
+      01002A53H   LINE      ---      ---       #694
+      01002A59H   LINE      ---      ---       #695
+      01002A5BH   LINE      ---      ---       #697
+      01002A5BH   LINE      ---      ---       #698
+      01002A61H   LINE      ---      ---       #699
+      01002A61H   LINE      ---      ---       #700
+      01002A63H   LINE      ---      ---       #701
+      01002A63H   LINE      ---      ---       #702
+      01002A6AH   LINE      ---      ---       #703
+      01002A6AH   LINE      ---      ---       #704
+      01002A72H   LINE      ---      ---       #705
+      01002A76H   LINE      ---      ---       #706
+      01002A76H   LINE      ---      ---       #707
+      01002A7CH   LINE      ---      ---       #708
+      01002A7CH   LINE      ---      ---       #709
+      01002A7EH   LINE      ---      ---       #710
+      01002A82H   LINE      ---      ---       #711
+      01002A82H   LINE      ---      ---       #712
+      01002A8AH   LINE      ---      ---       #713
+      01002A8CH   LINE      ---      ---       #714
+      01002A93H   LINE      ---      ---       #715
+      01002A93H   LINE      ---      ---       #716
+      01002A9BH   LINE      ---      ---       #717
+      01002A9FH   LINE      ---      ---       #718
+      01002A9FH   LINE      ---      ---       #719
+      01002AA5H   LINE      ---      ---       #720
+      01002AA5H   LINE      ---      ---       #721
+      01002AA5H   LINE      ---      ---       #722
+      01002AAAH   LINE      ---      ---       #723
+      01002AACH   LINE      ---      ---       #724
+      01002AACH   LINE      ---      ---       #725
+      01002AB2H   LINE      ---      ---       #726
+      01002AB2H   LINE      ---      ---       #727
+      01002AB8H   LINE      ---      ---       #728
+      01002ABAH   LINE      ---      ---       #730
+      01002ABAH   LINE      ---      ---       #731
+      01002AC2H   LINE      ---      ---       #732
+      01002AC7H   LINE      ---      ---       #733
+      01002AC7H   LINE      ---      ---       #734
+      01002AC9H   LINE      ---      ---       #735
+      01002AC9H   LINE      ---      ---       #736
+      01002AD0H   LINE      ---      ---       #737
+      01002AD0H   LINE      ---      ---       #738
+      01002AD8H   LINE      ---      ---       #739
+      01002ADDH   LINE      ---      ---       #740
+      01002ADFH   LINE      ---      ---       #742
+      01002ADFH   LINE      ---      ---       #743
+      01002AE5H   LINE      ---      ---       #744
+      01002AE5H   LINE      ---      ---       #745
+      01002AE7H   LINE      ---      ---       #746
+      01002AE7H   LINE      ---      ---       #747
+      01002AEDH   LINE      ---      ---       #748
+      01002AEDH   LINE      ---      ---       #749
+      01002AF5H   LINE      ---      ---       #750
+      01002AF7H   LINE      ---      ---       #752
+      01002AF7H   LINE      ---      ---       #753
+      01002AFFH   LINE      ---      ---       #754
+      01002AFFH   LINE      ---      ---       #755
+      01002B03H   LINE      ---      ---       #756
+      01002B03H   LINE      ---      ---       #757
+      01002B09H   LINE      ---      ---       #758
+      01002B09H   LINE      ---      ---       #759
+      01002B0EH   LINE      ---      ---       #760
+      01002B10H   LINE      ---      ---       #761
+      01002B10H   LINE      ---      ---       #762
+      01002B16H   LINE      ---      ---       #763
+      01002B16H   LINE      ---      ---       #764
+      01002B1CH   LINE      ---      ---       #765
+      01002B1EH   LINE      ---      ---       #767
+      01002B1EH   LINE      ---      ---       #768
+      01002B26H   LINE      ---      ---       #769
+      01002B2BH   LINE      ---      ---       #770
+      01002B2BH   LINE      ---      ---       #771
+      01002B2DH   LINE      ---      ---       #772
+      01002B2DH   LINE      ---      ---       #773
+      01002B33H   LINE      ---      ---       #774
+      01002B35H   LINE      ---      ---       #775
+      01002B35H   LINE      ---      ---       #776
+      01002B3BH   LINE      ---      ---       #777
+      01002B3DH   LINE      ---      ---       #778
+      01002B3DH   LINE      ---      ---       #779
+      01002B43H   LINE      ---      ---       #780
+      01002B45H   LINE      ---      ---       #781
+      01002B45H   LINE      ---      ---       #782
+      01002B4BH   LINE      ---      ---       #783
+      01002B4DH   LINE      ---      ---       #784
+      01002B4DH   LINE      ---      ---       #785
+      01002B53H   LINE      ---      ---       #786
+      01002B55H   LINE      ---      ---       #787
+      01002B55H   LINE      ---      ---       #788
+      01002B5BH   LINE      ---      ---       #789
+      01002B5BH   LINE      ---      ---       #790
+      01002B5BH   LINE      ---      ---       #791
+      01002B5BH   LINE      ---      ---       #792
+      01002B5BH   LINE      ---      ---       #793
+      01002B5BH   LINE      ---      ---       #795
+      01002B60H   LINE      ---      ---       #796
       02004F03H   SYMBOL    XDATA    VOID      temp
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      0100201DH   BLOCK     CODE     ---       LVL=0
-      0100201DH   LINE      ---      ---       #804
-      01002028H   LINE      ---      ---       #805
-      01002028H   BLOCK     CODE     NEAR LAB  LVL=1
-      01002028H   LINE      ---      ---       #806
-      0100202BH   LINE      ---      ---       #808
-      01002038H   LINE      ---      ---       #809
-      01002038H   LINE      ---      ---       #810
-      01002063H   LINE      ---      ---       #812
-      01002063H   LINE      ---      ---       #814
-      0100206AH   LINE      ---      ---       #815
-      0100206AH   LINE      ---      ---       #816
-      01002071H   LINE      ---      ---       #817
-      01002073H   LINE      ---      ---       #819
-      01002077H   LINE      ---      ---       #820
-      01002077H   LINE      ---      ---       #821
-      0100207EH   LINE      ---      ---       #822
-      01002080H   LINE      ---      ---       #823
-      010020A0H   LINE      ---      ---       #824
-      010020A0H   LINE      ---      ---       #825
-      010020A5H   LINE      ---      ---       #826
-      010020A7H   LINE      ---      ---       #827
-      010020ABH   LINE      ---      ---       #828
-      010020ABH   LINE      ---      ---       #829
-      010020B2H   LINE      ---      ---       #830
-      010020B4H   LINE      ---      ---       #831
-      010020D4H   LINE      ---      ---       #832
-      010020D4H   LINE      ---      ---       #833
-      010020D9H   LINE      ---      ---       #834
-      010020DBH   LINE      ---      ---       #835
-      010020DFH   LINE      ---      ---       #836
-      010020DFH   LINE      ---      ---       #837
-      010020E6H   LINE      ---      ---       #838
-      010020E8H   LINE      ---      ---       #839
-      01002108H   LINE      ---      ---       #840
-      01002108H   LINE      ---      ---       #841
-      0100210DH   LINE      ---      ---       #842
-      0100210FH   LINE      ---      ---       #843
-      01002113H   LINE      ---      ---       #844
-      01002113H   LINE      ---      ---       #845
-      0100211AH   LINE      ---      ---       #846
-      0100211CH   LINE      ---      ---       #847
-      0100213CH   LINE      ---      ---       #848
-      0100213CH   LINE      ---      ---       #849
-      01002142H   LINE      ---      ---       #850
-      01002144H   LINE      ---      ---       #851
-      01002148H   LINE      ---      ---       #852
-      01002148H   LINE      ---      ---       #853
-      0100214FH   LINE      ---      ---       #854
-      01002151H   LINE      ---      ---       #855
-      01002171H   LINE      ---      ---       #856
-      01002171H   LINE      ---      ---       #857
-      01002177H   LINE      ---      ---       #858
-      01002179H   LINE      ---      ---       #859
-      0100217DH   LINE      ---      ---       #860
-      0100217DH   LINE      ---      ---       #861
-      01002184H   LINE      ---      ---       #862
-      01002186H   LINE      ---      ---       #863
-      010021A6H   LINE      ---      ---       #864
-      010021A6H   LINE      ---      ---       #865
-      010021ADH   LINE      ---      ---       #866
-      010021AFH   LINE      ---      ---       #867
-      010021B3H   LINE      ---      ---       #868
-      010021B3H   LINE      ---      ---       #869
-      010021BAH   LINE      ---      ---       #870
-      010021BCH   LINE      ---      ---       #871
-      010021DCH   LINE      ---      ---       #872
-      010021DCH   LINE      ---      ---       #873
-      010021E3H   LINE      ---      ---       #874
-      010021E5H   LINE      ---      ---       #875
-      010021E9H   LINE      ---      ---       #876
-      010021E9H   LINE      ---      ---       #877
-      010021F0H   LINE      ---      ---       #878
-      010021F2H   LINE      ---      ---       #879
-      01002212H   LINE      ---      ---       #880
-      01002212H   LINE      ---      ---       #881
-      01002219H   LINE      ---      ---       #882
-      0100221BH   LINE      ---      ---       #883
-      0100221FH   LINE      ---      ---       #884
-      0100221FH   LINE      ---      ---       #885
-      01002226H   LINE      ---      ---       #886
-      01002228H   LINE      ---      ---       #887
-      01002248H   LINE      ---      ---       #888
-      01002248H   LINE      ---      ---       #889
-      0100224DH   LINE      ---      ---       #890
-      0100224FH   LINE      ---      ---       #891
-      01002253H   LINE      ---      ---       #892
-      01002253H   LINE      ---      ---       #893
-      0100225AH   LINE      ---      ---       #894
-      0100225CH   LINE      ---      ---       #895
-      0100227CH   LINE      ---      ---       #896
-      0100227CH   LINE      ---      ---       #897
-      01002281H   LINE      ---      ---       #898
-      01002283H   LINE      ---      ---       #899
-      01002287H   LINE      ---      ---       #900
-      01002287H   LINE      ---      ---       #901
-      0100228EH   LINE      ---      ---       #902
-      01002290H   LINE      ---      ---       #903
-      010022B0H   LINE      ---      ---       #904
-      010022B0H   LINE      ---      ---       #905
-      010022B7H   LINE      ---      ---       #906
-      010022B9H   LINE      ---      ---       #907
-      010022BDH   LINE      ---      ---       #908
-      010022BDH   LINE      ---      ---       #909
-      010022C4H   LINE      ---      ---       #910
-      010022C6H   LINE      ---      ---       #911
-      010022E6H   LINE      ---      ---       #912
-      010022E6H   LINE      ---      ---       #913
-      010022EAH   LINE      ---      ---       #914
-      010022ECH   LINE      ---      ---       #915
-      010022F0H   LINE      ---      ---       #916
-      010022F0H   LINE      ---      ---       #917
-      010022F4H   LINE      ---      ---       #918
-      010022F6H   LINE      ---      ---       #919
-      010022FCH   LINE      ---      ---       #920
-      010022FCH   LINE      ---      ---       #921
-      01002300H   LINE      ---      ---       #922
-      01002300H   LINE      ---      ---       #924
-      01002307H   LINE      ---      ---       #925
-      01002307H   LINE      ---      ---       #926
-      01002327H   LINE      ---      ---       #927
-      0100232BH   LINE      ---      ---       #928
-      0100232BH   LINE      ---      ---       #929
-      0100232BH   LINE      ---      ---       #930
-      01002333H   LINE      ---      ---       #931
+      01002024H   BLOCK     CODE     ---       LVL=0
+      01002024H   LINE      ---      ---       #800
+      0100202FH   LINE      ---      ---       #801
+      0100202FH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100202FH   LINE      ---      ---       #802
+      01002032H   LINE      ---      ---       #804
+      0100203FH   LINE      ---      ---       #805
+      0100203FH   LINE      ---      ---       #806
+      0100206AH   LINE      ---      ---       #808
+      0100206AH   LINE      ---      ---       #810
+      01002071H   LINE      ---      ---       #811
+      01002071H   LINE      ---      ---       #812
+      01002078H   LINE      ---      ---       #813
+      0100207AH   LINE      ---      ---       #815
+      0100207EH   LINE      ---      ---       #816
+      0100207EH   LINE      ---      ---       #817
+      01002085H   LINE      ---      ---       #818
+      01002087H   LINE      ---      ---       #819
+      010020A7H   LINE      ---      ---       #820
+      010020A7H   LINE      ---      ---       #821
+      010020ACH   LINE      ---      ---       #822
+      010020AEH   LINE      ---      ---       #823
+      010020B2H   LINE      ---      ---       #824
+      010020B2H   LINE      ---      ---       #825
+      010020B9H   LINE      ---      ---       #826
+      010020BBH   LINE      ---      ---       #827
+      010020DBH   LINE      ---      ---       #828
+      010020DBH   LINE      ---      ---       #829
+      010020E0H   LINE      ---      ---       #830
+      010020E2H   LINE      ---      ---       #831
+      010020E6H   LINE      ---      ---       #832
+      010020E6H   LINE      ---      ---       #833
+      010020EDH   LINE      ---      ---       #834
+      010020EFH   LINE      ---      ---       #835
+      0100210FH   LINE      ---      ---       #836
+      0100210FH   LINE      ---      ---       #837
+      01002114H   LINE      ---      ---       #838
+      01002116H   LINE      ---      ---       #839
+      0100211AH   LINE      ---      ---       #840
+      0100211AH   LINE      ---      ---       #841
+      01002121H   LINE      ---      ---       #842
+      01002123H   LINE      ---      ---       #843
+      01002143H   LINE      ---      ---       #844
+      01002143H   LINE      ---      ---       #845
+      01002149H   LINE      ---      ---       #846
+      0100214BH   LINE      ---      ---       #847
+      0100214FH   LINE      ---      ---       #848
+      0100214FH   LINE      ---      ---       #849
+      01002156H   LINE      ---      ---       #850
+      01002158H   LINE      ---      ---       #851
+      01002178H   LINE      ---      ---       #852
+      01002178H   LINE      ---      ---       #853
+      0100217EH   LINE      ---      ---       #854
+      01002180H   LINE      ---      ---       #855
+      01002184H   LINE      ---      ---       #856
+      01002184H   LINE      ---      ---       #857
+      0100218BH   LINE      ---      ---       #858
+      0100218DH   LINE      ---      ---       #859
+      010021ADH   LINE      ---      ---       #860
+      010021ADH   LINE      ---      ---       #861
+      010021B4H   LINE      ---      ---       #862
+      010021B6H   LINE      ---      ---       #863
+      010021BAH   LINE      ---      ---       #864
+      010021BAH   LINE      ---      ---       #865
+      010021C1H   LINE      ---      ---       #866
+      010021C3H   LINE      ---      ---       #867
+      010021E3H   LINE      ---      ---       #868
+      010021E3H   LINE      ---      ---       #869
+      010021EAH   LINE      ---      ---       #870
+      010021ECH   LINE      ---      ---       #871
+      010021F0H   LINE      ---      ---       #872
+      010021F0H   LINE      ---      ---       #873
+      010021F7H   LINE      ---      ---       #874
+      010021F9H   LINE      ---      ---       #875
+      01002219H   LINE      ---      ---       #876
+      01002219H   LINE      ---      ---       #877
+      01002220H   LINE      ---      ---       #878
+      01002222H   LINE      ---      ---       #879
+      01002226H   LINE      ---      ---       #880
+      01002226H   LINE      ---      ---       #881
+      0100222DH   LINE      ---      ---       #882
+      0100222FH   LINE      ---      ---       #883
+      0100224FH   LINE      ---      ---       #884
+      0100224FH   LINE      ---      ---       #885
+      01002254H   LINE      ---      ---       #886
+      01002256H   LINE      ---      ---       #887
+      0100225AH   LINE      ---      ---       #888
+      0100225AH   LINE      ---      ---       #889
+      01002261H   LINE      ---      ---       #890
+      01002263H   LINE      ---      ---       #891
+      01002283H   LINE      ---      ---       #892
+      01002283H   LINE      ---      ---       #893
+      01002288H   LINE      ---      ---       #894
+      0100228AH   LINE      ---      ---       #895
+      0100228EH   LINE      ---      ---       #896
+      0100228EH   LINE      ---      ---       #897
+      01002295H   LINE      ---      ---       #898
+      01002297H   LINE      ---      ---       #899
+      010022B7H   LINE      ---      ---       #900
+      010022B7H   LINE      ---      ---       #901
+      010022BEH   LINE      ---      ---       #902
+      010022C0H   LINE      ---      ---       #903
+      010022C4H   LINE      ---      ---       #904
+      010022C4H   LINE      ---      ---       #905
+      010022CBH   LINE      ---      ---       #906
+      010022CDH   LINE      ---      ---       #907
+      010022EDH   LINE      ---      ---       #908
+      010022EDH   LINE      ---      ---       #909
+      010022F1H   LINE      ---      ---       #910
+      010022F3H   LINE      ---      ---       #911
+      010022F7H   LINE      ---      ---       #912
+      010022F7H   LINE      ---      ---       #913
+      010022FBH   LINE      ---      ---       #914
+      010022FDH   LINE      ---      ---       #915
+      01002303H   LINE      ---      ---       #916
+      01002303H   LINE      ---      ---       #917
+      01002307H   LINE      ---      ---       #918
+      01002307H   LINE      ---      ---       #920
+      0100230EH   LINE      ---      ---       #921
+      0100230EH   LINE      ---      ---       #922
+      0100232EH   LINE      ---      ---       #923
+      01002332H   LINE      ---      ---       #924
+      01002332H   LINE      ---      ---       #925
+      01002332H   LINE      ---      ---       #926
+      0100233AH   LINE      ---      ---       #927
       02004EDBH   SYMBOL    XDATA    VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
       ---         MODULE    ---      ---       KEYSCAN
       02004EA4H   PUBLIC    XDATA    ---       ksEvtPool
-      010023A5H   PUBLIC    CODE     ---       KS_GetCurrentEvt
-      01002618H   PUBLIC    CODE     ---       _array_is_empty
-      01002FDCH   PUBLIC    CODE     ---       KS_ScanMatrix
-      01002B5AH   PUBLIC    CODE     ---       KS_Unistall
-      01001F6FH   PUBLIC    CODE     ---       KS_Initialize
-
-      010025F2H   BLOCK     CODE     ---       LVL=0
-      010025F2H   LINE      ---      ---       #24
-      010025F2H   LINE      ---      ---       #25
-      010025F2H   BLOCK     CODE     NEAR LAB  LVL=1
-      010025F2H   LINE      ---      ---       #27
-      010025F7H   LINE      ---      ---       #28
-      010025FAH   LINE      ---      ---       #29
-      010025FDH   LINE      ---      ---       #30
-      010025FFH   LINE      ---      ---       #31
+      010023ACH   PUBLIC    CODE     ---       KS_GetCurrentEvt
+      0100261FH   PUBLIC    CODE     ---       _array_is_empty
+      01002FE3H   PUBLIC    CODE     ---       KS_ScanMatrix
+      01002B61H   PUBLIC    CODE     ---       KS_Unistall
+      01001FA6H   PUBLIC    CODE     ---       KS_Initialize
+
+      010025F9H   BLOCK     CODE     ---       LVL=0
+      010025F9H   LINE      ---      ---       #23
+      010025F9H   LINE      ---      ---       #24
+      010025F9H   BLOCK     CODE     NEAR LAB  LVL=1
+      010025F9H   LINE      ---      ---       #26
+      010025FEH   LINE      ---      ---       #27
+      01002601H   LINE      ---      ---       #28
+      01002604H   LINE      ---      ---       #29
+      01002606H   LINE      ---      ---       #30
       00000006H   SYMBOL    DATA     VOID      c
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01002692H   BLOCK     CODE     ---       LVL=0
-      01002692H   LINE      ---      ---       #35
-      01002692H   LINE      ---      ---       #36
-      01002692H   BLOCK     CODE     NEAR LAB  LVL=1
-      01002692H   LINE      ---      ---       #37
-      01002694H   LINE      ---      ---       #39
-      010026A0H   LINE      ---      ---       #40
-      010026A0H   LINE      ---      ---       #41
-      010026BAH   LINE      ---      ---       #43
-      010026BAH   LINE      ---      ---       #89
-      010026BCH   LINE      ---      ---       #90
-      010026BCH   LINE      ---      ---       #91
-      010026CBH   LINE      ---      ---       #92
-      010026CBH   LINE      ---      ---       #93
-      010026CEH   LINE      ---      ---       #94
-      010026CEH   LINE      ---      ---       #95
-      010026D5H   LINE      ---      ---       #96
-      010026E1H   LINE      ---      ---       #97
-      010026E2H   LINE      ---      ---       #98
-      010026E2H   LINE      ---      ---       #99
-      010026E7H   LINE      ---      ---       #100
+      01002699H   BLOCK     CODE     ---       LVL=0
+      01002699H   LINE      ---      ---       #34
+      01002699H   LINE      ---      ---       #35
+      01002699H   BLOCK     CODE     NEAR LAB  LVL=1
+      01002699H   LINE      ---      ---       #36
+      0100269BH   LINE      ---      ---       #38
+      010026A7H   LINE      ---      ---       #39
+      010026A7H   LINE      ---      ---       #40
+      010026C1H   LINE      ---      ---       #42
+      010026C1H   LINE      ---      ---       #88
+      010026C3H   LINE      ---      ---       #89
+      010026C3H   LINE      ---      ---       #90
+      010026D2H   LINE      ---      ---       #91
+      010026D2H   LINE      ---      ---       #92
+      010026D5H   LINE      ---      ---       #93
+      010026D5H   LINE      ---      ---       #94
+      010026DCH   LINE      ---      ---       #95
+      010026E8H   LINE      ---      ---       #96
+      010026E9H   LINE      ---      ---       #97
+      010026E9H   LINE      ---      ---       #98
+      010026EEH   LINE      ---      ---       #99
       00000006H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      010026E8H   BLOCK     CODE     ---       LVL=0
-      010026E8H   LINE      ---      ---       #102
-      010026E8H   LINE      ---      ---       #103
-      010026E8H   BLOCK     CODE     NEAR LAB  LVL=1
-      010026E8H   LINE      ---      ---       #104
-      010026EAH   LINE      ---      ---       #105
-      010026EBH   LINE      ---      ---       #107
-      010026F9H   LINE      ---      ---       #108
-      010026F9H   LINE      ---      ---       #109
-      01002700H   LINE      ---      ---       #110
-      01002700H   LINE      ---      ---       #111
-      01002703H   LINE      ---      ---       #112
-      01002703H   LINE      ---      ---       #113
-      01002705H   LINE      ---      ---       #115
-      0100270BH   LINE      ---      ---       #117
-      01002717H   LINE      ---      ---       #118
-      01002717H   LINE      ---      ---       #119
-      01002732H   LINE      ---      ---       #121
-      01002732H   LINE      ---      ---       #166
-      01002734H   LINE      ---      ---       #167
-      01002734H   LINE      ---      ---       #168
-      01002737H   LINE      ---      ---       #169
-      01002737H   LINE      ---      ---       #170
-      01002745H   LINE      ---      ---       #171
-      01002749H   LINE      ---      ---       #172
-      01002754H   LINE      ---      ---       #173
-      01002754H   LINE      ---      ---       #174
-      01002756H   LINE      ---      ---       #175
-      01002756H   LINE      ---      ---       #176
-      01002758H   LINE      ---      ---       #178
-      01002758H   LINE      ---      ---       #179
-      01002770H   LINE      ---      ---       #180
-      0100277DH   LINE      ---      ---       #181
-      0100277DH   LINE      ---      ---       #182
-      01002781H   LINE      ---      ---       #183
-      0100278CH   LINE      ---      ---       #184
-      0100278CH   LINE      ---      ---       #185
-      0100278CH   LINE      ---      ---       #186
-      01002791H   LINE      ---      ---       #187
+      010026EFH   BLOCK     CODE     ---       LVL=0
+      010026EFH   LINE      ---      ---       #101
+      010026EFH   LINE      ---      ---       #102
+      010026EFH   BLOCK     CODE     NEAR LAB  LVL=1
+      010026EFH   LINE      ---      ---       #103
+      010026F1H   LINE      ---      ---       #104
+      010026F2H   LINE      ---      ---       #106
+      01002700H   LINE      ---      ---       #107
+      01002700H   LINE      ---      ---       #108
+      01002707H   LINE      ---      ---       #109
+      01002707H   LINE      ---      ---       #110
+      0100270AH   LINE      ---      ---       #111
+      0100270AH   LINE      ---      ---       #112
+      0100270CH   LINE      ---      ---       #114
+      01002712H   LINE      ---      ---       #116
+      0100271EH   LINE      ---      ---       #117
+      0100271EH   LINE      ---      ---       #118
+      01002739H   LINE      ---      ---       #120
+      01002739H   LINE      ---      ---       #165
+      0100273BH   LINE      ---      ---       #166
+      0100273BH   LINE      ---      ---       #167
+      0100273EH   LINE      ---      ---       #168
+      0100273EH   LINE      ---      ---       #169
+      0100274CH   LINE      ---      ---       #170
+      01002750H   LINE      ---      ---       #171
+      0100275BH   LINE      ---      ---       #172
+      0100275BH   LINE      ---      ---       #173
+      0100275DH   LINE      ---      ---       #174
+      0100275DH   LINE      ---      ---       #175
+      0100275FH   LINE      ---      ---       #177
+      0100275FH   LINE      ---      ---       #178
+      01002777H   LINE      ---      ---       #179
+      01002784H   LINE      ---      ---       #180
+      01002784H   LINE      ---      ---       #181
+      01002788H   LINE      ---      ---       #182
+      01002793H   LINE      ---      ---       #183
+      01002793H   LINE      ---      ---       #184
+      01002793H   LINE      ---      ---       #185
+      01002798H   LINE      ---      ---       #186
       00000006H   SYMBOL    DATA     VOID      i
       00000005H   SYMBOL    DATA     VOID      found
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001F98H   BLOCK     CODE     ---       LVL=0
-      01001F98H   LINE      ---      ---       #189
-      01001F98H   LINE      ---      ---       #190
-      01001F98H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001F98H   LINE      ---      ---       #191
-      01001F9DH   LINE      ---      ---       #193
-      01001FA8H   LINE      ---      ---       #194
-      01001FACH   LINE      ---      ---       #195
-      01001FB4H   LINE      ---      ---       #196
+      01001FD0H   BLOCK     CODE     ---       LVL=0
+      01001FD0H   LINE      ---      ---       #188
+      01001FD0H   LINE      ---      ---       #189
+      01001FD0H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001FD0H   LINE      ---      ---       #190
+      01001FD5H   LINE      ---      ---       #192
+      01001FE0H   LINE      ---      ---       #193
+      01001FE5H   LINE      ---      ---       #194
+      01001FEDH   LINE      ---      ---       #195
       02004F04H   SYMBOL    XDATA    VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001F7AH   BLOCK     CODE     ---       LVL=0
-      01001F7AH   LINE      ---      ---       #198
-      01001F7AH   LINE      ---      ---       #199
-      01001F7AH   BLOCK     CODE     NEAR LAB  LVL=1
-      01001F7AH   LINE      ---      ---       #200
-      01001F7FH   LINE      ---      ---       #201
-      01001F8BH   LINE      ---      ---       #202
-      01001F8FH   LINE      ---      ---       #203
-      01001F97H   LINE      ---      ---       #204
+      01001FB1H   BLOCK     CODE     ---       LVL=0
+      01001FB1H   LINE      ---      ---       #197
+      01001FB1H   LINE      ---      ---       #198
+      01001FB1H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001FB1H   LINE      ---      ---       #199
+      01001FB6H   LINE      ---      ---       #200
+      01001FC2H   LINE      ---      ---       #201
+      01001FC7H   LINE      ---      ---       #202
+      01001FCFH   LINE      ---      ---       #203
       02004F05H   SYMBOL    XDATA    VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001F6FH   BLOCK     CODE     ---       LVL=0
-      01001F6FH   LINE      ---      ---       #206
-      01001F6FH   LINE      ---      ---       #207
-      01001F6FH   LINE      ---      ---       #208
-      01001F74H   LINE      ---      ---       #209
-      01001F76H   LINE      ---      ---       #210
-      01001F78H   LINE      ---      ---       #211
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01002B5AH   BLOCK     CODE     ---       LVL=0
-      01002B5AH   LINE      ---      ---       #215
-      01002B5AH   LINE      ---      ---       #216
-      01002B5AH   BLOCK     CODE     NEAR LAB  LVL=1
-      01002B5AH   LINE      ---      ---       #217
-      01002B5CH   LINE      ---      ---       #218
-      01002B60H   LINE      ---      ---       #219
-      01002B61H   LINE      ---      ---       #220
-      01002B62H   LINE      ---      ---       #221
-      01002B69H   LINE      ---      ---       #222
-      01002B72H   LINE      ---      ---       #223
-      01002B82H   LINE      ---      ---       #224
-      01002B95H   LINE      ---      ---       #225
-      01002BA2H   LINE      ---      ---       #226
-      01002BAFH   LINE      ---      ---       #227
-      01002BB2H   LINE      ---      ---       #229
-      01002BB5H   LINE      ---      ---       #231
-      01002BBDH   LINE      ---      ---       #233
-      01002BC3H   LINE      ---      ---       #234
-      01002BC3H   LINE      ---      ---       #235
-      01002BC7H   LINE      ---      ---       #236
-      01002BCBH   LINE      ---      ---       #237
-      01002BCFH   LINE      ---      ---       #238
-      01002BD3H   LINE      ---      ---       #239
-      01002BD7H   LINE      ---      ---       #240
-      01002BDBH   LINE      ---      ---       #241
-      01002BDFH   LINE      ---      ---       #242
-      01002BE3H   LINE      ---      ---       #243
-      01002BE3H   LINE      ---      ---       #245
-      01002BE3H   LINE      ---      ---       #246
-      01002BECH   LINE      ---      ---       #247
-      01002BF2H   LINE      ---      ---       #248
-      01002BF2H   LINE      ---      ---       #250
+      01001FA6H   BLOCK     CODE     ---       LVL=0
+      01001FA6H   LINE      ---      ---       #205
+      01001FA6H   LINE      ---      ---       #206
+      01001FA6H   LINE      ---      ---       #207
+      01001FABH   LINE      ---      ---       #208
+      01001FADH   LINE      ---      ---       #209
+      01001FAFH   LINE      ---      ---       #210
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01002B61H   BLOCK     CODE     ---       LVL=0
+      01002B61H   LINE      ---      ---       #214
+      01002B61H   LINE      ---      ---       #215
+      01002B61H   BLOCK     CODE     NEAR LAB  LVL=1
+      01002B61H   LINE      ---      ---       #216
+      01002B63H   LINE      ---      ---       #217
+      01002B67H   LINE      ---      ---       #218
+      01002B68H   LINE      ---      ---       #219
+      01002B69H   LINE      ---      ---       #220
+      01002B70H   LINE      ---      ---       #221
+      01002B79H   LINE      ---      ---       #222
+      01002B89H   LINE      ---      ---       #223
+      01002B9CH   LINE      ---      ---       #224
+      01002BA9H   LINE      ---      ---       #225
+      01002BB6H   LINE      ---      ---       #226
+      01002BB9H   LINE      ---      ---       #228
+      01002BBCH   LINE      ---      ---       #230
+      01002BC4H   LINE      ---      ---       #232
+      01002BCAH   LINE      ---      ---       #233
+      01002BCAH   LINE      ---      ---       #234
+      01002BCEH   LINE      ---      ---       #235
+      01002BD2H   LINE      ---      ---       #236
+      01002BD6H   LINE      ---      ---       #237
+      01002BDAH   LINE      ---      ---       #238
+      01002BDEH   LINE      ---      ---       #239
+      01002BE2H   LINE      ---      ---       #240
+      01002BE6H   LINE      ---      ---       #241
+      01002BEAH   LINE      ---      ---       #242
+      01002BEAH   LINE      ---      ---       #244
+      01002BEAH   LINE      ---      ---       #245
+      01002BF3H   LINE      ---      ---       #246
+      01002BF9H   LINE      ---      ---       #247
+      01002BF9H   LINE      ---      ---       #249
       00000007H   SYMBOL    DATA     VOID      i
       02004F06H   SYMBOL    XDATA    VOID      temp
       00000006H   SYMBOL    DATA     VOID      tgroup
@@ -1823,32 +1818,32 @@
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01002FDCH   BLOCK     CODE     ---       LVL=0
-      01002FDCH   LINE      ---      ---       #253
-      01002FDCH   LINE      ---      ---       #254
-      01002FDCH   BLOCK     CODE     NEAR LAB  LVL=1
-      01002FDCH   LINE      ---      ---       #255
-      01002FDEH   LINE      ---      ---       #256
-      01002FE2H   LINE      ---      ---       #257
-      01002FE3H   LINE      ---      ---       #258
-      01002FE4H   LINE      ---      ---       #259
-      01002FE6H   LINE      ---      ---       #260
-      01002FE8H   LINE      ---      ---       #261
-      01002FF2H   LINE      ---      ---       #262
-      01002FFBH   LINE      ---      ---       #263
-      0100300BH   LINE      ---      ---       #264
-      0100306BH   LINE      ---      ---       #265
-      0100306FH   LINE      ---      ---       #267
-      01003078H   LINE      ---      ---       #268
+      01002FE3H   BLOCK     CODE     ---       LVL=0
+      01002FE3H   LINE      ---      ---       #252
+      01002FE3H   LINE      ---      ---       #253
+      01002FE3H   BLOCK     CODE     NEAR LAB  LVL=1
+      01002FE3H   LINE      ---      ---       #254
+      01002FE5H   LINE      ---      ---       #255
+      01002FE9H   LINE      ---      ---       #256
+      01002FEAH   LINE      ---      ---       #257
+      01002FEBH   LINE      ---      ---       #258
+      01002FEDH   LINE      ---      ---       #259
+      01002FEFH   LINE      ---      ---       #260
+      01002FF6H   LINE      ---      ---       #261
+      01002FFFH   LINE      ---      ---       #262
+      0100300FH   LINE      ---      ---       #263
+      0100305CH   LINE      ---      ---       #264
+      0100305FH   LINE      ---      ---       #266
+      01003068H   LINE      ---      ---       #267
+      01003071H   LINE      ---      ---       #268
       01003081H   LINE      ---      ---       #269
-      01003091H   LINE      ---      ---       #270
-      010030F1H   LINE      ---      ---       #271
-      010030F4H   LINE      ---      ---       #273
-      010030FDH   LINE      ---      ---       #274
+      010030CEH   LINE      ---      ---       #270
+      010030D1H   LINE      ---      ---       #272
+      010030DAH   LINE      ---      ---       #273
+      010030F4H   LINE      ---      ---       #274
       01003117H   LINE      ---      ---       #275
-      0100313AH   LINE      ---      ---       #276
-      0100313AH   LINE      ---      ---       #277
-      0100313DH   LINE      ---      ---       #278
+      01003117H   LINE      ---      ---       #276
+      0100311AH   LINE      ---      ---       #277
       00000007H   SYMBOL    DATA     VOID      i
       02004EE7H   SYMBOL    XDATA    VOID      j
       00000006H   SYMBOL    DATA     VOID      tgroup
@@ -1858,119 +1853,119 @@
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01002618H   BLOCK     CODE     ---       LVL=0
-      01002618H   LINE      ---      ---       #280
-      01002623H   LINE      ---      ---       #281
-      01002623H   BLOCK     CODE     NEAR LAB  LVL=1
-      01002623H   LINE      ---      ---       #283
-      0100262AH   LINE      ---      ---       #284
-      0100262AH   LINE      ---      ---       #285
-      0100263FH   LINE      ---      ---       #286
-      01002642H   LINE      ---      ---       #287
-      01002645H   LINE      ---      ---       #288
-      01002647H   LINE      ---      ---       #289
+      0100261FH   BLOCK     CODE     ---       LVL=0
+      0100261FH   LINE      ---      ---       #279
+      0100262AH   LINE      ---      ---       #280
+      0100262AH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100262AH   LINE      ---      ---       #282
+      01002631H   LINE      ---      ---       #283
+      01002631H   LINE      ---      ---       #284
+      01002646H   LINE      ---      ---       #285
+      01002649H   LINE      ---      ---       #286
+      0100264CH   LINE      ---      ---       #287
+      0100264EH   LINE      ---      ---       #288
       00000007H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      010023A5H   BLOCK     CODE     ---       LVL=0
-      010023A5H   LINE      ---      ---       #292
-      010023A5H   LINE      ---      ---       #293
-      010023A5H   BLOCK     CODE     NEAR LAB  LVL=1
-      010023A5H   LINE      ---      ---       #295
-      010023AAH   LINE      ---      ---       #296
-      010023ACH   LINE      ---      ---       #297
-      010023AEH   LINE      ---      ---       #298
-      010023B0H   LINE      ---      ---       #299
-      010023B2H   LINE      ---      ---       #300
-      010023B4H   LINE      ---      ---       #301
-      010023B6H   LINE      ---      ---       #302
-      010023B8H   LINE      ---      ---       #303
-      010023BAH   LINE      ---      ---       #304
-      010023BCH   LINE      ---      ---       #305
-      010023BEH   LINE      ---      ---       #307
-      010023C1H   LINE      ---      ---       #309
-      010023EFH   LINE      ---      ---       #311
-      010023EFH   LINE      ---      ---       #312
-      010023F6H   LINE      ---      ---       #313
-      010023F8H   LINE      ---      ---       #315
-      010023F8H   LINE      ---      ---       #316
-      010023FFH   LINE      ---      ---       #317
-      01002404H   LINE      ---      ---       #318
-      01002404H   LINE      ---      ---       #320
-      01002416H   LINE      ---      ---       #321
-      01002416H   LINE      ---      ---       #322
-      01002425H   LINE      ---      ---       #323
-      0100242EH   LINE      ---      ---       #324
-      01002435H   LINE      ---      ---       #325
-      01002435H   LINE      ---      ---       #326
-      01002444H   LINE      ---      ---       #327
-      01002444H   LINE      ---      ---       #328
-      0100245FH   LINE      ---      ---       #329
-      0100245FH   LINE      ---      ---       #330
-      0100246FH   LINE      ---      ---       #331
-      0100246FH   LINE      ---      ---       #332
-      01002478H   LINE      ---      ---       #333
-      01002478H   LINE      ---      ---       #334
-      010024A7H   LINE      ---      ---       #335
-      010024A7H   LINE      ---      ---       #336
-      010024ADH   LINE      ---      ---       #337
-      010024AFH   LINE      ---      ---       #338
-      010024AFH   LINE      ---      ---       #339
-      010024AFH   LINE      ---      ---       #340
-      010024B7H   LINE      ---      ---       #341
-      010024B7H   LINE      ---      ---       #342
-      010024BFH   LINE      ---      ---       #343
-      010024BFH   LINE      ---      ---       #345
-      010024C6H   LINE      ---      ---       #346
-      010024C6H   LINE      ---      ---       #347
-      010024CEH   LINE      ---      ---       #348
-      010024CEH   LINE      ---      ---       #349
-      010024D6H   LINE      ---      ---       #350
-      010024DEH   LINE      ---      ---       #352
-      010024F0H   LINE      ---      ---       #353
-      010024F0H   LINE      ---      ---       #354
-      0100250CH   LINE      ---      ---       #355
-      0100251FH   LINE      ---      ---       #356
-      01002525H   LINE      ---      ---       #357
-      01002525H   LINE      ---      ---       #358
-      01002527H   LINE      ---      ---       #359
-      01002529H   LINE      ---      ---       #361
-      01002529H   LINE      ---      ---       #363
-      0100252FH   LINE      ---      ---       #364
-      01002536H   LINE      ---      ---       #365
-      0100254EH   LINE      ---      ---       #366
-      0100255DH   LINE      ---      ---       #367
-      0100255DH   LINE      ---      ---       #368
-      01002564H   LINE      ---      ---       #369
-      01002564H   LINE      ---      ---       #370
-      01002575H   LINE      ---      ---       #371
-      01002589H   LINE      ---      ---       #372
-      01002590H   LINE      ---      ---       #373
-      01002590H   LINE      ---      ---       #374
-      01002597H   LINE      ---      ---       #375
-      01002599H   LINE      ---      ---       #377
-      01002599H   LINE      ---      ---       #378
-      010025A0H   LINE      ---      ---       #379
-      010025A0H   LINE      ---      ---       #380
-      010025A0H   LINE      ---      ---       #381
-      010025A8H   LINE      ---      ---       #382
-      010025B0H   LINE      ---      ---       #383
-      010025B8H   LINE      ---      ---       #384
-      010025BEH   LINE      ---      ---       #385
-      010025BEH   LINE      ---      ---       #386
-      010025C6H   LINE      ---      ---       #388
-      010025D4H   LINE      ---      ---       #389
-      010025D4H   LINE      ---      ---       #390
-      010025D7H   LINE      ---      ---       #391
-      010025D7H   LINE      ---      ---       #394
-      010025E4H   LINE      ---      ---       #395
-      010025E4H   LINE      ---      ---       #396
-      010025EBH   LINE      ---      ---       #397
-      010025EBH   LINE      ---      ---       #399
-      010025EBH   LINE      ---      ---       #400
-      010025F1H   LINE      ---      ---       #401
-      010025F1H   LINE      ---      ---       #404
+      010023ACH   BLOCK     CODE     ---       LVL=0
+      010023ACH   LINE      ---      ---       #291
+      010023ACH   LINE      ---      ---       #292
+      010023ACH   BLOCK     CODE     NEAR LAB  LVL=1
+      010023ACH   LINE      ---      ---       #294
+      010023B1H   LINE      ---      ---       #295
+      010023B3H   LINE      ---      ---       #296
+      010023B5H   LINE      ---      ---       #297
+      010023B7H   LINE      ---      ---       #298
+      010023B9H   LINE      ---      ---       #299
+      010023BBH   LINE      ---      ---       #300
+      010023BDH   LINE      ---      ---       #301
+      010023BFH   LINE      ---      ---       #302
+      010023C1H   LINE      ---      ---       #303
+      010023C3H   LINE      ---      ---       #304
+      010023C5H   LINE      ---      ---       #306
+      010023C8H   LINE      ---      ---       #308
+      010023F6H   LINE      ---      ---       #310
+      010023F6H   LINE      ---      ---       #311
+      010023FDH   LINE      ---      ---       #312
+      010023FFH   LINE      ---      ---       #314
+      010023FFH   LINE      ---      ---       #315
+      01002406H   LINE      ---      ---       #316
+      0100240BH   LINE      ---      ---       #317
+      0100240BH   LINE      ---      ---       #319
+      0100241DH   LINE      ---      ---       #320
+      0100241DH   LINE      ---      ---       #321
+      0100242CH   LINE      ---      ---       #322
+      01002435H   LINE      ---      ---       #323
+      0100243CH   LINE      ---      ---       #324
+      0100243CH   LINE      ---      ---       #325
+      0100244BH   LINE      ---      ---       #326
+      0100244BH   LINE      ---      ---       #327
+      01002466H   LINE      ---      ---       #328
+      01002466H   LINE      ---      ---       #329
+      01002476H   LINE      ---      ---       #330
+      01002476H   LINE      ---      ---       #331
+      0100247FH   LINE      ---      ---       #332
+      0100247FH   LINE      ---      ---       #333
+      010024AEH   LINE      ---      ---       #334
+      010024AEH   LINE      ---      ---       #335
+      010024B4H   LINE      ---      ---       #336
+      010024B6H   LINE      ---      ---       #337
+      010024B6H   LINE      ---      ---       #338
+      010024B6H   LINE      ---      ---       #339
+      010024BEH   LINE      ---      ---       #340
+      010024BEH   LINE      ---      ---       #341
+      010024C6H   LINE      ---      ---       #342
+      010024C6H   LINE      ---      ---       #344
+      010024CDH   LINE      ---      ---       #345
+      010024CDH   LINE      ---      ---       #346
+      010024D5H   LINE      ---      ---       #347
+      010024D5H   LINE      ---      ---       #348
+      010024DDH   LINE      ---      ---       #349
+      010024E5H   LINE      ---      ---       #351
+      010024F7H   LINE      ---      ---       #352
+      010024F7H   LINE      ---      ---       #353
+      01002513H   LINE      ---      ---       #354
+      01002526H   LINE      ---      ---       #355
+      0100252CH   LINE      ---      ---       #356
+      0100252CH   LINE      ---      ---       #357
+      0100252EH   LINE      ---      ---       #358
+      01002530H   LINE      ---      ---       #360
+      01002530H   LINE      ---      ---       #362
+      01002536H   LINE      ---      ---       #363
+      0100253DH   LINE      ---      ---       #364
+      01002555H   LINE      ---      ---       #365
+      01002564H   LINE      ---      ---       #366
+      01002564H   LINE      ---      ---       #367
+      0100256BH   LINE      ---      ---       #368
+      0100256BH   LINE      ---      ---       #369
+      0100257CH   LINE      ---      ---       #370
+      01002590H   LINE      ---      ---       #371
+      01002597H   LINE      ---      ---       #372
+      01002597H   LINE      ---      ---       #373
+      0100259EH   LINE      ---      ---       #374
+      010025A0H   LINE      ---      ---       #376
+      010025A0H   LINE      ---      ---       #377
+      010025A7H   LINE      ---      ---       #378
+      010025A7H   LINE      ---      ---       #379
+      010025A7H   LINE      ---      ---       #380
+      010025AFH   LINE      ---      ---       #381
+      010025B7H   LINE      ---      ---       #382
+      010025BFH   LINE      ---      ---       #383
+      010025C5H   LINE      ---      ---       #384
+      010025C5H   LINE      ---      ---       #385
+      010025CDH   LINE      ---      ---       #387
+      010025DBH   LINE      ---      ---       #388
+      010025DBH   LINE      ---      ---       #389
+      010025DEH   LINE      ---      ---       #390
+      010025DEH   LINE      ---      ---       #393
+      010025EBH   LINE      ---      ---       #394
+      010025EBH   LINE      ---      ---       #395
+      010025F2H   LINE      ---      ---       #396
+      010025F2H   LINE      ---      ---       #398
+      010025F2H   LINE      ---      ---       #399
+      010025F8H   LINE      ---      ---       #400
+      010025F8H   LINE      ---      ---       #403
       02004E88H   SYMBOL    XDATA    VOID      i
       02004E89H   SYMBOL    XDATA    VOID      j
       02004E8AH   SYMBOL    XDATA    VOID      k
@@ -1986,140 +1981,140 @@
       ---         BLOCKEND  CODE     ---       LVL=0
 
       ---         MODULE    ---      ---       LED
-      0100136DH   PUBLIC    CODE     ---       LED_handle
-      0100177EH   PUBLIC    CODE     ---       LED_device_poweroff
-      01001745H   PUBLIC    CODE     ---       LED_device_poweron
-      010017B7H   PUBLIC    CODE     ---       LED_all_shutdown
-
-      010017B7H   BLOCK     CODE     ---       LVL=0
-      010017B7H   LINE      ---      ---       #4
-      010017B7H   LINE      ---      ---       #5
-      010017B7H   LINE      ---      ---       #6
-      010017BDH   LINE      ---      ---       #7
-      010017C3H   LINE      ---      ---       #8
-      010017C9H   LINE      ---      ---       #9
-      010017CFH   LINE      ---      ---       #10
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001745H   BLOCK     CODE     ---       LVL=0
-      01001745H   LINE      ---      ---       #15
-      01001745H   LINE      ---      ---       #16
-      01001745H   LINE      ---      ---       #17
-      0100174CH   LINE      ---      ---       #18
-      01001752H   LINE      ---      ---       #19
-      01001759H   LINE      ---      ---       #20
-      0100175FH   LINE      ---      ---       #21
-      01001766H   LINE      ---      ---       #22
-      01001766H   LINE      ---      ---       #23
-      0100176CH   LINE      ---      ---       #24
-      01001772H   LINE      ---      ---       #25
-      01001772H   LINE      ---      ---       #27
-      01001772H   LINE      ---      ---       #28
-      01001778H   LINE      ---      ---       #29
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      0100177EH   BLOCK     CODE     ---       LVL=0
-      0100177EH   LINE      ---      ---       #33
-      0100177EH   LINE      ---      ---       #34
-      0100177EH   LINE      ---      ---       #35
-      01001785H   LINE      ---      ---       #36
-      0100178BH   LINE      ---      ---       #37
-      01001792H   LINE      ---      ---       #38
-      01001798H   LINE      ---      ---       #39
-      0100179FH   LINE      ---      ---       #40
-      0100179FH   LINE      ---      ---       #41
-      010017A5H   LINE      ---      ---       #42
-      010017ABH   LINE      ---      ---       #43
-      010017ABH   LINE      ---      ---       #45
-      010017ABH   LINE      ---      ---       #46
-      010017B1H   LINE      ---      ---       #47
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      0100136DH   BLOCK     CODE     ---       LVL=0
-      0100136DH   LINE      ---      ---       #52
-      0100136DH   LINE      ---      ---       #53
-      0100136DH   LINE      ---      ---       #54
-      01001377H   LINE      ---      ---       #57
-      01001387H   LINE      ---      ---       #58
-      01001387H   LINE      ---      ---       #60
-      0100138EH   LINE      ---      ---       #61
-      0100138EH   LINE      ---      ---       #62
-      01001391H   LINE      ---      ---       #63
-      01001393H   LINE      ---      ---       #64
-      0100139AH   LINE      ---      ---       #65
-      0100139AH   LINE      ---      ---       #66
-      010013A0H   LINE      ---      ---       #67
-      010013A0H   LINE      ---      ---       #68
-      010013A6H   LINE      ---      ---       #69
-      010013ACH   LINE      ---      ---       #70
-      010013ACH   LINE      ---      ---       #71
-      010013AEH   LINE      ---      ---       #73
-      010013AEH   LINE      ---      ---       #74
-      010013B5H   LINE      ---      ---       #75
-      010013B5H   LINE      ---      ---       #76
-      010013B7H   LINE      ---      ---       #77
-      010013BBH   LINE      ---      ---       #78
-      010013C1H   LINE      ---      ---       #79
-      010013C1H   LINE      ---      ---       #80
-      010013C1H   LINE      ---      ---       #83
-      010013C9H   LINE      ---      ---       #84
-      010013C9H   LINE      ---      ---       #85
-      010013D7H   LINE      ---      ---       #86
-      010013D7H   LINE      ---      ---       #87
-      010013DBH   LINE      ---      ---       #88
-      010013DBH   LINE      ---      ---       #89
-      010013E1H   LINE      ---      ---       #90
-      010013E7H   LINE      ---      ---       #91
-      010013E9H   LINE      ---      ---       #93
-      010013E9H   LINE      ---      ---       #94
-      010013EFH   LINE      ---      ---       #95
-      010013F4H   LINE      ---      ---       #96
-      010013F4H   LINE      ---      ---       #98
-      010013FBH   LINE      ---      ---       #99
-      010013FBH   LINE      ---      ---       #100
-      01001401H   LINE      ---      ---       #101
-      01001407H   LINE      ---      ---       #102
-      01001409H   LINE      ---      ---       #104
-      01001409H   LINE      ---      ---       #105
-      0100140FH   LINE      ---      ---       #106
-      01001414H   LINE      ---      ---       #107
-      01001414H   LINE      ---      ---       #110
-      0100141BH   LINE      ---      ---       #111
-      0100141BH   LINE      ---      ---       #112
-      01001421H   LINE      ---      ---       #113
-      0100142DH   LINE      ---      ---       #114
-      01001433H   LINE      ---      ---       #115
-      01001435H   LINE      ---      ---       #117
-      01001435H   LINE      ---      ---       #118
-      01001441H   LINE      ---      ---       #119
-      01001447H   LINE      ---      ---       #120
-      0100144CH   LINE      ---      ---       #121
-      0100144CH   LINE      ---      ---       #122
-      01001451H   LINE      ---      ---       #123
-      01001459H   LINE      ---      ---       #124
-      01001459H   LINE      ---      ---       #125
-      0100145AH   LINE      ---      ---       #127
-      0100145AH   LINE      ---      ---       #128
-      01001460H   LINE      ---      ---       #129
-      01001466H   LINE      ---      ---       #130
-      01001466H   LINE      ---      ---       #131
-      01001466H   LINE      ---      ---       #133
-      01001466H   LINE      ---      ---       #134
-      0100146CH   LINE      ---      ---       #136
-      0100146CH   LINE      ---      ---       #138
+      01001342H   PUBLIC    CODE     ---       LED_handle
+      01001760H   PUBLIC    CODE     ---       LED_device_poweroff
+      01001727H   PUBLIC    CODE     ---       LED_device_poweron
+      01001799H   PUBLIC    CODE     ---       LED_all_shutdown
+
+      01001799H   BLOCK     CODE     ---       LVL=0
+      01001799H   LINE      ---      ---       #4
+      01001799H   LINE      ---      ---       #5
+      01001799H   LINE      ---      ---       #6
+      0100179FH   LINE      ---      ---       #7
+      010017A5H   LINE      ---      ---       #8
+      010017ABH   LINE      ---      ---       #9
+      010017B1H   LINE      ---      ---       #10
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001727H   BLOCK     CODE     ---       LVL=0
+      01001727H   LINE      ---      ---       #15
+      01001727H   LINE      ---      ---       #16
+      01001727H   LINE      ---      ---       #17
+      0100172EH   LINE      ---      ---       #18
+      01001734H   LINE      ---      ---       #19
+      0100173BH   LINE      ---      ---       #20
+      01001741H   LINE      ---      ---       #21
+      01001748H   LINE      ---      ---       #22
+      01001748H   LINE      ---      ---       #23
+      0100174EH   LINE      ---      ---       #24
+      01001754H   LINE      ---      ---       #25
+      01001754H   LINE      ---      ---       #27
+      01001754H   LINE      ---      ---       #28
+      0100175AH   LINE      ---      ---       #29
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001760H   BLOCK     CODE     ---       LVL=0
+      01001760H   LINE      ---      ---       #33
+      01001760H   LINE      ---      ---       #34
+      01001760H   LINE      ---      ---       #35
+      01001767H   LINE      ---      ---       #36
+      0100176DH   LINE      ---      ---       #37
+      01001774H   LINE      ---      ---       #38
+      0100177AH   LINE      ---      ---       #39
+      01001781H   LINE      ---      ---       #40
+      01001781H   LINE      ---      ---       #41
+      01001787H   LINE      ---      ---       #42
+      0100178DH   LINE      ---      ---       #43
+      0100178DH   LINE      ---      ---       #45
+      0100178DH   LINE      ---      ---       #46
+      01001793H   LINE      ---      ---       #47
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001342H   BLOCK     CODE     ---       LVL=0
+      01001342H   LINE      ---      ---       #52
+      01001342H   LINE      ---      ---       #53
+      01001342H   LINE      ---      ---       #54
+      0100134CH   LINE      ---      ---       #57
+      0100135CH   LINE      ---      ---       #58
+      0100135CH   LINE      ---      ---       #60
+      01001363H   LINE      ---      ---       #61
+      01001363H   LINE      ---      ---       #62
+      01001366H   LINE      ---      ---       #63
+      01001368H   LINE      ---      ---       #64
+      0100136FH   LINE      ---      ---       #65
+      0100136FH   LINE      ---      ---       #66
+      01001375H   LINE      ---      ---       #67
+      01001375H   LINE      ---      ---       #68
+      0100137BH   LINE      ---      ---       #69
+      01001381H   LINE      ---      ---       #70
+      01001381H   LINE      ---      ---       #71
+      01001383H   LINE      ---      ---       #73
+      01001383H   LINE      ---      ---       #74
+      0100138AH   LINE      ---      ---       #75
+      0100138AH   LINE      ---      ---       #76
+      0100138CH   LINE      ---      ---       #77
+      01001390H   LINE      ---      ---       #78
+      01001396H   LINE      ---      ---       #79
+      01001396H   LINE      ---      ---       #80
+      01001396H   LINE      ---      ---       #83
+      0100139EH   LINE      ---      ---       #84
+      0100139EH   LINE      ---      ---       #85
+      010013ACH   LINE      ---      ---       #86
+      010013ACH   LINE      ---      ---       #87
+      010013B0H   LINE      ---      ---       #88
+      010013B0H   LINE      ---      ---       #89
+      010013B6H   LINE      ---      ---       #90
+      010013BCH   LINE      ---      ---       #91
+      010013BEH   LINE      ---      ---       #93
+      010013BEH   LINE      ---      ---       #94
+      010013C4H   LINE      ---      ---       #95
+      010013C9H   LINE      ---      ---       #96
+      010013C9H   LINE      ---      ---       #98
+      010013D0H   LINE      ---      ---       #99
+      010013D0H   LINE      ---      ---       #100
+      010013D6H   LINE      ---      ---       #101
+      010013DCH   LINE      ---      ---       #102
+      010013DEH   LINE      ---      ---       #104
+      010013DEH   LINE      ---      ---       #105
+      010013E4H   LINE      ---      ---       #106
+      010013E9H   LINE      ---      ---       #107
+      010013E9H   LINE      ---      ---       #110
+      010013F0H   LINE      ---      ---       #111
+      010013F0H   LINE      ---      ---       #112
+      010013F6H   LINE      ---      ---       #113
+      01001402H   LINE      ---      ---       #114
+      01001408H   LINE      ---      ---       #115
+      0100140AH   LINE      ---      ---       #117
+      0100140AH   LINE      ---      ---       #118
+      01001416H   LINE      ---      ---       #119
+      0100141CH   LINE      ---      ---       #120
+      01001421H   LINE      ---      ---       #121
+      01001421H   LINE      ---      ---       #122
+      01001426H   LINE      ---      ---       #123
+      0100142EH   LINE      ---      ---       #124
+      0100142EH   LINE      ---      ---       #125
+      0100142FH   LINE      ---      ---       #127
+      0100142FH   LINE      ---      ---       #128
+      01001435H   LINE      ---      ---       #129
+      0100143BH   LINE      ---      ---       #130
+      0100143BH   LINE      ---      ---       #131
+      0100143BH   LINE      ---      ---       #133
+      0100143BH   LINE      ---      ---       #134
+      01001441H   LINE      ---      ---       #136
+      01001441H   LINE      ---      ---       #138
       ---         BLOCKEND  ---      ---       LVL=0
 
       ---         MODULE    ---      ---       SYS
-      01002C92H   PUBLIC    CODE     ---       YC_System_Main
-      0100190FH   PUBLIC    CODE     ---       kb_button_press_timer500ms
-      010018B5H   PUBLIC    CODE     ---       YC_pairing_timerout_500ms
-      0100185CH   PUBLIC    CODE     ---       YC_wait_disconnect_timer500ms
+      01002C99H   PUBLIC    CODE     ---       YC_System_Main
+      01001963H   PUBLIC    CODE     ---       kb_button_press_timer500ms
+      01001909H   PUBLIC    CODE     ---       YC_pairing_timerout_500ms
+      010018B0H   PUBLIC    CODE     ---       YC_wait_disconnect_timer500ms
       01000DD0H   PUBLIC    CODE     ---       YC_connect_timeout_500ms
-      0100127AH   PUBLIC    CODE     ---       LED_timer500ms
-      01001AE1H   PUBLIC    CODE     ---       System_Reset_Connect
-      01002FADH   PUBLIC    CODE     ---       System_G24_long_lpm
+      0100124FH   PUBLIC    CODE     ---       LED_timer500ms
+      01001B35H   PUBLIC    CODE     ---       System_Reset_Connect
+      01002FB4H   PUBLIC    CODE     ---       System_G24_long_lpm
       01000FB2H   PUBLIC    CODE     ---       System_long_sleep
-      01003151H   PUBLIC    CODE     ---       System_Software_init
+      0100312EH   PUBLIC    CODE     ---       System_Software_init
 
       01000B97H   BLOCK     CODE     ---       LVL=0
       01000B97H   LINE      ---      ---       #11
@@ -2152,46 +2147,46 @@
       01000C2FH   LINE      ---      ---       #41
       ---         BLOCKEND  ---      ---       LVL=0
 
-      0100313EH   BLOCK     CODE     ---       LVL=0
-      0100313EH   LINE      ---      ---       #43
-      0100313EH   LINE      ---      ---       #44
-      0100313EH   LINE      ---      ---       #45
-      01003144H   LINE      ---      ---       #46
-      01003147H   LINE      ---      ---       #47
-      01003149H   LINE      ---      ---       #48
-      0100314BH   LINE      ---      ---       #49
-      0100314DH   LINE      ---      ---       #50
-      01003150H   LINE      ---      ---       #51
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010017EFH   BLOCK     CODE     ---       LVL=0
-      010017EFH   LINE      ---      ---       #53
-      010017EFH   LINE      ---      ---       #54
-      010017EFH   LINE      ---      ---       #55
-      010017F2H   LINE      ---      ---       #56
-      010017F5H   LINE      ---      ---       #57
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01003151H   BLOCK     CODE     ---       LVL=0
-      01003151H   LINE      ---      ---       #61
-      01003151H   LINE      ---      ---       #62
-      01003151H   LINE      ---      ---       #63
-      01003154H   LINE      ---      ---       #64
-      01003156H   LINE      ---      ---       #65
-      0100315CH   LINE      ---      ---       #66
-      01003162H   LINE      ---      ---       #67
-      01003167H   LINE      ---      ---       #68
-      0100316DH   LINE      ---      ---       #69
-      01003175H   LINE      ---      ---       #70
-      0100317DH   LINE      ---      ---       #71
-      01003185H   LINE      ---      ---       #72
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001AE1H   BLOCK     CODE     ---       LVL=0
-      01001AE1H   LINE      ---      ---       #74
-      01001AE1H   LINE      ---      ---       #75
-      01001AE1H   LINE      ---      ---       #76
-      01001AE7H   LINE      ---      ---       #77
+      0100311BH   BLOCK     CODE     ---       LVL=0
+      0100311BH   LINE      ---      ---       #43
+      0100311BH   LINE      ---      ---       #44
+      0100311BH   LINE      ---      ---       #45
+      01003121H   LINE      ---      ---       #46
+      01003124H   LINE      ---      ---       #47
+      01003126H   LINE      ---      ---       #48
+      01003128H   LINE      ---      ---       #49
+      0100312AH   LINE      ---      ---       #50
+      0100312DH   LINE      ---      ---       #51
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010017E2H   BLOCK     CODE     ---       LVL=0
+      010017E2H   LINE      ---      ---       #53
+      010017E2H   LINE      ---      ---       #54
+      010017E2H   LINE      ---      ---       #55
+      010017E5H   LINE      ---      ---       #56
+      010017E8H   LINE      ---      ---       #57
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100312EH   BLOCK     CODE     ---       LVL=0
+      0100312EH   LINE      ---      ---       #61
+      0100312EH   LINE      ---      ---       #62
+      0100312EH   LINE      ---      ---       #63
+      01003131H   LINE      ---      ---       #64
+      01003133H   LINE      ---      ---       #65
+      01003139H   LINE      ---      ---       #66
+      0100313FH   LINE      ---      ---       #67
+      01003144H   LINE      ---      ---       #68
+      0100314AH   LINE      ---      ---       #69
+      01003152H   LINE      ---      ---       #70
+      0100315AH   LINE      ---      ---       #71
+      01003162H   LINE      ---      ---       #72
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001B35H   BLOCK     CODE     ---       LVL=0
+      01001B35H   LINE      ---      ---       #74
+      01001B35H   LINE      ---      ---       #75
+      01001B35H   LINE      ---      ---       #76
+      01001B3BH   LINE      ---      ---       #77
       ---         BLOCKEND  ---      ---       LVL=0
 
       01000FB2H   BLOCK     CODE     ---       LVL=0
@@ -2201,749 +2196,746 @@
       01000FB7H   LINE      ---      ---       #83
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01002FADH   BLOCK     CODE     ---       LVL=0
-      01002FADH   LINE      ---      ---       #86
-      01002FADH   LINE      ---      ---       #87
-      01002FADH   LINE      ---      ---       #88
-      01002FB0H   LINE      ---      ---       #89
-      01002FB6H   LINE      ---      ---       #90
-      01002FBCH   LINE      ---      ---       #92
-      01002FC1H   LINE      ---      ---       #93
-      01002FC3H   LINE      ---      ---       #94
-      01002FC5H   LINE      ---      ---       #95
-      01002FCBH   LINE      ---      ---       #96
-      01002FCFH   LINE      ---      ---       #98
-      01002FD5H   LINE      ---      ---       #99
-      01002FD7H   LINE      ---      ---       #100
-      01002FD9H   LINE      ---      ---       #101
-      01002FDBH   LINE      ---      ---       #102
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001AE1H   BLOCK     CODE     ---       LVL=0
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01003298H   BLOCK     CODE     ---       LVL=0
-      01003298H   LINE      ---      ---       #114
-      0100329DH   BLOCK     CODE     NEAR LAB  LVL=1
-      0100329DH   LINE      ---      ---       #116
-      010032A7H   LINE      ---      ---       #118
-      010032A7H   LINE      ---      ---       #120
-      010032A7H   LINE      ---      ---       #121
+      01002FB4H   BLOCK     CODE     ---       LVL=0
+      01002FB4H   LINE      ---      ---       #86
+      01002FB4H   LINE      ---      ---       #87
+      01002FB4H   LINE      ---      ---       #88
+      01002FB7H   LINE      ---      ---       #89
+      01002FBDH   LINE      ---      ---       #90
+      01002FC3H   LINE      ---      ---       #92
+      01002FC8H   LINE      ---      ---       #93
+      01002FCAH   LINE      ---      ---       #94
+      01002FCCH   LINE      ---      ---       #95
+      01002FD2H   LINE      ---      ---       #96
+      01002FD6H   LINE      ---      ---       #98
+      01002FDCH   LINE      ---      ---       #99
+      01002FDEH   LINE      ---      ---       #100
+      01002FE0H   LINE      ---      ---       #101
+      01002FE2H   LINE      ---      ---       #102
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001B35H   BLOCK     CODE     ---       LVL=0
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01003275H   BLOCK     CODE     ---       LVL=0
+      01003275H   LINE      ---      ---       #114
+      0100327AH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100327AH   LINE      ---      ---       #116
+      01003284H   LINE      ---      ---       #118
+      01003284H   LINE      ---      ---       #120
+      01003284H   LINE      ---      ---       #121
       02004EFCH   SYMBOL    XDATA    VOID      temp
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001CA8H   BLOCK     CODE     ---       LVL=0
-      01001CA8H   LINE      ---      ---       #123
-      01001CADH   LINE      ---      ---       #124
-      01001CADH   LINE      ---      ---       #125
-      01001CDEH   LINE      ---      ---       #126
-      01001CDEH   LINE      ---      ---       #127
-      01001CDEH   LINE      ---      ---       #128
-      01001CDEH   LINE      ---      ---       #129
-      01001CE1H   LINE      ---      ---       #130
-      01001CE4H   LINE      ---      ---       #131
-      01001CF5H   LINE      ---      ---       #132
-      01001CFEH   LINE      ---      ---       #133
-      01001D00H   LINE      ---      ---       #134
-      01001D08H   LINE      ---      ---       #135
-      01001D0BH   LINE      ---      ---       #136
-      01001D10H   LINE      ---      ---       #137
-      01001D21H   LINE      ---      ---       #138
-      01001D2DH   LINE      ---      ---       #139
-      01001D2DH   LINE      ---      ---       #140
-      01001D37H   LINE      ---      ---       #141
-      01001D41H   LINE      ---      ---       #142
-      01001D41H   LINE      ---      ---       #143
-      01001D44H   LINE      ---      ---       #144
-      01001D44H   LINE      ---      ---       #145
-      01001D44H   LINE      ---      ---       #146
-      01001D47H   LINE      ---      ---       #147
-      01001D49H   LINE      ---      ---       #148
-      01001D4EH   LINE      ---      ---       #149
-      01001D4FH   LINE      ---      ---       #152
-      01001D4FH   LINE      ---      ---       #153
-      01001D4FH   LINE      ---      ---       #154
-      01001D61H   LINE      ---      ---       #155
-      01001D61H   LINE      ---      ---       #156
-      01001D77H   LINE      ---      ---       #157
-      01001D7CH   LINE      ---      ---       #158
-      01001D83H   LINE      ---      ---       #159
-      01001D94H   LINE      ---      ---       #160
-      01001D9BH   LINE      ---      ---       #161
-      01001D9BH   LINE      ---      ---       #162
-      01001D9BH   LINE      ---      ---       #163
-      01001D9BH   LINE      ---      ---       #164
-      01001DA3H   LINE      ---      ---       #165
-      01001DA3H   LINE      ---      ---       #168
-      01001DA3H   LINE      ---      ---       #169
-      01001DA3H   LINE      ---      ---       #170
-      01001DA9H   LINE      ---      ---       #171
-      01001DACH   LINE      ---      ---       #172
-      01001DAFH   LINE      ---      ---       #173
-      01001DB4H   LINE      ---      ---       #174
-      01001DB8H   LINE      ---      ---       #175
-      01001DBEH   LINE      ---      ---       #176
-      01001DC2H   LINE      ---      ---       #177
-      01001DC8H   LINE      ---      ---       #178
-      01001DCEH   LINE      ---      ---       #180
-      01001DD6H   LINE      ---      ---       #181
-      01001DD6H   LINE      ---      ---       #182
-      01001DDAH   LINE      ---      ---       #183
-      01001DDEH   LINE      ---      ---       #184
-      01001DE2H   LINE      ---      ---       #185
-      01001DE8H   LINE      ---      ---       #186
-      01001E01H   LINE      ---      ---       #188
-      01001E01H   LINE      ---      ---       #189
-      01001E07H   LINE      ---      ---       #190
-      01001E0AH   LINE      ---      ---       #191
-      01001E0CH   LINE      ---      ---       #192
-      01001E0CH   LINE      ---      ---       #193
-      01001E0CH   LINE      ---      ---       #195
-      01001E0CH   LINE      ---      ---       #196
-      01001E14H   LINE      ---      ---       #198
-      01001E14H   LINE      ---      ---       #199
-      01001E15H   LINE      ---      ---       #201
-      01001E15H   LINE      ---      ---       #202
-      01001E1AH   LINE      ---      ---       #203
-      01001E1CH   LINE      ---      ---       #204
-      01001E22H   LINE      ---      ---       #205
-      01001E27H   LINE      ---      ---       #207
-      01001E2DH   LINE      ---      ---       #208
-      01001E2DH   LINE      ---      ---       #209
-      01001E30H   LINE      ---      ---       #210
-      01001E38H   LINE      ---      ---       #211
-      01001E38H   LINE      ---      ---       #212
-      01001E38H   LINE      ---      ---       #214
-      01001E3FH   LINE      ---      ---       #215
-      01001E3FH   LINE      ---      ---       #216
-      01001E41H   LINE      ---      ---       #217
-      01001E44H   LINE      ---      ---       #218
-      01001E44H   LINE      ---      ---       #219
-      01001E44H   LINE      ---      ---       #220
-      01001E4CH   LINE      ---      ---       #221
-      01001E4CH   LINE      ---      ---       #222
-      01001E54H   LINE      ---      ---       #223
-      01001E54H   LINE      ---      ---       #224
-      01001E54H   LINE      ---      ---       #229
-      01001E54H   LINE      ---      ---       #230
-      01001E5AH   LINE      ---      ---       #231
-      01001E5EH   LINE      ---      ---       #232
-      01001E61H   LINE      ---      ---       #233
-      01001E63H   LINE      ---      ---       #234
-      01001E68H   LINE      ---      ---       #235
-      01001E6DH   LINE      ---      ---       #236
-      01001E73H   LINE      ---      ---       #237
-      01001E73H   LINE      ---      ---       #238
-      01001E78H   LINE      ---      ---       #239
-      01001E7CH   LINE      ---      ---       #240
-      01001E8FH   LINE      ---      ---       #241
-      01001EA7H   LINE      ---      ---       #242
-      01001EA7H   LINE      ---      ---       #243
-      01001EADH   LINE      ---      ---       #244
-      01001EB3H   LINE      ---      ---       #245
-      01001EB9H   LINE      ---      ---       #246
-      01001EBCH   LINE      ---      ---       #247
-      01001EC1H   LINE      ---      ---       #248
-      01001EC7H   LINE      ---      ---       #249
-      01001EC8H   LINE      ---      ---       #250
-      01001EC8H   LINE      ---      ---       #251
-      01001ECEH   LINE      ---      ---       #252
-      01001ED1H   LINE      ---      ---       #253
-      01001ED4H   LINE      ---      ---       #254
-      01001ED9H   LINE      ---      ---       #255
-      01001EDFH   LINE      ---      ---       #256
-      01001EE7H   LINE      ---      ---       #257
-      01001EEDH   LINE      ---      ---       #258
-      01001EEEH   LINE      ---      ---       #259
-      01001EEEH   LINE      ---      ---       #260
-      01001EF9H   LINE      ---      ---       #261
-      01001F01H   LINE      ---      ---       #262
-      01001F07H   LINE      ---      ---       #263
-      01001F08H   LINE      ---      ---       #265
-      01001F08H   LINE      ---      ---       #266
-      01001F12H   LINE      ---      ---       #267
-      01001F17H   LINE      ---      ---       #268
-      01001F1CH   LINE      ---      ---       #269
-      01001F21H   LINE      ---      ---       #270
-      01001F26H   LINE      ---      ---       #271
-      01001F27H   LINE      ---      ---       #273
-      01001F27H   LINE      ---      ---       #274
-      01001F2FH   LINE      ---      ---       #275
-      01001F34H   LINE      ---      ---       #276
-      01001F36H   LINE      ---      ---       #277
-      01001F3BH   LINE      ---      ---       #278
-      01001F40H   LINE      ---      ---       #279
-      01001F47H   LINE      ---      ---       #280
-      01001F47H   LINE      ---      ---       #281
-      01001F49H   LINE      ---      ---       #282
-      01001F4CH   LINE      ---      ---       #283
-      01001F4CH   LINE      ---      ---       #284
-      01001F4CH   LINE      ---      ---       #286
-      01001F52H   LINE      ---      ---       #287
-      01001F52H   LINE      ---      ---       #288
-      01001F56H   LINE      ---      ---       #289
-      01001F56H   LINE      ---      ---       #290
-      01001F56H   LINE      ---      ---       #293
-      01001F5CH   LINE      ---      ---       #294
-      01001F5CH   LINE      ---      ---       #295
-      01001F64H   LINE      ---      ---       #296
-      01001F64H   LINE      ---      ---       #297
-      01001F64H   LINE      ---      ---       #299
-      01001F67H   LINE      ---      ---       #300
-      01001F6EH   LINE      ---      ---       #301
-      01001F6EH   LINE      ---      ---       #302
-      01001F6EH   LINE      ---      ---       #303
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      0100127AH   BLOCK     CODE     ---       LVL=0
-      0100127AH   LINE      ---      ---       #306
-      0100127AH   LINE      ---      ---       #307
-      0100127AH   LINE      ---      ---       #308
-      01001284H   LINE      ---      ---       #310
-      0100128AH   LINE      ---      ---       #311
-      0100128AH   LINE      ---      ---       #312
-      01001292H   LINE      ---      ---       #313
-      01001292H   LINE      ---      ---       #314
-      01001299H   LINE      ---      ---       #315
-      0100129FH   LINE      ---      ---       #316
-      010012A6H   LINE      ---      ---       #317
-      010012ACH   LINE      ---      ---       #318
-      010012B4H   LINE      ---      ---       #319
-      010012B4H   LINE      ---      ---       #320
-      010012B8H   LINE      ---      ---       #321
-      010012BCH   LINE      ---      ---       #322
-      010012BCH   LINE      ---      ---       #323
-      010012BEH   LINE      ---      ---       #325
-      010012BEH   LINE      ---      ---       #326
-      010012C4H   LINE      ---      ---       #327
-      010012CAH   LINE      ---      ---       #328
-      010012D0H   LINE      ---      ---       #329
-      010012D0H   LINE      ---      ---       #330
-      010012D2H   LINE      ---      ---       #331
-      010012D8H   LINE      ---      ---       #332
-      010012D8H   LINE      ---      ---       #333
-      010012DCH   LINE      ---      ---       #334
-      010012E0H   LINE      ---      ---       #335
-      010012E0H   LINE      ---      ---       #337
-      010012E0H   LINE      ---      ---       #339
-      010012E0H   LINE      ---      ---       #342
-      010012E6H   LINE      ---      ---       #343
-      010012E6H   LINE      ---      ---       #344
-      010012ECH   LINE      ---      ---       #345
-      010012ECH   LINE      ---      ---       #346
-      010012EEH   LINE      ---      ---       #347
-      010012F4H   LINE      ---      ---       #348
-      010012FAH   LINE      ---      ---       #349
-      01001300H   LINE      ---      ---       #350
-      01001302H   LINE      ---      ---       #352
-      01001308H   LINE      ---      ---       #354
-      0100130EH   LINE      ---      ---       #355
-      0100130EH   LINE      ---      ---       #356
-      01001310H   LINE      ---      ---       #357
-      01001316H   LINE      ---      ---       #358
-      0100131CH   LINE      ---      ---       #359
-      01001322H   LINE      ---      ---       #360
-      01001324H   LINE      ---      ---       #362
-      0100132AH   LINE      ---      ---       #365
-      01001330H   LINE      ---      ---       #366
-      01001330H   LINE      ---      ---       #367
-      01001332H   LINE      ---      ---       #368
-      0100133EH   LINE      ---      ---       #369
-      0100133EH   LINE      ---      ---       #370
-      01001344H   LINE      ---      ---       #371
-      0100134AH   LINE      ---      ---       #372
-      01001350H   LINE      ---      ---       #373
-      01001350H   LINE      ---      ---       #374
-      01001350H   LINE      ---      ---       #376
-      01001350H   LINE      ---      ---       #377
+      01001CFCH   BLOCK     CODE     ---       LVL=0
+      01001CFCH   LINE      ---      ---       #123
+      01001D01H   LINE      ---      ---       #124
+      01001D01H   LINE      ---      ---       #125
+      01001D32H   LINE      ---      ---       #126
+      01001D32H   LINE      ---      ---       #127
+      01001D32H   LINE      ---      ---       #128
+      01001D32H   LINE      ---      ---       #129
+      01001D35H   LINE      ---      ---       #130
+      01001D38H   LINE      ---      ---       #131
+      01001D49H   LINE      ---      ---       #132
+      01001D52H   LINE      ---      ---       #133
+      01001D54H   LINE      ---      ---       #134
+      01001D5CH   LINE      ---      ---       #135
+      01001D5FH   LINE      ---      ---       #136
+      01001D64H   LINE      ---      ---       #137
+      01001D75H   LINE      ---      ---       #138
+      01001D81H   LINE      ---      ---       #139
+      01001D81H   LINE      ---      ---       #140
+      01001D8BH   LINE      ---      ---       #141
+      01001D95H   LINE      ---      ---       #142
+      01001D95H   LINE      ---      ---       #143
+      01001D98H   LINE      ---      ---       #144
+      01001D98H   LINE      ---      ---       #145
+      01001D98H   LINE      ---      ---       #146
+      01001D9BH   LINE      ---      ---       #147
+      01001D9DH   LINE      ---      ---       #148
+      01001DA2H   LINE      ---      ---       #149
+      01001DA3H   LINE      ---      ---       #152
+      01001DA3H   LINE      ---      ---       #153
+      01001DA3H   LINE      ---      ---       #154
+      01001DB5H   LINE      ---      ---       #155
+      01001DB5H   LINE      ---      ---       #156
+      01001DCBH   LINE      ---      ---       #157
+      01001DD1H   LINE      ---      ---       #158
+      01001DD1H   LINE      ---      ---       #159
+      01001DD2H   LINE      ---      ---       #160
+      01001DD2H   LINE      ---      ---       #161
+      01001DDAH   LINE      ---      ---       #162
+      01001DDAH   LINE      ---      ---       #165
+      01001DDAH   LINE      ---      ---       #166
+      01001DDAH   LINE      ---      ---       #167
+      01001DE0H   LINE      ---      ---       #168
+      01001DE3H   LINE      ---      ---       #169
+      01001DE6H   LINE      ---      ---       #170
+      01001DEBH   LINE      ---      ---       #171
+      01001DEFH   LINE      ---      ---       #172
+      01001DF5H   LINE      ---      ---       #173
+      01001DF9H   LINE      ---      ---       #174
+      01001DFFH   LINE      ---      ---       #175
+      01001E05H   LINE      ---      ---       #177
+      01001E0DH   LINE      ---      ---       #178
+      01001E0DH   LINE      ---      ---       #179
+      01001E11H   LINE      ---      ---       #180
+      01001E15H   LINE      ---      ---       #181
+      01001E19H   LINE      ---      ---       #182
+      01001E1FH   LINE      ---      ---       #183
+      01001E38H   LINE      ---      ---       #185
+      01001E38H   LINE      ---      ---       #186
+      01001E3EH   LINE      ---      ---       #187
+      01001E41H   LINE      ---      ---       #188
+      01001E43H   LINE      ---      ---       #189
+      01001E43H   LINE      ---      ---       #190
+      01001E43H   LINE      ---      ---       #192
+      01001E43H   LINE      ---      ---       #193
+      01001E4BH   LINE      ---      ---       #195
+      01001E4BH   LINE      ---      ---       #196
+      01001E4CH   LINE      ---      ---       #198
+      01001E4CH   LINE      ---      ---       #199
+      01001E51H   LINE      ---      ---       #200
+      01001E53H   LINE      ---      ---       #201
+      01001E59H   LINE      ---      ---       #202
+      01001E5EH   LINE      ---      ---       #204
+      01001E64H   LINE      ---      ---       #205
+      01001E64H   LINE      ---      ---       #206
+      01001E67H   LINE      ---      ---       #207
+      01001E6FH   LINE      ---      ---       #208
+      01001E6FH   LINE      ---      ---       #209
+      01001E6FH   LINE      ---      ---       #211
+      01001E76H   LINE      ---      ---       #212
+      01001E76H   LINE      ---      ---       #213
+      01001E78H   LINE      ---      ---       #214
+      01001E7BH   LINE      ---      ---       #215
+      01001E7BH   LINE      ---      ---       #216
+      01001E7BH   LINE      ---      ---       #217
+      01001E83H   LINE      ---      ---       #218
+      01001E83H   LINE      ---      ---       #219
+      01001E8BH   LINE      ---      ---       #220
+      01001E8BH   LINE      ---      ---       #221
+      01001E8BH   LINE      ---      ---       #226
+      01001E8BH   LINE      ---      ---       #227
+      01001E91H   LINE      ---      ---       #228
+      01001E95H   LINE      ---      ---       #229
+      01001E98H   LINE      ---      ---       #230
+      01001E9AH   LINE      ---      ---       #231
+      01001E9FH   LINE      ---      ---       #232
+      01001EA4H   LINE      ---      ---       #233
+      01001EAAH   LINE      ---      ---       #234
+      01001EAAH   LINE      ---      ---       #235
+      01001EAFH   LINE      ---      ---       #236
+      01001EB3H   LINE      ---      ---       #237
+      01001EC6H   LINE      ---      ---       #238
+      01001EDEH   LINE      ---      ---       #239
+      01001EDEH   LINE      ---      ---       #240
+      01001EE4H   LINE      ---      ---       #241
+      01001EEAH   LINE      ---      ---       #242
+      01001EF0H   LINE      ---      ---       #243
+      01001EF3H   LINE      ---      ---       #244
+      01001EF8H   LINE      ---      ---       #245
+      01001EFEH   LINE      ---      ---       #246
+      01001EFFH   LINE      ---      ---       #247
+      01001EFFH   LINE      ---      ---       #248
+      01001F05H   LINE      ---      ---       #249
+      01001F08H   LINE      ---      ---       #250
+      01001F0BH   LINE      ---      ---       #251
+      01001F10H   LINE      ---      ---       #252
+      01001F16H   LINE      ---      ---       #253
+      01001F1EH   LINE      ---      ---       #254
+      01001F24H   LINE      ---      ---       #255
+      01001F25H   LINE      ---      ---       #256
+      01001F25H   LINE      ---      ---       #257
+      01001F30H   LINE      ---      ---       #258
+      01001F38H   LINE      ---      ---       #259
+      01001F3EH   LINE      ---      ---       #260
+      01001F3FH   LINE      ---      ---       #262
+      01001F3FH   LINE      ---      ---       #263
+      01001F49H   LINE      ---      ---       #264
+      01001F4EH   LINE      ---      ---       #265
+      01001F53H   LINE      ---      ---       #266
+      01001F58H   LINE      ---      ---       #267
+      01001F5DH   LINE      ---      ---       #268
+      01001F5EH   LINE      ---      ---       #270
+      01001F5EH   LINE      ---      ---       #271
+      01001F66H   LINE      ---      ---       #272
+      01001F6BH   LINE      ---      ---       #273
+      01001F6DH   LINE      ---      ---       #274
+      01001F72H   LINE      ---      ---       #275
+      01001F77H   LINE      ---      ---       #276
+      01001F7EH   LINE      ---      ---       #277
+      01001F7EH   LINE      ---      ---       #278
+      01001F80H   LINE      ---      ---       #279
+      01001F83H   LINE      ---      ---       #280
+      01001F83H   LINE      ---      ---       #281
+      01001F83H   LINE      ---      ---       #283
+      01001F89H   LINE      ---      ---       #284
+      01001F89H   LINE      ---      ---       #285
+      01001F8DH   LINE      ---      ---       #286
+      01001F8DH   LINE      ---      ---       #287
+      01001F8DH   LINE      ---      ---       #290
+      01001F93H   LINE      ---      ---       #291
+      01001F93H   LINE      ---      ---       #292
+      01001F9BH   LINE      ---      ---       #293
+      01001F9BH   LINE      ---      ---       #294
+      01001F9BH   LINE      ---      ---       #296
+      01001F9EH   LINE      ---      ---       #297
+      01001FA5H   LINE      ---      ---       #298
+      01001FA5H   LINE      ---      ---       #299
+      01001FA5H   LINE      ---      ---       #300
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100124FH   BLOCK     CODE     ---       LVL=0
+      0100124FH   LINE      ---      ---       #303
+      0100124FH   LINE      ---      ---       #304
+      0100124FH   LINE      ---      ---       #305
+      01001259H   LINE      ---      ---       #307
+      0100125FH   LINE      ---      ---       #308
+      0100125FH   LINE      ---      ---       #309
+      01001267H   LINE      ---      ---       #310
+      01001267H   LINE      ---      ---       #311
+      0100126EH   LINE      ---      ---       #312
+      01001274H   LINE      ---      ---       #313
+      0100127BH   LINE      ---      ---       #314
+      01001281H   LINE      ---      ---       #315
+      01001289H   LINE      ---      ---       #316
+      01001289H   LINE      ---      ---       #317
+      0100128DH   LINE      ---      ---       #318
+      01001291H   LINE      ---      ---       #319
+      01001291H   LINE      ---      ---       #320
+      01001293H   LINE      ---      ---       #322
+      01001293H   LINE      ---      ---       #323
+      01001299H   LINE      ---      ---       #324
+      0100129FH   LINE      ---      ---       #325
+      010012A5H   LINE      ---      ---       #326
+      010012A5H   LINE      ---      ---       #327
+      010012A7H   LINE      ---      ---       #328
+      010012ADH   LINE      ---      ---       #329
+      010012ADH   LINE      ---      ---       #330
+      010012B1H   LINE      ---      ---       #331
+      010012B5H   LINE      ---      ---       #332
+      010012B5H   LINE      ---      ---       #334
+      010012B5H   LINE      ---      ---       #336
+      010012B5H   LINE      ---      ---       #339
+      010012BBH   LINE      ---      ---       #340
+      010012BBH   LINE      ---      ---       #341
+      010012C1H   LINE      ---      ---       #342
+      010012C1H   LINE      ---      ---       #343
+      010012C3H   LINE      ---      ---       #344
+      010012C9H   LINE      ---      ---       #345
+      010012CFH   LINE      ---      ---       #346
+      010012D5H   LINE      ---      ---       #347
+      010012D7H   LINE      ---      ---       #349
+      010012DDH   LINE      ---      ---       #351
+      010012E3H   LINE      ---      ---       #352
+      010012E3H   LINE      ---      ---       #353
+      010012E5H   LINE      ---      ---       #354
+      010012EBH   LINE      ---      ---       #355
+      010012F1H   LINE      ---      ---       #356
+      010012F7H   LINE      ---      ---       #357
+      010012F9H   LINE      ---      ---       #359
+      010012FFH   LINE      ---      ---       #362
+      01001305H   LINE      ---      ---       #363
+      01001305H   LINE      ---      ---       #364
+      01001307H   LINE      ---      ---       #365
+      01001313H   LINE      ---      ---       #366
+      01001313H   LINE      ---      ---       #367
+      01001319H   LINE      ---      ---       #368
+      0100131FH   LINE      ---      ---       #369
+      01001325H   LINE      ---      ---       #370
+      01001325H   LINE      ---      ---       #371
+      01001325H   LINE      ---      ---       #373
+      01001325H   LINE      ---      ---       #374
       ---         BLOCKEND  ---      ---       LVL=0
 
       01000DD0H   BLOCK     CODE     ---       LVL=0
+      01000DD0H   LINE      ---      ---       #376
+      01000DD0H   LINE      ---      ---       #377
       01000DD0H   LINE      ---      ---       #379
-      01000DD0H   LINE      ---      ---       #380
-      01000DD0H   LINE      ---      ---       #382
-      01000DD6H   LINE      ---      ---       #383
-      01000DD6H   LINE      ---      ---       #384
-      01000DD9H   LINE      ---      ---       #385
-      01000DDCH   LINE      ---      ---       #386
-      01000DDCH   LINE      ---      ---       #387
-      01000DE1H   LINE      ---      ---       #388
-      01000DE5H   LINE      ---      ---       #389
+      01000DD6H   LINE      ---      ---       #380
+      01000DD6H   LINE      ---      ---       #381
+      01000DD9H   LINE      ---      ---       #382
+      01000DDCH   LINE      ---      ---       #383
+      01000DDCH   LINE      ---      ---       #384
+      01000DE1H   LINE      ---      ---       #385
+      01000DE5H   LINE      ---      ---       #386
+      01000DE5H   LINE      ---      ---       #387
       01000DE5H   LINE      ---      ---       #390
-      01000DE5H   LINE      ---      ---       #393
-      01000DEEH   LINE      ---      ---       #394
-      01000DEEH   LINE      ---      ---       #395
-      01000DF3H   LINE      ---      ---       #396
-      01000DF3H   LINE      ---      ---       #397
-      01000E09H   LINE      ---      ---       #398
-      01000E09H   LINE      ---      ---       #399
-      01000E0EH   LINE      ---      ---       #400
-      01000E14H   LINE      ---      ---       #401
-      01000E1CH   LINE      ---      ---       #402
-      01000E26H   LINE      ---      ---       #403
-      01000E26H   LINE      ---      ---       #404
-      01000E26H   LINE      ---      ---       #405
-      01000E36H   LINE      ---      ---       #406
-      01000E36H   LINE      ---      ---       #407
-      01000E38H   LINE      ---      ---       #408
-      01000E3EH   LINE      ---      ---       #409
-      01000E3EH   LINE      ---      ---       #410
-      01000E3FH   LINE      ---      ---       #411
-      01000E47H   LINE      ---      ---       #412
-      01000E47H   LINE      ---      ---       #413
-      01000E5AH   LINE      ---      ---       #414
-      01000E5AH   LINE      ---      ---       #415
+      01000DEEH   LINE      ---      ---       #391
+      01000DEEH   LINE      ---      ---       #392
+      01000DF3H   LINE      ---      ---       #393
+      01000DF3H   LINE      ---      ---       #394
+      01000E09H   LINE      ---      ---       #395
+      01000E09H   LINE      ---      ---       #396
+      01000E0EH   LINE      ---      ---       #397
+      01000E14H   LINE      ---      ---       #398
+      01000E1CH   LINE      ---      ---       #399
+      01000E26H   LINE      ---      ---       #400
+      01000E26H   LINE      ---      ---       #401
+      01000E26H   LINE      ---      ---       #402
+      01000E36H   LINE      ---      ---       #403
+      01000E36H   LINE      ---      ---       #404
+      01000E38H   LINE      ---      ---       #405
+      01000E3EH   LINE      ---      ---       #406
+      01000E3EH   LINE      ---      ---       #407
+      01000E3FH   LINE      ---      ---       #408
+      01000E47H   LINE      ---      ---       #409
+      01000E47H   LINE      ---      ---       #410
+      01000E5AH   LINE      ---      ---       #411
+      01000E5AH   LINE      ---      ---       #412
+      01000E5CH   LINE      ---      ---       #413
       01000E5CH   LINE      ---      ---       #416
-      01000E5CH   LINE      ---      ---       #419
-      01000E63H   LINE      ---      ---       #420
-      01000E63H   LINE      ---      ---       #421
-      01000E6EH   LINE      ---      ---       #423
-      01000E73H   LINE      ---      ---       #424
-      01000E78H   LINE      ---      ---       #425
-      01000E81H   LINE      ---      ---       #426
-      01000E81H   LINE      ---      ---       #428
-      01000E90H   LINE      ---      ---       #429
-      01000E90H   LINE      ---      ---       #430
-      01000E93H   LINE      ---      ---       #431
-      01000E93H   LINE      ---      ---       #432
-      01000E93H   LINE      ---      ---       #433
-      01000E9AH   LINE      ---      ---       #434
-      01000E9AH   LINE      ---      ---       #435
-      01000EA9H   LINE      ---      ---       #436
-      01000EA9H   LINE      ---      ---       #437
+      01000E63H   LINE      ---      ---       #417
+      01000E63H   LINE      ---      ---       #418
+      01000E6EH   LINE      ---      ---       #420
+      01000E73H   LINE      ---      ---       #421
+      01000E78H   LINE      ---      ---       #422
+      01000E81H   LINE      ---      ---       #423
+      01000E81H   LINE      ---      ---       #425
+      01000E90H   LINE      ---      ---       #426
+      01000E90H   LINE      ---      ---       #427
+      01000E93H   LINE      ---      ---       #428
+      01000E93H   LINE      ---      ---       #429
+      01000E93H   LINE      ---      ---       #430
+      01000E9AH   LINE      ---      ---       #431
+      01000E9AH   LINE      ---      ---       #432
+      01000EA9H   LINE      ---      ---       #433
+      01000EA9H   LINE      ---      ---       #434
+      01000EACH   LINE      ---      ---       #435
+      01000EACH   LINE      ---      ---       #436
       01000EACH   LINE      ---      ---       #438
       01000EACH   LINE      ---      ---       #439
-      01000EACH   LINE      ---      ---       #441
-      01000EACH   LINE      ---      ---       #442
-      01000EBBH   LINE      ---      ---       #443
-      01000EBBH   LINE      ---      ---       #444
-      01000EC1H   LINE      ---      ---       #445
-      01000EC1H   LINE      ---      ---       #446
-      01000EC3H   LINE      ---      ---       #447
-      01000EC7H   LINE      ---      ---       #448
-      01000EC7H   LINE      ---      ---       #449
-      01000EC9H   LINE      ---      ---       #450
-      01000EC9H   LINE      ---      ---       #451
-      01000EC9H   LINE      ---      ---       #452
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      0100185CH   BLOCK     CODE     ---       LVL=0
-      0100185CH   LINE      ---      ---       #455
-      0100185CH   LINE      ---      ---       #456
-      0100185CH   LINE      ---      ---       #458
-      01001862H   LINE      ---      ---       #459
-      01001862H   LINE      ---      ---       #460
-      01001865H   LINE      ---      ---       #461
-      01001868H   LINE      ---      ---       #462
-      01001868H   LINE      ---      ---       #463
-      01001876H   LINE      ---      ---       #466
-      01001876H   LINE      ---      ---       #468
-      0100187BH   LINE      ---      ---       #469
-      01001881H   LINE      ---      ---       #470
-      01001886H   LINE      ---      ---       #471
-      0100188AH   LINE      ---      ---       #472
-      0100188EH   LINE      ---      ---       #473
-      01001890H   LINE      ---      ---       #474
-      01001895H   LINE      ---      ---       #475
-      0100189AH   LINE      ---      ---       #476
-      0100189AH   LINE      ---      ---       #477
-      0100189AH   LINE      ---      ---       #478
-      0100189AH   LINE      ---      ---       #480
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010018B5H   BLOCK     CODE     ---       LVL=0
-      010018B5H   LINE      ---      ---       #483
-      010018B5H   LINE      ---      ---       #484
-      010018B5H   LINE      ---      ---       #486
-      010018BBH   LINE      ---      ---       #487
-      010018BBH   LINE      ---      ---       #488
-      010018C2H   LINE      ---      ---       #489
-      010018C8H   LINE      ---      ---       #490
-      010018CBH   LINE      ---      ---       #491
-      010018CBH   LINE      ---      ---       #492
-      010018D3H   LINE      ---      ---       #493
-      010018D7H   LINE      ---      ---       #495
-      010018DCH   LINE      ---      ---       #496
-      010018DFH   LINE      ---      ---       #497
-      010018DFH   LINE      ---      ---       #498
-      010018DFH   LINE      ---      ---       #500
-      010018E5H   LINE      ---      ---       #501
-      010018E5H   LINE      ---      ---       #502
-      010018ECH   LINE      ---      ---       #503
-      010018F2H   LINE      ---      ---       #504
-      010018F5H   LINE      ---      ---       #505
-      010018F5H   LINE      ---      ---       #507
-      010018FAH   LINE      ---      ---       #508
-      010018FDH   LINE      ---      ---       #509
-      010018FDH   LINE      ---      ---       #510
-      010018FDH   LINE      ---      ---       #511
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      0100190FH   BLOCK     CODE     ---       LVL=0
-      0100190FH   LINE      ---      ---       #513
-      0100190FH   LINE      ---      ---       #514
-      0100190FH   LINE      ---      ---       #531
-      01001916H   LINE      ---      ---       #532
-      01001916H   LINE      ---      ---       #533
-      0100191FH   LINE      ---      ---       #534
-      01001922H   LINE      ---      ---       #535
-      0100192AH   LINE      ---      ---       #536
-      0100192AH   LINE      ---      ---       #537
-      01001930H   LINE      ---      ---       #538
-      01001936H   LINE      ---      ---       #539
-      01001936H   LINE      ---      ---       #540
-      0100193BH   LINE      ---      ---       #541
-      0100193DH   LINE      ---      ---       #542
-      01001944H   LINE      ---      ---       #543
-      01001944H   LINE      ---      ---       #544
-      0100194AH   LINE      ---      ---       #545
-      0100194FH   LINE      ---      ---       #546
-      01001952H   LINE      ---      ---       #547
-      01001952H   LINE      ---      ---       #548
-      01001952H   LINE      ---      ---       #549
-      01001954H   LINE      ---      ---       #551
-      01001954H   LINE      ---      ---       #552
-      01001959H   LINE      ---      ---       #553
-      0100195DH   LINE      ---      ---       #554
-      01001961H   LINE      ---      ---       #555
-      01001961H   LINE      ---      ---       #557
-      01001968H   LINE      ---      ---       #558
-      01001968H   LINE      ---      ---       #559
-      0100196EH   LINE      ---      ---       #560
-      01001977H   LINE      ---      ---       #561
-      0100197AH   LINE      ---      ---       #562
-      01001982H   LINE      ---      ---       #563
-      01001982H   LINE      ---      ---       #564
-      0100198DH   LINE      ---      ---       #565
-      0100198DH   LINE      ---      ---       #566
-      01001992H   LINE      ---      ---       #567
-      01001995H   LINE      ---      ---       #568
-      0100199AH   LINE      ---      ---       #569
-      0100199FH   LINE      ---      ---       #570
-      0100199FH   LINE      ---      ---       #571
-      0100199FH   LINE      ---      ---       #572
-      010019A1H   LINE      ---      ---       #574
-      010019A1H   LINE      ---      ---       #575
-      010019A7H   LINE      ---      ---       #576
-      010019A7H   LINE      ---      ---       #577
-      010019A9H   LINE      ---      ---       #578
-      010019AEH   LINE      ---      ---       #579
-      010019B4H   LINE      ---      ---       #580
-      010019BCH   LINE      ---      ---       #581
-      010019C2H   LINE      ---      ---       #582
-      010019C5H   LINE      ---      ---       #583
-      010019C7H   LINE      ---      ---       #584
-      010019C7H   LINE      ---      ---       #585
-      010019CCH   LINE      ---      ---       #586
-      010019CCH   LINE      ---      ---       #589
-      010019D3H   LINE      ---      ---       #590
-      010019D3H   LINE      ---      ---       #591
-      010019D9H   LINE      ---      ---       #592
-      010019E2H   LINE      ---      ---       #593
-      010019E5H   LINE      ---      ---       #594
-      010019EDH   LINE      ---      ---       #595
-      010019EDH   LINE      ---      ---       #597
-      010019F3H   LINE      ---      ---       #598
-      010019F8H   LINE      ---      ---       #599
-      010019FDH   LINE      ---      ---       #600
-      01001A00H   LINE      ---      ---       #601
-      01001A05H   LINE      ---      ---       #602
-      01001A0AH   LINE      ---      ---       #603
-      01001A12H   LINE      ---      ---       #604
-      01001A1AH   LINE      ---      ---       #605
-      01001A1AH   LINE      ---      ---       #606
-      01001A1CH   LINE      ---      ---       #608
-      01001A1CH   LINE      ---      ---       #609
-      01001A22H   LINE      ---      ---       #610
-      01001A22H   LINE      ---      ---       #611
-      01001A24H   LINE      ---      ---       #613
-      01001A30H   LINE      ---      ---       #614
-      01001A30H   LINE      ---      ---       #615
-      01001A36H   LINE      ---      ---       #616
-      01001A39H   LINE      ---      ---       #617
-      01001A41H   LINE      ---      ---       #618
-      01001A47H   LINE      ---      ---       #620
-      01001A4AH   LINE      ---      ---       #621
-      01001A4DH   LINE      ---      ---       #622
-      01001A4FH   LINE      ---      ---       #623
-      01001A4FH   LINE      ---      ---       #624
-      01001A4FH   LINE      ---      ---       #625
-      01001A54H   LINE      ---      ---       #626
-      01001A54H   LINE      ---      ---       #629
-      01001A5DH   LINE      ---      ---       #630
-      01001A5DH   LINE      ---      ---       #631
-      01001A64H   LINE      ---      ---       #632
-      01001A67H   LINE      ---      ---       #633
-      01001A6FH   LINE      ---      ---       #634
-      01001A6FH   LINE      ---      ---       #635
-      01001A76H   LINE      ---      ---       #636
-      01001A76H   LINE      ---      ---       #637
-      01001A7CH   LINE      ---      ---       #638
-      01001A7EH   LINE      ---      ---       #639
-      01001A85H   LINE      ---      ---       #640
-      01001A85H   LINE      ---      ---       #641
-      01001A8BH   LINE      ---      ---       #643
-      01001A8DH   LINE      ---      ---       #644
-      01001A94H   LINE      ---      ---       #645
-      01001A94H   LINE      ---      ---       #646
-      01001A99H   LINE      ---      ---       #648
-      01001A99H   LINE      ---      ---       #649
-      01001A9FH   LINE      ---      ---       #650
-      01001AA9H   LINE      ---      ---       #651
-      01001AA9H   LINE      ---      ---       #652
-      01001AAFH   LINE      ---      ---       #653
-      01001AB0H   LINE      ---      ---       #654
-      01001ABCH   LINE      ---      ---       #655
-      01001ABCH   LINE      ---      ---       #656
-      01001AD4H   LINE      ---      ---       #657
-      01001ADAH   LINE      ---      ---       #658
-      01001ADAH   LINE      ---      ---       #659
-      01001ADAH   LINE      ---      ---       #660
-      01001ADBH   LINE      ---      ---       #662
-      01001ADBH   LINE      ---      ---       #663
-      01001AE0H   LINE      ---      ---       #664
-      01001AE0H   LINE      ---      ---       #666
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      0100189BH   BLOCK     CODE     ---       LVL=0
-      0100189BH   LINE      ---      ---       #670
-      0100189BH   LINE      ---      ---       #671
-      0100189BH   LINE      ---      ---       #672
-      0100189EH   LINE      ---      ---       #674
-      010018ACH   LINE      ---      ---       #676
-      010018AEH   LINE      ---      ---       #677
-      010018B1H   LINE      ---      ---       #678
-      010018B3H   LINE      ---      ---       #679
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010032A8H   BLOCK     CODE     ---       LVL=0
-      010032A8H   LINE      ---      ---       #692
-      010032A8H   LINE      ---      ---       #693
-      010032A8H   LINE      ---      ---       #695
-      010032AEH   LINE      ---      ---       #696
-      010032AEH   LINE      ---      ---       #697
-      010032B0H   LINE      ---      ---       #698
-      010032B0H   LINE      ---      ---       #700
-      010032B6H   LINE      ---      ---       #701
-      010032B8H   LINE      ---      ---       #703
-      010032BEH   LINE      ---      ---       #704
-      010032BEH   LINE      ---      ---       #705
-      010032C0H   LINE      ---      ---       #706
-      010032C3H   LINE      ---      ---       #707
-      010032C9H   LINE      ---      ---       #708
-      010032C9H   LINE      ---      ---       #710
-      010032CFH   LINE      ---      ---       #711
-      010032CFH   LINE      ---      ---       #712
-      010032D5H   LINE      ---      ---       #713
-      010032D5H   LINE      ---      ---       #714
-      010032DBH   LINE      ---      ---       #716
-      010032DBH   LINE      ---      ---       #718
-      010032E1H   LINE      ---      ---       #719
-      010032E4H   LINE      ---      ---       #720
-      010032EAH   LINE      ---      ---       #721
-      010032EAH   LINE      ---      ---       #722
-      010032EDH   LINE      ---      ---       #723
-      010032EDH   LINE      ---      ---       #724
-      010032EFH   LINE      ---      ---       #725
-      010032FBH   LINE      ---      ---       #726
-      010032FBH   LINE      ---      ---       #727
-      01003301H   LINE      ---      ---       #728
-      01003301H   LINE      ---      ---       #729
-      01003303H   LINE      ---      ---       #730
-      0100330AH   LINE      ---      ---       #731
-      0100330AH   LINE      ---      ---       #732
-      0100330EH   LINE      ---      ---       #733
-      0100330EH   LINE      ---      ---       #734
-      01003315H   LINE      ---      ---       #735
-      01003317H   LINE      ---      ---       #737
-      01003317H   LINE      ---      ---       #738
-      0100331EH   LINE      ---      ---       #739
-      0100331EH   LINE      ---      ---       #740
-      01003320H   LINE      ---      ---       #742
-      01003327H   LINE      ---      ---       #743
-      0100332DH   LINE      ---      ---       #744
-      01003330H   LINE      ---      ---       #745
-      01003330H   LINE      ---      ---       #746
-      01003330H   LINE      ---      ---       #749
-      01003336H   LINE      ---      ---       #750
-      01003336H   LINE      ---      ---       #751
-      0100333EH   LINE      ---      ---       #752
-      0100333EH   LINE      ---      ---       #753
-      01003344H   LINE      ---      ---       #754
-      01003348H   LINE      ---      ---       #756
-      0100334EH   LINE      ---      ---       #757
-      0100334EH   LINE      ---      ---       #758
-      01003359H   LINE      ---      ---       #759
-      0100335BH   LINE      ---      ---       #760
-      01003361H   LINE      ---      ---       #761
-      01003361H   LINE      ---      ---       #763
-      0100336CH   LINE      ---      ---       #764
-      0100336CH   LINE      ---      ---       #765
-      0100336CH   LINE      ---      ---       #766
-      0100336CH   LINE      ---      ---       #770
-      01003372H   LINE      ---      ---       #771
-      01003372H   LINE      ---      ---       #772
-      01003375H   LINE      ---      ---       #773
-      01003378H   LINE      ---      ---       #774
-      01003378H   LINE      ---      ---       #775
-      0100337EH   LINE      ---      ---       #776
-      0100337EH   LINE      ---      ---       #777
-      01003383H   LINE      ---      ---       #778
-      01003383H   LINE      ---      ---       #779
-      01003383H   LINE      ---      ---       #780
-      01003383H   LINE      ---      ---       #782
-      01003389H   LINE      ---      ---       #783
-      0100338CH   LINE      ---      ---       #784
-      0100338FH   LINE      ---      ---       #785
-      0100338FH   LINE      ---      ---       #787
-      01003396H   LINE      ---      ---       #788
-      01003396H   LINE      ---      ---       #789
-      0100339CH   LINE      ---      ---       #790
-      0100339CH   LINE      ---      ---       #791
-      0100339CH   LINE      ---      ---       #792
-      0100339CH   LINE      ---      ---       #793
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01002F47H   BLOCK     CODE     ---       LVL=0
-      01002F47H   LINE      ---      ---       #807
-      01002F47H   LINE      ---      ---       #808
-      01002F47H   LINE      ---      ---       #809
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01002C92H   BLOCK     CODE     ---       LVL=0
-      01002C92H   LINE      ---      ---       #814
-      01002C92H   LINE      ---      ---       #815
-      01002C92H   LINE      ---      ---       #816
-      01002C94H   LINE      ---      ---       #817
-      01002C94H   LINE      ---      ---       #818
-      01002C96H   LINE      ---      ---       #819
-      01002C99H   LINE      ---      ---       #820
-      01002C9CH   LINE      ---      ---       #821
-      01002C9FH   LINE      ---      ---       #823
-      01002CA5H   LINE      ---      ---       #824
-      01002CA5H   LINE      ---      ---       #825
-      01002CA7H   LINE      ---      ---       #826
-      01002CA7H   LINE      ---      ---       #828
-      01002CB2H   LINE      ---      ---       #829
-      01002CB2H   LINE      ---      ---       #830
-      01002CB4H   LINE      ---      ---       #832
-      01002CB7H   LINE      ---      ---       #833
-      01002CB9H   LINE      ---      ---       #834
-      01002CBBH   LINE      ---      ---       #835
-      01002CBBH   LINE      ---      ---       #837
-      01002CBBH   LINE      ---      ---       #838
-      01002CD3H   LINE      ---      ---       #840
-      01002CD3H   LINE      ---      ---       #841
-      01002CD5H   LINE      ---      ---       #842
-      01002CD7H   LINE      ---      ---       #843
-      01002CD7H   LINE      ---      ---       #845
-      01002CD7H   LINE      ---      ---       #846
-      01002CD9H   LINE      ---      ---       #847
-      01002CDBH   LINE      ---      ---       #848
-      01002CDDH   LINE      ---      ---       #849
-      01002CDDH   LINE      ---      ---       #850
-      01002CDDH   LINE      ---      ---       #851
+      01000EBBH   LINE      ---      ---       #440
+      01000EBBH   LINE      ---      ---       #441
+      01000EC1H   LINE      ---      ---       #442
+      01000EC1H   LINE      ---      ---       #443
+      01000EC3H   LINE      ---      ---       #444
+      01000EC7H   LINE      ---      ---       #445
+      01000EC7H   LINE      ---      ---       #446
+      01000EC9H   LINE      ---      ---       #447
+      01000EC9H   LINE      ---      ---       #448
+      01000EC9H   LINE      ---      ---       #449
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010018B0H   BLOCK     CODE     ---       LVL=0
+      010018B0H   LINE      ---      ---       #452
+      010018B0H   LINE      ---      ---       #453
+      010018B0H   LINE      ---      ---       #455
+      010018B6H   LINE      ---      ---       #456
+      010018B6H   LINE      ---      ---       #457
+      010018B9H   LINE      ---      ---       #458
+      010018BCH   LINE      ---      ---       #459
+      010018BCH   LINE      ---      ---       #460
+      010018CAH   LINE      ---      ---       #463
+      010018CAH   LINE      ---      ---       #465
+      010018CFH   LINE      ---      ---       #466
+      010018D5H   LINE      ---      ---       #467
+      010018DAH   LINE      ---      ---       #468
+      010018DEH   LINE      ---      ---       #469
+      010018E2H   LINE      ---      ---       #470
+      010018E4H   LINE      ---      ---       #471
+      010018E9H   LINE      ---      ---       #472
+      010018EEH   LINE      ---      ---       #473
+      010018EEH   LINE      ---      ---       #474
+      010018EEH   LINE      ---      ---       #475
+      010018EEH   LINE      ---      ---       #477
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001909H   BLOCK     CODE     ---       LVL=0
+      01001909H   LINE      ---      ---       #480
+      01001909H   LINE      ---      ---       #481
+      01001909H   LINE      ---      ---       #483
+      0100190FH   LINE      ---      ---       #484
+      0100190FH   LINE      ---      ---       #485
+      01001916H   LINE      ---      ---       #486
+      0100191CH   LINE      ---      ---       #487
+      0100191FH   LINE      ---      ---       #488
+      0100191FH   LINE      ---      ---       #489
+      01001927H   LINE      ---      ---       #490
+      0100192BH   LINE      ---      ---       #492
+      01001930H   LINE      ---      ---       #493
+      01001933H   LINE      ---      ---       #494
+      01001933H   LINE      ---      ---       #495
+      01001933H   LINE      ---      ---       #497
+      01001939H   LINE      ---      ---       #498
+      01001939H   LINE      ---      ---       #499
+      01001940H   LINE      ---      ---       #500
+      01001946H   LINE      ---      ---       #501
+      01001949H   LINE      ---      ---       #502
+      01001949H   LINE      ---      ---       #504
+      0100194EH   LINE      ---      ---       #505
+      01001951H   LINE      ---      ---       #506
+      01001951H   LINE      ---      ---       #507
+      01001951H   LINE      ---      ---       #508
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001963H   BLOCK     CODE     ---       LVL=0
+      01001963H   LINE      ---      ---       #510
+      01001963H   LINE      ---      ---       #511
+      01001963H   LINE      ---      ---       #528
+      0100196AH   LINE      ---      ---       #529
+      0100196AH   LINE      ---      ---       #530
+      01001973H   LINE      ---      ---       #531
+      01001976H   LINE      ---      ---       #532
+      0100197EH   LINE      ---      ---       #533
+      0100197EH   LINE      ---      ---       #534
+      01001984H   LINE      ---      ---       #535
+      0100198AH   LINE      ---      ---       #536
+      0100198AH   LINE      ---      ---       #537
+      0100198FH   LINE      ---      ---       #538
+      01001991H   LINE      ---      ---       #539
+      01001998H   LINE      ---      ---       #540
+      01001998H   LINE      ---      ---       #541
+      0100199EH   LINE      ---      ---       #542
+      010019A3H   LINE      ---      ---       #543
+      010019A6H   LINE      ---      ---       #544
+      010019A6H   LINE      ---      ---       #545
+      010019A6H   LINE      ---      ---       #546
+      010019A8H   LINE      ---      ---       #548
+      010019A8H   LINE      ---      ---       #549
+      010019ADH   LINE      ---      ---       #550
+      010019B1H   LINE      ---      ---       #551
+      010019B5H   LINE      ---      ---       #552
+      010019B5H   LINE      ---      ---       #554
+      010019BCH   LINE      ---      ---       #555
+      010019BCH   LINE      ---      ---       #556
+      010019C2H   LINE      ---      ---       #557
+      010019CBH   LINE      ---      ---       #558
+      010019CEH   LINE      ---      ---       #559
+      010019D6H   LINE      ---      ---       #560
+      010019D6H   LINE      ---      ---       #561
+      010019E1H   LINE      ---      ---       #562
+      010019E1H   LINE      ---      ---       #563
+      010019E6H   LINE      ---      ---       #564
+      010019E9H   LINE      ---      ---       #565
+      010019EEH   LINE      ---      ---       #566
+      010019F3H   LINE      ---      ---       #567
+      010019F3H   LINE      ---      ---       #568
+      010019F3H   LINE      ---      ---       #569
+      010019F5H   LINE      ---      ---       #571
+      010019F5H   LINE      ---      ---       #572
+      010019FBH   LINE      ---      ---       #573
+      010019FBH   LINE      ---      ---       #574
+      010019FDH   LINE      ---      ---       #575
+      01001A02H   LINE      ---      ---       #576
+      01001A08H   LINE      ---      ---       #577
+      01001A10H   LINE      ---      ---       #578
+      01001A16H   LINE      ---      ---       #579
+      01001A19H   LINE      ---      ---       #580
+      01001A1BH   LINE      ---      ---       #581
+      01001A1BH   LINE      ---      ---       #582
+      01001A20H   LINE      ---      ---       #583
+      01001A20H   LINE      ---      ---       #586
+      01001A27H   LINE      ---      ---       #587
+      01001A27H   LINE      ---      ---       #588
+      01001A2DH   LINE      ---      ---       #589
+      01001A36H   LINE      ---      ---       #590
+      01001A39H   LINE      ---      ---       #591
+      01001A41H   LINE      ---      ---       #592
+      01001A41H   LINE      ---      ---       #594
+      01001A47H   LINE      ---      ---       #595
+      01001A4CH   LINE      ---      ---       #596
+      01001A51H   LINE      ---      ---       #597
+      01001A54H   LINE      ---      ---       #598
+      01001A59H   LINE      ---      ---       #599
+      01001A5EH   LINE      ---      ---       #600
+      01001A66H   LINE      ---      ---       #601
+      01001A6EH   LINE      ---      ---       #602
+      01001A6EH   LINE      ---      ---       #603
+      01001A70H   LINE      ---      ---       #605
+      01001A70H   LINE      ---      ---       #606
+      01001A76H   LINE      ---      ---       #607
+      01001A76H   LINE      ---      ---       #608
+      01001A78H   LINE      ---      ---       #610
+      01001A84H   LINE      ---      ---       #611
+      01001A84H   LINE      ---      ---       #612
+      01001A8AH   LINE      ---      ---       #613
+      01001A8DH   LINE      ---      ---       #614
+      01001A95H   LINE      ---      ---       #615
+      01001A9BH   LINE      ---      ---       #617
+      01001A9EH   LINE      ---      ---       #618
+      01001AA1H   LINE      ---      ---       #619
+      01001AA3H   LINE      ---      ---       #620
+      01001AA3H   LINE      ---      ---       #621
+      01001AA3H   LINE      ---      ---       #622
+      01001AA8H   LINE      ---      ---       #623
+      01001AA8H   LINE      ---      ---       #626
+      01001AB1H   LINE      ---      ---       #627
+      01001AB1H   LINE      ---      ---       #628
+      01001AB8H   LINE      ---      ---       #629
+      01001ABBH   LINE      ---      ---       #630
+      01001AC3H   LINE      ---      ---       #631
+      01001AC3H   LINE      ---      ---       #632
+      01001ACAH   LINE      ---      ---       #633
+      01001ACAH   LINE      ---      ---       #634
+      01001AD0H   LINE      ---      ---       #635
+      01001AD2H   LINE      ---      ---       #636
+      01001AD9H   LINE      ---      ---       #637
+      01001AD9H   LINE      ---      ---       #638
+      01001ADFH   LINE      ---      ---       #640
+      01001AE1H   LINE      ---      ---       #641
+      01001AE8H   LINE      ---      ---       #642
+      01001AE8H   LINE      ---      ---       #643
+      01001AEDH   LINE      ---      ---       #645
+      01001AEDH   LINE      ---      ---       #646
+      01001AF3H   LINE      ---      ---       #647
+      01001AFDH   LINE      ---      ---       #648
+      01001AFDH   LINE      ---      ---       #649
+      01001B03H   LINE      ---      ---       #650
+      01001B04H   LINE      ---      ---       #651
+      01001B10H   LINE      ---      ---       #652
+      01001B10H   LINE      ---      ---       #653
+      01001B28H   LINE      ---      ---       #654
+      01001B2EH   LINE      ---      ---       #655
+      01001B2EH   LINE      ---      ---       #656
+      01001B2EH   LINE      ---      ---       #657
+      01001B2FH   LINE      ---      ---       #659
+      01001B2FH   LINE      ---      ---       #660
+      01001B34H   LINE      ---      ---       #661
+      01001B34H   LINE      ---      ---       #663
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010018EFH   BLOCK     CODE     ---       LVL=0
+      010018EFH   LINE      ---      ---       #667
+      010018EFH   LINE      ---      ---       #668
+      010018EFH   LINE      ---      ---       #669
+      010018F2H   LINE      ---      ---       #671
+      01001900H   LINE      ---      ---       #673
+      01001902H   LINE      ---      ---       #674
+      01001905H   LINE      ---      ---       #675
+      01001907H   LINE      ---      ---       #676
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01003285H   BLOCK     CODE     ---       LVL=0
+      01003285H   LINE      ---      ---       #689
+      01003285H   LINE      ---      ---       #690
+      01003285H   LINE      ---      ---       #692
+      0100328BH   LINE      ---      ---       #693
+      0100328BH   LINE      ---      ---       #694
+      0100328DH   LINE      ---      ---       #695
+      0100328DH   LINE      ---      ---       #697
+      01003293H   LINE      ---      ---       #698
+      01003295H   LINE      ---      ---       #700
+      0100329BH   LINE      ---      ---       #701
+      0100329BH   LINE      ---      ---       #702
+      0100329DH   LINE      ---      ---       #703
+      010032A0H   LINE      ---      ---       #704
+      010032A6H   LINE      ---      ---       #705
+      010032A6H   LINE      ---      ---       #707
+      010032ACH   LINE      ---      ---       #708
+      010032ACH   LINE      ---      ---       #709
+      010032B2H   LINE      ---      ---       #710
+      010032B2H   LINE      ---      ---       #711
+      010032B8H   LINE      ---      ---       #713
+      010032B8H   LINE      ---      ---       #715
+      010032BEH   LINE      ---      ---       #716
+      010032C1H   LINE      ---      ---       #717
+      010032C7H   LINE      ---      ---       #718
+      010032C7H   LINE      ---      ---       #719
+      010032CAH   LINE      ---      ---       #720
+      010032CAH   LINE      ---      ---       #721
+      010032CCH   LINE      ---      ---       #722
+      010032D8H   LINE      ---      ---       #723
+      010032D8H   LINE      ---      ---       #724
+      010032DEH   LINE      ---      ---       #725
+      010032DEH   LINE      ---      ---       #726
+      010032E0H   LINE      ---      ---       #727
+      010032E7H   LINE      ---      ---       #728
+      010032E7H   LINE      ---      ---       #729
+      010032EBH   LINE      ---      ---       #730
+      010032EBH   LINE      ---      ---       #731
+      010032F2H   LINE      ---      ---       #732
+      010032F4H   LINE      ---      ---       #734
+      010032F4H   LINE      ---      ---       #735
+      010032FBH   LINE      ---      ---       #736
+      010032FBH   LINE      ---      ---       #737
+      010032FDH   LINE      ---      ---       #739
+      01003304H   LINE      ---      ---       #740
+      0100330AH   LINE      ---      ---       #741
+      0100330DH   LINE      ---      ---       #742
+      0100330DH   LINE      ---      ---       #743
+      0100330DH   LINE      ---      ---       #746
+      01003313H   LINE      ---      ---       #747
+      01003313H   LINE      ---      ---       #748
+      0100331BH   LINE      ---      ---       #749
+      0100331BH   LINE      ---      ---       #750
+      01003321H   LINE      ---      ---       #751
+      01003325H   LINE      ---      ---       #753
+      0100332BH   LINE      ---      ---       #754
+      0100332BH   LINE      ---      ---       #755
+      01003336H   LINE      ---      ---       #756
+      01003338H   LINE      ---      ---       #757
+      0100333EH   LINE      ---      ---       #758
+      0100333EH   LINE      ---      ---       #760
+      01003349H   LINE      ---      ---       #761
+      01003349H   LINE      ---      ---       #762
+      01003349H   LINE      ---      ---       #763
+      01003349H   LINE      ---      ---       #767
+      0100334FH   LINE      ---      ---       #768
+      0100334FH   LINE      ---      ---       #769
+      01003352H   LINE      ---      ---       #770
+      01003355H   LINE      ---      ---       #771
+      01003355H   LINE      ---      ---       #772
+      0100335BH   LINE      ---      ---       #773
+      0100335BH   LINE      ---      ---       #774
+      01003360H   LINE      ---      ---       #775
+      01003360H   LINE      ---      ---       #776
+      01003360H   LINE      ---      ---       #777
+      01003360H   LINE      ---      ---       #779
+      01003366H   LINE      ---      ---       #780
+      01003369H   LINE      ---      ---       #781
+      0100336CH   LINE      ---      ---       #782
+      0100336CH   LINE      ---      ---       #784
+      01003373H   LINE      ---      ---       #785
+      01003373H   LINE      ---      ---       #786
+      01003379H   LINE      ---      ---       #787
+      01003379H   LINE      ---      ---       #788
+      01003379H   LINE      ---      ---       #789
+      01003379H   LINE      ---      ---       #790
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01002F4EH   BLOCK     CODE     ---       LVL=0
+      01002F4EH   LINE      ---      ---       #804
+      01002F4EH   LINE      ---      ---       #805
+      01002F4EH   LINE      ---      ---       #806
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01002C99H   BLOCK     CODE     ---       LVL=0
+      01002C99H   LINE      ---      ---       #811
+      01002C99H   LINE      ---      ---       #812
+      01002C99H   LINE      ---      ---       #813
+      01002C9BH   LINE      ---      ---       #814
+      01002C9BH   LINE      ---      ---       #815
+      01002C9DH   LINE      ---      ---       #816
+      01002CA0H   LINE      ---      ---       #817
+      01002CA3H   LINE      ---      ---       #818
+      01002CA6H   LINE      ---      ---       #820
+      01002CACH   LINE      ---      ---       #821
+      01002CACH   LINE      ---      ---       #822
+      01002CAEH   LINE      ---      ---       #823
+      01002CAEH   LINE      ---      ---       #825
+      01002CB9H   LINE      ---      ---       #826
+      01002CB9H   LINE      ---      ---       #827
+      01002CBBH   LINE      ---      ---       #829
+      01002CBEH   LINE      ---      ---       #830
+      01002CC0H   LINE      ---      ---       #831
+      01002CC2H   LINE      ---      ---       #832
+      01002CC2H   LINE      ---      ---       #834
+      01002CC2H   LINE      ---      ---       #835
+      01002CDAH   LINE      ---      ---       #837
+      01002CDAH   LINE      ---      ---       #838
+      01002CDCH   LINE      ---      ---       #839
+      01002CDEH   LINE      ---      ---       #840
+      01002CDEH   LINE      ---      ---       #842
+      01002CDEH   LINE      ---      ---       #843
+      01002CE0H   LINE      ---      ---       #844
+      01002CE2H   LINE      ---      ---       #845
+      01002CE4H   LINE      ---      ---       #846
+      01002CE4H   LINE      ---      ---       #847
+      01002CE4H   LINE      ---      ---       #848
       ---         BLOCKEND  ---      ---       LVL=0
 
       ---         MODULE    ---      ---       ADC
-      010018FEH   PUBLIC    CODE     ---       YC_adc_check_timer500ms
-      01001AEAH   PUBLIC    CODE     ---       YC_adc_check
-      01003186H   PUBLIC    CODE     ---       YC_adc_init
-
-      01003186H   BLOCK     CODE     ---       LVL=0
-      01003186H   LINE      ---      ---       #3
-      01003186H   LINE      ---      ---       #4
-      01003186H   BLOCK     CODE     NEAR LAB  LVL=1
-      01003186H   LINE      ---      ---       #8
-      0100318CH   LINE      ---      ---       #9
-      0100318FH   LINE      ---      ---       #30
-      01003195H   LINE      ---      ---       #31
-      01003197H   LINE      ---      ---       #32
-      01003197H   LINE      ---      ---       #33
-      010031A8H   LINE      ---      ---       #34
-      010031ADH   LINE      ---      ---       #35
-      010031FBH   LINE      ---      ---       #36
-      01003249H   LINE      ---      ---       #37
-      01003297H   LINE      ---      ---       #40
+      01001952H   PUBLIC    CODE     ---       YC_adc_check_timer500ms
+      01001B3EH   PUBLIC    CODE     ---       YC_adc_check
+      01003163H   PUBLIC    CODE     ---       YC_adc_init
+
+      01003163H   BLOCK     CODE     ---       LVL=0
+      01003163H   LINE      ---      ---       #3
+      01003163H   LINE      ---      ---       #4
+      01003163H   BLOCK     CODE     NEAR LAB  LVL=1
+      01003163H   LINE      ---      ---       #8
+      01003169H   LINE      ---      ---       #9
+      0100316CH   LINE      ---      ---       #30
+      01003172H   LINE      ---      ---       #31
+      01003174H   LINE      ---      ---       #32
+      01003174H   LINE      ---      ---       #33
+      01003185H   LINE      ---      ---       #34
+      0100318AH   LINE      ---      ---       #35
+      010031D8H   LINE      ---      ---       #36
+      01003226H   LINE      ---      ---       #37
+      01003274H   LINE      ---      ---       #40
       00000007H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001AEAH   BLOCK     CODE     ---       LVL=0
-      01001AEAH   LINE      ---      ---       #42
-      01001AEAH   LINE      ---      ---       #43
-      01001AEAH   BLOCK     CODE     NEAR LAB  LVL=1
-      01001AEAH   LINE      ---      ---       #46
-      01001AF4H   LINE      ---      ---       #48
-      01001B00H   LINE      ---      ---       #51
-      01001B20H   LINE      ---      ---       #52
-      01001B29H   LINE      ---      ---       #53
-      01001B2BH   LINE      ---      ---       #54
-      01001B30H   LINE      ---      ---       #55
-      01001B30H   LINE      ---      ---       #56
-      01001B67H   LINE      ---      ---       #57
-      01001B71H   LINE      ---      ---       #58
-      01001B8EH   LINE      ---      ---       #60
-      01001BADH   LINE      ---      ---       #61
-      01001BB4H   LINE      ---      ---       #62
-      01001BD3H   LINE      ---      ---       #63
-      01001BDBH   LINE      ---      ---       #65
-      01001C36H   LINE      ---      ---       #67
-      01001C4BH   LINE      ---      ---       #68
-      01001C4BH   LINE      ---      ---       #69
-      01001C51H   LINE      ---      ---       #70
-      01001C52H   LINE      ---      ---       #72
-      01001C52H   LINE      ---      ---       #73
-      01001C71H   LINE      ---      ---       #74
-      01001C71H   LINE      ---      ---       #75
-      01001C77H   LINE      ---      ---       #76
-      01001C7DH   LINE      ---      ---       #77
-      01001C7DH   LINE      ---      ---       #78
-      01001C81H   LINE      ---      ---       #79
-      01001C85H   LINE      ---      ---       #80
-      01001C89H   LINE      ---      ---       #81
-      01001C8CH   LINE      ---      ---       #82
-      01001C8CH   LINE      ---      ---       #83
-      01001C8DH   LINE      ---      ---       #85
-      01001C8DH   LINE      ---      ---       #86
-      01001C92H   LINE      ---      ---       #87
-      01001C98H   LINE      ---      ---       #88
-      01001C98H   LINE      ---      ---       #89
-      01001C9CH   LINE      ---      ---       #90
-      01001CA0H   LINE      ---      ---       #91
-      01001CA4H   LINE      ---      ---       #92
-      01001CA7H   LINE      ---      ---       #93
-      01001CA7H   LINE      ---      ---       #94
-      01001CA7H   LINE      ---      ---       #95
-      01001CA7H   LINE      ---      ---       #97
+      01001B3EH   BLOCK     CODE     ---       LVL=0
+      01001B3EH   LINE      ---      ---       #42
+      01001B3EH   LINE      ---      ---       #43
+      01001B3EH   BLOCK     CODE     NEAR LAB  LVL=1
+      01001B3EH   LINE      ---      ---       #46
+      01001B48H   LINE      ---      ---       #48
+      01001B54H   LINE      ---      ---       #51
+      01001B74H   LINE      ---      ---       #52
+      01001B7DH   LINE      ---      ---       #53
+      01001B7FH   LINE      ---      ---       #54
+      01001B84H   LINE      ---      ---       #55
+      01001B84H   LINE      ---      ---       #56
+      01001BBBH   LINE      ---      ---       #57
+      01001BC5H   LINE      ---      ---       #58
+      01001BE2H   LINE      ---      ---       #60
+      01001C01H   LINE      ---      ---       #61
+      01001C08H   LINE      ---      ---       #62
+      01001C27H   LINE      ---      ---       #63
+      01001C2FH   LINE      ---      ---       #65
+      01001C8AH   LINE      ---      ---       #67
+      01001C9FH   LINE      ---      ---       #68
+      01001C9FH   LINE      ---      ---       #69
+      01001CA5H   LINE      ---      ---       #70
+      01001CA6H   LINE      ---      ---       #72
+      01001CA6H   LINE      ---      ---       #73
+      01001CC5H   LINE      ---      ---       #74
+      01001CC5H   LINE      ---      ---       #75
+      01001CCBH   LINE      ---      ---       #76
+      01001CD1H   LINE      ---      ---       #77
+      01001CD1H   LINE      ---      ---       #78
+      01001CD5H   LINE      ---      ---       #79
+      01001CD9H   LINE      ---      ---       #80
+      01001CDDH   LINE      ---      ---       #81
+      01001CE0H   LINE      ---      ---       #82
+      01001CE0H   LINE      ---      ---       #83
+      01001CE1H   LINE      ---      ---       #85
+      01001CE1H   LINE      ---      ---       #86
+      01001CE6H   LINE      ---      ---       #87
+      01001CECH   LINE      ---      ---       #88
+      01001CECH   LINE      ---      ---       #89
+      01001CF0H   LINE      ---      ---       #90
+      01001CF4H   LINE      ---      ---       #91
+      01001CF8H   LINE      ---      ---       #92
+      01001CFBH   LINE      ---      ---       #93
+      01001CFBH   LINE      ---      ---       #94
+      01001CFBH   LINE      ---      ---       #95
+      01001CFBH   LINE      ---      ---       #97
       02004ECAH   SYMBOL    XDATA    VOID      i
       02004ECBH   SYMBOL    XDATA    VOID      batValue
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      010018FEH   BLOCK     CODE     ---       LVL=0
-      010018FEH   LINE      ---      ---       #100
-      010018FEH   LINE      ---      ---       #101
-      010018FEH   LINE      ---      ---       #104
-      01001904H   LINE      ---      ---       #105
-      01001904H   LINE      ---      ---       #106
-      01001906H   LINE      ---      ---       #107
-      01001909H   LINE      ---      ---       #108
-      01001909H   LINE      ---      ---       #109
-      0100190CH   LINE      ---      ---       #110
-      0100190EH   LINE      ---      ---       #111
-      0100190EH   LINE      ---      ---       #112
-      0100190EH   LINE      ---      ---       #114
+      01001952H   BLOCK     CODE     ---       LVL=0
+      01001952H   LINE      ---      ---       #100
+      01001952H   LINE      ---      ---       #101
+      01001952H   LINE      ---      ---       #104
+      01001958H   LINE      ---      ---       #105
+      01001958H   LINE      ---      ---       #106
+      0100195AH   LINE      ---      ---       #107
+      0100195DH   LINE      ---      ---       #108
+      0100195DH   LINE      ---      ---       #109
+      01001960H   LINE      ---      ---       #110
+      01001962H   LINE      ---      ---       #111
+      01001962H   LINE      ---      ---       #112
+      01001962H   LINE      ---      ---       #114
       ---         BLOCKEND  ---      ---       LVL=0
 
       ---         MODULE    ---      ---       RAM
-      01002F9FH   PUBLIC    CODE     ---       main
+      01002FA6H   PUBLIC    CODE     ---       main
 
-      01002F9FH   BLOCK     CODE     ---       LVL=0
-      01002F9FH   LINE      ---      ---       #5
-      01002F9FH   LINE      ---      ---       #6
-      01002F9FH   LINE      ---      ---       #7
+      01002FA6H   BLOCK     CODE     ---       LVL=0
+      01002FA6H   LINE      ---      ---       #5
+      01002FA6H   LINE      ---      ---       #6
+      01002FA6H   LINE      ---      ---       #7
       ---         BLOCKEND  ---      ---       LVL=0
 
       ---         MODULE    ---      ---       IPC
@@ -2957,39 +2949,39 @@
       02000C4BH   PUBLIC    XDATA    ---       ipcReadBuff
       0200054FH   PUBLIC    XDATA    BYTE      ipcPinlen
       02000B7EH   PUBLIC    XDATA    BYTE      current_task
-      01002CEEH   PUBLIC    CODE     ---       IPC_DealSingleStep
-      01002600H   PUBLIC    CODE     ---       IPC_IsTxBuffEmpty
-      01002FA1H   PUBLIC    CODE     ---       IPC_AbandonLpm
-      01002CE0H   PUBLIC    CODE     ---       IPC_WaitLpm
-      01002F4DH   PUBLIC    CODE     ---       _IPC_Initialize
-      01003404H   PUBLIC    CODE     ---       IPC_GetBBDIsconnectReason
+      01002CF5H   PUBLIC    CODE     ---       IPC_DealSingleStep
+      01002607H   PUBLIC    CODE     ---       IPC_IsTxBuffEmpty
+      01002FA8H   PUBLIC    CODE     ---       IPC_AbandonLpm
+      01002CE7H   PUBLIC    CODE     ---       IPC_WaitLpm
+      01002F54H   PUBLIC    CODE     ---       _IPC_Initialize
+      010033E1H   PUBLIC    CODE     ---       IPC_GetBBDIsconnectReason
       01000FE8H   PUBLIC    CODE     ---       _IPC_TxBleData
       01000FF0H   PUBLIC    CODE     ---       _IPC_TxSppData
       01000FE0H   PUBLIC    CODE     ---       _IPC_Tx24GData
-      010033F7H   PUBLIC    CODE     ---       _IPC_TxBREDRHidData
+      010033D4H   PUBLIC    CODE     ---       _IPC_TxBREDRHidData
       01000FBBH   PUBLIC    CODE     ---       _IPC_TxData
       01000ECAH   PUBLIC    CODE     ---       _IPC_TxControlCmd
 
-      0100339DH   BLOCK     CODE     ---       LVL=0
-      0100339DH   LINE      ---      ---       #44
-      010033ADH   LINE      ---      ---       #45
-      010033ADH   LINE      ---      ---       #46
-      010033F6H   LINE      ---      ---       #47
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01002EF7H   BLOCK     CODE     ---       LVL=0
-      01002EF7H   LINE      ---      ---       #49
-      01002F01H   LINE      ---      ---       #50
-      01002F01H   BLOCK     CODE     NEAR LAB  LVL=1
-      01002F01H   LINE      ---      ---       #51
-      01002F09H   LINE      ---      ---       #52
-      01002F0FH   LINE      ---      ---       #53
-      01002F2EH   LINE      ---      ---       #54
-      01002F38H   LINE      ---      ---       #55
-      01002F3CH   LINE      ---      ---       #56
-      01002F3CH   LINE      ---      ---       #57
-      01002F3EH   LINE      ---      ---       #58
-      01002F46H   LINE      ---      ---       #59
+      0100337AH   BLOCK     CODE     ---       LVL=0
+      0100337AH   LINE      ---      ---       #44
+      0100338AH   LINE      ---      ---       #45
+      0100338AH   LINE      ---      ---       #46
+      010033D3H   LINE      ---      ---       #47
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01002EFEH   BLOCK     CODE     ---       LVL=0
+      01002EFEH   LINE      ---      ---       #49
+      01002F08H   LINE      ---      ---       #50
+      01002F08H   BLOCK     CODE     NEAR LAB  LVL=1
+      01002F08H   LINE      ---      ---       #51
+      01002F10H   LINE      ---      ---       #52
+      01002F16H   LINE      ---      ---       #53
+      01002F35H   LINE      ---      ---       #54
+      01002F3FH   LINE      ---      ---       #55
+      01002F43H   LINE      ---      ---       #56
+      01002F43H   LINE      ---      ---       #57
+      01002F45H   LINE      ---      ---       #58
+      01002F4DH   LINE      ---      ---       #59
       00000006H   SYMBOL    DATA     VOID      src
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
@@ -3031,13 +3023,13 @@
       01000FD1H   LINE      ---      ---       #87
       ---         BLOCKEND  ---      ---       LVL=0
 
-      010033F7H   BLOCK     CODE     ---       LVL=0
-      010033F7H   LINE      ---      ---       #90
-      010033F7H   LINE      ---      ---       #91
-      010033F7H   LINE      ---      ---       #92
-      010033FDH   LINE      ---      ---       #93
-      01003400H   LINE      ---      ---       #94
-      01003403H   LINE      ---      ---       #95
+      010033D4H   BLOCK     CODE     ---       LVL=0
+      010033D4H   LINE      ---      ---       #90
+      010033D4H   LINE      ---      ---       #91
+      010033D4H   LINE      ---      ---       #92
+      010033DAH   LINE      ---      ---       #93
+      010033DDH   LINE      ---      ---       #94
+      010033E0H   LINE      ---      ---       #95
       ---         BLOCKEND  ---      ---       LVL=0
 
       01000FE0H   BLOCK     CODE     ---       LVL=0
@@ -3061,108 +3053,108 @@
       01000FEEH   LINE      ---      ---       #112
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01003404H   BLOCK     CODE     ---       LVL=0
-      01003404H   LINE      ---      ---       #115
-      01003404H   LINE      ---      ---       #116
-      01003404H   LINE      ---      ---       #117
-      01003409H   LINE      ---      ---       #118
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01002F4DH   BLOCK     CODE     ---       LVL=0
-      01002F4DH   LINE      ---      ---       #120
-      01002F4DH   LINE      ---      ---       #121
-      01002F4DH   LINE      ---      ---       #122
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01002CE0H   BLOCK     CODE     ---       LVL=0
-      01002CE0H   LINE      ---      ---       #125
-      01002CE0H   LINE      ---      ---       #126
-      01002CE0H   LINE      ---      ---       #127
-      01002CE5H   LINE      ---      ---       #128
-      01002CE9H   LINE      ---      ---       #129
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01002FA1H   BLOCK     CODE     ---       LVL=0
-      01002FA1H   LINE      ---      ---       #132
-      01002FA1H   LINE      ---      ---       #133
-      01002FA1H   LINE      ---      ---       #134
-      01002FA7H   LINE      ---      ---       #135
-      01002FACH   LINE      ---      ---       #136
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01002600H   BLOCK     CODE     ---       LVL=0
-      01002600H   LINE      ---      ---       #138
-      01002600H   LINE      ---      ---       #139
-      01002600H   LINE      ---      ---       #140
-      01002614H   LINE      ---      ---       #141
-      01002616H   LINE      ---      ---       #142
-      01002617H   LINE      ---      ---       #143
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01002CEEH   BLOCK     CODE     ---       LVL=0
-      01002CEEH   LINE      ---      ---       #146
-      01002CEEH   LINE      ---      ---       #147
-      01002CEEH   BLOCK     CODE     NEAR LAB  LVL=1
-      01002CEEH   LINE      ---      ---       #148
-      01002D00H   LINE      ---      ---       #149
-      01002D16H   LINE      ---      ---       #150
-      01002D16H   LINE      ---      ---       #151
-      01002D1EH   LINE      ---      ---       #152
-      01002D2FH   LINE      ---      ---       #153
-      01002D39H   LINE      ---      ---       #154
-      01002D58H   LINE      ---      ---       #155
-      01002D5AH   LINE      ---      ---       #156
-      01002D6CH   LINE      ---      ---       #157
-      01002D75H   LINE      ---      ---       #158
-      01002D8BH   LINE      ---      ---       #159
-      01002DC3H   LINE      ---      ---       #160
-      01002DC5H   LINE      ---      ---       #161
-      01002DD7H   LINE      ---      ---       #162
-      01002DE0H   LINE      ---      ---       #163
-      01002DF6H   LINE      ---      ---       #164
-      01002E2EH   LINE      ---      ---       #165
-      01002E30H   LINE      ---      ---       #166
-      01002E42H   LINE      ---      ---       #167
-      01002E4BH   LINE      ---      ---       #168
-      01002E61H   LINE      ---      ---       #169
-      01002E99H   LINE      ---      ---       #170
-      01002E9BH   LINE      ---      ---       #171
-      01002E9BH   LINE      ---      ---       #172
-      01002E9DH   LINE      ---      ---       #173
-      01002E9DH   LINE      ---      ---       #174
-      01002E9DH   LINE      ---      ---       #175
-      01002EB1H   LINE      ---      ---       #176
-      01002EBFH   LINE      ---      ---       #178
-      01002EC2H   LINE      ---      ---       #180
-      01002ED1H   LINE      ---      ---       #181
-      01002ED3H   LINE      ---      ---       #182
-      01002EDDH   LINE      ---      ---       #183
-      01002EEBH   LINE      ---      ---       #185
-      01002EEEH   LINE      ---      ---       #187
-      01002EF4H   LINE      ---      ---       #188
-      01002EF6H   LINE      ---      ---       #190
-      01002E9DH   SYMBOL    ---      ---       IPC_TIMERingleStep
+      010033E1H   BLOCK     CODE     ---       LVL=0
+      010033E1H   LINE      ---      ---       #115
+      010033E1H   LINE      ---      ---       #116
+      010033E1H   LINE      ---      ---       #117
+      010033E6H   LINE      ---      ---       #118
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01002F54H   BLOCK     CODE     ---       LVL=0
+      01002F54H   LINE      ---      ---       #120
+      01002F54H   LINE      ---      ---       #121
+      01002F54H   LINE      ---      ---       #122
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01002CE7H   BLOCK     CODE     ---       LVL=0
+      01002CE7H   LINE      ---      ---       #125
+      01002CE7H   LINE      ---      ---       #126
+      01002CE7H   LINE      ---      ---       #127
+      01002CECH   LINE      ---      ---       #128
+      01002CF0H   LINE      ---      ---       #129
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01002FA8H   BLOCK     CODE     ---       LVL=0
+      01002FA8H   LINE      ---      ---       #132
+      01002FA8H   LINE      ---      ---       #133
+      01002FA8H   LINE      ---      ---       #134
+      01002FAEH   LINE      ---      ---       #135
+      01002FB3H   LINE      ---      ---       #136
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01002607H   BLOCK     CODE     ---       LVL=0
+      01002607H   LINE      ---      ---       #138
+      01002607H   LINE      ---      ---       #139
+      01002607H   LINE      ---      ---       #140
+      0100261BH   LINE      ---      ---       #141
+      0100261DH   LINE      ---      ---       #142
+      0100261EH   LINE      ---      ---       #143
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01002CF5H   BLOCK     CODE     ---       LVL=0
+      01002CF5H   LINE      ---      ---       #146
+      01002CF5H   LINE      ---      ---       #147
+      01002CF5H   BLOCK     CODE     NEAR LAB  LVL=1
+      01002CF5H   LINE      ---      ---       #148
+      01002D07H   LINE      ---      ---       #149
+      01002D1DH   LINE      ---      ---       #150
+      01002D1DH   LINE      ---      ---       #151
+      01002D25H   LINE      ---      ---       #152
+      01002D36H   LINE      ---      ---       #153
+      01002D40H   LINE      ---      ---       #154
+      01002D5FH   LINE      ---      ---       #155
+      01002D61H   LINE      ---      ---       #156
+      01002D73H   LINE      ---      ---       #157
+      01002D7CH   LINE      ---      ---       #158
+      01002D92H   LINE      ---      ---       #159
+      01002DCAH   LINE      ---      ---       #160
+      01002DCCH   LINE      ---      ---       #161
+      01002DDEH   LINE      ---      ---       #162
+      01002DE7H   LINE      ---      ---       #163
+      01002DFDH   LINE      ---      ---       #164
+      01002E35H   LINE      ---      ---       #165
+      01002E37H   LINE      ---      ---       #166
+      01002E49H   LINE      ---      ---       #167
+      01002E52H   LINE      ---      ---       #168
+      01002E68H   LINE      ---      ---       #169
+      01002EA0H   LINE      ---      ---       #170
+      01002EA2H   LINE      ---      ---       #171
+      01002EA2H   LINE      ---      ---       #172
+      01002EA4H   LINE      ---      ---       #173
+      01002EA4H   LINE      ---      ---       #174
+      01002EA4H   LINE      ---      ---       #175
+      01002EB8H   LINE      ---      ---       #176
+      01002EC6H   LINE      ---      ---       #178
+      01002EC9H   LINE      ---      ---       #180
+      01002ED8H   LINE      ---      ---       #181
+      01002EDAH   LINE      ---      ---       #182
+      01002EE4H   LINE      ---      ---       #183
+      01002EF2H   LINE      ---      ---       #185
+      01002EF5H   LINE      ---      ---       #187
+      01002EFBH   LINE      ---      ---       #188
+      01002EFDH   LINE      ---      ---       #190
+      01002EA4H   SYMBOL    ---      ---       IPC_TIMERingleStep
       02004EEDH   SYMBOL    XDATA    VOID      pbuff
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
       ---         MODULE    ---      ---       UTILITIES
       02004EABH   PUBLIC    XDATA    BYTE      ?_compare_str?BYTE
-      01002648H   PUBLIC    CODE     ---       _compare_str
-      010015B2H   PUBLIC    CODE     ---       _Delay1ms
-      010034F0H   PUBLIC    CODE     ---       _xmemclear_ff
+      0100264FH   PUBLIC    CODE     ---       _compare_str
+      01001595H   PUBLIC    CODE     ---       _Delay1ms
+      010034CDH   PUBLIC    CODE     ---       _xmemclear_ff
       01000B6BH   PUBLIC    CODE     ---       _xmemclear
       02004E9CH   PUBLIC    XDATA    BYTE      ?_dmemcpy?BYTE
-      01003411H   PUBLIC    CODE     ---       _dmemcpy
+      010033EEH   PUBLIC    CODE     ---       _dmemcpy
       02004EBFH   PUBLIC    XDATA    BYTE      ?_xmemcpy?BYTE
       0100087DH   PUBLIC    CODE     ---       _xmemcpy
-      0100340AH   PUBLIC    CODE     ---       YC_Ice_break
+      010033E7H   PUBLIC    CODE     ---       YC_Ice_break
 
-      0100340AH   BLOCK     CODE     ---       LVL=0
-      0100340AH   LINE      ---      ---       #3
-      0100340AH   LINE      ---      ---       #4
-      0100340AH   LINE      ---      ---       #5
-      01003410H   LINE      ---      ---       #7
+      010033E7H   BLOCK     CODE     ---       LVL=0
+      010033E7H   LINE      ---      ---       #3
+      010033E7H   LINE      ---      ---       #4
+      010033E7H   LINE      ---      ---       #5
+      010033EDH   LINE      ---      ---       #7
       ---         BLOCKEND  ---      ---       LVL=0
 
       0100087DH   BLOCK     CODE     ---       LVL=0
@@ -3173,12 +3165,12 @@
       010008BFH   LINE      ---      ---       #14
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01003411H   BLOCK     CODE     ---       LVL=0
-      01003411H   LINE      ---      ---       #16
-      0100341CH   LINE      ---      ---       #17
-      0100341CH   LINE      ---      ---       #18
-      0100342AH   LINE      ---      ---       #19
-      01003454H   LINE      ---      ---       #21
+      010033EEH   BLOCK     CODE     ---       LVL=0
+      010033EEH   LINE      ---      ---       #16
+      010033F9H   LINE      ---      ---       #17
+      010033F9H   LINE      ---      ---       #18
+      01003407H   LINE      ---      ---       #19
+      01003431H   LINE      ---      ---       #21
       ---         BLOCKEND  ---      ---       LVL=0
 
       01000B6BH   BLOCK     CODE     ---       LVL=0
@@ -3189,36 +3181,36 @@
       01000B96H   LINE      ---      ---       #28
       ---         BLOCKEND  ---      ---       LVL=0
 
-      010034F0H   BLOCK     CODE     ---       LVL=0
-      010034F0H   LINE      ---      ---       #30
-      010034FBH   LINE      ---      ---       #31
-      010034FBH   LINE      ---      ---       #32
-      01003505H   LINE      ---      ---       #33
-      0100351CH   LINE      ---      ---       #35
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010015B2H   BLOCK     CODE     ---       LVL=0
-      010015B2H   LINE      ---      ---       #46
-      010015B2H   LINE      ---      ---       #47
-      010015B2H   BLOCK     CODE     NEAR LAB  LVL=1
-      010015B2H   LINE      ---      ---       #49
-      010015B8H   LINE      ---      ---       #50
-      010015C6H   LINE      ---      ---       #51
-      010015C9H   LINE      ---      ---       #52
+      010034CDH   BLOCK     CODE     ---       LVL=0
+      010034CDH   LINE      ---      ---       #30
+      010034D8H   LINE      ---      ---       #31
+      010034D8H   LINE      ---      ---       #32
+      010034E2H   LINE      ---      ---       #33
+      010034F9H   LINE      ---      ---       #35
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001595H   BLOCK     CODE     ---       LVL=0
+      01001595H   LINE      ---      ---       #46
+      01001595H   LINE      ---      ---       #47
+      01001595H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001595H   LINE      ---      ---       #49
+      0100159BH   LINE      ---      ---       #50
+      010015A9H   LINE      ---      ---       #51
+      010015ACH   LINE      ---      ---       #52
       00000004H   SYMBOL    DATA     VOID      j
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01002648H   BLOCK     CODE     ---       LVL=0
-      01002648H   LINE      ---      ---       #54
-      01002653H   LINE      ---      ---       #55
-      01002653H   BLOCK     CODE     NEAR LAB  LVL=1
-      01002653H   LINE      ---      ---       #57
-      0100265FH   LINE      ---      ---       #58
-      01002689H   LINE      ---      ---       #59
-      0100268CH   LINE      ---      ---       #60
-      0100268FH   LINE      ---      ---       #61
-      01002691H   LINE      ---      ---       #62
+      0100264FH   BLOCK     CODE     ---       LVL=0
+      0100264FH   LINE      ---      ---       #54
+      0100265AH   LINE      ---      ---       #55
+      0100265AH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100265AH   LINE      ---      ---       #57
+      01002666H   LINE      ---      ---       #58
+      01002690H   LINE      ---      ---       #59
+      01002693H   LINE      ---      ---       #60
+      01002696H   LINE      ---      ---       #61
+      01002698H   LINE      ---      ---       #62
       00000007H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
@@ -3226,248 +3218,248 @@
       ---         MODULE    ---      ---       GPIO
       020000A3H   PUBLIC    XDATA    ---       YC_GPIOWakeupL
       020000A7H   PUBLIC    XDATA    ---       YC_GPIOWakeupH
-      010035DFH   PUBLIC    CODE     ---       GPIO_fillpd
-      01001351H   PUBLIC    CODE     ---       _GPIO_FlipOutBit
-      01002BF3H   PUBLIC    CODE     ---       _GPIO_SetWakeupByCurrentState
-      010035A0H   PUBLIC    CODE     ---       _GPIO_ClearWakeup
+      0100357CH   PUBLIC    CODE     ---       GPIO_fillpd
+      01001326H   PUBLIC    CODE     ---       _GPIO_FlipOutBit
+      01002BFAH   PUBLIC    CODE     ---       _GPIO_SetWakeupByCurrentState
+      0100353DH   PUBLIC    CODE     ---       _GPIO_ClearWakeup
       00000020H.7 PUBLIC    BIT      BIT       ?_GPIO_SetWakeup?BIT
-      01002C06H   PUBLIC    CODE     ---       _GPIO_SetWakeup
+      01002C0DH   PUBLIC    CODE     ---       _GPIO_SetWakeup
       00000020H.6 PUBLIC    BIT      BIT       ?_GPIO_SetOutput?BIT
-      01001728H   PUBLIC    CODE     ---       _GPIO_SetOutput
+      0100170BH   PUBLIC    CODE     ---       _GPIO_SetOutput
       00000020H.5 PUBLIC    BIT      BIT       ?_GPIO_SetInput?BIT
-      01001FB5H   PUBLIC    CODE     ---       _GPIO_SetInput
+      0100350CH   PUBLIC    CODE     ---       _GPIO_SetInput
       00000020H.4 PUBLIC    BIT      BIT       ?_GPIO_Setoe?BIT
-      0100358FH   PUBLIC    CODE     ---       _GPIO_Setoe
+      0100352BH   PUBLIC    CODE     ---       _GPIO_Setoe
       00000020H.3 PUBLIC    BIT      BIT       ?_GPIO_SetPd?BIT
-      0100357EH   PUBLIC    CODE     ---       _GPIO_SetPd
+      010034FAH   PUBLIC    CODE     ---       _GPIO_SetPd
       00000020H.2 PUBLIC    BIT      BIT       ?_GPIO_SetPu?BIT
-      01001FD5H   PUBLIC    CODE     ---       _GPIO_SetPu
+      010017C9H   PUBLIC    CODE     ---       _GPIO_SetPu
       00000020H.1 PUBLIC    BIT      BIT       ?_GPIO_Setout?BIT
-      01001268H   PUBLIC    CODE     ---       _GPIO_Setout
-      01002F5AH   PUBLIC    CODE     ---       _GPIO_GetInputStatus
+      0100123EH   PUBLIC    CODE     ---       _GPIO_Setout
+      01002F61H   PUBLIC    CODE     ---       _GPIO_GetInputStatus
 
-      0100351DH   BLOCK     CODE     ---       LVL=0
-      0100351DH   LINE      ---      ---       #9
-      01003528H   LINE      ---      ---       #10
-      01003528H   BLOCK     CODE     NEAR LAB  LVL=1
-      01003528H   LINE      ---      ---       #11
-      0100352AH   LINE      ---      ---       #12
-      0100352BH   LINE      ---      ---       #14
-      0100352FH   LINE      ---      ---       #15
-      01003536H   LINE      ---      ---       #17
-      01003539H   LINE      ---      ---       #18
-      0100355BH   LINE      ---      ---       #19
-      0100355BH   LINE      ---      ---       #21
-      0100355BH   LINE      ---      ---       #22
+      010017F4H   BLOCK     CODE     ---       LVL=0
+      010017F4H   LINE      ---      ---       #9
+      010017FFH   LINE      ---      ---       #10
+      010017FFH   BLOCK     CODE     NEAR LAB  LVL=1
+      010017FFH   LINE      ---      ---       #11
+      01001801H   LINE      ---      ---       #12
+      01001802H   LINE      ---      ---       #14
+      01001806H   LINE      ---      ---       #15
+      0100180DH   LINE      ---      ---       #17
+      01001810H   LINE      ---      ---       #18
+      01001832H   LINE      ---      ---       #19
+      01001832H   LINE      ---      ---       #21
+      01001832H   LINE      ---      ---       #22
       00000006H   SYMBOL    DATA     VOID      queue
       00000005H   SYMBOL    DATA     VOID      group
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01002F60H   BLOCK     CODE     ---       LVL=0
-      01002F60H   LINE      ---      ---       #26
-      01002F62H   LINE      ---      ---       #27
-      01002F62H   BLOCK     CODE     NEAR LAB  LVL=1
-      01002F62H   LINE      ---      ---       #28
-      01002F67H   LINE      ---      ---       #29
-      01002F68H   LINE      ---      ---       #31
-      01002F6CH   LINE      ---      ---       #32
-      01002F73H   LINE      ---      ---       #33
-      01002F9EH   LINE      ---      ---       #35
+      01002F67H   BLOCK     CODE     ---       LVL=0
+      01002F67H   LINE      ---      ---       #26
+      01002F69H   LINE      ---      ---       #27
+      01002F69H   BLOCK     CODE     NEAR LAB  LVL=1
+      01002F69H   LINE      ---      ---       #28
+      01002F6EH   LINE      ---      ---       #29
+      01002F6FH   LINE      ---      ---       #31
+      01002F73H   LINE      ---      ---       #32
+      01002F7AH   LINE      ---      ---       #33
+      01002FA5H   LINE      ---      ---       #35
       02004F09H   SYMBOL    XDATA    VOID      queue
       00000006H   SYMBOL    DATA     VOID      group
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01002F5AH   BLOCK     CODE     ---       LVL=0
-      01002F5AH   LINE      ---      ---       #37
-      01002F5AH   LINE      ---      ---       #38
-      01002F5AH   LINE      ---      ---       #39
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001268H   BLOCK     CODE     ---       LVL=0
-      01001268H   LINE      ---      ---       #42
-      01001268H   LINE      ---      ---       #43
-      01001268H   LINE      ---      ---       #44
-      0100126CH   LINE      ---      ---       #46
-      01001279H   LINE      ---      ---       #47
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001FD5H   BLOCK     CODE     ---       LVL=0
-      01001FD5H   LINE      ---      ---       #49
-      01001FD5H   LINE      ---      ---       #50
-      01001FD5H   LINE      ---      ---       #51
-      01001FD9H   LINE      ---      ---       #53
-      01001FE6H   LINE      ---      ---       #54
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      0100357EH   BLOCK     CODE     ---       LVL=0
-      0100357EH   LINE      ---      ---       #56
-      0100357EH   LINE      ---      ---       #57
-      0100357EH   LINE      ---      ---       #58
-      01003582H   LINE      ---      ---       #60
-      0100358EH   LINE      ---      ---       #61
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      0100358FH   BLOCK     CODE     ---       LVL=0
-      0100358FH   LINE      ---      ---       #63
-      0100358FH   LINE      ---      ---       #64
-      0100358FH   LINE      ---      ---       #65
-      01003593H   LINE      ---      ---       #67
-      0100359FH   LINE      ---      ---       #68
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001FB5H   BLOCK     CODE     ---       LVL=0
-      01001FB5H   LINE      ---      ---       #70
-      01001FB7H   LINE      ---      ---       #71
-      01001FB7H   LINE      ---      ---       #72
-      01001FBBH   LINE      ---      ---       #74
-      01001FC4H   LINE      ---      ---       #75
-      01001FCDH   LINE      ---      ---       #76
-      01001FD4H   LINE      ---      ---       #77
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001728H   BLOCK     CODE     ---       LVL=0
-      01001728H   LINE      ---      ---       #79
-      0100172AH   LINE      ---      ---       #80
-      0100172AH   LINE      ---      ---       #81
-      0100172EH   LINE      ---      ---       #83
-      01001735H   LINE      ---      ---       #84
-      0100173DH   LINE      ---      ---       #85
-      01001744H   LINE      ---      ---       #86
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01002C06H   BLOCK     CODE     ---       LVL=0
-      01002C06H   LINE      ---      ---       #88
-      01002C06H   LINE      ---      ---       #89
-      01002C06H   BLOCK     CODE     NEAR LAB  LVL=1
-      01002C06H   LINE      ---      ---       #92
-      01002C0CH   LINE      ---      ---       #94
-      01002C10H   LINE      ---      ---       #95
-      01002C17H   LINE      ---      ---       #96
-      01002C1AH   LINE      ---      ---       #97
-      01002C3BH   LINE      ---      ---       #98
-      01002C5CH   LINE      ---      ---       #99
-      01002C5DH   LINE      ---      ---       #101
-      01002C5DH   LINE      ---      ---       #102
-      01002C7FH   LINE      ---      ---       #103
-      01002C91H   LINE      ---      ---       #104
-      01002C91H   LINE      ---      ---       #105
+      01002F61H   BLOCK     CODE     ---       LVL=0
+      01002F61H   LINE      ---      ---       #37
+      01002F61H   LINE      ---      ---       #38
+      01002F61H   LINE      ---      ---       #39
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100123EH   BLOCK     CODE     ---       LVL=0
+      0100123EH   LINE      ---      ---       #42
+      0100123EH   LINE      ---      ---       #43
+      0100123EH   LINE      ---      ---       #44
+      01001242H   LINE      ---      ---       #46
+      0100124EH   LINE      ---      ---       #47
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010017C9H   BLOCK     CODE     ---       LVL=0
+      010017C9H   LINE      ---      ---       #49
+      010017C9H   LINE      ---      ---       #50
+      010017C9H   LINE      ---      ---       #51
+      010017CDH   LINE      ---      ---       #53
+      010017D9H   LINE      ---      ---       #54
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010034FAH   BLOCK     CODE     ---       LVL=0
+      010034FAH   LINE      ---      ---       #56
+      010034FAH   LINE      ---      ---       #57
+      010034FAH   LINE      ---      ---       #58
+      010034FEH   LINE      ---      ---       #60
+      0100350BH   LINE      ---      ---       #61
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100352BH   BLOCK     CODE     ---       LVL=0
+      0100352BH   LINE      ---      ---       #63
+      0100352BH   LINE      ---      ---       #64
+      0100352BH   LINE      ---      ---       #65
+      0100352FH   LINE      ---      ---       #67
+      0100353CH   LINE      ---      ---       #68
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100350CH   BLOCK     CODE     ---       LVL=0
+      0100350CH   LINE      ---      ---       #70
+      0100350EH   LINE      ---      ---       #71
+      0100350EH   LINE      ---      ---       #72
+      01003512H   LINE      ---      ---       #74
+      0100351AH   LINE      ---      ---       #75
+      01003524H   LINE      ---      ---       #76
+      0100352AH   LINE      ---      ---       #77
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100170BH   BLOCK     CODE     ---       LVL=0
+      0100170BH   LINE      ---      ---       #79
+      0100170DH   LINE      ---      ---       #80
+      0100170DH   LINE      ---      ---       #81
+      01001711H   LINE      ---      ---       #83
+      01001718H   LINE      ---      ---       #84
+      01001720H   LINE      ---      ---       #85
+      01001726H   LINE      ---      ---       #86
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01002C0DH   BLOCK     CODE     ---       LVL=0
+      01002C0DH   LINE      ---      ---       #88
+      01002C0DH   LINE      ---      ---       #89
+      01002C0DH   BLOCK     CODE     NEAR LAB  LVL=1
+      01002C0DH   LINE      ---      ---       #92
+      01002C13H   LINE      ---      ---       #94
+      01002C17H   LINE      ---      ---       #95
+      01002C1EH   LINE      ---      ---       #96
+      01002C21H   LINE      ---      ---       #97
+      01002C42H   LINE      ---      ---       #98
+      01002C63H   LINE      ---      ---       #99
+      01002C64H   LINE      ---      ---       #101
+      01002C64H   LINE      ---      ---       #102
+      01002C86H   LINE      ---      ---       #103
+      01002C98H   LINE      ---      ---       #104
+      01002C98H   LINE      ---      ---       #105
       00000006H   SYMBOL    DATA     VOID      queue
       00000007H   SYMBOL    DATA     VOID      group
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      010035A0H   BLOCK     CODE     ---       LVL=0
-      010035A0H   LINE      ---      ---       #107
-      010035A0H   LINE      ---      ---       #108
-      010035A0H   BLOCK     CODE     NEAR LAB  LVL=1
-      010035A0H   LINE      ---      ---       #111
-      010035A4H   LINE      ---      ---       #113
-      010035A8H   LINE      ---      ---       #114
-      010035AFH   LINE      ---      ---       #115
-      010035D1H   LINE      ---      ---       #116
-      010035DEH   LINE      ---      ---       #117
+      0100353DH   BLOCK     CODE     ---       LVL=0
+      0100353DH   LINE      ---      ---       #107
+      0100353DH   LINE      ---      ---       #108
+      0100353DH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100353DH   LINE      ---      ---       #111
+      01003541H   LINE      ---      ---       #113
+      01003545H   LINE      ---      ---       #114
+      0100354CH   LINE      ---      ---       #115
+      0100356EH   LINE      ---      ---       #116
+      0100357BH   LINE      ---      ---       #117
       00000006H   SYMBOL    DATA     VOID      queue
       00000007H   SYMBOL    DATA     VOID      group
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01002BF3H   BLOCK     CODE     ---       LVL=0
-      01002BF3H   LINE      ---      ---       #119
-      01002BF8H   LINE      ---      ---       #120
-      01002BF8H   BLOCK     CODE     NEAR LAB  LVL=1
-      01002BF8H   LINE      ---      ---       #121
-      01002BFCH   LINE      ---      ---       #122
+      01002BFAH   BLOCK     CODE     ---       LVL=0
+      01002BFAH   LINE      ---      ---       #119
+      01002BFFH   LINE      ---      ---       #120
+      01002BFFH   BLOCK     CODE     NEAR LAB  LVL=1
+      01002BFFH   LINE      ---      ---       #121
+      01002C03H   LINE      ---      ---       #122
       00000021H.0 SYMBOL    BIT      VOID      st
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001351H   BLOCK     CODE     ---       LVL=0
-      01001351H   LINE      ---      ---       #125
-      01001356H   LINE      ---      ---       #126
-      01001356H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001356H   LINE      ---      ---       #127
-      01001361H   LINE      ---      ---       #128
+      01001326H   BLOCK     CODE     ---       LVL=0
+      01001326H   LINE      ---      ---       #125
+      0100132BH   LINE      ---      ---       #126
+      0100132BH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100132BH   LINE      ---      ---       #127
+      01001336H   LINE      ---      ---       #128
       00000021H.1 SYMBOL    BIT      VOID      st
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      010035DFH   BLOCK     CODE     ---       LVL=0
-      010035DFH   LINE      ---      ---       #131
-      010035DFH   LINE      ---      ---       #132
-      010035DFH   BLOCK     CODE     NEAR LAB  LVL=1
-      010035DFH   LINE      ---      ---       #134
-      010035E1H   LINE      ---      ---       #135
-      01003612H   LINE      ---      ---       #136
+      0100357CH   BLOCK     CODE     ---       LVL=0
+      0100357CH   LINE      ---      ---       #131
+      0100357CH   LINE      ---      ---       #132
+      0100357CH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100357CH   LINE      ---      ---       #134
+      0100357EH   LINE      ---      ---       #135
+      010035AFH   LINE      ---      ---       #136
       00000007H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
       ---         MODULE    ---      ---       IIC
-      01001504H   PUBLIC    CODE     ---       _IIC_WriteBlock
-      01003455H   PUBLIC    CODE     ---       _IIC_write
-      01001678H   PUBLIC    CODE     ---       _IIC_Read
-
-      010017E7H   BLOCK     CODE     ---       LVL=0
-      010017E7H   LINE      ---      ---       #11
-      010017E7H   LINE      ---      ---       #12
-      010017E7H   LINE      ---      ---       #13
-      010017EEH   LINE      ---      ---       #14
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001678H   BLOCK     CODE     ---       LVL=0
-      01001678H   LINE      ---      ---       #16
-      01001689H   LINE      ---      ---       #17
-      01001689H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001689H   LINE      ---      ---       #18
-      01001689H   LINE      ---      ---       #19
-      01001692H   LINE      ---      ---       #20
-      01001698H   LINE      ---      ---       #21
-      0100169EH   LINE      ---      ---       #22
-      010016A4H   LINE      ---      ---       #23
-      010016BDH   LINE      ---      ---       #24
-      010016D2H   LINE      ---      ---       #25
-      010016EBH   LINE      ---      ---       #26
-      010016F1H   LINE      ---      ---       #27
-      010016F9H   LINE      ---      ---       #28
-      01001700H   LINE      ---      ---       #29
-      01001700H   LINE      ---      ---       #30
-      01001707H   LINE      ---      ---       #31
-      01001709H   LINE      ---      ---       #32
+      010014E7H   PUBLIC    CODE     ---       _IIC_WriteBlock
+      01003432H   PUBLIC    CODE     ---       _IIC_write
+      0100165BH   PUBLIC    CODE     ---       _IIC_Read
+
+      010017DAH   BLOCK     CODE     ---       LVL=0
+      010017DAH   LINE      ---      ---       #11
+      010017DAH   LINE      ---      ---       #12
+      010017DAH   LINE      ---      ---       #13
+      010017E1H   LINE      ---      ---       #14
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100165BH   BLOCK     CODE     ---       LVL=0
+      0100165BH   LINE      ---      ---       #16
+      0100166CH   LINE      ---      ---       #17
+      0100166CH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100166CH   LINE      ---      ---       #18
+      0100166CH   LINE      ---      ---       #19
+      01001675H   LINE      ---      ---       #20
+      0100167BH   LINE      ---      ---       #21
+      01001681H   LINE      ---      ---       #22
+      01001687H   LINE      ---      ---       #23
+      010016A0H   LINE      ---      ---       #24
+      010016B5H   LINE      ---      ---       #25
+      010016CEH   LINE      ---      ---       #26
+      010016D4H   LINE      ---      ---       #27
+      010016DCH   LINE      ---      ---       #28
+      010016E3H   LINE      ---      ---       #29
+      010016E3H   LINE      ---      ---       #30
+      010016EAH   LINE      ---      ---       #31
+      010016ECH   LINE      ---      ---       #32
       00000006H   SYMBOL    DATA     VOID      mem_src
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01003455H   BLOCK     CODE     ---       LVL=0
-      01003455H   LINE      ---      ---       #35
-      01003470H   LINE      ---      ---       #36
-      01003470H   LINE      ---      ---       #37
-      01003491H   LINE      ---      ---       #38
-      01003497H   LINE      ---      ---       #39
-      010034A6H   LINE      ---      ---       #40
-      010034C3H   LINE      ---      ---       #41
-      010034DAH   LINE      ---      ---       #42
-      010034E1H   LINE      ---      ---       #43
-      010034E6H   LINE      ---      ---       #44
-      010034EDH   LINE      ---      ---       #45
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001504H   BLOCK     CODE     ---       LVL=0
-      01001504H   LINE      ---      ---       #48
-      0100151BH   LINE      ---      ---       #49
-      0100151BH   BLOCK     CODE     NEAR LAB  LVL=1
-      0100151BH   LINE      ---      ---       #51
-      01001527H   LINE      ---      ---       #52
-      01001537H   LINE      ---      ---       #53
-      01001545H   LINE      ---      ---       #54
-      0100156BH   LINE      ---      ---       #55
-      01001578H   LINE      ---      ---       #56
-      0100158EH   LINE      ---      ---       #57
-      01001592H   LINE      ---      ---       #58
-      010015A3H   LINE      ---      ---       #59
-      010015AFH   LINE      ---      ---       #60
-      010015B1H   LINE      ---      ---       #61
+      01003432H   BLOCK     CODE     ---       LVL=0
+      01003432H   LINE      ---      ---       #35
+      0100344DH   LINE      ---      ---       #36
+      0100344DH   LINE      ---      ---       #37
+      0100346EH   LINE      ---      ---       #38
+      01003474H   LINE      ---      ---       #39
+      01003483H   LINE      ---      ---       #40
+      010034A0H   LINE      ---      ---       #41
+      010034B7H   LINE      ---      ---       #42
+      010034BEH   LINE      ---      ---       #43
+      010034C3H   LINE      ---      ---       #44
+      010034CAH   LINE      ---      ---       #45
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010014E7H   BLOCK     CODE     ---       LVL=0
+      010014E7H   LINE      ---      ---       #48
+      010014FEH   LINE      ---      ---       #49
+      010014FEH   BLOCK     CODE     NEAR LAB  LVL=1
+      010014FEH   LINE      ---      ---       #51
+      0100150AH   LINE      ---      ---       #52
+      0100151AH   LINE      ---      ---       #53
+      01001528H   LINE      ---      ---       #54
+      0100154EH   LINE      ---      ---       #55
+      0100155BH   LINE      ---      ---       #56
+      01001571H   LINE      ---      ---       #57
+      01001575H   LINE      ---      ---       #58
+      01001586H   LINE      ---      ---       #59
+      01001592H   LINE      ---      ---       #60
+      01001594H   LINE      ---      ---       #61
       00000004H   SYMBOL    DATA     VOID      cris
       02004E9AH   SYMBOL    XDATA    VOID      curr_len
       ---         BLOCKEND  CODE     ---       LVL=1
@@ -3545,5 +3537,5 @@
       ---         MODULE    ---      ---       ?C_INIT
       01000626H   PUBLIC    CODE     ---       ?C_START
 
-Program Size: data=10.2 xdata=899 const=182 code=13661
+Program Size: data=10.2 xdata=899 const=182 code=13562
 LX51 RUN COMPLETE.  0 WARNING(S),  0 ERROR(S)
Index: c51/output/FW.SBR
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/output/eeprom.dat
===================================================================
--- /YC1026/YC1086_BLE_24g_SDK/c51/output/eeprom.dat	(revision 327)
+++ /YC1026/YC1086_BLE_24g_SDK/c51/output/eeprom.dat	(working copy)
@@ -6584,8 +6584,8 @@
 61
 aa
 55
-15
-36
+b2
+35
 02
 05
 df
@@ -8103,7 +8103,7 @@
 26
 02
 2f
-9f
+a6
 e4
 93
 a3
@@ -8234,22 +8234,22 @@
 56
 ff
 1c
-a8
+fc
 00
 00
 00
 ff
 18
-9b
+ef
 ff
 32
-a8
+85
 00
 00
 00
 ff
 32
-98
+75
 00
 1a
 08
@@ -8917,7 +8917,7 @@
 f9
 12
 27
-92
+99
 ef
 60
 02
@@ -9163,7 +9163,7 @@
 f9
 12
 20
-1d
+24
 90
 4e
 4b
@@ -10007,7 +10007,7 @@
 03
 02
 23
-72
+79
 90
 4c
 f4
@@ -10316,7 +10316,7 @@
 39
 02
 2f
-ad
+b4
 90
 4c
 c5
@@ -10341,7 +10341,7 @@
 20
 02
 2f
-ad
+b4
 c3
 90
 4c
@@ -10461,7 +10461,7 @@
 64
 12
 33
-9d
+7a
 90
 4e
 bc
@@ -10833,7 +10833,7 @@
 40
 02
 41
-62
+38
 90
 10
 a6
@@ -10859,7 +10859,7 @@
 cd
 02
 12
-62
+38
 02
 11
 14
@@ -10871,19 +10871,19 @@
 5f
 02
 11
-aa
+80
 02
 11
-aa
+80
 02
-12
 11
+e7
 02
 12
-62
+38
 02
 12
-62
+38
 02
 11
 0f
@@ -10941,7 +10941,7 @@
 7f
 0a
 b1
-b2
+95
 7f
 2a
 12
@@ -10970,13 +10970,13 @@
 70
 0b
 f1
-d5
+b7
 ef
 70
 06
 12
 18
-01
+55
 ef
 60
 0f
@@ -10996,7 +10996,7 @@
 f0
 22
 f1
-f7
+ea
 e4
 90
 4d
@@ -11012,7 +11012,7 @@
 f0
 12
 18
-18
+6c
 7f
 0d
 12
@@ -11045,7 +11045,7 @@
 00
 12
 34
-f0
+cd
 90
 4c
 c0
@@ -11054,54 +11054,12 @@
 f0
 a3
 f0
-7f
-c8
-b1
-b2
-c2
-01
-7f
-ff
-51
-68
-7b
-01
-7a
-4d
-79
-ee
-7d
-5d
-7c
-00
-7f
-60
-7e
-7f
-b1
-04
-7b
-01
-7a
+90
 4c
-79
-c0
-7d
-01
-7c
-00
-7f
-bd
-7e
-7f
-b1
-04
-d2
-01
-7f
-ff
-51
-68
+bf
+74
+03
+f0
 e4
 90
 4c
@@ -11114,7 +11072,7 @@
 f0
 f0
 f1
-d5
+b7
 ef
 60
 09
@@ -11142,11 +11100,11 @@
 7e
 7f
 d1
-78
+5b
 7f
 0a
 b1
-b2
+95
 e4
 90
 4e
@@ -11223,7 +11181,7 @@
 70
 05
 f1
-d5
+b7
 ef
 60
 09
@@ -11274,13 +11232,13 @@
 7f
 1e
 51
-68
+3e
 d2
 01
 7f
 1d
 51
-68
+3e
 e4
 90
 4c
@@ -11301,7 +11259,7 @@
 ef
 f4
 60
-0d
+0c
 7b
 01
 7a
@@ -11312,9 +11270,8 @@
 01
 92
 00
-12
-35
-1d
+f1
+f4
 22
 90
 4d
@@ -11325,7 +11282,7 @@
 60
 02
 61
-50
+25
 90
 4c
 e9
@@ -11350,7 +11307,7 @@
 7f
 1f
 71
-51
+26
 80
 41
 90
@@ -11363,7 +11320,7 @@
 7f
 1e
 71
-51
+26
 80
 34
 90
@@ -11377,11 +11334,11 @@
 7f
 1f
 71
-51
+26
 7f
 1d
 71
-51
+26
 80
 22
 d2
@@ -11389,19 +11346,19 @@
 7f
 1f
 51
-68
+3e
 d2
 01
 7f
 1e
 51
-68
+3e
 d2
 01
 7f
 1d
 51
-68
+3e
 80
 0e
 90
@@ -11413,11 +11370,11 @@
 7f
 1e
 71
-51
+26
 7f
 1d
 71
-51
+26
 12
 0f
 f8
@@ -11437,7 +11394,7 @@
 7f
 10
 51
-68
+3e
 90
 4c
 e6
@@ -11449,7 +11406,7 @@
 7f
 10
 51
-68
+3e
 80
 06
 d2
@@ -11457,7 +11414,7 @@
 7f
 10
 51
-68
+3e
 90
 4c
 e7
@@ -11471,7 +11428,7 @@
 7f
 0f
 51
-68
+3e
 90
 4c
 e7
@@ -11483,7 +11440,7 @@
 7f
 0f
 51
-68
+3e
 80
 06
 d2
@@ -11491,7 +11448,7 @@
 7f
 0f
 51
-68
+3e
 90
 4c
 e8
@@ -11517,7 +11474,7 @@
 7f
 1d
 51
-68
+3e
 90
 4c
 e8
@@ -11529,7 +11486,7 @@
 7f
 1d
 51
-68
+3e
 22
 90
 4f
@@ -11544,7 +11501,7 @@
 74
 12
 2f
-60
+67
 92
 09
 90
@@ -11558,7 +11515,7 @@
 92
 01
 41
-68
+3e
 90
 4d
 eb
@@ -11568,7 +11525,7 @@
 60
 02
 81
-6c
+41
 90
 4c
 e9
@@ -11576,7 +11533,7 @@
 60
 02
 81
-66
+3b
 90
 4c
 ee
@@ -11584,7 +11541,7 @@
 60
 02
 81
-66
+3b
 90
 4c
 d5
@@ -11642,7 +11599,7 @@
 7f
 1d
 51
-68
+3e
 12
 0f
 f8
@@ -11650,7 +11607,7 @@
 70
 02
 81
-5a
+2f
 90
 4d
 e0
@@ -11664,7 +11621,7 @@
 70
 02
 81
-6c
+41
 e0
 30
 e0
@@ -11680,7 +11637,7 @@
 7f
 10
 51
-68
+3e
 80
 0b
 d2
@@ -11688,7 +11645,7 @@
 7f
 10
 51
-68
+3e
 e4
 90
 4c
@@ -11712,7 +11669,7 @@
 7f
 0f
 51
-68
+3e
 80
 0b
 d2
@@ -11720,7 +11677,7 @@
 7f
 0f
 51
-68
+3e
 e4
 90
 4c
@@ -11756,7 +11713,7 @@
 7f
 1d
 51
-68
+3e
 80
 17
 90
@@ -11776,7 +11733,7 @@
 7f
 1d
 51
-68
+3e
 e4
 90
 4c
@@ -11801,43 +11758,57 @@
 7f
 10
 51
-68
+3e
 d2
 01
 7f
 0f
 41
-68
+3e
 d2
 01
 7f
 10
 51
-68
+3e
 22
 90
 4c
 bf
 e0
-ff
 70
 02
-a1
-03
-64
-01
-60
-04
-7f
-c8
-b1
-b2
+81
+e6
+90
+4c
+e0
+e0
+fe
+a3
+e0
+ff
+c3
+90
+4c
+96
+e0
+9f
+90
+4c
+95
+e0
+9e
+50
+02
+81
+e6
 c2
 01
 7f
 ff
 51
-68
+3e
 90
 4c
 bf
@@ -11859,8 +11830,8 @@
 52
 7e
 7f
-b1
-04
+91
+e7
 7b
 01
 7a
@@ -11875,8 +11846,8 @@
 57
 7e
 7f
-b1
-04
+91
+e7
 7b
 01
 7a
@@ -11891,8 +11862,8 @@
 56
 7e
 7f
-b1
-04
+91
+e7
 80
 17
 90
@@ -11916,8 +11887,8 @@
 60
 7e
 7f
-b1
-04
+91
+e7
 7b
 01
 7a
@@ -11932,8 +11903,8 @@
 bd
 7e
 7f
-b1
-04
+91
+e7
 7b
 01
 7a
@@ -11948,18 +11919,18 @@
 be
 7e
 7f
-b1
-04
+91
+e7
 d2
 01
 7f
 ff
 51
-68
+3e
 7f
 0a
 b1
-b2
+95
 e4
 90
 4c
@@ -12000,7 +11971,7 @@
 70
 02
 a1
-b1
+94
 90
 4e
 93
@@ -12103,11 +12074,11 @@
 f9
 12
 34
-55
+32
 7f
 0a
 b1
-b2
+95
 90
 4e
 9a
@@ -12137,8 +12108,8 @@
 e0
 3e
 f0
-a1
-1b
+81
+fe
 22
 ef
 d3
@@ -12185,11 +12156,11 @@
 7e
 7f
 d1
-78
+5b
 7f
 0a
 b1
-b2
+95
 7b
 01
 7a
@@ -12205,11 +12176,11 @@
 7e
 7f
 d1
-78
+5b
 7f
 0a
 b1
-b2
+95
 7b
 01
 7a
@@ -12225,11 +12196,11 @@
 7e
 7f
 d1
-78
+5b
 7f
 0a
 b1
-b2
+95
 7b
 01
 7a
@@ -12245,11 +12216,11 @@
 7e
 7f
 d1
-78
+5b
 7f
 0a
 b1
-b2
+95
 90
 4c
 c3
@@ -12482,7 +12453,7 @@
 04
 f0
 f1
-e7
+da
 90
 4e
 d1
@@ -12519,14 +12490,14 @@
 ec
 f4
 60
-16
+15
 af
 04
 d2
 04
 12
 35
-8f
+2b
 af
 04
 a2
@@ -12534,14 +12505,13 @@
 92
 01
 51
-68
+3e
 af
 04
 c2
 02
-12
-1f
-d5
+f1
+c9
 22
 90
 4c
@@ -12555,7 +12525,7 @@
 7f
 1f
 41
-68
+3e
 90
 4c
 c3
@@ -12568,7 +12538,7 @@
 7f
 1e
 41
-68
+3e
 90
 4c
 c3
@@ -12581,25 +12551,25 @@
 7f
 1f
 f1
-28
+0b
 c2
 06
 7f
 1d
 80
-b6
+b7
 c2
 01
 7f
 1e
 51
-68
+3e
 c2
 06
 7f
 1d
 80
-aa
+ab
 90
 4c
 c3
@@ -12612,7 +12582,7 @@
 7f
 1f
 41
-68
+3e
 90
 4c
 c3
@@ -12625,7 +12595,7 @@
 7f
 1e
 41
-68
+3e
 90
 4c
 c3
@@ -12638,55 +12608,55 @@
 7f
 1f
 51
-68
+3e
 d2
 06
 7f
 1d
 e1
-28
+0b
 d2
 01
 7f
 1e
 51
-68
+3e
 d2
 06
 7f
 1d
 e1
-28
+0b
 d2
 06
 7f
 10
 f1
-28
+0b
 d2
 06
 7f
 0f
 f1
-28
+0b
 d2
 06
 7f
 1f
 f1
-28
+0b
 d2
 06
 7f
 1e
 f1
-28
+0b
 d2
 06
 7f
 1d
 e1
-28
+0b
 90
 4c
 c7
@@ -12705,6 +12675,23 @@
 7f
 00
 22
+ef
+f4
+60
+0c
+7b
+01
+7a
+80
+79
+78
+a2
+02
+92
+00
+f1
+f4
+22
 90
 81
 2c
@@ -12715,12 +12702,12 @@
 22
 12
 31
-3e
+1b
 12
 1f
-6f
+a6
 80
-c0
+af
 e4
 90
 4c
@@ -12732,6 +12719,103 @@
 f0
 22
 90
+4e
+f6
+eb
+f0
+a3
+ea
+f0
+a3
+e9
+f0
+e4
+fe
+fd
+ef
+54
+07
+fe
+ef
+13
+13
+13
+54
+03
+fd
+30
+00
+22
+90
+4e
+f6
+e0
+fb
+a3
+e0
+fa
+a3
+e0
+2d
+f9
+e4
+3a
+fa
+12
+03
+b6
+ff
+74
+01
+a8
+06
+08
+80
+02
+c3
+33
+d8
+fc
+4f
+02
+03
+fc
+90
+4e
+f6
+e0
+fb
+a3
+e0
+fa
+a3
+e0
+2d
+f9
+e4
+3a
+fa
+12
+03
+b6
+ff
+74
+01
+a8
+06
+08
+80
+02
+c3
+33
+d8
+fc
+f4
+5f
+02
+03
+fc
+90
 4c
 c0
 e0
@@ -12770,7 +12854,7 @@
 7f
 12
 16
-78
+5b
 90
 4c
 f2
@@ -12873,7 +12957,7 @@
 d3
 f0
 11
-18
+6c
 7f
 0d
 12
@@ -12887,7 +12971,7 @@
 22
 12
 12
-7a
+4f
 90
 4c
 e4
@@ -12902,15 +12986,15 @@
 e0
 04
 f0
-11
-fe
+31
+52
 12
 0d
 d0
 31
-0f
+63
 11
-5c
+b0
 90
 4c
 e9
@@ -12979,7 +13063,7 @@
 0a
 12
 15
-b2
+95
 12
 0f
 b2
@@ -12998,8 +13082,8 @@
 74
 05
 f0
-51
-ea
+71
+3e
 22
 90
 4c
@@ -13139,7 +13223,7 @@
 0a
 12
 15
-b2
+95
 7f
 0a
 12
@@ -13182,9 +13266,9 @@
 f0
 12
 14
-6d
-51
-e1
+42
+71
+35
 e4
 90
 4c
@@ -13241,7 +13325,7 @@
 8b
 12
 17
-b7
+99
 e4
 90
 4c
@@ -13298,7 +13382,7 @@
 f0
 12
 17
-b7
+99
 90
 4c
 c3
@@ -13318,9 +13402,9 @@
 87
 12
 14
-6d
-51
-e1
+42
+71
+35
 e4
 90
 4c
@@ -13333,8 +13417,8 @@
 20
 e5
 02
-41
-db
+61
+2f
 a3
 e0
 c3
@@ -13497,7 +13581,7 @@
 70
 02
 81
-a7
+fb
 90
 4c
 95
@@ -13677,7 +13761,7 @@
 f9
 f0
 81
-36
+8a
 90
 4c
 fa
@@ -13931,57 +14015,57 @@
 05
 b3
 1e
-54
+8b
 14
 1f
-27
+5e
 15
 1d
-4f
+a3
 27
-1e
-ee
+1f
+25
 29
-1c
-de
+1d
+32
 2f
 1d
-44
+98
 30
 1d
-a3
+da
 31
 1e
-15
+4c
+32
+1d
 32
-1c
-de
 33
 1e
-c8
+ff
 34
 1f
-08
+3f
 35
 1d
-9b
+d2
 37
 1d
-4f
+a3
 39
 1d
-a3
+da
 3c
 00
 00
 1f
-6e
+a5
 12
 17
-ef
+e2
 12
 31
-51
+2e
 7b
 01
 7a
@@ -13998,7 +14082,7 @@
 7f
 12
 16
-78
+5b
 90
 4c
 c0
@@ -14020,12 +14104,12 @@
 f0
 12
 17
-45
+27
 7f
 0a
 12
 15
-b2
+95
 7b
 01
 7a
@@ -14042,7 +14126,7 @@
 7f
 12
 16
-78
+5b
 90
 4c
 f2
@@ -14077,12 +14161,12 @@
 f0
 02
 15
-ca
+ad
 12
 31
-3e
+1b
 f1
-6f
+a6
 e4
 90
 4c
@@ -14099,14 +14183,14 @@
 50
 02
 e1
-6e
+a5
 e0
 94
 04
 40
 02
 e1
-6e
+a5
 e0
 75
 f0
@@ -14128,43 +14212,14 @@
 00
 12
 34
+cd
+90
+4c
+bf
+74
+03
 f0
-7f
-c8
-12
-15
-b2
-c2
-01
-7f
-ff
-12
-12
-68
-7b
-01
-7a
-4d
-79
-ee
-7d
-5d
-7c
-00
-7f
-60
-7e
-7f
-12
-15
-04
-d2
-01
-7f
-ff
-02
-12
-68
+22
 90
 4d
 d6
@@ -14184,7 +14239,7 @@
 f0
 12
 17
-f7
+ea
 e4
 90
 4c
@@ -14266,7 +14321,7 @@
 70
 02
 e1
-6e
+a5
 90
 4c
 bf
@@ -14275,9 +14330,9 @@
 f0
 12
 14
-6d
-41
-e1
+42
+61
+35
 90
 4c
 e5
@@ -14285,7 +14340,7 @@
 60
 02
 e1
-6e
+a5
 22
 e4
 90
@@ -14313,7 +14368,7 @@
 0b
 12
 17
-f7
+ea
 90
 4c
 ed
@@ -14341,7 +14396,7 @@
 70
 02
 e1
-6e
+a5
 90
 4d
 d6
@@ -14453,7 +14508,7 @@
 03
 12
 17
-7e
+60
 e4
 90
 4c
@@ -14477,7 +14532,7 @@
 f0
 12
 17
-f7
+ea
 e4
 90
 4c
@@ -14643,7 +14698,7 @@
 a3
 f0
 f1
-98
+d0
 e4
 90
 4f
@@ -14660,11 +14715,12 @@
 93
 ff
 60
-0c
-c2
-05
-f1
-b5
+0d
+d2
+06
+12
+17
+0b
 90
 4f
 05
@@ -14672,7 +14728,7 @@
 04
 f0
 80
-e9
+e8
 22
 e4
 90
@@ -14689,11 +14745,12 @@
 94
 08
 50
-0c
+0d
 c2
 05
-f1
-b5
+12
+35
+0c
 90
 4f
 04
@@ -14701,57 +14758,7 @@
 04
 f0
 80
-ea
-22
-ac
-07
-ec
-f4
-60
-19
-af
-04
-a2
-05
-92
-03
-12
-35
-7e
-af
-04
-a2
-05
-b3
-92
-02
-f1
-d5
-af
-04
-c2
-04
-12
-35
-8f
-22
-ef
-f4
-60
-0d
-7b
-01
-7a
-80
-79
-78
-a2
-02
-92
-00
-12
-35
-1d
+e9
 22
 ad
 07
@@ -14833,7 +14840,7 @@
 40
 02
 61
-33
+3a
 90
 4e
 d8
@@ -14876,7 +14883,7 @@
 60
 02
 61
-2b
+32
 12
 03
 b6
@@ -14890,9 +14897,9 @@
 01
 12
 1f
-e7
+ee
 61
-00
+07
 eb
 b4
 f2
@@ -14903,9 +14910,9 @@
 00
 12
 1f
-e7
+ee
 61
-00
+07
 90
 4e
 d8
@@ -14942,9 +14949,9 @@
 b7
 12
 1f
-e7
+ee
 61
-00
+07
 eb
 b4
 f4
@@ -14955,9 +14962,9 @@
 00
 12
 1f
-e7
+ee
 61
-00
+07
 90
 4e
 d8
@@ -14994,9 +15001,9 @@
 b5
 12
 1f
-e7
+ee
 61
-00
+07
 eb
 b4
 f6
@@ -15007,9 +15014,9 @@
 00
 12
 1f
-e7
+ee
 61
-00
+07
 90
 4e
 d8
@@ -15046,9 +15053,9 @@
 e9
 12
 1f
-e7
+ee
 61
-00
+07
 eb
 b4
 f8
@@ -15059,9 +15066,9 @@
 00
 12
 1f
-e7
+ee
 61
-00
+07
 90
 4e
 d8
@@ -15099,9 +15106,9 @@
 0e
 12
 1f
-e7
+ee
 61
-00
+07
 eb
 b4
 fa
@@ -15112,9 +15119,9 @@
 01
 12
 1f
-e7
+ee
 61
-00
+07
 90
 4e
 d8
@@ -15152,9 +15159,9 @@
 0e
 12
 1f
-e7
+ee
 61
-00
+07
 eb
 b4
 d0
@@ -15165,9 +15172,9 @@
 02
 12
 1f
-e7
+ee
 61
-00
+07
 90
 4e
 d8
@@ -15206,9 +15213,9 @@
 02
 12
 1f
-e7
+ee
 61
-00
+07
 eb
 b4
 d3
@@ -15219,9 +15226,9 @@
 02
 12
 1f
-e7
+ee
 61
-00
+07
 90
 4e
 d8
@@ -15260,9 +15267,9 @@
 02
 12
 1f
-e7
+ee
 61
-00
+07
 eb
 b4
 d4
@@ -15273,9 +15280,9 @@
 02
 12
 1f
-e7
+ee
 61
-00
+07
 90
 4e
 d8
@@ -15314,9 +15321,9 @@
 02
 12
 1f
-e7
+ee
 61
-00
+07
 eb
 b4
 d6
@@ -15327,9 +15334,9 @@
 02
 12
 1f
-e7
+ee
 61
-00
+07
 90
 4e
 d8
@@ -15366,9 +15373,9 @@
 70
 12
 1f
-e7
+ee
 61
-00
+07
 eb
 b4
 d8
@@ -15379,9 +15386,9 @@
 00
 12
 1f
-e7
+ee
 61
-00
+07
 90
 4e
 d8
@@ -15418,7 +15425,7 @@
 b8
 12
 1f
-e7
+ee
 80
 7d
 eb
@@ -15431,7 +15438,7 @@
 00
 12
 1f
-e7
+ee
 80
 70
 90
@@ -15472,7 +15479,7 @@
 03
 12
 1f
-e7
+ee
 80
 47
 eb
@@ -15485,7 +15492,7 @@
 03
 12
 1f
-e7
+ee
 80
 3a
 90
@@ -15523,7 +15530,7 @@
 7f
 01
 11
-02
+09
 80
 14
 ee
@@ -15533,7 +15540,7 @@
 7f
 02
 11
-02
+09
 80
 0a
 12
@@ -15545,7 +15552,7 @@
 7f
 04
 11
-02
+09
 90
 4e
 4b
@@ -15596,7 +15603,7 @@
 04
 f0
 01
-2c
+33
 22
 90
 4d
@@ -15670,11 +15677,11 @@
 a3
 f0
 d1
-00
+07
 50
 25
 71
-a5
+ac
 90
 4e
 e4
@@ -15738,7 +15745,7 @@
 f0
 12
 2f
-dc
+e3
 7a
 4d
 79
@@ -15768,7 +15775,7 @@
 79
 bc
 d1
-48
+4f
 ef
 60
 16
@@ -15781,7 +15788,7 @@
 7d
 14
 d1
-18
+1f
 ef
 70
 09
@@ -15823,7 +15830,7 @@
 70
 02
 81
-d6
+dd
 74
 bc
 2f
@@ -15842,7 +15849,7 @@
 e0
 ff
 b1
-f2
+f9
 90
 4e
 92
@@ -15854,7 +15861,7 @@
 50
 02
 81
-bf
+c6
 e4
 90
 4e
@@ -15992,7 +15999,7 @@
 04
 f0
 81
-3a
+41
 90
 4e
 8b
@@ -16001,7 +16008,7 @@
 60
 08
 b1
-f2
+f9
 90
 4e
 8f
@@ -16015,7 +16022,7 @@
 04
 f0
 81
-09
+10
 90
 4e
 8f
@@ -16041,7 +16048,7 @@
 70
 02
 a1
-c6
+cd
 74
 93
 2f
@@ -16096,9 +16103,9 @@
 70
 04
 a1
-be
+c5
 a1
-be
+c5
 90
 4e
 91
@@ -16189,7 +16196,7 @@
 fd
 12
 28
-f8
+ff
 90
 4e
 90
@@ -16208,7 +16215,7 @@
 e0
 ff
 d1
-92
+99
 80
 07
 90
@@ -16217,7 +16224,7 @@
 e0
 ff
 d1
-e8
+ef
 90
 4e
 8b
@@ -16255,7 +16262,7 @@
 04
 f0
 81
-e3
+ea
 90
 4e
 4b
@@ -16741,7 +16748,7 @@
 03
 02
 28
-88
+8f
 90
 4e
 d7
@@ -16760,7 +16767,7 @@
 03
 02
 28
-d0
+d7
 90
 4e
 d4
@@ -16961,7 +16968,7 @@
 f0
 02
 27
-b2
+b9
 90
 4e
 d4
@@ -17156,7 +17163,7 @@
 60
 02
 21
-e1
+e8
 ed
 b4
 4c
@@ -17168,7 +17175,7 @@
 48
 f0
 21
-e1
+e8
 ed
 b4
 52
@@ -17314,7 +17321,7 @@
 60
 02
 61
-54
+5b
 90
 4d
 e2
@@ -17336,7 +17343,7 @@
 60
 02
 61
-54
+5b
 90
 4d
 e7
@@ -17346,7 +17353,7 @@
 60
 02
 61
-54
+5b
 ed
 24
 c6
@@ -17356,10 +17363,10 @@
 40
 02
 61
-54
+5b
 90
 2a
-21
+28
 75
 f0
 03
@@ -17373,40 +17380,40 @@
 73
 02
 2a
-45
+4c
 02
 2a
-5c
+63
 02
 2a
-a5
+ac
 02
 2a
-c2
+c9
 02
 2a
-e0
+e7
 02
 2b
-09
+10
 02
 2b
-26
+2d
 02
 2b
-2e
+35
 02
 2b
-36
+3d
 02
 2b
-3e
+45
 02
 2b
-46
+4d
 02
 2b
-4e
+55
 90
 4c
 c1
@@ -17421,7 +17428,7 @@
 44
 f0
 61
-54
+5b
 90
 4f
 03
@@ -17429,7 +17436,7 @@
 d6
 f0
 61
-54
+5b
 90
 4c
 c1
@@ -17444,7 +17451,7 @@
 7d
 04
 11
-d3
+da
 ee
 30
 e0
@@ -17468,7 +17475,7 @@
 7d
 01
 11
-d3
+da
 80
 19
 90
@@ -17485,7 +17492,7 @@
 7d
 08
 11
-d3
+da
 ee
 30
 e0
@@ -17502,7 +17509,7 @@
 03
 f0
 61
-54
+5b
 90
 4c
 c1
@@ -17516,7 +17523,7 @@
 d2
 f0
 61
-54
+5b
 af
 06
 7b
@@ -17524,14 +17531,14 @@
 7d
 08
 11
-d3
+da
 e4
 90
 4f
 03
 f0
 61
-54
+5b
 90
 4c
 c1
@@ -17546,7 +17553,7 @@
 7d
 08
 11
-d3
+da
 e4
 90
 4f
@@ -17575,7 +17582,7 @@
 7d
 08
 11
-d3
+da
 80
 08
 af
@@ -17585,7 +17592,7 @@
 7d
 01
 11
-d3
+da
 ee
 30
 e0
@@ -17624,7 +17631,7 @@
 7d
 0a
 11
-d3
+da
 e4
 90
 4f
@@ -17774,7 +17781,7 @@
 b0
 12
 35
-df
+7c
 90
 81
 1c
@@ -17792,31 +17799,31 @@
 e4
 ff
 71
-f3
+fa
 7f
 01
 71
-f3
+fa
 7f
 02
 71
-f3
+fa
 7f
 03
 71
-f3
+fa
 7f
 04
 71
-f3
+fa
 7f
 05
 71
-f3
+fa
 7f
 06
 71
-f3
+fa
 7f
 07
 80
@@ -17843,7 +17850,7 @@
 ef
 f0
 f1
-5a
+61
 92
 08
 90
@@ -17861,7 +17868,7 @@
 70
 02
 81
-91
+98
 ef
 54
 07
@@ -17997,18 +18004,18 @@
 f0
 22
 f1
-47
+4e
 91
-ee
+f5
 12
 0d
 4c
 12
 14
-6d
+42
 12
 13
-6d
+42
 90
 4d
 7d
@@ -18016,7 +18023,7 @@
 60
 02
 f1
-ad
+b4
 90
 0b
 7e
@@ -18029,12 +18036,12 @@
 70
 e2
 71
-5a
+61
 12
 17
-b7
+99
 91
-e0
+e7
 80
 fe
 90
@@ -18062,13 +18069,13 @@
 60
 04
 f1
-a1
+a8
 80
 bd
 71
-5a
+61
 91
-e0
+e7
 80
 b7
 80
@@ -18087,7 +18094,7 @@
 01
 02
 15
-b2
+95
 7a
 0c
 79
@@ -18127,7 +18134,7 @@
 70
 02
 c1
-9d
+a4
 7e
 0c
 7f
@@ -18135,7 +18142,7 @@
 7d
 03
 d1
-f7
+fe
 90
 4e
 ed
@@ -18195,7 +18202,7 @@
 05
 dd
 c1
-9d
+a4
 90
 4e
 ed
@@ -18244,7 +18251,7 @@
 14
 fd
 d1
-f7
+fe
 90
 4e
 ed
@@ -18302,7 +18309,7 @@
 05
 dd
 c1
-9d
+a4
 90
 4e
 ed
@@ -18351,7 +18358,7 @@
 14
 fd
 d1
-f7
+fe
 90
 4e
 ed
@@ -18458,7 +18465,7 @@
 14
 fd
 d1
-f7
+fe
 90
 4e
 ed
@@ -18778,7 +18785,7 @@
 ff
 22
 81
-92
+99
 90
 0b
 7f
@@ -18793,7 +18800,7 @@
 22
 12
 17
-b7
+99
 90
 4b
 ef
@@ -18855,11 +18862,8 @@
 06
 81
 93
-70
-03
-02
-30
-6f
+60
+69
 ef
 93
 fd
@@ -18950,7 +18954,7 @@
 f0
 ee
 24
-78
+74
 fb
 e4
 34
@@ -18962,29 +18966,9 @@
 e0
 4d
 f0
-ee
-24
-70
-fb
-e4
-34
-80
-8b
-82
-f5
-83
-e0
-fc
-ed
-f4
-fb
-ec
-5b
-f0
 0f
-02
-2f
-e8
+80
+90
 e4
 ff
 ef
@@ -18993,7 +18977,7 @@
 81
 93
 60
-7c
+69
 ef
 93
 fd
@@ -19084,7 +19068,7 @@
 f0
 ee
 24
-78
+74
 fb
 e4
 34
@@ -19096,28 +19080,9 @@
 e0
 4d
 f0
-ee
-24
-70
-fb
-e4
-34
-80
-8b
-82
-f5
-83
-e0
-fc
-ed
-f4
-fb
-ec
-5b
-f0
 0f
-01
-71
+80
+90
 e4
 ff
 ef
@@ -19215,7 +19180,7 @@
 0b
 97
 31
-86
+63
 90
 4c
 eb
@@ -19613,7 +19578,7 @@
 f0
 12
 17
-45
+27
 90
 4c
 e5
@@ -19622,7 +19587,7 @@
 46
 12
 17
-7e
+60
 80
 41
 90
@@ -19662,7 +19627,7 @@
 1d
 12
 12
-68
+3e
 80
 10
 d2
@@ -19671,7 +19636,7 @@
 1d
 12
 12
-68
+3e
 80
 07
 d2
@@ -19680,7 +19645,7 @@
 1d
 12
 12
-68
+3e
 90
 4c
 e2
@@ -20040,9 +20005,9 @@
 7a
 0b
 79
-86
-91
-11
+86
+71
+ee
 90
 0b
 83
@@ -20137,7 +20102,7 @@
 f0
 02
 17
-e7
+da
 90
 4e
 f3
@@ -20183,107 +20148,10 @@
 80
 df
 22
-90
-4e
-f6
-eb
-f0
-a3
-ea
-f0
-a3
-e9
-f0
-e4
-fe
-fd
-ef
-54
-07
-fe
-ef
-13
-13
-13
-54
-03
-fd
-30
-00
-22
-90
-4e
-f6
-e0
-fb
-a3
-e0
-fa
-a3
-e0
-2d
-f9
-e4
-3a
-fa
-12
-03
-b6
-ff
-74
-01
-a8
-06
-08
-80
-02
-c3
-33
-d8
-fc
-4f
-02
-03
-fc
-90
-4e
-f6
-e0
-fb
-a3
-e0
-fa
-a3
-e0
-2d
-f9
-e4
-3a
-fa
-12
-03
-b6
-ff
-74
-01
-a8
-06
-08
-80
-02
-c3
-33
-d8
-fc
-f4
-5f
-02
-03
-fc
 ef
 f4
 60
-0c
+0d
 7b
 01
 7a
@@ -20294,13 +20162,45 @@
 03
 92
 00
+12
+17
+f4
+22
+ac
+07
+ec
+f4
+60
+18
+af
+04
+a2
+05
+92
+03
+91
+fa
+af
+04
+a2
+05
+b3
+92
+02
+12
+17
+c9
+af
+04
+c2
+04
 b1
-1d
+2b
 22
 ef
 f4
 60
-0c
+0d
 7b
 01
 7a
@@ -20311,8 +20211,9 @@
 04
 92
 00
-b1
-1d
+12
+17
+f4
 22
 ef
 f4
@@ -20429,8 +20330,8 @@
 04
 cf
 22
-fb
-62
+0b
+81
 aa
 55
 40
@@ -21804,8 +21705,8 @@
 6c
 59
 50
-9d
-ce
+80
+6a
 ff
 ff
 ff
@@ -32764,5 +32665,104 @@
 ff
 ff
 ff
-13
-f4
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+a4
+64
Index: c51/output/fw.hex
===================================================================
--- /YC1026/YC1086_BLE_24g_SDK/c51/output/fw.hex	(revision 327)
+++ /YC1026/YC1086_BLE_24g_SDK/c51/output/fw.hex	(working copy)
@@ -92,7 +92,7 @@
 :1005B00082C822D083D082F8E493701274019370C1
 :1005C0000DA3A393F8740193F5828883E4737402F6
 :1005D000936860EFA3A3A380DF8A838982E47378A2
-:1005E0007FE4F6D8FD7581CF020626022F9FE493A3
+:1005E0007FE4F6D8FD7581CF020626022FA6E4939C
 :1005F000A3F8E493A34003F68001F208DFF4802916
 :10060000E493A3F85407240CC8C333C4540F442004
 :10061000C8834004F456800146F6DFE4800B0102F3
@@ -101,7 +101,7 @@
 :1006400054C025E060A840B8E493A3FAE493A3F86B
 :10065000E493A3C8C582C8CAC583CAF0A3C8C5822B
 :10066000C8CAC583CADFE9DEE780BE524E56FF1C0A
-:10067000A8000000FF189BFF32A8000000FF32987E
+:10067000FC000000FF18EFFF3285000000FF32751C
 :10068000001A08090A0B0C0D0E181917151413116E
 :10069000161B1C0000004C000000E400E03E142B80
 :1006A00004291DEF351E1A3916641B8A3A1F083CAF
@@ -143,7 +143,7 @@
 :1008E000502C904EC5E0FBA3E0FAA3E02401F9E40C
 :1008F0003AFA7E00E92FF9EE3AFA1203B6B47F060F
 :10090000904DE27401F0904EC9E004F080CA904E20
-:10091000C5E0FBA3E0FAA3E0F9122792EF600261C1
+:10091000C5E0FBA3E0FAA3E0F9122799EF600261BA
 :100920006A904EC5E0A3E0FAA3E04A7002616A90C3
 :100930004D7DE06008E4F0904D467403F0904CC7A4
 :10094000E0B404069042137403F0904DE6740AF08C
@@ -159,7 +159,7 @@
 :1009E0002FF9EE3AFA1203B6FF64396009EF645347
 :1009F0006004EFB44706904D467403F0904EC9E092
 :100A000004F080BF904EC5E0FBA3E0FAA3E0F9122A
-:100A1000201D904E4BE0B401117402F0904E4CF04A
+:100A10002024904E4BE0B401117402F0904E4CF043
 :100A20007B017A4E794C7D038130904E4BE0B404CB
 :100A3000137402F0904E4C7406F07B017A4E794CA0
 :100A40007D038130904E4BE06403600BE0640270E4
@@ -211,7 +211,7 @@
 :100D20007D097C00716B9048007401F0A3E0FF9096
 :100D30004EF9E0FEEF4E904801F0904EFAE09048F8
 :100D400003F07B017A4879007D098130904CF4E012
-:100D5000FF600864036004EFB40503022372904C43
+:100D5000FF600864036004EFB40503022379904C3C
 :100D6000F4E0B4010EA3E0FFE4FDB112904CF47482
 :100D700002F022904CF4E0B4020B7403F0A3E0FF05
 :100D8000A3E0FD808D904CF4E0B40427E4904CF691
@@ -231,8 +231,8 @@
 :100E600010701E7B017A4879007D09FC716BE4905B
 :100E70004E4BF090480004F0FB7A4879007D0991D0
 :100E800030C3904CE4E094B0904CE3E094044039DB
-:100E9000022FAD904CC5E0B40112C3904CE4E09435
-:100EA00078904CE3E094004020022FADC3904CE4D6
+:100E9000022FB4904CC5E0B40112C3904CE4E0942E
+:100EA00078904CE3E094004020022FB4C3904CE4CF
 :100EB000E09414904CE3E09400400E904DE5E06027
 :100EC00006E4F07F0ED1CAF1B222904EE0EFF07846
 :100ED000E17C4E7D017BFF7A0779347E007F03122F
@@ -240,7 +240,7 @@
 :100EF0007D03904EB9EBF0A3EAF0A3E9F0A3EDF087
 :100F0000904B9CE0FFA3E0904EBDCFF0A3EFF0909C
 :100F10004B9AE0FEA3E0FF904B9CE0FCA3E0FD7B3E
-:100F20006412339D904EBCE0FEEFC39E40E1904EB4
+:100F20006412337A904EBCE0FEEFC39E40E1904ED7
 :100F3000BCE0FF14F0EF603F904EB9E0FBA3E47516
 :100F4000F001120424A9F0FA1203B6FF904EBDE49A
 :100F500075F00112042485F082F583EFF0904EBD08
@@ -263,605 +263,598 @@
 :10106000C39401400AEFD394035004118B80167F80
 :1010700009118B904F017401F0800AE4904CEBF061
 :10108000904F0104F0904F01E0FF22904F02EFF0EB
-:1010900014B40D00400241629010A675F003A4C57F
+:1010900014B40D00400241389010A675F003A4C5A9
 :1010A0008325F0C583730210CD0210CD0210CD024E
-:1010B000126202111402115602115F0211AA0211EA
-:1010C000AA02121102126202126202110F904CC5A2
+:1010B000123802111402115602115F02118002113E
+:1010C000800211E702123802123802110F904CC54B
 :1010D000E0FF64036004EFB4020E7F22120ECA9098
 :1010E0004F02E0904CEDF022904F02E014904DD66C
 :1010F000F09042137405F0904CF0F07F04120ECA89
-:101100007F0AB1B27F2A120ECAE4904CEDF0227F22
+:101100007F0AB1957F2A120ECAE4904CEDF0227F3F
 :101110000E020ECAE4904CF0F0120F87EF700BF144
-:10112000D5EF7006121801EF600F904F02E0904C5F
-:10113000EDF0904DEC7403F022F1F7E4904DD4F013
-:10114000904DD3F0904E55F01218187F0D120ECA24
+:10112000B7EF7006121855EF600F904F02E0904C29
+:10113000EDF0904DEC7403F022F1EAE4904DD4F020
+:10114000904DD3F0904E55F012186C7F0D120ECAD0
 :10115000E4904CEDF022120F87E4904CEDF0227BEE
-:10116000017A4D79EE7D5D7C001234F0904CC074B4
-:10117000FFF0A3F07FC8B1B2C2017FFF51687B01CD
-:101180007A4D79EE7D5D7C007F607E7FB1047B01CE
-:101190007A4C79C07D017C007FBD7E7FB104D20195
-:1011A0007FFF5168E4904CEDF022E4904CF0F0F1B8
-:1011B000D5EF6009904F02E0904CEDF0227B017A70
-:1011C0004C79007D047C007F527E7FD1787F0AB10C
-:1011D000B2E4904E55F0904C00E0F47021A3E0B4DE
-:1011E000FF1CA3E0B4FF17A3E0B4FF12904C0074FF
-:1011F0000FF0A3F0A3F0A3F0904E557401F07F21FF
-:10120000120ECA904CC57402F0E4A3F0904CEDF0BD
-:1012100022E4904CF0F0120F87EF7005F1D5EF60EB
-:1012200009904F02E0904CEDF022904CC5E0640133
-:10123000602AE4904E55F07F23120ECA904CC5747C
-:1012400001F0E4A3F0904CEE74F0F0D2017F1E5157
-:1012500068D2017F1D5168E4904CE9F0E4904CEDB8
-:10126000F022E4904CEDF022EFF4600D7B017A80E7
-:101270007974A201920012351D22904DEBE06402B8
-:1012800060026150904CE9E06048904CCCE0640111
-:10129000602C904CC3E0B401067F1F7151804190D7
-:1012A0004CC3E0B402067F1E71518034904CC3E001
-:1012B0006403702C7F1F71517F1D71518022D201F8
-:1012C0007F1F5168D2017F1E5168D2017F1D516876
-:1012D000800E904CEEE060087F1E71517F1D7151B1
-:1012E000120FF8EF606A904CE6E0601614F0C2014D
-:1012F0007F105168904CE6E0700ED2017F1051686B
-:101300008006D2017F105168904CE7E0601614F01F
-:10131000C2017F0F5168904CE7E0700ED2017F0F41
-:1013200051688006D2017F0F5168904CE8E0602040
-:1013300014F0904CE5E07018904CE2E07012C2019D
-:101340007F1D5168904CE8E07006D2017F1D516806
-:1013500022904F0BEFF07B017A807974122F60920C
-:1013600009904F0BE0FFA209B392014168904DEB49
-:10137000E064026002816C904CE9E060028166905A
-:101380004CEEE060028166904CD5E0B40205120F8D
-:10139000B2802E904CD5E0B40114904CF7E070214F
-:1013A000904CE27418F0904CF77401F08013904C5C
-:1013B000F7E0B4010CE4F0904CE2F0D2017F1D5153
-:1013C00068120FF8EF7002815A904DE0E0FF904CE8
-:1013D000B7E06F7002816CE030E00E904CE6740C68
-:1013E000F0C2017F105168800BD2017F105168E478
-:1013F000904CE6F0904CB7E030E10E904CE7740C66
-:10140000F0C2017F0F5168800BD2017F0F5168E459
-:10141000904CE7F0904CB7E030E21A904CE8740C36
-:10142000F0904CE5E07025904CE2E0701FC2017F27
-:101430001D51688017904CE5E0700C904CE2E07014
-:1014400006D2017F1D5168E4904CE8F0E4904D46CF
-:10145000F0904CB7E0904DE0F022D2017F1051683F
-:10146000D2017F0F4168D2017F10516822904CBF9A
-:10147000E0FF7002A103640160047FC8B1B2C20141
-:101480007FFF5168904CBFE0640270317B017A4C61
-:1014900079007D04FC7F527E7FB1047B017A4C7918
-:1014A000C17D017C007F577E7FB1047B017A4D793D
-:1014B000E77D017C007F567E7FB1048017904CBF92
-:1014C000E0B403107B017A4D79EE7D5D7C007F6096
-:1014D0007E7FB1047B017A4C79C07D017C007FBDA9
-:1014E0007E7FB1047B017A4C79F27D027C007FBE65
-:1014F0007E7FB104D2017FFF51687F0AB1B2E490D0
-:101500004CBFF022904E93EEF0A3EFF0A3ECF0A3CB
-:10151000EDF0A3EBF0A3EAF0A3E9F0904E95E070B4
-:1015200002A3E07002A1B1904E93E0FEA3E0FF445D
-:101530000F2401FDE43EFCC3ED9FFFEC9EFE904EA8
-:101540009AF0A3EFF0904E95E0FCA3E0FDD39FEC62
-:101550009E400A904E9AE0FEA3E0FF8004AE04AFE6
-:1015600005904E9AEEF0FCA3EFF0FDC3904E96E08E
-:101570009DF0904E95E09CF0904E93E0FEA3E0FF2E
-:10158000904E97E0FBA3E0FAA3E0F91234557F0AEE
-:10159000B1B2904E9AE0FEA3E0FF904E98EE8FF02D
-:1015A00012040E904E94E02FF0904E93E03EF0A186
-:1015B0001B22EFD394004011E4FDFC0DBD00010C93
-:1015C000BC04F8BDA6F51F80E922904DEB7402F033
-:1015D0007B017A4D79EE7D5D7C007F607E7FD178E6
-:1015E0007F0AB1B27B017A4C79007D047C007F5286
-:1015F0007E7FD1787F0AB1B27B017A4D79E77D0198
-:101600007C007F567E7FD1787F0AB1B27B017A4C15
-:1016100079C17D017C007F577E7FD1787F0AB1B28E
-:10162000904CC3E0FFD394035033EFC39401402D9B
-:10163000EF75F01FA424ECF582E4344DF583E090BF
-:101640004CC1F0904CC3E075F01FA424EDF582E48A
-:10165000344DF583E0904DE7F0118B80047F081145
-:101660008B904DE7E0D394014002E4F0904CC1E050
-:10167000D394024002E4F022904ECFECF0A3EDF0C0
-:10168000A3EBF0A3EAF0A3E9F09080987404F0A330
-:10169000E4F0900CAF74A0F0A3EEF0A3EFF0900C88
-:1016A000B274A1F07A0C79AF7E0C7FAF74AFFC748A
-:1016B0000CFFECFEEF90809AEEF0A3EFF0904ECF8F
-:1016C000E0FCA3E0FAECFFEAFEEF90809EEEF0A3D0
-:1016D000EFF07A0B79837E0B7F837483FC740BFFAE
-:1016E000ECFEEF90809CEEF0A3EFF09080907402FF
-:1016F000F090809CA3E020E707908090E04401F008
-:10170000908006E04404F0F1E7904ED1E0A3E0FAC7
-:10171000A3E0AE02FF7B017A0B7983904ECFE0A36A
-:10172000E0904EC4F002087DAC07ECF46016AF0404
-:10173000D20412358FAF04A20692015168AF04C2E1
-:1017400002121FD522904CC3E0B40106C2017F1FD4
-:101750004168904CC3E0B40206C2017F1E4168900C
-:101760004CC3E0B4030CC2067F1FF128C2067F1DE4
-:1017700080B6C2017F1E5168C2067F1D80AA904CB0
-:10178000C3E0B40106D2017F1F4168904CC3E0B4AE
-:101790000206D2017F1E4168904CC3E0B4030CD214
-:1017A000017F1F5168D2067F1DE128D2017F1E51A3
-:1017B00068D2067F1DE128D2067F10F128D2067F6D
-:1017C0000FF128D2067F1FF128D2067F1EF128D202
-:1017D000067F1DE128904CC7E0B402087F0E120E70
-:1017E000CA7F01227F002290812CE030E5F922128D
-:1017F000313E121F6F80C0E4904CF0F0904DE5F048
-:1018000022904CC0E0FF64FE6003EF70087F22125C
-:101810000ECA7F01227F00227B017A4C79F27D0281
-:101820007C007FBE7E7F121678904CF2E004F0A31D
-:10183000E004F0904CF2E09044FAF0904CF3E09029
-:1018400044FBF0904DD0E09044FCF0904DD1E090FE
-:1018500044FDF0904DD2E09044FEF022904DECE03B
-:101860006038E014F0E07032904CEDE0B4052B905D
-:1018700047F5E020E324E4904DD4F0904CE974F077
-:10188000F0E4904CEEF0904E55F0904DD3F01118DE
-:101890007F0D120ECAE4904CEDF02212127A904C99
-:1018A000E4E004F07006904CE3E004F011FE120D49
-:1018B000D0310F115C904CE9E06024E4904CE3F0EF
-:1018C000A3F0904CE9E014F0E07014904CC4E09068
-:1018D0004CC3F0904CC0F07F0D12108B120FB290E1
-:1018E0004CEEE06018E4904CE3F0A3F0904CEEE096
-:1018F00014F0E070087F0A1215B2120FB222904C59
-:10190000D3E0600A14F0E070057405F051EA22900B
-:101910004CCEE030E13E904CD0E0C394FA5003E06E
-:1019200004F0904CD0E064B47037904DE3E004F0E4
-:10193000E0D394025007E4904CD0F08024904DE323
-:10194000E0B4031D904DDC7401F0E4904CD0F01233
-:101950000FB2800DE4904DE3F0904DDCF0904CD050
-:10196000F0904CCEE030E439904CEA740AF0904CA0
-:10197000D1E0C394FA5003E004F0904CD1E0640647
-:10198000704A904CC3E0FF600464FE703FE4904CEA
-:10199000CDF0120F877F0A1215B27F0A12108B80CA
-:1019A0002B904CCDE06020E4F07F0D12108B904C1A
-:1019B000EB7401F0904CC3E0904CC0F0904CBF74BD
-:1019C00001F012146D51E1E4904CD1F0904CCEE056
-:1019D00030E349904CEA740AF0904CD2E0C394FA98
-:1019E0005003E004F0904CD2E064067067904CE93C
-:1019F00074F0F0E4904CEEF07F0512108B1217B7E4
-:101A0000E4904CCCF0904CEB04F0904CC0E0904C47
-:101A1000C4F0904CC3E0904CC0F08038904CCCE0C7
-:101A2000602DE4F0904CC3E0FF904CC0E06F601F6D
-:101A3000904CEB7401F01217B7904CC3E0904CC07F
-:101A4000F0904CBF7401F0120F8712146D51E1E455
-:101A5000904CD2F0904CCEE020E50241DBA3E0C3F5
-:101A600094FA5003E004F0904CCFE064067071905B
-:101A70004DE8E0B40C08904CC17402F0801B904D0E
-:101A8000E8E0B41208904CC17401F0800C904DE86D
-:101A9000E0B41805E4904CC1F0904CE5740AF09065
-:101AA0004CC3E0FF6003B4FE07904CBF7402F02209
-:101AB000EFD39403502AEFC394014024904CC1E02B
-:101AC000FF904CC3E075F01FA424ECF582E4344D84
-:101AD000F583EFF0904CBF7403F022E4904CCFF00C
-:101AE000229080107401F080FE22904ECB1205826D
-:101AF00000000000904C95E07002A3E0700281A706
-:101B0000904C95E0FEA3E0FF904CD4E0FD04F0ED96
-:101B100025E024D6F582E4344CF583EEF0A3EFF013
-:101B2000904CD4E0C394044002E4F0E4904ECAF038
-:101B3000904ECBE0F8A3E0F9A3E0FAA3E0FB904ECF
-:101B4000CAE025E024D6F582E4344CF583E0FEA318
-:101B5000E0FFE4FCFDEB2FFFEA3EFEED39FDEC3843
-:101B6000FC904ECB120576904ECAE004F0E0B4042F
-:101B7000BF904ECBE0FCA3E0FDA3E0FEA3E0FFE4BA
-:101B80007B04FAF9F81204C5904ECB120576904CFE
-:101B9000E0E0FEA3E0FFE4FCFD904ECBE0F8A3E024
-:101BA000F9A3E0FAA3E0FBD31205655007E4904CDB
-:101BB000F9F08136904CFAE0FEA3E0FFE4FCFD90E2
-:101BC0004ECBE0F8A3E0F9A3E0FAA3E0FBC31205D3
-:101BD000654008904CF97464F0805B904CE0E0FE46
-:101BE000A3E0FFFBAA06E4904ECBE0FCA3E0FDA33C
-:101BF000E0FEA3E0C39BFFEE9AFEED9400FDEC94A3
-:101C000000FCE47B64FAF9F812043AC006C00790BD
-:101C10004CE0E0FEA3E0FFC3904CFBE09FFF904C44
-:101C2000FAE09EFEAB07FAE4F9F8D007D0061204FA
-:101C3000C5904CF9EFF0904CE0E0FEA3E0FFC390BC
-:101C40004CD7E09F904CD6E09E5007904CD5740244
-:101C5000F022904CDEE0FEA3E0FFE4FCFD904ECBD2
-:101C6000E0F8A3E0F9A3E0FAA3E0FBC31205655096
-:101C70001C904CD57401F0904CFCE0702A904D40C3
-:101C8000F0A37448F0A37412F0E4A3F022E4904CA3
-:101C9000D5F0904CFCE0700F904D40F0A37448F0EC
-:101CA000A3745DF0E4A3F022904F07EFF01205B3A8
-:101CB0001E54141F27151D4F271EEE291CDE2F1D35
-:101CC00044301DA3311E15321CDE331EC8341F08DC
-:101CD000351D9B371D4F391DA33C00001F6E121789
-:101CE000EF1231517B017A4C79C07D017C007FBDC0
-:101CF0007E7F121678904CC0E0D394034002E4F04B
-:101D0000904CC0E0904CC3F01217457F0A1215B2F8
-:101D10007B017A4C79F27D027C007FBE7E7F1216B9
-:101D200078904CF2E0B4FF19A3E0B4FF14904C9308
-:101D3000E0A3E0904CF2F0904C91E0A3E0904CF3E3
-:101D4000F00215CA12313EF16FE4904CFCF0229083
-:101D50004CC3E0D394005002E16EE094044002E1F1
-:101D60006EE075F01FA424CFF9744D35F0FA7B01B5
-:101D70007D1F7C001234F07FC81215B2C2017FFFB4
-:101D80001212687B017A4D79EE7D5D7C007F607E6A
-:101D90007F121504D2017FFF021268904DD6E0FF3A
-:101DA000020737904CC57403F0E4A3F01217F7E470
-:101DB000904CEEF0904CEBF0904CC074FEF0904CD8
-:101DC000C3F0904D467403F0904DE6740AF0904FC6
-:101DD00007E064317036904DE7F0904E55F0904C2E
-:101DE000C1F0904CE5741EF0904BEBE0B40F12A3E1
-:101DF000E0B40F0DA3E0B40F08A3E0640F7002E19C
-:101E00006E904CBF7402F012146D41E1904CE5E00D
-:101E10006002E16E22E4904CC5F0A3F0904CE3F038
-:101E2000A3F0904CEB04F0904CEDE0600B1217F730
-:101E3000904CEDE0FF02108B904CECE0B40105E417
-:101E4000F0020FB2904CF0E07002E16E904DD6E0DF
-:101E5000FF020737904CC77403F0A37401F0E4A3AA
-:101E6000F0A3F07F0E120ECA7F02120ECA904CE948
-:101E7000E06034E4904DE7F0904CC1F0904CC3E04A
-:101E800075F01FA424ECF582E4344DF583E4F09062
-:101E90004DE7E0FF904CC3E075F01FA424EDF58200
-:101EA000E4344DF583EFF0904DE5E07006904DD4AD
-:101EB0007414F0904CE5E0700312177EE4904CE946
-:101EC000F0904CE3F0A3F022904CC77404F0E4A32C
-:101ED000F01217F7E4904CEBF0904DDB740AF090A1
-:101EE0004CC3E0904CC0F0904CBF7403F022904C77
-:101EF000C3E014FD7F01120803904CC3E0904CC076
-:101F0000F0904CBF7403F022904D3912058200000E
-:101F10000000E4904DD7F0904DDE04F0904CC804E2
-:101F2000F0904CC704F022904CC7E0904CCBF0E40A
-:101F3000904CC7F0A3F0904CEB04F0E4904D3DF0D2
-:101F4000904CECE0B40105E4F0020FB2904CEDE0EF
-:101F50006004FF02108B904CF0E06008904DD6E0DA
-:101F6000FF020737120FB2E4904CE3F0A3F0229087
-:101F70008080E4F0A3F0A3F0F198E4904F05F0F036
-:101F8000904F05E090068193FF600CC205F1B5907B
-:101F90004F05E004F080E922E4904F04F0F0904F08
-:101FA00004E0FFC39408500CC205F1B5904F04E063
-:101FB00004F080EA22AC07ECF46019AF04A20592A9
-:101FC0000312357EAF04A205B39202F1D5AF04C26D
-:101FD0000412358F22EFF4600D7B017A807978A2AC
-:101FE00002920012351D22AD07AC06904E4BE06404
-:101FF00002600E7401F0904E4C04F0EFA3F0EEA3DB
-:10200000F022904E4BE0640260127404F0904DE9AF
-:102010007401F0904E4C7406F0A3EFF022904ED86D
-:10202000EBF0A3EAF0A3E9F0E4A3F0F0904EDBE0DC
-:10203000FFC3940640026133904ED8E0FBA3E0FA60
-:10204000A3E02401F9E43AFA7E00E92FF9EE3AFA26
-:102050001203B6FF54F064F06009EF54D064D0600E
-:1020600002612B1203B6FBB4F1097F837E01121FBC
-:10207000E76100EBB4F2097FCD7E00121FE761003B
-:10208000904ED8E0FBA3E0FAA3E02401F9E43AFA89
-:10209000A3E07E0029F9EE3AFA1203B6FBB4F30787
-:1020A0007FB7121FE76100EBB4F4097FB67E001220
-:1020B0001FE76100904ED8E0FBA3E0FAA3E0240103
-:1020C000F9E43AFAA3E07E0029F9EE3AFA1203B6EF
-:1020D000FBB4F5077FB5121FE76100EBB4F6097F8B
-:1020E000EA7E00121FE76100904ED8E0FBA3E0FA01
-:1020F000A3E02401F9E43AFAA3E07E0029F9EE3ADC
-:10210000FA1203B6FBB4F7077FE9121FE76100EB91
-:10211000B4F8097FE27E00121FE76100904ED8E01C
-:10212000FBA3E0FAA3E02401F9E43AFAA3E07E007D
-:1021300029F9EE3AFA1203B6FBB4F9087F940E12AD
-:102140001FE76100EBB4FA097F8A7E01121FE76185
-:1021500000904ED8E0FBA3E0FAA3E02401F9E43AB2
-:10216000FAA3E07E0029F9EE3AFA1203B6FBB4FBBB
-:10217000087F920E121FE76100EBB4D0097F2A7E20
-:1021800002121FE76100904ED8E0FBA3E0FAA3E043
-:102190002401F9E43AFAA3E07E0029F9EE3AFA12B2
-:1021A00003B6FBB4D1097F257E02121FE76100EB65
-:1021B000B4D3097F267E02121FE76100904ED8E05B
-:1021C000FBA3E0FAA3E02401F9E43AFAA3E07E00DD
-:1021D00029F9EE3AFA1203B6FBB4D2097F247E0243
-:1021E000121FE76100EBB4D4097F277E02121FE7BC
-:1021F0006100904ED8E0FBA3E0FAA3E02401F9E4EB
-:102200003AFAA3E07E0029F9EE3AFA1203B6FBB4DB
-:10221000D5097F217E02121FE76100EBB4D6097F4A
-:10222000237E02121FE76100904ED8E0FBA3E0FA84
-:10223000A3E02401F9E43AFAA3E07E0029F9EE3A9A
-:10224000FA1203B6FBB4D7077F70121FE76100EBE9
-:10225000B4D8097F6F7E00121FE76100904ED8E06E
-:10226000FBA3E0FAA3E02401F9E43AFAA3E07E003C
-:1022700029F9EE3AFA1203B6FBB4D9077FB8121F58
-:10228000E7807DEBB4DA097F307E00121FE78070B3
-:10229000904ED8E0FBA3E0FAA3E02401F9E43AFA77
-:1022A000A3E07E0029F9EE3AFA1203B6FBB4DB098B
-:1022B0007F067E03121FE78047EBB4DC097F077EB1
-:1022C00003121FE7803A904ED8E0FBA3E0FAA3E0A8
-:1022D0002401F9E43AFAA3E07E0029F9EE3AFA1271
-:1022E00003B6FEB4DD067F0111028014EEB4DE06F3
-:1022F0007F021102800A1203B6B4DF047F041102C8
-:10230000904E4BE0B40224904ED8E0FBA3E0FAA339
-:10231000E02401F9E43AFAA3E07E0029F9EE3AFA62
-:102320001203B6904DEDF0E41203FC904EDBE00496
-:10233000F0012C22904D46E06037904DDDE0703189
-:10234000904CC5E0B4032A7B017A4879007D097C72
-:1023500000120B6BE4904E4BF090480004F0904D4F
-:1023600046E0904802F07B017A4879007D09120C22
-:102370003022904EE4E4F0A3F0A3F0D10050257198
-:10238000A5904EE4EBF0A3EAF0A3E9F04A700790C1
-:102390004CB604F0809E904EE4E0FBA3E0FAA3E08C
-:1023A000F91208C022E4904E88F0A3F0A3F0A3F045
-:1023B000A3F0A3F0A3F0A3F0A3F0A3F0A3F0122FD7
-:1023C000DC7A4D79A8904EAE7401F0A3744DF0A361
-:1023D00074A8F0A37414F07B017A4D79BCD148EF56
-:1023E00060167B017A4D79BC7D14D118EF7009908D
-:1023F0004CCEE04402F0800C904CCEE054FDF0E472
-:10240000904CD0F0E4904E88F0904E88E0FF90061B
-:102410008193700281D674BC2FF582E4344DF5832C
-:10242000E0904E8BF0E0FFB1F2904E92EFF0C3944B
-:1024300002500281BFE4904E89F0904E89E0FFC3C4
-:102440009408507B74017E00A807088005C333CE32
-:1024500033CED8F9FF904E8BE0FDE4EF5D6058E499
-:10246000904E8AF0904E8AE0FF90068193604890EB
-:102470004E88E0FEEF6E6037904E8AE024BCF58215
-:10248000E4344DF583E0FD7C00904E89E0FF74015B
-:102490007E00A807088005C333CE33CED8F9FFEEFF
-:1024A0005CFEEF5D4E6008904E917401F0800890E4
-:1024B0004E8AE004F080AD904E89E004F0813A90BD
-:1024C0004E8BE0FF6008B1F2904E8FE02FF0904EFF
-:1024D00088E004F08109904E8FE0904DE4F0E490A4
-:1024E0004E88F0904E88E0FF900681937002A1C65E
-:1024F00074932FF582E4344DF583E0FE74BC2FF520
-:1025000082E4344DF583E06E904E8BF0904E88E07F
-:10251000FF24BCF582E4344DF583E0904E8EF090BC
-:102520004E8BE07004A1BEA1BE904E91E060077B8F
-:10253000007A0079002274BC2FF582E4344DF583D3
-:10254000E0FE74932FF582E4344DF583EEF0E490D1
-:102550004E89F0904E89E0FFC39408505B904E8BFB
-:10256000E030E03C904E88E0FE33333354F8FEEF29
-:102570004E904E8DF0A3E0FF904E8DE09006969326
-:10258000FD1228F8904E90EFF0904E8EE030E0096A
-:10259000904E90E0FFD1928007904E90E0FFD1E8FE
-:1025A000904E8BE0FFC313F0904E8EE0FFC313F00C
-:1025B000904E89E004F0809B904E8C7401F0904E18
-:1025C00088E004F081E3904E4BE0B4030A904DDFC5
-:1025D000E0B401037402F0904E8CE07007904DDF80
-:1025E000E0B402077B017A4E79A4227B007A00795D
-:1025F0000022E4FEEF6006145FFF0E80F7AF0622B4
-:10260000904B9CE0FEA3E0FF904B9AE0B50607A339
-:10261000E0B50702D322C322904EEAEBF0A3EAF022
-:10262000A3E9F0E4FFEFC39D501B904EEAE0FBA34B
-:10263000E0FAA3E0F98F827583001203CF60037F75
-:1026400000220F80E07F0122904EABEBF0A3EAF076
-:10265000A3E9F0E4FF904EB1E0FEEFC39E5030904E
-:102660004EAEE0FBA3E0FAA3E0F98F82758300127F
-:1026700003CFFE904EABE0FBA3E0FAA3E0F98F821C
-:102680007583001203CF6E60037F00220F80C67F28
-:102690000122E4FEEFC394E04020EFD394E7501A08
-:1026A000904EA4E0FEEF5407FF7401A807088002D3
-:1026B000C333D8FC4E904EA4F022E4FE74A52EF550
-:1026C00082E4344EF583E0FD6F601CED7014904D94
-:1026D000EDE06F601274A52EF582E4344EF583EFC1
-:1026E000F0220EEEB406D522E4FEFDEF54F064F0C5
-:1026F0006007EF54D0FCBCD00C904E4BE0B4020B02
-:102700007403F08006904DDF7401F0EFC394E04055
-:1027100021EFD394E7501B904EA4E0FEEF5407FF47
-:102720007401A807088002C333D8FCF45E904EA45D
-:10273000F022E4FEED702174A52EF582E4344EF50E
-:1027400083E06F7047EEB4050B24A5F582E4344EA8
-:10275000F583E4F07D01803474A52EF582E4344ED7
-:10276000F583E0FC74A42EF582E4344EF583ECF09E
-:1027700074A52EF582E4344EF583E06014EEB405C2
-:102780000B24A5F582E4344EF583E4F00EEEB40696
-:10279000A322904ED4EBF0A3EAF0A3E9F0E4FDA36A
-:1027A000F0904DE2E064016003022888904ED774F7
-:1027B00005F0904ED7E0FE14F0EE70030228D090A2
-:1027C0004ED4E0FBA3E0FAA3E02401F9E43AFAA333
-:1027D000E07E0029F9EE3AFA1203B6FDC3942440D4
-:1027E00073EDD39427506DED24DC24FD5004603745
-:1027F000805F904CEA740AF0904CCEE04408F054AC
-:10280000EFF0ED24DDFF904CC3E0B50708904CC518
-:10281000E06403703C904CC3EFF0904CCC7401F03A
-:10282000E4904CE5F0802A904CEA740AF0904CCE8B
-:10283000E054F7F04410F0904CC3E0FF601364FEE6
-:10284000600F904CCD7401F0E4904CC3F0904CE5D7
-:10285000F07F0122904CCEE054E7F0ED641860095F
-:10286000ED640C6004EDB41215904CEA740AF0901B
-:102870004DE8EDF0904CCEE04420F07F0122904CEA
-:10288000CEE054DFF00227B2904ED4E0FBA3E0FA92
-:10289000A3E0F99000011203CF64EF7029904CEA95
-:1028A000740AF0904CCEE054F7F04410F0904CC312
-:1028B000E0FF600F64FE600B904CCD7401F0E4907B
-:1028C0004CC3F07F0122904CCEE054E7F054DFF08F
-:1028D0007F0022904CF5EDF0A3EBF0EF30E012908A
-:1028E0004CF4E0B403047402F022904CF47401F050
-:1028F00022904CF47404F022AE07E4904F03F0EE03
-:1029000030E005E4904CF8F0904F03EDF0904CC1AE
-:10291000E0602EEDB4E608904F0374E7F08022EDFE
-:10292000B4E408904F0374E6F08016EDB4E3089029
-:102930004F0374E2F0800AEDB4E206904F0374E3B3
-:10294000F0904DE2E06401600221E1EDB44C0890AA
-:102950004F037448F021E1EDB45208904F0374D84E
-:10296000F0807EEDB45108904F0374D7F08072ED83
-:10297000B42808904F037447F08066EDB42A08909D
-:102980004F0374DAF0805AED64297055EE30E04C54
-:10299000904DE7E06004E4F08006904DE77401F0AC
-:1029A000904CC3E0FF6003B4FE08904CBF7402F08B
-:1029B000802AEFD394035024EFC39401401E904D1E
-:1029C000E7E0FF904CC3E075F01FA424EDF582E42E
-:1029D000344DF583EFF0904CBF7403F0E4904F0357
-:1029E000F0904E55E060026154904DE2E070069028
-:1029F0004DE7E06014904DE2E064016002615490A4
-:102A00004DE7E0640160026154ED24C6B40C00405F
-:102A1000026154902A2175F003A4C58325F0C58373
-:102A200073022A45022A5C022AA5022AC2022AE06F
-:102A3000022B09022B26022B2E022B36022B3E02E2
-:102A40002B46022B4E904CC1E0B40108904F03740A
-:102A500044F06154904F0374D6F06154904CC1E03F
-:102A6000FC7014AF067B2B7D0411D3EE30E02F9069
-:102A70004CF8740AF08027ECB4010AAF067B527D53
-:102A80000111D38019904CC1E0B40212AF067B2B28
-:102A90007D0811D3EE30E006904CF8740AF0E49013
-:102AA0004F03F06154904CC1E07008904F0374D212
-:102AB000F06154AF067B507D0811D3E4904F03F0D2
-:102AC0006154904CC1E0B4010FAF067B2C7D08111E
-:102AD000D3E4904F03F0807C904F0374D5F0807462
-:102AE000904CC1E0700AAF067B2C7D0811D38008A2
-:102AF000AF067B2C7D0111D3EE30E006904CF874CC
-:102B00000AF0E4904F03F0804B904CC1E0700890C5
-:102B10004F037446F0803DAF067B207D0A11D3E45D
-:102B2000904F03F0802E904F0374F4F08026904F66
-:102B30000374F2F0801E904F0374F5F08016904FEE
-:102B40000374F8F0800E904F0374F6F08006904FF7
-:102B50000374F7F0904F03E0FF22E4FF904F06F07C
-:102B6000FEFDEF900681936049EF93FD131313541C
-:102B70001FFEED5407FD7401A805088002C333D879
-:102B8000FCFDEE2478FBE434808B82F583E0FCEDE1
-:102B9000F4FBEC5BF0EE2470F582E43480F583E026
-:102BA0004DF0EE2474F582E43480F583E05BF00FA1
-:102BB00080B01235DF90811CE0904F06F0904DDC24
-:102BC000E06020E4FF71F37F0171F37F0271F37F16
-:102BD0000371F37F0471F37F0571F37F0671F37F57
-:102BE000078010904F06E0FF9000A3F0EFF49000F4
-:102BF000A7F022904F0AEFF0F15A9208904F0AE0A6
-:102C0000FFA208B39207EFF470028191EF5407FE20
-:102C1000EF1313135403FF30074324A3F582E43466
-:102C200000F583C083C082E0FD7401A8060880021D
-:102C3000C333D8FCF45DD082D083F074A72FF58223
-:102C4000E43400F583C083C082E0FF7401A8060865
-:102C50008002C333D8FC4FD082D083F02274A32FDC
-:102C6000F582E43400F583C083C082E0FD7401A8DE
-:102C700006088002C333D8FCFC4DD082D083F074A8
-:102C8000A72FF582E43400F583E0FFECF4FEEF5E5D
-:102C9000F022F14791EE120D4C12146D12136D904B
-:102CA0004D7DE06002F1AD900B7EE014600D24FEDE
-:102CB00070E2715A1217B791E080FE904CEAE07012
-:102CC00012904CECE0700C904CE5E07006904CF8E3
-:102CD000E06004F1A180BD715A91E080B780B52217
-:102CE000E4900B7FF0900B7EF07F010215B27A0C1E
-:102CF000794B904EED7401F0A3740CF0A3744BF07B
-:102D0000904BA0E0FEA3E0FF904B9EE06E7003A30B
-:102D1000E06F7002C19D7E0C7F4B7D03D1F7904E1A
-:102D2000EDE0FBA3E0FAA3E0F91203B6B4022B90A6
-:102D30004EEEE475F00212040E904EEDE0FBA3E0BF
-:102D4000FAA3E0F91203B6FF904E68E0A3E0FAA3FD
-:102D5000E0F5828A831205DDC19D904EEDE0FBA374
-:102D6000E0FAA3E0F91203B664047059904EEE75D0
-:102D7000F00112040E7E0C7F4E904EEDE0FBA3E0BE
-:102D8000FAA3E0F91203B614FDD1F7904EEDE0FB83
-:102D9000A3E0FAA3E02401F9E43AFAC002C00190EA
-:102DA0004EEDE0A3E0FAA3E0F91203B6FD7C00903B
-:102DB0004E6BE0A3E0FAA3E0F5828A83D001D00253
-:102DC0001205DDC19D904EEDE0FBA3E0FAA3E0F912
-:102DD0001203B664057059904EEE75F00112040EA0
-:102DE0007E0C7F4E904EEDE0FBA3E0FAA3E0F912DB
-:102DF00003B614FDD1F7904EEDE0FBA3E0FAA3E09B
-:102E00002401F9E43AFAC002C001904EEDE0A3E0DB
-:102E1000FAA3E0F91203B6FD7C00904E74E0A3E043
-:102E2000FAA3E0F5828A83D001D0021205DD806D1D
-:102E3000904EEDE0FBA3E0FAA3E0F91203B66403C1
-:102E40007059904EEE75F00112040E7E0C7F4E907C
-:102E50004EEDE0FBA3E0FAA3E0F91203B614FDD1B6
-:102E6000F7904EEDE0FBA3E0FAA3E02401F9E43A89
-:102E7000FAC002C001904EEDE0A3E0FAA3E0F9121F
-:102E800003B6FD7C00904E77E0A3E0FAA3E0F58264
-:102E90008A83D001D0021205DD800280FE904BA50E
-:102EA000E0FEA3E0FF904C5EE06E7003A3E06F6075
-:102EB00022904E6EE0FBA3E0FAA3E0F94A603712DD
-:102EC00005D9904BA5E0FFA3E0904C5ECFF0A3EFB7
-:102ED000F080CA904C8DE0FFA3E06F6019904E71B6
-:102EE000E0FBA3E0FAA3E0F94A600B1205D9904C8D
-:102EF0008DE0A3F080DD22904EFDEEF0A3EFF0A96F
-:102F000005904B9EE0FEA3E0FFAD0119ED602F0F91
-:102F1000EFAC0670010E14F5828C83E0FD904EFD3F
-:102F2000E475F00112042485F082F583EDF0AD071D
-:102F3000AC06BC4BD4BD9AD17E4B7F3680CB904B38
-:102F40009EEEF0A3EFF0227B017A4E795678687CF2
-:102F50004E7D017E007F120203907B017A81791CF5
-:102F6000AD07E4904F09F0FEEF5407F0EF13131391
-:102F70005403FEF5827583001203CFFD3395E0FC08
-:102F8000904F09E0FF74017E00A807088005C33355
-:102F9000CE33CED8F9FFEE5CFEEF5D4E24FF2281EA
-:102FA00092900B7F7401F0E4900B7EF0221217B721
-:102FB000904BEF74FFF0904CFC7401F0E4904CE601
-:102FC000F0A3F0A3F0904CB774F0F0904DE0F090C7
-:102FD0004D4074FFF0A3F0A3F0A3F022E4FF904E65
-:102FE000E7F0FEFDA3F0A3F0EF90068193700302DB
-:102FF000306FEF93FD131313541FFEED5407FD7450
-:1030000001A805088002C333D8FCFDEE2478FBE458
-:1030100034808B82F583E0FCEDF4FBEC5BF0EE2476
-:1030200070F582E43480F583E04DF0EE2474F5828F
-:10303000E43480F583E05BF090811CE0F4FC74BC28
-:103040002FF582E4344DF583ECF0EE2478FBE43484
-:10305000808B82F583E04DF0EE2470FBE434808BAE
-:1030600082F583E0FCEDF4FBEC5BF00F022FE8E46B
-:10307000FFEF90068193607CEF93FD131313541FB1
-:10308000FEED5407FD7401A805088002C333D8FC87
-:10309000FDEE2478FBE434808B82F583E0FCEDF4D4
-:1030A000FBEC5BF0EE2470F582E43480F583E04DB8
-:1030B000F0EE2474F582E43480F583E05BF09081D7
-:1030C0001CE0F4FC74A82FF582E4344DF583ECF099
-:1030D000EE2478FBE434808B82F583E04DF0EE241F
-:1030E00070FBE434808B82F583E0FCEDF4FBEC5B59
-:1030F000F00F0171E4FFEF90068193604074BC2FE4
-:10310000F582E4344DF583E0FE74A82FF582E434B3
-:103110004DF583E06E602374BC2FF582E4344DF5E9
-:1031200083C083C082E0FE74A82FF582E4344DF59D
-:1031300083E0FDEE5DD082D083F00F80B9229080D5
-:1031400091740DF0A304F0A3F0A3F0A3F0A314F086
-:1031500022120B973186904CEB7401F0904CE57481
-:103160001EF0E4904CF0F0904D0574FFF09044FC9C
-:10317000E0904DD0F09044FDE0904DD1F09044FEB1
-:10318000E0904DD2F022904CD37405F0E4A3F0907F
-:103190004C907433F0E4FFEF25E024D6F582E4345C
-:1031A0004CF5837462F0A3F00FEFB404EA904C91F5
-:1031B000E0FEA3E0FFC3904C94E09FFD904C93E0B1
-:1031C0009EFCE41202067BF67A28791C783F1200F6
-:1031D000FBC004C005C006C007904C91E0FCA3E012
-:1031E000FDE4120206D003D002D001D00012000A82
-:1031F00012023F904CFAEEF0A3EFF0904C91E0FEFB
-:10320000A3E0FFC3904C94E09FFD904C93E09EFCA4
-:10321000E41202067BC37AF579A8783E1200FBC05F
-:1032200004C005C006C007904C91E0FCA3E0FDE49B
-:10323000120206D003D002D001D00012000A1202FE
-:103240003F904CDEEEF0A3EFF0904C91E0FEA3E057
-:10325000FFC3904C94E09FFD904C93E09EFCE412E1
-:1032600002067B5C7A8F7942783E1200FBC004C074
-:1032700005C006C007904C91E0FCA3E0FDE41202FB
-:1032800006D003D002D001D00012000A12023F90F3
-:103290004CE0EEF0A3EFF022904EFBEDF090000139
-:1032A0001203CF904EFCF022904CEAE0600214F042
-:1032B000904CEFE0600214F0904CF8E0600B14F0DA
-:1032C000E07006904CF47406F0904CE5E0602090BD
-:1032D0004CEEE06006E4904CE5F022904CE5E01402
-:1032E000F0121745904CE5E0704612177E80419031
-:1032F0004CE9E0703B904CEEE07035904CE2E060C1
-:103300002F14F0E0FFC394085016EF30E109C2011A
-:103310007F1D1212688010D2017F1D121268800773
-:10332000D2017F1D121268904CE2E070037418F015
-:10333000904DDCE07036904DDDE06401702E904CD5
-:10334000E3F0A3F0904DDDF0904E4CE0600D7B017A
-:103350007A4E794C7D03120C308011904800E06069
-:103360000B7B017A4879007D09120C30904DD4E036
-:103370006011E014F0E0700B904D3DE070057F1B94
-:10338000120ECA904DE6E06013E014F0E0700D906C
-:103390004CC7E0B40406904213740CF022904EDC4B
-:1033A000EEF0A3EFF0904EDEECF0A3EDF0904EDEE9
-:1033B000E0FEA3E0FFD3904EDDE09F904EDCE09E68
-:1033C0004016904EDEE0FEA3E0FF904EDDE09FFF52
-:1033D000904EDCE09EFE801E904EDCE0FEA3E0FFFF
-:1033E000C3904EDFE09FFF904EDEE09EFEAD03C334
-:1033F000EB9FFFE49EFE22900BE77403F0ED600369
-:10340000120FBB22900446E0FF229082807401F0EC
-:1034100022904E9CEBF0A3EAF0A3E9F0904EA27448
-:10342000FFF5F012042445F0602A904E9FE0FBA3C4
-:10343000E475F001120424A9F0FA1203B6FF904ECD
-:103440009CE0FBA3E475F001120424A9F0FAEF124A
-:1034500003FC80C822904EB2EEF0A3EFF0904EB67F
-:10346000EBF0A3EAF0A3E9F0904EB4ECF0A3EDF09A
-:10347000A3E0F9A3E0FAA3E0904E9FC9F0A3EAF01D
-:10348000A3E9F0A3ECF0A3EDF07B017A0B79869130
-:1034900011900B8374A0F0904EB2E0FFA3E0900B6C
-:1034A00084CFF0A3EFF0904EB5E02403FD904EB42E
-:1034B000E03400FCEDFAECFFEAFEEF908098EEF0CD
-:1034C000A3EFF07A0B79837E0B7F837483FC740BFC
-:1034D000FFECFEEFA3EEF0A3EFF090809EE4F0A3EC
-:1034E000F090809004F0908006E04404F00217E72A
-:1034F000904EF3EBF0A3EAF0A3E9F0ED1DAE0470FB
-:10350000011C4E6017904EF3E0FBA3E475F001122E
-:103510000424A9F0FA74FF1203FC80DF22904EF617
-:10352000EBF0A3EAF0A3E9F0E4FEFDEF5407FEEFB1
-:103530001313135403FD300022904EF6E0FBA3E07A
-:10354000FAA3E02DF9E43AFA1203B6FF7401A806D3
-:10355000088002C333D8FC4F0203FC904EF6E0FB18
-:10356000A3E0FAA3E02DF9E43AFA1203B6FF7401DE
-:10357000A806088002C333D8FCF45F0203FCEFF412
-:10358000600C7B017A80797CA2039200B11D22EF4E
-:10359000F4600C7B017A807970A2049200B11D2244
-:1035A000EFF4603AEF5407FEEF1313135403FF24B4
-:1035B000A3F582E43400F583C083C082E0FD74018A
-:1035C000A806088002C333D8FCF4FC5DD082D08307
-:1035D000F074A72FF582E43400F583E05CF022E478
-:1035E000FFEFFD7C002478FBEC34808B82F583E0D8
-:1035F000FEED2470FDEC34808D82F583E04EF4FE08
-:10360000EF247CFDEC34808D82F583EEF00FEFB477
-:0336100004CF22C2
+:10116000017A4D79EE7D5D7C001234CD904CC074D7
+:10117000FFF0A3F0904CBF7403F0E4904CEDF0222C
+:10118000E4904CF0F0F1B7EF6009904F02E0904C22
+:10119000EDF0227B017A4C79007D047C007F527E49
+:1011A0007FD15B7F0AB195E4904E55F0904C00E002
+:1011B000F47021A3E0B4FF1CA3E0B4FF17A3E0B4D4
+:1011C000FF12904C00740FF0A3F0A3F0A3F0904E28
+:1011D000557401F07F21120ECA904CC57402F0E4E0
+:1011E000A3F0904CEDF022E4904CF0F0120F87EF5A
+:1011F0007005F1B7EF6009904F02E0904CEDF022DE
+:10120000904CC5E06401602AE4904E55F07F2312B3
+:101210000ECA904CC57401F0E4A3F0904CEE74F04B
+:10122000F0D2017F1E513ED2017F1D513EE4904C11
+:10123000E9F0E4904CEDF022E4904CEDF022EFF474
+:10124000600C7B017A807974A2019200F1F4229003
+:101250004DEBE0640260026125904CE9E06048904B
+:101260004CCCE06401602C904CC3E0B401067F1FBD
+:1012700071268041904CC3E0B402067F1E71268027
+:1012800034904CC3E06403702C7F1F71267F1D7166
+:10129000268022D2017F1F513ED2017F1E513ED2B5
+:1012A000017F1D513E800E904CEEE060087F1E7164
+:1012B000267F1D7126120FF8EF606A904CE6E06001
+:1012C0001614F0C2017F10513E904CE6E0700ED231
+:1012D000017F10513E8006D2017F10513E904CE7B5
+:1012E000E0601614F0C2017F0F513E904CE7E070B1
+:1012F0000ED2017F0F513E8006D2017F0F513E90EA
+:101300004CE8E0602014F0904CE5E07018904CE25E
+:10131000E07012C2017F1D513E904CE8E07006D291
+:10132000017F1D513E22904F0BEFF07B017A8079B7
+:1013300074122F679209904F0BE0FFA209B392013C
+:10134000413E904DEBE0640260028141904CE9E047
+:101350006002813B904CEEE06002813B904CD5E016
+:10136000B40205120FB2802E904CD5E0B401149057
+:101370004CF7E07021904CE27418F0904CF7740137
+:10138000F08013904CF7E0B4010CE4F0904CE2F0E4
+:10139000D2017F1D513E120FF8EF7002812F904D48
+:1013A000E0E0FF904CB7E06F70028141E030E00E6A
+:1013B000904CE6740CF0C2017F10513E800BD201BC
+:1013C0007F10513EE4904CE6F0904CB7E030E10ED7
+:1013D000904CE7740CF0C2017F0F513E800BD2019C
+:1013E0007F0F513EE4904CE7F0904CB7E030E21AAA
+:1013F000904CE8740CF0904CE5E07025904CE2E0E5
+:10140000701FC2017F1D513E8017904CE5E0700CAB
+:10141000904CE2E07006D2017F1D513EE4904CE812
+:10142000F0E4904D46F0904CB7E0904DE0F022D2C1
+:10143000017F10513ED2017F0F413ED2017F1051FA
+:101440003E22904CBFE0700281E6904CE0E0FEA3AB
+:10145000E0FFC3904C96E09F904C95E09E50028137
+:10146000E6C2017FFF513E904CBFE0640270317BC9
+:10147000017A4C79007D04FC7F527E7F91E77B01ED
+:101480007A4C79C17D017C007F577E7F91E77B019B
+:101490007A4D79E77D017C007F567E7F91E780174A
+:1014A000904CBFE0B403107B017A4D79EE7D5D7CFA
+:1014B000007F607E7F91E77B017A4C79C07D017C63
+:1014C000007FBD7E7F91E77B017A4C79F27D027CC3
+:1014D000007FBE7E7F91E7D2017FFF513E7F0AB140
+:1014E00095E4904CBFF022904E93EEF0A3EFF0A362
+:1014F000ECF0A3EDF0A3EBF0A3EAF0A3E9F0904E3B
+:1015000095E07002A3E07002A194904E93E0FEA3D8
+:10151000E0FF440F2401FDE43EFCC3ED9FFFEC9E81
+:10152000FE904E9AF0A3EFF0904E95E0FCA3E0FD04
+:10153000D39FEC9E400A904E9AE0FEA3E0FF800409
+:10154000AE04AF05904E9AEEF0FCA3EFF0FDC39011
+:101550004E96E09DF0904E95E09CF0904E93E0FE0C
+:10156000A3E0FF904E97E0FBA3E0FAA3E0F912346A
+:10157000327F0AB195904E9AE0FEA3E0FF904E981C
+:10158000EE8FF012040E904E94E02FF0904E93E008
+:101590003EF081FE22EFD394004011E4FDFC0DBD2E
+:1015A00000010CBC04F8BDA6F51F80E922904DEBAC
+:1015B0007402F07B017A4D79EE7D5D7C007F607E68
+:1015C0007FD15B7F0AB1957B017A4C79007D047CE9
+:1015D000007F527E7FD15B7F0AB1957B017A4D7986
+:1015E000E77D017C007F567E7FD15B7F0AB1957BD2
+:1015F000017A4C79C17D017C007F577E7FD15B7F72
+:101600000AB195904CC3E0FFD394035033EFC394D9
+:1016100001402DEF75F01FA424ECF582E4344DF564
+:1016200083E0904CC1F0904CC3E075F01FA424ED12
+:10163000F582E4344DF583E0904DE7F0118B8004A2
+:101640007F08118B904DE7E0D394014002E4F090C5
+:101650004CC1E0D394024002E4F022904ECFECF073
+:10166000A3EDF0A3EBF0A3EAF0A3E9F09080987467
+:1016700004F0A3E4F0900CAF74A0F0A3EEF0A3EF9D
+:10168000F0900CB274A1F07A0C79AF7E0C7FAF743D
+:10169000AFFC740CFFECFEEF90809AEEF0A3EFF03D
+:1016A000904ECFE0FCA3E0FAECFFEAFEEF90809EC4
+:1016B000EEF0A3EFF07A0B79837E0B7F837483FCCB
+:1016C000740BFFECFEEF90809CEEF0A3EFF09080A7
+:1016D000907402F090809CA3E020E707908090E057
+:1016E0004401F0908006E04404F0F1DA904ED1E03D
+:1016F000A3E0FAA3E0AE02FF7B017A0B7983904E60
+:10170000CFE0A3E0904EC4F002087DAC07ECF4609B
+:1017100015AF04D20412352BAF04A2069201513E3C
+:10172000AF04C202F1C922904CC3E0B40106C20169
+:101730007F1F413E904CC3E0B40206C2017F1E41B0
+:101740003E904CC3E0B4030CC2067F1FF10BC206EF
+:101750007F1D80B7C2017F1E513EC2067F1D80AB38
+:10176000904CC3E0B40106D2017F1F413E904CC3B0
+:10177000E0B40206D2017F1E413E904CC3E0B403A8
+:101780000CD2017F1F513ED2067F1DE10BD2017F9B
+:101790001E513ED2067F1DE10BD2067F10F10BD207
+:1017A000067F0FF10BD2067F1FF10BD2067F1EF1D1
+:1017B0000BD2067F1DE10B904CC7E0B402087F0EF0
+:1017C000120ECA7F01227F0022EFF4600C7B017AA7
+:1017D000807978A2029200F1F42290812CE030E529
+:1017E000F92212311B121FA680AFE4904CF0F0904A
+:1017F0004DE5F022904EF6EBF0A3EAF0A3E9F0E419
+:10180000FEFDEF5407FEEF1313135403FD300022C7
+:10181000904EF6E0FBA3E0FAA3E02DF9E43AFA12C9
+:1018200003B6FF7401A806088002C333D8FC4F0238
+:1018300003FC904EF6E0FBA3E0FAA3E02DF9E43AB6
+:10184000FA1203B6FF7401A806088002C333D8FC5D
+:10185000F45F0203FC904CC0E0FF64FE6003EF7095
+:10186000087F22120ECA7F01227F00227B017A4C60
+:1018700079F27D027C007FBE7E7F12165B904CF277
+:10188000E004F0A3E004F0904CF2E09044FAF09011
+:101890004CF3E09044FBF0904DD0E09044FCF0908D
+:1018A0004DD1E09044FDF0904DD2E09044FEF02206
+:1018B000904DECE06038E014F0E07032904CEDE0D8
+:1018C000B4052B9047F5E020E324E4904DD4F0904C
+:1018D0004CE974F0F0E4904CEEF0904E55F0904DE1
+:1018E000D3F0116C7F0D120ECAE4904CEDF0221271
+:1018F000124F904CE4E004F07006904CE3E004F0EA
+:101900003152120DD0316311B0904CE9E06024E403
+:10191000904CE3F0A3F0904CE9E014F0E0701490E8
+:101920004CC4E0904CC3F0904CC0F07F0D12108B73
+:10193000120FB2904CEEE06018E4904CE3F0A3F08C
+:10194000904CEEE014F0E070087F0A121595120F2B
+:10195000B222904CD3E0600A14F0E070057405F0F8
+:10196000713E22904CCEE030E13E904CD0E0C394EA
+:10197000FA5003E004F0904CD0E064B47037904D1E
+:10198000E3E004F0E0D394025007E4904CD0F08000
+:1019900024904DE3E0B4031D904DDC7401F0E4901D
+:1019A0004CD0F0120FB2800DE4904DE3F0904DDC7E
+:1019B000F0904CD0F0904CCEE030E439904CEA748A
+:1019C0000AF0904CD1E0C394FA5003E004F0904C3C
+:1019D000D1E06406704A904CC3E0FF600464FE707E
+:1019E0003FE4904CCDF0120F877F0A1215957F0AC5
+:1019F00012108B802B904CCDE06020E4F07F0D1214
+:101A0000108B904CEB7401F0904CC3E0904CC0F004
+:101A1000904CBF7401F01214427135E4904CD1F037
+:101A2000904CCEE030E349904CEA740AF0904CD2EE
+:101A3000E0C394FA5003E004F0904CD2E0640670E6
+:101A400067904CE974F0F0E4904CEEF07F051210D2
+:101A50008B121799E4904CCCF0904CEB04F0904C26
+:101A6000C0E0904CC4F0904CC3E0904CC0F0803883
+:101A7000904CCCE0602DE4F0904CC3E0FF904CC063
+:101A8000E06F601F904CEB7401F0121799904CC3FB
+:101A9000E0904CC0F0904CBF7401F0120F8712140C
+:101AA000427135E4904CD2F0904CCEE020E50261DA
+:101AB0002FA3E0C394FA5003E004F0904CCFE0640D
+:101AC000067071904DE8E0B40C08904CC17402F0BF
+:101AD000801B904DE8E0B41208904CC17401F08076
+:101AE0000C904DE8E0B41805E4904CC1F0904CE542
+:101AF000740AF0904CC3E0FF6003B4FE07904CBF43
+:101B00007402F022EFD39403502AEFC394014024CF
+:101B1000904CC1E0FF904CC3E075F01FA424ECF59D
+:101B200082E4344DF583EFF0904CBF7403F022E46F
+:101B3000904CCFF0229080107401F080FE22904EE5
+:101B4000CB12058200000000904C95E07002A3E0EB
+:101B5000700281FB904C95E0FEA3E0FF904CD4E036
+:101B6000FD04F0ED25E024D6F582E4344CF583EE57
+:101B7000F0A3EFF0904CD4E0C394044002E4F0E40E
+:101B8000904ECAF0904ECBE0F8A3E0F9A3E0FAA3A0
+:101B9000E0FB904ECAE025E024D6F582E4344CF513
+:101BA00083E0FEA3E0FFE4FCFDEB2FFFEA3EFEED49
+:101BB00039FDEC38FC904ECB120576904ECAE0040D
+:101BC000F0E0B404BF904ECBE0FCA3E0FDA3E0FE48
+:101BD000A3E0FFE47B04FAF9F81204C5904ECB129F
+:101BE0000576904CE0E0FEA3E0FFE4FCFD904ECBD8
+:101BF000E0F8A3E0F9A3E0FAA3E0FBD312056550F7
+:101C000007E4904CF9F0818A904CFAE0FEA3E0FFE3
+:101C1000E4FCFD904ECBE0F8A3E0F9A3E0FAA3E0EA
+:101C2000FBC31205654008904CF97464F0805B902A
+:101C30004CE0E0FEA3E0FFFBAA06E4904ECBE0FC04
+:101C4000A3E0FDA3E0FEA3E0C39BFFEE9AFEED94AC
+:101C500000FDEC9400FCE47B64FAF9F812043AC04D
+:101C600006C007904CE0E0FEA3E0FFC3904CFBE011
+:101C70009FFF904CFAE09EFEAB07FAE4F9F8D0071C
+:101C8000D0061204C5904CF9EFF0904CE0E0FEA3B2
+:101C9000E0FFC3904CD7E09F904CD6E09E50079059
+:101CA0004CD57402F022904CDEE0FEA3E0FFE4FC91
+:101CB000FD904ECBE0F8A3E0F9A3E0FAA3E0FBC36C
+:101CC000120565501C904CD57401F0904CFCE070EE
+:101CD0002A904D40F0A37448F0A37412F0E4A3F0EE
+:101CE00022E4904CD5F0904CFCE0700F904D40F009
+:101CF000A37448F0A3745DF0E4A3F022904F07EFC3
+:101D0000F01205B31E8B141F5E151DA3271F252976
+:101D10001D322F1D98301DDA311E4C321D32331EFC
+:101D2000FF341F3F351DD2371DA3391DDA3C00009B
+:101D30001FA51217E212312E7B017A4C79C07D016A
+:101D40007C007FBD7E7F12165B904CC0E0D3940375
+:101D50004002E4F0904CC0E0904CC3F01217277F93
+:101D60000A1215957B017A4C79F27D027C007FBEC8
+:101D70007E7F12165B904CF2E0B4FF19A3E0B4FF33
+:101D800014904C93E0A3E0904CF2F0904C91E0A3BF
+:101D9000E0904CF3F00215AD12311BF1A6E4904C2B
+:101DA000FCF022904CC3E0D394005002E1A5E094F3
+:101DB000044002E1A5E075F01FA424CFF9744D356D
+:101DC000F0FA7B017D1F7C001234CD904CBF740370
+:101DD000F022904DD6E0FF020737904CC57403F017
+:101DE000E4A3F01217EAE4904CEEF0904CEBF09084
+:101DF0004CC074FEF0904CC3F0904D467403F090CC
+:101E00004DE6740AF0904F07E064317036904DE76C
+:101E1000F0904E55F0904CC1F0904CE5741EF0904F
+:101E20004BEBE0B40F12A3E0B40F0DA3E0B40F0826
+:101E3000A3E0640F7002E1A5904CBF7402F012148D
+:101E4000426135904CE5E06002E1A522E4904CC58A
+:101E5000F0A3F0904CE3F0A3F0904CEB04F0904C26
+:101E6000EDE0600B1217EA904CEDE0FF02108B9052
+:101E70004CECE0B40105E4F0020FB2904CF0E070DD
+:101E800002E1A5904DD6E0FF020737904CC77403DE
+:101E9000F0A37401F0E4A3F0A3F07F0E120ECA7F4A
+:101EA00002120ECA904CE9E06034E4904DE7F090E5
+:101EB0004CC1F0904CC3E075F01FA424ECF582E413
+:101EC000344DF583E4F0904DE7E0FF904CC3E075AE
+:101ED000F01FA424EDF582E4344DF583EFF0904D2E
+:101EE000E5E07006904DD47414F0904CE5E070037A
+:101EF000121760E4904CE9F0904CE3F0A3F02290CC
+:101F00004CC77404F0E4A3F01217EAE4904CEBF031
+:101F1000904DDB740AF0904CC3E0904CC0F0904CB4
+:101F2000BF7403F022904CC3E014FD7F011208033C
+:101F3000904CC3E0904CC0F0904CBF7403F02290E2
+:101F40004D3912058200000000E4904DD7F0904D0D
+:101F5000DE04F0904CC804F0904CC704F022904C82
+:101F6000C7E0904CCBF0E4904CC7F0A3F0904CEB62
+:101F700004F0E4904D3DF0904CECE0B40105E4F049
+:101F8000020FB2904CEDE06004FF02108B904CF019
+:101F9000E06008904DD6E0FF020737120FB2E490E0
+:101FA0004CE3F0A3F022908080E4F0A3F0A3F0F1E2
+:101FB000D0E4904F05F0F0904F05E090068193FF3C
+:101FC000600DD20612170B904F05E004F080E82256
+:101FD000E4904F04F0F0904F04E0FFC39408500DDC
+:101FE000C20512350C904F04E004F080E922AD07E1
+:101FF000AC06904E4BE06402600E7401F0904E4CC3
+:1020000004F0EFA3F0EEA3F022904E4BE0640260E8
+:10201000127404F0904DE97401F0904E4C7406F087
+:10202000A3EFF022904ED8EBF0A3EAF0A3E9F0E49E
+:10203000A3F0F0904EDBE0FFC394064002613A90BB
+:102040004ED8E0FBA3E0FAA3E02401F9E43AFA7EDB
+:1020500000E92FF9EE3AFA1203B6FF54F064F0608B
+:1020600009EF54D064D0600261321203B6FBB4F1C0
+:10207000097F837E01121FEE6107EBB4F2097FCD69
+:102080007E00121FEE6107904ED8E0FBA3E0FAA39A
+:10209000E02401F9E43AFAA3E07E0029F9EE3AFAE5
+:1020A0001203B6FBB4F3077FB7121FEE6107EBB460
+:1020B000F4097FB67E00121FEE6107904ED8E0FB58
+:1020C000A3E0FAA3E02401F9E43AFAA3E07E0029B0
+:1020D000F9EE3AFA1203B6FBB4F5077FB5121FEE1C
+:1020E0006107EBB4F6097FEA7E00121FEE610790EC
+:1020F0004ED8E0FBA3E0FAA3E02401F9E43AFAA306
+:10210000E07E0029F9EE3AFA1203B6FBB4F7077F36
+:10211000E9121FEE6107EBB4F8097FE27E00121F9F
+:10212000EE6107904ED8E0FBA3E0FAA3E02401F9AA
+:10213000E43AFAA3E07E0029F9EE3AFA1203B6FB7C
+:10214000B4F9087F940E121FEE6107EBB4FA097F11
+:102150008A7E01121FEE6107904ED8E0FBA3E0FAE1
+:10216000A3E02401F9E43AFAA3E07E0029F9EE3A6B
+:10217000FA1203B6FBB4FB087F920E121FEE610742
+:10218000EBB4D0097F2A7E02121FEE6107904ED871
+:10219000E0FBA3E0FAA3E02401F9E43AFAA3E07E2D
+:1021A0000029F9EE3AFA1203B6FBB4D1097F257E75
+:1021B00002121FEE6107EBB4D3097F267E02121FC5
+:1021C000EE6107904ED8E0FBA3E0FAA3E02401F90A
+:1021D000E43AFAA3E07E0029F9EE3AFA1203B6FBDC
+:1021E000B4D2097F247E02121FEE6107EBB4D4093A
+:1021F0007F277E02121FEE6107904ED8E0FBA3E01E
+:10220000FAA3E02401F9E43AFAA3E07E0029F9EE0A
+:102210003AFA1203B6FBB4D5097F217E02121FEEF3
+:102220006107EBB4D6097F237E02121FEE6107908F
+:102230004ED8E0FBA3E0FAA3E02401F9E43AFAA3C4
+:10224000E07E0029F9EE3AFA1203B6FBB4D7077F15
+:1022500070121FEE6107EBB4D8097F6F7E00121F6A
+:10226000EE6107904ED8E0FBA3E0FAA3E02401F969
+:10227000E43AFAA3E07E0029F9EE3AFA1203B6FB3B
+:10228000B4D9077FB8121FEE807DEBB4DA097F3036
+:102290007E00121FEE8070904ED8E0FBA3E0FAA300
+:1022A000E02401F9E43AFAA3E07E0029F9EE3AFAD3
+:1022B0001203B6FBB4DB097F067E03121FEE8047D4
+:1022C000EBB4DC097F077E03121FEE803A904ED8F4
+:1022D000E0FBA3E0FAA3E02401F9E43AFAA3E07EEC
+:1022E0000029F9EE3AFA1203B6FEB4DD067F0111B9
+:1022F000098014EEB4DE067F021109800A1203B6CB
+:10230000B4DF047F041109904E4BE0B40224904ED8
+:10231000D8E0FBA3E0FAA3E02401F9E43AFAA3E051
+:102320007E0029F9EE3AFA1203B6904DEDF0E41270
+:1023300003FC904EDBE004F0013322904D46E06058
+:1023400037904DDDE07031904CC5E0B4032A7B013D
+:102350007A4879007D097C00120B6BE4904E4BF0BB
+:1023600090480004F0904D46E0904802F07B017ADE
+:102370004879007D09120C3022904EE4E4F0A3F07D
+:10238000A3F0D107502571AC904EE4EBF0A3EAF036
+:10239000A3E9F04A7007904CB604F0809E904EE49A
+:1023A000E0FBA3E0FAA3E0F91208C022E4904E8813
+:1023B000F0A3F0A3F0A3F0A3F0A3F0A3F0A3F0A385
+:1023C000F0A3F0A3F0122FE37A4D79A8904EAE74EB
+:1023D00001F0A3744DF0A374A8F0A37414F07B0172
+:1023E0007A4D79BCD14FEF60167B017A4D79BC7D77
+:1023F00014D11FEF7009904CCEE04402F0800C9095
+:102400004CCEE054FDF0E4904CD0F0E4904E88F0D7
+:10241000904E88E0FF90068193700281DD74BC2F9E
+:10242000F582E4344DF583E0904E8BF0E0FFB1F996
+:10243000904E92EFF0C39402500281C6E4904E8910
+:10244000F0904E89E0FFC39408507B74017E00A891
+:1024500007088005C333CE33CED8F9FF904E8BE00A
+:10246000FDE4EF5D6058E4904E8AF0904E8AE0FF04
+:10247000900681936048904E88E0FEEF6E60379042
+:102480004E8AE024BCF582E4344DF583E0FD7C0007
+:10249000904E89E0FF74017E00A807088005C333D1
+:1024A000CE33CED8F9FFEE5CFEEF5D4E6008904E65
+:1024B000917401F08008904E8AE004F080AD904E57
+:1024C00089E004F08141904E8BE0FF6008B1F99003
+:1024D0004E8FE02FF0904E88E004F08110904E8FE8
+:1024E000E0904DE4F0E4904E88F0904E88E0FF904C
+:1024F0000681937002A1CD74932FF582E4344DF5DB
+:1025000083E0FE74BC2FF582E4344DF583E06E90D9
+:102510004E8BF0904E88E0FF24BCF582E4344DF5FC
+:1025200083E0904E8EF0904E8BE07004A1C5A1C563
+:10253000904E91E060077B007A0079002274BC2FF6
+:10254000F582E4344DF583E0FE74932FF582E43494
+:102550004DF583EEF0E4904E89F0904E89E0FFC394
+:102560009408505B904E8BE030E03C904E88E0FE4B
+:1025700033333354F8FEEF4E904E8DF0A3E0FF90CE
+:102580004E8DE090069693FD1228FF904E90EFF04E
+:10259000904E8EE030E009904E90E0FFD199800798
+:1025A000904E90E0FFD1EF904E8BE0FFC313F09080
+:1025B0004E8EE0FFC313F0904E89E004F0809B90B4
+:1025C0004E8C7401F0904E88E004F081EA904E4BFE
+:1025D000E0B4030A904DDFE0B401037402F0904EC2
+:1025E0008CE07007904DDFE0B402077B017A4E79F2
+:1025F000A4227B007A00790022E4FEEF6006145FDB
+:10260000FF0E80F7AF0622904B9CE0FEA3E0FF9008
+:102610004B9AE0B50607A3E0B50702D322C3229088
+:102620004EEAEBF0A3EAF0A3E9F0E4FFEFC39D501C
+:102630001B904EEAE0FBA3E0FAA3E0F98F827583DA
+:10264000001203CF60037F00220F80E07F01229001
+:102650004EABEBF0A3EAF0A3E9F0E4FF904EB1E05B
+:10266000FEEFC39E5030904EAEE0FBA3E0FAA3E035
+:10267000F98F827583001203CFFE904EABE0FBA36F
+:10268000E0FAA3E0F98F827583001203CF6E600336
+:102690007F00220F80C67F0122E4FEEFC394E0405A
+:1026A00020EFD394E7501A904EA4E0FEEF5407FFBA
+:1026B0007401A807088002C333D8FC4E904EA4F0E2
+:1026C00022E4FE74A52EF582E4344EF583E0FD6F1E
+:1026D000601CED7014904DEDE06F601274A52EF546
+:1026E00082E4344EF583EFF0220EEEB406D522E4F8
+:1026F000FEFDEF54F064F06007EF54D0FCBCD00C4A
+:10270000904E4BE0B4020B7403F08006904DDF74E2
+:1027100001F0EFC394E04021EFD394E7501B904EBB
+:10272000A4E0FEEF5407FF7401A807088002C3333A
+:10273000D8FCF45E904EA4F022E4FEED702174A566
+:102740002EF582E4344EF583E06F7047EEB4050B4E
+:1027500024A5F582E4344EF583E4F07D01803474E1
+:10276000A52EF582E4344EF583E0FC74A42EF582A8
+:10277000E4344EF583ECF074A52EF582E4344EF586
+:1027800083E06014EEB4050B24A5F582E4344EF525
+:1027900083E4F00EEEB406A322904ED4EBF0A3EA4D
+:1027A000F0A3E9F0E4FDA3F0904DE2E064016003E2
+:1027B00002288F904ED77405F0904ED7E0FE14F0AB
+:1027C000EE70030228D7904ED4E0FBA3E0FAA3E01A
+:1027D0002401F9E43AFAA3E07E0029F9EE3AFA126C
+:1027E00003B6FDC394244073EDD39427506DED24BC
+:1027F000DC24FD50046037805F904CEA740AF0904E
+:102800004CCEE04408F054EFF0ED24DDFF904CC3D3
+:10281000E0B50708904CC5E06403703C904CC3EFF2
+:10282000F0904CCC7401F0E4904CE5F0802A904C90
+:10283000EA740AF0904CCEE054F7F04410F0904C5B
+:10284000C3E0FF601364FE600F904CCD7401F0E4B0
+:10285000904CC3F0904CE5F07F0122904CCEE054B8
+:10286000E7F0ED64186009ED640C6004EDB4121536
+:10287000904CEA740AF0904DE8EDF0904CCEE044B4
+:1028800020F07F0122904CCEE054DFF00227B99077
+:102890004ED4E0FBA3E0FAA3E0F99000011203CFCD
+:1028A00064EF7029904CEA740AF0904CCEE054F733
+:1028B000F04410F0904CC3E0FF600F64FE600B909A
+:1028C0004CCD7401F0E4904CC3F07F0122904CCECB
+:1028D000E054E7F054DFF07F0022904CF5EDF0A3D8
+:1028E000EBF0EF30E012904CF4E0B403047402F02B
+:1028F00022904CF47401F022904CF47404F022AE57
+:1029000007E4904F03F0EE30E005E4904CF8F090CF
+:102910004F03EDF0904CC1E0602EEDB4E608904F0F
+:102920000374E7F08022EDB4E408904F0374E6F0FE
+:102930008016EDB4E308904F0374E2F0800AEDB422
+:10294000E206904F0374E3F0904DE2E06401600210
+:1029500021E8EDB44C08904F037448F021E8EDB441
+:102960005208904F0374D8F0807EEDB45108904F18
+:102970000374D7F08072EDB42808904F037447F0C9
+:102980008066EDB42A08904F0374DAF0805AED6443
+:10299000297055EE30E04C904DE7E06004E4F080A3
+:1029A00006904DE77401F0904CC3E0FF6003B4FE65
+:1029B00008904CBF7402F0802AEFD394035024EFA8
+:1029C000C39401401E904DE7E0FF904CC3E075F0CA
+:1029D0001FA424EDF582E4344DF583EFF0904CBF55
+:1029E0007403F0E4904F03F0904E55E06002615B99
+:1029F000904DE2E07006904DE7E06014904DE2E00B
+:102A000064016002615B904DE7E064016002615B1C
+:102A1000ED24C6B40C004002615B902A2875F003D7
+:102A2000A4C58325F0C58373022A4C022A63022AB7
+:102A3000AC022AC9022AE7022B10022B2D022B35E9
+:102A4000022B3D022B45022B4D022B55904CC1E031
+:102A5000B40108904F037444F0615B904F0374D647
+:102A6000F0615B904CC1E0FC7014AF067B2B7D04E1
+:102A700011DAEE30E02F904CF8740AF08027ECB4B5
+:102A8000010AAF067B527D0111DA8019904CC1E03A
+:102A9000B40212AF067B2B7D0811DAEE30E006900F
+:102AA0004CF8740AF0E4904F03F0615B904CC1E085
+:102AB0007008904F0374D2F0615BAF067B507D08C5
+:102AC00011DAE4904F03F0615B904CC1E0B4010F68
+:102AD000AF067B2C7D0811DAE4904F03F0807C90E8
+:102AE0004F0374D5F08074904CC1E0700AAF067B40
+:102AF0002C7D0811DA8008AF067B2C7D0111DAEEFF
+:102B000030E006904CF8740AF0E4904F03F0804BEC
+:102B1000904CC1E07008904F037446F0803DAF06C2
+:102B20007B207D0A11DAE4904F03F0802E904F0352
+:102B300074F4F08026904F0374F2F0801E904F03DF
+:102B400074F5F08016904F0374F8F0800E904F03E8
+:102B500074F6F08006904F0374F7F0904F03E0FF97
+:102B600022E4FF904F06F0FEFDEF9006819360494E
+:102B7000EF93FD131313541FFEED5407FD7401A8CA
+:102B800005088002C333D8FCFDEE2478FBE43480D2
+:102B90008B82F583E0FCEDF4FBEC5BF0EE2470F54A
+:102BA00082E43480F583E04DF0EE2474F582E43461
+:102BB00080F583E05BF00F80B012357C90811CE0E3
+:102BC000904F06F0904DDCE06020E4FF71FA7F0149
+:102BD00071FA7F0271FA7F0371FA7F0471FA7F053F
+:102BE00071FA7F0671FA7F078010904F06E0FF9020
+:102BF00000A3F0EFF49000A7F022904F0AEFF0F15D
+:102C0000619208904F0AE0FFA208B39207EFF470B8
+:102C1000028198EF5407FEEF1313135403FF30079C
+:102C20004324A3F582E43400F583C083C082E0FD31
+:102C30007401A806088002C333D8FCF45DD082D0AA
+:102C400083F074A72FF582E43400F583C083C0823B
+:102C5000E0FF7401A806088002C333D8FC4FD0827D
+:102C6000D083F02274A32FF582E43400F583C0836F
+:102C7000C082E0FD7401A806088002C333D8FCFCC2
+:102C80004DD082D083F074A72FF582E43400F58311
+:102C9000E0FFECF4FEEF5EF022F14E91F5120D4CE8
+:102CA000121442121342904D7DE06002F1B4900B79
+:102CB0007EE014600D24FE70E2716112179991E7B5
+:102CC00080FE904CEAE07012904CECE0700C904C5E
+:102CD000E5E07006904CF8E06004F1A880BD7161F9
+:102CE00091E780B780B522E4900B7FF0900B7EF0E7
+:102CF0007F010215957A0C794B904EED7401F0A38B
+:102D0000740CF0A3744BF0904BA0E0FEA3E0FF9096
+:102D10004B9EE06E7003A3E06F7002C1A47E0C7F37
+:102D20004B7D03D1FE904EEDE0FBA3E0FAA3E0F96A
+:102D30001203B6B4022B904EEEE475F00212040EAC
+:102D4000904EEDE0FBA3E0FAA3E0F91203B6FF908A
+:102D50004E68E0A3E0FAA3E0F5828A831205DDC1A4
+:102D6000A4904EEDE0FBA3E0FAA3E0F91203B664F1
+:102D7000047059904EEE75F00112040E7E0C7F4ED9
+:102D8000904EEDE0FBA3E0FAA3E0F91203B614FDC8
+:102D9000D1FE904EEDE0FBA3E0FAA3E02401F9E4BC
+:102DA0003AFAC002C001904EEDE0A3E0FAA3E0F9C8
+:102DB0001203B6FD7C00904E6BE0A3E0FAA3E0F5B1
+:102DC000828A83D001D0021205DDC1A4904EEDE0CD
+:102DD000FBA3E0FAA3E0F91203B664057059904E24
+:102DE000EE75F00112040E7E0C7F4E904EEDE0FB6E
+:102DF000A3E0FAA3E0F91203B614FDD1FE904EED64
+:102E0000E0FBA3E0FAA3E02401F9E43AFAC002C02F
+:102E100001904EEDE0A3E0FAA3E0F91203B6FD7CC9
+:102E200000904E74E0A3E0FAA3E0F5828A83D0011B
+:102E3000D0021205DD806D904EEDE0FBA3E0FAA319
+:102E4000E0F91203B664037059904EEE75F001126A
+:102E5000040E7E0C7F4E904EEDE0FBA3E0FAA3E063
+:102E6000F91203B614FDD1FE904EEDE0FBA3E0FA9B
+:102E7000A3E02401F9E43AFAC002C001904EEDE06B
+:102E8000A3E0FAA3E0F91203B6FD7C00904E77E0D0
+:102E9000A3E0FAA3E0F5828A83D001D0021205DD17
+:102EA000800280FE904BA5E0FEA3E0FF904C5EE028
+:102EB0006E7003A3E06F6022904E6EE0FBA3E0FA19
+:102EC000A3E0F94A60371205D9904BA5E0FFA3E0D3
+:102ED000904C5ECFF0A3EFF080CA904C8DE0FFA342
+:102EE000E06F6019904E71E0FBA3E0FAA3E0F94AAD
+:102EF000600B1205D9904C8DE0A3F080DD22904E3E
+:102F0000FDEEF0A3EFF0A905904B9EE0FEA3E0FFDD
+:102F1000AD0119ED602F0FEFAC0670010E14F582B4
+:102F20008C83E0FD904EFDE475F00112042485F0E1
+:102F300082F583EDF0AD07AC06BC4BD4BD9AD17ED3
+:102F40004B7F3680CB904B9EEEF0A3EFF0227B01BF
+:102F50007A4E795678687C4E7D017E007F1202039E
+:102F6000907B017A81791CAD07E4904F09F0FEEF68
+:102F70005407F0EF1313135403FEF5827583001208
+:102F800003CFFD3395E0FC904F09E0FF74017E0014
+:102F9000A807088005C333CE33CED8F9FFEE5CFE18
+:102FA000EF5D4E24FF228199900B7F7401F0E49035
+:102FB0000B7EF022121799904BEF74FFF0904CFCAF
+:102FC0007401F0E4904CE6F0A3F0A3F0904CB774D9
+:102FD000F0F0904DE0F0904D4074FFF0A3F0A3F0BE
+:102FE000A3F022E4FF904EE7F0FEFDA3F0A3F0EF84
+:102FF000900681936069EF93FD131313541FFEED48
+:103000005407FD7401A805088002C333D8FCFDEE07
+:103010002478FBE434808B82F583E0FCEDF4FBEC58
+:103020005BF0EE2470F582E43480F583E04DF0EE41
+:103030002474F582E43480F583E05BF090811CE039
+:10304000F4FC74BC2FF582E4344DF583ECF0EE24EF
+:1030500074FBE434808B82F583E04DF00F8090E4C4
+:10306000FFEF900681936069EF93FD131313541FD4
+:10307000FEED5407FD7401A805088002C333D8FC97
+:10308000FDEE2478FBE434808B82F583E0FCEDF4E4
+:10309000FBEC5BF0EE2470F582E43480F583E04DC8
+:1030A000F0EE2474F582E43480F583E05BF09081E7
+:1030B0001CE0F4FC74A82FF582E4344DF583ECF0A9
+:1030C000EE2474FBE434808B82F583E04DF00F80B6
+:1030D00090E4FFEF90068193604074BC2FF582E48A
+:1030E000344DF583E0FE74A82FF582E4344DF5836A
+:1030F000E06E602374BC2FF582E4344DF583C08309
+:10310000C082E0FE74A82FF582E4344DF583E0FD23
+:10311000EE5DD082D083F00F80B922908091740D43
+:10312000F0A304F0A3F0A3F0A3F0A314F022120B79
+:10313000973163904CEB7401F0904CE5741EF0E411
+:10314000904CF0F0904D0574FFF09044FCE0904DF1
+:10315000D0F09044FDE0904DD1F09044FEE0904DD1
+:10316000D2F022904CD37405F0E4A3F0904C90740C
+:1031700033F0E4FFEF25E024D6F582E4344CF58308
+:103180007462F0A3F00FEFB404EA904C91E0FEA358
+:10319000E0FFC3904C94E09FFD904C93E09EFCE4D4
+:1031A0001202067BF67A28791C783F1200FBC004D5
+:1031B000C005C006C007904C91E0FCA3E0FDE412FE
+:1031C0000206D003D002D001D00012000A12023F42
+:1031D000904CFAEEF0A3EFF0904C91E0FEA3E0FFEC
+:1031E000C3904C94E09FFD904C93E09EFCE412024F
+:1031F000067BC37AF579A8783E1200FBC004C005AF
+:10320000C006C007904C91E0FCA3E0FDE41202066A
+:10321000D003D002D001D00012000A12023F904C1D
+:10322000DEEEF0A3EFF0904C91E0FEA3E0FFC39040
+:103230004C94E09FFD904C93E09EFCE41202067BD0
+:103240005C7A8F7942783E1200FBC004C005C0064C
+:10325000C007904C91E0FCA3E0FDE4120206D0030D
+:10326000D002D001D00012000A12023F904CE0EED2
+:10327000F0A3EFF022904EFBEDF09000011203CF8F
+:10328000904EFCF022904CEAE0600214F0904CEF7B
+:10329000E0600214F0904CF8E0600B14F0E070066F
+:1032A000904CF47406F0904CE5E06020904CEEE019
+:1032B0006006E4904CE5F022904CE5E014F0121723
+:1032C00027904CE5E070461217608041904CE9E091
+:1032D000703B904CEEE07035904CE2E0602F14F0C3
+:1032E000E0FFC394085016EF30E109C2017F1D12C0
+:1032F000123E8010D2017F1D12123E8007D2017F44
+:103300001D12123E904CE2E070037418F0904DDCF8
+:10331000E07036904DDDE06401702E904CE3F0A338
+:10332000F0904DDDF0904E4CE0600D7B017A4E79CF
+:103330004C7D03120C308011904800E0600B7B0143
+:103340007A4879007D09120C30904DD4E06011E08C
+:1033500014F0E0700B904D3DE070057F1B120ECA1B
+:10336000904DE6E06013E014F0E0700D904CC7E083
+:10337000B40406904213740CF022904EDCEEF0A3DD
+:10338000EFF0904EDEECF0A3EDF0904EDEE0FEA309
+:10339000E0FFD3904EDDE09F904EDCE09E40169023
+:1033A0004EDEE0FEA3E0FF904EDDE09FFF904EDC9E
+:1033B000E09EFE801E904EDCE0FEA3E0FFC3904E38
+:1033C000DFE09FFF904EDEE09EFEAD03C3EB9FFF6C
+:1033D000E49EFE22900BE77403F0ED6003120FBB36
+:1033E00022900446E0FF229082807401F022904EE9
+:1033F0009CEBF0A3EAF0A3E9F0904EA274FFF5F085
+:1034000012042445F0602A904E9FE0FBA3E475F07F
+:1034100001120424A9F0FA1203B6FF904E9CE0FBBF
+:10342000A3E475F001120424A9F0FAEF1203FC8062
+:10343000C822904EB2EEF0A3EFF0904EB6EBF0A3A0
+:10344000EAF0A3E9F0904EB4ECF0A3EDF0A3E0F9BC
+:10345000A3E0FAA3E0904E9FC9F0A3EAF0A3E9F03D
+:10346000A3ECF0A3EDF07B017A0B798671EE900B63
+:103470008374A0F0904EB2E0FFA3E0900B84CFF0F5
+:10348000A3EFF0904EB5E02403FD904EB4E034007D
+:10349000FCEDFAECFFEAFEEF908098EEF0A3EFF07F
+:1034A0007A0B79837E0B7F837483FC740BFFECFEB5
+:1034B000EFA3EEF0A3EFF090809EE4F0A3F09080F5
+:1034C0009004F0908006E04404F00217DA904EF386
+:1034D000EBF0A3EAF0A3E9F0ED1DAE0470011C4E81
+:1034E0006017904EF3E0FBA3E475F001120424A9E9
+:1034F000F0FA74FF1203FC80DF22EFF4600D7B0111
+:103500007A80797CA20392001217F422AC07ECF4C3
+:103510006018AF04A205920391FAAF04A205B3921A
+:10352000021217C9AF04C204B12B22EFF4600D7B65
+:10353000017A807970A20492001217F422EFF460ED
+:103540003AEF5407FEEF1313135403FF24A3F5823D
+:10355000E43400F583C083C082E0FD7401A806084E
+:103560008002C333D8FCF4FC5DD082D083F074A712
+:103570002FF582E43400F583E05CF022E4FFEFFDF8
+:103580007C002478FBEC34808B82F583E0FEED2414
+:1035900070FDEC34808D82F583E04EF4FEEF247CE8
+:1035A000FDEC34808D82F583EEF00FEFB404CF2272
 :00000001FF
Index: c51/output/fwram.rom
===================================================================
--- /YC1026/YC1086_BLE_24g_SDK/c51/output/fwram.rom	(revision 327)
+++ /YC1026/YC1086_BLE_24g_SDK/c51/output/fwram.rom	(working copy)
@@ -1515,7 +1515,7 @@
 26
 02
 2f
-9f
+a6
 e4
 93
 a3
@@ -1646,22 +1646,22 @@
 56
 ff
 1c
-a8
+fc
 00
 00
 00
 ff
 18
-9b
+ef
 ff
 32
-a8
+85
 00
 00
 00
 ff
 32
-98
+75
 00
 1a
 08
@@ -2329,7 +2329,7 @@
 f9
 12
 27
-92
+99
 ef
 60
 02
@@ -2575,7 +2575,7 @@
 f9
 12
 20
-1d
+24
 90
 4e
 4b
@@ -3419,7 +3419,7 @@
 03
 02
 23
-72
+79
 90
 4c
 f4
@@ -3728,7 +3728,7 @@
 39
 02
 2f
-ad
+b4
 90
 4c
 c5
@@ -3753,7 +3753,7 @@
 20
 02
 2f
-ad
+b4
 c3
 90
 4c
@@ -3873,7 +3873,7 @@
 64
 12
 33
-9d
+7a
 90
 4e
 bc
@@ -4245,7 +4245,7 @@
 40
 02
 41
-62
+38
 90
 10
 a6
@@ -4271,7 +4271,7 @@
 cd
 02
 12
-62
+38
 02
 11
 14
@@ -4283,19 +4283,19 @@
 5f
 02
 11
-aa
+80
 02
 11
-aa
+80
 02
-12
 11
+e7
 02
 12
-62
+38
 02
 12
-62
+38
 02
 11
 0f
@@ -4353,7 +4353,7 @@
 7f
 0a
 b1
-b2
+95
 7f
 2a
 12
@@ -4382,13 +4382,13 @@
 70
 0b
 f1
-d5
+b7
 ef
 70
 06
 12
 18
-01
+55
 ef
 60
 0f
@@ -4408,7 +4408,7 @@
 f0
 22
 f1
-f7
+ea
 e4
 90
 4d
@@ -4424,7 +4424,7 @@
 f0
 12
 18
-18
+6c
 7f
 0d
 12
@@ -4457,7 +4457,7 @@
 00
 12
 34
-f0
+cd
 90
 4c
 c0
@@ -4466,54 +4466,12 @@
 f0
 a3
 f0
-7f
-c8
-b1
-b2
-c2
-01
-7f
-ff
-51
-68
-7b
-01
-7a
-4d
-79
-ee
-7d
-5d
-7c
-00
-7f
-60
-7e
-7f
-b1
-04
-7b
-01
-7a
+90
 4c
-79
-c0
-7d
-01
-7c
-00
-7f
-bd
-7e
-7f
-b1
-04
-d2
-01
-7f
-ff
-51
-68
+bf
+74
+03
+f0
 e4
 90
 4c
@@ -4526,7 +4484,7 @@
 f0
 f0
 f1
-d5
+b7
 ef
 60
 09
@@ -4554,11 +4512,11 @@
 7e
 7f
 d1
-78
+5b
 7f
 0a
 b1
-b2
+95
 e4
 90
 4e
@@ -4635,7 +4593,7 @@
 70
 05
 f1
-d5
+b7
 ef
 60
 09
@@ -4686,13 +4644,13 @@
 7f
 1e
 51
-68
+3e
 d2
 01
 7f
 1d
 51
-68
+3e
 e4
 90
 4c
@@ -4713,7 +4671,7 @@
 ef
 f4
 60
-0d
+0c
 7b
 01
 7a
@@ -4724,9 +4682,8 @@
 01
 92
 00
-12
-35
-1d
+f1
+f4
 22
 90
 4d
@@ -4737,7 +4694,7 @@
 60
 02
 61
-50
+25
 90
 4c
 e9
@@ -4762,7 +4719,7 @@
 7f
 1f
 71
-51
+26
 80
 41
 90
@@ -4775,7 +4732,7 @@
 7f
 1e
 71
-51
+26
 80
 34
 90
@@ -4789,11 +4746,11 @@
 7f
 1f
 71
-51
+26
 7f
 1d
 71
-51
+26
 80
 22
 d2
@@ -4801,19 +4758,19 @@
 7f
 1f
 51
-68
+3e
 d2
 01
 7f
 1e
 51
-68
+3e
 d2
 01
 7f
 1d
 51
-68
+3e
 80
 0e
 90
@@ -4825,11 +4782,11 @@
 7f
 1e
 71
-51
+26
 7f
 1d
 71
-51
+26
 12
 0f
 f8
@@ -4849,7 +4806,7 @@
 7f
 10
 51
-68
+3e
 90
 4c
 e6
@@ -4861,7 +4818,7 @@
 7f
 10
 51
-68
+3e
 80
 06
 d2
@@ -4869,7 +4826,7 @@
 7f
 10
 51
-68
+3e
 90
 4c
 e7
@@ -4883,7 +4840,7 @@
 7f
 0f
 51
-68
+3e
 90
 4c
 e7
@@ -4895,7 +4852,7 @@
 7f
 0f
 51
-68
+3e
 80
 06
 d2
@@ -4903,7 +4860,7 @@
 7f
 0f
 51
-68
+3e
 90
 4c
 e8
@@ -4929,7 +4886,7 @@
 7f
 1d
 51
-68
+3e
 90
 4c
 e8
@@ -4941,7 +4898,7 @@
 7f
 1d
 51
-68
+3e
 22
 90
 4f
@@ -4956,7 +4913,7 @@
 74
 12
 2f
-60
+67
 92
 09
 90
@@ -4970,7 +4927,7 @@
 92
 01
 41
-68
+3e
 90
 4d
 eb
@@ -4980,7 +4937,7 @@
 60
 02
 81
-6c
+41
 90
 4c
 e9
@@ -4988,7 +4945,7 @@
 60
 02
 81
-66
+3b
 90
 4c
 ee
@@ -4996,7 +4953,7 @@
 60
 02
 81
-66
+3b
 90
 4c
 d5
@@ -5054,7 +5011,7 @@
 7f
 1d
 51
-68
+3e
 12
 0f
 f8
@@ -5062,7 +5019,7 @@
 70
 02
 81
-5a
+2f
 90
 4d
 e0
@@ -5076,7 +5033,7 @@
 70
 02
 81
-6c
+41
 e0
 30
 e0
@@ -5092,7 +5049,7 @@
 7f
 10
 51
-68
+3e
 80
 0b
 d2
@@ -5100,7 +5057,7 @@
 7f
 10
 51
-68
+3e
 e4
 90
 4c
@@ -5124,7 +5081,7 @@
 7f
 0f
 51
-68
+3e
 80
 0b
 d2
@@ -5132,7 +5089,7 @@
 7f
 0f
 51
-68
+3e
 e4
 90
 4c
@@ -5168,7 +5125,7 @@
 7f
 1d
 51
-68
+3e
 80
 17
 90
@@ -5188,7 +5145,7 @@
 7f
 1d
 51
-68
+3e
 e4
 90
 4c
@@ -5213,43 +5170,57 @@
 7f
 10
 51
-68
+3e
 d2
 01
 7f
 0f
 41
-68
+3e
 d2
 01
 7f
 10
 51
-68
+3e
 22
 90
 4c
 bf
 e0
-ff
 70
 02
-a1
-03
-64
-01
-60
-04
-7f
-c8
-b1
-b2
+81
+e6
+90
+4c
+e0
+e0
+fe
+a3
+e0
+ff
+c3
+90
+4c
+96
+e0
+9f
+90
+4c
+95
+e0
+9e
+50
+02
+81
+e6
 c2
 01
 7f
 ff
 51
-68
+3e
 90
 4c
 bf
@@ -5271,8 +5242,8 @@
 52
 7e
 7f
-b1
-04
+91
+e7
 7b
 01
 7a
@@ -5287,8 +5258,8 @@
 57
 7e
 7f
-b1
-04
+91
+e7
 7b
 01
 7a
@@ -5303,8 +5274,8 @@
 56
 7e
 7f
-b1
-04
+91
+e7
 80
 17
 90
@@ -5328,8 +5299,8 @@
 60
 7e
 7f
-b1
-04
+91
+e7
 7b
 01
 7a
@@ -5344,8 +5315,8 @@
 bd
 7e
 7f
-b1
-04
+91
+e7
 7b
 01
 7a
@@ -5360,18 +5331,18 @@
 be
 7e
 7f
-b1
-04
+91
+e7
 d2
 01
 7f
 ff
 51
-68
+3e
 7f
 0a
 b1
-b2
+95
 e4
 90
 4c
@@ -5412,7 +5383,7 @@
 70
 02
 a1
-b1
+94
 90
 4e
 93
@@ -5515,11 +5486,11 @@
 f9
 12
 34
-55
+32
 7f
 0a
 b1
-b2
+95
 90
 4e
 9a
@@ -5549,8 +5520,8 @@
 e0
 3e
 f0
-a1
-1b
+81
+fe
 22
 ef
 d3
@@ -5597,11 +5568,11 @@
 7e
 7f
 d1
-78
+5b
 7f
 0a
 b1
-b2
+95
 7b
 01
 7a
@@ -5617,11 +5588,11 @@
 7e
 7f
 d1
-78
+5b
 7f
 0a
 b1
-b2
+95
 7b
 01
 7a
@@ -5637,11 +5608,11 @@
 7e
 7f
 d1
-78
+5b
 7f
 0a
 b1
-b2
+95
 7b
 01
 7a
@@ -5657,11 +5628,11 @@
 7e
 7f
 d1
-78
+5b
 7f
 0a
 b1
-b2
+95
 90
 4c
 c3
@@ -5894,7 +5865,7 @@
 04
 f0
 f1
-e7
+da
 90
 4e
 d1
@@ -5931,14 +5902,14 @@
 ec
 f4
 60
-16
+15
 af
 04
 d2
 04
 12
 35
-8f
+2b
 af
 04
 a2
@@ -5946,14 +5917,13 @@
 92
 01
 51
-68
+3e
 af
 04
 c2
 02
-12
-1f
-d5
+f1
+c9
 22
 90
 4c
@@ -5967,7 +5937,7 @@
 7f
 1f
 41
-68
+3e
 90
 4c
 c3
@@ -5980,7 +5950,7 @@
 7f
 1e
 41
-68
+3e
 90
 4c
 c3
@@ -5993,25 +5963,25 @@
 7f
 1f
 f1
-28
+0b
 c2
 06
 7f
 1d
 80
-b6
+b7
 c2
 01
 7f
 1e
 51
-68
+3e
 c2
 06
 7f
 1d
 80
-aa
+ab
 90
 4c
 c3
@@ -6024,7 +5994,7 @@
 7f
 1f
 41
-68
+3e
 90
 4c
 c3
@@ -6037,7 +6007,7 @@
 7f
 1e
 41
-68
+3e
 90
 4c
 c3
@@ -6050,55 +6020,55 @@
 7f
 1f
 51
-68
+3e
 d2
 06
 7f
 1d
 e1
-28
+0b
 d2
 01
 7f
 1e
 51
-68
+3e
 d2
 06
 7f
 1d
 e1
-28
+0b
 d2
 06
 7f
 10
 f1
-28
+0b
 d2
 06
 7f
 0f
 f1
-28
+0b
 d2
 06
 7f
 1f
 f1
-28
+0b
 d2
 06
 7f
 1e
 f1
-28
+0b
 d2
 06
 7f
 1d
 e1
-28
+0b
 90
 4c
 c7
@@ -6117,6 +6087,23 @@
 7f
 00
 22
+ef
+f4
+60
+0c
+7b
+01
+7a
+80
+79
+78
+a2
+02
+92
+00
+f1
+f4
+22
 90
 81
 2c
@@ -6127,12 +6114,12 @@
 22
 12
 31
-3e
+1b
 12
 1f
-6f
+a6
 80
-c0
+af
 e4
 90
 4c
@@ -6144,6 +6131,103 @@
 f0
 22
 90
+4e
+f6
+eb
+f0
+a3
+ea
+f0
+a3
+e9
+f0
+e4
+fe
+fd
+ef
+54
+07
+fe
+ef
+13
+13
+13
+54
+03
+fd
+30
+00
+22
+90
+4e
+f6
+e0
+fb
+a3
+e0
+fa
+a3
+e0
+2d
+f9
+e4
+3a
+fa
+12
+03
+b6
+ff
+74
+01
+a8
+06
+08
+80
+02
+c3
+33
+d8
+fc
+4f
+02
+03
+fc
+90
+4e
+f6
+e0
+fb
+a3
+e0
+fa
+a3
+e0
+2d
+f9
+e4
+3a
+fa
+12
+03
+b6
+ff
+74
+01
+a8
+06
+08
+80
+02
+c3
+33
+d8
+fc
+f4
+5f
+02
+03
+fc
+90
 4c
 c0
 e0
@@ -6182,7 +6266,7 @@
 7f
 12
 16
-78
+5b
 90
 4c
 f2
@@ -6285,7 +6369,7 @@
 d3
 f0
 11
-18
+6c
 7f
 0d
 12
@@ -6299,7 +6383,7 @@
 22
 12
 12
-7a
+4f
 90
 4c
 e4
@@ -6314,15 +6398,15 @@
 e0
 04
 f0
-11
-fe
+31
+52
 12
 0d
 d0
 31
-0f
+63
 11
-5c
+b0
 90
 4c
 e9
@@ -6391,7 +6475,7 @@
 0a
 12
 15
-b2
+95
 12
 0f
 b2
@@ -6410,8 +6494,8 @@
 74
 05
 f0
-51
-ea
+71
+3e
 22
 90
 4c
@@ -6551,7 +6635,7 @@
 0a
 12
 15
-b2
+95
 7f
 0a
 12
@@ -6594,9 +6678,9 @@
 f0
 12
 14
-6d
-51
-e1
+42
+71
+35
 e4
 90
 4c
@@ -6653,7 +6737,7 @@
 8b
 12
 17
-b7
+99
 e4
 90
 4c
@@ -6710,7 +6794,7 @@
 f0
 12
 17
-b7
+99
 90
 4c
 c3
@@ -6730,9 +6814,9 @@
 87
 12
 14
-6d
-51
-e1
+42
+71
+35
 e4
 90
 4c
@@ -6745,8 +6829,8 @@
 20
 e5
 02
-41
-db
+61
+2f
 a3
 e0
 c3
@@ -6909,7 +6993,7 @@
 70
 02
 81
-a7
+fb
 90
 4c
 95
@@ -7089,7 +7173,7 @@
 f9
 f0
 81
-36
+8a
 90
 4c
 fa
@@ -7343,57 +7427,57 @@
 05
 b3
 1e
-54
+8b
 14
 1f
-27
+5e
 15
 1d
-4f
+a3
 27
-1e
-ee
+1f
+25
 29
-1c
-de
+1d
+32
 2f
 1d
-44
+98
 30
 1d
-a3
+da
 31
 1e
-15
+4c
+32
+1d
 32
-1c
-de
 33
 1e
-c8
+ff
 34
 1f
-08
+3f
 35
 1d
-9b
+d2
 37
 1d
-4f
+a3
 39
 1d
-a3
+da
 3c
 00
 00
 1f
-6e
+a5
 12
 17
-ef
+e2
 12
 31
-51
+2e
 7b
 01
 7a
@@ -7410,7 +7494,7 @@
 7f
 12
 16
-78
+5b
 90
 4c
 c0
@@ -7432,12 +7516,12 @@
 f0
 12
 17
-45
+27
 7f
 0a
 12
 15
-b2
+95
 7b
 01
 7a
@@ -7454,7 +7538,7 @@
 7f
 12
 16
-78
+5b
 90
 4c
 f2
@@ -7489,12 +7573,12 @@
 f0
 02
 15
-ca
+ad
 12
 31
-3e
+1b
 f1
-6f
+a6
 e4
 90
 4c
@@ -7511,14 +7595,14 @@
 50
 02
 e1
-6e
+a5
 e0
 94
 04
 40
 02
 e1
-6e
+a5
 e0
 75
 f0
@@ -7540,43 +7624,14 @@
 00
 12
 34
+cd
+90
+4c
+bf
+74
+03
 f0
-7f
-c8
-12
-15
-b2
-c2
-01
-7f
-ff
-12
-12
-68
-7b
-01
-7a
-4d
-79
-ee
-7d
-5d
-7c
-00
-7f
-60
-7e
-7f
-12
-15
-04
-d2
-01
-7f
-ff
-02
-12
-68
+22
 90
 4d
 d6
@@ -7596,7 +7651,7 @@
 f0
 12
 17
-f7
+ea
 e4
 90
 4c
@@ -7678,7 +7733,7 @@
 70
 02
 e1
-6e
+a5
 90
 4c
 bf
@@ -7687,9 +7742,9 @@
 f0
 12
 14
-6d
-41
-e1
+42
+61
+35
 90
 4c
 e5
@@ -7697,7 +7752,7 @@
 60
 02
 e1
-6e
+a5
 22
 e4
 90
@@ -7725,7 +7780,7 @@
 0b
 12
 17
-f7
+ea
 90
 4c
 ed
@@ -7753,7 +7808,7 @@
 70
 02
 e1
-6e
+a5
 90
 4d
 d6
@@ -7865,7 +7920,7 @@
 03
 12
 17
-7e
+60
 e4
 90
 4c
@@ -7889,7 +7944,7 @@
 f0
 12
 17
-f7
+ea
 e4
 90
 4c
@@ -8055,7 +8110,7 @@
 a3
 f0
 f1
-98
+d0
 e4
 90
 4f
@@ -8072,11 +8127,12 @@
 93
 ff
 60
-0c
-c2
-05
-f1
-b5
+0d
+d2
+06
+12
+17
+0b
 90
 4f
 05
@@ -8084,7 +8140,7 @@
 04
 f0
 80
-e9
+e8
 22
 e4
 90
@@ -8098,72 +8154,23 @@
 e0
 ff
 c3
-94
-08
-50
-0c
-c2
-05
-f1
-b5
-90
-4f
-04
-e0
-04
-f0
-80
-ea
-22
-ac
-07
-ec
-f4
-60
-19
-af
-04
-a2
-05
-92
-03
-12
-35
-7e
-af
-04
-a2
-05
-b3
-92
-02
-f1
-d5
-af
-04
+94
+08
+50
+0d
 c2
-04
+05
 12
 35
-8f
-22
-ef
-f4
-60
-0d
-7b
-01
-7a
+0c
+90
+4f
+04
+e0
+04
+f0
 80
-79
-78
-a2
-02
-92
-00
-12
-35
-1d
+e9
 22
 ad
 07
@@ -8245,7 +8252,7 @@
 40
 02
 61
-33
+3a
 90
 4e
 d8
@@ -8288,7 +8295,7 @@
 60
 02
 61
-2b
+32
 12
 03
 b6
@@ -8302,9 +8309,9 @@
 01
 12
 1f
-e7
+ee
 61
-00
+07
 eb
 b4
 f2
@@ -8315,9 +8322,9 @@
 00
 12
 1f
-e7
+ee
 61
-00
+07
 90
 4e
 d8
@@ -8354,9 +8361,9 @@
 b7
 12
 1f
-e7
+ee
 61
-00
+07
 eb
 b4
 f4
@@ -8367,9 +8374,9 @@
 00
 12
 1f
-e7
+ee
 61
-00
+07
 90
 4e
 d8
@@ -8406,9 +8413,9 @@
 b5
 12
 1f
-e7
+ee
 61
-00
+07
 eb
 b4
 f6
@@ -8419,9 +8426,9 @@
 00
 12
 1f
-e7
+ee
 61
-00
+07
 90
 4e
 d8
@@ -8458,9 +8465,9 @@
 e9
 12
 1f
-e7
+ee
 61
-00
+07
 eb
 b4
 f8
@@ -8471,9 +8478,9 @@
 00
 12
 1f
-e7
+ee
 61
-00
+07
 90
 4e
 d8
@@ -8511,9 +8518,9 @@
 0e
 12
 1f
-e7
+ee
 61
-00
+07
 eb
 b4
 fa
@@ -8524,9 +8531,9 @@
 01
 12
 1f
-e7
+ee
 61
-00
+07
 90
 4e
 d8
@@ -8564,9 +8571,9 @@
 0e
 12
 1f
-e7
+ee
 61
-00
+07
 eb
 b4
 d0
@@ -8577,9 +8584,9 @@
 02
 12
 1f
-e7
+ee
 61
-00
+07
 90
 4e
 d8
@@ -8618,9 +8625,9 @@
 02
 12
 1f
-e7
+ee
 61
-00
+07
 eb
 b4
 d3
@@ -8631,9 +8638,9 @@
 02
 12
 1f
-e7
+ee
 61
-00
+07
 90
 4e
 d8
@@ -8672,9 +8679,9 @@
 02
 12
 1f
-e7
+ee
 61
-00
+07
 eb
 b4
 d4
@@ -8685,9 +8692,9 @@
 02
 12
 1f
-e7
+ee
 61
-00
+07
 90
 4e
 d8
@@ -8726,9 +8733,9 @@
 02
 12
 1f
-e7
+ee
 61
-00
+07
 eb
 b4
 d6
@@ -8739,9 +8746,9 @@
 02
 12
 1f
-e7
+ee
 61
-00
+07
 90
 4e
 d8
@@ -8778,9 +8785,9 @@
 70
 12
 1f
-e7
+ee
 61
-00
+07
 eb
 b4
 d8
@@ -8791,9 +8798,9 @@
 00
 12
 1f
-e7
+ee
 61
-00
+07
 90
 4e
 d8
@@ -8830,7 +8837,7 @@
 b8
 12
 1f
-e7
+ee
 80
 7d
 eb
@@ -8843,7 +8850,7 @@
 00
 12
 1f
-e7
+ee
 80
 70
 90
@@ -8884,7 +8891,7 @@
 03
 12
 1f
-e7
+ee
 80
 47
 eb
@@ -8897,7 +8904,7 @@
 03
 12
 1f
-e7
+ee
 80
 3a
 90
@@ -8935,7 +8942,7 @@
 7f
 01
 11
-02
+09
 80
 14
 ee
@@ -8945,7 +8952,7 @@
 7f
 02
 11
-02
+09
 80
 0a
 12
@@ -8957,7 +8964,7 @@
 7f
 04
 11
-02
+09
 90
 4e
 4b
@@ -9008,7 +9015,7 @@
 04
 f0
 01
-2c
+33
 22
 90
 4d
@@ -9082,11 +9089,11 @@
 a3
 f0
 d1
-00
+07
 50
 25
 71
-a5
+ac
 90
 4e
 e4
@@ -9150,7 +9157,7 @@
 f0
 12
 2f
-dc
+e3
 7a
 4d
 79
@@ -9180,7 +9187,7 @@
 79
 bc
 d1
-48
+4f
 ef
 60
 16
@@ -9193,7 +9200,7 @@
 7d
 14
 d1
-18
+1f
 ef
 70
 09
@@ -9235,7 +9242,7 @@
 70
 02
 81
-d6
+dd
 74
 bc
 2f
@@ -9254,7 +9261,7 @@
 e0
 ff
 b1
-f2
+f9
 90
 4e
 92
@@ -9266,7 +9273,7 @@
 50
 02
 81
-bf
+c6
 e4
 90
 4e
@@ -9404,7 +9411,7 @@
 04
 f0
 81
-3a
+41
 90
 4e
 8b
@@ -9413,7 +9420,7 @@
 60
 08
 b1
-f2
+f9
 90
 4e
 8f
@@ -9427,7 +9434,7 @@
 04
 f0
 81
-09
+10
 90
 4e
 8f
@@ -9453,7 +9460,7 @@
 70
 02
 a1
-c6
+cd
 74
 93
 2f
@@ -9508,9 +9515,9 @@
 70
 04
 a1
-be
+c5
 a1
-be
+c5
 90
 4e
 91
@@ -9601,7 +9608,7 @@
 fd
 12
 28
-f8
+ff
 90
 4e
 90
@@ -9620,7 +9627,7 @@
 e0
 ff
 d1
-92
+99
 80
 07
 90
@@ -9629,7 +9636,7 @@
 e0
 ff
 d1
-e8
+ef
 90
 4e
 8b
@@ -9667,7 +9674,7 @@
 04
 f0
 81
-e3
+ea
 90
 4e
 4b
@@ -10153,7 +10160,7 @@
 03
 02
 28
-88
+8f
 90
 4e
 d7
@@ -10172,7 +10179,7 @@
 03
 02
 28
-d0
+d7
 90
 4e
 d4
@@ -10373,7 +10380,7 @@
 f0
 02
 27
-b2
+b9
 90
 4e
 d4
@@ -10568,7 +10575,7 @@
 60
 02
 21
-e1
+e8
 ed
 b4
 4c
@@ -10580,7 +10587,7 @@
 48
 f0
 21
-e1
+e8
 ed
 b4
 52
@@ -10726,7 +10733,7 @@
 60
 02
 61
-54
+5b
 90
 4d
 e2
@@ -10748,7 +10755,7 @@
 60
 02
 61
-54
+5b
 90
 4d
 e7
@@ -10758,7 +10765,7 @@
 60
 02
 61
-54
+5b
 ed
 24
 c6
@@ -10768,10 +10775,10 @@
 40
 02
 61
-54
+5b
 90
 2a
-21
+28
 75
 f0
 03
@@ -10785,40 +10792,40 @@
 73
 02
 2a
-45
+4c
 02
 2a
-5c
+63
 02
 2a
-a5
+ac
 02
 2a
-c2
+c9
 02
 2a
-e0
+e7
 02
 2b
-09
+10
 02
 2b
-26
+2d
 02
 2b
-2e
+35
 02
 2b
-36
+3d
 02
 2b
-3e
+45
 02
 2b
-46
+4d
 02
 2b
-4e
+55
 90
 4c
 c1
@@ -10833,7 +10840,7 @@
 44
 f0
 61
-54
+5b
 90
 4f
 03
@@ -10841,7 +10848,7 @@
 d6
 f0
 61
-54
+5b
 90
 4c
 c1
@@ -10856,7 +10863,7 @@
 7d
 04
 11
-d3
+da
 ee
 30
 e0
@@ -10880,7 +10887,7 @@
 7d
 01
 11
-d3
+da
 80
 19
 90
@@ -10897,7 +10904,7 @@
 7d
 08
 11
-d3
+da
 ee
 30
 e0
@@ -10914,7 +10921,7 @@
 03
 f0
 61
-54
+5b
 90
 4c
 c1
@@ -10928,7 +10935,7 @@
 d2
 f0
 61
-54
+5b
 af
 06
 7b
@@ -10936,14 +10943,14 @@
 7d
 08
 11
-d3
+da
 e4
 90
 4f
 03
 f0
 61
-54
+5b
 90
 4c
 c1
@@ -10958,7 +10965,7 @@
 7d
 08
 11
-d3
+da
 e4
 90
 4f
@@ -10987,7 +10994,7 @@
 7d
 08
 11
-d3
+da
 80
 08
 af
@@ -10997,7 +11004,7 @@
 7d
 01
 11
-d3
+da
 ee
 30
 e0
@@ -11036,7 +11043,7 @@
 7d
 0a
 11
-d3
+da
 e4
 90
 4f
@@ -11186,7 +11193,7 @@
 b0
 12
 35
-df
+7c
 90
 81
 1c
@@ -11204,31 +11211,31 @@
 e4
 ff
 71
-f3
+fa
 7f
 01
 71
-f3
+fa
 7f
 02
 71
-f3
+fa
 7f
 03
 71
-f3
+fa
 7f
 04
 71
-f3
+fa
 7f
 05
 71
-f3
+fa
 7f
 06
 71
-f3
+fa
 7f
 07
 80
@@ -11255,7 +11262,7 @@
 ef
 f0
 f1
-5a
+61
 92
 08
 90
@@ -11273,7 +11280,7 @@
 70
 02
 81
-91
+98
 ef
 54
 07
@@ -11409,18 +11416,18 @@
 f0
 22
 f1
-47
+4e
 91
-ee
+f5
 12
 0d
 4c
 12
 14
-6d
+42
 12
 13
-6d
+42
 90
 4d
 7d
@@ -11428,7 +11435,7 @@
 60
 02
 f1
-ad
+b4
 90
 0b
 7e
@@ -11441,12 +11448,12 @@
 70
 e2
 71
-5a
+61
 12
 17
-b7
+99
 91
-e0
+e7
 80
 fe
 90
@@ -11474,13 +11481,13 @@
 60
 04
 f1
-a1
+a8
 80
 bd
 71
-5a
+61
 91
-e0
+e7
 80
 b7
 80
@@ -11499,7 +11506,7 @@
 01
 02
 15
-b2
+95
 7a
 0c
 79
@@ -11539,7 +11546,7 @@
 70
 02
 c1
-9d
+a4
 7e
 0c
 7f
@@ -11547,7 +11554,7 @@
 7d
 03
 d1
-f7
+fe
 90
 4e
 ed
@@ -11607,7 +11614,7 @@
 05
 dd
 c1
-9d
+a4
 90
 4e
 ed
@@ -11656,7 +11663,7 @@
 14
 fd
 d1
-f7
+fe
 90
 4e
 ed
@@ -11714,7 +11721,7 @@
 05
 dd
 c1
-9d
+a4
 90
 4e
 ed
@@ -11763,7 +11770,7 @@
 14
 fd
 d1
-f7
+fe
 90
 4e
 ed
@@ -11870,7 +11877,7 @@
 14
 fd
 d1
-f7
+fe
 90
 4e
 ed
@@ -12190,7 +12197,7 @@
 ff
 22
 81
-92
+99
 90
 0b
 7f
@@ -12205,7 +12212,7 @@
 22
 12
 17
-b7
+99
 90
 4b
 ef
@@ -12267,11 +12274,8 @@
 06
 81
 93
-70
-03
-02
-30
-6f
+60
+69
 ef
 93
 fd
@@ -12362,7 +12366,7 @@
 f0
 ee
 24
-78
+74
 fb
 e4
 34
@@ -12374,29 +12378,9 @@
 e0
 4d
 f0
-ee
-24
-70
-fb
-e4
-34
-80
-8b
-82
-f5
-83
-e0
-fc
-ed
-f4
-fb
-ec
-5b
-f0
 0f
-02
-2f
-e8
+80
+90
 e4
 ff
 ef
@@ -12405,7 +12389,7 @@
 81
 93
 60
-7c
+69
 ef
 93
 fd
@@ -12496,7 +12480,7 @@
 f0
 ee
 24
-78
+74
 fb
 e4
 34
@@ -12508,28 +12492,9 @@
 e0
 4d
 f0
-ee
-24
-70
-fb
-e4
-34
-80
-8b
-82
-f5
-83
-e0
-fc
-ed
-f4
-fb
-ec
-5b
-f0
 0f
-01
-71
+80
+90
 e4
 ff
 ef
@@ -12627,7 +12592,7 @@
 0b
 97
 31
-86
+63
 90
 4c
 eb
@@ -13025,7 +12990,7 @@
 f0
 12
 17
-45
+27
 90
 4c
 e5
@@ -13034,7 +12999,7 @@
 46
 12
 17
-7e
+60
 80
 41
 90
@@ -13074,7 +13039,7 @@
 1d
 12
 12
-68
+3e
 80
 10
 d2
@@ -13083,7 +13048,7 @@
 1d
 12
 12
-68
+3e
 80
 07
 d2
@@ -13092,7 +13057,7 @@
 1d
 12
 12
-68
+3e
 90
 4c
 e2
@@ -13453,8 +13418,8 @@
 0b
 79
 86
-91
-11
+71
+ee
 90
 0b
 83
@@ -13549,7 +13514,7 @@
 f0
 02
 17
-e7
+da
 90
 4e
 f3
@@ -13595,107 +13560,10 @@
 80
 df
 22
-90
-4e
-f6
-eb
-f0
-a3
-ea
-f0
-a3
-e9
-f0
-e4
-fe
-fd
-ef
-54
-07
-fe
-ef
-13
-13
-13
-54
-03
-fd
-30
-00
-22
-90
-4e
-f6
-e0
-fb
-a3
-e0
-fa
-a3
-e0
-2d
-f9
-e4
-3a
-fa
-12
-03
-b6
-ff
-74
-01
-a8
-06
-08
-80
-02
-c3
-33
-d8
-fc
-4f
-02
-03
-fc
-90
-4e
-f6
-e0
-fb
-a3
-e0
-fa
-a3
-e0
-2d
-f9
-e4
-3a
-fa
-12
-03
-b6
-ff
-74
-01
-a8
-06
-08
-80
-02
-c3
-33
-d8
-fc
-f4
-5f
-02
-03
-fc
 ef
 f4
 60
-0c
+0d
 7b
 01
 7a
@@ -13706,13 +13574,45 @@
 03
 92
 00
+12
+17
+f4
+22
+ac
+07
+ec
+f4
+60
+18
+af
+04
+a2
+05
+92
+03
+91
+fa
+af
+04
+a2
+05
+b3
+92
+02
+12
+17
+c9
+af
+04
+c2
+04
 b1
-1d
+2b
 22
 ef
 f4
 60
-0c
+0d
 7b
 01
 7a
@@ -13723,8 +13623,9 @@
 04
 92
 00
-b1
-1d
+12
+17
+f4
 22
 ef
 f4
Index: c51/patch/adc.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/patch/bluetooth.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/patch/global_variable.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/patch/kb_process.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/patch/keyscan.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/patch/led.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/patch/ram.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/patch/sys.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/sys.c
===================================================================
--- /YC1026/YC1086_BLE_24g_SDK/c51/sys.c	(revision 327)
+++ /YC1026/YC1086_BLE_24g_SDK/c51/sys.c	(working copy)
@@ -154,10 +154,7 @@
 		if ((g_variable.current_device_num > 0) && (g_variable.current_device_num < 4))
 		{
 			xmemclear_ff((byte *)&bd_key_record_list[g_variable.current_device_num-1],sizeof(BD_KEY_RECORD));	
-			Delay1ms(200);
-			GPIO_Setout(EEPROM_WP_GPIO,0);
-			IIC_WriteBlock(EEPROM_RECON_INFO_BASE ,sizeof(BD_KEY_RECORD)*3 , (byte *)bd_key_record_list);		
-			GPIO_Setout(EEPROM_WP_GPIO,1);
+			g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_BT;
 		}
 		break;
 	case IPC_EVT_RECONNECT_STANDY:
