找回密码
 注册
搜索
查看: 1004|回复: 1

[讨论] AQUASNAKE 周期性发作抖料之三:《一卡多号程序源码》

[复制链接]
发表于 2007-1-13 15:37:16 | 显示全部楼层 |阅读模式
一卡多号程序源码!
;********************************************************************
; GSM a38 Silver Wafer card v1.06 by Dejan Kaljevic 1996-2001
;
;********************************************************************
list p=16f876,f=inhx8m,r=dec
__fuses H'3f39'
include dex1.mac
indf  equ 0
tmr0    equ 1
pcl     equ 2
status  equ 3
fsr     equ 4
porta   equ 5
portb   equ 6
portc   equ 7
pclath  equ 0ah
intcon  equ 0bh
ccp2con equ 1dh
adcon0  equ 1fh
option_reg equ 81h
trisa           equ 85h
trisb           equ 86h
trisc           equ 87h
irp     equ 7
rp1     equ 6
rp0  equ 5
not_to  equ 4
not_pd  equ 3
z       equ 2
dc      equ 1
c  equ 0
gie  equ 7
peie    equ 6
t0ie    equ 5
inte    equ 4
rbie    equ 3
t0if    equ 2
intf    equ 1
rbif    equ 0
port_a  equ porta
port_b  equ portb
tris_a  equ trisa
tris_b  equ trisb
pc      equ pcl
;*********************************************************
r0  equ 70h
r1  equ 71h
r2  equ 72h
r3  equ 73h
r4  equ 74h
r5  equ 75h
r6  equ 76h
r7  equ 77h
ee_adr  equ 78h
ee_adr_l  equ 79h
ee_adr_h  equ 7ah
ee_data_l equ 7bh
ee_data_h equ 7ch
i2c_count  equ 7dh
i2c_reg    equ 7eh
iso_fleg  equ 20h
rxtx_count equ 21h
tx_reg   equ 22h
rx_reg   equ 22h
temp_tx  equ 23h
wait_reg equ 24h
d1  equ 30h
d2   equ 31h
d3  equ 32h
d4   equ 33h
sel_f1  equ 25h
sel_f2  equ 26h
sel_t1  equ 28h
dir_1  equ 29h
sel_t2  equ 2ah
dir_2  equ 2bh
rec_no  equ 2ch
prov_num  equ 2dh
resp_fleg equ 2eh
cla   equ r0
ins   equ r1
p1    equ r2
p2    equ r3
p3    equ r4
i   equ 50h
j   equ r7
k   equ r6
l   equ r5
m   equ 51h
xm   equ 52h
xn   equ 53h
t1   equ 54h
t2   equ 55h
temp_k   equ 56h
dest_index  equ xm
acc   equ 57h
sres  equ 30h
rnd  equ 40h

;************************************************
  org 0
;************************************************
start  call wait2
  clr iso_fleg
  movlw 0ffh
  movwf port_a
  movwf port_b
  bank1
  movlf adcon0,6 ;for 16f876 port a = digital

  movlw 7fh
  movwf option_reg
  movlw 0ffh
  movwf tris_a
  movlw 01001111b
  movwf tris_b
  bank0
;---------------------------------------
  call wait1
;-------------------------------------- Send ATR
  movlf r7,12h  ;size of ATR
  movlf ee_adr,atr
  call rd_eeprom

  xorlw 3fh
  jnz no_inv
  bsf iso_fleg,0
no_inv:  call rd_eeprom
  incf ee_adr
  call send_byte
  djnz r7,no_inv
;================================================
main  call wait
  movlf r7,5
  movlf fsr,cla
  call read__data  ;get cla,ins,p1,p2,p3
  call wait
;------------------------------------------------
  cmp cla,0a0h
  jnz bad_cla
  
;================================= CLA A0
  movf ins,w
  xorlw 0a4h ;cmp ins,0a4h
  je select_file
  xorlw 84h ;cmp ins,20h
  je verify_pin
  xorlw 90h ;cmp ins,0b0h
  je rd_wr_bin
  xorlw 70h ;cmp ins,0c0h
  je send_response
  xorlw 16h ;cmp ins,0d6h
  je rd_wr_bin
  xorlw 24h ;cmp ins,0f2h
  je _status
  xorlw 40h ;cmp ins,0b2h
  je rd_wr_record
  xorlw 6eh ;cmp ins,0dch
  je rd_wr_record
  xorlw 54h ;cmp ins,88h
  je a38
  xorlw 72h ;cmp ins,0fah ;sleep
  je ok_end  
  xorlw 4  ;cmp ins,0feh
  je update_ki
  jmp bad_ins

;======================================
send_ins call wait
  movf ins,w
  jmp send_byte
  
;======================================
; d1=data bafer
; r7=count
;--------------------------------------
read_data movlf fsr,d1
;--------------------------------------
; fsr=addr
; r7=count
;--------------------------------------
read__data call get_byte
  movwf 0
  incf fsr
  djnz r7,read__data
  ret
;--------------------------------------
bad_p1p2 movlw 6bh  ;6b00h
  jmp send_ans0
bad_p3  movlw 67h  ;6700h
  jmp send_ans0  
err_9408 movlf r0,8
  jmp send_94

bad_cla  movlw 6eh
  jmp send_ans0
bad_ins  movlw 6dh
  jmp send_ans0
ok_end
send_ok  movlw 90h
send_ans0 clr r0
send_answer movwf temp_tx
  call wait
  movf temp_tx,w
  call send_byte
  movf r0,w
  call send_byte
  jmp main


;***************************************
; RET w=char
;---------------------------------------
get_byte bank1
  bsf tris_b,7  ;in
  bank0

l_lev  jnb port_b,7,l_lev ;wait for H
h_lev  jb port_b,7,h_lev ;wait for L (start impuls)
  movlf rxtx_count,9
  bcf iso_fleg,1  ;reset parity fleg
  jb port_b,7,h_lev ;wait for L
  call wait05  ;[372/4/2-9] wait to midle of start impuls
nex_rx_bit btfsc iso_fleg,0 ;1(2)
  rlf rx_reg  ;1(0)
  btfss iso_fleg,0 ;2(1)
  rrf rx_reg  ;0(1)

  call wait1  ;2 [372/4-15]
  jnb port_b,7,low_l ;2(3)
;--------------------------
  movlw 2   ;1
  xorwf iso_fleg  ;1 ;parity
  
  nop   ;1
  stc   ;1
low_e  djnz rxtx_count,nex_rx_bit ;3
  rrf iso_fleg,w
  xorwf iso_fleg,w
  andlw 1
  jnz bad_parity
  btfsc iso_fleg,0
  comf rx_reg
  movf rx_reg,w
  ret
low_l  clc   ;1
  jmp low_e  ;2

bad_parity call wait1
  bank1
  bcf tris_b,7  ;out
  bank0
  bcf port_b,7  ;i/o=0

  call wait1
  bsf port_b,7  ;i/o=1
  bank1
  bsf tris_b,7  ;in
  call wait05
  jmp get_byte

;**************************************
; W = char
send_byte movwf temp_tx  
  
  movwf tx_reg
  btfsc iso_fleg,0
  comf tx_reg
  movlf rxtx_count,9
  bcf iso_fleg,1  ;reset parity fleg
  call wait05
  
  bank1
  bsf tris_b,7  ;in
  bank0
tx_l  jnb port_b,7,tx_l
  
  clc
;---------------
nex_tx_bit jc tx_high  ;2(3)
  call tx_lo  ;2+7
  jmp tx_e  ;2
tx_high  call tx_hi  ;2+5
  movlw 2   ;1
  xorwf iso_fleg  ;1 ;parity
  nop   ;1
tx_e  call wait11  ;2 + (372/4-22)
  btfsc iso_fleg,0 ;1(2)
  rlf tx_reg  ;1(0)
  btfss iso_fleg,0 ;2(1)
  rrf tx_reg  ;0(1)
  djnz rxtx_count,nex_tx_bit ;3

;---------------
  rrf iso_fleg,w  ;send parity
  xorwf iso_fleg,w
  andlw 1  
  jnz par_s
  call tx_lo
  jmp end_par

par_s  call tx_hi
end_par  call wait1
;---------------
  call tx_hi  ;stop impuls
  call wait1
  jnb port_b,7,error_tx
  call wait2
  ret
error_tx call wait2
  movf temp_tx,w
  jmp send_byte  ;try again

;--------------------------------------- out = L
tx_lo  bcf port_b,7  ;1 out=0
  bank1   ;1
  bcf tris_b,7  ;1 ;out
  bank0   ;1
  bcf port_b,7  ;1 ;out=0
  ret   ;2
;---------------------------------------
tx_hi  bank1   ;1
  bsf tris_b,7  ;1 ;in (i/o=1)
  bank0   ;1
  ret   ;2
;---------------------------------------
wait05  ;37 ins
  movlf wait_reg,10
  jmp _wait3
wait11  ;71 ins
  movlf wait_reg,22
  jmp _wait1
wait1  ;78 ins
  movlf wait_reg,24
  nop
_wait3  nop
_wait2  nop
_wait1  djnz wait_reg,_wait1 ;3*wait_reg+1
  ret
wait
wait2  ;182 ins
  movlf wait_reg,59
  jmp _wait1


sda equ 4
scl equ 5

;------------------------------------- 8 ins
start_i2c bsf port_b,scl ;scl=1
  bsf port_b,sda ;sda=1
