いつの間にか使われ方が変わって長手意を表していない変数などを一部名前変更
一部エラーコードで0を返しなどしてた。ERR_SUCCESSなどを返すように修正
ADCのノイズフィルタを改良
ヒステリシス+四捨五入を追加
Volテーブルを更新。最大音量を-10dbに
TWLからの音量設定を無視→反映、スライダの設定と後着優先になるように修正
 Volのポーリング書き込み廃止、CODECリセット時のために強制セットコマンド追加(command.4)
 そのつもりがなかったので修正量が割とあった。
Vol書き込み時、ベリファイ、一度だけリトライするようにした。発生頻度からすれば良かろう。評価中
バッテリー補正パラメータ更新
I2C_mにライトコマンドがきた直後に次の通信が来ると対応出来ずにバスが衝突(ウェイトコンディション理解してくれないから...)してしまっていた。
 結果:一瞬BL消えや突然の電源断
 一時的にスレーブアドレスを変えてNAKを返し、リトライしてもらうことにした。評価中。
電池残量ゼロ時のパターンをとりあえず高速点滅をプリセットにした。
 交換した電池が0や、完全放電などでMCUがリセットされてSoCからパターンをもらってない場合にLEDが青赤とも消灯になりユーザーが心配するため
お知らせLEDのフルカラー化の両対応コードが間違えていてめちゃめちゃになっていたのを修正
お知らせLEDフルカラー判定を誤ることがあった。マージンを増やした。
白箱を実機と誤判定していた。(FPGAの準備がまだ)判定方法を変更
本体設定や無線スイッチでWiFiを切ったときはフェードなしに。すぱっと変化した方がかっこいい
電源OFFにするとき、3DとWiFiはすぱっと消す。電源とお知らせはフェード(以前のまま)
スリープ期間が極短いとSoC.SLP_OのH期間を取り逃す事があった。
 症状:スリープに入ると電源断以外受け付けなくなる
 I2Cで予告してもらう。
歩数計のログポインタ進めるタイミング、秒レジスタ追加。
割り込み禁止区間の調整
電池残量ICとの通信・通信後のケアなど修正
電池残量0での強制電源断復活
.bin,.hexをリポジトリに追加

git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_mcu@198 013db118-44a6-b54f-8bf7-843cb86687b1
This commit is contained in:
N2232 2010-06-30 05:50:16 +00:00
parent 5d255c435c
commit bcefe4d511
39 changed files with 8401 additions and 588 deletions

View File

