From 3d60ccf3a49b6d2d8caeeae5255597a1626c7dc6 Mon Sep 17 00:00:00 2001 From: n2232 Date: Thu, 19 Jan 2012 06:21:28 +0000 Subject: [PATCH] =?UTF-8?q?3rdNUP=E5=90=91=E3=81=91=E3=81=AEtag=E3=80=82?= =?UTF-8?q?=20mcu=20ver=E3=81=AF2.19?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_mcu@438 013db118-44a6-b54f-8bf7-843cb86687b1 --- tags/2.19_SDK4(3rdNUP)/OMakefile | 159 ++ tags/2.19_SDK4(3rdNUP)/OMakeroot | 4 + .../VCProj/Debug/BuildLog.htm | Bin 0 -> 3992 bytes .../VCProj/Debug/bsr_trunk.lastbuildstate | 2 + .../VCProj/Debug/bsr_trunk.log | 76 + .../VCProj/Debug/bsr_trunk.unsuccessfulbuild | 0 .../_UpgradeReport_Files/UpgradeReport.css | 207 +++ .../_UpgradeReport_Files/UpgradeReport.xslt | 232 +++ .../UpgradeReport_Minus.gif | Bin 0 -> 69 bytes .../UpgradeReport_Plus.gif | Bin 0 -> 71 bytes tags/2.19_SDK4(3rdNUP)/VCProj/bsr_trunk.ncb | Bin 0 -> 912384 bytes .../VCProj/bsr_trunk.opensdf | Bin 0 -> 30 bytes tags/2.19_SDK4(3rdNUP)/VCProj/bsr_trunk.sdf | Bin 0 -> 1396736 bytes tags/2.19_SDK4(3rdNUP)/VCProj/bsr_trunk.sln | 20 + .../VCProj/bsr_trunk.sln.old | 20 + tags/2.19_SDK4(3rdNUP)/VCProj/bsr_trunk.suo | Bin 0 -> 89088 bytes .../VCProj/bsr_trunk.suo.old | Bin 0 -> 45056 bytes .../2.19_SDK4(3rdNUP)/VCProj/bsr_trunk.vcproj | 594 +++++++ .../VCProj/bsr_trunk.vcproj.NCL.N2232.user | 65 + .../VCProj/bsr_trunk.vcxproj | 151 ++ .../VCProj/bsr_trunk.vcxproj.filters | 210 +++ .../VCProj/bsr_trunk.vcxproj.user | 3 + tags/2.19_SDK4(3rdNUP)/WDT.c | 12 + tags/2.19_SDK4(3rdNUP)/WDT.h | 20 + tags/2.19_SDK4(3rdNUP)/accero.c | 278 ++++ tags/2.19_SDK4(3rdNUP)/accero.h | 14 + tags/2.19_SDK4(3rdNUP)/adc.c | 470 ++++++ tags/2.19_SDK4(3rdNUP)/adc.h | 48 + tags/2.19_SDK4(3rdNUP)/batt_params.c | 87 + tags/2.19_SDK4(3rdNUP)/batt_params.h | 49 + tags/2.19_SDK4(3rdNUP)/bsr.hex | 1001 ++++++++++++ tags/2.19_SDK4(3rdNUP)/bsr.lmf | Bin 0 -> 177756 bytes tags/2.19_SDK4(3rdNUP)/bsr_k0r.map | 896 ++++++++++ tags/2.19_SDK4(3rdNUP)/bsr_mcu.dr | 46 + tags/2.19_SDK4(3rdNUP)/bsr_system.h | 67 + tags/2.19_SDK4(3rdNUP)/config.h | 101 ++ tags/2.19_SDK4(3rdNUP)/fsl.h | 362 +++++ tags/2.19_SDK4(3rdNUP)/fsl_user.h | 113 ++ tags/2.19_SDK4(3rdNUP)/get_ei.asm | 26 + tags/2.19_SDK4(3rdNUP)/hal.c | 182 +++ tags/2.19_SDK4(3rdNUP)/hal.h | 16 + tags/2.19_SDK4(3rdNUP)/hoge.bin | Bin 0 -> 16387 bytes tags/2.19_SDK4(3rdNUP)/i2c_ctr.c | 310 ++++ tags/2.19_SDK4(3rdNUP)/i2c_ctr.h | 210 +++ tags/2.19_SDK4(3rdNUP)/i2c_mcu-sub.c | 113 ++ tags/2.19_SDK4(3rdNUP)/i2c_mcu.c | 652 ++++++++ tags/2.19_SDK4(3rdNUP)/i2c_mcu.h | 40 + tags/2.19_SDK4(3rdNUP)/i2c_mcu_sub.h | 6 + tags/2.19_SDK4(3rdNUP)/i2c_twl.c | 244 +++ tags/2.19_SDK4(3rdNUP)/i2c_twl.h | 7 + tags/2.19_SDK4(3rdNUP)/i2c_twl_defs.h | 196 +++ tags/2.19_SDK4(3rdNUP)/incs.h | 43 + tags/2.19_SDK4(3rdNUP)/incs_loader.h | 40 + tags/2.19_SDK4(3rdNUP)/ini_VECT.c | 347 ++++ tags/2.19_SDK4(3rdNUP)/jhl_defs.h | 25 + tags/2.19_SDK4(3rdNUP)/kanaria.asm | 12 + tags/2.19_SDK4(3rdNUP)/kanaria_c.c | 18 + tags/2.19_SDK4(3rdNUP)/led.c | 374 +++++ tags/2.19_SDK4(3rdNUP)/led.h | 142 ++ tags/2.19_SDK4(3rdNUP)/led_cam.c | 156 ++ tags/2.19_SDK4(3rdNUP)/led_pow.c | 296 ++++ tags/2.19_SDK4(3rdNUP)/loader.c | 392 +++++ tags/2.19_SDK4(3rdNUP)/loader.h | 6 + tags/2.19_SDK4(3rdNUP)/magic.c | 33 + tags/2.19_SDK4(3rdNUP)/magic.h | 24 + tags/2.19_SDK4(3rdNUP)/main.c | 99 ++ tags/2.19_SDK4(3rdNUP)/nec_s_2_bsrbin2.rb | 82 + tags/2.19_SDK4(3rdNUP)/pedo_alg_thre_det2.c | 567 +++++++ tags/2.19_SDK4(3rdNUP)/pedo_lpf_coeff.c | 87 + tags/2.19_SDK4(3rdNUP)/pedo_lpf_coeff.h | 84 + tags/2.19_SDK4(3rdNUP)/pedometer.h | 36 + tags/2.19_SDK4(3rdNUP)/pm.c | 1444 +++++++++++++++++ tags/2.19_SDK4(3rdNUP)/pm.h | 216 +++ tags/2.19_SDK4(3rdNUP)/pool.h | 24 + tags/2.19_SDK4(3rdNUP)/reboot.c | 23 + tags/2.19_SDK4(3rdNUP)/reboot.h | 6 + tags/2.19_SDK4(3rdNUP)/renge/renge.c | 313 ++++ tags/2.19_SDK4(3rdNUP)/renge/renge.h | 26 + tags/2.19_SDK4(3rdNUP)/renge/renge_defs.h | 55 + .../renge/renge_task_config.rb | 59 + .../renge/renge_task_immediate.h | 25 + .../renge/renge_task_intval.h | 37 + tags/2.19_SDK4(3rdNUP)/renge/renge_tasks.txt | 11 + tags/2.19_SDK4(3rdNUP)/rtc.c | 182 +++ tags/2.19_SDK4(3rdNUP)/rtc.h | 21 + tags/2.19_SDK4(3rdNUP)/self_flash.c | 635 ++++++++ tags/2.19_SDK4(3rdNUP)/self_flash.h | 9 + tags/2.19_SDK4(3rdNUP)/sw.c | 205 +++ tags/2.19_SDK4(3rdNUP)/sw.h | 20 + tags/2.19_SDK4(3rdNUP)/task_debug.c | 122 ++ tags/2.19_SDK4(3rdNUP)/task_misc.c | 424 +++++ tags/2.19_SDK4(3rdNUP)/task_status.c | 89 + tags/2.19_SDK4(3rdNUP)/task_sys.c | 665 ++++++++ tags/2.19_SDK4(3rdNUP)/user_define.h | 214 +++ tags/2.19_SDK4(3rdNUP)/util_funcs.c | 65 + tags/2.19_SDK4(3rdNUP)/util_funcs.h | 16 + tags/2.19_SDK4(3rdNUP)/voltable.c | 64 + tags/2.19_SDK4(3rdNUP)/voltable.h | 57 + tags/2.19_SDK4(3rdNUP)/vreg_ctr.c | 611 +++++++ tags/2.19_SDK4(3rdNUP)/vreg_ctr.h | 302 ++++ tags/2.19_SDK4(3rdNUP)/vreg_twl.c | 169 ++ tags/2.19_SDK4(3rdNUP)/vreg_twl.h | 127 ++ tags/2.19_SDK4(3rdNUP)/yav_mcu_bsr.plg | 203 +++ tags/2.19_SDK4(3rdNUP)/yav_mcu_bsr.pri | 1061 ++++++++++++ tags/2.19_SDK4(3rdNUP)/yav_mcu_bsr.prj | 1411 ++++++++++++++++ tags/2.19_SDK4(3rdNUP)/yav_mcu_bsr.prk | 25 + tags/2.19_SDK4(3rdNUP)/yav_mcu_bsr.prw | 8 + tags/2.19_SDK4(3rdNUP)/yav_mcu_bsr.sdb | 335 ++++ tags/2.19_SDK4(3rdNUP)/ベースからの変更.xls | Bin 0 -> 26624 bytes 109 files changed, 19451 insertions(+) create mode 100644 tags/2.19_SDK4(3rdNUP)/OMakefile create mode 100644 tags/2.19_SDK4(3rdNUP)/OMakeroot create mode 100644 tags/2.19_SDK4(3rdNUP)/VCProj/Debug/BuildLog.htm create mode 100644 tags/2.19_SDK4(3rdNUP)/VCProj/Debug/bsr_trunk.lastbuildstate create mode 100644 tags/2.19_SDK4(3rdNUP)/VCProj/Debug/bsr_trunk.log create mode 100644 tags/2.19_SDK4(3rdNUP)/VCProj/Debug/bsr_trunk.unsuccessfulbuild create mode 100644 tags/2.19_SDK4(3rdNUP)/VCProj/_UpgradeReport_Files/UpgradeReport.css create mode 100644 tags/2.19_SDK4(3rdNUP)/VCProj/_UpgradeReport_Files/UpgradeReport.xslt create mode 100644 tags/2.19_SDK4(3rdNUP)/VCProj/_UpgradeReport_Files/UpgradeReport_Minus.gif create mode 100644 tags/2.19_SDK4(3rdNUP)/VCProj/_UpgradeReport_Files/UpgradeReport_Plus.gif create mode 100644 tags/2.19_SDK4(3rdNUP)/VCProj/bsr_trunk.ncb create mode 100644 tags/2.19_SDK4(3rdNUP)/VCProj/bsr_trunk.opensdf create mode 100644 tags/2.19_SDK4(3rdNUP)/VCProj/bsr_trunk.sdf create mode 100644 tags/2.19_SDK4(3rdNUP)/VCProj/bsr_trunk.sln create mode 100644 tags/2.19_SDK4(3rdNUP)/VCProj/bsr_trunk.sln.old create mode 100644 tags/2.19_SDK4(3rdNUP)/VCProj/bsr_trunk.suo create mode 100644 tags/2.19_SDK4(3rdNUP)/VCProj/bsr_trunk.suo.old create mode 100644 tags/2.19_SDK4(3rdNUP)/VCProj/bsr_trunk.vcproj create mode 100644 tags/2.19_SDK4(3rdNUP)/VCProj/bsr_trunk.vcproj.NCL.N2232.user create mode 100644 tags/2.19_SDK4(3rdNUP)/VCProj/bsr_trunk.vcxproj create mode 100644 tags/2.19_SDK4(3rdNUP)/VCProj/bsr_trunk.vcxproj.filters create mode 100644 tags/2.19_SDK4(3rdNUP)/VCProj/bsr_trunk.vcxproj.user create mode 100644 tags/2.19_SDK4(3rdNUP)/WDT.c create mode 100644 tags/2.19_SDK4(3rdNUP)/WDT.h create mode 100644 tags/2.19_SDK4(3rdNUP)/accero.c create mode 100644 tags/2.19_SDK4(3rdNUP)/accero.h create mode 100644 tags/2.19_SDK4(3rdNUP)/adc.c create mode 100644 tags/2.19_SDK4(3rdNUP)/adc.h create mode 100644 tags/2.19_SDK4(3rdNUP)/batt_params.c create mode 100644 tags/2.19_SDK4(3rdNUP)/batt_params.h create mode 100644 tags/2.19_SDK4(3rdNUP)/bsr.hex create mode 100644 tags/2.19_SDK4(3rdNUP)/bsr.lmf create mode 100644 tags/2.19_SDK4(3rdNUP)/bsr_k0r.map create mode 100644 tags/2.19_SDK4(3rdNUP)/bsr_mcu.dr create mode 100644 tags/2.19_SDK4(3rdNUP)/bsr_system.h create mode 100644 tags/2.19_SDK4(3rdNUP)/config.h create mode 100644 tags/2.19_SDK4(3rdNUP)/fsl.h create mode 100644 tags/2.19_SDK4(3rdNUP)/fsl_user.h create mode 100644 tags/2.19_SDK4(3rdNUP)/get_ei.asm create mode 100644 tags/2.19_SDK4(3rdNUP)/hal.c create mode 100644 tags/2.19_SDK4(3rdNUP)/hal.h create mode 100644 tags/2.19_SDK4(3rdNUP)/hoge.bin create mode 100644 tags/2.19_SDK4(3rdNUP)/i2c_ctr.c create mode 100644 tags/2.19_SDK4(3rdNUP)/i2c_ctr.h create mode 100644 tags/2.19_SDK4(3rdNUP)/i2c_mcu-sub.c create mode 100644 tags/2.19_SDK4(3rdNUP)/i2c_mcu.c create mode 100644 tags/2.19_SDK4(3rdNUP)/i2c_mcu.h create mode 100644 tags/2.19_SDK4(3rdNUP)/i2c_mcu_sub.h create mode 100644 tags/2.19_SDK4(3rdNUP)/i2c_twl.c create mode 100644 tags/2.19_SDK4(3rdNUP)/i2c_twl.h create mode 100644 tags/2.19_SDK4(3rdNUP)/i2c_twl_defs.h create mode 100644 tags/2.19_SDK4(3rdNUP)/incs.h create mode 100644 tags/2.19_SDK4(3rdNUP)/incs_loader.h create mode 100644 tags/2.19_SDK4(3rdNUP)/ini_VECT.c create mode 100644 tags/2.19_SDK4(3rdNUP)/jhl_defs.h create mode 100644 tags/2.19_SDK4(3rdNUP)/kanaria.asm create mode 100644 tags/2.19_SDK4(3rdNUP)/kanaria_c.c create mode 100644 tags/2.19_SDK4(3rdNUP)/led.c create mode 100644 tags/2.19_SDK4(3rdNUP)/led.h create mode 100644 tags/2.19_SDK4(3rdNUP)/led_cam.c create mode 100644 tags/2.19_SDK4(3rdNUP)/led_pow.c create mode 100644 tags/2.19_SDK4(3rdNUP)/loader.c create mode 100644 tags/2.19_SDK4(3rdNUP)/loader.h create mode 100644 tags/2.19_SDK4(3rdNUP)/magic.c create mode 100644 tags/2.19_SDK4(3rdNUP)/magic.h create mode 100644 tags/2.19_SDK4(3rdNUP)/main.c create mode 100755 tags/2.19_SDK4(3rdNUP)/nec_s_2_bsrbin2.rb create mode 100644 tags/2.19_SDK4(3rdNUP)/pedo_alg_thre_det2.c create mode 100644 tags/2.19_SDK4(3rdNUP)/pedo_lpf_coeff.c create mode 100644 tags/2.19_SDK4(3rdNUP)/pedo_lpf_coeff.h create mode 100644 tags/2.19_SDK4(3rdNUP)/pedometer.h create mode 100644 tags/2.19_SDK4(3rdNUP)/pm.c create mode 100644 tags/2.19_SDK4(3rdNUP)/pm.h create mode 100644 tags/2.19_SDK4(3rdNUP)/pool.h create mode 100644 tags/2.19_SDK4(3rdNUP)/reboot.c create mode 100644 tags/2.19_SDK4(3rdNUP)/reboot.h create mode 100644 tags/2.19_SDK4(3rdNUP)/renge/renge.c create mode 100644 tags/2.19_SDK4(3rdNUP)/renge/renge.h create mode 100644 tags/2.19_SDK4(3rdNUP)/renge/renge_defs.h create mode 100644 tags/2.19_SDK4(3rdNUP)/renge/renge_task_config.rb create mode 100644 tags/2.19_SDK4(3rdNUP)/renge/renge_task_immediate.h create mode 100644 tags/2.19_SDK4(3rdNUP)/renge/renge_task_intval.h create mode 100644 tags/2.19_SDK4(3rdNUP)/renge/renge_tasks.txt create mode 100644 tags/2.19_SDK4(3rdNUP)/rtc.c create mode 100644 tags/2.19_SDK4(3rdNUP)/rtc.h create mode 100644 tags/2.19_SDK4(3rdNUP)/self_flash.c create mode 100644 tags/2.19_SDK4(3rdNUP)/self_flash.h create mode 100644 tags/2.19_SDK4(3rdNUP)/sw.c create mode 100644 tags/2.19_SDK4(3rdNUP)/sw.h create mode 100644 tags/2.19_SDK4(3rdNUP)/task_debug.c create mode 100644 tags/2.19_SDK4(3rdNUP)/task_misc.c create mode 100644 tags/2.19_SDK4(3rdNUP)/task_status.c create mode 100644 tags/2.19_SDK4(3rdNUP)/task_sys.c create mode 100644 tags/2.19_SDK4(3rdNUP)/user_define.h create mode 100644 tags/2.19_SDK4(3rdNUP)/util_funcs.c create mode 100644 tags/2.19_SDK4(3rdNUP)/util_funcs.h create mode 100644 tags/2.19_SDK4(3rdNUP)/voltable.c create mode 100644 tags/2.19_SDK4(3rdNUP)/voltable.h create mode 100644 tags/2.19_SDK4(3rdNUP)/vreg_ctr.c create mode 100644 tags/2.19_SDK4(3rdNUP)/vreg_ctr.h create mode 100644 tags/2.19_SDK4(3rdNUP)/vreg_twl.c create mode 100644 tags/2.19_SDK4(3rdNUP)/vreg_twl.h create mode 100644 tags/2.19_SDK4(3rdNUP)/yav_mcu_bsr.plg create mode 100644 tags/2.19_SDK4(3rdNUP)/yav_mcu_bsr.pri create mode 100644 tags/2.19_SDK4(3rdNUP)/yav_mcu_bsr.prj create mode 100644 tags/2.19_SDK4(3rdNUP)/yav_mcu_bsr.prk create mode 100644 tags/2.19_SDK4(3rdNUP)/yav_mcu_bsr.prw create mode 100644 tags/2.19_SDK4(3rdNUP)/yav_mcu_bsr.sdb create mode 100644 tags/2.19_SDK4(3rdNUP)/ベースからの変更.xls diff --git a/tags/2.19_SDK4(3rdNUP)/OMakefile b/tags/2.19_SDK4(3rdNUP)/OMakefile new file mode 100644 index 0000000..42baad6 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/OMakefile @@ -0,0 +1,159 @@ +############################################################ +# 環境設定 +############################################################ + +# マイコン開発環境のインストール先を環境変数で指定する +NECEL_ROOT = + if $(defined-env NECEL_ROOT) + value $(absname $"$(getenv NECEL_ROOT)") + else + value "C:\Program Files (x86)\NEC Electronics Tools" + +# cygwinのインストール先を環境変数で指定する +CYGWIN_ROOT = + if $(defined-env CYGWIN_ROOT) + value $(absname $"$(getenv CYGWIN_ROOT)") + else + value "C:\cygwin" + +# GCCバージョンを環境変数で指定する +CYGWIN_GCC = + if $(defined-env CYGWIN_GCC) + value $(CYGWIN_ROOT)/bin/$"$(getenv CYGWIN_GCC)" + else + value $(CYGWIN_ROOT)/bin/gcc-4 + +#デバイスファイルは NECEL_ROOT/dev に置くこと +#自己アップデート用ライブラリは CC_LIBS_ROOT/以下に置くこと + +SUBDIR_INTER_ASM = $(dir inter_asm) + +CC_ROOT = $(NECEL_ROOT)/CC78K0R +CC_VER = W2.13 +CC = $(CC_ROOT)/$(CC_VER)/bin/cc78k0r.exe +RA = $(NECEL_ROOT)/RA78K0R/W1.33/bin/ra78k0r.exe +LK = $(NECEL_ROOT)/RA78K0R/W1.33/bin/lk78k0r.exe +OC = $(NECEL_ROOT)/RA78K0R/W1.33/bin/oc78k0r.exe +LCNV = $(NECEL_ROOT)/RA78K0R/W1.33/bin/lc78k0r.exe +DEVFILE_ROOT = $(NECEL_ROOT)/dev + +CC_LIBS_ROOT = $(CC_ROOT)/$(CC_VER)/lib78k0r +CC_INCLUDES_ROOT = $(CC_ROOT)/$(CC_VER)/inc78k0r +S0RM = s0rm.rel + +# セキュリティID +GIVALUE = 1B339499E033F240BFAAh + +# ユーザオプションバイト +GBValue = 7EFBFFh + +DEVICE_NAME = 9F0104 + +FSL_LIB = fsl.lib + +TARGET_NAME = bsr +TARGET_LMF = $(TARGET_NAME).lmf +TARGET_HEX = $(TARGET_NAME).hex + +# ここまで +############################################################ + +############################################################ +# ソースを追加したら編集する箇所 +############################################################ + +SRC_FILES[] = + loader + pm + i2c_ctr + main + magic + WDT + i2c_mcu + i2c_twl + led + rtc + vreg_ctr + vreg_twl + adc + renge\renge + accero + self_flash + sw + task_debug + task_misc + task_sys + pedo_alg_thre_det2 + ini_VECT + task_status + led_cam + led_pow + hal + batt_params + voltable + pedo_lpf_coeff + +INCLUDES[] = + ./ + renge + +# ここまで +############################################################ + +.PHONY: clean BeforeBuild + +AddRel(files) = + file_names = $(addsuffix .rel, $(files)) + return $(file_names) + +# *.cからinter_asm/*.asmを作るための関数 +AsmProgram(files) = + foreach(filename, $(files)) + asm_name = $(addprefix $(SUBDIR_INTER_ASM)/, $(addsuffix .asm, $(basename $(filename)))) + c_name = $(addsuffix .c, $(filename)) + + .SCANNER: $(asm_name): $(c_name) + $(CYGWIN_GCC) -MM -w -I$(CC_INCLUDES_ROOT) $(c_name) | sed 's/$(filename)\.o/$(SUBDIR_INTER_ASM)\/$(filename)\.asm/g' + + $(asm_name): $(c_name) + $(CC) -c$(DEVICE_NAME) -y$(DEVFILE_ROOT) -_msgoff -irenge -i$(CC_INCLUDES_ROOT) -ms -qvjl2w -sa$(SUBDIR_INTER_ASM) -zpb -no $(c_name) + + return $(addsuffix .c, $(files)) + +# inter_asm/*.asm から *.relを作るための関数 +RelProgram(files) = + foreach(filename, $(files)) + rel_name = $(addsuffix .rel, $(basename $(filename))) + asm_name = $(addprefix $(SUBDIR_INTER_ASM)/, $(addsuffix .asm, $(basename $(filename)))) + asm_win_name = $(addprefix $(SUBDIR_INTER_ASM)\\, $(addsuffix .asm, $(basename $(filename)))) + c_name = $(addsuffix .c, $(filename)) + + .SCANNER: $(rel_name): $(asm_win_name) + $(CYGWIN_GCC) -MM -w -I$(CC_INCLUDES_ROOT) $(c_name) | sed 's/\.o/\.rel/g' + + $(rel_name): $(asm_name) + $(RA) -c$(DEVICE_NAME) -y$(DEVFILE_ROOT) -_msgoff $(asm_win_name) + + return $(addsuffix .rel, $(basename $(files))) + +$(TARGET_LMF): $(RelProgram $(SRC_FILES)) $(AsmProgram $(SRC_FILES)) + $(LK) -y$(DEVFILE_ROOT) -_msgoff -o$(TARGET_LMF) $(CC_LIBS_ROOT)/$(S0RM) -gi$(GIVALUE) -pbsr_k0r.map -nkd -gb$(GBValue) -b$(CC_LIBS_ROOT)/$(FSL_LIB) -bcl0rdm.lib -bcl0rm.lib -bcl0rmf.lib -i$(CC_LIBS_ROOT) -dbsr_mcu.dr -s -w0 $(AddRel $(basename $(SRC_FILES))) + +$(TARGET_HEX) : $(TARGET_LMF) + $(OC) -y$(DEVFILE_ROOT) -_msgoff -o.\\$(TARGET_HEX) -nu -ki $(TARGET_LMF) + +BeforeBuild: +# ビルド前に必ず実行したい処理 +# OMakeがタイムスタンプではなくMD5でファイルの状態を管理しているので +# 残念ながら cleanしてからビルドしなおす必要がある + C:\Windows\system32\cmd.exe /c $(CYGWIN_ROOT)\bin\touch magic.c + if $(not $(file-exists $(SUBDIR_INTER_ASM))) + mkdir $(SUBDIR_INTER_ASM) + +hoge.bin: BeforeBuild $(TARGET_HEX) + C:\Windows\system32\cmd.exe /c ruby nec_s_2_bsrbin2.rb $(TARGET_HEX) + +clean: + rm -rf *.prn *.rel $(SUBDIR_INTER_ASM)/*.asm *.omc .omakedb .omakedb.lock + +.DEFAULT: hoge.bin diff --git a/tags/2.19_SDK4(3rdNUP)/OMakeroot b/tags/2.19_SDK4(3rdNUP)/OMakeroot new file mode 100644 index 0000000..16f4b11 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/OMakeroot @@ -0,0 +1,4 @@ +# +# Include the OMakefile in this directory. +# +.SUBDIRS: . diff --git a/tags/2.19_SDK4(3rdNUP)/VCProj/Debug/BuildLog.htm b/tags/2.19_SDK4(3rdNUP)/VCProj/Debug/BuildLog.htm new file mode 100644 index 0000000000000000000000000000000000000000..826ce7ce8cbd63fbd1c0dfd05436b1b710c41607 GIT binary patch literal 3992 zcmeH~&u>&!6vvM)o0#w?ywm`Sna*ho0xdNH9U{=uANGf2#xygX9~~K(Ix|H}(4C1| z6O$TOni!)&cbKrzy$cCTC9X7aNeC-;#;Bij-n*R{+dzvUVbQ$2_wJ8#&#!yV_n!OD z-^XN0T5?fp@{&9wJ!1Wm~u>=ZAg>Z7F<{OmXXviFR~`+W^1~&E5N^qyg;!G zkJ3i31YI=i#4bG&B!769Aia;f8;IminYp# zRS~T`>r1RO?W=riP&8>>@zED#Fwy2`y{k7hl6(4{#-2`Z@G&`QBn53_xuMss`vLfy z#2QZ%Kb!n2p0A*TcFfsKk*7V^w#KX~Lfh#RTf5mC85w1_NAZbyV;^z~E_FE3*gUd* zZl~ZAo}F+z;8MExcF8>(yt?-3t@A@z@T=a_@AVtKu0N^uP1}Yn_%5!X{RMeSZ&mjc zY;F`U7KpTpT$OqE)1VBvT`}*lOF{1T_vk_KWxlkxJHBEcnlE<}TLVdK-O%6lzDL&` z{hC(LJn%BUyYXc)zjd^B$CsQtQNFET;>o+@tKr*_s7q6;1Wr?_NII0=`UFJ1p>gTO6+HzTQ z*f!0~veUJ&Fsz9=byH^0r(XU0ki@$!M!3BC5F-<28@|Rr+(D zp;pIOZ5PQ=FwL;84}?=W%sCm4Sf2EN1a&ZE6)9EF#VX1O4NkfSn{|tvzLB7g;bbhO zk5v)aYL!jY!K>-L5+}K#h9OxIJxuO7>^UxH!L1k%tQxZ_%GP%x%&b>@htS$kqm2>! zAA+a*p&rw<4~lwLKLmNQ`U&`Ll3zuR*&OTf_z7ePbv7laC#f?|fb{f10+t z)ynp2>+WhLu7K@UQTJ-4Og7nxKZHlqWVh8Whvf)W!~%H}=SMDy`&3d#q`Y2fGHW=I zBeolyt5z-N{G1Q*o$IKXtqxjoSw$Hm7b@gJe3!JU=Ysw=@mh9PKT6K)IBPan<5t&1 z63+Pns`K*NnVATT2~n}V7&heSyv?*LaJw-ER2l&Rw!Y_Vee3&wRr$kWI*r%E?bT@8 HH}QV~c8B5A literal 0 HcmV?d00001 diff --git a/tags/2.19_SDK4(3rdNUP)/VCProj/Debug/bsr_trunk.lastbuildstate b/tags/2.19_SDK4(3rdNUP)/VCProj/Debug/bsr_trunk.lastbuildstate new file mode 100644 index 0000000..ed27c09 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/VCProj/Debug/bsr_trunk.lastbuildstate @@ -0,0 +1,2 @@ +#v4.0:v100 +Debug|Win32|C:\78k_data\yav-mcu-basara\trunk\VCProj\| diff --git a/tags/2.19_SDK4(3rdNUP)/VCProj/Debug/bsr_trunk.log b/tags/2.19_SDK4(3rdNUP)/VCProj/Debug/bsr_trunk.log new file mode 100644 index 0000000..e8f4cb4 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/VCProj/Debug/bsr_trunk.log @@ -0,0 +1,76 @@ +2011/08/02 17:36:43 にビルドを開始しました。 + 1>ノード 2 上のプロジェクト "C:\78k_data\yav-mcu-basara\branches\sim\VCProj\bsr_trunk.vcxproj" (build ターゲット)。 + 1>InitializeBuildStatus: + "AlwaysCreate" が指定されたため "Debug\sim.unsuccessfulbuild" を作成しています。 + ClCompile: + C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\CL.exe /c /Z7 /nologo /W1 /WX- /Od /Oy- /D _MBCS /Gm- /EHsc /MD /GS /fp:precise /Zc:wchar_t /Zc:forScope /Fo"Debug\\" /Fd"Debug\vc100.pdb" /Gd /TC /analyze- /errorReport:prompt ..\WDT.c ..\accero.c ..\adc.c ..\hal.c ..\i2c_ctr.c ..\i2c_mcu.c ..\i2c_twl.c ..\ini_VECT.c ..\led.c ..\led_cam.c ..\led_pow.c ..\loader.c ..\magic.c ..\main.c ..\pedo_alg_thre_det2.c ..\pm.c ..\renge\renge.c ..\rtc.c ..\self_flash.c ..\sw.c ..\task_debug.c ..\task_misc.c ..\task_status.c ..\task_sys.c ..\vreg_ctr.c ..\vreg_twl.c + WDT.c + accero.c + adc.c + hal.c + i2c_ctr.c + i2c_mcu.c + i2c_twl.c + ini_VECT.c + led.c + led_cam.c + led_pow.c + loader.c + magic.c + main.c + pedo_alg_thre_det2.c + pm.c + 1>..\pm.c(1274): warning C4090: '=' : 異なる 'const' 修飾子です。 + renge.c + rtc.c + self_flash.c + sw.c + コードを生成中... + コンパイル中... + task_debug.c + task_misc.c + task_status.c + task_sys.c + vreg_ctr.c + vreg_twl.c + コードを生成中... + Link: + C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\link.exe /ERRORREPORT:PROMPT /OUT:"C:\78k_data\yav-mcu-basara\branches\sim\VCProj\Debug\sim.exe" /NOLOGO kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /MANIFEST /ManifestFile:"Debug\sim.exe.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /PDB:"C:\78k_data\yav-mcu-basara\branches\sim\VCProj\Debug\sim.pdb" /TLBID:1 /DYNAMICBASE /NXCOMPAT /IMPLIB:"C:\78k_data\yav-mcu-basara\branches\sim\VCProj\Debug\sim.lib" /MACHINE:X86 Debug\accero.obj + Debug\adc.obj + Debug\hal.obj + Debug\i2c_ctr.obj + Debug\i2c_mcu.obj + Debug\i2c_twl.obj + Debug\ini_VECT.obj + Debug\led.obj + Debug\led_cam.obj + Debug\led_pow.obj + Debug\loader.obj + Debug\magic.obj + Debug\main.obj + Debug\pedo_alg_thre_det2.obj + Debug\pm.obj + Debug\rtc.obj + Debug\self_flash.obj + Debug\simFixture.obj + Debug\sw.obj + Debug\task_debug.obj + Debug\task_misc.obj + Debug\task_status.obj + Debug\task_sys.obj + Debug\vreg_ctr.obj + Debug\vreg_twl.obj + Debug\WDT.obj + Debug\renge.obj + LINK : 前回のインクリメンタル リンクで C:\78k_data\yav-mcu-basara\branches\sim\VCProj\Debug\sim.exe が見つからなかったか、ビルドされませんでした。フル リンクを行います。 + bsr_trunk.vcxproj -> C:\78k_data\yav-mcu-basara\branches\sim\VCProj\Debug\sim.exe + Manifest: + C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\mt.exe /nologo /verbose /outputresource:"C:\78k_data\yav-mcu-basara\branches\sim\VCProj\Debug\sim.exe;#1" /manifest Debug\sim.exe.intermediate.manifest + FinalizeBuildStatus: + ファイル "Debug\sim.unsuccessfulbuild" を削除しています。 + "Debug\sim.lastbuildstate" のタッチ タスクを実行しています。 + 1>プロジェクト "C:\78k_data\yav-mcu-basara\branches\sim\VCProj\bsr_trunk.vcxproj" (build ターゲット) のビルドが完了しました。 + +ビルドに成功しました。 + +経過時間 00:00:04.00 diff --git a/tags/2.19_SDK4(3rdNUP)/VCProj/Debug/bsr_trunk.unsuccessfulbuild b/tags/2.19_SDK4(3rdNUP)/VCProj/Debug/bsr_trunk.unsuccessfulbuild new file mode 100644 index 0000000..e69de29 diff --git a/tags/2.19_SDK4(3rdNUP)/VCProj/_UpgradeReport_Files/UpgradeReport.css b/tags/2.19_SDK4(3rdNUP)/VCProj/_UpgradeReport_Files/UpgradeReport.css new file mode 100644 index 0000000..3411f63 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/VCProj/_UpgradeReport_Files/UpgradeReport.css @@ -0,0 +1,207 @@ +BODY +{ + BACKGROUND-COLOR: white; + FONT-FAMILY: "Verdana", sans-serif; + FONT-SIZE: 100%; + MARGIN-LEFT: 0px; + MARGIN-TOP: 0px +} +P +{ + FONT-FAMILY: "Verdana", sans-serif; + FONT-SIZE: 70%; + LINE-HEIGHT: 12pt; + MARGIN-BOTTOM: 0px; + MARGIN-LEFT: 10px; + MARGIN-TOP: 10px +} +.note +{ + BACKGROUND-COLOR: #ffffff; + COLOR: #336699; + FONT-FAMILY: "Verdana", sans-serif; + FONT-SIZE: 100%; + MARGIN-BOTTOM: 0px; + MARGIN-LEFT: 0px; + MARGIN-TOP: 0px; + PADDING-RIGHT: 10px +} +.infotable +{ + BACKGROUND-COLOR: #f0f0e0; + BORDER-BOTTOM: #ffffff 0px solid; + BORDER-COLLAPSE: collapse; + BORDER-LEFT: #ffffff 0px solid; + BORDER-RIGHT: #ffffff 0px solid; + BORDER-TOP: #ffffff 0px solid; + FONT-SIZE: 70%; + MARGIN-LEFT: 10px +} +.issuetable +{ + BACKGROUND-COLOR: #ffffe8; + BORDER-COLLAPSE: collapse; + COLOR: #000000; + FONT-SIZE: 100%; + MARGIN-BOTTOM: 10px; + MARGIN-LEFT: 13px; + MARGIN-TOP: 0px +} +.issuetitle +{ + BACKGROUND-COLOR: #ffffff; + BORDER-BOTTOM: #dcdcdc 1px solid; + BORDER-TOP: #dcdcdc 1px; + COLOR: #003366; + FONT-WEIGHT: normal +} +.header +{ + BACKGROUND-COLOR: #cecf9c; + BORDER-BOTTOM: #ffffff 1px solid; + BORDER-LEFT: #ffffff 1px solid; + BORDER-RIGHT: #ffffff 1px solid; + BORDER-TOP: #ffffff 1px solid; + COLOR: #000000; + FONT-WEIGHT: bold +} +.issuehdr +{ + BACKGROUND-COLOR: #E0EBF5; + BORDER-BOTTOM: #dcdcdc 1px solid; + BORDER-TOP: #dcdcdc 1px solid; + COLOR: #000000; + FONT-WEIGHT: normal +} +.issuenone +{ + BACKGROUND-COLOR: #ffffff; + BORDER-BOTTOM: 0px; + BORDER-LEFT: 0px; + BORDER-RIGHT: 0px; + BORDER-TOP: 0px; + COLOR: #000000; + FONT-WEIGHT: normal +} +.content +{ + BACKGROUND-COLOR: #e7e7ce; + BORDER-BOTTOM: #ffffff 1px solid; + BORDER-LEFT: #ffffff 1px solid; + BORDER-RIGHT: #ffffff 1px solid; + BORDER-TOP: #ffffff 1px solid; + PADDING-LEFT: 3px +} +.issuecontent +{ + BACKGROUND-COLOR: #ffffff; + BORDER-BOTTOM: #dcdcdc 1px solid; + BORDER-TOP: #dcdcdc 1px solid; + PADDING-LEFT: 3px +} +A:link +{ + COLOR: #cc6633; + TEXT-DECORATION: underline +} +A:visited +{ + COLOR: #cc6633; +} +A:active +{ + COLOR: #cc6633; +} +A:hover +{ + COLOR: #cc3300; + TEXT-DECORATION: underline +} +H1 +{ + BACKGROUND-COLOR: #003366; + BORDER-BOTTOM: #336699 6px solid; + COLOR: #ffffff; + FONT-SIZE: 130%; + FONT-WEIGHT: normal; + MARGIN: 0em 0em 0em -20px; + PADDING-BOTTOM: 8px; + PADDING-LEFT: 30px; + PADDING-TOP: 16px +} +H2 +{ + COLOR: #000000; + FONT-SIZE: 80%; + FONT-WEIGHT: bold; + MARGIN-BOTTOM: 3px; + MARGIN-LEFT: 10px; + MARGIN-TOP: 20px; + PADDING-LEFT: 0px +} +H3 +{ + COLOR: #000000; + FONT-SIZE: 80%; + FONT-WEIGHT: bold; + MARGIN-BOTTOM: -5px; + MARGIN-LEFT: 10px; + MARGIN-TOP: 20px +} +H4 +{ + COLOR: #000000; + FONT-SIZE: 70%; + FONT-WEIGHT: bold; + MARGIN-BOTTOM: 0px; + MARGIN-TOP: 15px; + PADDING-BOTTOM: 0px +} +UL +{ + COLOR: #000000; + FONT-SIZE: 70%; + LIST-STYLE: square; + MARGIN-BOTTOM: 0pt; + MARGIN-TOP: 0pt +} +OL +{ + COLOR: #000000; + FONT-SIZE: 70%; + LIST-STYLE: square; + MARGIN-BOTTOM: 0pt; + MARGIN-TOP: 0pt +} +LI +{ + LIST-STYLE: square; + MARGIN-LEFT: 0px +} +.expandable +{ + CURSOR: hand +} +.expanded +{ + color: black +} +.collapsed +{ + DISPLAY: none +} +.foot +{ +BACKGROUND-COLOR: #ffffff; +BORDER-BOTTOM: #cecf9c 1px solid; +BORDER-TOP: #cecf9c 2px solid +} +.settings +{ +MARGIN-LEFT: 25PX; +} +.help +{ +TEXT-ALIGN: right; +margin-right: 10px; +} diff --git a/tags/2.19_SDK4(3rdNUP)/VCProj/_UpgradeReport_Files/UpgradeReport.xslt b/tags/2.19_SDK4(3rdNUP)/VCProj/_UpgradeReport_Files/UpgradeReport.xslt new file mode 100644 index 0000000..8277446 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/VCProj/_UpgradeReport_Files/UpgradeReport.xslt @@ -0,0 +1,232 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+ ソリューション: + プロジェクト: + + + + + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + src + + + + + + + + + + + + +
ファイル名状態エラー警告
+ javascript:document.images[''].click()src + + + + 変換済み + + + + 変換済み + +
+ + ファイル + + + 1 ファイル + + + 変換済み:
+ 変換されませんでした。: +
+
+
+ + + + : + + + + + + + + + 変換レポート + <xsl:if test="Properties/Property[@Name='LogNumber']"> + <xsl:value-of select="Properties/Property[@Name='LogNumber']/@Value"/> + </xsl:if> + + + + +

変換レポート -

+ +

+ 変換時間:
+

+ + + + + + + + + + + + + + + + + + + + + + + + +

+ + + + + +
+ 変換の設定 +

+ + +
+
diff --git a/tags/2.19_SDK4(3rdNUP)/VCProj/_UpgradeReport_Files/UpgradeReport_Minus.gif b/tags/2.19_SDK4(3rdNUP)/VCProj/_UpgradeReport_Files/UpgradeReport_Minus.gif new file mode 100644 index 0000000000000000000000000000000000000000..17751cb2fd5c284dfe984adc4c769982f73a0a66 GIT binary patch literal 69 zcmZ?wbhEHb23ky~TYXIqG7FYlP literal 0 HcmV?d00001 diff --git a/tags/2.19_SDK4(3rdNUP)/VCProj/bsr_trunk.ncb b/tags/2.19_SDK4(3rdNUP)/VCProj/bsr_trunk.ncb new file mode 100644 index 0000000000000000000000000000000000000000..c3df73580a39448b36d235699ff9a4453c3fcdab GIT binary patch literal 912384 zcmeFa2b>kf681gegjGOtT2@$c&OuOABnT>qA_gS6k|nbw@v1}>F<}-Fb4102iV;*0 zbB-5t&T_?g4d4H%nPHnCd8y1Kf$x=+7xBc@F*oIHAZevj5Y znm5nyci8^yZsa;$QB_#td=mpv zJdqi7w(a8j=G<45!ykXV^T!`M`@dTuJL5ZR;Qt3TaDJ<{{?8k?98`g>`_q8t`#1Ua z>Ash@+<49Su^ZYf+RgJ?Pb!!=s*qsBv8|^UOdB(5`nXA>Cr95WP98a9!l>fkM@*hL zv0&233F9Uu_l+Ajsc`zpQKRE*3TDh!rV|UMMA?iSH*M62>651&KdWH+h_PX$3>3Pn$7m{E&hXBSuY|+-gMW?iw+9(&%wx zT9xuy<0g$LEbTqVjh!%DZ(iE_W)zN^rW>im(%yP(;k4m}#}`f?HL=(9i3QWgmVDQL zl+}o7)&>73i!h|)?H-BL;}n=oo*X>U=-Q9muE*h~6bX>UXB4WBTXDlBzJ_-A*`8ae%+ z)QBWdX4L$#)`v1Ye zF>TbblP8zDttS?Y8CU9#Ik8~eq|#RVl*yAzU4t4kh8Ij2Gkp5kX`|q)>FrAWROK*X z%IM)ECXX6Dy0k69&{Ik_IksT>^x;!bsU~hm+U}TL;`S@$12uk^@|MC;6GjgoJ)xj* zY^m>@RoXiwCI5jkGrgb?MRnA%Gscwmfp+J_afPL>6}z#Jk#a`iKYAuwVrlOyoK;$e zbegV|1LIb8w3N(Z_x*#xK*LTcA2n^%q%ot0*#G|{x0bSEoTvVyk;}c`cxc?jiK9l2 zE0|vDxkkyHCQYANq#8yO#;p@QslJ-|jbq}t6)c)Wj-EDZ)P!+`)1$fE%u&+{(Ex3B z*@wyLNf2vMUikiqKl=B)?a^{?4?FqQ-%jleWUpS&_b!Av3R^p4UxoK1g;7G z&lI8s;a8MXWm--BbRfK*MEetVe@L%er)!ugalkMKFd-3c$HoUI94bAM&R zUwO`+gbgWQ6GHuM$GEU_{QnE<%g*t?$P)E`>GAqW#zXR#EztY8qfIq-}T?zA$my?=#-rT{6 z%gc!)SF4depzGei_37L*hdzD-;oW@K-&&|EWom(V=uEn|>DJ3g^E&a3q?rqT1Zlp8 z&f*Qs`XhJm`Gr0_Z~MBIsi15@;E8DYP8A3|awQ4qX9V30(zU4P66W3tb0Y z52?Oygl>XXLN`OVK(|7xpxdC^pc$CDaOP4Yh&VLmi<`&>m1{s0*|wv==0P+8f#j+80tg z?+0~SG+0Hk65AgC|Y4>}m?4;=y>3Jrh`g9bu}Lq|YILPtS^Ao0of z&<~JQfS;hBp2X%*fKs}*e(EdOM2s9KL1`UUffeIk0 z3uBZLl=wHx@&`HqA&|GL9 zG#^?3Erb?9r$DDdr$LLM)1eOVhg3?bS=T`M(EX6))%B2M*p1M7XagiU`XKZW^f0s* zS_eG>Jq~Szo`9Z&o`N2Q9)qM#N=1^oCRIpkP+h1VR3B;pHG~>LjiDw`QwULQDq9P} zmQX85s*}__sf1Gdq*6<5l!`4iRI0SpHmT53tE9Shg`|>74cr&%2JHuRhk8IgpX>7jz&7n%pHf^LK6LkpmV&?4v*=v3%5=nm*k=q_kAbT@Pl zbT70Rs_(;NgiD|^pfjPfp>v=HTx$q5f*M0jprznzpmU+~p!1;%pbMdkph{3>=yvF0 z=n`ldbSbnPssdGoszH}QE1=7vE1)Z(tDvi)`=IJj4d^WB*nl>GMna>YW|XBZ)DBw0 z_Y7(N_`@5dP@`*#|22jsc-HXH3ke@7!q=8Dypok$xJ5jh{eC z_yciGDFPnU3ThAS0Zj)J|7cvKSUf*t()tVUJg-MFaAzV*?k~p^$t77yf-}y&9 zy+ok5s6@S0kN?*wtUJ?u?uz3%ObhkK!u6gH#qlysU-f3nJ<8Mfp5uG*JYNIjpS6%B z-TB|n8rW_PSWHWNZPlI=NaLHw4gr5T6 z!@(u1X=VNx+Z|l;TNlIt^&DI>8x5BalElF!$I*WIpsPA~O~XI&J|Rpyc&_2^c<&JY z26H6uTg&iG-X_BD9X!wQe|!HX{7CrRsGfH>e52_+uR3^b!yh+&=uro+WB8+{6RmOZ ze8V3x9qLZueAhTp*YK-s+`81k>lwbn#A`9M3g9^Ly@z>rv`7e}P|~JZ95q3C^SWyT;TkrAidL(W?kQYTWA2?BjT}@a1UsKYRC4mE!&b(CyEs2ZZFP z^jTm0s4JbBxs3AO^uB~S)PEKsCDf-BuR>q?o=i2~j`qIet{JeX?!Vt#O?t%^c{5-W z#m0H!5ye_~9Vv}^%XQ2b?j`lJ-V5Gq-n-ss*v^J=O{oH3ZL7Q+dhdB(c(PvUsi&js zt2Zjm0+atrGv3?m?c(pv^Ofda^7}0=!NJ~%TWdihmF}xzb0WponIzCXgL(g-;u7v_ zsdPQ--NfCxzKA*SP5IINwY}rw5~O@_no7`sQhx3=r0!L3r!q6T2uUmcS3b>6YALp> zCmvLqy38Ucc|X`3L|4k0#-kXTd)yM!JoRW{?L5g8#rE|k#<4Q~-K0~$7|kqjnzcdJ z7jLS>wJGtNaV=cvz4<_N_u<~vV3JL0*+TCPM(VzF1?4=`t6DL7n{m9sMV_R9@K)YK zaUFi`_2y;8Nh-Uz;Rf352k#uNs}`a+dOl8lp{M?=vNWY`y2quy$NQo}lzIqr(c3-A zTs`G{Pts8}(}l7X!gafIMc*g#tnYcsb;OnOZkvVZ%0XPaj%$)*y3)ogPfsXbBS*!2 zS;u>wx>35i-cjVOlD*}9>^&Ky`8KcA^)j9$lw!@iU%9&?v4bhq5UaCAyt!IfW2RbJ zZ=rgW6wy8TR=}J&id+5Ae$PcMz%`Dl?0{?xzv#j@>+s7P_~+_hF1x@yb0K-FXo9 zividlj^Gt_=V_)NNbl&tH?WlEpL^e1B!4>@z9v{h^55<$!uK$|Um%;=CI|0q_zHgo zMYs!om0T={!{as-#S@wN6$2y8x>eq*19q8W*dkIV<*p7#C!{>1GO0!)qG1iIgOp4tsf!lWKtjioPUX_u-CQ4P%UZl-stWpDTI^uOaX z0Zvt_M}wTOBX{W9e*O)9rQqjK+NbV%JkYqMR2TVI1*_?eijNA$2O6z3|Jsk7@AcRE z&-kzSzxlfaqk{>-H{tiSqx-)IR@aYWQ@q;bsk@H}jtw++={-*Nm-y%VW9U(O+B^Q3 z6;W(vD4UJ2Gr~5MQ)N3W(48ZKHjhSEJ`U7=%H?Y>$3N89xTkL;y|vyK{u>pdRGY## zP)CHn5PT5S4Qtkq@B;sRo+Zt!Ei$AF(&8rXCp6nXm|vxtu{QAA`A7NV{R#d=e`D}z zFgzR`UPWIOPoILd?P4rt*I*fYz`N?PD98JQtJX(v7^KRk%J4{)y1w7gKhB@zFNte= zet1JTkPe`l=o&r}R(T}4yKQ(P-9TJBm{z`kHH`21Xhc@Z8~vxk6L}A-rQo;x=#Ba? zvltJwt)5@eWbivB@MvCeF)y%f`YOm-_?@=hjb|Y**723Us#ZG{3^zFvW)Bv}>zkeYl;y?o zNbem*{iwDjABpl;-dstBIJjzFD~6hvB(kV8ajk3Vp3we}?%prP(q;t}=G&T-Vp&`H zQY>X_tID?wxoWLUXyB1#4SHK)GluEas|J=Kg$0vJTB?fjq!0h zmgPIGXPz5e6fA^OxyUL)5C3}lwEFx8f1|&Ne*a(J4>Cddpkh!dXi3i#m+t2sLqC4N zYsr)J{owG3urRzS{HktLu8!Ws`Vl9V^V|5+s#JJ`f-Tp)VQ~pc- zJN|qA$NnvFJj_E6ULIZ^UL9V`=XyRjkgqJZdbdM7>1C=9$(JAMMe!f}roj*7s**Gh zS_f@{cELN`p>);!*1qQ0y8E2qa+*fyLr9=^D3#C};c%X;5kP}{-2NSm z;9`I>POF+>Rk}mdCTq0|97+gA&Ya&-&z9YPqt^)3mjZEmyGAKTqo&O)@THb zZ08BC_E0K)m(@GLBfUWO?`VBG!4;|%b>DSP`baN`#{Zr6{~g=^kMOUH`Rt9LQGV3^ zKZlLr1WBc8ta%m&vx3<{jj(ChB|Ja8Fua8E|GJn{{s=yfWAy{+`{Drgv<6{|ux;2i z>>l=dzeg!K< z*V9+-;!_@8rny-Qew|(*Zu%npBK#$+abCpl&r;fp$tU2-5TsTO((7phf*HY_U_o#t zw}^NCgUxymf2cp!pXy&3>mHJBb&*=)p+xWa*fftT$whZ9p$3+Pmzm5tuYOdL)?Q`C zW?lV^l6)C{6>bi{56=TLo@TtRoT{4Y8tY1z+f1eV>Av?{Bca*{(u-8SI^iCa;I{CwaAWvv_DU=0{P|{(q0Hk(adp-)-yX zCGG!_eZHjqKeEG@wEv%D>+2=$|7X}5d`bI%WS=i-|3A&v_)FUVPca{WlJ@_T&3~Yz z{r@EMEhuUKpKWv9;`aZNcK&D_E~#&4O=j-3s<=KJ&D-lEo43`gHOIu7N26_v?`m3I zNxePNFG}j+k^bC;Mvwb*yuNUV`6_H-UJ&C`L*s+U{`|3nn~cWu1(D~y?%-)lAK_0s zxbpM7d_L%a4j$?+6Q^iC)N=cdcVZ6d0VZ>W4sAvB6)wF*Mf3Mu6M!HM!d(Z_?u`J zuGna^66?LYW9gfM9dfp(H&M-X!B^xwPjgG9Jk6^T<4v(`wDwl&bul3d=tVsJL*Z}J^5qkTPx=7y}U&GUTpfb zo?GCF8&sNn>aHx$QE8iE!)b#RNA@wbvaUDfx+H?`TI7jG6+6V6AD3dbr+zN%JWrge zH)uf0(^=Cx+Z$Rdc}jz=cGfy@=>SR~{?!xeai=sd@vz=x4&Fj%b4_^`7&k|$&Niv2 zx0;Ag(#c!xqQ2KHF4df^md$aVq?>X$-Mh3!RH`o2%|2c?e6hswDrX)1s>ajaClcRj z|KDl<-)a9>AN-$f|5q=}@z$+~`s4AwR>6c#wv{hEQFDhG{-u7i%OZ(T3*X$&Nw0q2 zGB`Xa1lJucyu3J8)7unZf6MO?G-Mdk^>e&y$y*ZQPCPN*^*-VoV=0odp%+ByKeZW>?yTx38puFf*B17*KPN9rcc%Bt?a|#A zlTz#4%ISG@f7KWjKy5tbz3)Bf-yGL?6MTs~<1^e3TX(X`eHXsY?`&PszRz1to_fwa zTLn-_TljnWgZyFjBm6nr!lo3r_>JSV)%@EojIQ49)x+AXtLJ#K+AH?D+1-`Xp;#T- z`kK!PzsTGFx+wOW*E$}>@AFz$im*?;$#+C=bgoy~pG|tb-2zrne}V}V-@qEX@)7a> z-BE0R>({z|BWsw2v5qy+YhO3I>r`wYnmOvOD!%5NidFUVV!dXOw~5-){Wbmm{zvf} z=J}%@iBk6T)dzGvWH-aXacMvE4vy=GHGgvAvG`;k=^cZ|^GDu%)(Ic;^GT~(n8Zl` zNioe!`8D*L`v)+AR(b9yPl&GnL=heoG3Z`~S_FvF52lEBn&%gwFKlda^qU4b7IU z*scCow?)_c`vv}2aSheBb$eN|n{9pbnOK-Mz>)9pZk_#+epC;gV$18j-VfZX=UhZf z$XcM>tNL}~e(;%jCb}aX4}Th$+ed_QT6nL@aZ1v%jT<6`Tj$3 z51(%~7GYOGptEV)<4mjJF1yZ#(0MGf4$x-*r_UHJg`Dgj(`OEw(NWaRLW?Y*q&6r8-Z5G9d zyT`*N=X=*O(j{&E1y+)VSOYuz-QzZY*k8vxKISL3$&sFHiYo8TzAS`_1%5$19+&qI zs~cej{$a6%IKy;qrCYewcVVdYB=PsX^ruhpw4q6`0EKY-&HgPs@z-@xK9BgYw!Ndz zDqLc*YvIc>r#y#v_fQ?GgZ194-mJI}-t5hauOIK-^FWmHR(~z+0IO09;>Gjf#_qoK ze)YAV*%qufm0yGEw*~7@BmK{4X+33k^K1~loE4+t{vB~Y80y`zdz4-hYo$MJeN>jZ zepmlPo~ClCem}f4%I8<_!{t%z8((9o@^0ik6JK58Jp-nvTu(o^$$J&fRt}Omns2C_ z?U<7`_B;3;Ay$=1tT&QfvK^sza}4Ew)k%W4H~awe0nnOtf_E^yx9uxQY{AN>qv8A8 zo)gKXBz@#(5%~>HbMQSZ{hqd`MSI$k^qmcl=KESTPVg>9gn#J&BN=tK)t@6i zdhOxjc*J)NO5l;ceG0vQ+k7H@o5iPMcm-QoF6mzo`5lz>FNpj-rMFRh(}#Io{yO?v zGe4T~B*Cdz{#M!kQmrv3IO2-G#kRMuyOTaz7wGSe z{!G52)@ptty+!5H9OC!q*tbQv z7Zo8NGKHzq<53T}R;wsFh+}>Eus{>!cYL?z8C&ALF4^R4E=r&?94hF4}?G)^r>Gr7#G!Z#{_oq1X_i z$JEaL6Sqa}co>ppHLHi;uv#OY)gA4U&-XdQBmEsBB>>1l>rf>b}FRMIpiM~}v)2ZkOacNSXdXb*o-)p`uO3{(| z*j|2O(X38QiX(Mzb@pi<>0QQ5NUd6hT{yMaF(hqI^WbXK{vqs&Je@jzf?3%cr08gR zo${}<)dvO(D(|SC@*ws9A)3`6_DxS%>(%ue`>iO6p3n&mWp5vwIXx@NqbXO^25-PI zA9Lro`0swt>e%n((T*fa6?#WdSIWN%`-k+Y=|4={s?Qu^y2nuO7|N;Dm6NFF)8RmU z&NV)Hof`kpa`aebl*~|HYG&;rK2n=RoTGFq!S_5}&#&o6`##E6h}t*n1@rgk-agoU z&m-JYr3mkB_!s!7(ytu6kKvz5*YqxT@B zKEUv|sdL6|Dq3<+^>&!yZ!v3RoOkenhDYm?^3zVzA8z=Y%--=-bnqh#e*=DDpRI!* zY541KDe}?5k23rSDJ_nD++i3k$^PMDrh8O-$<-`7J2bVq} zZ^={mU$delJza&rXg`zYi3wiG@CDdo*cTZ0X6kPWti#`Y+grWdNgs`q(K_l<2d`=A zqjl6%9lVy|C)$dLW?{*5cQ^b5WH{?}4qnIbIkrzpGvFkBUBi#Jz2cgECU||rqjlOn zi}0xp44;k%33Dn3Z)kWSvna-F9u~Lrphkx8&5W3Jbux|hvVp>PVV)&izHCa*-jex^ z4ex4u_T}xG;7ttQ%k-dU9K5OF(Y)v(2XAJ0G%vct!J8W%&5PuXl;q#S@ICDO0C~eD zcuT`O+1UbTIe06>qkUQOW=+z!HoSwKN$_y(2&df#3a`ZIs&H(azBcdM#_(vLm3$+W zkMOpJNBgY0Ie0t6qkUHLa7@y-H$2*BmFM6c43G50tb=R*St(u*mWOkakLI71yl9`* zhYr4n;f?Klh8G;Xv*C@HU!%J??<+i)5epXaZi?|HyjK^)qxq-20rgzrnwRE!`FuQY zu7hh{n#xo+S2(!F&s?;)hY95&mgKMTGnbP(9wL;*Ex|Q@=3)=JmvD}QYy8Yb zGq{IP{;^4Vji0%uZ!-6E@cxG1VDlJRc9ZlPKXcJPuP5y7;2J-3(KxRm?CRheKXdW7 zyPB}IgCAyiwEwlCgAX+PN_1StX9w5#nTvLF8R2dYuJJP$dlKrRmv-2jIZ==s0p7rn3Y&Bdai@_y#vDn~B<7pjj}9bDzkWk#j? zTkGIs4IgCZr`+n`;|xE-&RDtB!H+Zia65nHbO%>G=3=)Hf6Z}l)q5`MEaJy84z6~} z#eS`R)8E0>uDP59qkguBgNqMxvG%E7HgfPOhWEmk1O9RFsfPFTBqwqle461s>>L{T zttR}VaWogry)vQ9$_cJWF+8%n1?;j2m_-H5vjSv)!1`K1X#;jg1XvIQsVy4>f=qLXDutP*bQG)EsI7wS-zht)Vu5xz9FPm(+aU-FH^pCXjrW9YJYj zXK=B^-ms&v0~Mir_aW>LX-{uszW>=C-or?fLz*(s8PF-vMUd`k4rwp&U*&Nmc`Sog z#Nm5!Si3wH2WS!`UHfp9(`%v4(7qKJH=r_=I43Bk)r2)+u+fm_5MM*R-=GXt@Ii&N z-?$f{s4sLFGz=OCO^?67M%gz(C-ePG=u$}b(klp)ea_bs*M8>*q1%YBhMpmQAK}B$ zBaoh@dRR~VNl3Pt6qJ)6&53(#wPN1pN&oQSyGGtpB$HyJJ?YGfon-646o6Ur5@rKu zGJ{e77jh`0fb1ssdeUf>db-UC6g%BU!+_Wwq)?9#nlT+(u{mC1&s^#yJDz)Z$=It`?7A1S;f7x@(jt%~P>vp5``+o$NKF%qqvx zi~+;U(?c>v8j-XmX;K>BmG(+6SwmjxN!J$E(MEH{SQ8?h%5*(%r@5cdGdyX3Sz^00 zmM^C+qZXEqr0WmcY)~G=0Td*&Ii)t|qk=D`)zw%2S)VknSwB#@4+! zojl2LVP$NkRV|f=KKHP<7Ohdbv+m8O4y)!z>3VM6RWsRaXR7Df%`Pik)bhn_}0P?x>V^!V~iQ6}r^Z$}OEVuJMF>t~XA**;*he zr&@V~X-v9vlBcml`6(yqw?fyN<{@+hZ7Z!s@loWanW|D8?@8BIY`u9W(ooDaPiB^` zIh^o4Y!p_km(5EREA%uYS8RbN8-ikIdKzVwe`VgIe}04>=p`$!vptQHO1Y~ieL^V* z@J7js>qyhGg+4@Im!_|@k9ogRBZ@6G?N+g?P2W`P0&jhs?h#M624Saqx8_H=A3@)f z#wYYRvn?pL(6kN34%oWNdV*;J!gjMck~pFcH6}@Ov)3)Ii58|$(NySAQ7e3wAN9b& z#ygtLD31-cs#=X$dI#-z?^ceBT2gaq-QC%&BZ{5kNgq>-9By(%TB^Q{v3{yKq*68Z zG;3FEPfz-!V#7@%R9zko4?G;#d)m{yS=SqwhOF3lb{*GyPALAv# zOWMa87+%so*3j^h_OV8WNA|G-#z*xj+4mY7{vy_I)(;)LiQzA>s|MNS;7tvW_7~J~ zaM>yPU`2k8a90O!ZuqmTlySNd<8<=e7KT5KeVqO24lX-IA5LC;lJE@&Z)Nxs(YcHc z-rDf!{G$6Dyp7?}`9(K5cw57xdGDnT-p=r7-g}0Fw>LbR_e$SL%HP58Xx=-_!DWwt zK@z=k9Z~*vp8vz($=}ZNe{!uJcAo#U^ZcKk{{K7u|9ATTOTYV{?f?IOdi`(b`5)1` zNXh*L|L>gtF&)0`6WfD7Di`U6vLniV*(bIKKk4AIU-n@pBm4V(4letpcI^)&)KA7p zzf?Z5U-rSf?J&ag9bERyKCwOcUk)z&WuMp{tn-DEe3)y2NA}vG4*oC0BYUmR!bsAe zXn1%0Mw#O~_(_KE=j}(>+`&&ayqnjJu$F_*H9YeF)V}&8|9OT->!Lc_Bf;kz9<7UR za_|L)N9&>+9eknT(YolJ4!+3nXkAn%ktF$_VtBMJy2!y#H9T4u)nS)O`qK=L^wpsb zzS!{ST*}@Ke!Ah&xn2F4oMFmTJI4Bd=cVELB1P#GYcGCASyk1Zre2#_fKHBiIK{;@je~vSJ*Pslz%Rdth&k1$`cll?E;h7){?(&c1Etd2k z4es)f?vv7i&unF1w)5 zFA-e@E@!qRpSKLZoV`16sgwRa!!Pw$fPd%U9~yoMyM2%k4*rSZ7x@>1H+Ay=!te|H z3&HC-_}7M?$4P<6B`2TFhA;Kc1%J)Kw-|o5e-8LY2mjIVGueTJ)N=Cw#qcHm8Q|-j z^uHUv*gqZoeh2sY?(>UKrxC7p@RZ?;{8I>5Ik?W7@!2J{kg&D$+%ksG_2&`hIk?W7 z_q~(+lL_m?4@v!3GJKAI0$~jY*SYvUdyHoj?&jb+ci(3hY$0KegXbAOky8n=Iy-nB z!^d#m5`GF!dFmNHk`w3n{Uir(X!x=0{o|}A2XA8dG3?{Rzr(>>7(R?$O6=uu@HU1Y z%`Q0n9UQ#9;YYDgl+zm>yp!Qa_(u{x>EL@BKF~j$@O}r^`5Qj_Di0%E?cm)FKZLU* z@gH&UUWOmcPEA%M9lVd>ef@rfS3CGYh9BrFyv)H5HoT9o->|ya!Sy^JAN1aY=Q{X6 z!+ZLA{t^d2%JA-f55h$bKG^VXwvXau2OnnmKK{Oh$2+*%!)H}Mzrl4q{F%r}wJZId z4|`)ATzuerSMXuY(7`7deyRPA%xMlj+3;od8#40M968u)fBY#+p;|YF; z;gLVA^s5A4ZFuAlEBz|L?=?K~hn2pR;13u+i(O8UUXAYHxM$rwpIM88z%zbMWU3kNni6ZzuV@WO(F{CVe}>Uo|}P zN0Yvk;BOcn`J+i+O7KmFNB(Hz9sC``BY!mMQAzsu4UhcMS`^_^KQKI+*T01Fr}-Ot z&H&*dtGSwIv_W6eyz2rlnD?RK(fqWlgMZ}U%bk3L=injIg8Tc#=`SXqj}4FfSO+=y zCx%Ds3&%P5r-n!8CY|8m(*JVsb7)5XXE^xhhDUz5Lp2_8o%dS%h2i)6_Y)rJ;9nZP z#$Q8tsDn!%&EZr)@m+5R|Jv|-{Cf!Zaqw>pzngPQS>Jc?Zw+7Vi?7=`xXzi#;WwUi zR^}l3X;RMr7#^J?_8sk&;NKZO&zr~loaW$L44=w5p3FNO{CmSAf5QVE{0GA$|G|b1 zF1k+|`-^eh zz2~3A-Tu0x`~Pmbr2K!D*ZY)vGnB{(<*T&G_dmNY!Cl#=Hc~qz?W{T!2|wbpD4t-y z^UUl+*e#%{P(IWQY6D3oy3`qL2#XWLp+EB%chg^w-B5ZLY6D)BQ$5X96<_8(<;yN4 zeR~zVKAZYyVndaML@OmV_{E0hjdJNAj|7kz&8j>8VP9^2vL*c+d~M)?$W&5Dzw zH>$x|+p>_T{N?>4{5=Bc#i&OTKwiHSywGoi)!;P$TR%V0Ojju9XZm^A zNKWtrPP3MMPxbQvWopCeb!7rsic%oe{W1KaMepEdG&VhJ|6RULo5=f_+R_A16j?K`_0ruLw^w#X4z#_`ZE3@e%nCSROS7+|29ui z-de4@&A-hbMmk;j-n%}2eq-;GIJUQ0HI&Ph)blsqm^keZW^EE)$v@iPE706bWjc;M z{0*>%EcCzh^MY^VXBGz9fcXj6N8^uq93`J%dy+IioPvMsbmpNmnY+%4{ef<5Pj(s;ClF3u*+pL0(Wh$PeoA zX%I9Dngq>)7C|e1BSOCt(Sc8=pmVTi(3Q_Ve7XhQgPy_uL7zY~A#r6tegi?XH^tB9 zL^)ZS#f$6dbuD|XCf!^J|tgp(o8ZFT) zIOS;h{mOsX=Z|G3PNNF>bQj(j@t*%0@yi9u@?6xD|ZdzvNco%=AWmIY0{@>DO)Q+i>I z-{Ln2WJgyGu0(1!fCInsWkFXRKf$j9%=Od3@qey=Iw%{lWeae>tDae67&v>U#gXNl|M&YsASC=X;y@wmaWC!yl;b7WJ$A3PHC(s|9-QWBhvWNvya1=F2Xi(jHeuiG7l>?=yNw0r4e)ma%)>ZVRySz=D@^Ut7kg~++No)Lzh^Zys z_TOdg?S22X_{!wq3YNlkB^f(qozOk~y(@^RrY9qzrufs4F0=f1z-4*Cy>V~nMPsR2^4RLbwD;ny~iv@jh0yPFGPN{31rz&ioT3}vQjF=@m>YE za}X<0IY@^}an1{D^-OQ4U#07a+^QZ7h`D2nS?1M}X(VRD;C`N~(lob~S>?$t5PHD@ ztTO%NHwm;pq?~SHWN(C&-0W)wLid+N!nO~zo~Zku@KckcSPicy3(YF&OxjWF!>B97 zccJg~W9{b?Bw~v|c66n=gkL4s+NSb&+SjUz@~(`$-aEKEE?YCNQ(XGZ-dOUhMPhdh zb4Raak4rLg{h4mFqtWUCXRIoXUgK&t(OED1GB)jp1nogx_hNkN%?Nb>W7I*6QvDdG z`ZG=)NZ~uk!up8)(P~DlaUegkQ)mb zyH259PD2Kq&iHi(BiLE+^Er%S=OXpbXB@kbk?dl6@iIoU<&0)mFrHn-h;|KQ+I99j zN?LO*u7kbqzs=`e#F%h4Ge)Up91+C$QMC=3i4r)e}jA<?tw$z&%m_-ORe; zEMKc&`o0V8QHy+Uk2$WXr}Yi-=PAg^Wifva476IU-f%aXZ6~yWnt|5K#IZTFYV)8z zDfKOnRtf{HEh&#n;cVGw#p8GTTA5euN&ojaHY1RAQYjDe?(wyvqxcfE#NKg=d;C+0 zNxr=1zs^T3^S-Y&E#-8Dt%|E$Ytgbh(5h8~3g<-EW(8fyTd4-ynwd)HvwLRuK$c6E*x7ec3Wqf=*sH?~%CYmGd8o(@zLw>(_NoYxSqIsL_G=xn86L6=^`* z>Oazc65VI}de636k93|y<8ieety4)#oyG~#E$Bbz!)vVqt^Vu%S2O2m4`){nv|g!q z&C=tV25-f0QPGzjUT=NB|5hBE5@^j$?{g+nOzT3s5}$(%YD*uy0=}27Cap_roys#q zPi`D&rCN98BI|3!wLLqi8_V>{-oe3@6pY7Tk6UFt=Mo+D`ko;u(e+0yBkuV zW1tlf@#G%t$P@R;lCI~BWEY%P4fXbCkv1QRG0#s?Prpuz?zq;g?T_|P^dCSM(;XUD zWM@`}HxNT=r*w&2oJ|R-JZjg@KU}i9>Y4j^ni+LN(^9CSM=TNEu`O^*=p|vyJHwB$w zn*TN5RHrASm3BbVUguXqW@z13tsrfuA}clW^ALyK$9%RG@-!Q0WnH=KiX3kpw1OLy zelV;3%kdb|`hn{G0Q#5K@brX2IHxINz*)%4M!_s{R0=&o-UrI7D)PQZ@MFxG(}T5( zqIX?j{&>n`29l;ZlGLuy95uTUr47YK4NK&Q*S#Ft+X+`dOG7%y+AATLN8*L+=h{L zxxXtsAio0T7%+d7A7ONAK@{p;_6xKgb5XYGev#ZQetoqct=DLmvgC4dor#{+MGvnm zCmNOY?mi-Vm*hH0?Qd^Rn_Nmv?~(jPzgVNZQruaaJ&#Suqodbj!nV&)UMgc{N?4w- zPPJ{XCuQisduNg2gKUzig*`s7+zF%~*t8&vDR^kntaEe27ug!MKe@#QlEL$&Kr#m>w&CbQB1Sy*2kq`JY=DyJR~-*`&&ep*kC@LD;wz&kD4n%?lr-maEjxaulNU)kG| z-2(euM*doVPIxUMZ&%k(V7D zGb4EAoXX(Y#Zh^bkH)>~UX`3G;Cscm-nWe5RqeUM9lWgJ)pDwley)R;GrW3Eb?~bl zTuoZZ1sckn8P*UqU8exrj|HM~wv9q^3~4x5rseoj94Ck|fS@VYs5!E@j@wUhXe zWiisHbJE~}gV%KMO%5Ll&-HvuUzYJh<>rKxdFpGNoRTAd(R>H5Wq6nqg12|@Ji}8t zDR7M-NqID5&-H%K{tm<3=HRs*{H!8;fbcx;7fate&YzQ6=1Df>dB0|VC7)v*Jm2u& zvcG|!Og?G8s~<)9Pg(sI!IYx>2i3LoKW2XfFL3aBhX0WL0lc4+PlSJ;)vqxW&M11X z`j)11LtHpcq7AQYeV~X@WzI>Hh=j;9lVL*)y+@* zKnHJXcr|70$Uc*>AF(65-&78vc3qbMQG1KFsh>v!83|g__Ypxmf^2tUjhGgeo;Ow-H`sJ>`UMeIrvJ$pUplC zeu0C_pE}QbI{P&Ecn5#X@W-={gLilEXANJUT@PNv!CyCgZFVjAH}i_h^RD3!Wgh}x z@8F*rz9zc{{O-9$>3=YMb#^uQkq#cfH+kM2**n0eI`vS&@LRLDf_HQ9-3`AfdlUHg zCl}@4%<${7*MVQ`;CmQ;b@poT9uD5q@GG)cfPYOR#r(YXaKkUlUIu=NgO4(NSypG2 z_jK?=!!OES1pdv5Mfsd;`1#rM!GCu6ME=Qn-qP$+@MTVV`8no!XJyX<-_OA>Gki%_ zXQzMoucG{KH2k#eY2XVTT>e*i-oorc@VXAZ-tf8Ex!@a4D9YzW!%xhf2wv#m@{h~& z=49u9=R3Iid7d{bI}7}oIYs$snvmyB&rS!Q5GW_%+$V zhZ#OGoCu!l;Kvz$TzDM#dWWy(7(ON(13tyUPcwXEI1;>;gP(7BL0AC3!Qr13h7Sve zflqbt>kJ{Azfwuow8X4!$ej^Sti-iZbWjICwR~_YL$d5eXt&U ztb@-p{J!8m@b(UVy5XyWRp7tREXseW;nxJ$fS=>w7aD#^a0&P+4t|m0=klA&%-kLP zV#Ci0&H|U+Eh+ychA$2lgAa4?Wrj};rh*^n;FlUcF_;M6+`*R{J|-9gp6lQ%3?Cj0 z2e07Zmm7X$a3uJ5Mf%LzD-7=!^aKCM!LKyDZ_pR~6$ih{@ZQ*HS=V>)s}0v`CpJ_E zzsB$`wr_HdgI{ZS3oOK}OgZ>kThw`|ad}oz&+IhX2?0t9??WkFCAY z@XfZLOg4xl{Yt~%^WXECtD#&b_|1k#`?Nl6P=w!N_&R?520sJ`zt!-_Z&zz5Nj|F# zU&ZeV!RHQsyW!W^KBrd-i_+g=_=Q?G^42)`ora%d`-g@&_-eyXz>3GY-_wfn(Qn!y z|FJ0|XB>Qu;YVXt^Somm{C>j^vi%};9sB{q_p|*RyE*uShVO0rHh!5}^xTIG-;a zOYl(+zTWWY_pFCH_y)tHbIz+d_~V90=iC2|jW%iDjfO|(Q+?y$PZ%DZ`?SHqpEmqK zPVPsJIrwviN54aTy@TtQUh+7z?OxK~?%*#O9-Z?$&%s|Y{7%k!LtZ)fYlh#!nRwVE zu)`$ff8FqF`7Ids6*>I;hT+lgfXMGCN&lwd(Rro;Xn>U}z*5BT>O#9hSR=5H1zts{ z5>y%DMDV{nQ?x8;%0at9<)M72E~K+Xqw_?ku891#zNn5LFLWN?uY=^jbvxnxF|8w% zUzaGs6n+zb|B*1~a^~kTbtK#$Itu!P_e*Fj-xom3p_R~m&}-0-P;dqM6O=qBxu+_a z=-?XUPuK*K|JRC|+xm?qK4Hzc-U;dn9SjYFCPF7cr$T2y=R=o5S3@^JcR*{P?cMuV z_vyLYyKhI&EOX`d@ACp?_o*Wl{E?mMkXv%ULv#0Rfz=N|P_J#XAK+wZG$z>7ae_pAed z0(u^L9de)h4&QflkDE4;35^ii+q-9bX^YE`6S#K)bo!sO=MEln@T?K@7#ZKDerslZ>HaC<&Mjhiu)+*9|KlKCg?y1g;#q#dN+Ui9-o2{(GAzH%@CqVd{^`n3eR!6MeKTB7W30-o%cpD{oF56C; z^GBWR@GO0gpLrp1l`;9Qa7D4}ck%rR=mqEvC;m3^ub}Va@Mpqu_haLR6zVq{ zl6>FJW9@u0b6gLP<)Ch;^@bGjJ;V9oYnidx3E10wzBdYHa7C%=hV?_OS}NX_waUhe zBJYuQ*-qI#v-7j3WN*mcoV_ipT?1*-48XtetH8g!@dQEym`s4JE z>FSv#nHHJ-Glyl4%uLOkl$oDdp1Cn|OXl&+rp#NJcQWs0-p_oH*^>D_^JC_x%rBY$ zW`587!RCb^o64rM*=$aB*KC<=x$JJ)3fYR;%GoN}+S$6<2HDQpuGxLFJ+ghW2WI7r`89h&T<;$KwrXEkdn0h1iZtAntSE+APTiC*}Yr1;64K?^e`t|fX>Ce(%r~gA;2AN$l6*9S* zI+^-bt8Fu#Gy7)xWcp_MTm25njL009Da_2u%(0q2HFH+xg3OA{Rhet8&hN;q$*j#h zk$EQbeCE~6YumKIN12Z^pJqPGe3AJw^L6H%zug)&vNdUuI^NF&GVL~vmYc!)-E7wOPGH^dB-RAy z(UOa4%QIMiJewB1fHu9DR=t#U&=staUdj6DHLR^(Pb=R^JKs%9-)C*T&RTn;wfA$@ z;;&kpzh$ldp|$%Lw0z6Br`(@?B>P16`Rr@ix3eE*zs$;)N&LPAPl{c0>h$xxZhZR$ zKkje+bA#o<^}!v%gTcn&rQq%0vtSF`Zz_g$;?EV~GvN#2i+ob4wy9yMC8>K;AEoN0 z4^A&h-;>^$elq=H`i=Cv=@024pQgV_Z%+T5{%<o)XVhDOwKIJ ztk3LC?JcGT?&R%0ogbCzmP{4i=}r1>SxU7mxHh;gxIfqsybx>(J_-I4{1%i8cMsp3 z&Av*mlXaL4tA^FW>fsNmpHe@kQt5O$lP;IuEnPmHo3544OE*e4PB%%nPj^UnOm|K1 zlkSo3l|C@tH+@KYK>En^p!D!`LHgMA#Pp=}kg7m`lqV(D6bJ9!G%hQ*o zSER2^U!T4?eQWy8^lJM5{pq#oN782?QzR+g@Z|-d8l9injaJdxjPSF9-jkx(QQje2 zWAgZsR7&H=wWTn+exa}RbIHL;;TM^fwEV?LJmt|dr=Ve!cL(0Lw^uL=oC~XhyMnt} zX?i$V$2!!L!PBf>y&JsG+SV7rS3%jZveiiQutnH1Y#p`<+p{{?jg`9|tm^I0%HaT3 z6%S{{@hDa=k7Z?Z6sw+NSy`RVs_U$oda6dMPO5IIQL0I*WvVsuuVZRY>-*hP zJyX3>eNzXg4oe-LIyyB3xp-`9j7fsYsi~=HspC^8q~@mPr%p{RPMwKdI3Kw%G_L3I zR?pL|p66LTpK0~H>`&`?gYnfq1%Wx&GhB1WyG_q)CRrtC__vRkvO z7|)Vk|9JLE>*+7hD?Z46Y`yy{dbd2I#795iZ*?F%B5rBy$=^t^YC%_cOFTK5{Y|rd z`CEv;#)cnd8Y5wTjQiIW!AkgO9sKhe-1AlNQ;?-6)elE*GhU8_XO(M}oFii1o*2lZ zO;|eTmx)nHj>3an>oqFXo~+*dvLGr!ig9dH_E9*uI#u5#S;&i1bBPsbY zJREUwBq6KAw+Yvt4aY8rTW`!nym}ve`ZzrLe-DSs$3d-iWT;gtwb1>nO=(3*@!MHP znuipxO?-3k1Dw|u4~4#XYfK6sPd$-(D)n^grPM2_H&dHZ@1;ISeS!}0H9CYwagD$l zMKwYWiTSWnPQ#cthX?W!6W3%Jk>AT|ZBgae+kX*mQmn48b$*rN`Jh!O-w>h4h4MNO zS{8ZvG`Y=cf=PDu)@7;XsTHXkQmayTrS40uL)%lky<#o) z39Ypyr7=0fNL(Y`Al;U+S0nEsjJi?(n9Nu^kKS>;jjT!Ec-drp(lgQ~)$`E`o1txY z$n2Hrmg$F1csN@3@XYAU_{{9M&zx>jKIt*5O|n00+Ta_RH+QHJ7MJvYrKd|Xtd-5% zp?26VyS*`?M|OYH75ka4STsIJR~(<6utR-uKH9%Ka!7Annmu=iy5kLa?Ufu;)?^NhR==6a#qH@ z;;!(1dd4HxH=d$*NW*=RKJs$0Uh+lwA9~8q)>nd5M$XjqnesM6+P=;dX-%3lZC`JS zG$+lXwy!%y+LPv0>T8#$uA{%*Vmu%mJga z#^lyW5sk(}kQN$;7b6uk{@zXR*SPxuy`9+gfz&$Gp$jnGjG*odbC% zsV$!5H|L)9v{ymz^{p?jQpI|O>zMy$h)v=gfw}BoJ=eR~TL%{i`y=qeUBdEVg|KFL z=a49;J#zM7zrvAmPPh0+&W%bkJ^V4#mATO_Tj$gA1lBXAgxbrY*6Pge?z<`ZZN&dq zj4bofs#c*%eT>#r8C|IxGl7ZBVwNGFA4mV$g3dD(o5BXHAwM!Zl|8DolI5Rk82@`U ziLtRw@ppC{%NJJle_zldl;5*jWpJn+2I7q^na<2?wJ$|!)VfF0Ug9q8@NOJ*56TXX z`q9_kLH=;OP^Sh}V=G9r9Qnm5mzUXj{JMG3Dwk`5X5n~vM7czk-A2K9!RUaGVq16to$np&3SVW1#(iqA?M6{u9hOOBTh`tw)%M=(q|&}0 z#XWZWEQ;H{7AG>uFH(2>PUQ#wETpMYbz-l&JSlZ0!+AZs`r22bZ<{k6&`fK^@^`W? z|6ARW#p^cliLHZw-otpqKI*@m(LM~d^5Nlz^iP@7vf2ls?>)k9sSh&Kv#-XI;%#3Z zxOzf#{*e5|mG7@XyYRHR5ogQ{6R*SacoJ4dVtv5=;-$Pj3l-im-m&bcpWsbncl1Ke zOS;gT1Lr6Y@y(n#_lVoH>q4dIh8%b|Gc~K-OnP=X>^`4n=fGg%#A-P`wo0q3sIvxO zyK|C78oQ-*vJ}?JT&$Gsu}&6oKmiuXnOGvv#sXPnJt)5Fu_UhPJvehmd(%|T)|`OR z8C=h9WFF5#tK#SUIep_O;>%5szaFk%iLF4z_tLqZeAn!3tsw~By zrDYq=#V#yeZ?frh%gkE0-Yj#;i9{!OEB%4NcX7Su=V*6=-m-gmR*coiNj#6$T1Vpp z{T{pU2gEISpg$_m&IR4GZ@5?7mRFJL8vm=uLYZbHWY z)r!;&$Pl%_Z&~feQvVqezM82)ZrYWk{}>k;mIacG~x|SAIC^n$XGYm?4*}4r`*1^Kd}ZCxAZ4=p>5}j ziG66>d17KG+IB@Cu@`N-8t}i?ZnR^|k?cktZ7re8*0qGcvK#H#awNOaqOB_qiQQ<& zmLu7XR@z#`s;z4grJWCs-l|b(Kd*ZBuB>N&knJB!>+(5u8$~+b)!sU9JVz+>&e0B$ zGNkOrzK~v=ZNG-`|1nPge1UcQuYK*Wl*H&CZb^NUnVYQ~%W$1wccuR;lDidG_r$u| zjkT`*>6v}4PY$3r9)$&UIF{2);@#o$ZCD-z`j=z0N?SW{?^1djt(Qa=o zU+ehA?Xufj%hx*o_HD6i(Zc1uQDlYPgg*Y>Hfw!45l4OEdgjXI!{1Vs)A{KZ>Cx$b zr5C3!NNX>V`h-r^{eUxmbhe3&kDO?-Ans|^bF>3csirWmniHH5XlJm#?+vfKm6?=% z3ZBI|$JXbbF0n#aT<%9!Nq430<=E!Yk24vy3s=2jVyJ!9ddg8DGvUmV?0)em-X^D6 ztZ%(*dnHxgRYCJm`-~Nz`~Q*m-f>zKOZ)fC^z1zgk_E|8f*?p#B+8OOas~;zv|9P2DQ@!8md-C*j zS65e=j=^br?Acrbfhc-NC)Ujq-?7oYcbew0-vTe=LNKRN}6tXo~Gnrw>a&N&$ z-aMD{N_m`Tydow$$}rFI&mZn-e)4)(kmprsCbM*zt7ABCjaw-IFJ+Io^xnW=ll#U3rlZw-m%BFAHK4VxHaz`3ukTeD7&MV+|TRparP^>a|PP8viC}DK#lY< z=>Lrljr+$ImS5(BkunbO$hCyXdCsfta1MOEpB4% zaQ-J_D}VJKM{RQc`d!|MG5Q}cHopN+aavsYAJDToC(9MsDqNE#BlCFonVF?wI2l^j^kX;ZsmO~i8-w^uubN_!I(sC+*v+F*+nl$UnpF29UfDf{9(-# z_nxWP+F_Z~@YERfqP@VW9?SXH{B0I!_fn4zk79p>KD4?0Hcl5jg}3b6moxS=e4BZk z@$Lt?!}l-?)<5F4^d5^X8~cGRmnn8O*2bV*YG`YIg70d_?8%<{Bnn0FKMilIdl%6sEwAYX)o==3sQ1wLZt+*m9ti($#xcAJ#r} zuU6v>bnfdZkCvV%?N_9r%bCu+4pUvuA?N<%Fms$fEO{-LI!}7jyul`KY{fskA@oKEWwsOWGWKbKwjsqr~5hZbnD^J^ANe==sfpe+=fK)>zJ|<~BaWOzPKjhxKAArwTkHABE=PuJbyc-M`i>(%TK6`3~kpBsY$c zUOu>``sQkco^80UjX4y_1}zIc0r5#K81XQ6e+kFU<1?{0?Q=iVy@`8Q0_@M$DgXQl zO>EYXH|;U_v7G(RW4nsF{-)D3Pk3zk#ET8jp(^aW&P4hL^nwuJ?;Os9 z@N>J<{Sv*pX&!xE@vLuPJZZDNmLI`_>_gNltUKtbzXiMvbjA|aH-p^|Q42K01^7>` zbN<@?Akix4&;2f1Bt`pP|612adz-`&gV5eaj~e{9du4yVWB-$0T6DZUI)d<@_R9W~ zHr>D0L;k0BHUCO4@>hMfsQq=c-xk$}{QK>_|5Ok1A-*9T-~A2NmC2wzXD^>mRn*Qa z)cZv(G{W)QKUykBEvDMq@!a`;ut(k?-}7ic__}=AOQ7XKi`3Fs^jCf{S|hYEU5@3$ z5n&zE-`t8k0UPtq_AA@UdGOx%cK7J;-F9KObRhT`Umw2dPdfDx$AR89_I%!kARKpmVg{j~JTzt;`pOex zCZoSRHRi3DsDG7g@B{GyA|kGK2OIiF=F!vh1-)X>FEVSZ)?z`B9$tX6cw@aWsFhgr zHgKP|Ux0M6`A3ATk12NVx@Atx**0E+p|=rUy%Z9g;+2u%U$m#+W9YGlSBRd>E1?|s zaZ3EB@tC@qA0h>yV=st0o>qy}Ed6^nSkyDoMxJ`^^nbER{O@X;{;XpTEu%us)1URs z|2tdqf7Z5&zD1tQ1GrD-0c4PQ0J&uzK+(UQ2M}tq{?XEjc20kM-$EOwzt&X$YrFJl z4f{tMCR#8>HDLdV#rpq$wPN%=$2VrU=@6W??=HRE&;t(rGjZJ|cx5^}BFqmp?Sjj; zZkgpR^xpT@d0%+ndPlu;-gSf|NMmxCx9vNfF_w{QsB=pKtCZBJRSKXs8H8G7GHQ?N zu~o5_byNiNEMoACWyZ5r0y7)>V@AUy%w&khe97v$_v!)q!s1(9+oN|^=G@r%wsyS} zsf3wZFX8QO0UotnXUqHFX?Op<9r~ZG%cE`Ts8032*OI1(Sf10ZApQ?Mta#ide*0cP z%ji{DQ>?~_)q0FqU4jM0FR-D=0_%wfVLwp=mJ{`0Pu~w#6GQzG{#;m0EQZa*Zdgm~ zgT2IEj2p$mR-zO}$tz%-yfa3QdST?~ZM>U{U|s(etRwbfeh6+!B!F#1VOT{x2D^wB zu!u;2O~e>jL%axkh~=<^_z1QT^i;$rWInX2NB{Kn&|4AL!7H(NMq-}dgvR#iNF7@~ zZ)geiG`#$;a@WD5{Zwy|`8Gnoax8t&D{NBTyYuvp#(KXYB7`;d=u?$tlE9PdCR@|z zaA)Dm%CAig(IYlP9Il~=*F?W_EV~67S^89Dewb+=(6@gK@)MmMGA7>5qlYf;qrJ40 ze;X0@IfmY|gB^~izdd|2(&HiTQzt`TgUmHD4`6HjEj5^Vy}LLPZkvCFb`JFF$C71D z)DJknzkKIdF8VLJE(JhItcXBH86~%n7GGH3DUxH{iogCXx7!YOK!5%%Ff`jKoe9uP zar^K?xsl9q<{J8gdjZGH-_SoLuMv7<=;FnAvK8m{ z@LUG-!ILYVQusV*mGB%Wo=SM=Z}npL#N$aV{O#avl<&|g@%p3@J_q_K_)$ao=ygjg z{4KOHPy;Fcfbh_->Klq@5I#AWjPfHD&nWy=Xu_aJR~(H&{0sfCMt#@weq|LtDVT)v z53BNg7T^U7IyF4Yisuj>`fWYiE%Eqs37;5DMENa>=MnxQv;cTo6n{u~=;w8;;su0H z2qvI>7sU$-e;#^1yvd3e5+3@6eN^$n!p8;UP(HolMTL)r#t<3BiwWmQE&N}0O*}95 z>0uiRdkgp(Rs1pGql3}l%M~vvd=xZ$@YAMvDd8ibuf+I?;$?)7KraFDv=lEde0VS% zyolm)!iPcg39BN-D+v$%+TQAtc>Gm_4+(~#{29fo3Lgv|D*Q$(&aVY#sEZ%m)r!{? zJ}?-F@-r2$C42z1v5qrB@jAjozq#EMuPeM?&=2M7DPCXrv(W20&ZCMq6dwB7&8c`J z;eCQWC~p*RBD^;=#Ex^ibK-SqCOq`ZyH#;iclg&c=!x=+6mKp38R(jE9~F-m9{Ta^ zuXtPGJ%S!6-$C(q!n;FjjjxO19fXH|e+wzzNqEijNWAB4`2rlH%iqH^&GBo)*Pl5Z(-0PuRvQ zK2dnnpecBH#a|ZQ1U8D$CMrHjc;lckcpAlD72XIV;n0)fp^4yc*4wWMZx}QLKdtx_ z;SDfWg4k_}PZM4rW9sl@q4?{<>jm||=P3S$@VXdVS7qe75k~7`I0o zTk$!&mbfnQt2-w|FDvsUq5E51;8ji3hjwf2eEVUh6a(2qFIF~ye% zuNG7T-=+Aw!mDB?7$Q?CzD#(PpbGdb#a9TgjPWPgQrq_t?+Uf6T|FdR4&oyVT16puvv1PQ`48l_eDZ!snoPLUQM{D!-y*+(H&&c}x#5`%W3sp}ikB6B3!}C0Q?7V<;lDoba3QnFJky z;+2Kpfd3wRcUmXjm#V^liTnb7R`Ke>ufzY6;~Z7IhVY-^+XMX$#h(;@EpiQfz2dcn zUxhai*pMk+NB9-kAELfhysq%ek;~vy6t6G*5-cxp{T1gpCL*H1HxVr66mKH@V&o!t zbH&3zW*6WG0Y0k~e@e=qho2+Vw~DtCelBtjys+Y}h5rb919%Qmyp8Z5;4=xehvEss z&qmII8^zlRKZEgjSfI5^ye}PvpTKVnm2tO4$1-?V^Zo*GuY#;G<6z?JY1iWdX z-d6l+;m0G#!51msQ}{9X-@^A!@!rCZ!h;6tbH)1zKN2|t{+!~^3O@{AUWikycz@xC z;86hemEr@0AB-FXZ=m=f;RoP@0QJ1$Lxk_g+(5i9iVqe3edK%a#}ywgd>>{L;yx-q zQutn2*P*x7GV%J47XAf1+rU~#@iD@;MYe&*fk*XMV})B|>C;aos=it{> z`SHTHz>gE!Eo%D{gl~>)2H&pAzaacG%qxXmqT(+K-xS#dK38q$CE*(*8^K>z{5d~IYccxJVoDZ)R+3|RDk6`v-2O=Jyt zQnj7w!aspd8RLhFzb^b^cqT(X5uN<#^?XD4>d0#FbKnrtpPDKBBWS1bz9>Fh_=k}X z!FMSBmhcZSR~Oe)@wbJqimU=(p!huD??e9$|MrT%BYY+7;Lx4{j~?d&;VU95zy~Y7 zQ226a($TI~obi#MUyUpSrw%u|oyEf6i@XQkSn(yo--TT$>M_Na3SSyo3SM6EcZDy( z>}1%vDE^-C#gWC}g%oF84Acym_m8h9ID}m1<-#||Y>vUKR1CL7k8_3a4e-%}S>@o- z^6v}3VQv_B7p#=XKM?*4MlsN?D4)nb5`NuW2XCadvqtzea}E5(>WSso3BQW*5VSwb zB=QZyufQ%6JD^CuGdF5&0RdGNk@ z6Zvl8=PpmHH=g6x;p;-!q33I9N*t^iRBLpKW$Ef zS5w#LsPL2KBzPvZofE=OU@koB2X$VjgdaD@xqWq8OF)DtIFRHzSryp zKd<<&!oM@$fsa-EH{p9=D**kr;&+694ZnQQnkp`XMb2)s8@#jPp2zp%E6m+QJ5zCA z_%3+(gC0ili13|;@kM$o9xHqY=A5Bhrg&1}+s$_HDe5}hCwv>`+CZe;*g9z;e z#ToAo8h-fxKri6Q#N#P1{AKep_?L=T5Izy!TG1a-yrS?I&5Phu6|XG(1@i*a6Dqg}0dOW{Mz5b$h@ zw-!Fw3NVJy}?<+ivqxh3* zxAYU<-E>F!?-lPaJdCgSx#9zacQIX1{?a3f*KMHi1d{;1NAW?z<4rvH;i8G@v*|2o95s#ijNoG z3>NWdhZIiS&II8$uA|~F3U6YXp!`I|UlPuF{pG|0w>B@IsjXfbXy33xyYik6qkH#TN^I7~UTpXMo~M zg%^MgCi)SIzb8DO$p>Cl@#Vtvn!MnJ6<;YlkI4g`Me$X_bDP}Yx2qz$X@78^sR^M_708)2cssL^#aez`s=dnD7`A1OAcXCxrXP2Y*HJQ^Mio1-zf) zXM{Tji_=E&AB5laV2ABgSNxptJKi10M-{&y{C9Zp#&<{YpM>A?Zb9Ctlz4wH3;)&o z74n$kSB2k%$5`}(6#rTH4etizQpJA}{xdw8BNl<;{5^Vb-ZjWkit{+oVu7!5c#%^4 zH{oGi*$%2b$@76_JG>{OzpOaV-*GN@Jns@}JG@@7?e=)RSLIDSUtV8~Ab2OiA5`UC z;m6>Q2lil!d%};xeiiYqD<*D-_YZG6ytkv5r0P%JZ`643qmI3(@_asMv3L;tYsL9I zp{4EddHg_eK7WW-2w$HVr&gTLvE%IZ_`Hu%JelzC;8h6MQ*pjO@aP2#TzoGS=X;1F zfyZ~uPFFmQ@Gu^49>w{dqd)6?h4QHtXMKS;!sGjWBQEj!uzrCi&D#NfTyfS@&{)C; z64ol7Mfex66-KX3an_HhVc;nrdJn~O2;c0nJ{zidF5#bfpMfVR&iWc7ZXWB!8j7>t zN6ifH+=v0B_(Q_iV}>4{2gUhaL5~bp&G_C`NIYMDpU~5Xk0Y?;sS5X3@$$k~cq_oKE4@|);bFYx!-}&V1B(KW-`g#UR~G)R_b&Jf#j6Tm z>hZfhP4Vi&7km89k5s&-@I{!JfqtmswS+H(#W}tUiq{do0Pz-}w^Y2I@GvfPdc_+E zpX<#~CQ9xi=pCSEYySDtsI~07Cz!csJo=G1mv}A60*L7e3k>4gRX) zJ%o?)MuC5!w!{7vu8cPv{3FHLA47}U8wNgK@jk+bdPBjdDgLbRA>I)1k&3fFiI$1S z{?jvxvtNpqr#Aq+mEzKmb^60!1pMbH&i*jI`0ykFUlEEA7v9I~1D;Ruk-~d>y}{Ed z&i*|8F7^Ts6dxnJr`Hqwn$jDO6CTDJKdJch!n=FjQGSo&)L-CVtoz_`c<-+$zD#%+ z?|qcw%Y|3=Dq}l+6kj1c&Wi)TzgXgTZKd!EUIp;hs{AV9<-Bs>wH5zRcv-J3_~VMN z7GB0H1D;RuPlT8DN`v<+l(^qdg@xzKYuQ~m{$z^RKdjK*(SUwyguT4t@w7~MZ6;5KdSBQ6kf=q{`H9B zUkWdX`G>f_ihm_Mzej!W)&hz9-7P#1=4_(9r^kI0{RJbQ(w_0odRQ|;<~!qZ^3Df-cBJKqaW?WG3a z{!rp}4hT=-r2v0Z@k7Fs!$T?N#;E-s5uVgb3SLz4W5SboNx)MmenNPx7Ylw#ZU2;T znE8O8$(MLMXN3En558XUAA}pvfX`I?oNxsB0w1dQ1>tbd3f@xjpM>9WIgV6H@yo)0 zcYg=Zr1(|gzquTbx~s19&%$rRKQ>yA#S@SJ7vVQtj(5GJ_)X!zVCFBzTNS@0{JP6= zvx^Kk9Ov zwz}fkgdcVfgXdB_hwwx0A#ggTh(K_>CYSJoF2{jSsQZ{(_yPF3f?n(4#PWHC?{oKo z|E%hthlKBSIsQCbl`kNCkGltakm3b}e*-^)m}RN>Bf`IiFACTjC|*SPZkOZXOVs#X zG2y#hj-O9dyoB(b@N0qgvpUX_!ne8GSYGkc!ne8{x9_ZYS>c=E^$_|5#mfu-4E_*d z|E%hh3c@$Jo51@jUQzf)cu>Z*RNJX6d>v*jqMlLZs|sK1t_9z&cy-~Qx}SotRJ^9} zHSQYlld2wgQus$M?I3n5UQ76gm~D^mow{yyg)eexKXOEkKQ<7)(51b}M~XKVzQCn@ z${UI|6aJ1%dzPV!KP7y=J0HBI;;n_#_blSa4*W^N2b1FQ!ryXfck_!HXG{?O zru!!NSBke4KHHrQzEbga!e_x_CC0}UZ!dhNI}?16;vIy~aA$zGRJ@b$=`QV$@+sa~ z_!M^v_%BKy)kXMg?rY$mDc)81WS90(^raVlPrC`91V0Xl<*s;l;m^CzgAY)=hw$<6 z{eby#ia#xU9Q>KVBe>$v2p{Xx?ktz$J%x{k2Q;*o6z?T`lsgLiysGzl3m@sy4sNyL zeT0v2M}W^(ysz+q@LUBu9L1j%J^<0u(4JJhzwkb8AMnQ&A1J)H+Z#NM;)8|va(jXQ ztm?g?!h0ef8@@-14;TKlOMAw*6dx(PhuZ^ukm93-cXzvkw^V$L@NRB5@M4OO6W+z` z0-j3o=Y`X&4!)bJ9)3Z1C$|&$w~9{`-VyVQ(Y{jrW#Mhzw%|h)e?@o#e1hS-srY2! z@oqeL3B{)fZ{xNB_Z6Qeyp`Ju{E+&dzAn6_+Y)@0;xmLl6kjB~zFQx> zm*Pu=*K_NE*H!#o;dR}*;EyW4On7bhJ4bz`_zK~*+*;rQm#MTZNZ(%YuKU_!q*ys_e62`}lE1TU%h*TNrj9|O;*_&36fxy8VZ;(LS_b&GkiMPwplMe@}5Q1`T5;nVSrJl;SbM?{n`1@2+?t9Me9)TPU7Hc*Ko>S6BQ# z;W2IucxlCx3-?_gJh$R0g}eBN@0#MNg*%}m2gUCfeixqZFlwgS&*_BUVN4L`h~nvm z-*#?;f2nvz;kTSy;Oi96Ec{pJSMZgJXBB=E9_P?LQ9QfwYtA+Bu8QXreidHoV9ulX zgTk*kSHO!Yo=5m)=Q4Oi@qEHB!j~2LFRERgU-$**0{Cvl3kv^1Vr+k`cwymZowF$a zy5hxzpK;EB4^jM4;isL`;EfcguMHdt7JN??FD3lAa~wRk;$?&%bB=*$P`sS*qwrdY zc8hA~KOy{(a|rx<#p8q@bPj@ls(2;g2b=@o3l*;-e800F{3XS!3jY?deGnf?@oK{N zID5b=DPBYPE@u~b4#l4oz7sL1Fl$NaRcZ_00Z%EoN{ZJNz8z7kpf^^$zVOeT&%s|* zyrJ+d&KB@z6>ltjqq7mbt>R6EZ*Vq%*Hyf^@b%7m@Cu4QC48N;4*X%oTM1u-=&8_q zDBec+C(b9}Nfb{I{;~Le{!Qs^+6kv;GmNe(-a$CMW20VDyp!-1h}4Stp^A4AzFgvK z^;Eo@@MX?2l&_(958+ECrb+?DpAo*qS%UKSDc(!?VrMb8OCw#Uu8=PKuBaqZf^cOzMnT5ZTC_X^=vkU;|T+NeMexUFk zP7m<2;3@2O1_|#1-^u8YLpOCX1Ad1T$%uXq(!*BPglvPvGMym@B27S=jWiEwH4@it zfjo-D?OcOQn+fd+B+AlA^=y8*m8mkrivkkYzh&h?D>G)nJA)+KfNX8^uUWYr^198Z z%^H>~4q46S$6C1s@|kSm`h`{=x03tFnmutJ&24_7l^Y??*?guPVY!-CcCzw0$f-7e z)yg_Kp^ru4vG27qd9K9$R8#qpHvhhrry-L)7?zE*vY(Ya-uG1gjLkogJ1k!nvLDh6 z`}bBWuUVN2_nya82$CMRnV(_h4an+vmdHM^G8dk8{>}Zqs`4J*Ve+n4egjz;^&44D zD?30wYxB#kJP%n7^*GDDVC7dJ8R&sv~!4chGTbuvb%2a6YwnAEk#4=I21Ap(cEGko=ZC?+G<({$fB`dj~ z?J6HZ|AyttSlJVDp3Nsk-;L{fS~6cD%57HOva%rb1T4#KC8+$Le>c^x+hXO)Un*q9tgLM%&vTN> z@3Hx-R;DhEF$W}WFW$;=kQ5%Ay3IVob|qz%tur7 z8xZ}Q^?x+aIzO7HjQ$;!dR=s1|4NR-ap~XvUH&Co?rq4;NL#HuY~@ueGd+R&9w`SB z%kl3jHs47xmKm-7o@w(d6=RuQ>hIGwe@iiz$y6b6UnOn6zG5uXLH*s&=AToHWu~dW z7uftNNM6IORvxhO2P^MbnKmvgmj|+v%~!XwwUvFX9Ao8d$kj;e?BDyWJP&yrDQQLM zaF9wO)kbQD)DfvS(lDfnNN*s0gR~dvfXYWICGw&wpP=$%RDL1yJCRNy-A2k@8T&=5 zgVYP@Risr&eAd2#yn&RYN_fsCtn6jwbSuAxyo2;$)v#Q9D`#1`*UF$;xW2NL1Fd|| z%7a$st{#@_VC6ej9>|*+?HD@tOI-%5=5Ezsp1(8`NEz#*t%1}6X%NzMr0#iCylG{{`r-OltUPLEfd(P(Yvo2OlQ#@` z6Dwz1dEUyBjl%UKtlVa0y2c?-uyV1LSFJ49BwRnv$}g=<+ce}|tXyklie@2iZRPt` z2F*j>%*usU-nO!Ki*Wr+E6-V(>8X&{u<}_e-?DPIm3OUtxMf(riIvY;xx&hWR{E{b z_d%M7^d8ceNIxJ2tcVd0&D(9xLCn z@~oAG+J@@~Sh>l{B<(_8*UC4nJZ0s>?ZfrGto+1EuS3YIS^0vMN31N;Ft0CC0swi%6F{%+REEj7U&w5Yi8wWE8n&9fR&MMVY$Lq zHidix=@8OoB>I=kfz$|TEE4a{H&$lt5&qr5%B5CbwX)>X;rfAAeqyEbOvtNPInK&$ zRwnBiuCHt5%T|7AWrkki`UEQ%Sb4$9biKp%<*aOL(X2YF75J za*~xRA%8;3-xvNNkm8YsAn~^wtYl}He^<8hIV(T6((f0puVCc>D_2>0!OFb-!*VUH z9AM=n$R$XJkr>w^%>dXyAU%Q91gS65LZkyo`39oRjzrlXiO03pN^g)oPAkV)xx>m- zgTwU=tekA+J}WZ~3D>u<@^vc@TbW~MxIW&>H?2HrW!_=o`i@r4xALr&4-L2Lt(T}2 z;gOz28iVu-63=y&m3yqbYGv{X;rb$0*0u6!E1$P=v6Wk`JZ0tYRzCDXxShII_OtSJ zD>qwt-pVvDhUFi%vbB|?tz2m37gnCN(w!LoF0++It*mWj2PJ={@jayGNNrSps>*+%@;6n!=;XxTc2xOkD!&(RX^2%3o0V z)YB5n6hofJ-^|KER?f8Y6DyBcdB@6Z)5G7DhI|TXfc<-cmETzTyOp_L56d^Ua+H;8 zt-NeyzBj^hO{{#`$_-Xtw=&m^uv~pBhgiA5$}g?FZDsD6Vfort_J*8{v>fR>q@uB~ z8$x3Ld0@_PuAzr&=YGr>r+(ctusnAnA?bK+)M*C6PmeN9!rQ59R!?hN6UmIa7#;CemVUxBKc5J&Py6zr1!gH`&yZ~FrOR$f;0-MU8VTbt(j`23^ zJ%5Lds0+JN16$Mp_Nz%?^UAY1V#@n(`+I$QJ?CB*1RU>Xu9!>D7cs~!az8ey{Wsyw zKVut=dxPABN4V?(M`T!XyNsnVcR@zEnJehhpT=C|X36m%fX(0`*cl#$ZQ^m*GoFGC z~nZJ23TR7jnC@)1Y z$C)u+9>ZMfHRgVQYzy=_a5Zn6+vZHnnV6{8lZ==fbIdCPk0N_AvRYtdXqnxJA1J@^mg|6miP~+)*B9A(N&w z^i#*&k;tnF;Spwmf7IOYwfbtOa80{_HYzOhxJxfx+(v5n=BkYM4ma=rEu$6ca_9TycoY%%9n&=wD{3-raf0{oX@n~ltBJC`HHtL=^@=VP~WRV5_B6+Uf zl_zV3JX;^g)Ad8g@K{;~S1N?LwI03A@Vq9wi;RnXeC9K50+0BufF7w*B9{mABMM?p zg|1O5d&f;2;+F3BIsb^|J9zYP$Ez?WvN1A0;P^86mU|w-;^1%Ls%d~@Ip@EKr;uwa z1yisWKA%}}wYQlZKK)8^&7}xEGcXrts@Z+C_NtW+uk94CyP=0I{_>=$gtI>A*J~S= z&l}L!KYuwqpfx3PBi-|OYEmG_+P(;CMAm$)^J?_^Rk{O7z?D&%PV~>>I%6 z09^sXWdb@Ti(C;7kbKk(T(1(`yUMbT_n1XPGmwM%m_amM8g4kN!)U zyBt}B=Yx0TVfe?cj)*agNWeAE1hg?@F0V`PJj{(W^oPpal?X@JnVap*C7hD!ZHw#9T&?ej+4i=(&fvp@w5oeEZ&XSC}Mtr+4_N zD}?J-c&RIfxi39>YUKHLfPY3tE#Pmv1oRg{nhsunZlP|8AioNpu|9-1t<~_rb*oEw zJ%%8P#@K+f+W5Qr9_`4O%iu1p6mH>X?-}!ft#dmBv+*4ADqTZtxEz>iK>K2rAL!1; zbIvQg2!5)TnAx}|5Zi0N7c-&>~_XvIS@w)w8E8@I)5?{fSK5ZrV zi^bwyoZBn{pZ8q@+PskOkl8Lg>!;9$qopzF(=L7SkamHGtIxZJbaX(=O|Gxv(nl7r z^CWk^`Q5zWulHBuo6lcthfg?qtYx{MB8>II+^Ye-to1;St+O>~S#CtDaw}StyD`UN zFXnL^LQCy9T4`s{Lc4$#re>5leRZ?v@rpavR-Hr80Qv8G`5@C?jQo`YG?3((eDigwltw6Q)y`|4A)tu~@v zwGC~mFVUX*7Hz2m@Pcpw^}{vP4ZosZxQjMb4BAsk(UwYy`XL?KP?^wv%8s^EUbLGE z!uv}xw3kZ3yUj+E(eH|9k6$3p65tF1&Mx501I|j|j0O5T;kC$QXo<~SH<#n1%*}K2 zR0wk`y*w4e+*e+T%HcI-J(U92mo1ie;Tvrk{Hd*g54P~R4C}{>(t^4o?WgPTGkL?% zuORDZw!Yc&E`io6Bfzue$kyIIQ`qNRQSQIFN3U(XqqE)RCKlhr?fx-5&0KfW<4k4d zhI?P&iRE2>7e}xL&wXy>X*HPv7L{CRahVC$m|SSBnH83tTxjW;-OV8jtwj07=Ryn9 zJg`3H@|v<~e%fTh*0_b5h*8lf7#eU^OMt)UVvB2FueH(n2>mVE=CXVtm$R0c>+YSb81Cz! zH_0$|59xCOXWcV5+oQcRbCuk2_zj<^Xx}3G9XM;Mp`ClwA6FsV(rRyrp_d*0Dzjny z7oPRg5_No%-NVRWAinPRgWooHO)kVy%kAg!^Z5_?`Td8n6!IVO3;RX=Vt#SI3>I3I zaeHed&JuGk2PJTh-13XgB&WGg`$6*K;+coJ42E+Nc~w^8{C%&5;hZ5}m4j&ECP!VK z3HNiYOHXJlKfo}?53l>+U`#-JYtk|D>S)SkYs5jj5@PWHGl3!w)(xWt=r&I7deE~kfQwFr*=C(??^ghUSGu`)01Z}}> zKK)s8>+J3BG`W4o8DZJF!35i)xF$Yvc_r8`pA&E<14|^h^tna;7%b5n8hY>{Pih{i z8|D_6M-swZ`hfP|T>F??63;G=zm<=9M)o(chVh=beoVj_xy%*v=o^o@(dHoTCUebw zjwf-S^CFugi-Ln~!=rx$u_K-gItQHH%C)ndG+u(4S2_G{{9SMHlBtWH(^;Q$&-km; zusGf7(vu$dHNs5AUQ;6%flK=2ehU9FKki;1t&(5mUO%mxKQ%r)r&NeFK#vbRzv=ic z(hD=U{3d)azZKB-m|KoaNJNtcn+97kzMX`*O(lUpbS7h&;9JBGh$il|8mh^)r>G%VG`rKKh7 z!(L8rrw@je`a8p%5za`|Mz1)pI&%yyTUqjB@xjZI)IJr5o`#wjYE2j+^MEPl)8_|E zj`uj4$J|Q+?bn%e+%&i@JP&@oO5i%RG@M(;b)(!gcmvWSHy>Z&m1rA&4By0Opvefo zyf@Gmnu4C>O!OebUSrr(WQ-*KzEME$b-W@YF=wqL{CLv)0@pP4I8TAOj4nMf@rfLP zd1|9jZY<`*jmH%{$P9;A8$l1alTTVqRHi%th;l`D;Be=dCB^$@RwEx;$PzQ{QmD1h=2ucj_B!tvyORJ58&BJhMr)s|YGEW5{^bV& zBD!$i0k?cWB1rLyl?o~ZV{99;p4-yU<1qI!!+qDpKr^(}AJZW`hB`P0&NtxNJ@Q`i zoy?CT zc=|kr`MJ*L|RMb#u{gl>Bo$4NLeNMnQVm!;LxF7W0#QZGpb;Eci z-2c_ccwF^V$Z?(s=a6uI3Fn?{6>a}Em;S@qHslO2{vx+K9>Nrfdf7Pe@$ zcJE97D?|(a+W!V)3}^F%Tkqm9LMZn$G2k2q=9WveSl+vp!743A`!ducF20FF zmuK*0IL+)i(o9%+~><2`QMm3@6i|KQWP54!C0h)d%I^!vqa zzKvECeJSx5J-lme!(%9nm}9l@_FiirKAY7MgKu!aIkPO+(w&di7IV8z)c^V{Ckr&V z)!=(QyH6hw+;(@2uDpbM5LRTv<*g1*^g)|2XRLZL+5`Tk%1UB=q8rih+6b}B!apl7V*SbOFfP_bEOfR zt}JSy3W$wYQR+z6kE|P?!t>k;ZI(VkU-Z02K?67`cqNz{aQ;8f;7#;qerXq8{j!LZ z*9`R~eE{?6DubD^P0dk!&-p(7-PqMp^905@_W6vEz_)M|#*)UuC)s%Kw5fvj#$o?x zm2h8a;h~!Isdydsi)S((!9aJkN3V6vFZHGyM!aE(qY=j7AoUS>qg|(vCIs{_LfRWz z8O~y5*^(~fa`2c<7evn1k>N5`X{^c(w|;=`+z2GQ8) zt1}bI%totYE@mMu#>}Oqs5O>jhSW;5Lq0}JWDV+&_09(Ll((Q2y&bx^otUR~(&PMe z?(->^9$0w&dq6X`3VS6@>T{khb9vlZI3}*&>%C}ZVLkJ)sP$&yoo0#3K}S&DlN+X~ zzsA4hb8Z>etaoza2zj1;o#A-1a@uWXb90ss+t?hheH5dc9J}N=BgY00n&LjaCUZZ< z;5(j?ZLlk+RipZhOW`*lCY z4%4BJm>yRxBSsO!H;oYmS?6&H$Kf79%tOXcERL9q|M(vMWBY}%KC z-chzoMk88s_^#4pSW28vW6alYiaGu*;1{4JdWLsn5d9n6k z{lgk4T*C9?8L~clCD>xy{taA426+I-{|&U#92@7@J$tci!E!8`=-lt z+T{1?4U=d8uD7L9n7iRIf;QQU0p|oVx59a^UHFzn?^OlF9&Ld& zv3zZhUJscY=Fv|VYv?@~>DiCg+ChvN9d(XD&vZiCDQu%$K(F>PdM8(*RsXx*14k6t zvf@YrHHp+wvX#YNU3NEz=pdNC$KE;4zQa7|_pTfMdXeb%dnbf@$Q01adQxnsC^STs;NPGM zYX0i*qfirl5_)Lmajf%_+iQE&OO864M>Ie3PJ|KOxqe>2x#i5IaT!H{xiRK}gfRC& zKu=qI>lfh}y$wASBZTm4xxoF%pmspJXItB_L?OIYHPMd$8gD(%HNUsnWbwbQ81D0c z_pO#r9MgpE2LL*Vh8hHfJty>HmpG+6~u-zTQd87|woWZllBpW$vMX z5onpK7_`QbCPQwPLmP|q@ZXjZKHsu>hfO)OaKH2EOMoSFxUJ*EBTSB%ldx{FTZjwt z+3$V}FCSVg-2YZYjmc-*06#>E;GHII0__STlXGjsf)jbdTnh0j#q}MbgE@izFY~L= zqTCS|=D+a98b;D0FNyeBj6%n2dlL2BFOd|%w^sks(Pey`3|K=88QSmA;)E74)D5v; zNDB{Ib8y6w))}Goyyg8!!ev z@7Dyp&#wiXal|bQ@aRLHxdJ8*=fZ8xhc(A~jQ+*pxFh&G+TJ-5F##hla{IR;IRnnN zPOZN)Cv@`~>EWX6E!us=ZzxF)~jke;@7>f4kGrgAH>%T>27XZj#IBG<;U)yC0b3=<9st54Lx>omUzC6`u8R z6#mSuY`>FDU3$`v1s@A7$px(Uz(b8opnB!syf0X>b7m30|ofY-GsBCRkEBG33Vq9tBLyE9cV*Vd=#Dcd&x z0GH7@`P;h@`hj9@rpt&Q%=Iyh)xz8aQ|*ax%L}}IrdpMd-e;_83M*<57NwSZLc~zKEG0@oa50H#i?3mP#AY z=NixJg0t79KO_FOr~5PR19KZ<7?X%wdB^?Gq=1%exBs$z8g>}Q?c?2jE3zRnFQ{qX z;PVmshvKitxiMBJQWiC4GebW_)pUHpW}|+Z2W|6We94xfo>~R1 z^C$SCtw(*e8TK4IV0HF2#trwu+UzK-D6T@EcoU{GKiU>qkt3sc-B#=sJ1i+>AWgEDv|Id7kH z`Z?d9z5wVafIbB1Ux2;`=$C*#3+T^)z7Ez&OPXzIwx-#hW{a9_YPPD`u4c=67w#zA z6KqkiO~F3Q>9jwdR1yxsavIXmHJg`SgB*BmbDL_dX7!d4wM>Z+Jdt6vk7(YXLu?%LrcUj z)i(6?_|5woBl&De?!lLoJy_abQY%dxOtzSgp%-%;&n|5-`E5LnHYZ!1w8`Yy$9d?l zsllc_DO*>UVFN&`QreaBJ9-`MQ?^iPUwRu){BN)gpp_}@OlfIKTT|-$X>ZCgZ`z!) z7n2mWRyo;fl~iYTTqS%(H@i*p|lC5RVeL3IUYgVP>#p$9n;2ox2DfRxe zEoIA;_NBBirHv`uAS=bjS+&6@wU_El&x6Wozn7@wx?{bY(hVPJptOF zZbMx_J5*Yt(iZhg)C;sn<=6^sQfXU2yHxfV_hHKM?%|Hj)>8|mE#(;ab@e9 zcCNH^rL8O5ShRO#?}aw6v`eGiYhKh%w0$jr8tP$Ka&TOz5bQaMptdRss}A;diz8YR z7e-TRgh)$V7>TKgX(~%IjEFTugeNYH0M)`UJ`_ibxU`a`wc*0JSKSSxV)a18EG~?w z^$enIabYyB-iEQd`XG)M7smPOhZta72FNlHZLWc^73ad}V?$u0#ATQ)BM{eY1jgjJ zjFM$EBBqT-n~e*jt&N2qlFN8m7{_e_S{__plw~3!#7#uIi7h9#o!EMM17nTb(U;kQ zR_ZQ{8hwT6kh{?b{2E%}J+SWk4$&z0Vk~waqFC<7sM-PO2M%IvG8b$M9)xWHtqW*h zKnsJYjRCC;XlFo6gQBoCptV79Kd)G9(q@xZo3z`kg0a|DXl;Lp2)BE&?8CBOG<64{ zsiUs$Ff^z~5x4mmv<|f2J&BQ9>K;yGjGxO{SrRo6)Im@SK|RDJXdtMAxCVV6HGYXY zzh7Yw_bY78x%?*jzuyr9{cZ#e0#@X#STL5t(Uh2g|6;Ku#llGP$z^J29Mp19&p}NGbsZVdi^&LmM<$HJWWh)b$6`1dlO5wRIWQuV6B{Wzfi>R3&#`0xyp1dQgv^O}VIURv}acx~1ouIgIDIDcGI-)&{+Zb-LOC}A)^;x?qj-}$F`i` z3Fsl7=exs+^;#Onec|!W_4=6fI1ZNH9Fx9Nm}?!RM`wa;Y;X)uAWK%m`0N+gvUvR}hre*} z1#4sTcX3Q@?DqHL>(HicSUO)o?_~VlClcR_xm#W)dmq=Mr?AnS#I@&H#-NV9FJP2R zmg;YI;#vjBl}2qACv{d6)Eqm}gW~%7!FN`RLLCh49>24FLfTEzYI2>ulfOztTAtS| zcbN%bxABF)4rRHO1!f(d7v6^x_^MowBo7$XjcZbvfws&xLyz;ka&6E)t%#>0f_%K+ z-S6*@^f$$P63}BUf78Y-Q7O!w@)(VrM}IYDv3%ELWH0#2Ue9Y0dMo2^=1QDQ=DM2i z<3o0TFbCQ;{+hZ?>NAUYY@f`j5FW?J-cUpD%ly^zF5{Ij*WRONK;}-1uX-MFGqkd+ zpf^og-erVeUWYmEN|O}UD?9y1a3{EKuX!Xs%q0yRtLeKd9@@E;PH5vZ+9^v8G>*Nu zIRi!xA#3E(2U=3(y2JLjr!&+U?L3D%bE5N-^Q*aP@53F5D8lj$y@R-lyyso~zWy+u zo`cETx{Q5E{y2I_jSW4ilkapHOOd&U&D1Bu+zVzZ?oUdv`H1#?0$QKYKIfvckEM0& z@J@EyL3Nbpw%6jB+hXeD2zcKU`~<%}7J6Of9*VlAL%5~}zJCqz?J>6Q=p9@@O~*Yx z>ksgUVEJnspbMzMd6nm3HVQ5E76tSK%5A4`uiM&veq>AJy?`G1d3~QoUx{AMS!SWj z_#4a>^cb0u>$9V+$LQ@DkpE}%)8ahN>MDgkco{@?ukEk!Py3AO$*om0%e#iTQ2{+m zlARIXgv@Pl+IA1wD*@w_@c6U4IowBKPutqivm{HMkXQ#iqNeDwLFL+DYbfWAJnn-_h~o4D%STEpOdo2wVh z%olEVImWR(ubG)?@5F$h1KwIZ5||0eHez&6S9JX8wv0J(R5v=V`;Vhf9DfSiUEx?0 zM{O#oQJQd6>7R|du=Vk>j3|ZUEpq}!+T}U)GIj8D@fz~k3ZL;h_UZc+b>3z}AG0i( z)}^;f=5~s|aQU^%NS(aOIncIev=KhFTQCzUxyP6Q{Obf15Sv|ktmZG8xxFfczxc=- zYc6AXR9vP8sXbX3yfX#X>kCi4%VSCI}i61R93t>rX9x~}10Lve27f;*_0 z`RgFqYTu%c!R~~RWe+}%3%9b(8)H63Z5NA@h0vNmfVTO~NMRZGVk{qSp|UrsQds&b zEdNHe3+ZD4V{`L5O?MZ-T6vB|7?Z~`;qKJvj51w+Ejc82c7w^~O{T*MH}| zVCZw1XZ4^<@7K&#bo+M>_tOI{<^BP^gp#k5__@rLGW77yTo;$I$C;aM=nb2>a&G2& z;r7S-&-3Q=ou_?70*<5 z=z$oOfNN&BgHT(iMUFZn>VK%yq5gzA4C*DQYheGL*L}Bn$fy5S{&JT@4rgwxp$~KB zYP*lxd*3&Bv|Gr=1!wWBa^Kg{W4jy45?r?5vxV+zlM1#{-}skN6Y+T(?vL`vVwvdE zYdN=A-Q8ay%zf%H!VAy71@uoZv<-ieU&f!SqVGcg@ccy!mk}eFo9|Y&cPYJB7~A9B zE(e`mbHms{+)`?c7#FtR_8%jRB+lOrF|NIjSzQ-bKLSR3rVquE>0?6=*DROWJ@-_& zwhH>e`yvHo?D!n&I6Nk>W)J(j7i4_>qS&p3mMb?S(LQLj&l&AoM*E8#e-1~W%iZhW zMXmgz{jz93EZV<{_Mfidex|_wse3C5tr>M&)K^g_M7_#>Q`Em^Yluj2$i5v#pmCUw zrzH!1spq!+oy9aYVchB{=&7%m`u+$0kN$l7P7n3wCxll!EBeL{1@k+FSGzq%!09cR zcluk{>W&txS;i6Ky-0xekg@XQ4tR{xNV?b?Xr`ftVE!8HI~m=cCB_^2rDblZQzI^1 zztJ0EYP1V!@t{H7FgM>cz#ZZ9cL3jtAz!u}||a_)0m@3mmn7(_-RIBy+$x%lv&-=zJF9x#pge_(^4CmN8Da zm3Q1X+JDo#A~&ETzL) z-q+Dr{6*#}-N1NnxqH@xacWjU6*a4%hO)S+t;QJZt1-sLu*7L12lDtG>1-uF(p}MoVUcbVRyMps)Q_+Sz@24VSY#Z%*I3O z-4Qh@>(A+k-m<{(dl-HZJHYDZO)P6rS931KTd+{1jUwYfa32^guzTz0HN#uMd%nv_ z>a{jGZ5`St_zh>nvaJGonP)DU%lJ9W!CIhl_@w#JLym|K^C_Xl%8k|rOB@ql@XWdH zU7Sxc=Aef!20c18-P8_K!-`%69mhL4obzvl^;v$WnbQwFfo1r?!!yFI6?RG>$0xf8 zlx?jthqR=V6~E!HGdhRu`s+?g%&iMsi=~_=omx(9r;bzCspp)rWgl`d5dm`?;2<8-@^awD@HkM9L!J00$*;5 zb3MllZ{mN>_KcPfgx_#(K(fCQ<*~wlaejg1Ea)gtBK*2@9dZ;oc8K%pb)RsKOQ8p* zcyi$!vqD=$arRPZp?4YocThaF@Jr4m$fo3wyl!cP|K$7x$(Cw#zkD7!%6kF-v;P$3 z4+uZ+oQI?ZLX>9^e$F`uSzK*DqwpV{A0cD$CFK3M-|-rd`_5*xe$fl6eeZbU$x}M{ zov$J1HVEe;rE$Cwcv!%`uX2pK<2w#B~8T`@P?SPNWEBt-ueaO$$@sp=_=3z_~b%5PY z4r~XFMeqe!&~mfe0Uw!Pc<4WUrP>a8M(1_sEy(*Cg~#(Cw)3#?na)heN5Jog1Rse? z1?Atwg6COnhdi_MvNIL3rrl0nYzNIE@K>>*2qv5*_>cECp#6aKvOJme9@iwmFNOn|Jcwom>jY#c{GCTkp?Zy{_SpK$O_ zSfC{a=lOz<#77*wD;DTg6h{>f-c82!8!C>f7Q8zaXj2p~CA^2sm>#BhY2i;hPeZ<@ zcp2f((2bz;q2l;BVf#I?;JH#99|rJVSa9DJFE6||=2zi-nsQM{(`VbThEN%1Fz4~H!+ zzEyP+>kaZJF{LveaskTo{jGxM2UQw)b@7d}$!-UHBz_9c1-duI@koNz!UDT?#ZhH~ z*T#aco8t9_*TGj2*PvN=9k_i|btqpK3+(U|Zz#MTzMz-^s5o8`l&_Bk&!^&eWWXDU zefMa^aVx+ZVu5{<;y5($Mp*FOR2*6G##qp*RJ^(HCJwjf;t#%GJpLBKn>yTHF2$b` z-VCh@e0LOYDZIJE?X^<8mGBl0w>L`h*2151xV?Fbw-Mgb;r2dLJYIM!hub@>c!KcO z4!3tp@wUR-INTon``UWG5qVvwq{H{}eal-q9u*?sWu?FOuHx;5mvQ*sFI2pP@X`+J zi8mGRD7=(Y3UY|$_|7&WZ-APsIOHVD6R=;_YYpHFjP>ON#XAcx>J)_>r+63PMbL7? zeZj*LfkgXZ1M9&CGOq~tQ1NcUIp+woeDTml%d;MAAa*#Id#HF1;isHakjE5fJ=nlG zi3RVA;;aW7KpS=fa=qd`g&(H{q4S2~y@VfgjzPYlIP1X%Vkd;_rg$IWN1P*&&nV7% zuz_Z2- zjxovy3(x7WJrb)p>$?W%RiuTygi0k^eyH$R(b;)e>!J1G!A9IeE5T!nime;AKpeCZ z_=U#^pNICC$FCpXP`n|YgC_`IeGfArJbcYP^!Yt}r9CG*Qck2?NV$>nAmu}P2&n+l z!$<{@9ziOMR0OFgQZc0BNF|USMS2XWB+}zZrI1P^l|d?tR1T>;(i2D(km8UkB2_}F zj8qk=8d7zn8b~#fom4gwzfRWQfzwY{gCP+6++{mvapr(8OXosH}DzA zmyq7Ga!bOY42j!Hr}E@_9ru$7ESgFnU&p3s*{J+y zoMoch_`lpfx6SLzYa8{&$ZN;z$!pmd>sumqM(Tw$7-RcT8{Jq(mJH= zNV}1~MLLdj3W?Y8EM$L3zHc7hrxbXP*thYK-;5s0@91N*&*b9o^A5+G0_6CP=Ejl^ zBOe*vsIP+tXrbN0`^mC_L$5^K;yUzO*t+Ky=b`O>%SqxE#2#2`zf;g|`>aDNh47c` zd-9hzoQNB>ldp?bB?q!Bb}*mJ1Cg(#jty3X7#N#t$cmtRwv5E8LT~2 z+B!$6SjIy0UK`SOi5t`9{uQ?hm+cETZWFm{2W=VqIx_Bc<=dSxt{3B5Z&#`VC_&Hd zm_V+lQkvRZJr+uJfmuW;tYYW*X1-e}jU7f>gH#4XS&?jDRd^pO;r&AnUUMsY#r>&~ zOukZiFch`c|3W`^Gp%gzknL@=I^?aUeJ}LdJo7|w_l~=DK{0G(-TtE~YsGO=XtFN|A&+J) zC5lMlec*UZa`A&HZBu%y1EWStt97Eq_6)9HbsQl1`_d$opKPU#!MI|Uzz^DDkpI!m5xhHBeUMjgWi*lo} zFr`X6(t68=RDWQqhIAgvica*V%HTss@fKif>-v-LKNCXFQNQ_!Qv8H)MB&NDn`Uv& zChk)mu$Io1+{xvqZe-KgRw5bxEiL@-MQhwIE4XXyo>O)3HMS(>=f!%!`hWmj8DhXHscU&lS}w^fgCM%l3|07+OM2 z_Ub*oUlBY*Ik)9meN72nS;^sT+&*mi2rqDWYo}2o6XBH|-U_Oa*jJZ?Q^nyesSW1N z2-o^BLkn-g^W6v+eVc*CY|itg2!|vCZ|3CF9*b~DGVrE+kq3!zNCa@r&u9XOaHe|j zBEGEeBfPf5Jw3iQ!s|HP)8pqxcwL7VnnIrQBfOr&8$vm=dmG{P9p1p{BRV+38#uha z)2uQy!sR~$9j@^DMtGsa>q4bN7e#m@hu3i}zj1^&c6e?2IDEYbSN=1s4OAW#BV6T` zVN7u47vU=34C@M&cS3tkXqO4I{$!fA=-BkxXPf^W(`{>L!aJU0J^4H%?gNaHm`^ZY zV!p%th)H&!_h4qO-30!>Uq_!D;R*3WVY~J3q**!l#p*RsgM3+MMYt$6I3bSjw@-wN z>fsC_Uu2ykTyvOazr*-nI>OZ-kZEyzk~d1yQ>=Ecl^Gq&+!*0%-|Y4C<)mkXt9`?1 zuQ07H zXZ?cFJGt#0?1OpAjp$*SmDHJ@_cKoDP7@yFMJ1w=9!@z-WZtXH8`Vfd_`;RLyAiJR z4s%qn-nD?@R0-2acyolSi*w-rF5{chyDiLSLQ-B;VgvY!b2FYb+M%wFj(}d$cc$Zj z&c?UCDFs}?wH%FPy`Z@cVwHC=zNSG_%!cAT#c`XLo5rL;xftWxhiK3Vq(!Icmzh0z zr?ehyCYe)%yGzYk2YXc9!?f*;C*)%ZcLDKh9j?-7&gj;f7AdM%G4wJ$=q|EVb!|c; zxN@cZ$hUHFuKD^{@8%>|uZq2Z+I%Wk)?-5$)r{J?(mRPf%_TR>jd}!?1I5{yx=?$O z{|3~9+LY|=X-Nm`2Rz4sdzrbv@hWdHb0SnrF0OK?oT1r!^q9R zocqPWMNizQ56N{8dQO(OG@pozs$E32Mzt1k?Elu9 zEHtONuVPYb*S96%ioQOG^lBAw3TdekVx<=aTQ7Ils8XWw;#N*vo%5j2|DTgLl8b2S zdUu5x!89S;Fix5H7EzUxYt!tH1)gr$n{>@(rFW+}5~+_B$z{ozThz`Z)v*s6PH(ig z+s&K@d(6JczV$zChBH`|ld4Iz$c_mcd44B5GtltFX4juHSt# z`(_T$tj&DZ$fu@`w!n6_$6Vx7w#I&MKTbX)ezm0Q?OnE*Q<5(tVf3E;tG$`{ zG$t>|oR_&UbBR0I;!m}#Mc%-NJJQ^VSALkw?B&VRneQ6=SiZNdlkW&uX=&?Di*-rv z4C%iu^ENULpP^;-2c#do``WgXorq(V+(pS14EbtV#nKZ%T7{O)OvJy^xfPw<-z60@ zduIkAw>vHK*HGfM%rs(@+m)GVxK#+-I3@KZp$YxP&Tin-I*v8ot>()R@?%MzkcuJH z|LPFhOUYCslfMR;tEnE@mSx_n@5B8B>DT=#_|PU(_Sc*J2wQGuoAQ@=+o8#Rq(a!{ zq&oGaHZ~18pU08m{t#J?OM;IVOm#|4?oKe5gu3WJpXy6rdJY*Js7W)LkW|XwBz>vZ zZ8+BG(+)}CXIQh1u-hO$R96G+2T7&O0BV02C#??897P-07IO4#@-sG-N-gte^nv*} ztJ^`Le5NH!NQd6HGmVlZMT)U3G10Wehu+SEPu9h}h_d@Np6~LvnDY5G&Y>TC6%a{B-`fGb>uLpAd8bl2LFaAqqXnlD5*ToB=v9A1T0HS=|Zs}HLu>)D_r z{ed3w`#=F|xHbV>!c;=F@Q-oA}}dY&mAC+wyBq1!MijrVnA*L#@? zWNZo(-5G&ys7=+LP2yC;$C-=GKX5~lA_sC0^)6deJD+sx{Wf%1&fo6sSHPRf1h%N@39m;Rj z`a(wY6=qZ}Ju5dT%CMcjnIv5PgCeENITnd9&Ko+hcx_PJ`Vmz zxE3WppPR1(#tem5VYeF9JJD0uGbx+n&1v+kd|TSS4z3i6dotd&KDFj&+`Gz7A4&uJ zdMLBMn^E>!?4tjkq35dazChpg-&fs^##?TmMSCqzg;eZi#^Ohzt~J-18{CQQjihL0 zD4U1T6h77#l4IqwAE%hh5P?!X&zyrBmGE}f%I$4O-aQ(8edY9SUKHLxWIEY>IO{yp zs=cZP3d|&E!0z@;TqxXPGt|ur3b(0MD-~LwJg4KkYPpd;F}PRzNJr*+c4CNi9XyfS zjrx|#tQOqN{cSqRwzuiHINtS2rJ@t`j`I2pqnF~7T|G^uQH55g^6;hn05vKX+fBxP z5?V(?+l6?2Nu-ia1*SeO74|Xcejden?(4A2P1Z>})xuVVT2{;lI(lIgc|01|3n~9~ z)Y~(T8=*7m-%{HB&@a=hu@9kvtwc{!*oV<)3MmbZUJARPJ?KGS6W_wU$U|dJeJgIZ z-rZ=P53RAh{fVJNqndi3deu#w1Gtwws1CnGgQ3ssL!mF-Xxj0PD4_}GL$91gFH%1` zUlJT4=cCZJ<>Q%QHi0R1(jBI@d)P8xW-}?rCcIPoKAQIJTlaG4%!|!(aFy#0w3zP1 zu9E*c2Q{#pZtGz#9jmns$=W%P4$?k+RK~SX0|!s7JOUsZN;}W-!^>P@@>brJ>L#|JM!(sw=>@^e7o}P z#`od#eTt4rQkwq|^ToM7Mf;jNZ2RRtcS~pqEzl3JjPpiKl3PGk`Zpo--UM0K&ushi zd?`Lkdq2%)lbQThp8sxUh8P~U^MdUWyFK{dNH1@WcG<6Ozu^8Wb9!*~xNU_^_3rfw zthHG3vHn*WtC`JlCKk+>ilFl$(`(EdzCFn`X=?rgG%K= z^T4Ivrg>6z3w6d9?Z6SPHYXk=88Wv775B;s;k)@iLqA{0 z?`hy^dLVyr@8wh)6Hb~Q;dzwIsXRM}@XL~(3J&-3E(4?RfUfbbb?rI2lDF0EytFkXVmFG_kd8#jV!xzH)`^UN5e``n?&VIlM0i7odpQ-|r@9=I&MnI1Tob(rWaJc8YPmA!54)^@>gCe|>!#)3dzX2y9pPOZUT6w=wu$hr4)=VB-LoUY_i(sh-)xBR-VU#Xj4-o6gsZ-b=q2hWr$%@mhx_%-Q4zkE z!^=6X?IR+*ufxl__3aSw(C>=-IUIFCJQGIwgb^ZPHcJR0AvFn9ZbDDqT?R+;HUhPd%pwu$CKW-!^#GHPS86&Uqi*?PF~ zShfkSN66N|bPYacx=~HoP)AqDc8(i)WgBCf2X`~vs3mM~N0-QUp3&{AvMq6KQnm`_ zK2nfit3-=X&zHRoToCmxxu|P2?#ed8%`CD_G8IEeN16SD?F3Vkyz6aM^HK=2fR?7w zU+8FaPCzS=AGL9zWsOEZ+4eAPLrBNCkyTiKqcKOe7LICB+D?UrQ4bed+jI_UAvQbA;CXh0GrWO&`sCyYXGjD0^vU!HFYEAra0FVz~g(AK4%;5X%LKp3eq(fmkk}uEV{&Kr9y^ zdOpkiT*Nb$3lKe@W$tdwGnNYwJ)foDHR2h|1vGScp(*4U%LV9nmX@#gv0Q-sXBoE@ zUMv@&__BeI8_NYKec3>##c}~n9Pa6~SS~>Hc^1lDXP=O`p5=(ffAbN-^&O57VVJok=qu-t;2N3^v3kZ?28$O8G#vxnTR zb0%gf=3>lR%(a-CF`F@4F*`7iW1hk6#GIbMt0F(vXf#sKRu9{ok?jVg%3gPUQDb0F z){-x~8pQ*(_?0UK*=sV>?g$|?HER2E-XD2g1`E=;IE~*b-N!$pN6|Tj)3LsNLOQWTN@teyNqf=%NW(K;;w^qR9&myBR4Hr z^{WNRUZ4FNwN|-rxU{^)k6>jLcSf zczCaen3|ilA^c&cX|T0(vMWj*RJL7-H-+(cH$o`Z=EwrvY6?SXKj}s|xo&5yeLI9v z$qojRKjb4B_GFuEMub@F8;$A;t3R@I>*3V<()flw0PTm$^g&f!w z41Rk5xar7nC)*D5WgX4mlB&HJp4uhIO>6@d_x=^6*wl07yDl0rW``6sbmM|j(187f zvbIi0cU$vnuzhP*Z}&vd4!W(lb5W<+R|n zjB6VyRgG=G{-9rTmV$u#wO2R#R*a#IH)Bv$-(%%d^i0TP=Ga z1*^Av+xbP_Hpbi&e9Slh2<}?j9RWMVbj7)Rlr!Jn;%zO>X5OkcPb7V(GYV`D{wmtd zA^el=oV&g2&rE|bu6<+P456+u&GDfSo@Ng@AJvr2gTFoO^}#mVYR^(JPqBYvK$LBX zxi!3 zmyfHw=@H)dvx-}$3_DofR?&QXxwjo*KfYGIAV-I9$I9pT=>PKc0!GOzc6IOhJO^*x z7599heXh&3@33CjNm^M$M!0GSiou;%FGu+K{DKajrKhBJZs31sQWtQyUdR~Fx4i2C zkHZym>xE2M7Yq&Vg=>V$gmpo`2-kWc!@Ss!r}pGjccTBbUdYg!3wWMblFnkyAsJ?o z{dmUoyvijL==qrb*Loon==qq=*LvX(`Cn69+m*u~^1n@7IsDJa|CZhXe+*LsW(;Nm<}l0*%n6v2Fbgr?TVz%lPk1oOO4E>;TPGpYJ=&QI3&Gg{rkQ{CPl=(WmZRAEi zx$6rZ;eC|K(d&(%V4h%&q*bHhuL)iI5{~8m0F%<@cjs2`&EPOy2t{%wQV=!Cm)w=f zQRr=~O8H zRUY-x&+(W!c)JgOJoCB2PbuftP)FrM3{7*Ca~r6_IqVpZ#+TCC-aHfHu5W$_w#G&q zhI)IMNkVE#NiKH}1b1~EU9A+hK+2>xBPMl z2?{vaYM6I|tznMNZOVzEsv*o~Zk|(|J(=Hrs_WCaznf{4;%nW!BU^#V20u;A-%s@J zMmTy_WmlKlIMbYl3#I8uIHi)WJso)#@ii2F15UUw?K^uFsIpFg3U{lcXXT;@UzL#9eXL!ZEvXxqbFjkyuC38VdtRy@0524MEbOu!t2 zS%6uBS%!)ImRtYZetysW@5QmJ`!WBQ;r_euR{xuDUgCYrtN!ovo0e5){QM{W7T`WD z+tgo^tN(rZw#UtH`TJLO^5Sp!QC%v&qptbw`kW8GYdrF^9sE(uGnkh#alCKw`(OEq z-KOoP8NKGW{QQ>NUEAl$_&o!&^moGecWw1X@}qXH@oU#KoC~HgMf>2ECpqT}A2q@g zhZmb-p3@^dd`stB*_@I`P@;HgG<6^DDdrr8lL z{y!rWU;0yoi~p}Z#8dfyK!mfz;p6rG>>c6a|1(1K52$%=x~1y?c4}2bhtlAlolhdXg~Ppk(Tfq@(&1jd=z$1t=+7aOc z9Pan^Zi(=L4)^X)t*EvYg`$A zWr_PCg2TRB{|F!IaKG=?F2eV7xIcGWJHm%KygJ%`7~dj%e}{WHs~@i@iFdfe{dv*9 zMEC&?_xz=oBK$yydpWE7BYcFzJ)M1RgpYK%m#4ZY!bdsW%Tt{a;iDby&+8l>;bR=` z`F>*}e5}L$d7z;YevrexT-N*yd*=_pAuhwrf?dxs{5}M;Z5!v``8^5yOFUCI`h7S? z?)8)#+4X!f*!6ra*wbg~Ur&W6KYBhA?0PCK!gozm?EXKE`+q8Y(f9)r@&henDf42Z zUM5=;qj6cb{f%aF*-kPV>tyR|=0JMnW2**-WiL1m^O*HD((3I#ZjP6Yvpm7?sgBMO zw$!Ml%2r@B=gT(7s29jq-Av)X=I4A?X9fJOL+@;Y++0U^AA1n;7qd8u-!;Pp9*;qS=w+-9~D6FN?94^}= z^D(51Qkms{2libKVTD|5G`8w}2S+W+cCMp`WxLF1hLCL!qd8EvA*Ly5q*20gXob|& zXk?sb;AbVS)&Jxs->65+R?Zy0-rKr5szKPHZakE&p%JAk+j&M~hHRDGs4iP8qxoC5 z;YKr(Y`x5LdA?M&3#IWvXj!8fMYc{xW0h=`9n~t^nQs1*t+%5&hS5l^w{?wZ2ib-iQM0lwFt3KUP2J2aY%e3) zQnnKu^)K7`Zk-|9DmMblR?X3xvK?3I+R^!PcZOTZ$aaC7i)5=~4hrqK z5@oJ)^T*S-v;xrEMULi?ZJ?t*Wt(D_Ug>*s15*gSG!$3x&DMJ#-HoU!xf|@(BeE?q z8u4W-Wke&$*3oEoldXpNJlI+oQG&t_Fr7j^E-<1>g^f3w2V~0{%|x=no5|M6*3H(- zHp@28w#atQcFA_l_RjXn?wuW&9g^KIdq8$Xc5HTBc4BsNc1re`?6KLI*%PyKv-7fN zWY5el&YqvWAbVkUZFXJu^6a(Q>$88#Zp_}E-JHEUyER*!eIUDxg@a;x#a^<=b8QxJ zck~mb76g9SdC8z-y^Dj)0XbW8mT%?R(v?bobG(0lsa>_u^S6%8e3IX`)YYX{E%9## zl%CwwhusB`k&wq*SC{*lMju_>rO6D+5<{rt(W!+V%I|{4jRnM!L zS1Ye!UZcEb-1XO%yZt)nb0vx*V#$+=Z@0w%R2YkZT9DmQrxf4kA~yP$hV;+UOE?_QErYZ8{t(Q-kb55 zk@&%!``OhT?&;~Dc9h_Lo$Tr9Dv|pd&b_CnKfIyDeNBgZxxJ?%+^>_po}X^R{8t&@ZQ{6%Q+eFY``13^!Rhf=P2HQH*)wi zdjsx;r|yd!?)BcxkKEHy__VWqaW6b|-`wGz&aP5Y&c&@9?$?t)C>(y1&SJlA^y{4C zBHXVV{l1svTT}P#T{xcpmZWTo`*owIzsE$lUpIRCdq{-)b)!G$&@aL}yYT(_?j8~D z*NvWDZyVu$-RSqT8%KCI7mnZm{!isFBzN~Rb@mlT_R_SoN|=+e>s)ti^!}dhl>hzy z9KnAYS53lgjcJeRh8c!A5F?$LIy0d20xKa?&c`gnoPoIyvk7x(9`rSRRei2}Qa5Rk z3`hpM@5p2f-$RngNh)MloxHKK)5_z1bOcD7e=Ge37q{e5?)AcLC*wgzcP&lP-`J6EtQN%s?H z*iT7@#;UeSpG0TcY0l=aW)5t%6irVa3`pK&&=L9|H!|x?qwJ%|`J0r1ax*hIGdU+& zo?O7K!)v&k=Z54a?gqY>dE>$4$wa3k75dRe?L>YnKv@jU<#7}xt@oF>Qwsc`Yz{WQ zJVqs>DbMtDf^Id>U*TP^FzrdJ{Jm*shOicyd08LB73?CZ6{|EVLrU+koz9!Zi*hCR3u+ygZqHauupNf z^_Mn1bI~l(NGgtKTO{FcL8ARfvXbQlbq($a-_s7Y%<*=$y_^%RPla@yXT}EGLMMNy z9NvU3PK|YHPxZ_P$dFF6ntN0#ubUAe$B!jCt0DKdAQ!1IO{qG-9FmOZ_Ug&Wb0B(q z9#UnR5mb^LBqx`oCp+@&XQ5?POVTqQ{S%EM@>h{opmX-Jzx%&R{=YAK+5130s+S&2 zKb_1SmG$Z6ahrUPiALqs!Rj=f@^BN#a)vsTCgu13oDaoWq< z+>EX^^EJ1f|4bN4!)$IsIy*TZy*ul;+j|T5X6=BMdog(>xd0bx1?A9I(>dv$=%k`j zQpW16vus<9W-ZlxH(Hx-W&Qc7cUR`lwj7hByUcm!6OyfzU(AZ`Dt34)aTa1+@_Zr< z21>a`5uIRF2&)s#(MmymBuYD>cR*(r_2ye6?FM?&j#ed&rs+wUDpn_D6jEzad}yu| zufvDzhIoE4qFOYHwL|lwMTbBY z&h8i5Cg=g^gAR&A>_U4c=jJPw@nwB6Y#I-Jef%22eeq(AK1XoKLEh z!n2S8c$t=>H(l&0cB$2A9ldE{CnxE7otDY^kc+d8=4!dF>c*t9Asn4cS(*#;Y_l}9 zj?7K65k9&W`1GqY{b*f>QDASEqkWmDNAo>2smoi@V*8-kWwbriPOy{gAtAMQ*!$7t^nzVODJrIA z=6yPbY#U6IFv{MU9Jb8oMWe&}AL2dhltL+T(g;fF z(MVceV@3bzS2fpm_F^8ln{X2Zxc4n@_ zm%?9^s85MBS?k+V$!V8+w$|8HTM0h24}WTNaiIcakF1t)|O{+ zH{!XO%QM&UUVgqzJ`A>|iTb2!Mq0RPWEy0OGVL;5GTpeVbTfC%S7HlHZRC<&trg(uLNDDP8UJ z9$L%O+&%nP`-?4?tS1!tI+gq{%bf4DkzHKmQ-VGx26mOlRZdpCEjH;`V^-mN6zA!r zYwbQLmHUzCe~~+A-{kuaA^)A5_qrrqlT;5|t!FYQ8pE1|(_10Ln~RP5gUVW!x8Y+F*Wa`OOp1|CJl$<4*)BjyU( z_RDMtac*(a>v)A{`hfY=s*kI!bhKO0BKHJ$(8W32#2Brz9tRinJd?k6SGirkE~xMf$|uj|T@TD3XWf!lfT@#mQqlZs#Cejlbj%;jI>{=C%jyM^!9 ztBY^-xhdgC^mlqnP6pSQB3$hg8q?_~I8N>XgsT*!zvmQ+Q+T?*W#HoD_xGkp;Zw1E zE_L@n2~WcpT_S#KFaA%8aOFdiU)mQO8{q{G|3m)&5BY!J+y5u!|22}#v}(;7X?oGR z)AM0Zn$C@kDFnTmne1M=@59JNO5fQ#te!u2TC~14->^b2>+}*;um!Bnbl-YI?jIil zbuiIRwe#)CR;x+HGt3@;o45VbbcQ5RjQyZmkH@a}V{N^#hFWdv1+0fXoPkYmKQ@Qs zTYi4zoY%D>q_XydU~6m-4}SKsPtn8W=a<}h{jYM;urHXJLA|@^@1+ zgwj2CTFqGXYPsuat_NHMi-hx-ZSE!N(d?6y82>dgr?N!%DMf?X3uJvsIQq2-O6^T^(B zq@;&kA8ga@((rbW8QI9^;|k8CJ|9xooWAYDdCl~uqE*)w9Hk}OxZH|mf2+AxSbvix z9aOwK>GWrKaEn7+2V33gqLNC`SN2h8b>HVs-_5ccLjI?^z0jjVx%_B01Y0@#QLq)c zRg31_waB=tR&mQjUH`huzvPwDeE*ZC{>^3q??bmn$1;Cd!V7>Msr9A@q4o- z*z)ab!Pda832C2ZwPGnL>-R(XwBWp#kLzypB(K%SRQ?(fAIa%@_`+16pDP_mB8RZQ zGCPBGRQzHg>7GJ>cuj+F)yM_77oJH|GVcr5PKr$)+a$RfkPzb!8|M zg+Ica6I?bmRd_F~$m|i;Q60^Xn|)roGDaT3F1OYdTZ50QoE97T7;QeI$;)tZrD&FPMxf8eCNVV2u8OKpkT~@$< zCG$pzbsyKygqNp0Ps;T!rD3#LMG5F#B}U!L&E$}hp{7yDZ(~z7VC&70U>jo8yHr}W z*xyzEQts-z{zKPgtRKw2lk|KKhbz3EHO#>3-u+3ew-=Ke^`l0-TL7Y)+>aXc}FPEefLTdYp z*N3m#=7d($ z0e)fSNv*wYf7wt#W+a zKCbO34fWkP4l~n` z?-A!j;m&gB=oPN&;GK}RcJ#r8jE-uFKF%}UXrb0B`JiL*cbr*FeJhL(MjQ#b6K7px zhgw}L@~!)>`h%*4G8mD1Po@AIFb9;4sWxl7wj|q7ciKU=j=8l0H!V_H!dm3Cd9*ZD!W`So^bfWn<|=xF+_g5k zgFv=UMkOIzVQyC5JI8}Yp6IoD=~q8B9Hd`iR;&-0N%5`To$ZirYKf%az3Xh&njj%az1>hdMgk%aurLOd3unhkHFy zeIvZH!@ayotanK1(|)Pa8|ypj>Ts_oN*W2$@VkM(wp;(qb0etwPdb09rZmP><-h7W z_#dZHN#l;@zZu}6-;NZX@Jslq;PRI-$?2+R>21{fx;nzu52edd^J^FIG z=5w*IIL789g1g9{;XKTDLW}RJ6W!I;lD8F*AC%aO11$d+q}Dsbf3^Ps1T9K7JqPRk^1^6ux#(rEg33912hA zrbZ6;^T%T)=`U{VaDU!(TZBU<@G0htUa^w&6w@U6c>R3SALce##@$~q1&{hQ)#Ft3 zWQ?9#KWXih{?@Yr?!FAT-o++$r*P$8T3 zK~^ma&)kr4IJZO1u(Q|+oyVSguTUfH;qhI}`e~Kf8-ElT^M+*BRNJ-S5c}J0MeS&3 zNxM-Gq3Pip_Eo2FyTH}p|rejZ{M6dtW;j z$GA|3oedHXP~p;;UM{@tX;u(|!rNePK~~_OWK;3v9J&7?5NCj_;@w<)Ka?MA|xd4~@rYi9CJbJ?}rt#yyR*WO1Q+igEm zq&PdUK3-u?=a=Ff<~U@sy_KW0H`(c-Ub?~y8jIx8A?9Nch4~6GevGy-?R8jte26pO zd>ul673~RSsAV5|AM*hnM`b-335+H7BHNU-F@)j&TT>H1)v>o>rKl6DI?XzR)wlo7 zBAur(f9Y(qz88?{lpFW1*=P&#t&rQ2x@q{+=%M`Gi+s*8Hr-Qr!&C|GS`*e;gd&ce zQt*zs#fnoW`U@Kg>+{_YDnKkiTb`$Rh2d84s&pbV~(9lTM+&@`ndMB8nG023nN~>Y{h0-NW~4* z?iOlMqk_^}Ogffem#bmsnNR~`oql4qh@Pe|U!4#=i4YXWb@oq4B#QRhJr|2`BVX6k ziZwi;xtnOkC17|kx`#!#a#UpR%lD%x^di;! zx{#7rY1e;ochl6weLK@0?Ht`1v$s-f_c1rTfwmrZ8JOnxP6aszk8X%SR?}%XejfI8 z(Zwa@Q0(VnPhq8VgyxeyAOO-iM)=hjVN0Jz@&*&XPu=OM`C%w&Dke=Tv&u%fl&xBB zbzd>Jy02}NC%r9jxsa`rD__~_8l}{iuyvZ*g?bK_Y;}xEO18?m6?~l>*Si}2>l@uJ zr@GMHm$gk#&hYf*49~Re(b?JA6S7xvHfIB8bDrjW$jw7|!BWM<1L-Zm;z zgV0pMl5=a8{6b0;wtn4>MB;Pymy^89-kJ3|nZBB~JTmdAOy46pnZ8p^D$_Rs8e$GN z2%U}G-U_!nrg}cZ$@HoJS7CQ-Uu0)bu}M-Q*QZ^?RIbk?6}fA&d(zu|_d!OJCCtHyXLyaYpV$zPkJMTr)THj8cv+luzBi zx|ey#&J8Ku1D61b8iQ$nczkZ*tE$4*w`bhd} z>_2^fdRTkD@jL13AJ*BQ-{t!WNpPPu9pdBlALh#}yrMs;M`;e${+>oMW8V9n@b?P& z-}XECZ)W}6@X_!1XD^K}9LdJMZhgMQE6BKdZ$Q~pa`m8EfZ`{uaXF;rIEQp9tvZja z`WLQ`p0X7(IyVk{m)Cx$tWR)deRlrszf)K9LtPz68hi=4C_)UHNeaxUD1D-((si{) z6Qz6v|BHq5WS%efsq`hT-kjoUiyG(E4{wfe{Z3oayN_@i1Ph1K7|nxqc%!ftS2jn< z<>zj>%QuQaZ}VK3K5qT?`rUi6*iGZ_1DdV}8$|eC4)=6P=?L%Za4$Fb1N2H7PCtix zIm7c={Ks>*)`6PW&wY$D#~AI={nl^!`MvpnGVkIrcl~`G;mY*?GjcpUdlzHJ?28$O z8G#vxnTRb0+3a{H^7AE#_v-X3SPh?;X%)JRiqAgV~9>AGbQ^r88fx zNt?{;V5J_1Ux}GaJ*E2DTNsrf4v>nj&#u*#>|q}Qr8>#(3ywqT6h%X_z+rpVq-6P((` z9_YGZasTsgZ*4wg9 z^RR1goQRO_VWsB*wD>-1CIr`~<<{22jar;s)MvMIsGYzs_36e)P0T=J?It9VKQosH zH$%7&6`jMYeN0`<^_#q{ljGegwZoA#AIbTPBZH43!r9BFI_Y~E=_Xd%1~FIZ?f{i! zD>LpUk6vLWSaJ4+wsu-ARVJ*hS^KSl($cPi(%RmwC{ta;oy^d!9d^(Ua9l#qAIGW< zy+y)#f(Jgo?({}d4!okrM<_iR*090{gR`X9IOF*I8Mm^fEk(HUnW1!M@LUk#N^6Ea z=wo<(Eh;3WNAYJ!#o;_Z2-JzjBb9T8yehW|wv9E+u0RH_C+BGP zVm23FWCEvgQjPZQ&2t;Q->j`d`&5Wea29PVwXG0Gng_%CJp14+{{25qBRe3pWu1x| z1OKuu@8rIr)x93F?P0owwz<%zQhAlEWbs_>KwaEG94h%CoM=+&{>pC(hxT>}@&ejF zQaEjMy6-!h*|<=TZ$gb6PwuX#HNQY>{t{eeFHIh+=}jZhdwq!2PL@LGU{WpleVkTL zVS74Fo=Qm{_VBgtP)Z~b)6LGcsf1o-+lPEAO?!~bv9{D2A7byEp8W1PJ^6bYjob>Q z4n0rpzGv{8v1Q1uB=Hnd!n(Yf{UoHVm+2B*S+syRweGu44eEAHag{NiK&DIKaR@F`p z{yXF}=y%TP4@J`{eOW!>YQh=-Ct$kOUZzU1yIC6ID{sq&(8}a=>9=%}d`iR5rm;;W z_)6vU=;j9T-AvXBLxgmDBG0e}Dd8a$2GPhkf;18BZDC>y_ZD1+@m8Iw`f( zz1oiC)fVwzQe`P#*5Q-kbwQQmDaFe>d>^;pF3GeMujugVv>oQ&5RIXZ1PF zT21)>VTAi}%IlebIl`51QEZL*|3ril>T;jgC zlEb||y>wjBSP}CSWuFYq{Q+j&MaF!}^9Ri2C!qB)GcXevDE7r252RrK5p3t@v>_bj z_Koy*gqcy!yIXJCkV1_nJ>iGUp$PQ;T$AcQnC9dIRRaB;yqPqFDNicHp2+8|H={y4 zmzrt;Z^^DjdvgmpR9JJ+ALeZry5GW#*&gDbWuzHEp^ZdxeX41iOHD7=9^^XXbd{^L zTN7?)cqzS2U$c@BlFLvD|pD20mk82C^AS36cH1I^Ts`;{iW)qbjLBT88z^rV4!IdYSGJTc*M?!q4oU~5SQ!A$7 z{1?rY?mtrue7ad}ObAc+pXqXZydF}m7gP7Xf6iscg*iKN@971vpH%CvG@V-C&{Nr8 zF>XB;(le{N!^Lwn?)+aGeocqhwJix>Cy3JY)ONVnbE%foMk3*-_+q=k7|4$VKayObC#mi({wg>xIa(%ZiKgRxF2W# zkpKJdk^j@!+nREX?<4H)%Gv9u(#;ZSz4UOnpU=dhN%5Wz_xfSAc1-bJ4)^o1_!=p` zhr_)-EAdTIytl*sd@Sx#itp+0KlpzWi~r#NX|~o)5SrEg;Q#%<^Zz`haF&&PG}8{6 zZ}thihQr21nqJGjOzL(gmNP8q0AwaJ}9JSiua(A=bFbn|j|YIZei{^Y|E=T@}7d`~p*-{R3< zkS~-pyn3zQ4-s7}H`UEfdY(9lQ_#z^nAO{rrWZTwL+yU-My0#u+s#AnE8gv!ZogK3 z|7p@&C~tK4kqN79cEFiXjx1W`(*34_+VEbS18>9s%K`E_r7Q6?j3HN+t;a*yEn3`+sl#fM&|9D z)X<%|{hS&|sr@Z?S6Ll%?p;2v7m>rL#_~id7;9GKQn1OKdawobbPOy8{Z3a z<9qXn8z60f@}qR^k6kg$b9bA`R@pp7n6e$28}SR#)U`6yO_vTCfCDJU`_2QL5$k zQEHjhEF?w4UdgFn-2l6ZR;kfa@zgZ+a<>XMGp~{dp`V(X_G+dVg*iI6i{kG?6V}X> zVsR&zYPIP;Nt4_@NyFSeNz>eY!nNJKXCxk8!C#o?(wom(xckm_=l}bC{?c@{U$6iD zIho!0d7dwL5IG3+dRWi5f_scCM1=eGe0f8mn|sJaO5f8^`S|ri$|p;o+u(ma5ZtQ- zTI6<=k8u1il|?&hO?)kHA8U>bE#g2kE7&GDz4P*4%bXRkBXaz!n&x|a>+M1Azij9m zsqL{^Mr~QxG&7zkd??~>DZT=99*VyyG-I9$?_0Qh3oD;%l?O*{QM@VnuEM!EwKkPZ z74p#zdMMSXQQb@pDQ#n(p>O$kPs*kKgk0Vvi>kL3bNVEzIewAK)l0{;f!~#KiPCsf zWAfF?@l|BACOus~+8mb)eN7whPTUf;qHgR*^@#i|4kL8WobORN--ntK-(MwPk>%NY zm(=@DDgv~eeaZ9iZYB6X9sU`5x6$Mt;Xgb4)8td0U7~P)arpbm`#kSxRuYa&u6Zwc z54Ce9ZzgYoKiIVd&vW?e$?M?nMeef>f6eK| zem27M9sX+aD(*K&cxi{fl)MDKF2c(?d}p!~d~t-Acle8FwWK^FyrRQjNL~OR9pMEI ze>Qm*e9s840{-9C|93wZ{(U z)UQyx%^H{R3;npW6KN1Q;LMOAoWMtX5lIcCQKRtboP5?H_hHP&2>1NO-bj(M>sf-k z`+~Lq-2q&)Q97={?&agpjqb_nBgL8e`FQ@yuJ;9NJ=2o6@%_RYU()e0=FfTlrPmi8 z^XCej`)14*j6YGlp0DZe>xubuOtpMGpC;zdX`Lf2A4U9+`E%7A?)fw^f6ntkJ)b7# z&((153r!)<_Cro0u=ta$`W|I^SN~#?&Z2fYozWOH2HWv z<&t?x@p=yT@?P^J9DH{PmbW*UaHwEix#axTI8M7I)6|)2LIOZA5PRv}! zrc~yvz&uM=20-)ktxmE`v(q?tMvoWt@2^dLo9=^sYwpR>w^uppKt9*~LH{%TtK9ye z|5XZ!`GfxdE&5+&)6(rZ%GSZ8l2KK1JB~Z)Z{M<>)Qqa0wbN9{NkTQsX;9Ky>07ft z^xK=b>$wrrjl!I5Qn{y^Ik~60ZXVFvhHfTRukPS9pHyZ16JFU|9Bg&WDY^c=(d}D` z3osh$UF*bnZS_;|QRJvog=sm*H_fC{Pu1OQuF!j%l+RJ$&HTdFx!aaC$5$sOKfpE6 z8mo-0z{#$om>T3}T#olqHOKp?#k$VFtz@KIRqlSsaXjkhG=x>QJE0Afs&_eUQQJ!5 zK);4?@5yLeJ(O0)ZoAKivDB0btC9^l%^4@!bR}@LEnpf`TzlvAm;cl0rc)g)Wu2!} zyLx}S(<-8vhO-WB=OpChW`n6^KMA|spXYSptTcCo_|M6;3QiYM_X?}A)p;&FA=!5b z+HQ`f)Sfmc+m-Hoo8o8zCv29zF1SC?d`M_2(^>X7PL-Tx&t;c)6yWu%Q*X}iXz zEiTVaCSYNeZK{!LoE>?c$5yzVaJ^mTT9c@vDe!XVQIB`|68bst5o*%XjQL9mUaWj; z$?t0(p%&z_B{$L!HwQtCt1L#l|FZdZDO=(+bE*7#(h|$iAY?xfw<+Jhg-Lr;%iM|K zRyp~b!RC_?dVljHiBel>iAJ8Tgf`qLM~bDUsq0EylB;^BlT^QUnM#^8ak%_glf{W_ zEpr@>?zEeMA-)5h?mMNnkEDDcz_r$qU8!$Me2Sqi@pUF|`$e1z$ujF*ZBkPg+P_nd z525h)g?Fs(6OO{I4ehPl{!>>QZ&1G!*boat7_>*gT6Schb_jg#PW|@MqBR zj-LLWC3q)?KWU!?UmoFI9R7rT0(?WO68GI5{)l}F2{(u`nPl)jT4&TnXa@FG(AHdzJ+tj(903NpTqCu1T!N_RBpo^zJc?@oYd}7 z63z&R-{9_l+7fWBVYI%a-nOgO)MwOdG&`w%fQNIwp8qF#xD;2N>z95Xf$ucEasQOG zSc<#o-T5WsWUo?O{?!}H@L#e^DXynx8_hQd&<0c7ug|^we=1M+<6BS~@Cw`GSm#=F z)@aY*&!^Lxeh>J*RLFlLaSG^EE2&Ob9|6;#}e4-BF zEQ2qPzpXrVW^f&TS79W-cGm-psid=j4E!yj{b0nWd!-TKHAWW(&-*dbgrD$Rd=2Rl zlLoN~>pUN&6KP(Iy^!#mV!qf$UMxC6NS}6>#ZMhvmk}1zAEUEFZ{z0NIjk2k#rXM% zbX`rFG^;+y?|Rs8z?9tp#emsC{c4pcuDs5ZNgs=3z9g?DSrf^XXn&~-;WWnIM$Dsx z(~{?A%-HLhMKQ-<>SNx)G{5l_2I*0H9?{&`PL5z0vw9l>c0+RpN2_~H|(4P2T@LLb; zah@t8wN?6gm~Z`gzBBGC>2DM+s{;IN346D>{6XlksmH;i5z6 z*--LuaU$IF)mk(6(q3u%X*pMub5qEdd6jmb;+{|D`C-zx8SvSjPv-ep`_SJ)zGizq zndetMOnXc5+6o?eL;gf%q&QulkLOFp`i|&=d^|s?dXyfz6d%t|iuqm*9PasuY7a+X zq^u#;U#fEx(v2Vm4r*!4MPmbn$%c@4@y3nk4XAJfJ1p6t>I-zCJ2_o&RB$u>Fck!j1 zwz}4Fv{D)DH?8iVlfS*K&V$I`_pBW^2Rl1_Hr3+#jD6Kk2(BM>r)|_aUSMth2Is{; zaPqP8Uz?Nrw{G`oufcljUOSF#=*Kq07Frj+Qo53V+s-_y`NJQyIzjC$(w_-}BKw-RT-{O`;Y1dZ?jDwSM zid|s83n^LRwCyYOuQ=0i1!Rd*u*gbxsZh-&qJM;rGGB&TXz%1&^nNDtkJ81hm@YR9 z;qQq`(66SP3SVPaZ})y1IGGmtFgCI2y^-5Y5qVSCADQx`Q2x}ix>#xUSBrTrn&0L* z4ynS}3;jSZLbb|gTPu1+w#w#3V$=J>;2-MdNTJ)zl8~!P_9W_Earim7XDG}5tg8D* z`PI#h^4Z(Ari5iHXS;-2y2yM(XbPhS(rZ`R^tSQ!rb|f0c{yES@Jd2?o#}LiDL-pz z)$6&BVvf_Ua|DQs$*nv^%T8xhliA3XexzPe~~*$t8)6BU9?7lg6a(qQruJFebEypDp}!e zwC{xaT?g;@>KrG(sd+5)oy*K)!Cw)&ZXOH0=OuSjff?@$%{({>+IC#N+Xb`2$}5RY{H2haG`WCx;;+eePCOL+Fp^{n`q+hh|}A@ z+OKl0;<)R4dwv}ab$_*W1HQtn3HA8ASsv0mkXV<861~KZ3GJo>vYTTbS8 z>^^Q{WY<_-audmGyw$w1&Ws6Ej>d&Sec*#)zQEkwk5Kx1SwzW4N~TislSMoi^8Q6k z+r7}`j62CCZpMrS+kmm)kApV_Ta1w$<<`FNX~8bTEW!RIW-|7!xL=9;Z!x36j^_Cg zrYUyGeM;7HJ@yK?Jry$>`zx5i*d;Go4gaU({te8Y;DdPHhN+Cb&R}+FG5ZXK7mxXT zUu2j0T?6|9OegHCFq5!9g-Ngn?1QmCi`koZ<#?Wp`6usg$Gpt@ z);#B6%3y|LmSM(|o?|eN^1cqgr(k}xEx=)~ZF?W|?j>UfLY}Uu*cN0#BUI8EU7M)ix=1}37)+geIGQNcRSdV!b zdzV&(-G=_vn*D{g@bAg@4dAuFPr)qWT_@iCiFcNF=ke|v%qZS{%e$q#`uBHl*9dg z8d$E29ti5K4lEVb|Y)V)Y4A3vpKR9A~BZteN0og4{Q{0Y;-rg{QfxfJV74NB}F zgI7Y-R^^9x%c~->L2UT_?4cDwdQ-8 zlHQ-=q(#bN8&54=YOX|%=Pp*5kD2dqARX0e5lxU0KiPa-?EN%FvsxOu&Z8=vZteuC z>Tx71%{$DqZuOqt4At43Nk~fPLUtN9k;*sRI=QAD@Su<39rhI}IG&MDl{8E%)l<#x zbiVIzy6;{6m39;E=ks#r+D8uUsaUln&QwGGe@T6&xbNp)zWS{Q*L#(5E&e|r;l7`H zx#$NXTscbH}rc6 zaI3t^Pjge4vngDaklrY6y)Wf*DO(-$T%pIR8>LuSRg(nYb)wTo%BS8|H`T)1hGx%7 zX?T*tQ7kH3m8@JgG*9P3ROtz;Wq#`S+VS5UdFm%4Zhvb@!xjHHbLOYjE*sIXRppKM5 zFDtXE=r4K8>NkG((g8cO zga1#w{#V_eL?=r7ty&r_mD@m|Z6n}KQ2_VmB9bXk2F0v;Zp$#T}G&p8sU{4PA>qT7vWVL{tvVm7;|uhS9SOgaEIBYh;W8DKHu|&#*Xmn z4*wSEX4Yd7Uc=$vz-LCbB*JSt{0rt1)=m+w@mu`k&-pJop|l)49q}5nu#`rGi?hjy z&)3TdrS9uG{22oY;be$Xyq?3KMzR=QCXFfoG+)kM9>L#_v@^mRIQRa3q#Y5ic?pRm zzN}FryihQ+b#5#Ge%%aAW- z2@&B<9ljLlY}T$3-pt`=!}q0qMtF0FpM@4*WPF65=F{22;R~7V*$s*CmJVM4b;Q~z z3a6FB=Q%pKWrS-fpxfZ)@?ST^rsdGa;j@w4hgy$tmJ58mp5E{1{HgnP4)=O}b+$Ui z+dKSlc=%pUE5$oFe3F^OQ!-pB-qGO`q2RoHSBiIX_ynXpsLjZIXNP;eUOJ7Ry6@uf zeUV~?E{kxMdwjf}F5R1%y6@)jzNRnF<070T8y~NqO1$;deGi9w{Zx{!Nb#Ny_xDf^ zitt_z_vhleMmS4;K81Ygj}hKmu<_^FBzu>Jzo)~!9yZD5rFb8Q`*V_#*Guue9Pat8 z<0HJU!#(|^8z55m{T%M)KRQKte~0@ysbYlh?Qls{thS3 zN4iPmt@m45BL5$-enTU7DytO|C3F(wI##a8&-?7Uv5gWX-HG;PD`Dk3C(?75Rx6sx z{{+G;uL*7{D<2+Yd{HH(j_$O)T(Q0a`_!i;^hZk(q7|sW=q-@njFr>U;z%XDv8aA> zohs23;-^|hOXl5c|5}w5Do0crDXfQ?Q>HgTy3T$PuDeM6)!}@V{@U-RKF_L)jcp!C zPIx>$t3~AW7g8Et$thft@_8>#r@Sl+8EoIswdz68;7?lQvGwfZuirkVP$ z@|MK4gyTdopGF-^{{ByksVW86*d)1rD^GjBu#Ja5H*HVt8 z5bBrM%b4Q+NI+uCt^OeG8>f;$*FT0uCCRHbo56zCSi@NG!|QG z^-^ioBjw1_8o9-Z*0;n;=cQI3)zK=EN?P5|9PC%Cb|d;XcPUpEEl;ghbqU?&8sdB> z@l_pKzG_9Pg-QFN#KPzKZhOMwsB_}4YP1$VV0x5BVi)99x7F&&I+0+N(RNK60-*SCwexas^%sB8tbN1YgPyqqcaJMf276Eq(zmY;@E^w zLjKlm<0P^2t`$cWf?Db-_jIqVcndl+J45vc`8v~bYiTZ0Ss^XkN>BOLnyxOCoLbqT zkj^AWQjJQ!F0;0Uw3?B6wdB7eJw3O&kK7AfO{sAhx#b9Qz|o{5rR%@hDmre4y3HKc z{mr+%h7JZO^gLQ1S0s1Ti8`VjprDph7W4kp|XRSnZEK72wT2 zsbAGwHQo`1uVXs@p2%PS(kuPB={Y_G&3dhA{l2?9_mL#-dg?l!eteIQ;+n0=1a9na z+}pm%z0I4p`?ysj&r`1VDw={l@S5aPn+4ZnV2+cX#sKA9#HC$MfhDQafielHMOGPgLn!pIRKR z?@rm}+4^Uo)vro7w?#y{Wy%3sLgXwR7oVRC=fV zv%w$m^X<#p=kWDQtvb~;)Gw%ahj*17*m&at?(eu^JOKXu^`-v(bGe%NTa;D-S4qo= z4s)A$zi1Su;VWL0!R&X+ctyZ{yZ0ONTguLW`}XHO)HT@uFW|o2cnbM7?IK;52rB-1 z&(xzjmH%(Ks`R>zjBEc=>a?Zd6g4*P+YgOO<6qRoxVO(+A>d7o_oJMqj(J^4_(jc( z_oe)$J{$1n#(TM5xLU!QJcptd#=RZhlLOw;xVOXmvcgI3%eU(ujh@qUgXbi?o%#3n za~}@;`*zo>>{Ch2Ch+guQNBHMN8rD!g;SBe)EK7<{QGv%e$>twlM4L%_RmgsbM-up zPj?HaE4d{-<$?bm#tPnkn4B;b9F`+e_^3AmoS zN;I{XwPq;|N57Nme0r{j1-!p;-~T---~)_%J1fHiKG3*dA5j?aLgU_UO5cDFGVc4) zy9Io(ac>8ub-;%h_v=BL1bnD*pAXd!_`$~gI+0odA7-Uime?e}MEU@1+IoVDy{uBX&2g{BOrk>USsakkVAdvu*62A-5s&jHsQ@ z%KF>b&-O0%I@}Tc%wCE$*q66+tTlGZ^JlyBm}y-J%dHxDs{lEU;qCirbJd7iM_t%& z<_Y%P{4i4bQ`ilxIzgTBQ6y<@bJWCF66| zqK)io**ornSNYCZ{;T+ma&x(QF4vyHJ#e$MfUbA%(E2Eh4vEHNA>fUuXFQR(a>JAj zS4VnN$;ezwEakuKzKkYvp00a2qhVh~*YizRV6VkQyTbAyU8^gjg@187qfznI$+1Dv zWHiO|3iqa4$V%DIBNtbRKT3}86DuFr)%v*!#N~$Q^5jTibWmM?rK_xLke`9nZ}ohY z_7#VkmfI_CeR)2Eq5+(%Z$~q`v`us;-*ivI*a0aWF~m}C68>3{N-l+Rij5sA{7H-* z&WKh-$^&%fUT)v`?@1_a*#Y&m`xEYl)(M#PL!d6V~;W>Y3 z`&8@67m*Uq;pwlYH5bu4|0>U3`I)ZOj3+&eu=Gw}My-1RtKxo&D#u#CspC&Y??=ib z6n<@=TcdSx#jG~UiVup@74+lX$RtKu3pE>EPrn>HiI2nX?waVY(Sh+vP+m1ggs)*d z^=)eXTN(8|FnT?DGwK%iidAROb&8_z5^djD<+f7u!EO zNV%x)zAnFnR<!Qw;f!?+<2XreIktvbzp9@(eI35_Y)|283;4~yAqM4b z4!ZnkN9!!J)+lRrjP)LNTdhJ76iify_&8 z8LPBZN^Oz6n}_kFbkx78s>`Td(33ua3AFZa#Ky*_%m%MWTY5iMW!w{WiATh%l6c=k zyLA)2AuX})dPJmpmO}2&%%W?V^{kz+6mnno<7yVGG}gD~b|uwa$S%37CEWMZ{GwGz z%})^TpORm$W32o@;r-&?j+)0UV$~z`MBB56pXydR-h*DD?$O;**H|;-l)CgRm+)Mk zwx`MdYL-W-uA%hW=2!V|Y2Leyrq+o#N|bn**-jMzb%P^8c>oxav%4?wn<-%9ZY$S?ZUj zlFz>jIVEAogS07#Keq!c#!f)MWhlUYq3?3sz^1YI>MX?O2e3%Lrm!qlW)Z2nK9*4 zO#T~FlEv5*iK%VG)G1y%e736i~ZR9;<6Y>)0zlyw$ zyoKZtw)WHQh;%`YL?$D%kaLi^NEp`@eBVqs9mvWK!#x1^XyhW~9nw_#`;+YWc)L29 zd6YZXr!VC}O4F)o-V^v&8r9i4|BnIp@0Cw4i#JdTAa@`d8)=T;bXHR(ySlDg)xyVeb`m0B7BUg~$T&LAvqO!}O50*WWI$3u&FVXtA-gL*v|1@_Sd7iW;B{qF0 zyH3f`6P;Oj<*CCGVBAvF?K8?6z)X z5{DjcWO8)08<|}1B==Afo2Kr-k~^E>HYIT`v~^wbf12CKQQd78{kZCx6>Z>h5}%#i zy5vcZcRLd87@PI(&z_sGL*4O-HpZp1-s`!h2^;B}Ch2dXe{kpvMy}|Ww@qS9n&oiR4h*Ir<`}cfWbPD`m zYfJs>+N98E3f%0W@J->6b@3U+p0PMVIAlqD22rQ-c2sn}{Htz7tuY!1myMN_E577> z(LwM{0r$DVKC~&k?UvMkb@SgaY5|wMmX!N>GBu<6@C^Yc0r9C|^O|JmCG}5o;uG0? zA=!dSIf;SKx9(^DUls8B#<#Q1k}@IS4UB(4>xQx;;04BCXN=CDblX2qAI2s|!oPP} z%$2JhHHzBOuIkO+7-OP4k}xWpg(3pweNwNA(&iY(>Zj8BpG7&|O^eWR#9|^agvwq!dhE~Cfjz7HMZ?%JT=}fR7!=)|#ICZ9QBftN zT&hIg-jC;L(!FZN0ODeOa^-2E}-0f+s@G3E0eebl*3=en}PwY%%)B-b7LJK^^Iop4`X@au5X`1avftxTK- z{?55t52rW{SnKbpw4C=Nma>+rdlmQPyssB%ote&q7yD=7pF-MJN?q0URUW5SSF>z| zno^I_gRUB(Wm`BIG(W!UUHvX;J1Y$@brr7aEWJ1Q5b}a6bV^vp4N0_ezj0Lp*z?)* z1ok`u*Nwa>eb0Hd_#77<$Ezv(fGPLy`QcV?&knfWTgoIxYv@<}W2t|YEv!bRXP-J+ z!0B$_bC^mc+g&UTU;PTQe53mO+`xY|<1M3B@PPrRvB#$tH66ybNzp|9KFz)A*%idzjef@c*TgmbB0^ZjA zFSEIzvj3R+_x0p?%s8UF54f){^5t;{ zn14SGe@MW)8Tb8r+TAe8$HyIL+>fiv{$!fJcQ@|$L6)7$lpkc=&##v4%9Qso?&n9y zZe_}Q8u$Ah%eH08dl~ohCS(gU<-Lvjc@wgWnesly{k#d;#!Pu%<9)Cg+0k)k!h}XyrW}=^i%tsa@OB2x=+ZTArufTm5H(hVrkN5F>o*NF&T)(um{!VF7 zZTzmJ_+@S-?^}j7MztA5X%%S>oP2$6IgzyEBE2ip=D8X4!%6F7?}@Zi-PYtN?`?7} zISp6H=IDNmDZfMxP%rUQ=&nxuFpG%e3ZbXv8PakipS(Z45z=~@9a?GqTv6h$cBJ=9tdIL8(Ri;*?n@SDb##i^ua#D4R&Axd zWHxN24RW6(=MFIYv|=mW@FdR1Mam<@2H0CDt*7Om(w12XA?=_@WrDPp(XENrD(aZT zV36%7siXJ1o-qAJdeR#AYKvZ-J~6qy$n0}*)A6(Fv`^aby=}lXepcPqSK}|>%CD<4 z=Ae9D_MFpjG=5e+8Hf9pPMwr1AFuBGINaudYrRVKWE}35fU6&*Iz8jfaq|;SzB5`p zpYf8$xVI&ok&yW+5Aqo&X@t8x;OaNYcLn@Wjs|=`<9=MMDBvnTWLH@6Rz9bvsNUYA z_+K`MQ?6&KzSv3pFMGl%CyU^71b?i>;8#t#QY&u8G%-j8v$&d(oKB7LKd^QHX!VU(aitJt=9EoUSSD0J{rmhuQOzc7$D7Pg1tdo=kj> zwdbbehuf%!?qn=y`IQt$*sr6bN7-|fHr^~qOY7}g@LMRvNgU7T&02}xz6rm>Tz`MV z`JPYD$PKv70zSg{_00I7S0Uhs7{7+u7d)eYk2HR@yBaqq;G>NDb#YT3FTL();}_Ed zL@ljxX}TC=T=NWwcfb!delq*Nc>Cgd3i^HY`{pO>&E9TQ8jjLKKK&rmaAk`;^{@1k z&z>YF;;sw0(px^OC{Dm#5pbo?eC9zNhkH)Im7eqIeLNO-LcrDUm~Xi_xl+I<8u#_E zy#s!v@uTUpVXP|PlZ^XyZa){4#{Veeex2L4fKN8=-={YMu5j~75xT$PfFEPrzfbD| zKE?Q<*qGxvBz*IV()wf!XXZP9lUOjjbDUiK-P)fRC>QvjQe$+e-C(7<4deR{QZFY_KRQd`CP!OoBzdbG44YF z_w$+;+Vc6^176eoFQ5;RS#kmQ?V$PA-@Y*5wavd@A6gXfI>!C_(1`)BYy2GMfYI&< zcs=8@=*6U75%7HDXIX!Kmw@kO+^;ij5%BuPHNr=F4fx*1HTp+=IN%gfd^9r1N}AQB z&!3`~k6)MiLBI=)`~2YPfb+`n@%h1h0VnI>9&kvRays2@YAIuDRGvmHp zc2vNd8~5`uMg+WtabLdn4tPuBzI<&K@K(kr*my^!fU6#omb<^)So(bSG4At;?EzOk zM}6P51|qx|~ufVVR~irH-BqXBPke1y%5zcSz|KefJbIR7sQxavn*%QKAs zivq6t5hG3faTfvaWZbXk9USn^#(g`qOTfDr_wC9?0arap?T-HZUn}7I8TakVINwCJ6cxAwSJKC=!zA)fD z%)f8HpAm3fPpv53-;{v&5~huz=P@$iy^VXjP2B_D$GErK)H>jOjr;mgoq+c51@Qy>dI1nurPCwly41RS<01ORkA9d>$9?yD}8GmM)_j9m8D$u zsdQd^y@0DeMGEAP{B32af7PcnOIZ2(KW`}Idf%9l&L8c*fb0EC=jFT^aJ|o(S*ddA zv4E?5*XWMQy)^+JYuvBzxh&wSPpO4op8wAdxaw1yZII#rDFGjE+|TYF-OuKY-st9}XT za$imK)J@NqtMKGc?lXxlS8);FHBO=b|LV2>Z-uY6%CMOGp>7lL8x%Xeb<&zzJ}qsS zmF&{aa?1Op^|F4KT(p|Z+UrS6VQo1i zHpA(ykXFl0=KuOgF7s-u@;#rowJB}reaY1hRCX@ zS5ecfKw?*VtjAm1kGPz}Sm?!0rM1F8*6OFyHn_|2se91M<}UOMP2$?Jyri?6FspDF z<=7PJ{!6XSsdKJ$%6+6YaVqDfO|cq?v?9w>q&0BL1*NreD#xWwvbkjnJBKUCnziOS z7dz#zI^Myl#wcxx)rqBDZKZ^?1FamCHrVE#kr3%WXiW(`hI-00&bbobdI#kv*WPMr z6|5YP*2SsjAZ>!>iP9Q6)pn&_?38avtKyWiOKa^^hD#gnR4Pg9RsqFd(9!u$ zbs%Z|-BC$gC%X$dS8qWBS3rN<5PU6ks%yyKeonP4X@i{FC(;&M2_P-wRA-R3ua$Pv zYCDzl(pp;0P}&IBu_V@;SNNkZmh3b6f>X^^{*G`eE2QOEX(df1RBc;FxML~tq#;PV zf4VP^YR0vA03Qb2moL>>*+f|o@QH*%e#4p%`q%?L*?48v_57M2YrJAy2|kBLUV7aV zjF*oqz+Vl*ImvilTn_$Xz^5C}jWh63K{%%y&yI88+5;>Nf2Q#`&VoN1gmboWhoLB} z90va982=^u7mw=6!2f*XKe5Wo*oNzVRQTAK}{jE#*t#x!0ET zhix!#Nj>1UJ2?i>??JTqRAL4!sh{6S;|Hp15}Zk%d;0;eRdt&Zt(x10rZcNEw^5#DdSH?PZ5sx1x(}ltnrPkwWGW$ z?7}UXXMi@RyC>Z2O*7y|^@;yk>ljtr~hS@c)MK)$ET;eJkK^ z8($UO2v;Xyn%>?segms`u+|dz-(-9R>+BfM3ixK@SF@i9{m22|YWzy}5vBwV!ryLu zIlBY%y9a!S@jpbD!?y+Dd}(|cI}%e54EQ(3FNrRNYoEk4{@)wFh!soZT0!_bjW1zm z2I?Jw|6hz>5M2m=DBuy_Be$3}o7ln*c((EL*yDkI?SN;DFNhZ6whyi=J9m+r8_mPj z{)lNjD;qyInuFVf^pNuE#%Hmbi2nVAmwo^JJRha4bcGqJ%L~G(Z{eI2os63m@P@{Z zi>BiK9K@%w@ndX0@b>|4W_)sVH11acZ)to|bQJDq0dHe`Vss?#)_`{~KAshN^x+3w z^ME79_B0RSm4J6Oekl7XGaE19-HeZB)+E1IzWh0`z%>s$a=n--N;w$tiN<>{=aW`J!1a4XtZdRejhjiIY5p_C z_$s%GbaH9Hl@21el0WKv0iR}kg`=|I&JXx0#{Kxi!hoM@-1i%+yiTushH>9NEPLE3 zKg;;#tTXlHa>~y!?)!UX%RA+IeT=llRWSsnjfPZS-+vk`a@NLF@KjhMY|J}IkqSN|S zd4x-PF5Yh3@25RB;QuhbKGN@ZNWecc{($yWasvat!?@pnyGOu3H}3b}J|N&<7{8Z& zv}iF0{7d71Hv2c@cu&)Ker4Q`TYb&%mGZBR`*~vL2mBl3ejH>}z`r%_$0G&@{5#`* zys=rpzlWE7|NZ->eMi&$!lyQGfA*+=`}fe>pVhuzssHjk|J44h_K!=s-bc-=8gy&Gt%6udDI1LP}AUqaOwS8yNTHsCMc~ z{p+_bq!;8WxdAUQo{X~wypi$c~O^pA6l?m7dZ8*t?xh3+H%Xx|3Bjqy!x6K;!uw>AEu`w+KYz}p%BfR!lZ*a2^E{C#X)Qa>iK zrq8E?@%L=qm-Y`%`M$=zJ>_=--qH9wtomTyO29iAf7>i}Y7gNwoX*DIa&O_T4tN*i zZ?bxbo~eL$HU2v5U9dS3@coScmA&cc2MGB7#$UDdY1->Ay{^iWLaejAg4-qF-Hdy? z&kX~9pmA^axqQI88~5`Pv|n=?zQ)fAS^e}pu6F!Pc@N{yvC@Wh)B*2l{8^{=vUVy= z{r58djC%(6!GQNR{cwgfi*)Np(ZovB)f0C6t^o0k!zwyVh zhCw|e-~){Nc@@I~KG1lvE5_CSdTIO%jX%apD(aB|A7uPd>>xVZmo)W1*!Uyv5nSze zn(`sWy?yOjL4GpS_=8wmWu8~S4>rCYt2R8(ARiuP+|QHNp4(~o!;O2p+uF4?g`+|LKo zPL^pn#~Jtb$EyTlPXJ^TD(SZOTtI?&pPQ z&(4&eX57!mi~@eTaX&9)OQll(GmQKBW7^L(4M)FsVKN`{!GND>+|L)eIp8ym`}rc5 z2mCDKBW;hBvjaZM_#y5P+-U)yZQRe#m=JKK*Ft7CD}Nmt@Nx5ey(vppJShZ z&oSQ1^}^jN;B$@p`5ZX`pJ&|9=lHT>>GPRy+}nkJH{c75`}rKt1bm@!KmYWefS+gF zx36vp_#)$e{>OO%Uu@jZ|Ip(2^!Ga7xS#(qA>bDn_wzpn2K++fe*Q<7fG;ub=YKQ{ z_)_D3{X?~YUu3+UYlr)<3Z?P6*tnl}y*=QU829t8-w61n#(n#3L%^3A_wz{p81T!C z`}X9O0sn(>KaYBTz%MuM=bcOo_;Tak{?B0nzrwhmchW!LR~q;B8`}r`D&u}WcI|*) zZM?u0;6?$z#<;ilu%mqGb5lLOkkRq_xbFx2TH}7+$uj}J&baUIxHsU}8~1ixRt5Y9 z<9@!#pIGaxgLs8E)fl$L6tL0+QM$lC2`GLkjH~X?$*XHjL77ySe2U zXGZ=zwu@T5;q4IpjcdJ+Y(h38TamvbpCMl$UnAckKO#RN|3YG}o!T#|fL*@Q@J6nowdZJZFZ_#NE_|cN|1J+wZEi2?bOnf_PkSDMB0Pa8zb#Tr*^xvkDPLJ zX-%yzA+4X)R;A5ws{cwm+o@$O?Qdp_O4{d6xu&$LPUWDq4kc^Ou=$t7;Bjlc>gdZ( z?P_UnSr37iiL|?{KSA1uX6{B>7pJveu}yN3GvV z+6t!@o3uY!nJ8^9OQ(9Pw8NcR1kz4+YLiGi!>QFM?Ovz$xU{FNnoG?sZ*^~+JR2}tkS->7PPcKJM|e!d&gRh(mr?UpOm)JdV-|AX?Nq-}Lollbj$ zY8i@6x3;ykJDh53(we!)H+by}r<$W!8>c$Fv|iSGD{YNadq~;@>rs@p&H5arZFi~# zOY7*=j*!;Z##1POn2?|zXzh;nBk$=>rxu-lsbl!1)cTU|iB9cHY15o)hSHkY>?>&} zJGFYHonB&>><6%2^ zChbM1J~e5tIQ6ni`@yLmrC95`+CHMaomyGa4zYd(X%}0MjkNVnby;bRomv℞nLY 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
wTg`ZFRO^ELFVrKO7g{37O%!P~hTrty{vBwlY!! zmvhVGtQFz)Pz@dtH(+Cp9M;KUt=!PPS?)knx0%$?VI3XT(kP`1%c=NnP-V$$xw-&uU zKDX`i#E#%;o$=Tv`)G-C#0tmCq3vbMdn;Pq@crnGwsr*Gj=9pZM(@U#QpZPcMoen; z{OA>yKySOEU)`_eH$k89PV~Cl`(6DW{$TUYJSMe#^u{cen*CGh4SwVAykd_qc}@RM z{dD#Wa|cOR>>ZX5Qfd?G1~*Axv5E8*6YT^0iamm!SL`p2MDJg>9PBqf6HL5f-*Fzi z_Ws_cEDu&mPjbEVBopn+_TX#jN$!=NWTLIvj&~sgUJSkqGv#eqDDT6iJrKSXJ1*&m zgzq)qjzHdz>~6|$Mf6VSK1%YpA?mM0?}6^OB!2_ghk4k21lut47L0YD!kaKj-h~-> z8|Gk}k5SG-^HwZzSK`fBC-26`cstm`{Q~dEm&x9ePr&tg4jt9v5IvOq7GuWo0U;Ou;ao9Ir zXWF@|@3n>Rd3n6)Rpni;gAsN^Y)vo{VT6+3U^L%&tanxJ%P~%@+;g{CKDQS8EY2p=&hOPPaan7#f zHwK6X@vP|~-yoj-q!pbn+=tBgYouNOVh@_0`TYDE_~X+np8F-~3vc*Y_jJ#0gt$9uxobG?59dfB{o_G=2E z?{cDXsC!$3KK2LJ_n4XB;4W2h=$*u8@sYI!UP+v*z~A+=O|Me!)pyro{Oe=ye#8+N zj`^z-t>>+^CEaCUVon_=&E4U9^pkaq-5y@3eVwdE3sNFZzc`-dOUyj} zTD)j^mN`xdw+G4y&k|~Oi#k0}FYufDI-G;SV;=ESLpwSEZz=zxA7T@kpN=ZS8tsgQ zf9wqO@0Vb-_z`+A`!G`c1wEF`DD#h^*D%TSp5Hy~2+{Tk}rcEwfR0uWt8a&@FTB6z}#8m`TNXKis!4+h??S_PG&}fqs!Z;sS2I zV-G@Y%3RlDt~xy_`H7EsJ*jNYE8$-!{fg+B<~H?jZ=3$NJR*SCZR8W15B_=Y!y9(J z{iV-&7<|fix*x{Q`{RO7P_yvwx^6A+pg$n^%G4BlYw;HN3-!Q0zi+_VO#JS&(EA(>hM<74BxZ}(y;xhljC)oXEDs`C#GtoipUi`{G8eRz z6`-9=lz@)VNDhQ1aso7v3GG30tHoR8t% zXo>yl(vP2uQoj(oUTP9oizacCXcD(cKYows6TcUI;u#sA+b;X@8S!RhcV|i;`V-Sr z_M|6VPIQFrL>u_H=>6W69_k?(yBCz+W>e9+J}y1TcSMs)P4V|J>V|VcFU-DPZ|T!b z6>Z%H(ac2=iH2GW?K_;)=Dy~Sb9MrMWgYh^!*aws;A#0_d|IvH1HB)!@SB?_*vRhU zaOMJ!xzVj|p5@EPHOKzZ=msj;^U!v{)cvp8j(-}BjKnyDwv@Px5GslOw3BE`Cy1?N zmGs=d7u!g2^un7%AKeyx>lx57uZz*X)X-Q!`Wwr~3}f-w{4XpW(YW@X$FsSO?Wq_n z9Hn91s0dwVatqYG#s)PAR*Z*X!FUvwi)V~2>P1*AW}|nr0CoI7S)}Hn4&f8{GvI72 zzCUf;ulyW1+dU(~_h*s2)9(=krsmj=7!%oT&gAA%1>?WsEn|t!jc;Fv63sa0|M|!? z(%Tfe%-A&4*j!F$a}#FI+-&qVjWP44nbF;Fw5l~Xm($(ci&;oLjQ-|+%wX!9q7End z=rz*iEOA%JxOJ_JTsNV03dgQr%cym)((WW5w?=xN-HlZQ1WqU zqzg)}!=p|p(c-m@bw^9rA8p-m(UZP_F=fiy{zw~?T+<)vg)SX0M*5*k$BB`i=u(S7 zq%XSE8t^}>H@dRshpebM3&>5Z3#U2Ic^Ri`31$*|vpqZ(y)5i-G4f}kvt+iGUgivS@=M0h5$XN^XLh2*7{c^Pb zA0YbY=dj!VWOIHcYm8>@8SjKYJjiV7a7M73W&eSiy9_?92JLDs*t%}Qo7q_2$>w+) zTS9}{9-7lGusigCmYMI`0BDLl%9~Ha<2f#<@g%Cm2=t zAZ8IUwu!Wlh=ei9ylL6voB_yOeK4*X;tX{-GnjwhfU@$fe}C{X$}F67#6Gv>Zx*`b z^?s<8)Rww0jn1P9Vlr|TF5ik?Zf(=Tw{$TQ_8$*wn^wGRyoBj*?UT8Zyxv7lNtg4C zxj)?P8XPj$o;Uuf*-MJ=K#k(#^FD|iI1OC#3*^7GsxlWSDxo2v}rXi=30XqX*uZs zj1J^c(VU0%3~LwGDAZxI=AbT`H3sVjw&%2Qj)cYiKhcEHKZ?Fl|KyF6@>|@(_~HB~ zww09Lx`;my@IM(LuRzBCtnA189=j8quut_w*lVvH&Cwe)?Lg6Q85izC3C7;}Qu}sCA zgn14jQezZFd#=?m&iU6oHVN9jjHAM<_{L`pZJxiqbstLMZ|3bQ5MPhBnb+CDURpSO z50mhD8K;eNeY{3|smYfsJ_Db|kS`;&H9sMCwPkaj=s1uT5_kDt%qb0h&E}cbmu+w8 zZn|K`|+YLS@l?**v+vP=u3ue_ng?m*y7mx#>4C<<6D-` z4}HoS`=Kw{AV2gWd)W_t$3F3M!lIWCzFtM(e^3$@X0{CU>R=y$o=WwCTY~06D_H7! z!mFzvJh}$Mo9hv20ce+_C({J<6ehusYZ`nPX2CkmTA%he_8jQtv?5p=YzjULz6!n# zz6*{Aj5EMH+Sz3kZtfLu3!=W_-OGoFZWR!%Y@uBcca~2nHDWU{k_6xV#;}tA;6EHN z@&J!(=Pnu%*5GG6jwHjo(j50C8c~M#WhL&+x)|HdviN<&rS%$vk=wk0bFBF-jA_U? zIxGQ2p-ZjrFiHi#^JaId_q{(P;4ESOJ-{AlKZs|!4^Nl5J0LP?7n^fWd7f3U_J4tz zDHZlDXm>AoSz-lZrDNS<562#hO^!W!Nj=Pn8a!unw=H^Kj|KxT`Ly`OT8%T%`CWHA z^z=MvT9HyVXFBsfOtv|PoZnv?GshXjlK1j8>lSB z1gDEvHhYN8gzUd~=eYu)8+b@XpIYCIJqPs7M#F!BhTV_KL- zh|)L*zdk>%Et5Uo`LC49$>?A3-sN#7qZfc14;^m8vn=!}qbFHew~p~3qvu%UHOBsC z*q=;3YW!!fuq*j*Mg70OdubhjUoCrp^r?+}XA2t-O?qUugm$y-MW0LhSVn%8^rQR~ zI?rve+t7=O@u*l<&IbkJ!%S;jGk#;7@tk-^vO7PRl8`UH$CSvu&?)V=_ZXfh&N|(>xIH$y_f-O%x|~$LUZw#^#aOn%9=$+yJ4B{;vVn|;~E*|gJ-(UJ>@g94L@t| z?)LLS%fd)NEUBe@2e$hYxNcsb8$WN#{dD_0o?S(-##p4U=)M^f9JOfA>#a4)v7z8PvSLoIMSZot)g=cMd^knqY$KJKDNQZ)AZ zXI&rtZ4wrP(BDQ|4gR}FWyzn|e=V4TjYNo zjoTu9$iMIJU9BEu8QKuqcmIHQWg2MDIm&0Liu}Any|s>zG0AZ~l$&F~8TevTdzG7u(yd zqr!T}hTqc8U^!YJ)TXG{$Nql7v(A!Ik4}8A4crkzYwjy2yB7-@ouL9yPPNbN4T4L@wv7e|LI-uGR88; zvc&RYY+N8#0^{S-vC0@DcZ&_dIQik&Sd5h)i#?0+^5odeSQK9+FXBKf#fpgU+CyE& zN9M0#2>+r#{Wg~oYj}qk$-FM|@jJe=>KgBX9_~@U1a$1BP{-3Nk(#A{ z=YvH(6Mf{V=gywYC-J{m+mu|#9C}8Dny2J?=Kq>6`IY)s(OcxmJb=_P4 z0Loo<9zdwc`n#tS{hTg+-$Ea!lr`1=?3W(Zu$THU(Ss?{fL)Ep`u~5mVvIeXo<$60EH}zlMa*m%gc%J_ zVE4(Fkz+d7o*p1@wm8c3Uc`ew4FDyqd z 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 z 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%0D(6gCyK>?5sueXqnc&nY zXwLGQK*^dy-SB7*b^A{VcE#3+U|BbK#4F^ZB#1V9l%# z{=VV!r?s{IFZlc!pHfl$LtWYDPup(ym+um%=RkAqZ`!3l#KRwGrTtBN$+iXT`Ud}6 zhbq*$KgE6gWtbm_=ihKwy@0wt?&Y|T_RLxbJYf5{%7CsjRg$ zqJN!UWkc6y{hKb#UXt`zs&}q3v6W%=VU_A1qo!DE6GJDd*YP06gAi{%R#1;pW7H1B zK)P3h3ijhLB=%bpYL=*`=#*(lcT_Iy2`mg!b0Y6Gc>0=smiLuv=2j>LVv+1{s=`FKU1A0 zRBTYopVu6P2@1mrlctwej+;5Na>ks}vZ*sl##hcNFPT2Rq-=cU^a-=4kE_h7%&VL= z>1U;trN^P47ltk}IGPrztb;2Vcal6)@Jz+63t>E)9&z-!l_h1zOr12V+@FGtmjwo5 zL+oiV_K9iWce5i*Cl8GHIA|PyL+Tkb?jr>$w=(yC7<*1-!G97v=tqglupTG`TtQKv$!XuGT~;E z+u4szOF~OSTQke&&)>8yw4hsH9cT^NZ$>LY3!`ljEH(SUY&plZ{;lzr@$h|;{?er2 zDW*!_WECV-Ulyi`XaKoogX)vON@J@efc>wnhEC>xWi)i;|0|mz0R4YsG96YnQI8nT2-V z;8<&K{Ld6BOF(xPNz<`8SR#ywXpmU`H+YPGoL>2qWFeP?x!_$`Xn zWIL(9O8xjaZIu`ft75wt8`W8HJt6&;s0t)uVqra(>9tnJ`f9c>$@@&rH$$e!b^-pG zuU^agD!*=v6=Dyz_=z8)MYh$9Ut)Bff2^XJXOS zUe_mSpE>)bHEQsSVzo${4kgC0S-!fWts%}1bLbyW+N*Azz!hL6Z+h{j4u^*cHm*p-4Vh~#Ky2AZfRR5I9!wEnuD z$i_WX+~3HZism^eSXj%cdzc9Q);j(1T^bTM6J2$u59%R0O1^?kgnq~{`$w~&3p$lPRpKjYp>hu@TNb7V@=i{T?@F( zIIVwtzN7Y!swkfR@p&^p!kpLVAD{26!<&6R{p0g6$hge7?ml0-UA4a%*Y%Ijchml6 zpAU|CSvtFGe>2|8QAz91@nX9VDtorAe^2di_W9swhxIq}EX+P1Q+)nW9p22#V86Ky z-&^~ec^Uq3d#EZda~>c^@oadOlN@cL9Q@<+loQJf%FRDM-(UNi`8EFW`3&uE_R+E9 z+w6bh{WX-%`q?s?uodk;XaZv>8%KNIqu!KZ^C^iZaXf0 z2yXwF^m-JBcFei8-jjpn;~kg@%aLW4Kga7mdYQ-H#E3)>&-R0Tryc>l47~@lD>>dw z_cd6h$Q?EK<-Zj7$)M{tMS0WJMIC~;8Io%u?RazR*m!eKJ>Jas{V?K6>%*_!(>t`% z^_t=?8FW3Y?vOaU$NJgk>wY%AU8DBJsJlf`Yw6ovt%eaW@9h|GpV+u=TRlsIZ`NfqmYU{?(uVF29dze4^&Q({$D7aUhdb!cBO&GU4 z6McAFFwSDfetRlfDSnfshKegQHp1Ip6^Y+K9fsks4m|b+_i&(e{-zOSor#n@qk4LF ze79R{d^Z{!-yPtqJ+*{F^BdAN9d4$uL2Ec&ZS-D7bS;jJ_(oM%j~17{1+kjejoM1m zZ-B4PWyfMWs;@c8Qt?S3)hab_Ep?LfMI{3dR=L0%Yg6r!E{vi+t!O_OcPFgpw&SH4>Mig<-~Yp&D>op!GtSwu zQPlq0y3;R1rNQVhB(>I#llF^^llF>@llE6pO6qcSkF*`tY@;rZY4s^F{k==it8RwSv!NN(6F;_g#Ivt1`5C9D zeui4R9rf&>OLL|=O4)JF9=hbG-!+Q1nq_&s%<-|Y&vvn~ z&(4smdD}{H1v10^EjHrWLrs(Vd>ijDq)e(l!fvZwyyZ0;Fj}<=ZMK>XTzs;&2J>ZC zV#sOXlB(KhR^=?c;7e65U$wAmxgM#Ts$Hsira#=^s0pxi<)T$wB(`>8{lJ7E16B2^ zwWyUxE2pnrv7n|l_H)+K#Vb`MR+lZQsjbCy*r_vS%~F-+<}rKv_|mcoQ)kS@$|>~s z8rQ5z(~rS0;EZV{lcuZ6iL;L>Mb9wSo8kMltLvldRxPbo^;LDtSRb!nTc>h1a)xa!IURrU3iXiV2{ zObk1W2{%8X;6$}{ zbxpPC7G`H_O+$$Pzt#W$fjlDhAF1be!blR%Lyr3&U>;)2oAq258bm2ur&)0+xXzO>`d%8)N7FWGe0`!mtBlJBDY) z#@{BXuO#-dihJsy;6=DR%yt-sl*tjl?4-KwHxzZ%@3@n4!;sw1g(3TCf4V%Cf*>Yc z+ru#&V>G3b-m!Y^3#mPt<9(=r!`Nsysqc^Um_j!_YBd5luqDCRl4AV>T~KT2h7|K+ z{Sb_QBKmF)OBzS3RK&x0yP)pP(|YZAlnqJQkcQTHx2O&|EN4RzT0J+Hb;T1x$>B(f6dZ=C+NQjiudEnr{-u!$;`4`>kyx5Q;f$X^8r%B z2W7M77~h;yoVq+?QjRJaHwAIwFVg){`?wSqXI;(0`Xe!tG;|ATgwEr8=3oz>u8uu@l^$4?}vkm(f%zA|6M-%PK zH`v2osT&dA+8ydT>sqVf-}Z@kKLYcTZGR>`iSP)>{!Y_hupj$lA!otgt|Ku01!mvK z%NW0eN5;an9(!tGrXl=ocvN$6nReza=wD=djNi2LO*=5Ct!8cDk3EltIeZ4`Az947 zx)gtzYd2vZ@=K8vZ6)Vbb@kZd;+tyqt#_={b-z%>fQMgph_$@pvwOesHgz{|FVu5- z`Sn!@$r%cC{~9|>5g8)e1-r$6r1pDv2;!)RV&>*ZtdQ&L(Z-RE`>{96`>{6EBkF;l zo7m6Py8tr8V9d%p-kaCg_`j@MS)}exZ-9jD=-sp3y#2ZA1Ix&_m&DpoZ|HsZ7}K%p zPL=EZ3kWd8j@a1Lztm8%fRCu5(i-_ftwLpw99@R_d>injd$W2=mpgPng?;cD4{!W^ z(6}b(9q#!4R@9B{{&nRlzqg6uT*UW|P|)7%9z(i2@L)_^)H^_n-*>@0#7~98?q1D7 z^M1TXUFZ8GRp!~Y)0eT`=3durBM1XCGUuxKXybf}eO|8hp75gJj3}(cNdM=)))Hr4 zFuwlYAa4>%M^f=ntZaM)9%X1r()Vkv!<1}i^whr!y=I=_w>{80wL8w8f?44=>K*48 z@;0>W@4(D#o>a$>Q*rJAb0*{a#v1~H==-*MR}B$V+IhCme4RQ&ao;(HP11YG(RG*i z^*!dR8JIiywII~fV_S~(gsd3n>!4jvK_lM>Z$+5(YjChDP#;p9Ma$H8U>#0nOcJ)u z_oezm{H{`&h@03=#5{@N9&;?eYp32(UkEKTF;AX*!OQ5{aM+a;7&$sitR-5 zaHrQ-VjPOKu4BC$t}y;9)i%jpKg4!_yIs#wVd_&<26nizYhXR^QOV(FsWj1^y|I(` zPV?+Y!tGvbiF1NV|A6Mm{PrDsd&+#GAeAyeIVu8B8S;b7wbrH}^59 zm7(4I8Diu&8@x?8m*OJta&M=%2jTDbSQ7!f?5}`)xu2NP?q!(SbcMPJD*&vlze1a= zKW6h5d1FQ9JRjyDa)8~LtXgqLF;aPlXWOn3uL`{y^lRnWwY^oI9n;>X=iKn^*}7c{ zF{%@FPNIH4g#7e{`VyaG!$dC$+RjsJ4toE5+{Ad$gKBHd@YFJI%ag`;u-=!8aaO2b z01hJkB--5Emy5o4=$(@3+8ArO-sN$vFw_z#P#3R&Hjec;?}vHqZ_04Wu^r+&SW)Z0 zgrpfu4?SO({<|@wyHfA4MgJ3ZTbBN`ShsuJ>x#7W#th?6kQ&{@_Y>(u_@`dE$1i{H zu`H!4BX$b>1?olkF}8h(?>2Q9n#~w!b2#6KbmpN3JHRXO&^Y(7M#0tXNuiL~Tr83-(BATPFC%x+4i&w;uK5A7!wvW;u3nSzcAQFdVkoU+nmD#ulpP9Hz5q-;v%i9ep6j-h`2avMV>V}qV)kjoMt*yacK^6M%k$~q9egr7`f>&18=$6T(Y12?6E-#rirLwfFtU(Jr zzp64X(F1GsvPTr=|2V(?q_jFLU4agUr5KHe05f&JNHi-tFf+_GZ62Qw7IEqdHoAow3(KDX_2&Ku=-^k*)&`*v_fruFCdwD7d?oZD#q z`Q%Czm>V?{_QU$akl`}(jyP7qaf}ashn~h4U;*Lgx;D-~Dv|FDot`Q=XzWsRJ=2rE zEl@Wgr{pj-R$isXTE{6Ezi**O(8-_uf;5uHCV1OQ&n@NmP4ygEhM_NUqHl^?x+*#% zJEvmZ!iuW;nc_(U0A!SZq=gtXkGQP zx{CEnS5~iDUsthiSawcT#eevjFEJZmESc<;HT4yXkbcejRkh11*5zgAWEbWP&l?^_ z+PbB6Ypa$=>+085H{xvhQf#g0<|^=0e$ywnpg4a-aX}u&6yYo=DlRCbb69cih~gaW ztDSkd#y2mgI8S`xo0mUqI2{$}vaQDCh?@GEy860` zg@ClSs?FI`zzv3%)@rS&z{^s0pD142}Y;#^T>IP-+0!u;Y~>l`ith8O1`*@8X_{nD!!=H=z*5xDS< z^mPj%?2{@M)YVq%p7rdN3m2$9IYq@xtEdmUuKk_C%}>Z3KI}w=KL~@|mXH5{h|Z$o zd~n+*7b3_9?|oDe`=p2IKRNI(D9$SsK#_m*iVOK6voaV#I(>2ri}Oa{mvQFjAVzUQ zB*S7(%GY4#fOKedm=-``alx=ybZ{DbF^mvVma|tP!=Zx=!mnCc9bLP!wr1g~b;yVu z`Y4?-A-V`Vg+O^WMzuD9K70zU#}*1qIIK43RgBP>x!J6CIkHdg={AByFouFwe` z&VdNUY14x*6A@nuMx2G#%0XK-c8CEuTVFVZV)zzlc`m40UbS)|_&)j6!BJ#_RkhI* zPSnvA6c*=7(uKo{3w0vUsXXx=UhL}sYmN3s!+L=!{~PzunfZT>=k1tsyK($qxhVhC2N`}|24S7C6E zFZL+e_}Ra}wT+YUx4q9FT`RZ-VZ8{};G;EW?QDDPA5~F2+3R8b%{&=1ALjQ5WBzN* zJQ*{OWx}plx@*il8PmV`)Z=k~Gf&3MOW`Pk(76UpbX;a$ivPUhZrb0>C+Xm$r-$}8 z^GW>kUfAMB&k+8Z@s~xYbFId0_etZvX*b|zz0A7VH%a#)+%}wlzPRnzv`>C(>vqq- zXyT$Dzq#oE_K!pP!&6>Z_6)@i+n3@Av0$w%Ib%(-Ek^3O*EaWgeh#axUsODYg<;mK zM<5!y-cf&ti*bB`zA8I+q?d}SV&K4X@7Fl_;kVwV$4&U7V`Dz=dz2`@jH;b_j{(M4 z@BJS}@9EpjOZS#TKp+>iaqqJ2=ux^!&uFo$vEK963LWD-?gz*3{)+bc1LDRAzehc$ z|F3cO#XJf9tlkrjTJtK#=HJD6k)P^)1Q@OhdPwd8wWPhHcMi@_<*spj^D6ebep6z= zToNcVeYaqxm+c)bRDCWpe5QII3CA_DJpwYla)jqMMOd>%JtxP5)TyHJ2C28OKm8{j zwNz7s6I!1_Ow4J}M~r%R^?HHA{T_Q%8Db1hi2c2!wMbFx>DvvX@pdHd18)Nqk!hhL z1ys|uU6nwujq5g%>Na(oaQBA#oy7hL`i!z5Nm_t<^c-D`zM~5Ha)Zy3>4BbRz0bvqlb*{W1vSZ?=vAfdEDEOVK>E2?Knl*{?yT!rSovCzw~JI z_4DK_hMupQ9x|>Q)GsC7O?uprZ;$fM2A-6jL6Y`?Dfhx@MeOyYy96g?aJ~xbU-RM5 z{Ws1)&%KAe8Jc^U=pAFPC*ybzyUTyzv2T+I9FLLIQ@qnWo|D0}&egl^F~&b)PowK# zmgswymkAE(OI@P7bC`QL_p>?(9d6dBvyS8*~pR;~4GT@4Y59%^@D` z72{~5UPEepUyarGr^V7ZSGa2BZG_yJhRK5?1k15F{dcU7U!DlT_(pkyfG}OnJ)T2F z*JbL@h>dY{#On1u-ksD_Od~`~> zwMkpv1~#iB$BET=;9ZWKxf?yzzlUr%8>JTKQmxe*d>3rNTR1u3vpyzq$#AfpJ zSI*u0IrV6YeO;nCr?YC zs}M)4F=)Gwg|=2{u`Cg2L3F1U~@T7soZo z3&hIk8FNLc&w8vEEXI4=JkB}RSg0|Gg{5;jdc~{2>r=k;=OL9^oE*=yIuc&8CY74 z*L#?i!iu7<%Z42)&Zv=QMrY<_=SJu0DFA56>tA|~z^VK-jW6|2d4U-Lr<(8cOcMZ6 z6(TmaDCk79MOT~A+Cf`Hx2VubfI7H!=A&7{+BSTLOQQu&(+Xs3Cl|ib@Ih0?v@$fc zIr=lSkkD|@Ng$@&;(T4f*3JT*gzn5RO*vH7^FbU_W4&Ekb#S5~qd$Yw(g0^sagMIr zqhfDcfQ6tXR^!jX3uzLtjUw%fTvX?E5@?ICHN@25#Ani+%tgH7iv~fyv^wA{EOgcX zmqAsi*XXx{)Onfuf8%<-ssC@2d=L+B>iLb^5oY}VQmDJFKT`v7`Udh0#y5Qad{29R zA^x7_^EdVLEaYaC>OOxnufB&~UzGVoy#5SRh0D}?Id5O;+iS=lXZwM4UGornWPf2Z zADj8x`omb_GWFp(u=wJC00t13nRig)^G6oIW#%cc?#fw4wqE=T{HEJgFJ|4>)_+^P zgi;914Z)LpD-k<9fEa6-4_#U6;CAD8bZpELXU~s? zFEtcK8WghK(i=GP-Pi=FQaeruZKZ$oUHUMEEQ}4_3ngzz$=isZ;jU5C zdAeHa6*F+y>$C$X$`7H!_AJ-~TTfhoN%vbZ)L3Xk#Gg+bjYD8>L^ZBIsu%AY{~4>} z??3H>%H$+u_z&ZL#b?CbL9ThMUEzA_J@e$>xrgKK_up0O4;b9#bz?3L8R>^b1do{C z-ycMy3u?0IY#grpsqve$0h?w}R=#V_C+5fDca(Y=)xawJK42`1FI2E|<4P2Mo1g}) zvCB25%DT*fsBc%8-&ejI_owR|r18Y%alhr8aoF!rOvZQuDk1c)8E@Xd0U1pDSv>3v z$RX>b_;0%I9gSv84K`8)5B7Qz3fpQ4HiPPCeay2haQF!6)#GWees4oQCD`&~n)Sh; z?yVSxzXDZ@kK=xi0`n$C7(RX-8&mDa)Ef-W9JmtS;r5O>$kSO5#U?}Qvbf&01_u>b;j=TQ_NO7L*nooLXVi%F~#kw>;*vp2|m$Fpeu zgD+lP5%yEuiP!uk=;VQ3KXL~Wh8`b(K&dgGGz`@paoMZlm)2#TmwX=o{S`2^S6k=< zuN7%9br&NKZZ*H(dKJy%9mc&MaTP!&zdsZBLjRsx3tm1&-orQk>x)bLzd-MJ^Lr0! z0H>rw7x$wGn1BLH@>6&~-;K0*y(JiB?Saigyj`Yf??!+6z0t@k=J6tE=QUhpOLx2Xf&YheVG7Cf=6NIJ zn|N(l(9q|iqZ|JIDZjo!KIZk?5$4%c(jW8$uzpji`7fhzdI&ZN@;d8W=-nt2?#V*) z5!Ai(S(Tq-4EU775Npumpt+QNaHsNI^@49k)P)w+^{{^-VW}skw;7L%)tHdvpB#Q zdFJ(#arFE({;%Ths~{8CmG=y$VWEP!=0A5F~vX1?v~ zV7sARF!k7ejr>i$_Z--YhT+Y8+g?bqp}(28|Gt;#Z|c=oLERgMH|s#T_AM20!A`A4 zuEAA^6YOw$;Qev`6zzYv8U%m#kJ<1*8Q1w(gN5EaUwC7sXQ0l8-eRA>$qo6KlZx~X z#Nt`g0>4>H%EI5@9e^rAJxEV0dP{%!ZNSIQ^MzHwbu!i|Va6l;ZTNQD->kRg3^vk@ zc-FMn{-*!`dB!9D9kjn$uloFfxPM3OZ{`bgUY!l!N&B1r|3eSQ{h<}OOgre&12O*t zU9`WMU(EK%56EUW;Azig=QH`&Fx|MVAH%UPz90OoJMsAnWNG{HZCi%p##Tqml1;+n6%mA6%~8Nh`eF=otN^-5H_I;-Z7o0>d#N4-Y1$1gC6Rj3c@f4{&E zvoGK*)(HsA@Tj^$FA+8R_4Z+2o$>Y5UoSPT^Yv;G>RAO^4cpZobt8J19>Waizo564 zIze6Thjz@#TB8_ef6T+Pv2#CK`W5LNXer-W=xKTYJ)`Uuq|WkfzB(H*kJ8r(C^THJN^li!bj*qY!#a;d%n&!q`HTAz->s-6{M8QQ zC~Z7jA4t}@h$+udgB~{_3iU3jwjI?8NKzyDZ6~ZmnX9gO(8#;J*U{^S-m{zWd2_t& z2=r&7owXGhKdaurct(53l(~ZO_rjjY7K_WlBXi1r;QtB6Yp{r2bSSC)3MnBEtOnnqfW!CLoMq6@bCEn z>RKz&(GGC9x%tH?mo`Zqjp53MBa_17J^v1Wp*{DWdGhq8=Qn}5?I=S(!}ssv`%jg+ zuonjRph~<7J}{e%>mT@YJl^>)c0GLhD(bM{(O$a}>ODgTqV5F#pLrC6vv98hZS3~< zU->;i%TS0M^^@PnCMw@2e)()Y*R4%an+w_$l}#_b!I^QJ$KHj^B) zykhRM>tR^VSbtg;j^TCVTUY_>4`gwfa*XA$_^;*@6<7R2)ea)J{L<}*F4+LHP4I< z7(PROc=&y#=GVu=eEK2mL0SCwRgypAK4|-*qQGn48swR?jNAYBH%pbe2>R^5UOLhI z>fzJlk-6~@sc^4>;ssrQgx%b~5$Rn8_+Z+3wSE>|matzlC7llr8h`%XCt>0~$e*x} zybb~K-PalSwMA%)&qRTe2Yd7;;(8l}JN#B0#$b3C6K3tJ=DBHxsU(?S4gXHO3-%rN z6Q;Hqd-AsP@+B71#zk#(VA27A5;_G!=As2}i#9c@#r)US}aTegw`avi{76to1V=y@dR4{h8lb zL+6uY;@00-MpN%#?Vs_29_e*A<92NMSbrlyGj3)d@Q0l3j zcXp&tc15u(+O9R2k2tP6m-&;WYzM9Nq`xV+!g>Q>)T)7-xG*fyAWa5KQsQYW`Hl!u z4s;WJJL8Oq6A$_m1@cNaIV2u*6NMXnVTd>ViSpuW<6($5{SC^DWE}p;_4#S24+FJ> zos^0)|Hw51zwLGI78sf*Q165mY=ZvosX~495X#FP=CGlEd}c$M=X6>(T=%p$PyVeu zpwxHWzcH>$*2jImmb^9-wxkC4 zCfw{ac@McE753wwcy@wcA?}f{V{8e(&%@Jyoh|9z^9~esHS+a2$iojI6G3==K8}Yh zh3)wk7!|yaenjwb3Er)Nuy6Pz9_Ex?#{K$r`q?=DoAo^V4p5(TK9PEUXIN--hwhK( z&m zrli82oVUgOO+Gi}aIVk4jSg?@S5u$A>4!7ra4W!R<2SWKW7l4Vs#yO{Iv!)!xYxV& zH(F%u+MNet_NAQuEl>j?f7imFc(z1+1O+1eO*?D5&%c|`{{o+Xcc1^6KK~v*|8+k9 zo<9E-KL1`m|0LxVVPU$+YYrSYNqjJ-k@(f@TFa#yCdrT)D;tg+GkwTC5HBxpTIoMux(XTQEyEM z<^9O(O zCre60&c@>N$52m1iGCq$>EL%zvAj7R?snMw`=_Ap_*~qNu9MzHMfWC*Q=JPt{C2~4 zyB;>b7fyryAA#{I+&paXS06)RUPDI++&fVCe*|D#PexdzpYkxjb~rntC3+RfbTgKn7Rp` z&nQQo=Y7Np97ZOiK9hnu0f!LV&w2qv%8-Z`hxVhthboJSsaWlF4ObwYduDD`cd6`)w2}i|5StD5zm6&ytQ)S&GyeemnpAs5&{Ir?JOeH~$LxNzv3U`8Dg*z>_3U`iK z>N+dF)OF6dhH3nyFB6vkYEE4dfSbCCxxNL!CGiEoKlMYq1b9dZMKX8N^zk$1&Z>y9 znLWL5gh#G={SUt8XEC~>fe9c;9~3yyN@!#mp5rhLt^&(`iZJ1= z5)<&MFtxi1J{$3O9j2DAz#!LJJQv`19qwBFwjR&5m}<8SA?F~DnfSd5)9;X>5dOa% z<1E+;PQ_1q9)&FO{&3ie2ihYkxxSiZ9G6KMu@ZUwc;y!TmY%|42NexG%g2 z6$8BM09*1H;$bC5A@Bbo6_tz+B+`V(^+zkUXQc702XMLfYxhz3>-jJ3>-YE(ccTb? zBz&XSDA)F!fHG1ZoHg1!^jYX6ma z0T!468(x2;?Q>ka_P_??{^kj#4%A~F7Ti(9b@ENHy9boMZb#a@HX)tsUqJ=rbzt7y z9K3r2?CdkZnb+CCye-~$I1}?3;U9D*iA;muZJOWMw+G6MpzD$AjPE1Wjo+|aMn z#|?jTrQrSGfdlwelh9T#Z210W3ID}g#()1@lsPD4_CU8XpT+nZu-fqf{2-UH@1afs z{$B-OpKk+x@UKP*@d?WEdf>(Dc>KOG&A9oOdG(%W(6;_4?q^*m9K@#J0si*Aef}JE z11|RA^#FVXe( zrwx4uUT=QSe50X1e;tPs^7Y!r{)s+!K&FqDB>I})to-}0KS37DpvQA?CqIX>9nT2v zPmsrp@a%#6g!8}$;_Li0`a$5&4&V2ovpL|8jS4m{*vMdGgN+V0J}QQoh6o!ZY?yox z>^6^9%)U{O(1TCh$bD)+`oE^&f%>_}20aP%bQ7yHs^MMvMqd&9eNY|1a6GatF7{#~ zVttq5dC|X8fPX9+I$62sj+R9}?o{-7ai`u6aCOC&1jLof{ui6%%S8;yvjV6_<{P3?1~B$Xx99@Ll^r zB3UIZP&f6#Z@%@D2vh-ROOVDERT6?GBZ*XS)CR=HxyNgLu}U`%F5b!bc+~u)L|_pD z;F+dyCq!x~LIws{?esK@0ib^{c*{d#V=;Aq8n(VGL+N)MO1&j03D3Yrb~`Zr|3*tuXZ~)Rhj76p&sE@GB^mAO7>JVj*gwH1cEoUCLuazg(R@p908bW4j9eFU5Gmm zxMd*fe#pBKEw6@@9zfLO3=gfdwe1>Ye)wwa`r~giM4zDpHjJVrfLj6}HX-bvasTeE zMj4+Nv_(2Yap&O9#XSTO7UIs-%r^&x#FX7N6oN^DoZW^E8t=hIZoD}2{sHjl;l&Q1 zamTg$C(vI^6?0ZgWCP?sP|7Swb7i8UX&Q;ug+GJ3Uy4%|Z^A6B7cnnN;cVxn-ZJb4 zcgQP`Y+{P4We2vmyQ{YlQC253<~ClEpldLbL5=Jd65B0!;(%;s!GdhGPp@jle{LwniMq| z)uebk)Dh>XWKBV>Jmuj zZ%M}|AD_G*|NfBtbjtH7@21?6dSBWD)Koo9U;|9osc_dpRsW1wFrgzJaYioild{SH<8 zRJ^wF@X2`IgD6;vx4qX`H5-Es$MWLMoZxRSj+k%PuW9_A@!Sm!qb)xcJdkG_Coy2! z%|In7)xE?a=|2Z>g7Bf3(#~z1Hsg*++9yFHgZMthBkh;2>>iSC?}T^6o>xyOEoWF# zN$q7uN61Z6q}&#|h!t$w@C<@B=AepGh;pw8`kANx86XSB^RCFE3ULz|BO_1i3{!4{ zI4N}^mWSV4fx90UOJ566&;hvk-&yP_j{ymM*>{xn?;WzfNMz03as7B&eQb$xDH&8H zS2TQY<99!28ENK-`)!FkKP2vzJ{=@Yq??#>rGJ`WdMEOdpErhM z`bj7ZyTDZx692glJv&+J*=I>@0%&L4Zwc*R0oNdTQOECd(8V#8E?66yk{e9-g<59k zq}`aHCsroZg=|Ou86o-S)C66ml!;q9a7zVlCjVxtZVvw5)cmDK#)e>bOvt-C96E8Q z(8v9v{W7!q*h2I%BY-XtjTz3yc0CDfgK%ff^wXOVHp%O^ICOfG)@d|%9oW7u z*m9b%KW&raIK#A19SqUQ`62vV1I&WrBvNl7J-;s4{A=g5)`Y~nHzeK?2cItqpErek z%RR*XG+F&j7ybMMG_%S;TKSIoi?!xd=ub0U1uDSb!LY0ade8G9-h1NhDys-~JmH=Z#Vu(sd0aQw>EP{<}lBZxgwhr@11BH2}+xv*m~7!aoH|(#gw|3e*#J zE@PUa1FHR<@nk?z4ZKMCI&tH7B$dFqA$+$i-|1-IvshF{*6{|LHJh}}2`js1nj z?#BdwzfSOZ)S+u>z;`ne4obVJ)?o~RIMVJXX}{{A-4oh*0*1d_B>uFOoIl1ltlQ0mNDBo(;YPS6&mjY{(k+4=fhTNmgCz#@-6pDCH>6N{)>Ie?5RzL zElNe5_mU7D9O{tIT9MDg0s6tTek=OH{a{%KGqbDXR78+&D(W;`2f~4sR3OQc=r{*Y zy@jWFj`vY{f44&xbA;Y%$M?PD`?3&OUGLDhCW7#D4lG^~ES5Ub?kQ=19tng6@t+wSK3HPbU}!JJ6O$J0tnE=yfm1$WObqQT<_K zwuI1rwFBQSz_zQ#cZ@oWg#B?_KB#-#ht&Tro^GMq;LwX&!DX?7_ayMnbyH38EJVxj zFAjXqk-Slmpr2N*siNPj9O*<5KbN34MUO1?qs560d9i#_{&zTV>I95B8$HygPWfeI z^9e`MS)aSsVFPX!8<6GD6VyaiQeI>EGmqyyeG0_Gg+?#|Eo*4qTMr!c)2Y zbX%FEXu0D=&5*pov$=x5HS)aKf%$5|d}sh>l-cuw*{>bAa4JB1jZ8#E9sF$({w6wf zra5%xDu>>4k_3BTO#X_hdB7K}Y8#7()>hKV^`8B3XP}N!Wj*Ah$Y44ix z3bwUqJDMVP5AkG4rvyxtp1D9OEg{SgScJ{LR%zW5WjY{R7_oT_} zjA=uW_d?wLzyCu}NZUIOS*;XVl{@&((R`;znqM0% zua-jJD+x9!E-$mblFJ=}lCd98Es{-ox;(3|1l-SjS_E(zKY1bWZj z&-mr(7DRveW~e_n@L3`FEOFqoS@fc}1D_Ux&)E(hp3pq(Os#hCV0ukU#$E5wEslMj z;-GD)(AKRkSZCQzyv#w@As(Y=+qL)lg~SFdsJ{+5kh|j^d-nn->B_0W;lm@`-UUk{W{&J)1GqhJw)?; zQ_3h{=hq9CTx=Jo12a!!$Ej_F>f{g_W;?K1Ecq=B^ZESpF*0JkiPHeh-gui6;*aa@ zAT>3CMw=(wfihG3qJ%LQ5m*G}NtV@Ho$(LW`||iPu<ntphWfW|)sCKBa@ zsIkhCmgwP+-*I4lhUnNI9J2bA=*TG{b|dZl;5^j|Ix+|NSbRwj>8D*x(eh)xd#auW z@5d&N?_jmuA-_c;zbg{3qx^U=&vM@(JGM;!WFSQSX$Q=bHFhK5;&~4v)YT#JycU2h zQ|YR){rIeFL%#jSf%{;M`_pMj^BT*IasN`|z9{X6khqsRbdPv*HaB}jbMWs2cvu|Z z398dHO1(Ax?0wHs=H!bf(oS>WT_d*SmJoV&h3E)R{q@t3Dl|kv11TDWzFCd|W~vq0 zcZa0Gle($r_M$%VV(%BH$$#xgrTk+d8>m%#*gT9(jyOoUw_`E{+m3)o`ddsN3I|n&mLu3y~ED5hMl?AANXeVlhxxhdvC_`p_=zVdN9PylI;l-wjfx z4t3D_kmyTO(9=+6X6{utp@(@X4|u--p8V-py-J2wQLngXosEYSaIHPa~6C0*sd08m9w?hJc8tnTHpcQ*$MMpY#{e{TooshJ-N1v4oi zCg5ac)kWik1EC$d-v;0RE&-!>`Poy|h47r|NVBt~`IJMpWm>i`rQQonXcH`ste+9l zMH&+`+vyJpwArvMpHCLrtRKAel?;h+*_a=1i$^C-+aNX8A+Icv*ZL5?zYn45c!wMx z5IH^uo`ZCVI`Gesc!wwOW9G%Mp2B>Prw%1xY3oTfF)T4>(;<&zC9g%WG&6`cu01Jt z;B~6TYi9qFM)Vn}q-*+?Rq~86f818bTEe!U;n2;t(9IPNJnt7g|C$i5)dluNGzUL^ z9pF3a7uV@^g?*a{n*I7`F>9x3W=Yqg*{dP)dLsdItH0G6bC#9E)He>yXKKuoRHqQk z7dbE=s4-8El!Jc!kL4fRXTXv&URq-uP|~p2;1hju(bvZg9v1p|IMX46`?L&NMD9dh z3BoxE>q!P6rFQiVWpC-Aj21d%&?Y8>WUMV}eI`EyY@x3eU*9kmW47g;H7~JZ>;OBxtE70%HXRIeMAI{hG zXTo}6OEgDbor_UyOfOO+!Gqs^_;u)BNBZ~Z^min^1^R9JhId*|?!K6TxzuJK&l?>W zo~$u^Dy?gR3@nD3ng`4eNWj=)vMM8D?%8`94>dGSft93XQX z78!QKy&ZZKB;%G^kIH90=D_G~k-(~U$Ge2bzktUejJj+7&?Az-pOx`Yk@0kgoTiGLszZ27 zc_3H^Q;~Liojz6%gFk=E$L!oji5qKfR*$mU{^#cWR!WN;}0NlXA#pj>u$L z2;Hkf-u>O7(;cAGpF8NfLuB!)L)M!_)(1q^q7Wy5%OKNLkFg49Y~LK3i)9f*H45^z&=& zMG9Ik-#g@SyOu|KBpO2Z*&%cv4oUO;kniS0enEM0h~%|z9K3E6UbltB{cZwHwyYpF zDV4$L-llQ5G3_RY9LgYva*@Mn4jq^*b|5jjto}UU5kJUm<Y>YFERzY8%Ta=R7YBZ~O1>@$N&DsynVsR# zhe4tbk2&OWEaWmv3MhK7Wqztl4 z9wf|sSfrxSAr1_05e&yUWZMa{Jw7DuD-$rZ<#U$k&11mdpXcoR-H4ZUls*o=M~Uot znhE>osB`?5GX>at+6;VA8(V`rKG{!5UFKdV@zSbD_ZM=z)}Xq~OvtfJVufxQM<^C?DNt_-_kdb}gQ|w5k1CN_D9ycca!y&`zkl{>`;khC7Ux;@>^tF{b z-d`Q`7YhBqNub~6(E*}k6%KsXNgn;oA+rfuX78j)U0-3bEC#)O(cC!aNeB; zY-R{H+a3J35&pTQRS-Tqh5xM%o$7-3dmM4Mmbkk(=$i`qrVD+`9rzV%{Pv`s>A>Iy zu`QoCbhV>!x{YuC8@pv)AbF=8GJ> zj}YFUbHv|Ou*-JvoiBW+^=c?Pn|C=AARTSCu?}n}1KX*BZBK{%$BX=b3mSvUhzx~o z{2aKa;)@~&?N~D>}2^ zLHl)*XD2&&&lBE@9GH*On5TQc3!&{A2j*$O{8&f2xsvYv4!nx2K05fiR`?p?z=a!& z(iSao$ZR5HHd$o$rx4zL2Ks|^jpgj;4q0{wZ@+cWeT~rlkAyUtPk3dZzUVz@@{snx zAKO0RyF9e+pK@SUr!gCo`k+G|O~A<*2VT7euQ?7q7_0T5iAn`+L3l9lEf2x!V+S6) zH6H1aGxr3StH(f2lSED}64Lf#R)@5M%GAN4XKh2i-HNpRJlS~Jr`RdvyG@QXcSxFL z4y>bs^?MFE4j0}3lLNC|qC*!sFq;6(CJJWVLg;_lp(jm&M*0N?6I=g=c=Z(pZ@oj} z?4R(?eoy_Vcj#7$u`!V!9Q^Lo{2rw)aNwOIcwe_CScgi1$1#G(k_4I9x-mDA$vy8pDM5Zyox=oySg1z}1%fJw(^@9lZAeecK&+F-FS!J`Ucm(!4*JcBg~)Y~g)! zh)fPSa2W?&N(Gm;4qVm zl^&^b=z5yg_2%kchdzwf`miSHtv$i{d@N)(US#&11M?w*dCB}>UEeO4-|XO#tNB^4 zSQUctYmT(9khF^&_^cLvTHuh;0DOP1gRU+@*EbGqN`TEc!DeF!?d1+!uGF|xrJNP= z?WYdDFBiUFame*($>)zccg15w zXvnNYWVW}__oU3sN&BNi=Z+Gc+ZXcf8S{gAzD(nq9=S8*+t%xXzr9rJ!Uf(J4oo@- zCc7PYU!~E;*quXO`C48PwID%{ZFzi^miZu+<-ql5;5tTdeNgzbda6OipA^WYtAoEw zMA!F)==ydCu9s?DYt!xs`L;jO_3N3XjqR}?9GJEfOn)8{?w~Gb0j#Gm5W|ZjbgCRUz=1BW(`SzC~-!_RhOxNm5rC@i5LuQwV zjX8+8gY3h-qOa#B=%cN7Z`au22p$LRD>QERrFBT4&wf8o(}%UI4*89O{Eim+4R&BV zQt-LOLBm`6eR|{y2M<>Y51%5x1YwY-2I3#~S#e-=rC>DKp&J*8Zu9{LLAuX&%fb1< zX@GBTu(NMyRsA+uu0Y?R3C_n_ZTgN@_oqH_-<=(NTCa*^Az5M2M_i2ELi`(KXt zcgy?w1pI8;+khX(V!v|mf1&Wd)xrM=@IO-cpW%?f2_l0x95Ogb%V0~|{3*fsjSv|< zUtLWGd4ve-5MqfGjTPEdETL*o2YWiBJ zJr0bEfN`;4yf^`4%frvaHecf4;e6rYJqL!DY7Bd*(;PA=5*c)H@NkFl5Ouu2U1abN z2S!UJ{{D{dZy8&I#vbi!383xZyXq0qH}Mm+T_6ac)@tE(5P@3{P|a@ zD}=^8ybrQ*Yof%hWez3s4I-cJ%8+!_sjf1L2JQlW3ML;kl4wg*Gf-sRwJuJE?t7lt?6#}9J# z#hv{hwk;3AD7j!bs&c#H731a$IyY8Nls zYF^xjl;!gaAs9?>;D5g8{>mST`?hF9+1j+Zig}nrc1uKduZ7Tc7vc@VWRA$@{~Wj% z0QX^n`&%LLR|8YPuKUxN8`-Z$9p%wWIk@w1=i|N{cMCmZC_`=h5iFL37@9Yn3xfCTTQu>S_nbGy9g~OR zzEp?v)Y-y6L+~;od6rKm{$)iEM1$#=Ei#+u(6#eK*M1j*(OL(M9YI?*?n^X{;Nkk< zex!WpMWN`$w;}1wa>!z_=&3CsTqq( zu5zTwRU(HSx=}8=@dJ1b%J1h%J>)#l74&|e#;S$t;E;PB+w%fVYNc*_^w&T+`*9FfhJ(O~>$ z3I6wiK7T)?T`QJ?nk09x&cSno1D{2bH}-_+4$t2Sl3%`Hdzpj&Ekgft2fkZ1zC+Y4 zA!!#n@XG;yd4k_#A@b?BJ~&UX{_?K`T#XIok*TKt^e%^Nw~1`GIxwvfOb3Ug{R_k$ zWVhQQ?kwCFNE$aeusvI_eF?lX9%Ikr`|h-dhaBdTo%-K-^n(dU;;Y zsll?&6IthjryyN8SMvH<4q2ZsvTo74;rABvV+Hfc4tWoSymLj~2OPY#1`nCI&)2-* zNNz{CR(L-E_jwX-59H|2Kddu)z^oc_WP6$OlAm?N#TrI`+~-PM??4_w_^_1CRQ1t^ z9P-?3<>^SL8RGAQ`y8E4Gu0yjM_ZoH6q}GYHJFZEk>e+zGpMYfJ*;rZfJZ~-hzxc( zpsQFXT?4-L_Drh0E69wY@?xo4I6M|@N9eH!kbxO?Hw#eFtz zmUUl;@b->_t`vOP1NUYfN3#0B5iS|;yW>7fhrdUrcc>G@;R&`CB8Z6%&joXUkH4YgLfeeR=3_o@77y)lxai1wX-szC_xgzT?9r1Yh zz6N1F2j!~)I$x!$ZxU#rU12>q32Ar3eY&P0LmlPFH!~#P zECCHc>6|0>?N3N2=>5&Y<7Nl$gF!{M;NI$?xV@o9lhz1mZ4F+UqlYmQ_ZJTRI8*fF zafeLK5t+=N8cgR<$^UOTWHCtIcLt3v`!Fj(H|@Lz>Zac5=0cM;71!oj5AM?hqh^lx zr^@>s4h#nY!y$sJldIZ-h9LfEKX52vpp4HD>@Nz@(@hTCvjx|# z4&F}@-g825|K1_91ybMG9zs_%gx|XycxM6c!Gd=k@D9Q&9dKRa$TM4Xo_Wvv${~xh zMHX9u8RMp|G`w1=qkuyv{=*cwElcB&Rs2?E4+PeO1na3GI*{Su_cY=6-wv!dYpgR>v4hTZ(8uF% zH)=Y&s4)mf+-=8gIYHdi| zcO}Tu;yFdjGE;r!(3b(wmw}=${T(tnQ)DvJA@fs2<{Lxk8|~1Cfnpa<5BYYbLl^2q z#*aC8pDer=I`}#ReDUmsN(Wyj3tvAtu*(2;nS$Mx5c=1H{-83U1@!#_d}rHKlsDxT zfj@WsV=FBO_v!dPNY|SnL=<?a_7MEeb9}p6_+IOf-zJeCj)M-wpY4k`6LiPs zxk+LJw>i>YC29X2m|OV~blWCgk6J2bwCcmW7XiB<`Ln&eH-zs?9BHqVw9~*>kiFQf z?M03EXV7NLCQBQihORbhnM0<7B~Si6;d@(uWm}(|o#>GHX(IDGLwM`&(7ArlxeU>{ zuM=crZQ4Z1*B3bCzER{JnHG#Y^TQ?w@0Fs@dx3qB%v#{vCWzOMyQOQL$b28ZwYVF7 zGC6UD$ZfR)w^KE4Ickf8woH-BP6yu`G~elwyCr>_|E*3RtJ80xB7K7CKSpqU!14V| z`M$I8PhH|=+uTMg`l}L$Z2LmC{YADz9J+g!)?M_&IcS(6G~DXIV7BtjVz;UJnw?4qFpWxQPA-f48yJsA< zO%>W6aNxF1^2}ZbZUaR3-VLGuMMv7>B<&AFzJ0~8(?d7Y`mmB!y%(CkWp)q5$F70;E+Kt$e_2#U?cR|PY2WD#k$)w4*WL? z{wbg{=-U?f_D>Gk)=574z=2DO6{YdfIEI!p5q ze)@!@d7?ueogt4_K6$iu$hAb|dY;3!oFTU5I)^-aLY`5PXGcdG(wOTKxCV%hHixb3t_i>~@N%%Y0L4UQT zKi%8vc)w6|V7)_@Y>Bq;$#S5Bj)_9YgAQ5sfUJ6ntp4DT#d?v&B@S8_h%AOWXebjJ zniK_N-A~GbD;)7x7_1`05Wg#b_jSl|jpXlhfun7=F`u#i7l9u21dbfl=DMJ1$WuZ2 zu^IXd24Rz_ryUq}2ZlWb!|NP8%omIv46z3(E#fp%$8Fnko#2mdZdDS3!KDr!xhpQt z($PH5aq!49*LW)BEe`rCMIU=PWcV|kAJQX_hwyi&Bkp-R?xWO{5Z-n>c}TH`G^fRA$C)(=_}KQ_AmqGN3GZy3f!Mtj!qXrJuJwZJ;t;w|4@vV82TznkvgV0x z2c=3K^5`q}@UITN=?cB+E_(AZ`19+AtwWqHW%Q~L9=0^%Ap)uta>GzH&mr%XBJcAX zeQWAz#C((k*E+%V?F3!1vSdAZBj^p{XStLi&pNQ}3Ph7cUkWi!d{GE}r#sSErqe*F zdZV$!mM%VtOc&tJnkw(@A@Nr@E5a|+<(6XeAlVs8k zWMgL14Xenj@~Zf{;f9L(cVB<5ukWj(AcBhfhRZ9cD4^gg;=c3yKIc4V?zwmFxid-2 z@AIEFGv}V=S-#J5&OP_eokIRFE1pk5=Oy^f?-2g)^|k33+KemaZ@2JGG2fFG+a2Jw z#ixC=%{>1ni*1(4OsnQV`aQZai*2UZHt(^>IKnbETJSvs_^xJrUvKfT>)FQ^1793^G2Hv?|&6g{24|F-c{j(XLt+3ULEm*GSI9M4X!zU~<46zJz&nxr~ z%Kn`)284Ky1>;GHaa43zFkA%;&tweOgvj@4i+o9z?_A$l?I*MrS?rUYuqW9&IDS85 zvE6lSyW1_e?pHn<`8;GZZL4_$5^;e~F4OM47EJI9*Z92=HRtR+9!z^NXg>hI2%0xn zAnvvx>)sE!g4&-C5Qm*tGhwHDl00QXgl`vVpp*D{X{7VO#?yFDS;JqX%1fBB>ZyDOxx-B9^e3wDPY zyKNS^E@rv*hsgDA;I7Y?;a>T3(Q(F|_Ve09?EY5^?v0H54Hn#&1NW7T`(qZ|4>Io0 z4w3(VEn^3H><%9`dfj}H#72nALv;I+#V+S^ZvCBw_chEr9U}L;A_i`|yNZY$VsQz7~#LU8@3MYgLLx9JeNdm(p_ zzwTsTCx0z}c`&wDvhFvA(0|Bc^8p!)Lfmh`{d$Reqqxqex1JYhPMT+t>j3NhCyUKT z+2%Jv?x5U$lGlspSbVCUed_fVn=XY-m$OY5TV&kN*j?-M8$GY?kod>NZ!P$p!!fhk zLjMZJ;JG3AjazKLooycl#_zZ2xCA;bV;vu{*zh{G;dvGr2Uy0XBf)k^v7Op1c8Ieb zHi5ovE;!-SQGb`IP3lOym{IX^A4cZ-qArAXWoxk9{p{PHwqUmy*ezx3-V+i#aSLwm zVB9XX;1Xk8Zn5azDs`tTvvJXC;qi9n5n1fjQTu0_ZM(^0yAihCg%R)Dwe;~BLCkwb|)=7b})|yi;o;) zANe<6tk)J=d)g0N0E`z(oUzAk@uMM@;rk&NOk3pJ&hp)B!MB0&EqiD1e&u{%w2(16 zX5rDsJZ`kKw{rW-Ef~y${_`1w{T4f{=2&^Ig+~kXc)q2*ncEjz^qdDh7qFh+@nNOx zCGeeM+5^JxeIg!%=2*CZc!7m~6Z5|X?LlL)Y!K5H`zP7{Ll$h7F*Z*_uAn^e9GNG& z%l27(bd-JcH$ML&z3D~k%a^iVx=v%#$a+0!!Hjw7}Ry)I;2#v;#BmgiR%onx%?MvKlB(0Lx~e0vE0k3sGrd#;kPvPRr$ z@t0?_zm)Cs;$^PoPFQrSlDbuur7gaalD<+S{s`U47TO=Y{5TfsWAv8Z>vC*|`qqkXbULt+qZc!Ja%d0F{4Kr3>50UF?3y$T$ zaW3Qdev52fe2($JBRiCn#EQJ*;ene z;6226cS2`>{v+St3cp(_=0$!HBKw^dtQYIt9WwS_%h-iHw*1q#lQmao9&PR)}|dy|5zF#*M<F&SHaW*#=Py&aVZ|ogq43hPI&V+H!ax>YH@cu0Dr0+t!GbH|E7F%5@ZFNV* zH$&uFxI~@TgOz;g?_X5lN(-&Wx1sh@i_UL=Wa}+@&0)RX?~_~mC#?$L`6w9SIaYF@{E?L;AMvh}k$cHZOj1>#NZcgprZi>oa5xE=O*+$z^OVoxfV?*WeK z4Zxh@L%;Oz>{bBHD%>HU?&5x5WV=PbHPYr)W%pRHa~Qi?i){zlwx3}AwH(^U^fV~? zM$qqlI%?aj!GP;5*t`+ge8z(7TNwAhhS2S{=)6kW^uEd$!XN$qLN>!MvEm<|tzf}q zoy4Rn@^lFAoff+gN3x8HRLrsOvd^;v7Wr4QPo^!tv7ddT-D0zA*k(6caDNkUf4L7E z9m^HiG22SJW+8I_Q{kiR0Xn&%KC4!_{0GF#BqyHUBy1t9>V{t z77P{wgGe5O7mKq)Y~Ky~K{(FA8URnr#(N!B1wy>Wg5z?Ijn7zcBr5dU5a0`B>#X#J zonrZhU|)DM`@#>PYX$oIeRKhI-HQ5;S#a)Wock?$&V_~%L(eTftTex+;PG|~27)oT z9~hW1tjA)gh+6c|Nd51w{5r-4>30?l7CU#|#(p9X@ut7$udD7=yl=mlR%lO{Q?G z!I{$;;sZY0=z0Etv<;r1yupi)o*NcpO?Qt4+a)r;-B)>p_0ztn?Op}HC%f$henHqT zMccnDx-VwkFA9{JKs_UzitpBo*9# zIs4(aELg6R@m*C`6(aMqLgdO?V(VItt$(-ZOY`sD7T?&l%3c|a#VYWm z*MIo@M*HNMxTA-@*EbsCHxF5GTr7REs_ZPt9AqbYqWM;|90-y7FBTj2vJEFKJ}}Ai z%lwA}RO5xexekp=0R^X$ySs*(bO5Lpm>CVZnQ)L|cfXA$Y#kVv94_78^o* zU`t5bb1Ya*NUW+Nf3e`PfY(kR2*L7&A^L2vV6j4Cv0%~i(P01B$2M+-PUbxye@P5ZHnD9pa@ScKKq6Zd)uqvzL8l z?$TgPD>-)8STKKDjz3s=rA78~NL|jdzdA(rZ-&U;WwFaLwo8>ycI|JgrRN)8GD`7f=R?lOm z?+L#sMD_Y(aAn{hH4L(L5*E7X~?wK4ifdkCm3MR*P(_ zl^;yp0}SS)C+Sb~5cxqljw_*k8FXJFS2={j`ywl#N048RN_$mBc3F6xDS0{lue9j; zPqx?mjluMvWS^_H@K3S7e86Jw9=7*o7WvL#JKbZ!lAgOquYdQ&9ic^juvEs~a;%1g zc!Nd9e@Gds%6??T4bddDiN+lK<`4bu4|cdKA3&d=+!00V7GMz62GPU;i+-zEzjs<> z`vc2%n?=7RhJN)H8!VGHz%S&&hLw;-zx1_X^VxilLBAkBs>EtKhJiyCJyx zPb>CX_|rKP@&73B(|MKn>NUAdyUnXVWwynn}yOxjEm%khhw*MtSkJ|6C z_+J(K->nwjOC|5~Mp732tEB$OHLp_q!3wD9f68WfGT?{*$AZsaB|cSUXNO>a74)uT zxn!pwVY|P;5+B!aeB9vEPsiUv=tur{Eo7)LWYG36XZtRL{_0t( z%4gnwPk$#|_}yfp85;HqBBao$3^AG9N~ z4QMst&v9<{$)oX~Fa2+)c)vv+`lY6|B9W^GKb=2lEa|Rt6wQ+WTdvB4_`3!7KeOC9 zi(Y@_ID5jEr|1k!`2l%P1@?OAJYl)mY>|g@Y`G!NnTLY?u8aA-+=q+y+j(rK|Fqyz zC2?__${oS<|HS&f)0+vf_7b1l2Zc0OWt{xWx+P4#r26rn#);!8V=TQPUh`Nn;faf=^yvLAiOhoQ!3 zu8c37LHaPze)hjI2QLxdx9BmSZFGSJ<3A`2%U1bxnFlRMmwnQ570`wDN0m13@X4ZO zJyWjfAFcSAMV5I|mYqAV46(;07Mwa5r_cIu(m2dvUt90fL)&DpvTXZUCowhlI%;^P`;jz*?_L~ zR^rJ|t)Qgw#3L8PFD!9*HP7*vSaA9sx7VT+Ct*0IZ{qp}a~cVHcFhTUi#65VxAFyCHhyCOSmhn&U_}^Icp)+h+*PUUZUnc20xkDDbe#>~h!-qN9gfL$S-O6y@ z6UX0vU{)zHP<~Mk?Wy!EAVNrOM)W+-V*7Ts{aTBh5ys)?791{T9I7qjtFaU$NJNZcC5k3;nOgawleB_<~--)_6gBKPUqHipZk6bE|fXei5)w?0bGK7nPQ;*q+f3pC0B8Ncr--s?^y7j%Xl~W@YeB1 zIV)k2d99Rr=g!-GeoQ)(FLX(VkE;c@?r~CD}fW;J+cn+t%9C9 zhBcn#&$O4)h?cTfyX~mX@BOInY*dN+ExyvhzEZ*Ci8j5oFO{(^t`E`gj}{xzl^~k$ zes00;R}#BN%LXmjpU2pr2i=464_%L43AuyXC^u~i8Mhka=AnmM8baFI(dL~4l{YPhOijoJCoMWxvz;q< z29JM?vHmRLB#8bJ86&ym?IE^!sfG6=%zKrE_oK|a&!RV-=fBPcBr<@z2A-YtyxqZT|DNj#T}4_R>d1>?|a!QmH-!>}*rwN8Zb{p=^Y4ps8C z3VxFI*+=K!PR3vx^fxim>zNDL&ZPZcExMh>@$or}ZVu~qG(`4&7QKJYdZ#S7H#6=} zTKr=_`^QB-{j?A4%JH*Q^`0ir=JU7HPlNSAd#=i5Y1;2A8e!D8p3!#0jPk-$< z+ok@ikQIb@+G4viVY^Kh?B_}Bk0#z8g8eHjxHd{$x6V2Hxxqd)#XkRD3#RRiX}wQx zy?&tkiJx!5^r!4o|FB^CF#BYikG9T96id?j`o<70(I_e$vgk`T=HS#*Aob$)rs*!wN|(mp^1GDgL1!Ev{PG5?7L z&wsMc84F%(f!F!amttDaMbgmnxCJrODxR>={vrGKkVWqwOTDYgerVCHfpsfSdvzn9 zqkI%&*;iY1-_E+fEd9)a_j@Zp79!iNY!kxU zjI(oKlPx}-H70FRXCXcrLU;a!!FYb3bzX15JIZ+f&7w2iX+*xb!zY`b16tW0D=qvV zVE(sSF#8e5$=5@4Td=~L%XRLFN!irg`t6YMjTYUvvF_Ct*`Jc_Rb{&^y0@_ILmW%m zp89hE*4*^(UW>m?NPj!0>|>TVJr_Rl77K1`7`H1evNf}8V?Nom-R48C7X1Ap1h;c7 zxYJ$!>S`$N#?$#QdXKD7YX%5gnO9I)W`9fe=nt1b9dGJemp z;8$nh_mU9&R{8MJakma~{*LXg>rf?M)v)_3LTH{HLi2iyzTakldDvo;AFxecw#oZ|=REYMQOX{)s-=6oTd==DJCQB;*DBtDenCD*cTXmLnCo>h z?LO<6t_{K9NsEr>NFA>fZ-2!>t4q;@sHgAoBWpr*G-IThs9_5q|cO#YeHmpEOozYBa90i)Mj{O)r0yH<+~tECJdotN{`*S6m+?YC3> z+J}RVjg5I6=8IL=1?#y{+E9p(hS(@_QSjKWXbdg(-z+h@ZE2T9zcZzN?cz2|PS^w+ z-(=DK4EEiBT6EvQx^Kkw@GphvcBVzQ`&qaDu<-v5^Y63hc81gq&ndIuzJYOHxYCQQ z_MP(~e+BlHUvJ@m8S_tC_^)FAU$FSz_3V3>Tl~A0b6Q+HtMZ``{LZq-e;&)f)q?Mr z8Q*b>{41sW9pXI}{lCrnUu*Hb8Y%y$s_$ms^5>7u@U06hvRAY0AGPrAW!}9O+n&$1 zJz~*qh14x2uCvI#QOf>Z@qEkp<#K$F_>4uqZ?SxrSg`*RW8Y}ee?9B}uMoSx)FRt5 zDO;yFZqaRn)NMdKWUm;1`SM)GjqY>1-h#~+*=OEu;SpgTue0cPp49KfZ+O(A!(OSwD=R(-`gD%z z*MBkS4_o9vCoezNK^FY0CH}|f{K3Ni8;s$*E%H}O`KR9Sd<#DJF+NpSxV~ZPPzS&M ztPeYCr*+aQSf>T{ZGr90^`#!aUYv`6xbAAvf1RO!?M;O=h{tu(_b0_CefsJ7#*zAg z(x%|?dl;Xu+!fruT*s* zE9yUbuLZw*7{90Q3YM=*;$I^^?!!;#;59}J_gnCb0l!X*e$Qh4er~bfxzc`@mM^^9 z%};DVMMW#d2H9bmjNkL$@bAz$D1PZ4{ACvhkG+fI=nFm@YCDk~zGSh} z8n)BRELdMEv2LpT&zpjI@8&qX!s63wz`F}N>%C8siRL4U@MW-ZmDHQ={M{+84x!O# z@uRiuM{lsm|7G@-rK^H*C0lH`I9RvONnHOjXRp=Xjp7FuT+foYM#M_+4bpuvG^W{@ zzHi%zXVZ*AceUnHxlgZ2%5imou9r6A^FJ*<*$AK94;h2jY>V>v3h`bGMwdv8&J>S^ z_)oP(k42E4?&Ge&PIx0$hL2nDSS|6`6&Ys#2ki1izCbUEcS2<6#lg1tEc^J0JWdfg zPOoj+r3}kKqoK0j;wxuMUpc$-Fw3ChLt{OkvHEWdPG4eQidnFz0(aWiS8J>t;<1~8 zbvZ0!W>4gM7JD|qp8pE5McD^}>7L24{6&lWOIiMxSupI+%Pz#ltfK@OZ|3j&%)>X9 z=+28K)Tb?2uaQ_+l|2_&2l+o{Gt{d!3qAMpii?AFx>MS{s;mq0kbmo!e!dv}s*RH6 zeDO_--d|+BpJlPzLg-SS*L|n>$4$Yxf}VqUy9K+x{CM0W3;P7+aLU8Kv)H^DHh(3s zGRK*7;W~@W&)__BC3K@)re8X)2p{_1&TS#IAGY9jALF**`N6h1B>nhLkq-b9Q*Iqs zB+m^O2ao*>$MfwWa=pmnTW4|3|FFdtmm9W7T5P@mHZRNf+ad0N9Ok^Nb3!@$=pQT? zT`V!GikxG?XjEcUQx*^LiK_hyKaHEVVGDesiS15x)UM@PF73WWd_DyGTP)arT4Mi^ z@()AjpxCTLY?iU!bbWIg7%pV~B*OyyqgiS`FpNml=o#5HxR=3wF7|zp%fyq$MKERs z#x&ydq7XdZZn67nwtL0qVA}Vxzn+A=ra$U9qN}X`ZPA&Y`h?jU|I{_z`T%=EY?0#i z&I>|#e9x!5w%Ic2Z;j&fkYPS(X?xQ5J!lpz18X8Y=aOci&DFsPEs!Z&9Y&T0t>Fwcilm6<2`()gBUOao@AVyTrq9 zP_^?#HEM~+8u7R|JMu91sSz1*8JE|IC&f!qCMxU2om{&?%!%xTe8dM&42g8Jtj*$} zc(#~at6IjzF|iFTG#1YcV=8Bh7Osnmb}q%_Q);MRpLiV7kxcWkQtT1ep$9!TzFj;| zyiB}OWMO9Nw=D7|yi;kOcoQg7pK9@IQ59Je`7v|4K)i|R?-3igR3{d*4y#33|4lyaiAqV)$6VKm8_|zw z?GmpSZxb&-i75O*ERN7Kd#Lw__!HZpO8klC*(Clc_i?EGD}q)WRJunzwMNC_Zt-ey zn|O_QEq?X!9`S8h_lM#k5#!Nki+_n5Sb}rK)hLk!=ZN2k1(7u@_g3*EF8xu?Y9!US zK&c9~RNex8=!s9ncSx*4Eup$q{D-(hd_h$5*v;ab%m=>)%5_`B&0Ob*Cs3k1P>WyP zIU;Tq{|5v&bH8n(0VU!U6_t^LXDeRKVjYh@OFYQ!e-uk1?}8w-0%*l^Y<7!1VlQH$ zS3Jsnas7YY*B?W3N84a?%k_zoWG*>)Jb7g6`0(`Bp=36hNe<>R(-YSZ?(gW$OkOuQ zl+7e$Mct9%DO3n&TW4ZV;>wmLv8}!1K&MkZTq31vXKRmB4Za-%eX)3bQ!^C?FHL4f zjwUmyfmAk^9UM-Mr!vVz>ey6bEIl-so){jR9!Z%a2QQt>q)$vv1hx^u_K}hFM0Rj@ zdOV#=jS!DSf9GYzx_9pBy=1qwGmtoxNsc?+>9JIHa8G(TGnt(n%{lwi+3Dn%)1R9j zNl!Yhby1*Jz-dN4_A?iVnr-6_xMuL)19Yp{VhSq3qPU)pX1+vpO2hH=tV5 zl~hqgZ`sD&XfQLyk=?wTjhqUVJ$ zNkv8P74c|YT=ecyAM(A%i8(uVI1LgUS*%B~H(rO|VnGMI#~SKlqPLmeWT~MJlp5=z z&Q1qast^@7I=y=u>*}d;JBs!BVywX-^TSo^(V)6Ssf$}won>XdcruhCJj_E-^7Iol z1Oe@nQlENK4e~>^1}fsXS-s(~5jxg5&{C=)5#a-Jsoq#!Grcv@5ZvEHA90ehUSUBj z@<)mxS}=kbqG3<8E~em-{nU|EI$u0V?4uw@4h-^5D9}hMNnqtjbtFgTizkr_>ftTN z+M!1?1dSeRq{D`Gyft+d4>X#av&XZ!)Hvcy6%yH8GB=$~h(uy~VghM;Bmu{2OvJ?0 zQFKOQDuF0Iirh7k$fS~4e7ISHGKaIU4L&kHIg%PnU}=qwB5bL}v0yDBYaKz3NDSvP z5a-BbdPGdOIO)s{lsHr=F*1J|KWd=1sl&$;vK?hwy`W#M zXvIC<&7u|0*NuwiR?*xdnwv#)lW1-f%?+ZtUNpx=b4)bjr#D(f6CT9dESm734(!b| zh$cL3J0_ZNUummoY!Qvkq7iE2^s7NM){92$*Tn?v($FdzT0}#WXaFR5h+@5Hh>M1p zXo!mXR#D#~>YGJiIBoM>XSn-g;77=e2@g@<+BMTZt9H)J)B8JCCHVaGyG3=~2 zh*-Ud0bM-V9h=^`u+~gEF1+R-T%frd9wozDIhQQPrJu@Uhf{%n;6|Y-V_7z(? zj3ske-aB+~qjU5y$~8_pEwxSzO=pi|p|t&EzUJs;Vq`q2Gkj5B&*X*y-HlFP$L@Vy zG!09yGLA9vVVza%REk%fB`gf5QX`Y&sa%S3@igMY$hvYZNC6yga5gz5h3XW|FuMj4 z`@8mbcJ+Cqau`t=N4|_BVY-MN&EWJakxUF7&jH7to{j_@Cegd6r(+8y#{}gi8Hc_5 z4kS9;JK|g9QWWk;4mE2su{@cXli0QU6bA3_>`d(L=-lEUN}&WaL=7qulM|SpW-d&g z9@Z2JEz07GCNi~AM@;s2^cPkRbnM&X)Yd-p+)oE1Lm^huBREznBPBRf$G*J-z<;9$ zpU(aRu*l3!K*Y8<9{hJpS{}(t^>Z6Fk1Z$q`UjAbXT^X5slR=HS3bPhVPd_BXkTm8 z>mTG^?NC7+=Cnj;0m!6!UJ)tbNZijQuk>Nx#m&>GwrgN!mTU+mB zHrJP&IFxGFm9~zVRB8P{aM$GY#7GGQOX}A@jqSB;wivmdi6hCe^hn3y)bRDi`gTud zVC{aOFmb3@UjnFTpNs(?HpsFCFtjeuxah@|1-Tv-dnQMw$5LWXDtCBt zMD$ExjXIhfPKirW6RAvk*zMSzPK}L-t|KYP-30(eXKE~U2s;>}gR~%ClNr%5mds{F z``DPcCX<>42tOqFi4Ch$HsDpGn3PY4(IEz=EOyZ ziCpIR)Fe=9FO&0QF$91eG zin&7zl~r*hi6*con@No(CZ}?MVsbi{7#c>*=BPq;AS+^|zgNoJtFQyc2MqHPceLP= zI*v#ISbjV`0h~vu88L^C;C4~S)hiYekiZ0wp9Otrb-IXp&>n^28gej59UD$f<#LCU z#BH3SolUFEpoX%pvl+@}m`Y}}p|?cJYVC}1W_~C~krBYZWFp?t1)eYyo!L3<0(*HW zs}*5@PKf~j*OYX#*TeFV=w^Ht)D@^&x>u7xUXIYY*l=IFoDDGyVGdj2f~C#Bh_okM zf)Oi}pwxce@D_P!-K;Y+XExB8`M{aRfGI7TWX7&v=wDW2c+e?ufndZvW8jI!i5IwL z5yCST#5b*2<{U*fxY1QAfEG0Lx~$j5sCia12#IpqX`e2F1v3XrTf}w+v&Kw@8PS4a z;j@K~6c0m+l^KpyJZB=M>qo%46gY}^GeVYfOli{i5>x4eW&^XqY(^lvnw2i!OaSI7 zk-WaN7@RISVU;HEOoa8s6eK4OBG8e88&T`)UXWT(OQQ0`6pKO#d*y`iXO|pJ>v@JIBj#kjYYZQ-Ubama_1XNo)zIYGlRJ!iiavd+qA)u3&1KFZb zaJqKNyO(?t=5=r>xVKXgvQiN52x9Fe8_=l;S+C<1QuMZi7_Pxk9eVnqi4~q~>U``I zQ&;QFoV<)~qVxm{sx4h0hL3iEz`k}r?-D2!Oaws=?TVhTHG93?Yq>B_c1i2p;2rBX z1VSYbR~Sz}6!}5kgyCgYY>@JTqGOna+1sy%*(OZ@Q@P&fGiz`_oo+6{@nvRjWAS9> z{(@??XbS2=4k;6g*ORGQq3W%N(G(T)l*ikp=ul4N#@fU>nR+BHeE@UFM@HB_y;evW z&yA*1#(3PlBqcbc!utY2YX^!>R*zT5A$Yr?tUaPgXTvllj$qixHYJWQjKd>%Ys}_w zh8ASe(gzvZ6vN%%QHq-xRw&WQ3T9mO;)Xl1{cG|1*(IA_wfu*?X<$yX0Ud6azx@=`K4idLH%p64+Uk&tL9_OOt z*;2HuCS0if)(ROAI9J=`DFtR1CGT1W%9jFv$nbD*G0@8p6|=Nc0V$yzH827V8`9MSb}Ol^00WjUKe#|` z*}<0%q@?-;gKj&ToEW2fqug_i;FAltJ?OL`bu34BchS|C;j!#gYPbgdadXzuTDqHy zZX*NK)2X(8e02a8t?8sYn0Cgu0ONyVDkiQ8Y>>5?l(%;Xy%^|WF}EdBPE_M!sy>W6 z_eR$uB&mm2J`bbdw%|d!Hm_76C4W=k5ULEq)zIJGZXc|9k%>%FT6=XF*?>dZPn*d< z0-AUR$YZeBPxpH6!j4yVXZ7I3#nojIqe|WqxD$8%8NGCeF6?2!&3wajt#_oZ-HE|m z?#F#`y3>}#`NPSn8k%p%r^j;Q0B>P=#q!kZp}xMLue;@WYPI|gyX8$;BofkIa=c(* z0gF6E3{m%K?u0FfY|1$9Ll}#_I0YKW--t)u_D%*=svA)YJLCRP+1nUMMYlU0Q735^ z?v*dAZuvv%7vz8PCS(rh*p@wMy15i+Y}u1MCQD`T4%|s7#*@eLAy>*6_P~<5284|o z7c7pB?xKD87V8=dnEsaudeCO9Un{Wtj-Q6 zCq@(5YNlxI64qe~H*Dudbq~HVyapaWlBT=d;RZxKK&P5L)7hN7HJn`#{StBlp>qOS z;3Q7qd(!zD9MKep@JT2~Ay&5@B`!v4yMIXbv>%9n%(OgE_#fLV^7Y zo6W(l3IzkbP39n1w}L_5CUcMyzhHn{ZFVLy%9>INc(w(_piU;CpmxVZHK>D0z?FpD zI#dd`gGoR!aN7d7yN%{Rm$Sy80KDKXCK0cC1q2G4&A~2tlCWTKVY4~d)w^Jzx5*qt zB;9OQFtD)M92_#x+hh(>B(3_Xlt+S?gWOuj^d-02>`WZA1ug#LZ8iscTRhynP39ot z==zjrkhjSkWEtRAo1IOa0e|O zz790+_F^)lj>?N2d49(Ss?pkzN6j-E(fMJ)B&8@xP)hAg)Xh19B{QoORkOz0$t$Z~ zSNLRA)qYt^=8vC(shTw&SD&%P zg`7yrqus|-A=hegTH3`D>G7$tL`~v+`SmFIExdf*!9p>fZ_j_<2B&o==-Wua-FOdU zi{tM#1)p=d(Uw@AfVU~n$kNUnEUoTnjz*~I;VeVNGFX!?d1x>^uD#_~)NmJr2E2$Q zE;$3n(?Bf`3Z0Ux;3juDMZr#yk|~s{@-j_g;RQ-4#7^5k||VP$J2?|Y-yQ- zNgZcP$Z-2pqGJjqk)nn4X%Om^X_(jS(Osg3XmZ(cI%t}xX`-`;qEI1EiC&O^ z8p#<3La30ZOfyK(SwvZ=kf%g1NWfV|Z>Wf;NHIuAXg#xN4i#|5)ZC@0DV+8f70vmx zRxE4X{zkx-(%mFamM)QWv92arEyf86XvtECbvMbAC}DjKK#FxW$(lY@s>~q@nxr8{ zNKdc4AstPU>Xh)*&U9u%!#s68O4sU=-gDPt=eC}9@7btHI#e8=0cqk9aA7z zJOA7}bD>U|mMNIh@YIDmB|4@+dF^D@n6Y~XdDQGEnLQ0`=UDgvDX6;l|E(5buiDN-_pBHd11pi`h?3d4GxvP+*59aA9ab;`obkcPY3 zH3iWpbK3GVnnYZZM%bSwia|n>H=I5JPk~yHa2mlGIeke8&XQt~kfif0$px7B6sQFW zH;d>h1;3dDnoBQ8K=Q{<=q}=WX>k@jK#NGH1`U1LzaFL!S zQ7waV!eWF==xq{r{jnI~B0Wu_EQ2&wF|tMbnuH-kNkl{YnFRf3gEL=imqMX0Rd`j> zQakQxvJnsfaN<0;UMABA)qkwrI?h zh$)IvW~LMjqs)$gDMB8Nk|HPEGiFG_6hkU9!|{F`N*eCQzR6w(tVF}RHn94IOUV%A z)CdKMq$iEi6J&rmr4n)NYl_0C=}lb^ju#rlNdM#b@9p+)WakqT~pupV)g1kF-sUqcU-wsJxiuH zhkf@Up;fO1+*{|}!Mcq|y5e{ut8l;7$0D3Y&?FLkt5h)=yt#WOG=ft1OvXzGD_Ez@ zghFA?wU2hKljrN3#Y-7GGu(rCmWsDKc4j!c45o2Be*+YkiXqYLiI}2jy^Omly|>jC6JvG+Oc7i~e0gDZXv~y|DT-2NrW6dL%#MI5 zLLLoo?wJ)9GbCY(Ar+b7cs~v^9B#6gDCF0drKbQxgxQiX#h^u^XNP-+u`!F`CVQ>I zDLCY8Ntj}|OXXP^Vm8A~_N>ATy{XU>W=OykK~LSY)xRXx?y0EB+OuLV*`Him1`el6 zDoCu-BP3L$*^mhmXJ+mmD$;C81&LL92!x6>8!|!S%p{^h1)3e9Ad#Tj41*-Vu}dZ5 zuBS{<2;E~fz6E2*im-(4CVA~o`r?phb!aFP+Rr4Y4=_5OXYoSx7IF7&sOoWa(iN@trHq zWWiX%P_@N_YcYuo{g@!%GOz3`#)ic7kl?FD^xUR^KHQ2&B?UEN%P+8gpM_XYFd0|M zA#AFQC@HmI^wcI z1L&)n)Okjfi+0vjOO{!lp|U6?4KfE56^AI!Xn^iaPGSzGW8H?_FWcPj*z0e()BX>> z{3=tO@wNWIW}>dXKOfi}(xgV_vnD^Mz{1<}bz?1>%R8`H@eXYA@}|7!_`m6^1q*0& z`35w)4-@c_q)`fcP1=K)X_gYZxfE%-C_*i?i%Ut%=7G&Fo3)!ukr-RMDaxT;TuNFt z19iJ(mQF4;VruE+N)_CJHbG_VNQr3coY9vdBU|k)Bmr+&N&fDbf?COg_YQds2_#48 zJw<=Lo5|6rvITg!s!V-TE?FUnlDD`TNhh_2shu0&xL8 z%RVQ>Vtj(m0M(a?^JV>yKBM}Vi?W;N$oh?9BR)U&NwmA|Xv-=K3pX%qy`g6s(_+0iXw|>5?KS!K{&(A`6jl%+2 zze23Q=ZB5@g|dE`SccCJ81+@MeyLcB&-WVji)8&0u>_y*GU^GZxj>6PtKN|3dl&Va zD^}y55Z{7cjOSfMcdm%wAK@_ve{=CS4}bIVw?I7cbs>^a@^AQz;j*27h(PgLv|KSO_t zfI9I!ag%tXcnOeDJYOjO0n<|yTqnlFgqRW;@j^Hi$rcrJ;YQSN05rP5hw$A5gjz+L z*oE4AQAeJ-40<}yu3EP364#4yF)3~kSurh+L6_%%>#d^e3`O@X;zMUq>CLX6-3=mm zl}qg}`?Qh>@jOM`mA!?y2U3%yR8QInu?YW!*bLNkz4Cx6L2*%S)WaR|T8Mu_d>!$x z`%}CL_%VHc(x6Y{1$>LKtOKPQY#@Dc|FNLA6hL$X%S+@EE6t-E1^L$ zDJ)5nh{TfG2tl#~l_}N;dnyy+ga?%g1=5wuq#@x!WkTT{MjyhP>IvmTces5BZ>m=) zQ@Kpy@$0fBQs!6PDFo$JLP`Il{)yvJ~lahJ}8ar0?VoS@8NTVi5+;~ zA@&0^Z5M*09NLrjY>-G+h|S0X&pQ;XXFH@M9M(e4!uX#nv1emK4aCNGak<_>r!sPaU6oje3$-$LHUTdWvtAw}tqSQBQe7z{bn*{`uFs^i}+; zdHC@A+30X}$;TICJ%ZGL`g!;##A}UuOhWnkmm2kJjr!*s^_XVz{f`*+ z=NR?lM*X=)ebT6RjQT#Ke!WrOWz<(2^{qzzc}9KIs6XGRuQBS$pEM5Zje3M%zJ59C zb-unp)~orc4E8KTtd(KjD}#rWVGb-q&MQMcEQ3dui8JxH8h>ZuZw>y=77rm`(>jUr z{4@1=D~$be{Jjc)ufZS94{yNV1>jkWzs>mDia&F0M)SvOpd0xz#raaKq$r-Kyh@xW z2s4Vod4fOqm9N)#*9J`eVzxTNwT*zeukW3{NeTg{jQk*g!uL&$kvS1Z{;Q5`h-}2ann*m-fIl_9Tzn35BgILtxKjSRTI8@krhiAp z&EgjM@5NY0y&nH=7jFWeN5tdc@uYZ4lt<=9sv^rHt0GU|C4fJz(~b)2O+7y$J}JH+ zz9hbj{=Y_VB@andg%Q;($tE~C$qLcm4!( zX{AA*qKS~31KTdgUk%E;`c%$CQNFY+OL6o*-(0QdatBgZV9v={_^+1yD@3bBzw@Pj zRgrxmyuWDC{R!6n1bA!RNM`z{d~O}$i1c?(K4sCrJg1Hu>oJ zc>!kTrNAJLzfTp+&kE;rB~CTy;W#}OEFNQ9f5)QlAs<&b)ycc7G2?-9 z>n5C|64c~IK!k8A9AN5Zg~Zh?zl)TAs_l#hX`QTt{LqIQ*5A1#UHD3c+;5e?hyWHs zQu5l%Dq;bFnR+4pgd<%y3Dpf(09+CC9KyHAJdcu7!*CCo1X}7Ae9DW)?+}6 z#LrDZP;{8)RAP5O7gs>#X*1BM$N)blJvWBh$E!^V99;Q}A~l1qBzuW~me`Fbx&jnY ztmKZaoJA;>1irRds1H~hX|%djYL7qn%T0X$q#3L3O`ehreTm2X3e<4h;8bSv5Po6H z8BLF+vV-I4;ml-qax~{0NoS{%V@@_VJ(8YuTI-^NM}`N}6T@TEBdNh7$&u7(w(hVP zKAg-roA7gXN1Ga)>4|Lm&_rs)!S5G|8YdEQb~-gjl8Lc&Hdh;UY6VuyHO?liE}c!a zH9*(dywgea>>cRuxw>m#H?2Brovj5mwb-5TQ%kgWcJ_7k_p4FPX5S$2I)X7ZS^SXM zr2N(sy6^#nBQD6|8=dFs9&TkVu1(?oSNx>Wp$Rp#R_I)3E2mmW_gMv}QCMr);#hm@oRHM)nZFx}KgK;*j?G>NIaZiJ9N93L8%hnlAZ zk}Lf*^8`F7gJ(jD-_($x-&_QcO%3dzlrHy9 zj-`k3^w$hXL&0qPYKiGlXa zA^M=hxH_Z{I;>ZR_~_^xK#=rzbzITcmFVp1?d$4jALy!y%t4?-rLpuxiefE69Xq=^ zb~};snn;DSDN?z`iOh2%^YO93i7doNl@nQnGsx3L@pOc-Qq@qR!l!r)xOe!@LhcZ}5QXS|SaSLu$WSmPmXJphJAj z2nmCUp-YIL+GWM~0;5M3Ig!OsVu=%3NrCwJzG81jBATdA&`L7V zbtRTyaKExGPGwmli_#qYmGkFZd{*F3Mj1Zk^oY-em`qAz6Q32ElF7#s?R}T*?&%*e z71838c_A#6s6?_ysX&zy`NV;j0aPLVLdr7$DVB&mgVdvmhS^Yu{FspRK3h&Db120w9-k_ia!LMFl-mEBP-ZUAP$cK6hXk?_!jy?TkmFb` zQpkNu1?-v58d9fcDrrdK&s5G}Yy7`S8O-dN<?;nM)YVAS_=5=Dt!Lw#0OiI)5JkEHr>p0_1`w%3`?cq{0f-CNUjEJqa=Vy`OT z1iGvyfiEvQYOe%mXPeXt!l~JqknC!&QJ+NOAfmKfwxlyuuXyKci8ZRV1o?UhfNB=w zU@cU`ZW6W~#0Yf2||&?s;*`umb2F+G+M^l zhdM!o^5)WUH}(r5$Z&=>Ke2t3%;ak56qV`$_I${ovBIJeldq(V7D}X8&gs5V{Q`Za zCZ|Y?lmGuigqGqngQ7AFirK+1Q|n^uf>zhGt3nnaThG(BF7#^I3FnK_V$wbZc9^vQ z;9Q|OOHuqMrorN9=b^J$nssrmEu+R4FwcNkCCKy4%Th#$($Kabs91&Y6v*?;LsUeFXHb9;&d&r_3p-|2Bd^0Ga+iYJ znZP{m;8_H?pp(uz_^GOK2cIJ;Tm%}%dSs-|>A^K1TU$&@w_k z!~mCZh)SDN?UY5F>N=-Cm2xK4`r~kFY)XjT{H1HqgT@nX^ z9Z6==G*df=lUZjdm6~v}(^IL;aB2jXzoc;)k=?G%ygDIDXFnwl4_PDeGjOL=&|lD`=(z6diJHTrW;O;r*I)g z?hY23!KN!7{sCR-(qnQoRaE4GNr#s+dCOsoNm)!X=Bq4w_azRr_wDW3dr5zBJzYO@ zy+JuvVgQo}9I=0(vm?QzclYc{Bt$$KZHUEoOKp4h^qS5(GB$=MY~W%Yxhrj;wfFXR z?d{|(EmZDLj!o0WBl#H@m66Ia?s=f66W4_Z(SG?L4Y9j2!cF}Heb5HGW2#+_6=e}2 zFFlS-PQ!1^vXi({EUYmaYvonQ#8uwfE${}&Y4mdnyBMwBuA4&p;u^8!8PH2!5UmxX zW0T38dROwwidu*$3oM*0E3vqmyQv06-fSVpCJ8!bgw%&(rpnA@VU0Ru1@q{^6a%G7dd#%rB^ zT-H|ny2p}-6eF#kqp;A5u{h8^kvcYbJ!yxM)lq%`SN*wAw5_rfX=Nz|&<8r!pDbtF?Py ze?KguKCal?+11y*d*1;(#0A^Rs??82!DYaGd)j;U;`+)Jmmq!7wPTE*p2D3GxKb=~ z$?WxXYLc7IBEiL5=&eEEev0On>*dAr!Q;szTgQi|w+$Z6d}CuW2}ln+MX+dvr3fyQ|aRtC5K18|8>BPC0SQgi&96&_Ap}5wDLQ6umv& z@fax;?d}%6vAQU|HHv}GzGzIot8%?8H;LYcy13|V<{r(mHcr$wVM5Nq8}j!wD4*eZ z-I1a-L7Sq+Nymp1!?_F$)Y;t;6a9PeHqeK+0|PyK@ZQ(88@2n}@ix#&ZyjBG@zLAU zMenHDEqnCzbR0lO`nXhn^vm~d`Hrq==or`?i&CMzmy}h7m@4eKOnvsK0pNz_zW)8H zHrBOQbnNSiiS~}mKnw5STasq*#Zp`kxAPPFX`!kPqcTCWwT?+BPnTO5go$aEzwvshIOC%+%9UIn6qPt z6Kinjt{hcvbjvL$7L}iDo;x~L5;CeQrh9qoQ}kF%l)QI{-jeht!?ZzQlWH!f&H4fRgr`uV-6GGPB=%hz$9QX?r$z#wpw%ysgueS#4T(z-5XP_XmdGmJJS<(YR z?+CXmZSufdqta3F4x&+VRJ;vz(isE|o|9^1WNWqbtOQqhg)S z{;3OGv*$8Z(W3@{n{rfD8&!@Pm5wUk!MC_Mka3QrhI6IZgA&~^Wg%pz#7KIa)3LLO z(=ui#Z(?hvnH+94F?p0e4&kgo$eYwg;q8gsWV{BOZ*UqA23eWf&1SU9tBUAB6y)%t z3UPdtkn=~gV~7vDC#It<&iEumLP1xk&sdWqx5E-cm=CW{Oe3Ys0jN*mNpEhgkqzZa zBA**^goP6^!5Bgcn`~;>lu2!qOHS5%={cLQWHxU0BU~lT`na=c1ZQCB37l6*INDfzrvvp^qFB0}4K38V(ZO%LYLBMRY~VCXyo~I5Es7^5TH@(aFpR-;hc;8^cK^ zLqVEOXtiN#Y>J3G;}S#Dqob(|^aZ7SKca)Y5bLJ5E_&;vH_C6ZUG&zDw`gPWsF2uZ zWkSAjR~KTku36@nlfpQRZ9gd*C^;fLi@K$r>PpD)nbgqaB&F`?v4-yMCK8!Gin16_ z9!kr_j=VQA4~m?e7hZEvRL2_H>Z5J-P1U?4Oe98eGihPR5;&zNN=X<~lamx;w5p+^ zXK4~|OvEXd9Lb~(;oCBF-X<3g@kZR0Y331hjJYOOcU3ODrY7F7sTr#szx44^)*Vx+ zkxATedMH76F=Bej#Y@tLMvYC4!iQ6%qtHvOhO@MGGX#+VcFc5Ns>v^o5K6K;J`Yb$ zXJ|3o-Hr2g`O#h6%2VT|$SN0`Q&sv&u z9#NwFNUC=Yt>>}`dT&tHP>QA{0j7TEIgUKK@IpGO6>*R%>PhVDC1mSNj(l6XNOK8G z%WP_FG%-4s%pO*wR4&Zox(rCD14?LlC4qm8qKv2Dn5c2Od;0by2KMzjn^lo+b)oy1 zF&$w!(Y`0KYxlm6%jB&o&NipNYj=0zir!A#DVo@IMR&KVCm5Qrbymu$O7>_emeuR0 z!-7^d>j6LQ;ZYe=>5iRF$L<~oHE<~wc$eC6o^ z&i=lxOA@#>y6^HRc7e+swIS%F#<0^S>B-gBNrBsKbCWo~&D@X}O6L-Ef{o>vlm>#K zXSrIJK>{^`C~${zTA#@!majE0E^7s0(T%j&>BJiw<<$Z#z_LeSJv@mIXWZjBIfQGr z)YdrI=!wD{xXHb%Z-4vl#6UkxbO1Ih>WlIWb0jr1eF%0y?k(Z$QVtnUXG=QAG|pg4 zF|_J_JX=a%xK0TZixCqg^j3*ko}J04W0%0r*q-*j%MvBTproMI`jP@pIxa~J9N10Y zK*0A2`uY=0>>%K#gj4L?ht6n9NfjwPD|j$N?=$UQ0xpuSqOQ+OdiLzWig=(MuGZDp z=b63glbGhr=?oPy5vyx$tS_#w$x6CIdK_OnNMrXK=B|g%67N+4;-vj_w`ej9nYGZHqIt&hbM?T zgiu1(3NLUDQEJJPDCQ1?A9fF7@%pA_Dhy)TID)I|sT>k}c5oQED3ip(VhZ1f8PeaR z;X#A=az^^Zl&lY@#Zkm0>Avkn!$QA9!g{6dbhQ$Azm$u4J~aAjZ|!Ei?y~zWvwj6W2!bD zZHsd)iZra~#=;D@46wHqwk9GiOLl1PtQ}b&+8sEchsSZL-R1&8=9y{#L1oUcVF8{t zv+mTph(k&Th{xI*nyW>3S9?dVlN`deAG%_P>xy(Gac{>i=TIuwmCTGC?>d&w)ztDP z5&B?LIi)DXU1y2ov`V>9eM?)6U5JWcp%x`{ni#k!A#ZGGZEMW;q}{f_o{CV5rIqM3 zM%!ZS$|%NJq{jNTm@YPRhvv2@*fvxP>`PA#$K%*D0C3?O=|_g)9M=sFW$_g`+F7rg z7#cUg5sNkBJPvQ@gJ`SAe?UaVmbQ9mTOET5>Y;nJXrVpnCixaceM4Kk zkpac|YP_wH2GXf36ak;=SYunf6-TOw6WS=(qHi4Mw$uSdvaiC-0_irV33DU$ZfMGr zLs8|6CW44;dBp@~5Nwda_{oV8XL*0Vj#Dr_fFkEcZSq|PRu>%DF zrE5`SiBa1i?KzYjOHSZowsYgjEe?VJ7qI0n0w8K^i!tj)_?=_|pNexWifr!~ip_0t z$&Z|mqXSjYLyFl95!&i?G2RxHQlJ(^=_bu>4cN2b4#?q}8{CdOxH{HCj1>#O4&kIY zEeL>oEnFuG&$!XqHGta;_Vgxt)!7IRJ1)H>(b?1AzH4_E?FQ4%X2+$ti&*ZN<4mKJ zLA>dFDq~raiBqAmUK7EI*Y=Y^x)50Pu)E9$vRKa$HXvXm@|YwMXA*9jFL9(W&f6Ig zOkqj2DwyT4*0vaiaWUS2kWw8Q5zW$!us3QYU0GCSM6t0gD#am(Xp56LFdSk}CJ7WN zACN_R+Ukmsoma3zTYIy55GBr$XZW49<{ zh9Zic97S-GfkH)vBsLD3!5v1tfP#uEq&Nx; z5Tk5|5a1%EIEf*`70Ht%g={gzima8zn1mihh$rcy2nswc5pX;mz)UhJqm|;60}obJ zSp&65vyzw$QZ=!G65ECXPfs(d$PN@mVv^isWU6E@ixOlSR<8`Lib{FZLL8}(EGisi zQKc(c)ZU1`jhY*Bky}(ip)WjF`W=dt$_Xf0)UJ(Mm6uTqr_hX{DTu+OEph<)luRdZ zNoX$l(1arg@b(|J^XWMY<5O~9&pg$Ox8hW<8fhPsfWjX>3~NilP=vLm*-%94gsre0 z%CzJ#_@$Cjx~Oso<*ia56cKjPm_QsvWUcf|g@|-Mg%i9Mpi6f^5$-G**AoQ-9eX#< zG^tFvpED?mXq1MOMYXn&MeT#=pd3WjD&sWLfM{Ns1~ZxFfQs2;7t^$mfSmEl<5k!Fo`Ax z$r?#{)RJTbGm2PEN%K(={>r{V;Uk4aJixEGmg1Ic>yhPT2qWx)l{OTBV)Id&(zP(A zLMQWI6w9l(@_HFEZVo#A;>4istXB2B1BcI6^6nyy7y5C!UhVMG_j zMqVaS5vuYq6xG~D=@)A|ZH9OQwu71hd49V;e+`8;O!+zr&03fn)SM}cGDT1=e2m5bRLoNMJR09eJzBi^;f(H?4)hulEB<5Dh)0u~W@NJb^7!u6G> zNmD6Df>%)Dg*xywQLbIA3m<+!G~Tl%#WT+Q9IMCJJyl%SkU9kQr= z500wSy`25?p#yi(Q3U(QVd$V`KoRLn1{6{VJd*puBlU`(CQB)=j3O0>C?fgDz9>R6 z86+sO_o7NpsH8lc6kNy+RZ-=6ncP)W$fAM-MTjGn$1J4JBPf67vpF93n$@I*^dyT!rsfaC3L2!b49 zp!;EPHw;eC;achRa00jYB;*gDCvY|Tcuw7QlIY*vp6K1v)3F6ECilDLK6mfF1Bw3j z{ayLmT|EPd{hgh$-bAb~9>t|I?#=ay-UEB+8X6WNtw2?}x>~lOh#Vu+A3TN=0j<5Y z$58g09zydt*_vX4LxVv(4=t-*?HUivEt;=P$RHjiy39KyY6(Q288ir{b=99Rg z2t#pS%2EN9>-l=@?#0^y_< zSk!{9^a(%#z2z`EBS9bXOPEowmoXzCE@9_E^PS zpFy#zkVv2wSjw0|5tADPa<7-ltH87##N8au|vLOkzh17P*Y{NnIZm3-Ng0SKg^lNwPp9YQp zRgdKtPkzs>r_yup65@h;g!nf2*5S$DUwEky|9puMTN=In=;#X<3i0K42yqb}4gaB^ zsP=tRZofyW@g)5oA#VPeTi14zTMjB+OOI;C>%NE7C%qpqbo$AI_@#TF}rH=pfdHfO*@Hp`TAs&51)$Knf#K}3Ttl#(lLX{r)u@K)_iKols_%6mn_pyB* zpAe$+1b*pdq1$7B(k*x6XGH#IP#wPpb}?Ts0*^1e+N~M;HzB^iO^E;c0)8)s<-MU( zwf_J%*mJepcOUGq={onAN*}#Qh)YsJv_S{`x)(n)u;eg)CFp!zqdu1dhljy0hfn=F zA3k#j{NnCCx<-h1zZbs_bej;r{JC5ASztb|1;3W`eIfpJrx36BD)7Q1@bAE}`MPJG zI?CW;+GFN#y-OF^)c}K8hq-1@Y5Cv=A9~Si4f;NUKmY65hlTh!{Q6TLz^?(okFUB*h>L&W z?X?!P^lR|bx}-i|@tAx31TfXFs0wp&}x89o_s#= zh5y|*4P71);zbx^zJB=%^9b^Gs^hofN$}69f-m0rf7yEv@G6S;?|V-=B(%^22>}9x z5(1(3-lZsAy3#=@(xgZSktU#YDGCURbfiP*ML|SGMCl-k1q2I9$@95qcQ~8Fp7r@X z?|WU(`@i1blsVJd5cFymf^GLH)kW2{nWp>b5CVG$v6q^63SV! zm2~Dy@c)XW4CC)l%yLA8EZKTX%+yintDKAu9x#lb=Nd*W>~;-(OUV3% z83%QOuQmC~S`c5u*+=~*$jOqUS;PB(54tTOU^ne8o48cT%xi!S*+VDnxg+(;E@O9o z(!XG%HHZs>9mfsh5;pVo2)GIZIAO z=#tPdRz-gQ-L>>TJ+{&p-8*iz^VgvJ=+q^vPI!+Ww8iH^pKs{W68R%*3B%^|B^YdP z)lKtQ{x`+`cjE6y;~S=69+ry^LRnu9`;G3jHd9S4pQ!VniqVDWS)6l|IS=kfXD!{5dXwMb82Zkj4{OV^Hmc2> zav8?fNW<8OTt0)31G*ZzZk)%TA+v5`LjvhgIn3=&Od&kGa;miJg7L+UZ5s0L$X3^vnQ2ckRV z$6UtGyv$c_(8sAK@bSB`K^qUBW1W!+z5fJxNO**-Rp>|FaIP!nat{5T_SoOl8^|yZ zUyj^nRw;cM+o4Y#+EQi@8<_hI)?ag&qYjIz=#&{Jq8EQL|6_a6FVg*>?W@J9>y(Oy zmPGt1e7*f4vaswUbuIJgtR(|`Src^C9$JQ)Ur)VPmi1UQzDRWnTV(#B^{|`j%#-;_ zcy6B=2P8vZu$h+s)mR5gc=-)8_V@q&>iCoVthb1F!aE&mkar)RtheRqvaImzPjuQI zZf510;RAFX{B{7JN%`DZZ;c2`r@cAOsbNFB`6!#_OQ-ICi)T-n8h8 z9FfxoWHW^PP0P4$KxR#@nf1T-qocaF4L#AjK;~@eOSxqH$O^9C==e$K#`IO}koWXYpPtl8U}udoJ&fBDdrL*Wzf@J`OX@O+#fJv)Dib9Oef-3ffBJ-m^Vb6<7y%e*>& z_gS4X<4?-s52>>)e39MJ#?v?tIHWyfwJ? z1Px>S3mdt;gmddRX1#&7{_<`&j9j3HEiZBt_pjdJyp}z6zxCnE z!4S?NrMcd@VU~45-z0=~*Tpv#L9`}EX zF*10MCDrFL_Z8urgcG^BCdAg~FrOQZ%sly@c9}Q*9=h7(JT^sK>rLb_8z0x6b0xm{ z9cXEJ*;`jqpH4K78(zkL00|k<1qsI|a1Kj{|FdkevlVBw=6*L;RZI1+JYyfu;>|i+ z*PGUnCvuew=d{XWi-;1h6;@-@VtgRS7_Pmm?;!k051wh}cG zT|f`#B;)(hcc*ZmikZ8_(y`*`Uz!)WN3_6O`;QskbQk=2cl^^b;jI9fWU6QwyJvap zIHewzb;|YTwK~MT-AmXN=k5nJn9Bff*;~u-kB3>4?f2&SrZ%D@{=)t|oL|S`BP`o0 z73y5`gvA3X9lpY>^TTEQCANQ$xWre`M%o@0z+-=5^$ym2mandJFmtAifhyB$TA1_t7)6gviptKm>aU%173o@YL}nx!#AfG{-IeE>xvKg zqAdE>F9v-B|5W21@eOb7rSNIW8|HDTcd_k@-ZDvDME`ul{4dR%@6dA{LTc$0YvI=b zI(h&aVgtSTO*z(K@3E9T}^ajW(%q@J#CVcYXRxUCJ7As5j>q%hsB~<8EL$h&zou(6tcc`H(m} zd1XMQuQ``;{5r8cOt8k=@EzA_=wX*h*zk7Fb-S6vHE+#2_?|oPsPrYSVVTF9lnq$I zwKuw`!^lNu>g%OC$BgHUNPXOStYN&-1X_>bAE&W)V9YG&;beH*g)zG2LboGRxB0iD zNdsBGqbm{?mBvQuu})#Wi;kFi%}THa+-asa)x!!1Nmi>fYeTj~iVm;KRH}}&w zv*vGOmhHu#>d>SS^S@ypO`L+B(^uKE{4NV`22R$sQpdHI!At0q@Le*$hb=_!!S>70 zj;-0lB6L|o?*s6Jxxcnd9X|Q@`s+`U##^~r8$f>mb)HLR-P!^>LFV&LbMFwkPQu5@ zte*c7DPGQq4-rU6FW_mBO(BYGlW@>Uj#u{O!V;JKF=H3+>+?C8VGxl=k zGC0q96+d((9N)ALo!M*F_x+!3BC@K1t~EfP3!!(&X*)8}q2zR(dO99s$-uWHpqp;$oCh1+379$qZIWEb3Yn= zevvubLtb>fF*4Xf{h`DXzNOyZAPdJy;0sG0SJIm0`hN}RxP#u+{0@JC?(D-iESRcG zo#XcCuY~TI&6t<}jNb8P+UfrXoHrW0Wf=A6nx%8G$LSGHHNAN^ZF8*X%~q*e9a#?| zPp9zZHhk@b)Fro`$Cd)&9e%E37PD-62d?E4%=B9pU5W1*#=92(QumPhsNH<7jc>Bf zN~S+_GClTV4_$3`{1BgH53`>29*wa0m;k-Qki&R*GW|ODdyz$+Ro;3Z4n?;3gO(?} zd6MdVf!}skqEGmP0X7?wvPC=OKf2Nw|6c(e0BMim*RLU8 zzNMOVupDD|XT30%zVVGqis9?%V+%g+w~VQqerws-QuM$c z-VEh>iaATj#=PG{XLb1KGCmSLSogV^GZmYAOkNk}dmoml zw}{zxSuSrM*@~L!f3RZ-Q;);T^sM9F=eiNPcfiwy@K-`!_3iFChO@tyq)5 zqkmWvviXVeK}&cvkGURZE$Bn1*#o+ghIptXB`x+eUbmtb66$n9iG))DGq=p%paSLmuX%Lp6(MS(otz z`62lD^SZ=}nVUU~N8f$JnZEc}c(L$Bv*ZS}>QEX!zKxERgXVM4o@*cTBOQ#4M_ax? z>i$7{9ooR_J4syApTlQOVVdyiKMCtj!%N2X4N<}~Tgc3DY3Px#A&P5a%a8mBeN~~S z<1~JM``#?~{XgcAZ_d-lo%i#*&JuXD(=5AW(}yz1;7{cF-8R;UHw+_^aYlE4x(~^D zV6(AP1}$vHD~uECZA;&B;Qxkkeloxn_*lVMFsdbC5Ni2{xzp=QxN(I>j`YX9QwP} zrrSR?H|x%}Xnz?SZwqcUhF0QWa1;BlL>vpI&)~j4Wm)kh`{<_&Wd=O?Erj*nWwS5e z|L-D$WtGg_LC@ifwwURi_^RsIwGLUX^E>7>)?YQyt7Oh~7diJ4=Y?+}6Yv%2<-MHv zUFNYEK3+!0BpkYgPV8X~w2S&fIgi~m^X>mXqwmK--0uixUSJTk&)x@J@NYG8%JC(B z>@aJGNrq8?Io7Vn`n;6cLrczA?MY{7f-k^cHt)6f%(G5YIj6!K33naz&@7?OGJG)j z^$_dtLFgjsSo#{V68e)36+UEa3BwuZ-80zI*YF&@=$*{@k9i)0&k`oU^GM3Gjz!PN zcM5@)Or6SxcYZoI`ohzBlCyKEnZL8^)8#Q|Q|Dzze)cc`UEIPPqVRiN8sKlr*h@KA zS@nN7Z|3i5jeX8VF32bTIM+4sYTjk?kW0;rtSOlPm(1%X{%;!jU6J*5&gFyPmxQ() zuLw2M^8Zu-{u5j4Xz7Z#gl8HKU@i{%_BxW@i0{a1$^0Dj1TmNUmKzKcU%w#N&`Z2|zNv3-q|Pb)u6f+dvVD7L8~pXx1MNA^>9xpo zFZSdV1_h?hy@xFNpvSF15PoC~aR9iEjh82m2JK#F9`u*vDEC3gF9j~4vn7~cNz#cR z0Tcy=K_SpS0sltZdEjmEC%hY9jqA4J+`B}#i(E&)zvmhWJm|&qFQ0Nx0-cLNj`Ps* z8rb#4DyeBbdpz~A96h369fqNoKdm;88qlW>-{Uv-S2T~(;rn__(k0%wA7h zTNV|I?-~I8pFm3rPKi|}h`&B|e*03HrgfHlT?@C4=@i+e#9>Smh zBz#*G9n8+P$3c8yGA*&G$yM=r*vBAzTXGZh3?1!7dPw!Bd%lu``vAMV`90HcjSL#J z;~JRw8DyM-4POCE(XlA<#-p!|Be=&xUJK-t5&l;h&ut&hBMl0`$XgC74--7r3;ucj}W^^cD+<0=F3H{Y7+_3tAeXf1%PCA`3O zt)*YfY1huGW7bUl|I&W$e*k;9_rD>7{FBWVdu(+(VJkTqYho?V&FjtbG<~539jMJ= zUi3cCGS(SBwr9!g+5qmvzGUN?;!N!n)i4z{916sJYJ7HZ=#Pne9D}4_&z`Dq09J=IM(47 z?=P(|OB<)fw(z4m*6 zk8~(_7@Nc9eZ$&fX3o2l7zbI_sb(JU?_tI(lkqDD&9wZ#*~OdIse{R!AE|Q`8?%R| z_-6^b$^QiXkZ^jN8SDSAb54rRgDuB!&*M6>yUFioLv$%?u_gEn?6q(eGq3SQ^sN@_ zWb!hBKhepC#EIY>>2COzXTQeg(35y{dJp*$A}^S+{(srB=`R}S9PIgoH!Z2H(^DVo zql_b1gP=1_k;xWl{lN0&dqY@Tlrw8psA$Fk!&%EiZ!`3xHRY8)ij3{yN_y{6se|71`whKmotj7=Iuw6hr{E>>EwUG0 zGoEjlw~Ff(Y(Igvi_no1HhY%3ooS~-E(e*{U~O#=HSk|c^U}{-oZ3h`g*{u)jp~dS z_jKt|@^;R9I$v^1;@jT)3|?M)x}49a_zn9leYRIPQ`0<}Xyd8mG%jtgKwI3y$rHNU%7NqZiZ=1(=(Z?^5%Qwj6ow}SGh_7Os z$B9pZ&%syVIv9ox>?b}9?4j{u?@>xSbP4;OiA|>m_mE{yXzpK<`wbiy1BKz=YW#Oy z#wiaEd;8eTYaR7_Ec398=g0@ zPz^i}`hk&PDp*4KLgIa39qA_EEa}UjKIv}YH_~&7zXHF4ncz6M3LaB7fOs6p4Dx}! z;8joqlmdT4SH+#I*gy<80BtQfTMW+1l?ZeP2XixJ8WNk%-5}1;mq}kB{TH6*E@;D? z0-5)HB(ZlsJb)+LKj55ZEH zPb+BZ2)_sH#7j~3E@dw_Hc$Zci8;xWI|t#-1rVGOkCYj{XTj@%E#O)3BA5)eQg#%a z2S0;w@*WWvBF+hFfihqd{T!6Oz&BuFChQCB1Si1N{m=})0>4u~{bqPYepZkdB!CK_ z4rm2>fMH+?NFRy)fQ~?Zg^vYIKq4s1SP>vEcu3y?D2S{g<=2*m(Afq2L%kE=1F#5u z1EzuLlnn*9Nbdx1(Z>Vu6L=l80`b!)(M`Vr6IcoKMsLWAOSg=p2e|6Za&32b=++94CP0Ak(Yd zH3Bcv=jX&J;I|R*Wh6Q}9Qy$+NKXL6NpB;*4px#r39^hrKHxs-SlTrLuYe`s2pB-w zLhv_q9U(q6nme-KHtAfivD$<70iZVN!ej9Hpg-va;C0d;gTthM1yQuC1^R*cVBrh+ z+ph4N_$2YV7dc;n+N4i($M%R{>_MNTGm@S`JeW8;d7o0R2m# zNAeyLPa{sEtQhItl>IVxf*f0(!#c`uMR zl;a!VCV6AXTS#6n(rd_jkGKqZwaDv3JeIgQd3i|}CB2gIE`kQseX}=pDa%TniQ{I( z*T7NA6FBZqIy>e6(Do1VN^pDx8039V-d6H9aJ&ZI9RvB9+r)0n)ktr|85xX7BPE5} zPlCKzQP0S4)F20z82es&&`1g+4Uevxmcz0}s1a?18D&5ut|S2@fp{aWQNoCz>-0~$ z_E0~;NR(cTfMiY|Mlis=fRpzh>F%>aNdQ?MBLwe+JF!9_aTwkHZv1Ja_hgjb)N?Y@ z;d9_+a?0j@th>o(b(7r)r&)y5Rw0Q0qm32DE@O}Jw-Mwi?kSdCK}KfC&I)Zgn0ikB=c4;)QhCT@bZrmvgP>3+5Z?PxC{?8>j>7UtG&>Xp7zHHzN%)g43PGXdE(TfBJz;wk{F3G- z+ank|9e1kIKWQo=31woXjLIrce#&k`O0WUgsFALuj!YtoZtOu;-_c~02a|xUS#Fw1 z6AuLHkds7fqrK7D=w|dXUN&Aah8ZJ`vBpH>4dYGYZDYBy%J`7+w;DT*{l*dFQ{!{v zYkuvzVtjA>V%#%q?^akTpDGk zFb^HXqCj~$3PXJ&P@OceDW8#BbtC^c-%}@_Q4o7+0f*Ncn~g2Tc4G%Rd&)R%e8n6u z7?+I8##Q5{@gsA5%q)YMVHER=_au5sdP;e!c&>rMLi08>@4>kdt*!9TLMFK2I z0>#kZ7#L&^@_U9Tp(uyIp$nO0jE#>Rs@piybueJ0nQKM#(@E@gZgqs!C!v60Xv11ZJ9sbOtc(hhVKF z(ydetr&#DIL#iPDFOIH?0VyZ@Ns!;C#ggK{Y8w7=>q%DysVdG$7I*2OD=lM&lPaVr zOYKstapUtDqlt0clUBH^eu@)*38W7jo26TFl#UcsIqSLYx$g-K2o0zaSW9$5JwOnKdW4b|A9*ByiuU3{hE$PR#w#^V%}@C~P09o! zdE3N`&{RZ|UG+)A7UVH|F$^(#)_F$JAD@V!sMSoohHsFkD8$j!02S!_RQ!|kYcZM$ z_vOqL3!!;^^hpSOWTeHH#S2k}yf`Yn6TA$j?0urD33Mf62cS{Kp&~E(oCOhxvWnW4 zBBg_L+m9&>HCPf7ev(Bb8gjGBeBXLii1F*He#x6g_Y7X+KZ_2y6bRf29zZ8y7-sbyw@ zVN5WKZGyB?K^~YCvzB3MgZEE8)DtU7S3;=pODM8;MRuwn?>33hh3zE~M3h(KljtTb z*}iPomM8)!g_324XQfpKX3xUr;hf(l8Lu15jCYL)PkJR`d5u^o78Z$L^%+X)$VpS0 zC(v~gT?cR~6EetB_8QJm66DDo;kis+VDsg=x)ditl|JTBg{3sjK`I8k!lLa$3M96faXGq?tn6z1)D7iHoor;uf@24G?DhBMX(pVn zz*H*3+Dfo8C!~6C&O!LEV8szC5TtuK14~+N=0_0AgyhU~=9?#rE$LF&ToE2sVj_|* zPi4s``6S41)R7DzE?c~XO2Jn-p4D6L3ykw^t7 zDbM75yLgW-qM3Lh>WGhb>>}8jM7pP%Kl!{eAn2O?STdDc_yyg$6vyG_^s#mfL+`w{Csqd$p=98~4A$cM_$*sE^WdKR`LS zz^gB&G_AeiV7iMPN1uH(S=JjyMYLBull&xGocIpQt1`sniDlhYg8T&Hfk14bEpDS6 zaYM9UT#npkuRt6|KeFgtfIW(z4d7fL-YyGfT#fiI>WejR)|c6rM_#&W+F_C<+|Gy!k81XOADKu?OqngRJ zeir4fDj2fvjZ@D)7F6fl5^Aro5cS4xpjsRjQg0lTRL?e+R}0z#>RtLuYPXA0>Y6;8 zT8I@^?{q|}9cd!eyYcDOTih9~_r>IbHm7j8aEd@0#!gQLR4+m_EY(R&md0jC;(Qdv zSmjaOL~f>(xYis)@}+m( zM@B9U@*pEQkqXar(6q?0+;_8&uj$JUbwZ!qPq&xrzB7|6^oi;F>$`;uZ!h`bSuit~ zTR8su?CWQ)8LYYPs-Bu&J)a#)cUYwPk;frR9(fpB%s-8iK8aKTpQE_Jy+wSG{I;M& zQk2K&MsW`=_QidDxt*Iru^!`1g!vk3bD8)$kT{G15aQ3%Hja1<$Hk~CV>Kh5P5*M+NBS9p|0qkH zf~3a@ZIu5GBEZMwk0XB|bxA7gq^aU4&5UW(nGS@Gncz*(7T%4g{sbVdcM_NkUI$aa z8(=D!2Bw1zdcoB33qAT4&56~0z z0=+>W&=K~zgn}?2HyGuHOE?fcO9#?}3?L)O1R_CZkOgD~ z*+6!X1LOozAQ#9DqCpJE17bm5kPqYsai9Pw2nvCCP#6>e62vYNKyi==N`R6e36uh* zK^agMlmq2K1yB)G0+m4(P!&`I)jU6X7^*#_EwgwyqM}YXzJ%A;eyyRyjgZcsG zPGMe<599}Npa2k`R|v#|!T?vz$_AYP37|Mg1SLR8kOX8&T^h&|yDX5Uw5-Er30)CX z0xrs2j~4h&zH#pfl(KUH~tGuAm#}4tju|pcm*3`hdRRCGaxn2l|5nU?6w} z3<4{`U@!y>1;fCrU^w^ydn#Drhxn&bc}c^m!8=RdC2He!)&PY^jdJUwHADHp1ID{<+_hZ)}R-QI=9_ptrJgD zS%}iXyc;Cz?;z!?T4zh$Uay-=at#rR2aw;brM(_o)0W9vcmIu%%Di;B9;X`DEcq}F zJ+|4-tQDr#z~+y`p|-YMDbkNzTSz^jFWy-0XYQGqdkzfBiM9q@jijfayMB1H+v3eA zKYZV0@qPON=l;X+zT$tc13f>IP#h!?A*;H&>*vE;lLz8&g|}-wW#NxMosee$9V6s9$U=$W;MPalm`vLK+qE;fPA18 zs7T%XAUBX5)-!-2AdMi5^A6&w20DSlhgn-6LN*6EuY$tl?Tg`@gn{-1)xjSe=O#`7 z*GYd4LP@WKu2om31%m&ryKj&`JdpIXYBcEN&GnVrJ2m>K=C`UG*!s~7D_84t< z5r0km4(;cI$FvbWmmL-}26KBYfNL`F5PXxD{_=54iFhAa2Ld>*vIt%`%!#rPbDp^qn$d?I#2vwP(xvGqAMMtG*I*o24yJ(*!7wlnd<^!3Pr)tl2arWwI0zvfh&;OQNADOvKm6Fm zm~tPW^9F2V9X3FEBG|~{A%OT6@lwzeM00$McnFvV&Vd~3(KT>(2iGN(i$ARg&X6t( znt_?%2IXhy{}A{UTn1@r_mEibxpbkg*3fX1wzVgxL&0dO*f|X!C z$Ip}B8*HY(Ltq*Bko;Ys2umgYNUp zV;=EAnG=a}n#){+X$yvd$V2GyLFRxCehf{Y zf?K4+;YkYPen%a-NA(Eo0^>vQzu+*)4SoQfKt<3slxr67DrgEqK|yd~6+RAp#JTAa zern!s_zq_7Vjk~f=LS9(8=pa)+{DX>H-Sj})2=e0mG#8|Lsea-4{77y&vkcX@03{9^NZt~)%e zPyQ#H@U_HW64wYL54-~Af>q!}&;pz|%sS%$YXZjj2i#sb@Px6P#YgI0`@ zpZcqjU2o`o6-);6!26&L^E!o0e?-og!5`okP!;;Z(WSksxt7`r9q9Tq=yfYli*#$s z7w5x&gKp3F8D@rO20Z-*bV0WLLGi)(BX|=}SwZ>@MXqH(rjH183H+Lt^CEZ)Jd=+8 z!DP}!iF1Lo;piEtN8Jt}h4iZQ_+~H)^a7{AE-;e%9?E4$=S1SZ9CrXi>2D|TR^s=G z-vVXm>jjQ)koM3v7m!^wWCxiOyLbiMMhb zPP!NAam4qD1HrfCmn3dL-e%%gh;I&lvf^m5XP9awL4V!hUmwIvw!5^LgttaZqL z4y*w+I&&Y7Iul4|Bwd$yAt+Az3-X7MeoQ=@I3IZ@NOvTCkNDg6tT#aqFdDoEE_Gym z18Pt%Km05q9!$Kl3u|)Hr-}O$S0e8w^%6+`K;AUsPUOud9ZY&VaVO$}W_ekHPtTW>-0qtMmx}CW8Ag&`xx25lW zq!U08<3|?YoyfDN1@8Zy?3+N_<4{{o#z*R97j4oJ)R1IRlJ%8;L%ykX!w(2}z1pf6ZUc@*VC zKnKe9f&Ao;BmXj}PkthK)4^}x0W@W;%Nid%0GH}ux5WEFH|V=T{d(km2)2>VO8hD~ zN4tNBdsFWsI7YfO@oG?;cBiOYoV?j!7HRpxwkxR3d2moce5M!oe4u6x*Pdu9PuRsFr|Ds+?^0$K4dNmr14w@Z8jvmx zEm>$kmiiY!74qv5Zv>f0M>W6>K;1^z8u%4?G~qZK>DNFK>G_~D=~EzpbXQP}^jsjX zWDIJ^btEVcHi2{WAwPJ3O1)pH(~9&N5Ci6dBb0wn*~egICG?-;7U*v&^sWwA!f`0F z$O&E}eS0c;Jeczj@f2`t4dYKkudu84!Ngt23_c7;mnVWEg|J-^TbQ=w_a}Wdo_h+U z8<74S)S@h$cq({A*=BH#@}k6pK^o8$OatmmH_&yQ@+gj901s(bop^N|G=uiob$bso zEsh=~q5EKDDeea);(tmoc1iRAyhVO#^2?F`8E8u0HQMwfKZyJlU^)49XmgmdSn{`k z7UZ`i|2Hsz{4yXX>7>%|6LduX*3%}K{9ma%oV-Z#CX@FK$U}Z0^)r&c43wvA5&5^l zm(*`h-tS;2$47xY0MNHTx&nV2fumYekuF_?zKda(MY&&=fRAC`tI5wn{zx#6GI{oIEoC0cW>EG!XhGQ@l)XXO zEy_AlwwwGo@)v-0lr^O65M_BO3n4AP4abo`g}lDRo5GN2erw8~Cw_!H^_lDvhX?jpy_IlfOE$?+@XA0$1FI5V<7$~Z$9r##0UK?3PQ#Erq! zndG5|C9sW4;CuK`oBG3{uL3%`50oTt6Bq=hQ)fEmRVh!Q-6+a$qqk!yYr&XxL01q$ zot|I`_1aVCd(ehDC%}C0A^ohO{CUcwC|eBDlP}NCo}j-K^gR;VqtKW zL|2mOqYC;3&nH*L4=~0i^ms4$mb~obwFcKfA?nG_jR(np04kAp6oiu36#NZ-0%`EW zOX%lE>J*~92e=0+P&O8vBtMkndf*F?mAnpMHEp(0wwb)+9M2(MNxTq!T?J-SK8y1A z$lpf(2;zCfHwSTkXHF5&EIU?J17E$uz2rTt>!+jp=<8oo(c#AMryp{sybqACLheRP zC$RO5lkgLRSu23AKqPG@VcW7pb5GiYa-0Ua+$}&~ThNIB_)GrnXV72jf3%o&uZ#tz z0l5eHMpp9afBmKH58gU?dGYC}f98C5?U`DGI)2|QIXXk`v_FTOAMos!VabO}h1FV_ zlIwBr1}RrgR5-S{(2ALN?(R6+WcS}QCsnCEcIm+*K~?jPocZJJF@I-Ix%%pwprMz> z?0s-@LF)ZO`uekquF0D9f$Uh$}NI6;|rD&7K zOCS7FWns$V#K+ff?b&sH^vt^tNAEiLcgl*YuRiRPr$L7<6%UQN*QUVz&-<-@>#y;5 zn|A%}a^90sIht(?I&iaP<7zV}e3W-&O5u+}A15yQEJKGkQ&O&F`>Rg5f(uJE$o*dW zlmnM*-ME(W`O#nI#I#zn{8m7Zd3XNGpPZ5=!{8CsN470h@S`dfj#Qhw?^@l~p;Jel zPFHPCo9rViEct%kl@1O5{_OMicji^Al$iE$&eJ#MT&;DbdGcR}JIqV@;-{3*&xUR3 z@N=~Rk1Bkg^4YR_^-c^ZGa~1`jjyLv8$9)Tt{+lT?%a>au=M4WBafHHr8Kzvpi`?3 z13UHobNc9|qZf?6d;G!u$NT>2_s^M2e?|Y(?&9qwkE2WcSm$<^$0sg7ifK1uZ$irG zPexR{J>+1wchdcpfB4@ox4ZN3>*pWmoSstd{+&L%-@UXVJf+H~J*rOrsYA6_?)P|n zDe+#X(~lbs8ItG0BpH;7I*mg_|(UF?oG>3=|O1X;(0$W znenj3x3B!(W7JR2ZN4-)&s+aY==XD$1<&OvlIh|8k;b+S@%O*In`ZdzYo%xJ%dvF( z==Ejr)TxwX4zX#3}#*uD)4 z_Lx?$c;N@%jH?j#%Zl>z+r>XDG@)GXmg$duHgEoGw_aM+Y2w>U-W|{{_x6;~L8FEb zL}%9kGlbzxB$bh~zu_@rGsecsOD_}5(lMO6jUY2^`=5~-5(13sV`z%)$@>kN#>CPC zPC1sIg3^#O1GQLX0F25EPxnZEb*u3IR^&52GqGm*pAb|XMvTFitH1xCp$8`ZUkn+I z|Ac_Bpk+++i8LMQuI`)rRCSs0Q?;a3#vsM{j7F?_J|aZ&2=?dCGFi``A*59A=Y*>l z$fR}vPe{h_ylgR^lhyC%;JfkJp_J-p=%l6uc|9_i7J)o3C)Xe{run3s9+&li=l?(N z1T};M|6hJ5sDVXab|pLhSwYK84qJ@1T$@i>dXE2RzY~NKtEU%p6X(a%uz2FB?}z(M z-PSx19T)p3Y4M6BsL|PlCofXwr1vjc&tf)hW%5(^Pj@O*#23iA+^KDC>siJTYn^40 zhaR>w9pARnaSbdrl$Y#(pX)rXyl8&2&(m#X&e^PITjhGnw{IywXwfCla!I)anU{Wc zHofvM#nkf)_V&6w1KvV5NcyI_bN}0wui)C3xuv!BEmjrCaRh#*JhKZ&j-kA?8pRs` zWyqW9hn{p6J@WgsogSfC=963Tihk!g^Ge?LmunuUwzVu?G@u{fa7d`k z%!}6K;+&R;`EGWhX_-sk-RaamSItLxYFjud&oS7`HLqkNF`-GW&z;I^DqbE5tpPuz zTqI!r4^XjOmy{x}lpmhRRv>fz=uc(zNA3wajr*~sAM#wLIj$*tO?SA`O^>nOg(q@9 z#;Nc9YEIPyhcN?f!!j9pUsGmhdRKYMJpv1kQR@uxv9dRuQ-4{MKJ^KfXG)yP%UC>? zXG5Lll2*;-s9Kuqa-l~*vo4fmg^pyGxi<8}|Mc+xFzuY^YGnC;xu@b(UPJL|UZ~vj zbt>O#$w;2TvX^V!s{{X%z{h^%Uj_NkVxIQZc$jr$azBRmrQ+$MjM}TuK8Dr<+4Ly` zeaLe=_Hs=_X~p}pMms|?gc+K5vk;|#811i4-D2eFf#$U0SmysseT z5=?(!_7bXmN)h!tpHusd%4Zx7m1iXF<=SUeRCZQIJ^N@cH^<;UxGFb)$8aj&Y1wfI z?DfZ!n&VQBt^2NT`3QLq#HnvNTgd(&Y3VyN^ES^OiUsPQDN(l8!Y_H$wOBOy1%a&m za6EVinE}5b0B+RdEBLhwlr_HeBd4s$NuD#c)1!GMyTgf3lHY>t<$69lEdSlv#UEAn zqXRY2f!oMP`#R}U#tnelaK_98-DQFNPV6-H2J74)&#~IeHSMwmozOnOg*N#u%HCGb zYrC4)moLe45KiUkEy>*R!_#c=RDPd!YP;T|yN@3osb}d(Yd?Ie3E$+|V5h!|sW~Hc z6vb&RAHWr=+@C7ORp52z=A^%}UXkDSociCU_!6%6WB9lJ$M~_|5M{shHl;b}JichF z?D1eiy+?6+Z;r|Avku4;Mp zex-d*nl7IDP;|xk;b#u`DbJAD+iE-i$dbj|er&O>WsC9~xKsPB7C+_L1*dY^{8Idx zJlpS7UPS3igh%#+cPdY7>FOF6d6l0{;Jh)zk1T5=OL@0X z+DeeVb=zQNzs1yZVfMZ?Pt#bk?8DgdV@z-=iArz65xKIJGo0)vP}V5zM|L@pojljz zG|m=__YM5aKaly$^F>Z=*IIIy_br^t3tN6vo|khf53}SV??Xzt1atnT6oM3wI1Bq} zA8PUFeT)CPz3Pa6b>aVBKRQ{*(#d)7#cnI+$g*bOc@97PjDnx?%#_odK2$u}9K6Wl zx2DD1K~(ycUo;YoN)B_9x*^t_y7-Yt5b{{=N0t$mEalx7C)(mIJCU!n%bfLGHH~?h z*E}Cx*LBix$0U%7@(!z$tOAv+!aR)}=0%r`XRg8y__39G$V#4}aiV*(H7|Mo&8hqY zOAqBc5KiSm*4VH4;b|~DT?LV-v9eF$M=XB<#G%YOgW7pTHb<3B+GRuPNUTn-YGoHW zxvnjM7l@~qqN#qdDy7z5<=MNXqS4n6&kNDd8pakIH@%!`>oT_7ZBDOt5RGIXnTm|? zQt`FaO=qhc!I9Jrrfxb_H{7C1C@Mw{yA0y@E3#9|596HqQ`@qIvwmb#AKA#eQBJ%q zWZC!zpE<}r+d@|mbVVq-gr17$ODc=HQt0DH*F;<7+C$#GmwO^w zrgGm=_#t}nr|BWF=!uU!n)%dD1Y4Oz2u9=_I~&EYB4?_4U5uaYTT; z^X*hFpEePlmpu}sT!LLUxEsvh&JCH{m@<+wduW6l~P`9Ddz0dugI_sW6E`?wgZwX1aRgI#Ww|To|4bp z$a8y6lMxAL+`otE&EZ}+iIJrp=1}O-Vd;sYnxbM@oR!*=aMf$$7zjN z{&?Qpk8U=xbn^!np2>ULPGiSf@|Ha=>^dW~i(W;*Q~7l(8W;=w>-WztWB2eQ=O)Pc zHy#`a0%XreCwr5J^W;4ar?&4YUY7`z?-z6^#M=F+$90qRc|SNgHrTFP!W z8pU1algnky+US7OnC0P79+!5dUB;7lr<{1O%#v+>mwp%fk!dqzI>irfKeEmR@h<%y zT9=w8Ew@l*N5u@;hr)^GXiHxbT>5V1!oxOx%ESheT>6xKuAuJom>(afc->}}@MHpt@fF6eTyNx7Fc z-j6=Xefa*&Rr=LIt|%m!PflbrI=Ijz?}XZE((?J!y0(-(*zDzczJV6aQ(Wj8;v)lT ztLc*WyzKqzaX++dx(a-jbF2<>??^%@*F`y%$CYOYc_zze4CzOL*x3a?`tcn4(cOh7 zHGE{OX$w~}u443bX)Ak-rJk2u7m8dH)t~HZXD`?M46yhq-&VDk>#=KC_9E{KJC)y2 z@`?zU;KGk7E@kpApHsgdSn`!9xoq(fer$dtVYo!W<3>mhj;(y4rn#rHz+&dDdl(zmCrStc~uLv!?7_Fc61t7T$X zJeNH(?dvS@8PZEt#r^Ww)^8yzUHCT3#Rg;#Cwt$*6X{!?_6=3{bj|n0?euBBF0lA2 z`{mioHT}VgZ@G;HF5~~`qYKhjg6zm!U_$DC^|;lQeT8`{!8g%G-)rqa+6JPl0bIWZ zppTnec=L;;Q)*EDX`PT~C1W`D6nCa!wUT*6z%rM)-SH#0Do^D0SIBM`+Q#~^)tpK; zW!2sQcD`%=%vW-W2*}sgS?5}ya}TX~YkkyhD_h)@_hg;=4zqOqxC`Catn-ZSTk|#? z>j>v`XSWfryyMMxiG}A%1I<`;@qKGd+0Vd_1^;F+v z5M&SbB!0EI>W3~KpH}aKJB_=_;`b|-KhyG19rG^~s%2kHr?&EBuk`)3i!5ZnID1>| zFS09HlvVp$*vqwU&b9naVWw!;Ax&Qp2rTm5HXhqdl?kMmMu^)N0LSFJdy3^c370>sFrnroKu9ow>Gcaam z=Iz82p-1-3mS4}cpOjd5RR~EH<~Oqhd}TpAzC5`qPpuC3qw7^IUB8EHWez%MpJ|>) ztEjz2oaXqpl3!R*Ef@L8-hxj2&8Boi?snkwnUB->SrzqBY9Cqq_*%Xd)U1Ql9^y{? zCdzSd{PRmBtHHCfn zqG^+NBEvcsAA-T1{p*5t$F03AK8o9NeA;Ij{?kHe#g&e(?Qu+)Xoc;tBh%Wy0xs@ zm)>43V@i1*dWtuG4@qC!dA=E_Bl{_9ISY+ihs#>?k=c~@k(HLS>1)jWOq|Al&yv+4 zAAW0DiKK_R$g#Q~KIMZ?aqy`S?ep6BG{VnZ%BZ=RZ=J|qP)@YYvFvDtA3JJ;9o6|4 zKFHp$PJL%q{(#^6p-;+n(0tVEY}v!xNiXs;-~7zCAoGp2&G!ozzE1Yb*LbzRj1!&j zTJn1CU*&0&^9fWqt6{_u$~ZgB`??WheBjuU#ET|E%_ewqdRTUoi5B- z>`VvqyYzCd5N{_>?EDn6$&b%luHr@?CMc z&yr+(6C(R9JN3htOBK&#Pkblaih(b&@FfnuMBDgs!H+DTN0zb&jeRWbkJCc2+(p@D z*@yQ1x;#nEJ4x-=<v4%{k7d+%6CreZMCmY3m@W*vmxV{r`VDXx@}hG z__rUsY;D=)KEE~;qxLLv8n=aIL$WuYQ~8@#xqM5+sl24(iTSMpr!`76^2r13`H@d< zOFnvylHG+*viG*rco{8y7~w~T9!rMuO&O>51uQ$R@)iBsQM5ZP&)lUUZwnc!?78XN;6pHJPt_7NGVS7@ShS$fLk+Z|5x z5Xy5i54kU$(>4$JZi1aJS`UgV-jy&8qu=&D=;y2TP^b?N=G9C-u0tnGE?DG zg3CO%x$@B58`Dm=9(#tR6E%JGP17xFclm~eQ`;=eROb4pAD$#w`ZUImE~U40DaJ*1 z@?8}t`Q$`CxsZ>1Z#joeK4syNwsUii<~IZ5k&& z=1>+|g1(EfF7(=~>__QD$2&?_xt{amzy46aKcx@d=0b~n!%43_Oj|a8smurs8K5K+ zvCxwyC^Ze*){0qrb=p-H>;{9Jo#v3ml7)Ob!l^u+rI+%(D-{gBTPQ1?!?{lKV(exuvz-wPAdl@>>)y1N_D)VxZa|Xuz?q7Iv%ttO- zf7JTQk4&dq-(7Tid1mRp@r&Q8u`e10LmuN5UV?Bl(7n9*?e- zMwmR8D{Wc3mR0+8I`Q$b(oy!s{1;xG^5K=;p1yD?E0^djzs1US`UJ|Jlyhy?l%U{ z6}ZUR9y6n3a?O(yKFW?w+8*V5VNP^ZWA>q(*W~+@_HwQB@fIIs&vSdZ*7@6(ZiGUQ zl@rkZ9d&(xv`z?i@*u)CYtLTFh&ojVt`G%Vl4+|(+o>O}RJC%1* zJgylK^)Gz9!6&?qFm5qldq4UfTBwo8xg;)^dIJs~=fZwq!BGg|4EEEAQ86Um-D}c z^wEFaMt)OCtLd&Pkb(wo< zKXXsdj59)WdP|Q=z>gd*^gn?A_Ic}hh`y9};YmK9J~h8&ohkdyJIyQ3^2LMw@GQ>a z**h-tmhVP5^*u%DBHv7aW}#ivBeAT7(!rMu@I~Y)`;R;I(NXmg5m4A?Zki`z|215A zvU7vkFV$4gIwtoo>hc7a&oWo@IONxxGw71Jj&rzF^Kr(N>m(iI?Oq8n$^*&H7$xytMb$S4?0l7RO#0Kq|MbSEKJ;t8 z$~kzl&)jv}e3njRigK1&CFLio80TI3mhaHYwTFx+G7)YHKf{@MICBV7dLh4=$gjF( zj4dv_T<%AA7ATwbsD0S&JdiPk2bC<{uj0aI`Ob+`+t-y|J`A|%Ge@udiyAv!XqNBP z*!$JI4Z>E%Uguf7hfEbr?#MNlto~w*AN-EXRfCUQbl+)}T%wIde&m{0$soZv;6k^2 zFW64E=4D#wlIMheaiQxwKRzgrlEY}@H=nkqltic5Q`d)IdfY&GCHHW)`O$$6mJgC| z6FbqJ#-jU_%bfpop-aA>mIoK4T`mg6C=h;$z+gE8@=!`Sh!K62slT{61wO zO9^7DU43*!%Q;x-i20o{r}<9QI@s=MIZE%pSaOu_I61YSXRXuU^y33}S$a~^h4u)> zw(~>JS+4MI_~B)4iYWmwq?;p=pPrsi`Lz z#k12adMh@QQ}tcaNPsW)axLedEt{I|4O zxbQ)~>E=s|&^p($-`&jBZb#Y%#h;e;GmoFFdC2z+o%$Yc=~inO9=CHT%jm;j;h)f) zL-CjIr}@yV`75^H)P)yW=+|jol%0O%%mk~9^YGk>AM&I_RX_Z=W%1*JPg_lw_;>mK zrW3C|Ryq~oY3V}uWuJbvjD#lnmY7q&&s#F+=ECP*E@d$=!HExY{$7p#I+clSw|AMx zb>`uu&jDyMU&MQ&&-v)wX-?TJ`LFe3KOv0od161UpK0hvUOy^%{S$J=k4&~%zULJe z{&aPjr+mlLiT-hxOn$TEsr7@&s}Kwa5`5;aeM?p~_avjGpE>EI>iWS5N|Lu_Lw ze3NG=bzVB|Oo&~{TNq*)Y1NZ)#SHnHj_klKJAzfBM85IpG@rLEAM&ybFGjiW@TLo` z<$U-cGz+a+6dy{&PIl?{ML#^cY4Iq4&D_Ng=%DW{n>)1?<+<$g>RYx>bKYv{#&DN8 zhtR*=bJ6|kam?N0WYrc2iU2lIVl??)tkYOymA*s-)b!zn)``rD7tzM2$W_`)F!`h< zEazFCk8$DEc$ay|_XwTnYHR87D}MO=y~StwF0fPkEfx06(dcWdpU3ggA zrJa0N-f5m!ExS7E(rAJlY1BDGkMK@`qlCj-Mj44Z><5&G8EmI<)e4{K8f%t z37mo^C;3a;9e!kW#gf$xADT2Dr02OlI;rQHQR!sbSowar@Iuc~m%pa;{jcEm7B6%; zRaFQ<#y`4@E8mQE>UWm42KmLM?QcG1dTj9v7hU-Di61^)w)pfX{R&MwXc@?FQu0jE z8hGU-1G(C`;WBQA0nT&XWa(2`?8TQCLPI)M*Rq%AKdyAe8;^bX;gxSO_1${kzQxCm zQu6B_^0N!w=lt;NlH%8Up#huR_?1O{&)aG2H!T^<_qv_RH(GqT=R#XeAD(Gn8liZG zkAXHPS&5G9@}u(^tn;^gW88_Z4HjJyK7D)nUC{W)h2{o+Xb!h%o`fyQ^^`v6kW?WI zTk@cPfvjUA@S(T-$mOD?$B{nt+3iEV$?i0_nU+k3I?P>&SZ~e!S?1t$&7D?J9>#B{ z>{#zI{s|Ww3Z3jsTYxoo@4C+ABb6@CdO5etxOsib>@w@XoYI-BR{zai-$WK^7+Ic< z%EsMlc|xTq>&_DFk|*ESD9`)iNybA5Sx6@rELn7+Z>MYIO!O(%EgVat{u}V!uCJOt zxo?vdzSzsOJjM4H@|l+|6FtA}N7geeS%2qa2ik_xD-GmLrS?zrn{JKothpt)j6KUi zkHqh+Gi4c&)=%Hx{x90D12B%_YR{d@$+FzLaXELn$&xI|k_#X=Ft}kGn_~NrrL!$8 zOSXy|m==2PHMGzPkOTth)KEeQNk|}s04XF8;13BQg^>1tZ}!dI?%ur7Np=ooopxs4 z`@ZkJH#=Kyk8RI%*lzaaAn_&KbY7R9KTFs1NmKg%Z(E+{;H=&-jH!0mKTpWBQ*@ra zo72yNow&Wh*gtgS_#*^~<%x+muJ2)-sZp|LK7Sw4F`+wo>AsNRs@745mkZjGqIo`TzaePw0Bf+;fwK?^ZR1Dl zkI_QjT+Fq8uaMLGbWY=%x}fdPSld@a+M4-k80NyK9XWZDgU`*-%+JTzB+cG{KU@9M zS$T?Q(qZ>@huvC%=gZ9VF2~pr0OZF+c&YA-I6r?2%>HL&Q+?4reEG%<&wD|9^v{O`j6@ zpw+`{H2T|3KKA5%Tp{Gjg`6vYaPZ5yIcVF&X1ex`&+0mGZxM3hCC-Vr7u#*`;T*i& zVf!UVeV*=^pL+;==+jK}9U#{@eEtYN>2t}n(jXmZg+Vnz&vm5l$>n={p-}|2YGd z@tKg@_jBC)2zaJ4o`ev)SmDOcMAKxSjg8Z#(lfP?+C&6WVU^} zkQcA%ym&HpPsnz9PMoHGhZw}5xp|rAMtHLkt<4Kn?^b(W-N)E>3YuQP_3%$2FL!fZ zCZH?+*Ev8qOuZFyykc?V&TRSd9~OEoNP(2 zOTtMna}K8f>o>YqHe1kYB5U=u19x0K5aaW8Ej|#L-D;099p@|;Fpgu4k3fHaex&QLk6JB^9m`|i0zcZX zhtI*p5ZOGO1IWd?A|Gqs%N;p5Lx@iY$LAZC{D4dK6V8v3(9m|hF$%x=I2Rn%Sf=BB zIj~06aRR3?%xR<09_RKi39(qqcpHTAqj~%)N36aen`H zHwgL;gSNx9zK7!pKtbDv2OT#Ri+(HB9w9GUS(hyW_Z)DKrnncYzYF@F%e7Gv%1gA#OeJH<7o#gBMDp$7%bHLp^2TT$2 z1S?UMQ=S=rs_}AOYhEH~y_2=x2MzrBlg36hUasb|hB`6vk6GtX{#4?wnnR$Cf4s?o zA9DWv)sZ9L7PO=D;NE}z)j7cD&tGGo=AUI^j^Xp{f-Z`6xme(xr{i9(9&^-23=@x^ zv(b#6beRjy?iMuP!J5yoXht#nK5O)%)2?bpMb{DH!m(0FulN--a$NVIZXTiCxl#S;aq9r95;Dy5amFh_hHwchh~1m zH?`qEeCs@OHDgUX#gTMgCE$LZaqky==fd}|9C2MJ#Ncd>K?QKx^dL+-g}g07-fk4| zKF4_fE$GpQ^+*ci={b1%{uV(m@6(UC9wo%8nPas^;9aVD7e#yCVvkpE#`j8SPD;nC zP_NVf1sFMthQQu9CF>Q_V~n}F>T z)yIN9+gYEjfvTj20r&EdxU27!Zj*0grP7lhoRYoDhI*k&-cL)z>) zOUH><3b>x(yed4>9=9geU}e#|jI59DjE=16-P9P0y%%?8b*a~-i?0L(`(W&; zMhd(N^!|xrN9(h=dR*}F1pBxi+Ts6|?dj&YN~jWCfd`p?5c_fAa2dym^!1#Qn{ZMVQa&6Vb5_VbiibMW8cLQZYv zn*6??+vBX;b_f3T$QRo@eW#wMmFjSeeO>VT9qsq|*mDB!>6-Uld2^wiKi_HgrsHBf zg%3)ScH?zsoZ`T6tf0*nuD94%gYofVMC+#U@G~C&;XAoP_S3mLRV@u+G&MN@$h_4T zWv@~nKnq(<(!Tma(LSER1bluCjQyU-G5+jF51<<9_UmaDa^!Mk#;;0+EtuUfPvFT=IA@0@juW9&zQ?$fmH z&&P5$X2y+de@pAWId+G`cB7Dcq<4;9%M@aDU#fnE4Mqnv0X2Q=6@A)>a)Zvkmn!e` zF5iuvCg`2yx#V64o|_yw@_q;d-B(T+;y^%%rt0qtF2{_vz2r*{A9D~>%5(EFb0MAm zDuX?sr)131CFm)XRLXhxXt4*csN&fnGG9kzfBS4{cF+&qLoF z#2^Ri=OPkO#3G8^i^5AD@D$?RQ?A$x^GsjNGq(t_Y~Z||B*fqw9P1Yxesds@xxa&W z(OCu3bp%k8Vk31{d5ZQ|pXLu2@?omZhXJu~picbprn!mi-NF0R83NX?bH4Ndo?y(p z?4Sx~29p-^yY715gbdB^VfyZOa<5eN%U*MRJ3+ZHHHB9SNt`b7-(-V9?2x*jF zpNvv%4$j4b&!Oz|IU%;IbZlSFe;At3oZw}zcN9i>yjg4FY5#Euo9RpY=TjJ)*@jK} zm5Ui=x`1tn#x_;W7veRA|R#|v?Ml;ijWINNfFa^PPMyR$-ky!&EkokDd` zuAT{LY1T=}l$N+>Q;5egTx-!=?bz_qF11F`YrocO<%HS{d|p(FG`?+#zaW48yiJbv z#@v2}kemIHo7)9Fzsh=k8nSD0fzCzr1fOutQGVrPRH=^y%~xv8bJP%r=9>l0Cu_}%qHBO3|EKE5?0acXnciFD zIw1Qn+F*!&MWMnw0*87Zhcks3JfdUJEBYX6#inx(zA0!DJPl|M#@^td7}X0g=$DE? z;f&}KyZsfMw|5BnGXVK>s-WSiTEj2KJ_dh3b~A5o()=scw?o`adlbwj;^!Jcn}<0+ zpA3yB?vx`D)}~G1-&gae^=v$jWsenO9b>#y;8@Ia*>vdd=V&n8&ijtxg1*bOz7NHI z6yjhspl|Ub4ek>(_zG*#2l)MUX1+uAB#ob*#jVuQLanaDRczc|q~?HwfBx|2(8GfN zFKhqT<-7s>#=pm%W>0z+#zfrLJQ4rldG&&Zr)UkIiwzIOz-U;kIpF?)kj6%%+n_O> zQ~jZkqXW@aF6h6E^Ls6{A^c>MUi6#Zt%Wkj;V6ur!Fnz7$QEPzR)ajXX5|xtMqlC> zy)S4q80rks8sQsQLK+y3rCNhhl@xFu3xw+!=Q>9mzbV9E66f*V0>@sOW8t_T3LGC| zj(-P7n?@rvKb#Q>@iQ@=!7*Mg#AzwVslmZ5?@@aW=EL_u?O&fOx7SKYdI#{9JpH?ZJ!A_JqS7do`CBCj>S)fSnuOl zKgqFX0dQnNcbd~2K*#AtYAIr6YMQp2eRqkDl{csKhvv39gX(>kgI6!dxCS8yj@CI) z6dmFiyU*eCN+C|G5vOB0PQMW}JCrs1AvE*zHS-0XxA>b7k1y(Y6h-3>+-Ey*zvl3H zfn(fBh@Y(%r*o}+Byio!TrYOmek+8@>?=r{yoBBF{aS}RV|NL0ScN#O;W(ToKZJkM-MrFu zHB#?~@i7@|T;{Rv!vy{AH! z*!%p<^+NoXaQylT8tl;;6h&7!IMRty+q@J(gsBdzRXjdj(C}W?aDfopA&Bkq4&T>= zG&K9?DV#S?K!1PDnfA}aF0E0<3cTlX?E8Qlou8weqp@_S0L{vU;6>Tk7wqUaohPJR z4(_e0_4&e|32|JBIIiM2J|@KHNRCgfpx-^L-^mV*MuG#)1L3-fVr#j;e>cbdenH>K ztnYgQw-w-a40CIBV0#Vm@z37|BONF0c8q)5G45DFtGl&UQB@-7kpmH3dfb`w zPa%fO5yO=n!}A>YFF~6PUw>ZXeJbFuWc)u4;WsrpiF0hdpwBL@(RYQIE!Hu6Gyf(a!vA@8-g88eX?D{O? zx$j~D-xoB#qR3YT|GnA&K7oG+=TC{C;nC1=8Ebfmz~KhwuuaG@+5`So&~Jj#Pl*3; z*nV8#c8KQIQ{5tHbGw(npSx7xUc=m96zmUY?MejRGnsd6bTD?NcIi%lB3wzBFKBxd zv|Y;DjuPU(kmLUoV6^QcsJ6})bkE0#Y61K8jQz`kcDH$XA6+3}Ujpn$GxpmAecM^z z7lhaz0t~-)@ERfLI*xPZI|BAwxn_?NxR*2cYC-b_TJxgF2M%mE3!2BE`7wguGWPpb zL9c3)j{>h-nAdbcm$9tNRv~6bB4$T%%sz2&I|2A@xkmfh_k>uE0JonAxNm0M{|xyw z`;&<{wvRmK)ev0hmpMM6wsKXXo)a`{)0!Qg|CkVu0x&sT&}$6qwN}W3`8p2@R6elT z^q|^na%lCApvUL69!1eJZ?o^WjzFB2aGZLDeET(PgKyiKgT955V%6U<_Comfb24`6 zoZ=A2xP5}p>)7WiLF+hc{k9OtS)BWy2%6o*IdrL@*7iZ1dr zG3#$gs9$k#8{@D!A=GBZQ+~7yxmD}UG131Bd~eiz=c$VXz3H2pD8{$mX3wET(BlZ! zV{0fTW^FuL$3&^W2r+5pm|P`bn86rI9sJ{hreiR+3gc|~Tgdy}z9-q+Z{S?GNx*e2 zUr4aeDKcuVK?~mkMpDA!33w+lKd2u-J@5c(v`)zN7_VU;7V_aRoew*6-nh+P=kpP>g&eaN1?1@vDOGtJ!z8pwAA@r%ghPCSm-;0mxy%T4=L?wb|>yzDCgH8m&uR z-dT>ZzY}<0#k^k;;(938`Qrk&q0DWgfbD9I*-}B*3f47pyFG6Xhc@$Bo4Kfg@I0*W zx)EDx`^66ap9uV~Wd8d(u4Ip1X5UCxxPBmTAHv+PcKB^MDHAiD54wtVSprVB^RYK* zPW0p_r8WxMwXk*<0DD*$^6?1Hn$mwahwzy-)I^*Q{kgzxFmt;#G}gN^jnAv0&V~pv zI}9YxqBRA&p64>`AV&8QS?E_*uJ~$W3SM;a8cyF&N7rdh zz3Z(P3vp@YI+`lzb{Xq7_-MN}b2(ohb8xs)@cj!O`z^=Vf_Tuc$(ICc_ka+y%XyA@ z8n$io!^51f=Y{goth=w(+9`F5fPK5x?UC4^5I!@0qsE8Nt_ty+i})SN@tY=SJBRhT zSHSRwZZC>nEpWJoIs6XwV$&d|CgVRmXGPHH8rJA2AvZ4N+!zZDY`IVOO+I~+-S=f2 zpNSaj$7bTYf#aJL^qT|y=COWnI`Zdsp*F78+7x3|if3dy#(xsh&fv?3a>e-hx)7Tt zogYQfwb0I{4b2OSg}Be=xX*+(wy~t^dk)MSg?L@U@tOs@HqFe*xcv8ecDUo1k$uG@i{G zZwYB^IGn(9^W_4E3z);(f`(UU4M(cegcwwF42B6D9$*e}q5X>-gMSJdHM0E)!ub1n z{3C)!v!GE8Yc#mdo(C6koIVmXxLj9nzS<{fd^~GBjWH^`JpJikrLJa-T0Djvv+<+( zzeLdfLaqJcoUsDFM#guP5dZsF+ov7AZxXnzV{V(i=5aIU_yJeH^0C*8;8`azoO5|Y z(6|yB&ti=q7GhYXV~FqIfrhsIz@=J4rB(|Z?`4i#fs@8lcF~LGYI@OgNNNB4l0$>V zg8mn9?l*U0`~G+^w#GMoin&UN-Bym>s}5Wb!LCh{wH%xO6LhbD?p3V&8xH#o&=j)k z^J!F#bY6{ebSN|}#ZNhYX5!~6{Pfay3{6yfJJDjRqZWVdz_L)#>GNFUGeY@c_QjXz z{3us1A8psFlE-i3`~f{MHUHsR7@C_>JJ3$&7CpOOJKZ-$PfVVHpDT2~h&r43QxAH1 zJ?V3{#rSVZ{K>c-$FUr<6vMb!O!IyBRG7)ejaHi@}iRS;!h4g ztA$u>;hfzk;1~q|)A4he#xYD?2CZy!UNLk#U9d3_W2fQgQf;Fk^7jxWqD);A@^8i#W9EMaaq?p`ZAJLx_&LDlZ!@u`eNn3rzwDizYyYQw4smnDvDY#;m`PP9RoEq(8|q8oRt9b}ncKNSY|iD_ydSsgx0>~T1o-^tA(7GZ{Y@YJcUCQA_QyF6UU!1SeZ9pU1U+ zmJsU;IM%(!1jifAk73P^65>4r@h;<8~Z(l;ODWB3_`pV9a!!_V3Hp?%#S9NgX%aOGj-Nc?g4K96JlzF;SU@x$AEUXAB8Z`yh7{X9QZy2Kc{O96V*JSZdP#JYy}3JpL2PB`viV$?RPWB z&k4Fu1Bw#Xz0cRv^9^M*VT}T7UvTM(GmORf`Mr=IXL5c#CB)=hj>$<&?Ko#}{l6i^ zVk)-}1x9IpSRKkub6*4Hrhd}RC7y3eTvM|Vyg!XKDiqrHbNh9IhEt*8bk=Z#5Xa>l z$JYdX&e8gmss6xV<45y{+GN-64A%ZqN1pBzbT46DhYQ?KW$vX8-Tx-UY!k0Hu65vw zJNP~%=sg8`Ph-8?ptnu0BFJ^KP&4P~nt40&p%9C+ITjZ}GqO#&5`6Vh^Pq>V-sl>3 zvD(}+REX8-9IO38o-E@$nE_pF>#zZc$5i~B!f`2@Wydjv<60rup)>9i@w1QZJS}KF z8Cp+et(Q7-V4}eHH0JwXLF>_%smMyVqNySuerd>4tJ55C0?>tgTo=tm1ScCn3{gqSbom_OsFlR1LE`&r*f zLLSs{4faDp`16&xQ&yj)x8|!A0`?BZz8dYeeC&z#arkN1{d%c{L;vqP_-%EJYjCtR zIoghAPNsgnd{OEy=JX2i_%$)@XY)R_)nWUgP%Mp}N9$M?s}F^InS^|q%=t1wh{>58 zla)fuPvw~Jb>KTp$cM>1FP!ce+brZl8^`zwf%{R+y;9(H26)kTFC+wBr!cSo2-;1A zcEzmSIS%~0f#0@I=!Ja02;K`4YmEz}gjJM@_0eZyo)2emA_s8@8 z0mJpn>{@(W?4k z+h%BIi$5JN-|pajx!}8*eaFDdHeY;B&lkzaUx3Z*n+!Jk?cwUDwh1wv#x?m_XuMg! z(y=}<+aSdJG>-X$4sH{KoEwjvo5(r$hfr+HoOUGF^+iJ5_j25$%j~*SJ?s;>Cpe#P zhxWFZ^}^T!*!AmfaP8ul--EG6cQ2p3O5DzI+ac(-U+Y$?&JnN`b6jo|c<<4?i=tm* z|EB&;P9LNF_fpZZcKk=Mu8#`iSMvCw%%5_JUgntF%ZdrAR*3C5#C8J5cDj(eXX)I< zc{l;X3dV4spuujf!BrjC2pVqW_>Kk#e|*i{M;y)(;&ZBwPnCK~z_y&@JJDhL=R!?P zfsQK$-Nr(<@vPe*A$E&7b}tCnmNK?S1>JUW&D<{NHi>iZEeHM|2)-Av?_WE{z9Ni0 zoa6njW9%$J?>>m-`;KvSg5I=x9>;o5gx)|8ar;M9#1Gh4Dx6_}PdDt%W>Z>GSyGpngBD0etAsj#(pBiwvFrPSAu>Mbe?_~J=vkp$Zy#F(j0%L zgHJPT`g7LkIsmHCnx&_M&sc}g4MIGIA|8Ew@#rhWwU*<0zA(3(!E?*4LOe$yo^g)n zV8O>S_VK0=(>)y1Q!N@n8daw?Du|2_?62m$Zh{uJwOMbi12nF;$Dmc`#nRlr33+iM z&);JO|4W$Pc>?|hjlU>zq0nB>Ij~!ZB^`+k%-l3j@8FPEOv7& zE*G$F;#kZOFsxz>1=V(~$Me46YQg?`PpfDZ>`V1MPKe`9uJ7}pqd9J)I-~Vp6nQiX zI?^ZX=reZ9P*b*gEW|m3sd&iL^MZyWpy4Ri@K%AtNvzRhj`<+3R~jSbxH-1m#roqk zx2kn$aD~8;o{Ed_($O5(3LNP>*XUa*?-lSTI3Gs~F+4%nLs9f82fqge+Z(m*dFp5f zx6cdQMu1x(bDJaNzz)uVguuN(b04W55%6u`*sXHld(pxBmqOmqQ&vZE-ZTpH`BcRG z5afkFFU|312j|7z&?dM>^1kz+H?*Pe4X4~L#|n0)5WC}fE_=nnVTqt^3v2rwXlJWU z+K+8?==M+scJF!iJ%Krv!j4B6h4eAUZ&OiuEul8EW+3g}aB!L`=-SS@ZgJo~-Qn|_ z0w;Pd#?+Y@cDrp z;A5NifxYUT-aKq@(Qi^_7<8wVD*asRu)ki2>v6iyejhtW@P9IMY!kHK&e|^(^lfE* zeJWtQ7Pe41I^PzSj#mwvBVFH}v(_j?swbzlQ|> z_3Zx{Xb{}jd;80QxCc51pZ=MO-!+KU1%j4ixDEz7Fgz+?*u)s}#%1OQ&Hf8@4JdW0 zpmB@VxKu3=G#msChp>jj9r(T_;HzVNqeEj&p3qvPcL+OaPuLf5{XQhb?qrVLje@Rg zy&R1^4Q&3{8sCsaO$y=i$9<)s3BKVP-#6mzbLQ=}+wKk9uOTmN`^^EUyJ?tpUj!~& z`$??XFhQ63tjm0d?-B>Ey9K@CIuE}a`L>{UBkO&&kW0;+OFtHPC79Rm1YP>GE*k~i z2SE2htov(%kB#hOf}mY3Yq!jy-CM9N<;&Lu?T*#CwlnsUpxsv1ZiayCaK^RPf$JXV zZjP6cUa4cz?W{YU&#QIB{U3tvm8|IgxXLs^%zg}C)Y+y-#mb~yMY9J>Bnz;-Rb%r|q)&j4=Q+`gaJi=%{`n#nnJ zy%5vBh-rV0X>S4JTGno3C~wSub*|RGT>VMVZxq+eP{IDOtifpx{k99SpTn^)g~neL zIQ9X@e$4TALJUvl7>*M#u3?OQ8|-mNa-3!haVY0FOo4rAU$8I4(R`L^w&qA@F-z5D zA&va&ixP+JSdAU`YR>I%3EK6Bc70j9dmXh?F6eeA>vp7|OBw5Op1{3EbEhk_<*G*T zaR>W|^bT?~`Ps;^og&1pfn#^5VE+qj|3yI~y34)~Ycx#Ic_i1sV-5}Pa>Vv3q4ugd z|Bn!`-_F>dbokvU#HN&EbBtj7Hnx46fNd6I+alPX!S>%4bS;9ecrqyd9izVP(B=>! z?przT3x&AX>$n$1ONE$4IcDnw{5g8f_A{!T%^64vhn zLBF0*jy`cj`pp$M4%QqSV@bw=EZCl>E#q@U z0{%iEFJk-)1^l0J?Y0O$=CY3pAxE}wj(iRpo3({uPv-**p>a>GGtO}fd9;Z!{LG<2 zhk$Pm<9k-nw}SPJ-eo^u*#jE&WR3O+K4!CzQ-t;!Zof>>paA@Pum)>|I1J@lIZg0U z%|6Z)+GlZlZ-Hk4cos6xpM_d3R1=NQ*2;OWbF-WNERG3SW_=X`K3 zV9qx>{67NRws;QGwK7~?Eab~coG;N8LB0HIxqSk+BF(KR+9>2oQs+vs`YX6oEKEM& zt$qyz_j2&|$I1Am{lvE%v8WRC%7b1p*6RU>Ugrv&3O!DdrvyC*YCT7&n*}`+tmmYC z_IPaK{qTU0-bNd$pGyR6i@kGx(eF8Q$sh0eH9E4?`g&3XcRtT|=)GTvV*|%=v7mV_ zG|y+vM~8SB9CWVvX-7P60%w077(M!cz-tb^&pB*9D#U0b$LMxJ=RP_Io>C{X# z)w5PFJ8+#K=$Hc?^H|3(3fLC$G1BiHnp8V*|IC4Fm5{TiaL&Hv82hmU&&dMcDEQ_w z-yaCE+Q6~8ThMzG>%9=1!}A~I{&eJBUsVwKtpoda1g(3Ux!W=JSz&BX9-H$mdtTFi zXrG`<1iIv~E~~)HUl;y*`jZ3KuLM2UYdyacTg3B(sWbXbd+@L7eRMDNEkW-(t#_sR zF?joN89RMoV?8k2VlkOx@plLAR~>f$;~3Z9q4NrGC9DP`-tr62_Yh)$yI?S9ddDmK zgu1BHbx{<}yWFk?tG zaM&HoTnsFX1lJPhxJ_q zPwJV5C!Ng!zNa17=L){BgYOp{2MvM~a$T;}z~5N?y7v^Knf=V*4FnyV3h z)d#rz`Dygnz&UUN$I^U$Fl}Qx?3CkpfSy4zT)pn#ev8BZ!@%wLZ}NAXt`DVt9kOe9 z4M!Hu5HuOe>$o56%d}0gK8b7R-cT-(Z)*RJZvVSFUWmtyh{p#au2E`P((ZR1*YpHv zPW544=6iPYp=J^85b*BezCSWY;5S^yyeRsNpk17`n=Hh3J;(M@=5KJA7}L|B=o3Mo zggBbm499?z1#NDEHs2O>y_I$Uhr{k-f%708)8}I6ARoi|LNUWPvEn~GTS3rdq}HS; z@?VGVc|u&sBSprmRP1B#miM!31pEUzCmV&_Sj)LlE5z(Xj@c=K?w^P5mxZ)3wVaPL zX4C1cnFIHy`|P^z<(U0m&~>QRwIDLUVf$7AS03YP5HuU0HEYScSm1m!I1h999pz{{ z4m#6$VDs{xu1bH=S)nnQ2VTzqt&qpJuqG`6?qNJ9uNPu@0>||$0oTrhMvi(~Tk9^oO^8x)P`y=q9 z)ZOn)b>J>_v=zW-*e+S@@6~QJeoAIL`Au*)@J?{^1-g1lQ@<{)nLSYSwwRz%vgFBR-zfLRuMrec|H{K?B7aya)~aHEhOWs45ls zw`%@R#a_l(8^2*RSk0SvHRp-`6aSdc`FpdQQtt}-^k99i59JwQBmIxld8X9Sr`Y}P zVf{~neuR%A;Qj0Urum0rTmybK?tRhrWkI*Ub8KD*ciUL<^QNH7P-=uOhrzE+x1Cy7 zrCt*9VwLt?6g{~UUVjmEEnr>W6Yveu`0xy4*!T8Jo?d26=IK_9Bd5XYflzGBetw;f z4W6JpA*hepH}uAu?ioSbK6-w8F1CyLnOrn+FGAi^+?GQ>oA!Ot_8)ae(78|$`CZc9ehlZ~j|D9U>H02;7CA5< z<-pY@)Ye9>t@8!GwEuld$c?p}8v`AfRyr_6udr(|2tMg`X((?@P7c8xJ@mQ0&5pcz zThOt$&dH+aFkrUDiJoXa9WCn|xIYzQxRPVoBIG~|?`LjwX#Ku`yO+kjA@8+NEKDsO zt7C!BJ%@0cJf!3D0fOEGwc1MUcIbJV5R1VaiwTY#nC56ZRnV$gYgH8aRM4Z4*G>;O zv^>YbXM&)`0Ifw~ul}3u`LTjyTmw%2dp;;PX=NNk_VmK%%ckS!VL`J&tl4fytZotN zbvM`R|Aq3v)W#Z}2P4%*g09>S&Bxk(5Iz?>3M=bke4eEWEv0ylaXEhDyI=+0 zOV6%2e)ZL&MfDg$?I#^G{&_%T+sZ#di;jiaRT-npw40J zS2?i%$bo&45SM-&m!c4MlW!|D_Dc1d!}ddtT$v7-ao9dq&(gNHZcS8w$@hgLfrKA(V& ze!O0dD7B4idW;aGKbs@0X_CfS*K82VIOY!ruP(Qo4e)8|JYe)!3z{jryj*UE@UIz^M=x6fW zaO@55rPzKXbT%0Ar#@z+qmZRqXFB%4cku{uJeuRUQP3&EI`snw+Z;gnKLCDP8(^sm z1byi`uu?aD{bP)^aoft=*9zQ@_Hi32=u4l_AE6rCe}j2~e3+LxruNR3KNxwB+x_}d z-;bI5LqZM|LH&H>Zz+Cm5_rKXRKPimaTXpU=fYV6hyQ2}_&%Cb z?YXd?>*ygtV?0(`ziI?*L%lp`eg+!!Ku_XN`ytAM9Q+*v`zW~g(W@L%;r_?~@UZ3O zW*x7h$b7-q5bZ0z`U-*Tzd2q#Cfe=)k#laW;6KUv@_-QUB^>Xg1$=`!PR|Hh(sTFd zb$+PsNG-~PBXr&M$7)Ea8w8I3(in=OZ}{qlY?9h!BNyNKL*M&@Gu*M)(8o4+l%jPS zG_bV+np!9D8^rwX60rS+v0W|jTkPXEQ;0!7o}0!XhB06)pDP>x35VB(*{ z@$Cox-m_G_oGHK_klq#Q$PUK8#keDb_WoY1|0Tq0v5r?!^nF3EPd&XN6C8T|T!{62 zj`b9bB|Xg?hqw9_1G;>i?dgfy-Ye))$a>r^=-pfEJ#XI0f?h*duaT^m@m&C~-m5>( z;M3U;IwLXzYE|JU9zQFD$LQZf=ifZ_MF9_eQ_~2QXderIX8xeD#NC^tXg>+D^{Py% ze+s()opHAdy#B#;_F-tAqHCCx2emqT@^P+*juZN;sRACFV{?3XhHSCt-6HmPSx6U? zw*?%h#{^x9v@Y>@Y_8q@-Ug8dlVuLKYOeu1<#uYZQLFmv|doQK|du0Q9WD`+}` zF+3%3=&3mPs8Y-5SIc}D{(oL>xRxVPh~cD zhOii{L-d;d-TYq*SPC?jdGn5Q#N!A-rvTE zo8m+{7FQ>Ok68~>zaDyzNbiWvcs-+6BZip$)L#Wo`OIlMY|$Qpjvy(%qz%p2J+L>R zYrQc%`Kbn$jGlPpg8HpchbQnp{s=**KeG;>6XuBszJazvZ8+prL8mC|R0EyzHD+%P zG`TTH>x8pI_XgWd-sWk}t;u>J_vUl%eJ>P8WB>oS2CwA(x@Xt>mo)2xIiN3o$}u0T z6EygkHTaFdF~S@dg*bZgQCQ#5o~}}zg}Bi=D1Gk^{=h4OSmh%JB8XTnY9JSRPyj?f z3UM-;tkSiN91t|iJE?9|g=GFy`DMz@4yk?e%d7_s_uHrZ*j{RSUS| z8uyGD=Lxv~sd4Sh>F?0(D;CTY%@||;uMm@o9FskQ?z4Qlzu@3qD{vdFxplPPC1`$_ z=2jH>fy4Gyf-WEFcos!_PRfiIaerTP`%2DH0=7{aTRi@BNINtC(q|O<<7Z+>cW)-3 z`M0mS0J;Tp#rs@EmDa6Nz3JffsG!NAT9bXTI|SZ;;5;5K@SdP~f0RE1xCxtind|3t zY)$vMuN8EmnPa4yJMV|k#g@xd1GW3ZyuB(pp67>m9lU=c=$*%USB3O8^+$77Lclyi zW1ctf#!wy;XUc_29S?7f_Pn6`JgvJ@Qv_Xq&$aT15SRbsxNH?L(vz}B;$FO8f`1H{ z3@>xuBbWIXqiw!JgZo1{XY#dzbFNkJKV19IS2Y5^@tR*zWQD``^8)t|nfpHYHr$9G z{YU%F!SFpq`;YJcSm2+N;vYTh?Jf5Fn#(cDeLU!gG$22P*n9Owv}xt~%}_2Foo8yD zXkQYKFA=nOk7NB4f$s;*H{sA~r%)rUTq73pK2 zRk|IUQ|ErX&ukQ_7lmA*GeWek%jfZAn_ecDq8y8D4t{?XVnkPhXn*&PpxyggyLY4O z1?|VN_T#|aHviD|*nz-pYooboieubRj4MDNqop}tl#7`@lFGk$-6sO}-*engcjyui zVe>MR?&lw%b_kr`)tp~b<1m)4?e+*9aZy|e-$-yCj~LN&!s!mcQv5E*PbIchseW7S zH8WesV`h^Y8HaHT8qdc=l&sHC>2B4cEq6L9Tm`>O(beIFZILa-NuN*rZ>BkSC3y_?Y>3A!{%L z{QVl4^$b-%#hKXuL*O<{b8D}ALf{r>Zo3`WR|ve{VctnW_gSp_ABFr_%lUCwh@Z)U zX(@h~=kK%6^&_F;enGzlTE9|tm8H%|{GR$eQ;jNw?Qnfie)Z7W#pAyfVmBDE`>~+w zJFM#lLA&2*?TVuP1>Zxp@3pHgaKvSKNH>!gQ?+hh_3sv9Q>A0`TA&v?Dex0{>rg?z}7LH(KjAKYyIV_Qnu@lQ&Z||3Rn=rT#0#ZU|yG zMbN%LYri{jheP|z1zjt(uG4c5InAC^J2>a>6Ev-5O=pI9oAm?TPkg4J>907a{v~Mo z8_vnuA=_q7qFU+@G@YEP#XsjC<`_SGb-GTCUCOIr(7Q*mU6Wrku0;;J-*Lp^J|Pwr zIu<>m*9m(4l5_CK!u-$=XFg}+%=Xa^T+aw`Je=crjAQJ@g4V@aYdUj?XVwXt{faeP z=dgd5!24~@``Oq+AxDqp9Q~C=7n&Cfv@ZSC28ZvPz|B9Wntj?N&8<@X%n{Fehu!Ce zSkE;38Ub^@#$2opb7%2FEjs0INX!Zuz$;%FIg#&_fxtV+78k@IoeZ?`pQs6#= zxsMgFf2`Y!qDuwt)y#bp*OG~+`CW)LH~sglkZ;X8-$q3r5$bd_a^hA&x8bbYaRRnk zjIAkz&BUz-a8={yw+`J#3%ZZ?>0T*l_bSKz1K78%9q6ckBz{&3u_@u$JR3n=1qE?7&<+z@t)(QIk#M3W&m7rgY z^*c(?Z=_GZ3my6m3h86&ZX|I2nd5G@VUvE1McglU*gV8xbDO~T70#F62r+q`V{%O> zCWMXldDC@FHmNg&m`vlC+z&kq(4R(m@t{>L-P>J_^BZ&~vKs%@s5{ZmmUDFXWL-#e zvo0Rt(|oc+gFgx!M`@17sXM^Yj-Gx@ z*Jr*O$^nWa=`)k{`9822{nBw(xVl@7o;5nY*9qKz#Ch0zau9>jcO>WGGXjQk#<0v0 z|DUmTeoaZ&2#{SOa39XxOE@Osu@exJuM4_PVOU$k`m^Yys!&9ni^o-!cL3 z2#xnIxjz)Nnyj^IjJ+GeYihid@zS$Ko)9>{%sF%v#|mA6kx+WCNr=^Mht`jV<`<*Y z&=f~}uc5&2Rn4y`+9JfdiRXuR1^&gF|7ZFC1bhM^k6!v*aj`zH2Fb^PY3{|o70 zYGY7JhaPIs$#$L-bqtky*b$@1VfL}#HyR4@pQ<&wy6+-^-w@5OR$VR32~!Z`GX(B~ zId}gpa39FrC*pee3l45W1a2=fw@U^8KVko?1a5;hH$10I(0u~y-g973Ta!BjfIlDS zm9H24AI<*j1pkBB|96Gl+s3(fjF8`xb?oTc>QS+`9r_Iu@YCJCgnzoA@Ap{W?E?OR z8vg=yufYEm=D$(My<(03n`58i+zQVhQ;}Pf1nm77`@@3omF#<^5Zmz_+g$>;0h(J< zoh)FVsImW4ohgj(ug5P@-xl!wnDHGUX#WChUn%hK%l!Z2i2FqXwtgDhLbX@mHbHY+ zquv(cG7WKgQQ)@$h=lt=4E}!bSofo}U;MSLOvey^W#{dd1lUt+k zeut0~<2WbI6LcA`b&05cY}?o*`}B(7*!*=tmmje%w>)W|OZotJHGYnPZvK6l*bI#l&_=vEN>jZw|G`|aOcvs-CTywZ0|3TQNW6UuB-mqUU;O~{fk9Cls z|5&a6-rTlF=UAVjW7E0e=TL&YemtZdwbMFj5Ta9!_*NtK z{`I99KSqtlf4J@{@GtW5pL|B94f1ia&ixkkwGcnEzlm#pI72eUK7JYN^Zh67?fo?e zd=6L8=UJ^!QFIA7`g1V7Rv8TiM&mQGN}VUvcTdf;QavMZ7|k5MEabo#uEEJ1Bcm@| z>emd!=om{3NWXzP23LG#sG!fwtk3bG@kZYPdi*r?V*&dp#y(!K{{yyPC)kg({STh> z;zNYI{PI}#;vD;m5TEaI{yryY7uVY5s9QrhXyR9>W8>XVaj2kgDfE3);6IZ2Zw>MD zI4I4IYGBIcC&-zaXX*2E{}QyJZz-pHjn9WR zw)1}!mw^tu7Ymw>)S4=_Mc_+!Xs;3YexLciCB)-tjz{lngP5rv>81IcVUJZK=h6Vj zSUji<5lic5@^qBe`SZEA3Y@FvRnYh; zt?`X&CVbkoi19OV9}MMZNDD@RVLwXW8<=hY<1|xZ%pB}Pp{8H>s z6?A-&^QuqM2ibL{SWGzF&g}`U>!-QP z#due$*9BdNXHvL~x)Q%16LPW= zIk^@XZELn(DSef?PtfQHtAEhkFyY!SQ&mG=rL65F+Wnz`48Fk zi*kWpRPUt7yumIDt zHw2wt;9M#bv?zjiIvN0 z=ky&N_oC<`;Gz6BFY|mc`c@kc%Xsx8f%o&w`zRr9J;5a>#eJUo*BSP?f}VqUqoCcY z)OcLeL40g;IL*U<7GgdNF~0&@`N#S9g(HQS59WF1IB=u6%)Crpkv{afovR(TecBdJ)mJkt41?# zG45qZKNtHs;PUH9<02R{0Anig`!I(dcL;GG%5l%1YPbC?=j(pp_2;9hBf84^4S_R# z{swz%{72{0aZTP5Pi$66Uhkak@bPMhyNTJ6I^QbQ)4*Jv=m38lNGln zHaW)as%vU&z<5~MQP*0xJvGSXtg}I77J!y9?84tWOvB%1s5ZB>H+M8O0dz=%O?%su ziQTP@?M8zLX>hQ;XowkJ8k<`>+F9vD%MKkSIQKSt5HdESo6v>0wI=Z|5p7SlZf|U^ zYfn;~m~wD?$_gxYcc_;niOq1x8J65rpWM;jzO{~QZm-+BDM?;azL-?@1K0!7jMSNi z429k7oOESO-w#nb3udpMRlP0IP}g3!esA5b>D%i&rf;fiLx!(!Z|!K_wtnq`m8~r& zuiwS2QM+K>!uZ(wEG>)3zw}tVyV~}N^C*t#}_v?CEM07Ypic=X=~Zs9$(wo z)=}3KU)|o((AW~MDJg|&8J@Z{xURiv`{w$rZGc(Z`gM)X4K2Id*6*q+DXm?9AY;>d z*CJF1?7Ah(7p_>hI!(D``Jy%J7ekBW?v~bV>vxrxl$KPM&MKdU7||Gnw>x|h>~0#M zky$76oNRMdb=tA6zCPL7Qc~Y}&-#|;&5c`1w&LRXo-#c7eNSm==YtT5HVo+$#>rco zu!q}BeLI@l8n-lK4y@l=*Q(mKwzRgVw|Rg1JDd`4+*}-wMBC&1WW21Ab7epttyYmiG_-tOUp6 zI9O^LS`q$(Qfg&c$t?P(iiY6cCi+!QC}(*veJ?=PafUR`%9Bf zz1>glOJR-@80M?+hDOpmEvz2t{iR2y-tNa-FcaCbrxrYB0ch!-O8T>+7XMT&>b%fs z-`uvhtv$INb>_WEw6)i@ceEw220#&>lb5}F1hTHHf zJxkEc5$`!0IkLT_A=#9`vKl9ea5@b)TjGGF)7fYj=7>andn@4VYH4gx9o6y1)}1tQ zc<&OMo3^N)#etb>T0HRQWa?Vi(ApO6M-9}rW9#08ZpV9Cy`bM@RfGGvXQ>)ITenor zs!_A5)vQ@+R+XAnsb*EESu@qFay6?=&BE7i)Tk;vgm;#z!b3W6UZz4-;Yr(NstWg% z)~L#ARXIylf;JAlDpci6Rf%(TWeRbrs8JQws-j9&KoUGaai*#$R~2QdqEyYSQ8TO6 z%vow?m70mOk5CLxV#Nart5x|dRbHjaal2}TD#syTjVi+2+D9)y+W1ERAo>X zPj$x$Z(LNHMI3vcxB)3JYcVoPm$#Q(`fa(+GyRq_4cS5|gTbYHU>^mBd-(Ry6t}0e z8pBsDIwCQD$(qE1WeXGYmnM!)tXLjD)v|T*;>^uUt(~zIohjKhh_dwC%Jkb=c$;0e zwC`?0wzSu^Z8NFcxE)zbDl~525=`S+NaM0{NC;ueNJ`R@#3VIIPSTSEg`zbzYL3~% z&6}qguUWS=v1Iw0MD4;=s}oCB9TT4%KP9eH79dWvciDhRizW$5Y@Kz*dPJM0`?@8I zm&7;3C&noVS_-n=Sx-+tspqm43m37?YA*@0=-G*PpUqP8Ub<)T;?9HBSYDsNF#=+h zY;C3JtX^76zfgkVN)1(X=uchXP040GL&T@FwbplS{IobtE%7PZ&XfimHgt7-V7?(k zn;P4Jrm3zS%lkO}aY}smR=h8cH#Tb4iA^1Cd$CZOvp=NTbSu6~9BpX_`Cvjv9w;iYt->j?Gf>gle74a$Y ztV(qU?P2DxNvvJ8eBq*1!K$oBRhDDEEXRbIR*a7SlZmb9A(l$oxZn7{M@2CrSXFtK#O!fA0-DM)}J zwqQe|r5U@Yu7gS0!kyHyhk%StiwE>ys%-_3Wt-=cwLmPJSFK)yDY;t?sE}6I zu3eNWFHV@Um5I_-HKoD)p!BLecFhX->V`57S7ocpDl=WJTt}JM4Nrt~_3^89Ssl>$ zKp0^)17l@rZ8wEaVGQPQ_XvAwf=Q%1Y`wug7@V)&5T0@1T!o&`isO}~@u^tx5v;OV zcuR{t{RT_2D*TOQXX-fHyv0$le(N34@>co-Mre^r2eEYIn*NIpY0*N5LZ!6&ok?A2 zF@+^AEo@;B2Y?l-rc%|=-&G6nPjv$C+Zx-}x3zS%*5gl{{l`kCrJ2qN zwc*rleS3UYeWI?ty|r;uM|-ku_Ux6oGP0_!c}ud^Y?L~-CbR1YgY$9er6CK0S@m1p zfzxYkZJn80(yT9X*AwKH0es%0$=9ZgBKEZM%br9mxe#SfB2=xG~w(pcd^) z0{0>as21YN(iWV-Pz#6!`D$rZ3!3WM+EgvByPVjX+>yi?0bJkPpdt~46A+2SZXDs` zazZQKHa5dSVsjlX7;SBB>DaP0wGC@dTy$t|Z{5421uD_y9aRrUTUuK8raD2o_STlB za6e;rQ&UU*wzd_`dT?vftH$(Tc->T2zb&<)WfzX48XJCaTG<2)K?MdQk-;c zF5CfKEyIGw;|6%@8l`aE&fadZAG~CE@a==u!7>`S^huWk&4o@l5HIg}DhDo)c4w&X znj(93UsuGD`IdI742yrd$e5Lp;OLA@=n7{}&TN(PqSlE6bV^t+Mthu1b1=hFl9*=v z&e)bgm9Iu;k<|n!=n~bmKjWQm?+bO=c&-FziWb4+$ypT6W?dzfWq)snN?D&> z4R&NbVPyxP%h`~5BbudhcoJ5@EXUT+mW-+OpiESOnqnxVaA3b3oaC|&fM**<53WHL z!dD1EwDtnbL~ZY3|ISZFTH7rEa7cLw$t z*r@p@kS^P>mui>I*ekHhW`c#)<>A44>FV&z_;nJ413-HKNd0>{N}W_n=!W25p?mcY z-p(+H|KQmTr(>9&Ip|MK^%)(4K?xw!H}v~X0(!TMhw9zZDWs``d-(GPRu7g=K@aip zy2bKI1nLt^a7(97%vwHrkZIP^sS~ro$vD$uupP$IpTG!9<9%Ku5JWQ{huE9V86P}J z?`Z3x(BQPzT$Ky}rCjo@c}K3dukB`_@$6W^d7C>p}^s zizrxnwAqV9a62NMve@0B4BfXj5qG8m#MuvE52?!dAASBOxC_mS1TW~^eIcyafeJqu zdq=2zvjitfC!KwvF*(%92ruXL!DE&qe8J%nd}>TeI3Ej&X!e7AY&z53=Oddm^F<-c zB=b4w!U&H+_TaPV=}NA~=1^`aDtEK6^3OFC1h0`r_T`slI|QV>7&oHJ6>Uz-~;m<;`emi<)jaIS8oPWPS&y8JlJRFBOk}24xkxV}U$a;@YWW z&W=>dr`egT3O0#_<#{)|cJD9ydOR&=dTFG005%ihRe-mcNuvlzroAI7X%E)skRNY1 zYLNRDq3I+@%V_Bq$SV%BrJK-_HZ7*4dnEJaK>8*}DdW=W1WqXmtBJJK;b=Jq@J=U{ zI$n5%0oll$Rw-k-la2h2;cjs;Fz65)x*4YoQ_4$JYX$mZloC;wW;z@uwLMikE45&6 zdsVTL{)M(Bk5l^~G6@cWIb8qkZ48FhGB<_C#_dy>?v_k!&#)78gcZkGoeUlbz0DZ}2ojO>#`$IpZ*JOWGt1N7f; zv6i01F(02NX`458ee>aCqY>XGeM{gx-1X<{WjZXvqd$;lp9}yO z)O)X6>QCxt%RhY+GM97Nv}KKSb1BrAwybWCeiub{;0YjVd)=N?$z?N!Gcc>Jma_52 z+2NS#?z9izVqGklvAETDP#ZOTrDxsVn#|bTiOEvIWNLfRq}lAhzq)vJ``)JHys>Td zbs!M)1<@~|cOZ03 zKntA2K739(wFQ6CE)3M9CvEBIZSr@bp_(#1UMaCBQyp6ezX9jqaHD@98P*SHlDzsG{R92m6v%8LcD7D_L$>y~UsYQN zzkxIoN^2*IbO*ly&q2D);yvByADH%RG{_Lo-o!$G~8de~@QV6{7-3O4x%2?Nrb{hj@stWh%H!pix#2Y~q-!k)zFmX*&cUNL(MjgE@j_cz){=;h&8&awT_C|Dkn6Z=cENM})?M&AF`v^wn z-{e{KZxK5Mv6^*72&=a_j5UkSX{>?H9x}gG|CRt&f2SZ;FCRlly*#AQr8VuOV;ZBc zqlYJLE&X=@UAhBVp(N6HO!@>i=(SooE$zw@joWuLC5jW{^`&C{DZJFYgN0&ws(rh8 zW*-jg_Th7A+wI->9LBVGxYrKkT-qC*5=$8fHl-X1?d(BlO^@bk1kHeFT`Iz0V>;`h zc6rkA)*n&BClid|oghh@^T~J+tffSuLvpXUDP0Z_*a2GdgGzI(KM24Mf;B%lkLSSv zc7T@rpi&$Ure58(#iAp-F4Nu@Iaf57?#+Xg8|N3G#sK*#LH{dYupt(4q|_Sa+?OodCOR zExi==gERT!Rded770cRme_z37)7@{LBAun_&bs=|8W{Vupjo4Kb@!VmD6YOfK|1T| zH|x)-Y%x0s`b`6dqh}DWqod!XcSv|(M><`x;XicUP1ow^aer-X=>t1|2g|W-;Mg~K zH0mFjqG&hFQkllkAvIb(x8w(v-kBZXmGsB(q^c!UiI#`{V?X<7oFfe3g)Y;E( zFnl!F^|f|37FH!QuSy2Cr6A!TFVMiL7~Y)jALl&7Wz_VAPjggfHPzV&cRlNH(LtEM z67kqeyZ5v$Urhz}cHJWtF@Dlrr5`C$e&4i@99!ZXKtvM-xxgFx&$%Vdiag#)HL_K zh*@ognZ;1L<0`$YXJqE&aOgfHw3@X*`qugMVADn>({KWnm3h83{ha7 z+2v8e31elToYM6l+^);pD^A=N8W<8RSpl~HxFUEZ3HNTMr3hR@3bgRmqrkS*oP+8Q zG-ON)ejmO$AuuRy&Flbo_=lzH+`rK{>TE=Ma!Gl?;@u=EK2Y1<+R(Upvkqly;aP+bkTqxg4uO< zmw#5S(}$vd*MSvt*7=mS<)3tPWLh7z58?5Y0zzL~4W^8b} zQc+Go-7{o^1ZrI@5=&xdYb3p%@>>RdijmflQLk5o|osq<>=)%X0-5jfHF2`KfgiJtTSU`AHN~? z*okJ2UVdZn*oh&bhu=u(Sg|V$#w><P#R$L)F!>v?8Wtir1TckCA~#|s?cmsjpVI_ zHsF9@1~vd+;BS7EMM^f5#%k|*841)BzN-*lh)!QtXb^ji)~1#E85#Cr`Ux0xRuB(U zGNuR{eWKE^#-XqM!4=-eE>$Ay0rb&K>f9yEopv@>v&O8CP#H>AgZu+Jg+ms*G{AJG zB=HZXzfBwFe%+S-jJ^4kJDvZ*hhOzn=lfW{wVAAYpP#ojJDR+asacbsQy};beB9VT zOZ&Dqd%mqrLEkj*#lxTUHNY&5X}^}n^uq)~CTWzXy)hk7%paC4yQMAC?xGWG&Ms+7 z23tTj8JpNGZIK*{-8{?AE@?{!n@@Eanb0Y1jhqUd(x~hm=p?AF9gT=iowNG7WOS?C zLJ0VTmG++=ld)C%;B$vOh5+di=A2@9yY{X>sLszEB7bQ#UL?{!{XMhmmB#O~#V4Uc z4E^4MxKg|_@TXD9ebSiZJ|3cAdk{mIPug?1CG9WVV&@(76U31A65O8l5!^2E;8~IN zOGlXO_{v1L`~FVnak?G?d*_wj-XH`M)uVxUxu_evG(Pn>4qqAC+=kfd=cAAwacv;| z@GC|c?w%4J;8GK0rk^x9uTzj!mj~+5xjlM7{oY6jho{T|er}>9X=bS`NfnEV}u#%A2T#X(O0FS#&j6v*=1#v*_l> z>PX-q(oQ=XoSk-b=70&NAEQnFAUL^)K_&N)0_=I9@u_7IK_Rsp3{ty21=Ic+Aw3t{ zA0e-UvynV&biSp!|Dc<0OQ6R~^C52+x@u0@S@kATlk$AK5;861oGhmDmiHsH+z|(K zsWVyUMR~ds687dv(CIMaDa-C*FKK{Yrgec)Cj-Ks%)ZeXpCFqo zJf!h=s#F)c680zg_nlIwTXH6%B;m26e@TkBfmQ}8(Z-BlIwj^?(;EzQY>IG$guisO+; zd|teGS6!m1v8{b_X?(K6YPmQ*1uN(Hl*z?VH$HVt*9r*r)O-L ztTL@7Y8NhCwP^KfZ&ZA0Xb^nuf~(>-JjlF7-}Qtp{0G317tG=l5Y?Bv%>W+ zJkoeevp00IGQIRAq~iF*)+G8TTX*0bGgjhl?Q`o}n%mmrT8xQ@>a>}xa4x%}zCDhI z`(tu%YN@Yl!l=zSmZi;#BueSk)Y7~q-t)w&4QlCv#FB;H+udX?(GGRd7ysG~&7Pe| zbTl{DZBI5NN=r+Vi860=6CmxvsFaVktu3u&#)I0~=2Tpp>J#ma+mnfgy7oGZHl*sd zct|t0m>y}ubW)#$NOjFMr` z4FA2bt=${8x~{3V9Tzh;b+jk3Q6*9>`mZ(At4t-<)V6M+U-W0W_b2_LKWBP>;@5&z zYfvPs7cDq;)uP10MJrb=T2Q-YQE?;}g^p!nQ)6?IYArz>7cN?`G#<$*j^xLuL}Jt8 zk%D-n2YwaCBR%n}C?4sBBglhg@nD!bARCUsIg?2gs(I8Z0w*Fe*qM%T2TaXpR>^2ANwNiBaUHghMwiUQ$vrc}`rkmS?e+CtKsW zIi5fowh_v;>4feg;QTl+Pl*&D$$B8&@T(`%t-F9FYZ-tAl#x7}s8kEUm@T+SEW=2C zu`Z~9kqk`U)X=$iOyx-ijzVNAjd`q&I2kKQUX-pZL`!C45eNTpW2SW5xK4 zphtSeBfUYQPdw6>jOqyu6E977_|+w-QYA!s!+w_$+pQg_8OM03!1JJ6zGIwQaK}K& zVMg+EklZs0FotI*%qNnqj8YIH9m~=4R5UQ_VW*WF$L!3y&`d;Mcd?+ZsR{e(g^Lz1 zS-vQ-VCBlhinWVYEnQK&FtK_~?ec}Ss}?4fFFtnpf<$RzW`b6d|Iglgz*kYMkKaRA z0R==wiXH+Yom2v$NJxP|nn@^1;1E(E5R#BW6&nI7MVf$s6hW|y1(6;ER4l025EW3t zf>*ujRqwUj`~N;OyV*U50LlGbfA9Z&-}`*dv-8aC)Thnt?4Dh3%utqKs9*Jto;uaN z#ZWcD8dg|~ur{czj8IRHgmsxrD%VW#ztv2os}J%Q;i)K34Ik*d`PwRfr{r$n#L&MD#lSyjqz zvC=IC|GOAbc5@0haH%AaJ(<+Y!~kXd+y;GtE|-mD-zZQFQtbM1ziP^uV?mDbQ_a*HJ0v|XMmO_OZ*pgf%pkZg5h zcsqv1ZW7xL`Wlt>ifO$%`Nn3( z=yIczmSe(@(FR0i%a;Hcw4zdm2{YWA$_oU#iEhPSJ%uLailEg?7VvT zXN;$?pio9J{r^6W$Wpv&tf+G?R{VQxsH$|?x{%ei?5c09d zN8QJm?_4<#?=)B!JlRanj=g()+c{=eYcHkT>{~4{Gr8%pqw)#Gdx1?RCpmr)K zFp%qYy<*#pP2b>=TQ%*>EfKRVRldFMO^X?t z);1t*OtvREDK&1WC!cxT!+#ODp_5ze;Z@b+J%m}=+yu&GJ(AVg6URLuZuNBZlon@` zE87#7n&e^GBFhNp{_nFyCfqwuefsn zy-m!XBvbp@x<>ms)-H*Mj!n!c%9WYgGbW?hGb%ef-&0&#m|c{aoy9G=QByqm*^{!1 zJbAgJiZY6(NPz;*W|T1bdy1#fb?yOLwZWT`DV;r0+||m>qD*PAWHP;G!K8;-souv? zs|uVP8*}zeKY5xsC7U%}rv7AcRmaMoe;BLWdd$elK5v)P3Ov?wrd)DtF&T;JZAt4c zOJb6DNMuT4Tw=e}^N-WfDMuTOVtLb;L{PfawCE_WRdsw^U$0jM2L^@)1;y*p#w8@X z6*DU@kAK*3vrg1iHqauIlVcL2tt~AQ2g?V-xof1uU{$ADo$6N3A#u^%7ZQ%9>Oaz` z_&U|BQ>kewjE3DYb6%HKd@EVsddw;)MQ_}+$2(NjZRoPqwPHV!rJ4CYFvLm0jd3om6gXoAzS!GDe$*?BRI~FYJL?-C^|J?8%wg zg|Zt~~`YKN{lxABupv?_tTTi{_p0M1hi`RF`sm@${nS32R zXWTTF7TsCO2VoD}>ORvoBlhy|vN733MLeq&pOl)4L`*O!F*+tCHa=+xf8t_W*-)ui z3bz515+dUgxxX@~AMT4Atz3r|l@{`31b2#6Nk;KFxil#$EylqGcauY?;(3bjZsYXL z^7JVg6FZI1EbTNZqnJ;ar*jiLe_VP-R%YkS%4Hj)O1tq$0Tl;@a0u)!hpy)@o5x%< zh7LPV1q6k9!&UL*psw7U_i~yizOuZdGD=FkTuhgsp1ygzO2c)Bg%0Q8fn3I&Q{at{ ziT2MGCY6<+)Fq0!&YT#Ot^iPt&e;-ZF-QG)(DNY%$! zeIzRc7mcbe#$PftwO&Dhi&>E*xQU{yVpqNAzl@u4GBBKUU7f0Hy)X31q z%BUWX_!MJ~Jm6C#&-a{9p(~$rQdS8S4v9{S;jtjr1hFk^vIdnJ3^Y&k4UNR}K zQk*eaneO$YPl1!W1&a2Ll0$|Zw3&t~HmM3qWQ;vLlg98=Ra=k9H!jxGvKO6fH_elq z)7FE&2q_vv)}S7q#H8f5taHuAhFpPCNrw(SbY@*275bKNvdSh8+8U@8l_Qk~ilTBz zi)#M7=&xg``WUN^WTo3ED(h@ZKW)NFNf>An;!FWrGm2_b1C62v zYDLvY+C9HG@Hi8*GfOHX4{>yv;)U=|-mKj5mOJ*ex7;!_l&|jzmzf;3$}gBC!Dy}u zlzvDp2W|J36a=?r^9`k;Vye}y-F=#~`mQ25qy}C5yaTfAqY^$pr#KJ$;OH$4?B*F? zK$jrw1QP~z_2}&|?_s?O8Ir9`+Ny>N-P$J?*o&0?W@DvObx$fN%Ca6v6+XL)OP^c=l<7oP8}1RiyU3Gq z-chAFIoU;wmzv7+Nj><5pjbJ?$RSz|;@^V$${~_NVA%PsLi4s*JLGA7W3b82;o84U zSFUJKkLfB@oFnFWUbVERx=MKXqU=!x1>(8`Cx^zyc9kwmaNZ`yXN=C(iyi%JWI0px zIIA81-UnA^-BFmGRlozMqrLJJ zBhyPsaHU2grSb}M(BbTy9L8lQMMHqElUEXe$P!F9qZj&V(nBgRh?IpEM2dJw=OCX-PS4+UWuh;aduvg zHzzNnc#J7!d|@&7WvIeL#G#cB68;B?m0448kZS9RjY~=JrX?kNIv7$Ob&=#gi%{S$q97M#-wC zCG3|yJfWFNd-n1~#mCX9wEisc`X|M+=HV=7c<`Gw&vZLuuZlAk^L%w~(S)|1!6`BQ zygVA6a(y7Xz%@K(L(r3*$4;BBPp`J7D;~EkDd76HXo7cCZi!beuvw1j-q0~})-dZb zdSFUO4OWI4vOd#GEWfkm-L*zVXUQg`=;a9x3)6QCSb!BzLVElalq>G>TpXgB-P*PF zu+bBUIC#iCCS`DByf-Zs5e-3R=ha1hg_)H-s&q7R!1q?->QWaOpIcn1YfRS_Y-I#( zvQH_lOkPx{5)+HdCMuEJIA(oyrmfCW33kR3B2xx>D`A7W2D8@JHE_|<&zm+RUjBi= z{|Qo3y;fzzVYfJ(^IiMM6-{MaMK0n>L>IY=?WL zbvj`>*-rT~&LcH-E3e{w>LC1M_aG=Zq-(ek=`0(wxVxTRf@3dE&%_rMWw5X)8 zP?315nm^r$^IXL$(6p*$m)z%3NUZ?DK@p+h0V*~oGAh}VF^YRXa>tJQigG70F{-a; zbaqKhMp53Bn8~>%ZQEI!MC4&pIos3_>?lhxmsLiELb^o+St=wXO_)WATqahyC=qQ8 z?H&O+)D$Hpr>UNg1QcqZ5M3AM*kik}$!a^c~Y%<)+5FQaov!MZsed)r?;9&L) zVBEPk(kEu39Anc*74sK4*;((LpE*he1a^~VgS!QsaUm8I&UG9I@?dQt{9uug-6BF5 zZ9otr2x062s+;Udch!eL(nBMH!z_k!y&4=5CI#ivm4VPsKu}mjaCc&cXD6+R)4I{SwOAzv5xaZUeyHm6sq_sl3E0|0{O&VPh5*-di zgcfPHN2)YprHWuIGR*dJXshNOHNYr471HW4si9h)qcZX`^0}GqnKr$n2P5DHw%$d6 zMPU&^R?}hVoo)o33bs-qEqMn)hDQYJ_C)zC>mZ47=x&D7g@_QF42}rYy&x4*t4Vl7 zD0>!G27I{P8fqsR91zq^8a7S9b~>lK(+vYCPepYC(Tr)HzG*yWkdW+6HdiA=qx$#r zM#rT__KlB`-C)_-jOx!*#Cp%1D~-w&vNoOnCuOakZ~v0yPvNj1i-i*=6(qL@VnhhkDDLm1Yq#fZE~ z)%9x9h!HX@B2afn6e1#6x`W`bJ?$hQ#UF@7g_O=2G8n&LW-OiksDyX(Kfg8#P(75yP{m8ADnM6o_Ne zt!c|N&R&z6$xIHY_ zQZE3v&m>^@j}9Yk-7!d{t;Gh3>qJ&;hgx;%V(6vmqgGL)4n|w`cpx!5ElfC0B|25> zrQwKHKEo%p7N%=;fJB{j!y!_GFrB>{PpJ%9e81&EAvvi9sY$c8(4?({WH1V%Q;l%K zWIcvMf9!oefQRoqn%3wq;vYuc*vq@5A zT$0Mrq?kq88E9K-kW^9ca#Fi1QW1$=89fV=!ILUI6E;J#n$qGE5`DFFL(E5a5_>?e ztW>dED>Vc!r%f2MhgY_sV3Z|3aZ`3G!qnVBe5i%iIdM8xWuao0#;4*@3?I(Dq>$UP z+R>O5sYTjV(1y`0+%uDa?mMJyV32T1cY-8p&nquN)=Lb z8*|4O+a!8LYi#G~r|(*EM=m#q#!&=DsEeWtw4__qq~RPSE$NXM(#}AmR^d`CY3SEYHPJf*w@yR9Nam`GeSQCz$#A1 ztX*qj335_LtrN04uKOicV095cq^*)#QGKInT2w}n&`Ty zVF@JN(Sv6evach=f0lcHNHhCOXRWJjaSxWELNfna{1s9&Ri~O+O-sn0WN~C>{=il^ zp@pSqOS4jd4gv3l%!2N5P_&dbLi#3dXIA$rTBCL@yDeybt$q&@x05OnPb4Qc8Okl3^yBeo(sEX5!ZzLh~p%@46+%Npnrtg$T}8*xY@9yA?m z(8VBOnC6`HVz@ z`m}Rw(7Q{f_xIhU_csVlkb!{TVE?=mb0J#Z&tvrKI(6l;r0|PK2RG4eghNN{+r1_ zrW`R9@%efZ_gRys-jFIcA+0;a+%RW(be;@dtYs@UXr|Wl<>&ouvdksFneggftkl96 z)mdThLFd$>Yn4iP*@+AF^%Y7Tdqb)FKQ!s_?>Xn2E>h~=dz89m8~Gxg^nX#uH}y^Y zyLX**p>8fy>e_uu9j4vRJC)i$N2x#VR;pu|Z$63b@2%9q4N6^ijZ#k>H|LWIoqVSP zlv*99)a{=*X%V+NbVbyNIwtkSW6s$jt}z||SgG%~nsXb1l=`u?QXgzL@thJJl z>K#gbe#)c`o~+dLnoeCp4L)h&?|r1y8;zC9AYNwi!#C%du_^gVMNd^Ku%aE3$2 z)>G=kbQ8Z9xwv5#ZR}s{q~y&|>isTCJ-=V6G^@W8qRsgu$ROcHCvOsRXg}783-$DM zO7+WDDuOZCaG-@!myA(rVrx6agpJ_Cr?gi>XhUmsW;J@TH^EL(YSY6?UA081FF$kA zcEj@vx+(SW`%3+Dmr@H}gJ1VjmiXq=PQHB?7`mjFQkSA*ES=T$eN5V;HK`Y!dbpN} z|NMbcr51lybx>+Jcz70Nij|s;J=8m@)I)QXx_GxzLoIomlIA$iHD)`#K@USM{oGD5 zVY?D19`_RUuXWa4sf7`57 z3&wEpW2J^M{xIrj>o=wnceJAc^Sjak1O@nY^7TF$3|u<6^G219aQQH##QTU#zWpypg)WpqtvtL_4db< zs*WDtP^MI$lfJo{QCfjdTjqfLBmL#1x2hc50?Dl1m0C6;Yu)7~#@OrEVH zoU+L;8v5-TN?pwu-^V6Ac}i8AN4ve8d_uMM>%+=$bN)%%5;$t{sQp@e7WG~^P$!>p zXno|2r1FH<>AOIqAP-oCR;N@s3ts zJm|zrmTwxIdbZL^t$4gP&ghL7tcomC7dc zhtnTBDJ`yZ=(ACOPiB7EfPegmKETVz;n|S~m3osj8@4mfRy&j`rfu=M|8Y$XrfJ7|?VTY;Qge9vrr#fkrR13r)b`9sDaYtpBE=I|5#KJJmH- zlWLA_CYdmXasnfoo6tUf`kbMXET3qnpAn)9Efy-Zs*HJXFFK2EO*w6H&Ay*F{X2|4 zJl2)9Q8Z&}rqq^3NK-hhu2vXokXDRzmh?(mp$%N8@YGk$@2*xJ+stX;}9E zO6B%MKhTp)i1)pSbwpB2I8%awYIIcrXP=j@i{WGWu7`&~m(vb)Z20-6lNSaZ?}sNh{V{gxler4Uwe%9iBYtO0&;h2G4#*r{6to zr_k5SxMp|+T?fB^0iVhFr5@*eJxiyZl!~dz6P@&bA&1?xWy3Gm*pw4KK|c>-hdba+ zS{`ylPMeX0CF~4F`!pra@8@PU>?!VMl>QVG~ zbtk&^M1A8}}r9ehYue{8P>9^KbAbeG+<@Wash? zAG*Pb&q8i)`0IVxFTUy873lu~_Zg)c4>9pJlj$3B*~U0WmT=u`>EbE)+uq`r2Z%BCr54Q3EP~woB9F2xoZmTEoVO3 zZ_YG;moWuOC0p&Bz-DaNWaY8r5{Ba+1@@uOtJWBLbvNdYWTh?&#uh)It`FfkY2%S) zhbv8^RBnXCGmOaz|DP` z!(L~N2Q4s#vXSV;p!?vvOV7<&bNt5+><}BNPbd&vrh~H{rr>*PGqz4&m@J(RnXm=& zJqQopviKmW$FFA{Q3y}b$J-8bt)GMcKyH7a12ryYj<^NgOJi-*mic-#>(nl$uG-Z7 z4g9g8j>Yefv8C0W?9?;E<(AKqGr8EvcdMCOKQQ@K!&nj9}$>(J}b)x@LN6k*f?GV3aJtECq@ zBZnd5km+^oIU=vEwa`EGe=7F1tdGg@pDqkk7>vPX2Ell!On4xNEN&%r;f72XOWlZFxan1xQB zim2baR+Q?b4c^b*?s4pjx%;QtQb6^jRQcIpO`=gSlLOKkr~!oYXw8?+nlgU4rshqkfivwU^TKHpsHK4!g!Uvb0g zV0X;W{mWPb&B3P~;@b2ivTVYBHD&8tcK_68j15`s0>{(8>rR|mhkr^({6lh6))kK` z)dhVkxC(s(f4z=9;!{rUHSp=KyG=ag0c`u2b55vZ=$}6n&62r{+5O zj6>rV$P;^Mj4TI&%agda*vs7OXCqJ1=2bnZmvN3n$K5daes_%P?dA9l>?Ghylm6|c zN~O}D)|4GVTe+^jNsfJoearvgSD&06dfLgeV3I?BW7%3VJkAEEg00^~9_U(aF+7C4MKN8}6{$+x!vNY3O0bENu9B=DMAX;WH;^%mCKJ@F?^+*RYIZ0p}*H z=Gq%wwBe?ehI)UEonpep(|qG2Z&T{-MEd$N{&6mA2ik0m9?pih8MKkz4Bc+zTjqSR zSw*bh(G`J}q1Z@2)+vm4<%=dQIgmBrc0)gd-}(fe$eWkW{@+0_??d9hnflLwyqeAY zLstip(NQ|=8=01-33(o#hiA&^A#t&B<&ngsw7A$C%A-+{37SrbOEtCdhMTlOsX8q> zrthGB4i&6P?gHyj{qs^@_%A_`3RWxS||V0{5>?! z)a%vRRrx<4TVIV={+#6Uv{^_5WmL05NJvBo7P8V?>7HALfzr zmZU&clsPery~F|ifA<#DR%PLwMtt@Jw|IXft1$p`-k2}lpFUz?L@FzDc!Y}P$t<#tNbLQ2zV(^3F1J~K5O<4C06ArqEJ@;JJ zyX5JB-al~#{`&@V?rY|icbKC>xE>lhmiuYXaLqr|oZHQM%7(;&_@+}PHuEm#IqK^A z9?xaq8;fS!xqQRuwfIu{C-6}j_rq5(?}5*spzqAJZdl1&CNTB|d?I7Nd999?AMU)f zoK#Dib8SHXtCJ_CjO*4k=E;++L*L}y0sVR%KRSCba{=QPnDG$LKftew;OSx~waY<6 z@5UF~@apS^nq5F!(+qtTZH!{4_N&3t-&`oY&m;lUvQmOMt$hy#n_J2{ra(?(IH^KH(20xNJzy zt=uL@bR~iHUw3o>yy#`tb)O+$#)QxXk-4S0$9na$9zHi`L^h3+W)}RM&SWt)k6vixYIpbcB&f4(! z34A1a@WfjtWezs?Ptr0N@897`KlJWg@Py?H$1% za5xYD3NKb9s|}&>@m_Q+oIW3+@6GlwKImG=_!i3-NZy|)Z^KY{{nudj^p4=O z?qZnmsVeZqoA8o${h_Jw%mtSc52Zf>o13yHX8Dn?=wEO8Gh!}l=FiP}|KqLu{Zr12 zkKD_B-PQ1ByE%8g}QDs ze#kn1M;ZIb^l`>c))_0g7Ju2vyB9g!=jD02x=z~V@eVE2mGDAf41FJh{xluN+Vc=L zM%eEiuIaOt`fNHG;NM+MbXI*xC2tZ~=T+7d*nT+ryTzs3U#FV9i>$uqW8*h~rxWNa zVJ+|r?7s)02b?#b`+l6e3}3Q`dNMet;K}#3S?`@Nb@?A3Kn81jnADOKe9^Op-j1*8 zgI(Lu_$1FUe8&1K61^&8t~{R`F*OWg zzDkF_BoSYLy*#tqT{F)*&S6f4Hv&IYpoiuRdDh~C!Eg7o{w_fmp*_?!?LqoqrZhZC z+X7Q*=Yhl6();iny%<}@{Kq(7hR*_b!1G3&zw9>jjP#12h9%RA&P^S8W@?L%&rFk) z?Q2Z>_N+6{U-h1E+7-yp4HMACXBk6N{9Z;J{wBi&m&{MokyBea;!u7 z{%zPpTkWLzQy-r4O=jO?>;*efBk-uJEda!F=Vo%)tAi)8@ot1Iz+rbX4(e<268oT}hk(b?*+9k@1l-#_>H|0CRQKcH+q(R#t92(>&ONt?oYKxhKu(y4-7{yX{WW- z&d&Qy&c70FJ%s+QHSxw3@W0K?@EE?-_<(VbWiH<3+saMo_=DI$C(Ay5vTQj3{jLZ) z?x`rX;1G-)J81s8A*7AgjjN=}cJnei(k>O3~`*FtmX*lcMkC}_0 z|M`ZU!-O|r?>{a!^vY|TbA`bUZBw)T(nbum&p2UXw4sN0VIBTCb4xepTvHFeYXbd$ zmA+h!iE}=&rE^}W@R}xmW0DCAdY~Tf^kWT~n-)jc<8p~)8e|W=D*7qk_r^2Vhl|e z#rJr8FZ&;$8-A>W3|h@LC3d;;da;!&X=`Q_bMuqt{Dpb+1s#Yc+7i9LdM)b=Z2gec zKa~SOeaL9P!OZZ~i3t>#xF~59_oSXL1+0S}NLyzaaXijHQ z#)g^q*pw4ah%t0Rcl_`>%%jY!zaYD}?_&R~Ki55^*^r7p3Cx7wr?87M#@OFV8#x_) zuxOLZIgYJ~ethP{XTz`iPMP?V$ny*I(T3L;vkjlOVm)*M-_e?NxW)V98_d~+i?A*H zs0~+IHu$_H13TRv-a{ET)W4f`N>A>0dg0e@=geVOU+vVN{q#lBSL2UtXmbFY!{+_r zv5qF?fmyVJEMu-S@x7x>_+S}+WuKwt_(g_8+tj`?=120pgpIi&3I8mxlk`{74}mwg zn$SMp$(+>UYHax`_B>7^yDzwZKG8nQT5L5w1AA@P%cLb7L*JrUCzI9?{284bK-dL5 z0-cR-x&D1@4n1j$PVXXJpwY)Bw2vn&n|?daPQjjEacH5o%=3-gu?EvvgP=1>$mCi2 z`iSMrch_cZ5pHsIk1%2NsjTJcZ!-EZg!4Tf<@(}9beXiax3GRd=C>37Dhv{SEaYEvdGy^H(k^L^85Q_c-V3)pj=LVJ(kFCTNC;W}ZE zZ~T{N^3}lau6EK}uQ&84?4o27e*Fl3q?EaayfYc=I>xgE-u!(L{^Dh>i-`Zw8(y~I zTH`2dsFSQ+k+B;-x!8$?>~rW%1033>W>SX@o$s_Mc!_-5?}pd3=MT#^a=n7>ccSb{ zbmSG6Jxkt^l(V5(1u~ChZS96g{MVY6)U$-C4Z0%O^(?y4hxS_Y?7?Z@950c!eVK2X z9Sg#@t$zbverBgQAs-++E9|xO*`48VUlW_@;;E!0gt~J%^qe}Zms!7TTg%@6Qr21Z zopUx--<39)dPm@EA1^a!yENunkh+WRHSr(N$9Is+2gv09Smp-8PqEE|gs+2df$xGR z!O7UbUcv*Q8xmGIv40Iim$2`9u<47zACcvi^tmvI{RZM4!FKTPA^dkN?R0~OWBqLA z<`K+Ul-Y{t(zs<~E!Pfvm;x|4f!uK>bRV-~oY;EH#D3_&P^~gYH=FZg8K%Ib0GeLO z5^)Dxc=>d7mPtRIY(m*y5qPSQsdx>SV%^!!8jZQ6;#L^WJ0X-KU0}|&Ce+93>OwsS zT6@I`*Vv|-lm+kj>L%+{BUSw*CSqRG? zbV~l(2$O2hZ8%K*SJd(tW)SY-(&ZVG=N>=T;*`W?B*6D|h^hvBp)HT)KHYgnSoLfg z;!b6`7_HQe@co)Qa50E+O98xI?3?Eld15o@%Y2q9wQ$K@X!9QOPi33y1*YW&r~rAY z!K1#nvwgCOEk(vC@L6Y6kusOkr;;|*F%-9fDdcW5=Tj)ZuZTLrOx%4;f>#2!cVt$3dV?Uec+z1!rHRn*-~kL0;^B(9FWyWz*>m;$_LIK!Rl(0fD&OS!~?hlkMNHEp@9 zhBq~c2glK$PHe&VXT0!temhfc0P=`oJfET;X(3Ks!PuO@y5~&TiLz;!@K?<+-GL^p zqNCh~aKnTCYWZ%eqW zFO#shn;BESIeW`Yrs`4V5@vR+Nqdui{*5tposaHfw*n)Eqk~W32lnGSt?`>P=J@^! zmin9ze4g7d=>4O9dT<)un?K220$wj*>VJr71Afm#FZaWza#+$isMz81fx)5{yijd?L}CQRuf9||ZY$Q;#$FXHgFU3m<{#CfozG%wpf&XW$~dH zy3;C`E8oSGPeYkv8Ksk@((xIECZ3hci&{$xil$7;DB+`Sx+zn2m-D{FBqK93yQqM7 z$5*Ko?*q)q9nHJZt5ixp|5ep8W5?v#ub!_`TfE)4ND9Klsx~R_{WTvgt!l~g?+8?p zG38$msA4(!K!$vJt%}9u`yy2=VyQ_LOUcJ)#`BJP`Py5Rq{o+E&L~l6y{sljzpSSG z9qgWpUf6BFtR`JP&G;XxiciK{UuW|h%D>gIV*P1>|3pohJRO#ipOH7EIJY>xnD6Xl z66Hxf{gtc=?Csy`?nJ&~roT+**W+`)NZWjovdTry5dFDZk#DtCv55VNsw%oY+uo{L z%;&R*Rbof^ClISt%6ty7N=58%?NoJWzTYjZT9eNA_^MP+uYLNYRXo~D(Z3h_tUD>nEmy%Di+coLaS04>!WB@D^t-2%c@?3`{QL*D?Prd%H{h3 zvMM!J{!Or|mD1k_t5Oly_mHY+I{H&xRcgz2B~{dA{k0zZn^aY5P?xkmO;z=R=1J$O z3SGC!DzU2N^yjOp)Jd1spubGds`JH}HQ8UC(rh#rjO7=4vhly(2xXIy4KsBC^;|)CUv(aaAgs>L%~gbr>v1!R@E7to zB7CYgSKoy5*)ie*UJ)p=s(z%mCY(k7NJ0VW^R=Ml>Ba@MjHQH7HYlV{x~68*E*od6 zAL(&~?@?I*;X@!*sRBCPlQ5A;AHp{Dw=3c3`s`8=KEnB4gnQ^;L&ERL7e#msB#W9! zx?JG@gHCiL{Dyu?pSHjsHY?O7GQ|>x(eBlRHArVuNR0q#O8;@RA7Kjy!={Cb;XIo* z`p;B>ghQ#f9bqHdVF>C|`qP_mFXUQU=!<^hCjINy?RF^!2p zyHdUfVIoLVS|$`#Ih1QmC@=PEN;s9oYY02i|7gP9jJq%4?evq481)8W3qskXXM;&~ zq5P$Uztc_x;WhNHE#a9ELU&}#`g&;&cvPwZ7SXale6j^8dYshIVGb?SicviF&Pacq z!J`NCFl9HlhUO5;5G*+S7*c(ZzovCY!aLcMOg1N)rK1I~_G9*YKB8<0aevs2$i6^S zy>r;Q9?Px0+1#$o_Rq!Mt%%x!IGb>Vi!hm$aLf%C(2oW4;ObiTGKIAjz~WMqxD4s9 zf|S?Nr4C|Gvj9zk^UpktHnZP38(!Xpd2NQTo9<<6{}HS)&9}ng0qmu=MzWY{t9;I9 zvM)CcDN<&4naTTrr~+_`b`Oz$e36O!AMb@HgS==8s?-B<|HwGfZbK6>;S1?kI{jU| z$0=2txIn8YkUd8?e1`l>=Q0NN-sCoD;eFf+e1_X_>(Oe)Iqg{|_bv0eot@&ug&Ku> z>73!Doi20eCmul8_B(N*Qpa(N6J4lw9iF9?Irm)~_NGza3o)&~?J#NEicKiTg3D?5 zF7{0BreU_fb50nG4y&Go&0%(adpb1?cew`o zGEATR)e+)DoG+n_{Acqa!smz!lz~0zQ^$*O2jn}3;;$gj5$Ko6b1UhC$@48ZpY{%s z_L$T`yeaMVA-)m14V^zq+17-&67NV}X)Bp<5%rHEpVTuEchHqQZJ=+LzH$C=@DgV%#8;0@pm^4|f9>zxJ82JZy#0`CUrfOEll;C%2N zQ24tLTm&u#mw@+zOF=QN<=}nb3UDR33cMd&4Xy##g6qHs!1dq;@Ii1RxCs<~KMXzs zJ_VWPd=}gSJ_l|Ep9i;r+rb^+PH-2v z8{7kyfqTIhzuRl$~5>U_!f8=d>ecRd>4EVd>=dl zegGZ?KLkGlKL(G1$H5ceC*Y^xXW&Wj6!U>`6N>vM3j7@W0{jyE3Oo&d4gLlE1{A;g9r#!9 zd+-PFNAPdpPvFnsFW}$7e}KP&zk$Dle}Ml4{{<>+yc$>?tO3>pYk@M+)&Va7F9a_F z>w@*b`ryUjC13-vAt=krOTotAW#HxD6<`zaN|5PFH3OT2Ex@b5t3eOg5)1%`fif=* z2SW`WsY4mcVd1LlHb!Es<7I3COg3&28f0w{AsF<1hYf)l|>;AC(L zI2D`*-ULnuZw7AxZv}4yZwH?Sp8=l*w}3JiZUvco)i!WDxC7h??gDp%d%!YqFZcqu z58MwP0AB=O0$&CXg0FzDg0F$EgNML3z&F9Sz{B9%;5*>E;CtZv;1Tcx@F@5p_!0Oq zcnmxao&Y}qKLtMnPlBhw&%rOiFTtUnJ%stNI?<&2A2;lAQhueckJI*m z2M`bRHGS!84l2xgcEln?b0g-_1C=5^{02lv_(7n#a@p9AHEkboFH_|Us8vr>Z&F*t z!kXv6IH#S*AH;m0!aY&P33z&29%k?e=1bbYQk;B3J$N4`{v7F)X_Jl%q#x}f5hFa^ zL?8QiL_}jzWe=`06f@|Cj7Ff&OK=5qm}0jgQe-p(SyTk}D>DZjK%J@AhUaq))u{yY zfvgq8I9j1XvrPKNt4;VsvI#d=!#!|*6LR?JNqEFqg6QMl*VDf-@D*Nd-;6q54?iih zBn?xe|AXN1N93D*Ib(xQ-NI1GA!aIEIvCU3V(Pb#L)+OD?h0MpLiq{w&4!u<$fXf( z4>|qZg!7|N|NAlDHY_R7$)*!o_Ejf0`u2V&Ol&^xhJJm642HrpH~a)|1zrrsUDjpE z7-8b}aej_Xof+2Yg=@_=>1~i{ox7OY;K3I=ee<58PmQSO!yD0&n`tZ5obQ}kgLOMN z2n@ts#jrGe+MFBQkSTMPp#$KZ4HMw)>x}zS(xxwFI<;hEpO(HZbYw^vxIG9>PyB(X2L&@OMfm$rUG%9_=rcCW~f)-x|$}mk5}w7)aWiu z1=#bCemW^_6WBKA_AD!p!mi)C0Q8+B z=bzvGQ?>!s(E}V(V^dUOQZj#jj!#pmX;3LiX)0k*yy_bjtp3_9pdeuln~>MNsR0p&&$uOO4Cv$o32OKpPSF~oJFODC5o@gB?pJ_ zR=JYG;1F+QRFr-Z+!U44H{|?7wVnme%2nC9DxX)`70dhV#$@D`sA3*w=Ek*(;#G6- zkJsG^;gu5JG4w^gMtc4RTn`R=y>^81URByn6?apm@U0ju6$Tc|fnm`$-zCp2QLsOY zcOZ^dg$2cmPa|jN6=$EnP2Y!(y@OJbTXamUSHI;jHGVK}9*jnkNr`c3BDt1ey^NN+dZXD5Y&bzvRT zA7zbB@=u66BOyhn=-T`CbNUw=YPTY9yHmUY(JL>_Lo|F-SS1HLDLFaibV=@~C9jxq@{~7AdLHla!e2RdP_U zij7K%$OoiV@Pf*M1|WJZIq*J{9obMNw`R>XI>DzjD!}!Xgqh zT~3r1@?OSl{Vu`sb397o)$hzKE+{JT^8C6QrI-}G`VEfqf<@(xlD8%%L?%XusO-rl zoO8XbadN19wpSiW%PyMY<$naFIT@KHrA0gqFYj{X{e_uh#t}&O<;9M^U+0zABwAno zmCy0wR&?7%8NBGQ1dS{4dC6j6m^UaQA~T4t3 zkd#|&QnIs5`%W=Vrto&oq29DOTwOw3qAJWT$}Jp|U6he0Y%D5K^6}d8w{}MLkBJ({ zTQM85b@Kc&vn(&lFyRQcN2;@Z(~hl-!QI(;cWuj6V=L1QACoVft%nKQP3mKpuzSoF z%=(_}JhRopu8#7ug}8JeI|OWXWv^jZn{CI3*~;m}Hc|_=RJuLH?y|MDr61A{9CudNbXKhrYYO6-L7J1ehOo2&fP<{ zCBN&;9apwp)HrsRpJ5B?Vzzg7a<|8?FY@M(v%wxN3MWLFv+@RvMbz;P?R(k68MxP^ zKfKu~eTeg0E~PJwU*M?K=VRpYZZm1utY@rjH&qqBiZCVShp_bs&zsja@eA0}>buFQ zEggPTU+Bbb>Qc7lzMI1q6Wdt*?qLfFxi@^AJ2$nsJ57CU;gLVI@i-}+*k)}?+vDc4 zd(ZY)2D+8O7MwqPJddqhcpL`b{ox6=`ywf8!@Nt`g|yLVyHoMpt%zW&?n&-2vDG{6G49e; z&|i1yo$ylN5_IBy+Bt%pZp}rfpEK$19N-Pcx2puSX|id4hm`?b^o{D7=)nJ`b^dXmgB)ThW?Q@Y`6zo_=2%tGts0xg3*qLXD71Q{#=T#mSQ*9g}{TO zO{gZbC43{dQEId0UY}bm_j32kvb)YB*&b$`Bj%esM^*{dvNPqee}A}>dTf|z`64?m zVPrLTj5~Pn-G=#V%~J*!u+{ns{ElI~AK$=sKRi1ZynHwM7mXb}?c{2REN3RO*zHPM z4F1c-BPSQ_J%t?MS?CUA3ZLTfVFKevaEk^Rced<4kh%nR&?kX7c;5tF%YK3C>vETq z^!L$&FEh+}Ii5gIcGNQQ(QJ7?ZOQgEt1dY+`C)E>A&-~Zn|yLy!X|(_+8eUj#P4LgTR^@FmHq&}5_!Gp8gmkT*^M3wT!sB#&zRG0VtX1r6j-ql zUB><<;>+r|w)*FXn)Ck0HR$ea`nf+0-cIC}13Dc`*_!cemCxlaAbq&z5^gimZpmOa zCK}^&=<9uv_?2v);DCSc+{rD0E3x%^@M(+K_Qu~#g-5?Nzz?H~gOO+8bEf6%(aCS= z|1VJ{ev^xb{(W=De;?+=`Y$kaBECl8UD|#KKH2c4dw!`Ww`luw=e7s8O5(9Ic)HrlZ9{xz#~geEzGWiqEkM3c1TY^HUWr{@ z#JK7q!{+ci6g}8VA77Zj?aJ-kf-K|divv!J0rcmNJtn@zrT=!0H81dF#(4a}Lgdi^ ze>=xMQ@QZ)0G1k--&@&|@h72o^PRHwyBPYB%Nb85{6$w5WnkNZ_@C#{+ztH#0 z!*|1Pc$|H`Nk7)Xg#D1s?uXz@fr%H;&tE3uw_N4lY-7%SMB9gvN%U>33$~$G^-cO) z5!|X{i~>z)Tj1?h=nA^{5Aq2-!rWFklXc#8$O+$J!_`U59q{FP^wNeMeVF6A<4-J| zd>Y>OEXID}usc6MoPKJ%14Y(H8$Po!gzg zd2;4*>L|khAg6xtQy>itVH|%9!MBufD;}Hq7ye;#SDtRchEBlCXy}0}SaYs~pXgY# zUCeLj@@HeslPk%&_$PF3-xB5{`1%;OxtX$icIYPbVeA5j4jzqOGQI)mQuPOztLB(< zE1qD@kMFag7yKMIp7kwq+qV`!K%38(@>C!Gs8=Dk=V{{^OKZwVg z%_#JMamUi1F^s9jBKr)FD=@at<}ok9FMoL9G0MPafeWlQg?=wtj>zY66JAss8=#+u zp24o+=ZJgpaoF@weCREVU*P18Cj1TCzbM_%bHkXA;ooTNbVv?QK)UQ?J-j*>1Y0&P zdG3O53*rAO*u@)+?Ji_>=dG-p8Qb-=e=+@vre8M?;`Tb@SsTh4w1WEI9_-uVo0gtN z&PN`BzUMZCP*)pxN4pbf=e0PVhh@qXEq_f zmH3^k5|i%`wot>R`*!ITE;-w25}tYr-DFHQ{6Qb?*npiC*eTe%Ro^6d;t$m>HYr1~ zodM5byDfM`fbq$j(7GJ|tYVdUKqv&D^*K5Rwz{|*ytRv9Pzko~7#ZlxR(i@w7j3=5a zunD{7cy#!tVEk`3kAW=Z2`jZqM8{R{H0xLUWN3D2@?KTrX zhVHsyFMWEBehP$QrvlNeDR#q`3+|-f^dk{H=_BAOhsRmyV*}b=T4wSETyMg|HJN{} zHT2AS%mw{0dWMzv)foR3~$&w*vk)goWy zK~c4uxD8$4*Q`~{DYXB!RcF_(_F3QX@MIIut8c>Zo3dv>`%4nA%P`-(601(SKw>qn zk2gdS#iL*Nrqaedw$&Q> zKg~K62F4)kqu9_#!RXTk$lcPvX;bhC@Z|dzT(=>^MxD`BWR{Rke#&`ie|sZjPq?i; z_LIuG7+t9d!WOa?z`xvvpLn!8*TBgAqXp=}ZTKkKv0-9_p}M1=JMTjt@bQXqJk<)X z8_-9AMC9<9B|DQ+@iE{=bf&g*uGH0zlWM43c-3d$+TO%Hg_}v~SUI8}3Gz zj*Z6mSa#Ah8ebl2pT*BW9%qd6x*#KT{UvPp5H>Il`&ox>#Z*VO=;uIe>o4%KdonhA zGwUzn3z{*;T3kmm&ez~^e`GO&eq6DIH8bsPM|KltAir%+dmr|2=qVGbOo|7`Q6#q1o>zj@IivqekIxg`39uuxbFJ{6kfu`_5;K*=vjy?y_ZYbwp zuE$ztzd2_gSCHq(4s`r6o`hyBwaDj&S?JJdbZBQgcdA3Dh~O-ce=`X5%V(W+4SKPT zbtG~Ucndq|$9TR)7B%iSY0K_otvb`ta@;)|JxDb1cZ;!$w$8bVsPUV)uD^pZArtw+ za6RffiH>w_hAm!?KN-yRQ#EX11J_jWVdx^R5qhB8=tluIC2wb5OCQH}U@k{abIN>M zX@_3?REPENXpp|Yp2Z$V26Hso-uC+Dm6(S-0klzozT8hAIz5S;py#270%H?cr`^Ui z#9H*IfOTL5e5Kz3%g`_S_w!cPZRkq-9rSf4Hs1taWR-n+m#)I+aD0S`Zlx}Pt|_#Q z?oF#Es2Q^X;P%aXFUr)bgA~PFmZ#Gm?YxXA}w^NyOv4`G% z`eC1a;#&SCfi8x_(_-{_@I>bF23*evU`LFrHvOMbn|(g?C>o#FF9u%DV63FCWsIBm z+BKa&oN4vX&bh9SP2p>AlHs4-Mr7_+lmf+k6zx3U%4Bde}VjM!njU)6n;!+ z-Tfr%orX@G(dd-?`FCk8>-(nsWxR>EyTpWZunBqUUf{?u<`{VK z1$ubRLX#%P>Qz&f|see6s z@)7;N4BcCW&9p~$|Fq;mdG5GTbOEyzXX=;G@%?Dp(B&~Iq}3+4qXp^ z+tBhRn?lb<;RCI6S6X#_-5ohj!`?@me38iZBz|Rbl8FytTsEwF1REP^#~2?v+W$`G z1^Vu>Lo`y%MWL-c7sY3&X$ z4t#?^_B|%Fj|=JR7!$PJ&O+HjKL){!&ID zxTXo^_&$BQFWgIKp%{hnj#<3aMC z#8$>8q8IpsESKKebxN4&=UYZ$cLH%1UkmGz=Qeb(26Iw<_A1w+lRdb0O$9gNFJ`jV zybS+I+H-?hOVUn_TzpoX%buJl;dzb`~G9hcmy|V%}bj-ptj_sX@D#%cx7> z&1X$0$H^`|3ZTpw(~H=*N&vF>{1K%@Ec^Q|SYI5%>@t z@Q26Xd807a>G+bl{m~h8SzsNyE%24an>{T}{NhIVEXyvwyuzgUAAfQsj6`Q{rp{?k zqoeSA9Xe-2QIerbu|XyO3+9@z~D* z;(_?IuBi|5FK=L9dIWpG=+G$S6pM^XFJaC8l&Nc#AOBx|!KA-M-isl#>ad2{ zg>S*{3A_ql1pY;P0&g$ky5m0b#hLiPc_vH`XAKSg9z1v&8?zw~zj8KsgMQAVt||A@ z4t!W;%`+FmBY{3MSXaWQ?&$p1UdU%M@*0T@;7j#c>|c_;m$XyZo*S-3f1B-dr@-6M zzH$GUeC;_b*FV+7ccOzI(MLDb+QPrWEnePtGySpnQGj2q*MRG*N1fciQt#*ZJsbKa zug`-WfFHSsRUS-#$MXshq}TY9th z^>FPxlKZr@Dez1-b)u)I(f_8F`~n%Dd{rnd*t`W`?k1D>Czt-uM)wazwPB7T*`IBLVSA|doIXgAHL$A?f4F4wC`T-2{538*q1*nL66sEo770;BhbRq3!#6f zY!QBKJ$kUlub(`As&2A;h~yO*IL(A|e9n@Co$?9shsR*kjPKP*bTpOgvlaOBrY6Tk zY^{|3=Apyg7}wV$x#ovg&rP;#fFIVlofKaxp$EF%jWIK>ORqQQ9;%K%Lq-Bku(iJM zMxeB&2@8;OmqyGHWvu@;A`gql<}BCw*v$0t@G~7-XvnoXeK_$1Yoaaqvu$=Rd`k_7 z-a;F%v^DWz%S^avIQv|T{dwebKXy_*iF)ae8~)bL#OBc6O!!q5NZx?HFJYdie?_$4 z7yWDqzXjg3#w>Igx;o)1p&Tfi$vTjR^53Wd8Up&myR;$ zD ze#_@`FFi;nmmfaeYskmZwMSdAzNls5ofucn!t!jI7~Ft5W}CDt)|s$1W8N45FVT(T z>+wH}SSPo~Zy>K*80T&HoFHT`FyK<=_{XtrcziZUMyFnB=zI1~>iHGkoQ6jqST=FD zHNFe;@hMN4{0FXM4s_{Zz)0VE?ASl(b4U0h&^eLo1o-F=pHffiWaQij{xPn(mti01 z?C3!}_t%s;>rUSizu(H5dY4Ii{c6T+^{F>HQnxX33TLf`jNEX;Ja-J=c^`Y^@bz1g zn_?3ap+k`Gbm|lMX*Bma(Sh&Kkq+=#;CsS7R=r>5n6&n7@GrZ$pXNbcv~NQ_=4pYz z%el6J#~H|D;|1J1vUnlq_E~wZ4w4xA%lODs*h!~hCN9T2N({Xd8y8qepKO?6@xYER za>akdj*iX37e7NCj6p!&bW-Ea>+TcCd^^KG%A=*3iiR|COH`afYa=|9)n2^eQv~8)%A-#FM5(S>lEg+7OWxgbNAxwZJ5B?p%wGm$N#6j`+%~l zNE0~TfGCPcjslW%5&_9MXAlJu$qls7G&BteiYN*QDxwkuL@*FkKrvz>DT#c3<3U<_Tb5C%M$Z~^uaH@Lj zRKBjR9qD$fcawXBn(Ho7&cWgitYr=JXm-rXCwmS-XExBuxXYVAexzK}qvK*3k)Kbw ze=fzAPKY0mJ$9D0f&7M$!ACKhCtQ2KxwS@Z@*#)qN0jrO74f?xe{4(kl6kTcSr46H z5AQ~{h5LFOub$+$A&2~{urZ%xUbULgPpCLTd=oLtt_2mBc0TT z-pQ-rVtY8*9HhGf{y`c^>^pChpE5jz8$qve5gS(y<>vy@`zlcrPHX&~Oo+e}( z+!fcdk(7N2ZP(I4a*mZj>B(vWer~# zyhyyk+B4C$*&3Z~R{m9Vt3I1ExYE+Eqwlsa&CZt3jG|F^{CDNl=xAB9$iG^=-*R6z zHvTNIXF(2&lwq+pYEs;O0zFP!sSf9>Z!2pDX_Z%ptC6OEg|`|8*JpC%FB3QJ<|Q15 zutj7R+|HqFNP4~fe(MT4`1&pE;q}HX>?W(c^kQXOvdB0XJthAZeYO-keoS;8erJ(E zUggYPPh0oX=fwG$d|q}>Cw=;9y0X8VXHS*boR4PTmv~e`eu-}5_QW%J$CbvaGf6@vwZg1j#KxTUiDh-84ev7{}8+R znuE~}`{^j3xZ6mUlgeA?i@WLJcPt?(QrY z9sSZU@`rAWUy1xD=}K@L*%Ex4K*fedj(N!P!rSOBc~5n`q7b?0vjz2uPu1y_GWv(M{JT2c)>M7+nOim+ z|E{Os%KyDQYW4PXs)*QZ?HAGvUG9ee?i_=r4d|nc|Adfy_D@? zbuSbfU&FN`Ma^CM%+CIvgI((x;1Xj>R=5(mtW0afK4h$njkVDVGOI_1gSE%U>ixjI zQM|r4YwOeK`Tb-$)4FuIu~qx7GCl=&+gRf;Sw7z_I)Cu&$UpM;-nH7JlC-yEUn!uB z9msyJvY)LFDIKM3Ui{+mFbb+xR-j@(yyia&G;y6$<)Yy^D56z zm9>wtCGIwrj2|80QFqT4 z{P8UE*={e#y?wM{Uv-@)ulhTUSM)0Grb*`mCwu9`v!mjnk$?U~V~(_fdsScgzLEV& zZ8TtI6c+z2+A)44KXqt$a`yS-F3Q5eFef@Hyv@9^C_0|~uz6&oeH!JQyI6miL>6@Q6EYr7KI^te@u+CZiR2U9ea75G zSEfAuy}%r8Zrd3vZ@B)4?e;v4KbbMT+e#No%*wuVdE@NkaP;Hs!_ULnOQoZ*_p8uN zeIV{;8#sI`^tL~igH5^Bp4E9# zc>MRKZCVjs3%^a(A@1(3=h?XQddK?l zhjgOoV6=#0?8zVbIqI;t^~*$e?G1@%`em!^^OE#AxGVY3t50?MpOPkT~7y(fMp+g~luS0@{P z-Cy-?x*gM}>=@C}T^+JRmbT139-!V2Y3EADwdwl*@!Dx?O*W)F_aw+K-0?@UZ8^|$ zvnlMG_WF?aDx-X(dS|CMFDv`Fkh1-jE2%AlTdytOuB&ghK6sk)%u(tXt~@BuO^-!! zR$QiS6XaA(xtr%R9+KD3=c*5#UO~<~Vr^YPTgTnfyyjqOZBx#)R5nCHpZjoCJeEF_ zkbZV(bTq?waNkYr0qH!dt&0saKDN`Y4@TEpFFx{)?DGaUn)mBR=hsz;{G9Sl*T=q# zjXxoDqw@DE7hRA4-Z9)-q|31d1deX0*hwZ!L@Yn~27*B4G!geQ&*CFJ4WAs-SMc4Y=#YQ{T`qDV^YZZHi zL;W4eNPmxRPF`wkXlQ(&P}N*s*?LJ?M-MWGJQ>|vYE9%P{@!K$EFK%XLine~uf5{s zR-Pl>nr8N-RpRNxX$yOMv9^oH z3w~#9S7@@enz^g8>-&$3u6|ygOkI0tYhvufkC#ewiE^KDl{teJ^Z+26Lu*1&eU#g$p65E?CVREzasg>-6?eM z$5eH0Pe$spqaXXMBN>*C$56l4*4pKw^8xhmjUL(8!cj+M3a+Vow4p!2ZP^+5;dew%RUZA->84pGxdw{+2NUwMaPTDtkhZ2@k>QwzWx*3fzzzVma$>oo9K46 zW6NCY`q1pqhBvYI#%cE)bY2}->TjD8*REgGCjQ6zV0L0X@#Sv zuAn+vsVqMJ-6 zaW}eLbo5zadlE&hsno6MHOhZ=JjQSPt$K?WyZ>mhhROflGTMJ#_SIr!aY+}p{&MRv zHqTde$yl7d3-zxP?Ga=~aUW`IY-4-8O14LH6_oWddKld7wvj)G%qk`5NbY=WMS1jG zqMuA9BRU-1XzAWhUM6yR$C2*yT*mQf z#!9k2pgv#Sz?P-2E%e8Y ztR`LfK^s4<%!#gzK6c08#1Q#)H`X1|XF`n9=A*dlf2rpqJ)8;aG26OopnU6VzDJ*#eUm#Hm3(BAv<)3KN= z<|Lf0<==XE=)wgbE z$J4Q6pBrJnu@C;Qd~W2|lY^cfoB96#%zTULoSx&S-QRXQMZ5mkw`Rv`Uq07;Rqfrk zj~(+=z1afmh7UGRiayC4ea`vd7nu{jl6~a)h>Uda?HxHTZG8N`w6yV)vPPzkiX}5_ z@`WMMLtlU%nU?95*%_JBrVh&*k>tzshm9DKnwe22$uE5$dQo{oHR}Gu*PF-Q`JL1~ z@i%uT`%!?yU&WnNmcu7y4vAhboNT6tKDeG_BOLnRdXo30)gKYwhMsIOGqaNZ#zIU@ zk}ThZ)R7tKsoq4LYzZf%|K~d(=Du&govrlfx3`yWjQ{YwQq z_Wh4z-~UMc$3tf9!xc&PyJO$~`2D{BarozJMok(wBuqX3dCWPp@z{g!@ISiRhmm|l zR?@d+rVh`@$VxV|^kJjZMkG7shj;iVd(VW7jB&{pF3cH2hK(CNBx_7&YWUw_;gIP*z_5i zNj{@=aCK>yIpq=@hg|QC__bI2d!ESm*5H|Y_RsYo#UmYCN_Op2M&3Gc$+BVRk;VfQ^H?6_nobl7?A>7+Hkit;w%kIv^&I{!}BTky9jpIz*f@CuoB z{I?)V%534DP^A2%5ViQ9D`zOv1LV_yzfPo%{D$%kPiJxo_cS3TJUNh6%2%#;;+IjG zQ~4cSug?#!*RYG1GC;c3`Gw@83Mua?PfPv|;WhbVq+5<(P`(xUFOY9B{veUN@>jWD zo_~YPLW4GPe=~kh$m(F5xHV;z`@&BC%j8vxKV4vDel6u|&)=%vZTYj5vo!w&zTLHy z70OwcU)TL%TYH~;JWWWctbEn@!AY_Ts-haIqXufC7HXpo>Y^S_M}3@u1_*BgXoNG- z7)=n=vKgAA1;PiR8xT?WZ~R6$6X6Z}Yh}LMuiJ%alGh@bE? ze!)KM#{v9`6m`sjoXCaakQ>M21mwYqI0<=iGV&q3r7J%QpdbpNFp8ikilI14AiQ0> z6i!8HltEdXhH@y63aE%msEjJ8ifX8i8mNg{sEzQ%I;clIoR07xBWIui8ln--L{)XH zhQ^MYpedT6Ia;74TA?-Cpe@>=J;Iw&JE9XhqYJvC8@i*8bnBuXPDdqFMiumMy(fC1 zH~OG2&O$$&jdRc+18^<|qN01NqXufC7HZ=>*9M`xCR?a`oEXN9n5$nZM@lMv9j&kF zK`F0n$&vE$X*p6By6+NQ<{kbA2!0-2FT8E>TjOs(-8MYs8zlTO_XV9TZM+;`!_z}g z_ZF;jY+NlSeokF?z3W--nXZqo=RfE?xb0}JOtlOTjm3LQw_YyJUdOw|xm5T$;(UPx z@_Sy`hLDEy67mauW3A&V3jex$EAcON9@;wO736ol^n-4Pbfy>%8i`ZI@vKlb*S|&3 z%?E|g5}qlp!-K=ITMrIPZcCX!P7@KHKu$sy!kcq07yk-`p?41E;!4cJd|ZXAaSayW zS_JuChwE_z7GW`#U@30IGAzdm+=P|58LO}wx8PRXhTE|QYq1VN-gn?m+=UI;h)uW~ z_h2(RDE~m5he0?WgE0g{F%01?R3k7FL03j$G{zte7ho*LAsyq9f#=BVdAxuZ@h7~5 zm$3(X@fu#o8+a3cL72+k#yfZy@8NxXfWP8z_z)lAV|;>7@fkix(3QXAOMHc|@eRJk zclaJZ;79y~pYaR!VLuMwSEP_n4&+2G9EaRE9w#6VPQ*#bi<6NLryxHHpdbpNFp8ik zilI14pd@s`lv7a}Wl$EnU`jcZM+KaR(AUn#U<|=f48w4Yz(}NG6h>nV(r^LBVjR*j z9vPT`i3s{W30atoDVT~2F%8pk5iZ6IT!NXn6qjKZ?!|q$9}gh(?}uPGIrw(fNBEE8 zF+7f~*oN)cft`2)PhuCI!qeD|XYefkfamZ>JdYRfBL0Mz@G@S(tJs4-V=rFA>v#ii z;xBj$Z{r=ji}&z8KEPk`H++bX@G(BYr}zw?;|u&9U*ao#jc@QR`qTYCQ=hU3Cf4mJ zher{{s>Jz!m-D9(#?Z&H72B{KJFpW^V>h0`v-ks^z>^53WH66TMQH>Rs5~m5A}XOW zs-P;Wp*m`yCTgKJ>L8d+!Nd#ZV0{F0I+%>Xyl#YGMhBCv34%%049(F3Ezt_C(FSeN z4(-ta9nlG$(FI-64c*ZLJ<$uj(Fc8T7W(0Agt5Cn2H;!_#CaHm^D!7hFciZu93wCi zsThUP7=tuifUy{dbc{y^CSW2mF$q~%gUOhJskji+FdcW|E^NR?Y{Esj7&CAQX5vy@ zhP!bOX5n&Nf!UaYxwsPd;y&Du2k;;s!WPWK$(WC;a5b*MwOELJI0gAp00nU!9>(>! z0gJF0ORyA$P#BwWBbH$~R^TQSK~WULO5BW9SdCk7D{jLhD2@_XfZ;i{0Y)Mfe-!o# zUd4c1ez@)UXXpR*(g^)NKL6KHxz^6tN+Ul1k324t^#$U_=l@E1{yp=5;=Dgu`KKVv zo0luY6_|}Vn2Reh5A$&quEsT3fNQZ3*Wr5HfJIo0C0L3Z@q5kx|L%D|ZYNbzhbpLw zYN(DHsEInLhtp9XXP^NZq7lwSV>CfiG(&T=KufejX!|y3i*{&_4(NzZ=!`Dtif-tR z9_Wc)=#4(;i?h%VXX707#{is*f!K%rIDlV~Lcjj6t$pG;JC)AGbcO{6TQ$Ieb5(Y zp&!o1IS6xp7}LUfpf3H0kEvnoER8Y<%&<5C?3P(*otk~jvd&EC-5Y8;VC?g-FODi;tzNZVcdQmFW^P|2`}Mg#K-eJ zj{l6kcnz=P4ZMlJ;4Qq3cknLW!~6IEf5qSMAwI&#_ynKgGklIO@OONPukba#!MFGh z-{S}Th@bE?e!)KM#{v9`6m63OIgty;Avcc43CM%|7$xdxj6nhC1yKlT&M&}Nj6*uc zBLjt9pTM7pOcZfm6va>+lZ0hq3Z~*hOv7|sgo{x^ypkw|Q&AdaP!^|QhB%j?oa34N zOK}-0I-kYA99JN2Qu^18z#?o$qD^q4^JQ3$6}Sm2Q9*h)^H*Ut zZo#d%4Yy+rjyCsKc3&;jMp$nibH^lbOai~J1j4+3A*LPcf4{HbkL7ku0{;sn@E@tu BV|V}n literal 0 HcmV?d00001 diff --git a/tags/2.19_SDK4(3rdNUP)/VCProj/bsr_trunk.opensdf b/tags/2.19_SDK4(3rdNUP)/VCProj/bsr_trunk.opensdf new file mode 100644 index 0000000000000000000000000000000000000000..cdfe0d51c461f46c4d9794132cbb050a8794f64b GIT binary patch literal 30 bcmc~}FaknjAZB0)VsK?}VF+MwhKm6JIJg6E literal 0 HcmV?d00001 diff --git a/tags/2.19_SDK4(3rdNUP)/VCProj/bsr_trunk.sdf b/tags/2.19_SDK4(3rdNUP)/VCProj/bsr_trunk.sdf new file mode 100644 index 0000000000000000000000000000000000000000..b0defd52ad38584e70cd73858f5cfe5d4eb308ec GIT binary patch literal 1396736 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

@nGn|)V+~=V|T^kVJ&`V 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 z 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

g7`{eFPM??MXrzZv{c1=i(?;Ce&tbJ_9n4ZzS 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 literal 0 HcmV?d00001 diff --git a/tags/2.19_SDK4(3rdNUP)/VCProj/bsr_trunk.suo.old b/tags/2.19_SDK4(3rdNUP)/VCProj/bsr_trunk.suo.old new file mode 100644 index 0000000000000000000000000000000000000000..63c7d4933d79ca0accc71ed0f4a53a79cefc3493 GIT binary patch literal 45056 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 literal 0 HcmV?d00001 diff --git a/tags/2.19_SDK4(3rdNUP)/VCProj/bsr_trunk.vcproj b/tags/2.19_SDK4(3rdNUP)/VCProj/bsr_trunk.vcproj new file mode 100644 index 0000000..1a6531b --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/VCProj/bsr_trunk.vcproj @@ -0,0 +1,594 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/2.19_SDK4(3rdNUP)/VCProj/bsr_trunk.vcproj.NCL.N2232.user b/tags/2.19_SDK4(3rdNUP)/VCProj/bsr_trunk.vcproj.NCL.N2232.user new file mode 100644 index 0000000..257e4e7 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/VCProj/bsr_trunk.vcproj.NCL.N2232.user @@ -0,0 +1,65 @@ + + + + + + + + + + + diff --git a/tags/2.19_SDK4(3rdNUP)/VCProj/bsr_trunk.vcxproj b/tags/2.19_SDK4(3rdNUP)/VCProj/bsr_trunk.vcxproj new file mode 100644 index 0000000..506aae7 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/VCProj/bsr_trunk.vcxproj @@ -0,0 +1,151 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {9DF31AC3-BD19-4158-BD6F-9CFE64AEE5D2} + bsr_trunk + sim + + + + Application + MultiByte + true + + + Application + MultiByte + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + $(SolutionDir)$(Configuration)\ + $(Configuration)\ + nmake -f yav_mcu_bsr.mak + + + + $(NMakePreprocessorDefinitions) + $(NMakeIncludeSearchPath) + $(NMakeForcedIncludes) + $(NMakeAssemblySearchPath) + $(NMakeForcedUsingAssemblies) + $(SolutionDir)$(Configuration)\ + $(Configuration)\ + C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r;$(IncludePath) + + + + MaxSpeed + true + MultiThreadedDLL + true + Level3 + ProgramDatabase + + + true + true + true + MachineX86 + + + + + Disabled + OldStyle + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tags/2.19_SDK4(3rdNUP)/VCProj/bsr_trunk.vcxproj.filters b/tags/2.19_SDK4(3rdNUP)/VCProj/bsr_trunk.vcxproj.filters new file mode 100644 index 0000000..af77d25 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/VCProj/bsr_trunk.vcxproj.filters @@ -0,0 +1,210 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav + + + {4e2142a2-478d-4e47-ab3f-7ae7d1e531bd} + + + + + ソース ファイル + + + ソース ファイル + + + ソース ファイル + + + ソース ファイル + + + ソース ファイル + + + ソース ファイル + + + ソース ファイル + + + ソース ファイル + + + ソース ファイル + + + ソース ファイル + + + ソース ファイル + + + ソース ファイル + + + ソース ファイル + + + ソース ファイル + + + ソース ファイル + + + ソース ファイル + + + ソース ファイル + + + ソース ファイル + + + ソース ファイル + + + ソース ファイル + + + ソース ファイル + + + ソース ファイル + + + ソース ファイル\renge + + + ソース ファイル + + + ソース ファイル + + + ソース ファイル + + + ソース ファイル + + + + + ヘッダー ファイル + + + ヘッダー ファイル + + + ヘッダー ファイル + + + ヘッダー ファイル + + + ヘッダー ファイル + + + ヘッダー ファイル + + + ヘッダー ファイル + + + ヘッダー ファイル + + + ヘッダー ファイル + + + ヘッダー ファイル + + + ヘッダー ファイル + + + ヘッダー ファイル + + + ヘッダー ファイル + + + ヘッダー ファイル + + + ヘッダー ファイル + + + ヘッダー ファイル + + + ヘッダー ファイル + + + ヘッダー ファイル + + + ヘッダー ファイル + + + ヘッダー ファイル + + + ヘッダー ファイル + + + ヘッダー ファイル + + + ヘッダー ファイル + + + ヘッダー ファイル + + + ヘッダー ファイル + + + ヘッダー ファイル + + + ヘッダー ファイル + + + ヘッダー ファイル + + + ソース ファイル\renge + + + ソース ファイル\renge + + + ヘッダー ファイル + + + ヘッダー ファイル + + + ヘッダー ファイル + + + ヘッダー ファイル + + + + + + \ No newline at end of file diff --git a/tags/2.19_SDK4(3rdNUP)/VCProj/bsr_trunk.vcxproj.user b/tags/2.19_SDK4(3rdNUP)/VCProj/bsr_trunk.vcxproj.user new file mode 100644 index 0000000..695b5c7 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/VCProj/bsr_trunk.vcxproj.user @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/tags/2.19_SDK4(3rdNUP)/WDT.c b/tags/2.19_SDK4(3rdNUP)/WDT.c new file mode 100644 index 0000000..ed3daf3 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/WDT.c @@ -0,0 +1,12 @@ +/* ======================================================== + wdt + + $Id$ + ======================================================== */ +#include "incs_loader.h" + +/* + + gAwb_Ƀ}N̂݁B + +*/ diff --git a/tags/2.19_SDK4(3rdNUP)/WDT.h b/tags/2.19_SDK4(3rdNUP)/WDT.h new file mode 100644 index 0000000..2e28e9d --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/WDT.h @@ -0,0 +1,20 @@ +#ifndef _WDT_ +#define _WDT_ + + + +//========================================================= +#define WDT_RESTART_MAGIC 0xAC + + + +//========================================================= +// EHb`hbO^C}̃X^[g +// void WDT_Restart( void ); +#define WDT_Restart() WDTE = WDT_RESTART_MAGIC + +// KlȊOƗOŃZbg +#define mcu_wdt_reset WDTE = 0x0 + + +#endif diff --git a/tags/2.19_SDK4(3rdNUP)/accero.c b/tags/2.19_SDK4(3rdNUP)/accero.c new file mode 100644 index 0000000..f5d4eaa --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/accero.c @@ -0,0 +1,278 @@ +/* ======================================================== +@xZT֌W +Ef[^XVŃf[^zグ背WX^XVACPUɊ荞 +EtOĂΕJEg +ExZT荞݂^XNo^ĉBiI2C̋Ȃǂ̂Łj + + $Id: accero.c 418 2011-09-22 01:35:37Z n2232 $ + ======================================================== */ +#ifndef _WIN32 + +#pragma SFR +#pragma NOP +#pragma HALT +#pragma STOP +#pragma ROT +// rorb, rolb, rorw, rolw +#pragma MUL +#pragma BCD + +#endif + +#ifndef _WIN32 + +#pragma interrupt INTP23 intp23_ACC_ready RB3 // xZTAf[^ + +#endif + +#include "incs.h" +#include "accero.h" +#include "i2c_mcu.h" + + +#ifndef _WIN32 +#include +#endif +// ======================================================== +// WX^ +#define ACC_REG_WHOAMI 0x0F +#define ACC_REG_CTRL1 0x20 +#define ACC_REG_CTRL5 0x24 +#define ACC_REG_X 0x28 + +#define ACC_REG_FLG_BURST_ACCESS 0x80 + +// rbgʒu +#define ACC_bP_PM0 5 +#define ACC_bP_DR0 3 + +// rbgݒl +#define ACC_BITS_PM_PDN 0 +#define ACC_BITS_PM_NORM 1 +#define ACC_BITS_PM_LP0R5 2 +#define ACC_BITS_PM_LP1 3 +#define ACC_BITS_PM_LP2 4 +#define ACC_BITS_PM_LP5 5 +#define ACC_BITS_PM_LP10 6 + +#define ACC_BITS_DR_50Hz 0 +#define ACC_BITS_DR_100Hz 1 +#define ACC_BITS_DR_400Hz 2 +#define ACC_BITS_DR_1000Hz 3 + +#define ACC_BITS_ALL_AXIS_ON 7 + + +#define VREG_BITMASK_ACC_CONF_ACQ ( 1 << 0 ) +#define VREG_BITMASK_ACC_CONF_HOSU ( 1 << 1 ) + + + +// ======================================================== +#define ACC_RAW_DATA_SIZE 6 + + +// ======================================================== +static u8 acc_retry_count; // xZTǂݏoAG[ƂgCB񐔐 + + + +// ======================================================== +task_status tsk_soft_int( ); + + + +/********************************************//** +@E荞݂mFăf[^zグAWX^ɏo܂ + + E{ł΃R[obN֐o^Ă΂ƂȂ̂łA + I2CgpHƂlƎł͂܂łłȂ̂łB + + EvƂł + ***********************************************/ +task_status_immed tski_cbk_accero( ) +{ // i^jisro^܂ + u8 acc_dat_buff[ ACC_RAW_DATA_SIZE ]; + + // xZTf[^WX^ւ̔f + if( iic_mcu_read( IIC_SLA_ACCEL, ( ACC_REG_X | ACC_REG_FLG_BURST_ACCESS ), ACC_RAW_DATA_SIZE, acc_dat_buff ) + != ERR_SUCCESS ) + { + // SLA NAK // + if( acc_retry_count < 4 ) + { + acc_retry_count ++; + // gC + return( ERR_CONTINUE ); + } + else + { + // xZTُɂȂ̂Ŏ~߂ + vreg_ctr[ VREG_C_ACC_CONFIG ] &= ~( VREG_BITMASK_ACC_CONF_HOSU | VREG_BITMASK_ACC_CONF_ACQ ); + tski_acc_setup(); + vreg_ctr[ VREG_C_STATUS_1 ] |= REG_BIT_ACCERO_ERR; + return ( ERR_FINISED ); // ^XN̍폜͕Kv + } + } + else + { + // 펞pX // + DI_wt_chk(); + memcpy( &vreg_ctr[VREG_C_ACC_XL], acc_dat_buff, ACC_RAW_DATA_SIZE ); + EI(); + + acc_retry_count = 0; + // xXV荞 + if( (( vreg_ctr[VREG_C_ACC_CONFIG] & VREG_BITMASK_ACC_CONF_ACQ ) != 0 ) && + ( system_status.pwr_state == ON ) + ) + { + set_irq( VREG_C_IRQ1, REG_BIT_ACC_DAT_RDY ); + // S~f[^̃Jǂ + if( ACC_VALID ) + { + u8 temp[ACC_RAW_DATA_SIZE]; + iic_mcu_read( IIC_SLA_ACCEL, ( ACC_REG_X | ACC_REG_FLG_BURST_ACCESS ), ACC_RAW_DATA_SIZE, temp ); + } + } + if( (( system_status.pwr_state == ON ) + ||( system_status.pwr_state == SLEEP )) + &&( vreg_ctr[VREG_C_ACC_CONFIG] & VREG_BITMASK_ACC_CONF_HOSU )) + { + pedometer(); // v + } + } + return ( ERR_FINISED ); +} + + + + + +/********************************************//** +@xZT߃ANZX@[h + ***********************************************/ +task_status_immed tski_acc_read( ) +{ + vreg_ctr[VREG_C_ACC_W_BUF] = iic_mcu_read_a_byte( IIC_SLA_ACCEL, vreg_ctr[VREG_C_ACC_R_ADRS] ); + set_irq( VREG_C_IRQ1, REG_BIT_ACC_ACK ); + return ( ERR_FINISED ); +} + + + +/********************************************//** +@xZT߃ANZX@Cg + ***********************************************/ +task_status_immed tski_acc_write( ) +{ + iic_mcu_write_a_byte( IIC_SLA_ACCEL, vreg_ctr[VREG_C_ACC_W_ADRS], vreg_ctr[VREG_C_ACC_W_BUF] ); + set_irq( VREG_C_IRQ1, REG_BIT_ACC_ACK ); + return ( ERR_FINISED ); +} + + + +/********************************************//** +@xZT̐ݒ + ***********************************************/ +task_status_immed tski_acc_setup( ) +{ + + // x on/offݒ肷 + u8 str_send_buf[4]; + + str_send_buf[1] = 0x00; // ctrl2 HPF:normal, filterd, HPF for IRQ : dis/dis, HPF coeff:norm + + // sŝ߁ATSƂȊOiHႢjʂĐݒ + if( system_status.model == MODEL_TS_BOARD ) + { + str_send_buf[2] = bits8(0,0,0,0, 0,0,1,0); + } + else + { + str_send_buf[2] = bits8(0,0,0,1, 0,0,0,0); + } + str_send_buf[3] = 0x80; // ctrl3 block update:enable, MSB first, scale: +-2G(default), selftest: dis + + { + u8 acc_setting_sent = ( vreg_ctr[VREG_C_ACC_CONFIG] & + ( VREG_BITMASK_ACC_CONF_HOSU | VREG_BITMASK_ACC_CONF_ACQ )); + + if( acc_setting_sent == 0 ) + { + // S~ + PMK23 = 1; + str_send_buf[0] = + ( ACC_BITS_PM_PDN << ACC_bP_PM0 | 0 << ACC_bP_DR0 | ACC_BITS_ALL_AXIS_ON ); + } + else + { + // on 100Hz 荞 + PMK23 = 0; + str_send_buf[0] = + ( ACC_BITS_PM_NORM << ACC_bP_PM0 + | ACC_BITS_DR_100Hz << ACC_bP_DR0 + | ACC_BITS_ALL_AXIS_ON ); + } + + // ݌AʐMłtOXV + if( iic_mcu_write( IIC_SLA_ACCEL, ( ACC_REG_CTRL1 | ACC_REG_FLG_BURST_ACCESS ), 4, str_send_buf ) == I2C_ERR_NOSLAVE ) + { + // ZTB^XN͍폜ȂĂ͂ȂȂB + vreg_ctr[ VREG_C_STATUS_1 ] |= REG_BIT_ACCERO_ERR; + return ( ERR_FINISED ); + // ܂ + } + // else + + // ZTݒ萬 pX + vreg_ctr[ VREG_C_STATUS_1 ] &= ~REG_BIT_ACCERO_ERR; + acc_retry_count = 0; + + // ÕS~L΃Jǂ + if( ACC_VALID ) + { + if( system_status.pwr_state == ON ) + { + u8 temp[ACC_RAW_DATA_SIZE]; + iic_mcu_read( IIC_SLA_ACCEL, ( ACC_REG_X | ACC_REG_FLG_BURST_ACCESS ), 6, temp ); + } + } + + // ZTɏɂĂŒSoC܂Ă܂Ȃ + DI_wt_chk(); + if( acc_setting_sent != ( vreg_ctr[VREG_C_ACC_CONFIG] & + ( VREG_BITMASK_ACC_CONF_HOSU | VREG_BITMASK_ACC_CONF_ACQ ))) + { + // DIԂ̂܂܋A + return ( ERR_CONTINUE ); // ƊԂčēxɂ // Ƃ悢H + } + } + + // DIԂ̂܂܋A + return ( ERR_FINISED ); +} + + + +/********************************************//** + xZT荞 + + I2CgpȂ̂ŁAǂݏo^XN̓o^ŝ + ***********************************************/ +__interrupt void intp23_ACC_ready( ) +{ + EI(); + if( ( vreg_ctr[VREG_C_ACC_CONFIG] & 0x03 ) != 0x00 ) + { + // xZT on + if( ( system_status.pwr_state == ON ) || ( system_status.pwr_state == SLEEP ) ) + { +// if( ACC_VALID ) // mFsv + { + renge_task_immed_add( tski_cbk_accero ); + } + } + } +} diff --git a/tags/2.19_SDK4(3rdNUP)/accero.h b/tags/2.19_SDK4(3rdNUP)/accero.h new file mode 100644 index 0000000..fbf80d6 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/accero.h @@ -0,0 +1,14 @@ +#ifndef _accero_ +#define _accero_ + + +#include "jhl_defs.h" +#include "pedometer.h" + + +/////////////////////////////////////////////////////////// +task_status_immed tski_cbk_accero( ); +task_status_immed tski_acc_setup( ); + + +#endif diff --git a/tags/2.19_SDK4(3rdNUP)/adc.c b/tags/2.19_SDK4(3rdNUP)/adc.c new file mode 100644 index 0000000..419be87 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/adc.c @@ -0,0 +1,470 @@ +/* ======================================================== + adc.c + + cJZ + nintendo + '09 Apr + $Id$ + ======================================================== */ +#include "incs.h" +#include "adc.h" +#include "pm.h" + +#include "led.h" + +#include "vreg_twl.h" +#include "i2c_mcu.h" + + +// ===================================================== // +static bit adc_updated; +static bit vol_changed_by_ctr; +bit vol_changed_by_twl; +static u8 vol_old; + +static u8 adc_raw_vol; +static u8 adc_raw_dep; + +u8 vol_polling; +u8 vol_level_twl; + +extern const u8 slider_to_codec[]; + + + +// ===================================================== // +typedef struct filter_work +{ + u8* value_used; + s8 diffs; // KIKAN̕΂ + s8 kikan; + u8 large_diff_count; +}filter_work; + + +static filter_work work_vr_3d = { + &vreg_ctr[ VREG_C_3D ] + // ͕̂slł悵Bconstɂ_ + }; + + +static u8 vol_data_ctr; +static u8 vol_data_ctr_tmp; +static filter_work work_vr_vol = { + &vol_data_ctr_tmp + // ͕̂slł悵Bconstɂ_ + }; + + +// twl 8iKvol̃jAl̋E +/* + twl32 -> 8 e[u + 0`1,`4,`8,`13,`18,`23,`28,31 + */ +static const u8 TWL_VOL_BOUNDARY[] = { + 1, 4, 8, 13, 18, 23, 28, 31 +}; + +// ===================================================== // +extern void nop8(); +static void adc_filter( u8 new_val, filter_work* work ); +static u8 adc_scaling( u8 ); +static void update_twl_vol( u8 sent_index ); + + + +// ===================================================== // +#define INTERVAL_TSK_ADC 15 + + + +/********************************************//** + ADCݒƁAJn + + ȉ̃s͎ɂőEĎ܂B + - BT_TEMP,_P + - ADIN1 + - VOL + + ***********************************************/ +void tsk_adc( ) +{ + if( adc_updated ) + { + adc_updated = false; + + // 3D ///////////////////////////////////////// + vreg_ctr[ VREG_C_3D ] = adc_raw_dep; // l + + // Volume ///////////////////////////////////// + { + vreg_ctr[ VREG_C_VOL_ADC_RAW ] = adc_raw_vol; + + adc_filter( adc_scaling( adc_raw_vol ), &work_vr_vol ); // ʂ*work_vr_volwvol_data_ctr ǂ݂ɂ... + vol_data_ctr = vol_data_ctr_tmp / 4; + + if( vol_old != vol_data_ctr ) + { + vol_changed_by_ctr = true; + vol_old = vol_data_ctr; + vol_polling = 3; +// renge_task_immed_add( tski_vol_update ); œo^ + } + } + + // obe /////////////////////////// + /* Ă΂܂ */ + } + + // YꂪƂȂ̂Ń|[O orz + if( vol_polling < 5 ) + { + renge_task_immed_add( tski_vol_update ); + vol_polling = (u8)(200 / SYS_INTERVAL_TICK) + 5; // 5/sec + } + vol_polling --; + + + ADCEN = 1; + ADM = bits8(0,0,0,0, 1,0,1,1); // ZNg[hAAfCLK/6 // + + ADPC = 0x06; // ADC|[g̃ZNg + ADS = ADC_SEL_3D; + nop8(); + ADCS = 1; // ADJnB // ܂Ł@@܂ł1us=8clkȏJ + + ADIF = 0; + ADMK = 0; +} + + + +/********************************************//** + vol݂̃XC_̈ʒuɋXV + ***********************************************/ +void vol_reset() +{ + vol_old = vol_data_ctr; + vreg_ctr[ VREG_C_SND_VOL ] = vol_data_ctr; // 64i +} + + +/********************************************//** +@VolXV܂B + + @Ȏɓo^܂B + + - [U[VolXC_𓮂 + - HorizonɋXVwꂽ@icodecZbgj + - TWLAvVol + ***********************************************/ +task_status_immed tski_vol_update() +{ + static u8 sent_index, sent_index_twl; + static bit last_modifyer_is_twl; // false = ctr + + if( !( system_status.pwr_state == ON ) || + ( system_status.pwr_state == SLEEP )){ + return( ERR_FINISED ); + } + + // ǂ̉ʂɂ́H // + if( vol_changed_by_ctr ) + { + // XC_ + vol_changed_by_ctr = false; + last_modifyer_is_twl = false; + sent_index = vol_data_ctr; + } + else if( vol_changed_by_twl ) + { + // TWLAv + vol_changed_by_twl = false; + last_modifyer_is_twl = true; + if( vreg_twl[ REG_TWL_INT_ADRS_VOL ] == 0 ) + { + sent_index_twl = 0; + } + else + { + sent_index_twl = vreg_twl[ REG_TWL_INT_ADRS_VOL ] *2 +1; + } + sent_index = sent_index_twl; + } + else + { + // force_slider0ɂƂ & ܂Ƃ + // XC_TWL̍ŌɃZbgZbg + if( last_modifyer_is_twl ) + { + sent_index = sent_index_twl; + } + else + { + sent_index = vol_data_ctr; + } + } + + // WX^̍XV // + vreg_ctr[ VREG_C_SND_VOL ] = sent_index; + + // twlXV + update_twl_vol( sent_index ); + + // codecɓ` + /// lł + iic_mcu_write_a_byte_codec( CODEC_REG_VOL, slider_to_codec[ sent_index ] ); + + // set_irq( VREG_C_IRQ0, REG_BIT_VR_SNDVOL_CHANGE ); // 荞ݔp~ + return( ERR_FINISED ); +} + + +/********************************************//** + TWL ։ʂʒmB + + iKႤ̂ŁÃPAs + ***********************************************/ +static void update_twl_vol( u8 sent_index ) +{ + // XP[O + if( sent_index == 0 ) + { + vreg_twl[ REG_TWL_INT_ADRS_VOL ] = 0; + } + else if( sent_index <= 4 ) + { + vreg_twl[ REG_TWL_INT_ADRS_VOL ] = 2; // P̓~bVOŐ + } + else + { + vreg_twl[ REG_TWL_INT_ADRS_VOL ] = sent_index/2 ; + } + + // 8iK̃xB@荞݂̂ɕKv + { + static u8 vol_twl_old; + + if( vol_twl_old != vreg_twl[ REG_TWL_INT_ADRS_VOL ] ) + { + // 8ixɕϊ + u8 new_level = 31; + u8 i; + + vol_twl_old = vreg_twl[ REG_TWL_INT_ADRS_VOL ]; + + for( i=0; i<=7; i++ ) + { + if( vreg_twl[ REG_TWL_INT_ADRS_VOL ] <= TWL_VOL_BOUNDARY[ i ] ) + { + new_level = i; + break; + } + } + vol_level_twl = new_level; + } + } +} + + + +/********************************************//** +@ADC isr + +@}`vNT̏Ԃ`FbNĂׂ֓]A + +@OŎ̃`lN + +@@ʂI~߂ + ***********************************************/ +__interrupt void int_adc( ) +{ + volatile u8 adc_data = ADCRH; + + switch ( ADS ) + { +/* +case ( ADC_SEL_AMB_BRIT ): // ‹邳 + vreg_ctr[ VREG_C_AMBIENT_BRIGHTNESS ] = adc_data; + break; +*/ + + case ( ADC_SEL_3D ): + EI(); + adc_raw_dep = adc_data; + break; + + case ( ADC_SEL_VOL ): + EI(); + if( system_status.model == MODEL_TS_BOARD ) + { + adc_raw_vol = adc_data; + } + else + { + adc_raw_vol = 255 - adc_data; + } + + break; + + case ( ADC_SEL_BATT_TEMP ): + EI(); +#ifdef _ENABLE_HAL_ + if( vreg_ctr[ VREG_C_HAL_OVW_TEMPERATURE ] == 0xFF ) // HAL +#else + if( 1 ) +#endif + { + raw_adc_temperature = adc_data; + } + else + { + raw_adc_temperature = vreg_ctr[ VREG_C_HAL_OVW_TEMPERATURE ]; + } + + if(// (( vreg_ctr[ VREG_C_STATUS_1 ] & REG_BIT_MGIC_ERR ) == 0 ) && + (( system_status.pwr_state == ON ) || + ( system_status.pwr_state == SLEEP ) + ) + ) + { + renge_task_immed_add( tski_BT_temp_update ); + } + break; + +/* Ă΂܂ + case ( ADC_SEL_BATT_DET ): + break; +*/ + } + +// Ƃ܂Ƃȏ肻 + if( ADS < ADC_SEL_BATT_DET ) + { + ADS += 1; // ̃`l + } + else + { + ADCEN = 0; // ~߂Ă܂ + adc_updated = true; + } + ADIF = 0; // ȂƁAÕ`l̃f[^̊ŒɊ荞މ”\ +} + + + +/********************************************//** + adcWX^ǂݏoÂ܂ܕԒlɂB + + tsk_adcƋ邱ƂlĂ܂B + ***********************************************/ +u8 get_adc( u8 ch ) +{ + u8 temp; + + ADMK = 1; + ADIF = 0; + + ADCEN = 1; + ADM = bits8(0,0,0,0, 1,0,1,1); // ZNg[hAAfCLK/6 ///火 + + ADPC = 0x06; // ADC|[g̃ZNg + ADS = ch; + + nop8(); + + ADCS = 1; // ADJnB /// ܂Ł@ɁA1usȏJ + + ADIF = 0; + while( ADIF == 0 ){;} + temp = ADCRH; + ADCEN = 0; + + ADMK = 0; + return ( temp ); +} + + + + + +/********************************************//** + VR̉“͈͂lăXP[O + + Volp@g񂷂Ȃ炻̂Ƃǂɂ + ***********************************************/ +static u8 adc_scaling( u8 orig_val ) +{ + u16 temp; + + if( orig_val <= vreg_ctr[ VREG_C_VOL_CAL_MIN ] ) + { + return( 0 ); + } + if( orig_val >= vreg_ctr[ VREG_C_VOL_CAL_MAX ] ) + { + return( 255 ); + } + + temp = (u16)(( orig_val - vreg_ctr[ VREG_C_VOL_CAL_MIN ] ) * 256 ) / ( vreg_ctr[ VREG_C_VOL_CAL_MAX ] - vreg_ctr[ VREG_C_VOL_CAL_MIN ] ); + if( temp > 255 ) + { + temp = 255; + } + + return( (u8)( temp & 0xFF ) ); +} + + + + +/********************************************//** + qXeVX V2 + + ľܓIȓ܂ + ***********************************************/ +#define KIKAN 16 +static void adc_filter( u8 new_val, filter_work *work ) +{ + if( abs( new_val - *( work -> value_used )) > 2 ) + { + // 傫ꂽ + work -> large_diff_count ++; + if( work -> large_diff_count > 16 ) + { + *( work -> value_used ) = new_val; + work -> diffs = 0; + work -> kikan = KIKAN; + } + } + else + { + work -> large_diff_count = 0; + // ߏ̒lłAԂłς΂Ă炻Ɋ񂹂 + if( *( work -> value_used ) < new_val ) + { + work -> diffs ++; + } + else if( *( work -> value_used ) > new_val ) + { + work -> diffs --; + } + + if( --( work -> kikan ) == 0 ) + { + if( ( work -> diffs ) == KIKAN ) +// if( ( work -> diffs ) > (s8)( KIKAN * 0.8 ) ) + { + *( work -> value_used ) = *( work -> value_used ) + 1; + } + else if( ( work -> diffs ) == ( -1 * KIKAN ) ) +// else if( ( work -> diffs ) < (s8)( -1 * KIKAN * 0.8 ) ) + { + *( work -> value_used ) = *( work -> value_used ) - 1; + } + work -> diffs = 0; + work -> kikan = KIKAN; + } + } +} + diff --git a/tags/2.19_SDK4(3rdNUP)/adc.h b/tags/2.19_SDK4(3rdNUP)/adc.h new file mode 100644 index 0000000..6f4ad04 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/adc.h @@ -0,0 +1,48 @@ +#ifndef __adc__ +#define __adc__ + +#include "jhl_defs.h" + +/////////////////////////////////////// +// ANI2 P22 +#define ADC_SEL_AMB_BRIT 0x02 + +/* +// ANI3 P23 +#define ADC_SEL_GYRO_YAW 0x03 +// ANI4 P24 +#define ADC_SEL_GYRO_PITCH 0x04 +// ANI5 P25 +#define ADC_SEL_GYRO_ROLL 0x05 +*/ + +// ANI6 P26 +#define ADC_SEL_3D 0x06 +// ANI7 P27 +#define ADC_SEL_VOL 0x07 + +// ANI8 P150 +#define ADC_SEL_BATT_TEMP 0x08 +// ANI9 P151 +#define ADC_SEL_BATT_DET 0x09 + + + +/////////////////////////////////////// +#define CODEC_REG_VOL 0x13 + + + +/////////////////////////////////////// +extern u8 vol_polling; +extern u8 vol_level_twl; + + + +/////////////////////////////////////// +u8 get_adc( u8 ch ); +void vol_reset(); + + + +#endif diff --git a/tags/2.19_SDK4(3rdNUP)/batt_params.c b/tags/2.19_SDK4(3rdNUP)/batt_params.c new file mode 100644 index 0000000..75f47ab --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/batt_params.c @@ -0,0 +1,87 @@ +/* ======================================================== + eЃobe[p[^ + $Id$ + ======================================================== */ +#include "jhl_defs.h" + +#include "batt_params.h" + + + +const bt_param_ bt_param[ _BT_PARAM_NUM_ ] = +{ + // ctr //////////////////////////////////////////////// + // BT_PARAM_CTR_MAXELL + { + { + 0xAE, 0xF0, 0xB4, 0x30, 0xB7, 0x40, 0xBA, 0x30, + 0xBB, 0x50, 0xBB, 0xB0, 0xBC, 0x50, 0xBD, 0x10, + 0xBD, 0x60, 0xBD, 0xB0, 0xBF, 0xE0, 0xC2, 0xB0, + 0xC4, 0x20, 0xC7, 0xB0, 0xCA, 0xE0, 0xCE, 0x10, + 0x01, 0xF0, 0x14, 0x10, 0x14, 0x20, 0x06, 0x30, + 0x63, 0x90, 0x49, 0x00, 0x6E, 0x00, 0x77, 0x70, + 0x7B, 0x00, 0x19, 0x00, 0x19, 0x00, 0x17, 0xF0, + 0x1C, 0x60, 0x12, 0x00, 0x12, 0x00, 0x12, 0x00 + }, + 2, + { 92, (u8)(-256* 0.79), (u8)(-256* 4.35) }, + 0xD800, + { 0xEA, 0xE8 } + }, + + // BT_PARAM_CTR_PANA + { + { + 0x8C, 0x30, 0x9C, 0x10, 0xA5, 0xE0, 0xB0, 0x40, + 0xB1, 0xC0, 0xB2, 0x00, 0xB2, 0x50, 0xB3, 0x10, + 0xB4, 0x90, 0xB6, 0x20, 0xB8, 0x60, 0xBA, 0x50, + 0xBF, 0xA0, 0xC6, 0xB0, 0xCE, 0x90, 0xD0, 0x20, + 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, + 0x7B, 0x30, 0x68, 0x60, 0x20, 0x00, 0x17, 0x00, + 0x17, 0x30, 0x12, 0xF0, 0x0D, 0xE0, 0x07, 0xF0, + 0x07, 0x00, 0x09, 0x30, 0x01, 0xC0, 0x01, 0xC0 + }, + 1, + { 171, (u8)(-256* 1.00), (u8)(-256* 2.60) }, + 0xDA20, + { 0x69, 0x67 }, + }, + + // spfl /////////////////////////////////////////////// + // BT_PARAM_SPFL_MAXELL + { + { + 0xA1, 0x20, 0xB7, 0x50, 0xB9, 0xD0, 0xBB, 0x00, + 0xBC, 0x30, 0xBC, 0x60, 0xBC, 0xA0, 0xBD, 0x10, + 0xBD, 0xC0, 0xBE, 0x70, 0xBF, 0xD0, 0xC2, 0xA0, + 0xC4, 0x00, 0xC8, 0x50, 0xCC, 0x80, 0xD0, 0xB0, + 0x01, 0xA0, 0x25, 0x10, 0x18, 0xB0, 0x17, 0xC0, + 0x95, 0x20, 0x6F, 0xE0, 0x7C, 0x60, 0x35, 0x10, + 0x35, 0x00, 0x37, 0xF0, 0x16, 0xF0, 0x1C, 0xA0, + 0x17, 0x30, 0x11, 0xD0, 0x11, 0xF0, 0x11, 0xF0 + }, + 2, + { 94, (u8)(-256* 0.35), (u8)(-256* 3.85) }, + 0xDAB0, + { 0xF5, 0xF3 } + }, + + // BT_PARAM_SPFL_PANA + { + { + 0x9C, 0xF0, 0xAD, 0x50, 0xAF, 0xB0, 0xB3, 0x00, + 0xB3, 0xE0, 0XB5, 0x60, 0XB6, 0x70, 0xB7, 0xA0, + 0xBA, 0x00, 0xBC, 0x00, 0xBE, 0x90, 0xC1, 0x60, + 0xC4, 0x00, 0xC7, 0x00, 0xCC, 0xA0, 0xD0, 0xA0, + 0x02, 0x00, 0x19, 0x10, 0x12, 0x00, 0x48, 0x10, + 0x25, 0x10, 0x41, 0xF0, 0x2F, 0xA0, 0x13, 0xF0, + 0x1C, 0xD0, 0x10, 0xD0, 0x0F, 0xA0, 0x11, 0x00, + 0x10, 0xE0, 0x0C, 0x10, 0x0C, 0x00, 0x0C, 0x00 + }, + 2, + { 113, (u8)(-256* 0.30), (u8)(-256* 2.25) }, + 0xDAA0, + { 0xE5, 0xE7 }, + } +}; + diff --git a/tags/2.19_SDK4(3rdNUP)/batt_params.h b/tags/2.19_SDK4(3rdNUP)/batt_params.h new file mode 100644 index 0000000..343b3f4 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/batt_params.h @@ -0,0 +1,49 @@ +#ifndef _bt_params_h_ +#define _bt_params_h_ + +#include "jhl_defs.h" +/* + dr CTR | SPFL | YBS + 0 ID = 0 maxell + 120 1 + 360 2 + 750 @ 3 + 1.3k@ 4 + 2.7k 5 pana + 8.2k@ 6 +*/ + + +typedef enum +{ + BT_PARAM_CTR_MAXELL = 0, + BT_PARAM_CTR_PANA, + BT_PARAM_SPFL_MAXELL, + BT_PARAM_SPFL_PANA, + BT_PARAM_SHRIMP_MAXELL, + BT_PARAM_SHRIMP_PANA, + _BT_PARAM_NUM_ +} BT_TYPE; + +typedef struct +{ + u8 rcomp; + s16 up,down; +} rcomp_; + +typedef struct +{ + u8 hi,low; +} verify_; + +typedef struct +{ + u8 mg_param[64]; + u8 v_scale; + rcomp_ rcomp; + u16 ocv; + verify_ verify; +} bt_param_; + + +#endif diff --git a/tags/2.19_SDK4(3rdNUP)/bsr.hex b/tags/2.19_SDK4(3rdNUP)/bsr.hex new file mode 100644 index 0000000..e914f57 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/bsr.hex @@ -0,0 +1,1001 @@ +:02000000DF0C13 +:040010000448064852 +:02001C00B249E7 +:02002400594A37 +:02002A00A44AE6 +:08003400D14B744BCD4B124E71 +:02004A00084864 +:02005A0042481A +:02006200D04D7F +:06008000654C9E4CE84CAB +:0400C0007EFBFF04C0 +:0A00C4001B339499E033F240BFAA09 +:1000CE00C7C1FBF8FFCEABACC736F00071F4C6610A +:1000DE00D8710006F98EA89C018C015C10D1DD0A46 +:1000EE007110A6FB710006F9EF0B8C015C80D161DB +:1000FE00E8710006F98F06F931030EF6B1BBF66111 +:10010E004900DD05618900EFF5FDDF01FD3101FDDF +:10011E008901FD8609FDBD08FD8E2FFD882CEFA5FA +:10012E00C0C6D7C7360000674C09DE3F318E04F6D5 +:10013E000FC1317B9EFDC411897267318E04F64F5B +:10014E0014896142DF03F6EF01E660610667318EC6 +:10015E00124900207267318E04F64F14896142DF16 +:10016E0003F6EF01E660610687EFBC40F84F3A6197 +:10017E00E88666D161E8FD2A06C6D751065B0C31CA +:10018E001A9F08F94008F901DF05CD3705EF03CDB9 +:10019E0037078F06F95CE39F06F951035B04318E36 +:1001AE00E7240000DD1023DD0823DF0E712006F9A1 +:1001BE00D7713006F9D7714006F9D7717BFACEA008 +:1001CE0010CEA180E5F300000000CEA408F5AAFF32 +:1001DE00D78F06F9310508CD0003CD030FEF08CDFB +:1001EE00030EF690BFB401CD0408CD0508F521FF2E +:1001FE00CE22E9CE23F8CE24F3CE25FACE26FCCE9F +:10020E00275FCE2EFCCF1105F8CF120511CF35008A +:10021E0002CF370019CF530006CBEEFEFFCE38319A +:10022E00CE3970CF38050A308700BF1801BF1A01CA +:10023E00BF1C01BF1E01D7D7C7F616FD6A04717B1E +:10024E00FA31329308713293717AFAEF0C717AFAAD +:10025E00A7F647DFE95203EF01F2C6D7C7C1C1FBCC +:10026E00F8FF17A1C1E0C18C0A70C18C0270FD8B22 +:10027E00021006629D508C01721004C6D7C7C1FBD6 +:10028E00F8FFFD4602D2DD045203EF618B70FDB71D +:10029E0003D2DD077133935202EF528C0870FDD3F7 +:1002AE0003FD1E048B6C0170FDD303300400BF24CC +:1002BE0001301740BF1C01300400BF22018C0A918F +:1002CE00DF04F6BF2A01710BE2CE44FF3182E20257 +:1002DE00EFFAAC0C148E449961790C61690A8C0AA0 +:1002EE00D1DFDAFD4704710BE2713393F2C0C6D74A +:1002FE00C7C1FBF8FFFD4602D2DD045203EF2571A4 +:10030E000AE68B70FDB703D2DD077133935202EF0D +:10031E00138C0870FDD3038C0A70FDD303FD4704C4 +:10032E00713393F2C0C6D7C7C1FBF8FFFD4602D2A8 +:10033E00DD045203EF70710AE6710BE28B70FDB7AC +:10034E0003D2DD077133935202EF5B710BE2312260 +:10035E009344C73422FBAC0C1652048B99A5A7927A +:10036E00DFF9C68B9D4D8C089D4E8C0A9D4F3184B6 +:10037E00BD02EFFA717ABDCEB144CBB422FB8C0A2A +:10038E00318EBEB8CEBB48714BE1714BE5710ABDE3 +:10039E008C089E44EF0F710BE68C089E448C0A9DD0 +:1003AE004CAC0CBD4AF2C0C6D7C716FDF603AF045F +:1003BE0001BF0C0117FDD303D2DD07FD4704520226 +:1003CE00EF01F2C6D7C716710AE6710BE2669E44BC +:1003DE003182E202EFFAF6420401DD09AF0401BFF9 +:1003EE000C01E2EF01F2C6D7AF2801085CFB08BF93 +:1003FE002801FD4502AF28015CFBBF280130040037 +:10040E00BF2A01301780BF1C01300400BF2201D764 +:10041E00AF2401086C0408BF2401AF28016C0F083B +:10042E006C0B08BF2801FD4502AF2A01085CFB08D2 +:10043E00BF2A01FD4502EDF603300400BF2401F68C +:10044E00BF2A01300B0BBF2801FD4502300B0FBF39 +:10045E002801FD4502300F0FBF2801D7314493010B +:10046E00D77132936A0E03713B25713B23E0FD99E0 +:10047E00097120F000FD4502F6BF26015024BF147D +:10048E0001CB440014300F0FBF2801712393710B61 +:10049E00E2710AE6FDF603CE44FF3182E202EFFA84 +:1004AE00FD4704AF0401BF0C01713393714293D722 +:1004BE0031349302EFFAFD1E04713A25713A235A34 +:1004CE000EFC7128F000714393D7C72008FBF8FF8C +:1004DE00FD25085014C15008FD5707C0CC07048CE9 +:1004EE00074C14DE0C8C07318EFDC109615907EFE4 +:1004FE00EECC07048C074C1461C8EDC605CC060083 +:10050E008C064C0461C8EDA505300AF9BC02F6BB99 +:10051E00CEABAC31B2D109C73641057184C6DEF31C +:10052E00F1C73641057184C661DC9C05713BD1ACC7 +:10053E0002148F400599715050056179026179005E +:10054E00F0E1614900DD09C73641057184C6DEC39D +:10055E00F1C73641057184C661DC0E059C0550401D +:10056E00C18C07318E31AD128C06318E318D03BDAB +:10057E00D831FFBDDADADAADD8FD8D0CC0D2DD0C84 +:10058E005008C15014FD5707C0FD4A0B8C05D1DF32 +:10059E0006615906ED0E058C07318EFDC509D2DDBB +:1005AE000C5008C15014FD5707C0FD4A0B8C05D1E5 +:1005BE00DF06615907ED020571605005CC0400CCD1 +:1005CE0005008C054C09DE2B8C05318E04F61FC1FF +:1005DE00317B9EFDC41189728C05318E04F64F1449 +:1005EE00896142DF03F6EF01E6600E049C04615957 +:1005FE0005EFCF41001140F81F3A61E86159048CB4 +:10060E0004D1DF08FD4B0BFD5D0CEF0C5008C15003 +:10061E0014FD5707C0FD4A0B1008C6D7C72004FBB0 +:10062E00F8FF712B24CC0100F6BC02AC0244090089 +:10063E00DE3EAC0204F60F144100118972AC020CBE +:10064E005014896142DF03F6EF01E6600E019C0152 +:10065E00AC021249005072AC0204F67F148961425A +:10066E00DF03F6EF01E6600E019C01617902EFBB3C +:10067E0040F67FFF61F86159018C01D161F8ED23DD +:10068E0007CC0100717AFAFD6A04711300711B2008 +:10069E00710303710205E0C15003FD492BC05013D5 +:1006AE00FD9909500FC1E0FD492BC0CEABAC61598D +:1006BE00018C0191DD068C014C03DF03E6EF01F6A0 +:1006CE006061FB7121048C014C0861F8CC01003192 +:1006DE00320705A024FCEF03F524FC4024FC11DCBA +:1006EE0022F524FCF0C15003FD492BC0CE3708CBB8 +:1006FE00E4FFFFCBE6FFF7CED4FFCF370008F512AD +:10070E000561FDE6BC02F6614902DD9F00000000B6 +:10071E00617902EFF1FD2508D2DFFA5008C15014BD +:10072E00FD5707C0D2FD4A0B1004C6D73184BD0257 +:10073E00EFFA717BBDCBE4FFFFCBE6FFFFCBD4FF1F +:10074E00FF717ABED7717BBED7C7C1200CFBF8FFF5 +:10075E008C0C318E31ADC1317B9DD4C0BC068DD495 +:10076E009C088C149C0B8C14318E040C00128C0B78 +:10077E00318EBDD813FD1C0F61C8ED2008CEABAC79 +:10078E00CC05068C0B318EFDBD09D2DD158C0B31DF +:10079E008EFDC1096169058C05D1DFE7FD5307E2C6 +:1007AE00EF71CC0A008C0A4C04DE54F6BC02300AFF +:1007BE00F9BBAC06148C089EFD118972AB146299BC +:1007CE00AC06A1BC06617900617902F0E1614902D3 +:1007DE00DFE05040C18C0B318E31AD128C0A318E60 +:1007EE00318D03BDD831FFBDDADADAADD8FD8D0C0F +:1007FE00C0D2DD06FD5307E2EF1961590AEFA68C50 +:10080E000B318EFDC509D2DD03E2EF0761590BED09 +:10081E007407F2100EC6D7C7717B9D717BFAFD3A35 +:10082E0007300AF9FD700AFDFB09C6D7FD2508FD44 +:10083E004A0BFD5307F5ABFFF2D7C731049706718C +:10084E0010B3FBEF047118B3FB8FB3FB7B8A76D129 +:10085E00DD5B8FB3FB9D8A4004F903DF22665C10DB +:10086E00D1DD1C8FB3FB5C10D1DD0B5080C150115C +:10087E00FD9D34C0EF095040C15011FD9D34C04064 +:10088E0004F903DD064004F904DF22665C02D1DDC3 +:10089E001C8FB3FB5C02D1DD0B5040C15010FD9D8F +:1008AE0034C0EF095020C15010FD9D34C0C6D7C7CB +:1008BE00360000665C80D1DD10675C80D1DF05718B +:1008CE003396EF0B713296EF06710407713196660F +:1008DE005C40D1DD10675C40D1DF05714396EF0BB4 +:1008EE00714296EF06711405714196665C01D1DD79 +:1008FE0010675C01D1DF05715396EF0B715296EFC5 +:10090E0006713407715196665C02D1DD10675C0288 +:10091E00D1DF05716396EF1D716296EF184007F9EE +:10092E0001DF08710402716196EF0AC73610057176 +:10093E00C4C6716196665C04D1DD10675C04D1DFBC +:10094E0005717396EF0B717296EF06714407717114 +:10095E0096665C08D1DD10675C08D1DF05710397E0 +:10096E00EF0B710297EF06711407710197665C1019 +:10097E00D161E8715AD1C6D7F5F6FBF5F8FBCFFE7B +:10098E00FBFFCFFAFBFFCFFBFBFFD7C7C1C1FBF8C5 +:10099E00FFCEABAC8C02D1DD12616902305C03BBC1 +:0F09AE00F6614900DDEE618900EFF51004C6D750 +:1009BD005208EF065203EF025206FEE600FE1B0040 +:1009CD00DC16089F03088F0408089F040862FE24A4 +:1009DD0000089F0408EEBF00EEBA00C1C514410E19 +:1009ED0011D9D0FF118FD1FF312E45C4C0D7F231AF +:1009FD00A2C401E2D79DE261DD4C09DF12717BFAE1 +:100A0D00C18F06089F25FDC0CF060800EE270031D7 +:100A1D00F2FA04CF0608004C00DF05D50008DD16FC +:100A2D0061DD717BFAD50608DD0ACDE31F61CD616D +:100A3D00CDEE160061CDFED40061FFFE9A00FCF8EC +:100A4D00FF0EFEB20061CDFED5004C09DF0EC18F49 +:100A5D0006086F25FD9F0608C0EE0400CF060800AE +:100A6D00F8E3D75200EF025202FE3700CF24FD000B +:100A7D00CF060800BF0408C716629F000841001189 +:100A8D008F1A209B4100118F1B209F0108C651001A +:100A9D00FE62FFEF025205CF060800C1510CFE0A9F +:100AAD0000C0D7C1511DFE0200C0D761DD717BFAB8 +:100ABD0070CEC0A59EC47CFF9EC4609EC461CDD780 +:100ACD0061DD717BFAC18EC45C1BFED6FFCF0608BB +:100ADD0001FED7FFC061CDD731F2FA1AC1AEE4BF26 +:100AED0016FDAEE6BF18FDAED4BF1AFD30FFFFBE3A +:100AFD00E4BEE6BED4C0D731F2FA11C1AF16FDBEC9 +:100B0D00E4AF18FDBEE6AF1AFDBED4C0D7C1BF1C01 +:100B1D00FD13BF1EFD15BF20FD17BF22FDC0D7AFB2 +:100B2D001CFDDB1EFDEB20FDFB22FDD7534B305290 +:100B3D005430324E323030475631323000FFC150D2 +:100B4D00FEFEAB0061DD717BFACF060800FE0A00E8 +:100B5D00FEA4FF61CDF8E3EECF00C7FB0408BF167E +:100B6D00FD8FC0009C05C5C337040600BF18FD35B9 +:100B7D0036AF0B300000522BFE6600C2C4C6305D8E +:100B8D000BB800300000B8022004AF18FDB80030DB +:100B9D000F00B802AF16FD61FF520AFE3AFFECF8E6 +:100BAD00FF0E717BFAC1C7FB04088C05C65C80FE85 +:100BBD000200C0D761DD717BFA70CFC0FFA59FC069 +:100BCD00007CFF9FC000609FC00061CDD7618BFE90 +:100BDD00E2FF717BBE410011FB000017CEFC0061EE +:100BED00CB089EFDF31161C999A58392DFF7D7FE5E +:100BFD00B1FED524FDDF23C1CF0308035109FEF457 +:100C0D00FDC0D2DF37FE3800A20408CF030807511C +:100C1D0009FEE1FDD2B20408DF22C7FB04083183CF +:100C2D0002C6D7C6510AFECCFD624C1FDF06CF248B +:100C3D00FD01EF04CF24FD00C0EE5BFEC0EE55FEBE +:100C4D00C7C1FB04088B31196C0161589BC0C6D715 +:100C5D00717BFAFE4DFEAF0408040600C11436C1C7 +:100C6D000B300000522DF3FE77FF8FC000FE2BFEE0 +:100C7D0061CF5C807C8073C0041900CEFC0F61CB0A +:100C8D00C55404EF03C55417FE18FEC7360008BB44 +:100C9D00629C0288089C03D1DD334C41DE2F70F13C +:100CAD00312DB161090033081C000851FF612A4143 +:100CBD000E118FD0FF613B118FD1FF6138DC0E8B90 +:100CCD005C03DF0964C6C4FE2BFDEECAFDC6C4EE8F +:020CDD00C3FD55 +:100CDF0061CF5100718C7109FECBF800FEFCC90188 +:100CEF0000F6BF00F953C0F693935820FEDFF94189 +:100CFF000036224E34CCFCEF05118B99A7A5174473 +:100D0F006C4EDFF53602F930CCFCEF04CC0000A7B7 +:100D1F0047DFF94100366C4E3420FEEF05118B99F9 +:100D2F00A7A517447C4EDFF53630FE3092FEEF0458 +:100D3F00CC0000A747DFF9FCCE0000EFFE61DD71AC +:100D4F007BFABEF0ADD8BEF200AEF661CDD7C3616F +:100D5F00DD717BFABEF0ADD8BEF200DBF6FFADDC85 +:100D6F00BEF000AEF6BDD8AEF40312ADDABEF2009F +:100D7F00AEF661CD03BDDAC2D7C3F33174D90883A0 +:100D8F00C1F626D8BDD8C031750683C312F623C26B +:100D9F00FDAA0D93DF0312F623C2D7440000DD2610 +:100DAF0061DD717BFACFE80080BEF6F6BEF4BEF2CD +:100DBF00ADD8BEF0CFE800818FE8003103FAAEF076 +:100DCF00F5E80061CDD7B1D7C3F33174D90883C12A +:100DDF00F626D8BDD8C0317505C312F623C2FDF86B +:100DEF000D93DF0312F623C2D7440000DD2761DD28 +:100DFF00717BFACFE80080BEF6F6BEF4BEF2ADD836 +:100E0F00BEF0CFE800818FE8003103FAAFE000F5C4 +:100E1F00E80061CDD7ADD8D7C3F33174DB0F83C1F1 +:100E2F00F626D8BDD861317026DABDDAC031750D1E +:100E3F0083C312F626DCBDDC61317023C2FD600E68 +:100E4F0093DF0CF626D8BDD861317026DABDDAC231 +:100E5F00D7C161686BDC6BDDC0DD2F61DD717BFAA3 +:100E6F00CFE80080BEF4ADDCBEF6ADD8BEF0ADDA93 +:100E7F00BEF2CFE800818FE8003103FAAEF0BDD8A3 +:100E8F00AEF2BDDAF5E80061CDD7F6BDD8BDDAD741 +:100E9F008292DD2B61DD717BFACFE80080BEF0F628 +:100EAF00BEF2BEF46208BEF6CFE800818FE80031D3 +:100EBF0003FAAFE0006072AEF0F5E80061CDD760E5 +:100ECF0072F6B1D706DABDDAADDC06D8BDD861D877 +:100EDF00A6DAD7D1DD17C1C3DAD89DD8ADDA311C68 +:100EEF0061EEB4D8DFF8BDDA13BDD8C2C0D7D1DDFB +:100EFF001BC1C3DADA9DDAADD8311E33311E33711F +:100F0F00F9B4DADFF4BDD813BDDAC2C0D746D8DDE5 +:100F1F000771FF7177D971C0D75BDB9DDB605BDA3F +:100F2F009DDAADDC5BD9085BD808BDD8D7C3C7F352 +:100F3F00728EFDC162314C410036184E1161A072A4 +:070F4F00C09EFD62C6C2D77F +:0A0FF60031303A30353A303800004F +:0A20000031303A30353A3038000034 +:10200A0005214F7B9EC5E9000104080D12171C1F0C +:10201A00080100001F003B005A0078009700B50035 +:10202A00D400F300110130014E01192634445362E1 +:10203A006E777D80807D776E625344342619100A4C +:10204A0008080808080808080A10AEF0B430B740B3 +:10205A00BA30BB50BBB0BC50BD10BD60BDB0BFE014 +:10206A00C2B0C420C7B0CAE0CE1001F014101420C8 +:10207A000630639049006E0077707B0019001900E2 +:10208A0017F01C6012001200120002005C003600F9 +:10209A00A70000D8EAE88C309C10A5E0B040B1C097 +:1020AA00B200B250B310B490B620B860BA50BFA014 +:1020BA00C6B0CE90D02000200020002000207B3027 +:1020CA00686020001700173012F00DE007F00700D3 +:1020DA00093001C001C00100AB000000670020DA2E +:1020EA006967A120B750B9D0BB00BC30BC60BCA0A6 +:1020FA00BD10BDC0BE70BFD0C2A0C400C850CC8045 +:10210A00D0B001A0251018B017C095206FE07C60F0 +:10211A003510350037F016F01CA0173011D011F029 +:10212A0011F002005E00A7002700B0DAF5F39CF078 +:10213A00AD50AFB0B300B3E0B560B670B7A0BA00A7 +:10214A00BC00BE90C160C400C700CCA0D0A00200F1 +:10215A00191012004810251041F02FA013F01CD0BE +:10216A0010D00FA0110010E00C100C000C0002009F +:10217A007100B400C000A0DAE5E70000000000002A +:10218A000000000000000000000000000000000045 +:10219A000000000000000000000000000000000035 +:1021AA000000000000000000000000000000000025 +:1021BA000000000000000000000000000000000015 +:1021CA000000000000000000000000000000000005 +:1021DA0000000000000000000000000000000000F5 +:1021EA0000000000000000000000000000000000E5 +:1021FA0000000000000000000000000000000000D5 +:10220A0000000000000000000000000000000000C4 +:10221A0000007F7E7D7C7A7978777675747271702A +:10222A006F6E6D6C6A6968676665646261605F5E3D +:10223A005D5C5A5958575655535251504F4E4D4B53 +:10224A004A494948474645434241403F3E3D3B3A59 +:10225A00393801020203030200FEFBF7F3F0F0F340 +:10226A00FA041225384D5F6E777A776E5F4D3825FE +:10227A001204FAF3F0F0F3F7FBFE00020303020282 +:02228A00010051 +:10228C008D3AB43AD1DF26CD3A1EFD3E23FDE12234 +:10229C003132920D3104920931329605713304EFCB +:1022AC0003713204FD1223FDBA22FD1526D771539A +:1022BC0092D432DD05B432715292312292037152B2 +:1022CC0092715492714102314402057140B3FBD7B3 +:1022DC007148B3FBD74A304BDC114A30B9DE0C4A9B +:1022EC003B28DE03A43BD7713392D74A303EDC0542 +:1022FC004A30BDDC0C4A3C28DE03A43CD771329238 +:10230C00D7F43BF43CD73142960C4A3D02DE03A491 +:10231C003DD7712392D73132041240AFFB3CDE0C17 +:10232C008FB2FB5C01D1DF04712392D7712292F43E +:10233C003DD7C7C1FBF8FF313296067130B3FBEFC6 +:10234C00047138B3FB714492713796DE4F71349639 +:10235C007141923132960E5002C15011FD9D34C024 +:10236C00CD3229EF37E0C15011FD9D34C0F4321746 +:10237C00C15002FD312BC0D2DF0D8B318E318D0857 +:10238C000E01081C00BD34AD3444009BDC05D5AFF8 +:10239C00FBDF095020C15011FD9D34C0C0C6D78D44 +:1023AC00209D3EFDED23FD652BD507F9DD04710362 +:1023BC0092D78D3E4B2061F83164921C716392FD73 +:1023CC006A044A3E07DD054A3EFFDF098F06F931F4 +:1023DC000303FD7C24FD90247102923073256194DB +:1023EC00D7C77162017172015003FD99095008FD44 +:1023FC001A37629D305009FD1A376276716301718C +:10240C001806F94A30F1DC0BE507F9F508F9CD3778 +:10241C0007EF224A3004DE1ACF07F9025008C150E8 +:10242C006CFD6A02C092DF0DD450DF09711006F901 +:10243C00EF03F507F94007F901DF05710A22EF06F2 +:10244C00710B22710302CD20075700674C08DE1078 +:10245C0073090A20614EDC05679D20EF0387EFEBC3 +:10246C004A2007DF09D507F961F8CF07F903C6D76A +:10247C00500AFD9909304000C15006FD142BC05084 +:10248C0096ED9909C72006FBF8FFD507F961E8ED31 +:10249C006F25304A57C1503EFD142BC0D2DD077159 +:1024AC0000B2FBED6F257108B2FB17040200C1509E +:1024BC0004C1500CC1506CFD8B021006EA38AA48BE +:1024CC00318D12AA48318E616B08616A08C1500EB9 +:1024DC00FD142BC0F690C1500CFD142BC0CC010088 +:1024EC008C014C04DE2831349302EFFA712293EA0A +:1024FC00388C015010D605C15010C18C01D6044047 +:10250C0000C1506CFD35031006615901EFD250A586 +:10251C00FD9909EA38AA48318D12AA48318E616BAF +:10252C0008616A08C1500EFD142BC050A5FD990915 +:10253C005004C1506CFD6A02C0629C01EA388A4B9F +:10254C004E0161C3048A4A4E0117040200C15004B3 +:10255C00C1500CC1506CFD35031006F6C1503EFD48 +:10256C00142BC01006C6D7C78D3F4B3061F8ED1247 +:10257C00264A4128DE05A441ED1226F4418D309DFA +:10258C003F8D305070D612307351230480001231BD +:10259C00FF318E039D409FAEFBF68D407C804C95A9 +:1025AC00DC1B8D40318F241400EA38BDD8AA44FDC1 +:1025BC004C0D1231FF318E03318F16EF198D4031D6 +:1025CC008F241400EA38BDD8AA46FD4C0D1231FFF9 +:1025DC00318E03318F16EA388A427217F303164490 +:1025EC00000171FE61C836FF001701DE02F61617F6 +:1025FC00BD78C7500CFD142BC0D2DF068D309D3F2B +:10260C00EF047100B2FBF2C6D7C72008FBF8FF40FD +:10261C0007F901DD064007F902DF1C17040600FD6F +:10262C000C2CD2DF0A8C069C058C079C04EF4ECC3C +:10263C000563CC0400EF4617040600FD0C2CD2DD1C +:10264C000F7100B2FB710392CC0500711293EF2D48 +:10265C007108B2FB8C06318E318D080E07081C00F8 +:10266C00BBEA388A4072ABFD9F0EBB8C019C05D136 +:10267C00DF08CC0501CC0400EF038B9C0417040687 +:10268C0000FD172CD2DD06CC06C8CC07008C069FAB +:10269C00B1FB8C06318E318D080E07081C00BD3441 +:1026AC00AD344401A5DC08CC0364F6BD42EF48AD63 +:1026BC003426424401A0DC08CC031EF6BD42EF37A1 +:1026CC00AD3444819DDC09CC030AC942F401EF27E7 +:1026DC00AD3444019BDC09CC0305C942F401EF176E +:1026EC00AD34440191DC09CC0300C942F401EF077D +:1026FC00711293C942F4013132040C31249208CC8A +:10270C000564CC0400EF0D8C034E05DE078C039C96 +:10271C0005CC04008C059FAFFB8C049FB0FBFD998E +:10272C002B8D444E05DD2840AFFB0BDE054A440BD8 +:10273C00DE1440AFFB06DE054A4406DE09D5AFFBCE +:10274C00DF0DD444DD095020C15011FD9D34C08FE4 +:10275C00AFFB9D44FDD62B1008C6D7C75601D83702 +:10276C00C15002FD492BC04008F901DF10500AFD91 +:10277C009909712010055008FD9909EF055012FDBB +:10278C0099098D376C0870C15002FD492BC050035C +:10279C00FD99098D376C1870C15002FD492BC05042 +:1027AC0016FD99095003FD5A2B625C01D1DD0F71A6 +:1027BC0070B3FB5002C15013FD9D34C056006672BD +:1027CC00C6D7C75004FD5A2B625C03D1DD405014B0 +:1027DC00FD652834B3FB895C9F998A0C7CFF50FF04 +:1027EC005C14D1DD228A0C7CFF5C147234B7FB893B +:1027FC00616A997162075600316207058666D1DFFE +:10280C00F7716307716B2734C6FB895CEB99500237 +:10281C00FD5A2BD2DD398D376C1070C15002FD4939 +:10282C002BC0E0FD9909D837C15002FD492BC0508F +:10283C0033FD99094008F901DF0971281005500A88 +:10284C00FD9909F0C15002FD492BC07178B3FBE032 +:10285C00C15013FD9D34C0C6D7C7C12004FBF8FF7F +:10286C00CC02005004FD5A2B629C038C045C20D1DA +:10287C00DD0E8C036C019C038C026C209C02EF130C +:10288C008C045C10D1DD0C8C035CFE9C038C026C04 +:10289C00109C028C045C08D1DD0E8C036C029C0332 +:1028AC008C026C089C02EF138C045C04D1DD0C8C44 +:1028BC00035CFD9C038C026C049C028C03D1DD0533 +:1028CC00501AFD99098C0370C15004FD492BC08F1F +:1028DC00B3FB5C9F728C03318E316D148C03318E83 +:1028EC00314D616D08616C5C606162629FB3FB8FFE +:1028FC00BFFB7CFF50FF5E02D1DD278FBFFB7CFF4F +:10290C005E027234B7FB89616A99716207CC01006F +:10291C00316207086159018C01D1DFF471630771D1 +:10292C006B27F21006C6D7D9A7FBC15006FD492B61 +:10293C00C0D9A8FBC15007FD492BC0D7FD3329F2E4 +:10294C00D7C7711300711B20710303710205E0C11D +:10295C005003FD492BC05013FD9909F0C15005FDE2 +:10296C00492BC0500FC1E0FD492BC0500AFD9909FD +:10297C007103055008FD9909501FC1E0FD492BC09A +:10298C005012FD99095003FD5A2B625C01D1DF03F3 +:10299C00E2EF25F0FD5A2B629D363602F9C750083E +:1029AC00FD312BC05003C1FD492BC0710203711ABC +:1029BC0020FDF12ACD310CF2C6D75003FD5A2B6203 +:1029CC005C01D1DD155014FD6528FDCE275014FD9A +:1029DC009909E0C15003FD492BC0711300711B20F4 +:1029EC007103035014FD9909F0C1E0FD492BC0F0AF +:1029FC00C15003FD492BC0D7C72004FBF8FFCC0204 +:102A0C00008D319C035010C150A4FD6A02C0629D20 +:102A1C0031D450DD04F2EDCE2A8C037B315C08D12D +:102A2C00DD0F8D315C08D1DF05CC0210EF03CC0239 +:102A3C00208C037B315C04D1DD158D315C04D1DF3E +:102A4C00088C026C049C02EF068C026C089C028FB2 +:102A5C00B2FB5CF3728D315C0C6162629FB2FB8FD6 +:102A6C00BEFB7CFF50FF5E029C02D1DD1F34B6FB27 +:102A7C00896E0299716207CC0100316207086159B5 +:102A8C00018C01D1DFF4716307716B278D315C40D0 +:102A9C00D1DD095002C15012FD9D34C08D315C0155 +:102AAC00D1DD08E0C15012FD9D34C0717AFA8D3130 +:102ABC005C41D1DD0C5A31BED831C15010FD5747A5 +:102ACC00C0F21004C6D7FD6727F2D7FDCE27F2D788 +:102ADC00C78FC6FB7617FD6528664FC6FBDFF2F580 +:102AEC00C6FBF2C6D75064FD9909FD222C6261FB2E +:102AFC00711192F171149261DC70C15012FD574743 +:102B0C00C0FD4B36CD5F03D7C7C1C1FBF8FFAC0A84 +:102B1C00BB17C15002C18C0270C1506CFD35031043 +:102B2C00061004C6D7C7C1FBF8FFAC08C15002C1E0 +:102B3C008B70C1506CFD8B021006C0C6D7C78806BF +:102B4C00166770C1C75084FDFE021004C6D7C716A5 +:102B5C00C75084FD6A02C0C6D7C74A2004DE04569B +:102B6C0000EF0256014008F901DF048686EF0A40A7 +:102B7C0008F902DF045104610666318F12504CD6FD +:102B8C0033514CD6610A045420BD38C6D740AFFB34 +:102B9C003DDC05CF04FC0FD740AFFB1FDC05CF0499 +:102BAC00FC0BD740AFFB0BDC05CF04FC07D740AFC9 +:102BBC00FB0661D831320405CF04FC03D7D5AFFB3B +:102BCC00DD04E504FCD7F504FCD7D504F9DF04716A +:102BDC007392D7FD222C6261FB7101937114927177 +:102BEC00079361C8317292177172927104937111CB +:102BFC0092F171049361DC70C15012FD5747C0D73C +:102C0C00C716C75004FD312BC0C6D7C716C7500214 +:102C1C00FD312BC0C6D740AFFB0BDE02E2D7F2D79B +:102C2C007100010571785005713AD5713BD18F1047 +:102C3C00055CFC9F1005CF54054AE5420571104216 +:102C4C0005710042057148500571305005712050D6 +:102C5C0005CF530509CF52050B7130510571205129 +:102C6C0005713BD5717050058F11055CFC9F1105EA +:102C7C00F422D77178500571080105D7FD4538FD50 +:102C8C006A04717AFAFDAB23F504F98F06F9310564 +:102C9C001B5003FD5A2B625C01D161E8CF04F90291 +:102CAC00CFAFFB64710407714192EF10F67104070A +:102CBC00611012F6B1236061FB714192FD6E30FD23 +:102CCC00FB42712295712BE7618461A461EDEFF8F1 +:102CDC00D77140F00071783002713AE6713BE271C5 +:102CEC003BEA713BEE8F10055CFC9F1005CF340264 +:102CFC004AE552FF711A52710A5271483002713012 +:102D0C00300271203002CF330209CF32020B713006 +:102D1C00310271203102713BE6717030028F110566 +:102D2C005CFC9F110571603002D7717830027148DC +:102D3C00F000D7C788061666614FDD0967614EDE65 +:102D4C000396EF01866672C6D7C7161714AA04122B +:102D5C00A943DD29AA0412A923FD7C4EC3AC02FDB4 +:102D6C007C4E13C2BDD813FD1C0FDE0C1714AA0227 +:102D7C0012AA0403BA04EF051714A9BA04AC04127E +:102D8C0031FF319E03317F087208C6D77100F20003 +:102D9C00304400BFB601300188BF9001300984BFB8 +:102DAC009E01BF9C01BF9A01BF9801BF9601BF94C1 +:102DBC0001BF9201F53CFF30FE00BFBE01F6BFBC67 +:102DCC0001BFB80150EEBFBA01A1BFB201C918FED4 +:102DDC00008F06F9310507F5CDFBCB6CFF00717345 +:102DEC0093716293D730EF00BFB401F6BFBA017193 +:102DFC0008F200712304715307BE6EBE64BE6A7183 +:102E0C002304715307715BD1F453F452716393D75C +:102E1C008D54B454D1DF6931D4D105715BD1E453F5 +:102E2C00D453DD2E7140B2FBD852F1E734020023AB +:102E3C00DD0625DD0325DF05F6BE66EF06D9CCFBE6 +:102E4C00F1BE66A4524A5220DF04F452F453CD541E +:102E5C0019D7CD541E7148B2FBD5CEFBDF04F6BE9C +:102E6C0066D7D9CCFBF14266FFDD15D9CCFBF1124C +:102E7C00AE6643DE05A266FFEF03B266FFCD5403D8 +:102E8C00D7C7161714F6B9AA0412F6231231FF315C +:102E9C00AE03316FBA02C6D7C7C1FBF8FF8C08501E +:102EAC0080D612AB1413B9AB14AA0412A92312D9ED +:102EBC0027FBF133BDD813FD880DBA02C0C6D7313C +:102ECC00049401D74004F902DF10F6BE64BE6EBE56 +:102EDC006ABF8EFBBF94FBBF9AFB31749314308A8C +:102EEC00FBFD8D2E3090FBFD8D2E3096FBFD8D2E37 +:102EFC00EF713114940D7113947108D2FBF456F4E4 +:102F0C0055EF60D455DF5A8F26FB9D554A561FDC72 +:102F1C00177100D2FB4028FBFFDD1CA4578F28FB48 +:102F2C004B57DE13F456EF0FD856F1A1605C1F9D82 +:102F3C00567108D2FBF457E856092AFB70C1308A47 +:102F4C00FBFDA42EC0E856094AFB70C13090FBFD76 +:102F5C00A42EC0E856096AFB70C13096FBFDA42E66 +:102F6C00C0B455308AFBFD552DF313BE6E3090FB6B +:102F7C00FD552DF313BE6A3096FBFD552DF313BE94 +:102F8C0064D7C736F00071F4DC297170F000CE9D67 +:102F9C0008CE9EC0CE9F80F594FFF593FFF592FF6F +:102FAC00E597FFE596FFE595FFE598FFCE9C7F71D1 +:102FBC0000A6FB711BE3712BE3711AE7712BE77110 +:102FCC007A9D710A9E31929E02EFFA710B9E7123CB +:102FDC0094713394714394C6D7C73122941E7122D5 +:102FEC0094710A9E31929E02EFFA34D4FB3692FF12 +:102FFC0052078B99A5A792DFF9710B9EC6D7C7888C +:10300C00061631329415713294C7349CFB3092FF02 +:10301C001652078B99A5A792DFF9C6667367189CA1 +:10302C00FBC6D7C77123943134941E713394710A43 +:10303C009E31929E02EFFA3492FF369CFB52078B24 +:10304C0099A5A792DFF9710B9E31449413714394A7 +:10305C00717B9E8FDCFB9E9A8FDDFB9E9B717A9E13 +:10306C00C6D7CFA7FB5CCFA8FB5FCFC8FB5DCFFC5F +:10307C00FB36CFFDFBC9E5D3FBD7C7CFA4FB12CFE3 +:10308C00A5FB19CFCCFBFFF5CDFBF5CEFBF5CFFBAC +:10309C00F5D0FB5600664C64DE08723826FB0086C1 +:1030AC00EFF3C6D7C788061617F1E7340300236180 +:1030BC00E3EDD5332361F8EDA131B12361E3EDAB41 +:1030CC00312561F8EDB931B1240D0061D8EDD5335E +:1030DC00240B0061F8EDD9312361F8ED1C3223612A +:1030EC00F8EDEC312361F8EDD03324060061F8EDF6 +:1030FC008532B12561D8EDA13224000061F8EDAE26 +:10310C00322361F8EDD5332361F8EDAE33B1236191 +:10311C00E3EDD1322361F8EDE2322361F8EDF332C5 +:10312C002361F8EDE2322361F8ED04332361F8ED0D +:10313C0015332361F8ED24332361F8ED4633236115 +:10314C00F8ED52332361F8ED5E332361F8ED66330D +:10315C002402002361E3EDD53324020061F8ED6E07 +:10316C00332361F8ED79332561F8ED8433B124060E +:10317C000061D8EDD53324000061F8EDD73325611B +:10318C00F8ED8F3324120061F8EDA9332361F8EDCB +:10319C009A33EDD73334A6FB89615F99EDE1333077 +:1031AC004829619466736718A4FBEDE13340A9FBD1 +:1031BC006ADF1340AAFB68DF0D674C6CDF08303800 +:1031CC00406194713AD5679FABFBEDE13367D1DD7C +:1031DC000C30693B619434C4FB89616F99EDE13328 +:1031EC00675C02D1DD0730D22A6194EF0B675C017A +:1031FC00D1DD0530D72A6194675C3CD1DD0F30DC22 +:10320C002A6194675C3C7266736218A4FBEDE1332F +:10321C0067D1DD625C01D1DD05300800EF01F6609D +:10322C009F01FC675C02D1DD03E6EF01F63401FC83 +:10323C0089616899675C04D1DD04E6A1EF01F6347D +:10324C0001FC89616899675C08D1DD05302000EFCD +:10325C0001F63401FC89616899675C10D1DD053099 +:10326C001000EF01F63401FC89616899675C20D18C +:10327C0061E8716001FCEDE133D446DF08679FCD56 +:10328C00FBA446EF0D4A4605DE08E846671811FD1B +:10329C00A446EDE133675C0F7266736218A4FBED14 +:1032AC00E1334A4664DE1B4A4601DF0667D161F80A +:1032BC005701E846671826FBA4464A460561C871C3 +:1032CC001294EDE133675C7F70C117F1243000FD7F +:1032DC000A30C0EDE133675C3F70C117F124300058 +:1032EC00FD0A30C0EDE133675C0770C117F1243083 +:1032FC0000FD0A30C0EDE133675C1F70C117F1248B +:10330C003000FD0A30C0EDE1336770C117F1243095 +:10331C0000FD0A30C0EDE133CEABAC710A9E3192A8 +:10332C009E02EFFAD592FFDF05710B9EEFED679EC3 +:10333C0099710B9E9FDBFBEDE133714294675C7FCF +:10334C009FDCFBEDE133714294675C3F9FDDFBED4D +:10335C00E133675C3F9FDEFBEF7B675C1F9FDFFB0E +:10336C00EF733029396194679FE4FBEF6830F638CE +:10337C006194679FE5FBEF5D300F396194679FE8BF +:10338C00FBEF52675C01D1DD4CFDFB42EF474A5825 +:10339C00C8DE42E85867185AFAA458EF38679D58A7 +:1033AC00EF33675C01D1DD05711202EF037113027B +:1033BC00675C02D1DD05712202EF03712302679F66 +:1033CC00D3FBEF1167318EEF0CEF0A664C5BDE0519 +:1033DC00736718A4FBC6D7C716664C30DC094C378C +:1033EC00DE05FDE52FEF6B664C02DF1F8FA6FB5C45 +:1033FC0003728F03FC5C03318E316D08616A081215 +:10340C008F03FC5C80312A6162EF56664C3DDF080D +:10341C00AE90BD5AF85AEF49664C3EDF04F85BEFAC +:10342C0040664C4FDF05FD2343EF36664C61DF08E9 +:10343C00E858095AFA72EF29664C7FDF05FDDF3B2D +:10344C00EF1F664C4EDF0B310496045210EF12F254 +:10345C00EF0F664C5BDC0452FFEF06667309A4FBAE +:10346C0072C6D7C788061617F1241000240500DC95 +:10347C0007244C00DD17EF17717BFA17F104A4FB3E +:10348C001489617F99717AFA715294EF02A458C62B +:10349C00D7C7C1C1FBF8FF4004F903DD064004F9AE +:1034AC0004DF38717BFA8C027309ACFB5E0AD1DF46 +:1034BC00278C02318E04A4FB14896E0A9971620761 +:1034CC00717AFACC0100316207086159018C01D183 +:1034DC00DFF4716307716B27717AFA1004C6D7CFCA +:1034EC0003FC03F501FCF505FCF507FCD7C78806C2 +:1034FC001617F1E734020025DD3D23DD1725DD1C11 +:10350C0023DD0523DD2BEF3B710295679F06FCCD78 +:10351C005F03EF2F675C839F03FCEF27675C039FC0 +:10352C0005FC675C034C0261F8712296FD1145EFB6 +:10353C0012679F07FCEF0C6791DF08E0C15012FD8A +:10354C009D34C0C6D7C71617F1E7240000DD2A2327 +:10355C00DD1E240300DD0724FB00DD24EF253132C2 +:10356C009605308000EF01F6086F04FC7208EF1925 +:10357C008F01FCF501FC72EF107152955235EF0979 +:10358C00F2EF0666730900FC72C6D7C71617F1E78F +:10359C00240000DD38241000DD1C23DD1C23DD306D +:1035AC00240E00DD18241100DD1B240F00DD122475 +:1035BC003000DD15EF1EE2EF1D5202EF195204EF41 +:1035CC00155206EF115205EF0D5207EF09F2EF06F7 +:1035DC005203EF0252FFC6D7C7316494377163941C +:1035EC008D5E9FACFB8D5D9FCBFB36D2FCC7D85D4F +:1035FC00FD4B37618A70618AFD9037C0D862F1311A +:10360C002F609D618D5C4B61DD0A7172948D619DA3 +:10361C005CCD5F034A5F05DE083055366194CD5FA3 +:10362C006BB45F7150F000CE300BCF170006CE316B +:10363C0006FD4502717A30710BE3710BE7C6D78D2D +:10364C00619D5C8D619FADFBD74004F903DF0640A3 +:10365C0004F904DF02F2D73174940C717394711372 +:10366C00958D619D63EF313104951F710395711236 +:10367C0095D506FCDF04F464EF0A8F06FC5002D6E5 +:10368C00A1609D648D649D63EF0E311495068D646D +:10369C009D63EF048D619D638D639FADFBD863FDCE +:1036AC00BD36E863091C2270C15013FD5747C0F2A8 +:1036BC00D7C7C1C1FBF8FF8C02D1DF05F506FCEFC3 +:1036CC001A8C024C05DE06CF06FC02EF0E8C023182 +:1036DC008E1231FE03311F609F06FC8D654F06FC78 +:1036EC00DD28CC011F8F06FC9D65CC00008B4C089F +:1036FC00DE148B730912204F06FCDC058B9C01EF4A +:10370C0005615900EFE78C019D601004C6D7C71600 +:10371C00710AE7710BE37150F000CE300BCF17003C +:10372C0006669E31FD4502717A30710BE33182E3FE +:10373C0002EFFA8D1F7158F000710BE772C6D7C7F4 +:10374C00C1C1FBF8FF8FFCFB4E02DC03F2EF318CA6 +:10375C00024FFDFBDC0452FFEF268C022FFCFB70AA +:10376C006131318D128FFDFB2FFCFB70613133BD4C +:10377C00D813FDAA0DBB440001DC03F690BB8B7281 +:10378C001004C6D7C7C1FBF8FFAC0814A914897084 +:10379C008B6128706131FD7C4E1344030071FEDC9B +:1037AC0023AC08148A04819A04AC08148A044C11C2 +:1037BC00DC10A9148B99AC0814CA0200AC0814CA0A +:1037CC000310EF72AC0814CA0400AC0814A91489D5 +:1037DC004DDE0AAC08148A02819A02EF12AC08146E +:1037EC00A914894D61D308AC08148A02919A02ACD1 +:1037FC0008148A03919A03D1DF3CAC08148A024C5A +:10380C0010DF10A91489318EA112AC0814A914620E +:10381C0099EF17AC08148A024CF0DF0EA914893109 +:10382C008EB112AC0814A9146299AC0814CA020027 +:10383C00AC0814CA0310C0C6D7ED4838C75600668A +:10384C004C0ADE0BF0317E12F67810FC86EFF0C6D7 +:10385C00D7C7200CFBF8FF17040600C15006C15057 +:10386C00A8C15030FD8B021006D2DD1B4A6804DE65 +:10387C0005A468E2EF7034E4FB895CFC99FD2939FE +:10388C007110B2FBF2EF5F717BFA300600C11704C6 +:10389C000600C130E9FBFD844E1004717AFAF4681D +:1038AC008FE4FB5C01D1DD264004F903DF205010CE +:1038BC00C180FD9D34C0C736100571D4C6DE0F170C +:1038CC00C15006C150A8C15030FD8B0210064004F7 +:1038DC00F903DD064004F904DF0B8FE4FB5C02D135 +:1038EC0061E8FD3D40F2100CC6D7D9E5FBC1503064 +:1038FC00FD6A02C0629FE8FB5008C15011FD9D3467 +:10390C00C0F2D7D9E8FBC1D9E7FBC15030FDFE02AC +:10391C0010045008C15011FD9D34C0F2D7C7200CC3 +:10392C00FBF8FFCC09004007F901DF05CC0A02EFD8 +:10393C0003CC0A10CC0B808FE4FB5C039C07D1DF1B +:10394C0008717AD5CC0807EF06717BD5CC082F17F8 +:10395C00040800C15004C150A0C15030FD35031003 +:10396C0006624C02DF077110B2FBF2EF357118B230 +:10397C00FBF468C736100571D4C6DE164004F90393 +:10398C00DF1017A1C15006C150A8C15030FD8B02E9 +:10399C001006717BFA8FE4FB5C034E07DD03E2EF4C +:1039AC0001F2100CC6D7D504F9DF03F6BD6A40044A +:1039BC00F901DD0AD474DD03B474D7CD74038F041C +:1039CC00F9318FE723DD0B24020024030061C8EDDD +:1039DC00D73A8F06F931233E301B00466ADF0AE0E6 +:1039EC00C15010FD9D34C0EF1D307701466ADF16C3 +:1039FC005002C15010FD9D34C0F64670DF088FC8D0 +:103A0C00FB5010D6BD70F64670DD36B6704670DFD2 +:103A1C0030711293EF2B301B00466ADF13F646729F +:103A2C00DF18E0C15010FD9D34C0C9725307EF0A76 +:103A3C00307701466A61F8711293F6467261E8B606 +:103A4C007231549608714395F6BD6AEF1431449562 +:103A5C0005F6BD6AEF0BA66AF6466A61F8C96AFFFD +:103A6C00FF316296194A6C05DE16A46C4A6C05DFB0 +:103A7C000FA46C5004C15010FD9D34C0EF02F46CC7 +:103A8C00316496194A6E05DE16A46E4A6E05DF0F78 +:103A9C00A46E5008C15010FD9D34C0EF02F46ED4DA +:103AAC006FDD03B46FD7317296174A6D05DE14A41F +:103ABC006D4A6D05DF0DA46D5010C1FD9D34C0EF36 +:103ACC0002F46D4A6D0661F8CD6F25D7C736100527 +:103ADC0071D4DE0E8FB2FB5C02D1DF06305D386133 +:103AEC0094D24004F903DF1C3122070530042A610B +:103AFC00943154950C7153955080C15012FD9D34E6 +:103B0C00C0FD153BFD3B3BC6D78F03FC5C01D1DDF3 +:103B1C001DD477DD03B477D7CD77098D604B76DD77 +:103B2C000D8D609D765040C15012FD9D34C0D74024 +:103B3C0004F903DD04F6BD1AD7D5D0FBDF08F64631 +:103B4C001ADD19B61AD7D9CCFBF1461ADD0ED9CC31 +:103B5C00FB12AD1A43DE03A61AD7B61AD7717BFA3D +:103B6C00C78FC4FB76F5C4FB717AFA5C10D161E89F +:103B7C00716295665C0FD1DD57665C01D1DD05F590 +:103B8C0004F9EF4C665C02D1DD11E0C15003FD4934 +:103B9C002BC0711300711B20710303665C04D1DD13 +:103BAC0011711300711B20D503FC61F8710303FD27 +:103BBC00EB34665C08D161E87103035005FD99098B +:103BCC007102035003C1FD492BC0711A20FDF12A6B +:103BDC00F2C6D7C756FF4A461361C8EDB93C8F06EB +:103BEC00F9311505300400EF0F8F06F9314505301A +:103BFC000500EF04D907F9F1609F28FC8D789F2907 +:103C0C00FC713492E661301271049261DC311961FD +:103C1C0062629F2AFCE52BFC31140205308000EF18 +:103C2C0001F6C131449605304000EF01F6C2616BDC +:103C3C0008616A08C131340405302000EF01F6C276 +:103C4C00616B08616A08C131240205300800EF017C +:103C5C00F6C2616B08616A08C131749605300400C4 +:103C6C00EF01F6C2616B08616A08C131649604E623 +:103C7C00A1EF01F6C2616B08616A08C13154960369 +:103C8C00E6EF01F6C2616B08616A9F2CFCF17124AE +:103C9C000461DC9F26FCF171540761DC9F27FCD882 +:103CAC0046F10104ECFC14A9148976A4466672C68C +:103CBC00D7C7FDBD088F04F9318FE724000061F8E8 +:103CCC00ED973E23DD1B2361F8EDA13D2361F8ED5B +:103CDC001D3E2361F8ED663E2361F8ED3A3FED940D +:103CEC003EF6BD707113934005F901DF2C3134960B +:103CFC001B466ADD04F424EF02A4244A2465DC0F7D +:103D0C00F6BD6AF504F9712295EDBB3FFDAB23AD11 +:103D1C006A440A0061D8EDBB3F714295FD6A04719B +:103D2C006392FDAB234007F903DF09712295F5047B +:103D3C00F9EDBB3FFD152640B1FB9BDE09712295C9 +:103D4C00F504F9EDBB3F714A277140110571301133 +:103D5C0005713A22715A2271501105FD4D29D2DD9F +:103D6C0009712295F504F9EDBB3F71103500CF3781 +:103D7C00001D714012054005F901DD064005F903EF +:103D8C00DF05F5CDFBEF04CFCDFB03CF04F902FD2E +:103D9C003329EDBB3FFD2C2CFDDD2C714A9DFDEB39 +:103DAC0034FD8630F537FF712BE0F505F97122955E +:103DBC00CBE43FEFCBE6F6F0FD6A04713BD4711215 +:103DCC00027123028F06F93105285004FD5A2B622B +:103DDC005C03318E315D34B3FB896168995002FD0F +:103DEC005A2BD2DD067170B3FBEF047178B3FBFD77 +:103DFC00AB23FD982D710806F9CF04F9038FA6FBB0 +:103E0C005C02D1DD095080C15010FD9D34C0EDBB6A +:103E1C003FFDBD3F3164952FA47AD47ADD0831A4DF +:103E2C00E00A31020C06712BE0FD294031A4E017A9 +:103E3C0031040C13712BE05027C15005FD492BC0E8 +:103E4C00CF04F904712295FD1E408F06F931250728 +:103E5C0031349603F504F9EDBB3FFDBD3F31020C47 +:103E6C0014F0C15005FD492BC05005FD9909FD29E1 +:103E7C0040CF04F903FD1E408F06F931250731347C +:103E8C009603F504F9EDBB3FF504F9CFCDFB03F533 +:103E9C00CEFBF5D0FB717293F6426CFF61E8EDBB83 +:103EAC003FF6BD70711393F5E4FBFD2939717AFA75 +:103EBC00FDF12DFD7F2CFD362D714B9D7113027183 +:103ECC00230231349302EFFACE3708CBE4BFFFCB99 +:103EDC00E6FFF3CED4FFF5B4FBF5B5FBF5B6FBF579 +:103EEC00B7FBCF37000971481205F6BEE0BEE2BE43 +:103EFC00D0716A27FDC629714307714B2771481091 +:103F0C0005714811057138100571381105713302AE +:103F1C00713B22715302715B22715810057158115B +:103F2C0005CF04F905714295F6BD6AFD8609F505C4 +:103F3C00F9F42431349604D432DD20E505F9E50496 +:103F4C00F98F06F9312568F5F8FBF5F6FB502EFDD7 +:103F5C009909CF05F903E504F9EF54FDBE04FD3EC4 +:103F6C002371730171320471430271039271629275 +:103F7C0031949E02EFFA712AE7CEA409F5F30031D1 +:103F8C0004070261FDE5F300F466FDBD08CEA4084C +:103F9C0031329606CF04F905EF09714395E505F921 +:103FAC00E504F9712BE78F06F9312503F504F9C601 +:103FBC00D7D47BDF19310200585003FD5A2B625CB9 +:103FCC0001D1DF07F504F9712295D7E47BD74A7B41 +:103FDC00F0DF073104003AF47BD74A7BC8DF0AF5DF +:103FEC0004F9712295CD7BF0D7310200084A7BFF92 +:103FFC00DD1FA47BD7F0C15004FD492BC08FB3FB50 +:10400C005C9F9FB3FB7110C4FB30693B6194CD7B0B +:10401C00F0D731149306F504F9712295D771639595 +:10402C00F47A717207FD4502717307D7FDD804F25B +:10403C00D7717BFAC7200CFBF8FF8FEAFBF0F9E98C +:10404C00FBF303FD7C4E13BC048FECFBF0F9EBFB94 +:10405C00F303FD7C4E13BC028FEEFBF0F9EDFBF38A +:10406C0003FD7C4E13BB717AFAAC04BDD8F6BDDAF5 +:10407C00AC04311EBDDCF6BDDEFD5D0DADD8BDDC86 +:10408C00ADDABDDEAC02BDD8F6BDDAAC02311EDA5B +:10409C00DCC3DADEC3BDDCF6BDDEFD5D0DC0BDDE0E +:1040AC00C0BDDCADDEFDD30EADD8BDDCADDABDDE02 +:1040BC00ABBDD8F6BDDAAB311EDADCC3DADEC3BD7C +:1040CC00DCF6BDDEFD5D0DC0BDDEC0BDDCADDEFDD4 +:1040DC00D30EDADAADD8FD0C44C3C58D885C3FF045 +:1040EC00317E0440FC14C2C0B9A488F6BC08BC0ADA +:1040FC009C078C074C2EDD3D8D880E0770F161DC22 +:10410C00605C3FF0317E127940FCBDD8F6BDDA8C94 +:10411C000773095C22318FBDDC70BDDEFD5D0DAC1B +:10412C0008BDDCAC0AFDD30EADDABC0AADD8BC08B8 +:10413C00615907EFBDAC08BDD8AC0ABDDAC9DC00CB +:10414C0004F6FD270EC9DCFFFFF6FD280FADD8BD28 +:10415C0082AF3AFC4682DD11AF3CFCBF3EFCAF3A6D +:10416C00FCBF3CFCAD82BF3AFCAF3CFC423EFCDCED +:10417C0046AF3AFC423CFCDE3EAD26423AFCDE3712 +:10418C004A2A16DC1A4A2AA0DE138D844B2ADE0D2D +:10419C00AF3AFC268644691061C8FDF541F42AAF9C +:1041AC003AFC445146DC0AAF3AFC241027BD28EFF8 +:1041BC000DC928F82AEF074A2AFF61E8A42AAF3E66 +:1041CC00FC423CFCDC18AF3CFC423AFCDE10AF3A43 +:1041DC00FC4628DE09F484AF3AFCBD86EF074A841E +:1041EC00FF61E8A484100CC6D7717BFAC7710A9ED4 +:1041FC0031929E02EFFA8E949F34FC8E969F35FC82 +:10420C008E979F36FC8E989F37FC8E939F38FC8E32 +:10421C00929F39FC710B9E717AFA8F37FCFD3C0F23 +:10422C0076FD8A4313BD80D5EFFBDF0AD5F0FBDFAB +:10423C0005D5F1FBDD25F6B14680DF11C9803722AB +:10424C00665C0391DF060A80181A81009617FDAD93 +:10425C004413FDCD4231049602EF615206929269ED +:10426C0034FC682EFCDFF6AD80BD7EF87CF3311C8F +:10427C00790AF944FEFFDD44D87CF101040AF914F3 +:10428C00A944FFFFDF04E6B9EF0BD87CF101040A67 +:10429C00F914A9A1B9717BFAA0EFFBD5EFFBDF1CD8 +:1042AC00A0F0FBD5F0FBDF14A0F1FBD5F1FBDF0C8C +:1042BC00CFEFFBFFCFF0FBFFCFF1FBFFC6717AFA1C +:1042CC00D7C716D87CF10744A800DC05710296EF1D +:1042DC001CF647DD18A47C4A7CA8DC05710296EF1D +:1042EC000CF87CF3311CF6780AF9B7EFE4C6D7C7A3 +:1042FC0056A89666F0317E12F6B1780AF966D1DFCF +:10430C00F1717BFAF5EFFBF5F0FBF5F1FBF47C7149 +:10431C000396C6717AFAD7C72004FBF8FFD446DFA0 +:10432C00168D7C9D89717BFA52069292692EFC68DF +:10433C00C0FCDFF6717AFA4A4606DE0EE84609C082 +:10434C00FC9C03A4468C0372EF30F889F3311C7982 +:10435C000AF9BB311296058B9C03EF0F8C019C0361 +:10436C00D489DF05CD89A7EF02B4897180711796C6 +:10437C0061DC61FB7111968C03721004C6D7C720E7 +:10438C0008FBF8FF8F37FCFD3C0F9C078F36FCFDBC +:10439C003C0F9C068F35FCFD3C0F9C058F34FCFDBF +:1043AC003C0F9C048F38FC9C038F39FC9C028C06C0 +:1043BC00318E0112791A20BB8C075C03D1DF098C7A +:1043CC00064C0361C86179008C05318EB16109001E +:1043DC00BB313D120103BB8B0E04708C011C00BB66 +:1043EC008FF4FB4E03DC0E8C034FF4FBDC0B8C02C6 +:1043FC004FF5FBDC04AB12EF03ABB1121008C6D7C0 +:10440C00C7C3C12008FBF8FFF661490A61F861498E +:10441C0008DF07F7340000EDA944E6BC04F6BC063F +:10442C00AC0ABC02AC08BBAC06614902AC0461F836 +:10443C00614900DE28AC04BDD8AC06BDDAE1FDE272 +:10444C000EADDABC06ADD8BC04ABBDD8AC02BDDA3F +:10445C00E1FDFD0EADDABC02ADD8BBEFCAAC06BCBB +:10446C0002AC04BBAC08BDD8AC0ABDDAAC04BDDCF4 +:10447C00AC06FD600EAC04BDDCAC06FDD30EE1FD5C +:10448C00FD0EADDABC06ADD8BC04AC06614902AC7D +:10449C000461F8614900DCC5AC0214AB12100CC607 +:1044AC00D7C7C12004FBF8FF8F31FCFD3C0F9C03E8 +:1044BC004E04DF1CAD7E4680DE07AD80267E12EFFB +:1044CC0040F64680DF07467EDD03E7EF34F7EF3139 +:1044DC008C04318EB1128C03318E43DF18303822AC +:1044EC00267E0680BB8C045C0391DF05AB041800B0 +:1044FC00BBAB12EF0C8C034E04DE0532A900EF01AE +:10450C00F71006C6D7717BFA3122960CF6468CDD75 +:10451C0007B68C717AFAEF7C712396717AFA4004A3 +:10452C00F904DF07715307F42CEF69D9CFFBF1E7DE +:10453C00240000DD0F23DD1A23DD1023DD5323DDE2 +:10454C002723DD38715307F42CEF49715207F42CF3 +:10455C00EF42D42CDF07715207E42CEF057153079F +:10456C00F42CC98CFA00EF2CD42CDF0B715207E41D +:10457C002CC98CFA00EF1DF5CFFBEF18D42CDF0BF8 +:10458C00715307E42CC98CFA00EF09CFCFFB02EF73 +:10459C0003FDA145D7D905FCF1E7240000DD092373 +:1045AC00DD2123DD0923EF1B715307F42CD7D42C09 +:1045BC00DF07715207E42CEF05715307F42CC98CFB +:1045CC002D01D7715207E42CD731629301D77103B7 +:1045DC0094D9CDFBF1E7240000DD1223DD1923DD96 +:1045EC001123DD2623DD3423DD3923DD3FFD614638 +:1045FC00EF3DFD8246EF38D9CCFBC1AE6CFD3F2DB3 +:10460C00C0F313BE6C712304EF25F0C1AE6CFD3FFB +:10461C002DC0F313BE6C712304EF14F6BE6C712223 +:10462C0004EF0CCB6CFF00712304EF03FDF6464046 +:10463C0004F905DD064004F901DF0671230471035A +:10464C00943104940FF6BE64BE6A31220402EF0268 +:10465C00F690BE6ED7CD2E47F48EAE6C317DBFCAB0 +:10466C00FCFDCB46D2DF0ED9CCFBC1AE6CFD3F2D91 +:10467C00C0F313BE6CD7FDCB46D2DD0DCD2E47F467 +:10468C008EAE6C317DBFCAFCD7E88E0934205080C9 +:10469C00D6BFC6FC22CAFCBDD8304700FD880DBF72 +:1046AC00C8FC30C6FCFD552DF313BE6CB42ED42EB5 +:1046BC00DF0CCD2E47A48E4A8E1F61C8F48ED740D6 +:1046CC00AFFB0BDC05712304F2D740AFFB0661D8BE +:1046DC0031229211F0C1AE6CFD3F2DC0F313BE6CB4 +:1046EC00712204EF03FDF646E2D7710294F0C1AEDD +:1046FC006CFD3F2DC0F313BE6CA48F4A8F40DC378A +:10470C00F48FD890F1313F0412FD14D890F1BDD83C +:10471C005008FDD70D087208E6D2DD040192DFFCCB +:10472C00896158D1DD05712204EF03712304A49033 +:10473C004A902061C8F490D7C73026FDC6D7718047 +:10474C00717DFADE035201D75200D7C7C12004FB9A +:10475C00F8FF17040300C1E0C15010C150A4FD8B39 +:10476C00021006629C02D1DD058C0272EF4C8C0C9F +:10477C0070C18C0470FDCA47C0629C02D1DD058CEF +:10478C000272EF368C0CD1DD3017A1C1E0C1501094 +:10479C00C150A4FD8B021006629C02D1DD058C0277 +:1047AC0072EF178C015C7CD1DD03F2EF0D8C037082 +:1047BC00C15010FDCA47C0EF01F21006C6D7C7881A +:1047CC000616710AE650A4FDB703D2DD07713393C8 +:1047DC005202EF2217FDD3036770FDD303FD1E04B5 +:1047EC0050A4FDD3035020FDD30350AAFDD303FDE9 +:0847FC004704713393F2C6D7A4 +:1048040061FC61FCC1C3C5C7520C929269D4FEC15C +:10481400DFF88EFD708EFCC1717AFA4004F903DF73 +:104824000530042A6194C09EFC609EFD34D4FE527F +:1048340006C0B9A5A592DFF9C6C4C2C061FC61DF98 +:10484400520C929269D4FEC1DFF88EFD708EFCC1C9 +:104854008F4105775C04D1DD06675C01D1DD503101 +:104864005494367162077153948FB4FB5FBCFBD1CF +:10487400DF1B8FB5FB5FBDFBD1DF128FB6FB5FBEC5 +:10488400FBD1DF098FB7FB5FBFFBD1DD0C316207C2 +:1048940002EFFA716307716B27711396FD2F30F4E1 +:1048A400227148500571605005717AFAED9E49678E +:1048B4005C02D1DD16D422DD124A2202DD0DF4227F +:1048C4007148500571605005717AFA717AFA8D2237 +:1048D400318FE7240000DD0823DD1423DD2CEF4AAB +:1048E400F4467140500571505005E422ED9E498F05 +:1048F40040059D47715050058D479D49D847FDE3BC +:1049040033629D48CD2202ED9E49675C02D1DD17DA +:10491400675C10D1DD05CD2203EF0F71485005719E +:10492400605005F422EF73CD22044A2203DF108D78 +:10493400489F4005D848C1D847FD6F34C0EF1F8F4A +:10494400400576717447DC054A4702DE0671605003 +:1049540005EF47C7D847FDB030C071505005D8495E +:10496400F1242900DD27240400DD22242200DD1D9A +:10497400241100DD0C240100DD13241E00DD0EEFE4 +:104984000A4A4760DF07CD4761EF02A4474A220382 +:10499400DF08D847FDE333629D48C09EFC609EFD5E +:1049A40034D4FE5206C0B9A5A592DFF961FCC1C397 +:1049B400C5C7520C929269D4FEC1DFF88EFD708E89 +:1049C400FCC1717AFA51405F0401D1DD06F616A7E5 +:1049D40047DFF2300400BF2401F6BF2A01300B0B7D +:1049E400BF2801FD4502300B0FBF2801FD450230F1 +:1049F4000F0FBF2801710AE6F6420C01DD33AF0444 +:104A040001BF0C0131529329715293710BE2D84DBD +:104A1400FDB7033184BD02EFFACBB422FBD84FF1CA +:104A2400BEB8714BE1714BE5710ABD8D4E9E44EFEA +:104A34000C715393714AE5717BBD713393C09EFC35 +:104A4400609EFD34D4FE5206C0B9A5A592DFF9C616 +:104A5400C4C2C061FCC1C5717AFAD44CDD0BEA4A08 +:104A6400899E44A64AB44CEF33710AE6300400BF71 +:104A74002401F6BF2A01300B0BBF280100000000FF +:104A840000000000510FBF280100000000000000DA +:104A940000500FBF2801712393713393C4C061FC8C +:104AA40061EF520C929269D4FEC1DFF88EFD708ED4 +:104AB400FCC12006FBF8FF71503002CEABACCC0435 +:104AC40000F6BB31B2E210617900F6614900DFF310 +:104AD40071603002ED5E4B8E519C03713BE28C039E +:104AE4005C02D1DD1E8C035C08D1DF0971503002F9 +:104AF400CC0400EFCC8C0570FD5135629E50CC0483 +:104B040002EFBE8C035C03D1DF408E509C027150D7 +:104B140030028C04D1DF0E8C0270FD9735629C0547 +:104B2400CC0401EF328C044C02DF0671603002EFDA +:104B340029CF34025A716030028C0270C18C057026 +:104B4400FDF934C0CF34024AEF108C035C01D1DD8F +:104B54000671603002EF03EDC54A1006C09EFC608A +:104B64009EFD34D4FE5206C0B9A5A592DFF961FCBE +:104B7400C1C3C5C7520C929269D4FEC1DFF88EFD41 +:104B8400708EFCC1710A9E31929E02EFFA8FDEFB99 +:104B94004F96FFDF198FDFFB4F97FFDF118FE0FB8D +:104BA4004F98FFDF095004C15011FD9D34C0710BB3 +:104BB4009EC09EFC609EFD34D4FE5206C0B9A5A5DD +:104BC40092DFF9C6C4C2C061FCE46661FCC1C3C51E +:104BD400C7520C929269D4FEC1DFF88EFD708EFC30 +:104BE400C1C1FBF8FF8D1F9C018E31318EE7240675 +:104BF40000DD0823DD0E23DD22EF38717AFA8C0103 +:104C04009D5EEF2F717AFA4007F901DF068C019D52 +:104C14005DEF2051FF2E019D5DEF18717AFA8C0132 +:104C24009D304004F903DD064004F904DF053073C8 +:104C34002561944031FF09DE05A031FFEF0771586B +:104C4400F000716294710BE3C0C09EFC609EFD3461 +:104C5400D4FE5206C0B9A5A592DFF9C6C4C2C0618C +:104C6400FC717BFAC7D46661F831249527712395CA +:104C7400D466DD05B466CEABAC717AFA5600664CE8 +:104C84000ADD1172F3311C79D8FCCEFC0061CA61D3 +:104C9400A486EFEA717AFAF2C6D7C7C1C1FBF8FF5E +:104CA400CC01008C014C0ADE36717BFA8C01F031A8 +:104CB4007E0410FC14A96168DF09AC02B9717AFAA8 +:104CC400F2EF1D8C01F0317E127910FC614902DF94 +:104CD40006717AFAE2EF09717AFA615901EFC4E2D6 +:104CE4001004C6D7C72004FBF8FFF64210FC61F895 +:104CF400EDCA4D717BFA9C038C034C0ADE3C8C0399 +:104D0400F0317E0410FC14A96168DF05717AFAEFB2 +:104D140029717AFA8C0372F3311C7910FCCEFC00F1 +:104D240061CA629C02D1DF0A8C03F0317E12E678FC +:104D340010FC717BFA615903EFBECC0200CC010177 +:104D44008C02F0317E0410FC14A96168DD788C02B9 +:104D5400F0317E127910FCE743DF658C014C0ADEEA +:104D64005F8C01F0317E127910FCE743DD4D717BDD +:104D7400FA8C01F0317E0410FC14A96168DF18611B +:104D840069018C01F0317E12F67810FC8C024E0120 +:104D9400DCED717AFAEF2F8C01F0317E0410FC14F3 +:104DA400A9128C02F0317E337810FC8C01F0317E34 +:104DB40012E67810FC615902717AFA615901EF9B8D +:104DC400615902ED444D00F21004C6D761FF520C44 +:104DD400929269D4FEC1DFF88EFD708EFCC1717AA7 +:104DE400FA8FE4FB5C03D1DD114004F903DD0640D6 +:104DF40004F904DF05305D386194C09EFC609EFDBB +:104E040034D4FE5206C0B9A5A592DFF961FC61FC59 +:044E140061FC61FCE0 +:0A4E180000060C12181E242A303682 +:104E2200ACFB0000000062FE00000000B239E43575 +:104E32008C22D5451C2ECB2E1145D83A4808BD3CB4 +:104E420028FC36FE20FE02F903F929FC30FE2AFC7A +:104E52002BFC08F926FC6CFF1AFF6EFF6AFF64FF49 +:0A4E620027FC66FF2CFC5555555542 +:104E6C00FF0000000000983AF82AFF0000004700FD +:104E7C00317503F7332312D714AEF8C716AC0612EC +:104E8C00C5AC0416F643DD078B99A7A5B3EFF5C2A5 +:024E9C00C6D777 +:024FF400324940 +:0A4FF60031303A30353A303800000F +:00000001FF + \ No newline at end of file diff --git a/tags/2.19_SDK4(3rdNUP)/bsr.lmf b/tags/2.19_SDK4(3rdNUP)/bsr.lmf new file mode 100644 index 0000000000000000000000000000000000000000..f30684eea821cb0500eefb1494a62404949efcb3 GIT binary patch literal 177756 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 literal 0 HcmV?d00001 diff --git a/tags/2.19_SDK4(3rdNUP)/bsr_k0r.map b/tags/2.19_SDK4(3rdNUP)/bsr_k0r.map new file mode 100644 index 0000000..85f15d5 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/bsr_k0r.map @@ -0,0 +1,896 @@ + + + +78K0R Linker W1.33 Date:19 Jan 2012 Page: 1 + +Command: -yc:\program files (x86)\nec electronics tools\dev -_msgoff - + obsr.lmf ..\..\..\Program Files (x86)\NEC Electronics Tools\C + C78K0R\W2.13\lib78k0r\s0rm.rel -gi1B339499E033F240BFAAh -pbsr + _k0r.map -nkd -gb7EFBFFh -bC:\Program Files (x86)\NEC Electro + nics Tools\CC78K0R\W2.13\lib78k0r\fsl.lib -bcl0rdm.lib -bcl0r + m.lib -bcl0rmf.lib -iC:\Program Files (x86)\NEC Electronics T + ools\CC78K0R\W2.13\lib78k0r -dbsr_mcu.dr -s -w2 loader.rel pm + .rel i2c_ctr.rel main.rel magic.rel WDT.rel i2c_mcu.rel i2c_t + wl.rel led.rel rtc.rel vreg_ctr.rel vreg_twl.rel adc.rel reng + e.rel accero.rel self_flash.rel sw.rel task_debug.rel task_mi + sc.rel task_sys.rel pedo_alg_thre_det2.rel ini_VECT.rel task_ + status.rel led_cam.rel led_pow.rel hal.rel batt_params.rel vo + ltable.rel pedo_lpf_coeff.rel kanaria.rel kanaria_c.rel get_e + i.rel util_funcs.rel i2c_mcu-sub.rel +Para-file: +Out-file: bsr.lmf +Map-file: bsr_k0r.map +Direc-file:bsr_mcu.dr + + +*** Link information *** + + 73 output segment(s) + 3D6AH byte(s) real data + 6215 symbol(s) defined + + +*** Memory map *** + + + SPACE=REGULAR + + MEMORY=BCL0 + BASE ADDRESS=00000H SIZE=01000H + OUTPUT INPUT INPUT BASE SIZE + SEGMENT SEGMENT MODULE ADDRESS + @@VECT00 00000H 00002H CSEG AT + @@VECT00 @cstart 00000H 00002H + LDR_CNSL 00002H 00000H CSEG PAGE64KP + LDR_CNSL 00002H 00000H CSEG PAGE64KP + LDR_CNSL loader 00002H 00000H + LDR_CNSL 00002H 00000H CSEG PAGE64KP + LDR_CNSL WDT 00002H 00000H + LDR_CNSL 00002H 00000H CSEG PAGE64KP + LDR_CNSL i2c_mcu 00002H 00000H + LDR_CNSL 00002H 00000H CSEG PAGE64KP + LDR_CNSL self_flash + 00002H 00000H + LDR_CNSL 00002H 00000H CSEG PAGE64KP + LDR_CNSL task_debug + 00002H 00000H + LDR_CNSL 00002H 00000H CSEG PAGE64KP + LDR_CNSL task_status + 00002H 00000H + LDR_CNSL 00002H 00000H CSEG PAGE64KP + LDR_CNSL hal 00002H 00000H + LDR_CNSL 00002H 00000H CSEG PAGE64KP + LDR_CNSL util_funcs + 00002H 00000H +* gap * 00002H 0000EH + @@VECT10 00010H 00004H CSEG AT + @@VECT10 ini_VECT 00010H 00004H +* gap * 00014H 00008H + @@VECT1C 0001CH 00002H CSEG AT + @@VECT1C ini_VECT 0001CH 00002H +* gap * 0001EH 00006H + @@VECT24 00024H 00002H CSEG AT + @@VECT24 ini_VECT 00024H 00002H +* gap * 00026H 00004H + @@VECT2A 0002AH 00002H CSEG AT + @@VECT2A i2c_twl 0002AH 00002H +* gap * 0002CH 00008H + @@VECT34 00034H 00008H CSEG AT + @@VECT34 ini_VECT 00034H 00008H +* gap * 0003CH 0000EH + @@VECT4A 0004AH 00002H CSEG AT + @@VECT4A ini_VECT 0004AH 00002H +* gap * 0004CH 0000EH + @@VECT5A 0005AH 00002H CSEG AT + @@VECT5A i2c_ctr 0005AH 00002H +* gap * 0005CH 00006H + @@VECT62 00062H 00002H CSEG AT + @@VECT62 accero 00062H 00002H +* gap * 00064H 0001CH + @@CALT 00080H 00006H CSEG CALLT0 + @@CALT @cstart 00080H 00000H + @@CALT loader 00080H 00000H + @@CALT pm 00080H 00000H + @@CALT i2c_ctr 00080H 00000H + @@CALT main 00080H 00000H + @@CALT magic 00080H 00000H + @@CALT WDT 00080H 00000H + @@CALT i2c_mcu 00080H 00000H + @@CALT i2c_twl 00080H 00000H + @@CALT led 00080H 00000H + @@CALT rtc 00080H 00000H + @@CALT vreg_ctr 00080H 00000H + @@CALT vreg_twl 00080H 00000H + @@CALT adc 00080H 00000H + @@CALT renge 00080H 00006H + @@CALT accero 00086H 00000H + @@CALT self_flash + 00086H 00000H + @@CALT sw 00086H 00000H + @@CALT task_debug + 00086H 00000H + @@CALT task_misc + 00086H 00000H + @@CALT task_sys 00086H 00000H + @@CALT pedo_alg_thre_det2 + 00086H 00000H + @@CALT ini_VECT 00086H 00000H + @@CALT task_status + 00086H 00000H + @@CALT led_cam 00086H 00000H + @@CALT led_pow 00086H 00000H + @@CALT hal 00086H 00000H + @@CALT batt_params + 00086H 00000H + @@CALT voltable 00086H 00000H + @@CALT pedo_lpf_coeff + 00086H 00000H + @@CALT kanaria_c + 00086H 00000H + @@CALT util_funcs + 00086H 00000H + @@CALT i2c_mcu-sub + 00086H 00000H +* gap * 00086H 0003AH + ?CSEGOB0 000C0H 00004H CSEG OPT_BYTE + @@CODE 000C4H 00000H CSEG BASE + @@CODE magic 000C4H 00000H + @@CODE ini_VECT 000C4H 00000H + @@CODE batt_params + 000C4H 00000H + LDR_CODL 000C4H 00000H CSEG + LDR_CODL loader 000C4H 00000H + LDR_CODL WDT 000C4H 00000H + LDR_CODL i2c_mcu 000C4H 00000H + LDR_CODL self_flash + 000C4H 00000H + LDR_CODL task_debug + 000C4H 00000H + LDR_CODL task_status + 000C4H 00000H + LDR_CODL hal 000C4H 00000H + LDR_CODL util_funcs + 000C4H 00000H + ?CSEGSI 000C4H 0000AH CSEG + LDR_CODE 000CEH 008EFH CSEG + LDR_CODE loader 000CEH 00177H + LDR_CODE WDT 00245H 00000H + LDR_CODE i2c_mcu 00245H 00293H + LDR_CODE self_flash + 004D8H 00370H + LDR_CODE task_debug + 00848H 00000H + LDR_CODE task_status + 00848H 00075H + LDR_CODE hal 008BDH 000DCH + LDR_CODE util_funcs + 00999H 00024H + FSL_CODE 009BDH 00322H CSEG + FSL_CODE fsl_block_cmd + 009BDH 0002BH + FSL_CODE fsl_block_check + 009E8H 00013H + FSL_CODE fsl_common + 009FBH 0014FH + FSL_CODE fsl_reset + 00B4AH 00001H + FSL_CODE fsl_si_ibf + 00B4BH 00064H + FSL_CODE fsl_phySwap + 00BAFH 0004DH + FSL_CODE fsl_si_common + 00BFCH 00061H + FSL_CODE fsl_swap 00C5DH 00030H + FSL_CODE fsl_write + 00C8DH 00052H + @@LCODE 00CDFH 00277H CSEG + @@LCODE @cstart 00CDFH 0006DH + @@LCODE @imul 00D4CH 00011H + @@LCODE @lumul 00D5DH 0002BH + @@LCODE @isdiv 00D88H 00022H + @@LCODE @iudiv 00DAAH 0002DH + @@LCODE @isrem 00DD7H 00021H + @@LCODE @iurem 00DF8H 0002FH + @@LCODE @lsdiv 00E27H 00039H + @@LCODE @ludiv 00E60H 0003FH + @@LCODE @divuw 00E9FH 00034H + @@LCODE @ladd 00ED3H 0000FH + @@LCODE @llsh 00EE2H 0001BH + @@LCODE @lursh 00EFDH 0001FH + @@LCODE @iscmp 00F1CH 0000CH + @@LCODE @lband 00F28H 00014H + @@LCODE @bcdtob 00F3CH 0001AH +* gap * 00F56H 000A0H + MGC_LOAD 00FF6H 0000AH CSEG AT + MGC_LOAD magic 00FF6H 0000AH + + MEMORY=ROM + BASE ADDRESS=02000H SIZE=03000H + OUTPUT INPUT INPUT BASE SIZE + SEGMENT SEGMENT MODULE ADDRESS + MGC_MIMI 02000H 0000AH CSEG AT + MGC_MIMI magic 02000H 0000AH + @@CNST 0200AH 00282H CSEG + @@CNST @cstart 0200AH 00000H + @@CNST loader 0200AH 00000H + @@CNST pm 0200AH 00008H + @@CNST i2c_ctr 02012H 00000H + @@CNST main 02012H 00000H + @@CNST magic 02012H 00000H + @@CNST WDT 02012H 00000H + @@CNST i2c_mcu 02012H 00000H + @@CNST i2c_twl 02012H 00000H + @@CNST led 02012H 00000H + @@CNST rtc 02012H 00000H + @@CNST vreg_ctr 02012H 00000H + @@CNST vreg_twl 02012H 00000H + @@CNST adc 02012H 00008H + @@CNST renge 0201AH 00000H + @@CNST accero 0201AH 00000H + @@CNST self_flash + 0201AH 00002H + @@CNST sw 0201CH 00000H + @@CNST task_debug + 0201CH 00000H + @@CNST task_misc + 0201CH 00000H + @@CNST task_sys 0201CH 00000H + @@CNST pedo_alg_thre_det2 + 0201CH 00018H + @@CNST ini_VECT 02034H 00000H + @@CNST task_status + 02034H 00000H + @@CNST led_cam 02034H 00000H + @@CNST led_pow 02034H 00020H + @@CNST hal 02054H 00000H + @@CNST batt_params + 02054H 001C8H + @@CNST voltable 0221CH 00040H + @@CNST pedo_lpf_coeff + 0225CH 00030H + @@CNST kanaria_c + 0228CH 00000H + @@CNST util_funcs + 0228CH 00000H + @@CNST i2c_mcu-sub + 0228CH 00000H + ROM_CODE 0228CH 02578H CSEG + ROM_CODE pm 0228CH 009A0H + ROM_CODE i2c_ctr 02C2CH 0005CH + ROM_CODE main 02C88H 00055H + ROM_CODE i2c_twl 02CDDH 00062H + ROM_CODE led 02D3FH 0024FH + ROM_CODE rtc 02F8EH 000E0H + ROM_CODE vreg_ctr 0306EH 0047DH + ROM_CODE vreg_twl 034EBH 000F9H + ROM_CODE adc 035E4H 00261H + ROM_CODE renge 03845H 00018H + ROM_CODE accero 0385DH 00155H + ROM_CODE sw 039B2H 00126H + ROM_CODE task_misc + 03AD8H 001E5H + ROM_CODE task_sys 03CBDH 00380H + ROM_CODE pedo_alg_thre_det2 + 0403DH 004D4H + ROM_CODE led_cam 04511H 000C4H + ROM_CODE led_pow 045D5H 0016FH + ROM_CODE voltable 04744H 00000H + ROM_CODE pedo_lpf_coeff + 04744H 00000H + ROM_CODE kanaria_c + 04744H 00006H + ROM_CODE get_ei 0474AH 0000DH + ROM_CODE i2c_mcu-sub + 04757H 000ADH + @@BASE 04804H 00614H CSEG BASE + @@BASE loader 04804H 00000H + @@BASE pm 04804H 0003EH + @@BASE i2c_ctr 04842H 00170H + @@BASE main 049B2H 00000H + @@BASE magic 049B2H 00000H + @@BASE WDT 049B2H 00000H + @@BASE i2c_mcu 049B2H 000F2H + @@BASE i2c_twl 04AA4H 000D0H + @@BASE led 04B74H 00000H + @@BASE rtc 04B74H 0005DH + @@BASE vreg_ctr 04BD1H 00000H + @@BASE vreg_twl 04BD1H 00000H + @@BASE adc 04BD1H 00094H + @@BASE renge 04C65H 0016BH + @@BASE accero 04DD0H 00042H + @@BASE self_flash + 04E12H 00000H + @@BASE sw 04E12H 00000H + @@BASE task_debug + 04E12H 00000H + @@BASE task_misc + 04E12H 00000H + @@BASE task_sys 04E12H 00000H + @@BASE pedo_alg_thre_det2 + 04E12H 00000H + @@BASE ini_VECT 04E12H 00006H + @@BASE task_status + 04E18H 00000H + @@BASE led_cam 04E18H 00000H + @@BASE led_pow 04E18H 00000H + @@BASE hal 04E18H 00000H + @@BASE batt_params + 04E18H 00000H + @@BASE voltable 04E18H 00000H + @@BASE pedo_lpf_coeff + 04E18H 00000H + @@BASE kanaria_c + 04E18H 00000H + @@BASE util_funcs + 04E18H 00000H + @@BASE i2c_mcu-sub + 04E18H 00000H + @@CNSTL 04E18H 00000H CSEG PAGE64KP + @@CNSTL @cstart 04E18H 00000H + @@CNSTL 04E18H 00000H CSEG PAGE64KP + @@CNSTL pm 04E18H 00000H + @@CNSTL 04E18H 00000H CSEG PAGE64KP + @@CNSTL i2c_ctr 04E18H 00000H + @@CNSTL 04E18H 00000H CSEG PAGE64KP + @@CNSTL main 04E18H 00000H + @@CNSTL 04E18H 00000H CSEG PAGE64KP + @@CNSTL i2c_twl 04E18H 00000H + @@CNSTL 04E18H 00000H CSEG PAGE64KP + @@CNSTL led 04E18H 00000H + @@CNSTL 04E18H 00000H CSEG PAGE64KP + @@CNSTL rtc 04E18H 00000H + @@CNSTL 04E18H 00000H CSEG PAGE64KP + @@CNSTL vreg_ctr 04E18H 00000H + @@CNSTL 04E18H 00000H CSEG PAGE64KP + @@CNSTL vreg_twl 04E18H 00000H + @@CNSTL 04E18H 00000H CSEG PAGE64KP + @@CNSTL adc 04E18H 00000H + @@CNSTL 04E18H 00000H CSEG PAGE64KP + @@CNSTL renge 04E18H 00000H + @@CNSTL 04E18H 00000H CSEG PAGE64KP + @@CNSTL accero 04E18H 00000H + @@CNSTL 04E18H 00000H CSEG PAGE64KP + @@CNSTL sw 04E18H 00000H + @@CNSTL 04E18H 00000H CSEG PAGE64KP + @@CNSTL task_misc + 04E18H 00000H + @@CNSTL 04E18H 00000H CSEG PAGE64KP + @@CNSTL task_sys 04E18H 00000H + @@CNSTL 04E18H 00000H CSEG PAGE64KP + @@CNSTL pedo_alg_thre_det2 + 04E18H 00000H + @@CNSTL 04E18H 00000H CSEG PAGE64KP + @@CNSTL ini_VECT 04E18H 00000H + @@CNSTL 04E18H 00000H CSEG PAGE64KP + @@CNSTL led_cam 04E18H 00000H + @@CNSTL 04E18H 00000H CSEG PAGE64KP + @@CNSTL led_pow 04E18H 00000H + @@CNSTL 04E18H 00000H CSEG PAGE64KP + @@CNSTL batt_params + 04E18H 00000H + @@CNSTL 04E18H 00000H CSEG PAGE64KP + @@CNSTL voltable 04E18H 00000H + @@CNSTL 04E18H 00000H CSEG PAGE64KP + @@CNSTL pedo_lpf_coeff + 04E18H 00000H + @@CNSTL 04E18H 00000H CSEG PAGE64KP + @@CNSTL kanaria_c + 04E18H 00000H + @@CNSTL 04E18H 00000H CSEG PAGE64KP + @@CNSTL i2c_mcu-sub + 04E18H 00000H + @@CNSTL 04E18H 0000AH CSEG PAGE64KP + @@CNSTL @bcdtob 04E18H 0000AH + @@R_INIT 04E22H 0004AH CSEG UNIT64KP + @@R_INIT @cstart 04E22H 00000H + @@R_INIT loader 04E22H 00000H + @@R_INIT pm 04E22H 00000H + @@R_INIT i2c_ctr 04E22H 00000H + @@R_INIT main 04E22H 00000H + @@R_INIT magic 04E22H 00000H + @@R_INIT WDT 04E22H 00000H + @@R_INIT i2c_mcu 04E22H 00000H + @@R_INIT i2c_twl 04E22H 00000H + @@R_INIT led 04E22H 00000H + @@R_INIT rtc 04E22H 00000H + @@R_INIT vreg_ctr 04E22H 00000H + @@R_INIT vreg_twl 04E22H 00000H + @@R_INIT adc 04E22H 0000CH + @@R_INIT renge 04E2EH 00014H + @@R_INIT accero 04E42H 00000H + @@R_INIT self_flash + 04E42H 00000H + @@R_INIT sw 04E42H 00000H + @@R_INIT task_debug + 04E42H 00000H + @@R_INIT task_misc + 04E42H 00026H + @@R_INIT task_sys 04E68H 00000H + @@R_INIT pedo_alg_thre_det2 + 04E68H 00000H + @@R_INIT ini_VECT 04E68H 00000H + @@R_INIT task_status + 04E68H 00000H + @@R_INIT led_cam 04E68H 00000H + @@R_INIT led_pow 04E68H 00004H + @@R_INIT hal 04E6CH 00000H + @@R_INIT batt_params + 04E6CH 00000H + @@R_INIT voltable 04E6CH 00000H + @@R_INIT pedo_lpf_coeff + 04E6CH 00000H + @@R_INIT kanaria_c + 04E6CH 00000H + @@R_INIT util_funcs + 04E6CH 00000H + @@R_INIT i2c_mcu-sub + 04E6CH 00000H + @@R_INIT @rom 04E6CH 00000H + @@R_INIS 04E6CH 00010H CSEG UNIT64KP + @@R_INIS @cstart 04E6CH 00000H + @@R_INIS loader 04E6CH 00000H + @@R_INIS pm 04E6CH 00002H + @@R_INIS i2c_ctr 04E6EH 00002H + @@R_INIS main 04E70H 00000H + @@R_INIS magic 04E70H 00000H + @@R_INIS WDT 04E70H 00000H + @@R_INIS i2c_mcu 04E70H 00000H + @@R_INIS i2c_twl 04E70H 00000H + @@R_INIS led 04E70H 00000H + @@R_INIS rtc 04E70H 00000H + @@R_INIS vreg_ctr 04E70H 00000H + @@R_INIS vreg_twl 04E70H 00000H + @@R_INIS adc 04E70H 00000H + @@R_INIS renge 04E70H 00000H + @@R_INIS accero 04E70H 00000H + @@R_INIS self_flash + 04E70H 00000H + @@R_INIS sw 04E70H 00000H + @@R_INIS task_debug + 04E70H 00000H + @@R_INIS task_misc + 04E70H 00000H + @@R_INIS task_sys 04E70H 00002H + @@R_INIS pedo_alg_thre_det2 + 04E72H 00006H + @@R_INIS ini_VECT 04E78H 00000H + @@R_INIS task_status + 04E78H 00000H + @@R_INIS led_cam 04E78H 00002H + @@R_INIS led_pow 04E7AH 00002H + @@R_INIS hal 04E7CH 00000H + @@R_INIS batt_params + 04E7CH 00000H + @@R_INIS voltable 04E7CH 00000H + @@R_INIS pedo_lpf_coeff + 04E7CH 00000H + @@R_INIS kanaria_c + 04E7CH 00000H + @@R_INIS util_funcs + 04E7CH 00000H + @@R_INIS i2c_mcu-sub + 04E7CH 00000H + @@R_INIS @rom 04E7CH 00000H + @@RLINIT 04E7CH 00000H CSEG UNIT64KP + @@RLINIT loader 04E7CH 00000H + @@RLINIT pm 04E7CH 00000H + @@RLINIT i2c_ctr 04E7CH 00000H + @@RLINIT main 04E7CH 00000H + @@RLINIT magic 04E7CH 00000H + @@RLINIT WDT 04E7CH 00000H + @@RLINIT i2c_mcu 04E7CH 00000H + @@RLINIT i2c_twl 04E7CH 00000H + @@RLINIT led 04E7CH 00000H + @@RLINIT rtc 04E7CH 00000H + @@RLINIT vreg_ctr 04E7CH 00000H + @@RLINIT vreg_twl 04E7CH 00000H + @@RLINIT adc 04E7CH 00000H + @@RLINIT renge 04E7CH 00000H + @@RLINIT accero 04E7CH 00000H + @@RLINIT self_flash + 04E7CH 00000H + @@RLINIT sw 04E7CH 00000H + @@RLINIT task_debug + 04E7CH 00000H + @@RLINIT task_misc + 04E7CH 00000H + @@RLINIT task_sys 04E7CH 00000H + @@RLINIT pedo_alg_thre_det2 + 04E7CH 00000H + @@RLINIT ini_VECT 04E7CH 00000H + @@RLINIT task_status + 04E7CH 00000H + @@RLINIT led_cam 04E7CH 00000H + @@RLINIT led_pow 04E7CH 00000H + @@RLINIT hal 04E7CH 00000H + @@RLINIT batt_params + 04E7CH 00000H + @@RLINIT voltable 04E7CH 00000H + @@RLINIT pedo_lpf_coeff + 04E7CH 00000H + @@RLINIT kanaria_c + 04E7CH 00000H + @@RLINIT util_funcs + 04E7CH 00000H + @@RLINIT i2c_mcu-sub + 04E7CH 00000H + @@RLINIT @rom 04E7CH 00000H + @@CODEL 04E7CH 00000H CSEG + @@CODEL pm 04E7CH 00000H + @@CODEL i2c_ctr 04E7CH 00000H + @@CODEL main 04E7CH 00000H + @@CODEL magic 04E7CH 00000H + @@CODEL i2c_twl 04E7CH 00000H + @@CODEL led 04E7CH 00000H + @@CODEL rtc 04E7CH 00000H + @@CODEL vreg_ctr 04E7CH 00000H + @@CODEL vreg_twl 04E7CH 00000H + @@CODEL adc 04E7CH 00000H + @@CODEL renge 04E7CH 00000H + @@CODEL accero 04E7CH 00000H + @@CODEL sw 04E7CH 00000H + @@CODEL task_misc + 04E7CH 00000H + @@CODEL task_sys 04E7CH 00000H + @@CODEL pedo_alg_thre_det2 + 04E7CH 00000H + @@CODEL ini_VECT 04E7CH 00000H + @@CODEL led_cam 04E7CH 00000H + @@CODEL led_pow 04E7CH 00000H + @@CODEL batt_params + 04E7CH 00000H + @@CODEL voltable 04E7CH 00000H + @@CODEL pedo_lpf_coeff + 04E7CH 00000H + @@CODEL kanaria_c + 04E7CH 00000H + @@CODEL i2c_mcu-sub + 04E7CH 00000H + @@LCODEL 04E7CH 00022H CSEG + @@LCODEL abs 04E7CH 00008H + @@LCODEL memcpy_n 04E84H 0001AH +* gap * 04E9EH 00156H + MGC_VER 04FF4H 00002H CSEG AT + MGC_VER magic 04FF4H 00002H + MGC_TAIL 04FF6H 0000AH CSEG AT + MGC_TAIL magic 04FF6H 0000AH + + MEMORY=RAM + BASE ADDRESS=FF900H SIZE=00500H + OUTPUT INPUT INPUT BASE SIZE + SEGMENT SEGMENT MODULE ADDRESS + @@DATA FF900H 003CCH DSEG BASEP + @@DATA @cstart FF900H 00002H + @@DATA loader FF902H 00000H + @@DATA pm FF902H 00002H + @@DATA i2c_ctr FF904H 00000H + @@DATA main FF904H 0021EH + @@DATA magic FFB22H 00000H + @@DATA WDT FFB22H 00000H + @@DATA i2c_mcu FFB22H 00004H + @@DATA i2c_twl FFB26H 00000H + @@DATA led FFB26H 00076H + @@DATA rtc FFB9CH 00008H + @@DATA vreg_ctr FFBA4H 0005CH + @@DATA vreg_twl FFC00H 00010H + @@DATA adc FFC10H 00000H + @@DATA renge FFC10H 00014H + @@DATA accero FFC24H 00000H + @@DATA self_flash + FFC24H 00002H + @@DATA sw FFC26H 00000H + @@DATA task_debug + FFC26H 00000H + @@DATA task_misc + FFC26H 00008H + @@DATA task_sys FFC2EH 00000H + @@DATA pedo_alg_thre_det2 + FFC2EH 00098H + @@DATA ini_VECT FFCC6H 00000H + @@DATA task_status + FFCC6H 00000H + @@DATA led_cam FFCC6H 00000H + @@DATA led_pow FFCC6H 00006H + @@DATA hal FFCCCH 00000H + @@DATA batt_params + FFCCCH 00000H + @@DATA voltable FFCCCH 00000H + @@DATA pedo_lpf_coeff + FFCCCH 00000H + @@DATA kanaria FFCCCH 00000H + @@DATA kanaria_c + FFCCCH 00000H + @@DATA util_funcs + FFCCCH 00000H + @@DATA i2c_mcu-sub + FFCCCH 00000H + @@DATA @rom FFCCCH 00000H + @@INIT FFCCCH 0004AH DSEG BASEP + @@INIT @cstart FFCCCH 00000H + @@INIT loader FFCCCH 00000H + @@INIT pm FFCCCH 00000H + @@INIT i2c_ctr FFCCCH 00000H + @@INIT main FFCCCH 00000H + @@INIT magic FFCCCH 00000H + @@INIT WDT FFCCCH 00000H + @@INIT i2c_mcu FFCCCH 00000H + @@INIT i2c_twl FFCCCH 00000H + @@INIT led FFCCCH 00000H + @@INIT rtc FFCCCH 00000H + @@INIT vreg_ctr FFCCCH 00000H + @@INIT vreg_twl FFCCCH 00000H + @@INIT adc FFCCCH 0000CH + @@INIT renge FFCD8H 00014H + @@INIT accero FFCECH 00000H + @@INIT self_flash + FFCECH 00000H + @@INIT sw FFCECH 00000H + @@INIT task_debug + FFCECH 00000H + @@INIT task_misc + FFCECH 00026H + @@INIT task_sys FFD12H 00000H + @@INIT pedo_alg_thre_det2 + FFD12H 00000H + @@INIT ini_VECT FFD12H 00000H + @@INIT task_status + FFD12H 00000H + @@INIT led_cam FFD12H 00000H + @@INIT led_pow FFD12H 00004H + @@INIT hal FFD16H 00000H + @@INIT batt_params + FFD16H 00000H + @@INIT voltable FFD16H 00000H + @@INIT pedo_lpf_coeff + FFD16H 00000H + @@INIT kanaria FFD16H 00000H + @@INIT kanaria_c + FFD16H 00000H + @@INIT util_funcs + FFD16H 00000H + @@INIT i2c_mcu-sub + FFD16H 00000H + @@INIT @rom FFD16H 00000H + FSL_DATA FFD16H 00010H DSEG UNITP + FSL_DATA fsl_common + FFD16H 00010H + @@INITL FFD26H 00000H DSEG UNIT64KP + @@INITL loader FFD26H 00000H + @@INITL pm FFD26H 00000H + @@INITL i2c_ctr FFD26H 00000H + @@INITL main FFD26H 00000H + @@INITL magic FFD26H 00000H + @@INITL WDT FFD26H 00000H + @@INITL i2c_mcu FFD26H 00000H + @@INITL i2c_twl FFD26H 00000H + @@INITL led FFD26H 00000H + @@INITL rtc FFD26H 00000H + @@INITL vreg_ctr FFD26H 00000H + @@INITL vreg_twl FFD26H 00000H + @@INITL adc FFD26H 00000H + @@INITL renge FFD26H 00000H + @@INITL accero FFD26H 00000H + @@INITL self_flash + FFD26H 00000H + @@INITL sw FFD26H 00000H + @@INITL task_debug + FFD26H 00000H + @@INITL task_misc + FFD26H 00000H + @@INITL task_sys FFD26H 00000H + @@INITL pedo_alg_thre_det2 + FFD26H 00000H + @@INITL ini_VECT FFD26H 00000H + @@INITL task_status + FFD26H 00000H + @@INITL led_cam FFD26H 00000H + @@INITL led_pow FFD26H 00000H + @@INITL hal FFD26H 00000H + @@INITL batt_params + FFD26H 00000H + @@INITL voltable FFD26H 00000H + @@INITL pedo_lpf_coeff + FFD26H 00000H + @@INITL kanaria FFD26H 00000H + @@INITL kanaria_c + FFD26H 00000H + @@INITL util_funcs + FFD26H 00000H + @@INITL i2c_mcu-sub + FFD26H 00000H + @@INITL @rom FFD26H 00000H + @@DATAL FFD26H 00000H DSEG UNIT64KP + @@DATAL loader FFD26H 00000H + @@DATAL pm FFD26H 00000H + @@DATAL i2c_ctr FFD26H 00000H + @@DATAL main FFD26H 00000H + @@DATAL magic FFD26H 00000H + @@DATAL WDT FFD26H 00000H + @@DATAL i2c_mcu FFD26H 00000H + @@DATAL i2c_twl FFD26H 00000H + @@DATAL led FFD26H 00000H + @@DATAL rtc FFD26H 00000H + @@DATAL vreg_ctr FFD26H 00000H + @@DATAL vreg_twl FFD26H 00000H + @@DATAL adc FFD26H 00000H + @@DATAL renge FFD26H 00000H + @@DATAL accero FFD26H 00000H + @@DATAL self_flash + FFD26H 00000H + @@DATAL sw FFD26H 00000H + @@DATAL task_debug + FFD26H 00000H + @@DATAL task_misc + FFD26H 00000H + @@DATAL task_sys FFD26H 00000H + @@DATAL pedo_alg_thre_det2 + FFD26H 00000H + @@DATAL ini_VECT FFD26H 00000H + @@DATAL task_status + FFD26H 00000H + @@DATAL led_cam FFD26H 00000H + @@DATAL led_pow FFD26H 00000H + @@DATAL hal FFD26H 00000H + @@DATAL batt_params + FFD26H 00000H + @@DATAL voltable FFD26H 00000H + @@DATAL pedo_lpf_coeff + FFD26H 00000H + @@DATAL kanaria FFD26H 00000H + @@DATAL kanaria_c + FFD26H 00000H + @@DATAL util_funcs + FFD26H 00000H + @@DATAL i2c_mcu-sub + FFD26H 00000H + @@DATAL @rom FFD26H 00000H +* gap * FFD26H 000DAH + + MEMORY=RAM2 + BASE ADDRESS=FFE20H SIZE=000C0H + OUTPUT INPUT INPUT BASE SIZE + SEGMENT SEGMENT MODULE ADDRESS + @@INIS FFE20H 00010H DSEG SADDRP + @@INIS @cstart FFE20H 00000H + @@INIS loader FFE20H 00000H + @@INIS pm FFE20H 00002H + @@INIS i2c_ctr FFE22H 00002H + @@INIS main FFE24H 00000H + @@INIS magic FFE24H 00000H + @@INIS WDT FFE24H 00000H + @@INIS i2c_mcu FFE24H 00000H + @@INIS i2c_twl FFE24H 00000H + @@INIS led FFE24H 00000H + @@INIS rtc FFE24H 00000H + @@INIS vreg_ctr FFE24H 00000H + @@INIS vreg_twl FFE24H 00000H + @@INIS adc FFE24H 00000H + @@INIS renge FFE24H 00000H + @@INIS accero FFE24H 00000H + @@INIS self_flash + FFE24H 00000H + @@INIS sw FFE24H 00000H + @@INIS task_debug + FFE24H 00000H + @@INIS task_misc + FFE24H 00000H + @@INIS task_sys FFE24H 00002H + @@INIS pedo_alg_thre_det2 + FFE26H 00006H + @@INIS ini_VECT FFE2CH 00000H + @@INIS task_status + FFE2CH 00000H + @@INIS led_cam FFE2CH 00002H + @@INIS led_pow FFE2EH 00002H + @@INIS hal FFE30H 00000H + @@INIS batt_params + FFE30H 00000H + @@INIS voltable FFE30H 00000H + @@INIS pedo_lpf_coeff + FFE30H 00000H + @@INIS kanaria_c + FFE30H 00000H + @@INIS util_funcs + FFE30H 00000H + @@INIS i2c_mcu-sub + FFE30H 00000H + @@INIS @rom FFE30H 00000H + @@DATS FFE30H 00062H DSEG SADDRP + @@DATS @cstart FFE30H 00000H + @@DATS loader FFE30H 00000H + @@DATS pm FFE30H 00016H + @@DATS i2c_ctr FFE46H 00004H + @@DATS main FFE4AH 00000H + @@DATS magic FFE4AH 00000H + @@DATS WDT FFE4AH 00000H + @@DATS i2c_mcu FFE4AH 00008H + @@DATS i2c_twl FFE52H 00000H + @@DATS led FFE52H 00006H + @@DATS rtc FFE58H 00000H + @@DATS vreg_ctr FFE58H 00004H + @@DATS vreg_twl FFE5CH 00000H + @@DATS adc FFE5CH 0000AH + @@DATS renge FFE66H 00002H + @@DATS accero FFE68H 00002H + @@DATS self_flash + FFE6AH 00000H + @@DATS sw FFE6AH 0000CH + @@DATS task_debug + FFE76H 00000H + @@DATS task_misc + FFE76H 00004H + @@DATS task_sys FFE7AH 00002H + @@DATS pedo_alg_thre_det2 + FFE7CH 0000EH + @@DATS ini_VECT FFE8AH 00000H + @@DATS task_status + FFE8AH 00002H + @@DATS led_cam FFE8CH 00002H + @@DATS led_pow FFE8EH 00004H + @@DATS hal FFE92H 00000H + @@DATS batt_params + FFE92H 00000H + @@DATS voltable FFE92H 00000H + @@DATS pedo_lpf_coeff + FFE92H 00000H + @@DATS kanaria_c + FFE92H 00000H + @@DATS util_funcs + FFE92H 00000H + @@DATS i2c_mcu-sub + FFE92H 00000H + @@DATS @rom FFE92H 00000H + @@BITS FFE92H 00006H BSEG + @@BITS @cstart FFE92H.0 00000H.0 + @@BITS loader FFE92H.0 00000H.0 + @@BITS pm FFE92H.0 00001H.1 + @@BITS i2c_ctr FFE93H.1 00000H.0 + @@BITS main FFE93H.1 00000H.1 + @@BITS magic FFE93H.2 00000H.0 + @@BITS WDT FFE93H.2 00000H.0 + @@BITS i2c_mcu FFE93H.2 00000H.4 + @@BITS i2c_twl FFE93H.6 00000H.0 + @@BITS led FFE93H.6 00000H.4 + @@BITS rtc FFE94H.2 00000H.3 + @@BITS vreg_ctr FFE94H.5 00000H.1 + @@BITS vreg_twl FFE94H.6 00000H.0 + @@BITS adc FFE94H.6 00000H.4 + @@BITS renge FFE95H.2 00000H.2 + @@BITS accero FFE95H.4 00000H.0 + @@BITS self_flash + FFE95H.4 00000H.0 + @@BITS sw FFE95H.4 00000H.1 + @@BITS task_debug + FFE95H.5 00000H.0 + @@BITS task_misc + FFE95H.5 00000H.3 + @@BITS task_sys FFE96H.0 00000H.0 + @@BITS pedo_alg_thre_det2 + FFE96H.0 00000H.2 + @@BITS ini_VECT FFE96H.2 00000H.0 + @@BITS task_status + FFE96H.2 00000H.0 + @@BITS led_cam FFE96H.2 00000H.1 + @@BITS led_pow FFE96H.3 00000H.0 + @@BITS hal FFE96H.3 00000H.6 + @@BITS batt_params + FFE97H.1 00000H.0 + @@BITS voltable FFE97H.1 00000H.0 + @@BITS pedo_lpf_coeff + FFE97H.1 00000H.0 + @@BITS kanaria_c + FFE97H.1 00000H.0 + @@BITS util_funcs + FFE97H.1 00000H.0 + @@BITS i2c_mcu-sub + FFE97H.1 00000H.0 +* gap * FFE98H 0003CH + @@SEGREG FFED4H 00004H DSEG AT + @@SEGREG @SEGREG FFED4H 00004H + @@RTARG0 FFED8H 00008H DSEG AT + @@RTARG0 @RTARG0 FFED8H 00008H + + + Target chip : uPD79F0104 + Device file : E1.00b + \ No newline at end of file diff --git a/tags/2.19_SDK4(3rdNUP)/bsr_mcu.dr b/tags/2.19_SDK4(3rdNUP)/bsr_mcu.dr new file mode 100644 index 0000000..81aeecc --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/bsr_mcu.dr @@ -0,0 +1,46 @@ +;;; ̈̒` +;32kB = 0x7FFF +MEMORY BCL0: (00000H, 01000H ) +;MEMORY BCL1: (01000H, 01000H ) ; obNAbv̈ +MEMORY ROM : (02000H, 03000H ) +;MEMORY ROM_BKUP:(05000H, 03000H ) ; obNAbv̈ +;MEMORY OCD :(0FC00H, 00400H ) ; OCDgĂ炵 + + +;;; ZOg̊ݒ +; u[gubN0Ɋ蓖Ă +MERGE LDR_CODE : =BCL0 +MERGE LDR_CODL : =BCL0 +MERGE FSL_CODE : =BCL0 ; =FSL ; ސtbVCu +MERGE @@LCODE : =BCL0 ; X^[gAbv[` +;MERGE @@LCODEL : =BCL0 + +;MERGE LDR_RINT:=BCL0 +;MERGE LDR_CNST:=BCL0 +MERGE LDR_CNSL:=BCL0 + + + +; ʏ̈ɒu +MERGE ROM_CODE:=ROM +MERGE @@CNST: =ROM +MERGE @@R_INIT: =ROM ; ROMȊOɒuȂX^[gAbv[`vC + + + + + + +; }WbNio[ +;; magic.c̒Ŏw + + +;--- RAM̈ ------------------------------------------------------- +; +; RAM1,RAM2̈̓[U[vOŎgpĂǂłAZtvO +; ZtvÕCugp邽߁Al͔j󂳂܂B +; +memory RAM : (0FF900H, 0500H) ; [U[q`l̈ +;memory SLF_RAM : (0FF900H, 0020H) ; Slef Program\̈[gp֎~] +memory RAM2 : (0FFE20H, 00C0H) ; ZtvOAgp֎~̈ +;memory SLF_RAM : (0FFE00H, 0020H) ; Slef Program\̈[gp֎~] diff --git a/tags/2.19_SDK4(3rdNUP)/bsr_system.h b/tags/2.19_SDK4(3rdNUP)/bsr_system.h new file mode 100644 index 0000000..bb6105f --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/bsr_system.h @@ -0,0 +1,67 @@ +#ifndef __bsr_system__ +#define __bsr_system__ + +// Cxg[ṽXe[g +enum pwr_state_ +{ + OFF_TRIG = 0, + ON_CHECK, + ON_TRIG, + ON, +// SLEEP_TRIG, + SLEEP, +// WAKE, + OFF, +}; + +enum poweron_reason_ +{ + NONE = 0, + RSN_PWSW, + RSN_RTC_ALARM, + RSN_TRIAL, // ̌ + RSN_RSV4, + RSN_RSV5 +}; + + +enum model_ +{ + MODEL_JIKKI, + MODEL_TS_BOARD, + MODEL_SHIROBAKO, + MODEL_JIKKI_NOBATT, + MODEL_CAPTURE_BOX, + MODEL_ISBAKO, // Asystem_status.model MODEL_JIKKI ɂĂ̂Ŗgp + MODEL_RESERVED3, +}; + +enum family_ +{ + FAMILY_CTR, + FAMILY_SPFL, + FAMILY_SHRIMP +}; + +// ^XNVXȅԏȂ +typedef struct _system_status_ +{ + enum pwr_state_ pwr_state; + enum poweron_reason_ poweron_reason; + unsigned char reboot:1; +// unsigned char info_fullcolor:1; + unsigned char captureBox:1; // Lv` SDKɂ͎@ƕԂ + unsigned char taikendai:1; + unsigned char taikendai_nbd:1; + unsigned char is_dev:1; + enum model_ model; + enum family_ family; +}system_status_; + +extern bit force_off; + +extern system_status_ system_status; + + + +#endif diff --git a/tags/2.19_SDK4(3rdNUP)/config.h b/tags/2.19_SDK4(3rdNUP)/config.h new file mode 100644 index 0000000..28cf237 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/config.h @@ -0,0 +1,101 @@ +#ifndef __config__ +#define __config__ +/* + + $Id: config.h 418 2011-09-22 01:35:37Z n2232 $ + +*/ + +#define MCU_VER_MAJOR 0x02 +#define MCU_VER_MINOR 0x19 + + +// fobOXCb` + +//#define _debug_led_ // LED print fobOƂ +//#define _ALLOW_NOBATT_ // @drȂi=A_v^̂݁jł̋N +//#define _DBG_LED_PRINT_ // LED print fobOƂ(ȃAbvf[gp) +//#define _ENABLE_COMMAND3_ // mcuZbgwdtR}hLɂ +//#define _FORCE_TAIKENDAI_ +//#define _FORCE_TAIKENDAI_NBD_ + +//#define _DBG_CHK_OFF_LEAK_ // OFF[Nd̃`FbN(fobKŊmF) +//#define _DBG_NOP_ // u[N\邽߂NOP()LɂƂ + +//#define _ENABLE_HAL_ // fobOpHALLɂBRgAEgŃX[ɂȂB +//#define _ENABLE_PRESS_SEL_TO_WDT_ // SEL WDT + +//#define _WDT_CHECK_ // WDT炵̂ŒǐՂƂbreakāAR[X^bN +// IvVoCg1oCgځAbit7ZbgKv܂B + +//#define _DI_WITH_CHECK_ // 荞݋֎~dɊ|Ȃ`FbN + +#ifdef _DBG_NOP_ // R[hKvNOPƋʂ邽 +# define dbg_nop() NOP() +#else +# define dbg_nop() ; +#endif + + +#define _I2C_ERR_ABORT_ // *Won* I2CŌ돑݂炵ȍ~@ + //. u[NĂSRȂȂ܂... + +// dlt@[ +//#define _TAIKENDAI_ +// homej[ɓĂ܂̂t@[‚BROMȂ̂œdrp[^pX +//#define _TAIKENDAI_SEISAN_SPECIAL_ +// Yɑ̌gpǂƁAA_v^ȂƓd炸ɌɎxႪ̂ňꎞt@[ +//#define _RVD_ +// fobKA^b`Ƀ^[QbgZbgœd؂Ă܂̂ + + +// ̎́C‚ȂƑ̌̐YłȂˁI +#ifdef _TAIKENDAI_SEISAN_SPECIAL_ +#define MCU_VER_MINOR 0x80 +#endif + + +#ifdef _TAIKENDAI_ +#define MCU_VER_MINOR 0x92 +// 0x90 1.31 @HOMEɓĂ܂̂XCb`̃}XNő΍ +// ROMŝ߁Adrp[^폜 + +#endif + + +#define _firm_format_v3_ + +//#define _MODEL_TEG2_ + // TEG2 CPU { Type-T + +//#define _MODEL_WM0_ +//#define _MODEL_WM0_TEG2_CTRC_ + +//#define _MODEL_TS0_ + // TEG2 CPU { Type-C + +#define _MODEL_CTR_ + // TS board, WM1,1 TS-CTRC, @ + + +// ---------------------------------- // +#ifdef _MODEL_TEG2_ +unsupported! +#endif + + +#ifdef _MODEL_WM0_ +unsupported! +#endif + + +#ifdef _MODEL_TS0_ +unsupported! +#endif + +#ifdef _MODEL_CTR_ +#define _PMIC_CTR_ +#define _MCU_BSR_ +#endif + +#endif diff --git a/tags/2.19_SDK4(3rdNUP)/fsl.h b/tags/2.19_SDK4(3rdNUP)/fsl.h new file mode 100644 index 0000000..0e806b5 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/fsl.h @@ -0,0 +1,362 @@ +/*==============================================================================================*/ +/* Project = Selfprogramming library for 78K0R/Ix3/Kx3-L Single Voltage SST (MF2) Flash */ +/* Module = fsl.h */ +/* Version = V1.01 */ +/* Date = 28.03.2008 11:45:42 */ +/*==============================================================================================*/ +/* COPYRIGHT */ +/*==============================================================================================*/ +/* Copyright (c) 2007 by NEC Electronics (Europe) GmbH, */ +/* a company of the NEC Electronics Corporation */ +/*==============================================================================================*/ +/* Purpose: */ +/* constant, type and function prototype definitions used by the FSL */ +/* */ +/*==============================================================================================*/ +/* */ +/* Warranty Disclaimer */ +/* */ +/* Because the Product(s) is licensed free of charge, there is no warranty of any kind */ +/* whatsoever and expressly disclaimed and excluded by NEC, either expressed or implied, */ +/* including but not limited to those for non-infringement of intellectual property, */ +/* merchantability and/or fitness for the particular purpose. NEC shall not have any obligation */ +/* to maintain, service or provide bug fixes for the supplied Product(s) and/or the Application.*/ +/* */ +/* Each User is solely responsible for determining the appropriateness of using the Product(s) */ +/* and assumes all risks associated with its exercise of rights under this Agreement, */ +/* including, but not limited to the risks and costs of program errors, compliance with */ +/* applicable laws, damage to or loss of data, programs or equipment, and unavailability or */ +/* interruption of operations. */ +/* */ +/* Limitation of Liability */ +/* */ +/* In no event shall NEC be liable to the User for any incidental, consequential, indirect, */ +/* or punitive damage (including but not limited to lost profits) regardless of whether */ +/* such liability is based on breach of contract, tort, strict liability, breach of warranties, */ +/* failure of essential purpose or otherwise and even if advised of the possibility of */ +/* such damages. NEC shall not be liable for any services or products provided by third party */ +/* vendors, developers or consultants identified or referred to the User by NEC in connection */ +/* with the Product(s) and/or the Application. */ +/* */ +/*==============================================================================================*/ +/* Environment: PM plus (V6.30) */ +/* RA78K0(V1.20) */ +/* CC78K0(V2.00) */ +/*==============================================================================================*/ + +#ifndef __FSL_H_INCLUDED +#define __FSL_H_INCLUDED + + +/*==============================================================================================*/ +/* FSL type definitions */ +/*==============================================================================================*/ +typedef unsigned char fsl_u08; +typedef unsigned int fsl_u16; +typedef unsigned long int fsl_u32; + + +/*==============================================================================================*/ +/* constant definitions */ +/*==============================================================================================*/ + +/*status code definitions returned by the FSL functions */ +#define FSL_OK 0x00 +#define FSL_ERR_FLMD0 0x01 +#define FSL_ERR_PARAMETER 0x05 +#define FSL_ERR_PROTECTION 0x10 +#define FSL_ERR_ERASE 0x1A +#define FSL_ERR_BLANKCHECK 0x1B +#define FSL_ERR_IVERIFY 0x1B +#define FSL_ERR_WRITE 0x1C +#define FSL_ERR_EEP_IVERIFY 0x1D +#define FSL_ERR_EEP_BLANKCHECK 0x1E +#define FSL_ERR_INTERRUPTION 0x1F + + +/*==============================================================================================*/ +/* global function prototypes */ +/*==============================================================================================*/ + + +/*----------------------------------------------------------------------------------------------*/ +/* Block type: FSL command function */ +/*----------------------------------------------------------------------------------------------*/ +/* Purpose: initialization of selfprogramming environment */ +/* After initialization: */ +/* - the pointer to the data-buffer is stored */ +/* - all timing data are re-calculated according to the used system clock */ +/* */ +/* CAUTION: */ +/* The FSL_Init(&data_buffer) function is interruptible. Please use the */ +/* FSL_Init_cont(&data_buffer) to recall it as long return status is 0x1F. */ +/* */ +/* Input: data_buffer_pu08 - pointer to a data buffer of N...256 bytes */ +/* (used for data exchange between firmware and application) */ +/* Output: - */ +/* Returned: u08, status_code */ +/* = 0x00(FSL_OK), normal and means initialization OK */ +/* = 0x1F(FSL_ERR_INTERRUPTION), initialization interrupted by user interrupt*/ +/*----------------------------------------------------------------------------------------------*/ +extern fsl_u08 FSL_Init( fsl_u08 * data_buffer_pu08 ); +extern fsl_u08 FSL_Init_cont( fsl_u08 * data_buffer_pu08 ); + + +/*----------------------------------------------------------------------------------------------*/ +/* Block type: FSL command function */ +/*----------------------------------------------------------------------------------------------*/ +/* Purpose: checks the voltage level (high or low) at FLMD0 pin */ +/* Input: - */ +/* Output: - */ +/* Returned: fsl_u08, status_code */ +/* = 0x00(FSL_OK), normal and means FLMD0=HIGH */ +/* = 0x01(FSL_ERR_FLMD0), error, FLMD0=LOW */ +/*----------------------------------------------------------------------------------------------*/ +extern fsl_u08 FSL_ModeCheck( void ); + + +/*----------------------------------------------------------------------------------------------*/ +/* Block type: FSL command function */ +/*----------------------------------------------------------------------------------------------*/ +/* Purpose: checks if specified block is blank */ +/* Input: block_u16 - block number has to be checked */ +/* Output: - */ +/* Returned: fsl_u08, status_code */ +/* = 0x00(FSL_OK), normal and means "block is blank" */ +/* = 0x05(FSL_ERR_PARAMETER), parameter error */ +/* = 0x1B(FSL_ERR_BLANKCHECK), blank-check error, means "block not blank" */ +/* = 0x1F(FSL_ERR_INTERRUPTION), blank-check interrupted by user interrupt */ +/*----------------------------------------------------------------------------------------------*/ +extern fsl_u08 FSL_BlankCheck( fsl_u16 block_u16 ); + + +/*----------------------------------------------------------------------------------------------*/ +/* Block type: FSL command function */ +/*----------------------------------------------------------------------------------------------*/ +/* Purpose: erase specified block */ +/* Input: block_u16 - block number has to be erase */ +/* Output: - */ +/* Returned: fsl_u08, status_code */ +/* = 0x00(FSL_OK), normal and means "block erased successfully" */ +/* = 0x05(FSL_ERR_PARAMETER), parameter error */ +/* = 0x10(FSL_ERR_PROTECTION), tried to erase protected area */ +/* = 0x1A(FSL_ERR_ERASE), erase error, retry up to max. 255 times */ +/* = 0x1F(FSL_ERR_INTERRUPTION), erasing interrupted by user interrupt */ +/*----------------------------------------------------------------------------------------------*/ +extern fsl_u08 FSL_Erase( fsl_u16 block_u16 ); + + +/*----------------------------------------------------------------------------------------------*/ +/* Block type: FSL command function */ +/*----------------------------------------------------------------------------------------------*/ +/* Purpose: performs internal verify on specified block */ +/* Input: block_u16 - block number has to be verified */ +/* Output: - */ +/* Returned: fsl_u08, status_code */ +/* = 0x00(FSL_OK), normal and means "block is verified" */ +/* = 0x05(FSL_ERR_PARAMETER), parameter error */ +/* = 0x1B(FSL_ERR_IVERIFY), internal verify error */ +/* = 0x1F(FSL_ERR_INTERRUPTION), verify interrupted by user interrupt */ +/*----------------------------------------------------------------------------------------------*/ +extern fsl_u08 FSL_IVerify( fsl_u16 block_u16 ); + + +/*----------------------------------------------------------------------------------------------*/ +/* Block type: FSL command function */ +/*----------------------------------------------------------------------------------------------*/ +/* Purpose: writes N words from the data buffer into flash */ +/* Input: s_address_u32 - starting flash address the data has to be written */ +/* See Condition 2) please. */ +/* my_wordcount_u08 - number of words (4 bytes) has to be written */ +/* Output: - */ +/* Condition: 1) (s_address_u32 MOD 4 == 0) */ +/* 2) most significant byte (MSB) of s_address_u32 has to be 0x00. */ +/* Means: 0x00abcdef 24 bit flash address allowed */ +/* 3) (word_count_u08 <= sizeof(data buffer)) NOT CHECKED BY LIBRARY !!!!! */ +/* Changed: - */ +/* Returned: fsl_u08, status code */ +/* = 0x00(FSL_OK), normal */ +/* = 0x05(FSL_ERR_PARAMETER), parameter error */ +/* = 0x10(FSL_ERR_PROTECTION), protection error */ +/* = 0x1C(FSL_ERR_WRITE), write error */ +/* = 0x1F(FSL_ERR_INTERRUPTION), write interrupted by user interrupt */ +/*----------------------------------------------------------------------------------------------*/ +extern fsl_u08 FSL_Write( fsl_u32 s_address_u32, fsl_u08 word_count_u08 ); + + +/*----------------------------------------------------------------------------------------------*/ +/* Block type: FSL command function */ +/*----------------------------------------------------------------------------------------------*/ +/* Purpose: writes N words from the data buffer into flash */ +/* Before "writing" a N-word blankcheck is performed. */ +/* After "writing" a N-Word internal verify is performed. */ +/* Input: s_address_u32 - starting destination address has to be written */ +/* my_wordcount_u08 - number of words (4 bytes) has to be written */ +/* Output: - */ +/* Condition: 1) (s_address_u32 MOD 4 == 0) */ +/* 2) (word_count_u08 <= sizeof(data buffer)) NOT CHECKED BY FIRMWARE !!!!! */ +/* Changed: - */ +/* Returned: fsl_u08, status code */ +/* = 0x00(FSL_OK), normal */ +/* = 0x05(FSL_ERR_PARAMETER), parameter error */ +/* = 0x10(FSL_ERR_PROTECTION), protection error */ +/* = 0x1C(FSL_ERR_WRITE), write error */ +/* = 0x1D(FSL_ERR_EEP_IVERIFY), verify error */ +/* = 0x1E(FSL_ERR_EEP_BLANKCHECK), blankcheck error */ +/* = 0x1F(FSL_ERR_INTERRUPTION), write interrupted by user interrupt */ +/*----------------------------------------------------------------------------------------------*/ +extern fsl_u08 FSL_EEPROMWrite( fsl_u32 s_address_u32, + fsl_u08 word_count_u08 ); + + +/*----------------------------------------------------------------------------------------------*/ +/* Block type: FSL command function */ +/*----------------------------------------------------------------------------------------------*/ +/* Purpose: reads the security information */ +/* Input: destination_pu16 - destination address of the security info */ +/* The format of the security info is: "unsigned short int" */ +/* */ +/* Format of the security info: */ +/* bit_0 = 0 -> chip erase command disabled, otherwise enabled */ +/* bit_1 = 0 -> block erase command disabled, otherwise enabled */ +/* bit_2 = 0 -> write command disabled, otherwise enabled */ +/* bit_4 = 0 -> boot-area re-programming disabled, otherwise enabled */ +/* bit_8...bit_15 = 03H -> last block of the boot-area */ +/* other bits = 1 */ +/* Output: - */ +/* Changed: content of the data_buffer */ +/* Returned: fsl_u08, status code */ +/* = 0x00(FSL_OK), normal */ +/* = 0x05(FSL_ERR_PARAMETER), parameter error */ +/*----------------------------------------------------------------------------------------------*/ +extern fsl_u08 FSL_GetSecurityFlags( fsl_u16 * destination_pu16 ); + + +/*----------------------------------------------------------------------------------------------*/ +/* Block type: FSL command function */ +/*----------------------------------------------------------------------------------------------*/ +/* Purpose: read the boot flag i */ +/* Input: destination_pu08 - destination address of the bootflag info */ +/* The format of the boot-flag info is: "unsigned char" */ +/* The value of the boot info is 0x00 for cluster 0 and 0x01 for cluster 1. */ +/* Output: - */ +/* Changed: content of the data_buffer */ +/* Returned: fsl_u08, status code */ +/* = 0x00(FSL_OK), normal */ +/* = 0x05(FSL_ERR_PARAMETER), parameter error */ +/*----------------------------------------------------------------------------------------------*/ +extern fsl_u08 FSL_GetActiveBootCluster( fsl_u08 * destination_pu08 ); + + +/*----------------------------------------------------------------------------------------------*/ +/* Block type: FSL command function */ +/*----------------------------------------------------------------------------------------------*/ +/* Purpose: puts the last address of the specified block into *destination_pu32 */ +/* Input: *destination_pu32 - destination where the last-block-address */ +/* should be stored */ +/* block_u16 - block number of the last address is needed */ +/* Changed: - */ +/* Returned: fsl_u08, status code */ +/* = 0x00(FSL_OK), normal */ +/* = 0x05(FSL_ERR_PARAMETER), parameter error */ +/*----------------------------------------------------------------------------------------------*/ +extern fsl_u08 FSL_GetBlockEndAddr( fsl_u32 * destination_pu32, + fsl_u16 block_u16 ); + + +/*----------------------------------------------------------------------------------------------*/ +/* Block type: FSL command function */ +/*----------------------------------------------------------------------------------------------*/ +/* Purpose: puts the information about the protected flash area into the function parameter */ +/* Input: *start_block_pu16 - destination where the FSW start block should be stored */ +/* *end_block_pu16 - destination where the FSW end block should be stored */ +/* Changed: - */ +/* Returned: fsl_u08, status code */ +/* = 0x00(FSL_OK), normal */ +/* = 0x05(FSL_ERR_PARAMETER), parameter error */ +/*----------------------------------------------------------------------------------------------*/ +extern fsl_u08 FSL_GetFlashShieldWindow( fsl_u16 * start_block_pu16, + fsl_u16 * end_block_pu16 ); + + +/*----------------------------------------------------------------------------------------------*/ +/* Block type: FSL command function */ +/*----------------------------------------------------------------------------------------------*/ +/* Purpose: defines a new Flash-Shield-Window area inside the flash memory */ +/* Input: start_block_u16 - starting block of the Flash-Shield-Window (FSW) */ +/* end_block_u16 - ending block of the flash-Shield-Window (FSW) */ +/* Changed: - */ +/* Returned: fsl_u08, status code */ +/* = 0x00(FSL_OK), normal */ +/* = 0x05(FSL_ERR_PARAMETER), parameter error */ +/* = 0x10(FSL_ERR_PROTECTION), protection error */ +/* = 0x1A(FSL_ERR_ERASE), erase error */ +/* = 0x1B(FSL_ERR_IVERIFY), internal verify error */ +/* = 0x1F(FSL_ERR_INTERRUPTION), write interrupted by user interrupt */ +/*----------------------------------------------------------------------------------------------*/ +extern fsl_u08 FSL_SetFlashShieldWindow( fsl_u16 start_block_u16, + fsl_u16 end_block_u16 ); + + +/*----------------------------------------------------------------------------------------------*/ +/* Block type: FSL command function */ +/*----------------------------------------------------------------------------------------------*/ +/* Purpose: Swapping of bootcluster 0 and 1 */ +/* */ +/* CAUTION !!!! */ +/* After this function the boot cluster are immediately swapped */ +/* Input: - */ +/* Output: - */ +/* Returned: fsl_u08, status code */ +/* = 0x00(FSL_OK), normal */ +/* = 0x05(FSL_ERR_PARAMETER), parameter error */ +/* = 0x10(FSL_ERR_PROTECTION), protection error */ +/* = 0x1A(FSL_ERR_ERASE), erase error */ +/* = 0x1B(FSL_ERR_IVERIFY), internal verify error */ +/* = 0x1F(FSL_ERR_INTERRUPTION), write interrupted by user interrupt */ +/*----------------------------------------------------------------------------------------------*/ +extern fsl_u08 FSL_SwapBootCluster( void ); + + +/*----------------------------------------------------------------------------------------------*/ +/* Block type: FSL command function */ +/*----------------------------------------------------------------------------------------------*/ +/* Purpose: sets specified security flag by dedicated command-function. */ +/* */ +/* There are following security levels: */ +/* a) chip-erase protection (cannot be reset by programmer !!!) */ +/* b) block-erase protection (can be reset by chip-erase on programmer) */ +/* c) write protection (can be reset by chip-erase on programmer) */ +/* d) boot-cluster protection (cannot be reset by programmer !!!) */ +/* */ +/* CAUTION !!!! */ +/* Each security flag can be written by the application only once */ +/* */ +/* Input: - */ +/* Output: - */ +/* Returned: fsl_u08, status code */ +/* = 0x00(FSL_OK), normal */ +/* = 0x05(FSL_ERR_PARAMETER), parameter error */ +/* = 0x10(FSL_ERR_PROTECTION), protection error */ +/* = 0x1A(FSL_ERR_ERASE), erase error */ +/* = 0x1B(FSL_ERR_IVERIFY), internal verify error */ +/* = 0x1F(FSL_ERR_INTERRUPTION), write interrupted by user interrupt */ +/*----------------------------------------------------------------------------------------------*/ +extern fsl_u08 FSL_SetChipEraseProtectFlag( void ); +extern fsl_u08 FSL_SetBlockEraseProtectFlag( void ); +extern fsl_u08 FSL_SetWriteProtectFlag( void ); +extern fsl_u08 FSL_SetBootClusterProtectFlag( void ); + + +/*----------------------------------------------------------------------------------------------*/ +/* Block type: FSL function */ +/*----------------------------------------------------------------------------------------------*/ +/* Purpose: defines the firmware operation method after interrupt service (ISR) execution. */ +/* Input: mode_u08 = 0x00, after RETI the firmware is continuing the interrupted command.*/ +/* = other, after RETI the firmware is interrupted with status 0x1F. */ +/* Changed: - */ +/* Returned: - */ +/*----------------------------------------------------------------------------------------------*/ +extern void FSL_SetInterruptMode( fsl_u08 mode_u08 ); + +#endif diff --git a/tags/2.19_SDK4(3rdNUP)/fsl_user.h b/tags/2.19_SDK4(3rdNUP)/fsl_user.h new file mode 100644 index 0000000..1018689 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/fsl_user.h @@ -0,0 +1,113 @@ +/*==============================================================================================*/ +/* Project = Selfprogramming library for 78K0R/Ix3/Kx3-L Single Voltage SST (MF2) Flash */ +/* Module = fsl_user.h */ +/* Version = V1.01 */ +/* Date = 28.03.2008 11:45:55 */ +/*==============================================================================================*/ +/* COPYRIGHT */ +/*==============================================================================================*/ +/* Copyright (c) 2007 by NEC Electronics (Europe) GmbH, */ +/* a company of the NEC Electronics Corporation */ +/*==============================================================================================*/ +/* Purpose: */ +/* user configurable constant/macros of the selfprogramming library */ +/* */ +/*==============================================================================================*/ +/* */ +/* Warranty Disclaimer */ +/* */ +/* Because the Product(s) is licensed free of charge, there is no warranty of any kind */ +/* whatsoever and expressly disclaimed and excluded by NEC, either expressed or implied, */ +/* including but not limited to those for non-infringement of intellectual property, */ +/* merchantability and/or fitness for the particular purpose. NEC shall not have any obligation */ +/* to maintain, service or provide bug fixes for the supplied Product(s) and/or the Application.*/ +/* */ +/* Each User is solely responsible for determining the appropriateness of using the Product(s) */ +/* and assumes all risks associated with its exercise of rights under this Agreement, */ +/* including, but not limited to the risks and costs of program errors, compliance with */ +/* applicable laws, damage to or loss of data, programs or equipment, and unavailability or */ +/* interruption of operations. */ +/* */ +/* Limitation of Liability */ +/* */ +/* In no event shall NEC be liable to the User for any incidental, consequential, indirect, */ +/* or punitive damage (including but not limited to lost profits) regardless of whether */ +/* such liability is based on breach of contract, tort, strict liability, breach of warranties, */ +/* failure of essential purpose or otherwise and even if advised of the possibility of */ +/* such damages. NEC shall not be liable for any services or products provided by third party */ +/* vendors, developers or consultants identified or referred to the User by NEC in connection */ +/* with the Product(s) and/or the Application. */ +/* */ +/*==============================================================================================*/ +/* Environment: PM plus (V6.30) */ +/* RA78K0(V1.20) */ +/* CC78K0(V2.00) */ +/*==============================================================================================*/ + + +#ifndef __FSL_USER_H_INCLUDED +#define __FSL_USER_H_INCLUDED + + +/*==============================================================================================*/ +/* constant definitions */ +/*==============================================================================================*/ + + +/* specify the CPU frequency in [Hz], only 2MHz....20MHz allowed */ +#define FSL_SYSTEM_FREQUENCY 8000000 + +/* define whether low-voltage mode is used or not */ +/* #define FSL_LOW_VOLTAGE_MODE */ + +/* size of the common data buffer expressed in [bytes] */ +/* the data buffer is used for data-exchange between the firmware and the selflib. */ +//#define FSL_DATA_BUFFER_SIZE 256 +#define FSL_DATA_BUFFER_SIZE 0 + + +/* customizable interrupt controller configuration during selfprogramming period */ +/* Bit --7-------6-------5-------4-------3-------2-------1-------0---------------------- */ +/* MK0L: PMK5 PMK4 PMK3 PMK2 PMK1 PMK0 LVIMK WDTIMK */ +/* MK0H: SREMK0 SRMK0* STMK0* DMAMK1 DMAMK0 SREMK3 SRMK3 STMK3 */ +/* MK1L: TMMK03 TMMK02 TMMK01 TMMK00 IICMK0 SREMK1 SRMK1 STMK1* */ +/* MK1H: TMMK04 SREMK2 SRMK2 STMK2* KRMK RTCIMK RTCMK ADMK */ +/* MK2L: PMK10 PMK9 PMK8 PMK7 PMK6 TMMK07 TMMK06 TMMK05 */ +/* MK2H: 1 1 1 1 1 1 1 PMK11 */ +/*------------------------------------------------------------------------------------------ */ +/* */ +/* Examples: */ +/* ========= */ +/*#define FSL_MK0L_MASK 0xF7 -> allow INTP1 interrupt during selfprogramming */ +/*#define FSL_MK0H_MASK 0xEF -> allow DMA1 interrupt during selfprogramming */ +/*#define FSL_MK1L_MASK 0xBF -> allow TM02 interrupt during selfprogramming */ +/*#define FSL_MK1H_MASK 0xFF -> all interrupts disabled during selfprogramming */ +/*#define FSL_MK2L_MASK 0xF7 -> allow INTP6 interrupt during selfprogramming */ +/*#define FSL_MK2H_MASK 0xFF -> all interrupts disabled during selfprogramming */ +/*------------------------------------------------------------------------------------------ */ +#define FSL_MK0L_MASK 0xFF /* all interrupts disabled during selfprogramming */ +#define FSL_MK0H_MASK 0xFF /* all interrupts disabled during selfprogramming */ +#define FSL_MK1L_MASK 0xFF /* all interrupts disabled during selfprogramming */ +#define FSL_MK1H_MASK 0xFF /* all interrupts disabled during selfprogramming */ +#define FSL_MK2L_MASK 0xFF /* all interrupts disabled during selfprogramming */ +#define FSL_MK2H_MASK 0xFF /* all interrupts disabled during selfprogramming */ + + +/* FLMD0 control bit */ +#ifndef _WIN32 +#define FSL_FLMD0_HIGH {BECTL.7 = 1;} +#define FSL_FLMD0_LOW {BECTL.7 = 0;} +#else +#define FSL_FLMD0_HIGH {BECTL_7 = 1;} +#define FSL_FLMD0_LOW {BECTL_7 = 0;} +#endif + + +/*----------------------------------------------------------------------------------------------*/ +/* switch interrupt backu functionality ON/OFF using #define/#undef */ +/*----------------------------------------------------------------------------------------------*/ +/* #define FSL_INT_BACKUP */ +#undef FSL_INT_BACKUP + + +#endif diff --git a/tags/2.19_SDK4(3rdNUP)/get_ei.asm b/tags/2.19_SDK4(3rdNUP)/get_ei.asm new file mode 100644 index 0000000..29f4a6e --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/get_ei.asm @@ -0,0 +1,26 @@ +$PROCESSOR ( 9F0104 ) + +PUBLIC _get_ei +; +; PSWEIǂݏo܂B +; + + + +ROM_CODE CSEG BASE + +_get_ei: + set1 CY + and1 CY,PSW.7 ; check IE bit. if 0, all interrupts are disabled. + bnc $ie_dis + mov C,#01h + ret + +ie_dis: + mov C,#00h + ret + + + end + + diff --git a/tags/2.19_SDK4(3rdNUP)/hal.c b/tags/2.19_SDK4(3rdNUP)/hal.c new file mode 100644 index 0000000..f51354f --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/hal.c @@ -0,0 +1,182 @@ +/* ======================================================== + ȈՃeXĝ߂HALC + + $Id$ + ======================================================== */ +#ifndef _WIN32 +#pragma SFR +#endif + +#include "incs_loader.h" + + +#define WIFI_txLatch PIF21 // dgMpX { led.h Œ` + + +// HALłԂ //////////////////////////////////////// +// ȎȂ琳_ɂr...≽łȂ +bit PM_EXTDC_n; +bit BT_IN_CHG_n; +bit SW_POW_n; +bit SW_HOME_n; +bit SW_WIFI_n; +bit SHELL_OPEN; + +/* +#define REG_BIT_HAL0_PM_EXTDC_n ( 1 << 7 ) +#define REG_BIT_HAL0_BT_IN_CHG_n ( 1 << 6 ) +//#define REG_BIT_HAL0_PM_IRQ_n ( 1 << 5 ) // gȂ +#define REG_BIT_HAL0_WL_TX ( 1 << 4 ) +#define REG_BIT_HAL0_SHELL_OPEN ( 1 << 3 ) +#define REG_BIT_HAL0_SW_WIFI_n ( 1 << 2 ) +#define REG_BIT_HAL0_SW_HOME_n ( 1 << 1 ) +#define REG_BIT_HAL0_SW_POW_n ( 1 << 0 ) + +#define REG_BIT_HAL1_DIPSW_1 ( 1 << 3 ) +#define REG_BIT_HAL1_DIPSW_0 ( 1 << 2 ) +#define REG_BIT_HAL1_HW_DET_1 ( 1 << 1 ) +#define REG_BIT_HAL1_HW_DET_0 ( 1 << 0 ) +*/ + + +// ڂւ +// `^OȂ炱ł(ԃJEg͕) +void hal_update() +{ +#ifdef _ENABLE_HAL_ + u8 temp_conf = vreg_ctr[ VREG_C_HAL_OVW_CONT0 ]; + u8 temp_dat = vreg_ctr[ VREG_C_HAL_OVW_DAT0 ]; +#else + u8 temp_conf = 0x00; + u8 temp_dat = 0; // łǂ +#endif + + // A_v^L + if( temp_conf & REG_BIT_HAL0_PM_EXTDC_n ) + { + // O͂Ȃ񂾂傫Ȃ肪 + if(( temp_dat & REG_BIT_HAL0_PM_EXTDC_n ) == 0 ) + { + PM_EXTDC_n = 0; + } + else + { + PM_EXTDC_n = 1; + } + } + else + { + PM_EXTDC_n = PM_EXTDC_n_RAW; + } + + // [dH + if( temp_conf & REG_BIT_HAL0_BT_IN_CHG_n ) + { + if(( temp_dat & REG_BIT_HAL0_BT_IN_CHG_n ) == 0 ) + { + BT_IN_CHG_n = 0; + } + else + { + BT_IN_CHG_n = 1; + } + } + else + { + BT_IN_CHG_n = BT_IN_CHG_n_RAW; + } + + // dt + if( temp_conf & REG_BIT_HAL0_SW_POW_n ) + { + if(( temp_dat & REG_BIT_HAL0_SW_POW_n ) == 0 ) + { + SW_POW_n = 0 ; + } + else + { + SW_POW_n = 1; + } + } + else + { + SW_POW_n = SW_POW_n_RAW; + } + + // Ɩt + if( temp_conf & REG_BIT_HAL0_SW_HOME_n ) + { + if(( temp_dat & REG_BIT_HAL0_SW_HOME_n ) == 0 ) + { + SW_HOME_n = 0; + } + else + { + SW_HOME_n = 1; + } + } + else + { + if( system_status.model == MODEL_TS_BOARD )// ڑ̃|[gႤ + { + SW_HOME_n = SW_HOME_n_TSBOARD_RAW; + } + else + { + SW_HOME_n = SW_HOME_n_JIKKI_RAW; + } + } + + // J + if( temp_conf & REG_BIT_HAL0_SW_WIFI_n ) + { + if(( temp_dat & REG_BIT_HAL0_SW_WIFI_n ) == 0 ) + { + SW_WIFI_n = 0; + } + else + { + SW_WIFI_n = 1; + } + } + else + { + SW_WIFI_n = SW_WIFI_n_RAW; + } + + // + if( temp_conf & REG_BIT_HAL0_SHELL_OPEN ) + { + if(( temp_dat & REG_BIT_HAL0_SHELL_OPEN ) == 0 ) + { + SHELL_OPEN = 0; + } + else + { + SHELL_OPEN = 1; + } + } + else + { + SHELL_OPEN = SHELL_OPEN_RAW; + } + + // dg + if( temp_conf & REG_BIT_HAL0_WL_TX ) + { + WIFI_txLatch = 1; + } + +} + + + +void hal_reset() +{ + vreg_ctr[ VREG_C_HAL_OVW_CONT0 ] = 0; + vreg_ctr[ VREG_C_HAL_OVW_CONT1 ] = 0; + vreg_ctr[ VREG_C_HAL_OVW_TEMPERATURE ] = 0xFF; + vreg_ctr[ VREG_C_HAL_OVW_BT_FUEL ] = 0xFF; + vreg_ctr[ VREG_C_HAL_OVW_BT_VOLTAGE ] = 0xFF; +} + diff --git a/tags/2.19_SDK4(3rdNUP)/hal.h b/tags/2.19_SDK4(3rdNUP)/hal.h new file mode 100644 index 0000000..245be75 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/hal.h @@ -0,0 +1,16 @@ +#ifndef _hal_h_ +#define _hal_h_ + + +extern bit PM_EXTDC_n; +extern bit BT_IN_CHG_n; +extern bit SW_POW_n; +extern bit SW_HOME_n; +extern bit SW_WIFI_n; +extern bit SHELL_OPEN; + +// ======================================================== +void hal_update(); +void hal_reset(); + +#endif diff --git a/tags/2.19_SDK4(3rdNUP)/hoge.bin b/tags/2.19_SDK4(3rdNUP)/hoge.bin new file mode 100644 index 0000000000000000000000000000000000000000..1f98b4aab7566ab471b9af0c6278c67639a78869 GIT binary patch literal 16387 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 0x80 || reg_adrs <= 1 ) + { + LREL = 1; // Ȃ񂩃f[^̂ŒʐMI nakԂ̂Ȃc + return; + } +#endif + vreg_ctr_write( reg_adrs, rx_buf ); + WREL = 1; + } + + // WX^AhX̃CNg + /// ANZX|C^i߂ȂȃWX^ + switch( adrs_access_from ) + { + case( VREG_C_ACC_HOSU_HIST ): + case( VREG_C_LED_NOTIFY_DATA ): + case( VREG_C_LED_POW ): + case( VREG_CX_INFO ): + case( VREG_CX_FREE_DATA ): + break; + case( VREG_CX_FREE_ADRS ): + if( reg_adrs == VREG_CX_FREE_ADRS ) + { + reg_adrs = VREG_CX_FREE_DATA; + } + break; + default: + reg_adrs ++; + } + + if( state == IIC_TX ) + { // ɂ‚ɑf[^̏VeINBSPĎgȂȂ + tx_buf = vreg_ctr_read( reg_adrs ); + } + break; + } +} + + + +/********************************************//** +@W[ +@ +@todo twl init Ɠ? +@ +@rbg삪̂łĕsoςȂ + ***********************************************/ +void IIC_ctr_Init( void ) +{ + + IICAEN = 1; + + IICE = 0; /* IICA disable */ + + IICAMK = 1; /* INTIICA disable */ + IICAIF = 0; /* clear INTIICA interrupt flag */ + +// IICAPR0 = 1; /* set INTIICA high priority */ +// IICAPR1 = 0; /* set INTIICA high priority */ X^bNs + + P20 &= ~0x3; + + SVA = IIC_C_SLAVEADDRESS; + IICF = 0x01; + + STCEN = 1; // X^[g̋ + IICRSV = 1; // ʐM\Ȃ:X[uɓO + + SPIE = 0; // XgbvRfBVł̊荞݂֎~ + WTIM = 1; // ACKԂclkLɌŒ肷 + ACKE = 1; + + IICWH = 9; + IICWL = 11; // LԂ̒ + + SMC = 1; // [h + DFC = 1; // fW^tB^on (@fast mode) + + IICAMK = 0; // 荞݂ + + IICE = 1; + + PM20 &= ~0x3; /* set clock pin for IICA */ + + state = IIC_IDLE; +} + + + +/********************************************//** + + ***********************************************/ +void IIC_ctr_Stop( void ) +{ + IICE = 0; /* IICA disable */ + IICAEN = 0; +} + + + diff --git a/tags/2.19_SDK4(3rdNUP)/i2c_ctr.h b/tags/2.19_SDK4(3rdNUP)/i2c_ctr.h new file mode 100644 index 0000000..16234ff --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/i2c_ctr.h @@ -0,0 +1,210 @@ +#ifndef _MDSERIAL_A_ +#define _MDSERIAL_A_ + + +/* IIC operation enable (IICE0) */ +#define IIC0_OPERATION 0x80 +#define IIC0_OPERATION_DISABLE 0x00 /* stop operation */ +#define IIC0_OPERATION_ENABLE 0x80 /* enable operation */ + +/* Exit from communications (LREL0) */ +#define IIC0_COMMUNICATION 0x40 +#define IIC0_COMMUNICATION_NORMAL 0x00 /* normal operation */ +#define IIC0_COMMUNICATION_EXIT 0x40 /* exit from current communication */ + +/* Wait cancellation (WREL0) */ +#define IIC0_WAITCANCEL 0x20 +#define IIC0_WAIT_NOTCANCEL 0x00 /* do not cancel wait */ +#define IIC0_WAIT_CANCEL 0x20 /* cancel wait */ + +/* Generation of interrupt when stop condition (SPIE0) */ +#define IIC0_STOPINT 0x10 +#define IIC0_STOPINT_DISABLE 0x00 /* disable */ +#define IIC0_STOPINT_ENABLE 0x10 /* enable */ + +/* Wait and interrupt generation (WTIM0) */ +#define IIC0_WAITINT 0x08 +#define IIC0_WAITINT_CLK8FALLING 0x00 /* generate at the eighth clocks falling edge */ +#define IIC0_WAITINT_CLK9FALLING 0x08 /* generated at the ninth clocks falling edge */ + +/* Acknowledgement control (ACKE0) */ +#define IIC0_ACK 0x04 +#define IIC0_ACK_DISABLE 0x00 /* enable acknowledgement */ +#define IIC0_ACK_ENABLE 0x04 /* disable acknowledgement */ + +/* Start condition trigger (STT0) */ +#define IIC0_STARTCONDITION 0x02 +#define IIC0_START_NOTGENERATE 0x00 /* do not generate start condition */ +#define IIC0_START_GENERATE 0x02 /* generate start condition */ + +/* Stop condition trigger (SPT0) */ +#define IIC0_STOPCONDITION 0x01 +#define IIC0_STOP_NOTGENERATE 0x00 /* do not generate stop condition */ +#define IIC0_STOP_GENERATE 0x01 /* generate stop condition */ + +/* + IIC Status Register 0 (IICS0) +*/ +/* Master device status (MSTS0) */ +#define IIC0_MASTERSTATUS 0x80 +#define IIC0_STATUS_NOTMASTER 0x00 /* slave device status or communication standby status */ +#define IIC0_STATUS_MASTER 0x80 /* master device communication status */ + +/* Detection of arbitration loss (ALD0) */ +#define IIC0_ARBITRATION 0x40 +#define IIC0_ARBITRATION_NO 0x00 /* arbitration win or no arbitration */ +#define IIC0_ARBITRATION_LOSS 0x40 /* arbitration loss */ + +/* Detection of extension code reception (EXC0) */ +#define IIC0_EXTENSIONCODE 0x20 +#define IIC0_EXTCODE_NOT 0x00 /* extension code not received */ +#define IIC0_EXTCODE_RECEIVED 0x20 /* extension code received */ + +/* Detection of matching addresses (COI0) */ +#define IIC0_ADDRESSMATCH 0x10 +#define IIC0_ADDRESS_NOTMATCH 0x00 /* addresses do not match */ +#define IIC0_ADDRESS_MATCH 0x10 /* addresses match */ + +/* Detection of transmit/receive status (TRC0) */ +#define IIC0_STATUS 0x08 +#define IIC0_STATUS_RECEIVE 0x00 /* receive status */ +#define IIC0_STATUS_TRANSMIT 0x08 /* transmit status */ + +/* Detection of acknowledge signal (ACKD0) */ +#define IIC0_ACKDETECTION 0x04 +#define IIC0_ACK_NOTDETECTED 0x00 /* ACK signal was not detected */ +#define IIC0_ACK_DETECTED 0x04 /* ACK signal was detected */ + +/* Detection of start condition (STD0) */ +#define IIC0_STARTDETECTION 0x02 +#define IIC0_START_NOTDETECTED 0x00 /* start condition not detected */ +#define IIC0_START_DETECTED 0x02 /* start condition detected */ + +/* Detection of stop condition (SPD0) */ +#define IIC0_STOPDETECTION 0x01 +#define IIC0_STOP_NOTDETECTED 0x00 /* stop condition not detected */ +#define IIC0_STOP_DETECTED 0x01 /* stop condition detected */ + +/* + IIC Flag Register 0 (IICF0) +*/ +/* STT0 clear flag (STCF) */ +#define IIC0_STARTFLAG 0x80 +#define IIC0_STARTFLAG_GENERATE 0x00 /* generate start condition */ +#define IIC0_STARTFLAG_UNSUCCESSFUL 0x80 /* start condition generation unsuccessful */ + +/* IIC bus status flag (IICBSY) */ +#define IIC0_BUSSTATUS 0x40 +#define IIC0_BUS_RELEASE 0x00 /* bus release status */ +#define IIC0_BUS_COMMUNICATION 0x40 /* bus communication status */ + +/* Initial start enable trigger (STCEN) */ +#define IIC0_STARTWITHSTOP 0x02 +#define IIC0_START_WITHSTOP 0x00 /* generation of a start condition without detecting a stop condition */ +#define IIC0_START_WITHOUTSTOP 0x02 /* generation of a start condition upon detection of a stop condition */ + +/* Communication reservation function disable bit (IICRSV) */ +#define IIC0_RESERVATION 0x01 +#define IIC0_RESERVATION_ENABLE 0x00 /* enable communication reservation */ +#define IIC0_RESERVATION_DISABLE 0x01 /* disable communication reservation */ + +/* + IIC clock selection register 0 (IICCL0) +*/ +#define IICCL0_INITIALVALUE 0x00 +/* Detection of SCL0 pin level (CLD0) */ +#define IIC0_SCLLEVEL 0x20 +#define IIC0_SCL_LOW 0x00 /* clock line at low level */ +#define IIC0_SCL_HIGH 0x20 /* clock line at high level */ + +/* Detection of SDA0 pin level (DAD0) */ +#define IIC0_SDALEVEL 0x10 +#define IIC0_SDA_LOW 0x00 /* data line at low level */ +#define IIC0_SDA_HIGH 0x10 /* data line at high level */ + +/* Operation mode switching (SMC0) */ +#define IIC0_OPERATIONMODE 0x08 +#define IIC0_MODE_STANDARD 0x00 /* operates in standard mode */ +#define IIC0_MODE_HIGHSPEED 0x08 /* operates in high-speed mode */ + +/* Digital filter operation control (DFC0) */ +#define IIC0_DIGITALFILTER 0x04 +#define IIC0_FILTER_OFF 0x00 /* digital filter off */ +#define IIC0_FILTER_ON 0x04 /* digital filter on */ + +/* Operation mode switching (CL01, CL00) */ +#define IIC0_CLOCKSELECTION 0x03 + +/* Combine of (SMC0, CL01, CL00)*/ +#define IIC0_CLOCK0 0x00 +#define IIC0_CLOCK1 0x01 +#define IIC0_CLOCK2 0x02 +#define IIC0_CLOCK3 0x03 +#define IIC0_CLOCK4 0x08 +#define IIC0_CLOCK5 0x09 +#define IIC0_CLOCK6 0x0a +#define IIC0_CLOCK7 0x0b + +/* + IIC function expansion register 0 (IICX0) +*/ +/* IIC clock expension (CLX0) */ +#define IIC0_CLOCKEXPENSION 0x01 +#define IIC0_EXPENSION0 0x00 +#define IIC0_EXPENSION1 0x01 + +/* Operation clock (CLX0, SMC0, CL01, CL00) + | IIC0_EXPENSION0 | IIC0_EXPENSION1 | +------------|-------------------|-------------------|---------------------- +IIC0_CLOCK0 | fprs/2 | prohibited | selection clock(fw) + | fprs/88 | | transfer clock + | normal | | mode +------------|-------------------|-------------------|---------------------- +IIC0_CLOCK1 | fprs/2 | prohibited | selection clock(fw) + | fprs/172 | | transfer clock + | normal | | mode +------------|-------------------|-------------------|---------------------- +IIC0_CLOCK2 | fprs/2 | prohibited | selection clock(fw) + | fprs/344 | | transfer clock + | normal | | mode +------------|-------------------|-------------------|---------------------- +IIC0_CLOCK3 |prohibited/fexscl0 | prohibited | selection clock(fw) + | fw/66 | | transfer clock + | normal | | mode +------------|-------------------|-------------------|---------------------- +IIC0_CLOCK4 | fprs/2 | fprs/2 | selection clock(fw) + | fprs/48 | fprs/24 | transfer clock + | high speed | high speed | mode +------------|-------------------|-------------------|---------------------- +IIC0_CLOCK5 | fprs/2 | fprs/2 | selection clock(fw) + | fprs/48 | fprs/24 | transfer clock + | high speed | high speed | mode +------------|-------------------|-------------------|---------------------- +IIC0_CLOCK6 | fprs/4 | fprs/4 | selection clock(fw) + | fprs/96 | fprs/48 | transfer clock + | high speed | high speed | mode +------------|-------------------|-------------------|---------------------- +IIC0_CLOCK7 |prohibited/fexscl0 | prohibited | selection clock(fw) + | fw/18 | | transfer clock + | high speed | | mode +------------|-------------------|-------------------|---------------------- +*/ + +#define ADDRESS_COMPLETE 0x80 +#define IIC_MASTER_FLAG_CLEAR 0x00 + +/****************************************************************************** + * Macro define + ******************************************************************************/ + + + +/****************************************************************************** + * Function define + ******************************************************************************/ + +void IIC_ctr_Init( void ); +void IIC_ctr_Stop( void ); + + +#endif diff --git a/tags/2.19_SDK4(3rdNUP)/i2c_mcu-sub.c b/tags/2.19_SDK4(3rdNUP)/i2c_mcu-sub.c new file mode 100644 index 0000000..dde1f10 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/i2c_mcu-sub.c @@ -0,0 +1,113 @@ +/* ======================================================== + ȈI2CiytFgpjʐM + de JHL cJZ + '09 Feb - + $Id$ + ======================================================== */ +#ifndef _WIN32 +#pragma sfr +#pragma di +#pragma ei +#pragma nop +#pragma inline // memcpy()CCWJ(̕I) +#endif + +#include "incs.h" +#include "i2c_mcu.h" +#include "loader.h" +#include "util_funcs.h" + +#include "i2c_mcu_sub.h" +#include "pm.h" /// 肽ȂcCODEC̃WX^Ђ + + +// ======================================================== +// [NAEhp +static void iic_mcu_simple_dummy_write(); +static i2c_err iic_mcu_codec_write_low( u8 adrs, u8 dat ); + +// i2c_mcu.c ɂ +extern void iic_mcu_send_re_st( ); +extern void iic_mcu_send_sp( ); +extern i2c_err iic_mcu_send_a_byte( u8 ); +extern i2c_err iic_mcu_call_slave( u8 slave ); + + +/* + yamaha codecspӂɊ荞݂邱Ƃ邪A^XNo^ + ۂɓǂݏoƂɂ͏߂Ȃ̂ʼnȂ悤ɓ͂ +*/ + +/********************************************//** + R[fbN wPoCgx Cg + + iic_mcu_write_a_byte CODECs[NAEh + ***********************************************/ +i2c_err iic_mcu_write_a_byte_codec( u8 adrs, u8 dat ) +{ + u8 pm_reg_original; + u8 rv; + + // }ncodec[NAEh SPIƂ̋pWX^̒g擾 + if(( rv = iic_mcu_read( IIC_SLA_CODEC, CODEC_REG_PM, 1, &pm_reg_original )) != I2C_ERR_OK ) + { + return( rv ); + } + // phase1 ܂ + + // ݁I + if( ( rv = iic_mcu_codec_write_low( adrs, dat ) ) != I2C_ERR_OK ) + { + return( rv ); + } + + // }ncodec[NAEh + if( dat != 0 ) // ނ̂0`FbNȂ + { + // LWX^ 0x00 ɏĂ(Gb^I)悤Ȃ珑߂ + u8 pm_reg_after; + + if(( rv = iic_mcu_read( IIC_SLA_CODEC, CODEC_REG_PM, 1, &pm_reg_after )) != I2C_ERR_OK ) + { + return( rv ); + } + + if( ( pm_reg_after & 0x7C ) != 0x00 ) + { + return( I2C_ERR_OK ); + } + + // else { + return iic_mcu_codec_write_low( CODEC_REG_PM, pm_reg_original ); + // gCȂǂ͖ + } + return( I2C_ERR_OK ); +} + + +static i2c_err iic_mcu_codec_write_low( u8 adrs, u8 dat ) +{ + IICMK10 = 1; // DMApISRɔ΂Ȃ߂Ƀ}XN + if( iic_mcu_call_slave( IIC_SLA_CODEC ) != I2C_ERR_OK ) + { + iic_mcu_busy = false; + return ( I2C_ERR_NOSLAVE ); + } + iic_mcu_send_a_byte( adrs ); + iic_mcu_send_a_byte( dat ); + + // TI[NAEh + // re-stŃ_~[Cg + { + iic_mcu_send_re_st( ); + iic_mcu_send_a_byte( IIC_SLA_CODEC ); // _~[Cg + iic_mcu_send_a_byte( 0x20 ); // S~ĂȂAhX + iic_mcu_send_a_byte( 0xAA ); // ł悢 + } + + iic_mcu_send_sp( ); + iic_mcu_busy = false; + return( I2C_ERR_OK ); +} + + diff --git a/tags/2.19_SDK4(3rdNUP)/i2c_mcu.c b/tags/2.19_SDK4(3rdNUP)/i2c_mcu.c new file mode 100644 index 0000000..50916e0 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/i2c_mcu.c @@ -0,0 +1,652 @@ +/* ======================================================== + ȈI2CiytFgpjʐM + de JHL cJZ + '09 Feb - + $Id$ + ======================================================== */ +#ifndef _WIN32 +#pragma sfr +#pragma di +#pragma ei +#pragma nop +#pragma inline // memcpy()CCWJ(̕I) +#endif + +#include "incs_loader.h" +#include "i2c_mcu.h" +#include "loader.h" +#include "util_funcs.h" + +#include "i2c_mcu_sub.h" + + + +// ======================================================== +// WX^̃rbg +// vtBbNXbAꕔ̃rbgWX^ɂԂ邽... +// SMR0n +#define bCKS0 ( 1 << 15 ) +#define bCCS0 ( 1 << 14 ) +#define bSTS0 ( 1 << 8 ) +#define bSIS0 ( 1 << 6 ) +#define bMD0n2 ( 1 << 2 ) +#define bMD0n1 ( 1 << 1 ) +#define bMD0n0 ( 1 << 0 ) +#define bSMR0n_FIXEDBIT ( 1 << 5 ) + +// SSR0n +#define bit_TSF0 6 +#define PEF0 ( 1 << 1 ) + +// SIR0n +#define PECT0 ( 1 << 1 ) + +// SCR0n +#define TXE0 ( 1 << 15 ) +#define RXE0 ( 1 << 14 ) +#define SLC02 4 +#define DLS02 0 +#define TSF0 ( 1 << 6 ) + +// SOn +#define TAUS_MASK 0x0B0B; + +// DMCn +#define DRS ( 1 << 6 ) + + + + +// ======================================================== +static void iic_mcu_send_st( ); + +// *sub炵Ă΂Ȃ +void iic_mcu_send_re_st( ); +void iic_mcu_send_sp( ); +i2c_err iic_mcu_send_a_byte( u8 ); +i2c_err iic_mcu_call_slave( u8 slave ); + + +// ======================================================== +bit iic_mcu_wo_dma; +volatile bit iic_mcu_busy; +static volatile bit iic_mcu_initialized; + + +static u8 iic_send_work[4]; +static u8 *p_iic_send_wo_dma_dat; +static u8 iic_send_wo_dma_len; + +// f[^G[iROHMxZTjgĈ +/// Ƃ肠ADMAgp}`oCgCg ̎ɂ@\Ȃ +static u8 last_slave, last_reg_adrs, last_size; + +i2c_err iic_mcu_result; // ꕶ[h̎̓f[^ԂB + +#ifdef i2c_timeout_test +extern bit i2c_mcu_time_out_error; +#endif + + + +/********************************************//** + + ***********************************************/ +void nop8() +{ + // ɗ call 3clk, return 6clk +} + + +/********************************************//** + ̒ʐMÎ҂B + + ^CAEgL + ***********************************************/ +static i2c_err iic_mcu_wait_free() +{ + u16 tot = 0; + + iic_mcu_start( ); + while( 1 ) + { + DI_wt_chk(); + if( !iic_mcu_busy ) + { + iic_mcu_busy = true; + EI(); + break; + } + EI(); + if( ++tot == 0 ) + { +#ifdef i2c_timeout_test + i2c_mcu_time_out_error = true; +#endif + return( I2C_ERR_TIMEOUT ); + } + } + return( I2C_ERR_OK ); +} + + + +/********************************************//** + X[u w1x [h + + Ԓlf[^̂̂łB + + G[R[h iic_mcu_result ɓĂ܂ + ***********************************************/ +u8 iic_mcu_read_a_byte( u8 SLA, u8 adrs ) +{ + u8 dat; + + iic_mcu_result = iic_mcu_read( SLA, adrs, 1, &dat ); + + return ( dat ); +} + + + +/********************************************//** + X[ũ[h + + yz + + X[uEFCgRfBVoƂ͋֎~łB + + ̏ꍇłG[oȂǂł܂ + ***********************************************/ +i2c_err iic_mcu_read( u8 slave, u8 adrs, u8 len, u8 * dest ) +{ + +#if 1 + if( iic_mcu_wait_free() != I2C_ERR_OK ) + { + // (^CAEg) + return( I2C_ERR_TIMEOUT ); + } +#else + // gpȂA +#endif + + // X^[gRfBVƃX[ǔĂяoAWX^AhX̑M + if( iic_mcu_call_slave( slave ) != 0 ) + { + iic_mcu_busy = false; + return ( I2C_ERR_NOSLAVE ); + } + + // WX^AhX̑M + iic_mcu_send_a_byte( adrs ); // I܂ŋAĂȂ + + // ΂NAKAĂȂO + + // f[^M // + iic_mcu_send_re_st( ); // X^[gRfBV + iic_mcu_send_a_byte( slave | 0x01 ); // M܂Ŗ߂Ă܂B + + // f[^M + ST0 = 0x0004; // M[hɐݒς̂ŃWbN~ + SCR02 = RXE0 | 1 << SLC02 | 7 << DLS02; // Mݒ + SS0 = 0x0004; // ʐMҋ@ + + do + { + if( len == 1 ) + { + SOE0 = 0x0000; // ŌNAK + } + IICIF10 = 0; + SIO10 = 0xFF; // _~[f[^ƎMJn + while( IICIF10 == 0 ) + {;} // M҂ + + *dest = SIO10; + dest++; + len--; + } + while( len != 0 ); + + iic_mcu_send_sp( ); + + IICIF10 = 0; + iic_mcu_busy = false; + return ( I2C_ERR_OK ); +} + + + + +/********************************************//** + X[u wPoCgx Cg + + O̓]Î҂āACg܂B + + Ԓl@iic_mcu_write@ɓ + ***********************************************/ +i2c_err iic_mcu_write_a_byte( u8 SLA, u8 adrs, u8 dat ) +{ + // P̎DMAƂNȂłƏI点 + if( iic_mcu_wait_free() != I2C_ERR_OK ) + { + return( I2C_ERR_TIMEOUT ); + } + + // X^[gRfBVƃX[ǔĂяo... + IICMK10 = 1; + if( iic_mcu_call_slave( SLA ) != I2C_ERR_OK ) + { + iic_mcu_busy = false; + return( I2C_ERR_NOSLAVE ); + } + iic_mcu_send_a_byte( adrs ); + iic_mcu_send_a_byte( dat ); + iic_mcu_send_sp( ); + iic_mcu_busy = false; + return ( I2C_ERR_OK ); +} + + + +/********************************************//** + X[uփCg + + WX^ adrs 擪ɁA + + *str + + len܂B + + yz + + X[uEFCgRfBVoƂ͋֎~łB + + ̏ꍇłG[oȂǂł܂ + + DMA1gp܂B + ***********************************************/ +i2c_err iic_mcu_write( u8 slave, u8 adrs, u8 len, void * src ) +{ + if( iic_mcu_wait_free() != I2C_ERR_OK ) + { + return( I2C_ERR_TIMEOUT ); + } +#if 0 // renge^̃}`^XNɂȂłɂ + // gpȂA +#endif + + // X^[gRfBVƃX[ǔĂяo... + IICMK10 = 1; + IICIF10 = 0; + if( iic_mcu_call_slave( slave ) != I2C_ERR_OK ) + { + iic_mcu_busy = false; + return ( I2C_ERR_NOSLAVE ); + } + + IICIF10 = 0; + if( !iic_mcu_wo_dma ) + { + // DMAgpiʏj// + + // WX^AhX𑗂Af[^̏ + memcpy( iic_send_work, src, 4 ); //obt@Ƃ4oCgpӂĖ߁B + + // gĈ + last_slave = slave; + last_reg_adrs = adrs; + last_size = len; + + // DMAZbg + while( DST1 ) + {;} + + DEN1 = 1; + DSA1 = (u8)( &SIO10 ); + DRA1 = (u16)( &iic_send_work[0] ); + DBC1 = len; + DMC1 = DRS | 8; // RAM -> SFR, 8bit, IRQ, IIC10 + + DMAIF1 = 0; + DMAMK1 = 0; + DST1 = 1; // DEN1 = 12clkȏJ + + SIO10 = adrs; // ςȂI 荞݂DMAX^[g + // c͊荞݃[` + } + else + { + // DMAgpȂ // + + // WX^AhX̑M + IICMK10 = 0; + SIO10 = adrs; + + iic_send_wo_dma_len = len; + p_iic_send_wo_dma_dat = (u8*)src; + // c͊荞݃[` + } + + return ( I2C_ERR_OK ); +} + + + + +/********************************************//** + DMAP]I荞 + + IIC_mcu ̑MR[obN֐̂悤Ȃ + + FDMA]IŁAI2C̓]͏IĂ܂ + +@ 荞ݒȂǂŁADMA1̏xꍇA + IIC10̊荞݂̏łɁA荞݂𔭐ȂȂ + ꂪ܂B܂A@ɂ܂B + + @̂߁ADMAdl̍ق́AŌ̃oCg͑M + tÕ|[OŊmF܂B + ***********************************************/ +__interrupt void int_dma1( ) +{ + static bit in_retry; + + EI(); + + // Ō̃oCg̑M҂ + while( ( SSR02L & TSF0 ) != 0 ) + { + u16 i = 0; + if( ++i == 0 ) // ^CAEgH + { + break; + } + } + + // XgbvRfBVs +// iic_mcu_send_sp(); // ISRŊO̊֐ĂԂ͓̂siėpWX^ҔĵœWJ + { + ST0 = 0x0004; + SOE0 = 0; // M̎͂ƑOɁuvݒ肵ĂB(NACKo) + SO0 = 0x0000 | TAUS_MASK; // SCL + nop8(); //. |ȂBO̊֐Ă +/* + NOP(); NOP(); NOP(); NOP(); + NOP(); NOP(); NOP(); NOP(); +*/ + SO0 = 0x0400 | TAUS_MASK; // SCL + nop8(); +/* + NOP(); NOP(); NOP(); NOP(); + NOP(); NOP(); NOP(); NOP(); +*/ + SO0 = 0x0404 | TAUS_MASK; + } + + IICMK10 = 1; + + // f[^̓r NAK AxgCB + /// 蔲 + if( SIR02 != 0 ) + { + SIR02 = SSR02; + + if( !in_retry ) + { + in_retry = true; + + IICIF10 = 0; + iic_mcu_call_slave( last_slave ); // NAK͍mPA + + while( DST1 ){;} + DRA1 = (u16)( &iic_send_work[0] ); // CNgĂ܂Ă̂ōăZbg + DBC1 = last_size; // fNgĂ܂Ă̂ōăZbg + // ق̐ݒ͑Ô܂ + + DMAIF1 = 0; + DMAMK1 = 0; + DST1 = 1; + + SIO10 = last_reg_adrs; // ςȂI 荞݂DMAX^[g + return; + // ܂ + } + else + { + // G[xځBmȂ + dbg_nop(); + // ̂܂܏I + } + } + + // I + in_retry = false; + DMAMK1 = 1; + DEN1 = 0; + iic_mcu_busy = false; +} + + + +/********************************************//** + IIC MCŨoCgo荞 + + DMAgp͎gp܂B + + @̊荞ݏDMÅ荞݂ɂ΂ȂꍇA + @IIC荞݂̃ZbgԂɍ킸邱Ƃ܂B + ***********************************************/ +__interrupt void int_iic10( ) +{ + EI(); + if( iic_send_wo_dma_len != 0 ) // ܂MĂȂH + { + SIO10 = *p_iic_send_wo_dma_dat; + p_iic_send_wo_dma_dat ++; + iic_send_wo_dma_len --; + return; + // ܂ // + } + + // Ō̃oCgMAXgbvRfBVs + IICMK10 = 1; +// iic_mcu_send_sp(); // ISRŊO̊֐ĂԂ͓̂siėpWX^ҔĵœWJ + { + ST0 = 0x0004; + SOE0 = 0; // M̎͂ƑOɁuvݒ肵ĂB(NACKo) + SO0 = 0x0000 | TAUS_MASK; // clear SCL + NOP(); NOP(); NOP(); NOP(); // NOP8Ăł͂ + NOP(); NOP(); NOP(); NOP(); + SO0 = 0x0400 | TAUS_MASK; // set SCL + NOP(); NOP(); NOP(); NOP(); + NOP(); NOP(); NOP(); NOP(); + SO0 = 0x0404 | TAUS_MASK; // set CSL adn SDA + } + + iic_mcu_wo_dma = false; + iic_mcu_busy = false; +} + + + +/********************************************//** + X[ǔĂяo + +@X[uAhXĂŁAACK̊mFB + + ACK@@@@@@@@@@@@@@@@@@ԁFI2C_ERR_OK + +@NACK @XgbvRfBVoB@ԁFI2C_ERR_NOSLAVE + ***********************************************/ +i2c_err iic_mcu_call_slave( u8 slave ) +{ + iic_mcu_send_st( ); + +/* +// dbg + if( SSR02 != 0 ) + { + P1.5 = P1.0 = P1.3 = 1; + } +*/ + + SIR02 = SSR02; // NAKG[̃tONA + if( iic_mcu_send_a_byte( slave ) != I2C_ERR_OK ) + { + iic_mcu_send_sp( ); + return ( I2C_ERR_NOSLAVE ); // w̃X[uȂ + } + + return ( I2C_ERR_OK ); +} + + + +/********************************************//** + قƂɂPoCĝ + + I܂ŋA܂ + ***********************************************/ +i2c_err iic_mcu_send_a_byte( u8 dat ) +{ + IICMK10 = 1; + IICIF10 = 0; + SIO10 = dat; + while( IICIF10 == 0 ) + { +// NOP( ); + } // ʐM + + if( SSR02 != 0 ) // 炩G[? + { + SIR02 = SSR02; // G[NA + return( I2C_ERR_NAK ); + } + return( I2C_ERR_OK ); +} + + + +/********************************************//** + X^[gRfBV𔭍s + + \tgEFA + ***********************************************/ +static void iic_mcu_send_st( ) +{ + SO0 &= ~0x0004; // SDA + nop8(); + + SO0 &= ~0x0400; // SCL + SOE0 = 0x0004; // n[h + + SCR02 = TXE0 | 1 << SLC02 | 7 << DLS02; // MAf[^͂WrbgP + SS0 = 0x0004; // ʐMҋ@ +} + + + +/********************************************//** + X^[gs + ***********************************************/ +void iic_mcu_send_re_st( ) +{ + ST0 |= 0x0004; + SO0 |= 0x0400 | TAUS_MASK; // ( SDA = H ), SCL -> H + nop8(); + + SOE0 &= ~0x0004; // ( SCL = H ), SDA -> L + nop8(); + + iic_mcu_send_st( ); +} + + + +/********************************************//** + XgbvRfBVs + + ̑OɁAuŌ̃oCg̑Mv̎ɑOKvłB + ***********************************************/ +void iic_mcu_send_sp( ) +{ + ST0 = 0x0004; + SOE0 = 0; // M̎͂ƑOɁuvݒ肵ĂB(NACKo) + SO0 = 0x0000 | TAUS_MASK; // SCL + nop8(); + + SO0 = 0x0400 | TAUS_MASK; // SCL + nop8(); + + SO0 = 0x0404 | TAUS_MASK; +} + + + + +/********************************************//** + ytFW[̏ + ***********************************************/ +void iic_mcu_start( ) +{ + if( iic_mcu_initialized ) + { + return; + } + + iic_mcu_busy = true; +// DST1 = 0; + + I2C_PU_on(); +// DEN1 = 0; // DST1 = 0 2clḱADSTn==0|[OĂ + + wait_ms( 1 ); // オ̂50usʂ + + SAU0EN = 1; + nop8(); + + SPS0 = 0x0000; // VAjbg̃NbNOB(8M/2)/1 + SMR02 = bSMR0n_FIXEDBIT | bMD0n2; // ȈI2Cɐݒ + SDR02 = 10 << 9; // {[[gݒ 8M/1/(x+1)/2 + + SO0 = 0x0404 | TAUS_MASK; // ŏHH + iic_mcu_wo_dma = false; + + + // oX̃Zbg + { + IICIF10 = 0; + IICMK10 = 1; + + iic_mcu_send_st(); + + SIO10 = 0xFF; + while( IICIF10 == 0 ){;} // ʐM + iic_mcu_send_sp(); + + SIR02 = SSR02; + } + + iic_mcu_busy = false; + iic_mcu_initialized = true; +} + + + +/********************************************//** + W[̒~ + + ēxgƂ͏Kv + ***********************************************/ +void iic_mcu_stop( ) +{ + while( iic_mcu_busy ) + {;} // DMA쒆͂҂ + iic_mcu_send_re_st( ); // SCL,SDALLɂ + I2C_PU_off(); + SAU0EN = 0; + iic_mcu_initialized = false; +} + diff --git a/tags/2.19_SDK4(3rdNUP)/i2c_mcu.h b/tags/2.19_SDK4(3rdNUP)/i2c_mcu.h new file mode 100644 index 0000000..16eeba8 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/i2c_mcu.h @@ -0,0 +1,40 @@ +#ifndef __ic2_mcu__ +#define __ic2_mcu__ + + +// ======================================================== +typedef enum{ + I2C_ERR_OK = 0, + I2C_ERR_NAK, + I2C_ERR_NOSLAVE, + I2C_ERR_TIMEOUT, + I2C_ERR_UNDEF = 0xFF +}i2c_err; + + + +// ======================================================== +extern volatile bit iic_mcu_busy; +extern bit iic_mcu_wo_dma; + +extern i2c_err iic_mcu_result; + + +// ======================================================== +i2c_err iic_mcu_read( u8 SLA, u8 adrs, u8 len, u8 * dest ); +u8 iic_mcu_read_a_byte( u8 SLA, u8 adrs ); + +i2c_err iic_mcu_write( u8 SLA, u8 adrs, u8 len, void * src ); +i2c_err iic_mcu_write_a_byte( u8 SLA, u8 adrs, u8 dat ); + +i2c_err iic_mcu_write_a_byte_codec( u8 adrs, u8 dat ); // codecoO@\t + + +// ̒ʐM܂B +#define iic_mcu_set_wo_dma() { while( iic_mcu_busy ){;} iic_mcu_wo_dma = true; } + +void iic_mcu_start( ); +void iic_mcu_stop( ); + + +#endif diff --git a/tags/2.19_SDK4(3rdNUP)/i2c_mcu_sub.h b/tags/2.19_SDK4(3rdNUP)/i2c_mcu_sub.h new file mode 100644 index 0000000..c674000 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/i2c_mcu_sub.h @@ -0,0 +1,6 @@ +#ifndef __ic2_mcu_sub__ +#define __ic2_mcu_sub__ + +i2c_err iic_mcu_write_a_byte_codec( u8 adrs, u8 dat ); + +#endif diff --git a/tags/2.19_SDK4(3rdNUP)/i2c_twl.c b/tags/2.19_SDK4(3rdNUP)/i2c_twl.c new file mode 100644 index 0000000..e4014d0 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/i2c_twl.c @@ -0,0 +1,244 @@ +/* ======================================================== + TWL ݊I2C + + $Id: i2c_twl.c 418 2011-09-22 01:35:37Z n2232 $ + ======================================================== */ +#ifndef _WIN32 + +#pragma sfr /* @\WX^gp */ + +#endif + + +/*============================================================================*/ +#ifndef _WIN32 +# pragma interrupt INTIICA0 int_iic_twl RB2 +#endif + +#include "incs.h" +#include "i2c_twl_defs.h" +#include "i2c_twl.h" +#include "vreg_twl.h" +#include "WDT.h" + + +#ifdef _MCU_BSR_ +//#ifdef _MODEL_TS0_ || _MODEL_WM0_ + +// [LOfI2Ct +#define ACKD ACKD0 +#define ACKE ACKE0 +#define COI COI0 +#define IICAEN IICA0EN +#define IICRSV IICRSV0 +#define IICA IICA0 +#define IICAIF IICAIF0 +#define IICAMK IICAMK0 +#define IICAPR0 IICAPR00 +#define IICAPR1 IICAPR10 +#define IICCTL0 IICCTL00 +#define IICE IICE0 +#define IICF IICF0 +#define IICS IICS0 +#define IICWH IICWH0 +#define IICWL IICWL0 +#define LREL LREL0 +#define SPD SPD0 +#define SPIE SPIE0 +#define STCEN STCEN0 +#define STD STD0 +#define SVA SVA0 +#define WREL WREL0 +#define WTIM WTIM0 +#define SMC SMC0 +#define TRC TRC0 +#define DFC DFC0 + +#endif // _MCU_BSR_ + +#ifndef _MCU_BSR_ + +// ke3̎̓_~[֐ +void IIC_twl_Stop( void ) +{ +} +void IIC_twl_Init( void ) +{ +} +#else // _MCU_BSR_ + + + +enum IIC_TWL_STATE{ + WAIT_ADRS = 0, + WAIT_DATA, + DATA_READED +}; + + + + +/*============================================================================*/ + +// I@̓}NȂ̂ŁAreturn̓C[vɖ߂܂B +#define wait_next { \ + tot = 0; \ + while( IICAIF != 1 ){ \ + tot ++; \ + if( tot == 0 ){ \ + LREL = 1; \ + return; \ + } \ + } \ +} + + +/********************************************//** + isr + + TWL̓EFCg𗝉ĂꂸA܂Ao[XgR/W + ȂłĂ̂ŁAXgbvRfBV܂ňCɂĂ܂B + ***********************************************/ +__interrupt void int_iic_twl( ) +{ + u8 vreg_adrs; + u8 state; + + // @ + WREL = 1; // EFCgĎ̃oCg҂ + WDT_Restart(); + state = WAIT_ADRS; + + while( 1 ) + { + u8 my_iics; + + { + u16 tot; + wait_next; // PoCgM҂ + } + + my_iics = IICS; + IICAIF = 0; + + if( my_iics & 0x02 ) // ( STD && !SPD ) + { + // X^[gRfBV + if( ( my_iics & 0x08 ) == 0 ) // ( TRC ) MtO 0:}CRM + { + // @f}CRłATWLgCƂƂ + // ɗ̂̓X[uĂяo̎ // + WREL = 1; + state = WAIT_ADRS; + /// WX^AhX̂҂ + } + else + { + // BR Rł̃X[uĂяo(X^[gRfBV) // + IICA = vreg_twl_read( vreg_adrs ); // f[^M + // Xgbv҂ALREL = 1 ɂȂƁAMobt@j󂳂邱Ƃ + state = DATA_READED; + } + } + else if( ( my_iics & 0x03 ) == 0 ) // ( !STD && !SPD ) + { + u8 rcvd; + + // 炩M + rcvd = IICA; + WREL = 1; + + if( state == WAIT_ADRS ) + { + // A + vreg_adrs = adrs_table_twl_ext2int( rcvd ); + /// f[^邩AX^[gœǂݏô҂ + state = WAIT_DATA; + } + else if( state == DATA_READED ) + { + // f[^1oCgM㔭 + LREL = 1; + return; + } + else + { + // BW + // f[^܂ + SVA = 0x5A; // _~[ + LREL = 1; // X^[gRfBV҂(AݖΉ̂) + vreg_twl_write( vreg_adrs, rcvd ); + SVA = IIC_T_SLAVEADDRESS; + return; // M܂ // + } + } + else if( my_iics & 0x01 ) // SPD + { + // I + LREL = 1; + return; + } + else + { + // NOP(); + } + } +} + + + +/********************************************//** + W[ + ***********************************************/ +void IIC_twl_Init( void ) +{ + + IICAEN = 1; + + IICE = 0; /* IICA disable */ + + IICAMK = 1; /* INTIICA disable */ + IICAIF = 0; /* clear INTIICA interrupt flag */ + + IICAPR0 = 0; /* set INTIICA high priority */ + IICAPR1 = 0; /* set INTIICA high priority */ + P20 &= ~0x3; + + SVA = IIC_T_SLAVEADDRESS; + IICF = 0x01; + + STCEN = 1; // X^[g̋ + IICRSV = 1; // ʐM\Ȃ:X[uɓO + + SPIE = 0; // XgbvRfBVł̊荞݂֎~ + WTIM = 1; // ACKԂclkLɌŒ肷 + ACKE = 1; // _CPU͖Ď̒ʐM͂߂邩ȂőclkJȂƂȂ + + IICWH = 9; + IICWL = 11; // LԂ̒iHj + + SMC = 1; + DFC = 1; // fW^tB^on (@fast mode) + + IICAMK = 0; // 荞݂ + + IICE = 1; + + PM20 &= ~0x3; /* set clock pin for IICA */ + + LREL = 1; +} + + + +/********************************************//** + W[~ + ***********************************************/ +void IIC_twl_Stop( void ) +{ + IICE = 0; /* IICA disable */ + IICAEN = 0; +} + + +#endif diff --git a/tags/2.19_SDK4(3rdNUP)/i2c_twl.h b/tags/2.19_SDK4(3rdNUP)/i2c_twl.h new file mode 100644 index 0000000..0f608b0 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/i2c_twl.h @@ -0,0 +1,7 @@ +#ifndef _iic_twl_ +#define _iic_twl_ + +void IIC_twl_Init( void ); +void IIC_twl_Stop( void ); + +#endif diff --git a/tags/2.19_SDK4(3rdNUP)/i2c_twl_defs.h b/tags/2.19_SDK4(3rdNUP)/i2c_twl_defs.h new file mode 100644 index 0000000..be5d566 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/i2c_twl_defs.h @@ -0,0 +1,196 @@ +#ifndef _MDSERIAL_ +#define _MDSERIAL_ + + +/* IIC operation enable (IICE0) */ +#define IIC0_OPERATION 0x80 +#define IIC0_OPERATION_DISABLE 0x00 /* stop operation */ +#define IIC0_OPERATION_ENABLE 0x80 /* enable operation */ + +/* Exit from communications (LREL0) */ +#define IIC0_COMMUNICATION 0x40 +#define IIC0_COMMUNICATION_NORMAL 0x00 /* normal operation */ +#define IIC0_COMMUNICATION_EXIT 0x40 /* exit from current communication */ + +/* Wait cancellation (WREL0) */ +#define IIC0_WAITCANCEL 0x20 +#define IIC0_WAIT_NOTCANCEL 0x00 /* do not cancel wait */ +#define IIC0_WAIT_CANCEL 0x20 /* cancel wait */ + +/* Generation of interrupt when stop condition (SPIE0) */ +#define IIC0_STOPINT 0x10 +#define IIC0_STOPINT_DISABLE 0x00 /* disable */ +#define IIC0_STOPINT_ENABLE 0x10 /* enable */ + +/* Wait and interrupt generation (WTIM0) */ +#define IIC0_WAITINT 0x08 +#define IIC0_WAITINT_CLK8FALLING 0x00 /* generate at the eighth clocks falling edge */ +#define IIC0_WAITINT_CLK9FALLING 0x08 /* generated at the ninth clocks falling edge */ + +/* Acknowledgement control (ACKE0) */ +#define IIC0_ACK 0x04 +#define IIC0_ACK_DISABLE 0x00 /* enable acknowledgement */ +#define IIC0_ACK_ENABLE 0x04 /* disable acknowledgement */ + +/* Start condition trigger (STT0) */ +#define IIC0_STARTCONDITION 0x02 +#define IIC0_START_NOTGENERATE 0x00 /* do not generate start condition */ +#define IIC0_START_GENERATE 0x02 /* generate start condition */ + +/* Stop condition trigger (SPT0) */ +#define IIC0_STOPCONDITION 0x01 +#define IIC0_STOP_NOTGENERATE 0x00 /* do not generate stop condition */ +#define IIC0_STOP_GENERATE 0x01 /* generate stop condition */ + +/* + IIC Status Register 0 (IICS0) +*/ +/* Master device status (MSTS0) */ +#define IIC0_MASTERSTATUS 0x80 +#define IIC0_STATUS_NOTMASTER 0x00 /* slave device status or communication standby status */ +#define IIC0_STATUS_MASTER 0x80 /* master device communication status */ + +/* Detection of arbitration loss (ALD0) */ +#define IIC0_ARBITRATION 0x40 +#define IIC0_ARBITRATION_NO 0x00 /* arbitration win or no arbitration */ +#define IIC0_ARBITRATION_LOSS 0x40 /* arbitration loss */ + +/* Detection of extension code reception (EXC0) */ +#define IIC0_EXTENSIONCODE 0x20 +#define IIC0_EXTCODE_NOT 0x00 /* extension code not received */ +#define IIC0_EXTCODE_RECEIVED 0x20 /* extension code received */ + +/* Detection of matching addresses (COI0) */ +#define IIC0_ADDRESSMATCH 0x10 +#define IIC0_ADDRESS_NOTMATCH 0x00 /* addresses do not match */ +#define IIC0_ADDRESS_MATCH 0x10 /* addresses match */ + +/* Detection of transmit/receive status (TRC0) */ +#define IIC0_STATUS 0x08 +#define IIC0_STATUS_RECEIVE 0x00 /* receive status */ +#define IIC0_STATUS_TRANSMIT 0x08 /* transmit status */ + +/* Detection of acknowledge signal (ACKD0) */ +#define IIC0_ACKDETECTION 0x04 +#define IIC0_ACK_NOTDETECTED 0x00 /* ACK signal was not detected */ +#define IIC0_ACK_DETECTED 0x04 /* ACK signal was detected */ + +/* Detection of start condition (STD0) */ +#define IIC0_STARTDETECTION 0x02 +#define IIC0_START_NOTDETECTED 0x00 /* start condition not detected */ +#define IIC0_START_DETECTED 0x02 /* start condition detected */ + +/* Detection of stop condition (SPD0) */ +#define IIC0_STOPDETECTION 0x01 +#define IIC0_STOP_NOTDETECTED 0x00 /* stop condition not detected */ +#define IIC0_STOP_DETECTED 0x01 /* stop condition detected */ + +/* + IIC Flag Register 0 (IICF0) +*/ +/* STT0 clear flag (STCF) */ +#define IIC0_STARTFLAG 0x80 +#define IIC0_STARTFLAG_GENERATE 0x00 /* generate start condition */ +#define IIC0_STARTFLAG_UNSUCCESSFUL 0x80 /* start condition generation unsuccessful */ + +/* IIC bus status flag (IICBSY) */ +#define IIC0_BUSSTATUS 0x40 +#define IIC0_BUS_RELEASE 0x00 /* bus release status */ +#define IIC0_BUS_COMMUNICATION 0x40 /* bus communication status */ + +/* Initial start enable trigger (STCEN) */ +#define IIC0_STARTWITHSTOP 0x02 +#define IIC0_START_WITHSTOP 0x00 /* generation of a start condition without detecting a stop condition */ +#define IIC0_START_WITHOUTSTOP 0x02 /* generation of a start condition upon detection of a stop condition */ + +/* Communication reservation function disable bit (IICRSV) */ +#define IIC0_RESERVATION 0x01 +#define IIC0_RESERVATION_ENABLE 0x00 /* enable communication reservation */ +#define IIC0_RESERVATION_DISABLE 0x01 /* disable communication reservation */ + +/* + IIC clock selection register 0 (IICCL0) +*/ +#define IICCL0_INITIALVALUE 0x00 +/* Detection of SCL0 pin level (CLD0) */ +#define IIC0_SCLLEVEL 0x20 +#define IIC0_SCL_LOW 0x00 /* clock line at low level */ +#define IIC0_SCL_HIGH 0x20 /* clock line at high level */ + +/* Detection of SDA0 pin level (DAD0) */ +#define IIC0_SDALEVEL 0x10 +#define IIC0_SDA_LOW 0x00 /* data line at low level */ +#define IIC0_SDA_HIGH 0x10 /* data line at high level */ + +/* Operation mode switching (SMC0) */ +#define IIC0_OPERATIONMODE 0x08 +#define IIC0_MODE_STANDARD 0x00 /* operates in standard mode */ +#define IIC0_MODE_HIGHSPEED 0x08 /* operates in high-speed mode */ + +/* Digital filter operation control (DFC0) */ +#define IIC0_DIGITALFILTER 0x04 +#define IIC0_FILTER_OFF 0x00 /* digital filter off */ +#define IIC0_FILTER_ON 0x04 /* digital filter on */ + +/* Operation mode switching (CL01, CL00) */ +#define IIC0_CLOCKSELECTION 0x03 + +/* Combine of (SMC0, CL01, CL00)*/ +#define IIC0_CLOCK0 0x00 +#define IIC0_CLOCK1 0x01 +#define IIC0_CLOCK2 0x02 +#define IIC0_CLOCK3 0x03 +#define IIC0_CLOCK4 0x08 +#define IIC0_CLOCK5 0x09 +#define IIC0_CLOCK6 0x0a +#define IIC0_CLOCK7 0x0b + +/* + IIC function expansion register 0 (IICX0) +*/ +/* IIC clock expension (CLX0) */ +#define IIC0_CLOCKEXPENSION 0x01 +#define IIC0_EXPENSION0 0x00 +#define IIC0_EXPENSION1 0x01 + +/* Operation clock (CLX0, SMC0, CL01, CL00) + | IIC0_EXPENSION0 | IIC0_EXPENSION1 | +------------|-------------------|-------------------|---------------------- +IIC0_CLOCK0 | fprs/2 | prohibited | selection clock(fw) + | fprs/88 | | transfer clock + | normal | | mode +------------|-------------------|-------------------|---------------------- +IIC0_CLOCK1 | fprs/2 | prohibited | selection clock(fw) + | fprs/172 | | transfer clock + | normal | | mode +------------|-------------------|-------------------|---------------------- +IIC0_CLOCK2 | fprs/2 | prohibited | selection clock(fw) + | fprs/344 | | transfer clock + | normal | | mode +------------|-------------------|-------------------|---------------------- +IIC0_CLOCK3 |prohibited/fexscl0 | prohibited | selection clock(fw) + | fw/66 | | transfer clock + | normal | | mode +------------|-------------------|-------------------|---------------------- +IIC0_CLOCK4 | fprs/2 | fprs/2 | selection clock(fw) + | fprs/48 | fprs/24 | transfer clock + | high speed | high speed | mode +------------|-------------------|-------------------|---------------------- +IIC0_CLOCK5 | fprs/2 | fprs/2 | selection clock(fw) + | fprs/48 | fprs/24 | transfer clock + | high speed | high speed | mode +------------|-------------------|-------------------|---------------------- +IIC0_CLOCK6 | fprs/4 | fprs/4 | selection clock(fw) + | fprs/96 | fprs/48 | transfer clock + | high speed | high speed | mode +------------|-------------------|-------------------|---------------------- +IIC0_CLOCK7 |prohibited/fexscl0 | prohibited | selection clock(fw) + | fw/18 | | transfer clock + | high speed | | mode +------------|-------------------|-------------------|---------------------- +*/ + +#define ADDRESS_COMPLETE 0x80 +#define IIC_MASTER_FLAG_CLEAR 0x00 + +#endif diff --git a/tags/2.19_SDK4(3rdNUP)/incs.h b/tags/2.19_SDK4(3rdNUP)/incs.h new file mode 100644 index 0000000..014e6f2 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/incs.h @@ -0,0 +1,43 @@ +#ifndef _WIN32 +#pragma SFR +#pragma di +#pragma ei +#pragma nop +#pragma stop +#pragma halt +#endif + +#ifndef _WIN32 +#pragma section @@CODE ROM_CODE +//#pragma section @@CNST ROM_CNST +#endif + +#ifdef _WIN32 +// VC̐Ԑǂɂ +#include "sim/simOnWin.h" +# endif + + + +//========================================================= +#ifndef _incs_h_ +#define _incs_h_ + +// v_pc_ƂŐ؂ւĂ܂ +#define _mcu_ + +#include "jhl_defs.h" +#include "user_define.h" + +#include "hal.h" + +#include "bsr_system.h" +#include "renge\renge.h" + +#include "vreg_ctr.h" + +#include "util_funcs.h" + +//========================================================= + +#endif diff --git a/tags/2.19_SDK4(3rdNUP)/incs_loader.h b/tags/2.19_SDK4(3rdNUP)/incs_loader.h new file mode 100644 index 0000000..79d921d --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/incs_loader.h @@ -0,0 +1,40 @@ +#ifndef _WIN32 +#pragma SFR +#pragma di +#pragma ei +#pragma nop +#pragma stop +#pragma halt + + +#pragma section @@CODE LDR_CODE +#pragma section @@CODEL LDR_CODL + +//#pragma section @@R_INIT FSL_RINT // ƃX^[gAbv[`l +//#pragma section @@CNST FSL_CNST // ZbgĂȂ +#pragma section @@CNSTL LDR_CNSL + +#endif + +# ifdef _WIN32 +// VC̐Ԑǂɂ +#include "sim/simOnWin.h" +# endif + + +//========================================================= +#include "jhl_defs.h" +#include "user_define.h" + +#include "hal.h" + +#include "bsr_system.h" +#include "renge\renge.h" + +#include "vreg_ctr.h" +#include "vreg_twl.h" + + +//========================================================= +void firm_update( ); +void firm_restore( ); diff --git a/tags/2.19_SDK4(3rdNUP)/ini_VECT.c b/tags/2.19_SDK4(3rdNUP)/ini_VECT.c new file mode 100644 index 0000000..84da25c --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/ini_VECT.c @@ -0,0 +1,347 @@ +/* ======================================================== + 荞݃xN^e[u + $Id$ + ======================================================== */ + +#ifndef _WIN32 + +#pragma nop + +#endif + +#include "config.h" + +#ifndef _WIN32 + +#ifdef _WDT_CHECK_ +#pragma interrupt INTWDTI fn_intwdti // wdt debug +#endif + +//#pragma interrupt INTLVI fn_intlvi // gp + +//#pragma interrupt INTP0 intp0_slp // SLP (CPUAv) |[O +//#pragma interrupt INTP1 fn_intp1 // (I2C) +//#pragma interrupt INTP2 fn_intp2 // (I2C) +//#pragma interrupt INTP3 fn_intp3 // +#pragma interrupt INTP4 intp4_extdc // EXTDC, doffN̂݁Bʏ̓|[O +#pragma interrupt INTP5 intp5_shell // SHELL_CLOSE, doffN̂݁Bʏ̓|[O +#pragma interrupt INTP6 intp6_PM_irq // CODECoRŋPMICւ̃R}h + +//#ifdef _MCU_BSR_ // 荞݂͎̂̂g܂ +//#pragma interrupt INTP21 intp21_RFTx // dgMpX +//#else +//#pragma interrupt INTP7 intp21_RFTx +//#endif + + +/* + + accero +#ifdef _MCU_BSR_ +#pragma interrupt INTP23 intp23_ACC_ready RB3 // xZTAf[^ +#endif +*/ + +//#pragma interrupt INTCMP0 fn_intcmp0 +//#pragma interrupt INTCMP1 fn_intcmp1 +//#pragma interrupt INTDMA0 fn_intdma0 +#pragma interrupt INTDMA1 int_dma1 + +//#pragma interrupt INTST0 fn_intst0 +/* #pragma interrupt INTCSI00 fn_intcsi00 */ +//#pragma interrupt INTSR0 fn_intsr0 +/* #pragma interrupt INTCSI01 fn_intcsi01 */ +//#pragma interrupt INTSRE0 fn_intsre0 + +//#pragma interrupt INTST1 fn_intst1 +/* #pragma interrupt INTCSI10 fn_intcsi10 */ +#pragma interrupt INTIIC10 int_iic10 +//#pragma interrupt INTSR1 fn_intsr1 +//#pragma interrupt INTSRE1 fn_intsre1 + + +/* +// TS̓}U{ŃeRAWM͉H}eRŌLjvc +#pragma interrupt INTIICA1 int_iic_ctr RB1 + +#pragma interrupt INTIICA0 int_iic_twl RB2 +*/ + +//#pragma interrupt INTTM00 fn_inttm00 +//#pragma interrupt INTTM01 fn_inttm01 +//#pragma interrupt INTTM02 fn_inttm02 +//#pragma interrupt INTTM03 fn_inttm03 + +#pragma interrupt INTAD int_adc +#pragma interrupt INTRTC int_rtc +#pragma interrupt INTRTCI int_rtc_int +#pragma interrupt INTKR int_kr +//#pragma interrupt INTMD fn_intmd + +//#pragma interrupt INTTM04 fn_inttm04 +//#pragma interrupt INTTM05 fn_inttm05 +//#pragma interrupt INTTM06 fn_inttm06 +//#pragma interrupt INTTM07 fn_inttm07 + + +//#define _irq_debug_ +/****************************************************/ +/* gp̃_~[֐` */ +/****************************************************/ +#ifdef _WDT_CHECK_ +__interrupt void fn_intwdti( ) +{ + while( 1 ) + { + NOP(); + } +} +#endif + +#ifdef _irq_debug_ +__interrupt void fn_intlvi( ) +{ + while( 1 ) + { + NOP(); + } +} + +__interrupt void fn_intp0(){ +while( 1 ) + { + NOP(); + } +} + +__interrupt void fn_intp1( ) +{ + while( 1 ) + { + NOP(); + } +} // +__interrupt void fn_intp2( ) +{ + while( 1 ) + { + NOP(); + } +} + +__interrupt void fn_intp3( ) +{ + while( 1 ) + { + NOP(); + } +} + +__interrupt void intp21_RFTx( ) +{ + while( 1 ) + { + NOP(); + } +} + + +//__interrupt void fn_intp4(){ while(1){} } // pm.c +//__interrupt void fn_intp5(){ while(1){} } // pm.c +//__interrupt void fn_intp6(){ while(1){} } // pm.c +//__interrupt void fn_intp7(){ while(1){} } // led.c +//__interrupt void fn_intp21(){ while(1){} } // led.c + +__interrupt void fn_intcmp0( ) +{ + while( 1 ) + { + NOP(); + } +} + +__interrupt void fn_intcmp1( ) +{ + while( 1 ) + { + NOP(); + } +} + +__interrupt void fn_intdma0( ) +{ + while( 1 ) + { + NOP(); + } +} + +//__interrupt void fn_intdma1(){} // i2c_mcu.cɂ + +__interrupt void fn_intst0( ) +{ + while( 1 ) + { + NOP(); + } +} + +/* __interrupt void fn_intcsi00(){} */ +__interrupt void fn_intsr0( ) +{ + while( 1 ) + { + NOP(); + } +} + +/* __interrupt void fn_intcsi01(){} */ +__interrupt void fn_intsre0( ) +{ + while( 1 ) + { + NOP(); + } +} + +__interrupt void fn_intst1( ) +{ + while( 1 ) + { + NOP(); + } +} + +/* __interrupt void fn_intcsi10(){} */ +//__interrupt void fn_intiic10(){ while(1){} } +__interrupt void fn_intsr1( ) +{ + while( 1 ) + { + NOP(); + } +} + +__interrupt void fn_intsre1( ) +{ + while( 1 ) + { + NOP(); + } +} + +//__interrupt void fn_intiica(){} // i2c.cɂ +/* __interrupt void fn_inttm00(){} *//* sub.cɂĒ` */ +__interrupt void fn_inttm01( ) +{ + while( 1 ) + { + NOP(); + } +} + +__interrupt void fn_inttm02( ) +{ + while( 1 ) + { + NOP(); + } +} +__interrupt void fn_inttm03( ) +{ + while( 1 ) + { + NOP(); + } +} + +//__interrupt void fn_intad(){ while(1){} } // adc.c +__interrupt void fn_intrtc( ) +{ + while( 1 ) + { + NOP(); + } +} + +//__interrupt void int_rtcint(){} // rtc.cɂ +//__interrupt void fn_intkr(){} // main.c +__interrupt void fn_intmd( ) +{ + while( 1 ) + { + NOP(); + } +} + +__interrupt void fn_inttm04( ) +{ + while( 1 ) + { + NOP(); + } +} + +__interrupt void fn_inttm05( ) +{ + while( 1 ) + { + NOP(); + } +} + +__interrupt void fn_inttm06( ) +{ + while( 1 ) + { + NOP(); + } +} + +__interrupt void fn_inttm07( ) +{ + while( 1 ) + { + NOP(); + } +} + +#endif + + + +/* ======================================================== + L[^[荞 + ======================================================== */ +__interrupt void int_kr( ) +{ + // N邾 +} + + + +/* ======================================================== + ext dc + ======================================================== */ +__interrupt void intp4( ) +{ + // N邾 +} + + + +/* ======================================================== + shell close + ======================================================== */ +__interrupt void intp5( ) +{ + // N邾 +} + + +#else + +#include "sim/sim_interrupt_decrare.c" + +#endif + diff --git a/tags/2.19_SDK4(3rdNUP)/jhl_defs.h b/tags/2.19_SDK4(3rdNUP)/jhl_defs.h new file mode 100644 index 0000000..9a21ab3 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/jhl_defs.h @@ -0,0 +1,25 @@ +#ifndef __jhl_defs_h__ +#define __jhl_defs_h__ + +typedef unsigned char u8; +typedef signed char s8; +typedef unsigned short u16; +typedef signed short s16; + +typedef unsigned short ux16; +typedef signed short sx16; + +#define true 1 +#define false 0 + + +#define set_bit( cond, reg, pos ) \ +{ \ + if( cond ){ \ + reg |= pos; \ + }else{ \ + reg &= ~pos; \ + } \ +} + +#endif diff --git a/tags/2.19_SDK4(3rdNUP)/kanaria.asm b/tags/2.19_SDK4(3rdNUP)/kanaria.asm new file mode 100644 index 0000000..9deaddb --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/kanaria.asm @@ -0,0 +1,12 @@ +PUBLIC _END_1,_END_2,_END_3,_END_4 + +@@DATA DSEG BASEP +_END_1: +@@INIT DSEG BASEP +_END_2: +@@INITL DSEG UNIT64KP +_END_3: +@@DATAL DSEG UNIT64KP +_END_4: +; +END diff --git a/tags/2.19_SDK4(3rdNUP)/kanaria_c.c b/tags/2.19_SDK4(3rdNUP)/kanaria_c.c new file mode 100644 index 0000000..bbb5ec7 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/kanaria_c.c @@ -0,0 +1,18 @@ +/********************************************//** + X^bN̍Ō̒lǂ + + X^bNj󌟍̂ + + $Id$ + ***********************************************/ +#include "incs.h" + +extern unsigned char END_4; + +void f() +{ + unsigned char *tp; + + tp = &END_4; +} + diff --git a/tags/2.19_SDK4(3rdNUP)/led.c b/tags/2.19_SDK4(3rdNUP)/led.c new file mode 100644 index 0000000..1892658 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/led.c @@ -0,0 +1,374 @@ +/* ======================================================== + LED.c + + $Id: LED.c 418 2011-09-22 01:35:37Z n2232 $ + ======================================================== */ +#ifndef _WIN32 + +#pragma sfr + +#endif + +#include "incs.h" +#include "led.h" + + + +// ======================================================== +// TPS0 +#define BIT_PRS012 ( 1 << 2 ) +#define BIT_PRS002 ( 1 << 6 ) + +// TMR0 +#define BIT_CKS0 15 +#define BIT_CCS0 12 +#define BIT_MASTER0 11 +#define BIT_STS0 8 +#define BIT_CIS0 6 +#define BIT_MD123 1 +#define BIT_MD0 0 + + + +// ======================================================== +bit ledInitialized; + + +// m点LED +uni_info_LED info_LED; // p^[f[^ +bit info_led_off; // doffȂǁAtO +bit info_led_override; // drcʋ͏_ŏ㏑rbg + +// wifi led Xe[g +static u8 state_wifi_tx; +static u8 flag_wifi_TX; + + +// [dۂ +extern bit BT_IN_CHG_delayed_n; + + +// ======================================================== +#define led_fade_to( now, goal ) now = fade_to( now, goal ) + + +/********************************************//** + now goal ɂȂ܂ inc / dec BxĂԂƃOf[V + + Ƃ肠AXebvŒ + ***********************************************/ +u8 fade_to( u8 now, u8 goal ) +{ + if( now != goal ) + { + if( now > goal ) + { + now --; + } + else + { + now ++; + } + } + return( now ); +} + + + + +/********************************************//** + XlăOf[V + ***********************************************/ +#define led_fade_to2( led, status ) \ + led = fade_to2( status ) + + +u8 fade_to2( st_LED_dim_status* status ) +{ + if( status->now != status->to ) + { + if( abs(( status->to - status->now )) > abs(status->delta) ) + { + status->now += status->delta; + } + else + { + status->now = status->to; + } + } + return( status->now / 128 ); +} + + + + +/********************************************//** + LED̏ + + HW^C}[ĝł̏s + ***********************************************/ +void LED_init( ) +{ +/** + PWM̃ZbgAƂ肠S + + }X^`lFO@(P01:/reset2)@}X^[͋`lłȂ + X[u@@@@P@rksnB(Rc kdcH) + @@@@@@@@Q@J + @@@@@@@@R@WiFi + @@@@@@@@S@(s͂qsb32kHz out Ɏgp) + @@@@@@@@T@[d + @@@@@@@@U@d k + @@@@@@@@V@d g + */ + TAU0EN = 1; + TPS0 = BIT_PRS012 | BIT_PRS002; // }X^[NbNCK01,8M/2 /2^4 = 250kHz + + TMR00 = + 1 << BIT_CKS0 | 0 << BIT_CCS0 | 1 << BIT_MASTER0 | 0 << BIT_STS0 | 0 + << BIT_CIS0 | 0 << BIT_MD123 | 1 << BIT_MD0; + TMR01 = TMR02 = TMR03 = TMR04 = TMR05 = TMR06 = TMR07 = + 1 << BIT_CKS0 | 0 << BIT_CCS0 | 0 << BIT_MASTER0 | 4 << BIT_STS0 | 0 + << BIT_CIS0 | 4 << BIT_MD123 | 1 << BIT_MD0; + ISC = 0; + TOM0 = 0x00FE; // o̓[hB4PWMo͂Ȃ1ɂȂTO5ȍ~ɃNbN͂Ȃ + + TOL0 = 0x0000; // o͂𔽓]邩tO + + TO0 = 0x0000; // ^C}[쒆ŁA^C}[o͂ɂĂȂƂ̃s̃b`B^C}[o͂gȂȂO + TOE0 = 0x00EE; // TOx^C}[W[H + + TS0 = 0x00EF; // Jn + + TDR00 = LED_BRIGHT_MAX - 1; // 10bit + +// system_status.info_fullcolor = 1; // m点1dlp~ + + if( system_status.reboot ) + { + vreg_ctr[VREG_C_LED_POW] = LED_POW_ILM_AUTO; + LED_duty_pow_blu = LED_BRIGHT_MAX; + } + info_led_off = false; + ledInitialized = true; +} + + +/********************************************//** + LED̒~B + + HW^C}[̒~ + ***********************************************/ + +void LED_stop( ) +{ + TT0 = 0x00EF; // Ē~iȂƂ߁j + TOE0 = 0x0000; // TOx^C}[W[H(GPIOɂȂ) + TAU0EN = 0; + LED_pow_red = 0; + LED_CAM = 0; + + LED_duty_notify_red = 0; + LED_duty_notify_blu = 0; + LED_duty_notify_grn = 0; + LED_pow_red = 0; + LED_CAM = 0; + + WIFI_txLatch = 0; + flag_wifi_TX = 0; + state_wifi_tx = 0; + + ledInitialized = false; +} + + + + +/********************************************//** + WiFi LED ̍XV + + - WX^̐ݒ on / off + - off łĂW[̑MpX -_-_-_--------_-_-_-------̃p^[_ + ***********************************************/ +void tsk_led_wifi( ) +{ + static u8 task_interval; + + if( task_interval-- != 0 ) + { + return; + } + + // MpX̃b` + if( WIFI_txLatch ) // 荞݃tÔ̂gĂ܂ + { + WIFI_txLatch = 0; + flag_wifi_TX = 1; + } + + if( flag_wifi_TX != 0 ) + { + vreg_ctr[ VREG_C_STATUS_1 ] |= REG_BIT_WIFI_TX; + // Mp^[ + switch ( state_wifi_tx ) + { + case ( 1 ): + case ( 3 ): + case ( 5 ): + LED_duty_WiFi = 0; + break; + default: + LED_duty_WiFi = vreg_ctr[VREG_C_LED_BRIGHT]; + } + state_wifi_tx ++; + if( state_wifi_tx == 32 ) // _ŌA_ĂԂ̒ + { + state_wifi_tx = 0; + flag_wifi_TX = 0; + } + task_interval = 25; + return; + } + else + { + task_interval = 30; + // MtO҂ + vreg_ctr[ VREG_C_STATUS_1 ] &= ~REG_BIT_WIFI_TX; + + if( vreg_ctr[VREG_C_LED_WIFI] == WIFI_LED_OFF ) + { + LED_duty_WiFi = 0; + return; + } + else + { + if( LED_duty_WiFi == vreg_ctr[VREG_C_LED_BRIGHT] ) + { + return; + } + else if( LED_duty_WiFi < vreg_ctr[VREG_C_LED_BRIGHT] ) + { + LED_duty_WiFi ++; + } + else + { + LED_duty_WiFi --; + } + } + task_interval = 3; + return; + } +} + + + + +bit info_led_pattern_updated; +/********************************************//** + m点LED + + tF[hAEgvZ + ***********************************************/ +static void calc_info_led_fade_out( st_LED_dim_status* tgt_led ) +{ + tgt_led -> to = 0; + tgt_led -> delta = ( 0 - tgt_led -> now ) / 64; +} + + +/********************************************//** + m点LED + + Of[VvZ + ***********************************************/ +static void calc_info_led_next_frame( st_LED_dim_status* tgt_led, u8 color ) +{ + tgt_led -> to = color * 128; + // Of[Ṽf^vZ + tgt_led -> delta = (( tgt_led -> to - tgt_led -> now ) ) / info_LED.info_LED.fade_time; +} + + +/********************************************//** + m点LED + ***********************************************/ +void tsk_led_notify( ) +{ + static u8 time_to_next_frame; + static u8 frame; + static u8 loops; + static st_LED_dim_status LED_dim_status_info_R, LED_dim_status_info_G, LED_dim_status_info_B; + + if( info_led_override ) + { + // dr؂ꂪD悷 + return; + } + + if( system_status.pwr_state == ON_TRIG ) + { + LED_duty_notify_blu = 0; + LED_duty_notify_red = 0; + LED_duty_notify_grn = 0; + LED_dim_status_info_R.now = 0; + LED_dim_status_info_G.now = 0; + LED_dim_status_info_B.now = 0; + } + + if( info_led_off ) // doffȂNjoff + { + // tF[hAEg + calc_info_led_fade_out( &LED_dim_status_info_R ); + calc_info_led_fade_out( &LED_dim_status_info_G ); + calc_info_led_fade_out( &LED_dim_status_info_B ); + } + else + { + // ʏ^] + if( info_led_pattern_updated ) + { + info_led_pattern_updated = false; + vreg_ctr[ VREG_C_LED_NOTIFY_FLAG ] &= ~REG_BIT_IN_LOOP; + frame = 0; // Ə + time_to_next_frame = 0; + } + else + { + // ̃t[ɐi߂H + if( time_to_next_frame == 0 ) + { + time_to_next_frame = info_LED.info_LED.term; + + if( frame >= NOTIFY_LED_TERM -1 ) + { + vreg_ctr[ VREG_C_LED_NOTIFY_FLAG ] |= REG_BIT_IN_LOOP; + if( info_LED.info_LED.last_loop != 255 ) // 255:[v + { + loops ++; + if( loops > info_LED.info_LED.last_loop ) + { + frame = 0; + } + } + } + else + { + frame = (( frame + 1 ) & 0x1F ); // Ń}XNĂȂƍŏIt[`擪Ԃ̃OfȂ + vreg_ctr[ VREG_C_LED_NOTIFY_FLAG ] &= ~REG_BIT_IN_LOOP; + loops = 0; + } + + // Of[VvZ + calc_info_led_next_frame( &LED_dim_status_info_R, info_LED.info_LED.red[frame] ); + calc_info_led_next_frame( &LED_dim_status_info_G, info_LED.info_LED.grn[frame] ); + calc_info_led_next_frame( &LED_dim_status_info_B, info_LED.info_LED.blu[frame] ); + + } + time_to_next_frame --; + } + } + + led_fade_to2( LED_duty_notify_red, &LED_dim_status_info_R ); + led_fade_to2( LED_duty_notify_grn, &LED_dim_status_info_G ); + led_fade_to2( LED_duty_notify_blu, &LED_dim_status_info_B ); +} diff --git a/tags/2.19_SDK4(3rdNUP)/led.h b/tags/2.19_SDK4(3rdNUP)/led.h new file mode 100644 index 0000000..ce8541f --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/led.h @@ -0,0 +1,142 @@ +#ifndef __led__ +#define __led__ + + + +// ==================================== + +//#define LED_CHARGE P2.4 // PMŒ` + +// LED_DUTY +#define LED_duty_pow_blu TDR06 +#define LED_duty_WiFi TDR03 + +#define LED_duty_3d TDR01 +#define LED_duty_notify_red TDR07 +#define LED_duty_notify_grn TDR05 +#define LED_duty_notify_blu TDR02 + +// dutyς܂ +#ifndef _WIN32 +#define LED_pow_red P4.2 +#define LED_CAM P7.5 +#else +#define LED_pow_red mcuRegP[ _P4_2 ] +#define LED_CAM mcuRegP[ _P7_5 ] +#endif + +#define NOTIFY_LED_TERM 32 + + +#define LED_BRIGHT_MAX 0x00FF + +// ==================================== +#define WIFI_txLatch PIF21 // dgMpX + + + +// ==================================== +enum LED_ILUM_MODE +{ + LED_POW_ILM_AUTO = 0, + LED_POW_ILM_ON, + LED_POW_ILM_SLEEP, + LED_POW_ILM_OFF, + LED_POW_ILM_ONLY_RED, + LED_POW_ILM_ONLY_BLUE, + LED_POW_ILM_FORCE_BT_EMPTY +}; + + +enum LED_MODE_3D +{ + LED_3D_ILM_OFF = 0, + LED_3D_ILM_ON +}; + + +// VREG_C_WIFI_LED +enum WIFI_LED_MODE +{ + WIFI_LED_OFF = 0, + WIFI_LED_ON +}; + + +// VREG_C_WIFI_NOTIFY +enum NOTIFY_LED_MODE +{ + NOTIFY_LED_OFF = 0, + NOTIFY_LED_ON, + NOTIFY_LED_PTN0, + NOTIFY_LED_PTN1, + NOTIFY_LED_PTN2 +}; + + +// VREG_C_CAM_LED +enum CAM_LED_MODE +{ + CAM_LED_OFF = 0, + CAM_LED_BLINK, + CAM_LED_ON, + CAM_LED_BY_TWL, + CAM_LED_ON_PLUSE, + CAM_LED_OFF_PLUSE +}; + + + +// m点LED֌W // +typedef struct _st_info_LED +{ + u8 term; // 1t[`bNH + u8 fade_time; // `bNŎ̃t[̐FɒB邩 + u8 last_loop; // ŏIt[JԂH + u8 resv1; + u8 red[32]; + u8 grn[32]; + u8 blu[32]; +}st_info_LED; + +typedef union _uni_info_LED +{ + st_info_LED info_LED; + u8 bindata[ sizeof( st_info_LED ) ]; +}uni_info_LED; + +extern uni_info_LED info_LED; + + +// LED _Ō // +typedef struct _st_led_red_batt_empty +{ + u8 dats[4]; +}st_led_red_batt_empty; + +extern st_led_red_batt_empty led_red_batt_empty; + + +/* + m点LED +*/ +typedef struct _st_LED_dim_status +{ + sx16 to; + sx16 delta; + sx16 now; // _ȉoĂȂĂ͂ȂȂ +}st_LED_dim_status; + + + +// ==================================== +void LED_init( ); +void LED_stop( ); + + +// ==================================== +extern bit ledInitialized; +extern bit info_led_override; + + +#endif diff --git a/tags/2.19_SDK4(3rdNUP)/led_cam.c b/tags/2.19_SDK4(3rdNUP)/led_cam.c new file mode 100644 index 0000000..7d4a1eb --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/led_cam.c @@ -0,0 +1,156 @@ +/******************************************************//** + LED_Cam TO02 + + BLINK,*_PLUSE ̎́A1͕K̏ԂɂȂ܂B + + ̊Ԃ OFFBLINK ȂǂƁAOFF܂B + + $Id$ + *********************************************************/ +#ifndef _WIN32 + +#pragma sfr + +#endif + +#include "incs.h" +#include "led.h" +#include "vreg_twl.h" + + +// ======================================================== +static u8 state_led_cam = 0; +static u16 task_interval; + +bit cam_led_update; + + + +// ======================================================== +static void cam_led_twl(); + + + + +/********************************************//** + C^[os^XNƁAtwlWX^ւ݂̏̂QJĂ΂܂B + ***********************************************/ +void tsk_led_cam( ) +{ + DI_wt_chk(); // WX^ւ݂̏ŋN邱Ƃ邽 + if( !cam_led_update ) + { + if( task_interval != 0 ) + { + task_interval --; + EI(); + return; + } + } + + cam_led_update = false; // TWL ̃uNݒiꔭ_ĵ + EI(); + + if( system_status.pwr_state == SLEEP ) // sleepA + { + LED_CAM = 0; + state_led_cam = 0; + } + else + { + // uN̂悤ɑ҂ƂȊO͖TN + // (WX^̕ύXɂɔ) + switch ( vreg_ctr[VREG_C_LED_CAM] ) + { + case ( CAM_LED_OFF ): + default: + LED_CAM = 0; + state_led_cam = 0; + break; + + case ( CAM_LED_ON ): + LED_CAM = 1; + state_led_cam = 0; + break; + + case ( CAM_LED_BLINK ): + if( state_led_cam == 0 ) + { + LED_CAM = 1; + state_led_cam = 1; + } + else + { + LED_CAM = 0; + state_led_cam = 0; + } + task_interval = 250; + break; + + case ( CAM_LED_ON_PLUSE ): + if( state_led_cam == 0 ) + { + LED_CAM = 1; + state_led_cam = 1; + task_interval = 250; + } + else + { + vreg_ctr[VREG_C_LED_CAM] = CAM_LED_OFF; + } + break; + + case ( CAM_LED_OFF_PLUSE ): + if( state_led_cam == 0 ) + { + LED_CAM = 0; + state_led_cam = 1; + task_interval = 250; + } + else + { + vreg_ctr[VREG_C_LED_CAM] = CAM_LED_ON; + } + break; + + case( CAM_LED_BY_TWL ): + cam_led_twl(); + } + } // if( system_status.pwr_state == sleep ) ... else ... +} + + +/********************************************//** + TWLJLED𑀍삳 + ***********************************************/ +static void cam_led_twl() +{ + // TWL݊ // + switch ( vreg_twl[ REG_TWL_INT_ADRS_CAM ] ){ + case( TWL_CAMLED_OFF ): + LED_CAM = 0; + state_led_cam = 0; + break; + + case( TWL_CAMLED_BLINK ): + if( state_led_cam == 0 ) + { + LED_CAM = 1; + state_led_cam = 1; + } + else + { + LED_CAM = 0; + state_led_cam = 0; + } + task_interval = (u8)( 600 / SYS_INTERVAL_TICK ) + 250; + break; + + case( TWL_CAMLED_ON ): + case( TWL_CAMLED_DEF_ON ): + default: + LED_CAM = 1; + state_led_cam = 1; + break; + } +} diff --git a/tags/2.19_SDK4(3rdNUP)/led_pow.c b/tags/2.19_SDK4(3rdNUP)/led_pow.c new file mode 100644 index 0000000..4e52da5 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/led_pow.c @@ -0,0 +1,296 @@ +/* ======================================================== + dLED + LED_POW_B,R 6,7 + + TDR00@(0x03FFBTPS0250kHzŃJEgAbvB10bitȂ250HzʂɂȂ) + TDR0x@Duty 0ŏATDR00( =0x03FFȏ)œ_łB + $Id$ + ======================================================== */ + +/* ======================================================== + enum pwr_state_{ + OFF_TRIG = 0, + ON_CHECK, + ON_TRIG, + ON, + SLEEP +}; + +enum LED_ILUM_MODE{ + LED_POW_ILM_AUTO, + LED_POW_ILM_ON, + LED_POW_ILM_SLEEP, + LED_POW_ILM_CEOFF +}; + ======================================================== */ +#ifndef _WIN32 + +#pragma sfr + +#endif + +#include "incs.h" +#include "led.h" +#include "pm.h" + +// ======================================================== +// X[vł̃e[uB}WB +const u8 LED_PTN_SLEEP[] = { + 25, 38, 52, 68, 83, 98, 110, 119, + 125, 128, 128, 125, 119, 110, 98, 83, + 68, 52, 38, 25, 16, 10, 8, 8, + 8, 8, 8, 8, 8, 8, 10, 16 + }; + + +// LED̓drcLED̓_Ńp^[ +st_led_red_batt_empty led_red_batt_empty = { 0x55, 0x55, 0x55, 0x55 }; +#define LED_SLEEP_FRAME_LEN 71 +#define LED_SLEEP_DIM_LEN 71 +#define LED_SLEEP_FRAME_NUM 32 + + + +// ======================================================== +static void led_pow_normal( ); +static void led_pow_sleep( ); +static void led_pow_bt_empty(); +static u8 led_pow_batt_low(); + +#define led_fade_to( now, goal ) now = fade_to( now, goal ) +extern u8 fade_to( u8 now, u8 goal ); + +#define led_fade_to2( led, status ) led = fade_to2( status ) +extern u8 fade_to2( st_LED_dim_status* status ); + + + +// ======================================================== +// dLED̃X[vp^[̃Xe[^X +static u8 time_to_next_frame_sleep = LED_SLEEP_FRAME_LEN; +static u8 frame_sleep; +static st_LED_dim_status LED_dim_status_sleep; + +extern bit ledInitialized; +extern bit BT_IN_CHG_delayed_n; + + + +/********************************************//** + dLED + + {Iɂ́A + + 쎞A + - drc > 10% “_imaster_brightness̖邳j + - 5% ԓ_ (100%_AHWŒs) + - ȉ ԓ_Am点LEDԂBAA_v^h5%`̓ + + X[v + - drc > 10% “_imaster_brightness̖邳j + - 쎞Ɠ + + X[vɂ͎Ő؂ւȂ̂ŁAWX^삪Kvłi̕s悢ł傤Hj + + ̃p^[͐Ŷ߁B + ***********************************************/ +void tsk_led_pow( ) +{ + if( ! ledInitialized ) + { + return; + // ܂ + } + + info_led_override = false; + + switch ( vreg_ctr[VREG_C_LED_POW] ) + { + case ( LED_POW_ILM_AUTO ): + default: + led_pow_normal( ); + break; + + case ( LED_POW_ILM_SLEEP ): + led_pow_sleep( ); + break; + + case ( LED_POW_ILM_ON ): + led_fade_to( LED_duty_pow_blu, vreg_ctr[VREG_C_LED_BRIGHT] ); + LED_pow_red = 0; + break; + + case ( LED_POW_ILM_OFF ): + led_fade_to( LED_duty_pow_blu, 0 ); + LED_pow_red = 0; + break; + + case ( LED_POW_ILM_ONLY_RED ): + LED_duty_pow_blu = 0; + LED_pow_red = 1; + break; + + case ( LED_POW_ILM_ONLY_BLUE ): + LED_duty_pow_blu = LED_BRIGHT_MAX; + LED_pow_red = 0; + break; + + case ( LED_POW_ILM_FORCE_BT_EMPTY ): + led_pow_bt_empty(); + break; + } + + if( system_status.pwr_state == OFF || system_status.pwr_state == ON_CHECK ) + { + LED_pow_red = 0; + info_led_override = false; + } + + if( info_led_override ) + { + LED_duty_notify_blu = 0; + LED_duty_notify_grn = 0; + LED_duty_notify_red = ( LED_pow_red == 0 )? 0 : 255; + } +} + + + +/********************************************//** + ʏ퓮쎞 + + drcʂŁA@ԁԓ_ + ***********************************************/ +static void led_pow_normal( ) +{ + time_to_next_frame_sleep = LED_SLEEP_FRAME_LEN; + frame_sleep = 0; + LED_dim_status_sleep.now = (sx16)LED_duty_pow_blu * 128; + + if( led_pow_batt_low() != 0 ) // Ԃ̓_łĂ܂ + { + return; + // ܂ + } + + // “_ + led_fade_to( LED_duty_pow_blu, vreg_ctr[VREG_C_LED_BRIGHT] ); +} + + + +/********************************************//** + X[vz^p^[ + + drcʂŐԁԓ_łɂ + ***********************************************/ +static void led_pow_sleep( ) +{ + if( led_pow_batt_low() != 0 ) // Ԃ̓_łĂ܂ + { + time_to_next_frame_sleep = LED_SLEEP_FRAME_LEN; + frame_sleep = 0; + LED_dim_status_sleep.now = (sx16)LED_duty_pow_blu * 128; + return; + // ܂ + } + + LED_dim_status_sleep.to = LED_PTN_SLEEP[frame_sleep] * 128; + + // Of[Ṽf^vZ + LED_dim_status_sleep.delta = (( LED_dim_status_sleep.to - LED_dim_status_sleep.now ) ) / LED_SLEEP_DIM_LEN; + led_fade_to2( LED_duty_pow_blu, &LED_dim_status_sleep ); + + // ̃t[ɐi߂H + time_to_next_frame_sleep --; + if( time_to_next_frame_sleep == 0 ) + { + time_to_next_frame_sleep = LED_SLEEP_FRAME_LEN; + + frame_sleep ++; + if( frame_sleep >= LED_SLEEP_FRAME_NUM -1 ) + { + frame_sleep = 0; + } + } +} + + + +/********************************************//** + drȂƂ̋ + +@ԒlF@0@drȂȂ + +@@@@@1@@@@Ȃ̂ŋʃp^[ɂ + ***********************************************/ +static u8 led_pow_batt_low() +{ + if( vreg_ctr[VREG_C_BT_REMAIN] > BATT_TH_LO ) + { + LED_pow_red = 0; + return 0; + // ܂ + } + + if(( vreg_ctr[VREG_C_BT_REMAIN] > BATT_TH_EMPTY ) || !BT_IN_CHG_delayed_n ) + // drcʂ5%i`10%j@܂́Aꖢł[d + { + // ԓ_ + led_fade_to( LED_duty_pow_blu, 0 ); + { + LED_pow_red = 1; + } + + } + else // dr5%@@A_v^Ȃ + { + led_pow_bt_empty(); + } + return 1; +} + + + + +/********************************************//** +@drȂp^[ + +@@wp^[𗬂 + +@@m点㏑ + ***********************************************/ +static void led_pow_bt_empty() +{ + static u8 delay; + static u8 red_blink_poi; + + info_led_override = true; + + // ԓ_ + led_fade_to( LED_duty_pow_blu, 0 ); + + // Ԃ̓_Ńp^[wł + delay ++; + if( delay < 64 ) // t[̕ێԉ҂ + { + return; + } + delay = 0; + + if( led_red_batt_empty.dats[ red_blink_poi / 8 ] & ( 1 << ( red_blink_poi % 8 )) ) + { + LED_pow_red = 1; + } + else + { + LED_pow_red = 0; + } + red_blink_poi ++; + if( red_blink_poi >= 32 ) + { + red_blink_poi = 0; + } +} + + diff --git a/tags/2.19_SDK4(3rdNUP)/loader.c b/tags/2.19_SDK4(3rdNUP)/loader.c new file mode 100644 index 0000000..56a8ebb --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/loader.c @@ -0,0 +1,392 @@ +/* ======================================================== + MCU CTR BSR + 2009/03/30 - + JZp c + + u[g[_[ + zXg̒ʐMƁAȏAt@[̃`FbNsB + + $Id: loader.c 418 2011-09-22 01:35:37Z n2232 $ + ======================================================== */ +#ifndef _WIN32 + +#pragma SFR +#pragma di +#pragma ei +#pragma nop +#pragma stop +#pragma halt +#pragma opc + +#endif +#include "incs_loader.h" + +#include +#include "fsl_user.h" + +#include "i2c_ctr.h" +#include "i2c_mcu.h" +#include "pm.h" +#include "rtc.h" + +#include "reboot.h" + +#include "wdt.h" +#include "magic.h" + + + +#define REG_BIT_RESF_WDT 0x10 +#define REG_BIT_RESF_TRAP 0x80 +#define REG_BIT_RESF_LVI 0x01 + + + +// ======================================================== +#if (FSL_DATA_BUFFER_SIZE>0) +fsl_u08 fsl_data_buffer[FSL_DATA_BUFFER_SIZE]; +#endif + + + +#ifdef FSL_INT_BACKUP +static fsl_u08 fsl_MK0L_bak_u08; /* if (interrupt backup required) */ +static fsl_u08 fsl_MK0H_bak_u08; /* { */ +static fsl_u08 fsl_MK1L_bak_u08; /* reserve space for backup information */ +static fsl_u08 fsl_MK1H_bak_u08; /* of interrupt mask flags */ +static fsl_u08 fsl_MK2L_bak_u08; /* */ +static fsl_u08 fsl_MK2H_bak_u08; /* } */ +#endif + + + +// ======================================================== +void hdwinit(); // static ɂcrt0猩ȂȂ܂BӁI +static void hdwinit2(); +static void chk_platform_type(); +static void chk_firm_broke(); + + +extern void main_loop(); + + +/********************************************//** + * - t@[Abvf[gAWDT̃ZbgA + * - t@[̔jA + * - {̎ނ̎ʁA + * - |[gA + * - ჌xȃytF̏A + * + * main_loop()ĂԁB + ***********************************************/ +void main( ) +{ + while( 1 ) + { + WDT_Restart( ); + + if( RTCEN ) // TRAP(update)ɂgȂBWDTł͗Ȃ + { + system_status.reboot = true; + } + + { + volatile u8 my_resf = RESF; // ǂނƏ + if( ( my_resf & REG_BIT_RESF_WDT ) != 0 ) + { + vreg_ctr[ VREG_C_MCU_STATUS ] |= REG_BIT_STATUS_WDT_RESET; + // set_irq( VREG_C_IRQ0, REG_BIT_IRQ_WDT_RESET ); + // I2C̏ɍs + system_status.reboot = true; + } + else if( ( my_resf & REG_BIT_RESF_TRAP ) != 0 ) // ( FSL_ForceReset, 'r' ) + { + system_status.reboot = true; + } +/* LVIgp + else if(( my_resf & REG_BIT_RESF_LVI ) != 0 ) + { + vreg_ctr[ VREG_C_MCU_STATUS ] |= ( 1 << 2 ); + } +*/ + } +//* ROMǂɂȂȂA]̏RgAEg + if( !system_status.reboot ) + { + // ʏ̓d + // drڑAƑ҂Ă݂(`^O΍) + u16 pwup_delay0; + for( pwup_delay0 = 0xFFFF; pwup_delay0 != 0; pwup_delay0 -- ){;}; + } +//*/ + hdwinit2( ); + +#ifndef _WIN32 + // t@[̐`FbN // + chk_firm_broke(); // ĂAĂȂ +#endif + + // V䔻 + chk_platform_type(); + + // HALfobOZbg + hal_reset(); + hal_update(); + + // RTC + RTC_init( ); // Ńu[g肵ď邩f܂ + + // ʏ^] + main_loop( ); + } +} + + + +/********************************************//** + * }WbNio[`FbNāA삳悤ƂĂt@[jĂȂ`FbN܂B + * + * Ăꍇ̓XgA݁AMCU̓Zbg܂B + ***********************************************/ +static void chk_firm_broke() +{ + u8 i; + u8 comp = 0; + + // [_[Ɩ{͓̂o[WH + /// ւ̃Abvf[g̓rŏIĂȂH + for( i = 0; i < sizeof( __TIME__ ); i++ ) // sizeof( __TIME__ ) = 8 炵 + { + comp += ( *( __far u8 * )( MGC_LOAD + i ) == *( u8 * )( MGC_FOOT + i ) ) ? 0 : 1; + comp += ( *( u8 * )( MGC_HEAD + i ) == *( u8 * )( MGC_FOOT + i ) ) ? 0 : 1; + } + + if( *( u8 * )( MGC_FOOT +2 ) != ':' ) // ς̂܂ + { + comp ++; + } + + if( comp != 0 ) + { + // t@[XgA݂ + firm_restore( ); + // AĂȂBZbgB + } +} + + +/********************************************//** +vbgtH[̔sAsystem_statusɃZbg܂B + + fobK‚ȂłƏɔłȂƂ܂B + +CTRt@~ + + DEV_DET(P12.[2:1]) + + +CTR̊J@ + + P40,41 !! fobOLP40LMCUN܂I + + - HH @ + - HL NBDV + - LH X^hAV + - LL ISfobK + + ***********************************************/ +void chk_platform_type() +{ + // CTRt@~ // + system_status.family = (enum family_)( DEV_DET >> 1 ); /// ... + if( system_status.family == FAMILY_SPFL ) + { + pm_reg_bit_vddlcd = PM_REG_BIT_VDDLCD_AMO; + } + else + { + pm_reg_bit_vddlcd = PM_REG_BIT_VDDLCD_CGS; + } + + // CTR̊J@ // + // ꉞ + system_status.is_dev = false; + system_status.taikendai = false; + system_status.taikendai_nbd = false; + + switch( DIPSW ) + { + case DIPSW_TAIKENDAI: + system_status.taikendai = true; + break; + + case DIPSW_TAIKENDAI_NBD: + system_status.taikendai_nbd = true; + break; + + case DIPSW_ISDEV: + system_status.is_dev = true; + break; + } +#ifdef _FORCE_TAIKENDAI_ + system_status.taikendai = true; +#endif + +#ifdef _FORCE_TAIKENDAI_NBD_ + system_status.taikendai_nbd = true; +#endif +} + + + + +/********************************************//** + ŏ̃WX^s܂B + + gݍ݃X^[gAbv[`Ă΂܂B + ***********************************************/ +void hdwinit( void ) +{ // X^[gAbv[`ɌĂт܂ + DI( ); /* }X^荞݋֎~ */ + + CMC = bits8(0,0,0,1, 0,0,0,0); /* X1U(̓|[g)AXT1gpAd͔U͕sɕtʏ */ + CSC = bits8(1,0,0,0, 0,0,0,0); /* X1UȂAXT1UAU */ + OSMC = bits8(0,0,0,0, 0,0,0,1); /* BWX^ */ + NOP();NOP();NOP(); // 3clkJ + CKC = bits8(0,0,0,0, 1,0,0,0); /* CPU/ӃNbN=fMAINAfMAIN=fMXAfCLK=fMX */ + + /*--- doH̐ݒ ---*/ + /* Zbg̃ftHǵAIvVEoCgɂĎw肳 */ + LVIS = 0x00; /* VLVI = 4.22}0.1V */ +// LVIM = 0x00; /* LVI֎~ */ + /* dd(VDD)od(VLVI)Ɋ */ + /* dd(VDD)od tempA[0][1], "offset" => tempA[0][2], "type" => tempA[0][3], "data" => tempA[0][4], "CRC" => tempA[0][5] } + + break if src_in["type"].hex == 01 + break if src_in["len"].hex == 00 + # next if src_in["type"].hex != 00 + if( src_in["type"].hex != 00 ) +# p dat + next + end + + offset = src_in["offset"].hex + next if(( 0x1000 <= offset ) && ( offset < 0x2000 )) + + dataTemp = src_in["data"].scan(/\w\w/) + + ( 0...(src_in["len"].to_s.hex) ).each{|i| + bindata[ offset + i ] = ( dataTemp[ i ] ).to_s.hex + } +end + +### debug enable bit check ############# +# fobO‚ɂȂĂISfobKŋNȂiMCU삵Ȃj +p bindata[0xC3] +if( bindata[0xC3] != 0x04 ) + print( "!E debug enable!!" ) + exit( 1 ) +end + + +### format data and output ############# +4096.times{ + bindata.delete_at(4096) +} +dest.write( bindata[0..(0x4FFF - 0x1000)].pack("c*") ) +dest.close + +printf( "intel-HEX to bsr bin converter\n file converted!\n\n" ) diff --git a/tags/2.19_SDK4(3rdNUP)/pedo_alg_thre_det2.c b/tags/2.19_SDK4(3rdNUP)/pedo_alg_thre_det2.c new file mode 100644 index 0000000..4e69a04 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/pedo_alg_thre_det2.c @@ -0,0 +1,567 @@ +/* ******************************************************** + v + + 3x̃A^Cf[^AxNg̃moA + 臒l𒴂鎞ԁAԊuAm̑傫臒l؂ւȂ + + $Id$ +********************************************************* */ +#ifndef _WIN32 + +#pragma mul +#pragma div +#pragma bcd + +#endif + +#include "incs.h" + +#ifndef _WIN32 +#include +#endif + +#include "accero.h" +#include "pedometer.h" + +#include "pool.h" + +// ======================================================== +// ̍ŏIL^ +// ̏Ԃ̓OǂݏȍԂł̂łȂł +// ԂɃAhX̎Ⴂ̂mۂ̂҂Ă܂... +typedef struct{ + u8 hour_bcd; + u8 day_bcd; + u8 month_bcd; + u8 year_bcd; + u8 min_bcd; + u8 sec_bcd; +}st_calender; + + + +// ======================================================== +static u16 get_long_hour(); +static u16 calc_hours_spend( u8 ); + + + +// ======================================================== +bit pedolog_overflow; // 192ԋL^ς݃tO(i2cœǂ߂) +extern uni_pool pool; // O͂̍\̂̒ +static u8 p_record; // Ȍ݈ʒu +static st_calender cal_log_latest; // ŌɕXV +static u16 last_hour_fny; // fny:from new year +static st_calender cal_temp; +static u16 now_longhour; + + + + + + +// ======================================================== +#define _use_my_sqrt_ +#ifdef _use_my_sqrt_ +static unsigned long my_sqrt( unsigned long ); +#endif + +// N͉[NH +#define is_leapyear( y ) (( y & 0x03 ) == 0 ) +// uNv͉[NH +#define is_firstyear( y ) (( y & 0x03 ) == 1 ) + + +// xZTlFIR-LPFɒʂB̌W +extern const s8 lpf_coeff[]; +#define TAP 64 +#define FIL_COEFF_QUANT 10 + + +/********************************************//** +@v + ***********************************************/ +void pedometer() +{ + static s16 th_H = 15000; // 臒lBIύX܂ + static s16 th_L = 11000; + static u16 acc_norm[3]; // x̑傫̃qXgB傫 + static u16 acc_norm_temp; + static u8 interval_hh = 0xFF; // R-RԂ̎ԁBZ߂͂B + static u8 time_l; // Őɏ̌oߎ + static u16 peak_l; // J̐[ + static u16 norm_hist[TAP]; + + static u8 hist_indx; + + signed long filterd; + + u8 i; + + u16 sx16,sy16,sz16; + + DI_wt_chk(); + sx16 = abs( (u16)vreg_ctr[VREG_C_ACC_XH] * 256 + vreg_ctr[VREG_C_ACC_XL] ); + sy16 = abs( (u16)vreg_ctr[VREG_C_ACC_YH] * 256 + vreg_ctr[VREG_C_ACC_YL] ); + sz16 = abs( (u16)vreg_ctr[VREG_C_ACC_ZH] * 256 + vreg_ctr[VREG_C_ACC_ZL] ); + EI(); + + // xNg̃m +#ifdef _mcu_ +# ifndef _use_my_sqrt_ + norm_hist[ hist_indx & TAP-1 ] = sqrt( (long)sx16 * ( sx16 / 2 ) + + (long)sy16 * ( sy16 / 2 ) + + (long)sz16 * ( sz16 / 2 ) + ); +# else + norm_hist[ hist_indx & TAP-1 ] = my_sqrt( (long)sx16 * ( sx16 / 2 ) + + (long)sy16 * ( sy16 / 2 ) + + (long)sz16 * ( sz16 / 2 ) + ); +# endif +#endif + +#ifdef _pc_ + norm_hist[ hist_indx & TAP-1 ] = normh * 256 + norml; +#endif + + hist_indx ++; + + // qXgɃtB^(fir)|āA̒l߂ // + filterd = 0; +// for( i = 8; i != 55; i++ ) // WO΂̂ + for( i = 0; i != 46; i++ ) // We[u܂Bp[^ + { + filterd += (signed long)norm_hist[ ( hist_indx + i ) & TAP-1 ] * lpf_coeff[ i ]; + } + + filterd += (4096)*512; // DCZ...Ǝv + acc_norm_temp = (s16)( filterd /1024 & 0xFFFF ); // FIL_COEFF_QUANT琳K +/* + if( acc_norm[0] < acc_norm_temp ) + { + t_rise ++; + if( t_rise == 0 ) + t_rise == 254; + } + else + { + t_rise = 0; + } +*/ + if( acc_norm[0] != acc_norm_temp ) + { + acc_norm[2] = acc_norm[1]; // qXg + acc_norm[1] = acc_norm[0]; + acc_norm[0] = acc_norm_temp; + } + + if( acc_norm[2] <= acc_norm[1] && acc_norm[1] > acc_norm[0] + && acc_norm[0] > th_H ) + // ɑŁA臒l𒴂Ă + { + if( 21 < interval_hh ) + // Őɑ傩̊Ԋuقǂ悢 + { + if(( interval_hh < 160 ) && ( time_l < interval_hh )) + // Jł + { + if( acc_norm[0] - peak_l > 4200 ){ + // ܂ + hosu_increment_if_necessary(); + } + } + interval_hh = 0; + } + // Ȃ񂿂臒l̓IύX + if( acc_norm[0] > 18000 ) + { + th_L = acc_norm[0] - 10000; + } + else + { + th_L = 11000; + } + } + else + { + if( interval_hh != 255 ) // OaZĊyɏ炢̂ + { + interval_hh ++; + } + } + + // (2) ߂̋ɏ̎ + if( acc_norm[2] >= acc_norm[1] && acc_norm[1] < acc_norm[0] + && acc_norm[0] < th_L ) + { + // ɏo + time_l = 0; + peak_l = acc_norm[0]; + } + else + { + if( time_l != 255 ) + { + time_l ++; + } + } +} + + +/********************************************//** +@{P + + - ݐςCNg + - XV + + *2011/01/20 + + dlύX@OςɂȂ炻Ŏ~߂ + ***********************************************/ +#define HOSU_NODATA 0xFFFF +#define HOSU_MAX 0xFFFE + +void hosu_increment_if_necessary() +{ + u8 year_compd; // hourE␳ς݌ݔNBcomp(ensation -ed) + + // ݎ擾 + DI_wt_chk(); + RWAIT = 1; + while( !RWST ){;} + + cal_temp.hour_bcd = HOUR; + cal_temp.day_bcd = DAY; + cal_temp.month_bcd = MONTH; + cal_temp.year_bcd = YEAR; + cal_temp.min_bcd = MIN; + cal_temp.sec_bcd = SEC; + + RWAIT = 0; + EI(); + + year_compd = bcdtob( cal_temp.year_bcd ); + + now_longhour = get_long_hour(); + + // ݃|C^̍XV + if( ! ( vreg_ctr[ VREG_C_ACC_HOSU_L ] == 0 && // vonAŏ̈܂ł͑O񂩂̌oߎԂvZȂ + vreg_ctr[ VREG_C_ACC_HOSU_M ] == 0 && + vreg_ctr[ VREG_C_ACC_HOSU_H ] == 0 )) //. SrbgORŃ[肷̂̓fW^H݂̕ + { + // v~܂ĂԂlĕKvȂi߂ + // ␳vZ@U뎞ōɂȂꍇAA23ɏ㏑ + if( now_longhour == (u16)-1 ) // NA23䈵̂ƂAvZʂ -1 ɂȂĂ + { + now_longhour = 365 * 24 -1; + if( is_firstyear(year_compd) ) + { + now_longhour += 24; + } + year_compd --; + } + fill_hosu_hist_hours( calc_hours_spend( year_compd ) ); // ݃|C^̍XVs + + // OӂŋL^~H + if( pedolog_overflow ) + { + return; + // ܂BO̍XVȂB + } + } + + // CNgėǂ + cal_log_latest = cal_temp; // OXV + last_hour_fny = now_longhour; + + // O@CNg + if( pool.vreg_c_ext.pedo_log[ p_record ] == HOSU_MAX ) + { + // Ȃł܂ + //. v̍vƗ݌vȂȂ̂邽߂낤ǁAǂȂ́H + return; + } + else if( pool.vreg_c_ext.pedo_log[ p_record ] == HOSU_NODATA ) // ̎ԑэŏ̃JEg̎ + { // ꂵȂ1Ȃ + pool.vreg_c_ext.pedo_log[ p_record ] = 1; + } + else + { + // ʏpX + pool.vreg_c_ext.pedo_log[ p_record ] ++; + } + + // ݐς̍XV // + DI_wt_chk(); + if( ++vreg_ctr[ VREG_C_ACC_HOSU_L ] == 0 ) // JXg`FbN + { + if( ++vreg_ctr[ VREG_C_ACC_HOSU_M ] == 0 ) + { + if( ++vreg_ctr[ VREG_C_ACC_HOSU_H ] == 0 ){ + vreg_ctr[ VREG_C_ACC_HOSU_L ] = 255; //. 낢뎸s... + vreg_ctr[ VREG_C_ACC_HOSU_M ] = 255; + vreg_ctr[ VREG_C_ACC_HOSU_H ] = 255; + } + } + } + EI(); +} + + +/********************************************//** +󔒂̎ԂK؂0ɂāA +܂ނPԂ̃f[^ʒuɃ|C^Hi߂ + ***********************************************/ +static void fill_hosu_hist_hours( u16 hours ) +{ + // OӂH + if( (u16)p_record + hours >= PEDOMETER_LOG_SIZE ) + { + pedolog_overflow = true; + return; + } + + // 󔒂̐Ԃ̐ݒ + while( hours != 0 ) + { + // Vdl@ςŒ~ + p_record ++; +#if 1 // debug + if( p_record >= PEDOMETER_LOG_SIZE ) + { + pedolog_overflow = true; +// dbg_nop(); // ɗ悤ƃoO + break; + } + else +#endif + { + pool.vreg_c_ext.pedo_log[ p_record ] = 0; + } + hours --; + } + + return; +} + + + +/********************************************//** +NAAuf[^vɏ + ***********************************************/ +void clear_hosu_hist() +{ + u8 hours = PEDOMETER_LOG_SIZE; + do + { + hours --; + pool.vreg_c_ext.pedo_log[ hours ] = 0xFFFF; + } + while( hours != 0 ); + + DI_wt_chk(); + vreg_ctr[ VREG_C_ACC_HOSU_L ] = 0; + vreg_ctr[ VREG_C_ACC_HOSU_M ] = 0; + vreg_ctr[ VREG_C_ACC_HOSU_H ] = 0; + p_record = 0; + pedolog_overflow = false; + EI(); +} + + +extern u8 iic_burst_state; +bit pedolog_read_msb; +/********************************************//** + ṽqXgԂB + + PĂԓxɁAqXg̉ʁAʁAꎞԑkĉʏ... + ***********************************************/ +u8 hosu_read( ) +{ + u8 rv; + static u8 p_record_buffer; + static st_calender cal_buff; // ꉞAAg~bN + + if( iic_burst_state == 0 ) + { + p_record_buffer = p_record; + DI_wt_chk(); + cal_buff = cal_log_latest; + EI(); + } + + if( iic_burst_state <= 5 ) + { + rv = *( (u8*)&cal_buff + iic_burst_state ); // + iic_burst_state ++; + return( rv ); + } + else + { + u16 temp; + // 16rbgŋL^Ă̂ł΂炵đ /// Ɗy@񂶂 + temp = pool.vreg_c_ext.pedo_log[ p_record_buffer ]; + if( !pedolog_read_msb ) + { + rv = (u8)( temp & 0x00FF ); + } + else + { + rv = (u8)(( temp >> 8 ) & 0x00FF ); + if( p_record_buffer == 0 ) + { + p_record_buffer = PEDOMETER_LOG_SIZE-1; + } + else + { + p_record_buffer --; + } + } + pedolog_read_msb ^= 1; + return( rv ); + } + +} + + + +/********************************************//** + ŇǓoߎ(hour)ԂB + + + + Ԓl u16 long_hour + ***********************************************/ +const u16 DAYS_FROM_HNY[] = { + 0, + 31, + 31+28, // =59B@cRO͂PTX + 31+28+31, + 31+28+31+30, + 31+28+31+30+31, + 31+28+31+30+31+30, + 31+28+31+30+31+30+31, + 31+28+31+30+31+30+31+31, + 31+28+31+30+31+30+31+31+30, + 31+28+31+30+31+30+31+31+30+31, + 31+28+31+30+31+30+31+31+30+31+30 + }; + +static u16 get_long_hour() +{ + u8 year = bcdtob( cal_temp.year_bcd ); + u8 month = bcdtob( cal_temp.month_bcd ); + u8 day = bcdtob( cal_temp.day_bcd ); + u8 hour = bcdtob( cal_temp.hour_bcd ); + u8 min_bcd = cal_temp.min_bcd; // 召rȂ̂bcd̂܂܂ł悢 + u8 sec_bcd = cal_temp.sec_bcd; + u16 long_hour; + + // ܂̕ + long_hour = DAYS_FROM_HNY[ month -1 ]; // -1̓CfbNX킹 + if( is_leapyear(year) && ( 3 <= month )) + { + // [NŁA[ + long_hour ++; + } + long_hour += day - 1; + long_hour *= 24; // + + long_hour += hour; + + // EȆOHH + if( ( min_bcd > vreg_ctr[ VREG_C_ACC_HOSU_HOUR_BOUNDARY ] ) + || ( ( min_bcd >= vreg_ctr[ VREG_C_ACC_HOSU_HOUR_BOUNDARY ] ) + && ( sec_bcd >= vreg_ctr[ VREG_C_ACC_HOSU_HOUR_BOUNDARY_SEC ] )) + ) + { + return( long_hour ); + } + else + { + return( long_hour -1 ); // 1ԑOɊ܂߂ ӁFUōNɂƂB-1 ɂȂ + } +} + + + +/********************************************//** +@yʕB + +@Kv\Ȑxőł؂ + + pcŃV~[Vđv + ***********************************************/ +static unsigned long my_sqrt(unsigned long x) +{ + unsigned long s, t; + + if (x <= 0) return 0; + + s = 1; + t = x; + while (s < t) + { + s <<= 1; + t >>= 1; + } + do + { + t = s; + s = (x / s + s) >> 1; + } while (s < t); + + return t; +} + + + + +/********************************************//** +@‚ OĂ΂ꂽƁAݎ̍߂BԂ̂fill_hosu_hist_hours ɂ̂܂ܓn + //. year_bcd Ȃ̂Ƃ₾... + ***********************************************/ +static u16 calc_hours_spend( u8 year ) +{ + u8 cal_log_latest_year = bcdtob( cal_log_latest.year_bcd ); + + // N̓ + if( cal_log_latest_year == year ) + { + if( now_longhour > last_hour_fny ) + { + return( now_longhour - last_hour_fny ); + } + else if( now_longhour == 0 && last_hour_fny != 0 ) + { + // N΂ŁAEzځBȂƍNŌɉZĂ܂B + return( 1 ); + } + else + { + return( 0 ); // ԑ(ƁA߂B@ǂȂĂmȂ) + } + } + else if( cal_log_latest_year == ( year -1 ) ) + { + // N܂łƂ + u16 temp = 365 * 24 - last_hour_fny + now_longhour; + if( is_firstyear(year) ) + { + temp += 24; + } + return( temp ); + } + else if( cal_log_latest_year < year ) + { + // Nu + return( PEDOMETER_LOG_SIZE +1 ); + } + else + { + // J_[߂Ȃ + // m[PAł悢cAslƂ킯ɂȂ + return( 0 ); + } +} diff --git a/tags/2.19_SDK4(3rdNUP)/pedo_lpf_coeff.c b/tags/2.19_SDK4(3rdNUP)/pedo_lpf_coeff.c new file mode 100644 index 0000000..877ef98 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/pedo_lpf_coeff.c @@ -0,0 +1,87 @@ +/********************************************//** + vŎgpALPF̃tB^W + $Id$ + ***********************************************/ + +#include "incs.h" + +// ========================================================= +#define TAP 64 +#define FIL_COEFF_QUANT 10 +const s8 lpf_coeff[]={ +/* +Window Function Algorithm LPF +Sampling Frequency = 100.0 +cutoff1 = 6.0000000 +Tap Count =64 +Kaiser Constant = 7.000000 +Quantized by 11 [bits] + */ +/* 0,// [0] + 0, + 0, + 0, + 0, + 0, + 0, + 0, +*/ + 1,// 8 + 2, + 2, + 3, + 3, + 2, + 0, + -2, + -5,// 16 + -9, + -13, + -16, + -16, + -13, + -6, + 4, + 18,// 24 + 37, + 56, + 77, + 95, + 110, + 119, + 122, + 119,// 32 + 110, + 95, + 77, + 56, + 37, + 18, + 4, + -6,// 40 + -13, + -16, + -16, + -13, + -9, + -5, + -2, + 0,// 48 + 2, + 3, + 3, + 2, + 2, + 1, +/* + 0, + 0,// 56 + 0, + 0, + 0, + 0, + 0, + 0, + 0 +*/ +}; diff --git a/tags/2.19_SDK4(3rdNUP)/pedo_lpf_coeff.h b/tags/2.19_SDK4(3rdNUP)/pedo_lpf_coeff.h new file mode 100644 index 0000000..f81d6c2 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/pedo_lpf_coeff.h @@ -0,0 +1,84 @@ +#ifndef _pedo_coeff_h_ +#define _pedo_coeff_h_ + +// ========================================================= +#define TAP 64 +#define FIL_COEFF_QUANT 10 +const s8 lpf_coeff[]={ +/* +Window Function Algorithm LPF +Sampling Frequency = 100.0 +cutoff1 = 6.0000000 +Tap Count =64 +Kaiser Constant = 7.000000 +Quantized by 11 [bits] + */ +/* 0,// [0] + 0, + 0, + 0, + 0, + 0, + 0, + 0, +*/ + 1,// 8 + 2, + 2, + 3, + 3, + 2, + 0, + -2, + -5,// 16 + -9, + -13, + -16, + -16, + -13, + -6, + 4, + 18,// 24 + 37, + 56, + 77, + 95, + 110, + 119, + 122, + 119,// 32 + 110, + 95, + 77, + 56, + 37, + 18, + 4, + -6,// 40 + -13, + -16, + -16, + -13, + -9, + -5, + -2, + 0,// 48 + 2, + 3, + 3, + 2, + 2, + 1, +/* + 0, + 0,// 56 + 0, + 0, + 0, + 0, + 0, + 0, + 0 +*/ +}; +#endif diff --git a/tags/2.19_SDK4(3rdNUP)/pedometer.h b/tags/2.19_SDK4(3rdNUP)/pedometer.h new file mode 100644 index 0000000..8760308 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/pedometer.h @@ -0,0 +1,36 @@ +#ifndef _pedo_ +#define _pedo_ + +#ifdef WIN32 +typedef unsigned char bit; +typedef unsigned char u8; +typedef unsigned short u16; + + +#endif + + +// ========================================================= +extern bit pedolog_read_msb; + + + +// ========================================================= +//void hosu_read_end( ); }N +#define hosu_read_end() pedolog_read_msb = 0 + +u8 hosu_read( ); +void hosu_increment_if_necessary(); +void fill_hosu_hist_hours( u16 ); +void clear_hosu_hist(); +void pedometer(); + + + +// ========================================================= +#define PEDOMETER_LOG_SIZE ( 24 * 7 ) + + + +// ========================================================= +#endif diff --git a/tags/2.19_SDK4(3rdNUP)/pm.c b/tags/2.19_SDK4(3rdNUP)/pm.c new file mode 100644 index 0000000..5905990 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/pm.c @@ -0,0 +1,1444 @@ +/* ======================================================== + PMIC + cJZ + nintendo + '08 Dec + + $Id: pm.c 418 2011-09-22 01:35:37Z n2232 $ + ======================================================== */ +#ifndef _WIN32 + +#pragma nop + +#endif + +#include "incs.h" +#include "adc.h" +#include "led.h" +#include "pm.h" +#include "renge\renge.h" + +#include "batt_params.h" + +#include +#include "fsl_user.h" + +#include "vreg_twl.h" +#include "i2c_mcu.h" + +// ======================================================== +u8 raw_adc_temperature; +BT_VENDER battery_manufacturer = BT_VENDER_NOT_CHECKED; +static u8 ntr_pm_reg_shadow; // NTR PMIC WX^~[ +bit bt_authorized; // obep[^MρB[dJn +u8 chg_led_override; // A_v^ƂA[d邵ȂɊւ炸΂炭_ + +static u16 bt_volt16; + +static bit ntr_pm_bt_low_old; + +bit BT_IN_CHG_delayed_n; +bit temp_zone_charge_disable; // xŏ[d~鎞ɃqXeVXt邽 + +u8 pmic_version; +u8 mgic_version[2]; + +u8 pm_reg_bit_vddlcd; + +static bt_param_* p_bt_param; +extern const bt_param_ bt_param[]; + +bit pm_extdc_old; // OA_v^`FbNƂhĂH + + + +// ======================================================== +static void BT_model_detect(); +static void BT_mgic_quick_start(); +static void BT_mgic_init(); +static void bt_chk_temparature(); +static void bt_get_charge_status(); +static void bt_param_select(); +static void bt_batt_update_twl(); +static void bt_batt_update_ntr(); +static void update_chg_led(); + + +// bp[ +static err send_cmd_mgic_2B( u8 reg, u16 dat ); +static err read_mgic_2B( u8 reg, u8* dat ); +static err read_BT_SOC( u8* dest ); +static err read_BT_voltage( u8* dest ); +static u8 conv_ctr_bt_to_twl_bt(); + + + +// ======================================================== +#define swap_endian_16( x ) (unsigned int)(( x << 8 ) | ( x >> 8 )) + + + +// ======================================================== +const u8 BT_MANUF_BORDER[] = { + 5, 33, 79, 123, 158, 197, 233 + }; + + + +/********************************************//** + dr̊Ǘ + + ȉ̃s͎ɂőEĎ܂B + - PM_BT_AUTH AGPI in + - PM_CHARGE_n CCIC /CHG in + - PM_EXTDC_n /DOK INTP4 in + - PM_CHARGE_EN_n /CEN out + + ȉ͊̕֌W肻łʂ̂ƂŊĎĂ܂B + - LED Charge tsk_LED + - BT_TEMP,_P tsk_ADC + + PM_EXTDC͊荞݃Cɂ邩 + ***********************************************/ +#define INTERVAL_TSK_BATT 60 +// 100Ə[dG[ɂ܂_łȂ̂ + +/********************************************//** + d̊Ď + - A_v^̊Ď + - [dALEDXV + - cʎ擾ALEDXV + ***********************************************/ +void tsk_batt( ) +{ + static u8 task_interval; + + if( task_interval -- != 0 ) + { + return; + } + else + { + task_interval = (u8)( INTERVAL_TSK_BATT / SYS_INTERVAL_TICK ); + } + + // A_v^Xe[^XXV // + pm_chk_adapter(); + + // [d // + bt_chk_temparature(); // x`FbN + if( !temp_zone_charge_disable && bt_authorized && !PM_EXTDC_n ) + { + BT_CHG_ENABLE(); // x͈OKŏ[dĊJ + } + else + { + BT_CHG_DISABLE(); // x댯I@[d~ + } + + bt_get_charge_status(); // [d󋵃`FbN + update_chg_led(); // chg ledXV + + // drc // + BT_get_left(); +} + + +/********************************************//** + [dLEDXV + + - CCIC[dƂΓ_B + - łȂĂAA_v^h΂Ȃ5b_ + - Aw^drΉʼnR[d̎Aq[Y؂iMGICNAKjȂ + ***********************************************/ +static void update_chg_led() +{ + static bit temp_led_chg; + + temp_led_chg = false; + + // A_v^‚ȂuԁA[dłb킴Ɠ_BdĂ邱Ƃ킩点邽߁B + if( chg_led_override != 0 ) + { + chg_led_override --; + temp_led_chg = true; + } + + // CCIC [dƂ̂ł΁Aꂪԋ + if( ! BT_IN_CHG_delayed_n ) // bt_get_charge_status()ōXV܂B + { + temp_led_chg = true; + } + + LED_CHARGE = temp_led_chg; + + // WX^̏[drbgLEDɓ + set_bit( LED_CHARGE, vreg_ctr[VREG_C_STATUS], REG_BIT_BATT_CHARGE ); // set_bit̂݁B + /// 荞݂task_status()ōs +} + + + +/********************************************//** + x`FbN + xtqXeVXL + ***********************************************/ +#define RAW_TEMP_LH 75 // 50 [degC] +#define RAW_TEMP_LL 61 // 55 +#define RAW_TEMP_HL 184 // 1 +#define RAW_TEMP_HH 189 // -1 +#define AVG_COUNT 40 + +void bt_chk_temparature() +{ + static u8 heikinka_h,heikinka_l; + + if(( RAW_TEMP_LH <= raw_adc_temperature ) + && ( raw_adc_temperature <= RAW_TEMP_HL )) + { + if( heikinka_h < AVG_COUNT ) + { + heikinka_h++; + } + else + { + temp_zone_charge_disable = false; // [d + } + } + else if(( raw_adc_temperature <= RAW_TEMP_LL ) + || ( RAW_TEMP_HH <= raw_adc_temperature )) + { + if( heikinka_l < AVG_COUNT ) + { + heikinka_l++; + } + else + { + temp_zone_charge_disable = true; // [d֎~ + } + } + else + { + // temp_zone_charge_disable ̂܂ + heikinka_h = 0; + heikinka_l = 0; + } +} + + + +/********************************************//** + [d̃`FbN + + [dIC̃oO΍sB + ***********************************************/ +void bt_get_charge_status() +{ + // CCIC̕s̂߁A/CHG̃lQ[gƒJɒx + static u8 anti_chatter; + + if( !BT_IN_CHG_n ) + { + // Ƀ`^O + if( anti_chatter < 2 ) // drŃA_v^āAdɂ킳 + { // Ə[dLED̂ + anti_chatter++; + } + else + { + BT_IN_CHG_delayed_n = 0; // [d + } + } + else + { + if( !BT_CHG_Ena_n + && ( vreg_ctr[ VREG_C_BT_REMAIN ] < 60 ) + && !( vreg_ctr[ VREG_C_STATUS_1 ] & REG_BIT_MGIC_ERR ) + ) + { + BT_IN_CHG_delayed_n = 0; // [dƈB[dIĂ͂Ȃ + } + else + { + BT_IN_CHG_delayed_n = 1; + anti_chatter = 0; + } + } +} + + + +/********************************************//** + A_v^̗L`FbN + ***********************************************/ +void pm_chk_adapter() +{ + set_bit( !PM_EXTDC_n, vreg_ctr[VREG_C_STATUS], REG_BIT_POW_SUPPLY ); + + if( pm_extdc_old != PM_EXTDC_n ) // HAL ʂ߁A PM_EXTDC_n volatile ɂSzȂ + { + pm_extdc_old = PM_EXTDC_n; + if( !PM_EXTDC_n ) + { + // h + set_irq( VREG_C_IRQ1, REG_BIT_BT_DC_CONNECT ); + chg_led_override = (u8)( 2500 / INTERVAL_TSK_BATT ); // bt_chckwait_ms(5)̐ŐL΂Btoriaezu蓮 4.5 sec + } + else + { + u8 temp_v[2]; + + // + set_irq( VREG_C_IRQ1, REG_BIT_BT_DC_DISC ); + chg_led_override = 0; + + // drcʂ1%ŁAA_v^L̎ɂ͖{̂NAQ[ + // 1%ɉ񕜂OɃA_v^ƂA荞݂ȂƊҒʂ + // łȂBʑΉ̂߂őΉ + if( read_mgic_2B( BT_GAUGE_REG_VCELL, temp_v ) == ERR_SUCCESS ) + { + bt_volt16 = ( temp_v[0] * 256 + temp_v[1] ); + } + + if(( bt_volt16 < V_TH_ZERO ) || ( vreg_ctr[ VREG_C_BT_REMAIN ] == 0 )) + { + set_irq( VREG_C_IRQ1, REG_BIT_BT_REMAIN ); + } + } + } +} + + + +/******************************************************** +dr֌W̏ + +@@@Q[W@@b@L@@@@@b@ +@@[[[[[[[[[[[[[[[[[[[[[[[ +@@@dr@Lb@@@@@@@b@H +@@[[[[[[[[[[[[[[[[[[[[[[[ +@@@@@@b@@@@@@b@sr +@@@@@@@@b@@dr@b +@@[[[[[[[[[[[[[[[[[[[[[[[ + +@@Q[WLAdr@̔^@ʂ́A +@drxŔ肷 + + ԒlF@dr 0xFF + drςĂȂ 0 + drς 1 + +***********************************************************/ +bit bt_force_update; + + + +/********************************************//** + obẽ`FbNAƁA{̎ʎʁisp̂߁j + ***********************************************/ +void BT_chk() +{ + static BT_VENDER battery_manufacturer_old; + + battery_manufacturer_old = battery_manufacturer; + + BT_model_detect(); + bt_param_select(); // obecʕ␳p[^ȂǃZbg @łAƂ肠̒l(pi)wɂĂB + // ʂrcompvZ邪A|C^QƂ̂₾A@ȂvZȂƂʓ| + + if( system_status.model != MODEL_JIKKI ) + { + bt_authorized = false; + return; + // ܂ + } + + if(( battery_manufacturer_old != battery_manufacturer ) || + bt_force_update ) + { + bt_force_update = false; + iic_mcu_start( ); // ŏtOĂ̂ŌĂт܂ėǂ@ȂƂɁcorz + if( (( battery_manufacturer_old == BT_VENDER_OPEN ) || + ( battery_manufacturer_old == BT_VENDER_NOT_CHECKED )) && + !system_status.reboot ) + { + BT_mgic_quick_start(); + } + BT_mgic_init(); // @픻s܂ + } + bt_authorized = true; + renge_task_immed_add( tski_BT_temp_update ); // drxĎ +} + + + +/********************************************//** + {̎ʎ + ***********************************************/ +void BT_model_detect() +{ + u8 temp; + + BT_DET_P = 1; + BT_TEMP_P = 1; + wait_ms( 3 ); // dオ̂ɎԂ| + + raw_adc_temperature = get_adc( ADC_SEL_BATT_TEMP ); + temp = get_adc( ADC_SEL_BATT_DET ); + BT_DET_P = 0; + + system_status.captureBox = false; + // vbgtH[ // + if( raw_adc_temperature > 0xF0 ) + { + // TS // + system_status.model = MODEL_TS_BOARD; + system_status.family = FAMILY_CTR; // Hł̌딻㏑ + pm_reg_bit_vddlcd = PM_REG_BIT_VDDLCD_CGS; + } + else if( raw_adc_temperature < 4 ) + { + // // + system_status.model = MODEL_SHIROBAKO; + + // āFLv`{[h // + if(( iic_mcu_read_a_byte( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_VERSION ) == 0x01 ) && + ( iic_mcu_result == I2C_ERR_OK )) + { + system_status.captureBox = true; + } + } + else + { + // @AcIC NACK( obe܂͎cIC̏ ) + system_status.model = MODEL_JIKKI; // obe̎́ŏ㏑ + } + + // TShome{^A@͖ڑȂ̂ŗv[q /// gndɂƂ΂悩c + if( system_status.model == MODEL_TS_BOARD ) + { + PM_SW_HOME_n_TSBOARD = 1; + } + else + { + PM_SW_HOME_n_TSBOARD = 0; + SW_HOME_n_TSBOARD_RAW = 0; /// @open ǂł񂾂 + } + + // dr[J[̎ // + { + u8 i; + + battery_manufacturer = BT_VENDER_OPEN; // ftHgl + for(i=0; i<=7; i++) + { + if( temp <= BT_MANUF_BORDER[ i ] ) + { + battery_manufacturer = (BT_VENDER)i; + break; + /* + BT_VENDER_MAXELL; // = 0 + BT_VENDER_1; + BT_VENDER_2; + BT_VENDER_3; + BT_VENDER_4; + BT_VENDER_PANA; + BT_VENDER_6; + + BT_VENDER_OPEN; + */ + } + } + } + + + if( ( battery_manufacturer == BT_VENDER_OPEN ) && + ( system_status.model == MODEL_JIKKI ) ) + { + system_status.model = MODEL_JIKKI_NOBATT; + } +} + + + +#define MGIC_CMD_QUICKSTART 0x4000 +/********************************************//** + MGICNCbNX^[giɃoO΍j + ***********************************************/ +static void BT_mgic_quick_start() +{ + wait_ms( 10 ); // MGIC̋NɊ| + + // 0. obecIC NCbNX^[g + send_cmd_mgic_2B( BT_GAUGE_REG_MODE, swap_endian_16( MGIC_CMD_QUICKSTART ) ); + + wait_ms( 150 ); +} + + +/********************************************//** + drcʑ菉 + + drp[^Ȃǂ] + ***********************************************/ + +#define MGIC_CMD_UNLOCK_KEY 0x4A57 +#define MGIC_CMD_RESET 0x5400 +static void BT_mgic_init() +{ + u8 origParam[4]; + + /* + // -1. ZbgĂ݂ + Ⴞ! + i2c_send_buff_2B._u16 = swap_endian_16( MGIC_CMD_RESET ); + send_cmd_mgic_2B( BT_GAUGE_REG_COMMAND ); // ‚NACKԂ + */ + + if( system_status.model != MODEL_JIKKI ) + { + return; + // ܂ + } + + // 1. bN + if( send_cmd_mgic_2B( BT_GAUGE_REG_LOCK, swap_endian_16( MGIC_CMD_UNLOCK_KEY ) ) != ERR_SUCCESS ) + { + // cIC NACK + vreg_ctr[ VREG_C_STATUS_1 ] |= REG_BIT_MGIC_ERR; + return; + // ܂ + } + + vreg_ctr[ VREG_C_STATUS_1 ] &= ~REG_BIT_MGIC_ERR; + + // wait_ms( 5 + 1 ); OɃEFCgĂ̂ŕsv + + // 2. p[^ꎞۑ + iic_mcu_read( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_RCOMP, 4, origParam ); + + // 3. ꎞIOCVύX + send_cmd_mgic_2B( BT_GAUGE_REG_OCV, swap_endian_16( p_bt_param->ocv )); // }WbNio[IȂ́B[J[w + + // 4. ꎞIRCOMPύX + send_cmd_mgic_2B( BT_GAUGE_REG_RCOMP, swap_endian_16( 0xFF00 ) ); + + // 5.[J[ʃp[^̃[h + { + u8 loop; + + // 16oCgƂɋ؂Ƃ̂Ɓ@imCY΍Ƃ񂾂ǁAӖ񂩁Hj + for( loop = 0; loop < 4; loop ++ ) + { + iic_mcu_set_wo_dma( ); + iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_BT_PARAM + loop*16, 16, p_bt_param->mg_param + loop*16 ); + } + } + + // 6. 150msȏ҂ + wait_ms( 150 + 15 ); + + // 7. OCVɁuƂlv + send_cmd_mgic_2B( BT_GAUGE_REG_OCV, swap_endian_16( p_bt_param->ocv ) ); // }WbNio[IȂ́B[J[w + + // 8. 150`600ms҂B600ms͌ + wait_ms( 150 + 15 ); + + // 9. SOCǂށBxt@Ĉ߁B + { u8 temp; + temp = iic_mcu_read_a_byte( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_SOC ); + + if(( p_bt_param->verify.low <= temp ) && ( temp <= p_bt_param->verify.hi )) + { + // JX^fOKI + }else{ + // s烊gĈH + // dbg_nop(); + } + } + + // 10.RCOMPOCV߂ + iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_RCOMP, 4, origParam ); + + // 11. bN + send_cmd_mgic_2B( BT_GAUGE_REG_LOCK, swap_endian_16( 0x0000 ) ); // lock key +} + + + +extern u16 _dbg_rcomp; +/********************************************//** + raw_adc_temperatureɓĂlɕϊƂƂɁA + - WX^ɃZbg + - cICɃZbg + ***********************************************/ +task_status_immed tski_BT_temp_update( ) +{ + static u8 rawdat_old; + static s8 temperature; + s16 newrcomp; + static u8 heikinka; + +/* + T[~X^ - 10k_̎A + pxł͕̃J[uقڃjAŁA + c T[] = 81.48 - 111.97 x ratio + TDK T = 81.406 - 111.81 x ratio +*/ + + if( rawdat_old != raw_adc_temperature ) + { + if( heikinka < 40 ) + { + heikinka ++; + } + else + { + heikinka = 0; + rawdat_old = raw_adc_temperature; + // temperature = 81.45 - 111.9 * raw_adc_temperature/256.0; + // ꂼ256{Ă + temperature = (u8)(( 20851 - 112 * raw_adc_temperature + (256/2) ) /256); + vreg_ctr[VREG_C_BT_TEMP] = temperature; + + newrcomp = 0; + if( temperature > 20 ) + { + newrcomp = ( ( temperature - 20 ) * p_bt_param->rcomp.up )/256; + } + else + { + newrcomp = ( ( temperature - 20 ) * p_bt_param->rcomp.down )/256; + } + newrcomp = p_bt_param->rcomp.rcomp + newrcomp; + + if( newrcomp > 255 ) + { + newrcomp = 255; + } + if( newrcomp < 0 ) + { + newrcomp = 0; + } + _dbg_rcomp = newrcomp; + + if( send_cmd_mgic_2B( BT_GAUGE_REG_RCOMP, newrcomp ) == ERR_SUCCESS ) // swapsv + { + rawdat_old = raw_adc_temperature; + } + else + { + vreg_ctr[ VREG_C_STATUS_1 ] |= REG_BIT_MGIC_ERR; + } + } + } + return ( ERR_FINISED ); +} + + + +/********************************************//** + drcICcʂ擾AWX^ɏށB + + @drcICȄȂǂ̎͂Ƃ肠c99%ƂB + + @@@@@@@@ status_1ŊmF”\BdɃ`FbNĂ܂B + + @BT_chk()sĂKv܂B + ***********************************************/ +void BT_get_left(){ + u8 temp[2]; + u8 reg_volatile_temp_bt_remain,reg_volatile_temp_bt_remain_fine; // I2C̔񓯊ǂݍ݂ł̂‚h~ Lbv̏ + u8 fuel_cap_by_voltage; // dŃLbvɎg + + // drc + if( system_status.model == MODEL_TS_BOARD + || system_status.model == MODEL_SHIROBAKO ) + { + // TS & // + if( read_BT_SOC( temp ) == ERR_SUCCESS ) + { + reg_volatile_temp_bt_remain = temp[0]; + reg_volatile_temp_bt_remain_fine = temp[1]; + } + else + { + // G~[V@\ + // @œdf͕sւ邾낤 + reg_volatile_temp_bt_remain = 99; + reg_volatile_temp_bt_remain_fine = 0; + } + } + else + { + // @ // + // cʃ[h + if( read_BT_SOC( temp ) != ERR_SUCCESS ) + { + // cICNACK cobe͂ꂽ + vreg_ctr[ VREG_C_STATUS_1 ] |= REG_BIT_MGIC_ERR; + bt_authorized = false; + reg_volatile_temp_bt_remain = 0; + force_off = true; + } + else + { + u16 temp_u16; + + vreg_ctr[ VREG_C_STATUS_1 ] &= ~REG_BIT_MGIC_ERR; + // obep[^̊֌WŃrbgVtgKv + temp_u16 = temp[0] * 256 + temp[1]; + temp_u16 /= p_bt_param->v_scale; + reg_volatile_temp_bt_remain = (u8)(( temp_u16 >> 8 ) & 0xFF ); + if( reg_volatile_temp_bt_remain == 0 ) + { + // 0%̎1.00%ɏグ + // [dJn΂炭͓drcʂ̂ + // 0%ɓBĂ܂Ƃ̂ + reg_volatile_temp_bt_remain = 1; + reg_volatile_temp_bt_remain_fine = 0; + } + else + { + reg_volatile_temp_bt_remain_fine = (u8)(temp_u16 & 0xFF); + } + } + } + + // drd + { + if( read_BT_voltage( temp ) != ERR_SUCCESS ) // 2byte read + { + temp[0] = (u8)( V_BT_4000MV / 256 ); // drdǂ߂Ȃ4000mVƂɂĂB + temp[1] = 0; + } + vreg_ctr[ VREG_C_BT_VOLTAGE ] = temp[0]; + bt_volt16 = ( temp[0] * 256 + temp[1] ); + } + + + // dŃLbv...̏ + { + static u16 hysteresis; + + if( bt_volt16 > V_TH_30 ) + { + fuel_cap_by_voltage = 100; + hysteresis = 0; + } + else if( bt_volt16 - hysteresis > V_TH_LO ) + { + fuel_cap_by_voltage = 30; + hysteresis = 0; + } + else if( bt_volt16 > V_TH_EMPTY ) + { + fuel_cap_by_voltage = BATT_TH_LO; // + hysteresis = 500; + } + else if( bt_volt16 > V_TH_ZERO ) + { + fuel_cap_by_voltage = BATT_TH_EMPTY; + hysteresis = 500; + } + else if( bt_volt16 > V_TH_FORCE_OFF ) + { + fuel_cap_by_voltage = 0; + hysteresis = 500; + } + else + { + force_off = true; + hysteresis = 500; + } + } + + + // [diA_v^hĂĵɏ[dĂȂ + // AiȂƂjf̓drcʂ60%ȏiCCICoOABT_IN_CHG_delayed_nɐD荞ݍς݁j + // = [dBdrւĂMGIC100%ԂȂ + if( !BT_CHG_Ena_n && BT_IN_CHG_delayed_n ){ + reg_volatile_temp_bt_remain = 100; + reg_volatile_temp_bt_remain_fine = 0; + } + else + { // dł̃Lbv|邩H + if( fuel_cap_by_voltage < reg_volatile_temp_bt_remain ) + { + reg_volatile_temp_bt_remain = fuel_cap_by_voltage; + reg_volatile_temp_bt_remain_fine = 0; + } + } + + /* + \ɖȂdĂ炵̂ŃPAł悵 + if( system_status.taikendai_nbd && system_status.model != MODEL_TS_BOARD ) // dr[qɓd‚ȂĂĒlsȂߏ㏑B + { + reg_volatile_temp_bt_remain = 100; + } + */ + + vreg_ctr[ VREG_C_BT_REMAIN ] = reg_volatile_temp_bt_remain; + vreg_ctr[ VREG_C_BT_REMAIN_FINE ] = reg_volatile_temp_bt_remain_fine; + + // twl̃WX^XV@(CTRɊ荞ݓOɍXVȂƊ荞݂̃^C~O܂Ȃ) + bt_batt_update_twl(); + + // cʂŊ荞݁B}ɌƔԂƂ // + { + static u8 bt_remain_old_ctr; + + if( bt_remain_old_ctr != reg_volatile_temp_bt_remain ) + // CTRɒʒm + { + if( (( vreg_ctr[ VREG_C_BT_REMAIN ] <= BATT_TH_LO ) && ( BATT_TH_LO < bt_remain_old_ctr ))|| + (( vreg_ctr[ VREG_C_BT_REMAIN ] <= BATT_TH_EMPTY ) && ( BATT_TH_EMPTY < bt_remain_old_ctr ))|| + (( vreg_ctr[ VREG_C_BT_REMAIN ] == 0 ) && ( bt_remain_old_ctr != 0 )) ) + { + set_irq( VREG_C_IRQ1, REG_BIT_BT_REMAIN ); + } + } + bt_remain_old_ctr = vreg_ctr[ VREG_C_BT_REMAIN ]; + } + + // PMIC-NTRɓdrcʂĂ + bt_batt_update_ntr(); +} + + + +/********************************************//** + tn̓d + + @Xe[^XtO͂ɗĂĂ܂B + + @sԂ邵A + + NsłΓd + + ʂ̃^XNœd͊ĎĂāAXe[^XNA + ***********************************************/ +err PM_LCD_on( ) +{ + err rv = ERR_ERR; + + PM_VDDLCD_on( ); // CGS AMO ؂ւĂ܂ + + if( system_status.family == FAMILY_SPFL ) + { + // SPFL ȂAt@XHV on Ԃɋ + wait_ms( 10 ); + SPFL_LCD_AMOL_HV_CONT = 1; + wait_ms( DELAY_PM_TSS_50B_AND_TCOM - 10 ); + } + else + { + // CTR + wait_ms( DELAY_PM_TSS_50B_AND_TCOM ); + } + + PM_TCOM_on( ); + + wait_ms( DELAY_PM_TCOM_TO_VCS ); + + PM_VCS_on( ); + + wait_ms( DELAY_PM_VCS_TO_BL ); + + if( PM_chk_LDSW() != 0 ) // pX + { + // dNG[Ȃd؂Ă܂Bł̓PAȂ + vreg_ctr[VREG_C_STATUS] |= REG_BIT_LCD_POW; + set_irq( VREG_C_IRQ3, REG_BIT_LCD_ON ); + rv = ERR_SUCCESS; + } + + return rv; +} + + +void PM_LCD_off() +{ + // BL‚ĂB// `FbN̂͊荞݂̊֌W + if( ( read_pmic( PM_REG_ADRS_BL ) & 0x03 ) != 0 ) + { + u8 tot; + + PM_BL_set( REG_BIT_CMD_BL_U_OFF | REG_BIT_CMD_BL_L_OFF ); + vreg_ctr[VREG_C_STATUS] &= bits8(1,0,0,1, 1,1,1,1); + + if( (( REG_BIT_BL_U_OFF | REG_BIT_BL_L_OFF ) & ~vreg_ctr[ VREG_C_IRQ_MASK3 ] ) != 0 ) + { + vreg_ctr[ VREG_C_IRQ3 ] |= ( ( REG_BIT_BL_U_OFF | REG_BIT_BL_L_OFF ) & ~vreg_ctr[ VREG_C_IRQ_MASK3 ] ); + IRQ0_neg; + tot = 0; + while( !IRQ0 && ( ++tot != 0 ) ){;} + IRQ0_ast; + } + vreg_ctr[VREG_C_COMMAND2] &= ~( REG_BIT_CMD_BL_U_OFF | REG_BIT_CMD_BL_L_OFF ); + } + + + + // 50msƂ҂‚AmF܂傤ˁc + if( read_pmic( PM_REG_ADRS_VDD_LCD ) != 0 ) + { + PM_TCOM_off(); + wait_ms( 1 ); + PM_TCOM_VCS_off( ); + wait_ms( DELAY_PM_LCD_OFF ); + + if( system_status.family == FAMILY_SPFL ) + { + // td؂ // + SPFL_LCD_AMOL_HV_CONT = 0; // ̃t@~łLȂ̂ŕQȂ + wait_ms( 10 ); // At@X15V؂Ƃ̃EFCgB + } + + PM_VDDLCD_off( ); // cĂ̑S~߂܂B + vreg_ctr[VREG_C_STATUS] &= ~REG_BIT_LCD_POW; + } + + set_irq( VREG_C_IRQ3, REG_BIT_LCD_OFF ); // ɔB}XN΁B +} + + + +/********************************************//** +@obNCǧ•on/off + +@󂩂@on/off/ێ@̃tOȂ̂Ŗʓ| + +@BL on/on ̏ԂŁAon/onɂƌĂAon/on荞݂܂B + ***********************************************/ +err PM_BL_set( u8 dat ) +{ + u8 blset; + u8 intset = 0; + // RMWs + + // Read + blset = read_pmic( PM_REG_ADRS_BL ); + + // Modify + // ue + if(( dat & REG_BIT_CMD_BL_U_ON ) != 0 ) + { + blset |= PM_REG_BIT_BL_U; + intset |= REG_BIT_BL_U_ON; + } + else if(( dat & REG_BIT_CMD_BL_U_OFF ) != 0 ) + { + blset &= ~PM_REG_BIT_BL_U; + intset |= REG_BIT_BL_U_OFF; + } + + // shita + if(( dat & REG_BIT_CMD_BL_L_ON ) != 0 ) + { + blset |= PM_REG_BIT_BL_L; + intset |= REG_BIT_BL_L_ON; + } + else if(( dat & REG_BIT_CMD_BL_L_OFF ) != 0 ) + { + blset &= ~PM_REG_BIT_BL_L; + intset |= REG_BIT_BL_L_OFF; + } + + if( blset != 0 ) // BLtꍇ̓EFCg܂ȂPWMĂ炸 + // Vbg_E邱Ƃ + { + wait_ms( 16 + 10 ); + } + send_cmd_pmic( PM_REG_ADRS_BL, blset ); + + // SoCPWMo悤WX^ZbgĂxL邽߁AXe[^X + // XVĂ܂BĂقƂ̗vB + + // PMICBL̃rbgƁAMCUSTATUSWX^̃rbgʒutȂߓւ + vreg_ctr[VREG_C_STATUS] = (( vreg_ctr[VREG_C_STATUS] & bits8(1,0,0,1, 1,1,1,1) ) + | ( (( blset << 6 ) | ( blset << 4 )) & bits8(0,1,1,0, 0,0,0,0) )); + + // 荞 + /// rbg܂Ƃ߂čŝŁAset_irq()gȂ + { + u8 tot; + + if( ( intset & ~vreg_ctr[ VREG_C_IRQ_MASK3 ] ) != 0 ) + { + vreg_ctr[ VREG_C_IRQ3 ] |= ( intset & ~vreg_ctr[ VREG_C_IRQ_MASK3 ] ); + IRQ0_neg; + tot = 0; + while( !IRQ0 && ( ++tot != 0 ) ){;} + IRQ0_ast; + } + } + + return( ERR_SUCCESS ); // łُ͈`FbNsv +} + + + +/********************************************//** + t̑Όd̐ݒs܂B + + zWX^̓e𑗂邾 + ***********************************************/ +void PM_LCD_vcom_set( ) +{ + send_cmd_pmic( PM_REG_ADRS_POW_DAC1, vreg_ctr[VREG_C_VCOM_T] ); // ȂƂɁAPMIC̓o[Xgݕs + send_cmd_pmic( PM_REG_ADRS_POW_DAC2, vreg_ctr[VREG_C_VCOM_B] ); + return; +} + + + +/********************************************//** + ŁAWX^݂Ăяo鎞̂ + + @I2C̎荇̊֌WłĂ + ***********************************************/ +task_status_immed tski_vcom_set( ) +{ + PM_LCD_vcom_set( ); + return ( ERR_FINISED ); +} + + + +/********************************************//** + V[PX̒ʂd𗧂グĂ䂫܂B + + - Ԓl 0 Ō܂ŐɊB + - 1 V[gȂǂœd肫Ȃ + ***********************************************/ +err PM_sys_pow_on( ) +{ + // dグ +// PM_reset_ast( ); sv PM_LDSW_on܂ + RESET2_ast; + FCRAM_RST_ast; + GYRO_DISABLE(); + + PM_LDSW_on( ); + + wait_ms( 1 + DELAY_PM_TW_PWUP ); + + PM_VDD_normMode(); + PM_VDD_on( ); +// wait_ms( DELAY_PM_TW_PWUP ); // GYROނ + wait_ms( 10 ); + GYRO_ENABLE(); + wait_ms( DELAY_PM_TW_PWUP - 10 ); + + PM_VDD50A_on( ); // tdł͂ȂAledƂɎĝł + + wait_ms( DELAY_PM_TW_PWUP ); + + // dN`FbNB + if( !PM_chk_LDSW() ) + { + return ( ERR_ERR ); // reset1͂قƂėǂ + } + + // dIC + pmic_version = read_pmic( PM_REG_ADRS_VER ); + read_mgic_2B( BT_GAUGE_REG_VERSION, mgic_version ); + + // ZbgȂǁBVXeNI + PM_reset_neg(); + FCRAM_RST_neg; + RESET2_neg; + + codec_reg_init(); // CODEC s背WX^(reset2̌łȂƂȂ̂) + ntr_pm_reg_shadow = 3<<2; // @V@ȂƂ... 0x00̓}ncodecoO΍ŏȂ̂ŁAêȂl + + return ( ERR_SUCCESS ); +} + + + + +/********************************************//** + dOFFV[PX + ***********************************************/ +void PM_sys_pow_off( ) +{ +// if( RESET1_n ) + if( PM_chk_LDSW() ) + { + // ُIłȂƂ + PM_BL_set( REG_BIT_CMD_BL_U_OFF | REG_BIT_CMD_BL_L_OFF ); + PM_LCD_off(); // TCOM,VCS OFF Ă܂B + wait_ms( 20 ); + + PM_reset_ast(); + } + + RESET2_ast; + FCRAM_RST_ast; + + wait_ms( 20 ); + + PM_off( ); + PM_LDSW_off( ); + +} + + + +/********************************************//** + extDC荞 + + dOFFNi[d̉xĎ̂߁ĵ + + i̓|[O(pm) + ***********************************************/ +__interrupt void intp4_extdc( ) +{ +} + + + +/********************************************//** + t^J‚ߊ荞 + + i̓|[O(misc) + ***********************************************/ +__interrupt void intp5_shell( ) +{ + ; +} + + +/********************************************//** + PMICւ̃R}h + ***********************************************/ +__interrupt void intp6_PM_irq( ) +{ + EI(); + if( system_status.pwr_state == ON ) + { + renge_task_immed_add( tski_ntr_pmic_comm ); + } +} + + +/********************************************//** + PMIC̊荞݂󂯂āANTR PMIC݊WX^烊[h + ***********************************************/ +task_status_immed tski_ntr_pmic_comm( ) +{ + u8 reg1_old; + u8 irq_work = 0; + + reg1_old = ntr_pm_reg_shadow; + ntr_pm_reg_shadow = iic_mcu_read_a_byte( IIC_SLA_CODEC, CODEC_REG_PM ); + if( iic_mcu_result != ERR_SUCCESS ) + { + return ( ERR_FINISED ); + } + +// DI( ); + + // obNCg //////////////////////////////////// + if( ( ( reg1_old ^ ntr_pm_reg_shadow ) & REG_BIT_TWL_REQ_BL_U ) != 0 ) + { + if( ( ntr_pm_reg_shadow & REG_BIT_TWL_REQ_BL_U ) == 0 ) // + { + irq_work = REG_BIT_TWL_BL_U_OFF; + } + else + { + irq_work = REG_BIT_TWL_BL_U_ON; + } + } + + // obNCg + if( ( ( reg1_old ^ ntr_pm_reg_shadow ) & REG_BIT_TWL_REQ_BL_L ) != 0 ) + { + if( ( ntr_pm_reg_shadow & REG_BIT_TWL_REQ_BL_L ) == 0 ) // + { + irq_work |= REG_BIT_TWL_BL_L_OFF; + } + else + { + irq_work |= REG_BIT_TWL_BL_L_ON; + } + } + +// EI(); + + vreg_ctr[ VREG_C_STATUS_1 ] = ( vreg_ctr[ VREG_C_STATUS_1 ] & ~REG_BIT_MASK_STATUS1_NTR_PM_REG ) + | ( ntr_pm_reg_shadow & REG_BIT_MASK_STATUS1_NTR_PM_REG ); // TWLobNCg̃~[ + + irq_work &= ~vreg_ctr[ VREG_C_IRQ_MASK2 ]; + // set_irq i + if( irq_work != 0 ) + { + u8 tot; + + vreg_ctr[ VREG_C_IRQ2 ] |= irq_work; + IRQ0_neg; // uグăpX𑗂蒼 + tot = 0; + while( !IRQ0 && ( ++tot != 0 ) ){;} // O.DȂ̂łƂ̂҂ IRQ_mcu LɔĂƍ(•s) + IRQ0_ast; + } + + /// obNCgAC𗘂ď肵܂B + + // offNGXg ////////////////////////////////////// + if( ( ntr_pm_reg_shadow & REG_BIT_TWL_REQ_OFF_REQ ) != 0 ) + { + set_irq( VREG_C_IRQ2, REG_BIT_TWL_OFF_REQ ); + } + + // ZbgNGXg ///////////////////////////////// + if( ( ntr_pm_reg_shadow & REG_BIT_TWL_REQ_RST_REQ ) != 0 ) + { + set_irq( VREG_C_IRQ2, REG_BIT_TWL_RESET_REQ ); + } + + // obNCg}XNď߂ + EI( ); + if( ( ntr_pm_reg_shadow & ( REG_BIT_TWL_REQ_OFF_REQ | REG_BIT_TWL_REQ_RST_REQ )) != 0 ) + { + ntr_pm_reg_shadow &= ~( REG_BIT_TWL_REQ_OFF_REQ | REG_BIT_TWL_REQ_RST_REQ ); + iic_mcu_write_a_byte_codec( CODEC_REG_PM, ntr_pm_reg_shadow ); + } + return ( ERR_FINISED ); +} + + + +/********************************************//** + command2 tn + +@ bp[IȕBERR_SUCCESSԂȂc + ***********************************************/ +task_status_immed tski_PM_LCD_on() +{ + PM_LCD_on(); + return( ERR_FINISED ); +} + +task_status_immed tski_PM_LCD_off() +{ + PM_LCD_off(); + return( ERR_FINISED ); +} + +task_status_immed tski_PM_BL_set() +{ + u8 cmd_BL; // volatileƂtȂĂv݂ + + do + { + cmd_BL = vreg_ctr[VREG_C_COMMAND2]; + PM_BL_set( cmd_BL ); // }XNς + } + while( cmd_BL != vreg_ctr[VREG_C_COMMAND2] ); // <- PM_BL_setXV + vreg_ctr[VREG_C_COMMAND2] = 0; + + return( ERR_FINISED ); +} + + + +/********************************************//** +@reset2 CODEC ɃZbgAWX^sɂȂ邽 + ***********************************************/ +void codec_reg_init() +{ + wait_ms( 100 ); + + ntr_pm_bt_low_old = conv_ctr_bt_to_twl_bt(); + + iic_mcu_write_a_byte_codec( CODEC_REG_BT, (u8)ntr_pm_bt_low_old ); // SoC 珑 + + vol_reset(); +// renge_task_immed_add( tski_vol_update ); |[ÔŁB + vol_polling = 3; +} + + +/********************************************//** + wp[Ƃbp[ƂH + + ROMߖ̂ + ***********************************************/ +err send_cmd_mgic_2B( u8 reg, u16 dat ) +{ + u16 temp = dat; // Mobt@ + return iic_mcu_write( IIC_SLA_BT_GAUGE, reg, 2, &temp ); // DMA]̂őMf[^obt@̃|C^ǂKv +} + +err read_mgic_2B( u8 reg, u8* dat ) // Mobt@͌Œ +{ + return iic_mcu_read( IIC_SLA_BT_GAUGE, reg, 2, dat ); +} + +err send_cmd_pmic( u8 reg, u8 dat ) +{ + return iic_mcu_write_a_byte( IIC_SLA_PMIC, reg, dat ); +} + +u8 read_pmic( u8 reg ) +{ + return iic_mcu_read_a_byte( IIC_SLA_PMIC, reg ); +} + + +/********************************************//** + dr[J[ƃfAgdrp[^̌ + ***********************************************/ +void bt_param_select() +{ + BT_TYPE bt_type_temp; + // ΉĂ番R[h‚ + if( battery_manufacturer <= BT_VENDER_3 ) + { + bt_type_temp = BT_PARAM_CTR_MAXELL; + } + else + { + bt_type_temp = BT_PARAM_CTR_PANA; + } + + if( system_status.family == FAMILY_SPFL ) + { + bt_type_temp += BT_PARAM_SPFL_MAXELL; // ItZbg cOȎŁcB + } + else if( system_status.family == FAMILY_SHRIMP ) + { + bt_type_temp += BT_PARAM_SHRIMP_MAXELL; + } + p_bt_param = &bt_param[ bt_type_temp ]; +} + + + + +#define TWL_BT_LEVEL_THREASH_F 60 +#define TWL_BT_LEVEL_THREASH_B 30 +#define TWL_BT_LEVEL_THREASH_1 0 + +/********************************************//** + TWLɓdrcʂĂ + ***********************************************/ +static void bt_batt_update_twl() +{ + if (vreg_ctr[VREG_C_BT_REMAIN] > TWL_BT_LEVEL_THREASH_F ) + { + vreg_twl[REG_TWL_INT_ADRS_POWER_INFO] = 0x0F; + } + else if (vreg_ctr[VREG_C_BT_REMAIN] > TWL_BT_LEVEL_THREASH_B ) + { + vreg_twl[REG_TWL_INT_ADRS_POWER_INFO] = 0x0B; + } + else if (vreg_ctr[VREG_C_BT_REMAIN] > BATT_TH_LO) + { + vreg_twl[REG_TWL_INT_ADRS_POWER_INFO] = 0x07; + } + else if (( vreg_ctr[ VREG_C_BT_REMAIN ] > BATT_TH_EMPTY )|| + !BT_CHG_Ena_n ) + { // A_v^̗LŒグ + vreg_twl[REG_TWL_INT_ADRS_POWER_INFO] = 0x03; + } + else if (vreg_ctr[VREG_C_BT_REMAIN] > TWL_BT_LEVEL_THREASH_1 ) + { + vreg_twl[REG_TWL_INT_ADRS_POWER_INFO] = 0x01; + } + else + { + vreg_twl[REG_TWL_INT_ADRS_POWER_INFO] = 0x00; + } +} + + +/********************************************//** + NTRɓdrcʂĂ + ***********************************************/ +static void bt_batt_update_ntr() +{ + static bit initialized; + static bit flag; // HstaticłȂƃRpCɓ{ + + if( system_status.pwr_state == OFF_TRIG ) + { + initialized = false; + } + else + { + + flag = conv_ctr_bt_to_twl_bt(); + + if(( ntr_pm_bt_low_old != flag ) || !initialized ) + { + initialized = true; + ntr_pm_bt_low_old = flag; + iic_mcu_write_a_byte_codec( CODEC_REG_BT, (u8)flag ); + } + } +} + + +/********************************************//** + drcʂǂł + ***********************************************/ +static err read_BT_SOC( u8* dest ) +{ +#ifdef _ENABLE_HAL_ + if( vreg_ctr[ VREG_C_HAL_OVW_BT_FUEL ] != 0xFF ) // trueȂHALL +#else + if( 0 ) +#endif + { + *dest = vreg_ctr[ VREG_C_HAL_OVW_BT_FUEL ]; + *(dest+1) = 0x00; + return ERR_SUCCESS; + } + else + { + return( read_mgic_2B( BT_GAUGE_REG_SOC, dest ) ); + } +} + + +/********************************************//** + drdǂł + ***********************************************/ +static err read_BT_voltage( u8* dest ) +{ +#ifdef _ENABLE_HAL_ + if( vreg_ctr[ VREG_C_HAL_OVW_BT_VOLTAGE ] != 0xFF ) // trueȂHALL +#else + if( 0 ) +#endif + { + *dest = vreg_ctr[ VREG_C_HAL_OVW_BT_VOLTAGE ]; +// *(dest+1) = 0x00; // gȂ@ǂQoCg[h֐pӂĂȂ̂ł + return ERR_SUCCESS; + } + else + { + return( read_mgic_2B( BT_GAUGE_REG_VCELL, dest ) ); + } +} + + +/********************************************//** + drcʂtwlɃtOɕϊ + ***********************************************/ +static u8 conv_ctr_bt_to_twl_bt() +{ +// ntr_pm_bt_low_old = ( vreg_ctr[ VREG_C_BT_REMAIN ] <= BATT_TH_LO )? NTR_PM_BT_EMPTY: NTR_PM_BT_ENOUGH; // 1œdr؂ + if( vreg_ctr[ VREG_C_BT_REMAIN ] <= BATT_TH_LO ) + { + return NTR_PM_BT_EMPTY; + } + else + { + return NTR_PM_BT_ENOUGH; + } +} diff --git a/tags/2.19_SDK4(3rdNUP)/pm.h b/tags/2.19_SDK4(3rdNUP)/pm.h new file mode 100644 index 0000000..942da87 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/pm.h @@ -0,0 +1,216 @@ +#ifndef __PM__ +#define __PM__ + + + +#define IIC_SLA_PMIC 0x84 +#define IIC_SLA_BT_GAUGE 0x6C + +#define VCOM_DEFAULT_T 92 +#define VCOM_DEFAULT_B 95 + + + +#define BATT_TH_LO 10 +#define BATT_TH_EMPTY 5 + +// dWX^ƒڔrłpɃItZbg +#define V_BT_4000MV (u16)( 4000 * 12.8 ) // dǂݏosp 4000mVݒ +#define V_TH_30 (u16)( 3300 * 12.8 ) // 30% +#define V_TH_LO (u16)( 3200 * 12.8 ) // 10% +#define V_TH_EMPTY (u16)( 3150 * 12.8 ) // 5% +#define V_TH_ZERO (u16)( 3100 * 12.8 ) // 0% +#define V_TH_FORCE_OFF (u16)( 2900 * 12.8 ) // 2.9V ŏIf + + +//========================================================= +#ifdef _WIN32 +#define LED_CHARGE mcuRegP[ _P2_4 ] +#else +#define LED_CHARGE P2.4 +#endif + + +//========================================================= +enum PMIC_REG_ADRS +{ + PM_REG_ADRS_VER = 0x00, // verinfo Ȃ + PM_REG_ADRS_VDD_SYS, // VXegpd + PM_REG_ADRS_VDD_LCD, // td + PM_REG_ADRS_CONT, // /RESET1, LoadSwitch + PM_REG_ADRS_BL, // obNCg on/off + PM_REG_ADRS_POW_SAVE, // ȓd͐ݒ + PM_REG_ADRS_POW_DAC1, + PM_REG_ADRS_POW_DAC2 +}; + +enum BT_GAUGE_REG_ADRS +{ + BT_GAUGE_REG_VCELL = 0x02, // ꂼ16rbĝ + BT_GAUGE_REG_SOC = 0x04, + BT_GAUGE_REG_MODE = 0x06, + BT_GAUGE_REG_VERSION = 0x08, + BT_GAUGE_REG_OCV = 0x0E, + BT_GAUGE_REG_RCOMP = 0x0C, + BT_GAUGE_REG_LOCK = 0x3E, + BT_GAUGE_REG_BT_PARAM = 0x40, + BT_GAUGE_REG_COMMAND = 0xFE +}; + + +typedef enum BT_VENDER +{ + BT_VENDER_MAXELL = 0, // V[g + BT_VENDER_1, // 120 + BT_VENDER_2, // 360 + BT_VENDER_3, // 750 + BT_VENDER_4, // 1.3k + BT_VENDER_PANA = 5, // 2.7k + BT_VENDER_6, // 8.2k + BT_VENDER_OPEN = 7, // open + BT_VENDER_NOT_CHECKED = 0xFF, +}BT_VENDER; + + + +enum NTR_PM_BT_STATUS{ + NTR_PM_BT_ENOUGH, + NTR_PM_BT_EMPTY, + NTR_PM_BT_NOT_INITIALIZED = 0xFF +}; + + + +//========================================================= +// CODECPMIC݊WX^ +#define CODEC_REG_PM 0x10 +#define CODEC_REG_BL 0x11 +#define CODEC_REG_BT 0x12 +//#define CODEC_REG_VOL 0x13 // ...sɂAadc.hŒ` + +// TWLSPIPMICɓR}h +#define REG_BIT_TWL_REQ_OFF_REQ ( 1 << 6 ) +#define REG_BIT_TWL_REQ_RST_REQ ( 1 << 0 ) +#define REG_BIT_TWL_REQ_BL ( 3 << 2 ) + + + + +// 0x03 pw cnt3 +#define PM_REG_BIT_LDSW ( 1 << 0 ) +#define PM_REG_BIT_nRST1 ( 1 << 1 ) + +// 0x01 pw cnt1 +#define PM_REG_BIT_VDD 0x0F +#define PM_REG_BIT_VDD50A ( 1 << 4 ) + +// 0x02 pw cnt2 +#define PM_REG_BIT_VDDLCD_CGS 0x07 +#define PM_REG_BIT_VDDLCD_AMO 0x05 +#define PM_REG_BIT_LCD_VCS ( 0x01 << 4 ) +#define PM_REG_BIT_LCD_TCOM ( 0x01 << 3 ) + +// 0x04 bl cnt +#define PM_REG_BIT_BL_U 0x01 +#define PM_REG_BIT_BL_L 0x02 + + +// 0x05 pow save +#define PM_REG_BIT_VDD1P_1R15 bits8(0,0,0,0, 0,0,0,0) +#define PM_REG_BIT_VDD1P_1R05 bits8(0,0,0,0, 1,0,0,0) +#define PM_REG_BIT_VDD1P_0R90 bits8(0,0,1,0, 0,0,0,0) +#define PM_REG_BIT_VDD_AUTO bits8(0,0,0,0, 0,1,1,1) +#define PM_REG_BIT_VDD_PWM bits8(0,0,0,0, 0,0,0,0) + + +#define DELAY_PM_TW_PWUP 16 + 2 +#define DELAY_PM_TSS_50B_AND_TCOM 17 + 1 +#define DELAY_PM_5V_TO_TCOM 17 + 1 +#define DELAY_PM_TCOM_TO_VCS 3 +#define DELAY_PM_VCS_TO_BL ( 17 + 5 ) +#define DELAY_PM_LCD_OFF ( 50 + 1 ) + + +//========================================================= +extern u8 raw_adc_temperature; +extern BT_VENDER battery_manufacturer; +extern bit bt_force_update; + +extern u8 pmic_version; +extern u8 mgic_version[]; + +extern u8 pm_reg_bit_vddlcd; // At@XΉ(dV[PXႤ) + + +//========================================================= +err PM_sys_pow_on( ); +void PM_sys_pow_off( ); +//err PM_bt_auth( ); +void PM_LCD_vcom_set( ); + +err PM_LCD_on( ); +void PM_LCD_off( ); +err PM_BL_set( u8 ); + + +void BT_chk(); +void BT_get_left(); +void pm_chk_adapter(); + +void codec_reg_init(); + + +task_status_immed tski_BT_temp_update( ); +task_status_immed tski_vcom_set( ); +task_status_immed tski_PM_LCD_on(); +task_status_immed tski_PM_LCD_off(); +task_status_immed tski_PM_BL_set(); + + +err send_cmd_pmic( u8 reg, u8 dat ); +u8 read_pmic( u8 reg ); + + +#define PM_Chg_Stop() { BT_TEMP_P = 0; BT_CHG_DISABLE(); LED_CHARGE = 0; bt_authorized = false; } +// @ĂԑOɁA݉xĂKv܂B +#define PM_reset() ( send_cmd_pmic( PM_REG_ADRS_CONT, 0x00 ) ) + + +//========================================================= + + +// // +#define PM_LDSW_on() ( send_cmd_pmic( PM_REG_ADRS_CONT, PM_REG_BIT_LDSW )) +#define PM_LDSW_off() ( send_cmd_pmic( PM_REG_ADRS_CONT, 0 )) + + +// VXed // +#define PM_VDD_on() ( send_cmd_pmic( PM_REG_ADRS_VDD_SYS, PM_REG_BIT_VDD )) +#define PM_VDD50A_on() ( send_cmd_pmic( PM_REG_ADRS_VDD_SYS, ( PM_REG_BIT_VDD | PM_REG_BIT_VDD50A ))) +#define PM_VDD_off() ( send_cmd_pmic( PM_REG_ADRS_VDD_SYS, 0 )) +#define PM_off() PM_VDD_off() + +#define PM_VDD_normMode() ( send_cmd_pmic( PM_REG_ADRS_POW_SAVE, PM_REG_BIT_VDD1P_1R15 | PM_REG_BIT_VDD_PWM )) +#define PM_VDD_ecoMode() ( send_cmd_pmic( PM_REG_ADRS_POW_SAVE, PM_REG_BIT_VDD1P_0R90 | PM_REG_BIT_VDD_AUTO )) +// todo YŃRAdς邩Ȃ + +// ق // +#define PM_reset_neg() ( send_cmd_pmic( PM_REG_ADRS_CONT, ( PM_REG_BIT_LDSW | PM_REG_BIT_nRST1 ))) +#define PM_reset_ast() ( send_cmd_pmic( PM_REG_ADRS_CONT, ( PM_REG_BIT_LDSW ))) +#define PM_chk_LDSW() ( read_pmic( PM_REG_ADRS_CONT ) & PM_REG_BIT_LDSW ) +// 1̂ƂAdon + +// tnd // +#define PM_VDDLCD_on() ( send_cmd_pmic( PM_REG_ADRS_VDD_LCD, pm_reg_bit_vddlcd )) +#define PM_TCOM_on() ( send_cmd_pmic( PM_REG_ADRS_VDD_LCD, ( pm_reg_bit_vddlcd | PM_REG_BIT_LCD_TCOM ))) +#define PM_VCS_on() ( send_cmd_pmic( PM_REG_ADRS_VDD_LCD, ( pm_reg_bit_vddlcd | PM_REG_BIT_LCD_VCS | PM_REG_BIT_LCD_TCOM ))) +#define PM_TCOM_off() ( send_cmd_pmic( PM_REG_ADRS_VDD_LCD, ( pm_reg_bit_vddlcd | PM_REG_BIT_LCD_VCS ))) +#define PM_TCOM_VCS_off() PM_VDDLCD_on() +#define PM_VDDLCD_off() ( send_cmd_pmic( PM_REG_ADRS_VDD_LCD, 0 ) ) + +#define PM_set_BL( dat ) ( send_cmd_pmic( PM_REG_ADRS_BL, dat ) ) +#define PM_set_adc1( dat ) ( send_cmd_pmic( PM_REG_ADRS_POW_DAC1, dat ) ) +#define PM_set_adc2( dat ) ( send_cmd_pmic( PM_REG_ADRS_POW_DAC2, dat ) ) + + +#endif // __PM__ diff --git a/tags/2.19_SDK4(3rdNUP)/pool.h b/tags/2.19_SDK4(3rdNUP)/pool.h new file mode 100644 index 0000000..81c8091 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/pool.h @@ -0,0 +1,24 @@ +#ifndef _pool_h_ +#define _pool_h_ + + +#include "pedometer.h" + +#define VREG_C_FREE_SIZE 200 + +// 󂢂Ă郁 +typedef struct _st_vreg_c_ext{ + unsigned short pedo_log[ PEDOMETER_LOG_SIZE ]; + unsigned char vreg_c_free[ VREG_C_FREE_SIZE ]; +}st_vreg_c_ext; + +typedef union _uni_pool +{ + st_vreg_c_ext vreg_c_ext; + u8 self_update_work[ 256 ]; // 256ȏ͂܂ƂߏłȂ +}uni_pool; + +extern uni_pool pool; + + +#endif diff --git a/tags/2.19_SDK4(3rdNUP)/reboot.c b/tags/2.19_SDK4(3rdNUP)/reboot.c new file mode 100644 index 0000000..53912a5 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/reboot.c @@ -0,0 +1,23 @@ +/********************************************************//* + ނ胊u[g + + t@CɃCCAZuƁA + ̃W[SœKȂȂ邽ߒǂo + $Id$ + **********************************************************/ +#pragma SFR + +#include "incs_loader.h" + + +void my_reboot(){ +#asm + + MOV PSW,#06H ; _~[PSWZbg + MOVW AX,#000d0h ; Zbg̃xN^l荞ł܂B + PUSH PSW + PUSH AX ; RETÎ߂̃X^bN + RETI ; ŃZbgExN^ɕ + +#endasm +} diff --git a/tags/2.19_SDK4(3rdNUP)/reboot.h b/tags/2.19_SDK4(3rdNUP)/reboot.h new file mode 100644 index 0000000..c20e11e --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/reboot.h @@ -0,0 +1,6 @@ +#ifndef __MYREBOOT__ +#define __MYREBOOT__ + +void my_reboot(); + +#endif diff --git a/tags/2.19_SDK4(3rdNUP)/renge/renge.c b/tags/2.19_SDK4(3rdNUP)/renge/renge.c new file mode 100644 index 0000000..bab45cc --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/renge/renge.c @@ -0,0 +1,313 @@ +#ifndef _WIN32 + +#pragma section @@CODE ROM_CODE +#pragma nop +#pragma ei +#pragma di +#pragma sfr + +#endif + + +#ifdef _WIN32 +typedef unsigned char bit; +typedef unsigned char u8; +#endif + +/****************************************************************************** + ^XNVXeH + ȂقǁAiTRONɂ̓RtBM[^͂B + ܂ + ctr_mcu_config.rb QƁB task_config.h쐬܂B + *****************************************************************************/ +#include "renge.h" +#include "renge_task_intval.h" +#include "renge_task_immediate.h" +#include "..\WDT.h" +#include "..\config.h" +#include "..\user_define.h" +#include "..\util_funcs.h" + + +#ifdef _WIN32 +#include "../sim/simOnWin.h" +#endif +//#define _renge_test_ + +#define true 1 +#define false 0 + +//****************************************************************************** +u8 renge_flg_interval; +bit renge_task_interval_run_force; +bit renge_task_immediate_not_empty; + + +#include "..\bsr_system.h" +extern system_status_ system_status; + + +//****************************************************************************** +static void renge_task_immed_init(); +static void renge_task_immed_del(); + + + +//****************************************************************************** +task_status_immed ( *tasks_immed[ TASK_IMMED_RUN_LIST_MAX ] )(); + + + +/****************************************************************************** + +E^XNVXe̓Ȉ +EC^[o^C} + *****************************************************************************/ +void renge_init(){ + renge_task_immed_init(); + /* + Cxg^C}̃ZbgȂ + RTC𗬗pĂ̂ŃRgAEg + #define renge_tick 19xxxxxxx [ms] + renge_interval_init(); RTC_init(); + */ +} + + + +/****************************************************************************** + VXe`bNi߂ + *****************************************************************************/ +/* +void renge_interval(){ +// RTCĂ +__interrupt void int_rtc_int(); +} +*/ + + + +/****************************************************************************** + RpCɌ܂ĂAC^[oÑ^XN + ̂ANƍ邩ȂB + *****************************************************************************/ +__callt err renge_task_interval_run(){ + u8 i; + + // C^[oN + DI_wt_chk(); + if(( renge_flg_interval != 0 ) || + ( renge_task_interval_run_force )) /// ȁc + { + renge_task_interval_run_force = false; // N^XNA荞ރ^XNŃtO‚Ȃ̂ + if( renge_flg_interval != 0 ) + { + renge_flg_interval --; + WDT_Restart( ); + } + EI(); + for( i = 0; i != TSK_LAST; i ++ ) + { + tasks[ i ](); + // N^XNԂɋ + renge_task_immed_run(); + } + } + EI(); + return( ERR_SUCCESS ); +} + + + +/***************************************************************************** + N^XN + + task_immed Ԃ֐B + VXetickA炩̊荞݁iI2CʐMȂǁj + X[v畜A^C~OŎs܂B + +Ԓl@ERR_FINISED@^XN폜 +@@@@ȊO ̃^C~Oł܂s + + *****************************************************************************/ + + +/************************************** + **************************************/ +void renge_task_immed_init(){ + u8 i; + + for( i = 0; i < TASK_IMMED_RUN_LIST_MAX; i++ ){ + tasks_immed[ i ] = TSK_IMM_EMPTY_; + } +} + + + +/************************************** + s^XN̓o^ + 荞݋֎~ 36us + **************************************/ +__callt err renge_task_immed_add( task_status_immed (*new_task)() ){ + u8 i; + + // Xg̋󂫂̐擪ɓo^ + // 폜΂̃^XŃA폜}[N(TSK_IMM_DELETED_)ƂȂA󂫂Ƃ͖Iɋʂ + // do^ + for( i = 0; i < TASK_IMMED_RUN_LIST_MAX; i ++ ) + { + DI_wt_chk(); + if( tasks_immed[ i ] == TSK_IMM_EMPTY_ ) + { + // 󂫂‚ + tasks_immed[ i ] = new_task; + EI(); + return( ERR_SUCCESS ); + } + else + { + // do^`FbN + /// ɂȂĂȂAOl߂ĂO + if( tasks_immed[ i ] == new_task ) + { + // do^͂Ȃ + EI(); + return( ERR_ERR ); + } + } + EI(); + } + // ^XNo^(͂ + return( ERR_ERR ); +} + + + +/************************************** + s^XN̎s + **************************************/ +__callt err renge_task_immed_run(){ + u8 list_id; + +// while( tasks_immed[ 0 ] != TSK_IMM_EMPTY_ ) + if( tasks_immed[ 0 ] != TSK_IMM_EMPTY_ ) + { + DI_wt_chk(); + for( list_id = 0; list_id < TASK_IMMED_RUN_LIST_MAX; list_id ++ ){ + if( tasks_immed[ list_id ] == TSK_IMM_EMPTY_ ){ + // Xg + EI(); + break; + } +#ifdef _renge_test_ + else if( tasks_immed[ list_id ] == TSK_IMM_DELETED_ ) + { + EI(); + NOP(); + // ^XNǗ̕s + // ݂Ȃ^XNs悤Ƃ + // ^XN̍폜̏܂ + // \Ȃ^C~O immed_run Ă΂ꂽ + } +#endif + else + { + u8 rv; + + EI(); + rv = tasks_immed[ list_id ](); // ^XNs + if( rv == ERR_SUCCESS ) + { + tasks_immed[ list_id ] = TSK_IMM_DELETED_; + } + // ǂ^C~Oœ^XN̓o^ƍ̂DIԂłė鎖 + } + DI_wt_chk(); + } + // Xg̃^XNʂs + + // ^XN폜 // + { + u8 i = 0; // Xg̕בւ + u8 j = 1; + + // K i < jAj < TASK_IMMED_RUN_LIST_MAX (łȂƃ^XNӂ) + while( 1 ) + { + if( tasks_immed[ i ] == TSK_IMM_EMPTY_ ) + { + // Olߊ && Xg + // break; + goto imm_list_sort_fin; + } + else if( tasks_immed[ i ] == TSK_IMM_DELETED_ ) + { + for( ; j < TASK_IMMED_RUN_LIST_MAX; j++ ) + { + if( tasks_immed[ j ] == TSK_IMM_DELETED_ ) + { + // ׁiHj폜Ώۂ + // next j + } + else + { + DI_wt_chk(); + if( tasks_immed[ j ] == TSK_IMM_EMPTY_ ) + { + do{ + j --; + tasks_immed[ j ] = TSK_IMM_EMPTY_; + // XgOlߊ + }while( i < j ); + EI(); + goto imm_list_sort_fin; + } + else + { + // Ol߂ׂ^XN‚ + tasks_immed[ i ] = tasks_immed[ j ]; + tasks_immed[ j ] = TSK_IMM_DELETED_; + i ++; + EI(); + } + } + } + } + else + { + // ̃^XNAؗ + } + i ++; + } + } + } + +imm_list_sort_fin: + // ܂łŊSɑOl߂Ă +#ifdef _renge_test_ + /// ق? + { + u8 a,b; + + a = 0; + for( b = 0 ; b < TASK_IMMED_RUN_LIST_MAX; b++ ) + { + if( tasks_immed[ b ] == TSK_IMM_EMPTY_ ) + { + a = 1; + } + else + { + if( a != 0 ) + { + NOP(); // EMPTYɃ^XNdeletedL + } + } + } + } +#else + NOP(); // Ȃ񂩖ƃJ{ +#endif +// } + return( ERR_SUCCESS ); +} diff --git a/tags/2.19_SDK4(3rdNUP)/renge/renge.h b/tags/2.19_SDK4(3rdNUP)/renge/renge.h new file mode 100644 index 0000000..9c7b2e4 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/renge/renge.h @@ -0,0 +1,26 @@ +#ifndef __renge__ +#define __renge__ + +//****************************************************************************** + + + +//****************************************************************************** +#include "renge_defs.h" +#include "renge_task_immediate.h" +// #include "renge_task_interval_run.h" // O狭N֎~I + +//****************************************************************************** +void renge_init(); +void renge_task_immed_init(); +__callt err renge_task_immed_run(); +__callt err renge_task_immed_add( task_status_immed (*p_task_func)() ); +// static err renge_task_immed_del( u8 ); + + +//****************************************************************************** +__callt err renge_task_interval_run(); +extern u8 renge_flg_interval; +extern bit renge_task_interval_run_force; // ^XNstO + +#endif diff --git a/tags/2.19_SDK4(3rdNUP)/renge/renge_defs.h b/tags/2.19_SDK4(3rdNUP)/renge/renge_defs.h new file mode 100644 index 0000000..0199d76 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/renge/renge_defs.h @@ -0,0 +1,55 @@ +#ifndef __renge_defs__ +#define __renge_defs__ +/****************************************************************************** + Renge Ver.0 (2009/04/09) + 2009- 7k4jhl R.Fujita @ RED.nintendo + + OSɂ͂قljAȈՓIȃ^XNVXeB + Range Typo ł͂ȂłBQłB + + Ȃ Q ͑̂œ{ QQ + ǖɗ–𑐂łB + 傫ĂˁI + ******************************************************************************/ + +typedef unsigned char u8; +typedef signed char s8; +typedef unsigned short u16; +typedef signed short s16; + + +// ************************************ +#define SYS_INTERVAL_TICK 1.953 + + + +// ************************************ +typedef enum _ERR +{ + ERR_SUCCESS = 0, + ERR_ERR +}err; + + +typedef enum _IMMED_TASK_ERR +{ + ERR_FINISED = 0, + ERR_CONTINUE +}IMMED_TASK_ERR; + + + +/************************************** + C^[oN + *************************************/ +typedef void task_status; + + +/************************************** + Ñ^XNXg + p~ɂȂ邩Ȃ + *************************************/ +typedef IMMED_TASK_ERR task_status_immed; + + +#endif diff --git a/tags/2.19_SDK4(3rdNUP)/renge/renge_task_config.rb b/tags/2.19_SDK4(3rdNUP)/renge/renge_task_config.rb new file mode 100644 index 0000000..c2de509 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/renge/renge_task_config.rb @@ -0,0 +1,59 @@ +#!/usr/bin/ruby -Ks + +tasklist = Array.new + + +if( ARGV[0] == nil ) + printf( "t@C renge_tasks.txt gp܂" ) + datfile = "renge_tasks.txt" +else + datfile = ARGV[0] +end + +if( !File.exist?( datfile ) ) + printf("ݒt@C‚܂B") + exit( 1 ) +end + + +setting = File.open( datfile ) + +setting.each{|dat| + dat.chomp! + if( dat != nil ) + tasklist << dat + end +} + +tasklist.each{|dat| + printf( "\n%s" , dat ) +} +printf( "\n----------\n^XN %d \n", tasklist.size ) + + +#----- ÓI^XN̗ ------------------------------------------------------- +conf = File.new( "renge_task_intval.h", "w+" ) + +conf << "/*XNvgɂ鎩łB蓮ŏȂ悢ł*/\n\n" +conf << "#ifndef __renge_task__\n#define __renge_task__\n\n" +conf << "#include \"renge_defs.h\"\n\n" + +conf << "enum {\n " +tasklist.each{|dat| + conf << "TSK_" << dat.upcase << ", " +} +conf << "TSK_LAST \n };\n\n" + + +tasklist.each{|dat| + conf << "extern void tsk_" << dat << "();\n" +} +conf << "\n" + +conf << "const void ( *tasks[ TSK_LAST ] )() = {\n" +tasklist.each{|dat| + conf << " tsk_" << dat << ",\n" +} +conf << " };\n" + +conf << "\n#endif\n" diff --git a/tags/2.19_SDK4(3rdNUP)/renge/renge_task_immediate.h b/tags/2.19_SDK4(3rdNUP)/renge/renge_task_immediate.h new file mode 100644 index 0000000..9ac3bd2 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/renge/renge_task_immediate.h @@ -0,0 +1,25 @@ +#ifndef __tasks__ +#define __tasks__ + +#include "renge_defs.h" + +// ************************************* +#define TASK_IMMED_RUN_LIST_MAX 10 + + +extern task_status_immed tski_do_command0( ); +extern task_status_immed tski_ntr_pmic_comm(); +extern task_status_immed tski_acc_read(); +extern task_status_immed tski_acc_write(); +//extern task_status_immed tski_acc_setup(); // accero.h +extern task_status_immed tski_mcu_reset(); +extern task_status_immed tski_vol_update(); + + +// ************************************* +#define TSK_IMM_EMPTY_ ( void * )( 0x0000 ) +#define TSK_IMM_DELETED_ ( void * )( 0x0001 ) + + + +#endif diff --git a/tags/2.19_SDK4(3rdNUP)/renge/renge_task_intval.h b/tags/2.19_SDK4(3rdNUP)/renge/renge_task_intval.h new file mode 100644 index 0000000..9b0d9ea --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/renge/renge_task_intval.h @@ -0,0 +1,37 @@ +/*XNvgɂ鎩łB蓮ŏȂ悢ł*/ + +#ifndef __renge_task__ +#define __renge_task__ + +#include "renge_defs.h" + +enum TSK +{ + TSK_SW, TSK_ADC, TSK_BATT, TSK_LED_POW, TSK_LED_WIFI, TSK_LED_NOTIFY, TSK_LED_CAM, TSK_MISC, TSK_STATUS, TSK_SYS, TSK_LAST + }; + +extern void tsk_sw(); +extern void tsk_adc(); +extern void tsk_batt(); +extern void tsk_led_pow(); +extern void tsk_led_wifi(); +extern void tsk_led_notify(); +extern void tsk_led_cam(); +extern void tsk_misc(); +extern void tsk_status(); +extern void tsk_sys(); + +const void ( *tasks[ TSK_LAST ] )() = { + tsk_sw, + tsk_adc, + tsk_batt, + tsk_led_pow, + tsk_led_wifi, + tsk_led_notify, + tsk_led_cam, + tsk_misc, + tsk_status, + tsk_sys, + }; + +#endif diff --git a/tags/2.19_SDK4(3rdNUP)/renge/renge_tasks.txt b/tags/2.19_SDK4(3rdNUP)/renge/renge_tasks.txt new file mode 100644 index 0000000..73af545 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/renge/renge_tasks.txt @@ -0,0 +1,11 @@ +sw +adc +batt +led_pow +led_wifi +led_notify +led_cam +misc +status +debug +sys diff --git a/tags/2.19_SDK4(3rdNUP)/rtc.c b/tags/2.19_SDK4(3rdNUP)/rtc.c new file mode 100644 index 0000000..dd2d1a9 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/rtc.c @@ -0,0 +1,182 @@ +/* ======================================================== + RTC + $Id$ + ======================================================== */ +#ifndef _WIN32 + +#pragma sfr +#pragma inline + +#endif + +#include "incs.h" + + +#define RTC_DATA_SIZE 7 +// ======================================================== +static u8 rtc_work[RTC_DATA_SIZE]; +static bit rtc_lock; +static bit rtc_dirty; +bit rtc_alarm_dirty; + + +/********************************************//** + ytF̏ + + WX^̓drrbg̃Zbg + ***********************************************/ +void RTC_init( void ) +{ + + if( !RTCEN ) // rbgĂ烊u[g + { + RTCEN = 1; // W[ON + + // RTCݒ + RTCC0 = bits8(0,0,0,0, 1,0,0,0); /* ~A24ԐA32kóu܂ȂvA荞݂Ȃ */ + // (RTCE 0 RCLOE1 RCLOE0 AMPM CT2 CT1 CT0) + RTCC1 = bits8(1,1,0,0, 0,0,0,0); /* A[荞ݗLJn */ + // (WALE WALIE 0 WAFG RIFG 0 RWST RWAIT) + RTCC2 = bits8(1,0,0,0, 0,0,0,0); /* C^[o:32k/2^6=2msARTCDIVo͂Ȃ */ + // (RINTE RCLOE2 RCKDIV 0 0 ICT2 ICT1 ICT0) + + HOUR = 0x00; + MIN = 0x00; + SEC = 0x00; + MONTH = 0x01; + DAY = 0x01; + WEEK = 0x01; // Mon + YEAR = 0x01; + + ALARMWW = 0x7F; + + vreg_ctr[VREG_C_MCU_STATUS] |= REG_BIT_RTC_BLACKOUT; + } + // 荞ݐݒ + RTCIF = 0; + RTCIIF = 0; + RTCMK = 1; /* 荞()֎~ */ + RTCIMK = 0; /* 荞(A[&C^[o) */ + + RTCE = 1; /* Jn */ + + RWAIT = 1; + while( !RWST ) + {;} + RWAIT = 0; + + rtc_lock = false; + rtc_dirty = false; + rtc_alarm_dirty = false; +} + + + +/********************************************//** + RTC A[荞 + ***********************************************/ +__interrupt void int_rtc( ) +{ + RWAIT = 1; + while( !RWST ) + {;} + // tw + if( ( vreg_ctr[VREG_C_RTC_ALARM_DAY] == DAY ) + && ( vreg_ctr[VREG_C_RTC_ALARM_MONTH] == MONTH ) + && ( vreg_ctr[VREG_C_RTC_ALARM_YEAR] == YEAR ) ) + { + set_irq( VREG_C_IRQ1, REG_BIT_RTC_ALARM ); + } + RWAIT = 0; +} + + + +/********************************************//** + RTC ̃[h + + WX^́Asec,min,hour,week,day,month,year ̏ + ***********************************************/ +void rtc_buf_refresh( ) +{ + if( !rtc_lock ) + { + rtc_lock = true; + RWAIT = 1; + while( !RWST ) + {;} + + memcpy( &vreg_ctr[VREG_C_RTC_SEC], &SEC, RTC_DATA_SIZE ); + RWAIT = 0; +// renge_task_immed_add( tski_rtc_close ); + } +} + + + +/********************************************//** + RTC ̃Cg + + set_rtc_close Ƒ΂ŎgĉB + + ‚̓obt@ɃRs[邾ŁA + ۂRTCɃZbĝset_rtc_close()łB + ***********************************************/ +void set_rtc( u8 adrs, u8 data ) +{ + if( !rtc_dirty ) + { + rtc_dirty = true; + memcpy( rtc_work, &SEC, RTC_DATA_SIZE ); +// renge_task_immed_add( tski_rtc_close ); // I2CIɍs + } + rtc_work[adrs] = data; +} + + + +/********************************************//** + KvȂ΁ARTCWX^̍XV + ***********************************************/ +// task_status_immed tski_rtc_close(){ +void rtc_unlock( ) +{ + // [hbN + rtc_lock = false; + + // CgbN + if( rtc_dirty ) + { + rtc_dirty = false; + RWAIT = 1; + while( !RWST ) + {;} + memcpy( &SEC, rtc_work, RTC_DATA_SIZE ); + RWAIT = 0; + } + + // A[Zbg + if( rtc_alarm_dirty ) + { + rtc_alarm_dirty = false; + WALE = 0; + ALARMWM = vreg_ctr[VREG_C_RTC_ALARM_MIN]; + ALARMWH = vreg_ctr[VREG_C_RTC_ALARM_HOUR]; + WALE = 1; + } +} + + + + +/********************************************//** + RTC VXe`bN^C}荞݃xN^ + + 2^6/fXTi1.953125 msj + ***********************************************/ +__interrupt void int_rtc_int( ) +{ +// renge_flg_interval ++; // CNg/fNg߂ĝ DI()sv + renge_flg_interval = 1; // set1߂ĝ DI()sv +} + diff --git a/tags/2.19_SDK4(3rdNUP)/rtc.h b/tags/2.19_SDK4(3rdNUP)/rtc.h new file mode 100644 index 0000000..6b2d9f8 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/rtc.h @@ -0,0 +1,21 @@ +#ifndef __rtc_h__ +#define __rtc_h__ + + +void RTC_init( void ); +void rtc_buf_refresh( ); +void set_rtc( u8 adrs, u8 data ); + +//task_status_immed tski_rtc_close(); +void rtc_unlock( ); + +// ------------------------------------ +#define RTC_32k_on() { RCLOE0 = 1; } +#define RTC_32k_off() { RCLOE0 = 0; } + + +// ------------------------------------ +extern bit rtc_alarm_dirty; + + +#endif diff --git a/tags/2.19_SDK4(3rdNUP)/self_flash.c b/tags/2.19_SDK4(3rdNUP)/self_flash.c new file mode 100644 index 0000000..a662d07 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/self_flash.c @@ -0,0 +1,635 @@ +/* ======================================================== + ȃAbvf[^ + $Id$ + ======================================================== */ +#ifndef _WIN32 + +#pragma SFR +#pragma di +#pragma ei +#pragma nop +#pragma stop +#pragma halt + +#endif + +#include "incs_loader.h" + +#include +#include "fsl_user.h" +#include "i2c_ctr.h" +#include "i2c_mcu.h" + +#include "pool.h" +#include "magic.h" + +#include "pm.h" +#include "WDT.h" +#include "util_funcs.h" + + +// ======================================================== +const u8 fsl_fx_MHz_u08 = 8; +const u8 fsl_low_voltage_u08 = 1; + + +// ȃtbVp[^ +#define SAM_BLOCK_SIZE 1024 + // 256oCgȏ͂܂Ƃ߂Ă܂B +#define SELF_UPDATE_BUFF_SIZE 256 +#define SELF_UPDATE_SPLIT_WRITE_NUM ( SAM_BLOCK_SIZE / SELF_UPDATE_BUFF_SIZE ) +#define SAM_WORD_SIZE 4 + +// ubNԍi1ubN1kBj +#define INACTIVE_BOOTSECT_TOP 4 +#define FIRM_TOP 8 +#define FIRM_SIZE 12 +#define ALTERNATE_FIRMTOP 20 + + +#ifdef _MCU_BSR_ +#define ACKD ACKD1 +#define ACKE ACKE1 +#define COI COI1 +#define IICAEN IICA1EN +#define IICAPR0 IICAPR10 +#define IICRSV IICRSV1 +#define IICA IICA1 +#define IICAIF IICAIF1 +#define IICAMK IICAMK1 +#define IICAPR1 IICAPR11 +#define IICCTL0 IICCTL01 +#define IICE IICE1 +#define IICF IICF1 +#define IICS IICS1 +#define IICWH IICWH1 +#define IICWL IICWL1 +#define LREL LREL1 +#define SPD SPD1 +#define SPIE SPIE1 +#define STCEN STCEN1 +#define STD STD1 +#define SVA SVA1 +#define WREL WREL1 +#define WTIM WTIM1 +#endif + +#ifndef _WIN32 +#define LED_POW1 P4.2 +#define LED_PM_POW1 PM4.2 +#else +#define LED_POW1 mcuRegP[ _P4_2 ] +#define LED_PM_POW1 mcuRegPM[ _P4_2 ] +#endif + +// ======================================================== +static void FSL_Open( void ); +static void FSL_Close( void ); +void firm_restore( ); + +static err my_FSL_Init(); +static err firm_duplicate( u8 block_src, u8 block_dest ); + +#ifdef _DBG_LED_PRINT_ +void alert( u8 ); +void led_print( u8 ); +#else +# define alert( x ) ; +# define led_print( x ) ; +#endif + + +// ======================================================== +extern uni_pool pool; + + +// 0.Dȍ~ VAbvf[^ +// Vt@[͑vH +#define N_MGC_L 0x1FF6 +#define N_MGC_T 0x4FF6 + + + +/********************************************//** + I2CŎMāA + + ݁A + + `FbNOK@@Vt@[ɐ؂ւčċN + + @@@@NG@@ijt@[ɖ߂čċN + + i̊֐͖߂܂j + ***********************************************/ +void firm_update( ) +{ + u8 target_block; + u8 split_write_count; // ubNւ܂܏ރJE^ + + // ւO ///////////////////////////////////// + my_FSL_Init(); + + /* t@[̃obNAbv + JnAhXAݐ̐擪hubNԍh (TCY FIRM_SIZE) + 0x2000 - 0x4FFF + 0x5000 - 0x7FFF (ubN 20 - 31) ɃRs[ + */ + firm_duplicate( FIRM_TOP, + ALTERNATE_FIRMTOP ); + + // SubN폜 ///////////////////////////////////// + // df𔻒肷邽߁AŏɑSNX^ + //iVt@[ƂɎcĂAȑÕt@[̃tb^j + for( target_block = INACTIVE_BOOTSECT_TOP; + target_block < ALTERNATE_FIRMTOP; + target_block ++ ) + { + FSL_Erase( target_block ); + } + + + // ւ /////////////////////////////////////////// + // XgbvRfBV܂ő + // IAX^[gAbv[`ɔ + for( target_block = INACTIVE_BOOTSECT_TOP; + target_block < ALTERNATE_FIRMTOP; + target_block ++ ) + { + u8 my_spd; + +/* łɏĂBłȂƒfꂽƂIĂ邩ʏoȂ +// // Vt@[̈폜 +// FSL_Erase( target_block ); +*/ + // + for( split_write_count = 0; + split_write_count < SELF_UPDATE_SPLIT_WRITE_NUM; + split_write_count ++ ) + { + u8* p_buffer = &pool.self_update_work[0]; + u16 buff_written_size = 0; + + WDT_Restart( ); + + // I2C珑݃f[^obt@ɂ߂ + do + { + while( !IICAIF && !SPD ) + {;} + my_spd = SPD; + IICAIF = 0; + *p_buffer = IICA; + WREL = 1; + p_buffer ++; + buff_written_size ++; + } + while( ( buff_written_size != SELF_UPDATE_BUFF_SIZE ) + && !SPD ); + + my_spd += SPD; + + // + // ŌゾƁAS~pfBO邪ʂɂ܂Ȃ + if( FSL_Write( ( fsl_u32 ) ( target_block * SAM_BLOCK_SIZE + + split_write_count * SELF_UPDATE_BUFF_SIZE ), + ( fsl_u08 ) ( SELF_UPDATE_BUFF_SIZE / SAM_WORD_SIZE ) ) + + != FSL_OK ) + { + alert(1); + // ݌̃`FbNG[ + // XgA + firm_duplicate( ALTERNATE_FIRMTOP, FIRM_TOP ); + FSL_ForceReset(); // Zbg + // FSL_SwapBootCluster( ); // u[gXbvuɁvċNďoȂ炵 + // ߂ĂȂ // + } + + if( my_spd != 0 ) + { + break; + } + } + + // 1ubN݊Bxt@Cs + if( FSL_IVerify( target_block ) != FSL_OK ){ + alert(2); + // ēx xt@CJԂ_ł... /// ďׂ݂H + // XgA + firm_duplicate( ALTERNATE_FIRMTOP, FIRM_TOP ); + FSL_ForceReset(); // Zbg + // FSL_SwapBootCluster( ); // u[gXbvuɁvċNďoȂ炵 + // ߂ĂȂ // + } + + if( my_spd != 0 ) + { + break; + } + } + + LREL = 1; + + // 񂾃t@[̃`FbN // + { + u8 i; + u8 comp = 0; + + // [_[̃}WbNƁA{̖̃}WbN͓mF + for( i = 0; i < sizeof( __TIME__ ); i++ ) + { + comp += (u8)(( (*( __far u8 * ) ( N_MGC_L + i )) == (*( u8 * ) ( N_MGC_T + i ) )) ? 0 : 1); + } + if( *( __far u8 * )( N_MGC_L +2 ) != ':' ) // ς̂܂ + { + comp ++; + } + + if( comp == 0 ) + { + // OK! + FSL_InvertBootFlag( ); + FSL_SwapBootCluster( ); // ZbgɓBFSL_Close͕sv + } + else + { + // f[^(}WbNio[ĂȂ)G[ + // XgA + alert(3); + + firm_duplicate( ALTERNATE_FIRMTOP, FIRM_TOP ); + FSL_ForceReset(); // Zbg + // FSL_SwapBootCluster( ); // u[gXbvuɁvċNďoȂ炵 + } + // ߂ĂȂ // + } +} + + + + +/********************************************//** +t@[obNAbv̈悩烊XgA܂B + +`FbNAŌ̍ŌŃu[gXbv̂ŁA +ł̓u[gXbv͕svłB + ***********************************************/ +void firm_restore( ) +{ + DBG_LED_on; + LED_PM_POW1 = 0; + + // obNAbv͐H // + { + u16 i; + u8 comp = 0; + + for( i = 0; i < sizeof( __TIME__ ); i++ ) // sizeof( __TIME__ ) = 8 炵 + { + comp += ( *( __far u8 * )( MGC_LOAD + i ) == *( u8 * )( MGC_HEAD_BKUP + i ) ) ? 0 : 1; + comp += ( *( u8 * )( MGC_HEAD_BKUP + i ) == *( u8 * )( MGC_FOOT_BKUP + i ) ) ? 0 : 1; + } + if( *( u8 * )( MGC_FOOT_BKUP ) == 0xFF ) + { + comp ++; + } + + if( comp != 0 ) + { + // obNAbv̈ꂽ... + comp = 0; + + // 3.3VオȂƍ + EI( ); + iic_mcu_start( ); + RESET2_ast; + FCRAM_RST_ast; + GYRO_DISABLE(); + PM_LDSW_on(); + wait_ms( 1 + DELAY_PM_TW_PWUP ); + PM_VDD_on( ); + + while(1) + { + WDT_Restart(); + + { + // LED sRsR + comp++; + LED_POW1 = ( comp == 1 || comp == 3 )? 1: 0; + if( comp == 8 ) + { + comp = 0; + } + } + + { + // d{^œdoff + static u8 sw_hold_count; + + if( !SW_POW_n_RAW ) + { + sw_hold_count++; + } + else + { + sw_hold_count = 0; + } + + if( sw_hold_count > 16 ) + { + sw_hold_count = 0; + // doff + PM_LDSW_off( ); + + // pwsw҂ŐQ + KRM = ( KR_SW_POW ); // Mask ł͂ȂAMode + MK0 = 0xFFFF; + MK1 = ~( INT_MSK1_KR ); + MK2L = 0xFF; + + // PU5 ̂܂ + PU7 = bits8(0,0,0,0, 1,0,0,0); // PWSWI + PU20 = bits8(0,0,0,0, 0,0,0,0); // SW_HOME ~ + + STOP( ); + +// mcu_wdt_reset; // [v̂͂悭ȂƎv + +// while(1){ +// NOP(); // Ȃ +// } + } + } + + // EFCg + for( i = 1; i != 0; i++ ) + { + NOP(); + NOP(); + NOP(); + NOP(); + } + } + } + } + + // else{ // obNAbv͐Ă + + while( my_FSL_Init() != ERR_SUCCESS ){ // FSLs悤Ȃ~Ȃ... + // todo gC񐔏H + alert(1); + } + + /* t@[̃XgA + 0x4800 - 0x7FFF (ubN 18 - 27) + 0x2000 - 0x47FF (ubN 8 - 17) փRs[ + */ + if( firm_duplicate( ALTERNATE_FIRMTOP, FIRM_TOP ) != ERR_SUCCESS ) + { + alert(2); + } + DBG_LED_off; + + // todo XgAsALEDƂāAT[rXɂĂ炤H + + FSL_ForceReset(); // ZbgA߂ĂȂ +} + + + +/********************************************//** +tbV̏̂߂̑O + ***********************************************/ +static void FSL_Open( void ) +{ + /* save the configuration of the interrupt controller and set */ +#ifdef FSL_INT_BACKUP + fsl_MK0L_bak_u08 = MK0L; /* if (interrupt backup required) */ + fsl_MK0H_bak_u08 = MK0H; /* { */ + fsl_MK1L_bak_u08 = MK1L; /* */ + fsl_MK1H_bak_u08 = MK1H; /* save interrupt controller */ + fsl_MK2L_bak_u08 = MK2L; /* configuration */ + fsl_MK2H_bak_u08 = MK2H; /* */ + MK0L = FSL_MK0L_MASK; /* */ + MK0H = FSL_MK0H_MASK; /* */ + MK1L = FSL_MK1L_MASK; /* prepare interrupt controller */ + MK1H = FSL_MK1H_MASK; /* for selfprogramming */ + MK2L = FSL_MK2L_MASK; /* */ + MK2H = FSL_MK2H_MASK; /* } */ +#endif + + while( DST1 ){;} // DMA~ + DEN1 = 0; + + MK0 = 0xFFFF; + MK1 = 0xFFFF; + MK2 = 0xFFFF; +/* + LVIM = bits8(0,0,0,0, 0,0,1,0); + LVIS = bits8(0,0,0,0, 1,0,0,0); + LVIM = bits8(1,0,0,0, 0,0,1,0); +*/ + FSL_FLMD0_HIGH; // tbVւ +} + + + +/********************************************//** +tbV̏I + ***********************************************/ +static void FSL_Close( void ) +{ + // nH + + FSL_FLMD0_LOW; // tbVCgveNg + +#ifdef FSL_INT_BACKUP + MK0L = fsl_MK0L_bak_u08; /* do{ */ + MK0H = fsl_MK0H_bak_u08; /* restore interrupt controller */ + MK1L = fsl_MK1L_bak_u08; /* configuration */ + MK1H = fsl_MK1H_bak_u08; /* */ + MK2L = fsl_MK2L_bak_u08; /* */ + MK2H = fsl_MK2H_bak_u08; /* } */ +#endif +} + + + +/********************************************//** +@}CRŃt@[Rs[܂B + + __far u8 * p_rom Rs[̐擪AhX + + block_dest Rs[̐擪ubN + + Rs[ɏ悤my_FSL_Init炩ߎsKv܂B + ***********************************************/ +static err firm_duplicate( u8 block_src, + u8 block_dest ) +{ + u8 target_block; + u8 split_write_count; // ubNւ܂܏ރJE^ + __far u8* p_src = ( __far u8* )( block_src * 0x400 ); + u8 retry_error; + + led_print(1); + + // ݐubN̐JԂ + for( target_block = block_dest; + target_block < ( block_dest + FIRM_SIZE ); + target_block ++ ) + { + led_print(2); + WDT_Restart( ); + // ubN + retry_error = 5 + 1; + while( FSL_BlankCheck( target_block ) != FSL_OK ) + { + led_print(3); + FSL_Erase( target_block ); + if( -- retry_error == 0 ) + { + // tbVH + FSL_Close( ); + return ( ERR_ERR ); // ZbgA݂@ǂȂ邩m + } + } + + led_print(4); + // ݕJԂ + for( split_write_count = 0; + split_write_count < SELF_UPDATE_SPLIT_WRITE_NUM; + split_write_count ++ ) + { + u16 buff_written_size; + u8* p_buff; + + // ݃f[^obt@ɂ߂ + buff_written_size = 0; + p_buff = &pool.self_update_work[0]; + do + { + *p_buff = *p_src; + p_src ++; + p_buff ++; + buff_written_size ++; + } + while( buff_written_size != SELF_UPDATE_BUFF_SIZE ); + + // + if( FSL_Write( ( fsl_u32 ) ( target_block * SAM_BLOCK_SIZE + + split_write_count * SELF_UPDATE_BUFF_SIZE ), + ( fsl_u08 ) ( SELF_UPDATE_BUFF_SIZE / SAM_WORD_SIZE ) ) + != FSL_OK ) + { + // Jo̓u[g // + FSL_Close( ); + led_print(5); +// while(1){} + return ( ERR_ERR ); + } + } + led_print(6); + + // 1ubN݊Bd`FbNs + while( FSL_IVerify( target_block ) != FSL_OK ) + { + // Jo̓u[g // + led_print(7); + return ( ERR_ERR ); + } + } + return( ERR_SUCCESS ); + +} + + + +/********************************************//** +ƔœtbV̏ + ***********************************************/ +static err my_FSL_Init() +{ + u8 rv; + + RTCE = 0; + + // ւO // + DI( ); + FSL_Open( ); // 荞݋֎~Ȃ + + FSL_Init( &pool.self_update_work[0] ); // CuB荞ݒfl + rv = FSL_ModeCheck( ); // CgveNg`FbNBs邱Ƃl + + return( (err)rv ); +} + + +/********************************************//** +MCUZbg + +system_status.reboot ܂B + ***********************************************/ +task_status_immed tski_mcu_reset() +{ + // ʂɍċN + my_FSL_Init(); + + FSL_ForceReset(); // Zbg + FSL_Close( ); + + // یH // + mcu_wdt_reset; + return( ERR_SUCCESS ); // no reach +} + + + +/********************************************//** +ɃG[ۂLED_łăG[ʒm + +l悤ł͂ȂAIVȂǂŃpX`FbN + +fobKgȂԂȂ̂ LEDprintf fobÔ߁B + ***********************************************/ +#ifdef _DBG_LED_PRINT_ +// P1.5 = led_pow_red_old +void alert( u8 num ) +{ + u8 i; + + while(1) + { + WDT_Restart(); + LED_POW1 = 1; + for( i = 0; i < num; i++ ) + { + DBG_LED_on; + DBG_LED_off; + } + LED_POW1 = 0; + } +} + + +/********************************************//** +ɃG[ۂLED_łăG[ʒmiQj + +l悤ł͂ȂAIVȂǂŃpX`FbN + +fobKgȂԂȂ̂ LEDprintf fobÔ߁B + ***********************************************/ +void led_print( u8 num ) +{ + u8 i; + + DBG_LED_on; + for( i = 0; i < num; i++ ) + { + LED_POW1 = 1; + LED_POW1 = 0; + } + DBG_LED_off; +} +#endif diff --git a/tags/2.19_SDK4(3rdNUP)/self_flash.h b/tags/2.19_SDK4(3rdNUP)/self_flash.h new file mode 100644 index 0000000..768565e --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/self_flash.h @@ -0,0 +1,9 @@ +#ifndef _self_flash_h_ +#define _self_flash_h_ + + +void firm_update(); + + +#endif + diff --git a/tags/2.19_SDK4(3rdNUP)/sw.c b/tags/2.19_SDK4(3rdNUP)/sw.c new file mode 100644 index 0000000..4cc3142 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/sw.c @@ -0,0 +1,205 @@ +/* ======================================================== +XCb` +EHOME +EPOWER +EWiFi +̊Ď^XN + +$Id$ +======================================================== */ +#ifndef _WIN32 + +#pragma SFR +#pragma NOP +#pragma HALT +#pragma STOP + +#endif + +#include "incs.h" + +#include "i2c_twl.h" +#include "i2c_ctr.h" +#include "led.h" +#include "pm.h" +#include "rtc.h" +#include "sw.h" + + +//========================================================= +/* + vreg_ctrǂ݂̂Ńwb_ +#define INTERVAL_TSK_SW +#define CLICK_THRESHOLD + +#define HOLD_THREASHOLD +#define FORCEOFF_THREASHOLD +*/ +#define TIME_MUKAN ( u8)( 300 / INTERVAL_TSK_SW ) +#define TIME_MUKAN_PWSW_RED_TRIAL (u16)( 15000 / INTERVAL_TSK_SW ) // VAhome}XN + +//========================================================= +u16 SW_pow_count; +bit SW_pow_mask; + +static u8 SW_home_count, SW_wifi_count, SW_home_count_rel; +static u8 sw_wifi_mukan_time; + +u16 off_timeout_timer; + +static u16 sw_pwsw_mukan_time; + + + +/********************************************//** + Ԃ𐔂BςȂł0ɖ߂Ȃ + + mask0̎́Ax܂Ŗ + ***********************************************/ +#define count_sw_n( sw, counter, mask ) \ + { \ + if( sw ){ \ + mask = 0; \ + counter = 0; \ + }else{ \ + if( mask != 0 ){ \ + counter = 0; \ + }else{ \ + counter ++; \ + if( counter == 0 ) counter = -1; \ + } \ + } \ + } + + +/********************************************//** + NbN(`^O)BKvɉĊ荞 + ***********************************************/ +#define chk_clicked( button, count, irq_bit_name ) \ + if( !button ) \ + { \ + if( count < CLICK_THRESHOLD ) \ + { \ + count ++; \ + if( count == CLICK_THRESHOLD ) \ + { \ + count ++; \ + set_irq( VREG_C_IRQ0, irq_bit_name ); \ + } \ + } \ + } \ + else \ + { \ + count = 0; \ + } + + + +/********************************************//** + XCb`̊Ď + + @`^O͂˂AAgKȂǂ̌os + ***********************************************/ +void tsk_sw( ) +{ + static u8 task_interval; + + if( system_status.pwr_state == OFF_TRIG ) + { + SW_pow_count = 0; // dɔăNA +// task_interval = 0; + } + + if( system_status.pwr_state != ON_CHECK ) // 莞(PWSW_POWON_TIME)ẐŃvXP[@łȂƃ`^܂肫Ȃ + { + if( task_interval != 0 ) + { + task_interval--; + return; + // ܂ + } + + task_interval = (u8)( INTERVAL_TSK_SW / SYS_INTERVAL_TICK ) -1; // vXP[ɎgĂ܂ˁc + // -1̓|XgfNĝ߂̒ + } + + // 8ms ɂ܂ + switch ( system_status.pwr_state ) + { + case ( ON ): + case ( SLEEP ): + case ( OFF ): + case ( ON_CHECK ): + // @̏ꍇ + if( ! system_status.taikendai ) + { + + // dXCb`̊Ď // + if( SW_pow_count == ( TIME_PWSW_CLICK ) ) // NbNԂɓB + { + set_irq( VREG_C_IRQ0, REG_BIT_SW_POW_CLICK ); + } + else if( SW_pow_count == ( HOLD_THREASHOLD ) ) // ɓB + { + set_irq( VREG_C_IRQ0, REG_BIT_SW_POW_HOLD ); + if( off_timeout_timer == 0 ) // dfJEg_EJnAxȂ悤ɁB + { + off_timeout_timer = vreg_ctr[ VREG_C_OFF_DELAY ] * 16; + } + } + + if( off_timeout_timer != 0 ) // 荞݌A^CAEgŋItB + { + off_timeout_timer --; + if( off_timeout_timer == 0 ) + { + force_off = true; + } + } + + }else{ + // X^hAV + // dXCb`̊Ď // + if( SW_pow_count == ( TIME_PWSW_CLICK ) ) + { + if( sw_pwsw_mukan_time == 0 ) + { + set_irq( VREG_C_IRQ0, REG_BIT_SW_POW_CLICK ); + // ȃ^C~OPWSWHOMEj[ɓĂ܂̂邽߂̃}XN^C}[ + sw_pwsw_mukan_time = TIME_MUKAN_PWSW_RED_TRIAL; + } + } + else if( SW_pow_count == ( HOLD_THREASHOLD ) ) + { + force_off = true; + } + + if( sw_pwsw_mukan_time != 0 ) + { + sw_pwsw_mukan_time--; + } + } + + count_sw_n( SW_POW_n, SW_pow_count, SW_pow_mask ); // {^Ԃ̃JEg + + // HOME sw // + chk_clicked( SW_HOME_n, SW_home_count, REG_BIT_SW_HOME_CLICK ); + chk_clicked( !SW_HOME_n, SW_home_count_rel, REG_BIT_SW_HOME_RELEASE ); + + // wifi sw // + /// ňȎȂ̂͂킩Ă邪AsɏoĂ܂sǃXCb`~ + if( sw_wifi_mukan_time != 0 ) + { + sw_wifi_mukan_time--; + } + else + { + chk_clicked( SW_WIFI_n, SW_wifi_count, REG_BIT_SW_WIFI_CLICK ); + if( SW_wifi_count == CLICK_THRESHOLD +1 ) // 蔭I + { + sw_wifi_mukan_time = TIME_MUKAN; + } + } + } +} + diff --git a/tags/2.19_SDK4(3rdNUP)/sw.h b/tags/2.19_SDK4(3rdNUP)/sw.h new file mode 100644 index 0000000..abe9715 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/sw.h @@ -0,0 +1,20 @@ +#ifndef _sw_ +#define _sw_ + +#include "config.h" + +extern u16 SW_pow_count; +extern bit SW_pow_mask; + +#define INTERVAL_TSK_SW 8 +#define CLICK_THRESHOLD 5 + +#define HOLD_THREASHOLD (u16)( 3000 /INTERVAL_TSK_SW ) +#define TIME_PWSW_CLICK (u8)( 220 /INTERVAL_TSK_SW ) +#define FORCEOFF_THREASHOLD (u8)( 12000 /INTERVAL_TSK_SW /16 ) + + +extern u16 off_timeout_timer; +#define clear_pow_off_countdown(){ off_timeout_timer = 0; force_off = false; } + +#endif diff --git a/tags/2.19_SDK4(3rdNUP)/task_debug.c b/tags/2.19_SDK4(3rdNUP)/task_debug.c new file mode 100644 index 0000000..0fd66a7 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/task_debug.c @@ -0,0 +1,122 @@ +/* ======================================================== + fobO^XN + $Id$ + ======================================================== */ +#ifndef _WIN32 + +#pragma SFR +#pragma NOP +#pragma HALT +#pragma STOP + +#endif + +#include "incs_loader.h" +//#include "incs.h" +#include "renge\renge.h" +#include "pm.h" +#include "accero.h" + + +// ======================================================== +// 7ZO 4oCg +#define IIC_SLA_DBG_MONITOR 0x44 + + + +#if 0 // fobOj^p^XN + +ӁI@^XNXgOĂ܂̂ŁAgȂ畜ĉI + +/********************************************//** + fobOp^XN + ***********************************************/ +void tsk_debug( ) +{ +// u8 temp; + + /* + if( system_status.pwr_state == ON_TRIG ){ + { + static u8 count = 0; + // fobOLEDi8bitj̏ + temp = iic_mcu_read_a_byte( IIC_SLA_8LEDS, IIC_8LEDS_REG_DO ); + count ++; + iic_mcu_write_a_byte( IIC_SLA_8LEDS, IIC_8LEDS_REG_DO, count ); + iic_mcu_write_a_byte( IIC_SLA_DBG_MONITOR, 3, count ); + } + } + */ + +// iic_mcu_write_a_byte( IIC_SLA_DBG_MONITOR, 2, vreg_ctr[ VREG_C_IRQ1 ] ); +// iic_mcu_write_a_byte( IIC_SLA_DBG_MONITOR, 1, boot_ura ); +// iic_mcu_write_a_byte( IIC_SLA_DBG_MONITOR, 1, vreg_ctr[ VREG_C_SND_VOL ] ); +// iic_mcu_write_a_byte( IIC_SLA_DBG_MONITOR, 1, vreg_ctr[ VREG_3D ] ); +// iic_mcu_write_a_byte( IIC_SLA_DBG_MONITOR, 0, vreg_ctr[ VREG_C_ACC_ZH ] ); +// iic_mcu_write_a_byte( IIC_SLA_DBG_MONITOR, 3, vreg_ctr[ VREG_C_3D ] ); +// iic_mcu_write_a_byte( IIC_SLA_DBG_MONITOR, 2, vreg_ctr[ VREG_C_SND_VOL ] ); +// iic_mcu_write_a_byte( IIC_SLA_DBG_MONITOR, 1, vreg_ctr[ VREG_C_STATUS ] ); +// iic_mcu_write_a_byte( IIC_SLA_DBG_MONITOR, 0, vreg_ctr[ VREG_C_ACC_ZH ] ); + + /* + { + u8 str[4]; + + if( ( system_status.pwr_state == ON ) || ( system_status.pwr_state == SLEEP ) ) + { + str[3] = vreg_ctr[ VREG_C_FREE0 ]; + str[2] = vreg_ctr[ VREG_C_FREE1 ]; + str[1] = vreg_ctr[ VREG_C_STATUS ]; + str[0] = vreg_ctr[ VREG_C_RTC_SEC ]; + + str[3] = vreg_ctr[ VREG_C_SND_VOL ]; + str[2] = vreg_ctr[ VREG_C_3D ]; + str[1] = vreg_ctr[ VREG_C_ACC_CONFIG ]; + str[0] = SEC; + iic_mcu_write( IIC_SLA_DBG_MONITOR, 0x03, 4, &str ); + } + } + */ +} + +#endif + + +#if 0 // ^XNЂȌ` +/********************************************//** +^XNЂȌ` + ***********************************************/ +task_interval tsk_hina( ) +{ + switch ( system_status.pwr_state ) + { + case ON_CHECK: + case ON_TRIG: + case ON: + case SLEEP: + case OFF_TRIG: + default: + } + + return; // tic Ă΂邱ƂɂȂ܂ +} + + +// |C^ʼn炤̂͊댯ȋCĂ +/* ̂悤Ɏg + renge_task_immed_add( ^XN֐ւ̃|C^ ); +*/ + +/********************************************//** +^XNЂȌ`(s) + ***********************************************/ +task_status_immed tski_hina( u8 * arg ) +{ + return ( ERR_FINISED ); + // ERR_FINISED ^XN폜 + // ERR_CONTINUE ɂȂ񂩊荞݂ȂA[U[ȂAVXe`bN + // Ƃɍēxs +} + + +#endif diff --git a/tags/2.19_SDK4(3rdNUP)/task_misc.c b/tags/2.19_SDK4(3rdNUP)/task_misc.c new file mode 100644 index 0000000..37bb0d6 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/task_misc.c @@ -0,0 +1,424 @@ +/* ======================================================== + ̑Gȃ^XN + ^XN𕪂₷ȂC邪A\[X̖ŕȂ + + $Id: task_misc.c 418 2011-09-22 01:35:37Z n2232 $ + ======================================================== */ + +#ifndef _WIN32 + +#pragma SFR +#pragma NOP +#pragma HALT +#pragma STOP + +#endif + +#include "incs.h" +#include "renge\renge.h" +#include "pm.h" + +#include "accero.h" +#include "adc.h" +#include "i2c_mcu.h" +#include "led.h" +#include "vreg_twl.h" + + + +#ifdef _MCU_BSR_ +#define ACKD ACKD1 +#define ACKE ACKE1 +#define COI COI1 +#define IICAEN IICA1EN +#define IICRSV IICRSV1 +#define IICA IICA1 +#define IICAIF IICAIF1 +#define IICAMK IICAMK1 +#define IICAPR0 IICAPR11 +#define IICAPR1 IICAPR01 +#define IICCTL0 IICCTL10 +#define IICE IICE1 +#define IICF IICF1 +#define IICS IICS1 +#define IICWH IICWH1 +#define IICWL IICWL1 +#define LREL LREL1 +#define SPD SPD1 +#define SPIE SPIE1 +#define STCEN STCEN1 +#define STD STD1 +#define SVA SVA1 +#define WREL WREL1 +#define WTIM WTIM1 +#define TRC TRC1 +#define SMC SMC1 +#define DFC DFC1 +#endif + +// ======================================================== +extern void f(); // X^bN̍Ō𓾂 + + +// ======================================================== +bit twl_ver_read; // twl home menuverǂ񂾂݊J[lɊ荞݂邽 +bit going_to_sleep; // SoCAsleepɓʒm炤Bslp_i HԂ0ɂȂ + // X[v畜AłȂȂ̂h + + +// eXgp +bit reserve_pedo_increnent; + + +// ======================================================== +static void update_LED_3D(); +static void check_twl_vol_irq(); + + + +/********************************************//** + PiŃ^XNɂȂGȏ + - xZT荞݂̎肱ڂmF(Ö) + - TWL PM݊WX^ւ݂̏Γǂ݂ɍs + - ݊J[lTWL`[̋Nʒm + - TWL̉ʕω荞݂`FbN + - 3Dv̍XV + - (HAL) vA₷ + - (fobO) SELWDTZbg𔭐 + ***********************************************/ +void tsk_misc( ) +{ + // 荞݂̎肱ڂH + if( ACC_VALID && ( ( vreg_ctr[ VREG_C_STATUS_1 ] & REG_BIT_ACCERO_ERR ) == 0 )) + { + if( renge_task_immed_add( tski_cbk_accero ) == ERR_SUCCESS ){ + // dbg_nop(); + } + } + + if( system_status.pwr_state == ON ) + { + /* ======================================================== + PM݊WX^ւ̏ + |[OőΉ + ======================================================== */ + if( !PM_IRQ_n ) + { + renge_task_immed_add( tski_ntr_pmic_comm ); + // dbg_nop(); + } + + /* ======================================================== + TWL`[NƂCTRm肽炵 + ======================================================== */ + if( twl_ver_read ) + { + twl_ver_read = false; + set_irq( VREG_C_IRQ2, REG_BIT_TWL_VER_READ ); + } + + // TWL ̉ʕω荞݃`FbN // + check_twl_vol_irq(); + } + + // 3D vXV // + update_LED_3D(); + +#ifdef _ENABLE_HAL_ + // fobOHAL ₷ // + if( reserve_pedo_increnent ) + { + reserve_pedo_increnent = 0; + hosu_increment_if_necessary(); + } +#endif + +#ifdef _ENABLE_PRESS_SEL_TO_WDT_ + if(( system_status.pwr_state == ON ) + || ( system_status.pwr_state == SLEEP )) + { + static u16 timer; + if( !SW_SEL_n ) + { + timer += 1; + if( timer == 2000 ) + { + DI(); + timer = 0; + while(1) + { + NOP(); // ̂WDT + } + } + } + } +#endif + + //. X^bNeXg +// f(); +} + + + +/********************************************//** +TWLVol̂ƁAXC_̑삪obeBO +sN鎖Ah + + TWLł͒ʏ펞A{^8iKBɍ킹Ċ荞݂B + ***********************************************/ +void check_twl_vol_irq() +{ + static u8 vol_level_twl_sent; + static u8 mabiki; + + if( !is_TWL ) + { + return; + // ܂ + } + + if( mabiki != 0 ) + { + mabiki--; + return; + // ܂ + } + + mabiki = 9; // 1t[͊J + if( vol_level_twl != vol_level_twl_sent ) + { + vol_level_twl_sent = vol_level_twl; + set_irq( VREG_C_IRQ2, REG_BIT_SLIDE_VOL_ACROSS_TWL_BOUNDARY ); + } +} + + +/********************************************//** +3DvXV + ***********************************************/ +void update_LED_3D() +{ + if( system_status.pwr_state != ON ) + { + LED_duty_3d = 0; + return; + // ܂ // + } + + if( vreg_ctr[VREG_C_LED_3D] == LED_3D_ILM_OFF ) + { + if( LED_duty_3d != 0 ) + { + LED_duty_3d --; + } + } + else + { + if( LED_duty_3d != vreg_ctr[VREG_C_LED_BRIGHT] ) + { + if( LED_duty_3d < vreg_ctr[VREG_C_LED_BRIGHT] ) + { + LED_duty_3d ++; + } + else + { + LED_duty_3d --; + } + } + } +} + + + + +/********************************************//** + COMMANDWX^ւ̏ + + 0ȂĂ΂܂BPAsv + + - sleep ʒm() + - ZbgnR}h + ***********************************************/ +task_status_immed tski_do_command0( ) +{ + u8 temp_command; + + // command0 {̓dȂ + DI_wt_chk(); + temp_command = vreg_ctr[VREG_C_COMMAND0]; + vreg_ctr[VREG_C_COMMAND0] = 0; + EI(); + + // SLPO(SoC->mcu) 񓯊̂߁ApX[ɂȂĂ܂Amcu SoC̈u + // X[vooASLPIgOoȂB炩ߒʒmĂ炢A + // ^CAEgsB + if( temp_command & REG_BIT_GOING_TO_SLEEP ) + { + going_to_sleep = true; + } + + // ZbgñR}h // + if( ( temp_command & ( REG_BIT_OFF_REQ | REG_BIT_RESET1_REQ | REG_BIT_FCRAM_RESET_REQ | REG_BIT_RESET2_REQ )) != 0x00 ) + { + if( temp_command & REG_BIT_OFF_REQ ) + { + system_status.pwr_state = OFF_TRIG; + } + else + { + if( temp_command & REG_BIT_RESET1_REQ ) + { + PM_reset_ast( ); + RESET2_ast; + FCRAM_RST_ast; + } + if( temp_command & REG_BIT_RESET2_REQ ) + { + RESET2_ast; + if( vreg_twl[ REG_TWL_INT_ADRS_MODE ] == 0 ) + { + FCRAM_RST_ast; // twlntr[hœ삵Ă + } + // TWL[hDS[hւ̐؂ւɃZbg + // IRQǂ܂Ȃꍇ̂TWLWX^ + vreg_twl_init(); + } + if( temp_command & REG_BIT_FCRAM_RESET_REQ ) + { + FCRAM_RST_ast; + } + wait_ms( 5 ); // ԉ҂ + FCRAM_RST_neg; + PM_reset_neg(); + RESET2_neg; + + // CODEC s背WX^ // + codec_reg_init(); + } + } +/* + X[vvɓdOFFEZbgR}h͗܂ + if( vreg_ctr[VREG_C_COMMAND0] != 0 ) + { + return ( ERR_CONTINUE ); + } +*/ + return ( ERR_FINISED ); +} + + + +/* fobOEeXgp ============================== */ +u16 _dbg_rcomp; +extern u8 raw_adc_temperature; + +extern u8 iic_burst_state; +extern bit temp_zone_charge_disable; +extern bit bt_authorized; + + + + +#define KOUMOKU 19 + +static u8 infos_bits[2]; +static u8 infos_temp[5]; + +static const u8 *infos_table[] = { + &infos_temp[0], /* 0 */ + &pmic_version, + (u8*)&battery_manufacturer, + &mgic_version[0], + &mgic_version[1], + &infos_temp[1], /* 5 */ + &raw_adc_temperature, + &infos_temp[2], + &infos_temp[3], + (u8*)&system_status.family, +// LED_pow_red, /* 10 */ + &infos_bits[0], + (u8*)&LED_duty_pow_blu, + (u8*)&LED_duty_3d, + (u8*)&LED_duty_notify_red, + (u8*)&LED_duty_notify_grn, + (u8*)&LED_duty_notify_blu, /* 15 */ + &infos_bits[1], +// &LED_CAM, + (u8*)&LED_duty_WiFi, + &infos_temp[4] /* 18 */ + /* ڑƂ KOUMOKU ɒ */ +}; + +/********************************************//** +@fobOpɃXe[^XԂBigXe[^X 0x7Fj + +@Ԓl̓f[^̂ + + oĂ鏇́A + + - 1) vbgtH[ + - 2) PMIC o[W + - 3) dr[J[ + - 4) KXQ[Wo[W + - 5) V + - 6) ( rcomp & 0xFF ) + - 7) raw_adc_temperature + - 8) ( !temp_zone_charge_disable | ( bt_authorized << 1 ) ) + - 9) m点LED̓tJ[H + - 10) system_status.family + ***********************************************/ +u8 extinfo_read(void) +{ + u8 ret = 0xFF; + + /* + * temp͌vZKvȃf[^Bɗ]TȂ̂ŌvZKv + * ϐ́Av/svɊւ炸vZ|V[ + */ + + if( iic_burst_state < KOUMOKU ) + { + infos_temp[0] = system_status.captureBox? MODEL_CAPTURE_BOX + : ( system_status.is_dev? MODEL_ISBAKO: (u8)system_status.model ); + infos_temp[1] = (u8)( _dbg_rcomp & 0xFF ); + infos_temp[2] = ( !temp_zone_charge_disable | ( bt_authorized << 1 ) ); + infos_temp[3] = 1; /* dlύXɂ1ŒɂȂ */ + infos_temp[4] = 0 +// | ( PM_EXTDC_n ? REG_BIT_HAL0_PM_EXTDC_n : 0 ) // status0ɂ + | ( RBR_RESET_n ? REG_BIT_HAL0_PM_EXTDC_n : 0 ) // 󂫂g킹Ă炤 + | ( BT_IN_CHG_n ? REG_BIT_HAL0_BT_IN_CHG_n : 0 ) + | ( BT_CHG_Ena_n ? REG_BIT_HAL0_RSV_5 : 0 ) // 󂫃rbggp,out pin + | 0 // WL_TX gȂ +// | ( SHELL_OPEN ? REG_BIT_HAL0_SHELL_OPEN : 0 ) // status0ɂ + | ( RBR_FLIGHT ? REG_BIT_HAL0_SHELL_OPEN : 0 ) // 󂫂g킹Ă炤 + | ( SW_WIFI_n ? REG_BIT_HAL0_SW_WIFI_n : 0 ) + | ( SW_HOME_n ? REG_BIT_HAL0_SW_HOME_n : 0 ) + | ( SW_POW_n ? REG_BIT_HAL0_SW_POW_n : 0 ); + + infos_bits[0] = (u8)LED_pow_red; + infos_bits[1] = (u8)LED_CAM; + + ret = *infos_table[iic_burst_state]; + iic_burst_state ++; + } + + return ret; +} + + +#ifdef i2c_timeout_test +/********************************************//** +ifobOpjI2C_mcu ɃvgRᔽ(g`)oꂽSLED_Ēʒm + ***********************************************/ +void i2c_mcu_error_monitor() +{ + LED_duty_pow_blu = 0xff; + LED_duty_3d = 0xff; + LED_duty_notify_red = 0xff; + LED_duty_notify_grn = 0xff; + LED_duty_notify_blu = 0xff; + LED_pow_red = 1; + LED_CAM = 1; +} +#endif + diff --git a/tags/2.19_SDK4(3rdNUP)/task_status.c b/tags/2.19_SDK4(3rdNUP)/task_status.c new file mode 100644 index 0000000..644bd7a --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/task_status.c @@ -0,0 +1,89 @@ +/* ******************************************************** + ꕔ̃Xe[^XWX^XVAKvɉĊ荞݂܂B + + $Id$ +********************************************************* */ + +#ifndef _WIN32 + +#pragma SFR +#pragma NOP +#pragma HALT +#pragma STOP + +#endif + +#include "incs_loader.h" +#include "renge\renge.h" + +#include "pm.h" + +#include "accero.h" +#include "adc.h" +#include "i2c_mcu.h" +#include "led.h" + + +/********************************************//** + Xe[^XWX^́A + - WJ + + Ŋ荞݂KvłΔ܂B + todo: H + ***********************************************/ +void tsk_status( ) +{ + static u8 state_old; // Xe[^Xωo荞 ̈ + u8 diff; + + // WJ`FbN + set_bit( SHELL_OPEN, vreg_ctr[VREG_C_STATUS], REG_BIT_ST_SHELL_OPEN ); + + // Xe[^XWX^֌W 荞 // + // pm.c ŁȀōs܂B + // REG_BIT_LCD_ON/OFF + // REG_BIT_BL_ON/OFF + // REG_BIT_BT_DC_CONNECT/DISC + // REG_BIT_BT_CHG_START/STOP + + diff = (u8)( vreg_ctr[VREG_C_STATUS] ^ state_old ); + if( diff != 0 ) + { + state_old = vreg_ctr[VREG_C_STATUS]; + + if( system_status.pwr_state == ON ) + { + if( diff & REG_BIT_BATT_CHARGE ) + { + // [dԔf + if( vreg_ctr[VREG_C_STATUS] & REG_BIT_BATT_CHARGE ) // set_irqʁXɌĂԕRpNg + { + set_irq( VREG_C_IRQ1, REG_BIT_BT_CHG_START ); + } + else + { + set_irq( VREG_C_IRQ1, REG_BIT_BT_CHG_STOP ); + } + } + } + + if(( system_status.pwr_state == ON ) || + ( system_status.pwr_state == SLEEP ) + ) + { + if( diff & REG_BIT_ST_SHELL_OPEN ) + { + // W̊J‚ + if( vreg_ctr[VREG_C_STATUS] & REG_BIT_ST_SHELL_OPEN ) + { + set_irq( VREG_C_IRQ0, REG_BIT_SHELL_OPEN ); + } + else + { + set_irq( VREG_C_IRQ0, REG_BIT_SHELL_CLOSE ); + } + } + } + } +} + diff --git a/tags/2.19_SDK4(3rdNUP)/task_sys.c b/tags/2.19_SDK4(3rdNUP)/task_sys.c new file mode 100644 index 0000000..0c464e1 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/task_sys.c @@ -0,0 +1,665 @@ +/* ======================================================== + task_sys + dĩ^XN + + $Id$ + ======================================================== */ +#ifndef _WIN32 + +#pragma SFR +#pragma NOP +#pragma HALT +#pragma STOP + +#endif + +#include "incs.h" + +#include "i2c_twl.h" +#include "i2c_ctr.h" +#include "led.h" +#include "accero.h" +#include "pm.h" +#include "rtc.h" +#include "sw.h" +#include "adc.h" +#include "self_flash.h" +#include "i2c_mcu.h" +#include "vreg_twl.h" + + +//========================================================= +#define WAIT_SHIROBAKO_POW_CONTROL 240 + + +//========================================================= +extern void nop8(); + + +static void chk_emergencyExit(); +static void force_off_check(); +static void send_getup_to_soc(); +#ifdef _DBG_CHK_OFF_LEAK_ +static void leak_check(); +#endif + + + +//========================================================= +extern bit info_led_off; +extern bit going_to_sleep; +extern bit bt_authorized; + +static u8 timeout_sleep; +extern u8 chg_led_override; + +#ifdef i2c_timeout_test +extern bit i2c_mcu_time_out_error; +#endif + + +//========================================================= +#define PWSW_POWON_TIME (u8)( 20 / SYS_INTERVAL_TICK ) // [ms] // INTERVAL_TSK_SW ŊȂBl珬̂ +#define PWSW_ON_CHECK_TIMEOUT 100 // K donׂ̈ɓdXCb`삳ꂽƂA̎Ԍo߂mcuȓd͂ɖ߂ + + + +/********************************************//** + d̗グX[vȂǂǗ + ***********************************************/ +void tsk_sys( ) +{ + static u8 pwsw_timeout = 0; // d{^`^OB@^CAEg܂łɓdm肵Ȃoffɖ߂ + + hal_update(); + + switch ( system_status.pwr_state ) + { + case ON_CHECK: //------------------------------------------------------- + // dfJEg_E^C}NA + clear_pow_off_countdown(); + + // ̊荞݂HALT(X[v) ^@A_v^L + + // dXCb`HALT // + if( system_status.poweron_reason == RSN_PWSW ) + { + if( PM_EXTDC_n ) + { + // A_v^Ȃ + if( SW_pow_count != 0 ) + { + pwsw_timeout = 0; + } + else + { + pwsw_timeout ++; + } + + if( pwsw_timeout > PWSW_ON_CHECK_TIMEOUT ) + { + SW_pow_count = 0; + system_status.pwr_state = OFF_TRIG; // XCb`̓mCYBQB + renge_task_interval_run_force = true; + return; + } + } + else + { + BT_chk(); + } + + + if( SW_pow_count < PWSW_POWON_TIME ) + { + // ԂZēdonɓBĂȂ + return; + } + } + // else { if( system_status.poweron_reason == RSN_TRIALAc ) d } + + SW_pow_mask = true; // pwswςȂœd/ JԂȂ悤 + + // d // + iic_mcu_start( ); + + bt_force_update = false; + BT_chk(); // @obe̔AdrcIC̐ݒ + +#ifndef _ALLOW_NOBATT_ + if( system_status.model == MODEL_JIKKI_NOBATT ) + { + renge_task_interval_run_force = true; + system_status.pwr_state = OFF_TRIG; + return; + } +#endif + + // cʃ`FbN + BT_get_left(); // ɁABT_chk()sĂKv܂B + if( +// ( vreg_ctr[VREG_C_BT_REMAIN] < 1 ) // Ŕ肷ƓdrقƂǖƂ +// // A_v^ĂNłȂȂႤ + ( vreg_ctr[VREG_C_BT_VOLTAGE] < ( V_TH_ZERO / 256 ) ) // dr + ) + { + // drȂ̂ŋNȂ(d`FbNĂ) + renge_task_interval_run_force = true; + system_status.pwr_state = OFF_TRIG; + return; + } + + // |[g̕ݒ@dOɁB + PM_SW_WIFI_n = 1; + PM_SW_HOME_n_JIKKI = 1; + PM_WL_TX = 1; + PM_SW_SEL_n = 1; + PM_ACCEL_INT1 = 1; + PM_ACC_VALID = 1; + + if( PM_sys_pow_on( ) != ERR_SUCCESS ) // ZbgĂ܂ + { // dNsƒG[ + renge_task_interval_run_force = true; + system_status.pwr_state = OFF_TRIG; + return; + } + + // ܂ŗƁAdm // + // vAbvon + PU_BT_IN_CHG_n = 1; + PU7 = bits8(0,0,0,1, 1,1,0,1); // 4:SW_WIFI 3:SW_PWSW 2:PM_IRQ 0:PM_EXTDC_n + PU_SW_HOME_n_JIKKI = 1; // SW_HOME + + if( system_status.poweron_reason == RSN_PWSW || + system_status.poweron_reason == RSN_TRIAL ) + { + // d{^łon̎́ALED_ + vreg_ctr[VREG_C_LED_POW] = LED_POW_ILM_AUTO; + } + else + { + // Ƃ肠ALEDԂŋN + vreg_ctr[VREG_C_LED_POW] = LED_POW_ILM_OFF; + } + + system_status.pwr_state = ON_TRIG; + + PM_LCD_vcom_set( ); // LCD̑ΌdlȂǏ + + break; + + case ON_TRIG: //------------------------------------------------------- +#ifdef i2c_timeout_test + LED_duty_pow_blu = 0; // debug + LED_duty_3d = 0; + LED_duty_notify_red = 0; + LED_duty_notify_grn = 0; + LED_duty_notify_blu = 0; + LED_pow_red = 0; + LED_CAM = 0; + i2c_mcu_time_out_error = false; +#endif + IIC_ctr_Init( ); + IIC_twl_Init( ); + RTC_32k_on( ); + + vreg_twl_init( ); + vreg_ctr_reset( ); + + KRM = bits8(0,0,0,0, 0,0,0,0); + PIF0 = 0; + + system_status.poweron_reason = NONE; + renge_task_interval_run_force = true; + + MK0 = INT_MSK0_RSV; + MK1 = INT_MSK1_RSV; + + iic_mcu_start(); + +// MK2 = ~( INT_MSK2_IIC_TWL | INT_MSK2_WIFI_TX_BSR | INT_MSK2_CODEC_PMIRQ ); +// PMK21 = 0; // wifi gȂ + PMK6 = 0; // pm_irq + + // todo Iɂ͊SɃWX^ + RBR_RESET_n = 1; + RBR_FLIGHT = 0; + + // u[gAXe[^XƂȂXV + if( system_status.reboot ) + { + u8 bl_status_temp; + + bl_status_temp = read_pmic( PM_REG_ADRS_BL ); + vreg_ctr[ VREG_C_STATUS ] |= (( bl_status_temp & 0x03 ) << 5 ); + set_bit( ( read_pmic( PM_REG_ADRS_VDD_LCD ) != 0 ), + vreg_ctr[ VREG_C_STATUS ], REG_BIT_LCD_POW ); + BT_chk(); + } + + LED_init( ); // reboot́BT_Chk,BT_chkɍs + + system_status.reboot = 0; + system_status.pwr_state = ON; + + // WDTZbgAI2C̏܂Ŋ荞ݕۗ + // قƂ͂ɂׂȂ... + if( ( vreg_ctr[ VREG_C_MCU_STATUS ] & REG_BIT_STATUS_WDT_RESET ) != 0 ) + { + set_irq( VREG_C_IRQ0, REG_BIT_IRQ_WDT_RESET ); + } + + break; + + case ON: //--------------------------------------------- + // PMICɂ鋭df`FbN + // fobKreset1AT[g邱ƂB̂Ƃ͑SZbg + chk_emergencyExit(); + + // SLPĎ + if( going_to_sleep ) // ΂ SLP_REQ ̑Oɗ\ + { + timeout_sleep ++; + if( timeout_sleep == 0 || // I[o[t[ҁBsleepČLjuŋNċC‚Ȃ + ( PIF0 && !SLP_REQ )) // slp荞݂CANĂ܂ + { + PIF0 = 0; + send_getup_to_soc(); + } + if( PIF0 && SLP_REQ ){ + PIF0 = 0; + PM_VDD_ecoMode(); + system_status.pwr_state = SLEEP; + renge_task_interval_run_force = true; + } + } + + // offJEg + force_off_check(); + +#ifndef _TAIKENDAI_SEISAN_SPECIAL_ + if( system_status.taikendai ) // A_v^玩œdoff + { + if( PM_EXTDC_n ) + { + system_status.pwr_state = OFF_TRIG; + } + } +#endif + + break; + + case SLEEP: //------------------------------------------ + chk_emergencyExit(); + // X[v畜A + if( !SLP_REQ ){ + PM_VDD_normMode(); + wait_ms( 5 ); // tdly_sw + send_getup_to_soc(); + system_status.pwr_state = ON; + } + + force_off_check(); +// leak_check(); + +#ifndef _TAIKENDAI_SEISAN_SPECIAL_ + if( system_status.taikendai ) // A_v^玩œdoff + { + if( PM_EXTDC_n ) + { + system_status.pwr_state = OFF_TRIG; + } + } + break; // ł悢B +#else + /* FALLTHROUGH */ +#endif + + default: //--------------------------------------- + system_status.pwr_state = OFF_TRIG; // 蓾ȂXe[gBfobOp +// dbg_nop(); + /* FALLTHROUGH */ + + case OFF_TRIG: //--------------------------------------- + // LED҂ + vreg_ctr[ VREG_C_LED_POW ] = LED_POW_ILM_OFF; + vreg_ctr[ VREG_C_LED_WIFI ] = WIFI_LED_OFF; + vreg_ctr[ VREG_C_LED_3D ] = LED_3D_ILM_OFF; + info_led_off = true; + if( LED_duty_pow_blu != 0 ) + { + return; + } + + // dfJEg_E^C}NA + clear_pow_off_countdown(); + + // xZT~ + vreg_ctr[ VREG_C_ACC_CONFIG ] = 0x00; + tski_acc_setup(); + EI(); // DIԂłė̂ŁAI2C_mcu ̂ɕKv + + // ̑ytF~ + LED_stop( ); + IIC_ctr_Stop( ); + IIC_twl_Stop( ); + RTC_32k_off(); + + // todo }Nɂł + RBR_RESET_n = 0; + RBR_FLIGHT = 0; + +// dI̊荞݃Zbg +// PWSW KR3 L +// BG24 KR4 +// ӂJ INTP5 ‚L +// ACA_v^ INTP4 A_v^L +// RTC + while( iic_mcu_busy ) + {;} + + // irq}XNݒ + KRM = ( KR_SW_POW ); // Mask ł͂ȂAModeȂ̂B킵 + MK0 = ~( INT_MSK0_EXTDC | INT_MSK0_WDTI ); + MK1 = ~( INT_MSK1_KR | INT_MSK1_RTCINTVAL ); // INT_MSK1_RTCALARM | RTCA[ + MK2L = 0xFF; + + // irqtONA + vreg_ctr[VREG_C_IRQ0] = 0; + vreg_ctr[VREG_C_IRQ1] = 0; + vreg_ctr[VREG_C_IRQ2] = 0; + vreg_ctr[VREG_C_IRQ3] = 0; + + // PU5 ̂܂ + PU7 = bits8(0,0,0,0, 1,0,0,1); // PWSWI,PM_EXTTDC,( IRQ0_deactive(), PM_IRQ_deactive ) + PU_SW_HOME_n_JIKKI = 0; // SW_HOME ~ + + IF0 = 0; + IF1 = 0; + IF2 = 0; + + IRQ0_disable; + + PM_sys_pow_off( ); // dJbgIt + + // |[gނ~[hɁBHłALo͂ɂȂႾ߂ȁB + SW_WIFI_n_RAW = 0; + PM_SW_WIFI_n = 0; + + SW_HOME_n_JIKKI_RAW = 0; + PM_SW_HOME_n_JIKKI = 0; + + WL_TX = 0; + PM_WL_TX = 0; + + SW_SEL_n = 0; + PM_SW_SEL_n = 0; + + ACCEL_INT1 = 0; + PM_ACCEL_INT1 = 0; + ACC_VALID = 0; + PM_ACC_VALID = 0; + + system_status.pwr_state = OFF; + SW_pow_mask = true; + SW_pow_count = 0; + + // HALfobOZbg@YƓdonoȂȂ邱Ƃc + hal_reset(); + /* FALLTHROUGH */ + + case OFF: + // Fł͓d{^d͂܂B + + system_status.poweron_reason = NONE; + pwsw_timeout = 0; + + if( !PM_EXTDC_n + || chg_led_override != 0 ) // ꂪ[ɂȂ܂ő҂ + { + // A_v^L /////////////////////////////// ܂́AA_v^ĂRb͏[dLED_Ă + + // d{^`FbN + system_status.poweron_reason = RSN_PWSW; + system_status.pwr_state = ON_CHECK; + + // VȂ玩œdē + if( system_status.taikendai ) + { + vreg_ctr[ VREG_C_HAL_OVW_CONT0 ] = vreg_ctr[ VREG_C_HAL_OVW_CONT1 ] = 0; + wait_ms(46); // pmic̓dēdl̂ + system_status.poweron_reason = RSN_TRIAL; + system_status.pwr_state = ON_CHECK; + } + } + else + { + // A_v^Ȃ /////////////////////////////// + + // ȓd͂ֈڍs + iic_mcu_stop( ); + pm_chk_adapter(); + PM_Chg_Stop(); + + bt_force_update = true; + + while( RWST ) + {;} + + // 荞ݑ҂ŐQ // + RTCIMK = 1; // systickpC^[o^C}[荞݃}XN + +#ifdef _DBG_CHK_OFF_LEAK_ + leak_check(); +#endif + CKC = bits8(0,0,0,0, 1,0,0,1); // 4MHzɗƂ(bit0)STOPȂĂ͂ȂȂ + OSMC = bits8(0,0,0,0, 0,0,0,0); // 5MHzȉ[hցB + + if( PM_EXTDC_n_RAW ) // ǂ^C~Oő}N邱ƂBHALʂȂׂioffłj + { + STOP(); + } + + // N // + // N + // EKeyReturn荞݁id{^j + // ERTCA[iݕj + + // NbNA + OSMC = bits8(0,0,0,0, 0,0,0,1); // 8MHz쏀 + renge_flg_interval = 0; + hal_update(); + + CKC = bits8(0,0,0,0, 1,0,0,0); // OSMC.FSEL = 1 3clkȏJ + + // NŔH + if( !PM_EXTDC_n ){ + system_status.pwr_state = OFF; // ĂāAON_CHECKɍs + } +/* // RTCA[B + else if( vreg_ctr[ VREG_C_IRQ1 ] & REG_BIT_RTC_ALARM ) + { + system_status.poweron_reason = RSN_RTC_ALARM; + system_status.pwr_state = ON_CHECK; + } + // else if( ̊荞݂œdon ){ + // 󑼂̗vł͋NȂ + // } +*/ + else // if( !SW_POW_n ) // iȊOȂjd{^ŋN + { + SW_pow_mask = false; + system_status.poweron_reason = RSN_PWSW; + system_status.pwr_state = ON_CHECK; + } + + RTCIMK = 0; // sys tick ^C}[L + + if( system_status.taikendai ) + { + system_status.pwr_state = OFF_TRIG; + } + + } + } +} + + + +/********************************************//** + PMICdُŎ~߂mF + + ***********************************************/ +static void chk_emergencyExit(){ + static u8 shirobako_power_control_count; + + if( shirobako_power_control_count == 0 ) + { + if( !RESET1_n ) // PM_chk_LDSW() I2C_mgpARXg + { + if( !PM_chk_LDSW() ) + { + // ZbgĂ + /// PMICُIf + system_status.pwr_state = OFF_TRIG; + renge_task_interval_run_force = true; + } + else + { + // ̎d + shirobako_power_control_count = 1; + } + } + } + else + { + if( shirobako_power_control_count == WAIT_SHIROBAKO_POW_CONTROL ) // }WbNio[ + // fobKBreset1܂ł͖ + { + if( RESET1_n ) // ZbglQ[g҂ + { + shirobako_power_control_count = 0; + } + else + { + // nothing to do + } + } + else if( shirobako_power_control_count == 200 ) // * (sys_tick)[ms] + // fobK炵 + { +#ifndef _RVD_ + // ͓d؂肽炵 + system_status.pwr_state = OFF_TRIG; + renge_task_interval_run_force = true; + shirobako_power_control_count = WAIT_SHIROBAKO_POW_CONTROL; +#endif + } + else + { + if( !RESET1_n ) + { + if( shirobako_power_control_count != 255 ) + shirobako_power_control_count ++; + } + else + { + // (TS{[hŎ蓮/fobK)Zbg炵 + send_cmd_pmic( PM_REG_ADRS_BL, 0 ); + vreg_ctr[VREG_C_STATUS] = ( vreg_ctr[VREG_C_STATUS] & bits8(1,0,0,1, 1,1,1,1) ); + vreg_ctr[VREG_C_COMMAND0] |= REG_BIT_RESET1_REQ; + renge_task_immed_add( tski_do_command0 ); + shirobako_power_control_count = WAIT_SHIROBAKO_POW_CONTROL; + } + } + } +} + + + +/********************************************//** + - d{^ + - dr؂ + - dr + + ł̋OFFBƉs\ + ***********************************************/ +static void force_off_check() +{ + if( force_off ) + { + system_status.pwr_state = OFF_TRIG; + renge_task_interval_run_force = true; + } +} + + + +/********************************************//** + SoCN + +@@dʏɖ߂ĂĂʼnB + ***********************************************/ +void send_getup_to_soc() +{ + going_to_sleep = false; + timeout_sleep = 0; +#ifdef _MODEL_CTR_ + SLP_ACK = 1; + nop8(); + SLP_ACK = 0; +#endif +} + + + + +/********************************************//** + ȃAbvf[g firm_update() ĂԁiisrsłȂ̂Łj + + task_status_immed^ Ԃ悤ɂ΂̂ł... + ***********************************************/ +task_status_immed tski_firm_update(){ + firm_update(); + return( ERR_SUCCESS ); +} + + + +#ifdef _DBG_CHK_OFF_LEAK_ +/********************************************//** + pinݒ~X`FbN + ***********************************************/ +static void leak_check() +{ + volatile u8 ports_i[12]; + volatile u8 ports_o[12]; + + ports_i[0] = ( PM0 & PU0 & ~P0 ); // vAbv؂YH + ports_i[1] = ( PM1 & PU1 & ~P1 ); + ports_i[2] = 0; + ports_i[3] = ( PM3 & PU3 & ~P3 ); + ports_i[4] = ( PM4 & PU4 & ~P4 ); + ports_i[5] = ( PM5 & PU5 & ~P5 ); + ports_i[6] = 0; + ports_i[7] = ( PM7 & PU7 & ~P7 ); + ports_i[8] = ( PM12 & PU12 & ~P12 ); + ports_i[9] = ( PM14 & PU14 & ~P14 ); + ports_i[10] = 0; + ports_i[11] = ( PM20 & PU20 & ~P20 ); + + ports_o[0] = ( ~PM0 & P0 ); // H o͂Ă邩 + ports_o[1] = ( ~PM1 & P1 ); + ports_o[2] = ( ~PM2 & P2 ); + ports_o[3] = ( ~PM3 & P3 & ~POM3 ); + ports_o[4] = ( ~PM4 & P4 ); // bit3chg_enȂ̂1ł悢 + ports_o[5] = ( ~PM5 & P5 ); + ports_o[6] = ( ~PM6 & P6 ); + ports_o[7] = ( ~PM7 & P7 ); + ports_o[8] = ( ~PM12 & P12 ); + ports_o[9] = ( ~PM14 & P14 ); + ports_o[10] = ( ~PM15 & P15 ); + ports_o[11] = ( ~PM20 & P20 ); + NOP(); // u[Nu +} +#endif _DBG_CHK_OFF_LEAK_ diff --git a/tags/2.19_SDK4(3rdNUP)/user_define.h b/tags/2.19_SDK4(3rdNUP)/user_define.h new file mode 100644 index 0000000..15d426e --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/user_define.h @@ -0,0 +1,214 @@ +#ifndef _USER_DEF_ +#define _USER_DEF_ + + +#define IIC_T_SLAVEADDRESS 0x4A +#define IIC_C_SLAVEADDRESS 0x4A +#define IIC_C_SLAVEADDRESS_DMY 0x4C + +//#define IIC_SLA_DCP 0x50 + +#define bits8(a,b,c,d,e,f,g,h) ( a<<7 | b<<6 | c<<5 | d<<4 | e<<3 | f<<2 | g<<1 | h ) + +#ifndef _WIN32 +// @‹ + +#ifdef _debug_led_ +/*spflΉȍ~AncłȂȂ̂Ŏg܂ +# define DBG_LED_on { PM2.1 = 0; P2.1 = 1; } +# define DBG_LED_off { P2.1 = 0; } +# define DBG_LED_toggle ( P2.1 ^= 1 ) +# define DBG_LED2_on { PM2.2 = 0; P2.2 = 1; } +# define DBG_LED2_off { P2.2 = 0; } +# define DBG_LED2_toggle ( P2.2 ^= 1 ) +*/ +#else +# define DBG_LED_on ; +# define DBG_LED_off ; +# define DBG_LED_toggle ; +# define DBG_LED2_on ; +# define DBG_LED2_off ; +# define DBG_LED2_toggle ; +#endif // _debug_led_ + +#define IIC_SLA_CODEC 0xA4 +#define IIC_SLA_ACCEL 0x30 // ST LIS331DLH + + +#define SLP_ACK P7.7 + + +// PMx0ŏo̓[h + +// SoC +#define IRQ0_ast { P7.6 = 0; PM7.6 = 0; } +#define IRQ0_neg { P7.6 = 1; } +#define IRQ0_enable { PM7.6 = 0; } +#define IRQ0_disable { PM7.6 = 1; } +#define IRQ0 ( P7.6 ) + + +// h~ +#define RESET1_n ( P0.0 ) + +#if 0 // PM_RESET1`g +# define RESET1_ast { P0.0 = 0; PM0.0 = 0; } +# define RESET1_neg { PM0.0 = 1; } +#endif + +#define RESET2_ast { P0.1 = 0; PM0.1 = 0; } +#define RESET2_neg { PM0.1 = 1; } + +#define SLP_REQ P12.0 + +// CTR,SPFL,܂ʔh@ +#define DEV_DET ( P12 & 0b00000110 ) +#define DEV_CTR ( 0b00 << 1 ) +#define DEV_SPFL ( 0b01 << 1 ) +#define DEV_SHRIMP ( 0b10 << 1 ) +#define DEV_RSV2 ( 0b11 << 1 ) + +// FCRAM +#define FCRAM_RST P3.0 +#define FCRAM_RST_ast { P3.0 = 0; } +#define FCRAM_RST_neg { P3.0 = 1; } + +// CODEC +#define PM_IRQ_n P7.2 +// INTP6 + +// PM +#define PM_EXTDC_n_RAW P7.0 +// INTP7 +//#define BT_TEMP P15.0 +// ANI8 +//#define BT_DET P15.1 +// ANI9 +#define BT_DET_P P1.6 +#define BT_TEMP_P P1.7 + + +// SPFL̃At@XLCDŕKvȁ}15V̓dB +#define SPFL_LCD_AMOL_HV_CONT P20.2 + + +// [d(out) +// _łBӁB +#define BT_CHG_ENABLE() ( P4.3 = 0 ) +#define BT_CHG_DISABLE() ( P4.3 = 1 ) +#define BT_CHG_Ena_n ( P4.3 ) + +// [d(in) +#define BT_IN_CHG_n_RAW P5.1 +#define PM_BT_IN_CHG_n PM5.1 +#define PU_BT_IN_CHG_n PU5.1 + +#define SW_WIFI_n_RAW P7.4 +#define PM_SW_WIFI_n PM7.4 +// KR4 +#define SW_POW_n_RAW P7.3 +// KR3 +#define SW_SEL_n P2.3 +#define PM_SW_SEL_n PM2.3 +//#define VOL P2.7 +// ANI7 + +#define SW_HOME_n_JIKKI_RAW P20.4 +#define PM_SW_HOME_n_JIKKI PM20.4 +#define PU_SW_HOME_n_JIKKI PU20.4 + +// INTP22 +#define SW_HOME_n_TSBOARD_RAW P2.0 // TS}U[pull up(P2͓p.u.) +#define PM_SW_HOME_n_TSBOARD PM2.0 + +// WiFi +#define WL_TX P20.3 // INTP21 +#define PM_WL_TX PM20.3 // INTP21 + +// RBR +#define RBR_RESET_n P2.1 +#define RBR_FLIGHT P2.2 + +//#define LED_CAM P1.0 // TO02 +//#define LED_WIFI P1.1 // TO03 +//#define LED_NOTIFY P1.3 // TO05 +//#define LED_3D P5.2 // SLTO TO01 +//#define LED_POW2 P1.4 // TO06 ( ) +//#define LED_POW1 P1.5 // TO07 ( ) +//#define LED_CHARGE P2.4 + +// P5.3 ɉAP5.5, P140 P141 +// P140o͐pȂ̂... +#define I2C_PU_on() { P14 |= 0x03; PM5.3 = 0; PM3.3 = 0; } +#define I2C_PU_off() { PM5.3 = 1; PM3.3 = 1; P14 &= ~0x03; } + +#define GYRO_ENABLE() P5.0 = 0 +#define GYRO_DISABLE() P5.0 = 1 + +//#define I2C_M_SDA P3.1 // SDA10 +//#define I2C_M_SCL P3.2 // SCL10 + +//#define I2C_0_SCL P6.0 // IIC_TWL SCL0 +//#define I2C_0_SDA P6.1 // SDA0 + +//#define I2C_1_SCL P20.0 // IIC CTR SCL1 +//#define I2C_1_SDA P20.1 // SDA1 + +//#define 32kHz_O P1.2 // RTCCL +//#define 32k_I1 P12.3 // XT1 +//#define 32k_I2 P12.4 // XT2 + +// @AJ@AV䔻ʁB +#define DIPSW ( P4 & 0b00000011 ) // mini cube & \tgEFAfBbvXCb` TOOL0,1B P4.0 L ӁI +#define DIPSW_CTR 0b11 // gp +#define DIPSW_ISDEV 0b00 // KuCBattGaugeŔ +#define DIPSW_TAIKENDAI 0b10 +#define DIPSW_TAIKENDAI_NBD 0b01 + + +#define SHELL_OPEN_RAW P7.1 // INTP5 ӂJ (‚L) + +#define ACC_VALID P20.5 +#define PM_ACC_VALID PM20.5 +#define ACCEL_INT1 P2.5 +#define PM_ACCEL_INT1 PM2.5 + + +#endif // _WIN32 + +// win32 sim‹Ƌ + +#define KR_SW_POW ( 1 << 3 ) +#define KR_SW_WIFI ( 1 << 4 ) + +/////////////////////////////////////////////////////////// +#ifdef _WDT_CHECK_ +# define INT_MSK0_WDTI 1<<15 +#else +# define INT_MSK0_WDTI 0 +#endif + +#define INT_MSK0_IIC_M_DMA 1<<12 +#define INT_MSK0_SHELL 1<<7 +#define INT_MSK0_EXTDC 1<<6 +//#define INT_MSK0_SLP 1<<2 +#define INT_MSK0_RSV ~( INT_MSK0_IIC_M_DMA | INT_MSK0_SHELL | INT_MSK0_EXTDC | INT_MSK0_WDTI ) + +#define INT_MSK1_KR 1<<11 +#define INT_MSK1_RTCINTVAL 1<<10 +#define INT_MSK1_RTCALARM 1<<9 +#define INT_MSK1_ADC 1<<8 +#define INT_MSK1_IIC_CTR 1<<3 +#define INT_MSK1_IIC_MCU 1<<0 +#define INT_MSK1_RSV ~( INT_MSK1_KR | INT_MSK1_RTCINTVAL | INT_MSK1_RTCALARM | INT_MSK1_ADC \ + | INT_MSK1_IIC_CTR | INT_MSK1_IIC_MCU ) + +#define INT_MSK2_WIFI_TX_KE3 1<<4 +#define INT_MSK2L_RSV ~( INT_MSK2_WIFI_TX_KE3 ) + +#define INT_MSK2_IIC_TWL 1<<8 +#define INT_MSK2_WIFI_TX_BSR 1<<10 +#define INT_MSK2_CODEC_PMIRQ 1<<3 +#define INT_MSK2_RSV ~( INT_MSK2_IIC_TWL | INT_MSK2_WIFI_TX_BSR | INT_MSK2_CODEC_PMIRQ ) + +#endif // dupe include guard diff --git a/tags/2.19_SDK4(3rdNUP)/util_funcs.c b/tags/2.19_SDK4(3rdNUP)/util_funcs.c new file mode 100644 index 0000000..2edea63 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/util_funcs.c @@ -0,0 +1,65 @@ +/* ======================================================== + util_funcs + + Gȃ[eBeB֐ + + $Id$ + ======================================================== */ +#ifndef _WIN32 + +#pragma SFR +#pragma di +#pragma ei +#pragma nop +#pragma stop +#pragma halt +#pragma opc + +#endif +#include "incs_loader.h" +#include "wdt.h" + + + +/********************************************//** + Pʂ ms + + NOP񂷂Aw莞CPU *L܂* B + + 荞݂ƂƂ̕x܂B + + 덷܂B + ***********************************************/ +void wait_ms( u8 ms ){ + u16 fine; + + WDT_Restart(); + while( ms != 0 ){ + ms--; + fine = 860; + while( fine != 0 ){ + fine --; + } + } +} + + + + +extern unsigned char get_ei(); + +#ifdef _DI_WITH_CHECK_ +/********************************************//** + ł 荞݋֎~ԉ`FbNĂ犄荞݋֎~ɂ + + ]̌ʁAA#ifdef Ń`FbN DI + ***********************************************/ +void DI_wt_chk() +{ + if( !get_ei() ) + { + dbg_nop(); + } + DI(); +} +#endif // _DI_WITH_CHECK_ diff --git a/tags/2.19_SDK4(3rdNUP)/util_funcs.h b/tags/2.19_SDK4(3rdNUP)/util_funcs.h new file mode 100644 index 0000000..4229413 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/util_funcs.h @@ -0,0 +1,16 @@ +#ifndef _util_funcs_h_ +#define _util_funcs_h_ + + +void wait_ms( u8 ); + + +# ifdef _DI_WITH_CHECK_ +void DI_wt_chk(); +# else +# define DI_wt_chk() DI() +# endif /* _DI_WITH_CHECK_ */ + + +#endif + diff --git a/tags/2.19_SDK4(3rdNUP)/voltable.c b/tags/2.19_SDK4(3rdNUP)/voltable.c new file mode 100644 index 0000000..4d2e14a --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/voltable.c @@ -0,0 +1,64 @@ +/* ======================================================== + voltable.c + + $Id$ + ======================================================== */ +#include "incs.h" + +#define _10db_ + + + +/********************************************//** + XC_l CODEC ɃZbgہAőVol̊֌W + KɃXP[OKv + + yȂ̂Ńe[u + ***********************************************/ + + + +#ifdef _10db_ +// max -10db +const u8 slider_to_codec[64] = +{ + 127, 126, 125, 124, 122, 121, 120, 119, + 118, 117, 116, 114, 113, 112, 111, 110, + 109, 108, 106, 105, 104, 103, 102, 101, + 100, 98, 97, 96, 95, 94, 93, 92, + 90, 89, 88, 87, 86, 85, 83, 82, + 81, 80, 79, 78, 77, 75, 74, 73, + 73, 72, 71, 70, 69, 67, 66, 65, + 64, 63, 62, 61, 59, 58, 57, 56 + }; +#endif + +#ifdef _15db_ +// max -15db +const u8 slider_to_codec[64] = +{ + 127, 127, 127, 127, 127, 126, 125, 123, + 122, 121, 120, 119, 118, 117, 116, 115, + 114, 113, 112, 110, 109, 108, 107, 106, + 105, 104, 103, 102, 101, 100, 99, 97, + 96, 95, 94, 93, 92, 91, 90, 89, + 88, 87, 86, 85, 84, 83, 82, 81, + 80, 79, 78, 77, 76, 75, 74, 73, + 71, 70, 69, 68, 67, 66, 66, 66 +}; +#endif + +#ifdef _4db_ +// max -4db +const u8 slider_to_codec[64] = +{ + 127, 127, 126, 125, 123, 122, 121, 119, + 118, 117, 115, 114, 112, 111, 110, 108, + 107, 106, 104, 103, 101, 100, 99, 97, + 96, 94, 93, 92, 90, 89, 88, 86, + 85, 83, 82, 81, 79, 78, 77, 75, + 74, 72, 71, 70, 68, 67, 66, 64, + 64, 63, 61, 60, 59, 57, 56, 54, + 53, 52, 50, 49, 48, 46, 44, 44 +}; +#endif diff --git a/tags/2.19_SDK4(3rdNUP)/voltable.h b/tags/2.19_SDK4(3rdNUP)/voltable.h new file mode 100644 index 0000000..6ff34ab --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/voltable.h @@ -0,0 +1,57 @@ +#ifdef _10db_ +// max -10db +/* +const u8 slider_to_codec[64] = +{ + 127, 127, 127, 127, 126, 125, 123, 122, + 121, 120, 118, 117, 116, 115, 113, 112, + 111, 110, 108, 107, 106, 105, 103, 102, + 101, 100, 98, 97, 96, 95, 93, 92, + 91, 90, 88, 87, 86, 85, 83, 82, + 81, 80, 78, 77, 76, 75, 73, 72, + 72, 71, 70, 68, 67, 66, 64, 63, + 62, 61, 59, 58, 57, 56, 55, 55 + }; +*/ +const u8 slider_to_codec[64] = +{ + 127, 126, 125, 124, 122, 121, 120, 119, + 118, 117, 116, 114, 113, 112, 111, 110, + 109, 108, 106, 105, 104, 103, 102, 101, + 100, 98, 97, 96, 95, 94, 93, 92, + 90, 89, 88, 87, 86, 85, 83, 82, + 81, 80, 79, 78, 77, 75, 74, 73, + 73, 72, 71, 70, 69, 67, 66, 65, + 64, 63, 62, 61, 59, 58, 57, 56 + }; +#endif + +#ifdef _15db_ +// max -15db +const u8 slider_to_codec[64] = +{ + 127, 127, 127, 127, 127, 126, 125, 123, + 122, 121, 120, 119, 118, 117, 116, 115, + 114, 113, 112, 110, 109, 108, 107, 106, + 105, 104, 103, 102, 101, 100, 99, 97, + 96, 95, 94, 93, 92, 91, 90, 89, + 88, 87, 86, 85, 84, 83, 82, 81, + 80, 79, 78, 77, 76, 75, 74, 73, + 71, 70, 69, 68, 67, 66, 66, 66 +}; +#endif + +#ifdef _4db_ +// max -4db +const u8 slider_to_codec[64] = +{ + 127, 127, 126, 125, 123, 122, 121, 119, + 118, 117, 115, 114, 112, 111, 110, 108, + 107, 106, 104, 103, 101, 100, 99, 97, + 96, 94, 93, 92, 90, 89, 88, 86, + 85, 83, 82, 81, 79, 78, 77, 75, + 74, 72, 71, 70, 68, 67, 66, 64, + 64, 63, 61, 60, 59, 57, 56, 54, + 53, 52, 50, 49, 48, 46, 44, 44 +}; +#endif diff --git a/tags/2.19_SDK4(3rdNUP)/vreg_ctr.c b/tags/2.19_SDK4(3rdNUP)/vreg_ctr.c new file mode 100644 index 0000000..5d4b915 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/vreg_ctr.c @@ -0,0 +1,611 @@ +/* ======================================================== + + CTR MCU I2CWX^ + + $Id$ + ====================================================== */ +#include "incs.h" +#include "vreg_ctr.h" +#include "rtc.h" +#include "led.h" +#include "accero.h" +#include "pm.h" +#include "pool.h" +#include "vreg_twl.h" +#include "sw.h" +#include "WDT.h" + +#include +#include "fsl_user.h" + + + + +extern u8 extinfo_read(); // task_misc.c + +extern u8 iic_burst_state; // o[XgANZX鎞̃JE^ +extern bit info_led_pattern_updated; // m点LED̃p^[擪ɖ߂ + +extern bit pedolog_overflow; +extern bit reserve_pedo_increnent; + + + +// ******************************************************** +u8 vreg_ctr[VREG_C_ENDMARK_]; + +static u8 vreg_free_adrs; // AhXł̂ł΂炭͂ +bit irq_readed; // AAA^̂߁B + + + +// ******************************************************** +extern task_status_immed tski_firm_update(); +extern task_status_immed tski_mcu_reset(); +extern unsigned char get_ei(); + + + +// ******************************************************** +#ifdef _MCU_BSR_ +#define IICAMK IICAMK1 +#endif + + +/********************************************//** + + + [̏l̎w肪KvȃAhX + + }CRZbgɌĂ΂܂ + ***********************************************/ +void vreg_ctr_init( ) +{ + vreg_ctr[ VREG_C_VCOM_T ] = VCOM_DEFAULT_T; + vreg_ctr[ VREG_C_VCOM_B ] = VCOM_DEFAULT_B; + + vreg_ctr[ VREG_C_OFF_DELAY ] = FORCEOFF_THREASHOLD; + + vreg_ctr[ VREG_C_VOL_CAL_MIN ] = 0x36; + vreg_ctr[ VREG_C_VOL_CAL_MAX ] = 0xFF - 0x36; + + vreg_ctr[ VREG_C_RBR_CONTROL ] = REG_BIT_RESET_n; // todo | REG_BIT_FLIGHT; +} + + +/********************************************//** + lZbg + + VXeZbgɌĂ΂܂ + ***********************************************/ +void vreg_ctr_reset( ) +{ + vreg_ctr[ VREG_C_MCU_VER_MAJOR ] = MCU_VER_MAJOR | 0x10; + vreg_ctr[ VREG_C_MCU_VER_MINOR ] = MCU_VER_MINOR; + + vreg_ctr[ VREG_C_LED_BRIGHT ] = 0xFF; + vreg_ctr[ VREG_C_LED_POW ] = 0; + vreg_ctr[ VREG_C_LED_WIFI ] = 0; + vreg_ctr[ VREG_C_LED_CAM ] = 0; + vreg_ctr[ VREG_C_LED_3D ] = 0; + { + u8 i; + for( i = 0; i < sizeof( uni_info_LED ); i++ ) + { + info_LED.bindata[ i ] = 0; + } + } +} + + + +/********************************************//** + I2CzWX^ɏ܂B + + @ adrs ͓AhX + + @ȂAhXɃANZXꍇA܂B + + 񂾌ʁAI2C_mcuʐMꍇArenge_task_immed_add() + gpȂƁAI2C_mcugpŃG[IꍇɃgC܂B + ***********************************************/ +void vreg_ctr_write( u8 adrs, u8 data ) +{ + switch ( adrs ) + { + + case ( VREG_C_MCU_STATUS ): +// vreg_twl[ REG_TWL_INT_ADRS_MODE ] = (u8)( ( data >> 6 ) & 0x03 ); Rł悢B̑胊ZbgŃNA + vreg_ctr[ VREG_C_MCU_STATUS ] &= data; // bitNA͂邪Zbg͂ȂB + // ̕twlWX^~[͓ǂݏoꎞɍ + break; + + case ( VREG_C_VCOM_T ): + case ( VREG_C_VCOM_B ): + renge_task_immed_add( tski_vcom_set ); + vreg_ctr[adrs] = data; + break; + + case ( VREG_C_DBG03 ): + if( ( vreg_ctr[VREG_C_DBG01] == 'j' ) + && ( vreg_ctr[VREG_C_DBG02] == 'h' ) + && ( data == 'l' ) ) + { + renge_task_immed_add( tski_firm_update ); + IICAMK = 1; + } + vreg_ctr[ VREG_C_DBG03 ] = data; + break; + + case ( VREG_C_COMMAND0 ): + if( data != 0 ) + { + renge_task_immed_add( tski_do_command0 ); + vreg_ctr[ VREG_C_COMMAND0 ] |= data; + } + break; + + case ( VREG_C_COMMAND2 ): + // 炩̊荞݂҂ĂȂłB #--) ̂߂̊荞݂ + // td + if(( data & REG_BIT_CMD_LCD_ON ) != 0 ) + { + renge_task_immed_add( tski_PM_LCD_on ); + } + else if(( data & REG_BIT_CMD_LCD_OFF ) != 0 ) + { + renge_task_immed_add( tski_PM_LCD_off ); + } + + // obNCgݒ + /// ̂Ƃ낳ɍׂ͕Ȃǁc + if(( data & REG_BITS_CMD_BL ) != 0 ) + { + renge_task_immed_add( tski_PM_BL_set ); + vreg_ctr[adrs] = (u8)( data & REG_BITS_CMD_BL ); + } + break; + + case ( VREG_C_COMMAND1 ): + if( data != 0 ) + { + // u8 temp; ԕϐg΂łȂ... + // TWLɊ荞݂ + /// ۂɊ荞݂̂SoC + /// rbg̕тႤʓ| + vreg_twl[ REG_TWL_INT_ADRS_IRQ ] = ( ( data & REG_BIT_SEND_TWL_PWSW_DET ) != 0 ) ? REG_BIT_TWL_IRQ_PWSW_DET : 0x00; //pwsw_det + vreg_twl[ REG_TWL_INT_ADRS_IRQ ] |= ( ( data & REG_BIT_SEND_TWL_RESET_DET ) != 0 ) ? REG_BIT_TWL_IRQ_RESET : 0x00; //reset_req + + vreg_twl[ REG_TWL_INT_ADRS_IRQ ] |= ( ( data & REG_BIT_SEND_TWL_OFF_DET ) != 0 ) ? REG_BIT_TWL_IRQ_OFF : 0x00; //off_req + + vreg_twl[ REG_TWL_INT_ADRS_IRQ ] |= ( ( data & REG_BIT_SEND_TWL_BATT_LOW ) != 0 ) ? REG_BIT_TWL_IRQ_BT_LOW : 0x00; //batt_low + vreg_twl[ REG_TWL_INT_ADRS_IRQ ] |= ( ( data & REG_BIT_SEND_TWL_BATT_EMPTY ) != 0 ) ? REG_BIT_TWL_IRQ_BT_EMPTY : 0x00; //batt_empty + + if(( data & REG_BIT_SEND_TWL_VOL_CLICK ) != 0 ) + { + vreg_twl[ REG_TWL_INT_ADRS_IRQ ] |= REG_BIT_TWL_IRQ_VOL_CHANGE; //vol_changed + } + } + break; + + case ( VREG_C_LED_POW ): + if( iic_burst_state == 0 ) + { + vreg_ctr[ VREG_C_LED_POW ] = data; + iic_burst_state ++; + } + else if( iic_burst_state < 5 ) + { + led_red_batt_empty.dats[ iic_burst_state -1 ] = data; + iic_burst_state ++; + } + break; + + case ( VREG_C_LED_WIFI ): + case ( VREG_C_LED_CAM ): + case ( VREG_C_LED_3D ): + vreg_ctr[adrs] = (u8)( data & 0x0F ); + break; + + case ( VREG_C_LED_NOTIFY_DATA ): + if( iic_burst_state < sizeof( uni_info_LED ) ) + { + if(( iic_burst_state == 1 ) && ( data == 0 )) // fade_time == 0 ֎~ + { + data = 1; + } + info_LED.bindata[ iic_burst_state ] = data; + iic_burst_state ++; + if( iic_burst_state > 4 ) // p^[1ł + { + info_led_pattern_updated = true; + } + } + break; + + /// 񓯊œĂ邽߂ł͏ȂB + // \񂷂邾stopŏ + case ( VREG_C_RTC_SEC ): + case ( VREG_C_RTC_MIN ): + set_rtc( adrs - VREG_C_RTC_SEC, data & 0x7F ); + break; + + case ( VREG_C_RTC_DAY ): + case ( VREG_C_RTC_HOUR ): + set_rtc( adrs - VREG_C_RTC_SEC, data & 0x3F ); + break; + + case ( VREG_C_RTC_YOBI ): + set_rtc( adrs - VREG_C_RTC_SEC, data & 0x07 ); + break; + + case ( VREG_C_RTC_MONTH ): + set_rtc( adrs - VREG_C_RTC_SEC, data & 0x1F ); + break; + + case ( VREG_C_RTC_YEAR ): + set_rtc( adrs - VREG_C_RTC_SEC, data ); + break; + + case ( VREG_C_RTC_COMP ): + WDT_Restart(); + while(1) + { + RWAIT = 1; + while( !RWST ){} + if( SEC != 0 ) + { + break; + } + RWAIT = 0; + } + SUBCUD = data; + RWAIT = 0; + vreg_ctr[ VREG_C_RTC_COMP ] = data; + break; + + case ( VREG_C_RTC_ALARM_MIN ): + rtc_alarm_dirty = true; + vreg_ctr[ VREG_C_RTC_ALARM_MIN ] = (u8)( data & 0x7F ); + break; + + case ( VREG_C_RTC_ALARM_HOUR ): + rtc_alarm_dirty = true; + vreg_ctr[ VREG_C_RTC_ALARM_HOUR ] = (u8)( data & 0x3F ); + break; + + // ł悢 + case ( VREG_C_RTC_ALARM_DAY ): + vreg_ctr[ VREG_C_RTC_ALARM_DAY ] = (u8)( data & 0x3F ); + break; + + case ( VREG_C_RTC_ALARM_MONTH ): + vreg_ctr[ VREG_C_RTC_ALARM_MONTH ] = (u8)( data & 0x1F ); + break; + + case ( VREG_C_ACC_CONFIG ): + renge_task_immed_add( tski_acc_setup ); + vreg_ctr[ VREG_C_ACC_CONFIG ] = data; + break; + + case ( VREG_C_ACC_R_ADRS ): + renge_task_immed_add( tski_acc_read ); + vreg_ctr[ VREG_C_ACC_R_ADRS ] = data; + break; + + case ( VREG_C_ACC_W_BUF ): + renge_task_immed_add( tski_acc_write ); + vreg_ctr[ VREG_C_ACC_W_BUF ] = data; + break; + + case ( VREG_C_ACC_HOSU_SETTING ): + if( ( data & 0x01 ) != 0 ) + { + clear_hosu_hist(); // NA + } + break; + + case ( VREG_CX_FREE_DATA ): + if( vreg_free_adrs < VREG_C_FREE_SIZE ) + { + pool.vreg_c_ext.vreg_c_free[ vreg_free_adrs ] = data; + vreg_free_adrs ++; + } + break; + + case ( VREG_CX_FREE_ADRS ): + vreg_free_adrs = data; + break; + + case ( VREG_C_RBR_CONTROL ): + if(( data & REG_BIT_RESET_n ) != 0 ) + { + RBR_RESET_n = 1; + } + else + { + RBR_RESET_n = 0; + } + if(( data & REG_BIT_FLIGHT ) != 0 ) + { + RBR_FLIGHT = 1; + } + else + { + RBR_FLIGHT = 0; + } + vreg_ctr[ VREG_C_RBR_CONTROL ] = data; + break; + + case ( VREG_C_COMMAND3 ): + switch ( data ) + { +#ifdef _ENABLE_COMMAND3_ + case ( 'r' ): + // 荞݃[`FSLCuĂԂ̂͋֎~ + // }CRċNB@WX^ނB + renge_task_immed_add( tski_mcu_reset ); + break; + + case ( 'w' ): + // WDTōċNieXgj +// mcu_wdt_reset; // ̃R}hgӖȂłI + while(1) + { + dbg_NOP(); + } + break; +#endif //_ENABLE_COMMAND3_ + +#ifdef _ENABLE_HAL_ + case( 'p' ): + reserve_pedo_increnent = 1; + // ő₷ɂ̓X^bNȂBŗ\̂݁Atask_miscŏ +// hosu_increment_if_necessary(); // A + break; +#endif //_ENABLE_HAL_ + + } +// vreg_ctr[ VREG_C_COMMAND3 ] = data; // KvȂ + break; + + // read only ////////////////////////////////////////// + case VREG_C_MCU_VER_MAJOR: + case VREG_C_MCU_VER_MINOR: + case VREG_C_3D: // ɃtbV + case VREG_C_SND_VOL: // ɃtbV + case VREG_C_BT_TEMP: // ɃtbV + case VREG_C_BT_REMAIN: // ɃtbV + case VREG_C_BT_REMAIN_FINE: // ɃtbV + case VREG_C_BT_VOLTAGE: // ɃtbV + case VREG_C_STATUS_1: // KɃtbV + case VREG_C_STATUS: // KɃtbV + case VREG_C_IRQ0: // ̂‚łɊ荞݋NĂقȂ... + case VREG_C_IRQ1: + case VREG_C_IRQ2: + case VREG_C_IRQ3: + case VREG_C_IRQ4: + case VREG_C_LED_NOTIFY_FLAG: // tbV + case VREG_C_RTC_SEC_FINE_L: // tbV + case VREG_C_RTC_SEC_FINE_H: // tbV + // VREG_C_ACC_RESERVE, // NȂ + // VREG_C_ACC_HOSU_HIST = 0x4F, + case VREG_C_ACC_XH: // tbV + case VREG_C_ACC_XL: + case VREG_C_ACC_YH: + case VREG_C_ACC_YL: + case VREG_C_ACC_ZH: + case VREG_C_ACC_ZL: +// dbg_nop(); + // return( ERROR ) + break; + + case VREG_C_ACC_HOSU_L: // ĂǁAfobOpB(AhX0x4B == mcu sla(r)) +// dbg_nop(); + /* FALLTHROUGH */ + + // ʂɏ邾 ///////////////////////////////// + default: + /* + case VREG_C_IRQ_MASK0: + case VREG_C_IRQ_MASK1: + case VREG_C_IRQ_MASK2: + case VREG_C_IRQ_MASK3: + case VREG_C_IRQ_MASK4: + case VREG_C_DBG01: + case VREG_C_DBG02: + case VREG_C_LED_BRIGHT: + case VREG_C_ACC_HOSU_L: + case VREG_C_ACC_HOSU_M: + case VREG_C_ACC_HOSU_H: + case VREG_C_ACC_HOSU_HOUR_BOUNDARY: + case VREG_C_FREE_ADRS: + case VREG_C_RTC_ALARM_YEAR: + case VREG_C_ACC_W_ADRS: + case VREG_C_OFF_DELAY: + case VREG_C_HAL_OVW_CONT0: + case VREG_C_HAL_OVW_DAT0: + case VREG_C_HAL_OVW_CONT1: + case VREG_C_HAL_OVW_DAT1: + */ + if( adrs < VREG_C_ENDMARK_ ) + { + vreg_ctr[adrs] = data; + break; + } + else + { +// dbg_nop(); // `AhXɏ@Ȃ񂩃oOĂȂH + // return( ERROR ) + break; + } + } +// return( SUCCESS ) + return; +} + + + +/********************************************//** + I2CzWX^ǂ݂܂B + + ߂F xx f[^ + + ӁF̃AhX̏ŌĂ΂ ̂ŁA + [hꂽNAȂǂ͋C‚ + + ( vreg_ctr_after_read( u8 adrs ) ) + ***********************************************/ +u8 vreg_ctr_read( u8 adrs ) +{ + static u16 rsub_temp; + u8 temp; + + // RTC͓ǂݏorɌJオ̂邽 + if( ( VREG_C_RTC_SEC <= adrs ) && ( adrs <= VREG_C_RTC_YEAR ) ) + { + rtc_buf_refresh( ); + } + else if( adrs == VREG_C_MCU_STATUS ) + { + return( ( vreg_ctr[ VREG_C_MCU_STATUS ] & 0x03 ) | + ( ( vreg_twl[ REG_TWL_INT_ADRS_MODE ] & 0x03 ) << 6 ) | // sys_mode + ( ( vreg_twl[ REG_TWL_INT_ADRS_MODE ] & 0x80 ) >> 2 )); // vol32 + } + else if( adrs == VREG_C_RTC_SEC_FINE_L ) + { + rsub_temp = RSUBC; + return( (u8)( rsub_temp & 0xFF ) ); + } + else if( adrs == VREG_C_RTC_SEC_FINE_H ) + { + return( (u8)( ( rsub_temp >> 8 ) & 0xFF ) ); + } +/* + // debug I + else if( adrs == VREG_C_IRQ_MASK0 ) + { + return( vreg_ctr[ VREG_C_IRQ_MASK0 ] & 0x7F ); // `MSB0B1ȂʐMG[ + } +*/ + else if( adrs == VREG_C_ACC_HOSU_HIST ) + { + return( hosu_read() ); + } + else if( adrs == VREG_CX_FREE_DATA ) + { + temp = pool.vreg_c_ext.vreg_c_free[ vreg_free_adrs ]; + // vreg_free_adrs ++; // ʼnZĂ܂ƃCfbNX + return( temp ); + } + else if( adrs == VREG_CX_INFO ) + { + return( extinfo_read() ); + } + else if( adrs == VREG_C_ACC_HOSU_SETTING ) + { + if( pedolog_overflow ) + { + return( 0x10 ); + } + else + { + return( 0 ); + } + } + + if( adrs >= VREG_C_ENDMARK_ ) + { + // VREG_C_INFO > VREG_C_ENDMARK_ Ȃ̂łƂ + return( 0xFF ); + } + return ( vreg_ctr[adrs] ); +} + + +/********************************************//** + I2CzWX^ǂ܂ĉ郌WX^ + ***********************************************/ +void vreg_ctr_after_read( u8 adrs, u8 data ) +{ + // 荞݃tO̓[hŃNA + switch( adrs ) + { + case VREG_C_IRQ0: + case VREG_C_IRQ1: + case VREG_C_IRQ2: + case VREG_C_IRQ3: + case VREG_C_IRQ4: + DI_wt_chk(); + vreg_ctr[ adrs ] ^= data; + EI(); + irq_readed = true; + break; + + case VREG_CX_FREE_DATA: + vreg_free_adrs ++; + break; + + default: + break; + } +} + + + + + + +/********************************************//** + 荞݂ + + - @}XNĂAtOuĂȂvA荞ݓȂB + + - @荞݂AǂݏoOɃ}XNƂ́ASoC̏L[ɂ + IRQǂރ^XNςł̂ŁAǂ݂ɂ͗B + + @ƁAÔ߁A}XNƂ͋ǂ݂Ă炤B + + łDĨ`FbNsvB + + @DIɗ̂I2C_twlARTC_A[B̒ŖڒEIĎgpȂ + ***********************************************/ +void set_irq( u8 irqreg, u8 irq_flg ) +{ + u8 tot; +//0 u8 ei_orig; // EItOۑ + + if(( system_status.pwr_state == ON ) || + ( system_status.pwr_state == SLEEP )) + { +/*0 łDIԂȂPAKvȂ + ei_orig = get_ei(); + + //. debug + if( !ei_orig ) + { + dbg_nop(); + } + + DI_wt_chk(); +*/ + DI(); + if( ( vreg_ctr[ irqreg + 8 ] & irq_flg ) == 0 ) + { + vreg_ctr[ irqreg ] |= irq_flg; + IRQ0_neg; // uグ... +//0 if( ei_orig ) + { + EI(); + } + tot = 0; + while( !IRQ0 && ( ++tot != 0 ) ){;} // O.D.Ȃ̂łƂ̂҂ IRQ_mcu LɔĂƍ(•s) + IRQ0_ast; // ƂBiGbW荞ׁ݂̈j + } +//0 if( ei_orig ) + { + EI(); + } + } +} + diff --git a/tags/2.19_SDK4(3rdNUP)/vreg_ctr.h b/tags/2.19_SDK4(3rdNUP)/vreg_ctr.h new file mode 100644 index 0000000..9e0b11e --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/vreg_ctr.h @@ -0,0 +1,302 @@ +#ifndef __vreg_ctr__ +#define __vreg_ctr__ + + +#include "config.h" + +// VREG_C_MCU_STATUS +// bit[7.6] twl.sys_mode[1.0] ctr珑ȂAfcr_resetɓKɃZbg +// bit[5] V [7] ctr珑ȂAfcr_resetɓKɃZbg +#define REG_BIT_STATUS_WDT_RESET ( 1 << 1 ) +#define REG_BIT_RTC_BLACKOUT ( 1 << 0 ) + + +// VREG_C_STATUS, +#define REG_BIT_LCD_POW ( 1 << 7 ) +#define REG_BIT_BL_U ( 1 << 6 ) +#define REG_BIT_BL_L ( 1 << 5 ) +#define REG_BIT_BATT_CHARGE ( 1 << 4 ) +#define REG_BIT_POW_SUPPLY ( 1 << 3 ) +// gp ( 1 << 2 ) +#define REG_BIT_ST_SHELL_OPEN ( 1 << 1 ) +// gp ( 1 << 0 ) + + +// VREG_C_STATUS_X +// gp ( 1 << 6 ) +// gp ( 1 << 5 ) +#define REG_BIT_WIFI_TX ( 1 << 4 ) +// twl bl ̃~[[1: ( 1 << 3 ) +// 0]( 1 << 2 ) +#define REG_BIT_ACCERO_ERR ( 1 << 1 ) +#define REG_BIT_MGIC_ERR ( 1 << 0 ) + +#define REG_BIT_MASK_STATUS1_NTR_PM_REG 0x0C + + +// VREG_C_IRQ0 +#define REG_BIT_IRQ_WDT_RESET ( 1 << 7 ) +#define REG_BIT_SHELL_OPEN ( 1 << 6 ) +#define REG_BIT_SHELL_CLOSE ( 1 << 5 ) +#define REG_BIT_SW_WIFI_CLICK ( 1 << 4 ) +#define REG_BIT_SW_HOME_RELEASE ( 1 << 3 ) +#define REG_BIT_SW_HOME_CLICK ( 1 << 2 ) +#define REG_BIT_SW_POW_HOLD ( 1 << 1 ) +#define REG_BIT_SW_POW_CLICK ( 1 << 0 ) + +// VREG_C_IRQ1 +#define REG_BIT_BT_CHG_START ( 1 << 7 ) +#define REG_BIT_BT_CHG_STOP ( 1 << 6 ) +#define REG_BIT_BT_REMAIN ( 1 << 5 ) +#define REG_BIT_ACC_DAT_RDY ( 1 << 4 ) +#define REG_BIT_ACC_ACK ( 1 << 3 ) +#define REG_BIT_RTC_ALARM ( 1 << 2 ) +#define REG_BIT_BT_DC_CONNECT ( 1 << 1 ) +#define REG_BIT_BT_DC_DISC ( 1 << 0 ) + +// VREG_C_IRQ2 +#define REG_BIT_TWL_VER_READ ( 1 << 7 ) +//#define REG_BIT_TWL_SNDVOL_CHANGE ( 1 << 6 ) p~ +#define REG_BIT_SLIDE_VOL_ACROSS_TWL_BOUNDARY ( 1 << 6 ) +#define REG_BIT_TWL_BL_U_ON ( 1 << 5 ) +#define REG_BIT_TWL_BL_U_OFF ( 1 << 4 ) +#define REG_BIT_TWL_BL_L_ON ( 1 << 3 ) +#define REG_BIT_TWL_BL_L_OFF ( 1 << 2 ) +#define REG_BIT_TWL_OFF_REQ ( 1 << 1 ) +#define REG_BIT_TWL_RESET_REQ ( 1 << 0 ) + +// VREG_C_IRQ3 +#define REG_BIT_BL_U_ON ( 1 << 5 ) +#define REG_BIT_BL_U_OFF ( 1 << 4 ) +#define REG_BIT_BL_L_ON ( 1 << 3 ) +#define REG_BIT_BL_L_OFF ( 1 << 2 ) +#define REG_BIT_LCD_ON ( 1 << 1 ) +#define REG_BIT_LCD_OFF ( 1 << 0 ) + + +// ̂ǂ... +//#define REG_BIT_VR_3D_CHANGE ( 1 << 7 ) + + + +// VREG_C_COMMAND0 +//#define REG_BIT_CMD_LCD_ON ( 1 << 7 ) +//#define REG_BIT_CMD_LCD_OFF ( 1 << 6 ) +//#define REG_BIT_CMD_BL_ON ( 1 << 5 ) +//#define REG_BIT_CMD_BL_OFF ( 1 << 4 ) +#define REG_BIT_GOING_TO_SLEEP ( 1 << 4 ) +#define REG_BIT_FCRAM_RESET_REQ ( 1 << 3 ) +#define REG_BIT_RESET2_REQ ( 1 << 2 ) +#define REG_BIT_RESET1_REQ ( 1 << 1 ) +#define REG_BIT_OFF_REQ ( 1 << 0 ) + +// VREG_C_COMMAND1 (TWLɊ荞݂) +// gp ( 1 << 7 ) +// gp ( 1 << 6 ) +#define REG_BIT_SEND_TWL_VOL_CLICK ( 1 << 5 ) +#define REG_BIT_SEND_TWL_BATT_EMPTY ( 1 << 4 ) +#define REG_BIT_SEND_TWL_BATT_LOW ( 1 << 3 ) +#define REG_BIT_SEND_TWL_OFF_DET ( 1 << 2 ) +#define REG_BIT_SEND_TWL_RESET_DET ( 1 << 1 ) +#define REG_BIT_SEND_TWL_PWSW_DET ( 1 << 0 ) + +// VREG_C_COMMAND2 t֌W +#define REG_BIT_CMD_BL_U_ON ( 1 << 5 ) +#define REG_BIT_CMD_BL_U_OFF ( 1 << 4 ) +#define REG_BIT_CMD_BL_L_ON ( 1 << 3 ) +#define REG_BIT_CMD_BL_L_OFF ( 1 << 2 ) +#define REG_BIT_CMD_LCD_ON ( 1 << 1 ) +#define REG_BIT_CMD_LCD_OFF ( 1 << 0 ) +#define REG_BITS_CMD_BL ( REG_BIT_CMD_BL_U_ON | REG_BIT_CMD_BL_U_OFF | REG_BIT_CMD_BL_L_ON | REG_BIT_CMD_BL_L_OFF ) + + +// TWLɒʒmIRQWX^ +#define REG_BIT_TWL_IRQ_PWSW_DET 0x08 +#define REG_BIT_TWL_IRQ_RESET 0x01 +#define REG_BIT_TWL_IRQ_OFF 0x02 +#define REG_BIT_TWL_IRQ_BT_LOW 0x20 +#define REG_BIT_TWL_IRQ_BT_EMPTY 0x10 +#define REG_BIT_TWL_IRQ_VOL_CHANGE 0x40 + + +// CODECPMIC NTR ̑㗝WX^ +#define REG_BIT_TWL_REQ_OFF ( 1 << 6 ) +#define REG_BIT_TWL_REQ_BL_U ( 1 << 3 ) +#define REG_BIT_TWL_REQ_BL_L ( 1 << 2 ) +#define REG_BIT_TWL_REQ_RESET ( 1 << 0 ) + + +// VREG_C_LED_NOTIFY_FLAG +#define REG_BIT_IN_LOOP ( 1 << 0 ) + +// RBR control (0x57) +#define REG_BIT_FLIGHT ( 1 << 1 ) +#define REG_BIT_RESET_n ( 1 << 0 ) + + +// HAL bitfields 0 +#define REG_BIT_HAL0_PM_EXTDC_n ( 1 << 7 ) +#define REG_BIT_HAL0_BT_IN_CHG_n ( 1 << 6 ) +//#define REG_BIT_HAL0_PM_IRQ_n // gȂ +#define REG_BIT_HAL0_RSV_5 ( 1 << 5 ) +#define REG_BIT_HAL0_WL_TX ( 1 << 4 ) +#define REG_BIT_HAL0_SHELL_OPEN ( 1 << 3 ) // statusɂ܂ +#define REG_BIT_HAL0_SW_WIFI_n ( 1 << 2 ) +#define REG_BIT_HAL0_SW_HOME_n ( 1 << 1 ) +#define REG_BIT_HAL0_SW_POW_n ( 1 << 0 ) + + +// HAL bitfields 1 +#define REG_BIT_HAL1_DIPSW_1 ( 1 << 3 ) +#define REG_BIT_HAL1_DIPSW_0 ( 1 << 2 ) +#define REG_BIT_HAL1_HW_DET_1 ( 1 << 1 ) +#define REG_BIT_HAL1_HW_DET_0 ( 1 << 0 ) + +/* + ev +#define REG_BIT_ ( 1 << 7 ) +#define REG_BIT_ ( 1 << 6 ) +#define REG_BIT_ ( 1 << 5 ) +#define REG_BIT_ ( 1 << 4 ) +#define REG_BIT_ ( 1 << 3 ) +#define REG_BIT_ ( 1 << 2 ) +#define REG_BIT_ ( 1 << 1 ) +#define REG_BIT_ ( 1 << 0 ) +*/ + + + +/*============================================================================*/ +extern u8 vreg_ctr[]; + +/*============================================================================*/ +enum VREG_C_ADRS +{ // `AhX֏񂾍ۂ͕̓s + VREG_C_MCU_VER_MAJOR = 0x00, + VREG_C_MCU_VER_MINOR, + VREG_C_MCU_STATUS, + + VREG_C_VCOM_T = 0x03, + VREG_C_VCOM_B, + + VREG_C_DBG01 = 0x05, + VREG_C_DBG02, + VREG_C_DBG03, + + VREG_C_3D = 0x08, + VREG_C_SND_VOL, + VREG_C_BT_TEMP, + VREG_C_BT_REMAIN, + VREG_C_BT_REMAIN_FINE, + VREG_C_BT_VOLTAGE, + + VREG_C_STATUS_1 = 0x0E, + VREG_C_STATUS = 0x0F, + + VREG_C_IRQ0 = 0x10, + VREG_C_IRQ1, + VREG_C_IRQ2, + VREG_C_IRQ3, + VREG_C_IRQ4, + + VREG_C_IRQ_MASK0 = 0x18, + VREG_C_IRQ_MASK1, + VREG_C_IRQ_MASK2, + VREG_C_IRQ_MASK3, + VREG_C_IRQ_MASK4, + + VREG_C_COMMAND0 = 0x20, + VREG_C_COMMAND1, + VREG_C_COMMAND2, + VREG_C_COMMAND3, // 'r' Ń}CRZbgA 'w' WDTZbg + + VREG_C_OFF_DELAY = 0x24, +// VREG_C_VOL_DIGITAL = 0x25, // todo +// VREG_C_VOL_OPTION, + VREG_C_VOL_ADC_RAW = 0x27, + + VREG_C_LED_BRIGHT = 0x28, + VREG_C_LED_POW, + VREG_C_LED_WIFI, + VREG_C_LED_CAM, + VREG_C_LED_3D, + VREG_C_LED_NOTIFY_DATA, + VREG_C_LED_NOTIFY_FLAG, + + VREG_C_RBR_CONTROL = 0x2F, + + VREG_C_RTC_SEC = 0x30, + VREG_C_RTC_MIN, + VREG_C_RTC_HOUR, + VREG_C_RTC_YOBI, + VREG_C_RTC_DAY, + VREG_C_RTC_MONTH, + VREG_C_RTC_YEAR, + + VREG_C_RTC_COMP, + + VREG_C_RTC_ALARM_MIN = 0x38, + VREG_C_RTC_ALARM_HOUR, + VREG_C_RTC_ALARM_DAY, + VREG_C_RTC_ALARM_MONTH, + VREG_C_RTC_ALARM_YEAR, + + VREG_C_RTC_SEC_FINE_L, + VREG_C_RTC_SEC_FINE_H, + + VREG_C_ACC_CONFIG = 0x40, + VREG_C_ACC_R_ADRS, + VREG_C_ACC_RESERVE, + VREG_C_ACC_W_ADRS, + VREG_C_ACC_W_BUF, + + VREG_C_ACC_XL = 0x45, + VREG_C_ACC_XH, + VREG_C_ACC_YL, + VREG_C_ACC_YH, + VREG_C_ACC_ZL, + VREG_C_ACC_ZH, + + VREG_C_ACC_HOSU_L = 0x4B, + VREG_C_ACC_HOSU_M, + VREG_C_ACC_HOSU_H, + VREG_C_ACC_HOSU_SETTING, + VREG_C_ACC_HOSU_HIST = 0x4F, + + VREG_C_ACC_HOSU_HOUR_BOUNDARY = 0x50, + VREG_C_ACC_HOSU_HOUR_BOUNDARY_SEC, + + VREG_C_HAL_OVW_CONT0 = 0x52, + VREG_C_HAL_OVW_DAT0, + VREG_C_HAL_OVW_CONT1, // reserved + VREG_C_HAL_OVW_DAT1, // reserved + + VREG_C_HAL_OVW_BT_FUEL = 0x56, + VREG_C_HAL_OVW_BT_VOLTAGE, + + VREG_C_VOL_CAL_MIN = 0x58, + VREG_C_VOL_CAL_MAX, + + VREG_C_HAL_OVW_TEMPERATURE = 0x5A, + + VREG_C_ENDMARK_ +}; + +// Ԃ͔ɂāAmۂȂ߂ ʂ define Ă +#define VREG_CX_INFO 0x7F +#define VREG_CX_FREE_ADRS 0x60 +#define VREG_CX_FREE_DATA 0x61 +// VREG_C_AMBIENT_BRIGHTNESS = 0xXX, + + + + +/*============================================================================*/ +void vreg_ctr_init( ); +void vreg_ctr_reset( ); +void vreg_ctr_write( u8 adrs, u8 data ); +u8 vreg_ctr_read( u8 phy_adrs ); +void vreg_ctr_after_read( u8 adrs, u8 data ); +void set_irq( u8 irqreg, u8 irq_flg ); + +#endif diff --git a/tags/2.19_SDK4(3rdNUP)/vreg_twl.c b/tags/2.19_SDK4(3rdNUP)/vreg_twl.c new file mode 100644 index 0000000..1cb1225 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/vreg_twl.c @@ -0,0 +1,169 @@ +/* ======================================================== + TWL݊I2CWX^ + + $Id$ + ======================================================== */ +#include "incs.h" +#include "jhl_defs.h" +#include "led.h" + +#include "vreg_twl.h" +//#include "vreg_ctr.h" +#include "adc.h" + + +// ======================================================== +#define TWL_REG_VER_INFO 0x35 +#define NON_EXIST_REG 0xFF + +// ======================================================== +u8 vreg_twl[_REG_TWL_INT_ADRS_ENDMARK]; + + +extern bit twl_ver_read; +extern bit cam_led_update; +extern bit vol_changed_by_twl; + + +// ======================================================== +extern void tsk_led_cam(); + + + + +/********************************************//** + zWX^̏ + ***********************************************/ +void vreg_twl_init( ) +{ + vreg_twl[ REG_TWL_INT_ADRS_MODE ] = 0x03; + vreg_twl[ REG_TWL_INT_ADRS_IRQ ] = 0; + vreg_twl[ REG_TWL_INT_ADRS_CAM ] = 0; + vreg_twl[ REG_TWL_INT_ADRS_TEMP0 ] = 0; +} + + + +/********************************************//** + I2CzWX^ɏEANV + + @ adrs ͓AhX + + @݂ȂAhXɃANZXꍇA܂B + ***********************************************/ +void vreg_twl_write( u8 adrs, u8 data ) +{ + switch ( adrs ) + { + case ( REG_TWL_INT_ADRS_VOL ): + { + vol_changed_by_twl = true; + vreg_twl[ REG_TWL_INT_ADRS_VOL ] = data; + //renge_task_immed_add( tski_vol_update ); + vol_polling = 3; + break; + } + + case ( REG_TWL_INT_ADRS_MODE ): + vreg_twl[ REG_TWL_INT_ADRS_MODE ] = ( data & 0x83 ); // [8]vol32 [1:0]nand + break; + + case ( REG_TWL_INT_ADRS_CAM ): + vreg_twl[ REG_TWL_INT_ADRS_CAM ] = ( data & 0x03 ); + if( ( data & 0x03 ) == TWL_CAMLED_BLINK ) + { + cam_led_update = true; // łȂƈꔭɕs邽 + } + tsk_led_cam(); // uN̓sŋN + break; + + case ( REG_TWL_INT_ADRS_TEMP0 ): + vreg_twl[ REG_TWL_INT_ADRS_TEMP0 ] = data; + break; + + case ( REG_TWL_INT_ADRS_COMMAND ): +/* + if( data <= 2 ){ + if( ( data & REG_BIT_TWL_OFF_REQ ) != 0 ) + { + set_irq( VREG_C_IRQ2, REG_BIT_TWL_OFF_REQ ); // OFFĂ炵B + break; + } + else if( ( data & REG_BIT_TWL_RESET_REQ ) != 0 ) + { + set_irq( VREG_C_IRQ2, REG_BIT_TWL_RESET_REQ ); //ZbgȂB̂́ASPI痈܂B + break; + } + } +*/ + if( data == REG_BIT_TWL_RESET_REQ ) + { + set_irq( VREG_C_IRQ2, REG_BIT_TWL_RESET_REQ ); //ZbgȂB̂́ASPI痈܂B + break; + } + } + return; +} + + + +/********************************************//** + I2CzWX^ǂ݂܂B + + @ adrs O猩Ƃ́AAhX + + @߂ xx f[^ + + @݂ȂAhXɃANZXꍇA߂l0x5A + ***********************************************/ +u8 vreg_twl_read( u8 phy_adrs ) +{ + u8 temp; + + switch( phy_adrs ){ + // 10%ȉŐԂɂȂ + case( REG_TWL_INT_ADRS_POWER_INFO ): + // x̃Zbg get_batt_left()ixĖłj + return( vreg_twl[ REG_TWL_INT_ADRS_POWER_INFO ] | ( !PM_EXTDC_n ? 0x80: 0x00 ) ); // A_v^bit(A_v^L) + + case( REG_TWL_INT_ADRS_IRQ ): + temp = vreg_twl[ REG_TWL_INT_ADRS_IRQ ]; + vreg_twl[ REG_TWL_INT_ADRS_IRQ ]= 0; + return( temp ); + + case( REG_TWL_INT_ADRS_VER_INFO ): +// set_irq( VREG_C_IRQ2, REG_BIT_TWL_VER_READ ); // xIɖȂ̂ + twl_ver_read = true; + return( TWL_REG_VER_INFO ); + + case( REG_TWL_ADRS_NON_EXIST ): + return( 0x00 ); + + default: + return( vreg_twl[ phy_adrs ] ); + } +} + + + +/********************************************//** + O猩钎HAhXA̘AAhXɓǂݑւ + + 0xFF݂͑ȂAhXB + ***********************************************/ +u8 adrs_table_twl_ext2int( u8 img ) +{ + switch( img ){ + case( REG_TWL_ADRS_IRQ ): return( REG_TWL_INT_ADRS_IRQ ); + case( REG_TWL_ADRS_COMMAND ): return( REG_TWL_INT_ADRS_COMMAND ); + case( REG_TWL_ADRS_POWER_INFO ): return( REG_TWL_INT_ADRS_POWER_INFO ); + case( REG_TWL_ADRS_VOL ): return( REG_TWL_INT_ADRS_VOL ); + case( REG_TWL_ADRS_CAM ): return( REG_TWL_INT_ADRS_CAM ); + case( REG_TWL_ADRS_TEMP0 ): return( REG_TWL_INT_ADRS_TEMP0 ); + case( REG_TWL_ADRS_VER_INFO ): return( REG_TWL_INT_ADRS_VER_INFO ); + case( REG_TWL_ADRS_MODE ): return( REG_TWL_INT_ADRS_MODE ); + default: return( REG_TWL_ADRS_NON_EXIST ); +// 0ǂ߂΂悢AȂėǂ +// case( REG_TWL_ADRS_WIFI ): return( REG_TWL_INT_ADRS_WIFI ); + } +} diff --git a/tags/2.19_SDK4(3rdNUP)/vreg_twl.h b/tags/2.19_SDK4(3rdNUP)/vreg_twl.h new file mode 100644 index 0000000..63cdd94 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/vreg_twl.h @@ -0,0 +1,127 @@ +#ifndef __vreg_twl__ +#define __vreg_twl__ +/* ========================================================================= */ +extern u8 vreg_twl[]; + + +/* + * O猩Ƃ̃}CRWX^AhXB + * gȂǂlĔєтɂĂB + */ +/* + * 荞ݗvtO + * MSB:OdL/Ȃω ij + * 6:VolL[iύXɌ炸BMAXɁ{łBj + * 5:drd o + * 4: + * 3:dXCb` ꌟo + * 2:iݒj + * 1:dXCb` OFF ԉꌟo + * LSB: Zbg + */ +enum REG_TWL_ADRS +{ // `AhX֏񂾍ۂ͖ + REG_TWL_ADRS_VER_INFO = 0x00, + REG_TWL_ADRS_PMIC_INFO, + REG_TWL_ADRS_BATT_INFO, + REG_TWL_ADRS_IRQ = 0x10, + REG_TWL_ADRS_COMMAND, + REG_TWL_ADRS_MODE, + REG_TWL_ADRS_POWER_INFO = 0x20, + REG_TWL_ADRS_POWER_SAVE, + REG_TWL_ADRS_WIFI = 0x30, + REG_TWL_ADRS_CAM, + REG_TWL_ADRS_VOL = 0x40, + REG_TWL_ADRS_BL, + REG_TWL_ADRS_CODEC_MIC_GAIN = 0x50, + REG_TWL_ADRS_ADC_CALIB = 0x60, + REG_TWL_ADRS_ADC_CALIB_STATUS, + REG_TWL_ADRS_ADC_CALIB_VALUE, + REG_TWL_ADRS_POWER_LED, + REG_TWL_ADRS_TEMP0 = 0x70, + REG_TWL_ADRS_TEMP1, + REG_TWL_ADRS_TEMP2, + REG_TWL_ADRS_TEMP3, + REG_TWL_ADRS_TEMP4, + REG_TWL_ADRS_TEMP5, + REG_TWL_ADRS_TEMP6, + REG_TWL_ADRS_TEMP7, + REG_TWL_ADRS_TIME_PWSW_DELAY = 0x80, + REG_TWL_ADRS_TIME_PWSW_THRESHOLD +}; + +#define REG_TWL_ADRS_NON_EXIST 0xFF + +/* + * }CRł̃WX^̎ + * ‚߂Ă + */ +enum REG_TWL_ADRS_INT +{ + REG_TWL_INT_ADRS_VER_INFO = 0x00, +// REG_TWL_INT_ADRS_PMIC_INFO, +// REG_TWL_INT_ADRS_BATT_INFO, + REG_TWL_INT_ADRS_IRQ, // 0x10, + REG_TWL_INT_ADRS_COMMAND, + REG_TWL_INT_ADRS_MODE, + REG_TWL_INT_ADRS_POWER_INFO, // 0x20, +// REG_TWL_INT_ADRS_POWER_SAVE, +// REG_TWL_INT_ADRS_WIFI, // 0x30, + REG_TWL_INT_ADRS_CAM, + REG_TWL_INT_ADRS_VOL, // 0x40, +// REG_TWL_INT_ADRS_BL, +// REG_TWL_INT_ADRS_CODEC_MIC_GAIN, // 0x50, +// REG_TWL_INT_ADRS_CODEC_MIC_GAIN_RELOAD, +// REG_TWL_INT_ADRS_ADC_CALIB, // 0x60, +// REG_TWL_INT_ADRS_ADC_CALIB_STATUS, +// REG_TWL_INT_ADRS_ADC_CALIB_VALUE, +// REG_TWL_INT_ADRS_POWER_LED, + REG_TWL_INT_ADRS_TEMP0, // 0x70 - 0x77 + REG_TWL_INT_ADRS_TEMP1, + REG_TWL_INT_ADRS_TEMP2, + REG_TWL_INT_ADRS_TEMP3, + REG_TWL_INT_ADRS_TEMP4, + REG_TWL_INT_ADRS_TEMP5, + REG_TWL_INT_ADRS_TEMP6, + REG_TWL_INT_ADRS_TEMP7, +// REG_TWL_INT_ADRS_TIME_PWSW_DELAY, +// REG_TWL_INT_ADRS_TIME_PWSW_THRESHOLD + _REG_TWL_INT_ADRS_ENDMARK, +}; + + + +/* ========================================================================= */ +#define is_TWL ( vreg_twl[ REG_TWL_INT_ADRS_MODE ] & 0x01 ) +#define with_NAND ( vreg_twl[ REG_TWL_INT_ADRS_MODE ] & 0x02 ) +#define volSteps32 ( vreg_twl[ REG_TWL_INT_ADRS_MODE ] & 0x80 ) + +#define reg_wifi_led ( vreg_twl[ REG_TWL_INT_ADRS_WIFI ] & 0x01 ) +#define reg_wifi_led_blink ( vreg_twl[ REG_TWL_INT_ADRS_WIFI ] & 0x02 ) + +#define REG_TWL_ADRS_MODE__VOL32 ( 1 << 7 ) + +typedef enum CAM_LED_TWL_MODE +{ + TWL_CAMLED_OFF, + TWL_CAMLED_ON, + TWL_CAMLED_BLINK, + TWL_CAMLED_DEF_ON +}twl_camLed_mode; + + +/* ========================================================================= */ +void vreg_twl_init( ); +void vreg_twl_write( u8 adrs, u8 data ); +u8 adrs_table_twl_ext2int( u8 img ); +u8 vreg_twl_read( u8 phy_adrs ); + + +// ǂ񂾂NAȂǂ̏ +#define vreg_twl_after_read( reg_adrs ); \ + if( reg_adrs == REG_TWL_INT_ADRS_IRQ ) \ + { \ + vreg_twl[ REG_TWL_INT_ADRS_IRQ ]= 0;\ + } + +#endif diff --git a/tags/2.19_SDK4(3rdNUP)/yav_mcu_bsr.plg b/tags/2.19_SDK4(3rdNUP)/yav_mcu_bsr.plg new file mode 100644 index 0000000..a2aead2 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/yav_mcu_bsr.plg @@ -0,0 +1,203 @@ +C:\Windows\system32\cmd.exe /c c:\cygwin\bin\touch magic.c +"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -rd2s2 -qvjl2w -sainter_asm -zpb -no loader.c +loader.c(160) : CC78K0R warning W0401: Conversion may lose significant digits +loader.c(161) : CC78K0R warning W0401: Conversion may lose significant digits +Compilation complete, 0 error(s) and 2 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -pinter_asm -ks -kx inter_asm\loader.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -rd2s2 -qvjl2w -sainter_asm -zpb -no pm.c +pm.c(534) : CC78K0R warning W0401: Conversion may lose significant digits +pm.c(840) : CC78K0R warning W0401: Conversion may lose significant digits +pm.c(844) : CC78K0R warning W0401: Conversion may lose significant digits +pm.c(872) : CC78K0R warning W0401: Conversion may lose significant digits +pm.c(886) : CC78K0R warning W0401: Conversion may lose significant digits +pm.c(960) : CC78K0R warning W0401: Conversion may lose significant digits +pm.c(969) : CC78K0R warning W0401: Conversion may lose significant digits +pm.c(1173) : CC78K0R warning W0401: Conversion may lose significant digits +pm.c(1175) : CC78K0R warning W0401: Conversion may lose significant digits +Compilation complete, 0 error(s) and 9 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -pinter_asm -ks -kx inter_asm\pm.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -rd2s2 -qvjl2w -sainter_asm -zpb -no i2c_ctr.c +Compilation complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -pinter_asm -ks -kx inter_asm\i2c_ctr.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -rd2s2 -qvjl2w -sainter_asm -zpb -no main.c +Compilation complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -pinter_asm -ks -kx inter_asm\main.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -rd2s2 -qvjl2w -sainter_asm -zpb -no magic.c +Compilation complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -pinter_asm -ks -kx inter_asm\magic.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -rd2s2 -qvjl2w -sainter_asm -zpb -no WDT.c +Compilation complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -pinter_asm -ks -kx inter_asm\WDT.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -rd2s2 -qvjl2w -sainter_asm -zpb -no i2c_mcu.c +i2c_mcu.c(188) : CC78K0R warning W0401: Conversion may lose significant digits +Compilation complete, 0 error(s) and 1 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -pinter_asm -ks -kx inter_asm\i2c_mcu.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -rd2s2 -qvjl2w -sainter_asm -zpb -no i2c_twl.c +Compilation complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -pinter_asm -ks -kx inter_asm\i2c_twl.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -rd2s2 -qvjl2w -sainter_asm -zpb -no led.c +led.c(90) : CC78K0R warning W0745: Expected function prototype +led.c(356) : CC78K0R warning W0401: Conversion may lose significant digits +Compilation complete, 0 error(s) and 2 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -pinter_asm -ks -kx inter_asm\led.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -rd2s2 -qvjl2w -sainter_asm -zpb -no rtc.c +Compilation complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -pinter_asm -ks -kx inter_asm\rtc.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -rd2s2m -qvjl2w -sainter_asm -zpb -no vreg_ctr.c +vreg_ctr.c(176) : CC78K0R warning W0401: Conversion may lose significant digits +vreg_ctr.c(177) : CC78K0R warning W0401: Conversion may lose significant digits +vreg_ctr.c(179) : CC78K0R warning W0401: Conversion may lose significant digits +vreg_ctr.c(181) : CC78K0R warning W0401: Conversion may lose significant digits +vreg_ctr.c(182) : CC78K0R warning W0401: Conversion may lose significant digits +vreg_ctr.c(230) : CC78K0R warning W0401: Conversion may lose significant digits +vreg_ctr.c(230) : CC78K0R warning W0401: Conversion may lose significant digits +vreg_ctr.c(235) : CC78K0R warning W0401: Conversion may lose significant digits +vreg_ctr.c(235) : CC78K0R warning W0401: Conversion may lose significant digits +vreg_ctr.c(239) : CC78K0R warning W0401: Conversion may lose significant digits +vreg_ctr.c(239) : CC78K0R warning W0401: Conversion may lose significant digits +vreg_ctr.c(243) : CC78K0R warning W0401: Conversion may lose significant digits +vreg_ctr.c(243) : CC78K0R warning W0401: Conversion may lose significant digits +vreg_ctr.c(247) : CC78K0R warning W0401: Conversion may lose significant digits +Compilation complete, 0 error(s) and 14 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -pinter_asm -ks -kx inter_asm\vreg_ctr.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -rd2s2m -qvjl2w -sainter_asm -zpb -no vreg_twl.c +vreg_twl.c(68) : CC78K0R warning W0401: Conversion may lose significant digits +vreg_twl.c(72) : CC78K0R warning W0401: Conversion may lose significant digits +Compilation complete, 0 error(s) and 2 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -pinter_asm -ks -kx inter_asm\vreg_twl.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -rd2s2 -qvjl2w -sainter_asm -zpb -no adc.c +adc.c(104) : CC78K0R warning W0401: Conversion may lose significant digits +adc.c(190) : CC78K0R warning W0401: Conversion may lose significant digits +adc.c(241) : CC78K0R warning W0401: Conversion may lose significant digits +adc.c(305) : CC78K0R warning W0401: Conversion may lose significant digits +adc.c(429) : CC78K0R warning W0745: Expected function prototype +adc.c(458) : CC78K0R warning W0401: Conversion may lose significant digits +adc.c(463) : CC78K0R warning W0401: Conversion may lose significant digits +Compilation complete, 0 error(s) and 7 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -pinter_asm -ks -kx inter_asm\adc.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -rd2s2m -qvjl2w -sainter_asm -zpb -no renge\renge.c +Compilation complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -pinter_asm -ks -kx inter_asm\renge.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -rd2s2 -qvjl2w -sainter_asm -zpb -no accero.c +accero.c(121) : CC78K0R warning W0745: Expected function prototype +Compilation complete, 0 error(s) and 1 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -pinter_asm -ks -kx inter_asm\accero.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -rd2 -qvjl2w -sainter_asm -zpb -no self_flash.c +self_flash.c(289) : CC78K0R warning W0401: Conversion may lose significant digits +self_flash.c(290) : CC78K0R warning W0401: Conversion may lose significant digits +Compilation complete, 0 error(s) and 2 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -pinter_asm -ks -kx inter_asm\self_flash.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -rd2s2 -qvjl2w -sainter_asm -zpb -no sw.c +Compilation complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -pinter_asm -ks -kx inter_asm\sw.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -rd2s2 -qvjl2w -sainter_asm -zpb -no task_debug.c +Compilation complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -pinter_asm -ks -kx inter_asm\task_debug.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -rd2s2 -qvjl2w -sainter_asm -zpb -no task_misc.c +task_misc.c(382) : CC78K0R warning W0401: Conversion may lose significant digits +task_misc.c(384) : CC78K0R warning W0401: Conversion may lose significant digits +task_misc.c(396) : CC78K0R warning W0401: Conversion may lose significant digits +Compilation complete, 0 error(s) and 3 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -pinter_asm -ks -kx inter_asm\task_misc.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -rd2s2 -qvjl2w -sainter_asm -zpb -no task_sys.c +task_sys.c(234) : CC78K0R warning W0401: Conversion may lose significant digits +task_sys.c(569) : CC78K0R warning W0401: Conversion may lose significant digits +Compilation complete, 0 error(s) and 2 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -pinter_asm -ks -kx inter_asm\task_sys.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -rd2s2 -qvjl2w -sainter_asm -zpb -no pedo_alg_thre_det2.c +pedo_alg_thre_det2.c(104) : CC78K0R warning W0745: Expected function prototype +pedo_alg_thre_det2.c(120) : CC78K0R warning W0401: Conversion may lose significant digits +Compilation complete, 0 error(s) and 2 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -pinter_asm -ks -kx inter_asm\pedo_alg_thre_det2.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -rd2s2 -qvjl2w -sainter_asm -zpb -no ini_VECT.c +Compilation complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -pinter_asm -ks -kx inter_asm\ini_VECT.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -rd2s2 -qvjl2w -sainter_asm -zpb -no task_status.c +Compilation complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -pinter_asm -ks -kx inter_asm\task_status.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -rd2s2 -qvjl2w -sainter_asm -zpb -no led_cam.c +Compilation complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -pinter_asm -ks -kx inter_asm\led_cam.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -rd2s2 -qvjl2w -sainter_asm -zpb -no led_pow.c +led_pow.c(119) : CC78K0R warning W0401: Conversion may lose significant digits +led_pow.c(124) : CC78K0R warning W0401: Conversion may lose significant digits +led_pow.c(177) : CC78K0R warning W0401: Conversion may lose significant digits +led_pow.c(240) : CC78K0R warning W0401: Conversion may lose significant digits +led_pow.c(271) : CC78K0R warning W0401: Conversion may lose significant digits +Compilation complete, 0 error(s) and 5 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -pinter_asm -ks -kx inter_asm\led_pow.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -rd2s2 -qvjl2w -sainter_asm -zpb -no hal.c +Compilation complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -pinter_asm -ks -kx inter_asm\hal.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -rd2s2 -qvjl2w -sainter_asm -zpb -no voltable.c +Compilation complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -pinter_asm -ks -kx inter_asm\voltable.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -rd2s2 -qvjl2w -sainter_asm -zpb -no pedo_lpf_coeff.c +Compilation complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -pinter_asm -ks -kx inter_asm\pedo_lpf_coeff.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -rd2s2 -qvjl2w -sainter_asm -zpb -no kanaria_c.c +Compilation complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -pinter_asm -ks -kx inter_asm\kanaria_c.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -rd2s2 -qvjl2w -sainter_asm -zpb -no util_funcs.c +Compilation complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -pinter_asm -ks -kx inter_asm\util_funcs.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -rd2s2 -qvjl2w -sainter_asm -zpb -no i2c_mcu-sub.c +Compilation complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -pinter_asm -ks -kx inter_asm\i2c_mcu-sub.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\lk78k0r.exe" -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -obsr.lmf "..\..\..\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\lib78k0r\s0rm.rel" -gi1B339499E033F240BFAAh -pbsr_k0r.map -nkd -gb7EFBFFh -b"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\lib78k0r\fsl.lib" -bcl0rdm.lib -bcl0rm.lib -bcl0rmf.lib -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\lib78k0r" -dbsr_mcu.dr -s -w2 loader.rel pm.rel i2c_ctr.rel main.rel magic.rel WDT.rel i2c_mcu.rel i2c_twl.rel led.rel rtc.rel vreg_ctr.rel vreg_twl.rel adc.rel renge.rel accero.rel self_flash.rel sw.rel task_debug.rel task_misc.rel task_sys.rel pedo_alg_thre_det2.rel ini_VECT.rel task_status.rel led_cam.rel led_pow.rel hal.rel batt_params.rel voltable.rel pedo_lpf_coeff.rel kanaria.rel kanaria_c.rel get_ei.rel util_funcs.rel i2c_mcu-sub.rel +RA78K0R warning W3420: File 'loader.rel' already has had error(s)/warning(s) by 'CC78K' + Read Device File Directory : C:\PROGRAM FILES (X86)\NEC ELECTRONICS TOOLS\DEV\ +RA78K0R warning W3420: File 'pm.rel' already has had error(s)/warning(s) by 'CC78K' +RA78K0R warning W3420: File 'i2c_mcu.rel' already has had error(s)/warning(s) by 'CC78K' +RA78K0R warning W3420: File 'led.rel' already has had error(s)/warning(s) by 'CC78K' +RA78K0R warning W3420: File 'vreg_ctr.rel' already has had error(s)/warning(s) by 'CC78K' +RA78K0R warning W3420: File 'vreg_twl.rel' already has had error(s)/warning(s) by 'CC78K' +RA78K0R warning W3420: File 'adc.rel' already has had error(s)/warning(s) by 'CC78K' +RA78K0R warning W3420: File 'accero.rel' already has had error(s)/warning(s) by 'CC78K' +RA78K0R warning W3420: File 'self_flash.rel' already has had error(s)/warning(s) by 'CC78K' +RA78K0R warning W3420: File 'task_misc.rel' already has had error(s)/warning(s) by 'CC78K' +RA78K0R warning W3420: File 'task_sys.rel' already has had error(s)/warning(s) by 'CC78K' +RA78K0R warning W3420: File 'pedo_alg_thre_det2.rel' already has had error(s)/warning(s) by 'CC78K' +RA78K0R warning W3420: File 'led_pow.rel' already has had error(s)/warning(s) by 'CC78K' + +Link complete, 0 error(s) and 13 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\oc78k0r.exe" -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -o.\bsr.hex -nu -ki bsr.lmf +Object Conversion Complete, 0 error(s) and 0 warning(s) found. +C:\Windows\system32\cmd.exe /c ruby nec_s_2_bsrbin2.rb bsr.hex +4 +intel-HEX to bsr bin converter + file converted! + + +Build Total error(s) : 0 Total warning(s) : 65 diff --git a/tags/2.19_SDK4(3rdNUP)/yav_mcu_bsr.pri b/tags/2.19_SDK4(3rdNUP)/yav_mcu_bsr.pri new file mode 100644 index 0000000..e3b2140 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/yav_mcu_bsr.pri @@ -0,0 +1,1061 @@ +[Project.ID] +Ver=200 +Target=IDK0R32G +[Configuration] +Chip=uPD79F0104 +Internal Rom=32KB +Internal Ram=1536B +Clock=Target +Sub Clock=Target +Peripheral Break=0x3 +Firm Clock=System +Flash Programming=Permit +Low-voltage Flash Rewriting=On +Fail Safe Break=0x2000 +Port=0 +NMI=OFF +TRESET=OFF +IRESET=OFF +WAIT=OFF +SysClock=None +SubClock=None +[Mapping] +Count=0 +[Main] +Geometry=157, 45, 1007, 931 +Window=Normal +MDI_MAX=OFF +Button=ON +Mode=Auto +Trace=Uncond ON +Trace2=Non Stop +Coverage=OFF +Timer=OFF +Tracer=OFF +[Load File] +Dir=\\tsclient\C\78k_data\yav-mcu-basara\trunk\ +SaveFilter=0 +Start=0 +End=0 +LoadFilter=5 +Offset=0 +Object=ON +Symbol=ON +Erase=OFF +HighSpeed=OFF +Symbol Reset=ON +CPU Reset=ON +File1=\\tsclient\C\78k_data\yav-mcu-basara\trunk\bsr.lmf +LoadFilter1=5 +Offset1=0 +Object1=ON +Symbol1=ON +Erase1=OFF +HighSpeed1=OFF +CPU Reset1=ON +Symbol Reset1=ON +[View File] +Dir=\\tsclient\C\78k_data\yav-mcu-basara\trunk\ +Filter=Source +[Debugger Option] +Source Path="" +Symbol Size=Byte +Symbol Format=Hex +Register Name=Func +Offset Label=OFF +Offset Mnemonic=ON +Tab Count=4 +Tab Size1=*.*, 8 +Tab Size2=*.c, 8 +Tab Size3=*.s, 8 +Tab Size4=*.asm, 8 +Default Source=*.c;*.s;*.asm +Default Module=*.lnk;*.lmf +Startup Start=_@cstart +Startup End=_@cend +Main Symbol=_main +Symbol Type=OFF +Language=C +Kanji=SJIS +[Source] +Geometry=474, 10, 769, 857 +Window=Normal +DispStart=248 +CaretPos=277,0 +Mode=Normal +DispFile= +Address1= +Address2= +Address3= +Address4= +Address5= +Address6= +Address7= +Address8= +Address9= +Address10= +Address11= +Address12= +Address13= +Address14= +Address15= +Address16= +Data1= +Data2= +Data3= +Data4= +Data5= +Data6= +Data7= +Data8= +Data9= +Data10= +Data11= +Data12= +Data13= +Data14= +Data15= +Data16= +Option=0 +Case=ON +Direction=Down +File1= +File2= +File3= +File4= +File5= +File6= +File7= +File8= +File9= +File10= +File11= +File12= +File13= +File14= +File15= +File16= +SaveRange=Screen +SaveStart= +SaveEnd= +Accumulative=ON +[Source1] +Geometry=282, 121, 769, 857 +Window=Normal +DispStart=251 +CaretPos=276,24 +Mode=Normal +DispFile=\\tsclient\C\78k_data\yav-mcu-basara\trunk\task_misc.c +Accumulative=ON +[Source2] +Geometry=244, 62, 769, 802 +Window=Normal +DispStart=499 +CaretPos=536,12 +Mode=Normal +DispFile=\\tsclient\C\78k_data\yav-mcu-basara\trunk\task_sys.c +Accumulative=ON +[Assemble] +Geometry=50, 50, 600, 400 +Window=Normal +DispStart=15288 +CaretPos=15311,27 +Address1= +Address2= +Address3= +Address4= +Address5= +Address6= +Address7= +Address8= +Address9= +Address10= +Address11= +Address12= +Address13= +Address14= +Address15= +Address16= +Data1= +Data2= +Data3= +Data4= +Data5= +Data6= +Data7= +Data8= +Data9= +Data10= +Data11= +Data12= +Data13= +Data14= +Data15= +Data16= +Case=ON +Scan=OFF +Direction=Down +FindStart= +FindEnd= +SaveRange=Screen +SaveStart= +SaveEnd= +[Memory] +Geometry=0, 0, 0, 0 +Window=Hide +Boundary=0 +Format=Hex +Mode=Byte +Endian= +Ascii=OFF +Idtag=OFF +Address= +DispStart=FFFFFFFF +CaretPosData=0, 0 +CaretPosAscii=0, 0 +Address1= +Address2= +Address3= +Address4= +Address5= +Address6= +Address7= +Address8= +Address9= +Address10= +Address11= +Address12= +Address13= +Address14= +Address15= +Address16= +Data1= +Data2= +Data3= +Data4= +Data5= +Data6= +Data7= +Data8= +Data9= +Data10= +Data11= +Data12= +Data13= +Data14= +Data15= +Data16= +Binary=ON +Scan=OFF +Direction=DOWN +FindStart= +FindEnd= +Unit=Byte +SaveRange=Screen +SaveStart= +SaveEnd= +Accumulative=ON +[Memory fill] +Scope=0, 0 +Code=0 +[Memory copy] +Scope=0, 0 +To=0 +[Memory compare] +Source=0, 0 +Destination=0 +[I/O Port] +Line=0 +[Stack] +Geometry=0, 0, 0, 0 +Window=Hide +Boundary=0 +Mode=Proper +[Sfr] +Geometry=0, 0, 0, 0 +Window=Hide +Address1= +Address2= +Address3= +Address4= +Address5= +Address6= +Address7= +Address8= +Address9= +Address10= +Address11= +Address12= +Address13= +Address14= +Address15= +Address16= +Boundary=0, 0 +Mode=Hex +Attribute=Show +Sort=Address +Pickup=OFF +SelectSort=Address +Last Name= +Line=531 +L1=P0 +L2=P1 +L3=P2 +L4=P3 +L5=P4 +L6=P5 +L7=P6 +L8=P7 +L9=P12 +L10=P14 +L11=P15 +L12=SDR00 +L13=SIO00 +L14=TXD0 +L15=SDR01 +L16=RXD0 +L17=SIO01 +L18=TDR00 +L19=TDR01 +L20=ADCRH +L21=PM0 +L22=PM1 +L23=PM2 +L24=PM3 +L25=PM4 +L26=PM5 +L27=PM6 +L28=PM7 +L29=PM12 +L30=PM14 +L31=PM15 +L32=ADM +L33=ADCE +L34=ADCS +L35=ADS +L36=KRM +L37=EGP0 +L38=EGN0 +L39=ISC +L40=TIS0 +L41=SDR02 +L42=SIO10 +L43=TXD1 +L44=SDR03 +L45=RXD1 +L46=IICA0 +L47=IICS0 +L48=SPD0 +L49=STD0 +L50=ACKD0 +L51=TRC0 +L52=COI0 +L53=EXC0 +L54=ALD0 +L55=MSTS0 +L56=IICF0 +L57=IICRSV0 +L58=STCEN0 +L59=IICBSY0 +L60=STCF0 +L61=TDR02 +L62=TDR03 +L63=TDR04 +L64=TDR05 +L65=TDR06 +L66=TDR07 +L67=RSUBC +L68=SEC +L69=MIN +L70=HOUR +L71=WEEK +L72=DAY +L73=MONTH +L74=YEAR +L75=SUBCUD +L76=ALARMWM +L77=ALARMWH +L78=ALARMWW +L79=RTCC0 +L80=RCLOE0 +L81=RCLOE1 +L82=RTCE +L83=RTCC1 +L84=RWAIT +L85=RWST +L86=RIFG +L87=WAFG +L88=WALIE +L89=WALE +L90=RTCC2 +L91=RCKDIV +L92=RCLOE2 +L93=RINTE +L94=CMC +L95=CSC +L96=HIOSTOP +L97=XTSTOP +L98=MSTOP +L99=OSTC +L100=OSTS +L101=CKC +L102=MCM0 +L103=MCS +L104=CSS +L105=CLS +L106=CKS0 +L107=PCLOE0 +L108=CKS1 +L109=PCLOE1 +L110=RESF +L111=LVIM +L112=LVIF +L113=LVIMD +L114=LVISEL +L115=LVION +L116=LVIS +L117=WDTE +L118=DSA0 +L119=DSA1 +L120=DRA0 +L121=DRA0L +L122=DRA0H +L123=DRA1 +L124=DRA1L +L125=DRA1H +L126=DBC0 +L127=DBC0L +L128=DBC0H +L129=DBC1 +L130=DBC1L +L131=DBC1H +L132=DMC0 +L133=DWAIT0 +L134=DS0 +L135=DRS0 +L136=STG0 +L137=DMC1 +L138=DWAIT1 +L139=DS1 +L140=DRS1 +L141=STG1 +L142=DRC0 +L143=DST0 +L144=DEN0 +L145=DRC1 +L146=DST1 +L147=DEN1 +L148=BECTL +L149=FLMDPUP +L150=PFCMD +L151=PFS +L152=FPRERR +L153=FLPMC +L154=BFAEN +L155=FWEPR +L156=BRAMEN +L157=IF2 +L158=IF2L +L159=TMIF05 +L160=TMIF06 +L161=TMIF07 +L162=PIF6 +L163=IF2H +L164=IICAIF1 +L165=PIF20 +L166=PIF21 +L167=PIF22 +L168=PIF23 +L169=MK2 +L170=MK2L +L171=TMMK05 +L172=TMMK06 +L173=TMMK07 +L174=PMK6 +L175=MK2H +L176=IICAMK1 +L177=PMK20 +L178=PMK21 +L179=PMK22 +L180=PMK23 +L181=PR02 +L182=PR02L +L183=TMPR005 +L184=TMPR006 +L185=TMPR007 +L186=PPR06 +L187=PR02H +L188=IICAPR01 +L189=PPR020 +L190=PPR021 +L191=PPR022 +L192=PPR023 +L193=PR12 +L194=PR12L +L195=TMPR105 +L196=TMPR106 +L197=TMPR107 +L198=PPR16 +L199=PR12H +L200=IICAPR11 +L201=PPR120 +L202=PPR121 +L203=PPR122 +L204=PPR123 +L205=IF0 +L206=IF0L +L207=WDTIIF +L208=LVIIF +L209=PIF0 +L210=PIF1 +L211=PIF2 +L212=PIF4 +L213=PIF5 +L214=IF0H +L215=DMAIF0 +L216=DMAIF1 +L217=CSIIF00 +L218=STIF0 +L219=CSIIF01 +L220=SRIF0 +L221=SREIF0 +L222=IF1 +L223=IF1L +L224=CSIIF10 +L225=IICIF10 +L226=STIF1 +L227=SRIF1 +L228=SREIF1 +L229=IICAIF0 +L230=TMIF00 +L231=TMIF01 +L232=TMIF02 +L233=TMIF03 +L234=IF1H +L235=ADIF +L236=RTCIF +L237=RTCIIF +L238=KRIF +L239=MDIF +L240=TMIF04 +L241=MK0 +L242=MK0L +L243=WDTIMK +L244=LVIMK +L245=PMK0 +L246=PMK1 +L247=PMK2 +L248=PMK4 +L249=PMK5 +L250=MK0H +L251=DMAMK0 +L252=DMAMK1 +L253=CSIMK00 +L254=STMK0 +L255=CSIMK01 +L256=SRMK0 +L257=SREMK0 +L258=MK1 +L259=MK1L +L260=CSIMK10 +L261=IICMK10 +L262=STMK1 +L263=SRMK1 +L264=SREMK1 +L265=IICAMK0 +L266=TMMK00 +L267=TMMK01 +L268=TMMK02 +L269=TMMK03 +L270=MK1H +L271=ADMK +L272=RTCMK +L273=RTCIMK +L274=KRMK +L275=MDMK +L276=TMMK04 +L277=PR00 +L278=PR00L +L279=WDTIPR0 +L280=LVIPR0 +L281=PPR00 +L282=PPR01 +L283=PPR02 +L284=PPR04 +L285=PPR05 +L286=PR00H +L287=DMAPR00 +L288=DMAPR01 +L289=CSIPR000 +L290=STPR00 +L291=CSIPR001 +L292=SRPR00 +L293=SREPR00 +L294=PR01 +L295=PR01L +L296=CSIPR010 +L297=IICPR010 +L298=STPR01 +L299=SRPR01 +L300=SREPR01 +L301=IICAPR00 +L302=TMPR000 +L303=TMPR001 +L304=TMPR002 +L305=TMPR003 +L306=PR01H +L307=ADPR0 +L308=RTCPR0 +L309=RTCIPR0 +L310=KRPR0 +L311=MDPR0 +L312=TMPR004 +L313=PR10 +L314=PR10L +L315=WDTIPR1 +L316=LVIPR1 +L317=PPR10 +L318=PPR11 +L319=PPR12 +L320=PPR14 +L321=PPR15 +L322=PR10H +L323=DMAPR10 +L324=DMAPR11 +L325=CSIPR100 +L326=STPR10 +L327=CSIPR101 +L328=SRPR10 +L329=SREPR10 +L330=PR11 +L331=PR11L +L332=CSIPR110 +L333=IICPR110 +L334=STPR11 +L335=SRPR11 +L336=SREPR11 +L337=IICAPR10 +L338=TMPR100 +L339=TMPR101 +L340=TMPR102 +L341=TMPR103 +L342=PR11H +L343=ADPR1 +L344=RTCPR1 +L345=RTCIPR1 +L346=KRPR1 +L347=MDPR1 +L348=TMPR104 +L349=MDAL +L350=MULA +L351=MDAH +L352=MULB +L353=MDBH +L354=MULOH +L355=MDBL +L356=MULOL +L357=PMC +L358=MAA +L359=ADPC +L360=PU0 +L361=PU1 +L362=PU3 +L363=PU4 +L364=PU5 +L365=PU7 +L366=PU12 +L367=PU14 +L368=PIM3 +L369=PIM7 +L370=POM3 +L371=POM7 +L372=NFEN0 +L373=NFEN1 +L374=NFEN2 +L375=MDCL +L376=MDCH +L377=MDUC +L378=DIVST +L379=DIVMODE +L380=PER0 +L381=SAU0EN +L382=IICA0EN +L383=ADCEN +L384=RTCEN +L385=PER2 +L386=TAU0EN +L387=OSMC +L388=BCDADJ +L389=SSR00 +L390=SSR00L +L391=SSR01 +L392=SSR01L +L393=SSR02 +L394=SSR02L +L395=SSR03 +L396=SSR03L +L397=SIR00 +L398=SIR00L +L399=SIR01 +L400=SIR01L +L401=SIR02 +L402=SIR02L +L403=SIR03 +L404=SIR03L +L405=SMR00 +L406=SMR01 +L407=SMR02 +L408=SMR03 +L409=SCR00 +L410=SCR01 +L411=SCR02 +L412=SCR03 +L413=SE0 +L414=SE0L +L415=SS0 +L416=SS0L +L417=ST0 +L418=ST0L +L419=SPS0 +L420=SPS0L +L421=SO0 +L422=SOE0 +L423=SOE0L +L424=SOL0 +L425=SOL0L +L426=TCR00 +L427=TCR01 +L428=TCR02 +L429=TCR03 +L430=TCR04 +L431=TCR05 +L432=TCR06 +L433=TCR07 +L434=TMR00 +L435=TMR01 +L436=TMR02 +L437=TMR03 +L438=TMR04 +L439=TMR05 +L440=TMR06 +L441=TMR07 +L442=TSR00 +L443=TSR00L +L444=TSR01 +L445=TSR01L +L446=TSR02 +L447=TSR02L +L448=TSR03 +L449=TSR03L +L450=TSR04 +L451=TSR04L +L452=TSR05 +L453=TSR05L +L454=TSR06 +L455=TSR06L +L456=TSR07 +L457=TSR07L +L458=TE0 +L459=TE0L +L460=TS0 +L461=TS0L +L462=TT0 +L463=TT0L +L464=TPS0 +L465=TPS0L +L466=TO0 +L467=TO0L +L468=TOE0 +L469=TOE0L +L470=TOL0 +L471=TOL0L +L472=TOM0 +L473=TOM0L +L474=IICCTL00 +L475=SPT0 +L476=STT0 +L477=ACKE0 +L478=WTIM0 +L479=SPIE0 +L480=WREL0 +L481=LREL0 +L482=IICE0 +L483=IICCTL10 +L484=DFC0 +L485=SMC0 +L486=DAD0 +L487=CLD0 +L488=WUP0 +L489=IICWL0 +L490=IICWH0 +L491=SVA0 +L492=PER3 +L493=IICA1EN +L494=P20 +L495=PM20 +L496=PU20 +L497=EGP2 +L498=EGN2 +L499=IICA1 +L500=IICS1 +L501=SPD1 +L502=STD1 +L503=ACKD1 +L504=TRC1 +L505=COI1 +L506=EXC1 +L507=ALD1 +L508=MSTS1 +L509=IICF1 +L510=IICRSV1 +L511=STCEN1 +L512=IICBSY1 +L513=STCF1 +L514=IICCTL01 +L515=SPT1 +L516=STT1 +L517=ACKE1 +L518=WTIM1 +L519=SPIE1 +L520=WREL1 +L521=LREL1 +L522=IICE1 +L523=IICCTL11 +L524=DFC1 +L525=SMC1 +L526=DAD1 +L527=CLD1 +L528=WUP1 +L529=IICWL1 +L530=IICWH1 +L531=SVA1 +[Local Variable] +Geometry=0, 0, 0, 0 +Window=Hide +Boundary=0 +Mode=Proper +[Trace View] +Geometry=0, 0, 0, 0 +Window=Hide +Mode=Normal +Frame=Show +Timetag=Clock +Address=Show +Data=Hex +Status=Show +Address2=Show +Data2=Hex +Status2=Show +Disasm=Show +Pick Up=Off +Synchronize=0 0 0 0 +Frameno= +Frameno1= +Frameno2= +Frameno3= +Frameno4= +Frameno5= +Frameno6= +Frameno7= +Frameno8= +Frameno9= +Frameno10= +Frameno11= +Frameno12= +Frameno13= +Frameno14= +Frameno15= +Frameno16= +ScanStatus=ALL +Access Size=B +ScanAddress=<>-<> +Mask Address= +ScanData= +Mask Data= +ScanExternal= +Mask External= +Scan=OFF +Direction=Down +FindStart= +FindEnd= +SaveRange=Screen +SaveStart= +SaveEnd= +[Register] +Geometry=0, 0, 0, 0 +Window=Hide +Mode=Hex +Boundary=0 +Pickup=OFF +Name=Functional +Register Bank=0 +RP0=3 +RP1=3 +RP2=3 +RP3=3 +PC=3 +SP=3 +PSW=3 +ES=3 +CS=3 +[Event Manager] +Geometry=0, 0, 0, 0 +Window=Hide +Sort by=Unsort +Detail=OFF +[Event Set] +Geometry=0, 0, 0, 0 +Window=Hide +Manager=ON +Sort by=Unsort +Detail=OFF +Last Name= +Count=0 +[Event Link] +Geometry=0, 0, 0, 0 +Window=Hide +Manager=ON +Sort by=Unsort +Detail=OFF +Last Name= +Count=0 +[Break] +Geometry=0, 0, 0, 0 +Window=Hide +Manager=ON +Sort by=Unsort +Detail=OFF +Last Name= +Count=0 +[Trace] +Geometry=0, 0, 0, 0 +Window=Hide +Manager=ON +Sort by=Unsort +Detail=OFF +Last Name= +Delay Count0=2 +Count=0 +[Snap] +Geometry=0, 0, 0, 0 +Window=Hide +Manager=ON +Sort by=Unsort +Detail=OFF +Last Name= +Count=0 +[Stub] +Geometry=0, 0, 0, 0 +Window=Hide +Manager=ON +Sort by=Unsort +Detail=OFF +Last Name= +Count=0 +[Timer] +Geometry=0, 0, 0, 0 +Window=Hide +Manager=ON +Sort by=Unsort +Detail=OFF +Last Name= +TimerRateRunBreak=0011 +TimerBreakOutRunBreak=OFF +Count=0 +[Timer Monitor] +Count=0 +[Dmm] +Geometry=0, 0, 0, 0 +Window=Hide +Manager=ON +Sort by=Unsort +Detail=OFF +Last Name= +Count=0 +[Variable] +Geometry=35, 451, 309, 300 +Window=Normal +Boundary=13762700 +0=.P0.1,P,S,A,+,1 +1=.P0.0,P,S,A,+,1 +2=.PU0,P,S,A,+,1 +3=.temp_command,P,N,A,+,1 +4=.shirobako_power_control_count,P,N,A,+,1 +5=.P2.3,P,S,A,+,1 +6=.PM0,B,S,A,+,1 +Line=7 +[Quick Watch] +0=p00,P,A,1 +1=P0.0,P,A,1 +2=P0.1,P,A,1 +3=PM0,B,A,1 +4=P20.4,P,A,1 +5=PU0,P,A,1 +6=P2.3,P,A,1 +7=shirobako_power_control_count,P,A,1 +8=temp_command,P,A,1 +9= +10= +11= +12= +13= +14= +15= +[Software Break] +Geometry=19, 162, 500, 200 +Window=Normal +Width=150 30 200 100 +Name0=Swb00006 +Address0=task_sys.c#_chk_emergencyExit+0x13 +Window0=ASM +Status0=ON +Name1=Swb00007 +Address1=task_sys.c#_force_off_check+0x4 +Window1=ASM +Status1=ON +Name2=Swb00003 +Address2=task_sys.c#_chk_emergencyExit+0x1a +Window2=ASM +Status2=ON +Name3=Swb00008 +Address3=task_misc.c#_tski_do_command0+0x5e +Window3=ASM +Status3=ON +Name4=Swb00002 +Address4=task_misc.c#_tski_do_command0+0x22 +Window4=ASM +Status4=ON +Name5=Swb00004 +Address5=task_misc.c#_tski_do_command0+0x44 +Window5=ASM +Status5=ON +Count=6 +[Reset] +Debugger=ON +Symbol=OFF +Target CPU=OFF +[Extended Option] +OnClick Software Break=ON +TraceTimetag=x1 +Redraw=500 +Break When Access Function=OFF +Break When Access Whole=Select +Verify=ON +Break Sound=ON +TraceAutoClear=OFF +RRM Clock=Internal +CKC Register Value=0x09 +RRM Internal Clock Frequency=8.000 +[About] +Version=Program +[Pseudo Emulation] +Geometry=0, 0, 0, 0 +Window=Hide +[Data Flash Option] +Data Flash Emulation=OFF +[List] +Geometry=0, 0, 0, 0 +Window=Hide +[Console] +Geometry=0, 0, 0, 0 +Window=Hide diff --git a/tags/2.19_SDK4(3rdNUP)/yav_mcu_bsr.prj b/tags/2.19_SDK4(3rdNUP)/yav_mcu_bsr.prj new file mode 100644 index 0000000..1de53fb --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/yav_mcu_bsr.prj @@ -0,0 +1,1411 @@ +[ProjectManager] +Version=6.00 +Path=C:\78k_data\yav-mcu-basara\trunk\ +Title=yav-mcu +Series=78K0R.PM +Device=uPD79F0104 +DeviceVer=E1.00b +DebugMode=1 +Target=bsr.lmf +[BuildMode0] +BuildModeName=Debug Build +TargetFile=0 +[BuildMode1] +BuildModeName=Release Build +TargetFile=0 +[Tools] +MakeFile=yav_mcu_bsr.mak +Debugger=C:\Program Files (x86)\NEC Electronics Tools\ID78K0R-QB\V3.61\BIN\IDK0R32G.EXE +DebOption= +DebCpuReset=1 +DebSymReset=1 +MuitiLoad=0 +LoadPrjNum=0 +CheckVersion=CC78K0R|W2.13;RA78K0R|W1.33 +[Option.IDK0R32G] +File=\\tsclient\C\78k_data\yav-mcu-basara\trunk\yav_mcu_bsr.pri +[BuildMode2] +BuildModeName=K0R_dbg +TargetFile=0 +[BuildMode3] +BuildModeName=BSR_dbg +TargetFile=0 +[BuildMode4] +BuildModeName=BSR_rel +TargetFile=0 +[BuildMode5] +BuildModeName=BSR_WM0 +TargetFile=0 +[Options.OC78K0R 0] +Version=100 +O0=.\bsr.hex +O1=bsr.hex +UC=1 +UN=FF +UST= +USZ= +K=1 +ZF=0 +S=1 +E=0 +CommandFile=0 +[Options.OC78K0R 1] +Version=100 +UC=1 +UN=FF +UST= +USZ= +K=1 +ZF=0 +S=1 +E=0 +CommandFile=0 +[Options.OC78K0R 2] +Version=100 +O0=.\bsr.hex +O1=bsr.hex +UC=0 +UN=FF +UST= +USZ= +K=0 +ZF=0 +S=1 +E=0 +CommandFile=0 +[Options.OC78K0R 3] +Version=100 +O0=.\bsr.hex +O1=bsr.hex +UC=1 +UN=FF +UST= +USZ= +K=1 +ZF=0 +S=1 +E=0 +CommandFile=0 +[Options.OC78K0R 4] +Version=100 +O0=.\bsr.hex +O1=bsr.hex +UC=1 +UN=FF +UST= +USZ= +K=1 +ZF=0 +S=1 +E=0 +CommandFile=0 +[Options.OC78K0R 5] +Version=100 +O0=.\bsr.hex +O1=bsr.hex +UC=1 +UN=FF +UST= +USZ= +K=1 +ZF=0 +S=1 +E=0 +CommandFile=0 +[BuildBefore-AfterCmd] +Before1=c:\cygwin\bin\touch magic.c +After1=ruby nec_s_2_bsrbin2.rb bsr.hex +[ToolSet] +ToolSetName=(ύX)78K0R Software Package V1.10 +Tool1=CC78K0R|W2.13 +Tool2=RA78K0R|W1.33 +Tool3=SK78K0R|V3.10 +Tool4=ID78K0R-QB|V3.61 +[Options.RA78K0R 0] +Version=100 +G=1 +GA=1 +E=0 +COMMON=0 +COMPATI=0 +P=1 +KA=1 +KS=0 +KX=0 +LF=0 +LW=132 +LL=0 +LT=8 +Z=0 +CommandFile=0 +RA_OPT= +[Options.RA78K0R 1] +Version=100 +G=0 +GA=0 +E=0 +COMMON=0 +COMPATI=0 +P=1 +KA=1 +KS=0 +KX=0 +LF=0 +LW=132 +LL=0 +LT=8 +Z=0 +CommandFile=0 +RA_OPT= +[Options.RA78K0R 2] +Version=100 +O0= +O1=obj +G=1 +GA=1 +E=0 +COMMON=0 +COMPATI=0 +P=1 +P0=inter_asm +KA=1 +KS=1 +KX=1 +LF=0 +LW=132 +LL=0 +LT=8 +Z=0 +CommandFile=0 +RA_OPT=-pinter_asm -ks -kx +[Options.RA78K0R 3] +Version=100 +G=1 +GA=1 +E=0 +COMMON=0 +COMPATI=0 +P=1 +KA=1 +KS=0 +KX=0 +LF=0 +LW=132 +LL=0 +LT=8 +Z=0 +CommandFile=0 +RA_OPT= +[Options.RA78K0R 4] +Version=100 +G=1 +GA=1 +E=0 +COMMON=0 +COMPATI=0 +P=1 +KA=1 +KS=0 +KX=0 +LF=0 +LW=132 +LL=0 +LT=8 +Z=0 +CommandFile=0 +RA_OPT= +[Options.RA78K0R 5] +Version=100 +G=1 +GA=1 +E=0 +COMMON=0 +COMPATI=0 +P=1 +KA=1 +KS=0 +KX=0 +LF=0 +LW=132 +LL=0 +LT=8 +Z=0 +CommandFile=0 +RA_OPT= +[Options.CC78K0R 0] +Version=210 +Include0=renge,C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r +Include1=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r +Memorymodel=1 +Flashobj=0 +FlashStartadr= +FlashBranchStartadr= +Mirror=0 +Saddrglobalchk=0 +Saddrglobal=1066 +Saddrstaticchk=0 +Saddrstatic=1072 +Bitfieldmsb=0 +Onebytechk=0 +Pacstructchk=0 +AssignROMchk=0 +AssignROM=0 +Maxoptimizechk=0 +Maxoptimize=1104 +Charunexpandchk=1 +Unsignedchar=0 +Usesaddrchk=0 +Autoallocationchk=1 +Jumpoptimize=1 +Librarycallchk=0 +Librarycall=1129 +Aggressivechk=1 +Relativebranchchk=1 +Debugoptchk=0 +Outdebugchk=1 +Outdebug=1153 +Outasmsrccmb0=inter_asm +Outasmsrccmb1=bsr.asm +Outasmsrcchk=1 +Outasmsrc=1158 +Outasmoptall=1 +Common=0 +Outerrlistchk=0 +Outerrlist=1174 +Xreference=0 +Preprocess=0 +Prenocomment=0 +Predefine=0 +Preifdef=1 +Preinclude=0 +Preline=1 +Prenumber=1 +Formfeed=0 +Columns=132 +Lines=0 +Tablength=8 +Ansi=0 +Cpraspras=1 +Commentnest=0 +Intunexpand=0 +Kanjicode=1210 +Verbose=0 +CommandFile=0 +Warninglevel=0 +Startupchk=1 +Fixation=1 +FarROMization=0 +Objectsel=1305 +Librarychk=1 +Floatingpoint=0 +Muldivunit=1 +Mulunit=1 +Startup=s0rml.rel +Library1=cl0rdm.lib +Library2=cl0rm.lib +Library3=cl0rmf.lib +VfiFileBoot0= +VfiFileBoot1=boot.vfi +VF78K0Rchk=0 +VF78K0Rvs= +[Options.CC78K0R 1] +Version=210 +Memorymodel=2 +Flashobj=0 +FlashStartadr= +FlashBranchStartadr= +Mirror=0 +Saddrglobalchk=0 +Saddrglobal=1066 +Saddrstaticchk=0 +Saddrstatic=1072 +Bitfieldmsb=0 +Onebytechk=0 +Pacstructchk=0 +AssignROMchk=0 +AssignROM=0 +Maxoptimizechk=0 +Maxoptimize=1104 +Charunexpandchk=1 +Unsignedchar=0 +Usesaddrchk=0 +Autoallocationchk=1 +Jumpoptimize=1 +Librarycallchk=1 +Librarycall=1128 +Aggressivechk=1 +Relativebranchchk=0 +Debugoptchk=0 +Outdebugchk=0 +Outdebug=1153 +Outasmsrcchk=0 +Outasmsrc=1157 +Outasmoptall=1 +Common=0 +Outerrlistchk=0 +Outerrlist=1173 +Xreference=0 +Preprocess=0 +Prenocomment=0 +Predefine=0 +Preifdef=1 +Preinclude=0 +Preline=1 +Prenumber=1 +Formfeed=0 +Columns=132 +Lines=0 +Tablength=8 +Ansi=0 +Cpraspras=0 +Commentnest=0 +Intunexpand=0 +Kanjicode=1210 +Verbose=0 +CommandFile=0 +Warninglevel=1 +Startupchk=1 +Fixation=1 +FarROMization=1 +Objectsel=1305 +Librarychk=1 +Floatingpoint=0 +Muldivunit=1 +Mulunit=1 +Startup=s0rll.rel +Library1=cl0rdm.lib +Library2=cl0rm.lib +Library3=cl0rmf.lib +VF78K0Rchk=0 +VF78K0Rvs= +[Options.CC78K0R 2] +Version=210 +Define0= +Define1=_debug_,_TEG_,proc_is_ke3 +Define2=_debug_,_TEG_,proc_is_ke3,%time% +Define3=_TEG_,proc_is_ke3 +Define4=proc_is_ke3 +Include0=renge,C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r +Include1=renge,C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r +Include2=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r +Memorymodel=1 +Flashobj=0 +FlashStartadr= +FlashBranchStartadr= +Mirror=0 +Saddrglobalchk=1 +Saddrglobal=1063 +Saddrstaticchk=1 +Saddrstatic=1069 +Bitfieldmsb=0 +Onebytechk=0 +Pacstructchk=0 +AssignROMchk=0 +AssignROM=0 +Maxoptimizechk=0 +Maxoptimize=1104 +Charunexpandchk=0 +Unsignedchar=0 +Usesaddrchk=0 +Autoallocationchk=1 +Jumpoptimize=1 +Librarycallchk=1 +Librarycall=1129 +Aggressivechk=1 +Relativebranchchk=0 +Debugoptchk=0 +Outdebugchk=1 +Outdebug=1153 +Outobjectcmb0= +Outobjectcmb1=obj +Outasmsrccmb0=inter_asm +Outasmsrccmb1=bsr.asm +Outasmsrcchk=1 +Outasmsrc=1158 +Outasmoptall=1 +Common=0 +Outerrlistchk=0 +Outerrlist=1174 +Xreference=0 +Preprocess=0 +Prenocomment=0 +Predefine=0 +Preifdef=1 +Preinclude=1 +Preline=1 +Prenumber=1 +Formfeed=0 +Columns=132 +Lines=0 +Tablength=8 +Ansi=0 +Cpraspras=1 +Commentnest=0 +Intunexpand=1 +Kanjicode=1210 +Verbose=0 +CommandFile=0 +Warninglevel=1 +Startupchk=1 +Fixation=0 +FarROMization=0 +Objectsel=1305 +Librarychk=1 +Floatingpoint=0 +Muldivunit=1 +Mulunit=1 +Startup=s0rm.rel +Library1=cl0rdm.lib +Library2=cl0rm.lib +Library3=cl0rmf.lib +VfiFileBoot0= +VfiFileBoot1=boot.vfi +VF78K0Rchk=0 +VF78K0Rvs= +[Options.CC78K0R 3] +Version=210 +Define0=_debug_,proc_is_bsr,_TEG_ +Define1=_debug_,proc_is_bsr +Define2=proc_is_bsr +Define3=_TEG_,proc_is_ke3 +Define4=proc_is_ke3 +Include0=renge,C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r +Include1=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r +Memorymodel=1 +Flashobj=0 +FlashStartadr= +FlashBranchStartadr= +Mirror=0 +Saddrglobalchk=0 +Saddrglobal=1066 +Saddrstaticchk=0 +Saddrstatic=1072 +Bitfieldmsb=0 +Onebytechk=0 +Pacstructchk=0 +AssignROMchk=0 +AssignROM=0 +Maxoptimizechk=0 +Maxoptimize=1104 +Charunexpandchk=1 +Unsignedchar=0 +Usesaddrchk=0 +Autoallocationchk=1 +Jumpoptimize=1 +Librarycallchk=0 +Librarycall=1129 +Aggressivechk=1 +Relativebranchchk=1 +Debugoptchk=0 +Outdebugchk=1 +Outdebug=1153 +Outasmsrccmb0=inter_asm +Outasmsrccmb1=bsr.asm +Outasmsrcchk=1 +Outasmsrc=1158 +Outasmoptall=1 +Common=0 +Outerrlistchk=0 +Outerrlist=1174 +Xreference=0 +Preprocess=0 +Prenocomment=0 +Predefine=0 +Preifdef=1 +Preinclude=0 +Preline=1 +Prenumber=1 +Formfeed=0 +Columns=132 +Lines=0 +Tablength=8 +Ansi=0 +Cpraspras=1 +Commentnest=0 +Intunexpand=0 +Kanjicode=1210 +Verbose=0 +CommandFile=0 +Warninglevel=0 +Startupchk=1 +Fixation=1 +FarROMization=0 +Objectsel=1305 +Librarychk=1 +Floatingpoint=0 +Muldivunit=1 +Mulunit=1 +Startup=s0rml.rel +Library1=cl0rdm.lib +Library2=cl0rm.lib +Library3=cl0rmf.lib +VfiFileBoot0= +VfiFileBoot1=boot.vfi +VF78K0Rchk=0 +VF78K0Rvs= +[Options.CC78K0R 4] +Version=210 +Define0=proc_is_bsr +Include0=renge,C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r +Include1=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r +Memorymodel=1 +Flashobj=0 +FlashStartadr= +FlashBranchStartadr= +Mirror=0 +Saddrglobalchk=0 +Saddrglobal=1066 +Saddrstaticchk=0 +Saddrstatic=1072 +Bitfieldmsb=0 +Onebytechk=0 +Pacstructchk=0 +AssignROMchk=0 +AssignROM=0 +Maxoptimizechk=0 +Maxoptimize=1104 +Charunexpandchk=1 +Unsignedchar=0 +Usesaddrchk=0 +Autoallocationchk=1 +Jumpoptimize=1 +Librarycallchk=0 +Librarycall=1129 +Aggressivechk=1 +Relativebranchchk=1 +Debugoptchk=0 +Outdebugchk=1 +Outdebug=1153 +Outasmsrccmb0=inter_asm +Outasmsrccmb1=bsr.asm +Outasmsrcchk=1 +Outasmsrc=1158 +Outasmoptall=1 +Common=0 +Outerrlistchk=0 +Outerrlist=1174 +Xreference=0 +Preprocess=0 +Prenocomment=0 +Predefine=0 +Preifdef=1 +Preinclude=0 +Preline=1 +Prenumber=1 +Formfeed=0 +Columns=132 +Lines=0 +Tablength=8 +Ansi=0 +Cpraspras=1 +Commentnest=0 +Intunexpand=0 +Kanjicode=1210 +Verbose=0 +CommandFile=0 +Warninglevel=0 +Startupchk=1 +Fixation=1 +FarROMization=0 +Objectsel=1305 +Librarychk=1 +Floatingpoint=0 +Muldivunit=1 +Mulunit=1 +Startup=s0rml.rel +Library1=cl0rdm.lib +Library2=cl0rm.lib +Library3=cl0rmf.lib +VfiFileBoot0= +VfiFileBoot1=boot.vfi +VF78K0Rchk=0 +VF78K0Rvs= +[Options.CC78K0R 5] +Version=210 +Define0= +Define1=_debug_,proc_is_bsr,_TEG_,_WM0_ +Define2=_debug_,proc_is_bsr,_TEG_,_WM0 +Define3=_debug_,proc_is_bsr,_TEG_ +Define4=_debug_,proc_is_bsr +Include0=renge,C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r +Include1=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r +Memorymodel=1 +Flashobj=0 +FlashStartadr= +FlashBranchStartadr= +Mirror=0 +Saddrglobalchk=0 +Saddrglobal=1066 +Saddrstaticchk=0 +Saddrstatic=1072 +Bitfieldmsb=0 +Onebytechk=0 +Pacstructchk=0 +AssignROMchk=0 +AssignROM=0 +Maxoptimizechk=0 +Maxoptimize=1104 +Charunexpandchk=1 +Unsignedchar=0 +Usesaddrchk=0 +Autoallocationchk=1 +Jumpoptimize=1 +Librarycallchk=0 +Librarycall=1129 +Aggressivechk=1 +Relativebranchchk=1 +Debugoptchk=0 +Outdebugchk=1 +Outdebug=1153 +Outasmsrccmb0=inter_asm +Outasmsrccmb1=bsr.asm +Outasmsrcchk=1 +Outasmsrc=1158 +Outasmoptall=1 +Common=0 +Outerrlistchk=0 +Outerrlist=1174 +Xreference=0 +Preprocess=0 +Prenocomment=0 +Predefine=0 +Preifdef=1 +Preinclude=0 +Preline=1 +Prenumber=1 +Formfeed=0 +Columns=132 +Lines=0 +Tablength=8 +Ansi=0 +Cpraspras=1 +Commentnest=0 +Intunexpand=0 +Kanjicode=1210 +Verbose=0 +CommandFile=0 +Warninglevel=0 +Startupchk=1 +Fixation=1 +FarROMization=0 +Objectsel=1305 +Librarychk=1 +Floatingpoint=0 +Muldivunit=1 +Mulunit=1 +Startup=s0rml.rel +Library1=cl0rdm.lib +Library2=cl0rm.lib +Library3=cl0rmf.lib +VfiFileBoot0= +VfiFileBoot1=boot.vfi +VF78K0Rchk=0 +VF78K0Rvs= +[Options.CC78K0R 2 self_flash.c] +Version=210 +Define0= +Define1=_debug_,_TEG_,proc_is_ke3 +Define2=_debug_,_TEG_,proc_is_ke3,%time% +Undefine0= +Include0=renge,C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r +Include1=renge,C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r +Include2=renge,C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r +Include3=renge,C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r +Include4=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r +Memorymodel=1 +Flashobj=0 +FlashStartadr= +FlashBranchStartadr= +Mirror=0 +Saddrglobalchk=1 +Saddrglobal=1063 +Saddrstaticchk=0 +Saddrstatic=1072 +Bitfieldmsb=0 +Onebytechk=0 +Pacstructchk=0 +AssignROMchk=0 +AssignROM=0 +Maxoptimizechk=0 +Maxoptimize=1104 +Charunexpandchk=0 +Unsignedchar=0 +Usesaddrchk=0 +Autoallocationchk=1 +Jumpoptimize=1 +Librarycallchk=1 +Librarycall=1129 +Aggressivechk=1 +Relativebranchchk=0 +Debugoptchk=0 +Outdebugchk=1 +Outdebug=1153 +Outobjectcmb0= +Outobjectcmb1=obj +Outasmsrccmb0=inter_asm +Outasmsrccmb1=bsr.asm +Outasmsrcchk=1 +Outasmsrc=1158 +Outasmoptall=1 +Common=0 +Outerrlistchk=0 +Outerrlist=1174 +Xreference=0 +Preprocess=0 +Prenocomment=0 +Predefine=0 +Preifdef=1 +Preinclude=1 +Preline=1 +Prenumber=1 +Formfeed=0 +Columns=132 +Lines=0 +Tablength=8 +Ansi=0 +Cpraspras=1 +Commentnest=0 +Intunexpand=1 +Kanjicode=1210 +Verbose=0 +CommandFile=0 +Warninglevel=1 +Startupchk=1 +Fixation=0 +FarROMization=0 +Objectsel=1305 +Librarychk=1 +Floatingpoint=0 +Muldivunit=1 +Mulunit=1 +Startup=s0rm.rel +Library1=cl0rdm.lib +Library2=cl0rm.lib +Library3=cl0rmf.lib +VfiFileBoot0= +VfiFileBoot1=boot.vfi +VF78K0Rchk=0 +VF78K0Rvs= +[Options.CC78K0R 2 vreg_twl.c] +Version=210 +Define0= +Define1=_debug_,_TEG_,proc_is_ke3 +Define2=_debug_,_TEG_,proc_is_ke3,%time% +Undefine0= +Include0=renge,C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r +Include1=renge,C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r +Include2=renge,C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r +Include3=renge,C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r +Include4=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r +Memorymodel=1 +Flashobj=0 +FlashStartadr= +FlashBranchStartadr= +Mirror=0 +Saddrglobalchk=1 +Saddrglobal=1063 +Saddrstaticchk=1 +Saddrstatic=1075 +Bitfieldmsb=0 +Onebytechk=0 +Pacstructchk=0 +AssignROMchk=0 +AssignROM=0 +Maxoptimizechk=0 +Maxoptimize=1104 +Charunexpandchk=0 +Unsignedchar=0 +Usesaddrchk=0 +Autoallocationchk=1 +Jumpoptimize=1 +Librarycallchk=1 +Librarycall=1129 +Aggressivechk=1 +Relativebranchchk=0 +Debugoptchk=0 +Outdebugchk=1 +Outdebug=1153 +Outobjectcmb0= +Outobjectcmb1=obj +Outasmsrccmb0=inter_asm +Outasmsrccmb1=bsr.asm +Outasmsrcchk=1 +Outasmsrc=1158 +Outasmoptall=1 +Common=0 +Outerrlistchk=0 +Outerrlist=1174 +Xreference=0 +Preprocess=0 +Prenocomment=0 +Predefine=0 +Preifdef=1 +Preinclude=1 +Preline=1 +Prenumber=1 +Formfeed=0 +Columns=132 +Lines=0 +Tablength=8 +Ansi=0 +Cpraspras=1 +Commentnest=0 +Intunexpand=1 +Kanjicode=1210 +Verbose=0 +CommandFile=0 +Warninglevel=1 +Startupchk=1 +Fixation=0 +FarROMization=0 +Objectsel=1305 +Librarychk=1 +Floatingpoint=0 +Muldivunit=1 +Mulunit=1 +Startup=s0rm.rel +Library1=cl0rdm.lib +Library2=cl0rm.lib +Library3=cl0rmf.lib +VfiFileBoot0= +VfiFileBoot1=boot.vfi +VF78K0Rchk=0 +VF78K0Rvs= +[Options.CC78K0R 2 renge.c] +Version=210 +Define0= +Define1=_debug_,_TEG_,proc_is_ke3 +Define2=_debug_,_TEG_,proc_is_ke3,%time% +Undefine0= +Include0=renge,C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r +Include1=renge,C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r +Include2=renge,C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r +Include3=renge,C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r +Include4=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r +Memorymodel=1 +Flashobj=0 +FlashStartadr= +FlashBranchStartadr= +Mirror=0 +Saddrglobalchk=1 +Saddrglobal=1063 +Saddrstaticchk=1 +Saddrstatic=1075 +Bitfieldmsb=0 +Onebytechk=0 +Pacstructchk=0 +AssignROMchk=0 +AssignROM=0 +Maxoptimizechk=0 +Maxoptimize=1104 +Charunexpandchk=0 +Unsignedchar=0 +Usesaddrchk=0 +Autoallocationchk=1 +Jumpoptimize=1 +Librarycallchk=1 +Librarycall=1129 +Aggressivechk=1 +Relativebranchchk=0 +Debugoptchk=0 +Outdebugchk=1 +Outdebug=1153 +Outobjectcmb0= +Outobjectcmb1=obj +Outasmsrccmb0=inter_asm +Outasmsrccmb1=bsr.asm +Outasmsrcchk=1 +Outasmsrc=1158 +Outasmoptall=1 +Common=0 +Outerrlistchk=0 +Outerrlist=1174 +Xreference=0 +Preprocess=0 +Prenocomment=0 +Predefine=0 +Preifdef=1 +Preinclude=1 +Preline=1 +Prenumber=1 +Formfeed=0 +Columns=132 +Lines=0 +Tablength=8 +Ansi=0 +Cpraspras=1 +Commentnest=0 +Intunexpand=1 +Kanjicode=1210 +Verbose=0 +CommandFile=0 +Warninglevel=1 +Startupchk=1 +Fixation=0 +FarROMization=0 +Objectsel=1305 +Librarychk=1 +Floatingpoint=0 +Muldivunit=1 +Mulunit=1 +Startup=s0rm.rel +Library1=cl0rdm.lib +Library2=cl0rm.lib +Library3=cl0rmf.lib +VfiFileBoot0= +VfiFileBoot1=boot.vfi +VF78K0Rchk=0 +VF78K0Rvs= +[Options.CC78K0R 2 vreg_ctr.c] +Version=210 +Define0= +Define1=_debug_,_TEG_,proc_is_ke3 +Define2=_debug_,_TEG_,proc_is_ke3,%time% +Undefine0= +Include0=renge,C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r +Include1=renge,C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r +Include2=renge,C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r +Include3=renge,C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r +Include4=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r +Memorymodel=1 +Flashobj=0 +FlashStartadr= +FlashBranchStartadr= +Mirror=0 +Saddrglobalchk=1 +Saddrglobal=1063 +Saddrstaticchk=1 +Saddrstatic=1075 +Bitfieldmsb=0 +Onebytechk=0 +Pacstructchk=0 +AssignROMchk=0 +AssignROM=0 +Maxoptimizechk=0 +Maxoptimize=1104 +Charunexpandchk=0 +Unsignedchar=0 +Usesaddrchk=0 +Autoallocationchk=1 +Jumpoptimize=1 +Librarycallchk=1 +Librarycall=1129 +Aggressivechk=1 +Relativebranchchk=0 +Debugoptchk=0 +Outdebugchk=1 +Outdebug=1153 +Outobjectcmb0= +Outobjectcmb1=obj +Outasmsrccmb0=inter_asm +Outasmsrccmb1=bsr.asm +Outasmsrcchk=1 +Outasmsrc=1158 +Outasmoptall=1 +Common=0 +Outerrlistchk=0 +Outerrlist=1174 +Xreference=0 +Preprocess=0 +Prenocomment=0 +Predefine=0 +Preifdef=1 +Preinclude=1 +Preline=1 +Prenumber=1 +Formfeed=0 +Columns=132 +Lines=0 +Tablength=8 +Ansi=0 +Cpraspras=1 +Commentnest=0 +Intunexpand=1 +Kanjicode=1210 +Verbose=0 +CommandFile=0 +Warninglevel=1 +Startupchk=1 +Fixation=0 +FarROMization=0 +Objectsel=1305 +Librarychk=1 +Floatingpoint=0 +Muldivunit=1 +Mulunit=1 +Startup=s0rm.rel +Library1=cl0rdm.lib +Library2=cl0rm.lib +Library3=cl0rmf.lib +VfiFileBoot0= +VfiFileBoot1=boot.vfi +VF78K0Rchk=0 +VF78K0Rvs= +[Options.LK78K0R 0] +Version=100 +O0=bsr_k0r.lmf +O1=bsr.lmf +O2=flash.lmf +O3=a.lmf +G=1 +E=0 +E0=flash.elk +E1=a.elk +GO=1 +GOValue=85 +GOStart=FC00 +GOSizeValue=1024 +GI=1 +GIValue=FFFFFFFFFFFFFFFFFFFF +CCZA=0 +MemInfoCheck=1 +P=1 +P0=bsr_k0r.map +P1=bsr.map +P2=flash.map +P3=a.map +MI=0 +GB=1 +GBValue=6EFBFF +KM=1 +KD=0 +KP=1 +KL=0 +LF=0 +LL=0 +B0=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\lib78k0r\fsl.lib +D0=bsr_mcu.dr +D1=user_area.dr +S=1 +W=0 +SELFCheck=1 +SELF=0 +ZB= +Etcetera0= +Etcetera1=boot.lmf +CommandFile=0 +[Options.LK78K0R 1] +Version=100 +O0=a.lmf +G=0 +E=0 +E0=a.elk +GO=0 +GOValue= +GOStart=FC00 +GOSizeValue=1024 +GI=0 +GIValue=FFFFFFFFFFFFFFFFFFFF +CCZA=1 +MemInfoCheck=0 +P=1 +P0=a.map +MI=0 +GB=0 +GBValue= +KM=1 +KD=1 +KP=0 +KL=0 +LF=0 +LL=0 +S=0 +W=1 +SELFCheck=0 +SELF=0 +ZB= +CommandFile=0 +[Options.LK78K0R 2] +Version=100 +O0=bsr.lmf +O1=bsr_k0r.lmf +O2=flash.lmf +O3=a.lmf +G=1 +E=0 +E0=flash.elk +E1=a.elk +GO=0 +GOValue=85 +GOStart=FC00 +GOSizeValue=1024 +GI=1 +GIValue=1B339499E033F240BFAA +CCZA=0 +MemInfoCheck=1 +P=1 +P0=bsr_k0r.map +P1=bsr.map +P2=flash.map +P3=a.map +MI=0 +GB=1 +GBValue=7EFBFF +KM=1 +KD=0 +KP=0 +KL=0 +LF=0 +LL=0 +B0=C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\lib78k0r\fsl.lib +B1=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\lib78k0r\fsl.lib +D0=bsr_mcu.dr +D1=user_area.dr +S=1 +W=2 +SELFCheck=0 +SELF=0 +ZB= +Etcetera0= +Etcetera1=boot.lmf +CommandFile=0 +OFILE=C:\78k_data\yav-mcu-basara\trunk\bsr.lmf +[Options.LK78K0R 3] +Version=100 +O0=bsr_bsr.lmf +O1=bsr_k0r.lmf +O2=bsr.lmf +O3=flash.lmf +O4=a.lmf +G=1 +E=0 +E0=flash.elk +E1=a.elk +GO=1 +GOValue=85 +GOStart=FC00 +GOSizeValue=1024 +GI=1 +GIValue=FFFFFFFFFFFFFFFFFFFF +CCZA=0 +MemInfoCheck=1 +P=1 +P0=bsr_bsr.map +P1=bsr_k0r.map +P2=bsr.map +P3=flash.map +P4=a.map +MI=0 +GB=1 +GBValue=6EFBFF +KM=1 +KD=0 +KP=1 +KL=0 +LF=0 +LL=0 +B0=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\lib78k0r\fsl.lib +D0=bsr_mcu.dr +D1=user_area.dr +S=1 +W=2 +SELFCheck=0 +SELF=0 +ZB= +Etcetera0= +Etcetera1=boot.lmf +CommandFile=0 +[Options.LK78K0R 4] +Version=100 +O0=bsr_k0r.lmf +O1=bsr.lmf +O2=flash.lmf +O3=a.lmf +G=1 +E=0 +E0=flash.elk +E1=a.elk +GO=1 +GOValue=85 +GOStart=FC00 +GOSizeValue=1024 +GI=1 +GIValue=FFFFFFFFFFFFFFFFFFFF +CCZA=0 +MemInfoCheck=1 +P=1 +P0=bsr_k0r.map +P1=bsr.map +P2=flash.map +P3=a.map +MI=0 +GB=1 +GBValue=6EFBFF +KM=1 +KD=0 +KP=1 +KL=0 +LF=0 +LL=0 +B0=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\lib78k0r\fsl.lib +D0=bsr_mcu.dr +D1=user_area.dr +S=1 +W=0 +SELFCheck=1 +SELF=0 +ZB= +Etcetera0= +Etcetera1=boot.lmf +CommandFile=0 +[Options.LK78K0R 5] +Version=100 +O0=bsr_bsr.lmf +O1=bsr_k0r.lmf +O2=bsr.lmf +O3=flash.lmf +O4=a.lmf +G=1 +E=0 +E0=flash.elk +E1=a.elk +GO=1 +GOValue=85 +GOStart=FC00 +GOSizeValue=1024 +GI=1 +GIValue=FFFFFFFFFFFFFFFFFFFF +CCZA=0 +MemInfoCheck=1 +P=1 +P0=bsr_bsr.map +P1=bsr_k0r.map +P2=bsr.map +P3=flash.map +P4=a.map +MI=0 +GB=1 +GBValue=6EFBFF +KM=1 +KD=0 +KP=1 +KL=0 +LF=0 +LL=0 +B0=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\lib78k0r\fsl.lib +D0=bsr_mcu.dr +D1=user_area.dr +S=1 +W=2 +SELFCheck=0 +SELF=0 +ZB= +Etcetera0= +Etcetera1=boot.lmf +CommandFile=0 +[Options.LCNV78K0R 0] +Version=100 +LCNV_GO=0 +E=0 +CommandFile=0 +[Options.LCNV78K0R 1] +Version=100 +LCNV_GO=0 +E=0 +CommandFile=0 +[Options.LCNV78K0R 2] +Version=100 +LCNV_GO=0 +O0=inter_asm +E=0 +CommandFile=0 +[Options.LCNV78K0R 3] +Version=100 +LCNV_GO=0 +E=0 +CommandFile=0 +[Options.LCNV78K0R 4] +Version=100 +LCNV_GO=0 +E=0 +CommandFile=0 +[Options.LCNV78K0R 5] +Version=100 +LCNV_GO=0 +E=0 +CommandFile=0 +[Options.78K0R] +BuildMode=2 +BuildMode2=K0R_dbg +BuildMode3=BSR_dbg +BuildMode4=BSR_rel +BuildMode5=BSR_WM0 +DefaultMode2=1 +DefaultMode3=1 +DefaultMode4=1 +DefaultMode5=1 +[SrcFile] +Source1=loader.c +Source2=pm.c +Source3=i2c_ctr.c +Source4=main.c +Source5=magic.c +Source6=WDT.c +Source7=i2c_mcu.c +Source8=i2c_twl.c +Source9=led.c +Source10=rtc.c +Source11=vreg_ctr.c +Source12=vreg_twl.c +Source13=adc.c +Source14=renge\renge.c +Source15=accero.c +Source16=self_flash.c +Source17=sw.c +Source18=task_debug.c +Source19=task_misc.c +Source20=task_sys.c +Source21=pedo_alg_thre_det2.c +Source22=ini_VECT.c +Source23=task_status.c +Source24=led_cam.c +Source25=led_pow.c +Source26=hal.c +Source27=batt_params.c +Source28=voltable.c +Source29=pedo_lpf_coeff.c +Source30=kanaria.asm +Source31=kanaria_c.c +Source32=get_ei.asm +Source33=util_funcs.c +Source34=i2c_mcu-sub.c +[IncFile] +Include1=incs_loader.h +Include2=sim\simOnWin.h +Include3=sim\sfrAlias.h +Include4=config.h +Include5=jhl_defs.h +Include6=user_define.h +Include7=hal.h +Include8=bsr_system.h +Include9=renge\renge.h +Include10=renge\renge_defs.h +Include11=renge\renge_task_immediate.h +Include12=vreg_ctr.h +Include13=vreg_twl.h +Include14=loader.h +Include15=i2c_mcu.h +Include16=WDT.h +Include17=..\..\..\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r\fsl.h +Include18=fsl_user.h +Include19=i2c_ctr.h +Include20=pm.h +Include21=rtc.h +Include22=reboot.h +Include23=magic.h +Include24=incs.h +Include25=i2c_twl.h +Include26=accero.h +Include27=pedometer.h +Include28=sw.h +Include29=adc.h +Include30=led.h +Include31=batt_params.h +Include32=pool.h +Include33=i2c_twl_defs.h +Include34=renge\renge_task_intval.h +Include35=..\..\..\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r\math.h +Include36=self_flash.h +Include37=sim\sim_interrupt_decrare.c +Include38=util_funcs.h +Include39=i2c_mcu_sub.h diff --git a/tags/2.19_SDK4(3rdNUP)/yav_mcu_bsr.prk b/tags/2.19_SDK4(3rdNUP)/yav_mcu_bsr.prk new file mode 100644 index 0000000..29f448c --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/yav_mcu_bsr.prk @@ -0,0 +1,25 @@ +[ProjectManager] +FrameMax=1 +FrameX=4 +FrameY=0 +FrameCX=1235 +FrameCY=1076 +OpenFile1=i2c_ctr.c,0,655,120,1628,751,0,1,0,0 +OpenFile2=kanaria_c.c,0,68,138,763,769,8,5,8,0 +OpenFile3=pm.c,0,373,197,1346,828,35,374,32,0 +OpenFile4=accero.c,0,200,200,1016,818,109,227,2,0 +OpenFile5=i2c_mcu.h,0,671,375,1487,993,16,7,16,0 +OpenFile6=task_sys.c,0,225,225,1471,947,0,445,0,0 +OpenFile7=loader.c,0,250,250,1841,957,6,157,1,0 +OpenFile8=main.c,0,402,105,1713,812,0,57,0,0 +OpenFile9=batt_params.c,0,300,300,1553,955,0,68,0,0 +OpenFile10=task_misc.c,0,141,193,1732,900,2,271,2,0 +OpenFile11=i2c_mcu.c,0,335,94,1196,858,0,22,0,0 +OpenFile12=ProjectWindow +PrjPos=0,0,706,0,291 +OpenFile13=config.h,0,300,300,1891,1007,29,10,29,0 +OpenFile14=OutputWindow +OutputPos=0,231,682,640,1903 +ActivePRJ=yav_mcu_bsr.prj +[ProjectWindow] +ProjectWindowDispType=0 diff --git a/tags/2.19_SDK4(3rdNUP)/yav_mcu_bsr.prw b/tags/2.19_SDK4(3rdNUP)/yav_mcu_bsr.prw new file mode 100644 index 0000000..7c0bbd6 --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/yav_mcu_bsr.prw @@ -0,0 +1,8 @@ +[System] +System1=default +[default] +Project1=yav_mcu_bsr.prj +[BATCH_BUILD] +Build1=yav_mcu_bsr.prj,Debug Build,1 +Build2=yav_mcu_bsr.prj,Release Build,0 +Build3=yav_mcu_bsr.prj,BSR_WM0,0 diff --git a/tags/2.19_SDK4(3rdNUP)/yav_mcu_bsr.sdb b/tags/2.19_SDK4(3rdNUP)/yav_mcu_bsr.sdb new file mode 100644 index 0000000..367208e --- /dev/null +++ b/tags/2.19_SDK4(3rdNUP)/yav_mcu_bsr.sdb @@ -0,0 +1,335 @@ +[SdbInfo] +Ver=5 +[loader.c] +T=4f13d431 +1=incs_loader.h +2=..\..\..\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r\fsl.h +3=fsl_user.h +4=i2c_ctr.h +5=i2c_mcu.h +6=pm.h +7=rtc.h +8=reboot.h +9=WDT.h +10=magic.h +[pm.c] +T=4f176bd3 +1=incs.h +2=adc.h +3=led.h +4=pm.h +5=renge\renge.h +6=batt_params.h +7=..\..\..\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r\fsl.h +8=fsl_user.h +9=vreg_twl.h +10=i2c_mcu.h +[i2c_ctr.c] +T=4f14d104 +1=incs.h +2=rtc.h +3=pedometer.h +[main.c] +T=4e647b08 +1=incs.h +2=rtc.h +3=pm.h +4=accero.h +5=led.h +6=adc.h +7=i2c_mcu.h +8=pool.h +[magic.c] +T=4f14db68 +1=magic.h +2=config.h +[WDT.c] +T=4e649146 +1=incs_loader.h +[i2c_mcu.c] +T=4eeed909 +1=incs_loader.h +2=i2c_mcu.h +3=loader.h +4=util_funcs.h +5=i2c_mcu_sub.h +[i2c_twl.c] +T=4f14db40 +1=incs.h +2=i2c_twl_defs.h +3=i2c_twl.h +4=vreg_twl.h +5=WDT.h +[led.c] +T=4f13d418 +1=incs.h +2=led.h +[rtc.c] +T=4e647eec +1=incs.h +[vreg_ctr.c] +T=4e687272 +1=incs.h +2=vreg_ctr.h +3=rtc.h +4=led.h +5=accero.h +6=pm.h +7=pool.h +8=vreg_twl.h +9=sw.h +10=WDT.h +11=..\..\..\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r\fsl.h +12=fsl_user.h +[vreg_twl.c] +T=4e6491f4 +1=incs.h +2=jhl_defs.h +3=led.h +4=vreg_twl.h +5=adc.h +[adc.c] +T=4f13b7b7 +1=incs.h +2=adc.h +3=pm.h +4=led.h +5=vreg_twl.h +6=i2c_mcu.h +[renge\renge.c] +T=4e77e344 +1=renge\renge.h +2=renge\renge_task_intval.h +3=renge\renge_task_immediate.h +4=WDT.h +5=config.h +6=user_define.h +7=util_funcs.h +8=sim\simOnWin.h +9=bsr_system.h +[accero.c] +T=4f14cd44 +1=incs.h +2=accero.h +3=i2c_mcu.h +4=..\..\..\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r\math.h +[self_flash.c] +T=4e686baa +1=incs_loader.h +2=..\..\..\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r\fsl.h +3=fsl_user.h +4=i2c_ctr.h +5=i2c_mcu.h +6=pool.h +7=magic.h +8=pm.h +9=WDT.h +10=util_funcs.h +[sw.c] +T=4e6480e9 +1=incs.h +2=i2c_twl.h +3=i2c_ctr.h +4=led.h +5=pm.h +6=rtc.h +7=sw.h +[task_debug.c] +T=4e647e9c +1=incs_loader.h +2=renge\renge.h +3=pm.h +4=accero.h +[task_misc.c] +T=4f13d472 +1=incs.h +2=renge\renge.h +3=pm.h +4=accero.h +5=adc.h +6=i2c_mcu.h +7=led.h +8=vreg_twl.h +[task_sys.c] +T=4f13d6f6 +1=incs.h +2=i2c_twl.h +3=i2c_ctr.h +4=led.h +5=accero.h +6=pm.h +7=rtc.h +8=sw.h +9=adc.h +10=self_flash.h +11=i2c_mcu.h +12=vreg_twl.h +[pedo_alg_thre_det2.c] +T=4e687ba7 +1=incs.h +2=..\..\..\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r\math.h +3=accero.h +4=pedometer.h +5=pool.h +[ini_VECT.c] +T=4e6864d2 +1=config.h +2=sim\sim_interrupt_decrare.c +[task_status.c] +T=4f176b91 +1=incs_loader.h +2=renge\renge.h +3=pm.h +4=accero.h +5=adc.h +6=i2c_mcu.h +7=led.h +[led_cam.c] +T=4e687272 +1=incs.h +2=led.h +3=vreg_twl.h +[led_pow.c] +T=4e648b74 +1=incs.h +2=led.h +3=pm.h +[hal.c] +T=4e648ec7 +1=incs_loader.h +[batt_params.c] +T=4f13b94e +1=jhl_defs.h +2=batt_params.h +[voltable.c] +T=4e649285 +1=incs.h +[pedo_lpf_coeff.c] +T=4e6489bd +1=incs.h +[kanaria.asm] +T=4e4226a2 +[kanaria_c.c] +T=4e6489de +1=incs.h +[get_ei.asm] +T=4e5223c3 +[util_funcs.c] +T=4e68724a +1=incs_loader.h +2=WDT.h +[i2c_mcu-sub.c] +T=4f14d9cd +1=incs.h +2=i2c_mcu.h +3=loader.h +4=util_funcs.h +5=i2c_mcu_sub.h +6=pm.h +[incs_loader.h] +T=4e646cef +1=sim\simOnWin.h +2=jhl_defs.h +3=user_define.h +4=hal.h +5=bsr_system.h +6=renge\renge.h +7=vreg_ctr.h +8=vreg_twl.h +[sim\simOnWin.h] +T=4e559884 +1=sim\sfrAlias.h +[sim\sfrAlias.h] +T=4e5b0fa2 +1=config.h +[config.h] +T=4f176c3b +[jhl_defs.h] +T=4e647343 +[user_define.h] +T=4e686ba9 +[hal.h] +T=4e5229fb +[bsr_system.h] +T=4e409e1a +[renge\renge.h] +T=4e5e108a +1=renge\renge_defs.h +2=renge\renge_task_immediate.h +[renge\renge_defs.h] +T=4c073c5a +[renge\renge_task_immediate.h] +T=4e54ab05 +1=renge\renge_defs.h +[vreg_ctr.h] +T=4e5f0c2e +1=config.h +[vreg_twl.h] +T=4d42202e +[loader.h] +T=4e646df6 +[i2c_mcu.h] +T=4eeeb6a7 +[WDT.h] +T=4c319dfc +[..\..\..\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r\fsl.h] +T=49a3bd4e +[fsl_user.h] +T=4e409e62 +[i2c_ctr.h] +T=4bf0d1e1 +[pm.h] +T=4e5dbf8d +[rtc.h] +T=4e409e1c +[reboot.h] +T=4bf0d1e1 +[magic.h] +T=4caab849 +[incs.h] +T=4e646ff5 +1=sim\simOnWin.h +2=jhl_defs.h +3=user_define.h +4=hal.h +5=bsr_system.h +6=renge\renge.h +7=vreg_ctr.h +8=util_funcs.h +[i2c_twl.h] +T=4bf4e29e +[accero.h] +T=4e54ab05 +1=jhl_defs.h +2=pedometer.h +[pedometer.h] +T=4e409e19 +[sw.h] +T=4df2001a +1=config.h +[adc.h] +T=4dd5c8b2 +1=jhl_defs.h +[led.h] +T=4e530d97 +[batt_params.h] +T=4e409e1c +1=jhl_defs.h +[pool.h] +T=4c072cf1 +1=pedometer.h +[i2c_twl_defs.h] +T=4bf0d1e1 +[renge\renge_task_intval.h] +T=4e530e07 +1=renge\renge_defs.h +[..\..\..\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r\math.h] +T=45f12258 +[self_flash.h] +T=4bf0d1e0 +[sim\sim_interrupt_decrare.c] +T=4e409e19 +[util_funcs.h] +T=4e687249 +[i2c_mcu_sub.h] +T=4eeed7e6 diff --git a/tags/2.19_SDK4(3rdNUP)/ベースからの変更.xls b/tags/2.19_SDK4(3rdNUP)/ベースからの変更.xls new file mode 100644 index 0000000000000000000000000000000000000000..5212dac6485080dca2bfd246e855585895ff82af GIT binary patch literal 26624 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 literal 0 HcmV?d00001