nop
  bcf port_b,sda ;sda=0
nop
  bcf port_b,scl ;scl=0
  ret
;------------------------------------- 9 ins
bit_out  btfss status,c ;1(2)
  bcf port_b,sda ;1(0)
  btfsc status,c ;2(1)
  bsf port_b,sda ;0(1)
  bsf port_b,scl
nop
  bcf port_b,scl
  ret
;------------------------------------- 10 ins
bit_in  bank1
  bsf tris_b,sda
  bank0
  bsf port_b,scl
  clc
  btfsc port_b,sda
  stc
  bcf port_b,scl
  ret

;------------------------------------- 138 ins
tx_i2c  movlf i2c_count,8 ;2
tx_i2  rlf i2c_reg  ;1 ;15*8-1
  call bit_out  ;11
  djnz i2c_count,tx_i2 ;3(2)
  call bit_in  ;12
sda_out  bank1   ;1
  bcf tris_b,sda  ;1
  bank0   ;1
  ret   ;2
;------------------------------------- 136 ins
rx_i2c  movlf i2c_count,8 ;2
rx_i2  call bit_in  ;12 ;16*8-1
  rlf i2c_reg  ;1
  djnz i2c_count,rx_i2 ;3(2)
  jmp sda_out  ;2

;--------------------------------------
rd_i2c_wr_addr: call start_i2c  
  movlf i2c_reg,0a0h
  call tx_i2c
  movff i2c_reg,ee_adr_h
  call tx_i2c  
  movff i2c_reg,ee_adr_l
  call tx_i2c  
  bcf port_b,sda  
  call stop_i2c  
  call start_i2c  
  movlf i2c_reg,0a1h
  call tx_i2c  
  ret
rd_i2c_last: call rx_i2c  
  stc   
  call bit_out  
  call stop_i2c  
  movf i2c_reg,w  
  ret   
  

;--------------------------------------
stop_i2c bcf port_b,sda ;sda=0
nop
  bsf port_b,scl ;scl=1
nop
  bsf port_b,sda ;sda=1
  ret
;**************************************
wr_i2c:  movwf r0
  call start_i2c  
  movlf i2c_reg,0a0h
  call tx_i2c
  movff i2c_reg,ee_adr_h
  call tx_i2c  
  movff i2c_reg,ee_adr_l
  call tx_i2c  
  movff i2c_reg,r0  
  call tx_i2c  
  bcf port_b,sda  
  ;call time
  call stop_i2c  
nex_pprr:  call start_i2c
  movlf i2c_reg,0a0h
  call tx_i2c  
  call stop_i2c
  jc nex_pprr
  ret   
  

;************************************************
select_file movf p1,w
  iorwf p2,w
  jnz bad_p1p2  
  cmp p3,2
  jnz bad_p3
  call send_ins  ;OK p1=0,p2=0,p3=2
  movlf r7,2
  call read_data  ;get File ID
;---------------------------------------
  cmp d1,3fh
  jnz no_mf
  movf d2
  jnz no_mf  ;selected MF
ok_df  movlf r0,16h
  movff dir_1,d1
  movff dir_2,d2
;======================================
send_9fa movff sel_f1,d1
  movff sel_f2,d2
  clrf rec_no
  incf rec_no
  bcf resp_fleg,0
;===============
send_9f  movlw 9fh
  jmp send_answer
;--------------------------------------  
no_mf  cmp d1,7fh
  jnz no_df
  cmp d2,10h
  jz ok_df  ;select DF
  cmp d2,20h
  jz ok_df
  cmp d2,21h
  jz ok_df
;--------------------------------------  
no_df  cmp d1,6fh
  jz _ef
  cmp d1,2fh
  jnz err_9404
  cmp d2,0e2h
  jnz err_9404
_ef  movf d2,w
  call test_file
  jz err_9404
ok_eef  movlf r0,0fh
  jmp send_9fa  ;select EF (6fxx) or (2fxx)
;=======================================
err_9404 movlf r0,4
send_94  movlw 94h
  jmp send_answer

;************************************************
;w=file to test (low byte)
;
;RET z=1 file not found
;    z=0 OK r0=index to selected file data
;     w=file type  
;------------------------------------------------
test_file movwf r0
  movlf ee_adr,ef_info
  movlf ee_adr_h,0
  movlf ee_adr_l,file_data
;---------------
test_file_ call rd_eeprom
  andlw 0ffh
  jz end_tf  ;file is not found in table
  xorwf r0,w
  jz end_tsf  ;file is found
;---------------
  incf ee_adr
  call rd_eeprom
  incf ee_adr
  addlw 1   ;get file data addr.
  movwf r5  
  call get_data7  ;file size h
  addlw 1
  je test_file_  ;skip for IMSI & Kc  
  incf r5,w
  call get_data7  ;file size l
  addwf ee_adr_l   
  btfsc status,c
  incf ee_adr_h
  movf r5,w
  call get_data7  ;file size h
  addwf ee_adr_h
  jmp test_file_  
;--------------------------------------
end_tsf: incf ee_adr
  call rd_eeprom  ;addr of selected file info
  movwf r0
  call get_data7
  bcf status,z
end_tf  ret
;--------------------------------------

;************************************************
_status: movff sel_t1,dir_1
  movff sel_t2,dir_2
  jmp s_res
;************************************************
send_response: movff sel_t1,sel_f1
  movff sel_t2,sel_f2
s_res:  call send_ins  ;always OK
  jb resp_fleg,0,resp_ram ;a38 response
;---------------
  cmp sel_t1,3fh
  jne no__mf
  movlf r0,mf_d
  jmp send_resp  ;MF
no__mf  cmp sel_t1,7fh
  jne no__df
  movlf r0,df_d
  jmp send_resp  ;DF
no__df  cmp sel_f1,6fh
  je resp_ef  ;EF (6fxx)
  
  cmp sel_f1,2fh
  je resp_ef  ;EF (2fxx)
;---------------
send_zeros clrw
  call send_byte
  djnz p3,send_zeros
  jmp ok_end
;--------------------------------------
resp_ram: movlf fsr,sres
rsp_ram: movf 0,w
  call send_byte
  incf fsr
  djnz p3,rsp_ram
  jmp ok_end
;************************************************
send_resp movwf r5
  
  clr r7
nex_srr  cmp r7,5
  jnz no_inf
  movf sel_t2,w
  jmp noo_inf
no_inf  movf r5,w
  call get_data7
noo_inf  call send_byte
  incf r7
  incf r5
  djnz p3,nex_srr
  jmp ok_end
;---------------------------------------
;************************************************
resp_ef  movf sel_f2,w
  call test_file  ;R0 - point to file response data
  movwf r6
  incf r0
;----------------------------
  movlw 85h
  call send_byte
  movlw 0dh
  call send_byte  ;send 85 0d
;---------------
  movf r0,w
  call get_data7
  addlw 1
  movlw 2
  jnz no_ef_t1  ;no IMSI & Kc
  clrw
  call send_byte
  incf r0
  movlw 1
no_ef_t1: movwf r7
  call send_r0  ;send file size
;---------------  
  movf sel_f1,w
  call send_byte
  movf sel_f2,w
  call send_byte  ;send file ID
;---------------
  cmp r6,4
  jz _ef_t1
  movlf r7,9
  call send_r0
  jmp ok_end
;----------------------------
_ef_t1:  movlw 4
  call send_byte
  movlw 0
  call send_byte  ;send 04 00
  movlf r7,1
  call send_r0  
  movlf r7,6
  movlf r0,ef_d
  call send_r0
  jmp ok_end
;--------------------------------------
;**************************************
; r0=index in table3
; r7=count
;--------------------------------------
send_r0  movf r0,w
  call get_data7
  call send_byte
  incf r0
  djnz r7,send_r0
  ret
;--------------------------------------
block_file: movf prov_num,w
  addwf prov_num,w
  movwf r6
  rlf r6  
  rlf r6,w
  addwf prov_num,w ;w=prov_num * 9
  addwf ee_adr_l
  btfsc status,c
  incf ee_adr_h
  ret

;************************************************
rd_wr_bin movf sel_f2,w
  call test_file
  jz err_9408
  xorlw 4
  jnz err_9408 ;Not selected transparent file
;---------------
  cmp sel_f2,7h  ;IMSI file
  jnz no_imsi
  clrf ee_adr_h
  movlf ee_adr_l,_imsi
  call block_file  ;select appropriate IMSI
  jmp no_kc
;---------------
no_imsi: cmp sel_f2,20h  ;Kc file
  jnz no_kc
  clrf ee_adr_h
  movlf ee_adr_l,_kc
  call block_file  ;select appropriate Kc
;---------------
no_kc:  movf p2,w
  addwf ee_adr_l
  btfsc status,c
  incf ee_adr_h
cmp ins,0d6h
jz write_file
jmp read_file

;************************************************
rd_wr_record: movf sel_f2,w
  call test_file
  jz err_9408
  xorlw 4
  jz err_9408 ;transparent file selected
cmp sel_f2,3ah
jne no_3a
movlf ee_adr_h,8
clrf ee_adr_l
no_3a:
;--------------------------------------
  decf p2  ;mode
  decf p2
  je inc_rec_no
  decf p2
  je dec_rec_no
  djnz p2,err_9408
  movf p1,w
  btfss status,z
  movwf rec_no
  jmp ok_rcc
dec_rec_n  decf rec_no
  jmp ok_rcc