@ -111,10 +111,12 @@ task_status_immed tsk_cbk_accero( )
iic_mcu_read( IIC_SLA_ACCEL, ( ACC_REG_X | 0x80 ), 6, temp );
}
}
if(( system_status.pwr_state != OFF ) &&
( system_status.pwr_state != BT_CHARGE ) &&
( ( vreg_ctr[VREG_C_ACC_CONFIG] & VREG_BITMASK_ACC_CONF_HOSU ) != 0 )
)
if(( system_status.pwr_state != OFF )
&&( system_status.pwr_state != BT_CHARGE )
#ifndef _DBG_PEDO_AUTO_ENABLE_
&&( ( vreg_ctr[VREG_C_ACC_CONFIG] & VREG_BITMASK_ACC_CONF_HOSU ) != 0 )
#endif
)
{
pedometer(); // •ŕ<E280A2>”Śv
}
@ -167,7 +169,7 @@ task_status_immed acc_hosu_set( )
u8 str_send_buf[4];
iic_mcu_read_a_byte( IIC_SLA_ACCEL, ACC_REG_WHOAMI );
if( iic_mcu_bus_status == ERR_NOSLAVE )
if( iic_mcu_result == ERR_NOSLAVE )
{
vreg_ctr[ VREG_C_STATUS_1 ] |= REG_BIT_ACCERO_ERR;
#ifdef _MCU_BSR_

View File

@ -11,18 +11,44 @@
//#define _4db_
#define _15db_
//#define _15db_
#define _10db_
#include "voltable.h"
// ===================================================== //
bit adc_updated;
u8 adc_raw_vol;
u8 adc_raw_dep;
typedef struct filter_work
{
u8* value_used;
s8 diffs; // KIKAN中の偏り具合
s8 kikan;
}filter_work;
filter_work work_vr_3d = {
&vreg_ctr[ VREG_C_TUNE ]
};
u8 vol_data_ctr;
filter_work work_vr_vol = {
&vol_data_ctr
};
u8 vol_data;
// ===================================================== //
extern void nop8();
static void adc_filter( u8 new_val, filter_work* work );
@ -46,35 +72,7 @@ extern void nop8();
 
======================================================== */
#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
void tsk_adc( )
@ -84,8 +82,14 @@ void tsk_adc( )
static u8 sndvol_codec;
static u8 bt_temp_old;
#ifdef _DEBUG_PM_BOMB_VOL_
if( system_status.pwr_state == ON )
{
renge_task_immed_add( tski_vol_update );
}
#endif
if( task_interval-- != 0 )
if( task_interval-- != 0 )
{
return;
}
@ -94,7 +98,6 @@ void tsk_adc( )
task_interval = (u8)( INTERVAL_TSK_ADC / SYS_INTERVAL_TICK );
}
if( adc_updated )
{
adc_updated = 0;
@ -102,90 +105,31 @@ void tsk_adc( )
if( system_status.pwr_state == ON )
{
// 3D /////////////////////////////////////////
{
// 似非ヒステリシス V2
// ガリオームには適さない
#define KIKAN 32
static u8 old_value;
static s8 diffs;
u8 temp;
if( abs( adc_raw_dep - old_value ) >= 2 )
{
// 大きく離れた
vreg_ctr[ VREG_C_TUNE ] = adc_raw_dep;
old_value = adc_raw_dep;
#if 0
;
;
set_irq( VREG_C_IRQ0, REG_BIT_VR_TUNE_CHANGE );
#endif
diffs = 0;
}
else
{
// 近所の値でも、ある期間でいっぱい偏っていたらそっちに寄せる
static u8 kikan_count = KIKAN;
if( old_value < adc_raw_dep )
{
diffs += 1;
}
else if( old_value > adc_raw_dep )
{
diffs -= 1;
}
if( --kikan_count == 0 )
{
if( diffs >= KIKAN && ( diffs < 64 ))
{
old_value += 1;
}
else if( ( diffs <= ( 256 - KIKAN )) && ( diffs > ( 128 + 64 ) )) // あらー?
{
old_value -= 1;
}
vreg_ctr[ VREG_C_TUNE ] = old_value;
kikan_count = KIKAN;
diffs = 0;
}
}
}
adc_filter( adc_raw_dep, &work_vr_3d );
// Volume /////////////////////////////////////
if(( vreg_ctr[ VREG_C_VOL_DIGITAL ] & 0x80 ) != 0 )
{
// レジスタから強制セット
adc_raw_vol = ( vreg_ctr[ VREG_C_VOL_DIGITAL ] * 4 );
}
{
static u8 vol_old;
static u8 force_update_vol;
if(( vreg_ctr[ VREG_C_VOL_DIGITAL ] & 0x80 ) != 0 )
adc_filter( adc_raw_vol, &work_vr_vol );
if( vol_old != vol_data_ctr )
{
// レジスタから強制セット
adc_raw_vol = ( vreg_ctr[ VREG_C_VOL_DIGITAL ] * 4 );
}
// todo debug
if( ( abs( adc_raw_vol - vol_old ) >= 2 ) // 生値でこれくらいずれたら更新(似非ヒステリシス)
|| ( --force_update_vol == 0 ) ) // ポーリング
{
vol_old = adc_raw_vol;
// レジスタ更新
vreg_twl[ REG_TWL_INT_ADRS_VOL ] = vol_old / ( 256 / 32 ); // ←adc値でよい
vreg_ctr[ VREG_C_SND_VOL ] = ( vol_old / 4 ); // 64段
// codecに伝える
iic_mcu_write_a_byte( IIC_SLA_CODEC, CODEC_REG_VOL, slider_to_codec[ ( vol_old / 4 ) & 0x3F ] );
#ifndef _MODEL_CTR_
iic_mcu_write_a_byte( IIC_SLA_DCP, 0, slider_to_codec[ ( 255 - vol_old ) / 4 ] );
#endif
// set_irq( VREG_C_IRQ0, REG_BIT_VR_SNDVOL_CHANGE ); // 割り込み廃止
force_update_vol = 10;
vol_old = vol_data_ctr;
vol_data = vol_data_ctr;
renge_task_immed_add( tski_vol_update );
}
}
// バッテリ識別 ///////////////////////////
/* 呼ばれません */
}
}
}
ADCEN = 1;
ADM = 0b00001011; // セレクトモード、昇圧、fCLK/6 ///ここから ↓
@ -200,10 +144,50 @@ void tsk_adc( )
}
/* ========================================================
 Volを更新します
 
  Volスライダを動かした
  Horizonに強制更新を指示された codecリセット時
  TWLアプリがVolをいじった
======================================================== */
task_status_immed tski_vol_update()
{
u8 vol_scaled;
u8 temp;
vol_scaled = ( vol_data / 4 ) & 0x3F;
// レジスタ更新
vreg_twl[ REG_TWL_INT_ADRS_VOL ] = vol_data / ( 256 / 32 ); // ←adc値でよい
vreg_ctr[ VREG_C_SND_VOL ] = vol_scaled; // 64段
// codecに伝える
temp = slider_to_codec[ vol_scaled ];
iic_mcu_write_a_byte( IIC_SLA_CODEC, CODEC_REG_VOL, temp );
// ベリファイ
if( iic_mcu_read_a_byte( IIC_SLA_CODEC, CODEC_REG_VOL ) != temp )
{
iic_mcu_write_a_byte( IIC_SLA_CODEC, CODEC_REG_VOL, temp );
NOP();
}
#ifndef _MODEL_CTR_
iic_mcu_write_a_byte( IIC_SLA_DCP, 0, slider_to_codec[ ( 255 - vol_data ) / 4 ] );
#endif
// set_irq( VREG_C_IRQ0, REG_BIT_VR_SNDVOL_CHANGE ); // 割り込み廃止
return( ERR_FINISED );
}
/* ========================================================
 minでもMAXでもない値を返す
 
 使
 
======================================================== */
static u8 getmean3( u8 * hist )
{
@ -255,45 +239,51 @@ case ( ADC_SEL_AMB_BRIT ): //
*/
case ( ADC_SEL_TUNE ):
hist_tune[index] = adc_data;
EI();
EI();
#ifdef _MODEL_WM0_
adc_raw_dep = 255 - getmean3( hist_tune );
adc_raw_dep = 255 - adc_data;
#else
adc_raw_dep = getmean3( hist_tune );
adc_raw_dep = adc_data;
#endif
break;
case ( ADC_SEL_VOL ):
hist_snd_vol[index] = adc_data;
EI();
EI();
#ifdef _MODEL_CTR_
if( system_status.model == MODEL_TS_BOARD )
{
adc_raw_vol = getmean3( hist_snd_vol );
adc_raw_vol = adc_data;
}
else
{
adc_raw_vol = ( 255 - getmean3( hist_snd_vol ));
adc_raw_vol = 255 - adc_data;
}
#else
adc_raw_vol = getmean3( hist_snd_vol );
adc_raw_vol = adc_data;
#endif
break;
case ( ADC_SEL_BATT_TEMP ):
hist_bt_temp[index] = adc_data;
EI();
raw_adc_temperature = getmean3( hist_bt_temp );
EI();
raw_adc_temperature = adc_data;
#ifdef _DEBUG_BT_TEMP_
if( vreg_ctr[ VREG_C_COMMAND3 ] == 't' )
{
raw_adc_temperature = vreg_ctr[ VREG_C_DBG01 ];
}
#endif
if( (( vreg_ctr[ VREG_C_STATUS_1 ] & REG_BIT_GASGAUGE_ERR ) == 0 ) &&
(( system_status.pwr_state == ON ) ||
( system_status.pwr_state == SLEEP )
)
(( system_status.pwr_state == ON ) ||
( system_status.pwr_state == SLEEP )
)
)
{
renge_task_immed_add( BT_temp_update );
renge_task_immed_add( tski_BT_temp_update );
}
break;
/* 呼ばれません
case ( ADC_SEL_BATT_DET ):
break;
@ -344,3 +334,142 @@ u8 get_adc( u8 ch )
ADMK = 0;
return ( temp );
}
/* ========================================================
V2
======================================================== */
#define KIKAN 16
static void adc_filter( u8 new_val, filter_work *work )
{
u8 temp;
volatile u8 hoge;
// if( abs( new_val - *( work -> value_used )) >= 2 )
if( abs( new_val - *( work -> value_used )) > 2 )
{
// 大きく離れた
*( work -> value_used ) = new_val;
work -> diffs = 0;
work -> kikan = KIKAN;
}
else
{
// 近所の値でも、ある期間でいっぱい偏っていたらそっちに寄せる
if( *( work -> value_used ) < new_val )
{
work -> diffs += 1;
}
else if( *( work -> value_used ) > new_val )
{
work -> diffs -= 1;
}
if( --( work -> kikan ) == 0 )
{
if( work -> diffs > (s8)( KIKAN * 0.8 ) )
{
*( work -> value_used ) += 1;
}
else if( work -> diffs < (s8)( -1 * KIKAN * 0.8 ) )
{
*( work -> value_used ) -= 1;
}
work -> kikan = KIKAN;
work -> diffs = 0;
}
}
}
#if 0
// getmean使用 //
__interrupt void int_adc( )
{
static u8 hist_tune[3];
static u8 hist_snd_vol[3];
static u8 hist_bt_temp[3];
static u8 index;
volatile u8 adc_data;
adc_data = ADCRH;
switch ( ADS )
{
/*
case ( ADC_SEL_AMB_BRIT ): // 環境明るさ
vreg_ctr[ VREG_C_AMBIENT_BRIGHTNESS ] = adc_data;
break;
*/
case ( ADC_SEL_TUNE ):
hist_tune[index] = adc_data;
EI();
#ifdef _MODEL_WM0_
adc_raw_dep = 255 - getmean3( hist_tune );
#else
adc_raw_dep = getmean3( hist_tune );
#endif
break;
case ( ADC_SEL_VOL ):
hist_snd_vol[index] = adc_data;
EI();
#ifdef _MODEL_CTR_
if( system_status.model == MODEL_TS_BOARD )
{
adc_raw_vol = getmean3( hist_snd_vol );
}
else
{
adc_raw_vol = ( 255 - getmean3( hist_snd_vol ));
}
#else
adc_raw_vol = getmean3( hist_snd_vol );
#endif
break;
case ( ADC_SEL_BATT_TEMP ):
hist_bt_temp[index] = adc_data;
EI();
raw_adc_temperature = getmean3( hist_bt_temp );
if( (( vreg_ctr[ VREG_C_STATUS_1 ] & REG_BIT_GASGAUGE_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; // 次のチャンネル
ADIF = 0; // ←これをしないと、いっこ前のチャンネルのデータの完了で直後に割り込む可能性がある
}
else
{
ADCEN = 0; // 止めてしまう
adc_updated = 1;
index = ( index == 2 ) ? 0 : ( index + 1 ); // ノイズ取りの配列インデックス
}
}
#endif

View File

@ -46,56 +46,56 @@ const u8 BT_PARAM[][64] = {
0x0B, 0x00, 0x05, 0xD0, 0x02, 0x00, 0x09, 0x00
},
{ // ID = 3 750 ohm ダミーでパナ
0x80, 0x30, 0x83, 0x90, 0x92, 0x00, 0xAE, 0x30,
0xB0, 0x80, 0xB3, 0xA0, 0xB5, 0x00, 0xB5, 0x30,
0x8C, 0x30, 0x9C, 0x10, 0xA5, 0xE0, 0xB0, 0x40,
0xB1, 0xC0, 0xB2, 0x00, 0xB2, 0x50, 0xB3, 0x10,
0xB5, 0xC0, 0xB6, 0xA0, 0xB7, 0x90, 0xB9, 0x70,
0xBC, 0x10, 0xC6, 0x90, 0xCA, 0x00, 0xD0, 0x90,
0xB4, 0x90, 0xB6, 0x20, 0xB8, 0x60, 0xBA, 0x50,
0xBF, 0xA0, 0xC6, 0xB0, 0xCE, 0x90, 0xD0, 0x20,
0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x0D, 0x40,
0x15, 0x00, 0x08, 0xF0, 0x80, 0x00, 0x00, 0x20,
0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20,
0x7B, 0x30, 0x68, 0x60, 0x20, 0x00, 0x17, 0x00,
0x1F, 0x80, 0x1D, 0x60, 0x0D, 0x50, 0x08, 0xF0,
0x08, 0xA0, 0x04, 0xF0, 0x07, 0x70, 0x07, 0x70
0x17, 0x30, 0x12, 0xF0, 0x0D, 0xE0, 0x07, 0xF0,
0x07, 0x00, 0x09, 0x30, 0x01, 0xC0, 0x01, 0xC0
},
{ // ID = 4 1.3kohm (ダミーでパナ)
0x80, 0x30, 0x83, 0x90, 0x92, 0x00, 0xAE, 0x30,
0xB0, 0x80, 0xB3, 0xA0, 0xB5, 0x00, 0xB5, 0x30,
0x8C, 0x30, 0x9C, 0x10, 0xA5, 0xE0, 0xB0, 0x40,
0xB1, 0xC0, 0xB2, 0x00, 0xB2, 0x50, 0xB3, 0x10,
0xB5, 0xC0, 0xB6, 0xA0, 0xB7, 0x90, 0xB9, 0x70,
0xBC, 0x10, 0xC6, 0x90, 0xCA, 0x00, 0xD0, 0x90,
0xB4, 0x90, 0xB6, 0x20, 0xB8, 0x60, 0xBA, 0x50,
0xBF, 0xA0, 0xC6, 0xB0, 0xCE, 0x90, 0xD0, 0x20,
0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x0D, 0x40,
0x15, 0x00, 0x08, 0xF0, 0x80, 0x00, 0x00, 0x20,
0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20,
0x7B, 0x30, 0x68, 0x60, 0x20, 0x00, 0x17, 0x00,
0x1F, 0x80, 0x1D, 0x60, 0x0D, 0x50, 0x08, 0xF0,
0x08, 0xA0, 0x04, 0xF0, 0x07, 0x70, 0x07, 0x70
0x17, 0x30, 0x12, 0xF0, 0x0D, 0xE0, 0x07, 0xF0,
0x07, 0x00, 0x09, 0x30, 0x01, 0xC0, 0x01, 0xC0
},
{ // ID = 5 2.7kohm パナ
0x80, 0x30, 0x83, 0x90, 0x92, 0x00, 0xAE, 0x30,
0xB0, 0x80, 0xB3, 0xA0, 0xB5, 0x00, 0xB5, 0x30,
0x8C, 0x30, 0x9C, 0x10, 0xA5, 0xE0, 0xB0, 0x40,
0xB1, 0xC0, 0xB2, 0x00, 0xB2, 0x50, 0xB3, 0x10,
0xB5, 0xC0, 0xB6, 0xA0, 0xB7, 0x90, 0xB9, 0x70,
0xBC, 0x10, 0xC6, 0x90, 0xCA, 0x00, 0xD0, 0x90,
0xB4, 0x90, 0xB6, 0x20, 0xB8, 0x60, 0xBA, 0x50,
0xBF, 0xA0, 0xC6, 0xB0, 0xCE, 0x90, 0xD0, 0x20,
0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x0D, 0x40,
0x15, 0x00, 0x08, 0xF0, 0x80, 0x00, 0x00, 0x20,
0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20,
0x7B, 0x30, 0x68, 0x60, 0x20, 0x00, 0x17, 0x00,
0x1F, 0x80, 0x1D, 0x60, 0x0D, 0x50, 0x08, 0xF0,
0x08, 0xA0, 0x04, 0xF0, 0x07, 0x70, 0x07, 0x70
0x17, 0x30, 0x12, 0xF0, 0x0D, 0xE0, 0x07, 0xF0,
0x07, 0x00, 0x09, 0x30, 0x01, 0xC0, 0x01, 0xC0
},
{ // ID = 6 8.2kohm (ダミーでパナ)
0x80, 0x30, 0x83, 0x90, 0x92, 0x00, 0xAE, 0x30,
0xB0, 0x80, 0xB3, 0xA0, 0xB5, 0x00, 0xB5, 0x30,
0x8C, 0x30, 0x9C, 0x10, 0xA5, 0xE0, 0xB0, 0x40,
0xB1, 0xC0, 0xB2, 0x00, 0xB2, 0x50, 0xB3, 0x10,
0xB5, 0xC0, 0xB6, 0xA0, 0xB7, 0x90, 0xB9, 0x70,
0xBC, 0x10, 0xC6, 0x90, 0xCA, 0x00, 0xD0, 0x90,
0xB4, 0x90, 0xB6, 0x20, 0xB8, 0x60, 0xBA, 0x50,
0xBF, 0xA0, 0xC6, 0xB0, 0xCE, 0x90, 0xD0, 0x20,
0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x0D, 0x40,
0x15, 0x00, 0x08, 0xF0, 0x80, 0x00, 0x00, 0x20,
0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20,
0x7B, 0x30, 0x68, 0x60, 0x20, 0x00, 0x17, 0x00,
0x1F, 0x80, 0x1D, 0x60, 0x0D, 0x50, 0x08, 0xF0,
0x08, 0xA0, 0x04, 0xF0, 0x07, 0x70, 0x07, 0x70
0x17, 0x30, 0x12, 0xF0, 0x0D, 0xE0, 0x07, 0xF0,
0x07, 0x00, 0x09, 0x30, 0x01, 0xC0, 0x01, 0xC0
}
// ID = 7 白箱
/// パラメータ無し
@ -116,12 +116,22 @@ typedef struct _st_bt_comp
const st_bt_comp BT_COMP[] = {
// rcomp R_co_up R_co_down
{ 135, -256* 0.15, -256* 2.15 }, // maxell
{ 135, -256* 0.15, -256* 2.15 }, // dummy
{ 135, -256* 0.15, -256* 2.15 }, // dummy
{ 135, -256* 0.15, -256* 2.15 }, // dummy
{ 171, -256* 0.00, -256* 2.30 }, // dummy
{ 171, -256* 0.00, -256* 2.30 }, // panasonic
{ 171, -256* 0.00, -256* 2.30 } // dummy
{ 135, -256* 0.15, -256* 2.15 }, // dummy(M )
{ 135, -256* 0.15, -256* 2.15 }, // dummy(M )
{ 171, -256* 1.00, -256* 2.60 }, // dummy( P)
{ 171, -256* 1.00, -256* 2.60 }, // dummy( P)
{ 171, -256* 1.00, -256* 2.60 }, // panasonic
{ 171, -256* 1.00, -256* 2.60 } // dummy( P)
};
const u8 BT_VERIFY_H[] = {
0xFF, 0xFF, 0xFF, // maxell, dummy, dummy,
0x69, 0x69, 0x69, 0x69 // dummy, dummy, panaso, dummy
};
const u8 BT_VERIFY_L[] = {
0xFC, 0xFC, 0xFC, // maxell, dummy, dummy,
0x67, 0x67, 0x67, 0x67 // dummy, dummy, panaso, dummy
};
#endif

968
trunk/bsr.hex Normal file
View File

@ -0,0 +1,968 @@
:02000000C8072F
:02000200FFFFFE
:040010008A48904842
:02001C00504A48
:02002400BC4AD4
:02002A00294B60
:08003400394CF64B344C744DBD
:02004A009248DA
:02005A00CD488F
:02006200F84C58
:0400C0007EFBFF853F
:0A00C400FFFFFFFFFFFFFFFFFFFF3C
:0A00CE00FFFFFFFFFFFFFFFFFFFF32
:1000D800C72004FBF8FFCEABACC736F00071F4C6FE
:1000E800DE0671301CF9EF358EA89C038C035C90FA
:1000F800D1DD118C035C10D161E87110CEFB713039
:100108001CF9EF16CC0200CC0100615902615901BB
:100118008C01D1DFF88C02D1DFF0FD8D01CC02001B
:10012800CC03008C034C09DE2B8C03318E04F60FB4
:10013800C1317B9EFDC41189728C03318E04F64F48
:1001480014896142DF03F6EF01E6600E029C02614A
:100158005903EFCF40F64FFF61F86159028C02D185
:1001680061E8FDBB06FD6302EDDE001004C6D77131
:100178007BFACEA010CEA180E5F300CEA408F5AAA4
:10018800FFF5A9FFD78F1CF931350ACD0003CD0340
:1001980007F40EEF07F400CD0306F40ECF1105FCAB
:1001A800F51005CF120511CE20FFCE23F0CE2EFC80
:1001B800CD01C0F402CD0408F405F406CD0740F4DF
:1001C8000CF40FF521FFCE22E9CE24F3CE25F2CE92
:1001D80026FCCE275FCE2CFFCE2FFFF53000F53161
:1001E80000F53300F53400CF350002CF370019F59C
:1001F8003C00F53E00CF530006F55700F6BEE0BEC2
:10020800E2BED0CBE4FFFFCBE6FFFFCBD4FFFFCEAF
:100218003831CE3970CF38050AF53905F537FF7111
:1002280008F20090BFB401F5A5FFF5A6FF7158F0DC
:1002380000F530FF7128F0005087BF1801BF1A0180
:10024800BF1C01BF1E017148F000F53002710801A2
:1002580005F55005F5BCFFF5BDFFD7FDDC31FD3FC9
:100268003AFDFA04717AFAFD1A28F51AF98F1CF981
:100278003135135003C15084FDF102C0625C01D1D5
:1002880061E8CF1AF902FDBC32FDA802FD414671B2
:100298007221712BE7CEABACFD423A61EDEFF6D798
:1002A80031020403F6EF01E660341CF9718C8971A0
:1002B800899931120403F6EF01E660341CF9718C58
:1002C80089719999D7D7C7F616FDFA04717BFA3167
:1002D800422005714220EF0B717AFAA7F647DFEC4E
:1002E800E2EF04717AFAF2C6D7C7C1C1FBF8FF176B
:1002F800A1C1E0C18C0A70C18C0270FD1B031006FD
:10030800D2DF05F53FFBEF04CF3FFB028C017210F3
:1003180004C6D7C7C1FBF8FFFDCE02D2DD03E2EF6A
:10032800618B70FD4D04D2DD077143205202EF52FC
:100338008C0870FD6204FDAE048B6C0170FD6204D4
:10034800300400BF2401301740BF1C01300400BF37
:1003580022018C0A91DF04F6BF2A01710BE2CE4418
:10036800FF3182E202EFFAAC0C148E449961790CE9
:1003780061690A8C0AD1DFDAFDD704710BE2714397
:1003880020F2C0C6D7C7C1FBF8FFFDCE02D2DD03FD
:10039800E2EF37710AE68B70FD4D04D2DD07714339
:1003A800205202EF258C0870FD62048C0A70FD62F1
:1003B80004FDD7048B4CA4DF0D8C084C13DF078C8D
:1003C8000A4C2C61D800714320F2C0C6D7C7C1FBC4
:1003D800F8FFFDCE02D2DD03E2EF67710AE6710B8A
:1003E800E28B70FD4D04D2DD077143205202EF52BB
:1003F800710BE231322039C73438FBAC0C16520489
:100408008B99A5A792DFF9C63184BD02EFFA717AFC
:10041800BDCEB144CBB438FB8C0A318EBEB8CEBB4E
:1004280048714BE1714BE5710ABD8C089E44EF1190
:10043800710BE68C089E448C0A9F3EFBAC0CBF3CBB
:10044800FBF2C0C6D7C716FD860417FD6204D2DDCD
:1004580006FDD704E2EF01F2C6D7C716710AE671A6
:100468000BE2669E443182E20300EFF9F642040192
:10047800DD09AF0401BF0C01E2EF01F2C6D7AF28D6
:1004880001085CFB08BF2801FDCD02AF28015CFB19
:10049800BF2801300400BF2A01301780BF1C01307B
:1004A8000400BF2201D7AF2401086C0408BF24014F
:1004B800AF28016C0F086C0B08BF2801FDCD02AFF7
:1004C8002A01085CFB08BF2A01FDCD02ED86043035
:1004D8000400BF2401F6BF2A01300B0BBF2801FD21
:1004E800CD02300B0FBF2801FDCD02300F0FBF2802
:1004F80001D731542001D7714220710BBD00007122
:100508007BBD713A25713A236A0E03713205713B3E
:1005180025713203713B23500AFD083C7120F0001D
:10052800FDCD02F6BF26015024BF1401CB440014B0
:10053800300F0FBF2801713320710BE2710AE6FDFD
:100548008604CE44FF3182E202EFFAFDD704AF04FD
:1005580001BF0C01714320715220D731442002EFB2
:10056800FAFDAE04713A25713A235A0EFC7133052F
:10057800713B25713303713B237128F000715320BF
:10058800D7C72006FBF8FFFDA6075014C15008FD89
:10059800EA06C0CC05048C054C14DE0C8C05318EA3
:1005A800FD520B615905EFEECC05048C054C146126
:1005B800C8ED6A068C05318EFD520BCC04008C0404
:1005C8004C04DE79C73641057184C6DC703020F9E9
:1005D800BC02F6BB31B2D10EC73641057184C6DC08
:1005E80005CEABACEFEE713BD1AC02148F40059950
:1005F80071505005617902617900F0E1614900DDCF
:1006080009C73641057184C6DECA5040C18C053120
:100618008E31AD128C04318E318D03BDD831FFBDC2
:10062800DADADAADD8FD1E0EC0D2DD0C5008C150A2
:1006380014FDEA06C0FDDB0C615904EF818C05311D
:100648008EFD560BD2DD0C5008C15014FDEA06C0D1
:10065800FDDB0CC73641057184C6DC06615905ED22
:10066800B30571605005CC0200CC03008C034C0923
:10067800DE248C03318E1249F61F728C03318E04EE
:10068800F64F14896142DF03F6EF01E6600E029C23
:1006980002615903EFD68C02D1DF08FDDC0CFDEEB8
:1006A8000DEF0C5008C15013FDEA06C0FDDB0C101D
:1006B80006C6D7FDA6075008C15014FDEA06C0FDBE
:1006C800DC0CEDEE0D3184BD02EFFA717BBDCBE49D
:1006D800FFFFCBE6FFFFCBD4FFFF717ABED7717B5C
:1006E800BED7C7C1200AFBF8FF8C0A318E31ADC1D5
:1006F800317B9DD4C0BC048DD49C068C129C098C83
:1007080012318E040C00128C09318EBDD813FDD124
:100718000961C8EDA107CEABAC8C09318EFD4E0B3B
:10072800D2DD098C09318EFD520BEFEDCC08008C1F
:10073800084C04DE54F6BC023020F9BBAC04148C1F
:10074800069EFD118972AB146299AC04A1BC0461C8
:100758007900617902F0E1614902DFE05040C18C23
:1007680009318E31AD128C08318E318D03BDD831EF
:10077800FFBDDADADAADD8FD1E0EC0D2DD06FDE621
:1007880006E2EF16615908EFA68C09318EFD560B6B
:10079800D2DFF6615909ED0707F2100CC6D7717B55
:1007A8009D717BFAFDCD063020F9FD010CFD8C0B07
:1007B800F2D7FDA607FDEE0DFDDB0CFDE606F2D730
:1007C80061CF5100718C7109FECBF800FEFC7701F6
:1007D80000F6BF00F953C0F693935820FEDFF941A5
:1007E80000367A4D34FAFCEF05118B99A7A517440A
:1007F800B64DDFF53602F930FAFCEF04CC0000A75D
:1008080047DFF9410036E8203436FDEF05118B99B2
:10081800A7A51744E820DFF53636FD3036FDEF048E
:10082800CC0000A747DFF9FCD80000EFFE61DD71BE
:100838007BFABEF0ADD8BEF200AEF661CDD7C3618B
:10084800DD717BFABEF0ADD8BEF200DBF6FFADDCA1
:10085800BEF000AEF6BDD8AEF40312ADDABEF200BB
:10086800AEF661CD03BDDAC2D7C3F33174D90883BC
:10087800C1F626D8BDD8C031750683C312F623C287
:10088800FD930893DF0312F623C2D7440000DD2648
:1008980061DD717BFACFE80080BEF6F6BEF4BEF2E9
:1008A800ADD8BEF0CFE800818FE8003103FAAEF092
:1008B800F5E80061CDD7B1D7C3F33174D90883C146
:1008C800F626D8BDD8C0317505C312F623C2FDE19E
:1008D8000893DF0312F623C2D7440000DD2761DD49
:1008E800717BFACFE80080BEF6F6BEF4BEF2ADD852
:1008F800BEF0CFE800818FE8003103FAAFE000F5E1
:10090800E80061CDD7ADD8D7C3F33174DB0F83C10D
:10091800F626D8BDD861317026DABDDAC031750D3A
:1009280083C312F626DCBDDC61317023C2FD4909A0
:1009380093DF0CF626D8BDD861317026DABDDAC24D
:10094800D7C161686BDC6BDDC0DD2F61DD717BFABF
:10095800CFE80080BEF4ADDCBEF6ADD8BEF0ADDAAF
:10096800BEF2CFE800818FE8003103FAAEF0BDD8BF
:10097800AEF2BDDAF5E80061CDD7F6BDD8BDDAD75D
:1009880006DABDDAADDC06D8BDD861D8A6DAD7D18B
:10099800DD17C1C3DAD89DD8ADDA311C61EEB4D801
:1009A800DFF8BDDA13BDD8C2C0D7D1DD1BC1C3DAA9
:1009B800DA9DDAADD8311E33311E3371F9B4DADF7E
:1009C800F4BDD813BDDAC2C0D746D8DD0771FF71B0
:1009D80077D971C0D75BDB9DDB605BDA9DDAADDC74
:1009E8005BD9085BD808BDD8D7C3C7F3728EFDC1E1
:1009F80062314C41003600201161A072C09EFD6238
:100A0800C6C2D7C3C7F3728EFDC1625C0F0C000F5C
:100A1800FE00314C4100360A201161800FFE007340
:100A2800C09EFD63C6C2D7DF1D06DC44807FDF168B
:100A38007152DEEF32DF0F06D844807FDF08315471
:100A4800DE3C3172DE3CC9DE0504FDA20AEF46C574
:100A580014ADDEC1657BDB5C809DDEADDA71FB35F4
:100A680071FB44807FDEC03544807FDEC86BD96B64
:100A7800D86BDD6BDC0561C8DD1BADDA71FB317449
:100A8800DE077174DBF181EF0C45ADD861F846DC07
:100A980061E87177DBC0BDDEC4D78EFC708EFDC106
:100AA800C5C3ADDE315E041A20320000C3C1D8DEF2
:100AB800F1C1AEF8FCCC0A00C0C0C0C2C4C09EFDE3
:100AC800609EFCD71489728A049EFDAA02141189BB
:100AD8004C40DD0E624C0430020061C8300100BF9A
:100AE80000F9D7C5C3C1ADDADAD831750914F623D0
:100AF80012F661D8B125ED0A0BC5C3C1ADDADAD853
:100B0800F4DB0361C8DD3B23559E31730A9501313F
:100B18001C61D8A13175F6618A4C80618ADC11DFCD
:100B28000633718C33DE0983DF0604010061D88542
:100B38007174DB3561FB9DDB6571F99DDA63706467
:060B4800BDD8C0C2C4D7F5
:100B4E005208EF065203EF025206FEE600FE1B00AD
:100B5E00DC16089F03088F0408089F040862FE2411
:100B6E0000089F0408EEBF00EEBA00C1C514410E86
:100B7E0011D9D0FF118FD1FF312E45C4C0D7F2311C
:100B8E00A2C401E2D79DE261DD4C09DF12717BFA4E
:100B9E00C18F06089F45FDC0CF060800EE27003125
:100BAE00F2FA04CF0608004C00DF05D50008DD166A
:100BBE0061DD717BFAD50608DD0ACDE31F61CD61DB
:100BCE00CDEE160061CDFED40061FFFE9A00FCF85A
:100BDE00FF0EFEB20061CDFED5004C09DF0EC18FB7
:100BEE0006086F45FD9F0608C0EE0400CF060800FC
:100BFE00F8E3D75200EF025202FE3700CF44FD0059
:100C0E00CF060800BF0408C716629F0008410011F6
:100C1E008F4E239B4100118F4F239F0108C6510019
:100C2E00FE62FFEF025205CF060800C1510CFE0A0C
:100C3E0000C0D7C1511DFE0200C0D761DD717BFA25
:100C4E0070CEC0A59EC47CFF9EC4609EC461CDD7ED
:100C5E0061DD717BFAC18EC45C1BFED6FFCF060828
:100C6E0001FED7FFC061CDD731F2FA1AC1AEE4BF93
:100C7E0036FDAEE6BF38FDAED4BF3AFD30FFFFBE47
:100C8E00E4BEE6BED4C0D731F2FA11C1AF36FDBE16
:100C9E00E4AF38FDBEE6AF3AFDBED4C0D7C1BF3C0F
:100CAE00FD13BF3EFD15BF40FD17BF42FDC0D7AFC0
:100CBE003CFDDB3EFDEB40FDFB42FDD7534B30527E
:100CCE005430324E323030475631323000FFC15040
:100CDE00FEFEAB0061DD717BFACF060800FE0A0056
:100CEE00FEA4FF61CDF8E3EECF00C7FB0408BF36CC
:100CFE00FD8FC0009C05C5C337040600BF38FD3507
:100D0E0036400D300000522BFE6600C2C4C630EED7
:100D1E000CB800300000B8022004AF38FDB8003027
:100D2E000F00B802AF36FD61FF520AFE3AFFECF833
:100D3E00FF0E717BFAC1C7FB04088C05C65C80FEF2
:100D4E000200C0D761DD717BFA70CFC0FFA59FC0D6
:100D5E00007CFF9FC000609FC00061CDD7618BFEFD
:100D6E00E2FF717BBE410011FB000017CEFC00615B
:100D7E00CB089EFDF31161C999A58392DFF7D7FECB
:100D8E00B1FED544FDDF23C1CF0308035109FEF4A4
:100D9E00FDC0D2DF37FE3800A20408CF030807518A
:100DAE0009FEE1FDD2B20408DF22C7FB040831833D
:100DBE0002C6D7C6510AFECCFD624C1FDF06CF44D9
:100DCE00FD01EF04CF44FD00C0EE5BFEC0EE55FE0C
:100DDE00C7C1FB04088B31196C0161589BC0C6D783
:100DEE00717BFAFE4DFEAF0408040600C1143652A4
:100DFE000D300000522DF3FE77FF8FC000FE2BFE4C
:100E0E0061CF5C807C8073C0041900CEFC0F61CB77
:100E1E00C55404EF03C55417FE18FEC7360008BBB1
:100E2E00629C0288089C03D1DD334C41DE2F70F1A9
:100E3E00312DB161090033081C000851FF612A41B0
:100E4E000E118FD0FF613B118FD1FF6138DC0E8BFD
:100E5E005C03DF0964C6C4FE2BFDEECAFDC6C4EEFC
:020E6E00C3FDC2
:0A0FF60031333A34333A3230000050
:0A20000000060C12181E242A3036C8
:10200A00001632486480961228446076920824406A
:10201A004040666D756C0000404066646976000059
:10202A004040666164640000404066737562000067
:10203A00404066636D70000061636F7300000000CA
:10204A006173696E000000006174616E0000000037
:10205A006174616E32000000636F7300000000005B
:10206A0073696E000000000074616E0000000000D9
:10207A00636F73680000000073696E6800000000F7
:10208A0074616E680000000065787000000000004E
:10209A0066726578700000006C64657870000000F4
:1020AA006C6F6700000000006C6F67313000000041
:1020BA006D6F646600000000706F7700000000001A
:1020CA0073717274000000006365696C000000009F
:0E20DA00666C6F6F72000000666D6F64000030
:0820E800317503F7332312D711
:0A21000031333A34333A3230000034
:10210A009E00ABD0B820B8C0B950B9E0BB60BE30B1
:10211A00BF20BFE0C030C220C450C950CB00D0C0DD
:10212A00014000A05BC06A80342010003220546055
:10213A0003605FC01BC0158017A0026015E015E0A0
:10214A009E00ABD0B820B8C0B950B9E0BB60BE3071
:10215A00BF20BFE0C030C220C450C950CB00D0C09D
:10216A00014000A05BC06A80342010003220546015
:10217A0003605FC01BC0158017A0026015E015E060
:10218A009E00ABD0B820B8C0B950B9E0BB60BE3031
:10219A00BF20BFE0C030C220C450C950CB00D0C05D
:1021AA00014000A05BC06A803420100032205460D5
:1021BA0003605FC01BC0158017A0026015E015E020
:1021CA008C309C10A5E0B040B1C0B200B250B31040
:1021DA00B490B620B860BA50BFA0C6B0CE90D02096
:1021EA0000200020002000207B30686020001700BB
:1021FA00173012F00DE007F00700093001C001C0E6
:10220A008C309C10A5E0B040B1C0B200B250B310FF
:10221A00B490B620B860BA50BFA0C6B0CE90D02055
:10222A0000200020002000207B306860200017007A
:10223A00173012F00DE007F00700093001C001C0A5
:10224A008C309C10A5E0B040B1C0B200B250B310BF
:10225A00B490B620B860BA50BFA0C6B0CE90D02015
:10226A0000200020002000207B306860200017003A
:10227A00173012F00DE007F00700093001C001C065
:10228A008C309C10A5E0B040B1C0B200B250B3107F
:10229A00B490B620B860BA50BFA0C6B0CE90D020D5
:1022AA0000200020002000207B30686020001700FA
:1022BA00173012F00DE007F00700093001C001C025
:1022CA005500DAFEA7FB5500DAFEA7FB5500DAFE39
:1022DA00A7FBAB0000FF67FDAB0000FF67FDAB008B
:1022EA0000FF67FDAB0000FF67FDFFFFFF6969693B
:1022FA0069FCFCFC676767670202020101010100D1
:10230A00000000007F7F7F7F7E7D7B7A79787675FB
:10231A00747371706F6E6C6B6A696766656462610B
:10232A00605F5D5C5B5A58575655535251504E4D3B
:10233A004C4B4948484746444342403F3E3D3B3A5E
:10234A0039383737080101020203030200FEFBF79E
:10235A00F3F0F0F3FA041225384D5F6E777A776E50
:10236A005F4D38251204FAF3F0F0F3F7FBFE000292
:10237A00030302020100000000001F003B005A0094
:10238A0078009700B500D400F300110130014E0126
:10239A00C75007C15002C15084FD8D03100450126A
:1023AA00FD083C500FC15002C15084FD8D0310043A
:1023BA005003FD083C501FC15002C15084FD8D03DB
:1023CA0010045016FD083C5003C15084FDF102C0B0
:1023DA00625C01D1DD107170DBFB5002C15013FD4C
:1023EA00BB36C0E2EF01F2C6D7C75004C15084FD24
:1023FA00F102C0625C03D1DD405014FD7B2434DB62
:10240A00FB895C9F998A0C7CFF50FF5C14D1DD220A
:10241A008A0C7CFF5C147234DFFB89616A997162F1
:10242A00075600316207058666D1DFF771630771C7
:10243A006B2734EEFB895CEB995002C15084FDF1A5
:10244A0002C0D2DD225007C15002C15084FD8D0363
:10245A0010045033FD083CF0C15002C15084FD8D78
:10246A000310047178DBFBE0C15013FDBB36C0C614
:10247A00D7C7C12004FBF8FFCC02005004C1508426
:10248A00FDF102C0629C038C045C20D1DD0E8C033A
:10249A006C019C038C026C209C02EF138C045C1070
:1024AA00D1DD0C8C035CFE9C038C026C109C028CAC
:1024BA00045C08D1DD0E8C036C029C038C026C0850
:1024CA009C02EF138C045C04D1DD0C8C035CFD9C34
:1024DA00038C026C049C028C03D1DD05501AFD08A2
:1024EA003C8C0370C15004C15084FD8D0310048FCD
:1024FA00DBFB5C9F728C03318E316D148C03318E41
:10250A00314D616D08616C5C606162629FDBFB8FBB
:10251A00E7FB7CFF50FF5E02D1DD278FE7FB7CFFE4
:10252A005E027234DFFB89616A99716207CC01002D
:10253A00316207086159018C01D1DFF471630771B7
:10254A006B27F21006C6D7C7D9CFFBC15006C150B8
:10255A0084FD8D0310046276D9D0FBC15007C150A7
:10256A0084FD8D0310046261666672C6D7FD51252B
:10257A00F2D7C72004FBF8FF711300711B20710307
:10258A0003710205E0C15003C15084FD8D0310049C
:10259A00E0FD083C5012FD083CF0C15005C15084D2
:1025AA00FD8D031004500FC1E0C15084FD8D03104E
:1025BA0004500AFD083C7103055008FD083C501FF1
:1025CA00C1E0C15084FD8D0310045012FD083C5037
:1025DA0003C15084FDF102C0625C01D1DF03E2EF66
:1025EA003C5003C1C15084FD8D0310047102037174
:1025FA001A205064FD083CC717A116F7490A239B05
:10260A00A3A75103614ADFF4C617A1C15003C15001
:10261A0010C150A4FDD5031006F50AF9F21004C63C
:10262A00D75003C15084FDF102C0625C01D1DD19AB
:10263A005014FD7B24FDF323503CFD083CE0C150BF
:10264A0003C15084FD8D031004711300711B2071A6
:10265A000303F0C15003C15084FD8D031004F2D767
:10266A00C72004FBF8FFCC02008F0AF99C03501024
:10267A00C150A4FDF102C0629F0AF9D53FFBDD04F7
:10268A00F2ED48278C037F0AF95C08D1DD108F0A26
:10269A00F95C08D1DF05CC0210EF03CC02208C03D1
:1026AA007F0AF95C04D1DD168F0AF95C04D1DF08D0
:1026BA008C026C049C02EF068C026C089C028FDA76
:1026CA00FB5CF3728F0AF95C0C6162629FDAFB8F22
:1026DA00E6FB7CFF50FF5E029C02D1DD1F34DEFB6D
:1026EA00896E0299716207CC01003162070861594B
:1026FA00018C01D1DFF4716307716B278F0AF95CD2
:10270A0040D1DD095002C15012FDBB36C08F0AF913
:10271A005C01D1DD08E0C15012FDBB36C0717AFA06
:10272A008F0AF95C41D1DD15340AF9895CBE99D961
:10273A000AF9C15010C150A4FD8D031004F210040F
:10274A00C6D7FD9A23F2D7FDF323F2D7C78FEEFB44
:10275A007617FD7B24664FEEFBDFF2F5EEFBF2C641
:10276A00D78FFBFCB0FBFCD161E8ED1928CFFBFC4D
:10277A0080710407E6613012F6712420611043DD8E
:10278A0032710407E661306061FB71212031242037
:10279A00137130DBFB5002C15011FDBB36C0CF0BA9
:1027AA00F902EF0F7138DBFBE0C15011FDBB36C0F7
:1027BA00F50BF94002F94BDC0B4002F9B9DE057161
:1027CA001220EF0F4002F93EDC064002F9BD61C853
:1027DA007113203114200D310420093102070571CB
:1027EA003304EF03713204311205097140DBFB71C6
:1027FA004202EF077148DBFB714302D50BF9DD0694
:10280A00B00BF9714202401AF90361F8FDA82AD700
:10281A00C72006FBF8FF716201717201E0FD083CF6
:10282A008FFAFC9C015009FD7539629C05716301A0
:10283A008C054CEADC06CFFAFC07EF4A8C054CC63D
:10284A00DC06CFFAFC06EF3E8C054C9FDC06CFFA7D
:10285A00FC05EF328C054C7CDC06CFFAFC04EF2633
:10286A008C054C50DC06CFFAFC03EF1A8C054C227F
:10287A00DC06CFFAFC02EF0E8C054C06DC05E5FA05
:10288A00FCEF03F5FAFC8FFAFC4E01DD4040FAFC3E
:10289A0007DE378FFAFC5006D604CA2214F7500610
:1028AA0089A54804F9A390DFF7500AFD083C304097
:1028BA0000BC0217040200C15002C15006C1506C8C
:1028CA00FDD5031006710220EF03710320300B2A95
:1028DA00FD973A1006C6D7C72008FBF8FF5008FD37
:1028EA007539629F02F9304A57BB17C15002C1506D
:1028FA003EC1506CFDD5031006D2DF217108DAFB08
:10290A0040FAFC07DE05E51DF9EF324002F904DE64
:10291A0006CF1DF903EF26CF1DF905EF207100DA66
:10292A00FB4002F9F1DC06CF1DF902EF104002F973
:10293A0004DE06CF1DF903EF04CF1DF904401DF98B
:10294A000161E8ED072A17040300C15004C1500CC5
:10295A00C1506CFD1B03100630DA20BB17C15002B0
:10296A00C1500EC1506CFDD5031006F690BB17C1BD
:10297A005002C1500CC1506CFDD5031006314420E1
:10298A0002EFFA7132208FFAFCF0312E040A21C1CB
:10299A005040C1C1506CFDD503100650A5FD083C3E
:1029AA0030DA20BB17C15002C1500EC1506CFDD5A0
:1029BA0003100650A5FD083C5004C1506CFDF102FD
:1029CA00C0629C07E9FAFC09FB224E0761C308E9C9
:1029DA00FAFC09F4224E0717040300C15004C1503F
:1029EA000CC1506CFDD5031006F6BB17C15002C1CD
:1029FA00503EC1506CFDD5031006FD0B2A1008C6C7
:102A0A00D7C7C1FBF8FF8F0CF94F02F961F8EDA4A3
:102A1A002A8F02F99F0CF98F02F95070D61230737F
:102A2A0051230480001231FF318E039F0DF99FD686
:102A3A00FBF6BB8F0DF97C804C95DC1B8F0DF931B1
:102A4A008F241400BDD8AF06F9FD35081231FF31C5
:102A5A008E03318FBBEF198F0DF9318F241400BD0E
:102A6A00D8AF08F9FD35081231FF318E03318FBB1B
:102A7A00D904F9F1610900BBBBBF62FC17C150025E
:102A8A00C1500CC1506CFDD5031006D2DF088F026D
:102A9A00F99F0CF9EF047100DAFBF2C0C6D7C72020
:102AAA0004FBF8FF401DF902DF07CFD7FB63ED9A5D
:102ABA002B401DF903DF2817040200C15002C15040
:102ACA0004C1506CFD1B031006D2DD06CFD7FB6391
:102ADA00EF0A8C029FD7FB8C039FD8FBED9A2B8FB2
:102AEA00DAFB5C01D161E8ED9A2B5002C1506CFD12
:102AFA00F102C0629C02D53FFBDD117100DAFB7165
:102B0A000320F5D7FBE6BF1EF9ED9A2B8C029FD95D
:102B1A00FB17040200C15002C15004C1506CFD1BD6
:102B2A0003100640FAFC07DE2B8C02318E318D0829
:102B3A000E03081C0012D9FAFCF10402231489318D
:102B4A008E33BDD813FD7108BB8C019FD7FB8B9FB9
:102B5A00D8FBEF01003134040A31120506CFD7FB46
:102B6A0064EF2D40D9FB9ADE05F5D7FBEF2240D959
:102B7A00FB9CDE0C40D7FB06DC06CFD7FB05EF102B
:102B8A0040D9FBA0DE0A40D7FB0B61C8CFD7FB0AAE
:102B9A0040D7FB0BDE06400EF90BDE1640D7FB06CC
:102BAA00DE06400EF906DE0AD5D7FBDF0ED50EF992
:102BBA00DD095020C15011FDBB36C0D5D7FBDF0956
:102BCA00D50EF9DD04E6BF1EF98FD7FB9F0EF9D5A6
:102BDA001AF961F8CF0EF96440D7FB0BDE03E6EF72
:102BEA0001F6C15012C150A4FD8D0310041004C691
:102BFA00D7303B10BF10F9300E00BF12F9D7F6429A
:102C0A0012F961F84210F9DD0EF64210F9B210F924
:102C1A0061F8B212F9F2D7E2D77100010571785062
:102C2A0005713AD5713BD1713ADD713BD98F1005E7
:102C3A005CFC9F1005CF54054AE542057110420518
:102C4A0071004205714850057130500571205005D8
:102C5A00CF530505CF52050A713051057120510530
:102C6A00713BD5717050058F11055CFC9F1105D71A
:102C7A007178500571080105D77140F000717830FC
:102C8A0002713AE6713BE2713BEA713BEE8F100545
:102C9A005CFC9F1005CF34024AE552FF711A52714B
:102CAA000A52714830027130300271203002CF333B
:102CBA000205CF32020A71303102713BE67170307F
:102CCA00028F11055CFC9F110571603002D7717883
:102CDA0030027148F000D7C788061666614FDD09D1
:102CEA0067614EDE0396EF01866672C6D7C716176E
:102CFA0014AA0412A943DD29AA0412A923FDE82073
:102D0A00C3AC02FDE82013C2BDD813FDD109DE0C05
:102D1A001714AA0212AA0403BA04EF051714A9BACF
:102D2A0004AC041231FF319E03317F087208C6D702
:102D3A00C77100F200304400BFB601300188BF906D
:102D4A0001300984BF9E01BF9C01BF9A01BF98014F
:102D5A00BF9601BF9401BF9201F53CFF30FE00BF50
:102D6A00BE01F6BFBC01BFB80150EEBFBA01A1BF98
:102D7A00B201C918FE007120120571481CF9401DE4
:102D8A00F902DD0B36100571A461C871401CF97196
:102D9A002812058F1CF9313507F5F5FBCB6CFF00BE
:102DAA00717320C6D730EF00BFB401F6BFBA017104
:102DBA0008F200D7710321D9F5FBF1E7240000DD01
:102DCA001423DD2E23DD2623DD2D23DD3B23DD40E9
:102DDA0023DD46EF1D8F1AF9318FE7240300DD0842
:102DEA0023DF39FDE82EEF34FD602EEF2FFDE82EAC
:102DFA00EF2AFD602EEF25F0C1AE6CFDE12CC0F389
:102E0A0013BE6C716320EF14F6BE6C716220EF0C76
:102E1A00CB6CFF00716320EF03FD922E8F1CF931FA
:102E2A004508716420715107EF06716420715101E0
:102E3A00310421218F1CF9314510F6BE64BE6A3176
:102E4A0064200390EF01F6BE6ED731642004F69039
:102E5A00EF01F6BE6AD740D7FB06DE04FD922ED7F5
:102E6A0040D7FB0BDE10F0C1AE6CFDE12CC0F313B2
:102E7A00BE6C716220D7D9F4FBC1AE6CFDE12CC0E7
:102E8A00F313BE6C716320D7710221F0C1AE6CFDE1
:102E9A00E12CC0F313BE6CA0A4FB40A4FB40DC3DB4
:102EAA00F5A4FBD9A5FBF1313F04FEFC14D9A5FB1F
:102EBA00F1BDD85008FDC008087208E6D2DD040149
:102ECA0092DFFC896158D1DD05716220EF037163DD
:102EDA0020A0A5FB40A5FB2061C8F5A5FBD7D5A678
:102EEA00FBDD04B0A6FBD7CFA6FB04D9A7FBF1F7FD
:102EFA0034020023DD0625DD0325DF1B40D7FB0B4B
:102F0A00DE09F6BFA8FB716220EF1CD9F4FBF1BF02
:102F1A00A8FB716320EF1040D7FB0BDE057163201D
:102F2A00EF05E6A1BFA8FBAE6C42A8FBDD10AFA877
:102F3A00FB426CFFDE05B26CFFEF03A26CFFAE6CC6
:102F4A0042A8FB61F8A0A7FBD78FAAFBB0AAFBD1C6
:102F5A00DF7431D4D107715BD1CFACFB02D5ACFBA6
:102F6A00DD347140DAFBD9ABFBF1E734020023DD33
:102F7A000625DD0325DF05F6BE66EF06D9F4FBF16B
:102F8A00BE66A0ABFB40ABFB20DF06F5ABFBB0ACEB
:102F9A00FBCFAAFB16D7CFAAFB1E7148DAFBD5F6E0
:102FAA00FBDF04F6BE66D7D9F4FBF14266FFDD16F5
:102FBA00D9F4FBF112AE6643DE05A266FFEF03B257
:102FCA0066FFCFAAFB03D731042101D7401AF902C1
:102FDA00DF19F6BE64BE6EBE6ABFB0FBBFB6FBBFEA
:102FEA00BCFBBFB4FBBFBAFBBFC0FB31742003ED0F
:102FFA00A630D5ADFB61E8EDA1308F40FB9FADFB5C
:10300A0040AEFB1FDC1F7100FAFB4042FBFFDD24D0
:10301A00D5AFFBDD05B0AFFBEF1A8F42FB9FAFFBCD
:10302A00F5AEFBEF0F7108FAFBD9AEFBF1A1605CBC
:10303A001F9FAEFBE9AEFB0944FB5080D6BFB0FB35
:10304A00E9AEFB0964FB5080D6BFB6FBE9AEFB09CB
:10305A0084FB5080D6BFBCFBAFB0FB22B4FB12D9B5
:10306A0041FBF133BDD813FD7108BFB2FBAFB6FB0C
:10307A0022BAFB12D941FBF133BDD813FD7108BF47
:10308A00B8FBAFBCFB22C0FB12D941FBF133BDD860
:10309A0013FD7108BFBEFBB0ADFBEF3DF6BFB0FB41
:1030AA00BFB6FBBFBCFBAFB4FB1231FF31AE03317D
:1030BA006F12F623BFB2FBAFBAFB1231FF31AE0378
:1030CA00316F12F623BFB8FBAFC0FB1231FF31AE2E
:1030DA0003316F12F623BFBEFB8F1CF931451F3037
:1030EA00BCFBFDF72CF313BE6430B0FBFDF72CF3E9
:1030FA0013BE6E30B6FBFDF72CF313BE6AD730BC95
:10310A00FBFDF72CF313BE6AD7C73112210BD5C2C8
:10311A00FBDD06B0C2FBEDDA31711321D9F7FBF101
:10312A00E7240000DD0F23DD1B23DD1123DD5723F8
:10313A00DD2923DD3B5600F502FDEDC6315601F5CA
:10314A0002FDEF78D502FDDF075601E502FDEF0526
:10315A005600F502FDCFC2FBFAEF61D502FDDF0B87
:10316A005601E502FDCFC2FBFAEF51F5F7FBEF4C32
:10317A00D502FDDF0B5600E502FDCFC2FBFAEF3C9C
:10318A00CFF7FB02EF36D927FCF1E7240000DD096F
:10319A0023DD2423DD0A23EF1E5600F502FDEF1C72
:1031AA00D502FDDF075601E502FDEF055600F502DF
:1031BA00FDCFC2FBFAEF055601E502FD8F1CF9317E
:1031CA0045086661FB712104EF066661FB71010126
:1031DA00C6D7C736F00071F4DC297170F000CE9DB5
:1031EA0008CE9EC0CE9F80F594FFF593FFF592FF1F
:1031FA00E597FFE596FFCE9505CE9810CE9C7F7198
:10320A0000CEFB711BE3712BE3711AE7712BE77197
:10321A007A9D710A9E31929E02EFFA710B9E71237A
:10322A0021713321714321C6D7C73122211E712250
:10323A0021710A9E31929E02EFFA34FCFB3692FF0C
:10324A0052078B99A5A792DFF9710B9EC6D7C7883B
:10325A00061631322115713221C734C4FB3092FF70
:10326A001652078B99A5A792DFF9C666736718C429
:10327A00FBC6D7C77123213134211E713321710A4C
:10328A009E31929E02EFFA3492FF36C4FB52078BAC
:10329A0099A5A792DFF9710B9E31442113717B9E88
:1032AA008F04FC9E9A8F05FC9E9B713321717A9E36
:1032BA00C6D7CFF4FBFFCFCFFB5CCFD0FB5FCFF0FD
:1032CA00FB20D7C7CFCCFB10CFCDFB20CFF1FB2003
:1032DA00F5F5FBF5F6FBF5F7FBF5F8FB5600664C42
:1032EA0064DE08723840FB0086EFF3C6D7C788064B
:1032FA001617F1E73402002361E3ED0B362361F878
:10330A00EDDD33B12361E3EDE43324030061F8ED2D
:10331A00F33324070024070061D8ED0B36240B0091
:10332A0061F8ED14342361F8ED5B342361F8ED287C
:10333A00342361F8EDD7352561F8EDF7352404001B
:10334A0061F8EDC434B124030061D8EDE8342400F7
:10335A000061F8EDF5342361F8ED0B36252361E3BE
:10336A00ED05352361F8ED17352361F8ED2935238D
:10337A0061F8ED17352361F8ED3B352361F8ED4D22
:10338A00352361F8ED5D352361F8ED66352361F883
:10339A00ED72352361F8ED7E352361F8ED87352529
:1033AA002361E3ED0B362561F8ED90352361F8EDE5
:1033BA009C3524030061F8EDA835240A0061F8ED74
:1033CA00B43524120061F8EDD1352361F8EDBF352B
:1033DA00ED0D36679FCEFBED1736307725FD973A10
:1033EA0066736718CCFBED173640D1FB6ADF1440D1
:1033FA00D2FB68DF0E674C6CDF09303F43FD973A1A
:10340A00713AD5679FD3FBED173667D1DD0630CE0B
:10341A003EFD973A34ECFB89616F99ED1736675C8C
:10342A0002D1DD08304C27FD973AEF0C675C01D1D9
:10343A00DD06305127FD973A675C3CD1DD103056E6
:10344A0027FD973A675C3C7266736218CCFBED17EE
:10345A003667D1DD625C01D1DD05300800EF01F687
:10346A00609F23FC675C02D1DD03E6EF01F634239B
:10347A00FC89616899675C04D1DD04E6A1EF01F675
:10348A003423FC89616899675C08D1DD0530200026
:10349A00EF01F63423FC89616899675C10D1DD0578
:1034AA00301000EF01F63423FC89616899675C20CB
:1034BA00D161E8716023FCED1736D514F9DF09678D
:1034CA009FF5FBA014F9EF134014F905DE0DD9148A
:1034DA00F9F1B1126748FEFCA014F9ED1736675CE2
:1034EA000F7266736218CCFBED17364014F964DE6E
:1034FA000AE914F9671840FBA014F9675C7F318E5A
:10350A00C117F1243000FD5832C0ED1736675C3F11
:10351A00318EC117F1243000FD5832C0ED173667DD
:10352A005C07318EC117F1243000FD5832C0ED1707
:10353A0036675C1F318EC117F1243000FD5832C046
:10354A00ED173667318EC117F1243000FD5832C0AD
:10355A00ED1736679E999F03FCED17367142216776
:10356A005C7F9F04FCED1736714221675C3F9F0523
:10357A00FCED1736675C3F9F06FCED1736675C1F4C
:10358A009F07FCED173630F53CFD973A679F0CFC18
:10359A00EF7B30B03CFD973A679F0DFCEF6F30D25E
:1035AA003CFD973A679F10FCEF63675C01D161E8C5
:1035BA00FD4146EF58401EFCC8DE52E91EFC671862
:1035CA0070FAA01EFCEF46679F1EFCEF4067318E23
:1035DA00247200DD07240500DD0AEF0B30BA07FD6F
:1035EA00973AEF03CEABAA679FEFFBEF20675CBF6A
:1035FA009FF1FB675C40D1DD1430DA38FD973AEF72
:10360A000CEF0A664C52DE05736718CCFBC6D7C7A7
:10361A0016664C30DC094C37DE05FD3332EF67663F
:10362A004C02DF1F8FCEFB5C03728F25FC5C0331DB
:10363A008E316D08616A08128F25FC5C80312A611F
:10364A0062EF49664C4FDF05FD6546EF3F664C6108
:10365A00DF09E91EFC0970FA72EF31664C3DDF0A98
:10366A00AE90BF20FCF920FCEF22664C3EDF05F944
:10367A0021FCEF18664C7FDF0D30523FFD973A71FF
:10368A003AD5524AEF06667309CCFB72C6D7C716FB
:10369A0017F1241000240500DC07244C00DD0DEF8F
:1036AA000E667238CCFB00715221EF03A01EFCC6D5
:1036BA00D7C7C1C1FBF8FF401AF903DD06401AF962
:1036CA0004DF2F8C027309D4FB5E0AD1DF248C023B
:1036DA00318E04CCFB14896E0A99716207CC010001
:1036EA00316207086159018C01D1DFF471630771F6
:1036FA006B271004C6D7CF25FC03F523FCF527FC5E
:10370A00F529FCD7C788061617F1E734020025DD2C
:10371A005123DD2225DD3023DD0523DD3FEF4F5028
:10372A0040C15012FDBB36C06731399F35FC30DAD3
:10373A0038FD973AEF38675C03D161F87142226726
:10374A005C839F25FCEF27675C039F27FC675C036C
:10375A004C0261F8711221FD1331EF12679F29FCA7
:10376A00EF0C6791DF08E0C15012FDBB36C0C6D727
:10377A00C71617F1E7240000DD7223DD6124030078
:10378A00DD0C240200DD6024F900DD67EF6840D714
:10379A00FB5BDC06CF26FC0FEF3240D7FB4CDC0686
:1037AA00CF26FC0BEF2640D7FB33DC06CF26FC07DF
:1037BA00EF1A40D7FB0BDC06CF26FC03EF0E40D7EF
:1037CA00FB06DC05E526FCEF03F526FC31020705BE
:1037DA00308000EF01F6086F26FC7208EF1E8F2377
:1037EA00FCF523FC72EF15F928FCEF107132225216
:1037FA0035EF09F2EF0666730922FC72C6D7C716BF
:10380A0017F1E7240000DD38241000DD1C23DD1C3D
:10381A0023DD30240E00DD18241100DD1B240F00E7
:10382A00DD12243000DD15EF1EE2EF1D5202EF1902
:10383A005204EF155206EF115205EF0D5207EF0928
:10384A00F2EF065203EF0252FFC6D7C7401AF90336
:10385A00DF0630DA38FD973A8F0CFDB00CFDD1DF68
:10386A006DCF0CFD073164214B716321401AF903B6
:10387A00DF423604FDC7D933FCFDA639C08FF1FB00
:10388A005C80D1DD0A8FF1FB5004D6609F32FC3692
:10389A0008FDC7D932FCFDA639C08F39FC4F34FC6C
:1038AA00DD128F34FC9F39FC8F34FC9F35FC30DAF3
:1038BA0038FD973A7150F000CE300BCF170006CE84
:1038CA003106FDCD02717A30710BE3710BE7C6D771
:1038DA00C7D935FCF112312F605C3F771331FF31C4
:1038EA00DE03313F609F28FC679FD5FB73090E23D7
:1038FA0076C75013C150A4FD8D0310045013C15054
:10390A00A4FDF102C062614EDD0CC75013C150A480
:10391A00FD8D03100400F2C6D7C7168B728C0161A5
:10392A004ADE248B728C02614ADE188C01728C0288
:10393A00614ADE068C01318EEF048C02318E0872E8
:10394A0008EF268B72EF228B728C02614ADE048B9F
:10395A0072EF168C01728C026142DE068C01318E86
:10396A00EF048C02318E087208C6D7C716710AE7AF
:10397A00710BE37150F000CE300BCF170006669E34
:10398A0031FDCD02717A30710BE33182E302EFFA35
:10399A008D1F7158F000710BE772C6D7C7C1C1FB02
:1039AA00F8FFAC0A14A91489708C0261287061317D
:1039BA00FDE8201344020071FEDC16AC0A14A914B7
:1039CA008C0299AC0A14CA0200AC0A14CA0310EF9A
:1039DA0060AC0A14A914894E02DE0AAC0A148A02DF
:1039EA00819A02EF13AC0A14A914894E0261D30812
:1039FA00AC0A148A02919A02AC0A148A03919A03B5
:103A0A00D1DF2EAC0A148A027C804C8DDC07A91403
:103A1A00898199EF10AC0A148A027C804C74DE0505
:103A2A00A914899199AC0A14CA0310AC0A14CA02DF
:103A3A00001004C6D7ED823A717BFAC7D544FC61FF
:103A4A00F83174212D717321717BFA717AFAD54498
:103A5A00FC61E8B044FC717AFA5600664C0CDD123F
:103A6A0072F3311C790EFDCEFC0061CAFDE13A8683
:103A7A00EFE9717AFAF2C6D7C75600664C0ADE0B2E
:103A8A00F0317E12F67846FC86EFF0C6D7C7C1C180
:103A9A00FBF8FFCC01008C014C0ADE36717BFA8CF4
:103AAA0001F0317E0446FC14A96168DF09AC02B951
:103ABA00717AFAF2EF1D8C01F0317E127946FC61BF
:103ACA004902DF06717AFAE2EF09717AFA6159015D
:103ADA00EFC4E21004C6D7C72004FBF8FFF642463B
:103AEA00FC61F8EDD93B717BFA9C038C034C0ADE2E
:103AFA004F8C03F0317E0446FC14A96168DF05711E
:103B0A007AFAEF3C8C03F0317E127946FCE743DF08
:103B1A0006717AFA00EF21717AFA8C0372F3311C7A
:103B2A007946FCCEFC0061CA629C02D1DF0A8C0392
:103B3A00F0317E12E67846FC717BFA615903EFABED
:103B4A00CC0200CC01018C02F0317E0446FC14A99F
:103B5A006168DD7B8C02F0317E127946FCE743DF37
:103B6A00688C014C0ADE628C01F0317E127946FCC7
:103B7A00E743DD50717BFA8C01F0317E0446FC1478
:103B8A00A96168DF1B616901717BFA8C01F0317EE2
:103B9A0012F67846FC717AFA8C024E01DCE7EF2FB6
:103BAA008C01F0317E0446FC14A9128C02F0317E9D
:103BBA00337846FC8C01F0317E12E67846FC615976
:103BCA0002717AFA615901EF98615902ED503BCCC2
:103BDA000200CC01008C014C0ADE1E8C01F0317E01
:103BEA000446FC14A96168DF05CC0201EF068C02C9
:103BFA00D161E800615901EFDCF21004C6D7C7C1F0
:103C0A00C1FBF8FFCEABAC8C02D1DD126169023088
:103C1A005C03BBF6614900DDEE618900EFF5100433
:103C2A00C6D7C72006FBF8FF3411FCC55006C150A1
:103C3A00A8C15030FD1B031006D2DD1DA05AFC405E
:103C4A005AFC08DE03E2EF5A340CFC895CFC99FD4D
:103C5A00F53C7110DAFBF2EF49F55AFC8F0CFC5C6B
:103C6A0001D1DD26401AF903DF205010C180FDBBC7
:103C7A0036C0C736100571D4C6DE0F17C15006C14B
:103C8A0050A8C15030FD1B031006401AF901DD117E
:103C9A00401AF905DD0B8F0CFC5C02D161E8FD448A
:103CAA0043F21006C6D7D90DFCC15030FDF102C04F
:103CBA00629F10FC7130DDFB8FE5FB5C08D1DF06EB
:103CCA00716307716B27F2D7D910FCC1D90FFCC1F8
:103CDA005030FD8D0310047130DDFB8FE5FB5C086D
:103CEA00D1DF06716307716B27F2D7C7200AFBF889
:103CFA00FF500FC15030FDF102C0403FFB02DF0709
:103D0A007110DAFBF2EF547118DAFBCC0700CC0819
:103D1A0012CC09808F0CFC5C03D1DF08717AD5CCF8
:103D2A000607EF06717BD5CC062F17040600C15093
:103D3A0004C150A0C15030FDD5031006C736100586
:103D4A0071D4C6DE15401AF903DF0F17C15006C138
:103D5A0050A8C15030FD1B031006F2100AC6D7C77F
:103D6A008F1AF9318F24020061F8F55CFC8F26FD69
:103D7A00B026FDD161E8ED443ECF26FD048F1AF945
:103D8A00318FE723DD0B24020024030061C8ED44D0
:103D9A003E405CFC02DF0AE0C15010FDBB36C0EFBA
:103DAA0013405CFCFADF0D5002C15010FDBB36C057
:103DBA00E6BF1EF931340708711322F55CFCEF15D2
:103DCA0031142205F55CFCEF0CA05CFCD55CFC61AF
:103DDA00F8CF5CFCFF8F1DF9318FE723DD07B12394
:103DEA0061D30CEF1236100571C4712122EF0B71E9
:103DFA000402712122EF037122223122221A405D2C
:103E0A00FC0361D8A05DFC405DFC02DF0E5004C1DA
:103E1A005010FDBB36C0EF03F55DFC314207184078
:103E2A005EFC0361D8A05EFC405EFC02DF0C501011
:103E3A00C1FDBB36C0EF03F55EFCC6D7C7401AF911
:103E4A0002C6D7C72004FBF8FF401AF90361E8400D
:103E5A001AF9041004C6D7C78F0CFC5C03D1DD1114
:103E6A0036100571D4DE0A302C3CFD973AD261F83F
:103E7A0000401AF903DF1B31220707306A26FD9733
:103E8A003A003134220C7133225080C15012FDBBEA
:103E9A0036C0401AF903DD05F6BD1AEF25D5F8FB41
:103EAA00DF09F6461ADD1BB61AEF17D9F4FBF146FD
:103EBA001ADD0FD9F4FB12AD1A43DE04A61AEF027B
:103ECA00B61AC6D78FECFB5C10D161E87152228F0B
:103EDA00ECFB5C0FD1DD6C8FECFB5C01D1DD05F5F1
:103EEA001AF9EF5F8FECFB5C02D1DD15E0C15003DC
:103EFA00C15084FD8D031004711300711B207103DE
:103F0A00038FECFB5C08D1DD05710303EF1C8FEC1A
:103F1A00FB5C04D1DD14711300711B2031442203B0
:103F2A007103033425FC895CFC995005FD083C713A
:103F3A0002035003C1C15084FD8D031004711A207D
:103F4A00714322F5ECFBF2D7C7364105718461D87B
:103F5A00ED01403641057194DE0771405005CEAB44
:103F6A00AC31B2D104E2ED1040713BD18F14F9A00B
:103F7A0014F9318EE7240000DD1723DD1C23DD2729
:103F8A0023DD2C23DD3823DD4423DD4923DD4EEFF9
:103F9A00668F1DF99F4005EF58F0C15084FDF1026C
:103FAA00C0629F4005EF4A8FFAFC9F4005EF4250DE
:103FBA0008C1506CFDF102C0629F4005EF33500901
:103FCA00C1506CFDF102C0629F4005EF248F62FC74
:103FDA009F4005EF1C8F02F99F4005EF14F1710411
:103FEA002061DC311970F171142061DC61689F4035
:103FFA0005CEABACE2EF0F71605005714850057108
:10400A003BD5F514F9F2C6D7C78F1AF9318FE724D1
:10401A00000061F8EDD34123DD1B2361F8EDE44094
:10402A002361F8ED71412361F8EDAE412361F8EDAA
:10403A003D42ED9D42D51BF9DF28D55CFCDD05F537
:10404A002BFDEF03A02BFD402BFD65DC09F51AF9CA
:10405A00717221EDA042405CFC0A61D8EDA042E5F4
:10406A001BF9711222F52BFDCFD1FB80F5EFFBFD79
:10407A00FA04FD1A28FDE128401DF904DF097172CE
:10408A0021F51AF9EDA042FDA82AD5D7FBDF238F27
:10409A00D9FB318EF7BDD813BDDAFDEB0AC9DCCDE9
:1040AA00CC301C43FD570ADE09717221F51AF9ED6D
:1040BA00A042FD7C25D2DD09717221F51AF9EDA025
:1040CA0042401BF901DF05F5F5FBEF04CFF5FB03D1
:1040DA00CF1AF902FD5125EDA042CF350002CF37A4
:1040EA00001DCF120510FD232CFD832C714A9DFD66
:1040FA000037FDCD32F537FF712BE0F51BF97172F0
:10410A0021CBE43FEFCBE6F6F0FDFA04713BD48F06
:10411A001CF93135335004C15084FDF102C0625C90
:10412A0003318E315D34DBFB896168995002C150DD
:10413A0084FDF102C0D2DD067170DBFBEF047178F9
:10414A00DBFBFD1A28FDE128FD3A2D71381CF9CF59
:10415A001AF9038FCEFB5C02D1DD095080C15010E1
:10416A00FDBB36C0EDA042FDA24231A4E020712B76
:10417A00E031020C05FD2C43EF145027C15005C154
:10418A005084FD8D031004CF1AF904717221315441
:10419A00220CA02AFD402AFDFF61F8FD2C43FD0FE9
:1041AA0043EDA042FDA24231020C18F0C15005C1F4
:1041BA005084FD8D0310045005FD083CFD2C43CFAF
:1041CA001AF903FD0F43EDA042CFF5FB03F5F6FB09
:1041DA00717220F6426CFF61E8EDA042F5F8FBF639
:1041EA00BF1EF9FDAF2DFD7A2CFDD82C714B9DF524
:1041FA00DCFBF5DDFBF5DEFBF5DFFB31442002EFEE
:10420A00FACE3708CBE4BFFFCBE6FFF1CED4FFCF1F
:10421A00370009F51205F6BEE0BEE2BED0716A2784
:10422A00FD2B26FDFB2BF52BFDCF1AF9057112226A
:10423A00F55CFC31040706FD082CD2DF1BFDFA04ED
:10424A00FD1A28405CFC0ADC06E51BF9E51AF9317F
:10425A00020743FDFB2BEF3EF51BF9717301713227
:10426A000431120502EFFA71430231949E02EFFA09
:10427A00FD6305712AE7CEA409F5F30061FD310457
:10428A000703711322E5F300CEA408712BE7E51AA0
:10429A00F9EF0300EFFDC6D7D564FCDF1E3102003B
:1042AA00195003C15084FDF102C0625C01D1DF07DD
:1042BA00F51AF9717221D7E564FCD74064FCF0DF86
:1042CA00083104003FF564FCD74064FCC8DF0BF5F5
:1042DA001AF9717221CF64FCF0D731020004A0648C
:1042EA00FCD7F0C15004C15084FD8D0310048FDB4C
:1042FA00FB5C9F9FDBFB7110ECFB30CE3EFD973AD7
:10430A00CF64FCF0D7F6421EF9DD16A21EF98FF033
:10431A00FB5040D612AF1EF943DC06F51AF971724A
:10432A0021D7715322F52AFD717207FDCD02FDCD09
:10433A0002717307D7FD8905F2D7C7200CFBF8FF76
:10434A008F12FCF0F911FCF303FDE82013BC048F73
:10435A0014FCF0F913FCF303FDE82013BC028F16DA
:10436A00FCF0F915FCF303FDE82013BBAC04BDD83F
:10437A00F6BDDAAC04311EBDDCF6BDDEFD4608AD85
:10438A00D8BDDCADDABDDEAC02BDD8F6BDDAAC0212
:10439A00311EDADCC3DADEC3BDDCF6BDDEFD46085B
:1043AA00C0BDDEC0BDDCADDEFD8809ADD8BDDCAD6B
:1043BA00DABDDEABBDD8F6BDDAAB311EDADCC3DA64
:1043CA00DEC3BDDCF6BDDEFD4608C0BDDEC0BDDC19
:1043DA00ADDEFD8809DADAADD8FD6447C3C58FF2D0
:1043EA00FC5C3FF0317E0472FC14C2C0B9A0F2FC3E
:1043FA00F6BC08BC0A9C078C074C2EDD3E8FF2FCEB
:10440A000E0770F161DC605C3FF0317E127972FC5C
:10441A00BDD8F6BDDA8C0773095023318FBDDC7025
:10442A00BDDEFD4608AC08BDDCAC0AFD8809ADDA84
:10443A00BC0AADD8BC08615907EFBCAC08BDD8AC02
:10444A000ABDDAC9DC0004F6FD1009C9DCFFFFF673
:10445A00FDDD09ADD8BF6CFCAF66FC426CFCDD1219
:10446A00AF68FCBF6AFCAF66FCBF68FCAF6CFCBF00
:10447A0066FCAF68FC426AFCDC50AF66FC4268FC32
:10448A00DE48AF2CFD4266FCDE40406EFC16DC1FA7
:10449A00406EFCA0DE168F6FFC4F6EFCDE0EAF6620
:1044AA00FC2270FC44691061C8FD1D45F56EFCAF25
:1044BA0066FC445146DC0BAF66FC241027BF2EFD78
:1044CA00EF1930F82ABF2EFDEF11406EFCFFDD0315
:1044DA00E6EF01F6346EFC89610899AF6AFC42681E
:1044EA00FCDC1BAF68FC4266FCDE13AF66FC422EA6
:1044FA00FDDE0BF56FFCAF66FCBF70FCEF11406F81
:10450A00FCFFDD03E6EF01F6346FFC8961089910C0
:10451A000CC6D7C72008FBF8FFA017FCD517FCDF8D
:10452A001CA018FCD518FCDF14A019FCD519FCDF57
:10453A000CCF17FCFFCF18FCFFCF19FCFF717BFAD9
:10454A00710A9E31929E02EFFA8E98FDF1099C053E
:10455A008E949F30FD8E969F31FD8E979F32FD8EF1
:10456A00939C048E929C03FDF64613BC068F33FD82
:10457A004E05DF12AFF4FC614906DE41AC0622F4B7
:10458A00FCFD1946EF378C05318EB112D933FDF196
:10459A0043DF1F8C055C0391DF03E6EF01F6046D30
:1045AA0001313D12010322F4FC610906BBFD1946E3
:1045BA00EF0B8F33FD4E05DE04F6FD19468C059F81
:1045CA0033FDAC06BFF4FC8FF3FC9C028C044F1C39
:1045DA00FCDE138C034F1DFCDE0C6169028C024C5D
:1045EA00A861C8CC02A78C02F0317E0420F914A974
:1045FA0044FFFFDF04E6B9EF128C02F0317E04209B
:10460A00F914A944FEFFDD03A9A1B91008C6D7C74A
:10461A00161744A90061C836A800A0F3FC40F3FCB1
:10462A00A861C8F5F3FCF9F3FCF3311CF67820F91C
:10463A00B7F647DFE5C6D7C756A89666F0317E12A9
:10464A00F6B17820F966D1DFF1F517FCF518FCF51B
:10465A0019FCF5F3FCC6D7716322D7C72004FBF80F
:10466A00FFD914F9F1E7240000DD1123DD1C23DD55
:10467A002123DD2623DD2F23DD33EF388FF3FC9F43
:10468A00F6FCA014F9F930FDEF5EA014F9F931FD3A
:10469A00EF56A014F9F932FDEF4EA014F98F33FD4D
:1046AA00FD0B0A72EF42A014F95255EF3BA014F920
:1046BA0052AAEF34F9F6FCF3311C7920F9BB3162C6
:1046CA0022058B9C03EF128C019C03D5F6FCDF06B6
:1046DA00CFF6FCA7EF03B0F6FC718071672261DCAC
:1046EA0061FB7161228C03721004C6D7C72006FBD6
:1046FA00F8FF8E98FDF1099C038E97FDF1099C0243
:10470A008E96FDF1099C018E94FDF1099B710B9E19
:10471A00717AFA8C02F0317E12798023BC048C0300
:10472A005C03D1DF158C024C03DE0C8C024C02DFD9
:10473A00098C014C1D61F86179048C01318EB161DB
:10474A000904BC04313D120103BC048C040D708CB5
:10475A00051C00BC04121006C6D7C7C3C12008FB3B
:10476A00F8FFF661490A61F8614908DF07F7340082
:10477A0000ED0148E6BC04F6BC06AC0ABC02AC0873
:10478A00BBAC06614902AC0461F8614900DE28ACA1
:10479A0004BDD8AC06BDDAE1FD9709ADDABC06ADB9
:1047AA00D8BC04ABBDD8AC02BDDAE1FDB209ADDAC2
:1047BA00BC02ADD8BBEFCAAC06BC02AC04BBAC08A9
:1047CA00BDD8AC0ABDDAAC04BDDCAC06FD4909AC07
:1047DA0004BDDCAC06FD8809E1FDB209ADDABC0610
:1047EA00ADD8BC04AC06614902AC0461F861490069
:1047FA00DCC5AC0214AB12100CC6D7C7D534FDDD2C
:10480A0005B034FDEF78CF34FD023114070671107C
:10481A00DBFBEF047118DBFB8FDBFB7FF8FC76D147
:10482A00DD5C8FDBFB9FF8FC401AF903DF22665C34
:10483A0010D1DD1C8FDBFB5C10D1DD0B5080C15029
:10484A0011FDBB36C0EF095040C15011FDBB36C047
:10485A00401AF903DD06401AF904DF22665C02D128
:10486A00DD1C8FDBFB5C02D1DD0B5040C15010FD1B
:10487A00BB36C0EF095020C15010FDBB36C0C6D7A9
:10488A00CF0BF90461FC61FCC1C3C5C7520C9292FB
:10489A0069D4FEC1DFF88EFD708EFCC1717AFA40D0
:1048AA001AF903DF06306A26FD973AC09EFC609E1D
:1048BA00FD34D4FE5206C0B9A5A592DFF9C6C4C21A
:1048CA00C061FC61DF520C929269D4FEC1DFF88E9E
:1048DA00FD708EFCC1717AFAC736410571A4C6DC37
:1048EA0041F5FCFC71485005716050053154212690
:1048FA00716207715321D5DCFBDF0FD5DDFBDF0ABF
:10490A00D5DEFBDF05D5DFFBDD0C31620702EFFAEE
:10491A00716307716B27FD6146FD7D32F514F9ED70
:10492A003C4AC73641057184C6DE0DF5FCFC714868
:10493A005005FD7D32ED3C4AC73641057194C6DE0D
:10494A001540FCFC03DD0C40FCFC04DD0640FCFCCD
:10495A000161F8F5FCFCD9FCFCF1E7240000DD0854
:10496A0023DD1323DD39EF6071405005E5FCFC714E
:10497A00505005ED3C4A8F40059F15F99F18F9D90B
:10498A0015F9FD1936629F17F94015F97FDD06CF33
:10499A00FCFC02EF03F5FCFC71505005ED3C4AC7E4
:1049AA003641057194C6DE1CC736410571C4C6DEA0
:1049BA0006CFFCFC03EF11F5FCFC71485005716051
:1049CA005005EF6ECFFCFC0440FCFC03DF0E8F1792
:1049DA00F99F4005D915F9FD9836EF108F400576F5
:1049EA00C7D915F9FDF732C071505005D918F9F138
:1049FA00242900DD2D240400DD28242200DD2324BF
:104A0A001100DD0C240100DD19241E00DD14EF0C59
:104A1A004015F960DF0CCF15F961EF06F514F9A01E
:104A2A0015F940FCFC03DF0AD915F9FD1936629F16
:104A3A0017F9C09EFC609EFD34D4FE5206C0B9A58B
:104A4A00A592DFF961FCC1C3C5C7520C929269D421
:104A5A00FEC1DFF88EFD708EFCC1F616717AFA710E
:104A6A004AE5717BBD51405F0401D1DD05A7F647D8
:104A7A00DFF3300400BF2401F6BF2A01300B0BBF5D
:104A8A002801FDCD02300B0FBF2801FDCD02300FEA
:104A9A000FBF2801710AE6714320C09EFC609EFD8B
:104AAA0034D4FE5206C0B9A5A592DFF9C6C4C2C065
:104ABA0061FCC1C3C5C7520C929269D4FEC1DFF82A
:104ACA008EFD708EFCC1717AFAD53EFBDD0EEB3C91
:104ADA00FB899E44A23CFBB03EFBEF2B710AE630F9
:104AEA000400BF2401F6BF2A01300B0BBF2801FDC9
:104AFA00CD02300B0FBF2801FDCD02300F0FBF28AA
:104B0A0001713320714320C09EFC609EFD34D4FEA7
:104B1A005206C0B9A5A592DFF9C6C4C2C061FC613C
:104B2A00EF520C929269D4FEC1DFF88EFD708EFCB2
:104B3A00C12008FBF8FF71503002CEABACCC0100AB
:104B4A00F6BC0231B2E210617902F6614902DFF382
:104B5A0071603002EDE04B8E519B713BE28B5C023F
:104B6A00D1DD1D8B5C08D1DF0971503002CC010008
:104B7A00EFCE8C0770FD7A37629E50CC0102EFC0EF
:104B8A008B5C03D1DF408E509C05715030028C0142
:104B9A00D1DF0E8C0570FD0838629C07CC0101EF4D
:104BAA00328C014C02DF0671603002EF29CF3402E9
:104BBA005A716030028C0570C18C0770FD0E37C0C7
:104BCA00CF34024AEF108B5C01D1DD0671603002EE
:104BDA00EF0400ED4A4B1008C09EFC609EFD34D4E1
:104BEA00FE5206C0B9A5A592DFF961FCC18F06FC89
:104BFA004F96FFDF328F07FC4F97FFDF2A8F08FCA3
:104C0A004F98FFDF228FE5FB5C04D1DF1A7120DDAC
:104C1A00FB716307716B27401AF905DD06401AF923
:104C2A000161F8CF1BF902C061FCA044FC61FCC120
:104C3A00C3C5C7520C929269D4FEC1DFF88EFD70CB
:104C4A008EFCC1C1FBF8FF8D1F9C018E31318EE7AE
:104C5A00240600DD0823DD0F23DD25EF51717AFAE2
:104C6A008C019F33FCEF47717AFA401DF902DF0786
:104C7A008C019F32FCEF3751FF2E019F32FCEF2E41
:104C8A00717AFA8C019F02F940EFFB74DF068FD12B
:104C9A00FB9F02F98FDAFB5C01D1DF12401AF9039C
:104CAA00DD06401AF904DF06300B2AFD973A403137
:104CBA00FF09DE08A031FF710BE3EF197158F0000C
:104CCA007162214043FC02DF03F6EF05D943FCF190
:104CDA00A1609F43FCC0C09EFC609EFD34D4FE527E
:104CEA0006C0B9A5A592DFF9C6C4C2C061FC61FFBE
:104CFA00520C929269D4FEC1DFF88EFD708EFCC10F
:104D0A00717AFA8F0CFC5C03D1DD19401AF903DDC4
:104D1A0006401AF904DF0D36100571D4DE06302C70
:104D2A003CFD973AC09EFC609EFD34D4FE5206C0FC
:104D3A00B9A5A592DFF961FC61FC61FC61FC61FC2B
:104D4A0061FC61FC61FC61FC61FC61FC61FC61FC71
:104D5A0061FC61FC61FC61FC61FC61FC61FC61FC61
:104D6A0061FC61FC61FC61FC61FC61FC61FC61FC51
:104D7A00FF000000AAAAAAAA0000D4FB000034FC83
:104D8A0000000000693D55386B27BE2D532FD12FE7
:104D9A001331613E0548463E4D3E12400000000078
:0C4DAA000000983AF82A2330129900000B
:0A4FF60031333A34333A3230000010
:00000001FF


BIN
trunk/bsr.lmf Normal file

Binary file not shown.

664
trunk/bsr_k0r.map Normal file
View File

@ -0,0 +1,664 @@
78K0R Linker W1.31 Date:30 Jun 2010 Page: 1
Command: -yC:\Program Files\NEC Electronics Tools\DEV -_msgoff -obsr.l
mf ..\..\..\Program Files\NEC Electronics Tools\CC78K0R\W2.10
\lib78k0r\s0rm.rel -go85h,0FC00h,1024 -gi0FFFFFFFFFFFFFFFFFFF
Fh -pbsr_k0r.map -nkd -gb7EFBFFh -bC:\Program Files\NEC Elect
ronics Tools\FSL78K0R_Type02ES\V1.20\lib78k0r\fsl.lib -bcl0rd
m.lib -bcl0rm.lib -bcl0rmf.lib -iC:\Program Files\NEC Electro
nics Tools\CC78K0R\W2.10\lib78k0r -dbsr_mcu.dr -s -w0 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.re
l renge.rel accero.rel self_flash.rel sw.rel task_debug.rel t
ask_misc.rel task_sys.rel pedo_alg_thre_det2.rel ini_VECT.rel
task_status.rel
Para-file:
Out-file: bsr.lmf
Map-file: bsr_k0r.map
Direc-file:bsr_mcu.dr
*** Link information ***
67 output segment(s)
3B86H byte(s) real data
5270 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 main 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
??NMIROM 00002H 00002H CSEG
* gap * 00004H 0000CH
@@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 0005CH
?CSEGOB0 000C0H 00004H CSEG OPT_BYTE
@@CODE 000C4H 00000H CSEG BASE
@@CODE magic 000C4H 00000H
@@CODE ini_VECT 000C4H 00000H
LDR_CODL 000C4H 00000H CSEG
LDR_CODL loader 000C4H 00000H
LDR_CODL main 000C4H 00000H
LDR_CODL WDT 000C4H 00000H
LDR_CODL i2c_mcu 000C4H 00000H
LDR_CODL self_flash
000C4H 00000H
?CSEGSI 000C4H 0000AH CSEG
?OCDSTAD 000CEH 0000AH CSEG
LDR_CODE 000D8H 006F0H CSEG
LDR_CODE loader 000D8H 0018BH
LDR_CODE main 00263H 0006AH
LDR_CODE WDT 002CDH 00000H
LDR_CODE i2c_mcu 002CDH 002BCH
LDR_CODE self_flash
00589H 0023FH
@@LCODE 007C8H 00386H CSEG
@@LCODE @cstart 007C8H 0006DH
@@LCODE @imul 00835H 00011H
@@LCODE @lumul 00846H 0002BH
@@LCODE @isdiv 00871H 00022H
@@LCODE @iudiv 00893H 0002DH
@@LCODE @isrem 008C0H 00021H
@@LCODE @iurem 008E1H 0002FH
@@LCODE @lsdiv 00910H 00039H
@@LCODE @ludiv 00949H 0003FH
@@LCODE @ladd 00988H 0000FH
@@LCODE @llsh 00997H 0001BH
@@LCODE @lursh 009B2H 0001FH
@@LCODE @iscmp 009D1H 0000CH
@@LCODE @lband 009DDH 00014H
@@LCODE @bcdtob 009F1H 0001AH
@@LCODE @bbcd 00A0BH 00024H
@@LCODE m_fcmp 00A2FH 00073H
@@LCODE m_fcom5 00AA2H 0002AH
@@LCODE m_fcom6 00ACCH 0001FH
@@LCODE m_lstof 00AEBH 00016H
@@LCODE m_lutof 00B01H 0004DH
FSL_CODE 00B4EH 00322H CSEG
FSL_CODE fsl_block_cmd
00B4EH 0002BH
FSL_CODE fsl_block_check
00B79H 00013H
FSL_CODE fsl_common
00B8CH 0014FH
FSL_CODE fsl_reset
00CDBH 00001H
FSL_CODE fsl_si_ibf
00CDCH 00064H
FSL_CODE fsl_phySwap
00D40H 0004DH
FSL_CODE fsl_si_common
00D8DH 00061H
FSL_CODE fsl_swap 00DEEH 00030H
FSL_CODE fsl_write
00E1EH 00052H
* gap * 00E70H 00186H
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
@@CNSTL 02000H 00000H CSEG PAGE64KP
@@CNSTL @cstart 02000H 00000H
@@CNSTL 02000H 00000H CSEG PAGE64KP
@@CNSTL pm 02000H 00000H
@@CNSTL 02000H 00000H CSEG PAGE64KP
@@CNSTL i2c_ctr 02000H 00000H
@@CNSTL 02000H 00000H CSEG PAGE64KP
@@CNSTL i2c_twl 02000H 00000H
@@CNSTL 02000H 00000H CSEG PAGE64KP
@@CNSTL led 02000H 00000H
@@CNSTL 02000H 00000H CSEG PAGE64KP
@@CNSTL rtc 02000H 00000H
@@CNSTL 02000H 00000H CSEG PAGE64KP
@@CNSTL vreg_ctr 02000H 00000H
@@CNSTL 02000H 00000H CSEG PAGE64KP
@@CNSTL vreg_twl 02000H 00000H
@@CNSTL 02000H 00000H CSEG PAGE64KP
@@CNSTL adc 02000H 00000H
@@CNSTL 02000H 00000H CSEG PAGE64KP
@@CNSTL renge 02000H 00000H
@@CNSTL 02000H 00000H CSEG PAGE64KP
@@CNSTL accero 02000H 00000H
@@CNSTL 02000H 00000H CSEG PAGE64KP
@@CNSTL sw 02000H 00000H
@@CNSTL 02000H 00000H CSEG PAGE64KP
@@CNSTL task_debug
02000H 00000H
@@CNSTL 02000H 00000H CSEG PAGE64KP
@@CNSTL task_misc
02000H 00000H
@@CNSTL 02000H 00000H CSEG PAGE64KP
@@CNSTL task_sys 02000H 00000H
@@CNSTL 02000H 00000H CSEG PAGE64KP
@@CNSTL pedo_alg_thre_det2
02000H 00000H
@@CNSTL 02000H 00000H CSEG PAGE64KP
@@CNSTL ini_VECT 02000H 00000H
@@CNSTL 02000H 00000H CSEG PAGE64KP
@@CNSTL task_status
02000H 00000H
@@CNSTL 02000H 0000AH CSEG PAGE64KP
@@CNSTL @bcdtob 02000H 0000AH
@@CNSTL 0200AH 00010H CSEG PAGE64KP
@@CNSTL @bbcd 0200AH 00010H
@@CNSTL 0201AH 000CEH CSEG PAGE64KP
@@CNSTL m_fcom5 0201AH 000CEH
@@R_INIS 020E8H 00000H CSEG UNIT64KP
@@R_INIS @cstart 020E8H 00000H
@@R_INIS loader 020E8H 00000H
@@R_INIS pm 020E8H 00000H
@@R_INIS i2c_ctr 020E8H 00000H
@@R_INIS main 020E8H 00000H
@@R_INIS magic 020E8H 00000H
@@R_INIS WDT 020E8H 00000H
@@R_INIS i2c_mcu 020E8H 00000H
@@R_INIS i2c_twl 020E8H 00000H
@@R_INIS led 020E8H 00000H
@@R_INIS rtc 020E8H 00000H
@@R_INIS vreg_ctr 020E8H 00000H
@@R_INIS vreg_twl 020E8H 00000H
@@R_INIS adc 020E8H 00000H
@@R_INIS renge 020E8H 00000H
@@R_INIS accero 020E8H 00000H
@@R_INIS self_flash
020E8H 00000H
@@R_INIS sw 020E8H 00000H
@@R_INIS task_debug
020E8H 00000H
@@R_INIS task_misc
020E8H 00000H
@@R_INIS task_sys 020E8H 00000H
@@R_INIS pedo_alg_thre_det2
020E8H 00000H
@@R_INIS ini_VECT 020E8H 00000H
@@R_INIS task_status
020E8H 00000H
@@R_INIS @rom 020E8H 00000H
@@CALT 020E8H 00000H CSEG
@@CALT @cstart 020E8H 00000H
@@CALT loader 020E8H 00000H
@@CALT pm 020E8H 00000H
@@CALT i2c_ctr 020E8H 00000H
@@CALT main 020E8H 00000H
@@CALT magic 020E8H 00000H
@@CALT WDT 020E8H 00000H
@@CALT i2c_mcu 020E8H 00000H
@@CALT i2c_twl 020E8H 00000H
@@CALT led 020E8H 00000H
@@CALT rtc 020E8H 00000H
@@CALT vreg_ctr 020E8H 00000H
@@CALT vreg_twl 020E8H 00000H
@@CALT adc 020E8H 00000H
@@CALT renge 020E8H 00000H
@@CALT accero 020E8H 00000H
@@CALT self_flash
020E8H 00000H
@@CALT sw 020E8H 00000H
@@CALT task_debug
020E8H 00000H
@@CALT task_misc
020E8H 00000H
@@CALT task_sys 020E8H 00000H
@@CALT pedo_alg_thre_det2
020E8H 00000H
@@CALT ini_VECT 020E8H 00000H
@@CALT task_status
020E8H 00000H
@@RLINIT 020E8H 00000H CSEG UNIT64KP
@@RLINIT loader 020E8H 00000H
@@RLINIT pm 020E8H 00000H
@@RLINIT i2c_ctr 020E8H 00000H
@@RLINIT main 020E8H 00000H
@@RLINIT magic 020E8H 00000H
@@RLINIT WDT 020E8H 00000H
@@RLINIT i2c_mcu 020E8H 00000H
@@RLINIT i2c_twl 020E8H 00000H
@@RLINIT led 020E8H 00000H
@@RLINIT rtc 020E8H 00000H
@@RLINIT vreg_ctr 020E8H 00000H
@@RLINIT vreg_twl 020E8H 00000H
@@RLINIT adc 020E8H 00000H
@@RLINIT renge 020E8H 00000H
@@RLINIT accero 020E8H 00000H
@@RLINIT self_flash
020E8H 00000H
@@RLINIT sw 020E8H 00000H
@@RLINIT task_debug
020E8H 00000H
@@RLINIT task_misc
020E8H 00000H
@@RLINIT task_sys 020E8H 00000H
@@RLINIT pedo_alg_thre_det2
020E8H 00000H
@@RLINIT ini_VECT 020E8H 00000H
@@RLINIT task_status
020E8H 00000H
@@RLINIT @rom 020E8H 00000H
@@CODEL 020E8H 00000H CSEG
@@CODEL pm 020E8H 00000H
@@CODEL i2c_ctr 020E8H 00000H
@@CODEL magic 020E8H 00000H
@@CODEL i2c_twl 020E8H 00000H
@@CODEL led 020E8H 00000H
@@CODEL rtc 020E8H 00000H
@@CODEL vreg_ctr 020E8H 00000H
@@CODEL vreg_twl 020E8H 00000H
@@CODEL adc 020E8H 00000H
@@CODEL renge 020E8H 00000H
@@CODEL accero 020E8H 00000H
@@CODEL sw 020E8H 00000H
@@CODEL task_debug
020E8H 00000H
@@CODEL task_misc
020E8H 00000H
@@CODEL task_sys 020E8H 00000H
@@CODEL pedo_alg_thre_det2
020E8H 00000H
@@CODEL ini_VECT 020E8H 00000H
@@CODEL task_status
020E8H 00000H
@@LCODEL 020E8H 00008H CSEG
@@LCODEL abs 020E8H 00008H
* gap * 020F0H 00010H
MGC_MIMI 02100H 0000AH CSEG AT
MGC_MIMI magic 02100H 0000AH
@@CNST 0210AH 00290H CSEG
@@CNST @cstart 0210AH 00000H
@@CNST loader 0210AH 00000H
@@CNST pm 0210AH 00204H
@@CNST i2c_ctr 0230EH 00000H
@@CNST main 0230EH 00000H
@@CNST magic 0230EH 00000H
@@CNST WDT 0230EH 00000H
@@CNST i2c_mcu 0230EH 00000H
@@CNST i2c_twl 0230EH 00000H
@@CNST led 0230EH 00000H
@@CNST rtc 0230EH 00000H
@@CNST vreg_ctr 0230EH 00000H
@@CNST vreg_twl 0230EH 00000H
@@CNST adc 0230EH 00040H
@@CNST renge 0234EH 00000H
@@CNST accero 0234EH 00000H
@@CNST self_flash
0234EH 00002H
@@CNST sw 02350H 00000H
@@CNST task_debug
02350H 00000H
@@CNST task_misc
02350H 00000H
@@CNST task_sys 02350H 00000H
@@CNST pedo_alg_thre_det2
02350H 0004AH
@@CNST ini_VECT 0239AH 00000H
@@CNST task_status
0239AH 00000H
ROM_CODE 0239AH 024F0H CSEG
ROM_CODE pm 0239AH 00889H
ROM_CODE i2c_ctr 02C23H 00060H
ROM_CODE i2c_twl 02C83H 0005EH
ROM_CODE led 02CE1H 004FBH
ROM_CODE rtc 031DCH 000E0H
ROM_CODE vreg_ctr 032BCH 00444H
ROM_CODE vreg_twl 03700H 00155H
ROM_CODE adc 03855H 001EAH
ROM_CODE renge 03A3FH 001EDH
ROM_CODE accero 03C2CH 0013DH
ROM_CODE sw 03D69H 000DDH
ROM_CODE task_debug
03E46H 0001BH
ROM_CODE task_misc
03E61H 001B1H
ROM_CODE task_sys 04012H 00332H
ROM_CODE pedo_alg_thre_det2
04344H 004C1H
ROM_CODE task_status
04805H 00085H
@@BASE 0488AH 004F0H CSEG BASE
@@BASE loader 0488AH 00000H
@@BASE pm 0488AH 00043H
@@BASE i2c_ctr 048CDH 00183H
@@BASE main 04A50H 00000H
@@BASE magic 04A50H 00000H
@@BASE WDT 04A50H 00000H
@@BASE i2c_mcu 04A50H 000D9H
@@BASE i2c_twl 04B29H 000CDH
@@BASE led 04BF6H 00000H
@@BASE rtc 04BF6H 00043H
@@BASE vreg_ctr 04C39H 00000H
@@BASE vreg_twl 04C39H 00000H
@@BASE adc 04C39H 000BFH
@@BASE renge 04CF8H 00000H
@@BASE accero 04CF8H 0004AH
@@BASE self_flash
04D42H 00000H
@@BASE sw 04D42H 00000H
@@BASE task_debug
04D42H 00000H
@@BASE task_misc
04D42H 00000H
@@BASE task_sys 04D42H 00000H
@@BASE pedo_alg_thre_det2
04D42H 00000H
@@BASE ini_VECT 04D42H 00038H
@@BASE task_status
04D7AH 00000H
@@R_INIT 04D7AH 0003CH CSEG UNIT64KP
@@R_INIT @cstart 04D7AH 00000H
@@R_INIT loader 04D7AH 00000H
@@R_INIT pm 04D7AH 00002H
@@R_INIT i2c_ctr 04D7CH 00002H
@@R_INIT main 04D7EH 00000H
@@R_INIT magic 04D7EH 00000H
@@R_INIT WDT 04D7EH 00000H
@@R_INIT i2c_mcu 04D7EH 00000H
@@R_INIT i2c_twl 04D7EH 00000H
@@R_INIT led 04D7EH 00006H
@@R_INIT rtc 04D84H 00000H
@@R_INIT vreg_ctr 04D84H 00000H
@@R_INIT vreg_twl 04D84H 00000H
@@R_INIT adc 04D84H 0000AH
@@R_INIT renge 04D8EH 00018H
@@R_INIT accero 04DA6H 00000H
@@R_INIT self_flash
04DA6H 00000H
@@R_INIT sw 04DA6H 00002H
@@R_INIT task_debug
04DA8H 00002H
@@R_INIT task_misc
04DAAH 00000H
@@R_INIT task_sys 04DAAH 00002H
@@R_INIT pedo_alg_thre_det2
04DACH 00008H
@@R_INIT ini_VECT 04DB4H 00000H
@@R_INIT task_status
04DB4H 00002H
@@R_INIT @rom 04DB6H 00000H
* gap * 04DB6H 00240H
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 003FAH DSEG BASEP
@@DATA @cstart FF900H 00002H
@@DATA loader FF902H 00000H
@@DATA pm FF902H 00012H
@@DATA i2c_ctr FF914H 00006H
@@DATA main FF91AH 0021EH
@@DATA magic FFB38H 00000H
@@DATA WDT FFB38H 00000H
@@DATA i2c_mcu FFB38H 00008H
@@DATA i2c_twl FFB40H 00000H
@@DATA led FFB40H 00084H
@@DATA rtc FFBC4H 00008H
@@DATA vreg_ctr FFBCCH 00056H
@@DATA vreg_twl FFC22H 00010H
@@DATA adc FFC32H 00012H
@@DATA renge FFC44H 00016H
@@DATA accero FFC5AH 00002H
@@DATA self_flash
FFC5CH 00000H
@@DATA sw FFC5CH 00004H
@@DATA task_debug
FFC60H 00002H
@@DATA task_misc
FFC62H 00002H
@@DATA task_sys FFC64H 00002H
@@DATA pedo_alg_thre_det2
FFC66H 00092H
@@DATA ini_VECT FFCF8H 00000H
@@DATA task_status
FFCF8H 00002H
@@DATA @rom FFCFAH 00000H
@@INIT FFCFAH 0003CH DSEG BASEP
@@INIT @cstart FFCFAH 00000H
@@INIT loader FFCFAH 00000H
@@INIT pm FFCFAH 00002H
@@INIT i2c_ctr FFCFCH 00002H
@@INIT main FFCFEH 00000H
@@INIT magic FFCFEH 00000H
@@INIT WDT FFCFEH 00000H
@@INIT i2c_mcu FFCFEH 00000H
@@INIT i2c_twl FFCFEH 00000H
@@INIT led FFCFEH 00006H
@@INIT rtc FFD04H 00000H
@@INIT vreg_ctr FFD04H 00000H
@@INIT vreg_twl FFD04H 00000H
@@INIT adc FFD04H 0000AH
@@INIT renge FFD0EH 00018H
@@INIT accero FFD26H 00000H
@@INIT self_flash
FFD26H 00000H
@@INIT sw FFD26H 00002H
@@INIT task_debug
FFD28H 00002H
@@INIT task_misc
FFD2AH 00000H
@@INIT task_sys FFD2AH 00002H
@@INIT pedo_alg_thre_det2
FFD2CH 00008H
@@INIT ini_VECT FFD34H 00000H
@@INIT task_status
FFD34H 00002H
@@INIT @rom FFD36H 00000H
@@INIS FFD36H 00000H DSEG UNITP
@@INIS @cstart FFD36H 00000H
@@INIS loader FFD36H 00000H
@@INIS pm FFD36H 00000H
@@INIS i2c_ctr FFD36H 00000H
@@INIS main FFD36H 00000H
@@INIS magic FFD36H 00000H
@@INIS WDT FFD36H 00000H
@@INIS i2c_mcu FFD36H 00000H
@@INIS i2c_twl FFD36H 00000H
@@INIS led FFD36H 00000H
@@INIS rtc FFD36H 00000H
@@INIS vreg_ctr FFD36H 00000H
@@INIS vreg_twl FFD36H 00000H
@@INIS adc FFD36H 00000H
@@INIS renge FFD36H 00000H
@@INIS accero FFD36H 00000H
@@INIS self_flash
FFD36H 00000H
@@INIS sw FFD36H 00000H
@@INIS task_debug
FFD36H 00000H
@@INIS task_misc
FFD36H 00000H
@@INIS task_sys FFD36H 00000H
@@INIS pedo_alg_thre_det2
FFD36H 00000H
@@INIS ini_VECT FFD36H 00000H
@@INIS task_status
FFD36H 00000H
@@INIS @rom FFD36H 00000H
@@DATS FFD36H 00000H DSEG UNITP
@@DATS @cstart FFD36H 00000H
@@DATS loader FFD36H 00000H
@@DATS pm FFD36H 00000H
@@DATS i2c_ctr FFD36H 00000H
@@DATS main FFD36H 00000H
@@DATS magic FFD36H 00000H
@@DATS WDT FFD36H 00000H
@@DATS i2c_mcu FFD36H 00000H
@@DATS i2c_twl FFD36H 00000H
@@DATS led FFD36H 00000H
@@DATS rtc FFD36H 00000H
@@DATS vreg_ctr FFD36H 00000H
@@DATS vreg_twl FFD36H 00000H
@@DATS adc FFD36H 00000H
@@DATS renge FFD36H 00000H
@@DATS accero FFD36H 00000H
@@DATS self_flash
FFD36H 00000H
@@DATS sw FFD36H 00000H
@@DATS task_debug
FFD36H 00000H
@@DATS task_misc
FFD36H 00000H
@@DATS task_sys FFD36H 00000H
@@DATS pedo_alg_thre_det2
FFD36H 00000H
@@DATS ini_VECT FFD36H 00000H
@@DATS task_status
FFD36H 00000H
@@DATS @rom FFD36H 00000H
FSL_DATA FFD36H 00010H DSEG UNITP
FSL_DATA fsl_common
FFD36H 00010H
@@INITL FFD46H 00000H DSEG UNIT64KP
@@INITL loader FFD46H 00000H
@@INITL pm FFD46H 00000H
@@INITL i2c_ctr FFD46H 00000H
@@INITL main FFD46H 00000H
@@INITL magic FFD46H 00000H
@@INITL WDT FFD46H 00000H
@@INITL i2c_mcu FFD46H 00000H
@@INITL i2c_twl FFD46H 00000H
@@INITL led FFD46H 00000H
@@INITL rtc FFD46H 00000H
@@INITL vreg_ctr FFD46H 00000H
@@INITL vreg_twl FFD46H 00000H
@@INITL adc FFD46H 00000H
@@INITL renge FFD46H 00000H
@@INITL accero FFD46H 00000H
@@INITL self_flash
FFD46H 00000H
@@INITL sw FFD46H 00000H
@@INITL task_debug
FFD46H 00000H
@@INITL task_misc
FFD46H 00000H
@@INITL task_sys FFD46H 00000H
@@INITL pedo_alg_thre_det2
FFD46H 00000H
@@INITL ini_VECT FFD46H 00000H
@@INITL task_status
FFD46H 00000H
@@INITL @rom FFD46H 00000H
@@DATAL FFD46H 00000H DSEG UNIT64KP
@@DATAL loader FFD46H 00000H
@@DATAL pm FFD46H 00000H
@@DATAL i2c_ctr FFD46H 00000H
@@DATAL main FFD46H 00000H
@@DATAL magic FFD46H 00000H
@@DATAL WDT FFD46H 00000H
@@DATAL i2c_mcu FFD46H 00000H
@@DATAL i2c_twl FFD46H 00000H
@@DATAL led FFD46H 00000H
@@DATAL rtc FFD46H 00000H
@@DATAL vreg_ctr FFD46H 00000H
@@DATAL vreg_twl FFD46H 00000H
@@DATAL adc FFD46H 00000H
@@DATAL renge FFD46H 00000H
@@DATAL accero FFD46H 00000H
@@DATAL self_flash
FFD46H 00000H
@@DATAL sw FFD46H 00000H
@@DATAL task_debug
FFD46H 00000H
@@DATAL task_misc
FFD46H 00000H
@@DATAL task_sys FFD46H 00000H
@@DATAL pedo_alg_thre_det2
FFD46H 00000H
@@DATAL ini_VECT FFD46H 00000H
@@DATAL task_status
FFD46H 00000H
@@DATAL @rom FFD46H 00000H
* gap * FFD46H 000BAH
MEMORY=RAM2
BASE ADDRESS=FFE20H SIZE=000C0H
OUTPUT INPUT INPUT BASE SIZE
SEGMENT SEGMENT MODULE ADDRESS
@@BITS FFE20H 00003H BSEG
@@BITS @cstart FFE20H.0 00000H.0
@@BITS loader FFE20H.0 00000H.0
@@BITS pm FFE20H.0 00000H.3
@@BITS i2c_ctr FFE20H.3 00000H.0
@@BITS main FFE20H.3 00000H.0
@@BITS magic FFE20H.3 00000H.0
@@BITS WDT FFE20H.3 00000H.0
@@BITS i2c_mcu FFE20H.3 00000H.3
@@BITS i2c_twl FFE20H.6 00000H.0
@@BITS led FFE20H.6 00000H.4
@@BITS rtc FFE21H.2 00000H.3
@@BITS vreg_ctr FFE21H.5 00000H.1
@@BITS vreg_twl FFE21H.6 00000H.0
@@BITS adc FFE21H.6 00000H.1
@@BITS renge FFE21H.7 00000H.2
@@BITS accero FFE22H.1 00000H.0
@@BITS self_flash
FFE22H.1 00000H.0
@@BITS sw FFE22H.1 00000H.2
@@BITS task_debug
FFE22H.3 00000H.0
@@BITS task_misc
FFE22H.3 00000H.3
@@BITS task_sys FFE22H.6 00000H.0
@@BITS pedo_alg_thre_det2
FFE22H.6 00000H.1
@@BITS ini_VECT FFE22H.7 00000H.0
@@BITS task_status
FFE22H.7 00000H.0
* gap * FFE23H 000B1H
@@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


View File

@ -8,7 +8,7 @@ enum pwr_state_
OFF,
ON_TRIG,
ON,
SLEEP_TRIG,
// SLEEP_TRIG,
SLEEP,
// WAKE,
BT_CHARGE,

View File

@ -5,10 +5,14 @@
//#define _FORCE_OFF_1SEC_
//#define _ALLOW_NOBATT_
//#define _FORCE_INFO_LED_FULLCOLOR_
//#define _debug_bt_irq_
//#define _DEBUG_BT_IRQ_
#define _DEBUG_BT_TEMP_
//#define _DBG_PEDO_AUTO_ENABLE_
#define _DEBUG_PM_BOMB_VOL_
#define MCU_VER_MAJOR 0x00
#define MCU_VER_MINOR 0x1C
#define MCU_VER_MINOR 0x21
//#define PM_CCIC_TIM

982
trunk/hex/bsr.0_10.TEG2.hex Normal file
View File

@ -0,0 +1,982 @@
:02000000C20438
:02000200FFFFFE
:0400100053475547B6
:02001C00D948C1
:0200240045494C
:02002A009247FB
:08003400724A2F4A6D4A4D4744
:02004A00574716
:0400C0007EFBFF853F
:0A00C400FFFFFFFFFFFFFFFFFFFF3C
:0A00CE00FFFFFFFFFFFFFFFFFFFF32
:1000D800C7FDC902C736F00071F4C6DE06713018D4
:1000E800F9EF2B51105FA8FFD1DD13713018F971AA
:1000F8000300710B2071103EFBFD6201EF1036000A
:1001080000868767D1DFFB66D1DFF6FD6201360026
:1001180000664C09DE2317F104F60FC1317B9EFD02
:10012800C411897217F104F64F14896142DF03F68E
:10013800EF01E660610786EFD867D161E8FDDB0370
:10014800FD5302EF8CC6D7717BFACEA016CEA180E4
:10015800CEA408F5AAFFF5A9FFD78F18F931350AFB
:10016800CD0003CD0306E40EEF07F400CD0306F43B
:100178000EF520FFCE23F0CE2EFCF401F402F40499
:10018800F405F406CD0740F40CF408F40FF521FF4C
:10019800CE22E9CE24FBCE25F3CE26FCCE271FCED9
:1001A8002CFFCE2FFFCE28FFF53000F53100F533B8
:1001B80000F53400CF350003CF370019F53C00F5C2
:1001C8003E00F54300F54700CF530006F55700F60B
:1001D800BEE0BEE2F5D0FFCBE4FFFFCBE6FFFFCEEB
:1001E800D4FFCEE8FFCEECFFCEE9FFCEEDFFCEEA9E
:1001F800FFCEEEFECEEBFFCEEFFFCED8FFCEDCFF7C
:10020800CE38B1CE3971F537FF7108F20090BFB41E
:10021800017138F100F54002F54102F54302F5A5F8
:10022800FFF5A6FF7158F000F530FF7128F0005077
:1002380087BF1801BF1A01BF1C01BF1E017148F01A
:1002480000F53002F5BCFFF5BDFFD7FD5B33FD4778
:100258003BFD2A2F717AFAFD88268F18F931350A65
:1002680031040009CF16F902EF03F516F9FD7934C8
:10027800FDF737FDA402FD2C46713221712BE7FDF5
:10028800C902FD4A3B31342105FD4A3BEFF7FDC960
:1002980002FDCC3BD2DFFA61EDEFE4D73102040373
:1002A800F6EF01E6603418F9718C89718999311279
:1002B8000403F6EF01E6603418F9718C8971999995
:1002C800D7CEABACD78C05318EED830C8C05318E37
:1002D800FD870CD2D7BDD831FFBDDADADAADD8ED5B
:1002E8004F0F8C05318E31AD128C04318E318D0358
:1002F800D7C72006FBF8FFFD9404301400C1300076
:1003080020F7FD0C04C0CC05048C054C14DE08FD58
:10031800CD02615905EFF2CC05048C054C14DE6B57
:10032800FDCD02CC04008C044C04DE4E3182514ACF
:10033800301AF9BC02CC0100FDC90231B2E2063123
:10034800825102EFF6713BE2AC02148E5099715063
:1003580030026179026159018C01D161E83184511F
:10036800DA304000C1FDEA02FDDD02C0D2DD06FD43
:100378001F0FE7EF5A615904EFACFDD40261E800A2
:1003880031845102EF05615905EF8F71603002CC5D
:100398000200CC03008C034C09DE248C03318E123E
:1003A80049F61F728C03318E04F64F14896142DFBF
:1003B80003F6EF01E6600E029C02615903EFD68C4A
:1003C80002D1DF08FD0D0EFD1F0FEF03FD1F0F10FB
:1003D80006C6D7FD9404300800C1300050F7FD0C64
:1003E80004C0FD1F0FF7D73184BD02EFFA717BBD42
:1003F800CBE4FFFFCBE6FFFFCBD4FFFF717ABED77C
:10040800717BBED7C7C3C12006FBF8FF8C109C05C3
:100418008C10318E040C00128C05318EBDD813FD62
:100428003106DE63FDC9028C05318EFD7F0CD2DDFD
:1004380005FDCD02EFF1CC04008C044C04DE3ECC6B
:100448000300301AF9BBAC06148C089EFD118972A2
:10045800AB146299AC06A1BC066179006159038CA2
:1004680003D1DFE2304000C1FDEA02FDDD02C0D267
:10047800DD06FD0804E7EF10615904EFBCFDD40266
:10048800DFFB615905EF89F7100AC6D7717B9D71AB
:100498007BFAFDEF03301AF9FD320DFDBD0CF7D7DD
:1004A800FD9404FD0804FD0C0ECEABAAF7D7CEFAD6
:0A04B8000630D00061DDC161FCD701
:1004C20061CF5100718C7109FECBF800FEFC4F0127
:1004D20000F6BF00F953C0F693935820FEDFF941AE
:1004E2000036744B3474FCEF05118B99A7A51744A1
:1004F200BA4BDFF53602F93074FCEF04CC0000A7EA
:1005020047DFF9410036FC2034BAFCEF05118B9924
:10051200A7A51744FC20DFF536BAFC30BAFCEF047D
:10052200CC0000A747DFF9FCD80000EFFEC361DD75
:10053200717BFABEF0ADD8BEF200DBF6FFADDCBED9
:10054200F000AEF6BDD8AEF40312ADDABEF200AEE4
:10055200F661CD03BDDAC2D7C3F33174D90883C1C2
:10056200F626D8BDD8C0317505C312F623C2FD7B6D
:100572000593DF0312F623C2D7440000DD2761DDB5
:10058200717BFACFE80080BEF6F6BEF4BEF2ADD8BB
:10059200BEF0CFE800818FE8003103FAAFE000F54A
:1005A200E80061CDD7ADD8D7C3F33174DB0F83C177
:1005B200F626D8BDD861317026DABDDAC031750DA4
:1005C20083C312F626DCBDDC61317023C2FDE30574
:1005D20093DF0CF626D8BDD861317026DABDDAC2B7
:1005E200D7C161686BDC6BDDC0DD2F61DD717BFA29
:1005F200CFE80080BEF4ADDCBEF6ADD8BEF0ADDA19
:10060200BEF2CFE800818FE8003103FAAEF0BDD828
:10061200AEF2BDDAF5E80061CDD7F6BDD8BDDAD7C6
:1006220006DABDDAADDC06D8BDD861D8A6DAD7467F
:10063200D8DD0771FF7177D971C0D75BDB9DDB60B5
:100642005BDA9DDAADDC5BD9085BD808BDD8D7C3CD
:10065200C7F3728EFDC162314C4100360020116138
:10066200A072C09EFD62C6C2D7C3C7F3728EFDC11F
:10067200625C0F0C000FFE00314C4100360A201163
:1006820061800FFE0073C09EFD63C6C2D7C5C3144E
:10069200DADCC9DC0000ADDEC1CDDF00C7F4DEFA72
:1006A200DC8DDA5C7F9DDD6BD96BD861F87112DE6F
:1006B200645C7F9DDC616B616A61F87102DE150129
:1006C200707177DB7171DE7174DA8DDB61DC4CFF86
:1006D200DD05D1DF35EF293114DE097152DEEF2A53
:1006E2003102DE06EDA408ED9F083162DEF9ED8CE1
:1006F200087122DE813104DE193152DEEAED77081B
:100702007132DE817114DE7161DE084CFFDDD1D100
:10071200DDDF3152DED83162DEE36100F161DC24DB
:100722007F00146370318C66728DDC3124DE0AB571
:1007320001311C61D8A13175F671FABDDA1337D8CF
:10074200D9E8D8F8DD618A3134DE0AB501311C619D
:10075200D8A13175F671FA35BDD81765D6BDDC154D
:1007620067D606DC377065D61C00BDDC138DDBD680
:1007720007167101DE63D8DAD6071670F11C007114
:1007820004DE1C0006DC570061D88733D8DBD603B1
:100792001261D887158DDAD6031261D88765D8DA47
:1007A200D6BDDC64D8DBD606DCBDDC65D8DBD61C66
:1007B2000061A8DC6103671BDD1ADC0061008DDCCF
:1007C2001C0031731201311C61D8A1146661DC6115
:1007D200D8A3ADD8ED0B0814ADD8A1ED0B08EADA19
:1007E20031730C94DD0901311C61D8A13175F435E6
:1007F20060EF2344EAFFDC76609133311E35311E0F
:100802003571F983DFF533EF0D71FCDCE644FF004F
:100812006168DE72DDE33172DF21618A4C80618AB8
:10082200DC19DF0633718C33DE1183DF0E3571FA8A
:1008320004010035DE054CFEDD4C817174DE6C0076
:1008420061FB618D71F9618C618B618A9DDCF4DEE3
:1008520061F8A4DE7174DF61D8D7C6D4DE61E8FD29
:10086200AF0815BDDA13BDD8C0BDDEC2C4D7510270
:10087200EF047173DEF17174DE9DDEF6EF15F4DCC8
:10088200EFD25104EF055103EF01F17174DE9DDEE9
:100892003080FE61FB14F73172DFE3EFB7CDDE0586
:1008A200EF02F4DE34FF7F3172DFD3EFA78EFC70EC
:1008B2008EFDC1C5C3ADDE315E041A20320000C315
:1008C200C1D8DEF1C1AEF8FCD90800C0C0C0C2C4B4
:1008D200C09EFD609EFCD71489728A049EFDAA0206
:1008E2001411894C40DD0E624C0430020061C830A4
:1008F2000100BF00F9D77C80C5C314DADCC9DC0073
:1009020000ADDEC1CDDF03ED1B09C5C314DADCC9BE
:10091200DC0000ADDEC1CDDF02C7F4DEFADC8DDA29
:100922005C7F9DDD6BD96BD861F87112DE645C7FF0
:100932009DDC616B616A61F87102DE15017171DE25
:10094200707174DA8DDB61DC7177DE7161DE4CFF10
:10095200DD08D1DD407172DDEF423114DE097152E2
:10096200DEEF393102DE03EDA4083154DE1F3164BB
:10097200DE1BED9F08813104DE313142DE07EADA07
:10098200DAD867EF093164DE04517F6155669DDC78
:10099200F4DEED5608817114DE7141DE084CFFDD94
:1009A200C23152DED9D1DDCD7172DC3142DEDE617F
:1009B20028DD13DE0B4CE1DCC57CFF817180EF0684
:1009C2004C20DEC96100BDDAADD8EADC37618A337A
:1009D200618E37618CDC12DD1E37311E35311E35DA
:1009E20071F9B4DBDFF437EF0E33311E33311E33CE
:1009F20071F9B4DBDFF433353164DE2845DF0537C6
:100A02004337DD1ADE0A352533273361D8B1EF0BC0
:100A12007ADE80253723121761D8B1EDE007ED7435
:100A220008ED880833073308611C08611DDEEC4AB3
:100A3200DAFEDDEDA4DA33311E33311E71FA337181
:100A4200F933EFD7C5C314DADCC9DC0000ADDEC16F
:100A5200CDDF01C7F4DEFADC645C7F9DDC616B6193
:100A62006A61F87112DE8DDA5C7F9DDD6BD96BD81D
:100A720061F87102DE1501707177DB7171DE7174DC
:100A8200DA8DDB61DC4CFFDD05D1DF3CEF30310478
:100A9200DE097142DEEF313112DE06EDA408ED9F70
:100AA200083142DEF9ED77083162DE0C7132DE8107
:100AB2003114DE1C3162DEE6ED8408ED8C08712211
:100AC200DE817104DE7161DE084CFFDDCAD1DDDC3E
:100AD2003142DEE73162DECD6120F13C00047F006D
:100AE200146370318C66728DDC3134DE0AA50131FB
:100AF2001C61D8A13175F671FABDDAADD80833BDE3
:100B0200D867618A708DDD3124DE0AB501311C613E
:100B1200D8A13175F671FA35BDDC3000013600001E
:100B22003546DA35DF043346D833DE04B6DCEF125D
:100B3200510361D831050B3526DA353326D83361B6
:100B4200D8B5311C350861DC0861DC35DC0C354672
:100B5200DA35DF043346D83371C061DC0861DC0862
:100B6200370861DC0861DC37DECA08121714ADDC15
:100B7200ED0B087ADB80D7C5C3C18DDA71FA73F841
:100B8200D9ADDA01F04C9FDE622C7FDC5E2C10DEE8
:100B92001F8133DD05311E83DFFB3174DB0914F65F
:100BA2002312F62561D8B3BDD813BDDAC0C2C4D7AB
:100BB2002C08DE163383F8D8DD0B311E618A61FB07
:100BC200618A83DFF5618A08EFD02C07758DD8DD45
:100BD2000D311E33311E3371F985DFF5EFBC3174EF
:100BE200DB09311C03DC045380DDBCF7F6EFB8C52A
:100BF200C3C18DDA71FA73F8D9ADDA01F0DC144CA5
:100C02009E61D8ED8B0BDF0B8DD8BDD813BDDAC03A
:100C1200C2C4D7F6BDDABDD8EFF5C5C3C1ADDADAC5
:100C2200D831750914F62312F661D8B125ED3B0CC3
:100C3200C5C3C1ADDADAD8F4DB0361C8DD3B2355A5
:100C42009E31730A9501311C61D8A13175F6618A12
:100C52004C80618ADC11DF0633718C33DE0983DF5D
:100C62000604010061D8857174DB3561FB9DDB658B
:0D0C720071F99DDA637064BDD8C0C2C4D7AB
:100C7F005208EF065203EF025206FEE600FE1B007B
:100C8F00DC16089F03088F0408089F040862FE24DF
:100C9F0000089F0408EEBF00EEBA00C1C514410E54
:100CAF0011D9D0FF118FD1FF312E45C4C0D7F231EA
:100CBF00A2C401E2D79DE261DD4C09DF12717BFA1C
:100CCF00C18F06089FC9FCC0CF060800EE27003170
:100CDF00F2FA04CF0608004C00DF05D50008DD1638
:100CEF0061DD717BFAD50608DD0ACDE31F61CD61A9
:100CFF00CDEE160061CDFED40061FFFE9A00FCF828
:100D0F00FF0EFEB20061CDFED5004C09DF0EC18F84
:100D1F0006086FC9FC9F0608C0EE0400CF06080046
:100D2F00F8E3D75200EF025202FE3700CFC8FC00A3
:100D3F00CF060800BF0408C716629F0008410011C4
:100D4F008F26259B4100118F27259F0108C6510033
:100D5F00FE62FFEF025205CF060800C1510CFE0ADA
:100D6F0000C0D7C1511DFE0200C0D761DD717BFAF3
:100D7F0070CEC0A59EC47CFF9EC4609EC461CDD7BB
:100D8F0061DD717BFAC18EC45C1BFED6FFCF0608F6
:100D9F0001FED7FFC061CDD731F2FA1AC1AEE4BF61
:100DAF00BAFCAEE6BFBCFCAED4BFBEFC30FFFFBE8C
:100DBF00E4BEE6BED4C0D731F2FA11C1AFBAFCBE61
:100DCF00E4AFBCFCBEE6AFBEFCBED4C0D7C1BFC053
:100DDF00FC13BFC2FC15BFC4FC17BFC6FCC0D7AF06
:100DEF00C0FCDBC2FCEBC4FCFBC6FCD7534B305240
:100DFF005430324E323030475631323000FFC1500E
:100E0F00FEFEAB0061DD717BFACF060800FE0A0023
:100E1F00FEA4FF61CDF8E3EECF00C7FB0408BFBA15
:100E2F00FC8FC0009C05C5C337040600BFBCFC3552
:100E3F0036710E300000522BFE6600C2C4C6301F42
:100E4F000EB800300000B8022004AFBCFCB8003070
:100E5F000F00B802AFBAFC61FF520AFE3AFFECF87E
:100E6F00FF0E717BFAC1C7FB04088C05C65C80FEC0
:100E7F000200C0D761DD717BFA70CFC0FFA59FC0A4
:100E8F00007CFF9FC000609FC00061CDD7618BFECB
:100E9F00E2FF717BBE410011FB000017CEFC006129
:100EAF00CB089EFDF31161C999A58392DFF7D7FE99
:100EBF00B1FED5C8FCDF23C1CF0308035109FEF4EF
:100ECF00FDC0D2DF37FE3800A20408CF0308075158
:100EDF0009FEE1FDD2B20408DF22C7FB040831830B
:100EEF0002C6D7C6510AFECCFD624C1FDF06CFC823
:100EFF00FC01EF04CFC8FC00C0EE5BFEC0EE55FE58
:100F0F00C7C1FB04088B31196C0161589BC0C6D750
:100F1F00717BFAFE4DFEAF0408040600C114368340
:100F2F000E300000522DF3FE77FF8FC000FE2BFE18
:100F3F0061CF5C807C8073C0041900CEFC0F61CB45
:100F4F00C55404EF03C55417FE18FEC7360008BB7F
:100F5F00629C0288089C03D1DD334C41DE2F70F177
:100F6F00312DB161090033081C000851FF612A417E
:100F7F000E118FD0FF613B118FD1FF6138DC0E8BCB
:100F8F005C03DF0964C6C4FE2BFDEECAFDC6C4EECA
:020F9F00C3FD90
:0A0FF60031363A30383A3139000044
:0A20000000060C12181E242A3036C8
:10200A00001632486480961228446076920824406A
:10201A004040666D756C0000404066646976000059
:10202A004040666164640000404066737562000067
:10203A00404066636D70000061636F7300000000CA
:10204A006173696E000000006174616E0000000037
:10205A006174616E32000000636F7300000000005B
:10206A0073696E000000000074616E0000000000D9
:10207A00636F73680000000073696E6800000000F7
:10208A0074616E680000000065787000000000004E
:10209A0066726578700000006C64657870000000F4
:1020AA006C6F6700000000006C6F67313000000041
:1020BA006D6F646600000000706F7700000000001A
:1020CA0073717274000000006365696C000000009F
:0E20DA00666C6F6F72000000666D6F64000030
:1020E8007B5DCFBFA8D6E43FDCEF1AA192C031D008
:0420F80021409705E7
:0A21000031363A30383A3139000028
:10210A0001020203030200FEFBF7F3F0F0F3FA0404
:10211A001225384D5F6E777A776E5F4D3825120437
:10212A00FAF3F0F0F3F7FBFE0002030302020100E8
:10213A000000000000000000000000000000000095
:10214A000000000000000000000000000000000085
:10215A000000000000000000000000000000000075
:10216A000000000000000000000000000000000065
:10217A000000000000000000000000000000000055
:10218A000000000000000000000000000000000045
:10219A000000000000000000000000000000000035
:1021AA000000000000000000000000000000000025
:1021BA000000000000000000000000000000000015
:1021CA000000000000000000000000000000000005
:1021DA0000000000000000000000000000000000F5
:1021EA0000000000000000000000000000000000E5
:1021FA0000000000000000000000000000000000D5
:10220A0000000000000000000000000000000000C4
:10221A0000000000000000000000000000000000B4
:10222A00000000000000000000000000000000ADF7
:10223A0030AE70B000B300B470B5A0B780BA00BBBE
:10224A0090BD00BE00BFF0C300C5C0C800CAC0042C
:10225A000012000C10240010D01BF00AF008E00C49
:10226A00F008C008B007F00B0005D0020009000012
:10227A000000000000000000000000000000000054
:10228A000000000000000000000000000000000044
:10229A000000000000000000000000000000000034
:1022AA00000000000000000000000000000000AD77
:1022BA0030AE70B000B300B470B5A0B780BA00BB3E
:1022CA0090BD00BE00BFF0C300C5C0C800CAC004AC
:1022DA000012000C10240010D01BF00AF008E00CC9
:1022EA00F008C008B007F00B0005D002000900870B
:1022FA009A99993E0000003F01020203030200FE80
:10230A00FBF7F3F0F0F3FA041225384D5F6E777A93
:10231A00776E5F4D38251204FAF3F0F0F3F7FBFEFF
:10232A00000203030202010001020203030200FE8B
:10233A00FBF7F3F0F0F3FA041225384D5F6E777A63
:10234A00776E5F4D38251204FAF3F0F0F3F7FBFECF
:10235A00000203030202010001020203030200FE5B
:10236A00FBF7F3F0F0F3FA041225384D5F6E777A33
:10237A00776E5F4D38251204FAF3F0F0F3F7FBFE9F
:10238A00000203030202010001020203030200FE2B
:10239A00FBF7F3F0F0F3FA041225384D5F6E777A03
:1023AA00776E5F4D38251204FAF3F0F0F3F7FBFE6F
:1023BA00000203030202010001020203030200FEFB
:1023CA00FBF7F3F0F0F3FA041225384D5F6E777AD3
:1023DA00776E5F4D38251204FAF3F0F0F3F7FBFE3F
:1023EA0000020303020201F6DA6E940001020203FC
:1023FA00030200FEFBF7F3F0F0F3FA041225384D5E
:10240A005F6E777A776E5F4D38251204FAF3F0F033
:10241A00F3F7FBFE000203030202010001020203BA
:10242A00030200FEFBF7F3F0F0F3FA041225384D2D
:10243A005F6E777A776E5F4D38251204FAF3F0F003
:10244A00F3F7FBFE0002030302020100010202038A
:10245A00030200FEFBF7F3F0F0F3FA041225384DFD
:10246A005F6E777A776E5F4D38251204FAF3F0F0D3
:10247A00F3F7FBFE0002030302020100010202035A
:10248A00030200FEFBF7F3F0F0F3FA041225384DCD
:10249A005F6E777A776E5F4D38251204FAF3F0F0A3
:1024AA00F3F7FBFE000203030202017F7E7D7C7BC1
:1024BA007A797877767574737271706F6E6D6D6CE8
:1024CA006B6A696867666564636261605F5E5D5CCA
:1024DA005B5A59585756555453525151504F4E4DB5
:1024EA004C4B4A49484746454443420001020203CD
:1024FA00030200FEFBF7F3F0F0F3FA041225384D5D
:10250A005F6E777A776E5F4D38251204FAF3F0F032
:10251A00F3F7FBFE000203030202010008010102B5
:10252A000203030200FEFBF7F3F0F0F3FA041225AC
:10253A00384D5F6E777A776E5F4D38251204FAF35D
:10254A00F0F0F3F7FBFE00020303020201000102AE
:10255A000203030200FEFBF7F3F0F0F3FA0412257C
:10256A00384D5F6E777A776E5F4D38251204FAF32D
:10257A00F0F0F3F7FBFE000203030202010001027E
:10258A000203030200FEFBF7F3F0F0F3FA0412254C
:10259A00384D5F6E777A776E5F4D38251204FAF3FD
:1025AA00F0F0F3F7FBFE000203030202010001024E
:1025BA000203030200FEFBF7F3F0F0F3FA0412251C
:1025CA00384D5F6E777A776E5F4D38251204FAF3CD
:1025DA00F0F0F3F7FBFE000203030202010001021E
:1025EA000203030200FEFBF7F3F0F0F3FA041225EC
:1025FA00384D5F6E777A776E5F4D38251204FAF39D
:10260A00F0F0F3F7FBFE00020303020201000000F0
:10261A0000001F003B005A0078009700B500D40064
:08262A00F300110130014E0123
:10263200506CED032E710300710B20D771130071E2
:102642001B20D730FA00ED213DC1506CFDED2CC0AE
:1026520062D772344FFB89616A99D7C1E6A1C15032
:1026620084FDCB2D1004D7AF0EF92414001231FFD4
:1026720033BDD813BDDAD7300700C1E6A1C15084FB
:10268200FDCB2D1004D7C72008FBF8FFF519F93050
:102692009600FD213D305400BB17C1E6A1C150FE9A
:1026A200C1FD32261006304000BB17C1E6A1C15061
:1026B20006C1FD32261006D2DD0A71004AFBE51979
:1026C200F9EDC027304057BB17C1E6A1C1503EC14A
:1026D200FD3226100617040300C1300400C1500C5D
:1026E200C1506CFD5C2D100630D4C0BB17C1E6A1F1
:1026F200C1500EC1FD32261006F690BB17C1E6A1ED
:10270200C1500CC1FD32261006716201300900FD74
:10271200EC3A6231DEB1609C077163013134200210
:10272200EFFA7122208C07318EF723DD0A24030091
:10273200DD0B240400EF06CF19F902EF2E34392104
:10274200C5304000C1C1FD322610068FF9229F0319
:10275200F9DBFC22AFFA22BF04F933BF06F9DB0032
:1027620023AFFE22BF08F933BF0AF930C800FD21AA
:102772003D30D4C0BB17C1E6A1C1500EC1FD322607
:10278200100630C800FD213D300400FD4B269C0799
:102792004C6DDD0A8C074C6EDD048C074C6F170400
:1027A2000300C1300400C1500CC1FD32261006F6F0
:1027B200BB17C1E6A1C1503EC1FD3226100671729F
:1027C20001300800FDEC3A629F02F930D727FD8AFA
:1027D2003B1008C6D7C7C1FBF8FF8F0CF94F02F9AF
:1027E200DD477122028F02F9318EF7BDD813BDDAAF
:1027F200FD1C0CC9DCCDCC30DF42FD8F06C9DC00EC
:1028020000308043FD460AADD8BDDCADDAC9D866DA
:10281200E6C9DAA242FDF808FD790BADD8BF0EF980
:102822008F0EF99F46FB712302D574FCDF7971226A
:10283200024046FB15DC25FD6926FD1C0CAF04F9A0
:10284200BDDCAF06F9FD8F06FD750B3172DB05FDB0
:10285200F10BEF03FD790BADD8BBEF23FD6926FD2C
:102862001C0CAF08F9BDDCAF0AF9FD8F06FD750B34
:102872003172DB05FDF10BEF03FD790BADD8BBD94E
:1028820003F9F1610900BB318D086E0108BB7123A8
:102892000217C1E6A1C1500CC1FD32261006D2DFDB
:1028A200068F02F99F0CF9A074FCF7C0C6D7C7FDCA
:1028B2007926301100FD213D300F00FD5D263003E9
:1028C20000FD213D301F00FD5D26301600FD213D3B
:1028D200560166D1DD1071704BFBE6A1C15013FDAC
:1028E200AD37C0716307716307CF10F90317F11297
:1028F200C6D7C7716207D510F9DD3C301400FD5A06
:1029020029344BFB895C9F998A0C7CFF50FF5C1435
:10291200D1DD1D8A0C7CFF5C14FD5426710A2356FE
:1029220000310203058666D1DFF7710303710B23C1
:10293200345EFB895CEB99716207F510F9FD79262B
:10294200303300FD213DF6FD5D2671784BFBE6C17B
:102952005013FDAD37C0C6D7C7C1C1FBF8FFCC01CC
:10296200008C025C20D1DD0C710010F98C016C200E
:102972009C01EF118C025C10D1DD0A710810F98CF8
:10298200016C109C018C025C08D1DD0C711010F9F5
:102992008C016C089C01EF118C025C04D1DD0A7180
:1029A2001810F98C016C049C018F4BFB5C9F72D94F
:1029B20010F9F1316D14D910F9F1314D616D0861E1
:1029C2006C5C606162629F4BFB8F57FB7CFF50FF28
:1029D2005E01D1DD218F57FB7CFF5E01FD54267124
:1029E2000A23CC0000310203076159008BD1DFF5C5
:1029F200710303710B23D510F9DD06300A00FD21A6
:102A02003DD910F9F1C15004C15084FDCB2D100401
:102A1200F71004C6D7C7D93FFBF1C15006C1508495
:102A2200FDCB2D10046276D940FBF1C15007C15095
:102A320084FDCB2D100462616617F112C6D7FD1713
:102A42002AF7D7C7FD3726FD3E2671030E715207BE
:102A520030A000FD213D7153075663664C05DE032D
:102A6200E7EF24669F47FB71020E710A20711A205C
:102A7200306400FD213D3102000CFD3726FD3E266B
:102A820071030EE7EF01F7C6D731040018FD3726B0
:102A9200FD3E2671030E715207FD4526FD4526FDBA
:102AA2004526715307FD3726FD3E2671030EF7D7E3
:102AB2008F75FCB075FCD161E8ED592BCF75FC80A8
:102AC200710407E6613012F6710420611043DD2BB8
:102AD200710407E661306061FB7101203104200F4F
:102AE20071304BFBE6A1C15011FDAD37C0EF0C7147
:102AF200384BFBE6C15011FDAD37C04046FB366195
:102B0200D8E576FC4046FB02DC094046FB2C61D846
:102B1200F576FC4076FC01DF0C4046FB02DC064009
:102B220046FB2CDC0BD576FCDF0B4046FB36DE0584
:102B3200712304EF037122043112050671404BFB2D
:102B4200EF0471484BFB31120503E6EF01F66061B9
:102B5200FB714102FD0E2CD7C757008F11F9763059
:102B62001000C150A4FDED2CC0629F11F9D521FBCC
:102B7200DD04F7ED0C2C717BFA667F11F95C08D14C
:102B8200DD1E8F11F95C08D1DF0C301000C150122C
:102B9200FDAD37C0EF0A302000C15012FDAD37C085
:102BA200667F11F95C04D1DD1E8F11F95C04D1DF5F
:102BB2000C300400C15012FDAD37C0EF0A300800DE
:102BC200C15012FDAD37C08F11F95C40D1DD09E66D
:102BD200A1C15012FDAD37C08F11F95C01D1DD08E2
:102BE200E6C15012FDAD37C0717AFA8F11F95C411E
:102BF200D1DD163411F9895CBE99D911F9F1C150B0
:102C020010C150A4FDCB2D1004F7C6D7C7C1FBF8E5
:102C1200FF8F4AFB5C01D1DF2217C1E6A1C1A1A14E
:102C2200C1506CFD5C2D10068B9F47FB8C019F48A9
:102C3200FBE6A1FD4B269F49FBEF04CF47FB634018
:102C420047FB05DE03E6EF01F6F1C15012C150A4C5
:102C5200FDCB2D1004C0C6D7FDB028F7D7FDF42850
:102C6200F7D7C78F5EFB7617F1FD5A29664F5EFBD9
:102C7200DFF1F55EFBF7C6D77140F00071783002E4
:102C8200713AE6713BE2713AEA713BEE5A06FCCFC9
:102C920034024AE552FF711A52710A5271483002E7
:102CA2007130300271203002CF330205CF32020A76
:102CB2007130310271203102713BE6717030028E47
:102CC200265CFC9E26D7717830027148F000D7311D
:102CD2008EED982E300400BF2401D7300400BF22AD
:102CE20001D78B318EFD822ED2D7D7C7C1C1FBF857
:102CF200FF31422003FD2A2F3134200300EFF97106
:102D02003220F521FB8C02318EFD822ED2DD0ACFDC
:102D120021FB02713320F7EF3D8C0AFDD12CFDE13E
:102D22002E8C026C01FDD12CFDD62C301740BF1C1D
:102D320001FDDD2CF6BF2A01710BE2CE44FF318288
:102D4200E202EFFA8E449C01FD0A2F710BE271330D
:102D5200208C01318E121004C6D7C7C1FBF8FF3197
:102D6200422003FD2A2F3134200300EFF971322073
:102D7200FDE42CDD07713320E7A3EF4A8C08FDD177
:102D82002CFDE12E8B6C01FDD12CFDD62C30174091
:102D9200BF1C01FDDD2C8C0A91DF04F6BF2A0171F4
:102DA2000BE2CE44FF3182E202EFFAAC0C148E4405
:102DB2009961790C61690A8C0AD1DFDAFD0A2F71F7
:102DC2000BE2713320F7C0C6D7C7C1FBF8FF31420F
:102DD2002003FD2A2F3134200300EFF971322071D4
:102DE2000AE6FDE42CDD06713320E7EF118C08FDC5
:102DF200D12C8C0AFDD12CFD0A2F713320F7C0C6CD
:102E0200D7C7C1FBF8FF31422003FD2A2F313420FE
:102E12000300EFF9713220710AE6710BE2FDE42C36
:102E2200DD09713320717AFAE7EF52710BE2312238
:102E32002039C7341AFBAC0C1652048B99A5A79201
:102E4200DFF9C63184BD02EFFA717ABDCEB144CB4F
:102E5200B41AFB8C0A318EBEB8CEBB48714BE171FD
:102E62004BE5710ABD8C089E44EF118C089E44719B
:102E72000BE68C0A9F20FBAC0CBF1EFBF7C0C6D72B
:102E8200C716FDBC2E17F1FD982ED2DD06FD0A2FC6
:102E9200E7EF01F7C6D7C716710AE6710BE2669E25
:102EA200443182E20300EFF9F6420401DD09AF0486
:102EB20001BF0C01E7EF01F7C6D7AF2801085CFBA1
:102EC20008BF2801FDEC2CAF28015CFBBF280130B4
:102ED2000400BF2A01301780BF1C01FDDD2CD7AFD3
:102EE2002401086C0408BF2401AF28016C0F086C90
:102EF2000B08BF2801FDEC2CAF2A01085CFB08BFC0
:102F02002A01FDEC2CEDBC2EFDD62CF6BF2A013099
:102F12000B0BBF2801FDEC2C300B0FBF2801FDEC81
:102F22002C300F0FBF2801D7710BBD0000717BBD84
:102F32007132057120F000FDEC2CF6BF2601502401
:102F4200BF1401CB440018300F0FBF28017133208A
:102F5200712320710BE2710AE6FDBC2ECE44FF31D3
:102F620082E202EFFAFD0A2FAF0401BF0C017142A7
:102F720020D731342002EFFAFDE12E71330571289A
:102F8200F000714320D7D7D7F1E7240000D7D964E6
:102F9200FBF1BE66D7D964FBF1BE6AD7D964FBF1F7
:102FA200BE64D77100F200304400BFB60130018820
:102FB200BF9001300984BF9E01BF9C01BF9A01BF2F
:102FC2009801BF9601BF9401BF9201F53CFF30FE0C
:102FD20000BFBE015004BFBC01F6BFB80150EEBF36
:102FE200BA01A1BFB201C918FE008F18F931350725
:102FF200F565FBCB6CFF00D730EF00BFB401F6BF25
:10300200BA017108F200D7D965FBFD8A2FDD1123C1
:10301200DD4423DD3D23DD1F23DD3F23DD44EF3689
:103022008F16F9318F240300DD09240200DF3AFDF7
:10303200DD30D7FD6C30D7F6426CFF61E8E612AEA8
:103042006C23BE6CF6426EFF61E8E612AE6E23BEE2
:103052006ED7FDDD30D7FD6C30D7F6BE6CCB6EFF80
:1030620000D7CB6CFF00F6BE6ED74047FB03DE17DE
:10307200A022FB4022FB7FDE07F6BE6CBE6EEF068F
:10308200D964FBF1BE6ED74047FB0CDE27F6426CDB
:10309200FF61E8B26CFFD964FBF1426EFFDD3BD900
:1030A20064FB12AE6E43DE03E6EF02F6B112AE6EC1
:1030B20003BE6ED7D964FBF1426CFFDD14D964FB09
:1030C20012AE6C43DE03E6EF02F6B112AE6C03BE43
:1030D2006CF6426EFF61E8B26EFFD7D523FBDD04CA
:1030E200B023FBD7CF23FB0AAE6E4228FBDD13AF22
:1030F20028FB426EFFDE05B26EFFEF06AE6EA1A1A7
:10310200BE6EAE6C4226FBDD13AF26FB426CFFDEC9
:1031120005B26CFFEF06AE6CA1A1BE6CD924FBF127
:10312200F734020023DD0625DD0325DF1F4047FBC0
:103132000CDE0CF6BF26FBD964FBBF28FBEF1FD9C0
:1031420064FBF1BF26FBF6BF28FBEF124047FB0CE6
:10315200DE07E6A1BF28FBEF05E6A1BF26FBAE6CAA
:103162004226FBDF0AAE6E4228FB61F8A024FBD7A1
:103172008F2AFBB02AFBD1DF714066FB02DF0D31E3
:10318200C4D00C714BD0CF2DFB02EF03F52DFBD930
:1031920066FBFD8A2FDD0623DD0D23DD14F6BE66F8
:1031A200F52CFBF52BFBD7FD902FF52CFBF52BFB1C
:1031B200D7D52DFBDD2DD92CFBF1E734020023DD21
:1031C2000625DD0325DF05F6BE66EF03FD902FA081
:1031D2002CFB402CFB20DF06F52CFBB02DFBCF2A6D
:1031E200FB16D7FD902FCF2AFBC8D7C78F2EFBB077
:1031F2002EFBD161E8EDB332D969FBFD8A2FDD09DF
:1032020023DD1223DD1B23DD43F6BE6AF530FBF519
:103212002FFBEDB332FD972FF530FBF52FFBEDB30E
:1032220032D930FBF1E734020023DD0625DD032528
:10323200DF05FD972FEF03F6BE6AA030FB4030FB9F
:103242001061F8F530FBCF2EFB32EF65CF2EFB3C41
:10325200D52FFBDD08F6BE6AF52FFBEF54D930FB04
:10326200F1BDD85004FD5A0501087208D930FBF1AE
:10327200312F04F1231489318FD2DD040192DFFC56
:10328200605CC076D1DF05F530FBEF03A030FBE5D3
:103292002FFB665C80D1DD0FFD972F665C40D1DD90
:1032A20010CF2EFBB4EF0A665C40D161F8CF2EFB43
:1032B200B4C6D7D532FBDD04B032FBD7D967FBFDEC
:1032C2008A2FDD0F23DD1A23DD1023DD5523DD29AF
:1032D20023DD3AF6BE64F57AFCD7FD9E2FF57AFC23
:1032E200D7D57AFCDF08FD9E2FE57AFCEF06F6BE05
:1032F20064F57AFCCF32FBFAD7D57AFCDF0BFD9E60
:103302002FE57AFCCF32FBFAD7F567FBD7D57AFCEB
:10331200DF0BF6BE64E57AFCCF32FBFAD7CF67FB50
:1033220002D7D9A3FBFD8A2FDD0923DD2523DD0A80
:1033320023EF1FF6BE64F57AFCD7D57AFCDF08FDD1
:103342009E2FE57AFCEF06F6BE64F57AFCCF32FBDF
:10335200FAD7FD9E2FE57AFCD7C736F00071F4DC70
:10336200297170F000CE9D08CE9EC0CE9F80F5924E
:10337200FFF593FFCE9415E596FFF595FFCE9711D5
:10338200CE9809CE9C7F71003EFB711BE3712BE34B
:10339200711AE7712BE7717A9D710A9E31929E0232
:1033A200EFFA710B9E715320716320717320C6D79F
:1033B200C73152201E715220710A9E31929E02EF35
:1033C200FA346CFB3692FF52078B99A5A792DFF96C
:1033D200710B9EC6D7C7880616316220157162200E
:1033E200C73434FB3092FF1652078B99A5A792DFA0
:1033F200F9C66673671834FBC6D7C77153203164A8
:10340200201E716320710A9E31929E02EFFA34925D
:10341200FF3634FB52078B99A5A792DFF9710B9EF9
:1034220031742013717B9E8F74FB9E9A8F75FB9E65
:103432009B716320717A9EC6D7667367183CFBD76F
:10344200349FFB89616899D772667362183CFBD717
:10345200318EC117F1243000FDD733C0D7675C3FEE
:1034620072667362183CFBD75C3F318EC117F12440
:103472003000FDD733C0D7CF64FBFFF53CFBCF3D17
:10348200FB10CF3FFB5CCF40FB5FD7C788061666B9
:103492004C6061C8ED1F3717F1E73402002561F86F
:1034A200ED7A35B12361E3ED8735B12361E3ED9325
:1034B200352361F8ED993524110024050061D8ED1A
:1034C200B83524030061F8EDBE352361F8ED04360A
:1034D2002361F8EDD5352361F8ED0D37B1240400F1
:1034E20061D8ED623624000061F8ED6E36B1240534
:1034F2000061D8ED7436252361E3ED7D362361F852
:10350200ED86362361F8ED8D362361F8ED9636238C
:1035120061F8ED9D362361F8EDA5362361F8EDAB38
:10352200362361F8EDB2362361F8EDBD362361F83A
:10353200EDC5362361F8EDCA362361F8EDD23624A3
:10354200040061F8EDD7362361F8EDE2362561F823
:10355200EDED362361F8EDF2362407002403006115
:10356200D8EDFD3624000061F8ED02372524100065
:1035720061D8ED6836ED1F37FD3B345CC0316A9F80
:10358200A1FBED1F3730402AFD8A3BFD3B34ED1F86
:1035920037FD3B34ED1F37FD3B344041FB6ADF13FF
:1035A2004042FB68DF0D4C6CDF09305043FD8A3B23
:1035B200713AE6ED1F37FD3B34ED1F3717F1043C3E
:1035C200FB1489616F9967D1DD06309340FD8A3B18
:1035D200ED1F37675C02D1DD08305A2CFD8A3BEFC4
:1035E2000C675C01D1DD06305F2CFD8A3B675C3CD9
:1035F200D1DD0C675C3CFD4A3430642CFD8A3BED26
:103602001F3767D1DD575C01D1DD05300800EF01BE
:10361200F6609F9FFB675C02D1DD03E6EF01F6FDDA
:103622004234675C04D1DD04E6A1EF01F6FD4234C9
:10363200675C08D1DD05302000EF01F6FD423467FA
:103642005C10D1DD05301000EF01F6FD4234675CFD
:1036520020D1DD05304000EF01F6FD4234ED1F3789
:10366200FD3B34ED1F37FD3B34ED1F37FD3B34EDA1
:103672001F37675C0FFD4A34ED1F37675C7FFD52D1
:1036820034ED1F3767FD6A34ED1F37675C07FD5263
:1036920034ED1F3767FD6A34ED1F37675C1FFD523B
:1036A20034EF7A67FD5234EF74FD3B349E99EF6D2F
:1036B200675C7FFD4A34717220EF62FD5F34717284
:1036C20020EF5AFD5F34EF55675C1FFD4A34EF4D22
:1036D200FD3B34EF48FD3B3430FF3DFD8A3BEF3D7F
:1036E200FD3B3430B83DFD8A3BEF32FD3B34EF2DDC
:1036F200FD3B3430DB3DFD8A3BEF22FD3B34EF1DC9
:10370200675C01D1DD17FD2C46EF12FD3B34318E93
:10371200247200DD0524050061F8CEABAAC6D7C726
:1037220016664C30DC094C37DE05FDB233EF5166CC
:103732004C02DF118FA1FB5C03318E316D086F3EAD
:10374200FB0812EF4D664C4FDF06FD4D46F3EF428C
:10375200664C3DDF0CAE90BF9CFBD99CFBF112EF97
:1037620031664C3EDF07D99DFBF112EF25664C7F97
:10377200DF0E30EE40FD8A3B713AE6324A00EF122C
:10378200664C60DC0532EE00EF086673093CFB31E3
:103792008E12C6D7C71617F1241000240500DE09C1
:1037A2006672383CFB00710221C6D7717BFAC7C131
:1037B200C1FBF8FF8C02730944FB5E0AD1DF248C43
:1037C20002318E043CFB14896E0A99710A23CC01E2
:1037D20000310203086159018C01D1DFF471030346
:1037E200710B231004C6717AFAD7675C0372667391
:1037F20062189EFBD7CFA1FB03D7C788061617F125
:10380200E734020025DD2F23DD1725DD1923DD0531
:1038120023DD1BEF2D304000C15012FDAD37C0EF4C
:1038220021FDEC37EF1CFDEC37FDB532EF1466736A
:1038320067189EFBEF0C6791DF08E6C15012FDADE1
:1038420037C0C6D7C71617F1E7240000DD0F23DD06
:1038520061240300DD0C24FB00DD6CEF60323500D7
:10386200EF664047FB5BDC06CFA2FB0FEF3240471F
:10387200FB4CDC06CFA2FB0BEF264047FB33DC06FA
:10388200CFA2FB07EF1A4047FB1ADC06CFA2FB03CD
:10389200EF0E4047FB06DC05E5A2FBEF03F5A2FBBA
:1038A20031120505308000EF01F6086FA2FB081205
:1038B200EF168F9FFBF59FFB318E12EF0B6673099C
:1038C2009EFB318E12EF01F7C6D7C71617F1E72418
:1038D2000000DD3C241000DD1C23DD1C23DD34242C
:1038E2000E00DD18241100DD18240F00DD1824302D
:1038F20000DD18EF23E7EF22E7A3EF1E320400EF0B
:1039020019320500EF14320600EF0F320700EF0AFA
:10391200F7EF07320300EF02F792C6D7D9AEFBF1F9
:10392200312FD7706131FDBA4B1344020071FED7BB
:1039320049B524318EC15013C150A4FDCB2D1004C2
:10394200D7C78F92FCB092FCD161E8ED983AE5922C
:10395200FC31122103ED793A4016F90361E8ED7961
:103962003A8FAFFB2FB3FBFD2539DC118FAFFB9FE5
:1039720044FB8FAFFB9FB3FBF5B4FBEF5F8FB3FB51
:103982004FAFFBDE05A0B4FBEF0B8FAFFB4FB3FBDA
:1039920061D8B0B4FBB093FCD593FCDF3F8FB4FB8E
:1039A2007C804CA0DC0E8FB4FB7C804CC0DE05A07A
:1039B200B3FBEF1B8FB4FB318F44E10071FEDE0FCE
:1039C2008FB4FB318F44C10071FE61C8B0B3FB8F6D
:1039D200B3FB9F44FBCF93FC20F5B4FB8F44FB9FCA
:1039E20041FB8FAFFB9F42FB8FAEFB2FB5FBFD254B
:1039F20039DC418FAEFB9FB5FBFD1E39609F45FB55
:103A0200D9AEFBF1313F609FA4FBFD1E3912FD329E
:103A120039F690F9AEFBF3231231FF31EE03312F69
:103A22001249B524318EC1F6C15050FDCB2D100480
:103A3200CFB6FB64B0B6FBD5B6FBDF118FAEFB9FF2
:103A4200B5FBFD1E3912FD3239CFB6FB64D968FBD6
:103A5200F1E7240000DD1A23DD0523DD0AEF12D988
:103A620064FBF1BD1AEF0DD944FBF1314FBD1AEFE2
:103A720003F6BD1A7113217150F000CE301BCF171F
:103A82000006CE31060000000000000000717A300E
:103A9200710BE3710BE7C6D7C7168B728C01614AB3
:103AA200DE248B728C02614ADE168C01728C0261FA
:103AB2004ADE068C01318EEF048C02318E12EF2821
:103AC2008B318E12EF228B728C02614ADE068B31B1
:103AD2008E12EF148C01728C026142DE068C01316F
:103AE2008EEF048C02318E12C6D7C716710AE771A7
:103AF2000BE37150F000717B30CE3023CF170006FC
:103B0200669E310000000000000000717A30710BE7
:103B1200E73182E302EFFA8D1F7158F000318E1205
:103B2200C6D7F0317E12E678C4FBD78C01F0317E25
:103B320004C4FB14A96168D78C03F0317E04C4FB72
:103B420014A96168D7ED753BC731222104313421B4
:103B52001F7133217123215600664C0BDD1272F363
:103B6200311C7994FCCEFC0061CAFDCC3B86EFE9A6
:103B7200F7C6D7C75600664C08DE0BF0317E12F648
:103B820078C4FB86EFF0C6D7C7C1C1FBF8FFCC01F2
:103B9200008C014C08DE2DFD2D3BDD0AA961490296
:103BA200DF1D00E7EF208C014C08DE10FD2D3BDF0E
:103BB20006AC02B9F7EF0F615901EFEAE7EF0761CF
:103BC2005901EFCD00E71004C6D7C72004FBF8FF68
:103BD200CC02FFCC03008C034C08DE42FD3A3BDDF5
:103BE20024A9E743DF0300EF308C0372F3311C7921
:103BF200C4FBCEFC0061CAD2DF058C03FD243B8CE2
:103C0200039C02EF146159038C034C08DE10FD3A49
:103C12003B61E800615903EFEF615903EFB88C0291
:103C22008161F8ED143DF642C6FB61E800CC01006B
:103C3200CC00018B4C0861C8EDC93C717BFA8C0148
:103C4200F0317E1279C4FBE743DF628BF0317E04F0
:103C5200C4FB14A96168DF348C014DDE0F8C01F0C6
:103C6200317E12F678C4FB615901EFEC6159008B89
:103C72004C08DE138BF0317E04C4FB14A961686129
:103C8200E800615900EFE8717AFAEF3B8BF0317E80
:103C920004C4FB14A9E743DD1DA9128C01F0317E97
:103CA2003378C4FB8BFD243B615901EF09FD2D3BA9
:103CB20061F800615901717AFAFD2D3BDF0300EFD3
:103CC20006615900ED353C717BFACC00008B4C0843
:103CD200DE3D8BF0317E04C4FB14A96168DF1C0059
:103CE2006159008B4C08DE278BF0317E04C4FB1433
:103CF200A9616861E800615900EFE88BF0317E0448
:103D0200C4FB14A9E743DF02F6B9615900EFBE71A3
:103D12007AFA8C0281DD03E7EF01F71004C6D7C7F8
:103D2200C1C1FBF8FFFDC9028C02D1DD126169023B
:103D3200305C03BBF6614900DDEE618900EFF510EE
:103D420004C6D7C1300600C150A8C15030FD5C2D59
:103D52001006D7C72006FBF8FF3481FBC5300600EA
:103D6200C150A8C15030FD5C2D1006D2DD0D347C4F
:103D7200FB895CFC99FDFF3DF7EF378F7CFB5C0113
:103D8200D1DD174016F903DF11301000C1A1FDADDE
:103D920037C031240F0417FD453D4016F901DD11EE
:103DA2004016F906DD0B8F7CFB5C02D161E8FD7ADF
:103DB20043F71006C6D7D97DFBF1C15030FDED2C7B
:103DC200C0629F80FB71304DFB8F55FB5C08D1DFD9
:103DD20006710303710B23F7D7D980FBF1C1D97F99
:103DE200FBC15030FDCB2D100471304DFB8F55FBC4
:103DF2005C08D1DF06710303710B23F7D7C7200AD2
:103E0200FBF8FF300F00C15030FDED2CC04021FB0C
:103E120002DF0771104AFBF7EF3F71184AFBCC072C
:103E220000CC0802CC09808F7CFB5C03D1DF05CC7F
:103E32000607EF03CC062F17040600C1300400C1A9
:103E420050A0C15030FD032E100631240F0A401637
:103E5200F903DF0417FD453DF7100AC6D730040009
:103E6200C15010FDAD37C0D7300800C15010FDADB4
:103E720037C0D78F16F9318FF723DD07240200DD13
:103E820010EF17F5D4FBF5D6FBF5D5FBF5AAFCEF41
:103E9200097152217162217172218FABFCB0ABFCAE
:103EA200D161E8ED943FCFABFC088F16F9318FE773
:103EB20034020023DD0A25DD07252361F3ED543F9B
:103EC2003134071140D4FB02DC2640D4FB26DE202D
:103ED200FD5F3EEF1B40D4FB25DF05FD6A3EEF1080
:103EE20040D4FB94DF0ACF65FB04F516F971322149
:103EF2008F4CFB5C02D1DD15A0AAFC40AAFC0DDCB4
:103F02000FCF65FB04F516F9713221EF03F5AAFC18
:103F12008F19F9318FE7B12361C30871040271016E
:103F220022EF037102223104221140D5FB02DC147C
:103F320040D5FB26DE0EFD5F3EEF0940D5FB256135
:103F4200F8FD6A3E40D6FB01DF08301000C1FDAD2E
:103F520037C031340708715321F5D4FBEF153154C2
:103F62002105F5D4FBEF0CA0D4FBD5D4FB61F8CF2F
:103F7200D4FBFF31440707717321F5D6FBD73174A7
:103F82002104F5D6FBD7A0D6FBD5D6FB61F8CFD658
:103F9200FBFFD7C74016F902DF0E308000C1500880
:103FA200C15050FDCB2D1004C6D7C72004FBF8FF2B
:103FB2004016F903DD064016F905DF218F45FB9C0B
:103FC200038F44FB9C028F7CFB9C018E929B17C14A
:103FD200300400C1F6C15044FD032E10061004C681
:103FE200D7C1506CFDED2CC0629E50D7C7D5AEFC38
:103FF200DD06B0AEFCED9140CFAEFC0231140706F7
:1040020071104BFBEF0471184BFB4016F903DD06F0
:104012004016F905DF798F4BFB7FDAFB76D1DD4E57
:104022008F4BFB9FDAFB665C10D1DD1E8F4BFB5C76
:1040320010D1DD0C308000C15011FDAD37C0EF0A48
:10404200304000C15011FDAD37C0665C02D1DD1EAB
:104052008F4BFB5C02D1DD0C304000C15010FDAD36
:1040620037C0EF0A302000C15010FDAD37C08F7C41
:10407200FB5C03D1DD0E31240F0A30553DFD8A3B36
:10408200D261F80031220707305A2BFD8A3B00C665
:10409200D78F5CFB5C0FD1DD4E8F5CFB5C01D1DD09
:1040A20005F516F9EF418F5CFB5C02D1DD0F710360
:1040B20000710B20711300711B2071030E8F5CFBCA
:1040C2005C08D1DD0571030EEF0E8F5CFB5C04D141
:1040D200DD06711300711B20300500FD213D7102C8
:1040E2000E710A20711A20F55CFBF7D7C731845193
:1040F20002EF66319451047140300231B2E203E7BB
:10410200EF66713BE28F12F9A012F9318EE72400BB
:1041120000DD0E23DD1223DD1C23DD2C23DD31EF38
:10412200388F19F99E50EF2EF6C15084FDED2CC048
:10413200629E50EF21716201300900FDEC3A62315A
:104142005A9E50716301EF0E300800FDE33FEF0607
:10415200300900FDE33FE7EF0F7160300271483034
:1041620002713BE6F512F9F7C6D7C15005C150847A
:10417200FDCB2D1004D78F16F9318FE72400006193
:10418200F8ED814223DD212361F8ED0D422361F830
:10419200ED4C422361F8ED5B422361F8ED66422368
:1041A20061F8EDD942ED1A438F17F9318F240200DD
:1041B200DD26D5D4FBDD05F5B0FCEF03A0B0FC8F06
:1041C200B0FC01DE07F516F9713221D740D4FB03AA
:1041D20061D8ED1D43E517F9F5B0FCFD2A2FFD88E6
:1041E20026FD452AD2DD0A713221FD742FF516F91A
:1041F200D7FD172A7163074017F901DF05F565FB43
:10420200EF04CF65FB03CF16F902D7FDA52FCF37F9
:10421200001DFD7A2C8F3EFB5C02D1DD0A3080004E
:10422200C15010FDAD37C0FD892F714A9DF537FF92
:10423200F517F9713221CBE43FEFCBE6F6F0CED49D
:10424200EF713818F9CF16F903D7FD1E4331040C6C
:1042520007CF16F904713221D7300F00FD6C41CF20
:1042620016F905D7FD1E4331020C13300800FD6C10
:1042720041300500FD213DCF16F902713221D7CF21
:1042820065FB03F6426CFFDF05426EFF61E8D7FD76
:10429200FA2FFDC82CFD882F714B9DF54CFBF54D77
:1042A200FBF54EFBF54FFB716207CF350003CF37AD
:1042B2000019FD8B2ACE3708CBE4BFFFCBE6FFF116
:1042C200CED4FFF6BEE0BEE2BED0F5B0FCCF16F90A
:1042D20006F5D4FBF5D6FB3102071F71720140D4FB
:1042E200FB04DE0C40D6FB04DE064017F902DF2B8E
:1042F200E516F9713221713AE7D771730131949E53
:1043020002EFFAFD742F712AE761FD712BE7E516C2
:10431200F9713221713AE7D700EFFDD73102002956
:10432200F642DCFBDF27E6BFDCFBF6C15004C150DE
:1043320084FDCB2D10048F4BFB5C9F9F4BFB7110B8
:104342005CFB309340FD8A3BD7F6BFDCFBD7FDF91F
:1043520002F7D7BDD8F6BDDAD7F303FDBA4B13D7B0
:10436200ADD8BDDCADDABDDED7DADEC3BDDCF6BD6D
:10437200DEFD2F05C0BDDED7C72024FBF8FF8F82EC
:10438200FBF0F981FBFD5B43BC048F84FBF0F983F6
:10439200FBFD5B43BC028F86FBF0F985FBFD5B43B3
:1043A200BBAC04FD5543AC04311EBDDCF6BDDEFDE5
:1043B2002F05FD6243AC02FD5543AC02311EDADC2F
:1043C200C3FD6B43C0BDDCADDEFD2206FD6243AB27
:1043D200FD5543AB311EDADCC3FD6B43C0BDDCAD22
:1043E200DEFD2206FD1C0CDADAADD8FCC24B00C39E
:1043F200C58F6CFC5C3FF0317E04ECFB14C2C0BD87
:10440200D813BDDA3172DB05FDF10BEF03FD790B39
:10441200ADD8B9A06CFCF6BC20BC229C1F8C1F4CF2
:104422002EDD3C8F6CFC0E1F70F161DC605C3FF096
:10443200317E1279ECFBFD55438C1F7309E825315F
:104442008FBDDC70BDDEFD2F05AC20BDDCAC22FDD6
:104452002206ADDABC22ADD8BC2061591FEFBEAC3A
:1044620020BDD8AC22BDDAC9DC0004F6FDAA05C91C
:10447200DCFFFFF6FD3D06ADD8BFE4FBAFDEFB423D
:10448200E4FBDD12AFE0FBBFE2FBAFDEFBBFE0FB14
:10449200AFE4FBBFDEFBAFE0FB42E2FBDC50AFDE92
:1044A200FB42E0FBDE48AFB2FC42DEFBDE4040E610
:1044B200FB16DC1F40E6FBA0DE168FE7FB4FE6FB98
:1044C200DE0EAFDEFB22E8FB44691061C8FD394510
:1044D200F5E6FBAFDEFB445146DC0BAFDEFB2410FE
:1044E20027BFB4FCEF1930F82ABFB4FCEF1140E645
:1044F200FBFFDD03E6EF01F634E6FB89610899AFC5
:10450200E2FB42E0FBDC1BAFE0FB42DEFBDE13AF73
:10451200DEFB42B4FCDE0BF5E7FBAFDEFBBFE8FBE4
:10452200EF1140E7FBFFDD03E6EF01F634E7FB891D
:104532006108991024C6D7C72006FBF8FFA087FBA5
:10454200D587FBDF1CA088FBD588FBDF14A089FB85
:10455200D589FBDF0CCF87FBFFCF88FBFFCF89FB21
:10456200FF717BFA710A9E31929E02EFFA8E98FDDC
:1045720051069C038E949FB6FC8E969FB7FC8E9735
:104582009FB8FCFDDF4613BC048FB9FC4E03DF125B
:10459200AF70FC614904DE41AC042270FCFD0E46A2
:1045A200EF378C03318EB112D9B9FCF143DF1F8C86
:1045B200035C0391DF03E6EF01F6046D01313D1266
:1045C20001032270FC610904BBFD0E46EF0B8FB99B
:1045D200FC4E03DE04F6FD0E468C039FB9FCAC04D0
:1045E200BF70FCD96EFCF101041AF914A944FFFF53
:1045F200DF04E6B9EF12D96EFCF101041AF914A92D
:1046020044FEFFDD03A9A1B91006C6D7C716174499
:104612000001DC02F616A06EFCF96EFCF3311CF60A
:10462200781AF9B7F647DFEEC6D7C7560066F031FB
:104632007E12F6B1781AF99666D1DFF1F587FBF5AD
:1046420088FBF589FBC6D7711322D7C72004FBF874
:10465200FFD912F9F1E7240000DD1123DD1E23DD6D
:104662002523DD2C23DD3723DD3CEF428F6EFC9FBB
:1046720072FCA012F9D9B6FCF112EF5DA012F9D9C1
:10468200B7FCF112EF53A012F9D9B8FCF112EF49BD
:10469200A012F98FB9FCFD6B06318E12EF3BA0120E
:1046A200F9325500EF33A012F932AA00EF2BF9725A
:1046B200FCF3311C791AF9BB311222058B9C03EFF2
:1046C200078C019C03B072FC718071172261DC615E
:1046D200FB7111228C03318E121004C6D7C720063B
:1046E200FBF8FF8E98FD51069C038E97FD51069CA8
:1046F200028E96FD51069C018E94FD51069B710B14
:104702009E717AFA8C02F0317E12791826BC048CE2
:10471200035C03D1DF158C024C03DE0C8C024C02CD
:10472200DF098C014C1D61F86179048C01318EB175
:10473200610904BC04313D120103BC048C040D70F8
:0B4742008C051C00BC04121006C6D73A
:10474D0061FC61FC61FC61FC61FCC1C3C5C7520C1D
:10475D00929269D4FEC1DFF88EFD708EFCC14016B9
:10476D00F903DF09717AFA305A2BFD8A3BC09EFCA2
:10477D00609EFD34D4FE5206C0B9A5A592DFF9C6E0
:10478D00C4C2C061FCC1C3C5C7520C929269D4FEAC
:10479D00C1DFF88EFD708EFCC1717AFA31A25141E4
:1047AD00F578FC71483002716030023104212671B8
:1047BD000A23710321D54CFBDF0FD54DFBDF0AD545
:1047CD004EFBDF05D54FFBDD0C31020302EFFA7115
:1047DD000303710B23FD4946FDFC33F512F9EDC1C1
:1047ED00483184510DF578FC71483002FDFC33EDF4
:1047FD00C148319451154078FC03DD0C4078FC0420
:10480D00DD064078FC0161F8F578FCD978FCF1E71C
:10481D00240000DD0823DD1323DD35EF5271403018
:10482D0002E578FC71503002EDC1488E509F13F9AE
:10483D00D913F9F1FD2137629F15F94013F97FDD89
:10484D0006CF78FC02EF03F578FC71503002EF646F
:10485D003194511731C45106CF78FC03EF11F5781F
:10486D00FC7148300271603002EF49CF78FC044092
:10487D0078FC03DF0E8F15F99E50D913F9F1FD96D3
:10488D0037EF118E507617F1C1D913F9FD8D34C064
:10489D00715030024013F94FDD094013F97F61E883
:1048AD00A013F94078FC03DF0BD913F9F1FD213783
:1048BD00629F15F9C09EFC609EFD34D4FE5206C069
:1048CD00B9A5A592DFF9C6C4C2C061FCC1C3C5C7F5
:1048DD00520C929269D4FEC1DFF88EFD708EFCC130
:1048ED00F616717AFA714AE5717BBD51405F04018C
:1048FD00D1DD05A7F647DFF3300400BF2401F6BF75
:10490D002A01300B0BBF2801FDEC2C300B0FBF28FB
:10491D0001FDEC2C300F0FBF2801710AE671332019
:10492D00C09EFC609EFD34D4FE5206C0B9A5A59272
:10493D00DFF9C6C4C2C061FCC1C3C5C7520C929297
:10494D0069D4FEC1DFF88EFD708EFCC1717AFAD587
:10495D0020FBDD0EEB1EFB899E44A21EFBB020FB4F
:10496D00EF2B710AE6300400BF2401F6BF2A013097
:10497D000B0BBF2801FDEC2C300B0FBF2801FDECFC
:10498D002C300F0FBF2801712320713320C09EFCE6
:10499D00609EFD34D4FE5206C0B9A5A592DFF9C6BE
:1049AD00C4C2C061FC00EFFD61FC00EFFD61FC00C5
:1049BD00EFFD61FC00EFFD61FC00EFFD61FC00EF20
:1049CD00FD61FC00EFFD61FC00EFFD61FC00EFFD02
:1049DD0061FC00EFFD61FC00EFFD61FC00EFFD618E
:1049ED00FC00EFFD61FC00EFFD61FC00EFFD61FCE3
:1049FD0000EFFD61FC00EFFD61FC00EFFD61FC00CF
:104A0D00EFFD61FC00EFFD61FC00EFFD61FC00EFCF
:104A1D00FD61FC00EFFD61FC00EFFD61FC00EFFDB1
:104A2D0061FCC18F76FB4F96FFDF328F77FB4F977F
:104A3D00FFDF2A8F78FB4F98FFDF228F55FB5C0439
:104A4D00D1DF1A71204DFB710303710B234016F951
:104A5D0006DD064016F90161F8CF17F902C061FCB9
:104A6D0071222161FCC1C3C5C7520C929269D4FE5B
:104A7D00C1DFF88EFD708EFCC1717AFA8E31318EE8
:104A8D00E7240600DD0923DD1D23DD3123EF49D9A0
:104A9D00C0FBF104B7FB148D1F9930B7FBFD9A3A9B
:104AAD00629FAFFBEF32D9C0FBF104BAFB148D1F2F
:104ABD009930BAFBFD9A3A629FAEFBEF1BD9C0FB52
:104ACD00F104BDFB148D1F9930BDFBFD9A3A629F19
:104ADD0002F930D727FD8A3B4031FF08DD08A031B0
:104AED00FF717201EF1C7158F00071730171122189
:104AFD0040C0FB02DF03F6EF05D9C0FBF1A1609FBB
:104B0D00C0FBC09EFC609EFD34D4FE5206C0B9A50C
:104B1D00A592DFF9C6C4C2C061FCC1C3C5C7520CA2
:104B2D00929269D4FEC1DFF88EFD708EFCC1717A50
:104B3D00FA8F7CFB5C03D1DD164016F903DD0640D0
:104B4D0016F905DF0A31240F0630553DFD8A3BC0AD
:104B5D009EFC609EFD34D4FE5206C0B9A5A592DF21
:074B6D00F9C6C4C2C061FCDF
:104B74000000000000000000753E4339B22A0930ED
:104B84007231ED31B532EE3F953FAC3F78410020B4
:104B9400753E4339B22A09307231ED31B532EE3FF8
:104BA400953FAC3F78410000000000000000983AB7
:064BB400F82A23301299DB
:104BBA00317503F7332312D7C73314F4DCCDDF8002
:104BCA00FC2A4C00CDDF16ECD54B00C64ADE02DECD
:104BDA003815014CFFDD290361C8DD241571FB4A34
:104BEA00DC80DC17DF08618A718C618ADE0D82DF66
:104BFA000A83DF07A5A144807FDE0B448000DC0125
:104C0A00D7CDDE01EF03CDDE03EDAF08F10361C8B6
:104C1A00DD03F4DED73174DEF934FF7FCDDE05D74C
:104C2A00159DDE010361C8DDE9234CFFDDDE31722B
:104C3A00DEE7D1318EDF11C9DA807EBDD89DDDFD78
:104C4A009F0615317E247E0036E820247C00553EDE
:104C5A00311FDE04A136F220C151806174C5C38DB3
:104C6A00DCC1410011ABBDD811AC02BDDA118C0810
:104C7A009DDDC7FD9F06C611AC04BDD811AC06BDAB
:104C8A00DA118C099DDDFD1C0920046ADF03FC4C46
:104C9A004D00FCD84C00FD9F06FC2D4D00FD9F06E3
:104CAA00C9DAC03FC9D80000F4DD51806175FD1C26
:104CBA0009FC154D00FD9F06B4DF4ADF80DFCFFCFB
:104CCA002D4D00FD9F06100AC0317D0514D715BD74
:104CDA00DA13BDD88DDC9DDDD7C9DA803FC9D8008B
:104CEA0000F4DDD7118C019DDD11AC02BDD811ACE9
:104CFA0004BDDA1704060016D78C019DDDAC02BD8F
:104D0A00D8AC04BDDA1704060016D7A806BDDAA87F
:104D1A0004BDD888089DDDD7A80C14A80A128809F2
:104D2A009DDCD7A80CBDDAA80ABDD888099DDDD7B5
:104D3A00A80635B806A80433B804880861A8DC9820
:0D4D4A0008D715B80613B8048DDC9808D7FB
:0A4FF60031363A30383A3139000004
:00000001FF


File diff suppressed because it is too large Load Diff

1021
trunk/hex/bsr.0_10.TS.hex Normal file

File diff suppressed because it is too large Load Diff

1021
trunk/hex/bsr.0_10.hex Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

911
trunk/hex/bsr_0.12_CTTS.hex Normal file
View File

@ -0,0 +1,911 @@
:020000002805D1
:02000200FFFFFE
:04001000BC47BE47E4
:02001C00644935
:02002400D049C1
:02002A003D4A4D
:08003400914B4E4B8C4BA84C84
:02004A00C047AD
:02005A00FB4762
:02006200564CFA
:0400C0007EFBFF853F
:0A00C400FFFFFFFFFFFFFFFFFFFF3C
:0A00CE00FFFFFFFFFFFFFFFFFFFF32
:1000D800C72004FBF8FFCEABACC736F00071F4C6FE
:1000E800DE06713014F9EF368EA89C035C90D1DDE2
:1000F800148C035C10D1DD07716A27711096FA71B0
:100108003014F9EF16CC0200CC0100615902615994
:10011800018C01D1DFF88C02D1DFF0FD8E01CC0219
:1001280000CC03008C034C09DE2B8C03318E04F6C3
:100138000FC1317B9EFDC41189728C03318E04F688
:100148004F14896142DF03F6EF01E6600E029C025C
:10015800615903EFCF40F64FFF61F86159028C02F5
:10016800D161E8FD1904FD6202EDDE001004C6D776
:10017800717BFACEA016CEA180E5F300CEA408F5D7
:10018800AAFFF5A9FFD78F14F931350ACD0003CDA1
:100198000307F40EEF07F400CD0306F40ECE20FF9C
:1001A800CE23F0CE2EFCF401F402F404F405F40698
:1001B800CD0740F40CF51005F40FF521FFCE22E928
:1001C800CE24F7CE25F2CE26FCCE275FCE2CFFCE4E
:1001D8002FFFCF1105FCF53000F53100F53300F5A0
:1001E8003400CF350003CF370019F53C00F53E0049
:1001F800CF120511CF530006F55700F6BEE0BEE258
:10020800BED0CBE4FFFFCBE6FFFFCBD4FFFFCE3859
:1002180031CE3971CF38050AF53905F537FF710840
:10022800F20090BFB401F5A5FFF5A6FF7158F000E4
:10023800F530FF7128F0005087BF1801BF1A01BFC1
:100248001C01BF1E017148F000F53002710801055C
:10025800F55005F5BCFFF5BDFFD7FD112EFD803625
:10026800FD2B2D717AFA8F14F9313516300300C140
:100278005084FD2D2BC0625C01D1DD09CF12F9023B
:10028800EF03F512F9FDF12EFD8B33FDBC02FD3DA8
:1002980042712221712BE7CEABACFD83363124218C
:1002A80005FD8336EFF7CEABACFD1737D2DFFA6129
:1002B800EDEFE4D731020403F6EF01E6603414F9F8
:1002C800718C8971899931120403F6EF01E6603463
:1002D80014F9718C89719999D7C72006FBF8FFFD2D
:1002E8000605301400C15008FD4904C0CC05048C33
:1002F800054C14DE0C8C05318EFD7208615905EF32
:10030800EECC05048C054C1461C8EDC7038C05318F
:100318008EFD7208CC04008C044C04DE7CC7364188
:10032800057184C6DC733016F9BC02F6BB31B2D154
:100338000EC73641057184C6DC05CEABACEFEE7155
:100348003BD1AC02148F4005997150500561790278
:10035800617900F0E1614900DD09C7364105718422
:10036800C6DECA304000C18C05318E31AD128C0416
:10037800318E318D03BDD831FFBDDADADAADD8FD63
:100388003E0BC0D2DD0D300800C15014FD4904C039
:10039800FDFB09615904ED1F038C05318EFD7608BC
:1003A800D2DD0D300800C15014FD4904C0FDFB0921
:1003B800C73641057184C6DC06615905ED0C037129
:1003C800605005CC0200CC03008C034C09DE248C61
:1003D80003318E1249F61F728C03318E04F64F14C6
:1003E800896142DF03F6EF01E6600E029C02615963
:1003F80003EFD68C02D1DF08FDFC09FD0E0BEF0DD3
:10040800300800C15013FD4904C0FDFB091006C6A1
:10041800D7FD0605300800C15014FD4904C0FDFC95
:1004280009ED0E0B3184BD02EFFA717BBDCBE4FF01
:10043800FFCBE6FFFFCBD4FFFF717ABED7717BBE3F
:10044800D7C7C1200AFBF8FF8C0A318E31ADC13104
:100458007B9DD4C0BC048DD49C068C129C098C1244
:10046800318E040C00128C09318EBDD813FDF106B3
:1004780061C8ED0105CEABAC8C09318EFD6E08D29A
:10048800DD098C09318EFD7208EFEDCC08008C086F
:100498004C04DE55F6BC023016F9BBAC04148C06CD
:1004A8009EFD118972AB146299AC04A1BC046179F8
:1004B80000617902F0E1614902DFE0304000C18C5F
:1004C80009318E31AD128C08318E318D03BDD83192
:1004D800FFBDDADADAADD8FD3E0BC0D2DD06FD4548
:1004E80004E7EF16615908EFA58C09318EFD7608EF
:1004F800D2DFF6615909ED6604F7100CC6D7717B97
:100508009D717BFAFD2C043016F9FD2109FDAC081C
:10051800F7D7FD0605FD0E0BFDFB09FD4504F7D7D2
:1005280061CF5100718C7109FECBF800FEFC780197
:1005380000F6BF00F953C0F693935820FEDFF94147
:100548000036AE4C345AFCEF05118B99A7A5174419
:10055800E04CDFF53602F9305AFCEF04CC0000A776
:1005680047DFF9410036E820348CFCEF05118B9900
:10057800A7A51744E820DFF5368CFC308CFCEF0487
:10058800CC0000A747DFF9FCD80000EFFE61DD7161
:100598007BFABEF0ADD8BEF200AEF661CDD7C3612E
:1005A800DD717BFABEF0ADD8BEF200DBF6FFADDC44
:1005B800BEF000AEF6BDD8AEF40312ADDABEF2005E
:1005C800AEF661CD03BDDAC2D7C3F33174D908835F
:1005D800C1F626D8BDD8C0317505C312F623C2FDB1
:1005E800F20593DF0312F623C2D7440000DD27612A
:1005F800DD717BFACFE80080BEF6F6BEF4BEF2AD40
:10060800D8BEF0CFE800818FE8003103FAAFE000F0
:10061800F5E80061CDD7ADD8D7C3F33174DB0F83CC
:10062800C1F626D8BDD861317026DABDDAC0317579
:100638000D83C312F626DCBDDC61317023C2FD5A7E
:100648000693DF0CF626D8BDD861317026DABDDAFC
:10065800C2D7C161686BDC6BDDC0DD2F61DD717BEA
:10066800FACFE80080BEF4ADDCBEF6ADD8BEF0AD82
:10067800DABEF2CFE800818FE8003103FAAEF0BDB0
:10068800D8AEF2BDDAF5E80061CDD7F6BDD8BDDA4F
:10069800D7C1F626D8BDD861317026DABDDAC0D701
:1006A80006DABDDAADDC06D8BDD861D8A6DAD7D16E
:1006B800DD17C1C3DAD89DD8ADDA311C61EEB4D8E4
:1006C800DFF8BDDA13BDD8C2C0D7D1DD1BC1C3DA8C
:1006D800DA9DDAADD8311E33311E3371F9B4DADF61
:1006E800F4BDD813BDDAC2C0D746D8DD0771FF7193
:1006F80077D971C0D75BDB9DDB605BDA9DDAADDC57
:100708005BD9085BD808BDD8D7C3C7F3728EFDC1C3
:1007180062314C41003600201161A072C09EFD621A
:10072800C6C2D7C3C7F3728EFDC1625C0F0C000F3F
:10073800FE00314C4100360A201161800FFE007323
:10074800C09EFD63C6C2D7DF1D06DC44807FDF166E
:100758007152DEEF32DF0F06D844807FDF08315454
:10076800DE3C3172DE3CC9DE0504FDC207EF46C53A
:1007780014ADDEC1657BDB5C809DDEADDA71FB35D7
:1007880071FB44807FDEC03544807FDEC86BD96B47
:10079800D86BDD6BDC0561C8DD1BADDA71FB31742C
:1007A800DE077174DBF181EF0C45ADD861F846DCEA
:1007B80061E87177DBC0BDDEC4D78EFC708EFDC1E9
:1007C800C5C3ADDE315E041A20320000C3C1D8DED5
:1007D800F1C1AEF8FCEC0700C0C0C0C2C4C09EFDA9
:1007E800609EFCD71489728A049EFDAA021411899E
:1007F8004C40DD0E624C0430020061C8300100BF7D
:1008080000F9D7C5C3C1ADDADAD831750914F623B2
:1008180012F661D8B125ED2A08C5C3C1ADDADAD818
:10082800F4DB0361C8DD3B23559E31730A95013122
:100838001C61D8A13175F6618A4C80618ADC11DFB0
:100848000633718C33DE0983DF0604010061D88525
:100858007174DB3561FB9DDB6571F99DDA6370644A
:06086800BDD8C0C2C4D7D8
:10086E005208EF065203EF025206FEE600FE1B0090
:10087E00DC16089F03088F0408089F040862FE24F4
:10088E0000089F0408EEBF00EEBA00C1C514410E69
:10089E0011D9D0FF118FD1FF312E45C4C0D7F231FF
:1008AE00A2C401E2D79DE261DD4C09DF12717BFA31
:1008BE00C18F06089F9BFCC0CF060800EE270031B3
:1008CE00F2FA04CF0608004C00DF05D50008DD164D
:1008DE0061DD717BFAD50608DD0ACDE31F61CD61BE
:1008EE00CDEE160061CDFED40061FFFE9A00FCF83D
:1008FE00FF0EFEB20061CDFED5004C09DF0EC18F9A
:10090E0006086F9BFC9F0608C0EE0400CF06080089
:10091E00F8E3D75200EF025202FE3700CF9AFC00E6
:10092E00CF060800BF0408C716629F0008410011D9
:10093E008F12239B4100118F13239F0108C6510074
:10094E00FE62FFEF025205CF060800C1510CFE0AEF
:10095E0000C0D7C1511DFE0200C0D761DD717BFA08
:10096E0070CEC0A59EC47CFF9EC4609EC461CDD7D0
:10097E0061DD717BFAC18EC45C1BFED6FFCF06080B
:10098E0001FED7FFC061CDD731F2FA1AC1AEE4BF76
:10099E008CFCAEE6BF8EFCAED4BF90FC30FFFFBE2B
:1009AE00E4BEE6BED4C0D731F2FA11C1AF8CFCBEA4
:1009BE00E4AF8EFCBEE6AF90FCBED4C0D7C1BF92F2
:1009CE00FC13BF94FC15BF96FC17BF98FCC0D7AFA5
:1009DE0092FCDB94FCEB96FCFB98FCD7534B30520D
:1009EE005430324E323030475631323000FFC15023
:1009FE00FEFEAB0061DD717BFACF060800FE0A0039
:100A0E00FEA4FF61CDF8E3EECF00C7FB0408BF8C58
:100A1E00FC8FC0009C05C5C337040600BF8EFC3595
:100A2E0036600A300000522BFE6600C2C4C6300E7D
:100A3E000AB800300000B8022004AF8EFCB80030B7
:100A4E000F00B802AF8CFC61FF520AFE3AFFECF8C1
:100A5E00FF0E717BFAC1C7FB04088C05C65C80FED5
:100A6E000200C0D761DD717BFA70CFC0FFA59FC0B9
:100A7E00007CFF9FC000609FC00061CDD7618BFEE0
:100A8E00E2FF717BBE410011FB000017CEFC00613E
:100A9E00CB089EFDF31161C999A58392DFF7D7FEAE
:100AAE00B1FED59AFCDF23C1CF0308035109FEF432
:100ABE00FDC0D2DF37FE3800A20408CF030807516D
:100ACE0009FEE1FDD2B20408DF22C7FB0408318320
:100ADE0002C6D7C6510AFECCFD624C1FDF06CF9A66
:100AEE00FC01EF04CF9AFC00C0EE5BFEC0EE55FE9B
:100AFE00C7C1FB04088B31196C0161589BC0C6D766
:100B0E00717BFAFE4DFEAF0408040600C114367266
:100B1E000A300000522DF3FE77FF8FC000FE2BFE31
:100B2E0061CF5C807C8073C0041900CEFC0F61CB5A
:100B3E00C55404EF03C55417FE18FEC7360008BB94
:100B4E00629C0288089C03D1DD334C41DE2F70F18C
:100B5E00312DB161090033081C000851FF612A4193
:100B6E000E118FD0FF613B118FD1FF6138DC0E8BE0
:100B7E005C03DF0964C6C4FE2BFDEECAFDC6C4EEDF
:020B8E00C3FDA5
:0A0FF60031343A32353A3038000049
:0A20000000060C12181E242A3036C8
:10200A00001632486480961228446076920824406A
:10201A004040666D756C0000404066646976000059
:10202A004040666164640000404066737562000067
:10203A00404066636D70000061636F7300000000CA
:10204A006173696E000000006174616E0000000037
:10205A006174616E32000000636F7300000000005B
:10206A0073696E000000000074616E0000000000D9
:10207A00636F73680000000073696E6800000000F7
:10208A0074616E680000000065787000000000004E
:10209A0066726578700000006C64657870000000F4
:1020AA006C6F6700000000006C6F67313000000041
:1020BA006D6F646600000000706F7700000000001A
:1020CA0073717274000000006365696C000000009F
:0E20DA00666C6F6F72000000666D6F64000030
:0820E800317503F7332312D711
:0A21000031343A32353A303800002D
:10210A00AD30AE70B000B300B470B5A0B780BA00FD
:10211A00BB90BD00BE00BFF0C300C5C0C800CAC0A6
:10212A00040012000C10240010D01BF00AF008E082
:10213A000CF008C008B007F00B0005D00200090037
:10214A000000000000000000000000000000000085
:10215A000000000000000000000000000000000075
:10216A000000000000000000000000000000000065
:10217A000000000000000000000000000000000055
:10218A000000000000000000000000000000000045
:10219A000000000000000000000000000000000035
:1021AA000000000000000000000000000000000025
:1021BA000000000000000000000000000000000015
:1021CA000000000000000000000000000000000005
:1021DA0000000000000000000000000000000000F5
:1021EA0000000000000000000000000000000000E5
:1021FA0000000000000000000000000000000000D5
:10220A0000000000000000000000000000000000C4
:10221A0000000000000000000000000000000000B4
:10222A0000000000000000000000000000000000A4
:10223A000000000000000000000000000000000094
:10224A00AD30AE70B000B300B470B5A0B780BA00BC
:10225A00BB90BD00BE00BFF0C300C5C0C800CAC065
:10226A00040012000C10240010D01BF00AF008E041
:10227A000CF008C008B007F00B0005D002000900F6
:10228A000000000000000000000000000000000044
:10229A000000000000000000000000000000000034
:1022AA000000000000000000000000000000000024
:1022BA000000000000000000000000000000000014
:1022CA00874D8000000000007F7F7F7E7D7C7B7AC7
:1022DA00797877767574737271706F6E6D6C6B6ADC
:1022EA00696867666564636261605F5E5D5C5B5ACC
:1022FA00595857565554535251504F4E4D4C4B4ABC
:10230A004948474645444342080101020203030281
:10231A0000FEFBF7F3F0F0F3FA041225384D5F6E76
:10232A00777A776E5F4D38251204FAF3F0F0F3F7F7
:10233A00FBFE0002030302020100000000001F006E
:10234A003B005A0078009700B500D400F300110151
:08235A0030014E01F6DA6E9429
:102362005084EDD02B301200ED9A38716307716BF7
:1023720027D7506CED022CAF08F9DB0AF9241400C0
:10238200D7300800FD5036629F02F9D77234A7FA9F
:1023920089616A99D7C1506CFD2D2BC062D730205C
:1023A20000C15011FD4C33C0D7300400C15084FD30
:1023B2002D2BC062D7C1E6C15084FDD02B1004D7AB
:1023C200C1E6A1C15084FDD02B1004D7E6C1A1A162
:1023D200C15084FDD02B1004D7300700C1E6A1C143
:1023E2005084FDD02B1004D7300300C15084FD2D42
:1023F2002BC0625C01D1D7F1BDDCF6BDDEFDA605C6
:10240200FD99065108EDD206C7FDDB23FD67233097
:102412000F00FDC223300300FD9A38301F00FDC2B9
:1024220023301600FD9A38300300C15084FD2D2B55
:10243200C0625C0176D1DD0D7170A3FAE6A1C150D4
:1024420013FD4C33C017F112C6D7C7FDAB235C0393
:10245200D1DD39301400FDB52434A3FA895C9F998B
:102462008A0C7CFF50FF5C14D1DD1A8A0C7CFF5C65
:1024720014FD8E23716A275700316207058767D1E1
:10248200DFF7FD6D2334B6FA895CEB99E6A1C15002
:1024920084FD2D2BC0D2DD11FDDB23303300FD9AEC
:1024A20038F6FDC2237178A3FAE6C15013FD4C330E
:1024B200C0C6D7C7C12004FBF8FFCC0200FDAB2386
:1024C2009C038C045C20D1DD0E8C036C019C038C7C
:1024D200026C209C02EF138C045C10D1DD0C8C0387
:1024E2005CFE9C038C026C109C028C045C08D1DDA7
:1024F2000E8C036C029C038C026C089C02EF138C02
:10250200045C04D1DD0C8C035CFD9C038C026C0426
:102512009C028FA3FA5C9F728C03318E316D148CF6
:1025220003318E314D616D08616C5C606162629F46
:10253200A3FA8FAFFA7CFF50FF5E02D1DD1F8FAF8F
:10254200FA7CFF5E02FD8E23716A27CC01003162A4
:1025520007086159018C01D1DFF4FD6D238C03D191
:10256200DD06301000FD9A388C03318EC15004C153
:10257200FD62231004F71006C6D7C7D997FAF1C136
:102582005006C1FD622310046276D998FAF1C15057
:1025920007C1FD6223100462616617F112C6D7FDFE
:1025A2007C25F7D7C72004FBF8FF711300711B20AD
:1025B200710303710205FDCE23E6FD9A38FD672300
:1025C200F6C15005C1FD62231004300F00FDB72390
:1025D200300A00FD9A38710305300800FD9A383040
:1025E2001F00FDB723FD6723FDEA23DF03E7EF3A70
:1025F200300300C1C1FD62231004710203711A206D
:10260200306400FD9A38C717A116F749CE229BA362
:10261200A75103614ADFF4C617A1C1300300C150BC
:1026220010C150A4FD022C1006F71004C6D7FDEA13
:1026320023DD12301400FDB524FD4C24303C00FD96
:102642009A38FDCE23711300711B20710303F6C16A
:102652005003C1FD62231004F7D7C72004FBF8FF23
:10266200CC02008F06F99C03301000C150A4FD2D4E
:102672002BC0629F06F9D585FADD04F7ED4227717A
:102682007BFA8C037F06F95C08D1DD108F06F95CBA
:1026920008D1DF05CC0210EF03CC02208C037F06A9
:1026A200F95C04D1DD168F06F95C04D1DF088C02D7
:1026B2006C049C02EF068C026C089C028FA2FA5CEE
:1026C200F3728F06F95C0C6162629FA2FA8FAEFA16
:1026D2007CFF50FF5E029C02D1DD22717BFA34A6A0
:1026E200FA896E0299717AFA716A27CC0100316215
:1026F20007086159018C01D1DFF4FD6D238F06F9C2
:102702005C40D1DD09E6A1C15012FD4C33C08F06F9
:10271200F95C01D1DD08E6C15012FD4C33C0717A7B
:10272200FA8F06F95C41D1DD163406F9895CBE994F
:10273200D906F9F1C15010C150A4FDD02B1004F7F5
:102742001004C6D7FD0A24F7D7FD4C24F7D7C78F4C
:10275200B6FA7617F1FDB524664FB6FADFF1F5B693
:10276200FAF7C6D78F5BFCB05BFCD1DF67CF5BFCAF
:1027720080710407E6613012F6710420611043DDB6
:102782002B710407E661306061FB71012031042086
:102792000F7130A3FAE6A1C15011FD4C33C0EF0C0A
:1027A2007138A3FAE6C15011FD4C33C071330431C4
:1027B2001205067140A3FAEF047148A3FA3112051B
:1027C20003E6EF01F66061FB7141024012F9036119
:1027D200F8FDF529D7C72008FBF8FFC736F00071CE
:1027E200D4C6DE0300EFF4FD8323300900FD50362A
:1027F200629C077163018C074CEADC06CF5AFC0726
:10280200EF4A8C074CC6DC06CF5AFC06EF3E8C071B
:102812004C9FDC06CF5AFC05EF328C074C7CDC0661
:10282200CF5AFC04EF268C074C50DC06CF5AFC032F
:10283200EF1A8C074C22DC06CF5AFC02EF0E8C07F3
:102842004C06DC05E55AFCEF03F55AFC304A57BB4F
:1028520017C1E6A1C1503EC1FD74231006D2DF218B
:102862007108A2FA405AFC07DE05F515F9EF24407B
:1028720002F904DE06CF15F902EF18CF15F903EFBE
:10288200127100A2FA4002F9F1DC05E515F9EF0335
:10289200F515F9D515F961E8ED482917040300C1CA
:1028A200300400C1500CC1506CFD5B2B100630DAB5
:1028B20020BB17C1E6A1C1500EC1FD74231006F65C
:1028C20090BB17C1E6A1C1500CC1FD7423100631A3
:1028D200242002EFFA7112208F5AFCF0312E040AE2
:1028E20021C1304000C1C1FD742310068FCA229F4E
:1028F20003F98FCB229F04F98FCC229F05F930A5D3
:1029020000FD9A3830DA20BB17C1E6A1C1500EC1D2
:10291200FD7423100630A500FD9A38300400FD979F
:10292200239C0717040300C1300400C1500CC1FDF1
:1029320074231006F6BB17C1E6A1C1503EC1FD7457
:10294200231006FD5529FD8323305529FDC336107A
:1029520008C6D7C7C1FBF8FF8F07F94F02F9DD2878
:10296200712202D902F9F1C9D8E66FFD950512303C
:102972007351231231FF33BF08F933BF0AF9D90863
:10298200F9F19F9EFA712302D55DFCDF5F7122028D
:10299200409EFA15DC16FD792361D8B3BDD813BD6C
:1029A200DAD904F9FDF923ADD8BBEF14FD7923611F
:1029B200D8B3BDD813BDDAD905F9FDF923ADD8BB1B
:1029C200D903F9F1610900BB318D086E0108BB30F2
:1029D2000097BB71230217C1E6A1C1500CC1FD745F
:1029E200231006D2DF068F02F99F07F9A05DFCF7DC
:1029F200C0C6D7C7C1FBF8FF8FA2FA5C01D161E85C
:102A0200ED9A2AE6A1FD97239FA1FA318EF7BDD850
:102A120013BDDAFD0B08C9DC6666301A43FD770781
:102A220061D305F50DF9EF21A00DF9400DF90CDF89
:102A320008F59FFAFDA023EF10400DF91BDF0ACF26
:102A4200BDFA04F512F971222117C1E6A1C1A1A1B3
:102A5200C1506CFD5B2B10068B9F9FFA8C019FA0CF
:102A6200FAD90CF9F1E7240000DD0523DD10EF1D92
:102A7200409FFA09DE26E50CF9FDA023EF1E409FD8
:102A8200FA04DE18CF0CF902FDA023EF0F409FFAE3
:102A920009DC09F50CF9EF04CF9FFA63409FFA05B0
:102AA200DE03E6EF01F6F1C15012C150A4FDD02BB6
:102AB2001004C0C6D77100010571785005713AD56E
:102AC200713BD1713ADD713BD98F10055CFC9F10CF
:102AD20005CF54054AE542057110420571004205D1
:102AE200714850057130500571205005CF530505CE
:102AF200CF52050A7130510571205105713BD571D4
:102B02007050058F11055CFC9F1105D77178500537
:102B120071080105D7D731322005E7D700EFFD3123
:102B220024200300EFF9712220F7D7C7C1C1FBF8B7
:102B3200FF17A1C1E6C18C0A318EC18C02318EFD14
:102B42005B2B1006D2DF05F585FAEF04CF85FA027A
:102B52008C01318E121004C6D7C7C1FBF8FFFD18D5
:102B62002BD2DD03E7EF648B318EFD7D2CD2DD07A6
:102B7200712320E7A3EF548C08318EFD932CFDDFE7
:102B82002C8B6C01318EFD932C300400BF2401305C
:102B92001740BF1C01300400BF22018C0A91DF04E0
:102BA200F6BF2A01710BE2CE44FF3182E202EFFA54
:102BB200AC0C148E449961790C61690A8C0AD1DFDC
:102BC200DAFD082D710BE2712320F7C0C6D7C7C109
:102BD200FBF8FFFD182B710AE68B318EFD7D2CD29E
:102BE200DD06712320E7EF158C08318EFD932C8CC6
:102BF2000A318EFD932CFD082D712320F7C0C6D714
:102C0200C7C1FBF8FFFD182BD2DD03E7EF6A710A9B
:102C1200E6710BE28B318EFD7D2CD2DD0971232012
:102C2200717AFAE7EF52710BE231122039C7347E22
:102C3200FAAC0C1652048B99A5A792DFF9C631841F
:102C4200BD02EFFA717ABDCEB144CBB47EFA8C0AE2
:102C5200318EBEB8CEBB48714BE1714BE5710ABDF6
:102C62008C089E44EF11710BE68C089E448C0A9FDF
:102C720084FAAC0CBF82FAF7C0C6D7C716FDB72CD0
:102C820017F1FD932CD2DD06FD082DE7EF01F7C603
:102C9200D7C716710AE6710BE2669E443182E203DF
:102CA20000EFF9F6420401DD09AF0401BF0C01E7B0
:102CB200EF01F7C6D7AF2801085CFB08BF2801FD6A
:102CC200172BAF28015CFBBF2801300400BF2A018B
:102CD200301780BF1C01300400BF2201D7AF24018E
:102CE200086C0408BF2401AF28016C0F086C0B08A4
:102CF200BF2801FD172BAF2A01085CFB08BF2A0180
:102D0200FD172BEDB72C300400BF2401F6BF2A01BA
:102D1200300B0BBF2801FD172B300B0FBF2801FD15
:102D2200172B300F0FBF2801D7710BBD0000717B2D
:102D3200BD713A25713A236A0E03713205713B2542
:102D4200713203713B23300A00FD9A387120F00082
:102D5200FD172BF6BF26015024BF1401CB44001AE5
:102D6200300F0FBF2801712320711320710BE27104
:102D72000AE6FDB72CCE44FF3182E202EFFAFD08EB
:102D82002DAF0401BF0C01713220D731242002EF94
:102D9200FAFDDF2C713A25713A235A0EFC71330584
:102DA200713B25713303713B237128F0007133208D
:102DB200D77140F00071783002713AE6713BE271EE
:102DC2003BEA713BEE8F10055CFC9F1005CF34028D
:102DD2004AE552FF711A52710A527148300271303B
:102DE200300271203002CF330205CF32020A713035
:102DF2003102713BE6717030028F11055CFC9F114C
:102E02000571603002D7717830027148F000D7C77F
:102E120036F00071F4DC297170F000CE9D08CE9E70
:102E2200C0CE9F80F592FFF593FFCE9415E596FFF5
:102E3200F595FFCE9711CE9809CE9C7F710096FA38
:102E4200711BE3712BE3711AE7712BE7717A9D71A4
:102E52000A9E31929E02EFFA710B9E7143207153CA
:102E620020716320C6D7C73142201E714220710AE9
:102E72009E31929E02EFFA34C4FA3692FF52078BC9
:102E820099A5A792DFF9710B9EC6D7C7880616319E
:102E9200522015715220C7348CFA3092FF16520715
:102EA2008B99A5A792DFF9C6667367188CFAC6D705
:102EB200C77143203154201E715320710A9E3192F2
:102EC2009E02EFFA3492FF368CFA52078B99A5A72D
:102ED20092DFF9710B9E31642013717B9E8FCCFAC5
:102EE2009E9A8FCDFA9E9B715320717A9EC6D7CF40
:102EF200BCFAFFCF94FA10CF95FA12CF97FA5CCFB3
:102F020098FA5FD7C7880616664C5361C8EDAA3295
:102F120017F1E73402002561F8ED0B30B12361E3CC
:102F2200ED1C30B12361E3ED2B302361F8ED343039
:102F320024110024050061D8ED573024030061F804
:102F4200ED60302361F8EDAA302361F8ED7730238C
:102F520061F8ED8A32B124040061D8ED1C312400FD
:102F62000061F8ED2531B124040061D8ED2E312441
:102F7200000061F8ED3B312361F8ED6131252361F9
:102F8200E3ED6A312361F8ED7C312361F8ED8E3196
:102F92002361F8EDA0312361F8EDB2312361F8ED40
:102FA200C4312361F8EDD4312361F8EDE0312361BE
:102FB200F8EDF0312361F8ED00322361F8ED0D32C6
:102FC2002361F8ED1A3224030061F8ED68322361BF
:102FD200F8ED23322361F8ED31322561F8ED3F320D
:102FE2002361F8ED473224070024030061D8ED5530
:102FF2003224000061F8ED5D322561F8ED70322374
:1030020061F8ED783223EDAA32675CC0316A9FED38
:10301200FA6673671894FAEDAA3230A125FDC33619
:103022006673671894FAEDAA326673671894FAED1C
:10303200AA324099FA6ADF14409AFA68DF0E674CA6
:103042006CDF0930463FFDC336713AD566736718A7
:1030520094FAEDAA326673671894FAEDAA3267D130
:10306200DD0630F73BFDC33617F10494FA1489618B
:103072006F99EDAA32675C02D1DD08304627FDC3A5
:1030820036EF0C675C01D1DD06304B27FDC3366796
:103092005C3CD1DD10305027FDC336675C3C726664
:1030A20073621894FAEDAA3267D1DD6B5C01D1DD4F
:1030B20005300800EF01F6609FEBFA675C02D1DD94
:1030C20003E6EF01F634EBFA89616899675C04D193
:1030D200DD04E6A1EF01F634EBFA89616899675CD9
:1030E20008D1DD05302000EF01F634EBFA89616882
:1030F20099675C10D1DD05301000EF01F634EBFA70
:1031020089616899675C20D1DD05304000EF01F6E6
:1031120034EBFA89616899EDAA326673671894FAFA
:10312200EDAA326673671894FAEDAA32675C0F72E1
:103132006673621894FAEDAA32D50EF9DF0BA00E6F
:10314200F96673671894FAEF16400EF98561C8E5BF
:103152000EF9D90EF9F1B1126748C0FBA00EF9665B
:1031620073671894FAEDAA32675C7F318EC117F14A
:10317200243000FD8D2EC0EDAA32675C3F318EC136
:1031820017F1243000FD8D2EC0EDAA32675C0731A5
:103192008EC117F1243000FD8D2EC0EDAA32675C7E
:1031A2003F318EC117F1243000FD8D2EC0EDAA32C1
:1031B200675C1F318EC117F1243000FD8D2EC0EDEA
:1031C200AA3267318EC117F1243000FD8D2EC0ED79
:1031D200AA32679E996673671894FAEDAA327162F1
:1031E20020675C7F726673621894FAEDAA3271628C
:1031F20020675C3F726673621894FAEDAA32675CCC
:103202003F726673621894FAEDAA32675C1F7266A7
:1032120073621894FAEDAA326673671894FAEDAAEB
:1032220032307D39FDC3366673671894FAEF793010
:103232003639FDC3366673671894FAEF6B667367A7
:103242001894FAEF63305939FDC3366673671894E0
:10325200FAEF556673671894FAEF4D675C01D1DD9A
:1032620047FD3D42EF426673671894FAEF3A667380
:10327200671894FAEF3240E4FA18DE2CE9E4FA67B0
:103282001866FAA0E4FAEF2067318E247200DD0797
:10329200240500DD0AEF0B301A05FDC336EF03CE1D
:1032A200ABAA6673671894FAC6D7C716664C30DCA9
:1032B200094C37DE05FD682EEF65664C02DF118F83
:1032C200EDFA5C03318E316D086F96FA0812EF61E8
:1032D200664C4FDF06FD5E42F3EF56664C51DF0F40
:1032E2008FE4FAA0E4FA730966FA318E12EF4266AD
:1032F2004C3DDF0CAE90BFE8FAD9E8FAF112EF319B
:10330200664C3EDF07D9E9FAF112EF25664C7FDF02
:103312000E30613CFDC336713AD5324A00EF126677
:103322004C53DC0532EE00EF0866730994FA318ED5
:1033320012C6D7C71617F1241000240500DE09664D
:10334200723894FA00717220C6D7717BFAC7C1C174
:10335200FBF8FF8C0273099CFA5E0AD1DF248C020F
:10336200318E0494FA14896E0A99716A27CC01008D
:10337200316207086159018C01D1DFF47163077171
:103382006B271004C6717AFAD7CFEDFA03D7C78834
:10339200061617F1E734020025DD3D23DD1725DD92
:1033A2002023DD0523DD29EF3B304000C15012FD13
:1033B2004C33C0EF2F675C037266736218EAFAEF50
:1033C20023675C037266736218EAFAFD0347EF141F
:1033D20066736718EAFAEF0C6791DF08E6C15012CC
:1033E200FD4C33C0C6D7C71617F1E7240000DD0F26
:1033F20023DD64240300DD0F24FB00DD6FEF637126
:103402006221323500EF66409FFA5BDC06CFEEFAAE
:103412000FEF32409FFA4CDC06CFEEFA0BEF26405C
:103422009FFA33DC06CFEEFA07EF1A409FFA1ADC56
:1034320006CFEEFA03EF0E409FFA06DC05E5EEFA40
:10344200EF03F5EEFA31120505308000EF01F608C0
:103452006FEEFA0812EF168FEBFAF5EBFA318E12D5
:10346200EF0B667309EAFA318E12EF01F7C6D7C77E
:103472001617F1E7240000DD3C241000DD1C23DDDB
:103482001C23DD34240E00DD18241100DD18240F66
:1034920000DD18243000DD18EF23E7EF22E7A3EF69
:1034A2001E320400EF19320500EF14320600EF0F4E
:1034B200320700EF0AF7EF07320300EF02F792C676
:1034C200D7C78F60FCB060FCD161E8EDFC35E560E8
:1034D200FC31022103EDE2354012F90361E8EDE22D
:1034E200358FFBFA2FFFFA706131FDE82013440299
:1034F2000071FEDC118FFBFA9F9CFA8FFBFA9FFF93
:10350200FAF500FBEF5F8FFFFA4FFBFADE05A00032
:10351200FBEF0B8FFBFA4FFFFA61D8B000FBB061F3
:10352200FCD561FCDF3F8F00FB7C804CA0DC0E8F62
:1035320000FB7C804CC0DE05A0FFFAEF1B8F00FB76
:10354200318F44E10071FEDE0F8F00FB318F44C1E9
:103552000071FE61C8B0FFFA8FFFFA9F9CFACF613B
:10356200FC20F500FB8FFAFA2F01FB706131FDE8B8
:10357200201344020071FEDE08B002FBD502FBDF1D
:10358200358FFAFA9F01FBD901FBF1313F609FF0C1
:10359200FAD901FBF1312F609F9DFAD901FBF1317C
:1035A2002F1249D222318EC15013C150A4FDD02B0B
:1035B2001004CF02FBC8D9C0FAF1E7240000DD1ADB
:1035C20023DD0523DD0AEF12D9BCFAF1BD1AEF0D96
:1035D200D99CFAF1314FBD1AEF03F6BD1A710321DE
:1035E2007150F000CE300BCF170006CE3106FD171A
:1035F2002B717A30710BE3710BE7C6D7C7168B724A
:103602008C01614ADE248B728C02614ADE168C01C7
:10361200728C02614ADE068C01318EEF048C02311B
:103622008E12EF288B318E12EF228B728C02614A3E
:10363200DE068B318E12EF148C01728C026142DE37
:10364200068C01318EEF048C02318E12C6D7C7165A
:10365200710AE7710BE37150F000CE300BCF170007
:1036620006669E31FD172B717A303182E302EFFA42
:103672008D1F7158F000710BE7318E12C6D7EDAE77
:1036820036C7311221043124211F712321711321E4
:103692005600664C0BDD1272F3311C7962FCCEFCD3
:1036A2000061CAFD173786EFE9F7C6D7C75600662D
:1036B2004C08DE0BF0317E12F67810FB86EFF0C676
:1036C200D7C7C1C1FBF8FFCC01008C014C08DE3F1B
:1036D2008C01F0317E0410FB14A96168DD0AA96136
:1036E2004902DF2600E7EF298C014C08DE198C0124
:1036F200F0317E0410FB14A96168DF06AC02B9F751
:10370200EF0F615901EFE1E7EF07615901EFBB00EC
:10371200E71004C6D7C72004FBF8FFCC02FFCC0396
:10372200008C034C08DE598C03F0317E0410FB142C
:10373200A96168DD29A9E743DF0300EF3E8C03722C
:10374200F3311C7910FBCEFC0061CAD2DF0A8C0374
:10375200F0317E12E67810FB8C039C02EF1D61595A
:10376200038C034C08DE198C03F0317E0410FB1429
:10377200A9616861E800615903EFE6615903EFA1AD
:103782008C028161F8ED8D38F64212FB61E800CCC3
:103792000100CC00018B4C0861C8ED4238717BFA04
:1037A2008C01F0317E127910FBE743DF678BF03139
:1037B2007E0410FB14A96168DF348C014DDE0F8C8E
:1037C20001F0317E12F67810FB615901EFEC61597C
:1037D200008B4C08DE138BF0317E0410FB14A961C0
:1037E2006861E800615900EFE8717AFAEF528BF0F4
:1037F200317E0410FB14A9E743DD2BA9128C01F0E2
:10380200317E337810FB8BF0317E12E67810FB614B
:103812005901EF128C01F0317E0410FB14A961688A
:1038220061F800615901717AFA8C01F0317E04105D
:10383200FB14A96168DF0300EF06615900ED9737B9
:10384200717BFACC00008B4C08DE3D8BF0317E049C
:1038520010FB14A96168DF1C006159008B4C08DE63
:10386200278BF0317E0410FB14A9616861E80061C6
:103872005900EFE88BF0317E0410FB14A9E743DF17
:1038820002F6B9615900EFBE717AFA8C0281DD034A
:10389200E7EF01F71004C6D7C7C1C1FBF8FFCEABF3
:1038A200AC8C02D1DD12616902305C03BBF6614966
:1038B20000DDEE618900EFF51004C6D7C72006FBD4
:1038C200F8FF34D9FAC5300600C150A8C15030FD06
:1038D2005B2B1006D2DD1134D4FA895CFC99FD7D94
:1038E200397110A2FAF7EF488FD4FA5C01D1DD28C2
:1038F2004012F903DF22301000C1A1FD4C33C0C7D2
:1039020036100571D4C6DE1017C1300600C150A8AA
:10391200C15030FD5B2B10064012F901DD1140123F
:10392200F906DD0B8FD4FA5C02D161E8FD4B3FF75B
:103932001006C6D7D9D5FAF1C15030FD2D2BC06281
:103942009FD8FA7130A5FA8FADFA5C08D1DF067103
:103952006307716B27F7D7D9D8FAF1C1D9D7FAC162
:103962005030FDD02B10047130A5FA8FADFA5C08EF
:10397200D1DF06716307716B27F7D7C7200AFBF8FF
:10398200FF300F00C15030FD2D2BC04085FA02DF01
:10399200077110A2FAF7EF567118A2FACC0700CC01
:1039A2000812CC09808FD4FA5C03D1DF08717AD572
:1039B200CC0607EF06717BD5CC062F17040600C193
:1039C200300400C150A0C15030FD022C1006C73691
:1039D200100571D4C6DE164012F903DF1017C1308C
:1039E2000600C150A8C15030FD5B2B1006F7100A2B
:1039F200C6D7C78F12F9318F240200DF04F6BF78D1
:103A0200FC8F7AFCB07AFCD161E8EDF93ACF7AFC0E
:103A1200048F12F9318FE734020023DD0A25DD0716
:103A2200252361F3EDF93A31340708714321F5207A
:103A3200FBEF1531442105F520FBEF0CA020FBD54F
:103A420020FB61F8CF20FBFF313407104020FB023E
:103A5200DF1DE6C15010FD4C33C0EF134020FBFACE
:103A6200DF0DE6A1C15010FD4C33C0E6BF78FCF675
:103A72004278FCDD19A278FC30F4014278FCDF0EBA
:103A8200F6BF78FCCFBDFA04F512F97122218F1529
:103A9200F9318FE7240000DD07B12361D30CEF1267
:103AA20036100571C4715121EF0B7104027151215D
:103AB200EF037152213152211B4021FB0361D8A037
:103AC20021FB4021FB02DF0F300400C15010FD4CEE
:103AD20033C0EF03F521FB314207194022FB03619A
:103AE200D8A022FB4022FB02DF0D301000C1FD4CAA
:103AF20033C0EF03F522FBC6D7C74012F902C6D77F
:103B0200C72004FBF8FF4012F903DD064012F90555
:103B1200DF218F9DFA9C038F9CFA9C028FD4FA9C22
:103B2200018E929B17C1300400C1F6C15024FD02E0
:103B32002C10061004C6D7C7D57EFCDD06B07EFC6D
:103B4200EDF53BCF7EFC02311407067110A3FAEFAC
:103B5200047118A3FA4012F903DD094012F9056154
:103B6200E8EDE43B8FA3FA7F26FB76D1DD4E8FA3EF
:103B7200FA9F26FB665C10D1DD1E8FA3FA5C10D182
:103B8200DD0C308000C15011FD4C33C0EF0A3040D3
:103B920000C15011FD4C33C0665C02D1DD1E8FA303
:103BA200FA5C02D1DD0C304000C15010FD4C33C034
:103BB200EF0A302000C15010FD4C33C08FD4FA5CA4
:103BC20003D1DD13C736100571D4C6DE0A30BE3804
:103BD200FDC336D261F80031220707305C26FDC3EF
:103BE20036003164210D716321308000C15012FD15
:103BF2004C33C0C6D78FB4FA5C0FD1DD5D8FB4FAF7
:103C02005C01D1DD05F512F9EF508FB4FA5C02D1F7
:103C1200DD15E6C1A1A1C15084FDD02B10047113A2
:103C220000711B207103038FB4FA5C08D1DD0571AA
:103C32000303EF0E8FB4FA5C04D1DD067113007139
:103C42001B20300500FD9A38710203300300C1C108
:103C52005084FDD02B1004711A20F5B4FAF7D7C79F
:103C62003641057184DC70364105719461D871402A
:103C7200500531B2D103E7EF6D713BD18F0EF9A040
:103C82000EF9318EE7240000DD0E23DD1323DD1E45
:103C920023DD2323DD30EF3F8F15F99F4005EF34FD
:103CA200F6C15084FD2D2BC0629F4005EF268F5A2E
:103CB200FC9F4005EF1E300800C1506CFD2D2BC04B
:103CC200629F4005EF0E300900C1506CFD2D2BC0E4
:103CD200629F4005E7EF0F71605005714850057112
:103CE2003BD5F50EF9F7C6D78F12F9318FE72400CD
:103CF2000061F8ED473E23DD212361F8ED9E3D236F
:103D020061F8EDFA3D2361F8ED093E2361F8ED1CFF
:103D12003E2361F8ED9E3EEDD43E8F13F9318FF7CD
:103D220023DF26D520FBDD05F580FCEF03A080FC18
:103D32004080FC65DC07F512F9712221D74020FB97
:103D42000A61D8EDD73EE513F9714221F580FC7185
:103D52006201717201FD2B2DFDD7274015F903DF9A
:103D620007712221F512F9D7FDF529409FFA05DEE8
:103D720007712221F512F9D7FDA625D2DD0771229E
:103D820021F512F9D7FD7C254013F901DF05F5BDB8
:103D9200FAEF04CFBDFA03CF12F902D7FD0A44CFDE
:103DA200350002CF37001DCF120510FDB72A8F96BE
:103DB200FA5C02D1DD0A308000C15010FD4C33C0E4
:103DC2008F96FA5C02D1DD0A308000C15010FD4CA2
:103DD20033C0FDB32D714A9DF537FFF513F97122FA
:103DE20021CBE43FEFCBE6F6F0FD2B2D713BD471F6
:103DF2003814F9CF12F903D7FDD83E31040C07CF9E
:103E020012F904712221D7302700C15005C1508414
:103E1200FDD02B1004CF12F905D7FDD83E31020C8C
:103E220023F6C15005C15084FDD02B10043005008B
:103E3200FD9A3871720700000000717307CF12F902
:103E420002712221D7CFBDFA03F6426CFF61E8ED81
:103E5200D73EFD5044FD0E2BFD082E714B9DF5A45F
:103E6200FAF5A5FAF5A6FAF5A7FA31242002EFFA37
:103E7200CE3708CBE4BFFFCBE6FFF1CED4FFCF377E
:103E82000009F51205F6BEE0BEE2BED0FD3026F511
:103E920080FCCF12F906714221F520FBE512F931BF
:103EA200020704717201D771430271730131949E4A
:103EB20002EFFAFD8D2D712AE7CEA409F5F3006118
:103EC200FD31040703714321E5F300CEA408712BF1
:103ED200E7D700EFFDD7D528FBDF1F3102001A30EC
:103EE2000300C15084FD2D2BC0625C01D1DF07F5B8
:103EF20012F9712221D7E528FBD74028FBF0DF0811
:103F02003104003FF528FBD74028FBC8DF0BF51230
:103F1200F9712221CF28FBF0D731020004A028FB3F
:103F2200D7F6C15004C15084FDD02B10048FA3FAE0
:103F32005C9F9FA3FA7110B4FA30F73BFDC336CFF2
:103F420028FBF0D7FDE102F7D7C7200CFBF8FF8F63
:103F5200DAFAF0F9D9FAF303FDE82013BC048FDC96
:103F6200FAF0F9DBFAF303FDE82013BC028FDEFA64
:103F7200F0F9DDFAF303FDE82013BBAC04BDD8F67B
:103F8200BDDAAC04311EBDDCF6BDDEFDA605ADD842
:103F9200BDDCADDABDDEAC02BDD8F6BDDAAC0231B5
:103FA2001EDADCC3DADEC3BDDCF6BDDEFDA605C06B
:103FB200BDDEC0BDDCADDEFDA806ADD8BDDCADDA30
:103FC200BDDEABBDD8F6BDDAAB311EDADCC3DADE5C
:103FD200C3BDDCF6BDDEFDA605C0BDDEC0BDDCADE9
:103FE200DEFDA806DADAADD8FD6943C3C58FB8FB9A
:103FF2005C3FF0317E0438FB14C2C0B9A0B8FBF6B6
:10400200BC08BC0A9C078C074C2EDD3E8FB8FB0E09
:104012000770F161DC605C3FF0317E127938FBBDE4
:10402200D8F6BDDA8C0773091423318FBDDC70BD5D
:10403200DEFDA605AC08BDDCAC0AFDA806ADDABC07
:104042000AADD8BC08615907EFBCAC08BDD8AC0AB0
:10405200BDDAC9DC0004F6FD2106C9DCFFFFF6FD6E
:10406200FD06ADD8BF30FBAF2AFB4230FBDD12AFFD
:104072002CFBBF2EFBAF2AFBBF2CFBAF30FBBF2AB2
:10408200FBAF2CFB422EFBDC50AF2AFB422CFBDEAB
:1040920048AF82FC422AFBDE404032FB16DC1F4066
:1040A20032FBA0DE168F33FB4F32FBDE0EAF2AFB54
:1040B2002234FB44691061C8FD2441F532FBAF2A6A
:1040C200FB445146DC0BAF2AFB241027BF84FCEFD4
:1040D2001930F82ABF84FCEF114032FBFFDD03E602
:1040E200EF01F63432FB89610899AF2EFB422CFBBB
:1040F200DC1BAF2CFB422AFBDE13AF2AFB4284FC03
:10410200DE0BF533FBAF2AFBBF34FBEF114033FB71
:10411200FFDD03E6EF01F63433FB89610899100CE9
:10412200C6D7C72006FBF8FFA0DFFAD5DFFADF1CEF
:10413200A0E0FAD5E0FADF14A0E1FAD5E1FADF0C4B
:10414200CFDFFAFFCFE0FAFFCFE1FAFF717BFA711E
:104152000A9E31929E02EFFA8E98FD11079C038E01
:10416200949F86FC8E969F87FC8E979F88FC8E93E9
:104172009C02FDFB4213BC048F89FC4E03DF12AF8D
:10418200BCFB614904DE41AC0422BCFBFD1542EFDD
:10419200378C03318EB112D989FCF143DF1F8C03B6
:1041A2005C0391DF03E6EF01F6046D01313D12017C
:1041B2000322BCFB610904BBFD1542EF0B8F89FC96
:1041C2004E03DE04F6FD15428C039F89FCAC04BF4E
:1041D200BCFB8FBAFB9C018C024FD3FADE0C6169E7
:1041E200018C014CA961D8CC01A78C01F0317E046D
:1041F20016F914A944FFFFDF04E6B9EF128C01F0AF
:10420200317E0416F914A944FEFFDD03A9A1B910F9
:1042120006C6D7C7161744A90061C836A800A0BAB7
:10422200FB40BAFBA961D8F5BAFBF9BAFBF3311C22
:10423200F67816F9B7F647DFE5C6D7C756A89666E9
:10424200F0317E12F6B17816F966D1DFF1F5DFFAB8
:10425200F5E0FAF5E1FAC6D7717321D7C72004FB5E
:10426200F8FFD90EF9F1E7240000DD1123DD1E234A
:10427200DD2523DD2C23DD3723DD3CEF428FBAFB26
:104282009FBEFBA00EF9D986FCF112EF68A00EF9D1
:10429200D987FCF112EF5EA00EF9D988FCF112EF7A
:1042A20054A00EF98F89FCFD2B07318E12EF46A028
:1042B2000EF9325500EF3EA00EF932AA00EF36F9A0
:1042C200BEFBF3311C7916F9BB317221058B9C03BD
:1042D200EF128C019C03D5BEFBDF06CFBEFBA7EF1E
:1042E20003B0BEFB718071772161DC61FB717121CA
:1042F2008C03318E121004C6D7C72006FBF8FF8E3E
:1043020098FD11079C038E97FD11079C028E96FD66
:1043120011079C018E94FD11079B710B9E717AFA15
:104322008C02F0317E12794423BC048C035C03D1ED
:10433200DF158C024C03DE0C8C024C02DF098C016F
:104342004C1D61F86179048C01318EB1610904BCA4
:1043520004313D120103BC048C040D708C051C0059
:10436200BC04121006C6D7C7C3C12008FBF8FFF66B
:1043720061490A61F8614908DF07F7340000ED0678
:1043820044E6BC04F6BC06AC0ABC02AC08BBAC06F4
:10439200614902AC0461F8614900DE28AC04BDD871
:1043A200AC06BDDAE1FDB706ADDABC06ADD8BC0499
:1043B200ABBDD8AC02BDDAE1FDD206ADDABC02ADCE
:1043C200D8BBEFCAAC06BC02AC04BBAC08BDD8ACCF
:1043D2000ABDDAAC04BDDCAC06FD5A06AC04BDDC99
:1043E200AC06FDA806E1FDD206ADDABC06ADD8BC2E
:1043F20004AC06614902AC0461F8614900DCC5AC59
:104402000214AB12100CC6D77100F200304400BF88
:10441200B601300188BF9001300984BF9E01BF9C64
:1044220001BF9A01BF9801BF9601BF9401BF9201DB
:10443200F53CFF30FE00BFBE01F6BFBC01BFB801B4
:1044420050EEBFBA01A1BFB201C918FF00D730EFC9
:1044520000BFB401F6BFBA017108F200D7D9BDFAA4
:10446200F1E7240000DD1123DD4423DD3D23DD1FC0
:1044720023DD3F23DD44EF368F12F9318F24030011
:10448200DD09240200DF3AFD3545D7FDC444D7F6E5
:10449200426CFF61E8E612AE6C23BE6CF6426EFF20
:1044A20061E8E612AE6E23BE6ED7FD3545D7FDC478
:1044B20044D7F6BE6CCB6E0001D7CB6C0001F6BEC2
:1044C2006ED7409FFA03DE17A048FC4048FC7FDE0F
:1044D20007F6BE6CBE6EEF06D9BCFAF1BE6ED740CF
:1044E2009FFA0CDE27F6426CFF61E8B26CFFD9BC82
:1044F200FAF1426EFFDD3BD9BCFA12AE6E43DE0327
:10450200E6EF02F6B112AE6E03BE6ED7D9BCFAF177
:10451200426CFFDD14D9BCFA12AE6C43DE03E6EF47
:1045220002F6B112AE6C03BE6CF6426EFF61E8B2E7
:104532006EFFD7D549FCDD04B049FCD7CF49FC0A50
:10454200AE6E424EFCDD13AF4EFC426EFFDE05B294
:104552006EFFEF06AE6EA1A1BE6EAE6C424CFCDDEC
:1045620013AF4CFC426CFFDE05B26CFFEF06AE6C83
:10457200A1A1BE6CD94AFCF1F734020023DD062565
:10458200DD0325DF1F409FFA0CDE0CF6BF4CFCD981
:10459200BCFABF4EFCEF1FD9BCFAF1BF4CFCF6BF10
:1045A2004EFCEF12409FFA0CDE07E6A1BF4EFCEF75
:1045B20005E6A1BF4CFCAE6C424CFCDF0AAE6E427B
:1045C2004EFC61F8A04AFCD78F50FCB050FCD1DF02
:1045D2005C31D4D107715BD1CF53FC02D553FCDDE2
:1045E200347140A2FAD952FCF1E734020023DD060D
:1045F20025DD0325DF05F6BE66EF06D9BCFAF1BE5E
:1046020066A052FC4052FC20DF06F552FCB053FC7F
:10461200CF50FC16D77148A2FAD5BEFADF05F6BE16
:1046220066EF06D9BCFAF1BE66CF50FC64D7C78FDD
:1046320054FCB054FCD161E8ED0147D9C1FAF1E76D
:10464200240000DD0923DD1223DD1E23DD49F6BE31
:104652006AF556FCF555FCED0147D9BCFAF1BE6A84
:10466200F556FCF555FCED0147D956FCF1E734024D
:104672000023DD0625DD0325DF08D9BCFAF1BE6A79
:10468200EF03F6BE6AA056FC4056FC1061F8F556E0
:10469200FCCF54FC32EF68CF54FC3CD555FCDD080E
:1046A200F6BE6AF555FCEF57D956FCF1BDD8500459
:1046B200FDD10501087208D956FCF1312F045E23A1
:1046C2001489318FD2DD040192DFFC605CC076D1A7
:1046D200DF05F556FCEF03A056FCE555FC665C8051
:1046E200D1DD12D9BCFAF1BE6A665C40D1DD10CFD1
:1046F20054FCB4EF0A665C40D161F8CF54FCB4C6F6
:10470200D7D558FCDD04B058FCD7D9BFFAF1E7245D
:104712000000DD0F23DD1D23DD1023DD5E23DD2FF1
:1047220023DD43F6BE64F58AFCD7D9BCFAF1BE6438
:10473200F58AFCD7D58AFCDF0BD9BCFAF1BE64E559
:104742008AFCEF06F6BE64F58AFCCF58FCFAD7D590
:104752008AFCDF0ED9BCFAF1BE64E58AFCCF58FCB4
:10476200FAD7F5BFFAD7D58AFCDF0BF6BE64E58A25
:10477200FCCF58FCFAD7CFBFFA02D7D9EFFAF1E74C
:10478200240000DD0923DD2823DD0A23EF22F6BE03
:1047920064F58AFCD7D58AFCDF0BD9BCFAF1BE647A
:1047A200E58AFCEF06F6BE64F58AFCCF58FCFAD720
:0A47B200D9BCFAF1BE64E58AFCD719
:1047BC0061FC61FCC1C3C5C7520C929269D4FEC1A5
:1047CC00DFF88EFD708EFCC14012F903DF09717A9F
:1047DC00FA305C26FDC336C09EFC609EFD34D4FED0
:1047EC005206C0B9A5A592DFF9C6C4C2C061FC616E
:1047FC00DF520C929269D4FEC1DFF88EFD708EFCF4
:10480C00C1717AFAC736410571A4C6DC41F55EFC6C
:10481C00714850057160500531742026716A2771FA
:10482C007320D5A4FADF0FD5A5FADF0AD5A6FADFD7
:10483C0005D5A7FADD0C31620702EFFA7163077137
:10484C006B27FD5A42FDB22EF50EF9ED5049C736D5
:10485C0041057184C6DE0DF55EFC71485005FDB254
:10486C002EED5049C73641057194C6DE15405EFCED
:10487C0003DD0C405EFC04DD06405EFC0161F8F5D6
:10488C005EFCD95EFCF1E7240000DD0823DD132378
:10489C00DD36EF5D71405005E55EFC71505005ED65
:1048AC0050498F40059F0FF9D90FF9F1FDAC3262D9
:1048BC009F11F9400FF97FDD06CF5EFC02EF03F587
:1048CC005EFC71505005EF7CC73641057194C6DE15
:1048DC001CC736410571C4C6DE06CF5EFC03EF1162
:1048EC00F55EFC7148500571605005EF57CF5EFCCA
:1048FC0004405EFC03DF0F8F11F99F4005D90FF9BF
:10490C00F1FD3533EF128F40057617F1C1D90FF950
:10491C00FD062FC071505005D90FF9F1242D00DD83
:10492C0012242200DD0D240200DD08242E0061E893
:10493C00A00FF9405EFC03DF0BD90FF9F1FDAC328F
:10494C00629F11F9C09EFC609EFD34D4FE5206C0DD
:10495C00B9A5A592DFF961FCC1C3C5C7520C9292EF
:10496C0069D4FEC1DFF88EFD708EFCC1F616717A2B
:10497C00FA714AE5717BBD51405F0401D1DD05A799
:10498C00F647DFF3300400BF2401F6BF2A01300BD9
:10499C000BBF2801FD172B300B0FBF2801FD172B68
:1049AC00300F0FBF2801710AE6712320C09EFC60F6
:1049BC009EFD34D4FE5206C0B9A5A592DFF9C6C43B
:1049CC00C2C061FCC1C3C5C7520C929269D4FEC16E
:1049DC00DFF88EFD708EFCC1717AFAD584FADD0E8B
:1049EC00EB82FA899E44A282FAB084FAEF2B710A08
:1049FC00E6300400BF2401F6BF2A01300B0BBF28A0
:104A0C0001FD172B300B0FBF2801FD172B300F0F9B
:104A1C00BF2801711320712320C09EFC609EFD34C1
:104A2C00D4FE5206C0B9A5A592DFF9C6C4C2C061B6
:104A3C00FC61EF520C929269D4FEC1DFF88EFD70CE
:104A4C008EFCC12006FBF8FF71503002F6BC02311F
:104A5C00B2E21B3184510771603002ED384B617941
:104A6C0002F6614902DFE871603002ED384B8E507E
:104A7C009C05713BE2715030028C05318EFD713416
:104A8C00629F88FA8E519C015C01D1DD0771603008
:104A9C0002ED384B8C015C02D1DD66D988FAF1FD50
:104AAC00E833629F89FAF6BC0231B2E219318451C3
:104ABC000671603002EF75617902F6614902DFE937
:104ACC0071603002EF66713BE231C25106716030A9
:104ADC0002EF598F89FA9E50F6BC0231B2E21931BD
:104AEC0084510671603002EF43617902F66149022C
:104AFC00DFE971603002EF34713BE271603002EF3C
:104B0C002B31B4E2248C015C03D1DF1D713BE28EAE
:104B1C00509C0571503002716030028C05318EC191
:104B2C00D988FAFD9033C0EF03ED904A1006C09E71
:104B3C00FC609EFD34D4FE5206C0B9A5A592DFF9E7
:104B4C0061FCC18FCEFA4F96FFDF328FCFFA4F97B1
:104B5C00FFDF2A8FD0FA4F98FFDF228FADFA5C046B
:104B6C00D1DF1A7120A5FA716307716B274012F916
:104B7C0006DD064012F90161F8CF13F902C061FCA1
:104B8C0071122161FCC1C3C5C7520C929269D4FE4B
:104B9C00C1DFF88EFD708EFCC1717AFA8E31318EC8
:104BAC00E7240600DD0923DD1D23DD4723EF5FD954
:104BBC000CFBF10403FB148D1F993003FBFDFE3538
:104BCC00629FFBFAEF48D90CFBF10406FB148D1F16
:104BDC00994015F901DF0C3006FBFDFE35629FFA9A
:104BEC00FAEF2B3006FBFDFE35F690F323609FFAAF
:104BFC00FAEF1BD90CFBF10409FB148D1F9930093A
:104C0C00FBFDFE35629F02F9305529FDC33640315C
:104C1C00FF08DD05A031FFEF197158F0007102217A
:104C2C00400CFB02DF03F6EF05D90CFBF1A1609FF2
:104C3C000CFBC09EFC609EFD34D4FE5206C0B9A590
:104C4C00A592DFF9C6C4C2C061FC61FF717AFA8F0C
:104C5C00D4FA5C03D1DD114012F903DD064012F9E0
:104C6C0005DF0536100571D461FC61FC61FC61FC4B
:104C7C0061FC61FC61FC61FC61FC61FC61FC61FC40
:104C8C0061FC61FC61FC61FC61FC61FC61FC61FC30
:104C9C0061FC61FC61FC61FC61FC61FC61FC61FC20
:024CAC0061FCA9
:104CAE00FF00000000000020F439C33466275F4483
:104CBE00CA4530460347393BFB3A023BEA3C00000B
:104CCE000000000000000000983AF82A23301299E4
:024CDE000000D4
:0A4FF60031343A32353A3038000009
:00000001FF


BIN
trunk/hoge.bin Normal file

Binary file not shown.

View File

@ -69,7 +69,7 @@ u8 iic_send_work[4];
u8 *p_iic_send_wo_dma_dat;
u8 iic_send_wo_dma_len;
u8 iic_mcu_bus_status; // 一文字リードの時はデータを返す。
u8 iic_mcu_result; // 一文字リードの時はデータを返す。
// ステータスが必要ならこっちを呼んで
@ -81,7 +81,7 @@ void nop8()
}
static err iic_mcu_is_ready()
static err iic_mcu_wait_free()
{
u16 tot = 0;
@ -117,21 +117,21 @@ u8 iic_mcu_read_a_byte( u8 SLA, u8 adrs )
// ラッパー
if( iic_mcu_read( SLA, adrs, 1, &dat ) == ERR_SUCCESS )
{
iic_mcu_bus_status = ERR_OK;
iic_mcu_result = ERR_OK;
}
else
{
iic_mcu_bus_status = ERR_NOSLAVE;
iic_mcu_result = ERR_NOSLAVE;
}
return ( dat );
#else
iic_mcu_is_ready();
iic_mcu_wait_free();
// スタートコンディションとスレーブの呼び出し、レジスタアドレスの送信
if( iic_mcu_call_slave( SLA ) != 0 )
{
iic_mcu_bus_status = ERR_NOSLAVE;
iic_mcu_result = ERR_NOSLAVE;
iic_mcu_busy = 0;
return ( 0 );
}
@ -181,7 +181,7 @@ err iic_mcu_read( u8 slave, u8 adrs, u8 len, u8 * dest )
{
#if 1
if( iic_mcu_is_ready() != ERR_SUCCESS )
if( iic_mcu_wait_free() != ERR_SUCCESS )
{
return( ERR_ERR );
}
@ -244,10 +244,9 @@ err iic_mcu_read( u8 slave, u8 adrs, u8 len, u8 * dest )
======================================================== */
err iic_mcu_write_a_byte( u8 SLA, u8 adrs, u8 dat )
{
// ラッパー
static u8 temp; // 書きっぱなしで終了を見ずに関数を抜ける可能性が高いのでstatic
#if 0
static u8 temp; // 書きっぱなしで終了を見ずに関数を抜ける可能性が高いのでstatic
// これをしないと、立て続けに書いたときに前のデータを破壊してしまう
while( iic_mcu_busy )
@ -260,11 +259,14 @@ err iic_mcu_write_a_byte( u8 SLA, u8 adrs, u8 dat )
return ( iic_mcu_write( SLA, adrs, 1, &temp ) );
#else
// 文字の時はDMAとか起動しないでさっさと終わらせる
iic_mcu_is_ready();
if( iic_mcu_wait_free() != ERR_SUCCESS )
{
return( ERR_ERR );
}
// スタートコンディションとスレーブの呼び出し...
IICMK10 = 1;
if( iic_mcu_call_slave( SLA ) != 0 )
if( iic_mcu_call_slave( SLA ) != ERR_SUCCESS )
{
iic_mcu_busy = 0;
return ( ERR_NOSLAVE );
@ -296,7 +298,7 @@ err iic_mcu_write_a_byte( u8 SLA, u8 adrs, u8 dat )
******************************************************************************/
err iic_mcu_write( u8 slave, u8 adrs, u8 len, void * src )
{
if( iic_mcu_is_ready() != ERR_SUCCESS )
if( iic_mcu_wait_free() != ERR_SUCCESS )
{
return( ERR_ERR );
}
@ -547,6 +549,7 @@ void iic_mcu_start( )
{
return;
}
iic_mcu_busy = 1;
DST1 = 0;
NOP( ); // 2clkもしくは、DSTn==0をポーリング
NOP( );
@ -563,7 +566,6 @@ void iic_mcu_start( )
SDR02 = 10 << 9; // ボーレート設定 8M/1/(x+1)/2
SO0 = 0x0404 | TAUS_MASK; // 最初はHH
iic_mcu_busy = 0;
iic_mcu_wo_dma = 0;
@ -579,6 +581,7 @@ void iic_mcu_start( )
SIR02 = SSR02;
iic_mcu_busy = 0;
iic_mcu_initialized = 1;
}

View File

@ -13,7 +13,7 @@
extern volatile bit iic_mcu_busy;
extern bit iic_mcu_wo_dma;
extern u8 iic_mcu_bus_status;
extern u8 iic_mcu_result;
// ========================================================

View File

@ -150,8 +150,10 @@ __interrupt void int_iic_twl( )
{
// ③W
// データ書き込まれ
SVA = 0x5A;
LREL = 1; // スタートコンディション待ちへ(連続書き込み未対応のため)
vreg_twl_write( vreg_adrs, rcvd );
SVA = IIC_T_SLAVEADDRESS;
return; // 受信おしまい //
}
}

View File

@ -20,7 +20,7 @@
#include "user_define.h"
#include "bsr_system.h"
#include "renge.h"
#include "renge\renge.h"
#include "vreg_ctr.h"
#include "vreg_twl.h"

View File

@ -37,13 +37,10 @@ uni_info_LED info_LED;
// 赤LEDの電池残量LEDの点滅パターン
st_led_red_batt_empty led_red_batt_empty;
st_led_red_batt_empty led_red_batt_empty = { 0xAA, 0xAA, 0xAA, 0xAA };
u8* p_LED_duty_WiFi;
// フルカラーとの自動判別のため、一時領域としてもっておく
u8 LED_duty_pow_blu_Mirror = 0;
bit LED_pow_red_Mirror;
bit info_led_off;
@ -138,47 +135,36 @@ void LED_init( )
#endif
TO0 = 0; // タイマー動作中で、タイマー出力にしてないときのピンのラッチ。タイマー出力を使わないなら0
TOE0 = 0b0000000011101010; // TOxをタイマーモジュールが制御
TOE0 = 0b0000000011101110; // TOxをタイマーモジュールが制御
TS0 = 0b0000000011101111; // 動作開始
TDR00 = LED_BRIGHT_MAX - 1; // 周期 10bit
// お知らせLEDを識別 //
INFO_LED_IS_FULLCOLOR_PU = 1;
system_status.info_fullcolor = 0;
p_LED_duty_WiFi = &LED_duty_old_WiFi;
if( system_status.model == MODEL_TS_BOARD )
{
#ifdef _FORCE_INFO_LED_FULLCOLOR_
// todo debug //
system_status.info_fullcolor = 1;
p_LED_duty_WiFi = &LED_duty_WiFi;
#endif
}
else
{
INFO_LED_IS_FULLCOLOR_PU = 1;
if( !INFO_LED_IS_FULLCOLOR_n )
{
system_status.info_fullcolor = 1;
p_LED_duty_WiFi = &LED_duty_WiFi;
}
INFO_LED_IS_FULLCOLOR_PU = 0;
}
INFO_LED_IS_FULLCOLOR_PU = 0;
if( system_status.reboot )
{
vreg_ctr[VREG_C_LED_POW] = LED_POW_ILM_AUTO;
LED_duty_pow_blu_Mirror = LED_BRIGHT_MAX;
if( system_status.info_fullcolor )
{
LED_duty_pow_blu = LED_duty_pow_blu_Mirror;
}
else
{
LED_duty_old_pow_blu = LED_duty_pow_blu_Mirror;
}
LED_duty_pow_blu = LED_BRIGHT_MAX;
}
info_led_off = 0;
}
@ -207,7 +193,6 @@ void LED_stop( )
OFF,
ON_TRIG,
ON,
SLEEP_TRIG,
SLEEP
};
@ -249,17 +234,17 @@ void tsk_led_pow( )
break;
case ( LED_POW_ILM_OFF ):
led_fade_to( LED_duty_pow_blu_Mirror, 0 );
led_fade_to( LED_duty_pow_blu, 0 );
LED_pow_red_Mirror = 0;
break;
case ( LED_POW_ILM_ONLY_RED ):
LED_duty_pow_blu_Mirror = 0;
LED_duty_pow_blu = 0;
LED_pow_red_Mirror = 1;
break;
case ( LED_POW_ILM_ONLY_BLUE ):
LED_duty_pow_blu_Mirror = LED_BRIGHT_MAX;
LED_duty_pow_blu = LED_BRIGHT_MAX;
LED_pow_red_Mirror = 0;
break;
@ -271,12 +256,10 @@ void tsk_led_pow( )
// 実際にLEDの更新
if( system_status.info_fullcolor )
{
LED_duty_pow_blu = LED_duty_pow_blu_Mirror;
LED_pow_red = LED_pow_red_Mirror;
}
else
{
LED_duty_old_pow_blu = LED_duty_pow_blu_Mirror;
LED_old_pow_red = LED_pow_red_Mirror;
}
@ -309,13 +292,13 @@ static void led_pow_normal( )
else if( vreg_ctr[VREG_C_BT_REMAIN] <= BATT_TH_LO )
{
// 赤点灯
led_fade_to( LED_duty_pow_blu_Mirror, 0 );
led_fade_to( LED_duty_pow_blu, 0 );
LED_pow_red_Mirror = 1;
}
else
{
// 青点灯
led_fade_to( LED_duty_pow_blu_Mirror, vreg_ctr[VREG_C_LED_BRIGHT] );
led_fade_to( LED_duty_pow_blu, vreg_ctr[VREG_C_LED_BRIGHT] );
LED_pow_red_Mirror = 0;
}
}
@ -329,7 +312,7 @@ static void led_pow_bt_empty()
info_led_override = 1;
// 赤点滅
led_fade_to( LED_duty_pow_blu_Mirror, 0 );
led_fade_to( LED_duty_pow_blu, 0 );
// 赤の点滅パターンも指定できる
delay += 1;
@ -404,19 +387,19 @@ static void led_pow_hotaru( )
}
// LED更新
if( LED_duty_pow_blu_Mirror != blue_to )
if( LED_duty_pow_blu != blue_to )
{
if( LED_duty_pow_blu_Mirror > blue_to )
if( LED_duty_pow_blu > blue_to )
{
LED_duty_pow_blu_Mirror -= 1;
LED_duty_pow_blu -= 1;
}
else
{
LED_duty_pow_blu_Mirror += 1;
LED_duty_pow_blu += 1;
}
}
if( LED_duty_pow_blu_Mirror == blue_to )
if( LED_duty_pow_blu == blue_to )
{
state += 1;
}
@ -457,10 +440,10 @@ void tsk_led_wifi( )
case ( 1 ):
case ( 3 ):
case ( 5 ):
*p_LED_duty_WiFi = 0;
LED_duty_WiFi = 0;
break;
default:
*p_LED_duty_WiFi = vreg_ctr[VREG_C_LED_BRIGHT];
LED_duty_WiFi = vreg_ctr[VREG_C_LED_BRIGHT];
}
state_wifi_tx++;
if( state_wifi_tx == 32 )
@ -478,31 +461,22 @@ void tsk_led_wifi( )
vreg_ctr[ VREG_C_STATUS_1 ] &= ~REG_BIT_WIFI_TX;
if( vreg_ctr[VREG_C_LED_WIFI] == WIFI_LED_OFF )
{
if( *p_LED_duty_WiFi == 0 )
{
return;
}
else
{
*p_LED_duty_WiFi -= 1;
}
LED_duty_WiFi = 0;
return;
}
else
{
if( *p_LED_duty_WiFi == vreg_ctr[VREG_C_LED_BRIGHT] )
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 += 1;
}
else
{
if( *p_LED_duty_WiFi < vreg_ctr[VREG_C_LED_BRIGHT] )
{
*p_LED_duty_WiFi += 3;
}
else
{
*p_LED_duty_WiFi -= 3;
}
LED_duty_WiFi -= 1;
}
}
task_interval = 3;

