Index: muyu/do.bat
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/BT_code_patch/print/branches/muyu/do.bat	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/BT_code_patch/print/branches/muyu/do.bat	(working copy)
@@ -0,0 +1,241 @@
+cls
+@echo off
+
+::get Rom path
+set now_path=%~dp0
+call:getstrlocation %now_path% ModuleDemo location
+call:get_fix_len_str  %now_path% location soft_path
+set lib_path=%soft_path%Librarier
+set rom_path=%lib_path%\bt_rom
+set program=%rom_path%\program
+set format=%rom_path%\format
+set util=%rom_path%\util
+set patch_path=%now_path%patch
+set sched=%now_path%sched
+set format_ex=%now_path%format
+
+rem @echo rom_path=%rom_path%
+rem @echo program_path=%program%
+rem @echo format_path=%format%
+rem @echo util_path=%util%
+rem @echo patch_path=%patch_path%
+
+setlocal enabledelayedexpansion
+set progs=""
+for /f %%f in ('dir /b /o %program%\*.prog') do @if not %%f==bt.prog if not %%f==patch.prog if not %%f==sim.prog set progs=!progs! + %program%\%%f
+copy %program%\bt.prog + %progs%  output\bt_program23.meta > output\1
+
+set fmts=""
+for /f %%f in ('dir /b /o %format%\*.format') do @if not %%f==bt.format if not %%f==command.format set fmts=!fmts! + %format%\%%f
+copy %format%\bt.format + %fmts%  + %format_ex%\app_module.format + %format_ex%\bt.format + %format_ex%\le.format + %format_ex%\utility.format + %format%\command.format output\bt_format.meta > output\2
+
+perl %util%/mergepatch.pl 				output/bt_program23.meta %patch_path%
+perl %util%/memalloc.pl 				output/bt_format.meta
+
+cd output
+osiuasm bt_program23 -O-W
+copy ..\sched\DM_module.dat  + ..\sched\109x.dat ..\output\sched.rom
+Creat_patch_Module
+if "%1" equ "eep" (
+	goto genromrevc
+)else (
+  goto downloadram
+)
+
+:genromrevc
+echo off
+@echo Start to generate EEPROM code
+geneep -n
+
+
+:gen_eep_end
+cd ..
+echo **********************************
+echo EEPROM Generated.
+echo Use command "e fp" to download EEPROM.
+echo **********************************
+goto end
+
+
+
+:genrom
+@rem echo on
+perl ..\util\rom2mif.pl romcode
+del ..\..\%FPGA_PATH%\romcode.mif
+copy .\romcode.mif ..\..\%FPGA_PATH%\romcode.mif
+perl ..\util\gen_patch_h.pl >%YC_PATCH_FILE%
+copy .\%YC_PATCH_FILE% ..\..\%MV_PATCH%\%YC_PATCH_FILE%
+copy .\%YC_PATCH_FILE% D:\work\yichip\mv_proj\src\inc\%YC_PATCH_FILE%
+cd ..\..\%FPGA_PATH%
+quartus_cdb btspi -c btspi --update_mif
+quartus_asm --read_settings_files=off --write_settings_files=off btspi -c btspi
+quartus_pgm -c USB-Blaster[USB-0] -m jtag -o "p;.\output\btspi.sof" 
+@echo bitstream_compression=on >1
+@echo memory_map_file=on >> 1
+quartus_cpf -c -o 1 -s EP3C55 -d EPCS16 output\btspi.sof output\btspi.jic  
+@rem quartus_pgm -c USB-Blaster[USB-0] -m jtag -o "pi;.\output\btspi.jic"   
+@del 1
+goto end
+
+
+
+:downloadram
+echo on
+@echo Start to download ram code
+e ku
+e hu
+e su sched.rom
+@echo **********************************
+@echo RAM CODE has been downloaded. 
+@echo **********************************
+cd ..
+
+
+:end
+echo create bt_code.c file
+perl %util%/rom2h.pl  <.\output\eeprom.dat>  .\output\bt_code.c
+goto:eof
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+::------------------------------------------
+::---------------func:getstrlocation-------
+::------------------------------------------
+:getstrlocation
+setlocal
+set "bstr=%1"
+set "cstr=%2"
+set %3=0
+set "num=0"
+set "len_bstr=0"
+set "len_cstr=0"
+
+call:getstrlen %bstr% len_bstr
+call:getstrlen %cstr% len_cstr
+
+:getstrlocation_next
+set /a len_remain=len_bstr-num
+if %len_remain% lss %len_cstr% (
+echo "cann't get str location"
+set /a num =0
+goto getstrlocation_last
+)
+
+call:get_fix_len_str %bstr%  len_cstr compar_str
+
+if not %compar_str%==%cstr% (
+set /a num+=1
+set "bstr=%bstr:~1%"
+goto getstrlocation_next
+)
+
+:getstrlocation_last
+(endlocal
+	set %3=%num%
+)
+goto:eof
+::---------------end:func-------------------
+
+
+::------------------------------------------
+::---------------func:get_fix_len_str-------
+::------------------------------------------
+:get_fix_len_str
+setlocal
+set "getstr=%NULL%"
+set str=%1
+set /a len=%2
+set num=0
+:get_fix_len_str_loop
+set getstr=%getstr%%str:~0,1%
+set /a num+=1
+set str=%str:~1%
+if %num% lss %len% goto get_fix_len_str_loop
+(endlocal
+ set %3=%getstr%
+)
+goto:eof
+::---------------end:func-------------------
+
+
+
+
+::------------------------------------------
+::---------------func:getstrlen-------------
+::------------------------------------------
+:getstrlen
+setlocal
+set str=%1
+set %2=0
+set /a "num=0"
+
+:getstrlen_next
+if "%str%"=="" goto getstrlen_last
+
+if not "%str%"=="" (
+set /a num+=1 
+set "str=%str:~1%"
+goto getstrlen_next
+)
+
+:getstrlen_last
+(endlocal
+	set /a "%2=%num%"
+)
+goto:eof
+::---------------end:func-------------------
+
+
+
+
+::------------------------------------------
+::---------------func:getcharlocation-------
+::------------------------------------------
+:getcharlocation
+setlocal
+set "str=%1"
+set "ch=%2"
+set %3=0
+set /a "num=0"
+
+:getcharnext
+if "%str%"=="" ( 
+set /a num=0
+goto getcharlast
+)
+
+if not "%str%"=="" (
+set /a num+=1
+if "%str:~0,1%"=="%ch%" goto getcharlast
+set "str=%str:~1%"
+goto getcharnext
+)
+:getcharlast
+(endlocal
+set %3=%num%
+)
+goto:eof 
+::---------------end:func-------------------
+
+
+
+
+
+
Index: muyu/format/app_module.format
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/BT_code_patch/print/branches/muyu/format/app_module.format	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/BT_code_patch/print/branches/muyu/format/app_module.format	(working copy)
@@ -0,0 +1,110 @@
+bmemalloc(
+	0 mem_module_prepare_write_request_packet
+	2 mem_module_prepare_write_request_PDU_length
+	2 mem_module_prepare_write_request_Channel_ID
+	1 mem_module_prepare_write_request_opcode
+	2 mem_module_prepare_write_request_handle
+	600 mem_temp_prepare_write_request_Data
+	260 mem_le_l2capbuf_new
+	0 mem_le_l2capbuf_new_end
+)
+omemalloc(
+	2 mem_soft_version_num
+
+	2 mem_current_packet_length
+	1 mem_module_state
+	
+	1 mem_module_spp_lpm_mult
+	1 mem_module_le_lpm_mult	
+	1 mem_module_bluetooth_stauts_by_command
+
+	//ble
+	1 mem_module_le_rx_data_len
+	2 mem_module_le_rx_data_address
+	2 mem_module_le_rx_data_handle
+	//ble write handle
+	2 mem_module_data_write_handle
+	2 mem_module_data_write_handle2
+	//flag
+	1 mem_module_flag
+
+	1 mem_module_hci_notify_len
+	2 mem_module_hci_notify_handle
+	2 mem_module_hci_nofiy_addr
+
+	4 mem_last_transmite_clock	
+	300 mem_module_uuid_list
+	0 mem_module_uuid_list_end
+	630 mem_module_le_att_list
+	0 mem_module_le_att_list_end
+	0 mem_module_nv_data
+	34 mem_module_nv_data0
+	34 mem_module_nv_data1
+	34 mem_module_nv_data2
+	34 mem_module_nv_data3
+	34 mem_module_nv_data4
+	1 mem_rfcomm_lmp_dis_flag
+	1 mem_module_rfcomm_disconnect_count
+
+	2 mem_le_buff_len
+	2 mem_le_buff_len_all
+	2 mem_module_prepare_write_request_contw
+	2 mem_module_prepare_write_request_contr
+
+	2 mem_module_master_rx_max
+	
+	1 mem_le_txheader_temp
+	1 mem_le_txlen_temp
+	2 mem_le_txpayload_temp
+	2 mem_le_txcid_temp
+	1 mem_le_l2cap_temp
+	1 mem_le_l2cap_response_temp
+	251 mem_le_txbdy_temp
+	15 mem_rf_init
+	1 mem_ble_dle_enable
+	1 mem_judge_clear_got_tx_falg
+	3 mem_2m0_tmier_address
+	1 mem_wakeup_gpio
+	1 mem_wake_by_m0
+	1 mem_ipcbuf_bt2m0_flag
+	2 mem_ipcbuf_bt2m0_write
+	2 mem_ipcbuf_bt2m0_read
+
+	1 mem_module_uart_cmd_temp
+	1 mem_module_uart_opcode_temp
+	2 mem_module_uart_len_temp
+	// Be aware of memory boundaries  limit 0x4bff
+	
+)
+(//mem_ble_dle_enable
+0x00 DLE_ENABLE
+0x01 DLE_DISABLE
+)
+(
+249 LE_BASEBAND_MAX_BUFFER
+)
+(//mem_module_flag
+//bit3~bit7 module states change
+3 MODULE_RECEIVE_COMPLETE_PREPARE_WRITE_REQ
+
+7 MODULE_RECV_CONFIRM
+)
+
+(
+	0x300 UART_AIR_CONTROL_THRESHOLD
+)
+(//Command
+
+0x15 HCI_CMD_SET_COD
+0x76 HCI_CMD_DELETE_CUSTOMIZE_SERVICE
+0x77 HCI_CMD_ADD_SERVICE_UUID
+0x78 HCI_CMD_ADD_CHARACTERISTIC_UUID
+
+0xfe HCI_CMD_ALL_ROUND
+)
+
+(//event
+
+0x29 HCI_EVENT_UUID_HANDLE
+
+)
Index: muyu/format/bt.format
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/BT_code_patch/print/branches/muyu/format/bt.format	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/BT_code_patch/print/branches/muyu/format/bt.format	(working copy)
@@ -0,0 +1,6 @@
+
+/* ============== mark ============= *//*0 - 47 */
+(
+
+44 mark_buf_full
+)
Index: muyu/format/le.format
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/BT_code_patch/print/branches/muyu/format/le.format	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/BT_code_patch/print/branches/muyu/format/le.format	(working copy)
@@ -0,0 +1,20 @@
+
+
+	/* LE control packet type */
+	(
+
+	0x14 LL_LENGTH_REQ
+	0x15 LL_LENGTH_RSP
+	)
+(
+0 BIT_CHARACTERISTIC_BROADCAST
+1 BIT_CHARACTERISTIC_READ
+2 BIT_CHARACTERISTIC_WRITE_WITHOUT_RESPONSE
+3 BIT_CHARACTERISTIC_WRITE
+4 BIT_CHARACTERISTIC_NOTIFY
+5 BIT_CHARACTERISTIC_INDICATE
+6 BIT_CHARACTERISTIC_SIGNED_WRITE
+7 BIT_CHARACTERISTIC_EXTENDED_PROPERTIES
+)
+
+
Index: muyu/format/utility.format
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/BT_code_patch/print/branches/muyu/format/utility.format	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/BT_code_patch/print/branches/muyu/format/utility.format	(working copy)
@@ -0,0 +1,111 @@
+
+bmemalloc(
+1 mem_usb_status
+1 mem_usb_fifo_empty
+1 mem_usb_read_len
+64 mem_usb_rxbuf
+2 mem_bufptr
+1 mem_remain
+20 mem_devicedesc
+2 mem_hidreportdesc_kb
+2 mem_hidreportdesc_m
+100 mem_confdesc
+5 mem_string0
+30 mem_string1
+64 mem_string2
+30 mem_string3
+2 mem_usb_zero_packet
+2 mem_usb_ones_packet
+2 mem_usb_two_packet
+1 mem_usb0_state
+
+1 mem_usb_offline_check_gpio
+1 mem_usb_tx_interval
+
+0 mem_usb_clear_mem_start
+0 mem_usb_setup
+1 mem_usb_setup_bmRequestType
+1 mem_usb_setup_bRequest
+1 mem_usb_setup_bValue
+1 mem_usb_setup_bValueH
+2 mem_usb_setup_wIndex
+1 mem_usb_setup_bLength
+1 mem_usb_setup_bLengthH
+64 mem_usb0_setup
+64 mem_usb0_set_report_data
+64 mem_usb0_get_report_data
+1 mem_usb_state
+1 mem_usb_tx_wait
+1 mem_usb_tx_enable
+1 mem_usb_remote_wakeup
+1 mem_usb_clear_remote_wakeup
+1 mem_usb_ep0_stall_status
+1 mem_usb_ep1_stall_status
+1 mem_usb_ep2_stall_status
+1 mem_usb_ep3_stall_status
+2 mem_dsc_info_data_pointer
+1 mem_dsc_info_len
+1 mem_usb0_data_ready_report
+1 mem_usb_tx_win_enable
+1 mem_usb_tx_mac_enable
+1 mem_usb_device_enumeration_endflag
+1 mem_usb_wakestate_onetime_flag
+1 mem_usb_mac_wakeup_trig
+1 mem_usb_set_high_addr_flag
+1 mem_usb_set_protocol_value
+1 mem_usb_set_protocol_status
+1 mem_usb_get_protocol_flag
+1 mem_usb_idle_flag
+1 mem_usb_idle_rate
+2 mem_usb_setup_bValue_temp
+1 mem_usb0_get_set_report
+1 mem_usb_ep1_data
+1 mem_usb_ep2_data
+1 mem_usb_clear_halt
+16 mem_usb_mouse_data
+16 mem_usb_kb_data
+16 mem_usb_kb_multikey
+8 mem_usb_kb_data_sta_data
+8 mem_usb_kb_data_last_data
+3 mem_usb_kb_multikey_sta_data
+3 mem_usb_kb_multikey_last_data
+1 mem_usb_kb_blank_data_enable
+1 mem_usb_kb_mul_blank_data_enable
+1 mem_usb_test_cnt
+0 mem_usb_clear_mem_end
+1 mem_usb_test_kb
+
+256 mem_rssi_noise_buffer
+256 mem_rssi_noise_dg_buffer
+256 mem_rssi_noise_ms_buffer
+256 mem_rssi_noise_kb_buffer
+32 mem_24g_common_temp
+
+
+)
+(// mem_bb_flag
+0 OLD_PACKET				//0:new packet   1: old packet  
+1 USE_BB_BUFFER_NOW		//0:BB BUFFER1  1:BB BUFFER2
+)
+(
+0 CACHE_BUFFER_FLAG
+1 CACHE_BUFFER_LCH
+2 CACHE_BUFFER_LEN
+4 CACHE_BUFFER_DATA_PTR
+
+
+)
+(
+0x0b1b mem_bb_cache_bufptr
+0x0b1d mem_bb_flag
+
+0x0b20 mem_baseband_buffer1_flag
+0x0b21 mem_baseband_buffer1_lch
+0x0b22 mem_baseband_buffer1_len
+0x0b24 mem_baseband_buffer1
+
+0x0c20 mem_baseband_buffer2_flag
+0x0c21 mem_baseband_buffer2_lch
+0x0c22 mem_baseband_buffer2_len
+0x0c24 mem_baseband_buffer2 
+)
Index: muyu/output/bt_code.c
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/BT_code_patch/print/branches/muyu/output/bt_code.c	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/BT_code_patch/print/branches/muyu/output/bt_code.c	(working copy)
@@ -0,0 +1,364 @@
+const unsigned char bt_code[] = {
+0x00,0x02,0xaa,0x55,0xc6,0x11,0xc2,0x84,0x00,0x18,0xc0,0x00,0x00,0x5a,0xc0,0x00,
+0x80,0xbe,0xc0,0x1a,0x00,0x56,0xc0,0x1e,0x80,0x43,0xc0,0x2a,0x80,0x2d,0xc0,0x30,
+0x00,0x6d,0xc0,0x42,0x80,0xc4,0xc0,0x44,0x80,0xe5,0xc0,0x46,0x80,0x62,0xc0,0x4a,
+0x00,0xa4,0xc0,0x51,0x00,0xee,0xc0,0x51,0x80,0xaf,0xc0,0x54,0x80,0xb2,0xc0,0x56,
+0x00,0xf5,0xc0,0x5c,0x00,0xf6,0xc0,0x5d,0x81,0x86,0xc0,0x5e,0x01,0xfe,0xc0,0x5e,
+0x82,0x1f,0xc0,0x6d,0x82,0x34,0xc0,0x75,0x82,0x3b,0xc0,0x78,0x80,0x87,0xc0,0x7a,
+0x80,0x9c,0x20,0x20,0x4a,0x8b,0xc0,0x01,0x82,0x45,0xc0,0x02,0x82,0x51,0xc0,0x03,
+0x02,0x5a,0xc0,0x03,0x82,0x60,0xc0,0x04,0x02,0x69,0xc0,0x05,0x82,0x7a,0xc0,0x09,
+0x82,0x8a,0xc0,0x0a,0x03,0x25,0xc0,0x0e,0x03,0x3a,0xc0,0x0f,0x03,0x63,0xc0,0x0f,
+0x83,0x91,0xc0,0x11,0x03,0xf3,0xc0,0x19,0x04,0x1b,0xc0,0x1d,0x04,0x2e,0xc0,0x1f,
+0x04,0x39,0xc0,0x20,0x84,0x4b,0xc0,0x28,0x04,0x51,0xc0,0x29,0x04,0x59,0xc0,0x46,
+0x83,0x78,0xc0,0x4c,0x84,0x6d,0x20,0x20,0x4a,0x8b,0x6f,0xe2,0x00,0x19,0x1f,0xe2,
+0x02,0x00,0xc5,0x05,0x45,0x57,0x68,0x42,0x01,0x5c,0x6f,0xe2,0x00,0x47,0x79,0x3f,
+0xfe,0x00,0x28,0x4f,0xfe,0x00,0x79,0x20,0xfe,0x00,0x28,0x4f,0xfe,0x01,0x79,0x20,
+0xfe,0x01,0x67,0xe2,0x00,0x47,0x28,0x4c,0x00,0x01,0x20,0x20,0xc5,0x57,0x20,0x40,
+0x00,0x3c,0x20,0x20,0x45,0x57,0x6f,0xe2,0x00,0x47,0xc4,0x01,0x80,0x00,0x79,0x3f,
+0xfe,0x03,0x79,0x40,0x7e,0x06,0x67,0xe2,0x00,0x47,0x70,0x4b,0xee,0x01,0x20,0x60,
+0x00,0x00,0x20,0x40,0x4c,0x24,0x20,0x40,0x6b,0x69,0x20,0x40,0x45,0x10,0x6f,0xe2,
+0x4b,0xee,0x24,0x5a,0x00,0x54,0x24,0x36,0xc3,0xde,0x20,0x40,0x4a,0x87,0x20,0x40,
+0x6b,0x81,0x20,0x40,0x44,0x85,0x20,0x40,0x47,0x53,0x20,0x40,0x47,0x24,0x20,0x40,
+0x60,0xe9,0x6f,0xe2,0x00,0x0b,0x1f,0xe0,0xfe,0x01,0x67,0xe2,0x00,0x0b,0x20,0x40,
+0x48,0x3d,0x20,0x20,0x43,0xde,0x70,0x4b,0xee,0x00,0x20,0x20,0x46,0x89,0x6f,0xe2,
+0x00,0x4c,0x79,0x3f,0xfe,0x02,0x67,0xe2,0x00,0x4c,0x20,0x20,0x43,0x2f,0x6f,0xe2,
+0x89,0x73,0x79,0x20,0x7e,0x06,0x67,0xe2,0x89,0x73,0x70,0x4b,0xf3,0x01,0x1c,0xe2,
+0x7e,0x00,0x24,0x3a,0x40,0x02,0x70,0x4b,0xf3,0x00,0x20,0x20,0x40,0x02,0x6f,0xe2,
+0x40,0xce,0x79,0x3f,0xfe,0x05,0x1f,0xe6,0x7c,0x09,0x20,0x21,0x00,0x69,0x1f,0xe6,
+0x7c,0x0f,0x24,0x21,0x00,0x6b,0x20,0x20,0x49,0xab,0x70,0x40,0xce,0x09,0x20,0x20,
+0x49,0xab,0x70,0x40,0xce,0x0f,0x20,0x20,0x49,0xab,0x6f,0xe2,0x02,0x5d,0xc0,0x00,
+0x80,0x71,0xc0,0x01,0x00,0x7c,0x20,0x20,0x4a,0x8b,0x6f,0xe4,0x02,0x59,0x68,0x44,
+0x01,0x5d,0x98,0x40,0xfe,0x00,0x67,0xe4,0x02,0x59,0x1f,0xe6,0x7c,0x00,0x20,0x22,
+0xca,0x8b,0x68,0x44,0x10,0x00,0x18,0x40,0x84,0x04,0x98,0x46,0x7c,0x00,0x20,0x42,
+0xc7,0x43,0x20,0x20,0x46,0x09,0x6f,0xe4,0x02,0x5b,0x68,0x44,0x01,0x5d,0x98,0x40,
+0xfe,0x00,0x67,0xe4,0x02,0x5b,0x1f,0xe6,0x7c,0x00,0x20,0x22,0xca,0x8b,0x68,0x44,
+0x14,0x00,0x18,0x40,0x84,0x04,0x98,0x46,0x7c,0x00,0x20,0x42,0xc7,0x47,0x20,0x20,
+0x46,0x09,0x79,0x3f,0x80,0x2c,0x70,0x44,0xe1,0x00,0x20,0x40,0x79,0x64,0x20,0x40,
+0x5f,0xf8,0x78,0x57,0x7c,0x00,0x20,0x40,0x5a,0xc0,0x20,0x21,0x57,0x83,0x20,0x40,
+0x4c,0x27,0x20,0x40,0x57,0xed,0x20,0x40,0x58,0x63,0x24,0x2c,0x57,0x75,0x20,0x56,
+0x83,0x10,0x6f,0xe2,0x4b,0xf4,0x24,0x5a,0x00,0x99,0x20,0x40,0x57,0x91,0x20,0x36,
+0xd7,0x62,0xc5,0x16,0x57,0x62,0x20,0x20,0x57,0x6f,0x79,0x20,0x00,0x2c,0x78,0x56,
+0xfc,0x00,0x20,0x60,0x00,0x00,0x78,0x37,0x7c,0x00,0x20,0x40,0x58,0x9b,0x20,0x56,
+0x83,0x10,0x6f,0xe2,0x4b,0xf4,0x24,0x5a,0x00,0x99,0x20,0x36,0xd7,0x62,0xc5,0x16,
+0x57,0x62,0x20,0x20,0x57,0x6f,0x18,0x42,0x7e,0x00,0x20,0x40,0x7d,0x2b,0x1c,0x30,
+0x7e,0x00,0x79,0x20,0x7e,0x2c,0x20,0x40,0x7d,0x14,0x79,0x3f,0xfe,0x2c,0x20,0x40,
+0x4a,0x76,0x20,0x40,0x7d,0x14,0x20,0x74,0x00,0x00,0x20,0x40,0x00,0xbb,0x20,0x20,
+0x4a,0x2f,0x1b,0x42,0x7e,0x00,0x20,0x40,0x00,0xba,0x20,0x20,0x4a,0xe9,0x6f,0xe4,
+0x40,0x4e,0x1f,0xe3,0x7e,0x00,0x20,0x40,0x7d,0x2b,0x1e,0x02,0x7e,0x00,0x20,0x40,
+0x7d,0x14,0x1b,0x42,0x04,0x00,0x20,0x40,0x00,0xba,0x20,0x20,0x4b,0x67,0x20,0x40,
+0x7d,0x14,0x98,0x00,0x0c,0x00,0x79,0x3f,0x8c,0x10,0x20,0x20,0x7d,0x1f,0x20,0x40,
+0x68,0xc4,0x20,0x40,0x60,0xd7,0x20,0x40,0x00,0xc2,0x20,0x20,0x40,0x0a,0x20,0x75,
+0x80,0x00,0x20,0x20,0x7b,0x9a,0x20,0x30,0x80,0xd4,0x70,0x89,0x55,0xd4,0x20,0x00,
+0x00,0x04,0x70,0x89,0x55,0xd2,0x20,0x00,0x00,0x04,0x70,0x89,0x55,0xd1,0x20,0x00,
+0x00,0x04,0x6f,0xe2,0x41,0xdf,0xc0,0x00,0x00,0xd2,0xc0,0x00,0x80,0xe2,0xc0,0x01,
+0x00,0xd2,0xc0,0x01,0x80,0xe2,0xc0,0x02,0x00,0xe2,0xc0,0x10,0x00,0xe2,0x70,0x89,
+0x55,0xd0,0x70,0x89,0x56,0xe0,0x18,0x00,0x2a,0x08,0x18,0x00,0x2a,0x00,0x78,0x50,
+0xfc,0x00,0x78,0x50,0x7c,0x00,0x78,0x2f,0x7c,0x00,0x70,0x89,0x02,0x00,0x70,0x89,
+0x01,0x00,0x70,0x89,0x00,0x00,0x70,0x89,0x03,0x00,0x70,0x89,0x04,0x70,0x6f,0xe2,
+0x89,0x06,0x79,0x20,0x7e,0x00,0x67,0xe2,0x89,0x06,0x20,0x60,0x00,0x00,0x70,0x89,
+0x55,0xd0,0x70,0x89,0x56,0xc0,0x20,0x20,0x00,0xd4,0x60,0x42,0x00,0x17,0x20,0x40,
+0x49,0x2a,0x20,0x40,0x49,0x80,0x58,0x00,0x05,0x00,0x20,0x40,0x4a,0x8e,0x6f,0xe2,
+0x89,0x06,0x79,0x20,0x7e,0x00,0x67,0xe2,0x89,0x06,0x20,0x20,0x49,0x37,0x70,0x89,
+0x06,0x7c,0x20,0x75,0x80,0x00,0x58,0x00,0x00,0x00,0x67,0xe4,0x41,0xdd,0x1c,0x43,
+0x7e,0x00,0x67,0xe8,0x40,0x94,0x20,0x60,0x00,0x00,0x20,0x20,0x4b,0x7f,0x58,0x00,
+0x01,0x08,0x67,0xe4,0x41,0xf4,0x58,0x00,0x01,0x27,0x67,0xe4,0x41,0xf6,0x58,0x00,
+0x01,0x3b,0x67,0xe4,0x41,0xfe,0x58,0x00,0x01,0x45,0x67,0xe4,0x41,0xfa,0x58,0x00,
+0x01,0x5a,0x67,0xe4,0x41,0xea,0x58,0x00,0x01,0x6c,0x67,0xe4,0x41,0xf2,0x58,0x00,
+0x01,0x75,0x67,0xe4,0x45,0x41,0x20,0x40,0x4d,0xaf,0x20,0x40,0x4d,0xbc,0x20,0x40,
+0x4c,0x2a,0x20,0x20,0x50,0x4d,0x20,0x40,0x01,0x71,0x20,0x40,0x56,0x48,0x24,0x7a,
+0x00,0x00,0x20,0x20,0x4e,0x3d,0x68,0x44,0x4f,0xf4,0x6f,0xe4,0x4f,0xf6,0x98,0x46,
+0x7e,0x00,0x20,0x62,0x80,0x00,0x20,0x20,0x01,0x0c,0x20,0x40,0x01,0x0c,0x58,0x00,
+0x18,0x00,0x67,0xe4,0x4f,0xf0,0x67,0xe4,0x4f,0xf4,0x67,0xe4,0x4f,0xf6,0x6f,0xe4,
+0x4f,0xf2,0x67,0xe4,0x80,0x4a,0x6f,0xe4,0x4f,0xf0,0x67,0xe4,0x80,0x48,0x1f,0xe2,
+0x14,0x00,0x20,0x60,0x00,0x00,0x20,0x40,0x01,0x0c,0x58,0x00,0x1c,0x00,0x67,0xe4,
+0x4f,0xf0,0x67,0xe4,0x4f,0xf4,0x67,0xe4,0x4f,0xf6,0x6f,0xe4,0x4f,0xf2,0x67,0xe4,
+0x80,0x4a,0x6f,0xe4,0x4f,0xf0,0x67,0xe4,0x80,0x48,0x1f,0xe2,0x14,0x00,0x20,0x60,
+0x00,0x00,0x1a,0x62,0x7e,0x00,0xc0,0x04,0x81,0x31,0xc0,0x01,0x01,0x2f,0xc0,0x0a,
+0x01,0x38,0xc0,0x04,0x01,0x2d,0x20,0x20,0x4d,0xdf,0x20,0x40,0x01,0x11,0x20,0x20,
+0x4e,0x02,0x70,0x4a,0xd0,0x00,0x20,0x20,0x4d,0xfb,0x6f,0xe2,0x4a,0xcf,0x24,0x5a,
+0x01,0x36,0x20,0x40,0x01,0x1c,0x70,0x4a,0xd0,0x06,0x20,0x20,0x4e,0x08,0x70,0x4a,
+0xd0,0x06,0x20,0x60,0x00,0x00,0x20,0x40,0x01,0x1c,0x20,0x40,0x03,0xfd,0x20,0x20,
+0x4e,0x28,0x20,0x40,0x01,0x3d,0x20,0x20,0x50,0xc3,0x6f,0xe2,0x4a,0xd0,0x20,0x7a,
+0x00,0x00,0x1f,0xe0,0xff,0xff,0x67,0xe2,0x4a,0xd0,0x24,0x7a,0x00,0x00,0x6f,0xe4,
+0x46,0x52,0xc2,0x80,0x4d,0x64,0x20,0x60,0x00,0x00,0x20,0x40,0x4f,0x11,0x20,0x74,
+0x00,0x00,0x1a,0x22,0x7e,0x00,0x67,0xe4,0x46,0x71,0x20,0x40,0x01,0x51,0x67,0xe2,
+0x46,0x70,0x68,0x44,0x04,0x74,0x60,0x44,0x46,0x73,0x20,0x40,0x5b,0x6c,0x24,0x3a,
+0x4a,0x8b,0x6f,0xe2,0x04,0x9e,0x20,0x20,0x50,0x42,0x6f,0xe2,0x4b,0xed,0x24,0x3a,
+0x01,0x55,0x1f,0x22,0x7e,0x00,0x20,0x60,0x00,0x00,0x1a,0x42,0x7e,0x00,0x20,0x60,
+0x00,0x00,0xef,0xe2,0x00,0x03,0x67,0xe2,0x4b,0xf2,0x20,0x20,0x50,0x1f,0x20,0x40,
+0x02,0xde,0x24,0x34,0x01,0x6a,0x6f,0xe2,0x4b,0xf2,0x1f,0xe2,0x0e,0x00,0x6f,0xec,
+0x81,0x0e,0xaf,0xef,0xff,0xff,0x20,0x20,0x81,0x6a,0x6f,0xe2,0x4b,0xf3,0x24,0x3a,
+0x01,0x6a,0x6f,0xe2,0x4f,0xef,0xc0,0x00,0x81,0x6a,0x6f,0xe2,0x44,0x96,0xc0,0x80,
+0x01,0x68,0x20,0x20,0x4d,0x4d,0xc0,0x7f,0xcd,0x4d,0x20,0x20,0x01,0x6a,0x20,0x40,
+0x67,0xbc,0x20,0x20,0x4d,0x4b,0x20,0x40,0x01,0x74,0x20,0x40,0x01,0x71,0x20,0x40,
+0x56,0x48,0x24,0x7a,0x00,0x00,0x20,0x20,0x4e,0x3d,0x20,0x40,0x03,0x10,0x20,0x21,
+0x4d,0x54,0x20,0x20,0x4d,0x56,0x20,0x60,0x00,0x00,0x20,0x40,0x4d,0xd7,0x70,0x0a,
+0xff,0x07,0x6f,0xe4,0x04,0xfb,0x20,0x7a,0x00,0x00,0x1f,0xe2,0x72,0x00,0x6f,0xe4,
+0x04,0xfb,0x9f,0x26,0x7e,0x00,0x67,0xe4,0x04,0xfb,0x1f,0x22,0x7e,0x00,0x20,0x40,
+0x02,0x2a,0x6f,0xe4,0x04,0xfd,0x1f,0xe2,0x0c,0x00,0x20,0x40,0x67,0xc1,0x18,0xc2,
+0x7e,0x00,0x67,0xe4,0x04,0xfd,0x20,0x40,0x67,0xb9,0x20,0x20,0x01,0x76,0x6f,0xe2,
+0x0a,0xff,0xc0,0x13,0x81,0xfc,0xc0,0x06,0x01,0x93,0xc0,0x3b,0x01,0x9c,0xc0,0x3b,
+0x81,0xa2,0xc0,0x3c,0x01,0xa8,0xc0,0x0a,0x81,0xe5,0xc0,0x7f,0x01,0xe8,0xc0,0x20,
+0x01,0x57,0xc0,0x7f,0x81,0x91,0x20,0x20,0x4e,0x5c,0x70,0x4b,0xf3,0x00,0x20,0x20,
+0x50,0x0c,0x1a,0x22,0x06,0x00,0xef,0xe2,0x00,0x03,0xc0,0x00,0x4f,0x1c,0xc0,0x00,
+0xcf,0x1f,0xc0,0x01,0x4f,0x25,0xc0,0x01,0x81,0x9a,0x20,0x20,0x50,0x1c,0x58,0x00,
+0x00,0x01,0x20,0x20,0x4f,0x20,0xd8,0x40,0x00,0x01,0x20,0x40,0x5b,0x4d,0x18,0xc0,
+0x8b,0xfe,0x58,0x00,0x00,0x00,0xe7,0xe4,0x00,0x05,0x20,0x20,0x50,0x1f,0xd8,0x40,
+0x00,0x01,0x20,0x40,0x01,0xac,0x20,0x40,0x01,0xcb,0x58,0x00,0x00,0x00,0xe7,0xe4,
+0x00,0x05,0x20,0x20,0x01,0xde,0xef,0xe2,0x00,0x03,0x20,0x40,0x01,0xb0,0x20,0x40,
+0x01,0xb7,0x20,0x20,0x01,0xde,0x20,0x40,0x01,0xcf,0x58,0x28,0x00,0x02,0xe7,0xe6,
+0x00,0x05,0x20,0x60,0x00,0x00,0x67,0xe2,0x0a,0x96,0x20,0x40,0x01,0xcf,0x59,0x28,
+0x03,0x02,0xe7,0xe8,0x00,0x05,0x6f,0xe2,0x0a,0x96,0xe7,0xe6,0x00,0x05,0x20,0x60,
+0x00,0x00,0x20,0x40,0x01,0xcf,0x20,0x40,0x01,0xcb,0x20,0x40,0x01,0xcb,0x58,0x00,
+0x00,0x00,0xe7,0xe4,0x00,0x05,0x18,0x40,0x85,0xff,0x20,0x40,0x5b,0x4d,0x18,0xc0,
+0x8c,0x04,0xef,0xe2,0x00,0x06,0xc2,0x82,0x01,0xc4,0xc2,0x82,0x81,0xc4,0x18,0x40,
+0x84,0x01,0x20,0x60,0x00,0x00,0x20,0x40,0x01,0xcf,0x5a,0x29,0x02,0x02,0xe7,0xe8,
+0x00,0x05,0x58,0x00,0x01,0x00,0xe7,0xe8,0x00,0x05,0x18,0x40,0x85,0xff,0x20,0x60,
+0x00,0x00,0xef,0xe2,0x00,0x03,0x1f,0xe2,0x72,0x00,0xe7,0xe2,0x00,0x05,0x20,0x20,
+0x67,0xed,0x20,0x40,0x01,0xd2,0xe0,0x44,0x00,0x05,0x20,0x60,0x00,0x00,0x6f,0xe4,
+0x44,0x8e,0x98,0x00,0x0c,0x00,0x98,0x00,0x0a,0x00,0xef,0xe4,0x00,0x06,0x20,0x7a,
+0x00,0x00,0x1f,0xe0,0x84,0x01,0xef,0xe2,0x00,0x06,0x98,0xc0,0x8c,0x00,0xef,0xe2,
+0x00,0x06,0x98,0xc0,0x8c,0x00,0x18,0xc2,0x0a,0x00,0x20,0x20,0x01,0xd5,0x60,0x44,
+0x0a,0x9e,0x70,0x0a,0xff,0x29,0x58,0x00,0x00,0x02,0x20,0x40,0x50,0xa5,0x68,0x44,
+0x0a,0x9e,0xe0,0x44,0x00,0x0a,0x20,0x20,0x67,0xb9,0xef,0xe6,0x00,0x03,0x67,0xe6,
+0x40,0xaa,0x20,0x20,0x50,0x1f,0xef,0xe2,0x00,0x03,0xc0,0x00,0x01,0xf3,0xc0,0x00,
+0x81,0xed,0xc0,0x01,0x01,0xf9,0x20,0x20,0x50,0x1c,0xef,0xe4,0x00,0x03,0x1f,0xe2,
+0x24,0x00,0xef,0xe2,0x00,0x03,0x1f,0xe2,0x22,0x00,0xd8,0x40,0x00,0x00,0x20,0x20,
+0x50,0x2a,0xef,0xe4,0x00,0x03,0x1f,0xe2,0x0a,0x00,0xef,0xe2,0x00,0x03,0x1f,0xe2,
+0x72,0x00,0x20,0x40,0x67,0xda,0x20,0x20,0x50,0x1f,0xef,0xe2,0x00,0x03,0x1f,0xe2,
+0x2c,0x00,0x20,0x20,0x50,0x1f,0x20,0x40,0x50,0x1f,0x20,0x20,0x4d,0x85,0x6f,0xe2,
+0x46,0x79,0xc2,0x81,0x82,0xf0,0x6f,0xe2,0x46,0x79,0xc3,0x83,0x80,0x00,0x18,0x40,
+0xff,0xfd,0xd8,0x40,0x00,0xc8,0x20,0x40,0x7d,0xb5,0x68,0x42,0x46,0x7a,0x20,0x40,
+0x7d,0xb5,0x1f,0xe2,0x22,0x00,0x18,0x42,0x7e,0x00,0x9a,0x26,0x7e,0x00,0x67,0xe2,
+0x46,0x7a,0x68,0x44,0x46,0x7b,0x18,0x40,0x85,0xff,0x20,0x40,0x5b,0x4d,0x20,0x3a,
+0x02,0x1b,0xe8,0x48,0x00,0x06,0x59,0x28,0x03,0x02,0x98,0x46,0x7c,0x00,0x24,0x22,
+0x82,0x1b,0xef,0xe2,0x00,0x06,0xc2,0x82,0x82,0x17,0xc2,0x82,0x4f,0x01,0x20,0x20,
+0x02,0x1b,0x20,0x40,0x04,0x03,0x68,0x44,0x46,0x7b,0x20,0x40,0x5e,0x4d,0x20,0x20,
+0x4f,0x03,0x70,0x46,0x7a,0x00,0x70,0x0b,0x01,0x01,0x20,0x40,0x50,0xe0,0x20,0x20,
+0x50,0x1c,0x6f,0xe2,0x0a,0xff,0x67,0xe4,0x4b,0xfa,0x70,0x4b,0xf9,0x02,0x6f,0xe2,
+0x0b,0x00,0x67,0xe4,0x4b,0xfb,0x60,0x50,0x0a,0x9e,0x68,0x50,0x0a,0x9e,0x20,0x40,
+0x67,0xb5,0x6f,0xe8,0x4b,0xf9,0xe7,0xe8,0x00,0x0a,0x20,0x60,0x00,0x00,0x67,0xe4,
+0x4b,0xfb,0x6f,0xe2,0x0a,0xff,0x67,0xe2,0x4b,0xfa,0x70,0x4b,0xf9,0x02,0x60,0x50,
+0x0a,0x9e,0x68,0x50,0x0a,0x9e,0x20,0x40,0x67,0xb5,0x6f,0xe8,0x4b,0xf9,0xe7,0xe8,
+0x00,0x0a,0x20,0x60,0x00,0x00,0xda,0x40,0x00,0x00,0x20,0x40,0x56,0x48,0x24,0x3a,
+0x4a,0x8b,0x20,0x40,0x56,0x58,0xda,0x40,0x0c,0x00,0xd8,0xe0,0x00,0x00,0x20,0x20,
+0x56,0x21,0x6f,0xe2,0x4b,0xed,0x24,0x3a,0x57,0x09,0x20,0x40,0x57,0x09,0x70,0x4a,
+0xdb,0x01,0x70,0x4a,0xdc,0x00,0x58,0x00,0x00,0x00,0x67,0xf0,0x4a,0xd1,0x58,0x00,
+0x00,0x1b,0x67,0xe4,0x4a,0xd9,0x20,0x60,0x00,0x00,0x20,0x40,0x49,0xba,0x78,0x23,
+0xfc,0x00,0x78,0x24,0xfc,0x00,0x09,0x80,0x00,0x08,0x19,0x89,0x7e,0x00,0x67,0xe2,
+0x02,0xd5,0x09,0x80,0x00,0x08,0x19,0x89,0x7e,0x00,0xe7,0xe2,0x00,0x05,0x1f,0xe2,
+0x72,0x00,0x20,0x3a,0x58,0x8b,0x20,0x20,0x58,0x87,0x20,0x40,0x58,0xa3,0x20,0x40,
+0x49,0x15,0x68,0x42,0x00,0x17,0x20,0x40,0x49,0x1c,0x20,0x00,0x05,0xdc,0x20,0x40,
+0x49,0x21,0x78,0x28,0x7c,0x00,0xd9,0x60,0x15,0x7c,0x20,0x20,0x58,0x69,0x20,0x40,
+0x57,0xaf,0x20,0x40,0x02,0x5d,0x20,0x20,0x58,0xa7,0x20,0x36,0x80,0xea,0xc5,0x16,
+0x00,0xea,0x20,0x20,0x57,0xbe,0x6f,0xe2,0x4b,0xed,0x24,0x3a,0x58,0xb3,0x6f,0xe2,
+0x4a,0xdb,0x08,0x00,0x86,0x08,0xef,0xe2,0x00,0x06,0x1f,0xe2,0x72,0x00,0x08,0x00,
+0x86,0x08,0x20,0x22,0xd8,0xbc,0x20,0x20,0x58,0xb9,0x6f,0xe2,0x4b,0xed,0x24,0x3a,
+0x58,0xc4,0x6f,0xe2,0x44,0x56,0xc0,0x00,0xd8,0xd3,0x6f,0xe2,0x44,0x57,0x1f,0xf2,
+0x7e,0x00,0x1f,0xeb,0xfe,0x00,0x67,0xe2,0x4a,0xdb,0x68,0x42,0x43,0x41,0x18,0x40,
+0xfe,0x06,0x67,0xe2,0x4a,0xdc,0x6f,0xec,0x44,0x72,0x67,0xec,0x4a,0xdd,0x18,0x42,
+0x72,0x00,0xd8,0xc0,0x43,0x42,0x20,0x40,0x7c,0xcf,0x20,0x20,0x58,0xde,0x6f,0xe2,
+0x4b,0xed,0x24,0x3a,0x58,0xf7,0xd8,0x40,0x00,0x04,0x6f,0xe2,0x44,0x57,0x7d,0x3a,
+0x04,0x06,0x60,0x42,0x4a,0xdb,0x68,0x42,0x43,0x61,0x18,0x40,0xfe,0x06,0x67,0xe2,
+0x4a,0xdc,0x6f,0xec,0x44,0x72,0x67,0xec,0x4a,0xdd,0xd8,0xc0,0x43,0x62,0x18,0x42,
+0x72,0x00,0x20,0x40,0x7c,0xcf,0x20,0x40,0x58,0xa1,0x20,0x20,0x5a,0xe2,0x20,0x40,
+0x5a,0xc9,0xc6,0x16,0x00,0x00,0x20,0x40,0x59,0x9a,0x6f,0xe2,0x02,0xd5,0x2f,0xef,
+0xfe,0x04,0x79,0x20,0x80,0x2a,0x1f,0xe3,0x7e,0x00,0x98,0x42,0xfe,0x00,0x2f,0xef,
+0xfe,0x02,0x79,0x20,0x80,0x0f,0xc6,0x07,0x80,0x00,0x6f,0xe2,0x02,0xd6,0x20,0x3a,
+0x02,0x9d,0x6f,0xe2,0x04,0x3b,0xc3,0x02,0x02,0x9d,0x20,0x40,0x73,0x42,0x20,0x40,
+0x72,0xb2,0x7d,0x3a,0x00,0x0f,0x24,0x7a,0x00,0x00,0x68,0x42,0x04,0x52,0x79,0x40,
+0x04,0x02,0x60,0x42,0x04,0x52,0x6f,0xe2,0x4b,0xed,0x24,0x7a,0x00,0x00,0x20,0x20,
+0x02,0xa3,0x6f,0xe2,0x02,0xd6,0x20,0x7a,0x00,0x00,0x6f,0xe2,0x02,0xd5,0x2f,0xe0,
+0x06,0x01,0x20,0x20,0x82,0xcb,0x2f,0xe0,0x06,0x02,0x20,0x20,0x82,0xab,0x20,0x60,
+0x00,0x00,0x6f,0xe4,0x02,0xd9,0xc1,0x82,0x00,0x00,0xef,0xe6,0x00,0x06,0x67,0xe6,
+0x04,0x73,0x79,0x20,0x00,0x0f,0xc0,0x09,0x02,0xbf,0xc0,0x29,0x02,0xc1,0xc0,0x0b,
+0x02,0xb8,0xc0,0x0c,0x5e,0x3b,0xc0,0x01,0x5c,0xa1,0xc0,0x0f,0x03,0xfd,0x79,0x3f,
+0x80,0x0f,0x20,0x60,0x00,0x00,0x58,0x00,0x0b,0x1e,0x67,0xe4,0x4a,0xd5,0x20,0x40,
+0x02,0xc4,0x1f,0x20,0xf3,0xfe,0xda,0x20,0x02,0xe0,0x20,0x40,0x5a,0xbe,0x20,0x20,
+0x02,0xe4,0x20,0x40,0x02,0xc1,0x20,0x20,0x02,0xdb,0x20,0x40,0x02,0xc4,0xda,0x20,
+0x02,0xde,0x20,0x20,0x5a,0xbe,0x6f,0xe2,0x02,0xd6,0x1f,0xe0,0xf3,0xf9,0x1f,0xe0,
+0xff,0xfc,0x67,0xe4,0x4a,0xd1,0xe8,0x44,0x00,0x06,0x60,0x44,0x4a,0xd3,0x20,0x60,
+0x00,0x00,0x79,0x20,0x00,0x0f,0x20,0x40,0x02,0xd3,0x6f,0xe2,0x04,0x73,0xc0,0x09,
+0x02,0xdb,0xc0,0x0b,0x02,0xda,0xc1,0x29,0x00,0x00,0x79,0x3f,0x80,0x0f,0x20,0x60,
+0x00,0x00,0x6f,0xe2,0x02,0xd6,0x68,0x44,0x4a,0xd1,0x98,0x40,0x84,0x00,0x60,0x44,
+0x4a,0xd1,0x1f,0xe2,0x72,0x00,0xda,0x20,0x02,0xd7,0x20,0x20,0x5a,0xbe,0x20,0x20,
+0x02,0xe4,0x20,0x40,0x02,0xde,0x24,0x74,0x00,0x00,0x20,0x20,0x5e,0x13,0x20,0x40,
+0x7d,0xc1,0x6f,0xe4,0x4a,0xd3,0x68,0x44,0x4a,0xd1,0x98,0x46,0x7c,0x00,0x24,0x62,
+0x80,0x00,0x20,0x20,0x7d,0xbf,0x6f,0xe4,0x4a,0xd5,0x1f,0xe2,0x0a,0x00,0x6f,0xe2,
+0x02,0xd6,0x1f,0xe2,0x72,0x00,0x20,0x40,0x7c,0xdc,0x18,0xa2,0x7e,0x00,0x67,0xe4,
+0x4a,0xd5,0x20,0x40,0x02,0xde,0x24,0x74,0x00,0x00,0xd8,0xe0,0x00,0x03,0x20,0x40,
+0x50,0xe6,0x20,0x20,0x02,0xf0,0x20,0x40,0x5c,0x74,0x24,0x7a,0x00,0x00,0x70,0x0b,
+0x22,0x17,0x58,0x00,0x0b,0x1e,0x67,0xe4,0x4a,0xd7,0x68,0x44,0x0b,0x1e,0x18,0x40,
+0x84,0x04,0x58,0x00,0x00,0xf9,0x20,0x40,0x7d,0xb5,0x1f,0xe0,0xa5,0xfc,0x18,0x00,
+0x02,0x02,0x1f,0xe2,0x22,0x00,0x20,0x40,0x5c,0x32,0x6f,0xe4,0x4a,0xd7,0x1f,0xe2,
+0x0c,0x00,0x1a,0x22,0x72,0x00,0x20,0x40,0x7c,0xcf,0x18,0xc2,0x7e,0x00,0x67,0xe4,
+0x4a,0xd7,0x6f,0xe4,0x0b,0x1e,0x9a,0x46,0x7e,0x00,0x67,0xe4,0x0b,0x1e,0x20,0x3a,
+0x03,0x0c,0xd8,0x40,0x00,0xf9,0x20,0x40,0x7d,0xb5,0x1f,0xe2,0x24,0x00,0x18,0x00,
+0x02,0x01,0x20,0x20,0x02,0xfb,0x58,0x00,0x00,0x00,0x67,0xe4,0x4a,0xd5,0xd8,0xe0,
+0x00,0x03,0x20,0x20,0x50,0xe2,0x70,0x4b,0xf4,0x00,0x68,0x44,0x4f,0xf0,0x6f,0xe4,
+0x4f,0xf2,0x98,0x46,0x22,0x00,0x68,0x44,0x4f,0xf4,0x6f,0xe4,0x4f,0xf6,0x60,0x44,
+0x4b,0xf7,0x67,0xe4,0x4b,0xf5,0x98,0x46,0x7e,0x00,0x20,0x21,0x03,0x20,0x20,0x22,
+0x83,0x20,0x1a,0x22,0x04,0x00,0x6f,0xe4,0x4b,0xf5,0x98,0x40,0xfe,0x00,0x68,0x44,
+0x4b,0xf7,0x98,0x46,0x7e,0x00,0xd8,0x40,0x02,0xc0,0x98,0x46,0x7c,0x00,0x24,0x61,
+0x00,0x00,0x70,0x4b,0xf4,0x01,0x20,0x60,0x00,0x00,0x68,0x42,0x04,0x52,0x28,0x4c,
+0x00,0x05,0x20,0x60,0x80,0x00,0x6f,0xe2,0x02,0xd5,0x1f,0xe3,0xfe,0x00,0x98,0x42,
+0xfe,0x00,0xc4,0x01,0x80,0x00,0x79,0x3f,0x84,0x05,0x79,0x40,0x04,0x03,0x60,0x42,
+0x04,0x52,0x28,0x40,0x06,0x03,0x24,0x60,0x80,0x00,0x6f,0xe2,0x4b,0xed,0x24,0x3a,
+0x03,0x35,0x6f,0xe2,0x4a,0xdd,0x20,0x20,0x03,0x36,0x6f,0xe2,0x43,0xb0,0xc0,0x02,
+0xd9,0xac,0x6f,0xe2,0x44,0x97,0xc0,0x01,0x59,0xb0,0x20,0x60,0x00,0x00,0x6f,0xe2,
+0x04,0x52,0xc3,0x82,0x80,0x00,0x20,0x40,0x5a,0x1c,0x6f,0xe2,0x4b,0xed,0x24,0x3a,
+0x59,0xfc,0x20,0x40,0x5c,0x53,0x20,0x3a,0x5a,0x3e,0xef,0xe2,0x00,0x06,0xe8,0x42,
+0x00,0x06,0x18,0x42,0x22,0x00,0x9a,0x26,0x7e,0x00,0x20,0x40,0x03,0x5f,0x20,0x40,
+0x7d,0xb5,0x1f,0xe2,0x04,0x00,0xef,0xe2,0x00,0x06,0x1f,0xe2,0x02,0x00,0x1a,0x22,
+0x7e,0x00,0x98,0xc0,0x8c,0x00,0xd8,0xa0,0x4a,0xdd,0x18,0x42,0x72,0x00,0x20,0x40,
+0x7c,0xcf,0x20,0x40,0x5a,0x2e,0x20,0x40,0x5a,0x40,0x20,0x40,0x5c,0x53,0xef,0xe2,
+0x00,0x06,0x1f,0xe2,0x22,0x00,0x18,0xc2,0x26,0x00,0xe8,0x42,0x00,0x06,0x18,0x42,
+0x24,0x00,0x9a,0x46,0x7e,0x00,0x20,0x40,0x03,0x5f,0x20,0x40,0x7d,0xb5,0x9a,0x40,
+0xfe,0x00,0xe7,0xe2,0x00,0x13,0x9a,0x26,0x7c,0x00,0x24,0x62,0x80,0x00,0x20,0x20,
+0x5c,0x76,0x18,0xc2,0x0a,0x00,0x68,0x44,0x4a,0xd9,0x18,0xa2,0x0c,0x00,0x20,0x60,
+0x00,0x00,0x6f,0xe2,0x4b,0xed,0x24,0x3a,0x5a,0x41,0x60,0x42,0x4a,0xdc,0x68,0x42,
+0x04,0x52,0x79,0x20,0x04,0x05,0x18,0x41,0x7e,0xfc,0x98,0x21,0xfe,0x00,0x67,0xe2,
+0x04,0x52,0x1f,0xe1,0x7e,0x1f,0x28,0x0f,0xfe,0x29,0x79,0x20,0xfe,0x04,0x67,0xe2,
+0x4a,0xdb,0x6f,0xe2,0x4a,0xdb,0x28,0x20,0x06,0x01,0x24,0x20,0x83,0x74,0x6f,0xe2,
+0x4a,0xdc,0x20,0x7a,0x00,0x00,0x6f,0xe2,0x04,0x3b,0xc4,0x02,0x00,0x00,0x20,0x40,
+0x73,0x42,0x20,0x20,0x72,0x99,0x6f,0xe2,0x4b,0xed,0x24,0x3a,0x72,0x9a,0xda,0x60,
+0x4a,0xdb,0x68,0x4a,0x43,0xd5,0x20,0x40,0x72,0x77,0x18,0x00,0x70,0x08,0x98,0x00,
+0x5e,0x00,0x18,0x00,0x22,0x00,0x20,0x40,0x72,0x63,0x20,0x40,0x72,0xe8,0xda,0x60,
+0x4a,0xdd,0x6f,0xe2,0x4a,0xdc,0x1f,0xe0,0xa5,0xff,0x9a,0x60,0x8a,0x00,0x18,0x00,
+0x70,0x0c,0x1d,0xe2,0x7e,0x00,0xe7,0xe8,0x00,0x05,0x20,0x40,0x72,0x8e,0x6f,0xe2,
+0x4a,0xdc,0x1f,0xe0,0xfe,0x04,0x67,0xe2,0x4a,0xdc,0x68,0x4a,0x43,0xd5,0x18,0x40,
+0x84,0x01,0x60,0x4a,0x43,0xd5,0x20,0x60,0x00,0x00,0xc6,0x07,0x80,0x00,0xc6,0x16,
+0x00,0x00,0x20,0x40,0x5c,0x70,0x24,0x7a,0x00,0x00,0x6f,0xe2,0x02,0xd5,0x1f,0xe1,
+0x7e,0x03,0x67,0xe2,0x44,0xde,0xef,0xe2,0x00,0x06,0x67,0xe2,0x44,0xdd,0x20,0x7a,
+0x00,0x00,0x18,0xc2,0x7e,0x00,0x67,0xe4,0x44,0xdf,0x6f,0xe2,0x44,0xde,0xc0,0x01,
+0x83,0xd2,0x20,0x40,0x03,0xa4,0xd8,0xe0,0x00,0x03,0x24,0x34,0x4b,0xec,0x20,0x40,
+0x4b,0xf0,0x20,0x20,0x5a,0x6b,0x6f,0xe2,0x44,0xde,0xc0,0x01,0x03,0xa8,0xc0,0x00,
+0x83,0xbc,0x20,0x60,0x00,0x00,0x6f,0xe4,0x44,0xdf,0x1f,0xe2,0x0c,0x00,0xef,0xe4,
+0x00,0x06,0x67,0xe4,0x44,0xce,0xef,0xe4,0x00,0x06,0x20,0x40,0x5a,0x7a,0x24,0x74,
+0x00,0x00,0x68,0x42,0x44,0xdd,0x60,0x42,0x44,0xd0,0x6f,0xe4,0x44,0xce,0x1f,0xe0,
+0xfe,0x04,0x98,0x46,0x7c,0x00,0x20,0x22,0xfd,0xbf,0x6f,0xe2,0x44,0xdd,0x1f,0xe2,
+0x72,0x00,0xd8,0xa0,0x0d,0x7d,0x6f,0xe4,0x44,0xdf,0x1f,0xe2,0x0c,0x00,0x20,0x40,
+0x7c,0xdc,0x20,0x20,0x7d,0xc1,0x20,0x40,0x5a,0x99,0x24,0x74,0x00,0x00,0x6f,0xe2,
+0x44,0xd0,0xd8,0xa0,0x0d,0x7d,0x98,0xa0,0xa2,0x00,0x68,0x42,0x44,0xdd,0x98,0x40,
+0xfe,0x00,0x67,0xe2,0x44,0xd0,0x6f,0xe2,0x44,0xdd,0x1f,0xe2,0x72,0x00,0x1a,0x22,
+0x0a,0x00,0x6f,0xe4,0x44,0xdf,0x1f,0xe2,0x0c,0x00,0x20,0x40,0x7c,0xcf,0x58,0x00,
+0x0d,0x7d,0x67,0xe4,0x44,0xdf,0x6f,0xe4,0x44,0xce,0x1f,0xe0,0xfe,0x04,0x68,0x42,
+0x44,0xd0,0x98,0x46,0x7c,0x00,0x20,0x22,0xfd,0xbf,0x20,0x20,0x7d,0xc1,0x6f,0xe2,
+0x02,0xd7,0xc0,0x04,0x03,0xd6,0xc0,0x0a,0x03,0xe4,0x20,0x20,0x60,0x45,0xda,0x20,
+0x00,0x09,0xda,0x40,0x00,0x09,0x20,0x40,0x5c,0x22,0x58,0x00,0x00,0x21,0xe7,0xf0,
+0x00,0x05,0x20,0x40,0x03,0xdd,0x20,0x60,0x00,0x00,0x6f,0xe2,0x02,0xd8,0x1f,0xe1,
+0x7e,0x20,0x20,0x3a,0x03,0xe2,0x70,0x4b,0xed,0x00,0x20,0x60,0x00,0x00,0x70,0x4b,
+0xed,0x01,0x20,0x60,0x00,0x00,0xef,0xe4,0x00,0x06,0x67,0xe4,0x4a,0xd9,0x20,0x20,
+0x03,0xe7,0xda,0x20,0x00,0x09,0xda,0x40,0x00,0x15,0x20,0x40,0x5c,0x22,0x58,0x00,
+0x00,0xfb,0xe7,0xe4,0x00,0x05,0x58,0x00,0x08,0x48,0xe7,0xe4,0x00,0x05,0x58,0x00,
+0x00,0xfb,0xe7,0xe4,0x00,0x05,0x58,0x00,0x08,0x48,0xe7,0xe4,0x00,0x05,0x20,0x60,
+0x00,0x00,0xef,0xe4,0x00,0x06,0xc0,0x02,0x03,0xf8,0xc0,0x03,0x5e,0xd4,0xc0,0x02,
+0xde,0x96,0x20,0x60,0x00,0x00,0xef,0xe6,0x00,0x06,0x67,0xe6,0x04,0x73,0xc0,0x08,
+0x03,0xff,0xc0,0x04,0x04,0x08,0x20,0x20,0x5c,0x8d,0xd8,0xe0,0x00,0x07,0x20,0x20,
+0x50,0xe2,0x20,0x40,0x5e,0x91,0x20,0x40,0x5a,0xb3,0xd9,0x60,0x00,0x01,0x20,0x20,
+0x5d,0xde,0xd8,0xe0,0x00,0x07,0x20,0x20,0x50,0xe6,0x20,0x40,0x5c,0xa9,0x67,0xe4,
+0x44,0x78,0x20,0x20,0x5c,0xa2,0x20,0x40,0x5e,0x91,0x20,0x40,0x5a,0xbb,0x20,0x20,
+0x04,0x0b,0x68,0x44,0x44,0x2c,0x60,0x44,0x0a,0x9e,0x20,0x40,0x5b,0x36,0x20,0x40,
+0x5b,0x4d,0x18,0xc0,0x8d,0xfe,0x18,0xc2,0x7e,0x00,0x67,0xe4,0x04,0x98,0x68,0x44,
+0x44,0x44,0x58,0x00,0x2a,0x00,0x98,0x46,0x7c,0x00,0x20,0x22,0x84,0x17,0x20,0x20,
+0x5d,0x2d,0xd8,0x40,0x2a,0x00,0x20,0x40,0x5b,0x5c,0x20,0x3a,0x5e,0x56,0x20,0x20,
+0x5d,0x8b,0x6f,0xe2,0x4b,0xed,0x24,0x3a,0x5b,0xd5,0x78,0x55,0xfc,0x00,0x20,0x37,
+0x04,0x20,0x24,0x36,0xdb,0xe6,0x20,0x40,0x4b,0xa0,0x6f,0xe4,0x40,0xc1,0x67,0xe4,
+0x04,0x49,0x24,0x36,0xcb,0xb3,0xc5,0x07,0xcb,0xb3,0x6f,0xe2,0x44,0xdd,0x24,0x3a,
+0x4b,0xb3,0x6f,0xe2,0x4a,0xdc,0x24,0x3a,0x4b,0xb3,0x6f,0xe2,0x44,0xbb,0xc2,0x82,
+0xcb,0xb3,0x6f,0xe2,0x04,0x3b,0xc2,0x82,0xcb,0xb3,0x20,0x20,0x4b,0x95,0x6f,0xe2,
+0x00,0x7d,0xc0,0x08,0x04,0x32,0xc0,0x0b,0x84,0x38,0x20,0x20,0x60,0xfe,0x68,0x42,
+0x05,0x4e,0x18,0x46,0x7c,0x06,0x20,0x21,0x04,0x36,0x20,0x20,0x62,0x06,0x70,0x00,
+0x7e,0x24,0x20,0x20,0x61,0x34,0x20,0x20,0x62,0xb8,0x78,0x54,0x7c,0x00,0x20,0x40,
+0x66,0xa3,0x6f,0xe2,0x00,0x48,0x20,0x7a,0x00,0x00,0xc2,0x83,0x84,0x3f,0x20,0x20,
+0x63,0xf2,0xc0,0x42,0x04,0x42,0xc0,0x41,0x84,0x45,0x20,0x20,0x64,0x21,0x20,0x40,
+0x04,0x48,0x6f,0xe2,0x00,0x48,0x20,0x20,0x64,0x7b,0x20,0x40,0x04,0x48,0x6f,0xe2,
+0x00,0x48,0x20,0x20,0x64,0xef,0x6f,0xe2,0x46,0x2c,0x20,0x3a,0x65,0x0d,0x20,0x20,
+0x65,0x06,0x6f,0xe2,0x40,0x9e,0x79,0x3f,0xfe,0x03,0x67,0xe2,0x40,0x9e,0x58,0x00,
+0x00,0x01,0x67,0xe4,0x04,0xca,0x20,0x60,0x00,0x00,0x58,0x00,0x00,0x00,0x67,0xe2,
+0x42,0x26,0x67,0xe2,0x45,0x36,0x67,0xe2,0x45,0x2f,0x6f,0xe2,0x45,0x3d,0xc0,0x00,
+0xe8,0xd7,0x70,0x45,0x3b,0x85,0x20,0x60,0x00,0x00,0x6f,0xe2,0x04,0xf9,0xc0,0x1f,
+0xe9,0x3e,0xc0,0x39,0xe9,0x47,0xc0,0x77,0x84,0x5f,0xc0,0x29,0xea,0x05,0x20,0x60,
+0x00,0x00,0x6f,0xe4,0x04,0xfd,0x1f,0xe2,0x0c,0x00,0x20,0x40,0x69,0x84,0x6f,0xe2,
+0x04,0xff,0xc0,0x20,0xe9,0x66,0xc0,0x20,0x69,0x6e,0xc0,0x38,0xe9,0xa7,0xc0,0x38,
+0x04,0x69,0xc0,0x24,0xe9,0xbe,0x20,0x20,0x6a,0x58,0x70,0x0a,0x95,0x08,0x20,0x40,
+0x7b,0xab,0x20,0x40,0x69,0x72,0x20,0x20,0x69,0xba,0x6f,0xe2,0x44,0x90,0x20,0x3a,
+0x5e,0xd0,0x20,0x40,0x74,0x38,0x20,0x20,0x79,0x32,0x2b,0xbc,0xaa,0x55,0x40,0x00,
+0x00,0x40,0x03,0x00,0x00,0x00,0x00,0x00,0x10,0x20,0x00,0x00,0x20,0x00,0x01,0x00,
+0x00,0x00,0x20,0x22,0x10,0x00,0x0c,0x12,0x00,0x39,0x00,0x00,0x00,0x08,0x00,0x08,
+0x22,0x00,0xe8,0x09,0x18,0xd0,0x04,0x00,0x04,0x44,0x02,0x00,0x05,0x00,0x00,0x00,
+0x00,0x00,0x00,0x20,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0xaa,0x55,0x01,0x00,0x92,0x40,0x0a,0xaa,0x55,0x01,0x00,0x54,0x46,0x40,
+0xaa,0x55,0x01,0x00,0x06,0x42,0x13,0xaa,0x55,0x01,0x00,0x5b,0x41,0x01,0xaa,0x55,
+0x08,0x00,0x98,0x40,0xff,0xfb,0x8f,0xfa,0x8b,0x85,0x59,0x83,0xaa,0x55,0x03,0x00,
+0x14,0x42,0x25,0x4a,0x05,0xaa,0x55,0x04,0x00,0x3d,0x45,0x00,0x94,0x02,0x05,0xaa,
+0x55,0x03,0x00,0x2d,0x46,0x03,0x00,0x04,0xaa,0x55,0x01,0x00,0x2c,0x46,0x01,0xaa,
+0x55,0x06,0x00,0x57,0x46,0x04,0x30,0x30,0x30,0x30,0x30,0xaa,0x55,0x10,0x00,0xf0,
+0x4f,0x00,0x1c,0xff,0x1f,0x00,0x1c,0x00,0x1c,0x00,0x4c,0xe0,0x4f,0x00,0x4c,0x00,
+0x4c,0xaa,0x55,0x03,0x00,0xef,0x4b,0x00,0x80,0x02,0xaa,0x55,0x02,0x00,0x68,0x46,
+0x10,0x01,0xaa,0x55,0x01,0x00,0x6c,0x46,0x03,0xaa,0x55,0x01,0x00,0x6f,0x46,0x07,
+0xaa,0x55,0x03,0x00,0xaa,0x40,0x24,0x04,0x04,0xaa,0x55,0x01,0x00,0x79,0x46,0x00,
+0xaa,0x55,0x01,0x00,0xcf,0x4a,0x00,0xaa,0x55,0x01,0x00,0x91,0x40,0x00,0xaa,0x55,
+0x03,0x00,0x54,0x41,0x00,0x01,0x08,0xaa,0x55,0x01,0x00,0x74,0x41,0x02,0xaa,0x55,
+0x01,0x00,0x93,0x40,0x00,0xaa,0x55,0x01,0x00,0x6d,0x46,0x28,0xaa,0x55,0x06,0x00,
+0xa0,0x40,0xa7,0x2a,0x2a,0x21,0x10,0x55,0xaa,0x55,0x0f,0x00,0xe7,0x44,0x0e,0x33,
+0x31,0x32,0x31,0x20,0x4d,0x6f,0x75,0x20,0x42,0x74,0x31,0x32,0x31,0xaa,0x55,0x03,
+0x00,0xe4,0x41,0x20,0x00,0x02,0xaa,0x55,0x01,0x00,0xe8,0x41,0x01,0xaa,0x55,0x01,
+0x00,0x90,0x44,0x00,0xaa,0x55,0x01,0x00,0x5f,0x44,0x07,0xaa,0x55,0x01,0x00,0x98,
+0x44,0x00,0xaa,0x55,0x04,0x00,0x75,0x46,0x2d,0x00,0x2f,0x00,0xaa,0x55,0x01,0x00,
+0x40,0x43,0x00,0xaa,0x55,0x02,0x00,0x54,0x44,0x40,0x00,0xaa,0x55,0x01,0x00,0x6e,
+0x46,0x05,0xaa,0x55,0x06,0x00,0x72,0x44,0x21,0x22,0x01,0x33,0x02,0x3a,0xaa,0x55,
+0x0d,0x00,0x81,0x43,0x0c,0x33,0x31,0x32,0x31,0x20,0x4d,0x6f,0x75,0x20,0x42,0x6c,
+0x65,0xaa,0x55,0x04,0x00,0x41,0x43,0x03,0x02,0x01,0x02,0xaa,0x55,0x12,0x00,0x61,
+0x43,0x0e,0x02,0x01,0x02,0x0d,0x09,0x33,0x31,0x32,0x31,0x20,0x4d,0x6f,0x75,0x20,
+0x42,0x6c,0x65,0xaa,0x55,0x07,0x00,0x25,0x44,0x02,0x03,0x00,0x05,0x10,0x02,0x03,
+0xaa,0x55,0x08,0x00,0x68,0x44,0x08,0x00,0x10,0x00,0x00,0x00,0x2c,0x01,0xaa,0x55,
+0x01,0x00,0x78,0x44,0xf0,0xaa,0x55,0x01,0x00,0x7a,0x44,0x17,0xaa,0x55,0x02,0x00,
+0xcc,0x44,0x31,0x00,0xaa,0x55,0x01,0x00,0xd1,0x40,0x01,0xaa,0x55,0x0c,0x00,0x49,
+0x45,0x05,0x03,0x00,0x12,0x00,0x01,0x01,0x00,0x01,0x11,0x03,0x00,0xaa,0x55,0x12,
+0x00,0x5f,0x45,0x01,0x07,0x00,0x00,0x00,0x00,0xde,0xca,0xfa,0xde,0xde,0xca,0xde,
+0xaf,0xde,0xca,0xca,0xff,0xaa,0x55,0x02,0x00,0x47,0x45,0x83,0x46,0xaa,0x55,0xb8,
+0x00,0x83,0x46,0x03,0x12,0x00,0x01,0x00,0x00,0x01,0x00,0x01,0x00,0x01,0x36,0x00,
+0x52,0x09,0x00,0x00,0x0a,0x00,0x01,0x00,0x01,0x09,0x00,0x01,0x35,0x03,0x19,0x12,
+0x00,0x09,0x00,0x04,0x35,0x0d,0x35,0x06,0x19,0x01,0x00,0x09,0x00,0x01,0x35,0x03,
+0x19,0x00,0x01,0x09,0x00,0x09,0x35,0x08,0x35,0x06,0x19,0x12,0x00,0x09,0x01,0x00,
+0x09,0x02,0x00,0x09,0x01,0x03,0x09,0x02,0x01,0x09,0x05,0xac,0x09,0x02,0x02,0x09,
+0x02,0x39,0x09,0x02,0x03,0x09,0x06,0x44,0x09,0x02,0x04,0x28,0x01,0x09,0x02,0x05,
+0x09,0x00,0x02,0x03,0x11,0x01,0x00,0x03,0x01,0x00,0x00,0x01,0x00,0x03,0x36,0x00,
+0x46,0x09,0x00,0x00,0x0a,0x00,0x01,0x00,0x03,0x09,0x00,0x01,0x35,0x03,0x19,0x11,
+0x01,0x09,0x00,0x02,0x0a,0x00,0x00,0x00,0x00,0x09,0x00,0x04,0x35,0x0c,0x35,0x03,
+0x19,0x01,0x00,0x35,0x05,0x19,0x00,0x03,0x08,0x01,0x09,0x00,0x06,0x35,0x09,0x09,
+0x65,0x6e,0x09,0x00,0x6a,0x09,0x01,0x00,0x09,0x01,0x00,0x25,0x0a,0x53,0x50,0x50,
+0x20,0x73,0x6c,0x61,0x76,0x65,0x00,0x00,0x00,0x01,0x00,0xaa,0x55,0x02,0x00,0x8e,
+0x44,0xaf,0x47,0xaa,0x55,0x4e,0x01,0xaf,0x47,0x01,0x00,0x02,0x00,0x28,0x02,0x01,
+0x18,0x02,0x00,0x02,0x03,0x28,0x01,0x20,0x03,0x00,0x02,0x05,0x2a,0x01,0x00,0x04,
+0x00,0x02,0x02,0x29,0x02,0x01,0x00,0x05,0x00,0x02,0x00,0x28,0x02,0x00,0x18,0x06,
+0x00,0x02,0x03,0x28,0x01,0x4e,0x07,0x00,0x02,0x00,0x2a,0x13,0x41,0x73,0x74,0x20,
+0x4c,0x45,0x20,0x4d,0x6f,0x75,0x73,0x65,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x08,
+0x00,0x02,0x03,0x28,0x01,0x4e,0x09,0x00,0x02,0x01,0x2a,0x02,0x00,0x00,0x0a,0x00,
+0x02,0x03,0x28,0x01,0x02,0x0b,0x00,0x02,0x04,0x2a,0x08,0x10,0x00,0x20,0x00,0x05,
+0x00,0x2c,0x01,0x0c,0x00,0x02,0x00,0x28,0x10,0x55,0xe4,0x05,0xd2,0xaf,0x9f,0xa9,
+0x8f,0xe5,0x4a,0x7d,0xfe,0x43,0x53,0x53,0x49,0x0d,0x00,0x02,0x03,0x28,0x01,0x12,
+0x0e,0x00,0x10,0x16,0x96,0x24,0x47,0xc6,0x23,0x61,0xba,0xd9,0x4b,0x4d,0x1e,0x43,
+0x53,0x53,0x49,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0x00,0x02,0x02,0x29,0x02,0x00,0x00,
+0x10,0x00,0x02,0x03,0x28,0x01,0x08,0x11,0x00,0x10,0xb3,0x9b,0x72,0x34,0xbe,0xec,
+0xd4,0xa8,0xf4,0x43,0x41,0x88,0x43,0x53,0x53,0x49,0x14,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x12,
+0x00,0x02,0x03,0x28,0x01,0x04,0x13,0x00,0x10,0xfe,0x69,0xca,0x9a,0x56,0x19,0xf6,
+0xab,0x02,0x4d,0xaa,0x6d,0x43,0x53,0x53,0x49,0x14,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x14,0x00,
+0x02,0x03,0x28,0x01,0x1a,0x15,0x00,0x10,0x18,0x03,0xa6,0x28,0x5e,0xd8,0xec,0x91,
+0x1c,0x48,0xa3,0xac,0x43,0x53,0x53,0x49,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x16,0x00,0x02,
+0x02,0x29,0x02,0x00,0x00,0x00,0x00,0xaa,0x55,0x07,0x00,0x76,0x41,0x0f,0x84,0xf0,
+0x0a,0x0b,0xb2,0x32,0xaa,0x55,0x02,0x00,0x57,0x41,0x8b,0x0b,0xaa,0x55,0x08,0x00,
+0xa1,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xaa,0x55,0x02,0x00,0xbd,0x40,
+0x02,0x24,0xaa,0x55,0x08,0x00,0xad,0x40,0x40,0x00,0x00,0x02,0x32,0x00,0x00,0x02,
+0xaa,0x55,0x02,0x00,0xbb,0x40,0x20,0x00,0xaa,0x55,0x04,0x00,0xb7,0x40,0x20,0x00,
+0x00,0x20,0xaa,0x55,0x04,0x00,0xbf,0x40,0x80,0x04,0x00,0x10,0xaa,0x55,0x05,0x00,
+0xe2,0x44,0x08,0x0e,0x05,0x04,0x00,0xaa,0x55,0x02,0x00,0x02,0x42,0x30,0x1f,0xaa,
+0x55,0x01,0x00,0x10,0x42,0x20,0xaa,0x55,0x01,0x00,0xe0,0x41,0x01,0xaa,0x55,0x0f,
+0x00,0xde,0x4b,0x4b,0xba,0x55,0xd0,0x56,0xe0,0x57,0x88,0x58,0x6c,0x59,0x10,0x07,
+0xff,0xff,0xaa,0x55,0x02,0x00,0xc3,0x40,0xde,0x4b,0x31,0x05
+};
Index: muyu/output/eeprom.dat
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/BT_code_patch/print/branches/muyu/output/eeprom.dat	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/BT_code_patch/print/branches/muyu/output/eeprom.dat	(working copy)
@@ -0,0 +1,5788 @@
+00
+02
+aa
+55
+c6
+11
+c2
+84
+00
+18
+c0
+00
+00
+5a
+c0
+00
+80
+be
+c0
+1a
+00
+56
+c0
+1e
+80
+43
+c0
+2a
+80
+2d
+c0
+30
+00
+6d
+c0
+42
+80
+c4
+c0
+44
+80
+e5
+c0
+46
+80
+62
+c0
+4a
+00
+a4
+c0
+51
+00
+ee
+c0
+51
+80
+af
+c0
+54
+80
+b2
+c0
+56
+00
+f5
+c0
+5c
+00
+f6
+c0
+5d
+81
+86
+c0
+5e
+01
+fe
+c0
+5e
+82
+1f
+c0
+6d
+82
+34
+c0
+75
+82
+3b
+c0
+78
+80
+87
+c0
+7a
+80
+9c
+20
+20
+4a
+8b
+c0
+01
+82
+45
+c0
+02
+82
+51
+c0
+03
+02
+5a
+c0
+03
+82
+60
+c0
+04
+02
+69
+c0
+05
+82
+7a
+c0
+09
+82
+8a
+c0
+0a
+03
+25
+c0
+0e
+03
+3a
+c0
+0f
+03
+63
+c0
+0f
+83
+91
+c0
+11
+03
+f3
+c0
+19
+04
+1b
+c0
+1d
+04
+2e
+c0
+1f
+04
+39
+c0
+20
+84
+4b
+c0
+28
+04
+51
+c0
+29
+04
+59
+c0
+46
+83
+78
+c0
+4c
+84
+6d
+20
+20
+4a
+8b
+6f
+e2
+00
+19
+1f
+e2
+02
+00
+c5
+05
+45
+57
+68
+42
+01
+5c
+6f
+e2
+00
+47
+79
+3f
+fe
+00
+28
+4f
+fe
+00
+79
+20
+fe
+00
+28
+4f
+fe
+01
+79
+20
+fe
+01
+67
+e2
+00
+47
+28
+4c
+00
+01
+20
+20
+c5
+57
+20
+40
+00
+3c
+20
+20
+45
+57
+6f
+e2
+00
+47
+c4
+01
+80
+00
+79
+3f
+fe
+03
+79
+40
+7e
+06
+67
+e2
+00
+47
+70
+4b
+ee
+01
+20
+60
+00
+00
+20
+40
+4c
+24
+20
+40
+6b
+69
+20
+40
+45
+10
+6f
+e2
+4b
+ee
+24
+5a
+00
+54
+24
+36
+c3
+de
+20
+40
+4a
+87
+20
+40
+6b
+81
+20
+40
+44
+85
+20
+40
+47
+53
+20
+40
+47
+24
+20
+40
+60
+e9
+6f
+e2
+00
+0b
+1f
+e0
+fe
+01
+67
+e2
+00
+0b
+20
+40
+48
+3d
+20
+20
+43
+de
+70
+4b
+ee
+00
+20
+20
+46
+89
+6f
+e2
+00
+4c
+79
+3f
+fe
+02
+67
+e2
+00
+4c
+20
+20
+43
+2f
+6f
+e2
+89
+73
+79
+20
+7e
+06
+67
+e2
+89
+73
+70
+4b
+f3
+01
+1c
+e2
+7e
+00
+24
+3a
+40
+02
+70
+4b
+f3
+00
+20
+20
+40
+02
+6f
+e2
+40
+ce
+79
+3f
+fe
+05
+1f
+e6
+7c
+09
+20
+21
+00
+69
+1f
+e6
+7c
+0f
+24
+21
+00
+6b
+20
+20
+49
+ab
+70
+40
+ce
+09
+20
+20
+49
+ab
+70
+40
+ce
+0f
+20
+20
+49
+ab
+6f
+e2
+02
+5d
+c0
+00
+80
+71
+c0
+01
+00
+7c
+20
+20
+4a
+8b
+6f
+e4
+02
+59
+68
+44
+01
+5d
+98
+40
+fe
+00
+67
+e4
+02
+59
+1f
+e6
+7c
+00
+20
+22
+ca
+8b
+68
+44
+10
+00
+18
+40
+84
+04
+98
+46
+7c
+00
+20
+42
+c7
+43
+20
+20
+46
+09
+6f
+e4
+02
+5b
+68
+44
+01
+5d
+98
+40
+fe
+00
+67
+e4
+02
+5b
+1f
+e6
+7c
+00
+20
+22
+ca
+8b
+68
+44
+14
+00
+18
+40
+84
+04
+98
+46
+7c
+00
+20
+42
+c7
+47
+20
+20
+46
+09
+79
+3f
+80
+2c
+70
+44
+e1
+00
+20
+40
+79
+64
+20
+40
+5f
+f8
+78
+57
+7c
+00
+20
+40
+5a
+c0
+20
+21
+57
+83
+20
+40
+4c
+27
+20
+40
+57
+ed
+20
+40
+58
+63
+24
+2c
+57
+75
+20
+56
+83
+10
+6f
+e2
+4b
+f4
+24
+5a
+00
+99
+20
+40
+57
+91
+20
+36
+d7
+62
+c5
+16
+57
+62
+20
+20
+57
+6f
+79
+20
+00
+2c
+78
+56
+fc
+00
+20
+60
+00
+00
+78
+37
+7c
+00
+20
+40
+58
+9b
+20
+56
+83
+10
+6f
+e2
+4b
+f4
+24
+5a
+00
+99
+20
+36
+d7
+62
+c5
+16
+57
+62
+20
+20
+57
+6f
+18
+42
+7e
+00
+20
+40
+7d
+2b
+1c
+30
+7e
+00
+79
+20
+7e
+2c
+20
+40
+7d
+14
+79
+3f
+fe
+2c
+20
+40
+4a
+76
+20
+40
+7d
+14
+20
+74
+00
+00
+20
+40
+00
+bb
+20
+20
+4a
+2f
+1b
+42
+7e
+00
+20
+40
+00
+ba
+20
+20
+4a
+e9
+6f
+e4
+40
+4e
+1f
+e3
+7e
+00
+20
+40
+7d
+2b
+1e
+02
+7e
+00
+20
+40
+7d
+14
+1b
+42
+04
+00
+20
+40
+00
+ba
+20
+20
+4b
+67
+20
+40
+7d
+14
+98
+00
+0c
+00
+79
+3f
+8c
+10
+20
+20
+7d
+1f
+20
+40
+68
+c4
+20
+40
+60
+d7
+20
+40
+00
+c2
+20
+20
+40
+0a
+20
+75
+80
+00
+20
+20
+7b
+9a
+20
+30
+80
+d4
+70
+89
+55
+d4
+20
+00
+00
+04
+70
+89
+55
+d2
+20
+00
+00
+04
+70
+89
+55
+d1
+20
+00
+00
+04
+6f
+e2
+41
+df
+c0
+00
+00
+d2
+c0
+00
+80
+e2
+c0
+01
+00
+d2
+c0
+01
+80
+e2
+c0
+02
+00
+e2
+c0
+10
+00
+e2
+70
+89
+55
+d0
+70
+89
+56
+e0
+18
+00
+2a
+08
+18
+00
+2a
+00
+78
+50
+fc
+00
+78
+50
+7c
+00
+78
+2f
+7c
+00
+70
+89
+02
+00
+70
+89
+01
+00
+70
+89
+00
+00
+70
+89
+03
+00
+70
+89
+04
+70
+6f
+e2
+89
+06
+79
+20
+7e
+00
+67
+e2
+89
+06
+20
+60
+00
+00
+70
+89
+55
+d0
+70
+89
+56
+c0
+20
+20
+00
+d4
+60
+42
+00
+17
+20
+40
+49
+2a
+20
+40
+49
+80
+58
+00
+05
+00
+20
+40
+4a
+8e
+6f
+e2
+89
+06
+79
+20
+7e
+00
+67
+e2
+89
+06
+20
+20
+49
+37
+70
+89
+06
+7c
+20
+75
+80
+00
+58
+00
+00
+00
+67
+e4
+41
+dd
+1c
+43
+7e
+00
+67
+e8
+40
+94
+20
+60
+00
+00
+20
+20
+4b
+7f
+58
+00
+01
+08
+67
+e4
+41
+f4
+58
+00
+01
+27
+67
+e4
+41
+f6
+58
+00
+01
+3b
+67
+e4
+41
+fe
+58
+00
+01
+45
+67
+e4
+41
+fa
+58
+00
+01
+5a
+67
+e4
+41
+ea
+58
+00
+01
+6c
+67
+e4
+41
+f2
+58
+00
+01
+75
+67
+e4
+45
+41
+20
+40
+4d
+af
+20
+40
+4d
+bc
+20
+40
+4c
+2a
+20
+20
+50
+4d
+20
+40
+01
+71
+20
+40
+56
+48
+24
+7a
+00
+00
+20
+20
+4e
+3d
+68
+44
+4f
+f4
+6f
+e4
+4f
+f6
+98
+46
+7e
+00
+20
+62
+80
+00
+20
+20
+01
+0c
+20
+40
+01
+0c
+58
+00
+18
+00
+67
+e4
+4f
+f0
+67
+e4
+4f
+f4
+67
+e4
+4f
+f6
+6f
+e4
+4f
+f2
+67
+e4
+80
+4a
+6f
+e4
+4f
+f0
+67
+e4
+80
+48
+1f
+e2
+14
+00
+20
+60
+00
+00
+20
+40
+01
+0c
+58
+00
+1c
+00
+67
+e4
+4f
+f0
+67
+e4
+4f
+f4
+67
+e4
+4f
+f6
+6f
+e4
+4f
+f2
+67
+e4
+80
+4a
+6f
+e4
+4f
+f0
+67
+e4
+80
+48
+1f
+e2
+14
+00
+20
+60
+00
+00
+1a
+62
+7e
+00
+c0
+04
+81
+31
+c0
+01
+01
+2f
+c0
+0a
+01
+38
+c0
+04
+01
+2d
+20
+20
+4d
+df
+20
+40
+01
+11
+20
+20
+4e
+02
+70
+4a
+d0
+00
+20
+20
+4d
+fb
+6f
+e2
+4a
+cf
+24
+5a
+01
+36
+20
+40
+01
+1c
+70
+4a
+d0
+06
+20
+20
+4e
+08
+70
+4a
+d0
+06
+20
+60
+00
+00
+20
+40
+01
+1c
+20
+40
+03
+fd
+20
+20
+4e
+28
+20
+40
+01
+3d
+20
+20
+50
+c3
+6f
+e2
+4a
+d0
+20
+7a
+00
+00
+1f
+e0
+ff
+ff
+67
+e2
+4a
+d0
+24
+7a
+00
+00
+6f
+e4
+46
+52
+c2
+80
+4d
+64
+20
+60
+00
+00
+20
+40
+4f
+11
+20
+74
+00
+00
+1a
+22
+7e
+00
+67
+e4
+46
+71
+20
+40
+01
+51
+67
+e2
+46
+70
+68
+44
+04
+74
+60
+44
+46
+73
+20
+40
+5b
+6c
+24
+3a
+4a
+8b
+6f
+e2
+04
+9e
+20
+20
+50
+42
+6f
+e2
+4b
+ed
+24
+3a
+01
+55
+1f
+22
+7e
+00
+20
+60
+00
+00
+1a
+42
+7e
+00
+20
+60
+00
+00
+ef
+e2
+00
+03
+67
+e2
+4b
+f2
+20
+20
+50
+1f
+20
+40
+02
+de
+24
+34
+01
+6a
+6f
+e2
+4b
+f2
+1f
+e2
+0e
+00
+6f
+ec
+81
+0e
+af
+ef
+ff
+ff
+20
+20
+81
+6a
+6f
+e2
+4b
+f3
+24
+3a
+01
+6a
+6f
+e2
+4f
+ef
+c0
+00
+81
+6a
+6f
+e2
+44
+96
+c0
+80
+01
+68
+20
+20
+4d
+4d
+c0
+7f
+cd
+4d
+20
+20
+01
+6a
+20
+40
+67
+bc
+20
+20
+4d
+4b
+20
+40
+01
+74
+20
+40
+01
+71
+20
+40
+56
+48
+24
+7a
+00
+00
+20
+20
+4e
+3d
+20
+40
+03
+10
+20
+21
+4d
+54
+20
+20
+4d
+56
+20
+60
+00
+00
+20
+40
+4d
+d7
+70
+0a
+ff
+07
+6f
+e4
+04
+fb
+20
+7a
+00
+00
+1f
+e2
+72
+00
+6f
+e4
+04
+fb
+9f
+26
+7e
+00
+67
+e4
+04
+fb
+1f
+22
+7e
+00
+20
+40
+02
+2a
+6f
+e4
+04
+fd
+1f
+e2
+0c
+00
+20
+40
+67
+c1
+18
+c2
+7e
+00
+67
+e4
+04
+fd
+20
+40
+67
+b9
+20
+20
+01
+76
+6f
+e2
+0a
+ff
+c0
+13
+81
+fc
+c0
+06
+01
+93
+c0
+3b
+01
+9c
+c0
+3b
+81
+a2
+c0
+3c
+01
+a8
+c0
+0a
+81
+e5
+c0
+7f
+01
+e8
+c0
+20
+01
+57
+c0
+7f
+81
+91
+20
+20
+4e
+5c
+70
+4b
+f3
+00
+20
+20
+50
+0c
+1a
+22
+06
+00
+ef
+e2
+00
+03
+c0
+00
+4f
+1c
+c0
+00
+cf
+1f
+c0
+01
+4f
+25
+c0
+01
+81
+9a
+20
+20
+50
+1c
+58
+00
+00
+01
+20
+20
+4f
+20
+d8
+40
+00
+01
+20
+40
+5b
+4d
+18
+c0
+8b
+fe
+58
+00
+00
+00
+e7
+e4
+00
+05
+20
+20
+50
+1f
+d8
+40
+00
+01
+20
+40
+01
+ac
+20
+40
+01
+cb
+58
+00
+00
+00
+e7
+e4
+00
+05
+20
+20
+01
+de
+ef
+e2
+00
+03
+20
+40
+01
+b0
+20
+40
+01
+b7
+20
+20
+01
+de
+20
+40
+01
+cf
+58
+28
+00
+02
+e7
+e6
+00
+05
+20
+60
+00
+00
+67
+e2
+0a
+96
+20
+40
+01
+cf
+59
+28
+03
+02
+e7
+e8
+00
+05
+6f
+e2
+0a
+96
+e7
+e6
+00
+05
+20
+60
+00
+00
+20
+40
+01
+cf
+20
+40
+01
+cb
+20
+40
+01
+cb
+58
+00
+00
+00
+e7
+e4
+00
+05
+18
+40
+85
+ff
+20
+40
+5b
+4d
+18
+c0
+8c
+04
+ef
+e2
+00
+06
+c2
+82
+01
+c4
+c2
+82
+81
+c4
+18
+40
+84
+01
+20
+60
+00
+00
+20
+40
+01
+cf
+5a
+29
+02
+02
+e7
+e8
+00
+05
+58
+00
+01
+00
+e7
+e8
+00
+05
+18
+40
+85
+ff
+20
+60
+00
+00
+ef
+e2
+00
+03
+1f
+e2
+72
+00
+e7
+e2
+00
+05
+20
+20
+67
+ed
+20
+40
+01
+d2
+e0
+44
+00
+05
+20
+60
+00
+00
+6f
+e4
+44
+8e
+98
+00
+0c
+00
+98
+00
+0a
+00
+ef
+e4
+00
+06
+20
+7a
+00
+00
+1f
+e0
+84
+01
+ef
+e2
+00
+06
+98
+c0
+8c
+00
+ef
+e2
+00
+06
+98
+c0
+8c
+00
+18
+c2
+0a
+00
+20
+20
+01
+d5
+60
+44
+0a
+9e
+70
+0a
+ff
+29
+58
+00
+00
+02
+20
+40
+50
+a5
+68
+44
+0a
+9e
+e0
+44
+00
+0a
+20
+20
+67
+b9
+ef
+e6
+00
+03
+67
+e6
+40
+aa
+20
+20
+50
+1f
+ef
+e2
+00
+03
+c0
+00
+01
+f3
+c0
+00
+81
+ed
+c0
+01
+01
+f9
+20
+20
+50
+1c
+ef
+e4
+00
+03
+1f
+e2
+24
+00
+ef
+e2
+00
+03
+1f
+e2
+22
+00
+d8
+40
+00
+00
+20
+20
+50
+2a
+ef
+e4
+00
+03
+1f
+e2
+0a
+00
+ef
+e2
+00
+03
+1f
+e2
+72
+00
+20
+40
+67
+da
+20
+20
+50
+1f
+ef
+e2
+00
+03
+1f
+e2
+2c
+00
+20
+20
+50
+1f
+20
+40
+50
+1f
+20
+20
+4d
+85
+6f
+e2
+46
+79
+c2
+81
+82
+f0
+6f
+e2
+46
+79
+c3
+83
+80
+00
+18
+40
+ff
+fd
+d8
+40
+00
+c8
+20
+40
+7d
+b5
+68
+42
+46
+7a
+20
+40
+7d
+b5
+1f
+e2
+22
+00
+18
+42
+7e
+00
+9a
+26
+7e
+00
+67
+e2
+46
+7a
+68
+44
+46
+7b
+18
+40
+85
+ff
+20
+40
+5b
+4d
+20
+3a
+02
+1b
+e8
+48
+00
+06
+59
+28
+03
+02
+98
+46
+7c
+00
+24
+22
+82
+1b
+ef
+e2
+00
+06
+c2
+82
+82
+17
+c2
+82
+4f
+01
+20
+20
+02
+1b
+20
+40
+04
+03
+68
+44
+46
+7b
+20
+40
+5e
+4d
+20
+20
+4f
+03
+70
+46
+7a
+00
+70
+0b
+01
+01
+20
+40
+50
+e0
+20
+20
+50
+1c
+6f
+e2
+0a
+ff
+67
+e4
+4b
+fa
+70
+4b
+f9
+02
+6f
+e2
+0b
+00
+67
+e4
+4b
+fb
+60
+50
+0a
+9e
+68
+50
+0a
+9e
+20
+40
+67
+b5
+6f
+e8
+4b
+f9
+e7
+e8
+00
+0a
+20
+60
+00
+00
+67
+e4
+4b
+fb
+6f
+e2
+0a
+ff
+67
+e2
+4b
+fa
+70
+4b
+f9
+02
+60
+50
+0a
+9e
+68
+50
+0a
+9e
+20
+40
+67
+b5
+6f
+e8
+4b
+f9
+e7
+e8
+00
+0a
+20
+60
+00
+00
+da
+40
+00
+00
+20
+40
+56
+48
+24
+3a
+4a
+8b
+20
+40
+56
+58
+da
+40
+0c
+00
+d8
+e0
+00
+00
+20
+20
+56
+21
+6f
+e2
+4b
+ed
+24
+3a
+57
+09
+20
+40
+57
+09
+70
+4a
+db
+01
+70
+4a
+dc
+00
+58
+00
+00
+00
+67
+f0
+4a
+d1
+58
+00
+00
+1b
+67
+e4
+4a
+d9
+20
+60
+00
+00
+20
+40
+49
+ba
+78
+23
+fc
+00
+78
+24
+fc
+00
+09
+80
+00
+08
+19
+89
+7e
+00
+67
+e2
+02
+d5
+09
+80
+00
+08
+19
+89
+7e
+00
+e7
+e2
+00
+05
+1f
+e2
+72
+00
+20
+3a
+58
+8b
+20
+20
+58
+87
+20
+40
+58
+a3
+20
+40
+49
+15
+68
+42
+00
+17
+20
+40
+49
+1c
+20
+00
+05
+dc
+20
+40
+49
+21
+78
+28
+7c
+00
+d9
+60
+15
+7c
+20
+20
+58
+69
+20
+40
+57
+af
+20
+40
+02
+5d
+20
+20
+58
+a7
+20
+36
+80
+ea
+c5
+16
+00
+ea
+20
+20
+57
+be
+6f
+e2
+4b
+ed
+24
+3a
+58
+b3
+6f
+e2
+4a
+db
+08
+00
+86
+08
+ef
+e2
+00
+06
+1f
+e2
+72
+00
+08
+00
+86
+08
+20
+22
+d8
+bc
+20
+20
+58
+b9
+6f
+e2
+4b
+ed
+24
+3a
+58
+c4
+6f
+e2
+44
+56
+c0
+00
+d8
+d3
+6f
+e2
+44
+57
+1f
+f2
+7e
+00
+1f
+eb
+fe
+00
+67
+e2
+4a
+db
+68
+42
+43
+41
+18
+40
+fe
+06
+67
+e2
+4a
+dc
+6f
+ec
+44
+72
+67
+ec
+4a
+dd
+18
+42
+72
+00
+d8
+c0
+43
+42
+20
+40
+7c
+cf
+20
+20
+58
+de
+6f
+e2
+4b
+ed
+24
+3a
+58
+f7
+d8
+40
+00
+04
+6f
+e2
+44
+57
+7d
+3a
+04
+06
+60
+42
+4a
+db
+68
+42
+43
+61
+18
+40
+fe
+06
+67
+e2
+4a
+dc
+6f
+ec
+44
+72
+67
+ec
+4a
+dd
+d8
+c0
+43
+62
+18
+42
+72
+00
+20
+40
+7c
+cf
+20
+40
+58
+a1
+20
+20
+5a
+e2
+20
+40
+5a
+c9
+c6
+16
+00
+00
+20
+40
+59
+9a
+6f
+e2
+02
+d5
+2f
+ef
+fe
+04
+79
+20
+80
+2a
+1f
+e3
+7e
+00
+98
+42
+fe
+00
+2f
+ef
+fe
+02
+79
+20
+80
+0f
+c6
+07
+80
+00
+6f
+e2
+02
+d6
+20
+3a
+02
+9d
+6f
+e2
+04
+3b
+c3
+02
+02
+9d
+20
+40
+73
+42
+20
+40
+72
+b2
+7d
+3a
+00
+0f
+24
+7a
+00
+00
+68
+42
+04
+52
+79
+40
+04
+02
+60
+42
+04
+52
+6f
+e2
+4b
+ed
+24
+7a
+00
+00
+20
+20
+02
+a3
+6f
+e2
+02
+d6
+20
+7a
+00
+00
+6f
+e2
+02
+d5
+2f
+e0
+06
+01
+20
+20
+82
+cb
+2f
+e0
+06
+02
+20
+20
+82
+ab
+20
+60
+00
+00
+6f
+e4
+02
+d9
+c1
+82
+00
+00
+ef
+e6
+00
+06
+67
+e6
+04
+73
+79
+20
+00
+0f
+c0
+09
+02
+bf
+c0
+29
+02
+c1
+c0
+0b
+02
+b8
+c0
+0c
+5e
+3b
+c0
+01
+5c
+a1
+c0
+0f
+03
+fd
+79
+3f
+80
+0f
+20
+60
+00
+00
+58
+00
+0b
+1e
+67
+e4
+4a
+d5
+20
+40
+02
+c4
+1f
+20
+f3
+fe
+da
+20
+02
+e0
+20
+40
+5a
+be
+20
+20
+02
+e4
+20
+40
+02
+c1
+20
+20
+02
+db
+20
+40
+02
+c4
+da
+20
+02
+de
+20
+20
+5a
+be
+6f
+e2
+02
+d6
+1f
+e0
+f3
+f9
+1f
+e0
+ff
+fc
+67
+e4
+4a
+d1
+e8
+44
+00
+06
+60
+44
+4a
+d3
+20
+60
+00
+00
+79
+20
+00
+0f
+20
+40
+02
+d3
+6f
+e2
+04
+73
+c0
+09
+02
+db
+c0
+0b
+02
+da
+c1
+29
+00
+00
+79
+3f
+80
+0f
+20
+60
+00
+00
+6f
+e2
+02
+d6
+68
+44
+4a
+d1
+98
+40
+84
+00
+60
+44
+4a
+d1
+1f
+e2
+72
+00
+da
+20
+02
+d7
+20
+20
+5a
+be
+20
+20
+02
+e4
+20
+40
+02
+de
+24
+74
+00
+00
+20
+20
+5e
+13
+20
+40
+7d
+c1
+6f
+e4
+4a
+d3
+68
+44
+4a
+d1
+98
+46
+7c
+00
+24
+62
+80
+00
+20
+20
+7d
+bf
+6f
+e4
+4a
+d5
+1f
+e2
+0a
+00
+6f
+e2
+02
+d6
+1f
+e2
+72
+00
+20
+40
+7c
+dc
+18
+a2
+7e
+00
+67
+e4
+4a
+d5
+20
+40
+02
+de
+24
+74
+00
+00
+d8
+e0
+00
+03
+20
+40
+50
+e6
+20
+20
+02
+f0
+20
+40
+5c
+74
+24
+7a
+00
+00
+70
+0b
+22
+17
+58
+00
+0b
+1e
+67
+e4
+4a
+d7
+68
+44
+0b
+1e
+18
+40
+84
+04
+58
+00
+00
+f9
+20
+40
+7d
+b5
+1f
+e0
+a5
+fc
+18
+00
+02
+02
+1f
+e2
+22
+00
+20
+40
+5c
+32
+6f
+e4
+4a
+d7
+1f
+e2
+0c
+00
+1a
+22
+72
+00
+20
+40
+7c
+cf
+18
+c2
+7e
+00
+67
+e4
+4a
+d7
+6f
+e4
+0b
+1e
+9a
+46
+7e
+00
+67
+e4
+0b
+1e
+20
+3a
+03
+0c
+d8
+40
+00
+f9
+20
+40
+7d
+b5
+1f
+e2
+24
+00
+18
+00
+02
+01
+20
+20
+02
+fb
+58
+00
+00
+00
+67
+e4
+4a
+d5
+d8
+e0
+00
+03
+20
+20
+50
+e2
+70
+4b
+f4
+00
+68
+44
+4f
+f0
+6f
+e4
+4f
+f2
+98
+46
+22
+00
+68
+44
+4f
+f4
+6f
+e4
+4f
+f6
+60
+44
+4b
+f7
+67
+e4
+4b
+f5
+98
+46
+7e
+00
+20
+21
+03
+20
+20
+22
+83
+20
+1a
+22
+04
+00
+6f
+e4
+4b
+f5
+98
+40
+fe
+00
+68
+44
+4b
+f7
+98
+46
+7e
+00
+d8
+40
+02
+c0
+98
+46
+7c
+00
+24
+61
+00
+00
+70
+4b
+f4
+01
+20
+60
+00
+00
+68
+42
+04
+52
+28
+4c
+00
+05
+20
+60
+80
+00
+6f
+e2
+02
+d5
+1f
+e3
+fe
+00
+98
+42
+fe
+00
+c4
+01
+80
+00
+79
+3f
+84
+05
+79
+40
+04
+03
+60
+42
+04
+52
+28
+40
+06
+03
+24
+60
+80
+00
+6f
+e2
+4b
+ed
+24
+3a
+03
+35
+6f
+e2
+4a
+dd
+20
+20
+03
+36
+6f
+e2
+43
+b0
+c0
+02
+d9
+ac
+6f
+e2
+44
+97
+c0
+01
+59
+b0
+20
+60
+00
+00
+6f
+e2
+04
+52
+c3
+82
+80
+00
+20
+40
+5a
+1c
+6f
+e2
+4b
+ed
+24
+3a
+59
+fc
+20
+40
+5c
+53
+20
+3a
+5a
+3e
+ef
+e2
+00
+06
+e8
+42
+00
+06
+18
+42
+22
+00
+9a
+26
+7e
+00
+20
+40
+03
+5f
+20
+40
+7d
+b5
+1f
+e2
+04
+00
+ef
+e2
+00
+06
+1f
+e2
+02
+00
+1a
+22
+7e
+00
+98
+c0
+8c
+00
+d8
+a0
+4a
+dd
+18
+42
+72
+00
+20
+40
+7c
+cf
+20
+40
+5a
+2e
+20
+40
+5a
+40
+20
+40
+5c
+53
+ef
+e2
+00
+06
+1f
+e2
+22
+00
+18
+c2
+26
+00
+e8
+42
+00
+06
+18
+42
+24
+00
+9a
+46
+7e
+00
+20
+40
+03
+5f
+20
+40
+7d
+b5
+9a
+40
+fe
+00
+e7
+e2
+00
+13
+9a
+26
+7c
+00
+24
+62
+80
+00
+20
+20
+5c
+76
+18
+c2
+0a
+00
+68
+44
+4a
+d9
+18
+a2
+0c
+00
+20
+60
+00
+00
+6f
+e2
+4b
+ed
+24
+3a
+5a
+41
+60
+42
+4a
+dc
+68
+42
+04
+52
+79
+20
+04
+05
+18
+41
+7e
+fc
+98
+21
+fe
+00
+67
+e2
+04
+52
+1f
+e1
+7e
+1f
+28
+0f
+fe
+29
+79
+20
+fe
+04
+67
+e2
+4a
+db
+6f
+e2
+4a
+db
+28
+20
+06
+01
+24
+20
+83
+74
+6f
+e2
+4a
+dc
+20
+7a
+00
+00
+6f
+e2
+04
+3b
+c4
+02
+00
+00
+20
+40
+73
+42
+20
+20
+72
+99
+6f
+e2
+4b
+ed
+24
+3a
+72
+9a
+da
+60
+4a
+db
+68
+4a
+43
+d5
+20
+40
+72
+77
+18
+00
+70
+08
+98
+00
+5e
+00
+18
+00
+22
+00
+20
+40
+72
+63
+20
+40
+72
+e8
+da
+60
+4a
+dd
+6f
+e2
+4a
+dc
+1f
+e0
+a5
+ff
+9a
+60
+8a
+00
+18
+00
+70
+0c
+1d
+e2
+7e
+00
+e7
+e8
+00
+05
+20
+40
+72
+8e
+6f
+e2
+4a
+dc
+1f
+e0
+fe
+04
+67
+e2
+4a
+dc
+68
+4a
+43
+d5
+18
+40
+84
+01
+60
+4a
+43
+d5
+20
+60
+00
+00
+c6
+07
+80
+00
+c6
+16
+00
+00
+20
+40
+5c
+70
+24
+7a
+00
+00
+6f
+e2
+02
+d5
+1f
+e1
+7e
+03
+67
+e2
+44
+de
+ef
+e2
+00
+06
+67
+e2
+44
+dd
+20
+7a
+00
+00
+18
+c2
+7e
+00
+67
+e4
+44
+df
+6f
+e2
+44
+de
+c0
+01
+83
+d2
+20
+40
+03
+a4
+d8
+e0
+00
+03
+24
+34
+4b
+ec
+20
+40
+4b
+f0
+20
+20
+5a
+6b
+6f
+e2
+44
+de
+c0
+01
+03
+a8
+c0
+00
+83
+bc
+20
+60
+00
+00
+6f
+e4
+44
+df
+1f
+e2
+0c
+00
+ef
+e4
+00
+06
+67
+e4
+44
+ce
+ef
+e4
+00
+06
+20
+40
+5a
+7a
+24
+74
+00
+00
+68
+42
+44
+dd
+60
+42
+44
+d0
+6f
+e4
+44
+ce
+1f
+e0
+fe
+04
+98
+46
+7c
+00
+20
+22
+fd
+bf
+6f
+e2
+44
+dd
+1f
+e2
+72
+00
+d8
+a0
+0d
+7d
+6f
+e4
+44
+df
+1f
+e2
+0c
+00
+20
+40
+7c
+dc
+20
+20
+7d
+c1
+20
+40
+5a
+99
+24
+74
+00
+00
+6f
+e2
+44
+d0
+d8
+a0
+0d
+7d
+98
+a0
+a2
+00
+68
+42
+44
+dd
+98
+40
+fe
+00
+67
+e2
+44
+d0
+6f
+e2
+44
+dd
+1f
+e2
+72
+00
+1a
+22
+0a
+00
+6f
+e4
+44
+df
+1f
+e2
+0c
+00
+20
+40
+7c
+cf
+58
+00
+0d
+7d
+67
+e4
+44
+df
+6f
+e4
+44
+ce
+1f
+e0
+fe
+04
+68
+42
+44
+d0
+98
+46
+7c
+00
+20
+22
+fd
+bf
+20
+20
+7d
+c1
+6f
+e2
+02
+d7
+c0
+04
+03
+d6
+c0
+0a
+03
+e4
+20
+20
+60
+45
+da
+20
+00
+09
+da
+40
+00
+09
+20
+40
+5c
+22
+58
+00
+00
+21
+e7
+f0
+00
+05
+20
+40
+03
+dd
+20
+60
+00
+00
+6f
+e2
+02
+d8
+1f
+e1
+7e
+20
+20
+3a
+03
+e2
+70
+4b
+ed
+00
+20
+60
+00
+00
+70
+4b
+ed
+01
+20
+60
+00
+00
+ef
+e4
+00
+06
+67
+e4
+4a
+d9
+20
+20
+03
+e7
+da
+20
+00
+09
+da
+40
+00
+15
+20
+40
+5c
+22
+58
+00
+00
+fb
+e7
+e4
+00
+05
+58
+00
+08
+48
+e7
+e4
+00
+05
+58
+00
+00
+fb
+e7
+e4
+00
+05
+58
+00
+08
+48
+e7
+e4
+00
+05
+20
+60
+00
+00
+ef
+e4
+00
+06
+c0
+02
+03
+f8
+c0
+03
+5e
+d4
+c0
+02
+de
+96
+20
+60
+00
+00
+ef
+e6
+00
+06
+67
+e6
+04
+73
+c0
+08
+03
+ff
+c0
+04
+04
+08
+20
+20
+5c
+8d
+d8
+e0
+00
+07
+20
+20
+50
+e2
+20
+40
+5e
+91
+20
+40
+5a
+b3
+d9
+60
+00
+01
+20
+20
+5d
+de
+d8
+e0
+00
+07
+20
+20
+50
+e6
+20
+40
+5c
+a9
+67
+e4
+44
+78
+20
+20
+5c
+a2
+20
+40
+5e
+91
+20
+40
+5a
+bb
+20
+20
+04
+0b
+68
+44
+44
+2c
+60
+44
+0a
+9e
+20
+40
+5b
+36
+20
+40
+5b
+4d
+18
+c0
+8d
+fe
+18
+c2
+7e
+00
+67
+e4
+04
+98
+68
+44
+44
+44
+58
+00
+2a
+00
+98
+46
+7c
+00
+20
+22
+84
+17
+20
+20
+5d
+2d
+d8
+40
+2a
+00
+20
+40
+5b
+5c
+20
+3a
+5e
+56
+20
+20
+5d
+8b
+6f
+e2
+4b
+ed
+24
+3a
+5b
+d5
+78
+55
+fc
+00
+20
+37
+04
+20
+24
+36
+db
+e6
+20
+40
+4b
+a0
+6f
+e4
+40
+c1
+67
+e4
+04
+49
+24
+36
+cb
+b3
+c5
+07
+cb
+b3
+6f
+e2
+44
+dd
+24
+3a
+4b
+b3
+6f
+e2
+4a
+dc
+24
+3a
+4b
+b3
+6f
+e2
+44
+bb
+c2
+82
+cb
+b3
+6f
+e2
+04
+3b
+c2
+82
+cb
+b3
+20
+20
+4b
+95
+6f
+e2
+00
+7d
+c0
+08
+04
+32
+c0
+0b
+84
+38
+20
+20
+60
+fe
+68
+42
+05
+4e
+18
+46
+7c
+06
+20
+21
+04
+36
+20
+20
+62
+06
+70
+00
+7e
+24
+20
+20
+61
+34
+20
+20
+62
+b8
+78
+54
+7c
+00
+20
+40
+66
+a3
+6f
+e2
+00
+48
+20
+7a
+00
+00
+c2
+83
+84
+3f
+20
+20
+63
+f2
+c0
+42
+04
+42
+c0
+41
+84
+45
+20
+20
+64
+21
+20
+40
+04
+48
+6f
+e2
+00
+48
+20
+20
+64
+7b
+20
+40
+04
+48
+6f
+e2
+00
+48
+20
+20
+64
+ef
+6f
+e2
+46
+2c
+20
+3a
+65
+0d
+20
+20
+65
+06
+6f
+e2
+40
+9e
+79
+3f
+fe
+03
+67
+e2
+40
+9e
+58
+00
+00
+01
+67
+e4
+04
+ca
+20
+60
+00
+00
+58
+00
+00
+00
+67
+e2
+42
+26
+67
+e2
+45
+36
+67
+e2
+45
+2f
+6f
+e2
+45
+3d
+c0
+00
+e8
+d7
+70
+45
+3b
+85
+20
+60
+00
+00
+6f
+e2
+04
+f9
+c0
+1f
+e9
+3e
+c0
+39
+e9
+47
+c0
+77
+84
+5f
+c0
+29
+ea
+05
+20
+60
+00
+00
+6f
+e4
+04
+fd
+1f
+e2
+0c
+00
+20
+40
+69
+84
+6f
+e2
+04
+ff
+c0
+20
+e9
+66
+c0
+20
+69
+6e
+c0
+38
+e9
+a7
+c0
+38
+04
+69
+c0
+24
+e9
+be
+20
+20
+6a
+58
+70
+0a
+95
+08
+20
+40
+7b
+ab
+20
+40
+69
+72
+20
+20
+69
+ba
+6f
+e2
+44
+90
+20
+3a
+5e
+d0
+20
+40
+74
+38
+20
+20
+79
+32
+2b
+bc
+aa
+55
+40
+00
+00
+40
+03
+00
+00
+00
+00
+00
+10
+20
+00
+00
+20
+00
+01
+00
+00
+00
+20
+22
+10
+00
+0c
+12
+00
+39
+00
+00
+00
+08
+00
+08
+22
+00
+e8
+09
+18
+d0
+04
+00
+04
+44
+02
+00
+05
+00
+00
+00
+00
+00
+00
+20
+00
+02
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+aa
+55
+01
+00
+92
+40
+0a
+aa
+55
+01
+00
+54
+46
+40
+aa
+55
+01
+00
+06
+42
+13
+aa
+55
+01
+00
+5b
+41
+01
+aa
+55
+08
+00
+98
+40
+ff
+fb
+8f
+fa
+8b
+85
+59
+83
+aa
+55
+03
+00
+14
+42
+25
+4a
+05
+aa
+55
+04
+00
+3d
+45
+00
+94
+02
+05
+aa
+55
+03
+00
+2d
+46
+03
+00
+04
+aa
+55
+01
+00
+2c
+46
+01
+aa
+55
+06
+00
+57
+46
+04
+30
+30
+30
+30
+30
+aa
+55
+10
+00
+f0
+4f
+00
+1c
+ff
+1f
+00
+1c
+00
+1c
+00
+4c
+e0
+4f
+00
+4c
+00
+4c
+aa
+55
+03
+00
+ef
+4b
+00
+80
+02
+aa
+55
+02
+00
+68
+46
+10
+01
+aa
+55
+01
+00
+6c
+46
+03
+aa
+55
+01
+00
+6f
+46
+07
+aa
+55
+03
+00
+aa
+40
+24
+04
+04
+aa
+55
+01
+00
+79
+46
+00
+aa
+55
+01
+00
+cf
+4a
+00
+aa
+55
+01
+00
+91
+40
+00
+aa
+55
+03
+00
+54
+41
+00
+01
+08
+aa
+55
+01
+00
+74
+41
+02
+aa
+55
+01
+00
+93
+40
+00
+aa
+55
+01
+00
+6d
+46
+28
+aa
+55
+06
+00
+a0
+40
+a7
+2a
+2a
+21
+10
+55
+aa
+55
+0f
+00
+e7
+44
+0e
+33
+31
+32
+31
+20
+4d
+6f
+75
+20
+42
+74
+31
+32
+31
+aa
+55
+03
+00
+e4
+41
+20
+00
+02
+aa
+55
+01
+00
+e8
+41
+01
+aa
+55
+01
+00
+90
+44
+00
+aa
+55
+01
+00
+5f
+44
+07
+aa
+55
+01
+00
+98
+44
+00
+aa
+55
+04
+00
+75
+46
+2d
+00
+2f
+00
+aa
+55
+01
+00
+40
+43
+00
+aa
+55
+02
+00
+54
+44
+40
+00
+aa
+55
+01
+00
+6e
+46
+05
+aa
+55
+06
+00
+72
+44
+21
+22
+01
+33
+02
+3a
+aa
+55
+0d
+00
+81
+43
+0c
+33
+31
+32
+31
+20
+4d
+6f
+75
+20
+42
+6c
+65
+aa
+55
+04
+00
+41
+43
+03
+02
+01
+02
+aa
+55
+12
+00
+61
+43
+0e
+02
+01
+02
+0d
+09
+33
+31
+32
+31
+20
+4d
+6f
+75
+20
+42
+6c
+65
+aa
+55
+07
+00
+25
+44
+02
+03
+00
+05
+10
+02
+03
+aa
+55
+08
+00
+68
+44
+08
+00
+10
+00
+00
+00
+2c
+01
+aa
+55
+01
+00
+78
+44
+f0
+aa
+55
+01
+00
+7a
+44
+17
+aa
+55
+02
+00
+cc
+44
+31
+00
+aa
+55
+01
+00
+d1
+40
+01
+aa
+55
+0c
+00
+49
+45
+05
+03
+00
+12
+00
+01
+01
+00
+01
+11
+03
+00
+aa
+55
+12
+00
+5f
+45
+01
+07
+00
+00
+00
+00
+de
+ca
+fa
+de
+de
+ca
+de
+af
+de
+ca
+ca
+ff
+aa
+55
+02
+00
+47
+45
+83
+46
+aa
+55
+b8
+00
+83
+46
+03
+12
+00
+01
+00
+00
+01
+00
+01
+00
+01
+36
+00
+52
+09
+00
+00
+0a
+00
+01
+00
+01
+09
+00
+01
+35
+03
+19
+12
+00
+09
+00
+04
+35
+0d
+35
+06
+19
+01
+00
+09
+00
+01
+35
+03
+19
+00
+01
+09
+00
+09
+35
+08
+35
+06
+19
+12
+00
+09
+01
+00
+09
+02
+00
+09
+01
+03
+09
+02
+01
+09
+05
+ac
+09
+02
+02
+09
+02
+39
+09
+02
+03
+09
+06
+44
+09
+02
+04
+28
+01
+09
+02
+05
+09
+00
+02
+03
+11
+01
+00
+03
+01
+00
+00
+01
+00
+03
+36
+00
+46
+09
+00
+00
+0a
+00
+01
+00
+03
+09
+00
+01
+35
+03
+19
+11
+01
+09
+00
+02
+0a
+00
+00
+00
+00
+09
+00
+04
+35
+0c
+35
+03
+19
+01
+00
+35
+05
+19
+00
+03
+08
+01
+09
+00
+06
+35
+09
+09
+65
+6e
+09
+00
+6a
+09
+01
+00
+09
+01
+00
+25
+0a
+53
+50
+50
+20
+73
+6c
+61
+76
+65
+00
+00
+00
+01
+00
+aa
+55
+02
+00
+8e
+44
+af
+47
+aa
+55
+4e
+01
+af
+47
+01
+00
+02
+00
+28
+02
+01
+18
+02
+00
+02
+03
+28
+01
+20
+03
+00
+02
+05
+2a
+01
+00
+04
+00
+02
+02
+29
+02
+01
+00
+05
+00
+02
+00
+28
+02
+00
+18
+06
+00
+02
+03
+28
+01
+4e
+07
+00
+02
+00
+2a
+13
+41
+73
+74
+20
+4c
+45
+20
+4d
+6f
+75
+73
+65
+20
+20
+20
+20
+20
+20
+20
+08
+00
+02
+03
+28
+01
+4e
+09
+00
+02
+01
+2a
+02
+00
+00
+0a
+00
+02
+03
+28
+01
+02
+0b
+00
+02
+04
+2a
+08
+10
+00
+20
+00
+05
+00
+2c
+01
+0c
+00
+02
+00
+28
+10
+55
+e4
+05
+d2
+af
+9f
+a9
+8f
+e5
+4a
+7d
+fe
+43
+53
+53
+49
+0d
+00
+02
+03
+28
+01
+12
+0e
+00
+10
+16
+96
+24
+47
+c6
+23
+61
+ba
+d9
+4b
+4d
+1e
+43
+53
+53
+49
+14
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+0f
+00
+02
+02
+29
+02
+00
+00
+10
+00
+02
+03
+28
+01
+08
+11
+00
+10
+b3
+9b
+72
+34
+be
+ec
+d4
+a8
+f4
+43
+41
+88
+43
+53
+53
+49
+14
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+12
+00
+02
+03
+28
+01
+04
+13
+00
+10
+fe
+69
+ca
+9a
+56
+19
+f6
+ab
+02
+4d
+aa
+6d
+43
+53
+53
+49
+14
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+14
+00
+02
+03
+28
+01
+1a
+15
+00
+10
+18
+03
+a6
+28
+5e
+d8
+ec
+91
+1c
+48
+a3
+ac
+43
+53
+53
+49
+14
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+16
+00
+02
+02
+29
+02
+00
+00
+00
+00
+aa
+55
+07
+00
+76
+41
+0f
+84
+f0
+0a
+0b
+b2
+32
+aa
+55
+02
+00
+57
+41
+8b
+0b
+aa
+55
+08
+00
+a1
+00
+00
+00
+00
+00
+00
+00
+00
+00
+aa
+55
+02
+00
+bd
+40
+02
+24
+aa
+55
+08
+00
+ad
+40
+40
+00
+00
+02
+32
+00
+00
+02
+aa
+55
+02
+00
+bb
+40
+20
+00
+aa
+55
+04
+00
+b7
+40
+20
+00
+00
+20
+aa
+55
+04
+00
+bf
+40
+80
+04
+00
+10
+aa
+55
+05
+00
+e2
+44
+08
+0e
+05
+04
+00
+aa
+55
+02
+00
+02
+42
+30
+1f
+aa
+55
+01
+00
+10
+42
+20
+aa
+55
+01
+00
+e0
+41
+01
+aa
+55
+0f
+00
+de
+4b
+4b
+ba
+55
+d0
+56
+e0
+57
+88
+58
+6c
+59
+10
+07
+ff
+ff
+aa
+55
+02
+00
+c3
+40
+de
+4b
+31
+05
Index: muyu/output/memmap.format
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/BT_code_patch/print/branches/muyu/output/memmap.format	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/BT_code_patch/print/branches/muyu/output/memmap.format	(working copy)
@@ -0,0 +1,1057 @@
+0x0000 mem_le_adv_transmit
+0x0001 mem_le_adv_waitcnt
+0x0002 mem_le_adv_rcv
+0x0003 mem_le_req_rcv
+0x0004 mem_le_scanrsp_rcv
+0x0005 mem_le_conn_rcv
+0x0006 mem_inquiryscan_waitcnt
+0x0007 mem_inquiryscan_rcvcnt
+0x0008 mem_pagescan_waitcnt
+0x0009 mem_pagescan_rcvcnt
+0x000a mem_pagescan_rcvfhscnt
+0x000b mem_slave_rcvcnt
+0x000c mem_page_transmit
+0x000d mem_page_rcv
+0x000e mem_page_rcv_fhs
+0x000f mem_master_rcvcnt
+0x0010 mem_fhs_wait_counter
+0x0011 mem_newconnto_counter
+0x0012 mem_inquiry_transmit
+0x0013 mem_inquiry_rcv
+0x0014 mem_fw_ver
+0x0015 mem_current_context
+0x0016 mem_le_ch_mapped
+0x0017 mem_last_freq
+0x0018 mem_rssi
+0x0019 mem_rx_type
+0x001a mem_rx_hec_err
+0x001c mem_rx_crc_err
+0x001e mem_context_ptr
+0x0020 mem_display
+0x0028 mem_bcd
+0x0030 mem_state
+0x0031 mem_mode
+0x0032 mem_tsniff
+0x0034 mem_sniff_anchor
+0x0038 mem_clk_offset
+0x003e mem_rx_window
+0x0040 mem_plap
+0x0043 mem_puap
+0x0044 mem_pnap
+0x0046 mem_conn_handle
+0x0047 mem_arq
+0x0048 mem_lmp_to_send
+0x0049 mem_lmi_opcode
+0x004a mem_lmo_reason
+0x004b mem_op
+0x004c mem_state_map
+0x004d mem_supervision_timer
+0x0051 mem_supervision_to
+0x0053 mem_name_offset
+0x0054 mem_key_size
+0x0055 mem_conn_sm
+0x0056 mem_aco
+0x0062 mem_kc
+0x0072 mem_conn_timer
+0x0073 mem_sniff_attempt
+0x0074 mem_sniff_timeout
+0x0075 mem_dsniff
+0x0077 mem_amaddr
+0x0078 mem_lmo_opcode1
+0x0079 mem_lmi_opcode1
+0x007a mem_lmo_reason1
+0x007b mem_lmo_tid1
+0x007c mem_lmo_opcode2
+0x007d mem_lmi_opcode2
+0x007e mem_lmo_reason2
+0x007f mem_lmo_tid2
+0x0080 mem_hci_version
+0x0083 mem_acl_pktlen
+0x0085 mem_sco_pktlen
+0x0086 mem_acl_pktcnt
+0x0088 mem_sco_pktcnt
+0x008a mem_current_sniff_attempt
+0x008b mem_current_sniff_timeout
+0x008c mem_sniff_timeout_temp
+0x008d mem_nfreq_index_inq
+0x008e mem_nfreq_index_page
+0x008f mem_ninqy_index
+0x0090 mem_fhs_misc
+0x0091 mem_subsniff_instant
+0x0095 mem_subsniff_rate
+0x0096 mem_subsniff_tcmax
+0x0098 mem_subsniff_tsniff
+0x0099 mem_lpm_adjust
+0x009a mem_sync_clke
+0x00a0 mem_lpm_current_mult
+0x00a1 mem_gpio_wakeup
+0x00a7 mem_air_mode
+0x00a8 mem_sco_asso_handle
+0x00a9 mem_sco_handle
+0x00ab mem_esco_desco
+0x00ac mem_esco_type
+0x00ad mem_neogotiation_state
+0x00ae mem_saved_amaddr
+0x00af mem_esco_arq
+0x00b0 mem_esco_saved_arq
+0x00b1 mem_sco_obuf
+0x00cf mem_sco_ibuf
+0x00ed mem_sco_poll
+0x00ee mem_npage_index
+0x00ef mem_page_mode
+0x00f0 mem_page_clk
+0x00f4 mem_tst_pktcnt_sync
+0x00f6 mem_tst_pktcnt_hec
+0x00f8 mem_tst_pktcnt_crc
+0x00fa mem_tst_pktcnt_dmh
+0x00fc mem_tmp_buffer_head
+0x00ff mem_tmp_buffer
+0x014f mem_tester_emulate
+0x0150 mem_temp_payload
+0x0150 test_mode_scenario
+0x0151 test_mode_hopping_mode
+0x0152 test_mode_tx_freq
+0x0153 test_mode_rx_freq
+0x0154 test_mode_power_mode
+0x0155 test_mode_poll_period
+0x0156 test_mode_packet_type
+0x0157 test_mode_data_length
+0x0159 mem_test_mode_old_debug_config
+0x015a mem_tester_cnt
+0x015b mem_temp_am_addr
+0x015c mem_temp_arq
+0x015d mem_len
+0x015f mem_clkn_bt
+0x0163 mem_clke_bt
+0x0167 mem_dpll_clkn
+0x016b mem_connection_options
+0x016c mem_nameres_cnt
+0x016d mem_txptr
+0x016f mem_slot_offset
+0x0171 extm_fhs_misc
+0x0172 extm_newconn_am_addr
+0x0173 extm_class
+0x0176 extm_lap
+0x0179 extm_uap
+0x017a extm_nap
+0x017d mem_debug_config
+0x017e mem_lch_code
+0x017f mem_fhs_am_addr
+0x0180 mem_dpll_error
+0x0182 mem_select_list_item
+0x0183 mem_temp_reconn_record
+0x0183 mem_record_bt_mode
+0x0184 mem_temp_lap
+0x018a mem_list_item_ptr
+0x018c mem_eir
+0x01f0 mem_ucode_status
+0x01f1 mem_otp_ucode_flag
+0x01f3 mem_spid_tbuf/* spid buf: 03 addr[23:16] addr[15:8] addr[7:0] */
+0x01f4 mem_iicd_tbuf/* iicd buf: iic_adr addr[15:8] addr[7:0] iic_adr */
+0x01f4 mem_addr_hi
+0x01f5 mem_addr_mi
+0x01f6 mem_addr_lo
+0x01f7 mem_iicd_addr
+0x01f8 mem_spid_rbuf
+0x01fc mem_ucode_buf
+0x01fe mem_ucode_len
+0x0200 mem_sched_addr
+0x0202 mem_ucode_ptr
+0x0204 mem_ucode_keybuf
+0x0214 mem_check_plap_temp
+0x0226 mem_reconnect_flag
+0x0227 mem_switch_fail_master_count
+0x0228 mem_app_evt_timer_count
+0x0229 mem_h5rx_ackcnt
+0x022a mem_check_err_acl_cont
+0x022b mem_rp_packets
+0x022c mem_packet_type
+0x022e mem_hci_sniff_conn_handle
+0x0230 mem_hci_sniff_max_interval
+0x0232 mem_hci_sniff_min_interval
+0x0234 mem_hci_sniff_attempt
+0x0236 mem_hci_sniff_timeout
+0x0238 mem_voice_setting
+0x023a mem_retransmission_effort
+0x023b mem_sco_ptype
+0x023d mem_extm_uap_restore
+0x0240 mem_h5rx_rptr
+0x0242 mem_h5rx_ack
+0x0243 mem_h5tx_ack
+0x0244 mem_h5tx_rptr
+0x0246 mem_h5tx_wptr
+0x0248 mem_h5tx_free
+0x024a mem_h5rx_tmp
+0x024b mem_h5tx_seq
+0x024c mem_hci_acl_queue_wptr
+0x024e mem_hci_acl_queue_rptr
+0x0250 mem_hci_acl_queue_end
+0x0252 mem_hci_acl_queue_wcnt
+0x0253 mem_hci_acl_cnt
+0x0254 mem_hci_acl_tx_trigger_wptr//tx via uart
+0x0256 mem_hci_curr_len
+0x0257 mem_hci_curr_target
+0x0259 mem_l2cap_mem_start
+0x0259 mem_l2cap_rxbuff1_len
+0x025b mem_l2cap_rxbuff2_len
+0x025d mem_l2cap_rxbuff_new
+0x025f mem_l2cap_rxbuff_inuse
+0x0260 mem_l2cap_payload_ptr
+0x0262 mem_l2cap_rx_pkt_length
+0x0264 mem_l2cap_rx_cid
+0x0266 mem_l2cap_rx_done
+0x0267 mem_l2cap_signal_tx_buff_ptr
+0x0269 mem_l2cap_signal_tx_payload_ptr
+0x026b mem_l2cap_signal_tx_length
+0x026d mem_sdp_tx_buff_ptr
+0x026f mem_sdp_tx_payload_ptr
+0x0271 mem_sdp_tx_pkt_length
+0x0273 mem_rfcomm_tx_buff_ptr
+0x0275 mem_rfcomm_tx_payload_ptr
+0x0277 mem_rfcomm_tx_pkt_length
+0x0279 memL2CAP_T1
+0x027b mem_CONTROL_tasks
+0x027c mem_send_config_req
+0x027d mem_config_identifier
+0x027e mem_config_req_dest_CID
+0x0280 mem_rfcomm_malloc_fail_flag
+0x0281 mem_message_to_uppersm
+0x0282 mem_upper_sm_remote_page
+0x0283 mem_upper_sm_reconn
+0x0284 mem_upper_sm_ss
+0x0285 mem_tx_malloc_log
+0x02c5 mem_l2cap_mem_end
+0x02c5 mem_scid
+0x02c7 mem_cmd_length
+0x02c9 mem_tt2
+0x02cb mem_tt3
+0x02cd mem_id
+0x02cf mem_psm
+0x02d1 mem_l2cap_sdpres_delay_time
+0x02d5 mem_le_rxbuf
+0x030d mem_le_l2capbuf
+0x0413 mem_le_mic
+0x0417 mem_le_peer_mic
+0x041b mem_le_peer_ltk
+0x042b mem_le_mrand
+0x043b mem_le_state
+0x043c mem_le_mode
+0x043d mem_le_tsniff
+0x043f mem_le_anchor
+0x0443 mem_le_clk_offset
+0x0449 mem_le_receive_window
+0x044b mem_le_plap
+0x0451 mem_le_conn_handle
+0x0452 mem_le_arq
+0x0453 mem_le_ch
+0x0454 mem_le_hop
+0x0455 mem_le_event_count
+0x0457 mem_le_supervision_timer
+0x045b mem_le_instant
+0x045d mem_le_channels
+0x045e mem_le_op
+0x045f mem_le_access
+0x0463 mem_le_crcinit
+0x0466 mem_le_window_size
+0x0467 mem_le_slave_latency
+0x0469 mem_le_superto
+0x046b mem_le_channel_map
+0x0470 mem_le_no_using
+0x0472 mem_le_peer_sca
+0x0473 mem_le_att_opcode
+0x0474 mem_le_att_handle
+0x0476 mem_le_err_code
+0x0477 mem_le_ll_pairing_fail_reason
+0x0478 mem_le_sk
+0x0488 mem_le_testtype
+0x0489 mem_le_test_sync
+0x048b mem_le_test_pcnt
+0x048d mem_le_rxon_ts
+0x0493 mem_le_rx_ll_opcode
+0x0494 mem_le_notify_attr_start
+0x0496 mem_le_notify_len
+0x0497 mem_cmd_le_create_conn
+0x0498 mem_le_cur_attlist_start_ptr
+0x049a mem_le_cur_handle_start
+0x049c mem_le_cur_handle_end
+0x049e mem_le_cur_uuid_length
+0x049f mem_le_cur_uuid
+0x04af mem_le_curr_att_len
+0x04b0 mem_le_search_res
+0x04b1 mem_le_continue_type
+0x04b2 mem_lmo_header_length
+0x04b3 mem_lmo_header_opcode
+0x04b4 mem_lmo_payload
+0x04c5 mem_lmi_accepted_opcode
+0x04c6 mem_disconn_reason_send
+0x04c7 mem_tx_fixed_freq
+0x04c8 mem_rx_fixed_freq
+0x04c9 mem_ext_features_page
+0x04ca mem_lmpext_ssp_enable
+0x04cc mem_remote_sppcap
+0x04cd mem_lmp_conn_state
+0x04ce mem_soft_timer
+0x04d0 mem_pincode_state
+0x04d1 mem_sres_tid
+0x04d2 mem_accptsco_tid
+0x04d3 mem_auth_enable
+0x04d4 mem_wait_encryption
+0x04d5 mem_sniff_payload
+0x04e5 mem_aurand_send_delay_time
+0x04e9 memRemoteRPNBitRate
+0x04ea memRemotePRNDataBits
+0x04eb memRemotePRNStopBit
+0x04ec memRemotePRNParity
+0x04ed memRemotePRNFlowControl
+0x04ee memRemotePRNXon
+0x04ef memRemotePRNXoff
+0x04f0 mem_mod2div_temp
+0x04f3 mem_contw_temp
+0x04f5 mem_attrib_list
+0x04f7 mem_current_adss
+0x04f8 mem_current_channel
+0x04f9 mem_current_frame_type
+0x04fa mem_current_fcs
+0x04fb mem_current_length
+0x04fd mem_rfcomm_uih_payload_ptr
+0x04ff mem_uih_cmd_type
+0x0500 mem_uih_length
+0x0502 mem_param_payload_ptr
+0x0504 mem_ms_param
+0x0505 mem_pn_credit_flow_type_info
+0x0506 mem_pn_priority
+0x0507 mem_pn_acknowledg_timer
+0x0508 mem_pn_max_retrans
+0x0509 mem_rfcomm_send_adss
+0x050a mem_rfcomm_send_frame_type
+0x050b mem_rfcomm_send_fcs
+0x050c mem_rfcomm_send_offset
+0x050d mem_sdp_mem_start
+0x050d mem_sdp_uuid_search_ptr
+0x0515 mem_sdp_continue_byte
+0x0517 mem_sdp_pduid
+0x0518 mem_sdp_transactionid
+0x051a mem_sdp_transactionid_local
+0x051c mem_sdp_attribute_maxbyte
+0x051e mem_sdp_record_maxcnt
+0x0520 mem_sdp_record_handle
+0x0524 mem_sdp_LACAP_found
+0x0525 mem_sdp_RFCOMM_found
+0x0526 mem_sdp_handle_list
+0x0526 mem_sdp_attrib_list
+0x0546 mem_sdp_error_code
+0x0548 mem_sdp_all_length
+0x054a mem_handle_humber
+0x054b mem_search_uuid
+0x054d mem_sdp_mem_end
+0x054d mem_rxbuf
+0x055e mem_random_number
+0x056e mem_round_key
+0x057e mem_kinit
+0x058e mem_input_store
+0x059e mem_x
+0x05ae mem_y
+0x05bd mem_y15
+0x05be mem_key_store
+0x05cf mem_key_store_end
+0x05d0 memp_ar_key
+0x05d2 memp_ar_input
+0x05d4 mem_ar_hround
+0x05de mem_ec_infinite
+0x05df mem_ec_loopc
+0x05e1 mem_aes_cmac_data_length
+0x05e2 memdat
+0x05e2 mem_ax
+0x05fa mem_ay
+0x0612 mem_az
+0x062a mem_bx
+0x0642 mem_ax_256//32 bytes
+0x0642 mem_by
+0x065a mem_bz
+0x0662 mem_ay_256// 32 bytes
+0x0672 mem_cx
+0x0682 mem_az_256// 32 bytes
+0x068a mem_cy
+0x06a1 mem_cy5
+0x06a2 mem_bx_256// 32 bytes
+0x06a2 mem_cz
+0x06ba mem_k
+0x06c2 mem_by_256// 31 bytes
+0x06d2 mem_align
+0x06e2 mem_bz_256//32 bytes
+0x06e2 mem_tmp1
+0x06e2 memahbak
+0x06fa mem_tmp5
+0x0702 mem_cx_256//32 bytes
+0x0702 memahsave
+0x0712 mem_tmp2
+0x0722 mem_cy_256// 32 bytes
+0x0722 memahsave_end
+0x0722 mem_addr_padding
+0x0723 mem_addr_value/* 12 bytes     */ 
+0x072a mem_tmp3
+0x072a mem_t1
+0x072f mem_addr_value_end
+0x0732 mem_addr_iocap_end
+0x0741 mem_cy5_256// 1 byte
+0x0742 mem_cz_256// 32 bytes
+0x0742 mem_tmp0
+0x0742 mem_t0
+0x074a mem_tmp0a
+0x075a mem_t2
+0x0762 mem_k_256//32 bytes
+0x0772 mem_t3
+0x0782 mem_tmp1_256//32 bytes
+0x078a mem_t7
+0x07a2 mem_tmp5_256
+0x07c2 mem_tmp2_256
+0x07e2 mem_tmp3_256
+0x07e2 mem_t1_256
+0x0802 mem_tmp0_256
+0x0802 mem_t0_256
+0x0822 mem_t2_256
+0x0842 mem_t3_256
+0x0862 mem_t7_256
+0x0882 mem_p
+0x089a mem_a
+0x08b2 mem_b
+0x08ca mem_gx
+0x08e2 mem_gy
+0x08fa memh0
+0x091a mem_p_256
+0x093a mem_a_256
+0x095a mem_gx_256
+0x097a mem_gy_256
+0x099a mem_le_slat
+0x09aa mem_sp_state_start
+0x09aa mem_sp_state
+0x09ab mem_master_sp_state
+0x09ac mem_sp_flag
+0x09ad mem_master_sp_flag
+0x09ae mem_sp_calc
+0x09af mem_sp_dh_ready
+0x09b0 mem_sp_localsm
+0x09b1 mem_pairing_auth
+0x09b2 mem_sp_flag_start
+0x09b2 mem_sp_local_key_send_count
+0x09b3 mem_sp_remote_key_recv_count
+0x09b4 mem_sp_remote_key_invalid
+0x09b5 mem_sp_dhkey_invalid
+0x09b6 mem_gkey
+0x09ba mem_le_pubkey_remote_x_256
+0x09c2 mem_sp_pubkey_remote
+0x09c2 mem_sp_pubkey_remote_x
+0x09da mem_sp_pubkey_remote_x_end
+0x09da mem_le_pubkey_remote_y_256
+0x09e2 mem_sp_pubkey_remote_y
+0x09fa mem_le_dhkey_256
+0x0a02 mem_sp_dhkey
+0x0a1a mem_sp_dhkey_end
+0x0a1a mem_sp_random_local
+0x0a2a mem_sp_random_local_end
+0x0a2a mem_sp_random_remote
+0x0a3a mem_sp_random_remote_end
+0x0a3a memresult
+0x0a3a mem_sp_calc_result
+0x0a3a memh
+0x0a3e memg
+0x0a42 memf
+0x0a46 meme
+0x0a4a mem_sp_calc_result_high
+0x0a4a memd
+0x0a4e memc
+0x0a52 memb
+0x0a56 mema
+0x0a5a mem_sp_check_result
+0x0a6a mem_sp_confirm_remote
+0x0a7a mem_sp_prarm_stack
+0x0a8a mem_UI_data_txbuff_length
+0x0a8c mem_ipc_skip_continue_proc
+0x0a8d mem_ui_timer_temp//length 4
+0x0a8d mem_ipc_rega_temp
+0x0a91 mem_hold_contr
+0x0a93 mem_hold_contw
+0x0a95 mem_fifo_temp
+0x0a96 mem_pdatatemp
+0x0a9e mem_temp//8 bytes
+0x0aa6 mem_timeup// 4 bytes
+0x0aaa mem_rega//4 bytes
+0x0aae mem_regb//4 bytes
+0x0ab2 mem_regc//3 bytes
+0x0ab5 mem_contr//2 bytes
+0x0ab7 mem_contw//2 bytes
+0x0ab9 mem_wakup_from_power_flag
+0x0aba mem_saved_gpio_in
+0x0abe mem_shutter_random_mac_data_temp
+0x0abe mem_shutter_config_data_temp
+0x0abe mem_le_adv_channel_map_temp
+0x0abe mem_le_data_len_temp//1byte
+0x0abe mem_tx_fifo_map_temp
+0x0abe mem_rpn_dlci//1byte
+0x0abe mem_event_cmd_response_content//2byte
+0x0abe mem_le_prand//16byte
+0x0abe mem_AES_CMAC_k//16 bytes
+0x0abe mem_regext_index//1 bytes
+0x0abe mem_temp_block0
+0x0abf mem_le_data_temp//15bytes
+0x0abf mem_temp_block1
+0x0ace mem_le_aes_128//16byte
+0x0ace mem_regext//64 bytes
+0x0ace mem_AES_CMAC_k1//16 bytes
+0x0ace mem_temp_block2
+0x0ade mem_AES_CMAC_k2//16 bytes
+0x0ade mem_temp_block3
+0x0aee mem_AES_CMAC_temp// 16 bytes
+0x0aee mem_temp_block4
+0x0afe mem_AES_CMAC_M_last// 16 bytes
+0x0afe mem_module_uart_cmd
+0x0aff mem_module_uart_opcode
+0x0b00 mem_module_uart_len
+0x0b01 mem_module_temp_nl_discard_packet
+0x0b02 mem_temp_block5
+0x0b0e mem_le_mackey//16 bytes
+0x0b0e mem_app_receive_temp
+0x0b0e mem_key_value_temp
+0x0b10 mem_key_value
+0x0b12 mem_key_value_temp1
+0x0b13 mem_key_value_temp2
+0x0b14 mem_key_value_temp3
+0x0b15 mem_key_value_temp4
+0x0b16 mem_key_value_temp5
+0x0b17 mem_key_value_temp6
+0x0b18 mem_temp_block6
+0x4000 mem_patch00
+0x4001 mem_patch01
+0x4002 mem_patch02
+0x4003 mem_patch03
+0x4004 mem_patch04
+0x4005 mem_patch05
+0x4006 mem_patch06
+0x4007 mem_patch07
+0x4008 mem_patch08
+0x4009 mem_patch09
+0x400a mem_patch0a
+0x400b mem_patch0b
+0x400c mem_patch0c
+0x400d mem_patch0d
+0x400e mem_patch0e
+0x400f mem_patch0f
+0x4010 mem_patch10
+0x4011 mem_patch11
+0x4012 mem_patch12
+0x4013 mem_patch13
+0x4014 mem_patch14
+0x4015 mem_patch15
+0x4016 mem_patch16
+0x4017 mem_patch17
+0x4018 mem_patch18
+0x4019 mem_patch19
+0x401a mem_patch1a
+0x401b mem_patch1b
+0x401c mem_patch1c
+0x401d mem_patch1d
+0x401e mem_patch1e
+0x401f mem_patch1f
+0x4020 mem_patch20
+0x4021 mem_patch21
+0x4022 mem_patch22
+0x4023 mem_patch23
+0x4024 mem_patch24
+0x4025 mem_patch25
+0x4026 mem_patch26
+0x4027 mem_patch27
+0x4028 mem_patch28
+0x4029 mem_patch29
+0x402a mem_patch2a
+0x402b mem_patch2b
+0x402c mem_patch2c
+0x402d mem_patch2d
+0x402e mem_patch2e
+0x402f mem_patch2f
+0x4030 mem_patch30
+0x4031 mem_patch31
+0x4032 mem_patch32
+0x4033 mem_patch33
+0x4034 mem_patch34
+0x4035 mem_patch35
+0x4036 mem_patch36
+0x4037 mem_patch37
+0x4038 mem_patch38
+0x4039 mem_patch39
+0x403a mem_patch3a
+0x403b mem_patch3b
+0x403c mem_patch3c
+0x403d mem_patch3d
+0x403e mem_patch3e
+0x403f mem_patch3f
+0x4040 mem_context
+0x4090 mem_current_amaddr
+0x4091 mem_lpm_mode
+0x4092 mem_device_option
+0x4093 mem_scan_mode
+0x4094 mem_last_clkn
+0x4098 mem_features
+0x40a0 mem_lap
+0x40a3 mem_uap
+0x40a4 mem_nap
+0x40a6 mem_npage
+0x40a7 mem_glap
+0x40aa mem_class
+0x40ad mem_iscan_window
+0x40af mem_iscan_interval
+0x40b1 mem_pscan_window
+0x40b3 mem_pscan_interval
+0x40b5 mem_page_interval
+0x40b7 mem_page_window
+0x40b9 mem_page_to
+0x40bb mem_inq_window
+0x40bd mem_fcomp_mul
+0x40be mem_fcomp_div
+0x40bf mem_rx_window_init
+0x40c1 mem_rx_window_sniff
+0x40c3 mem_rf_init_ptr
+0x40c5 mem_last_type
+0x40c6 mem_last_type_esco
+0x40c7 mem_last_type_saved
+0x40c8 mem_retransmission_cnt
+0x40ca mem_next_btclk
+0x40ce mem_rf_rccal
+0x40cf mem_handle_num
+0x40d0 mem_max_slot
+0x40d1 mem_eir_enable
+0x40d2 mem_afh_instant
+0x40d6 mem_afh_error_total
+0x40d8 mem_afh_cfg
+0x40d9 mem_afh_new_mod
+0x40da mem_afh_map_lo
+0x40df mem_afh_map_hi
+0x40e4 mem_afh_used
+0x40e5 mem_afh_index
+0x40e7 mem_afh_map_new
+0x40f2 mem_afh_map
+0x4142 mem_afh_timer
+0x4146 mem_afh_classify_channel_map
+0x4150 mem_chip_functions
+0x4152 mem_lpm_wake_lock
+0x4154 mem_lpm_interval
+0x4156 mem_lpm_overhead
+0x4157 mem_lpm_hibernate_switch
+0x4158 mem_lpm_doze_switch
+0x4159 mem_esco_addr
+0x415a mem_sniff_unint_lost
+0x415b mem_ptt
+0x415c mem_sleep_counter//should be 0x41fc in REVC
+0x4160 mem_sleep_counter_all
+0x4164 mem_sleep_clkn
+0x416a mem_sniff_rcv
+0x416d mem_sniff_lost
+0x4170 mem_clks_per_lpo
+0x4173 mem_lpm_mult
+0x4174 mem_lpm_mult_timeout
+0x4175 mem_lpm_mult_cnt
+0x4176 mem_lpm_config
+0x4179 mem_lpm_xtalcnt
+0x417a mem_lpm_buckcnt
+0x417b mem_lpm_ldocnt
+0x417c mem_lpm_isogate
+0x417d mem_lpm_isogate_final
+0x417e mem_saved_gpio// should be 0x421e in REVC
+0x418e mem_saved_gsel
+0x4191 mem_saved_mark
+0x4199 mem_saved_spidctrl
+0x419a mem_patch_ptr
+0x419c mem_patch_len
+0x419e mem_timers
+0x41be mem_link_key_exists
+0x41bf mem_link_key
+0x41cf mem_hci_cmd
+0x41d0 mem_hci_conn_handle
+0x41d1 mem_hci_plap
+0x41d4 mem_hci_puap
+0x41d5 mem_hci_pnap
+0x41d7 mem_uartd_rxitems_got_data
+0x41d8 mem_uartd_rxitems_threshold
+0x41d9 mem_uartd_rx_timeout
+0x41db mem_loadcode_times
+0x41dc mem_tx_lch
+0x41dd mem_tx_len
+0x41df mem_tx_power
+0x41e0 mem_context_number
+0x41e1 mem_250k_freq_enable
+0x41e2 mem_rf_init_data
+0x41e3 mem_app_handshake_flag
+0x41e4 mem_sniff_param_interval
+0x41e6 mem_sniff_param_attempt
+0x41e8 mem_sniff_param_timeout
+0x41ea mem_cb_check_wakelock
+0x41ec mem_cb_before_hibernate
+0x41ee mem_cb_before_lpm
+0x41f0 mem_cb_le_process
+0x41f2 mem_cb_bt_process
+0x41f4 mem_cb_idle_process
+0x41f6 mem_cb_bb_event_process
+0x41f8 mem_cb_discovry_timeout
+0x41fa mem_cb_att_write
+0x41fc mem_cb_ble_transmit
+0x41fe mem_cb_event_timer
+0x4200 mem_cb_bt_set_mult
+0x4202 mem_eeprom_base
+0x4204 mem_unsniff2sniff_timer_count
+0x4205 mem_wake_up_delay_timer
+0x4206 mem_app_connection_options
+0x4207 mem_app_disconn_reason
+0x4209 mem_app_disconn_reason_flag
+0x420b mem_lpm_delay_after_sniff
+0x420f mem_xrecord_mode
+0x4210 mem_eeprom_block_size
+0x4211 mem_spi_init_clk
+0x4212 mem_spi_init_delay_time
+0x4213 mem_spi_ncs_gpio
+0x4214 mem_nv_data_ptr
+0x4216 mem_nv_data_number
+0x4217 mem_hci_lt_rx_state
+0x4218 mem_l2cap_xmem_start
+0x4218 mem_l2cap_tx_multi_offset//0 means single packet
+0x421a mem_sdp_remote_cid
+0x421c mem_rfcomm_remote_cid
+0x421e mem_hid_ctrl_remote_cid
+0x4220 mem_hid_int_remote_cid
+0x4222 mem_sdp_state
+0x4223 mem_rfcomm_state
+0x4224 mem_hid_control_state
+0x4225 mem_hid_interrupt_state
+0x4226 mem_spp_state
+0x4227 mem_ML2CAP_comm_id
+0x4228 mem_used_map
+0x4229 mem_tx_fifo0
+0x4229 mem_tx_fifo0_map
+0x422a mem_tx_fifo0_ptr
+0x422c mem_tx_fifo1
+0x422c mem_tx_fifo1_map
+0x422d mem_tx_fifo1_ptr
+0x422f mem_tx_fifo2
+0x422f mem_tx_fifo2_map
+0x4230 mem_tx_fifo2_ptr
+0x4232 mem_tx_fifo3
+0x4232 mem_tx_fifo3_map
+0x4233 mem_tx_fifo3_ptr
+0x4235 mem_tx_fifo_end
+0x4235 mem_l2cap_lpm_txbuf
+0x4335 mem_l2cap_flow_ctrl_flag
+0x4336 mem_l2cap_pending_item
+0x4337 mem_l2cap_xmem_end
+0x4337 mem_le_dsniff
+0x4339 mem_le_conn_interval
+0x433b mem_le_scan_enable
+0x433c mem_le_scan_interval
+0x433e mem_le_scan_window
+0x4340 mem_le_adv_enable
+0x4341 mem_le_adv_data_len
+0x4342 mem_le_adv_data
+0x4361 mem_le_scan_data_len
+0x4362 mem_le_scan_data
+0x4381 mem_le_name_len
+0x4382 mem_le_name
+0x43a0 mem_le_new_map
+0x43a5 mem_le_new_param
+0x43a5 mem_le_new_transmitwindowsize
+0x43a6 mem_le_new_transmitwindowoffset
+0x43a8 mem_le_new_conninterval
+0x43aa mem_le_new_connslavelatency
+0x43ac mem_le_new_connsupervisiontimeout
+0x43ae mem_le_txheader
+0x43af mem_le_txlen
+0x43b0 mem_le_txpayload
+0x43b2 mem_le_txcid
+0x43b4 mem_le_l2cap
+0x43b5 mem_le_l2cap_response
+0x43b6 mem_le_txbdy
+0x43d5 mem_le_pcnt_tx
+0x43da mem_le_pcnt_rx
+0x43df mem_le_last_mic
+0x43e3 mem_le_ivm
+0x43e7 mem_le_ivs
+0x43eb mem_le_ltk
+0x43fb mem_ltk_exists
+0x43fc mem_le_rconfirm
+0x440c mem_le_srand
+0x441c mem_le_iat
+0x441d mem_le_rat
+0x441e mem_le_preq
+0x441f mem_le_preq_iocap
+0x4420 mem_le_preq_oob
+0x4421 mem_le_preq_auth
+0x4422 mem_le_preq_max_keysize
+0x4423 mem_le_preq_init_key_distribution
+0x4424 mem_le_preq_resp_key_distribution
+0x4425 mem_le_pres
+0x4426 mem_le_pres_iocap
+0x4427 mem_le_pres_oob
+0x4428 mem_le_pres_auth
+0x4429 mem_le_pres_max_keysize
+0x442a mem_le_pres_init_key_distribution
+0x442b mem_le_pres_resp_key_distribution
+0x442c mem_le_search_handle_start
+0x442e mem_le_search_handle_end
+0x4430 mem_le_att_offset
+0x4430 mem_le_search_att_type_length
+0x4431 mem_le_search_att_type
+0x4441 mem_le_notify_handle
+0x4443 mem_le_search_uuid_length
+0x4444 mem_le_search_uuid
+0x4454 mem_le_adv_param
+0x4454 mem_le_adv_interval
+0x4456 mem_le_adv_type
+0x4457 mem_le_adv_own_addr_type
+0x4458 mem_le_adv_direct_addr_type
+0x4459 mem_le_adv_direct_addr
+0x445f mem_le_adv_channel_map
+0x4460 mem_le_conn_param
+0x4460 mem_le_conn_peer_addr_type
+0x4461 mem_le_conn_peer_addr
+0x4467 mem_le_conn_own_addr_type
+0x4468 mem_le_interval_min
+0x446a mem_le_interval_max
+0x446c mem_le_latency
+0x446e mem_le_timeout
+0x4470 mem_le_scan_params
+0x4470 mem_le_scan_type
+0x4471 mem_le_scan_own_addr_type
+0x4472 mem_le_lap
+0x4475 mem_le_uap
+0x4476 mem_le_nap
+0x4478 mem_le_local_mtu
+0x447a mem_le_remote_mtu
+0x447c mem_le_skdm
+0x4484 mem_le_skds
+0x448c mem_le_init_superto
+0x448e mem_ui_le_uuid_table
+0x4490 mem_le_secure_connect_enable
+0x4491 mem_le_secure_connect_flag
+0x4492 mem_le_sc_calc
+0x4493 mem_le_secure_connect_state
+0x4494 mem_le_sc_confirm_gkey_flag
+0x4495 mem_le_sc_local_key_invalid
+0x4496 mem_le_pairing_state
+0x4497 mem_le_enc_state
+0x4498 mem_le_pairing_mode
+0x4499 mem_le_tk
+0x449d mem_le_ediv
+0x449f mem_le_rand
+0x44a7 mem_le_irk
+0x44b7 mem_le_transmit_window
+0x44bb mem_le_configuration
+0x44bc mem_le_fixed_ltk
+0x44cc mem_le_pairing_handle
+0x44ce mem_le_l2cap_size
+0x44d0 mem_le_packet_len_recved
+0x44d1 mem_le_tx_buff_used
+0x44d2 mem_le_tx_ptr0
+0x44d4 mem_le_tx_ptr1
+0x44d6 mem_le_tx_ptr2
+0x44d8 mem_le_tx_ptr3
+0x44da mem_le_signaling_identifier
+0x44db mem_le_l2cap_signaling_conn_param_update_rsp_result
+0x44dd mem_le_packet_size
+0x44de mem_le_packet_llid
+0x44df mem_le_payload_ptr
+0x44e1 mem_le_md_count
+0x44e2 mem_lmp_version
+0x44e5 mem_lmp_subversion
+0x44e7 mem_local_name_length
+0x44e8 mem_local_name
+0x44eb mem_local_name2
+0x452b mem_local_name_end
+0x452c mem_unsniff2sniff_timer
+0x452d mem_switch_flag
+0x452e mem_classic_bt_flag
+0x452f mem_pn_dlci
+0x4530 mem_pn_max_frame_size
+0x4532 memFCStemp1
+0x4533 memFCStemp2
+0x4534 memFCStemp3
+0x4535 mem_rfcomm_initiator
+0x4536 mem_remote_spp_channel
+0x4537 mem_HIUfcs_SPP
+0x4538 mem_HIUfcs_SPP_WCredits
+0x4539 mem_rfcomm_send_more_pkt
+0x453a mem_remote_credits
+0x453b mem_credit_given
+0x453c mem_ms_channel
+0x453d mem_credit_flag
+0x453e mem_rfcomm_max_frame_size
+0x4540 mem_rfcomm_credit_init_data
+0x4541 mem_cb_receive_spp_data
+0x4543 mem_nl_rx_data_src
+0x4545 mem_nl_rx_len_all
+0x4547 mem_ui_uuid_table
+0x4549 mem_all_uuid_16bits
+0x455f mem_all_uuid_128bits
+0x4581 mem_sdp_l2capch_ptr
+0x4583 mem_sp_local_key_invalid
+0x4584 mem_le_private_key_256
+0x45a4 mem_le_pubkey_local_x_256
+0x45c4 mem_le_pubkey_local_y_256
+0x45e4 mem_sp_private_key
+0x45fc mem_sp_pubkey_local
+0x45fc mem_sp_pubkey_local_x
+0x4614 mem_sp_pubkey_local_x_end
+0x4614 mem_sp_pubkey_local_y
+0x462c mem_ssp_enable
+0x462d mem_sp_iocap_local
+0x4630 mem_sp_iocap_remote
+0x4633 mem_flag_mode_ssp_pin
+0x4634 mem_ssp_mode_flag
+0x4635 mem_authentication_passkey_times
+0x4636 mem_passkey_1bit
+0x4637 mem_flag_pairing_state
+0x4638 mem_ipc_lock_bt
+0x4639 mem_ipc_lock_c51
+0x463a mem_ipc_fifo_bt2c51
+0x4642 mem_ipc_fifo_c512bt
+0x464a mem_ui_timer_last_btclk
+0x464e mem_discovery_timeout_timer_count
+0x4650 mem_hid_handshake_timer_count
+0x4651 memui_reconnect_mode
+0x4652 mem_ui_state_map
+0x4654 mem_ui_profile_supported
+0x4655 mem_discovery_timeout
+0x4657 mem_pin_length
+0x4658 mem_pin
+0x4668 mem_soft_version_num
+0x466a mem_current_packet_length
+0x466c mem_module_state
+0x466d mem_module_spp_lpm_mult
+0x466e mem_module_le_lpm_mult
+0x466f mem_module_bluetooth_stauts_by_command
+0x4670 mem_module_le_rx_data_len
+0x4671 mem_module_le_rx_data_address
+0x4673 mem_module_le_rx_data_handle
+0x4675 mem_module_data_write_handle
+0x4677 mem_module_data_write_handle2
+0x4679 mem_module_flag
+0x467a mem_module_hci_notify_len
+0x467b mem_module_hci_notify_handle
+0x467d mem_module_hci_nofiy_addr
+0x467f mem_last_transmite_clock
+0x4683 mem_module_uuid_list
+0x47af mem_module_uuid_list_end
+0x47af mem_module_le_att_list
+0x4a25 mem_module_le_att_list_end
+0x4a25 mem_module_nv_data
+0x4a25 mem_module_nv_data0
+0x4a47 mem_module_nv_data1
+0x4a69 mem_module_nv_data2
+0x4a8b mem_module_nv_data3
+0x4aad mem_module_nv_data4
+0x4acf mem_rfcomm_lmp_dis_flag
+0x4ad0 mem_module_rfcomm_disconnect_count
+0x4ad1 mem_le_buff_len
+0x4ad3 mem_le_buff_len_all
+0x4ad5 mem_module_prepare_write_request_contw
+0x4ad7 mem_module_prepare_write_request_contr
+0x4ad9 mem_module_master_rx_max
+0x4adb mem_le_txheader_temp
+0x4adc mem_le_txlen_temp
+0x4add mem_le_txpayload_temp
+0x4adf mem_le_txcid_temp
+0x4ae1 mem_le_l2cap_temp
+0x4ae2 mem_le_l2cap_response_temp
+0x4ae3 mem_le_txbdy_temp
+0x4bde mem_rf_init
+0x4bed mem_ble_dle_enable
+0x4bee mem_judge_clear_got_tx_falg
+0x4bef mem_2m0_tmier_address
+0x4bf2 mem_wakeup_gpio
+0x4bf3 mem_wake_by_m0
+0x4bf4 mem_ipcbuf_bt2m0_flag
+0x4bf5 mem_ipcbuf_bt2m0_write
+0x4bf7 mem_ipcbuf_bt2m0_read
+0x4bf9 mem_module_uart_cmd_temp
+0x4bfa mem_module_uart_opcode_temp
+0x4bfb mem_module_uart_len_temp
+0x0b1e mem_module_prepare_write_request_packet
+0x0b1e mem_module_prepare_write_request_PDU_length
+0x0b20 mem_module_prepare_write_request_Channel_ID
+0x0b22 mem_module_prepare_write_request_opcode
+0x0b23 mem_module_prepare_write_request_handle
+0x0b25 mem_temp_prepare_write_request_Data
+0x0d7d mem_le_l2capbuf_new
+0x0e81 mem_le_l2capbuf_new_end
+0x0b1e mem_usb_status
+0x0b1f mem_usb_fifo_empty
+0x0b20 mem_usb_read_len
+0x0b21 mem_usb_rxbuf
+0x0b61 mem_bufptr
+0x0b63 mem_remain
+0x0b64 mem_devicedesc
+0x0b78 mem_hidreportdesc_kb
+0x0b7a mem_hidreportdesc_m
+0x0b7c mem_confdesc
+0x0be0 mem_string0
+0x0be5 mem_string1
+0x0c03 mem_string2
+0x0c43 mem_string3
+0x0c61 mem_usb_zero_packet
+0x0c63 mem_usb_ones_packet
+0x0c65 mem_usb_two_packet
+0x0c67 mem_usb0_state
+0x0c68 mem_usb_offline_check_gpio
+0x0c69 mem_usb_tx_interval
+0x0c6a mem_usb_clear_mem_start
+0x0c6a mem_usb_setup
+0x0c6a mem_usb_setup_bmRequestType
+0x0c6b mem_usb_setup_bRequest
+0x0c6c mem_usb_setup_bValue
+0x0c6d mem_usb_setup_bValueH
+0x0c6e mem_usb_setup_wIndex
+0x0c70 mem_usb_setup_bLength
+0x0c71 mem_usb_setup_bLengthH
+0x0c72 mem_usb0_setup
+0x0cb2 mem_usb0_set_report_data
+0x0cf2 mem_usb0_get_report_data
+0x0d32 mem_usb_state
+0x0d33 mem_usb_tx_wait
+0x0d34 mem_usb_tx_enable
+0x0d35 mem_usb_remote_wakeup
+0x0d36 mem_usb_clear_remote_wakeup
+0x0d37 mem_usb_ep0_stall_status
+0x0d38 mem_usb_ep1_stall_status
+0x0d39 mem_usb_ep2_stall_status
+0x0d3a mem_usb_ep3_stall_status
+0x0d3b mem_dsc_info_data_pointer
+0x0d3d mem_dsc_info_len
+0x0d3e mem_usb0_data_ready_report
+0x0d3f mem_usb_tx_win_enable
+0x0d40 mem_usb_tx_mac_enable
+0x0d41 mem_usb_device_enumeration_endflag
+0x0d42 mem_usb_wakestate_onetime_flag
+0x0d43 mem_usb_mac_wakeup_trig
+0x0d44 mem_usb_set_high_addr_flag
+0x0d45 mem_usb_set_protocol_value
+0x0d46 mem_usb_set_protocol_status
+0x0d47 mem_usb_get_protocol_flag
+0x0d48 mem_usb_idle_flag
+0x0d49 mem_usb_idle_rate
+0x0d4a mem_usb_setup_bValue_temp
+0x0d4c mem_usb0_get_set_report
+0x0d4d mem_usb_ep1_data
+0x0d4e mem_usb_ep2_data
+0x0d4f mem_usb_clear_halt
+0x0d50 mem_usb_mouse_data
+0x0d60 mem_usb_kb_data
+0x0d70 mem_usb_kb_multikey
+0x0d80 mem_usb_kb_data_sta_data
+0x0d88 mem_usb_kb_data_last_data
+0x0d90 mem_usb_kb_multikey_sta_data
+0x0d93 mem_usb_kb_multikey_last_data
+0x0d96 mem_usb_kb_blank_data_enable
+0x0d97 mem_usb_kb_mul_blank_data_enable
+0x0d98 mem_usb_test_cnt
+0x0d99 mem_usb_clear_mem_end
+0x0d99 mem_usb_test_kb
+0x0d9a mem_rssi_noise_buffer
+0x0e9a mem_rssi_noise_dg_buffer
+0x0f9a mem_rssi_noise_ms_buffer
+0x109a mem_rssi_noise_kb_buffer
+0x119a mem_24g_common_temp
Index: muyu/output/otp.dat
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/BT_code_patch/print/branches/muyu/output/otp.dat	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/BT_code_patch/print/branches/muyu/output/otp.dat	(working copy)
@@ -0,0 +1,8 @@
+00
+02
+aa
+55
+00
+00
+b3
+23
Index: muyu/patch/patch.prog
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/BT_code_patch/print/branches/muyu/patch/patch.prog	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/BT_code_patch/print/branches/muyu/patch/patch.prog	(working copy)
@@ -0,0 +1,1570 @@
+
+
+/******************************************/
+/**************   Start   *****************/
+/******************************************/
+
+p_start:
+	bbit1 8,pf_patch_ext
+	beq patch00_0,p_soft_reset0
+	beq patch00_1,p_soft_reset
+	beq patch06_4,p_send_eir
+	beq patch07_5,p_slave_loop
+	beq patch0a_5,p_am_addr_ok
+	beq patch0c_0,p_process_dmh_data_end
+	beq patch10_5,p_shutdown_radio
+	beq patch11_1,p_set_freq_tx
+	beq patch11_5,p_set_rccal
+	beq patch12_4,p_ahead_window
+	beq patch14_2,p_init_param
+	beq patch14_3,p_lpm_adjust_clk
+	beq patch15_1,p_lpm_dispatch_next
+	beq patch15_4,p_lpm_unconn_nossp
+//	beq patch16_1,p_lpm_check_wake_lock
+	beq patch17_0,p_module_init
+	beq patch17_3,p_module_hci_cmd_control
+	beq patch17_4,p_module_hci_cmd_transmit_le_notify
+	beq patch17_5,p_module_hci_prepare_tx
+	beq patch1b_3,p_l2cap_malloc
+	beq patch1d_3,p_le_init_conn
+	beq patch1e_1,p_le_slave_dispatch
+	beq patch1e_5,p_le_slave_more_data
+	branch assert
+pf_patch_ext:
+	beq patch20_3,p_le_receive_skip
+	beq patch20_5,p_le_transmit_receive_sifs
+	beq patch20_6,p_le_transmit
+	beq patch20_7,p_le_transmit0
+	beq patch21_0,p_le_send_adv_ind
+	beq patch21_3,p_le_send_scan_response
+	beq patch22_3,p_le_acknowledge
+	beq patch22_4,p_le_check_wak
+	beq patch23_4,p_le_prepare_tx
+	beq patch23_6,p_le_send_packet
+	beq patch23_7,p_le_parse
+	beq patch24_2,p_le_parse_l2cap	
+	beq patch26_2,p_le_lpm_set_mult
+	beq patch27_2,p_parse_lmp
+
+	beq patch27_6,p_send_lmp
+	beq patch28_1,p_ssp_disable
+	beq patch2a_0,p_rfcomm_init_spp
+	beq patch2a_2,p_parse_dlci0_rp
+	beq patch31_5,p_le_encrypt
+	beq patch33_1,p_sp_initialize_256
+	branch assert
+
+p_am_addr_ok:
+	fetch 1,mem_rx_type
+	icopy type
+	bmark1 mark_am_addr_broadcast,arqn_bypass        /* arqn doesn't make sense */
+	fetcht 1,mem_temp_arq
+	fetch 1,mem_arq
+	set0 flow,pdata
+	isolate1 flow,temp
+	setflag true,flow,pdata
+	isolate1 arqn,temp
+	setflag true,arqn,pdata
+	store 1,mem_arq
+	isolate0 arqn,temp
+	branch arqn_bypass,true
+	call p_clear_got_tx
+	branch arqn_bypass
+
+p_clear_got_tx: 
+	fetch 1,mem_arq 
+	rtnbit0 wack 
+	set0 wack,pdata 
+	setflip seqnx,pdata 
+	store 1,mem_arq 
+	jam 1,mem_judge_clear_got_tx_falg 
+	rtn
+	
+
+p_slave_loop:
+//	bpatch patch07_5,mem_patch07
+	call check_bt_disabled
+	call scheduler_process
+	call slave_conn_recv_packet	/* go listen for a packet */
+
+	fetch 1,mem_judge_clear_got_tx_falg
+	ncall p_clear_got_tx1,blank
+
+	nbranch slave_notmatch,match
+	call supervision_flush
+	call scheduler_tx_l2cap_pkt
+	call prepare_tx
+	call slave_conn_send_packet
+	call parse_l2cap
+	call parse_lmp
+	fetch 1,mem_slave_rcvcnt
+	increase 1,pdata
+	store 1,mem_slave_rcvcnt
+	call calc_clke_offset
+	branch slave_notmatch
+
+
+p_clear_got_tx1:
+	jam 0,mem_judge_clear_got_tx_falg 
+	branch clear_got_tx+6
+
+p_send_eir:
+	fetch 1,mem_state_map
+	set0 smap_encryption,pdata
+	store 1,mem_state_map
+	branch send_eir+1
+
+
+p_soft_reset0:
+	hfetch 1,rfen_chgpump
+	set1 6,pdata
+	hstore 1,rfen_chgpump
+
+	jam 1,mem_wake_by_m0
+	deposit auxcnt
+	nbranch soft_reset+1,blank
+	jam 0,mem_wake_by_m0
+	branch soft_reset+1
+
+p_set_rccal:
+	fetch 1,mem_rf_rccal
+	set0 5,pdata
+	sub pdata,0x09,null
+	branch p_reset_mem_rf_rccal_min09,positive
+	sub pdata,0x0f,null
+	nbranch p_reset_mem_rf_rccal_max0f,positive
+	branch set_rccal+1
+
+p_reset_mem_rf_rccal_min09:
+	jam 0x09,mem_rf_rccal
+	branch set_rccal+1
+p_reset_mem_rf_rccal_max0f:
+	jam 0x0f,mem_rf_rccal
+	branch set_rccal+1
+
+
+
+p_process_dmh_data_end:
+	fetch 1,mem_l2cap_rxbuff_new
+	beq 1,p_process_l2cap_pass_crc_buff1
+	beq 2,p_process_l2cap_pass_crc_buff2
+	branch assert
+p_process_l2cap_pass_crc_buff1:
+	fetch 2,mem_l2cap_rxbuff1_len
+	fetcht 2,mem_len
+	iadd temp,pdata
+	store 2,mem_l2cap_rxbuff1_len
+	sub pdata,0,null
+	branch assert,zero
+	fetcht 2,mem_l2cap_rxbuff1// l2cap payload length
+	increase 4,temp
+	isub temp,null
+	call l2cap_buff1_inuse,zero //l2cap pkts not ended
+	branch process_dmh_cont
+p_process_l2cap_pass_crc_buff2:
+	fetch 2,mem_l2cap_rxbuff2_len
+	fetcht 2,mem_len
+	iadd temp,pdata
+	store 2,mem_l2cap_rxbuff2_len
+	sub pdata,0,null
+	branch assert,zero
+	fetcht 2,mem_l2cap_rxbuff2// l2cap payload length 
+	add temp,4,temp
+	isub temp,null
+	call l2cap_buff2_inuse,zero //l2cap pkts not ended
+	branch process_dmh_cont
+
+
+
+
+p_le_slave_dispatch:
+//	bpatch patch1e_1,mem_patch1e
+	set0 mark_buf_full,mark
+	jam 0,mem_le_md_count
+ifdef SECURE_CONNECTION
+	call sp_calc_sequence_256
+	call le_secure_connect_sm
+endif
+	disable attempt
+	call le_supervision_update
+	branch le_slave_disconn,positive
+	call check_ble_disabled
+	call le_setup
+	call le_receive_slave
+	nbranch le_slave_unsync,sync	// vol.6 part B 4.5.1 respond even crc error
+	call p_check_ipcbuf_size,match
+	fetch 1,mem_ipcbuf_bt2m0_flag
+	ncall p_buf_full,blank
+	call le_got_first_packet
+	branch le_slave_match,match
+	bmark1 mark_buf_full,le_slave_match
+	branch le_slave_cont	
+p_buf_full:
+	set1 mark_buf_full,mark
+	disable match
+	rtn
+p_le_slave_more_data:
+//	bpatch patch1e_5,mem_patch1e
+	enable attempt
+	call le_transmit_receive_sifs_notx
+	call p_check_ipcbuf_size,match
+	fetch 1,mem_ipcbuf_bt2m0_flag
+	ncall p_buf_full,blank
+	branch le_slave_match,match
+	bmark1 mark_buf_full,le_slave_match
+	branch le_slave_cont
+p_ahead_window:
+    copy temp,pdata
+    call clk2bt
+    lshift16 bt_clk,pdata
+    set1 44,pdata
+    call clk_diff
+    set0 44,pdata
+    call get_clk
+    call clk_diff
+    rtn user
+    call p_clk2rt
+    branch ahead_window+12
+    
+p_lpm_adjust_clk:
+    deposit clke
+    call p_clk_diff_rt
+    branch lpm_adjust_clk+3
+
+p_lpm_dispatch_next:
+    fetch 2,mem_context + coffset_rx_window
+    rshift pdata,pdata
+    call clk2bt
+    deposit alarm
+    call clk_diff
+    copy clke,temp
+    call p_clk_diff_rt
+    branch lpm_dispatch_next+30
+
+p_clk_diff_rt:
+    call clk_diff
+p_clk2rt:
+    iforce contr
+    set0 16,contr
+    branch clk2rt+1
+
+	
+p_soft_reset:
+	call rfcomm_init
+	call init_lmp
+	call p_ui_init
+	branch soft_reset + 9
+
+p_ui_init:
+	rtn wake
+	branch ui_timer_init
+
+p_shutdown_radio:
+	branch p_shutdown_radio0,is_rx
+	hjam 0xd4, 0x955
+	nop 4
+	hjam 0xd2, 0x955
+	nop 4
+	hjam 0xd1, 0x955
+	nop 4	
+	fetch 1,mem_tx_power
+	beq TX_POWER_0DB,p_shutdown_radio_0db
+	beq TX_POWER_3DB,p_shutdown_radio_3db
+	beq TX_POWER_5DB,p_shutdown_radio_5db
+	beq TX_POWER_f3DB,p_shutdown_radio_f3db
+	beq TX_POWER_f5DB,p_shutdown_radio_f5db
+	beq TX_POWER_PAIR,p_shutdown_radio_pair
+p_shutdown_radio_5db:	
+p_shutdown_radio_0db:
+	hjam 0xd0, 0x955
+	hjam 0xe0, 0x956
+p_shutdown_radio0:
+	force 0x08,radio_ctrl
+	force 0,radio_ctrl
+	disable is_rx
+	disable is_tx
+	pulse packet_end
+	hjam 0x0,rfen_mdm
+	hjam 0x0,rfen_tx
+	hjam 0x0,rfen_rx
+	hjam 0,rfen_sn
+	hjam 0x70,rfen_msc
+	fetch 1,rfen_adc
+	set1 0,pdata
+	store 1,rfen_adc
+	rtn
+	
+p_shutdown_radio_pair:
+p_shutdown_radio_f5db:
+p_shutdown_radio_f3db:
+p_shutdown_radio_3db:
+	hjam 0xd0,0x955
+	hjam 0xc0,0x956
+	branch p_shutdown_radio0
+
+p_set_freq_tx:
+	storet 1,mem_last_freq
+	call set_freq_tx_offset
+	call rf_write_freq
+	setarg param_pll_setup
+	call sleep
+p_txon:	
+	fetch 1,rfen_adc
+	set1 0,pdata
+	store 1,rfen_adc
+	branch txon+1
+
+
+p_init_param:
+	hjam 0x7c,rfen_adc
+	rtn wake
+	setarg 0
+	store 2,mem_tx_len
+	rshift clkn_bt,pdata
+	store 4,mem_last_clkn
+	rtn
+	
+p_lpm_unconn_nossp:
+	branch lpm_unconn_cont				//BT/BLE discover don't infect lpm
+
+p_module_init:
+	setarg p_module_process_idle
+	store 2,mem_cb_idle_process
+
+	setarg p_module_process_bb_event
+	store 2,mem_cb_bb_event_process
+
+	setarg p_module_bb_event_timer
+	store 2,mem_cb_event_timer
+
+	setarg p_module_le_receive_data
+	store 2,mem_cb_att_write
+
+	setarg p_module_lpm_lock
+	store 2,mem_cb_check_wakelock
+
+	setarg p_module_bt_conn_process
+	store 2,mem_cb_bt_process
+
+	setarg p_module_hci_event_receive_spp_data
+	store 2,mem_cb_receive_spp_data
+
+	call module_lpm_uart_init
+	call module_gpio_init
+	call check_module_disabled
+	branch module_hci_event_enter_standby_mode
+
+p_module_process_idle:
+	call p_module_control_air_flow
+	call l2cap_malloc_is_fifo_full
+	nrtn blank
+	branch module_process
+	
+p_wait_bt2m0_writeread_index_equal:
+	fetcht 2,IPC_BT2M0_READ_PTR
+	fetch 2,IPC_BT2M0_WRITE_PTR
+	isub temp,pdata
+	rtn zero
+	branch p_wait_bt2m0_writeread_index_equal
+
+p_update_bt_ipc_addr:
+	call p_wait_bt2m0_writeread_index_equal
+	setarg 0x1800
+	store 2,IPC_BT2M0_START_ADDR
+	store 2,IPC_BT2M0_READ_PTR
+	store 2,IPC_BT2M0_WRITE_PTR
+
+	fetch 2,IPC_BT2M0_END_ADDR
+	store 2,core_sec_teaddr
+	fetch 2,IPC_BT2M0_START_ADDR
+	store 2,core_sec_tsaddr
+	copy pdata,contwu
+	rtn
+
+p_update_ble_ipc_addr:
+	call p_wait_bt2m0_writeread_index_equal
+	setarg 0x1c00
+	store 2,IPC_BT2M0_START_ADDR
+	store 2,IPC_BT2M0_READ_PTR
+	store 2,IPC_BT2M0_WRITE_PTR
+
+	fetch 2,IPC_BT2M0_END_ADDR
+	store 2,core_sec_teaddr
+	fetch 2,IPC_BT2M0_START_ADDR
+	store 2,core_sec_tsaddr
+	copy pdata,contwu
+	rtn
+	
+	
+p_module_process_bb_event:
+	copy regc,pdata
+	beq BT_EVT_SPP_DISCONNECTED,p_module_process_spp_disconnected
+	beq BT_EVT_BB_DISCONNECTED,p_module_process_bb_event_disconned
+	beq BT_EVT_LE_CONNECTED,p_module_process_le_conn
+	beq BT_EVT_SPP_CONNECTED,p_module_process_spp_connected
+	branch module_process_bb_event + 1
+	
+p_module_process_spp_connected:
+	call p_update_bt_ipc_addr
+	branch module_process_spp_connected
+
+p_module_process_bb_event_disconned:
+    	jam 0,mem_module_rfcomm_disconnect_count
+	branch module_process_bb_event_disconned
+
+p_module_process_spp_disconnected:
+	fetch 1,mem_rfcomm_lmp_dis_flag
+	ncall p_set_rfcomm_disconnect_count,blank
+	call p_update_ble_ipc_addr
+	jam 6,mem_module_rfcomm_disconnect_count
+	branch module_process_spp_disconnected
+p_set_rfcomm_disconnect_count:
+	jam 6,mem_module_rfcomm_disconnect_count
+	rtn
+p_module_process_le_conn:
+	call p_update_ble_ipc_addr
+	call module_clear_recv_confirm_flag
+	branch module_process_le_conn
+
+
+p_module_bb_event_timer:
+	call p_module_rfcomm_disconnect_timer
+	branch module_bb_event_timer
+	
+	
+
+p_module_rfcomm_disconnect_timer:
+	fetch 1,mem_module_rfcomm_disconnect_count
+	rtn blank
+	increase -1,pdata
+	store 1,mem_module_rfcomm_disconnect_count
+	nrtn blank
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_CONNECTED,app_bt_disconnect
+	rtn
+
+p_module_le_receive_data:
+	call module_check_ble_encrypt_state
+	rtn user
+	copy rega,pdata
+	store 2,mem_module_le_rx_data_address
+	call p_check_ble_40_or_42
+//	copy loopcnt,pdata
+	store 1,mem_module_le_rx_data_len
+	fetcht 2,mem_le_att_handle
+	storet 2,mem_module_le_rx_data_handle
+
+	call le_att_get_handle_info
+	nbranch assert,blank
+	fetch 1,mem_le_cur_uuid_length	//	uuid length
+//	bne 0x02,module_hci_event_receive_le_data
+//	ifetcht 2,contr
+//	setarg CLIENT_CHARACTERTIC_CONFIGURATION
+//	isub temp,null
+//	rtn zero		//filter ccc handle data
+//	branch p_module_hci_event_receive_le_data_notify,zero
+	branch module_hci_event_receive_le_data
+	
+p_check_ble_40_or_42:
+	fetch 1,mem_ble_dle_enable
+	nbranch p_check_ble_40,blank
+p_check_ble_42:
+	copy loopcnt,pdata
+	rtn	
+p_check_ble_40:
+	copy regb,pdata
+	rtn
+	
+
+module_hci_cmd_set_wake_gpio:
+	ifetch 1,contru
+	store 1,mem_wakeup_gpio
+
+	branch module_hci_event_receive_valid_cmd
+
+p_module_lpm_lock:
+	call p_le_check_complete_packet
+	nbranch p_app_get_lpm_wake_lock,user
+
+
+	fetch 1,mem_wakeup_gpio
+	copy pdata,queue
+	hfetch 6,core_gpio_in
+	qisolate1 pdata
+	branch p_app_get_lpm_wake_lock,true
+
+	
+	fetch 1,mem_wake_by_m0
+	nbranch p_app_get_lpm_wake_lock,blank
+
+	
+	fetch 1,IPC_HOLD_BT
+	beq 1,p_app_get_lpm_wake_lock
+	fetch 1,mem_le_pairing_state
+	bne FLAG_LE_PAIRING_NULL,p_module_lpm_lock_check_pairing
+	branch app_put_lpm_wake_lock
+p_module_lpm_lock_check_pairing:
+	beq FLAG_LE_PAIRING_END,app_put_lpm_wake_lock
+	branch p_app_get_lpm_wake_lock
+
+p_app_get_lpm_wake_lock:
+	call wake_up_m0
+	branch app_get_lpm_wake_lock
+
+p_module_bt_conn_process:
+	call p_module_spp_enter_sniff
+	call p_module_control_air_flow
+	call l2cap_malloc_is_fifo_full
+	nrtn blank
+	branch module_process
+	
+	
+p_module_control_air_flow:
+	call p_check_ipcbuf_size
+	
+	branch app_l2cap_flow_control_enable,positive
+	branch app_l2cap_flow_control_disable
+	
+
+p_module_spp_enter_sniff:
+//	branch module_spp_enter_sniff+1
+	rtn
+
+p_module_hci_event_receive_spp_data:
+	call module_spp_clear_last_transmite_clock
+p_ng_event_receive_spp_data0:
+	jam HCI_EVENT_SPP_DATA_REP,mem_module_uart_opcode
+	fetch 2,mem_current_length
+	rtn blank
+//	arg 255,temp
+//	call not_greater_than
+	copy pdata,loopcnt
+	fetch 2,mem_current_length
+	isub loopcnt,pdata
+	store 2,mem_current_length
+	copy loopcnt,pdata
+	call p_module_hci_prepare_tx1
+	fetch 2,mem_rfcomm_uih_payload_ptr
+	copy pdata,contr
+	call uart_copy_tx_bytes_fast
+	copy contr,pdata
+	store 2,mem_rfcomm_uih_payload_ptr
+	call uartd_send
+	branch p_ng_event_receive_spp_data0
+
+
+
+p_module_hci_cmd_control:
+	fetch 1,mem_module_uart_opcode
+	beq HCI_CMD_SLEEP,p_module_hci_cmd_enter_sleep
+	beq HCI_CMD_SET_PAIRING_REQ,p_module_hci_cmd_set_pairing_mode
+	beq HCI_CMD_DELETE_CUSTOMIZE_SERVICE,module_hci_cmd_delete_customize_service
+	beq HCI_CMD_ADD_SERVICE_UUID,module_hci_cmd_add_service_uuid
+	beq HCI_CMD_ADD_CHARACTERISTIC_UUID,module_hci_cmd_add_characteristic_uuid
+	beq HCI_CMD_SET_COD,module_hci_cmd_le_set_adv_data_set_cod
+	beq HCI_CMD_ALL_ROUND,module_hci_cmd_all_round
+	beq HCI_CMD_SET_WAKE_GPIO,module_hci_cmd_set_wake_gpio
+	//beq HCI_CMD_SET_CREDIT_GIVEN,p_module_hci_cmd_set_credit_given
+	beq HCI_TEST_CMD_CLOSE_LPM,p_module_hci_test_cmde_close_lpm
+	branch module_hci_cmd_control + 2
+
+p_module_hci_test_cmde_close_lpm:
+	jam 0,mem_wake_by_m0
+	branch module_hci_test_cmde_close_lpm
+p_module_hci_cmd_set_pairing_mode:
+	copy rega,contru
+	ifetch 1,contru
+	beq PAIRING_PINCODE,module_hci_pairing_pincode_mode
+	beq PAIRING_JUSTWORK,module_hci_pairing_just_work_mode
+	beq PAIRING_PASSKEY,module_hci_pairing_passkey
+	beq PAIRING_CONFIRM,p_module_hci_pairing_numeric_comparison
+	branch module_hci_event_receive_invalid_cmd
+
+p_module_hci_pairing_numeric_comparison:
+	setarg 0x000001
+	branch module_hci_sspairing_mode
+
+module_hci_cmd_delete_customize_service:
+	arg 0x0001,temp
+	call le_att_get_handle_ptr2
+	add contr,-2,contw
+	setarg 0x0000
+	istore 2,contw
+	branch module_hci_event_receive_valid_cmd
+
+module_hci_cmd_add_service_uuid:
+	arg 0x01,temp
+	call module_hci_cmd_add_service_uuid_set_uuid
+	call uart_copy_rx_bytes_len_data
+	setarg 0x0000
+	istore 2,contw
+	branch module_hci_event_uuid_handle
+
+module_hci_cmd_add_characteristic_uuid:
+	ifetch 1,contru	//Characteristic
+	call module_hci_cmd_add_characteristic_uuid_set_handle
+	call module_hci_cmd_add_characteristic_uuid_set_uuid
+	branch module_hci_event_uuid_handle
+
+module_hci_cmd_add_service_uuid_set_uuid:
+	call le_att_creat_new_handle
+	setarg 0x280002
+	istore 3,contw
+	rtn
+
+module_hci_cmd_add_characteristic_uuid_set_handle:
+	store 1,mem_pdatatemp
+	call le_att_creat_new_handle
+	setarg 0x01280302
+	istore 4,contw
+	fetch 1,mem_pdatatemp
+	istore 3,contw
+	rtn
+
+module_hci_cmd_add_characteristic_uuid_set_uuid:
+	call le_att_creat_new_handle
+	call uart_copy_rx_bytes_len_data		//uuid
+	call uart_copy_rx_bytes_len_data		//data
+	setarg 0
+	istore 2,contw
+	increase -1,temp
+	call le_att_get_handle_ptr2
+	add contr,4,contr
+	ifetch 1,contr		//characteristic data
+	bbit1 BIT_CHARACTERISTIC_NOTIFY,module_hci_cmd_add_characteristic_uuid_set_ccc_uuid
+	bbit1 BIT_CHARACTERISTIC_INDICATE,module_hci_cmd_add_characteristic_uuid_set_ccc_uuid
+	increase 1,temp
+	rtn
+
+module_hci_cmd_add_characteristic_uuid_set_ccc_uuid:
+	call le_att_creat_new_handle
+	setarg 0x02290202
+	istore 4,contw
+	setarg 0x0100
+	istore 4,contw
+	increase -1,temp
+	rtn
+
+
+uart_copy_rx_bytes_len_data:
+	ifetch 1,contru
+	copy pdata,loopcnt
+	istore 1,contw
+	branch uart_copy_rx_bytes
+
+
+le_att_creat_new_handle:
+	call le_att_get_last_handle
+	istoret 2,contw
+	rtn
+
+//output:temp:new handle num
+//contr:address write data
+le_att_get_last_handle:
+	fetch 2,mem_ui_le_uuid_table
+	iforce contr
+	iforce contw
+le_att_get_last_handle_loop:
+	ifetch 2,contr
+	rtn blank
+	add pdata,1,temp
+	ifetch 1,contr
+	iadd contr,contr	
+	ifetch 1,contr			// length
+	iadd contr,contr
+	copy contr,contw
+	branch le_att_get_last_handle_loop
+
+
+//input:temp uuid number
+module_hci_event_uuid_handle:
+	storet 2,mem_temp
+	jam HCI_EVENT_UUID_HANDLE,mem_module_uart_opcode
+	setarg 2
+	call module_hci_prepare_tx
+	fetcht 2,mem_temp
+	istoret 2,contwu
+	branch uartd_send
+
+module_hci_cmd_le_set_adv_data_set_cod:
+	ifetch 3,contru
+	store 3,mem_class
+	branch module_hci_event_receive_valid_cmd
+	
+module_hci_cmd_all_round:
+	ifetch 1,contru
+	beq 0x00,module_hci_cmd_all_round_write
+	beq 0x01,module_hci_cmd_all_round_read
+	beq 0x02,module_hci_cmd_all_round_write_addhi
+	branch module_hci_event_receive_invalid_cmd
+	
+module_hci_cmd_all_round_read:
+	ifetch 2,contru
+	copy pdata,regb
+	ifetch 1,contru
+	copy pdata,rega
+	arg 0x00,temp
+	branch module_hci_event_set_cmd
+
+module_hci_cmd_all_round_write:
+	ifetch 2,contru
+	copy pdata,contw
+	ifetch 1,contru
+	copy pdata,loopcnt
+	call uart_copy_rx_bytes_fast
+	branch module_hci_event_receive_valid_cmd
+
+module_hci_cmd_all_round_write_addhi:
+	ifetch 1,contru
+	copy pdata,addhi
+	branch module_hci_event_receive_valid_cmd
+
+
+p_module_hci_cmd_enter_sleep:
+	call module_hci_event_receive_valid_cmd
+	branch app_enter_hibernate
+
+p_module_hci_cmd_transmit_le_notify:
+	fetch 1,mem_module_flag
+	bbit1 MODULE_RECEIVE_COMPLETE_PREPARE_WRITE_REQ,p_le_send_att_prepare_write_response
+	fetch 1,mem_module_flag
+	rtnbit1 MODULE_RECV_CONFIRM
+	add temp,-3,pdata		//sub handle and opcode
+	arg 200,temp	
+	call not_greater_than
+	fetcht 1,mem_module_hci_notify_len
+	call not_greater_than
+	copy pdata,rega
+	copy temp,pdata
+	isub rega,pdata
+	store 1,mem_module_hci_notify_len
+	fetcht 2,mem_module_hci_notify_handle
+	increase -1,temp
+	call le_att_get_handle_ptr2
+	branch p_module_hci_cmd_transmit_handle_error,blank
+	ifetcht 4,contr		//flag
+	setarg 0x01280302
+	isub temp,null
+	nbranch p_module_hci_cmd_transmit_handle_error,zero
+	ifetch 1,contr			//Characteristic
+	bbit1 BIT_CHARACTERISTIC_INDICATE,p_module_hci_cmd_transmit_le_indicate
+	bbit1 BIT_CHARACTERISTIC_NOTIFY,module_hci_cmd_transmit_le_notify + 13
+	branch p_module_hci_cmd_transmit_handle_error
+
+p_module_hci_cmd_transmit_le_indicate:
+	call module_set_recv_confirm_flag
+	fetcht 2,mem_module_hci_notify_handle
+	call le_att_malloc_tx_indication
+	branch module_hci_cmd_transmit_le_notify+15
+
+p_module_hci_cmd_transmit_handle_error:
+	jam 0,mem_module_hci_notify_len
+	jam HCI_DISCARD_PACKET,mem_module_temp_nl_discard_packet 
+	call module_clear_le_tx_data_flag
+	branch module_hci_event_receive_invalid_cmd
+
+p_module_hci_prepare_tx:
+	fetch 1,mem_module_uart_opcode
+	store 2,mem_module_uart_opcode_temp
+	jam 0x02,mem_module_uart_cmd_temp
+	fetch 1,mem_module_uart_len
+	store 2,mem_module_uart_len_temp
+	storet 8,mem_temp
+	fetcht 8,mem_temp
+	call uartd_prepare_tx
+	fetch 4,mem_module_uart_cmd_temp
+	istore 4,contwu
+	rtn
+
+p_module_hci_prepare_tx1:
+	store 2,mem_module_uart_len_temp
+	fetch 1,mem_module_uart_opcode
+	store 1,mem_module_uart_opcode_temp
+	jam 0x02,mem_module_uart_cmd_temp
+	storet 8,mem_temp
+	fetcht 8,mem_temp
+	call uartd_prepare_tx
+	fetch 4,mem_module_uart_cmd_temp
+	istore 4,contwu
+	rtn
+
+p_l2cap_malloc:
+	arg 0,regb
+	call l2cap_malloc_is_fifo_full
+	nbranch assert,blank//assert when fifo full
+	call l2cap_malloc_get_full_map
+	arg 0xc00,regB//pbuff = buff0;
+	arg 0,queue // i = 0;
+	branch l2cap_malloc_loop
+
+
+
+p_le_init_conn:
+	fetch 1,mem_ble_dle_enable
+	nbranch le_init_conn+1,blank
+
+	call le_init_conn+1
+	jam 1,mem_le_txheader_temp
+	jam 0,mem_le_txlen_temp
+	setarg 0
+	store 8,mem_le_buff_len
+	setarg 27
+	store 2,mem_module_master_rx_max
+	rtn
+
+p_le_receive_skip:
+	call save_rssi
+	enable enable_white
+	enable enable_crc
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	store 1,mem_le_rxbuf
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	istore 1,contw
+	copy pdata,loopcnt
+	branch lerx_nopayload,blank
+	branch lerx_loop
+
+p_le_transmit_receive_sifs:
+	call le_transmit
+	call set_sync_on
+	fetcht 1,mem_last_freq
+	call set_freq_rx
+	nop 1500
+	call rf_rx_enable
+	enable swfine
+	arg 5500,timeup 
+	branch le_receive_rxon
+
+p_le_transmit:
+	call le_prep
+	call p_letx_setfreq
+	branch le_transmit0
+
+p_letx_setfreq:
+	branch p_txon,match
+	bmark1 mark_buf_full,p_txon
+	branch letx_setfreq+1
+
+p_le_transmit0:
+	fetch 1,mem_ble_dle_enable
+	nbranch le_transmit0+12,blank
+	
+	fetch 1,mem_le_txheader_temp
+	inject mod,8
+	ifetch 1,contr
+	copy pdata,loopcnt
+	inject mod,8
+	branch letr_nopayload,zero
+	branch letr_loop
+
+p_le_send_adv_ind:
+	fetch 1,mem_ble_dle_enable
+	nbranch le_send_adv_ind+1,blank
+
+	fetch 1,mem_le_adv_type
+	beq ADV_DIRECT_IND,le_send_adv_direct_ind
+	fetch 1,mem_le_adv_own_addr_type
+	lshift4 pdata,pdata
+	lshift2 pdata,pdata
+	store 1,mem_le_txheader_temp
+	fetcht 1,mem_le_adv_data_len
+	add temp,6,pdata
+	store 1,mem_le_txlen_temp
+	fetch 6,mem_le_lap
+	store 6,mem_le_txpayload_temp
+	copy temp,loopcnt
+	arg mem_le_adv_data,contr
+	call memcpy_fast
+	branch le_send_adv_transmit
+
+
+p_le_send_scan_response:
+	fetch 1,mem_ble_dle_enable
+	nbranch le_send_scan_response+1,blank
+
+	arg SCAN_RSP,temp
+	fetch 1,mem_le_adv_own_addr_type
+	nsetflag blank,LE_SENDER_ADDR_BIT,temp
+	storet 1,mem_le_txheader_temp
+	fetcht 1,mem_le_scan_data_len
+	add temp,6,pdata
+	store 1,mem_le_txlen_temp
+	fetch 6,mem_le_lap
+	store 6,mem_le_txpayload_temp
+	arg mem_le_scan_data,contr
+	copy temp,loopcnt
+	call memcpy_fast
+	call le_transmit_norx
+	branch le_adv_not_match
+
+p_le_acknowledge:
+	call le_supervision_flush
+	rtnmark1 mark_buf_full
+	call le_check_wak
+	fetch 1,mem_le_rxbuf
+	isolate1 md,pdata
+	setflag true,mark_ble_rx_md,mark
+	rshift pdata,pdata
+	ixor temp,pdata
+	isolate1 nesn,pdata
+	setflag true,mark_old_packet,mark	/* retransmit */
+	rtnmark1 mark_old_packet
+	fetch 1,mem_le_rxbuf+1			
+	branch p_le_ack_unenc,blank		/* empty packet, no decryption */
+	fetch 1,mem_le_state
+	bbit0 lestate_encryption,p_le_ack_unenc
+	call load_sk
+	call le_decrypt
+	nsetflag blank,mark_old_packet,mark
+	nrtn blank
+p_le_ack_unenc:
+	fetcht 1,mem_le_arq
+	setflip nesn,temp
+	storet 1,mem_le_arq
+
+	fetch 1,mem_ble_dle_enable
+	nrtn blank
+
+	branch p_le_parse_writing_attribute
+
+p_le_parse_writing_attribute:
+	fetch 1,mem_le_rxbuf+1
+	rtn blank		//empty packet
+	fetch 1,mem_le_rxbuf
+	compare 1,pdata,3
+	branch p_le_parse_writing_attribute_continue,true //ACL-U continue
+	compare 2,pdata,3
+	branch p_le_parse_writing_attribute_start,true
+	rtn
+
+p_le_parse_writing_attribute_start:
+	fetch 2,mem_le_rxbuf+4//CID
+	rtnne LE_L2CAP_CID_ATT
+	ifetch 3,contr
+	store 3,mem_le_att_opcode
+	set1 mark_old_packet,mark
+	beq ATTOP_WRITE_REQUEST,p_le_parse_att_write_request
+	beq ATTOP_WRITE_COMMAND,p_le_parse_att_write_command
+	beq ATTOP_PREPARE_WRITE_REQUEST,p_le_parse_att_prepare_write_request
+	beq ATTOP_EXECUTE_WRITE_REQUEST,le_parse_att_execute_write_request
+	beq ATTOP_EXCHANGE_MTU_REQUEST,le_parse_att_exchange_mtu_request
+	beq ATTOP_HANDLE_VALUE_CONFIRMATION,p_le_parse_handle_value_confirmation
+	set0 mark_old_packet,mark
+	rtn
+
+p_le_parse_att_prepare_write_request:
+	setarg mem_module_prepare_write_request_packet
+	store 2,mem_module_prepare_write_request_contw
+	call p_le_long_packet_patch
+	increase -2,loopcnt			//attribute value offset
+	arg mem_le_rxbuf+11,rega
+	call le_writeatt_cb
+	branch p_le_parse_att_prepare_write_request_finish
+
+	
+p_le_parse_att_write_request:
+	call p_le_parse_att_write_command
+	branch p_le_send_att_write_response_check_auth
+
+
+p_le_parse_att_write_command:
+	call p_le_long_packet_patch
+	arg mem_le_rxbuf+9,rega
+	branch le_writeatt_cb
+
+
+p_le_long_packet_patch:
+	fetch 1,mem_le_rxbuf+1
+	add pdata,-7,loopcnt
+	increase -4,pdata
+	store 2,mem_le_buff_len	//payload length
+	ifetcht 2,contr		//l2cap length
+	storet 2,mem_le_buff_len_all
+	rtn
+
+
+p_le_parse_writing_attribute_continue:
+	set1 mark_old_packet,mark
+	call p_parse_l2cap_continue_common
+	fetch 1,mem_le_att_opcode
+	beq ATTOP_WRITE_REQUEST,p_parse_l2cap_continue_write_request
+	beq ATTOP_PREPARE_WRITE_REQUEST,p_parse_l2cap_continue_prepare_write_request
+	rtneq ATTOP_WRITE_COMMAND
+	set0 mark_old_packet,mark
+	rtn
+
+p_parse_l2cap_continue_write_common:
+p_parse_l2cap_continue_common:
+	fetch 1,mem_le_rxbuf+1
+	fetcht 2,mem_le_buff_len
+	iadd temp,temp
+	storet 2,mem_le_buff_len
+	copy pdata,loopcnt
+	arg mem_le_rxbuf+2,rega
+	branch le_writeatt_cb
+
+p_parse_l2cap_continue_prepare_write_request:
+	branch p_le_parse_att_prepare_write_request_finish
+
+p_parse_l2cap_continue_write_request:
+p_le_send_att_write_response_check_auth:
+	call p_le_check_complete_packet
+	nrtn user
+	branch le_send_att_write_response_check_auth
+
+//enable user,recevie complete packet
+p_le_check_complete_packet:
+	call disable_user
+	fetch 2,mem_le_buff_len_all
+	fetcht 2,mem_le_buff_len
+	isub temp,null
+	nrtn zero
+	branch enable_user
+
+p_le_parse_att_prepare_write_request_finish:
+	fetch 2,mem_module_prepare_write_request_contw
+	copy pdata,contw
+
+	fetch 1,mem_le_rxbuf+1	//payload length
+	copy pdata,loopcnt
+	call memcpy
+	copy contw,pdata
+	store 2,mem_module_prepare_write_request_contw
+
+	call p_le_check_complete_packet
+	nrtn user
+	arg MODULE_RECEIVE_COMPLETE_PREPARE_WRITE_REQ,queue
+	call module_set_state
+	branch p_le_send_att_prepare_write_response
+
+
+p_le_send_att_prepare_write_response:
+	call le_fifo_check_empty
+	nrtn blank
+	jam ATTOP_PREPARE_WRITE_RESPONSE,mem_module_prepare_write_request_opcode
+	setarg mem_module_prepare_write_request_packet
+	store 2,mem_module_prepare_write_request_contr
+	fetcht 2,mem_module_prepare_write_request_PDU_length
+	increase 4,temp
+	setarg LE_BASEBAND_MAX_BUFFER
+	call not_greater_than
+	add pdata,-4,regb
+	force LLID_START,type
+p_le_send_att_prepare_write_response_continue:
+	copy pdata,rega
+	call le_fifo_malloc_tx + 2
+	fetch 2,mem_module_prepare_write_request_contr
+	copy pdata,contr
+	copy rega,loopcnt
+	call memcpy_fast
+	copy contr,pdata
+	store 2,mem_module_prepare_write_request_contr
+	fetch 2,mem_module_prepare_write_request_PDU_length
+	isub regb,pdata
+	store 2,mem_module_prepare_write_request_PDU_length
+	branch p_le_send_att_prepare_write_response_ending,blank
+	arg LE_BASEBAND_MAX_BUFFER,temp
+	call not_greater_than
+	copy pdata,regb
+	force LLID_CONTINUE,type
+	branch p_le_send_att_prepare_write_response_continue
+
+p_le_send_att_prepare_write_response_ending:
+	setarg 0
+	store 2,mem_module_prepare_write_request_contw
+	arg MODULE_RECEIVE_COMPLETE_PREPARE_WRITE_REQ,queue
+	branch module_clr_state
+
+p_check_ipcbuf_size:
+	jam 0,mem_ipcbuf_bt2m0_flag
+	//call	p_get_ipc_tx_buff
+	fetcht 2,IPC_BT2M0_START_ADDR
+	fetch 2,IPC_BT2M0_END_ADDR
+	isub temp,rega
+	fetcht 2,IPC_BT2M0_READ_PTR
+	fetch 2,IPC_BT2M0_WRITE_PTR
+	storet 2,mem_ipcbuf_bt2m0_read
+	store 2,mem_ipcbuf_bt2m0_write
+	isub temp,pdata
+	branch start_calc_ipcbuf,positive
+	branch start_calc_ipcbuf,zero
+	copy rega,temp
+	fetch 2,mem_ipcbuf_bt2m0_write
+	iadd temp,pdata
+	fetcht 2,mem_ipcbuf_bt2m0_read
+	isub temp,pdata
+	//store 2,0x4bfc
+start_calc_ipcbuf:	
+	arg 0x2c0,temp
+	isub temp,null
+	nrtn positive
+	jam 1,mem_ipcbuf_bt2m0_flag
+	rtn
+	
+p_le_check_wak:	
+//	call p_check_ipcbuf_size
+	fetcht 1,mem_le_arq
+	isolate0 wak,temp
+	rtn true
+	fetch 1,mem_le_rxbuf
+	lshift pdata,pdata
+	ixor temp,pdata
+	rtnbit0 sn			/* received NESN is same as SN, NAK */
+	set0 wak,temp
+	setflip sn,temp
+p_le_check_wak_1:
+	storet 1,mem_le_arq
+	compare 3,temp,3
+	nrtn true
+
+	fetch 1,mem_ble_dle_enable
+	nbranch  le_check_wak_2,blank
+	
+	fetch 1,mem_le_txpayload_temp
+	branch le_check_wak_3
+le_check_wak_2:
+	fetch 1,mem_le_txpayload
+le_check_wak_3:
+	beq LL_START_ENC_REQ,le_set_enc
+	fetch 1,mem_le_enc_state
+	beq FLAG_LE_ENC_PAUSE,le_clear_enc
+	rtn
+
+p_le_prepare_tx:
+	fetch 1,mem_le_arq
+	rtnbit1 wak
+	call le_check_tx_md
+
+
+	fetch 1,mem_ble_dle_enable
+	nbranch le_prepare_tx+4,blank
+	
+	call le_fifo_get_first_tx_ptr	//no packet to send
+	branch le_send_empty,blank
+	ifetch 1,contr
+	ifetcht 1,contr
+	copy temp,rega
+	isub rega,pdata
+	call p_le_get_master_rx_max
+	call not_greater_than
+	copy pdata,temp
+	ifetch 1,contr
+	copy pdata,type
+	copy rega,pdata
+	iadd contr,contr
+	arg mem_le_txpayload_temp,contw
+	copy temp,loopcnt
+	call memcpy_fast
+	call le_update_tx_type
+	call le_send_packet
+	
+	call le_fifo_get_first_tx_ptr
+	ifetch 1,contr
+	copy pdata,rega
+	copy contr,regc
+	ifetcht 1,contr
+	copy temp,regb
+	isub regb,pdata
+	call p_le_get_master_rx_max
+	call not_greater_than
+	iadd regb,pdata
+	istore 1,regc
+	isub rega,null
+	nrtn zero
+	branch le_fifo_release_first_node
+
+
+p_le_get_master_rx_max:
+	copy contr,contw
+	fetcht 2,mem_module_master_rx_max
+	copy contw,contr
+	rtn
+
+p_le_send_packet:
+	fetch 1,mem_ble_dle_enable
+	nbranch le_send_packet+1,blank
+
+	storet 1,mem_le_txlen_temp
+	fetcht 1,mem_le_arq
+	set1 wak,temp
+	and temp,0xfc,pdata
+	ior type,pdata
+	store 1,mem_le_arq
+	and_into 0x1f,pdata
+	isolate1 mark_ble_tx_md,mark
+	setflag true,md,pdata
+	store 1,mem_le_txheader_temp
+
+	fetch 1,mem_le_txheader_temp
+	compare 1,type,3
+	nbranch p_le_send_no_txlen,true
+	fetch 1,mem_le_txlen_temp
+	rtn blank
+p_le_send_no_txlen:
+	fetch 1,mem_le_state
+	rtnbit0 lestate_encryption
+	call load_sk
+	branch le_encrypt
+
+p_le_encrypt:
+	fetch 1,mem_ble_dle_enable
+	nbranch le_encrypt+1,blank
+
+	arg mem_le_txheader_temp,regc
+	fetcht 5,mem_le_pcnt_tx
+	call generate_mic
+	force regidx_xor,regext_index
+	iforce regext
+	force 0,rega					/* rega is block counter */
+	call first_block_data
+	call aes_init				// 1021s ->  do_aes_ctr
+	arg mem_le_txpayload_temp,regc
+	fetch 1,mem_le_txlen_temp
+	add pdata,-1,regb
+	iadd regc,contw
+	force regidx_result,regext_index
+	deposit regext
+	istore 4,contw	
+	call aes_crypt_data
+	fetch 1,mem_le_txlen_temp
+	increase 4,pdata
+	store 1,mem_le_txlen_temp
+	fetcht 5,mem_le_pcnt_tx
+	increase 1,temp
+	storet 5,mem_le_pcnt_tx
+	rtn
+
+p_le_parse:
+	rtnmark1 mark_old_packet
+	rtnmark1 mark_buf_full
+	call le_fifo_check_full
+	nrtn blank
+	fetch 1,mem_le_rxbuf
+	and pdata,0x3,pdata
+	store 1,mem_le_packet_llid
+	ifetch 1,contr
+	store 1,mem_le_packet_size
+	rtn blank							//empty rtn
+	copy contr,pdata
+	store 2,mem_le_payload_ptr
+	fetch 1,mem_le_packet_llid
+	beq LLID_LE_LL,p_le_parse_ll
+	call p_le_check_l2cap_complete
+	arg wake_lock_ble_rx_patch,queue
+	nbranch lpm_get_wake_lock,user
+	call lpm_put_wake_lock
+	branch le_parse_l2cap + 3
+
+
+p_le_check_l2cap_complete:
+	fetch 1,mem_le_packet_llid
+	beq LLID_START,p_le_check_l2cap_llid_start
+	beq LLID_CONTINUE,p_le_check_l2cap_llid_continue
+	rtn
+	
+p_le_check_l2cap_llid_start:
+	fetch 2,mem_le_payload_ptr
+	copy pdata,contr
+	ifetch 2,contr
+	store 2,mem_le_l2cap_size
+	ifetch 2,contr			//CID
+	call le_check_l2cap_CID_legal
+	nrtn user
+	fetcht 1,mem_le_packet_size
+	storet 1,mem_le_packet_len_recved
+	fetch 2,mem_le_l2cap_size
+	increase 4,pdata
+	isub temp,null
+	branch enable_user,zero
+	fetch 1,mem_le_packet_size
+	copy pdata,loopcnt
+	arg mem_le_l2capbuf_new,contw
+	fetch 2,mem_le_payload_ptr
+	copy pdata,contr
+	call memcpy
+	branch disable_user
+	
+p_le_check_l2cap_llid_continue:
+	call le_check_l2cap_continue_legal
+	nrtn user
+	fetch 1,mem_le_packet_len_recved
+	arg mem_le_l2capbuf_new,contw
+	iadd contw,rega
+	fetcht 1,mem_le_packet_size
+	iadd temp,pdata
+	store 1,mem_le_packet_len_recved
+	fetch 1,mem_le_packet_size
+	copy pdata,loopcnt
+	copy rega,contw
+	fetch 2,mem_le_payload_ptr
+	copy pdata,contr
+	call memcpy_fast
+	setarg mem_le_l2capbuf_new
+	store 2,mem_le_payload_ptr		//update ptr->mem_le_l2capbuff
+	fetch 2,mem_le_l2cap_size
+	increase 4,pdata
+	fetcht 1,mem_le_packet_len_recved
+	isub temp,null
+	branch enable_user,zero
+	branch disable_user
+
+
+p_le_parse_ll:
+//	fetch 1,mem_ble_dle_enable
+//	nbranch le_parse_ll,blank
+	fetch 1,mem_le_rxbuf+2
+	beq LL_FEATURE_REQ,p_le_parse_feature_req
+	beq LL_LENGTH_REQ,le_parse_length_request
+	branch le_parse_ll+1
+	
+p_le_parse_feature_req:
+p_le_send_feature_rsp:
+	arg 9,rega
+	arg LL_FEATURE_RSP,regb
+	call le_fifo_malloc_tx_ll
+	//bit0 LE encryption
+	//bit5 LE Data packet Length extension
+	setarg 0x21	
+	istore 8,contw
+	call p_check_ble_dle_enable
+	rtn
+p_check_ble_dle_enable:
+	fetch 1,mem_le_rxbuf+3
+	and pdata,0x20,pdata
+	branch p_set_ble_dle_disable,blank
+	jam DLE_ENABLE,mem_ble_dle_enable
+	rtn
+p_set_ble_dle_disable:
+	jam DLE_DISABLE,mem_ble_dle_enable
+	rtn
+
+le_parse_length_request:
+	ifetch 2,contr
+	store 2,mem_module_master_rx_max
+	branch le_send_length_res
+
+le_send_length_res:
+	arg 9,rega
+	arg LL_LENGTH_RSP,regb
+	call le_fifo_malloc_tx_ll
+	//MaxRxOctets >=27B <=251
+	setarg 251
+	istore 2,contw
+	//MaxRxTime >=328ms <=2120
+	setarg 2120
+	istore 2,contw
+	//MaxTxOctets >=27B
+	setarg 251
+	istore 2,contw
+	//MaxTxTime >=328ms
+	setarg 2120
+	istore 2,contw
+	rtn
+
+
+p_le_parse_l2cap:
+	ifetch 2,contr
+	beq LE_L2CAP_CID_ATT,p_le_parse_att
+	beq LE_L2CAP_CID_SMP,le_parse_smp
+	beq LE_L2CAP_CID_SIGNAL,le_parse_signaling
+	rtn
+
+p_le_parse_att:
+	ifetch 3,contr
+	store 3,mem_le_att_opcode
+//	beq ATTOP_HANDLE_VALUE_CONFIRMATION,p_le_parse_handle_value_confirmation
+	beq ATTOP_READ_BY_GROUP_TYPE_REQUEST,p_le_parse_att_read_by_group_type_request
+	beq ATTOP_READ_BY_TYPE_REQUEST,p_le_parse_att_read_by_type_request
+	branch le_parse_att+2
+
+p_le_parse_handle_value_confirmation:
+module_clear_recv_confirm_flag:
+	arg MODULE_RECV_CONFIRM,queue
+	branch module_clr_state
+
+p_le_parse_att_read_by_group_type_request:
+	call le_get_search_handle_start_end_common
+ 	call le_get_search_att_type
+	arg 1,timeup
+	branch le_send_att_read_by_group_type_response+1
+
+module_set_recv_confirm_flag:
+	arg MODULE_RECV_CONFIRM,queue
+	branch module_set_state
+
+p_le_parse_att_exchange_mtu_request:
+	call le_parse_att_exchange_mtu_response
+	store 2,mem_le_local_mtu
+	branch le_send_att_exchange_mtu_response
+
+p_le_parse_att_read_by_type_request:
+	call le_get_search_handle_start_end_common
+	call le_get_search_att_uuid
+	branch p_le_send_att_read_by_type_response
+
+p_le_send_att_read_by_type_response:
+	fetcht 2,mem_le_search_handle_start
+	storet 2,mem_temp
+	call le_init_attlist_search
+	call le_att_get_handle_ptr2
+	increase -2,contr
+	copy contr,pdata
+	store 2,mem_le_cur_attlist_start_ptr
+
+	fetcht 2,mem_le_search_uuid
+	setarg UUID_CHRCTR_DEVICE_NAME
+	isub temp,null
+	branch p_le_send_att_read_by_type_res_device_name,zero
+	branch le_send_att_read_by_type_response+11
+
+
+
+p_le_send_att_read_by_type_res_device_name:
+	arg UUID_CHRCTR_DEVICE_NAME,temp
+	call le_att_get_short_uuid_ptr
+//	rtn blank
+	branch le_send_att_error_response_notfound,blank
+	branch le_send_att_read_by_type_res_device_name+3
+
+
+
+
+
+
+p_le_lpm_set_mult:
+	fetch 1,mem_ble_dle_enable
+	nbranch le_lpm_set_mult+1,blank
+	
+	disable wake
+	branch p_le_lpm_set_mult_attempt,attempt
+	nbranch le_lpm_lost,match
+p_le_lpm_set_mult_attempt:
+	call lpm_match
+	fetch 2,mem_rx_window_sniff
+	store 2,mem_le_receive_window
+
+	nbranch lpm_mult_short,match
+	bmark1 mark_old_packet,lpm_mult_short
+
+	fetch 1,mem_le_packet_size
+	nbranch lpm_mult_short,blank		// rx not empty, short interval
+	fetch 1,mem_le_txlen_temp
+	nbranch lpm_mult_short,blank		// tx not empty, short interval
+	
+	fetch 1,mem_le_configuration
+	bbit1 BIT_BLE_SHORT_MULT,lpm_mult_short	//check flag,if flag is 1,always short mult
+	
+	fetch 1,mem_le_state
+	bbit1 lestate_update_param,lpm_mult_short
+	branch lpm_mult_wait_timeout
+
+
+p_parse_lmp:
+	fetch 1,mem_lmi_opcode2
+ 	beq LMP_ENCRYPTION_KEY_SIZE_REQ,p_parse_lmp_crypt_key
+	beq LMP_SNIFF_REQ, p_parse_lmp_sniff_req
+ 	branch parse_lmp + 21
+
+p_parse_lmp_crypt_key:
+	fetcht 1,mem_rxbuf+1
+	sub temp,6,null
+	branch reject_lmp_packet_pdu_not_allowed,positive
+	branch parse_lmp_crypt_key + 1
+	
+reject_lmp_packet_pdu_not_allowed:
+	jam PDU_NOT_ALLOWED,mem_lmo_reason2
+	branch reject_lmp_packet
+
+p_parse_lmp_sniff_req:
+	branch parse_lmp_sniff_req+1
+
+
+
+
+p_send_lmp:
+	disable user
+	call lmo_fifo_process
+	fetch 1,mem_lmp_to_send
+	rtn blank
+	bbit1 7,p_send_lmp_escape
+	branch send_lmp0
+	
+p_send_lmp_escape:
+	beq LMP_EXT_FEATURES_RES,p_send_lmpext_features_res
+	beq LMP_EXT_FEATURES_REQ,p_send_lmpext_features_req	
+	branch send_lmp_escape
+
+p_send_lmpext_features_res:
+	call p_check_ssp_enable
+	fetch 1,mem_lmp_to_send
+	branch send_lmpext_features_res
+p_send_lmpext_features_req:
+	call p_check_ssp_enable
+	fetch 1,mem_lmp_to_send
+	branch send_lmpext_features_req
+
+p_check_ssp_enable:
+	fetch 1,mem_ssp_enable 
+	branch ssp_disable, blank
+	branch  ssp_enable
+
+p_ssp_disable:
+	fetch 1,mem_features+6
+	set0 param_featrue_ssp,pdata
+	store 1,mem_features+6
+	setarg 0x1
+	store 2,mem_lmpext_ssp_enable
+	rtn
+	
+p_rfcomm_init_spp:
+	setarg 0
+	store 1,mem_spp_state
+	store 1,mem_remote_spp_channel
+	store 1,mem_pn_dlci
+	fetch 1,mem_credit_flag
+	beq CREDIT_ENABLE,rfcomm_init_spp_with_credit
+	jam 0x85,mem_credit_given
+	rtn
+
+
+p_parse_dlci0_rp:
+	fetch 1,mem_current_frame_type
+	beq RFCOMM_FRAME_TYPE_SABM,rfcomm_rx_process_DLCI0_sabm
+	beq RFCOMM_FRAME_TYPE_UA,rfcomm_rx_process_DLCI0_ua
+	beq RFCOMM_FRAME_TYPE_UIH,p_parse_DLCI0_rp_uih
+	beq RFCOMM_FRAME_TYPE_DISCONN,parse_uih_rp_spp_disconn_send_event
+	rtn
+p_parse_DLCI0_rp_uih:
+	fetch 2,mem_rfcomm_uih_payload_ptr
+	copy pdata,contr
+	call get_rfcomm_uih_head_struct
+	fetch 1,mem_uih_cmd_type
+	beq UIH_PARAM_NEG_CMD,parse_DLCI0_rp_uih_pn_cmd
+	beq UIH_PARAM_NEG_RES,parse_DLCI0_rp_uih_pn_res
+	beq UIH_MODEM_STATUS_CMD,parse_DLCI0_rp_uih_ms_cmd
+	beq UIH_MODEM_STATUS_RES,p_parse_DLCI0_rp_uih_ms_res
+	beq UIH_PARAM_CMD_REMOVE_PORT,parse_DLCI0_rp_uih_cmd_port	
+	branch rfcomm_rx_process_end
+p_parse_DLCI0_rp_uih_ms_res:
+	jam BT_EVT_SPP_CONNECTED,mem_fifo_temp
+	call ui_ipc_send_event
+	call get_rfcomm_param_modem_status
+	branch parse_DLCI0_rp_uih_ms_res_spp
+
+
+
+
+
+
+
+p_sp_initialize_256:	
+	fetch 1,mem_le_secure_connect_enable
+	branch  le_secure_connection_disable,blank
+//	call le_secure_connection_enable
+	call sp_clear_flags
+	branch sp_pubkey_calc_256
+
+
+
Index: muyu/sched/109x.dat
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/BT_code_patch/print/branches/muyu/sched/109x.dat	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/BT_code_patch/print/branches/muyu/sched/109x.dat	(working copy)
@@ -0,0 +1,52 @@
+mem_patch00:02
+mem_patch10:20
+mem_patch11:02
+mem_patch14:04
+mem_patch17:09
+mem_patch20:68
+mem_patch27:44
+mem_patch28:02
+mem_patch2a:05
+mem_patch33:02
+
+#mem_lpm_config:0f 84 30
+mem_lpm_config:0f 84 f0
+mem_lpm_xtalcnt:0a 0b b2 32
+mem_lpm_hibernate_switch:8b
+mem_lpm_doze_switch:0b
+mem_gpio_wakeup:00 00 00 00 00 00 00 00
+
+mem_fcomp_mul:02
+mem_fcomp_div:24
+mem_iscan_window:40 00
+mem_iscan_interval:00 02
+mem_pscan_window:32 00
+mem_pscan_interval:00 02
+
+mem_inq_window:20 00
+mem_page_window:20 00
+mem_page_to:00 20
+mem_rx_window_init:80 04
+mem_rx_window_sniff:00 10
+
+
+
+mem_lmp_version:08 0e 05 04 00
+
+mem_eeprom_base:30 1f
+mem_eeprom_block_size:20
+mem_context_number:01
+
+mem_rf_init:
+4b ba
+55 d0
+56 e0
+57 88
+58 6c
+59 10
+07 ff
+ff
+mem_rf_init_ptr:mem_rf_init
+
+
+
Index: muyu/sched/DM_module.dat
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/BT_code_patch/print/branches/muyu/sched/DM_module.dat	(nonexistent)
+++ /YC3121_demo/ModuleDemo/BlueTooth/BT_code_patch/print/branches/muyu/sched/DM_module.dat	(working copy)
@@ -0,0 +1,377 @@
+
+mem_device_option:0a
+mem_ui_profile_supported:40
+mem_app_connection_options:13
+mem_ptt:01
+mem_features:
+ff
+fb
+8f
+fa	#openACL3M fe    2M fa
+8B	#AFHclose 83
+85
+59
+83	#83 ssp
+
+
+##############NVRAM CONFIG##############
+mem_nv_data_ptr:mem_module_nv_data
+mem_nv_data_number:05
+#####################################
+
+##############SPP CONFIG##############
+mem_credit_flag:00
+mem_rfcomm_max_frame_size:94 02
+mem_rfcomm_credit_init_data:05
+#####################################
+
+##############SSP CONFIG##############
+mem_sp_iocap_local:03 00 04
+mem_ssp_enable:01
+mem_pin_length:04  30 30 30 30 30
+#####################################
+
+
+################IPC BUFFER INIT#####################
+4FF0:00 1C
+4FF2:FF 1F
+4FF4:00 1C
+4FF6:00 1C
+4FF8:00 4C
+4FFA:E0 4F
+4FFC:00 4C
+4FFE:00 4C
+#####################################
+mem_2m0_tmier_address: 00 80 02#0x28000
+
+##############BLUETOOTH CONFIG##############
+###commom###
+mem_soft_version_num:10 01
+mem_module_state:03
+mem_module_bluetooth_stauts_by_command:07
+mem_class:24 04 04
+
+mem_module_flag:00
+#bit0 MODULE_FLAG_UART_FLOW_CONTROL
+#bit1 MODULE_FLAG_BLE_SEND_MTU23
+#bit2 MODULE_FLAG_BLE_DATA_ENCRYPT
+mem_rfcomm_lmp_dis_flag:00
+# 1: tianyu    MPOS
+# 0: wobosi  printer
+mem_lpm_mode:00
+mem_lpm_interval:00 01
+mem_lpm_overhead:08
+mem_lpm_mult_timeout:02
+
+
+###3.0###
+mem_scan_mode:00
+mem_module_spp_lpm_mult:28
+mem_lap:a7 2a 2a 21 10 55
+mem_local_name_length:
+'3121 Mou Bt121
+
+###3.0 sinff param###
+mem_sniff_param_interval:20 00
+mem_sniff_param_attempt:02
+mem_sniff_param_timeout:01
+
+
+###ble###
+mem_le_secure_connect_enable:00
+mem_le_adv_channel_map:07
+mem_le_pairing_mode:00
+
+mem_module_data_write_handle:2d 00
+mem_module_data_write_handle2:2f 00
+
+
+mem_le_adv_enable:00
+mem_le_adv_interval:40 00
+mem_module_le_lpm_mult:05
+mem_le_lap:21 22 01 33 02 3a
+mem_le_name_len:
+'3121 Mou Ble
+
+mem_le_adv_data_len:03
+mem_le_adv_data:
+02 01 02
+
+mem_le_scan_data_len:0e
+
+mem_le_scan_data:# 1 byte length + 1 byte type + N bytes data
+02 01 02
+'\093121 Mou Ble
+
+mem_le_pres:02 03 00 05 10 02 03
+
+mem_le_interval_min:
+08 00 #min interval
+10 00 #max interval
+00 00 #latency
+2c 01 #timeout
+
+
+mem_le_local_mtu:90 01
+mem_le_remote_mtu:17
+
+mem_le_pairing_handle:31 00
+
+#####################################
+
+
+mem_eir_enable:01
+mem_all_uuid_16bits: 
+05
+03#Type: Complete list of 16-bit UUIDs
+0012 0001 0100 0111 0300 
+
+mem_all_uuid_128bits:
+01
+07
+00000000decafadedecadeafdecacaff
+
+
+mem_ui_uuid_table:mem_module_uuid_list
+
+mem_module_uuid_list:
+03
+12
+00
+01
+00
+00
+01
+00
+01
+00
+01
+36
+00
+52
+09
+00
+00
+0a
+00
+01
+00
+01
+09
+00
+01
+35
+03
+19
+12
+00
+09
+00
+04
+35
+0d
+35
+06
+19
+01
+00
+09
+00
+01
+35
+03
+19
+00
+01
+09
+00
+09
+35
+08
+35
+06
+19
+12
+00
+09
+01
+00
+09
+02
+00
+09
+01
+03
+09
+02
+01
+09
+05
+ac
+09
+02
+02
+09
+02
+39
+09
+02
+03
+09
+06
+44
+09
+02
+04
+28
+01
+09
+02
+05
+09
+00
+02
+03
+11
+01
+00
+03
+01
+00
+00
+01
+00
+03
+36
+00
+46
+09
+00
+00
+0a
+00
+01
+00
+03
+09
+00
+01
+35
+03
+19
+11
+01
+09
+00
+02
+0a
+00
+00
+00
+00
+09
+00
+04
+35
+0c
+35
+03
+19
+01
+00
+35
+05
+19
+00
+03
+08
+01
+09
+00
+06
+35
+09
+09
+65
+6e
+09
+00
+6a
+09
+01
+00
+09
+01
+00
+25
+0a
+53
+50
+50
+20
+73
+6c
+61
+76
+65
+00
+00
+00
+01
+00
+
+
+mem_ui_le_uuid_table:mem_module_le_att_list
+
+#attribute list: handle 2bytes, uuid 2bytes, length 1bytes, attribute Nbytes
+mem_module_le_att_list:
+#Primary service yichip transmit ------
+01 00 02 00 28 02 01 18
+#Service Changed
+02 00 02 03 28 01 20
+03 00 02 05 2a 01 00
+#Client Characteristic Configuration
+04 00 02 02 29 02 01 00
+
+#Primary service GAP ------
+05 00 02 00 28 02 00 18
+
+#Device name
+06 00 02 03 28 01 4e
+07 00 02 00 2a 13 41 73 74 20 4c 45 20 4d 6f 75 73 65 20 20 20 20 20 20 20
+
+#Apperance
+08 00 02 03 28 01 4e
+09 00 02 01 2a 02 00 00
+
+#Perpheral Preferred Connection Parameters
+0a 00 02 03 28 01 02
+0b 00 02 04 2a 08 10 00 20 00 05 00 2c 01
+
+
+#Primary service yichip transmit ------
+0c 00 02 00 28 10 55 e4 05 d2 af 9f a9 8f e5 4a 7d fe 43 53 53 49
+#Characteristic tx--notify read
+0d  00 02 03 28 01 12
+0e 00 10 16 96 24 47 C6 23 61 BA D9 4B 4D 1E 43 53 53 49 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+#Client Characteristic Configuration
+0f 00 02 02 29 02 00 00
+
+#Characteristic rx--write
+10 00 02 03 28 01 08
+11 00 10 B3 9B 72 34 BE EC D4 A8 F4 43 41 88 43 53 53 49 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+
+#Characteristic rx-- write without Response
+12 00 02 03 28 01 04
+13 00 10 fe 69 ca 9a 56 19 f6 ab 02 4d aa 6d 43 53 53 49 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+
+#Characteristic rx tx --read write notify
+14 00 02 03 28 01 1a
+15 00 10 18 03 A6 28 5E D8 EC 91 1C 48 A3 AC 43 53 53 49 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+#Client Characteristic Configuration
+16 00 02 02 29 02 00 00
+
+#End of Attribute list
+00 00
+
+