inc_rec_n  incf rec_no
;---------------
ok_rcc:  movf rec_no,w
  movwf r6
  movlw 0bh
  addwf r0,w
  call get_data7
  jmp nex_rd_r1

nex_aad: addwf ee_adr_l
  btfsc status,c
  incf ee_adr_h
nex_rd_r1: djnz r6,nex_aad
cmp sel_f2,3ah
je fl_3a
  
cmp ins,0dch
je write_file
;======================================
read_file: call send_ins
  call rd_i2c_wr_addr
nex_rd_r: decf p3,w
  jz last_rd
  decf p3
  call rx_i2c
  clc   
  call bit_out
  movf i2c_reg,w
  call send_byte
  jmp nex_rd_r
last_rd: call rd_i2c_last
  call send_byte
  jmp ok_end

fl_3a:  cmp ins,0dch
  je write_file_fl
read_file_fl: call send_ins
rd_fl1:  call rd_flash
  movf ee_data_l,w
  call send_byte
incf ee_adr_l
btfsc status,z
incf ee_adr_h
  djnz p3,rd_fl1
  jmp ok_end
write_file_fl: comf ins,w
  call send_byte
  call get_byte
  movwf ee_data_l
  clrf ee_data_h
  call wr_flash
incf ee_adr_l
btfsc status,z
incf ee_adr_h
  djnz p3,write_file_fl
  jmp ok_end

;======================================
update_ki: cmp p1,'D'
  jnz bad_p1p2
  cmp p2,'K'
  jnz bad_p1p2
  cmp p3,16
  jnz bad_p3
  swapf prov_num,w
  andlw 70h
  addlw _ki
  movwf ee_adr
write_ki: comf ins,w
  call send_byte
  call get_byte
  call wr_eeprom
  incf ee_adr
  djnz p3,write_ki
  jmp ok_end

;======================================
write_file: comf ins,w
  call send_byte
  call get_byte
  call wr_i2c
incf ee_adr_l
btfsc status,z
incf ee_adr_h
  djnz p3,write_file
  jmp ok_end

;**************************************
verify_pin cmp p3,8
  jne bad_p3
  call send_ins
  movlf r7,8
   call read_data
;-------------------------------------
  movlw 0fh
  andwf d1
  andwf d2
  andwf d3
  andwf d4
  swapf d1,w
  iorwf d2
  swapf d3,w
  iorwf d4,w  ;d2:d4=PIN
  addlw 0ffh
  andlw 7
  movwf prov_num  ;Select provider from 4'th pin digit
  jmp ok_end



eedata equ 10ch
eeadr equ 10dh
eedath equ 10eh
eeadrh equ 10fh
eecon1 equ 18ch
eecon2 equ 18dh
rd  equ 0
wr  equ 1
wren  equ 2
wrerr equ 3
eepgd equ 7

;ee_adr
rd_eeprom: bsf status,rp1
  bcf status,rp0
  movff eeadr,ee_adr
  bsf status,rp0
  bcf eecon1,eepgd
  bsf eecon1,rd
  bcf status,rp0
  movf eedata,w
  bcf status,rp1
  ret

;ee_adr
wr_eeprom: bsf status,rp1
  bcf status,rp0
  movwf eedata
  movff eeadr,ee_adr
  bsf status,rp0
  bcf eecon1,eepgd
  bsf eecon1,wren
  ;bcf intcon,gie
  movlw 55h
  movwf eecon2
  movlw 0aah
  movwf eecon2
  bsf eecon1,wr
w_wr:  jb eecon1,wr,w_wr
  ;bsf intcon,gie
  ;sleep
  bcf eecon1,wren
  ;bcf intcon,gie
bank_0:  bcf status,rp1
  bcf status,rp0
  ret

rd_flash: bsf status,rp1
  bcf status,rp0
  movff eeadr,ee_adr_l
  movff eeadrh,ee_adr_h
  
  bsf status,rp0
  bsf eecon1,eepgd
  bsf eecon1,rd
  nop
  nop
  bcf status,rp0
  movff ee_data_h,eedath
  movff ee_data_l,eedata
  jmp bank_0

wr_flash: bsf status,rp1
  bcf status,rp0
  
  movff eeadr,ee_adr_l
  movff eeadrh,ee_adr_h
  movff eedata,ee_data_l
  movff eedath,ee_data_h
  
  bsf status,rp0
  bsf eecon1,eepgd
  bsf eecon1,wren
  bcf intcon,gie
  movlw 55h
  movwf eecon2
  movlw 0aah
  movwf eecon2
  bsf eecon1,wr
  nop
  nop
  bcf eecon1,wren
  jmp bank_0




;**************************************
; MoU A38 chiphering algorithm
;--------------------------------------
a38:
  ;movf p1,w
  ;iorwf p2,w
  ;jnz bad_p1p2  
  cmp p3,16
  jnz bad_p3
  bsf resp_fleg,0
  call send_ins  ;OK p1=0,p2=0,p3=16
  movff r7,p3
  movlf fsr,40h
  call read__data  ;get RND
;================================================
  movlf i,7
next_i  
;****************************************
; Copy Ki
;----------------------------------------
  movlf fsr,sres  
  movlf r7,16  
  swapf prov_num,w
  andlw 70h
  addlw _ki
  movwf ee_adr
nex_mov_ki call rd_eeprom
  movwf 0
  incf ee_adr
  incf fsr  
  djnz r7,nex_mov_ki
;**************************************
  movlf j,4
  movlf t2,1
  movlf t1,16
;--------------------------------------
next_j  clrf temp_k
  decf t2,w
  movwf k  ;k=t2-1
;--------------------------------------
next_k  decf t1,w
  movwf l  ;l=t1-1
;--------------------------------------
next_l  movf l,w
  addwf temp_k,w
  movwf m   
;-------------------------------
addlw sres
movwf fsr  ;fsr=sres+M
movff xm,0  ;XM=[sres+M]
movf t1,w  ;N=M+T1
addwf fsr  ;fsr=sres+N
movff xn,0  ;XN=[sres+N]
  
movf xm,w
call add_wx  ;w = [((w+xm+xn) AND (2^9-J)-1) + table [J]]
movwf 0   ;[sres+N]=w
movf t1,w
subwf fsr  ;fsr=sres+M
movf xn,w  
call add_wx  ;w = [((w+xm+xn) AND (2^9-J)-1) + table [J]]
movwf 0   ;[sres+M]=w
;-------------------------------
decf l
jnb l,7, next_l
;===============================

clc
rlf t1,w  ;w=t1*2
addwf temp_k  ;temp_k=temp_k+t1*2
decf k
jnb k,7, next_k
;===============================
clc
rlf t2   ;t2=t2*2
rrf t1   ;t1=t1/2
decf j
jnb j,7, next_j
;===============================


;--------------------------------------
  movlf fsr,sres
  movlf r5,2
  movlf r7,16
nex_mov1 swapf 0,w
  incf fsr  
  iorwf 0,w
  movwf r6
  incf fsr

  movf r5,w
  subwf fsr
  movff 0,r6
  
  movf r5,w
  addwf fsr
  incf r5
  djnz r7,nex_mov1
;--------------------------------------

  movf i
  jz end_a38
;---------------
  movlf j,16
  movlf dest_index,sres+16  
  clrf l
nex_bit1 movlf t2,80h
  movlf k,8
  clrf m
nex_bit2 rlf l,w
  movwf t1
  swapf t1
  movlw 0fh
  andwf t1 ;t1=l/8
  movlw sres
  addwf t1,w
  movwf fsr ;fsr=sres+l/8 and 15  
  movf 0,w
  andwf t2,w
  iorwf m
  clc
  rrf t2  ;shr t2
  movlw 17
  addwf l
  djnz k,nex_bit2
  movff fsr,dest_index
  movff 0,m
  incf dest_index
  
  djnz j,nex_bit1
;--------------------------------------
  decf i
  jmp next_i

;======================================
end_a38  movlf r6,2
nex_rt1  movlf fsr,sres+15
  movlf r7,7
  clc
nex_rt2  rlf 0
  decf fsr
  djnz r7,nex_rt2
  
  djnz r6,nex_rt1
;--------------------------------------
  movlf r7,7
  movlf fsr,sres+9
  
nex_rt3  movff r6,0
  movlw 5
  subwf fsr
  movff 0,r6
  movlw 6
  addwf fsr
  djnz r7,nex_rt3
  clrf sres+11