View File

@ -8,13 +8,13 @@
//#define LED_CHARGE P2.4 // PMで定義
// LED_DUTY
#define LED_duty_pow_blu TDR05
#define LED_duty_WiFi TDR02
#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 TDR03
#define LED_duty_notify_blu TDR06
#define LED_duty_notify_grn TDR05
#define LED_duty_notify_blu TDR02
// これらはduty変えられません
#define LED_pow_red P7.5
@ -23,12 +23,11 @@
// 旧仕様 /////////////////////////////
// LED_DUTY
#define LED_duty_old_pow_blu TDR06
//#define LED_duty_old_pow_red TDR07
#define LED_duty_old_WiFi TDR03
//#define LED_duty_old_pow_blu TDR06 “¯‚¶
//#define LED_duty_old_WiFi TDR03 “¯‚¶
#define LED_duty_old_NOTIFY TDR05
//#define LED_duty_old_CAM TDR02
#define LED_duty_old_3d TDR01
//#define LED_duty_old_3d TDR01 “¯‚¶
// wifi2はPWMできません。
#define LED_old_pow_red P1.5
#define LED_old_CAM P1.0

View File

@ -18,7 +18,7 @@
#include "incs_loader.h"
#include "fsl.h"
#include <fsl.h>
#include "fsl_user.h"
#include "i2c_ctr.h"
@ -320,12 +320,12 @@ void hdwinit2( )
/*--- 外部割込の有効エッジ設定 ---*/
#ifdef _MCU_BSR_
EGP0 = 0b00110001;
EGN0 = 0b01110001;
EGN0 = 0b01110000;
EGP2 = 0b00001010;
EGN2 = 0b00000000;
#else
EGP0 = 0b10110001;
EGN0 = 0b01110001;
EGN0 = 0b01110000;
#endif
/*--- キー割り込み設定 ---*/
KRM = 0b00000000; /* 全キー割り込み信号を検出しない */

