Index: a.bat
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/a.bat	(nonexistent)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/a.bat	(working copy)
@@ -0,0 +1,11 @@
+set baud=a0
+e pu
+e 8043 00
+
+::e hu output/romcode.rom 2000
+::e ku
+e pu
+e hu output/ramcode.rom 0
+ping -n 2 127.1 >nul
+e su output/sched.rom
+e cu
\ No newline at end of file
Index: do_sdk.bat
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/do_sdk.bat	(nonexistent)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/do_sdk.bat	(working copy)
@@ -0,0 +1,50 @@
+@set FPGA_PATH=fpgajic\fpga
+@set ROM_PATH=.
+@set MV_PATCH=mv\src\yichip
+@set YC_PATCH_FILE=yc_patch_yc1021.h
+@set enc=1
+@set enckey=0000000000000000
+@set device_option=dongle
+@echo off
+
+setlocal enabledelayedexpansion
+copy program\patch_sdk.prog output\bt_program23.meta
+copy format\rom.format + format\labels.format + format\command.format  output\bt_format.meta > nul
+
+::perl util/memalloc.pl output/bt_format.meta
+
+copy sched\dongle.dat + sched\1305.dat output\sched.rom
+
+perl util/mergepatch.pl 
+
+cd output
+osiuasm bt_program23 -O-W
+
+geneep -n 
+::geneep -n -k key.dat 
+
+echo create auth rom
+perl ../util/mergepatch.pl mouse_ble_att_list usb_kbdata_vendor_define usb_kbdata usb_msdata usb_devicedata usb_confdata ble_shutter_gatt_list ble_shutter_key_value_list ble_car_att_list sha256 
+perl ../util/romcrc.pl romcode.rom
+perl  ../util/mergepatch.pl otp
+
+
+if "%device_option%" equ "dongle" (
+cd ..\output
+copy eeprom.dat ..\util\eeprom.dat
+cd ..\util
+eeprom2fulleeprom.exe eeprom.dat 64>compare2.dat
+crc16.exe compare2.dat 2 >..\output\eeprom.dat
+del eeprom.dat
+del compare2.dat
+cd ..\output
+copy eeprom.dat ..\output\flash.dat 
+)
+
+cd ..
+call set_chip_type_flag.bat 
+
+:end
+
+
+
Index: eotp.bat
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/eotp.bat	(nonexistent)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/eotp.bat	(working copy)
@@ -0,0 +1,7 @@
+call do_sdk.bat
+set baud=a0
+e pu
+e 8043 00
+e otp output/otp.dat 0
+e otr 0 20
+e ku
\ No newline at end of file
Index: format/command.format
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/format/command.format	(nonexistent)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/format/command.format	(working copy)
@@ -0,0 +1,1446 @@
+
+/* Parse Command:
+TX: take bits from tx fifo, jam it into shift and a destination (rf,bucket)
+RX: take bits from demod,  jam it into shift and a destination (acl,sco,bucket) */
+
+/* Inject Command:
+TX: 0 into shift, send tail of shift into a destination (rf,bucket)
+RX: 0 into shift, send tail of shift into a destination (acl,sco,bucket) */
+
+format
+  ! 15 romdat
+  % d0
+  % d1
+  % d2
+  % d3
+  [8] d0
+  [8] d1
+  [8] d2
+  [8] d3
+end
+
+format
+  ! 15 enable   /* set flag to 1 */
+  % flag
+  [5] opcode
+  [6] 1
+  [6] flag
+  [6] null
+  [9] 0
+end
+ /* High 5 bytes of channel map */
+format
+  ! 15 pulse   /* set flag to 1 */
+  % flag
+  [5] opcode
+  [6] 1
+  [6] flag
+  [6] null
+  [9] 0
+end
+
+format
+  ! 15 disable   /* set flag to 0 */
+  % flag
+  [5] opcode
+  [6] 2
+  [6] flag
+  [6] null
+  [9] 0
+end
+
+format
+  ! 15 set0  /* set selected bit of reg to 0 */
+  % immediate
+  % reg
+  [5] opcode
+  [6] 9
+  [6] never
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 15 set1  /* set selected bit of reg to 1 */
+  % immediate
+  % reg
+  [5] opcode
+  [6] 9          /* alu op demux */
+  [6] always
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 15 setflag  /* set selected bit of the reg to the polarity of the flag */
+  % flag
+  % immediate
+  % reg
+  [5] opcode
+  [6] 9
+  [6] flag
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 15 nsetflag  /* set the selected bit of the reg to the opposite polarity of the flag */
+  % flag
+  % immediate
+  % reg
+  [5] opcode
+  [6] 0x29
+  [6] flag
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 15 setflip    /* invert the selected bit of the reg */
+  % immediate
+  % reg
+  [5] opcode
+  [6] 10            /* this is alu op */
+  [6] always
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 0x1f qset1      /* demux the lowest 4 bit of queue and OR it with regr into regw */
+  % reg             /* in short, set the bit in reg indexed by queue to 1 */
+  [5] opcode
+  [6] 9
+  [6] always
+  [6] reg
+  [9] 0
+end
+  
+format
+  ! 0x1f qset0      /* demux the lowest 4 bit of queue and AND it with regr into regw */
+  % reg             /* in short, set the bit in reg indexed by queue to 0 */
+  [5] opcode
+  [6] 9
+  [6] never
+  [6] reg
+  [9] 0
+end
+
+format 
+  ! 0x1f qsetflag   /* set the bit in reg index by queue to same as flag */
+  % flag
+  % reg
+  [5] opcode
+  [6] 9
+  [6] flag
+  [6] reg
+  [9] 0
+end
+
+format 
+  ! 0x1f nqsetflag   /* set the bit in the reg index by queue to opposite of flag */
+  % flag
+  % reg
+  [5] opcode
+  [6] 0x29
+  [6] flag
+  [6] reg
+  [9] 0
+end
+
+format
+  ! 0x1f qsetflip      /* flip the bit in reg index by queue */
+  % reg
+  [5] opcode
+  [6] 10
+  [6] always
+  [6] reg
+  [9] 0
+end
+
+format
+  ! 1 parse       /* take bits out of source (sco_tx,tx_buffer,rx-elas) into pdata and dest (sco_rx,rx_fifo,tx-elas) */
+  % source
+  % dest
+  % immediate
+  [5] opcode
+  [4] source      /* voice, data, demod */
+  [2] 0
+  [6] 0    
+  [2] 0           /* parse or inject */ 
+  [4] dest        /* acl, sco, mod, bucket */
+  [9] immediate   /* number of bits to parse off */
+end
+
+format
+  ! 1 inject      /* shift data from pdata into destination (tx-elas,rx_fifo,sco_rx) */
+  % destination
+  % immediate
+  [5] opcode
+  [4] 0
+  [2] 0
+  [6] 1
+  [2] 0
+  [4] destination /* acl,sco,mod,bucket */
+  [9] immediate   /* number of bits to be injected */
+end
+
+format
+  ! 1 iinject
+  % destination
+  % regr
+  [5] opcode
+  [6] regr       /* contain the number of bits to inject */
+  [6] 3
+  [2] 0
+  [4] destination /* acl,sco,mod,bucket */
+  [9] 0 
+end
+
+format
+  ! 1 stuff  /* automatic parse, stuff_counter decrement on every bit until hits zero */
+  % source
+  % destination
+  [5] opcode
+  [4] source
+  [2] 0
+  [6] 2
+  [2] 0
+  [4] destination
+  [9] 0
+end
+
+format    /* force immediate value into registers */
+  ! 3 force
+  % immediate
+  % regw
+  [5] opcode
+  [6] 0
+  [6] 0    /* alu operation force */
+  [6] regw  /* destination register */
+  [9] immediate
+end
+
+format    /* force whatever is on shift_reg to regsiters */
+  ! 0x13 iforce
+  % regw
+  [5] opcode
+  [6] 0
+  [6] 0    /* alu operation force */
+  [6] regw  /* destination register */
+  [9] 0
+end
+
+format    /* force immediate value into registers */
+  ! 3 increase
+  % immediate
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 1    /* alu operation add */
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 3 pincrease
+  % immediate
+  [5] opcode
+  [6] -1  /* pdata */
+  [6] 1   /* alu add */
+  [6] -1  /* back to pdata */
+  [9] immediate
+end
+
+format    /* force immediate value into registers */
+  ! 3 and_into
+  % immediate
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 2    /* alu operation and into */
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 3 and
+  % regr
+  % immediate
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 2    /* alu operation and into */
+  [6] regw
+  [9] immediate
+end
+  
+format
+  ! 0x13 iand    /* pdata & regr -> regw */
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 2    /* alu operation and into */
+  [6] regw
+  [9] 0
+end
+  
+
+format    /* and whatever is in shiftreg with reg */
+  ! 0x13 iand_into
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 2    /* alu operation and into */
+  [6] reg
+  [9] 0
+end
+
+format
+  ! 3 or_into
+  % immediate
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 3    /* alu operation or into */
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 3 or
+  % regr
+  % immediate
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 3    /* alu operation or into */
+  [6] regw
+  [9] immediate
+end
+
+format
+  ! 0x13 ior
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 3    /* alu operation or into */
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 0x13 ior_into
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 3    /* alu operation or into */
+  [6] reg
+  [9] 0
+end
+
+format
+  ! 3 skip_to   /* jump to location stored in reg */
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 4   /* alu operation copy */
+  [6] rom_addr
+  [9] 0
+end
+
+format
+  ! 3 copy
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 4   /* alu operation copy */
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 deposit   /* copy the register content thru alu to shift register, not prealigned like preload */
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 4   /* alu operation copy */
+  [6] -1  /* pdata */
+  [9] 0
+end
+
+format
+  ! 3 icopy     /* copy the shift register lsb content directly to register, not aligned */
+  % regw
+  [5] opcode
+  [6] -1  /* pdata */
+  [6]  4  /* alu copy */
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 add
+  % regr
+  % immediate
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 1
+  [6] regw
+  [9] immediate
+end
+
+format
+  ! 0x13 iadd       /* regr + pdata -> regw */
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 1
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 sub          /* immediate - regr -> regw */
+  % regr
+  % immediate
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 12
+  [6] regw
+  [9] immediate
+end
+
+format
+  ! 0x13 isub       /* pdata - regr -> regw */
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 12
+  [6] regw
+  [9] 0
+end
+
+
+format
+  ! 3 flip
+  % immediate
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 5
+  [6] reg
+  [9] immediate
+end
+  
+format
+  ! 0x13 iflip  /* use shift register as immediate to do xor */
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 5
+  [6] regw
+  [9] 0
+end
+  
+format
+  ! 3 xor
+  % regr
+  % immediate
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 5
+  [6] regw
+  [9] immediate
+end
+
+format
+  ! 3 xor_into
+  % immediate
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 5
+  [6] reg
+  [9] immediate
+end
+  
+format
+  ! 0x13 ixor  /* pdata xor regr and store result in regw */
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 5
+  [6] regw
+  [9] 0
+end
+  
+format
+  ! 3 invert
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 8
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 pinvert    /* invert pdata into itself */
+  [5] opcode
+  [6] -1
+  [6] 8
+  [6] -1
+  [9] 0
+end
+
+format
+  ! 3 div                 /* regr div immediate div */
+  % reg
+  % immediate
+  [5] opcode
+  [6] reg
+  [6] 13                   /* generate diven pulse to div */
+  [6] null
+  [9] immediate
+end
+
+format
+  ! 0x13 idiv           /* pdata div regr data ready at most after 41 nops */
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 13                   /* generate diven pulse to div */
+  [6] null
+  [9] 0
+end
+
+format
+  ! 0x13 idiv48           /* pdata div regr data 48bit */
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 17                   /* generate diven pulse to div */
+  [6] null
+  [9] 0
+end
+
+format
+  ! 3 remainder            /* harvest div remainder */
+  % regw
+  [5] opcode
+  [6] 0
+  [6] 14
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 quotient             /* harvest div quotient */
+  % regw
+  [5] opcode
+  [6] 0
+  [6] 15
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 6
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift2
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 22
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift3
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 18
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift4
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 35
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift8
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 25
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift16
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 34
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift32
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 30
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 lshift
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 7
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 lshift2
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 23
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 lshift8
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 26
+  [6] regw
+  [9] 0
+end
+
+  
+format
+  ! 3 lshift3
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 19
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 lshift4
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 36
+  [6] regw
+  [9] 0
+end
+  
+
+format
+  ! 3 lshift16
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 32
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 0x13 bcrc         // calculate regr's byte crc value into pdata
+  % regr
+  [5] opcode
+  [6] regr
+  [6] 24
+  [6] 63
+  [9] 0
+end
+
+
+format
+  ! 3 random               /* random number into regw */
+  % reg
+  [5] opcode
+  [6] 0
+  [6] 20
+  [6] reg
+  [9] 0
+end
+
+format                     /* bit reverse within a byte */
+  ! 3 reverse
+  % reg
+  % regw
+  [5] opcode
+  [6] reg
+  [6] 27
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 priority    /* priority encode reg into regw, lsb is the top priority, ie, priority(8'b00010000) = 4 */
+  % reg
+  % regw
+  [5] opcode
+  [6] reg
+  [6] 21
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 7 setsect   /* set a section of pdata */
+  % section    /* 0 sets 17:0 of pdata with set_data, 1 sets 35:18, 2 sets 53:36, 3 sets 71:54 */
+  % set_data
+  [5] opcode
+  [7] 0
+  [2] section
+  [18] set_data
+end
+
+format
+  ! 10 preload   /* load stuff into pdata according to fhs format, check us.v */
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 0
+  [6] -1
+  [9] 0
+end
+
+format  /* load register with pdata content, according to fhs format, check us.v */
+  ! 10 ialigned   /* all bits are in position */
+  % regw
+  [5] opcode
+  [6] -1
+  [6] 0
+  [6] regw
+  [9] 0
+end
+
+format  /* load register to another according to fhs format */
+  ! 10 aligned
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 0
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 4 branch
+  % addr
+  % flag
+  [5] opcode
+  [6] 1
+  [6] flag
+  [15] addr
+end
+
+format
+  ! 4 call
+  % addr
+  % flag
+  [5] opcode
+  [6] 2
+  [6] flag
+  [15] addr
+end
+
+format
+  ! 4 rtn
+  % flag
+  [5] opcode
+  [6] 3
+  [6] flag
+  [15] 0
+end
+
+format
+  ! 0x0d fetch          /* read from memory, data into pdata, address from immediate then mem_ptr */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 63
+  [1] addr
+  [1] 0
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x0d fetcht          /* read from memory, data into temp, address from immediate won't increment */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 2
+  [1] addr
+  [1] 1
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x1d ifetch         /* read from memory, data into pdata, address from regr then mem_ptr */
+  % num_bytes
+  % reg
+  [5] opcode
+  [6] 63
+  [2] 0
+  [4] num_bytes
+  [9] 0
+  [6] reg
+end
+
+format
+  ! 0x1d ifetcht         /* read from memory, data into temp, address from regr won't increment */
+  % num_bytes
+  % reg
+  [5] opcode
+  [6] 2
+  [2] 0
+  [4] num_bytes
+  [9] 0
+  [6] reg
+end
+
+format
+  ! 0x0c store          /* write to memory, data from pdata, address from immediate then mem_ptr */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 63
+  [1] addr
+  [1] 0
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x0c storet          /* write to memory, data from temp, address from immediate won't increment */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 2
+  [1] addr
+  [1] 1
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x1c istore        /* write pdata to memory, address from regaddr */
+  % num_bytes
+  % regaddr
+  [5] opcode
+  [6] 63            
+  [2] 0
+  [4] num_bytes
+  [9] 0
+  [6] regaddr
+end
+
+format
+  ! 0x1c istoret        /* write temp to memory, address from regaddr */
+  % num_bytes
+  % regaddr
+  [5] opcode
+  [6] 2            
+  [2] 0
+  [4] num_bytes
+  [9] 0
+  [6] regaddr
+end
+
+
+format
+  ! 0x0d crc         // read from memory, count from loopcnt, put crc result into pdata 
+  % addr
+  [5] opcode
+  [6] 63
+  [6] 0
+  [15] addr
+end
+
+format
+  ! 0x1d icrc         /* read from memory, address from reg, count from loopcnt, put crc result into pdata */
+  % reg
+  [5] opcode
+  [6] 63
+  [15] 0
+  [6] reg
+end
+
+
+format
+  ! 0x0c storer          /* write reg to memory, address from immediate then mem_ptr */
+  % reg
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] reg               
+  [1] addr
+  [1] 0
+  [4] num_bytes
+  [15] addr
+end
+
+
+format
+  ! 0x1c istorer        /* write regr to memory, address from regaddr */
+  % regr
+  % num_bytes
+  % regaddr
+  [5] opcode
+  [6] regr            
+  [2] 0
+  [4] num_bytes
+  [9] 0
+  [6] regaddr
+end
+
+
+format
+  ! 0x1c lstorer        /* write regr to memory, address from regaddr, length from loopcnt */
+  % regr
+  % regaddr
+  [5] opcode
+  [6] regr            
+  [6] 0
+  [9] 0
+  [6] regaddr
+end
+
+format
+  ! 0x1c lstore        /* write pdata to memory, address from regaddr, length from loopcnt */
+  % regaddr
+  [5] opcode
+  [6] 63            
+  [6] 0
+  [9] 0
+  [6] regaddr
+end
+
+format
+  ! 0x1c lstorew        /* 32bit write pdata to memory, address from regaddr, length from loopcnt */
+  % regaddr
+  [5] opcode
+  [6] 63
+  [6] 42
+  [9] 0
+  [6] regaddr
+end
+
+
+format
+  ! 0x0d fetchr          /* read reg from memory, address from immediate then mem_ptr */
+  % reg
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] reg               
+  [1] addr
+  [1] 0
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x1d ifetchr        /* read regr from memory, address from regaddr */
+  % regr
+  % num_bytes
+  % regaddr
+  [5] opcode
+  [6] regr
+  [2] 0
+  [4] num_bytes
+  [9] 0
+  [6] regaddr
+end
+
+
+
+
+format
+  ! 0x0e jam
+  % immediate
+  % addr
+  [5] opcode
+  [3] 0
+  [16] addr
+  [8] immediate
+end
+
+format			/* 0x242... */
+  ! 4 nbranch
+  % addr
+  % flag
+  [5] opcode
+  [1] 1
+  [5] 1
+  [6] flag
+  [15] addr
+end
+
+format
+  ! 4 ncall
+  % addr
+  % flag
+  [5] opcode
+  [1] 1
+  [5] 2
+  [6] flag
+  [15] addr
+end
+
+format
+  ! 4 nrtn
+  % flag
+  [5] opcode
+  [1] 1
+  [5] 3
+  [6] flag
+  [15] 0
+end
+
+format
+  ! 4 nop
+  % addr  /* no-op for addr+2 clocks */
+  [5] opcode
+  [6] 0     
+  [6] 0     /* always */ 
+  [15] addr
+end
+
+format
+  ! 4 clear_stack
+  [5] opcode
+  [6] 4
+  [6] 0    /* always */
+  [15] 0
+end
+
+format
+  ! 6 until
+  % reg
+  % flag
+  [5] opcode
+  [6] reg
+  [6] flag
+  [6] 1
+  [9] 0
+end
+  
+format
+  ! 6 correlate   /* quit if 1. flag is true 2, regr time up 3, found sync,(cond_true) */
+  % reg          /* expire counter to check against */
+  % flag
+  [5] opcode
+  [6] reg
+  [6] flag
+  [6] 2           /* correlate */
+  [9] 0           
+end
+
+format
+  ! 5 compare   /* sets cond flag,  if reg equals immediate */
+  % immediate
+  % reg
+  % mask
+  [5] opcode
+  [6] reg
+  [3] 0
+  [9] mask
+  [9] immediate
+end
+
+format
+  ! 0x15 icompare   /* sets cond flag,  if reg equals pdata */
+  % mask
+  % reg
+  [5] opcode
+  [6] reg
+  [3] 0
+  [9] mask
+  [9] 0
+end
+
+format   /* sets cond. flag, if reg equals LS half of shift reg with MS half of reg being mask */
+  ! 5 iverify
+  % reg
+  [5] opcode
+  [6] reg
+  [3] 2
+  [18] 0
+end
+
+format
+  ! 0x15 qisolate1
+  % reg
+  [5] opcode
+  [6] reg
+  [3] 3
+  [18] -1
+end
+
+format
+  ! 0x15 qisolate0
+  % reg
+  [5] opcode
+  [6] reg
+  [3] 3
+  [18] 0
+end
+
+	/* REVAB bug: cannot access bit above 35 */
+format
+  ! 5 isolate1
+  % addr
+  % reg
+  [5] opcode
+  [6] reg
+  [3] 3
+  [9] -1
+  [9] addr
+end
+
+format
+  ! 5 isolate0
+  % addr
+  % reg
+  [5] opcode
+  [6] reg
+  [3] 3
+  [9] 0
+  [9] addr
+end
+
+format
+  ! 11 setarg
+  % immediate
+  [5] opcode
+  [27] immediate
+end
+
+format
+  ! 0x1b arg
+  % immediate
+  % reg
+  [5] opcode
+  [6] reg
+  [21] immediate
+end
+
+  
+format
+  ! 0 sleep
+  [5] opcode
+  [27] 0
+end
+
+format
+  ! 0 snooze
+  [5] opcode
+  [6] -1
+  [21] 0
+end
+
+format
+  ! 0 revision
+  % rev_num
+  [5] opcode
+  [27] rev_num
+end
+
+format
+  ! 0x18 loop   /* branch when loopcnt is NOT zero, and decrease loopcnt */
+  % addr
+  [5] opcode
+  [4] 4
+  [8] 0
+  [15] addr
+end
+
+format
+  ! 0x18 beq   /* branch when pdata is equal to immediate */
+  % imme
+  % addr
+  [5] opcode
+  [4] 0
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 bne   /* branch when pdata is NOT equal to immediate */
+  % imme
+  % addr
+  [5] opcode
+  [4] 1
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 rtneq   /* return when pdata is equal to immediate */
+  % imme
+  [5] opcode
+  [4] 2
+  [8] imme
+  [15] 0
+end
+
+format
+  ! 0x18 rtnne   /* return when pdata is NOT equal to immediate */
+  % imme
+  [5] opcode
+  [4] 3
+  [8] imme
+  [15] 0
+end
+
+format
+  ! 0x18 bbit1   /* branch when pdata's imme bit is 1 */
+  % imme
+  % addr
+  [5] opcode
+  [4] 5
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 bbit0   /* branch when pdata's imme bit is 0 */
+  % imme
+  % addr
+  [5] opcode
+  [4] 6
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 rtnbit1   /* return when pdata's imme bit is 0 */
+  % imme
+  [5] opcode
+  [4] 7
+  [8] imme
+  [15] 0
+end
+
+format
+  ! 0x18 rtnbit0   /* return when pdata's imme bit is 0 */
+  % imme
+  [5] opcode
+  [4] 8
+  [8] imme
+  [15] 0
+end
+
+format
+  ! 8	bpatch
+  % imme
+  % addr
+  [5] opcode
+  [4] 9
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 8	bpatchx
+  % imme
+  % addr
+  [5] opcode
+  [4] 14
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 bmark1   /* branch when mark's imme bit is 1 */
+  % imme
+  % addr
+  [5] opcode
+  [4] 10
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 bmark0   /* branch when mark's imme bit is 0 */
+  % imme
+  % addr
+  [5] opcode
+  [4] 11
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 rtnmark1   /* return when mark's imme bit is 0 */
+  % imme
+  [5] opcode
+  [4] 12
+  [8] imme
+  [15] 0
+end
+
+format
+  ! 0x18 rtnmark0   /* return when mark's imme bit is 0 */
+  % imme
+  [5] opcode
+  [4] 13
+  [8] imme
+  [15] 0
+end
+
+format
+  ! 3 mul32                  /* immediate mult regr */ 
+  % regr
+  % immediate                                  
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 31           
+  [6] regw
+  [9] immediate
+end
+
+format
+  ! 0x13 imul32           /* pdata mult regr 32x32=64bit */  
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 31                   
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 0x13 imults           /* pdata mult regr 32x32=64bit, signed */  
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 16
+  [6] regw
+  [9] 0
+end
+
+
+format
+  ! 3 byteswap
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 33
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 shasx          /* SHA256 Sx operation, immediate is Sx */
+  % regr
+  % immediate
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 28
+  [6] regw
+  [9] immediate
+end
+
+
+format
+  ! 0x13 regexrot 	/* regext[0] <- regext[7], regext[1] <- regext[0], regext[2] <- regext[1] ... */
+  [5] opcode
+  [6] 0
+  [6] 29
+  [6] null
+  [9] 0
+end
+
+format
+  ! 0x13 adpcm         // encode adpcm from regr into regw
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 43
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 0x13 pcm         // decode adpcm from regr into regw
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 44
+  [6] regw
+  [9] 0
+end
+
+
Index: format/labels.format
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/format/labels.format	(nonexistent)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/format/labels.format	(working copy)
@@ -0,0 +1,4094 @@
+0x2000 start
+0x2001 soft_reset
+0x200d main_loop
+0x2018 connection_dispatch
+0x201d connection_incontext
+0x2025 connection_nosniff
+0x202a idle_dispatch
+0x2031 idle_exit
+0x2033 idle_le_create_conn
+0x2036 context_load
+0x2041 context_save
+0x2047 context_get_next
+0x2049 context_get_next_loop
+0x204d context_get_next_cont
+0x2054 context_get_next_sniff
+0x2056 context_new
+0x205d context_check_idle
+0x205f context_search_conn_handle
+0x2060 context_search_conn_handle2
+0x2062 context_search_plap
+0x2064 context_search_plap2
+0x2066 context_search_insniff
+0x2068 context_search_sniff_window
+0x2069 context_search
+0x206c context_search_loop
+0x206e context_search_next
+0x2073 context_search_empty
+0x2075 context_search_lap
+0x2076 context_search_lap_cont
+0x207b context_search_handle
+0x2081 context_search_sniff
+0x2082 context_search_sniff_loop
+0x2090 context_search_sniff_sc
+0x2093 context_search_meet1
+0x2094 context_search_meet
+0x2097 context_search_sniff_miss
+0x209d sign_pdata_temp
+0x20a7 sign_pdata_temp_p0
+0x20ad context_check_inconn
+0x20af context_check_a_wack
+0x20b4 context_get_anchor
+0x20c0 context_next_anchor
+0x20c7 context_search_window
+0x20cf end_of_packet
+0x20dc sniff_check_window
+0x20e4 calc_slot_offset
+0x20ee calc_bt_portion
+0x20f0 calc_slot_offset_loop
+0x20f2 calc_skip_bt
+0x20f7 calc_clke_offset
+0x2105 calc_clke_pos
+0x2107 calc_clke
+0x2109 calc_clke2
+0x2113 calc_clke_pos2
+0x2115 calc_clke_pos_adj
+0x2117 qsetxor
+0x211c qset1_p
+0x211d qset_start
+0x211e qset_p
+0x2122 rx_dcoc_avg
+0x2123 btdma
+0x212d rx_dcoc_loop
+0x2133 rx_dcoc
+0x2145 rx_dcoc_loop2
+0x2152 shutdown_radio
+0x2160 set_sync_on
+0x216f set_freq_rx
+0x2179 aac_res_lookup
+0x2187 aac_res_lookup_end
+0x2189 set_lemode_2m_16m
+0x218c set_lemode_1m_16m
+0x218f set_lemode
+0x2197 set_lemode_2m
+0x21a3 set_lemode_1m
+0x21a6 rf_rx_enable
+0x21ba rf_rx_agc_set
+0x21c1 rf_rx_enable_no_soft_agc
+0x21c6 set_freq_tx_int
+0x21d0 calc_freq
+0x21e8 ghp_lookup
+0x21ee ghp_1m
+0x21f9 set_freq_tx
+0x21fc txon
+0x220c set_tx_power
+0x2217 set_tx_power_0db
+0x221a set_tx_power_8a63_28
+0x221c set_tx_power_3db
+0x221f set_tx_power_8a63_2f
+0x2221 set_tx_power_5db
+0x2225 set_tx_power_7db
+0x2229 set_tx_power_10db
+0x222d set_tx_power_f3db
+0x2231 set_tx_power_f5db
+0x2235 set_tx_power_f10db
+0x2239 set_tx_power_f20db
+0x223d initialize_radio
+0x223e initialize_radio_wait
+0x2242 initialize_radio_loop
+0x2248 initialize_radio_cont
+0x2257 initialize_radio2
+0x2266 initialize_radio_16m
+0x2271 rfpll_aac_ghpc
+0x227c rfpll_aac_ghpc_once
+0x227f rfpll_cal_loop
+0x2286 dpll_on
+0x228c dpll_on_24m
+0x2294 aac_ghpc
+0x2298 wait_cal_done
+0x22a7 aac_ghpc_1m
+0x22ae read_cal_result
+0x22b4 dpll_ring_ibias_calc
+0x22c7 dpll_ring_ibias_read_adc
+0x22df ring_ibias_trim_decrs
+0x22e4 ring_ibias_trim_incrs
+0x22e9 save_rssi
+0x22fd save_rssi_store
+0x22ff byte_sign_extern
+0x2304 rssi_hex2dec
+0x2308 bcd
+0x230f gain_control
+0x232e add_negative
+0x2336 gain_increase
+0x233a gain_descend
+0x233d set_rx_gain2
+0x233f set_rx_gain0
+0x2341 set_rx_gain1
+0x2343 ahead_window
+0x2352 get_clk
+0x2356 get_clkbt
+0x235a assert
+0x235c sleep
+0x235f sleep_loop
+0x2363 init_param
+0x2385 lpmstate
+0x2393 lpmwake
+0x239c power_up
+0x239d boot_load
+0x23a0 lpm_poweron_retmem
+0x23b0 lpm_xtal_default
+0x23b5 xtal_fast_wake
+0x23ba lpm_write_lock
+0x23c3 lpm_write_ice_disable
+0x23c7 lpm_write_ice_enable
+0x23cb lpm_preon_counter
+0x23cd lpm_write_3bytes
+0x23cf lpm_write_mpu_s0
+0x23d0 lpm_write_dword
+0x23d1 lpm_write_loop
+0x23d6 lpm_write_mpu_s1
+0x23d8 lpm_disable_exen_output
+0x23dc lpm_disable_io_dozed
+0x23e0 lpm_save_sel_hv
+0x23e1 lpm_write_sel_hv
+0x23e2 lpm_write_wait
+0x23e4 lpm_write_io_vsel
+0x23e6 lpm_load_context
+0x23f4 lpm_save_context
+0x23fd lpm_write_gpio_wakeup
+0x2400 lpm_write_gpio_loop
+0x2405 lpm_write_gpio
+0x2408 lpo_calibration
+0x240f lpo_cal_inited
+0x2414 lpm_doze
+0x2417 lpm_hibernate
+0x241e lpm_sleep
+0x2421 lpm_sleep_skip_cb_function
+0x242e lpm_sleep_loop
+0x2434 lpm_enter_sleep
+0x2438 lpm_cal_xtal_startup
+0x244f lpm_recover_clk
+0x2458 lpm_recover_xtal
+0x245a lpm_recover_timeout
+0x2477 lpm_adjust_clk
+0x2486 lpm_adjust_positive
+0x2489 lpm_clear_counter
+0x248c lpm_dispatch
+0x2496 lpm_dispatch_next
+0x24b4 lpm_dispatch_sleep
+0x24b5 lpm_dispatch_lpo
+0x24bd lpm_dispatch_unconn
+0x24c1 lpm_unconn_cont
+0x24c3 lpm_sleep_btclk
+0x24c8 lpm_mult_wait_timeout
+0x24d2 lpm_match
+0x24d7 lpm_lost
+0x24e0 lpm_mult_short
+0x24e4 lpm_mult_long
+0x24e7 lpm_get_wake_lock
+0x24eb lpm_put_wake_lock
+0x24ef lpm_check_wake_lock
+0x2501 lpm_uart_wake_lock
+0x2506 le_init_conn
+0x2519 le_init_master
+0x2525 le_init_slave
+0x2536 le_conn_dispatch
+0x253f le_master_dispatch
+0x254e le_master_disconn
+0x2551 le_slave_dispatch
+0x2562 le_slave_crc_fail
+0x2562 le_slave_match
+0x2571 le_slave_cont
+0x2577 le_slave_unsync
+0x257b le_check_md
+0x2580 le_slave_more_data
+0x2586 le_slave_disconn
+0x2586 le_disconnect
+0x258d le_clear_connection_info
+0x2592 le_clear_pairing_state
+0x2597 le_got_first_packet
+0x25a4 le_enable_phy_by_pdata
+0x25a6 le_enable_phy_by_pdata1
+0x25ad le_enable_2m
+0x25b0 le_enable_coded_s2
+0x25b0 le_enable_coded
+0x25b4 le_enable_coded_s8
+0x25b8 le_enable
+0x25bc le_disable
+0x25c2 le_prep
+0x25c8 le_prep_next
+0x25cc le_rx_setfreq
+0x25cd le_rf_rx_enable
+0x25d1 le_tx_setfreq
+0x25d3 le_tx_setfreq0
+0x25d5 le_setfreq
+0x25e2 le_ctf_normal
+0x25e5 le_ctf_low
+0x25e8 le_ctf_test
+0x25eb le_sca_map
+0x25fb le_setup
+0x2604 le_setup_master
+0x2609 le_context_nextevent
+0x261a le_context_nexthop
+0x2622 le_nexthop_nowrap
+0x2624 le_calc_channel_map
+0x2628 le_count_channels_loop
+0x262a le_count_channels_notused
+0x2630 le_map_channel
+0x2636 le_map_channel_next
+0x263b le_map_channel_cont
+0x263d le_map_channel_loop
+0x2640 le_map_channel_skip
+0x2645 le_map_channel_end
+0x2648 le_wait_tx
+0x264b le_wait_master
+0x264e le_receive_adv
+0x2652 le_receive_slave
+0x2658 le_receive_packet
+0x2659 le_receive_rxon
+0x2660 le_receive_nolr
+0x2669 le_receive_on_attempt
+0x2677 le_receive_skip
+0x2683 le_rx_loop
+0x2688 le_rx_dec
+0x2694 le_rx_dec_loop
+0x269b le_rx_dec_loop_end
+0x269d le_rx_nopayload
+0x26af le_rx_match
+0x26b2 le_crc_fail_tx
+0x26b9 le_match_set_sync_on
+0x26bb le_match_set_txfreq
+0x26be le_dec_init
+0x26c3 le_dec_start
+0x26d7 le_pcnt_rx_sub1
+0x26dc le_pcnt_rx_sub1_0
+0x26e1 le_dec
+0x26e9 le_dec_end
+0x26f2 le_mic_error
+0x26f3 le_retransmit_end_of_packet
+0x26f6 le_crc_fail
+0x26fa le_unsync_end
+0x26fa le_crc_fail_consecutive
+0x26fc le_end_of_packet
+0x26ff calc_clke_all_modem
+0x2705 calc_clke_modem_coded
+0x2709 calc_clke_modem_2m
+0x270d le_set_until_tx_timer
+0x2714 le_set_until_tx_timer_rx_lr
+0x2716 le_set_until_tx_timer_rx_1m
+0x2717 le_set_until_tx_timer_rx_2m
+0x2719 le_set_until_tx_timer_rx_coded_s2
+0x271c le_set_until_tx_timer_rx_coded_s8
+0x271e le_set_until_tx_timer_rx_coded
+0x2721 le_calc_stop_watch
+0x2729 le_transmit_receive_sifs_without_change_mode
+0x2730 le_transmit_receive_sifs
+0x2734 le_transmit_receive_sifs_notx
+0x273e le_transmit_norx
+0x2741 le_transmit
+0x2751 le_transmit_packet
+0x275e le_transmit_packet_not_enc
+0x275f le_tr_loop
+0x2762 le_tr_nopayload
+0x2769 le_transmit_skip
+0x2770 le_check_start_pause_enc
+0x2779 le_transmit_packet_enc
+0x277d le_transmit_packet_enc_loop
+0x2784 le_transmit_lr
+0x2785 le_transmit_lr_preamble_loop
+0x278f le_transmit_lr_s2
+0x2793 le_transmit_lr_s8
+0x2796 le_transmit_2m
+0x27a2 le_update_param
+0x27a6 le_update_param_ahead1_cb
+0x27bc le_update_param_cb
+0x27c4 le_update_channel_map
+0x27c8 le_update_channel_map_cb
+0x27cd le_update_phy
+0x27d1 le_update_phy_cb
+0x27de le_update_phy_cb_m2s
+0x27e6 le_update_phy_cb_m2s_no_change
+0x27ec le_update_phy_cb_s2m
+0x27f5 le_update_phy_cb_s2m_no_change
+0x27fb le_check_update_flag
+0x2809 le_update_ahead1
+0x280b le_update
+0x2810 le_check_update_small
+0x281c le_check_retransmit
+0x2823 le_acknowledge
+0x283c le_ack_unenc
+0x284a le_check_wak
+0x2857 le_set_enc
+0x285c le_clear_enc
+0x2868 le_scan_check_sender_addr_type
+0x286d le_get_master_rx_max
+0x2871 le_prepare_tx
+0x2892 le_check_tx_md
+0x2899 le_check_continue
+0x28a2 le_set_md
+0x28a4 le_clear_md
+0x28a6 le_update_tx_type
+0x28aa le_att_check_notification_enable
+0x28b6 le_send_empty
+0x28b8 le_send_packet
+0x28c8 le_send_no_txlen
+0x28ce le_send_packet_enc
+0x28d0 get_lpm_wake_ble_rx_lock
+0x28d2 put_lpm_wake_ble_rx_lock
+0x28d4 le_parse
+0x28e1 le_parse_l2cap
+0x28ee le_check_l2cap_complete
+0x28f2 le_check_l2cap_cid_legal
+0x28fd le_check_l2cap_llid_start
+0x2910 le_check_l2cap_continue_legal
+0x2914 le_check_l2cap_llid_continue
+0x2929 le_writeatt_cb
+0x292b le_supervision_update
+0x2935 le_supervision_flush
+0x2938 le_receive_window_size
+0x2952 le_modified_name
+0x2955 le_modified_name_att_list
+0x2966 le_name_length_longer_than_att
+0x2969 le_modified_name_adv
+0x2976 le_modified_name_adv_and_scan
+0x2988 le_modified_name_adv_and_scan_store_data
+0x298e le_modified_name_adv_and_scan_name_overflow
+0x2990 le_modified_name_adv_loop
+0x299b le_modified_name_adv_loop2
+0x299f le_modified_name_adv_found_name
+0x29a1 memcpy_empty
+0x29a5 le_lpm_set_mult
+0x29a9 le_lpm_set_mult_attempt
+0x29b8 le_lpm_lost
+0x29c1 le_set_config_fixed_tk
+0x29c3 le_clr_config_fixed_tk
+0x29c5 le_set_config_fixed_ltk
+0x29c7 le_clr_config_fixed_ltk
+0x29c9 le_set_config_more_data
+0x29cb le_clr_config_more_data
+0x29cd le_set_config_read_authentication
+0x29cf le_clr_config_read_authentication
+0x29d1 le_set_config_write_authentication
+0x29d3 le_clr_config_write_authentication
+0x29d5 le_set_config_short_mult
+0x29d6 le_set_config
+0x29da le_clr_config_short_mult
+0x29db le_clr_config
+0x29df le_set_fixed_ltk
+0x29ec le_set_justwork
+0x29f2 le_fifo_malloc_tx_empty
+0x29f5 le_fifo_malloc_tx_ll
+0x29fb le_fifo_malloc_tx_l2cap
+0x2a05 le_fifo_malloc_tx
+0x2a10 le_fifo_get_first_tx_ptr
+0x2a14 le_fifo_get_second_tx_ptr
+0x2a16 le_fifo_get_last_tx_ptr
+0x2a19 le_fifo_get_last_tx_ptr0
+0x2a1b le_fifo_get_first_l2cap_ptr
+0x2a1e le_fifo_get_first_att_ptr
+0x2a21 le_fifo_get_last_att_ptr
+0x2a24 le_fifo_get_last_l2cap_ptr
+0x2a27 le_fifo_check_full
+0x2a28 le_fifo_check_nearly_full
+0x2a29 le_fifo_check_empty
+0x2a2a le_fifo_release_first_node
+0x2a2b le_set_dle
+0x2a2d le_set_phys
+0x2a30 le_set_rx_phy
+0x2a32 le_set_tx_phy
+0x2a33 le_set_phy_common
+0x2a38 le_set_feature_2m_phy
+0x2a3a le_set_feature_coded_phy
+0x2a3c le_set_feature_data_packet_length_extension
+0x2a3d le_set_feature
+0x2a41 le_set_fixed_ltk_justwork
+0x2a45 le_advertising_dispatch
+0x2a4b le_scan
+0x2a6a le_wait_adv
+0x2a71 le_create_conn
+0x2a84 le_connect_request
+0x2a8f le_con_req_hop_retry
+0x2acb le_adv
+0x2ad0 le_adv_loop
+0x2ae2 le_adv_not_match
+0x2aef le_send_adv_protect_txbuf
+0x2af2 le_send_adv_recover_txbuf
+0x2af5 le_init_adv
+0x2af7 le_adv_access
+0x2afe le_send_adv_ind
+0x2b0f le_send_adv_direct_ind
+0x2b15 le_send_adv_transmit
+0x2b1c le_send_scan_request
+0x2b2d le_send_scan_response
+0x2b40 le_parse_connect_req
+0x2b68 le_next_adv_channel
+0x2b6e le_next_adv_channel_curr_channel_37
+0x2b74 le_next_adv_channel_curr_channel_38
+0x2b7a le_next_adv_channel_curr_channel_39
+0x2b80 set_le_next_adv_channel_37
+0x2b85 set_le_next_adv_channel_38
+0x2b8a set_le_next_adv_channel_39
+0x2b8f le_parse_att
+0x2b96 le_parse_att2
+0x2ba4 le_send_att_exchange_mtu_requset
+0x2ba7 le_send_att_exchange_mtu_common
+0x2bab le_parse_att_exchange_mtu_request
+0x2bac le_send_att_exchange_mtu_response
+0x2bb0 le_parse_att_exchange_mtu_response
+0x2bb3 le_parse_att_find_information_request
+0x2bb6 le_att_handle_inrange
+0x2bc1 le_att_handle_blank
+0x2bc3 le_send_att_find_information_response
+0x2bc5 le_send_att_find_information_res_loop
+0x2bdc le_send_att_find_information_res_uuid16
+0x2bdf le_send_att_find_information_res_uuid128
+0x2be3 le_send_att_find_information_res_store_info2
+0x2be8 le_send_att_find_information_res_store_info
+0x2bf1 le_send_att_find_information_res_cont
+0x2bf3 le_send_att_find_information_res_next
+0x2bf5 le_send_att_find_information_res_end
+0x2bf7 le_parse_att_find_by_type_value_request
+0x2c00 le_start_end_handle_check_1
+0x2c07 le_start_end_handle_check_1_fail
+0x2c0a le_send_att_find_by_type_value_response
+0x2c11 le_send_att_find_by_type_value_res_primary
+0x2c16 le_send_att_find_primary_search_loop
+0x2c26 le_send_att_find_primary_search_loop1
+0x2c2a le_send_att_error_response_notfound2
+0x2c2d le_send_att_find_primary_search_end_start_handle_found
+0x2c35 le_send_att_find_primary_search_end_ending_handle_found
+0x2c3b le_send_att_find_primary_search_end
+0x2c44 le_parse_att_read_by_type_request
+0x2c47 le_send_att_read_by_type_response
+0x2c56 le_send_att_read_by_type_response_loop
+0x2c77 le_send_att_read_by_type_response_next_handle
+0x2c79 le_send_att_read_by_type_response_end
+0x2c7b le_send_att_read_by_type_res_found_next
+0x2c89 le_send_att_read_by_type_write_properties
+0x2c90 le_send_att_read_by_type_write_uuid
+0x2c9c le_send_att_read_by_type_res_not_characteristic
+0x2cb2 le_send_att_read_by_type_res_device_name
+0x2cc7 le_init_attlist_search
+0x2ccf le_att_get_handle_ptr
+0x2cd2 le_att_get_handle_ptr2
+0x2cd5 le_att_get_handle_loop1
+0x2cdd le_att_get_handle_ptr_found
+0x2cdd le_att_contr_add_len
+0x2ce0 le_att_get_uuid_ptr
+0x2ce3 le_att_get_uuid_loop
+0x2cf3 le_att_get_uuid_ptr_next
+0x2cf6 le_att_get_last_handle
+0x2cfa le_att_get_last_handle_loop
+0x2d02 le_att_get_handle_info_from_ptr
+0x2d04 le_att_get_handle_info
+0x2d06 le_att_get_handle_info_fast
+0x2d07 le_att_get_handle_loop
+0x2d0f le_att_unfind_handle
+0x2d10 le_att_finded_handle
+0x2d19 le_parse_att_read_request
+0x2d1d le_send_att_read_response
+0x2d2d le_send_att_read_response_less
+0x2d36 le_send_device_name
+0x2d42 le_send_att_read_response_check_auth
+0x2d46 le_send_att_read_response_error_insufficient_auth
+0x2d48 le_send_att_read_response_check_handle
+0x2d4c le_parse_att_read_blob_request
+0x2d50 le_send_att_read_blob_response
+0x2d59 le_send_att_read_blob_response_less
+0x2d63 le_parse_att_read_by_group_type_request
+0x2d66 le_send_att_read_by_group_type_response
+0x2d6d le_send_att_read_by_group_type_response_loop
+0x2d8a le_send_att_read_by_group_type_store_write_record
+0x2d90 le_send_att_read_by_group_type_store_record
+0x2d94 le_send_att_read_by_group_type_next_handle
+0x2d96 le_send_att_read_by_type_res_check_pair_length_type
+0x2d98 le_send_att_read_by_group_type_check_pair_length_type
+0x2d9c le_send_att_read_by_group_type_check_pair_length_type_16byte
+0x2d9e le_send_att_read_by_group_type_end0
+0x2da1 le_send_att_read_by_group_type_end1
+0x2da5 le_send_att_read_by_group_type_end_common
+0x2da8 le_parse_att_write_request
+0x2dac le_send_att_write_response_check_auth
+0x2dbc le_send_att_write_response
+0x2dc1 le_send_att_write_response_check_handle
+0x2dc5 le_send_att_write_response_error_invalid_handle
+0x2dc7 le_check_encrypt_state
+0x2dce le_parse_att_prepare_write_request
+0x2dd3 le_send_att_prepare_write_response
+0x2de1 le_parse_att_execute_write_request
+0x2de1 le_send_att_execute_write_response
+0x2de6 le_parse_handle_value_confirmation
+0x2dea le_parse_att_write_command
+0x2dee le_att_malloc_tx_notify
+0x2df7 le_att_malloc_tx_indication
+0x2e03 le_send_att_error_response_notfound
+0x2e05 le_send_att_error_response
+0x2e10 le_fifo_malloc_tx_l2cap_gatt
+0x2e13 le_att_next_handle
+0x2e17 le_att_check_handle_end
+0x2e1b le_att_same_type
+0x2e1e le_att_check_same_common
+0x2e24 le_store_att_record
+0x2e2a le_write_att_record
+0x2e30 le_write_att_record_common
+0x2e34 le_send_auto_len_by_mem
+0x2e41 le_get_search_handle_start_end_common
+0x2e46 le_get_search_max_mtu_data
+0x2e4a le_get_search_att_type
+0x2e4d le_get_search_common
+0x2e4f le_get_search_common2
+0x2e53 le_parse_writing_attribute_start
+0x2e61 le_clear_l2cap_att_states_deal_with_contiune_packet
+0x2e65 le_parse_writing_attribute_continue
+0x2e6e le_parse_attribute_write_request
+0x2e70 le_send_attribute_write_response_check_auth
+0x2e73 le_parse_attribute_write_command
+0x2e77 le_parse_attribute_check_complete_packet_init
+0x2e7e le_parse_l2cap_continue_common
+0x2e84 le_parse_attribute_check_complete_packet
+0x2e8a le_parse_signaling
+0x2e8f le_l2cap_parse_conn_parameter_update_rsp
+0x2e93 le_l2cap_tx_update_req
+0x2e9b le_fifo_malloc_tx_l2cap_signaling
+0x2ea3 le_l2cap_update_signaling_identifier
+0x2ea7 le_l2cap_reset_signaling_identifier
+0x2ea9 le_pairing_mode_init
+0x2eb1 le_set_pairing_mode_secure_justwork
+0x2eb3 le_set_pairing_mode_secure_numeric
+0x2eb6 le_set_pairing_mode_secure_passkey
+0x2eb8 le_set_no_pairing
+0x2eb9 le_set_noinputnooutput
+0x2ebb le_set_pairing_mode_lagacy_just_work
+0x2ebd le_set_pairing_mode_lagacy_passkey
+0x2ebe le_set_displayonly
+0x2ec0 le_secure_connection_enable
+0x2ec4 le_secure_connection_disable
+0x2ec8 le_parse_smp
+0x2ed5 le_send_smp_security_request
+0x2edc le_parse_smp_pairing_request
+0x2ee8 le_parse_smp_pairing_request2
+0x2ef0 le_set_tk_0
+0x2ef3 le_parse_smp_pairing_req_passkey
+0x2ef5 le_genernate_tk
+0x2efc le_parse_smp_pairing_req_fixed_passkey
+0x2efe le_send_smp_pairing_response
+0x2f03 le_parse_smp_pairing_confirm
+0x2f0b le_parse_smp_pairing_confirm_passkey_res_input
+0x2f0d le_parse_smp_pairing_confirm_secure_passkey
+0x2f10 le_parse_smp_pairing_confirm_sc_passkey_res_input
+0x2f13 le_send_smp_pairing_confirm
+0x2f1c le_send_smp_pairing_confirm_sc
+0x2f24 le_parse_smp_pairing_random
+0x2f2a le_send_pairing_confirm_value_failed
+0x2f2b le_send_pairing_failed
+0x2f31 le_parse_smp_pairing_failed
+0x2f37 le_smp_pairing_fail_reason_not_support_pairing
+0x2f39 le_parse_smp_pairing_random_sc
+0x2f45 le_parse_smp_pairing_random_sc_passkey
+0x2f4e le_parse_smp_pairing_random_success
+0x2f53 le_send_smp_pairing_random
+0x2f59 le_send_smp_encryption_information
+0x2f61 le_send_fixed_ltk
+0x2f63 le_send_smp_master_identification
+0x2f6f le_send_smp_identity_information
+0x2f77 le_send_smp_identity_address_information
+0x2f80 le_send_pairing_fail_unspecified_reason
+0x2f82 le_check_init_key_distribution
+0x2f86 le_parse_smp_identity_information
+0x2f90 le_check_master_addr_type
+0x2f96 le_parse_smp_identity_address_information
+0x2f9a le_parse_smp_signing_information
+0x2f9a le_parse_smp_security_request
+0x2f9b le_parse_smp_public_key
+0x2fa0 le_parse_smp_dhkey_check
+0x2fa5 le_send_smp_pairing_public_key
+0x2fab le_send_smp_pairing_dhkey_check
+0x2fb1 le_check_paring_time
+0x2fba le_pairing_sm
+0x2fc7 le_pairing_sm_null
+0x2fc7 le_pairing_sm_send_sec_req
+0x2fcd le_pairing_sm_start
+0x2fcf le_pairing_sm_rcv_pairing_req
+0x2fd3 le_pairing_sm_after_auth
+0x2fd6 le_pairing_sm_after_auth_start_enc
+0x2fda le_pairing_sm_after_auth_start_enc_common
+0x2fe1 le_pairing_sm_after_auth_start_enc_sc
+0x2fe3 le_pairng_sm_send_enc_information
+0x2fe5 le_pairng_sm_send_master_indentification
+0x2fec le_pairng_sm_send_indentity_information
+0x2fee le_parse_start_enc_rsp_after_auth_end
+0x2ff5 le_secure_connect_sm
+0x3003 le_sc_state_clear
+0x3007 le_sc_sm_passkey_wait_confirm
+0x3011 le_sc_sm_wait_confirm_gkey
+0x3016 le_sc_confirm_gkey_ok
+0x301a le_sc_sm_receive_dhkey
+0x301e le_dhkey_ready
+0x3023 le_dhkey_ready_common
+0x3029 le_dhkey_check_fail
+0x302b le_dhkey_check_ok
+0x3035 le_sc_sm_send_public_key
+0x3039 le_sc_sm_ready_send_pairing_confirm
+0x303a le_sc_sm_send_public_key_passkey
+0x303d le_sc_sm_receive_public_key
+0x3041 le_public_key_ready
+0x3044 le_sc_sm_wait_send_public_key
+0x3047 le_fifo_malloc_tx_l2cap_smp
+0x304a le_parse_ll
+0x3061 le_parse_connection_update_ind
+0x3069 le_parse_channel_map_ind
+0x306d le_update_map_enable
+0x3071 le_parse_terminate_ind
+0x3075 le_parse_enc_req
+0x3087 le_parse_enc_req_after_auth
+0x308a le_parse_enc_req_fixed_ltk
+0x308f le_ltk_lost
+0x3093 le_parse_enc_rsp
+0x3098 le_parse_start_enc_req
+0x309c le_parse_start_enc_rsp
+0x30a1 le_parse_unknown_rsp
+0x30a2 le_parse_feature_req
+0x30a3 le_parse_feature_rsp
+0x30a4 le_parse_pause_enc_req
+0x30a8 le_parse_pause_enc_rsp
+0x30a9 le_parse_version_ind
+0x30ab le_parse_reject_ind
+0x30ac le_parse_ping_req
+0x30ad le_parse_ping_rsp
+0x30ae le_parse_length_req
+0x30b0 le_parse_length_rsp
+0x30bb le_parse_phy_req
+0x30bc le_parse_phy_update_ind
+0x30c5 le_send_terminate_ind_user_terminated
+0x30c6 le_send_terminate_ind
+0x30cc le_send_enc_rsp
+0x30da le_send_start_enc_req
+0x30dd le_send_start_enc_rsp
+0x30df le_send_unknown_rsp
+0x30e4 le_send_feature_rsp
+0x30eb le_send_pause_enc_rsp
+0x30ed le_send_version_ind
+0x30f3 le_send_reject_ind
+0x30f9 le_send_ping_rsp
+0x30fb le_send_data_length_req
+0x30fd le_send_data_length_res
+0x30fe le_send_data_length
+0x3103 le_send_phy_rsp
+0x310d le_send_ll_one_lenth
+0x310f g24_dispatch
+0x3112 g24_prep
+0x3119 g24_receive_packet
+0x3121 g24_receive_rxon
+0x3126 g24_receive_nolr
+0x3135 g24_receive_skip_fec1
+0x313c g24_receive_update_rxbuff
+0x3148 g24_receive_skip
+0x3151 g24rx_loop
+0x3154 g24rx_nopayload
+0x3159 g24_receive_skip_rssi
+0x3160 g24_receive_skip_next
+0x3164 g24_receive_skip_end
+0x316d g24_receive_skip_disable_fec1
+0x316f g24_lr_receive_pdu_len
+0x3176 g24_lr_receive_pdu_norssi
+0x3178 g24_lr_receive_payload_len
+0x317d g24_receive_byte
+0x3180 g24_sync_timeout
+0x3183 g24_end_of_packet
+0x3188 g24_hec_error
+0x318a g24_lr_len_error
+0x318c g24_type_error
+0x318e g24_len_over_error
+0x3190 g24_crc_error
+0x3192 g24_set_freq_tx
+0x3195 g24_transmit
+0x31a8 g24_transmit_packet
+0x31ae g24_transmit_nolr
+0x31b3 g24tr_loop
+0x31bd g24_transmit_skip
+0x31c4 g24_transmit_skip_disable_fec1
+0x31c7 g24_transmit_lr
+0x31c8 g24_transmit_lr_preamble_loop
+0x31d2 g24_transmit_lr_s2
+0x31d6 g24_transmit_lr_s8
+0x31d9 g24_transmit_2m
+0x31db g24_transmit_2m_dealy
+0x31e5 g24_transmit_prep
+0x31f0 g24_transmit_prep_pdu
+0x31fc g24_transmit_prep_pdu_end
+0x3206 g24_lr_transmit_prep
+0x320a g24_lr_transmit_prep_skip
+0x3214 g24_read_len_pid_crc
+0x3222 g24_ch
+0x3227 g24_ch_map_size
+0x322c g24_ch_calc
+0x3236 g24_update_addr_and_synccrc8
+0x3238 g24_syncword_crc8
+0x323b g24_syncword_crc8_loop
+0x3245 g24_timer_check
+0x3255 g24_timer_timeout
+0x3258 g24_timer_init
+0x325b g24_chmap_param_init
+0x326b g24_chamap_param_update
+0x3278 g24_rx_window_init
+0x327f g24_rx_window_store
+0x3281 g24_enable_1m
+0x3284 g24_enable_2m
+0x3287 g24_pair_param_init
+0x328e g24_pair_timeout_timer
+0x3291 g24_pair_start
+0x329c g24_pair_init_param
+0x32a3 g24_pair_dispatch
+0x32b2 g24_pair_sm_1
+0x32b4 g24_pair_sm_2
+0x32b8 g24_pair_sm_2_skip
+0x32ba g24_pair_sm_3
+0x32c0 g24_pair_sm_4
+0x32c1 g24_pair_sm_prep
+0x32c3 g24_pair_sm_common
+0x32d6 g24_pair_sm_reinit
+0x32db g24_pair_sm_1_waiting_ack
+0x32dd g24_pair_sm_2_waiting_ack
+0x32e1 g24_pair_sm_2_waiting_ack_skip
+0x32e3 g24_pair_sm_3_waiting_ack
+0x32e9 g24_pair_sm_3_waiting_ack_skip
+0x32eb g24_pair_sm_4_waiting_ack
+0x32f1 g24_pair_sm_4_waiting_ack_skip
+0x32f8 g24_pair_exit
+0x32fc g24_bind_mode_enable
+0x32ff g24_bind_init
+0x330a g24_bind_ackpayload_prep
+0x330f g24_bind_data_process
+0x331c g24_bind_data_error
+0x331e g24_bind_data_parse
+0x3322 g24_bind_data_parse_next
+0x3329 g24_bind_first_step
+0x332d g24_bind_first_step_device1
+0x3330 g24_bind_dvc1_payload_cfg
+0x3331 g24_bind_payload_cfg
+0x3335 g24_bind_first_step_device2
+0x3338 g24_bind_dvc2_payload_cfg
+0x333a g24_bind_second_step
+0x3340 g24_bind_second_step_skip
+0x3344 g24_bind_second_step_device1
+0x3349 g24_bind_dvc1_step_set2
+0x334c g24_bind_dvc1_payload_cfg_transmitter_addr
+0x334d g24_bind_payload_cfg_transmitter_addr
+0x3351 g24_bind_second_step_device2
+0x3356 g24_bind_dvc2_step_set2
+0x335b g24_bind_third_step
+0x3361 g24_bind_third_step_skip
+0x3365 g24_bind_third_step_device1
+0x336a g24_bind_dvc1_step_success
+0x336f g24_bind_exit
+0x3372 g24_bind_third_step_device2
+0x3377 g24_bind_dvc2_step_success
+0x337e g24_binding_device_check
+0x3386 g24_binding_dvc1_status
+0x3388 disable_user3
+0x338a g24_binding_dvc2_status
+0x338d g24_binding_dvc1_living
+0x3393 g24_binding_dvc2_living
+0x3399 g24_bind_device_status_check
+0x339b g24_bind_device_status
+0x339f g24_receive_init
+0x33a3 g24_receive_dispatch
+0x33a5 g24_ackpayload_prep
+0x33ab g24_receive_packet_start
+0x33ad g24_receive_packet_parse
+0x33b9 g24_receive_packet_parse_end
+0x33be g24_rx_interrupt_clear
+0x33c2 g24_data_receive_attemp
+0x33c4 g24_data_device1
+0x33ce g24_data_device1_next
+0x33d3 g24_data_device2
+0x33d9 g24_data_attemp_device1_abort
+0x33e1 g24_data_attemp_device2_abort
+0x33e3 g24_receive_packet_parse_pid_crc
+0x33f1 g24_receive_transmit_ack
+0x33f4 g24_transmit_ack
+0x33fa g24tx_with_ack
+0x33fd g24tx_no_ack
+0x33fe g24_enable_nodata_timer
+0x33ff g24_enable_nodata_timer_init
+0x3402 g24_mode_switch_init
+0x3407 g24_mode_switch_bind_work
+0x3414 g24_bind_mode_continue
+0x3419 g24_work_mode_switch
+0x341c g24_bind_mode_switch
+0x341f g24_mode_b_s_switch_init
+0x342d g24_mode_switch_bind_search
+0x3448 g24_mode_switch_search
+0x344b g24_mode_b_s_switch_exit
+0x344d g24_mode_b_s_switch_stop
+0x344f g24_mode_b_s_switch_start
+0x3451 g24_work_init
+0x3460 g24_switch_work_mode
+0x3461 g24_work_mode_enable
+0x3464 g24_work_mode_start
+0x3469 g24_bind_mode_auto
+0x3476 g24_search_mode_init
+0x3488 g24_search_mode_auto
+0x34a7 g24_self_ch_num_reinit
+0x34a8 g24_current_ch_num_reinit
+0x34aa g24_device2_ch_num_reinit
+0x34ac g24_device1_ch_num_reinit
+0x34ae g24_auto_addr_ch_search
+0x34b8 g24_auto_bind_config_device1
+0x34cd g24_device1_config_ch_once
+0x34d2 g24_auto_bind_config_device2
+0x34e7 g24_device2_config_ch_once
+0x34ec g24_auto_bind_config_self
+0x3500 g24_self_config_ch_once
+0x3504 g24_ackpayload_disable
+0x3506 g24_receiver_addr_check
+0x350a g24_nodata_process
+0x3511 g24_nodata_timer_over
+0x3514 g24_search_mode_enable
+0x3518 g24_ch_process
+0x352c g24_ch_receive_hop_pac
+0x352e g24_ch_timer_reinit
+0x3531 g24_reconn_timeout_timer
+0x3534 g24_reconn_start
+0x3541 g24_reconn_fast_conn
+0x3549 g24_reconn_receiver_addr
+0x3550 g24_reconn_device_3_0_addr
+0x3557 g24_store_receiver_addr
+0x355a g24_ch_syncword_crc8_init
+0x355c g24_reconn_dispatch
+0x3565 g24_reconn_dispatch_next
+0x357b g24_txbuf_clear
+0x357f g24_reconn_data_prep
+0x3586 g24_reconn_device_fail
+0x3593 g24_reconn_fast_conn_and_receiver
+0x3595 g24_reconn_fast_conn_and_3_0
+0x3597 g24_reconn_receiver_and_3_0
+0x3599 g24_reconn_pair_and_3_0
+0x359b g24_data_attemp
+0x359f g24_data_attemp_device1
+0x35a3 g24_store_device1_addr
+0x35a5 g24_data_attemp_device2
+0x35a9 g24_store_device2_addr
+0x35ab rssi_store
+0x35b4 rssi_average
+0x35bb rssi_average_loop
+0x35c8 save_rssi_dec
+0x35c9 rssi_transmitter_buff_init
+0x35cb rssi_signal
+0x35d6 rssi_receiver_buff_init
+0x35dd rssi_buff_clear
+0x35e3 rssi_noise
+0x35ea rssi_noise_monitor
+0x35f0 g24_transmit_init
+0x35f3 g24_interval_param_4ms
+0x35fb g24_interval_param_8ms
+0x3603 g24_transmit_dispatch
+0x3609 g24_transmit_no_interrupt
+0x360c g24_transmit_start
+0x3610 g24_transmit_start_next
+0x3616 g24_short_sleep
+0x361d g24_long_sleep
+0x3622 g24_long_seep2
+0x3625 g24_txdata_prep
+0x3628 g24_package_data
+0x362e g24_accumulate_data
+0x3636 g24_transmit_rf_ctrl_clear
+0x363a g24_transmit_process
+0x363d g24_transmit_loop
+0x3646 g24_transmit_no_ack
+0x3647 g24_transmit_next_packet
+0x364c g24_transmit_abandon
+0x3651 g24_transmit_receive_ack
+0x365f g24_retransmit
+0x3662 g24_retransmit0
+0x366e g24_ackpayload_parse
+0x3676 g24_tx_attempt_fail
+0x367a g24_stop_24g_mode
+0x367c g24_transmit_hop_process
+0x3689 g24_transmit_hop_process_4ms
+0x368d g24_hop_ch_enable
+0x368d g24_txpayload_type_update
+0x3690 g24_lr_type_update
+0x3692 g24_hop_enable_packet
+0x3694 g24_hop_ch_disable
+0x369a g24_tx_fast_hop
+0x369d g24_search_receiver
+0x369f g24_nodata_transmit
+0x36a6 g24_send_abort_packet
+0x36b4 g24_lpm_wait
+0x36be g24_setgpio_lpm_before
+0x36c0 g24_transmit_by_interrupt
+0x36ca g24_transmit_by_interrupt_exit
+0x36cf g24_interval_min
+0x36d1 g24_interval_store
+0x36d3 g24_interval_max
+0x36d5 g24_interval_calibrate
+0x36db g24_transmit_by_interrupt_enable
+0x36df g24_factory_check
+0x36e1 pdata_0xff_check
+0x36e3 pdata_0xff_check_loop
+0x36e8 power_ctrl_start
+0x36f3 power_ctrl_start_next
+0x36fb power_ctrl_txpower_decrs_check
+0x3700 power_ctrl_txpower_decrs
+0x3704 power_ctrl_txpower_decrs_next
+0x370b power_ctrl_decrs_level1
+0x370b power_ctrl_incrs_level1
+0x370d power_ctrl_txpower_incrs_force
+0x370e power_ctrl_txpower_incrs
+0x3713 power_ctrl_incrs_level2
+0x3715 power_ctrl_decrs_level0
+0x3717 power_ctrl_pac_succ_cnt_init
+0x371a power_ctrl_pac_succ_incrs
+0x371e power_ctrl_pac_succ_decrs
+0x3726 power_ctrl_pac_succ_cnt_reinit
+0x3728 ali_mesh_access_layer_resolve_message
+0x372e ali_mesh_access_layer_check_access_message_opcode
+0x3739 ali_mesh_access_layer_message_opcode_config_appkey_add
+0x3745 ali_mesh_access_layer_recv_cfg_appkey_add_cb
+0x374f ali_mesh_accesss_layer_check_message_type
+0x3754 ali_mesh_access_layer_send_config_appkey_status
+0x375e ali_mesh_access_layer_finish_pairing_init_subscription_list
+0x3761 ali_mesh_access_layer_finish_pairing_init_subscription_list_loop
+0x376c ali_mesh_access_layer_send_generic_onoff_status
+0x3774 ali_mesh_access_layer_send_light_lightness_status
+0x377c ali_mesh_access_layer_send_light_ctl_stauts
+0x3784 ali_mesh_access_layer_send_scene_status
+0x378c ali_mesh_app_recv_new_mesh_pkt
+0x3791 ali_mesh_report_power_on_timer
+0x3794 ali_mesh_report_full_attribute_timer
+0x3797 ali_mesh_app_report_device_state
+0x3799 ali_mesh_ali_vendor_message_attribute_set
+0x37ba ali_mesh_ali_vendor_message_opcode_attr_get
+0x37bb ali_mesh_ali_vendor_message_opcode_attr_confrimation
+0x37c4 ali_mesh_ali_vendor_message_attrbute_check_company_id_and_tid
+0x37cf ali_mesh_ali_vendor_message_attribute_set_main_light
+0x37d2 ali_mesh_ali_vendor_message_attribute_set_background_light
+0x37d5 ali_mesh_ali_vendor_message_attribute_set_color
+0x37d8 ali_mesh_ali_vendor_message_opcode_timer_set_curr_time
+0x37dc ali_mesh_ali_vendor_message_status_add_head
+0x37e4 ali_mesh_ali_vendor_message_opcode_device_power_on
+0x37e8 ali_mesh_ali_vendor_message_opcode_generic_onoff
+0x37ea ali_mesh_ali_vendor_message_ack_attr_status_uint64
+0x37ec ali_mesh_ali_vendor_message_ack_attr_status_uint56
+0x37ee ali_mesh_ali_vendor_message_ack_attr_status_uint48
+0x37f0 ali_mesh_ali_vendor_message_ack_attr_status_uint32
+0x37f2 ali_mesh_ali_vendor_message_ack_attr_status_uint16
+0x37f4 ali_mesh_ali_vendor_message_ack_attr_status_uint8
+0x37f6 ali_mesh_ali_vendor_message_ack_attr_status
+0x37fc ali_mesh_ali_vendor_message_opcode_para_uint8
+0x3801 ali_mesh_ali_vendor_message_opcode_para_uint16
+0x3806 ali_mesh_ali_vendor_message_send_message
+0x3808 ali_mesh_ali_vendor_message_indication_info_add_head
+0x3817 ali_mesh_ali_vendor_message_indication_info_reset_tid
+0x3819 ali_mesh_ali_vendor_message_opcode_delete_timer
+0x3823 ali_mesh_ali_vendor_message_opcode_delete_timer_loop
+0x382e ali_mesh_access_layer_send_ali_vendor_message_delete_timer
+0x3837 ali_mesh_ali_vendor_aim_timer_buffer_clear
+0x383f ali_mesh_ali_vendor_aim_timer_buffer_clear_all
+0x3845 ali_mesh_ali_vendor_message_opcode_timer_inquire
+0x3856 ali_mesh_ali_vendor_message_opcode_timer_inquire_time
+0x385e ali_mesh_ali_vendor_message_opcode_timer_inquire_all_timer
+0x3867 ali_mesh_ali_vendor_message_opcode_timer_inquire_time_error
+0x386a ali_mesh_ali_vendor_message_opcode_timer_set_state
+0x387d ali_mesh_time_function
+0x3889 ali_mesh_time_init_system_time
+0x388a ali_mesh_time_init_system_time_without_clk
+0x388f ali_mesh_timer_timeout
+0x3896 ali_mesh_clkn_bt_add_1s
+0x3897 ali_mesh_time_loop
+0x389a ali_mesh_ali_vendor_check_time
+0x38a0 ali_mesh_ali_vendor_check_time_loop
+0x38a8 ali_mesh_ali_vendor_had_timing
+0x38b5 ali_mesh_ali_vendor_had_timing_single_time
+0x38bc ali_mesh_ali_vendor_time_out_of_date
+0x38bf ali_mesh_ali_vendor_had_timing_cyclically
+0x38d5 ali_mesh_ali_vendor_had_timing_cyclically_continue
+0x38e3 ali_mesh_ali_vendor_time_timeout
+0x38ef ali_mesh_ali_vendor_time_timeout_continue
+0x38f4 ali_mesh_ali_vendor_time_timeout_cyclic
+0x38ff ali_mesh_ali_vendor_message_opcode_timing_finish
+0x3907 ali_mesh_ali_vendor_message_opcode_timer_set_timing
+0x391c ali_mesh_ali_vendor_message_opcode_timer_set_timing_cyclically
+0x3928 ali_mesh_access_layer_send_ali_vendor_message_current_timing
+0x3930 ali_mesh_ali_vendor_store_mesh_timer_infmatn
+0x3937 ali_mesh_vendor_timer_buffer_offset_cal
+0x393b ali_mesh_get_all_timer_index_timer
+0x3940 ali_mesh_get_all_timer_index_timer_loop
+0x3945 ali_mesh_get_all_timer_index_timer_loop_end
+0x394a peripherals_write_mesh_timer_infmatn
+0x394c ali_mesh_bearer_layer_send_packet_by_network_layer
+0x3961 ali_mesh_bearer_layer_gatt_send_packet_by_network_layer
+0x3964 ali_mesh_send_ble_data_control_package
+0x3967 ali_mesh_advertising_bearer_layer_init_queue
+0x396c ali_mesh_advertising_bearer_layer_init_queue_param
+0x396f ali_mesh_advertising_bearer_layer_load_packet_from_advertising_queue
+0x396f ali_mesh_advertising_bearer_layer_load_packet_from_advertising_queue_deal
+0x3973 ali_mesh_advertising_bearer_layer_send_packet_by_app_bearer_calc_param
+0x397c ali_mesh_advertising_add_adtype_flags
+0x3984 ali_mesh_advertising_add_adtype_16bit_complete
+0x398b mesh_ble_rx_packet_only
+0x3995 mesh_ble_rx_packet
+0x3997 mesh_ble_rx_packet_check_timer
+0x39a1 mesh_ble_rx_packet_check_and_init
+0x39a9 mesh_le_calc_next_scan_channel
+0x39b1 mesh_check_ble_rx_packet
+0x39b6 ali_mesh_match_advertising_packet
+0x39bd ali_mesh_find_adv_ind_packet
+0x39d1 ali_mesh_receive_adtype_manufacturer_specific_tmall_control
+0x39d3 mesh_le_send_adv
+0x39e0 mesh_le_send_adv_loop
+0x39f0 mesh_le_send_adv_nonconn_ind
+0x39fb ali_mesh_base_adt_cache
+0x3a09 ali_mesh_base_adt_cache_loop
+0x3a16 ali_mesh_base_adt_cache_empty_space
+0x3a18 ali_mesh_chip_peripherals_load_data
+0x3a1a ali_mesh_chip_peripherals_load_data_from_flash
+0x3a21 ali_mesh_chip_peripherals_load_three_tuple_from_flash
+0x3a25 ali_mesh_chip_peripherals_load_network_key_from_flash
+0x3a2c ali_mesh_chip_peripherals_load_application_key_from_flash
+0x3a30 ali_mesh_chip_peripherals_load_device_key_from_flash
+0x3a34 ali_mesh_chip_peripherals_load_reset_count_from_flash
+0x3a35 ali_mesh_chip_peripherals_load_seq_from_flash
+0x3a39 ali_mesh_chip_peripherals_load_subscription_from_flash
+0x3a43 ali_mesh_chip_peripherals_load_data_from_eep
+0x3a4a ali_mesh_chip_peripherals_load_three_tuple_from_eep
+0x3a4e ali_mesh_chip_peripherals_load_network_key_from_eep
+0x3a55 ali_mesh_chip_peripherals_load_application_key_from_eep
+0x3a59 ali_mesh_chip_peripherals_load_device_key_from_eep
+0x3a5d ali_mesh_chip_peripherals_load_reset_count_from_eep
+0x3a5e ali_mesh_chip_peripherals_load_seq_from_eep
+0x3a62 ali_mesh_chip_peripherals_load_subscription_from_eep
+0x3a6b ali_mesh_chip_peripherals_load_subscription_loop
+0x3a71 mesh_receive_config_appkey_add_cb
+0x3a74 mesh_receive_config_appkey_add_flash_cb
+0x3a77 ali_mesh_chip_peripherals_save_network_key_from_flash
+0x3a7b ali_mesh_chip_peripherals_save_application_key_from_flash
+0x3a7f ali_mesh_chip_peripherals_save_device_key_from_flash
+0x3a83 mesh_receive_config_appkey_add_eeprom_cb
+0x3a86 ali_mesh_chip_peripherals_save_network_key_from_eep
+0x3a8a ali_mesh_chip_peripherals_save_application_key_from_eep
+0x3a8e ali_mesh_chip_peripherals_save_device_key_from_eep
+0x3a92 mesh_store_new_seq_data
+0x3a9a ali_mesh_chip_peripherals_save_seq_from_flash
+0x3a9e ali_mesh_chip_peripherals_save_seq_from_eep
+0x3aa2 mesh_store_new_subscriptuion_list_data
+0x3aa9 mesh_store_new_subscriptuion_list_data_from_flash
+0x3aad ali_mesh_chip_peripherals_save_subscriptuion_list_from_eep
+0x3ab0 ali_mesh_chip_peripherals_save_subscriptuion_list_from_eep_loop
+0x3ab6 mesh_clear_pairing_key
+0x3ab8 ali_mesh_chip_clear_pairing_key_from_flash
+0x3abb ali_mesh_chip_clear_pairing_key_from_eeprom
+0x3abc mesh_vendor_timming_chage_cb
+0x3ac3 ali_mesh_vendor_timer_message_read
+0x3aca ali_mesh_control_ble_adv_process
+0x3acc ali_mesh_control_ble_adv_timer_process
+0x3ace ali_mesh_control_ble_advertising_on_advertising
+0x3ad0 ali_mesh_control_ble_advertising_off_advertising
+0x3ad2 ali_mesh_control_ble_adv_tmall_packet
+0x3ad6 ali_mesh_control_ble_adv_tmall_packet_send_package
+0x3adc ali_mesh_control_ble_advertising_send_device_silence_beacon_packet
+0x3ade ali_mesh_control_ble_advertising_send_paired_packet
+0x3aef ali_mesh_control_ble_advertising_send_paired_packet_end_duration_proxy
+0x3af5 ali_mesh_control_ble_advertising_send_paired_packet_end_duration
+0x3afb ali_mesh_send_paired_packet_init_advertising
+0x3afd ali_mesh_control_ble_advertising_send_device_beacon_packet
+0x3b05 ali_mesh_control_ble_advertising_device_beacon_check_duration
+0x3b09 ali_mesh_end_advertising_silence_device_beacon_packet
+0x3b0b ali_mesh_end_advertising_unprovisioned_device_beacon_packet
+0x3b0d ali_mesh_control_ble_advertising_send_pairing_packet
+0x3b0e ali_mesh_chip_timer_check_with_random_timer
+0x3b10 ali_mesh_chip_timer_check_with_random_timer_continue
+0x3b13 ali_mesh_chip_timer_check
+0x3b19 ali_mesh_advertising_unprovisioned_timer
+0x3b1c ali_mesh_advertising_unprovisioned_timeout
+0x3b23 ali_mesh_advertising_unprovisioned_timer_interval_timer
+0x3b26 ali_mesh_advertising_unprovisioned_timer_interval_timeout
+0x3b2a ali_mesh_stop_send_indication_packet
+0x3b2f ali_mesh_send_unprovisioned_device_beacon_init_advertising
+0x3b31 ali_mesh_send_silence_device_beacon_init_advertising
+0x3b33 ali_mesh_network_layer_control_relay_packet
+0x3b37 ali_mesh_network_layer_control_send_relay_packet
+0x3b45 ali_mesh_encrypt_calc_random_data
+0x3b4b ali_mesh_encrypt_calc_random_data_calc_confirmationkey
+0x3b53 ali_mesh_encrypt_calc_random_data_calc_authvalueprov
+0x3b59 ali_mesh_encrypt_calc_random_data_calc_authvaluedevice
+0x3b5f ali_mesh_encrypt_calc_random_data_calc_confirmationcloud
+0x3b67 ali_mesh_encrypt_calc_random_data_calc_confirmationdevice
+0x3b6b ali_mesh_encrypt_calc_random_data_calc_devicekey
+0x3b75 ali_mesh_encrypt_load_randomba_to_sha256
+0x3b76 ali_mesh_encrypt_load_randoma_to_sha256
+0x3b78 ali_mesh_encrypt_load_randomab_to_sha256
+0x3b79 ali_mesh_encrypt_load_randomb_to_sha256
+0x3b7b ali_mesh_encrypt_load_three_tuple_to_sha256
+0x3b86 ali_mesh_encrypt_calc_provisioning_data
+0x3b87 ali_mesh_encrypt_calc_provisioning_data_xor_prov_data
+0x3b8a ali_mesh_encrypt_calc_provisioning_data_xor_prov_data_loop
+0x3b92 ali_mesh_encrypt_calc_provisioning_data_calc_sessionkey
+0x3b99 ali_mesh_encrypt_calc_network_key_by_k2
+0x3b9c ali_mesh_encrypt_base_function_k2
+0x3bb1 ali_mesh_encrypt_base_function_k4
+0x3bbf ali_mesh_encrypt_base_function_k3
+0x3bcc ali_mesh_encrypt_obfuscation_deceypt_send_message
+0x3bcf ali_mesh_encrypt_obfuscation_deceypt_recevie_message
+0x3bd1 ali_mesh_encrypt_obfuscation_deceypt
+0x3bda ali_mesh_encrypt_generate_pecb
+0x3bda ali_mesh_encrypt_generate_privacy_random
+0x3bdc ali_mesh_encrypt_base_function_generate_pecb
+0x3be3 ali_mesh_encrypt_base_function_sha256_load_data_64bit
+0x3be4 ali_mesh_encrypt_base_function_sha256_load_data_with_hex2ascii
+0x3be7 ali_mesh_encrypt_base_function_sha256_load_data_without_hex2ascii
+0x3bea ali_mesh_encrypt_base_function_sha256_load_data_with_hex2ascii_add_comma
+0x3bee ali_mesh_encrypt_base_function_sha256_store_dataptr
+0x3bf1 ali_mesh_encrypt_base_function_sha256_check_first_load_data
+0x3bfa ali_mesh_encrypt_base_function_sha256_first_load_data
+0x3bfe ali_mesh_encrypt_base_function_sha256_clear_data_chunk
+0x3c01 ali_mesh_encrypt_base_function_sha256_calc
+0x3c06 ali_mesh_encrypt_base_function_sha256_calc_loop
+0x3c17 ali_mesh_encrypt_base_function_sha256_load_data_end
+0x3c30 ali_mesh_encrypt_base_function_sha256_add_chunk
+0x3c32 ali_mesh_encrypt_base_function_sha256_input_data_init_inverse
+0x3c33 ali_mesh_encrypt_base_function_sha256_data_inverse_4byte
+0x3c39 ali_mesh_encrypt_base_function_hex2ascii
+0x3c42 ali_mesh_encrypt_base_function_dialog2uchar
+0x3c46 ali_mesh_encrypt_base_function_dialog2uchar_num
+0x3c48 ali_mesh_encrypt_base_function_aes_cmac_32byte
+0x3c4a ali_mesh_encrypt_base_function_aes_cmac_16byte
+0x3c4c ali_mesh_encrypt_base_function_k2_aes_cmac_t
+0x3c5a ali_mesh_encrypt_base_function_aes_cmac
+0x3c64 ali_b0_block_generate
+0x3c66 ali_a_block_generate
+0x3c67 ali_block_generate
+0x3c79 ali_generate_mic
+0x3c84 ali_ccm_encrypt_64bit
+0x3c86 ali_ccm_encrypt
+0x3c88 ali_ccm_encrypt_function
+0x3ca5 ali_ccm_decrypt_64bit
+0x3ca7 ali_ccm_decrypt
+0x3ca9 ali_ccm_decrypt_function
+0x3cc4 ali_ccm_decrypt_function_check_mic64
+0x3cc7 ali_fetcht_ccm_mic
+0x3ccf ali_aes_crypt_data
+0x3cd9 mesh_send_unprovisioned_beacons
+0x3ce0 ali_mesh_config_device_uuid_by_three_tuple
+0x3cec ali_mesh_send_unprovisioned_beacons_tmall
+0x3cee ali_mesh_init_adv_data_tmall_unprovisioned_beacons_package
+0x3cf5 ali_mesh_advertising_send_unprovisioned_beacons_store_device_uuid
+0x3cfa ali_mesh_receive_adtype_manufacturer_specific
+0x3d01 ali_mesh_advertising_receive_privisioning_random
+0x3d03 ali_mesh_advertising_calc_encrypt_random_data
+0x3d07 ali_mesh_advertising_send_provisioning_confirmation
+0x3d0f ali_mesh_advertising_receive_privisioning_random_check_states
+0x3d1c ali_mesh_decrypt_tmall_privisioning_data_package
+0x3d27 ali_mesh_advertising_receive_privisioning_data
+0x3d37 ali_mesh_resolve_privisioning_data_package
+0x3d3f ali_mesh_advertising_send_provisioning_complete
+0x3d46 ali_mesh_advertising_send_packet_common
+0x3d5a ali_mesh_receive_provisioning_package_check_header
+0x3d63 ali_mesh_fast_pairing_timer
+0x3d66 ali_mesh_fast_pairing_timeout
+0x3d66 ali_mesh_fast_pairing_failed
+0x3d67 ali_mesh_access_layer_config_or_health_message_opcode
+0x3d6e ali_mesh_message_config_modle_subscription_add_overwrite
+0x3d83 ali_mesh_message_config_modle_subscription_add_value_address_ow
+0x3d8b ali_mesh_byte_swap
+0x3d90 ali_mesh_message_config_modle_subscription_set_addr_max
+0x3d92 ali_mesh_access_layer_config_composition_data
+0x3db1 ali_mesh_access_layer_config_or_health_message_opcode_node_reset
+0x3db2 ali_mesh_access_layer_send_config_node_reset_status
+0x3db8 ali_mesh_access_layer_health_node_reset_timer
+0x3dbb ali_mesh_access_layer_health_node_reset_timeout
+0x3dbc ali_mesh_app_delete_paired
+0x3dbd ali_mesh_message_config_modle_subscription_add
+0x3dc2 ali_mesh_message_config_modle_subscription_save
+0x3dc4 ali_mesh_message_config_modle_subscription_delete
+0x3dcd ali_mesh_message_config_modle_subscription_delete_next
+0x3dd3 ali_mesh_message_config_modle_subscription_delete_group_addr
+0x3dd8 ali_mesh_message_config_modle_subscription_check_value_address
+0x3dd9 ali_mesh_message_config_modle_subscription_check_value_address_loop
+0x3ddf ali_mesh_message_config_modle_subscription_check_value_address_loop_empty
+0x3de2 ali_mesh_message_config_modle_subscription_status
+0x3dec ali_mesh_message_config_modle_subscription_check_element
+0x3df5 ali_mesh_message_config_modle_subscription_add_value_address
+0x3df7 ali_mesh_message_config_modle_subscription_add_value_address_loop
+0x3dff ali_mesh_message_config_modle_subscription_add_value_address_in
+0x3e02 ali_mesh_init
+0x3e3a mesh_inverse_three_tuple_mac
+0x3e3e mesh_get_element_info_config
+0x3e42 mesh_idle_process
+0x3e4a mesh_cb_event_timer
+0x3e50 mesh_clear_provisioning_data_only
+0x3e53 mesh_clear_timer_data
+0x3e58 ali_mesh_upper_transport_layer_queue_init
+0x3e5a ali_mesh_advertising_bearer_layer_queue_init
+0x3e5c ali_mesh_network_layer_gatt_queue_init
+0x3e5e ali_mesh_network_layer_init_gatt_queue_param
+0x3e61 ali_mesh_advertising_init_send_unprovisioned_device_beacon
+0x3e6b ali_mesh_lower_transport_layer_receive_lower_transport_pdu
+0x3e70 ali_mesh_lower_transport_layer_receive_lower_transport_pdu_segmented_message
+0x3e76 ali_mesh_lower_transport_layer_receive_segaccmess_resolve_szmic_seqzero_segon
+0x3e93 ali_mesh_lower_transport_layer_receive_segmented_access_message_recover_seqzero
+0x3e97 ali_mesh_lower_transport_layer_receive_segmented_access_message_check_blockack
+0x3ea1 ali_mesh_lower_transport_layer_receive_segmented_access_message_check_blockack_loop
+0x3ea7 ali_mesh_lower_transport_layer_receive_segmented_access_message_store_segment
+0x3eb4 ali_mesh_lower_transport_layer_receive_segmented_access_message_decrypt_segment
+0x3ec1 ali_mesh_lower_transport_layer_send_unsegmented_access_message
+0x3ecb ali_mesh_lower_transport_layer_send_segmented_access_message
+0x3ed4 ali_mesh_model_layer_check_model_message_opcode
+0x3ed5 ali_mesh_model_layer_check_generic_onoff_message_opcde
+0x3edb ali_mesh_model_layer_message_opcode_generic_onoff_get
+0x3edd ali_mesh_model_layer_message_opcode_generic_onoff_get_cb
+0x3ee1 ali_mesh_model_layer_message_opcde_generic_onoff_set
+0x3ee3 ali_mesh_model_layer_message_opcde_generic_onoff_set_cb
+0x3ee6 ali_mesh_model_layer_message_opcde_scene_recall
+0x3ee9 ali_mesh_model_layer_message_opcde_light_lightness_set
+0x3eef ali_mesh_model_layer_message_opcde_light_ctl_set
+0x3efe ali_mesh_model_layer_message_calc_lightness
+0x3f0a ali_mesh_model_layer_message_calc_actual_lightness
+0x3f10 ali_mesh_model_layer_message_calc_temperature
+0x3f18 ali_mesh_model_layer_message_calc_actual_temperature
+0x3f1f ali_mesh_model_layer_message_calc_temperature_k
+0x3f26 ali_mesh_more_element_check_unicast_address
+0x3f2a ali_mesh_more_element_check_unicast_address_loop
+0x3f32 ali_mesh_more_element_found_unicast_address_element
+0x3f36 ali_mesh_more_element_check_group_address
+0x3f3a ali_mesh_more_element_check_group_address_loop
+0x3f3f ali_mesh_more_element_check_address_common
+0x3f47 ali_mesh_more_element_found_group_address_element
+0x3f49 ali_mesh_more_element_check_subscription_address
+0x3f4b ali_mesh_more_element_check_subscription_address_loop
+0x3f51 ali_mesh_more_element_found_subscription_address_element
+0x3f53 ali_mesh_more_element_check_element_address
+0x3f58 ali_mesh_more_element_check_element_address_loop
+0x3f5f ali_mesh_more_element_check_element_address_no_group_address
+0x3f64 ali_mesh_more_element_push_stack
+0x3f69 ali_mesh_more_element_pop_stack
+0x3f6e ali_mesh_more_element_calc_queue_address
+0x3f7c ali_mesh_receive_adtype_mesh_message
+0x3f7d ali_mesh_network_layer_recevice_network_pdu
+0x3f8c ali_mesh_network_layer_check_dup
+0x3f95 ali_mesh_network_layer_check_dup_loop
+0x3fa1 ali_mesh_network_layer_check_msg
+0x3fa5 ali_mesh_network_layer_check_msg_loop
+0x3fb2 ali_mesh_network_layer_store_proxy_unicast_address
+0x3fb7 ali_mesh_network_layer_recevice_network_pdu_decrypt_netmic32
+0x3fbc ali_mesh_network_layer_recevice_network_pdu_check_dst
+0x3fcf ali_mesh_more_found_unicast_address_element
+0x3fd3 ali_mesh_network_layer_recevice_network_pdu_check_dst_group_address
+0x3fdd ali_mesh_network_layer_check_nid_ivi
+0x3fea ali_mesh_network_layer_recevice_network_pdu_check_src_and_seq
+0x3fec ali_mesh_network_layer_raverse_src_seq_cache
+0x3ff4 ali_mesh_network_layer_find_empty_space
+0x3ff5 ali_mesh_network_layer_find_src_space
+0x3ffa ali_mesh_network_layer_recevice_network_pdu_check_seq_legal
+0x4002 ali_mesh_inverse_seq
+0x4005 ali_mesh_network_load_network_nonce_and_encryptionkey
+0x4006 ali_mesh_upper_transport_layer_load_encryptionkey
+0x4008 ali_mesh_network_layer_load_network_nonce
+0x400e ali_mesh_network_store_in_mem
+0x4016 ali_mesh_network_layer_relay_access_message
+0x402b ali_mesh_network_layer_white_list_fliter
+0x402c ali_mesh_network_layer_white_list_fliter_check
+0x4031 ali_mesh_network_layer_white_list_fliter_check_loop
+0x4036 ali_mesh_network_layer_check_relay_states
+0x404a ali_mesh_network_layer_encrypt_relay_package
+0x404f ali_mesh_network_layer_check_network_mic_cache
+0x4052 ali_mesh_network_layer_send_access_message
+0x4056 ali_mesh_network_layer_send_access_message_encrypt_netmic
+0x405c ali_mesh_network_layer_encrypt_by_network_nonce
+0x405f ali_mesh_network_layer_send_access_message_encrypt_obfuscation
+0x4060 ali_mesh_network_layer_check_gatt_relay_packet
+0x4069 mesh_generate_nonce
+0x406e ali_mesh_network_layer_init_queue_param
+0x4071 ali_mesh_network_layer_queue_init
+0x4073 ali_mesh_ble_adv
+0x4079 ali_mesh_ble_adv_network_id
+0x4083 ali_mesh_ble_adv_mesh_beacon
+0x4090 mesh_le_receive_data
+0x4095 ali_mesh_receive_ble_data_proxy_data_in
+0x409a ali_mesh_network_layer_recevice_proxy_configuration_messages
+0x40a4 ali_mesh_recevice_proxy_configuration_messages_decrypt
+0x40ae ali_mesh_proxy_configuration_message_add_addr_to_filter
+0x40bd ali_mesh_proxy_configuration_message_set_filter_type
+0x40bf ali_mesh_proxy_configuration_message_filter_status
+0x40d6 ali_mesh_receive_ble_data_provisioning_data_in
+0x40da ali_mesh_network_load_proxy_nonce_and_encryptionkey
+0x40e1 ali_mesh_network_layer_recevice_network_pdu_proxy_control
+0x40e3 ali_mesh_proxy_process_bb_event
+0x40e7 app_ble_conn_event
+0x40e8 mesh_ble_start_adv
+0x40eb ali_mesh_proxy_white_list_clear
+0x40f0 ali_mesh_send_ble_data
+0x40fa ali_mesh_send_pairing_data
+0x4106 ali_mesh_white_filter_check
+0x410a ali_mesh_white_list_num_increase
+0x410e sha_endian_swap2
+0x4111 sha_endian_loop
+0x4119 sha_getw
+0x411d sha_r
+0x411f sha_r_loop
+0x4134 sha_init
+0x4136 sha_init_0
+0x413b sha
+0x413f sha_0
+0x4147 sha_loop
+0x4170 sha_1
+0x4176 sha_result
+0x4178 sha_regext_save
+0x417d ali_mesh_upper_transport_layer_receive_unsegmented_access_message
+0x417e ali_mesh_uuper_transport_layer_decrypt_unsegment_access_by_application_key
+0x4180 ali_mesh_uuper_transport_layer_decrypt_unsegment_access_by_device_key
+0x4182 ali_mesh_upper_transport_layer_decrypt_unsegmented_message
+0x4187 ali_mesh_upper_transport_layer_receive_segmented_access_message
+0x4189 ali_mesh_uuper_transport_layer_decrypt_segment_access_by_application_key
+0x418b ali_mesh_uuper_transport_layer_decrypt_segment_access_by_device_key
+0x418d ali_mesh_upper_transport_layer_decrypt_segmented_message
+0x4194 ali_mesh_upper_transport_layer_decrypt_message
+0x419c ali_mesh_upper_transport_layer_decrypt_message_decrypt_transmic
+0x419f ali_mesh_upper_transport_layer_check_transport_mic_cache
+0x41a2 ali_mesh_upper_transport_layer_load_application_nonce_and_application_key
+0x41a3 ali_mesh_upper_transport_layer_load_application_key
+0x41a5 ali_mesh_upper_transport_layer_load_application_nonce
+0x41af ali_mesh_upper_transport_layer_load_device_nonce_and_device_key
+0x41b0 ali_mesh_upper_transport_layer_load_device_key
+0x41b2 ali_mesh_upper_transport_layer_load_device_nonce
+0x41b5 ali_mesh_upper_transport_layer_send_access_message
+0x41b5 ali_mesh_upper_transport_layer_send_access_message_without_cleat_tx_buffer
+0x41bd ali_mesh_upper_transport_layer_store_packet_header
+0x41d0 ali_mesh_upper_transport_layer_store_unsegment_msg_original_access_pdu
+0x41d8 ali_mesh_upper_transport_layer_control_packet
+0x41d8 ali_mesh_upper_transport_layer_control_packet_deal
+0x41f8 ali_mesh_upper_transport_layer_control_packet_unsegment_msg
+0x41f9 ali_mesh_upper_transport_layer_control_packet_segment_msg
+0x41fc ali_mesh_upper_transport_layer_control_packet_load_header
+0x4202 ali_mesh_upper_transport_layer_control_packet_load_app_control
+0x4208 ali_mesh_store_tran_package_type
+0x420b ali_mesh_upper_transport_layer_queue_pop
+0x420f ali_mesh_upper_transport_layer_control_packet_encrypt_access
+0x421f ali_mesh_upper_transport_layer_control_packet_encrypt_access_unsegment_msg
+0x4222 ali_mesh_upper_transport_layer_control_packet_encrypt_access_segment_msg
+0x4228 ali_mesh_upper_transport_layer_control_packet_encrypt_access_load_payload
+0x4230 ali_mesh_upper_transport_layer_split_segmented_msg_to_lower_tran_layer
+0x4233 ali_mesh_upper_transport_layer_send_segmented_access_message_loop
+0x4249 ali_mesh_upper_transport_layer_calc_transport_mic
+0x424b ali_mesh_upper_transport_layer_calc_transport_mic_by_appkey
+0x424d ali_mesh_upper_transport_layer_calc_transport_mic_by_devicekey
+0x424e ali_mesh_upper_transport_layer_calc_transport_mic_encrypt_aesccm
+0x4253 ali_mesh_upper_transport_layer_send_access_message_calc_seq
+0x425b ali_mesh_upper_transport_layer_send_access_message_add_nid_src_ttl_seq_dst
+0x4267 ali_mesh_upper_transport_layer_send_access_message_add_seq
+0x426f ali_mesh_upper_transport_layer_send_segmented_access_message_get_seqzero_segon
+0x427c ali_mesh_upper_transport_layer_send_segmented_access_message_calc_header
+0x4289 ali_mesh_upper_transport_layer_receive_new_msg_timer
+0x428c ali_mesh_upper_transport_layer_receive_new_msg_timeout
+0x428f ali_mesh_upper_transport_layer_send_segmented_access_message_sub_segn_one
+0x4291 ali_mesh_upper_transport_layer_clear_tx_buffer
+0x4292 ali_mesh_upper_transport_layer_init_queue_param
+0x4295 app_init
+0x42a3 app_param_init
+0x42ad app_process_idle
+0x42b2 app_process_ble
+0x42b4 app_process_bb_event
+0x42bb app_discard_event
+0x42bd app_event_normal_process
+0x42c1 app_process_bb_event_priority
+0x42c3 app_check_wake_lock
+0x42c5 app_will_enter_lpm
+0x42c7 app_le_event_bb_connected
+0x42cb app_le_event_bb_disconn
+0x42d0 app_evt_button_long_pressed
+0x42d4 app_evt_timer
+0x42d5 app_evt_100ms_loop
+0x42e0 timer_single_step
+0x42e7 timer_single_step_2b
+0x42ee app_power_timer
+0x42f2 app_power_timer_timeout
+0x42f4 app_enter_power_off_state
+0x42f5 app_enter_power_stanby_state
+0x42f8 app_power_cb_common
+0x42fa app_bb_hibernate
+0x42fc app_disconn_reason_clear
+0x42ff app_disconn_reason_flag_clear
+0x4302 app_disconn_reason_collect_ble
+0x4308 app_get_lpm_wake_lock
+0x430a app_put_lpm_wake_lock
+0x430c app_lpm_wake_auto_lock
+0x430e app_lpm_wake_auto_lock_timer
+0x4311 app_ble_start_direct_adv
+0x4313 app_ble_stop_direct_adv
+0x4315 app_ble_stop_adv
+0x4317 app_ble_start_adv
+0x4319 app_ble_start_scan
+0x431b app_ble_stop_scan
+0x431d app_ble_start_conn
+0x431f app_ble_disconnect
+0x4321 app_led_start_blink
+0x4323 app_led_on
+0x4325 app_led_stop_blink
+0x4325 app_led_off
+0x4327 app_enter_hibernate
+0x4329 app_ble_store_reconn_info
+0x432b app_lpm_mult_enable
+0x432d app_lpm_mult_disable
+0x432f app_button_long_pressed
+0x4331 app_power_starting
+0x4335 app_power_common
+0x4339 app_power_shutting_down
+0x433f app_power_off_end
+0x4343 app_got_power_state_common
+0x4347 app_event_button_up
+0x434a app_power_release
+0x434c adpcm_decode
+0x4355 adpcm_decode_loop
+0x435f adpcm_next_byte
+0x4362 adpcm_cal
+0x4379 adpcm_cal_valpred
+0x437c adpcm_cal_valpred_end
+0x4382 adpcm_cal_valpred_overflow
+0x4388 adpcm_cal_valpred_overflow_end
+0x439a adpcm_cal_index
+0x439e adpcm_cal_bigger_zero
+0x43a3 adpcm_cal_vpdiff
+0x43a9 adpcm_cal_vpdiff1
+0x43ad adpcm_cal_vpdiff2
+0x43b2 car_init
+0x43d4 car_soft_switch_power_on_init
+0x43da car_power_off_signal
+0x43db car_hard_switch_power_on_signal
+0x43dc car_soft_switch_power_on_signal
+0x43df car_le_modified_name_adv
+0x43e1 car_name_loop
+0x43ee car_le_modified_name_scan
+0x43f3 car_hex_to_ascii
+0x43f7 car_hex_num
+0x43f9 car_ui_led_init
+0x43fb car_ui_led_init_1
+0x43fd car_ui_led_init_2
+0x43ff car_ui_led_init_3
+0x4403 car_in_lp1
+0x4409 car_in_lp1_end
+0x440a car_ui_led_init_end
+0x440b car_blood_led_gpio_set
+0x440e car_pairing_led_gpio_set
+0x4410 car_low_voltage_led_gpio_set
+0x4412 car_init_environment
+0x441a car_read_otp_addr
+0x441b car_motor_init
+0x441f p_in_lp1
+0x4426 p_in_lp1_end
+0x4427 p_car_ui_led_init_end
+0x4428 car_ui_gpio_init
+0x442c car_init_adc_hvin
+0x442e car_le_before_hibernate
+0x4430 car_le_process_lpm_before
+0x4431 car_gpio_set_before_hibernate
+0x4432 car_gpio_set_before_lpm_common
+0x4434 car_setgpio_loop
+0x443e car_setgpio_loop_end
+0x4442 car_setgpio_loop_ext
+0x4445 car_setgpio_pullup
+0x4448 car_setgpio_pulldown
+0x444b car_motor_setgpio
+0x444e car_motor_setgpio_loop
+0x4454 car_key_scan_process
+0x4455 car_scale_process_idle
+0x4458 car_g24_status_process
+0x445d car_g24_connected_event
+0x4463 car_lpm_timer_enable
+0x4467 car_lpm_timer_disable
+0x4469 car_stop_blink
+0x446b car_start_blink
+0x446d car_le_send_packet
+0x4476 car_scale_process_bb_event
+0x447c car_scale_event_le_conn
+0x4480 car_g24_connected
+0x4482 car_scale_process_conn
+0x4486 car_scale_event_le_discon
+0x448a car_g24_disconnect
+0x4494 car_le_bb_event_timer
+0x4499 car_24g_bind_enable_timer
+0x449c car_enter_lpm_timer
+0x449f car_enter_lpm_enable
+0x44a1 car_24g_no_data_timeout_timer
+0x44a4 car_24g_no_data_timer_timeout
+0x44a7 car_notify_vdd_timer
+0x44ac car_notify_vdd
+0x44b0 car_read_hvin
+0x44b9 car_notify_vdd_next2
+0x44c4 car_enter_low_bat
+0x44c9 car_low_bat_led_off
+0x44cb calc_check_sum_start
+0x44cc calc_check_sum_loop
+0x44cf calc_check_sum_and
+0x44d1 car_le_receive_data
+0x44d4 car_le_parse_att_write_request
+0x44d7 le_app_receive_data
+0x44eb car_control_le_receive
+0x44f3 car_receive_cmd_select
+0x44fd car_24g_receive_data
+0x4502 car_24g_receive_data_next
+0x4509 car_moto1_enable_blank_data_timer
+0x450b car_moto2_enable_blank_data_timer
+0x450d car_moto3_enable_blank_data_timer
+0x450f car_moto1_blank_data_timer
+0x4512 car_moto2_blank_data_timer
+0x4515 car_moto3_blank_data_timer
+0x4518 car_moto1_blank_data
+0x451a car_moto2_blank_data
+0x451c car_moto3_blank_data
+0x451e car_drive_old
+0x4523 car_left_right_control_old
+0x4526 car_front_back_control_old
+0x452b car_reset_old_speed
+0x452f car_reset_old_speed2
+0x4531 car_reset_old_speed3
+0x4533 car_speed_set_old
+0x453a car_motor_control
+0x4544 car_motor_control_common
+0x454b car_conn_led_state
+0x4550 car_motor1_control
+0x4552 car_motor2_control
+0x4554 car_motor3_control
+0x4556 car_motor_working_flag
+0x4558 car_motor1_status_select
+0x455d car_motor2_status_select
+0x4562 car_lr_motor_stop
+0x4566 car_lr_motor_left
+0x456a car_lr_motor_right
+0x456e car_fb_motor_stop
+0x4572 car_fb_motor_front
+0x4576 car_fb_motor_back
+0x457a car_motor_status_select
+0x4580 car_motor_positive
+0x4582 car_motor_negative
+0x4587 car_motor_stop
+0x458c car_motor_work
+0x4590 car_motor_select_negative
+0x4593 car_motor_work_next
+0x459a car_motor_select_positive
+0x459e car_motor_speed_duty_setting
+0x45a1 car_motor_speed_duty_transform
+0x45aa car_ir_data_rx_from_app
+0x45ab car_led_control_receive
+0x45ae car_info_request
+0x45ba car_g24_init
+0x45be car_g24_receive_process
+0x45c2 car_g24_mode_switch
+0x45c3 car_g24_bind_mode_enable
+0x45ca car_g24_work_mode
+0x45ce car_g24_receive_ch_polling
+0x45d7 car_g24_ch_polling_clear
+0x45d9 car_g24_work_mode_start
+0x45de car_g24_work_init
+0x45ea car_g24_receive_packet_start
+0x45ec car_g24_receive_packet_parse
+0x45fc car_g24_data_attemp
+0x4601 car_g24_data_device1
+0x4609 car_g24_data_attemp_device1_abort
+0x460e car_g24_bind_mode
+0x4621 car_g24_bind_mode_exit
+0x462c car_g24_save_commom_addr
+0x4640 car_g24_load_commom_addr
+0x464a car_g24_search_commom_addr
+0x464e car_g24_search_commom_addr_loop
+0x465b car_g24_bind_device_addr
+0x465e car_g24_cb_data_device1
+0x4665 car_g24_lpm_dipatch
+0x466d car_g24_lpm_wait
+0x4672 remote_car_init
+0x468e remote_car_soft_switch_power_on_init
+0x4695 remote_car_hard_switch_power_on_signal
+0x4696 remote_car_soft_switch_power_on_signal
+0x46a2 remote_car_set_24g_addr_eeprom
+0x46a6 remote_car_power_off_signal
+0x46a6 remote_car_ui_led_init
+0x46a9 remote_car_ui_led_init_1
+0x46ab remote_car_pairing_led_gpio_set
+0x46ad remote_car_init_environment
+0x46ae remote_no_data_timer_init
+0x46b1 remote_car_le_before_hibernate
+0x46b2 remote_gpio_set_before_hibernate
+0x46b6 remote_car_process_lpm_before
+0x46b8 remote_car_key_scan_process
+0x46bc remote_conn_led_state
+0x46c3 remote_car_stop_state
+0x46c9 get_remote_key_state
+0x46d7 send_data
+0x46dd remote_car_no_data_timeout_check
+0x46e6 remote_car_fb_check
+0x46eb remote_car_lr_check
+0x46f0 remote_car_scale_process_idle
+0x46f2 remote_car_scale_process_bb_event
+0x46f9 remote_car_24g_attempt_fail
+0x46fa remote_car_24g_pairing_complete
+0x4701 remote_car_24g_attempt_success
+0x4706 remote_car_g24_save_commom_addr
+0x4719 remote_car_g24_load_commom_addr
+0x4720 remote_car_g24_search_commom_addr
+0x4723 remote_car_g24_search_commom_addr_loop
+0x4730 remote_car_24g_status_process
+0x4735 remote_car_scale_process_paired
+0x4737 remote_car_scale_process_shutdown
+0x473b remote_car_event_timer
+0x473f remote_car_no_data_timer
+0x4746 remote_car_send_motor1_key0_press
+0x4748 remote_car_send_motor1_key1_press
+0x474a remote_car_send_motor2_key2_press
+0x474c remote_car_send_motor2_key3_press
+0x474e remote_car_send_motor1_key0_rel
+0x474e remote_car_send_motor1_key1_rel
+0x4750 remote_car_send_motor2_key2_rel
+0x4750 remote_car_send_motor2_key3_rel
+0x4752 remote_car_send_key
+0x4754 remote_car_send_attack
+0x4756 remote_car_g24_package_data
+0x475b remote_car_g24_package_data_continue
+0x4760 remote_car_g24_send_empty
+0x4765 remote_car_moto_data
+0x4769 remote_car_moto_data_next
+0x4770 remote_car_moto_data_enable_user
+0x4772 remote_car_default_init
+0x47b7 dongle_init
+0x47c2 dongle_default_init
+0x47cb dongle_default_no_eeprom
+0x47e5 dongle_xtal_select
+0x47ea dongle_dispatch
+0x47ef dongle_read_kb_bind_status
+0x47f4 dongle_write_kb_bind_status
+0x47f9 dongle_usb_config
+0x47fd dongle_usb_config_kb
+0x4801 dongle_usb_config_param
+0x4805 dongle_usb_vid_pid_config
+0x4809 dongle_usb_vid_pid_for_mouse_only_auto_pair
+0x480a dongle_usb_vid_pid_store
+0x480c dongle_usb_vid_pid_for_suit
+0x480e dongle_usb_hid_icon_config
+0x4814 dongle_usb_kb_hidreportdesc
+0x4818 dongle_usb_device_name
+0x481e dongle_all_powerful
+0x481f dongle_all_powerful_loop
+0x4822 dongle_pc_bind
+0x4823 dongle_pc_bind_loop
+0x4827 dongle_g24_blank_data_process
+0x482b dongle_g24_ms_blank_data
+0x4836 dongle_usb_tx_ms_data
+0x4837 dongle_usb_tx_enable_ep2
+0x483b dongle_g24_kb_blank_data
+0x4846 dongle_usb_tx_kb_data
+0x4847 dongle_usb_tx_enable_ep1
+0x484c dongle_g24_kb_sys_ctrl_blank_data
+0x4857 dongle_usb_tx_sys_ctrl_data
+0x4859 dongle_g24_kb_mul_blank_data
+0x4865 dongle_usb_tx_multikey_data
+0x4867 dongle_usb_dispatch
+0x4875 dongle_usb_dispatch_next
+0x487a dongle_usb0_data_ready_report_set0
+0x487c dongle_dispose_cmd_mode
+0x487f dongle_enter_bind_mode
+0x4880 dongle_usb0_data_ready_report_set1
+0x4882 dongle_dispose_cmd_bind
+0x4887 dongle_dispose_cmd_get_bind
+0x488a dongle_dispose_cmd_exit_bind
+0x488c dongle_dispose_cmd_read_mode
+0x488c dongle_dispose_in_bind_mode
+0x488e dongle_dispose_cmd_current_project
+0x4890 dongle_dispose_cmd_current_mode
+0x4894 dongle_dispose_in_work_mode
+0x4896 dongle_dispose_cmd_current_fw_version
+0x489b dongle_auto_bind
+0x489c dongle_auto_bind_loop
+0x48a3 dongle_work_mode_auto
+0x48ab dongle_ackpayload_prep
+0x48ae dongle_ackpayload_prep_mouse
+0x48b1 dongle_set_pc_sleep_flag
+0x48b5 dongle_clear_pc_sleep_flag
+0x48b7 dongle_ackpayload_prep_keyboard
+0x48b9 dongle_ackpayload_prep_end
+0x48bd dongle_pc_sleep_ackpayload_prep_mouse
+0x48c1 dongle_pc_sleep_ackpayload_prep_keyboard
+0x48c4 dongle_pc_sleep_ackpayload_prep
+0x48c8 dongle_g24_bind_ackpayload_prep
+0x48cc dongle_g24_kb_led_ackpayload_prep
+0x48d4 dongle_g24_mouse
+0x48dd dongle_g24_ms_enable_blank_data_forcibly
+0x48e1 dongle_g24_ms_disable_blank_data_forcibly
+0x48e5 dongle_g24_kb
+0x48ea dongle_g24_kb_type0
+0x48fd dongle_g24_kb_enable_blank_data_forcibly
+0x4901 dongle_g24_kb_disable_blank_data_forcibly
+0x4905 dongle_g24_kb_type3
+0x4915 dongle_g24_kb_mul_enable_blank_data_forcibly
+0x4919 dongle_g24_kb_mul_disable_blank_data_forcibly
+0x491d dongle_g24_kb_type2
+0x492d dongle_g24_kb_sys_enable_blank_data_forcibly
+0x4931 dongle_g24_kb_sys_disable_blank_data_forcibly
+0x4935 dongle_usb_tx_sys_data
+0x4937 dongle_g24_store_dvc2_bind_flag
+0x493b dongle_prep_soft_reset
+0x493d dongle_kb_bind_soft_reset
+0x4942 dongle_wirte_efuse_bind_status
+0x494c keyboard_softreset_process
+0x4959 keyboard_init
+0x4962 keyboard_init_wireless
+0x4966 keyboard_usb_check_enable
+0x496c keyboard_usb_config_param
+0x496f keyboard_usb_config_kb_check
+0x4974 keyboard_usb_config_param_init
+0x497b keyboard_usb_report_rate_set_250hz
+0x497e keyboard_usb_report_rate_set_500hz
+0x4981 keyboard_usb_report_rate_set_1000hz
+0x4984 keyboard_usb_config_param_setup
+0x4987 keyboard_usb_vid_pid_config
+0x498c keyboard_usb_hid_icon_config
+0x498e keyboard_usb_interface_check
+0x4993 keyboard_usb_gpio_low
+0x499a keyboard_usb_gpio_high
+0x49a1 keyboard_setting_config
+0x49af keyboard_param_init
+0x49c1 ble_store_le_name
+0x49c6 ble_name_set_no_swift_pair
+0x49c8 keyboard_gpio_init
+0x49d7 keyboard_key_row_init
+0x49e1 keyboard_key_cow_init
+0x49e7 keboard_gpio_set_high_impedance
+0x49ea keyboard_low_vol_mult_set
+0x49f1 keyboard_low_vol_mult_ble_set
+0x49f8 keyboard_pairing_check_otp_offset
+0x49fd keyboard_load_otp_info_check
+0x4a02 keyboard_load_otp_device_info_g24_init
+0x4a0c keyboard_load_otp_device_info_ble_init
+0x4a16 keyboard_load_otp_device_info
+0x4a19 keyboard_load_otp_info_check_page_loop
+0x4a28 keyboard_load_otp_info_check_first_time
+0x4a2a keyboard_load_otp_info_check_first_time_loop_init
+0x4a2c keyboard_load_otp_info_check_first_time_loop
+0x4a38 keyboard_load_otp_info_check_first_time_process
+0x4a3a keyboard_load_otp_info_check_offset_process
+0x4a47 keyboard_load_otp_info_check_offset_process_g24
+0x4a4a keyboard_load_otp_info_check_offset_process_ble
+0x4a55 keyboard_load_otp_info_check_overwise
+0x4a56 keyboard_store_device_info
+0x4a5c keyboard_store_otp_device_info
+0x4a61 keyboard_store_otp_device_info_g24
+0x4a6b keyboard_store_otp_device_info_ble
+0x4a76 keybaord_load_device_info
+0x4a7a keyboard_cb_fuction
+0x4a9a keyboard_priority_bb_event
+0x4aaa keyboard_le_bb_event_connected
+0x4ab0 keyboard_le_bb_event_connected_next
+0x4ab8 keyboard_le_bb_disconnected
+0x4abd keyboard_le_bb_disconnected_next
+0x4ac1 keyboard_bb_disconnected
+0x4ac6 keyboard4_0_event_bb_disconn
+0x4acb keyboard_le_ll_start_encryt
+0x4ad0 keyboard_le_ll_reconn_start_encryt
+0x4ad3 keyboard_le_parse_conn_param_accepted
+0x4add keyboard_le_conn_param_update_rsp_recieved
+0x4ae2 keyboard_24g_pairing_complete
+0x4ae5 keyboard_24g_attempt_success
+0x4aed keyboard_24g_get_led
+0x4af1 keyboard_24g_led_get_status_check
+0x4af3 keyboard_24g_led_data_check
+0x4af9 keyboard_get_24g_led_enable
+0x4afc keyboard_set_repeat_send_flag
+0x4afe keyboard_24g_attempt_fail
+0x4b04 keyboard_24g_attempt_fail_enter_hibernate
+0x4b0a keyboard_24g_fast_conn_attempt_fail
+0x4b11 keyboard_24g_hibernate_set
+0x4b19 keyboard_bb_event_timer
+0x4b32 keyboard_commbination_key_process
+0x4b37 keyboard_commbination_fast_conn_bt_check
+0x4b3f keyboard_commbination_key_down
+0x4b43 keyboard_check_discovery_timeout_timer
+0x4b46 keyboard_check_discovery_timeout
+0x4b48 keyboard_store_information_delay_timer
+0x4b4b keyboard_store_device_info_check
+0x4b4f keyboard_low_voltage_param_set
+0x4b53 keyboard_low_voltage_param_set_33v
+0x4b55 keyboard_le_auto_recognize_timer
+0x4b58 keyboard_check_direct_timeout_timer
+0x4b5c keyboard_le_battery_updata_timer
+0x4b5f keyboard_le_send_conn_param_update_timer
+0x4b62 keyboard_24g_repeat_send_data
+0x4b68 keyboard_24g_led_status_get_timer
+0x4b6b keyboard_24g_led_status_clear
+0x4b6d keyboard_device_led_off
+0x4b6f keyboard_power_led_off
+0x4b71 keyboard_numlock_led_off
+0x4b72 keyboard_capslock_led_on_timer
+0x4b7c keyboard_capslock_led_off
+0x4b7e keyboard_capslock_led_check_on
+0x4b82 keyboard_long_press_timer
+0x4b85 keyboard_long_press_timerout
+0x4b87 keyboard_commbination_delay_release_timer
+0x4b8a keyboard_check_no_data_timeout_timer
+0x4b8d keyboard_check_no_data_timeout
+0x4b90 keyboard_bb_event_discovery_btn
+0x4b95 keyboard_start_discovery
+0x4bac keyboard_start_discovery_norandom
+0x4bbb keyboard_low_voltage_led_blink_disable
+0x4bbd keyboard_stop_discovery
+0x4bc5 keyboard_store_remote_bdaddr
+0x4bcc keyboard_idle
+0x4bcf keyboard_start_work
+0x4bdc keyboard_start_work_next
+0x4be6 keyboard_le
+0x4bee keyboard_le_next
+0x4bfb kscan_dispatch
+0x4c00 keyboard_keyscan
+0x4c0f keyboard_keyscan_copy_value
+0x4c12 keyboard_compare_col_excol_gpio_loop
+0x4c17 keyboard_compare_col_gpio_loop
+0x4c1c keyboard_compare_col_excol_gpio_loop_next
+0x4c23 keyboard_copy_value_exmcu_to_mcu
+0x4c2f keyboard_keyscan_get_exmcu_value
+0x4c32 keyboard_keyscan_exmcu_start
+0x4c3d keyboard_keyscan_exmcu_start_loop
+0x4c46 keyboard_keyscan_exmcu_get_col_value
+0x4c4a keyboard_keyscan_value_store
+0x4c53 keyboard_keyscan_get_mcu_value
+0x4c57 keyboard_keyscan_mcu_start
+0x4c5f keyboard_keyscan_mcu_start_loop
+0x4c65 keyboard_keyscan_get_col_value
+0x4c68 keyboard_keyscan_get_col_value_loop
+0x4c71 keyboard_keyscan_reset_exmcu
+0x4c79 keyboard_clk_state_high
+0x4c7b keyboard_clk_state_low
+0x4c7d keyboard_gpio_config_input_pu
+0x4c81 keyboard_clk_input
+0x4c83 keyboard_stb_state_high
+0x4c85 keyboard_stb_state_low
+0x4c87 keyboard_press_change_or_no_key
+0x4c8b keyboard_key_process
+0x4c9d keyboard_keyvalue_process
+0x4ca6 keyboard_keyvalue_change
+0x4cb3 keyboard_keyvalue_change_loop
+0x4cbd keyboard_keyvalue_process_loop
+0x4cc5 keyboard_keyscan_value_current_zero_check
+0x4ccd keyboard_ghost_key_check
+0x4cd2 keyboard_ghost_key_check_loop
+0x4cd5 keyboard_current_col_press_key_count_check
+0x4ce8 keyboard_same_row_key_check
+0x4cf7 keyboard_ghost_key_check_next_loop
+0x4cfa keyboard_same_row_key_check_loop
+0x4cfc keyboard_keyvalue_fn_replace
+0x4d11 keyboard_keyvalue_fn_replace_press
+0x4d19 keyboard_keyvalue_fn_esc
+0x4d1b keyboard_keyvalue_fn_delete
+0x4d1d keyboard_keyvalue_fn_up_arrow
+0x4d21 keyboard_keyvalue_fn_down_arrow
+0x4d25 keyboard_keyvalue_fn_left_arrow
+0x4d29 keyboard_keyvalue_fn_right_arrow
+0x4d2d keyboard_keyvalue_fn_left_ctrl
+0x4d33 keyboard_keyvalue_windows_osk
+0x4d35 keyboard_keyvalue_fn_space
+0x4d38 keyboard_keyvalue_store_temp
+0x4d3a keyboard_keyvalue_commbination_replace
+0x4d4a keyboard_commbination_delay_release_set
+0x4d4e keyboard_commbination_delay_release_clear
+0x4d50 keyboard_commination_screen_shot_replace
+0x4d56 keyboard_commination_pageup_replace
+0x4d57 keyboard_commination_ios_mac_command_commiation
+0x4d5c keyboard_commination_pagedown_replace
+0x4d5e keyboard_commination_home_replace
+0x4d60 keyboard_commination_end_replace
+0x4d62 keyboard_commination_select_all
+0x4d63 keyboard_commbination_text_edit
+0x4d69 keyboard_commbination_copy
+0x4d6b keyboard_commbination_paste
+0x4d6d keyboard_commbination_cut
+0x4d6f keyboard_commination_os_lock
+0x4d74 keyboard_commination_windows_lock
+0x4d77 keyboard_commination_mac_lock
+0x4d7a keyboard_commbination_osk
+0x4d7e keyboard_commbination_windows_osk
+0x4d81 keyboard_commbination_language
+0x4d85 keyboard_commbination_language_next
+0x4d88 keyboard_commbination_language_windows
+0x4d8a keyboard_commbination_language_andriod
+0x4d8c keyboard_commbination_app_tiling
+0x4d92 keyboard_commbination_app_tiling_windows_android
+0x4d95 keyboard_commbination_keypress
+0x4d9a keyboard_commbination_key_press_set
+0x4d9c keyboard_commbination_key_wait_release_set
+0x4d9e keyboard_commbination_key_null_set
+0x4da0 keyboard_commbination_key_value_store
+0x4da5 keyboard_commbination_key_press_process
+0x4da8 keyboard_commbination_key_hold_set
+0x4daa keyboard_commbination_key_hold_process
+0x4dae keyboard_commbination_key_wait_release_process
+0x4db4 keyboard_commbination_key_release_set
+0x4db6 keyboard_commbination_key_release_process
+0x4db7 keyboard_commbination_key_null_process
+0x4dbb keyboard_keyvalue_in_out
+0x4dc3 keyboard_keyvalue_standard
+0x4dc6 keyboard_keyvalue_standard_out
+0x4dc9 keyboard_keyvalue_standard_out_loop
+0x4dd3 keyboard_keyvalue_standard_out_next
+0x4dd8 keyboard_keyvalue_control_key_out
+0x4ddd keyboard_keyvalue_standard_in
+0x4de0 keyboard_keyvalue_standard_in_loop
+0x4de9 keyboard_keyvalue_control_key_in
+0x4dee keyboard_keyvalue_standard_in_data
+0x4df2 keyboard_keyvalue_standard_in_data_next
+0x4df5 keyboard_special_key_check
+0x4dfe keyboard_special_key_check_loop
+0x4e06 keyboard_special_key_check_bluetooth
+0x4e11 keyboard_special_key_check_24g
+0x4e14 keyboard_pairing_button_check
+0x4e20 keyboard_pairing_button_release
+0x4e24 keyboard_enable_bt_button_pairing
+0x4e29 keyboard_long_button_bt_discovery
+0x4e32 keyboard_commbination_pairing_24g_check
+0x4e39 keyboard_24g_start_pair_mode
+0x4e41 keyborad_control_key_set
+0x4e43 keyboard_fn_set
+0x4e45 keyboard_pb_set
+0x4e47 keyboard_motion
+0x4e61 keyboard_current_mult_update
+0x4e64 keyboard_no_key_press
+0x4e74 keyboard_motion_data_check
+0x4e78 keyboard_value_tpye_check
+0x4e7b keyboard_value_tpye_check_loop
+0x4e85 keyboard_tx_data_store
+0x4e87 keyboard_tx_data_store_loop
+0x4e89 keyboard_motion_data_check_next
+0x4e90 device_send_keyboard_data
+0x4e92 keyboard_value_release_all_key
+0x4e95 keyboard_tx_data_skip_fn
+0x4e9a keyboard_tx_data_clear_fn
+0x4e9c keyboard_value_tpye_consumer_set
+0x4ebb keyboard_value_media
+0x4ebe keyboard_value_play
+0x4ec1 keyboard_value_stop
+0x4ec4 keyboard_value_pre_track
+0x4ec7 keyboard_value_next_track
+0x4eca keyboard_value_vol_down
+0x4ecd keyboard_value_vol_up
+0x4ed0 keyboard_value_mute
+0x4ed3 keyboard_value_my_computer
+0x4ed6 keyboard_value_mail
+0x4ed9 keyboard_value_calculator
+0x4edc keyboard_value_light_down
+0x4edf keyboard_value_light_up
+0x4ee2 keyboard_value_ac_favorites
+0x4ee5 keyboard_value_ac_forward
+0x4ee8 keyboard_value_ac_back
+0x4eeb keyboard_value_ac_stop
+0x4eee keyboard_value_ac_refresh
+0x4ef1 keyboard_value_ac_search
+0x4ef7 keyboard_value_ac_home
+0x4efa keyboard_value_os_lock
+0x4efd keyboard_value_os_soft_kb
+0x4f02 keyboard_value_os_soft_kb_andriod
+0x4f05 keyboard_value_consumer_all_key_release
+0x4f05 keyboard_value_consumer_release
+0x4f0c keyboard_value_system_sleep
+0x4f10 keyboard_device_data_tpye_check
+0x4f18 keyboard_device_data_tpye_check_next
+0x4f1e keyboard_mouse_data_send
+0x4f23 keyboard_standard_data_send
+0x4f2a keyboard_standard_data_send_end
+0x4f2e keyboard_consumer_data_send
+0x4f36 keyboard_system_control_data_send
+0x4f3e keyboard_clear_key_data
+0x4f41 keyboard_lpm_before_common
+0x4f4c keyboard_key_col_wake_init
+0x4f54 keyboard_key_row_wake_init
+0x4f5a keyboard_key_row_wake_set
+0x4f5d keyboard_process_lpm_before
+0x4f62 keyboard_before_hibernate
+0x4f6b keyboard_power_down
+0x4f6c keyboard_app_enter_hibernate
+0x4f70 keyboard_device_led_all_off
+0x4f75 keyboard_setgpio_hibernate
+0x4f7f keyboard_g24_reconn_dispatch
+0x4f86 keyboard_g24_reconn_dispatch_next
+0x4f8c keyboard_g24_transmit_no_interrupt
+0x4f8e keyboard_g24_transmit_start
+0x4f91 keyboard_g24_nodata_transmit
+0x4f9a keyboard_g24_long_sleep
+0x4fa0 keyboard_g24_transmit_process
+0x4fa2 keyboard_g24_transmit_loop
+0x4faf keyboard_g24_retransmit
+0x4fb8 keyboard_g24_transmit_hop_process
+0x4fbe keyboard_g24_tx_fast_hop
+0x4fc8 keyboard_g24_lpm_wait
+0x4fd5 keyboard_power_ctrl_start
+0x4fdb keyboard_g24_transmit_start_next
+0x4fdf keyboard_g24_short_sleep
+0x4fe5 keyboard_24g_package_data
+0x4fed keyboard_24g_keyboard_package_data
+0x4ff3 keyboard_customer_key_press
+0x4ff5 keyboard_24g_search_dongle_init
+0x4ff8 keyboard_24g_search_dongle
+0x5005 keyboard_24g_search_dongle_loop
+0x5010 keyboard_24g_search_dongle_loop_end
+0x5016 keyboard_24g_search_dongle_loop_retry
+0x5018 keyboard_24g_search_dongle_check
+0x5020 keyboard_24g_search_dongle_success
+0x5028 keyboard_g24_ackpayload_parse
+0x502f keyboard_le_send_att_find_by_type_value_request_ancs
+0x503d keyboard_le_att_auto_reco_process
+0x5048 keyboard_le_parse_att_find_by_type_value_rsp
+0x504a keyboard_le_parse_att_find_ios_report
+0x504c keyboard_le_parse_att_not_find_mac_report
+0x504f keyboard_le_parse_att_find_mac_report
+0x5050 keyboard_otp_store_computer_system_ble
+0x505b keyboard_le_send_att_find_by_type_value_request_mac
+0x506c keyboard_le_parse_att_find_by_type_value_rsp_mac
+0x5078 keyboard_le_send_att_read_by_type_rsp_mac
+0x5080 keyboard_le_check_att_read_type_manu_loop
+0x5089 keyboard_le_send_att_read_by_type_rsp_manufactory
+0x5091 keyboard_le_parse_att_manu_resp
+0x5099 module_init
+0x50ab module_lpm_uart_init
+0x50bd module_lpm_init
+0x50be module_gpio_init
+0x50c3 module_lpm_lock
+0x50c7 module_process_idle
+0x50ca module_process_bb_event
+0x50d8 module_process_bb_even_le_disconn
+0x50dc module_process_le_conn
+0x50e0 module_disconn_start
+0x50e2 module_process_ble_ltk_lost
+0x50e4 module_process_ble_update_phy
+0x50e5 module_set_conn_pin_high
+0x50e7 module_conn_start
+0x50e9 module_stop_adv_discovery
+0x50ed module_set_conn_pin_low
+0x50ef module_process_check_hci_command_complete
+0x5105 module_hci_in_excp
+0x5108 module_hci_release_except
+0x510e module_hci_dicard_packet
+0x5112 module_hci_dicard_bytes
+0x5113 module_hci_cmd_control
+0x513d module_hci_cmd_set_le_addr
+0x5142 module_hci_cmd_set_visibility
+0x5149 module_start_adv_discovery_by_command
+0x5149 moudle_start_adv_by_command
+0x5150 module_hci_cmd_set_le_name
+0x5154 module_hci_cmd_receive_le_data
+0x5179 module_hci_cmd_receive_le_data_finish
+0x517c module_hci_cmd_transmit_handle_error
+0x5180 module_hci_cmd_transmit_le_notify
+0x519e module_hci_cmd_transmit_le_notify_malloc_l2cap
+0x51a3 module_get_le_remote_mtu
+0x51a8 module_check_ble_encrypt_state
+0x51ab module_hci_cmd_inquire_status
+0x51ac module_hci_cmd_set_uart_control_mode
+0x51b4 module_hci_cmd_set_uart_baud
+0x51bc module_hci_cmd_version_request
+0x51c0 module_hci_cmd_ble_disconnect
+0x51c2 module_hci_cmd_ble_disconnect_doing
+0x51c4 module_hci_cmd_set_nvram
+0x51c9 module_hci_cmd_confirm_gkey
+0x51cc module_hci_cmd_auto_adv
+0x51d2 module_hci_cmd_auto_adv_loop
+0x51dc module_hci_cmd_auto_adv_store_adv
+0x51e6 module_hci_cmd_auto_adv_store_scan
+0x51ef module_hci_cmd_auto_adv_store_common
+0x51fa module_hci_cmd_auto_adv_adv_analys
+0x51ff module_hci_cmd_power_request
+0x5205 module_hci_cmd_power_set
+0x520c module_hci_cmd_passkey_entry
+0x5211 module_hci_cmd_set_gpio
+0x5217 module_set_gpio_input
+0x521d module_set_gpio_output
+0x5222 module_hci_cmd_read_gpio
+0x522d module_hci_cmd_le_set_pairing_mode
+0x523c module_le_set_pairing_mode_secure_justwork
+0x5240 module_le_set_pairing_mode_secure_numeric
+0x5245 module_le_set_pairing_mode_secure_passkey
+0x5249 module_le_set_pairing_mode_secure_passkey_res_input
+0x524d module_le_set_no_pairing
+0x524e module_le_set_noinputnooutput
+0x5250 module_le_set_pairing_mode_lagacy_just_work
+0x5252 module_le_set_pairing_mode_lagacy_passkey
+0x5254 module_le_set_pairing_mode_lagacy_passkey_res_input
+0x5256 module_le_set_keboadonly
+0x5258 module_le_set_displayonly
+0x525a module_hci_cmd_le_set_adv_data
+0x525d module_hci_cmd_le_set_scan_data
+0x5260 module_hci_cmd_receive_store_mem
+0x5266 module_hci_cmd_le_send_conn_update_req
+0x526f module_hci_cmd_set_le_adv_parameter
+0x5275 module_hci_cmd_le_start_pairing
+0x527d module_hci_cmd_set_wake_gpio
+0x5287 module_hci_cmd_set_tx_power
+0x528c module_hci_cmd_le_confirm_gkey
+0x5293 module_hci_cmd_le_confirm_gkey_ok
+0x5295 module_hci_cmd_le_confirm_gkey_fail
+0x5297 module_hci_cmd_reset_chip
+0x529b module_hci_cmd_le_set_fixed_passkey
+0x52a8 module_hci_cmd_le_set_random_passkey
+0x52aa module_hci_cmd_delete_customize_service
+0x52b0 module_hci_cmd_add_service_uuid
+0x52b5 module_hci_cmd_add_characteristic_uuid
+0x52b9 module_hci_cmd_add_service_uuid_set_uuid
+0x52bd module_hci_cmd_add_characteristic_uuid_set_handle
+0x52c4 module_hci_cmd_add_characteristic_uuid_set_uuid
+0x52dc module_hci_cmd_add_characteristic_uuid_set_ccc_uuid
+0x52e4 le_att_creat_new_handle
+0x52e7 uart_copy_rx_bytes_len_data
+0x52eb module_hci_cmd_le_passkey_entry_input
+0x52f1 module_hci_cmd_passkey_entry_sc_res_input
+0x52f4 module_hci_cmd_receive_ble_passkey
+0x52f7 module_hci_cmd_passkey_entry_res_input
+0x52f9 module_hci_cmd_le_create_conn
+0x52ff module_hci_cmd_ble_set_phy
+0x5304 module_hci_cmd_ble_read_current_phy
+0x5308 module_hci_cmd_ble_set_dle
+0x530d module_hci_cmd_read_chip_data
+0x5311 module_hci_cmd_write_chip_data
+0x5317 module_hci_cmd_close_lpm
+0x5319 module_hci_event_receive_invalid_cmd
+0x531c module_hci_event_receive_valid_cmd
+0x531f module_hci_event_le_connect
+0x5321 module_hci_event_le_disconnect
+0x5323 module_hci_event_set_cmd
+0x5330 module_hci_event_receive_le_data
+0x533b module_hci_event_enter_standby_mode
+0x533c module_hci_event_enter_standby_mode_len0
+0x533f module_hci_event_status_res
+0x5349 module_hci_read_bt_status
+0x534f module_hci_event_store_device
+0x5358 module_hci_event_gkey_generate
+0x535e module_hci_event_invalid_packet
+0x536d module_hci_event_passkey_entry_mode
+0x536f module_hci_event_le_tk
+0x5375 module_hci_event_le_pairing_fail
+0x5377 module_hci_event_le_pairing_success
+0x5379 module_hci_event_pairing_completed
+0x537f module_hci_event_pause_enc
+0x5381 module_hci_event_start_enc
+0x5382 module_hci_event_enc
+0x5388 module_hci_event_uuid_handle
+0x538f module_hci_event_le_input_passkey
+0x5391 module_hci_event_le_update_phy
+0x5397 module_hci_prepare_tx
+0x53a1 module_hci_transmit_tx
+0x53a3 module_set_mcu_wake_pin_high_delay
+0x53a5 module_set_mcu_wake_pin_h_delay
+0x53aa module_set_mcu_wake_pin_high
+0x53ac module_check_mcu_wake_pin_high
+0x53ae module_set_mcu_wake_pin_low
+0x53b0 module_le_receive_data
+0x53b6 module_le_receive_data_ok
+0x53c1 module_bb_event_timer
+0x53c2 module_read_vdd_timer
+0x53d4 module_set_le_tx_data_flag
+0x53d6 module_clear_le_tx_data_flag
+0x53d8 module_clr_state
+0x53dc module_set_state
+0x53e0 mouse_init
+0x53e8 mouse_init_wireless
+0x53ec mouse_cb_fuction
+0x5410 mouse_setting_config
+0x5419 mouse_load_device_info_check
+0x541f mouse_xtal_init
+0x5424 mouse_24g_phy_select
+0x5428 mouse_default_init
+0x542c mouse_default_parm_init
+0x5436 mouse_default_parm_init_next
+0x543b mouse_param_common_init
+0x544a mouse_param_init
+0x5458 mouse_param_init_intervl_end
+0x545c mouse_24g_short_sleep_set_end
+0x5468 mouse_sensor_set_angle
+0x5473 mouse_sensor_switch_angle
+0x5476 mouse_g24_interval_param_4ms
+0x547e mouse_report_rate_set_250hz
+0x5481 mouse_g24_interval_param_8ms
+0x5489 mouse_report_rate_set_125hz
+0x548c mouse_start_work
+0x5491 mouse_le_fast_conn_judge
+0x5496 mouse_le_device1_judge
+0x549b mouse_le_device2_judge
+0x54a0 mouse_start_reconnect_device
+0x54a9 mouse_start_reconnect
+0x54ac mouse_wakeup_from_power_check
+0x54b3 mouse_wakeup_from_poweron
+0x54b6 mouse4_0_check_reconn_target
+0x54bb mouse4_0_check_reconn_target_next
+0x54c5 mouse_lpm_check_wake_lock
+0x54cd mouse_app_enter_hibernate
+0x54d3 mouse_app_enter_hibernate_next
+0x54d5 mouse_before_hibernate
+0x54dc mouse_setgpio_hibernate
+0x54e8 mouse_wheel_gpio_set_before_hibernate
+0x54ea mouse_wheel_gpio_clr_wakeup
+0x54f2 mouse_adc_gpio_set_before_hibernate
+0x54f9 mouse_gpio_pd_idle
+0x54fb mouse_gpio_pd_idle_loop
+0x5500 mouse_gpio_pd_idle_configured
+0x5504 mouse_gpio_pd_idle_ext
+0x5507 mouse_process_lpm_before
+0x550c mouse_lpm_before_common
+0x552f mouse_set_mult
+0x5534 mouse_adc_gpio_set
+0x5539 mouse_adc_gpio_mux_init
+0x553d mouse_adc_read
+0x5545 mouse_adc_read_gpio_mux_start
+0x5547 mouse_adc_read_start
+0x5553 mouse_adc_data_process
+0x555a mouse_adc_low_voltage
+0x555c mouse_adc_no_low_voltage
+0x5563 mouse_adc_bat_percent_lowpower_out
+0x556a mouse_adc_bat_percent_lowpower_out_battery
+0x5573 mouse_adc_bat_level_set
+0x5584 mouse_adc_bat_level_100_percent
+0x5586 mouse_adc_bat_level_0_percent
+0x5588 mouse_adc_bat_percent_lowpower_out_hvin_multiple
+0x5589 mouse_gpio_init
+0x55ab mouse_gpio_set_pupd_by_input
+0x55b1 mouse_gpio_config_input_pd
+0x55b5 mouse_gpio_config_input_pu
+0x55b9 mouse_gpio_set_high_impedance
+0x55bd mouse_gpio_set_high_impedance_bit_loop
+0x55c6 mouse_le_name_modify
+0x55d3 mouse_le_name_modify_next
+0x55d6 mouse_le_name_clear
+0x55db mouse_le_name_clear_next
+0x55dd mouse_le_name_patch_len_overflow
+0x55f3 mouse_le_swift_pair_disable
+0x55f6 mouse_sensor_spi_init
+0x55fa mouse_spi_write_flash_cb
+0x55fa mouse_spi_init
+0x55fb mouse_spid_init_pin
+0x5601 mouse_motion
+0x5612 mouse_zwheel
+0x5617 mouse_t_zwheel
+0x561c mouse_wheel_check
+0x5629 mouse_t_wheel_scan
+0x5639 mouse_t_wheel_scan_judge1
+0x563d mouse_t_wheel_scan_judge2
+0x5641 mouse_t_wheel_scan_judge11
+0x5643 mouse_t_wheel_scan_judge12
+0x5645 mouse_t_wheel_scan_judge21
+0x5647 mouse_t_wheel_scan_judge22
+0x5649 mouse_t_wheel_scan_judge3
+0x5651 mouse_t_wheel_scan_judge30
+0x5654 mouse_t_wheel_scan_judge31
+0x5657 mouse_t_wheel_scan_judge32
+0x565a mouse_t_wheel_scan_judge33
+0x565d mouse_wheel_t_forward
+0x5661 mouse_wheel_t_back
+0x5665 mouse_wheel_scan
+0x5675 mouse_wheel_scan_judge1
+0x5679 mouse_wheel_scan_judge2
+0x567d mouse_wheel_scan_judge11
+0x567f mouse_wheel_scan_judge12
+0x5681 mouse_wheel_scan_judge21
+0x5683 mouse_wheel_scan_judge22
+0x5685 mouse_wheel_scan_judge3
+0x568d mouse_wheel_scan_judge30
+0x5690 mouse_wheel_scan_judge31
+0x5693 mouse_wheel_scan_judge32
+0x5696 mouse_wheel_scan_judge33
+0x5699 mouse_wheel_forward
+0x569d mouse_wheel_back
+0x56a1 mouse_wheel_gpio_set_wake
+0x56a9 mouse_before_hibernate_wheel_gpio_set
+0x56b1 mouse_wheel_trigger
+0x56b6 mouse_wheel_trigger_timer
+0x56b9 mouse_wheel_trigger_disable
+0x56bb mouse_dpi_check
+0x56c1 mouse_dpi_check_next
+0x56c5 mouse_dpi_check_exit
+0x56c8 mouse_dpi_key_check
+0x56ce mouse_dpi_key_check_next
+0x56d0 mouse_dpi_key_connect_matrix
+0x56d8 mouse_3io6key_dpi_check_end
+0x56db mouse_dpi_check_end
+0x56de mouse_dpi_key_connect_gnd
+0x56e0 mouse_dpi_down
+0x56e7 mouse_dpi_up
+0x56ee mouse_dpi_up_next
+0x56f2 mouse_dpi_up_after_long_press
+0x56f7 mouse_dpi_process
+0x5701 mouse_dpi_level_store
+0x5704 mouse_double_dpi_check
+0x5706 mouse_dpi_increase
+0x570a mouse_dpi_increase_level
+0x570d mouse_dpi_level_1
+0x570f mouse_dpi_level_2
+0x5711 mouse_dpi_level_3
+0x5713 mouse_dpi_level_4
+0x5715 mouse_dpi_increase_level_4
+0x571b mouse_dpi_decrease_level_4
+0x5721 mouse_another_dpi_button_down
+0x5721 mouse_dpi_decrease
+0x5725 mouse_dpi_decrease_level
+0x5728 mouse_dpi_ghost_check
+0x572c mouse_dpi_key_check_long_press
+0x5730 mouse_select_device_by_dpi_button
+0x5735 mouse_ready_reconnection_by_dpi_button
+0x5737 mouse_discovery_by_dpi_button
+0x573c mouse_long_dpi_button_bt_discovery
+0x573e mouse_setting_dpi_4_level
+0x5744 mouse_setting_dpi
+0x5747 mouse_setting_sensor_type
+0x5751 mouse_set_cpi1
+0x5753 mouse_set_cpi0
+0x5755 mouse_set_cpi2
+0x5757 mouse_set_cpi3
+0x5758 mouse_dpi_store
+0x575e mouse_dpi_write
+0x5767 mouse_3065xy_set_dpi
+0x5769 mouse_ka8_set_dpi
+0x576b mouse_seting_s201_dpi
+0x576f mouse_set_s201_dpi_0
+0x5772 mouse_set_s201_dpi_1
+0x5775 mouse_set_s201_dpi_2
+0x5778 mouse_set_s201_dpi_3
+0x577b mouse_set_s201_dpi_4
+0x577d mouse_dpi_s201_store
+0x5785 mouse_seting_3212_dpi
+0x578a mouse_set_p3212_cpi1
+0x578c mouse_set_p3212_cpi0
+0x578e mouse_set_p3212_cpi2
+0x5790 mouse_set_p3212_cpi3
+0x5791 mouse_p3212_dpi
+0x5799 mouse_seting_ka8g2_dpi
+0x579e mouse_set_pka8g2_cpi1
+0x57a0 mouse_set_pka8g2_cpi0
+0x57a2 mouse_set_pka8g2_cpi2
+0x57a4 mouse_set_pka8g2_cpi3
+0x57a6 mouse_key
+0x57b7 mouse_24g_key
+0x57bc mouse_ghost_key_check
+0x57cc mouse_matrix_ghost_key_l_bk
+0x57d1 mouse_matrix_ghost_key_l_fw
+0x57d6 mouse_ghost_key_lbk_mfw
+0x57d9 mouse_ghost_key_lbk_rfw
+0x57db mouse_ghost_key_lfw_mbk
+0x57de mouse_ghost_key_lfw_rbk
+0x57e0 mouse_ghost_key_mbk_rfw
+0x57e1 mouse_ghost_key_rfw
+0x57e3 mouse_ghost_key_mfw_rbk
+0x57e4 mouse_ghost_key_rbk
+0x57e5 mouse_ghost_key_check_next
+0x57ef mouse_ghost_key_check_l_bk
+0x57f2 mouse_ghost_key_check_m_bk
+0x57f5 mouse_ghost_key_check_r_bk
+0x57f8 mouse_ghost_key_check_l_fw
+0x57fb mouse_ghost_key_check_m_fw
+0x57fe mouse_ghost_key_check_r_fw
+0x5801 mouse_ghost_key_check_bk_fw
+0x5804 mouse_ghost_key_check_lmr
+0x580a mouse_matrix_row_more_than_one_key
+0x580c mouse_matrix_cow_more_than_one_key
+0x580e mouse_dpi_another_gpio_check
+0x5811 mouse_dpi_another_gpio_connect_gnd_check
+0x5816 mouse_dpi_another_gpio_connect_vin_check
+0x581f mouse_dpi_another_down_new
+0x5824 mouse_dpi_another_check
+0x5828 mouse_dpi_another_state_check
+0x582b mouse_dpi_another_down
+0x582f mouse_dpi_another_up
+0x5833 mouse_check_key_connect_gnd_new
+0x583d mouse_check_key_connect_vin_new
+0x5848 mouse_another_dpi_key_press
+0x584a mouse_another_dpi_key_release
+0x584c mouse_check_firekey_gpio
+0x5851 mouse_check_firekey_connect_gnd
+0x5856 mouse_firekey_state_store
+0x5859 mouse_check_firekey_connect_vin
+0x585f fire_key_process
+0x5860 fire_key_press
+0x586e fire_key_process_start
+0x586f fire_key_down
+0x5871 fire_key_process_release1
+0x5872 fire_key_release
+0x5874 fire_key_process_start2
+0x5876 fire_key_process_release2
+0x5878 fire_key_process_end
+0x587b firekey_clkn_bt_timer_check
+0x5880 firekey_clkn_bt_timer_timeout
+0x5883 mouse_key_check_once
+0x5888 mouse_check_key_gpio
+0x5895 mouse_check_key_gpio_once
+0x5898 mouse_check_lkey_gpio
+0x58a1 mouse_check_rkey_gpio
+0x58aa mouse_check_mkey_gpio
+0x58b3 mouse_check_bkkey_gpio
+0x58c2 mouse_check_bkkey_gpio_end
+0x58c4 mouse_check_bk_button_connect_gnd
+0x58c8 mouse_3io6key_bk_check
+0x58cf mouse_check_fwkey_gpio
+0x58de mouse_check_fwkey_gpio_end
+0x58df mouse_matrix_public_gpio_reset
+0x58e1 mouse_check_fw_button_connect_gnd
+0x58e5 mouse_3io6key_fw_check
+0x58ec mouse_check_customerkey_gpio
+0x58f2 mouse_customer_key_connect_gnd
+0x58f7 mouse_check_customerkey_gpio_next
+0x58fa mouse_check_customerkey_gpio_exit
+0x58fd mouse_customer_key_connect_vin
+0x590b mouse_check_customer_button_connect_gnd
+0x590f mouse_3io6key_customer_key_check_vin
+0x5913 mouse_check_customerkey_gpio_over
+0x5917 mouse_customerkey_press
+0x591a mouse_customerkey_release
+0x591d mouse_customer_key_need_send
+0x591f mouse_check_matrix_button_connect_gnd
+0x5923 mouse_key_release
+0x5925 mouse_check_key_connect_gnd
+0x5929 mouse_check_key_connect_gnd_1
+0x592a mouse_check_key_connect_gnd_next
+0x592f mouse_key_press
+0x5931 mouse_3io6key_check
+0x593d mouse_check_press
+0x5943 mouse_gpio_config_output_high
+0x5946 mouse_gpio_config_output_low
+0x5949 mouse_init_sunt
+0x594c mouse_init_sensor_wakeup
+0x594d mouse_init_sensor
+0x5955 mouse_twspi_reset
+0x5958 mouse_read_sensor_id
+0x595f mouse_init_p32xx_id2_judge
+0x5968 mouse_s210x_3205_3t_judge
+0x596c mouse_s201x_init_param
+0x596e mouse_mx8650_init_param
+0x5974 mouse_8009_init_param
+0x5983 mouse_3205_3t_init_param
+0x598c mouse_3204_3l_init_param
+0x5993 mouse_3212_init_param
+0x5995 mouse_sensor_wr_seq
+0x599c mouse_ka8_init_param_check
+0x59ae mouse_ka8_init_param
+0x59b0 mouse_ka8ul_init_param
+0x59b3 mouse_ka8hd_sensor_judge
+0x59bd mouse_ka8hd_init_param
+0x59c0 mouse_enable_ka8_sensor_wp
+0x59c3 mouse_p6520_init_param
+0x59c6 mouse_init_p3065
+0x59cb mouse_p3065_init_param
+0x59cd mouse_p3065xy_init_param
+0x59cf mouse_ka8g2_id2_judge
+0x59d3 mouse_ka8g2_init_param
+0x59d6 mouse_sensor_enable_wp
+0x59d8 mouse_sensor_disable_wp
+0x59da mouse_sensor_reset
+0x59de mouse_sensor_reset_end
+0x59e2 mouse_sensor_poweron_init
+0x59e7 mouse_sensor_poweron
+0x59ed mouse_sensor_powerdown
+0x59f4 mouse_sensor_powerdown_end
+0x59f6 mouse_check_sensor_data
+0x5a02 mouse_p32xx_sensor_motion
+0x5a09 mouse_p32xx_sensor_motion_2
+0x5a0c mouse_p32xx_sensor_motion_1
+0x5a1c mouse_p3065_judge
+0x5a1e mouse_motion32xx_6clk_direction_selection
+0x5a20 mouse_motion32xx_9clk_direction_selection
+0x5a22 mouse_motion32xx_12clk_direction_selection
+0x5a24 mouse_motion32xx_3clk_direction_selection
+0x5a26 mouse_p3212_sensor_motion
+0x5a2c mouse_p3212_sensor_motion_1
+0x5a2f mouse_p3212_sensor_motion_2
+0x5a42 mouse_read_3212sensor_xy_high
+0x5a44 mouse_pka8g2_sensor_motion
+0x5a4a mouse_pka8g2_sensor_motion_1
+0x5a4b mouse_p8009_sensor_motion
+0x5a56 mouse_motion_6clk_direction_dispose
+0x5a5a mouse_motion_12clk_direction_dispose
+0x5a5e mouse_motion_9clk_direction_dispose
+0x5a66 mouse_motion_3clk_direction_dispose
+0x5a68 mouse_sensor_data_swap_places
+0x5a6d mouse_clear_sensor_data
+0x5a71 mouse_clear_sensor_data_by_reset
+0x5a73 mouse_init_sensor_reset
+0x5a74 mouse_data_xy_release
+0x5a7c mouse_data_extsign
+0x5a80 mouse_data_extsign_bit3
+0x5a84 mouse_read_sensor_common
+0x5a8b mouse_sensor_sdio_low
+0x5a92 mouse_set_sdio_high
+0x5a94 mouse_bluetooth_fast_conn_init
+0x5a95 mouse_ble_fast_conn_init
+0x5a9a mouse_buletooth_fast_conn_end
+0x5aa1 mouse_device1_check_auto_discover
+0x5aa3 mouse_device2_check_auto_discover
+0x5aa4 mouse_device_check_auto_discover
+0x5aa8 mouse_bluetooth_fast_conn_disable
+0x5aaa mouse_stop_bluetooth_mode
+0x5aad mouse_disconnect
+0x5ab2 mouse_check_125hz
+0x5ab4 mouse_bluetooth_125hz
+0x5aba mouse_bluetooth_125hz_clear
+0x5abc mouse_current_mult_update
+0x5ac1 mouse_priority_bb_event
+0x5ad0 mouse_le_bb_event_connected
+0x5ad8 mouse_le_bb_event_connected_next
+0x5ae0 mouse_le_bb_disconnected
+0x5ae7 mouse_le_bb_disconnected_next
+0x5aed mouse_le_pairing_success
+0x5aef mouse_le_enc_info
+0x5aef mouse_updata_le_param
+0x5af1 mouse_le_ll_start_encryt
+0x5af4 mouse_le_ll_reconn_start_encryt
+0x5af6 mouse_le_ll_enable_start_enc_flag
+0x5af8 mouse_le_enable_connect_flag
+0x5afc mouse_le_conn_param_update_rsp_recieved
+0x5b06 mouse_le_conn_param_lpm_disable
+0x5b08 mouse_le_bb_event_connect_complete
+0x5b0e mouse_le_write_enable
+0x5b10 mouse_le_parse_conn_param_accepted
+0x5b1d mouse_le_lpm_mult_reinit
+0x5b1f mouse_le_conn_param_lpm_enable
+0x5b21 mouse_le_clean_connect_flag
+0x5b23 mouse_le
+0x5b2b mouse_le_next
+0x5b3c mouse_le_send_mouse_data
+0x5b3d mouse_le_send_keyboard_package_data
+0x5b40 mouse_fill_keyboard_package_data_le
+0x5b46 mouse_fill_data_le
+0x5b4d mouse_le_release_keyboard_data
+0x5b4f mouse_fill_multimedia_key_data_le
+0x5b52 mouse_fill_systemctrl_key_data_le
+0x5b55 mouse_fill_battery_level_le
+0x5b5b mouse_le_send_empty_packet
+0x5b5d mouse_fill_mouse_data_le
+0x5b62 mouse_check_51cmd_adv
+0x5b6b mouse_le_check_adv_flag
+0x5b6c mouse_le_check_adv_flag_loop
+0x5b72 mouse_le_adv_data_update
+0x5b76 mouse_bb_disconnected
+0x5b7b mouse_bb_discon_clear_stack
+0x5b81 mouse4_0_event_bb_disconn
+0x5b85 mouse_bb_event_timer
+0x5b9b mouse_bt_discovery_check
+0x5b9e mouse_bt_discovery_by_pb_button
+0x5ba3 mouse_long_button_bt_discovery
+0x5bab mouse_commbination_key_process
+0x5bb1 mouse_24g_commbination_key_process
+0x5bb4 mouse_commbination_key_start
+0x5bba mouse_commbination_key_up
+0x5bc0 mouse_commbination_key_down
+0x5bc5 mouse_combination_ui_timer
+0x5bce mouse_check_discovery_timeout_timer
+0x5bd1 mouse_check_discovery_timeout
+0x5bd3 mouse_check_direct_timeout_timer
+0x5bd9 mouse_check_direct_timeout
+0x5be1 mouse_le_enable_att_list_timer
+0x5be4 mouse_le_send_smp_security_request_timer
+0x5be9 mouse_le_pairing_sm_start_check
+0x5bee mouse_le_battery_updata_timer
+0x5bf3 mouse_le_battery_level_updata
+0x5bf6 mouse_le_enable_att_list
+0x5bfb mouse_check_reconnect_delay_long_sleep
+0x5bfe mouse_current_mult_update_timer
+0x5c01 mouse_current_mult_reinit
+0x5c05 mouse_check_no_data_timeout_timer
+0x5c08 mouse_check_no_data_timeout
+0x5c0b mouse_no_data_timer_init
+0x5c0e mouse_store_information_delay_timer
+0x5c11 mouse_store_device_info_check
+0x5c15 mouse_bb_event_discovery_btn
+0x5c1a mouse_start_discovery
+0x5c2a mouse_start_discovery_norandom
+0x5c39 mouse_stop_discovery
+0x5c3e mouse_stop_le_adv
+0x5c42 mouse_store_remote_bdaddr
+0x5c48 mouse_unplug_clean_bdaddr
+0x5c4a mouse_check_device_addr
+0x5c4d mouse_check_le_device_addr
+0x5c4f mouse_check_bt_device_addr_common
+0x5c53 mouse_check_device_addr_end
+0x5c59 mouse_before_store_reconn_info
+0x5c62 mouse_store_le_device
+0x5c69 mouse_clean_addr
+0x5c6f mouse_select_reconn_device
+0x5c79 mouse_load_le_device
+0x5c7a mouse_load_le_device_end
+0x5c80 mouse_app_initflag_check
+0x5c85 mouse_app_initflag_check_next
+0x5c8c mouse_load_default_dpi
+0x5c8f mouse_load_device_info
+0x5c94 mouse_otp_load_dpi
+0x5c9c mouse_ble_init_address
+0x5ca3 mouse_store_device_info_delay
+0x5ca6 mouse_store_device_info
+0x5cac mouse_store_dpi_info_check
+0x5cb1 mouse_store_eeprom_device_info
+0x5cb5 mouse_store_eerpom_dpi
+0x5cb9 mouse_store_flash_device_info
+0x5cc0 mouse_store_otp_device_info
+0x5cc3 mouse_write_otp_device_flag
+0x5cc5 mouse_write_otp_device_flag_loop
+0x5ccf mouse_device_flag_store
+0x5cd4 mouse_devoce_flag_store_end
+0x5cd8 mouse_device_flag_store_check
+0x5ce5 mouse_write_otp_device_info
+0x5cea mouse_write_otp_24g_addr
+0x5cec mouse_otp_store_24g_addr_loop
+0x5cf6 mouse_24g_addr_store
+0x5cfe mouse_write_otp_le_device1
+0x5d00 mouse_otp_store_le_addr1_loop
+0x5d0a mouse_le_addr1_store
+0x5d12 mouse_write_otp_le_device2
+0x5d14 mouse_otp_store_le_addr2_loop
+0x5d1e mouse_le_addr2_store
+0x5d26 mouse_write_otp_le_addr_increase_count_info
+0x5d2a mouse_otp_store_le_addr_increase_count_loop
+0x5d34 mouse_le_addr_increase_count_store
+0x5d3c mouse_store_otp_dpi
+0x5d40 mouse_otp_store_dpi_loop
+0x5d4a mouse_otp_dpi_store
+0x5d4f mouse_dpi_store_end
+0x5d53 mouse_dpi_store_last
+0x5d60 mouse_load_eeprom_info_check
+0x5d66 mouse_eeprom_load_recon_info
+0x5d6a mouse_load_eeprom_dpi
+0x5d6e mouse_load_flash_info_check
+0x5d75 mouse_information_flash_parameters
+0x5d7b mouse_spid_flash_release_form_powerdown
+0x5d7c mouse_spid_write_flash_cmd
+0x5d82 mouse_spid_flash_powerdown
+0x5d84 mouse_spid_write_flash_cmd_common
+0x5d90 mouse_flash_erase_sector
+0x5d93 mouse_spid_write_flash
+0x5d9e mouse_flash_power_down
+0x5da6 mouse_load_otp_info_check
+0x5daa mouse_otp_load_app_initflag
+0x5db0 mouse_otp_store_app_initflag
+0x5db4 mouse_read_otp_device_flag
+0x5db6 mouse_read_otp_device_flag_loop
+0x5dc0 mouse_read_otp_device_flag_common
+0x5dc3 mouse_device_flag_load
+0x5dc9 mouse_device_flag_load_last
+0x5dca mouse_device_flag_load_end
+0x5dcc mouse_read_otp_device_info
+0x5dd1 mouse_read_otp_le_device1
+0x5dd3 mouse_read_otp_le_device2
+0x5dd5 mouse_read_otp_le_device1_addr
+0x5dd7 mouse_read_otp_le_device1_addr_loop
+0x5de1 mouse_read_otp_le_addr1_common
+0x5de4 mouse_le_addr1_load
+0x5de7 mouse_read_otp_le_device1_locall_addr
+0x5de9 mouse_read_otp_le_device1_locall_addr_loop
+0x5df3 mouse_read_otp_le_locall_addr1_common
+0x5df6 mouse_le_locall_addr1_load
+0x5df9 mouse_read_otp_le_device2_addr
+0x5dfb mouse_read_otp_le_device2_addr_loop
+0x5e05 mouse_read_otp_le_addr2_common
+0x5e08 mouse_le_addr2_load
+0x5e0b mouse_read_otp_le_device2_locall_addr
+0x5e0d mouse_read_otp_le_device2_locall_addr_loop
+0x5e17 mouse_read_otp_le_locall_addr2_common
+0x5e1a mouse_le_locall_addr2_load
+0x5e1d mouse_read_otp_24g_addr
+0x5e1f mouse_read_otp_24g_addr_loop
+0x5e29 mouse_read_otp_24g_addr_common
+0x5e2c mouse_24g_addr_load
+0x5e2f mouse_read_otp_le_addr_increase_count_info
+0x5e33 mouse_read_otp_le_addr_increase_count_loop
+0x5e3d mouse_read_otp_le_addr_increase_count_common
+0x5e40 mouse_le_addr_increase_count_load
+0x5e43 mouse_read_otp_dpi
+0x5e47 mouse_read_otp_dpi_loop
+0x5e51 mouse_read_otp_dpi_common
+0x5e54 mouse_dpi_load
+0x5e5a mouse_dpi_load_last
+0x5e5b mouse_dpi_load_end
+0x5e5d mouse_idle
+0x5e66 mouse_select_device_check
+0x5e6a mouse_select_device_by_pb_button_check_once
+0x5e6b mouse_select_device_by_pb_button
+0x5e6d mouse_select_device_by_pb_button_check
+0x5e78 mouse_retransmit_select_device_by_pb_button
+0x5e7c mouse_3io6key_pb_button_check_end
+0x5e7e mouse_select_device_by_pb_button_exit
+0x5e81 mouse_pb_button_check
+0x5e8a mouse_select_device_by_pb_button_end
+0x5e8d mouse_pb_button_connect_gnd
+0x5e8f mouse_pb_button_connect_matrix
+0x5e97 mouse_select_device_button_up
+0x5ea2 mouse_select_device_button_down
+0x5eae mouse_select_device_ghost_check
+0x5eb1 mouse_ghost_key_value_check
+0x5eb6 mouse_check_select_device_by_switch
+0x5ebe mouse_select_btdevice
+0x5ec2 mouse_check_select_24g_device
+0x5ec6 mouse_ready_reconnection_by_button
+0x5ecb mouse_store_device_number_before_reset
+0x5ed1 mouse_soft_reset
+0x5ed3 mouse_select_device_number
+0x5eda mouse_select_device_number_24g
+0x5edf mouse_select_device_count_clean_24g
+0x5ee1 mouse_select_device_count_clean_bt
+0x5ee3 mouse_store_device_number2eeprom
+0x5ee7 mouse_bt_button_check
+0x5eea mouse_select_device_enable
+0x5eec mouse_select_device_disable
+0x5eee mouse_bt_cannel_reconn_enable
+0x5ef0 mouse_bt_cannel_reconn_disable
+0x5ef2 mouse_bt_discovery_button_down_enable
+0x5ef4 mouse_bt_discovery_button_down_disable
+0x5ef6 mouse_adc_read_enable
+0x5ef8 mouse_24g_set_250hz
+0x5efa mouse_24g_search_dongle_enable
+0x5efc mouse_16m_enable
+0x5efe mouse_dpi_4level_enable
+0x5f00 mouse_enable_function_flag
+0x5f04 mouse_disable_function_flag
+0x5f08 mouse_customer_key_enable
+0x5f10 mouse_customer_standrad_key_set
+0x5f12 mouse_customer_key_ctrl_alt_a
+0x5f14 mouse_customer_ac_home
+0x5f15 mouse_customer_media_key_set
+0x5f19 mouse_customer_key_play
+0x5f1b mouse_polling_device
+0x5f26 mouse_drawing_optima
+0x5f37 mouse_drawing_optima_init
+0x5f3c mouse_drawing_optima_modify
+0x5f50 mouse_drawing_optima_xy_offset_modify
+0x5f64 mouse_pre_xy_data_judge
+0x5f67 mouse_pre_xy_pdata_offset
+0x5f6a mouse_xy_data_offset_new
+0x5f6c mouse_pre_xy_ndata_offset
+0x5f72 mouse_current_xy_data_judge
+0x5f75 mouse_current_xy_pdata_offset
+0x5f79 mouse_current_xy_ndata_offset
+0x5f7f mouse_pre_xy_get_0_4_times
+0x5f84 mouse_current_xy_get_0_6_times
+0x5f89 mouse_drawing_optima_data_x
+0x5f91 mouse_drawing_optima_data_y
+0x5f99 mouse_drawing_optima_data
+0x5f9f mouse_data_store_pre
+0x5fa3 mouse_data_sum_overflow
+0x5fa7 mouse_data_sum_overflow_p
+0x5faa mouse_data_sum_n
+0x5fb0 mouse_data_set_direction
+0x5fb3 mouse_data_zero
+0x5fb5 mouse_pdata_get_half
+0x5fb7 mouse_pdata_get_new_value
+0x5fbb mouse_pdata_invert
+0x5fbc mouse_rega_in_out
+0x5fbf mouse_disable_asm
+0x5fc1 mouse_enable_asm
+0x5fc3 mouse_pdata_greater_than_check
+0x5fc8 mouse_data_less_than_check
+0x5fcd mouse_data_abs_check
+0x5fd4 mouse_data_abs
+0x5fd8 mouse_data_abs_store
+0x5fda mouse_data_reversal
+0x5fdd mouse_24g_long_sleep_param_update_timer
+0x5fe0 mouse_24g_long_sleep_normal_param
+0x5fe4 mouse_24g_long_sleep_set
+0x5fe9 mouse_24g_long_sleep_set_80ms
+0x5fea mouse_24g_long_sleep_set_end
+0x5fec mouse_24g_long_sleep_set_30ms
+0x5fee mouse_24g_long_sleep_set_50ms
+0x5ff0 mouse_24g_long_sleep_set_100ms
+0x5ff2 mouse_24g_hibernate_set
+0x5ffd mouse_wakeup_24g
+0x6001 mouse_wakeup_24g_from_long_sleep
+0x6004 mouse_wheel_gpio_init
+0x600a mouse_24g_transmit_start
+0x600e mouse_24g_fast_conn_mode_check
+0x6013 mouse_soft_agc_enable
+0x6016 mouse_soft_agc_disable
+0x6018 mouse_24g_stop
+0x601c mouse_24g_start_mode
+0x602a mouse_24g_mode_setup_error
+0x602d mouse_24g_first_start_auto_pair_mode
+0x602f mouse_24g_reconn_general_dongle
+0x6034 mouse_24g_start_auto_pair
+0x6038 mouse_24g_first_start_reconn
+0x603b mouse_24g_first_bluetooth_reconnect
+0x603f mouse_24g_first_bb_event_reconn_timeout
+0x6042 mouse_24g_first_store_reconn_info
+0x6047 mouse_24g_start_pair_mode
+0x6053 mouse_24g_attempt_fail
+0x6059 mouse_24g_attempt_fail_enter_hibernate
+0x605f mouse_24g_fast_conn_attempt_fail
+0x6067 mouse_24g_reconn_dongle_start
+0x606b mouse_24g_auto_pair_attempt_fail
+0x6070 mouse_reconn_dongle_attempt_fail
+0x6075 mouse_24g_attempt_success
+0x6084 mouse_24g_pairing_complete
+0x6086 mouse_24g_pairing_complete_common
+0x6094 mouse_24g_short_sleep_clear_wake
+0x6096 mouse_24g_package_data
+0x60a1 mouse_24g_mouse_package_data
+0x60b0 mouse_24g_mouse_package_data_now
+0x60b6 mouse_24g_keyboard_package_data
+0x60bc mouse_customer_key_press
+0x60be mouse_24g_search_dongle_init
+0x60c1 mouse_24g_search_dongle
+0x60cd mouse_24g_search_dongle_loop
+0x60d9 mouse_24g_search_dongle_loop_end
+0x60df mouse_24g_search_dongle_loop_retry
+0x60e1 mouse_24g_search_dongle_check
+0x60e9 mouse_24g_search_dongle_success
+0x60f2 mouse_g24_ackpayload_parse
+0x60f9 mouse_g24_retransmit
+0x60fe mouse_select_device_by_dpi_button_once
+0x6103 mouse_g24_retransmit_100ms_timer_init
+0x6106 mouse_dpi_check_once
+0x6109 mouse_24g_before_lpm_sleep
+0x610d mouse_peripheral_clock_off
+0x6110 mouse_logo_led_on_timer
+0x611a mouse_logo_led_off
+0x611c mouse_logo_led_on
+0x611e mouse_dpi_led_blink_delay_timer
+0x6121 mouse_dpi_led_blink_init
+0x6127 mouse_dpi_led_blink_init_next
+0x612d mouse_multi_dpi_led_blink_enable
+0x6131 mouse_dpi_led_blink_init_another
+0x6134 mouse_dpi_led_blink_init_level_4
+0x6138 mouse_dpi_led_blink_count_clean
+0x613a mouse_dpi_led_blink_delay
+0x6148 mouse_check_dpi_blink
+0x614d mouse_low_voltage_led_timer
+0x615c mouse_low_led_blink_timer
+0x6165 mouse_low_voltage_led_on_judge
+0x6168 mouse_low_voltage_led_on
+0x616a mouse_low_led_timer_count_clean
+0x616e mouse_low_voltage_led_off_judge
+0x6171 mouse_low_voltage_led_off
+0x6173 mouse_low_led_blink_count_init_judge
+0x6177 mouse_device_multi_led_parm_init
+0x617e mouse_multi_low_led_blink_count_init
+0x6181 mouse_multi_led_blink_timer_init
+0x6185 mouse_multi_dpi_led_blink_timer_init
+0x6186 mouse_store_multi_led_blink_timer
+0x6188 mouse_device_24g_led_blink_timer_init
+0x618a mouse_device_le_discovery_led_blink_timer_init
+0x618c mouse_device_le_reconn_led_blink_timer_init
+0x618e mouse_device_poweron_led_config
+0x6192 mouse_multi_led_enable
+0x6195 mouse_device_24g_pair_led_config
+0x619f mouse_device_le_reconn_led_config
+0x61a9 mouse_device_led_blink_count_init
+0x61ab mouse_device_discovery_led_config
+0x61ae mouse_multi_led_blink_enable_init
+0x61b1 mouse_led_multi_timer
+0x61b5 mouse_device_multi_led_type_on
+0x61ba mouse_device_poweron_led_off
+0x61bd mouse_multi_led_type_blink
+0x61c2 mouse_device_led_blink_judge
+0x61c5 mouse_device_led_blink_limit
+0x61c7 mouse_multi_led_type_blink_next
+0x61ca mouse_multi_led_type_blink_start
+0x61ce mouse_multi_led_blink
+0x61d2 mouse_multi_led_blink_count_decrease
+0x61d6 mouse_multi_led_on_judge
+0x61d8 mouse_device_multi_led_on
+0x61d9 mouse_device_led_on
+0x61df mouse_device_24g_led_on
+0x61e1 mouse_device_bt1_led_on
+0x61e3 mouse_device_bt2_led_on
+0x61e4 mouse_led_on
+0x61e5 mouse_led_off
+0x61e6 mouse_multi_led_off_judge
+0x61e8 mouse_multi_led_off_judge_next
+0x61ea mouse_device_multi_led_off
+0x61eb mouse_device_led_off
+0x61f1 mouse_device_24g_led_off
+0x61f5 mouse_device_bt1_led_off
+0x61f9 mouse_device_bt2_led_off
+0x61fd mouse_device_multi_led_all_off
+0x6202 mouse_multi_dpi_led_off_judge
+0x6206 mouse_multi_dpi_led_off
+0x6208 mouse_multi_dpi_led_on_judge
+0x620c mouse_multi_dpi_led_on
+0x620e mouse_low_voltage_led_no_enter_lpm
+0x6214 mouse_low_voltage_led_no_enter_lpm_next
+0x6218 g24_transmit_by_interrupt_exit_check
+0x621b mouse_lpm_mode_clear
+0x621f mouse_store_signal_rssi
+0x6221 mouse_le_transmit
+0x6223 mouse_le_set_lpm_mult
+0x6228 mouse_set_lpm_mult
+0x622b mouse_24g_long_sleep
+0x6235 mouse_24g_short_sleep
+0x6242 mouse_24g_short_sleep_notify
+0x624c mouse_24g_short_sleep2
+0x624f mouse_24g_short_sleep3
+0x6252 mouse_24g_short_sleep_default
+0x6255 mouse_24g_short_sleep_long
+0x6259 mouse_24g_miss_temp_clear
+0x625c mouse_24g_short_sleep_last_miss
+0x6260 mouse_24g_short_sleep_2
+0x6262 mouse_24g_transmit_callback
+0x6264 mouse_24g_send_time_check
+0x6274 mouse_24g_send_time_check_1
+0x627e mouse_24g_send_time_check_average
+0x6299 mouse_24g_send_time_check_average_late
+0x62a4 mouse_24g_send_time_check_average_min
+0x62a6 mouse_24g_send_timer_first
+0x62aa mouse_24g_send_time_long_wake
+0x62ae shutter_init
+0x62bd shutter_power_switch
+0x62c2 shutter_common_init
+0x62d0 shutter_hart_swtich_power_on
+0x62d3 shutter_le_scale_lpm_lock
+0x62d9 shutter_process_bb_event
+0x62e2 ble_shutter_process_baseband_connect
+0x62e6 ble_shutter_process_baseband_disconnect
+0x62e9 ble_shutter_process_reconnect_complete
+0x62ef ble_shutter_process_parse_connect_parameter_update_response
+0x62f5 shutter_process_soft_swtich_button_down
+0x62fb shutter_store_currenct_led_state
+0x6300 shutter_process_soft_swtich_button_up
+0x6305 shutter_load_currenct_led_state
+0x630e shutter_le_bb_event_timer
+0x6311 shutter_check_sleep_timer
+0x6314 shutter_sleep_timeout
+0x6318 shutter_check_power_off_timer
+0x631b shutter_check_power_off_timeout
+0x6322 ble_shutter_reconn_timer
+0x6327 shutter_process_idle
+0x6329 shutter_process_lpm_before
+0x632b shutter_le_before_hibernate
+0x632d shutter_stop_bluetooth_discovery
+0x632d ble_shutter_stop_bluetooth_discovery
+0x6331 shutter_start_bluetooth_discovery
+0x6333 ble_shutter_start_discovery
+0x6340 shutter_soft_swtich_power_on
+0x6340 shutter_start_reconnect
+0x6342 ble_shutter_start_reconnect
+0x634e shutter_disconnect_current_connection
+0x6351 shutter_check_data_enable
+0x6355 shutter_check_ble_data_enable
+0x6358 shutter_check_bluetooth_conn
+0x635c shutter_change_bluetooth_status_bt_disconn
+0x635c ble_shutter_change_bluetooth_status_bt_disconn
+0x635d shutter_check_send_data
+0x6365 shutter_key_change
+0x6369 shutter_key_press
+0x636c shutter_key_release
+0x636e push_queue_press_or_release
+0x6371 push_buffer_in_queue
+0x6376 shutter_send_data_to_master
+0x6379 pop_queue_to_ble_data
+0x6382 queue_push_one_byte
+0x6385 queue_pop_one_byte
+0x638a ble_shutter_receive_data
+0x638d shutter_init_param
+0x6396 shutter_load_buffer_config_form_datarom
+0x639a shutter_soft_swtich_power_off
+0x639e shutter_wait_power_off
+0x63a1 ui_soft_swtich_init
+0x63a6 ui_soft_switch_first_power_on
+0x63aa ui_soft_swtich_init_next
+0x63ad ui_soft_swtich_init_power_on_time
+0x63b2 ui_soft_switch_botton_up
+0x63b6 ui_soft_switch_botton_long_press
+0x63b9 ui_soft_switch_power_on
+0x63c1 ui_soft_switch_power_off
+0x63c7 shutter_ble_adv_interval_set
+0x63cb le_send_notify_from_list
+0x63d3 shutter_le_uuid_table_conf
+0x63d6 shutter_dy_le_uuid_table_conf
+0x63d9 shutter_default_init
+0x6442 shutter_dy_6_key_conf
+0x6448 shutter_dy_7_key_conf
+0x644e shutter_dy_8_key_conf
+0x6454 shutter_dy_key_conf
+0x6459 shutter_dy_adv_conf
+0x646e shutter_dy_init
+0x6484 shutter_dy_process_idle
+0x648e shutter_dy_iphone_every_move_max_set
+0x649b shutter_dy_shutter_send_data_to_master
+0x64a0 shutter_dy_pop_queue_to_ble_data
+0x64ac shutter_dy_pop_queue_to_ble_data2
+0x64b5 shutter_dy_le_bb_event_timer
+0x64bc shutter_dy_iphone_move_mid_timer
+0x64bf shutter_dy_iphone_move_mid_timeout
+0x64c3 shutter_dy_iphone_move_mid
+0x64cd shutter_dy_android_like_loaction_mid
+0x64cf shutter_dy_iphone_up_mid
+0x64d1 shutter_dy_iphone_like_mid
+0x64d3 shutter_dy_clear_key_state_timer
+0x64d6 shutter_dy_clear_key_state_timeout
+0x64d9 shutter_dy_check_power_off_timer
+0x64dc shutter_dy_check_power_off_timeout
+0x64df shutter_dy_process_bb_event
+0x64e6 ble_shutter_dy_pairing_success
+0x64ef ble_shutter_dy_process_baseband_disconnect
+0x64f4 ble_shutter_dy_process_baseband_connect
+0x64f8 shutter_dy_check_send_data
+0x6500 shutter_dy_over_clear
+0x6502 shutter_dy_key_value_filter
+0x6505 shutter_dy_key_change
+0x6509 shutter_dy_key_press
+0x650c shutter_dy_key_press_next
+0x651c shutter_dy_page_set
+0x651f shutter_dy_move_set
+0x6524 shutter_dy_key_move_to_specify_location
+0x6526 shutter_dy_iphone_check_move_mid
+0x652c shutter_dy_key_press_clk
+0x6537 shutter_dy_shutter_key_release
+0x653a shutter_dy_shutter_key_release_time
+0x654b shutter_dy_key_release_led
+0x654e shutter_dy_push_queue_release
+0x6551 shutter_dy_push_queue_release1
+0x6554 shutter_dy_push_queue_release1_next
+0x655a shutter_dy_push_queue_press_or_release
+0x655d shutter_dy_move_mode_queue_release
+0x6561 shutter_dy_jude_queue_size
+0x6566 shutter_dy_push_queue_long_release
+0x656b shutter_clear_dy_key_state
+0x656e shutter_dy_keyscan_key_process
+0x6577 shutter_dy_keyscan_key_check_release_loop
+0x658b shutter_dy_keyscan_key_check_long_press
+0x65a2 shutter_dy_key_long_press_set_key_normal
+0x65a5 shutter_dy_key_long_press_set_move_trigger
+0x65ad shutter_dy_move_mode_disable
+0x65af shutter_dy_long_press_android_or_ios
+0x65b4 shutter_dy_keyscan_key_check_release
+0x65be shutter_dy_keyscan_key_process_next
+0x65cf shutter_dy_skip_check_combine_key
+0x65d5 shutter_dy_single_key_led
+0x65dc shutter_dy_check_combine_key
+0x65dd shutter_dy_check_combine_key_loop
+0x65e8 shutter_dy_check_combine_key_parse
+0x65f0 shutter_dy_push_buffer_in_queue
+0x65f4 shutter_dy_move_to_specify_location
+0x65ff shutter_dy_move_down_left_corner_count_set
+0x6609 shutter_dy_move_down_left_corner
+0x660d shutter_dy_move_down_left_corner_loop
+0x6614 shutter_dy_move_x_max
+0x6617 shutter_dy_move_x_max_number
+0x661e shutter_dy_move_y_max
+0x6621 shutter_dy_move_y_max_number
+0x6628 shutter_dy_check_combine_key_release
+0x6633 shutter_dy_combine_key_enableuser
+0x6636 shutter_dy_check_combine_key_release_all
+0x6642 shutter_dy_check_move_data
+0x6647 shutter_dy_check_move_data_single_key
+0x664d shutter_dy_check_move_data_combine_key
+0x6654 shutter_dy_get_move_data
+0x665e shutter_dy_get_move_data_iphone
+0x666b shutter_dy_move_x_empty_check
+0x6671 shutter_dy_every_move_size_set
+0x6676 shutter_dy_move_left
+0x667c shutter_dy_move_store_x
+0x667d shutter_dy_move_data_store
+0x6685 shutter_dy_move_x_check_max
+0x6690 shutter_dy_clear_move_x
+0x6693 shutter_dy_move_right
+0x6697 shutter_dy_move_right_next
+0x669b shutter_dy_move_up
+0x669f shutter_dy_move_y_check_max
+0x66af shutter_dy_clear_move_y
+0x66b0 shutter_dy_android_move_y_empty_check
+0x66b2 shutter_dy_move_y_empty_check
+0x66bc shutter_dy_move_store_y
+0x66be shutter_dy_move_down
+0x66c0 shutter_dy_move_down_next
+0x66c5 ble_shutter_dy_receive_data
+0x66c8 shutter_dy_le_find_service_hand_by_uuid
+0x66d5 shutter_dy_le_parse_att
+0x66de shutter_dy_le_parse_att_read_blob_request
+0x66e9 shutter_dy_le_parse_att_read_blob_request_ios
+0x66ea shutter_dy_le_parse_att_read_blob_request2
+0x66f4 shutter_dy_le_parse_att_read_request
+0x66f8 shutter_dy_le_send_att_read_response_check_auth
+0x66fe shutter_dy_le_send_att_read_response
+0x6704 shutter_dy_le_parse_att_find_by_type_value_rsp
+0x6704 shutter_dy_le_remote_iphone
+0x671e shutter_dy_iphone_move_initial_set
+0x6725 shutter_dy_le_parse_error_rsp
+0x6729 shutter_dy_remote_not_iphone
+0x672e shutter_dy_not_iphone_read_conf
+0x6730 shutter_dy_check_iphone
+0x6732 shutter_dy_le_get_press_ptr
+0x6738 shutter_dy_le_get_release_ptr
+0x6738 shutter_dy_le_get_release_ptr_set
+0x6740 shutter_dy_le_get_release_ptr_volume
+0x6747 shutter_dy_le_get_release_ptr_set_volume_dec
+0x6749 shutter_dy_le_get_release_ptr_set_volume_inc
+0x674b shutter_dy_le_get_vol_inc_ptr
+0x6750 shutter_dy_le_get_vol_dec_ptr
+0x6755 shutter_dy_long_key_function
+0x675a shutter_dy_long_key_volume_timer
+0x675d shutter_dy_long_key_volume_timeout
+0x6761 shutter_dy_loop_send_volume_inc_page
+0x6765 shutter_dy_loop_send_volume_dec_page
+0x6769 shutter_dy_clear_volume_timer
+0x676c shutter_dy_link_key_loop_timer
+0x676f shutter_dy_link_key_loop_timeout
+0x6772 shutter_dy_link_data_android_or_ios
+0x6777 shutter_dy_link_key_long_press
+0x677c shutter_dy_clear_link_key_timer
+0x677f shutter_dy_jude_clear_move_config
+0x6783 shutter_dy_clear_move_config
+0x6786 shutter_dy_write_otp_convert_data
+0x678a shutter_dy_read_otp_convert_data
+0x678e shutter_dy_store_ios_config_data
+0x67a0 shutter_dy_store_android_config
+0x67a7 shutter_dy_get_ios_config
+0x67b9 shutter_dy_get_android_config
+0x67be shutter_dy_store_move_config_info
+0x67bf shutter_dy_load_move_config_info
+0x67c0 shutter_dy_shutter_uart_config_loop
+0x67cb shutter_dy_shutter_get_first_read_addr
+0x67cf shutter_dy_shutter_next_read_addr
+0x67d3 shutter_dy_shutter_last_read_addr
+0x67d7 shutter_dy_shutter_read_ios_android_addr
+0x67e2 shutter_dy_update_read_check_addr
+0x67e6 shutter_dy_campare_otp_data
+0x67f6 shutter_dy_set_shutter_valid_data_flag
+0x67fa shutter_dy_shutter_judge_ios_or_android
+0x6806 shutter_dy_shutter_not_find_ios_or_android
+0x680b shutter_dy_shutter_android_save_init_loaction
+0x6812 shutter_dy_shutter_ios_save_init_loaction
+0x6821 shutter_dy_clear_temp_count
+0x6823 shutter_dy_campare_effective_addr_read_otp
+0x683c shutter_dy_campare_effective_addr_write_otp
+0x684f shutter_dy_shutter_read_move_config_from_otp_addr
+0x6854 shutter_dy_shutter_write_move_config_to_otp_addr
+0x6858 shutter_dy_shutter_1s_timer
+0x685b p_crc16_ccitt_false
+0x685c p_crc16_ccitt_false_loop
+0x6860 p_crc16_for_byte
+0x6862 p_crc16_for_byte_loop
+0x6867 p_crc16_for_byte_continue
+0x686c rf_debug_rx_gpio_low
+0x686d rf_debug_gpio_low
+0x686f rf_debug_rx_on_line
+0x686f rf_debug_rx_gpio_high
+0x6870 rf_debug_gpio_high
+0x6872 rf_debug_rx_gpio_h_l_h
+0x6873 rf_debug_rx_gpio_l_h
+0x6875 rf_debug_rx_gpio_l_h_l
+0x6875 rf_debug_shutdown_radio_line
+0x6876 rf_debug_rx_crc_line
+0x6877 rf_debug_rx_sync_line
+0x6878 rf_debug_rx_crc_fail_line
+0x687a rf_debug_rx_crc_error_line
+0x687a rf_debug_rx_sync_timeout_line
+0x687b rf_debug_tx_off_line
+0x687b rf_debug_tx_gpio_low
+0x687d rf_debug_tx_on_line
+0x687d rf_debug_tx_gpio_high
+0x687f rf_debug_tx_gpio_l_h_l
+0x6882 hci_init
+0x688b hci_process_loop
+0x688d hci_init_clksel_xtal
+0x688f hci_init_uart_default_config
+0x6893 hci_init_uart_default_config_tx
+0x6897 hci_init_uart_default_config_rx
+0x689b hci_init_uart_default_config_rts
+0x689f hci_init_uart_default_config_cts
+0x68a3 hci_init_uart_config
+0x68bf hci_init_pwm_default_config
+0x68c3 hci_init_pwm
+0x68ce hci_process_check_uart_rx
+0x68d6 hci_parse_packet_cmd
+0x68e4 hci_parse_complete_packet
+0x68e7 hci_parse_packet_cmd_ogf_vendorspecific_debug
+0x68f2 phci_grp_vendor_chipid
+0x68f7 phci_grp_vendor_baud
+0x68fa phci_grp_vendor_patch_common
+0x6905 phci_grp_vendor_patch
+0x6906 phci_grp_vendor_patch_loop
+0x690a phci_grp_vendor_patch_check_sum
+0x690f phci_grp_vendor_done
+0x6912 phci_grp_vendor_done_loop
+0x691e phci_grp_vendor_patch_bad
+0x6920 phci_grp_vendor_mem
+0x6926 phci_grp_vendor_flow_control
+0x692a hci_normal_reply
+0x692b hci_send_event_command_complete_error_command_nuknown
+0x692d hci_send_event_command_complete_error_command_disallowed
+0x692f hci_send_event_command_complete_without_payload
+0x6932 hci_send_event_command_complete
+0x693b hci_prepare_send_event
+0x693f hci_drop_current_packet
+0x6944 cmd_exit
+0x6946 l2cap_init
+0x694b l2cap_init_wake
+0x694c check_l2cap_map
+0x694e check_l2cap_map_loop
+0x6953 check_l2cap_map_used
+0x6957 check_l2cap_map_used2
+0x6959 ble_l2cap_malloc
+0x695d host_l2cap_malloc
+0x6962 host_l2cap_malloc_loop
+0x696a host_l2cap_malloc_next_buffer
+0x696e host_l2cap_malloc_succ
+0x6971 host_l2cap_malloc_check_buffer_enough
+0x6975 host_l2cap_malloc_check_buffer_enough_loop
+0x6982 host_l2cap_malloc_check_buffer_enough_end
+0x6987 host_l2cap_malloc_into_fifo
+0x6990 host_l2cap_malloc_into_fifo_no_push
+0x6993 l2cap_malloc_fifo_out
+0x6998 l2cap_malloc_free
+0x699f l2cap_malloc_discard
+0x69a9 l2cap_malloc_is_fifo_full
+0x69ac l2cap_malloc_is_fifo_nearly_full
+0x69af l2cap_malloc_is_fifo_empty
+0x69b2 l2cap_malloc_fifo_get_first_ptr
+0x69b5 l2cap_malloc_free_loop
+0x69b7 l2cap_malloc_fifo_get_first_ptr_empty
+0x69b9 l2cap_malloc_get_full_map
+0x69bd l2cap_malloc_get_full_map_loop
+0x69c3 l2cap_lpm_get_wake_lock
+0x69c5 l2cap_lpm_put_wake_lock
+0x69c7 twspi_reset
+0x69cf twspi_reset_next
+0x69d9 twspi_reset_ext
+0x69dc twspi_disable
+0x69e0 twspi_enable
+0x69e4 twspi_write
+0x69e5 twspi_read
+0x69e6 aes_disable
+0x69ea read_function_aes
+0x69ee read_function
+0x69f1 read_fuction_zero
+0x69f3 get_block_header
+0x69f4 get_block_header0
+0x69fc read_first_block
+0x6a01 read_first_block_cont
+0x6a04 get_iv
+0x6a08 set_iv
+0x6a0e load_aes_reinit
+0x6a11 load_storage
+0x6a1e load_storage_loop
+0x6a25 load_data_checksum_calc
+0x6a2e load_data_checksum_compare
+0x6a3c load_data_checksum_ok
+0x6a3e load_data_checksum_compare_fail
+0x6a40 loadcode_lock_load_ucode
+0x6a44 loadcode_lock
+0x6a4b loadcode_set_lock
+0x6a53 load_otp_hv_vsel
+0x6a59 loadcode_load_key
+0x6a68 loadcode
+0x6a72 loadcode_bistwait
+0x6a78 loadcode_nobist
+0x6a7b loadcode_otp
+0x6a8f loadcode_unenc
+0x6a91 loadcode_otp_loop
+0x6a9c loadcode_otp_end
+0x6a9e loadcode_iic_loop
+0x6aaa run_otp_code
+0x6aad loadcode_check_otp_lock
+0x6ab2 loadcode_otp_lock
+0x6ab4 loadcode_iic_eeprom_2k
+0x6abd loadcode_spi
+0x6abe loadcode_spi_loop
+0x6acd loadcode_hci
+0x6ad1 clear_key_buf
+0x6ad7 iicd_load_gpio_init
+0x6adb iicd_load_default_gpio
+0x6adf loadcode_iic_by_eeprom
+0x6ae5 loadcode_timeout
+0x6aeb loadcode_error_delay
+0x6af1 loadcode_error
+0x6af5 set_bistfix
+0x6afa set_bistfix_loop
+0x6b00 set_ucode_status
+0x6b07 decrypt_code
+0x6b0a decrypt_code_loop
+0x6b0d decrypt_code_skip
+0x6b11 load_ucode
+0x6b19 load_ucode_loop
+0x6b1e otp_load_code
+0x6b2b otp_enable_chgpump25
+0x6b34 otp_enable_chgpump65
+0x6b37 disable_otp
+0x6b38 otp_disable_chgpump
+0x6b3a enable_otp_read
+0x6b3b otp_reset
+0x6b41 otp_set_addr
+0x6b45 otp_write
+0x6b49 otp_program
+0x6b4c otp_program_bit
+0x6b6c otp_skip_0
+0x6b74 otp_read_data
+0x6b75 otp_read_data1
+0x6b7a otp_read_data_loop
+0x6b83 otp_read_noinc
+0x6b89 otp_read_unenc
+0x6b8d app_lpm_lock_check
+0x6b99 app_lpm_mesh_lock
+0x6b9d app_lpm_kb_lock
+0x6b9e app_lpm_module_lock
+0x6b9e app_lpm_hciboot_lock
+0x6b9f app_lpm_dongle_lock
+0x6ba3 app_lpm_mouse_lock
+0x6ba7 app_lpm_shutter_lock
+0x6bab app_lpm_car_lock
+0x6bae app_lpm_lock_mesh
+0x6bb1 app_lpm_car_lock_application_and_ble
+0x6bb7 app_mpu_s0_lock
+0x6bba app_lpm_mpu_lock_ble
+0x6bbc app_mpu_s1_lock
+0x6bbf app_lpm_mpu_lock_24g
+0x6bc2 app_lpm_mpu_lock_24g_ble
+0x6bc6 spid_init
+0x6bc7 spid_init_common
+0x6bd0 spid_write_reg
+0x6bd7 spid_read_reg
+0x6bd8 spid_read_regs
+0x6be0 wait_spid_done
+0x6be4 flash_write
+0x6beb flash_write_spi_sm_timer
+0x6bf2 spid_flash_write_start
+0x6bf8 spid_flash_erase_sector
+0x6c00 spid_flash_wait_erase_sector
+0x6c04 spid_flash_write_data
+0x6c0b spid_flash_wait_write_data
+0x6c13 spid_flash_data_recover
+0x6c15 spid_flash_data_recover_comm
+0x6c18 spid_flash_data_preserve
+0x6c20 spid_init_flash
+0x6c26 spid_unlock_flash
+0x6c27 spid_sendcmd_common
+0x6c2f spid_flash_release_form_powerdown
+0x6c31 spid_flash_powerdown
+0x6c33 spid_write_flash_data
+0x6c3c spid_write_flash
+0x6c40 spid_write_flash_common
+0x6c4d spid_read_flash
+0x6c5f spid_read_flash_wait
+0x6c63 wait_spid_flash_done
+0x6c6c spid_load_flash
+0x6c79 spi_load_flash_wait
+0x6c8b spi_gpio_init
+0x6c90 spi_pin_set
+0x6c9c spi_gpio_default_init
+0x6ca3 soft_reset_chip
+0x6ca5 iic_init_600khz
+0x6cad iic_init_360khz
+0x6cb5 iicd_init_pin
+0x6cb6 iicd_init_pin_scl_sda
+0x6cbc iicd_read_init_pin
+0x6cbe wait_iicd_done
+0x6cc1 set_eeprom_size_2k
+0x6cc4 clear_eeprom_size_2k
+0x6cc7 iicd_read_eep_data_size_2k
+0x6ccb iicd_read_eep_size_2k_lcadcode
+0x6cce iicd_read_eep_size_2k
+0x6cd3 iicd_write_protect_eep_data
+0x6cd8 iicd_eeprom_write_enable
+0x6cdd iicd_wp_gpio_output_low
+0x6cdf iicd_eeprom_write_disable
+0x6ce1 iicd_read_eep_data
+0x6ce7 iicd_read_eep
+0x6ced iicd_read_eep_common
+0x6cfc iicd_inc_addr
+0x6d02 iicd_read_eep_load_code_size_2k
+0x6d07 iicd_write_eep_data
+0x6d0d iicd_write_eep_loop
+0x6d1c iicd_eep_transparency
+0x6d2e iicd_eep_deal_short_packet
+0x6d33 iicd_write_eep_size_2k
+0x6d3d iicd_write_eep
+0x6d4a iicd_write_eep_common
+0x6d51 iic_check_eeprom_standby
+0x6d53 iic_check_eeprom_standby_wait
+0x6d68 uarta_init_dma_mem
+0x6d6a uart_init_dma_mem
+0x6d73 uarta_init_baud_rate
+0x6d75 uarta_calc_baud_rate_config
+0x6d77 uart_calc_baud_rate_config
+0x6d7c uart_calc_baud_rate_config_choice_uart_clock
+0x6d80 uart_calc_baud_rate_config_choice_uart_clock_crystal
+0x6d82 uart_clock_select_main_freq_crystal
+0x6d86 uart_clock_select_main_freq_dpll
+0x6d8a uarta_init_tx
+0x6d8e uarta_init_rx
+0x6d92 uarta_prepare_tx
+0x6d96 uarta_prepare_rx
+0x6d9a uarta_send
+0x6d9c uarta_rxdone
+0x6d9e uarta_clear_current_rx
+0x6da2 uarta_prepare_tx_register_push
+0x6da4 uarta_send_register_pop
+0x6da6 uart_register_push
+0x6daa uart_register_pop
+0x6dae wait_uarttx
+0x6db1 uart_copy_tx_bytes_fast
+0x6db3 uart_copy_tx_bytes_fast_loop
+0x6db8 uart_copy_tx_bytes_fast_loop_four
+0x6dbe uart_tx_8_bytes
+0x6dc1 uart_tx_4_bytes
+0x6dc4 uart_copy_tx_bytes
+0x6dc6 uart_copy_tx_bytes_loop
+0x6dca uart_copy_rx_bytes_fast
+0x6dcc uart_copy_rx_bytes_fast_loop
+0x6dd1 uart_copy_rx_bytes_fast_loop_four
+0x6dd7 uart_rx_8_bytes
+0x6dda uart_rx_4_bytes
+0x6ddd uart_copy_rx_bytes
+0x6ddf uart_copy_rx_bytes_loop
+0x6de3 app_store_nvram_event
+0x6de5 check_51cmd_update_device_record
+0x6dec write_device_record
+0x6df0 write_device_loop_find
+0x6dfc write_device_loop_find0
+0x6e00 set_index_finded_device
+0x6e05 set_index_find_device_master_addr
+0x6e0a store_rec_data_common
+0x6e0d set_index_finded_device_ble_mode
+0x6e11 set_index_finded_device_irk
+0x6e13 store_ble_rec_data_common
+0x6e15 set_index_finded_device_ediv
+0x6e18 nvram_find_addr_from_bd_list
+0x6e1f find_addr_from_bd_list_ble_mode
+0x6e27 find_addr_from_bd_list_static_addr
+0x6e2b find_addr_from_bd_list_static_addr_reconnect
+0x6e2e find_addr_from_bd_list_static_addr_sc_or_legacy
+0x6e2e find_addr_from_bd_list_random_non_resolvable_private_address_sc_or_legacy
+0x6e31 find_addr_from_bd_list_static_addr_sc
+0x6e31 find_addr_from_bd_list_random_non_resolvable_private_address_sc
+0x6e34 find_addr_from_bd_list_public_device_addr
+0x6e37 find_addr_from_bd_list_random_non_resolvable_private_address
+0x6e39 find_addr_from_bd_list_random_addr
+0x6e3b find_addr_from_bd_list_common
+0x6e43 nvram_find_addr_from_list
+0x6e53 nvram_find_addr_from_list_compare
+0x6e55 find_master_addr_from_list_compare
+0x6e5a find_addr_from_list_compare_ble_mode
+0x6e5d find_irk_form_list_compare
+0x6e6f genernate_master_macaddress
+0x6e78 find_ediv_form_list_compare
+0x6e87 check_nvram
+0x6e8d init_device_list
+0x6e91 init_device_list_loop
+0x6e96 load_device_list_mode_4
+0x6ea1 clear_ltk_exists
+0x6ea3 eeprom_store_le_reconn_info
+0x6ea5 eeprom_store_reconn_info
+0x6ea9 get_gpio_wakeup_index
+0x6eb2 gpio_set_wake_by_current_state
+0x6eb6 gpio_set_wake
+0x6ebd gpio_set_wake_high
+0x6ec1 gpio_set_wake_low4bit
+0x6ec6 gpio_set_low_pullup
+0x6ece gpio_set_low_pullup_low4bit
+0x6ed3 gpio_clr_wake
+0x6edb gpio_config_input_nowake
+0x6edd gpio_config_input
+0x6ee0 gpio_config_input_without_wake
+0x6ee6 gpio_get_bit
+0x6ef1 gpio_get_bit_reverse
+0x6ef3 gpio_out_inactive
+0x6ef7 gpio_config_output
+0x6ef7 gpio_out_active
+0x6efa gpio_out_flag
+0x6efd gpio_out
+0x6f02 gpio_check_active
+0x6f09 gpio_check_active_high
+0x6f0b gpio_set_analog
+0x6f0d gpio_write
+0x6f0f gpio_set_high_impedance
+0x6f14 gpio_addr
+0x6f18 gpio_addr_next
+0x6f1a gpio_addr_ext
+0x6f1d gpio_config_param
+0x6f20 gpio_config_function
+0x6f21 gpio_config_function_int
+0x6f25 gpio_config_function_int_next
+0x6f28 gpio_config_function_int_ext
+0x6f2b gpio_get_config
+0x6f2f gpio_get_config_next
+0x6f32 gpio_get_config_ext
+0x6f35 gpio_set_before_lpm
+0x6f37 setgpio_loop
+0x6f41 setgpio_loop_end
+0x6f45 gpio_set_before_lpm_ext
+0x6f48 setgpio_pullup
+0x6f4b setgpio_pulldown
+0x6f4e sadc_calibration
+0x6f57 sadc_cal_read
+0x6f5a sadc_cal_read_loop
+0x6f63 sadc_cal_write
+0x6f69 sadc_cal_write_loop
+0x6f74 adc_init_data
+0x6f79 adc_init_cal_data_default
+0x6f82 enable_adc
+0x6f90 sadc_channel
+0x6f97 sadc_read
+0x6f98 sadc_read_wait
+0x6f9d sadc_read_wait2
+0x6fa1 sadc_dma
+0x6fb0 vdd_calculate_by_mode
+0x6fb5 vdd_calculate_hvin
+0x6fbb vdd_calculate_io
+0x6fc0 vdd_calculate
+0x6fc9 vdd_calculate2
+0x6fcd vdd_calculate1
+0x6fd7 adc_bat_percent_lowpower_out
+0x6fe7 adc_set_low_power_flag
+0x6feb adc_clear_low_power_flag
+0x6fef adc_set_no_power_flag
+0x6ff3 adc_clear_no_power_flag
+0x6ff7 keyscan_key_init
+0x6ff9 keyscan_key_init_next
+0x6ffe keyscan_key_init_lp1
+0x7002 keyscan_key_init_end
+0x7003 keyscan_scan_key
+0x7009 keyscan_scan_key_lp1
+0x7014 keyscan_scan_key_lp1_next
+0x701b keyscan_process_lpm_before
+0x701d keyscan_process_lpm_before_next
+0x7022 keyscan_process_lpm_before_lp1
+0x7026 keyscan_process_lpm_before_end
+0x7027 keyscan_key_process
+0x7032 keyscan_key_process_next
+0x703b keyscan_key_lp1
+0x7047 keyscan_key_lp1_next
+0x7050 keyscan_send_key_data
+0x7055 pwm_init
+0x705b delay_nop100
+0x705d pwm_clk_set
+0x7060 pwm_12m_clk_set
+0x7062 pwm_24m_clk_set
+0x7064 pwm_33k_clk_set
+0x7066 pwm_out_set
+0x707a pwm_duty_cycle_set
+0x707d pwm_autoload_set
+0x7086 delay_1clk_of_33k
+0x7088 pwm_duty_cycle_set_without_autoload
+0x7091 pwm_enable_in_syncmode
+0x709c pwm_disable_in_syncmode
+0x70a9 pwm_syncmode_set
+0x70aa pwm_syncmode_set_process
+0x70af pwm_init_bit_set
+0x70b0 pwm_init_bit_set_process
+0x70b5 pwm_gpio_select
+0x70b6 pwm_gpio_select_process
+0x70ba pwm_enable
+0x70bd pwm_disable
+0x70c0 pwm_set_select
+0x70c5 pwm_select_channel
+0x70c8 wdt_init_config
+0x70d5 wdt_set_enable
+0x70d7 wdt_set_disable
+0x70d9 wdt_init_set
+0x70dd nec61212_init
+0x70de nec_init_config
+0x70e2 nec_check_rxbuff_size
+0x70e4 nec_prepare_read
+0x70e8 nec_read_done
+0x70ea nec_parse_nec61212
+0x7105 nec_parse_nec61212_data
+0x7111 nec_parse_nec61212_error_data
+0x7116 nec_parse_nec61212_add_bit1
+0x7117 nec_parse_nec61212_add_bit0
+0x711a nec_parse_nec61212_check_repeat_data
+0x7125 nec_parse_nec61212_check_stop_bit
+0x712c nec_parse_nec61212_check_timeout
+0x7131 nec_parse_nec61212_check_timeout_cb
+0x7135 nec_check_pulse_range_legal_default_deviation
+0x7136 nec_check_pulse_range_legal
+0x713e nec_check_pulse_range_legal_data_negative
+0x7140 function_g2
+0x7157 function_f6_eb
+0x7167 get_r
+0x716b function_f6_ea
+0x717e function_f5
+0x7190 function_f5_common
+0x71a1 store_addr_common_b
+0x71a6 store_addr_common_a
+0x71ab function_f4_ca
+0x71b6 function_f4_cb
+0x71c1 function_aes_cmac
+0x71c5 function_ceil16
+0x71d3 function_aes_cmac_set_flag_0_balnk
+0x71d6 function_aes_cmac_set_flag_0
+0x71d7 function_aes_cmac_set_flag_0_common
+0x71e1 function_aes_cmac_aes
+0x71e4 function_aes_cmac_aes_loop
+0x71ea function_aes_cmac_aes_loop_end
+0x71f2 load_inverse_result
+0x71f6 store_inverse_k
+0x71f8 inverse_k
+0x71fb inverse_memdat
+0x71ff bn_lshift_0_inverse
+0x7209 function_aes_cmac_k1_inverse
+0x720a function_aes_cmac_inverse_common
+0x720e function_aes_cmac_k2_inverse
+0x7210 function_aes_cmac_generate_subkey
+0x7218 function_aes_cmac_k1
+0x7221 function_aes_cmac_k1_0
+0x7222 function_aes_cmac_k2
+0x722b function_aes_cmac_xor_rb
+0x722c function_aes_cmac_xor_rb_loop
+0x7232 function_aes_cmac_xor_loop_common
+0x7236 function_aes_cmac_padding
+0x7239 function_aes_cmac_padding_loop
+0x723e function_aes_cmac_padding_loop2
+0x7241 function_aes_cmac_padding_beq_length
+0x7242 function_aes_cmac_padding_common
+0x7244 function_aes_cmac_padding_big_length
+0x7246 concatenate_temp24
+0x7247 concatenate_temp16
+0x724a generate_stk
+0x724e authenticate_rconfirm
+0x7251 authenticate_mconfirm
+0x7256 generate_confirm
+0x7259 generate_mrand
+0x725c generate_sk
+0x7265 ccm_b0
+0x7268 first_block_counter
+0x726a first_block_data
+0x726b first_block
+0x726c iv_common
+0x727d generate_mic
+0x728c generate_mic_loop
+0x7291 generate_mic_end
+0x7295 aes_crypt_data
+0x729f le_encrypt_new_start
+0x72b8 ccm_wait_enc
+0x72bd ccm_check_enc_done
+0x72bf ccm_enc_done
+0x72c4 ccm_init_common
+0x72cb wait_ccm_done
+0x72cd ccm_ctrl_clr
+0x72cf wait_aes
+0x72d1 do_aes_ocb
+0x72d4 do_aes_cbc
+0x72d7 do_aes_ctr
+0x72da aes_init
+0x72dd wait_keyinit_done
+0x72e0 dec_key_initial
+0x72e4 do_aes_ecb_dec
+0x72eb ecb_dec_generate
+0x72ee ecb_dec_generate_loop
+0x72f3 aes_ecb_dec_loop
+0x72fa do_aes_cbc_dec
+0x7306 function_s1
+0x731b function_c1
+0x7321 function_c1_master
+0x7331 function_c1_irat
+0x7336 function_c1_loop1
+0x7349 padding_data
+0x734e padding_loop
+0x7353 aes_load_data
+0x7354 load_data_loop
+0x7358 load_data_padding
+0x735d aes_load_xor
+0x735f load_key
+0x7361 load_data128
+0x7362 load_regext
+0x7363 load_regext_loop
+0x7368 load_sk
+0x736a clear_hidata
+0x736c regext_clear
+0x736f aes_clear_data
+0x7370 aes_clear
+0x7371 clear_loop
+0x7372 clear_data_rest
+0x7375 store_aes_result
+0x7377 send_aes_result_loop
+0x737c store_enc_data
+0x7382 store_enc_loop
+0x738a store_enc_byte
+0x738e compare_res
+0x7390 compare_res_loop
+0x7396 enable_authrom
+0x739a disable_authrom
+0x739e init_memp
+0x73f5 init_memp_256
+0x7447 publickey_init
+0x7448 sp_calc_sequence_256_check
+0x7450 stop_publickey_calc_256
+0x7452 sp_clear_flags
+0x745b sp_calc_check_publickey_256
+0x7476 sp_calc_b256
+0x748c random_generator
+0x7491 compare4
+0x749b compare4_failed
+0x749c compare4_success
+0x749d bn_testbit
+0x74a3 bn_eq_zero
+0x74a9 bn_eq_0
+0x74b2 bn_bigeq
+0x74b5 bn_bigeq_0
+0x74bf bn_add
+0x74c1 bn_add_0
+0x74cd bn_sub
+0x74cf bn_sub_0
+0x74db bn_rshift6
+0x74dd bn_rshift
+0x74de bn_rshift_0
+0x74e9 bn_lshift
+0x74eb bn_lshift_0
+0x74f6 bn_load
+0x74f7 bn_load_0
+0x74fc sp_initialize_256
+0x74ff sc_reset
+0x7502 sp_wait_pubkey_calc_256_done
+0x7508 sp_debug_private_256
+0x751d sp_pubkey_calc_256
+0x7536 sp_pubkey_generated_256
+0x753c sp_dhkey_calc_256
+0x754c sp_dhkey_generated_256
+0x7552 sp_calc_sequence_256
+0x755c sp_calc_sequence_done_256
+0x7562 eckp_calc_256
+0x756a eckp_calc_init_256
+0x756d eckp_calc_init_256_1
+0x7577 ecunmapz_256
+0x7589 ecdbl_256
+0x75da ecadd_256
+0x7646 bn_invmod_256
+0x7654 bn_invmod_256_2
+0x766f bn_invmod_256_1
+0x767d bn_invmod_256_0
+0x7684 bn_mulmod_256
+0x7692 bn_mulmod_256_1
+0x7698 bn_mulmod_256_0
+0x76ad bn_p256mod
+0x7716 bn_load_mem
+0x771a bn_load_256
+0x771c bn_sqrmod_256
+0x771e bn_add_256
+0x7720 bn_addmod_256
+0x7723 bn_lshiftmod_256
+0x7724 bn_lshiftmod_ismod_256
+0x772d bn_lshiftmod_p_256
+0x7735 sub_p2_256
+0x7739 bn_submod_256
+0x7743 bn_submod_256_np
+0x774c bn_sub_256
+0x774e bn_rshift_256
+0x7751 bn_lshift_256
+0x7754 bn_bigeq_256
+0x7758 bn_eq_zero_256
+0x775b bn_rshifteven_256
+0x775c bn_rshifteven_256_1
+0x776b bn_rshifteven_256_0
+0x776f ui_init
+0x7774 ui_dispatch
+0x7776 ui_button_init
+0x7780 ui_button_polling
+0x7786 ui_button_down
+0x7792 ui_button_up
+0x779c ui_button_check_long_press
+0x77a3 lpm_button_get_wake_lock
+0x77a5 lpm_button_clean_wake_lock
+0x77a7 calc_curr_struct_prt
+0x77ac ui_led_init_global
+0x77b1 ui_led_init_loop
+0x77b7 ui_led_init_set
+0x77ba ui_led_on_global
+0x77bf ui_led_blink_stop_global
+0x77bf ui_led_off_global
+0x77c4 ui_led_blink_start_global
+0x77ca ui_led_set_style_global
+0x77cf ui_led_dispatch
+0x77d2 ui_led_blink_polling
+0x77d8 ui_led_off_static
+0x77db ui_led_on_static
+0x77de ui_led_change_style_by_type
+0x77e7 ui_led_blink_state_lighting
+0x77f2 ui_led_blink_state_darking
+0x77fe ui_led_blink_infinite
+0x7802 ui_led_blink_timer_start
+0x7804 ui_led_stop_timer
+0x7806 ui_timer_timeout
+0x780a ui_timer_check
+0x7811 ui_timer_check_loop
+0x781b ui_timer_init
+0x781e ui_timer_check_end
+0x7824 ui_timer_check_send_evt
+0x7825 ui_ipc_get_lock
+0x7826 ui_ipc_get_lock_wait
+0x7829 ui_ipc_put_lock
+0x782b ui_ipc_send_event
+0x7834 ui_ipc_send_cmd
+0x783d ui_ipc_clean_all_fifo
+0x7841 check_51cmd
+0x784c check_51cmd_once
+0x7860 check_51cmd_once_continue
+0x7869 check_51cmd_check_idle
+0x786e check_51cmd_restore
+0x7870 check_51cmd_adv
+0x7876 check_51cmd_stop_adv
+0x787b check_51cmd_direct_adv
+0x7881 check_51cmd_stop_direct_adv
+0x7886 check_51cmd_le_disconnect
+0x788a check_51cmd_ble_update_connect_param
+0x788b check_51cmd_led_off
+0x788d check_51cmd_led_on
+0x788f check_51cmd_led_start_blink
+0x7896 check_51cmd_led_start_blink_in_blink
+0x7899 check_51cmd_le_start_con
+0x789c check_51cmd_start_scan
+0x789e check_51cmd_stop_scan
+0x78a1 check_51cmd_hibernate
+0x78a7 check_51cmd_hibernate_btn_disabled
+0x78a9 check_51cmd_le_smp_sec_req
+0x78aa ui_check_paring_button
+0x78ad queue_init
+0x78b2 queue_push
+0x78c2 calc_queue_next_ptr
+0x78ca queue_pop
+0x78dc queue_get_new_ele
+0x78eb queue_store_new_ele
+0x78fa queue_empty
+0x78fe queue_full
+0x7902 queue_get_size
+0x7906 usb_isr
+0x7912 usb_init
+0x7915 usb_init_restart
+0x792a usb_offline_check_init
+0x792c usb_offline_state
+0x7932 usb_init_param
+0x7964 usb_config_cb
+0x7966 usb_tx_interval_config
+0x796b usb_nak_state
+0x7973 usb_nak_state_judge
+0x7976 usb_nak_state_timer_init
+0x797b usb0_attached_state_judge
+0x7980 usb_clear_halt_dispose
+0x7986 usb_rx_no_data
+0x7989 usb_rx_len
+0x7993 usb_rx_data
+0x7994 usb_rx_read
+0x7999 usb_rx_ep13
+0x79a2 usb_rx
+0x79af usb_class_type
+0x79b6 usb_out_one_byte
+0x79ba usb_in_device
+0x79c2 usb_out_device
+0x79ca usb_in_standard_req
+0x79d0 usb_in_class_req
+0x79d5 usb_in_manufacturer_req
+0x79d6 usb_out_standard_req
+0x79de usb_out_class_req
+0x79e3 usb_out_manufacturer_req
+0x79e4 usb0_force_stall
+0x79e9 usb0_reply_zerolen
+0x79eb usb0_request_get_configuration
+0x79fd usb0_request_get_cfg_dev_cfg
+0x79ff usb0_request_get_cfg_dev_addr
+0x7a01 usb0_request_get_descriptor
+0x7a09 dsc_hid_info
+0x7a0e dsc_hid_info_interface0
+0x7a11 dsc_hid_info_interface1
+0x7a14 dsc_device_info
+0x7a18 dsc_info_set_data_len
+0x7a1d dsc_info_set_initial_data_len
+0x7a1e dsc_info_set_data_size_completed
+0x7a23 dsc_info_set_current_data_len
+0x7a25 usb_set_high_addr
+0x7a29 usb0_set_addr
+0x7a2d dsc_config_info
+0x7a30 dsc_string_info
+0x7a3e dsc_hid_report_info
+0x7a42 dsc_hid_report_info0
+0x7a46 usb0_request_get_interface
+0x7a58 usb0_request_get_status
+0x7a69 usb0_sdsystem_dispose
+0x7a6b usb0_get_status_in_device
+0x7a70 usb_send_zero_packet
+0x7a72 usb_send_ones_packet
+0x7a74 usb_send_two_packet
+0x7a76 usb0_get_status_in_interface
+0x7a7a usb0_get_status_in_endpoint
+0x7a83 usb0_get_status_in_ep_in_ep0
+0x7a84 usb0_get_status_in_ep_in_ack
+0x7a87 usb0_get_status_in_ep_in_ep1
+0x7a89 usb0_get_status_in_ep_in_ep2
+0x7a8b usb0_get_status_in_ep_in_ep3
+0x7a8d usb_get_idle
+0x7a91 usb_get_report
+0x7a95 usb_get_report_dispose
+0x7a98 usb_get_report_send_data
+0x7a9c usb_get_report_data_release
+0x7a9f usb_get_report_data_success
+0x7aa2 usb_get_protocol_req
+0x7aaa usb_get_report_protocol
+0x7aab usb_get_boot_protocol
+0x7aac usb0_request_clear_feature
+0x7abb usb0_request_clear_feature_out_device
+0x7ac8 usb0_request_clear_feature_out_interface
+0x7ac9 usb0_request_clear_feature_out_endpoint
+0x7ad2 usb0_force_stall_ep0_in_off
+0x7ad4 usb0_force_stall_ep1_in_off
+0x7ad5 usb0_force_stall_ep1_in_off_reply
+0x7ad7 usb0_force_stall_ep2_in_off
+0x7ad9 usb0_force_stall_ep3_in_off
+0x7adb usb0_request_set_feature
+0x7ae4 usb0_request_set_feature_out_device
+0x7aee usb_wakeup_timer_reinit
+0x7af2 usb0_request_set_feature_out_interface
+0x7af3 usb0_request_set_feature_out_endpoint
+0x7afe usb0_force_stall_ep0_in_on
+0x7b00 usb0_force_stall_ep1_in_on
+0x7b02 usb0_force_stall_ep2_in_on
+0x7b04 usb0_force_stall_ep3_in_on
+0x7b06 usb0_request_set_address
+0x7b17 usb_usb0_state_set_dev_default
+0x7b18 usb0_request_set_wait_address
+0x7b1d usb_usb0_state_set_dev_addr
+0x7b1f usb0_request_set_configuration
+0x7b34 usb0_request_set_cfg_addr_state
+0x7b34 usb0_request_set_cfg_cfg_state
+0x7b38 usb0_request_set_cfg_stay_addr_state
+0x7b3a usb0_request_set_interface
+0x7b4b usb_set_idle
+0x7b59 usb_clear_remote_wakeup_set0
+0x7b5d usb_set_report
+0x7b65 usb_set_report_next
+0x7b6a usb_get_led_status
+0x7b6e usb_set_report_resume_judge
+0x7b7c usb_set_protocol_req
+0x7b82 usb_set_boot_protocol
+0x7b85 usb_set_report_protocol
+0x7b89 usb0_respond_length
+0x7b8b usb0_respond
+0x7b90 usb0_respond_nostr
+0x7b94 usb_no_respond_data
+0x7b96 usb0_tx
+0x7ba4 usb0_tx_short
+0x7ba8 usb0_tx_info
+0x7bba usb0_tx_nostr
+0x7bbc usb0_tx0
+0x7bc1 usb0_tx1
+0x7bcf usb_tx_ep1
+0x7bd2 usb_tx_buf
+0x7bd4 usb_tx_loop
+0x7bd7 usb_trig
+0x7bdb usb_tx_ep2
+0x7bdf usb_tx
+0x7bee usb_tx_data_ep1
+0x7bf9 usb_tx_data_ep2
+0x7c06 usb_tx_fifo_release
+0x7c09 usb_tx_ms_data
+0x7c11 usb_tx_ms_data_mac_boot_mode
+0x7c12 usb_tx_ms_data_mac_boot_regroup
+0x7c20 usb_tx_ms_data_normal_mode
+0x7c21 usb_tx_mac_boot_ms_regroup_r_or_lrkey
+0x7c24 usb_tx_kb_multikey_data
+0x7c28 usb_tx_kb_normal_data
+0x7c2c usb_tx_kb_systemkey_data
+0x7c30 usb_inwake_state_tx_dispose
+0x7c33 usb_mac_wakeup_trig
+0x7c38 usb_mac_wakeup_judge
+0x7c3c usb_mac_wakeup
+0x7c40 usb_windows_wakeup
+0x7c43 usb_wakeup
+0x7c49 push_stack
+0x7c51 push_stack_rega_b_c
+0x7c55 pop_stack
+0x7c60 pop_stack_rega_b_c
+0x7c64 get_contw
+0x7c67 get_contr
+0x7c6a store_contw
+0x7c6d store_contr
+0x7c70 save_cont_pointers
+0x7c75 load_cont_pointers
+0x7c7a get_diff
+0x7c80 memcpy96
+0x7c81 memcpy64
+0x7c83 memcpy12
+0x7c84 memcpy4
+0x7c86 memcpy3
+0x7c89 memcpy8
+0x7c8c memcpy48
+0x7c8d memcpy32
+0x7c8e memcpy24
+0x7c8f memcpy16
+0x7c91 delay
+0x7c95 delay_10ms
+0x7c96 delay_ms_wait
+0x7c99 memset0_16
+0x7c9a memset0_8
+0x7c9b memset0_4
+0x7c9d clear_mem_256
+0x7c9f clear_mem_512
+0x7ca1 clear_mem
+0x7ca3 memset0
+0x7ca6 clear_temp_block
+0x7ca9 xor_loop
+0x7cb1 inverse_data
+0x7cb8 inverse_loop
+0x7cc0 le2be_6byte
+0x7cc0 inverse_data_6byte
+0x7cc6 le2be_4byte
+0x7cc6 inverse_data_4byte
+0x7ccc memcpy_fast
+0x7ccf memcpy_fast_loop
+0x7cd4 memcpy_fast_loop_four
+0x7cda memcpy
+0x7cdc memcpy_loop
+0x7ce0 timer_stop
+0x7ce1 timer_init
+0x7cea timer_check_timeout
+0x7cee timer_reinit
+0x7cef timer_check
+0x7cfa timer_loop
+0x7cfe timer_counting
+0x7d05 clk_add
+0x7d10 clk_diff_rt
+0x7d12 clk_diff
+0x7d17 clk_diff_pos
+0x7d1f clk2rt
+0x7d25 clk2lpo
+0x7d2c clk2bt
+0x7d33 string2dec_from_uart
+0x7d34 string2dec_from_uart_done
+0x7d3f uchar2dialog
+0x7d48 uchar2dialog_number
+0x7d4b uchar2dialog_a2f
+0x7d4e right_shift_n
+0x7d50 right_shift_n_loop
+0x7d53 left_shift_n
+0x7d56 left_shift_n_loop
+0x7d59 calc_average
+0x7d5b calc_average_loop
+0x7d5f get_div_result
+0x7d62 wait_div_end
+0x7d64 compare_loop
+0x7d64 string_compare
+0x7d6c ceiling
+0x7d70 swap
+0x7d74 clean_smem
+0x7d76 clean_xmem
+0x7d77 clean_mem
+0x7d79 callback_func
+0x7d7b ice_break_disable_wdt
+0x7d7c ice_break
+0x7d7e ice_setbp
+0x7d83 ice_setbp2
+0x7d88 ice_set_write_bp
+0x7d8b fifo_in
+0x7d91 fifo_in_push
+0x7d97 fifo_out
+0x7d9b fifo_out_loop
+0x7da0 fifo_out_end
+0x7da3 fifo_is_empty
+0x7da5 fifo_is_full
+0x7da7 fifo_is_near_full
+0x7da9 fifo_content_count
+0x7daa fifo_content_count_loop
+0x7db0 not_greater_than
+0x7db2 copy_temp2pdata
+0x7db4 disable_positive
+0x7db6 enable_positive
+0x7db6 disable_zero
+0x7db8 enable_zero
+0x7dba enable_user
+0x7dbc disable_user
+0x7dbe enable_user2
+0x7dc0 disable_user2
+0x7dc2 enable_user7
+0x7dc4 disable_true
+0x7dc6 enable_true
+0x7dc8 disable_blank
+0x7dca enable_blank
+0x7dca set_pdata_0
+0x7dcc cal_sum
+0x7dce cal_sum_loop
+0x7dd2 reverse_byte
+0x7dd8 reverse_loop
+0x7ddd lshift14
+0x7dde rshift2
+0x7de0 lshift6
+0x7de2 clear_wake
+0x7de7 generate_random
+0x7de8 generate_random_loop
Index: format/rom.format
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/format/rom.format	(nonexistent)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/format/rom.format	(working copy)
@@ -0,0 +1,8259 @@
+(//mem_system_clk
+12 SYSTEM_CLK_12M
+24 SYSTEM_CLK_24M
+)
+(//bluetooth tx power
+0x00 TX_POWER_0DB
+0x03 TX_POWER_3DB
+0x05 TX_POWER_5DB
+0x06 TX_POWER_6DB
+0x07 TX_POWER_7DB
+0x0a TX_POWER_10DB
+
+0x83 TX_POWER_F3DB
+0x85 TX_POWER_F5DB
+0x8a TX_POWER_F10DB
+0x94 TX_POWER_F20DB
+0x9e TX_POWER_F30DB
+0x9f TX_POWER_F35DB
+0xa0 TX_POWER_F40DB
+0xa1 TX_POWER_F45DB
+0xa2 TX_POWER_F50DB
+0xa3 TX_POWER_F55DB
+0xa4 TX_POWER_F60DB
+0xaa TX_POWER_FACTORY
+)
+(
+0x01 coffset_mode
+0x02 coffset_tsniff
+0x04 coffset_sniff_anchor
+0x08 coffset_clk_offset
+0x0e coffset_rx_window
+0x10 coffset_plap
+0x16 coffset_conn_handle
+0x17 coffset_arq
+	/* 3.0 only */
+	
+	/* le only */
+0x18 coffset_le_ch
+0x19 coffset_le_hop
+0x1a coffset_le_event_cnt
+0x1c coffset_le_supervision_timer
+0x20 coffset_le_instant
+0x22 coffset_le_channels
+0x23 coffset_le_op
+0x24 coffset_le_access
+0x28 coffset_le_crcinit
+0x2b coffset_le_window_size
+0x2c coffset_le_slave_latency
+0x2e coffset_le_slave_superto
+0x30 coffset_le_channel_map
+0x35 coffset_le_rx_phy
+0x36 coffset_le_tx_phy
+0x37 coffset_le_new_map
+0x37 coffset_le_new_m2s_phy
+0x38 coffset_le_new_s2m_phy
+0x37 coffest_le_new_transmitwindowsize
+0x38 coffest_le_new_transmitwindowoffset
+0x3a coffest_le_new_conninterval
+0x3c coffest_le_new_connslavelatency
+0x3e coffest_le_new_connsupervisiontimeout
+0x40 coffset_le_sk
+0x50 coffset_le_peer_sca
+0x53 coffset_le_transmit_window
+	
+83 context_size
+1 context_num
+)
+(
+0 lpm_flag_wake
+1 lpm_flag_loadcode
+)
+(
+0x0a00 param_snooze_setup_orig
+0x5353 param_snooze_ahead_orig
+
+/* 24Mhz clock setting */
+ifdef CLK24M
+0x1c86 param_tx_setup
+0x0c00 param_rf_setup
+0x0c00 param_conn_access 
+0x1a00 param_rx_setup
+0x0776 param_clke_cal
+0x0a00 param_pll_setup
+4000 param_dpll_start_delay
+7500 param_halfclk
+60084 param_halfclk_neg
+-60084 param_halfclk_neg1
+else
+/* 12Mhz clock setting */
+0x0e43 param_tx_setup
+0x0600 param_rf_setup
+0x0600 param_conn_access 
+0x03bb param_clke_cal
+0x0500 param_pll_setup		// 120 is minimum
+0x0d00 param_rx_setup	// 114us before sync
+2000 param_dpll_start_delay
+3750 param_rt_rthalfslot
+
+480 param_clke_cal_le_1m	//preamble(1B) & access address(4B) time (1+4)*8*1 * 12
+288 	param_clke_cal_le_2m	//preamble(2B) & access address(4B) time (1+4)*8*1 * 12
+282 param_clke_cal_le_coded	//preamble(80us) & access address(256us)-312.5us(0.5slot)
+endif
+
+110 param_lpm_fix
+10 param_lpo_extra
+200 param_lpm_adjmax
+
+-1 param_hibernate_clks
+
+ifdef SIM
+1 param_chgpump_delay_100us
+6 param_chgpump_delay_500us
+12 param_chgpump_delay_1ms
+else
+1000 param_chgpump_delay_100us
+6000 param_chgpump_delay_500us
+12000 param_chgpump_delay_1ms
+endif
+
+
+0x000a04 param_lmp_version
+0x12e9 param_lmp_subversion
+0x0012 param_tisw
+0x0012 param_tpsw
+0x1000 param_tisi
+0x0800 param_tpsi
+39 param_fcomp_div
+2 param_fcomp_mul
+
+)
+(
+0        always        /* always 1 */
+1        true          /* set/rstn by verify,compare,icompare (true) */
+2        positive      /* set/rstn by all alu operations (opcode = 0x03,0x13,0x0f,0x1f), if alu output >= 0 */
+3        timeout       /* read only, the timeout from timers */
+4        init_adpcm
+5        zero          /* set/rstn by all alu operations (opcode = 0x03,0x13,0x0f,0x1f), if alu output == 0 */
+6        crc_failed    /* level, cleared by hop_start */
+7        enable_white  /* outside mux decide whether to load bt_clk or response_X */
+8        enable_parity /* level */
+9        enable_crc    /* level */
+10       enable_hec    /* level */
+11       decode_fec1   /* level */
+12       decode_fec2   /* level */
+13       decode_fec0   /* level */
+14       encrypt       /* level */
+15       crc16       /* for caculate ccitt crc16 */
+16       swfine	/* =0 stop_watch count based on oneslot =1 on 1 clock */
+20       rqst_freq    /* pulse, to start calculating frequency */
+21       recalc        /* pulse, to recalculate the fhs_parity */
+22       init_encrypt  /* pulse, issued to initialize encrption */
+23       mhalfbnd    /* half slot boundary of clke_rt, or when clke_bt[0] toggles */
+24       sync          /* sync found as a result of correlation,set/rstn by correlate opcode */
+25       user10    /* user10 */
+26       kc_p_activate  /* pulse to recalc the kc_p */
+27       encode_fec1   /* level */
+28       encode_fec2   /* level */
+29       encode_fec0   /* level */
+30       packet_end    /* pulse */
+32       is_tx         /* level */
+33       is_rx         /* level */
+34       halfslot     /* pulse, read only, when clkn_bt[0] toggles */
+35       oneslot      /* pulse, read only, when clkn_bt[1] toggles */
+36       mslotbnd     /* pulse, read only, when clke_bt[1] toggles */
+37       expire       /* level, read only, when selected clock source exceed timeup value */
+38       meet         /* level, read only, when selected clock source meet timeup value */
+39       tx_clear     /* level, read only, indicate tx pipe is cleared */
+40       user         /* user0 */
+41       master        /* user1 */
+42       rxon         /* user2 */
+43       wake           /* user3 */
+44       user2        /* user4 */
+45       match         /* user5 */
+46       attempt        /* user6 */
+47       user3          /* user7 */
+48       clknt         /* user8 */
+49	   user7 	/* user9 */
+50       synchronize   /* synchronize lpo and regular version of the clock */
+51       lpo_edge  /* read only, 3 clocks after risling edge of lpo clock */
+52       blank         /* C0 only, means pdata == 0 */
+53       modone          /* set divide operation is done */
+55       aes_ready	/* set when aes is ok */
+56       encode_fec3   /* level */
+57       dewhiten_code_calc   /* dewhiten code calculate */
+58       lr_s2en       /* long range s2 enable */
+60	   ble_coded_info	//1:s2 0:s8
+63       never         /* read only, always 0 */
+)
+default flag = always
+(
+0        mark   /* for keeping strobes, more permanent */
+1        type   /* save and verify during rx */     /* rw */
+2        temp   /* general purpose register, 64 bits */
+3        contu  /* contr uart */
+3	 contru	/*contr uart*/
+3	 contwu	/*contw uart*/
+4        am_addr      /* verify during rx, read and send during tx */ /* ro */
+5        contw        /* last mem_addr during write */
+6        contr        /* last mem_addr during read */
+7        queue    /* the index of qset*,qisolate* commands, ie, if queue = 3, qset/qisolate operate on bit3 */
+8        debug    /* can be wired out for observation */
+9        access   /* the 72 bit access word */
+10       contus   /* contw uart */
+11       timeup        /* when does certain counter expire */
+12       pwindow       /* bit 71-61 of pdata; because on rx, bits shifts in from 71 down */
+13       fhs_parity    /* re-gernated based on bt_adr( {nap,uap,lap} ) when recalc flag is pulsed */
+14       white_init    /* init value of the whitening */
+15       crc24_init        /* init crc24 lfsr, 24 bits */
+16       contue    /* set interrupts, 40 bits */
+17       rega          /* general purpose register, 32 bits */
+18       regb          /* general purpose register, 32 bits */
+19       regc          /* general purpose register, 17 bits */
+20       regab         /* concat of {rega,regb}, thus 64 bits */
+21       radio_ctrl   /* radio i/f direct i/o ctrl, check following "radio_ctrl" section */
+
+23       freq_index   /* 7 bit read only */
+24       regd    /* 32 bit regext[1,0] */
+25       clkn              /* {clkn_bt, clkn_rt} */
+26       clke              /* {clke_bt, clke_rt} */
+27       stop_watch		
+28       fhs_misc   /* SR, SP, pscan mode */
+29       fhs_class  /* class field in fhs */
+30       fhs0   /* read only, bit 0-71 of fhs word */
+31       fhs1   /* read only, bit 72-142 of fhs word */
+32       bt_adr /* r/w, the bt_addr to access gen and freq hopping, contain only lap and uap */
+33       bt_clk /* r/w, the bt_clk for freq hopping */
+34       clkn_bt  /* read only, native bluetooth clock, free running 3.2KHz  or controlled by RTHALFSLOT register */
+35       clkn_rt  /* read only, native realtime clock, free running 12MHz, count from 0-3749, or controlled by RTHALFSLOT register */
+36       freq_mode
+37       xin   /* x parameter, read only */
+38       N_tx_slot /* the N factor in equations for Xi,Xp,Xprm,Xprs */
+39 	   auxcnt
+40       clke_bt  /* r/w,  external bluetooth clock , free running 3.2KHz or controlled by RTHALFSLOT register */
+41       clke_rt  /* r/w,  external realtime clock, , free running 12MHz, count from 0-3749, or controlled by RTHALFSLOT register */
+42       branch_addr	/* last branch address */
+43       rege         /* 64bit regext[3,2] */
+44       lap
+45       uap
+46       nap         
+47       regext		/* r/w extended 12x32bit registers,  indexed by regext_index */
+48       alarm             /* r/w, lpo wake up time, this is also how lpo and current clock keep sync */
+49       lpo_time          /* read only, this is the value to be copied back to clkn/clke after wakeup */
+50       kc_ls             /* secret key,                71: 0 */
+51       kc_ms             /* secret key,               127:72 */
+52       g1l               /* encryption length                */
+53		mask3ff		/* for mask 0x3ff operation */
+54       aes_ctrl		
+55       regf			/* 64bit regext[5,4] */
+56       regext_index   /* index of regext */
+57	     loopcnt
+58      stack			/* current return address */
+59       stack_ptr		/* stack depth */
+61         pc /* direct goto */
+62       null              /* to nowhere */
+63       pdata /* the shift register */
+)
+default reg = pdata
+(
+0 regidx_data
+4 regidx_key
+8 regidx_xor
+12 regidx_result
+)
+(
+0 TXGFSK
+1 PSK
+2 PSK3M
+3 RESET
+)
+(
+0 bucket
+1 rxf
+2 back
+3 mod
+)
+default dest = bucket
+(
+1 txf
+3 demod
+)
+default source = 0
+(
+5  mark_loopback
+9  mark_context
+13 mark_lpm_mult_enable
+14 mark_usb_first_resp
+15 mark_old_packet
+35 mark_isstr
+36 mark_loadcode
+37 mark_ext_patch
+38 mark_24g
+39 mark_24g_rxmode
+40 mark_eeprom_size
+41 mark_ble_tx_md
+42 mark_ble_rx_md
+43 mark_otp_encrypt
+44 mark_temp
+45 mark_ble_2M
+46 mark_ble_lr_s8
+47 mark_ble_lr
+48 mark_ble_crc_fail
+50 mark_ble_encryption
+51 mark_first_packet
+)
+(
+1 reload_type_otp
+2 reload_type_spi
+3 reload_type_iic
+)
+(
+0 le_adv_interval_timer
+2 le_scan_interval_timer
+9 key_scan_timer
+7 smp_pairing_timer
+11  ui_led_blink  
+
+8 G24_TIMER_NODATA
+13 G24_TIMER_MS_BLANK
+12 G24_TIMER_KB_MUL_BLANK
+10 G24_TIMER_KB_SYS_CRTL_BLANK
+14 G24_TIMER_KB_BLANK
+
+1 USB_TIMER_NAK
+15 USB_TIMER_WAKEUP
+)
+(
+
+27 hci_cmd_le_create_conn
+29 hci_cmd_le_disconn
+30 hci_cmd_le_att_req
+)
+(
+0 mode_le
+1 mode_master
+)
+(
+0 state_inconn
+1 state_insniff
+)
+(
+3 op_disconn
+)
+(
+0 wake_lock_ble_rx
+1 wake_lock_ble_tx
+
+3 wake_lock_key_press
+4 wake_lock_ble_tx_patch
+5 wake_lock_uart_tx
+6 wake_lock_uart_rx
+7 wake_lock_button
+8 wake_lock_cmd
+9 wake_lock_app
+12 wake_lock_l2cap_tx
+13 wake_lock_l2cap_rx
+14 wake_lock_ipc_c512bt
+15 wake_lock_ipc_bt2c51
+
+)
+(//mem_fcomp_div
+0x18 XTAL_24M
+0x10 XTAL_16M
+)
+( //verion
+6 BLUETOOTH_CORE_SPECIFICATION_4_0
+7 BLUETOOTH_CORE_SPECIFICATION_4_1
+8 BLUETOOTH_CORE_SPECIFICATION_4_2
+9 BLUETOOTH_CORE_SPECIFICATION_5_0
+10 BLUETOOTH_CORE_SPECIFICATION_5_1
+)
+(
+0x050e COMPANY_ID_YICHIP
+)
+(
+0x33  REC_3_MODE
+0x34  REC_4_MODE
+0x35  REC_4_MODE_STATIC_ADDRESS
+0x36  REC_4_MODE_RANDOM_RESOLVABLE_PRIVATE_ADDRESS
+0x37  REC_4_MODE_RANDOM_NON_RESOLVABLE_PRIVATE_ADDRESS
+)
+(
+0 bt_disabled
+1 ble_disabled
+2 module_disable
+)
+(//mem_le_T_IFS
+150 PARAM_T_IFS_150US
+20000 PARAM_20MS_INIT
+-11 PARAM_SYNC_TIME_DIFFERENCE
+40 PARAM_CODED_C1_TERM1_TIME_40US
+1666 PARAM_WINDOWN_SIZE
+//T_IFS = 150-modem(CRC time)
+15000 param_sifs
+)
+(
+0 DEFAULT_STATES
+1 IPHONE_LOST_LTK
+2 MODULE_LOST_LTK
+3 LTK_NOT_LOST
+)
+	(    
+	0x01 ERROR_UNKNOWN_HCI_COMMAND
+	0x02 ERROR_NO_CONNECTION
+	0x03 ERROR_HARDWARE_FAILURE
+	0x04 ERROR_PAGE_TIMEOUT
+	0x05 ERROR_AUTHENTICATION_FAILURE
+	0x06 ERROR_KEY_MISSING
+	0x07 ERROR_MEMORY_FULL
+	0x08 ERROR_CONNECTION_TIMEOUT
+	0x09 ERROR_MAX_CONNECTIONS
+	0x0A ERROR_MAX_SCO_CONNECTIONS
+	0x0B ERROR_MAX_ACL_CONNECTIONS
+	0x0C ERROR_COMMAND_DISALLOWED
+	0x0D ERROR_HOST_REJECT_LIMITED_RESOURCES
+	0x0E ERROR_HOST_REJECT_SECURITY_REASONS
+	0x0F ERROR_HOST_REJECT_REMOTE_IS_ONLY_PERSONAL
+	0x10 ERROR_HOST_TIMEOUT
+	0x11 ERROR_UNSUPPORTED_FEATURE_OR_PARAMETER_VALUE
+	0x12 ERROR_INVALID_HCI_COMMAND_PARAMETERS
+	0x13 ERROR_REMOTE_USER_TERMINATED_CONNECTION
+	0x14 ERROR_REMOTE_LOW_RESOURCES
+	0x15 ERROR_REMOTE_POWERING_OFF
+	0x16 ERROR_CONNECTION_TERMINATED_BY_LOCAL_HOST
+	0x17 ERROR_REPEATED_ATTEMPTS
+	0x18 ERROR_PAIRING_NOT_ALLOWED
+	0x19 ERROR_UNKNOWN_LMP_PDU
+	0x1A ERROR_UNSUPPORTED_REMOTE_FEATURE
+	0x1B ERROR_SCO_OFFSET_REJECTED
+	0x1C ERROR_SCO_INTERVAL_REJECTED
+	0x1D ERROR_SCO_AIR_MODE_REJECTED
+	0x1E ERROR_INVALID_LMP_PARAMETER
+	0x1F ERROR_UNSPECIFIED_ERROR
+	0x20 ERROR_UNSUPPORTED_LMP_PARAMETER_VALUE
+	0x21 ERROR_ROLE_CHANGE_NOT_ALLOWD
+	0x22 ERROR_LMP_RESPONSE_TIMEOUT
+	0x23 ERROR_ERROR_TRANSACTION_COLLISION
+	0x24 ERROR_LMP_PDU_NOT_ALLOWED
+	0x25 ERROR_ENCRYPTION_MODE_NOT_ACCEPTABLE
+	0x26 ERROR_UNIT_KEY_USED
+	0x27 ERROR_QOS_NOT_SUPPORTED
+	0x28 ERROR_INSTANT_PASSED
+	0x29 ERROR_PAIRING_W_UNIT_KEY_NOT_SUPPORTED
+	0x2a ERROR_DIFFERENT_TRANSACTION_COLLISION
+	0x2c ERROR_QOS_UNACCEPTABLE_PARAMETER
+	0x2d ERROR_QOS_REJECTED
+	0x2e ERROR_CHANNEL_CLASSIFICATION_NOT_SUPPORTED
+	0x2f ERROR_INSUFFICIENT_SECURITY
+	0x30 ERROR_PARAMETER_OUT_OF_MANDATORY_PANGE
+	0x32 ERROR_ROLE_SWITCH_PENDING
+	0x34 ERROR_RESERVED_SLOT_VIOLATION
+	0x35 ERROR_ROLE_SWITCH_FAILED
+	0x36 ERROR_EXTENDED_INQUIRY_RESPONSE_TOO_LARGE
+	0x37 ERROR_SIMPLE_PAIRING_NOT_SUPPORTED_BY_HOST
+	0x38 ERROR_HOST_BUSY_PAIRING
+	0x3d ERROR_MIC_FAILURE
+	)
+	(
+	0X20 SPACE	
+	)
+	(
+	0x0004 LE_L2CAP_CID_ATT
+	0x0005 LE_L2CAP_CID_SIGNAL
+	0x0006 LE_L2CAP_CID_SMP
+	)
+	(
+	0 LE_ADDR_TYPE_PUBLIC
+	1 LE_ADDR_TYPE_RANDOM
+	)
+	(
+	7 LE_RECEIVER_ADDR_BIT
+	6 LE_SENDER_ADDR_BIT
+	)
+	(
+	0x00 LE_SCAN_TYPE_PASSIVE //no SCAN_REQ shall be sent
+	0x01 LE_SCAN_TYPE_ACTIVE
+	)
+	(
+	0x00 LE_SCAN_DISABLE
+	0x01 LE_SCAN_ENABLE
+	0x0101 LE_ACTIVE_SCAN_ENABLE
+	)
+	(
+	0x01 UUID_SIZE_16BIT
+	0x02 UUID_SIZE_128BIT
+	)
+(
+3 lestate_got_first_packet
+4 lestate_encryption
+5 lestate_update_param
+6 lestate_update_map
+7 lestate_update_phy
+)
+(
+0 lemode_idle
+1 lemode_slave
+3 lemode_master
+5 lemode_2m
+6 lemode_lr
+7 lemode_lr_s8
+
+0x20 mode_2m
+0x40 mode_lr_s2
+0xc0 mode_lr_s8
+
+)
+(
+0 llid0
+1 llid1
+2 nesn
+3 sn
+4 md
+5 wak
+6 txdat
+)
+(
+0x00 LLID_RESERVED
+0x01 LLID_CONTINUE
+0x02 LLID_START
+0x03 LLID_LE_LL
+0x01 LLID_EMPTY
+)
+(
+4 LE_TX_BUFF_COUNT
+3 LE_TX_BUFF_UPDATE_LOOPCNT //LE_TX_BUFF_COUNT-1
+
+12 LE_MD_MAX_COUNT
+)
+(
+0 LE_INITATOR_LTK_BIT
+1 LE_INITATOR_IRK_BIT
+2 LE_INITATOR_CSRK_BIT
+)
+(
+0  LE_FIND_BY_TYPE_VAL_RES_NOT_FOUND
+1  LE_FIND_BY_TYPE_VAL_RES_FOUND_STARTING_HANDLE
+2  LE_FIND_BY_TYPE_VAL_RES_FOUND_ENDING_HANDLE
+
+)
+(
+0 MASTER_PUBLIC_ADDR
+1 MASTER_RANDOM_ADDR
+)
+(
+0x06 LE_ERR_PIN_OR_KEY_MISSING
+)
+(
+39 LE_CCM_DIRECTIONBIT
+)
+(
+36 BR_CCM_0_LENGTH_CONTINUATION
+37 BR_CCM_DIRECTIONBIT
+)
+(
+96000 TIMER_SMP_PAIRING_TIMEOUT //30S
+)
+(
+0 FLAG_LE_ENC_NULL
+1 FLAG_LE_RCV_ENC_START
+2 FLAG_LE_ENC_PAUSE
+3 FLAG_LE_RCV_START_ENC_RSP
+4 FLAG_LE_SEND_START_ENC_RSP
+5 FLAG_LE_SEND_START_ENC_REQ
+0xff FLAG_LE_ENC_END
+)
+(//mem_le_configuration
+//bit0:use fixed key , ble passkey pairing
+0 BIT_BLE_PASSKEY_FIXED_KEY
+//bit1:ble pairing use fixed long term key
+1 BIT_BLE_PAIRING_FIXED_LTK
+//bit2:ble transmit packet will set more data flag
+2 BIT_BLE_TRANSMIT_PACKET_BY_MD
+//bit3:master read handle, with requires an authenticated link
+3 BIT_BLE_READ_AUTH
+//bit4:master write handle, with requires an authenticated link
+4 BIT_BLE_WRITE_AUTH
+//bit5:cannot enter long sleep
+5 BIT_BLE_SHORT_MULT
+//bit6:DEAL baseband packet
+6 BIT_BLE_DEAL_BB_PACKET
+)
+(
+0x01	GAP_ADTYPE_FLAGS
+0x02	GAP_ADTYPE_16BIT_MORE
+0x03	GAP_ADTYPE_16BIT_COMPLETE
+0x04	GAP_ADTYPE_32BIT_MORE
+0x05	GAP_ADTYPE_32BIT_COMPLETE
+0x06	GAP_ADTYPE_128BIT_MORE
+0x07	GAP_ADTYPE_128BIT_COMPLETE
+0x08	GAP_ADTYPE_LOCAL_NAME_SHORT
+0x09	GAP_ADTYPE_LOCAL_NAME_COMPLETE
+0x0a	GAP_ADTYPE_POWER_LEVEL
+0x16	GAP_ADTYPE_SERVICE_DATA
+0x2a	GAP_ADTYPE_MESH_MESSAGE
+0x2b 	GAP_ADTYPE_MESH_BEACON
+0xff	GAP_ADTYPE_MANUFACTURER_SPECIFIC
+)
+(
+0 ADV_IND
+1 ADV_DIRECT_IND
+2 ADV_NONCONN_IND
+3 SCAN_REQ
+3 AUX_SCAN_REQ
+4 SCAN_RSP
+5 CONNECT_REQ
+5 AUX_CONNECT_REQ
+6 ADV_SCAN_IND
+)
+(
+0 BIT_ADV_CHANNEL_MAP_37
+1 BIT_ADV_CHANNEL_MAP_38
+2 BIT_ADV_CHANNEL_MAP_39
+)
+(
+0xa0 param_le_sca
+)
+(//bit of mem_le_l2cap_att_states
+0 BLE_L2CAP_SEND_INDICATION_PACKET
+0 BLE_L2CAP_RECV_CONFIRMATION_PACKET
+1 BLE_L2CAP_DEAL_WITH_CONTINUE_PACKET
+)
+(//bit map of att handle
+14 BIT_OF_ATT_HANDLE_READ_AUTHENTICATED
+15 BIT_OF_ATT_HANDLE_WRITE_AUTHENTICATED
+)
+(
+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
+)
+(
+0x01 ATTOP_ERROR_RESPONSE
+0x02 ATTOP_EXCHANGE_MTU_REQUEST
+0x03 ATTOP_EXCHANGE_MTU_RESPONSE
+0x04 ATTOP_FIND_INFORMATION_REQUEST
+0x05 ATTOP_FIND_INFORMATION_RESPONSE
+0x06 ATTOP_FIND_BY_TYPE_VALUE_REQUEST
+0x07 ATTOP_FIND_BY_TYPE_VALUE_RESPONSE
+0x08 ATTOP_READ_BY_TYPE_REQUEST
+0x09 ATTOP_READ_BY_TYPE_RESPONSE
+0x0A ATTOP_READ_REQUEST
+0x0B ATTOP_READ_RESPONSE
+0x0C ATTOP_READ_BLOB_REQUEST
+0x0D ATTOP_READ_BLOB_RESPONSE
+0x0E ATTOP_READ_MULTIPLE_REQUEST
+0x0F ATTOP_READ_MULTIPLE_RESPONSE
+0x10 ATTOP_READ_BY_GROUP_TYPE_REQUEST
+0x11 ATTOP_READ_BY_GROUP_TYPE_RESPONSE
+0x12 ATTOP_WRITE_REQUEST
+0x13 ATTOP_WRITE_RESPONSE
+0x16 ATTOP_PREPARE_WRITE_REQUEST
+0x17 ATTOP_PREPARE_WRITE_RESPONSE
+0x18 ATTOP_EXECUTE_WRITE_REQUEST
+0x19 ATTOP_EXECUTE_WRITE_RESPONSE
+0x1B ATTOP_HANDLE_VALUE_NOTIFICATION
+0x1D ATTOP_HANDLE_VALUE_INDICATION
+0x1E ATTOP_HANDLE_VALUE_CONFIRMATION
+0x52 ATTOP_WRITE_COMMAND
+0xD2 ATTOP_SIGNED_WRITE_COMMAND
+0x1f ATTOP_CONTINUE
+0x9e EMPTY_LE_DATA_PRE
+0x9f EMPTY_LE_DATA
+)
+(
+0x01 ATT_ERR_INVALID_HANDLE
+0x02 ATT_ERR_READ_NOT_PERMITTED
+0x03 ATT_ERR_WRITE_NOT_PERMITTED
+0x04 ATT_ERR_INVALID_PDU
+0x05 ATT_ERR_INSUFFICIENT_AUTHENTICATION
+0x06 ATT_ERR_REQUEST_NOT_SUPPORTED
+0x07 ATT_ERR_INVALID_OFFSET
+0x08 ATT_ERR_INSUFFICIENT_AUTHORIZATION
+0x09 ATT_ERR_PREPARE_QUEUE_FULL
+0x0A ATT_ERR_ATTRIBUTE_NOT_FOUND
+0x0B ATT_ERR_ATTRIBUTE_NOT_LONG
+0x0C ATT_ERR_INSUFFICIENT_ENCRYPTION_KEY_SIZE
+0x0D ATT_ERR_INVALID_ATTRIBUTE_VALUE_LENGTH
+0x0E ATT_ERR_UNLIKELY_ERROR
+0x0F ATT_ERR_INSUFFICIENT_ENCRYPTION
+0x10 ATT_ERR_UNSUPPORTED_GROUP_TYPE
+0x11 ATT_ERR_INSUFFICIENT_RESOURCES
+)
+(
+0X2900 CHARACTERTIC_EXTENDED_PROPERTIES
+0X2901 CHARACTERTIC_USER_DESCRIPTION
+0X2902 CLIENT_CHARACTERTIC_CONFIGURATION
+0X2903 SERVER_CHARACTERTIC_CONFIGURATION
+0X2904 CHARACTERTIC_PRESENTATION_FORMAT
+0X2905 CHARACTERTIC_AGGREGATE
+0X2906 VALID_RANGE
+0X2907 EXTERNAL_REPORT_REFERENCE
+0X2908 REPORT_REFERENCE
+0X290B ENVIR_SENSING_CONFIGURATION
+0X290C ENVIR_SENSING_MEASUREMENT
+0X290D ENVIR_SENSING_TRIGGER_SETTING
+)
+(
+0x1800 UUID_SERVICE_GENERIC_ACC
+0x1801 UUID_SERVICE_GENERIC_ATT
+0x180a UUID_SERVICE_DEVICE_INFO
+0x180f UUID_SERVICE_BATTERY
+0x1812 UUID_SERVICE_HIDS
+0x2800 UUID_GATT_PRIMARY_SERVICE
+0x2801 UUID_GATT_SECONDARY_SERVICE
+0X2802 UUID_GATT_INCLUDE
+0X2803 UUID_GATT_CHARACTERISTIC
+0X2A00 UUID_CHRCTR_DEVICE_NAME
+0X2A19 UUID_CHRCTR_BATTERY_LEVEL
+0X2A22 UUID_CHRCTR_KEYBOARD_INPUT
+0X2A23 UUID_CHRCTR_SYSTEM_ID 
+0X2A25 UUID_CHRCTR_SERIAL_NUMBER
+0X2A26 UUID_CHRCTR_FIRMWARE
+0X2A32 UUID_CHRCTR_KEYBOARD_OUTPUT
+0X2A33 UUID_CHRCTR_MOUSE_INPUT
+0X2A4A UUID_CHRCTR_HID_INFO
+0X2A4B UUID_CHRCTR_REPORT_MAP
+0X2A4C UUID_CHRCTR_HID_CTRL_POINT
+0X2A4D UUID_CHRCTR_REPORT
+0X2A4E UUID_CHRCTR_PROTOCOL_MODE
+)
+(
+23 ATT_DEFAULT_MTU 
+)
+(
+0x12 L2CAP_CONNECTION_PARAMETER_UPDATE_REQUEST
+0x13 L2CAP_CONNECTION_PARAMETER_UPDATE_RESPONSE
+)
+(
+0x0000 BLE_SIGNALING_CONNECT_PARAMETER_UPDATE_ACCEPTED
+0x0001 BLE_SIGNALING_CONNECT_PARAMETER_UPDATE_REJECTED
+)
+(
+0x00 LE_PAIRING_MODE_NONE
+0x01 LE_PAIRING_MODE_LAGACY_JUSTWORK
+0x02 LE_PAIRING_MODE_LAGACY_PASSKEY
+0x04 LE_PAIRING_MODE_LAGACY_PASSKEY_RES_INPUT
+0x81 LE_PAIRING_MODE_SECURE_CONNECT_JUSTWORK
+0x82 LE_PAIRING_MODE_SECURE_CONNECT_NUMERIC
+0x83 LE_PAIRING_MODE_SECURE_CONNECT_PASSKEY
+0x84 LE_PAIRING_MODE_SECURE_CONNECT_PASSKEY_RES_INPUT
+
+7 LE_PAIRING_MODE_SECURE_CONNECT_BIT
+)
+(
+0 FLAG_IOCAP_DISPLAYONLY
+1 FLAG_IOCAP_DISPLAYYESNO
+2 FLAG_IOCAP_KEYBOARDONLY
+3 FLAG_IOCAP_NOINPUTNOOUTPUT
+4 FLAG_IOCAP_KEYBOARDDISPLAY
+
+0x00 FLAG_OOB_DATA_FLAG_NO
+)
+(
+0x00 FLAG_LE_NO_BONDING_NO_MITM
+0x01 FLAG_LE_BONDING_NO_MITM
+0x04 FLAG_LE_NO_BONDING_MITM
+0x05 FLAG_LE_BONDING_MITM
+0x09 FLAG_LE_BONDING_NO_MITM_SECURE
+0x0D FLAG_LE_BONDING_MITM_SECURE
+
+2 LE_AUTH_MITM_BIT
+3 LE_AUTH_SECURE_CONNECTION_PAIRING_BIT
+)
+(
+0 FLAG_LE_PAIRING_NULL
+1 FLAG_LE_PAIRING_START
+2 FLAG_LE_PAIRING_SEND_RECURITY_REQ
+3 FLAG_LE_PAIRING_RCV_PAIRING_REQ
+4 FLAG_LE_PAIRING_WAIT_STK_GENERATION
+5 FLAG_LE_PAIRING_RECEIVE_PAIRING_CONFIRM
+6 FLAG_LE_PAIRING_SEND_PAIRING_CONFIRM
+7 FLAG_LE_PAIRING_RECEIVE_PAIRING_RANDOM
+8 FLAG_LE_PAIRING_SEND_PAIRING_RANDOM
+9 FLAG_LE_PAIRING_AFTER_AUTH
+10 FLAG_LE_PAIRING_SEND_START_ENC_RSP
+11 FLAG_LE_PARING_SEND_ENC_INFORMATION
+12 FLAG_LE_PARING_SEND_MASTER_IDENTIFICATION 
+13 FLAG_LE_PARING_SEND_INDENTITY_INFORMATION
+0xff FLAG_LE_PAIRING_END
+)
+(
+0x01 SMP_PAIRING_REQUEST
+0x02 SMP_PAIRING_RESPONSE
+0x03 SMP_PAIRING_CONFIRM
+0x04 SMP_PAIRING_RANDOM
+0x05 SMP_PAIRING_FAILED
+0x06 SMP_ENCRYPTION_INFORMATION
+0x07 SMP_MASTER_IDENTIFICATION
+0x08 SMP_IDENTITY_INFORMATION
+0x09 SMP_IDENTITY_ADDRESS_INFORMATION
+0x0A SMP_SIGNING_INFORMATION
+0x0B SMP_SECURITY_REQUEST
+0x0c SMP_PAIRING_PUBLIC_KEY
+0x0d SMP_PAIRING_DHKEY_CHECK
+)
+(// pairing failed reason
+0x00 PAIRING_FAILED_RESERVED
+0X01 PAIRING_FAILED_PASSKEY_ENTRY_FAILED
+0X02 PAIRING_FAILED_OOB_NOT_AVAILABLE
+0X03 PAIRING_FAILED_AUTHENTICATION_REQUIRE
+0X04 PAIRING_FAILED_CONFIRM_VALUE_FAILED
+0X05 PAIRING_FAILED_PAIRING_NOT_SUPPORTED
+0X06 PAIRING_FAILED_ENCRYPTION_KEY_SIZE
+0X07 PAIRING_FAILED_COMMAND_NOT_SUPPORTED
+0X08 PAIRING_FAILED_UNSPECIFIED_REASON
+0X09 PAIRING_FAILED_REPEATED_ATTEMPTS
+0X0A PAIRING_FAILED_INVALID_PARAMETERS
+0X0B PAIRING_FAILED_DHKEY_CHECK_FAILED
+0X0C PAIRING_FAILED_NUMERIC_COMPARISON_FAILED
+0X0D PAIRING_FAILED_BR_EDR_PAIRING_IN_PROGRESS
+0X0E PAIRING_FAILED_KEY_DERIVATION_GENERATION_NOT_ALLOWED
+)
+(
+0x00 LE_SC_STAT_NULL
+0x01 LE_SC_STAT_RECEIVE_PUBLIC_KEY
+0x02 LE_SC_STAT_WAIT_SEND_PUBLIC_KEY
+0x03 LE_SC_STAT_SEND_PUBLIC_KEY
+0x04 LE_SC_STAT_RECEIVE_RANDOM
+0x05 LE_SC_STAT_SEND_RANDOM
+0x06 LE_SC_STAT_RECEIVE_DHKEY
+0x07 LE_SC_STAT_WAIT_CONFIRM_GKEY
+0x08 LE_SC_STAT_PASSKEY_WAIT_CONFIRM
+)
+(
+0 FLAG_LE_SC_CONFRIM_NULL
+1 FLAG_LE_SC_CONFRIM_GKEY_OK
+)
+(
+0x00 LL_CONNECTION_UPDATE_IND
+0x01 LL_CHANNEL_MAP_IND
+0x02 LL_TERMINATE_IND
+0x03 LL_ENC_REQ
+0x04 LL_ENC_RSP
+0x05 LL_START_ENC_REQ
+0x06 LL_START_ENC_RSP
+0x07 LL_UNKNOWN_RSP
+0x08 LL_FEATURE_REQ
+0x09 LL_FEATURE_RSP
+0x0A LL_PAUSE_ENC_REQ
+0x0B LL_PAUSE_ENC_RSP
+0x0C LL_VERSION_IND
+0x0D LL_REJECT_IND
+0x0E LL_SLAVE_FEATURE_REQ
+0x0F LL_CONNECTION_PARAM_REQ
+0x10 LL_CONNECTION_PARAM_RSP
+0x11 LL_REJECT_IND_EXT
+0x12 LL_PING_REQ
+0x13 LL_PING_RSP
+0x14 LL_LENGTH_REQ
+0x15 LL_LENGTH_RSP
+0x16 LL_PHY_REQ
+0x17 LL_PHY_RSP
+0x18 LL_PHY_UPDATE_IND
+0x19 LL_MIN_USED_CHANNELS_IND
+0x1A LL_CTE_REQ
+0x1B LL_CTE_RSP
+0x1C LL_PERIODIC_SYNC_IND
+0x1D LL_CLOCK_ACCURACY_REQ
+0x1E LL_CLOCK_ACCURACY_RSP
+0x1F LL_CIS_REQ
+0x20 LL_CIS_RSP
+0x21 LL_CIS_IND
+0x22 LL_CIS_TERMINATE_IND
+0x23 LL_POWER_CONTROL_REQ
+0x24 LL_POWER_CONTROL_RSP
+0x25 LL_POWER_CHANGE_IND
+)
+(//bit map of mem_le_ll_feature
+//LL_FEATURE_REQ
+0 BIT_LL_FEATURE_LE_ENCRYPTION
+1 BIT_LL_FEATURE_CONNECTION_PARAMETERS_REQUEST_PROCEDURE
+2 BIT_LL_FEATURE_EXTENDED_REJECT_INDICATION
+3 BIT_LL_FEATURE_SLAVE_INITIATED_FEATURES_EXCHANGE
+4 BIT_LL_FEATURE_LE_PING
+5 BIT_LL_FEATURE_LE_DATA_PACKET_LENGTH_EXTENSION
+6 BIT_LL_FEATURE_LL_PRIVACY
+7 BIT_LL_FEATURE_EXTENDED_SCANNER_FILTER_POLICIES
+8 BIT_LL_FEATURE_LE_2M_PHY
+9 BIT_LL_FEATURE_STABLE_MODULATION_INDEX_TRANSMITTER
+10 BIT_LL_FEATURE_STABLE_MODULATION_INDEX_RECEIVER
+11 BIT_LL_FEATURE_LE_CODED_PHY
+12 BIT_LL_FEATURE_LE_EXTENDED_ADVERTISING
+13 BIT_LL_FEATURE_LE_PERIODIC_ADVERTISING
+14 BIT_LL_FEATURE_CHANNEL_SELECTION_ALGORITHM
+15 BIT_LL_FEATURE_LE_POWER_CLASS_1
+16 BIT_LL_FEATURE_MINIMUM_NUMBER_OF_USED_CHANNELS_PROCEDURE
+)
+(//function map of mem_le_ll_feature
+//LL_FEATURE_REQ
+0x1 FUN_LL_FEATURE_LE_ENCRYPTION
+0x2 FUN_LL_FEATURE_CONNECTION_PARAMETERS_REQUEST_PROCEDURE
+0x4 FUN_LL_FEATURE_EXTENDED_REJECT_INDICATION
+0x8 FUN_LL_FEATURE_SLAVE_INITIATED_FEATURES_EXCHANGE
+0x10 FUN_LL_FEATURE_LE_PING
+0x20 FUN_LL_FEATURE_LE_DATA_PACKET_LENGTH_EXTENSION
+0x40 FUN_LL_FEATURE_LL_PRIVACY
+0x80 FUN_LL_FEATURE_EXTENDED_SCANNER_FILTER_POLICIES
+0x100 FUN_LL_FEATURE_LE_2M_PHY
+0x200 FUN_LL_FEATURE_STABLE_MODULATION_INDEX_TRANSMITTER
+0x400 FUN_LL_FEATURE_STABLE_MODULATION_INDEX_RECEIVER
+0x800 FUN_LL_FEATURE_LE_CODED_PHY
+0x1000 FUN_LL_FEATURE_LE_EXTENDED_ADVERTISING
+0x2000 FUN_LL_FEATURE_LE_PERIODIC_ADVERTISING
+0x4000 FUN_LL_FEATURE_CHANNEL_SELECTION_ALGORITHM
+0x8000 FUN_LL_FEATURE_LE_POWER_CLASS_1
+0x10000 FUN_LL_FEATURE_MINIMUM_NUMBER_OF_USED_CHANNELS_PROCEDURE
+)
+(//bit of mem_le_tx_phys and mem_le_rx_phys
+0x00 BIT_LE_1M_PHY
+0x01 BIT_LE_2M_PHY
+0x02 BIT_LE_CODED_PHY
+
+0x02 BIT_LE_CODED_PHY_S2
+0x07 BIT_LE_CODED_PHY_S8
+)
+(//map of mem_le_tx_phys and mem_le_rx_phys
+0x01 FUN_TX_LL_1M_PHY
+0x02 FUN_TX_LL_2M_PHY
+0x04 FUN_TX_LL_CODED_PHY
+
+0x01 FUN_RX_LL_1M_PHY
+0x02 FUN_RX_LL_2M_PHY
+0x04 FUN_RX_LL_CODED_PHY
+)
+(//mem_24g_data_type
+1 TYPE_MS
+2 TYPE_KB
+0x07 bits_data
+//0-2 data type
+3 bit_abort
+4 bit_hop
+5 bit_sync
+//6-7 channel offset
+)
+(
+0 ERR_NULL
+1 ERR_SYNC_TO
+2 ERR_HEC
+3 ERR_LR_LEN
+4 ERR_TYPE
+5 ERR_LEN_OVER
+6 ERR_CRC
+)
+(//mem_24g_pair_sm
+0 STATE_24G_PAIRING_NULL
+1 STATE_24G_PAIRING_1
+2 STATE_24G_PAIRING_2
+3 STATE_24G_PAIRING_3
+4 STATE_24G_PAIRING_4
+0X11 STATE_24G_PAIRING_1_WAITING_ACK
+0X12 STATE_24G_PAIRING_2_WAITING_ACK
+0X13 STATE_24G_PAIRING_3_WAITING_ACK
+0X14 STATE_24G_PAIRING_4_WAITING_ACK
+0XFF STATE_24G_PAIRING_SUCCESS
+)
+(
+0x01 DATATYPE_DEVICE1	//mouse
+0x02 DATATYPE_DEVICE2	//keyboard
+0xaa DATATYPE_BIND		//bind step 1
+0x55 DATATYPE_CONFIG	//bind step 2
+0x22 DATATYPE_OK		//bind step 3
+0xff DATATYPE_ATTEMP	//reconn
+)
+(
+5 BIND_MODE_CONTINUE
+)
+(
+0 bit_ack_24g
+)
+(//mem_24g_reconn_type
+0 DEFAULT_24G_DEVICE
+1 FAST_CONN_AND_RECEIVER
+2 FAST_CONN_AND_3_0_ADDR
+3 RECEIVER_AND_3_0_ADDR
+4 PAIR_AND_3_0_ADDR
+)
+(
+0x50 RSSI_THRESH_NOISE
+)
+(
+1 NO_ACK_24G
+0 WITH_ACK_24G
+)
+(//mem_24g_conn_sm
+0 STATE_24G_STOP
+0 STATE_24G_START
+1 STATE_24G_PAIR
+2 STATE_24G_RECONN
+)
+(//mem_24g_transmit_by_interrupt
+1 G24_TX_TIMER_INT_ENABLE
+0 G24_TX_TIMER_INT_DISABLE
+)
+(
+1 OFFSET_DATA_TYPE
+2 OFFSET_LR_DATA_TYPE
+)
+(
+0x017700 G24_LONG_SLEEP_STEP1	//8ms
+0x36ee80 G24_LONG_SLEEP_STEP2	//300ms
+0x124f80 G24_LONG_SLEEP_STEP3	//100ms
+63500 G24_8MS_INTERVAL_PARAM		//8ms
+12210 G24_4MS_INTERVAL_PARAM
+)
+(
+50 POWER_CTRL_DECRS_THRESHOLD
+)
+(//status codes
+0 STATUS_CODE_SUCCESS
+)
+(
+0xD0 VENDOR_MESSAGE_ATTR_GET
+0xD1 VENDOR_MESSAGE_ATTR_SET
+0xD2 VENDOR_MESSAGE_ATTR_SET_UNACKNOWLEDGED
+0xD3 VENDOR_MESSAGE_ATTR_STATUS
+0xD4 VENDOR_MESSAGE_ATTR_INDICATION
+0xD5 VENDOR_MESSAGE_ATTR_CONFIRMATION
+0xCF VENDOR_MESSAGE_TRANSPARENT_MSG
+)
+(//configuration message and health message opcode
+0x80 MESH_CONFIGURATION_AND_HEALTH_MESSAGE_OPCODE_HEADER
+
+0x00 MESH_MESSAGE_OPCODE_CONFIG_APPKEY_ADD
+0x01 MESH_MESSAGE_OPCODE_CONFIG_APPKEY_UPDATE
+0x02 MESH_MESSAGE_OPCODE_CONFIG_COMPOSITION_DATA_STATUS
+0x03 MESH_MESSAGE_OPCODE_CONFIG_CONFIG_MODEL_PUBLICATION_SET
+0x04 MESH_MESSAGE_OPCODE_HEALTH_CURRENT_STATUS
+0x05 MESH_MESSAGE_OPCODE_HEALTH_FAULT_STATUS
+0x06 MESH_MESSAGE_OPCODE_CONFIG_HEARTBEAT_PUBLICATION_STATUS
+0x00 MESH_MESSAGE_OPCODE_CONFIG_APPKEY_DELETE_NO_HEAD
+0x01 MESH_MESSAGE_OPCODE_CONFIG_APPKEY_GET_NO_HEAD
+0x02 MESH_MESSAGE_OPCODE_CONFIG_APPKEY_LIST_NO_HEAD
+0x03 MESH_MESSAGE_OPCODE_CONFIG_APPKEY_STATUS_NO_HEAD
+0x04 MESH_MESSAGE_OPCODE_HEALTH_ATTENTION_GET_NO_HEAD
+0x05 MESH_MESSAGE_OPCODE_HEALTH_ATTENTION_SET_NO_HEAD
+0x06 MESH_MESSAGE_OPCODE_HEALTH_ATTENTION_SET_UNACKNOWLEDGED_NO_HEAD
+0x07 MESH_MESSAGE_OPCODE_HEALTH_ATTENTION_STATUS_NO_HEAD
+0x08 MESH_MESSAGE_OPCODE_CONFIG_COMPOSITION_DATA_GET_NO_HEAD
+0x09 MESH_MESSAGE_OPCODE_CONFIG_BEACON_GET_NO_HEAD
+0x0A MESH_MESSAGE_OPCODE_CONFIG_BEACON_SET_NO_HEAD
+0x0B MESH_MESSAGE_OPCODE_CONFIG_BEACON_STATUS_NO_HEAD
+0x0C MESH_MESSAGE_OPCODE_CONFIG_DEFAULT_TTL_GET_NO_HEAD
+0x0D MESH_MESSAGE_OPCODE_CONFIG_DEFAULT_TTL_SET_NO_HEAD
+0x0E MESH_MESSAGE_OPCODE_CONFIG_DEFAULT_TTL_STATUS_NO_HEAD
+0x0F MESH_MESSAGE_OPCODE_CONFIG_FRIEND_GET_NO_HEAD
+0x10 MESH_MESSAGE_OPCODE_CONFIG_FRIEND_SET_NO_HEAD
+0x11 MESH_MESSAGE_OPCODE_CONFIG_FRIEND_STATUS_NO_HEAD
+0x12 MESH_MESSAGE_OPCODE_CONFIG_GATT_PROXY_GET_NO_HEAD
+0x13 MESH_MESSAGE_OPCODE_CONFIG_GATT_PROXY_SET_NO_HEAD
+0x14 MESH_MESSAGE_OPCODE_CONFIG_GATT_PROXY_STATUS_NO_HEAD
+0x15 MESH_MESSAGE_OPCODE_CONFIG_KEY_REFRESH_PHASE_GET_NO_HEAD
+0x16 MESH_MESSAGE_OPCODE_CONFIG_KEY_REFRESH_PHASE_SET_NO_HEAD
+0x17 MESH_MESSAGE_OPCODE_CONFIG_KEY_REFRESH_PHASE_STATUS_NO_HEAD
+0x18 MESH_MESSAGE_OPCODE_CONFIG_MODEL_PUBLICATION_GET_NO_HEAD
+0x19 MESH_MESSAGE_OPCODE_CONFIG_MODEL_PUBLICATION_STATUS_NO_HEAD
+0x1A MESH_MESSAGE_OPCODE_CONFIG_MODEL_PUBLICATION_VIRTUAL_ADDRESS_SET_NO_HEAD
+0x1B MESH_MESSAGE_OPCODE_CONFIG_MODEL_SUBSCRIPTION_ADD_NO_HEAD
+0x1C MESH_MESSAGE_OPCODE_CONFIG_MODEL_SUBSCRIPTION_DELETE_NO_HEAD
+0x1D MESH_MESSAGE_OPCODE_CONFIG_MODEL_SUBSCRIPTION_DELETE_ALL_NO_HEAD
+0x1E MESH_MESSAGE_OPCODE_CONFIG_MODEL_SUBSCRIPTION_OVERWRITE_NO_HEAD
+0x1F MESH_MESSAGE_OPCODE_CONFIG_MODEL_SUBSCRIPTION_STATUS_NO_HEAD
+0x20 MESH_MESSAGE_OPCODE_CONFIG_MODEL_SUBSCRIPTION_VIRTUAL_ADDRESS_ADD_NO_HEAD
+0x21 MESH_MESSAGE_OPCODE_CONFIG_MODEL_SUBSCRIPTION_VIRTUAL_ADDRESS_DELETE_NO_HEAD
+0x22 MESH_MESSAGE_OPCODE_CONFIG_MODEL_SUBSCRIPTION_VIRTUAL_ADDRESS_OVERWRITE_NO_HEAD
+0x23 MESH_MESSAGE_OPCODE_CONFIG_NETWORK_TRANSMIT_GET_NO_HEAD
+0x24 MESH_MESSAGE_OPCODE_CONFIG_NETWORK_TRANSMIT_SET_NO_HEAD
+0x25 MESH_MESSAGE_OPCODE_CONFIG_NETWORK_TRANSMIT_STATUS_NO_HEAD
+0x26 MESH_MESSAGE_OPCODE_CONFIG_RELAY_GET_NO_HEAD
+0x27 MESH_MESSAGE_OPCODE_CONFIG_RELAY_SET_NO_HEAD
+0x28 MESH_MESSAGE_OPCODE_CONFIG_RELAY_STATUS_NO_HEAD
+0x29 MESH_MESSAGE_OPCODE_CONFIG_SIG_MODEL_SUBSCRIPTION_GET_NO_HEAD
+0x2A MESH_MESSAGE_OPCODE_CONFIG_SIG_MODEL_SUBSCRIPTION_LIST_NO_HEAD
+0x2B MESH_MESSAGE_OPCODE_CONFIG_VENDOR_MODEL_SUBSCRIPTION_GET_NO_HEAD
+0x2C MESH_MESSAGE_OPCODE_CONFIG_VENDOR_MODEL_SUBSCRIPTION_LIST_NO_HEAD
+0x2D MESH_MESSAGE_OPCODE_CONFIG_LOW_POWER_NODE_POLLTIMEOUT_GET_NO_HEAD
+0x2E MESH_MESSAGE_OPCODE_CONFIG_LOW_POWER_NODE_POLLTIMEOUT_STATUS_NO_HEAD
+0x2F MESH_MESSAGE_OPCODE_HEALTH_FAULT_CLEAR_NO_HEAD
+0x30 MESH_MESSAGE_OPCODE_HEALTH_FAULT_CLEAR_UNACKNOWLEDGED_NO_HEAD
+0x31 MESH_MESSAGE_OPCODE_HEALTH_FAULT_GET_NO_HEAD
+0x32 MESH_MESSAGE_OPCODE_HEALTH_FAULT_TEST_NO_HEAD
+0x33 MESH_MESSAGE_OPCODE_HEALTH_FAULT_TEST_UNACKNOWLEDGED_NO_HEAD
+0x34 MESH_MESSAGE_OPCODE_HEALTH_PERIOD_GET_NO_HEAD
+0x35 MESH_MESSAGE_OPCODE_HEALTH_PERIOD_SET_NO_HEAD
+0x36 MESH_MESSAGE_OPCODE_HEALTH_PERIOD_SET_UNACKNOWLEDGED_NO_HEAD
+0x37 MESH_MESSAGE_OPCODE_HEALTH_PERIOD_STATUS_NO_HEAD
+0x38 MESH_MESSAGE_OPCODE_CONFIG_HEARTBEAT_PUBLICATION_GET_NO_HEAD
+0x39 MESH_MESSAGE_OPCODE_CONFIG_HEARTBEAT_PUBLICATION_SET_NO_HEAD
+0x3A MESH_MESSAGE_OPCODE_CONFIG_HEARTBEAT_SUBSCRIPTION_GET_NO_HEAD
+0x3B MESH_MESSAGE_OPCODE_CONFIG_HEARTBEAT_SUBSCRIPTION_SET_NO_HEAD
+0x3C MESH_MESSAGE_OPCODE_CONFIG_HEARTBEAT_SUBSCRIPTION_STATUS_NO_HEAD
+0x3D MESH_MESSAGE_OPCODE_CONFIG_MODEL_APP_BIND_NO_HEAD
+0x3E MESH_MESSAGE_OPCODE_CONFIG_MODEL_APP_STATUS_NO_HEAD
+0x3F MESH_MESSAGE_OPCODE_CONFIG_MODEL_APP_UNBIND_NO_HEAD
+0x40 MESH_MESSAGE_OPCODE_CONFIG_NETKEY_ADD_NO_HEAD
+0x41 MESH_MESSAGE_OPCODE_CONFIG_NETKEY_DELETE_NO_HEAD
+0x42 MESH_MESSAGE_OPCODE_CONFIG_NETKEY_GET_NO_HEAD
+0x43 MESH_MESSAGE_OPCODE_CONFIG_NETKEY_LIST_NO_HEAD
+0x44 MESH_MESSAGE_OPCODE_CONFIG_NETKEY_STATUS_NO_HEAD
+0x45 MESH_MESSAGE_OPCODE_CONFIG_NETKEY_UPDATE_NO_HEAD
+0x46 MESH_MESSAGE_OPCODE_CONFIG_NODE_IDENTITY_GET_NO_HEAD
+0x47 MESH_MESSAGE_OPCODE_CONFIG_NODE_IDENTITY_SET_NO_HEAD
+0x48 MESH_MESSAGE_OPCODE_CONFIG_NODE_IDENTITY_STATUS_NO_HEAD
+0x49 MESH_MESSAGE_OPCODE_CONFIG_NODE_RESET_NO_HEAD
+0x4A MESH_MESSAGE_OPCODE_CONFIG_NODE_RESET_STATUS_NO_HEAD
+0x4B MESH_MESSAGE_OPCODE_CONFIG_SIG_MODEL_APP_GET_NO_HEAD
+0x4C MESH_MESSAGE_OPCODE_CONFIG_SIG_MODEL_APP_LIST_NO_HEAD
+0x4D MESH_MESSAGE_OPCODE_CONFIG_VENDOR_MODEL_APP_GET_NO_HEAD
+0x4E MESH_MESSAGE_OPCODE_CONFIG_VENDOR_MODEL_APP_LIST_NO_HEAD
+0xF2 MESH_MESSAGE_OPCODE_CONFIG_MODEL_SUBSCRIPTION_ADD_OW_NO_HEAD   //overwrite
+0xF3 MESH_MESSAGE_OPCODE_CONFIG_MODEL_SUBSCRIPTION_ADD_OW_STATUS
+)
+(//Modle message opcode
+0x82 MESH_MODULE_MESSAGE_OPCODE_HEADER
+
+0x01 MESH_MODULE_MESSAGE_OPCODE_GENERIC_ONOFF_GET_NO_HEAD
+0x02 MESH_MODULE_MESSAGE_OPCODE_GENERIC_ONOFF_SET_NO_HEAD
+0x03 MESH_MODULE_MESSAGE_OPCODE_GENERIC_ONOFF_SET_UNACKNOWLEDGED_NO_HEAD
+0x04 MESH_MODULE_MESSAGE_OPCODE_GENERIC_ONOFF_STATUS_NO_HEAD
+0x05 MESH_MODULE_MESSAGE_OPCODE_GENERIC_LEVEL_GET_NO_HEAD
+0x06 MESH_MODULE_MESSAGE_OPCODE_GENERIC_LEVEL_SET_NO_HEAD
+0x07 MESH_MODULE_MESSAGE_OPCODE_GENERIC_LEVEL_SET_UNACKNOWLEDGED_NO_HEAD
+0x08 MESH_MODULE_MESSAGE_OPCODE_GENERIC_LEVEL_STATUS_NO_HEAD
+0x09 MESH_MODULE_MESSAGE_OPCODE_GENERIC_DELTA_SET_NO_HEAD
+0x0A MESH_MODULE_MESSAGE_OPCODE_GENERIC_DELTA_SET_UNACKNOWLEDGED_NO_HEAD
+0x0B MESH_MODULE_MESSAGE_OPCODE_GENERIC_MOVE_SET_NO_HEAD
+0x0C MESH_MODULE_MESSAGE_OPCODE_GENERIC_MOVE_SET_UNACKNOWLEDGED_NO_HEAD
+0x0D MESH_MODULE_MESSAGE_OPCODE_GENERIC_DEFAULT_TRANSITION_TIME_GET_NO_HEAD
+0x0E MESH_MODULE_MESSAGE_OPCODE_GENERIC_DEFAULT_TRANSITION_TIME_SET_NO_HEAD
+0x0F MESH_MODULE_MESSAGE_OPCODE_GENERIC_DEFAULT_TRANSITION_TIME_SET_UNACKNOWLEDGED_NO_HEAD
+0x10 MESH_MODULE_MESSAGE_OPCODE_GENERIC_DEFAULT_TRANSITION_TIME_STATUS_NO_HEAD
+0x11 MESH_MODULE_MESSAGE_OPCODE_GENERIC_ONPOWERUP_GET_NO_HEAD
+0x12 MESH_MODULE_MESSAGE_OPCODE_GENERIC_ONPOWERUP_STATUS_NO_HEAD
+0x13 MESH_MODULE_MESSAGE_OPCODE_GENERIC_ONPOWERUP_SET_NO_HEAD
+0x14 MESH_MODULE_MESSAGE_OPCODE_GENERIC_ONPOWERUP_SET_UNACKNOWLEDGED_NO_HEAD
+0x15 MESH_MODULE_MESSAGE_OPCODE_GENERIC_POWER_LEVEL_GET_NO_HEAD
+0x16 MESH_MODULE_MESSAGE_OPCODE_GENERIC_POWER_LEVEL_SET_NO_HEAD
+0x17 MESH_MODULE_MESSAGE_OPCODE_GENERIC_POWER_LEVEL_SET_UNACKNOWLEDGED_NO_HEAD
+0x18 MESH_MODULE_MESSAGE_OPCODE_GENERIC_POWER_LEVEL_STATUS_NO_HEAD
+0x19 MESH_MODULE_MESSAGE_OPCODE_GENERIC_POWER_LAST_GET_NO_HEAD
+0x1A MESH_MODULE_MESSAGE_OPCODE_GENERIC_POWER_LAST_STATUS_NO_HEAD
+0x1B MESH_MODULE_MESSAGE_OPCODE_GENERIC_POWER_DEFAULT_GET_NO_HEAD
+0x1C MESH_MODULE_MESSAGE_OPCODE_GENERIC_POWER_DEFAULT_STATUS_NO_HEAD
+0x1D MESH_MODULE_MESSAGE_OPCODE_GENERIC_POWER_RANGE_GET_NO_HEAD
+0x1E MESH_MODULE_MESSAGE_OPCODE_GENERIC_POWER_RANGE_STATUS_NO_HEAD
+0x1F MESH_MODULE_MESSAGE_OPCODE_GENERIC_POWER_DEFAULT_SET_NO_HEAD
+0x20 MESH_MODULE_MESSAGE_OPCODE_GENERIC_POWER_DEFAULT_SET_UNACKNOWLEDGED_NO_HEAD
+0x21 MESH_MODULE_MESSAGE_OPCODE_GENERIC_POWER_RANGE_SET_NO_HEAD
+0x22 MESH_MODULE_MESSAGE_OPCODE_GENERIC_POWER_RANGE_SET_UNACKNOWLEDGED_NO_HEAD
+0x23 MESH_MODULE_MESSAGE_OPCODE_GENERIC_BATTERY_GET_NO_HEAD
+0x24 MESH_MODULE_MESSAGE_OPCODE_GENERIC_BATTERY_STATUS_NO_HEAD
+0x25 MESH_MODULE_MESSAGE_OPCODE_GENERIC_LOCATION_GLOBAL_GET_NO_HEAD
+0x40 MESH_MODULE_MESSAGE_OPCODE_GENERIC_LOCATION_GLOBAL_STATUS
+0x26 MESH_MODULE_MESSAGE_OPCODE_GENERIC_LOCATION_LOCAL_GET_NO_HEAD
+0x27 MESH_MODULE_MESSAGE_OPCODE_GENERIC_LOCATION_LOCAL_STATUS_NO_HEAD
+0x41 MESH_MODULE_MESSAGE_OPCODE_GENERIC_LOCATION_GLOBAL_SET
+0x42 MESH_MODULE_MESSAGE_OPCODE_GENERIC_LOCATION_GLOBAL_SET_UNACKNOWLEDGED
+0x28 MESH_MODULE_MESSAGE_OPCODE_GENERIC_LOCATION_LOCAL_SET_NO_HEAD
+0x29 MESH_MODULE_MESSAGE_OPCODE_GENERIC_LOCATION_LOCAL_SET_UNACKNOWLEDGED_NO_HEAD
+0x2A MESH_MODULE_MESSAGE_OPCODE_GENERIC_MANUFACTURER_PROPERTIES_GET_NO_HEAD
+0x43 MESH_MODULE_MESSAGE_OPCODE_GENERIC_MANUFACTURER_PROPERTIES_STATUS
+0x2B MESH_MODULE_MESSAGE_OPCODE_GENERIC_MANUFACTURER_PROPERTY_GET_NO_HEAD
+0x44 MESH_MODULE_MESSAGE_OPCODE_GENERIC_MANUFACTURER_PROPERTY_SET
+0x45 MESH_MODULE_MESSAGE_OPCODE_GENERIC_MANUFACTURER_PROPERTY_SET_UNACKNOWLEDGED
+0x46 MESH_MODULE_MESSAGE_OPCODE_GENERIC_MANUFACTURER_PROPERTY_STATUS
+0x2C MESH_MODULE_MESSAGE_OPCODE_GENERIC_ADMIN_PROPERTIES_GET_NO_HEAD
+0x47 MESH_MODULE_MESSAGE_OPCODE_GENERIC_ADMIN_PROPERTIES_STATUS
+0x2D MESH_MODULE_MESSAGE_OPCODE_GENERIC_ADMIN_PROPERTY_GET_NO_HEAD
+0x48 MESH_MODULE_MESSAGE_OPCODE_GENERIC_ADMIN_PROPERTY_SET
+0x49 MESH_MODULE_MESSAGE_OPCODE_GENERIC_ADMIN_PROPERTY_SET_UNACKNOWLEDGED
+0x4A MESH_MODULE_MESSAGE_OPCODE_GENERIC_ADMIN_PROPERTY_STATUS
+0x2E MESH_MODULE_MESSAGE_OPCODE_GENERIC_USER_PROPERTIES_GET_NO_HEAD
+0x4B MESH_MODULE_MESSAGE_OPCODE_GENERIC_USER_PROPERTIES_STATUS
+0x2F MESH_MODULE_MESSAGE_OPCODE_GENERIC_USER_PROPERTY_GET_NO_HEAD
+0x4C MESH_MODULE_MESSAGE_OPCODE_GENERIC_USER_PROPERTY_SET
+0x4D MESH_MODULE_MESSAGE_OPCODE_GENERIC_USER_PROPERTY_SET_UNACKNOWLEDGED
+0x4E MESH_MODULE_MESSAGE_OPCODE_GENERIC_USER_PROPERTY_STATUS
+0x4F MESH_MODULE_MESSAGE_OPCODE_GENERIC_CLIENT_PROPERTIES_GET
+0x50 MESH_MODULE_MESSAGE_OPCODE_GENERIC_CLIENT_PROPERTIES_STATUS
+0x30 MESH_MODULE_MESSAGE_OPCODE_SENSOR_DESCRIPTOR_GET_NO_HEAD
+0x51 MESH_MODULE_MESSAGE_OPCODE_SENSOR_DESCRIPTOR_STATUS
+0x31 MESH_MODULE_MESSAGE_OPCODE_SENSOR_GET_NO_HEAD
+0x52 MESH_MODULE_MESSAGE_OPCODE_SENSOR_STATUS
+0x32 MESH_MODULE_MESSAGE_OPCODE_SENSOR_COLUMN_GET_NO_HEAD
+0x53 MESH_MODULE_MESSAGE_OPCODE_SENSOR_COLUMN_STATUS
+0x33 MESH_MODULE_MESSAGE_OPCODE_SENSOR_SERIES_GET_NO_HEAD
+0x54 MESH_MODULE_MESSAGE_OPCODE_SENSOR_SERIES_STATUS
+0x34 MESH_MODULE_MESSAGE_OPCODE_SENSOR_CADENCE_GET_NO_HEAD
+0x55 MESH_MODULE_MESSAGE_OPCODE_SENSOR_CADENCE_SET
+0x56 MESH_MODULE_MESSAGE_OPCODE_SENSOR_CADENCE_SET_UNACKNOWLEDGED
+0x57 MESH_MODULE_MESSAGE_OPCODE_SENSOR_CADENCE_STATUS
+0x35 MESH_MODULE_MESSAGE_OPCODE_SENSOR_SETTINGS_GET_NO_HEAD
+0x58 MESH_MODULE_MESSAGE_OPCODE_SENSOR_SETTINGS_STATUS
+0x36 MESH_MODULE_MESSAGE_OPCODE_SENSOR_SETTING_GET_NO_HEAD
+0x59 MESH_MODULE_MESSAGE_OPCODE_SENSOR_SETTING_SET
+0x5A MESH_MODULE_MESSAGE_OPCODE_SENSOR_SETTING_SET_UNACKNOWLEDGED
+0x5B MESH_MODULE_MESSAGE_OPCODE_SENSOR_SETTING_STATUS
+0x37 MESH_MODULE_MESSAGE_OPCODE_TIME_GET_NO_HEAD
+0x5C MESH_MODULE_MESSAGE_OPCODE_TIME_SET
+0x5D MESH_MODULE_MESSAGE_OPCODE_TIME_STATUS
+0x38 MESH_MODULE_MESSAGE_OPCODE_TIME_ROLE_GET_NO_HEAD
+0x39 MESH_MODULE_MESSAGE_OPCODE_TIME_ROLE_SET_NO_HEAD
+0x3A MESH_MODULE_MESSAGE_OPCODE_TIME_ROLE_STATUS_NO_HEAD
+0x3B MESH_MODULE_MESSAGE_OPCODE_TIME_ZONE_GET_NO_HEAD
+0x3C MESH_MODULE_MESSAGE_OPCODE_TIME_ZONE_SET_NO_HEAD
+0x3D MESH_MODULE_MESSAGE_OPCODE_TIME_ZONE_STATUS_NO_HEAD
+0x3E MESH_MODULE_MESSAGE_OPCODE_TAI_UTC_DELTA_GET_NO_HEAD
+0x3F MESH_MODULE_MESSAGE_OPCODE_TAI_UTC_DELTA_SET_NO_HEAD
+0x40 MESH_MODULE_MESSAGE_OPCODE_TAI_UTC_DELTA_STATUS_NO_HEAD
+0x41 MESH_MODULE_MESSAGE_OPCODE_SCENE_GET_NO_HEAD
+0x42 MESH_MODULE_MESSAGE_OPCODE_SCENE_RECALL_NO_HEAD
+0x43 MESH_MODULE_MESSAGE_OPCODE_SCENE_RECALL_UNACKNOWLEDGED_NO_HEAD
+0x5E MESH_MODULE_MESSAGE_OPCODE_SCENE_STATUS
+0x44 MESH_MODULE_MESSAGE_OPCODE_SCENE_REGISTER_GET_NO_HEAD
+0x45 MESH_MODULE_MESSAGE_OPCODE_SCENE_REGISTER_STATUS_NO_HEAD
+0x46 MESH_MODULE_MESSAGE_OPCODE_SCENE_STORE_NO_HEAD
+0x47 MESH_MODULE_MESSAGE_OPCODE_SCENE_STORE_UNACKNOWLEDGED_NO_HEAD
+0x9E MESH_MODULE_MESSAGE_OPCODE_SCENE_DELETE_NO_HEAD
+0x9F MESH_MODULE_MESSAGE_OPCODE_SCENE_DELETE_UNACKNOWLEDGED_NO_HEAD
+0x48 MESH_MODULE_MESSAGE_OPCODE_SCHEDULER_ACTION_GET_NO_HEAD
+0x5F MESH_MODULE_MESSAGE_OPCODE_SCHEDULER_ACTION_STATUS
+0x49 MESH_MODULE_MESSAGE_OPCODE_SCHEDULER_GET_NO_HEAD
+0x4A MESH_MODULE_MESSAGE_OPCODE_SCHEDULER_STATUS_NO_HEAD
+0x60 MESH_MODULE_MESSAGE_OPCODE_SCHEDULER_ACTION_SET
+0x61 MESH_MODULE_MESSAGE_OPCODE_SCHEDULER_ACTION_SET_UNACKNOWLEDGED
+0x4B MESH_MODULE_MESSAGE_OPCODE_LIGHT_LIGHTNESS_LIGHT_LIGHTNESS_GET_NO_HEAD
+0x4C MESH_MODULE_MESSAGE_OPCODE_LIGHT_LIGHTNESS_SET_NO_HEAD
+0x4D MESH_MODULE_MESSAGE_OPCODE_LIGHT_LIGHTNESS_SET_UNACKNOWLEDGED_NO_HEAD
+0x4E MESH_MODULE_MESSAGE_OPCODE_LIGHT_LIGHTNESS_STATUS_NO_HEAD
+0x4F MESH_MODULE_MESSAGE_OPCODE_LIGHT_LIGHTNESS_LINEAR_GET_NO_HEAD
+0x50 MESH_MODULE_MESSAGE_OPCODE_LIGHT_LIGHTNESS_LINEAR_SET_NO_HEAD
+0x51 MESH_MODULE_MESSAGE_OPCODE_LIGHT_LIGHTNESS_LINEAR_SET_UNACKNOWLEDGED_NO_HEAD
+0x52 MESH_MODULE_MESSAGE_OPCODE_LIGHT_LIGHTNESS_LINEAR_STATUS_NO_HEAD
+0x53 MESH_MODULE_MESSAGE_OPCODE_LIGHT_LIGHTNESS_LAST_GET_NO_HEAD
+0x54 MESH_MODULE_MESSAGE_OPCODE_LIGHT_LIGHTNESS_LAST_STATUS_NO_HEAD
+0x55 MESH_MODULE_MESSAGE_OPCODE_LIGHT_LIGHTNESS_DEFAULT_GET_NO_HEAD
+0x56 MESH_MODULE_MESSAGE_OPCODE_LIGHT_LIGHTNESS_DEFAULT_STATUS_NO_HEAD
+0x57 MESH_MODULE_MESSAGE_OPCODE_LIGHT_LIGHTNESS_RANGE_GET_NO_HEAD
+0x58 MESH_MODULE_MESSAGE_OPCODE_LIGHT_LIGHTNESS_RANGE_STATUS_NO_HEAD
+0x59 MESH_MODULE_MESSAGE_OPCODE_LIGHT_LIGHTNESS_DEFAULT_SET_NO_HEAD
+0x5A MESH_MODULE_MESSAGE_OPCODE_LIGHT_LIGHTNESS_DEFAULT_SET_UNACKNOWLEDGED_NO_HEAD
+0x5B MESH_MODULE_MESSAGE_OPCODE_LIGHT_LIGHTNESS_RANGE_SET_NO_HEAD
+0x5C MESH_MODULE_MESSAGE_OPCODE_LIGHT_LIGHTNESS_RANGE_SET_UNACKNOWLEDGED_NO_HEAD
+0x5D MESH_MODULE_MESSAGE_OPCODE_LIGHT_CTL_GET_NO_HEAD
+0x5E MESH_MODULE_MESSAGE_OPCODE_LIGHT_CTL_SET_NO_HEAD
+0x5F MESH_MODULE_MESSAGE_OPCODE_LIGHT_CTL_SET_UNACKNOWLEDGED_NO_HEAD
+0x60 MESH_MODULE_MESSAGE_OPCODE_LIGHT_CTL_STATUS_NO_HEAD
+0x61 MESH_MODULE_MESSAGE_OPCODE_LIGHT_CTL_TEMPERATURE_GET_NO_HEAD
+0x62 MESH_MODULE_MESSAGE_OPCODE_LIGHT_CTL_TEMPERATURE_RANGE_GET_NO_HEAD
+0x63 MESH_MODULE_MESSAGE_OPCODE_LIGHT_CTL_TEMPERATURE_RANGE_STATUS_NO_HEAD
+0x64 MESH_MODULE_MESSAGE_OPCODE_LIGHT_CTL_TEMPERATURE_SET_NO_HEAD
+0x65 MESH_MODULE_MESSAGE_OPCODE_LIGHT_CTL_TEMPERATURE_SET_UNACKNOWLEDGED_NO_HEAD
+0x66 MESH_MODULE_MESSAGE_OPCODE_LIGHT_CTL_TEMPERATURE_STATUS_NO_HEAD
+0x67 MESH_MODULE_MESSAGE_OPCODE_LIGHT_CTL_DEFAULT_GET_NO_HEAD
+0x68 MESH_MODULE_MESSAGE_OPCODE_LIGHT_CTL_DEFAULT_STATUS_NO_HEAD
+0x69 MESH_MODULE_MESSAGE_OPCODE_LIGHT_CTL_DEFAULT_SET_NO_HEAD
+0x6A MESH_MODULE_MESSAGE_OPCODE_LIGHT_CTL_DEFAULT_SET_UNACKNOWLEDGED_NO_HEAD
+0x6B MESH_MODULE_MESSAGE_OPCODE_LIGHT_CTL_TEMPERATURE_RANGE_SET_NO_HEAD
+0x6C MESH_MODULE_MESSAGE_OPCODE_LIGHT_CTL_TEMPERATURE_RANGE_SET_UNACKNOWLEDGED_NO_HEAD
+0x6D MESH_MODULE_MESSAGE_OPCODE_LIGHT_HSL_GET_NO_HEAD
+0x6E MESH_MODULE_MESSAGE_OPCODE_LIGHT_HSL_HUE_GET_NO_HEAD
+0x6F MESH_MODULE_MESSAGE_OPCODE_LIGHT_HSL_HUE_SET_NO_HEAD
+0x70 MESH_MODULE_MESSAGE_OPCODE_LIGHT_HSL_HUE_SET_UNACKNOWLEDGED_NO_HEAD
+0x71 MESH_MODULE_MESSAGE_OPCODE_LIGHT_HSL_HUE_STATUS_NO_HEAD
+0x72 MESH_MODULE_MESSAGE_OPCODE_LIGHT_HSL_SATURATION_GET_NO_HEAD
+0x73 MESH_MODULE_MESSAGE_OPCODE_LIGHT_HSL_SATURATION_SET_NO_HEAD
+0x74 MESH_MODULE_MESSAGE_OPCODE_LIGHT_HSL_SATURATION_SET_UNACKNOWLEDGED_NO_HEAD
+0x75 MESH_MODULE_MESSAGE_OPCODE_LIGHT_HSL_SATURATION_STATUS_NO_HEAD
+0x76 MESH_MODULE_MESSAGE_OPCODE_LIGHT_HSL_SET_NO_HEAD
+0x77 MESH_MODULE_MESSAGE_OPCODE_LIGHT_HSL_SET_UNACKNOWLEDGED_NO_HEAD
+0x78 MESH_MODULE_MESSAGE_OPCODE_LIGHT_HSL_STATUS_NO_HEAD
+0x79 MESH_MODULE_MESSAGE_OPCODE_LIGHT_HSL_TARGET_GET_NO_HEAD
+0x7A MESH_MODULE_MESSAGE_OPCODE_LIGHT_HSL_TARGET_STATUS_NO_HEAD
+0x7B MESH_MODULE_MESSAGE_OPCODE_LIGHT_HSL_DEFAULT_GET_NO_HEAD
+0x7C MESH_MODULE_MESSAGE_OPCODE_LIGHT_HSL_DEFAULT_STATUS_NO_HEAD
+0x7D MESH_MODULE_MESSAGE_OPCODE_LIGHT_HSL_RANGE_GET_NO_HEAD
+0x7E MESH_MODULE_MESSAGE_OPCODE_LIGHT_HSL_RANGE_STATUS_NO_HEAD
+0x7F MESH_MODULE_MESSAGE_OPCODE_LIGHT_HSL_DEFAULT_SET_NO_HEAD
+0x80 MESH_MODULE_MESSAGE_OPCODE_LIGHT_HSL_DEFAULT_SET_UNACKNOWLEDGED_NO_HEAD
+0x81 MESH_MODULE_MESSAGE_OPCODE_LIGHT_HSL_RANGE_SET_NO_HEAD
+0x83 MESH_MODULE_MESSAGE_OPCODE_LIGHT_XYL_GET_NO_HEAD
+0x84 MESH_MODULE_MESSAGE_OPCODE_LIGHT_XYL_SET_NO_HEAD
+0x85 MESH_MODULE_MESSAGE_OPCODE_LIGHT_XYL_SET_UNACKNOWLEDGED_NO_HEAD
+0x86 MESH_MODULE_MESSAGE_OPCODE_LIGHT_XYL_STATUS_NO_HEAD
+0x87 MESH_MODULE_MESSAGE_OPCODE_LIGHT_XYL_TARGET_GET_NO_HEAD
+0x88 MESH_MODULE_MESSAGE_OPCODE_LIGHT_XYL_TARGET_STATUS_NO_HEAD
+0x89 MESH_MODULE_MESSAGE_OPCODE_LIGHT_XYL_DEFAULT_GET_NO_HEAD
+0x8A MESH_MODULE_MESSAGE_OPCODE_LIGHT_XYL_DEFAULT_STATUS_NO_HEAD
+0x8B MESH_MODULE_MESSAGE_OPCODE_LIGHT_XYL_RANGE_GET_NO_HEAD
+0x8C MESH_MODULE_MESSAGE_OPCODE_LIGHT_XYL_RANGE_STATUS_NO_HEAD
+0x8D MESH_MODULE_MESSAGE_OPCODE_LIGHT_XYL_DEFAULT_SET_NO_HEAD
+0x8E MESH_MODULE_MESSAGE_OPCODE_LIGHT_XYL_DEFAULT_SET_UNACKNOWLEDGED_NO_HEAD
+0x8F MESH_MODULE_MESSAGE_OPCODE_LIGHT_XYL_RANGE_SET_NO_HEAD
+0x90 MESH_MODULE_MESSAGE_OPCODE_LIGHT_XYL_RANGE_SET_UNACKNOWLEDGED_NO_HEAD
+0x91 MESH_MODULE_MESSAGE_OPCODE_LIGHT_LC_MODE_GET_NO_HEAD
+0x92 MESH_MODULE_MESSAGE_OPCODE_LIGHT_LC_MODE_SET_NO_HEAD
+0x93 MESH_MODULE_MESSAGE_OPCODE_LIGHT_LC_MODE_SET_UNACKNOWLEDGED_NO_HEAD
+0x94 MESH_MODULE_MESSAGE_OPCODE_LIGHT_LC_MODE_STATUS_NO_HEAD
+0x95 MESH_MODULE_MESSAGE_OPCODE_LIGHT_LC_OM_GET_NO_HEAD
+0x96 MESH_MODULE_MESSAGE_OPCODE_LIGHT_LC_OM_SET_NO_HEAD
+0x97 MESH_MODULE_MESSAGE_OPCODE_LIGHT_LC_OM_SET_UNACKNOWLEDGED_NO_HEAD
+0x98 MESH_MODULE_MESSAGE_OPCODE_LIGHT_LC_OM_STATUS_NO_HEAD
+0x99 MESH_MODULE_MESSAGE_OPCODE_LIGHT_LC_LIGHT_ONOFF_GET_NO_HEAD
+0x9A MESH_MODULE_MESSAGE_OPCODE_LIGHT_LC_LIGHT_ONOFF_SET_NO_HEAD
+0x9B MESH_MODULE_MESSAGE_OPCODE_LIGHT_LC_LIGHT_ONOFF_SET_UNACKNOWLEDGED_NO_HEAD
+0x9C MESH_MODULE_MESSAGE_OPCODE_LIGHT_LC_LIGHT_ONOFF_STATUS_NO_HEAD
+0x9D MESH_MODULE_MESSAGE_OPCODE_LIGHT_LC_PROPERTY_GET_NO_HEAD
+0x62 MESH_MODULE_MESSAGE_OPCODE_LIGHT_LC_PROPERTY_SET
+0x63 MESH_MODULE_MESSAGE_OPCODE_LIGHT_LC_PROPERTY_SET_UNACKNOWLEDGED
+0x64 MESH_MODULE_MESSAGE_OPCODE_LIGHT_LC_PROPERTY_STATUS)
+
+// status code
+(
+0x00 MESH_SUCCESS
+0x01 MESH_INVALID_ADDRESS
+0x02 MESH_INVALID_MODEL
+0x03 MESH_INVALID_APPKEYINDEX
+0x04 MESH_INVALID_NETKEYINDEX
+0x05 MESH_INSUFFICIENT_RESOURCES
+0x06 MESH_KEYINDEX_ALREAD_STORED
+0x07 MESH_INVALID_PUBLISH_PARAMETERS
+0x08 MESH_NOT_A_SUBSCRIBE_MODEL
+0x09 MESH_STORAGE_FAILURE
+0x0a MESH_FEATURE_NOT_SUPPORTED
+0x0b MESH_CANNOT_UPDATE
+0x0c MESH_CANNOT_REMOVE
+0x0d MESH_CANNOT_BIND
+0x0e MESH_TEMPORARILY_UNABLE_TO_CHANGE_STATE
+0x0f MESH_CANNOT_SET
+0x10 MESH_UNSPECIFIED_ERROR
+0x11 MESH_INVALID_BINDING
+)
+(
+0x00F0 VENDOR_MESSAGE_TMALL_DST
+)
+(// vendor model attribute
+0x0123 VENDOR_ATTR_COLOR_SERVER
+0x0100 VENDOR_ATTR_GENERIC_ONOFF_SERVER
+0x0121 VENDOR_ATTR_LIGHTNESS_LEVEL_SERVER
+0x0122 VENDOR_ATTR_COLOR_TEMPERATURE_SERVER
+0x0534 VENDOR_ATTR_MAIN_LIGHT_SERVER
+0x0533 VENDOR_ATTR_BACKGROUND_LIGHT_ONOFF_SERVER
+0xf004 VENDOR_ATTR_SCENE_SERVER
+)
+(//Timer opcode
+0x01A8 VENDOR_MESSAGE_OPCODE_COMPANY_ID
+//时间
+0xF01F VENDOR_MESSAGE_ATTR_TYPE_TIME
+//时区
+0xF01E VENDOR_MESSAGE_ATTR_TYPE_TIME_ZONE
+//对时
+0xF01D VENDOR_MESSAGE_ATTR_TYPE_ON_TIME
+//定时
+0xF010 VENDOR_MESSAGE_ATTR_TYPE_TIMING
+//周期定时
+0xF011 VENDOR_MESSAGE_ATTR_TYPE_CYCLE_TIMING
+//删除定时
+0xF012 VENDOR_MESSAGE_ATTR_TYPE_DELETE_TIMING
+
+//颜色
+0x0123 VENDOR_MESSAGE_ATTR_TYPE_COLOR
+//主灯
+0x0534 VENDOR_MESSAGE_ATTR_TYPE_MAIN_LIGHT
+//背光灯
+0x0533 VENDOR_MESSAGE_ATTR_TYPE_BACKGROUND_LIGHT
+)
+(//天猫event事件表
+//设备发生的事件，比如上电或者定时完成
+0xF009 VENDOR_ATTR_TYPE_EVENT_TRIGGER
+
+//天猫设备上电
+0x03 VENDOR_MESSAGE_EVENT_DEVICE_POWER_ON
+//天猫定时完成
+0x11 VENDOR_MESSAGE_EVENT_FINISH_TIMING
+)
+(
+0x80 VENDOR_MESSAGE_SEND_TID_MIN
+0xC0 VENDOR_MESSAGE_SEND_TID_MAX
+)
+(
+0x59 TIMER_CYCLICAL_FALG
+60 SECONDS_OF_MIN
+345600 SECONDS_OF_FOUR_DAYS
+604800 SECONDS_OF_WEEK
+86400 SECONDS_OF_DAY
+0x01e0 EIGHT_HOURS_TIME_ZONE_OFFSET
+
+)
+(
+0xF013 VENDOR_MSEEAGE_ATTR_TYPE_SET_TIME_SINGLE
+0xF014 VENDOR_MSEEAGE_ATTR_TYPE_SET_TIME_REPEAT
+0xF015 VENDOR_MSEEAGE_ATTR_TYPE_SET_TIME_CIRCULATION
+0xF016 VENDOR_MSEEAGE_ATTR_TYPE_TIMER_ENABLE
+0xF017 VENDOR_MESSAGE_ATTR_TYPE_TIMER_DELEATE
+0xF018 VENDOR_MESSAGE_ATTR_TYPE_TIMER_INQUIRE
+0xF019 VENDOR_MESSAGE_ATTR_TYPE_TIMER_EVENT_INQUIRE
+
+)
+(
+0xF020 VENDOR_ATTR_TYPE_EVENT_INDEX_REPORT
+)
+(
+0x0d MESH_X_TIMERS
+)
+(
+6 ADV_PACKET_MIN_LENGTH
+37 ADV_PACKET_MAX_LENGTH
+
+1 AD_TYPE_MIN_LENGTH
+30 AD_TYPE_MAX_LENGTH
+)
+(
+13 mesh_ble_rx_timer
+)
+(//transport mic cache parameter
+10 TRANSPORT_MIC_CACHE_SPACE_NUM
+4 TRANSPORT_MIC_CACHE_SPACE_SIZE
+//总长度少一个space
+36 TRANSPORT_MIC_CACHE_TOTAL_SIZE
+)
+(
+0x00 MESH_EEP_THREE_TUPLE_OFFSET
+0x1a MESH_EEP_NETWORK_KEY_OFFSET
+0x2d MESH_EEP_APPLICATION_KEY_OFFSET
+0x3d MESH_EEP_DEVICE_KEY_OFFSET
+0x4d MESH_EEP_RESET_COUNT_OFFSET
+0x4e MESH_EEP_SEQ_OFFSET
+0x51 MESH_EEP_SUBSCRIPTION_OFFSET
+0x91 MESH_EEP_PROV_RANDOM_OFFSET
+)
+(
+0x1a MESH_EEP_THREE_TUPLE_LENGTH
+0x13 MESH_EEP_NETWORK_KEY_LENGTH
+0x10 MESH_EEP_APPLICATION_KEY_LENGTH
+0x10 MESH_EEP_DEVICE_KEY_LENGTH
+0x01 MESH_EEP_RESET_COUNT_LENGTH
+0x03 MESH_EEP_SEQ_LENGTH
+0x10 MESH_EEP_SUBSCRIPTION_LENGTH
+0x40 MESH_EEP_SUBSCRIPTION_TOTAL_LENGTH
+0x04 MESH_EEP_PROV_RANDOM_LENGTH
+)
+(
+0x1e000 MESH_FLASH_NETWORK_KEY_ADDR
+0x1e100 MESH_FLASH_APPLICATION_KEY_ADDR
+0x1e200 MESH_FLASH_DEVICE_KEY_ADDR
+0x1f000 MESH_FLASH_MESSAGE_SEQ_ADDR
+0x1e400 MESH_FLASH_SUBSCRIPTION_ADDR
+0x1e500 MESH_FLASH_PROV_RANDOM_ADDR
+)
+(//mem_mesh_advertising_unprovisioned_device_beacon_switch
+0 DEVICE_BEACON_OFF
+1 DEVICE_BEACON_ON
+)
+(
+//未配网广播超时10min
+0x1770	ADV_UNPROVISIONED_DEVICE_BEACON_TIMEOUT
+//未配网广播间隔500ms
+5		ADV_UNPROVISIONED_DEVICE_BEACON_INTERVAL
+//未配网广播时长120ms=20ms*6
+6		ADV_UNPROVISIONED_DEVICE_BEACON_DURATION
+
+//静默广播超时:无
+0		ADV_SILENCE_DEVICE_BEACON_TIMEOUT
+//静默广播间隔60s
+600		ADV_SILENCE_DEVICE_BEACON_INTERVAL
+//静默广播时长120ms=20ms*6
+6		ADV_SILENCE_DEVICE_BEACON_DURATION
+
+
+//配网后广播间隔
+0x4		ADV_PAIRING_MESH_MESSAGE_INTERVAL
+//配网后广播时长
+20		ADV_PAIRING_MESH_MESSAGE_DURATION
+
+30		ADV_RELAY_MESH_MESSAGE_DURATION
+)
+(
+0x12 MAX_APP_MSSAGE_PAYLOAD_LENGTH
+7 BIT_OF_APP_PACKAGE_NUM
+6 BIT_OF_ADV_IN_OFF
+)
+(
+//mesh 回复APP广播间隔24*0.625ms = 15ms
+0x15 MESH_ADV_APP_MESSAGE_INTERVAL
+//mesh回复tmall广播间隔32*0.625ms = 20ms
+0x1d MESH_ADV_TMALL_MESSAGE_INTERVAL
+)
+(
+13 mesh_ble_adv_app
+//Tiny Mesh锟姐播tmall锟截革拷
+14 mesh_ble_adv_tmall
+//Tiny Mesh relay
+15 mesh_ble_relay_timer
+)
+(
+0x2c COMMA
+-4 DECREASED_FOUR
+
+)
+(
+0x19 MIC_SIZE_64BIT
+0x09 MIC_SIZE_32BIT
+)
+(
+33 GATT_RECEIVE_MSG_BUFFER_SIZE
+)
+(//mem_mesh_provisioned_flag
+0 PAIRED_STATUS
+1 UNPROVISIONED_BEACON_STATUS
+2 PAIRING_STATUS
+3 SILENCE_BEACON_STATUS
+4 RECEIVED_CONFIG_APPKEY_ADD
+5 WAIT_RECEIVE_APPKEY
+6 RECEIVE_CONFIG_COMPOSITION_DATA_GET
+)
+(//mem_mesh_UUID_FeatureFlag
+0 BIT_SILENCE_ADV_FLAG
+)
+(
+0x01 UNPROVISIONED_ADLEN_LENGTH
+0x01 UNPROVISIONED_ADTYPE_LENGTH
+0x01 UNPROVISIONED_DEVICE_BEACON_LENGTH
+0x10 UNPROVISIONED_DEVICE_UUID_LENGTH
+0x02 UNPROVISIONED_OOB_INFORMATION_LENGTH
+)
+(
+0x00 UNPROVISIONED_DEVICE_BEACON
+0x01 SECURE_NETWORK_BEACON
+0x1827 MESH_PROVISIONING_UUID
+0x1828 MESH_PROXY_SERVICE
+
+)
+(
+0x00 PROVISIONING_RANDOM
+0x01 PROVISIONING_CONFIRMATION
+0x02 PROVISIONING_DATA
+0x03 PROVISIONING_COMPLETE
+0x04 PROVISIONING_CONFIG
+0x05 PROVISIONING_CONFIG_ACK
+0x06 PROVISIONING_IOS_DATA
+0x07 PROVISIONING_SEND_IOS_DATA
+0x09 PROVISIONING_ADD_APPKEY
+0x0A PROVISIONING_ADD_APPKEY_ACK
+)
+(//mem_mesh_Provisioning_State_Flag
+// FLAG bit1:Provisioning Confirmation
+1 RECEIVE_PROVISIONING_RANDOM
+2 RECEIVE_PROVISIONING_DATA
+3 RECEIVE_PROVISIONING_ADD_APPKEY
+)
+(//provisioning packet info size
+3 PROVISIONING_PACKET_LENGTH_FLAGS
+6 PROVISIONING_PACKET_LENGTH_AD_TYPE_COMPANY_ID_VID_PROVISIONING_TYPE
+5 PROVISIONING_PACKET_AD_TYPE_COMPANY_ID_VID_PROVISIONING_TYPE
+1 PROVISIONING_PACKET_LENGTH
+1 PROVISIONING_PACKET_AD_TYPE
+2 PROVISIONING_PACKET_COMPANY_ID
+1 PROVISIONING_PACKET_VID
+1 PROVISIONING_PACKET_PROVISIONING_TYPE
+//provisioning random
+2 PROVISIONING_PACKET_RANDOM_MAC
+8 PROVISIONING_PACKET_RANDOM_RANDOM_A
+8 PROVISIONING_PACKET_RANDOM_RANDOM_B
+//provisioning confirmation
+2 PROVISIONING_PACKET_CONFIRMATION_MAC
+16 PROVISIONING_PACKET_CONFIRMATION_DEVICE
+//provisioning complete
+6 PROVISIONING_PACKET_COMPLETE_MAC
+//provisioning add appkey ack
+7 PROVISIONING_PACKET_ADD_APPKEY_ACK
+
+2 PROVISIONING_CONFIG_ACK_MAC
+1 PROVISIONING_CONFIG_ACK_FIELD
+
+)
+(
+0x01 PROVISIONING_CONFIG_ACK_NOTE
+)
+(//gatt package struct
+0 GATT_PACKAGE_MSG_ID
+1 GATT_PACKAGE_PACKAGE_NUM
+2 GATT_PACKAGE_LENGTH
+3 GATT_PACKAGE_PAYLOAD
+)
+(
+0x12 MAX_LENGTH_PRIVISIONING_CONTROL_MSG_ANDROID
+0x08 MAX_LENGTH_PRIVISIONING_CONTROL_MSG_IOS
+0x07 MAX_LENGTH_PRIVISIONING_PAIRING_MSG_IOS
+)
+(
+4 MAX_GATT_PACKAGE_NUM
+50 GATT_RECEIVE_TIMEOUT
+)
+(//mem_mesh_fast_pairing_timer
+300 FAST_PAIRING_TIMEOUT_PROVISIONING
+200 FAST_PAIRING_TIMEOUT_PROXY
+)
+(//mem_mesh_add_appkey_ack_timer
+2 FAST_PAIRING_TIMEOUT_ADD_APPKEY_ACK
+)
+(
+8 SUBSCRIPTION_MAX_COUNT
+)
+(
+20 HEALTH_NODE_RESET_TIMEOUT
+)
+(//typedef struct of mem_mesh_element_device
+0 ELEMENT_DEVICE_GROUP_ADDR
+2 ELEMENT_DEVICE_QUEUE_BUFFER_PTR
+4 ELEMENT_DEVICE_VENDOR_TIME_PTR
+6 ELEMENT_DEVICE_SUBSCRIPTION_LABEL
+22 ELEMENT_DEVICE_UPPER_ADV_FLAG
+23 ELEMENT_DEVICE_UPPER_QUEUE_PTR
+25 ELEMENT_DEVICE_TRAN_PACKAGE_TID
+26 ELEMENT_DEVICE_TRAN_PACKAGE_TYPE
+27 SIZEOF_ELEMENT_DEVICE
+
+)
+(
+36 MESH_SEGMENT_SIZE
+)
+(
+320 MESH_TIMER_BUFFER_SIZE
+)
+(//bit map of mem_mesh_core_feature
+0 MESH_FEATURE_DISABLE_LOG
+1 MESH_FEATURE_DISABLE_RELAY
+2 MESH_FEATURE_DISABLE_SUBSCRIPTION
+3 MESH_FEATURE_DISABLE_APP_PAIRING
+)
+(//taobao id
+0x01a8	COMPANY_IDENTIFIERS_ALIBABA
+0x0d	ALI_MESH_VID_NUMBER
+0x0da801 COMPANY_ID_ALIBABA_AND_VID
+0x0ea801 COMPANY_ID_ALIBABA_AND_VID_GATT
+)
+(
+0x00 MESH_CODE_INIT
+0x01 MESH_RECEIVE_PROVISIONING_PACKET
+0x02 MESH_RECEIVE_PROVISIONING_RANDOM_PACKET
+0x03 MESH_SEND_PROVISIONING_CONFIRMATION_PACKET
+0x04 MESH_RECEIVE_PROVISIONING_DATA_PACKET
+0x05 MESH_SEND_PROVISIONING_COMPLETE_PACKET
+0x06 MESH_RECEIVE_PROVISIONING_FAILED_PACKET
+0x07 MESH_RECEIVE_PROVISIONING_ADD_APPKEY_PACKET
+0x08 MESH_SEND_PROVISIONING_ADD_APPKEY_ACK_PACKET
+
+0x10 MESH_ENCRYPT_SHA256_FUNCTION_INPUT
+0x11 MESH_ENCRYPT_SHA256_FUNCTION_RESULT
+0x12 MESH_ENCRYPT_AES_CMAC_FUNCTION_INPUT_M
+0x13 MESH_ENCRYPT_AES_CMAC_FUNCTION_INPUT_K
+0x14 MESH_ENCRYPT_AES_CMAC_FUNCTION_RESULT
+
+0x20 MESH_NETWORK_RECEIVE_PACKET
+0x21 MESH_NETWORK_RELAY_PACKET
+
+0x30 MESH_LOWER_RECEIVE_PACKET
+0x40 MESH_UPPER_RECEIVE_PACKET
+0x41 MESH_UPPER_SEND_PACKET
+
+0x50 MESH_ACCESS_RECEIVE_MESSAGE
+
+0x60 MESH_PROXY_RECEIVE_MESSAGE_HANDLE
+0x61 MESH_PROXY_RECEIVE_MESSAGE
+
+0xF0 MESH_MESSAGE_GENERIC_ONOFF_SET
+0xF1 MESH_MESSAGE_SET_LIGHT_LIGHTNESS
+0xF2 MESH_MESSAGE_SET_CTL
+)
+(//LUA LOG 
+0xAA LUA_LOG_PACKET_HEADER
+0x03 LUA_LOG_PAKCET_TYPE
+0xBB LUA_LOG_PACKET_TRAIL
+)
+(//logging level
+0 LOGGING_DEBUG
+1 LOGGING_INFO
+2 LOGGING_WARNING
+3 LOGGING_ERROR
+4 LOGGING_CRITICAL
+)
+(
+0x1c00 mem_mesh_uart_log_rx_buff
+0x1c01 mem_mesh_uart_log_rx_buff_end
+0x1c02 mem_mesh_uart_log_tx_buff
+0x1fff mem_mesh_uart_log_tx_buff_end
+)
+(
+0x77 MESH_PAIRED_INFO_LENGTH
+)
+(
+0x01 MESH_CHIP_FROM_EEPROM
+0x02 MESH_CHIP_FROM_FLASH
+)
+(
+7 TRANSPORT_HEAD_BIT_SEG
+6 TRANSPORT_HEAD_BIT_AKF
+05 TRANSPORT_HEAD_BIT_AID
+7 BIT_CTL
+)
+(//Generic OnOff
+0x00 GENERIC_ONOFF_CMD_OFF
+0x01 GENERIC_ONOFF_CMD_ON
+)
+(//LIGHTNESS
+0xFFFF ALI_MESH_LIGHTNESS_MAX
+0x0064 ALI_MESH_LIGHTNESS_LEVEL
+)
+(//TEMPERATURE
+0x4E20 ALI_MESH_TEMPERATURE_MAX
+0x0320 ALI_MESH_TEMPERATURE_MIN
+0x0064 ALI_MESH_TEMPERATURE_LEVEL
+)
+(//nonce type
+0x00 NETWORK_NONCE
+0x01 APPLICATION_NONCE
+0x02 DEVICE_NONCE
+0x03 PROXY_NONCE
+)
+(
+0x00c0 GROUP_ADDRESS_0XC000_little_endian
+0xffcf GROUP_ADDRESS_0XCFFF_little_endian
+0x02c0 GROUP_ADDRESS_0XC002_little_endian
+0x07c0 GROUP_ADDRESS_0XC007_little_endian
+0x01c0 GROUP_ADDRESS_0XC001_little_endian
+0xffff GROUP_ADDRESS_0XFFFF_little_endian
+)
+(//SRC SEQ cache parameter
+10 CACHE_SPACE_NUM
+5 CACHE_SPACE_SIZE
+)
+(
+12 MESH_NETWORK_PACKET_MIN_LENGTH
+30 MESH_NETWORK_PACKET_MAX_LENGTH
+)
+(
+0 MESH_MESSAGE_TMALL
+1 MESH_MESSAGE_APP
+2 MESH_MESSAGE_PROXY
+)
+(
+
+0x20 MESH_ADV_RELAY_MESSAGE_INTERVAL
+)
+(
+0x00 MESH_PROXY_SERVICE_DATA_ID_TYPE_NETWORK_ID
+0x01 MESH_PROXY_SERVICE_DATA_ID_TYPE_NODE_IDENTITY
+)
+(
+0x00 MESH_PROXY_MESSAGE_TYPE_NETWORK_PDU
+0x01 MESH_PROXY_MESSAGE_TYPE_MESH_BEACON
+0x02 MESH_PROXY_MESSAGE_TYPE_PROXY_CONFIGURATION
+0x03 MESH_PROXY_MESSAGE_TYPE_PROVISIONING_PDU
+)
+(
+0x0e	MESH_PROXY_DATA_IN_HANDLE
+0x10	MESH_PROXY_DATA_OUT_HANDLE
+0x11	MESH_PROXY_ENABLE_DATA_OUT_HANDLE
+0x14	MESH_PROVISIONING_DATA_IN_HANDLE
+0x16	MESH_PROVISIONING_DATA_OUT_HANDLE
+0x17	MESH_PROVISIONING_ENABLE_DATA_OUT_HANDLE
+)
+(
+0x00 PROXY_OPCODE_SET_FILTER_TYPE
+0x01 PROXY_OPCODE_ADD_ADDR_TO_FILTER
+0x02 PROXY_OPCODE_REMOVE_ADDR_TO_FILTER
+0x03 PROXY_OPCODE_FILTER_STATUS
+)
+(
+15 UNSEGMENTED_ACCESS_MESSAGE_MAX_UPPER_TRANSPORT_ACCESS_PDU_LEN
+12 SEGMENTED_ACCESS_MESSAGE_UNINT_PDU_LEN
+)
+(//bit of mem_mesh_upper_tran_layer_temp_packet_flag
+7 BIT_UPPER_FLAG_PROXY_CONTROL
+6 BIT_UPPER_FLAG_APP_CONTROL
+5 BIT_UPPER_FLAG_VENDOR_INDICATION
+4 BIT_UPPER_FLAG_RETRANSMIT
+//BIT3-0
+0x0f DATA_UPPER_FLAG_MAX_RETRY_COUNT
+
+1 UPPER_RETRY_COUNT_STATUS
+1 UPPER_RETRY_COUNT_INDICATION
+)
+(
+0 NULL_PACKET_ADVERTISING
+1 PACKET_IN_BEARER
+2 PACKET_IN_ADVERTING
+3 PACKET_RECEIVE_INDICATION
+)
+(
+1 UPPER_TRAN_TMALL_MESSAGE
+2 UPPER_TRAN_APP_MESSAGE
+3 UPPER_TRAN_TMALL_AND_APP
+
+0 BIT_UPPER_TRAN_TMALL_MESSAGE
+1 BIT_UPPER_TRAN_APP_MESSAGE
+2 BIT_UUPER_TRAN_PROXY_MESSAGE
+)
+(
+30 MESH_RECEIVE_NEW_MESSAGE_TIMER
+)
+(
+0 QUEUE_OFFSET_EACH_SIZE
+1 QUEUE_OFFSET_LENGTH
+2 QUEUE_OFFSET_CURR_NUM
+3 QUEUE_OFFSET_READ_PTR
+4 QUEUE_OFFSET_WRITE_PTR
+5 QUEUE_OFFSET_ELE_INIT_ADDR
+)
+(
+//Flash Register
+0x05 FLASH_READ_SATUS
+
+// Flash Status Register
+0x00 FLASH_STATUS_WIP
+0X01 FLASH_STATUS_WEL
+0X02 FLASH_STATUS_BP0
+0X03 FLASH_STATUS_BP1
+
+//Flash Write Sm
+0X00 FLASH_SM_NO_BUYS
+0X01 FLASH_SM_START
+0X02 FLASH_SM_ERASE_SECTOR
+0X03 FLASH_SM_WAIT_ERASE_SECTOR
+0X04 FLASH_SM_WRITE_DATA
+0X05 FLASH_SM_WAIT_WRITE_DATA
+
+
+//Flash Command
+0x02 FLASH_COMMAND_WRITE_DATA
+0x03 FLASH_COMMAND_READ_DATA
+0x06 FLASH_COMMAND_WRITE_ENABLE
+0x20 FLASH_COMMAND_SECTOR_ERASE
+0xAB FLASH_COMMAND_RELEASE_FROM_POWERDOWN
+0xB9 FLASH_COMMAND_POWERDOWN
+
+)
+(
+7 OTP_UFLAG_MEMFIX2
+6 OTP_UFLAG_MEMFIX1
+5 OTP_UFLAG_MEMFIX0
+4 OTP_UFLAG_BIST
+3 OTP_UFLAG_AES
+2 OTP_UFLAG_SKIP_EEP
+1 OTP_UFLAG_SKIP_FLASH
+0 OTP_UFLAG_HCI
+)
+(
+0 OTP_OFFSET_PATCH_PTR //2 byte
+2 OTP_OFFSET_UCODE_FLAG
+3 OTP_OFFSET_DEVICE_OPTION
+4 OTP_OFFSET_PERIPHERALS_LOCK
+5 OTP_OFFSET_SCHED_BISTFIX 	//2 byte
+7 OTP_OFFSET_XRAM_BISTFIX	//2 byte
+9 OTP_OFFSET_PATCH_BISTFIX	//2 byte
+
+0xfd0 OTP_OFFSET_ADC_PARAM_L
+0xff0 OTP_OFFSET_UCODE_KEY_L
+0x1000 OTP_OFFSET_H
+
+//0x1fd0 OTP_OFFSET_ADC_PARAM
+//0x1fec OTP_OFFSET_HV_SEL
+//0x1fed OTP_OFFSET_LDO_VSEL
+//0x1fee OTP_OFFSET_LOADCODE_DELAY
+//0x1fef OTP_OFFSET_LOADCODE_CHECKSUM
+0x1ff0 OTP_OFFSET_UCODE_KEY
+)
+(
+4 DVC_OP_DONGLE
+5 DVC_OP_TEST
+6 DVC_OP_SHUTTER_DY   
+8 DVC_OP_MOUSE
+9 DVC_OP_SHUTTER
+0X0A DVC_OP_MODULE
+0X0B DVC_OP_MESH
+0X0C DVC_OP_HCI_BOOT
+0X0D DVC_OP_REMOTE_CAR
+0X0E DVC_OP_CAR
+0X0F DVC_OP_KEYBOARD   
+)
+(
+7 GPIO_ACTIVE_BIT
+)
+(
+5 LPM_WAKE_UP_DELAY_TIMER
+)
+(
+2 APP_DISC_RSN_SIZE
+)
+(
+0 APP_DISC_BY_BUTTON
+7 APP_DISC_BLE
+)
+(
+0xaa55 EEPROM_INIT_FLAG
+)
+(
+1 KEY_CONF_STRUCT_LEN
+0 KEY_PIN_OFFSET
+)
+(
+12000000 PWM_12MHZ
+24000000 PWM_24MHZ
+33000 PWM_33KHZ
+)
+(
+0 POWER_OFF
+1 POWER_STARTING
+2 POWER_STANDBY
+)
+(
+0 power_state_offset
+1 power_timer_offset
+2 power_off_timeout_offset
+3 power_starting_timeout_offset
+4 power_off_cb_offset
+6 power_starting_cb_offset
+8 power_standby_cb_offset
+10 ui_butten_up_cb_offset
+)
+(
+0x9000 MOUSE_BLE_ATT_LIST_ADDR
+0x9272 USB_KBDATA_VENDOR_DEFINE_ADDR
+0x928d USB_KBDATA_ADDR
+0x92cd USB_MSDATA_ADDR
+0x9371 USB_DEVICEDATA_ADDR
+0x9384 USB_CONFDATA_ADDR
+0x93c0 BLE_SHUTTER_GATT_LIST_ADDR
+0x94f9 BLE_SHUTTER_KEY_VALUE_LIST_ADDR
+0x9521 BLE_CAR_ATT_LIST_ADDR
+0x95ed BLE_MESH_SHA256_ADDR
+0x97fc mem_sim_slave
+)
+(//NEC 61212
+9000 NEC61212_BOOT_CODE_START_TIME
+4500 NEC61212_BOOT_CODE_END_TIME
+
+9000 NEC61212_REPEAT_START_TIME
+2250 NEC61212_REPEAT_END_TIME
+
+560 NEC61212_DATA_BIT_1_START_TIME
+1690 NEC61212_DATA_BIT_1_END_TIME
+
+560 NEC61212_DATA_BIT_0_START_TIME
+560 NEC61212_DATA_BIT_0_END_TIME
+
+560 NEC61212_STOP_TIME
+
+42580 NEC61212_DATA2REPEAT_TIME
+98190 NEC61212_REPEAT2REPEAT_TIME
+
+0xffff NEC61212_TIMEOUT_TIME
+)
+(
+1 CLK_CALIBRATION_DONE
+2 RC_CLK_CALIBRATION_DONE
+3 AES_DEC_KEY_INIT_DONE
+4 MEASURE_ADC_SUM_DONE
+5 SARADC_DONE
+)
+(
+1 ADC_CONFIG_HVIN
+2 ADC_CONFIG_GPIO
+)
+(
+0 ADC_CH_VBAT
+1 ADC_CH_VDCDC5V
+6 ADC_CH_GPIO_4
+7 ADC_CH_GPIO_2
+8 ADC_CH_GPIO_1
+9 ADC_CH_GPIO_3
+10 ADC_CH_GPIO_0
+11 ADC_CH_GPIO_5
+12 ADC_CH_GPIO_6
+13 ADC_CH_GPIO_7
+)
+(
+0x06 ADC_CH_GPIO18
+0x07 ADC_CH_GPIO10
+0x08 ADC_CH_GPIO9
+0x09 ADC_CH_GPIO12
+0x0a ADC_CH_GPIO6
+0x0b ADC_CH_GPIO20
+0x0c ADC_CH_GPIO21
+0x0d ADC_CH_GPIO22
+0x0e ADC_CH_GPIO13
+)
+(
+//20ms
+0x0020	FAST_ADV_INTERVAL_VALUE_CAR
+)
+(
+0x19 ATT_CAR_CONTROL_HANDLE
+0x19 ATT_SPEED_SET_HANDLE
+)
+(
+0 TURN_FRONT
+1 TURN_LEFT
+2 TURN_RIGHT
+0 MOTOR_STOP
+1 GO_FRONT
+2 GO_BACK
+0x6b5a LE_RECEIVE_PACKET_HEAD
+)
+(
+0 FLAG_IR_DISABLE
+1 FLAG_IR_ENABLE
+)
+(
+0 DEVICE_CAR
+1 DEVICE_TANK
+2 DEVICE_BATTLE_CAR
+3 DEVICE_BATTLE_TANK
+4 DEVICE_REMOTE
+)
+(
+0 F_B_MOTOR
+1 L_R_MOTOR
+2 F_B_BATTERY
+3 L_R_BATTERY
+)
+(
+0 CAR_WORK	   		//connect mode normal
+1 CAR_BIND			//code pair mode
+2 CAR_TEST			//test mode
+3 CAR_CODE			//PC_application
+4 CAR_PCBA			//PCBA_TEST
+5 CAR_DEBUG
+6 CAR_MODE_MAX
+7 CAR_SEARCH
+)
+(
+1 SPEED_LEVEL_1
+2 SPEED_LEVEL_2
+3 SPEED_LEVEL_3
+4 SPEED_LEVEL_4
+5 SPEED_LEVEL_5
+6 SPEED_LEVEL_6
+7 SPEED_LEVEL_7
+8 SPEED_LEVEL_8
+9 SPEED_LEVEL_9
+10 SPEED_LEVEL_10
+)
+(
+0 PWM0_DUTY_SETTING
+1 PWM1_DUTY_SETTING
+2 PWM2_DUTY_SETTING
+)
+(
+1 CAR_CMD_BATTERY
+2 CAR_CMD_OLD_CAR_CONTROL
+3 CAR_CMD_OLD_SPEED_CONTROL
+4 CAR_CMD_L_R_MOTOR_CONTROL
+5 CAR_CMD_F_B_MOTOR_CONTROL
+6 CAR_CMD_IR_CONTROL
+7 CAR_CMD_LED_CONTROL
+8 CAR_CMD_DEVICE_INFO
+)
+(
+0 CAR_REMOTE_CHECK_BUTTON
+1 CAR_REMOTE_CHECK_ROCKER
+)
+(
+0x11 CAR_NOTIFY_HANDLE
+)
+(
+0 LED_OFF
+1 LED_ON
+2 LED_BLINK
+0xFF LED_INVALID
+)
+(
+0xFF INVALID_PIN_NUM
+)
+(
+0 POWER_ON
+1 WORK_PAIRED
+2 WORK_SEARCH
+)
+(
+0x700 OTP_OFFSET_CAR_COMMOM_START_ADDR 
+0x7cc OTP_OFFSET_CAR_COMMOM_END_ADDR 
+)
+(
+0x05 MS_TYPE
+0x0A KB_TYPE
+)
+(
+0x5A DONGLE_KB_BIND_SUCCESS
+0x1fdf DONGLE_KB_BIND_EFUSE_OFFECT
+0x1f00 DONGLE_KB_BIND_OTP_OFFECT
+)
+(
+//ms data type
+5 DATA_HEART
+6 DATA_DPI
+7 DATA_BATTERY
+
+//kb data type
+6 DATA_KEY_MATRIX
+)
+(
+0xA1 REPORT_ID_DATA_IN
+0xA2 REPORT_ID_DATA_OUT
+)
+(
+5 WORK_MODE_DELAY
+7 BIND_MODE_DELAY
+)
+(
+0 DONGLE_WORK	   		//connect mode normal
+1 DONGLE_BIND			//code pair mode
+2 DONGLE_TEST			//test mode
+3 DONGLE_CODE			//PC_application
+4 DONGLE_PCBA			//PCBA_TEST
+5 DONGLE_DEBUG
+6 DONGLE_MODE_MAX
+7 DONGLE_SEARCH
+0 CLEAR_INIT
+)
+(
+0xa0 COMMAND_MODE     //BYTE 0
+0x81 COM_MODE_BIND	//BYTE 1
+0x82 COM_MODE_TEST	//BYTE 1
+)
+(
+0xa1 COMMAND_BIND		//BYTE 0
+0x01 COM_BIND_GET		//1
+0x84 COM_BIND_EXIT		//1
+0xa7 COM_READ_MODE		//1
+)
+(
+0xa2 COMMAND_TEST	//BYTE 0
+0x81 COM_TEST_SC		//	进入单载波
+0x82 COM_TEST_CD		// fcc测试
+0x83 COM_TEST_DAT		// 数据测试
+0x84 COM_TEST_LOW_CH  //低频点
+0x85 COM_TEST_MID_CH	//中频点
+0x86 COM_TEST_HIG_CH	//高频点
+0x87 COM_TEST_SW_HIG	//自动切换频点为高 1mhz
+0x88 COIM_TEST_SW_LOW	//自动切换频点为低 1mhz
+0x89 COM_TEST_SW_STOP	//停止自动切换频点
+0x8a COM_TEST_POW_5		//设置输出功率5dbm
+0x8b COM_TEST_POW_0		//0dbm
+0x8c COM_TEST_POW_N5		//-5dbm
+0x8d COM_TEST_POW_N10		//-10dbm
+0x8e COM_TEST_EXIT			//退出测试模式
+)
+(
+0xa6 COMMAND_CURRENT_PROJECT
+0xa7 COMMAND_CURRENT_MODE
+0xa9 COMMAND_CURRENT_FW_VERSION
+0xb0 COMMAND_USER_DEFINED		//user defined cmd
+)
+(
+0x15 PRODUCT_ID
+0 FW_VERSION0
+0 FW_VERSION1
+1 FW_VERSION2
+7 FW_VERSION3
+)
+(
+640 TIMER_NODATA_DELAY	//200ms
+
+384 TIMER_MS_BLANK_DELAY
+
+384 TIMER_KB_MUL_BLANK_DELAY
+
+384 TIMER_KB_SYS_CRTL_BLANK_DELAY
+
+384 TIMER_KB_BLANK_DELAY
+)
+(
+0 KB_NORMAL_REPORT_ID
+1 MS_REPORT_ID
+2 KB_SYSTEM_CONCTRL_REPORT_ID
+3 KB_MULTIKEY_REPORT_ID
+)
+(
+0x01 BIND_ACKPAYLOAD
+0x03 KB_LED_ACKPAYLOAD
+0x08 PROTOCOL_ACKPAYLOAD
+)
+(
+7 DG_ENABLE_XTAL_24M
+6 DG_ENABLE_NEW_CHMAP
+5 DG_ENABLE_EEPROM
+4 DG_ENABLE_KB_ICON
+3 DG_ENABLE_24G_2M
+0 DG_ENABLE_NEW_REVISION
+)
+(
+0xED CMD_SET_MS_DPI_FUCTION
+0xEE CMD_SET_MS_B5_FUCTION
+0xEF CMD_SET_MS_B4_FUCTION
+0xF0 CMD_SET_MS_RKEY_FUCTION
+0xF1 CMD_SET_MS_MKEY_FUCTION
+0xF2 CMD_SET_SLEEP_TIMER
+0xF3 CMD_GET_DPI
+0xF4 CMD_SET_REPORT
+0xF5 CMD_SET_DPI
+0xF6 CMD_SET
+0xF7 CMD_CHECK_STATUS
+0xFA CMD_GET_KB_ADDR
+0xFB CMD_GET_RECEIVER_ADDR
+0xFC CMD_GET_IN_DATA
+0xFE CMD_GET_TRANSLEN
+0x7A CMD_SET_TEST
+0xA0 CMD_SET_KEY_MATRIX
+0xA1 CMD_GET_KEY_MATRIX
+)
+(
+0x00 DONGLE_KB_BIND_EEPROM_OFFECT
+)
+(
+0x01 DEVICE_DATA_TPYE_MOUSE
+0x02 DEVICE_DATA_TPYE_STANDARD_KEYBOARD
+0x03 DEVICE_DATA_TPYE_NONSTARNDARD_KEYBOARD
+0x04 DEVICE_DATA_TPYE_CONSUMER
+0x05 DEVICE_DATA_TPYE_SYSTEM_CONCTOL
+)
+(
+0x00 HID_REPORTID_KEY_STANDARD
+0x01 HID_REPORTID_MOUSE
+0x02 HID_REPORTID_SYSTEM_CTRL
+0x03 HID_REPORTID_CONSUMER_KEY
+)
+(
+0x04	 HID_KEY_A 	 
+0x05        HID_KEY_B 	 
+0x06        HID_KEY_C 	 
+0x07        HID_KEY_D 	 
+0x08        HID_KEY_E 	 
+0x09        HID_KEY_F 	 
+0x0a        HID_KEY_G 	 
+0x0b        HID_KEY_H 	 
+0x0c        HID_KEY_I  	 
+0x0d        HID_KEY_J 	 
+0x0e        HID_KEY_K 	 
+0x0f        HID_KEY_L 	 
+0x10        HID_KEY_M 	 
+0x11        HID_KEY_N 	 
+0x12        HID_KEY_O	 
+0x13        HID_KEY_P	 
+0x14        HID_KEY_Q	 
+0x15        HID_KEY_R	 
+0x16        HID_KEY_S	 
+0x17        HID_KEY_T	 
+0x18        HID_KEY_U	 
+0x19        HID_KEY_V	 
+0x1a        HID_KEY_W 	 
+0x1b        HID_KEY_X	 
+0x1c        HID_KEY_Y	 
+0x1d        HID_KEY_Z	 
+    
+0x1e        HID_KEY_1	 
+0x1f        HID_KEY_2	 
+0x20        HID_KEY_3	 
+0x21        HID_KEY_4	 
+0x22        HID_KEY_5	 
+0x23        HID_KEY_6	 
+0x24        HID_KEY_7	 
+0x25        HID_KEY_8	 
+0x26        HID_KEY_9	 
+0x27        HID_KEY_0	 
+    
+0x28        HID_KEY_ENTER 				 
+0x29        HID_KEY_ESC				 
+0x2a        HID_KEY_BACKSPACE		 
+0x2b        HID_KEY_TAB				 
+0x2c        HID_KEY_SPACE 				 
+0x2d        HID_KEY_MINUS				 		// -_
+0x2e        HID_KEY_EQUAL				 		// =+
+0x2f        HID_KEY_LEFT_BRACKET 		 	// [{
+0x30        HID_KEY_RIGHT_BRACKET 	 		// ]}
+0x31        HID_KEY_BACK_SLASH 		 		// \|
+    
+0x32        HID_KEY_K42				 
+0x33        HID_KEY_SEMICOLON			 	// ;:
+0x34        HID_KEY_QUOTE				 		// ' "
+0x35        HID_KEY_TILDE				 		// `~
+0x36        HID_KEY_LESS_THAN			 		// ,<
+0x37        HID_KEY_GREAT_THAN		 		// .>
+0x38        HID_KEY_SLASH				 		// /?
+0x39        HID_KEY_CAPS_LOCK			 
+
+0x3a        HID_KEY_F1		 
+0x3b        HID_KEY_F2		 
+0x3c        HID_KEY_F3		 
+0x3d        HID_KEY_F4		 
+0x3e        HID_KEY_F5		 
+0x3f        HID_KEY_F6		 
+0x40        HID_KEY_F7		 
+0x41        HID_KEY_F8		 
+0x42        HID_KEY_F9		 
+0x43        HID_KEY_F10	 
+0x44        HID_KEY_F11	 
+0x45        HID_KEY_F12	 
+    
+0x46        HID_KEY_PRINT_SCREEN	 
+0x47        HID_KEY_SCROLL_LOCK	 
+0x48        HID_KEY_PAUSE			 
+0x49        HID_KEY_INSERT			 
+0x4a        HID_KEY_HOME			 
+0x4b        HID_KEY_PAGE_UP		 
+0x4c        HID_KEY_DELETE		 
+0x4d        HID_KEY_END			 
+0x4e        HID_KEY_PAGE_DOWN	 
+        
+0x4f        HID_KEY_RIGHT_ARROW	 
+0x50        HID_KEY_LEFT_ARROW	 
+0x51        HID_KEY_DOWN_ARROW	 
+0x52        HID_KEY_UP_ARROW		 
+        
+0x53        HID_KEY_NUM_LOCK		 
+0x54        HID_KEY_KP_SLASH		 
+0x55        HID_KEY_KP_ASTERISK	 
+0x56        HID_KEY_KP_MINUS		 
+0x57        HID_KEY_KP_PLUS		 
+0x58        HID_KEY_KP_ENTER		 
+0x59        HID_KEY_KP_1			 
+0x5a        HID_KEY_KP_2			 
+0x5b        HID_KEY_KP_3			 
+0x5c        HID_KEY_KP_4			 
+0x5d        HID_KEY_KP_5			 
+0x5e        HID_KEY_KP_6			 
+0x5f        HID_KEY_KP_7			 
+0x60        HID_KEY_KP_8			 
+0x61        HID_KEY_KP_9			 
+0x62        HID_KEY_KP_0			 
+0x63        HID_KEY_KP_DEL		 
+  
+0x64        HID_KEY_K45			 
+0x65        HID_KEY_APP			 
+0x66        HID_KEY_POWER			 
+0x67        HID_KEY_KP_EQUAL		 
+        
+       
+0x87        HID_KEY_K56				 
+0x88        HID_KEY_K133  				 
+0x89        HID_KEY_K14  				 
+0x8a        HID_KEY_K132  				 
+0x8b        HID_KEY_K131 				 
+    
+0x90        HID_KEY_KR_R  				 
+0x91        HID_KEY_KR_L  				 
+        
+0xe0        HID_KEY_LEFT_CTRL			 
+0xe1        HID_KEY_LEFT_SHIFT			 
+0xe2        HID_KEY_LEFT_ALT 			 
+0xe3        HID_KEY_LEFT_GUI 			 
+0xe4        HID_KEY_RIGHT_CTRL			 
+0xe5        HID_KEY_RIGHT_SHIFT		 
+0xe6        HID_KEY_RIGHT_ALT			 
+0xe7        HID_KEY_RIGHT_GUI			 
+
+0xe8 	HID_KEY_MULTIKEY_MEDIA
+0xe9 	HID_KEY_MULTIKEY_PALY
+0xea 	HID_KEY_MULTIKEY_STOP
+0xeb 	HID_KEY_MULTIKEY_PRE_TRACK
+0xec 	HID_KEY_MULTIKEY_NEXT_TRACK
+0xed 	HID_KEY_MULTIKEY_VOL_DOWN
+0xee 	HID_KEY_MULTIKEY_VOL_UP
+0xef 	HID_KEY_MULTIKEY_MUTE
+0xf0 	HID_KEY_MY_COMPUTER
+0xf1 	HID_KEY_MAIL
+0xf2 	HID_KEY_CALCULATOR
+0xf3 	HID_KEY_LIGHT_DOWN
+0xf4 	HID_KEY_LIGHT_UP
+0xf5 	HID_KEY_AC_FAVORITES
+0xf6 	HID_KEY_AC_FORWARD
+0xf7 	HID_KEY_AC_BACK
+0xf8 	HID_KEY_AC_STOP
+0xf9 	HID_KEY_AC_REFRESH
+0xfa 	HID_KEY_AC_SEARCH
+0xfb 	HID_KEY_AC_HOME
+0xfc 	HID_KEY_IOS_ANDROID_OS_LOCK
+0xfd 	HID_KEY_OS_SOFT_KB
+0xfe 	HID_KEY_OS_LANGUAGE
+0xff 	HID_KEY_SYSTEM_SLEEP
+        // 0xe8~0xff reserved
+0xa5	HID_KEY_SELECT_ALL
+0xa6 	HID_KEY_COPY
+0xa7	HID_KEY_PASTE
+0xa8	HID_KEY_CUT
+0xa9	HID_KEY_ALL_OS_LOCK
+0xaa	HID_KEY_OSK
+0xab	HID_KEY_LANGUAGE
+0xac 	HID_KEY_APP_TILING
+	 // 0xa5~0xaf reserved
+0x7f     	HID_KEY_FN 					 
+0xde     	HID_KEY_PB
+0x00     	HID_KEY_NULL 				 
+)
+(
+0x01 LEFT_CONTROL
+0x02 LEFT_SHIFT
+0x04 LEFT_ALT
+0x08 LEFT_GUI
+0x10 RIGHT_CONTROL
+0x20 RIGHT_SHIFT
+0x40 RIGHT_ALT
+0x80 RIGHT_GUI
+0x09 LEFT_GUI_CONTROL
+0x0a LEFT_SHIFT_GUI
+)
+(
+0x00 KB_PC_KEYSEL_NUMLOCK
+0x01 KB_PC_KEYSEL_CAPSLOCK
+0x02 KB_PC_KEYSEL_SCROLLLOCK
+)
+(
+8 KEYSCAN_COL_NUM
+20 KEYSCAN_ROW_NUM
+)
+(
+0 CAMMBINATION_KEY_FREE
+1 CAMMBINATION_KEY_PRESS
+2 CAMMBINATION_KEY_HOLD
+3 CAMMBINATION_KEY_COMPLETE
+4 CAMMBINATION_KEY_WAIT_RELEASE
+5 CAMMBINATION_KEY_RELEASE
+6 CAMMBINATION_KEY_NULL
+)
+(
+
+0x600 PNP_MICROSOFT
+0x4c00 PNP_IOS
+0x1208 PNP_MAC
+
+
+0 SYSTEM_OS_WINDOWS
+1 SYSTEM_OS_ANDRIOD
+2 SYSTEM_OS_IOS
+3 SYSTEM_OS_MAC
+
+)
+(
+0 KEYBOARD_CONSUMER_KEY_STANDBY
+1 KEYBOARD_CONSUMER_KEY_PRESS
+2 KEYBOARD_CONSUMER_KEY_RELEASE
+)
+(//mem_module_flag
+//bit0~bit7 config module function
+0 MODULE_FLAG_UART_FLOW_CONTROL
+1 MODULE_FLAG_BLE_SEND_MTU23
+2 MODULE_FLAG_BLE_DATA_ENCRYPT
+
+//bit8~bit15 module states change
+8 MODULE_FLAG_BLE_DATA_FINISH
+
+)
+(
+34 NV_DATA_LEN
+-1 DECREASED_ONE
+)
+(
+	5 FLAG_MODULE_READ_VDD_COUNT
+)
+(
+0x01 HCI_DISCARD_PACKET
+0x00 HCI_NOT_DISCARD_PACKET
+)
+(//Command
+0x01 HCI_CMD_SET_LE_ADDR_REQ
+0x02 HCI_CMD_SET_VISIBILITY_REQ
+0x04 HCI_CMD_SET_LE_NAME_REQ
+0x09 HCI_CMD_LE_DATA_REQ
+0x0b HCI_CMD_STATUS_IRQ
+0x0e HCI_CMD_SET_UARTCONTROL_REQ
+0x0f HCI_CMD_SET_UART_BAUD_REQ
+0x10 HCI_CMD_VERSION_REQ
+0x12 HCI_CMD_BLE_DISCONNECT
+0x13 HCI_CMD_DELETE_DEVICE
+0x14 HCI_CMD_CREATE_CONNECT
+0x26 HCI_CMD_SET_NVRAM_REQ
+0x27 HCI_CMD_SLEEP
+0x28 HCI_CMD_CONFIRM_GKEY
+0x2a HCI_CMD_AUTO_ADV_SCAN
+0x2b HCI_CMD_POWER_REQ
+0x2c HCI_CMD_POWER_SET
+0x30 HCI_CMD_PASSKEY_ENTRY
+0x31 HCI_CMD_SET_GPIO
+0x32 HCI_CMD_READ_GPIO
+0x33 HCI_CMD_LE_SET_PAIRING
+0x34 HCI_CMD_LE_SET_ADV_DATA
+0x35 HCI_CMD_LE_SET_SCAN_DATA
+0x36 HCI_CMD_LE_SEND_CONN_UPDATE_REQ
+0x37 HCI_CMD_LE_SET_ADV_PARM
+0x38 HCI_CMD_LE_START_PAIRING
+0x40 HCI_CMD_SET_WAKE_GPIO
+0x42 HCI_CMD_SET_TX_POWER
+0x43 HCI_CMD_BOOT_VERSION_REQ
+0x48 HCI_CMD_LE_CONFIRM_GKEY
+0x49 HCI_CMD_REJECT_JUSTWORK
+0x51 HCI_CMD_RESET_CHIP_REQ
+
+0x61 HCI_CMD_LE_SET_FIXED_PASSKEY
+
+0x76 HCI_CMD_DELETE_CUSTOMIZE_SERVICE
+0x77 HCI_CMD_ADD_SERVICE_UUID
+0x78 HCI_CMD_ADD_CHARACTERISTIC_UUID
+0x7a HCI_CMD_PASSKEY_ENTRY_INPUT
+0x7b HCI_CMD_LE_CREAT_CONN
+
+0x90 HCI_CMD_BLE_SET_PHY
+0x91 HCI_CMD_BLE_READ_CURRENT_PHY
+0x92 HCI_CMD_BLE_SET_DLE
+0x93 HCI_CMD_READ_CHIP_DATA
+0x94 HCI_CMD_WRITE_CHIP_DATA
+ifdef COMPILE_WECHAT
+0x95 HCI_CMD_WECHAT_SEND_DATA
+endif
+0xff HCI_CMD_CLOSE_LPM
+)
+(//event
+0x00 HCI_EVENT_SPP_CONN_REP
+0x01 HCI_EVENT_HID_CONN_REP
+0x02 HCI_EVENT_LE_CONN_REP
+0x03 HCI_EVENT_SPP_DIS_REP
+0x04 HCI_EVENT_HID_DIS_REP
+0x05 HCI_EVENT_LE_DIS_REP
+0x06 HCI_EVENT_CMD_RES
+0x07 HCI_EVENT_SPP_DATA_REP
+0x08 HCI_EVENT_LE_DATA_REP
+0x09 HCI_EVENT_STANDBY_REP
+
+0x0a HCI_EVENT_STATUS_RES
+
+0x0D HCI_EVENT_NVRAM_REP
+0x0e HCI_EVENT_GKEY
+0x0F HCI_EVENT_INVALID_PACKET
+0x10 HCI_EVENT_GET_PASSKEY
+0x11 HCI_EVENT_LE_TK
+0x12 HCI_EVENT_REMOTE_MTU
+0x14 HCI_EVENT_LE_PAIRING_STATE
+0X15 HCI_EVENT_LE_ENCRYPTION_STATE
+0x17 HCI_EVENT_LE_CONNECTION_UPDATE
+0x1d HCI_EVENT_LE_GKEY
+0x29 HCI_EVENT_UUID_HANDLE
+0x2b HCI_EVENT_LE_INPUT_GKEY
+
+0x40 HCI_BLE_UPDATE_PHY_EVENT
+ifdef COMPILE_WECHAT
+0x41 HCI_BLE_WECHAT_RECEIVE_PUSH_DATA
+endif
+)
+(//command HCI_CMD_SET_GPIO
+//byte 0
+0x00 HCI_CMD_CONFIG_GPIO_INPUT
+0x01 HCI_CMD_CONFIG_GPIO_OUTPUT
+//byte 1 input state
+0x00 GPIO_INPUT_PULLUP
+0x01 GPIO_INPUT_PULLDOWN
+0x02 GPIO_INPUT_HIGH_IMPEDANCE
+)
+(
+0x0080	FLAG_BLE_PAIRING_SUCCESS
+0x0180	FLAG_BLE_PAIRING_FAIL
+)
+(
+1	FLAG_EVENT_START_ENC
+0	FLAG_EVENT_PAUSE_ENC
+)
+(
+0 MOUDLE_STATE_BT_BIT
+1 MOUDLE_STATE_BLE_BIT
+)
+(
+5 BIT_OF_NOTIFY_AUTHENTICATED
+6 BIT_OF_READ_AUTHENTICATED
+7 BIT_OF_WRITE_AUTHENTICATED
+)
+(
+(
+0x00 PEN_KEY0
+0x01 PEN_KEY1
+0x02 PEN_KEY2
+0x03 PEN_KEY3
+0x04 PEN_KEY4
+0x05 PEN_KEY5
+0x06 PEN_KEY6
+0x07 PEN_KEY7
+)
+(
+0x07 KEY_PRESS_COUNT
+0x00 KEY_PRESS_NONE
+)
+(
+//combination
+0x01 MOUSE_L_BUTTON
+0X02 MOUSE_R_BUTTON
+0x03 MOUSE_LR_BUTTON
+0X04 MOUSE_M_BUTTON
+0X05 MOUSE_LM_BUTTON
+0X06 MOUSE_RM_BUTTON
+0X07 MOUSE_LMR_BUTTON
+0x09 MOUSE_L_BK_BUTTON
+0x0a MOUSE_R_BK_BUTTON
+0x11 MOUSE_L_FW_BUTTON
+0x12 MOUSE_R_FW_BUTTON
+0x12 MOUSE_M_BK_BUTTON
+0x14 MOUSE_M_FW_BUTTON
+0X18 MOUSE_BK_FW_BUTTON
+//mouse default gpio
+0x1B MOUSE_DEFAULT_XA_GPIO
+0x1C MOUSE_DEFAULT_XB_GPIO
+
+//ui led blink
+0X00C8  LED_RECONNECT_BLINK //200
+0X0190  LED_DPI_BLINK //400
+0X03E8  LED_DPI_BLINK_FIXED    //1000
+0X03E8  LED_DISCOVERY_BLINK    //1000
+0XFF    LED_LONG_BLINK
+0x05	LED_SENSOR_BLINK_CNT
+//mode device number
+0x00 MODE_24G_DEVICE
+0x01 MODE_BT_DEVICE1
+0x02 MODE_BT_DEVICE2
+0x03 MODE_BT_DEVICE3
+//mouse  flag
+0X00 WRITE_REQ_ENABLE_FLAG
+0X01 LL_START_ENC_FLAG
+0X02 LL_PAIRING_SUCCESS_FLAG
+
+
+//mouse_function_flag
+0x08 MOUSE_FLAG_LEN
+//byte 1
+0x00 MOUSE_SELECT_DEVICE_FLAG
+0x01 MOUSE_24G_PAIRING_FLAG
+0x02 MOUSE_STORE_EEPROM_FLAG
+0x03 MOUSE_BT_CANNEL_RECONN_FLAG
+0x04 MOUSE_LOW_VOLTAGE_FLAG
+0x05 MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG
+0x06 MOUSE_BT_DISCOVERY_BUTTON_LONG_DOWN_FLAG
+
+//byte 2
+0x08 MOUSE_ENABLE_BLE_RANDOM_ADDRE
+0x09 MOUSE_ENABLE_2K_EEPROM
+0x0a MOUSE_ENABLE_INIT_DELAY
+0x0b MOUSE_ENABLE_WAKEUP_FROM_POWER
+0x0c MOUSE_ENABLE_16M
+0x0d MOUSE_ENABLE_USB
+0x0e MOUSE_ENABLE_24G_SEARCH_DONGLE
+0x0f MOUSE_ENABLE_LOAD_AND_STORE_DPI
+
+//byte 3
+0x10 MOUSE_ENABLE_SPI2
+0x11 MOUSE_ENABLE_24G
+0x12 MOUSE_ENABLE_FLASH
+0x13 MOUSE_ENABLE_EEPROM
+0x14 MOUSE_ENABLE_OTP
+0x15 MOUSE_ENABLE_ADC
+0x16 MOUSE_ENABLE_KEYBOARD
+0x17 MOUSE_ENABLE_DOUBLE_DPI_KEY
+
+//byte 4
+0x18 MOUSE_ENABLE_24G_250Hz
+0x19 MOUSE_ENABLE_24G_500Hz
+0x1a MOUSE_ENABLE_24G_1000
+0x1b MOUSE_ENABLE_BT_125Hz
+0x1c MOUSE_ENABLE_DPI_LEVEL_4
+0x1d MOUSE_ENABLE_USB_250
+0x1e MOUSE_ENABLE_USB_500
+0x1f MOUSE_ENABLE_USB_1000
+
+//byte 5
+0x20 MOUSE_ENABLE_1IO2LED
+0x21 MOUSE_ENABLE_BT_RECONN_LED_EFFECT
+0x22 MOUSE_ENABLE_LOW_LED_BLINK_LIMIT
+0x23 MOUSE_ENABLE_LOW_LED
+0x24 MOUSE_ENABLE_LOW_FOR_LED
+0x25 MOUSE_ENABLE_DPI_FOR_LED
+0x26 MOUSE_ENABLE_DPI_LOW_FOR_LED
+
+//byte 6
+0x28 MOUSE_ENABLE_SELECT_DEVICE_BY_DPI_BUTTON
+0x29 MOUSE_ENABLE_SELECT_DEVICE_BY_PB_BUTTON
+0x2a MOUSE_ENABLE_SELECT_DEVICE_BY_SWITCH_GPIO
+0x2b MOUSE_ENABLE_DPI_KEY_CONNECT_GND
+0x2c MOUSE_ENABLE_ANOTHER_DPI_KEY_CONNECT_GND
+0x2d MOUSE_ENABLE_PB_BUTTON_CONNECT_GND
+0x2e MOUSE_ENABLE_FIRE_KEY_CONNECT_GND
+0x2f MOUSE_ENABLE_CUSTOMER_KEY_CONNECT_VIN_OR_MATRIX
+
+//byte 7 
+0x30 MOUSE_ENABLE_AUTO_24G_PARING
+0x31 MOUSE_ENABLE_24G_POWER_ON_PAIRING
+0x32 MOUSE_ENABLE_COMMBINATION_KEY_BY_24G_PAIRING
+0x33 MOUSE_ENABLE_BT_RECONNECT_TIMEOUT_ENTER_DISCOVERY
+0x34 MOUSE_ENABLE_PB_BUTTON_SHORT_PRESS_ENTER_DISCOVERY
+0x35 MOUSE_ENABLE_COMMBINATION_KEY_BY_BT_DISCOVERY
+0x36 MOUSE_ENABLE_DPI_KEY_LONG_PRESS_DISCONVERY
+0x37 MOUSE_ENABLE_PB_BUTTON_LONG_PRESS_DISCONVERY
+
+//byte 8
+0x38 MOUSE_ENABLE_SMOOTHER
+0x39 MOUSE_ENABLE_XY_OFFSET
+0x3a MOUSE_ENABLE_24G_AUTO_PAIR_NERVER_BEEN_PAIRED
+0x3b MOUSE_ENABLE_LE_BATTERY_SERVICE_CANCEL
+0x3c MOUSE_ENABLE_WHEEL_WAKE_UP_CANCEL
+0x3d MOUSE_ENABLE_24G_2M_PHY
+0x3e MOUSE_ENABLE_24G_FIRST_AUTO_PAIRING
+//mouse dpi level
+0x00 MOUSE_DPI_LEVEL1
+0x01 MOUSE_DPI_LEVEL2
+0x02 MOUSE_DPI_LEVEL3
+0x03 MOUSE_DPI_LEVEL4
+
+
+//mouse sensor angle
+0x00 MOUSE_6CLK_ANGLE
+0X01 MOUSE_9CLK_ANGLE
+0X02 MOUSE_12CLK_ANGLE
+0X03 MOUSE_3CLK_ANGLE
+
+
+
+0xFF GPIO_DISABLE
+
+//DPI button state 
+0x00 DPI_BUTTON_STATE_UP
+0x01 DPI_BUTTON_STATE_DOWN
+
+
+//PB button state 
+0x00 PB_BUTTON_STATE_UP
+0x01 PB_BUTTON_STATE_DOWN
+
+//Commbination_key state 
+0x00 COMMBINATION_KEY_STATE_UP
+0x01 COMMBINATION_KEY_STATE_DOWN
+
+
+//eeprom address offect
+0X00 MOUSE_INFO_EEPROM_OFFECT
+0x58 MOUSE_STORE_FLAG
+0X5A MOUSE_DPI_EEPROM_OFFECT	//1byte
+0X5B MOUSE_G24_ADDR_EEPROM_OFFECT	//4bytes
+0X5F MOUSE_RANDOM_ADDR_COUNT_EEPROM_OFFSET	//2bytes
+0X61 MOUSE_EEPROM_MODULE_INIT_FLAG
+
+// Sensor id number
+0x30 P32XX_ID1
+0x31 P3065_ID1
+0x02 P3212_ID2
+0xD1 P3205_TJ3T_ID2
+0XD2 P3204_TJ3L_ID2
+0x54 PKA8_ID2
+0x70 P3065_XY_ID2
+0x00 P3065_ID2
+0x5a P_MX8650
+0xD8 P8009_ID2
+0x50 P6520A_ID2
+0x58 PKA8G2_ID1
+0x59 PKA8G2_ID2
+
+
+//Sensor type
+0X00 P3205
+0X01 P3065
+0X02 P3204
+0X03 P3212
+0X04 P3065_XY
+0x05 MX8650
+0x06 P8009
+0x07 P6520
+0X08 KA8
+0X09 KA8_UL
+0X0a KA8_HD
+0X0b KA8G2
+0X0c S201X
+
+
+//SENSOR REG
+0x00 PAN_REG_PID_L
+0x01 PAN_REG_PID_H
+0x02 PAN_REG_MOTION_STAUS
+0x03 PAN_REG_DELTA_X
+0x04 PAN_REG_DELTA_Y
+0x05 PAN_REG_OPRATION_MODE
+0x06 PAN_REG_CONFIG
+0x07 PAN_REG_IMAGE_QUALITY
+0x08 PAN_REG_OPRATION_STATE
+0x09 PAN_REG_WRITE_PROTECT
+0x0A PAN_REG_SLEEP_1
+0x0B PAN_REG_ENTER_TIME
+0x0C PAN_REG_SLEEP_2
+0x0D PAN_REG_IMAGE_THRESHOLD
+0x0E PAN_REG_IMAGE_RECGNITION
+
+
+0x06 MOUSE_DPI_ADDRESS
+0x05 MOUSE_P3610_DPI_ADDRESS
+0x0D MOUSE_P3212_DPI_XADDRESS
+0x0E MOUSE_P3212_DPI_YADDRESS
+
+)
+(
+0x01 ADV_FLAG_LIMITED_DISCOVERABLE
+0x04 ADV_FLAG_BREDR_NOT_SUPPORTED
+)
+(
+2 BIT_POWER_ON
+)
+(
+1 MODE_4_MOUSE
+)
+(
+10 LE_LPM_DISABLE_TO
+1 LE_LPM_DISABLE
+0 LE_LPM_ENABLE
+
+12 LE_INTERVAL_15MS
+9 LE_INTERVAL_11_25MS//11.25ms
+7 LE_INTERVAL_8_75MS//8.75ms
+6 LE_INTERVAL_7_5MS//7.5ms
+12 CLASSIC_INTERVAL_7_5MS
+14 CLASSIC_INTERVAL_8_75MS
+18 CLASSIC_INTERVAL_11_25MS
+)
+(
+0x00 MOUSE_L_KEY
+0x01 MOUSE_R_KEY
+0x02 MOUSE_M_KEY
+0x03 MOUSE_BK_KEY
+0x04 MOUSE_FW_KEY
+0x05 MOUSE_DPI_KEY
+0x06 MOUSE_PB_KEY
+0x07 MOUSE_CUSTOMER_KEY
+0x00 MOUSE_DPI_ANOTHER_KEY
+)
+(
+0 G24_DISCONN_STATE
+1 G24_CONN_STATE
+
+8 G24_CH_NUMBER
+16 G24_CH_POLL_COUNT
+)
+(
+0 MOUSE_ADC_CHECK_BATTERY_ONLY
+1 MOUSE_ADC_CHECK_MULTIPLE
+2 MOUSE_ADC_CHECK_GPIO_MULTIPLE
+3 MOUSE_ADC_CHECK_HVIN_MULTIPLE
+)
+(
+0x5a MOUSE_USB_INTERFACE_INSERT
+0xa5 MOUSE_USB_INTERFACE_REMOVE
+)
+(
+0x10 MOUSE_BLE_L2CAP_TXBUFF_SIZE
+)
+(
+0 MOUSE_ADC_ENABLE
+1 MOUSE_SEARCH_DONGLE_ENABLE
+2 MOUSE_24G_250HZ_ENABLE
+3 MOUSE_CLK_16M_ENABLE
+4 MOUSE_DPI_4_LEVEL_ENABLE
+5 MOUSE_KEYBOARD_ENABLE
+
+7 MOUSE_DEVICE_NUMBER_FLAG
+)
+(
+0 MULTI_LED_ON
+1 MULTI_LED_BLINK
+)
+(
+// eeprom config
+0xb0 REMOTE_PARAM_EEPROM_CONFIG_ADDR
+//eeprom address offect
+0X00 REMOTE_INFO_EEPROM_OFFECT
+
+)
+(
+0x00 CONTROL_F_B_MOTOR
+0x02 CONTROL_L_R_MOTOR
+)
+(
+0x00 KEY_MAP_TEN
+0x01 KEY_MAP_LR
+)
+(
+0x00 CONTROL_F_B_TEN
+0x02 CONTROL_L_R_TEN
+0x03 CONTROL_L_R_LR
+)
+(
+0 KEY_CHECK
+1 ROCKER_CHECK
+)
+(
+1 MOTOR_POSITIVE
+2 MOTOR_NEGATIVE
+)
+(
+0 ROCKER_MIDDLE_KEY
+1 ROCKER_POSITIVE_KEY
+2 ROCKER_NEGATIVE_KEY
+)
+(
+0x700 OTP_OFFSET_REMOTE_COMMOM_START_ADDR 
+0x7cc OTP_OFFSET_REMOTE_COMMOM_END_ADDR 
+)
+(
+0 BLE_SHUTTER
+1 CLASSIC_SHUTTER
+)
+(
+0x0000 NVRAM_EEPROM_OFFSET
+)
+(
+0x1b3a SHUTTER_EEPROM_CONFIG_CRC
+)
+(
+5 MAX_QUEUE_NUM
+5 SHUTTER_BLE_DATA_BUFFER
+5 SHUTTER_CLASSIC_DATA_BUFFER
+)
+(
+0x13	GATT_CONSUMER_NOTIFY_HANDLE
+0x14	GATT_CONSUMER_WRITE_HANDLE
+0x17	GATT_KEYBOARD_NOTIFY_HANDLE
+0x18	GATT_KEYBOARD_WRITE_HANDLE
+)
+(
+//20ms
+0x0020	FAST_ADV_INTERVAL_VALUE
+//100ms
+0x00a0	SLOW_ADV_INTERVAL_VALUE
+)
+(
+0 ATT_BIT_NOTIFICATION
+1 ATT_BIT_INDICATION
+)
+(
+0 HARD_SWITCH
+1 SOFT_SWITCH
+)
+(
+1  FLAG_SHUTTER_HID_DISCONN_TIMEOUT
+5 FLAG_SHUTTER_CABLE_UNPLUG_TIMEOUT
+)
+(//Data Rom Buffer Addr
+313		BLE_GATT_LIST_SIZE
+487		BT_SDP_LIST_SIZE
+40		BLE_KEY_VALUE_LIST_SIZE
+40		BT_KEY_VALUE_LIST_SIZE
+)
+(//soft switch power state
+0		SS_STATE_POWER_UP
+1		SS_STATE_POWER_ON
+2		SS_STATE_POWER_OFF
+)
+(
+0		SS_POWER_STATE_OFFSET
+1		SS_POWER_ON_TIME
+2		SS_POWER_OFF_TIME
+3		SS_POWER_ON_CB
+5		SS_POWER_OFF_CB
+
+)
+(
+
+0x4FFE SIM_IIC_SCL_GPIO_NUM
+0x4FFF SIM_IIC_SDA_GPIO_NUM
+
+)
+(
+0 SHUTTER_TYPE
+1 SHUTTER_DY_TYPE
+)
+(
+10 MAX_QUEUE_NUM_COMBINEKEY
+15 MAX_QUEUE_NUM_RELEASE
+3 MAX_QUEUE_NUM_LONG
+3 MAX_QUEUE_NUM_LONG_RELEASE
+10 MAX_QUEUE_NEW_PRESS
+
+10 EVERY_PAYLOAD_LEN
+)
+(
+0x24	GATT_KEYBOARD_WRITE_HANDLE_NEW
+)
+(//Data Rom Buffer Addr
+640		BT_DY_KEY_VALUE_LIST_SIZE
+)
+(
+0x05   SHUTTER_PARA_TOTAL_NUM
+//0x7b0  SHUTTER_EFUSE_START_OFFECT	//璧峰鍦板潃
+//0x680  SHUTTER_EFUSE_END_OFFECT	       //缁撴潫鍦板潃
+)
+(
+//uart config
+115200 UART_BAUD
+)
+(
+10 SHUTTER_KEY_CONF_SATE_BYTES
+0 KEY_STATE_PRESS_CLK_OFFSET
+4 KEY_STATE_PRESS_COUNT_OFFSET
+5 KEY_STATE_RELEASE_CLK_OFFSET
+9 KEY_STATE_LONGPRESS_OFFSET
+4 KEY_STATE_PRESS_CLK_LENGTH
+1 KEY_STATE_PRESS_COUNT_LENGTH
+4 KEY_STATE_RELEASE_CLK_LENGTH
+1 KEY_STATE_LONGPRESS_LENGTH
+)
+(
+0  SHUTTER_RIGHT_KEY_NUM
+1  SHUTTER_LIKE_KEY_NUM
+2  SHUTTER_DOWN_KEY_NUM
+3  SHUTTER_PHOTO_KEY_NUM
+4  SHUTTER_UP_KEY_NUM
+5  SHUTTER_LEFT_KEY_NUM
+6  SHUTTER_MOVE_KEY_NUM
+7  SHUTTER_FUN_KEY_NUM
+)
+(
+//0xaa ANDROID_INITIAL_MOVE_X //170
+//0x78 ANDROID_INITIAL_MOVE_Y //120
+//0x69 IPHONE_INITIAL_MOVE_X
+//0x38 IPHONE_INITIAL_MOVE_Y
+0X0a ANDROID_EVERY_MOVE_SIZE
+0x07 IPHONE_EVERY_MOVE_SIZE
+0x62 IPHONE_ONCE_MAX_MOVE_VALUE
+)
+(
+0x00 MOVE_COMBINE_KEY
+0x01 MOVE_SINGLE_KEY
+)
+(
+//6key or 7key conf
+6 SHUTTER_SIX_KEY
+7 SHUTTER_SEVEN_KEY
+8 SHUTTER_EIGHT_KEY
+)
+(
+0x07 HCI_UART_TX_GPIO_NUM
+0x06 HCI_UART_RX_GPIO_NUM
+0x09 HCI_UART_RTS_GPIO_NUM
+0x0a HCI_UART_CTS_GPIO_NUM
+0x0c HCI_PMW_12MHZ_GPIO_NUM
+)
+(
+0x00 COMMAND_SUCCEEDED
+0x01 COMMAND_UNKNOWN
+0x0c COMMAND_DISALLOWED
+)
+(
+0x01 HCI_H4_TYPE_CMD
+0x02 HCI_H4_TYPE_ACL
+0x04 HCI_H4_TYPE_EVENT
+)
+(
+0x00 BT_ACL_START_NO_FLUSH
+0x01 BT_ACL_CONT
+0x02 BT_ACL_START
+)
+(
+0x01 HCI_OGF_LINK_CONTROL
+0x02 HCI_OGF_LINK_POLICY
+0x03 HCI_OGF_CONTROLLER_AND_BASEBAND
+0x04 HCI_OGF_INFOMATIONAL_PARAM
+0x05 HCI_OGF_STATUS_PARAM
+0x06 HCI_OGF_TEST
+0x08 HCI_OGF_LE_CONTROLLER
+0x3f HCI_OGF_VENDOR_SPECIFIC_DEBUG
+)
+(
+0x01 HCI_INQUIRY 
+0x02 HCI_INQUIRY_CANCEL 
+0x03 HCI_PERIODIC_INQUIRY_MODE 
+0x04 HCI_EXIT_PERIODIC_INQUIRY_MODE 
+0x05 HCI_CREATE_CONNECTION 
+0x06 HCI_DISCONNECT 
+0x07 HCI_ADD_SCO_CONNECTION 
+0x08 HCI_CREATE_CONNECTION_CANCEL
+0x09 HCI_ACCEPT_CONNECTION 
+0x0A HCI_REJECT_CONNECTION 
+0x0B HCI_LINK_KEY_REQUEST_REPLY 
+0x0C HCI_LINK_KEY_REQUEST_NEGATIVE_REPLY 
+0x0D HCI_PIN_CODE_REQUEST_REPLY 
+0x0E HCI_PIN_CODE_REQUEST_NEGATIVE_REPLY 
+0x0F HCI_CHANGE_CONNECTION_PACKET_TYPE 
+0x11 HCI_AUTHENTICATION_REQUESTED 
+0x13 HCI_SET_CONNECTION_ENCRYPTION 
+0x15 HCI_CHANGE_CONNECTION_LINK_KEY 
+0x17 HCI_MASTER_LINK_KEY 
+0x19 HCI_REMOTE_NAME_REQUEST 
+0x1A HCI_REMOTE_NAME_REQUEST_CANCEL
+0x1B HCI_READ_REMOTE_SUPPORTED_FEATURES 
+0x1C HCI_READ_REMOTE_EXT_FEATURES 
+0x1D HCI_READ_REMOTE_VERSION_INFORMATION 
+0x1F HCI_READ_CLOCK_OFFSET 
+0x20 HCI_READ_LMP_HANDLE
+0x28 HCI_SETUP_SCO_CONNECTION
+0x29 HCI_ACCEPT_SCO_CONNECTION
+0x2A HCI_REJECT_SCO_CONNECTION
+0x2B HCI_IO_CAP_REQUEST_REPLY
+0x2C HCI_USER_CONFIRMATION_REQUEST_REPLY
+0x2D HCI_USER_CONFIRMATION_REQUEST_NEGATIVE_REPLY
+0x2E HCI_USER_PASSKEY_REQUEST_REPLY
+0x2F HCI_USER_PASSKEY_REQUEST_NEGATIVE_REPLY
+0x30 HCI_REMOTE_OOB_DATA_REQUEST_REPLY
+0x33 HCI_REMOTE_OOB_DATA_REQUEST_NEGATIVE_REPLY
+0x34 HCI_IO_CAPABILITY_REQUEST_NEGATIVE_REPLY
+0x35 HCI_CREATE_PHYSICAL_LINK
+0x36 HCI_ACCEPT_PHYSICAL_LINK
+0x37 HCI_DISCONNECT_PHYSICAL_LINK
+0x38 HCI_CREATE_LOGICAL_LINK
+0x39 HCI_ACCEPT_LOGICAL_LINK
+0x3A HCI_DISCONNECT_LOGICAL_LINK
+0x3B HCI_LOGICAL_LINK_CANCEL
+0x3C HCI_FLOW_SPEC_MODIFY
+0x3D HCI_ENHANCED_SETUP_SYNCHRONOUS_CONNECTION
+0x3E HCI_ENHANCED_ACCEPT_SYNCHRONOUS_CONNECTION_REQUEST
+0x3F HCI_TRUNCATED_PAGE
+0x40 HCI_TRUNCATED_PAGE_CANCEL
+0x41 HCI_SET_CONNECTIONLESS_SLAVE_BROADCAST
+0x42 HCI_SET_CONNECTIONLESS_SLAVE_BROADCAST_RECEIVE
+0x43 HCI_START_SYNCHRONIZATION_TRAIN
+0x44 HCI_RECEIVE_SYNCHRONIZATION_TRAIN
+0x45 HCI_REMOTE_OOB_EXTENDED_DATA_REQUEST_REPLY
+)
+(
+0x01 HCI_HOLD_MODE 
+0x03 HCI_SNIFF_MODE 
+0x04 HCI_EXIT_SNIFF_MODE 
+0x05 HCI_PARK_MODE 
+0x06 HCI_EXIT_PARK_MODE 
+0x07 HCI_QOS_SETUP 
+0x09 HCI_ROLE_DISCOVERY 
+0x0B HCI_SWITCH_ROLE 
+0x0C HCI_READ_LINK_POLICY_SETTINGS 
+0x0D HCI_WRITE_LINK_POLICY_SETTINGS 
+0x0e HCI_READ_DEFAULT_LINK_POLICY_SETTINGS
+0x0f HCI_WRITE_DEFAULT_LINK_POLICY_SETTINGS
+0x10 HCI_FLOW_SPECIFICATION
+0x11 HCI_SNIFF_SUBRATING
+)
+(
+0x01 HCI_SET_EVENT_MASK 
+0x03 HCI_RESET 
+0x05 HCI_SET_EVENT_FILTER 
+0x08 HCI_FLUSH 
+0x09 HCI_READ_PIN_TYPE 
+0x0A HCI_WRITE_PIN_TYPE 
+0x0B HCI_CREATE_NEW_UNIT_KEY 
+0x0D HCI_READ_STORED_LINK_KEY 
+0x11 HCI_WRITE_STORED_LINK_KEY 
+0x12 HCI_DELETE_STORED_LINK_KEY 
+0x13 HCI_WRITE_LOCAL_NAME 
+0x14 HCI_READ_LOCAL_NAME 
+0x15 HCI_READ_CONN_ACCEPT_TIMEOUT 
+0x16 HCI_WRITE_CONN_ACCEPT_TIMEOUT 
+0x17 HCI_READ_PAGE_TIMEOUT 
+0x18 HCI_WRITE_PAGE_TIMEOUT 
+0x19 HCI_READ_SCAN_ENABLE 
+0x1A HCI_WRITE_SCAN_ENABLE 
+0x1B HCI_READ_PAGE_SCAN_ACTIVITY 
+0x1C HCI_WRITE_PAGE_SCAN_ACTIVITY 
+0x1D HCI_READ_INQUIRY_SCAN_ACTIVITY 
+0x1E HCI_WRITE_INQUIRY_SCAN_ACTIVITY 
+0x1F HCI_READ_AUTHENTICATION_ENABLE 
+0x20 HCI_WRITE_AUTHENTICATION_ENABLE 
+0x21 HCI_READ_ENCRYPTION_MODE 
+0x22 HCI_WRITE_ENCRYPTION_MODE 
+0x23 HCI_READ_CLASS_OF_DEVICE 
+0x24 HCI_WRITE_CLASS_OF_DEVICE 
+0x25 HCI_READ_VOICE_SETTING 
+0x26 HCI_WRITE_VOICE_SETTING 
+0x27 HCI_READ_AUTOMATIC_FLUSH_TIMEOUT 
+0x28 HCI_WRITE_AUTOMATIC_FLUSH_TIMEOUT 
+0x29 HCI_READ_NUM_BROADCAST_RETRANSMISSIONS 
+0x2A HCI_WRITE_NUM_BROADCAST_RETRANSMISSIONS 
+0x2B HCI_READ_HOLD_MODE_ACTIVITY 
+0x2C HCI_WRITE_HOLD_MODE_ACTIVITY 
+0x2D HCI_READ_TRANSMIT_POWER_LEVEL 
+0x2E HCI_READ_SCO_FLOW_CONTROL_ENABLE 
+0x2F HCI_WRITE_SCO_FLOW_CONTROL_ENABLE 
+0x31 HCI_SET_CONTROLLER_TO_HOST_FLOW_CONTROL 
+0x33 HCI_HOST_BUFFER_SIZE 
+0x35 HCI_HOST_NUM_COMPLETED_PACKETS 
+0x36 HCI_READ_LINK_SUPERVISION_TIMEOUT 
+0x37 HCI_WRITE_LINK_SUPERVISION_TIMEOUT 
+0x38 HCI_READ_NUMBER_OF_SUPPORTED_IAC 
+0x39 HCI_READ_CURRENT_IAC_LAP 
+0x3A HCI_WRITE_CURRENT_IAC_LAP 
+0x3B HCI_READ_PAGE_SCAN_PERIOD_MODE 
+0x3C HCI_WRITE_PAGE_SCAN_PERIOD_MODE 
+0x3D HCI_READ_PAGE_SCAN_MODE 
+0x3E HCI_WRITE_PAGE_SCAN_MODE 
+0x3F HCI_SET_AFH_CHANNEL_CLASSIFICATION 
+
+
+0x42 HCI_READ_INQUIRY_SCAN_TYPE 
+0x43 HCI_WRITE_INQUIRY_SCAN_TYPE 
+0x44 HCI_READ_INQUIRY_MODE 
+0x45 HCI_WRITE_INQUIRY_MODE 
+0x46 HCI_READ_PAGE_SCAN_TYPE 
+0x47 HCI_WRITE_PAGE_SCAN_TYPE 
+
+0x48 HCI_READ_AFH_CHANNEL_ACCESSMENT_MODE 
+0x49 HCI_WRITE_AFH_CHANNEL_ACCESSMENT_MODE 
+0x51 HCI_READ_EXTENDED_INQUIRY_RESPONSE
+0x52 HCI_WRITE_EXTENDED_INQUIRY_RESPONSE
+0x53 HCI_REFRESH_ENCRYPTION_KEY
+0x55 HCI_READ_SIMPLE_PAIRING_MODE
+0x56 HCI_WRITE_SIMPLE_PAIRING_MODE
+0x57 HCI_READ_LOCAL_OOB_DATA
+0x58 HCI_READ_INQUIRY_RESPONSE_TRANSMIT_POWER_LEVEL
+0x59 HCI_WRITE_INQUIRY_TRANSMIT_POWER_LEVEL
+0x60 HCI_SEND_KEYPRESS_NOTIFICATION
+0x5A HCI_READ_DEFAULT_ERRONEOUS_DATA_REPORTING
+0x5B HCI_WRITE_DEFAULT_ERRONEOUS_DATA_REPORTING
+0x5F HCI_ENHANCED_FLUSH
+0x61 HCI_READ_LOGICAL_LINK_ACCEPT_TIMEOUT
+0x62 HCI_WRITE_LOGICAL_LINK_ACCEPT_TIMEOUT
+0x63 HCI_SET_EVENT_MASK_PAGE_2
+0x64 HCI_READ_LOCATION_DATA
+0x65 HCI_WRITE_LOCATION_DATA
+0x66 HCI_READ_FLOW_CONTROL_MODE
+0x67 HCI_WRITE_FLOW_CONTROL_MODE
+0x68 HCI_READ_ENHANCE_TRANSMIT_POWER_LEVEL
+0x69 HCI_READ_BEST_EFFORT_FLUSH_TIMEOUT
+0x6A HCI_WRITE_BEST_EFFORT_FLUSH_TIMEOUT
+0x6B HCI_SHORT_RANGE_MODE
+0x6C HCI_READ_LE_HOST_SUPPORT
+0x6D HCI_WRITE_LE_HOST_SUPPORT
+0x6E HCI_SET_MWS_CHANNEL_PARAMETERS
+0x6F HCI_SET_EXTERNAL_FRAME_CONFIGURATION
+0x70 HCI_SET_MWS_SIGNALING
+0x71 HCI_SET_MWS_TRANSPORT_LAYER
+0x72 HCI_SET_MWS_SCAN_FREQUENCY_TABLE
+0x73 HCI_SET_MWS_PATTERN_CONFIGURATION
+0x74 HCI_SET_RESERVED_LT_ADDR
+0x75 HCI_DELETE_RESERVED_LT_ADDR
+0x76 HCI_SET_CONNECTIONLESS_SLAVE_BROADCAST_DATA
+0x77 HCI_READ_SYNCHRONIZATION_TRAIN_PARAMETERS
+0x78 HCI_WRITE_SYNCHRONIZATION_TRAIN_PARAMETERS
+0x79 HCI_READ_SECURE_CONNECTIONS_HOST_SUPPORT
+0x7A HCI_WRITE_SECURE_CONNECTIONS_HOST_SUPPORT
+0x7B HCI_READ_AUTHENTICATED_PAYLOAD_TIMEOUT
+0x7C HCI_WRITE_AUTHENTICATED_PAYLOAD_TIMEOUT
+0x7D HCI_READ_LOCAL_OOB_EXTENDED_DATA
+0x7E HCI_READ_EXTENDED_PAGE_TIMEOUT
+0x7F HCI_WRITE_EXTENDED_PAGE_TIMEOUT
+0x80 HCI_READ_EXTENDED_INQUIRY_LENGTH
+0x81 HCI_WRITE_EXTENDED_INQUIRY_LENGTH
+)
+(
+0x01 HCI_READ_LOCAL_VERSION_INFORMATION 
+0x02 HCI_READ_LOCAL_SUPPORTED_COMMANDS
+0x03 HCI_READ_LOCAL_SUPPORTED_FEATURES 
+0x04 HCI_READ_LOCAL_EXT_FEATURES 
+0x05 HCI_READ_BUFFER_SIZE 
+0x07 HCI_READ_COUNTRY_CODE 
+0x09 HCI_READ_BD_ADDR 
+0x0A HCI_REJECT_CONNECTION_REQUEST
+0x0B HCI_READ_LOCAL_SUPPORTED_CODECS
+)
+(
+0x01 HCI_READ_FAILED_CONTACT_COUNTER 
+0x02 HCI_RESET_FAILED_CONTACT_COUNTER 
+0x03 HCI_GET_LINK_QUALITY 
+0x05 HCI_READ_RSSI 
+0x06 HCI_READ_AFH_CHANNEL_MAP
+0x07 HCI_READ_BD_CLOCK
+0x08 HCI_READ_ENCRYPTION_KEY_SIZE
+0x09 HCI_READ_LOCAL_AMP_INFO
+0x0A HCI_READ_LOCAL_AMP_ASSOC
+0x0B HCI_WRITE_REMOTE_AMP_ASSOC
+0x0C HCI_GET_MWS_TRANSPORT_LAYER_CONFIGURATION
+0x0D HCI_SET_TRIGGERED_CLOCK_CAPTURE
+)
+(
+0x01 HCI_READ_LOOPBACK_MODE 
+0x02 HCI_WRITE_LOOPBACK_MODE 
+0x03 HCI_ENABLE_DEVICE_UNDER_TEST_MODE 
+0x04 HCI_WRITE_SIMPLE_PAIRING_DEBUG_MODE
+0x07 HCI_ENABLE_AMP_RECEIVER_REPORTS
+0x08 HCI_AMP_TEST_END
+0x09 HCI_AMP_TEST
+0x0A HCI_WRITE_SECURE_CONNECTIONS_TEST_MODE
+)
+(
+0x01 HCI_WRITE_BD_ADDR 
+0x02 HCI_READ_INQUIRY_RESPONSE_TIMEOUT 
+0x03 HCI_WRITE_INQUIRY_RESPONSE_TIMEOUT 
+0x04 HCI_READ_PAGE_SCAN_REPETITION_MODE 
+0x05 HCI_WRITE_PAGE_SCAN_REPETITION_MODE 
+0x06 HCI_READ_PAGE_RESPONSE_TIMEOUT 
+0x07 HCI_WRITE_PAGE_RESPONSE_TIMEOUT 
+0x08 HCI_READ_NEW_CONNECTION_TIMEOUT 
+0x09 HCI_WRITE_NEW_CONNECTION_TIMEOUT 
+0x0a HCI_INITIALIZE_BASEBAND 
+0x0b HCI_WRITE_LOCAL_SUPPORTED_FEATURES 
+0x0c HCI_WRITE_PARK_PARAMETERS 
+0x0d HCI_READ_PARK_PARAMETERS 
+0x0e HCI_WRITE_QUALITY_OF_SERVICE 
+0x0f HCI_NOT_USED 
+0x10 HCI_MODIFY_BEACON_PARAMETERS 
+0x11 HCI_UNPARK_USING_PM_ADDR 
+0x12 HCI_WRITE_HOPPING_CHANNELS 
+0x13 HCI_SLEEP_FOREVER_MODE 
+0x14 HCI_WRITE_AUTO_PAGE_SCAN_ENABLE 
+0x15 HCI_READ_AUTO_PAGE_SCAN_ENABLE 
+0x16 HCI_SET_ENCRYPTION_KEY_SIZE 
+0x17 HCI_INVALIDATE_FLASH_AND_REBOOT 
+0x18 HCI_UPDATE_UART_BAUD_RATE 
+0x19 HCI_WRITE_GPIO_1_4_AS_OUTPUT 
+0x1A HCI_WRITE_GPIO_2_LED 
+0x1B HCI_SET_TESTMODE_TYPE 
+0x1C HCI_WRITE_SCO_PCM_INT_PARAM 
+0x1D HCI_READ_SCO_PCM_INT_PARAM 
+0x1E HCI_WRITE_PCM_DATA_FORMAT_PARAM 
+0x1F HCI_READ_PCM_DATA_FORMAT_PARAM 
+0x20 HCI_WRITE_COMFORT_NOISE_PARAM 
+0x21 HCI_READ_COMFORT_NOISE_PARAM 
+0x22 HCI_WRITE_SCO_TS 
+0x23 HCI_READ_SCO_TS 
+0x24 HCI_WRITE_PCM_LOOPBACK_MODE 
+0x25 HCI_READ_PCM_LOOPBACK_MODE 
+0x26 HCI_SET_TRANSMIT_POWER 
+0x27 HCI_SET_SLEEPMODE_PARAM 
+0x28 HCI_READ_SLEEPMODE_PARAM 
+0x29 HCI_SLEEPMODE_CMD 
+0x2A HCI_DELAY_PERIPHERAL_SCO_STARTUP 
+0x2B HCI_WRITE_RECEIVE_ONLY 
+0x2C HCI_WRITE_RATE_CONTROL 
+0x2D HCI_TX_UNMOD_CARRIER 
+0x2E HCI_DOWNLOAD_MINIDRIVER 
+0x2F HCI_CRYSTAL_PPM 
+0x30 HCI_SET_POWER_AMP_BIAS 
+0x31 HCI_SET_HAM_BEHAVIOR 
+0x32 HCI_SET_AFH_BEHAVIOR 
+0x33 HCI_READ_USER_DEFINED_NVRAM 
+0x34 HCI_ENABLE_RADIO 
+0x35 HCI_READ_DIAGNOSTIC_INFO 
+0x36 HCI_GET_HID_DEVICE_LIST 
+0x37 HCI_ADD_HID_DEVICE 
+0x38 HCI_READ_APP_FW_CONFIG_VERSION 
+0x39 HCI_DELETE_HID_DEVICE 
+0x3B HCI_ENABLE_USB_HID_EMULATION 
+// 0x3A available
+// 0x3B available
+0x3C HCI_SEND_LMPDU 
+0x3D HCI_AUTO_PAIR_REQ 
+0x3E HCI_READ_VS_EXTENSION 
+0x3F HCI_WRITE_VS_EXTENSION 
+
+0x77 HCI_OPCODE_FC77
+0x79 HCI_OPCODE_FC79
+0xC4 HCI_DOWNLOAD_PATCH
+0xCC HCI_OPCODE_FCCC
+
+0x00 HCI_VENDOR_CMD_RESET
+0x01 HCI_VENDOR_CMD_CHIPID
+0x02 HCI_VENDOR_CMD_BAUD
+0x03 HCI_VENDOR_CMD_PATCH
+0x04 HCI_VENDOR_CMD_PATCH_DONE
+0x05 HCI_VENDOR_CMD_ECHO
+0x06 HCI_VENDOR_CMD_BDADDR
+
+0x07 HCI_VENDOR_CMD_ENTER_LPM
+0x08 HCI_VENDOR_CMD_COMMU_READY
+
+0x10 HCI_VENDOR_CMD_MEM
+0x11 HCI_VENDOR_CMD_EEP
+
+0X12 HCI_VENDOR_CMD_PATCH_SEC_INIT
+0X13 HCI_VENDOR_CMD_PATCH_SEC
+0x14 HCI_VENDOR_CMD_SET_FLOW_CONTROL
+)
+(
+0x01 HCI_LE_SET_EVENT_MASK
+0x02 HCI_LE_READ_BUFFER_SIZE
+0x03 HCI_LE_READ_LOCAL_SUPPORTED_FEATURES
+0x05 HCI_LE_SET_RANDOM_ADDRESS
+0x06 HCI_LE_SET_ADVERTISING_PARAMETERS
+0x07 HCI_LE_READ_ADVERTISING_CHANNEL_TX_POWER
+0x08 HCI_LE_SET_ADVERTISING_DATA
+0x09 HCI_LE_SET_SCAN_RESPONSE_DATA
+0x0A HCI_LE_SET_ADVERTISE_ENABLE
+0x0B HCI_LE_SET_SCAN_PARAMETERS
+0x0C HCI_LE_SET_SCAN_ENABLE
+0x0D HCI_LE_CREATE_CONNECTION
+0x0E HCI_LE_CREATE_CONNECTION_CANCEL
+0x0F HCI_LE_READ_WHITE_LIST_SIZE
+0x10 HCI_LE_CLEAR_WHITE_LIST
+0x11 HCI_LE_ADD_DEVICE_TO_WHITE_LIST
+0x12 HCI_LE_REMOVE_DEVICE_FROM_WHITE_LIST
+0x13 HCI_LE_CONNECTION_UPDATE
+0x14 HCI_LE_SET_HOST_CHANNEL_CLASSIFICATION
+0x15 HCI_LE_READ_CHANNEL_MAP
+0x16 HCI_LE_READ_REMOTE_USED_FEATURES
+0x17 HCI_LE_ENCRYPT
+0x18 HCI_LE_RAND
+0x19 HCI_LE_START_ENCRYPTION
+0x1A HCI_LE_LONG_TERM_KEY_REQUEST_REPLY
+0x1B HCI_LE_LONG_TERM_KEY_REQUEST_NEGATIVE_REPLY
+0x1C HCI_LE_READ_SUPPORTED_STATES
+0x1D HCI_LE_RECEIVER_TEST
+0x1E HCI_LE_TRANSMITTER_TEST
+0x1F HCI_LE_TEST_END
+0x20 HCI_LE_REMOTE_CONNECTION_PARAMETER_REQUEST_REPLY
+0x21 HCI_LE_REMOTE_CONNECTION_PARAMETER_REQUEST_NEGATIVE_REPLY
+)
+(
+0x01 HCI_EVENT_INQUIRY_COMPLETE
+0x02 HCI_EVENT_INQUIRY_RESULT
+0x03 HCI_EVENT_CONNECTION_COMPLETE
+0x04 HCI_EVENT_CONNECTION_REQUEST
+0x05 HCI_EVENT_DISCONNECTION_COMPLETE
+0x06 HCI_EVENT_AUTHENTICATION_COMPLETE
+0x07 HCI_EVENT_REMOTE_NAME_REQUEST_COMPLETE
+0x08 HCI_EVENT_ENCRYPTION_CHANGE_COMPLETE
+0x09 HCI_EVENT_CHANGE_CONNECTION_LINK_KEY_COMPLETE
+0x0A HCI_EVENT_MASTER_LINK_KEY_COMPLETE
+0x0B HCI_EVENT_READ_REMOTE_FEATURES_COMPLETE
+0x0C HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE
+0x0D HCI_EVENT_QOS_SETUP_COMPLETE
+0x0E HCI_EVENT_COMMAND_COMPLETE
+0x0F HCI_EVENT_COMMAND_STATUS
+0x10 HCI_EVENT_HARDWARE_ERROR
+0x11 HCI_EVENT_FLUSH_OCCURRED
+0x12 HCI_EVENT_ROLE_CHANGE
+0x13 HCI_EVENT_NUM_COMPLETED_PACKETS
+0x14 HCI_EVENT_MODE_CHANGE
+0x15 HCI_EVENT_RETURN_LINK_KEYS
+0x16 HCI_EVENT_PIN_CODE_REQUEST
+0x17 HCI_EVENT_LINK_KEY_REQUEST
+0x18 HCI_EVENT_LINK_KEY_NOTIFICATION
+0x19 HCI_EVENT_LOOPBACK_COMMAND
+0x1A HCI_EVENT_DATA_BUFFER_OVERFLOW
+0x1B HCI_EVENT_MAX_SLOTS_CHANGE
+0x1C HCI_EVENT_READ_CLOCK_OFFSET_COMPLETE
+0x1D HCI_EVENT_CONNECTION_PACKET_TYPE_CHANGED
+0x1E HCI_EVENT_QOS_VIOLATION
+0x1F HCI_EVENT_PAGE_SCAN_MODE_CHANGE
+0x20 HCI_EVENT_PAGE_SCAN_REPETITION_MODE_CHANGE
+0x21 HCI_EVENT_FLOW_SPECIFICATION_COMPLETE
+0x22 HCI_EVENT_INQUIRY_RESULT_WITHRSSI
+0x23 HCI_EVENT_READ_REMOTE_EXT_FEATURES_COMPLETE
+0x2C HCI_EVENT_SCO_CONNECTION_COMPLETE
+0x2D HCI_EVENT_SCO_CONNECTION_CHANGED
+0x2E HCI_EVENT_SNIFF_SUBRATING
+0x2F HCI_EVENT_EXT_INQUIRY_RESULT
+0x30 HCI_EVENT_ENCRYPT_KEY_REFRESH_COMPLETE
+0x31 HCI_EVENT_IO_CAP_REQ
+0x32 HCI_EVENT_IO_CAP_RESPONSE
+0x33 HCI_EVENT_USER_CONFIRMATION_REQUEST
+0x34 HCI_EVENT_UESR_PASSKEY_REQUEST
+0x35 HCI_EVENT_REMOTE_OOB_DATA_REQUEST
+0x36 HCI_EVENT_SIMPLE_PAIRING_COMPLETE
+0x38 HCI_EVENT_LINK_SUPERVISION_TIMEOUT_CHANGED
+0x39 HCI_EVENT_ENHANCED_FLUSH_COMPLETE
+0x3B HCI_EVENT_USER_PASSKEY_NOTIFICATION
+0x3C HCI_EVENT_KEYPRESS_NOTIFICATION
+0x3D HCI_EVENT_REMOTE_HOST_SUPPORTED_FEATURES_NOTIFICATION 
+0x3E HCI_EVENT_LE_META_EVENT
+0x40 HCI_EVENT_PHYSICAL_LINK_COMPLETE
+0x41 HCI_EVENT_CHANNEL_SELECTED
+0x42 HCI_EVENT_DISCONNECTION_PHYSICAL_LINK_COMPLETE
+0x43 HCI_EVENT_PHYSICAL_LINK_LOSS_EARLY_WARNING
+0x44 HCI_EVENT_PHYSICAL_LINK_RECOVERY
+0x45 HCI_EVENT_LOGICAL_LINK_COMPLETE
+0x46 HCI_EVENT_DISCONNECTION_LOGICAL_LINK_COMPLETE
+0x47 HCI_EVENT_FLOW_SPEC_MODIFY_COMPLETE
+0x48 HCI_EVENT_NUMBER_OF_COMPLETED_DATA_BLOCKS
+0x49 HCI_EVENT_AMP_START_TEST
+0x4A HCI_EVENT_AMP_TEST_END
+0x4B HCI_EVENT_AMP_RECEIVER_REPORT
+0x4C HCI_EVENT_SHORT_RANGE_MODE_CHANGE_COMPLETE
+0x4D HCI_EVENT_AMP_STATUS_CHANGE
+0x4E HCI_EVENT_TRIGGERED_CLOCK_CAPTURE
+0x4F HCI_EVENT_SYNCHRONIZATION_TRAIN_COMPLETE
+0x50 HCI_EVENT_SYNCHRONIZATION_TRAIN_RECEIVED
+0x51 HCI_EVENT_CONNECTIONLESS_SLAVE_BROADCAST_RECEIVE
+0x52 HCI_EVENT_CONNECTIONLESS_SLAVE_BROADCAST_TIMEOUT
+0x53 HCI_EVENT_TRUNCATED_PAGE_COMPLETE
+0x54 HCI_EVENT_SLAVE_PAGE_RESPONSE_TIMEOUT
+0x55 HCI_EVENT_CONNECTIONLESS_SLAVE_BROADCAST_CHANNEL_MAP_CHANGE
+0x56 HCI_EVENT_INQUIRY_RESPONSE_NOTIFICATION
+0x57 HCI_EVENT_AUTHENTICATED_PAYLOAD_TIMEOUT_EXPIRED
+
+0xFE HCI_EVENT_LOGO_TESTING
+0xFF HCI_EVENT_VENDOR_SPECIFIC
+)
+(
+0x01 HCI_VENDOR_EVENT_COMMU_READY
+)
+(
+0x01 HCI_LE_SUBEVENT_CONN_COMPLETE
+0x02 HCI_LE_SUBEVENT_ADV_REPORT
+0x03 HCI_LE_SUBEVENT_CONN_UPDATE_COMPLETE
+0x04 HCI_LE_SUBEVENT_REMOTE_FEATURE_COMPLETE
+0x05 HCI_LE_SUBEVENT_LTK_REQUEST
+0x06 HCI_LE_SUBEVENT_REMOTE_CONN_PARAM_REQ
+)
+(
+256 l2cap_lpm_txbuf_len
+)
+(
+4 L2CAP_TX_FIFO_SIZE
+8 L2CAP_TX_BUFF_CNT
+
+)
+(
+0xf00 mem_dcoc_buf
+0xff0 mem_dcoc_buf_end
+)
+(
+0xf00 mem_le_l2cap_buf		//0x100
+)
+(
+0xd00 mem_ble_tx_buff0
+0x60 mem_ble_l2cap_tx_buff_size
+)
+(
+0xc00 mem_h5rx_buf//0x400
+0xeff mem_h5rx_buf_end
+0xf00 mem_h5tx_buf
+0xfff mem_h5tx_buf_end
+)
+(
+0x4c00 mem_savelist
+)
+(
+	  0 patch00_0
+	  1 patch00_1
+	  2 patch00_2
+	  3 patch00_3
+	  4 patch00_4
+	  5 patch00_5
+	  6 patch00_6
+	  7 patch00_7
+	  8 patch01_0
+	  9 patch01_1
+	 10 patch01_2
+	 11 patch01_3
+	 12 patch01_4
+	 13 patch01_5
+	 14 patch01_6
+	 15 patch01_7
+	 16 patch02_0
+	 17 patch02_1
+	 18 patch02_2
+	 19 patch02_3
+	 20 patch02_4
+	 21 patch02_5
+	 22 patch02_6
+	 23 patch02_7
+	 24 patch03_0
+	 25 patch03_1
+	 26 patch03_2
+	 27 patch03_3
+	 28 patch03_4
+	 29 patch03_5
+	 30 patch03_6
+	 31 patch03_7
+	 32 patch04_0
+	 33 patch04_1
+	 34 patch04_2
+	 35 patch04_3
+	 36 patch04_4
+	 37 patch04_5
+	 38 patch04_6
+	 39 patch04_7
+	 40 patch05_0
+	 41 patch05_1
+	 42 patch05_2
+	 43 patch05_3
+	 44 patch05_4
+	 45 patch05_5
+	 46 patch05_6
+	 47 patch05_7
+	 48 patch06_0
+	 49 patch06_1
+	 50 patch06_2
+	 51 patch06_3
+	 52 patch06_4
+	 53 patch06_5
+	 54 patch06_6
+	 55 patch06_7
+	 56 patch07_0
+	 57 patch07_1
+	 58 patch07_2
+	 59 patch07_3
+	 60 patch07_4
+	 61 patch07_5
+	 62 patch07_6
+	 63 patch07_7
+	 64 patch08_0
+	 65 patch08_1
+	 66 patch08_2
+	 67 patch08_3
+	 68 patch08_4
+	 69 patch08_5
+	 70 patch08_6
+	 71 patch08_7
+	 72 patch09_0
+	 73 patch09_1
+	 74 patch09_2
+	 75 patch09_3
+	 76 patch09_4
+	 77 patch09_5
+	 78 patch09_6
+	 79 patch09_7
+	 80 patch0a_0
+	 81 patch0a_1
+	 82 patch0a_2
+	 83 patch0a_3
+	 84 patch0a_4
+	 85 patch0a_5
+	 86 patch0a_6
+	 87 patch0a_7
+	 88 patch0b_0
+	 89 patch0b_1
+	 90 patch0b_2
+	 91 patch0b_3
+	 92 patch0b_4
+	 93 patch0b_5
+	 94 patch0b_6
+	 95 patch0b_7
+	 96 patch0c_0
+	 97 patch0c_1
+	 98 patch0c_2
+	 99 patch0c_3
+	100 patch0c_4
+	101 patch0c_5
+	102 patch0c_6
+	103 patch0c_7
+	104 patch0d_0
+	105 patch0d_1
+	106 patch0d_2
+	107 patch0d_3
+	108 patch0d_4
+	109 patch0d_5
+	110 patch0d_6
+	111 patch0d_7
+	112 patch0e_0
+	113 patch0e_1
+	114 patch0e_2
+	115 patch0e_3
+	116 patch0e_4
+	117 patch0e_5
+	118 patch0e_6
+	119 patch0e_7
+	120 patch0f_0
+	121 patch0f_1
+	122 patch0f_2
+	123 patch0f_3
+	124 patch0f_4
+	125 patch0f_5
+	126 patch0f_6
+	127 patch0f_7
+	128 patch10_0
+	129 patch10_1
+	130 patch10_2
+	131 patch10_3
+	132 patch10_4
+	133 patch10_5
+	134 patch10_6
+	135 patch10_7
+	136 patch11_0
+	137 patch11_1
+	138 patch11_2
+	139 patch11_3
+	140 patch11_4
+	141 patch11_5
+	142 patch11_6
+	143 patch11_7
+	144 patch12_0
+	145 patch12_1
+	146 patch12_2
+	147 patch12_3
+	148 patch12_4
+	149 patch12_5
+	150 patch12_6
+	151 patch12_7
+	152 patch13_0
+	153 patch13_1
+	154 patch13_2
+	155 patch13_3
+	156 patch13_4
+	157 patch13_5
+	158 patch13_6
+	159 patch13_7
+	160 patch14_0
+	161 patch14_1
+	162 patch14_2
+	163 patch14_3
+	164 patch14_4
+	165 patch14_5
+	166 patch14_6
+	167 patch14_7
+	168 patch15_0
+	169 patch15_1
+	170 patch15_2
+	171 patch15_3
+	172 patch15_4
+	173 patch15_5
+	174 patch15_6
+	175 patch15_7
+	176 patch16_0
+	177 patch16_1
+	178 patch16_2
+	179 patch16_3
+	180 patch16_4
+	181 patch16_5
+	182 patch16_6
+	183 patch16_7
+	184 patch17_0
+	185 patch17_1
+	186 patch17_2
+	187 patch17_3
+	188 patch17_4
+	189 patch17_5
+	190 patch17_6
+	191 patch17_7
+	192 patch18_0
+	193 patch18_1
+	194 patch18_2
+	195 patch18_3
+	196 patch18_4
+	197 patch18_5
+	198 patch18_6
+	199 patch18_7
+	200 patch19_0
+	201 patch19_1
+	202 patch19_2
+	203 patch19_3
+	204 patch19_4
+	205 patch19_5
+	206 patch19_6
+	207 patch19_7
+	208 patch1a_0
+	209 patch1a_1
+	210 patch1a_2
+	211 patch1a_3
+	212 patch1a_4
+	213 patch1a_5
+	214 patch1a_6
+	215 patch1a_7
+	216 patch1b_0
+	217 patch1b_1
+	218 patch1b_2
+	219 patch1b_3
+	220 patch1b_4
+	221 patch1b_5
+	222 patch1b_6
+	223 patch1b_7
+	224 patch1c_0
+	225 patch1c_1
+	226 patch1c_2
+	227 patch1c_3
+	228 patch1c_4
+	229 patch1c_5
+	230 patch1c_6
+	231 patch1c_7
+	232 patch1d_0
+	233 patch1d_1
+	234 patch1d_2
+	235 patch1d_3
+	236 patch1d_4
+	237 patch1d_5
+	238 patch1d_6
+	239 patch1d_7
+	240 patch1e_0
+	241 patch1e_1
+	242 patch1e_2
+	243 patch1e_3
+	244 patch1e_4
+	245 patch1e_5
+	246 patch1e_6
+	247 patch1e_7
+	248 patch1f_0
+	249 patch1f_1
+	250 patch1f_2
+	251 patch1f_3
+	252 patch1f_4
+	253 patch1f_5
+	254 patch1f_6
+	255 patch1f_7
+	  0 patch20_0
+	  1 patch20_1
+	  2 patch20_2
+	  3 patch20_3
+	  4 patch20_4
+	  5 patch20_5
+	  6 patch20_6
+	  7 patch20_7
+	  8 patch21_0
+	  9 patch21_1
+	 10 patch21_2
+	 11 patch21_3
+	 12 patch21_4
+	 13 patch21_5
+	 14 patch21_6
+	 15 patch21_7
+	 16 patch22_0
+	 17 patch22_1
+	 18 patch22_2
+	 19 patch22_3
+	 20 patch22_4
+	 21 patch22_5
+	 22 patch22_6
+	 23 patch22_7
+	 24 patch23_0
+	 25 patch23_1
+	 26 patch23_2
+	 27 patch23_3
+	 28 patch23_4
+	 29 patch23_5
+	 30 patch23_6
+	 31 patch23_7
+	 32 patch24_0
+	 33 patch24_1
+	 34 patch24_2
+	 35 patch24_3
+	 36 patch24_4
+	 37 patch24_5
+	 38 patch24_6
+	 39 patch24_7
+	 40 patch25_0
+	 41 patch25_1
+	 42 patch25_2
+	 43 patch25_3
+	 44 patch25_4
+	 45 patch25_5
+	 46 patch25_6
+	 47 patch25_7
+	 48 patch26_0
+	 49 patch26_1
+	 50 patch26_2
+	 51 patch26_3
+	 52 patch26_4
+	 53 patch26_5
+	 54 patch26_6
+	 55 patch26_7
+	 56 patch27_0
+	 57 patch27_1
+	 58 patch27_2
+	 59 patch27_3
+	 60 patch27_4
+	 61 patch27_5
+	 62 patch27_6
+	 63 patch27_7
+	 64 patch28_0
+	 65 patch28_1
+	 66 patch28_2
+	 67 patch28_3
+	 68 patch28_4
+	 69 patch28_5
+	 70 patch28_6
+	 71 patch28_7
+	 72 patch29_0
+	 73 patch29_1
+	 74 patch29_2
+	 75 patch29_3
+	 76 patch29_4
+	 77 patch29_5
+	 78 patch29_6
+	 79 patch29_7
+	 80 patch2a_0
+	 81 patch2a_1
+	 82 patch2a_2
+	 83 patch2a_3
+	 84 patch2a_4
+	 85 patch2a_5
+	 86 patch2a_6
+	 87 patch2a_7
+	 88 patch2b_0
+	 89 patch2b_1
+	 90 patch2b_2
+	 91 patch2b_3
+	 92 patch2b_4
+	 93 patch2b_5
+	 94 patch2b_6
+	 95 patch2b_7
+	 96 patch2c_0
+	 97 patch2c_1
+	 98 patch2c_2
+	 99 patch2c_3
+	100 patch2c_4
+	101 patch2c_5
+	102 patch2c_6
+	103 patch2c_7
+	104 patch2d_0
+	105 patch2d_1
+	106 patch2d_2
+	107 patch2d_3
+	108 patch2d_4
+	109 patch2d_5
+	110 patch2d_6
+	111 patch2d_7
+	112 patch2e_0
+	113 patch2e_1
+	114 patch2e_2
+	115 patch2e_3
+	116 patch2e_4
+	117 patch2e_5
+	118 patch2e_6
+	119 patch2e_7
+	120 patch2f_0
+	121 patch2f_1
+	122 patch2f_2
+	123 patch2f_3
+	124 patch2f_4
+	125 patch2f_5
+	126 patch2f_6
+	127 patch2f_7
+	128 patch30_0
+	129 patch30_1
+	130 patch30_2
+	131 patch30_3
+	132 patch30_4
+	133 patch30_5
+	134 patch30_6
+	135 patch30_7
+	136 patch31_0
+	137 patch31_1
+	138 patch31_2
+	139 patch31_3
+	140 patch31_4
+	141 patch31_5
+	142 patch31_6
+	143 patch31_7
+	144 patch32_0
+	145 patch32_1
+	146 patch32_2
+	147 patch32_3
+	148 patch32_4
+	149 patch32_5
+	150 patch32_6
+	151 patch32_7
+	152 patch33_0
+	153 patch33_1
+	154 patch33_2
+	155 patch33_3
+	156 patch33_4
+	157 patch33_5
+	158 patch33_6
+	159 patch33_7
+	160 patch34_0
+	161 patch34_1
+	162 patch34_2
+	163 patch34_3
+	164 patch34_4
+	165 patch34_5
+	166 patch34_6
+	167 patch34_7
+	168 patch35_0
+	169 patch35_1
+	170 patch35_2
+	171 patch35_3
+	172 patch35_4
+	173 patch35_5
+	174 patch35_6
+	175 patch35_7
+	176 patch36_0
+	177 patch36_1
+	178 patch36_2
+	179 patch36_3
+	180 patch36_4
+	181 patch36_5
+	182 patch36_6
+	183 patch36_7
+	184 patch37_0
+	185 patch37_1
+	186 patch37_2
+	187 patch37_3
+	188 patch37_4
+	189 patch37_5
+	190 patch37_6
+	191 patch37_7
+	192 patch38_0
+	193 patch38_1
+	194 patch38_2
+	195 patch38_3
+	196 patch38_4
+	197 patch38_5
+	198 patch38_6
+	199 patch38_7
+	200 patch39_0
+	201 patch39_1
+	202 patch39_2
+	203 patch39_3
+	204 patch39_4
+	205 patch39_5
+	206 patch39_6
+	207 patch39_7
+	208 patch3a_0
+	209 patch3a_1
+	210 patch3a_2
+	211 patch3a_3
+	212 patch3a_4
+	213 patch3a_5
+	214 patch3a_6
+	215 patch3a_7
+	216 patch3b_0
+	217 patch3b_1
+	218 patch3b_2
+	219 patch3b_3
+	220 patch3b_4
+	221 patch3b_5
+	222 patch3b_6
+	223 patch3b_7
+	224 patch3c_0
+	225 patch3c_1
+	226 patch3c_2
+	227 patch3c_3
+	228 patch3c_4
+	229 patch3c_5
+	230 patch3c_6
+	231 patch3c_7
+	232 patch3d_0
+	233 patch3d_1
+	234 patch3d_2
+	235 patch3d_3
+	236 patch3d_4
+	237 patch3d_5
+	238 patch3d_6
+	239 patch3d_7
+	240 patch3e_0
+	241 patch3e_1
+	242 patch3e_2
+	243 patch3e_3
+	244 patch3e_4
+	245 patch3e_5
+	246 patch3e_6
+	247 patch3e_7
+	248 patch3f_0
+	249 patch3f_1
+	250 patch3f_2
+	251 patch3f_3
+	252 patch3f_4
+	253 patch3f_5
+	254 patch3f_6
+	255 patch3f_7
+
+)
+(
+	0x8000 core_chipid
+	0x8001 core_revid
+	0x8003 core_kick
+	0x8004 core_write_wdt
+	0x8005 core_lpm_wr
+	0x8006 core_misc_ctrl
+	0x8007 core_otp_rdata
+	0x8007 core_efuse_rdata
+	0x800a core_ccm_ctrl
+	0x800b core_write_wdt2
+	0x8010 core_reset
+	0x8011 core_encrypt
+	0x8012 core_lpm_wr2
+	0x8020 core_set_bistfix
+	0x8022 core_ucode_hi
+	0x8023 core_ucode_ctrl
+	0x8024 core_ucode_low
+	0x8025 core_ucode_data
+
+	0x8040 core_halfslot
+	0x8042 core_clksel
+	0x8043 core_uart_clksel
+	0x8043 core_config
+	0x8044 core_otp_addr
+	0x8046 core_otp_din
+	0x8046 core_otp_ctrl2
+	0x8047 core_otp_ctrl
+	0x8047 core_otp_pab
+	0x8048 core_xtal_stable_time
+	0x8049 core_gpio_ds
+	0x804c core_lpm_reg
+	0x8050 core_clkoff
+	0x8052 core_uart_baud
+	0x8054 core_uart_rsaddr
+	0x8056 core_uart_readdr
+	0x8058 core_uart_rrptr
+	0x805a core_uart_tsaddr
+	0x805c core_uart_teaddr
+	0x805e core_uart_twptr
+	0x8060 core_uart_ctrl
+	0x8061 core_nec_ctrl
+	0x8062 core_nec_start_addr
+	0x8064 core_nec_end_addr
+	0x8066 core_nec_rptr
+	0x8068 core_ccm_input_playload_addr
+	0x806a core_ccm_output_playload_addr
+	0x806c core_ccm_aad0
+	0x806d core_ccm_aad1
+	0x806e core_ccm_aad2
+	0x806f  core_bist_ctrl
+	0x8070 core_gpio_conf
+	0x8080 core_spid_ctrl
+	0x8081 core_spid_delay
+	0x8082 core_spid_txlen
+	0x8084 core_spid_txaddr
+	0x8086 core_spid_rxaddr
+	0x8088 core_spid_rxlen
+	0x808a core_iicd_ctrl
+	0x808b core_iicd_scl_low
+	0x808c core_iicd_scl_high
+	0x808d core_iicd_start_setup
+	0x808e core_iicd_start_hold
+	0x808f core_iicd_stop_setup
+	0x8090 core_iicd_data_setup
+	0x8091 core_iicd_data_hold
+	0x8092 core_iicd_txlen
+	0x8094 core_iicd_txaddr
+	0x8096 core_iicd_rxaddr
+	0x8098 core_iicd_rxlen
+	0x809a core_pwm_en
+	0x809b core_pwm_init
+	0x809c core_pwm_pcnt0
+	0x809e core_pwm_ncnt0
+	0x80a0 core_pwm_pcnt1
+	0x80a2 core_pwm_ncnt1
+	0x80a4 core_pwm_pcnt2
+	0x80a6 core_pwm_ncnt2
+	0x80a8 core_pwm_pcnt3
+	0x80aa core_pwm_ncnt3
+	0x80ac core_pwm_pcnt4
+	0x80ae core_pwm_ncnt4
+	0x80b0 core_pwm_pcnt5
+	0x80b2 core_pwm_ncnt5
+	0x80b4 core_pwm_pcnt6
+	0x80b6 core_pwm_ncnt6
+	0x80b8 core_pwm_pcnt7
+	0x80ba core_pwm_ncnt7
+	0x80bc core_pwm_sync
+	0x80bd core_pwm_timermode
+	0x80be core_pwm_autoload
+	0x80bf core_sum_ctrl
+	0x80c0 core_ccm_inptr
+	0x80c2 core_dac_ctrl	
+	0x80c3 core_dac_vol
+	0x80c4 core_dac_saddr
+	0x80c6 core_dac_len
+	0x80c8 core_dac_coef
+	0x80cb core_ccnt_bit
+	0x80cc core_sadc_ctrl
+	0x80cd core_sadc_clkdiv
+	0x80ce core_sadc_saddr
+	0x80d0 core_sadc_eaddr
+	0x80d2 core_keybuf_saddr
+	0x80d4 core_gpio_conf_hi
+	
+	0x8108 core_misc_status
+	0x8109 core_qdec_cntx
+	0x810a core_watchdog_cnt
+	0x810b core_uart_status
+	0x810c core_uart_rbaud
+	0x810e core_uart_txitems
+	0x8110 core_uart_trptr
+	0x8112 core_uart_rxitems
+	0x8114 core_uart_rdptr
+	0x8116 core_uart_rwptr
+	0x8118 core_debug_baud
+	0x811a core_ccm_outptr
+	0x811c core_gpio_in
+	0x811d core_gpio_in1
+	0x811e core_adc_sum
+	0x8120 core_nec_wptr
+	0x8122 core_current_otp_addr
+	0x8124 core_spid_remain
+	0x8126 core_iicd_remain
+	0x8128 core_dma_status
+	0x8129 core_perf_status
+	0x812a core_adc_in
+	0x812c core_nec_rxitem
+	0x812e core_otpd_remain
+	0x8130 core_lpm_ctrl
+	0x8132 core_lpm_isogate
+	0x8133 core_lpm_ldosel
+	0x8134 core_io_vsel
+	0x8135 core_io_doze_en
+	0x813a core_xtal_cap
+	0x813d core_xtal_ib
+	0x813e core_lpm_xtalcnt
+	0x813f core_lpm_buckcnt
+	0x8140 core_lpm_ldocnt
+	0x8141 core_puwakeup
+	0x8142 core_lpm_sysctl
+	0x8143 core_ucode_flag
+	0x8144 core_peripheral_lock
+	0x8145 core_mpu_s0_saddr
+	0x8147 core_mpu_s0_eaddr
+	0x8149 core_mpu_s1_saddr
+	0x814b core_mpu_s1_eaddr
+	0x814d core_gpio_wakeup_cfg
+	0x8155 core_aes_decode_key_init
+	0x815b core_clk_counter
+	0x815e core_bist_done
+	0x8160 core_bist_fail
+	0x8162 core_dac_rptr	
+	0x8164 core_sadc_data	
+	0x8166 core_rccnt_counter
+		
+	0x8203 core_ice_ctrl
+	0x8204 core_ice_status
+	0x8205 core_ice_break0
+	0x8207 core_ice_break1
+  
+
+	0x8900 modem_en
+	0x8960 core_rf_rx_agc_ctrl
+	0x8961 core_rf_rx_gain_fix
+	0x8968 core_agc_wb_sat_th
+	0x8969 core_agc_nb_sat_th
+	0x89a0 modem_rssi
+	0x89a1 modem_wb_pow
+	0x89a2 modem_nb_pow
+	0x89a3 modem_gain
+	0x89a4 modem_status
+
+	0x8a00 core_bbpll_ctrl0              
+	0x8a01 core_bbpll_ctrl1              
+	0x8a02 core_bbpll_cfg0               
+	0x8a03 core_bbpll_cfg1               
+	0x8a04 core_bbpll_cfg2               
+	0x8a05 core_bbpll_cfg3               
+	0x8a06 core_bbpll_cfg4               
+	0x8a07 core_gpadc_ctrl
+	0x8a08 core_gpadc_cfg0
+	0x8a09 core_gpadc_cfg1
+	0x8a0a core_gpadc_cfg2
+	0x8a0b core_gpadc_cfg3
+	0x8a0c core_gpadc_status
+	0x8a0d core_vtest_ctrl0
+	0x8a0e core_vtest_ctrl1
+	0x8a0f core_ldo_trx_ctrl0
+	0x8a10 core_ldo_trx_ctrl1
+	0x8a11 core_ldo_trx_ctrl2
+	0x8a12 core_ldo_rfpll_ctrl
+    0x8a13 core_ldo_trx_cfg0
+    0x8a14 core_ldo_trx_cfg1
+    0x8a15 core_ldo_trx_cfg2
+    0x8a16 core_ldo_rfpll_mnc_cfg2
+
+    0x8a20 core_rfpll_afc_ctrl0
+    0x8a21 core_rfpll_afc_ctrl1
+    0x8a22 core_rfpll_afc_ctrl2
+    0x8a23 core_rfpll_en_ctrl0
+    0x8a24 core_rfpll_en_ctrl1
+    0x8a25 core_rf_en_ctrl0
+    0x8a26 core_rf_en_ctrl1
+
+	0x8a30 core_rx_force_en_ctrl
+	0x8a31 core_rx_gc_force_val
+	0x8a32 core_rx_lna_isel_force_val
+
+	0x8a40 core_rx_lna_hg_isel_gc7        
+	0x8a41 core_rx_lna_hg_isel_gc6        
+	0x8a42 core_rx_lna_hg_isel_gc5        
+	0x8a43 core_rx_lna_lg_isel_gc4        
+	0x8a44 core_rx_lna_lg_isel_gc3        
+	0x8a45 core_rx_lna_lg_isel_gc2        
+	0x8a46 core_rx_lna_lg_isel_gc1        
+	0x8a47 core_rx_lna_lg_isel_gc0        
+	0x8a48 core_rx_abb_gc_gc8              
+	0x8a49 core_rx_abb_gc_gc7              
+	0x8a4a core_rx_abb_gc_gc6              
+	0x8a4b core_rx_abb_gc_gc5              
+	0x8a4c core_rx_abb_gc_gc4              
+	0x8a4d core_rx_abb_gc_gc3              
+	0x8a4e core_rx_abb_gc_gc2              
+	0x8a4f core_rx_abb_gc_gc1              
+	0x8a50 core_rx_abb_gc_gc0              
+
+	0x8a60 core_tx_ctrl0
+	0x8a61 core_tx_ctrl1
+	0x8a62 core_tx_ctrl2
+	0x8a63 core_tx_ctrl3
+
+	0x8a70 core_rfpll_cal_ctrl0
+	0x8a71 core_rfpll_cal_ctrl1
+	0x8a72 core_rfpll_cal_ctrl2
+	0x8a73 core_rfpll_cal_ctrl3
+	0x8a74 core_rfpll_cal_ctrl4
+	0x8a75 core_rfpll_cal_ctrl5
+	0x8a76 core_rfpll_cal_ctrl6
+	0x8a77 core_rfpll_cal_ctrl7
+	0x8a78 core_rfpll_cal_ctrl8
+	0x8a79 core_rfpll_cal_ctrl9
+	0x8a7a core_rfpll_cal_ctrl10
+	0x8a7b core_rfpll_cal_ctrl11
+	0x8a7c core_rfpll_cal_result0
+	0x8a7d core_rfpll_cal_result1
+	0x8a7e core_rfpll_cal_result2
+
+    0x8a80 core_rfpll_cfg0
+    0x8a81 core_rfpll_cfg1
+    0x8a82 core_rfpll_cfg2
+    0x8a83 core_rfpll_cfg3
+    0x8a84 core_rfpll_cfg4
+    0x8a85 core_rfpll_cfg5
+    0x8a86 core_rfpll_cfg6
+    0x8a87 core_rfpll_cfg7
+
+    0x8a88 core_rx_cfg0
+    0x8a89 core_rx_cfg1
+    0x8a8a core_rx_cfg2
+    0x8a8b core_rx_cfg3
+    0x8a8c core_rx_cfg4
+    0x8a8d core_rx_cfg5
+    0x8a8e core_rx_cfg6
+    0x8a8f core_rx_cfg7
+    0x8a90 core_rx_cfg8
+
+	0x8aa0 core_rx_tiai_dcoc_gc0          
+	0x8aa1 core_rx_tiaq_dcoc_gc0          
+	0x8aa2 core_rx_tiai_dcoc_gc1          
+	0x8aa3 core_rx_tiaq_dcoc_gc1          
+	0x8aa4 core_rx_tiai_dcoc_gc2          
+	0x8aa5 core_rx_tiaq_dcoc_gc2          
+	0x8aa6 core_rx_tiai_dcoc_gc3          
+	0x8aa7 core_rx_tiaq_dcoc_gc3          
+	0x8aa8 core_rx_tiai_dcoc_gc4          
+	0x8aa9 core_rx_tiaq_dcoc_gc4          
+	0x8aaa core_rx_tiai_dcoc_gc5          
+	0x8aab core_rx_tiaq_dcoc_gc5          
+	0x8aac core_rx_tiai_dcoc_gc6          
+	0x8aad core_rx_tiaq_dcoc_gc6          
+	0x8aae core_rx_tiai_dcoc_gc7          
+	0x8aaf core_rx_tiaq_dcoc_gc7          
+	0x8ab0 core_rx_abbi_dcoc_gc0
+	0x8ab1 core_rx_abbq_dcoc_gc0
+	0x8ab2 core_rx_abbi_dcoc_gc1
+	0x8ab3 core_rx_abbq_dcoc_gc1           
+	0x8ab4 core_rx_abbi_dcoc_gc2
+	0x8ab5 core_rx_abbq_dcoc_gc2
+	0x8ab6 core_rx_abbi_dcoc_gc3
+	0x8ab7 core_rx_abbq_dcoc_gc3
+	0x8ab8 core_rx_abbi_dcoc_gc4
+	0x8ab9 core_rx_abbq_dcoc_gc4
+	0x8aba core_rx_abbi_dcoc_gc5
+	0x8abb core_rx_abbq_dcoc_gc5
+	0x8abc core_rx_abbi_dcoc_gc6
+	0x8abd core_rx_abbq_dcoc_gc6
+	0x8abe core_rx_abbi_dcoc_gc7
+	0x8abf core_rx_abbq_dcoc_gc7
+	0x8ac0 core_rx_abbi_dcoc_gc8
+	0x8ac1 core_rx_abbq_dcoc_gc8
+	0x8ac2 core_rx_tiai_dcoc_force
+	0x8ac3 core_rx_tiaq_dcoc_force
+	0x8ac4 core_rx_abbi_dcoc_force
+	0x8ac5 core_rx_abbq_dcoc_force
+	0x8ac8 core_chgpump_ctrl
+
+	0x8c00 core_usb_config
+	0x8c01 core_usb_addr
+	0x8c02 core_usb_rx_saddr
+	0x8c04 core_usb_rx_eaddr
+	0x8c06 core_usb_rxptr
+	0x8c08 core_usb_tx_saddr0
+	0x8c0a core_usb_tx_saddr1
+	0x8c0c core_usb_tx_saddr2
+	0x8c0e core_usb_tx_saddr3
+	0x8c10 core_usb_epmap
+	0x8c11 core_usb_pupd
+	0x8c12 core_usb_hmode
+	0x8c13 core_usb_int_mask
+	0x8c18 core_usb_trig
+	0x8c19 core_usb_stall
+	0x8c1a core_usb_toggle
+	0x8c1b core_usb_clear_nak
+	0x8c20 core_usb_rx_wptr
+	0x8c22 core_usb_status
+	0x8c24 core_usb_stall_status
+	0x8c25 core_usb_txbusy
+	0x8c26 core_usb_sof_cnt
+	0x8c28 core_usb_rxcnt
+
+	
+
+
+
+    
+    
+)
+(
+7 AES_EN
+)
+(
+4 rx_freq_offset
+2 tx_freq_offset
+)
+(
+/* bit difinitions */
+  4 whiteoff_bit
+  6 clksel_rc
+  1 clksel_dpll_24M
+  5 clksel_dpll
+  4 clksel_xtal
+  5 adc_rccal
+  0 bpf_rccal
+  1 demod_clkoff
+)
+(
+  4 cold_wake
+  5 gpio_latch
+  6 retmem_cs
+  7 isogate
+)
+(
+  2 fast_wake
+  3 ice_mode
+  4 reload_code
+)
+(
+1 lpmreg_sel_counter
+2 lpmreg_sel_scanmode
+)
+(
+0 SPI_LOCK_BIT
+1 PWM_LOCK_BIT
+2 UART_LOCK_BIT
+3 IIC_LOCK_BIT
+4 ADPCM_LOCK_BIT
+5 ROM_LOCK_BIT
+6 OPTION_LOCK
+6 OTP_NOT_LIMIT
+7 OTP_LIMIT
+)
+(
+4 LPM_DOZE_EN_BIT	
+)
+(
+  0x01 RCCNT_START
+  0x02 SPID_START
+  0x04 IICD_START
+  0x08 OTP_KEY_LOCK
+  0x10 INIT_KEY
+  0x20 SHIFT_KEY
+  0X80 CCNT_START
+)
+(
+  0 OTPD_CRCOK
+  1 OTPD_DONE
+  2 SPID_CRCOK
+  3 SPID_DONE
+  4 IICD_CRCOK
+  5 IICD_DONE
+  6 IICD_ACK
+)
+(
+1 UART_STATUS_TX_BUSY
+2 UART_STATUS_RX_FIFO_EMPTY
+3 UART_STATUS_RX_FIFO_FULL
+4 UARTB_STATUS_TX_BUSY
+5 UARTB_STATUS_RX_FIFO_EMPTY
+6 UARTB_STATUS_RX_FIFO_FULL
+)
+(//core_uart_clksel
+0 UART_CLOCK_SELECT_BIT
+0xFE UART_CLOCK_SELECT_CRYSTAL
+0x01 UART_CLOCK_SELECT_DPLL
+
+24000000 uart_clock_freq_24M
+48000000 uart_clock_freq_48M
+)
+(//bit map of core_uart_ctrl
+0 BIT_UART_CONTROL_ENABLE
+1 BIT_UART_CONTROL_PARITY
+2 BIT_UART_CONTROL_DATA_LENGTH
+3 BIT_UART_CONTROL_STOP_BIT_SIZE
+4 BIT_UART_CONTROL_FLOW_CONTROL
+5 BIT_UART_CONTROL_7816_SMART_CARD_PROTOCOL
+6 BIT_UART_CONTROL_HALF_DUPLEX_SINGLE_LINE_UART
+7 BIT_UART_CONTROL_RATE_BAUD_SETTING
+)
+(//FUN of core_uart_ctrl
+0x01 FUN_UART_CONTROL_ENABLE
+0x06 FUN_UART_CONTROL_PARITY_ODD
+0x04 FUN_UART_CONTROL_PARITY_EVEN
+0x08 FUN_UART_CONTROL_STOP_2BIT
+0x00 FUN_UART_CONTROL_STOP_1BIT
+0x10 FUN_UART_CONTROL_FLOW_CONTROL_ENABLE
+0x20 FUN_UART_CONTROL_7816_SMART_CARD_PROTOCOL
+0x40 FUN_UART_CONTROL_HALF_DUPLEX_SINGLE_LINE_UART
+0x80 FUN_UART_CONTROL_SETTING_RATE_BAUD
+)
+(//bit map of core_nec_control
+0x00 BIT_NEC_ENABLE
+0x01 BIT_NEC_CLK_DIVIDE_NUM
+)
+(//FUN  of core_nec_control
+0x01 FUN_NEC_ENABLE
+0x30 FUN_NEC_CLK_DIVIDE_24	//24M , 
+)
+0x8b uart_ctrl_default //BCSP
+0x81 uart_ctrl_h4 //H4
+0x81 uart_ctrl_normal
+0x91 uart_ctrl_5line
+0x81 uart_ctrl_57600
+2 uart_baud_len
+0x00 uartclk_crystal
+0x01 uartclk_dpll
+0x1a0 uart_baud_115200
+0xbb uart_baud_256000
+0x340 uart_baud_57600
+0x34 uart_baud_921600
+0x9c4 uart_baud_9600
+(
+	0 CLOCK_OFF_AUTH_ROM
+	1 CLOCK_OFF_UC_ROM
+	2 CLOCK_OFF_DEBUG_UART
+	3 CLOCK_OFF_SCHED_RAM
+	4 CLOCK_OFF_TRANCE_FIFO
+	5 CLOCK_OFF_CORDIC
+	6 CLOCK_OFF_OTPD
+	7 CLOCK_OFF_I2C
+	8 CLICK_OFF_SARADC_DMA
+	9 CLOCK_OFF_KEYSCAN
+	0x0a CLOCK_OFF_USB
+	0x0b CLOCK_OFF_QDECODER
+	0x0c CLOCK_OFF_SPI
+	0x0d CLOCK_OFF_PWM
+	0x0e CLOCK_OFF_UARTB
+	0x0f CLOCK_OFF_UART
+)
+(
+  0 gpcfg_input
+  6 gpcfg_dac_p  
+  7 gpcfg_dac_n
+  8 gpcfg_uart_txd
+  9 gpcfg_uart_rxd
+  10 gpcfg_uart_rts
+  11 gpcfg_uart_cts
+  
+  16 gpcfg_pwm_out0
+  17 gpcfg_pwm_out1
+  18 gpcfg_pwm_out2
+  19 gpcfg_pwm_out3
+  20 gpcfg_pwm_out4
+  21 gpcfg_pwm_out5
+  22 gpcfg_pwm_out6
+  23 gpcfg_pwm_out7
+  24 gpcfg_nec_input
+  
+  31 gpcfg_spid_miso
+  32 gpcfg_spid_ncs
+  33 gpcfg_spid_sck
+  34 gpcfg_spid_mosi
+  35 gpcfg_spid_sdio
+  
+  44 gpcfg_iic_scl
+  45 gpcfg_iic_sda
+  
+  62 gpcfg_output_low
+  63 gpcfg_output_high
+  
+  0x00 gpcfg_high_impedance
+  0x40 gpcfg_pullup
+  0x80 gpcfg_pulldown
+  0xc0 gpcfg_no_ie
+)
+(
+16	GPIO_NUMBER
+8	GPIO_NUMBER_EXT
+)
+(
+  0x00   SP_FLAG_STANDBY
+  0x02   LE_SP_FLAG_COMMIT_256
+
+)
+(
+  0x00   SP_CALC_STANDBY
+  0x03   SP_CALC_PUBKEY_256
+  0x04   SP_CALC_DHKEY_256
+)
+(
+  0x00   SP_KEY_INVALID
+  0x03   SP_KEY_VALID_256
+
+)
+(
+0 SECURE_CONNECTIONS_LE_BIT
+1 SECURE_CONNECTIONS_BR_BIT
+)
+(
+9 UI_STATE_BLE_CONNECTED
+10 UI_STATE_BLE_WRITE_RCV
+11 UI_STATE_BLE_ADV
+12 UI_STATE_BTN_DOWN
+)
+(
+0 BT_CMD_STANDBY
+13 BT_CMD_START_ADV
+14 BT_CMD_STOP_ADV
+15 BT_CMD_START_DIRECT_ADV
+16 BT_CMD_STOP_DIRECT_ADV
+17 BT_CMD_LE_DISCONNECT
+18 BT_CMD_LE_UPDATE_CONN
+19 BT_CMD_LED_OFF
+20 BT_CMD_LED_ON
+21 BT_CMD_LED_BLINK
+22 BT_CMD_LE_START_CONN
+23 BT_CMD_LE_START_SCAN
+24 BT_CMD_LE_STOP_SCAN
+25 BT_CMD_ENTER_HIBERNATE
+27 BT_CMD_LE_SMP_SECURITY_REQUEST
+31 BT_CMD_STORE_RECONN_INFO_LE
+34 BT_CMD_START_24G
+35 BT_CMD_STOP_24G
+36 BT_CMD_PAIR_24G
+)
+(
+0x00 BT_EVT_NULL
+0x0F BT_EVT_DISCOVERY_STOPED
+0x10 BT_EVT_BUTTON_LONG_PRESSED
+0x14 BT_EVT_LE_CONNECTED
+0X15 BT_EVT_LE_DISCONNECTED
+0x17 BT_EVT_BUTTON_ENTER_HIBERNATE
+0x25 BT_EVT_BUTTON_ADJUST_DPI
+0x28 BT_EVT_LE_WRITE_REQUEST
+0x29 BT_EVT_LE_ENC_INFO
+0x2c BT_EVT_BUTTON_DOWN
+0x2d BT_EVT_BUTTON_UP
+0x2e BT_EVT_REMOTE_UNSNIFF
+0x30 BT_EVT_LE_PAIRING_FAIL
+0x31 BT_EVT_LE_PAIRING_SUCCESS
+0x32 BT_EVT_LE_START_ENC
+0X33 BT_EVT_LE_PAUSE_ENC
+0X34 BT_EVT_LE_TK_GENERATE
+0x35 BT_EVT_BT_GKEY_GENERATE
+0x36 BT_EVT_BT_GET_PASSKEY
+0x39 BT_EVT_24G_PAIRING_COMPLETE
+0x3a BT_EVT_24G_ATTEMPT_FAIL
+0x3b BT_EVT_LE_GKEY_GENERATE
+0x3c BT_EVT_24G_ATTEMPT_SUCCESS
+0x3d BT_EVT_STORE_NVRAM
+0x3e BT_EVT_LE_PAIRING_COMPLETE
+0x3F BT_EVT_LE_RECONNECT_COMPLETE
+0x40 BT_EVT_LE_PARSE_CONN_PAPA_UPDATE_RSP
+0x41 BT_EVT_LE_LTK_LOST
+0x42 BT_EVT_LE_UPDATE_PHY
+0x43 BT_EVT_LE_GET_PASSKEY
+0x44 BT_EVT_LE_PARSE_CONN_PARAM_ACCEPTED
+)
+(
+0 OFF
+1 ON
+)
+(
+	160 UI_HUNDRED_MILLISECOND_TIME
+	0XFF UI_BUTTON_GPIO_DISABLE
+)
+(
+0x00 UI_BUTTON_STATE_DOWN
+0x01 UI_BUTTON_STATE_UP
+)
+(
+	0 IPC_CONTINUE_PROCESS
+	1 IPC_SKIP_CONTINUE_PROCESS
+)
+(//led style struct 
+0 		LED_OFFSET_LED_TYPE
+1 		LED_OFFSET_BLINK_COUNT
+2		LED_OFFSET_LED_GPIO
+3		LED_OFFSET_ON_TIME
+5		LED_OFFSET_OFF_TIME
+7 		LED_OFFSET_CB_LEDON
+9		LED_OFFSET_CB_LEDOFF
+11		LED_OFFSET_LENGTH
+)
+(//LED state
+0 UI_LED_STATE_BLINK_STOP
+1 UI_LED_STATE_BLINK_START
+2 UI_LED_STATE_LIGHTING
+3 UI_LED_STATE_DARKING
+4 UI_LED_STATE_BLINK_LIGHTING
+5 UI_LED_STATE_BLINK_DARKING
+
+0xFF LED_INFINITE_FLASH_NUM
+
+)
+(
+0x00 STANDARD_REQ
+0x01 CLASS_REQ
+0x02 MANUFACTURER_REQ
+)
+(
+0x00 GET_STATUS                // Code for Get Status
+0x01 CLEAR_FEATURE             // Code for Clear Feature
+0x03 SET_FEATURE              // Code for Set Feature
+0x05 SET_ADDRESS              // Code for Set Address
+0x06 GET_DESCRIPTOR           // Code for Get Descriptor
+0x07 SET_DESCRIPTOR           // Code for Set Descriptor(not used)
+0x08 GET_CONFIGURATION        // Code for Get Configuration
+0x09 SET_CONFIGURATION        // Code for Set Configuration
+0x0A GET_INTERFACE            // Code for Get Interface
+0x0B SET_INTERFACE            // Code for Set Interface
+0x0C SYNCH_FRAME              // Code for Synch Frame(not used)
+)
+(
+0x01 DSC_DEVICE               // Device Descriptor
+0x02 DSC_CONFIG               // Configuration Descriptor
+0x03 DSC_STRING               // String Descriptor
+0x04 DSC_INTERFACE            // Interface Descriptor
+0x05 DSC_ENDPOINT             // Endpoint Descriptor
+)
+(
+0x21 DSC_HID			      // HID Class Descriptor
+0x22 DSC_HID_REPORT			  // HID Report Descriptor
+)
+(
+0x80 IN_DEVICE                // Request made to device,
+                              // direction is IN
+0x00 OUT_DEVICE               // Request made to device,
+                              // direction is OUT
+0x81 IN_INTERFACE             // Request made to interface,
+                              // direction is IN
+0x01 OUT_INTERFACE            // Request made to interface,
+                              // direction is OUT
+0x82 IN_ENDPOINT              // Request made to endpoint,
+                              // direction is IN
+0x02 OUT_ENDPOINT             // Request made to endpoint,
+)
+(
+0x01 GET_REPORT 		       // Code for Get Report
+0x02 GET_IDLE				   // Code for Get Idle
+0x03 GET_PROTOCOL			   // Code for Get Protocol
+0x09 SET_REPORT				   // Code for Set Report
+0x0A SET_IDLE				   // Code for Set Idle
+0x0B SET_PROTOCOL			   // Code for Set Protocol
+0xF2 HID_REPORT_ID           
+64 EP0_PACKET_SIZE         
+6 EP1_PACKET_SIZE         
+16 HID_REPORT_SIZE         
+0x001B HID_REPORT_DESCRIPTOR_SIZE    
+)
+(
+0 TYPE_SIN		
+1 TYPE_ATAN	
+2 TYPE_MULT	
+3 TYPE_DIV		
+4 TYPE_ASIN	
+5 TYPE_SQRT	
+6 TYPE_COS		
+7 TYPE_TAN		 
+)
+(
+0 DFIFO0_IN_EMPTY
+1 DFIFO1_IN_EMPTY
+2 DFIFO2_IN_EMPTY
+3 DFIFO3_IN_EMPTY
+4 DFIFO0_OUT_EMPTY
+5 DFIFO1_OUT_EMPTY
+6 DFIFO2_OUT_EMPTY
+7 DFIFO3_OUT_EMPTY
+)
+(
+)
+(
+0 USB_STATUS_SETUP
+1 USB_STATUS_SUSPEND
+2 USB_STATUS_NAK
+3 USB_STATUS_RESET
+4 USB_STATUS_ACK
+5 USB_STATUS_RXREADY
+6 USB_STATUS_RXFULL
+7 USB_STATUS_TXDONE0
+8 USB_STATUS_TXDONE1
+9 USB_STATUS_TXDONE2
+10 USB_STATUS_TXDONE3
+)
+(
+1 USB_GOT_REPORT_REQ
+2 USB_CONNECTED
+3 USB_SLEEP
+4 USB_RESUME
+5 USB_SETIDLE_1
+)
+(
+0x10 USB_EP1_KB
+0x20 USB_EP2_MS
+0x21 USB_EP2_MULTIKEY
+0x22 USB_EP2_SYSTEMKEY
+0x23 USB_EP2_DPI
+0x24 USB_EP2_PROTOCOL
+0x01 MAC_BOOT_MODE
+0x02 R_KEY
+0x03 LR_KEY
+)
+(
+0x01ba PC_GET_REPORT
+0x02ba PC_SET_REPORT
+0x0200 PC_SET_REPORT_bValue
+0x0000 PC_SET_REPORT_wIndex
+0x0001 PC_SET_REPORT_bLength
+0xba PC_REPORT_ID
+
+0x01 PC_GET_DATA
+0x00 PC_GET_NONDATA
+)
+(
+//--------------------------------------------------
+// Define device states
+0x00 DEV_ATTACHED	// Device is in Attached State
+0x01 DEV_POWERED	// Device is in Powered State
+0x02 DEV_DEFAULT		// Device is in Default State
+0x03 DEV_ADDRESS	// Device is in Addressed State
+0x04 DEV_CONFIGURED	// Device is in Configured State
+0x05 DEV_SUSPENDED	// Device is in Suspended State
+)
+(
+// Define wIndex bitmaps
+0x81 IN_EP1                    // Index values used by Set and Clear
+0x01 OUT_EP1                   // commands for Endpoint_Halt
+0x82 IN_EP2              
+0x02 OUT_EP2             
+0x83 IN_EP3              
+0x03 OUT_EP3             
+)
+(
+0 EP0_STALL
+1 EP1_IN_STALL
+2 EP1_OUT_STALL
+3 EP2_IN_STALL
+4 EP2_OUT_STALL
+5 EP3_IN_STALL
+6 EP3_OUT_STALL
+)
+(
+// Define wValue bitmaps for Standard Feature Selectors
+0x00 ENDPOINT_HALT             // Endpoint_Halt feature selector
+0x01 DEVICE_REMOTE_WAKEUP      // Remote wakeup feature(not used)
+0x00 BOOT_PROTOCOL
+0x01 REPORT_PROTOCOL
+0x01 USB_MAX_NUM_CFG
+)
+(
+640 TIMER_NAK_DELAY
+5000 TIMER_WAKEUP_DELAY
+)
+(
+
+8 UTIL_FIFO_LEN
+-1 UTIL_FIFO_OFFSET
+)
+memalloc(
+ 1 mem_le_adv_transmit
+1 mem_le_adv_waitcnt
+1 mem_le_adv_rcv
+1 mem_le_req_rcv
+1 mem_le_scanrsp_rcv
+1 mem_le_conn_rcv
+
+1 mem_current_context
+1 mem_le_ch_mapped
+1 mem_last_freq
+1 mem_rssi
+2 mem_context_ptr
+2 mem_rx_window
+
+
+/* lpo related */
+1 mem_lpm_adjust
+6 mem_sync_clke
+1 mem_lpm_current_mult
+12 mem_gpio_wakeup_cfg
+
+
+4 mem_clkn_bt
+4 mem_clke_bt
+4 mem_dpll_clkn
+
+2 mem_slot_offset
+
+
+1 mem_loadcode_times
+1 mem_select_list_item
+0 mem_temp_reconn_record
+1 mem_record_bt_mode
+2 mem_list_item_ptr
+
+1 mem_rssi_hex
+
+
+2 mem_param_tx_setup
+2 mem_param_rf_setup
+2 mem_param_conn_access
+2 mem_param_clke_cal
+2 mem_param_pll_setup
+2 mem_param_rx_setup
+2 mem_param_dpll_start_delay
+2 mem_param_rt_rthalfslot
+2 mem_param_clke_cal_le_1m
+2 mem_param_clke_cal_le_2m
+2 mem_param_clke_cal_le_coded
+
+)
+memalloc(
+260 mem_le_rxbuf
+
+/* security temp */
+4 mem_le_mic
+4 mem_le_peer_mic
+//8 mem_le_skdm
+//8 mem_le_skds
+16 mem_le_mrand
+
+
+/* ========= le context =========== */
+1 mem_le_state
+1 mem_le_mode
+2 mem_le_tsniff
+4 mem_le_anchor
+6 mem_le_clk_offset
+2 mem_le_receive_window
+6 mem_le_plap
+1 mem_le_conn_handle
+1 mem_le_arq
+1 mem_le_ch
+1 mem_le_hop
+2 mem_le_event_count
+4 mem_le_supervision_timer
+2 mem_le_instant
+1 mem_le_channels
+1 mem_le_op
+
+	/* these 3 should NOT be seperated */
+4 mem_le_access
+3 mem_le_crcinit
+1 mem_le_window_size
+
+	/* these 3 should NOT be seperated */
+2 mem_le_slave_latency
+2 mem_le_superto
+5 mem_le_channel_map
+
+
+1 mem_le_rx_phy
+1 mem_le_tx_phy
+
+9 mem_le_update_new_param
+
+16 mem_le_sk
+
+1 mem_le_peer_sca
+1 mem_le_err_code
+1 mem_le_ll_pairing_fail_reason
+
+/* ========= le context ending =========== */
+
+/* test */
+1 mem_le_testtype
+1 mem_cmd_le_create_conn
+
+)
+memalloc (
+	0 memresult
+	0 mem_sp_calc_result
+	4 memh
+	4 memg
+	4 memf
+	4 meme
+	0 mem_sp_calc_result_high
+	4 memd
+	4 memc
+	4 memb
+	4 mema
+)
+memalloc(
+
+/* load code */
+1 mem_ucode_status
+1 mem_spid_tbuf				/* spid buf: 03 addr[23:16] addr[15:8] addr[7:0] */
+0 mem_iicd_tbuf				/* iicd buf: iic_adr addr[15:8] addr[7:0] iic_adr */
+1 mem_addr_hi
+1 mem_addr_mi
+1 mem_addr_lo
+1 mem_iicd_addr
+4 mem_spid_rbuf
+2 mem_ucode_buf
+2 mem_ucode_len
+2 mem_sched_addr
+16 mem_ucode_keybuf
+
+32 mem_otp_temp
+
+1 mem_app_evt_timer_count
+)
+memalloc (
+16 mem_input_store
+
+2 mem_ec_loopc
+1 mem_aes_cmac_data_length
+
+96 mem_dat
+
+/* ecc calculation */
+32 mem_ax_256 //32 bytes
+32 mem_ay_256 // 32 bytes
+32 mem_az_256 // 32 bytes
+32 mem_bx_256 // 32 bytes
+32 mem_by_256 // 31 bytes
+
+0 mem_bz_256  //32 bytes
+0 mem_tmp1
+24 memahbak
+8 mem_tmp5
+32 mem_cx_256  //32 bytes
+31 mem_cy_256  // 32 bytes
+1 mem_cy5_256 // 1 byte
+32 mem_cz_256 // 32 bytes
+32 mem_k_256 //32 bytes
+32  mem_tmp1_256 //32 bytes
+
+32 mem_tmp5_256
+32  mem_tmp2_256
+0 mem_tmp3_256
+32 mem_t1_256
+0 mem_tmp0_256
+32 mem_t0_256
+32 mem_t2_256
+32 mem_t3_256
+32 mem_t7_256
+
+24 mem_p
+24 mem_a
+24 mem_b
+24 mem_gx
+24 mem_gy
+32 memh0
+
+32 mem_p_256		
+32 mem_a_256
+32 mem_gx_256
+32 mem_gy_256
+16 mem_le_slat
+
+)
+memalloc(
+0 mem_sp_state_start
+1 mem_sp_dhkey_invalid
+4 mem_gkey
+0 mem_sp_state_end
+
+32 mem_le_pubkey_remote_x_256
+32 mem_le_pubkey_remote_y_256
+32 mem_le_dhkey_256
+
+16 mem_sp_confirm_remote
+)
+memalloc(
+1 mem_ipc_skip_continue_proc
+) 
+memalloc(
+
+1 mem_fifo_temp
+
+8 mem_pdatatemp
+8 mem_temp //8 bytes
+4 mem_timeup // 4 bytes
+4 mem_rega //4 bytes
+4 mem_regb //4 bytes
+3 mem_regc //3 bytes
+2 mem_contr //2 bytes
+2 mem_contw //2 bytes
+2 mem_contus
+2 mem_contue
+2 mem_contu
+2 mem_queue
+2 mem_loopcnt
+
+4 mem_saved_gpio_in
+
+0 mem_module_rx_error_data_buffer
+0 mem_le_adv_channel_map_temp
+0 mem_le_data_len_temp	//1byte
+0 mem_event_cmd_response_content	//2byte
+0 mem_le_prand		//16byte
+0 mem_AES_CMAC_k	 //16 bytes
+0 mem_regext_index 	//1 bytes
+1 mem_temp_block0
+0 mem_le_data_temp	//15bytes
+15 mem_temp_block1
+0 mem_le_tx_buf_temp //48byte
+0 mem_le_aes_128	//16byte
+0 mem_regext   //64 bytes
+0 mem_AES_CMAC_k1  //16 bytes
+16 mem_temp_block2
+0 mem_AES_CMAC_k2  //16 bytes
+16 mem_temp_block3
+0 mem_AES_CMAC_temp  // 16 bytes
+16 mem_temp_block4
+0 mem_AES_CMAC_M_last // 16 bytes
+1 mem_module_uart_cmd
+1 mem_module_uart_opcode
+1 mem_module_uart_len
+1 mem_module_temp_nl_discard_packet
+12 mem_temp_block5
+0 mem_le_mackey //16 bytes
+0 mem_app_receive_temp
+2 mem_key_value_temp
+2 mem_key_value
+1 mem_key_value_temp1
+1 mem_key_value_temp2
+1 mem_key_value_temp3
+1 mem_key_value_temp4
+1 mem_key_value_temp5
+1 mem_key_value_temp6
+6 mem_temp_block6
+
+3 mem_scale_ratio
+3 mem_xcnt
+2 mem_scale_ratio_temp
+)
+memalloc test (
+/* test related */
+2 mem_le_test_sync
+2 mem_le_test_pcnt
+2 mem_tst_pktcnt_crc
+2 mem_tst_pktcnt_dmh
+3 mem_tmp_buffer_head
+80 mem_tmp_buffer
+
+)
+memalloc ali_mesh(
+	1 mem_mesh_receive_model_message_payload_len
+	1 mem_mesh_receive_model_message_payload_opcode
+	23 mem_mesh_receive_model_message_payload
+
+	1 mem_mesh_access_layer_payload_len
+	0 mem_mesh_access_layer_payload
+	50 mem_mesh_access_payload
+	50 mem_mesh_access_payload_padding	//为了透传模块预留
+)
+memalloc ali_mesh(
+	0 mem_mesh_queue_ele_temp
+	1 mem_mesh_queue_ele_duration
+	1 mem_mesh_queue_ele_gatt_msg_id
+	1 mem_mesh_queue_ele_len
+	31 mem_mesh_queue_ele_payload
+	1 mem_mesh_queue_ele_padding
+)
+memalloc ali_mesh(
+	39 mem_le_txheader_mesh_temp
+	
+)
+memalloc ali_mesh(
+	// sha256
+	0 mem_mesh_sha256_chunk_start
+	64 mem_mesh_sha256_chunk1
+	64 mem_mesh_sha256_chunk2
+	64 mem_mesh_sha256_chunk3
+	64 mem_mesh_sha256_chunk4
+
+	//obfuscation network PDU Header
+	0 mem_mesh_Privacy_Plaintext
+	5 mem_mesh_Privacy_Plaintext_Zero_String
+	4 mem_mesh_Privacy_Plaintext_IV_Index
+	0 mem_mesh_Privacy_Plaintext_Privacy_Random
+	2 mem_mesh_Privacy_Plaintext_Privacy_Random_EncDST
+	5 mem_mesh_Privacy_Plaintext_Privacy_Random_EncTransportPDU_or_NetMIC
+	16 mem_mesh_PECB
+
+	//basic function
+	//aes-ccm
+	2 mem_nonce_ptr
+	1 mem_ccm_data_len
+	2 mem_ccm_data_ptr
+	8 mem_ccm_mic
+	1 mem_ccm_type
+
+
+)
+memalloc ali_mesh(
+
+	16 mem_mesh_Device_UUID
+	
+	1 mem_mesh_receive_VID
+
+)
+memalloc ali_mesh(
+	2 mem_mesh_mic_cache_ptr
+	2 mem_adv_CRC_False_initValue
+	2 mem_CRC16_polynomial
+)
+memalloc ali_mesh(
+	1 mem_mesh_lower_transport_layer_payload_len
+
+)
+memalloc ali_mesh(
+	2 mem_mesh_loopcnt_tmep
+	2 mem_mesh_rega_temp
+	2 mem_mesh_regb_temp
+	2 mem_mesh_regc_temp
+	2 mem_mesh_alarm_temp
+	
+)
+memalloc ali_mesh(
+	1 mem_mesh_message_Transport_NetMIC_length
+
+	1 mem_mesh_message_NID
+	1 mem_mesh_message_TTL
+	3 mem_mesh_message_SEQ
+	2 mem_mesh_message_SRC
+	2 mem_mesh_message_DST
+	0 mem_mesh_message_Proxy_TransportPDU_opcode
+	0 mem_mesh_message_Transport_NetMIC
+	1 mem_mesh_message_Transport_Head
+	//unsegmented access message
+	0 mem_mesh_message_Proxy_TransportPDU_Parameters
+	0 mem_mesh_message_Transport_unsegmented_access_messagePDU
+	//segmented access message
+	0 mem_mesh_message_Transport_segmented_access_messagePDU
+	3 mem_mesh_message_segment_access_SZMIC_SeqZero_SegO_SegN
+	0 mem_mesh_message_Transport_segmented_access_messagePDU_Segment
+	16 mem_mesh_message_Transport_NetMIC_end
+
+	13 mem_mesh_nonce_struct
+
+	2 mem_mesh_send_message_DST
+	3 mem_mesh_last_message_SEQ
+	1 mem_mesh_network_packet_type
+
+	1 mem_mesh_receive_message_count
+	2 mem_mesh_receive_message_first_unicast_address
+	2 mem_mesh_receive_message_second_unicast_address
+	2 mem_mesh_receive_message_third_unicast_address
+	2 mem_mesh_receive_message_fourth_unicast_address	
+
+)
+memalloc ali_mesh(
+	0 mem_mesh_Proxy_Nonce
+	1 mem_mesh_Proxy_Nonce_Nonce_Type
+	1 mem_mesh_Proxy_Nonce_Pad
+	3 mem_mesh_Proxy_Nonce_SEQ
+	2 mem_mesh_Proxy_Nonce_SRC
+	2 mem_mesh_Proxy_Nonce_Pad2
+	4 mem_mesh_Proxy_Nonce_IV_Index
+
+	16 mem_mesh_white_list
+	2 mem_mesh_white_list_num
+	1 mem_mesh_addressed_filter_type
+)
+memalloc ali_mesh(
+	2 mem_mesh_upper_transport_layer_payload_ptr
+	1 mem_mesh_segmented_upper_transport_layer_payload_len
+	2 mem_mesh_segmented_lower_transport_layer_SegZero
+	1 mem_mesh_segmented_lower_transport_layer_SegO
+	1 mem_mesh_segmented_lower_transport_layer_SegN
+	1 mem_mesh_segmented_last_packet_upper_teansport_payload_len
+
+	0 mem_mesh_upper_tran_layer_queue_temp
+	1 mem_mesh_upper_tran_layer_temp_packet_flag
+	2 mem_mesh_upper_tran_layer_temp_packet_transmit_delay
+	1 mem_mesh_upper_tran_layer_temp_packet_TID
+	1 mem_mesh_upper_tran_layer_temp_packet_header_IVI_NID
+	1 mem_mesh_upper_tran_layer_temp_packet_header_CTL_TTL
+	3 mem_mesh_upper_tran_layer_temp_packet_header_SEQ
+	2 mem_mesh_upper_tran_layer_temp_packet_header_SRC
+	2 mem_mesh_upper_tran_layer_temp_packet_header_DST
+	1 mem_mesh_upper_tran_layer_temp_packet_length
+	108 mem_mesh_upper_tran_layer_temp_packet_payload
+
+
+	64 mem_mesh_network_dup_cache
+	80 mem_mesh_network_msg_cache
+
+	1 mem_mesh_network_relay_gatt_queue_each_size
+	1 mem_mesh_network_relay_gatt_queue_length
+	1 mem_mesh_network_relay_gatt_queue_current_num
+	1 mem_mesh_network_relay_gatt_queue_read_ptr
+	1 mem_mesh_network_relay_gatt_queue_write_ptr
+	340 mem_mesh_network_relay_gatt_queue_ele
+
+	
+
+	
+
+)
+memalloc usb_dongle(
+256 mem_dg_rssi_noise_buffer
+256 mem_dg_rssi_noise_dg_buffer
+256 mem_dg_rssi_noise_ms_buffer
+256 mem_dg_rssi_noise_kb_buffer
+
+)
+memalloc module(
+	//ble
+	2 mem_module_le_rx_data_len
+	2 mem_module_le_rx_data_address
+	2 mem_module_le_rx_data_handle
+
+ifdef COMPILE_WECHAT
+	0 mem_wechat_tx_buffer
+	1 mem_wechat_tx_bMagicNumber
+	1 mem_wechat_tx_bVer
+	2 mem_wechat_tx_nLength
+	2 mem_wechat_tx_nCmdId
+	2 mem_wechat_tx_nSeq1
+	255 mem_wechat_tx_payload
+
+	0 mem_wechat_rx_buffer
+	1 mem_wechat_rx_bMagicNumber
+	1 mem_wechat_rx_bVer
+	2 mem_wechat_rx_nLength
+	2 mem_wechat_rx_nCmdId
+	2 mem_wechat_rx_nSeq
+	255 mem_wechat_rx_payload
+
+	255 mem_module_wechat_local_data_buffer
+
+endif
+)
+memalloc mouse(
+2 mem_init_cnt
+2 mem_data_pre
+2 mem_data_current
+3 mem_data_sum
+2 mem_data_value
+
+
+)
+memalloc hci_boot(
+2 mem_hci_opcode_ocf
+1 mem_hci_opcode_ogf
+
+//event head
+1 mem_hci_event_head_type
+1 mem_hci_event_head_event_code
+1 mem_hci_event_para_total_length
+
+//command complete
+1 mem_hci_command_complete_num_hci_command_packet
+0 mem_hci_command_complete_command_opcode
+2 mem_hci_opcode
+0 mem_hci_command_complete_return_parameter
+1 mem_hci_command_complete_return_parameter_status
+0 mem_hci_command_complete_return_parameter_chip_id
+
+)
+memalloc usb(
+2 mem_usb_status
+1 mem_usb_fifo_empty
+2 mem_usb_read_len
+65 mem_usb_txbuf
+10 mem_usb_txbuf1
+10 mem_usb_txbuf2
+64 mem_usb_rxbuf
+1 mem_usb_rxbuf_end
+2 mem_bufptr
+1 mem_remain
+2 mem_hidreportdesc_kb
+2 mem_hidreportdesc_m
+19 mem_devicedesc
+60 mem_confdesc
+5 mem_string0
+30 mem_string1
+30 mem_string2
+30 mem_string3
+2 mem_cb_usb_config
+
+1 mem_usb_tx_interval
+9 mem_usb_vid_pid
+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
+
+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_set_report_data
+64 mem_usb0_get_report_data
+2 mem_usb_setup_bValue_temp
+1 mem_usb0_get_set_report
+1 mem_usb0_data_ready_report
+1 mem_usb_tx_win_enable
+1 mem_usb_tx_mac_enable
+1 mem_usb_idle_flag
+1 mem_usb_idle_rate
+1 mem_usb_get_protocol_flag
+1 mem_usb_set_protocol_status
+1 mem_usb_set_protocol_value
+1 mem_usb_state
+1 mem_usb_remote_wakeup
+1 mem_usb_clear_remote_wakeup
+1 mem_sdsystem_wakeup_flag
+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_usb_ep1_data
+1 mem_usb_ep2_data
+1 mem_usb_tx_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_clear_halt
+16 mem_usb_mouse_data
+16 mem_usb_kb_data
+16 mem_usb_kb_multikey
+16 mem_usb_kb_system
+2 mem_usb_test_cnt
+10 mem_usb_test_kb
+0 mem_usb_clear_mem_end
+64 mem_usb_ccid_buf
+)
+amemalloc mem_le_update_new_param(
+//update connection parameter
+	0 mem_le_new_param
+	1 mem_le_new_transmitwindowsize
+	2 mem_le_new_transmitwindowoffset
+	2 mem_le_new_conninterval
+	2 mem_le_new_connslavelatency
+	2 mem_le_new_connsupervisiontimeout
+)
+amemalloc mem_le_update_new_param(
+//update map parameter
+	5 mem_le_new_map
+)
+amemalloc mem_le_update_new_param(
+//update phy parameter
+	1 mem_le_new_m2s_phy
+	1 mem_le_new_s2m_phy
+)
+amemalloc mem_le_rxbuf(
+//data channel PDU
+	1 mem_le_rxbuf_data_header
+	1 mem_le_rxbuf_data_length
+	255 mem_le_rxbuf_data_payload
+)
+amemalloc mem_le_rxbuf(
+//data channel LL control PDU
+	1 mem_le_rxbuf_data_ll_header
+	1 mem_le_rxbuf_data_ll_length
+	1 mem_le_rxbuf_data_ll_opcode
+	26 mem_le_rxbuf_data_ll_control_data
+)
+amemalloc mem_le_rxbuf(
+//advertising channel PDU
+	1 mem_le_rxbuf_adv_header
+	1 mem_le_rxbuf_adv_length
+	255 mem_le_rxbuf_adv_payload
+)
+amemalloc mem_le_rxbuf(
+//advertising channel PDU
+//Scan Req
+	1 mem_le_rxbuf_adv_scan_req_header
+	1 mem_le_rxbuf_adv_scan_req_length
+	6 mem_le_rxbuf_adv_scan_req_scan_address
+	6 mem_le_rxbuf_adv_scan_req_adv_address
+)
+amemalloc mem_le_rxbuf(
+//advertising channel PDU
+//Connect IND
+	1 mem_le_rxbuf_adv_connect_ind_header
+	1 mem_le_rxbuf_adv_connect_ind_length
+	6 mem_le_rxbuf_adv_connect_ind_init_address
+	6 mem_le_rxbuf_adv_connect_ind_adv_address
+	4 mem_le_rxbuf_adv_connect_ind_access_address
+	3 mem_le_rxbuf_adv_connect_ind_crc_init
+	1 mem_le_rxbuf_adv_connect_ind_win_size
+	2 mem_le_rxbuf_adv_connect_ind_win_offset
+	2 mem_le_rxbuf_adv_connect_ind_interval
+	2 mem_le_rxbuf_adv_connect_ind_latency
+	2 mem_le_rxbuf_adv_connect_ind_timeout
+	5 mem_le_rxbuf_adv_connect_ind_channel_map
+	1 mem_le_rxbuf_adv_connect_ind_hop_and_sca
+)
+amemalloc mem_temp_block2(
+	2 mem_le_search_handle_start
+	2 mem_le_search_handle_end
+	0 mem_le_att_offset
+	1 mem_le_search_att_type_length
+	16 mem_le_search_att_type
+
+	1 mem_le_curr_att_len
+
+	2 mem_le_cur_attlist_start_ptr
+	2 mem_le_cur_handle_start
+	2 mem_le_cur_handle_end
+	1 mem_le_cur_uuid_length
+	16 mem_le_cur_uuid
+	2 mem_le_cur_handle
+)
+amemalloc mem_le_rxbuf(
+//data channel ATT start PDU
+	1 mem_le_rxbuf_data_att_header
+	1 mem_le_rxbuf_data_att_length
+	2 mem_le_rxbuf_data_att_l2cap_length
+	2 mem_le_rxbuf_data_att_cid
+	1 mem_le_rxbuf_data_att_opcode
+	250 mem_le_rxbuf_data_att_payload
+)
+amemalloc mem_le_rxbuf(
+//data channel ATT continue PDU
+	1 mem_le_rxbuf_data_continue_header
+	1 mem_le_rxbuf_data_continue_length
+	255 mem_le_rxbuf_data_continue_payload
+)
+amemalloc mem_le_rxbuf(
+//data channel ATT write request PDU
+	1 mem_le_rxbuf_data_att_write_header
+	1 mem_le_rxbuf_data_att_write_length
+	2 mem_le_rxbuf_data_att_write_l2cap_length
+	2 mem_le_rxbuf_data_att_write_cid
+	1 mem_le_rxbuf_data_att_write_opcode
+	2 mem_le_rxbuf_data_att_write_handle
+	248 mem_le_rxbuf_data_att_write_payload
+)
+amemalloc mem_le_rxbuf(
+//data channel ATT prepare write request PDU
+	1 mem_le_rxbuf_data_prepare_att_write_header
+	1 mem_le_rxbuf_data_prepare_att_write_length
+	2 mem_le_rxbuf_data_prepare_att_write_l2cap_length
+	2 mem_le_rxbuf_data_prepare_att_write_cid
+	1 mem_le_rxbuf_data_prepare_att_write_opcode
+	2 mem_le_rxbuf_data_prepare_att_write_handle
+	2 mem_le_rxbuf_data_prepare_att_write_offset
+	246 mem_le_rxbuf_data_prepare_att_write_payload
+)
+amemalloc mem_mesh_receive_model_message_payload(
+	3 mem_mesh_NETKeyindex_and_APPKeyindex
+	16 mem_mesh_receive_application_key
+)
+amemalloc mem_mesh_vendor_timer_timing_palyload(
+	1 mem_mesh_vendor_timer_timing_index_cyclic
+	2 mem_mesh_vendor_timer_timing_time_cyclic
+	2 mem_mesh_vendor_timer_timing_zone_cyclic
+	1 mem_mesh_vendor_timer_timing_weekdays_cyclic
+	2 mem_mesh_vendor_timer_timing_attr_type_cyclic
+	1 mem_mesh_vendor_timer_timing_attr_para_len_cyclic
+	8 mem_mesh_vendor_timer_timing_attr_para_cyclic
+	1 mem_mesh_vendor_timer_timing_cyclic_flag
+)
+amemalloc mem_mesh_vendor_timer_timing_palyload(
+	1 mem_mesh_vendor_timer_timing_index
+	4 mem_mesh_vendor_timer_timing_time
+	2 mem_mesh_vendor_timer_timing_attr_type
+	1 mem_mesh_vendor_timer_timing_attr_para_len
+	8 mem_mesh_vendor_timer_timing_attr_para
+	2 mem_mesh_vendor_timer_timing_flag
+)
+amemalloc mem_mesh_receive_model_message_payload(
+	2 mem_mesh_vendor_message_cid
+	1 mem_mesh_vendor_message_tid
+	2 mem_mesh_vendor_message_attr_type
+)
+amemalloc mem_mesh_receive_model_message_payload(
+	5 mem_mesh_vendor_message_header
+	0 mem_mesh_vendor_attr_parameter
+)
+amemalloc mem_mesh_receive_model_message_payload(
+	5 mem_mesh_vendor_message_delay_close_time_header
+	2 mem_mesh_vendor_delay_close_time
+)
+amemalloc mem_mesh_receive_model_message_payload(
+	5 mem_mesh_vendor_message_night_light_onoff_header
+	1 mem_mesh_vendor_night_light_onoff
+)
+amemalloc mem_mesh_receive_model_message_payload(
+	5 mem_mesh_vendor_message_color_header
+	2 mem_mesh_vendor_color_lightness
+	2 mem_mesh_vendor_color_hue
+	2 mem_mesh_vendor_color_saturation
+)
+amemalloc mem_mesh_receive_model_message_payload(
+	5 mem_mesh_vendor_message_back_light_onoff_header
+	1 mem_mesh_vendor_back_light_onoff
+)
+amemalloc mem_mesh_receive_model_message_payload(
+	5 mem_mesh_vendor_message_main_light_onoff_header
+	1 mem_mesh_vendor_main_light_onoff
+)
+amemalloc mem_mesh_receive_model_message_payload(
+	5 mem_mesh_vendor_message_standby_brightness_header
+	2 mem_mesh_vendor_standby_brightness
+)
+amemalloc mem_mesh_receive_model_message_payload(
+	5 mem_mesh_vendor_message_current_time_header
+	4 mem_mesh_vendor_message_current_time
+)
+amemalloc mem_mesh_access_layer_payload(
+	//ali mesh vendor struct
+	1 mem_mesh_access_layer_payload_vendor_command
+	2 mem_mesh_access_layer_payload_vendor_CID
+	1 mem_mesh_access_layer_payload_vendor_tid
+	2 mem_mesh_access_layer_payload_vendor_attr_type
+	1 mem_mesh_access_layer_payload_vendor_attr_parameter
+)
+amemalloc mem_temp_block0(
+	64 mem_mesh_subscription_eep_temp
+)
+amemalloc mem_mesh_queue_ele_temp(
+	2 mem_mesh_gatt_package_receive_msg_buffer_ptr
+	0 mem_mesh_gatt_package_receive_msg_buffer_temp
+	2 mem_mesh_gatt_package_receive_msg_id
+	0 mem_mesh_gatt_package_receive_MAC
+	1 mem_mesh_gatt_package_receive_msg_num
+	1 mem_mesh_gatt_package_receive_msg_total_length
+	29 mem_mesh_gatt_package_receive_msg_payload
+)
+amemalloc mem_mesh_Device_UUID(
+	2 mem_mesh_receive_service_uuid_company_id
+	1 mem_mesh_receive_service_uuid_vid
+	1 mem_mesh_receive_service_uuid_provisioning_type
+	2 mem_mesh_receive_service_uuid_mac
+	1 mem_mesh_receive_service_uuid_msg_id
+	1 mem_mesh_receive_service_uuid_package_num
+	1 mem_mesh_receive_service_uuid_length
+	7 mem_mesh_receive_service_uuid_payload_data
+)
+amemalloc mem_le_txheader_mesh_temp(
+	1 mem_mesh_fast_pair_packet_type
+)
+amemalloc mem_mesh_send_packet_timeout(
+	2 mem_mesh_fast_pairing_timer
+)
+amemalloc mem_mesh_receive_model_message_payload(
+	1 mem_mesh_configuration_health_message_opcode
+)
+amemalloc mem_mesh_receive_model_message_payload(
+	1 mem_mesh_configuration_health_message_opcode_config_model_subscription
+	2 mem_mesh_subscription_element_address
+	2 mem_mesh_subscription_value_address
+	2 mem_mesh_subscription_model_identifier
+)
+amemalloc mem_mesh_receive_model_message_payload(
+	1 mem_mesh_configuration_health_message_opcode_config_model_subscription_ow  //overwrite
+	2 mem_mesh_subscription_element_address_ow
+	1 mem_mesh_subscription_list_num_ow
+	2 mem_mesh_subscription_value_address_start_ow
+)
+amemalloc mem_mesh_sha256_chunk_start(
+	0 mem_chip_clear_paired_info
+)
+amemalloc mem_mesh_send_access_lower_transport_layer(
+	//proxy configuration messages -----Filter Status message format
+	1 mem_mesh_filter_status_message_opcode
+	1 mem_mesh_filter_status_message_FilterType
+	2 mem_mesh_filter_status_message_ListSize
+	8 mem_mesh_filter_status_message_MIC
+)
+amemalloc mem_mesh_send_access_lower_transport_layer(
+	//bit7 is SEQ 0=Unsegment Message
+	//bit6 is AKF
+	//bit5-bit0 is AID
+	1 mem_mesh_unsegmented_access_lower_transport_layer_head
+	11 mem_mesh_unsegmented_access_lower_transport_layer_parameters
+	4 mem_mesh_unsegmented_access_lower_transport_layer_mic
+)
+amemalloc mem_mesh_send_access_lower_transport_layer(
+	//bit7 is SEQ 1=segment Message
+	//bit6 is AKF
+	//bit5-bit0 is AID
+	1 mem_mesh_segmented_access_lower_transport_layer_head
+	//bit23 is SZMIC size of transMIC
+	//bit22-bit10 is SeqZero Least significant bits of SeqAuth
+	//bit9-bit5 is SegO Segment offset number
+	//bit4-bit0 is SegN Last Segment number
+	3 mem_mesh_segmented_access_lower_transport_layer_SZMIC_SeqZero_SegO_SegN
+	8 mem_mesh_segmented_access_lower_transport_layer_parameters
+	4 mem_mesh_segmented_access_lower_transport_layer_mic
+)
+amemalloc mem_mesh_receive_model_message_payload(
+	1 mem_mesh_module_message_opcode
+)
+amemalloc mem_mesh_receive_model_message_payload(
+	//generic OnOff Set
+	1 mem_mesh_module_message_opcode_onoff_set
+	1 mem_mesh_generic_onoff_set_payload_OnOff
+	1 mem_mesh_generic_onoff_set_payload_TID
+	1 mem_mesh_generic_onoff_set_payload_Transition_Time
+	1 mem_mesh_generic_onoff_set_payload_Delay
+
+)
+amemalloc mem_mesh_receive_model_message_payload(
+	//Scene recall 模式设置
+	1 mem_mesh_module_message_opcode_scene_recall
+	2 mem_mesh_scene_recall_payload_scene_number
+	1 mem_mesh_scene_recall_payload_TID
+	1 mem_mesh_scene_recall_payload_Transition_Time
+	1 mem_mesh_scene_recall_payload_Delay
+
+)
+amemalloc mem_mesh_receive_model_message_payload(
+	//light lightness
+	1 mem_mesh_module_message_opcode_set_light_lightness
+	2 mem_mesh_light_lightness_set_payload_lightness
+	1 mem_mesh_light_lightness_set_payload_TID
+	1 mem_mesh_light_lightness_set_payload_Transition_Time
+	1 mem_mesh_light_lightness_set_payload_Delay
+	1 mem_mesh_light_lightness_calc_lightness
+)
+amemalloc mem_mesh_receive_model_message_payload(
+	//light CTL
+	1 mem_mesh_module_message_opcode_set_light_ctl
+	2 mem_mesh_CTL_Lightness
+	2 mem_mesh_CTL_Temperature
+	2 mem_mesh_CTL_Delta_UV
+	1 mem_mesh_CTL_lightness_TID
+	1 mem_mesh_CTL_lightness_Transition_Time
+	1 mem_mesh_CTL_lightness_Delay	
+	1 mem_mesh_CTL_calc_lightness
+	1 mem_mesh_CTL_calc_temperature
+
+)
+amemalloc mem_k2_T2(
+	16 mem_k2_EncryptionKey
+)
+amemalloc mem_k2_T3(
+	16 mem_k2_PrivacyKey
+)
+amemalloc mem_mesh_nonce_struct(
+	//DST and TransportPDU encryption
+	0 mem_mesh_Network_Nonce
+	1 mem_mesh_Network_Nonce_nonce_type
+	1 mem_mesh_Network_Nonce_CTL_and_TTL
+	3 mem_mesh_Network_Nonce_SEQ
+	2 mem_mesh_Network_Nonce_SRC
+	2 mem_mesh_Network_Nonce_Pad	//0x0000
+	4 mem_mesh_Network_Nonce_IV_Index
+
+)
+amemalloc mem_le_txheader_mesh_temp(
+	1 mem_mesh_network_packet_type_temp
+
+	1 mem_mesh_message_NID_temp
+	1 mem_mesh_message_TTL_temp
+	3 mem_mesh_message_SEQ_temp
+	2 mem_mesh_message_SRC_temp
+	2 mem_mesh_message_DST_temp
+	20  mem_mesh_message_Transport_PDU_temp
+)
+amemalloc mem_mesh_nonce_struct(
+	//application payload encryption
+	0 mem_mesh_Application_Nonce
+	1 mem_mesh_Application_Nonce_Nonce_Type
+	//bit7 is ASZMIC
+	1 mem_mesh_Application_Nonce_ASZMIC_and_Pad	//
+	3 mem_mesh_Application_Nonce_SEQ
+	2 mem_mesh_Application_Nonce_SRC
+	2 mem_mesh_Application_Nonce_DST
+	4 mem_mesh_Application_Nonce_IV_Index
+)
+amemalloc mem_mesh_nonce_struct(
+	//application payload encryption
+	0 mem_mesh_Device_Nonce
+	1 mem_mesh_Device_Nonce_Nonce_Type
+	1 mem_mesh_Device_Nonce_ASZMIC_and_Pad	//
+	3 mem_mesh_Device_Nonce_SEQ
+	2 mem_mesh_Device_Nonce_SRC
+	2 mem_mesh_Device_Nonce_DST
+	4 mem_mesh_Device_Nonce_IV_Index
+)
+amemalloc mem_mesh_access_layer_payload_len(
+	1 mem_mesh_upper_transport_layer_payload_len
+)
+amemalloc mem_mesh_upper_tran_layer_temp_packet_payload(
+//unsegment access message
+	0 mem_mesh_upper_tran_layer_temp_pakcet_AKF_AID
+	1 mem_mesh_upper_tran_layer_temp_unsegmented_pakcet_AKF_AID
+	4 mem_mesh_upper_tran_layer_temp_unsegmented_packet_fill
+	0 mem_mesh_upper_tran_layer_temp_pakcet_upper_tran_access_pdu
+	15 mem_mesh_upper_tran_layer_temp_unsegmented_pakcet_upper_tran_access_pdu
+)
+amemalloc mem_mesh_upper_tran_layer_temp_packet_payload(
+//segment access message
+	1 mem_mesh_upper_tran_layer_temp_segmented_pakcet_AKF_AID
+	2 mem_mesh_upper_tran_layer_temp_segmented_pakcet_SeqZero
+	1 mem_mesh_upper_tran_layer_temp_segmented_pakcet_SegO
+	1 mem_mesh_upper_tran_layer_temp_segmented_pakcet_SegN
+	104 mem_mesh_upper_tran_layer_temp_segmented_pakcet_upper_tran_access_pdu
+)
+amemalloc mem_otp_temp(
+	8 mem_otp_adc
+	8 mem_otp_temp0
+	1 mem_otp_core_ldo
+	1 mem_otp_verf_bg
+	1 mem_otp_charge_pump
+	1 mem_otp_dpll_ibais
+	8 mem_otp_temp1
+	1 mem_otp_hv_sel
+	1 mem_otp_ldo_vsel
+	1 mem_otp_load_delay
+	1 mem_otp_load_check_sum
+)
+xmemalloc(
+/* patch enable 0x4000-0x403f  */
+
+1 mem_patch00
+1 mem_patch01
+1 mem_patch02
+1 mem_patch03
+1 mem_patch04
+1 mem_patch05
+1 mem_patch06
+1 mem_patch07
+1 mem_patch08
+1 mem_patch09
+1 mem_patch0a
+1 mem_patch0b
+1 mem_patch0c
+1 mem_patch0d
+1 mem_patch0e
+1 mem_patch0f
+1 mem_patch10
+1 mem_patch11
+1 mem_patch12
+1 mem_patch13
+1 mem_patch14
+1 mem_patch15
+1 mem_patch16
+1 mem_patch17
+1 mem_patch18
+1 mem_patch19
+1 mem_patch1a
+1 mem_patch1b
+1 mem_patch1c
+1 mem_patch1d
+1 mem_patch1e
+1 mem_patch1f
+1 mem_patch20
+1 mem_patch21
+1 mem_patch22
+1 mem_patch23
+1 mem_patch24
+1 mem_patch25
+1 mem_patch26
+1 mem_patch27
+1 mem_patch28
+1 mem_patch29
+1 mem_patch2a
+1 mem_patch2b
+1 mem_patch2c
+1 mem_patch2d
+1 mem_patch2e
+1 mem_patch2f
+1 mem_patch30
+1 mem_patch31
+1 mem_patch32
+1 mem_patch33
+1 mem_patch34
+1 mem_patch35
+1 mem_patch36
+1 mem_patch37
+1 mem_patch38
+1 mem_patch39
+1 mem_patch3a
+1 mem_patch3b
+1 mem_patch3c
+1 mem_patch3d
+1 mem_patch3e
+1 mem_patch3f
+
+	/* 3 device contexts  */
+83 mem_context
+1 mem_current_amaddr
+1 mem_lpm_mode
+4 mem_last_clkn
+
+	/* parameters */
+1 mem_fcomp_div
+2 mem_rx_window_sniff
+2 mem_rf_init_ptr
+
+
+1 mem_rf_rccal
+1 mem_handle_num
+
+
+	/* lpm related */
+2 mem_chip_functions
+2 mem_lpm_wake_lock
+2 mem_lpm_interval
+1 mem_lpm_overhead
+1 mem_lpm_hibernate_switch
+1 mem_sniff_unint_lost
+4 mem_sleep_counter   
+4 mem_sleep_counter_all
+6 mem_sleep_clkn
+3 mem_sniff_rcv
+3 mem_sniff_lost
+3 mem_clks_per_lpo
+
+1 mem_lpm_mult
+1 mem_lpm_mult_timeout
+1 mem_lpm_mult_cnt
+
+1 mem_lpm_xtalcnt
+1 mem_lpm_buckcnt
+1 mem_lpm_ldocnt
+1 mem_lpm_isogate
+1 mem_lpm_isogate_stage2
+1 mem_lpm_isogate_final
+1 mem_lpm_ldo_sel
+1 mem_lpm_sysctl
+1 mem_lpm_hv_sel
+
+24 mem_saved_gpio	 
+3 mem_saved_gsel
+8 mem_saved_mark
+1 mem_saved_spidctrl
+2 mem_patch_ptr
+2 mem_patch_len
+
+32 mem_timers
+
+
+/* HCI */
+1 mem_hci_cmd
+1 mem_hci_conn_handle
+3 mem_hci_plap
+1 mem_hci_puap
+2 mem_hci_pnap
+
+
+1 mem_xtal_c_sel
+24 mem_ghpc_table
+12 mem_aac_res_table
+1 mem_tx_power
+1 mem_modem_rssi
+1 mem_gain_fix
+3 mem_gain_table
+1 mem_gain_second_agc_en
+1 mem_system_clk
+
+ifdef DEBUG_RF_INIT
+18 mem_rf_init_data
+endif
+1 mem_otp_charge_pump_x
+1 mem_otp_dpll_ibais_x
+
+1 mem_xtal_freq
+)
+xmemalloc(
+1 mem_version
+2 mem_company_id
+2 mem_sub_version
+
+2 mem_le_dsniff
+2 mem_le_conn_interval
+1 mem_le_tx_ifs_defference
+1 mem_le_tx2m_delay
+
+1 mem_le_txheader
+1 mem_le_txlen
+256 mem_le_txpayload
+
+//modified name
+1 mem_le_name_len
+30 mem_le_name
+
+
+/* smp related */
+
+16 mem_le_ltk
+1 mem_ltk_exists
+16 mem_le_rconfirm
+16 mem_le_srand
+1 mem_le_iat
+1 mem_le_rat
+1 mem_le_preq
+1 mem_le_preq_iocap
+1 mem_le_preq_oob
+1 mem_le_preq_auth
+1 mem_le_preq_max_keysize
+1 mem_le_preq_init_key_distribution
+1 mem_le_preq_resp_key_distribution
+1 mem_le_pres
+1 mem_le_pres_iocap
+1 mem_le_pres_oob
+1 mem_le_pres_auth
+1 mem_le_pres_max_keysize
+1 mem_le_pres_init_key_distribution
+1 mem_le_pres_resp_key_distribution
+
+
+
+//START of LE conn parameter structure
+0 mem_le_conn_param
+1 mem_le_conn_peer_addr_type
+6 mem_le_conn_peer_addr
+1 mem_le_conn_own_addr_type
+2 mem_le_interval_min
+2 mem_le_interval_max
+2 mem_le_latency
+2 mem_le_timeout
+//START of LE conn parameter structure
+
+
+3 mem_le_lap
+1 mem_le_uap
+2 mem_le_nap
+
+
+2 mem_le_local_mtu
+2 mem_le_remote_mtu
+
+8 mem_le_skdm
+8 mem_le_skds
+
+2 mem_le_init_superto
+2 mem_ui_le_uuid_table
+
+1 mem_le_secure_connect_flag
+1 mem_le_secure_connect_state
+1 mem_le_sc_confirm_gkey_flag
+
+
+1 mem_le_pairing_state
+1 mem_le_enc_state
+1 mem_le_pairing_mode
+4 mem_le_tk
+2 mem_le_ediv
+8 mem_le_rand
+16 mem_le_irk
+
+//LE attribute list
+4 mem_le_transmit_window
+
+//ble General configuration 
+1 mem_le_configuration
+16 mem_le_fixed_ltk
+2 mem_le_pairing_handle
+
+
+1 mem_le_packet_llid
+
+//for continue
+2 mem_le_l2cap_size
+2 mem_le_packet_len_recved
+2 mem_le_payload_ptr
+
+
+//ble gatt signaling
+1 mem_le_signaling_identifier
+2 mem_le_l2cap_signaling_conn_param_update_rsp_result
+
+1 mem_le_md_count
+2 mem_ble_l2cap_tx_buff0_ptr
+2 mem_ble_l2cap_tx_buff_size_ptr
+)
+xmemalloc(
+// parameters
+1 mem_le_scan_enable
+2 mem_le_scan_interval
+2 mem_le_scan_window
+
+
+1 mem_le_adv_data_len
+31 mem_le_adv_data
+1 mem_le_scan_data_len
+31 mem_le_scan_data
+
+//START of LE adv parameter structure
+1 mem_le_adv_enable
+0 mem_le_adv_param
+2 mem_le_adv_interval
+1 mem_le_adv_type
+1 mem_le_adv_own_addr_type
+6 mem_le_adv_direct_addr
+1 mem_le_adv_channel_map
+//END of LE adv parameter structure
+
+//START of LE scan parameter structure
+0 mem_le_scan_params
+1 mem_le_scan_type
+1 mem_le_scan_own_addr_type
+//END of LE scan parameter structure
+)
+xmemalloc(
+	1 mem_le_l2cap_att_states
+
+
+	/* should be together */
+	1 mem_le_att_opcode
+	2 mem_le_att_handle
+	1 mem_le_search_res
+
+	2 mem_le_notify_handle
+	1 mem_le_search_uuid_length
+	16 mem_le_search_uuid
+)
+xmemalloc(
+8 mem_le_local_feature
+1 mem_le_tx_phys
+1 mem_le_rx_phys
+
+2 mem_remote_rx_max_octets
+2 mem_remote_rx_max_time
+2 mem_remote_tx_max_octets
+2 mem_remote_tx_max_time
+2 mem_local_rx_max_octets
+2 mem_local_rx_max_time
+2 mem_local_tx_max_octets
+2 mem_local_tx_max_time
+
+)
+xmemalloc(
+2 mem_ucode_ptr
+1 mem_ucode_flag
+1 mem_device_option
+1 mem_peripheral_lock_flag
+6 mem_bistfix_val
+
+/*App Callback Functons*/
+2 mem_cb_check_wakelock
+2 mem_cb_before_hibernate
+2 mem_cb_before_lpm
+2 mem_cb_le_process
+2 mem_cb_idle_process
+2 mem_cb_bb_event_process
+2 mem_cb_att_write
+2 mem_cb_ble_transmit
+2 mem_cb_event_timer
+2 mem_cb_bt_set_mult
+2 mem_cb_spi_flash_write_complate
+2 mem_cb_before_lpm_sleep
+
+2 mem_eeprom_base
+
+//lpm mode
+1 mem_wake_up_delay_timer
+
+1 mem_app_connection_options
+
+//
+2 mem_app_disconn_reason
+2 mem_app_disconn_reason_flag
+1 mem_xrecord_mode
+
+1 mem_eeprom_block_size
+1 mem_spi_init_clk
+1 mem_spi_init_delay_time
+1 mem_spi_ncs_gpio
+
+2 mem_nv_data_ptr
+1 mem_nv_data_number
+
+2 mem_queue_ptr
+
+
+//adc
+2 mem_3v_adc_io_data
+2 mem_2v_adc_hvin_data
+2 mem_1v_adc_io_data
+2 mem_3v_adc_hvin_data
+2 mem_reference_voltage
+1 mem_adc_config_flag
+1 mem_adc_channel
+1 mem_adc_clkdiv
+2 mem_adc_current_value
+1 mem_adc_power_flag	//bit0:low power falg ; bit1:no power flag
+2 mem_adc_saddr_ptr
+2 mem_adc_eaddr_ptr
+1 mem_adc_dma_enable
+1 mem_adc_cal_c0
+1 mem_adc_cal_c1
+1 mem_adc_cal_c2
+1 mem_adc_cal_c3
+1 mem_adc_cal_c4
+1 mem_adc_cal_c5
+1 mem_adc_cal_c6
+
+3 mem_spi_write_addr
+2 mem_spi_write_ptr
+2 mem_spi_write_len
+1 mem_spi_write_flash_sm
+
+
+1 mem_spi_cs_gpio
+1 mem_spi_si_gpio
+1 mem_spi_so_gpio
+1 mem_spi_sclk_gpio
+1 mem_spi_wp_gpio
+1 mem_spi_hold_gpio
+
+
+1 mem_eeprom_wp_gpio
+1 mem_eeprom_scl_gpio
+1 mem_eeprom_sda_gpio
+2 mem_kscan_ptr
+0 mem_key_num_ptr
+2 mem_keyscan_ptr
+2 mem_key_value_retention
+2 mem_power_param_ptr
+
+1 mem_seqi
+0 mem_adc_cal_c7
+1 mem_set_cdb_on
+1 mem_syn_cal_ctrl
+
+1 mem_nec_decode_error_value
+
+ifdef AC_50HZ
+1 mem_ac_detect_gpio
+0 mem_ac_detect_control
+1 mem_ac_detect_div
+1 mem_ac_detect_window
+endif
+
+1 mem_wdt_always_work
+
+1 mem_power_ctrl_disable
+
+1 mem_ring_ibias_trim
+2 mem_ring_ibias_vtune_low
+2 mem_ring_ibias_vtune_high
+1 mem_ring_ibias_calc_adc_gpio
+1 mem_ring_ibias_calc_adc_channel
+)
+xmemalloc(
+
+1 mem_rf_debug_rx_gpio
+1 mem_rf_debug_tx_gpio
+)
+xmemalloc(
+0 mem_l2cap_xmem_start
+
+//*******************L2CAP malloc********************//
+1 mem_used_map
+0 mem_tx_fifo0
+1 mem_tx_fifo0_map
+2 mem_tx_fifo0_ptr
+0 mem_tx_fifo1
+1 mem_tx_fifo1_map
+2 mem_tx_fifo1_ptr
+0 mem_tx_fifo2
+1 mem_tx_fifo2_map
+2 mem_tx_fifo2_ptr
+0 mem_tx_fifo3
+1 mem_tx_fifo3_map
+2 mem_tx_fifo3_ptr
+0 mem_tx_fifo_end
+
+2 mem_l2cap_lpm_txbuf_ptr
+0 mem_l2cap_xmem_end
+
+)
+xmemalloc(
+5 mem_ccm_pcnt_tx
+5 mem_ccm_pcnt_rx
+4 mem_ccm_last_mic
+0 mem_ccm_iv
+4 mem_ccm_ivm
+4 mem_ccm_ivs
+2 mem_ccm_len
+2 mem_ccm_rx_ptr
+)
+xmemalloc(
+1 mem_sc_only_mode
+1 mem_sp_debug_mode
+1 mem_secure_connections_enable
+1 mem_sc_calc
+1 mem_sc_local_key_invalid
+
+
+32 mem_sc_private_key_256
+32 mem_sc_pubkey_local_x_256
+32 mem_sc_pubkey_local_y_256
+
+
+0 mem_sp_state_xmem
+1 mem_authentication_passkey_times
+1 mem_passkey_1bit
+0 mem_sp_state_xmem_end
+)
+xmemalloc(
+//UI Work area
+1 mem_ipc_lock_bt
+1 mem_ipc_lock_c51
+8 mem_ipc_fifo_bt2c51
+8 mem_ipc_fifo_c512bt
+
+1 mem_ui_button_timer
+1 mem_ui_button_last_state
+4 mem_ui_timer_last_btclk
+2 mem_ui_state_map
+
+1 mem_ui_button_timeout
+1 mem_ui_button_gpio
+1 mem_ui_led_init_state_set
+
+1 mem_ui_led_struct_num
+2 mem_ui_led_struct_ptr
+
+)
+xmemalloc g24(
+6 mem_24g_lap
+34 mem_24g_rxbuf
+32 mem_24g_txbuf
+36 mem_24g_txpayload
+32 mem_24g_rxpayload
+1 mem_24g_rxdata_length
+1 mem_24g_pid
+1 mem_24g_no_ack
+3 mem_24g_sta_crc
+3 mem_24g_last_crc
+1 mem_24g_sta_pid
+1 mem_24g_last_pid
+1 mem_24g_datalen
+1 mem_24g_data_type
+1 mem_24g_txlen
+2 mem_24g_rx_window
+1 mem_24g_ch
+1 mem_24g_current_ch_number
+4 mem_24g_addr
+4 mem_24g_ch_map1
+4 mem_24g_ch_map2
+4 mem_24g_ch_map3
+4 mem_24g_ch_map4
+4 mem_24g_tx_btclk
+1 mem_24g_interval
+1 mem_24g_interval_min
+1 mem_24g_interval_max
+2 mem_24g_syncword
+1 mem_24g_syncword_crc8
+1 mem_24g_get_syncword_crc8
+1 mem_24g_pair_switch
+8 mem_24g_enter_hibernate
+
+1 mem_24g_rx_phy
+1 mem_24g_tx_phy
+
+1 mem_24g_ch_map_update
+4 mem_24g_ch_update_map1
+4 mem_24g_ch_update_map2
+4 mem_24g_ch_update_map3
+4 mem_24g_ch_update_map4
+
+1 mem_24g_disable_fec1
+1 mem_24g_off_type
+)
+xmemalloc g24_tx(
+1 mem_rssi_hex_received
+
+)
+xmemalloc g24(
+4 mem_24g_pair_addr
+1 mem_24g_pair_ch
+1 mem_24g_pair_tx_power
+
+)
+xmemalloc g24_tx(
+1 mem_24g_pair_sm
+1 mem_24g_pair_no_ack
+2 mem_24g_pair_timeout_init
+2 mem_24g_pair_timeout
+2 mem_24g_pair_count
+)
+xmemalloc g24_rx(
+1 mem_24g_device1_bind_step
+1 mem_24g_device2_bind_step
+1 mem_24g_bind_device_status
+8 mem_24g_bind_payload
+1 mem_24g_device1_bind_disable
+1 mem_24g_device2_bind_disable
+
+)
+xmemalloc g24_rx(
+2 mem_cb_24g_receive_process
+2 mem_cb_24g_ackpayload
+2 mem_cb_24g_data_device1
+2 mem_cb_24g_data_device2
+34 mem_24g_rxdata_temp
+1 mem_24g_abort_packet
+4 mem_24g_hop_btclk
+1 mem_24g_hop_interval
+1 mem_24g_pair_mode
+1 mem_24g_ackpayload_enable
+1 mem_24g_hop_packet
+1 mem_24g_mode_switch
+1 mem_24g_nodata_timer_enable
+
+1 mem_24g_mode_init
+1 mem_24g_work_mode
+1 mem_24g_time_slice
+1 mem_24g_self_last_ch
+1 mem_24g_self_ch_number
+1 mem_24g_self_config_ch_once
+1 mem_24g_device1_last_ch
+1 mem_24g_device1_ch_number
+1 mem_24g_device1_config_ch_once
+1 mem_24g_device2_last_ch
+1 mem_24g_device2_ch_number
+1 mem_24g_device2_config_ch_once
+1 mem_24g_led_status
+1 mem_24g_bind_mode_continue
+
+1 mem_tx_power_temp
+
+1 mem_24g_mode_B_S_switch
+1 mem_24g_mode_B_S_switch_init
+2 mem_24g_mode_B_S_switch_cnt
+1 mem_24g_mode_B_S_switch_exit
+1 mem_24g_B_S_time_slice
+1 mem_24g_B_S_mode_switch_disable
+
+1 mem_24g_bind_device_living
+)
+xmemalloc g24_tx(
+2 mem_24g_reconn_timeout_init
+2 mem_24g_reconn_timeout
+2 mem_24g_reconn_count
+1 mem_24g_reconn_type
+1 mem_24g_fast_conn_enable
+4 mem_24g_fast_conn_addr
+4 mem_24g_receiver_addr
+1 mem_24g_fast_conn_temp_ch
+1 mem_24g_receiver_temp_ch
+1 mem_24g_device_temp_ch
+
+)
+xmemalloc g24_rx(
+4 mem_24g_transmitter_addr
+4 mem_24g_device1_addr
+4 mem_24g_device2_addr
+
+)
+xmemalloc g24(
+1 mem_rssi_buff_index
+)
+xmemalloc g24_tx(
+1 mem_rssi_signal_index
+2 mem_rssi_signal_buf_ptr
+
+)
+xmemalloc g24_rx(
+1 mem_rssi_noise_avg
+1 mem_rssi_noise_index
+
+1 mem_rssi_noise_self_avg
+1 mem_rssi_noise_device1_avg
+1 mem_rssi_noise_device2_avg
+1 mem_rssi_noise_self_index
+1 mem_rssi_noise_device1_index
+1 mem_rssi_noise_device2_index
+
+2 mem_rssi_noise_buffer_ptr
+2 mem_rssi_noise_self_buffer_ptr
+2 mem_rssi_noise_device1_buffer_ptr
+2 mem_rssi_noise_device2_buffer_ptr
+
+)
+xmemalloc g24_tx(
+2 mem_cb_24g_transmit_data
+2 mem_cb_24g_search_receiver
+2 mem_cb_24g_lpm_before
+2 mem_cb_24g_transmit_short_sleep
+2 mem_cb_24g_transmit_long_sleep
+
+1 mem_24g_conn_sm
+
+1 mem_24g_ensure
+2 mem_24g_txfail_cnt
+1 mem_24g_attempt_fail_flag
+
+1 mem_24g_retry
+1 mem_24g_abort_pac
+1 mem_24g_max_retry
+4 mem_24g_device_addr
+3 mem_24g_short_sleep_set
+8 mem_24g_long_sleep_set
+4 mem_24g_long_sleep_set1
+
+1 mem_24g_pac_index
+1 mem_24g_transmit_by_interrupt
+2 mem_24g_transmit_by_interrupt_exit_count
+2 mem_24g_transmit_by_interrupt_exit_count_init
+2 mem_24g_long_sleep_param_update_timer_init
+2 mem_24g_long_sleep_param_update_timer
+
+1 mem_24g_fast_hop_count
+2 mem_24g_retransmit
+)
+xmemalloc g24_tx(
+1 mem_rssi_avg_received
+1 mem_power_ctrl_level
+1 mem_power_ctrl_pac_succ_cnt
+1 mem_power_ctrl_pac_succ_cnt_init
+
+1 mem_rssi_dis_min_24g
+1 mem_rssi_dis_max_24g
+1 mem_rssi_hex_received_max_value
+
+1 mem_rssi_dis_min_ble
+1 mem_rssi_dis_max_ble
+)
+xmemalloc ali_mesh(
+	1 mem_mesh_vendor_mesh_receive_tid
+	1 mem_mesh_vendor_mesh_send_tid
+
+	4 mem_mesh_vendor_timer_current_time
+	4 mem_system_time
+
+	0 mem_mesh_vendor_timer_timing_delete_index1
+	1 mem_mesh_vendor_timer_timing_index1
+	0 mem_mesh_vendor_timer_timing_delete_index2
+	4 mem_mesh_vendor_timer_timing_time1
+	2 mem_mesh_vendor_timer_timing_attr_type1
+	1 mem_mesh_vendor_timer_timing_attr_para1
+	234 mem_mesh_vendor_timer_timing_buffer
+
+	18 mem_mesh_vendor_timer_timing_palyload
+	2  mem_mesh_vendor_timer_timing_temp
+
+	1 mem_mesh_vendor_timer_timing_time_cyclic_temp
+	1 mem_mesh_vendor_timer_check_loop
+	1 mem_tmall_revd_device_power_on_msge_flag
+	2 mem_tmall_send_power_on_msge_timeout
+
+	2 mem_mesh_vendor_timer_timing_temp1
+	1 mem_mesh_timer_index_buffer_len
+	32 mem_mesh_timer_index_buffer
+	1 mem_mesh_timer_index_count
+)
+xmemalloc ali_mesh(
+
+	
+	1 mem_mesh_adv_data_len
+	31 mem_mesh_adv_data
+
+	1 mem_mesh_adv_scan_channel
+)
+xmemalloc ali_mesh(
+	1 mem_mesh_advertising_unprovisioned_device_beacon_switch
+	//未配网广播间隔
+	2 mem_mesh_advertising_unprovisioned_device_beacon_timer
+
+	//广播生存周期
+	1 mem_mesh_advertising_unprovisioned_device_beacon_duration
+	//广播周期之间的间隔
+	1 mem_mesh_advertising_unprovisioned_device_beacon_interval
+
+)
+xmemalloc ali_mesh(
+
+	0 mem_mesh_calc_ConfirmationCloud_data
+	8 mem_mesh_ConfirmationCloud_RandomB
+	8 mem_mesh_ConfirmationCloud_RandomA
+	16 mem_mesh_AuthValueProv
+	16 mem_mesh_ConfirmationCloud
+
+
+	//provisioning random  / provisioning_confirmation
+	0 mem_mesh_ConfirmationDevice
+	0 mem_mesh_calc_ConfirmationDevice_data
+	8 mem_mesh_provisioning_random_A
+	8 mem_mesh_provisioning_random_B
+	16 mem_mesh_AuthValueDevice
+
+	16 mem_mesh_Device_Key
+
+
+// CMAC Key
+	16 mem_mesh_Confirmationkey
+
+	//sha256 init data
+	15 mem_mesh_sha256_ConfirmationKey_ascii
+	10 mem_mesh_sha256_SessionKey_ascii
+	9 mem_mesh_sha256_DeviceKey_ascii
+
+	//sha256
+	1 mem_mesh_sha256_load_first_data_flag
+
+	8 mem_mesh_sha256_data_len_byte
+	8 mem_mesh_sha256_data_len_bit
+	2 mem_mesh_sha256_data_end_addr
+	2 mem_mesh_sha256_data_len_addr
+	1 mem_mesh_sha256_chunk_count
+	2 mem_mesh_sha256_chunk_data_ptr
+	2 mem_mesh_sha256_chunk_ptr
+
+
+	//function K2
+	//f2 input
+	1 mem_k2_P_len
+	16 mem_k2_P
+	16 mem_k2_N
+	//f2 init data
+	16 mem_k2_SALT
+	//f2 output
+	16 mem_k2_T
+	0 mem_k2_T0
+	16 mem_k2_T1
+	1 mem_k2_NID
+	16 mem_k2_T3
+	16 mem_k2_T2
+
+
+	//k4 function
+	16 mem_k4_SALT
+	16 mem_k4_T
+	16 mem_k4_id6_01
+	16 mem_k4_k4N
+	1 mem_mesh_transport_AID
+
+	16 mem_k3_SALT
+	16 mem_k3_T
+	5 mem_k3_id64_01
+	8 mem_k3_k4N
+	8 mem_mesh_network_id
+
+
+)
+xmemalloc ali_mesh(
+
+	// provisioning flag 标志是否入网
+	1 mem_mesh_provisioned_flag
+
+	//入网时的状态机
+	1 mem_mesh_Provisioning_State_Flag
+	
+	1 mem_mesh_Device_PID
+	1 mem_mesh_UUID_FeatureFlag
+	1 mem_mesh_UUID_FeatureFlag1
+	1 mem_mesh_PDU_RFU
+	2 mem_mesh_OOB_information
+
+	//Provisioning_Data
+	0 mem_mesh_Encrypt_Provisioning_Data
+	2 mem_mesh_provisioning_data_Mac_addr
+	1 mem_mesh_KeyFresh_and_Update_flag
+	16 mem_mesh_Network_Key
+	1 mem_mesh_last_IV_Index_byte
+	2 mem_mesh_Unicast_Address
+
+	1 mem_mesh_recv_cfg_appkey_add_timer
+
+	1 mem_mesh_report_power_on_timer
+	1 mem_mesh_report_full_attribute_timer
+
+	1 mem_mesh_health_node_reset_timer
+//	4 mem_mesh_adv_last_time
+	2 mem_mesh_send_packet_timeout
+
+	1 mem_mesh_gatt_package_send_msg_id
+
+)
+xmemalloc ali_mesh(
+
+	1 mem_mesh_gatt_receive_msg_timer
+	//fast pairing 
+	//APP control 
+
+
+
+)
+xmemalloc ali_mesh(
+	4 mem_mesh_three_tuple_ProductID
+	6 mem_mesh_three_tuple_MAC
+	16 mem_mesh_three_tuple_secret
+
+
+	2 mem_mesh_cb_receive_advertising
+
+
+	2 mem_mesh_cb_receive_access_message
+
+
+	2 mem_mesh_cb_receive_config_appkey_add
+
+
+	2 mem_mesh_cb_pairing_fail
+
+	//ali vendor message cb
+	2 mem_mesh_cb_recv_vendor
+
+	2 mem_mesh_scan_selete_next_ch
+	
+	2 mem_mesh_cb_generic_onoff_get
+	2 mem_mesh_cb_generic_onoff_set
+	2 mem_mesh_cb_scene_recall
+	2 mem_mesh_cb_light_lightness_set
+	2 mem_mesh_cb_light_lightness_get
+	2 mem_mesh_cb_light_ctl_set
+
+	2 mem_mesh_cb_main_light_onoff_set
+	2 mem_mesh_cb_background_onoff_set
+	2 mem_mesh_cb_color_set
+
+
+	2 mem_mesh_cb_network_relay
+
+
+	2 mem_mesh_cb_receive_node_reset
+
+
+	2 mem_mesh_cb_seq_changed
+
+	2 mem_mesh_cb_subscriptuion_list_changed
+
+
+	2 mem_mesh_cb_vendor_timing_changed
+	
+
+	2 mem_mesh_core_feature
+
+	1 mem_mesh_element_number
+	2 mem_mesh_element_device_ptr
+	2 mem_mesh_element_device_length
+
+	2 mem_mesh_clear_provisioning_data
+
+	2 mem_mesh_app_deport_device_state
+
+	1 mem_mesh_chip_select
+
+
+)
+xmemalloc ali_mesh_element(
+	0 mem_mesh_element_device
+	2 mem_mesh_element_device_group_addr
+	2 mem_mesh_element_device_queue_buffer_ptr
+	2 mem_mesh_element_device_timing_ptr
+	16 mem_mesh_element_device_element_subscription_label
+	1 mem_mesh_element_upper_adv_flag
+	2 mem_mesh_element_upper_queue_buffer_ptr
+	1 mem_mesh_element_tran_package_tid
+	1 mem_mesh_element_tran_package_type
+
+	SIZEOF_ELEMENT_DEVICE mem_mesh_element_device1
+	SIZEOF_ELEMENT_DEVICE mem_mesh_element_device2
+)
+xmemalloc ali_mesh_element(
+	MESH_SEGMENT_SIZE mem_mesh_segmented_access_message_Segment
+)
+xmemalloc ali_mesh(
+	//current segmented access message head
+	1 mem_mesh_segmented_access_message_SZMIC
+	2 mem_mesh_segmented_access_message_SeqZero
+	1 mem_mesh_segmented_access_message_SegO
+	1 mem_mesh_segmented_access_message_SegN
+
+	4 mem_mesh_segmented_access_message_BlockAck
+	1 mem_mesh_segmented_access_message_receive_finish
+	1 mem_mesh_segmented_access_message_current_length
+
+	1 mem_mesh_segmented_access_message_SegN_upper_limit
+	2 mem_mesh_segmented_access_message_Segment_ptr
+)
+xmemalloc ali_mesh(
+	2 mem_mesh_last_CTL_Temperature
+)
+xmemalloc ali_mesh(
+	1 mem_mesh_receive_group_address
+	1 mem_mesh_receive_element_number
+)
+xmemalloc ali_mesh(
+	1 mem_mesh_network_dup_cache_next
+	1 mem_mesh_network_msg_cache_next
+	2 mem_mesh_network_proxy_unicast_address
+
+	4 mem_mesh_IV_Index
+
+
+
+// mesh SRC/SEQ  cache
+	0 mem_mesh_TMALL_cache_start
+	2 mem_mesh_TMALL_SRC1
+	3 mem_mesh_TMALL_SEQ1
+	45 mem_mesh_TMALL_cache
+	0 mem_mesh_TMALL_cache_end
+
+	0 mem_mesh_transport_message_mic_cache
+	4 mem_mesh_transport_message_mic_cache_buff1
+	36 mem_mesh_transport_message_mic_cache_buff2_10
+
+	0 mem_mesh_network_relay_queue
+	1 mem_mesh_network_relay_queue_each_size
+	1 mem_mesh_network_relay_queue_length
+	1 mem_mesh_network_relay_queue_current_num
+	1 mem_mesh_network_relay_queue_read_ptr
+	1 mem_mesh_network_relay_queue_write_ptr
+	136 mem_mesh_network_relay_queue_ele
+
+)
+xmemalloc ali_mesh_element(
+	196 mem_mesh_le_att_list
+	3 mem_mesh_send_message_SEQ_temp
+	
+)
+xmemalloc ali_mesh(
+	16 mem_mesh_application_key
+	1 mem_mesh_ASZMIC
+
+	0 mem_mesh_access_message_mic_cache
+	4 mem_mesh_access_message_mic_cache_buff1
+	36 mem_mesh_access_message_mic_cache_buff2_10
+
+	3 mem_mesh_send_message_SEQ
+
+	2 mem_mesh_send_message_SRC
+
+	1 mem_mesh_send_message_TTL
+
+	//Upper transport access PDU
+	1 mem_mesh_send_upper_layer_IVI_and_NID
+	1 mem_mesh_send_upper_layer_CTL_and_TTL
+	3 mem_mesh_send_upper_layer_SEQ
+	2 mem_mesh_send_upper_layer_SRC
+	2 mem_mesh_send_upper_layer_DST
+	16 mem_mesh_send_access_lower_transport_layer
+	4 mem_mesh_send_network_layer_NetMIC
+
+	1 mem_mesh_upper_tran_layer_packet_advertising
+	1 mem_mesh_upper_tran_layer_packet_tid
+	1 mem_mesh_upper_tran_layer_packet_type
+
+	1 mem_mesh_upper_receive_new_message_timer
+
+	1 mem_mesh_upper_tran_layer_queue_each_size
+	1 mem_mesh_upper_tran_layer_queue_length
+	1 mem_mesh_upper_tran_layer_queue_current_num
+	1 mem_mesh_upper_tran_layer_queue_read_ptr
+	1 mem_mesh_upper_tran_layer_queue_write_ptr
+	40 mem_mesh_upper_tran_layer_queue_element_1
+	40 mem_mesh_upper_tran_layer_queue_element_2
+	40 mem_mesh_upper_tran_layer_queue_element_3
+	40 mem_mesh_upper_tran_layer_queue_element_4
+
+	1 mem_mesh_queue_each_size
+	1 mem_mesh_queue_length
+	1 mem_mesh_queue_current_num
+	1 mem_mesh_queue_read_ptr
+	1 mem_mesh_queue_write_ptr
+	136 mem_mesh_queue_ele
+
+)
+xmemalloc g24_rx_car_adpcm(
+	16 mem_ad_indexTable
+	356 mem_ad_stepsizeTable
+
+	4 mem_ad_state_valpred
+	4 mem_ad_state_index
+	1 mem_ad_in_numSamples
+	2 mem_ad_in_ptr
+	2 mem_ad_out_ptr
+	1 mem_ad_sign
+	1 mem_ad_delta
+	4 mem_ad_step
+	4 mem_ad_valpred
+	4 mem_ad_index
+	4 mem_ad_vpdiff
+	4 mem_ad_inputbuffer
+	1 mem_ad_bufferstep
+)
+xmemalloc g24_rx_car(
+1 mem_car_hard_soft_switch
+1 mem_car_queue_each_size
+1 mem_car__queue_length
+
+1 mem_car_queue_curr_num
+1 mem_car_queue_read_ptr
+1 mem_car_queue_write_ptr
+120 mem_car_queue_ele
+
+20 mem_car_pop_queue_buff
+
+1 mem_car_led_num
+10 mem_car_led_map
+
+1 mem_car_style1_led_type
+1 mem_car_style1_blink_count
+1 mem_car_style1_struct_led_gpio
+2 mem_car_style1_on_time
+2 mem_car_style1_off_time
+2 mem_car_style1_cb_ledon
+2 mem_car_style1_cb_ledoff
+
+1 mem_car_style2_led_type
+1 mem_car_style2_blink_count
+1 mem_car_style2_struct_led_gpio
+2 mem_car_style2_on_time
+2 mem_car_style2_off_time
+2 mem_car_style2_cb_ledon
+2 mem_car_style2_cb_ledoff
+
+//////motor
+0 mem_le_receive_data
+2 mem_le_receive_packet_head
+1 mem_le_receive_cmd
+2 mem_le_receive_length
+10 mem_le_receive_payload
+1 mem_le_receive_checksum
+1 mem_motor1_status
+1 mem_motor1_speed
+1 mem_motor2_status
+1 mem_motor2_speed
+1 mem_motor3_status
+1 mem_motor3_speed
+
+0 mem_motor1_pwm_set
+1 mem_motor1_pwm_pin1_set
+1 mem_motor1_pwm_pin2_set
+1 mem_motor1_pwm_pin_set
+1 mem_motor1_pwm_channel_set
+3 mem_motor1_pwm_freq_set
+1 mem_motor1_pwm_dute_set
+0 mem_motor2_pwm_set
+1 mem_motor2_pwm_pin1_set
+1 mem_motor2_pwm_pin2_set
+1 mem_motor2_pwm_pin_set
+1 mem_motor2_pwm_channel_set
+3 mem_motor2_pwm_freq_set
+1 mem_motor2_pwm_dute_set
+0 mem_motor3_pwm_set
+1 mem_motor3_pwm_pin1_set
+1 mem_motor3_pwm_pin2_set
+1 mem_motor3_pwm_pin_set
+1 mem_motor3_pwm_channel_set
+3 mem_motor3_pwm_freq_set
+1 mem_motor3_pwm_dute_set
+
+1 mem_motor_select_p_n
+1 mem_car_motor_status
+1 mem_car_motor_speed
+0 mem_motor_pwm_set
+1 mem_motor_pwm_pin1_set
+1 mem_motor_pwm_pin2_set
+1 mem_motor_pwm_pin_set
+1 mem_motor_pwm_channel_set
+3 mem_motor_pwm_freq_set
+1 mem_motor_pwm_dute_set
+
+1 mem_ir_rx_gpio
+2 mem_ir_data
+2 mem_ir_rx_buf
+4 mem_ir_receive_clkn
+
+3 mem_ir_notify_data
+5 mem_ir_notify_data_head
+2 mem_ir_notify_data_payload
+1 mem_ir_notify_data_check_sum
+1 mem_car_ir_breakdown_check_timer
+1 mem_car_ir_breakdown_flag
+
+0 mem_car_led_control
+1 mem_car_led1_status
+1 mem_car_led2_status
+1 mem_car_led3_status
+1 mem_car_led4_status
+1 mem_car_led5_status
+1 mem_car_led6_status
+1 mem_car_led7_status
+1 mem_car_led8_status
+1 mem_car_led_control_timer
+1 mem_car_led_blink_status
+1 mem_car_led_no
+
+3 mem_car_info_request
+5 mem_car_info_request_head
+8 mem_car_info_request_payload
+1 mem_car_info_request_checksum
+
+0 mem_car_config_param
+1 mem_car_config_setting_flag
+1 mem_car_config_device_select
+1 mem_car_config_motor_layout
+1 mem_car_config_ir_enable
+1 mem_car_config_ir_rx_gpio
+1 mem_car_config_pairing_led_conn_status
+1 mem_car_config_pairing_led_gpio
+1 mem_car_config_led_num
+0 mem_car_config_blood_led_gpio
+1 mem_car_config_blood_led1_gpio
+1 mem_car_config_blood_led2_gpio
+1 mem_car_config_blood_led3_gpio
+1 mem_car_config_blood_led4_gpio
+1 mem_car_config_blood_led5_gpio
+1 mem_car_config_blood_led6_gpio
+1 mem_car_config_blood_led7_gpio
+1 mem_car_config_blood_led8_gpio
+1 mem_car_config_bat_notify_enable
+1 mem_car_config_low_voltage_led_gpio
+1 mem_car_config_low_voltage_percent
+1 mem_car_config_soft_switch_enable
+1 mem_car_config_soft_switch_gpio
+
+1 mem_car_notify_vdd_count
+1 mem_car_notify_vdd_timer
+1 mem_car_notify_vdd_value_last
+1 mem_car_notify_vdd_percent
+1 mem_car_working_flag
+1 mem_low_bat_flag
+
+3 mem_notify_bat_packet
+5 mem_notify_bat_head
+1 mem_notify_bat_payload
+1 mem_notify_bat_check_sum
+
+1 mem_vdd_notify_flag
+2 mem_car_current_vdd_value_temp
+2 mem_car_last_vdd_value
+
+0 mem_vdd_calculate_set
+2 mem_vdd_full_vol
+2 mem_vdd_empty_vol
+2 mem_vdd_low_vol
+2 mem_vdd_now_vol
+
+
+1 mem_car_24g_status
+2 mem_car_24g_no_data_timeout_count
+2 mem_car_24g_no_data_timeout_timer
+
+1 mem_car_24g_ir_receive_attack_count
+1 mem_car_24g_go_die_flag
+1 mem_car_attack_shake_timer
+1 mem_car_attack_shake_flag
+
+0 mem_car_soft_power
+1 mem_car_power_state
+1 mem_car_power_timer
+1 mem_car_power_off_timeout
+1 mem_car_power_starting_timeout
+2 mem_car_power_off_cb
+2 mem_car_power_starting_cb
+2 mem_car_power_standby_cb
+2 mem_car_ui_button_up_cb
+
+
+500 mem_car_le_att_list
+
+1 mem_car_moto1_blank_timer
+1 mem_car_moto2_blank_timer
+1 mem_car_moto3_blank_timer
+
+1 mem_car_motor_gpio_num
+0 mem_car_motor_gpio_map
+1 mem_car_motor_left_gpio
+1 mem_car_motor_right_gpio
+1 mem_car_motor_front_gpio
+1 mem_car_motor_back_gpio
+1 mem_car_gpio
+1 mem_car_app_send_speed
+
+2 mem_rssi_sum
+2 mem_check_rssi_high_count
+8 mem_rssi_data
+
+1 mem_car_24g_received_pac
+1 mem_car_24g_bind_enable_delay_count
+
+0 mem_car_keyscan
+1 mem_car_key_num
+2 mem_cb_car_keyscan
+
+2 mem_car_enter_lpm_timer_count
+2 mem_car_enter_lpm_timer
+1 mem_car_enter_lpm_flag
+
+1 mem_car_24g_ch_polling
+
+8 mem_car_rssi_noise_buffer
+8 mem_car_rssi_noise_car_buffer
+8 mem_car_rssi_noise_remote_buffer
+
+
+4 mem_car_24g_commom_addr
+4 mem_car_24g_commom_addr_temp
+4 mem_car_24g_commom_addr_read
+1 mem_car_save_addr_flag
+400 mem_ble_att_list
+)
+xmemalloc g24_rx_dongle(
+1 mem_dg_kb_bind_flag
+8 mem_dg_kb_data_sta_data
+8 mem_dg_kb_data_last_data
+3 mem_dg_kb_multikey_sta_data
+3 mem_dg_kb_multikey_last_data
+3 mem_dg_kb_system_sta_data
+3 mem_dg_kb_system_last_data
+1 mem_dg_kb_blank_data_enable
+1 mem_dg_kb_mul_blank_data_enable
+1 mem_dg_kb_system_crtl_blank_data_enable
+1 mem_dg_ms_blank_data_enable
+
+1 mem_dg_sys_config
+9 mem_dg_usb_vid_pid
+1 mem_dg_usb_tx_interval
+30 mem_dg_usb_device_name
+1 mem_dg_kb_bind_success
+1 mem_dg_pc_sleep_flag
+
+1 mem_dg_24g_tx_power_default
+1 mem_24g_pair_tx_power_init
+1 mem_setreport_count
+// g24 buff
+70 mem_24g_rxbuf_new
+70 mem_24g_txbuf_new
+70 mem_24g_txpayload_new
+70 mem_24g_rxpayload_new
+70 mem_24g_rxdata_temp_new
+1 mem_24g_rxdata_ack_flag
+
+1 mem_dg_keyboard_battery_level
+1 mem_dg_mouse_battery_level
+2 mem_dg_keyboard_heart_tick_timer
+2 mem_dg_mouse_heart_tick_timer
+1 mem_dg_keyboard_connected_status
+1 mem_dg_mouse_connected_status
+1 mem_dg_usb_driver_set_end
+1 mem_dg_test_mode
+1 mem_dg_test_ch
+64 mem_dg_usb_get_buff
+//usb report
+180 mem_usb_ep2_config
+70 mem_config_new
+//ep2 fifo
+8 mem_usb_ep2_fifo
+//ms protocol
+7 mem_dg_mouse_data
+1 mem_dg_mouse_key_data_last
+1 mem_dg_mouse_dpi_level
+65 mem_usb_dpi_info_data
+
+1 mem_dg_keyboard_keymatrix_profile
+1 mem_dg_keyboard_keymatrix_type
+1 mem_dg_keyboard_keymatrix_page
+1 mem_dg_keyboard_keymatrix_len
+64 mem_dg_keyboard_keymatrix_setup_keyvalue
+65 mem_dg_protocol_usb_in_data_buff
+65 mem_dg_protocol_usb_out_data_buff
+1 mem_24g_device_type
+1 mem_dg_ms_ep2_ack_data_flag
+65 mem_dg_ms_ep2_ack_data
+
+1 mem_dg_kb_ep2_ack_data_flag
+65 mem_dg_kb_ep2_ack_data
+160 mem_dg_kb_keymatrix_buff
+1 mem_dg_receive_keymatrix_count
+2 mem_keymatrix_wptr
+//usb
+70 mem_keyboard_map
+)
+xmemalloc g24_tx_hid_keyboard(
+1 mem_power_on_flag
+6 mem_mouse_factory_addr
+8 mem_keyboard_flag
+
+10 mem_keyboard_tx_data
+1 mem_keyboard_data_send_flag
+
+//le conn param update
+1 mem_keyboard_le_send_conn_param_update
+1 mem_keyboard_le_send_conn_param_update_timer
+1 mem_le_start_auto_reco_timer
+
+1 mem_mcu_stb_gpio
+1 mem_mcu_clk_gpio
+1 mem_mcu_rstb_gpio
+1 mem_keyboard_caps_led_gpio
+1 mem_keyboard_num_led_gpio
+1 mem_keyboard_power_led_gpio
+2 mem_keyboard_caps_led_on_timer
+
+
+1 mem_keyboard_led_r_gpio
+1 mem_keyboard_led_g_gpio
+1 mem_keyboard_led_b_gpio
+
+8 mem_key_row_gpio
+20 mem_key_col_gpio
+12 mem_key_excol_gpio
+2 mem_kb_row_ptr
+2 mem_kb_col_ptr
+2 mem_kb_excol_ptr
+
+20 mem_keyscan_value_current
+20 mem_keyscan_value_check
+20 mem_keyscan_value_old
+11 mem_keyscan_exmcu_value
+2 mem_keyscan_value_ptr
+2 mem_keyscan_exmcu_value_ptr
+1 mem_keyscan_value_temp
+1 mem_keyscan_col_loop_count
+2 mem_keyscan_exmcu_wait_wake_count
+
+1 mem_same_keyvalue_timerout_flag
+2 mem_same_keyvalue_timer_init
+2 mem_same_keyvalue_timer
+
+1 mem_keyboard_current_col_press_key_count
+1 mem_keyboard_all_press_key_count
+1 mem_keyboard_same_row_press_key_count
+1 mem_keyboard_ghost_flag
+1 mem_keyboard_data_change_flag
+1 mem_keyboard_keyvalue_temp
+1 mem_keyboard_press_flag_temp
+1 mem_keyboard_keyvalue_bit_loop_count
+9 mem_keyboard_keyvalue_buffer
+160 mem_keyboard_keyvalue_map
+
+1 mem_keyboard_fn_flag
+1 mem_keyboard_control_key_flag
+1 mem_keyboard_bt_button_flag
+1 mem_keyboard_pairing_type
+2 mem_keyboard_commbination_key_bt
+2 mem_keyboard_commbination_key_24g
+1 mem_24g_repeat_send_flag
+1 mem_keyboard_led_status
+1 mem_keyboard_led_status_get
+1 mem_keyboard_led_status_get_timer
+1 mem_keyboard_led_status_get_timer_last
+
+0 mem_keyboard_fn_esc_f1_f12
+1 mem_keyboard_fn_first
+1 mem_keyboard_fn_esc
+1 mem_keyboard_fn_f1
+1 mem_keyboard_fn_f2
+1 mem_keyboard_fn_f3
+1 mem_keyboard_fn_f4
+1 mem_keyboard_fn_f5
+1 mem_keyboard_fn_f6
+1 mem_keyboard_fn_f7
+1 mem_keyboard_fn_f8
+1 mem_keyboard_fn_f9
+1 mem_keyboard_fn_f10
+1 mem_keyboard_fn_f11
+1 mem_keyboard_fn_f12
+1 mem_keyboard_fn_del
+
+1 mem_keyboard_fn_arrow_enable_flag
+1 mem_keyboard_fn_left_ctrl_enable_flag
+1 mem_keyboard_fn_space_enable_flag
+1 mem_keyboard_fn_system_switch_enable_flag
+
+1 mem_keyboard_commbination_key_step
+1 mem_keyboard_commbination_control_key_value
+1 mem_keyboard_commbination_standard_key_value
+1 mem_keyboard_commbination_control_key_delay_release_timer
+
+1 mem_keyboard_consumer_key_status
+
+
+
+
+
+
+1 mem_kb_computer_system
+24 mem_otp_read_retention_memory
+2 mem_otp_read_retention_offset
+16 mem_le_search_service_uuid
+1 mem_le_connect_ios_mac_flag
+2 mem_le_search_mac_uuid
+9 mem_le_search_mac_manu_name
+2 mem_keybord_appearance
+2 mem_keyboard_commbination_fast_conn_bt
+
+
+)
+xmemalloc module(	
+	2 mem_soft_version_num
+	1 mem_module_wake_up_gpio
+	1 mem_module_state_gpio
+	1 mem_module_connect_state_gpio
+
+	2 mem_current_packet_length
+	1 mem_module_state
+	
+	1 mem_module_mcu_wake_pin
+	4 mem_module_mcu_wake_delay_us
+
+	1 mem_module_le_lpm_mult	
+	1 mem_module_bluetooth_stauts_by_command
+
+	//uart
+	2 mem_module_uart_rx_buffer
+	2 mem_module_uart_rx_buffer_end
+	2 mem_module_uart_tx_buffer
+	2 mem_module_uart_tx_buffer_end
+	2 mem_module_uarta_baud_rate
+
+	//ADC
+	1 mem_module_read_vdd_flag
+	1 mem_module_read_vdd_count
+	1 mem_module_vdd_quotient
+	1 mem_module_vdd_remainder
+
+	//ble
+	1 mem_module_ble_data_uart_max_length
+
+	//flag
+	2 mem_module_flag
+
+	1 mem_module_hci_notify_len
+	2 mem_module_hci_notify_handle
+	2 mem_module_hci_nofiy_addr
+	1 mem_module_hci_notify_type
+
+	1 mem_le_conn_flag
+
+ifdef COMPILE_WECHAT
+	1 mem_module_wechat_indication_handle
+	1 mem_module_wechat_write_handle
+	2 mem_module_wechat_tx_buffer_ptr
+	2 mem_module_wechat_rx_buffer_ptr
+	2 mem_module_wechat_rx_push_data_cb
+	2 mem_module_wechat_tx_nSeq
+	2 mem_module_wechat_tx_len
+	2 mem_module_wechat_tx_address
+	2 mem_module_wechat_rx_len
+	2 mem_module_wechat_rx_address
+	1 mem_module_wechat_receive_push_data
+endif
+	
+	600 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
+	0 mem_module_nv_data_end
+)
+xmemalloc g24_tx_hid(
+
+// adc
+//adc struct
+0 mem_mouse_vdd_calculate_set
+2 mem_mouse_vdd_full_vol
+2 mem_mouse_vdd_empty_vol
+2 mem_mouse_vdd_low_vol
+2 mem_mouse_vdd_now_vol
+1 mem_adc_channel_gpio
+1 mem_adc_mux_status
+1 mem_mouse_adc_last_low_voltage_flag
+2 mem_mouse_discovery_timeout
+2 mem_mouse_24g_pair_timeout_init
+1 mem_mouse_direct_timeout
+1 mem_mouse_24g_reconn_timeout_init
+1 mem_mouse_24g_pair_tx_power
+1 mem_rssi_dis_min_24g_init
+1 mem_rssi_dis_max_24g_init
+1 mem_rssi_hex_received_max_value_init
+1 mem_rssi_dis_min_ble_init
+1 mem_rssi_dis_max_ble_init
+
+0 mem_mouse_param_config
+1 mem_lbutton_gpio
+1 mem_mbutton_gpio
+1 mem_rbutton_gpio
+1 mem_bk_button_gpio
+1 mem_fw_button_gpio
+1 mem_dpi_button_gpio
+1 mem_whee_a_data_gpio
+1 mem_whee_b_data_gpio
+1 mem_mouse_sensor_sclk_gpio
+1 mem_mouse_sensor_sdio_gpio
+1 mem_select_sensor_angle_gpio
+1 mem_sensor_angle_default
+1 mem_sensor_angle_switch
+1 mem_config_sensor_dpi	
+1 mem_whee_ta_data_gpio
+1 mem_whee_tb_data_gpio
+1 mem_matrix_public_gpio
+1 mem_config_select_device_button_gpio
+1 mem_customer_key_gpio
+1 mem_firebutton_gpio
+1 mem_dpi_another_button_gpio
+1 mem_sensor_motion_gpio
+1 mem_device_switch_gpio
+1 mem_mouse_reuse_2ice_gpio
+1 mem_mouse_logo_led_gpio
+1 mem_mouse_1io2led_multi_24gled
+1 mem_mouse_1io2led_multi_bt1led
+1 mem_mouse_1io2led_multi_bt2led
+1 mem_mouse_low_voltage_alarm_gpio
+1 mem_mouse_dpi_gpio
+0 mem_mouse_param_config_end
+
+// usb
+1 mem_wire_usb_interval
+1 mem_usb_addr
+1 mem_mouse_usb_vdd_status
+1 mem_mouse_usb_keyboard_flag
+
+//three devices param
+//eeprom/flash
+0 mem_mouse_information_start
+1 mem_device_flag
+1 mem_device1_type
+6 mem_device1_addr
+6 mem_device1_locall_addr
+
+1 mem_device2_type
+6 mem_device2_addr
+6 mem_device2_locall_addr
+
+1 mem_device3_type
+6 mem_device3_addr
+6 mem_device3_locall_addr
+2 mem_store_flag
+1 mem_mouse_dpi
+4 mem_mouse_24g_addr
+2 mem_random_addr_increase_count
+79 mem_mouse_retention
+0 mem_mouse_information_end
+
+6 mem_mouse_compare_addr
+3 mem_flash_base
+4 mem_write_flash_head_temp
+1 mem_store_information_delay_timer
+1 mem_store_information_delay_timer_init
+
+// 2.4G
+1 mem_mouse_search_dongle_interval
+1 mem_mouse_search_dongle_ch
+1 mem_mouse_search_dongle_count
+1 mem_mouse_search_dongle_action
+1 mem_24g_enter_lpm_timer
+1 mem_mouse_24g_enter_lpm_enable
+
+//	LED
+//mediacy
+1 mem_mouse_multi_led_blink_enable
+1 mem_mouse_multi_led_type
+1 mem_mouse_multi_led_state
+1 mem_mouse_multi_led_blink_type				//00:rtn	01:24g blink	02:le blink		03:reconn blink 	04:low blink	05:dpi blink
+
+//time parm
+1 mem_mouse_le_reconn_blink_limit
+1 mem_mouse_multi_led_powon_timer_init		//power on time
+1 mem_mouse_multi_led_powon_timer
+1 mem_mouse_multi_24gled_blink_timer_init	//24gled blink time
+1 mem_mouse_multi_le_discovery_blink_timer_init	//le discovery blink time
+1 mem_mouse_multi_le_reconn_blink_timer_init	//le reconn blink time
+1 mem_mouse_dpi_led_blink_timer_init		//dpi blink time
+1 mem_mouse_multi_led_blink_timer
+1 mem_mouse_low_led_blink_timer			//low blink time
+1 mem_mouse_low_led_blink_half_timer
+1 mem_adc_low_volatage_led_timer_count
+//blink count
+1 mem_mouse_multi_24gled_blink_count_init	//24g count
+1 mem_mouse_multi_le_reconn_blink_count_init	//le reconn count
+1 mem_mouse_multi_led_blink_count
+1 mem_mouse_multi_lowled_blink_count_init	//low count
+1 mem_mouse_multi_low_led_blink_count
+2 mem_mouse_logo_led_on_time_init
+1 mem_mouse_dpi_led_delay_count
+1 mem_mouse_dpi_led_delay_count_init
+//	LED end
+
+// mouse configured param
+8 mem_mouse_flag 
+1 mem_device_number
+2 mem_mouse_page_to
+1 mem_mouse_fast_direct_timeout
+2 mem_mouse_fast_page_to
+2 mem_mouse_24g_power_on_fast_conn_timer
+2 mem_mouse_24g_search_dongle_time_init
+2 mem_mouse_no_data_timeout
+
+1 mem_mouse_commbination_key_bt
+1 mem_mouse_commbination_key_24g
+
+1 mem_mouse_customer_function
+9 mem_customer_key_press
+9 mem_customer_key_release
+3 mem_mouse_set_high_impedance_bit_set
+
+1 mem_sensor_shutdown_flag
+1 mem_24g_long_sleep_set_level
+
+2 mem_tx_power_factory_param
+
+//lost-packet compensation
+3 mem_mouse_24g_short_sleep_set_4ms
+3 mem_mouse_24g_long_sleep_set_4ms
+1 mem_mouse_24g_fast_hop_count_4ms
+3 mem_mouse_24g_short_sleep_set_8ms
+3 mem_mouse_24g_long_sleep_set_8ms
+1 mem_mouse_24g_fast_hop_count_8ms
+
+4 mem_mouse_24g_tsniff
+4 mem_mouse_24g_tsniff_4ms
+4 mem_mouse_24g_tsniff_8ms
+3 mem_mouse_24g_short_sleep_set_init
+
+1 mem_mouse_24g_tx_count
+6 mem_mouse_24g_tx_time_last
+4 mem_mouse_24g_tx_time_last_delt
+5 mem_mouse_24g_tx_time_sum
+1 mem_mouse_24g_tx_time_sum_count
+1 mem_mouse_24g_tx_time_offset
+1 mem_mouse_24g_sleep_miss
+4 mem_mouse_24g_sleep_time_temp
+4 mem_mouse_24g_sleep_miss_temp
+
+1 mem_mouse_sleep_deal_type
+
+1 mem_mouse_24g_long_sleep_flag
+
+//no motion pin
+1 mem_mouse_long_mult_flag
+1 mem_mouse_current_mult_timer
+
+1 mem_reconn_times
+1 mem_reconn_times_init
+2 mem_mouse_no_data_timer
+8 mem_mouse_rssi_signal_buf				
+4 mem_btclk_sensor
+1 mem_mouse_bluetooth_fast_conn_flag
+2 mem_mouse_discovery_timer
+1 mem_mouse_bluetooth_reconnect_timeout
+1 mem_mouse_need_soft_reset
+
+// le
+1 mem_mouse_le_bb_connected_flag
+1 mem_mouse_le_reconnect_flag
+1 mem_mouse_send_secutiry_request_timer
+
+3 mem_mouse_le_lap_temp
+3 mem_le_adv_ind
+3 mem_le_adv_direct_ind
+20 mem_le_adv_swift_pair
+1 mem_le_data_len
+2 mem_le_keyboard_handle
+2 mem_le_multimedia_handle
+2 mem_le_systemctrl_handle
+2 mem_le_battery_level_handle
+1 mem_le_battery_level_percentage
+2 mem_le_battery_level_updata_timer_init
+2 mem_le_battery_level_updata_timer
+1 mem_mouse_le_conn_param_reject
+32 mem_le_tx_buffer0_omemalloc
+32 mem_le_tx_buffer1_omemalloc
+32 mem_le_tx_buffer2_omemalloc
+32 mem_le_tx_buffer3_omemalloc
+1 mem_le_connect_status_flag
+1 mem_le_start_encrypt_timer
+1 mem_mouse_direct_timer
+
+)
+xmemalloc g24_tx_hid_mouse(
+// Mouse Work Area
+1 mem_mouse_key
+2 mem_mouse_x
+2 mem_mouse_y
+1 mem_mouse_z
+1 mem_mouse_tz
+1 mem_mouse_xy_h
+1 mem_mouse_key_last
+
+//mouse wheel
+1 mem_wheel_tb_old_pinlevel
+1 mem_wheel_tb_new_pinlevel
+1 mem_wheel_tog 
+1 mem_mouse_tz_data
+1 mem_mwheel_b_old_pinlevel
+1 mem_mwheel_b_new_pinlevel
+1 mem_mwheel_tog 
+1 mem_mouse_z_data
+1 mem_mouse_wheel_trigger
+1 mem_mouse_wheel_trigger_timer
+
+//sensor param
+1 mem_sensor_id1
+1 mem_sensor_id2
+
+1 mem_sensor_shutter_hi
+1 mem_sensor_shutter_lo
+1 mem_sensor_smart_flag
+1 mem_sensor_squal_reg
+1 mem_sensor_iqc
+1 mem_mouse_move_flag
+
+1 mem_mouse_asm_flag
+2 mem_mouse_x_pre
+2 mem_mouse_y_pre
+1 mem_mouse_data_xtemp
+1 mem_mouse_data_ytemp
+
+0 mem_mouse_dpi_seting
+1 mem_320x_dpi_0
+1 mem_320x_dpi_1
+1 mem_320x_dpi_2
+1 mem_320x_dpi_3
+1 mem_3212_dpi_0
+1 mem_3212_dpi_1
+1 mem_3212_dpi_2
+1 mem_3212_dpi_3
+1 mem_ka8g2_dpi_0
+1 mem_ka8g2_dpi_1
+1 mem_ka8g2_dpi_2
+1 mem_ka8g2_dpi_3
+//S210x
+0 mem_sensor_s201_dpi
+1 mem_sensor_s201_dpi_0
+1 mem_sensor_s201_dpi_1
+1 mem_sensor_s201_dpi_2
+1 mem_sensor_s201_dpi_3
+1 mem_sensor_s201_dpi_4
+
+1 mem_mouse_cpi_count
+1 mem_mouse_dpi_button_state
+1 mem_mouse_dpi_long_press_flag
+
+10 mem_sensor_3212_init
+10 mem_sensor_3204_init
+10 mem_sensor_3205_init
+26 mem_sensor_32xx_init
+34 mem_sensor_32xx_init_1
+38 mem_sensor_8650_init
+30 mem_sensor_ka8ul_init
+16 mem_sensor_8009_init
+16 mem_sensor_ka8g2_init
+12 mem_sensor_p6520_init
+8 mem_sensor_poweron_init
+8 mem_sensor_ka8g2_poweron_init
+	
+1 mem_mouse_clear_sensor_data_flag
+1 mem_config_sensor_type
+1 mem_config_sensor_angle
+1 mem_bluetooth_125hz_cnt
+
+//bt
+7 mem_device_addr_temp
+1 mem_mouse_bt_boot_mode
+5 mem_mouse_bt_boot_data
+1 mem_bt_send_max_slot_req_accept_after_switch
+1 mem_mouse_bt_send_first_package_timer
+1 mem_mouse_bt_send_first_package_flag
+1 mem_lmi_opcode_temp 
+1 mem_lpm_mult_init
+
+// mouse key
+1 mem_customer_key
+1 mem_customer_data_trigger
+1 mem_customer_data_trigger_last
+
+1 mem_mouse_lkey_press_status
+1 mem_mouse_rkey_press_status
+1 mem_mouse_mkey_press_status
+1 mem_mouse_bkkey_press_status
+1 mem_mouse_fwkey_press_status
+1 mem_mouse_dpikey_press_status
+1 mem_mouse_pbkey_press_status
+1 mem_mouse_customerkey_press_status
+1 mem_mouse_key_temp
+1 mem_mouse_key_status
+
+1 mem_mouse_matrix_key_cow_count
+1 mem_mouse_matrix_key_row_count
+1 mem_mouse_ghost_flag
+1 mem_bt_discovery_count
+1 mem_select_device_count
+1 mem_mouse_commbination_key
+1 mem_select_device_button_statue
+1 mem_commbination_key_statue
+1 mem_combination_ui_button_count
+
+//fire key
+1 mem_fire_key_status
+4 mem_fire_key_delay
+1 mem_fire_key_flag
+
+//another dpi key
+1 mem_dpi_another_press_status
+1 mem_dpi_another_button_state
+1 mem_dpi_another_button_down_enable
+1 mem_mouse_key_temp_patch
+
+//le name modify
+1 mem_le_name_patch_len
+19 mem_le_name_patch
+
+//device otp data
+1 mem_device_flag_last
+1 mem_device_flag_temp
+1 mem_device_flag_value
+
+6 mem_mouse_le_addr1_last
+6 mem_mouse_le_addr1_temp
+6 mem_mouse_le_locall_addr1_last
+6 mem_mouse_le_locall_addr1_temp
+
+6 mem_mouse_le_addr2_last
+6 mem_mouse_le_addr2_temp
+6 mem_mouse_le_locall_addr2_last
+6 mem_mouse_le_locall_addr2_temp
+
+1 mem_mouse_dpi_last
+1 mem_mouse_dpi_temp
+1 mem_mouse_otp_dpi_value
+
+4 mem_mouse_24g_addr_last
+4 mem_mouse_24g_addr_temp
+
+2 mem_random_addr_increase_count_last
+2 mem_random_addr_increase_count_temp
+
+//otp store info offset
+2 mem_otp_offset_device_flag
+2 mem_otp_offset_device_flag_end
+
+2 mem_otp_offset_24g_addr
+2 mem_otp_offset_24g_addr_end
+
+2 mem_otp_offset_le_addr1
+2 mem_otp_offset_le_addr1_end
+
+2 mem_otp_offset_le_locall_addr1
+2 mem_otp_offset_le_locall_addr1_end
+
+2 mem_otp_offset_le_addr2
+2 mem_otp_offset_le_addr2_end
+
+2 mem_otp_offset_le_locall_addr2
+2 mem_otp_offset_le_locall_addr2_end
+
+2 mem_otp_offset_dpi
+2 mem_otp_offset_dpi_end
+
+2 mem_otp_offset_le_addr_increase_count
+2 mem_otp_offset_le_addr_increase_count_end
+
+2 mem_otp_offset_app_initflag
+
+)
+xmemalloc g24_tx_hid_mouse_flippen(
+16 mem_24g_txpayload_buf
+1 mem_release_data_from_receiver_enable
+1 mem_release_data_from_transmiter_enable
+
+1 mem_flippen_key0_gpio
+1 mem_flippen_key1_gpio
+1 mem_flippen_key2_gpio
+1 mem_flippen_key3_gpio
+1 mem_flippen_key4_gpio
+1 mem_flippen_key5_gpio
+1 mem_flippen_key6_gpio
+1 mem_flippen_key7_gpio
+
+1 mem_flippen_key0_press_status
+1 mem_flippen_key1_press_status
+1 mem_flippen_key2_press_status
+1 mem_flippen_key3_press_status
+1 mem_flippen_key4_press_status
+1 mem_flippen_key5_press_status
+1 mem_flippen_key6_press_status
+1 mem_flippen_key7_press_status
+
+0 mem_key_press_data
+9 mem_key_pageup_data
+9 mem_key_pagedown_data
+9 mem_key_shift_f5_data
+9 mem_key_esc_data
+9 mem_key_b_data
+9 mem_key_tab
+9 mem_key_enter
+9 mem_key_alt_tab
+9 mem_key_alt_f4
+9 mem_key_play_pause
+9 mem_key_vol_up
+9 mem_key_vol_down
+9 mem_standard_key_release
+9 mem_system_ctrl_key_release
+9 mem_media_key_release
+
+1 mem_key0_long_press_flag
+1 mem_key1_long_press_flag
+1 mem_key2_long_press_flag
+1 mem_key3_long_press_flag
+1 mem_key4_long_press_flag
+
+1 mem_key0_long_press_event
+1 mem_key1_long_press_event
+1 mem_key2_long_press_event
+1 mem_key3_long_press_event
+1 mem_key4_long_press_event
+
+1 mem_key0_short_press_flag
+1 mem_key1_short_press_flag
+1 mem_key2_short_press_flag
+1 mem_key3_short_press_flag
+1 mem_key4_short_press_flag
+
+1 mem_key0_press_timer_count
+1 mem_key1_press_timer_count
+1 mem_key2_press_timer_count
+1 mem_key3_press_timer_count
+1 mem_key4_press_timer_count
+
+1 mem_combination_key_down_flag
+1 mem_combination_key_longpress_flag
+1 mem_key_disable_timer
+1 mem_24g_calculate_package_id_disable
+1 mem_24g_package_id_abandon_flag
+1 mem_24g_package_id
+
+1 mem_key_state
+1 mem_key_press_state
+1 mem_poweron_first_blank_data_enable
+
+2 mem_flippen_no_data_timeout
+2 mem_flippen_start_pair_no_data_timeout
+2 mem_key_longpress_timer_init
+2 mem_key_longpress_timer
+
+1 mem_low_voltage_led_blink_flag
+1 mem_low_voltage_led_blink_start_timer
+1 mem_poweron_led_blink_flag
+
+1 mem_24g_pair_enable_flag
+1 mem_24g_ch_work
+1 mem_24g_pair_key_down_flag
+1 mem_24g_pairing_stop_flag
+1 mem_longpress_24g_enter_hibernate_flag
+1 mem_g24_connected_state
+1 mem_g24_pairing_stop_flag
+1 mem_send_package_before_check
+)
+xmemalloc g24_tx_remote(
+1 mem_remote_car_hard_soft_switch
+
+1 mem_remote_car_queue_each_size
+1 mem_remote_car_queue_length
+
+1 mem_remote_car_queue_curr_num
+1 mem_remote_car_queue_read_ptr
+1 mem_remote_car_queue_write_ptr
+90 mem_remote_car_queue_ele
+
+1 mem_remote_style_led_type
+1 mem_remote_style_blink_count
+1 mem_remote_style_struct_led_gpio
+2 mem_remote_style_on_time
+2 mem_remote_style_off_time
+2 mem_remote_style_cb_ledon
+2 mem_remote_style_cb_ledoff
+
+
+1 mem_remote_car_led_num
+8 mem_remote_car_led_map
+
+0 mem_remote_car_keyscan
+1 mem_remote_car_key_num
+2 mem_cb_remote_car_keyscan
+
+0 mem_remote_car_key_conf0
+1 mem_remote_car_key_conf0_pin
+0 mem_remote_car_key_conf1
+1 mem_remote_car_key_conf1_pin
+0 mem_remote_car_key_conf2
+1 mem_remote_car_key_conf2_pin
+0 mem_remote_car_key_conf3
+1 mem_remote_car_key_conf3_pin
+0 mem_remote_car_key_conf4
+1 mem_remote_car_key_conf4_pin
+0 mem_remote_car_key_conf5
+1 mem_remote_car_key_conf5_pin
+0 mem_remote_car_key_conf6
+1 mem_remote_car_key_conf6_pin
+
+
+//rocker
+1 mem_rocker_negative_flag
+1 mem_rocker_work_status
+2 mem_current_vdd_value_default_mid_x
+2 mem_current_vdd_value_default_mid_y
+2 mem_current_vdd_value_default_mid_temp
+2 mem_current_vdd_default_range
+2 mem_rocker_last_status
+0 mem_rocker_status
+1 mem_rocker_x_status
+1 mem_rocker_y_status
+
+0 mem_remote_car_config_param
+1 mem_remote_car_config_setting_flag
+1 mem_remote_car_config_key_map
+1 mem_remote_car_config_layout
+1 mem_remote_car_config_connect_led_gpio
+1 mem_remote_car_config_check_way
+1 mem_remote_car_config_soft_switch_enable
+1 mem_remote_car_config_soft_switch_gpio
+1 mem_remote_car_config_timeout_shutdown_enable
+
+0 mem_remote_car_24g_motor_packet
+1 mem_remote_car_24g_motor_packet_lenght
+2 mem_remote_car_24g_motor_send_packet_head
+1 mem_remote_car_24g_motor_send_cmd
+2 mem_remote_car_24g_motor_send_length
+0 mem_remote_car_24g_motor_send_payload
+2 mem_remote_car_24g_motor1_payload
+2 mem_remote_car_24g_motor2_payload
+2 mem_remote_car_24g_motor3_payload
+1 mem_remote_car_24g_motor_send_checksum
+
+0 mem_remote_car_24g_fire_packet
+1 mem_remote_car_24g_fire_packet_lenght
+2 mem_remote_car_24g_fire_send_packet_head
+1 mem_remote_car_24g_fire_send_cmd
+2 mem_remote_car_24g_fire_send_length
+2 mem_remote_car_24g_fire_send_payload
+1 mem_remote_car_24g_fire_send_checksum
+
+15 mem_remote_car_24g_tx_temp
+
+2 mem_remote_car_no_data_timeout
+2 mem_remote_car_no_data_timer
+
+0 mem_remote_car_soft_power
+1 mem_remote_car_power_state
+1 mem_remote_car_power_timer
+1 mem_remote_car_power_off_timeout
+1 mem_remote_car_power_starting_timeout
+2 mem_remote_car_power_off_cb
+2 mem_remote_car_power_starting_cb
+2 mem_remote_car_power_standby_cb
+
+1 mem_remote_key_status
+1 mem_remote_car_24g_status
+
+1 mem_remote_car_24g_auto_work_step
+1 mem_remote_car_24g_pair_success_flag
+1 mem_remote_car_empty_packet
+
+1 mem_remote_car_motor1_key0_press_state
+1 mem_remote_car_motor1_key1_press_state
+1 mem_remote_car_motor2_key2_press_state
+1 mem_remote_car_motor2_key3_press_state
+1 mem_remote_car_motor1_rel_state
+1 mem_remote_car_motor2_rel_state
+
+1 mem_remote_car_no_data_check
+
+4 mem_remote_24g_commom_addr
+4 mem_remote_24g_commom_addr_temp
+4 mem_remote_24g_commom_addr_read
+1 mem_remote_save_addr_flag
+)
+xmemalloc shutter(
+
+////////////////////////////////////
+//ble shutter config
+1 mem_ble_shutter_enable_notify
+2 mem_ble_shutter_reconn_adv_interval
+2 mem_ble_shutter_discovery_adv_interval
+2 mem_ble_shutter_reconn_timeout
+2 mem_ble_shutter_reconn_timer
+2 mem_ble_shutter_reconn_blink_on_time
+2 mem_ble_shutter_reconn_blink_off_time
+2 mem_ble_shutter_discovery_blink_on_time
+2 mem_ble_shutter_discovery_blink_off_time
+
+2 mem_ble_shutter_interval_min
+2 mem_ble_shutter_interval_max
+2 mem_ble_shutter_latency
+2 mem_ble_shutter_timeout
+
+2 mem_ble_shutter_interval_min_new
+2 mem_ble_shutter_interval_max_new
+2 mem_ble_shutter_latency_new
+2 mem_ble_shutter_timeout_new
+
+//////////////////shutter sleep timeout//////////////////
+2 mem_ble_shutter_discovery_timeout
+2 mem_ble_shutter_connect_timeout
+2 mem_shutter_sleep_timeout
+2 mem_shutter_sleep_timer
+
+/////////////////////////////////////////////////////////////////
+1 mem_shutter_hard_soft_switch_case
+1 mem_shutter_soft_switch_button_gpio
+1 mem_shutter_soft_switch_power_state
+1 mem_shutter_soft_switch_poweron_time
+1 mem_shutter_soft_switch_poweroff_time
+2 mem_shutter_soft_switch_poweron_callback_function
+2 mem_shutter_soft_switch_poweroff_callback_function
+
+
+0 mem_shutter_keyscan
+1 mem_shutter_key_num
+2 mem_cb_shutter_keycan
+1 mem_shutter_key_conf0
+1 mem_shutter_key_conf1
+1 mem_shutter_key_conf2
+1 mem_shutter_key_conf3
+1 mem_shutter_key_conf4
+1 mem_shutter_key_conf5
+1 mem_shutter_key_conf6
+1 mem_shutter_key_conf7
+
+
+5 mem_key0_press
+5 mem_key1_press
+5 mem_key2_press
+5 mem_key3_press
+5 mem_key4_press
+5 mem_key5_press
+5 mem_key6_press
+5 mem_key7_press
+
+5 mem_key0_release	
+5 mem_key1_release
+5 mem_key2_release
+5 mem_key3_release
+5 mem_key4_release
+5 mem_key5_release
+5 mem_key6_release
+5 mem_key7_release
+
+5 mem_ble_data_buffer1
+5 mem_ble_data_buffer2
+5 mem_ble_data_buffer3
+5 mem_ble_data_buffer4
+5 mem_ble_data_buffer5
+5 mem_ble_data_buffer6
+5 mem_ble_data_buffer7
+5 mem_ble_data_buffer8
+50 mem_ble_data_buffer9_58
+
+1 mem_queue_each_size
+1 mem_queue_length
+1 mem_queue_curr_num
+1 mem_queue_read_ptr
+1 mem_queue_write_ptr
+32 mem_queue_ele
+
+170 mem_shutter_nv_data
+
+0 mem_shutter_led_struct_app_led
+1 mem_shutter_led_struct_app_led_type
+1 mem_shutter_led_struct_app_led_blink_count
+1 mem_shutter_led_struct_app_led_gpio
+2 mem_shutter_led_struct_app_led_on_time
+2 mem_shutter_led_struct_app_led_off_time
+2 mem_shutter_led_struct_app_led_on_callback
+2 mem_shutter_led_struct_app_led_off_callback
+
+0 mem_shutter_power_off_led_style
+1 mem_shutter_power_off_led_style_type
+1 mem_shutter_power_off_led_style_blink_count
+1 mem_shutter_power_off_led_style_gpio
+2 mem_shutter_power_off_led_style_on_time
+2 mem_shutter_power_off_led_style_off_time
+2 mem_shutter_power_off_led_style_on_callback
+2 mem_shutter_power_off_led_style_off_callback
+
+1 mem_shutter_soft_swtich_botton_down
+11 mem_shutter_soft_swtich_led_struct_temp
+1 mem_shutter_power_off_timeout
+1 mem_shutter_power_off_timer
+2 mem_shutter_key_conf0_temp
+1 mem_shutter_led_struct_app_led_gpio_temp
+1 mem_shutter_hard_soft_switch_case_temp
+1 mem_shutter_soft_switch_button_gpio_temp
+
+1 mem_shutter_soft_switch_first_power_on
+1 mem_shutter_dy_conf
+420 mem_shutter_le_uuid_sup
+40 mem_shutter_key_value_list
+8 mem_shutter_discovery_time_conf
+8 mem_shutter_reconn_or_discovery_blink_time_conf
+)
+xmemalloc shutter_dy(
+
+////////////////////////////////////
+//shutter common config
+
+//timers
+1 mem_shutter_1s_timer
+2 mem_shutter_timer_625us
+
+//patch variable
+11 mem_rf_init_data_new
+2 mem_key_value_xmem
+290 mem_shutter_le_hid_map
+//420 mem_shutter_dy_le_uuid_sup
+2 mem_shutter_le_map_len_android
+2 mem_shutter_le_map_len_ios
+16 mem_dy_le_search_service_uuid
+1 mem_iphone_flag
+1 mem_send_data_delay
+4 mem_key_send_clk
+10 mem_shutter_key_state0
+10 mem_shutter_key_state1
+10 mem_shutter_key_state2
+10 mem_shutter_key_state3
+10 mem_shutter_key_state4
+10 mem_shutter_key_state5
+10 mem_shutter_key_state6
+
+15 mem_key0_release_new	
+15 mem_key1_release_new
+15 mem_key2_release_new
+15 mem_key3_release_new
+15 mem_key4_release_new
+15 mem_key5_release_new
+15 mem_key6_release_new
+
+3 mem_key0_long_press
+3 mem_key1_long_press
+3 mem_key2_long_press
+3 mem_key3_long_press
+3 mem_key4_long_press
+3 mem_key5_long_press
+3 mem_key6_long_press
+
+3 mem_key0_long_release	
+3 mem_key1_long_release
+3 mem_key2_long_release
+3 mem_key3_long_release
+3 mem_key4_long_release
+3 mem_key5_long_release
+3 mem_key6_long_release
+
+2 mem_combine_key0
+2 mem_combine_key1
+2 mem_combine_key2
+2 mem_combine_key3
+2 mem_combine_key4
+2 mem_combine_key5
+
+2 mem_combine_key_state0
+
+10 mem_combine_key0_press
+10 mem_combine_key1_press
+10 mem_combine_key2_press
+10 mem_combine_key3_press
+10 mem_combine_key4_press
+10 mem_combine_key5_press
+10 mem_combine_key_release
+
+4 mem_shutter_move_data
+
+10 mem_key0_press_i
+10 mem_key1_press_i
+10 mem_key2_press_i
+10 mem_key3_press_i
+10 mem_key4_press_i
+10 mem_key5_press_i
+
+15 mem_key0_release_new_i
+15 mem_key1_release_new_i
+15 mem_key2_release_new_i
+15 mem_key3_release_new_i
+15 mem_key4_release_new_i
+15 mem_key5_release_new_i
+15 mem_key6_release_new_i
+
+3 mem_key0_long_press_i
+3 mem_key1_long_press_i
+3 mem_key2_long_press_i
+3 mem_key3_long_press_i
+3 mem_key4_long_press_i
+3 mem_key5_long_press_i
+3 mem_key6_long_press_i
+
+3 mem_key0_long_release_i
+3 mem_key1_long_release_i
+3 mem_key2_long_release_i
+3 mem_key3_long_release_i
+3 mem_key4_long_release_i
+3 mem_key5_long_release_i
+3 mem_key6_long_release_i
+
+
+10 mem_key3_release_new_t
+10 mem_key3_release_new_i_t
+1 mem_key3_press_count
+1 mem_shutter_like_timeout
+1 mem_shutter_key_pressed
+1 mem_shutter_combine_key_release
+680 mem_shutter_mousekey_value_list
+1 mem_shutter_back_count
+1 mem_shutter_le_conned
+
+0 mem_move_config
+1 mem_shutter_iphone_beyond_x_count
+1 mem_shutter_iphone_beyond_y_count
+2 mem_shutter_move_data_x
+2 mem_shutter_move_data_y
+1 mem_last_shutter_le_iphone_flag
+0 mem_move_config_end
+1 mem_shutter_back_count_cache
+1 mem_shutter_iphone_beyond_x_cache
+1 mem_shutter_iphone_beyond_y_cache
+10 mem_shutter_iphone_move_mid
+1 mem_shutter_long_key_released_flag
+1 mem_shutter_move_mid_timer
+1 mem_shutter_pairing_success
+2 mem_combine_key_release_value
+1 mem_last_press_key_value
+1 mem_shutter_first_move
+1 mem_move_mode_set
+1 mem_move_mode_key_index
+1 mem_move_mode_trigger_enable
+5 mem_shutter_android_move_mid
+10 mem_shutter_iphone_up_mid
+10 mem_shutter_iphone_like_mid
+1 mem_shutter_key_num_conf
+7 mem_shutter_dy_key_conf
+11 mem_le_dy_adv_data
+12 mem_le_dy_scan_data
+8 mem_ble_shutter_dy_interval_min_new
+8 mem_shutter_ble_discovery_time_conf
+2 mem_queue_dy_each_size
+10 mem_dy_key0_press
+10 mem_dy_key1_press
+10 mem_dy_key2_press
+10 mem_dy_key3_press
+10 mem_dy_key4_press
+10 mem_dy_key5_press
+10 mem_dy_key6_press
+7 mem_shutter_led_on_light_dark_led_conf
+7 mem_shutter_led_off_light_dark_led_conf
+4 mem_shutter_reconn_blink_on_time_conf
+4 mem_shutter_discovery_blink_on_time_conf
+2 mem_shutter_efuse_start_offset
+2 mem_shutter_efuse_end_offset
+
+0 mem_initial_move_conf
+2 mem_android_initial_move_x
+2 mem_android_initial_move_y
+2 mem_iphone_initial_move_x
+2 mem_iphone_initial_move_y
+//淇敼澧炲姞淇濆瓨鍙傛暟
+0 mem_otp_move_config
+2 mem_otp_shutter_move_data_x
+2 mem_otp_shutter_move_data_y
+1 mem_otp_last_shutter_le_iphone_flag
+0 mem_otp_move_config_end
+2 mem_otp_write_offset_addr
+2 mem_otp_read_offset_addr
+2 mem_otp_read_ios_android_addr
+2 mem_shutter_le_pairing_handle
+2 mem_shutter_temp_count
+1 mem_shutter_first_read_flag
+1 mem_shutter_valid_data_flag
+1 mem_shutter_volume_timer
+1 mem_shutter_link_timer
+8 mem_shutter_link_data
+8 mem_shutter_link_data_i
+1 mem_shutter_link_loop_flag
+0 mem_shutter_end
+)
+xmemalloc hci_boot(
+1 mem_hci_uart_tx_gpio
+1 mem_hci_uart_rx_gpio
+1 mem_hci_uart_rts_gpio
+1 mem_hci_uart_cts_gpio
+1 mem_hci_pwm_12mhz_gpio
+)
Index: output/auth.rom
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/output/auth.rom	(nonexistent)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/output/auth.rom	(working copy)
@@ -0,0 +1,1773 @@
+01
+00
+02
+00
+28
+02
+00
+18
+02
+00
+02
+03
+28
+01
+0a
+03
+00
+02
+00
+2a
+14
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+04
+00
+02
+03
+28
+01
+02
+05
+00
+02
+01
+2a
+02
+c2
+03
+06
+00
+02
+03
+28
+01
+02
+07
+00
+02
+04
+2a
+08
+06
+00
+06
+00
+64
+00
+2c
+01
+08
+00
+02
+00
+28
+02
+01
+18
+09
+00
+02
+03
+28
+01
+20
+0a
+00
+02
+05
+2a
+00
+0b
+00
+02
+02
+29
+02
+00
+00
+0c
+00
+02
+00
+28
+02
+0a
+18
+0d
+00
+02
+03
+28
+01
+02
+0e
+00
+02
+29
+2a
+06
+59
+69
+43
+68
+69
+70
+0f
+00
+02
+03
+28
+01
+02
+10
+00
+02
+50
+2a
+07
+02
+35
+12
+22
+aa
+01
+00
+11
+00
+02
+00
+28
+02
+12
+18
+12
+00
+02
+03
+28
+01
+06
+13
+00
+02
+4e
+2a
+01
+01
+14
+00
+02
+03
+28
+01
+12
+15
+00
+02
+4d
+2a
+08
+00
+00
+00
+00
+00
+00
+00
+00
+16
+00
+02
+02
+29
+02
+00
+00
+17
+00
+02
+08
+29
+02
+02
+01
+18
+00
+02
+03
+28
+01
+1a
+19
+00
+02
+4d
+2a
+07
+00
+00
+00
+00
+00
+00
+00
+1a
+00
+02
+02
+29
+02
+00
+00
+1b
+00
+02
+08
+29
+02
+01
+01
+1c
+00
+02
+03
+28
+01
+12
+1d
+00
+02
+4d
+2a
+02
+00
+00
+1e
+00
+02
+02
+29
+02
+00
+00
+1f
+00
+02
+08
+29
+02
+03
+01
+20
+00
+02
+03
+28
+01
+12
+21
+00
+02
+4d
+2a
+02
+00
+00
+22
+00
+02
+02
+29
+02
+00
+00
+23
+00
+02
+08
+29
+02
+04
+01
+24
+00
+02
+03
+28
+01
+0e
+25
+00
+02
+4d
+2a
+02
+00
+00
+26
+00
+02
+08
+29
+02
+02
+02
+27
+00
+02
+03
+28
+01
+02
+28
+00
+02
+4b
+2a
+bd
+05
+01
+09
+02
+a1
+01
+85
+01
+09
+01
+a1
+00
+05
+09
+19
+01
+29
+08
+15
+00
+25
+01
+75
+01
+95
+08
+81
+02
+05
+01
+09
+30
+09
+31
+16
+01
+f8
+26
+ff
+07
+75
+10
+95
+02
+81
+06
+09
+38
+15
+81
+25
+7f
+75
+08
+95
+01
+81
+06
+05
+0c
+0a
+38
+02
+95
+01
+81
+06
+c0
+c0
+05
+01
+09
+06
+a1
+01
+85
+02
+75
+01
+95
+08
+05
+07
+19
+e0
+29
+e7
+15
+00
+25
+01
+81
+02
+95
+01
+75
+08
+81
+03
+95
+05
+75
+01
+05
+08
+19
+01
+29
+05
+91
+02
+95
+01
+75
+03
+91
+03
+95
+06
+75
+08
+15
+00
+26
+ff
+00
+05
+07
+19
+00
+29
+ff
+81
+00
+c0
+05
+0c
+09
+01
+a1
+01
+85
+03
+19
+00
+2a
+ff
+03
+15
+00
+26
+ff
+03
+95
+01
+75
+10
+81
+00
+c0
+05
+01
+09
+80
+A1
+01
+85
+04
+15
+00
+25
+01
+75
+01
+95
+03
+19
+81
+29
+83
+81
+02
+95
+01
+75
+05
+81
+03
+C0
+29
+00
+02
+03
+28
+01
+1a
+2a
+00
+02
+33
+2a
+08
+00
+00
+00
+00
+00
+00
+00
+00
+2b
+00
+02
+02
+29
+02
+01
+00
+2c
+00
+02
+03
+28
+01
+02
+2d
+00
+02
+4a
+2a
+04
+01
+01
+00
+03
+2e
+00
+02
+00
+28
+02
+0f
+18
+2f
+00
+02
+03
+28
+01
+12
+30
+00
+02
+19
+2a
+01
+64
+31
+00
+02
+02
+29
+02
+00
+00
+32
+00
+02
+03
+28
+01
+04
+33
+00
+02
+4c
+2a
+00
+00
+00
+1a
+06
+bc
+ff
+09
+88
+a1
+01
+85
+04
+19
+00
+2a
+ff
+00
+15
+00
+26
+ff
+00
+75
+08
+95
+01
+81
+00
+c0
+3f
+05
+01
+09
+06
+a1
+01
+75
+01
+95
+08
+05
+07
+19
+e0
+29
+e7
+15
+00
+25
+01
+81
+02
+95
+01
+75
+08
+81
+03
+95
+05
+75
+01
+05
+08
+19
+01
+29
+05
+91
+02
+95
+01
+75
+03
+91
+03
+95
+06
+75
+08
+15
+00
+25
+ff
+05
+07
+19
+00
+29
+ff
+81
+00
+c0
+a3
+05
+01
+09
+02
+a1
+01
+85
+01
+09
+01
+a1
+00
+05
+09
+19
+01
+29
+05
+15
+00
+25
+01
+95
+05
+75
+01
+81
+02
+95
+01
+75
+03
+81
+01
+05
+01
+09
+30
+09
+31
+16
+01
+F8
+26
+FF
+07
+75
+10
+95
+02
+81
+06
+09
+38
+15
+81
+25
+7f
+75
+08
+95
+01
+81
+06
+05
+0c
+0a
+38
+02
+95
+01
+81
+06
+c0
+c0
+05
+01
+09
+80
+a1
+01
+85
+02
+05
+01
+19
+81
+29
+88
+15
+00
+25
+01
+95
+08
+75
+01
+81
+06
+c0
+05
+0c
+09
+01
+a1
+01
+85
+03
+15
+00
+26
+80
+03
+19
+00
+2a
+80
+03
+75
+10
+95
+01
+81
+00
+c0
+06
+00
+ff
+09
+0e
+a1
+01
+85
+BA
+95
+1f
+75
+08
+26
+ff
+00
+15
+00
+09
+01
+91
+02
+85
+BA
+95
+1f
+75
+08
+26
+ff
+00
+15
+00
+09
+01
+81
+02
+C0
+12
+12
+01
+00
+02
+00
+00
+00
+40
+51
+31
+20
+10
+02
+00
+01
+02
+00
+01
+3b
+09
+02
+3b
+00
+02
+01
+00
+a0
+32
+09
+04
+00
+00
+01
+03
+01
+01
+00
+09
+21
+00
+02
+00
+01
+22
+1a
+00
+07
+05
+81
+03
+40
+00
+02
+09
+04
+01
+00
+01
+03
+01
+02
+00
+09
+21
+00
+02
+00
+01
+22
+a3
+00
+07
+05
+82
+03
+40
+00
+02
+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
+00
+00
+05
+00
+02
+00
+28
+02
+00
+18
+06
+00
+02
+03
+28
+01
+02
+07
+00
+02
+00
+2a
+13
+43
+68
+69
+70
+73
+65
+61
+2d
+42
+4c
+45
+20
+20
+20
+20
+20
+20
+20
+20
+08
+00
+02
+03
+28
+01
+02
+09
+00
+02
+01
+2a
+02
+c1
+03
+0a
+00
+02
+03
+28
+01
+02
+0b
+00
+02
+04
+2a
+08
+06
+00
+06
+00
+64
+00
+2c
+01
+0c
+00
+02
+00
+28
+02
+0a
+18
+0d
+00
+02
+03
+28
+01
+02
+0e
+00
+02
+50
+2a
+07
+02
+8a
+24
+66
+82
+01
+00
+0f
+00
+02
+00
+28
+02
+12
+18
+10
+00
+02
+03
+28
+01
+06
+11
+00
+02
+4e
+2a
+01
+01
+12
+00
+02
+03
+28
+01
+12
+13
+00
+02
+4d
+2a
+02
+00
+00
+14
+00
+02
+02
+29
+02
+00
+00
+15
+00
+02
+08
+29
+02
+02
+01
+16
+00
+02
+03
+28
+01
+12
+17
+00
+02
+4d
+2a
+02
+00
+00
+18
+00
+02
+02
+29
+02
+00
+00
+19
+00
+02
+08
+29
+02
+03
+01
+1a
+00
+02
+03
+28
+01
+02
+1b
+00
+02
+4b
+2a
+1b
+05
+0c
+09
+01
+a1
+01
+85
+02
+09
+e9
+09
+ea
+09
+e2
+09
+30
+15
+01
+25
+0c
+75
+10
+95
+01
+81
+00
+c0
+1c
+00
+02
+03
+28
+01
+02
+1d
+00
+02
+4a
+2a
+04
+11
+01
+00
+01
+1e
+00
+02
+03
+28
+01
+04
+1f
+00
+02
+4c
+2a
+01
+00
+20
+00
+02
+00
+28
+02
+0f
+18
+21
+00
+02
+03
+28
+01
+12
+22
+00
+02
+19
+2a
+01
+63
+00
+00
+02
+13
+00
+02
+00
+02
+13
+00
+01
+00
+02
+13
+00
+04
+00
+02
+13
+00
+06
+00
+02
+13
+00
+05
+00
+02
+13
+00
+00
+00
+02
+17
+00
+00
+28
+02
+17
+00
+00
+00
+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
+00
+00
+05
+00
+02
+00
+28
+02
+00
+18
+06
+00
+02
+03
+28
+01
+02
+07
+00
+02
+00
+2a
+11
+55
+43
+48
+4f
+4e
+20
+30
+31
+20
+20
+20
+20
+20
+20
+20
+20
+20
+08
+00
+02
+03
+28
+01
+02
+09
+00
+02
+01
+2a
+02
+c8
+00
+0a
+00
+02
+03
+28
+01
+02
+0b
+00
+02
+04
+2a
+08
+06
+00
+06
+00
+64
+00
+2c
+01
+0c
+00
+02
+00
+28
+02
+0a
+18
+0d
+00
+02
+03
+28
+01
+02
+0e
+00
+02
+50
+2a
+07
+02
+8a
+24
+66
+82
+01
+00
+0f
+00
+02
+00
+28
+02
+f0
+ff
+10
+00
+02
+03
+28
+01
+12
+11
+00
+02
+f1
+ff
+0e
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+12
+00
+02
+02
+29
+02
+00
+00
+13
+00
+02
+03
+28
+01
+08
+14
+00
+02
+f2
+ff
+0e
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+98
+2f
+8a
+42
+91
+44
+37
+71
+cf
+fb
+c0
+b5
+a5
+db
+b5
+e9
+5b
+c2
+56
+39
+f1
+11
+f1
+59
+a4
+82
+3f
+92
+d5
+5e
+1c
+ab
+98
+aa
+07
+d8
+01
+5b
+83
+12
+be
+85
+31
+24
+c3
+7d
+0c
+55
+74
+5d
+be
+72
+fe
+b1
+de
+80
+a7
+06
+dc
+9b
+74
+f1
+9b
+c1
+c1
+69
+9b
+e4
+86
+47
+be
+ef
+c6
+9d
+c1
+0f
+cc
+a1
+0c
+24
+6f
+2c
+e9
+2d
+aa
+84
+74
+4a
+dc
+a9
+b0
+5c
+da
+88
+f9
+76
+52
+51
+3e
+98
+6d
+c6
+31
+a8
+c8
+27
+03
+b0
+c7
+7f
+59
+bf
+f3
+0b
+e0
+c6
+47
+91
+a7
+d5
+51
+63
+ca
+06
+67
+29
+29
+14
+85
+0a
+b7
+27
+38
+21
+1b
+2e
+fc
+6d
+2c
+4d
+13
+0d
+38
+53
+54
+73
+0a
+65
+bb
+0a
+6a
+76
+2e
+c9
+c2
+81
+85
+2c
+72
+92
+a1
+e8
+bf
+a2
+4b
+66
+1a
+a8
+70
+8b
+4b
+c2
+a3
+51
+6c
+c7
+19
+e8
+92
+d1
+24
+06
+99
+d6
+85
+35
+0e
+f4
+70
+a0
+6a
+10
+16
+c1
+a4
+19
+08
+6c
+37
+1e
+4c
+77
+48
+27
+b5
+bc
+b0
+34
+b3
+0c
+1c
+39
+4a
+aa
+d8
+4e
+4f
+ca
+9c
+5b
+f3
+6f
+2e
+68
+ee
+82
+8f
+74
+6f
+63
+a5
+78
+14
+78
+c8
+84
+08
+02
+c7
+8c
+fa
+ff
+be
+90
+eb
+6c
+50
+a4
+f7
+a3
+f9
+be
+f2
+78
+71
+c6
Index: output/eeprom.dat
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/output/eeprom.dat	(nonexistent)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/output/eeprom.dat	(working copy)
@@ -0,0 +1,8192 @@
+00
+02
+aa
+55
+1e
+14
+c2
+84
+00
+16
+c0
+00
+00
+2a
+c0
+01
+00
+30
+c0
+08
+80
+39
+c0
+0a
+02
+43
+c0
+0a
+80
+da
+c0
+0c
+00
+e8
+c0
+0c
+80
+8e
+c0
+0d
+00
+4a
+c0
+1b
+82
+b9
+c0
+1c
+00
+ad
+c0
+1c
+80
+a9
+c0
+1d
+04
+fb
+c0
+1e
+82
+b5
+c0
+1f
+03
+1a
+c0
+58
+82
+cc
+c0
+62
+80
+a6
+c0
+6d
+02
+15
+c0
+6e
+02
+25
+c0
+7f
+00
+ef
+c0
+7f
+80
+f7
+20
+20
+23
+5a
+c0
+00
+01
+14
+c0
+01
+01
+41
+c0
+03
+01
+b4
+c0
+1c
+82
+5f
+c0
+26
+82
+63
+c0
+37
+03
+86
+c0
+37
+82
+c2
+c0
+39
+03
+cd
+c0
+39
+83
+b8
+c0
+3a
+83
+95
+c0
+40
+83
+75
+c0
+41
+02
+65
+c0
+42
+03
+40
+c0
+42
+83
+a5
+c0
+44
+02
+9d
+c0
+45
+02
+aa
+c0
+45
+83
+a8
+c0
+4d
+83
+b1
+c1
+7f
+80
+00
+20
+20
+23
+5a
+20
+80
+00
+00
+37
+d9
+82
+00
+6f
+e0
+c0
+cb
+20
+40
+23
+e1
+20
+00
+75
+30
+20
+20
+20
+03
+20
+40
+75
+52
+20
+40
+74
+48
+20
+40
+2a
+45
+20
+40
+20
+2a
+20
+40
+42
+ad
+20
+40
+20
+18
+20
+40
+31
+0f
+20
+40
+24
+8c
+20
+20
+00
+30
+70
+8a
+0f
+60
+70
+8a
+10
+aa
+70
+8a
+12
+7a
+70
+8a
+25
+00
+70
+8a
+26
+00
+20
+00
+00
+3c
+70
+8a
+20
+20
+70
+8a
+23
+f5
+70
+8a
+24
+12
+70
+8a
+24
+10
+20
+00
+00
+3c
+70
+8a
+12
+60
+70
+8a
+23
+dd
+20
+60
+00
+00
+37
+d9
+82
+00
+70
+81
+3c
+58
+20
+20
+23
+e2
+70
+89
+46
+0d
+70
+89
+6f
+10
+70
+8a
+88
+40
+70
+8a
+13
+cd
+70
+8a
+06
+10
+70
+8a
+84
+4a
+70
+8a
+85
+40
+70
+8a
+16
+fe
+20
+40
+00
+af
+6f
+e0
+c4
+36
+20
+5a
+70
+d7
+24
+55
+80
+47
+37
+d9
+82
+00
+70
+81
+3b
+5f
+6f
+e0
+c0
+99
+c0
+08
+00
+83
+6f
+e0
+c4
+38
+1f
+e1
+fe
+04
+67
+f0
+8a
+02
+70
+89
+0f
+01
+70
+8a
+80
+24
+70
+8a
+81
+62
+58
+e6
+12
+12
+67
+f1
+8a
+73
+70
+8a
+86
+60
+70
+8a
+8b
+3b
+20
+40
+00
+75
+70
+80
+43
+00
+70
+80
+42
+05
+58
+55
+74
+74
+67
+f1
+89
+68
+70
+89
+60
+6e
+20
+40
+01
+e8
+20
+40
+02
+13
+20
+40
+00
+6f
+70
+41
+48
+0c
+20
+20
+6f
+4e
+20
+75
+80
+00
+37
+d9
+82
+00
+6f
+e0
+c1
+1c
+67
+f0
+81
+3a
+37
+d9
+82
+00
+20
+60
+00
+00
+6f
+e0
+c0
+99
+c0
+0c
+00
+7b
+6f
+e0
+c4
+38
+1f
+e1
+fe
+06
+67
+f0
+8a
+02
+70
+8a
+05
+e0
+70
+8a
+00
+d8
+20
+00
+00
+3c
+70
+8a
+01
+a0
+70
+8a
+00
+df
+70
+8a
+01
+fa
+20
+00
+00
+14
+70
+8a
+00
+9f
+20
+60
+00
+00
+6f
+e0
+c4
+38
+1f
+e1
+fe
+06
+67
+f0
+8a
+02
+70
+89
+0f
+00
+70
+8a
+80
+23
+70
+8a
+81
+b0
+58
+e4
+09
+09
+67
+f1
+8a
+73
+70
+8a
+76
+2a
+70
+89
+02
+04
+20
+20
+00
+62
+6f
+e0
+c1
+41
+c0
+03
+22
+25
+c0
+05
+00
+95
+c0
+4f
+00
+9a
+c0
+4f
+80
+9e
+c0
+50
+00
+a2
+20
+20
+22
+0e
+70
+8a
+14
+25
+58
+a9
+3f
+3f
+67
+f1
+8a
+60
+70
+8a
+63
+1f
+20
+60
+00
+00
+70
+8a
+14
+17
+58
+25
+03
+00
+67
+f1
+8a
+60
+20
+20
+22
+1a
+70
+8a
+14
+17
+58
+25
+01
+00
+67
+f1
+8a
+60
+20
+20
+22
+1a
+70
+8a
+14
+17
+58
+25
+00
+00
+67
+f1
+8a
+60
+20
+20
+22
+1a
+20
+40
+6b
+3a
+20
+40
+6b
+75
+20
+20
+6b
+38
+df
+20
+00
+01
+da
+20
+46
+48
+da
+40
+1f
+00
+20
+20
+6b
+45
+da
+40
+1f
+00
+20
+20
+47
+f1
+20
+35
+80
+d6
+6f
+e2
+02
+0d
+20
+7a
+00
+00
+37
+d9
+82
+00
+6f
+f0
+81
+36
+1f
+e1
+7e
+f0
+68
+48
+82
+0d
+98
+41
+fe
+00
+67
+f0
+81
+36
+37
+d9
+82
+00
+6f
+f0
+81
+38
+1f
+e1
+7e
+07
+68
+48
+82
+0e
+18
+49
+84
+00
+98
+41
+fe
+00
+67
+f0
+81
+38
+37
+d9
+82
+00
+6f
+f0
+8a
+cb
+1f
+e1
+7e
+f0
+68
+48
+82
+0f
+60
+48
+c1
+5b
+98
+41
+fe
+00
+67
+f0
+8a
+cb
+6f
+e0
+82
+10
+67
+e0
+c1
+5c
+2f
+ef
+fe
+03
+6f
+f0
+8a
+06
+79
+20
+fe
+07
+67
+f0
+8a
+06
+6f
+e0
+82
+10
+1f
+e1
+04
+07
+18
+52
+04
+00
+18
+43
+84
+00
+60
+48
+c4
+38
+6f
+f0
+8a
+02
+1f
+e1
+7e
+1f
+98
+41
+fe
+00
+67
+f0
+8a
+02
+20
+60
+00
+00
+6f
+e1
+41
+5b
+20
+7a
+00
+00
+67
+e1
+02
+0f
+20
+20
+00
+c0
+20
+40
+68
+6f
+20
+40
+21
+ba
+18
+00
+2a
+08
+18
+00
+2a
+00
+58
+0a
+aa
+da
+67
+f1
+8a
+0f
+70
+8a
+25
+40
+70
+8a
+26
+10
+20
+00
+00
+3c
+70
+8a
+01
+fb
+70
+8a
+25
+ff
+70
+8a
+26
+30
+70
+8a
+16
+fe
+20
+20
+21
+b4
+58
+0a
+aa
+7e
+67
+f1
+8a
+0f
+20
+00
+00
+3c
+70
+8a
+25
+00
+70
+8a
+26
+0d
+70
+8a
+16
+f6
+20
+20
+22
+03
+20
+40
+73
+96
+20
+40
+79
+32
+58
+00
+48
+41
+67
+e1
+07
+a9
+20
+20
+79
+15
+6f
+f0
+8c
+25
+c3
+83
+00
+00
+20
+20
+79
+93
+6f
+e0
+87
+09
+c4
+02
+80
+00
+20
+40
+79
+89
+28
+41
+fe
+0d
+20
+20
+f9
+99
+6f
+e0
+c6
+96
+c0
+00
+81
+06
+d8
+a0
+08
+6d
+20
+40
+79
+94
+6f
+e0
+87
+0c
+c0
+00
+79
+86
+c0
+00
+f9
+b6
+1f
+e6
+7c
+07
+20
+61
+00
+00
+20
+20
+01
+14
+d8
+a0
+08
+75
+20
+40
+79
+94
+70
+46
+96
+00
+6f
+e0
+87
+0c
+c0
+00
+81
+0e
+70
+08
+f7
+01
+70
+8c
+1b
+03
+20
+60
+00
+00
+6f
+e0
+88
+6d
+c3
+83
+80
+00
+6f
+e0
+88
+75
+20
+40
+7b
+6a
+70
+8c
+1b
+01
+20
+60
+00
+00
+79
+3f
+80
+23
+6f
+e0
+88
+6d
+1f
+e1
+7e
+80
+c0
+40
+01
+1a
+c0
+00
+01
+59
+20
+20
+23
+5a
+6f
+e0
+88
+6d
+1f
+f1
+fe
+00
+1f
+e3
+7e
+00
+1f
+e1
+7e
+03
+c0
+00
+01
+20
+20
+20
+79
+bf
+6f
+e0
+88
+6e
+c0
+04
+79
+eb
+c0
+03
+7a
+01
+c0
+05
+7a
+46
+c0
+00
+01
+26
+20
+20
+79
+e4
+6f
+e0
+88
+6b
+c0
+01
+79
+e4
+6f
+e0
+88
+6f
+c0
+80
+79
+e4
+6f
+e0
+88
+70
+c0
+80
+79
+e4
+6f
+e0
+88
+73
+c0
+81
+79
+e4
+6f
+e0
+88
+74
+c0
+80
+79
+e4
+6f
+e0
+88
+72
+c0
+80
+79
+e4
+6f
+e0
+88
+6d
+c0
+40
+7a
+6b
+c0
+40
+fa
+76
+c0
+41
+01
+37
+20
+20
+79
+e4
+6f
+e0
+88
+6b
+c0
+82
+79
+e4
+6f
+e0
+88
+71
+c0
+40
+fa
+87
+c0
+41
+7a
+89
+c0
+41
+fa
+8b
+c0
+01
+7a
+89
+1f
+e1
+7e
+7f
+c0
+00
+7a
+83
+20
+20
+79
+e4
+6f
+e0
+88
+70
+c0
+00
+fa
+14
+c0
+01
+01
+56
+c0
+10
+81
+4e
+c0
+11
+01
+47
+20
+20
+7a
+05
+6f
+e1
+08
+71
+c0
+00
+fa
+42
+6a
+40
+cb
+7b
+58
+00
+4b
+7b
+1f
+e0
+fe
+01
+1f
+e2
+22
+00
+20
+20
+7b
+8b
+70
+08
+fd
+00
+6f
+e0
+88
+71
+c0
+00
+7a
+0e
+c0
+00
+81
+53
+20
+20
+79
+e4
+6a
+40
+c9
+21
+da
+20
+49
+21
+20
+20
+7b
+8b
+58
+00
+48
+f5
+68
+48
+c8
+f5
+20
+20
+7a
+18
+6f
+e0
+88
+6d
+1f
+f1
+fe
+00
+1f
+e3
+7e
+00
+1f
+e1
+7e
+03
+c0
+00
+01
+61
+c0
+00
+81
+9f
+c0
+01
+79
+e3
+20
+20
+23
+5a
+6f
+e0
+88
+6e
+c0
+00
+81
+7e
+c0
+01
+81
+69
+c0
+02
+fb
+06
+c0
+04
+fb
+1f
+c0
+05
+fb
+3a
+c0
+03
+f9
+e4
+20
+20
+79
+e4
+6f
+e0
+88
+73
+c0
+80
+79
+e4
+6f
+e0
+88
+74
+c0
+80
+79
+e4
+6f
+e0
+88
+6d
+c0
+00
+7a
+e4
+c0
+00
+fa
+f2
+c0
+01
+01
+72
+20
+20
+79
+e4
+6f
+e0
+88
+6f
+c0
+80
+79
+e4
+6f
+e0
+88
+70
+c0
+80
+79
+e4
+6f
+e0
+88
+71
+c0
+40
+fb
+00
+c0
+41
+7b
+02
+c0
+41
+fb
+04
+c0
+01
+7b
+02
+1f
+e1
+7e
+7f
+c0
+00
+7a
+fe
+20
+20
+79
+e4
+6f
+e0
+88
+6b
+c0
+82
+79
+e4
+6f
+e0
+88
+73
+c0
+80
+79
+e4
+6f
+e0
+88
+74
+c0
+80
+79
+e4
+6f
+e0
+88
+70
+c0
+80
+79
+e4
+6f
+e0
+88
+72
+c0
+80
+79
+e4
+6f
+e0
+88
+6d
+c0
+00
+01
+8d
+c0
+00
+fa
+c8
+c0
+01
+01
+95
+20
+20
+79
+e4
+6f
+e0
+88
+6f
+c0
+80
+f9
+e4
+6f
+f0
+8c
+00
+79
+3f
+fe
+07
+67
+f0
+8c
+00
+70
+09
+01
+00
+70
+09
+02
+01
+20
+20
+79
+e9
+6f
+e0
+88
+6f
+c0
+80
+79
+e4
+6f
+e0
+88
+71
+c0
+40
+fa
+d4
+c0
+41
+7a
+d7
+c0
+41
+fa
+d9
+c0
+01
+7a
+d7
+1f
+e1
+7e
+7f
+c0
+00
+7a
+d2
+20
+20
+79
+e4
+6f
+e0
+88
+6e
+c0
+05
+7b
+4b
+c0
+04
+81
+a4
+c0
+05
+fb
+7c
+20
+20
+79
+e4
+20
+00
+3a
+98
+d8
+a0
+08
+75
+20
+40
+00
+f4
+70
+08
+f7
+01
+20
+40
+7b
+6e
+6f
+e0
+c6
+96
+1f
+e0
+fe
+01
+67
+e0
+c6
+96
+6f
+e1
+08
+6f
+67
+e1
+08
+f5
+70
+8c
+1b
+02
+20
+20
+7b
+65
+da
+20
+49
+3b
+20
+40
+7d
+a3
+20
+7a
+00
+00
+20
+20
+48
+37
+20
+40
+01
+b0
+6f
+e0
+89
+0d
+20
+7a
+00
+00
+6f
+f0
+8c
+25
+1f
+e1
+7e
+0f
+24
+3a
+7c
+30
+6f
+e0
+89
+0e
+20
+3a
+7c
+06
+6f
+e0
+89
+00
+c0
+01
+fc
+40
+c0
+81
+7c
+06
+6f
+e0
+89
+02
+24
+3a
+7c
+06
+20
+40
+01
+c3
+20
+20
+01
+c7
+6f
+f0
+8c
+25
+1f
+e1
+7e
+0f
+24
+7a
+00
+00
+20
+20
+7b
+f0
+da
+20
+49
+3b
+20
+40
+7d
+a3
+20
+7a
+00
+00
+6f
+f0
+8c
+25
+1f
+e1
+7e
+0f
+24
+7a
+00
+00
+6f
+e0
+89
+0d
+c4
+01
+00
+00
+6f
+e0
+89
+0d
+79
+3f
+fe
+02
+67
+e0
+89
+0d
+da
+20
+49
+3b
+20
+40
+7d
+97
+20
+7a
+00
+00
+c0
+10
+7c
+09
+c0
+10
+fc
+24
+c0
+11
+7c
+2c
+c0
+11
+81
+db
+c0
+12
+01
+e3
+20
+20
+23
+5a
+6f
+e0
+c9
+4c
+20
+7a
+00
+00
+1f
+e2
+72
+00
+d8
+c0
+49
+4d
+20
+40
+7b
+db
+d8
+a0
+49
+4c
+df
+20
+00
+41
+20
+20
+7c
+a1
+df
+20
+00
+40
+d8
+c0
+49
+d1
+20
+40
+7b
+db
+d8
+a0
+49
+d1
+20
+20
+01
+e1
+20
+75
+80
+00
+20
+40
+21
+60
+d8
+40
+00
+27
+20
+40
+21
+6f
+20
+40
+21
+a6
+70
+8a
+25
+7f
+70
+8a
+30
+1a
+70
+8a
+31
+78
+70
+8a
+8f
+b2
+70
+8a
+c2
+00
+70
+8a
+c3
+00
+d8
+e0
+00
+06
+20
+40
+02
+05
+2a
+2f
+fe
+0d
+20
+40
+21
+1d
+2a
+4f
+fe
+0d
+20
+40
+21
+1e
+d8
+e0
+00
+05
+20
+40
+21
+1c
+20
+40
+21
+1e
+20
+40
+02
+05
+d8
+a0
+8a
+c2
+1a
+31
+fe
+00
+20
+40
+21
+17
+1a
+51
+fe
+00
+20
+40
+21
+17
+18
+e0
+8f
+ff
+20
+21
+01
+fa
+20
+20
+21
+4f
+20
+00
+00
+3c
+58
+00
+0f
+00
+67
+f1
+09
+82
+58
+00
+0f
+f0
+67
+f1
+09
+84
+70
+89
+81
+09
+70
+89
+81
+03
+70
+89
+80
+06
+20
+00
+00
+3c
+da
+20
+00
+00
+da
+40
+00
+00
+df
+20
+00
+10
+d8
+c0
+0f
+00
+20
+20
+21
+2d
+20
+75
+80
+00
+20
+20
+22
+72
+20
+75
+80
+00
+70
+8a
+07
+77
+70
+8a
+08
+c9
+70
+8a
+0b
+01
+6f
+e0
+c4
+09
+67
+f0
+80
+cd
+20
+00
+0b
+b8
+20
+40
+02
+3d
+70
+8a
+08
+c1
+6a
+40
+c4
+19
+df
+20
+00
+08
+20
+40
+6f
+58
+6f
+e0
+c4
+19
+67
+e0
+c4
+33
+62
+40
+c4
+19
+20
+60
+00
+00
+20
+40
+02
+33
+6f
+f0
+8a
+09
+79
+3f
+fe
+07
+67
+f0
+8a
+09
+70
+8a
+07
+77
+70
+8a
+08
+c1
+70
+8a
+0b
+01
+20
+40
+6f
+90
+6f
+e0
+c4
+09
+67
+f0
+80
+cd
+20
+00
+0b
+b8
+20
+40
+02
+3d
+70
+80
+cd
+00
+20
+20
+6f
+a1
+6f
+f0
+80
+cc
+79
+20
+7e
+01
+67
+f0
+80
+cc
+6a
+40
+c4
+19
+6f
+e0
+c4
+33
+67
+e0
+c4
+19
+df
+20
+00
+08
+20
+40
+6f
+67
+62
+40
+c4
+19
+20
+60
+00
+00
+70
+80
+cc
+03
+6f
+f0
+81
+29
+c3
+02
+82
+3e
+68
+59
+01
+64
+60
+49
+44
+0a
+20
+20
+6f
+9f
+70
+8a
+82
+11
+70
+8a
+8d
+12
+70
+8a
+8e
+0a
+6f
+e0
+c0
+99
+c0
+08
+02
+5c
+58
+00
+57
+62
+67
+f1
+09
+07
+70
+89
+01
+03
+70
+89
+30
+03
+c6
+16
+80
+00
+70
+89
+01
+01
+70
+8a
+82
+07
+70
+8a
+8d
+44
+70
+8a
+8e
+0a
+6f
+e0
+c0
+99
+c0
+08
+02
+59
+58
+00
+2b
+b1
+67
+f1
+09
+07
+c6
+97
+80
+00
+70
+89
+30
+24
+70
+89
+01
+05
+20
+60
+00
+00
+58
+00
+41
+89
+67
+f1
+09
+07
+20
+20
+02
+55
+58
+00
+83
+12
+67
+f1
+09
+07
+20
+20
+02
+4a
+6f
+e0
+c3
+34
+c1
+00
+00
+00
+c0
+01
+b0
+4a
+20
+20
+28
+e1
+79
+3f
+80
+30
+20
+20
+2a
+f6
+6f
+e0
+c7
+b1
+c0
+55
+02
+6b
+c0
+2a
+82
+6d
+c0
+11
+02
+83
+c0
+7f
+82
+75
+20
+60
+00
+00
+6f
+e0
+c7
+b2
+20
+20
+33
+2a
+6f
+e0
+c5
+ae
+20
+3a
+02
+73
+6f
+e2
+47
+b3
+68
+4a
+44
+f1
+98
+46
+7c
+00
+24
+62
+80
+00
+6f
+e0
+c7
+b2
+20
+20
+33
+41
+6f
+e0
+c7
+b2
+c0
+00
+82
+79
+c0
+01
+02
+7e
+20
+60
+00
+00
+6f
+e0
+c5
+de
+24
+7a
+00
+00
+6f
+e2
+47
+b3
+67
+e2
+46
+2c
+20
+20
+35
+a3
+6f
+e0
+c5
+df
+24
+7a
+00
+00
+6f
+e2
+47
+b3
+67
+e2
+46
+2c
+20
+20
+35
+a9
+6f
+e0
+c5
+ae
+20
+3a
+02
+89
+6f
+e2
+47
+b3
+68
+4a
+46
+2c
+98
+46
+7c
+00
+24
+62
+80
+00
+6f
+e0
+c7
+b2
+c0
+00
+82
+8d
+c0
+01
+02
+95
+20
+60
+00
+00
+6f
+e0
+c5
+de
+24
+7a
+00
+00
+6f
+e0
+c5
+d3
+c0
+01
+02
+92
+20
+60
+00
+00
+70
+45
+de
+01
+20
+40
+33
+8d
+20
+20
+33
+6b
+6f
+e0
+c5
+df
+24
+7a
+00
+00
+6f
+e0
+c5
+d4
+c0
+80
+02
+9a
+20
+60
+00
+00
+70
+45
+df
+01
+20
+40
+33
+93
+20
+20
+33
+78
+6f
+e0
+c6
+16
+c1
+00
+00
+00
+6f
+e0
+c6
+2a
+24
+7a
+00
+00
+6f
+e0
+c6
+28
+24
+7a
+00
+00
+6f
+e0
+c6
+24
+20
+7a
+00
+00
+6f
+e0
+c5
+d3
+c1
+80
+00
+00
+6f
+e0
+c5
+d4
+c1
+80
+00
+00
+20
+20
+34
+36
+6f
+e0
+c6
+16
+c1
+80
+80
+00
+20
+40
+02
+ae
+20
+20
+34
+6d
+6f
+e0
+c6
+15
+c3
+80
+80
+00
+79
+20
+7e
+01
+67
+e0
+c6
+15
+58
+00
+00
+00
+67
+e1
+c5
+d3
+20
+20
+33
+07
+20
+40
+02
+b7
+20
+20
+03
+fa
+58
+00
+00
+10
+20
+20
+70
+c8
+20
+40
+47
+c3
+6f
+e0
+c6
+95
+67
+e0
+c5
+d1
+70
+45
+ca
+01
+20
+40
+32
+81
+6f
+e0
+c6
+69
+c4
+00
+00
+00
+70
+45
+ca
+01
+20
+20
+32
+84
+6f
+e0
+c6
+69
+c3
+00
+31
+65
+78
+37
+fc
+00
+20
+00
+00
+18
+6f
+e0
+c6
+dd
+79
+20
+7e
+00
+67
+e0
+c6
+dd
+20
+40
+33
+a5
+20
+40
+31
+e5
+20
+20
+31
+95
+58
+00
+03
+d8
+67
+e1
+45
+e0
+58
+00
+04
+84
+67
+e1
+45
+e4
+58
+00
+04
+cc
+67
+e1
+45
+e6
+58
+00
+02
+d7
+67
+e1
+45
+e2
+58
+00
+47
+f9
+67
+e1
+08
+59
+20
+20
+79
+12
+6f
+e0
+c5
+89
+c0
+00
+82
+da
+c0
+01
+02
+dd
+6f
+e0
+c6
+93
+c2
+80
+03
+10
+20
+20
+02
+df
+6f
+e0
+c6
+93
+c2
+80
+83
+14
+6f
+e0
+c6
+11
+c0
+00
+82
+e4
+c0
+01
+82
+f4
+c0
+04
+02
+fc
+20
+60
+00
+00
+70
+46
+11
+01
+20
+40
+02
+ec
+24
+77
+80
+00
+70
+46
+11
+01
+70
+45
+88
+08
+d8
+c0
+45
+d6
+d8
+a0
+46
+dd
+20
+20
+7c
+89
+6f
+e0
+c6
+16
+c1
+80
+80
+00
+6f
+e0
+c6
+10
+24
+7a
+00
+00
+6f
+e0
+c6
+9a
+c0
+00
+b3
+86
+c0
+01
+33
+8a
+20
+60
+00
+00
+6f
+e0
+c6
+99
+c0
+00
+82
+e4
+c0
+7f
+82
+e4
+70
+08
+f9
+00
+70
+45
+88
+01
+6f
+e0
+c6
+21
+67
+e0
+c6
+dd
+20
+60
+00
+00
+70
+46
+11
+00
+6f
+e0
+ca
+53
+c0
+02
+83
+01
+c0
+05
+03
+08
+20
+60
+00
+00
+70
+45
+89
+01
+6f
+e0
+ca
+55
+67
+e0
+c5
+88
+1f
+e2
+72
+00
+d8
+c0
+4a
+56
+d8
+a0
+46
+dd
+20
+20
+7c
+da
+70
+45
+89
+02
+6f
+e0
+ca
+99
+1f
+e0
+fe
+03
+67
+e0
+c5
+88
+1f
+e2
+72
+00
+d8
+c0
+4a
+97
+d8
+a0
+46
+dd
+20
+20
+7c
+da
+6f
+e0
+c6
+93
+79
+3f
+fe
+00
+67
+e0
+c6
+93
+20
+20
+03
+17
+6f
+e0
+c6
+93
+79
+3f
+fe
+01
+67
+e0
+c6
+93
+70
+45
+88
+01
+58
+00
+00
+ff
+20
+20
+02
+fa
+6f
+e0
+c6
+16
+c1
+80
+00
+00
+20
+40
+03
+2e
+20
+40
+48
+27
+6f
+e0
+c6
+10
+24
+7a
+00
+00
+6f
+e0
+c6
+11
+c1
+80
+00
+00
+6f
+e0
+c6
+14
+20
+7a
+00
+00
+d8
+e0
+00
+08
+20
+40
+7c
+ef
+24
+7a
+00
+00
+20
+40
+35
+1b
+20
+20
+35
+11
+6f
+e0
+c6
+0a
+c0
+00
+b5
+ea
+6f
+e0
+c6
+12
+c0
+00
+b5
+2c
+20
+60
+00
+00
+6f
+e0
+c6
+16
+c1
+80
+00
+00
+20
+40
+34
+51
+20
+40
+03
+29
+20
+40
+03
+6a
+24
+37
+b3
+be
+20
+40
+33
+e3
+24
+34
+33
+be
+6f
+e0
+c5
+7d
+20
+3a
+33
+be
+1f
+e0
+fe
+02
+98
+00
+72
+00
+d8
+c0
+46
+97
+d8
+a0
+47
+af
+20
+40
+7c
+da
+70
+46
+13
+00
+6f
+e0
+c6
+10
+20
+5a
+03
+46
+6f
+e0
+c7
+b1
+c0
+7f
+83
+64
+1f
+e1
+7e
+03
+c0
+00
+83
+4c
+c0
+01
+03
+5e
+20
+20
+33
+be
+6f
+e0
+c6
+2b
+20
+3a
+33
+fe
+70
+46
+14
+01
+58
+00
+06
+40
+d8
+e0
+00
+08
+20
+20
+7c
+e1
+20
+40
+33
+8d
+20
+40
+35
+2e
+6f
+e0
+c6
+0a
+68
+48
+c7
+af
+28
+4f
+fe
+03
+79
+20
+fe
+00
+67
+e0
+c6
+0a
+c0
+00
+83
+57
+6f
+e0
+c6
+12
+68
+48
+c7
+af
+20
+20
+33
+ce
+6f
+e0
+c5
+de
+24
+7a
+00
+00
+70
+45
+de
+01
+6f
+e2
+47
+b9
+20
+20
+35
+a3
+6f
+e2
+47
+b9
+20
+20
+35
+a9
+20
+40
+33
+93
+68
+48
+c7
+af
+28
+4f
+fe
+03
+20
+20
+83
+5c
+6f
+e1
+45
+e6
+20
+20
+7d
+79
+20
+40
+03
+68
+20
+20
+02
+75
+6f
+e0
+c5
+d5
+20
+7a
+00
+00
+6f
+e0
+c7
+b2
+20
+20
+33
+9c
+20
+40
+33
+be
+20
+40
+31
+19
+24
+77
+80
+00
+6f
+e0
+c6
+97
+1f
+e9
+7e
+00
+67
+e0
+c5
+89
+20
+40
+03
+95
+6f
+e0
+c7
+f5
+2f
+ef
+fe
+00
+20
+20
+b3
+fd
+20
+20
+33
+fa
+20
+40
+33
+be
+20
+40
+31
+19
+24
+37
+b3
+be
+20
+40
+03
+81
+20
+40
+03
+6d
+20
+40
+03
+66
+20
+40
+49
+3d
+6f
+e0
+c5
+ae
+20
+7a
+00
+00
+6f
+e2
+46
+2c
+20
+7a
+00
+00
+20
+20
+32
+36
+70
+46
+22
+05
+d8
+c0
+46
+97
+d8
+a0
+47
+af
+20
+40
+7c
+89
+20
+20
+33
+22
+20
+40
+31
+7d
+67
+e0
+c6
+97
+c5
+13
+83
+8e
+6f
+e0
+c6
+97
+1f
+e9
+7e
+00
+68
+48
+c5
+89
+a8
+40
+0e
+00
+24
+20
+b1
+8c
+20
+40
+31
+7d
+e7
+e0
+80
+05
+1f
+e6
+7c
+44
+24
+21
+31
+8e
+1f
+e2
+72
+00
+20
+22
+b1
+54
+20
+20
+31
+51
+6f
+e0
+c6
+98
+67
+e0
+c5
+7d
+1f
+e0
+fe
+01
+d8
+c0
+46
+98
+98
+c0
+8c
+00
+ef
+e1
+80
+06
+67
+e1
+c5
+80
+6f
+e0
+c6
+97
+1f
+e1
+04
+01
+60
+48
+c7
+f5
+1f
+e3
+04
+00
+18
+41
+04
+03
+60
+48
+c5
+86
+1f
+e9
+7e
+00
+67
+e0
+c6
+97
+20
+60
+00
+00
+d8
+a0
+46
+97
+df
+20
+00
+46
+20
+20
+7c
+a1
+6f
+e0
+c6
+16
+c1
+83
+80
+00
+20
+40
+34
+76
+20
+40
+34
+ae
+20
+40
+03
+6a
+24
+37
+b3
+be
+20
+40
+35
+06
+20
+42
+83
+34
+20
+20
+34
+91
+20
+40
+32
+14
+6f
+e0
+c5
+7d
+20
+7a
+00
+00
+98
+00
+72
+00
+d8
+c0
+46
+99
+d8
+a0
+47
+69
+20
+20
+7c
+da
+6f
+e0
+c5
+88
+1f
+e0
+fe
+03
+67
+e0
+c5
+8a
+6f
+e0
+c5
+ac
+67
+e0
+c7
+23
+6f
+e0
+c5
+89
+1f
+e9
+fe
+00
+68
+48
+c5
+7e
+18
+41
+04
+03
+18
+43
+84
+00
+98
+41
+fe
+00
+68
+48
+c5
+7f
+98
+40
+fe
+00
+e7
+e0
+80
+05
+6f
+e0
+c5
+88
+e7
+e0
+80
+05
+6f
+e0
+c5
+88
+98
+00
+72
+00
+d8
+c0
+46
+dd
+20
+40
+7c
+da
+20
+20
+31
+fc
+c5
+17
+83
+d2
+6f
+e0
+c5
+ca
+24
+3a
+03
+d2
+78
+4e
+fc
+00
+78
+2d
+fc
+00
+78
+23
+fc
+00
+78
+24
+fc
+00
+6f
+e0
+c5
+8a
+98
+00
+72
+00
+d8
+c0
+47
+23
+20
+20
+31
+b3
+20
+40
+34
+02
+20
+40
+34
+07
+20
+40
+34
+2d
+20
+40
+48
+a3
+20
+40
+34
+69
+20
+40
+34
+88
+20
+40
+48
+67
+20
+40
+03
+e2
+20
+40
+03
+ee
+20
+20
+03
+d9
+d8
+40
+ff
+fe
+6f
+e1
+47
+f8
+98
+46
+7c
+00
+20
+61
+00
+00
+1f
+e0
+fe
+01
+67
+e1
+47
+f8
+d8
+40
+00
+00
+da
+60
+05
+dc
+9a
+66
+7c
+00
+79
+21
+04
+00
+60
+48
+c7
+fc
+20
+60
+00
+00
+d8
+40
+ff
+fe
+6f
+e1
+47
+fa
+98
+46
+7c
+00
+20
+61
+00
+00
+1f
+e0
+fe
+01
+67
+e1
+47
+fa
+d8
+40
+00
+00
+da
+60
+05
+dc
+9a
+66
+7c
+00
+79
+21
+04
+00
+60
+48
+c7
+fd
+20
+60
+00
+00
+6f
+e0
+89
+01
+20
+5a
+48
+b5
+20
+40
+79
+06
+6f
+e0
+88
+f7
+20
+7a
+00
+00
+70
+08
+f7
+00
+6f
+e0
+88
+75
+c0
+7b
+84
+3c
+c0
+7b
+04
+4a
+c0
+7a
+84
+1a
+c0
+79
+84
+3a
+c0
+7a
+04
+23
+c0
+76
+84
+34
+c0
+77
+04
+34
+c0
+77
+84
+34
+c0
+78
+04
+34
+c0
+78
+84
+34
+c0
+79
+04
+2a
+c0
+7e
+04
+4d
+c0
+7f
+04
+55
+c0
+3d
+04
+5b
+c0
+50
+04
+62
+c0
+50
+84
+78
+20
+20
+48
+75
+df
+20
+00
+41
+d8
+a0
+4a
+55
+20
+20
+7c
+a1
+70
+4a
+54
+01
+70
+46
+11
+08
+d8
+c0
+08
+75
+d8
+a0
+4a
+56
+20
+20
+7c
+da
+6f
+e0
+88
+76
+c1
+82
+80
+00
+20
+40
+04
+12
+70
+4a
+53
+05
+6f
+e0
+88
+77
+67
+e0
+c9
+4b
+70
+4a
+55
+04
+6f
+20
+ca
+55
+20
+20
+04
+15
+6f
+e0
+88
+76
+c1
+82
+80
+00
+20
+40
+04
+12
+6f
+e0
+88
+76
+67
+e0
+ca
+53
+70
+4a
+55
+04
+20
+20
+04
+21
+6f
+e0
+88
+76
+c0
+02
+84
+2e
+c0
+05
+04
+32
+20
+60
+00
+00
+20
+40
+04
+12
+70
+4a
+53
+05
+70
+4a
+55
+05
+20
+20
+04
+21
+70
+4a
+53
+0a
+20
+60
+00
+00
+6f
+e0
+88
+76
+c1
+82
+80
+00
+20
+40
+04
+12
+70
+4a
+53
+05
+70
+4a
+55
+0d
+20
+20
+04
+21
+70
+49
+50
+01
+20
+20
+04
+b4
+58
+00
+00
+64
+67
+e0
+c9
+d1
+58
+00
+00
+64
+67
+e0
+c9
+d2
+58
+00
+00
+00
+67
+e0
+c9
+d3
+58
+00
+00
+00
+67
+e0
+c9
+d4
+58
+00
+00
+01
+67
+e0
+c9
+d5
+6f
+e2
+45
+8f
+67
+e2
+49
+d8
+70
+09
+0c
+24
+20
+20
+04
+c3
+6f
+e0
+88
+76
+67
+e0
+ca
+53
+20
+60
+00
+00
+6f
+e0
+88
+76
+67
+e0
+ca
+53
+df
+20
+00
+40
+d8
+c0
+08
+b5
+d8
+a0
+49
+d1
+20
+40
+7c
+cc
+70
+09
+0c
+24
+20
+20
+04
+c3
+6f
+e0
+88
+76
+67
+e0
+ca
+12
+1f
+e2
+72
+00
+d8
+c0
+08
+77
+d8
+a0
+4a
+13
+20
+20
+7c
+cc
+70
+46
+16
+02
+70
+46
+15
+00
+6f
+e0
+88
+76
+67
+e0
+c7
+ff
+6f
+e0
+88
+77
+67
+e0
+c8
+00
+20
+60
+00
+00
+6f
+e0
+88
+76
+67
+e0
+c9
+8d
+6f
+e0
+88
+77
+67
+e0
+c9
+8e
+6f
+e0
+88
+78
+67
+e0
+c9
+8f
+6f
+e0
+88
+79
+67
+e0
+c9
+90
+1f
+e2
+72
+00
+d8
+c0
+08
+7d
+d8
+a0
+49
+91
+20
+40
+7c
+cc
+70
+4a
+53
+0a
+70
+4a
+96
+01
+70
+4a
+97
+a2
+70
+4a
+98
+0a
+6f
+e0
+c9
+90
+67
+e0
+ca
+99
+1f
+e2
+72
+00
+d8
+c0
+08
+7d
+d8
+a0
+4a
+9a
+20
+20
+7c
+da
+6f
+e0
+88
+76
+67
+e0
+c9
+8d
+6f
+e0
+88
+77
+67
+e0
+c9
+8e
+6f
+e0
+88
+78
+67
+e0
+c9
+8f
+df
+20
+00
+40
+d8
+c0
+4a
+d8
+d8
+a0
+49
+d1
+20
+40
+7c
+cc
+70
+09
+0c
+24
+20
+20
+04
+c3
+58
+00
+00
+00
+67
+e1
+47
+fa
+67
+e0
+c6
+11
+6f
+e0
+c7
+b1
+c2
+83
+04
+ae
+c2
+83
+84
+bb
+c2
+82
+84
+be
+6f
+e0
+c5
+7d
+1f
+e6
+7c
+09
+20
+22
+84
+9b
+20
+40
+04
+9b
+6f
+e0
+c5
+7d
+1f
+e0
+ff
+f8
+67
+e0
+c5
+7d
+1f
+e2
+72
+00
+d8
+a0
+47
+b1
+d8
+c0
+47
+b9
+20
+40
+7c
+da
+6f
+e0
+c7
+b1
+c2
+83
+04
+ae
+c2
+83
+84
+bb
+c2
+82
+84
+be
+20
+60
+00
+00
+58
+00
+00
+01
+67
+e0
+89
+13
+6f
+e3
+c7
+b2
+e7
+e3
+80
+05
+6f
+e0
+c7
+b2
+24
+5a
+48
+dd
+6f
+e0
+c7
+b2
+20
+5a
+48
+e1
+6f
+e3
+89
+14
+67
+e3
+c9
+43
+6f
+e0
+c9
+43
+68
+48
+c9
+4a
+67
+e0
+c9
+4a
+98
+46
+7c
+00
+24
+22
+84
+ac
+6f
+e3
+49
+44
+20
+7a
+00
+00
+70
+09
+0c
+20
+20
+20
+04
+c3
+6f
+e0
+c7
+b2
+68
+48
+c9
+4b
+67
+e0
+c9
+4b
+98
+46
+7c
+00
+20
+62
+80
+00
+70
+49
+50
+00
+70
+49
+4c
+40
+70
+49
+4d
+a1
+70
+49
+4e
+05
+6f
+e0
+c9
+4b
+67
+e0
+c9
+4f
+70
+09
+0c
+23
+20
+20
+04
+c3
+6f
+e0
+c7
+b2
+67
+e0
+c7
+f7
+20
+60
+00
+00
+6f
+e0
+ca
+54
+20
+7a
+00
+00
+70
+4a
+54
+00
+70
+46
+11
+08
+20
+60
+00
+00
+6f
+e0
+89
+0e
+20
+7a
+00
+00
+da
+20
+49
+3b
+20
+40
+7d
+a5
+24
+7a
+00
+00
+6f
+e0
+89
+0c
+67
+e0
+86
+6f
+da
+20
+49
+3b
+20
+20
+7d
+8b
+6f
+e0
+c7
+b1
+c2
+83
+04
+e5
+c2
+82
+84
+e0
+6f
+e0
+c7
+b2
+c0
+00
+04
+d4
+c0
+01
+04
+da
+c0
+01
+84
+dd
+20
+20
+33
+be
+6f
+e0
+c7
+b4
+67
+e0
+c6
+11
+70
+47
+b4
+00
+d8
+a0
+09
+23
+d8
+c0
+47
+b3
+20
+20
+48
+ef
+d8
+a0
+09
+43
+d8
+c0
+47
+b2
+20
+20
+49
+1f
+d8
+a0
+09
+33
+d8
+c0
+47
+b2
+20
+20
+49
+07
+6f
+e0
+ca
+96
+20
+7a
+00
+00
+70
+4a
+96
+00
+70
+46
+11
+08
+20
+60
+00
+00
+6f
+e0
+c7
+b0
+1f
+e0
+ff
+ff
+1f
+e2
+72
+00
+6f
+e1
+4b
+79
+20
+5a
+04
+f0
+24
+5a
+04
+f2
+d8
+c0
+47
+b2
+20
+40
+7c
+cc
+18
+a2
+7e
+00
+67
+e1
+4b
+79
+20
+60
+00
+00
+d8
+a0
+4a
+d8
+20
+60
+00
+00
+6f
+e1
+4b
+79
+1f
+e2
+0a
+00
+20
+60
+00
+00
+da
+20
+00
+00
+ef
+e0
+80
+06
+9a
+20
+a2
+00
+c2
+00
+04
+f6
+1a
+21
+22
+ff
+20
+60
+00
+00
+6f
+e0
+c6
+68
+20
+7a
+00
+00
+d8
+e0
+00
+0d
+20
+40
+7c
+ef
+24
+7a
+00
+00
+70
+46
+68
+00
+58
+00
+00
+01
+67
+e0
+89
+13
+58
+00
+00
+00
+e7
+e3
+80
+05
+70
+09
+0c
+20
+20
+20
+04
+c3
+af
+13
+aa
+55
+40
+00
+00
+40
+05
+00
+32
+07
+00
+00
+80
+67
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+02
+00
+20
+00
+00
+14
+00
+00
+00
+c0
+45
+00
+00
+00
+00
+00
+00
+02
+00
+20
+00
+00
+00
+c0
+2c
+00
+36
+0d
+00
+08
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+aa
+55
+01
+00
+cb
+43
+04
+aa
+55
+01
+00
+ec
+44
+ff
+aa
+55
+01
+00
+1c
+02
+5a
+aa
+55
+01
+00
+69
+46
+10
+aa
+55
+01
+00
+94
+46
+03
+aa
+55
+18
+00
+6a
+46
+01
+51
+31
+20
+10
+51
+31
+20
+30
+01
+0d
+32
+2e
+34
+47
+20
+52
+65
+63
+65
+69
+76
+65
+72
+aa
+55
+01
+00
+95
+46
+94
+aa
+55
+06
+00
+f1
+44
+20
+17
+85
+74
+12
+23
+aa
+55
+02
+00
+8b
+45
+78
+69
+aa
+55
+02
+00
+0f
+46
+1e
+00
+aa
+55
+01
+00
+fe
+47
+01
+aa
+55
+43
+00
+f5
+48
+42
+09
+02
+42
+00
+02
+01
+00
+a0
+32
+09
+04
+00
+00
+01
+03
+01
+01
+00
+09
+21
+00
+02
+00
+01
+22
+3f
+00
+07
+05
+81
+03
+40
+00
+02
+09
+04
+01
+00
+02
+03
+01
+02
+00
+09
+21
+00
+02
+00
+01
+22
+a3
+00
+07
+05
+82
+03
+40
+00
+02
+07
+05
+02
+03
+40
+00
+02
+aa
+55
+a4
+00
+41
+48
+a3
+05
+01
+09
+02
+a1
+01
+85
+01
+09
+01
+a1
+00
+05
+09
+19
+01
+29
+05
+15
+00
+25
+01
+95
+05
+75
+01
+81
+02
+95
+01
+75
+03
+81
+01
+05
+01
+09
+30
+09
+31
+16
+01
+f8
+26
+ff
+07
+75
+10
+95
+02
+81
+06
+09
+38
+15
+81
+25
+7f
+75
+08
+95
+01
+81
+06
+05
+0c
+0a
+38
+02
+95
+01
+81
+06
+c0
+c0
+05
+01
+09
+80
+a1
+01
+85
+02
+05
+01
+19
+81
+29
+88
+15
+00
+25
+01
+95
+08
+75
+01
+81
+06
+c0
+05
+0c
+09
+01
+a1
+01
+85
+03
+15
+00
+26
+80
+03
+19
+00
+2a
+80
+03
+75
+10
+95
+01
+81
+00
+c0
+06
+a1
+ff
+09
+02
+a1
+01
+85
+a1
+95
+3f
+75
+08
+26
+ff
+00
+15
+00
+09
+01
+81
+02
+85
+a2
+95
+3f
+75
+08
+26
+ff
+00
+15
+00
+09
+01
+b1
+02
+c0
+aa
+55
+40
+00
+7b
+4b
+3f
+05
+01
+09
+06
+a1
+01
+75
+01
+95
+08
+05
+07
+19
+e0
+29
+e7
+15
+00
+25
+01
+81
+02
+95
+01
+75
+08
+81
+03
+95
+05
+75
+01
+05
+08
+19
+01
+29
+05
+91
+02
+95
+01
+75
+03
+91
+03
+95
+06
+75
+08
+15
+00
+25
+03
+05
+07
+19
+00
+29
+ff
+81
+00
+c0
+aa
+55
+01
+00
+48
+41
+0c
+aa
+55
+06
+00
+c3
+40
+35
+3f
+64
+db
+7b
+3b
+aa
+55
+01
+00
+a7
+40
+20
+aa
+55
+03
+00
+c9
+40
+00
+08
+a5
+aa
+55
+01
+00
+99
+40
+18
+aa
+55
+01
+00
+1c
+41
+3e
+aa
+55
+0c
+00
+16
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+aa
+55
+05
+00
+5e
+41
+08
+0e
+05
+03
+00
+aa
+55
+01
+00
+68
+41
+20
+aa
+55
+02
+00
+9a
+40
+00
+0c
+aa
+55
+05
+00
+43
+41
+ff
+04
+00
+00
+08
+aa
+55
+01
+00
+07
+44
+01
+aa
+55
+01
+00
+09
+44
+0a
+aa
+55
+01
+00
+08
+44
+00
+aa
+55
+01
+00
+11
+44
+00
+aa
+55
+04
+00
+0d
+44
+00
+07
+ff
+07
+aa
+55
+01
+00
+38
+44
+a0
+aa
+55
+02
+00
+3b
+44
+bc
+02
+aa
+55
+02
+00
+39
+44
+90
+01
+aa
+55
+02
+00
+3d
+44
+03
+09
+aa
+55
+01
+00
+49
+41
+ff
+aa
+55
+02
+00
+9c
+40
+49
+41
+55
+aa
+aa
+55
+54
+90
+15
+f2
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+d4
+ed
Index: output/memmap.format
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/output/memmap.format	(nonexistent)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/output/memmap.format	(working copy)
@@ -0,0 +1,2486 @@
+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_current_context
+0x0007 mem_le_ch_mapped
+0x0008 mem_last_freq
+0x0009 mem_rssi
+0x000a mem_context_ptr
+0x000c mem_rx_window
+0x000e mem_lpm_adjust
+0x000f mem_sync_clke
+0x0015 mem_lpm_current_mult
+0x0016 mem_gpio_wakeup_cfg
+0x0022 mem_clkn_bt
+0x0026 mem_clke_bt
+0x002a mem_dpll_clkn
+0x002e mem_slot_offset
+0x0030 mem_loadcode_times
+0x0031 mem_select_list_item
+0x0032 mem_temp_reconn_record
+0x0032 mem_record_bt_mode
+0x0033 mem_list_item_ptr
+0x0035 mem_rssi_hex
+0x0036 mem_param_tx_setup
+0x0038 mem_param_rf_setup
+0x003a mem_param_conn_access
+0x003c mem_param_clke_cal
+0x003e mem_param_pll_setup
+0x0040 mem_param_rx_setup
+0x0042 mem_param_dpll_start_delay
+0x0044 mem_param_rt_rthalfslot
+0x0046 mem_param_clke_cal_le_1m
+0x0048 mem_param_clke_cal_le_2m
+0x004a mem_param_clke_cal_le_coded
+0x004c mem_le_rxbuf
+0x0150 mem_le_mic
+0x0154 mem_le_peer_mic
+0x0158 mem_le_mrand
+0x0168 mem_le_state
+0x0169 mem_le_mode
+0x016a mem_le_tsniff
+0x016c mem_le_anchor
+0x0170 mem_le_clk_offset
+0x0176 mem_le_receive_window
+0x0178 mem_le_plap
+0x017e mem_le_conn_handle
+0x017f mem_le_arq
+0x0180 mem_le_ch
+0x0181 mem_le_hop
+0x0182 mem_le_event_count
+0x0184 mem_le_supervision_timer
+0x0188 mem_le_instant
+0x018a mem_le_channels
+0x018b mem_le_op
+0x018c mem_le_access
+0x0190 mem_le_crcinit
+0x0193 mem_le_window_size
+0x0194 mem_le_slave_latency
+0x0196 mem_le_superto
+0x0198 mem_le_channel_map
+0x019d mem_le_rx_phy
+0x019e mem_le_tx_phy
+0x019f mem_le_update_new_param
+0x01a8 mem_le_sk
+0x01b8 mem_le_peer_sca
+0x01b9 mem_le_err_code
+0x01ba mem_le_ll_pairing_fail_reason
+0x01bb mem_le_testtype
+0x01bc mem_cmd_le_create_conn
+0x01bd memresult
+0x01bd mem_sp_calc_result
+0x01bd memh
+0x01c1 memg
+0x01c5 memf
+0x01c9 meme
+0x01cd mem_sp_calc_result_high
+0x01cd memd
+0x01d1 memc
+0x01d5 memb
+0x01d9 mema
+0x01dd mem_ucode_status
+0x01de mem_spid_tbuf
+0x01df mem_iicd_tbuf
+0x01df mem_addr_hi
+0x01e0 mem_addr_mi
+0x01e1 mem_addr_lo
+0x01e2 mem_iicd_addr
+0x01e3 mem_spid_rbuf
+0x01e7 mem_ucode_buf
+0x01e9 mem_ucode_len
+0x01eb mem_sched_addr
+0x01ed mem_ucode_keybuf
+0x01fd mem_otp_temp
+0x021d mem_app_evt_timer_count
+0x021e mem_input_store
+0x022e mem_ec_loopc
+0x0230 mem_aes_cmac_data_length
+0x0231 mem_dat
+0x0291 mem_ax_256//32 bytes
+0x02b1 mem_ay_256// 32 bytes
+0x02d1 mem_az_256// 32 bytes
+0x02f1 mem_bx_256// 32 bytes
+0x0311 mem_by_256// 31 bytes
+0x0331 mem_bz_256//32 bytes
+0x0331 mem_tmp1
+0x0331 memahbak
+0x0349 mem_tmp5
+0x0351 mem_cx_256//32 bytes
+0x0371 mem_cy_256// 32 bytes
+0x0390 mem_cy5_256// 1 byte
+0x0391 mem_cz_256// 32 bytes
+0x03b1 mem_k_256//32 bytes
+0x03d1 mem_tmp1_256//32 bytes
+0x03f1 mem_tmp5_256
+0x0411 mem_tmp2_256
+0x0431 mem_tmp3_256
+0x0431 mem_t1_256
+0x0451 mem_tmp0_256
+0x0451 mem_t0_256
+0x0471 mem_t2_256
+0x0491 mem_t3_256
+0x04b1 mem_t7_256
+0x04d1 mem_p
+0x04e9 mem_a
+0x0501 mem_b
+0x0519 mem_gx
+0x0531 mem_gy
+0x0549 memh0
+0x0569 mem_p_256
+0x0589 mem_a_256
+0x05a9 mem_gx_256
+0x05c9 mem_gy_256
+0x05e9 mem_le_slat
+0x05f9 mem_sp_state_start
+0x05f9 mem_sp_dhkey_invalid
+0x05fa mem_gkey
+0x05fe mem_sp_state_end
+0x05fe mem_le_pubkey_remote_x_256
+0x061e mem_le_pubkey_remote_y_256
+0x063e mem_le_dhkey_256
+0x065e mem_sp_confirm_remote
+0x066e mem_ipc_skip_continue_proc
+0x066f mem_fifo_temp
+0x0670 mem_pdatatemp
+0x0678 mem_temp//8 bytes
+0x0680 mem_timeup// 4 bytes
+0x0684 mem_rega//4 bytes
+0x0688 mem_regb//4 bytes
+0x068c mem_regc//3 bytes
+0x068f mem_contr//2 bytes
+0x0691 mem_contw//2 bytes
+0x0693 mem_contus
+0x0695 mem_contue
+0x0697 mem_contu
+0x0699 mem_queue
+0x069b mem_loopcnt
+0x069d mem_saved_gpio_in
+0x06a1 mem_module_rx_error_data_buffer
+0x06a1 mem_le_adv_channel_map_temp
+0x06a1 mem_le_data_len_temp//1byte
+0x06a1 mem_event_cmd_response_content//2byte
+0x06a1 mem_le_prand//16byte
+0x06a1 mem_AES_CMAC_k//16 bytes
+0x06a1 mem_regext_index//1 bytes
+0x06a1 mem_temp_block0
+0x06a2 mem_le_data_temp//15bytes
+0x06a2 mem_temp_block1
+0x06b1 mem_le_tx_buf_temp//48byte
+0x06b1 mem_le_aes_128//16byte
+0x06b1 mem_regext//64 bytes
+0x06b1 mem_AES_CMAC_k1//16 bytes
+0x06b1 mem_temp_block2
+0x06c1 mem_AES_CMAC_k2//16 bytes
+0x06c1 mem_temp_block3
+0x06d1 mem_AES_CMAC_temp// 16 bytes
+0x06d1 mem_temp_block4
+0x06e1 mem_AES_CMAC_M_last// 16 bytes
+0x06e1 mem_module_uart_cmd
+0x06e2 mem_module_uart_opcode
+0x06e3 mem_module_uart_len
+0x06e4 mem_module_temp_nl_discard_packet
+0x06e5 mem_temp_block5
+0x06f1 mem_le_mackey//16 bytes
+0x06f1 mem_app_receive_temp
+0x06f1 mem_key_value_temp
+0x06f3 mem_key_value
+0x06f5 mem_key_value_temp1
+0x06f6 mem_key_value_temp2
+0x06f7 mem_key_value_temp3
+0x06f8 mem_key_value_temp4
+0x06f9 mem_key_value_temp5
+0x06fa mem_key_value_temp6
+0x06fb mem_temp_block6
+0x0701 mem_scale_ratio
+0x0704 mem_xcnt
+0x0707 mem_scale_ratio_temp
+0x0709 mem_mesh_receive_model_message_payload_len
+0x070a mem_mesh_receive_model_message_payload_opcode
+0x070b mem_mesh_receive_model_message_payload
+0x0722 mem_mesh_access_layer_payload_len
+0x0723 mem_mesh_access_layer_payload
+0x0723 mem_mesh_access_payload
+0x0755 mem_mesh_access_payload_padding//为了透传模块预留
+0x0787 mem_mesh_queue_ele_temp
+0x0787 mem_mesh_queue_ele_duration
+0x0788 mem_mesh_queue_ele_gatt_msg_id
+0x0789 mem_mesh_queue_ele_len
+0x078a mem_mesh_queue_ele_payload
+0x07a9 mem_mesh_queue_ele_padding
+0x07aa mem_le_txheader_mesh_temp
+0x07d1 mem_mesh_sha256_chunk_start
+0x07d1 mem_mesh_sha256_chunk1
+0x0811 mem_mesh_sha256_chunk2
+0x0851 mem_mesh_sha256_chunk3
+0x0891 mem_mesh_sha256_chunk4
+0x08d1 mem_mesh_Privacy_Plaintext
+0x08d1 mem_mesh_Privacy_Plaintext_Zero_String
+0x08d6 mem_mesh_Privacy_Plaintext_IV_Index
+0x08da mem_mesh_Privacy_Plaintext_Privacy_Random
+0x08da mem_mesh_Privacy_Plaintext_Privacy_Random_EncDST
+0x08dc mem_mesh_Privacy_Plaintext_Privacy_Random_EncTransportPDU_or_NetMIC
+0x08e1 mem_mesh_PECB
+0x08f1 mem_nonce_ptr
+0x08f3 mem_ccm_data_len
+0x08f4 mem_ccm_data_ptr
+0x08f6 mem_ccm_mic
+0x08fe mem_ccm_type
+0x08ff mem_mesh_Device_UUID
+0x090f mem_mesh_receive_VID
+0x0910 mem_mesh_mic_cache_ptr
+0x0912 mem_adv_CRC_False_initValue
+0x0914 mem_CRC16_polynomial
+0x0916 mem_mesh_lower_transport_layer_payload_len
+0x0917 mem_mesh_loopcnt_tmep
+0x0919 mem_mesh_rega_temp
+0x091b mem_mesh_regb_temp
+0x091d mem_mesh_regc_temp
+0x091f mem_mesh_alarm_temp
+0x0921 mem_mesh_message_Transport_NetMIC_length
+0x0922 mem_mesh_message_NID
+0x0923 mem_mesh_message_TTL
+0x0924 mem_mesh_message_SEQ
+0x0927 mem_mesh_message_SRC
+0x0929 mem_mesh_message_DST
+0x092b mem_mesh_message_Proxy_TransportPDU_opcode
+0x092b mem_mesh_message_Transport_NetMIC
+0x092b mem_mesh_message_Transport_Head
+0x092c mem_mesh_message_Proxy_TransportPDU_Parameters
+0x092c mem_mesh_message_Transport_unsegmented_access_messagePDU
+0x092c mem_mesh_message_Transport_segmented_access_messagePDU
+0x092c mem_mesh_message_segment_access_SZMIC_SeqZero_SegO_SegN
+0x092f mem_mesh_message_Transport_segmented_access_messagePDU_Segment
+0x092f mem_mesh_message_Transport_NetMIC_end
+0x093f mem_mesh_nonce_struct
+0x094c mem_mesh_send_message_DST
+0x094e mem_mesh_last_message_SEQ
+0x0951 mem_mesh_network_packet_type
+0x0952 mem_mesh_receive_message_count
+0x0953 mem_mesh_receive_message_first_unicast_address
+0x0955 mem_mesh_receive_message_second_unicast_address
+0x0957 mem_mesh_receive_message_third_unicast_address
+0x0959 mem_mesh_receive_message_fourth_unicast_address
+0x095b mem_mesh_Proxy_Nonce
+0x095b mem_mesh_Proxy_Nonce_Nonce_Type
+0x095c mem_mesh_Proxy_Nonce_Pad
+0x095d mem_mesh_Proxy_Nonce_SEQ
+0x0960 mem_mesh_Proxy_Nonce_SRC
+0x0962 mem_mesh_Proxy_Nonce_Pad2
+0x0964 mem_mesh_Proxy_Nonce_IV_Index
+0x0968 mem_mesh_white_list
+0x0978 mem_mesh_white_list_num
+0x097a mem_mesh_addressed_filter_type
+0x097b mem_mesh_upper_transport_layer_payload_ptr
+0x097d mem_mesh_segmented_upper_transport_layer_payload_len
+0x097e mem_mesh_segmented_lower_transport_layer_SegZero
+0x0980 mem_mesh_segmented_lower_transport_layer_SegO
+0x0981 mem_mesh_segmented_lower_transport_layer_SegN
+0x0982 mem_mesh_segmented_last_packet_upper_teansport_payload_len
+0x0983 mem_mesh_upper_tran_layer_queue_temp
+0x0983 mem_mesh_upper_tran_layer_temp_packet_flag
+0x0984 mem_mesh_upper_tran_layer_temp_packet_transmit_delay
+0x0986 mem_mesh_upper_tran_layer_temp_packet_TID
+0x0987 mem_mesh_upper_tran_layer_temp_packet_header_IVI_NID
+0x0988 mem_mesh_upper_tran_layer_temp_packet_header_CTL_TTL
+0x0989 mem_mesh_upper_tran_layer_temp_packet_header_SEQ
+0x098c mem_mesh_upper_tran_layer_temp_packet_header_SRC
+0x098e mem_mesh_upper_tran_layer_temp_packet_header_DST
+0x0990 mem_mesh_upper_tran_layer_temp_packet_length
+0x0991 mem_mesh_upper_tran_layer_temp_packet_payload
+0x09fd mem_mesh_network_dup_cache
+0x0a3d mem_mesh_network_msg_cache
+0x0a8d mem_mesh_network_relay_gatt_queue_each_size
+0x0a8e mem_mesh_network_relay_gatt_queue_length
+0x0a8f mem_mesh_network_relay_gatt_queue_current_num
+0x0a90 mem_mesh_network_relay_gatt_queue_read_ptr
+0x0a91 mem_mesh_network_relay_gatt_queue_write_ptr
+0x0a92 mem_mesh_network_relay_gatt_queue_ele
+0x0709 mem_hci_opcode_ocf
+0x070b mem_hci_opcode_ogf
+0x070c mem_hci_event_head_type
+0x070d mem_hci_event_head_event_code
+0x070e mem_hci_event_para_total_length
+0x070f mem_hci_command_complete_num_hci_command_packet
+0x0710 mem_hci_command_complete_command_opcode
+0x0710 mem_hci_opcode
+0x0712 mem_hci_command_complete_return_parameter
+0x0712 mem_hci_command_complete_return_parameter_status
+0x0713 mem_hci_command_complete_return_parameter_chip_id
+0x0709 mem_module_le_rx_data_len
+0x070b mem_module_le_rx_data_address
+0x070d mem_module_le_rx_data_handle
+0x0709 mem_init_cnt
+0x070b mem_data_pre
+0x070d mem_data_current
+0x070f mem_data_sum
+0x0712 mem_data_value
+0x0709 mem_le_test_sync
+0x070b mem_le_test_pcnt
+0x070d mem_tst_pktcnt_crc
+0x070f mem_tst_pktcnt_dmh
+0x0711 mem_tmp_buffer_head
+0x0714 mem_tmp_buffer
+0x0709 mem_usb_status
+0x070b mem_usb_fifo_empty
+0x070c mem_usb_read_len
+0x070e mem_usb_txbuf
+0x074f mem_usb_txbuf1
+0x0759 mem_usb_txbuf2
+0x0763 mem_usb_rxbuf
+0x07a3 mem_usb_rxbuf_end
+0x07a4 mem_bufptr
+0x07a6 mem_remain
+0x07a7 mem_hidreportdesc_kb
+0x07a9 mem_hidreportdesc_m
+0x07ab mem_devicedesc
+0x07be mem_confdesc
+0x07fa mem_string0
+0x07ff mem_string1
+0x081d mem_string2
+0x083b mem_string3
+0x0859 mem_cb_usb_config
+0x085b mem_usb_tx_interval
+0x085c mem_usb_vid_pid
+0x0865 mem_usb_zero_packet
+0x0867 mem_usb_ones_packet
+0x0869 mem_usb_two_packet
+0x086b mem_usb0_state
+0x086c mem_usb_offline_check_gpio
+0x086d mem_usb_clear_mem_start
+0x086d mem_usb_setup
+0x086d mem_usb_setup_bmRequestType
+0x086e mem_usb_setup_bRequest
+0x086f mem_usb_setup_bValue
+0x0870 mem_usb_setup_bValueH
+0x0871 mem_usb_setup_wIndex
+0x0873 mem_usb_setup_bLength
+0x0874 mem_usb_setup_bLengthH
+0x0875 mem_usb0_set_report_data
+0x08b5 mem_usb0_get_report_data
+0x08f5 mem_usb_setup_bValue_temp
+0x08f7 mem_usb0_get_set_report
+0x08f8 mem_usb0_data_ready_report
+0x08f9 mem_usb_tx_win_enable
+0x08fa mem_usb_tx_mac_enable
+0x08fb mem_usb_idle_flag
+0x08fc mem_usb_idle_rate
+0x08fd mem_usb_get_protocol_flag
+0x08fe mem_usb_set_protocol_status
+0x08ff mem_usb_set_protocol_value
+0x0900 mem_usb_state
+0x0901 mem_usb_remote_wakeup
+0x0902 mem_usb_clear_remote_wakeup
+0x0903 mem_sdsystem_wakeup_flag
+0x0904 mem_usb_ep0_stall_status
+0x0905 mem_usb_ep1_stall_status
+0x0906 mem_usb_ep2_stall_status
+0x0907 mem_usb_ep3_stall_status
+0x0908 mem_dsc_info_data_pointer
+0x090a mem_dsc_info_len
+0x090b mem_usb_ep1_data
+0x090c mem_usb_ep2_data
+0x090d mem_usb_tx_enable
+0x090e mem_usb_device_enumeration_endflag
+0x090f mem_usb_wakestate_onetime_flag
+0x0910 mem_usb_mac_wakeup_trig
+0x0911 mem_usb_set_high_addr_flag
+0x0912 mem_usb_clear_halt
+0x0913 mem_usb_mouse_data
+0x0923 mem_usb_kb_data
+0x0933 mem_usb_kb_multikey
+0x0943 mem_usb_kb_system
+0x0953 mem_usb_test_cnt
+0x0955 mem_usb_test_kb
+0x095f mem_usb_clear_mem_end
+0x095f mem_usb_ccid_buf
+0x099f mem_dg_rssi_noise_buffer
+0x0a9f mem_dg_rssi_noise_dg_buffer
+0x0b9f mem_dg_rssi_noise_ms_buffer
+0x0c9f mem_dg_rssi_noise_kb_buffer
+
+0x019f mem_le_new_param
+0x019f mem_le_new_transmitwindowsize
+0x01a0 mem_le_new_transmitwindowoffset
+0x01a2 mem_le_new_conninterval
+0x01a4 mem_le_new_connslavelatency
+0x01a6 mem_le_new_connsupervisiontimeout
+0x019f mem_le_new_map
+0x019f mem_le_new_m2s_phy
+0x01a0 mem_le_new_s2m_phy
+0x004c mem_le_rxbuf_data_header
+0x004d mem_le_rxbuf_data_length
+0x004e mem_le_rxbuf_data_payload
+0x004c mem_le_rxbuf_data_ll_header
+0x004d mem_le_rxbuf_data_ll_length
+0x004e mem_le_rxbuf_data_ll_opcode
+0x004f mem_le_rxbuf_data_ll_control_data
+0x004c mem_le_rxbuf_adv_header
+0x004d mem_le_rxbuf_adv_length
+0x004e mem_le_rxbuf_adv_payload
+0x004c mem_le_rxbuf_adv_scan_req_header
+0x004d mem_le_rxbuf_adv_scan_req_length
+0x004e mem_le_rxbuf_adv_scan_req_scan_address
+0x0054 mem_le_rxbuf_adv_scan_req_adv_address
+0x004c mem_le_rxbuf_adv_connect_ind_header
+0x004d mem_le_rxbuf_adv_connect_ind_length
+0x004e mem_le_rxbuf_adv_connect_ind_init_address
+0x0054 mem_le_rxbuf_adv_connect_ind_adv_address
+0x005a mem_le_rxbuf_adv_connect_ind_access_address
+0x005e mem_le_rxbuf_adv_connect_ind_crc_init
+0x0061 mem_le_rxbuf_adv_connect_ind_win_size
+0x0062 mem_le_rxbuf_adv_connect_ind_win_offset
+0x0064 mem_le_rxbuf_adv_connect_ind_interval
+0x0066 mem_le_rxbuf_adv_connect_ind_latency
+0x0068 mem_le_rxbuf_adv_connect_ind_timeout
+0x006a mem_le_rxbuf_adv_connect_ind_channel_map
+0x006f mem_le_rxbuf_adv_connect_ind_hop_and_sca
+0x06b1 mem_le_search_handle_start
+0x06b3 mem_le_search_handle_end
+0x06b5 mem_le_att_offset
+0x06b5 mem_le_search_att_type_length
+0x06b6 mem_le_search_att_type
+0x06c6 mem_le_curr_att_len
+0x06c7 mem_le_cur_attlist_start_ptr
+0x06c9 mem_le_cur_handle_start
+0x06cb mem_le_cur_handle_end
+0x06cd mem_le_cur_uuid_length
+0x06ce mem_le_cur_uuid
+0x06de mem_le_cur_handle
+0x004c mem_le_rxbuf_data_att_header
+0x004d mem_le_rxbuf_data_att_length
+0x004e mem_le_rxbuf_data_att_l2cap_length
+0x0050 mem_le_rxbuf_data_att_cid
+0x0052 mem_le_rxbuf_data_att_opcode
+0x0053 mem_le_rxbuf_data_att_payload
+0x004c mem_le_rxbuf_data_continue_header
+0x004d mem_le_rxbuf_data_continue_length
+0x004e mem_le_rxbuf_data_continue_payload
+0x004c mem_le_rxbuf_data_att_write_header
+0x004d mem_le_rxbuf_data_att_write_length
+0x004e mem_le_rxbuf_data_att_write_l2cap_length
+0x0050 mem_le_rxbuf_data_att_write_cid
+0x0052 mem_le_rxbuf_data_att_write_opcode
+0x0053 mem_le_rxbuf_data_att_write_handle
+0x0055 mem_le_rxbuf_data_att_write_payload
+0x004c mem_le_rxbuf_data_prepare_att_write_header
+0x004d mem_le_rxbuf_data_prepare_att_write_length
+0x004e mem_le_rxbuf_data_prepare_att_write_l2cap_length
+0x0050 mem_le_rxbuf_data_prepare_att_write_cid
+0x0052 mem_le_rxbuf_data_prepare_att_write_opcode
+0x0053 mem_le_rxbuf_data_prepare_att_write_handle
+0x0055 mem_le_rxbuf_data_prepare_att_write_offset
+0x0057 mem_le_rxbuf_data_prepare_att_write_payload
+0x070b mem_mesh_NETKeyindex_and_APPKeyindex
+0x070e mem_mesh_receive_application_key
+0x070b mem_mesh_vendor_message_cid
+0x070d mem_mesh_vendor_message_tid
+0x070e mem_mesh_vendor_message_attr_type
+0x070b mem_mesh_vendor_message_header
+0x0710 mem_mesh_vendor_attr_parameter
+0x070b mem_mesh_vendor_message_delay_close_time_header
+0x0710 mem_mesh_vendor_delay_close_time
+0x070b mem_mesh_vendor_message_night_light_onoff_header
+0x0710 mem_mesh_vendor_night_light_onoff
+0x070b mem_mesh_vendor_message_color_header
+0x0710 mem_mesh_vendor_color_lightness
+0x0712 mem_mesh_vendor_color_hue
+0x0714 mem_mesh_vendor_color_saturation
+0x070b mem_mesh_vendor_message_back_light_onoff_header
+0x0710 mem_mesh_vendor_back_light_onoff
+0x070b mem_mesh_vendor_message_main_light_onoff_header
+0x0710 mem_mesh_vendor_main_light_onoff
+0x070b mem_mesh_vendor_message_standby_brightness_header
+0x0710 mem_mesh_vendor_standby_brightness
+0x070b mem_mesh_vendor_message_current_time_header
+0x0710 mem_mesh_vendor_message_current_time
+0x0723 mem_mesh_access_layer_payload_vendor_command
+0x0724 mem_mesh_access_layer_payload_vendor_CID
+0x0726 mem_mesh_access_layer_payload_vendor_tid
+0x0727 mem_mesh_access_layer_payload_vendor_attr_type
+0x0729 mem_mesh_access_layer_payload_vendor_attr_parameter
+0x06a1 mem_mesh_subscription_eep_temp
+0x0787 mem_mesh_gatt_package_receive_msg_buffer_ptr
+0x0789 mem_mesh_gatt_package_receive_msg_buffer_temp
+0x0789 mem_mesh_gatt_package_receive_msg_id
+0x078b mem_mesh_gatt_package_receive_MAC
+0x078b mem_mesh_gatt_package_receive_msg_num
+0x078c mem_mesh_gatt_package_receive_msg_total_length
+0x078d mem_mesh_gatt_package_receive_msg_payload
+0x08ff mem_mesh_receive_service_uuid_company_id
+0x0901 mem_mesh_receive_service_uuid_vid
+0x0902 mem_mesh_receive_service_uuid_provisioning_type
+0x0903 mem_mesh_receive_service_uuid_mac
+0x0905 mem_mesh_receive_service_uuid_msg_id
+0x0906 mem_mesh_receive_service_uuid_package_num
+0x0907 mem_mesh_receive_service_uuid_length
+0x0908 mem_mesh_receive_service_uuid_payload_data
+0x07aa mem_mesh_fast_pair_packet_type
+0x070b mem_mesh_configuration_health_message_opcode
+0x070b mem_mesh_configuration_health_message_opcode_config_model_subscription
+0x070c mem_mesh_subscription_element_address
+0x070e mem_mesh_subscription_value_address
+0x0710 mem_mesh_subscription_model_identifier
+0x070b mem_mesh_configuration_health_message_opcode_config_model_subscription_ow//overwrite
+0x070c mem_mesh_subscription_element_address_ow
+0x070e mem_mesh_subscription_list_num_ow
+0x070f mem_mesh_subscription_value_address_start_ow
+0x07d1 mem_chip_clear_paired_info
+0x070b mem_mesh_module_message_opcode
+0x070b mem_mesh_module_message_opcode_onoff_set
+0x070c mem_mesh_generic_onoff_set_payload_OnOff
+0x070d mem_mesh_generic_onoff_set_payload_TID
+0x070e mem_mesh_generic_onoff_set_payload_Transition_Time
+0x070f mem_mesh_generic_onoff_set_payload_Delay
+0x070b mem_mesh_module_message_opcode_scene_recall
+0x070c mem_mesh_scene_recall_payload_scene_number
+0x070e mem_mesh_scene_recall_payload_TID
+0x070f mem_mesh_scene_recall_payload_Transition_Time
+0x0710 mem_mesh_scene_recall_payload_Delay
+0x070b mem_mesh_module_message_opcode_set_light_lightness
+0x070c mem_mesh_light_lightness_set_payload_lightness
+0x070e mem_mesh_light_lightness_set_payload_TID
+0x070f mem_mesh_light_lightness_set_payload_Transition_Time
+0x0710 mem_mesh_light_lightness_set_payload_Delay
+0x0711 mem_mesh_light_lightness_calc_lightness
+0x070b mem_mesh_module_message_opcode_set_light_ctl
+0x070c mem_mesh_CTL_Lightness
+0x070e mem_mesh_CTL_Temperature
+0x0710 mem_mesh_CTL_Delta_UV
+0x0712 mem_mesh_CTL_lightness_TID
+0x0713 mem_mesh_CTL_lightness_Transition_Time
+0x0714 mem_mesh_CTL_lightness_Delay
+0x0715 mem_mesh_CTL_calc_lightness
+0x0716 mem_mesh_CTL_calc_temperature
+0x093f mem_mesh_Network_Nonce
+0x093f mem_mesh_Network_Nonce_nonce_type
+0x0940 mem_mesh_Network_Nonce_CTL_and_TTL
+0x0941 mem_mesh_Network_Nonce_SEQ
+0x0944 mem_mesh_Network_Nonce_SRC
+0x0946 mem_mesh_Network_Nonce_Pad//0x0000
+0x0948 mem_mesh_Network_Nonce_IV_Index
+0x07aa mem_mesh_network_packet_type_temp
+0x07ab mem_mesh_message_NID_temp
+0x07ac mem_mesh_message_TTL_temp
+0x07ad mem_mesh_message_SEQ_temp
+0x07b0 mem_mesh_message_SRC_temp
+0x07b2 mem_mesh_message_DST_temp
+0x07b4 mem_mesh_message_Transport_PDU_temp
+0x093f mem_mesh_Application_Nonce
+0x093f mem_mesh_Application_Nonce_Nonce_Type
+0x0940 mem_mesh_Application_Nonce_ASZMIC_and_Pad//
+0x0941 mem_mesh_Application_Nonce_SEQ
+0x0944 mem_mesh_Application_Nonce_SRC
+0x0946 mem_mesh_Application_Nonce_DST
+0x0948 mem_mesh_Application_Nonce_IV_Index
+0x093f mem_mesh_Device_Nonce
+0x093f mem_mesh_Device_Nonce_Nonce_Type
+0x0940 mem_mesh_Device_Nonce_ASZMIC_and_Pad//
+0x0941 mem_mesh_Device_Nonce_SEQ
+0x0944 mem_mesh_Device_Nonce_SRC
+0x0946 mem_mesh_Device_Nonce_DST
+0x0948 mem_mesh_Device_Nonce_IV_Index
+0x0722 mem_mesh_upper_transport_layer_payload_len
+0x0991 mem_mesh_upper_tran_layer_temp_pakcet_AKF_AID
+0x0991 mem_mesh_upper_tran_layer_temp_unsegmented_pakcet_AKF_AID
+0x0992 mem_mesh_upper_tran_layer_temp_unsegmented_packet_fill
+0x0996 mem_mesh_upper_tran_layer_temp_pakcet_upper_tran_access_pdu
+0x0996 mem_mesh_upper_tran_layer_temp_unsegmented_pakcet_upper_tran_access_pdu
+0x0991 mem_mesh_upper_tran_layer_temp_segmented_pakcet_AKF_AID
+0x0992 mem_mesh_upper_tran_layer_temp_segmented_pakcet_SeqZero
+0x0994 mem_mesh_upper_tran_layer_temp_segmented_pakcet_SegO
+0x0995 mem_mesh_upper_tran_layer_temp_segmented_pakcet_SegN
+0x0996 mem_mesh_upper_tran_layer_temp_segmented_pakcet_upper_tran_access_pdu
+0x01fd mem_otp_adc
+0x0205 mem_otp_temp0
+0x020d mem_otp_core_ldo
+0x020e mem_otp_verf_bg
+0x020f mem_otp_charge_pump
+0x0210 mem_otp_dpll_ibais
+0x0211 mem_otp_temp1
+0x0219 mem_otp_hv_sel
+0x021a mem_otp_ldo_vsel
+0x021b mem_otp_load_delay
+0x021c mem_otp_load_check_sum
+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
+0x4093 mem_current_amaddr
+0x4094 mem_lpm_mode
+0x4095 mem_last_clkn
+0x4099 mem_fcomp_div
+0x409a mem_rx_window_sniff
+0x409c mem_rf_init_ptr
+0x409e mem_rf_rccal
+0x409f mem_handle_num
+0x40a0 mem_chip_functions
+0x40a2 mem_lpm_wake_lock
+0x40a4 mem_lpm_interval
+0x40a6 mem_lpm_overhead
+0x40a7 mem_lpm_hibernate_switch
+0x40a8 mem_sniff_unint_lost
+0x40a9 mem_sleep_counter
+0x40ad mem_sleep_counter_all
+0x40b1 mem_sleep_clkn
+0x40b7 mem_sniff_rcv
+0x40ba mem_sniff_lost
+0x40bd mem_clks_per_lpo
+0x40c0 mem_lpm_mult
+0x40c1 mem_lpm_mult_timeout
+0x40c2 mem_lpm_mult_cnt
+0x40c3 mem_lpm_xtalcnt
+0x40c4 mem_lpm_buckcnt
+0x40c5 mem_lpm_ldocnt
+0x40c6 mem_lpm_isogate
+0x40c7 mem_lpm_isogate_stage2
+0x40c8 mem_lpm_isogate_final
+0x40c9 mem_lpm_ldo_sel
+0x40ca mem_lpm_sysctl
+0x40cb mem_lpm_hv_sel
+0x40cc mem_saved_gpio
+0x40e4 mem_saved_gsel
+0x40e7 mem_saved_mark
+0x40ef mem_saved_spidctrl
+0x40f0 mem_patch_ptr
+0x40f2 mem_patch_len
+0x40f4 mem_timers
+0x4114 mem_hci_cmd
+0x4115 mem_hci_conn_handle
+0x4116 mem_hci_plap
+0x4119 mem_hci_puap
+0x411a mem_hci_pnap
+0x411c mem_xtal_c_sel
+0x411d mem_ghpc_table
+0x4135 mem_aac_res_table
+0x4141 mem_tx_power
+0x4142 mem_modem_rssi
+0x4143 mem_gain_fix
+0x4144 mem_gain_table
+0x4147 mem_gain_second_agc_en
+0x4148 mem_system_clk
+0x4149 mem_rf_init_data
+0x415b mem_otp_charge_pump_x
+0x415c mem_otp_dpll_ibais_x
+0x415d mem_xtal_freq
+0x415e mem_version
+0x415f mem_company_id
+0x4161 mem_sub_version
+0x4163 mem_le_dsniff
+0x4165 mem_le_conn_interval
+0x4167 mem_le_tx_ifs_defference
+0x4168 mem_le_tx2m_delay
+0x4169 mem_le_txheader
+0x416a mem_le_txlen
+0x416b mem_le_txpayload
+0x426b mem_le_name_len
+0x426c mem_le_name
+0x428a mem_le_ltk
+0x429a mem_ltk_exists
+0x429b mem_le_rconfirm
+0x42ab mem_le_srand
+0x42bb mem_le_iat
+0x42bc mem_le_rat
+0x42bd mem_le_preq
+0x42be mem_le_preq_iocap
+0x42bf mem_le_preq_oob
+0x42c0 mem_le_preq_auth
+0x42c1 mem_le_preq_max_keysize
+0x42c2 mem_le_preq_init_key_distribution
+0x42c3 mem_le_preq_resp_key_distribution
+0x42c4 mem_le_pres
+0x42c5 mem_le_pres_iocap
+0x42c6 mem_le_pres_oob
+0x42c7 mem_le_pres_auth
+0x42c8 mem_le_pres_max_keysize
+0x42c9 mem_le_pres_init_key_distribution
+0x42ca mem_le_pres_resp_key_distribution
+0x42cb mem_le_conn_param
+0x42cb mem_le_conn_peer_addr_type
+0x42cc mem_le_conn_peer_addr
+0x42d2 mem_le_conn_own_addr_type
+0x42d3 mem_le_interval_min
+0x42d5 mem_le_interval_max
+0x42d7 mem_le_latency
+0x42d9 mem_le_timeout
+0x42db mem_le_lap
+0x42de mem_le_uap
+0x42df mem_le_nap
+0x42e1 mem_le_local_mtu
+0x42e3 mem_le_remote_mtu
+0x42e5 mem_le_skdm
+0x42ed mem_le_skds
+0x42f5 mem_le_init_superto
+0x42f7 mem_ui_le_uuid_table
+0x42f9 mem_le_secure_connect_flag
+0x42fa mem_le_secure_connect_state
+0x42fb mem_le_sc_confirm_gkey_flag
+0x42fc mem_le_pairing_state
+0x42fd mem_le_enc_state
+0x42fe mem_le_pairing_mode
+0x42ff mem_le_tk
+0x4303 mem_le_ediv
+0x4305 mem_le_rand
+0x430d mem_le_irk
+0x431d mem_le_transmit_window
+0x4321 mem_le_configuration
+0x4322 mem_le_fixed_ltk
+0x4332 mem_le_pairing_handle
+0x4334 mem_le_packet_llid
+0x4335 mem_le_l2cap_size
+0x4337 mem_le_packet_len_recved
+0x4339 mem_le_payload_ptr
+0x433b mem_le_signaling_identifier
+0x433c mem_le_l2cap_signaling_conn_param_update_rsp_result
+0x433e mem_le_md_count
+0x433f mem_ble_l2cap_tx_buff0_ptr
+0x4341 mem_ble_l2cap_tx_buff_size_ptr
+0x4343 mem_le_scan_enable
+0x4344 mem_le_scan_interval
+0x4346 mem_le_scan_window
+0x4348 mem_le_adv_data_len
+0x4349 mem_le_adv_data
+0x4368 mem_le_scan_data_len
+0x4369 mem_le_scan_data
+0x4388 mem_le_adv_enable
+0x4389 mem_le_adv_param
+0x4389 mem_le_adv_interval
+0x438b mem_le_adv_type
+0x438c mem_le_adv_own_addr_type
+0x438d mem_le_adv_direct_addr
+0x4393 mem_le_adv_channel_map
+0x4394 mem_le_scan_params
+0x4394 mem_le_scan_type
+0x4395 mem_le_scan_own_addr_type
+0x4396 mem_le_l2cap_att_states
+0x4397 mem_le_att_opcode
+0x4398 mem_le_att_handle
+0x439a mem_le_search_res
+0x439b mem_le_notify_handle
+0x439d mem_le_search_uuid_length
+0x439e mem_le_search_uuid
+0x43ae mem_le_local_feature
+0x43b6 mem_le_tx_phys
+0x43b7 mem_le_rx_phys
+0x43b8 mem_remote_rx_max_octets
+0x43ba mem_remote_rx_max_time
+0x43bc mem_remote_tx_max_octets
+0x43be mem_remote_tx_max_time
+0x43c0 mem_local_rx_max_octets
+0x43c2 mem_local_rx_max_time
+0x43c4 mem_local_tx_max_octets
+0x43c6 mem_local_tx_max_time
+0x43c8 mem_ucode_ptr
+0x43ca mem_ucode_flag
+0x43cb mem_device_option
+0x43cc mem_peripheral_lock_flag
+0x43cd mem_bistfix_val
+0x43d3 mem_cb_check_wakelock
+0x43d5 mem_cb_before_hibernate
+0x43d7 mem_cb_before_lpm
+0x43d9 mem_cb_le_process
+0x43db mem_cb_idle_process
+0x43dd mem_cb_bb_event_process
+0x43df mem_cb_att_write
+0x43e1 mem_cb_ble_transmit
+0x43e3 mem_cb_event_timer
+0x43e5 mem_cb_bt_set_mult
+0x43e7 mem_cb_spi_flash_write_complate
+0x43e9 mem_cb_before_lpm_sleep
+0x43eb mem_eeprom_base
+0x43ed mem_wake_up_delay_timer
+0x43ee mem_app_connection_options
+0x43ef mem_app_disconn_reason
+0x43f1 mem_app_disconn_reason_flag
+0x43f3 mem_xrecord_mode
+0x43f4 mem_eeprom_block_size
+0x43f5 mem_spi_init_clk
+0x43f6 mem_spi_init_delay_time
+0x43f7 mem_spi_ncs_gpio
+0x43f8 mem_nv_data_ptr
+0x43fa mem_nv_data_number
+0x43fb mem_queue_ptr
+0x43fd mem_3v_adc_io_data
+0x43ff mem_2v_adc_hvin_data
+0x4401 mem_1v_adc_io_data
+0x4403 mem_3v_adc_hvin_data
+0x4405 mem_reference_voltage
+0x4407 mem_adc_config_flag
+0x4408 mem_adc_channel
+0x4409 mem_adc_clkdiv
+0x440a mem_adc_current_value
+0x440c mem_adc_power_flag//bit0:low power falg ; bit1:no power flag
+0x440d mem_adc_saddr_ptr
+0x440f mem_adc_eaddr_ptr
+0x4411 mem_adc_dma_enable
+0x4412 mem_adc_cal_c0
+0x4413 mem_adc_cal_c1
+0x4414 mem_adc_cal_c2
+0x4415 mem_adc_cal_c3
+0x4416 mem_adc_cal_c4
+0x4417 mem_adc_cal_c5
+0x4418 mem_adc_cal_c6
+0x4419 mem_spi_write_addr
+0x441c mem_spi_write_ptr
+0x441e mem_spi_write_len
+0x4420 mem_spi_write_flash_sm
+0x4421 mem_spi_cs_gpio
+0x4422 mem_spi_si_gpio
+0x4423 mem_spi_so_gpio
+0x4424 mem_spi_sclk_gpio
+0x4425 mem_spi_wp_gpio
+0x4426 mem_spi_hold_gpio
+0x4427 mem_eeprom_wp_gpio
+0x4428 mem_eeprom_scl_gpio
+0x4429 mem_eeprom_sda_gpio
+0x442a mem_kscan_ptr
+0x442c mem_key_num_ptr
+0x442c mem_keyscan_ptr
+0x442e mem_key_value_retention
+0x4430 mem_power_param_ptr
+0x4432 mem_seqi
+0x4433 mem_adc_cal_c7
+0x4433 mem_set_cdb_on
+0x4434 mem_syn_cal_ctrl
+0x4435 mem_nec_decode_error_value
+0x4436 mem_wdt_always_work
+0x4437 mem_power_ctrl_disable
+0x4438 mem_ring_ibias_trim
+0x4439 mem_ring_ibias_vtune_low
+0x443b mem_ring_ibias_vtune_high
+0x443d mem_ring_ibias_calc_adc_gpio
+0x443e mem_ring_ibias_calc_adc_channel
+0x443f mem_rf_debug_rx_gpio
+0x4440 mem_rf_debug_tx_gpio
+0x4441 mem_l2cap_xmem_start
+0x4441 mem_used_map
+0x4442 mem_tx_fifo0
+0x4442 mem_tx_fifo0_map
+0x4443 mem_tx_fifo0_ptr
+0x4445 mem_tx_fifo1
+0x4445 mem_tx_fifo1_map
+0x4446 mem_tx_fifo1_ptr
+0x4448 mem_tx_fifo2
+0x4448 mem_tx_fifo2_map
+0x4449 mem_tx_fifo2_ptr
+0x444b mem_tx_fifo3
+0x444b mem_tx_fifo3_map
+0x444c mem_tx_fifo3_ptr
+0x444e mem_tx_fifo_end
+0x444e mem_l2cap_lpm_txbuf_ptr
+0x4450 mem_l2cap_xmem_end
+0x4450 mem_ccm_pcnt_tx
+0x4455 mem_ccm_pcnt_rx
+0x445a mem_ccm_last_mic
+0x445e mem_ccm_iv
+0x445e mem_ccm_ivm
+0x4462 mem_ccm_ivs
+0x4466 mem_ccm_len
+0x4468 mem_ccm_rx_ptr
+0x446a mem_sc_only_mode
+0x446b mem_sp_debug_mode
+0x446c mem_secure_connections_enable
+0x446d mem_sc_calc
+0x446e mem_sc_local_key_invalid
+0x446f mem_sc_private_key_256
+0x448f mem_sc_pubkey_local_x_256
+0x44af mem_sc_pubkey_local_y_256
+0x44cf mem_sp_state_xmem
+0x44cf mem_authentication_passkey_times
+0x44d0 mem_passkey_1bit
+0x44d1 mem_sp_state_xmem_end
+0x44d1 mem_ipc_lock_bt
+0x44d2 mem_ipc_lock_c51
+0x44d3 mem_ipc_fifo_bt2c51
+0x44db mem_ipc_fifo_c512bt
+0x44e3 mem_ui_button_timer
+0x44e4 mem_ui_button_last_state
+0x44e5 mem_ui_timer_last_btclk
+0x44e9 mem_ui_state_map
+0x44eb mem_ui_button_timeout
+0x44ec mem_ui_button_gpio
+0x44ed mem_ui_led_init_state_set
+0x44ee mem_ui_led_struct_num
+0x44ef mem_ui_led_struct_ptr
+0x44f1 mem_mesh_vendor_mesh_receive_tid
+0x44f2 mem_mesh_vendor_mesh_send_tid
+0x44f3 mem_mesh_vendor_timer_current_time
+0x44f7 mem_system_time
+0x44fb mem_mesh_vendor_timer_timing_delete_index1
+0x44fb mem_mesh_vendor_timer_timing_index1
+0x44fc mem_mesh_vendor_timer_timing_delete_index2
+0x44fc mem_mesh_vendor_timer_timing_time1
+0x4500 mem_mesh_vendor_timer_timing_attr_type1
+0x4502 mem_mesh_vendor_timer_timing_attr_para1
+0x4503 mem_mesh_vendor_timer_timing_buffer
+0x45ed mem_mesh_vendor_timer_timing_palyload
+0x45ff mem_mesh_vendor_timer_timing_temp
+0x4601 mem_mesh_vendor_timer_timing_time_cyclic_temp
+0x4602 mem_mesh_vendor_timer_check_loop
+0x4603 mem_tmall_revd_device_power_on_msge_flag
+0x4604 mem_tmall_send_power_on_msge_timeout
+0x4606 mem_mesh_vendor_timer_timing_temp1
+0x4608 mem_mesh_timer_index_buffer_len
+0x4609 mem_mesh_timer_index_buffer
+0x4629 mem_mesh_timer_index_count
+0x462a mem_mesh_adv_data_len
+0x462b mem_mesh_adv_data
+0x464a mem_mesh_adv_scan_channel
+0x464b mem_mesh_advertising_unprovisioned_device_beacon_switch
+0x464c mem_mesh_advertising_unprovisioned_device_beacon_timer
+0x464e mem_mesh_advertising_unprovisioned_device_beacon_duration
+0x464f mem_mesh_advertising_unprovisioned_device_beacon_interval
+0x4650 mem_mesh_calc_ConfirmationCloud_data
+0x4650 mem_mesh_ConfirmationCloud_RandomB
+0x4658 mem_mesh_ConfirmationCloud_RandomA
+0x4660 mem_mesh_AuthValueProv
+0x4670 mem_mesh_ConfirmationCloud
+0x4680 mem_mesh_ConfirmationDevice
+0x4680 mem_mesh_calc_ConfirmationDevice_data
+0x4680 mem_mesh_provisioning_random_A
+0x4688 mem_mesh_provisioning_random_B
+0x4690 mem_mesh_AuthValueDevice
+0x46a0 mem_mesh_Device_Key
+0x46b0 mem_mesh_Confirmationkey
+0x46c0 mem_mesh_sha256_ConfirmationKey_ascii
+0x46cf mem_mesh_sha256_SessionKey_ascii
+0x46d9 mem_mesh_sha256_DeviceKey_ascii
+0x46e2 mem_mesh_sha256_load_first_data_flag
+0x46e3 mem_mesh_sha256_data_len_byte
+0x46eb mem_mesh_sha256_data_len_bit
+0x46f3 mem_mesh_sha256_data_end_addr
+0x46f5 mem_mesh_sha256_data_len_addr
+0x46f7 mem_mesh_sha256_chunk_count
+0x46f8 mem_mesh_sha256_chunk_data_ptr
+0x46fa mem_mesh_sha256_chunk_ptr
+0x46fc mem_k2_P_len
+0x46fd mem_k2_P
+0x470d mem_k2_N
+0x471d mem_k2_SALT
+0x472d mem_k2_T
+0x473d mem_k2_T0
+0x473d mem_k2_T1
+0x474d mem_k2_NID
+0x474e mem_k2_T3
+0x475e mem_k2_T2
+0x476e mem_k4_SALT
+0x477e mem_k4_T
+0x478e mem_k4_id6_01
+0x479e mem_k4_k4N
+0x47ae mem_mesh_transport_AID
+0x47af mem_k3_SALT
+0x47bf mem_k3_T
+0x47cf mem_k3_id64_01
+0x47d4 mem_k3_k4N
+0x47dc mem_mesh_network_id
+0x47e4 mem_mesh_provisioned_flag
+0x47e5 mem_mesh_Provisioning_State_Flag
+0x47e6 mem_mesh_Device_PID
+0x47e7 mem_mesh_UUID_FeatureFlag
+0x47e8 mem_mesh_UUID_FeatureFlag1
+0x47e9 mem_mesh_PDU_RFU
+0x47ea mem_mesh_OOB_information
+0x47ec mem_mesh_Encrypt_Provisioning_Data
+0x47ec mem_mesh_provisioning_data_Mac_addr
+0x47ee mem_mesh_KeyFresh_and_Update_flag
+0x47ef mem_mesh_Network_Key
+0x47ff mem_mesh_last_IV_Index_byte
+0x4800 mem_mesh_Unicast_Address
+0x4802 mem_mesh_recv_cfg_appkey_add_timer
+0x4803 mem_mesh_report_power_on_timer
+0x4804 mem_mesh_report_full_attribute_timer
+0x4805 mem_mesh_health_node_reset_timer
+0x4806 mem_mesh_send_packet_timeout
+0x4808 mem_mesh_gatt_package_send_msg_id
+0x4809 mem_mesh_gatt_receive_msg_timer
+0x480a mem_mesh_three_tuple_ProductID
+0x480e mem_mesh_three_tuple_MAC
+0x4814 mem_mesh_three_tuple_secret
+0x4824 mem_mesh_cb_receive_advertising
+0x4826 mem_mesh_cb_receive_access_message
+0x4828 mem_mesh_cb_receive_config_appkey_add
+0x482a mem_mesh_cb_pairing_fail
+0x482c mem_mesh_cb_recv_vendor
+0x482e mem_mesh_scan_selete_next_ch
+0x4830 mem_mesh_cb_generic_onoff_get
+0x4832 mem_mesh_cb_generic_onoff_set
+0x4834 mem_mesh_cb_scene_recall
+0x4836 mem_mesh_cb_light_lightness_set
+0x4838 mem_mesh_cb_light_lightness_get
+0x483a mem_mesh_cb_light_ctl_set
+0x483c mem_mesh_cb_main_light_onoff_set
+0x483e mem_mesh_cb_background_onoff_set
+0x4840 mem_mesh_cb_color_set
+0x4842 mem_mesh_cb_network_relay
+0x4844 mem_mesh_cb_receive_node_reset
+0x4846 mem_mesh_cb_seq_changed
+0x4848 mem_mesh_cb_subscriptuion_list_changed
+0x484a mem_mesh_cb_vendor_timing_changed
+0x484c mem_mesh_core_feature
+0x484e mem_mesh_element_number
+0x484f mem_mesh_element_device_ptr
+0x4851 mem_mesh_element_device_length
+0x4853 mem_mesh_clear_provisioning_data
+0x4855 mem_mesh_app_deport_device_state
+0x4857 mem_mesh_chip_select
+0x4858 mem_mesh_segmented_access_message_SZMIC
+0x4859 mem_mesh_segmented_access_message_SeqZero
+0x485b mem_mesh_segmented_access_message_SegO
+0x485c mem_mesh_segmented_access_message_SegN
+0x485d mem_mesh_segmented_access_message_BlockAck
+0x4861 mem_mesh_segmented_access_message_receive_finish
+0x4862 mem_mesh_segmented_access_message_current_length
+0x4863 mem_mesh_segmented_access_message_SegN_upper_limit
+0x4864 mem_mesh_segmented_access_message_Segment_ptr
+0x4866 mem_mesh_last_CTL_Temperature
+0x4868 mem_mesh_receive_group_address
+0x4869 mem_mesh_receive_element_number
+0x486a mem_mesh_network_dup_cache_next
+0x486b mem_mesh_network_msg_cache_next
+0x486c mem_mesh_network_proxy_unicast_address
+0x486e mem_mesh_IV_Index
+0x4872 mem_mesh_TMALL_cache_start
+0x4872 mem_mesh_TMALL_SRC1
+0x4874 mem_mesh_TMALL_SEQ1
+0x4877 mem_mesh_TMALL_cache
+0x48a4 mem_mesh_TMALL_cache_end
+0x48a4 mem_mesh_transport_message_mic_cache
+0x48a4 mem_mesh_transport_message_mic_cache_buff1
+0x48a8 mem_mesh_transport_message_mic_cache_buff2_10
+0x48cc mem_mesh_network_relay_queue
+0x48cc mem_mesh_network_relay_queue_each_size
+0x48cd mem_mesh_network_relay_queue_length
+0x48ce mem_mesh_network_relay_queue_current_num
+0x48cf mem_mesh_network_relay_queue_read_ptr
+0x48d0 mem_mesh_network_relay_queue_write_ptr
+0x48d1 mem_mesh_network_relay_queue_ele
+0x4959 mem_mesh_application_key
+0x4969 mem_mesh_ASZMIC
+0x496a mem_mesh_access_message_mic_cache
+0x496a mem_mesh_access_message_mic_cache_buff1
+0x496e mem_mesh_access_message_mic_cache_buff2_10
+0x4992 mem_mesh_send_message_SEQ
+0x4995 mem_mesh_send_message_SRC
+0x4997 mem_mesh_send_message_TTL
+0x4998 mem_mesh_send_upper_layer_IVI_and_NID
+0x4999 mem_mesh_send_upper_layer_CTL_and_TTL
+0x499a mem_mesh_send_upper_layer_SEQ
+0x499d mem_mesh_send_upper_layer_SRC
+0x499f mem_mesh_send_upper_layer_DST
+0x49a1 mem_mesh_send_access_lower_transport_layer
+0x49b1 mem_mesh_send_network_layer_NetMIC
+0x49b5 mem_mesh_upper_tran_layer_packet_advertising
+0x49b6 mem_mesh_upper_tran_layer_packet_tid
+0x49b7 mem_mesh_upper_tran_layer_packet_type
+0x49b8 mem_mesh_upper_receive_new_message_timer
+0x49b9 mem_mesh_upper_tran_layer_queue_each_size
+0x49ba mem_mesh_upper_tran_layer_queue_length
+0x49bb mem_mesh_upper_tran_layer_queue_current_num
+0x49bc mem_mesh_upper_tran_layer_queue_read_ptr
+0x49bd mem_mesh_upper_tran_layer_queue_write_ptr
+0x49be mem_mesh_upper_tran_layer_queue_element_1
+0x49e6 mem_mesh_upper_tran_layer_queue_element_2
+0x4a0e mem_mesh_upper_tran_layer_queue_element_3
+0x4a36 mem_mesh_upper_tran_layer_queue_element_4
+0x4a5e mem_mesh_queue_each_size
+0x4a5f mem_mesh_queue_length
+0x4a60 mem_mesh_queue_current_num
+0x4a61 mem_mesh_queue_read_ptr
+0x4a62 mem_mesh_queue_write_ptr
+0x4a63 mem_mesh_queue_ele
+0x4aeb mem_mesh_element_device
+0x4aeb mem_mesh_element_device_group_addr
+0x4aed mem_mesh_element_device_queue_buffer_ptr
+0x4aef mem_mesh_element_device_timing_ptr
+0x4af1 mem_mesh_element_device_element_subscription_label
+0x4b01 mem_mesh_element_upper_adv_flag
+0x4b02 mem_mesh_element_upper_queue_buffer_ptr
+0x4b04 mem_mesh_element_tran_package_tid
+0x4b05 mem_mesh_element_tran_package_type
+0x4b06 mem_mesh_element_device1
+0x4b21 mem_mesh_element_device2
+0x4b3c mem_mesh_segmented_access_message_Segment
+0x4b60 mem_mesh_le_att_list
+0x4c24 mem_mesh_send_message_SEQ_temp
+0x44f1 mem_24g_lap
+0x44f7 mem_24g_rxbuf
+0x4519 mem_24g_txbuf
+0x4539 mem_24g_txpayload
+0x455d mem_24g_rxpayload
+0x457d mem_24g_rxdata_length
+0x457e mem_24g_pid
+0x457f mem_24g_no_ack
+0x4580 mem_24g_sta_crc
+0x4583 mem_24g_last_crc
+0x4586 mem_24g_sta_pid
+0x4587 mem_24g_last_pid
+0x4588 mem_24g_datalen
+0x4589 mem_24g_data_type
+0x458a mem_24g_txlen
+0x458b mem_24g_rx_window
+0x458d mem_24g_ch
+0x458e mem_24g_current_ch_number
+0x458f mem_24g_addr
+0x4593 mem_24g_ch_map1
+0x4597 mem_24g_ch_map2
+0x459b mem_24g_ch_map3
+0x459f mem_24g_ch_map4
+0x45a3 mem_24g_tx_btclk
+0x45a7 mem_24g_interval
+0x45a8 mem_24g_interval_min
+0x45a9 mem_24g_interval_max
+0x45aa mem_24g_syncword
+0x45ac mem_24g_syncword_crc8
+0x45ad mem_24g_get_syncword_crc8
+0x45ae mem_24g_pair_switch
+0x45af mem_24g_enter_hibernate
+0x45b7 mem_24g_rx_phy
+0x45b8 mem_24g_tx_phy
+0x45b9 mem_24g_ch_map_update
+0x45ba mem_24g_ch_update_map1
+0x45be mem_24g_ch_update_map2
+0x45c2 mem_24g_ch_update_map3
+0x45c6 mem_24g_ch_update_map4
+0x45ca mem_24g_disable_fec1
+0x45cb mem_24g_off_type
+0x45cc mem_24g_pair_addr
+0x45d0 mem_24g_pair_ch
+0x45d1 mem_24g_pair_tx_power
+0x45d2 mem_rssi_buff_index
+0x45d3 mem_24g_device1_bind_step
+0x45d4 mem_24g_device2_bind_step
+0x45d5 mem_24g_bind_device_status
+0x45d6 mem_24g_bind_payload
+0x45de mem_24g_device1_bind_disable
+0x45df mem_24g_device2_bind_disable
+0x45e0 mem_cb_24g_receive_process
+0x45e2 mem_cb_24g_ackpayload
+0x45e4 mem_cb_24g_data_device1
+0x45e6 mem_cb_24g_data_device2
+0x45e8 mem_24g_rxdata_temp
+0x460a mem_24g_abort_packet
+0x460b mem_24g_hop_btclk
+0x460f mem_24g_hop_interval
+0x4610 mem_24g_pair_mode
+0x4611 mem_24g_ackpayload_enable
+0x4612 mem_24g_hop_packet
+0x4613 mem_24g_mode_switch
+0x4614 mem_24g_nodata_timer_enable
+0x4615 mem_24g_mode_init
+0x4616 mem_24g_work_mode
+0x4617 mem_24g_time_slice
+0x4618 mem_24g_self_last_ch
+0x4619 mem_24g_self_ch_number
+0x461a mem_24g_self_config_ch_once
+0x461b mem_24g_device1_last_ch
+0x461c mem_24g_device1_ch_number
+0x461d mem_24g_device1_config_ch_once
+0x461e mem_24g_device2_last_ch
+0x461f mem_24g_device2_ch_number
+0x4620 mem_24g_device2_config_ch_once
+0x4621 mem_24g_led_status
+0x4622 mem_24g_bind_mode_continue
+0x4623 mem_tx_power_temp
+0x4624 mem_24g_mode_B_S_switch
+0x4625 mem_24g_mode_B_S_switch_init
+0x4626 mem_24g_mode_B_S_switch_cnt
+0x4628 mem_24g_mode_B_S_switch_exit
+0x4629 mem_24g_B_S_time_slice
+0x462a mem_24g_B_S_mode_switch_disable
+0x462b mem_24g_bind_device_living
+0x462c mem_24g_transmitter_addr
+0x4630 mem_24g_device1_addr
+0x4634 mem_24g_device2_addr
+0x4638 mem_rssi_noise_avg
+0x4639 mem_rssi_noise_index
+0x463a mem_rssi_noise_self_avg
+0x463b mem_rssi_noise_device1_avg
+0x463c mem_rssi_noise_device2_avg
+0x463d mem_rssi_noise_self_index
+0x463e mem_rssi_noise_device1_index
+0x463f mem_rssi_noise_device2_index
+0x4640 mem_rssi_noise_buffer_ptr
+0x4642 mem_rssi_noise_self_buffer_ptr
+0x4644 mem_rssi_noise_device1_buffer_ptr
+0x4646 mem_rssi_noise_device2_buffer_ptr
+0x4648 mem_car_hard_soft_switch
+0x4649 mem_car_queue_each_size
+0x464a mem_car__queue_length
+0x464b mem_car_queue_curr_num
+0x464c mem_car_queue_read_ptr
+0x464d mem_car_queue_write_ptr
+0x464e mem_car_queue_ele
+0x46c6 mem_car_pop_queue_buff
+0x46da mem_car_led_num
+0x46db mem_car_led_map
+0x46e5 mem_car_style1_led_type
+0x46e6 mem_car_style1_blink_count
+0x46e7 mem_car_style1_struct_led_gpio
+0x46e8 mem_car_style1_on_time
+0x46ea mem_car_style1_off_time
+0x46ec mem_car_style1_cb_ledon
+0x46ee mem_car_style1_cb_ledoff
+0x46f0 mem_car_style2_led_type
+0x46f1 mem_car_style2_blink_count
+0x46f2 mem_car_style2_struct_led_gpio
+0x46f3 mem_car_style2_on_time
+0x46f5 mem_car_style2_off_time
+0x46f7 mem_car_style2_cb_ledon
+0x46f9 mem_car_style2_cb_ledoff
+0x46fb mem_le_receive_data
+0x46fb mem_le_receive_packet_head
+0x46fd mem_le_receive_cmd
+0x46fe mem_le_receive_length
+0x4700 mem_le_receive_payload
+0x470a mem_le_receive_checksum
+0x470b mem_motor1_status
+0x470c mem_motor1_speed
+0x470d mem_motor2_status
+0x470e mem_motor2_speed
+0x470f mem_motor3_status
+0x4710 mem_motor3_speed
+0x4711 mem_motor1_pwm_set
+0x4711 mem_motor1_pwm_pin1_set
+0x4712 mem_motor1_pwm_pin2_set
+0x4713 mem_motor1_pwm_pin_set
+0x4714 mem_motor1_pwm_channel_set
+0x4715 mem_motor1_pwm_freq_set
+0x4718 mem_motor1_pwm_dute_set
+0x4719 mem_motor2_pwm_set
+0x4719 mem_motor2_pwm_pin1_set
+0x471a mem_motor2_pwm_pin2_set
+0x471b mem_motor2_pwm_pin_set
+0x471c mem_motor2_pwm_channel_set
+0x471d mem_motor2_pwm_freq_set
+0x4720 mem_motor2_pwm_dute_set
+0x4721 mem_motor3_pwm_set
+0x4721 mem_motor3_pwm_pin1_set
+0x4722 mem_motor3_pwm_pin2_set
+0x4723 mem_motor3_pwm_pin_set
+0x4724 mem_motor3_pwm_channel_set
+0x4725 mem_motor3_pwm_freq_set
+0x4728 mem_motor3_pwm_dute_set
+0x4729 mem_motor_select_p_n
+0x472a mem_car_motor_status
+0x472b mem_car_motor_speed
+0x472c mem_motor_pwm_set
+0x472c mem_motor_pwm_pin1_set
+0x472d mem_motor_pwm_pin2_set
+0x472e mem_motor_pwm_pin_set
+0x472f mem_motor_pwm_channel_set
+0x4730 mem_motor_pwm_freq_set
+0x4733 mem_motor_pwm_dute_set
+0x4734 mem_ir_rx_gpio
+0x4735 mem_ir_data
+0x4737 mem_ir_rx_buf
+0x4739 mem_ir_receive_clkn
+0x473d mem_ir_notify_data
+0x4740 mem_ir_notify_data_head
+0x4745 mem_ir_notify_data_payload
+0x4747 mem_ir_notify_data_check_sum
+0x4748 mem_car_ir_breakdown_check_timer
+0x4749 mem_car_ir_breakdown_flag
+0x474a mem_car_led_control
+0x474a mem_car_led1_status
+0x474b mem_car_led2_status
+0x474c mem_car_led3_status
+0x474d mem_car_led4_status
+0x474e mem_car_led5_status
+0x474f mem_car_led6_status
+0x4750 mem_car_led7_status
+0x4751 mem_car_led8_status
+0x4752 mem_car_led_control_timer
+0x4753 mem_car_led_blink_status
+0x4754 mem_car_led_no
+0x4755 mem_car_info_request
+0x4758 mem_car_info_request_head
+0x475d mem_car_info_request_payload
+0x4765 mem_car_info_request_checksum
+0x4766 mem_car_config_param
+0x4766 mem_car_config_setting_flag
+0x4767 mem_car_config_device_select
+0x4768 mem_car_config_motor_layout
+0x4769 mem_car_config_ir_enable
+0x476a mem_car_config_ir_rx_gpio
+0x476b mem_car_config_pairing_led_conn_status
+0x476c mem_car_config_pairing_led_gpio
+0x476d mem_car_config_led_num
+0x476e mem_car_config_blood_led_gpio
+0x476e mem_car_config_blood_led1_gpio
+0x476f mem_car_config_blood_led2_gpio
+0x4770 mem_car_config_blood_led3_gpio
+0x4771 mem_car_config_blood_led4_gpio
+0x4772 mem_car_config_blood_led5_gpio
+0x4773 mem_car_config_blood_led6_gpio
+0x4774 mem_car_config_blood_led7_gpio
+0x4775 mem_car_config_blood_led8_gpio
+0x4776 mem_car_config_bat_notify_enable
+0x4777 mem_car_config_low_voltage_led_gpio
+0x4778 mem_car_config_low_voltage_percent
+0x4779 mem_car_config_soft_switch_enable
+0x477a mem_car_config_soft_switch_gpio
+0x477b mem_car_notify_vdd_count
+0x477c mem_car_notify_vdd_timer
+0x477d mem_car_notify_vdd_value_last
+0x477e mem_car_notify_vdd_percent
+0x477f mem_car_working_flag
+0x4780 mem_low_bat_flag
+0x4781 mem_notify_bat_packet
+0x4784 mem_notify_bat_head
+0x4789 mem_notify_bat_payload
+0x478a mem_notify_bat_check_sum
+0x478b mem_vdd_notify_flag
+0x478c mem_car_current_vdd_value_temp
+0x478e mem_car_last_vdd_value
+0x4790 mem_vdd_calculate_set
+0x4790 mem_vdd_full_vol
+0x4792 mem_vdd_empty_vol
+0x4794 mem_vdd_low_vol
+0x4796 mem_vdd_now_vol
+0x4798 mem_car_24g_status
+0x4799 mem_car_24g_no_data_timeout_count
+0x479b mem_car_24g_no_data_timeout_timer
+0x479d mem_car_24g_ir_receive_attack_count
+0x479e mem_car_24g_go_die_flag
+0x479f mem_car_attack_shake_timer
+0x47a0 mem_car_attack_shake_flag
+0x47a1 mem_car_soft_power
+0x47a1 mem_car_power_state
+0x47a2 mem_car_power_timer
+0x47a3 mem_car_power_off_timeout
+0x47a4 mem_car_power_starting_timeout
+0x47a5 mem_car_power_off_cb
+0x47a7 mem_car_power_starting_cb
+0x47a9 mem_car_power_standby_cb
+0x47ab mem_car_ui_button_up_cb
+0x47ad mem_car_le_att_list
+0x49a1 mem_car_moto1_blank_timer
+0x49a2 mem_car_moto2_blank_timer
+0x49a3 mem_car_moto3_blank_timer
+0x49a4 mem_car_motor_gpio_num
+0x49a5 mem_car_motor_gpio_map
+0x49a5 mem_car_motor_left_gpio
+0x49a6 mem_car_motor_right_gpio
+0x49a7 mem_car_motor_front_gpio
+0x49a8 mem_car_motor_back_gpio
+0x49a9 mem_car_gpio
+0x49aa mem_car_app_send_speed
+0x49ab mem_rssi_sum
+0x49ad mem_check_rssi_high_count
+0x49af mem_rssi_data
+0x49b7 mem_car_24g_received_pac
+0x49b8 mem_car_24g_bind_enable_delay_count
+0x49b9 mem_car_keyscan
+0x49b9 mem_car_key_num
+0x49ba mem_cb_car_keyscan
+0x49bc mem_car_enter_lpm_timer_count
+0x49be mem_car_enter_lpm_timer
+0x49c0 mem_car_enter_lpm_flag
+0x49c1 mem_car_24g_ch_polling
+0x49c2 mem_car_rssi_noise_buffer
+0x49ca mem_car_rssi_noise_car_buffer
+0x49d2 mem_car_rssi_noise_remote_buffer
+0x49da mem_car_24g_commom_addr
+0x49de mem_car_24g_commom_addr_temp
+0x49e2 mem_car_24g_commom_addr_read
+0x49e6 mem_car_save_addr_flag
+0x49e7 mem_ble_att_list
+0x4b77 mem_ad_indexTable
+0x4b87 mem_ad_stepsizeTable
+0x4ceb mem_ad_state_valpred
+0x4cef mem_ad_state_index
+0x4cf3 mem_ad_in_numSamples
+0x4cf4 mem_ad_in_ptr
+0x4cf6 mem_ad_out_ptr
+0x4cf8 mem_ad_sign
+0x4cf9 mem_ad_delta
+0x4cfa mem_ad_step
+0x4cfe mem_ad_valpred
+0x4d02 mem_ad_index
+0x4d06 mem_ad_vpdiff
+0x4d0a mem_ad_inputbuffer
+0x4d0e mem_ad_bufferstep
+0x4648 mem_dg_kb_bind_flag
+0x4649 mem_dg_kb_data_sta_data
+0x4651 mem_dg_kb_data_last_data
+0x4659 mem_dg_kb_multikey_sta_data
+0x465c mem_dg_kb_multikey_last_data
+0x465f mem_dg_kb_system_sta_data
+0x4662 mem_dg_kb_system_last_data
+0x4665 mem_dg_kb_blank_data_enable
+0x4666 mem_dg_kb_mul_blank_data_enable
+0x4667 mem_dg_kb_system_crtl_blank_data_enable
+0x4668 mem_dg_ms_blank_data_enable
+0x4669 mem_dg_sys_config
+0x466a mem_dg_usb_vid_pid
+0x4673 mem_dg_usb_tx_interval
+0x4674 mem_dg_usb_device_name
+0x4692 mem_dg_kb_bind_success
+0x4693 mem_dg_pc_sleep_flag
+0x4694 mem_dg_24g_tx_power_default
+0x4695 mem_24g_pair_tx_power_init
+0x4696 mem_setreport_count
+0x4697 mem_24g_rxbuf_new
+0x46dd mem_24g_txbuf_new
+0x4723 mem_24g_txpayload_new
+0x4769 mem_24g_rxpayload_new
+0x47af mem_24g_rxdata_temp_new
+0x47f5 mem_24g_rxdata_ack_flag
+0x47f6 mem_dg_keyboard_battery_level
+0x47f7 mem_dg_mouse_battery_level
+0x47f8 mem_dg_keyboard_heart_tick_timer
+0x47fa mem_dg_mouse_heart_tick_timer
+0x47fc mem_dg_keyboard_connected_status
+0x47fd mem_dg_mouse_connected_status
+0x47fe mem_dg_usb_driver_set_end
+0x47ff mem_dg_test_mode
+0x4800 mem_dg_test_ch
+0x4801 mem_dg_usb_get_buff
+0x4841 mem_usb_ep2_config
+0x48f5 mem_config_new
+0x493b mem_usb_ep2_fifo
+0x4943 mem_dg_mouse_data
+0x494a mem_dg_mouse_key_data_last
+0x494b mem_dg_mouse_dpi_level
+0x494c mem_usb_dpi_info_data
+0x498d mem_dg_keyboard_keymatrix_profile
+0x498e mem_dg_keyboard_keymatrix_type
+0x498f mem_dg_keyboard_keymatrix_page
+0x4990 mem_dg_keyboard_keymatrix_len
+0x4991 mem_dg_keyboard_keymatrix_setup_keyvalue
+0x49d1 mem_dg_protocol_usb_in_data_buff
+0x4a12 mem_dg_protocol_usb_out_data_buff
+0x4a53 mem_24g_device_type
+0x4a54 mem_dg_ms_ep2_ack_data_flag
+0x4a55 mem_dg_ms_ep2_ack_data
+0x4a96 mem_dg_kb_ep2_ack_data_flag
+0x4a97 mem_dg_kb_ep2_ack_data
+0x4ad8 mem_dg_kb_keymatrix_buff
+0x4b78 mem_dg_receive_keymatrix_count
+0x4b79 mem_keymatrix_wptr
+0x4b7b mem_keyboard_map
+0x45d3 mem_rssi_hex_received
+0x45d4 mem_24g_pair_sm
+0x45d5 mem_24g_pair_no_ack
+0x45d6 mem_24g_pair_timeout_init
+0x45d8 mem_24g_pair_timeout
+0x45da mem_24g_pair_count
+0x45dc mem_24g_reconn_timeout_init
+0x45de mem_24g_reconn_timeout
+0x45e0 mem_24g_reconn_count
+0x45e2 mem_24g_reconn_type
+0x45e3 mem_24g_fast_conn_enable
+0x45e4 mem_24g_fast_conn_addr
+0x45e8 mem_24g_receiver_addr
+0x45ec mem_24g_fast_conn_temp_ch
+0x45ed mem_24g_receiver_temp_ch
+0x45ee mem_24g_device_temp_ch
+0x45ef mem_rssi_signal_index
+0x45f0 mem_rssi_signal_buf_ptr
+0x45f2 mem_cb_24g_transmit_data
+0x45f4 mem_cb_24g_search_receiver
+0x45f6 mem_cb_24g_lpm_before
+0x45f8 mem_cb_24g_transmit_short_sleep
+0x45fa mem_cb_24g_transmit_long_sleep
+0x45fc mem_24g_conn_sm
+0x45fd mem_24g_ensure
+0x45fe mem_24g_txfail_cnt
+0x4600 mem_24g_attempt_fail_flag
+0x4601 mem_24g_retry
+0x4602 mem_24g_abort_pac
+0x4603 mem_24g_max_retry
+0x4604 mem_24g_device_addr
+0x4608 mem_24g_short_sleep_set
+0x460b mem_24g_long_sleep_set
+0x4613 mem_24g_long_sleep_set1
+0x4617 mem_24g_pac_index
+0x4618 mem_24g_transmit_by_interrupt
+0x4619 mem_24g_transmit_by_interrupt_exit_count
+0x461b mem_24g_transmit_by_interrupt_exit_count_init
+0x461d mem_24g_long_sleep_param_update_timer_init
+0x461f mem_24g_long_sleep_param_update_timer
+0x4621 mem_24g_fast_hop_count
+0x4622 mem_24g_retransmit
+0x4624 mem_rssi_avg_received
+0x4625 mem_power_ctrl_level
+0x4626 mem_power_ctrl_pac_succ_cnt
+0x4627 mem_power_ctrl_pac_succ_cnt_init
+0x4628 mem_rssi_dis_min_24g
+0x4629 mem_rssi_dis_max_24g
+0x462a mem_rssi_hex_received_max_value
+0x462b mem_rssi_dis_min_ble
+0x462c mem_rssi_dis_max_ble
+0x462d mem_mouse_vdd_calculate_set
+0x462d mem_mouse_vdd_full_vol
+0x462f mem_mouse_vdd_empty_vol
+0x4631 mem_mouse_vdd_low_vol
+0x4633 mem_mouse_vdd_now_vol
+0x4635 mem_adc_channel_gpio
+0x4636 mem_adc_mux_status
+0x4637 mem_mouse_adc_last_low_voltage_flag
+0x4638 mem_mouse_discovery_timeout
+0x463a mem_mouse_24g_pair_timeout_init
+0x463c mem_mouse_direct_timeout
+0x463d mem_mouse_24g_reconn_timeout_init
+0x463e mem_mouse_24g_pair_tx_power
+0x463f mem_rssi_dis_min_24g_init
+0x4640 mem_rssi_dis_max_24g_init
+0x4641 mem_rssi_hex_received_max_value_init
+0x4642 mem_rssi_dis_min_ble_init
+0x4643 mem_rssi_dis_max_ble_init
+0x4644 mem_mouse_param_config
+0x4644 mem_lbutton_gpio
+0x4645 mem_mbutton_gpio
+0x4646 mem_rbutton_gpio
+0x4647 mem_bk_button_gpio
+0x4648 mem_fw_button_gpio
+0x4649 mem_dpi_button_gpio
+0x464a mem_whee_a_data_gpio
+0x464b mem_whee_b_data_gpio
+0x464c mem_mouse_sensor_sclk_gpio
+0x464d mem_mouse_sensor_sdio_gpio
+0x464e mem_select_sensor_angle_gpio
+0x464f mem_sensor_angle_default
+0x4650 mem_sensor_angle_switch
+0x4651 mem_config_sensor_dpi
+0x4652 mem_whee_ta_data_gpio
+0x4653 mem_whee_tb_data_gpio
+0x4654 mem_matrix_public_gpio
+0x4655 mem_config_select_device_button_gpio
+0x4656 mem_customer_key_gpio
+0x4657 mem_firebutton_gpio
+0x4658 mem_dpi_another_button_gpio
+0x4659 mem_sensor_motion_gpio
+0x465a mem_device_switch_gpio
+0x465b mem_mouse_reuse_2ice_gpio
+0x465c mem_mouse_logo_led_gpio
+0x465d mem_mouse_1io2led_multi_24gled
+0x465e mem_mouse_1io2led_multi_bt1led
+0x465f mem_mouse_1io2led_multi_bt2led
+0x4660 mem_mouse_low_voltage_alarm_gpio
+0x4661 mem_mouse_dpi_gpio
+0x4662 mem_mouse_param_config_end
+0x4662 mem_wire_usb_interval
+0x4663 mem_usb_addr
+0x4664 mem_mouse_usb_vdd_status
+0x4665 mem_mouse_usb_keyboard_flag
+0x4666 mem_mouse_information_start
+0x4666 mem_device_flag
+0x4667 mem_device1_type
+0x4668 mem_device1_addr
+0x466e mem_device1_locall_addr
+0x4674 mem_device2_type
+0x4675 mem_device2_addr
+0x467b mem_device2_locall_addr
+0x4681 mem_device3_type
+0x4682 mem_device3_addr
+0x4688 mem_device3_locall_addr
+0x468e mem_store_flag
+0x4690 mem_mouse_dpi
+0x4691 mem_mouse_24g_addr
+0x4695 mem_random_addr_increase_count
+0x4697 mem_mouse_retention
+0x46e6 mem_mouse_information_end
+0x46e6 mem_mouse_compare_addr
+0x46ec mem_flash_base
+0x46ef mem_write_flash_head_temp
+0x46f3 mem_store_information_delay_timer
+0x46f4 mem_store_information_delay_timer_init
+0x46f5 mem_mouse_search_dongle_interval
+0x46f6 mem_mouse_search_dongle_ch
+0x46f7 mem_mouse_search_dongle_count
+0x46f8 mem_mouse_search_dongle_action
+0x46f9 mem_24g_enter_lpm_timer
+0x46fa mem_mouse_24g_enter_lpm_enable
+0x46fb mem_mouse_multi_led_blink_enable
+0x46fc mem_mouse_multi_led_type
+0x46fd mem_mouse_multi_led_state
+0x46fe mem_mouse_multi_led_blink_type//00:rtn	01:24g blink	02:le blink		03:reconn blink 	04:low blink	05:dpi blink
+0x46ff mem_mouse_le_reconn_blink_limit
+0x4700 mem_mouse_multi_led_powon_timer_init//power on time
+0x4701 mem_mouse_multi_led_powon_timer
+0x4702 mem_mouse_multi_24gled_blink_timer_init//24gled blink time
+0x4703 mem_mouse_multi_le_discovery_blink_timer_init//le discovery blink time
+0x4704 mem_mouse_multi_le_reconn_blink_timer_init//le reconn blink time
+0x4705 mem_mouse_dpi_led_blink_timer_init//dpi blink time
+0x4706 mem_mouse_multi_led_blink_timer
+0x4707 mem_mouse_low_led_blink_timer//low blink time
+0x4708 mem_mouse_low_led_blink_half_timer
+0x4709 mem_adc_low_volatage_led_timer_count
+0x470a mem_mouse_multi_24gled_blink_count_init//24g count
+0x470b mem_mouse_multi_le_reconn_blink_count_init//le reconn count
+0x470c mem_mouse_multi_led_blink_count
+0x470d mem_mouse_multi_lowled_blink_count_init//low count
+0x470e mem_mouse_multi_low_led_blink_count
+0x470f mem_mouse_logo_led_on_time_init
+0x4711 mem_mouse_dpi_led_delay_count
+0x4712 mem_mouse_dpi_led_delay_count_init
+0x4713 mem_mouse_flag
+0x471b mem_device_number
+0x471c mem_mouse_page_to
+0x471e mem_mouse_fast_direct_timeout
+0x471f mem_mouse_fast_page_to
+0x4721 mem_mouse_24g_power_on_fast_conn_timer
+0x4723 mem_mouse_24g_search_dongle_time_init
+0x4725 mem_mouse_no_data_timeout
+0x4727 mem_mouse_commbination_key_bt
+0x4728 mem_mouse_commbination_key_24g
+0x4729 mem_mouse_customer_function
+0x472a mem_customer_key_press
+0x4733 mem_customer_key_release
+0x473c mem_mouse_set_high_impedance_bit_set
+0x473f mem_sensor_shutdown_flag
+0x4740 mem_24g_long_sleep_set_level
+0x4741 mem_tx_power_factory_param
+0x4743 mem_mouse_24g_short_sleep_set_4ms
+0x4746 mem_mouse_24g_long_sleep_set_4ms
+0x4749 mem_mouse_24g_fast_hop_count_4ms
+0x474a mem_mouse_24g_short_sleep_set_8ms
+0x474d mem_mouse_24g_long_sleep_set_8ms
+0x4750 mem_mouse_24g_fast_hop_count_8ms
+0x4751 mem_mouse_24g_tsniff
+0x4755 mem_mouse_24g_tsniff_4ms
+0x4759 mem_mouse_24g_tsniff_8ms
+0x475d mem_mouse_24g_short_sleep_set_init
+0x4760 mem_mouse_24g_tx_count
+0x4761 mem_mouse_24g_tx_time_last
+0x4767 mem_mouse_24g_tx_time_last_delt
+0x476b mem_mouse_24g_tx_time_sum
+0x4770 mem_mouse_24g_tx_time_sum_count
+0x4771 mem_mouse_24g_tx_time_offset
+0x4772 mem_mouse_24g_sleep_miss
+0x4773 mem_mouse_24g_sleep_time_temp
+0x4777 mem_mouse_24g_sleep_miss_temp
+0x477b mem_mouse_sleep_deal_type
+0x477c mem_mouse_24g_long_sleep_flag
+0x477d mem_mouse_long_mult_flag
+0x477e mem_mouse_current_mult_timer
+0x477f mem_reconn_times
+0x4780 mem_reconn_times_init
+0x4781 mem_mouse_no_data_timer
+0x4783 mem_mouse_rssi_signal_buf
+0x478b mem_btclk_sensor
+0x478f mem_mouse_bluetooth_fast_conn_flag
+0x4790 mem_mouse_discovery_timer
+0x4792 mem_mouse_bluetooth_reconnect_timeout
+0x4793 mem_mouse_need_soft_reset
+0x4794 mem_mouse_le_bb_connected_flag
+0x4795 mem_mouse_le_reconnect_flag
+0x4796 mem_mouse_send_secutiry_request_timer
+0x4797 mem_mouse_le_lap_temp
+0x479a mem_le_adv_ind
+0x479d mem_le_adv_direct_ind
+0x47a0 mem_le_adv_swift_pair
+0x47b4 mem_le_data_len
+0x47b5 mem_le_keyboard_handle
+0x47b7 mem_le_multimedia_handle
+0x47b9 mem_le_systemctrl_handle
+0x47bb mem_le_battery_level_handle
+0x47bd mem_le_battery_level_percentage
+0x47be mem_le_battery_level_updata_timer_init
+0x47c0 mem_le_battery_level_updata_timer
+0x47c2 mem_mouse_le_conn_param_reject
+0x47c3 mem_le_tx_buffer0_omemalloc
+0x47e3 mem_le_tx_buffer1_omemalloc
+0x4803 mem_le_tx_buffer2_omemalloc
+0x4823 mem_le_tx_buffer3_omemalloc
+0x4843 mem_le_connect_status_flag
+0x4844 mem_le_start_encrypt_timer
+0x4845 mem_mouse_direct_timer
+0x4846 mem_power_on_flag
+0x4847 mem_mouse_factory_addr
+0x484d mem_keyboard_flag
+0x4855 mem_keyboard_tx_data
+0x485f mem_keyboard_data_send_flag
+0x4860 mem_keyboard_le_send_conn_param_update
+0x4861 mem_keyboard_le_send_conn_param_update_timer
+0x4862 mem_le_start_auto_reco_timer
+0x4863 mem_mcu_stb_gpio
+0x4864 mem_mcu_clk_gpio
+0x4865 mem_mcu_rstb_gpio
+0x4866 mem_keyboard_caps_led_gpio
+0x4867 mem_keyboard_num_led_gpio
+0x4868 mem_keyboard_power_led_gpio
+0x4869 mem_keyboard_caps_led_on_timer
+0x486b mem_keyboard_led_r_gpio
+0x486c mem_keyboard_led_g_gpio
+0x486d mem_keyboard_led_b_gpio
+0x486e mem_key_row_gpio
+0x4876 mem_key_col_gpio
+0x488a mem_key_excol_gpio
+0x4896 mem_kb_row_ptr
+0x4898 mem_kb_col_ptr
+0x489a mem_kb_excol_ptr
+0x489c mem_keyscan_value_current
+0x48b0 mem_keyscan_value_check
+0x48c4 mem_keyscan_value_old
+0x48d8 mem_keyscan_exmcu_value
+0x48e3 mem_keyscan_value_ptr
+0x48e5 mem_keyscan_exmcu_value_ptr
+0x48e7 mem_keyscan_value_temp
+0x48e8 mem_keyscan_col_loop_count
+0x48e9 mem_keyscan_exmcu_wait_wake_count
+0x48eb mem_same_keyvalue_timerout_flag
+0x48ec mem_same_keyvalue_timer_init
+0x48ee mem_same_keyvalue_timer
+0x48f0 mem_keyboard_current_col_press_key_count
+0x48f1 mem_keyboard_all_press_key_count
+0x48f2 mem_keyboard_same_row_press_key_count
+0x48f3 mem_keyboard_ghost_flag
+0x48f4 mem_keyboard_data_change_flag
+0x48f5 mem_keyboard_keyvalue_temp
+0x48f6 mem_keyboard_press_flag_temp
+0x48f7 mem_keyboard_keyvalue_bit_loop_count
+0x48f8 mem_keyboard_keyvalue_buffer
+0x4901 mem_keyboard_keyvalue_map
+0x49a1 mem_keyboard_fn_flag
+0x49a2 mem_keyboard_control_key_flag
+0x49a3 mem_keyboard_bt_button_flag
+0x49a4 mem_keyboard_pairing_type
+0x49a5 mem_keyboard_commbination_key_bt
+0x49a7 mem_keyboard_commbination_key_24g
+0x49a9 mem_24g_repeat_send_flag
+0x49aa mem_keyboard_led_status
+0x49ab mem_keyboard_led_status_get
+0x49ac mem_keyboard_led_status_get_timer
+0x49ad mem_keyboard_led_status_get_timer_last
+0x49ae mem_keyboard_fn_esc_f1_f12
+0x49ae mem_keyboard_fn_first
+0x49af mem_keyboard_fn_esc
+0x49b0 mem_keyboard_fn_f1
+0x49b1 mem_keyboard_fn_f2
+0x49b2 mem_keyboard_fn_f3
+0x49b3 mem_keyboard_fn_f4
+0x49b4 mem_keyboard_fn_f5
+0x49b5 mem_keyboard_fn_f6
+0x49b6 mem_keyboard_fn_f7
+0x49b7 mem_keyboard_fn_f8
+0x49b8 mem_keyboard_fn_f9
+0x49b9 mem_keyboard_fn_f10
+0x49ba mem_keyboard_fn_f11
+0x49bb mem_keyboard_fn_f12
+0x49bc mem_keyboard_fn_del
+0x49bd mem_keyboard_fn_arrow_enable_flag
+0x49be mem_keyboard_fn_left_ctrl_enable_flag
+0x49bf mem_keyboard_fn_space_enable_flag
+0x49c0 mem_keyboard_fn_system_switch_enable_flag
+0x49c1 mem_keyboard_commbination_key_step
+0x49c2 mem_keyboard_commbination_control_key_value
+0x49c3 mem_keyboard_commbination_standard_key_value
+0x49c4 mem_keyboard_commbination_control_key_delay_release_timer
+0x49c5 mem_keyboard_consumer_key_status
+0x49c6 mem_kb_computer_system
+0x49c7 mem_otp_read_retention_memory
+0x49df mem_otp_read_retention_offset
+0x49e1 mem_le_search_service_uuid
+0x49f1 mem_le_connect_ios_mac_flag
+0x49f2 mem_le_search_mac_uuid
+0x49f4 mem_le_search_mac_manu_name
+0x49fd mem_keybord_appearance
+0x49ff mem_keyboard_commbination_fast_conn_bt
+0x4846 mem_mouse_key
+0x4847 mem_mouse_x
+0x4849 mem_mouse_y
+0x484b mem_mouse_z
+0x484c mem_mouse_tz
+0x484d mem_mouse_xy_h
+0x484e mem_mouse_key_last
+0x484f mem_wheel_tb_old_pinlevel
+0x4850 mem_wheel_tb_new_pinlevel
+0x4851 mem_wheel_tog
+0x4852 mem_mouse_tz_data
+0x4853 mem_mwheel_b_old_pinlevel
+0x4854 mem_mwheel_b_new_pinlevel
+0x4855 mem_mwheel_tog
+0x4856 mem_mouse_z_data
+0x4857 mem_mouse_wheel_trigger
+0x4858 mem_mouse_wheel_trigger_timer
+0x4859 mem_sensor_id1
+0x485a mem_sensor_id2
+0x485b mem_sensor_shutter_hi
+0x485c mem_sensor_shutter_lo
+0x485d mem_sensor_smart_flag
+0x485e mem_sensor_squal_reg
+0x485f mem_sensor_iqc
+0x4860 mem_mouse_move_flag
+0x4861 mem_mouse_asm_flag
+0x4862 mem_mouse_x_pre
+0x4864 mem_mouse_y_pre
+0x4866 mem_mouse_data_xtemp
+0x4867 mem_mouse_data_ytemp
+0x4868 mem_mouse_dpi_seting
+0x4868 mem_320x_dpi_0
+0x4869 mem_320x_dpi_1
+0x486a mem_320x_dpi_2
+0x486b mem_320x_dpi_3
+0x486c mem_3212_dpi_0
+0x486d mem_3212_dpi_1
+0x486e mem_3212_dpi_2
+0x486f mem_3212_dpi_3
+0x4870 mem_ka8g2_dpi_0
+0x4871 mem_ka8g2_dpi_1
+0x4872 mem_ka8g2_dpi_2
+0x4873 mem_ka8g2_dpi_3
+0x4874 mem_sensor_s201_dpi
+0x4874 mem_sensor_s201_dpi_0
+0x4875 mem_sensor_s201_dpi_1
+0x4876 mem_sensor_s201_dpi_2
+0x4877 mem_sensor_s201_dpi_3
+0x4878 mem_sensor_s201_dpi_4
+0x4879 mem_mouse_cpi_count
+0x487a mem_mouse_dpi_button_state
+0x487b mem_mouse_dpi_long_press_flag
+0x487c mem_sensor_3212_init
+0x4886 mem_sensor_3204_init
+0x4890 mem_sensor_3205_init
+0x489a mem_sensor_32xx_init
+0x48b4 mem_sensor_32xx_init_1
+0x48d6 mem_sensor_8650_init
+0x48fc mem_sensor_ka8ul_init
+0x491a mem_sensor_8009_init
+0x492a mem_sensor_ka8g2_init
+0x493a mem_sensor_p6520_init
+0x4946 mem_sensor_poweron_init
+0x494e mem_sensor_ka8g2_poweron_init
+0x4956 mem_mouse_clear_sensor_data_flag
+0x4957 mem_config_sensor_type
+0x4958 mem_config_sensor_angle
+0x4959 mem_bluetooth_125hz_cnt
+0x495a mem_device_addr_temp
+0x4961 mem_mouse_bt_boot_mode
+0x4962 mem_mouse_bt_boot_data
+0x4967 mem_bt_send_max_slot_req_accept_after_switch
+0x4968 mem_mouse_bt_send_first_package_timer
+0x4969 mem_mouse_bt_send_first_package_flag
+0x496a mem_lmi_opcode_temp
+0x496b mem_lpm_mult_init
+0x496c mem_customer_key
+0x496d mem_customer_data_trigger
+0x496e mem_customer_data_trigger_last
+0x496f mem_mouse_lkey_press_status
+0x4970 mem_mouse_rkey_press_status
+0x4971 mem_mouse_mkey_press_status
+0x4972 mem_mouse_bkkey_press_status
+0x4973 mem_mouse_fwkey_press_status
+0x4974 mem_mouse_dpikey_press_status
+0x4975 mem_mouse_pbkey_press_status
+0x4976 mem_mouse_customerkey_press_status
+0x4977 mem_mouse_key_temp
+0x4978 mem_mouse_key_status
+0x4979 mem_mouse_matrix_key_cow_count
+0x497a mem_mouse_matrix_key_row_count
+0x497b mem_mouse_ghost_flag
+0x497c mem_bt_discovery_count
+0x497d mem_select_device_count
+0x497e mem_mouse_commbination_key
+0x497f mem_select_device_button_statue
+0x4980 mem_commbination_key_statue
+0x4981 mem_combination_ui_button_count
+0x4982 mem_fire_key_status
+0x4983 mem_fire_key_delay
+0x4987 mem_fire_key_flag
+0x4988 mem_dpi_another_press_status
+0x4989 mem_dpi_another_button_state
+0x498a mem_dpi_another_button_down_enable
+0x498b mem_mouse_key_temp_patch
+0x498c mem_le_name_patch_len
+0x498d mem_le_name_patch
+0x49a0 mem_device_flag_last
+0x49a1 mem_device_flag_temp
+0x49a2 mem_device_flag_value
+0x49a3 mem_mouse_le_addr1_last
+0x49a9 mem_mouse_le_addr1_temp
+0x49af mem_mouse_le_locall_addr1_last
+0x49b5 mem_mouse_le_locall_addr1_temp
+0x49bb mem_mouse_le_addr2_last
+0x49c1 mem_mouse_le_addr2_temp
+0x49c7 mem_mouse_le_locall_addr2_last
+0x49cd mem_mouse_le_locall_addr2_temp
+0x49d3 mem_mouse_dpi_last
+0x49d4 mem_mouse_dpi_temp
+0x49d5 mem_mouse_otp_dpi_value
+0x49d6 mem_mouse_24g_addr_last
+0x49da mem_mouse_24g_addr_temp
+0x49de mem_random_addr_increase_count_last
+0x49e0 mem_random_addr_increase_count_temp
+0x49e2 mem_otp_offset_device_flag
+0x49e4 mem_otp_offset_device_flag_end
+0x49e6 mem_otp_offset_24g_addr
+0x49e8 mem_otp_offset_24g_addr_end
+0x49ea mem_otp_offset_le_addr1
+0x49ec mem_otp_offset_le_addr1_end
+0x49ee mem_otp_offset_le_locall_addr1
+0x49f0 mem_otp_offset_le_locall_addr1_end
+0x49f2 mem_otp_offset_le_addr2
+0x49f4 mem_otp_offset_le_addr2_end
+0x49f6 mem_otp_offset_le_locall_addr2
+0x49f8 mem_otp_offset_le_locall_addr2_end
+0x49fa mem_otp_offset_dpi
+0x49fc mem_otp_offset_dpi_end
+0x49fe mem_otp_offset_le_addr_increase_count
+0x4a00 mem_otp_offset_le_addr_increase_count_end
+0x4a02 mem_otp_offset_app_initflag
+0x4a04 mem_24g_txpayload_buf
+0x4a14 mem_release_data_from_receiver_enable
+0x4a15 mem_release_data_from_transmiter_enable
+0x4a16 mem_flippen_key0_gpio
+0x4a17 mem_flippen_key1_gpio
+0x4a18 mem_flippen_key2_gpio
+0x4a19 mem_flippen_key3_gpio
+0x4a1a mem_flippen_key4_gpio
+0x4a1b mem_flippen_key5_gpio
+0x4a1c mem_flippen_key6_gpio
+0x4a1d mem_flippen_key7_gpio
+0x4a1e mem_flippen_key0_press_status
+0x4a1f mem_flippen_key1_press_status
+0x4a20 mem_flippen_key2_press_status
+0x4a21 mem_flippen_key3_press_status
+0x4a22 mem_flippen_key4_press_status
+0x4a23 mem_flippen_key5_press_status
+0x4a24 mem_flippen_key6_press_status
+0x4a25 mem_flippen_key7_press_status
+0x4a26 mem_key_press_data
+0x4a26 mem_key_pageup_data
+0x4a2f mem_key_pagedown_data
+0x4a38 mem_key_shift_f5_data
+0x4a41 mem_key_esc_data
+0x4a4a mem_key_b_data
+0x4a53 mem_key_tab
+0x4a5c mem_key_enter
+0x4a65 mem_key_alt_tab
+0x4a6e mem_key_alt_f4
+0x4a77 mem_key_play_pause
+0x4a80 mem_key_vol_up
+0x4a89 mem_key_vol_down
+0x4a92 mem_standard_key_release
+0x4a9b mem_system_ctrl_key_release
+0x4aa4 mem_media_key_release
+0x4aad mem_key0_long_press_flag
+0x4aae mem_key1_long_press_flag
+0x4aaf mem_key2_long_press_flag
+0x4ab0 mem_key3_long_press_flag
+0x4ab1 mem_key4_long_press_flag
+0x4ab2 mem_key0_long_press_event
+0x4ab3 mem_key1_long_press_event
+0x4ab4 mem_key2_long_press_event
+0x4ab5 mem_key3_long_press_event
+0x4ab6 mem_key4_long_press_event
+0x4ab7 mem_key0_short_press_flag
+0x4ab8 mem_key1_short_press_flag
+0x4ab9 mem_key2_short_press_flag
+0x4aba mem_key3_short_press_flag
+0x4abb mem_key4_short_press_flag
+0x4abc mem_key0_press_timer_count
+0x4abd mem_key1_press_timer_count
+0x4abe mem_key2_press_timer_count
+0x4abf mem_key3_press_timer_count
+0x4ac0 mem_key4_press_timer_count
+0x4ac1 mem_combination_key_down_flag
+0x4ac2 mem_combination_key_longpress_flag
+0x4ac3 mem_key_disable_timer
+0x4ac4 mem_24g_calculate_package_id_disable
+0x4ac5 mem_24g_package_id_abandon_flag
+0x4ac6 mem_24g_package_id
+0x4ac7 mem_key_state
+0x4ac8 mem_key_press_state
+0x4ac9 mem_poweron_first_blank_data_enable
+0x4aca mem_flippen_no_data_timeout
+0x4acc mem_flippen_start_pair_no_data_timeout
+0x4ace mem_key_longpress_timer_init
+0x4ad0 mem_key_longpress_timer
+0x4ad2 mem_low_voltage_led_blink_flag
+0x4ad3 mem_low_voltage_led_blink_start_timer
+0x4ad4 mem_poweron_led_blink_flag
+0x4ad5 mem_24g_pair_enable_flag
+0x4ad6 mem_24g_ch_work
+0x4ad7 mem_24g_pair_key_down_flag
+0x4ad8 mem_24g_pairing_stop_flag
+0x4ad9 mem_longpress_24g_enter_hibernate_flag
+0x4ada mem_g24_connected_state
+0x4adb mem_g24_pairing_stop_flag
+0x4adc mem_send_package_before_check
+0x462d mem_remote_car_hard_soft_switch
+0x462e mem_remote_car_queue_each_size
+0x462f mem_remote_car_queue_length
+0x4630 mem_remote_car_queue_curr_num
+0x4631 mem_remote_car_queue_read_ptr
+0x4632 mem_remote_car_queue_write_ptr
+0x4633 mem_remote_car_queue_ele
+0x468d mem_remote_style_led_type
+0x468e mem_remote_style_blink_count
+0x468f mem_remote_style_struct_led_gpio
+0x4690 mem_remote_style_on_time
+0x4692 mem_remote_style_off_time
+0x4694 mem_remote_style_cb_ledon
+0x4696 mem_remote_style_cb_ledoff
+0x4698 mem_remote_car_led_num
+0x4699 mem_remote_car_led_map
+0x46a1 mem_remote_car_keyscan
+0x46a1 mem_remote_car_key_num
+0x46a2 mem_cb_remote_car_keyscan
+0x46a4 mem_remote_car_key_conf0
+0x46a4 mem_remote_car_key_conf0_pin
+0x46a5 mem_remote_car_key_conf1
+0x46a5 mem_remote_car_key_conf1_pin
+0x46a6 mem_remote_car_key_conf2
+0x46a6 mem_remote_car_key_conf2_pin
+0x46a7 mem_remote_car_key_conf3
+0x46a7 mem_remote_car_key_conf3_pin
+0x46a8 mem_remote_car_key_conf4
+0x46a8 mem_remote_car_key_conf4_pin
+0x46a9 mem_remote_car_key_conf5
+0x46a9 mem_remote_car_key_conf5_pin
+0x46aa mem_remote_car_key_conf6
+0x46aa mem_remote_car_key_conf6_pin
+0x46ab mem_rocker_negative_flag
+0x46ac mem_rocker_work_status
+0x46ad mem_current_vdd_value_default_mid_x
+0x46af mem_current_vdd_value_default_mid_y
+0x46b1 mem_current_vdd_value_default_mid_temp
+0x46b3 mem_current_vdd_default_range
+0x46b5 mem_rocker_last_status
+0x46b7 mem_rocker_status
+0x46b7 mem_rocker_x_status
+0x46b8 mem_rocker_y_status
+0x46b9 mem_remote_car_config_param
+0x46b9 mem_remote_car_config_setting_flag
+0x46ba mem_remote_car_config_key_map
+0x46bb mem_remote_car_config_layout
+0x46bc mem_remote_car_config_connect_led_gpio
+0x46bd mem_remote_car_config_check_way
+0x46be mem_remote_car_config_soft_switch_enable
+0x46bf mem_remote_car_config_soft_switch_gpio
+0x46c0 mem_remote_car_config_timeout_shutdown_enable
+0x46c1 mem_remote_car_24g_motor_packet
+0x46c1 mem_remote_car_24g_motor_packet_lenght
+0x46c2 mem_remote_car_24g_motor_send_packet_head
+0x46c4 mem_remote_car_24g_motor_send_cmd
+0x46c5 mem_remote_car_24g_motor_send_length
+0x46c7 mem_remote_car_24g_motor_send_payload
+0x46c7 mem_remote_car_24g_motor1_payload
+0x46c9 mem_remote_car_24g_motor2_payload
+0x46cb mem_remote_car_24g_motor3_payload
+0x46cd mem_remote_car_24g_motor_send_checksum
+0x46ce mem_remote_car_24g_fire_packet
+0x46ce mem_remote_car_24g_fire_packet_lenght
+0x46cf mem_remote_car_24g_fire_send_packet_head
+0x46d1 mem_remote_car_24g_fire_send_cmd
+0x46d2 mem_remote_car_24g_fire_send_length
+0x46d4 mem_remote_car_24g_fire_send_payload
+0x46d6 mem_remote_car_24g_fire_send_checksum
+0x46d7 mem_remote_car_24g_tx_temp
+0x46e6 mem_remote_car_no_data_timeout
+0x46e8 mem_remote_car_no_data_timer
+0x46ea mem_remote_car_soft_power
+0x46ea mem_remote_car_power_state
+0x46eb mem_remote_car_power_timer
+0x46ec mem_remote_car_power_off_timeout
+0x46ed mem_remote_car_power_starting_timeout
+0x46ee mem_remote_car_power_off_cb
+0x46f0 mem_remote_car_power_starting_cb
+0x46f2 mem_remote_car_power_standby_cb
+0x46f4 mem_remote_key_status
+0x46f5 mem_remote_car_24g_status
+0x46f6 mem_remote_car_24g_auto_work_step
+0x46f7 mem_remote_car_24g_pair_success_flag
+0x46f8 mem_remote_car_empty_packet
+0x46f9 mem_remote_car_motor1_key0_press_state
+0x46fa mem_remote_car_motor1_key1_press_state
+0x46fb mem_remote_car_motor2_key2_press_state
+0x46fc mem_remote_car_motor2_key3_press_state
+0x46fd mem_remote_car_motor1_rel_state
+0x46fe mem_remote_car_motor2_rel_state
+0x46ff mem_remote_car_no_data_check
+0x4700 mem_remote_24g_commom_addr
+0x4704 mem_remote_24g_commom_addr_temp
+0x4708 mem_remote_24g_commom_addr_read
+0x470c mem_remote_save_addr_flag
+0x44f1 mem_hci_uart_tx_gpio
+0x44f2 mem_hci_uart_rx_gpio
+0x44f3 mem_hci_uart_rts_gpio
+0x44f4 mem_hci_uart_cts_gpio
+0x44f5 mem_hci_pwm_12mhz_gpio
+0x44f1 mem_soft_version_num
+0x44f3 mem_module_wake_up_gpio
+0x44f4 mem_module_state_gpio
+0x44f5 mem_module_connect_state_gpio
+0x44f6 mem_current_packet_length
+0x44f8 mem_module_state
+0x44f9 mem_module_mcu_wake_pin
+0x44fa mem_module_mcu_wake_delay_us
+0x44fe mem_module_le_lpm_mult
+0x44ff mem_module_bluetooth_stauts_by_command
+0x4500 mem_module_uart_rx_buffer
+0x4502 mem_module_uart_rx_buffer_end
+0x4504 mem_module_uart_tx_buffer
+0x4506 mem_module_uart_tx_buffer_end
+0x4508 mem_module_uarta_baud_rate
+0x450a mem_module_read_vdd_flag
+0x450b mem_module_read_vdd_count
+0x450c mem_module_vdd_quotient
+0x450d mem_module_vdd_remainder
+0x450e mem_module_ble_data_uart_max_length
+0x450f mem_module_flag
+0x4511 mem_module_hci_notify_len
+0x4512 mem_module_hci_notify_handle
+0x4514 mem_module_hci_nofiy_addr
+0x4516 mem_module_hci_notify_type
+0x4517 mem_le_conn_flag
+0x4518 mem_module_le_att_list
+0x4770 mem_module_le_att_list_end
+0x4770 mem_module_nv_data
+0x4770 mem_module_nv_data0
+0x4792 mem_module_nv_data1
+0x47b4 mem_module_nv_data2
+0x47d6 mem_module_nv_data3
+0x47f8 mem_module_nv_data4
+0x481a mem_module_nv_data_end
+0x44f1 mem_ble_shutter_enable_notify
+0x44f2 mem_ble_shutter_reconn_adv_interval
+0x44f4 mem_ble_shutter_discovery_adv_interval
+0x44f6 mem_ble_shutter_reconn_timeout
+0x44f8 mem_ble_shutter_reconn_timer
+0x44fa mem_ble_shutter_reconn_blink_on_time
+0x44fc mem_ble_shutter_reconn_blink_off_time
+0x44fe mem_ble_shutter_discovery_blink_on_time
+0x4500 mem_ble_shutter_discovery_blink_off_time
+0x4502 mem_ble_shutter_interval_min
+0x4504 mem_ble_shutter_interval_max
+0x4506 mem_ble_shutter_latency
+0x4508 mem_ble_shutter_timeout
+0x450a mem_ble_shutter_interval_min_new
+0x450c mem_ble_shutter_interval_max_new
+0x450e mem_ble_shutter_latency_new
+0x4510 mem_ble_shutter_timeout_new
+0x4512 mem_ble_shutter_discovery_timeout
+0x4514 mem_ble_shutter_connect_timeout
+0x4516 mem_shutter_sleep_timeout
+0x4518 mem_shutter_sleep_timer
+0x451a mem_shutter_hard_soft_switch_case
+0x451b mem_shutter_soft_switch_button_gpio
+0x451c mem_shutter_soft_switch_power_state
+0x451d mem_shutter_soft_switch_poweron_time
+0x451e mem_shutter_soft_switch_poweroff_time
+0x451f mem_shutter_soft_switch_poweron_callback_function
+0x4521 mem_shutter_soft_switch_poweroff_callback_function
+0x4523 mem_shutter_keyscan
+0x4523 mem_shutter_key_num
+0x4524 mem_cb_shutter_keycan
+0x4526 mem_shutter_key_conf0
+0x4527 mem_shutter_key_conf1
+0x4528 mem_shutter_key_conf2
+0x4529 mem_shutter_key_conf3
+0x452a mem_shutter_key_conf4
+0x452b mem_shutter_key_conf5
+0x452c mem_shutter_key_conf6
+0x452d mem_shutter_key_conf7
+0x452e mem_key0_press
+0x4533 mem_key1_press
+0x4538 mem_key2_press
+0x453d mem_key3_press
+0x4542 mem_key4_press
+0x4547 mem_key5_press
+0x454c mem_key6_press
+0x4551 mem_key7_press
+0x4556 mem_key0_release
+0x455b mem_key1_release
+0x4560 mem_key2_release
+0x4565 mem_key3_release
+0x456a mem_key4_release
+0x456f mem_key5_release
+0x4574 mem_key6_release
+0x4579 mem_key7_release
+0x457e mem_ble_data_buffer1
+0x4583 mem_ble_data_buffer2
+0x4588 mem_ble_data_buffer3
+0x458d mem_ble_data_buffer4
+0x4592 mem_ble_data_buffer5
+0x4597 mem_ble_data_buffer6
+0x459c mem_ble_data_buffer7
+0x45a1 mem_ble_data_buffer8
+0x45a6 mem_ble_data_buffer9_58
+0x45d8 mem_queue_each_size
+0x45d9 mem_queue_length
+0x45da mem_queue_curr_num
+0x45db mem_queue_read_ptr
+0x45dc mem_queue_write_ptr
+0x45dd mem_queue_ele
+0x45fd mem_shutter_nv_data
+0x46a7 mem_shutter_led_struct_app_led
+0x46a7 mem_shutter_led_struct_app_led_type
+0x46a8 mem_shutter_led_struct_app_led_blink_count
+0x46a9 mem_shutter_led_struct_app_led_gpio
+0x46aa mem_shutter_led_struct_app_led_on_time
+0x46ac mem_shutter_led_struct_app_led_off_time
+0x46ae mem_shutter_led_struct_app_led_on_callback
+0x46b0 mem_shutter_led_struct_app_led_off_callback
+0x46b2 mem_shutter_power_off_led_style
+0x46b2 mem_shutter_power_off_led_style_type
+0x46b3 mem_shutter_power_off_led_style_blink_count
+0x46b4 mem_shutter_power_off_led_style_gpio
+0x46b5 mem_shutter_power_off_led_style_on_time
+0x46b7 mem_shutter_power_off_led_style_off_time
+0x46b9 mem_shutter_power_off_led_style_on_callback
+0x46bb mem_shutter_power_off_led_style_off_callback
+0x46bd mem_shutter_soft_swtich_botton_down
+0x46be mem_shutter_soft_swtich_led_struct_temp
+0x46c9 mem_shutter_power_off_timeout
+0x46ca mem_shutter_power_off_timer
+0x46cb mem_shutter_key_conf0_temp
+0x46cd mem_shutter_led_struct_app_led_gpio_temp
+0x46ce mem_shutter_hard_soft_switch_case_temp
+0x46cf mem_shutter_soft_switch_button_gpio_temp
+0x46d0 mem_shutter_soft_switch_first_power_on
+0x46d1 mem_shutter_dy_conf
+0x46d2 mem_shutter_le_uuid_sup
+0x4876 mem_shutter_key_value_list
+0x489e mem_shutter_discovery_time_conf
+0x48a6 mem_shutter_reconn_or_discovery_blink_time_conf
+0x48ae mem_shutter_1s_timer
+0x48af mem_shutter_timer_625us
+0x48b1 mem_rf_init_data_new
+0x48bc mem_key_value_xmem
+0x48be mem_shutter_le_hid_map
+0x49e0 mem_shutter_le_map_len_android
+0x49e2 mem_shutter_le_map_len_ios
+0x49e4 mem_dy_le_search_service_uuid
+0x49f4 mem_iphone_flag
+0x49f5 mem_send_data_delay
+0x49f6 mem_key_send_clk
+0x49fa mem_shutter_key_state0
+0x4a04 mem_shutter_key_state1
+0x4a0e mem_shutter_key_state2
+0x4a18 mem_shutter_key_state3
+0x4a22 mem_shutter_key_state4
+0x4a2c mem_shutter_key_state5
+0x4a36 mem_shutter_key_state6
+0x4a40 mem_key0_release_new
+0x4a4f mem_key1_release_new
+0x4a5e mem_key2_release_new
+0x4a6d mem_key3_release_new
+0x4a7c mem_key4_release_new
+0x4a8b mem_key5_release_new
+0x4a9a mem_key6_release_new
+0x4aa9 mem_key0_long_press
+0x4aac mem_key1_long_press
+0x4aaf mem_key2_long_press
+0x4ab2 mem_key3_long_press
+0x4ab5 mem_key4_long_press
+0x4ab8 mem_key5_long_press
+0x4abb mem_key6_long_press
+0x4abe mem_key0_long_release
+0x4ac1 mem_key1_long_release
+0x4ac4 mem_key2_long_release
+0x4ac7 mem_key3_long_release
+0x4aca mem_key4_long_release
+0x4acd mem_key5_long_release
+0x4ad0 mem_key6_long_release
+0x4ad3 mem_combine_key0
+0x4ad5 mem_combine_key1
+0x4ad7 mem_combine_key2
+0x4ad9 mem_combine_key3
+0x4adb mem_combine_key4
+0x4add mem_combine_key5
+0x4adf mem_combine_key_state0
+0x4ae1 mem_combine_key0_press
+0x4aeb mem_combine_key1_press
+0x4af5 mem_combine_key2_press
+0x4aff mem_combine_key3_press
+0x4b09 mem_combine_key4_press
+0x4b13 mem_combine_key5_press
+0x4b1d mem_combine_key_release
+0x4b27 mem_shutter_move_data
+0x4b2b mem_key0_press_i
+0x4b35 mem_key1_press_i
+0x4b3f mem_key2_press_i
+0x4b49 mem_key3_press_i
+0x4b53 mem_key4_press_i
+0x4b5d mem_key5_press_i
+0x4b67 mem_key0_release_new_i
+0x4b76 mem_key1_release_new_i
+0x4b85 mem_key2_release_new_i
+0x4b94 mem_key3_release_new_i
+0x4ba3 mem_key4_release_new_i
+0x4bb2 mem_key5_release_new_i
+0x4bc1 mem_key6_release_new_i
+0x4bd0 mem_key0_long_press_i
+0x4bd3 mem_key1_long_press_i
+0x4bd6 mem_key2_long_press_i
+0x4bd9 mem_key3_long_press_i
+0x4bdc mem_key4_long_press_i
+0x4bdf mem_key5_long_press_i
+0x4be2 mem_key6_long_press_i
+0x4be5 mem_key0_long_release_i
+0x4be8 mem_key1_long_release_i
+0x4beb mem_key2_long_release_i
+0x4bee mem_key3_long_release_i
+0x4bf1 mem_key4_long_release_i
+0x4bf4 mem_key5_long_release_i
+0x4bf7 mem_key6_long_release_i
+0x4bfa mem_key3_release_new_t
+0x4c04 mem_key3_release_new_i_t
+0x4c0e mem_key3_press_count
+0x4c0f mem_shutter_like_timeout
+0x4c10 mem_shutter_key_pressed
+0x4c11 mem_shutter_combine_key_release
+0x4c12 mem_shutter_mousekey_value_list
+0x4eba mem_shutter_back_count
+0x4ebb mem_shutter_le_conned
+0x4ebc mem_move_config
+0x4ebc mem_shutter_iphone_beyond_x_count
+0x4ebd mem_shutter_iphone_beyond_y_count
+0x4ebe mem_shutter_move_data_x
+0x4ec0 mem_shutter_move_data_y
+0x4ec2 mem_last_shutter_le_iphone_flag
+0x4ec3 mem_move_config_end
+0x4ec3 mem_shutter_back_count_cache
+0x4ec4 mem_shutter_iphone_beyond_x_cache
+0x4ec5 mem_shutter_iphone_beyond_y_cache
+0x4ec6 mem_shutter_iphone_move_mid
+0x4ed0 mem_shutter_long_key_released_flag
+0x4ed1 mem_shutter_move_mid_timer
+0x4ed2 mem_shutter_pairing_success
+0x4ed3 mem_combine_key_release_value
+0x4ed5 mem_last_press_key_value
+0x4ed6 mem_shutter_first_move
+0x4ed7 mem_move_mode_set
+0x4ed8 mem_move_mode_key_index
+0x4ed9 mem_move_mode_trigger_enable
+0x4eda mem_shutter_android_move_mid
+0x4edf mem_shutter_iphone_up_mid
+0x4ee9 mem_shutter_iphone_like_mid
+0x4ef3 mem_shutter_key_num_conf
+0x4ef4 mem_shutter_dy_key_conf
+0x4efb mem_le_dy_adv_data
+0x4f06 mem_le_dy_scan_data
+0x4f12 mem_ble_shutter_dy_interval_min_new
+0x4f1a mem_shutter_ble_discovery_time_conf
+0x4f22 mem_queue_dy_each_size
+0x4f24 mem_dy_key0_press
+0x4f2e mem_dy_key1_press
+0x4f38 mem_dy_key2_press
+0x4f42 mem_dy_key3_press
+0x4f4c mem_dy_key4_press
+0x4f56 mem_dy_key5_press
+0x4f60 mem_dy_key6_press
+0x4f6a mem_shutter_led_on_light_dark_led_conf
+0x4f71 mem_shutter_led_off_light_dark_led_conf
+0x4f78 mem_shutter_reconn_blink_on_time_conf
+0x4f7c mem_shutter_discovery_blink_on_time_conf
+0x4f80 mem_shutter_efuse_start_offset
+0x4f82 mem_shutter_efuse_end_offset
+0x4f84 mem_initial_move_conf
+0x4f84 mem_android_initial_move_x
+0x4f86 mem_android_initial_move_y
+0x4f88 mem_iphone_initial_move_x
+0x4f8a mem_iphone_initial_move_y
+0x4f8c mem_otp_move_config
+0x4f8c mem_otp_shutter_move_data_x
+0x4f8e mem_otp_shutter_move_data_y
+0x4f90 mem_otp_last_shutter_le_iphone_flag
+0x4f91 mem_otp_move_config_end
+0x4f91 mem_otp_write_offset_addr
+0x4f93 mem_otp_read_offset_addr
+0x4f95 mem_otp_read_ios_android_addr
+0x4f97 mem_shutter_le_pairing_handle
+0x4f99 mem_shutter_temp_count
+0x4f9b mem_shutter_first_read_flag
+0x4f9c mem_shutter_valid_data_flag
+0x4f9d mem_shutter_volume_timer
+0x4f9e mem_shutter_link_timer
+0x4f9f mem_shutter_link_data
+0x4fa7 mem_shutter_link_data_i
+0x4faf mem_shutter_link_loop_flag
+0x4fb0 mem_shutter_end
+
+0x45ed mem_mesh_vendor_timer_timing_index_cyclic
+0x45ee mem_mesh_vendor_timer_timing_time_cyclic
+0x45f0 mem_mesh_vendor_timer_timing_zone_cyclic
+0x45f2 mem_mesh_vendor_timer_timing_weekdays_cyclic
+0x45f3 mem_mesh_vendor_timer_timing_attr_type_cyclic
+0x45f5 mem_mesh_vendor_timer_timing_attr_para_len_cyclic
+0x45f6 mem_mesh_vendor_timer_timing_attr_para_cyclic
+0x45fe mem_mesh_vendor_timer_timing_cyclic_flag
+0x45ed mem_mesh_vendor_timer_timing_index
+0x45ee mem_mesh_vendor_timer_timing_time
+0x45f2 mem_mesh_vendor_timer_timing_attr_type
+0x45f4 mem_mesh_vendor_timer_timing_attr_para_len
+0x45f5 mem_mesh_vendor_timer_timing_attr_para
+0x45fd mem_mesh_vendor_timer_timing_flag
+0x4806 mem_mesh_fast_pairing_timer
+0x49a1 mem_mesh_filter_status_message_opcode
+0x49a2 mem_mesh_filter_status_message_FilterType
+0x49a3 mem_mesh_filter_status_message_ListSize
+0x49a5 mem_mesh_filter_status_message_MIC
+0x49a1 mem_mesh_unsegmented_access_lower_transport_layer_head
+0x49a2 mem_mesh_unsegmented_access_lower_transport_layer_parameters
+0x49ad mem_mesh_unsegmented_access_lower_transport_layer_mic
+0x49a1 mem_mesh_segmented_access_lower_transport_layer_head
+0x49a2 mem_mesh_segmented_access_lower_transport_layer_SZMIC_SeqZero_SegO_SegN
+0x49a5 mem_mesh_segmented_access_lower_transport_layer_parameters
+0x49ad mem_mesh_segmented_access_lower_transport_layer_mic
+0x475e mem_k2_EncryptionKey
+0x474e mem_k2_PrivacyKey
Index: output/otp.dat
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/output/otp.dat	(nonexistent)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/output/otp.dat	(working copy)
@@ -0,0 +1,5852 @@
+0b
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+aa
+55
+1e
+14
+c2
+84
+00
+16
+c0
+00
+00
+2a
+c0
+01
+00
+30
+c0
+08
+80
+39
+c0
+0a
+02
+43
+c0
+0a
+80
+da
+c0
+0c
+00
+e8
+c0
+0c
+80
+8e
+c0
+0d
+00
+4a
+c0
+1b
+82
+b9
+c0
+1c
+00
+ad
+c0
+1c
+80
+a9
+c0
+1d
+04
+fb
+c0
+1e
+82
+b5
+c0
+1f
+03
+1a
+c0
+58
+82
+cc
+c0
+62
+80
+a6
+c0
+6d
+02
+15
+c0
+6e
+02
+25
+c0
+7f
+00
+ef
+c0
+7f
+80
+f7
+20
+20
+23
+5a
+c0
+00
+01
+14
+c0
+01
+01
+41
+c0
+03
+01
+b4
+c0
+1c
+82
+5f
+c0
+26
+82
+63
+c0
+37
+03
+86
+c0
+37
+82
+c2
+c0
+39
+03
+cd
+c0
+39
+83
+b8
+c0
+3a
+83
+95
+c0
+40
+83
+75
+c0
+41
+02
+65
+c0
+42
+03
+40
+c0
+42
+83
+a5
+c0
+44
+02
+9d
+c0
+45
+02
+aa
+c0
+45
+83
+a8
+c0
+4d
+83
+b1
+c1
+7f
+80
+00
+20
+20
+23
+5a
+20
+80
+00
+00
+37
+d9
+82
+00
+6f
+e0
+c0
+cb
+20
+40
+23
+e1
+20
+00
+75
+30
+20
+20
+20
+03
+20
+40
+75
+52
+20
+40
+74
+48
+20
+40
+2a
+45
+20
+40
+20
+2a
+20
+40
+42
+ad
+20
+40
+20
+18
+20
+40
+31
+0f
+20
+40
+24
+8c
+20
+20
+00
+30
+70
+8a
+0f
+60
+70
+8a
+10
+aa
+70
+8a
+12
+7a
+70
+8a
+25
+00
+70
+8a
+26
+00
+20
+00
+00
+3c
+70
+8a
+20
+20
+70
+8a
+23
+f5
+70
+8a
+24
+12
+70
+8a
+24
+10
+20
+00
+00
+3c
+70
+8a
+12
+60
+70
+8a
+23
+dd
+20
+60
+00
+00
+37
+d9
+82
+00
+70
+81
+3c
+58
+20
+20
+23
+e2
+70
+89
+46
+0d
+70
+89
+6f
+10
+70
+8a
+88
+40
+70
+8a
+13
+cd
+70
+8a
+06
+10
+70
+8a
+84
+4a
+70
+8a
+85
+40
+70
+8a
+16
+fe
+20
+40
+00
+af
+6f
+e0
+c4
+36
+20
+5a
+70
+d7
+24
+55
+80
+47
+37
+d9
+82
+00
+70
+81
+3b
+5f
+6f
+e0
+c0
+99
+c0
+08
+00
+83
+6f
+e0
+c4
+38
+1f
+e1
+fe
+04
+67
+f0
+8a
+02
+70
+89
+0f
+01
+70
+8a
+80
+24
+70
+8a
+81
+62
+58
+e6
+12
+12
+67
+f1
+8a
+73
+70
+8a
+86
+60
+70
+8a
+8b
+3b
+20
+40
+00
+75
+70
+80
+43
+00
+70
+80
+42
+05
+58
+55
+74
+74
+67
+f1
+89
+68
+70
+89
+60
+6e
+20
+40
+01
+e8
+20
+40
+02
+13
+20
+40
+00
+6f
+70
+41
+48
+0c
+20
+20
+6f
+4e
+20
+75
+80
+00
+37
+d9
+82
+00
+6f
+e0
+c1
+1c
+67
+f0
+81
+3a
+37
+d9
+82
+00
+20
+60
+00
+00
+6f
+e0
+c0
+99
+c0
+0c
+00
+7b
+6f
+e0
+c4
+38
+1f
+e1
+fe
+06
+67
+f0
+8a
+02
+70
+8a
+05
+e0
+70
+8a
+00
+d8
+20
+00
+00
+3c
+70
+8a
+01
+a0
+70
+8a
+00
+df
+70
+8a
+01
+fa
+20
+00
+00
+14
+70
+8a
+00
+9f
+20
+60
+00
+00
+6f
+e0
+c4
+38
+1f
+e1
+fe
+06
+67
+f0
+8a
+02
+70
+89
+0f
+00
+70
+8a
+80
+23
+70
+8a
+81
+b0
+58
+e4
+09
+09
+67
+f1
+8a
+73
+70
+8a
+76
+2a
+70
+89
+02
+04
+20
+20
+00
+62
+6f
+e0
+c1
+41
+c0
+03
+22
+25
+c0
+05
+00
+95
+c0
+4f
+00
+9a
+c0
+4f
+80
+9e
+c0
+50
+00
+a2
+20
+20
+22
+0e
+70
+8a
+14
+25
+58
+a9
+3f
+3f
+67
+f1
+8a
+60
+70
+8a
+63
+1f
+20
+60
+00
+00
+70
+8a
+14
+17
+58
+25
+03
+00
+67
+f1
+8a
+60
+20
+20
+22
+1a
+70
+8a
+14
+17
+58
+25
+01
+00
+67
+f1
+8a
+60
+20
+20
+22
+1a
+70
+8a
+14
+17
+58
+25
+00
+00
+67
+f1
+8a
+60
+20
+20
+22
+1a
+20
+40
+6b
+3a
+20
+40
+6b
+75
+20
+20
+6b
+38
+df
+20
+00
+01
+da
+20
+46
+48
+da
+40
+1f
+00
+20
+20
+6b
+45
+da
+40
+1f
+00
+20
+20
+47
+f1
+20
+35
+80
+d6
+6f
+e2
+02
+0d
+20
+7a
+00
+00
+37
+d9
+82
+00
+6f
+f0
+81
+36
+1f
+e1
+7e
+f0
+68
+48
+82
+0d
+98
+41
+fe
+00
+67
+f0
+81
+36
+37
+d9
+82
+00
+6f
+f0
+81
+38
+1f
+e1
+7e
+07
+68
+48
+82
+0e
+18
+49
+84
+00
+98
+41
+fe
+00
+67
+f0
+81
+38
+37
+d9
+82
+00
+6f
+f0
+8a
+cb
+1f
+e1
+7e
+f0
+68
+48
+82
+0f
+60
+48
+c1
+5b
+98
+41
+fe
+00
+67
+f0
+8a
+cb
+6f
+e0
+82
+10
+67
+e0
+c1
+5c
+2f
+ef
+fe
+03
+6f
+f0
+8a
+06
+79
+20
+fe
+07
+67
+f0
+8a
+06
+6f
+e0
+82
+10
+1f
+e1
+04
+07
+18
+52
+04
+00
+18
+43
+84
+00
+60
+48
+c4
+38
+6f
+f0
+8a
+02
+1f
+e1
+7e
+1f
+98
+41
+fe
+00
+67
+f0
+8a
+02
+20
+60
+00
+00
+6f
+e1
+41
+5b
+20
+7a
+00
+00
+67
+e1
+02
+0f
+20
+20
+00
+c0
+20
+40
+68
+6f
+20
+40
+21
+ba
+18
+00
+2a
+08
+18
+00
+2a
+00
+58
+0a
+aa
+da
+67
+f1
+8a
+0f
+70
+8a
+25
+40
+70
+8a
+26
+10
+20
+00
+00
+3c
+70
+8a
+01
+fb
+70
+8a
+25
+ff
+70
+8a
+26
+30
+70
+8a
+16
+fe
+20
+20
+21
+b4
+58
+0a
+aa
+7e
+67
+f1
+8a
+0f
+20
+00
+00
+3c
+70
+8a
+25
+00
+70
+8a
+26
+0d
+70
+8a
+16
+f6
+20
+20
+22
+03
+20
+40
+73
+96
+20
+40
+79
+32
+58
+00
+48
+41
+67
+e1
+07
+a9
+20
+20
+79
+15
+6f
+f0
+8c
+25
+c3
+83
+00
+00
+20
+20
+79
+93
+6f
+e0
+87
+09
+c4
+02
+80
+00
+20
+40
+79
+89
+28
+41
+fe
+0d
+20
+20
+f9
+99
+6f
+e0
+c6
+96
+c0
+00
+81
+06
+d8
+a0
+08
+6d
+20
+40
+79
+94
+6f
+e0
+87
+0c
+c0
+00
+79
+86
+c0
+00
+f9
+b6
+1f
+e6
+7c
+07
+20
+61
+00
+00
+20
+20
+01
+14
+d8
+a0
+08
+75
+20
+40
+79
+94
+70
+46
+96
+00
+6f
+e0
+87
+0c
+c0
+00
+81
+0e
+70
+08
+f7
+01
+70
+8c
+1b
+03
+20
+60
+00
+00
+6f
+e0
+88
+6d
+c3
+83
+80
+00
+6f
+e0
+88
+75
+20
+40
+7b
+6a
+70
+8c
+1b
+01
+20
+60
+00
+00
+79
+3f
+80
+23
+6f
+e0
+88
+6d
+1f
+e1
+7e
+80
+c0
+40
+01
+1a
+c0
+00
+01
+59
+20
+20
+23
+5a
+6f
+e0
+88
+6d
+1f
+f1
+fe
+00
+1f
+e3
+7e
+00
+1f
+e1
+7e
+03
+c0
+00
+01
+20
+20
+20
+79
+bf
+6f
+e0
+88
+6e
+c0
+04
+79
+eb
+c0
+03
+7a
+01
+c0
+05
+7a
+46
+c0
+00
+01
+26
+20
+20
+79
+e4
+6f
+e0
+88
+6b
+c0
+01
+79
+e4
+6f
+e0
+88
+6f
+c0
+80
+79
+e4
+6f
+e0
+88
+70
+c0
+80
+79
+e4
+6f
+e0
+88
+73
+c0
+81
+79
+e4
+6f
+e0
+88
+74
+c0
+80
+79
+e4
+6f
+e0
+88
+72
+c0
+80
+79
+e4
+6f
+e0
+88
+6d
+c0
+40
+7a
+6b
+c0
+40
+fa
+76
+c0
+41
+01
+37
+20
+20
+79
+e4
+6f
+e0
+88
+6b
+c0
+82
+79
+e4
+6f
+e0
+88
+71
+c0
+40
+fa
+87
+c0
+41
+7a
+89
+c0
+41
+fa
+8b
+c0
+01
+7a
+89
+1f
+e1
+7e
+7f
+c0
+00
+7a
+83
+20
+20
+79
+e4
+6f
+e0
+88
+70
+c0
+00
+fa
+14
+c0
+01
+01
+56
+c0
+10
+81
+4e
+c0
+11
+01
+47
+20
+20
+7a
+05
+6f
+e1
+08
+71
+c0
+00
+fa
+42
+6a
+40
+cb
+7b
+58
+00
+4b
+7b
+1f
+e0
+fe
+01
+1f
+e2
+22
+00
+20
+20
+7b
+8b
+70
+08
+fd
+00
+6f
+e0
+88
+71
+c0
+00
+7a
+0e
+c0
+00
+81
+53
+20
+20
+79
+e4
+6a
+40
+c9
+21
+da
+20
+49
+21
+20
+20
+7b
+8b
+58
+00
+48
+f5
+68
+48
+c8
+f5
+20
+20
+7a
+18
+6f
+e0
+88
+6d
+1f
+f1
+fe
+00
+1f
+e3
+7e
+00
+1f
+e1
+7e
+03
+c0
+00
+01
+61
+c0
+00
+81
+9f
+c0
+01
+79
+e3
+20
+20
+23
+5a
+6f
+e0
+88
+6e
+c0
+00
+81
+7e
+c0
+01
+81
+69
+c0
+02
+fb
+06
+c0
+04
+fb
+1f
+c0
+05
+fb
+3a
+c0
+03
+f9
+e4
+20
+20
+79
+e4
+6f
+e0
+88
+73
+c0
+80
+79
+e4
+6f
+e0
+88
+74
+c0
+80
+79
+e4
+6f
+e0
+88
+6d
+c0
+00
+7a
+e4
+c0
+00
+fa
+f2
+c0
+01
+01
+72
+20
+20
+79
+e4
+6f
+e0
+88
+6f
+c0
+80
+79
+e4
+6f
+e0
+88
+70
+c0
+80
+79
+e4
+6f
+e0
+88
+71
+c0
+40
+fb
+00
+c0
+41
+7b
+02
+c0
+41
+fb
+04
+c0
+01
+7b
+02
+1f
+e1
+7e
+7f
+c0
+00
+7a
+fe
+20
+20
+79
+e4
+6f
+e0
+88
+6b
+c0
+82
+79
+e4
+6f
+e0
+88
+73
+c0
+80
+79
+e4
+6f
+e0
+88
+74
+c0
+80
+79
+e4
+6f
+e0
+88
+70
+c0
+80
+79
+e4
+6f
+e0
+88
+72
+c0
+80
+79
+e4
+6f
+e0
+88
+6d
+c0
+00
+01
+8d
+c0
+00
+fa
+c8
+c0
+01
+01
+95
+20
+20
+79
+e4
+6f
+e0
+88
+6f
+c0
+80
+f9
+e4
+6f
+f0
+8c
+00
+79
+3f
+fe
+07
+67
+f0
+8c
+00
+70
+09
+01
+00
+70
+09
+02
+01
+20
+20
+79
+e9
+6f
+e0
+88
+6f
+c0
+80
+79
+e4
+6f
+e0
+88
+71
+c0
+40
+fa
+d4
+c0
+41
+7a
+d7
+c0
+41
+fa
+d9
+c0
+01
+7a
+d7
+1f
+e1
+7e
+7f
+c0
+00
+7a
+d2
+20
+20
+79
+e4
+6f
+e0
+88
+6e
+c0
+05
+7b
+4b
+c0
+04
+81
+a4
+c0
+05
+fb
+7c
+20
+20
+79
+e4
+20
+00
+3a
+98
+d8
+a0
+08
+75
+20
+40
+00
+f4
+70
+08
+f7
+01
+20
+40
+7b
+6e
+6f
+e0
+c6
+96
+1f
+e0
+fe
+01
+67
+e0
+c6
+96
+6f
+e1
+08
+6f
+67
+e1
+08
+f5
+70
+8c
+1b
+02
+20
+20
+7b
+65
+da
+20
+49
+3b
+20
+40
+7d
+a3
+20
+7a
+00
+00
+20
+20
+48
+37
+20
+40
+01
+b0
+6f
+e0
+89
+0d
+20
+7a
+00
+00
+6f
+f0
+8c
+25
+1f
+e1
+7e
+0f
+24
+3a
+7c
+30
+6f
+e0
+89
+0e
+20
+3a
+7c
+06
+6f
+e0
+89
+00
+c0
+01
+fc
+40
+c0
+81
+7c
+06
+6f
+e0
+89
+02
+24
+3a
+7c
+06
+20
+40
+01
+c3
+20
+20
+01
+c7
+6f
+f0
+8c
+25
+1f
+e1
+7e
+0f
+24
+7a
+00
+00
+20
+20
+7b
+f0
+da
+20
+49
+3b
+20
+40
+7d
+a3
+20
+7a
+00
+00
+6f
+f0
+8c
+25
+1f
+e1
+7e
+0f
+24
+7a
+00
+00
+6f
+e0
+89
+0d
+c4
+01
+00
+00
+6f
+e0
+89
+0d
+79
+3f
+fe
+02
+67
+e0
+89
+0d
+da
+20
+49
+3b
+20
+40
+7d
+97
+20
+7a
+00
+00
+c0
+10
+7c
+09
+c0
+10
+fc
+24
+c0
+11
+7c
+2c
+c0
+11
+81
+db
+c0
+12
+01
+e3
+20
+20
+23
+5a
+6f
+e0
+c9
+4c
+20
+7a
+00
+00
+1f
+e2
+72
+00
+d8
+c0
+49
+4d
+20
+40
+7b
+db
+d8
+a0
+49
+4c
+df
+20
+00
+41
+20
+20
+7c
+a1
+df
+20
+00
+40
+d8
+c0
+49
+d1
+20
+40
+7b
+db
+d8
+a0
+49
+d1
+20
+20
+01
+e1
+20
+75
+80
+00
+20
+40
+21
+60
+d8
+40
+00
+27
+20
+40
+21
+6f
+20
+40
+21
+a6
+70
+8a
+25
+7f
+70
+8a
+30
+1a
+70
+8a
+31
+78
+70
+8a
+8f
+b2
+70
+8a
+c2
+00
+70
+8a
+c3
+00
+d8
+e0
+00
+06
+20
+40
+02
+05
+2a
+2f
+fe
+0d
+20
+40
+21
+1d
+2a
+4f
+fe
+0d
+20
+40
+21
+1e
+d8
+e0
+00
+05
+20
+40
+21
+1c
+20
+40
+21
+1e
+20
+40
+02
+05
+d8
+a0
+8a
+c2
+1a
+31
+fe
+00
+20
+40
+21
+17
+1a
+51
+fe
+00
+20
+40
+21
+17
+18
+e0
+8f
+ff
+20
+21
+01
+fa
+20
+20
+21
+4f
+20
+00
+00
+3c
+58
+00
+0f
+00
+67
+f1
+09
+82
+58
+00
+0f
+f0
+67
+f1
+09
+84
+70
+89
+81
+09
+70
+89
+81
+03
+70
+89
+80
+06
+20
+00
+00
+3c
+da
+20
+00
+00
+da
+40
+00
+00
+df
+20
+00
+10
+d8
+c0
+0f
+00
+20
+20
+21
+2d
+20
+75
+80
+00
+20
+20
+22
+72
+20
+75
+80
+00
+70
+8a
+07
+77
+70
+8a
+08
+c9
+70
+8a
+0b
+01
+6f
+e0
+c4
+09
+67
+f0
+80
+cd
+20
+00
+0b
+b8
+20
+40
+02
+3d
+70
+8a
+08
+c1
+6a
+40
+c4
+19
+df
+20
+00
+08
+20
+40
+6f
+58
+6f
+e0
+c4
+19
+67
+e0
+c4
+33
+62
+40
+c4
+19
+20
+60
+00
+00
+20
+40
+02
+33
+6f
+f0
+8a
+09
+79
+3f
+fe
+07
+67
+f0
+8a
+09
+70
+8a
+07
+77
+70
+8a
+08
+c1
+70
+8a
+0b
+01
+20
+40
+6f
+90
+6f
+e0
+c4
+09
+67
+f0
+80
+cd
+20
+00
+0b
+b8
+20
+40
+02
+3d
+70
+80
+cd
+00
+20
+20
+6f
+a1
+6f
+f0
+80
+cc
+79
+20
+7e
+01
+67
+f0
+80
+cc
+6a
+40
+c4
+19
+6f
+e0
+c4
+33
+67
+e0
+c4
+19
+df
+20
+00
+08
+20
+40
+6f
+67
+62
+40
+c4
+19
+20
+60
+00
+00
+70
+80
+cc
+03
+6f
+f0
+81
+29
+c3
+02
+82
+3e
+68
+59
+01
+64
+60
+49
+44
+0a
+20
+20
+6f
+9f
+70
+8a
+82
+11
+70
+8a
+8d
+12
+70
+8a
+8e
+0a
+6f
+e0
+c0
+99
+c0
+08
+02
+5c
+58
+00
+57
+62
+67
+f1
+09
+07
+70
+89
+01
+03
+70
+89
+30
+03
+c6
+16
+80
+00
+70
+89
+01
+01
+70
+8a
+82
+07
+70
+8a
+8d
+44
+70
+8a
+8e
+0a
+6f
+e0
+c0
+99
+c0
+08
+02
+59
+58
+00
+2b
+b1
+67
+f1
+09
+07
+c6
+97
+80
+00
+70
+89
+30
+24
+70
+89
+01
+05
+20
+60
+00
+00
+58
+00
+41
+89
+67
+f1
+09
+07
+20
+20
+02
+55
+58
+00
+83
+12
+67
+f1
+09
+07
+20
+20
+02
+4a
+6f
+e0
+c3
+34
+c1
+00
+00
+00
+c0
+01
+b0
+4a
+20
+20
+28
+e1
+79
+3f
+80
+30
+20
+20
+2a
+f6
+6f
+e0
+c7
+b1
+c0
+55
+02
+6b
+c0
+2a
+82
+6d
+c0
+11
+02
+83
+c0
+7f
+82
+75
+20
+60
+00
+00
+6f
+e0
+c7
+b2
+20
+20
+33
+2a
+6f
+e0
+c5
+ae
+20
+3a
+02
+73
+6f
+e2
+47
+b3
+68
+4a
+44
+f1
+98
+46
+7c
+00
+24
+62
+80
+00
+6f
+e0
+c7
+b2
+20
+20
+33
+41
+6f
+e0
+c7
+b2
+c0
+00
+82
+79
+c0
+01
+02
+7e
+20
+60
+00
+00
+6f
+e0
+c5
+de
+24
+7a
+00
+00
+6f
+e2
+47
+b3
+67
+e2
+46
+2c
+20
+20
+35
+a3
+6f
+e0
+c5
+df
+24
+7a
+00
+00
+6f
+e2
+47
+b3
+67
+e2
+46
+2c
+20
+20
+35
+a9
+6f
+e0
+c5
+ae
+20
+3a
+02
+89
+6f
+e2
+47
+b3
+68
+4a
+46
+2c
+98
+46
+7c
+00
+24
+62
+80
+00
+6f
+e0
+c7
+b2
+c0
+00
+82
+8d
+c0
+01
+02
+95
+20
+60
+00
+00
+6f
+e0
+c5
+de
+24
+7a
+00
+00
+6f
+e0
+c5
+d3
+c0
+01
+02
+92
+20
+60
+00
+00
+70
+45
+de
+01
+20
+40
+33
+8d
+20
+20
+33
+6b
+6f
+e0
+c5
+df
+24
+7a
+00
+00
+6f
+e0
+c5
+d4
+c0
+80
+02
+9a
+20
+60
+00
+00
+70
+45
+df
+01
+20
+40
+33
+93
+20
+20
+33
+78
+6f
+e0
+c6
+16
+c1
+00
+00
+00
+6f
+e0
+c6
+2a
+24
+7a
+00
+00
+6f
+e0
+c6
+28
+24
+7a
+00
+00
+6f
+e0
+c6
+24
+20
+7a
+00
+00
+6f
+e0
+c5
+d3
+c1
+80
+00
+00
+6f
+e0
+c5
+d4
+c1
+80
+00
+00
+20
+20
+34
+36
+6f
+e0
+c6
+16
+c1
+80
+80
+00
+20
+40
+02
+ae
+20
+20
+34
+6d
+6f
+e0
+c6
+15
+c3
+80
+80
+00
+79
+20
+7e
+01
+67
+e0
+c6
+15
+58
+00
+00
+00
+67
+e1
+c5
+d3
+20
+20
+33
+07
+20
+40
+02
+b7
+20
+20
+03
+fa
+58
+00
+00
+10
+20
+20
+70
+c8
+20
+40
+47
+c3
+6f
+e0
+c6
+95
+67
+e0
+c5
+d1
+70
+45
+ca
+01
+20
+40
+32
+81
+6f
+e0
+c6
+69
+c4
+00
+00
+00
+70
+45
+ca
+01
+20
+20
+32
+84
+6f
+e0
+c6
+69
+c3
+00
+31
+65
+78
+37
+fc
+00
+20
+00
+00
+18
+6f
+e0
+c6
+dd
+79
+20
+7e
+00
+67
+e0
+c6
+dd
+20
+40
+33
+a5
+20
+40
+31
+e5
+20
+20
+31
+95
+58
+00
+03
+d8
+67
+e1
+45
+e0
+58
+00
+04
+84
+67
+e1
+45
+e4
+58
+00
+04
+cc
+67
+e1
+45
+e6
+58
+00
+02
+d7
+67
+e1
+45
+e2
+58
+00
+47
+f9
+67
+e1
+08
+59
+20
+20
+79
+12
+6f
+e0
+c5
+89
+c0
+00
+82
+da
+c0
+01
+02
+dd
+6f
+e0
+c6
+93
+c2
+80
+03
+10
+20
+20
+02
+df
+6f
+e0
+c6
+93
+c2
+80
+83
+14
+6f
+e0
+c6
+11
+c0
+00
+82
+e4
+c0
+01
+82
+f4
+c0
+04
+02
+fc
+20
+60
+00
+00
+70
+46
+11
+01
+20
+40
+02
+ec
+24
+77
+80
+00
+70
+46
+11
+01
+70
+45
+88
+08
+d8
+c0
+45
+d6
+d8
+a0
+46
+dd
+20
+20
+7c
+89
+6f
+e0
+c6
+16
+c1
+80
+80
+00
+6f
+e0
+c6
+10
+24
+7a
+00
+00
+6f
+e0
+c6
+9a
+c0
+00
+b3
+86
+c0
+01
+33
+8a
+20
+60
+00
+00
+6f
+e0
+c6
+99
+c0
+00
+82
+e4
+c0
+7f
+82
+e4
+70
+08
+f9
+00
+70
+45
+88
+01
+6f
+e0
+c6
+21
+67
+e0
+c6
+dd
+20
+60
+00
+00
+70
+46
+11
+00
+6f
+e0
+ca
+53
+c0
+02
+83
+01
+c0
+05
+03
+08
+20
+60
+00
+00
+70
+45
+89
+01
+6f
+e0
+ca
+55
+67
+e0
+c5
+88
+1f
+e2
+72
+00
+d8
+c0
+4a
+56
+d8
+a0
+46
+dd
+20
+20
+7c
+da
+70
+45
+89
+02
+6f
+e0
+ca
+99
+1f
+e0
+fe
+03
+67
+e0
+c5
+88
+1f
+e2
+72
+00
+d8
+c0
+4a
+97
+d8
+a0
+46
+dd
+20
+20
+7c
+da
+6f
+e0
+c6
+93
+79
+3f
+fe
+00
+67
+e0
+c6
+93
+20
+20
+03
+17
+6f
+e0
+c6
+93
+79
+3f
+fe
+01
+67
+e0
+c6
+93
+70
+45
+88
+01
+58
+00
+00
+ff
+20
+20
+02
+fa
+6f
+e0
+c6
+16
+c1
+80
+00
+00
+20
+40
+03
+2e
+20
+40
+48
+27
+6f
+e0
+c6
+10
+24
+7a
+00
+00
+6f
+e0
+c6
+11
+c1
+80
+00
+00
+6f
+e0
+c6
+14
+20
+7a
+00
+00
+d8
+e0
+00
+08
+20
+40
+7c
+ef
+24
+7a
+00
+00
+20
+40
+35
+1b
+20
+20
+35
+11
+6f
+e0
+c6
+0a
+c0
+00
+b5
+ea
+6f
+e0
+c6
+12
+c0
+00
+b5
+2c
+20
+60
+00
+00
+6f
+e0
+c6
+16
+c1
+80
+00
+00
+20
+40
+34
+51
+20
+40
+03
+29
+20
+40
+03
+6a
+24
+37
+b3
+be
+20
+40
+33
+e3
+24
+34
+33
+be
+6f
+e0
+c5
+7d
+20
+3a
+33
+be
+1f
+e0
+fe
+02
+98
+00
+72
+00
+d8
+c0
+46
+97
+d8
+a0
+47
+af
+20
+40
+7c
+da
+70
+46
+13
+00
+6f
+e0
+c6
+10
+20
+5a
+03
+46
+6f
+e0
+c7
+b1
+c0
+7f
+83
+64
+1f
+e1
+7e
+03
+c0
+00
+83
+4c
+c0
+01
+03
+5e
+20
+20
+33
+be
+6f
+e0
+c6
+2b
+20
+3a
+33
+fe
+70
+46
+14
+01
+58
+00
+06
+40
+d8
+e0
+00
+08
+20
+20
+7c
+e1
+20
+40
+33
+8d
+20
+40
+35
+2e
+6f
+e0
+c6
+0a
+68
+48
+c7
+af
+28
+4f
+fe
+03
+79
+20
+fe
+00
+67
+e0
+c6
+0a
+c0
+00
+83
+57
+6f
+e0
+c6
+12
+68
+48
+c7
+af
+20
+20
+33
+ce
+6f
+e0
+c5
+de
+24
+7a
+00
+00
+70
+45
+de
+01
+6f
+e2
+47
+b9
+20
+20
+35
+a3
+6f
+e2
+47
+b9
+20
+20
+35
+a9
+20
+40
+33
+93
+68
+48
+c7
+af
+28
+4f
+fe
+03
+20
+20
+83
+5c
+6f
+e1
+45
+e6
+20
+20
+7d
+79
+20
+40
+03
+68
+20
+20
+02
+75
+6f
+e0
+c5
+d5
+20
+7a
+00
+00
+6f
+e0
+c7
+b2
+20
+20
+33
+9c
+20
+40
+33
+be
+20
+40
+31
+19
+24
+77
+80
+00
+6f
+e0
+c6
+97
+1f
+e9
+7e
+00
+67
+e0
+c5
+89
+20
+40
+03
+95
+6f
+e0
+c7
+f5
+2f
+ef
+fe
+00
+20
+20
+b3
+fd
+20
+20
+33
+fa
+20
+40
+33
+be
+20
+40
+31
+19
+24
+37
+b3
+be
+20
+40
+03
+81
+20
+40
+03
+6d
+20
+40
+03
+66
+20
+40
+49
+3d
+6f
+e0
+c5
+ae
+20
+7a
+00
+00
+6f
+e2
+46
+2c
+20
+7a
+00
+00
+20
+20
+32
+36
+70
+46
+22
+05
+d8
+c0
+46
+97
+d8
+a0
+47
+af
+20
+40
+7c
+89
+20
+20
+33
+22
+20
+40
+31
+7d
+67
+e0
+c6
+97
+c5
+13
+83
+8e
+6f
+e0
+c6
+97
+1f
+e9
+7e
+00
+68
+48
+c5
+89
+a8
+40
+0e
+00
+24
+20
+b1
+8c
+20
+40
+31
+7d
+e7
+e0
+80
+05
+1f
+e6
+7c
+44
+24
+21
+31
+8e
+1f
+e2
+72
+00
+20
+22
+b1
+54
+20
+20
+31
+51
+6f
+e0
+c6
+98
+67
+e0
+c5
+7d
+1f
+e0
+fe
+01
+d8
+c0
+46
+98
+98
+c0
+8c
+00
+ef
+e1
+80
+06
+67
+e1
+c5
+80
+6f
+e0
+c6
+97
+1f
+e1
+04
+01
+60
+48
+c7
+f5
+1f
+e3
+04
+00
+18
+41
+04
+03
+60
+48
+c5
+86
+1f
+e9
+7e
+00
+67
+e0
+c6
+97
+20
+60
+00
+00
+d8
+a0
+46
+97
+df
+20
+00
+46
+20
+20
+7c
+a1
+6f
+e0
+c6
+16
+c1
+83
+80
+00
+20
+40
+34
+76
+20
+40
+34
+ae
+20
+40
+03
+6a
+24
+37
+b3
+be
+20
+40
+35
+06
+20
+42
+83
+34
+20
+20
+34
+91
+20
+40
+32
+14
+6f
+e0
+c5
+7d
+20
+7a
+00
+00
+98
+00
+72
+00
+d8
+c0
+46
+99
+d8
+a0
+47
+69
+20
+20
+7c
+da
+6f
+e0
+c5
+88
+1f
+e0
+fe
+03
+67
+e0
+c5
+8a
+6f
+e0
+c5
+ac
+67
+e0
+c7
+23
+6f
+e0
+c5
+89
+1f
+e9
+fe
+00
+68
+48
+c5
+7e
+18
+41
+04
+03
+18
+43
+84
+00
+98
+41
+fe
+00
+68
+48
+c5
+7f
+98
+40
+fe
+00
+e7
+e0
+80
+05
+6f
+e0
+c5
+88
+e7
+e0
+80
+05
+6f
+e0
+c5
+88
+98
+00
+72
+00
+d8
+c0
+46
+dd
+20
+40
+7c
+da
+20
+20
+31
+fc
+c5
+17
+83
+d2
+6f
+e0
+c5
+ca
+24
+3a
+03
+d2
+78
+4e
+fc
+00
+78
+2d
+fc
+00
+78
+23
+fc
+00
+78
+24
+fc
+00
+6f
+e0
+c5
+8a
+98
+00
+72
+00
+d8
+c0
+47
+23
+20
+20
+31
+b3
+20
+40
+34
+02
+20
+40
+34
+07
+20
+40
+34
+2d
+20
+40
+48
+a3
+20
+40
+34
+69
+20
+40
+34
+88
+20
+40
+48
+67
+20
+40
+03
+e2
+20
+40
+03
+ee
+20
+20
+03
+d9
+d8
+40
+ff
+fe
+6f
+e1
+47
+f8
+98
+46
+7c
+00
+20
+61
+00
+00
+1f
+e0
+fe
+01
+67
+e1
+47
+f8
+d8
+40
+00
+00
+da
+60
+05
+dc
+9a
+66
+7c
+00
+79
+21
+04
+00
+60
+48
+c7
+fc
+20
+60
+00
+00
+d8
+40
+ff
+fe
+6f
+e1
+47
+fa
+98
+46
+7c
+00
+20
+61
+00
+00
+1f
+e0
+fe
+01
+67
+e1
+47
+fa
+d8
+40
+00
+00
+da
+60
+05
+dc
+9a
+66
+7c
+00
+79
+21
+04
+00
+60
+48
+c7
+fd
+20
+60
+00
+00
+6f
+e0
+89
+01
+20
+5a
+48
+b5
+20
+40
+79
+06
+6f
+e0
+88
+f7
+20
+7a
+00
+00
+70
+08
+f7
+00
+6f
+e0
+88
+75
+c0
+7b
+84
+3c
+c0
+7b
+04
+4a
+c0
+7a
+84
+1a
+c0
+79
+84
+3a
+c0
+7a
+04
+23
+c0
+76
+84
+34
+c0
+77
+04
+34
+c0
+77
+84
+34
+c0
+78
+04
+34
+c0
+78
+84
+34
+c0
+79
+04
+2a
+c0
+7e
+04
+4d
+c0
+7f
+04
+55
+c0
+3d
+04
+5b
+c0
+50
+04
+62
+c0
+50
+84
+78
+20
+20
+48
+75
+df
+20
+00
+41
+d8
+a0
+4a
+55
+20
+20
+7c
+a1
+70
+4a
+54
+01
+70
+46
+11
+08
+d8
+c0
+08
+75
+d8
+a0
+4a
+56
+20
+20
+7c
+da
+6f
+e0
+88
+76
+c1
+82
+80
+00
+20
+40
+04
+12
+70
+4a
+53
+05
+6f
+e0
+88
+77
+67
+e0
+c9
+4b
+70
+4a
+55
+04
+6f
+20
+ca
+55
+20
+20
+04
+15
+6f
+e0
+88
+76
+c1
+82
+80
+00
+20
+40
+04
+12
+6f
+e0
+88
+76
+67
+e0
+ca
+53
+70
+4a
+55
+04
+20
+20
+04
+21
+6f
+e0
+88
+76
+c0
+02
+84
+2e
+c0
+05
+04
+32
+20
+60
+00
+00
+20
+40
+04
+12
+70
+4a
+53
+05
+70
+4a
+55
+05
+20
+20
+04
+21
+70
+4a
+53
+0a
+20
+60
+00
+00
+6f
+e0
+88
+76
+c1
+82
+80
+00
+20
+40
+04
+12
+70
+4a
+53
+05
+70
+4a
+55
+0d
+20
+20
+04
+21
+70
+49
+50
+01
+20
+20
+04
+b4
+58
+00
+00
+64
+67
+e0
+c9
+d1
+58
+00
+00
+64
+67
+e0
+c9
+d2
+58
+00
+00
+00
+67
+e0
+c9
+d3
+58
+00
+00
+00
+67
+e0
+c9
+d4
+58
+00
+00
+01
+67
+e0
+c9
+d5
+6f
+e2
+45
+8f
+67
+e2
+49
+d8
+70
+09
+0c
+24
+20
+20
+04
+c3
+6f
+e0
+88
+76
+67
+e0
+ca
+53
+20
+60
+00
+00
+6f
+e0
+88
+76
+67
+e0
+ca
+53
+df
+20
+00
+40
+d8
+c0
+08
+b5
+d8
+a0
+49
+d1
+20
+40
+7c
+cc
+70
+09
+0c
+24
+20
+20
+04
+c3
+6f
+e0
+88
+76
+67
+e0
+ca
+12
+1f
+e2
+72
+00
+d8
+c0
+08
+77
+d8
+a0
+4a
+13
+20
+20
+7c
+cc
+70
+46
+16
+02
+70
+46
+15
+00
+6f
+e0
+88
+76
+67
+e0
+c7
+ff
+6f
+e0
+88
+77
+67
+e0
+c8
+00
+20
+60
+00
+00
+6f
+e0
+88
+76
+67
+e0
+c9
+8d
+6f
+e0
+88
+77
+67
+e0
+c9
+8e
+6f
+e0
+88
+78
+67
+e0
+c9
+8f
+6f
+e0
+88
+79
+67
+e0
+c9
+90
+1f
+e2
+72
+00
+d8
+c0
+08
+7d
+d8
+a0
+49
+91
+20
+40
+7c
+cc
+70
+4a
+53
+0a
+70
+4a
+96
+01
+70
+4a
+97
+a2
+70
+4a
+98
+0a
+6f
+e0
+c9
+90
+67
+e0
+ca
+99
+1f
+e2
+72
+00
+d8
+c0
+08
+7d
+d8
+a0
+4a
+9a
+20
+20
+7c
+da
+6f
+e0
+88
+76
+67
+e0
+c9
+8d
+6f
+e0
+88
+77
+67
+e0
+c9
+8e
+6f
+e0
+88
+78
+67
+e0
+c9
+8f
+df
+20
+00
+40
+d8
+c0
+4a
+d8
+d8
+a0
+49
+d1
+20
+40
+7c
+cc
+70
+09
+0c
+24
+20
+20
+04
+c3
+58
+00
+00
+00
+67
+e1
+47
+fa
+67
+e0
+c6
+11
+6f
+e0
+c7
+b1
+c2
+83
+04
+ae
+c2
+83
+84
+bb
+c2
+82
+84
+be
+6f
+e0
+c5
+7d
+1f
+e6
+7c
+09
+20
+22
+84
+9b
+20
+40
+04
+9b
+6f
+e0
+c5
+7d
+1f
+e0
+ff
+f8
+67
+e0
+c5
+7d
+1f
+e2
+72
+00
+d8
+a0
+47
+b1
+d8
+c0
+47
+b9
+20
+40
+7c
+da
+6f
+e0
+c7
+b1
+c2
+83
+04
+ae
+c2
+83
+84
+bb
+c2
+82
+84
+be
+20
+60
+00
+00
+58
+00
+00
+01
+67
+e0
+89
+13
+6f
+e3
+c7
+b2
+e7
+e3
+80
+05
+6f
+e0
+c7
+b2
+24
+5a
+48
+dd
+6f
+e0
+c7
+b2
+20
+5a
+48
+e1
+6f
+e3
+89
+14
+67
+e3
+c9
+43
+6f
+e0
+c9
+43
+68
+48
+c9
+4a
+67
+e0
+c9
+4a
+98
+46
+7c
+00
+24
+22
+84
+ac
+6f
+e3
+49
+44
+20
+7a
+00
+00
+70
+09
+0c
+20
+20
+20
+04
+c3
+6f
+e0
+c7
+b2
+68
+48
+c9
+4b
+67
+e0
+c9
+4b
+98
+46
+7c
+00
+20
+62
+80
+00
+70
+49
+50
+00
+70
+49
+4c
+40
+70
+49
+4d
+a1
+70
+49
+4e
+05
+6f
+e0
+c9
+4b
+67
+e0
+c9
+4f
+70
+09
+0c
+23
+20
+20
+04
+c3
+6f
+e0
+c7
+b2
+67
+e0
+c7
+f7
+20
+60
+00
+00
+6f
+e0
+ca
+54
+20
+7a
+00
+00
+70
+4a
+54
+00
+70
+46
+11
+08
+20
+60
+00
+00
+6f
+e0
+89
+0e
+20
+7a
+00
+00
+da
+20
+49
+3b
+20
+40
+7d
+a5
+24
+7a
+00
+00
+6f
+e0
+89
+0c
+67
+e0
+86
+6f
+da
+20
+49
+3b
+20
+20
+7d
+8b
+6f
+e0
+c7
+b1
+c2
+83
+04
+e5
+c2
+82
+84
+e0
+6f
+e0
+c7
+b2
+c0
+00
+04
+d4
+c0
+01
+04
+da
+c0
+01
+84
+dd
+20
+20
+33
+be
+6f
+e0
+c7
+b4
+67
+e0
+c6
+11
+70
+47
+b4
+00
+d8
+a0
+09
+23
+d8
+c0
+47
+b3
+20
+20
+48
+ef
+d8
+a0
+09
+43
+d8
+c0
+47
+b2
+20
+20
+49
+1f
+d8
+a0
+09
+33
+d8
+c0
+47
+b2
+20
+20
+49
+07
+6f
+e0
+ca
+96
+20
+7a
+00
+00
+70
+4a
+96
+00
+70
+46
+11
+08
+20
+60
+00
+00
+6f
+e0
+c7
+b0
+1f
+e0
+ff
+ff
+1f
+e2
+72
+00
+6f
+e1
+4b
+79
+20
+5a
+04
+f0
+24
+5a
+04
+f2
+d8
+c0
+47
+b2
+20
+40
+7c
+cc
+18
+a2
+7e
+00
+67
+e1
+4b
+79
+20
+60
+00
+00
+d8
+a0
+4a
+d8
+20
+60
+00
+00
+6f
+e1
+4b
+79
+1f
+e2
+0a
+00
+20
+60
+00
+00
+da
+20
+00
+00
+ef
+e0
+80
+06
+9a
+20
+a2
+00
+c2
+00
+04
+f6
+1a
+21
+22
+ff
+20
+60
+00
+00
+6f
+e0
+c6
+68
+20
+7a
+00
+00
+d8
+e0
+00
+0d
+20
+40
+7c
+ef
+24
+7a
+00
+00
+70
+46
+68
+00
+58
+00
+00
+01
+67
+e0
+89
+13
+58
+00
+00
+00
+e7
+e3
+80
+05
+70
+09
+0c
+20
+20
+20
+04
+c3
+af
+13
+aa
+55
+40
+00
+00
+40
+05
+00
+32
+07
+00
+00
+80
+67
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+02
+00
+20
+00
+00
+14
+00
+00
+00
+c0
+45
+00
+00
+00
+00
+00
+00
+02
+00
+20
+00
+00
+00
+c0
+2c
+00
+36
+0d
+00
+08
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+aa
+55
+01
+00
+cb
+43
+04
+aa
+55
+01
+00
+ec
+44
+ff
+aa
+55
+01
+00
+1c
+02
+5a
+aa
+55
+01
+00
+69
+46
+10
+aa
+55
+01
+00
+94
+46
+03
+aa
+55
+18
+00
+6a
+46
+01
+51
+31
+20
+10
+51
+31
+20
+30
+01
+0d
+32
+2e
+34
+47
+20
+52
+65
+63
+65
+69
+76
+65
+72
+aa
+55
+01
+00
+95
+46
+94
+aa
+55
+06
+00
+f1
+44
+20
+17
+85
+74
+12
+23
+aa
+55
+02
+00
+8b
+45
+78
+69
+aa
+55
+02
+00
+0f
+46
+1e
+00
+aa
+55
+01
+00
+fe
+47
+01
+aa
+55
+43
+00
+f5
+48
+42
+09
+02
+42
+00
+02
+01
+00
+a0
+32
+09
+04
+00
+00
+01
+03
+01
+01
+00
+09
+21
+00
+02
+00
+01
+22
+3f
+00
+07
+05
+81
+03
+40
+00
+02
+09
+04
+01
+00
+02
+03
+01
+02
+00
+09
+21
+00
+02
+00
+01
+22
+a3
+00
+07
+05
+82
+03
+40
+00
+02
+07
+05
+02
+03
+40
+00
+02
+aa
+55
+a4
+00
+41
+48
+a3
+05
+01
+09
+02
+a1
+01
+85
+01
+09
+01
+a1
+00
+05
+09
+19
+01
+29
+05
+15
+00
+25
+01
+95
+05
+75
+01
+81
+02
+95
+01
+75
+03
+81
+01
+05
+01
+09
+30
+09
+31
+16
+01
+f8
+26
+ff
+07
+75
+10
+95
+02
+81
+06
+09
+38
+15
+81
+25
+7f
+75
+08
+95
+01
+81
+06
+05
+0c
+0a
+38
+02
+95
+01
+81
+06
+c0
+c0
+05
+01
+09
+80
+a1
+01
+85
+02
+05
+01
+19
+81
+29
+88
+15
+00
+25
+01
+95
+08
+75
+01
+81
+06
+c0
+05
+0c
+09
+01
+a1
+01
+85
+03
+15
+00
+26
+80
+03
+19
+00
+2a
+80
+03
+75
+10
+95
+01
+81
+00
+c0
+06
+a1
+ff
+09
+02
+a1
+01
+85
+a1
+95
+3f
+75
+08
+26
+ff
+00
+15
+00
+09
+01
+81
+02
+85
+a2
+95
+3f
+75
+08
+26
+ff
+00
+15
+00
+09
+01
+b1
+02
+c0
+aa
+55
+40
+00
+7b
+4b
+3f
+05
+01
+09
+06
+a1
+01
+75
+01
+95
+08
+05
+07
+19
+e0
+29
+e7
+15
+00
+25
+01
+81
+02
+95
+01
+75
+08
+81
+03
+95
+05
+75
+01
+05
+08
+19
+01
+29
+05
+91
+02
+95
+01
+75
+03
+91
+03
+95
+06
+75
+08
+15
+00
+25
+03
+05
+07
+19
+00
+29
+ff
+81
+00
+c0
+aa
+55
+01
+00
+48
+41
+0c
+aa
+55
+06
+00
+c3
+40
+35
+3f
+64
+db
+7b
+3b
+aa
+55
+01
+00
+a7
+40
+20
+aa
+55
+03
+00
+c9
+40
+00
+08
+a5
+aa
+55
+01
+00
+99
+40
+18
+aa
+55
+01
+00
+1c
+41
+3e
+aa
+55
+0c
+00
+16
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+aa
+55
+05
+00
+5e
+41
+08
+0e
+05
+03
+00
+aa
+55
+01
+00
+68
+41
+20
+aa
+55
+02
+00
+9a
+40
+00
+0c
+aa
+55
+05
+00
+43
+41
+ff
+04
+00
+00
+08
+aa
+55
+01
+00
+07
+44
+01
+aa
+55
+01
+00
+09
+44
+0a
+aa
+55
+01
+00
+08
+44
+00
+aa
+55
+01
+00
+11
+44
+00
+aa
+55
+04
+00
+0d
+44
+00
+07
+ff
+07
+aa
+55
+01
+00
+38
+44
+a0
+aa
+55
+02
+00
+3b
+44
+bc
+02
+aa
+55
+02
+00
+39
+44
+90
+01
+aa
+55
+02
+00
+3d
+44
+03
+09
+aa
+55
+01
+00
+49
+41
+ff
+aa
+55
+02
+00
+9c
+40
+49
+41
+55
+aa
+aa
+55
+54
+90
+15
+f2
+21
Index: output/program.lis
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/output/program.lis	(nonexistent)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/output/program.lis	(working copy)
@@ -0,0 +1,2216 @@
+              include "bt_format "
+              org 0x0000
+0000 c2840016 bbit1 8 ,pf_patch_ext 
+0001 c000002a beq patch00_0 ,p_soft_reset 
+0002 c0010030 beq patch00_2 ,p_main_loop 
+0003 c0088039 beq patch02_1 ,p_set_sync_on 
+0004 c00a0243 beq patch02_4 ,p_set_lemode 
+0005 c00a80da beq patch02_5 ,p_rf_rx_enable 
+0006 c00c00e8 beq patch03_0 ,p_txon 
+0007 c00c808e beq patch03_1 ,p_set_tx_power 
+0008 c00d004a beq patch03_2 ,p_initialize_radio_cont 
+0009 c01b82b9 beq patch06_7 ,p_dongle_default_init 
+000a c01c00ad beq patch07_0 ,p_dongle_read_kb_bind_status 
+000b c01c80a9 beq patch07_1 ,p_dongle_write_kb_bind_status 
+000c c01d04fb beq patch07_2 ,p_dongle_g24_ms_blank_data 
+000d c01e82b5 beq patch07_5 ,p_dongle_usb_dispatch 
+000e c01f031a beq patch07_6 ,p_dongle_work_mode_auto 
+000f c05882cc beq patch16_1 ,p_app_init 
+0010 c06280a6 beq patch18_5 ,p_otp_read_data 
+0011 c06d0215 beq patch1b_2 ,p_sadc_calibration 
+0012 c06e0225 beq patch1b_4 ,p_enable_adc 
+0013 c07f00ef beq patch1f_6 ,p_usb_init 
+0014 c07f80f7 beq patch1f_7 ,p_usb_rx 
+0015 2020235a branch assert 
+
+pf_patch_ext:
+0016 c0000114 beq patch20_0 ,p_usb_class_type 
+0017 c0010141 beq patch20_2 ,p_usb0_request_get_descriptor 
+0018 c00301b4 beq patch20_6 ,p_usb_tx 
+0019 c01c825f beq patch27_1 ,p_le_parse 
+001a c0268263 beq patch29_5 ,p_le_init_adv 
+001b c0370386 beq patch2d_6 ,p_g24_receive_update_rxbuff 
+001c c03782c2 beq patch2d_7 ,p_g24_receive_skip_end 
+001d c03903cd beq patch2e_2 ,p_g24_transmit_packet 
+001e c03983b8 beq patch2e_3 ,p_g24_transmit_prep 
+001f c03a8395 beq patch2e_5 ,p_g24_read_len_pid_crc 
+0020 c0408375 beq patch30_1 ,p_g24_bind_data_process 
+0021 c0410265 beq patch30_2 ,p_g24_bind_data_parse_next 
+0022 c0420340 beq patch30_4 ,p_g24_receive_packet_parse_end 
+0023 c04283a5 beq patch30_5 ,p_g24_rx_interrupt_clear 
+0024 c044029d beq patch31_0 ,p_g24_mode_switch_bind_search 
+0025 c04502aa beq patch31_2 ,p_g24_bind_mode_auto 
+0026 c04583a8 beq patch31_3 ,p_g24_search_mode_auto 
+0027 c04d83b1 beq patch33_3 ,p_g24_ackpayload_parse 
+0028 c17f8000 rtneq patch3f_7 
+0029 2020235a branch assert 
+
+p_soft_reset:
+002a 20800000 clear_stack 
+002b 37d98200 until null ,lpo_edge 
+002c 6fe0c0cb fetch 1 ,mem_lpm_hv_sel 
+002d 204023e1 call lpm_write_sel_hv 
+002e 20007530 nop 30000 
+002f 20202003 branch soft_reset + 2 
+
+p_main_loop:
+0030 20407552 call sp_calc_sequence_256 
+0031 20407448 call sp_calc_sequence_256_check 
+0032 20402a45 call le_advertising_dispatch 
+0033 2040202a call idle_dispatch 
+0034 204042ad call app_process_idle 
+0035 20402018 call connection_dispatch 
+0036 2040310f call g24_dispatch 
+0037 2040248c call lpm_dispatch 
+0038 20200030 branch p_main_loop 
+
+p_set_sync_on:
+0039 708a0f60 jam 0x60 ,0x8a0f 
+003a 708a10aa jam 0xaa ,0x8a10 
+003b 708a127a jam 0x7a ,0x8a12 
+003c 708a2500 jam 0x00 ,0x8a25 
+003d 708a2600 jam 0x00 ,0x8a26 
+003e 2000003c nop 60 
+003f 708a2020 jam 0x20 ,0x8a20 
+0040 708a23f5 jam 0xf5 ,0x8a23 
+0041 708a2412 jam 0x12 ,0x8a24 
+0042 708a2410 jam 0x10 ,0x8a24 
+0043 2000003c nop 60 
+0044 708a1260 jam 0x60 ,0x8a12 
+0045 708a23dd jam 0xdd ,0x8a23 
+0046 20600000 rtn 
+
+p_set_ck2rfpll:
+0047 37d98200 until null ,lpo_edge 
+0048 70813c58 jam 0x58 ,0x813c 
+0049 202023e2 branch lpm_write_wait 
+
+p_initialize_radio_cont:
+004a 7089460d jam 0x0d ,0x8946 
+004b 70896f10 jam 0x10 ,0x896f 
+004c 708a8840 jam 0x40 ,core_rx_cfg0 
+004d 708a13cd jam 0xcd ,0x8a13 
+004e 708a0610 jam 0x10 ,0x8a06 
+004f 708a844a jam 0x4a ,0x8a84 
+0050 708a8540 jam 0x40 ,0x8a85 
+0051 708a16fe jam 0xfe ,0x8a16 
+0052 204000af call p_set_otp_config 
+0053 6fe0c436 fetch 1 ,mem_wdt_always_work 
+0054 205a70d7 call wdt_set_disable ,blank 
+0055 24558047 ncall p_set_ck2rfpll ,wake 
+0056 37d98200 until null ,lpo_edge 
+0057 70813b5f jam 0x5f ,0x813b 
+0058 6fe0c099 fetch 1 ,mem_fcomp_div 
+0059 c0080083 beq xtal_16m ,p_initialize_radio_16m 
+005a 6fe0c438 fetch 1 ,mem_ring_ibias_trim 
+005b 1fe1fe04 or_into 0x04 ,pdata 
+005c 67f08a02 store 1 ,0x8a02 
+005d 70890f01 jam 0x01 ,0x890f 
+005e 708a8024 jam 0x24 ,0x8a80 
+005f 708a8162 jam 0x62 ,0x8a81 
+0060 58e61212 setarg 0xe61212 
+0061 67f18a73 store 3 ,0x8a73 
+
+p_initialize_radio2:
+0062 708a8660 jam 0x60 ,0x8a86 
+0063 708a8b3b jam 0x3b ,0x8a8b 
+0064 20400075 call p_dpll_on 
+0065 70804300 jam 0 ,core_config 
+0066 70804205 jam clksel_dpll ,core_clksel 
+0067 58557474 setarg 0x557474 
+0068 67f18968 store 3 ,0x8968 
+0069 7089606e jam 0x6e ,0x8960 
+006a 204001e8 call p_rx_dcoc 
+006b 20400213 call p_rfpll_aac_ghpc 
+006c 2040006f call p_set_xtal_cap 
+006d 7041480c jam system_clk_12m ,mem_system_clk 
+006e 20206f4e branch sadc_calibration 
+
+p_set_xtal_cap:
+006f 20758000 rtn wake 
+0070 37d98200 until null ,lpo_edge 
+0071 6fe0c11c fetch 1 ,mem_xtal_c_sel 
+0072 67f0813a store 1 ,core_xtal_cap 
+0073 37d98200 until null ,lpo_edge 
+0074 20600000 rtn 
+
+p_dpll_on:
+0075 6fe0c099 fetch 1 ,mem_fcomp_div 
+0076 c00c007b beq xtal_24m ,p_dpll_on_24m 
+0077 6fe0c438 fetch 1 ,mem_ring_ibias_trim 
+0078 1fe1fe06 or_into 0x06 ,pdata 
+0079 67f08a02 store 1 ,0x8a02 
+007a 708a05e0 jam 0xe0 ,0x8a05 
+
+p_dpll_on_24m:
+007b 708a00d8 jam 0xd8 ,0x8a00 
+007c 2000003c nop 60 
+007d 708a01a0 jam 0xa0 ,0x8a01 
+007e 708a00df jam 0xdf ,0x8a00 
+007f 708a01fa jam 0xfa ,0x8a01 
+0080 20000014 nop 20 
+0081 708a009f jam 0x9f ,0x8a00 
+0082 20600000 rtn 
+
+p_initialize_radio_16m:
+0083 6fe0c438 fetch 1 ,mem_ring_ibias_trim 
+0084 1fe1fe06 or_into 0x06 ,pdata 
+0085 67f08a02 store 1 ,0x8a02 
+0086 70890f00 jam 0x00 ,0x890f 
+0087 708a8023 jam 0x23 ,0x8a80 
+0088 708a81b0 jam 0xb0 ,0x8a81 
+0089 58e40909 setarg 0xe40909 
+008a 67f18a73 store 3 ,0x8a73 
+008b 708a762a jam 0x2a ,0x8a76 
+008c 70890204 jam 0x04 ,0x8902 
+008d 20200062 branch p_initialize_radio2 
+
+p_set_tx_power:
+008e 6fe0c141 fetch 1 ,mem_tx_power 
+008f c0032225 beq tx_power_6db ,set_tx_power_7db 
+0090 c0050095 beq tx_power_10db ,p_set_tx_power_10db 
+0091 c04f009a beq tx_power_f30db ,p_set_tx_power_f30db 
+0092 c04f809e beq tx_power_f35db ,p_set_tx_power_f35db 
+0093 c05000a2 beq tx_power_f40db ,p_set_tx_power_f40db 
+0094 2020220e branch set_tx_power + 2 
+
+p_set_tx_power_10db:
+0095 708a1425 jam 0x25 ,0x8a14 
+0096 58a93f3f setarg 0xa93f3f 
+0097 67f18a60 store 3 ,0x8a60 
+0098 708a631f jam 0x1f ,0x8a63 
+0099 20600000 rtn 
+
+p_set_tx_power_f30db:
+009a 708a1417 jam 0x17 ,0x8a14 
+009b 58250300 setarg 0x250300 
+009c 67f18a60 store 3 ,0x8a60 
+009d 2020221a branch set_tx_power_8a63_28 
+
+p_set_tx_power_f35db:
+009e 708a1417 jam 0x17 ,0x8a14 
+009f 58250100 setarg 0x250100 
+00a0 67f18a60 store 3 ,0x8a60 
+00a1 2020221a branch set_tx_power_8a63_28 
+
+p_set_tx_power_f40db:
+00a2 708a1417 jam 0x17 ,0x8a14 
+00a3 58250000 setarg 0x250000 
+00a4 67f18a60 store 3 ,0x8a60 
+00a5 2020221a branch set_tx_power_8a63_28 
+
+p_otp_read_data:
+00a6 20406b3a call enable_otp_read 
+00a7 20406b75 call otp_read_data + 1 
+00a8 20206b38 branch otp_disable_chgpump 
+
+p_dongle_write_kb_bind_status:
+00a9 df200001 arg 1 ,loopcnt 
+00aa da204648 arg mem_dg_kb_bind_flag ,rega 
+00ab da401f00 arg dongle_kb_bind_otp_offect ,regb 
+00ac 20206b45 branch otp_write 
+
+p_dongle_read_kb_bind_status:
+00ad da401f00 arg dongle_kb_bind_otp_offect ,regb 
+00ae 202047f1 branch dongle_read_kb_bind_status + 2 
+
+p_set_otp_config:
+00af 203580d6 branch p_set_otp_config_wake ,wake 
+00b0 6fe2020d fetch 4 ,mem_otp_core_ldo 
+00b1 207a0000 rtn blank 
+00b2 37d98200 until null ,lpo_edge 
+00b3 6ff08136 fetch 1 ,0x8136 
+00b4 1fe17ef0 and pdata ,0xf0 ,pdata 
+00b5 6848820d fetcht 1 ,mem_otp_core_ldo 
+00b6 9841fe00 ior temp ,pdata 
+00b7 67f08136 store 1 ,0x8136 
+00b8 37d98200 until null ,lpo_edge 
+00b9 6ff08138 fetch 1 ,0x8138 
+00ba 1fe17e07 and pdata ,0x7 ,pdata 
+00bb 6848820e fetcht 1 ,mem_otp_verf_bg 
+00bc 18498400 lshift3 temp ,temp 
+00bd 9841fe00 ior temp ,pdata 
+00be 67f08138 store 1 ,0x8138 
+00bf 37d98200 until null ,lpo_edge 
+
+p_set_otp_config2:
+00c0 6ff08acb fetch 1 ,0x8acb 
+00c1 1fe17ef0 and pdata ,0xf0 ,pdata 
+00c2 6848820f fetcht 1 ,mem_otp_charge_pump 
+00c3 6048c15b storet 1 ,mem_otp_charge_pump_x 
+00c4 9841fe00 ior temp ,pdata 
+00c5 67f08acb store 1 ,0x8acb 
+00c6 6fe08210 fetch 1 ,mem_otp_dpll_ibais 
+00c7 67e0c15c store 1 ,mem_otp_dpll_ibais_x 
+00c8 2feffe03 isolate1 3 ,pdata 
+00c9 6ff08a06 fetch 1 ,0x8a06 
+00ca 7920fe07 setflag true ,7 ,pdata 
+00cb 67f08a06 store 1 ,0x8a06 
+00cc 6fe08210 fetch 1 ,mem_otp_dpll_ibais 
+00cd 1fe10407 and pdata ,7 ,temp 
+00ce 18520400 lshift4 temp ,temp 
+00cf 18438400 lshift temp ,temp 
+00d0 6048c438 storet 1 ,mem_ring_ibias_trim 
+00d1 6ff08a02 fetch 1 ,0x8a02 
+00d2 1fe17e1f and pdata ,0x1f ,pdata 
+00d3 9841fe00 ior temp ,pdata 
+00d4 67f08a02 store 1 ,0x8a02 
+00d5 20600000 rtn 
+
+p_set_otp_config_wake:
+00d6 6fe1415b fetch 2 ,mem_otp_charge_pump_x 
+00d7 207a0000 rtn blank 
+00d8 67e1020f store 2 ,mem_otp_charge_pump 
+00d9 202000c0 branch p_set_otp_config2 
+
+p_rf_rx_enable:
+00da 2040686f call rf_debug_rx_gpio_high 
+00db 204021ba call rf_rx_agc_set 
+00dc 18002a08 force 8 ,radio_ctrl 
+00dd 18002a00 force 0 ,radio_ctrl 
+00de 580aaada setarg 0x0aaada 
+00df 67f18a0f store 3 ,0x8a0f 
+00e0 708a2540 jam 0x40 ,0x8a25 
+00e1 708a2610 jam 0x10 ,0x8a26 
+00e2 2000003c nop 60 
+00e3 708a01fb jam 0xfb ,0x8a01 
+00e4 708a25ff jam 0xff ,0x8a25 
+00e5 708a2630 jam 0x30 ,0x8a26 
+00e6 708a16fe jam 0xfe ,0x8a16 
+00e7 202021b4 branch rf_rx_enable + 14 
+
+p_txon:
+00e8 580aaa7e setarg 0x0aaa7e 
+00e9 67f18a0f store 3 ,0x8a0f 
+00ea 2000003c nop 60 
+00eb 708a2500 jam 0x00 ,0x8a25 
+00ec 708a260d jam 0x0d ,0x8a26 
+00ed 708a16f6 jam 0xf6 ,0x8a16 
+00ee 20202203 branch txon + 7 
+
+p_usb_init:
+00ef 20407396 call enable_authrom 
+00f0 20407932 call usb_init_param 
+00f1 58004841 setarg mem_usb_ep2_config 
+00f2 67e107a9 store 2 ,mem_hidreportdesc_m 
+00f3 20207915 branch usb_init_restart 
+
+p_usb_rx_data:
+00f4 6ff08c25 fetch 1 ,core_usb_txbusy 
+00f5 c3830000 rtnbit1 usb_status_rxfull 
+00f6 20207993 branch usb_rx_data 
+
+p_usb_rx:
+00f7 6fe08709 fetch 1 ,mem_usb_status 
+00f8 c4028000 rtnbit0 usb_status_rxready 
+00f9 20407989 call usb_rx_len 
+00fa 2841fe0d compare 13 ,temp ,0xff 
+00fb 2020f999 branch usb_rx_ep13 ,true 
+00fc 6fe0c696 fetch 1 ,mem_setreport_count 
+00fd c0008106 beq 1 ,p_setreport_next_page_data 
+00fe d8a0086d arg mem_usb_setup ,contw 
+00ff 20407994 call usb_rx_read 
+
+p_usb_rx_next:
+0100 6fe0870c fetch 1 ,mem_usb_read_len 
+0101 c0007986 beq 0x00 ,usb_rx_no_data 
+0102 c000f9b6 beq 0x01 ,usb_out_one_byte 
+0103 1fe67c07 sub pdata ,7 ,null 
+0104 20610000 rtn positive 
+0105 20200114 branch p_usb_class_type 
+
+p_setreport_next_page_data:
+0106 d8a00875 arg mem_usb0_set_report_data ,contw 
+0107 20407994 call usb_rx_read 
+0108 70469600 jam 0 ,mem_setreport_count 
+0109 6fe0870c fetch 1 ,mem_usb_read_len 
+010a c000810e beq 0x01 ,p_usb_out_one_byte 
+010b 7008f701 jam 1 ,mem_usb0_get_set_report 
+010c 708c1b03 jam 0x03 ,core_usb_clear_nak 
+010d 20600000 rtn 
+
+p_usb_out_one_byte:
+010e 6fe0886d fetch 1 ,mem_usb_setup 
+010f c3838000 rtnbit1 7 
+0110 6fe08875 fetch 1 ,mem_usb0_set_report_data 
+0111 20407b6a call usb_get_led_status 
+0112 708c1b01 jam 0x1 ,core_usb_clear_nak 
+0113 20600000 rtn 
+
+p_usb_class_type:
+0114 793f8023 set0 mark_isstr ,mark 
+0115 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
+0116 1fe17e80 and_into 0x80 ,pdata 
+0117 c040011a beq in_device ,p_usb_in_device 
+0118 c0000159 beq out_device ,p_usb_out_device 
+0119 2020235a branch assert 
+
+p_usb_in_device:
+011a 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
+011b 1ff1fe00 rshift4 pdata ,pdata 
+011c 1fe37e00 rshift pdata ,pdata 
+011d 1fe17e03 and_into 0x03 ,pdata 
+011e c0000120 beq standard_req ,p_usb_in_standard_req 
+011f 202079bf branch usb_in_device + 5 
+
+p_usb_in_standard_req:
+0120 6fe0886e fetch 1 ,mem_usb_setup_brequest 
+0121 c00479eb beq get_configuration ,usb0_request_get_configuration 
+0122 c0037a01 beq get_descriptor ,usb0_request_get_descriptor 
+0123 c0057a46 beq get_interface ,usb0_request_get_interface 
+0124 c0000126 beq get_status ,p_usb0_request_get_status 
+0125 202079e4 branch usb0_force_stall 
+
+p_usb0_request_get_status:
+0126 6fe0886b fetch 1 ,mem_usb0_state 
+0127 c00179e4 beq dev_default ,usb0_force_stall 
+0128 6fe0886f fetch 1 ,mem_usb_setup_bvalue 
+0129 c08079e4 bne 0 ,usb0_force_stall 
+012a 6fe08870 fetch 1 ,mem_usb_setup_bvalueh 
+012b c08079e4 bne 0 ,usb0_force_stall 
+012c 6fe08873 fetch 1 ,mem_usb_setup_blength 
+012d c08179e4 bne 2 ,usb0_force_stall 
+012e 6fe08874 fetch 1 ,mem_usb_setup_blengthh 
+012f c08079e4 bne 0 ,usb0_force_stall 
+0130 6fe08872 fetch 1 ,mem_usb_setup_windex + 1 
+0131 c08079e4 bne 0 ,usb0_force_stall 
+0132 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
+0133 c0407a6b beq in_device ,usb0_get_status_in_device 
+0134 c040fa76 beq in_interface ,usb0_get_status_in_interface 
+0135 c0410137 beq in_endpoint ,p_usb0_get_status_in_endpoint 
+0136 202079e4 branch usb0_force_stall 
+
+p_usb0_get_status_in_endpoint:
+0137 6fe0886b fetch 1 ,mem_usb0_state 
+0138 c08279e4 bne dev_configured ,usb0_force_stall 
+0139 6fe08871 fetch 1 ,mem_usb_setup_windex 
+013a c040fa87 beq in_ep1 ,usb0_get_status_in_ep_in_ep1 
+013b c0417a89 beq in_ep2 ,usb0_get_status_in_ep_in_ep2 
+013c c041fa8b beq in_ep3 ,usb0_get_status_in_ep_in_ep3 
+013d c0017a89 beq out_ep2 ,usb0_get_status_in_ep_in_ep2 
+013e 1fe17e7f and_into 0x7f ,pdata 
+013f c0007a83 beq 0x00 ,usb0_get_status_in_ep_in_ep0 
+0140 202079e4 branch usb0_force_stall 
+
+p_usb0_request_get_descriptor:
+0141 6fe08870 fetch 1 ,mem_usb_setup_bvalueh 
+0142 c000fa14 beq dsc_device ,dsc_device_info 
+0143 c0010156 beq dsc_config ,p_dsc_config_info 
+0144 c010814e beq dsc_hid ,p_dsc_hid_info 
+0145 c0110147 beq dsc_hid_report ,p_dsc_hid_report_info 
+0146 20207a05 branch usb0_request_get_descriptor + 4 
+
+p_dsc_hid_report_info:
+0147 6fe10871 fetch 2 ,mem_usb_setup_windex 
+0148 c000fa42 beq 1 ,dsc_hid_report_info0 
+0149 6a40cb7b fetchr regb ,1 ,mem_keyboard_map 
+014a 58004b7b setarg mem_keyboard_map 
+014b 1fe0fe01 increase 1 ,pdata 
+014c 1fe22200 copy pdata ,rega 
+014d 20207b8b branch usb0_respond 
+
+p_dsc_hid_info:
+014e 7008fd00 jam 0 ,mem_usb_get_protocol_flag 
+014f 6fe08871 fetch 1 ,mem_usb_setup_windex 
+0150 c0007a0e beq 0 ,dsc_hid_info_interface0 
+0151 c0008153 beq 1 ,p_dsc_hid_info_interface1 
+0152 202079e4 branch usb0_force_stall 
+
+p_dsc_hid_info_interface1:
+0153 6a40c921 fetchr regb ,1 ,mem_config_new + 44 
+0154 da204921 arg mem_config_new + 44 ,rega 
+0155 20207b8b branch usb0_respond 
+
+p_dsc_config_info:
+0156 580048f5 setarg mem_config_new 
+0157 6848c8f5 fetcht 1 ,mem_config_new 
+0158 20207a18 branch dsc_info_set_data_len 
+
+p_usb_out_device:
+0159 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
+015a 1ff1fe00 rshift4 pdata ,pdata 
+015b 1fe37e00 rshift pdata ,pdata 
+015c 1fe17e03 and_into 0x03 ,pdata 
+015d c0000161 beq standard_req ,p_usb_out_standard_req 
+015e c000819f beq class_req ,p_usb_out_class_req 
+015f c00179e3 beq manufacturer_req ,usb_out_manufacturer_req 
+0160 2020235a branch assert 
+
+p_usb_out_standard_req:
+0161 6fe0886e fetch 1 ,mem_usb_setup_brequest 
+0162 c000817e beq clear_feature ,p_usb0_request_clear_feature 
+0163 c0018169 beq set_feature ,p_usb0_request_set_feature 
+0164 c002fb06 beq set_address ,usb0_request_set_address 
+0165 c004fb1f beq set_configuration ,usb0_request_set_configuration 
+0166 c005fb3a beq set_interface ,usb0_request_set_interface 
+0167 c003f9e4 beq set_descriptor ,usb0_force_stall 
+0168 202079e4 branch usb0_force_stall 
+
+p_usb0_request_set_feature:
+0169 6fe08873 fetch 1 ,mem_usb_setup_blength 
+016a c08079e4 bne 0 ,usb0_force_stall 
+016b 6fe08874 fetch 1 ,mem_usb_setup_blengthh 
+016c c08079e4 bne 0 ,usb0_force_stall 
+016d 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
+016e c0007ae4 beq out_device ,usb0_request_set_feature_out_device 
+016f c000faf2 beq out_interface ,usb0_request_set_feature_out_interface 
+0170 c0010172 beq out_endpoint ,p_usb0_request_set_feature_out_endpoint 
+0171 202079e4 branch usb0_force_stall 
+
+p_usb0_request_set_feature_out_endpoint:
+0172 6fe0886f fetch 1 ,mem_usb_setup_bvalue 
+0173 c08079e4 bne endpoint_halt ,usb0_force_stall 
+0174 6fe08870 fetch 1 ,mem_usb_setup_bvalueh 
+0175 c08079e4 bne 0 ,usb0_force_stall 
+0176 6fe08871 fetch 1 ,mem_usb_setup_windex 
+0177 c040fb00 beq in_ep1 ,usb0_force_stall_ep1_in_on 
+0178 c0417b02 beq in_ep2 ,usb0_force_stall_ep2_in_on 
+0179 c041fb04 beq in_ep3 ,usb0_force_stall_ep3_in_on 
+017a c0017b02 beq out_ep2 ,usb0_force_stall_ep2_in_on 
+017b 1fe17e7f and_into 0x7f ,pdata 
+017c c0007afe beq 0x00 ,usb0_force_stall_ep0_in_on 
+017d 202079e4 branch usb0_force_stall 
+
+p_usb0_request_clear_feature:
+017e 6fe0886b fetch 1 ,mem_usb0_state 
+017f c08279e4 bne dev_configured ,usb0_force_stall 
+0180 6fe08873 fetch 1 ,mem_usb_setup_blength 
+0181 c08079e4 bne 0 ,usb0_force_stall 
+0182 6fe08874 fetch 1 ,mem_usb_setup_blengthh 
+0183 c08079e4 bne 0 ,usb0_force_stall 
+0184 6fe08870 fetch 1 ,mem_usb_setup_bvalueh 
+0185 c08079e4 bne 0 ,usb0_force_stall 
+0186 6fe08872 fetch 1 ,mem_usb_setup_windex + 1 
+0187 c08079e4 bne 0 ,usb0_force_stall 
+0188 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
+0189 c000018d beq out_device ,p_usb0_request_clear_feature_out_device 
+018a c000fac8 beq out_interface ,usb0_request_clear_feature_out_interface 
+018b c0010195 beq out_endpoint ,p_usb0_request_clear_feature_out_endpoint 
+018c 202079e4 branch usb0_force_stall 
+
+p_usb0_request_clear_feature_out_device:
+018d 6fe0886f fetch 1 ,mem_usb_setup_bvalue 
+018e c080f9e4 bne device_remote_wakeup ,usb0_force_stall 
+018f 6ff08c00 fetch 1 ,core_usb_config 
+0190 793ffe07 set0 7 ,pdata 
+0191 67f08c00 store 1 ,core_usb_config 
+0192 70090100 jam 0 ,mem_usb_remote_wakeup 
+0193 70090201 jam 1 ,mem_usb_clear_remote_wakeup 
+0194 202079e9 branch usb0_reply_zerolen 
+
+p_usb0_request_clear_feature_out_endpoint:
+0195 6fe0886f fetch 1 ,mem_usb_setup_bvalue 
+0196 c08079e4 bne endpoint_halt ,usb0_force_stall 
+0197 6fe08871 fetch 1 ,mem_usb_setup_windex 
+0198 c040fad4 beq in_ep1 ,usb0_force_stall_ep1_in_off 
+0199 c0417ad7 beq in_ep2 ,usb0_force_stall_ep2_in_off 
+019a c041fad9 beq in_ep3 ,usb0_force_stall_ep3_in_off 
+019b c0017ad7 beq out_ep2 ,usb0_force_stall_ep2_in_off 
+019c 1fe17e7f and_into 0x7f ,pdata 
+019d c0007ad2 beq 0x00 ,usb0_force_stall_ep0_in_off 
+019e 202079e4 branch usb0_force_stall 
+
+p_usb_out_class_req:
+019f 6fe0886e fetch 1 ,mem_usb_setup_brequest 
+01a0 c0057b4b beq set_idle ,usb_set_idle 
+01a1 c00481a4 beq set_report ,p_usb_set_report 
+01a2 c005fb7c beq set_protocol ,usb_set_protocol_req 
+01a3 202079e4 branch usb0_force_stall 
+
+p_usb_set_report:
+01a4 20003a98 nop 15000 
+01a5 d8a00875 arg mem_usb0_set_report_data ,contw 
+01a6 204000f4 call p_usb_rx_data 
+01a7 7008f701 jam 1 ,mem_usb0_get_set_report 
+01a8 20407b6e call usb_set_report_resume_judge 
+01a9 6fe0c696 fetch 1 ,mem_setreport_count 
+01aa 1fe0fe01 pincrease 1 
+01ab 67e0c696 store 1 ,mem_setreport_count 
+01ac 6fe1086f fetch 2 ,mem_usb_setup_bvalue 
+01ad 67e108f5 store 2 ,mem_usb_setup_bvalue_temp 
+01ae 708c1b02 jam 0x2 ,core_usb_clear_nak 
+01af 20207b65 branch usb_set_report_next 
+
+p_usb_tx_ep2_queue_buff_check:
+01b0 da20493b arg mem_usb_ep2_fifo ,rega 
+01b1 20407da3 call fifo_is_empty 
+01b2 207a0000 rtn blank 
+01b3 20204837 branch dongle_usb_tx_enable_ep2 
+
+p_usb_tx:
+01b4 204001b0 call p_usb_tx_ep2_queue_buff_check 
+01b5 6fe0890d fetch 1 ,mem_usb_tx_enable 
+01b6 207a0000 rtn blank 
+01b7 6ff08c25 fetch 1 ,core_usb_txbusy 
+01b8 1fe17e0f and_into 0x0f ,pdata 
+01b9 243a7c30 nbranch usb_inwake_state_tx_dispose ,blank 
+01ba 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
+01bb 203a7c06 branch usb_tx_fifo_release ,blank 
+01bc 6fe08900 fetch 1 ,mem_usb_state 
+01bd c001fc40 beq usb_sleep ,usb_windows_wakeup 
+01be c0817c06 bne usb_connected ,usb_tx_fifo_release 
+01bf 6fe08902 fetch 1 ,mem_usb_clear_remote_wakeup 
+01c0 243a7c06 nbranch usb_tx_fifo_release ,blank 
+01c1 204001c3 call p_usb_tx_data_ep1 
+01c2 202001c7 branch p_usb_tx_data_ep2 
+
+p_usb_tx_data_ep1:
+01c3 6ff08c25 fetch 1 ,core_usb_txbusy 
+01c4 1fe17e0f and_into 0x0f ,pdata 
+01c5 247a0000 nrtn blank 
+01c6 20207bf0 branch usb_tx_data_ep1 + 2 
+
+p_usb_tx_data_ep2:
+01c7 da20493b arg mem_usb_ep2_fifo ,rega 
+01c8 20407da3 call fifo_is_empty 
+01c9 207a0000 rtn blank 
+01ca 6ff08c25 fetch 1 ,core_usb_txbusy 
+01cb 1fe17e0f and_into 0x0f ,pdata 
+01cc 247a0000 nrtn blank 
+01cd 6fe0890d fetch 1 ,mem_usb_tx_enable 
+01ce c4010000 rtnbit0 2 
+01cf 6fe0890d fetch 1 ,mem_usb_tx_enable 
+01d0 793ffe02 set0 2 ,pdata 
+01d1 67e0890d store 1 ,mem_usb_tx_enable 
+01d2 da20493b arg mem_usb_ep2_fifo ,rega 
+01d3 20407d97 call fifo_out 
+01d4 207a0000 rtn blank 
+01d5 c0107c09 beq usb_ep2_ms ,usb_tx_ms_data 
+01d6 c010fc24 beq usb_ep2_multikey ,usb_tx_kb_multikey_data 
+01d7 c0117c2c beq usb_ep2_systemkey ,usb_tx_kb_systemkey_data 
+01d8 c01181db beq usb_ep2_dpi ,p_usb_tx_dpi_data 
+01d9 c01201e3 beq usb_ep2_protocol ,p_usb_tx_protocol_data 
+01da 2020235a branch assert 
+
+p_usb_tx_dpi_data:
+01db 6fe0c94c fetch 1 ,mem_usb_dpi_info_data 
+01dc 207a0000 rtn blank 
+01dd 1fe27200 copy pdata ,loopcnt 
+01de d8c0494d arg mem_usb_dpi_info_data + 1 ,contr 
+01df 20407bdb call usb_tx_ep2 
+01e0 d8a0494c arg mem_usb_dpi_info_data ,contw 
+
+p_usb_tx_buff_clr:
+01e1 df200041 arg 65 ,loopcnt 
+01e2 20207ca1 branch clear_mem 
+
+p_usb_tx_protocol_data:
+01e3 df200040 arg 64 ,loopcnt 
+01e4 d8c049d1 arg mem_dg_protocol_usb_in_data_buff ,contr 
+01e5 20407bdb call usb_tx_ep2 
+01e6 d8a049d1 arg mem_dg_protocol_usb_in_data_buff ,contw 
+01e7 202001e1 branch p_usb_tx_buff_clr 
+
+p_rx_dcoc:
+01e8 20758000 rtn wake 
+01e9 20402160 call set_sync_on 
+01ea d8400027 arg 39 ,temp 
+01eb 2040216f call set_freq_rx 
+01ec 204021a6 call rf_rx_enable 
+01ed 708a257f jam 0x7f ,0x8a25 
+01ee 708a301a jam 0x1a ,0x8a30 
+01ef 708a3178 jam 0x78 ,0x8a31 
+01f0 708a8fb2 jam 0xb2 ,0x8a8f 
+01f1 708ac200 jam 0 ,0x8ac2 
+01f2 708ac300 jam 0 ,0x8ac3 
+01f3 d8e00006 arg 6 ,queue 
+01f4 20400205 call p_rx_dcoc_avg 
+01f5 2a2ffe0d isolate1 13 ,rega 
+01f6 2040211d call qset_start 
+01f7 2a4ffe0d isolate1 13 ,regb 
+01f8 2040211e call qset_p 
+01f9 d8e00005 arg 5 ,queue 
+
+p_rx_dcoc_loop2:
+01fa 2040211c call qset1_p 
+01fb 2040211e call qset_p 
+01fc 20400205 call p_rx_dcoc_avg 
+01fd d8a08ac2 arg 0x8ac2 ,contw 
+01fe 1a31fe00 rshift4 rega ,pdata 
+01ff 20402117 call qsetxor 
+0200 1a51fe00 rshift4 regb ,pdata 
+0201 20402117 call qsetxor 
+0202 18e08fff increase -1 ,queue 
+0203 202101fa branch p_rx_dcoc_loop2 ,positive 
+0204 2020214f branch rx_dcoc_loop2 + 10 
+
+p_rx_dcoc_avg:
+0205 2000003c nop 60 
+0206 58000f00 setarg mem_dcoc_buf 
+0207 67f10982 store 2 ,0x8982 
+0208 58000ff0 setarg mem_dcoc_buf_end 
+0209 67f10984 store 2 ,0x8984 
+020a 70898109 jam 0x9 ,0x8981 
+020b 70898103 jam 0x3 ,0x8981 
+020c 70898006 jam 0x6 ,0x8980 
+020d 2000003c nop 60 
+020e da200000 arg 0 ,rega 
+020f da400000 arg 0 ,regb 
+0210 df200010 arg 16 ,loopcnt 
+0211 d8c00f00 arg mem_dcoc_buf ,contr 
+0212 2020212d branch rx_dcoc_loop 
+
+p_rfpll_aac_ghpc:
+0213 20758000 rtn wake 
+0214 20202272 branch rfpll_aac_ghpc + 1 
+
+p_sadc_calibration:
+0215 20758000 rtn wake 
+0216 708a0777 jam 0x77 ,core_gpadc_ctrl 
+0217 708a08c9 jam 0xc9 ,core_gpadc_cfg0 
+0218 708a0b01 jam 0x01 ,core_gpadc_cfg3 
+0219 6fe0c409 fetch 1 ,mem_adc_clkdiv 
+021a 67f080cd store 1 ,core_sadc_clkdiv 
+021b 20000bb8 nop 3000 
+021c 2040023d call p_sadc_read 
+021d 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
+021e 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
+021f df200008 arg 8 ,loopcnt 
+0220 20406f58 call sadc_cal_read + 1 
+0221 6fe0c419 fetch 1 ,mem_spi_write_addr 
+0222 67e0c433 store 1 ,mem_adc_cal_c7 
+0223 6240c419 storer regb ,1 ,mem_spi_write_addr 
+0224 20600000 rtn 
+
+p_enable_adc:
+0225 20400233 call p_sadc_cal_write 
+0226 6ff08a09 fetch 1 ,core_gpadc_cfg1 
+0227 793ffe07 set0 7 ,pdata 
+0228 67f08a09 store 1 ,core_gpadc_cfg1 
+0229 708a0777 jam 0x77 ,core_gpadc_ctrl 
+022a 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
+022b 708a0b01 jam 0x01 ,core_gpadc_cfg3 
+022c 20406f90 call sadc_channel 
+022d 6fe0c409 fetch 1 ,mem_adc_clkdiv 
+022e 67f080cd store 1 ,core_sadc_clkdiv 
+022f 20000bb8 nop 3000 
+0230 2040023d call p_sadc_read 
+0231 7080cd00 jam 0 ,core_sadc_clkdiv 
+0232 20206fa1 branch sadc_dma 
+
+p_sadc_cal_write:
+0233 6ff080cc fetch 1 ,core_sadc_ctrl 
+0234 79207e01 set1 1 ,pdata 
+0235 67f080cc store 1 ,core_sadc_ctrl 
+0236 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
+0237 6fe0c433 fetch 1 ,mem_adc_cal_c7 
+0238 67e0c419 store 1 ,mem_spi_write_addr 
+0239 df200008 arg 8 ,loopcnt 
+023a 20406f67 call sadc_cal_write + 4 
+023b 6240c419 storer regb ,1 ,mem_spi_write_addr 
+023c 20600000 rtn 
+
+p_sadc_read:
+023d 7080cc03 jam 0x03 ,core_sadc_ctrl 
+
+p_sadc_read_wait:
+023e 6ff08129 fetch 1 ,core_perf_status 
+023f c302823e bbit0 saradc_done ,p_sadc_read_wait 
+0240 68590164 fetcht 2 ,core_sadc_data 
+0241 6049440a storet 2 ,mem_adc_current_value 
+0242 20206f9f branch sadc_read_wait2 + 2 
+
+p_set_lemode:
+0243 708a8211 jam 0x11 ,0x8a82 
+0244 708a8d12 jam 0x12 ,0x8a8d 
+0245 708a8e0a jam 0x0a ,0x8a8e 
+0246 6fe0c099 fetch 1 ,mem_fcomp_div 
+0247 c008025c beq xtal_16m ,p_set_lemode_2m_16m 
+0248 58005762 setarg 0x5762 
+0249 67f10907 store 2 ,0x8907 
+
+p_set_lemode_2m:
+024a 70890103 jam 3 ,0x8901 
+024b 70893003 jam 3 ,0x8930 
+024c c6168000 rtnmark1 mark_ble_2m 
+024d 70890101 jam 1 ,0x8901 
+024e 708a8207 jam 0x07 ,0x8a82 
+024f 708a8d44 jam 0x44 ,0x8a8d 
+0250 708a8e0a jam 0x0a ,0x8a8e 
+0251 6fe0c099 fetch 1 ,mem_fcomp_div 
+0252 c0080259 beq xtal_16m ,p_set_lemode_1m_16m 
+0253 58002bb1 setarg 0x2bb1 
+0254 67f10907 store 2 ,0x8907 
+
+p_set_lemode_1m:
+0255 c6978000 rtnmark0 mark_ble_lr 
+0256 70893024 jam 0x24 ,0x8930 
+0257 70890105 jam 5 ,0x8901 
+0258 20600000 rtn 
+
+p_set_lemode_1m_16m:
+0259 58004189 setarg 0x4189 
+025a 67f10907 store 2 ,0x8907 
+025b 20200255 branch p_set_lemode_1m 
+
+p_set_lemode_2m_16m:
+025c 58008312 setarg 0x8312 
+025d 67f10907 store 2 ,0x8907 
+025e 2020024a branch p_set_lemode_2m 
+
+p_le_parse:
+025f 6fe0c334 fetch 1 ,mem_le_packet_llid 
+0260 c1000000 rtneq llid_reserved 
+0261 c001b04a beq llid_le_ll ,le_parse_ll 
+0262 202028e1 branch le_parse_l2cap 
+
+p_le_init_adv:
+0263 793f8030 set0 mark_ble_crc_fail ,mark 
+0264 20202af6 branch le_init_adv + 1 
+
+p_g24_bind_data_parse_next:
+0265 6fe0c7b1 fetch 1 ,mem_24g_rxdata_temp_new + 2 
+0266 c055026b beq datatype_bind ,p_g24_bind_first_step 
+0267 c02a826d beq datatype_config ,p_g24_bind_second_step 
+0268 c0110283 beq datatype_ok ,p_g24_bind_third_step 
+0269 c07f8275 beq datatype_attemp ,p_g24_data_attemp 
+026a 20600000 rtn 
+
+p_g24_bind_first_step:
+026b 6fe0c7b2 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+026c 2020332a branch g24_bind_first_step + 1 
+
+p_g24_bind_second_step:
+026d 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
+026e 203a0273 branch p_g24_bind_second_step_skip ,blank 
+026f 6fe247b3 fetch 4 ,mem_24g_rxdata_temp_new + 4 
+0270 684a44f1 fetcht 4 ,mem_24g_lap 
+0271 98467c00 isub temp ,null 
+0272 24628000 nrtn zero 
+
+p_g24_bind_second_step_skip:
+0273 6fe0c7b2 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+0274 20203341 branch g24_bind_second_step_skip + 1 
+
+p_g24_data_attemp:
+0275 6fe0c7b2 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+0276 c0008279 beq datatype_device1 ,p_g24_data_attemp_device1 
+0277 c001027e beq datatype_device2 ,p_g24_data_attemp_device2 
+0278 20600000 rtn 
+
+p_g24_data_attemp_device1:
+0279 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
+027a 247a0000 nrtn blank 
+027b 6fe247b3 fetch 4 ,mem_24g_rxdata_temp_new + 4 
+027c 67e2462c store 4 ,mem_24g_transmitter_addr 
+027d 202035a3 branch g24_store_device1_addr 
+
+p_g24_data_attemp_device2:
+027e 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
+027f 247a0000 nrtn blank 
+0280 6fe247b3 fetch 4 ,mem_24g_rxdata_temp_new + 4 
+0281 67e2462c store 4 ,mem_24g_transmitter_addr 
+0282 202035a9 branch g24_store_device2_addr 
+
+p_g24_bind_third_step:
+0283 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
+0284 203a0289 branch p_g24_bind_third_step_skip ,blank 
+0285 6fe247b3 fetch 4 ,mem_24g_rxdata_temp_new + 4 
+0286 684a462c fetcht 4 ,mem_24g_transmitter_addr 
+0287 98467c00 isub temp ,null 
+0288 24628000 nrtn zero 
+
+p_g24_bind_third_step_skip:
+0289 6fe0c7b2 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+028a c000828d beq datatype_device1 ,p_g24_bind_third_step_device1 
+028b c0010295 beq datatype_device2 ,p_g24_bind_third_step_device2 
+028c 20600000 rtn 
+
+p_g24_bind_third_step_device1:
+028d 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
+028e 247a0000 nrtn blank 
+028f 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
+0290 c0010292 beq 2 ,p_g24_bind_dvc1_step_success 
+0291 20600000 rtn 
+
+p_g24_bind_dvc1_step_success:
+0292 7045de01 jam 1 ,mem_24g_device1_bind_disable 
+0293 2040338d call g24_binding_dvc1_living 
+0294 2020336b branch g24_bind_dvc1_step_success + 1 
+
+p_g24_bind_third_step_device2:
+0295 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
+0296 247a0000 nrtn blank 
+0297 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
+0298 c080029a bne 0 ,p_g24_bind_dvc2_step_success 
+0299 20600000 rtn 
+
+p_g24_bind_dvc2_step_success:
+029a 7045df01 jam 1 ,mem_24g_device2_bind_disable 
+029b 20403393 call g24_binding_dvc2_living 
+029c 20203378 branch g24_bind_dvc2_step_success + 1 
+
+p_g24_mode_switch_bind_search:
+029d 6fe0c616 fetch 1 ,mem_24g_work_mode 
+029e c1000000 rtneq dongle_work 
+029f 6fe0c62a fetch 1 ,mem_24g_b_s_mode_switch_disable 
+02a0 247a0000 nrtn blank 
+02a1 6fe0c628 fetch 1 ,mem_24g_mode_b_s_switch_exit 
+02a2 247a0000 nrtn blank 
+02a3 6fe0c624 fetch 1 ,mem_24g_mode_b_s_switch 
+02a4 207a0000 rtn blank 
+02a5 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
+02a6 c1800000 rtnne 0 
+02a7 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
+02a8 c1800000 rtnne 0 
+02a9 20203436 branch g24_mode_switch_bind_search + 9 
+
+p_g24_bind_mode_auto:
+02aa 6fe0c616 fetch 1 ,mem_24g_work_mode 
+02ab c1808000 rtnne dongle_bind 
+02ac 204002ae call p_g24_bind_init 
+02ad 2020346d branch g24_bind_mode_auto + 4 
+
+p_g24_bind_init:
+02ae 6fe0c615 fetch 1 ,mem_24g_mode_init 
+02af c3808000 rtnbit1 dongle_bind 
+02b0 79207e01 set1 dongle_bind ,pdata 
+02b1 67e0c615 store 1 ,mem_24g_mode_init 
+02b2 58000000 setarg 0 
+02b3 67e1c5d3 store 3 ,mem_24g_device1_bind_step 
+02b4 20203307 branch g24_bind_init + 8 
+
+p_dongle_usb_dispatch:
+02b5 204002b7 call p_wdt_kick 
+02b6 202003fa branch p_dongle_usb_dispatch_analysis 
+
+p_wdt_kick:
+02b7 58000010 setarg 16 
+02b8 202070c8 branch wdt_init_config 
+
+p_dongle_default_init:
+02b9 204047c3 call dongle_default_init + 1 
+02ba 6fe0c695 fetch 1 ,mem_24g_pair_tx_power_init 
+02bb 67e0c5d1 store 1 ,mem_24g_pair_tx_power 
+02bc 7045ca01 jam on ,mem_24g_disable_fec1 
+02bd 20403281 call g24_enable_1m 
+02be 6fe0c669 fetch 1 ,mem_dg_sys_config 
+02bf c4000000 rtnbit0 dg_enable_new_revision 
+02c0 7045ca01 jam on ,mem_24g_disable_fec1 
+02c1 20203284 branch g24_enable_2m 
+
+p_g24_receive_skip_end:
+02c2 6fe0c669 fetch 1 ,mem_dg_sys_config 
+02c3 c3003165 bbit0 dg_enable_new_revision ,g24_receive_skip_end + 1 
+02c4 7837fc00 enable user3 
+02c5 20000018 nop 24 
+02c6 6fe0c6dd fetch 1 ,mem_24g_txbuf_new 
+02c7 79207e00 set1 bit_ack_24g ,pdata 
+02c8 67e0c6dd store 1 ,mem_24g_txbuf_new 
+02c9 204033a5 call g24_ackpayload_prep 
+02ca 204031e5 call g24_transmit_prep 
+02cb 20203195 branch g24_transmit 
+
+p_app_init:
+02cc 580003d8 setarg p_dongle_dispatch 
+02cd 67e145e0 store 2 ,mem_cb_24g_receive_process 
+02ce 58000484 setarg p_dongle_g24_mouse 
+02cf 67e145e4 store 2 ,mem_cb_24g_data_device1 
+02d0 580004cc setarg p_dongle_g24_kb 
+02d1 67e145e6 store 2 ,mem_cb_24g_data_device2 
+02d2 580002d7 setarg p_dongle_ackpayload_prep 
+02d3 67e145e2 store 2 ,mem_cb_24g_ackpayload 
+02d4 580047f9 setarg dongle_usb_config 
+02d5 67e10859 store 2 ,mem_cb_usb_config 
+02d6 20207912 branch usb_init 
+
+p_dongle_ackpayload_prep:
+02d7 6fe0c589 fetch 1 ,mem_24g_data_type 
+02d8 c00082da beq datatype_device1 ,p_dongle_ackpayload_prep_mouse 
+02d9 c00102dd beq datatype_device2 ,p_dongle_ackpayload_prep_keyboard 
+
+p_dongle_ackpayload_prep_mouse:
+02da 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
+02db c2800310 bbit1 0 ,p_dongle_pc_sleep_ackpayload_prep_mouse 
+02dc 202002df branch p_dongle_ackpayload_prep_end 
+
+p_dongle_ackpayload_prep_keyboard:
+02dd 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
+02de c2808314 bbit1 1 ,p_dongle_pc_sleep_ackpayload_prep_keyboard 
+
+p_dongle_ackpayload_prep_end:
+02df 6fe0c611 fetch 1 ,mem_24g_ackpayload_enable 
+02e0 c00082e4 beq bind_ackpayload ,p_dongle_g24_bind_ackpayload_prep 
+02e1 c00182f4 beq kb_led_ackpayload ,p_dongle_g24_kb_led_ackpayload_prep 
+02e2 c00402fc beq protocol_ackpayload ,p_dongle_g24_protocol_ackpayload_prep 
+02e3 20600000 rtn 
+
+p_dongle_g24_bind_ackpayload_prep:
+02e4 70461101 jam 1 ,mem_24g_ackpayload_enable 
+02e5 204002ec call p_g24_binding_device_check 
+02e6 24778000 nrtn user3 
+
+p_g24_bind_ackpayload_prep:
+02e7 70461101 jam 1 ,mem_24g_ackpayload_enable 
+02e8 70458808 jam 0x08 ,mem_24g_datalen 
+02e9 d8c045d6 arg mem_24g_bind_payload ,contr 
+02ea d8a046dd arg mem_24g_txbuf_new ,contw 
+02eb 20207c89 branch memcpy8 
+
+p_g24_binding_device_check:
+02ec 6fe0c616 fetch 1 ,mem_24g_work_mode 
+02ed c1808000 rtnne dongle_bind 
+02ee 6fe0c610 fetch 1 ,mem_24g_pair_mode 
+02ef 247a0000 nrtn blank 
+02f0 6fe0c69a fetch 1 ,mem_24g_rxbuf_new + 3 
+02f1 c000b386 beq datatype_device1 ,g24_binding_dvc1_status 
+02f2 c001338a beq datatype_device2 ,g24_binding_dvc2_status 
+02f3 20600000 rtn 
+
+p_dongle_g24_kb_led_ackpayload_prep:
+02f4 6fe0c699 fetch 1 ,mem_24g_rxbuf_new + 2 
+02f5 c00082e4 beq datatype_device1 ,p_dongle_g24_bind_ackpayload_prep 
+02f6 c07f82e4 beq datatype_attemp ,p_dongle_g24_bind_ackpayload_prep 
+02f7 7008f900 jam 0 ,mem_usb_tx_win_enable 
+02f8 70458801 jam 0x01 ,mem_24g_datalen 
+02f9 6fe0c621 fetch 1 ,mem_24g_led_status 
+
+p_dongle_g24_txbuf_store:
+02fa 67e0c6dd store 1 ,mem_24g_txbuf_new 
+02fb 20600000 rtn 
+
+p_dongle_g24_protocol_ackpayload_prep:
+02fc 70461100 jam 0 ,mem_24g_ackpayload_enable 
+02fd 6fe0ca53 fetch 1 ,mem_24g_device_type 
+02fe c0028301 beq ms_type ,p_dongle_g24_protocol_ms_ackpayload_prep 
+02ff c0050308 beq kb_type ,p_dongle_g24_protocol_kb_ackpayload_prep 
+0300 20600000 rtn 
+
+p_dongle_g24_protocol_ms_ackpayload_prep:
+0301 70458901 jam type_ms ,mem_24g_data_type 
+0302 6fe0ca55 fetch 1 ,mem_dg_ms_ep2_ack_data 
+0303 67e0c588 store 1 ,mem_24g_datalen 
+0304 1fe27200 copy pdata ,loopcnt 
+0305 d8c04a56 arg mem_dg_ms_ep2_ack_data + 1 ,contr 
+0306 d8a046dd arg mem_24g_txbuf_new ,contw 
+0307 20207cda branch memcpy 
+
+p_dongle_g24_protocol_kb_ackpayload_prep:
+0308 70458902 jam type_kb ,mem_24g_data_type 
+0309 6fe0ca99 fetch 1 ,mem_dg_kb_ep2_ack_data + 2 
+030a 1fe0fe03 increase 3 ,pdata 
+030b 67e0c588 store 1 ,mem_24g_datalen 
+030c 1fe27200 copy pdata ,loopcnt 
+030d d8c04a97 arg mem_dg_kb_ep2_ack_data ,contr 
+030e d8a046dd arg mem_24g_txbuf_new ,contw 
+030f 20207cda branch memcpy 
+
+p_dongle_pc_sleep_ackpayload_prep_mouse:
+0310 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
+0311 793ffe00 set0 0 ,pdata 
+0312 67e0c693 store 1 ,mem_dg_pc_sleep_flag 
+0313 20200317 branch p_dongle_pc_sleep_ackpayload_prep 
+
+p_dongle_pc_sleep_ackpayload_prep_keyboard:
+0314 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
+0315 793ffe01 set0 1 ,pdata 
+0316 67e0c693 store 1 ,mem_dg_pc_sleep_flag 
+
+p_dongle_pc_sleep_ackpayload_prep:
+0317 70458801 jam 0x01 ,mem_24g_datalen 
+0318 580000ff setarg 0xff 
+0319 202002fa branch p_dongle_g24_txbuf_store 
+
+p_dongle_work_mode_auto:
+031a 6fe0c616 fetch 1 ,mem_24g_work_mode 
+031b c1800000 rtnne dongle_work 
+031c 2040032e call p_g24_work_mode_start 
+031d 20404827 call dongle_g24_blank_data_process 
+031e 6fe0c610 fetch 1 ,mem_24g_pair_mode 
+031f 247a0000 nrtn blank 
+0320 6fe0c611 fetch 1 ,mem_24g_ackpayload_enable 
+0321 c1800000 rtnne 0 
+0322 6fe0c614 fetch 1 ,mem_24g_nodata_timer_enable 
+0323 207a0000 rtn blank 
+0324 d8e00008 arg g24_timer_nodata ,queue 
+0325 20407cef call timer_check 
+0326 247a0000 nrtn blank 
+0327 2040351b call g24_ch_process + 3 
+0328 20203511 branch g24_nodata_timer_over 
+
+p_g24_ch_process:
+0329 6fe0c60a fetch 1 ,mem_24g_abort_packet 
+032a c000b5ea beq 1 ,rssi_noise_monitor 
+032b 6fe0c612 fetch 1 ,mem_24g_hop_packet 
+032c c000b52c beq 1 ,g24_ch_receive_hop_pac 
+032d 20600000 rtn 
+
+p_g24_work_mode_start:
+032e 6fe0c616 fetch 1 ,mem_24g_work_mode 
+032f c1800000 rtnne dongle_work 
+0330 20403451 call g24_work_init 
+0331 20400329 call p_g24_ch_process 
+
+p_g24_receive_packet_start:
+0332 2040036a call p_g24_receive_transmit_ack 
+0333 2437b3be nbranch g24_rx_interrupt_clear ,user3 
+
+p_g24_receive_packet_parse:
+0334 204033e3 call g24_receive_packet_parse_pid_crc 
+0335 243433be nbranch g24_rx_interrupt_clear ,user 
+0336 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+0337 203a33be branch g24_rx_interrupt_clear ,blank 
+0338 1fe0fe02 increase 2 ,pdata 
+0339 98007200 iforce loopcnt 
+033a d8c04697 arg mem_24g_rxbuf_new ,contr 
+033b d8a047af arg mem_24g_rxdata_temp_new ,contw 
+033c 20407cda call memcpy 
+033d 70461300 jam 0 ,mem_24g_mode_switch 
+033e 6fe0c610 fetch 1 ,mem_24g_pair_mode 
+033f 205a0346 call p_g24_enable_nodata_timer ,blank 
+
+p_g24_receive_packet_parse_end:
+0340 6fe0c7b1 fetch 1 ,mem_24g_rxdata_temp_new + 2 
+0341 c07f8364 beq datatype_attemp ,p_g24_data_receive_attemp 
+0342 1fe17e03 and pdata ,0x03 ,pdata 
+0343 c000834c beq datatype_device1 ,p_g24_data_device1 
+0344 c001035e beq datatype_device2 ,p_g24_data_device2 
+0345 202033be branch g24_rx_interrupt_clear 
+
+p_g24_enable_nodata_timer:
+0346 6fe0c62b fetch 1 ,mem_24g_bind_device_living 
+0347 203a33fe branch g24_enable_nodata_timer ,blank 
+0348 70461401 jam 1 ,mem_24g_nodata_timer_enable 
+0349 58000640 setarg 1600 
+034a d8e00008 arg g24_timer_nodata ,queue 
+034b 20207ce1 branch timer_init 
+
+p_g24_data_device1:
+034c 2040338d call g24_binding_dvc1_living 
+034d 2040352e call g24_ch_timer_reinit 
+034e 6fe0c60a fetch 1 ,mem_24g_abort_packet 
+034f 6848c7af fetcht 1 ,mem_24g_rxdata_temp_new 
+0350 284ffe03 isolate1 bit_abort ,temp 
+0351 7920fe00 setflag true ,0 ,pdata 
+0352 67e0c60a store 1 ,mem_24g_abort_packet 
+0353 c0008357 beq 1 ,p_g24_data_attemp_device1_abort 
+0354 6fe0c612 fetch 1 ,mem_24g_hop_packet 
+0355 6848c7af fetcht 1 ,mem_24g_rxdata_temp_new 
+0356 202033ce branch g24_data_device1_next 
+
+p_g24_data_attemp_device1_abort:
+0357 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
+0358 247a0000 nrtn blank 
+0359 7045de01 jam 1 ,mem_24g_device1_bind_disable 
+035a 6fe247b9 fetch 4 ,mem_24g_rxdata_temp_new + 10 
+035b 202035a3 branch g24_store_device1_addr 
+
+p_g24_data_attemp_device2_abort:
+035c 6fe247b9 fetch 4 ,mem_24g_rxdata_temp_new + 10 
+035d 202035a9 branch g24_store_device2_addr 
+
+p_g24_data_device2:
+035e 20403393 call g24_binding_dvc2_living 
+035f 6848c7af fetcht 1 ,mem_24g_rxdata_temp_new 
+0360 284ffe03 isolate1 bit_abort ,temp 
+0361 2020835c branch p_g24_data_attemp_device2_abort ,true 
+0362 6fe145e6 fetch 2 ,mem_cb_24g_data_device2 
+0363 20207d79 branch callback_func 
+
+p_g24_data_receive_attemp:
+0364 20400368 call p_g24_bind_device_status 
+0365 20200275 branch p_g24_data_attemp 
+
+p_g24_bind_device_status_check:
+0366 6fe0c5d5 fetch 1 ,mem_24g_bind_device_status 
+0367 207a0000 rtn blank 
+
+p_g24_bind_device_status:
+0368 6fe0c7b2 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+0369 2020339c branch g24_bind_device_status + 1 
+
+p_g24_receive_transmit_ack:
+036a 204033be call g24_rx_interrupt_clear 
+036b 20403119 call g24_receive_packet 
+036c 24778000 nrtn user3 
+
+p_g24_transmit_ack:
+036d 6fe0c697 fetch 1 ,mem_24g_rxbuf_new 
+036e 1fe97e00 rshift3 pdata ,pdata 
+036f 67e0c589 store 1 ,mem_24g_data_type 
+0370 20400395 call p_g24_read_len_pid_crc 
+0371 6fe0c7f5 fetch 1 ,mem_24g_rxdata_ack_flag 
+0372 2feffe00 isolate1 bit_ack_24g ,pdata 
+0373 2020b3fd branch g24tx_no_ack ,true 
+0374 202033fa branch g24tx_with_ack 
+
+p_g24_bind_data_process:
+0375 204033be call g24_rx_interrupt_clear 
+0376 20403119 call g24_receive_packet 
+0377 2437b3be nbranch g24_rx_interrupt_clear ,user3 
+0378 20400381 call p_g24_bind_data_parse 
+0379 2040036d call p_g24_transmit_ack 
+037a 20400366 call p_g24_bind_device_status_check 
+037b 2040493d call dongle_kb_bind_soft_reset 
+037c 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
+037d 207a0000 rtn blank 
+037e 6fe2462c fetch 4 ,mem_24g_transmitter_addr 
+037f 207a0000 rtn blank 
+0380 20203236 branch g24_update_addr_and_synccrc8 
+
+p_g24_bind_data_parse:
+0381 70462205 jam bind_mode_continue ,mem_24g_bind_mode_continue 
+0382 d8c04697 arg mem_24g_rxbuf_new ,contr 
+0383 d8a047af arg mem_24g_rxdata_temp_new ,contw 
+0384 20407c89 call memcpy8 
+0385 20203322 branch g24_bind_data_parse_next 
+
+p_g24_receive_update_rxbuff:
+0386 2040317d call g24_receive_byte 
+0387 67e0c697 store 1 ,mem_24g_rxbuf_new 
+0388 c513838e bmark1 mark_24g_rxmode ,p_g24_receive_skip 
+0389 6fe0c697 fetch 1 ,mem_24g_rxbuf_new 
+038a 1fe97e00 rshift3 pdata ,pdata 
+038b 6848c589 fetcht 1 ,mem_24g_data_type 
+038c a8400e00 icompare bits_data ,temp 
+038d 2420b18c nbranch g24_type_error ,true 
+
+p_g24_receive_skip:
+038e 2040317d call g24_receive_byte 
+038f e7e08005 istore 1 ,contw 
+0390 1fe67c44 sub pdata ,68 ,null 
+0391 2421318e nbranch g24_len_over_error ,positive 
+0392 1fe27200 copy pdata ,loopcnt 
+0393 2022b154 branch g24rx_nopayload ,zero 
+0394 20203151 branch g24rx_loop 
+
+p_g24_read_len_pid_crc:
+0395 6fe0c698 fetch 1 ,mem_24g_rxbuf_new + 1 
+0396 67e0c57d store 1 ,mem_24g_rxdata_length 
+0397 1fe0fe01 increase 1 ,pdata 
+0398 d8c04698 arg mem_24g_rxbuf_new + 1 ,contr 
+0399 98c08c00 iadd contr ,contr 
+039a efe18006 ifetch 3 ,contr 
+039b 67e1c580 store 3 ,mem_24g_sta_crc 
+039c 6fe0c697 fetch 1 ,mem_24g_rxbuf_new 
+039d 1fe10401 and pdata ,0x01 ,temp 
+039e 6048c7f5 storet 1 ,mem_24g_rxdata_ack_flag 
+039f 1fe30400 rshift pdata ,temp 
+03a0 18410403 and temp ,0x03 ,temp 
+03a1 6048c586 storet 1 ,mem_24g_sta_pid 
+03a2 1fe97e00 rshift3 pdata ,pdata 
+03a3 67e0c697 store 1 ,mem_24g_rxbuf_new 
+03a4 20600000 rtn 
+
+p_g24_rx_interrupt_clear:
+03a5 d8a04697 arg mem_24g_rxbuf_new ,contw 
+03a6 df200046 arg 70 ,loopcnt 
+03a7 20207ca1 branch clear_mem 
+
+p_g24_search_mode_auto:
+03a8 6fe0c616 fetch 1 ,mem_24g_work_mode 
+03a9 c1838000 rtnne dongle_search 
+03aa 20403476 call g24_search_mode_init 
+03ab 204034ae call g24_auto_addr_ch_search 
+03ac 2040036a call p_g24_receive_transmit_ack 
+03ad 2437b3be nbranch g24_rx_interrupt_clear ,user3 
+03ae 20403506 call g24_receiver_addr_check 
+03af 20428334 call p_g24_receive_packet_parse ,zero 
+03b0 20203491 branch g24_search_mode_auto + 9 
+
+p_g24_ackpayload_parse:
+03b1 20403214 call g24_read_len_pid_crc 
+03b2 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+03b3 207a0000 rtn blank 
+03b4 98007200 iforce loopcnt 
+03b5 d8c04699 arg mem_24g_rxbuf_new + 2 ,contr 
+03b6 d8a04769 arg mem_24g_rxpayload_new ,contw 
+03b7 20207cda branch memcpy 
+
+p_g24_transmit_prep:
+03b8 6fe0c588 fetch 1 ,mem_24g_datalen 
+03b9 1fe0fe03 increase 3 ,pdata 
+03ba 67e0c58a store 1 ,mem_24g_txlen 
+03bb 6fe0c5ac fetch 1 ,mem_24g_syncword_crc8 
+03bc 67e0c723 store 1 ,mem_24g_txpayload_new 
+03bd 6fe0c589 fetch 1 ,mem_24g_data_type 
+03be 1fe9fe00 lshift3 pdata ,pdata 
+03bf 6848c57e fetcht 1 ,mem_24g_pid 
+03c0 18410403 and temp ,0x03 ,temp 
+03c1 18438400 lshift temp ,temp 
+03c2 9841fe00 ior temp ,pdata 
+03c3 6848c57f fetcht 1 ,mem_24g_no_ack 
+03c4 9840fe00 iadd temp ,pdata 
+03c5 e7e08005 istore 1 ,contw 
+03c6 6fe0c588 fetch 1 ,mem_24g_datalen 
+03c7 e7e08005 istore 1 ,contw 
+03c8 6fe0c588 fetch 1 ,mem_24g_datalen 
+03c9 98007200 iforce loopcnt 
+03ca d8c046dd arg mem_24g_txbuf_new ,contr 
+03cb 20407cda call memcpy 
+03cc 202031fc branch g24_transmit_prep_pdu_end 
+
+p_g24_transmit_packet:
+03cd c51783d2 bmark1 mark_ble_lr ,p_g24_transmit_nolr 
+03ce 6fe0c5ca fetch 1 ,mem_24g_disable_fec1 
+03cf 243a03d2 nbranch p_g24_transmit_nolr ,blank 
+03d0 784efc00 disable encode_fec0 
+03d1 782dfc00 enable encode_fec1 
+
+p_g24_transmit_nolr:
+03d2 7823fc00 enable enable_white 
+03d3 7824fc00 enable enable_crc 
+03d4 6fe0c58a fetch 1 ,mem_24g_txlen 
+03d5 98007200 iforce loopcnt 
+03d6 d8c04723 arg mem_24g_txpayload_new ,contr 
+03d7 202031b3 branch g24tr_loop 
+
+p_dongle_dispatch:
+
+p_dongle_auto_bind:
+03d8 20403402 call g24_mode_switch_init 
+
+p_dongle_auto_bind_loop:
+03d9 20403407 call g24_mode_switch_bind_work 
+03da 2040342d call g24_mode_switch_bind_search 
+03db 204048a3 call dongle_work_mode_auto 
+03dc 20403469 call g24_bind_mode_auto 
+03dd 20403488 call g24_search_mode_auto 
+03de 20404867 call dongle_usb_dispatch 
+03df 204003e2 call p_dongle_keyboard_heart_tick_timer 
+03e0 204003ee call p_dongle_mouse_heart_tick_timer 
+03e1 202003d9 branch p_dongle_auto_bind_loop 
+
+p_dongle_keyboard_heart_tick_timer:
+03e2 d840fffe arg 0xfffe ,temp 
+03e3 6fe147f8 fetch 2 ,mem_dg_keyboard_heart_tick_timer 
+03e4 98467c00 isub temp ,null 
+03e5 20610000 rtn positive 
+03e6 1fe0fe01 increase 1 ,pdata 
+03e7 67e147f8 store 2 ,mem_dg_keyboard_heart_tick_timer 
+03e8 d8400000 arg 0 ,temp 
+03e9 da6005dc arg 1500 ,regc 
+03ea 9a667c00 isub regc ,null 
+03eb 79210400 setflag positive ,0 ,temp 
+03ec 6048c7fc storet 1 ,mem_dg_keyboard_connected_status 
+03ed 20600000 rtn 
+
+p_dongle_mouse_heart_tick_timer:
+03ee d840fffe arg 0xfffe ,temp 
+03ef 6fe147fa fetch 2 ,mem_dg_mouse_heart_tick_timer 
+03f0 98467c00 isub temp ,null 
+03f1 20610000 rtn positive 
+03f2 1fe0fe01 increase 1 ,pdata 
+03f3 67e147fa store 2 ,mem_dg_mouse_heart_tick_timer 
+03f4 d8400000 arg 0 ,temp 
+03f5 da6005dc arg 1500 ,regc 
+03f6 9a667c00 isub regc ,null 
+03f7 79210400 setflag positive ,0 ,temp 
+03f8 6048c7fd storet 1 ,mem_dg_mouse_connected_status 
+03f9 20600000 rtn 
+
+p_dongle_usb_dispatch_analysis:
+03fa 6fe08901 fetch 1 ,mem_usb_remote_wakeup 
+03fb 205a48b5 call dongle_clear_pc_sleep_flag ,blank 
+03fc 20407906 call usb_isr 
+03fd 6fe088f7 fetch 1 ,mem_usb0_get_set_report 
+03fe 207a0000 rtn blank 
+03ff 7008f700 jam 0 ,mem_usb0_get_set_report 
+0400 6fe08875 fetch 1 ,mem_usb0_set_report_data 
+0401 c07b843c beq cmd_check_status ,p_dongle_dispose_cmd_check_status 
+0402 c07b044a beq cmd_set ,p_dongle_dispose_cmd_set 
+0403 c07a841a beq cmd_set_dpi ,p_dongle_dispose_ms_cmd_set_dpi 
+0404 c079843a beq cmd_get_dpi ,p_dongle_dispose_cmd_get_dpi 
+0405 c07a0423 beq cmd_set_report ,p_dongle_dispose_ms_cmd_set_report 
+0406 c0768434 beq cmd_set_ms_dpi_fuction ,p_dongle_dispose_ms_cmd_set_key_fuction 
+0407 c0770434 beq cmd_set_ms_b5_fuction ,p_dongle_dispose_ms_cmd_set_key_fuction 
+0408 c0778434 beq cmd_set_ms_b4_fuction ,p_dongle_dispose_ms_cmd_set_key_fuction 
+0409 c0780434 beq cmd_set_ms_rkey_fuction ,p_dongle_dispose_ms_cmd_set_key_fuction 
+040a c0788434 beq cmd_set_ms_mkey_fuction ,p_dongle_dispose_ms_cmd_set_key_fuction 
+040b c079042a beq cmd_set_sleep_timer ,p_dongle_dispose_set_sleep_timer 
+040c c07e044d beq cmd_get_in_data ,p_dongle_dispose_cmd_get_in_data 
+040d c07f0455 beq cmd_get_translen ,p_dongle_dispose_cmd_get_translen 
+040e c03d045b beq cmd_set_test ,p_dongle_dispose_cmd_set_test 
+040f c0500462 beq cmd_set_key_matrix ,p_dongle_dispose_cmd_set_key_matrix 
+0410 c0508478 beq cmd_get_key_matrix ,p_dongle_dispose_cmd_get_key_matrix 
+0411 20204875 branch dongle_usb_dispatch_next 
+
+p_dongle_ms_ep2_ack_data_clr:
+0412 df200041 arg 65 ,loopcnt 
+0413 d8a04a55 arg mem_dg_ms_ep2_ack_data ,contw 
+0414 20207ca1 branch clear_mem 
+
+p_dongle_ms_ep2_ack_data_copy:
+0415 704a5401 jam 1 ,mem_dg_ms_ep2_ack_data_flag 
+0416 70461108 jam protocol_ackpayload ,mem_24g_ackpayload_enable 
+0417 d8c00875 arg mem_usb0_set_report_data ,contr 
+0418 d8a04a56 arg mem_dg_ms_ep2_ack_data + 1 ,contw 
+0419 20207cda branch memcpy 
+
+p_dongle_dispose_ms_cmd_set_dpi:
+041a 6fe08876 fetch 1 ,mem_usb0_set_report_data + 1 
+041b c1828000 rtnne ms_type 
+041c 20400412 call p_dongle_ms_ep2_ack_data_clr 
+041d 704a5305 jam ms_type ,mem_24g_device_type 
+041e 6fe08877 fetch 1 ,mem_usb0_set_report_data + 2 
+041f 67e0c94b store 1 ,mem_dg_mouse_dpi_level 
+0420 704a5504 jam 4 ,mem_dg_ms_ep2_ack_data 
+
+p_dongle_ms_ack_data_copy:
+0421 6f20ca55 fetchr loopcnt ,1 ,mem_dg_ms_ep2_ack_data 
+0422 20200415 branch p_dongle_ms_ep2_ack_data_copy 
+
+p_dongle_dispose_ms_cmd_set_report:
+0423 6fe08876 fetch 1 ,mem_usb0_set_report_data + 1 
+0424 c1828000 rtnne ms_type 
+0425 20400412 call p_dongle_ms_ep2_ack_data_clr 
+0426 6fe08876 fetch 1 ,mem_usb0_set_report_data + 1 
+0427 67e0ca53 store 1 ,mem_24g_device_type 
+0428 704a5504 jam 4 ,mem_dg_ms_ep2_ack_data 
+0429 20200421 branch p_dongle_ms_ack_data_copy 
+
+p_dongle_dispose_set_sleep_timer:
+042a 6fe08876 fetch 1 ,mem_usb0_set_report_data + 1 
+042b c002842e beq ms_type ,p_dongle_dispose_ms_sleep_timer 
+042c c0050432 beq kb_type ,p_dongle_dispose_kb_sleep_timer 
+042d 20600000 rtn 
+
+p_dongle_dispose_ms_sleep_timer:
+042e 20400412 call p_dongle_ms_ep2_ack_data_clr 
+042f 704a5305 jam ms_type ,mem_24g_device_type 
+0430 704a5505 jam 5 ,mem_dg_ms_ep2_ack_data 
+0431 20200421 branch p_dongle_ms_ack_data_copy 
+
+p_dongle_dispose_kb_sleep_timer:
+0432 704a530a jam kb_type ,mem_24g_device_type 
+0433 20600000 rtn 
+
+p_dongle_dispose_ms_cmd_set_key_fuction:
+0434 6fe08876 fetch 1 ,mem_usb0_set_report_data + 1 
+0435 c1828000 rtnne ms_type 
+0436 20400412 call p_dongle_ms_ep2_ack_data_clr 
+0437 704a5305 jam ms_type ,mem_24g_device_type 
+0438 704a550d jam 13 ,mem_dg_ms_ep2_ack_data 
+0439 20200421 branch p_dongle_ms_ack_data_copy 
+
+p_dongle_dispose_cmd_get_dpi:
+043a 70495001 jam 1 ,mem_usb_dpi_info_data + 4 
+043b 202004b4 branch p_dongle_usb_tx_dpi_level_enable 
+
+p_dongle_dispose_cmd_check_status:
+043c 58000064 setarg 0x64 
+043d 67e0c9d1 store 1 ,mem_dg_protocol_usb_in_data_buff 
+043e 58000064 setarg 0x64 
+043f 67e0c9d2 store 1 ,mem_dg_protocol_usb_in_data_buff + 1 
+0440 58000000 setarg 0x00 
+0441 67e0c9d3 store 1 ,mem_dg_protocol_usb_in_data_buff + 2 
+0442 58000000 setarg 0x00 
+0443 67e0c9d4 store 1 ,mem_dg_protocol_usb_in_data_buff + 3 
+0444 58000001 setarg 0x01 
+0445 67e0c9d5 store 1 ,mem_dg_protocol_usb_in_data_buff + 4 
+0446 6fe2458f fetch 4 ,mem_24g_addr 
+0447 67e249d8 store 4 ,mem_dg_protocol_usb_in_data_buff + 7 
+0448 70090c24 jam usb_ep2_protocol ,mem_usb_ep2_data 
+0449 202004c3 branch p_dongle_usb_tx_enable_ep2 
+
+p_dongle_dispose_cmd_set:
+044a 6fe08876 fetch 1 ,mem_usb0_set_report_data + 1 
+044b 67e0ca53 store 1 ,mem_24g_device_type 
+044c 20600000 rtn 
+
+p_dongle_dispose_cmd_get_in_data:
+044d 6fe08876 fetch 1 ,mem_usb0_set_report_data + 1 
+044e 67e0ca53 store 1 ,mem_24g_device_type 
+044f df200040 arg 64 ,loopcnt 
+0450 d8c008b5 arg mem_usb0_get_report_data ,contr 
+0451 d8a049d1 arg mem_dg_protocol_usb_in_data_buff ,contw 
+0452 20407ccc call memcpy_fast 
+0453 70090c24 jam usb_ep2_protocol ,mem_usb_ep2_data 
+0454 202004c3 branch p_dongle_usb_tx_enable_ep2 
+
+p_dongle_dispose_cmd_get_translen:
+0455 6fe08876 fetch 1 ,mem_usb0_set_report_data + 1 
+0456 67e0ca12 store 1 ,mem_dg_protocol_usb_out_data_buff 
+0457 1fe27200 copy pdata ,loopcnt 
+0458 d8c00877 arg mem_usb0_set_report_data + 2 ,contr 
+0459 d8a04a13 arg mem_dg_protocol_usb_out_data_buff + 1 ,contw 
+045a 20207ccc branch memcpy_fast 
+
+p_dongle_dispose_cmd_set_test:
+045b 70461602 jam dongle_test ,mem_24g_work_mode 
+045c 70461500 jam clear_init ,mem_24g_mode_init 
+045d 6fe08876 fetch 1 ,mem_usb0_set_report_data + 1 
+045e 67e0c7ff store 1 ,mem_dg_test_mode 
+045f 6fe08877 fetch 1 ,mem_usb0_set_report_data + 2 
+0460 67e0c800 store 1 ,mem_dg_test_ch 
+0461 20600000 rtn 
+
+p_dongle_dispose_cmd_set_key_matrix:
+0462 6fe08876 fetch 1 ,mem_usb0_set_report_data + 1 
+0463 67e0c98d store 1 ,mem_dg_keyboard_keymatrix_profile 
+0464 6fe08877 fetch 1 ,mem_usb0_set_report_data + 2 
+0465 67e0c98e store 1 ,mem_dg_keyboard_keymatrix_type 
+0466 6fe08878 fetch 1 ,mem_usb0_set_report_data + 3 
+0467 67e0c98f store 1 ,mem_dg_keyboard_keymatrix_page 
+0468 6fe08879 fetch 1 ,mem_usb0_set_report_data + 4 
+0469 67e0c990 store 1 ,mem_dg_keyboard_keymatrix_len 
+046a 1fe27200 copy pdata ,loopcnt 
+046b d8c0087d arg mem_usb0_set_report_data + 8 ,contr 
+046c d8a04991 arg mem_dg_keyboard_keymatrix_setup_keyvalue ,contw 
+046d 20407ccc call memcpy_fast 
+046e 704a530a jam kb_type ,mem_24g_device_type 
+046f 704a9601 jam 1 ,mem_dg_kb_ep2_ack_data_flag 
+0470 704a97a2 jam report_id_data_out ,mem_dg_kb_ep2_ack_data 
+0471 704a980a jam kb_type ,mem_dg_kb_ep2_ack_data + 1 
+0472 6fe0c990 fetch 1 ,mem_dg_keyboard_keymatrix_len 
+0473 67e0ca99 store 1 ,mem_dg_kb_ep2_ack_data + 2 
+0474 1fe27200 copy pdata ,loopcnt 
+0475 d8c0087d arg mem_usb0_set_report_data + 8 ,contr 
+0476 d8a04a9a arg mem_dg_kb_ep2_ack_data + 3 ,contw 
+0477 20207cda branch memcpy 
+
+p_dongle_dispose_cmd_get_key_matrix:
+0478 6fe08876 fetch 1 ,mem_usb0_set_report_data + 1 
+0479 67e0c98d store 1 ,mem_dg_keyboard_keymatrix_profile 
+047a 6fe08877 fetch 1 ,mem_usb0_set_report_data + 2 
+047b 67e0c98e store 1 ,mem_dg_keyboard_keymatrix_type 
+047c 6fe08878 fetch 1 ,mem_usb0_set_report_data + 3 
+047d 67e0c98f store 1 ,mem_dg_keyboard_keymatrix_page 
+047e df200040 arg 64 ,loopcnt 
+047f d8c04ad8 arg mem_dg_kb_keymatrix_buff ,contr 
+0480 d8a049d1 arg mem_dg_protocol_usb_in_data_buff ,contw 
+0481 20407ccc call memcpy_fast 
+0482 70090c24 jam usb_ep2_protocol ,mem_usb_ep2_data 
+0483 202004c3 branch p_dongle_usb_tx_enable_ep2 
+
+p_dongle_g24_mouse:
+0484 58000000 setarg 0 
+0485 67e147fa store 2 ,mem_dg_mouse_heart_tick_timer 
+0486 67e0c611 store 1 ,mem_24g_ackpayload_enable 
+0487 6fe0c7b1 fetch 1 ,mem_24g_rxdata_temp_new + 2 
+0488 c28304ae bbit1 data_dpi ,p_dongle_receive_ms_dpi_info 
+0489 c28384bb bbit1 data_battery ,p_dongle_receive_ms_battery_info 
+048a c28284be bbit1 data_heart ,p_dongle_receive_ms_heart_info 
+
+p_dongle_g24_mouse_next:
+048b 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+048c 1fe67c09 sub pdata ,0x09 ,null 
+048d 2022849b branch p_dongle_g24_mouse_data ,zero 
+048e 2040049b call p_dongle_g24_mouse_data 
+048f 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+0490 1fe0fff8 add pdata ,-8 ,pdata 
+0491 67e0c57d store 1 ,mem_24g_rxdata_length 
+0492 1fe27200 copy pdata ,loopcnt 
+0493 d8a047b1 arg mem_24g_rxdata_temp_new + 2 ,contw 
+0494 d8c047b9 arg mem_24g_rxdata_temp_new + 10 ,contr 
+0495 20407cda call memcpy 
+0496 6fe0c7b1 fetch 1 ,mem_24g_rxdata_temp_new + 2 
+0497 c28304ae bbit1 data_dpi ,p_dongle_receive_ms_dpi_info 
+0498 c28384bb bbit1 data_battery ,p_dongle_receive_ms_battery_info 
+0499 c28284be bbit1 data_heart ,p_dongle_receive_ms_heart_info 
+049a 20600000 rtn 
+
+p_dongle_g24_mouse_data:
+049b 58000001 setarg ms_report_id 
+049c 67e08913 store 1 ,mem_usb_mouse_data 
+049d 6fe3c7b2 fetch 7 ,mem_24g_rxdata_temp_new + 3 
+049e e7e38005 istore 7 ,contw 
+049f 6fe0c7b2 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+04a0 245a48dd ncall dongle_g24_ms_enable_blank_data_forcibly ,blank 
+04a1 6fe0c7b2 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+04a2 205a48e1 call dongle_g24_ms_disable_blank_data_forcibly ,blank 
+04a3 6fe38914 fetch 7 ,mem_usb_mouse_data + 1 
+04a4 67e3c943 store 7 ,mem_dg_mouse_data 
+04a5 6fe0c943 fetch 1 ,mem_dg_mouse_data 
+04a6 6848c94a fetcht 1 ,mem_dg_mouse_key_data_last 
+04a7 67e0c94a store 1 ,mem_dg_mouse_key_data_last 
+04a8 98467c00 isub temp ,null 
+04a9 242284ac nbranch p_dongle_mouse_data_tx_enable ,zero 
+
+p_dongle_receive_mouse_data_check:
+04aa 6fe34944 fetch 6 ,mem_dg_mouse_data + 1 
+04ab 207a0000 rtn blank 
+
+p_dongle_mouse_data_tx_enable:
+04ac 70090c20 jam usb_ep2_ms ,mem_usb_ep2_data 
+04ad 202004c3 branch p_dongle_usb_tx_enable_ep2 
+
+p_dongle_receive_ms_dpi_info:
+04ae 6fe0c7b2 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+04af 6848c94b fetcht 1 ,mem_dg_mouse_dpi_level 
+04b0 67e0c94b store 1 ,mem_dg_mouse_dpi_level 
+04b1 98467c00 isub temp ,null 
+04b2 20628000 rtn zero 
+04b3 70495000 jam 0 ,mem_usb_dpi_info_data + 4 
+
+p_dongle_usb_tx_dpi_level_enable:
+04b4 70494c40 jam 0x40 ,mem_usb_dpi_info_data 
+04b5 70494da1 jam report_id_data_in ,mem_usb_dpi_info_data + 1 
+04b6 70494e05 jam ms_type ,mem_usb_dpi_info_data + 2 
+04b7 6fe0c94b fetch 1 ,mem_dg_mouse_dpi_level 
+04b8 67e0c94f store 1 ,mem_usb_dpi_info_data + 3 
+04b9 70090c23 jam usb_ep2_dpi ,mem_usb_ep2_data 
+04ba 202004c3 branch p_dongle_usb_tx_enable_ep2 
+
+p_dongle_receive_ms_battery_info:
+04bb 6fe0c7b2 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+04bc 67e0c7f7 store 1 ,mem_dg_mouse_battery_level 
+04bd 20600000 rtn 
+
+p_dongle_receive_ms_heart_info:
+04be 6fe0ca54 fetch 1 ,mem_dg_ms_ep2_ack_data_flag 
+04bf 207a0000 rtn blank 
+04c0 704a5400 jam 0 ,mem_dg_ms_ep2_ack_data_flag 
+
+p_24g_ackpayload_enable_set:
+04c1 70461108 jam protocol_ackpayload ,mem_24g_ackpayload_enable 
+04c2 20600000 rtn 
+
+p_dongle_usb_tx_enable_ep2:
+04c3 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
+04c4 207a0000 rtn blank 
+04c5 da20493b arg mem_usb_ep2_fifo ,rega 
+04c6 20407da5 call fifo_is_full 
+04c7 247a0000 nrtn blank 
+04c8 6fe0890c fetch 1 ,mem_usb_ep2_data 
+04c9 67e0866f store 1 ,mem_fifo_temp 
+04ca da20493b arg mem_usb_ep2_fifo ,rega 
+04cb 20207d8b branch fifo_in 
+
+p_dongle_g24_kb:
+04cc 6fe0c7b1 fetch 1 ,mem_24g_rxdata_temp_new + 2 
+04cd c28304e5 bbit1 data_key_matrix ,p_dongle_receive_kb_key_matrix_data 
+04ce c28284e0 bbit1 data_heart ,p_dongle_receive_kb_heart_info 
+04cf 6fe0c7b2 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+04d0 c00004d4 beq 0 ,p_dongle_g24_kb_type0 
+04d1 c00104da beq 2 ,p_dongle_g24_kb_type2 
+04d2 c00184dd beq 3 ,p_dongle_g24_kb_type3 
+04d3 202033be branch g24_rx_interrupt_clear 
+
+p_dongle_g24_kb_type0:
+04d4 6fe0c7b4 fetch 1 ,mem_24g_rxdata_temp_new + 5 
+04d5 67e0c611 store 1 ,mem_24g_ackpayload_enable 
+04d6 7047b400 jam 0 ,mem_24g_rxdata_temp_new + 5 
+04d7 d8a00923 arg mem_usb_kb_data ,contw 
+04d8 d8c047b3 arg mem_24g_rxdata_temp_new + 4 ,contr 
+04d9 202048ef branch dongle_g24_kb_type0 + 5 
+
+p_dongle_g24_kb_type2:
+04da d8a00943 arg mem_usb_kb_system ,contw 
+04db d8c047b2 arg mem_24g_rxdata_temp_new + 3 ,contr 
+04dc 2020491f branch dongle_g24_kb_type2 + 2 
+
+p_dongle_g24_kb_type3:
+04dd d8a00933 arg mem_usb_kb_multikey ,contw 
+04de d8c047b2 arg mem_24g_rxdata_temp_new + 3 ,contr 
+04df 20204907 branch dongle_g24_kb_type3 + 2 
+
+p_dongle_receive_kb_heart_info:
+04e0 6fe0ca96 fetch 1 ,mem_dg_kb_ep2_ack_data_flag 
+04e1 207a0000 rtn blank 
+04e2 704a9600 jam 0 ,mem_dg_kb_ep2_ack_data_flag 
+
+p_24g_ackpayload_kb_enable_set:
+04e3 70461108 jam protocol_ackpayload ,mem_24g_ackpayload_enable 
+04e4 20600000 rtn 
+
+p_dongle_receive_kb_key_matrix_data:
+04e5 6fe0c7b0 fetch 1 ,mem_24g_rxdata_temp_new + 1 
+04e6 1fe0ffff increase -1 ,pdata 
+04e7 1fe27200 copy pdata ,loopcnt 
+04e8 6fe14b79 fetch 2 ,mem_keymatrix_wptr 
+04e9 205a04f0 call p_dongle_write_from_head ,blank 
+04ea 245a04f2 ncall p_dongle_write_from_last ,blank 
+04eb d8c047b2 arg mem_24g_rxdata_temp_new + 3 ,contr 
+04ec 20407ccc call memcpy_fast 
+04ed 18a27e00 copy contw ,pdata 
+04ee 67e14b79 store 2 ,mem_keymatrix_wptr 
+04ef 20600000 rtn 
+
+p_dongle_write_from_head:
+04f0 d8a04ad8 arg mem_dg_kb_keymatrix_buff ,contw 
+04f1 20600000 rtn 
+
+p_dongle_write_from_last:
+04f2 6fe14b79 fetch 2 ,mem_keymatrix_wptr 
+04f3 1fe20a00 copy pdata ,contw 
+04f4 20600000 rtn 
+
+p_checksum_calcu:
+04f5 da200000 arg 0 ,rega 
+
+p_dongle_data_checksum:
+04f6 efe08006 ifetch 1 ,contr 
+04f7 9a20a200 iadd rega ,rega 
+04f8 c20004f6 loop p_dongle_data_checksum 
+04f9 1a2122ff and_into 0xff ,rega 
+04fa 20600000 rtn 
+
+p_dongle_g24_ms_blank_data:
+04fb 6fe0c668 fetch 1 ,mem_dg_ms_blank_data_enable 
+04fc 207a0000 rtn blank 
+04fd d8e0000d arg g24_timer_ms_blank ,queue 
+04fe 20407cef call timer_check 
+04ff 247a0000 nrtn blank 
+0500 70466800 jam 0 ,mem_dg_ms_blank_data_enable 
+0501 58000001 setarg ms_report_id 
+0502 67e08913 store 1 ,mem_usb_mouse_data 
+0503 58000000 setarg 0 
+0504 e7e38005 istore 7 ,contw 
+0505 70090c20 jam usb_ep2_ms ,mem_usb_ep2_data 
+0506 202004c3 branch p_dongle_usb_tx_enable_ep2 
+              org 0x47b7
+
+dongle_init:
+47b7 580047ea setarg dongle_dispatch 
+47b8 67e145e0 store 2 ,mem_cb_24g_receive_process 
+47b9 580048d4 setarg dongle_g24_mouse 
+47ba 67e145e4 store 2 ,mem_cb_24g_data_device1 
+47bb 580048e5 setarg dongle_g24_kb 
+47bc 67e145e6 store 2 ,mem_cb_24g_data_device2 
+47bd 580048ab setarg dongle_ackpayload_prep 
+47be 67e145e2 store 2 ,mem_cb_24g_ackpayload 
+47bf 580047f9 setarg dongle_usb_config 
+47c0 67e10859 store 2 ,mem_cb_usb_config 
+47c1 20207912 branch usb_init 
+
+dongle_default_init:
+47c2 449bc006 bpatch patch06_7 ,mem_patch06 
+47c3 204047ef call dongle_read_kb_bind_status 
+47c4 204047e5 call dongle_xtal_select 
+47c5 6fe0c669 fetch 1 ,mem_dg_sys_config 
+47c6 2feffe05 isolate1 dg_enable_eeprom ,pdata 
+47c7 2020c7cb branch dongle_default_no_eeprom ,true 
+47c8 6fe0c669 fetch 1 ,mem_dg_sys_config 
+47c9 2feffe06 isolate1 dg_enable_new_chmap ,pdata 
+47ca 2040b26b call g24_chamap_param_update ,true 
+
+dongle_default_no_eeprom:
+47cb 6fe0c694 fetch 1 ,mem_dg_24g_tx_power_default 
+47cc 67e0c141 store 1 ,mem_tx_power 
+47cd 7045d2ff jam 0xff ,mem_rssi_buff_index 
+47ce 5800099f setarg mem_dg_rssi_noise_buffer 
+47cf 67e14640 store 2 ,mem_rssi_noise_buffer_ptr 
+47d0 58000a9f setarg mem_dg_rssi_noise_dg_buffer 
+47d1 67e14642 store 2 ,mem_rssi_noise_self_buffer_ptr 
+47d2 58000b9f setarg mem_dg_rssi_noise_ms_buffer 
+47d3 67e14644 store 2 ,mem_rssi_noise_device1_buffer_ptr 
+47d4 58000c9f setarg mem_dg_rssi_noise_kb_buffer 
+47d5 67e14646 store 2 ,mem_rssi_noise_device2_buffer_ptr 
+47d6 7045d185 jam tx_power_f5db ,mem_24g_pair_tx_power 
+47d7 70469200 jam 0 ,mem_dg_kb_bind_success 
+47d8 70462b00 jam 0 ,mem_24g_bind_device_living 
+47d9 20403281 call g24_enable_1m 
+47da 6fe0c669 fetch 1 ,mem_dg_sys_config 
+47db 2feffe03 isolate1 dg_enable_24g_2m ,pdata 
+47dc 2040b284 call g24_enable_2m ,true 
+47dd 2040339f call g24_receive_init 
+47de 20403287 call g24_pair_param_init 
+47df 2040325b call g24_chmap_param_init 
+47e0 6fe0c673 fetch 1 ,mem_dg_usb_tx_interval 
+47e1 67e0885b store 1 ,mem_usb_tx_interval 
+47e2 6fe4c66a fetch 9 ,mem_dg_usb_vid_pid 
+47e3 67e4885c store 9 ,mem_usb_vid_pid 
+47e4 20600000 rtn 
+
+dongle_xtal_select:
+47e5 70409918 jam xtal_24m ,mem_fcomp_div 
+47e6 6fe0c669 fetch 1 ,mem_dg_sys_config 
+47e7 c4038000 rtnbit0 dg_enable_xtal_24m 
+47e8 70409910 jam xtal_16m ,mem_fcomp_div 
+47e9 20600000 rtn 
+
+dongle_dispatch:
+47ea 6fe0c610 fetch 1 ,mem_24g_pair_mode 
+47eb c000489b beq 0x00 ,dongle_auto_bind 
+47ec c000c822 beq 0x01 ,dongle_pc_bind 
+47ed c007c81e beq 0x0f ,dongle_all_powerful 
+47ee 20600000 rtn 
+
+dongle_read_kb_bind_status:
+47ef 449c4007 bpatch patch07_0 ,mem_patch07 
+47f0 da401fdf arg dongle_kb_bind_efuse_offect ,regb 
+47f1 da204648 arg mem_dg_kb_bind_flag ,rega 
+47f2 df200001 arg 1 ,loopcnt 
+47f3 20206b74 branch otp_read_data 
+
+dongle_write_kb_bind_status:
+47f4 449cc007 bpatch patch07_1 ,mem_patch07 
+47f5 df200001 arg 1 ,loopcnt 
+47f6 da204648 arg mem_dg_kb_bind_flag ,rega 
+47f7 da401fdf arg dongle_kb_bind_efuse_offect ,regb 
+47f8 20206b45 branch otp_write 
+
+dongle_usb_config:
+47f9 6fe0c669 fetch 1 ,mem_dg_sys_config 
+47fa c28247fd bbit1 dg_enable_kb_icon ,dongle_usb_config_kb 
+47fb 6fe0c648 fetch 1 ,mem_dg_kb_bind_flag 
+47fc c0ad4801 bne dongle_kb_bind_success ,dongle_usb_config_param 
+
+dongle_usb_config_kb:
+47fd 7046485a jam dongle_kb_bind_success ,mem_dg_kb_bind_flag 
+47fe 6ff2137a fetch 4 ,usb_devicedata_addr + 9 
+47ff 79207e1d set1 29 ,pdata 
+4800 67e207b4 store 4 ,mem_devicedesc + 9 
+
+dongle_usb_config_param:
+4801 20404818 call dongle_usb_device_name 
+4802 20407966 call usb_tx_interval_config 
+4803 20404805 call dongle_usb_vid_pid_config 
+4804 2020480e branch dongle_usb_hid_icon_config 
+
+dongle_usb_vid_pid_config:
+4805 6fe0885c fetch 1 ,mem_usb_vid_pid 
+4806 207a0000 rtn blank 
+4807 6fe0c648 fetch 1 ,mem_dg_kb_bind_flag 
+4808 c02d480c beq dongle_kb_bind_success ,dongle_usb_vid_pid_for_suit 
+
+dongle_usb_vid_pid_for_mouse_only_auto_pair:
+4809 6fe2085d fetch 4 ,mem_usb_vid_pid + 1 
+
+dongle_usb_vid_pid_store:
+480a 67e207b4 store 4 ,mem_devicedesc + 9 
+480b 20600000 rtn 
+
+dongle_usb_vid_pid_for_suit:
+480c 6fe20861 fetch 4 ,mem_usb_vid_pid + 5 
+480d 2020480a branch dongle_usb_vid_pid_store 
+
+dongle_usb_hid_icon_config:
+480e 6fe0c648 fetch 1 ,mem_dg_kb_bind_flag 
+480f c02d4814 beq dongle_kb_bind_success ,dongle_usb_kb_hidreportdesc 
+4810 58009272 setarg usb_kbdata_vendor_define_addr 
+4811 67e107a7 store 2 ,mem_hidreportdesc_kb 
+4812 7007d81a jam 0x1a ,mem_confdesc + 26 
+4813 20600000 rtn 
+
+dongle_usb_kb_hidreportdesc:
+4814 5800928d setarg usb_kbdata_addr 
+4815 67e107a7 store 2 ,mem_hidreportdesc_kb 
+4816 7007d83f jam 0x3f ,mem_confdesc + 26 
+4817 20600000 rtn 
+
+dongle_usb_device_name:
+4818 6fe0c674 fetch 1 ,mem_dg_usb_device_name 
+4819 207a0000 rtn blank 
+481a d8c04674 arg mem_dg_usb_device_name ,contr 
+481b d8a0081d arg mem_string2 ,contw 
+481c df20001e arg 30 ,loopcnt 
+481d 20207cda branch memcpy 
+
+dongle_all_powerful:
+481e 20403460 call g24_switch_work_mode 
+
+dongle_all_powerful_loop:
+481f 204048a3 call dongle_work_mode_auto 
+4820 20404867 call dongle_usb_dispatch 
+4821 2020481f branch dongle_all_powerful_loop 
+
+dongle_pc_bind:
+4822 20403460 call g24_switch_work_mode 
+
+dongle_pc_bind_loop:
+4823 204048a3 call dongle_work_mode_auto 
+4824 20403469 call g24_bind_mode_auto 
+4825 20404867 call dongle_usb_dispatch 
+4826 20204823 branch dongle_pc_bind_loop 
+
+dongle_g24_blank_data_process:
+4827 2040482b call dongle_g24_ms_blank_data 
+4828 2040483b call dongle_g24_kb_blank_data 
+4829 2040484c call dongle_g24_kb_sys_ctrl_blank_data 
+482a 20204859 branch dongle_g24_kb_mul_blank_data 
+
+dongle_g24_ms_blank_data:
+482b 449d4007 bpatch patch07_2 ,mem_patch07 
+482c 6fe0c668 fetch 1 ,mem_dg_ms_blank_data_enable 
+482d 207a0000 rtn blank 
+482e d8e0000d arg g24_timer_ms_blank ,queue 
+482f 20407cef call timer_check 
+4830 247a0000 nrtn blank 
+4831 70466800 jam 0 ,mem_dg_ms_blank_data_enable 
+4832 58000001 setarg ms_report_id 
+4833 67e08913 store 1 ,mem_usb_mouse_data 
+4834 58000000 setarg 0 
+4835 e7e38005 istore 7 ,contw 
+
+dongle_usb_tx_ms_data:
+4836 70090c20 jam usb_ep2_ms ,mem_usb_ep2_data 
+
+dongle_usb_tx_enable_ep2:
+4837 6fe0890d fetch 1 ,mem_usb_tx_enable 
+4838 79207e02 set1 2 ,pdata 
+4839 67e0890d store 1 ,mem_usb_tx_enable 
+483a 20600000 rtn 
+
+dongle_g24_kb_blank_data:
+483b 449dc007 bpatch patch07_3 ,mem_patch07 
+483c 6fe0c665 fetch 1 ,mem_dg_kb_blank_data_enable 
+483d 207a0000 rtn blank 
+483e d8e0000e arg g24_timer_kb_blank ,queue 
+483f 20407cef call timer_check 
+4840 247a0000 nrtn blank 
+4841 70466500 jam 0 ,mem_dg_kb_blank_data_enable 
+4842 d8a00923 arg mem_usb_kb_data ,contw 
+4843 20407c99 call memset0_16 
+4844 6fe40923 fetch 8 ,mem_usb_kb_data 
+4845 67e44651 store 8 ,mem_dg_kb_data_last_data 
+
+dongle_usb_tx_kb_data:
+4846 70092300 jam kb_normal_report_id ,mem_usb_kb_data 
+
+dongle_usb_tx_enable_ep1:
+4847 70090b10 jam usb_ep1_kb ,mem_usb_ep1_data 
+4848 6fe0890d fetch 1 ,mem_usb_tx_enable 
+4849 79207e01 set1 1 ,pdata 
+484a 67e0890d store 1 ,mem_usb_tx_enable 
+484b 20600000 rtn 
+
+dongle_g24_kb_sys_ctrl_blank_data:
+484c 6fe0c667 fetch 1 ,mem_dg_kb_system_crtl_blank_data_enable 
+484d 207a0000 rtn blank 
+484e d8e0000a arg g24_timer_kb_sys_crtl_blank ,queue 
+484f 20407cef call timer_check 
+4850 247a0000 nrtn blank 
+4851 70466700 jam 0 ,mem_dg_kb_system_crtl_blank_data_enable 
+4852 d8a00943 arg mem_usb_kb_system ,contw 
+4853 20407c99 call memset0_16 
+4854 70094302 jam kb_system_conctrl_report_id ,mem_usb_kb_system 
+4855 6fe10943 fetch 2 ,mem_usb_kb_system 
+4856 67e1465f store 2 ,mem_dg_kb_system_sta_data 
+
+dongle_usb_tx_sys_ctrl_data:
+4857 70090c22 jam usb_ep2_systemkey ,mem_usb_ep2_data 
+4858 20204837 branch dongle_usb_tx_enable_ep2 
+
+dongle_g24_kb_mul_blank_data:
+4859 449e4007 bpatch patch07_4 ,mem_patch07 
+485a 6fe0c666 fetch 1 ,mem_dg_kb_mul_blank_data_enable 
+485b 207a0000 rtn blank 
+485c d8e0000c arg g24_timer_kb_mul_blank ,queue 
+485d 20407cef call timer_check 
+485e 247a0000 nrtn blank 
+485f 70466600 jam 0 ,mem_dg_kb_mul_blank_data_enable 
+4860 d8a00933 arg mem_usb_kb_multikey ,contw 
+4861 20407c99 call memset0_16 
+4862 70093303 jam kb_multikey_report_id ,mem_usb_kb_multikey 
+4863 6fe18933 fetch 3 ,mem_usb_kb_multikey 
+4864 67e1c65c store 3 ,mem_dg_kb_multikey_last_data 
+
+dongle_usb_tx_multikey_data:
+4865 70090c21 jam usb_ep2_multikey ,mem_usb_ep2_data 
+4866 20204837 branch dongle_usb_tx_enable_ep2 
+
+dongle_usb_dispatch:
+4867 449ec007 bpatch patch07_5 ,mem_patch07 
+4868 6fe08901 fetch 1 ,mem_usb_remote_wakeup 
+4869 205a48b5 call dongle_clear_pc_sleep_flag ,blank 
+486a 20407906 call usb_isr 
+486b 6fe088f7 fetch 1 ,mem_usb0_get_set_report 
+486c 207a0000 rtn blank 
+486d 7008f700 jam 0 ,mem_usb0_get_set_report 
+486e 6fe108f5 fetch 2 ,mem_usb_setup_bvalue_temp 
+486f d84002ba arg pc_set_report ,temp 
+4870 98467c00 isub temp ,null 
+4871 24628000 nrtn zero 
+4872 6fe08875 fetch 1 ,mem_usb0_set_report_data 
+4873 c1dd0000 rtnne pc_report_id 
+4874 6fe08876 fetch 1 ,mem_usb0_set_report_data + 1 
+
+dongle_usb_dispatch_next:
+4875 c050487c beq command_mode ,dongle_dispose_cmd_mode 
+4876 c050c882 beq command_bind ,dongle_dispose_cmd_bind 
+4877 c053488e beq command_current_project ,dongle_dispose_cmd_current_project 
+4878 c053c890 beq command_current_mode ,dongle_dispose_cmd_current_mode 
+4879 c054c896 beq command_current_fw_version ,dongle_dispose_cmd_current_fw_version 
+
+dongle_usb0_data_ready_report_set0:
+487a 7008f800 jam 0 ,mem_usb0_data_ready_report 
+487b 20600000 rtn 
+
+dongle_dispose_cmd_mode:
+487c 6fe08877 fetch 1 ,mem_usb0_set_report_data + 2 
+487d c040c87f beq com_mode_bind ,dongle_enter_bind_mode 
+487e 2020487a branch dongle_usb0_data_ready_report_set0 
+
+dongle_enter_bind_mode:
+487f 204032fc call g24_bind_mode_enable 
+
+dongle_usb0_data_ready_report_set1:
+4880 7008f801 jam 1 ,mem_usb0_data_ready_report 
+4881 20600000 rtn 
+
+dongle_dispose_cmd_bind:
+4882 6fe08877 fetch 1 ,mem_usb0_set_report_data + 2 
+4883 c000c887 beq com_bind_get ,dongle_dispose_cmd_get_bind 
+4884 c042488a beq com_bind_exit ,dongle_dispose_cmd_exit_bind 
+4885 c053c88c beq com_read_mode ,dongle_dispose_cmd_read_mode 
+4886 2020487a branch dongle_usb0_data_ready_report_set0 
+
+dongle_dispose_cmd_get_bind:
+4887 6fe0c5d5 fetch 1 ,mem_24g_bind_device_status 
+4888 67e088b6 store 1 ,mem_usb0_get_report_data + 1 
+4889 20204880 branch dongle_usb0_data_ready_report_set1 
+
+dongle_dispose_cmd_exit_bind:
+488a 20403461 call g24_work_mode_enable 
+488b 20204887 branch dongle_dispose_cmd_get_bind 
+
+dongle_dispose_cmd_read_mode:
+
+dongle_dispose_in_bind_mode:
+488c 7008b6a1 jam command_bind ,mem_usb0_get_report_data + 1 
+488d 20204880 branch dongle_usb0_data_ready_report_set1 
+
+dongle_dispose_cmd_current_project:
+488e 7008b615 jam product_id ,mem_usb0_get_report_data + 1 
+488f 20204880 branch dongle_usb0_data_ready_report_set1 
+
+dongle_dispose_cmd_current_mode:
+4890 6fe0c616 fetch 1 ,mem_24g_work_mode 
+4891 c0004894 beq dongle_work ,dongle_dispose_in_work_mode 
+4892 c000c88c beq dongle_bind ,dongle_dispose_in_bind_mode 
+4893 20600000 rtn 
+
+dongle_dispose_in_work_mode:
+4894 7008b6a0 jam command_mode ,mem_usb0_get_report_data + 1 
+4895 20204880 branch dongle_usb0_data_ready_report_set1 
+
+dongle_dispose_cmd_current_fw_version:
+4896 7008b600 jam fw_version0 ,mem_usb0_get_report_data + 1 
+4897 7008b700 jam fw_version1 ,mem_usb0_get_report_data + 2 
+4898 7008b801 jam fw_version2 ,mem_usb0_get_report_data + 3 
+4899 7008b907 jam fw_version3 ,mem_usb0_get_report_data + 4 
+489a 20204880 branch dongle_usb0_data_ready_report_set1 
+
+dongle_auto_bind:
+489b 20403402 call g24_mode_switch_init 
+
+dongle_auto_bind_loop:
+489c 20403407 call g24_mode_switch_bind_work 
+489d 2040342d call g24_mode_switch_bind_search 
+489e 204048a3 call dongle_work_mode_auto 
+489f 20403469 call g24_bind_mode_auto 
+48a0 20403488 call g24_search_mode_auto 
+48a1 20404867 call dongle_usb_dispatch 
+48a2 2020489c branch dongle_auto_bind_loop 
+
+dongle_work_mode_auto:
+48a3 449f4007 bpatch patch07_6 ,mem_patch07 
+48a4 6fe0c616 fetch 1 ,mem_24g_work_mode 
+48a5 c1800000 rtnne dongle_work 
+48a6 20403464 call g24_work_mode_start 
+48a7 20404827 call dongle_g24_blank_data_process 
+48a8 6fe0c610 fetch 1 ,mem_24g_pair_mode 
+48a9 247a0000 nrtn blank 
+48aa 2020350a branch g24_nodata_process 
+
+dongle_ackpayload_prep:
+48ab 6fe0c589 fetch 1 ,mem_24g_data_type 
+48ac c000c8ae beq datatype_device1 ,dongle_ackpayload_prep_mouse 
+48ad c00148b7 beq datatype_device2 ,dongle_ackpayload_prep_keyboard 
+
+dongle_ackpayload_prep_mouse:
+48ae 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
+48af c28048bd bbit1 0 ,dongle_pc_sleep_ackpayload_prep_mouse 
+48b0 202048b9 branch dongle_ackpayload_prep_end 
+
+dongle_set_pc_sleep_flag:
+48b1 6fe0c3cb fetch 1 ,mem_device_option 
+48b2 c1820000 rtnne dvc_op_dongle 
+48b3 70469303 jam 3 ,mem_dg_pc_sleep_flag 
+48b4 20600000 rtn 
+
+dongle_clear_pc_sleep_flag:
+48b5 70469300 jam 0 ,mem_dg_pc_sleep_flag 
+48b6 20600000 rtn 
+
+dongle_ackpayload_prep_keyboard:
+48b7 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
+48b8 c280c8c1 bbit1 1 ,dongle_pc_sleep_ackpayload_prep_keyboard 
+
+dongle_ackpayload_prep_end:
+48b9 6fe0c611 fetch 1 ,mem_24g_ackpayload_enable 
+48ba c000c8c8 beq bind_ackpayload ,dongle_g24_bind_ackpayload_prep 
+48bb c001c8cc beq kb_led_ackpayload ,dongle_g24_kb_led_ackpayload_prep 
+48bc 20600000 rtn 
+
+dongle_pc_sleep_ackpayload_prep_mouse:
+48bd 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
+48be 793ffe00 set0 0 ,pdata 
+48bf 67e0c693 store 1 ,mem_dg_pc_sleep_flag 
+48c0 202048c4 branch dongle_pc_sleep_ackpayload_prep 
+
+dongle_pc_sleep_ackpayload_prep_keyboard:
+48c1 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
+48c2 793ffe01 set0 1 ,pdata 
+48c3 67e0c693 store 1 ,mem_dg_pc_sleep_flag 
+
+dongle_pc_sleep_ackpayload_prep:
+48c4 70458801 jam 0x01 ,mem_24g_datalen 
+48c5 580000ff setarg 0xff 
+48c6 67e0c519 store 1 ,mem_24g_txbuf 
+48c7 20600000 rtn 
+
+dongle_g24_bind_ackpayload_prep:
+48c8 70461101 jam 1 ,mem_24g_ackpayload_enable 
+48c9 2040337e call g24_binding_device_check 
+48ca 24778000 nrtn user3 
+48cb 2020330a branch g24_bind_ackpayload_prep 
+
+dongle_g24_kb_led_ackpayload_prep:
+48cc 6fe0c4f9 fetch 1 ,mem_24g_rxbuf + 2 
+48cd c000c8c8 beq datatype_device1 ,dongle_g24_bind_ackpayload_prep 
+48ce c07fc8c8 beq datatype_attemp ,dongle_g24_bind_ackpayload_prep 
+48cf 7008f900 jam 0 ,mem_usb_tx_win_enable 
+48d0 70458801 jam 0x01 ,mem_24g_datalen 
+48d1 6fe0c621 fetch 1 ,mem_24g_led_status 
+48d2 67e0c519 store 1 ,mem_24g_txbuf 
+48d3 20600000 rtn 
+
+dongle_g24_mouse:
+48d4 58000001 setarg ms_report_id 
+48d5 67e08913 store 1 ,mem_usb_mouse_data 
+48d6 6fe3c5eb fetch 7 ,mem_24g_rxdata_temp + 3 
+48d7 e7e38005 istore 7 ,contw 
+48d8 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
+48d9 245a48dd ncall dongle_g24_ms_enable_blank_data_forcibly ,blank 
+48da 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
+48db 205a48e1 call dongle_g24_ms_disable_blank_data_forcibly ,blank 
+48dc 20204836 branch dongle_usb_tx_ms_data 
+
+dongle_g24_ms_enable_blank_data_forcibly:
+48dd 70466801 jam 1 ,mem_dg_ms_blank_data_enable 
+48de 58000180 setarg timer_ms_blank_delay 
+48df d8e0000d arg g24_timer_ms_blank ,queue 
+48e0 20207ce1 branch timer_init 
+
+dongle_g24_ms_disable_blank_data_forcibly:
+48e1 70466800 jam 0 ,mem_dg_ms_blank_data_enable 
+48e2 58000000 setarg 0 
+48e3 d8e0000d arg g24_timer_ms_blank ,queue 
+48e4 20207ce1 branch timer_init 
+
+dongle_g24_kb:
+48e5 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
+48e6 c00048ea beq 0 ,dongle_g24_kb_type0 
+48e7 c001491d beq 2 ,dongle_g24_kb_type2 
+48e8 c001c905 beq 3 ,dongle_g24_kb_type3 
+48e9 202033be branch g24_rx_interrupt_clear 
+
+dongle_g24_kb_type0:
+48ea 6fe0c5ed fetch 1 ,mem_24g_rxdata_temp + 5 
+48eb 67e0c611 store 1 ,mem_24g_ackpayload_enable 
+48ec 7045ed00 jam 0 ,mem_24g_rxdata_temp + 5 
+48ed d8a00923 arg mem_usb_kb_data ,contw 
+48ee d8c045ec arg mem_24g_rxdata_temp + 4 ,contr 
+48ef df200008 arg 8 ,loopcnt 
+48f0 20407cda call memcpy 
+48f1 6fe40923 fetch 8 ,mem_usb_kb_data 
+48f2 245a48fd ncall dongle_g24_kb_enable_blank_data_forcibly ,blank 
+48f3 6fe40923 fetch 8 ,mem_usb_kb_data 
+48f4 205a4901 call dongle_g24_kb_disable_blank_data_forcibly ,blank 
+48f5 6fe40923 fetch 8 ,mem_usb_kb_data 
+48f6 67e44649 store 8 ,mem_dg_kb_data_sta_data 
+48f7 684c4651 fetcht 8 ,mem_dg_kb_data_last_data 
+48f8 98467c00 isub temp ,null 
+48f9 2442c847 ncall dongle_usb_tx_enable_ep1 ,zero 
+48fa 6fe44649 fetch 8 ,mem_dg_kb_data_sta_data 
+48fb 67e44651 store 8 ,mem_dg_kb_data_last_data 
+48fc 202033be branch g24_rx_interrupt_clear 
+
+dongle_g24_kb_enable_blank_data_forcibly:
+48fd 70466501 jam 1 ,mem_dg_kb_blank_data_enable 
+48fe 58000180 setarg timer_kb_blank_delay 
+48ff d8e0000e arg g24_timer_kb_blank ,queue 
+4900 20207ce1 branch timer_init 
+
+dongle_g24_kb_disable_blank_data_forcibly:
+4901 70466500 jam 0 ,mem_dg_kb_blank_data_enable 
+4902 58000000 setarg 0 
+4903 d8e0000e arg g24_timer_kb_blank ,queue 
+4904 20207ce1 branch timer_init 
+
+dongle_g24_kb_type3:
+4905 d8a00933 arg mem_usb_kb_multikey ,contw 
+4906 d8c045eb arg mem_24g_rxdata_temp + 3 ,contr 
+4907 df200003 arg 3 ,loopcnt 
+4908 20407cda call memcpy 
+4909 6fe10934 fetch 2 ,mem_usb_kb_multikey + 1 
+490a 245a4915 ncall dongle_g24_kb_mul_enable_blank_data_forcibly ,blank 
+490b 6fe10934 fetch 2 ,mem_usb_kb_multikey + 1 
+490c 205a4919 call dongle_g24_kb_mul_disable_blank_data_forcibly ,blank 
+490d 6fe18933 fetch 3 ,mem_usb_kb_multikey 
+490e 67e1c659 store 3 ,mem_dg_kb_multikey_sta_data 
+490f 6849c65c fetcht 3 ,mem_dg_kb_multikey_last_data 
+4910 98467c00 isub temp ,null 
+4911 2442c865 ncall dongle_usb_tx_multikey_data ,zero 
+4912 6fe1c659 fetch 3 ,mem_dg_kb_multikey_sta_data 
+4913 67e1c65c store 3 ,mem_dg_kb_multikey_last_data 
+4914 202033be branch g24_rx_interrupt_clear 
+
+dongle_g24_kb_mul_enable_blank_data_forcibly:
+4915 70466601 jam 1 ,mem_dg_kb_mul_blank_data_enable 
+4916 58000180 setarg timer_kb_mul_blank_delay 
+4917 d8e0000c arg g24_timer_kb_mul_blank ,queue 
+4918 20207ce1 branch timer_init 
+
+dongle_g24_kb_mul_disable_blank_data_forcibly:
+4919 70466600 jam 0 ,mem_dg_kb_mul_blank_data_enable 
+491a 58000000 setarg 0 
+491b d8e0000c arg g24_timer_kb_mul_blank ,queue 
+491c 20207ce1 branch timer_init 
+
+dongle_g24_kb_type2:
+491d d8a00943 arg mem_usb_kb_system ,contw 
+491e d8c045eb arg mem_24g_rxdata_temp + 3 ,contr 
+491f df200002 arg 2 ,loopcnt 
+4920 20407cda call memcpy 
+4921 6fe10943 fetch 2 ,mem_usb_kb_system 
+4922 245a492d ncall dongle_g24_kb_sys_enable_blank_data_forcibly ,blank 
+4923 6fe10943 fetch 2 ,mem_usb_kb_system 
+4924 205a4931 call dongle_g24_kb_sys_disable_blank_data_forcibly ,blank 
+4925 6fe10943 fetch 2 ,mem_usb_kb_system 
+4926 67e1465f store 2 ,mem_dg_kb_system_sta_data 
+4927 68494662 fetcht 2 ,mem_dg_kb_system_last_data 
+4928 98467c00 isub temp ,null 
+4929 2442c935 ncall dongle_usb_tx_sys_data ,zero 
+492a 6fe1465f fetch 2 ,mem_dg_kb_system_sta_data 
+492b 67e14662 store 2 ,mem_dg_kb_system_last_data 
+492c 202033be branch g24_rx_interrupt_clear 
+
+dongle_g24_kb_sys_enable_blank_data_forcibly:
+492d 70466701 jam 1 ,mem_dg_kb_system_crtl_blank_data_enable 
+492e 58000180 setarg timer_kb_sys_crtl_blank_delay 
+492f d8e0000a arg g24_timer_kb_sys_crtl_blank ,queue 
+4930 20207ce1 branch timer_init 
+
+dongle_g24_kb_sys_disable_blank_data_forcibly:
+4931 70466700 jam 0 ,mem_dg_kb_system_crtl_blank_data_enable 
+4932 58000000 setarg 0 
+4933 d8e0000a arg g24_timer_kb_sys_crtl_blank ,queue 
+4934 20207ce1 branch timer_init 
+
+dongle_usb_tx_sys_data:
+4935 70090c22 jam usb_ep2_systemkey ,mem_usb_ep2_data 
+4936 20204837 branch dongle_usb_tx_enable_ep2 
+
+dongle_g24_store_dvc2_bind_flag:
+4937 6fe0c3cb fetch 1 ,mem_device_option 
+4938 c1820000 rtnne dvc_op_dongle 
+4939 6fe0c648 fetch 1 ,mem_dg_kb_bind_flag 
+493a c12d0000 rtneq dongle_kb_bind_success 
+
+dongle_prep_soft_reset:
+493b 70469201 jam 1 ,mem_dg_kb_bind_success 
+493c 20600000 rtn 
+
+dongle_kb_bind_soft_reset:
+493d 6fe0c3cb fetch 1 ,mem_device_option 
+493e c1820000 rtnne dvc_op_dongle 
+493f 6fe0c692 fetch 1 ,mem_dg_kb_bind_success 
+4940 207a0000 rtn blank 
+4941 70067800 jam 0 ,mem_temp 
+
+dongle_wirte_efuse_bind_status:
+4942 7046485a jam dongle_kb_bind_success ,mem_dg_kb_bind_flag 
+4943 204047f4 call dongle_write_kb_bind_status 
+4944 204047ef call dongle_read_kb_bind_status 
+4945 6fe08678 fetch 1 ,mem_temp 
+4946 1fe0fe01 increase 1 ,pdata 
+4947 67e08678 store 1 ,mem_temp 
+4948 c07feca3 beq 0xff ,soft_reset_chip 
+4949 6fe0c648 fetch 1 ,mem_dg_kb_bind_flag 
+494a c0ad4942 bne dongle_kb_bind_success ,dongle_wirte_efuse_bind_status 
+494b 20206ca3 branch soft_reset_chip 
+
Index: output/romcode.rom
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/output/romcode.rom	(nonexistent)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/output/romcode.rom	(working copy)
@@ -0,0 +1,14409 @@
+580047ea
+67e145e0
+580048d4
+67e145e4
+580048e5
+67e145e6
+580048ab
+67e145e2
+580047f9
+67e10859
+20207912
+449bc006
+204047ef
+204047e5
+6fe0c669
+2feffe05
+2020c7cb
+6fe0c669
+2feffe06
+2040b26b
+6fe0c694
+67e0c141
+7045d2ff
+5800099f
+67e14640
+58000a9f
+67e14642
+58000b9f
+67e14644
+58000c9f
+67e14646
+7045d185
+70469200
+70462b00
+20403281
+6fe0c669
+2feffe03
+2040b284
+2040339f
+20403287
+2040325b
+6fe0c673
+67e0885b
+6fe4c66a
+67e4885c
+20600000
+70409918
+6fe0c669
+c4038000
+70409910
+20600000
+6fe0c610
+c000489b
+c000c822
+c007c81e
+20600000
+449c4007
+da401fdf
+da204648
+df200001
+20206b74
+449cc007
+df200001
+da204648
+da401fdf
+20206b45
+6fe0c669
+c28247fd
+6fe0c648
+c0ad4801
+7046485a
+6ff2137a
+79207e1d
+67e207b4
+20404818
+20407966
+20404805
+2020480e
+6fe0885c
+207a0000
+6fe0c648
+c02d480c
+6fe2085d
+67e207b4
+20600000
+6fe20861
+2020480a
+6fe0c648
+c02d4814
+58009272
+67e107a7
+7007d81a
+20600000
+5800928d
+67e107a7
+7007d83f
+20600000
+6fe0c674
+207a0000
+d8c04674
+d8a0081d
+df20001e
+20207cda
+20403460
+204048a3
+20404867
+2020481f
+20403460
+204048a3
+20403469
+20404867
+20204823
+2040482b
+2040483b
+2040484c
+20204859
+449d4007
+6fe0c668
+207a0000
+d8e0000d
+20407cef
+247a0000
+70466800
+58000001
+67e08913
+58000000
+e7e38005
+70090c20
+6fe0890d
+79207e02
+67e0890d
+20600000
+449dc007
+6fe0c665
+207a0000
+d8e0000e
+20407cef
+247a0000
+70466500
+d8a00923
+20407c99
+6fe40923
+67e44651
+70092300
+70090b10
+6fe0890d
+79207e01
+67e0890d
+20600000
+6fe0c667
+207a0000
+d8e0000a
+20407cef
+247a0000
+70466700
+d8a00943
+20407c99
+70094302
+6fe10943
+67e1465f
+70090c22
+20204837
+449e4007
+6fe0c666
+207a0000
+d8e0000c
+20407cef
+247a0000
+70466600
+d8a00933
+20407c99
+70093303
+6fe18933
+67e1c65c
+70090c21
+20204837
+449ec007
+6fe08901
+205a48b5
+20407906
+6fe088f7
+207a0000
+7008f700
+6fe108f5
+d84002ba
+98467c00
+24628000
+6fe08875
+c1dd0000
+6fe08876
+c050487c
+c050c882
+c053488e
+c053c890
+c054c896
+7008f800
+20600000
+6fe08877
+c040c87f
+2020487a
+204032fc
+7008f801
+20600000
+6fe08877
+c000c887
+c042488a
+c053c88c
+2020487a
+6fe0c5d5
+67e088b6
+20204880
+20403461
+20204887
+7008b6a1
+20204880
+7008b615
+20204880
+6fe0c616
+c0004894
+c000c88c
+20600000
+7008b6a0
+20204880
+7008b600
+7008b700
+7008b801
+7008b907
+20204880
+20403402
+20403407
+2040342d
+204048a3
+20403469
+20403488
+20404867
+2020489c
+449f4007
+6fe0c616
+c1800000
+20403464
+20404827
+6fe0c610
+247a0000
+2020350a
+6fe0c589
+c000c8ae
+c00148b7
+6fe0c693
+c28048bd
+202048b9
+6fe0c3cb
+c1820000
+70469303
+20600000
+70469300
+20600000
+6fe0c693
+c280c8c1
+6fe0c611
+c000c8c8
+c001c8cc
+20600000
+6fe0c693
+793ffe00
+67e0c693
+202048c4
+6fe0c693
+793ffe01
+67e0c693
+70458801
+580000ff
+67e0c519
+20600000
+70461101
+2040337e
+24778000
+2020330a
+6fe0c4f9
+c000c8c8
+c07fc8c8
+7008f900
+70458801
+6fe0c621
+67e0c519
+20600000
+58000001
+67e08913
+6fe3c5eb
+e7e38005
+6fe0c5eb
+245a48dd
+6fe0c5eb
+205a48e1
+20204836
+70466801
+58000180
+d8e0000d
+20207ce1
+70466800
+58000000
+d8e0000d
+20207ce1
+6fe0c5eb
+c00048ea
+c001491d
+c001c905
+202033be
+6fe0c5ed
+67e0c611
+7045ed00
+d8a00923
+d8c045ec
+df200008
+20407cda
+6fe40923
+245a48fd
+6fe40923
+205a4901
+6fe40923
+67e44649
+684c4651
+98467c00
+2442c847
+6fe44649
+67e44651
+202033be
+70466501
+58000180
+d8e0000e
+20207ce1
+70466500
+58000000
+d8e0000e
+20207ce1
+d8a00933
+d8c045eb
+df200003
+20407cda
+6fe10934
+245a4915
+6fe10934
+205a4919
+6fe18933
+67e1c659
+6849c65c
+98467c00
+2442c865
+6fe1c659
+67e1c65c
+202033be
+70466601
+58000180
+d8e0000c
+20207ce1
+70466600
+58000000
+d8e0000c
+20207ce1
+d8a00943
+d8c045eb
+df200002
+20407cda
+6fe10943
+245a492d
+6fe10943
+205a4931
+6fe10943
+67e1465f
+68494662
+98467c00
+2442c935
+6fe1465f
+67e14662
+202033be
+70466701
+58000180
+d8e0000a
+20207ce1
+70466700
+58000000
+d8e0000a
+20207ce1
+70090c22
+20204837
+6fe0c3cb
+c1820000
+6fe0c648
+c12d0000
+70469201
+20600000
+6fe0c3cb
+c1820000
+6fe0c692
+207a0000
+70067800
+7046485a
+204047f4
+204047ef
+6fe08678
+1fe0fe01
+67e08678
+c07feca3
+6fe0c648
+c0ad4942
+20206ca3
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00020001
+18000228
+03020002
+030a0128
+2a000200
+00000014
+00000000
+00000000
+00000000
+00000000
+02000400
+02012803
+01020005
+03c2022a
+03020006
+07020128
+2a040200
+06000608
+2c006400
+02000801
+01022800
+02000918
+20012803
+0502000a
+000b002a
+02290202
+000c0000
+02280002
+000d180a
+01280302
+02000e02
+59062a29
+69684369
+02000f70
+02012803
+50020010
+3502072a
+01aa2212
+02001100
+12022800
+02001218
+06012803
+4e020013
+1401012a
+28030200
+00151201
+082a4d02
+00000000
+00000000
+02020016
+00000229
+08020017
+01020229
+03020018
+191a0128
+2a4d0200
+00000007
+00000000
+0202001a
+00000229
+0802001b
+01010229
+0302001c
+1d120128
+2a4d0200
+1e000002
+29020200
+1f000002
+29080200
+20010302
+28030200
+00211201
+022a4d02
+00220000
+02290202
+00230000
+02290802
+00240104
+01280302
+0200250e
+00022a4d
+02002600
+02022908
+02002702
+02012803
+4b020028
+0105bd2a
+01a10209
+01090185
+090500a1
+08290119
+01250015
+08950175
+01050281
+31093009
+26f80116
+107507ff
+06810295
+81153809
+08757f25
+06810195
+380a0c05
+81019502
+05c0c006
+a1060901
+75028501
+05089501
+29e01907
+250015e7
+95028101
+81087501
+75059503
+19080501
+91052901
+75019502
+95039103
+15087506
+00ff2600
+00190705
+0081ff29
+090c05c0
+8501a101
+2a001903
+001503ff
+9503ff26
+81107501
+0105c000
+01A18009
+00150485
+01750125
+81190395
+02818329
+05750195
+29C00381
+28030200
+002a1a01
+082a3302
+00000000
+00000000
+0202002b
+00010229
+0302002c
+2d020128
+2a4a0200
+00010104
+02002e03
+0f022800
+02002f18
+12012803
+19020030
+3164012a
+29020200
+32000002
+28030200
+00330401
+002a4c02
+061a0000
+8809ffbc
+048501a1
+ff2a0019
+26001500
+087500ff
+00810195
+01053fc0
+01a10609
+08950175
+e0190705
+0015e729
+02810125
+08750195
+05950381
+08050175
+05290119
+01950291
+03910375
+08750695
+ff250015
+00190705
+0081ff29
+0105a3c0
+01a10209
+01090185
+090500a1
+05290119
+01250015
+01750595
+01950281
+01810375
+30090105
+01163109
+07FF26F8
+02951075
+38090681
+7f258115
+01950875
+0c050681
+9502380a
+c0068101
+090105c0
+8501a180
+19010502
+15882981
+95012500
+81017508
+0c05c006
+01a10109
+00150385
+19038026
+03802a00
+01951075
+06c00081
+0e09ff00
+BA8501a1
+08751f95
+1500ff26
+91010900
+95BA8502
+2608751f
+001500ff
+02810109
+011212C0
+00000200
+31514000
+00021020
+01000201
+3b02093b
+00010200
+040932a0
+03010000
+09000101
+00020021
+001a2201
+03810507
+09020040
+01000104
+00020103
+02002109
+a3220100
+82050700
+02004003
+00020001
+18010228
+03020002
+03200128
+2a050200
+00040001
+02290202
+00050000
+02280002
+00061800
+01280302
+02000702
+43132a00
+73706968
+422d6165
+2020454c
+20202020
+00082020
+01280302
+02000902
+c1022a01
+02000a03
+02012803
+0402000b
+0006082a
+00640006
+000c012c
+02280002
+000d180a
+01280302
+02000e02
+02072a50
+8266248a
+000f0001
+02280002
+00101812
+01280302
+02001106
+01012a4e
+03020012
+13120128
+2a4d0200
+14000002
+29020200
+15000002
+29080200
+16010202
+28030200
+00171201
+022a4d02
+00180000
+02290202
+00190000
+02290802
+001a0103
+01280302
+02001b02
+051b2a4b
+a101090c
+09028501
+09ea09e9
+153009e2
+750c2501
+81019510
+001cc000
+01280302
+02001d02
+11042a4a
+1e010001
+28030200
+001f0401
+012a4c02
+02002000
+0f022800
+02002118
+12012803
+19020022
+0063012a
+00130200
+13020002
+02000100
+00040013
+06001302
+00130200
+13020005
+02000000
+28000017
+00001702
+02000100
+01022800
+02000218
+20012803
+05020003
+0400012a
+29020200
+05000002
+28000200
+06180002
+28030200
+00070201
+112a0002
+4f484355
+3130204e
+20202020
+20202020
+02000820
+02012803
+01020009
+00c8022a
+0302000a
+0b020128
+2a040200
+06000608
+2c006400
+02000c01
+0a022800
+02000d18
+02012803
+5002000e
+8a02072a
+01826624
+02000f00
+f0022800
+020010ff
+12012803
+f1020011
+00000eff
+00000000
+00000000
+00000000
+02020012
+00000229
+03020013
+14080128
+fff20200
+0000000e
+00000000
+00000000
+00000000
+8a2f9800
+37449142
+c0fbcf71
+b5dba5b5
+56c25be9
+f111f139
+3f82a459
+1c5ed592
+07aa98ab
+835b01d8
+3185be12
+0c7dc324
+be5d7455
+deb1fe72
+dc06a780
+9bf1749b
+9b69c1c1
+be4786e4
+c19dc6ef
+0ca1cc0f
+e92c6f24
+7484aa2d
+b0a9dc4a
+f988da5c
+3e515276
+31c66d98
+0327c8a8
+597fc7b0
+e00bf3bf
+a79147c6
+ca6351d5
+29296706
+b70a8514
+1b213827
+2c6dfc2e
+380d134d
+0a735453
+6a0abb65
+c2c92e76
+722c8581
+bfe8a192
+1a664ba2
+4b8b70a8
+6c51a3c2
+92e819c7
+990624d1
+0e3585d6
+6aa070f4
+a4c11610
+376c0819
+48774c1e
+b0bcb527
+1c0cb334
+d8aa4a39
+9cca4f4e
+2e6ff35b
+8f82ee68
+a5636f74
+c8781478
+c7020884
+befffa8c
+506ceb90
+f9a3f7a4
+7178f2be
+000000c6
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+000067ab
\ No newline at end of file
Index: program/app_dongle.prog
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/program/app_dongle.prog	(nonexistent)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/program/app_dongle.prog	(working copy)
@@ -0,0 +1,554 @@
+ifdef COMPILE_DONGLE
+
+dongle_init:
+	setarg dongle_dispatch
+	store 2,mem_cb_24g_receive_process
+	setarg dongle_g24_mouse
+	store 2,mem_cb_24g_data_device1
+	setarg dongle_g24_kb
+	store 2,mem_cb_24g_data_device2
+	setarg dongle_ackpayload_prep
+	store 2,mem_cb_24g_ackpayload
+	setarg dongle_usb_config
+	store 2,mem_cb_usb_config
+	branch usb_init
+
+
+dongle_default_init:
+	bpatch patch06_7,mem_patch06
+	//sys init
+	call dongle_read_kb_bind_status
+	call dongle_xtal_select
+	fetch 1,mem_dg_sys_config
+	isolate1 DG_ENABLE_EEPROM,pdata
+	branch dongle_default_no_eeprom,true
+	fetch 1,mem_dg_sys_config
+	isolate1 DG_ENABLE_NEW_CHMAP,pdata
+	call g24_chamap_param_update,true
+dongle_default_no_eeprom:	
+	fetch 1,mem_dg_24g_tx_power_default
+	store 1,mem_tx_power
+	//24g init
+	jam 0xff,mem_rssi_buff_index
+	setarg mem_dg_rssi_noise_buffer
+	store 2,mem_rssi_noise_buffer_ptr
+	setarg mem_dg_rssi_noise_dg_buffer
+	store 2,mem_rssi_noise_self_buffer_ptr
+	setarg mem_dg_rssi_noise_ms_buffer
+	store 2,mem_rssi_noise_device1_buffer_ptr
+	setarg mem_dg_rssi_noise_kb_buffer
+	store 2,mem_rssi_noise_device2_buffer_ptr
+	jam TX_POWER_F5DB,mem_24g_pair_tx_power
+	jam 0,mem_dg_kb_bind_success
+	jam 0,mem_24g_bind_device_living
+	call g24_enable_1M
+	fetch 1,mem_dg_sys_config
+	isolate1 DG_ENABLE_24G_2M,pdata
+	call g24_enable_2M,true
+	call g24_receive_init
+	call g24_pair_param_init
+	call g24_chmap_param_init
+	//usb init
+	fetch 1,mem_dg_usb_tx_interval
+	store 1,mem_usb_tx_interval
+	fetch 9,mem_dg_usb_vid_pid
+	store 9,mem_usb_vid_pid
+	rtn
+	
+dongle_xtal_select:
+	jam XTAL_24M,mem_fcomp_div
+	fetch 1,mem_dg_sys_config
+	rtnbit0 DG_ENABLE_XTAL_24M
+	jam XTAL_16M,mem_fcomp_div
+	rtn
+
+dongle_dispatch:
+	fetch 1,mem_24g_pair_mode
+	beq 0x00,dongle_auto_bind
+	beq 0x01,dongle_pc_bind
+	beq 0x0f,dongle_all_powerful
+	rtn
+
+
+dongle_read_kb_bind_status:
+	bpatch patch07_0,mem_patch07
+	arg DONGLE_KB_BIND_EFUSE_OFFECT,regb
+	arg mem_dg_kb_bind_flag,rega
+	arg 1,loopcnt
+	branch otp_read_data
+
+dongle_write_kb_bind_status:
+	bpatch patch07_1,mem_patch07
+	arg 1,loopcnt
+	arg mem_dg_kb_bind_flag,rega
+	arg DONGLE_KB_BIND_EFUSE_OFFECT,regb
+	branch otp_write
+
+dongle_usb_config:
+	fetch 1,mem_dg_sys_config
+	bbit1 DG_ENABLE_KB_ICON,dongle_usb_config_kb
+	fetch 1,mem_dg_kb_bind_flag
+	bne DONGLE_KB_BIND_SUCCESS,dongle_usb_config_param
+dongle_usb_config_kb:
+	jam DONGLE_KB_BIND_SUCCESS,mem_dg_kb_bind_flag
+	fetch 4,USB_DEVICEDATA_ADDR+9
+	set1 29,pdata
+	store 4,mem_devicedesc+9
+dongle_usb_config_param:
+	call dongle_usb_device_name
+	call usb_tx_interval_config
+	call dongle_usb_vid_pid_config
+	branch dongle_usb_hid_icon_config
+
+dongle_usb_vid_pid_config:
+	fetch 1,mem_usb_vid_pid
+	rtn blank
+	fetch 1,mem_dg_kb_bind_flag
+	beq DONGLE_KB_BIND_SUCCESS,dongle_usb_vid_pid_for_suit
+dongle_usb_vid_pid_for_mouse_only_auto_pair:	
+	fetch 4,mem_usb_vid_pid+1
+dongle_usb_vid_pid_store:	
+	store 4,mem_devicedesc+9
+	rtn
+dongle_usb_vid_pid_for_suit:
+	fetch 4,mem_usb_vid_pid+5
+	branch dongle_usb_vid_pid_store
+
+dongle_usb_hid_icon_config:
+	fetch 1,mem_dg_kb_bind_flag
+	beq DONGLE_KB_BIND_SUCCESS,dongle_usb_kb_hidreportdesc
+	setarg USB_KBDATA_VENDOR_DEFINE_ADDR
+	store 2,mem_hidreportdesc_kb
+	jam 0x1a,mem_confdesc+26//hid_descriptor--keyboard length
+	rtn
+dongle_usb_kb_hidreportdesc:
+	setarg USB_KBDATA_ADDR
+	store 2,mem_hidreportdesc_kb
+	jam 0x3f,mem_confdesc+26//hid_descriptor--keyboard length	
+	rtn
+
+dongle_usb_device_name:
+	fetch 1,mem_dg_usb_device_name
+	rtn blank
+	arg mem_dg_usb_device_name,contr
+	arg mem_string2,contw
+	arg 30,loopcnt
+	branch memcpy
+
+
+dongle_all_powerful:
+	call g24_switch_work_mode
+dongle_all_powerful_loop:
+	call dongle_work_mode_auto
+	call dongle_usb_dispatch
+	branch dongle_all_powerful_loop
+
+dongle_pc_bind:
+	call g24_switch_work_mode
+dongle_pc_bind_loop:	
+	call dongle_work_mode_auto
+	call g24_bind_mode_auto
+	call dongle_usb_dispatch
+	branch dongle_pc_bind_loop
+
+dongle_g24_blank_data_process:
+	call dongle_g24_ms_blank_data
+	call dongle_g24_kb_blank_data
+	call dongle_g24_kb_sys_ctrl_blank_data
+	branch dongle_g24_kb_mul_blank_data
+
+dongle_g24_ms_blank_data:
+	bpatch patch07_2,mem_patch07
+	fetch 1,mem_dg_ms_blank_data_enable
+	rtn blank
+	arg G24_TIMER_MS_BLANK,queue
+	call timer_check
+	nrtn blank
+	jam 0,mem_dg_ms_blank_data_enable
+	setarg MS_REPORT_ID
+	store 1,mem_usb_mouse_data
+	setarg 0
+	istore 7,contw
+dongle_usb_tx_ms_data:
+	jam USB_EP2_MS,mem_usb_ep2_data
+dongle_usb_tx_enable_ep2:
+	fetch 1,mem_usb_tx_enable
+	set1 2,pdata
+	store 1,mem_usb_tx_enable
+	rtn
+
+dongle_g24_kb_blank_data:
+	bpatch patch07_3,mem_patch07
+	fetch 1,mem_dg_kb_blank_data_enable
+	rtn blank
+	arg G24_TIMER_KB_BLANK,queue
+	call timer_check
+	nrtn blank
+	jam 0,mem_dg_kb_blank_data_enable
+	arg mem_usb_kb_data,contw
+	call memset0_16
+	fetch 8,mem_usb_kb_data
+	store 8,mem_dg_kb_data_last_data
+dongle_usb_tx_kb_data:	
+	jam KB_NORMAL_REPORT_ID,mem_usb_kb_data
+dongle_usb_tx_enable_ep1:
+	jam USB_EP1_KB,mem_usb_ep1_data
+	fetch 1,mem_usb_tx_enable
+	set1 1,pdata
+	store 1,mem_usb_tx_enable
+	rtn
+
+dongle_g24_kb_sys_ctrl_blank_data:
+	fetch 1,mem_dg_kb_system_crtl_blank_data_enable
+	rtn blank
+	arg G24_TIMER_KB_SYS_CRTL_BLANK,queue
+	call timer_check
+	nrtn blank
+	jam 0,mem_dg_kb_system_crtl_blank_data_enable
+	arg mem_usb_kb_system,contw
+	call memset0_16
+	jam KB_SYSTEM_CONCTRL_REPORT_ID,mem_usb_kb_system
+	fetch 2,mem_usb_kb_system
+	store 2,mem_dg_kb_system_sta_data
+dongle_usb_tx_sys_ctrl_data:
+	jam USB_EP2_SYSTEMKEY,mem_usb_ep2_data
+	branch dongle_usb_tx_enable_ep2
+
+dongle_g24_kb_mul_blank_data:
+	bpatch patch07_4,mem_patch07
+	fetch 1,mem_dg_kb_mul_blank_data_enable
+	rtn blank
+	arg G24_TIMER_KB_MUL_BLANK,queue
+	call timer_check
+	nrtn blank
+	jam 0,mem_dg_kb_mul_blank_data_enable
+	arg mem_usb_kb_multikey,contw
+	call memset0_16
+	jam KB_MULTIKEY_REPORT_ID,mem_usb_kb_multikey
+	fetch 3,mem_usb_kb_multikey
+	store 3,mem_dg_kb_multikey_last_data	
+dongle_usb_tx_multikey_data:
+	jam USB_EP2_MULTIKEY,mem_usb_ep2_data
+	branch dongle_usb_tx_enable_ep2
+
+dongle_usb_dispatch:
+	bpatch patch07_5,mem_patch07
+	fetch 1,mem_usb_remote_wakeup
+	call dongle_clear_pc_sleep_flag,blank
+	call usb_isr
+	fetch 1,mem_usb0_get_set_report
+	rtn blank
+	jam 0,mem_usb0_get_set_report
+	fetch 2,mem_usb_setup_bValue_temp
+	arg PC_SET_REPORT,temp
+	isub temp,null
+	nrtn zero
+	//get usb host command
+	fetch 1,mem_usb0_set_report_data
+	rtnne PC_REPORT_ID
+	fetch 1,mem_usb0_set_report_data+1
+dongle_usb_dispatch_next:
+	beq COMMAND_MODE,dongle_dispose_cmd_mode
+	beq COMMAND_BIND,dongle_dispose_cmd_bind
+	beq COMMAND_CURRENT_PROJECT,dongle_dispose_cmd_current_project
+	beq COMMAND_CURRENT_MODE,dongle_dispose_cmd_current_mode
+	beq COMMAND_CURRENT_FW_VERSION,dongle_dispose_cmd_current_fw_version
+//	beq COMMAND_USER_DEFINED,dongle_dispose_cmd_user_defined
+dongle_usb0_data_ready_report_set0:
+	jam 0,mem_usb0_data_ready_report
+	rtn
+
+dongle_dispose_cmd_mode:
+	fetch 1,mem_usb0_set_report_data+2
+	beq COM_MODE_BIND,dongle_enter_bind_mode
+	branch dongle_usb0_data_ready_report_set0
+dongle_enter_bind_mode:
+	call g24_bind_mode_enable
+dongle_usb0_data_ready_report_set1:
+	jam 1,mem_usb0_data_ready_report
+	rtn
+
+dongle_dispose_cmd_bind:
+	fetch 1,mem_usb0_set_report_data+2
+	beq COM_BIND_GET,dongle_dispose_cmd_get_bind
+	beq COM_BIND_EXIT,dongle_dispose_cmd_exit_bind
+	beq COM_READ_MODE,dongle_dispose_cmd_read_mode
+	branch dongle_usb0_data_ready_report_set0
+dongle_dispose_cmd_get_bind:
+	fetch 1,mem_24g_bind_device_status
+	store 1,mem_usb0_get_report_data+1
+	branch dongle_usb0_data_ready_report_set1
+dongle_dispose_cmd_exit_bind:
+	call g24_work_mode_enable
+	branch dongle_dispose_cmd_get_bind
+dongle_dispose_cmd_read_mode:
+dongle_dispose_in_bind_mode:
+	jam COMMAND_BIND,mem_usb0_get_report_data+1
+	branch dongle_usb0_data_ready_report_set1	
+
+dongle_dispose_cmd_current_project:
+	jam PRODUCT_ID,mem_usb0_get_report_data+1
+	branch dongle_usb0_data_ready_report_set1
+
+dongle_dispose_cmd_current_mode:
+	fetch 1,mem_24g_work_mode
+	beq DONGLE_WORK,dongle_dispose_in_work_mode
+	beq DONGLE_BIND,dongle_dispose_in_bind_mode
+	rtn
+dongle_dispose_in_work_mode:
+	jam COMMAND_MODE,mem_usb0_get_report_data+1
+	branch dongle_usb0_data_ready_report_set1
+	
+dongle_dispose_cmd_current_fw_version:
+	jam FW_VERSION0,mem_usb0_get_report_data+1
+	jam FW_VERSION1,mem_usb0_get_report_data+2
+	jam FW_VERSION2,mem_usb0_get_report_data+3
+	jam FW_VERSION3,mem_usb0_get_report_data+4
+	branch dongle_usb0_data_ready_report_set1
+
+//dongle_dispose_cmd_user_defined:
+//	call g24_ackpayload_disable
+//	fetch 1,mem_usb0_set_report_data+2
+//	beq 0xff,soft_reset_chip
+//	rtn
+
+dongle_auto_bind:
+	call g24_mode_switch_init
+dongle_auto_bind_loop:
+	call g24_mode_switch_bind_work
+	call g24_mode_switch_bind_search
+	call dongle_work_mode_auto
+	call g24_bind_mode_auto
+	call g24_search_mode_auto
+	call dongle_usb_dispatch
+	branch dongle_auto_bind_loop
+
+dongle_work_mode_auto:
+	bpatch patch07_6,mem_patch07
+	fetch 1,mem_24g_work_mode
+	rtnne DONGLE_WORK
+	call g24_work_mode_start
+	call dongle_g24_blank_data_process
+	fetch 1,mem_24g_pair_mode
+	nrtn blank
+	branch g24_nodata_process
+
+dongle_ackpayload_prep:
+	fetch 1,mem_24g_data_type
+	beq DATATYPE_DEVICE1,dongle_ackpayload_prep_mouse
+	beq DATATYPE_DEVICE2,dongle_ackpayload_prep_keyboard
+dongle_ackpayload_prep_mouse:
+	fetch 1,mem_dg_pc_sleep_flag
+	bbit1 0,dongle_pc_sleep_ackpayload_prep_mouse
+	branch dongle_ackpayload_prep_end
+
+dongle_set_pc_sleep_flag:
+	fetch 1,mem_device_option
+	rtnne DVC_OP_DONGLE
+	jam 3,mem_dg_pc_sleep_flag
+	rtn
+dongle_clear_pc_sleep_flag:
+	jam 0,mem_dg_pc_sleep_flag
+	rtn
+
+dongle_ackpayload_prep_keyboard:
+	fetch 1,mem_dg_pc_sleep_flag
+	bbit1 1,dongle_pc_sleep_ackpayload_prep_keyboard
+dongle_ackpayload_prep_end:
+	fetch 1,mem_24g_ackpayload_enable
+	beq BIND_ACKPAYLOAD,dongle_g24_bind_ackpayload_prep
+	beq KB_LED_ACKPAYLOAD,dongle_g24_kb_led_ackpayload_prep
+	rtn
+
+dongle_pc_sleep_ackpayload_prep_mouse:
+	fetch 1,mem_dg_pc_sleep_flag
+	set0 0,pdata
+	store 1,mem_dg_pc_sleep_flag
+	branch dongle_pc_sleep_ackpayload_prep
+
+dongle_pc_sleep_ackpayload_prep_keyboard:
+	fetch 1,mem_dg_pc_sleep_flag
+	set0 1,pdata
+	store 1,mem_dg_pc_sleep_flag
+dongle_pc_sleep_ackpayload_prep:
+	jam 0x01,mem_24g_datalen
+	setarg 0xff
+	store 1,mem_24g_txbuf
+	rtn
+
+
+dongle_g24_bind_ackpayload_prep:
+	jam 1,mem_24g_ackpayload_enable
+	call g24_binding_device_check	//works on auto pair only
+	nrtn user3
+	branch g24_bind_ackpayload_prep
+
+dongle_g24_kb_led_ackpayload_prep:
+	fetch 1,mem_24g_rxbuf+2
+	beq DATATYPE_DEVICE1,dongle_g24_bind_ackpayload_prep
+	beq DATATYPE_ATTEMP,dongle_g24_bind_ackpayload_prep
+	jam 0,mem_usb_tx_win_enable
+	jam 0x01,mem_24g_datalen
+	fetch 1,mem_24g_led_status
+	store 1,mem_24g_txbuf
+	rtn
+
+dongle_g24_mouse:
+	setarg MS_REPORT_ID
+	store 1,mem_usb_mouse_data	//report id
+	fetch 7,mem_24g_rxdata_temp+3	//key
+	istore 7,contw
+	fetch 1,mem_24g_rxdata_temp+3	//key
+	ncall dongle_g24_ms_enable_blank_data_forcibly,blank//get kb data
+	fetch 1,mem_24g_rxdata_temp+3	//key
+	call dongle_g24_ms_disable_blank_data_forcibly,blank
+	branch dongle_usb_tx_ms_data
+
+dongle_g24_ms_enable_blank_data_forcibly:
+	jam 1,mem_dg_ms_blank_data_enable
+	setarg TIMER_MS_BLANK_DELAY
+	arg G24_TIMER_MS_BLANK,queue
+	branch timer_init
+
+dongle_g24_ms_disable_blank_data_forcibly:
+	jam 0,mem_dg_ms_blank_data_enable
+	setarg 0
+	arg G24_TIMER_MS_BLANK,queue
+	branch timer_init
+
+dongle_g24_kb:
+	fetch 1,mem_24g_rxdata_temp+3
+	beq 0,dongle_g24_kb_type0	//normal key
+	beq 2,dongle_g24_kb_type2	//system key
+	beq 3,dongle_g24_kb_type3	//multikey
+	branch g24_rx_interrupt_clear
+
+dongle_g24_kb_type0:
+	fetch 1,mem_24g_rxdata_temp+5
+	store 1,mem_24g_ackpayload_enable
+	jam 0,mem_24g_rxdata_temp+5
+	arg mem_usb_kb_data,contw
+	arg mem_24g_rxdata_temp+4,contr
+	arg 8,loopcnt
+	call memcpy
+	fetch 8,mem_usb_kb_data
+	ncall dongle_g24_kb_enable_blank_data_forcibly,blank//get kb data
+	fetch 8,mem_usb_kb_data	
+	call dongle_g24_kb_disable_blank_data_forcibly,blank
+	fetch 8,mem_usb_kb_data
+	store 8,mem_dg_kb_data_sta_data
+	fetcht 8,mem_dg_kb_data_last_data
+	isub temp,null
+	ncall dongle_usb_tx_enable_ep1,zero
+	fetch 8,mem_dg_kb_data_sta_data
+	store 8,mem_dg_kb_data_last_data
+	branch g24_rx_interrupt_clear
+
+dongle_g24_kb_enable_blank_data_forcibly:
+	jam 1,mem_dg_kb_blank_data_enable
+	setarg TIMER_KB_BLANK_DELAY
+	arg G24_TIMER_KB_BLANK,queue
+	branch timer_init
+
+dongle_g24_kb_disable_blank_data_forcibly:
+	jam 0,mem_dg_kb_blank_data_enable
+	setarg 0
+	arg G24_TIMER_KB_BLANK,queue
+	branch timer_init
+
+dongle_g24_kb_type3:
+	arg mem_usb_kb_multikey,contw
+	arg mem_24g_rxdata_temp+3,contr
+	arg 3,loopcnt
+	call memcpy
+	fetch 2,mem_usb_kb_multikey+1
+	ncall dongle_g24_kb_mul_enable_blank_data_forcibly,blank//get multikey data
+	fetch 2,mem_usb_kb_multikey+1
+	call dongle_g24_kb_mul_disable_blank_data_forcibly,blank
+	fetch 3,mem_usb_kb_multikey
+	store 3,mem_dg_kb_multikey_sta_data
+	fetcht 3,mem_dg_kb_multikey_last_data
+	isub temp,null
+	ncall dongle_usb_tx_multikey_data,zero
+	fetch 3,mem_dg_kb_multikey_sta_data
+	store 3,mem_dg_kb_multikey_last_data
+	branch g24_rx_interrupt_clear
+
+dongle_g24_kb_mul_enable_blank_data_forcibly:
+	jam 1,mem_dg_kb_mul_blank_data_enable
+	setarg TIMER_KB_MUL_BLANK_DELAY
+	arg G24_TIMER_KB_MUL_BLANK,queue
+	branch timer_init
+	
+dongle_g24_kb_mul_disable_blank_data_forcibly:
+	jam 0,mem_dg_kb_mul_blank_data_enable
+	setarg 0
+	arg G24_TIMER_KB_MUL_BLANK,queue
+	branch timer_init
+
+dongle_g24_kb_type2:
+	arg mem_usb_kb_system,contw
+	arg mem_24g_rxdata_temp+3,contr
+	arg 2,loopcnt
+	call memcpy
+	fetch 2,mem_usb_kb_system
+	ncall dongle_g24_kb_sys_enable_blank_data_forcibly,blank
+	fetch 2,mem_usb_kb_system
+	call dongle_g24_kb_sys_disable_blank_data_forcibly,blank
+	fetch 2,mem_usb_kb_system
+	store 2,mem_dg_kb_system_sta_data
+	fetcht 2,mem_dg_kb_system_last_data
+	isub temp,null
+	ncall dongle_usb_tx_sys_data,zero
+	fetch 2,mem_dg_kb_system_sta_data
+	store 2,mem_dg_kb_system_last_data
+	branch g24_rx_interrupt_clear
+
+dongle_g24_kb_sys_enable_blank_data_forcibly:
+	jam 1,mem_dg_kb_system_crtl_blank_data_enable
+	setarg TIMER_KB_SYS_CRTL_BLANK_DELAY
+	arg G24_TIMER_KB_SYS_CRTL_BLANK,queue
+	branch timer_init
+dongle_g24_kb_sys_disable_blank_data_forcibly:
+	jam 0,mem_dg_kb_system_crtl_blank_data_enable
+	setarg 0
+	arg G24_TIMER_KB_SYS_CRTL_BLANK,queue
+	branch timer_init
+
+dongle_usb_tx_sys_data:
+	jam USB_EP2_SYSTEMKEY,mem_usb_ep2_data
+	branch dongle_usb_tx_enable_ep2
+
+
+dongle_g24_store_dvc2_bind_flag:
+	fetch 1,mem_device_option
+	rtnne DVC_OP_DONGLE
+	fetch 1,mem_dg_kb_bind_flag
+	rtneq DONGLE_KB_BIND_SUCCESS
+dongle_prep_soft_reset:
+	jam 1,mem_dg_kb_bind_success
+	rtn
+
+
+dongle_kb_bind_soft_reset:
+	fetch 1,mem_device_option
+	rtnne DVC_OP_DONGLE
+	fetch 1,mem_dg_kb_bind_success
+	rtn blank
+	jam 0,mem_temp
+dongle_wirte_efuse_bind_status:	
+	jam DONGLE_KB_BIND_SUCCESS,mem_dg_kb_bind_flag
+	call dongle_write_kb_bind_status
+	call dongle_read_kb_bind_status
+	fetch 1,mem_temp
+	increase 1,pdata
+	store 1,mem_temp
+	beq 0xff,soft_reset_chip
+	fetch 1,mem_dg_kb_bind_flag
+	bne DONGLE_KB_BIND_SUCCESS,dongle_wirte_efuse_bind_status
+	branch soft_reset_chip
+
+
+endif
+
+
Index: program/patch.prog
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/program/patch.prog	(nonexistent)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/program/patch.prog	(working copy)
@@ -0,0 +1,1872 @@
+
+//define UART_LOG
+
+	bbit1 8,pf_patch_ext
+	beq patch00_0,p_soft_reset
+	beq patch00_2,p_main_loop
+	beq patch02_1,p_set_sync_on
+	beq patch02_4,p_set_lemode
+	beq patch02_5,p_rf_rx_enable
+	beq patch03_0,p_txon
+	beq patch03_1,p_set_tx_power
+	beq patch03_2,p_initialize_radio_cont
+	beq patch06_7,p_dongle_default_init
+	beq patch07_0,p_dongle_read_kb_bind_status
+	beq patch07_1,p_dongle_write_kb_bind_status
+	beq patch07_2,p_dongle_g24_ms_blank_data
+	beq patch07_5,p_dongle_usb_dispatch
+	beq patch07_6,p_dongle_work_mode_auto
+	beq patch16_1,p_app_init
+	beq patch18_5,p_otp_read_data
+	beq patch1b_2,p_sadc_calibration
+	beq patch1b_4,p_enable_adc
+	beq patch1f_6,p_usb_init
+	beq patch1f_7,p_usb_rx
+	branch assert
+
+pf_patch_ext:
+	beq patch20_0,p_usb_class_type
+	beq patch20_2,p_usb0_request_get_descriptor
+	beq patch20_6,p_usb_tx
+	beq patch27_1,p_le_parse
+	beq patch29_5,p_le_init_adv
+	beq patch2d_6,p_g24_receive_update_rxbuff
+	beq patch2d_7,p_g24_receive_skip_end
+	beq patch2e_2,p_g24_transmit_packet
+	beq patch2e_3,p_g24_transmit_prep
+	beq patch2e_5,p_g24_read_len_pid_crc
+	beq patch30_1,p_g24_bind_data_process
+	beq patch30_2,p_g24_bind_data_parse_next
+	beq patch30_4,p_g24_receive_packet_parse_end
+	beq patch30_5,p_g24_rx_interrupt_clear
+	beq patch31_0,p_g24_mode_switch_bind_search
+	beq patch31_2,p_g24_bind_mode_auto
+	beq patch31_3,p_g24_search_mode_auto
+	beq patch33_3,p_g24_ackpayload_parse
+	rtneq patch3f_7
+	branch assert
+
+p_soft_reset:
+	clear_stack
+	until null,lpo_edge
+	fetch 1,mem_lpm_hv_sel
+	call lpm_write_sel_hv 
+	nop 30000
+	branch soft_reset+2
+	
+p_main_loop:
+ifdef SECURE_CONNECTION
+	call sp_calc_sequence_256
+	call sp_calc_sequence_256_check
+endif
+	call le_advertising_dispatch
+	call idle_dispatch
+	call app_process_idle
+	call connection_dispatch
+	call g24_dispatch
+	call lpm_dispatch
+	branch p_main_loop
+
+p_set_sync_on:
+	jam 0x60,0x8a0f 
+	jam 0xaa,0x8a10 
+	jam 0x7a,0x8a12 
+	jam 0x00,0x8a25 
+	jam 0x00,0x8a26 
+	nop 60
+	jam 0x20,0x8a20 
+	jam 0xf5,0x8a23 
+	jam 0x12,0x8a24 
+	jam 0x10,0x8a24 
+	nop 60
+	jam 0x60,0x8a12 
+	jam 0xdd,0x8a23 
+	rtn
+
+p_set_ck2rfpll:
+	until null,lpo_edge
+	jam 0x58,0x813c
+	branch lpm_write_wait
+
+p_initialize_radio_cont:
+	jam 0x0d,0x8946
+	jam 0x10,0x896f
+	jam 0x40,core_rx_cfg0
+	jam 0xcd,0x8a13
+	jam 0x10,0x8a06
+	jam 0x4a,0x8a84
+	jam 0x40,0x8a85
+	jam 0xfe,0x8a16
+	call p_set_otp_config
+//	branch initialize_radio_cont+1
+	fetch 1,mem_wdt_always_work
+	call wdt_set_disable,blank
+	ncall p_set_ck2rfpll,wake
+	
+	//fetch 1,0x8134
+	//increase 2,pdata
+	//store 1,0x8134
+	
+	until null,lpo_edge
+	jam 0x5f,0x813b 
+	fetch 1,mem_fcomp_div
+	beq XTAL_16M,p_initialize_radio_16m
+	fetch 1,mem_ring_ibias_trim
+	or_into 0x04,pdata
+	store 1,0x8a02
+	jam 0x01,0x890f
+	jam 0x24,0x8a80
+	jam 0x62,0x8a81
+	setarg 0xe61212
+	store 3,0x8a73	
+p_initialize_radio2:
+	jam 0x60,0x8a86
+	jam 0x3b,0x8a8b 
+	call p_dpll_on
+	jam 0,core_config
+	jam CLKSEL_DPLL,core_clksel
+	setarg 0x557474
+	store 3,0x8968
+	jam 0x6e,0x8960
+	call p_rx_dcoc
+	call p_rfpll_aac_ghpc
+	call p_set_xtal_cap
+	jam SYSTEM_CLK_12M,mem_system_clk
+	branch sadc_calibration
+
+p_set_xtal_cap:
+	rtn wake
+	until null,lpo_edge
+	fetch 1,mem_xtal_c_sel
+	store 1,core_xtal_cap
+	until null,lpo_edge
+	rtn
+	
+p_dpll_on:
+	fetch 1,mem_fcomp_div
+	beq XTAL_24M,p_dpll_on_24m
+	fetch 1,mem_ring_ibias_trim
+	or_into 0x06,pdata
+	store 1,0x8a02
+	jam 0xe0,0x8a05
+p_dpll_on_24m:	
+	jam 0xd8,0x8a00
+	nop 60
+	jam 0xa0,0x8a01
+	jam 0xdf,0x8a00
+	jam 0xfa,0x8a01
+	nop 20
+	jam 0x9f,0x8a00
+	rtn
+	
+p_initialize_radio_16m:
+	fetch 1,mem_ring_ibias_trim
+	or_into 0x06,pdata
+	store 1,0x8a02
+	jam 0x00,0x890f
+	jam 0x23,0x8a80
+	jam 0xb0,0x8a81
+	setarg 0xe40909
+	store 3,0x8a73
+	jam 0x2a,0x8a76
+	jam 0x04,0x8902	
+	branch p_initialize_radio2	
+
+p_set_tx_power:
+	fetch 1,mem_tx_power
+	beq TX_POWER_6DB,set_tx_power_7db
+	beq TX_POWER_10DB,p_set_tx_power_10db
+	beq TX_POWER_F30DB,p_set_tx_power_f30db
+	beq TX_POWER_F35DB,p_set_tx_power_f35db
+	beq TX_POWER_F40DB,p_set_tx_power_f40db
+	branch set_tx_power+2
+
+p_set_tx_power_10db:
+	jam 0x25,0x8a14 
+	setarg 0xa93f3f
+	store 3,0x8a60
+	jam 0x1f,0x8a63 
+	rtn
+
+p_set_tx_power_f30db:
+	jam 0x17,0x8a14 
+	setarg 0x250300
+	store 3,0x8a60
+	branch set_tx_power_8a63_28
+
+p_set_tx_power_f35db:
+	jam 0x17,0x8a14 
+	setarg 0x250100
+	store 3,0x8a60
+	branch set_tx_power_8a63_28
+
+p_set_tx_power_f40db:
+	jam 0x17,0x8a14 
+	setarg 0x250000
+	store 3,0x8a60
+	branch set_tx_power_8a63_28	
+
+p_otp_read_data:
+	call enable_otp_read			//read enable
+	call otp_read_data+1
+	branch otp_disable_chgpump	//disable otp
+
+p_dongle_write_kb_bind_status:
+	arg 1,loopcnt
+	arg mem_dg_kb_bind_flag,rega
+	arg DONGLE_KB_BIND_OTP_OFFECT,regb
+	branch otp_write
+	
+p_dongle_read_kb_bind_status:
+	arg DONGLE_KB_BIND_OTP_OFFECT,regb
+	branch dongle_read_kb_bind_status+2
+
+p_set_otp_config:
+	branch p_set_otp_config_wake, wake
+	fetch 4 ,mem_otp_core_ldo
+	rtn blank
+	until null,lpo_edge
+	fetch 1,0x8136
+	and pdata,0xf0,pdata
+	fetcht 1,mem_otp_core_ldo
+	ior temp,pdata
+	store 1,0x8136 
+	until null,lpo_edge
+
+	fetch 1,0x8138
+	and pdata,0x7,pdata
+	fetcht 1,mem_otp_verf_bg
+	lshift3 temp,temp
+	ior temp,pdata
+	store 1,0x8138 
+	until null,lpo_edge
+	
+p_set_otp_config2:
+	fetch 1,0x8acb
+	and pdata,0xf0,pdata
+	fetcht 1,mem_otp_charge_pump
+	storet 1,mem_otp_charge_pump_x
+	ior temp,pdata
+	store 1,0x8acb
+
+	fetch 1,mem_otp_dpll_ibais
+	store 1,mem_otp_dpll_ibais_x
+	isolate1 3,pdata
+	fetch 1,0x8a06
+	setflag true,7,pdata
+	store 1,0x8a06
+	
+	fetch 1,mem_otp_dpll_ibais
+	and pdata,7,temp
+	lshift4 temp,temp
+	lshift temp,temp
+	storet 1,mem_ring_ibias_trim
+	fetch 1,0x8a02
+	and pdata,0x1f,pdata
+	ior temp,pdata
+	store 1,0x8a02
+	rtn
+	
+p_set_otp_config_wake:
+	fetch 2,mem_otp_charge_pump_x
+	rtn blank
+	store 2,mem_otp_charge_pump
+	branch p_set_otp_config2
+
+p_rf_rx_enable:
+//	bpatch patch02_5,mem_patch02
+	call rf_debug_rx_gpio_high
+	call rf_rx_agc_set
+	force 8,radio_ctrl
+	force 0,radio_ctrl
+
+	setarg 0x0aaada
+	store 3,0x8a0f
+	jam 0x40,0x8a25
+	jam 0x10,0x8a26
+	nop 60
+	jam 0xfb,0x8a01
+	jam 0xff,0x8a25
+	jam 0x30,0x8a26
+	jam 0xfe,0x8a16
+	branch rf_rx_enable+14
+	
+p_txon:
+	setarg 0x0aaa7e
+	store 3,0x8a0f
+	nop 60
+	jam 0x00,0x8a25 
+	jam 0x0d,0x8a26 
+	jam 0xf6,0x8a16 
+	branch txon+7
+
+p_usb_init:
+	call enable_authrom
+	call usb_init_param
+	setarg mem_usb_ep2_config
+	store 2,mem_hidreportdesc_m
+	branch usb_init_restart
+	
+p_usb_rx_data:
+	fetch 1,core_usb_txbusy
+	rtnbit1 USB_STATUS_RXFULL
+	branch usb_rx_data
+	
+p_usb_rx:
+	fetch 1,mem_usb_status
+	rtnbit0 USB_STATUS_RXREADY
+	call usb_rx_len
+	compare 13,temp,0xff
+	branch usb_rx_ep13,true
+	
+	fetch 1,mem_setreport_count
+	beq 1,p_setreport_next_page_data
+	
+	arg mem_usb_setup,contw
+	call usb_rx_read
+p_usb_rx_next:	
+	fetch 1,mem_usb_read_len
+	beq 0x00,usb_rx_no_data
+	beq 0x01,usb_out_one_byte	// HUAWEI pad led status	
+	sub pdata,7,null
+	rtn positive
+	branch p_usb_class_type
+
+p_setreport_next_page_data:
+	arg mem_usb0_set_report_data,contw
+	call usb_rx_read
+	
+	jam 0,mem_setreport_count
+	fetch 1,mem_usb_read_len
+	beq 0x01,p_usb_out_one_byte	// HUAWEI pad led status
+	
+	jam 1,mem_usb0_get_set_report
+	jam 0x03,core_usb_clear_nak
+	rtn
+
+p_usb_out_one_byte:
+	fetch 1,mem_usb_setup
+	rtnbit1 7	// OUT_DEVICE
+	fetch 1,mem_usb0_set_report_data
+	call usb_get_led_status
+	jam 0x1,core_usb_clear_nak
+	rtn
+
+p_usb_class_type:
+	set0 mark_isstr,mark
+	fetch 1,mem_usb_setup_bmRequestType
+	and_into 0x80,pdata
+	beq IN_DEVICE,p_usb_in_device
+	beq OUT_DEVICE,p_usb_out_device
+	branch assert
+
+p_usb_in_device:
+	fetch 1,mem_usb_setup_bmRequestType
+	rshift4 pdata,pdata
+	rshift pdata,pdata
+	and_into 0x03,pdata
+	beq STANDARD_REQ,p_usb_in_standard_req
+	branch usb_in_device+5
+p_usb_in_standard_req:
+	fetch 1,mem_usb_setup_bRequest
+	beq GET_CONFIGURATION,usb0_request_get_configuration
+	beq GET_DESCRIPTOR,usb0_request_get_descriptor
+	beq GET_INTERFACE,usb0_request_get_interface
+	beq GET_STATUS,p_usb0_request_get_status
+	branch usb0_force_stall	
+p_usb0_request_get_status:
+	fetch 1,mem_usb0_state
+	beq DEV_DEFAULT,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValueH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLength
+	bne 2,usb0_force_stall
+	fetch 1,mem_usb_setup_bLengthH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex+1
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bmRequestType
+	beq IN_DEVICE,usb0_get_status_in_device
+	beq IN_INTERFACE,usb0_get_status_in_interface
+	beq IN_ENDPOINT,p_usb0_get_status_in_endpoint
+	branch usb0_force_stall
+
+p_usb0_get_status_in_endpoint:
+	fetch 1,mem_usb0_state
+	bne DEV_CONFIGURED,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex
+	beq IN_EP1,usb0_get_status_in_ep_in_ep1
+	beq IN_EP2,usb0_get_status_in_ep_in_ep2
+	beq IN_EP3,usb0_get_status_in_ep_in_ep3
+	beq OUT_EP2,usb0_get_status_in_ep_in_ep2
+	and_into 0x7f,pdata
+	beq 0x00,usb0_get_status_in_ep_in_ep0
+	branch usb0_force_stall	
+
+p_usb0_request_get_descriptor:
+	fetch 1,mem_usb_setup_bValueH
+	beq DSC_DEVICE,dsc_device_info
+	beq DSC_CONFIG,p_dsc_config_info
+	beq DSC_HID,p_dsc_hid_info
+	beq DSC_HID_REPORT,p_dsc_hid_report_info
+	branch usb0_request_get_descriptor+4
+
+p_dsc_hid_report_info:
+	fetch 2,mem_usb_setup_wIndex
+	beq 1,dsc_hid_report_info0
+	fetchr regb,1,mem_keyboard_map
+	setarg mem_keyboard_map
+	increase 1,pdata
+	copy pdata,rega
+	branch usb0_respond
+
+p_dsc_hid_info:
+	jam 0,mem_usb_get_protocol_flag
+	fetch 1,mem_usb_setup_wIndex
+	beq 0,dsc_hid_info_interface0
+	beq 1,p_dsc_hid_info_interface1
+	branch usb0_force_stall
+
+p_dsc_hid_info_interface1:
+	fetchr regb,1,mem_config_new+44
+	arg mem_config_new+44,rega
+	branch usb0_respond
+
+
+p_dsc_config_info:
+	setarg mem_config_new
+	fetcht 1,mem_config_new
+	branch dsc_info_set_data_len
+
+p_usb_out_device:
+	fetch 1,mem_usb_setup_bmRequestType
+	rshift4 pdata,pdata
+	rshift pdata,pdata
+	and_into 0x03,pdata
+	beq STANDARD_REQ,p_usb_out_standard_req
+	beq CLASS_REQ,p_usb_out_class_req	
+	beq MANUFACTURER_REQ,usb_out_manufacturer_req
+	branch assert
+
+p_usb_out_standard_req:
+	fetch 1,mem_usb_setup_bRequest
+	beq CLEAR_FEATURE,p_usb0_request_clear_feature
+	beq SET_FEATURE,p_usb0_request_set_feature
+	beq SET_ADDRESS,usb0_request_set_address
+	beq SET_CONFIGURATION,usb0_request_set_configuration
+	beq SET_INTERFACE,usb0_request_set_interface
+	beq SET_DESCRIPTOR,usb0_force_stall
+	branch usb0_force_stall	
+
+p_usb0_request_set_feature:
+	fetch 1,mem_usb_setup_bLength
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLengthH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bmRequestType
+	beq OUT_DEVICE,usb0_request_set_feature_out_device
+	beq OUT_INTERFACE,usb0_request_set_feature_out_interface
+	beq OUT_ENDPOINT,p_usb0_request_set_feature_out_endpoint
+	branch usb0_force_stall
+
+p_usb0_request_set_feature_out_endpoint:
+	fetch 1,mem_usb_setup_bValue
+	bne ENDPOINT_HALT,usb0_force_stall
+	fetch 1,mem_usb_setup_bValueH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex
+	beq IN_EP1,usb0_force_stall_ep1_in_on
+	beq IN_EP2,usb0_force_stall_ep2_in_on
+	beq IN_EP3,usb0_force_stall_ep3_in_on
+	beq OUT_EP2,usb0_force_stall_ep2_in_on
+	and_into 0x7f,pdata
+	beq 0x00,usb0_force_stall_ep0_in_on
+	branch usb0_force_stall	
+
+p_usb0_request_clear_feature:
+	fetch 1,mem_usb0_state
+	bne DEV_CONFIGURED,usb0_force_stall
+	fetch 1,mem_usb_setup_bLength
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLengthH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValueH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex+1
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bmRequestType
+	beq OUT_DEVICE,p_usb0_request_clear_feature_out_device
+	beq OUT_INTERFACE,usb0_request_clear_feature_out_interface
+	beq OUT_ENDPOINT,p_usb0_request_clear_feature_out_endpoint
+	branch usb0_force_stall
+
+p_usb0_request_clear_feature_out_device:
+	fetch 1,mem_usb_setup_bValue
+	bne DEVICE_REMOTE_WAKEUP,usb0_force_stall
+	fetch 1,core_usb_config
+	set0 7,pdata
+	store 1,core_usb_config
+	jam 0,mem_usb_remote_wakeup
+	jam 1,mem_usb_clear_remote_wakeup
+	// fetch 1,mem_sdsystem_wakeup_flag
+	// branch usb0_reply_zerolen,blank
+	// jam 0,mem_sdsystem_wakeup_flag
+	// jam 0,mem_usb_clear_remote_wakeup
+	// jam USB_CONNECTED,mem_usb_state
+	branch usb0_reply_zerolen
+
+
+p_usb0_request_clear_feature_out_endpoint:
+	fetch 1,mem_usb_setup_bValue
+	bne ENDPOINT_HALT,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex
+	beq IN_EP1,usb0_force_stall_ep1_in_off
+	beq IN_EP2,usb0_force_stall_ep2_in_off
+	beq IN_EP3,usb0_force_stall_ep3_in_off
+	beq OUT_EP2,usb0_force_stall_ep2_in_off
+	and_into 0x7f,pdata
+	beq 0x00,usb0_force_stall_ep0_in_off
+	branch usb0_force_stall	
+
+p_usb_out_class_req:
+	fetch 1,mem_usb_setup_bRequest
+	beq SET_IDLE,usb_set_idle
+	beq SET_REPORT,p_usb_set_report
+	beq SET_PROTOCOL,usb_set_protocol_req
+	branch usb0_force_stall
+
+p_usb_set_report:
+	nop 15000		//delay 1ms
+	arg mem_usb0_set_report_data,contw
+	call p_usb_rx_data
+	jam 1,mem_usb0_get_set_report
+	call usb_set_report_resume_judge
+	
+	fetch 1,mem_setreport_count
+	pincrease 1
+	store 1,mem_setreport_count
+	
+	fetch 2,mem_usb_setup_bValue
+	store 2,mem_usb_setup_bValue_temp
+	jam 0x2,core_usb_clear_nak
+	branch usb_set_report_next	
+
+p_usb_tx_ep2_queue_buff_check:
+	arg mem_usb_ep2_fifo,rega
+	call fifo_is_empty
+	rtn blank
+	branch dongle_usb_tx_enable_ep2
+
+p_usb_tx:
+	call p_usb_tx_ep2_queue_buff_check
+	fetch 1,mem_usb_tx_enable
+	rtn blank
+	fetch 1,core_usb_txbusy
+	and_into 0x0f,pdata
+	nbranch usb_inwake_state_tx_dispose,blank
+	fetch 1,mem_usb_device_enumeration_endflag
+	branch usb_tx_fifo_release,blank
+	fetch 1,mem_usb_state
+	beq USB_SLEEP,usb_windows_wakeup
+	bne USB_CONNECTED,usb_tx_fifo_release
+	fetch 1,mem_usb_clear_remote_wakeup
+	nbranch usb_tx_fifo_release,blank
+	call p_usb_tx_data_ep1
+	branch p_usb_tx_data_ep2
+	
+p_usb_tx_data_ep1:
+	fetch 1,core_usb_txbusy
+	and_into 0x0f,pdata
+	nrtn blank
+	branch usb_tx_data_ep1+2
+	
+p_usb_tx_data_ep2:
+	arg mem_usb_ep2_fifo,rega
+	call fifo_is_empty
+	rtn blank
+	fetch 1,core_usb_txbusy
+	and_into 0x0f,pdata
+	nrtn blank
+	fetch 1,mem_usb_tx_enable
+	rtnbit0 2
+	fetch 1,mem_usb_tx_enable
+	set0 2,pdata
+	store 1,mem_usb_tx_enable
+	arg mem_usb_ep2_fifo,rega
+	call fifo_out
+	rtn blank
+	beq USB_EP2_MS,usb_tx_ms_data
+	beq USB_EP2_MULTIKEY,usb_tx_kb_multikey_data
+	beq USB_EP2_SYSTEMKEY,usb_tx_kb_systemkey_data
+	beq USB_EP2_DPI,p_usb_tx_dpi_data
+	beq USB_EP2_PROTOCOL,p_usb_tx_protocol_data
+	branch assert
+
+p_usb_tx_dpi_data:
+	fetch 1,mem_usb_dpi_info_data
+	rtn blank
+	copy pdata,loopcnt
+	arg mem_usb_dpi_info_data+1,contr
+	call usb_tx_ep2
+	arg mem_usb_dpi_info_data,contw
+p_usb_tx_buff_clr:
+	arg 65,loopcnt
+	branch clear_mem
+
+p_usb_tx_protocol_data:
+	arg 64,loopcnt
+	arg mem_dg_protocol_usb_in_data_buff,contr
+	call usb_tx_ep2
+	arg mem_dg_protocol_usb_in_data_buff,contw
+	branch p_usb_tx_buff_clr
+
+p_rx_dcoc:
+	rtn wake
+	call set_sync_on
+	arg 39,temp
+	call set_freq_rx	
+	call rf_rx_enable
+	jam 0x7f,0x8a25
+	jam 0x1a,0x8a30
+	jam 0x78,0x8a31
+	jam 0xb2,0x8a8f
+	jam 0,0x8ac2
+	jam 0,0x8ac3
+	arg 6,queue
+	call p_rx_dcoc_avg
+	isolate1 13,rega
+	call qset_start
+	isolate1 13,regb
+	call qset_p
+	arg 5,queue
+p_rx_dcoc_loop2:
+	call qset1_p
+	call qset_p
+	call p_rx_dcoc_avg
+	arg 0x8ac2,contw
+	rshift4 rega,pdata
+	call qsetxor
+	rshift4 regb,pdata
+	call qsetxor
+	increase -1,queue
+	branch p_rx_dcoc_loop2,positive
+	branch rx_dcoc_loop2+10
+
+p_rx_dcoc_avg:
+	nop 60
+	setarg mem_dcoc_buf
+	store 2,0x8982
+	setarg mem_dcoc_buf_end
+	store 2,0x8984
+	jam 0x9,0x8981
+	jam 0x3,0x8981
+	jam 0x6,0x8980	
+	nop 60
+	arg 0,rega
+	arg 0,regb
+	arg 16,loopcnt
+	arg mem_dcoc_buf,contr
+	branch rx_dcoc_loop
+
+p_rfpll_aac_ghpc:
+	rtn wake
+	branch rfpll_aac_ghpc+1
+
+p_sadc_calibration:
+	rtn wake
+	jam 0x77,core_gpadc_ctrl
+	jam 0xc9,core_gpadc_cfg0
+	jam 0x01,core_gpadc_cfg3
+	fetch 1,mem_adc_clkdiv
+	store 1,core_sadc_clkdiv
+	nop 3000
+	call p_sadc_read
+	jam 0xc1,core_gpadc_cfg0
+	fetchr regb,1,mem_spi_write_addr
+	arg 8,loopcnt	//rg_gpadc_sar_dat_sel c0-c7
+	call sadc_cal_read+1
+	fetch 1,mem_spi_write_addr
+	store 1,mem_adc_cal_c7
+	storer regb,1,mem_spi_write_addr
+	rtn
+
+p_enable_adc:
+	call p_sadc_cal_write
+	fetch 1,core_gpadc_cfg1
+	set0 7,pdata
+	store 1,core_gpadc_cfg1
+	jam 0x77,core_gpadc_ctrl
+	jam 0xc1,core_gpadc_cfg0
+	jam 0x01,core_gpadc_cfg3
+	call sadc_channel
+	fetch 1,mem_adc_clkdiv
+	store 1,core_sadc_clkdiv
+	nop 3000
+	call p_sadc_read
+	jam 0,core_sadc_clkdiv
+	branch sadc_dma
+
+p_sadc_cal_write:
+	fetch 1,core_sadc_ctrl
+	set1 1,pdata
+	store 1,core_sadc_ctrl
+	fetchr regb,1,mem_spi_write_addr
+	fetch 1,mem_adc_cal_c7
+	store 1,mem_spi_write_addr
+	arg 8,loopcnt	//rg_gpadc_sar_dat_sel c0-c7
+	call sadc_cal_write+4
+	storer regb,1,mem_spi_write_addr
+	rtn
+
+p_sadc_read:
+	jam 0x03,core_sadc_ctrl
+p_sadc_read_wait:
+	fetch 1,core_perf_status
+	bbit0 SARADC_DONE,p_sadc_read_wait
+	fetcht 2,core_sadc_data
+	storet 2,mem_adc_current_value
+	branch sadc_read_wait2+2
+	
+p_set_lemode:
+	jam 0x11,0x8a82
+	jam 0x12,0x8a8d
+	jam 0x0a,0x8a8e
+	fetch 1,mem_fcomp_div
+	beq XTAL_16M,p_set_lemode_2m_16m
+	setarg 0x5762
+	store 2,0x8907
+p_set_lemode_2m:
+	jam 3,0x8901
+	jam 3,0x8930
+	rtnmark1 mark_ble_2M
+	jam 1,0x8901
+	jam 0x07,0x8a82
+	jam 0x44,0x8a8d
+	jam 0x0a,0x8a8e
+	fetch 1,mem_fcomp_div
+	beq XTAL_16M,p_set_lemode_1m_16m
+	setarg 0x2bb1
+	store 2,0x8907
+p_set_lemode_1m:
+	rtnmark0 mark_ble_lr
+	jam 0x24,0x8930
+	jam 5,0x8901
+	rtn
+
+p_set_lemode_1m_16m:
+	setarg 0x4189
+	store 2,0x8907
+	branch p_set_lemode_1m
+
+p_set_lemode_2m_16m:
+	setarg 0x8312
+	store 2,0x8907
+	branch p_set_lemode_2m
+
+p_le_parse:
+	fetch 1,mem_le_packet_llid
+	rtneq LLID_RESERVED
+	beq LLID_LE_LL,le_parse_ll
+	branch le_parse_l2cap
+	
+p_le_init_adv:
+	set0 mark_ble_crc_fail,mark	
+	branch le_init_adv+1
+
+p_g24_bind_data_parse_next:
+	fetch 1,mem_24g_rxdata_temp_new+2
+	beq DATATYPE_BIND,p_g24_bind_first_step	//bind step 1
+	beq DATATYPE_CONFIG,p_g24_bind_second_step
+	beq DATATYPE_OK,p_g24_bind_third_step
+	beq DATATYPE_ATTEMP,p_g24_data_attemp
+	rtn
+
+p_g24_bind_first_step:
+	fetch 1,mem_24g_rxdata_temp_new+3
+	branch g24_bind_first_step+1
+
+p_g24_bind_second_step:
+	fetch 1,mem_24g_pair_switch
+	branch p_g24_bind_second_step_skip,blank
+	fetch 4,mem_24g_rxdata_temp_new+4
+	fetcht 4,mem_24g_lap
+	isub temp,null
+	nrtn zero
+p_g24_bind_second_step_skip:	
+	fetch 1,mem_24g_rxdata_temp_new+3
+	branch g24_bind_second_step_skip+1
+	
+
+p_g24_data_attemp:
+	fetch 1,mem_24g_rxdata_temp_new+3
+	beq DATATYPE_DEVICE1,p_g24_data_attemp_device1
+	beq DATATYPE_DEVICE2,p_g24_data_attemp_device2
+	rtn
+p_g24_data_attemp_device1:
+	fetch 1,mem_24g_device1_bind_disable
+	nrtn blank
+	fetch 4,mem_24g_rxdata_temp_new+4
+	store 4,mem_24g_transmitter_addr
+	branch g24_store_device1_addr
+
+p_g24_data_attemp_device2:
+	fetch 1,mem_24g_device2_bind_disable
+	nrtn blank
+	fetch 4,mem_24g_rxdata_temp_new+4
+	store 4,mem_24g_transmitter_addr	
+	branch g24_store_device2_addr
+
+p_g24_bind_third_step:
+	fetch 1,mem_24g_pair_switch
+	branch p_g24_bind_third_step_skip,blank
+	fetch 4,mem_24g_rxdata_temp_new+4
+	fetcht 4,mem_24g_transmitter_addr
+	isub temp,null
+	nrtn zero
+p_g24_bind_third_step_skip:
+	fetch 1,mem_24g_rxdata_temp_new+3
+	beq DATATYPE_DEVICE1,p_g24_bind_third_step_device1
+	beq DATATYPE_DEVICE2,p_g24_bind_third_step_device2
+	rtn
+
+p_g24_bind_third_step_device1:
+	fetch 1,mem_24g_device1_bind_disable
+	nrtn blank
+	fetch 1,mem_24g_device1_bind_step
+	beq 2,p_g24_bind_dvc1_step_success
+	rtn
+p_g24_bind_dvc1_step_success:
+	jam 1,mem_24g_device1_bind_disable
+	call g24_binding_dvc1_living	//works on auto pair only
+	branch g24_bind_dvc1_step_success+1
+
+p_g24_bind_third_step_device2:
+	fetch 1,mem_24g_device2_bind_disable
+	nrtn blank
+	fetch 1,mem_24g_device2_bind_step
+	bne 0,p_g24_bind_dvc2_step_success
+	rtn
+p_g24_bind_dvc2_step_success:
+	jam 1,mem_24g_device2_bind_disable
+	call g24_binding_dvc2_living	//works on auto pair only
+	branch g24_bind_dvc2_step_success+1
+	
+p_g24_mode_switch_bind_search:
+	fetch 1,mem_24g_work_mode
+	rtneq DONGLE_WORK
+	fetch 1,mem_24g_B_S_mode_switch_disable
+	nrtn blank
+	fetch 1,mem_24g_mode_B_S_switch_exit
+	nrtn blank
+	fetch 1,mem_24g_mode_B_S_switch
+	rtn blank
+	fetch 1,mem_24g_device1_bind_step
+	rtnne 0
+	fetch 1,mem_24g_device2_bind_step
+	rtnne 0
+	branch g24_mode_switch_bind_search+9
+
+p_g24_bind_mode_auto:
+	fetch 1,mem_24g_work_mode
+	rtnne DONGLE_BIND
+	call p_g24_bind_init
+	branch g24_bind_mode_auto+4
+p_g24_bind_init:
+	fetch 1,mem_24g_mode_init
+	rtnbit1 DONGLE_BIND
+	set1 DONGLE_BIND,pdata
+	store 1,mem_24g_mode_init
+	setarg 0
+	store 3,mem_24g_device1_bind_step
+	branch g24_bind_init+8
+
+p_dongle_usb_dispatch:
+	call p_wdt_kick
+	branch p_dongle_usb_dispatch_analysis
+
+p_wdt_kick:
+	setarg 16	//about 125ms
+	branch wdt_init_config
+
+p_dongle_default_init:
+ifdef UART_LOG
+	call p_device_hardware_init
+endif
+	call dongle_default_init+1
+	
+	fetch 1,mem_24g_pair_tx_power_init
+	store 1,mem_24g_pair_tx_power
+	
+//	jam OFF,mem_24g_disable_fec1
+	jam ON,mem_24g_disable_fec1
+	call g24_enable_1M
+	fetch 1,mem_dg_sys_config
+	rtnbit0 DG_ENABLE_NEW_REVISION
+	jam ON,mem_24g_disable_fec1
+	branch g24_enable_2M
+	
+p_g24_receive_skip_end:
+	fetch 1,mem_dg_sys_config
+	bbit0 DG_ENABLE_NEW_REVISION,g24_receive_skip_end+1
+	enable user3
+	nop 24
+	fetch 1,mem_24g_txbuf_new
+	set1 bit_ack_24g,pdata
+	store 1,mem_24g_txbuf_new	//sending ack once	
+	call g24_ackpayload_prep
+	call g24_transmit_prep
+	branch g24_transmit
+
+
+p_app_init:
+	setarg p_dongle_dispatch
+	store 2,mem_cb_24g_receive_process
+	setarg p_dongle_g24_mouse
+	store 2,mem_cb_24g_data_device1
+	setarg p_dongle_g24_kb
+	store 2,mem_cb_24g_data_device2
+	setarg p_dongle_ackpayload_prep
+	store 2,mem_cb_24g_ackpayload
+	setarg dongle_usb_config
+	store 2,mem_cb_usb_config
+	branch usb_init
+
+p_dongle_ackpayload_prep:
+	fetch 1,mem_24g_data_type
+	beq DATATYPE_DEVICE1,p_dongle_ackpayload_prep_mouse
+	beq DATATYPE_DEVICE2,p_dongle_ackpayload_prep_keyboard
+p_dongle_ackpayload_prep_mouse:
+	fetch 1,mem_dg_pc_sleep_flag
+	bbit1 0,p_dongle_pc_sleep_ackpayload_prep_mouse
+	branch p_dongle_ackpayload_prep_end
+
+p_dongle_ackpayload_prep_keyboard:
+	fetch 1,mem_dg_pc_sleep_flag
+	bbit1 1,p_dongle_pc_sleep_ackpayload_prep_keyboard
+p_dongle_ackpayload_prep_end:
+	fetch 1,mem_24g_ackpayload_enable
+	beq BIND_ACKPAYLOAD,p_dongle_g24_bind_ackpayload_prep
+	beq KB_LED_ACKPAYLOAD,p_dongle_g24_kb_led_ackpayload_prep
+	beq PROTOCOL_ACKPAYLOAD,p_dongle_g24_protocol_ackpayload_prep
+	rtn
+
+p_dongle_g24_bind_ackpayload_prep:
+	jam 1,mem_24g_ackpayload_enable
+	call p_g24_binding_device_check	//works on auto pair only
+	nrtn user3
+p_g24_bind_ackpayload_prep:
+	jam 1,mem_24g_ackpayload_enable
+	jam 0x08,mem_24g_datalen
+	arg mem_24g_bind_payload,contr
+	arg mem_24g_txbuf_new,contw
+	branch memcpy8
+
+p_g24_binding_device_check:
+	fetch 1,mem_24g_work_mode
+	rtnne DONGLE_BIND
+	fetch 1,mem_24g_pair_mode
+	nrtn blank
+	fetch 1,mem_24g_rxbuf_new+3
+	beq DATATYPE_DEVICE1,g24_binding_dvc1_status	//bit0
+	beq DATATYPE_DEVICE2,g24_binding_dvc2_status	//bit1
+	rtn
+
+p_dongle_g24_kb_led_ackpayload_prep:
+	fetch 1,mem_24g_rxbuf_new+2
+	beq DATATYPE_DEVICE1,p_dongle_g24_bind_ackpayload_prep
+	beq DATATYPE_ATTEMP,p_dongle_g24_bind_ackpayload_prep
+	jam 0,mem_usb_tx_win_enable
+	jam 0x01,mem_24g_datalen
+	fetch 1,mem_24g_led_status
+p_dongle_g24_txbuf_store:
+	store 1,mem_24g_txbuf_new
+	rtn
+
+p_dongle_g24_protocol_ackpayload_prep:
+	jam 0,mem_24g_ackpayload_enable
+	fetch 1,mem_24g_device_type
+	beq MS_TYPE,p_dongle_g24_protocol_ms_ackpayload_prep
+	beq KB_TYPE,p_dongle_g24_protocol_kb_ackpayload_prep
+	rtn
+
+/****************************************************************************
+* Description:   transmit ack info 
+* Parameters:  1byte type +1byte len + n bytes payload
+****************************************************************************/
+p_dongle_g24_protocol_ms_ackpayload_prep:
+	jam TYPE_MS,mem_24g_data_type
+	fetch 1,mem_dg_ms_ep2_ack_data
+	store 1,mem_24g_datalen
+	copy pdata,loopcnt
+	arg mem_dg_ms_ep2_ack_data+1,contr
+	arg mem_24g_txbuf_new,contw
+	branch memcpy
+
+p_dongle_g24_protocol_kb_ackpayload_prep:
+	jam TYPE_KB,mem_24g_data_type
+	fetch 1,mem_dg_kb_ep2_ack_data+2
+	increase 3,pdata
+	store 1,mem_24g_datalen
+	copy pdata,loopcnt
+	arg mem_dg_kb_ep2_ack_data,contr
+	arg mem_24g_txbuf_new,contw
+	branch memcpy
+
+p_dongle_pc_sleep_ackpayload_prep_mouse:
+	fetch 1,mem_dg_pc_sleep_flag
+	set0 0,pdata
+	store 1,mem_dg_pc_sleep_flag
+	branch p_dongle_pc_sleep_ackpayload_prep
+
+p_dongle_pc_sleep_ackpayload_prep_keyboard:
+	fetch 1,mem_dg_pc_sleep_flag
+	set0 1,pdata
+	store 1,mem_dg_pc_sleep_flag
+p_dongle_pc_sleep_ackpayload_prep:
+	jam 0x01,mem_24g_datalen
+	setarg 0xff
+	branch p_dongle_g24_txbuf_store
+
+p_dongle_work_mode_auto:
+	fetch 1,mem_24g_work_mode
+	rtnne DONGLE_WORK
+	call p_g24_work_mode_start
+	call dongle_g24_blank_data_process
+	fetch 1,mem_24g_pair_mode
+	nrtn blank
+	//branch g24_nodata_process
+	fetch 1,mem_24g_ackpayload_enable
+	rtnne 0
+	fetch 1,mem_24g_nodata_timer_enable
+	rtn blank
+	arg G24_TIMER_NODATA,queue
+	call timer_check
+	nrtn blank
+	call g24_ch_process+3
+	branch g24_nodata_timer_over
+
+p_g24_ch_process:	
+	fetch 1,mem_24g_abort_packet
+	beq 1,rssi_noise_monitor
+	fetch 1,mem_24g_hop_packet
+	beq 1,g24_ch_receive_hop_pac
+	rtn
+
+p_g24_work_mode_start:
+	fetch 1,mem_24g_work_mode
+	rtnne DONGLE_WORK
+	call g24_work_init
+	call p_g24_ch_process
+p_g24_receive_packet_start:
+	call p_g24_receive_transmit_ack
+	nbranch g24_rx_interrupt_clear,user3
+p_g24_receive_packet_parse:
+	call g24_receive_packet_parse_pid_crc
+	nbranch g24_rx_interrupt_clear,user
+	fetch 1,mem_24g_rxdata_length
+	branch g24_rx_interrupt_clear,blank
+	increase 2,pdata
+	iforce loopcnt
+	arg mem_24g_rxbuf_new,contr
+	arg mem_24g_rxdata_temp_new,contw
+	call memcpy
+	jam 0,mem_24g_mode_switch
+	fetch 1,mem_24g_pair_mode
+	call p_g24_enable_nodata_timer,blank
+p_g24_receive_packet_parse_end:
+	fetch 1,mem_24g_rxdata_temp_new+2
+	beq DATATYPE_ATTEMP,p_g24_data_receive_attemp	//reconn packet
+	and pdata,0x03,pdata
+	beq DATATYPE_DEVICE1,p_g24_data_device1	//mouse
+	beq DATATYPE_DEVICE2,p_g24_data_device2	//keyboard
+	branch g24_rx_interrupt_clear
+
+p_g24_enable_nodata_timer:
+	fetch 1,mem_24g_bind_device_living
+	branch g24_enable_nodata_timer,blank
+	jam 1,mem_24g_nodata_timer_enable
+	setarg 1600
+	arg G24_TIMER_NODATA,queue
+	branch timer_init
+
+p_g24_data_device1:
+	call g24_binding_dvc1_living	//works on auto pair only
+	call g24_ch_timer_reinit
+	fetch 1,mem_24g_abort_packet
+	fetcht 1,mem_24g_rxdata_temp_new
+	isolate1 bit_abort,temp
+	setflag true,0,pdata
+	store 1,mem_24g_abort_packet
+	beq 1,p_g24_data_attemp_device1_abort
+	fetch 1,mem_24g_hop_packet
+	fetcht 1,mem_24g_rxdata_temp_new
+	branch g24_data_device1_next
+
+p_g24_data_attemp_device1_abort:
+	fetch 1,mem_24g_device1_bind_disable
+	nrtn blank
+	jam 1,mem_24g_device1_bind_disable
+	fetch 4,mem_24g_rxdata_temp_new+10
+	branch g24_store_device1_addr
+p_g24_data_attemp_device2_abort:
+	fetch 4,mem_24g_rxdata_temp_new+10
+	branch g24_store_device2_addr	
+
+p_g24_data_device2:
+	call g24_binding_dvc2_living	//works on auto pair only
+	fetcht 1,mem_24g_rxdata_temp_new
+	isolate1 bit_abort,temp
+	branch p_g24_data_attemp_device2_abort,true
+	fetch 2,mem_cb_24g_data_device2
+	branch callback_func
+
+p_g24_data_receive_attemp:
+	call p_g24_bind_device_status		//works on auto pair only
+	branch p_g24_data_attemp
+
+p_g24_bind_device_status_check:
+	fetch 1,mem_24g_bind_device_status
+	rtn blank
+p_g24_bind_device_status:
+	fetch 1,mem_24g_rxdata_temp_new+3
+	branch g24_bind_device_status+1
+	
+
+p_g24_receive_transmit_ack:
+	call g24_rx_interrupt_clear
+	call g24_receive_packet
+	nrtn user3
+p_g24_transmit_ack:
+//data type
+	fetch 1,mem_24g_rxbuf_new
+	rshift3 pdata,pdata
+	store 1,mem_24g_data_type
+//read len pid crc
+	call p_g24_read_len_pid_crc
+//read ack
+	fetch 1,mem_24g_rxdata_ack_flag
+	isolate1 bit_ack_24g,pdata
+	branch g24tx_no_ack,true
+	branch g24tx_with_ack
+
+
+
+p_g24_bind_data_process:
+	call g24_rx_interrupt_clear
+	call g24_receive_packet
+	nbranch g24_rx_interrupt_clear,user3
+ifdef UART_LOG
+	call p_24g_rxpayload_print
+endif
+	call p_g24_bind_data_parse
+	call p_g24_transmit_ack
+	call p_g24_bind_device_status_check
+	call dongle_kb_bind_soft_reset
+	fetch 1,mem_24g_pair_switch
+	rtn blank
+	fetch 4,mem_24g_transmitter_addr
+	rtn blank
+	branch g24_update_addr_and_synccrc8	
+
+p_g24_bind_data_parse:
+	jam BIND_MODE_CONTINUE,mem_24g_bind_mode_continue	//about 400ms
+	arg mem_24g_rxbuf_new,contr
+	arg mem_24g_rxdata_temp_new,contw
+	call memcpy8
+	branch g24_bind_data_parse_next
+
+p_g24_receive_update_rxbuff:
+	call g24_receive_byte
+	store 1,mem_24g_rxbuf_new
+	bmark1 mark_24g_rxmode,p_g24_receive_skip
+	fetch 1,mem_24g_rxbuf_new
+	rshift3 pdata,pdata				//device id
+	fetcht 1,mem_24g_data_type
+	icompare bits_data,temp
+	nbranch g24_type_error,true
+p_g24_receive_skip:
+	call g24_receive_byte
+	istore 1,contw
+	sub pdata,68,null
+	nbranch g24_len_over_error,positive	//max payload: 68bytes
+	copy pdata,loopcnt
+	branch g24rx_nopayload,zero
+	branch g24rx_loop
+
+p_g24_read_len_pid_crc:
+//read control
+	fetch 1,mem_24g_rxbuf_new+1
+	store 1,mem_24g_rxdata_length
+//get crc
+	increase 1,pdata
+	arg mem_24g_rxbuf_new+1,contr
+	iadd contr,contr
+	ifetch 3,contr
+	store 3,mem_24g_sta_crc
+//read pid
+	fetch 1,mem_24g_rxbuf_new
+	and pdata,0x01,temp
+	storet 1,mem_24g_rxdata_ack_flag
+	rshift pdata,temp
+	and temp,0x03,temp
+	storet 1,mem_24g_sta_pid
+	rshift3 pdata,pdata
+	store 1,mem_24g_rxbuf_new	//fixed rx_temp[device type]error problem
+	rtn
+
+p_g24_rx_interrupt_clear:
+	arg mem_24g_rxbuf_new,contw
+	arg 70,loopcnt
+	branch clear_mem
+
+
+p_g24_search_mode_auto:
+	fetch 1,mem_24g_work_mode
+	rtnne DONGLE_SEARCH
+	call g24_search_mode_init
+	call g24_auto_addr_ch_search
+	call p_g24_receive_transmit_ack
+	nbranch g24_rx_interrupt_clear,user3
+	call g24_receiver_addr_check
+	call p_g24_receive_packet_parse,zero
+	branch g24_search_mode_auto+9
+
+p_g24_ackpayload_parse:
+	call g24_read_len_pid_crc
+	fetch 1,mem_24g_rxdata_length	//ack payload length 
+	rtn blank
+	iforce loopcnt
+	arg mem_24g_rxbuf_new+2,contr
+	arg mem_24g_rxpayload_new,contw	//ack payload buffer 
+	branch memcpy
+
+p_g24_transmit_prep:
+// total length
+	fetch 1,mem_24g_datalen
+	increase 3,pdata	//hec/data_type/data_len
+	store 1,mem_24g_txlen
+//hec
+	fetch 1,mem_24g_syncword_crc8
+	store 1,mem_24g_txpayload_new
+// prepare 5bit data type, 2bit PID, 1bit NO_ACK
+	fetch 1,mem_24g_data_type
+	lshift3 pdata,pdata
+	fetcht 1,mem_24g_pid
+	and temp,0x03,temp
+	lshift temp,temp
+	ior temp,pdata
+	fetcht 1,mem_24g_no_ack
+	iadd temp,pdata
+	istore 1,contw
+	fetch 1,mem_24g_datalen
+	istore 1,contw
+//prepare payload data
+	fetch 1,mem_24g_datalen
+	iforce loopcnt
+	arg mem_24g_txbuf_new,contr
+	call memcpy
+	branch g24_transmit_prep_pdu_end
+
+p_g24_transmit_packet:
+	bmark1 mark_ble_lr,p_g24_transmit_nolr
+	fetch 1,mem_24g_disable_fec1
+	nbranch p_g24_transmit_nolr,blank
+	disable encode_fec0	
+	enable encode_fec1	////lr use encode_fec3
+p_g24_transmit_nolr:
+	enable enable_white
+	enable enable_crc
+	fetch 1,mem_24g_txlen
+	iforce loopcnt
+	arg mem_24g_txpayload_new,contr
+	branch g24tr_loop
+
+
+p_dongle_dispatch:
+p_dongle_auto_bind:
+	call g24_mode_switch_init
+p_dongle_auto_bind_loop:
+	call g24_mode_switch_bind_work
+	call g24_mode_switch_bind_search
+	call dongle_work_mode_auto
+	call g24_bind_mode_auto
+	call g24_search_mode_auto
+	call dongle_usb_dispatch
+	call p_dongle_keyboard_heart_tick_timer
+	call p_dongle_mouse_heart_tick_timer
+	branch p_dongle_auto_bind_loop
+
+p_dongle_keyboard_heart_tick_timer: //loop once:12.99ms
+	arg 0xfffe,temp
+	fetch 2,mem_dg_keyboard_heart_tick_timer
+	isub temp,null
+	rtn positive
+	increase 1,pdata
+	store 2,mem_dg_keyboard_heart_tick_timer
+
+	arg 0,temp
+	arg 1500,regc
+	isub regc,null
+	setflag positive,0,temp
+	storet 1,mem_dg_keyboard_connected_status
+	rtn
+
+p_dongle_mouse_heart_tick_timer:
+	arg 0xfffe,temp
+	fetch 2,mem_dg_mouse_heart_tick_timer
+	isub temp,null
+	rtn positive
+	increase 1,pdata
+	store 2,mem_dg_mouse_heart_tick_timer
+
+	arg 0,temp
+	arg 1500,regc
+	isub regc,null
+	setflag positive,0,temp
+	storet 1,mem_dg_mouse_connected_status
+	rtn
+	
+
+
+//usb data analysis
+p_dongle_usb_dispatch_analysis:
+	fetch 1,mem_usb_remote_wakeup
+	call dongle_clear_pc_sleep_flag,blank
+	call usb_isr
+	fetch 1,mem_usb0_get_set_report
+	rtn blank
+	jam 0,mem_usb0_get_set_report
+	fetch 1,mem_usb0_set_report_data
+	beq CMD_CHECK_STATUS,p_dongle_dispose_cmd_check_status
+	beq CMD_SET,p_dongle_dispose_cmd_set
+	beq CMD_SET_DPI,p_dongle_dispose_ms_cmd_set_dpi
+	beq CMD_GET_DPI,p_dongle_dispose_cmd_get_dpi
+	beq CMD_SET_REPORT,p_dongle_dispose_ms_cmd_set_report
+	beq CMD_SET_MS_DPI_FUCTION,p_dongle_dispose_ms_cmd_set_key_fuction
+	beq CMD_SET_MS_B5_FUCTION,p_dongle_dispose_ms_cmd_set_key_fuction
+	beq CMD_SET_MS_B4_FUCTION,p_dongle_dispose_ms_cmd_set_key_fuction
+	beq CMD_SET_MS_RKEY_FUCTION,p_dongle_dispose_ms_cmd_set_key_fuction
+	beq CMD_SET_MS_MKEY_FUCTION,p_dongle_dispose_ms_cmd_set_key_fuction
+	beq CMD_SET_SLEEP_TIMER,p_dongle_dispose_set_sleep_timer
+	beq CMD_GET_IN_DATA,p_dongle_dispose_cmd_get_in_data
+	beq CMD_GET_TRANSLEN,p_dongle_dispose_cmd_get_translen
+	beq CMD_SET_TEST,p_dongle_dispose_cmd_set_test
+	beq CMD_SET_KEY_MATRIX,p_dongle_dispose_cmd_set_key_matrix
+	beq CMD_GET_KEY_MATRIX,p_dongle_dispose_cmd_get_key_matrix
+	branch dongle_usb_dispatch_next
+
+/**************************************************************************************
+* Description:  dongle ack to mouse	
+* Parameters: //1byte opcode + 1byte type +nbyte data +1byte checksum
+**************************************************************************************/
+p_dongle_ms_ep2_ack_data_clr:
+	arg 65,loopcnt
+	arg mem_dg_ms_ep2_ack_data,contw
+	branch clear_mem
+
+p_dongle_ms_ep2_ack_data_copy:
+	jam 1,mem_dg_ms_ep2_ack_data_flag
+	jam PROTOCOL_ACKPAYLOAD,mem_24g_ackpayload_enable
+	arg mem_usb0_set_report_data,contr
+	arg mem_dg_ms_ep2_ack_data+1,contw
+	branch memcpy
+
+//1byte opcode + 1byte type +1byte data +1byte checksum
+p_dongle_dispose_ms_cmd_set_dpi:
+	fetch 1,mem_usb0_set_report_data+1
+	rtnne MS_TYPE
+	call p_dongle_ms_ep2_ack_data_clr
+	jam MS_TYPE,mem_24g_device_type
+	fetch 1,mem_usb0_set_report_data+2
+	store 1,mem_dg_mouse_dpi_level
+	jam 4,mem_dg_ms_ep2_ack_data
+p_dongle_ms_ack_data_copy:
+	fetchr loopcnt,1,mem_dg_ms_ep2_ack_data
+	branch p_dongle_ms_ep2_ack_data_copy	
+
+//1byte opcode + 1byte type +1byte data +1byte checksum
+p_dongle_dispose_ms_cmd_set_report:
+	fetch 1,mem_usb0_set_report_data+1
+	rtnne MS_TYPE
+	call p_dongle_ms_ep2_ack_data_clr
+	fetch 1,mem_usb0_set_report_data+1
+	store 1,mem_24g_device_type
+	jam 4,mem_dg_ms_ep2_ack_data
+	branch p_dongle_ms_ack_data_copy
+
+//1byte opcode + 1byte type +2byte data +1byte checksum
+p_dongle_dispose_set_sleep_timer:
+	fetch 1,mem_usb0_set_report_data+1
+	beq MS_TYPE,p_dongle_dispose_ms_sleep_timer
+	beq KB_TYPE,p_dongle_dispose_kb_sleep_timer
+	rtn
+
+p_dongle_dispose_ms_sleep_timer:
+	call p_dongle_ms_ep2_ack_data_clr
+	jam MS_TYPE,mem_24g_device_type
+	jam 5,mem_dg_ms_ep2_ack_data
+	branch p_dongle_ms_ack_data_copy
+
+p_dongle_dispose_kb_sleep_timer:
+	jam KB_TYPE,mem_24g_device_type
+	rtn
+
+/**************************************************************************************
+* Description:  pc send key value to mouse	
+* Parameters: 1byte opcode + 1byte type +10byte data +1byte checksum
+* 10byte data: 1byte type: 01--mouse	02--keyboard
+*                        9byte key value
+**************************************************************************************/
+p_dongle_dispose_ms_cmd_set_key_fuction:
+	fetch 1,mem_usb0_set_report_data+1
+	rtnne MS_TYPE
+	call p_dongle_ms_ep2_ack_data_clr
+	jam MS_TYPE,mem_24g_device_type
+	jam 13,mem_dg_ms_ep2_ack_data
+	branch p_dongle_ms_ack_data_copy
+
+p_dongle_dispose_cmd_get_dpi:
+	jam 1,mem_usb_dpi_info_data+4
+	branch p_dongle_usb_tx_dpi_level_enable
+
+p_dongle_dispose_cmd_check_status:
+	//fetch 1,mem_dg_keyboard_battery_level
+	setarg 0x64
+	store 1,mem_dg_protocol_usb_in_data_buff
+
+	//fetch 1,mem_dg_mouse_battery_level
+	setarg 0x64
+	store 1,mem_dg_protocol_usb_in_data_buff+1
+
+	//fetch 1,mem_dg_keyboard_connected_status
+	setarg 0x00
+	store 1,mem_dg_protocol_usb_in_data_buff+2
+
+	//fetch 1,mem_dg_mouse_connected_status
+	setarg 0x00
+	store 1,mem_dg_protocol_usb_in_data_buff+3
+
+	//fetch 1,mem_dg_usb_driver_set_end
+	setarg 0x01
+	store 1,mem_dg_protocol_usb_in_data_buff+4
+
+	fetch 4,mem_24g_addr
+	store 4,mem_dg_protocol_usb_in_data_buff+7
+	jam USB_EP2_PROTOCOL,mem_usb_ep2_data
+	branch p_dongle_usb_tx_enable_ep2
+	
+	
+p_dongle_dispose_cmd_set:
+	fetch 1,mem_usb0_set_report_data+1		//0x0a--keyboard, 0x05--mouse
+	store 1,mem_24g_device_type
+	rtn
+
+p_dongle_dispose_cmd_get_in_data:
+	fetch 1,mem_usb0_set_report_data+1
+	store 1,mem_24g_device_type
+	arg 64,loopcnt
+	arg mem_usb0_get_report_data,contr
+	arg mem_dg_protocol_usb_in_data_buff,contw
+	call memcpy_fast
+	jam USB_EP2_PROTOCOL,mem_usb_ep2_data
+	branch p_dongle_usb_tx_enable_ep2
+
+p_dongle_dispose_cmd_get_translen:
+	fetch 1,mem_usb0_set_report_data+1
+	store 1,mem_dg_protocol_usb_out_data_buff	//len
+	copy pdata,loopcnt
+	arg mem_usb0_set_report_data+2,contr
+	arg mem_dg_protocol_usb_out_data_buff+1,contw
+	branch memcpy_fast
+
+p_dongle_dispose_cmd_set_test:
+	jam DONGLE_TEST,mem_24g_work_mode
+	jam CLEAR_INIT,mem_24g_mode_init	
+	fetch 1,mem_usb0_set_report_data+1
+	store 1,mem_dg_test_mode
+	fetch 1,mem_usb0_set_report_data+2
+	store 1,mem_dg_test_ch
+	rtn
+
+p_dongle_dispose_cmd_set_key_matrix:
+	fetch 1,mem_usb0_set_report_data+1
+	store 1,mem_dg_keyboard_keymatrix_profile
+	fetch 1,mem_usb0_set_report_data+2
+	store 1,mem_dg_keyboard_keymatrix_type
+	fetch 1,mem_usb0_set_report_data+3
+	store 1,mem_dg_keyboard_keymatrix_page
+	fetch 1,mem_usb0_set_report_data+4
+	store 1,mem_dg_keyboard_keymatrix_len
+	copy pdata,loopcnt
+	arg mem_usb0_set_report_data+8,contr
+	arg mem_dg_keyboard_keymatrix_setup_keyvalue,contw
+	call memcpy_fast
+
+	jam KB_TYPE,mem_24g_device_type
+	jam 1,mem_dg_kb_ep2_ack_data_flag
+	jam REPORT_ID_DATA_OUT,mem_dg_kb_ep2_ack_data
+	jam KB_TYPE,mem_dg_kb_ep2_ack_data+1
+	fetch 1,mem_dg_keyboard_keymatrix_len
+	store 1,mem_dg_kb_ep2_ack_data+2
+	copy pdata,loopcnt
+	arg mem_usb0_set_report_data+8,contr
+	arg mem_dg_kb_ep2_ack_data+3,contw
+	branch memcpy
+
+
+p_dongle_dispose_cmd_get_key_matrix:
+	fetch 1,mem_usb0_set_report_data+1
+	store 1,mem_dg_keyboard_keymatrix_profile
+	fetch 1,mem_usb0_set_report_data+2
+	store 1,mem_dg_keyboard_keymatrix_type
+	fetch 1,mem_usb0_set_report_data+3
+	store 1,mem_dg_keyboard_keymatrix_page
+
+	arg 64,loopcnt
+	arg mem_dg_kb_keymatrix_buff,contr
+	arg mem_dg_protocol_usb_in_data_buff,contw
+	call memcpy_fast
+	jam USB_EP2_PROTOCOL,mem_usb_ep2_data
+	branch p_dongle_usb_tx_enable_ep2
+	
+
+p_dongle_g24_mouse:
+	setarg 0
+	store 2,mem_dg_mouse_heart_tick_timer
+	store 1,mem_24g_ackpayload_enable
+	fetch 1,mem_24g_rxdata_temp_new+2
+	bbit1 DATA_DPI,p_dongle_receive_ms_dpi_info
+	bbit1 DATA_BATTERY,p_dongle_receive_ms_battery_info
+	bbit1 DATA_HEART,p_dongle_receive_ms_heart_info
+p_dongle_g24_mouse_next:
+	fetch 1,mem_24g_rxdata_length
+	sub pdata,0x09,null
+	branch p_dongle_g24_mouse_data,zero
+	call p_dongle_g24_mouse_data
+	fetch 1,mem_24g_rxdata_length
+	add pdata,-8,pdata
+	store 1,mem_24g_rxdata_length
+	copy pdata,loopcnt
+	arg mem_24g_rxdata_temp_new+2,contw
+	arg mem_24g_rxdata_temp_new+10,contr
+	call memcpy
+	fetch 1,mem_24g_rxdata_temp_new+2
+	bbit1 DATA_DPI,p_dongle_receive_ms_dpi_info
+	bbit1 DATA_BATTERY,p_dongle_receive_ms_battery_info
+	bbit1 DATA_HEART,p_dongle_receive_ms_heart_info
+	rtn
+
+/************************************************************
+* Description: receive rf data or rf+other data
+************************************************************/
+p_dongle_g24_mouse_data:
+	setarg MS_REPORT_ID
+	store 1,mem_usb_mouse_data	//report id
+	fetch 7,mem_24g_rxdata_temp_new+3	//key
+	istore 7,contw
+	fetch 1,mem_24g_rxdata_temp_new+3	//key
+	ncall dongle_g24_ms_enable_blank_data_forcibly,blank//get kb data
+	fetch 1,mem_24g_rxdata_temp_new+3	//key
+	call dongle_g24_ms_disable_blank_data_forcibly,blank
+
+	fetch 7,mem_usb_mouse_data+1
+	store 7,mem_dg_mouse_data
+
+	fetch 1,mem_dg_mouse_data
+	fetcht 1,mem_dg_mouse_key_data_last
+	store 1,mem_dg_mouse_key_data_last
+	isub temp,null
+	nbranch p_dongle_mouse_data_tx_enable,zero
+p_dongle_receive_mouse_data_check:	
+	fetch 6,mem_dg_mouse_data+1
+	rtn blank
+p_dongle_mouse_data_tx_enable:	
+	jam USB_EP2_MS,mem_usb_ep2_data
+	branch p_dongle_usb_tx_enable_ep2
+
+/****************************************************************************
+* Description: 	receive dpi info
+* Parameters:  1byte type +1byte dpi
+****************************************************************************/
+p_dongle_receive_ms_dpi_info:
+	fetch 1,mem_24g_rxdata_temp_new+3
+	fetcht 1,mem_dg_mouse_dpi_level
+	store 1,mem_dg_mouse_dpi_level
+	isub temp,null
+	rtn zero
+	jam 0,mem_usb_dpi_info_data+4
+p_dongle_usb_tx_dpi_level_enable:
+	jam 0x40,mem_usb_dpi_info_data
+	jam REPORT_ID_DATA_IN,mem_usb_dpi_info_data+1
+	jam MS_TYPE,mem_usb_dpi_info_data+2
+	fetch 1,mem_dg_mouse_dpi_level
+	store 1,mem_usb_dpi_info_data+3
+	jam USB_EP2_DPI,mem_usb_ep2_data
+	branch p_dongle_usb_tx_enable_ep2
+
+/****************************************************************************
+* Description: 	receive battery info
+* Parameters:  1byte type +1byte battery
+****************************************************************************/
+p_dongle_receive_ms_battery_info:
+	fetch 1,mem_24g_rxdata_temp_new+3
+	store 1,mem_dg_mouse_battery_level
+	rtn
+
+/****************************************************************************
+* Description: 	receive heart info
+* Parameters:  1byte type +1byte battery
+****************************************************************************/
+p_dongle_receive_ms_heart_info:
+	fetch 1,mem_dg_ms_ep2_ack_data_flag
+	rtn blank
+	jam 0,mem_dg_ms_ep2_ack_data_flag
+p_24g_ackpayload_enable_set:
+	jam PROTOCOL_ACKPAYLOAD,mem_24g_ackpayload_enable
+	rtn
+
+p_dongle_usb_tx_enable_ep2:
+	fetch 1,mem_usb_device_enumeration_endflag
+	rtn blank
+	arg mem_usb_ep2_fifo,rega
+	call fifo_is_full
+	nrtn blank
+	fetch 1,mem_usb_ep2_data
+	store 1,mem_fifo_temp
+	arg mem_usb_ep2_fifo,rega
+	branch fifo_in
+
+p_dongle_g24_kb:
+	fetch 1,mem_24g_rxdata_temp_new+2
+	bbit1 DATA_KEY_MATRIX,p_dongle_receive_kb_key_matrix_data
+	bbit1 DATA_HEART,p_dongle_receive_kb_heart_info
+	
+	fetch 1,mem_24g_rxdata_temp_new+3
+	beq 0,p_dongle_g24_kb_type0	//normal key
+	beq 2,p_dongle_g24_kb_type2	//system key
+	beq 3,p_dongle_g24_kb_type3	//multikey
+	branch g24_rx_interrupt_clear
+
+p_dongle_g24_kb_type0:
+	fetch 1,mem_24g_rxdata_temp_new+5
+	store 1,mem_24g_ackpayload_enable
+	jam 0,mem_24g_rxdata_temp_new+5
+	arg mem_usb_kb_data,contw
+	arg mem_24g_rxdata_temp_new+4,contr
+	branch dongle_g24_kb_type0+5
+
+p_dongle_g24_kb_type2:
+	arg mem_usb_kb_system,contw
+	arg mem_24g_rxdata_temp_new+3,contr
+	branch dongle_g24_kb_type2+2
+
+p_dongle_g24_kb_type3:
+	arg mem_usb_kb_multikey,contw
+	arg mem_24g_rxdata_temp_new+3,contr
+	branch dongle_g24_kb_type3+2
+
+p_dongle_receive_kb_heart_info:
+	fetch 1,mem_dg_kb_ep2_ack_data_flag
+	rtn blank
+	jam 0,mem_dg_kb_ep2_ack_data_flag
+p_24g_ackpayload_kb_enable_set:
+	jam PROTOCOL_ACKPAYLOAD,mem_24g_ackpayload_enable
+	rtn
+
+
+/****************************************************************************
+* Description: 	receive keymatrix info from keyboard
+* Parameters:  	1byte len + 64bytes key value
+****************************************************************************/
+p_dongle_receive_kb_key_matrix_data:
+	fetch 1,mem_24g_rxdata_temp_new+1
+	increase -1,pdata	//delete len 1byte
+	copy pdata,loopcnt
+	fetch 2,mem_keymatrix_wptr
+	call p_dongle_write_from_head,blank
+	ncall p_dongle_write_from_last,blank
+	
+	arg mem_24g_rxdata_temp_new+3,contr
+	call memcpy_fast
+	copy contw,pdata
+	store 2,mem_keymatrix_wptr
+	rtn
+
+p_dongle_write_from_head:
+	arg mem_dg_kb_keymatrix_buff,contw
+	rtn
+
+p_dongle_write_from_last:
+	fetch 2,mem_keymatrix_wptr
+	copy pdata,contw
+	rtn
+
+//input: contr--buff ptr, loopcnt--data len
+//output:rega--checksum
+p_checksum_calcu:
+	arg 0,rega
+p_dongle_data_checksum:
+	ifetch 1,contr
+	iadd rega,rega
+	loop p_dongle_data_checksum
+	and_into 0xff,rega
+	rtn
+
+p_dongle_g24_ms_blank_data:
+	fetch 1,mem_dg_ms_blank_data_enable
+	rtn blank
+	arg G24_TIMER_MS_BLANK,queue
+	call timer_check
+	nrtn blank
+	jam 0,mem_dg_ms_blank_data_enable
+	setarg MS_REPORT_ID
+	store 1,mem_usb_mouse_data
+	setarg 0
+	istore 7,contw
+	jam USB_EP2_MS,mem_usb_ep2_data
+	branch p_dongle_usb_tx_enable_ep2
+	
+ifdef UART_LOG
+p_device_hardware_init:
+	fetch 1,core_uart_ctrl
+	set0 BIT_UART_CONTROL_ENABLE,pdata
+	store 1,core_uart_ctrl
+	fetch 8,mem_device_uart_rx_buffer
+	call uarta_init_dma_mem
+	fetch uart_baud_len,mem_device_uart_baud_rate
+	call uarta_init_baud_rate
+	call uart_clock_select_main_freq_crystal
+	fetch 1,mem_device_uart_tx_gpio
+	arg gpcfg_uart_txd,temp
+	call p_gpio_config_function_int
+	fetch 1,mem_device_uart_rx_gpio
+	arg gpcfg_uart_rxd|gpcfg_pullup,temp
+	call p_gpio_config_function_int
+	arg FUN_UART_CONTROL_ENABLE|FUN_UART_CONTROL_SETTING_RATE_BAUD,temp
+	storet 1,core_uart_ctrl
+	rtn
+
+p_gpio_config_function_int:
+	rtneq 0xff
+	branch gpio_config_function_int
+
+
+
+p_24g_rxpayload_print:
+	arg mem_temp_block0,contw
+	call memset0_16
+	fetch 1,mem_24g_work_mode
+	store 1,mem_temp_block0
+	arg,mem_24g_rxbuf_new,contr
+	ifetch 8,contr
+	istore 8,contw
+	ifetch 7,contr
+	istore 7,contw
+
+	arg 16,loopcnt
+	arg mem_temp_block0,regc
+	call log_bytes
+	branch log_end
+
+p_24g_txpayload_print:
+	arg mem_temp_block0,contw
+	call memset0_16
+	fetch 1,mem_24g_work_mode
+	store 1,mem_temp_block0
+	fetch 1,mem_24g_txlen
+	istore 1,contw
+	arg,mem_24g_txpayload_new,contr
+	ifetch 8,contr
+	istore 8,contw
+	ifetch 6,contr
+	istore 6,contw
+
+	arg 16,loopcnt
+	arg mem_temp_block0,regc
+	call log_bytes
+	branch log_end
+
+//input: 1 byte hex @pdata  
+//output: 4 byte  '0','x', ASCII,ASCII, @pdata
+hex2ascii:
+	rshift4 pdata,rega  //high 4bit in rega
+	and_into 0x0f,pdata
+	call hex2ascii_half_byte
+	copy pdata,regb
+	copy rega,pdata
+	call hex2ascii_half_byte
+	lshift8 regb,regb
+	iadd regb,pdata
+//	lshift16 pdata,pdata
+//	arg 0x7830,regb   //0x
+//	iadd regb,pdata
+	rtn
+
+//input: 1 byte hex @pdata  
+//output: 4 byte  '0','x', ASCII,ASCII, @pdata
+hex2ascii_half_byte:
+	arg 0xa,temp
+	isub temp,temp
+	nbranch hex2ascii_half_byte_numberic,positive
+	setarg 0x41  // A
+	iadd temp,pdata
+	rtn
+hex2ascii_half_byte_numberic:
+	arg 0x30,temp
+	iadd temp,pdata
+	rtn
+
+//input: loopcnt--length,regc--data ptr	
+log_bytes:
+	copy loopcnt,pdata
+	branch log_len0,blank
+log_bytes_loop:
+	ifetch 1,regc
+	increase 1,regc
+	call log_byte
+	call log_space
+	loop log_bytes_loop
+uart_wait:
+	fetch 1,core_uart_status
+	bbit1 uart_status_tx_busy,uart_wait
+//	nop 12000
+	rtn	
+
+log_len0:
+	call uarta_prepare_tx
+	setarg 0x656c
+	istore 2,contwu
+	setarg 0x306e
+	istore 2,contwu
+	call uarta_send
+	branch log_end
+
+//input 1byte @pdata
+log_byte:
+	call uarta_prepare_tx
+	call hex2ascii
+//	istore 4,contu	//0x
+	istore 2,contwu
+	branch uarta_send
+
+log_space:
+	call uarta_prepare_tx
+	setarg 0x20
+	istore 1,contwu
+	branch uarta_send
+
+log_end:
+	call uarta_prepare_tx
+	setarg 0x0a0d
+	istore 2,contwu
+	branch uarta_send
+
+log_colon:
+	call uarta_prepare_tx
+	setarg 0x3a
+	istore 1,contwu
+	branch uarta_send
+
+endif	
Index: program/patch_sdk.prog
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/program/patch_sdk.prog	(nonexistent)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/program/patch_sdk.prog	(working copy)
@@ -0,0 +1,21 @@
+define SECURE_CONNECTION
+define NEC
+define DEBUG_RF_INIT
+define COMPILE_SHUTTER
+define COMPILE_MOUSE
+define COMPILE_MODULE
+define COMPILE_USB
+define COMPILE_DONGLE
+define COMPILE_LE
+define COMPILE_24G
+define COMPILE_CAR
+define COMPILE_REMOTE_CAR
+define COMPLIE_ADPCM
+define SDKCODE
+ifdef SDKCODE
+INCLUDE "bt_format"
+org 0x0000  // start from patch ram address start
+include patch.prog
+org 0x47b7
+include app_dongle.prog
+endif
Index: sched/1305.dat
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/1305.dat	(nonexistent)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/1305.dat	(working copy)
@@ -0,0 +1,57 @@
+
+
+mem_system_clk:0c
+mem_lpm_xtalcnt:35 3f 64
+mem_lpm_isogate:db 7b 3b
+mem_lpm_hibernate_switch:20
+mem_lpm_ldo_sel:00
+mem_lpm_sysctl:08
+mem_lpm_hv_sel:a5
+
+mem_fcomp_div:18
+mem_xtal_c_sel:3e
+mem_gpio_wakeup_cfg:00 00 00 00 00 00 00 00 00 00 00 00
+
+mem_version:08 0e 05 03 00
+mem_le_tx2m_delay:20
+
+mem_rx_window_sniff:00 0c
+
+mem_gain_fix:ff	#00:soft agc; ff:hw agc
+mem_gain_table:04 00 00
+mem_gain_second_agc_en:08	#hw agc: 0:second agc disable
+
+
+#adc config
+mem_adc_config_flag:01
+#01 ADC_CONFIG_HVIN
+#02 ADC_CONFIG_GPIO
+mem_adc_clkdiv:0a
+mem_adc_channel:00
+#00 ADC_CH_VBAT
+#01 ADC_CH_VDCDC5V
+#06 ADC_CH_GPIO18
+#07 ADC_CH_GPIO10
+#08 ADC_CH_GPIO9
+#09 ADC_CH_GPIO12
+#0a ADC_CH_GPIO6
+#0b ADC_CH_GPIO20
+#0c ADC_CH_GPIO21
+#0d ADC_CH_GPIO22
+#0e ADC_CH_GPIO13
+
+mem_adc_dma_enable:00
+mem_adc_saddr_ptr:00 07
+mem_adc_eaddr_ptr:ff 07
+
+mem_ring_ibias_trim:a0
+mem_ring_ibias_vtune_high:bc 02 #700mv
+mem_ring_ibias_vtune_low:90 01 #400mv
+mem_ring_ibias_calc_adc_gpio:03
+mem_ring_ibias_calc_adc_channel:09
+
+mem_rf_init_data:
+ff
+mem_rf_init_ptr:mem_rf_init_data
+
+
Index: sched/DM_module.dat
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/DM_module.dat	(nonexistent)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/DM_module.dat	(working copy)
@@ -0,0 +1,242 @@
+
+
+mem_device_option:0a
+
+mem_module_connect_state_gpio:FF
+mem_module_mcu_wake_pin:FF
+##############ADC CONFIG##############
+mem_module_read_vdd_count:01
+mem_module_read_vdd_flag:01
+#####################################
+
+##############NVRAM CONFIG##############
+mem_nv_data_ptr:mem_module_nv_data
+mem_nv_data_number:05
+#####################################
+
+
+#####################################
+
+##############UART CONFIG##############
+mem_module_uarta_baud_rate:D0 00
+mem_module_uart_rx_buffer:00 4d
+mem_module_uart_rx_buffer_end:7f 4e
+mem_module_uart_tx_buffer:80 4e
+mem_module_uart_tx_buffer_end:ef 4f
+#####################################
+
+
+
+##############BLUETOOTH CONFIG##############
+###commom###
+mem_soft_version_num:00 11
+mem_module_state:03
+mem_module_bluetooth_stauts_by_command:07
+
+mem_module_flag:00 00
+#bit0 MODULE_FLAG_UART_FLOW_CONTROL
+#bit1 MODULE_FLAG_BLE_SEND_MTU23
+#bit2 MODULE_FLAG_BLE_DATA_ENCRYPT
+
+mem_ui_button_gpio:ff
+mem_lpm_mode:01
+mem_lpm_interval:00 01
+mem_lpm_overhead:08
+mem_lpm_mult_timeout:02
+
+mem_module_wake_up_gpio:04
+
+
+
+###ble###
+mem_le_pairing_handle:2a 00
+mem_le_configuration:08
+
+mem_le_adv_channel_map:07
+mem_le_pairing_mode:01
+
+mem_module_ble_data_uart_max_length:f0
+
+mem_le_scan_enable:00
+mem_le_scan_type:01
+mem_le_scan_interval:00 02
+mem_le_scan_window:00 01
+#mem_le_conn_peer_addr:2a 31 00 33 02 3b
+#mem_cmd_le_create_conn:1b
+
+mem_le_adv_enable:01
+mem_le_adv_interval:f0 00
+mem_module_le_lpm_mult:05
+mem_le_lap:11 fa 0d 43 05 13
+mem_le_name_len:
+'Yichip 1121s
+
+mem_le_adv_data_len:03
+mem_le_adv_data:
+02 01 0e
+
+mem_le_scan_data_len:0e
+
+mem_le_scan_data:# 1 byte length + 1 byte type + N bytes data
+'\09Yichip 1121s
+
+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_conn_interval:90 00
+mem_le_local_mtu:20 00
+mem_local_rx_max_octets:fb 00 48 08 fb 00 48 08  # 1b
+mem_le_local_feature:21 09 
+mem_le_tx_phys:0707
+#####################################
+
+
+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 GAP ------
+01 00 02 00 28 02 00 18
+
+
+#Appearance
+02 00 02 03 28 01 02
+03 00 02 01 2a 02 c8 00 #3c2=hid mouse
+
+#Device name
+04 00 02 03 28 01 02
+05 00 02 00 2a 14 41 73 74 20 4c 45 20 4d 6f 75 73 65 20 20 20 20 20 20 20 20
+
+
+#Peripheral Preferred Connection Parameters
+06 00 02 03 28 01 02
+07 00 02 04 2a 08 06 00 06 00 64 00 2c 01 # interval 6ms, latency 100, timeout 300
+
+
+#privcy flag
+08 00 02 03 28 01 02
+09 00 02 02 2a 01 01
+
+#reconnecting addr 
+0a 00 02 03 28 01 08
+0b 00 02 03 2a 06 00 00 00 00 00 00
+
+#Primary service GATT ------
+0c 00 02 00 28 02 01 18
+
+#Service changed
+0d 00 02 03 28 01 20
+0e 00 02 05 2a 00
+#Client Characteristic Configuration
+0f 00 02 02 29 02 00 00
+
+#Primary service TX power ------
+10 00 02 00 28 02 04 18
+#Characteristic Tx power level
+11 00 02 03 28 01 16
+12 00 02 07 2a 01 00
+13 00 02 02 29 02 00 00
+
+#Primary service Battery ------
+14 00 02 00 28 02 0f 18
+#Characteristic Battery level
+15 00 02 03 28 01 12
+16 00 02 19 2a 01 38
+
+#Primary service device infomation
+17 00 02 00 28 02 0a 18
+#Characteristic system id
+18 00 02 03 28 01 02
+19 00 02 23 2a 03 00 00 00
+
+#Characteristic manufactor name
+1a 00 02 03 28 01 02
+1b 00 02 29 2a 06 79 69 63 68 69 70
+
+#Characteristic module number
+1c 00 02 03 28 01 02
+1d 00 02 24 2a 06 79 69 63 68 69 70
+
+#Characteristic serial number
+1e 00 02 03 28 01 02
+1f 00 02 25 2a 04 63 6f 6d 33
+
+#Characteristic firmware version
+20 00 02 03 28 01 02
+21 00 02 26 2a 03 31 2e 30
+
+#Characteristic software version
+22 00 02 03 28 01 02
+23 00 02 28 2a 03 31 2e 30
+
+#Characteristic hardware version
+24 00 02 03 28 01 02
+25 00 02 2a 2a 03 31 2e 30
+
+#Characteristic regulatory version
+26 00 02 03 28 01 02
+27 00 02 25 2a 04 63 6f 6d 33
+
+#Primary service yichip transmit ------
+28 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
+29 00 02 03 28 01 12
+2a 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
+2b 00 02 02 29 02 00 00
+
+#Characteristic rx--write
+2c 00 02 03 28 01 08
+2d 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
+2e 00 02 03 28 01 04
+2f 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
+30 00 02 03 28 01 2a
+31 0010 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
+32 00 02 02 29 02 00 00
+
+
+#End of Attribute list
+00 00
+
+#mem_le_wechat_air_sync_ptr:mem_module_wechat_indication_handle
+#mem_module_wechat_indication_handle:35 38 
+
+#mem_module_wechat_tx_buffer_ptr:mem_wechat_tx_buffer
+#mem_module_wechat_rx_buffer_ptr:mem_wechat_rx_buffer
+
+#mem_le_adv_data_len:03
+#mem_le_adv_data:
+#02 
+#01 #GAP_ADTYPE_FLAGS
+#06 #GAP_ADTYPE_FLAGS_GENERAL |GAP_ADTYPE_FLAGS_BREDR_NOT_SUPPORTED
+
+#05 
+#02 #GAP_ADTYPE_16BIT_MORE
+#E7 FE 00 18
+
+#09 
+#FF #GAP_ADTYPE_MANUFACTURER_SPECIFIC
+#0e 05 #Yichip Microelectronics (Hangzhou) Co.,Ltd.
+#81 E8 2F 96 FD 64
+
+#mem_le_scan_data_len:0e
+
+#mem_le_scan_data:# 1 byte length + 1 byte type + N bytes data
+#'\09Yichip 1305 le
+
+
+
+#eeprom gpio config
+
+
+
Index: sched/adpcm.dat
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/adpcm.dat	(nonexistent)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/adpcm.dat	(working copy)
@@ -0,0 +1,95 @@
+
+mem_ad_indexTable:ff ff ff ff 02 04 06 08 ff ff ff ff 02 04 06 08
+
+mem_ad_stepsizeTable:
+07 00 00 00
+08 00 00 00
+09 00 00 00
+0a 00 00 00
+0b 00 00 00
+0c 00 00 00
+0d 00 00 00
+0e 00 00 00
+10 00 00 00
+11 00 00 00
+13 00 00 00
+15 00 00 00
+17 00 00 00
+19 00 00 00
+1c 00 00 00
+1f 00 00 00
+22 00 00 00
+25 00 00 00
+29 00 00 00
+2d 00 00 00
+32 00 00 00
+37 00 00 00
+3c 00 00 00
+42 00 00 00
+49 00 00 00
+50 00 00 00
+58 00 00 00
+61 00 00 00
+6b 00 00 00
+76 00 00 00
+82 00 00 00
+8f 00 00 00
+9d 00 00 00
+ad 00 00 00
+be 00 00 00
+d1 00 00 00
+e6 00 00 00
+fd 00 00 00
+17 01 00 00
+33 01 00 00
+51 01 00 00
+73 01 00 00
+98 01 00 00
+c1 01 00 00
+ee 01 00 00
+20 02 00 00
+56 02 00 00
+92 02 00 00
+d4 02 00 00
+1c 03 00 00
+6c 03 00 00
+c3 03 00 00
+24 04 00 00
+8e 04 00 00
+02 05 00 00
+83 05 00 00
+10 06 00 00
+ab 06 00 00
+56 07 00 00
+12 08 00 00
+e0 08 00 00
+c3 09 00 00
+bd 0a 00 00
+d0 0b 00 00
+ff 0c 00 00
+4c 0e 00 00
+ba 0f 00 00
+4c 11 00 00
+07 13 00 00
+ee 14 00 00
+06 17 00 00
+54 19 00 00
+dc 1b 00 00
+a5 1e 00 00
+b6 21 00 00
+15 25 00 00
+ca 28 00 00
+df 2c 00 00
+5b 31 00 00
+4b 36 00 00
+b9 3b 00 00
+b2 41 00 00
+44 48 00 00
+7e 4f 00 00
+71 57 00 00
+2f 60 00 00
+ce 69 00 00
+62 74 00 00
+ff 7f 00 00
+
+
Index: sched/ble_car_att_list.dat
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/ble_car_att_list.dat	(nonexistent)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/ble_car_att_list.dat	(working copy)
@@ -0,0 +1,204 @@
+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
+00
+00
+05
+00
+02
+00
+28
+02
+00
+18
+06
+00
+02
+03
+28
+01
+02
+07
+00
+02
+00
+2a
+11
+55
+43
+48
+4f
+4e
+20
+30
+31
+20
+20
+20
+20
+20
+20
+20
+20
+20
+08
+00
+02
+03
+28
+01
+02
+09
+00
+02
+01
+2a
+02
+c8
+00
+0a
+00
+02
+03
+28
+01
+02
+0b
+00
+02
+04
+2a
+08
+06
+00
+06
+00
+64
+00
+2c
+01
+0c
+00
+02
+00
+28
+02
+0a
+18
+0d
+00
+02
+03
+28
+01
+02
+0e
+00
+02
+50
+2a
+07
+02
+8a
+24
+66
+82
+01
+00
+0f
+00
+02
+00
+28
+02
+f0
+ff
+10
+00
+02
+03
+28
+01
+12
+11
+00
+02
+f1
+ff
+0e
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+12
+00
+02
+02
+29
+02
+00
+00
+13
+00
+02
+03
+28
+01
+08
+14
+00
+02
+f2
+ff
+0e
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
\ No newline at end of file
Index: sched/ble_shutter_gatt_list.dat
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/ble_shutter_gatt_list.dat	(nonexistent)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/ble_shutter_gatt_list.dat	(working copy)
@@ -0,0 +1,313 @@
+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
+00
+00
+05
+00
+02
+00
+28
+02
+00
+18
+06
+00
+02
+03
+28
+01
+02
+07
+00
+02
+00
+2a
+13
+43
+68
+69
+70
+73
+65
+61
+2d
+42
+4c
+45
+20
+20
+20
+20
+20
+20
+20
+20
+08
+00
+02
+03
+28
+01
+02
+09
+00
+02
+01
+2a
+02
+c1
+03
+0a
+00
+02
+03
+28
+01
+02
+0b
+00
+02
+04
+2a
+08
+06
+00
+06
+00
+64
+00
+2c
+01
+0c
+00
+02
+00
+28
+02
+0a
+18
+0d
+00
+02
+03
+28
+01
+02
+0e
+00
+02
+50
+2a
+07
+02
+8a
+24
+66
+82
+01
+00
+0f
+00
+02
+00
+28
+02
+12
+18
+10
+00
+02
+03
+28
+01
+06
+11
+00
+02
+4e
+2a
+01
+01
+12
+00
+02
+03
+28
+01
+12
+13
+00
+02
+4d
+2a
+02
+00
+00
+14
+00
+02
+02
+29
+02
+00
+00
+15
+00
+02
+08
+29
+02
+02
+01
+16
+00
+02
+03
+28
+01
+12
+17
+00
+02
+4d
+2a
+02
+00
+00
+18
+00
+02
+02
+29
+02
+00
+00
+19
+00
+02
+08
+29
+02
+03
+01
+1a
+00
+02
+03
+28
+01
+02
+1b
+00
+02
+4b
+2a
+1b
+05
+0c
+09
+01
+a1
+01
+85
+02
+09
+e9
+09
+ea
+09
+e2
+09
+30
+15
+01
+25
+0c
+75
+10
+95
+01
+81
+00
+c0
+1c
+00
+02
+03
+28
+01
+02
+1d
+00
+02
+4a
+2a
+04
+11
+01
+00
+01
+1e
+00
+02
+03
+28
+01
+04
+1f
+00
+02
+4c
+2a
+01
+00
+20
+00
+02
+00
+28
+02
+0f
+18
+21
+00
+02
+03
+28
+01
+12
+22
+00
+02
+19
+2a
+01
+63
+00
+00
\ No newline at end of file
Index: sched/ble_shutter_key_value_list.dat
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/ble_shutter_key_value_list.dat	(nonexistent)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/ble_shutter_key_value_list.dat	(working copy)
@@ -0,0 +1,40 @@
+02
+13
+00
+02
+00
+02
+13
+00
+01
+00
+02
+13
+00
+04
+00
+02
+13
+00
+06
+00
+02
+13
+00
+05
+00
+02
+13
+00
+00
+00
+02
+17
+00
+00
+28
+02
+17
+00
+00
+00
Index: sched/car.dat
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/car.dat	(nonexistent)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/car.dat	(working copy)
@@ -0,0 +1,235 @@
+mem_device_option:0e
+mem_le_adv_channel_map:07 
+mem_le_adv_enable:00
+
+
+mem_spi_ncs_gpio:ff
+
+mem_le_pres_auth:01
+mem_le_local_mtu:17
+mem_le_adv_interval:60 01 
+mem_local_rx_max_octets:fb 00 48 08 fb 00 48 08  # 1b
+
+
+mem_le_lap:34 75 07 99 07 2b
+mem_le_name_len:
+'YC-CAR-34
+
+mem_le_adv_data_len:1f
+mem_le_adv_data:
+17 09 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 02 01 05 03 02 ff f0
+
+mem_le_scan_data_len:1f
+mem_le_scan_data:
+1e 09 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+
+
+mem_le_interval_min:
+18 00 #min interval
+20 00 #max interval
+10 00 #latency
+2c 01 #timeout
+
+
+#mem_ui_le_uuid_table:21 95  #0x9E62 BLE_CAR_ATT_LIST
+mem_ui_le_uuid_table:mem_ble_att_list
+
+
+mem_ble_att_list:
+#Primary service GAP ------
+01 00 02 00 28 02 00 18
+#Device name
+02 00 02 03 28 01 0a
+03 00 02 00 2a
+'CAR-BLE-OTA
+
+#Appearance
+04 00 02 03 28 01 02
+05 00 02 01 2a 02 40 14
+#Peripheral Preferred Connection Parameters
+06 00 02 03 28 01 02
+07 00 02 04 2a 08 08 00 20 00 10 00 58 02 # interval 6ms, latency 100, timeout 600
+
+#Primary service device information ------
+08 00 02 00 28 02 0a 18
+
+#Manufacturer Name
+09 00 02 03 28 01 02
+0a 00 02 29 2a 06 59 69 43 68 69 70
+
+#Model Number
+0b 00 02 03 28 01 02
+0c 00 02 24 2a 04 4c 52 32 31
+
+#Software Revision
+0d 00 02 03 28 01 02
+0e 00 02 28 2a 04 56 2e 30 31
+
+#Hardware Revision
+0f 00 02 03 28 01 02
+10 00 02 27 2a 04 56 2e 30 31
+
+#PNP id
+11 00 02 03 28 01 02
+12 00 02 50 2a 07 02 35 12 22 aa 51 31
+
+#Client Characteristic
+13 00 02 02 29 02 00 00
+
+#Primary service yichip transmit ------
+14 00 02 00 28 02 f0 ff
+
+15 00 02 03 28 01 12
+16 00 02 f1 ff 08 00 00 00 00 00 00 00 00
+17 00 02 02 29 02 00 00
+
+18 00 02 03 28 01 08
+19 00 02 f2 ff 08 00 00 00 00 00 00 00 00
+00 00    
+
+##############BLE ATT LIST END####################
+
+mem_lpm_mode:00
+mem_lpm_overhead:06
+mem_lpm_mult_timeout:02
+mem_car_hard_soft_switch:00
+
+mem_power_param_ptr:mem_car_soft_power
+mem_car_power_off_timeout:0c 0c
+
+mem_ui_button_gpio:ff
+mem_ui_button_timeout:14
+mem_ui_button_last_state:01
+
+
+mem_ui_led_struct_ptr:mem_car_style1_led_type
+mem_ui_led_struct_num:01
+
+#style:01
+mem_car_style1_blink_count:ff
+mem_car_style1_struct_led_gpio:05
+mem_car_style1_on_time:20 03
+mem_car_style1_off_time:20 03
+
+#style:02
+mem_car_style2_blink_count:ff
+mem_car_style2_struct_led_gpio:ff
+mem_car_style2_on_time:20 03
+mem_car_style2_off_time:20 03
+
+mem_car_led_num:01
+mem_car_led_map:
+05
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+
+mem_car_config_blood_led1_gpio:ff
+mem_car_config_pairing_led_gpio:ff
+mem_car_config_low_voltage_led_gpio:ff
+
+mem_keyscan_ptr:mem_car_keyscan
+mem_car_key_num:00
+
+
+mem_car_queue_each_size:14 06
+
+mem_queue_ptr:mem_car_queue_each_size
+
+mem_car_config_pairing_led_conn_status:00
+mem_car_config_soft_switch_enable:00
+mem_car_config_pairing_led_gpio:ff
+mem_car_config_low_voltage_led_gpio:ff
+mem_car_config_soft_switch_gpio:ff
+mem_car_config_low_voltage_percent:14
+mem_car_config_bat_notify_enable:01
+mem_car_config_device_select:03
+mem_car_config_ir_enable:00
+mem_car_config_motor_layout:03
+mem_car_config_ir_rx_gpio:ff
+mem_car_config_led_num:ff
+mem_car_config_blood_led_gpio:ff 09 0a 0b 0c 0d 0e 0f
+
+
+mem_motor1_speed:04
+mem_motor2_speed:04
+mem_motor3_speed:09
+mem_motor1_pwm_set:ff ff 00 05 e8 03 00 00
+mem_motor2_pwm_set:ff ff 00 04 e8 03 00 00
+mem_motor3_pwm_set:ff ff 00 03 e8 03 00 00
+mem_motor_pwm_pin1_set:ff ff 00 02 e8 03 00 00
+
+
+mem_car_notify_vdd_count:14
+mem_notify_bat_packet:07 11 00 5a 6b 01 00 01 00 00
+
+mem_vdd_calculate_set:e0 01 90 01 9a 01 00 00	#full_vol;	empty_vol;	low_vol;	now_vol
+
+mem_ir_notify_data:08 11 00 5a 6b 06 00 02 00 00 00
+
+mem_adc_config_flag:01
+
+mem_car_info_request:0e 11 00 5a 6b 08 00 08 00 00 00 00 00 00 00 00 00
+
+mem_car_led_control_timer:05
+
+
+#mem_car_led_control:01 01 01 01 01 01 01 01
+
+mem_car_motor_gpio_num:04
+mem_car_motor_gpio_map:
+00		#left	INC
+01		#right	IND
+02 		#front	INA
+09		#back	INB
+
+#eeprom config
+mem_eeprom_base:80 1f
+mem_eeprom_wp_gpio:06
+mem_eeprom_scl_gpio:07
+mem_eeprom_sda_gpio:08
+
+
+
+
+#rf config
+mem_24g_data_type:01        #mouse 1,kb 2
+mem_24g_lap:38 74 2f 74 07 2b#low 4B used for 24g rxaddr
+mem_tx_power:03	#3dBm
+mem_24g_tx_phy:84#0x01:1M/0x02:2M/0x04:S2/0x84:S8
+mem_24g_rx_phy:84#0x01:1M/0x02:2M/0x04:S2/0x84:S8
+mem_24g_no_ack:00#no ack
+mem_24g_rx_window:60 ea#rx
+mem_24g_hop_interval:1e
+mem_24g_ackpayload_enable:00#ack payload enable
+mem_24g_ch_map1:00 13 2c 42
+mem_24g_ch_map2:06 15 36 48
+mem_24g_ch_map3:0f 1a 3a 4c
+mem_24g_ch_map4:11 23 31 4d
+mem_24g_pair_switch:01
+mem_24g_pair_mode:00
+mem_24g_pair_ch:4e
+mem_24g_pair_tx_power:85 #-5dBm
+mem_24g_pair_addr:56 34 02 01
+mem_24g_enter_hibernate:00 48 60#200ms
+mem_rssi_buff_index:07
+mem_rssi_noise_buffer_ptr:mem_car_rssi_noise_buffer
+mem_rssi_noise_self_buffer_ptr:mem_car_rssi_noise_car_buffer
+mem_rssi_noise_device1_buffer_ptr:mem_car_rssi_noise_remote_buffer
+
+#24g rx init end
+
+mem_car_24g_bind_enable_delay_count:0a#500ms
+mem_car_24g_no_data_timeout_count:64 00#10s
+mem_car_enter_lpm_timer_count:b8 0b#5min
+
+mem_car_save_addr_flag:00
+mem_car_24g_go_die_flag:00
+
+
Index: sched/dongle.dat
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/dongle.dat	(nonexistent)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/dongle.dat	(working copy)
@@ -0,0 +1,138 @@
+
+mem_device_option:04
+mem_ui_button_gpio:ff
+mem_otp_load_check_sum:5a
+#efuse size:28 bytes
+
+#sys config
+#bit7:enable 16M xtal#0:24M#1:16M
+#bit6:enable new channel map
+#bit5:enable eeprom
+#bit4:enable kb icon
+#bit3:enable 24g 2M
+#bit2-0:retention
+mem_dg_sys_config:10  #24M
+
+#24g new process #default value 00,if need new process set value 01
+#mem_24g_disable_fec1:00
+mem_dg_24g_tx_power_default:03	#6dBm
+
+#usb config
+mem_dg_usb_vid_pid:
+01 #disable
+#mouse only#auto pair
+51 31#VID
+20 10#PID
+#mouse & keyboard
+51 31#VID
+20 30#PID
+mem_dg_usb_tx_interval:01
+mem_dg_usb_device_name:
+'2.4G Receiver
+
+#pair tx
+mem_24g_pair_tx_power_init:94 #94: -20dBm  9e: -30dBm  9f: -35dBm a0: -40dBm 
+
+#rf config
+mem_24g_lap:20 17 85 74 12 23#low 4B used for 24g rxaddr
+#mem_24g_tx_phy:01#0x01:1M/0x02:2M/0x04:S2/0x84:S8
+#mem_24g_rx_phy:01#0x01:1M/0x02:2M/0x04:S2/0x84:S8
+#mem_24g_no_ack:00#no ack
+mem_24g_rx_window:78 69#rx
+mem_24g_hop_interval:1e
+#mem_24g_ackpayload_enable:00#ack payload enable
+#mem_24g_ch_map1:00 13 2c 42
+#mem_24g_ch_map2:06 15 36 48
+#mem_24g_ch_map3:0f 1a 3a 4c
+#mem_24g_ch_map4:11 23 31 4d
+#mem_24g_pair_switch:00
+mem_24g_pair_mode:00
+#mem_24g_pair_ch:4e
+#mem_24g_pair_tx_power:85
+#mem_24g_pair_addr:20 15 10 05
+#mem_24g_ch_map_update:00
+#mem_24g_ch_update_map1
+#mem_24g_ch_update_map2
+#mem_24g_ch_update_map3
+#mem_24g_ch_update_map4
+
+#mem_rssi_buff_index:ff
+#mem_rssi_noise_buffer_ptr:mem_dg_rssi_noise_buffer
+#mem_rssi_noise_self_buffer_ptr:mem_dg_rssi_noise_dg_buffer
+#mem_rssi_noise_device1_buffer_ptr:mem_dg_rssi_noise_ms_buffer
+#mem_rssi_noise_device2_buffer_ptr:mem_dg_rssi_noise_kb_buffer
+
+
+
+#mem_rf_debug_rx_gpio:87
+#mem_rf_debug_tx_gpio:88
+#uart config
+#mem_device_uart_tx_gpio:09	#08
+#mem_device_uart_rx_gpio:ff
+#mem_device_uart_baud_rate:d0 00	#115200	
+#mem_device_uart_rx_buffer:00 1c
+#mem_device_uart_rx_buffer_end:ff 1f
+#mem_device_uart_tx_buffer:00 4f
+#mem_device_uart_tx_buffer_end:ff 4f
+
+
+mem_dg_usb_driver_set_end:01  #01--finished, 00--sending
+
+mem_config_new:
+42 09 02 42 00 02 01 00 A0 32 
+09 04 00 00 01 03 01 01 00 
+09 21 00 02 00 01 22 3f 00 
+07 05 81 03 40 00 02 09 04 
+01 00 02 03 01 02 00 09 21 
+00 02 00 01 22 a3 00 07 05 
+82 03 40 00 02 
+07 05 02 03 40 00 02
+#usb 1m config
+#3b 09 02 3b 00 02 01 00 a0 32 09 04 00 00 01 03 01 01
+#00 09 21 00 02 00 01 22 
+#3f 00 07 05 81 03 40 00 02 09 04 01 00 
+#01 03 01 02 00 09 21 00 02 00 01
+#22 a3 00 07 05 82 03 40 00 02
+
+mem_usb_ep2_config:
+a3 05 01 09 02 A1 01 85 01 09 
+01 A1 00 05 09 19 01 29 05 
+15 00 25 01 95 05 75 01 81 
+02 95 01 75 03 81 01 05 01 
+09 30 09 31 16 01 F8 26 FF 
+07 75 10 95 02 81 06 09 38 
+15 81 25 7F 75 08 95 01 81 
+06 05 0C 0A 38 02 95 01 81 
+06 C0 C0 05 01 09 80 A1 01 
+85 02 05 01 19 81 29 88 15 
+00 25 01 95 08 75 01 81 06 
+C0 05 0C 09 01 A1 01 85 03 
+15 00 26 80 03 19 00 2A 80 
+03 75 10 95 01 81 00 C0  
+06 A1 FF 
+09 02 
+A1 01 
+85 A1
+95 3F 
+75 08 
+26 FF 00 
+15 00 
+09 01 
+81 02 
+85 A2 
+95 3F 
+75 08 
+26 FF 00
+15 00 
+09 01 
+b1 02 
+C0 
+
+
+mem_keyboard_map:
+3f 05 01 09 06 a1 01 75 01 95 08 05 07 19 e0 29 e7 15 00
+25 01 81 02 95 01 75 08 81 03 95 05 75 01 05 08
+19 01 29 05 91 02 95 01 75 03 91 03 95 06 75 08
+15 00 25 03 05 07 19 00 29 ff 81 00 c0
+
+
Index: sched/ff.dat
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/ff.dat	(nonexistent)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/ff.dat	(working copy)
@@ -0,0 +1,88 @@
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
Index: sched/flippen.dat
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/flippen.dat	(nonexistent)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/flippen.dat	(working copy)
@@ -0,0 +1,31 @@
+
+
+mem_flippen_no_data_timeout:14 00 #2s
+mem_flippen_start_pair_no_data_timeout:36 01 #31s
+mem_key_longpress_timer_init:08 07	#3min
+
+
+mem_key_press_data:
+00 00 00 4B 00 00 00 00 00	#Page Up
+00 00 00 4E 00 00 00 00 00	#Page Down	
+00 02 00 3E 00 00 00 00 00	#Shift+F5
+00 00 00 29 00 00 00 00 00	#Esc
+00 00 00 05 00 00 00 00 00	#B
+00 00 00 2B 00 00 00 00 00	#tab
+00 00 00 28 00 00 00 00 00	#enter
+00 04 00 2B 00 00 00 00 00	#alt tab
+00 04 00 3D 00 00 00 00 00	#alt f4
+03 CD 00 00 00 00 00 00 00	#play/pause
+03 E9 00 00 00 00 00 00 00	#vol up
+03 EA 00 00 00 00 00 00 00	#vol down
+
+
+mem_standard_key_release:
+00 00 00 00 00 00 00 00 00
+mem_system_ctrl_key_release:
+02 00 00 00 00 00 00 00 00
+mem_media_key_release:
+03 00 00 00 00 00 00 00 00
+
+
+
Index: sched/fpga.dat
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/fpga.dat	(nonexistent)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/fpga.dat	(working copy)
@@ -0,0 +1,28 @@
+mem_xtal_freq:18
+mem_le_adv_enable:01
+
+mem_rx_window_sniff:00 0e
+
+mem_version:08 0e 05 03 00
+
+mem_le_lap:11 22 35
+mem_le_adv_data_len:03
+mem_le_adv_data:
+02 01 0e
+
+mem_le_scan_data_len:0b
+mem_le_scan_data:
+'\09FPGA1121S
+
+mem_le_adv_interval:20 00
+mem_le_scan_window:20 00
+mem_le_scan_type:01
+mem_le_adv_own_addr_type:01
+mem_le_adv_channel_map:07
+
+mem_device_option:05
+
+mem_rf_init_data:
+ff
+mem_rf_init_ptr:mem_rf_init_data
+
Index: sched/gatt.dat
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/gatt.dat	(nonexistent)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/gatt.dat	(working copy)
@@ -0,0 +1,85 @@
+
+#attribute list: handle 2bytes, uuid 2bytes, length 1bytes, attribute Nbytes
+mem_le_att_list:
+
+#Primary service GAP ------
+01 00 00 28 02 00 18
+
+#Device name
+02 00 03 28 01 0a
+03 00 00 2a 0c 41 73 74 20 4c 45 20 4d 6f 75 73 65
+
+#Appearance
+04 00 03 28 01 02
+05 00 01 2a 02 c2 03 #3c2=hid mouse
+
+#Peripheral Preferred Connection Parameters
+06 00 03 28 01 02
+07 00 04 2a 08 06 00 06 00 64 00 2c 01 # interval 6ms, latency 100, timeout 300
+
+#Primary service GATT ------
+08 00 00 28 02 01 18
+
+#Service changed
+09 00 03 28 01 20
+0a 00 05 2a 00
+
+#Client Characteristic Configuration
+0b 00 02 29 02 00 00
+
+#Primary service TX power ------
+0c 00 00 28 02 04 18
+#Characteristic Tx power level
+0d 00 03 28 01 06
+0e 00 07 2a 01 00
+
+
+#Primary service Battery ------
+0f 00 00 28 02 0f 18
+#Characteristic Battery level
+10 00 03 28 01 12
+11 00 19 2a 01 38
+
+#Primary service yichip transmit ------
+12 00 00 28 02 f0 18
+#Characteristic tx--notify
+13 00 03 28 01 12
+14 00 f1 2a 14	# for Android device, ATT MTU is just 23 bytes, so payload is 20 bytes max
+'Test read initial va
+#Client Characteristic Configuration
+15 00 02 29 02 00 00
+#Characteristic rx--write
+16 00 03 28 01 0c
+17 00 f0 2a 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+
+#End of Attribute list
+00 00
+
+mem_le_adv_enable:01
+mem_le_adv_data_len:03
+
+mem_le_adv_data:02 01 05
+#flags NOTE: should be included here, or Android will not do connectgatt()
+
+
+mem_le_scan_data_len:17
+
+mem_le_scan_data:	# 1 byte length + 1 byte type + N bytes data
+
+#complete local name
+0e 09 
+#'Ast LE2Serial
+'YiChip BLE2IR
+
+#16bit uuid
+03 03 00 f0
+
+#Apperance
+03 19 40 02
+
+
+mem_le_adv_interval:00 08 
+mem_le_adv_channel_map:07 
+
+mem_24g_lap:77 11 00 33 00 00
+
Index: sched/hci_boot.dat
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/hci_boot.dat	(nonexistent)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/hci_boot.dat	(working copy)
@@ -0,0 +1,7 @@
+
+mem_device_option:0c
+
+mem_rf_init_data:
+ff
+mem_rf_init_ptr:mem_rf_init_data
+
Index: sched/keyboard.dat
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/keyboard.dat	(nonexistent)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/keyboard.dat	(working copy)
@@ -0,0 +1,378 @@
+mem_mouse_flag:
+#mouse flag byte1
+#bit0 MOUSE_SELECT_DEVICE_FLAG
+#bit1 MOUSE_24G_PAIRING_FLAG
+#bit2 MOUSE_STORE_EEPROM_FLAG
+#bit3 MOUSE_BT_CANNEL_RECONN_FLAG
+#bit4 MOUSE_LOW_VOLTAGE_FLAG
+#bit5 MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG
+#bit6 MOUSE_BT_DISCOVERY_BUTTON_LONG_DOWN_FLAG
+04
+
+#mouse flag byte2
+#bit0 MOUSE_ENABLE_BLE_RANDOM_ADDRE
+#bit1 MOUSE_ENABLE_2K_EEPROM
+#bit2 MOUSE_ENABLE_INIT_DELAY
+#bit3 MOUSE_ENABLE_WAKEUP_FROM_POWER
+#bit4 MOUSE_ENABLE_16M
+#bit5 MOUSE_ENABLE_USB
+#bit6 MOUSE_ENABLE_24G_SEARCH_DONGLE
+#bit7 MOUSE_ENABLE_LOAD_AND_STORE_DPI
+09
+
+#mouse flag byte3
+#bit0 MOUSE_ENABLE_SPI2
+#bit1 MOUSE_ENABLE_24G
+#bit2 MOUSE_ENABLE_FLASH
+#bit3 MOUSE_ENABLE_EEPROM
+#bit4 MOUSE_ENABLE_OTP
+#bit5 MOUSE_ENABLE_ADC
+#bit6 MOUSE_ENABLE_KEYBOARD
+#bit7 MOUSE_ENABLE_DOUBLE_DPI_KEY
+50
+
+#mouse flag byte4
+#bit0 MOUSE_ENABLE_24G_250Hz
+#bit1 MOUSE_ENABLE_24G_500Hz
+#bit2 MOUSE_ENABLE_24G_1000
+#bit3 MOUSE_ENABLE_BT_125Hz
+#bit4 MOUSE_ENABLE_DPI_LEVEL_4
+#bit5 MOUSE_ENABLE_USB_250
+#bit6 MOUSE_ENABLE_USB_500
+#bit7 MOUSE_ENABLE_USB_1000
+00
+
+
+#mouse flag byte5
+#bit0 MOUSE_ENABLE_1IO2LED
+#bit1 MOUSE_ENABLE_BT_RECONN_LED_EFFECT
+#bit2 MOUSE_ENABLE_LOW_LED_BLINK_LIMIT
+#bit3 MOUSE_ENABLE_LOW_LED
+#bit4 MOUSE_ENABLE_LOW_FOR_LED
+#bit5 MOUSE_ENABLE_DPI_FOR_LED
+#bit6 MOUSE_ENABLE_DPI_LOW_FOR_LED
+00
+
+#mouse flag byte6 
+#bit0 MOUSE_ENABLE_SELECT_DEVICE_BY_DPI_BUTTON
+#bit1 MOUSE_ENABLE_SELECT_DEVICE_BY_PB_BUTTON
+#bit2 MOUSE_ENABLE_SELECT_DEVICE_BY_SWITCH_GPIO
+#bit3 MOUSE_ENABLE_CUSTOMER_KEY_CONNECT_VIN_OR_MATRIX
+#bit4 MOUSE_ENABLE_DPI_KEY_CONNECT_GND
+#bit5 MOUSE_ENABLE_PB_BUTTON_CONNECT_GND
+#bit6 MOUSE_ENABLE_24G_FIRST_AUTO_PAIRING 
+00
+#mouse flag byte7
+#bit0 MOUSE_ENABLE_AUTO_24G_PARING
+#bit1 MOUSE_ENABLE_24G_POWER_ON_PAIRING
+#bit2 MOUSE_ENABLE_COMMBINATION_KEY_BY_24G_PAIRING
+#bit3 MOUSE_ENABLE_BT_RECONNECT_TIMEOUT_ENTER_DISCOVERY
+#bit4 MOUSE_ENABLE_PB_BUTTON_SHORT_PRESS_ENTER_DISCOVERY
+#bit5 MOUSE_ENABLE_COMMBINATION_KEY_BY_BT_DISCOVERY
+#bit6 MOUSE_ENABLE_DPI_KEY_LONG_PRESS_DISCONVERY
+#bit7 MOUSE_ENABLE_PB_BUTTON_LONG_PRESS_DISCONVERY
+00
+
+#mouse flag byte8
+#bit0 MOUSE_ENABLE_SMOOTHER
+#bit1 MOUSE_ENABLE_XY_OFFSET
+#bit2 MOUSE_ENABLE_24G_AUTO_PAIR_NERVER_BEEN_PAIRED
+#bit3 MOUSE_ENABLE_LE_BATTERY_SERVICE_CANCEL
+#bit4 MOUSE_ENABLE_WHEEL_WAKE_UP_CANCEL
+#bit5 MOUSE_ENABLE_24G_2M_PHY
+#bit6 MOUSE_ENABLE_24G_FIRST_AUTO_PAIRING
+1c
+
+
+mem_device_option:0f
+mem_device_number:01
+mem_power_on_flag:01
+
+#ui
+
+mem_ui_button_gpio:ff
+mem_ui_button_timeout:1e
+mem_ui_led_struct_num:00
+
+
+
+#rf
+mem_tx_power:01	#00--0db 01--3db  02--5db  03--f3db  04--f5db
+mem_rssi_buff_index:07
+mem_rssi_signal_buf_ptr:mem_mouse_rssi_signal_buf
+mem_rssi_dis_min_24g_init:85
+mem_rssi_dis_max_24g_init:90
+mem_rssi_dis_min_ble_init:75
+mem_rssi_dis_max_ble_init:80
+mem_rssi_hex_received_max_value_init:63
+mem_power_ctrl_pac_succ_cnt_init:7d
+
+#usb
+mem_usb_offline_check_gpio:ff
+
+
+
+
+#2.4g
+mem_24g_data_type:02	#01--mouse  02--keyboard
+mem_24g_fast_conn_enable:01
+mem_24g_fast_conn_addr:0f 0f 0f 0f
+mem_24g_ch_map_update:00   #00--disable   01--enable
+mem_24g_long_sleep_set_level:02    #00--30ms   01--50ms  02--80ms  03--100ms
+mem_24g_disable_fec1:00	 #00--default mode  01--new process
+mem_24g_rx_window:c0 12     #400us  ## e0 2e#1ms #transmitter long range min:520us
+mem_mouse_24g_pair_tx_power:94 #-20dBm
+
+mem_24g_enter_hibernate:00 48 60
+mem_24g_long_sleep_param_update_timer_init:0a 00	#1s
+mem_24g_transmit_by_interrupt_exit_count_init:50 00
+mem_mouse_24g_power_on_fast_conn_timer:02 00	#1s
+mem_mouse_24g_search_dongle_time_init:32 00	#3mins
+mem_store_information_delay_timer_init:02
+mem_local_rx_max_octets:fb 00 48 08 fb 00 48 08  # 1b
+
+#bt
+mem_lpm_mode:00
+mem_lpm_mult:20
+mem_lpm_mult_init:20
+
+#rf_debug
+mem_rf_debug_rx_gpio:97
+mem_rf_debug_tx_gpio:97
+
+
+
+
+
+#ble
+mem_le_lap:73 83 92 a1 b1 c1
+mem_le_adv_channel_map:07
+
+mem_le_battery_level_updata_timer_init:96 00
+mem_le_keyboard_handle:15 00
+mem_le_notify_handle:19 00
+mem_le_multimedia_handle:1d 00
+mem_le_systemctrl_handle:21 00
+mem_le_pairing_handle:28 00
+mem_le_battery_level_handle:30 00
+
+mem_le_adv_data_len:1f
+mem_le_adv_data:
+#flag
+02 01 05 
+#uuid
+03 03 12 18 
+#appearance
+03 19 c1 03
+
+mem_le_adv_swift_pair:
+#microsoft swift pair
+#06 ff 06 00 03 00 80	
+#name
+'\09BT5.2 Keyboard
+
+mem_le_scan_data_len:1f
+mem_le_scan_data:
+#name
+'\09BT5.2 Keyboard
+
+#max 20bytes, att list data rom limits
+mem_le_name_len:
+'BT5.2 Keyboard
+
+mem_le_interval_min:
+07 00 #min interval
+07 00 #max interval
+20 00 #latency
+2c 01 #timeout
+
+mem_le_adv_ind:03 12 18
+mem_le_adv_direct_ind:ff 00 00
+
+
+
+
+
+#adc
+#adc
+mem_mouse_vdd_full_vol:dc 05		#1.5V
+84 03#mem_mouse_vdd_empty_vol  :0.9V
+e8 03#mem_mouse_vdd_low_vol   :1.0V
+#mem_mouse_vdd_full_vol:e4 0c		#3.3V
+#b8 0b#mem_mouse_vdd_empty_vol  :3.0V
+#80 0c#mem_mouse_vdd_low_vol   :3.2V
+
+mem_adc_channel_gpio:04
+#04
+#02
+#01
+#03
+#00
+#05
+#06
+#07
+
+#led
+
+
+#system
+mem_mouse_24g_pair_timeout_init:58 02  #1min
+mem_mouse_discovery_timeout:58 02  #1min
+mem_mouse_no_data_timeout:70 17   #10mins
+mem_mouse_24g_reconn_timeout_init:64 #10s
+mem_mouse_direct_timeout:64  #10s
+mem_mouse_fast_direct_timeout:64 #10s
+mem_mouse_page_to:00 40		# 16384*0.625ms=10s
+mem_mouse_fast_page_to:00 40		# 16384*0.625ms=10s
+
+mem_same_keyvalue_timer_init:B8 0B		#5min
+mem_keyboard_caps_led_on_timer:58 02	#1min
+
+
+mem_device_flag:00	#00--24g 01--bt/ble
+mem_device1_type:34
+mem_device1_addr:00 00 00 00 00 00
+
+
+
+mem_le_search_mac_manu_name:
+41 70 70 6c 65 20 49 6e 63
+mem_le_search_mac_uuid:
+0a 18
+mem_le_search_service_uuid:
+D0 00 2D 12 1E 4B 0F A4 99 4E CE B5 31 F4 05 79
+
+##												bt button connct gnd          bt button in matrix        two button commbination
+mem_keyboard_pairing_type:00					#                 00                                    00                                 01
+mem_config_select_device_button_gpio:05#              00~16			               ff					ff
+mem_keyboard_commbination_key_bt:7f 06			#		 not care				   not care			     Fn+C
+mem_keyboard_commbination_key_24g:29 14		#		 not care				   not care			     Esc+Q
+mem_keyboard_bt_button_flag:01
+
+
+mem_keyboard_caps_led_gpio:ff
+mem_keyboard_num_led_gpio:ff
+mem_keyboard_power_led_gpio:ff
+
+mem_keyboard_led_r_gpio:ff
+mem_keyboard_led_g_gpio:ff
+mem_keyboard_led_b_gpio:ff
+
+mem_keybord_appearance:c1 03
+
+
+mem_mcu_stb_gpio:15
+mem_mcu_clk_gpio:14
+mem_mcu_rstb_gpio:12
+
+mem_mouse_param_config:
+ff #mem_lbutton_gpio
+ff #mem_mbutton_gpio
+ff #mem_rbutton_gpio
+ff #mem_bk_button_gpio
+ff #mem_fw_button_gpio
+ff #mem_dpi_button_gpio
+ff #mem_whee_a_data_gpio
+ff #mem_whee_b_data_gpio
+ff #mem_mouse_sensor_sclk_gpio
+ff #mem_mouse_sensor_sdio_gpio
+ff #mem_select_sensor_angle_gpio
+ff #mem_sensor_angle_default
+ff #mem_sensor_angle_switch
+ff #mem_config_sensor_dpi	#power on default dpi 00--1200  01--1600
+ff #mem_whee_ta_data_gpio
+ff #mem_whee_tb_data_gpio
+ff #mem_matrix_public_gpio
+ff #mem_config_select_device_button_gpio
+ff #mem_customer_key_gpio
+ff #mem_firebutton_gpio
+ff #mem_dpi_another_button_gpio
+ff #mem_sensor_motion_gpio
+ff #mem_device_switch_gpio
+ff #mem_mouse_reuse_2ice_gpio
+ff #mem_mouse_logo_led_gpio
+ff #mem_mouse_1io2led_multi_24gled
+ff #mem_mouse_1io2led_multi_bt1led
+ff #mem_mouse_1io2led_multi_bt2led
+ff #mem_mouse_low_voltage_alarm_gpio
+ff #mem_mouse_dpi_gpio
+mem_key_excol_gpio:c2 c1 85 84 83 82 81 80 c7 c6 c4
+
+#gpio00~16
+mem_key_row_gpio:
+09 		#r0
+0a 		#r1
+0b 		#r2
+0c 		#r3
+0d 		#r4
+0e 		#r5
+03 		#r6
+07		#r7
+
+#gpio00~16   portA:8x,portB:cx
+mem_key_col_gpio:
+0f		#c0
+10		#c1
+11		#c2
+08		#c14
+16		#c15
+c2		#c3
+c1		#c4
+c4		#c5
+c6		#c6
+c7		#c7
+85		#c8
+84		#c9
+83		#c10
+82		#c11
+80		#c12
+81		#c13
+ff		#c16
+ff		#c17
+ff		#c18
+ff		#c19
+
+mem_keyboard_keyvalue_map:
+#r0 ~ r7
+4c 00 00 00 44 00 2c 51 			#c0
+00 00 00 00 00 00 00 4f 				#c1
+00 e1 00 00 00 e5 00 00 			#c2
+42 2a 43 00 28 31 00 00 			#c3
+00 00 00 00 00 00 52 50 			#c4
+00 00 45 00 00 e0 e3 E7 			#c5
+00 e2 00 00 00 00 00 00 			#c6
+2e 30 25 0c 36 0e 3f 00 				#c7
+2d 2f 27 13 00 33 34 38 				#c8
+41 40 26 12 37 0f 00 00 				#c9
+23 1c 24 18 10 0d 0b 11 			#c10
+7f 00 3e 00 E6 00 00 00 			#c11
+22 17 21 15 19 09 0a 05 			#c12
+3a 39 1f 1a 1b 16 00 00 				#c13
+3b 3c 20 08 06 07 3d 00 			#c14
+35 2b 1e 14 1d 04 29 00 			#c15
+
+mem_keyboard_fn_first:	00			#fn first  00:press f1~f12=f1~f12      01:press fn+f1~f12=f1~f12
+mem_keyboard_fn_esc:	fb			#esc
+mem_keyboard_fn_f1:	f7			#f1
+mem_keyboard_fn_f2:	fa			#f2
+mem_keyboard_fn_f3:	a5			#f3
+mem_keyboard_fn_f4:	a6			#f4
+mem_keyboard_fn_f5:	a7			#f5
+mem_keyboard_fn_f6:	a8			#f6
+mem_keyboard_fn_f7:	eb			#f7
+mem_keyboard_fn_f8:	e9			#f8
+mem_keyboard_fn_f9:	ec			#f9
+mem_keyboard_fn_f10:	ed			#f10
+mem_keyboard_fn_f11:	ee			#f11
+mem_keyboard_fn_f12:	a9			#f12
+mem_keyboard_fn_del:	4c			#delete
+
+# 00: disable           01: enable
+mem_keyboard_fn_arrow_enable_flag:01
+mem_keyboard_fn_left_ctrl_enable_flag:01
+mem_keyboard_fn_space_enable_flag:01
+mem_keyboard_fn_system_switch_enable_flag:00
+
+
+mem_keyboard_commbination_fast_conn_bt:2a 10	# bs+M
+
Index: sched/le_prcp.dat
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/le_prcp.dat	(nonexistent)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/le_prcp.dat	(working copy)
@@ -0,0 +1,77 @@
+#attribute list: handle 2bytes, uuid 2bytes, length 1bytes, attribute Nbytes
+mem_le_att_list:
+
+#Primary service GAP ------
+01 00 00 28 02 00 18
+
+#Device name
+02 00 03 28 01 0a
+03 00 00 2a 0c 41 73 74 20 4c 45 20 4d 6f 75 73 65
+
+#Appearance
+04 00 03 28 01 02
+05 00 01 2a 02 c2 03 #3c2=hid mouse
+
+#Peripheral Preferred Connection Parameters
+06 00 03 28 01 02
+07 00 04 2a 08 06 00 06 00 64 00 2c 01 # interval 6ms, latency 100, timeout 300
+
+#Primary service GATT ------
+08 00 00 28 02 01 18
+
+#Service changed
+09 00 03 28 01 20
+0a 00 05 2a 00
+
+#Client Characteristic Configuration
+0b 00 02 29 02 00 00
+
+#Primary service TX power ------
+0c 00 00 28 02 04 18
+#Characteristic Tx power level
+0d 00 03 28 01 06
+0e 00 07 2a 01 00
+
+
+#Primary service Battery ------
+0f 00 00 28 02 0f 18
+#Characteristic Battery level
+10 00 03 28 01 12
+11 00 19 2a 01 38
+
+#Primary service yichip PRCP ------
+12 00 00 28 02 f1 18
+#Characteristic device tx
+13 00 03 28 01 12
+14 00 f3 2a 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+#Client Characteristic Configuration
+15 00 02 29 02 00 00
+#Characteristic device rx
+16 00 03 28 01 0e
+17 00 f2 2a 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+#End of Attribute list
+00 00
+
+mem_le_adv_data_len:1b
+mem_le_adv_data:0c 09
+'Yichip Temp
+ 03 19 40 02 02 01 05 02 0a 00 03 03 f1 18
+mem_le_scan_data_len:00
+#mem_le_adv_param:00 08 00 08 00 01 00 00 00 00 00 00 00 07 00
+mem_le_adv_enable:01
+
+
+mem_le_adv_interval:20 00 
+mem_le_adv_type:00 
+mem_le_adv_own_addr_type:01 
+mem_le_adv_direct_addr:00 00 00 00 00 00 
+mem_le_adv_channel_map:07 
+
+mem_le_notify_handle:14
+
+mem_lpm_mode:00
+#mem_lpm_ctrl:0f 0f 10 06
+mem_lpm_xtalcnt:0c 10 ca 1f
+mem_device_option:0d
+mem_le_lap:45 67 78 89 90 56
+
Index: sched/le_transmit_uuid.dat
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/le_transmit_uuid.dat	(nonexistent)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/le_transmit_uuid.dat	(working copy)
@@ -0,0 +1,62 @@
+mem_device_option: 01
+
+#attribute list: handle 2bytes, uuid 2bytes, length 1bytes, attribute Nbytes
+mem_le_att_list:
+
+#Primary service GAP ------
+01 00 00 28 02 00 18
+
+#Device name
+02 00 03 28 01 0a
+03 00 00 2a 0c 41 73 74 20 4c 45 20 4d 6f 75 73 65
+
+#Appearance
+04 00 03 28 01 02
+05 00 01 2a 02 c2 03 #3c2=hid mouse
+
+#Peripheral Preferred Connection Parameters
+06 00 03 28 01 02
+07 00 04 2a 08 06 00 06 00 64 00 2c 01 # interval 6ms, latency 100, timeout 300
+
+#Primary service GATT ------
+08 00 00 28 02 01 18
+
+#Service changed
+09 00 03 28 01 20
+0a 00 05 2a 00
+
+#Client Characteristic Configuration
+0b 00 02 29 02 00 00
+
+#Primary service TX power ------
+0c 00 00 28 02 04 18
+#Characteristic Tx power level
+0d 00 03 28 01 06
+0e 00 07 2a 01 00
+
+
+#Primary service Battery ------
+0f 00 00 28 02 0f 18
+#Characteristic Battery level
+10 00 03 28 01 12
+11 00 19 2a 01 38
+
+#Primary service yichip transmit ------
+12 00 00 28 02 f0 18
+#Characteristic tx--notify
+13 00 03 28 01 12
+14 00 f1 2a 17 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+#Client Characteristic Configuration
+15 00 02 29 02 00 00
+#Characteristic rx--write
+16 00 03 28 01 0c
+17 00 f0 2a 17 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+
+#End of Attribute list
+00 00
+
+mem_le_adv_data_len:1b
+mem_le_adv_data:0c 09 52 74 72 69 76 72 5f 52 36 32 31 03 19 40 02 02 01 05 02 0a 00 03 03 00 f0
+mem_le_scan_data_len:00
+mem_le_adv_param:00 08 00 08 00 01 00 00 00 00 00 00 00 07 00
+mem_le_adv_enable:01
Index: sched/mesh.dat
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/mesh.dat	(nonexistent)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/mesh.dat	(working copy)
@@ -0,0 +1,211 @@
+
+
+mem_le_adv_enable: 01
+
+#mem_mesh_three_tuple_ProductID:
+#灯
+#00 5F 74 FC
+#18 14 6c 11 eb f1
+#33 42 99 b0 e7 0b f6 5e 68 67 bd 9a a7 42 b9 b9
+
+#风扇灯
+#00 5F 7A D1
+#486e703cafa8
+#55c742493aac4fba2d9aae6c5b6cc061
+
+#00 5F 7A D1
+#486e703cafa9
+#c435c7f0e6e2b4c6a9dc4f6f3eaf9fa3
+
+#四键开关
+#00 5F 7C 48
+#486e703efaff
+#f5816553a881fbc734b6562ebdeb6d58
+
+mem_le_scan_interval:0a 00	#6.25ms
+mem_le_scan_window:03 00	#40ms
+
+mem_le_adv_type:00
+#ADV_NONCONN_IND
+
+
+#########mesh fast pairing setting#############
+mem_mesh_Device_PID:51 
+# Bit0,1,2,3:  BLE ADV VERSION   
+#bit4:1 (defult) 
+#bit5:suport OTA 1(defult) 
+#bit 6,7:
+#00	(BLE 4.0)
+#01 (defult BLE 4.2) 
+#10 (BLE 5.0) 
+#11 (BLE above 5.0 )
+
+mem_mesh_UUID_FeatureFlag:02 #bit 1-7:UUID VERSION bit0:ADV STATE
+mem_mesh_UUID_FeatureFlag1:83
+mem_mesh_PDU_RFU: 20
+#Bit0: 支锟街硷拷锟斤拷锟斤拷锟斤拷锟斤拷志位
+#Bit1: 锟斤拷展AuthValue锟斤拷志位
+#Bit2: 支锟斤拷Tiny Mesh app 锟斤拷锟斤拷锟斤拷志位
+#Bit3: RFU
+#Bit7~4: Genie Bt Mesh Stack锟斤拷志锟斤拷未使锟斤拷锟斤拷0
+#Bit7~4:1锟斤拷示锟斤拷锟斤拷TG7111B (YC1059)锟斤拷锟斤拷锟
+
+mem_mesh_OOB_information:00 00
+
+#################
+
+
+mem_device_option:0b
+
+mem_mesh_send_message_TTL:05
+
+
+mem_mesh_sha256_ConfirmationKey_ascii:
+43 6f 6e 66 69 72 6d 61 74 69 6f 6e
+4b 65 79
+
+mem_mesh_sha256_SessionKey_ascii:
+53 65 73 73 69 6f 6e
+4b 65 79
+
+mem_mesh_sha256_DeviceKey_ascii:
+44 65 76 69 63 65
+4b 65 79
+
+
+mem_k2_P_len:
+01 00
+mem_k2_SALT:
+4f 90 48 0c 18 71 bf bf fd 16 97 1f 4d 8d 10 b1
+
+mem_k3_SALT:
+00 36 44 35 03 f1 95 cc 8a 71 6e 13 62 91 c3 02
+mem_k3_id64_01:
+69 64 36 34 01
+
+mem_k4_SALT:
+0e 9a c1 b7 ce fa 66 87 4c 97 ee 54 ac 5f 49 be
+mem_k4_id6_01:
+69 64 36 01
+
+
+mem_mesh_element_number:
+01
+mem_mesh_element_device_ptr:mem_mesh_element_device
+
+mem_mesh_element_device_length:
+1B 00
+
+mem_mesh_element_device:
+#c1 03     #锟斤拷锟斤拷毯锟介播锟斤拷址
+c0 00	#锟斤拷锟介播锟斤拷址
+#c0 01	#锟斤拷锟斤拷锟介播锟斤拷址
+
+
+mem_mesh_network_relay_queue_each_size:
+22 04 
+
+mem_mesh_element_device1:
+c0 01	#锟斤拷锟斤拷锟介播锟斤拷址
+
+mem_mesh_element_device2:
+c0 01	#锟斤拷锟斤拷锟介播锟斤拷址
+#00 00
+
+
+mem_mesh_core_feature:
+00
+#bit0 MESH_FEATURE_LOG
+#bit1 
+
+
+#proxy adv init
+mem_le_adv_interval:f0 00
+mem_le_adv_channel_map:07
+
+mem_le_local_mtu:28
+
+mem_le_scan_data_len:0e
+02 01 06
+'\09Tiny Mesh
+
+
+mem_ui_le_uuid_table:mem_mesh_le_att_list
+mem_mesh_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
+
+#Mesh Proxy Service Declaration
+0c 00 02 00 28 02 28 18
+#Mesh Proxy Data In Characteristic Declaration
+#Mesh Proxy Data In Characteristic Value
+#Characteristic --write without response
+0d 00 02 03 28 01 04
+0e 00 02 DD 2A 01 00
+#Mesh Proxy Data Out Characteristic Declaration
+#Mesh Proxy Data Out Characteristic Value
+#Mesh Proxy Data Out Client Characteristic Configuration
+#Characteristic --notify
+0f 00 02 03 28 01 10
+10 00 02 DE 2A 01 00
+#Client Characteristic Configuration
+11 00 02 02 29 02 00 00
+
+#Mesh Provisioning Service Declaration
+12 00 02 00 28 02 27 18
+#Mesh Provisioning Data In Characteristic Declaration
+#Mesh Provisioning Data In Characteristic Value
+#Characteristic --write without response
+13 00 02 03 28 01 04
+14 00 02 DB 2A 01 00
+#Mesh Provisioning Data Out Characteristic Declaration
+#Mesh Provisioning Data Out Characteristic Value
+#Mesh Provisioning Data Out Client Characteristic Configuration
+#Characteristic --notify
+15 00 02 03 28 01 10
+16 00 02 DC 2A 01 00
+#Client Characteristic Configuration
+17 00 02 02 29 02 00 00
+
+
+00 00
+
+
+
+
+
+
+
+
+mem_rf_init_data:
+# xtal 16M
+ff
+mem_rf_init_ptr:mem_rf_init_data
+
+mem_mesh_segmented_access_message_SegN_upper_limit:01
+mem_mesh_segmented_access_message_Segment_ptr:mem_mesh_segmented_access_message_Segment
+
+mem_mesh_vendor_mesh_receive_tid: ff
+
+mem_mesh_chip_select: 02
+
Index: sched/mouse.dat
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/mouse.dat	(nonexistent)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/mouse.dat	(working copy)
@@ -0,0 +1,438 @@
+mem_mouse_flag:
+#mouse flag byte1
+#bit0 MOUSE_SELECT_DEVICE_FLAG
+#bit1 MOUSE_24G_PAIRING_FLAG
+#bit2 MOUSE_STORE_EEPROM_FLAG
+#bit3 MOUSE_BT_CANNEL_RECONN_FLAG
+#bit4 MOUSE_LOW_VOLTAGE_FLAG
+#bit5 MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG
+#bit6 MOUSE_BT_DISCOVERY_BUTTON_LONG_DOWN_FLAG
+04
+
+#mouse flag byte2
+#bit0 MOUSE_ENABLE_BLE_RANDOM_ADDRE
+#bit1 MOUSE_ENABLE_2K_EEPROM
+#bit2 MOUSE_ENABLE_INIT_DELAY
+#bit3 MOUSE_ENABLE_WAKEUP_FROM_POWER
+#bit4 MOUSE_ENABLE_16M
+#bit5 MOUSE_ENABLE_USB
+#bit6 MOUSE_ENABLE_24G_SEARCH_DONGLE
+#bit7 MOUSE_ENABLE_LOAD_AND_STORE_DPI
+49
+
+#mouse flag byte3
+#bit0 MOUSE_ENABLE_SPI2
+#bit1 MOUSE_ENABLE_24G
+#bit2 MOUSE_ENABLE_FLASH
+#bit3 MOUSE_ENABLE_EEPROM
+#bit4 MOUSE_ENABLE_OTP
+#bit5 MOUSE_ENABLE_ADC
+#bit6 MOUSE_ENABLE_KEYBOARD
+#bit7 MOUSE_ENABLE_DOUBLE_DPI_KEY
+0a
+
+#mouse flag byte4
+#bit0 MOUSE_ENABLE_24G_250Hz
+#bit1 MOUSE_ENABLE_24G_500Hz
+#bit2 MOUSE_ENABLE_24G_1000
+#bit3 MOUSE_ENABLE_BT_125Hz
+#bit4 MOUSE_ENABLE_DPI_LEVEL_4
+#bit5 MOUSE_ENABLE_USB_250
+#bit6 MOUSE_ENABLE_USB_500
+#bit7 MOUSE_ENABLE_USB_1000
+00
+
+#mouse flag byte5
+#bit0 MOUSE_ENABLE_1IO2LED
+#bit1 MOUSE_ENABLE_BT_RECONN_LED_EFFECT
+#bit2 MOUSE_ENABLE_LOW_LED_BLINK_LIMIT
+#bit3 MOUSE_ENABLE_LOW_LED
+#bit4 MOUSE_ENABLE_LOW_FOR_LED
+#bit5 MOUSE_ENABLE_DPI_FOR_LED
+#bit6 MOUSE_ENABLE_DPI_LOW_FOR_LED
+00
+
+#mouse flag byte6 
+#bit0 MOUSE_ENABLE_SELECT_DEVICE_BY_DPI_BUTTON
+#bit1 MOUSE_ENABLE_SELECT_DEVICE_BY_PB_BUTTON
+#bit2 MOUSE_ENABLE_SELECT_DEVICE_BY_SWITCH_GPIO
+#bit3 MOUSE_ENABLE_DPI_KEY_CONNECT_GND
+#bit4 MOUSE_ENABLE_ANOTHER_DPI_KEY_CONNECT_GND
+#bit5 MOUSE_ENABLE_PB_BUTTON_CONNECT_GND
+#bit6 MOUSE_ENABLE_FIRE_KEY_CONNECT_GND
+#bit7 MOUSE_ENABLE_CUSTOMER_KEY_CONNECT_VIN_OR_MATRIX
+00
+
+#mouse flag byte7
+#bit0 MOUSE_ENABLE_AUTO_24G_PARING
+#bit1 MOUSE_ENABLE_24G_POWER_ON_PAIRING
+#bit2 MOUSE_ENABLE_COMMBINATION_KEY_BY_24G_PAIRING
+#bit3 MOUSE_ENABLE_BT_RECONNECT_TIMEOUT_ENTER_DISCOVERY
+#bit4 MOUSE_ENABLE_PB_BUTTON_SHORT_PRESS_ENTER_DISCOVERY
+#bit5 MOUSE_ENABLE_COMMBINATION_KEY_BY_BT_DISCOVERY
+#bit6 MOUSE_ENABLE_DPI_KEY_LONG_PRESS_DISCONVERY
+#bit7 MOUSE_ENABLE_PB_BUTTON_LONG_PRESS_DISCONVERY
+01
+
+#mouse flag byte8
+#bit0 MOUSE_ENABLE_SMOOTHER
+#bit1 MOUSE_ENABLE_XY_OFFSET
+#bit2 MOUSE_ENABLE_24G_AUTO_PAIR_NERVER_BEEN_PAIRED
+#bit3 MOUSE_ENABLE_LE_BATTERY_SERVICE_CANCEL
+#bit4 MOUSE_ENABLE_WHEEL_WAKE_UP_CANCEL
+#bit5 MOUSE_ENABLE_24G_2M_PHY
+#bit6 MOUSE_ENABLE_24G_FIRST_AUTO_PAIRING
+1b
+
+mem_mouse_param_config:
+08 #mem_lbutton_gpio
+09 #mem_mbutton_gpio
+0a #mem_rbutton_gpio
+0a #mem_bk_button_gpio
+08 #mem_fw_button_gpio
+09 #mem_dpi_button_gpio
+ff #mem_whee_a_data_gpio
+ff #mem_whee_b_data_gpio
+0b #mem_mouse_sensor_sclk_gpio
+0c #mem_mouse_sensor_sdio_gpio
+ff #mem_select_sensor_angle_gpio
+00 #mem_sensor_angle_default
+00 #mem_sensor_angle_switch
+00 #mem_config_sensor_dpi	#power on default dpi 00--1200  01--1600
+ff #mem_whee_ta_data_gpio
+ff #mem_whee_tb_data_gpio
+ff #mem_matrix_public_gpio
+ff #mem_config_select_device_button_gpio
+ff #mem_customer_key_gpio
+ff #mem_firebutton_gpio
+ff #mem_dpi_another_button_gpio
+ff #mem_sensor_motion_gpio
+ff #mem_device_switch_gpio
+05 #mem_mouse_reuse_2ice_gpio
+ff #mem_mouse_logo_led_gpio
+ff #mem_mouse_1io2led_multi_24gled
+ff #mem_mouse_1io2led_multi_bt1led
+ff #mem_mouse_1io2led_multi_bt2led
+ff #mem_mouse_low_voltage_alarm_gpio
+ff #mem_mouse_dpi_gpio
+
+#mouse sensor angle
+#0x00 MOUSE_6CLK_ANGLE
+#0X01 MOUSE_9CLK_ANGLE
+#0X02 MOUSE_12CLK_ANGLE
+#0X03 MOUSE_3CLK_ANGLE
+
+mem_mouse_customer_function:01  #01--win+d     02--ctrl+alt+a    03--ie home    04--play
+
+#1io2led multi start
+#time parm
+mem_mouse_le_reconn_blink_limit:00		#00:disable 	01:enable
+mem_mouse_multi_led_powon_timer_init:14	#2s
+mem_mouse_multi_24gled_blink_timer_init:05			#24gled blink time		500ms on,500ms off
+mem_mouse_multi_le_discovery_blink_timer_init:02		#le discovery blink time	500ms on,500ms off
+mem_mouse_multi_le_reconn_blink_timer_init:05			#le reconn blink time		500ms on,500ms off
+mem_mouse_low_led_blink_timer:14				#low blink time			1000ms on,1000ms off
+mem_mouse_dpi_led_blink_timer_init:02			#dpi blink time			200ms on,200ms off
+#blink count=count/2
+mem_mouse_multi_24gled_blink_count_init:02		#24g count
+mem_mouse_multi_le_reconn_blink_count_init:06	#le reconn count
+mem_mouse_multi_lowled_blink_count_init:0a		#low count=count
+mem_mouse_dpi_led_delay_count_init:0a		#1s
+#1io2led multi end
+
+#time parm
+mem_mouse_logo_led_on_time_init:58 02	#1min
+mem_mouse_24g_pair_timeout_init:2c 01  #30s	    24g reconn timer&pair timer
+mem_mouse_24g_reconn_timeout_init:64 #10s
+mem_mouse_24g_power_on_fast_conn_timer:05 00	#500ms
+mem_mouse_direct_timeout:32  #05s
+mem_mouse_discovery_timeout:b0 04	#2min
+mem_mouse_fast_direct_timeout:0a #1s
+mem_mouse_no_data_timeout:70 17   #10mins
+
+#device parm
+mem_device_option:08
+mem_device_number:01   #01--only 2.4g   02--2.4g+ble
+
+mem_lpm_mode:01
+mem_lpm_mult:20
+mem_lpm_mult_init:20
+
+mem_device_flag:
+00		#00--24g 01--bt
+34
+ff ff ff ff ff ff
+mem_device2_type:
+34
+ff ff ff ff ff ff
+mem_device3_type:
+33
+ff ff ff ff ff ff
+
+#adc
+mem_mouse_vdd_full_vol:dc 05		#1.5V
+84 03#mem_mouse_vdd_empty_vol  :0.9V
+e8 03#mem_mouse_vdd_low_vol   :1.0V
+#mem_mouse_vdd_full_vol:e4 0c		#3.3V
+#b8 0b#mem_mouse_vdd_empty_vol  :3.0V
+#80 0c#mem_mouse_vdd_low_vol   :3.2V
+
+mem_adc_channel_gpio:04
+#04
+#02
+#01
+#03
+#00
+#05
+#06
+#07
+
+#bit0:mouse_key_l    bit1:mouse_key_r  bit2:mouse_key_m
+mem_mouse_commbination_key_24g:03
+mem_mouse_commbination_key_bt:07
+
+mem_mouse_compare_addr:ff ff ff ff ff ff#00 00 00 00 00 00		#otp/flash=0	eeprom=ff
+
+#2.4g
+mem_24g_lap: 12 31 31 41 51 61
+mem_24g_data_type:01	#01--mouse  02--keyboard
+mem_24g_fast_conn_enable:01
+mem_24g_fast_conn_addr:0f 0f 0f 0f
+mem_24g_ch_map_update:00   #00--disable   01--enable
+mem_24g_long_sleep_set_level:02    #00--30ms   01--50ms  02--80ms  03--100ms
+mem_24g_disable_fec1:00	 	#00--default mode  01--new process
+mem_mouse_sleep_deal_type:00	#00:old version	01 new version	
+mem_24g_rx_window:c0 12     #400us  ## e0 2e#1ms #transmitter long range min:520us
+
+mem_mouse_24g_short_sleep_set_4ms:ee 4d 00	#1662us
+mem_mouse_24g_long_sleep_set_4ms:80 bb 00
+mem_mouse_24g_fast_hop_count_4ms:05
+mem_mouse_24g_tsniff_4ms:80 bb 00 00
+
+mem_mouse_24g_short_sleep_set_8ms:e8 fd 00#ac 07 01	#5625us	40 19 01:72000:6ms
+mem_mouse_24g_long_sleep_set_8ms:00 77 01
+mem_mouse_24g_fast_hop_count_8ms:0b
+mem_mouse_24g_tsniff_8ms:00 77 01 00
+
+mem_24g_enter_hibernate:00 48 60
+mem_24g_long_sleep_param_update_timer_init:2c 01	#30s
+mem_24g_transmit_by_interrupt_exit_count_init:50 00
+mem_mouse_24g_search_dongle_time_init:64 00	#10s
+mem_store_information_delay_timer_init:05
+
+
+#ble
+mem_le_lap:71 81 91 a1 b1 c1
+mem_le_adv_channel_map:07
+mem_local_rx_max_octets:fb 00 48 08 fb 00 48 08  # 1b
+mem_le_battery_level_updata_timer_init:96 00
+
+mem_le_keyboard_handle:15 00
+mem_le_notify_handle:19 00
+mem_le_multimedia_handle:1d 00
+mem_le_systemctrl_handle:21 00
+mem_le_pairing_handle:2d 00
+mem_le_battery_level_handle:30 00
+
+mem_le_adv_data_len:1f
+mem_le_adv_data:
+#flag
+02 01 05 
+#uuid
+03 03 12 18 
+#appearance
+03 19 c2 03
+
+mem_le_adv_swift_pair:
+#microsoft swift pair
+06 ff 06 00 03 00 80	
+#name
+'\09BT5.2 Mouse
+
+mem_le_scan_data_len:1f
+mem_le_scan_data:
+#name
+'\09BT5.2 Mouse
+
+
+mem_le_name_len:
+'BT5.2 Mouse
+
+mem_le_name_patch_len:	#max 18bytes
+'BT5.2 Mouse
+
+mem_le_interval_min:
+06 00 #min interval
+09 00 #max interval
+20 00 #latency
+2c 01 #timeout
+
+mem_le_adv_ind:03 12 18
+mem_le_adv_direct_ind:ff 00 00
+
+mem_flash_base:00 50 00
+mem_eeprom_base:80 1f
+mem_eeprom_block_size:80
+
+#otp write info offset
+mem_otp_offset_dpi:5d 1c										#7261 begin		60count----------info begin	
+mem_otp_offset_dpi_end:7a 1c								#7290 end
+
+mem_otp_offset_device_flag:7b 1c							#7291 begin		80count
+mem_otp_offset_device_flag_end:a2 1c						#7330 end
+
+mem_otp_offset_24g_addr:a3 1c								#7331 begin		25 count
+mem_otp_offset_24g_addr_end:06 1d						#7430 end
+
+mem_otp_offset_le_addr1:07 1d								#7431 begin		25 count
+mem_otp_offset_le_addr1_end:9c 1d						#7580 end
+
+mem_otp_offset_le_locall_addr1:9d 1d						#7581 begin		25 count
+mem_otp_offset_le_locall_addr1_end:32 1e				#7730 end
+
+mem_otp_offset_le_addr2:33 1e								#7731 begin		25 count
+mem_otp_offset_le_addr2_end:c8 1e						#7880 end
+
+mem_otp_offset_le_locall_addr2:c9 1e						#7881 begin		25 count
+mem_otp_offset_le_locall_addr2_end:5e 1f				#8030  end
+
+mem_otp_offset_le_addr_increase_count:5f 1f			#8031 begin		100 count
+mem_otp_offset_le_addr_increase_count_end:c2 1f		#8130 end				----------info over	
+
+mem_otp_offset_app_initflag:c4 1f		#8132 end
+
+#ui
+mem_ui_button_gpio:ff
+mem_ui_button_timeout:1e
+mem_ui_led_struct_num:00
+
+#rf
+mem_tx_power:00	#00--0db 01--3db  02--5db  03--f3db  04--f5db
+mem_mouse_24g_pair_tx_power:94 #94: -20dBm
+mem_rssi_buff_index:07
+mem_rssi_signal_buf_ptr:mem_mouse_rssi_signal_buf
+mem_rssi_dis_min_24g_init:85
+mem_rssi_dis_max_24g_init:90
+mem_rssi_dis_min_ble_init:75
+mem_rssi_dis_max_ble_init:80
+mem_rssi_hex_received_max_value_init:63
+mem_power_ctrl_pac_succ_cnt_init:7d
+mem_power_ctrl_disable:00	#01,disable   00,enable
+mem_tx_power_factory_param:5b 01		#f17dbm
+
+#usb
+mem_usb_offline_check_gpio:ff
+
+#sensor
+mem_mouse_dpi_seting:
+03	#mem_320x_dpi_0
+04	#mem_320x_dpi_1
+01	#mem_320x_dpi_2
+02	#mem_320x_dpi_3
+
+20	#mem_3212_dpi_0
+2a	#mem_3212_dpi_1
+3f	#mem_3212_dpi_2
+15	#mem_3212_dpi_3
+
+14	#mem_ka8g2_dpi_0
+1b	#mem_ka8g2_dpi_1
+11	#mem_ka8g2_dpi_2
+0e	#mem_ka8g2_dpi_3
+
+mem_sensor_s201_dpi:
+8a  #mem_sensor_s201_dpi_0	1200
+8b  #mem_sensor_s201_dpi_1	1600
+83  #mem_sensor_s201_dpi_2	2400
+84  #mem_sensor_s201_dpi_3	3200
+88  #mem_sensor_s201_dpi_4	800
+
+mem_sensor_ka8g2_poweron_init:
+09 a5
+0b f3
+09 00
+ff ff
+
+mem_sensor_poweron_init:
+09 5a
+0b f3
+09 00
+ff ff
+
+mem_sensor_3212_init:
+09 5a
+26 34
+19 04
+09 00
+ff ff
+
+mem_sensor_3205_init:
+09 5a
+0d 10
+1d ed
+7d 80
+ff ff
+
+mem_sensor_ka8g2_init:
+09 a5
+46 34
+60 07
+69 04
+7d 20
+7e 00
+09 00
+ff ff
+
+mem_sensor_8650_init:
+09 5a
+ff 27
+ab 40
+b3 56
+9b e6
+a8 12
+a9 c0
+be e6
+a5 af
+a0 21
+a1 02
+b8 10
+b9 0b
+a7 ff
+b5 d0
+b6 00
+ff 00
+09 00
+ff ff
+
+mem_sensor_ka8ul_init:
+09 5a
+0d 10
+0e c5
+5b 9a
+10 38
+11 42
+28 28
+41 23
+49 39
+4a b0
+4b a0
+4c 90
+4d 70
+09 00
+ff ff
+
+mem_sensor_8009_init:
+09 5a
+06 02
+09 69
+0d 48
+0e 9f
+0f ba
+09 00
+ff ff
+
+# rf debug
+#bit7:0 means disable rf debug function
+#mem_rf_debug_rx_gpio:86
+#mem_rf_debug_tx_gpio:86
+
Index: sched/mouse_ble_att_list.dat
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/mouse_ble_att_list.dat	(nonexistent)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/mouse_ble_att_list.dat	(working copy)
@@ -0,0 +1,626 @@
+01
+00
+02
+00
+28
+02
+00
+18
+02
+00
+02
+03
+28
+01
+0a
+03
+00
+02
+00
+2a
+14
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+04
+00
+02
+03
+28
+01
+02
+05
+00
+02
+01
+2a
+02
+c2
+03
+06
+00
+02
+03
+28
+01
+02
+07
+00
+02
+04
+2a
+08
+06
+00
+06
+00
+64
+00
+2c
+01
+08
+00
+02
+00
+28
+02
+01
+18
+09
+00
+02
+03
+28
+01
+20
+0a
+00
+02
+05
+2a
+00
+0b
+00
+02
+02
+29
+02
+00
+00
+0c
+00
+02
+00
+28
+02
+0a
+18
+0d
+00
+02
+03
+28
+01
+02
+0e
+00
+02
+29
+2a
+06
+59
+69
+43
+68
+69
+70
+0f
+00
+02
+03
+28
+01
+02
+10
+00
+02
+50
+2a
+07
+02
+35
+12
+22
+aa
+01
+00
+11
+00
+02
+00
+28
+02
+12
+18
+12
+00
+02
+03
+28
+01
+06
+13
+00
+02
+4e
+2a
+01
+01
+14
+00
+02
+03
+28
+01
+12
+15
+00
+02
+4d
+2a
+08
+00
+00
+00
+00
+00
+00
+00
+00
+16
+00
+02
+02
+29
+02
+00
+00
+17
+00
+02
+08
+29
+02
+02
+01
+18
+00
+02
+03
+28
+01
+1a
+19
+00
+02
+4d
+2a
+07
+00
+00
+00
+00
+00
+00
+00
+1a
+00
+02
+02
+29
+02
+00
+00
+1b
+00
+02
+08
+29
+02
+01
+01
+1c
+00
+02
+03
+28
+01
+12
+1d
+00
+02
+4d
+2a
+02
+00
+00
+1e
+00
+02
+02
+29
+02
+00
+00
+1f
+00
+02
+08
+29
+02
+03
+01
+20
+00
+02
+03
+28
+01
+12
+21
+00
+02
+4d
+2a
+02
+00
+00
+22
+00
+02
+02
+29
+02
+00
+00
+23
+00
+02
+08
+29
+02
+04
+01
+24
+00
+02
+03
+28
+01
+0e
+25
+00
+02
+4d
+2a
+02
+00
+00
+26
+00
+02
+08
+29
+02
+02
+02
+27
+00
+02
+03
+28
+01
+02
+28
+00
+02
+4b
+2a
+bd
+05
+01
+09
+02
+a1
+01
+85
+01
+09
+01
+a1
+00
+05
+09
+19
+01
+29
+08
+15
+00
+25
+01
+75
+01
+95
+08
+81
+02
+05
+01
+09
+30
+09
+31
+16
+01
+f8
+26
+ff
+07
+75
+10
+95
+02
+81
+06
+09
+38
+15
+81
+25
+7f
+75
+08
+95
+01
+81
+06
+05
+0c
+0a
+38
+02
+95
+01
+81
+06
+c0
+c0
+05
+01
+09
+06
+a1
+01
+85
+02
+75
+01
+95
+08
+05
+07
+19
+e0
+29
+e7
+15
+00
+25
+01
+81
+02
+95
+01
+75
+08
+81
+03
+95
+05
+75
+01
+05
+08
+19
+01
+29
+05
+91
+02
+95
+01
+75
+03
+91
+03
+95
+06
+75
+08
+15
+00
+26
+ff
+00
+05
+07
+19
+00
+29
+ff
+81
+00
+c0
+05
+0c
+09
+01
+a1
+01
+85
+03
+19
+00
+2a
+ff
+03
+15
+00
+26
+ff
+03
+95
+01
+75
+10
+81
+00
+c0
+05
+01
+09
+80
+A1
+01
+85
+04
+15
+00
+25
+01
+75
+01
+95
+03
+19
+81
+29
+83
+81
+02
+95
+01
+75
+05
+81
+03
+C0
+29
+00
+02
+03
+28
+01
+1a
+2a
+00
+02
+33
+2a
+08
+00
+00
+00
+00
+00
+00
+00
+00
+2b
+00
+02
+02
+29
+02
+01
+00
+2c
+00
+02
+03
+28
+01
+02
+2d
+00
+02
+4a
+2a
+04
+01
+01
+00
+03
+2e
+00
+02
+00
+28
+02
+0f
+18
+2f
+00
+02
+03
+28
+01
+12
+30
+00
+02
+19
+2a
+01
+64
+31
+00
+02
+02
+29
+02
+00
+00
+32
+00
+02
+03
+28
+01
+04
+33
+00
+02
+4c
+2a
+00
+00
+00
Index: sched/otp_set.dat
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/otp_set.dat	(nonexistent)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/otp_set.dat	(working copy)
@@ -0,0 +1,11 @@
+0b
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
Index: sched/remote_car.dat
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/remote_car.dat	(nonexistent)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/remote_car.dat	(working copy)
@@ -0,0 +1,46 @@
+
+mem_device_option:0d
+mem_ui_button_gpio:ff
+
+mem_remote_style_struct_led_gpio:06
+mem_remote_car_led_num:01
+mem_remote_car_led_map:
+06
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+
+
+mem_remote_car_key_num:04
+mem_remote_car_key_conf0:
+#0
+03
+#1
+04
+#2
+05
+#3
+07
+#4
+02
+#5
+0a
+#6
+17
+
+mem_24g_tx_phy:84#0x01:1M/0x02:2M/0x04:S2/0x84:S8
+mem_24g_rx_phy:84#0x01:1M/0x02:2M/0x04:S2/0x84:S8
+mem_24g_pair_tx_power:85 #-5dBm
+
+
+mem_24g_lap:01 02 03 04 05 06
+mem_24g_pair_addr:56 34 02 01
+mem_eeprom_base:80 1f		//2keeprom:f0 00
+mem_24g_pair_ch:4e
+
+mem_remote_save_addr_flag: 01
+
Index: sched/rtrivr_uuid.dat
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/rtrivr_uuid.dat	(nonexistent)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/rtrivr_uuid.dat	(working copy)
@@ -0,0 +1,75 @@
+#attribute list: handle 2bytes, uuid 2bytes, length 1bytes, attribute Nbytes
+mem_le_att_list:
+
+#Primary service GAP ------
+01 00 00 28 02 00 18
+
+#Device name
+02 00 03 28 01 0a
+03 00 00 2a 0c 41 73 74 20 4c 45 20 4d 6f 75 73 65
+
+#Appearance
+04 00 03 28 01 02
+05 00 01 2a 02 c2 03 #3c2=hid mouse
+
+#Peripheral Preferred Connection Parameters
+06 00 03 28 01 02
+07 00 04 2a 08 06 00 06 00 64 00 2c 01 # interval 6ms, latency 100, timeout 300
+
+#Primary service GATT ------
+08 00 00 28 02 01 18
+
+#Service changed
+09 00 03 28 01 20
+0a 00 05 2a 00
+
+#Client Characteristic Configuration
+0b 00 02 29 02 00 00
+
+#Primary service TX power ------
+0c 00 00 28 02 04 18
+#Characteristic Tx power level
+0d 00 03 28 01 06
+0e 00 07 2a 01 00
+
+#Primary service Immediate alert ------
+0f 00 00 28 02 02 18
+#Characteristic Alert level
+10 00 03 28 01 04
+11 00 06 2a 01 00
+
+#Primary service UUID:f003 ------
+12 00 00 28 02 03 f0
+#Characteristic UUID:f803
+13 00 03 28 01 04
+14 00 03 f8 01 00
+
+
+#Primary service Link loss alert ------
+15 00 00 28 02 03 f0
+#Characteristic Alert level
+16 00 03 28 01 0a
+17 00 06 2a 01 00
+
+#Primary service UUID:f002 ------
+18 00 00 28 02 02 f0
+#Characteristic UUID:f802
+19 00 03 28 01 12
+1a 00 02 f8 01 28
+1b 00 02 29 02 00 00
+
+#Primary service Battery ------
+1c 00 00 28 02 0f 18
+#Characteristic Battery level
+1d 00 03 28 01 12
+1e 00 19 2a 01 38
+
+
+#End of Attribute list
+00 00
+
+mem_le_adv_data_len:1b
+mem_le_adv_data:0c 09 52 74 72 69 76 72 5f 52 36 32 31 03 19 40 02 02 01 05 02 0a 00 03 03 00 f0
+mem_le_scan_data_len:00
+mem_le_adv_param:00 08 00 08 00 01 00 00 00 00 00 00 00 07 00
+mem_le_adv_enable:01
Index: sched/sha256.dat
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/sha256.dat	(nonexistent)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/sha256.dat	(working copy)
@@ -0,0 +1,256 @@
+98
+2f
+8a
+42
+91
+44
+37
+71
+cf
+fb
+c0
+b5
+a5
+db
+b5
+e9
+5b
+c2
+56
+39
+f1
+11
+f1
+59
+a4
+82
+3f
+92
+d5
+5e
+1c
+ab
+98
+aa
+07
+d8
+01
+5b
+83
+12
+be
+85
+31
+24
+c3
+7d
+0c
+55
+74
+5d
+be
+72
+fe
+b1
+de
+80
+a7
+06
+dc
+9b
+74
+f1
+9b
+c1
+c1
+69
+9b
+e4
+86
+47
+be
+ef
+c6
+9d
+c1
+0f
+cc
+a1
+0c
+24
+6f
+2c
+e9
+2d
+aa
+84
+74
+4a
+dc
+a9
+b0
+5c
+da
+88
+f9
+76
+52
+51
+3e
+98
+6d
+c6
+31
+a8
+c8
+27
+03
+b0
+c7
+7f
+59
+bf
+f3
+0b
+e0
+c6
+47
+91
+a7
+d5
+51
+63
+ca
+06
+67
+29
+29
+14
+85
+0a
+b7
+27
+38
+21
+1b
+2e
+fc
+6d
+2c
+4d
+13
+0d
+38
+53
+54
+73
+0a
+65
+bb
+0a
+6a
+76
+2e
+c9
+c2
+81
+85
+2c
+72
+92
+a1
+e8
+bf
+a2
+4b
+66
+1a
+a8
+70
+8b
+4b
+c2
+a3
+51
+6c
+c7
+19
+e8
+92
+d1
+24
+06
+99
+d6
+85
+35
+0e
+f4
+70
+a0
+6a
+10
+16
+c1
+a4
+19
+08
+6c
+37
+1e
+4c
+77
+48
+27
+b5
+bc
+b0
+34
+b3
+0c
+1c
+39
+4a
+aa
+d8
+4e
+4f
+ca
+9c
+5b
+f3
+6f
+2e
+68
+ee
+82
+8f
+74
+6f
+63
+a5
+78
+14
+78
+c8
+84
+08
+02
+c7
+8c
+fa
+ff
+be
+90
+eb
+6c
+50
+a4
+f7
+a3
+f9
+be
+f2
+78
+71
+c6
\ No newline at end of file
Index: sched/shutter.dat
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/shutter.dat	(nonexistent)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/shutter.dat	(working copy)
@@ -0,0 +1,26 @@
+mem_device_option:09
+mem_ui_button_gpio:ff
+
+mem_le_lap:20 31 27 98 07 2a
+mem_le_name_len:
+'AB Shutter3
+
+mem_shutter_key_conf0_temp:17 0c 95 00 ff
+
+mem_shutter_soft_switch_first_power_on:00
+
+mem_tx_power:06
+
+mem_shutter_dy_conf:00
+mem_shutter_discovery_time_conf:
+b8 0b #discovery_timeout
+70 17 #connect_timeout
+70 17 #sleep_timeout
+70 17 #sleep_timer
+
+mem_shutter_reconn_or_discovery_blink_time_conf:
+96 00 #mem_ble_shutter_reconn_blink_on_time
+96 00 #mem_ble_shutter_reconn_blink_off_time
+20 03 #mem_ble_shutter_discovery_blink_on_time
+20 03 #mem_ble_shutter_discovery_blink_off_time
+
Index: sched/shutter_dy.dat
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/shutter_dy.dat	(nonexistent)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/shutter_dy.dat	(working copy)
@@ -0,0 +1,543 @@
+#device option
+mem_device_option:06
+#power on config
+mem_ui_button_gpio:ff
+
+mem_le_lap:61 21 20 98 07 2a
+mem_le_name_len:
+'BLE-M3
+
+mem_tx_power:06
+
+//save otp addr
+mem_shutter_efuse_start_offset: b0 1f
+mem_shutter_efuse_end_offset: 70 19
+
+mem_shutter_le_pairing_handle:2b 00
+
+#榛樿鐩告満鍦
+#mem_initial_move_conf:aa 00 78 00 69 00 38 00
+#宸︿笅瑙
+#mem_initial_move_conf:0a 00 1e 00 07 00 06 00
+#瀹夊崜涓棿锛孖OS宸︿笅瑙
+mem_initial_move_conf:aa 00 78 00 07 00 06 00
+
+mem_shutter_dy_conf:01
+#soft switch first power on
+mem_shutter_soft_switch_first_power_on:00
+
+#led config
+mem_shutter_led_on_light_dark_led_conf:
+00		#type:stop blink
+00		#blink count:no blink
+88		#led gpio number:GPIO01
+46 00	#led blink light time
+96 00	#led blink dark time
+mem_shutter_led_off_light_dark_led_conf:
+01		#type:start blink
+03		#blink count:no blink
+88		#led gpio number:GPIO01
+46 00	#led blink light time
+96 00	#led blink dark time
+
+
+mem_shutter_reconn_blink_on_time_conf:
+20 01
+20 03
+mem_shutter_discovery_blink_on_time_conf:
+20 01
+20 03
+
+#hard_soft_switch config
+mem_shutter_hard_soft_switch_case_temp:00
+mem_shutter_soft_switch_button_gpio_temp:ff
+
+#100ms timer 
+mem_shutter_ble_discovery_time_conf:
+b8 0b #discovery_timeout
+70 17 #connect_timeout
+b8 0b #sleep_timeout
+b8 0b #sleep_timer
+
+
+#key config
+mem_shutter_key_num_conf:06
+mem_shutter_dy_key_conf:
+#test 6key
+0a   #right
+ff   #like
+07   #down
+ff   #photo
+05   #up
+09   #left
+ff   #move
+
+
+mem_combine_key0:
+#6key
+28 00 #left 2
+09 00 #right 2
+18 00 #up 2
+0c 00 #down 2
+
+#6key -key mirror
+#09 00 #left 2
+#28 00 #right 2
+#0c 00 #up 2
+#18 00 #down 2
+
+#7key
+#60 00 #left 2
+#41 00 #right 2
+#50 00 #up 2
+#44 00 #down 2
+#00 00
+
+#7key -key mirror
+#41 00 #left 2
+#60 00 #right 2
+#44 00 #up 2
+#50 00 #down 2
+#00 00
+
+
+mem_combine_key_release_value:
+#6key
+08 00
+#7key
+#40 00
+
+mem_shutter_iphone_move_mid:
+15 15 1a 16 12 12 00
+mem_shutter_iphone_up_mid:
+15 15 1a 37 12 12 00
+mem_shutter_iphone_like_mid:
+15 15 1a 38 12 12 
+mem_shutter_android_move_mid:
+13 36 12 12 00
+
+mem_key0_press_i:  #right
+00
+mem_key0_release_new_i:
+0e 11 11 12 2c 2e 2f 30 32 33 0f 0f 00
+
+mem_key0_long_press_i:
+3c 3a 00
+mem_key1_press_i:#like
+0e 2a 12 2b 00
+mem_key1_release_new_i:
+12 12 00
+
+mem_shutter_link_data_i:
+0e 12 12 0e 12 12 00
+
+mem_key2_press_i:#down
+00
+mem_key2_release_new_i:
+0e 14 14 12 22 23 24 25 26 29 17 17 00
+
+#toggle between vol-inc and vol-dec
+mem_key3_press_i:#photo
+00
+#05
+mem_key3_release_new_i:#volume increment
+#7key
+#07 09 00
+#6key
+0e 07 2a 09 2b 12 00
+mem_key3_release_new_i_t:#volume decrement
+#7key
+#08 09 00
+#6key
+0e 08 2a 09 2b 12 00
+
+mem_key4_press_i:#up
+00
+mem_key4_release_new_i:
+0e 17 17 12 29 26 25 24 23 22 34 14 14 00
+
+mem_key5_press_i:#left
+00
+mem_key5_release_new_i:
+0e 0f 0f 12 32 31 2f 2e 2c 35 11 11 00
+mem_key5_long_press_i: #lock
+39 3a 00
+
+mem_key6_release_new_i:#move
+0e 2a 12 2b 12 00
+mem_key6_release_new:#move
+0e 12 12 12 12 00
+
+mem_dy_key0_press:  #right
+00
+mem_key0_release_new:
+10 0b 0e 1d 1d 1d 12 15 19 00
+mem_key0_long_press: 
+3b 3a 00
+mem_dy_key1_press:#like
+0e 12 12 00
+mem_key1_release_new:
+12 12 00
+
+mem_shutter_link_data:
+0e 12 12 0e 12 12 12 00
+mem_dy_key2_press: #down
+00
+mem_key2_release_new:
+13 18 0e 1e 0c 0c 0c 12 15 19 00
+mem_key2_long_press:#volume decrement
+08 09 00
+mem_key2_long_release:
+00
+#toggle between vol-inc and vol-dec
+mem_dy_key3_press:#photo
+00
+mem_key3_release_new:#volume increment
+#7key
+#07 09 00
+#6key
+#0e 07 09 12 00
+0e 12 00
+mem_key3_release_new_t:#volume decrement
+#7key
+#08 09 00
+#6key
+#0e 08 09 12 00
+0e 12 00
+
+
+mem_dy_key4_press:#up
+00
+mem_key4_release_new:
+15 19 0e 1f 0d 0d 0d 12 15 19 00
+mem_key4_long_press:#volume increment
+07 09 00
+mem_key4_long_release:
+00
+
+
+mem_dy_key5_press:#left
+00
+mem_key5_release_new:
+15 0a 0e 1c 1c 1c 12 12 15 19 00
+mem_key5_long_press: #lock
+39 3a 00
+mem_combine_key0_press:
+01
+mem_combine_key1_press:
+02
+mem_combine_key2_press:
+03 
+mem_combine_key3_press:
+04
+mem_combine_key_release:
+00
+
+mem_move_mode_set:00 #00 combine key, 01 single key when another key has already triggered
+mem_move_mode_key_index:03 #move key index,SHUTTER_MOVE_KEY_NUM,SHUTTER_PHOTO_KEY_NUM
+mem_move_mode_trigger_enable:00
+
+mem_shutter_long_key_released_flag:01
+
+################ble kb val list#######################
+mem_shutter_mousekey_value_list:
+03 1f 00 ec 0f 00 00 00 00 00#1
+03 1f 00 14 00 00 00 00 00 00#2
+03 1f 00 00 c0 fe 00 00 00 00#3
+03 1f 00 00 40 01 00 00 00 00#4
+03 1f 00 00 00 00 00 00 00 00#5
+03 1f 00 00 00 00 00 00 00 00#6
+02 1b 00 e9 00 00 00 00 00 00#7 volume increment
+02 1b 00 ea 00 00 00 00 00 00#8 volume decrement
+02 1b 00 00 00 00 00 00 00 00#9 release
+03 1f 00 28 80 11 00 00 00 00#a
+03 1f 00 ae 8f 11 00 00 00 00#b
+03 1f 00 00 e0 fc 00 00 00 00#c
+03 1f 00 00 00 05 00 00 00 00#d
+03 17 00 01 00 00 00 00 00 00#e
+03 1f 00 27 00 00 00 00 00 00#f
+03 1f 00 ff 17 80 00 00 00 00#10
+03 1f 00 d8 0f 00 00 00 00 00#11
+03 17 00 00 00 00 00 00 00 00#12
+03 1f 00 01 f8 7f 00 00 00 00#13
+03 1f 00 00 40 fc 00 00 00 00#14
+03 1f 00 01 18 80 00 00 00 00#15 
+03 1f 00 3c 40 0b 00 00 00 00#16
+03 1f 00 00 c0 03 00 00 00 00#17
+03 1f 00 3c 40 ec 00 00 00 00#18
+03 1f 00 3c 80 0c 00 00 00 00#19
+03 1f 00 00 10 80 00 00 00 00#1a
+03 1f 00 3c 80 07 00 00 00 00#1b
+03 1f 00 96 00 00 00 00 00 00#1c
+03 1f 00 6a 0f 00 00 00 00 00#1d
+03 1f 00 02 d0 ff 00 00 00 00#1e
+03 1f 00 02 30 00 00 00 00 00#1f
+03 1f 00 64 00 00 00 00 00 00#20
+03 1f 00 00 b0 f9 00 00 00 00#21
+
+07 13 00 07 06 70 07 ac 0d 01#22
+07 13 00 07 06 70 07 80 0c 01#23
+07 13 00 07 06 70 07 54 0b 01#24
+07 13 00 07 06 70 07 28 0a 01#25
+07 13 00 07 06 70 07 fc 08 01#26
+07 13 00 07 06 70 07 d0 07 01#27
+07 13 00 07 06 70 07 a4 06 01#28
+07 13 00 00 06 70 07 78 05 00#29
+07 13 00 07 07 70 07 70 07 01#2a
+07 13 00 00 07 70 07 70 07 00#2b
+07 13 00 07 05 10 0c 70 04 01#2c
+07 13 00 07 05 48 0b 70 04 01#2d
+07 13 00 07 05 F0 0A 70 04 01#2e
+07 13 00 07 05 C4 09 70 04 01#2f 
+07 13 00 07 05 6C 07 70 04 01#30
+07 13 00 07 05 40 04 70 04 01#31
+07 13 00 07 05 E8 02 70 04 01#32
+07 13 00 00 05 00 02 70 04 00#33
+07 13 00 00 06 70 07 ac 0e 00#34
+07 13 00 00 05 10 0d 70 04 00#35
+
+#03 17 00 00 fa 00 00 00 00 00 #36
+#03 17 00 00 28 00 00 00 00 00 #37
+#03 17 00 00 d2 00 00 00 00 00 #38
+#03 17 00 00 32 00 00 00 00 00 #39
+#03 17 00 00 00 fa 00 00 00 00 #3a
+#03 17 00 00 00 05 00 00 00 00 #3b
+#03 17 00 00 00 f0 00 00 00 00 #3c
+#03 17 00 00 00 0f 00 00 00 00 #3d
+
+03 1f 00 a0 30 e8 00 00 00 00#36
+03 1f 00 3c 40 07 00 00 00 00#37
+03 1f 00 41 40 0b 00 00 00 00#38
+
+02 1b 00 30 00 00 00 00 00 00#39
+02 1b 00 00 00 00 00 00 00 00#3a
+02 1b 00 23 02 00 00 00 00 00#3b
+02 1b 00 40 00 00 00 00 00 00#3c
+
+mem_shutter_move_data:
+00 00 00  #defualt 
+
+#mem_le_dy_adv_data:
+#02 01 05
+#03 02 12 18
+#03 19 c1 03
+#mem_le_dy_scan_data:
+#0d 09 56 30 2d 53 68 75 74 74 65 72
+
+mem_ble_shutter_dy_interval_min_new:
+18 00
+1c 00
+10 00
+2c 01
+
+#attribute list: handle 2bytes, uuid 2bytes, length 1bytes, attribute Nbytes
+mem_shutter_le_uuid_sup:
+#Primary service GATT ------
+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 00 00 
+
+#Primary service GAP ------
+05 00 02 00 28 02 00 18
+
+#Device name
+06 00 02 03 28 01 02 
+07 00 02 00 2a 13 43 68 69 70 73 65 61 2d 42 4c 45 20 20 20 20 20 20 20 20
+
+#Appearance
+08 00 02 03 28 01 02 
+09 00 02 01 2a 02 c1 03 
+
+#Peripheral Preferred Connection Parameters
+0a 00 02 03 28 01 02 
+0b 00 02 04 2a 08 06 00 06 00 64 00 2c 01 # interval 6ms, latency 100, timeout 300
+
+#Primary service device information ------
+0c 00 02 00 28 02 0a 18 
+#PNP id
+0d 00 02 03 28 01 02 
+0e 00 02 50 2a 07 01 05 0e 00 0a 02 40
+
+#Primary service hid ------
+0f 00 02 00 28 02 12 18 
+
+#Protocol mode
+10 00 02 03 28 01 06 
+11 00 02 4e 2a 01 01 
+
+
+#Hid report
+12 00 02 03 28 01 10
+13 00 02 4d 2a 07 00 00 00 00 00 00 00
+#Client Characteristic
+14 00 02 02 29 02 00 00
+#Report reference
+15 00 02 08 29 02 01 01 # report id=1, type=1 input
+
+#Hid report id 4
+16 00 02 03 28 01 10 
+17 00 02 4d 2a 03 00 00 00
+#Client Characteristic
+18 00 02 02 29 02 00 00 
+#Report reference
+19 00 02 08 29 02 04 01 # report id=4, type=1 input
+
+#Hid report id 3
+1a 00 02 03 28 01 10
+1b 00 02 4d 2a 02 00 00 
+#Client Characteristic
+1c 00 02 02 29 02 00 00 
+#Report reference
+1d 00 02 08 29 02 03 01 # report id=3, type=1 input
+
+#Hid report id 5
+1e 00 02 03 28 01 10
+1f 00 02 4d 2a 03 00 00 00
+#Client Characteristic
+20 00 02 02 29 02 00 00 
+#Report reference
+21 00 02 08 29 02 05 01 # report id=5, type=1 input
+
+#Hid report id 2
+22 00 02 03 28 01 12
+23 00 02 4d 2a 02 00 00 
+#00 00 00 00 00
+#Client Characteristic
+24 00 02 02 29 02 00 00
+#Report reference
+25 00 02 08 29 02 02 01 # report id=2, type=1 input
+
+#Hid report id 6
+26 00 02 03 28 01 12
+27 00 02 4d 2a 08 00 00 00 00 00 00 00 00
+#Client Characteristic
+28 00 02 02 29 02 00 00 
+#Report reference
+29 00 02 08 29 02 06 01 # report id=6, type=1 input
+#Report map
+2a 00 02 03 28 01 02 
+2b 00 02 4b 2a 01 00
+
+#Hid information
+2c 00 02 03 28 01 02
+2d 00 02 4a 2a 04 11 01 00 01 
+
+#Hid control point
+2e 00 02 03 28 01 04 
+2f 00 02 4c 2a 01 00 
+30 00 02 00 28 02 0f 18
+
+00 00
+
+mem_shutter_le_map_len_android:6d 00 #6d 00
+mem_shutter_le_map_len_ios:c4 00
+mem_shutter_le_hid_map:
+05 0c  # Usage Page(Consumer)
+09 01  # Usage(Consumer Control)
+a1 01  # Collection(Application)
+85 03  # Report ID(3)
+75 10  # Report Size(16)
+95 01  # Report Count(1)
+15 01  # Logical Minimum(1)
+26 ff 03 # Logical Maxmum(1023)
+19 01    # Usage Minimum(1)
+2a ff 03 # Usage Maximum(1023)
+81 60    #Input (Data, Array, Absolute, No Preferred, Null state)
+c0
+
+05 01 #Usage Page (Generic Desktop Controls)
+09 02 # Usage(Mouse)
+a1 01 # Collection(Application)
+85 04 # Report ID(4)
+09 01 # Usage(Pointer)
+a1 00 # Collection(Physical)
+95 05 # Report Count(5)
+75 01 # Report Size(1)
+05 09 # Usage Page(Buttons)
+19 01 # Usage Minimum(1)
+29 05 # Usage Maximum(5)
+15 00 # Logical Minimum(0)
+25 01 # Logical Maximum(1)
+81 02 #Input (Data, Variable, Absolute)
+95 01 # Report Count(1)
+75 03 # Report Size(3)
+81 01 #Input (Constant, Array, Absolute)
+75 08 # Report Size(8)
+95 01 # Report Count(1)
+05 01  #Usage Page (Generic Desktop Controls)
+09 38 #Usage (Wheel)
+15 81 # Logical Minimum(129)
+25 7f  # Logical Maximum(127)
+81 06 #Input (Data, Variable, Relative)
+05 0c #Usage page (Consumer)
+0a 38 02 	#Usage (AC Pan)
+95 01 # Report Count(1)
+81 06 #INPUT (Data, Variable, Relative)
+c0 
+
+85 05 # Report ID(5)
+09 01 # Usage(Consumer Control)
+a1 00 # Collection(Physical)
+75 0c # Report Size(12)
+95 02 # Report Count(2)
+05 01 #Usage Page (Generic Desktop Controls)
+09 30 #Usage (x)
+09 31 #Usage (y)
+16 01 f8  # Logical Minimum(63489)
+26 ff 07 # Logical Maximum(2047)
+81 06 #Input (Data, Variable, Relative)
+c0 c0
+
+
+05 0D  # Usage Page(Digitizer)
+09 02  # Usage(Pen)
+A1 01 # Collection(Application)
+85 01 # Report ID(1)
+09 22 #Usage (Finger)
+A1 02 #Collection (Logical (interrelated data))
+09 42 #Usage (Tip Switch)
+15 00 # Logical Minimum(0)
+25 01 # Logical Maximum(1)
+75 01 # Report Size(1)
+95 01 # Report Count(1)
+81 02 #Input (Data, Variable, Absolute)
+09 32 #Usage (In Range)
+81 02 #Input (Data, Variable, Absolute)
+95 06 # Report Count(6)
+81 03 #Input (Constant, Variable, Absolute)
+75 08 # Report Size(8)
+09 51 #Usage (Contact identifier)
+95 01 # Report Count(1)
+81 02 #Input (Data, Variable, Absolute)
+05 01 #Usage Page (Generic Desktop Controls)
+26 FF 0F # Logical Maximum(4095)
+75 10 # Report Size(16)
+55 0E #Unit Exponent (14)
+65 33 #Unit(51)
+09 30 #Usage (x)
+35 00 #Physical Minimum (0)
+46 B5 04 #Physical Maximum (1205)
+81 02 #Input (Data, Variable, Absolute)
+46 8A 03 #Physical Maximum (906)
+09 31 #Usage (y)
+81 02 #Input (Data, Variable, Absolute)
+C0 
+
+05 0D # Usage Page(Digitizer)
+09 54 # Usage(84)
+95 01 # Report Count(1)
+75 08 # Report Size(8)
+81 02 #Input (Data, Variable, Absolute)
+85 08 # Report ID(8)
+09 55 # Usage (Contact count mamimum)
+25 05 # Logical Maximum(5)
+B1 02 #Input (Data, Variable, Absolute)
+C0 
+
+##############BLE ATT LIST END####################
+mem_dy_le_search_service_uuid:
+D0 00 2D 12 1E 4B 0F A4 99 4E CE B5 31 F4 05 79
+
Index: sched/sim.dat
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/sim.dat	(nonexistent)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/sim.dat	(working copy)
@@ -0,0 +1,54 @@
+
+mem_lpm_xtalcnt:10 20 64
+mem_lpm_isogate:8f 2f 3b
+mem_lpm_hibernate_switch:20
+mem_lpm_ldo_sel:19
+mem_fcomp_div:24
+
+mem_xtal_freq:18	#24MHz
+mem_set_cdb_on:00
+mem_syn_cal_ctrl:00
+
+mem_le_lap:11 22 33
+mem_le_adv_data_len:1b
+mem_le_adv_data:0c 09
+'Yichip Temp
+ 03 19 40 02 02 01 05 02 0a 00 03 03 f1 18
+mem_le_ch_mapped:24
+mem_le_adv_interval:20 00
+mem_le_scan_window:20 00
+mem_le_scan_type:01
+mem_le_adv_own_addr_type:01
+
+
+mem_patch00:01
+
+
+4580:ff
+mem_rf_init_ptr:80 45		
+
+
+
+
+
+
+#ecb enc data
+4f00:
+0a94 0bb5 416e f045 f1c3 9458 c653 ea5a 
+
+
+#cbc xor data
+4e00:
+5a5a 5a5a 5a5a 5a5a 6363 6363 6363 6363
+
+#cbc enc data1
+4e20:
+7033 eafa b089 698f 43cb 1050 1e73 1109 
+
+#cbc enc data2
+4e30:
+3cfd e1a1 eb69 42b0 2593 3009 5238 53f9 
+
+
+
+
Index: sched/spp.dat
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/spp.dat	(nonexistent)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/spp.dat	(working copy)
@@ -0,0 +1,206 @@
+#device option
+mem_device_option:04
+
+#spp uuid
+mem_uuid_list:
+04
+10
+02
+12
+00
+01
+00
+00
+01
+00
+01
+00
+01
+36
+00
+5a
+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
+05
+35
+03
+19
+10
+02
+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
+4e
+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
+05
+35
+03
+19
+10
+02
+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
Index: sched/test.dat
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/test.dat	(nonexistent)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/test.dat	(working copy)
@@ -0,0 +1,139 @@
+mem_device_option:ff
+mem_le_lap:11 22 33
+mem_le_adv_enable:01
+mem_le_adv_interval:00 02 
+mem_le_adv_channel_map:07
+mem_le_adv_data_len:03
+mem_le_adv_data:
+02 01 0e
+
+mem_le_scan_data_len:0a
+mem_le_scan_data:
+'\09test1305
+
+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 GAP ------
+01 00 02 00 28 02 00 18
+
+
+#Appearance
+02 00 02 03 28 01 02
+03 00 02 01 2a 02 c8 00 #3c2=hid mouse
+
+#Device name
+04 00 02 03 28 01 0a
+05 00 02 00 2a 14 41 73 74 20 4c 45 20 4d 6f 75 73 65 20 20 20 20 20 20 20 20
+
+
+#Peripheral Preferred Connection Parameters
+06 00 02 03 28 01 02
+07 00 02 04 2a 08 06 00 06 00 64 00 2c 01 # interval 6ms, latency 100, timeout 300
+
+
+#privcy flag
+08 00 02 03 28 01 02
+09 00 02 02 2a 01 01
+
+#reconnecting addr 
+0a 00 02 03 28 01 08
+0b 00 02 03 2a 06 00 00 00 00 00 00
+
+#Primary service GATT ------
+0c 00 02 00 28 02 01 18
+
+#Service changed
+0d 00 02 03 28 01 20
+0e 00 02 05 2a 00
+#Client Characteristic Configuration
+0f 00 02 02 29 02 00 00
+
+#Primary service TX power ------
+10 00 02 00 28 02 04 18
+#Characteristic Tx power level
+11 00 02 03 28 01 16
+12 00 02 07 2a 01 00
+13 00 02 02 29 02 00 00
+
+#Primary service Battery ------
+14 00 02 00 28 02 0f 18
+#Characteristic Battery level
+15 00 02 03 28 01 12
+16 00 02 19 2a 01 38
+
+#Primary service device infomation
+17 00 02 00 28 02 0a 18
+#Characteristic system id
+18 00 02 03 28 01 02
+19 00 02 23 2a 03 00 00 00
+
+#Characteristic manufactor name
+1a 00 02 03 28 01 02
+1b 00 02 29 2a 08 46 6c 61 67 74 72 69 70
+
+#Characteristic module number
+1c 00 02 03 28 01 02
+1d 00 02 24 2a 06 79 69 63 68 69 70
+
+#Characteristic serial number
+1e 00 02 03 28 01 02
+1f 00 02 25 2a 04 63 6f 6d 33
+
+#Characteristic firmware version
+20 00 02 03 28 01 02
+21 00 02 26 2a 03 31 2e 30
+
+#Characteristic software version
+22 00 02 03 28 01 02
+23 00 02 28 2a 03 31 2e 30
+
+#Characteristic hardware version
+24 00 02 03 28 01 02
+25 00 02 2a 2a 03 31 2e 30
+
+#Characteristic regulatory version
+26 00 02 03 28 01 02
+27 00 02 25 2a 04 63 6f 6d 33
+
+#Primary service yichip transmit ------
+28 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
+29 00 02 03 28 01 12
+2a 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
+2b 00 02 02 29 02 00 00
+
+#Characteristic rx--write
+2c 00 02 03 28 01 08
+2d 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
+2e 00 02 03 28 01 04
+2f 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
+30 00 02 03 28 01 2a
+31 0010 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
+32 00 02 02 29 02 00 00
+
+#Primary service yichip transmit ------
+33 00 02 00 28 02 e7 fe 
+#Characteristic tx--indicate
+34 00 02 03 28 01 20
+35 00 02 c8 fe 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+#Client Characteristic Configuration
+36 00 02 02 29 02 00 00
+
+#Characteristic rx--write,read
+37 00 02 03 28 01 0a
+38 00 02 c7 fe 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+
+#Characteristic - read
+39 00 02 03 28 01 02
+3a 00 02 c9 fe 06 11 22 33 44 55 66
+
+#End of Attribute list
+00 00
Index: sched/usb_confdata.dat
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/usb_confdata.dat	(nonexistent)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/usb_confdata.dat	(working copy)
@@ -0,0 +1,60 @@
+3b
+09
+02
+3b
+00
+02
+01
+00
+a0
+32
+09
+04
+00
+00
+01
+03
+01
+01
+00
+09
+21
+00
+02
+00
+01
+22
+1a
+00
+07
+05
+81
+03
+40
+00
+02
+09
+04
+01
+00
+01
+03
+01
+02
+00
+09
+21
+00
+02
+00
+01
+22
+a3
+00
+07
+05
+82
+03
+40
+00
+02
\ No newline at end of file
Index: sched/usb_devicedata.dat
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/usb_devicedata.dat	(nonexistent)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/usb_devicedata.dat	(working copy)
@@ -0,0 +1,19 @@
+12
+12
+01
+00
+02
+00
+00
+00
+40
+51
+31
+20
+10
+02
+00
+01
+02
+00
+01
\ No newline at end of file
Index: sched/usb_kbdata.dat
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/usb_kbdata.dat	(nonexistent)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/usb_kbdata.dat	(working copy)
@@ -0,0 +1,64 @@
+3f
+05
+01
+09
+06
+a1
+01
+75
+01 
+95
+08
+05
+07
+19
+e0 
+29
+e7
+15
+00
+25
+01
+81
+02
+95
+01 
+75
+08
+81
+03
+95
+05
+75
+01
+05
+08
+19
+01
+29
+05  
+91
+02 
+95
+01  
+75
+03  
+91
+03
+95
+06 
+75
+08 
+15
+00 
+25
+ff
+05
+07
+19
+00
+29
+ff 
+81
+00
+c0
Index: sched/usb_kbdata_vendor_define.dat
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/usb_kbdata_vendor_define.dat	(nonexistent)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/usb_kbdata_vendor_define.dat	(working copy)
@@ -0,0 +1,27 @@
+1a
+06
+bc
+ff
+09
+88
+a1
+01
+85
+04
+19
+00
+2a
+ff
+00
+15
+00
+26
+ff
+00
+75
+08
+95
+01
+81
+00
+c0
\ No newline at end of file
Index: sched/usb_msdata.dat
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/usb_msdata.dat	(nonexistent)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/sched/usb_msdata.dat	(working copy)
@@ -0,0 +1,164 @@
+a3
+05
+01
+09
+02
+a1
+01
+85
+01
+09
+01
+a1
+00
+05
+09
+19
+01
+29
+05
+15
+00
+25
+01
+95
+05
+75
+01
+81
+02
+95
+01
+75
+03
+81
+01
+05
+01
+09
+30
+09
+31
+16
+01
+F8
+26
+FF
+07
+75
+10
+95
+02
+81
+06
+09
+38
+15
+81
+25
+7f
+75
+08
+95
+01
+81
+06
+05
+0c
+0a
+38
+02
+95
+01
+81
+06
+c0
+c0
+05
+01
+09
+80
+a1
+01
+85
+02
+05
+01
+19
+81
+29
+88
+15
+00
+25
+01
+95
+08
+75
+01
+81
+06
+c0
+05
+0c
+09
+01
+a1
+01
+85
+03
+15
+00
+26
+80
+03
+19
+00
+2a
+80
+03
+75
+10
+95
+01
+81
+00
+c0
+06
+00
+ff
+09
+0e
+a1
+01
+85
+BA
+95
+1f
+75
+08
+26
+ff
+00
+15
+00
+09
+01
+91
+02
+85
+BA
+95
+1f
+75
+08
+26
+ff
+00
+15
+00
+09
+01
+81
+02
+C0
\ No newline at end of file
Index: set_chip_type_flag.bat
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/set_chip_type_flag.bat	(nonexistent)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/set_chip_type_flag.bat	(working copy)
@@ -0,0 +1,15 @@
+@echo off  
+setlocal enabledelayedexpansion  
+  
+rem YC1305 榧犳爣鍒嗛厤鐨勫彉閲忚寖鍥20-2f
+rem YC1304 榧犳爣鍒嗛厤鐨勫彉閲忚寖鍥30-3f
+rem YC1305 dongle鍒嗛厤鐨勫彉閲忚寖鍥磃0-f7
+rem YC1304 dongle鍒嗛厤鐨勫彉閲忚寖鍥磂8-ee
+rem 鍙橀噺鍒嗛厤鐨勮鍒欎緥濡傦細榧犳爣鐨勶紝1305sa==0x20 1305sb==0x21渚濇绫绘帹鍒2f缁撴潫
+rem 鍙橀噺鍒嗛厤鐨勮鍒欎緥濡傦細dongle鐨勶紝1305sa==0xf0 1305sb==0xf1渚濇绫绘帹鍒癴7缁撴潫
+
+rem 瀹氫箟DAT鏂囦欢鐨勮鎻掑叆鐨勫瓧鑺傚拰璺緞鍙婂悕绉帮紝濡傛灉鏄痚eprom.dat鏂囦欢,灏辨妸otp.dat鏀规垚eeprom.dat
+set insertString=21
+echo !insertstring!>>output\otp.dat
+
+echo ok end
\ No newline at end of file
Index: util/crc16.exe
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: util/crc16.exe
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: util/eeprom2fulleeprom.exe
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: util/eeprom2fulleeprom.exe
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: util/eeprom2fulleeprom.pl
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/util/eeprom2fulleeprom.pl	(nonexistent)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/util/eeprom2fulleeprom.pl	(working copy)
@@ -0,0 +1,18 @@
+
+
+
+$source_file = $ARGV[0];
+$eeprom_size = $ARGV[1];
+
+open(EEP,"$source_file") or die("cannot open files");
+for ($i = 1 ;$i<=$eeprom_size*128-2;$i++)
+{
+
+    while (<EEP>) { 
+        $c = hex();
+        printf "%02x\n", $c;
+        $i++;
+    }
+
+	printf "FF\n";
+}
Index: util/eeprom2otp.pl
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/util/eeprom2otp.pl	(nonexistent)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/util/eeprom2otp.pl	(working copy)
@@ -0,0 +1,24 @@
+
+#鏀瑰墠涓変釜瀛楄妭涓0200锛
+#杈撳叆涓涓枃浠讹紝杈撳嚭涓涓枃浠讹紱
+
+if(@ARGV < 2) {
+	printf "less files\n";
+	exit;
+}
+else{
+	open(file, $ARGV[0]) or die "Can't open  file  : $!"; 
+	open(file_out, ">$ARGV[1]")or die "Can't open out file  : $!"; 
+	@lines = <file>;
+	$length = @lines;
+	
+	my $j=2;
+	print file_out "00\n01\n";
+	while($j<$length){
+			print file_out "$lines[$j]";
+			$j++;
+	}
+#	print "----- reverse end -----";
+	close(file);
+	close(file_out);
+}
Index: util/mergepatch.pl
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/util/mergepatch.pl	(nonexistent)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/util/mergepatch.pl	(working copy)
@@ -0,0 +1,351 @@
+#!/usr/bin/perl
+$defs = "";
+
+sub alloc {
+	my($end, %mc) = @_;
+	my(%eadr) = ();
+	my($tstr, $str, $i, $j, $addr);
+	my($tstr) = "";
+	
+	foreach $i (sort keys %mc) {
+		if($i =~ /(.+)_(.+)/ && exists($eadr{$1})) {
+			$addr = $eadr{$1};
+		} else {
+			$addr = $end;
+		}
+		for($j = 0;$j <= $#{$mc{$i}};$j++) {
+			if($mc{$i}[$j] =~ /^\s*([0-9]+)\s+([a-zA-Z0-9_]+)\s*(.*)$/) {
+				$str = sprintf "0x%04x %s%s\n", $addr, $2, $3;
+				$var{$2} = $addr;
+				$addr += $1;
+				$tstr .= $str;
+			}
+		}
+		$eadr{$i} = $addr;
+	}
+	if($addr > 0x4000) {
+		$xend = $addr if($addr > $xend);
+	} else {
+		$bend = $addr if($addr > $bend);
+	}
+	return $tstr . "\n";
+}
+
+
+sub malloc {
+	$path="output/bt_format.meta";
+	open file, $path;
+	@f = <file>;
+	close file;
+	open file, ">$path";
+	$path =~ s/\/.*//;
+	open file1, ">output/memmap.format";
+	$xaddr = 0x4000;
+	$addr = 0;
+	if($#ARGV == 1) {
+		$addr = hex($ARGV[0]);
+		$xaddr = hex($ARGV[1]);
+	}
+	for($i = 0, $ocnt = 0;$i < @f;$i++) { 
+		$_ = $f[$i];
+		$start = 1 if(/^\s*memalloc\s*\(\s*$/);		# allocate from 0
+		$start = 2 if(/^\s*xmemalloc\s*\(\s*$/);	# allocate from 4000
+		$start = 3 if(/^\s*omemalloc\s*\(\s*$/);	# allocate after all xmemalloc, mutex from each other(obsolete, for compatibility)
+		if(/^\s*([ax]*)memalloc\s+([a-zA-Z_0-9]+)\s*\(\s*$/) {
+			$start = $1 eq 'a' ? 5 : $1 eq 'x' ? 6 : 7;
+			$basev = $2;
+		}
+		if($start) {
+			if(/^\s*([a-zA-Z0-9_]+)\s+([a-zA-Z0-9_]+)\s*(.*)$/ && exists($def2{$1})) {		# macro for size
+				$_ = sprintf("%s %s %s", $def2{$1}, $2, $3);
+			}
+			if(/^\s*([0-9]+)\s+([a-zA-Z0-9_]+)\s*(.*)$/) {
+				if($start == 1) {
+					$str = sprintf "0x%04x %s%s\n", $addr, $2, $3;
+					$var{$2} = $addr;
+					$addr += $1;
+					$bstr .= $str;
+				} elsif($start == 2) {
+					$str = sprintf "0x%04x %s%s\n", $xaddr, $2, $3;
+					$var{$2} = $xaddr;
+					$xaddr += $1;
+					$xstr .= $str;
+				} else {
+					push @ostr, $_;
+				}
+			}
+			if(/^\s*\)\s*$/) {
+				if(@ostr > 0) {
+					if($start == 3) {
+						push @{$xmalloc{$ocnt}}, @ostr;
+						$ocnt++;
+					} elsif($start == 5) {
+						push @aaddr,$basev;
+						push @amalloc,[@ostr];
+					} elsif($start == 6) {
+						push @{$xmalloc{$basev}}, @ostr;
+					} elsif($start == 7) {
+						push @{$malloc{$basev}}, @ostr;
+					} 
+				}
+				$start = 0;
+				@ostr = ();
+			}
+		} else {
+			$def2{$2} = $1 if(/^\s*([0-9]+)\s+([a-zA-Z0-9_]+)\s*(.*)$/);
+			$sstr .= $_;
+		}
+	}
+	
+#--------------------- o/x/memalloc process -----------------------
+	$bend = $addr, $xend = $xaddr;
+	$bstr .= alloc($addr, %malloc);
+	$xstr .= alloc($xaddr, %xmalloc);
+
+#--------------------- amemalloc process -----------------------
+	for($i = 0;$i <= $#aaddr;$i++) {
+		for($j = 0, $addr = $aaddr[$i] =~ /^0x([0-9a-f]+)/ ? hex($1) : $var{$aaddr[$i]};$addr != 0 && $j <= $#{$amalloc[$i]};$j++) {
+			if($amalloc[$i][$j] =~ /^\s*([0-9]+)\s+([a-zA-Z0-9_]+)\s*(.*)$/) {
+				$str = sprintf "0x%04x %s%s\n", $addr, $2, $3;
+				$addr += $1;
+				if($addr < 0x4000) {
+					$bstr .= $str;
+				} else  {
+					$xstr .= $str;
+				}
+			}
+		}
+	}
+
+	
+	print file $bstr, $xstr, $sstr;
+	print file1 $bstr, $xstr;
+	close file;
+	close file1;
+	printf "\nLast allocated address is %04x\n", $bend;
+	printf "\nLast allocated xmem address is %04x\n", $xend;
+}
+
+
+sub getdefs {
+	my($def) = @_;
+	my(@ifdefs) = split(/\s*\|\s*/, $def);
+	my $v = 0;
+	foreach (@ifdefs) {
+		s/\s//g;
+		$v = 1 if($defs =~ /(^|\s)$_(\s|$)/);
+	}
+	return $v;
+}
+
+sub parseif {
+	my($fname) = @_;
+	open file, $fname;
+	@f = <file>;
+	close file;
+	open file, ">$fname";
+	@valid = (1);
+	for($i = 0;$i < @f;$i++) { 
+		$_ = $f[$i];
+		s/\/\*.*\*\///g;
+		$comment = 1 if(/\/\*/ && !/\/\//);
+		if($comment) {
+			$comment = 0 if(/\*\//);
+			next;
+		}
+		if(/^\s*ifdef\s+(.+)$/) {
+			$v = getdefs($1) ? 1 : 0;
+			push @valid, $v & $valid[$#valid];
+		} elsif(/^\s*ifndef\s+(.+)$/) {
+			$v = getdefs($1) ? 0 : 1;
+			push @valid, $v & $valid[$#valid];
+		} elsif(/^\s*else/) {
+			printf "%s\nelse without if at line %d\n", $f[$i - 3], $i if($#valid == 0);
+			if($#valid == 0) {
+				for($j = -10;$j < 10;$j++) {
+					print $f[$i + $j];
+				}
+				last;
+ 				$i = $i;
+			}
+			$valid[$#valid] = (1 - $valid[$#valid]) & $valid[$#valid - 1];
+		} elsif(/^\s*endif/) {
+			printf "%s\nendif without if at line %d\n", $_, $i if($#valid == 0);
+			if($#valid == 0) {
+				for($j = -10;$j < 10;$j++) {
+					print $f[$i + $j];
+				}
+				last;
+ 				$i = $i;
+			}
+			pop @valid;
+		} elsif($valid[$#valid]) {
+			if(/^include\s+(.+)\s*/) {
+				open file2, "program/$1";
+				@f2 = <file2>;
+				close file2;
+				splice(@f, $i + 1, 0, @f2);
+			} else {
+			if(/^define\s+(\w+)\s*/) {
+				$defs .= $1 . " " 
+			}
+				print file $_;
+			}
+		}
+	}
+	close file;
+}
+
+sub genpatch
+{
+	print "genpatch\n";
+	$patched = 0;
+	open file,"output/bt_program23.meta";
+	while(<file>) {
+		if(/^\s*beq\s+patch([0-9a-f]+)_([0-7]),/) {
+			$a = hex($1), $b = hex($2);
+			$bits[$a] |= 1 << $b;
+			$patched = 1;
+		}
+	}
+	close file;
+	return if(!$patched);
+	open file,"output/sched.rom";
+	@sched = <file>;
+	close file;
+	for($j = 0;$j < 0x40;$j++) { 
+		$s .= sprintf ("%02x   #mem_patch%02x\n", $bits[$j], $j);
+	}
+	$s .= "\n\n";
+	for($i = $skip = 0;$i < @sched;$i++) {
+		$_ = $sched[$i];
+		if($skip > 0 && /:/) {
+			splice(@sched, $skip, $i - $skip, $s);
+			last;
+		}
+		$skip = $i + 1 if(/^mem_patch00:\s*$/);
+	}
+	if($skip == 0) {
+		$s = "mem_patch00:\n" . $s;
+		splice(@sched, 0, 0, $s);
+	}
+	open file,">output/sched.rom";
+	for($i = 0;$i < @sched;$i++) { print file $sched[$i]; }
+	close file;
+}
+
+sub zcode {
+	open file, "output/bt_program23.meta";
+	@f = <file>;
+	close file;
+	for($i = $label = $line[0] = 0, $z = 1;$i < @f;$i++) {
+		$_ = $f[$i];
+		$line[0] = $i - 1 if(/^org\s+0x([23]000|800)/ && $line[0] == 0);
+		if(/^org z\s*$/) {
+			$line[$z/0x10000 + 1] = $i - 1;
+			$z += 0x10000;
+			$f[$i] = sprintf("org 0x%x\n", $z);
+			$label = 1;
+		}
+		if(/^(\w+):\s*$/ && $label == 1) {
+			$lab{$1} = $z;
+			$label = 2;
+		}
+	}
+	return if($z == 1);
+	$line[$z/0x10000 + 1] = $i - 1;
+	for($i = 0;$i < @f;$i++) {
+		$_ = $f[$i];
+		$label = "";
+		if(/^\s*(branch|nbranch|call|ncall|setarg)\s+(\w+)\s*$/ || /^\s*(branch|nbranch|call|ncall|arg)\s+(\w+)\s*,\s*(\w+)\s*$/) {
+			$label = $2;
+		}
+		if(/^\s*(bmark|beq|bne|bbit[01])\s+(\w+)\s*,\s*(\w+)\s*$/) {
+			$label = $3;
+		}
+		$branch = /^\s+branch\s+$label\s*$/ ? 1 : 0;
+		if(exists($lab{$label})) {
+			$nlabel = "jmpz_" . $label;
+			$f[$i] =~ s/$label/eval "$nlabel"/e;
+			if($lab{$label} > 100) {
+				$z = int($lab{$label}/0x1000);
+				$l = $i < $line[1] ? $line[0] : $line[$z/10 - 1];
+				if($branch && $i >= $line[1]) {
+					$f[$i] = sprintf("\tsetarg 0x%x\n\tbranch p_zcode_entrance_2Bytes_common\n\n", $z);
+				} else {
+					$f[$l] .= sprintf("%s:\n\tsetarg 0x%x\n\tbranch p_zcode_entrance_2Bytes_common\n\n", $nlabel, $z);
+				}
+				$lab{$label} = 1;
+			}
+		}
+	}
+	open file, ">output/bt_program23.meta";
+	for($i = 0;$i < @f;$i++) {
+		if($f[$i] =~ /^\s*bbit1 8,pf_patch_ext\s*$/) {
+			printf file ("p_start:\n\tbranch p_patch_array\n\np_zcode:\n");
+			for($j = 0;$j < 63;$j++) {
+				printf file "\tnop %d\n", $j + 1;
+			}
+			printf file "p_patch_array:\n";
+		}
+		print file $f[$i];
+	}
+	close file;
+}
+
+sub authrom {
+	$addr = 0x9000;
+	foreach $s (@ARGV) {
+		open f, "../sched/" . $s . ".dat" or die "cannot open dat file $s";
+		@ff = <f>;
+		close f;
+		foreach (@ff) { $_ =~ s/\s//g;push @auth, $_ . "\n"; }
+	#	printf "0x%x %s_ADDR\n", $addr, uc($s);
+		$addr += $#ff + 1;
+	}
+	open f,">auth.rom";
+	print f @auth;
+	close f;
+	open f,"romcode.rom" or return;
+	@rom = <f>;
+	close f;
+	for($i = 0, $j = $#rom - 0x1ff;$i < 0x200;$i++,$j++) {
+		for($k = 0, $l = "";$k < 4;$k++) {
+			$_ = $auth[$i*4 + $k];
+			s/\s//g;
+			$_ = "00" if(/^$/);
+			$l =  $_ . $l;
+		}
+		$rom[$j] = $l . "\n";
+	}
+	open f,">romcode.rom";
+	print f @rom;
+	close f;
+}
+
+sub otp {
+	open f,'eeprom.dat';
+	@a=<f>;
+	open f,'../sched/otp_set.dat';
+	@b=<f>;
+	open f,'>otp.dat';
+#	printf f "0b\n00\n";
+	print f @b;
+	splice(@a,0,2);
+	print f @a;
+	close f;
+}
+
+if($ARGV[0] eq "otp") {
+	otp();
+	exit;
+} elsif(@ARGV > 0) {
+	authrom();
+	exit;
+}
+
+parseif("output/bt_program23.meta");
+parseif("output/bt_format.meta");
+genpatch() if($defs !~ / SIM /);
+malloc();
+zcode();
Index: util/romcrc.pl
===================================================================
--- /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/util/romcrc.pl	(nonexistent)
+++ /branch/keyboard/customer_FW/RY_project/RY_Dongle_sdk/util/romcrc.pl	(working copy)
@@ -0,0 +1,54 @@
+#!/bin/perl
+sub crc16_ccitt2
+{
+	my($crc, $c) = @_;
+
+  $crc  = ($crc >> 8) | ($crc << 8);
+  $crc ^= $c;
+  $crc ^= ($crc & 0xff) >> 4;
+  $crc ^= $crc << 12;
+  $crc ^= ($crc & 0xff) << 5;
+  $crc &= 0xffff;
+ return $crc;
+}
+
+sub gencrc
+{
+  my($crc, $c) = @_;
+  my($i);
+	$c =~ s/\s//g;
+  for($i = 0;$i < length($c);$i+=2) {
+  	$crc = crc16_ccitt2($crc, hex(substr($c, $i, 2)));
+  }
+  return $crc;
+}
+
+open f,"$ARGV[0]" or die "open romfile fail";
+@txt = <f>;
+close f;
+$len = $len0 = $#txt;
+$len = hex($ARGV[1]) if(@ARGV > 1);
+for($i = 0, $crc = 0xffff;$i < $len;$i++) {
+	if($i <= $len) {
+		$_ = $txt[$i];
+		s/\s//g;
+		$wid = length($_) if($i == 0);
+		$crc = gencrc($crc, $_);
+		$txt[$i] = $_ . "\n";
+	} else {
+		$txt[$i] = join('', map('0', 1..$wid)) . "\n";
+		$crc = gencrc($crc, $txt[$i]);
+	}
+}
+if($wid > 4) {
+	$txt[$len] = join('', map('0', 1..($wid - 4)));
+	$crc = gencrc($crc, $txt[$i]);
+	$txt[$len] .= sprintf("%04x", $crc);
+} else {
+	$txt[$len] .= sprintf("%02x\n%02x\n", $crc >> 8, $crc & 0xff);
+}
+
+printf "%02x\n%02x\n", $crc >> 8, $crc & 0xff;
+open f,">$ARGV[0]";
+print f @txt;
+close f;