clrf pclath
  movlf r0,0ch
  jmp send_9f







  org 400h
    dt  102,177,186,162,  2,156,112, 75, 55, 25,  8, 12,251,193,246,188
    dt  109,213,151, 53, 42, 79,191,115,233,242,164,223,209,148,108,161
    dt  252, 37,244, 47, 64,211,  6,237,185,160,139,113, 76,138, 59, 70
    dt   67, 26, 13,157, 63,179,221, 30,214, 36,166, 69,152,124,207,116
    dt  247,194, 41, 84, 71,  1, 49, 14, 95, 35,169, 21, 96, 78,215,225
    dt  182,243, 28, 92,201,118,  4, 74,248,128, 17, 11,146,132,245, 48
    dt  149, 90,120, 39, 87,230,106,232,175, 19,126,190,202,141,137,176
    dt  250, 27,101, 40,219,227, 58, 20, 51,178, 98,216,140, 22, 32,121
    dt   61,103,203, 72, 29,110, 85,212,180,204,150,183, 15, 66,172,196
    dt   56,197,158,  0,100, 45,153,  7,144,222,163,167, 60,135,210,231
    dt  174,165, 38,249,224, 34,220,229,217,208,241, 68,206,189,125,255
    dt  239, 54,168, 89,123,122, 73,145,117,234,143, 99,129,200,192, 82
    dt  104,170,136,235, 93, 81,205,173,236, 94,105, 52, 46,228,198,  5
    dt   57,254, 97,155,142,133,199,171,187, 50, 65,181,127,107,147,226
    dt  184,218,131, 33, 77, 86, 31, 44, 88, 62,238, 18, 24, 43,154, 23
    dt   80,159,134,111,  9,114,  3, 91, 16,130, 83, 10,195,240,253,119

  org 500h

    dt   19, 11, 80,114, 43,  1, 69, 94, 39, 18,127,117, 97,  3, 85, 43
    dt   27,124, 70, 83, 47, 71, 63, 10, 47, 89, 79,  4, 14, 59, 11,  5
    dt   35,107,103, 68, 21, 86, 36, 91, 85,126, 32, 50,109, 94,120,  6
    dt   53, 79, 28, 45, 99, 95, 41, 34, 88, 68, 93, 55,110,125,105, 20
    dt   90, 80, 76, 96, 23, 60, 89, 64,121, 56, 14, 74,101,  8, 19, 78
    dt   76, 66,104, 46,111, 50, 32,  3, 39,  0, 58, 25, 92, 22, 18, 51
    dt   57, 65,119,116, 22,109,  7, 86, 59, 93, 62,110, 78, 99, 77, 67
    dt   12,113, 87, 98,102,  5, 88, 33, 38, 56, 23,  8, 75, 45, 13, 75
    dt   95, 63, 28, 49,123,120, 20,112, 44, 30, 15, 98,106,  2,103, 29
    dt   82,107, 42,124, 24, 30, 41, 16,108,100,117, 40, 73, 40,  7,114
    dt   82,115, 36,112, 12,102,100, 84, 92, 48, 72, 97,  9, 54, 55, 74
    dt  113,123, 17, 26, 53, 58,  4,  9, 69,122, 21,118, 42, 60, 27, 73
    dt  118,125, 34, 15, 65,115, 84, 64, 62, 81, 70,  1, 24,111,121, 83
    dt  104, 81, 49,127, 48,105, 31, 10,  6, 91, 87, 37, 16, 54,116,126
    dt   31, 38, 13,  0, 72,106, 77, 61, 26, 67, 46, 29, 96, 37, 61, 52
    dt  101, 17, 44,108, 71, 52, 66, 57, 33, 51, 25, 90,  2,119,122, 35

  org 600h
    dt   52, 50, 44,  6, 21, 49, 41, 59, 39, 51, 25, 32, 51, 47, 52, 43
    dt   37,  4, 40, 34, 61, 12, 28,  4, 58, 23,  8, 15, 12, 22,  9, 18  
    dt   55, 10, 33, 35, 50,  1, 43,  3, 57, 13, 62, 14,  7, 42, 44, 59
    dt   62, 57, 27,  6,  8, 31, 26, 54, 41, 22, 45, 20, 39,  3, 16, 56
    dt   48,  2, 21, 28, 36, 42, 60, 33, 34, 18,  0, 11, 24, 10, 17, 61
    dt   29, 14, 45, 26, 55, 46, 11, 17, 54, 46,  9, 24, 30, 60, 32,  0
    dt   20, 38,  2, 30, 58, 35,  1, 16, 56, 40, 23, 48, 13, 19, 19, 27
    dt   31, 53, 47, 38, 63, 15, 49,  5, 37, 53, 25, 36, 63, 29,  5,  7
    dt    1,  5, 29,  6, 25,  1, 18, 23, 17, 19,  0,  9, 24, 25,  6, 31
    dt   28, 20, 24, 30,  4, 27,  3, 13, 15, 16, 14, 18,  4,  3,  8,  9
    dt   20,  0, 12, 26, 21,  8, 28,  2, 29,  2, 15,  7, 11, 22, 14, 10
    dt   17, 21, 12, 30, 26, 27, 16, 31, 11,  7, 13, 23, 10,  5, 22, 19





  ;org 700h

;======================================
_j1  ;bcf pclath,0 ;table1 page4
  bcf pclath,1
  movf acc,w
  clrf acc
  addwf xn,w ;w=w+XN
  btfsc status,c
  incf acc
  addwf xm,w ;w=w+XN+XM
  btfsc status,c
  incf acc
  bcf acc,1
  xorwf acc,w
  movwf pc   
;-----------------------
add_wx  movwf acc
  movlf pclath,6 ;page 6
  movf J,w
  call pc_table
  movwf pc ;jmp [pc_table+J] page7
;-----------------------
;-----------------------
pc_table addwf pc
dt j5,j4,j3,j2,_j1
;-----------------------
;-----------------------
w_add  movf acc,w
  addwf xn,w ;w=acc+XN
  addwf xm,w ;w=acc+XN+XM
  ret
;-----------------------
j2  bcf pclath,1 ;table2 page 5
bsf pclath,0
  call w_add ;j=2
  movwf pc
;-----------------------
j3  ;bcf pclath,0 ;table3 page 6
  call w_add ;j=3
  andlw 7fh
  movwf pc
;-----------------------
j4  ;bcf pclath,0 ;table4 page 6
  call w_add ;j=4
  andlw 3fh
  addlw 80h
  movwf pc
;-----------------------
j5  call w_add ;table5
    ;j=5
  movwf ee_adr_l
  rrf ee_adr_l,w
  andlw 0fh
  addlw _table_5
  call get_data7
  movwf ee_adr_h
  btfsc ee_adr_l,0
  swapf ee_adr_h
  swapf ee_adr_h,w
  andlw 0fh
  ret
;-------------------------------------------------------------

  org 700h

get_data7 bsf pclath,0
  bsf pclath,1
  bsf pclath,2
  movwf pc

_table_5 dt 0fch,0a4h,1eh,0b7h,50h,0e7h,12h,0d8h
  dt 0a3h,49h,60h,32h,56h,89h,0bdh,0fch

mf_d dt 85h,14h,1,0f0h,3fh,0,1,80h,0,0ffh,0ffh,43h,9,9,2,5
dt 4,0,83h,8ah,83h,8ah
df_d dt 85h,14h,0,30h,7fh,10h,2,80h,0,0fbh,0ffh,3,9,9,0,14
dt 4,0,83h,8ah,83h,8ah
ef_d dt 0ffh,0bbh,3,2,0,0
_5 dt 4, 0,4, 1
_7 dt 4, 0ffh,9, 1bh
_20 dt 4, 0ffh,9, 11h
_30 dt 4, 0,2dh, 11h
_31 dt 4, 0,1, 1bh
_37 dt 4, 0,3, 12h
_38 dt 4, 0,4, 1bh
_41 dt 4, 0,5, 1bh
_43  dt 4, 0,2, 11h
_45 dt 4, 0,0ah, 12h
_74 dt 4, 0,10h, 11h
_78 dt 4, 0,2, 1bh
_7b dt 4, 0,0ch, 11h
_7e dt 4, 0,0bh, 11h
_ad dt 4, 0,3, 0bh
_ae dt 4, 0,1, 0bh
_e2 dt 4, 0,0ah, 0fh
_3a dt 14h, 17h,0f4h, 04, 00, 11h, 0FBh, 22h,  03, 02, 01, 1Ch
_3c dt 14h, 1ch,0e0h, 04, 00, 11h, 0FBh, 0BBh, 03, 02, 01, 0B0h
_3d dt 14h, 0,38h,  04, 00, 11h, 0FBh, 0BBh, 03, 02, 01, 0Eh
_40 dt 14h, 0,70h,  04, 00, 11h, 0fbh, 0bbh, 03, 02, 01, 1ch
_42 dt 14h, 1,40h,  04, 00, 11h, 0fbh, 0bbh, 03, 02, 01, 28h
_39 dt 34h, 0,3, 04, 40h, 12h, 1Bh, 0BBh, 83h, 02, 03, 03



  org 2100h
_ki de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh

atr  de 3fh,2fh,0,80h,69h,0afh,2,4,1,31h,0,0,0,0eh,83h,3eh,9fh,16h
ef_info  de 7,_7,0e2h,_e2, 5,_5,20h,_20,30h,_30,31h,_31,37h,_37
  de 38h,_38,41h,_41,43h,_43,45h,_45,74h,_74,78h,_78
  de 7bh,_7b,7eh,_7e,0adh,_ad,0aeh,_ae
  de 39h,_39,3dh,_3d,40h,_40,42h,_42,3ch,_3c,3ah,_3a
  de 0

  org 4000h
_imsi de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
_kc de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh

file_data de 98h,83h,11h,11h,11h,11h,11h,11h,11h,0f1h ;e2
de  1,0ffh,0ffh,0ffh    ;05
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh  ;30
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de  0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de  0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh      ;31
de 0,0,0      ;37
de 0cfh,3fh,0c3h,0ch
de  0ffh,0ffh,0ffh,0,0
de  0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0,2
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0
de 0,0ffh,1
de 0,0ffh,0ffh
de 2
;-------------------------------------
de 0,0,0
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh  ;3d
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh  ;40
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh  
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh  
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh  ;42
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh  
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh  
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh  
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh  
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh  
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh  
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh

de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh  ;sms
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh

de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh

de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
;---------------------

end
;
 楼主| 发表于 2007-1-13 15:37:16 | 显示全部楼层 |阅读模式
一卡多号程序源码!
;********************************************************************
; GSM a38 Silver Wafer card v1.06 by Dejan Kaljevic 1996-2001
;
;********************************************************************
list p=16f876,f=inhx8m,r=dec
__fuses H'3f39'
include dex1.mac
indf  equ 0
tmr0    equ 1
pcl     equ 2
status  equ 3
fsr     equ 4
porta   equ 5
portb   equ 6
portc   equ 7
pclath  equ 0ah
intcon  equ 0bh
ccp2con equ 1dh
adcon0  equ 1fh
option_reg equ 81h
trisa           equ 85h
trisb           equ 86h
trisc           equ 87h
irp     equ 7
rp1     equ 6
rp0  equ 5
not_to  equ 4
not_pd  equ 3
z       equ 2
dc      equ 1
c  equ 0
gie  equ 7
peie    equ 6
t0ie    equ 5
inte    equ 4
rbie    equ 3
t0if    equ 2
intf    equ 1
rbif    equ 0
port_a  equ porta
port_b  equ portb
tris_a  equ trisa
tris_b  equ trisb
pc      equ pcl
;*********************************************************
r0  equ 70h
r1  equ 71h
r2  equ 72h
r3  equ 73h
r4  equ 74h
r5  equ 75h
r6  equ 76h
r7  equ 77h
ee_adr  equ 78h
ee_adr_l  equ 79h
ee_adr_h  equ 7ah
ee_data_l equ 7bh
ee_data_h equ 7ch
i2c_count  equ 7dh
i2c_reg    equ 7eh
iso_fleg  equ 20h
rxtx_count equ 21h
tx_reg   equ 22h
rx_reg   equ 22h
temp_tx  equ 23h
wait_reg equ 24h
d1  equ 30h
d2   equ 31h
d3  equ 32h
d4   equ 33h
sel_f1  equ 25h
sel_f2  equ 26h
sel_t1  equ 28h
dir_1  equ 29h
sel_t2  equ 2ah
dir_2  equ 2bh
rec_no  equ 2ch
prov_num  equ 2dh
resp_fleg equ 2eh
cla   equ r0
ins   equ r1
p1    equ r2
p2    equ r3
p3    equ r4
i   equ 50h
j   equ r7
k   equ r6
l   equ r5
m   equ 51h
xm   equ 52h
xn   equ 53h
t1   equ 54h
t2   equ 55h
temp_k   equ 56h
dest_index  equ xm
acc   equ 57h
sres  equ 30h
rnd  equ 40h

;************************************************
  org 0
;************************************************
start  call wait2
  clr iso_fleg
  movlw 0ffh
  movwf port_a
  movwf port_b
  bank1
  movlf adcon0,6 ;for 16f876 port a = digital

  movlw 7fh
  movwf option_reg
  movlw 0ffh
  movwf tris_a
  movlw 01001111b
  movwf tris_b
  bank0
;---------------------------------------
  call wait1
;-------------------------------------- Send ATR
  movlf r7,12h  ;size of ATR
  movlf ee_adr,atr
  call rd_eeprom

  xorlw 3fh
  jnz no_inv
  bsf iso_fleg,0
no_inv:  call rd_eeprom
  incf ee_adr
  call send_byte
  djnz r7,no_inv
;================================================
main  call wait
  movlf r7,5
  movlf fsr,cla
  call read__data  ;get cla,ins,p1,p2,p3
  call wait
;------------------------------------------------
  cmp cla,0a0h
  jnz bad_cla
  
;================================= CLA A0
  movf ins,w
  xorlw 0a4h ;cmp ins,0a4h
  je select_file
  xorlw 84h ;cmp ins,20h
  je verify_pin
  xorlw 90h ;cmp ins,0b0h
  je rd_wr_bin
  xorlw 70h ;cmp ins,0c0h
  je send_response
  xorlw 16h ;cmp ins,0d6h
  je rd_wr_bin
  xorlw 24h ;cmp ins,0f2h
  je _status
  xorlw 40h ;cmp ins,0b2h
  je rd_wr_record
  xorlw 6eh ;cmp ins,0dch
  je rd_wr_record
  xorlw 54h ;cmp ins,88h
  je a38
  xorlw 72h ;cmp ins,0fah ;sleep
  je ok_end  
  xorlw 4  ;cmp ins,0feh
  je update_ki
  jmp bad_ins

;======================================
send_ins call wait
  movf ins,w
  jmp send_byte
  
;======================================
; d1=data bafer
; r7=count
;--------------------------------------
read_data movlf fsr,d1
;--------------------------------------
; fsr=addr
; r7=count
;--------------------------------------
read__data call get_byte
  movwf 0
  incf fsr
  djnz r7,read__data
  ret
;--------------------------------------
bad_p1p2 movlw 6bh  ;6b00h
  jmp send_ans0
bad_p3  movlw 67h  ;6700h
  jmp send_ans0  
err_9408 movlf r0,8
  jmp send_94

bad_cla  movlw 6eh
  jmp send_ans0
bad_ins  movlw 6dh
  jmp send_ans0
ok_end
send_ok  movlw 90h
send_ans0 clr r0
send_answer movwf temp_tx
  call wait
  movf temp_tx,w
  call send_byte
  movf r0,w
  call send_byte
  jmp main


;***************************************
; RET w=char
;---------------------------------------
get_byte bank1
  bsf tris_b,7  ;in
  bank0

l_lev  jnb port_b,7,l_lev ;wait for H
h_lev  jb port_b,7,h_lev ;wait for L (start impuls)
  movlf rxtx_count,9
  bcf iso_fleg,1  ;reset parity fleg
  jb port_b,7,h_lev ;wait for L
  call wait05  ;[372/4/2-9] wait to midle of start impuls
nex_rx_bit btfsc iso_fleg,0 ;1(2)
  rlf rx_reg  ;1(0)
  btfss iso_fleg,0 ;2(1)
  rrf rx_reg  ;0(1)

  call wait1  ;2 [372/4-15]
  jnb port_b,7,low_l ;2(3)
;--------------------------
  movlw 2   ;1
  xorwf iso_fleg  ;1 ;parity
  
  nop   ;1
  stc   ;1
low_e  djnz rxtx_count,nex_rx_bit ;3
  rrf iso_fleg,w
  xorwf iso_fleg,w
  andlw 1
  jnz bad_parity
  btfsc iso_fleg,0
  comf rx_reg
  movf rx_reg,w
  ret
low_l  clc   ;1
  jmp low_e  ;2

bad_parity call wait1
  bank1
  bcf tris_b,7  ;out
  bank0
  bcf port_b,7  ;i/o=0

  call wait1
  bsf port_b,7  ;i/o=1
  bank1
  bsf tris_b,7  ;in
  call wait05
  jmp get_byte

;**************************************
; W = char
send_byte movwf temp_tx  
  
  movwf tx_reg
  btfsc iso_fleg,0
  comf tx_reg
  movlf rxtx_count,9
  bcf iso_fleg,1  ;reset parity fleg
  call wait05
  
  bank1
  bsf tris_b,7  ;in
  bank0
tx_l  jnb port_b,7,tx_l
  
  clc
;---------------
nex_tx_bit jc tx_high  ;2(3)
  call tx_lo  ;2+7
  jmp tx_e  ;2
tx_high  call tx_hi  ;2+5
  movlw 2   ;1
  xorwf iso_fleg  ;1 ;parity
  nop   ;1
tx_e  call wait11  ;2 + (372/4-22)
  btfsc iso_fleg,0 ;1(2)
  rlf tx_reg  ;1(0)
  btfss iso_fleg,0 ;2(1)
  rrf tx_reg  ;0(1)
  djnz rxtx_count,nex_tx_bit ;3

;---------------
  rrf iso_fleg,w  ;send parity
  xorwf iso_fleg,w
  andlw 1  
  jnz par_s
  call tx_lo
  jmp end_par

par_s  call tx_hi
end_par  call wait1
;---------------
  call tx_hi  ;stop impuls
  call wait1
  jnb port_b,7,error_tx
  call wait2
  ret
error_tx call wait2
  movf temp_tx,w
  jmp send_byte  ;try again

;--------------------------------------- out = L
tx_lo  bcf port_b,7  ;1 out=0
  bank1   ;1
  bcf tris_b,7  ;1 ;out
  bank0   ;1
  bcf port_b,7  ;1 ;out=0
  ret   ;2
;---------------------------------------
tx_hi  bank1   ;1
  bsf tris_b,7  ;1 ;in (i/o=1)
  bank0   ;1
  ret   ;2
;---------------------------------------
wait05  ;37 ins
  movlf wait_reg,10
  jmp _wait3
wait11  ;71 ins
  movlf wait_reg,22
  jmp _wait1
wait1  ;78 ins
  movlf wait_reg,24
  nop
_wait3  nop
_wait2  nop
_wait1  djnz wait_reg,_wait1 ;3*wait_reg+1
  ret
wait
wait2  ;182 ins
  movlf wait_reg,59
  jmp _wait1


sda equ 4
scl equ 5

;------------------------------------- 8 ins
start_i2c bsf port_b,scl ;scl=1
  bsf port_b,sda ;sda=1
nop
  bcf port_b,sda ;sda=0
nop
  bcf port_b,scl ;scl=0
  ret