View File

@ -153,28 +153,28 @@ void pedometer()
time_l += ( time_l != 255 ) ? 1: 0;
}
#ifdef _DBG_PEDO_AUTO_ENABLE_
{
/*
static u8 i = 0;
static u8 i = 0;
vreg_ctr[VREG_C_FREE_0] = i++;
vreg_ctr[ 0x50 ] = i++;
vreg_ctr[VREG_C_FREE_1] = (u8)( acc_norm[0] / 256 & 0x00FF );
vreg_ctr[VREG_C_FREE_2] = (u8)( acc_norm[0] & 0x00FF );
vreg_ctr[ 0x51 ] = (u8)( acc_norm[0] / 256 & 0x00FF );
vreg_ctr[ 0x52 ] = (u8)( acc_norm[0] & 0x00FF );
vreg_ctr[VREG_C_FREE_3] = (u8)( norm_hist[ hist_indx -1 & TAP-1 ] / 256 & 0xFF );
vreg_ctr[VREG_C_FREE_4] = (u8)( norm_hist[ hist_indx -1 & TAP-1 ] & 0xFF );
vreg_ctr[ 0x53 ] = (u8)( norm_hist[ hist_indx -1 & TAP-1 ] / 256 & 0xFF );
vreg_ctr[ 0x54 ] = (u8)( norm_hist[ hist_indx -1 & TAP-1 ] & 0xFF );
vreg_ctr[VREG_C_FREE_5] = interval_hh;
vreg_ctr[VREG_C_FREE_6] = time_l;
vreg_ctr[ 0x55 ] = interval_hh;
vreg_ctr[ 0x56 ] = time_l;
vreg_ctr[VREG_C_FREE_7] = vreg_ctr[ VREG_C_ACC_HOSU_L ];
vreg_ctr[VREG_C_FREE_8] = (u8)( peak_l / 256 & 0x00FF );
vreg_ctr[VREG_C_FREE_9] = (u8)( peak_l & 0x00FF );
// vreg_ctr[VREG_C_FREE_A] = (u8)( norm_avg[0] / 256 & 0x00FF );
// vreg_ctr[VREG_C_FREE_B] = (u8)( norm_avg[0] & 0x00FF );
*/
vreg_ctr[ 0x57 ] = vreg_ctr[ VREG_C_ACC_HOSU_L ];
vreg_ctr[ 0x58 ] = (u8)( peak_l / 256 & 0x00FF );
vreg_ctr[ 0x59 ] = (u8)( peak_l & 0x00FF );
// vreg_ctr[ 0x5A ] = (u8)( norm_avg[0] / 256 & 0x00FF );
// vreg_ctr[ 0x5B ] = (u8)( norm_avg[0] & 0x00FF );
}
#endif
}
@ -217,6 +217,7 @@ static void hosu_increment()
u16 now_hour;
u8 now_year;
u8 now_min;
u8 now_sec;
// 時計を止める必要が有るので↓は一気に行って下さい
DI();
@ -227,6 +228,7 @@ static void hosu_increment()
last_day = DAY;
last_month = MONTH;
now_min = MIN;
now_sec = SEC;
now_hour = get_long_hour();
// RWAIT = 0; ↑で行っています
// EI(); 〃
@ -263,7 +265,8 @@ static void hosu_increment()
u8 temp;
temp = p_record;
if( now_min < vreg_ctr[ VREG_C_ACC_HOSU_HOUR_BOUNDARY ] )
if(( now_min < vreg_ctr[ VREG_C_ACC_HOSU_HOUR_BOUNDARY ] ) &&
( now_sec < vreg_ctr[ VREG_C_ACC_HOSU_HOUR_BOUNDARY_SEC ] ))
{
temp -= 1;
if( PEDOMETER_LOG_SIZE <= temp )

View File

@ -423,12 +423,12 @@ task_status_immed ntr_pmic_comm( )
reg1_old = reg_shadow;
reg_shadow = iic_mcu_read_a_byte( IIC_SLA_CODEC, CODEC_REG_PM );
if( iic_mcu_bus_status != ERR_SUCCESS )
if( iic_mcu_result != ERR_SUCCESS )
{
return ( ERR_FINISED );
}
DI( );
// DI( );
// バックライト 上 ////////////////////////////////////
if( ( ( reg1_old ^ reg_shadow ) & REG_BIT_TWL_REQ_BL_U ) != 0 )
@ -472,7 +472,7 @@ task_status_immed ntr_pmic_comm( )
}
}
EI();
// EI();
vreg_ctr[ VREG_C_STATUS_1 ] = ( vreg_ctr[ VREG_C_STATUS_1 ] & ~0x0C ) | ( reg_shadow & 0x0C ); // TWLバックライト情報のミラー
@ -483,9 +483,7 @@ task_status_immed ntr_pmic_comm( )
{
u8 tot;
DI();
vreg_ctr[ VREG_C_IRQ2 ] |= irq_work;
EI();
IRQ0_neg; // 一瞬上げてパルスを送り直す
tot = 0;
while( !IRQ0 && ( ++tot != 0 ) ){;} // O.Dなのでちゃんとあがるのを待つ IRQ_mcu がLに縛られてると困る(基板不良)
@ -589,10 +587,10 @@ task_status_immed tski_PM_BL_set()
======================================================== */
#define INTERVAL_TSK_BATT 250
bit temp_zone_charge_enable; // 温度で充電停止する時にヒステリシスを付けるため
void tsk_batt( )
{
static u8 task_interval = 0;
static bit temp_zone_charge_enable; // 温度で充電停止する時にヒステリシスを付けるため
static bit pm_extdc_old;
if( task_interval-- != 0 )
@ -642,7 +640,7 @@ void tsk_batt( )
#ifndef _MODEL_WM0_
// WM0ではCHG_ENABLEピンは /WL_RST に配線されており、充電制御しない
if( temp_zone_charge_enable && bt_chg_ready )
if( temp_zone_charge_enable && bt_chg_ready && !PM_EXTDC_n )
{
BT_CHG_ENABLE(); // 温度範囲OKで充電再開
}
@ -759,7 +757,7 @@ void BT_chk( )
}
// 電池温度監視スタート
renge_task_immed_add( BT_temp_update );
renge_task_immed_add( tski_BT_temp_update );
}
@ -829,6 +827,11 @@ void BT_init( )
// TS //
system_status.model = MODEL_TS_BOARD;
}
else if( raw_adc_temperature < 4 )
{
// 白箱 //
system_status.model = MODEL_SHIROBAKO;
}
else
{
// 実機、残量IC NACK( バッテリ無しまたは残量IC故障 )
@ -874,7 +877,7 @@ void BT_init( )
// 9. SOCを読む。ベリファイのため。
temp = iic_mcu_read_a_byte( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_SOC );
if(( temp >= 0x74 ) && ( temp <= 0x75 ))
if(( temp >= BT_VERIFY_L[ battery_manufacturer ] ) && ( temp <= BT_VERIFY_H[ battery_manufacturer ] ))
{
// カスタムモデル書き込みOK
}else{
@ -889,7 +892,7 @@ void BT_init( )
iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_LOCK, 2, &dat_16 );
// おしまい //
BT_temp_update( ); // 温度のtemp。 残量ICに行きます
tski_BT_temp_update( ); // 温度のtemp。 残量ICに行きます
}
}
@ -903,7 +906,7 @@ extern u16 _dbg_rcomp;
ICにセット
======================================================== */
task_status_immed BT_temp_update( )
task_status_immed tski_BT_temp_update( )
{
static u8 rawdat_old;
static s8 temperature;
@ -915,6 +918,7 @@ task_status_immed BT_temp_update( )
T[] = 81.48 - 111.97 x ratio
TDK T = 81.406 - 111.81 x ratio
*/
if( rawdat_old != raw_adc_temperature )
{
rawdat_old = raw_adc_temperature;
@ -962,58 +966,83 @@ void BT_get_left(){
// 電池残量更新 //
#ifdef _debug_bt_irq_
if( vreg_ctr[ VREG_C_COMMAND3 ] == 'd' )
{
vreg_ctr[ VREG_C_BT_REMAIN ] = vreg_ctr[ VREG_C_DBG01 ];
}
else
#ifdef _DEBUG_BT_IRQ_
if( vreg_ctr[ VREG_C_COMMAND3 ] == 'd' )
{
vreg_ctr[ VREG_C_BT_REMAIN ] = vreg_ctr[ VREG_C_DBG01 ];
}
else
#endif
{
if( system_status.model == MODEL_TS_BOARD )
{
vreg_ctr[ VREG_C_BT_REMAIN ] = 99;
}
else
{
if(( vreg_ctr[ VREG_C_STATUS_1 ] & REG_BIT_GASGAUGE_ERR ) == 0 )
{
temp[0] = iic_mcu_read_a_byte( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_VCELL );
if( iic_mcu_bus_status != ERR_SUCCESS )
{
// バッテリ残量が取れなくなった
vreg_ctr[ VREG_C_STATUS_1 ] |= REG_BIT_GASGAUGE_ERR;
bt_chg_ready = 0;
vreg_ctr[ VREG_C_BT_REMAIN ] = 0;
system_status.cnt_force_off = 1; // 強制電源断フラグ
}
else
{
vreg_ctr[ VREG_C_BT_VOLTAGE ] = temp[0];
{
if( system_status.model == MODEL_TS_BOARD )
{
vreg_ctr[ VREG_C_BT_REMAIN ] = 99;
}
else if( system_status.model == MODEL_SHIROBAKO )
{
if( iic_mcu_read( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_SOC, 2, temp ) != ERR_SUCCESS )
{
// エミュレーション機能がおかしい
vreg_ctr[ VREG_C_BT_REMAIN ] = 99;
}
else
{
vreg_ctr[ VREG_C_BT_REMAIN ] = temp[0];
vreg_ctr[ VREG_C_BT_REMAIN_FINE ] = temp[1];
}
}
else
{ // 実機
if(( vreg_ctr[ VREG_C_STATUS_1 ] & REG_BIT_GASGAUGE_ERR ) == 0 )
{
temp[0] = iic_mcu_read_a_byte( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_VCELL );
if( iic_mcu_result != ERR_SUCCESS )
{
// バッテリ残量が取れなくなった
vreg_ctr[ VREG_C_STATUS_1 ] |= REG_BIT_GASGAUGE_ERR;
bt_chg_ready = 0;
vreg_ctr[ VREG_C_BT_REMAIN ] = 0;
system_status.cnt_force_off = 1; // 強制電源断フラグ
}
else
{ // 通常パス
vreg_ctr[ VREG_C_BT_VOLTAGE ] = temp[0];
iic_mcu_read( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_SOC, 2, temp );
vreg_ctr[ VREG_C_BT_REMAIN ] = temp[0];
vreg_ctr[ VREG_C_BT_REMAIN_FINE ] = temp[1];
if( iic_mcu_read( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_SOC, 2, temp ) == ERR_SUCCESS )
{
vreg_ctr[ VREG_C_BT_REMAIN ] = temp[0];
vreg_ctr[ VREG_C_BT_REMAIN_FINE ] = temp[1];
if( battery_manufacturer > BT_VENDER_6 )
{
// 来ないはずだが
NOP();
vreg_ctr[ VREG_C_BT_REMAIN ] = 0;
vreg_ctr[ VREG_C_BT_REMAIN_FINE ] = 0;
}
}
if( BT_CHG_Ena && !BT_CHG_n ){
vreg_ctr[ VREG_C_BT_REMAIN ] = 100;
}
// モデルゲージと実際との乖離が大きい/電圧がPMICの限界を超えそう
if( vreg_ctr[ VREG_C_BT_VOLTAGE ] < V_TH_ZERO )
{
// 電圧が規定値になってしまったので強制off
vreg_ctr[ VREG_C_BT_REMAIN ] = 0;
}
else if(( vreg_ctr[ VREG_C_BT_VOLTAGE ] < V_TH_EMPTY ) && ( vreg_ctr[ VREG_C_BT_REMAIN ] > BATT_TH_EMPTY ))
{
vreg_ctr[ VREG_C_BT_REMAIN ] = BATT_TH_EMPTY;
}
else if(( vreg_ctr[ VREG_C_BT_VOLTAGE ] < V_TH_LO ) && ( vreg_ctr[ VREG_C_BT_REMAIN ] > BATT_TH_LO ))
{
vreg_ctr[ VREG_C_BT_REMAIN ] = BATT_TH_LO;
}
}
}
// もう特に何もすること無いと思う...
}
}
else if( vreg_ctr[ VREG_C_BT_VOLTAGE ] < V_TH_ZERO )
{
// 電圧が規定値になってしまったので強制off
vreg_ctr[ VREG_C_BT_REMAIN ] = 0;
}
else if(( vreg_ctr[ VREG_C_BT_VOLTAGE ] < V_TH_EMPTY ) && ( vreg_ctr[ VREG_C_BT_REMAIN ] > BATT_TH_EMPTY ))
{
vreg_ctr[ VREG_C_BT_REMAIN ] = BATT_TH_EMPTY;
}
else if(( vreg_ctr[ VREG_C_BT_VOLTAGE ] < V_TH_LO ) && ( vreg_ctr[ VREG_C_BT_REMAIN ] > BATT_TH_LO ))
{
vreg_ctr[ VREG_C_BT_REMAIN ] = BATT_TH_LO;
}
}
}
// もう特に何もすること無いと思う...
}
}
@ -1029,17 +1058,17 @@ void BT_get_left(){
}
if(( vreg_ctr[ VREG_C_BT_REMAIN ] == 0 ) && ( bt_remain_old != 0 ))
{
// system_status.cnt_force_off = 1; // 強制電源断フラグ
system_status.cnt_force_off = 1; // 強制電源断フラグ
}
bt_remain_old = vreg_ctr[ VREG_C_BT_REMAIN ];
if( system_status.pwr_state == OFF_TRIG )
{
bt_remain_old = 100;
}
if( system_status.pwr_state == OFF_TRIG )
{
bt_remain_old = 100;
}
}
// PMIC-NTRに電池残量を教えてあげる
// PMIC-NTRに電池残量を教えてあげる
iic_mcu_write_a_byte( IIC_SLA_CODEC, CODEC_REG_BT,
( vreg_ctr[ VREG_C_BT_REMAIN ] <= BATT_TH_LO )? 1 : 0 ); // 1で電池切れ
}
@ -1049,6 +1078,7 @@ void BT_get_left(){
static unsigned long bt_relax_timer;
#define BT_RELAX_TIME_MIN (unsigned long)30
//#define BT_RELAX_TIME_MIN (unsigned long)3
/**********************************************************
 

View File

@ -143,7 +143,7 @@ void BT_set_relax_timer();
u8 BT_is_relaxed();
task_status_immed BT_temp_update( );
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();

View File

@ -4,7 +4,7 @@
#include "renge_defs.h"
// *************************************
#define TASK_IMMED_RUN_LIST_MAX 8
#define TASK_IMMED_RUN_LIST_MAX 10
extern task_status_immed do_command0( );
@ -14,7 +14,7 @@ extern task_status_immed acc_write();
extern task_status_immed tski_mcu_info_read();
//extern task_status_immed acc_hosu_set();
extern task_status_immed tski_mcu_reset();
extern task_status_immed tski_vol_update();
// *************************************

View File

@ -4,7 +4,7 @@
#pragma STOP
#include "incs.h"
#include "renge.h"
#include "renge\renge.h"
#include "pm.h"
@ -25,6 +25,11 @@ void tsk_debug( )
iic_mcu_write_a_byte( IIC_SLA_DCP, 0x08, 0x80 ); // ACR←0x80 揮発モードへ
#endif
#ifdef _DBG_PEDO_AUTO_ENABLE_
vreg_ctr[ VREG_C_ACC_CONFIG ] = 0x03;
renge_task_immed_add( acc_hosu_set );
#endif
/*
temp = iic_mcu_read_a_byte( IIC_SLA_8LEDS, IIC_8LEDS_REG_DO );
count += 1;
@ -32,6 +37,7 @@ void tsk_debug( )
iic_mcu_write_a_byte( IIC_SLA_DBG_MONITOR, 3, count );
*/
}
return;
}
@ -86,7 +92,6 @@ task_interval tsk_hina( )
case OFF:
case ON_TRIG:
case ON:
case SLEEP_TRIG:
case SLEEP:
case OFF_TRIG:
default:

View File

@ -4,7 +4,7 @@
#pragma STOP
#include "incs.h"
#include "renge.h"
#include "renge\renge.h"
#include "pm.h"
#include "accero.h"
@ -47,7 +47,8 @@
// ========================================================
bit twl_ver_read;
bit twl_ntr_mode;
bit going_to_sleep;
// ========================================================
#define INTERVAL_TSK_MISC_STAT 4
@ -74,7 +75,7 @@ void tsk_misc( )
}
*/
//#ifdef _MCU_KE3_
//#ifdef _MCU_KE3_
// KE3では必須です。
/* ========================================================
@ -117,27 +118,33 @@ void tsk_misc( )
// TUNE_LED ///////////////////////////////////
{
// これはold版もおなじポートを使ってます。
if( vreg_ctr[VREG_C_LED_TUNE] == LED_TUNE_ILM_OFF )
if( system_status.pwr_state != ON )
{
if( LED_duty_3d != 0 )
{
LED_duty_3d -= 1;
}
LED_duty_3d = 0;
}
else
{
if( LED_duty_3d != vreg_ctr[VREG_C_LED_BRIGHT] )
if( vreg_ctr[VREG_C_LED_TUNE] == LED_TUNE_ILM_OFF )
{
if( LED_duty_3d < vreg_ctr[VREG_C_LED_BRIGHT] )
{
LED_duty_3d += 1;
}
else
if( LED_duty_3d != 0 )
{
LED_duty_3d -= 1;
}
}
else
{
if( LED_duty_3d != vreg_ctr[VREG_C_LED_BRIGHT] )
{
if( LED_duty_3d < vreg_ctr[VREG_C_LED_BRIGHT] )
{
LED_duty_3d += 1;
}
else
{
LED_duty_3d -= 1;
}
}
}
}
}
@ -158,6 +165,12 @@ void tsk_misc( )
task_status_immed do_command0( )
{
// command0 本体電源など
if( vreg_ctr[VREG_C_COMMAND0] & REG_BIT_GOING_TO_SLEEP )
{
going_to_sleep = 1;
}
if( ( vreg_ctr[VREG_C_COMMAND0] & ( REG_BIT_OFF_REQ | REG_BIT_RESET1_REQ | REG_BIT_FCRAM_RESET_REQ | REG_BIT_RESET2_REQ )) != 0x00 )
{
if( vreg_ctr[VREG_C_COMMAND0] & REG_BIT_OFF_REQ )
@ -179,6 +192,10 @@ task_status_immed do_command0( )
else if( vreg_ctr[VREG_C_COMMAND0] & REG_BIT_RESET2_REQ )
{
RESET2_ast;
if( twl_ntr_mode )
{
FCRAM_RST_ast;
}
vreg_twl[ REG_TWL_INT_ADRS_MODE ] &= ~0x03;
}
wait_ms( 5 );
@ -186,6 +203,7 @@ task_status_immed do_command0( )
PM_reset_neg();
RESET2_neg;
twl_ntr_mode = 0;
// 起動時以外はリセット不要
/*
// CODEC 不定レジスタ初期化
@ -217,12 +235,16 @@ extern u8 raw_adc_temperature;
extern u8 iic_burst_state;
extern bit temp_zone_charge_enable;
extern bit bt_chg_ready;
/* ========================================================
 
 
======================================================== */
task_status_immed tski_mcu_info_read()
{
if( SPD )
{
goto end;
@ -231,6 +253,7 @@ task_status_immed tski_mcu_info_read()
if( STD )
{
SPIE = 1;
WDT_Restart( );
}
if( IICAIF == 0 )
@ -272,12 +295,13 @@ task_status_immed tski_mcu_info_read()
break;
case( 7 ):
IICA = P4.3; // 充電許可
IICA = ( temp_zone_charge_enable | ( bt_chg_ready << 1 ) );
break;
default:
goto end;
}
WDT_Restart( );
return( ERR_CONTINUE );
end:
@ -288,4 +312,3 @@ end:
return( ERR_FINISED );
}