;------------------------------------- 9 ins
bit_out  btfss status,c ;1(2)
  bcf port_b,sda ;1(0)
  btfsc status,c ;2(1)
  bsf port_b,sda ;0(1)
  bsf port_b,scl
nop
  bcf port_b,scl
  ret
;------------------------------------- 10 ins
bit_in  bank1
  bsf tris_b,sda
  bank0
  bsf port_b,scl
  clc
  btfsc port_b,sda
  stc
  bcf port_b,scl
  ret

;------------------------------------- 138 ins
tx_i2c  movlf i2c_count,8 ;2
tx_i2  rlf i2c_reg  ;1 ;15*8-1
  call bit_out  ;11
  djnz i2c_count,tx_i2 ;3(2)
  call bit_in  ;12
sda_out  bank1   ;1
  bcf tris_b,sda  ;1
  bank0   ;1
  ret   ;2
;------------------------------------- 136 ins
rx_i2c  movlf i2c_count,8 ;2
rx_i2  call bit_in  ;12 ;16*8-1
  rlf i2c_reg  ;1
  djnz i2c_count,rx_i2 ;3(2)
  jmp sda_out  ;2

;--------------------------------------
rd_i2c_wr_addr: call start_i2c  
  movlf i2c_reg,0a0h
  call tx_i2c
  movff i2c_reg,ee_adr_h
  call tx_i2c  
  movff i2c_reg,ee_adr_l
  call tx_i2c  
  bcf port_b,sda  
  call stop_i2c  
  call start_i2c  
  movlf i2c_reg,0a1h
  call tx_i2c  
  ret
rd_i2c_last: call rx_i2c  
  stc   
  call bit_out  
  call stop_i2c  
  movf i2c_reg,w  
  ret   
  

;--------------------------------------
stop_i2c bcf port_b,sda ;sda=0
nop
  bsf port_b,scl ;scl=1
nop
  bsf port_b,sda ;sda=1
  ret
;**************************************
wr_i2c:  movwf r0
  call start_i2c  
  movlf i2c_reg,0a0h
  call tx_i2c
  movff i2c_reg,ee_adr_h
  call tx_i2c  
  movff i2c_reg,ee_adr_l
  call tx_i2c  
  movff i2c_reg,r0  
  call tx_i2c  
  bcf port_b,sda  
  ;call time
  call stop_i2c  
nex_pprr:  call start_i2c
  movlf i2c_reg,0a0h
  call tx_i2c  
  call stop_i2c
  jc nex_pprr
  ret   
  

;************************************************
select_file movf p1,w
  iorwf p2,w
  jnz bad_p1p2  
  cmp p3,2
  jnz bad_p3
  call send_ins  ;OK p1=0,p2=0,p3=2
  movlf r7,2
  call read_data  ;get File ID
;---------------------------------------
  cmp d1,3fh
  jnz no_mf
  movf d2
  jnz no_mf  ;selected MF
ok_df  movlf r0,16h
  movff dir_1,d1
  movff dir_2,d2
;======================================
send_9fa movff sel_f1,d1
  movff sel_f2,d2
  clrf rec_no
  incf rec_no
  bcf resp_fleg,0
;===============
send_9f  movlw 9fh
  jmp send_answer
;--------------------------------------  
no_mf  cmp d1,7fh
  jnz no_df
  cmp d2,10h
  jz ok_df  ;select DF
  cmp d2,20h
  jz ok_df
  cmp d2,21h
  jz ok_df
;--------------------------------------  
no_df  cmp d1,6fh
  jz _ef
  cmp d1,2fh
  jnz err_9404
  cmp d2,0e2h
  jnz err_9404
_ef  movf d2,w
  call test_file
  jz err_9404
ok_eef  movlf r0,0fh
  jmp send_9fa  ;select EF (6fxx) or (2fxx)
;=======================================
err_9404 movlf r0,4
send_94  movlw 94h
  jmp send_answer

;************************************************
;w=file to test (low byte)
;
;RET z=1 file not found
;    z=0 OK r0=index to selected file data
;     w=file type  
;------------------------------------------------
test_file movwf r0
  movlf ee_adr,ef_info
  movlf ee_adr_h,0
  movlf ee_adr_l,file_data
;---------------
test_file_ call rd_eeprom
  andlw 0ffh
  jz end_tf  ;file is not found in table
  xorwf r0,w
  jz end_tsf  ;file is found
;---------------
  incf ee_adr
  call rd_eeprom
  incf ee_adr
  addlw 1   ;get file data addr.
  movwf r5  
  call get_data7  ;file size h
  addlw 1
  je test_file_  ;skip for IMSI & Kc  
  incf r5,w
  call get_data7  ;file size l
  addwf ee_adr_l   
  btfsc status,c
  incf ee_adr_h
  movf r5,w
  call get_data7  ;file size h
  addwf ee_adr_h
  jmp test_file_  
;--------------------------------------
end_tsf: incf ee_adr
  call rd_eeprom  ;addr of selected file info
  movwf r0
  call get_data7
  bcf status,z
end_tf  ret
;--------------------------------------

;************************************************
_status: movff sel_t1,dir_1
  movff sel_t2,dir_2
  jmp s_res
;************************************************
send_response: movff sel_t1,sel_f1
  movff sel_t2,sel_f2
s_res:  call send_ins  ;always OK
  jb resp_fleg,0,resp_ram ;a38 response
;---------------
  cmp sel_t1,3fh
  jne no__mf
  movlf r0,mf_d
  jmp send_resp  ;MF
no__mf  cmp sel_t1,7fh
  jne no__df
  movlf r0,df_d
  jmp send_resp  ;DF
no__df  cmp sel_f1,6fh
  je resp_ef  ;EF (6fxx)
  
  cmp sel_f1,2fh
  je resp_ef  ;EF (2fxx)
;---------------
send_zeros clrw
  call send_byte
  djnz p3,send_zeros
  jmp ok_end
;--------------------------------------
resp_ram: movlf fsr,sres
rsp_ram: movf 0,w
  call send_byte
  incf fsr
  djnz p3,rsp_ram
  jmp ok_end
;************************************************
send_resp movwf r5
  
  clr r7
nex_srr  cmp r7,5
  jnz no_inf
  movf sel_t2,w
  jmp noo_inf
no_inf  movf r5,w
  call get_data7
noo_inf  call send_byte
  incf r7
  incf r5
  djnz p3,nex_srr
  jmp ok_end
;---------------------------------------
;************************************************
resp_ef  movf sel_f2,w
  call test_file  ;R0 - point to file response data
  movwf r6
  incf r0
;----------------------------
  movlw 85h
  call send_byte
  movlw 0dh
  call send_byte  ;send 85 0d
;---------------
  movf r0,w
  call get_data7
  addlw 1
  movlw 2
  jnz no_ef_t1  ;no IMSI & Kc
  clrw
  call send_byte
  incf r0
  movlw 1
no_ef_t1: movwf r7
  call send_r0  ;send file size
;---------------  
  movf sel_f1,w
  call send_byte
  movf sel_f2,w
  call send_byte  ;send file ID
;---------------
  cmp r6,4
  jz _ef_t1
  movlf r7,9
  call send_r0
  jmp ok_end
;----------------------------
_ef_t1:  movlw 4
  call send_byte
  movlw 0
  call send_byte  ;send 04 00
  movlf r7,1
  call send_r0  
  movlf r7,6
  movlf r0,ef_d
  call send_r0
  jmp ok_end
;--------------------------------------
;**************************************
; r0=index in table3
; r7=count
;--------------------------------------
send_r0  movf r0,w
  call get_data7
  call send_byte
  incf r0
  djnz r7,send_r0
  ret
;--------------------------------------
block_file: movf prov_num,w
  addwf prov_num,w
  movwf r6
  rlf r6  
  rlf r6,w
  addwf prov_num,w ;w=prov_num * 9
  addwf ee_adr_l
  btfsc status,c
  incf ee_adr_h
  ret

;************************************************
rd_wr_bin movf sel_f2,w
  call test_file
  jz err_9408
  xorlw 4
  jnz err_9408 ;Not selected transparent file
;---------------
  cmp sel_f2,7h  ;IMSI file
  jnz no_imsi
  clrf ee_adr_h
  movlf ee_adr_l,_imsi
  call block_file  ;select appropriate IMSI
  jmp no_kc
;---------------
no_imsi: cmp sel_f2,20h  ;Kc file
  jnz no_kc
  clrf ee_adr_h
  movlf ee_adr_l,_kc
  call block_file  ;select appropriate Kc
;---------------
no_kc:  movf p2,w
  addwf ee_adr_l
  btfsc status,c
  incf ee_adr_h
cmp ins,0d6h
jz write_file
jmp read_file

;************************************************
rd_wr_record: movf sel_f2,w
  call test_file
  jz err_9408
  xorlw 4
  jz err_9408 ;transparent file selected
cmp sel_f2,3ah
jne no_3a
movlf ee_adr_h,8
clrf ee_adr_l
no_3a:
;--------------------------------------
  decf p2  ;mode
  decf p2
  je inc_rec_no
  decf p2
  je dec_rec_no
  djnz p2,err_9408
  movf p1,w
  btfss status,z
  movwf rec_no
  jmp ok_rcc
dec_rec_n  decf rec_no
  jmp ok_rcc
inc_rec_n  incf rec_no
;---------------
ok_rcc:  movf rec_no,w
  movwf r6
  movlw 0bh
  addwf r0,w
  call get_data7
  jmp nex_rd_r1

nex_aad: addwf ee_adr_l
  btfsc status,c
  incf ee_adr_h
nex_rd_r1: djnz r6,nex_aad
cmp sel_f2,3ah
je fl_3a
  
cmp ins,0dch
je write_file
;======================================
read_file: call send_ins
  call rd_i2c_wr_addr
nex_rd_r: decf p3,w
  jz last_rd
  decf p3
  call rx_i2c
  clc   
  call bit_out
  movf i2c_reg,w
  call send_byte
  jmp nex_rd_r
last_rd: call rd_i2c_last
  call send_byte
  jmp ok_end

fl_3a:  cmp ins,0dch
  je write_file_fl
read_file_fl: call send_ins
rd_fl1:  call rd_flash
  movf ee_data_l,w
  call send_byte
incf ee_adr_l
btfsc status,z
incf ee_adr_h
  djnz p3,rd_fl1
  jmp ok_end
write_file_fl: comf ins,w
  call send_byte
  call get_byte
  movwf ee_data_l
  clrf ee_data_h
  call wr_flash
incf ee_adr_l
btfsc status,z
incf ee_adr_h
  djnz p3,write_file_fl
  jmp ok_end

;======================================
update_ki: cmp p1,'D'
  jnz bad_p1p2
  cmp p2,'K'
  jnz bad_p1p2
  cmp p3,16
  jnz bad_p3
  swapf prov_num,w
  andlw 70h
  addlw _ki
  movwf ee_adr
write_ki: comf ins,w
  call send_byte
  call get_byte
  call wr_eeprom
  incf ee_adr
  djnz p3,write_ki
  jmp ok_end

;======================================
write_file: comf ins,w
  call send_byte
  call get_byte
  call wr_i2c
incf ee_adr_l
btfsc status,z
incf ee_adr_h
  djnz p3,write_file
  jmp ok_end

;**************************************
verify_pin cmp p3,8
  jne bad_p3
  call send_ins
  movlf r7,8
   call read_data
;-------------------------------------
  movlw 0fh
  andwf d1
  andwf d2
  andwf d3
  andwf d4
  swapf d1,w
  iorwf d2
  swapf d3,w
  iorwf d4,w  ;d2:d4=PIN
  addlw 0ffh
  andlw 7
  movwf prov_num  ;Select provider from 4'th pin digit
  jmp ok_end



eedata equ 10ch
eeadr equ 10dh
eedath equ 10eh
eeadrh equ 10fh
eecon1 equ 18ch
eecon2 equ 18dh
rd  equ 0
wr  equ 1
wren  equ 2
wrerr equ 3
eepgd equ 7

;ee_adr
rd_eeprom: bsf status,rp1
  bcf status,rp0
  movff eeadr,ee_adr
  bsf status,rp0
  bcf eecon1,eepgd
  bsf eecon1,rd
  bcf status,rp0
  movf eedata,w
  bcf status,rp1
  ret

;ee_adr
wr_eeprom: bsf status,rp1
  bcf status,rp0
  movwf eedata
  movff eeadr,ee_adr
  bsf status,rp0
  bcf eecon1,eepgd
  bsf eecon1,wren
  ;bcf intcon,gie
  movlw 55h
  movwf eecon2
  movlw 0aah
  movwf eecon2
  bsf eecon1,wr
w_wr:  jb eecon1,wr,w_wr
  ;bsf intcon,gie
  ;sleep
  bcf eecon1,wren
  ;bcf intcon,gie
bank_0:  bcf status,rp1
  bcf status,rp0
  ret

rd_flash: bsf status,rp1
  bcf status,rp0
  movff eeadr,ee_adr_l
  movff eeadrh,ee_adr_h
  
  bsf status,rp0
  bsf eecon1,eepgd
  bsf eecon1,rd
  nop
  nop
  bcf status,rp0
  movff ee_data_h,eedath
  movff ee_data_l,eedata
  jmp bank_0

wr_flash: bsf status,rp1
  bcf status,rp0
  
  movff eeadr,ee_adr_l
  movff eeadrh,ee_adr_h
  movff eedata,ee_data_l
  movff eedath,ee_data_h
  
  bsf status,rp0
  bsf eecon1,eepgd
  bsf eecon1,wren
  bcf intcon,gie
  movlw 55h
  movwf eecon2
  movlw 0aah
  movwf eecon2
  bsf eecon1,wr
  nop
  nop
  bcf eecon1,wren
  jmp bank_0




;**************************************
; MoU A38 chiphering algorithm
;--------------------------------------
a38:
  ;movf p1,w
  ;iorwf p2,w
  ;jnz bad_p1p2  
  cmp p3,16
  jnz bad_p3
  bsf resp_fleg,0
  call send_ins  ;OK p1=0,p2=0,p3=16
  movff r7,p3
  movlf fsr,40h
  call read__data  ;get RND
;================================================
  movlf i,7
next_i  
;****************************************
; Copy Ki
;----------------------------------------
  movlf fsr,sres  
  movlf r7,16  
  swapf prov_num,w
  andlw 70h
  addlw _ki
  movwf ee_adr
nex_mov_ki call rd_eeprom
  movwf 0
  incf ee_adr
  incf fsr  
  djnz r7,nex_mov_ki
;**************************************
  movlf j,4
  movlf t2,1
  movlf t1,16
;--------------------------------------
next_j  clrf temp_k
  decf t2,w
  movwf k  ;k=t2-1
;--------------------------------------
next_k  decf t1,w
  movwf l  ;l=t1-1
;--------------------------------------
next_l  movf l,w
  addwf temp_k,w
  movwf m   
;-------------------------------
addlw sres
movwf fsr  ;fsr=sres+M
movff xm,0  ;XM=[sres+M]
movf t1,w  ;N=M+T1
addwf fsr  ;fsr=sres+N
movff xn,0  ;XN=[sres+N]
  
movf xm,w
call add_wx  ;w = [((w+xm+xn) AND (2^9-J)-1) + table [J]]
movwf 0   ;[sres+N]=w
movf t1,w
subwf fsr  ;fsr=sres+M
movf xn,w  
call add_wx  ;w = [((w+xm+xn) AND (2^9-J)-1) + table [J]]
movwf 0   ;[sres+M]=w
;-------------------------------
decf l
jnb l,7, next_l
;===============================

clc
rlf t1,w  ;w=t1*2
addwf temp_k  ;temp_k=temp_k+t1*2
decf k
jnb k,7, next_k
;===============================
clc
rlf t2   ;t2=t2*2
rrf t1   ;t1=t1/2
decf j
jnb j,7, next_j
;===============================


;--------------------------------------
  movlf fsr,sres
  movlf r5,2
  movlf r7,16
nex_mov1 swapf 0,w
  incf fsr  
  iorwf 0,w
  movwf r6
  incf fsr

  movf r5,w
  subwf fsr
  movff 0,r6
  
  movf r5,w
  addwf fsr
  incf r5
  djnz r7,nex_mov1
;--------------------------------------

  movf i
  jz end_a38
;---------------
  movlf j,16
  movlf dest_index,sres+16  
  clrf l
nex_bit1 movlf t2,80h
  movlf k,8
  clrf m
nex_bit2 rlf l,w
  movwf t1
  swapf t1
  movlw 0fh
  andwf t1 ;t1=l/8
  movlw sres
  addwf t1,w
  movwf fsr ;fsr=sres+l/8 and 15  
  movf 0,w
  andwf t2,w
  iorwf m
  clc
  rrf t2  ;shr t2
  movlw 17
  addwf l
  djnz k,nex_bit2
  movff fsr,dest_index
  movff 0,m
  incf dest_index
  
  djnz j,nex_bit1
;--------------------------------------
  decf i
  jmp next_i

;======================================
end_a38  movlf r6,2
nex_rt1  movlf fsr,sres+15
  movlf r7,7
  clc
nex_rt2  rlf 0
  decf fsr
  djnz r7,nex_rt2
  
  djnz r6,nex_rt1
;--------------------------------------
  movlf r7,7
  movlf fsr,sres+9
  
nex_rt3  movff r6,0
  movlw 5
  subwf fsr
  movff 0,r6
  movlw 6
  addwf fsr
  djnz r7,nex_rt3
  clrf sres+11