View File

@ -4,7 +4,7 @@
#pragma STOP
#include "incs.h"
#include "renge.h"
#include "renge\renge.h"
#include "pm.h"
#include "accero.h"
@ -38,9 +38,7 @@ void tsk_status( )
}
// 蓋開けチェック
DI();
set_bit( SHELL_OPEN, vreg_ctr[VREG_C_STATUS], REG_BIT_ST_SHELL_OPEN );
EI();
// ステータスレジスタ関係 → 割り込み //
// pm.c で、その場で行います。
@ -70,7 +68,6 @@ void tsk_status( )
}
if(( system_status.pwr_state == ON ) ||
( system_status.pwr_state == SLEEP_TRIG ) ||
( system_status.pwr_state == SLEEP )
)
{

View File

@ -20,14 +20,18 @@
extern void nop8();
//=========================================================
static void chk_emergencyExit();
static void force_off_check();
static void send_getup_to_soc();
//=========================================================
extern bit info_led_off;
extern bit going_to_sleep;
static u8 timeout_sleep = 0;
/* ========================================================
@ -77,11 +81,14 @@ void tsk_sys( )
timeout = 0;
// todo debug
#ifdef _debug_bt_irq_
vreg_ctr[ VREG_C_DBG01 ] = 63; // todo (仮)
// todo debug
#ifdef _DEBUG_BT_IRQ_
vreg_ctr[ VREG_C_DBG01 ] = 99; // todo (仮)
#endif
vreg_ctr[ VREG_C_COMMAND3 ] = 0;
#ifdef _DEBUG_BT_TEMP_
vreg_ctr[ VREG_C_DBG01 ] = 0x80; // todo (仮)
#endif
vreg_ctr[ VREG_C_COMMAND3 ] = 0;
// 電源投入 //
iic_mcu_start( );
@ -98,9 +105,9 @@ void tsk_sys( )
// 残量チェック
BT_get_left(); // 先に、BT_init()が実行されている必要があります。
if(( vreg_ctr[VREG_C_BT_REMAIN] < 1 ) &&
( vreg_ctr[VREG_C_BT_VOLTAGE] < ( 3300 / 16 / 1.25 ) ))
( vreg_ctr[VREG_C_BT_VOLTAGE] < ( 3150 / 16 / 1.25 ) ))
{
// 電池が少ないので起動させない(電圧チェックもされてる)
// 電池が少ないので起動させない(電圧チェックもされてる)
renge_task_interval_run_force = 1;
system_status.pwr_state = OFF_TRIG;
return;
@ -153,6 +160,7 @@ void tsk_sys( )
vreg_ctr_reset( );
KRM = 0b00000000;
PIF0 = 0;
system_status.poweron_reason = NONE;
renge_task_interval_run_force = 1;
@ -203,32 +211,40 @@ void tsk_sys( )
chk_emergencyExit();
// SLP監視
if( SLP_REQ ){
system_status.pwr_state = SLEEP_TRIG;
renge_task_interval_run_force = 1;
if( PIF0 ){ // slp割り込み
PIF0 = 0;
if( !SLP_REQ ){ // 一瞬で起きた
send_getup_to_soc();
}
else
{
PM_VDD_ecoMode();
system_status.pwr_state = SLEEP;
renge_task_interval_run_force = 1;
}
}
if( going_to_sleep )
{
timeout_sleep += 1;
if( timeout_sleep == 255 ) // sleepするって言ったけど一瞬で起きて気がつかなかった
{
send_getup_to_soc();
}
}
// 強制offカウント
force_off_check();
break;
case SLEEP_TRIG: //-------------------------------------
PM_VDD_ecoMode();
system_status.pwr_state = SLEEP;
break;
case SLEEP: //------------------------------------------
chk_emergencyExit();
// スリープから復帰
if( !SLP_REQ ){
PM_VDD_normMode();
wait_ms( 5 ); // tdly_sw
#ifdef _MODEL_CTR_
SLP_ACK = 1;
nop8(); // 適当ウェイト
SLP_ACK = 0;
#endif
send_getup_to_soc();
system_status.pwr_state = ON;
}
@ -236,25 +252,15 @@ void tsk_sys( )
break;
case OFF_TRIG: //---------------------------------------
// LED消灯を待つ
// LED消灯を待つasdf
vreg_ctr[ VREG_C_LED_POW ] = LED_POW_ILM_OFF;
vreg_ctr[ VREG_C_LED_WIFI ] = WIFI_LED_OFF;
vreg_ctr[ VREG_C_LED_TUNE ] = LED_TUNE_ILM_OFF;
info_led_off = 1;
if( system_status.info_fullcolor )
if( LED_duty_pow_blu != 0 )
{
if( LED_duty_pow_blu != 0 )
{
return;
}
}
else
{
if( LED_duty_old_pow_blu != 0 )
{
return;
}
return;
}
vreg_ctr[ VREG_C_LED_TUNE ] = LED_TUNE_ILM_OFF;
system_status.cnt_force_off = 0;
LED_stop( );
@ -468,34 +474,22 @@ static void force_off_check()
/* ========================================================
CPUからのスリープ要求
 
SoCを起こす
  
======================================================== */
/*
__interrupt void intp0_slp( )
{ // SLP
if( SLP_REQ ){
system_status.pwr_state = SLEEP_TRIG;
renge_task_interval_run_force = 1;
}else{
system_status.pwr_state = ON;
PM_VDD_normMode();
wait_ms( 5 ); // tdly_sw
void send_getup_to_soc()
{
going_to_sleep = 0;
timeout_sleep = 0;
#ifdef _MODEL_CTR_
SLP_ACK = 1;
NOP(); // 適当ウェイト
NOP();
NOP();
NOP();
nop8();
nop8();
SLP_ACK = 0;
#endif
system_status.pwr_state = ON;
}
}
*/

View File

@ -23,9 +23,9 @@
#ifdef _PMIC_TWL_
# define PM_TEG_PWSW P7.5 // TEGのみ
# define PM_TEG_LCD_dis( val ) ( P7.6 = val ) // TEGのみ
#endif
#else
#ifdef _PMIC_CTR_
# define SLP_ACK P7.7
#endif
@ -127,9 +127,11 @@
// 負論理です。注意。
#define BT_CHG_ENABLE() ( P4.3 = 0 )
#define BT_CHG_DISABLE() ( P4.3 = 1 )
#define BT_CHG_Ena P4.3
#else
#define BT_CHG_ENABLE() ( P4.2 = 0 )
#define BT_CHG_DISABLE() ( P4.2 = 1 )
#define BT_CHG_Ena P4.2
#endif
// 充電中(in)

44
trunk/voltable.h Normal file
View File

@ -0,0 +1,44 @@
#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
};
#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