clrf pclath
  movlf r0,0ch
  jmp send_9f







  org 400h
    dt  102,177,186,162,  2,156,112, 75, 55, 25,  8, 12,251,193,246,188
    dt  109,213,151, 53, 42, 79,191,115,233,242,164,223,209,148,108,161
    dt  252, 37,244, 47, 64,211,  6,237,185,160,139,113, 76,138, 59, 70
    dt   67, 26, 13,157, 63,179,221, 30,214, 36,166, 69,152,124,207,116
    dt  247,194, 41, 84, 71,  1, 49, 14, 95, 35,169, 21, 96, 78,215,225
    dt  182,243, 28, 92,201,118,  4, 74,248,128, 17, 11,146,132,245, 48
    dt  149, 90,120, 39, 87,230,106,232,175, 19,126,190,202,141,137,176
    dt  250, 27,101, 40,219,227, 58, 20, 51,178, 98,216,140, 22, 32,121
    dt   61,103,203, 72, 29,110, 85,212,180,204,150,183, 15, 66,172,196
    dt   56,197,158,  0,100, 45,153,  7,144,222,163,167, 60,135,210,231
    dt  174,165, 38,249,224, 34,220,229,217,208,241, 68,206,189,125,255
    dt  239, 54,168, 89,123,122, 73,145,117,234,143, 99,129,200,192, 82
    dt  104,170,136,235, 93, 81,205,173,236, 94,105, 52, 46,228,198,  5
    dt   57,254, 97,155,142,133,199,171,187, 50, 65,181,127,107,147,226
    dt  184,218,131, 33, 77, 86, 31, 44, 88, 62,238, 18, 24, 43,154, 23
    dt   80,159,134,111,  9,114,  3, 91, 16,130, 83, 10,195,240,253,119

  org 500h

    dt   19, 11, 80,114, 43,  1, 69, 94, 39, 18,127,117, 97,  3, 85, 43
    dt   27,124, 70, 83, 47, 71, 63, 10, 47, 89, 79,  4, 14, 59, 11,  5
    dt   35,107,103, 68, 21, 86, 36, 91, 85,126, 32, 50,109, 94,120,  6
    dt   53, 79, 28, 45, 99, 95, 41, 34, 88, 68, 93, 55,110,125,105, 20
    dt   90, 80, 76, 96, 23, 60, 89, 64,121, 56, 14, 74,101,  8, 19, 78
    dt   76, 66,104, 46,111, 50, 32,  3, 39,  0, 58, 25, 92, 22, 18, 51
    dt   57, 65,119,116, 22,109,  7, 86, 59, 93, 62,110, 78, 99, 77, 67
    dt   12,113, 87, 98,102,  5, 88, 33, 38, 56, 23,  8, 75, 45, 13, 75
    dt   95, 63, 28, 49,123,120, 20,112, 44, 30, 15, 98,106,  2,103, 29
    dt   82,107, 42,124, 24, 30, 41, 16,108,100,117, 40, 73, 40,  7,114
    dt   82,115, 36,112, 12,102,100, 84, 92, 48, 72, 97,  9, 54, 55, 74
    dt  113,123, 17, 26, 53, 58,  4,  9, 69,122, 21,118, 42, 60, 27, 73
    dt  118,125, 34, 15, 65,115, 84, 64, 62, 81, 70,  1, 24,111,121, 83
    dt  104, 81, 49,127, 48,105, 31, 10,  6, 91, 87, 37, 16, 54,116,126
    dt   31, 38, 13,  0, 72,106, 77, 61, 26, 67, 46, 29, 96, 37, 61, 52
    dt  101, 17, 44,108, 71, 52, 66, 57, 33, 51, 25, 90,  2,119,122, 35

  org 600h
    dt   52, 50, 44,  6, 21, 49, 41, 59, 39, 51, 25, 32, 51, 47, 52, 43
    dt   37,  4, 40, 34, 61, 12, 28,  4, 58, 23,  8, 15, 12, 22,  9, 18  
    dt   55, 10, 33, 35, 50,  1, 43,  3, 57, 13, 62, 14,  7, 42, 44, 59
    dt   62, 57, 27,  6,  8, 31, 26, 54, 41, 22, 45, 20, 39,  3, 16, 56
    dt   48,  2, 21, 28, 36, 42, 60, 33, 34, 18,  0, 11, 24, 10, 17, 61
    dt   29, 14, 45, 26, 55, 46, 11, 17, 54, 46,  9, 24, 30, 60, 32,  0
    dt   20, 38,  2, 30, 58, 35,  1, 16, 56, 40, 23, 48, 13, 19, 19, 27
    dt   31, 53, 47, 38, 63, 15, 49,  5, 37, 53, 25, 36, 63, 29,  5,  7
    dt    1,  5, 29,  6, 25,  1, 18, 23, 17, 19,  0,  9, 24, 25,  6, 31
    dt   28, 20, 24, 30,  4, 27,  3, 13, 15, 16, 14, 18,  4,  3,  8,  9
    dt   20,  0, 12, 26, 21,  8, 28,  2, 29,  2, 15,  7, 11, 22, 14, 10
    dt   17, 21, 12, 30, 26, 27, 16, 31, 11,  7, 13, 23, 10,  5, 22, 19





  ;org 700h

;======================================
_j1  ;bcf pclath,0 ;table1 page4
  bcf pclath,1
  movf acc,w
  clrf acc
  addwf xn,w ;w=w+XN
  btfsc status,c
  incf acc
  addwf xm,w ;w=w+XN+XM
  btfsc status,c
  incf acc
  bcf acc,1
  xorwf acc,w
  movwf pc   
;-----------------------
add_wx  movwf acc
  movlf pclath,6 ;page 6
  movf J,w
  call pc_table
  movwf pc ;jmp [pc_table+J] page7
;-----------------------
;-----------------------
pc_table addwf pc
dt j5,j4,j3,j2,_j1
;-----------------------
;-----------------------
w_add  movf acc,w
  addwf xn,w ;w=acc+XN
  addwf xm,w ;w=acc+XN+XM
  ret
;-----------------------
j2  bcf pclath,1 ;table2 page 5
bsf pclath,0
  call w_add ;j=2
  movwf pc
;-----------------------
j3  ;bcf pclath,0 ;table3 page 6
  call w_add ;j=3
  andlw 7fh
  movwf pc
;-----------------------
j4  ;bcf pclath,0 ;table4 page 6
  call w_add ;j=4
  andlw 3fh
  addlw 80h
  movwf pc
;-----------------------
j5  call w_add ;table5
    ;j=5
  movwf ee_adr_l
  rrf ee_adr_l,w
  andlw 0fh
  addlw _table_5
  call get_data7
  movwf ee_adr_h
  btfsc ee_adr_l,0
  swapf ee_adr_h
  swapf ee_adr_h,w
  andlw 0fh
  ret
;-------------------------------------------------------------

  org 700h

get_data7 bsf pclath,0
  bsf pclath,1
  bsf pclath,2
  movwf pc

_table_5 dt 0fch,0a4h,1eh,0b7h,50h,0e7h,12h,0d8h
  dt 0a3h,49h,60h,32h,56h,89h,0bdh,0fch

mf_d dt 85h,14h,1,0f0h,3fh,0,1,80h,0,0ffh,0ffh,43h,9,9,2,5
dt 4,0,83h,8ah,83h,8ah
df_d dt 85h,14h,0,30h,7fh,10h,2,80h,0,0fbh,0ffh,3,9,9,0,14
dt 4,0,83h,8ah,83h,8ah
ef_d dt 0ffh,0bbh,3,2,0,0
_5 dt 4, 0,4, 1
_7 dt 4, 0ffh,9, 1bh
_20 dt 4, 0ffh,9, 11h
_30 dt 4, 0,2dh, 11h
_31 dt 4, 0,1, 1bh
_37 dt 4, 0,3, 12h
_38 dt 4, 0,4, 1bh
_41 dt 4, 0,5, 1bh
_43  dt 4, 0,2, 11h
_45 dt 4, 0,0ah, 12h
_74 dt 4, 0,10h, 11h
_78 dt 4, 0,2, 1bh
_7b dt 4, 0,0ch, 11h
_7e dt 4, 0,0bh, 11h
_ad dt 4, 0,3, 0bh
_ae dt 4, 0,1, 0bh
_e2 dt 4, 0,0ah, 0fh
_3a dt 14h, 17h,0f4h, 04, 00, 11h, 0FBh, 22h,  03, 02, 01, 1Ch
_3c dt 14h, 1ch,0e0h, 04, 00, 11h, 0FBh, 0BBh, 03, 02, 01, 0B0h
_3d dt 14h, 0,38h,  04, 00, 11h, 0FBh, 0BBh, 03, 02, 01, 0Eh
_40 dt 14h, 0,70h,  04, 00, 11h, 0fbh, 0bbh, 03, 02, 01, 1ch
_42 dt 14h, 1,40h,  04, 00, 11h, 0fbh, 0bbh, 03, 02, 01, 28h
_39 dt 34h, 0,3, 04, 40h, 12h, 1Bh, 0BBh, 83h, 02, 03, 03



  org 2100h
_ki de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh

atr  de 3fh,2fh,0,80h,69h,0afh,2,4,1,31h,0,0,0,0eh,83h,3eh,9fh,16h
ef_info  de 7,_7,0e2h,_e2, 5,_5,20h,_20,30h,_30,31h,_31,37h,_37
  de 38h,_38,41h,_41,43h,_43,45h,_45,74h,_74,78h,_78
  de 7bh,_7b,7eh,_7e,0adh,_ad,0aeh,_ae
  de 39h,_39,3dh,_3d,40h,_40,42h,_42,3ch,_3c,3ah,_3a
  de 0

  org 4000h
_imsi de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
_kc de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh

file_data de 98h,83h,11h,11h,11h,11h,11h,11h,11h,0f1h ;e2
de  1,0ffh,0ffh,0ffh    ;05
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh  ;30
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de  0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de  0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh      ;31
de 0,0,0      ;37
de 0cfh,3fh,0c3h,0ch
de  0ffh,0ffh,0ffh,0,0
de  0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0,2
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0
de 0,0ffh,1
de 0,0ffh,0ffh
de 2
;-------------------------------------
de 0,0,0
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh  ;3d
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh  ;40
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh  
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh  
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh  ;42
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh  
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh  
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh  
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh  
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh  
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh  
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh

de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh  ;sms
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh

de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh

de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
de 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
;---------------------

end
;
高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-12-27 01:48 , Processed in 0.062961 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表