View File

@ -20,17 +20,23 @@ extern u8 iic_burst_state;
// ********************************************************
#ifdef _DBG_PEDO_AUTO_ENABLE_
u8 vreg_ctr[VREG_C_ENDMARK_ + 16];
#else
u8 vreg_ctr[VREG_C_ENDMARK_];
#endif
u8 vreg_free_adrs; // アドレス飛んでるのでしばらくはこれで
bit irq_readed; // AAA型のため。
extern u8 twl_vol_read_old;
// ********************************************************
extern task_status_immed tski_firm_update();
extern task_status_immed tski_mcu_info_read();
extern task_status_immed tski_mcu_reset();
// ********************************************************
@ -92,7 +98,7 @@ void vreg_ctr_write( u8 adrs, u8 data )
{
case ( VREG_C_MCU_STATUS ):
vreg_twl[ REG_TWL_INT_ADRS_MODE ] = (u8)( ( data >> 6 ) & 0x03 );
// vreg_twl[ REG_TWL_INT_ADRS_MODE ] = (u8)( ( data >> 6 ) & 0x03 ); Rでよい。その代わりリセットでクリア
vreg_ctr[ VREG_C_MCU_STATUS ] = data;
break;
@ -157,29 +163,7 @@ void vreg_ctr_write( u8 adrs, u8 data )
if(( data & REG_BIT_SEND_TWL_VOL_CLICK ) != 0 )
{
#if 0
u8 temp;
temp = ( vreg_twl[ REG_TWL_INT_ADRS_VOL ] ^ twl_vol_read_old );
if( ( vreg_twl[ REG_TWL_INT_ADRS_MODE ] & REG_TWL_ADRS_MODE__VOL32 ) == 0 )
{
// 8iŠKŽž(ŠÈˆÕ)
if( (( temp & 0xFE ) != 0 )||
( vreg_twl[ REG_TWL_INT_ADRS_VOL ] == 0 )||
( vreg_twl[ REG_TWL_INT_ADRS_VOL ] == 0x31 ) )
{
vreg_twl[REG_TWL_INT_ADRS_IRQ] |= REG_BIT_TWL_IRQ_VOL_CHANGE; //vol_changed
}
}
else
{
if( temp != 0 )
{
vreg_twl[REG_TWL_INT_ADRS_IRQ] |= REG_BIT_TWL_IRQ_VOL_CHANGE; //vol_changed
}
}
#else
vreg_twl[REG_TWL_INT_ADRS_IRQ] |= REG_BIT_TWL_IRQ_VOL_CHANGE; //vol_changed
#endif
}
}
break;
@ -309,7 +293,15 @@ void vreg_ctr_write( u8 adrs, u8 data )
vreg_ctr[ VREG_C_COMMAND3 ] = data;
break;
// read only
case ( VREG_C_VOL_DIGITAL ):
vreg_ctr[ VREG_C_VOL_DIGITAL ] = ( data & ~0x40 ); // force vol update bit
if(( data & 0x40 ) != 0 )
{
renge_task_immed_add( tski_vol_update );
}
break;
case ( VREG_C_MCU_VER_MAJOR ):
case ( VREG_C_MCU_VER_MINOR ):
// VREG_C_TUNE = 0x08,
@ -330,6 +322,7 @@ void vreg_ctr_write( u8 adrs, u8 data )
case ( VREG_C_RTC_SEC_FINE_H ):
// VREG_C_ACC_RESERVE,
// VREG_C_ACC_HOSU_HIST = 0x4F,
// read only //
break;
default:
@ -349,7 +342,6 @@ void vreg_ctr_write( u8 adrs, u8 data )
case ( VREG_C_FREE_ADRS ):
case ( VREG_C_RTC_ALARM_YEAR ):
case ( VREG_C_ACC_W_ADRS ):
case ( VREG_C_VOL_DIGITAL ):
case ( VREG_C_OFF_DELAY ):
*/
if( adrs < VREG_C_ENDMARK_ )
@ -417,7 +409,7 @@ u8 vreg_ctr_read( u8 adrs )
return( 0x4A );
}
#if 1
#if 0
if( adrs >= VREG_C_ENDMARK_ )
{
// VREG_C_INFO > VREG_C_ENDMARK_ なので
@ -481,8 +473,7 @@ void set_irq( u8 irqreg, u8 irq_flg )
u8 tot;
if(( system_status.pwr_state == ON ) ||
( system_status.pwr_state == SLEEP ) ||
( system_status.pwr_state == SLEEP_TRIG ))
( system_status.pwr_state == SLEEP ))
{
// DI();
if( ( vreg_ctr[ irqreg + 8 ] & irq_flg ) == 0 ){

View File

@ -79,6 +79,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 )
@ -231,9 +232,11 @@ enum VREG_C_ADRS
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_ENDMARK_
VREG_C_ACC_HOSU_HOUR_BOUNDARY = 0x50,
VREG_C_ACC_HOSU_HOUR_BOUNDARY_SEC,
VREG_C_ENDMARK_
};
#define VREG_CX_INFO 0x7F

View File

@ -18,9 +18,11 @@ TWL
u8 vreg_twl[_REG_TWL_INT_ADRS_ENDMARK];
u8 twl_vol_read_old;
extern bit twl_ver_read;
extern bit cam_led_update;
extern bit twl_ntr_mode;
extern u8 vol_data;
@ -47,10 +49,16 @@ void vreg_twl_write( u8 adrs, u8 data )
case ( REG_TWL_INT_ADRS_VOL ):
{
set_irq( VREG_C_IRQ2, REG_BIT_TWL_SNDVOL_CHANGE );
vol_data = data * 8;
renge_task_immed_add( tski_vol_update );
break;
}
case ( REG_TWL_INT_ADRS_MODE ):
if(( data & 0x03 ) == 0 )
{
twl_ntr_mode = 1;
}
vreg_twl[ REG_TWL_INT_ADRS_MODE ] = ( data & 0x83 ); // [8]vol32 [1:0]nand
break;
@ -125,8 +133,7 @@ u8 vreg_twl_read( u8 phy_adrs )
return( temp );
case( REG_TWL_INT_ADRS_VOL ):
twl_vol_read_old = vreg_twl[ REG_TWL_INT_ADRS_VOL ];
return( twl_vol_read_old );
return( vreg_twl[ REG_TWL_INT_ADRS_VOL ] );
case( REG_TWL_INT_ADRS_VER_INFO ):
// set_irq( VREG_C_IRQ2, REG_BIT_TWL_VER_READ ); // ¬“x“Iɳ—<C2B3>ÈÌÅ

View File

@ -78,10 +78,10 @@ Symbol Type=OFF
Language=C
Kanji=SJIS
[Source]
Geometry=27, 79, 844, 790
Geometry=83, 74, 844, 790
Window=Normal
DispStart=355
CaretPos=356,0
DispStart=269
CaretPos=321,0
Mode=Normal
DispFile=
Address1=
@ -141,9 +141,9 @@ SaveEnd=
Accumulative=ON
[Assemble]
Geometry=282, 92, 968, 626
Window=Normal
DispStart=16807
CaretPos=16807,27
Window=Hide
DispStart=864505856
CaretPos=0,0
Address1=
Address2=
Address3=
@ -257,7 +257,7 @@ Boundary=0
Mode=Proper
[Sfr]
Geometry=512, 0, 596, 915
Window=Normal
Window=Hide
Address1=
Address2=
Address3=
@ -274,8 +274,8 @@ Address13=
Address14=
Address15=
Address16=
Boundary=202, 89
Mode=Bin
Boundary=0, 0
Mode=Hex
Attribute=Show
Sort=Unsort
Pickup=OFF
@ -879,7 +879,7 @@ RP2=1
RP3=1
PC=1
SP=1
PSW=5
PSW=1
ES=1
CS=1
[Event Manager]
@ -957,59 +957,52 @@ Detail=OFF
Last Name=
Count=0
[Variable]
Geometry=929, 17, 320, 595
Geometry=1137, 11, 441, 595
Window=Normal
Boundary=18088086
0=.pu20,P,S,A,+,1
1=.bt_relax_timer,P,N,A,+,1
2=.bt_remain_old,P,N,A,+,1
3=.vreg_ctr,P,N,A,+,1
4=.temp_zone_charge_enable,P,N,A,+,1
5=.chg_led_override,P,N,A,+,1
6=.system_status,.,N,A,+,1
7=.battery_manufacturer,P,N,A,+,1
8=.bt_comp,.,N,A,+,1
9=.raw_adc_temperature,P,N,A,+,1
10=.PM1.7,P,S,A,+,1
11=.P1.7,P,S,A,+,1
12=.bt_comp,.,N,A,+,1
13=.tasks_immed,P,N,A,+,1
14=.vreg_ctr[2],P,N,A,+,1
15=.vreg_twl[3],P,N,A,+,1
16=.cnt_force_off,P,N,A,+,1
17=.pool.vreg_c_ext,.,N,A,+,1
18=.p_record,P,N,A,+,1
19=.PER2,B,S,A,+,1
20=.per0,B,S,A,+,1
21=.bt_relax_timer,P,N,A,+,1
22=.temp_hours,P,N,A,+,1
23=.temp,P,N,A,+,1
24=.pm4,B,S,A,+,1
25=.p4,B,S,A,+,1
26=.bt_remain_old,P,N,A,+,1
Line=27
0=.P4.2,P,S,A,+,1
1=.hoge,P,N,A,+,1
2=.work,P,N,A,+,1
3=.new_val,P,N,A,+,1
4=.raw_adc_temperature,D,N,A,+,1
5=.vreg_ctr[5],D,N,A,+,1
6=.vreg_ctr[35],P,N,A,+,1
7=.bt_chg_ready,P,N,A,+,1
8=.pu20,P,S,A,+,1
9=.temp_zone_charge_enable,P,N,A,+,1
10=.bt_remain_old,P,N,A,+,1
11=.vreg_ctr,P,N,A,+,1
12=.system_status,.,N,A,+,1
13=.battery_manufacturer,P,N,A,+,1
14=.bt_comp,.,N,A,+,1
15=.vol_data,P,N,A,+,1
Line=16
[Quick Watch]
0=egn0,P,A,1
1=p4.3,P,A,1
2=vreg_ctr,P,A,1
3=temp,P,A,1
4=P0.0,P,A,1
5=PM0.0,P,A,1
6=bt_remain_old,P,A,1
7=bt_relax_timer,P,A,1
8=p4,B,A,1
9=pm4,B,A,1
10=per0,P,A,1
11=per1,B,A,1
12=PER0,P,A,1
13=PER2,B,A,1
14=PER1,P,A,1
15=pu20,P,A,1
0=TDR02,P,A,1
1=TDR03,P,A,1
2=TDR04,P,A,1
3=tdr07,P,A,1
4=tdr08,P,A,1
5=toe0,B,A,1
6=vreg_ctr[35],P,A,1
7=vreg_ctr[5],P,A,1
8=raw_adc_temperature,P,A,1
9=bt_chg_ready,P,A,1
10=p4.3,P,A,1
11=work,P,A,1
12=new_val,P,A,1
13=vol_data,P,A,1
14=hoge,P,A,1
15=P4.2,P,A,1
[Software Break]
Geometry=408, 387, 756, 532
Geometry=547, 524, 756, 532
Window=Normal
Width=150 30 200 100
Count=0
Name0=Swb00001
Address0=i2c_mcu.c#_iic_mcu_write_a_byte+0x40
Window0=ASM
Status0=ON
Count=1
[Reset]
Debugger=ON
Symbol=OFF

View File

@ -544,41 +544,6 @@ Source20=task_sys.c
Source21=pedo_alg_thre_det2.c
Source22=ini_VECT.c
Source23=task_status.c
[IncFile]
Include1=incs_loader.h
Include2=jhl_defs.h
Include3=config.h
Include4=user_define.h
Include5=bsr_system.h
Include6=renge\renge.h
Include7=renge\renge_defs.h
Include8=renge\renge_task_immediate.h
Include9=vreg_ctr.h
Include10=vreg_twl.h
Include11=loader.h
Include12=i2c_mcu.h
Include13=WDT.h
Include14=fsl.h
Include15=fsl_user.h
Include16=i2c_ctr.h
Include17=pm.h
Include18=rtc.h
Include19=reboot.h
Include20=incs.h
Include21=accero.h
Include22=pedometer.h
Include23=adc.h
Include24=led.h
Include25=batt_params.h
Include26=i2c_twl_defs.h
Include27=renge\renge_task_intval.h
Include28=i2c_twl.h
Include29=sw.h
Include30=self_flash.h
Include31=pool.h
Include32=pedo_lpf_coeff.h
Include33=..\..\..\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r\fsl.h
Include34=..\..\..\Program Files\NEC Electronics Tools\CC78K0R\W2.10\inc78k0r\math.h
[Options.CC78K0R 0]
Version=210
Include0=renge,C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r
@ -1045,3 +1010,38 @@ VfiFileBoot0=
VfiFileBoot1=boot.vfi
VF78K0Rchk=0
VF78K0Rvs=
[IncFile]
Include1=incs_loader.h
Include2=jhl_defs.h
Include3=config.h
Include4=user_define.h
Include5=bsr_system.h
Include6=renge\renge.h
Include7=renge\renge_defs.h
Include8=renge\renge_task_immediate.h
Include9=vreg_ctr.h
Include10=vreg_twl.h
Include11=loader.h
Include12=i2c_mcu.h
Include13=WDT.h
Include14=fsl_user.h
Include15=i2c_ctr.h
Include16=pm.h
Include17=rtc.h
Include18=reboot.h
Include19=incs.h
Include20=accero.h
Include21=pedometer.h
Include22=adc.h
Include23=led.h
Include24=batt_params.h
Include25=i2c_twl_defs.h
Include26=renge\renge_task_intval.h
Include27=i2c_twl.h
Include28=sw.h
Include29=self_flash.h
Include30=pool.h
Include31=pedo_lpf_coeff.h
Include32=..\..\..\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r\fsl.h
Include33=..\..\..\Program Files\NEC Electronics Tools\CC78K0R\W2.10\inc78k0r\math.h
Include34=voltable.h

View File

@ -1,19 +1,14 @@
[ProjectManager]
FrameMax=1
FrameX=68
FrameY=16
FrameX=168
FrameY=127
FrameCX=1299
FrameCY=1044
OpenFile1=bsr_system.h,0,37,276,1281,1033,0,23,0,0
OpenFile2=renge\renge_defs.h,0,132,132,1376,889,25,15,25,0
OpenFile3=renge\\..\jhl_defs.h,0,411,261,1655,1018,10,14,18,0
OpenFile4=ProjectWindow
OpenFile1=ProjectWindow
PrjPos=0,2,754,3,253
OpenFile5=renge\renge.c,0,198,198,1442,955,0,24,0,0
OpenFile6=user_define.h,0,242,242,1486,999,0,1,0,0
OpenFile7=pm.c,0,264,264,1508,1021,5,970,60,0
OpenFile8=OutputWindow
OutputPos=0,44,989,1000,1587
OpenFile2=config.h,0,286,286,1530,1043,0,9,0,0
OpenFile3=OutputWindow
OutputPos=0,36,981,694,1556
ActivePRJ=yav_mcu_bsr.prj
[ProjectWindow]
ProjectWindowDispType=0

View File

@ -1,9 +1,9 @@
[SdbInfo]
Ver=5
[loader.c]
T=4c107185
T=4c298f6e
1=incs_loader.h
2=fsl.h
2=..\..\..\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r\fsl.h
3=fsl_user.h
4=i2c_ctr.h
5=i2c_mcu.h
@ -11,7 +11,7 @@ T=4c107185
7=rtc.h
8=reboot.h
[pm.c]
T=4c10707a
T=4c298f94
1=incs.h
2=adc.h
3=led.h
@ -35,30 +35,30 @@ T=4c0cd4a6
7=adc.h
8=pool.h
[magic.c]
T=4c1073a1
T=4c29c894
1=config.h
[WDT.c]
T=4bf0d1e1
1=incs_loader.h
[i2c_mcu.c]
T=4bfe1c36
T=4c285d96
1=incs_loader.h
2=i2c_mcu.h
[i2c_twl.c]
T=4bfd0d14
T=4c29c700
1=config.h
2=incs.h
3=i2c_twl_defs.h
4=i2c_twl.h
[led.c]
T=4c07087d
T=4c284f59
1=incs.h
2=led.h
[rtc.c]
T=4c0cd30b
1=incs.h
[vreg_ctr.c]
T=4c0dfc0d
T=4c285516
1=incs.h
2=vreg_ctr.h
3=rtc.h
@ -69,20 +69,20 @@ T=4c0dfc0d
8=..\..\..\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r\fsl.h
9=fsl_user.h
[vreg_twl.c]
T=4bfcc957
T=4c2347c6
1=incs.h
2=jhl_defs.h
3=led.h
4=vreg_twl.h
5=vreg_ctr.h
[adc.c]
T=4c0e0183
T=4c29948b
1=incs.h
2=adc.h
3=pm.h
4=led.h
[renge\renge.c]
T=4c076060
T=4c232c3f
1=renge\renge.h
2=renge\renge_task_intval.h
3=renge\renge_task_immediate.h
@ -91,7 +91,7 @@ T=4c076060
6=user_define.h
7=bsr_system.h
[accero.c]
T=4c073982
T=4c27e7a0
1=config.h
2=incs.h
3=..\..\..\Program Files\NEC Electronics Tools\CC78K0R\W2.10\inc78k0r\math.h
@ -112,12 +112,12 @@ T=4c04be89
6=rtc.h
7=sw.h
[task_debug.c]
T=4c05dfcd
T=4c29ca1c
1=incs.h
2=renge\renge.h
3=pm.h
[task_misc.c]
T=4bfb53e4
T=4c29948b
1=incs.h
2=renge\renge.h
3=pm.h
@ -126,7 +126,7 @@ T=4bfb53e4
6=i2c_mcu.h
7=led.h
[task_sys.c]
T=4c107614
T=4c29948b
1=incs.h
2=i2c_twl.h
3=i2c_ctr.h
@ -138,7 +138,7 @@ T=4c107614
9=adc.h
10=self_flash.h
[pedo_alg_thre_det2.c]
T=4c05eaf5
T=4c28555c
1=incs.h
2=..\..\..\Program Files\NEC Electronics Tools\CC78K0R\W2.10\inc78k0r\math.h
3=accero.h
@ -149,7 +149,7 @@ T=4c05eaf5
T=4bf0d1e1
1=config.h
[task_status.c]
T=4bfccea7
T=4c29948b
1=incs.h
2=renge\renge.h
3=pm.h
@ -157,7 +157,7 @@ T=4bfccea7
5=adc.h
6=i2c_mcu.h
[incs_loader.h]
T=4bf0d1e1
T=4c119cde
1=jhl_defs.h
2=user_define.h
3=bsr_system.h
@ -171,11 +171,11 @@ T=4bf0d1e1
T=4c075832
1=config.h
[config.h]
T=4c0dfdcf
T=4c29c890
[user_define.h]
T=4c107614
T=4c2856fa
[bsr_system.h]
T=4c072dc9
T=4c22c0cc
[renge\renge.h]
T=4c0758e3
1=renge\renge_defs.h
@ -183,10 +183,10 @@ T=4c0758e3
[renge\renge_defs.h]
T=4c073c5a
[renge\renge_task_immediate.h]
T=4bf0d1e0
T=4c284e89
1=renge\renge_defs.h
[vreg_ctr.h]
T=4c072cf1
T=4c28383c
1=config.h
[vreg_twl.h]
T=4c072cf1
@ -196,14 +196,12 @@ T=4bf0d1e0
T=4c0769e1
[WDT.h]
T=4bf0d1e1
[fsl.h]
T=4bf0d1e0
[fsl_user.h]
T=4bf0d1e0
[i2c_ctr.h]
T=4bf0d1e1
[pm.h]
T=4c0f33c0
T=4c23491f
[rtc.h]
T=4bf0d1e1
[reboot.h]
@ -233,9 +231,9 @@ T=4bfd1372
T=4bf0d1e1
1=jhl_defs.h
[led.h]
T=4c072cf1
T=4c21e17d
[batt_params.h]
T=4c0f394b
T=4c298f3c
[i2c_twl_defs.h]
T=4bf0d1e1
[renge\renge_task_intval.h]