From 2c5491b72fd003284b3a7d429913ff3ecd5f4387 Mon Sep 17 00:00:00 2001 From: n2232 Date: Thu, 14 Jul 2011 07:05:57 +0000 Subject: [PATCH] =?UTF-8?q?HAL=E8=BF=BD=E5=8A=A0=20=E4=B8=89=E9=A0=85?= =?UTF-8?q?=E5=BC=8F=E3=81=AF=E5=A4=A7=E3=81=8D=E3=81=8F=E3=81=AA=E3=82=8B?= =?UTF-8?q?=E3=81=AE=E3=81=A7if=E3=81=AB=E5=88=86=E8=A7=A3=E3=81=AA?= =?UTF-8?q?=E3=81=A9=20=E3=80=80=E3=81=9D=E3=81=AE=E7=B5=90=E6=9E=9C?= =?UTF-8?q?=E3=80=81=E6=AD=A9=E6=95=B0=E8=A8=88=E5=91=A8=E3=82=8A=E3=81=A7?= =?UTF-8?q?=E3=81=84=E3=81=98=E3=81=A3=E3=81=9F=E3=81=AE=E3=81=A7=EF=BC=88?= =?UTF-8?q?PC=E4=B8=8A=E3=81=A7=EF=BC=89=E3=83=86=E3=82=B9=E3=83=88?= =?UTF-8?q?=E4=BA=88=E5=AE=9A=20+=3D=201=20=E3=82=92=20++=20=E3=81=AB?= =?UTF-8?q?=E3=81=99=E3=82=8B=E3=81=AA=E3=81=A9=20I2C=5Fctr=E3=81=AE?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E3=80=82=E5=87=A6=E7=90=86=E3=81=8C=E6=BB=9E?= =?UTF-8?q?=E3=81=A3=E3=81=9F=E3=81=A8=E3=81=8D=E3=81=ABnak=E3=82=92?= =?UTF-8?q?=E8=BF=94=E3=81=99=E7=A2=BA=E7=8E=87=E3=81=8C=E4=B8=8B=E3=81=8C?= =?UTF-8?q?=E3=81=A3=E3=81=9F=E3=81=8B=E3=82=82=E3=81=97=E3=82=8C=E3=81=AA?= =?UTF-8?q?=E3=81=84=20=E5=85=B1=E9=80=9A=E3=82=B3=E3=83=BC=E3=83=89?= =?UTF-8?q?=E3=82=92=E3=81=BE=E3=81=A8=E3=82=81=E3=82=8B(twl=20vol)=20?= =?UTF-8?q?=E3=82=B3=E3=83=B3=E3=83=91=E3=82=A4=E3=83=A9=E3=81=AE=E3=82=AA?= =?UTF-8?q?=E3=83=96=E3=82=B7=E3=83=A7=E3=83=B3=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_mcu@352 013db118-44a6-b54f-8bf7-843cb86687b1 --- branches/sim/VCProj/bsr_trunk.sdf | Bin 1396736 -> 1396736 bytes branches/sim/VCProj/bsr_trunk.suo | Bin 85504 -> 85504 bytes branches/sim/VCProj/bsr_trunk.vcxproj | 2 + branches/sim/VCProj/bsr_trunk.vcxproj.filters | 6 + branches/sim/accero.c | 2 +- branches/sim/adc.c | 129 +- branches/sim/bsr.hex | 1908 +++++++++-------- branches/sim/bsr.lmf | Bin 166988 -> 174872 bytes branches/sim/bsr_k0r.map | 957 +++++---- branches/sim/config.h | 4 +- branches/sim/hal.c | 160 ++ branches/sim/hal.h | 16 + branches/sim/i2c_ctr.c | 19 +- branches/sim/i2c_mcu.c | 8 +- branches/sim/i2c_twl.c | 2 +- branches/sim/incs.h | 2 + branches/sim/incs_loader.h | 2 + branches/sim/led.c | 16 +- branches/sim/led.h | 6 +- branches/sim/led_cam.c | 4 +- branches/sim/led_pow.c | 10 +- branches/sim/loader.c | 6 +- branches/sim/pedo_alg_thre_det2.c | 47 +- branches/sim/pedometer.h | 1 + branches/sim/pm.c | 350 +-- branches/sim/renge/renge.c | 14 +- branches/sim/rtc.c | 2 +- branches/sim/self_flash.c | 28 +- branches/sim/sim/sfrAlias.h | 14 +- branches/sim/sw.c | 35 +- branches/sim/task_debug.c | 2 +- branches/sim/task_misc.c | 56 +- branches/sim/task_status.c | 24 +- branches/sim/task_sys.c | 72 +- branches/sim/user_define.h | 20 +- branches/sim/vreg_ctr.c | 69 +- branches/sim/vreg_ctr.h | 39 +- branches/sim/yav_mcu_bsr.plg | 26 +- branches/sim/yav_mcu_bsr.pri | 99 +- branches/sim/yav_mcu_bsr.prj | 646 +++--- branches/sim/yav_mcu_bsr.prk | 22 +- branches/sim/yav_mcu_bsr.sdb | 97 +- 42 files changed, 2590 insertions(+), 2332 deletions(-) create mode 100644 branches/sim/hal.c create mode 100644 branches/sim/hal.h diff --git a/branches/sim/VCProj/bsr_trunk.sdf b/branches/sim/VCProj/bsr_trunk.sdf index 6b4437688fa01dd449519b7a5adb24d6a689ee97..6a5a94fd2060acf3d842ad578c0f1af3e64f0226 100644 GIT binary patch delta 81672 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 delta 65093 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 TTh)IPkwdA(PzvGQEggRWsroHP diff --git a/branches/sim/VCProj/bsr_trunk.suo b/branches/sim/VCProj/bsr_trunk.suo index 0167a4c1d1b9497bf40b9542d8e604aee054a15a..fd40a02da5af684e9b6ac0ac90258569f169ba5d 100644 GIT binary patch delta 4263 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 D0lpWK diff --git a/branches/sim/VCProj/bsr_trunk.vcxproj b/branches/sim/VCProj/bsr_trunk.vcxproj index fc08704..506aae7 100644 --- a/branches/sim/VCProj/bsr_trunk.vcxproj +++ b/branches/sim/VCProj/bsr_trunk.vcxproj @@ -80,6 +80,7 @@ + @@ -113,6 +114,7 @@ + diff --git a/branches/sim/VCProj/bsr_trunk.vcxproj.filters b/branches/sim/VCProj/bsr_trunk.vcxproj.filters index 0e99d42..af77d25 100644 --- a/branches/sim/VCProj/bsr_trunk.vcxproj.filters +++ b/branches/sim/VCProj/bsr_trunk.vcxproj.filters @@ -96,6 +96,9 @@ 繧ス繝シ繧ケ 繝輔ぃ繧、繝ォ + + 繧ス繝シ繧ケ 繝輔ぃ繧、繝ォ + @@ -197,6 +200,9 @@ 繝倥ャ繝繝シ 繝輔ぃ繧、繝ォ + + 繝倥ャ繝繝シ 繝輔ぃ繧、繝ォ + diff --git a/branches/sim/accero.c b/branches/sim/accero.c index bc4f624..96ea6dc 100644 --- a/branches/sim/accero.c +++ b/branches/sim/accero.c @@ -84,7 +84,7 @@ task_status_immed tski_cbk_accero( ) if( iic_mcu_read( IIC_SLA_ACCEL, ( ACC_REG_X | 0x80 ), 6, &vreg_ctr[VREG_C_ACC_XL] ) != ERR_SUCCESS ) { - err_count += 1; + err_count ++; if( err_count < 8 ) { // リトライ diff --git a/branches/sim/adc.c b/branches/sim/adc.c index 9edf864..ce78004 100644 --- a/branches/sim/adc.c +++ b/branches/sim/adc.c @@ -117,9 +117,9 @@ void tsk_adc( ) if( vol_polling < 5 ) { renge_task_immed_add( tski_vol_update ); - vol_polling = 200 / SYS_INTERVAL_TICK + 5; // 5回/sec + vol_polling = (u8)(200 / SYS_INTERVAL_TICK) + 5; // 5回/sec } - vol_polling -= 1; + vol_polling --; ADCEN = 1; @@ -281,12 +281,20 @@ static u8 getmean3( u8 * hist ) { if( *hist > *( hist + 2 ) ) { - return( ( *( hist + 1 ) > *( hist + 2 ) ) ? *( hist + 1 ) : *( hist + 2 ) ); + if( *( hist + 1 ) > *( hist + 2 ) ) + { + return( *( hist + 1 ) ); + } + else + { + return( *( hist + 2 ) ); + } } else { return( *hist ); } + }else{ if( *hist > *( hist + 2 ) ) { @@ -294,7 +302,14 @@ static u8 getmean3( u8 * hist ) } else { - return( ( *( hist + 1 ) < *( hist + 2 ) ) ? *( hist + 1 ) : *( hist + 2 ) ); + if( *( hist + 1 ) < *( hist + 2 ) ) + { + return( *( hist + 1 ) ); + } + else + { + return( *( hist + 2 ) ); + } } } } @@ -341,13 +356,14 @@ case ( ADC_SEL_AMB_BRIT ): // case ( ADC_SEL_BATT_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_HAL_OVW_TEMPERATURE ] == 0xFF ) + { + raw_adc_temperature = adc_data; + } + else + { + raw_adc_temperature = vreg_ctr[ VREG_C_HAL_OVW_TEMPERATURE ]; + } if( (( vreg_ctr[ VREG_C_STATUS_1 ] & REG_BIT_MGIC_ERR ) == 0 ) && (( system_status.pwr_state == ON ) || @@ -374,7 +390,11 @@ case ( ADC_SEL_AMB_BRIT ): // { ADCEN = 0; // 止めてしまう adc_updated = true; - index = ( index == 2 ) ? 0 : ( index + 1 ); // ノイズ取りの配列インデックス + + if( ++index > 2 ) // ノイズ取りの配列インデックス + { + index = 0; + } } ADIF = 0; // ←これをしないと、いっこ前のチャンネルのデータの完了で直後に割り込む可能性がある } @@ -454,7 +474,7 @@ static void adc_filter( u8 new_val, filter_work *work ) if( abs( new_val - *( work -> value_used )) > 2 ) { // 大きく離れた - work -> large_diff_count += 1; + work -> large_diff_count ++; if( work -> large_diff_count > 16 ) { *( work -> value_used ) = new_val; @@ -468,11 +488,11 @@ static void adc_filter( u8 new_val, filter_work *work ) // 近所の値でも、ある期間でいっぱい偏っていたらそっちに寄せる if( *( work -> value_used ) < new_val ) { - work -> diffs += 1; + work -> diffs ++; } else if( *( work -> value_used ) > new_val ) { - work -> diffs -= 1; + work -> diffs --; } if( --( work -> kikan ) == 0 ) @@ -493,82 +513,3 @@ static void adc_filter( u8 new_val, filter_work *work ) } } - - - -#if 0 -// getmean使用 // -__interrupt void int_adc( ) -{ - static u8 hist_3D[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_3D ): - hist_3D[index] = adc_data; - EI(); - adc_raw_dep = getmean3( hist_3D ); - break; - - case ( ADC_SEL_VOL ): - hist_snd_vol[index] = adc_data; - EI(); - if( system_status.model == MODEL_TS_BOARD ) - { - adc_raw_vol = getmean3( hist_snd_vol ); - } - else - { - adc_raw_vol = ( 255 - getmean3( hist_snd_vol )); - } - 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_MGIC_ERR ) == 0 ) && - (( system_status.pwr_state == ON ) || - ( system_status.pwr_state == SLEEP ) - ) - ) - { - renge_task_immed_add( tski_BT_temp_update ); - } - break; -/* 呼ばれません - case ( ADC_SEL_BATT_DET ): - break; -*/ - } - -// もっとまともな書き方がありそうだ - if( ADS < ADC_SEL_BATT_DET ) - { - ADS += 1; // 次のチャンネル - ADIF = 0; // ←これをしないと、いっこ前のチャンネルのデータの完了で直後に割り込む可能性がある - } - else - { - ADCEN = 0; // 止めてしまう - adc_updated = true; - index = ( index == 2 ) ? 0 : ( index + 1 ); // ノイズ取りの配列インデックス - } -} - - - -#endif diff --git a/branches/sim/bsr.hex b/branches/sim/bsr.hex index 7e7eb28..84ecd9b 100644 --- a/branches/sim/bsr.hex +++ b/branches/sim/bsr.hex @@ -1,249 +1,261 @@ -:02000000AE0C44 +:02000000730D7E :02000200FFFFFE -:04001000B649B849EC -:02001C00924B05 -:02002400DF4BB0 -:02002A002E4C5A -:08003400574DF94C524D864E68 -:02004A00BA49B1 -:02005A00F54966 -:020062000A4E44 +:0400100044494649D0 +:02001C003F4B58 +:020024008C4B03 +:02002A00D74BB2 +:08003400FF4CA24CFB4C314EC5 +:02004A00484923 +:02005A008349D8 +:02006200B54D9A :0400C0007EFBFF853F :0A00C4001B339499E033F240BFAA09 :0A00CE00FFFFFFFFFFFFFFFFFFFF32 :1000D800C7C1FBF8FFCEABACC736F00071F4C66100 -:1000E800D8710022F98EA89C018C015C10D1DD0A20 -:1000F8007110CEFB710022F9EF0B8C015C80D1618D -:10010800E8710022F98F22F931030EF6B1BBF661CE -:100118004900DD05618900EFF5FDE001FD3201FDD3 -:100128008A01FD6D02EFAEC0C6D7C7360000674C26 +:1000E800D8710014F98EA89C018C015C10D1DD0A2E +:1000F8007110BCFB710014F9EF0B8C015C80D161AD +:10010800E8710014F98F14F931030EF6B1BBF661EA +:100118004900DD05618900EFF5FDDE01FD3201FDD5 +:100128008A01FD6B02EFAEC0C6D7C7360000674C28 :1001380009DE3F318E04F60FC1317B9EFDC4118963 :100148007267318E04F64F14896142DF03F6EF01BE :10015800E660610667318E124900207267318E04AD :10016800F64F14896142DF03F6EF01E66061068706 -:10017800EFBC40F84F3A61E88666D161E8FDF106C8 -:10018800C6D751105B0C319E609F24F94024F901B9 -:10019800DF06CF0EF905EF04CF0EF9078F22F95CC1 -:1001A800E39F22F951035B04318EE7240000DD1040 -:1001B80023DD0823DF0E712022F9D7713022F9D709 -:1001C800714022F9D7717BFACEA010CEA180E5F359 -:1001D80000CEA408F5AAFFD78F22F9310508CD0073 -:1001E80003CD0307EF03CD0306CE23F88F22F931A1 -:1001F8000308CD0408F690BFB401CF1105F8F52126 -:10020800FFCE22E9CE24F3CE25F2CE26FCCE275F00 -:10021800CE2EFCCF120511CF350002CF370019CFF3 -:10022800530006CBEEFEFFCE3831CE3970CF3805FD -:100238000A308700BF1801BF1A01BF1C01BF1E0189 -:10024800D7C7C1C1FBF8FFCEABAC8C02D1DD1261C0 -:100258006902305C03BBF6614900DDEE618900EF9D -:10026800F51004C6D7FDC52FFD1339FDC904717AF1 -:10027800FAFDC523F520F98F22F93105135003FD46 -:10028800E72B625C01D161E8CF20F902CFD7FB648C -:10029800FDA530FD4145710223712BE7FD1639FD9F -:1002A800B83961EDEFF6D7D7C7F616FDC904717BEB -:1002B800FA31222108712221717AFAEF0B717AFA48 -:1002C800A7F647DFE9E2EF01F2C6D7C7C1C1FBF8DD -:1002D800FF17A1C1E0C18C0A70C18C0270FDFD023C -:1002E8001006D2DF05F545FBEF04CF45FB028C0174 -:1002F800721004C6D7C7C1FBF8FFFDB002D2DD03F8 -:10030800E2EF618B70FD1D04D2DD077123215202DB -:10031800EF528C0870FD3204FD7D048B6C0170FD7A -:100328003204300400BF2401301740BF1C013004E0 -:1003380000BF22018C0A91DF04F6BF2A01710BE28B -:10034800CE44FF3182E202EFFAAC0C148E4499617C -:10035800790C61690A8C0AD1DFDAFDA604710BE217 -:10036800712321F2C0C6D7C7C1FBF8FFFDB002D286 -:10037800DD03E2EF25710AE68B70FD1D04D2DD076F -:100388007123215202EF138C0870FD32048C0A701D -:10039800FD3204FDA604712321F2C0C6D7C7C1FBF4 -:1003A800F8FFFDB002D2DD03E2EF67710AE6710BD8 -:1003B800E28B70FD1D04D2DD077123215202EF523A -:1003C800710BE231122139C7343EFBAC0C165204D2 -:1003D8008B99A5A792DFF9C63184BD02EFFA717A2D -:1003E800BDCEB144CBB43EFB8C0A318EBEB8CEBB79 -:1003F80048714BE1714BE5710ABD8C089E44EF11C1 -:10040800710BE68C089E448C0A9F44FBAC0CBF42DF -:10041800FBF2C0C6D7C716FD550417FD3204D2DD5E -:1004280006FDA604E2EF01F2C6D7C716710AE67107 -:100438000BE2669E443182E202EFFAF6420401DDE5 -:1004480009AF0401BF0C01E2EF01F2C6D7AF2801E2 -:10045800085CFB08BF2801FDAF02AF28015CFBBFA9 -:100468002801300400BF2A01301780BF1C01300466 -:1004780000BF2201D7AF2401086C0408BF2401AFD4 -:1004880028016C0F086C0B08BF2801FDAF02AF2ACA -:1004980001085CFB08BF2A01FDAF02ED55043004DA -:1004A80000BF2401F6BF2A01300B0BBF2801FDAFA6 -:1004B80002300B0FBF2801FDAF02300F0FBF28011C -:1004C800D731342101D7712221710BBD0000717B16 -:1004D800BD713A25713A236A0E03713205713B25C5 -:1004E800713203713B23500AFD49027120F000FD6F -:1004F800AF02F6BF26015024BF1401CB44001430CC -:100508000F0FBF2801711321710BE2710AE6FD5527 -:1005180004CE44FF3182E202EFFAFDA604AF0401E3 -:10052800BF0C01712321713221D731242102EFFA46 -:10053800FD7D04713A25713A235A0EFC7133057119 -:100548003B25713303713B237128F000713321D7A8 -:10055800C7880616FDB002D2DD03E2EF38710AE65D -:1005680050A4FD1D04D2DD077123215202EF261786 -:10057800FD32046770FD3204FD7D0450A4FD320491 -:100588005020FD3204D946FBFD3204A046FBFDA6EF -:1005980004712321F2C6D7C72008FBF8FFFDEF0836 -:1005A8005014C15008FD2108C0CC07048C074C1416 -:1005B800DE0C8C07318EFD9009615907EFEECC07F0 -:1005C800048C074C1461C8ED8D06CC06008C064CD3 -:1005D8000461C8ED6C063026F9BC02F6BBCEABACA4 -:1005E80031B2D109C73641057184C6DEF3F1C73689 -:1005F80041057184C661DC9C05713BD1AC02148F46 -:1006080040059971505005617902617900F0E16106 -:100618004900DD09C73641057184C6DEC3F1C73616 -:1006280041057184C661DC0E059C055040C18C07EC -:10063800318E31AD128C06318E318D03BDD831FF2C -:10064800BDDADADAADD8FD5C0CC0D2DD0C5008C1D9 -:100658005014FD2108C0FD190B8C05D1DF06615926 -:1006680006EDD5058C07318EFD9409D2DD0C5008B6 -:10067800C15014FD2108C0FD190B8C05D1DF06619E -:100688005907EDC90571605005CC0400CC05008CF4 -:10069800054C09DE2B8C05318E04F61FC1317B9E7B -:1006A800FDC41189728C05318E04F64F148961429C -:1006B800DF03F6EF01E6600E049C04615905EFCFF5 -:1006C80041001140F81F3A61E86159048C04D1DFF8 -:1006D80008FD1A0BFD2C0CEF0C5008C15014FD211D -:1006E80008C0FD190B1008C6D7C72004FBF8FF7116 -:1006F8005B21CC0100F6BC02AC02440900DE3EAC32 -:100708000204F60F144100118972AC020C501489CE -:100718006142DF03F6EF01E6600E019C01AC0212B4 -:1007280049005072AC0204F67F14896142DF03F677 -:10073800EF01E6600E019C01617902EFBB40F67F94 -:10074800FF61F86159018C01D161F8EDEF07CC0127 -:1007580000717AFAFDC904711300711B207103033B -:10076800710205E0C15003FDD62BC05013FD4902AC -:10077800500FC1E0FDD62BC0CEABAC6159018C0146 -:1007880091DD068C014C03DF03E6EF01F66061FBA7 -:100798007151018C014C0861F8CC01003132070518 -:1007A800A05EFCEF03F55EFC405EFC11DC0DF55E1F -:1007B800FCF0C15003FDD62BC0EF12E6BC02F66177 -:1007C8004902DDB400000000617902EFF1CE37087C -:1007D800CBE4FFFFCBE6FFF7CED4FFCF370008F519 -:1007E800120561FDF5ABFFFDEF08D25008C15014AA -:1007F800FD2108C0D2FD190B1004C6D73184BD02F3 -:10080800EFFA717BBDCBE4FFFFCBE6FFFFCBD4FF54 -:10081800FF717ABED7717BBED7C7C1200CFBF8FF2A -:100828008C0C318E31ADC1317B9DD4C0BC068DD4CA -:100838009C088C149C0B8C14318E040C00128C0BAD -:10084800318EBDD813FDEB0E61C8EDEA08CEABAC16 -:10085800CC05068C0B318EFD8C09D2DD158C0B3145 -:100868008EFD90096169058C05D1DFE7FD1D08E261 -:10087800EF71CC0A008C0A4C04DE54F6BC02302618 -:10088800F9BBAC06148C089EFD118972AB146299F1 -:10089800AC06A1BC06617900617902F0E161490208 -:1008A800DFE05040C18C0B318E31AD128C0A318E95 -:1008B800318D03BDD831FFBDDADADAADD8FD5C0C75 -:1008C800C0D2DD06FD1D08E2EF1961590AEFA68CBA -:1008D8000B318EFD9409D2DD03E2EF0761590BED70 -:1008E8003E08F2100EC6D7C7717B9D717BFAFD04D6 -:1008F800083026F9FD3F0AFDCA09C6D7FDEF08FDF5 -:10090800190BFD1D08F5ABFFF2D7C73114070671A7 -:1009180010DBFBEF047118DBFB8FDBFB7F16FD762A -:10092800D1DD5F8FDBFB9F16FD4020F903DF2566D5 -:100938005C10D1DD1F7122208FDBFB5C10D1DD0B39 -:100948005080C15011FD0035C0EF095040C1501111 -:10095800FD0035C04020F903DD064020F904DF2200 -:10096800665C02D1DD1C8FDBFB5C02D1DD0B5040E5 -:10097800C15010FD0035C0EF095020C15010FD00D6 -:0409880035C0C6D7D9 -:10098C005208EF065203EF025206FEE600FE1B0071 -:10099C00DC16089F03088F0408089F040862FE24D5 -:1009AC0000089F0408EEBF00EEBA00C1C514410E4A -:1009BC0011D9D0FF118FD1FF312E45C4C0D7F231E0 -:1009CC00A2C401E2D79DE261DD4C09DF12717BFA12 -:1009DC00C18F06089F69FDC0CF060800EE270031C5 -:1009EC00F2FA04CF0608004C00DF05D50008DD162E -:1009FC0061DD717BFAD50608DD0ACDE31F61CD619F -:100A0C00CDEE160061CDFED40061FFFE9A00FCF81D -:100A1C00FF0EFEB20061CDFED5004C09DF0EC18F7A -:100A2C0006086F69FD9F0608C0EE0400CF0608009B -:100A3C00F8E3D75200EF025202FE3700CF68FD00F8 -:100A4C00CF060800BF0408C716629F0008410011BA -:100A5C008F22229B4100118F23229F0108C6510037 -:100A6C00FE62FFEF025205CF060800C1510CFE0AD0 -:100A7C0000C0D7C1511DFE0200C0D761DD717BFAE9 -:100A8C0070CEC0A59EC47CFF9EC4609EC461CDD7B1 -:100A9C0061DD717BFAC18EC45C1BFED6FFCF0608EC -:100AAC0001FED7FFC061CDD731F2FA1AC1AEE4BF57 -:100ABC005AFDAEE6BF5CFDAED4BF5EFD30FFFFBE9F -:100ACC00E4BEE6BED4C0D731F2FA11C1AF5AFDBEB6 -:100ADC00E4AF5CFDBEE6AF5EFDBED4C0D7C1BF6067 -:100AEC00FD13BF62FD15BF64FD17BF66FDC0D7AF18 -:100AFC0060FDDB62FDEB64FDFB66FDD7534B3052B2 -:100B0C005430324E323030475631323000FFC15003 -:100B1C00FEFEAB0061DD717BFACF060800FE0A0019 -:100B2C00FEA4FF61CDF8E3EECF00C7FB0408BF5A6B -:100B3C00FD8FC0009C05C5C337040600BF5CFD35A6 -:100B4C00367E0B300000522BFE6600C2C4C6302C21 -:100B5C000BB800300000B8022004AF5CFDB80030C8 -:100B6C000F00B802AF5AFD61FF520AFE3AFFECF8D3 -:100B7C00FF0E717BFAC1C7FB04088C05C65C80FEB6 -:100B8C000200C0D761DD717BFA70CFC0FFA59FC09A -:100B9C00007CFF9FC000609FC00061CDD7618BFEC1 -:100BAC00E2FF717BBE410011FB000017CEFC00611F -:100BBC00CB089EFDF31161C999A58392DFF7D7FE8F -:100BCC00B1FED568FDDF23C1CF0308035109FEF444 -:100BDC00FDC0D2DF37FE3800A20408CF030807514E -:100BEC0009FEE1FDD2B20408DF22C7FB0408318301 -:100BFC0002C6D7C6510AFECCFD624C1FDF06CF6879 -:100C0C00FD01EF04CF68FD00C0EE5BFEC0EE55FEAB -:100C1C00C7C1FB04088B31196C0161589BC0C6D746 -:100C2C00717BFAFE4DFEAF0408040600C114369029 -:100C3C000B300000522DF3FE77FF8FC000FE2BFE11 -:100C4C0061CF5C807C8073C0041900CEFC0F61CB3B -:100C5C00C55404EF03C55417FE18FEC7360008BB75 -:100C6C00629C0288089C03D1DD334C41DE2F70F16D -:100C7C00312DB161090033081C000851FF612A4174 -:100C8C000E118FD0FF613B118FD1FF6138DC0E8BC1 -:100C9C005C03DF0964C6C4FE2BFDEECAFDC6C4EEC0 -:020CAC00C3FD86 -:100CAE0061CF5100718C7109FECBF800FEFCCD01B5 -:100CBE0000F6BF00F953C0F693935820FEDFF941BA -:100CCE000036964E3424FDEF05118B99A7A51744D7 -:100CDE00CC4EDFF53602F93024FDEF04CC0000A730 -:100CEE0047DFF9410036CC4E345AFDEF05118B9992 -:100CFE00A7A51744CC4EDFF5365AFD305AFDEF044A -:100D0E00CC0000A747DFF9FCD80000EFFE61DD71D3 -:100D1E007BFABEF0ADD8BEF200AEF661CDD7C361A0 -:100D2E00DD717BFABEF0ADD8BEF200DBF6FFADDCB6 -:100D3E00BEF000AEF6BDD8AEF40312ADDABEF200D0 -:100D4E00AEF661CD03BDDAC2D7C3F33174D90883D1 -:100D5E00C1F626D8BDD8C031750683C312F623C29C -:100D6E00FD790D93DF0312F623C2D7440000DD2672 -:100D7E0061DD717BFACFE80080BEF6F6BEF4BEF2FE -:100D8E00ADD8BEF0CFE800818FE8003103FAAEF0A7 -:100D9E00F5E80061CDD7B1D7C3F33174D90883C15B -:100DAE00F626D8BDD8C0317505C312F623C2FDC7CD -:100DBE000D93DF0312F623C2D7440000DD2761DD59 -:100DCE00717BFACFE80080BEF6F6BEF4BEF2ADD867 -:100DDE00BEF0CFE800818FE8003103FAAFE000F5F6 -:100DEE00E80061CDD7ADD8D7C3F33174DB0F83C123 -:100DFE00F626D8BDD861317026DABDDAC031750D50 -:100E0E0083C312F626DCBDDC61317023C2FD2F0ECA -:100E1E0093DF0CF626D8BDD861317026DABDDAC262 -:100E2E00D7C161686BDC6BDDC0DD2F61DD717BFAD4 -:100E3E00CFE80080BEF4ADDCBEF6ADD8BEF0ADDAC4 -:100E4E00BEF2CFE800818FE8003103FAAEF0BDD8D4 -:100E5E00AEF2BDDAF5E80061CDD7F6BDD8BDDAD772 -:100E6E008292DD2B61DD717BFACFE80080BEF0F659 -:100E7E00BEF2BEF46208BEF6CFE800818FE8003104 -:100E8E0003FAAFE0006072AEF0F5E80061CDD76016 -:100E9E0072F6B1D706DABDDAADDC06D8BDD861D8A8 -:100EAE00A6DAD7D1DD17C1C3DAD89DD8ADDA311C99 -:100EBE0061EEB4D8DFF8BDDA13BDD8C2C0D7D1DD2C -:100ECE001BC1C3DADA9DDAADD8311E33311E337150 -:100EDE00F9B4DADFF4BDD813BDDAC2C0D746D8DD17 -:100EEE000771FF7177D971C0D75BDB9DDB605BDA71 -:100EFE009DDAADDC5BD9085BD808BDD8D7C3C7F384 -:100F0E00728EFDC162314C4100368C4E1161A07261 -:070F1E00C09EFD62C6C2D7B0 -:0A0FF60031353A31363A3139000046 -:0A20000031353A31363A313900002B +:10017800EFBC40F84F3A61E88666D161E8FDEB06CE +:10018800C6D751105B0C319E609F16F94016F901D5 +:10019800DF05CD3005EF03CD30078F14F95CE39F01 +:1001A80014F951035B04318EE7240000DD1023DDD0 +:1001B8000823DF0E712014F9D7713014F9D7714074 +:1001C80014F9D7717BFACEA010CEA180E5F300CE4A +:1001D800A408F5AAFFD78F14F9310508CD0003CD7F +:1001E8000307EF03CD0306CE23F88F14F931030874 +:1001F800CD0408F690BFB401CF1105F8F521FFCE64 +:1002080022E9CE24F3CE25F2CE26FCCE275FCE2ED1 +:10021800FCCF120511CF350002CF370019CF53009C +:1002280006CBEEFEFFCE3831CE3970CF38050A3016 +:100238008700BF1801BF1A01BF1C01BF1E01D7C725 +:10024800C1C1FBF8FFCEABAC8C02D1DD12616902F3 +:10025800305C03BBF6614900DDEE618900EFF51003 +:1002680004C6D7FD902FFDAA38FDC304717AFAFDA4 +:10027800AD23F512F98F14F93105135003FD7C2BCA +:10028800625C01D161E8CF12F902CFC5FB64FD7051 +:1002980030FDF74471025F712BE7FDAD38FD4C3935 +:1002A80061EDEFF6D7D7C7F616FDC304717BFA31B7 +:1002B800225D0871225D717AFAEF0B717AFAA7F65E +:1002C80047DFE9E2EF01F2C6D7C7C1C1FBF8FF1764 +:1002D800A1C1E0C18C0A70C18C0270FDF902100640 +:1002E800D2DF04F437EF03CD37028C01721004C655 +:1002F800D7C7C1FBF8FFFDAE02D2DD03E2EF618B89 +:1003080070FD1704D2DD0771235D5202EF528C088D +:1003180070FD2C04FD77048B6C0170FD2C043004F7 +:1003280000BF2401301740BF1C01300400BF220168 +:100338008C0A91DF04F6BF2A01710BE2CE44FF312B +:1003480082E202EFFAAC0C148E449961790C61696F +:100358000A8C0AD1DFDAFDA004710BE271235DF289 +:10036800C0C6D7C7C1FBF8FFFDAE02D2DD03E2EF7E +:1003780025710AE68B70FD1704D2DD0771235D52E3 +:1003880002EF138C0870FD2C048C0A70FD2C04FD00 +:10039800A00471235DF2C0C6D7C7C1FBF8FFFDAE4C +:1003A80002D2DD03E2EF65710AE6710BE28B70FDA4 +:1003B8001704D2DD0771235D5202EF50710BE23151 +:1003C800125D39C73430FBAC0C1652048B99A5A7C3 +:1003D80092DFF9C63184BD02EFFA717ABDCEB1441D +:1003E800CBB430FB8C0A318EBEB8CEBB48714BE122 +:1003F800714BE5710ABD8C089E44EF0F710BE68CBA +:10040800089E448C0A9D36AC0CBD34F2C0C6D7C7D2 +:1004180016FD4F0417FD2C04D2DD06FDA004E2EF03 +:1004280001F2C6D7C716710AE6710BE2669E44311F +:1004380082E202EFFAF6420401DD09AF0401BF0CC3 +:1004480001E2EF01F2C6D7AF2801085CFB08BF281C +:1004580001FDAD02AF28015CFBBF2801300400BFDD +:100468002A01301780BF1C01300400BF2201D7AF1A +:100478002401086C0408BF2401AF28016C0F086C24 +:100488000B08BF2801FDAD02AF2A01085CFB08BFBD +:100498002A01FDAD02ED4F04300400BF2401F6BF70 +:1004A8002A01300B0BBF2801FDAD02300B0FBF280E +:1004B80001FDAD02300F0FBF2801D731345D01D7E0 +:1004C80071225D710BBD0000717BBD713A25713AD7 +:1004D800236A0E03713205713B25713203713B2388 +:1004E800500AFD47027120F000FDAD02F6BF26015B +:1004F8005024BF1401CB440014300F0FBF280171E2 +:10050800135D710BE2710AE6FD4F04CE44FF3182A0 +:10051800E202EFFAFDA004AF0401BF0C0171235DF4 +:1005280071325DD731245D02EFFAFD7704713A2507 +:10053800713A235A0EFC713305713B2571330371EF +:100548003B237128F00071335DD7C7880616FDAECE +:1005580002D2DD03E2EF38710AE650A4FD1704D297 +:10056800DD0771235D5202EF2617FD2C046770FD2D +:100578002C04FD770450A4FD2C045020FD2C04D934 +:1005880034FBFD2C04A034FBFDA00471235DF2C6EE +:10059800D7C72008FBF8FFFDE9085014C15008FD33 +:1005A8001B08C0CC07048C074C14DE0C8C07318E5A +:1005B800FD550A615907EFEECC07048C074C14610E +:1005C800C8ED8706CC06008C064C0461C8ED6606AB +:1005D8003018F9BC02F6BBCEABAC31B2D109C73684 +:1005E80041057184C6DEF3F1C73641057184C661E1 +:1005F800DC9C05713BD1AC02148F400599715050B9 +:1006080005617902617900F0E1614900DD09C736C9 +:1006180041057184C6DEC3F1C73641057184C661E0 +:10062800DC0E059C055040C18C07318E31AD128C13 +:1006380006318E318D03BDD831FFBDDADADAADD897 +:10064800FD210DC0D2DD0C5008C15014FD1B08C09F +:10065800FDDE0B8C05D1DF06615906EDCF058C0751 +:10066800318EFD590AD2DD0C5008C15014FD1B080B +:10067800C0FDDE0B8C05D1DF06615907EDC305719E +:10068800605005CC0400CC05008C054C09DE2B8C91 +:1006980005318E04F61FC1317B9EFDC41189728C11 +:1006A80005318E04F64F14896142DF03F6EF01E647 +:1006B800600E049C04615905EFCF41001140F81FFA +:1006C8003A61E86159048C04D1DF08FDDF0BFDF1C4 +:1006D8000CEF0C5008C15014FD1B08C0FDDE0B10B8 +:1006E80008C6D7C72004FBF8FF715B21CC0100F6D0 +:1006F800BC02AC02440900DE3EAC0204F60F144111 +:1007080000118972AC020C5014896142DF03F6EFC4 +:1007180001E6600E019C01AC021249005072AC0265 +:1007280004F67F14896142DF03F6EF01E6600E01EB +:100738009C01617902EFBB40F67FFF61F8615901C6 +:100748008C01D161F8EDE907CC0100717AFAFDC39B +:1007580004711300711B20710303710205E0C1507D +:1007680003FD6B2BC05013FD4702500FC1E0FD6B1A +:100778002BC0CEABAC6159018C0191DD068C014CCC +:1007880003DF03E6EF01F66061FB7151018C014C58 +:100798000861F8CC010031320705A042FCEF03F5EF +:1007A80042FC4042FC11DC0DF542FCF0C15003FD57 +:1007B8006B2BC0EF12E6BC02F6614902DDB4000003 +:1007C8000000617902EFF1CE3708CBE4FFFFCBE6FA +:1007D800FFF7CED4FFCF370008F5120561FDF5AB62 +:1007E800FFFDE908D25008C15014FD1B08C0D2FD16 +:1007F800DE0B1004C6D73184BD02EFFA717BBDCB86 +:10080800E4FFFFCBE6FFFFCBD4FFFF717ABED771C1 +:100818007BBED7C7C1200CFBF8FF8C0C318E31ADE5 +:10082800C1317B9DD4C0BC068DD49C088C149C0B14 +:100838008C14318E040C00128C0B318EBDD813FD34 +:10084800B00F61C8EDE408CEABACCC05068C0B311B +:100858008EFD510AD2DD158C0B318EFD550A61696A +:10086800058C05D1DFE7FD1708E2EF71CC0A008C93 +:100878000A4C04DE54F6BC023018F9BBAC06148CE2 +:10088800089EFD118972AB146299AC06A1BC066181 +:100898007900617902F0E1614902DFE05040C18CE2 +:1008A8000B318E31AD128C0A318E318D03BDD831AA +:1008B800FFBDDADADAADD8FD210DC0D2DD06FD17AD +:1008C80008E2EF1961590AEFA68C0B318EFD590A1F +:1008D800D2DD03E2EF0761590BED3808F2100EC6BE +:1008E800D7C7717B9D717BFAFDFE073018F9FD04AF +:1008F8000BFD8F0AC6D7FDE908FDDE0BFD1708F5CD +:10090800ABFFF2D7C7316460067110C9FBEF047101 +:1009180018C9FB8FC9FB7FE8FC76D1DD5C8FC9FB6A +:100928009FE8FC4012F903DF22665C10D1DD1C8FC2 +:10093800C9FB5C10D1DD0B5080C15011FDB534C02E +:10094800EF095040C15011FDB534C04012F903DD24 +:10095800064012F904DF22665C02D1DD1C8FC9FB58 +:100968005C02D1DD0B5040C15010FDB534C0EF0919 +:100978005020C15010FDB534C0C6D7C78F0CFC76C7 +:100988008F0DFC77665C80D1DD10675C80D1DF0558 +:10099800711360EF0B711260EF067104077111603B +:1009A800665C40D1DD10675C40D1DF05712360EFE4 +:1009B8000B712260EF06711405712160665C01D12C +:1009C800DD10675C01D1DF05713360EF0B713260B8 +:1009D800EF06713407713160665C02D1DD10675C27 +:1009E80002D1DF05714360EF1D714260EF184015B9 +:1009F800F901DF08710402714160EF0AC73610057A +:100A080071C4C6714160665C04D1DD10675C04D1B5 +:100A1800DF05715360EF0B715260EF067144077187 +:100A28005160665C08D1DD10675C08D1DF05716232 +:100A380060EF0B716360EF06711407716160665CAB +:090A480010D161E8715AD1C6D742 +:100A51005208EF065203EF025206FEE600FE1B00AB +:100A6100DC16089F03088F0408089F040862FE240F +:100A710000089F0408EEBF00EEBA00C1C514410E84 +:100A810011D9D0FF118FD1FF312E45C4C0D7F2311A +:100A9100A2C401E2D79DE261DD4C09DF12717BFA4C +:100AA100C18F06089F33FDC0CF060800EE27003135 +:100AB100F2FA04CF0608004C00DF05D50008DD1668 +:100AC10061DD717BFAD50608DD0ACDE31F61CD61D9 +:100AD100CDEE160061CDFED40061FFFE9A00FCF858 +:100AE100FF0EFEB20061CDFED5004C09DF0EC18FB5 +:100AF10006086F33FD9F0608C0EE0400CF0608000C +:100B0100F8E3D75200EF025202FE3700CF32FD0068 +:100B1100CF060800BF0408C716629F0008410011F4 +:100B21008F22229B4100118F23229F0108C6510071 +:100B3100FE62FFEF025205CF060800C1510CFE0A0A +:100B410000C0D7C1511DFE0200C0D761DD717BFA23 +:100B510070CEC0A59EC47CFF9EC4609EC461CDD7EB +:100B610061DD717BFAC18EC45C1BFED6FFCF060826 +:100B710001FED7FFC061CDD731F2FA1AC1AEE4BF91 +:100B810024FDAEE6BF26FDAED4BF28FD30FFFFBE7B +:100B9100E4BEE6BED4C0D731F2FA11C1AF24FDBE26 +:100BA100E4AF26FDBEE6AF28FDBED4C0D7C1BF2A43 +:100BB100FD13BF2CFD15BF2EFD17BF30FDC0D7AFF4 +:100BC1002AFDDB2CFDEB2EFDFB30FDD7534B3052C4 +:100BD1005430324E323030475631323000FFC1503E +:100BE100FEFEAB0061DD717BFACF060800FE0A0054 +:100BF100FEA4FF61CDF8E3EECF00C7FB0408BF24DC +:100C0100FD8FC0009C05C5C337040600BF26FD3516 +:100C110036430C300000522BFE6600C2C4C630F1D0 +:100C21000BB800300000B8022004AF26FDB8003038 +:100C31000F00B802AF24FD61FF520AFE3AFFECF843 +:100C4100FF0E717BFAC1C7FB04088C05C65C80FEF0 +:100C51000200C0D761DD717BFA70CFC0FFA59FC0D4 +:100C6100007CFF9FC000609FC00061CDD7618BFEFB +:100C7100E2FF717BBE410011FB000017CEFC006159 +:100C8100CB089EFDF31161C999A58392DFF7D7FEC9 +:100C9100B1FED532FDDF23C1CF0308035109FEF4B4 +:100CA100FDC0D2DF37FE3800A20408CF0308075188 +:100CB10009FEE1FDD2B20408DF22C7FB040831833B +:100CC10002C6D7C6510AFECCFD624C1FDF06CF32E9 +:100CD100FD01EF04CF32FD00C0EE5BFEC0EE55FE1C +:100CE100C7C1FB04088B31196C0161589BC0C6D781 +:100CF100717BFAFE4DFEAF0408040600C11436559F +:100D01000C300000522DF3FE77FF8FC000FE2BFE4A +:100D110061CF5C807C8073C0041900CEFC0F61CB75 +:100D2100C55404EF03C55417FE18FEC7360008BBAF +:100D3100629C0288089C03D1DD334C41DE2F70F1A7 +:100D4100312DB161090033081C000851FF612A41AE +:100D51000E118FD0FF613B118FD1FF6138DC0E8BFB +:100D61005C03DF0964C6C4FE2BFDEECAFDC6C4EEFA +:020D7100C3FDC0 +:100D730061CF5100718C7109FECBF800FEFCCB01F1 +:100D830000F6BF00F953C0F693935820FEDFF941F4 +:100D93000036424E34F2FCEF05118B99A7A5174498 +:100DA300744EDFF53602F930F2FCEF04CC0000A7F5 +:100DB30047DFF9410036744E3420FEEF05118B995D +:100DC300A7A517447A4EDFF53626FE305CFEEF0406 +:100DD300CC0000A747DFF9FCD80000EFFE61DD710E +:100DE3007BFABEF0ADD8BEF200AEF661CDD7C361DB +:100DF300DD717BFABEF0ADD8BEF200DBF6FFADDCF1 +:100E0300BEF000AEF6BDD8AEF40312ADDABEF2000A +:100E1300AEF661CD03BDDAC2D7C3F33174D908830B +:100E2300C1F626D8BDD8C031750683C312F623C2D6 +:100E3300FD3E0E93DF0312F623C2D7440000DD26E6 +:100E430061DD717BFACFE80080BEF6F6BEF4BEF238 +:100E5300ADD8BEF0CFE800818FE8003103FAAEF0E1 +:100E6300F5E80061CDD7B1D7C3F33174D90883C195 +:100E7300F626D8BDD8C0317505C312F623C2FD8C42 +:100E83000E93DF0312F623C2D7440000DD2761DD92 +:100E9300717BFACFE80080BEF6F6BEF4BEF2ADD8A1 +:100EA300BEF0CFE800818FE8003103FAAFE000F530 +:100EB300E80061CDD7ADD8D7C3F33174DB0F83C15D +:100EC300F626D8BDD861317026DABDDAC031750D8A +:100ED30083C312F626DCBDDC61317023C2FDF40E40 +:100EE30093DF0CF626D8BDD861317026DABDDAC29D +:100EF300D7C161686BDC6BDDC0DD2F61DD717BFA0F +:100F0300CFE80080BEF4ADDCBEF6ADD8BEF0ADDAFE +:100F1300BEF2CFE800818FE8003103FAAEF0BDD80E +:100F2300AEF2BDDAF5E80061CDD7F6BDD8BDDAD7AC +:100F33008292DD2B61DD717BFACFE80080BEF0F693 +:100F4300BEF2BEF46208BEF6CFE800818FE800313E +:100F530003FAAFE0006072AEF0F5E80061CDD76050 +:100F630072F6B1D706DABDDAADDC06D8BDD861D8E2 +:100F7300A6DAD7D1DD17C1C3DAD89DD8ADDA311CD3 +:100F830061EEB4D8DFF8BDDA13BDD8C2C0D7D1DD66 +:100F93001BC1C3DADA9DDAADD8311E33311E33718A +:100FA300F9B4DADFF4BDD813BDDAC2C0D746D8DD51 +:100FB3000771FF7177D971C0D75BDB9DDB605BDAAB +:100FC3009DDAADDC5BD9085BD808BDD8D7C3C7F3BE +:100FD300728EFDC162314C410036384E1161A072F0 +:070FE300C09EFD62C6C2D7EB +:0A0FF60031353A34363A3534000044 +:0A20000031353A34363A3534000029 :10200A00AEF0B430B740BA30BB50BBB0BC50BD1014 :10201A00BD60BDB0BFE0C2B0C420C7B0CAE0CE1038 :10202A0001F0141014200630639049006E00777096 @@ -285,718 +297,714 @@ :10226A004E011926344453626E777D80807D776EE5 :10227A00625344342619100A08080808080808088E :02228A000A1038 -:10228C00D520F9DD0D8F25FDB025FDD1DF51CF25F2 -:10229C00FD1EFD4E23FDEC223142200D31042009A0 -:1022AC0031020705713304EF03713204FD2723312A -:1022BC00322003E6EF01F66061FB714102D504F9AF -:1022CC00DD06B004F9714202314402067140DBFBB9 -:1022DC00EF047148DBFB4020F90161E8FD4126D792 -:1022EC004002F94BDC144002F9B9DE0E400FF9281C -:1022FC00DE04A00FF9D7714320D74002F93EDC066B -:10230C004002F9BDDC0E4010F928DE04A010F9D70C -:10231C00714220D7F50FF9F510F9D73112050E409F -:10232C0011F902DE04A011F9D7713320D731320430 -:10233C000A40D7FB3CDE04713320D7713220F511F3 -:10234C00F9D7C72004FBF8FF710407E66130609CE5 -:10235C00038F12F94E03DD5D8C039F12F98C03D1B0 -:10236C00DD137130DBFB5002C15011FD0035C0CFC5 -:10237C0004F932EF407138DBFBE0C15011FD003540 -:10238C00C0F504F917A1C15002FDBE2BC0D2DF0F5E -:10239C008C01318E318D080E02081C00BF06F9AF7E -:1023AC0006F944009BDC05D5D7FBDF095020C15052 -:1023BC0011FD0035C01004C6D7C78F24FD76FD096A -:1023CC0024D523F9DD05710320EF30FDF22B664F88 -:1023DC0024FD61F83154201A715320FDC904664C58 -:1023EC0007DD0381DF098F22F9310303FD9924FDF9 -:1023FC00AD24710220308D25FD6E39C6D7C77162B0 -:10240C00017172015005FD49025008FDE837629FC9 -:10241C0002F95009FDE8376276716301711822F9EF -:10242C004002F9F1DC05E523F9EF244002F904DE62 -:10243C001BCF23F9025008C1506CFDD302C092DFB0 -:10244C000ED545FBDF09711022F9EF03F523F94096 -:10245C0023F901DF05710A22EF06710B22710302C9 -:10246C00CF24FD075700674C08DE117309D2216198 -:10247C004EDC06679F24FDEF0387EFEA4024FD073F -:10248C00DF09D523F961F8CF23F903C6D7500AFD2C -:10249C004902304000C15006FDA12BC05096ED49B9 -:1024AC0002C72006FBF8FFD523F961E8ED8925303A -:1024BC004A57C1503EFDA12BC0D2DD077100DAFB9B -:1024CC00ED89257108DAFB17A1C15004C1500CC16C -:1024DC00506CFDFD021006EB0CF9AA48318D12AAC6 -:1024EC0048318E616B08616A08C1500EFDA12BC08A -:1024FC00F690C1500CFDA12BC0CC00008B4C04DE1F -:10250C002731242102EFFA711221EB0CF98B5010B8 -:10251C00D605C15010C18BD6044000C1506CFDA52E -:10252C00031006615900EFD450A5FD4902EB0CF9DC -:10253C00AA48318D12AA48318E616B08616A08C1B4 -:10254C00500EFDA12BC050A5FD49025004C1506C8A -:10255C00FDD302C0629C05EB0CF98A4B4E0561C39E -:10256C00048A4A4E0517A1C15004C1500CC1506CCD -:10257C00FDA5031006F6C1503EFDA12BC01006C6EA -:10258C00D7C78F13F94F02F961F8ED3E264015F9C4 -:10259C0028DE06A015F9ED3E26F515F98F02F99FF8 -:1025AC0013F98F02F95070D6123073512304800046 -:1025BC001231FF318E039F14F99FD6FBF68F14F95D -:1025CC007C804C95DC1D8F14F9318F241400EB0C9E -:1025DC00F9BDD8AA44FD1B0D1231FF318E03318F8A -:1025EC0016EF1B8F14F9318F241400EB0CF9BDD8A6 -:1025FC00AA46FD1B0D1231FF318E03318F16EB0CE9 -:10260C00F98A427217F3031644000171FE61C83651 -:10261C00FF001701DE02F61617BF6CFCC7500CFD4D -:10262C00A12BC0D2DF088F02F99F13F9EF047100C0 -:10263C00DAFBF2C6D7C72006FBF8FF4023F901DF0F -:10264C000BCFD7FB63CFD9FBC8ED97274023F902FB -:10265C00DF3A17040400C15004FDBE2BC0D2DD06C6 -:10266C00CFD7FB63EF0A8C049FD7FB8C059FD8FB5D -:10267C0017040400C15002FDBE2BC0D2DF078C042E -:10268C009FD9FBEF04CFD9FBC8ED972717040400A3 -:10269C00C15004FDBE2BC0D2DD107100DAFB7103FA -:1026AC0020F5D7FB710221ED6C278C04318E318D16 -:1026BC00080E05081C00BF06F9EB0CF98A4072AF36 -:1026CC0006F9FD6E0EBF06F99C04D1DF08CC04019F -:1026DC00CC0500EF058F06F99C0517040200C150CC -:1026EC0002FDBE2BC0D2DF788C029FD9FB8C02314D -:1026FC008E318D080E03081C00BF06F94401A5DCC1 -:10270C0009CC0164F6BF16F9EF56AF06F92216F99B -:10271C004401A0DC09CC011EF6BF16F9EF42AF064E -:10272C00F944819DDC0BCC010A30F401BF16F9EFA2 -:10273C002FAF06F944019BDC0BCC010530F401BF33 -:10274C0016F9EF1CAF06F9440191DC0BCC010030FB -:10275C00F401BF16F9EF0971022130F401BF16F92B -:10276C003132040D31342009CFD7FB64F5D8FBEF9F -:10277C001A8C044E01DE0C8C049FD7FB8C059FD861 -:10278C00FBEF088C019FD7FBF5D8FB8F22F9313575 -:10279C0004CFD7FB64FD282C8F18F94FD7FBDD2B0A -:1027AC0040D7FB0BDE064018F90BDE1640D7FB06B4 -:1027BC00DE064018F906DE0AD5D7FBDF0ED518F970 -:1027CC00DD095020C15011FD0035C08FD7FB9F187B -:1027DC00F9FD652C1006C6D7C7D90EF9C15002FDFC -:1027EC00D62BC04024F90161F8712010055012FD60 -:1027FC0049028F0EF96C0870C15002FDD62BC050E7 -:10280C0003FD49028F0EF96C1870C15002FDD62BD6 -:10281C00C05016FD49025003FDE72B625C01D1DD6F -:10282C00107170DBFB5002C15013FD0035C0F2EF8C -:10283C0001E2C6D7C75004FDE72B625C03D1DD4033 -:10284C005014FDD92834DBFB895C9F998A0C7CFFE2 -:10285C0050FF5C14D1DD228A0C7CFF5C147234DFD7 -:10286C00FB89616A997162075600316207058666B9 -:10287C00D1DFF7716307716B2734EEFB895CEB9941 -:10288C00712810055002FDE72BD2DD374024F901E9 -:10289C00DF05500AFD49028F0EF96C1070C1500211 -:1028AC00FDD62BC0E0FD4902D90EF9C15002FDD670 -:1028BC002BC05033FD4902F0C15002FDD62BC07124 -:1028CC0078DBFBE0C15013FD0035C0C6D7C7C12073 -:1028DC0004FBF8FFCC02005004FDE72B629C038C38 -:1028EC00045C20D1DD0E8C036C019C038C026C20EB -:1028FC009C02EF138C045C10D1DD0C8C035CFE9CF1 -:10290C00038C026C109C028C045C08D1DD0E8C03D1 -:10291C006C029C038C026C089C02EF138C045C040C -:10292C00D1DD0C8C035CFD9C038C026C049C028C32 -:10293C0003D1DD05501AFD49028C0370C15004FD12 -:10294C00D62BC08FDBFB5C9F728C03318E316D14E8 -:10295C008C03318E314D616D08616C5C606162621B -:10296C009FDBFB8FE7FB7CFF50FF5E02D1DD278FE7 -:10297C00E7FB7CFF5E027234DFFB89616A9971624E -:10298C0007CC0100316207086159018C01D1DFF4D9 -:10299C00716307716B27F21006C6D7D9CFFBC150F4 -:1029AC0006FDD62BC0D9D0FBC15007FDD62BC0D706 -:1029BC00FDA729F2D7C7711300711B207103037196 -:1029CC000205E0C15003FDD62BC05013FD4902F0A7 -:1029DC00C15005FDD62BC0500FC1E0FDD62BC05009 -:1029EC000AFD49027103055008FD4902501FC1E060 -:1029FC00FDD62BC05012FD49025003FDE72B625C43 -:102A0C0001D1DF03E2EF26F0FDE72B629F08F936D8 -:102A1C0009F9C75008FDBE2BC05003C1FDD62BC011 -:102A2C00710203711A20FD762BF503F9F2C6D7500B -:102A3C0003FDE72B625C01D1DD155014FDD928FD97 -:102A4C0040285014FD4902E0C15003FDD62BC07143 -:102A5C001300711B207103035014FD4902F0C1E0F7 -:102A6C00FDD62BC0F0C15003FDD62BC0D7C7200418 -:102A7C00FBF8FFCC02008F03F99C035010C150A44B -:102A8C00FDD302C0629F03F9D545FBDD04F2ED5383 -:102A9C002B8C037F03F95C08D1DD108F03F95C08E4 -:102AAC00D1DF05CC0210EF03CC02208C037F03F99D -:102ABC005C04D1DD168F03F95C04D1DF088C026C49 -:102ACC00049C02EF068C026C089C028FDAFB5CF310 -:102ADC00728F03F95C0C6162629FDAFB8FE6FB7C00 -:102AEC00FF50FF5E029C02D1DD1F34DEFB896E02BB -:102AFC0099716207CC0100316207086159018C01A0 -:102B0C00D1DFF4716307716B278F03F95C40D1DD62 -:102B1C00095002C15012FD0035C08F03F95C01D180 -:102B2C00DD08E0C15012FD0035C0717AFA8F03F94F -:102B3C005C41D1DD113403F9895CBE99D903F9C12B -:102B4C005010FD5805C0F21004C6D7FDE427F2D78B -:102B5C00FD4028F2D7C78FEEFB7617FDD928664FBC -:102B6C00EEFBDFF2F5EEFBF2C6D75064FD490240F6 -:102B7C00D7FB0BDE03E6EF01F66061FB711120F170 -:102B8C0071142061DC70C15012FD5805C0FDB436C3 -:102B9C00CF3DFC03D7C7C1C1FBF8FFAC0ABB17C1C3 -:102BAC005002C18C0270C1506CFDA50310061004BC -:102BBC00C6D7C7C1FBF8FFAC08C15002C18B70C1AE -:102BCC00506CFDFD021006C0C6D7C788061667708C -:102BDC00C1C75084FD6F031004C6D7C716C75084F5 -:102BEC00FDD302C0C6D7C74024FD04DE045600EF57 -:102BFC000256014024F901DF048686EF0A4024F9CD -:102C0C0002DF045104610666318F12504CD63351E9 -:102C1C004CD6610A040A20BF0CF9C6D740D7FB5129 -:102C2C00DC05CF2EFC0FD740D7FB33DC05CF2EFCB9 -:102C3C000BD740D7FB0BDC05CF2EFC07D740D7FBBF -:102C4C000661D831320405CF2EFC03D7D5D7FBDD76 -:102C5C0004E52EFCD7F52EFCD7D520F9DF047163E3 -:102C6C0020D740D7FB0BDE03E6EF01F66061FB716A -:102C7C00712071142071772061C831622017716244 -:102C8C0020717420711120F171742061DC70C150BD -:102C9C0012FD5805C0D77100010571785005713AC5 -:102CAC00D5713BD1713ADD713BD98F10055CFC9F1E -:102CBC001005CF54054AE5420571104205710042DA -:102CCC0005714850057130500571205005CF5305E2 -:102CDC0005CF52050A7130510571205105713BD554 -:102CEC00717050058F11055CFC9F1105D7717850E0 -:102CFC000571080105D77140F00071783002713A06 -:102D0C00E6713BE2713BEA713BEE8F10055CFC9F78 -:102D1C001005CF34024AE552FF711A52710A5271F2 -:102D2C004830027130300271203002CF330205CFAF -:102D3C0032020A71303102713BE6717030028F1130 -:102D4C00055CFC9F110571603002D77178300271FF -:102D5C0048F000D7C788061666614FDD0967614EDB -:102D6C00DE0396EF01866672C6D7C7161714AA043F -:102D7C0012A943DD29AA0412A923FDCC4EC3AC022F -:102D8C00FDCC4E13C2BDD813FDEB0EDE0C1714AAEE -:102D9C000212AA0403BA04EF051714A9BA04AC046E -:102DAC001231FF319E03317F087208C6D77100F2D1 -:102DBC0000304400BFB601300188BF900130098457 -:102DCC00BF9E01BF9C01BF9A01BF9801BF9601BF76 -:102DDC009401BF9201F53CFF30FE00BFBE01F6BF6F -:102DEC00BC01BFB80150EEBFBA01A1BFB201C918F6 -:102DFC00FE00F6BE6EBE64BE6A7123047153078F6B -:102E0C0022F9310507F5F5FBCB6CFF0071532171ED -:102E1C004221D730EF00BFB401F6BFBA017108F2FE -:102E2C0000712304715307714321D78FACFBB0ACF5 -:102E3C00FBD1DF7331D4D106715BD1E5AEFBD5AEDE -:102E4C00FBDD347140DAFBD9ADFBF1E73402002332 -:102E5C00DD0625DD0325DF05F6BE66EF06D9F4FB9E -:102E6C00F1BE66A0ADFB40ADFB20DF06F5ADFBB0BF -:102E7C00AEFBCFACFB19D7CFACFB1E7148DAFBD540 -:102E8C00F6FBDF04F6BE66D7D9F4FBF14266FFDD34 -:102E9C0016D9F4FBF112AE6643DE05A266FFEF0312 -:102EAC00B266FFCFACFB03D7C7161714F6B9AA044A -:102EBC0012F6231231FF31AE03316FBA02C6D7C7F7 -:102ECC00C1FBF8FF8C085080D612AB1413B9AB14AD -:102EDC00AA0412A92312D949FBF133BDD813FD570B -:102EEC000DBA02C0C6D731642101D74020F902DFE8 -:102EFC0010F6BE64BE6EBE6ABFB6FBBFBCFBBFC2E3 -:102F0C00FB3154211530B2FBFDB42E30B8FBFDB4AF -:102F1C002E30BEFBFDB42EEDA62F3174210F717334 -:102F2C00217108FAFBF5B0FBF5AFFBEF6DD5AFFBEC -:102F3C00DF658F48FB9FAFFB40B0FB1FDC1A7100B5 -:102F4C00FAFB404AFBFFDD22A0B1FB8F4AFB4FB1DD -:102F5C00FBDE17F5B0FBEF12D9B0FBF1A1605C1FE3 -:102F6C009FB0FB7108FAFBF5B1FBE9B0FB094CFB18 -:102F7C0070C130B2FBFDCB2EC0E9B0FB096CFB700D -:102F8C00C130B8FBFDCB2EC0E9B0FB098CFB70C186 -:102F9C0030BEFBFDCB2EC0B0AFFB30B2FBFD762DAF -:102FAC00F313BE6E30B8FBFD762DF313BE6A30BE44 -:102FBC00FBFD762DF313BE64D7C736F00071F4DC3D -:102FCC00297170F000CE9D08CE9EC0CE9F80F594E6 -:102FDC00FFF593FFF592FFE597FFE596FFE595FF6B -:102FEC00E598FFCE9C7F7100CEFB711BE3712BE348 -:102FFC00711AE7712BE7717A9D710A9E31929E02CC -:10300C00EFFA710B9E710322711322712322C6D722 -:10301C00C73102221E710222710A9E31929E02EF6A -:10302C00FA34FCFB3692FF52078B99A5A792DFF975 -:10303C00710B9EC6D7C78806163112221571122243 -:10304C00C734C4FB3092FF1652078B99A5A792DFA9 -:10305C00F9C666736718C4FBC6D7C771032231144F -:10306C00221E711322710A9E31929E02EFFA349243 -:10307C00FF36C4FB52078B99A5A792DFF9710B9E03 -:10308C0031242213712322717B9E8F04FC9E9A8F14 -:10309C0005FC9E9B717A9EC6D7CFCFFB5CCFD0FB35 -:1030AC005FCFF0FB5DCF24FC36CF25FCC9E523FCBC -:1030BC00D7C7CFCCFB11CFCDFB36CFF4FBFFF5F54B -:1030CC00FBF5F6FBF5F7FBF5F8FB5600664C64DEFA -:1030DC0008723848FB0086EFF3C6D7C78806161768 -:1030EC00F1E73402002361E3ED2B342361F8EDCDDD -:1030FC0031B12361E3EDD43124030061F8EDE33108 -:10310C00B1240D0061D8ED2B34240B0061F8ED04D3 -:10311C00322361F8ED4B322361F8ED18322361F85C -:10312C00EDF13324060061F8EDB432B124030061F3 -:10313C00D8EDD53224000061F8EDE2322361F8EDD0 -:10314C002B34252361E3ED0A332361F8ED1B332384 -:10315C0061F8ED2C332361F8ED1B332361F8ED3D61 -:10316C00332361F8ED4E332361F8ED5D332361F8C1 -:10317C00ED7F332361F8ED8B332361F8ED97332327 -:10318C0061F8EDA033252361E3ED2B342561F8EDD7 -:10319C00A9332361F8EDB63324030061F8EDC23393 -:1031AC00240A0061F8EDCE3324090061F8ED0534F2 -:1031BC0024090061F8EDEB332361F8EDD933ED2EE2 -:1031CC0034679FCEFBED3B3430BC29FD6E39667302 -:1031DC006718CCFBED3B3440D1FB6ADF1440D2FBCB -:1031EC0068DF0E674C6CDF09305242FD6E39713A64 -:1031FC00D5679FD3FBED3B3467D1DD0630F33DFD46 -:10320C006E3934ECFB89616F99ED3B34675C02D10C -:10321C00DD0830572BFD6E39EF0C675C01D1DD06F4 -:10322C00305C2BFD6E39675C3CD1DD1030612BFDC1 -:10323C006E39675C3C7266736218CCFBED3B34678D -:10324C00D1DD625C01D1DD05300800EF01F6609F35 -:10325C002BFC675C02D1DD03E6EF01F6342BFC8915 -:10326C00616899675C04D1DD04E6A1EF01F6342BAB -:10327C00FC89616899675C08D1DD05302000EF019D -:10328C00F6342BFC89616899675C10D1DD05301030 -:10329C0000EF01F6342BFC89616899675C20D161E1 -:1032AC00E871602BFCED3B34D51AF9DF09679FF50B -:1032BC00FBA01AF9EF10401AF905DE0AE91AF967B2 -:1032CC001853FDA01AF9ED3B34675C0F72667362FC -:1032DC0018CCFBED3B34401AF964DE1F401AF9019F -:1032EC00DF0667D161F85701E91AF9671848FBA0A6 -:1032FC001AF9401AF90561C8717221ED3B34675C0B -:10330C007F70C117F1243000FD4130C0ED3B3467B4 -:10331C005C3F70C117F1243000FD4130C0ED3B34EF -:10332C00675C0770C117F1243000FD4130C0ED3BE4 -:10333C0034675C1F70C117F1243000FD4130C0EDC3 -:10334C003B346770C117F1243000FD4130C0ED3BB8 -:10335C0034CEABAC710A9E31929E02EFFAD592FF3D -:10336C00DF05710B9EEFED679E99710B9E9F03FC21 -:10337C00ED3B34712222675C7F9F04FCED3B347182 -:10338C002222675C3F9F05FCED3B34675C3F9F0648 -:10339C00FCED3B34675C1F9F07FCED3B34306C3B12 -:1033AC00FD6E39679F0CFCED3B3430273BFD6E39CD -:1033BC00679F0DFCEF7930493BFD6E39679F10FC20 -:1033CC00EF6D675C01D161E8FD4145EF624026FC81 -:1033DC00C8DE5CE926FC671876FAA026FCEF50677D -:1033EC009F26FCEF4A67318E247200DF06300409F9 -:1033FC00FD6E39679FEFFBEF36675C01D1DD03E6AD -:10340C00EF01F66061FB711102675C02D1DD03E62E -:10341C00EF01F66061FB712102679F23FCEF100046 -:10342C00EF0D664C5ADE07736718CCFBEF0100C634 -:10343C00D7C716664C30DC094C37DE05FD1C30EF67 -:10344C0073664C02DF1F8FCEFB5C03728F2DFC5C0E -:10345C0003318E316D08616A08128F2DFC5C80314E -:10346C002A6162EF5E664C3DDF0AAE90BF28FCF924 -:10347C0028FCEF4F664C3EDF05F929FCEF45664C06 -:10348C004FDF05FD6445EF3B664C61DF09E926FC27 -:10349C000976FA72EF2D664C7FDF05FD633EEF2354 -:1034AC00664C4EDF0F31742305301000EF01F60827 -:1034BC007208EF0F664C5ADC0452FFEF0666730974 -:1034CC00CCFB72C6D7C788061617F124100024054A -:1034DC0000DC07244C00DD17EF18717BFA17F104A0 -:1034EC00CCFB1489617F99717AFA713222EF03A0B7 -:1034FC0026FCC6D7C7C1C1FBF8FF4020F903DD0687 -:10350C004020F904DF2F8C027309D4FB5E0AD1DF53 -:10351C00248C02318E04CCFB14896E0A99716207DB -:10352C00CC0100316207086159018C01D1DFF471C3 -:10353C006307716B271004C6D7CF2DFC03F52BFC4A -:10354C00F52FFCF531FCD7C788061617F1E73402C6 -:10355C000025DD3E23DD1825DD1D23DD0523DD2CB7 -:10356C00EF3C716222679F30FCCF3DFC03EF2F676D -:10357C005C839F2DFCEF27675C039F2FFC675C032C -:10358C004C0261F8711224FD5947EF12679F31FC10 -:10359C00EF0C6791DF08E0C15012FD0035C0C6D7B3 -:1035AC00C71617F1E7240000DD2A23DD1E240300D3 -:1035BC00DD0724FB00DD24EF2531020705308000F8 -:1035CC00EF01F6086F2EFC7208EF198F2BFCF52B10 -:1035DC00FC72EF107152235235EF09F2EF0666734D -:1035EC00092AFC72C6D7C71617F1E7240000DD388C -:1035FC00241000DD1C23DD1C23DD30240E00DD181F -:10360C00241100DD1B240F00DD12243000DD15EF2A -:10361C001EE2EF1D5202EF195204EF155206EF1184 -:10362C005205EF0D5207EF09F2EF065203EF02526B -:10363C00FFC6D7C7314422417143228F3CFC9FD433 -:10364C00FB8F3BFC9FF3FB362EFDC7D93BFCFD19D2 -:10365C0038618A70618AFD5E38C0D940FCF1312F27 -:10366C00609F3FFC8F3AFC4F3FFCDD0D7152228F67 -:10367C003FFC9F3AFCCF3DFC03403DFC05DE0A308D -:10368C00C136FD6E39CF3DFC6BB03DFC7150F00086 -:10369C00CE300BCF170006CE3106FDAF02717A305B -:1036AC00710BE3710BE7C6D78F3FFC9F3AFC8F3F42 -:1036BC00FC9FD5FBD74020F903DF064020F904DF3F -:1036CC0002F2D73154220E7153227173228F3FFCB8 -:1036DC009F41FCEF3931642223716322717222D530 -:1036EC0030FCDF05F542FCEF0B8F30FC5002D6A10D -:1036FC00609F42FC8F42FC9F41FCEF123174220808 -:10370C008F42FC9F41FCEF068F3FFC9F41FC8F4199 -:10371C00FC9FD5FBD941FCFD3637E941FC09DA2188 -:10372C0070C15013FD5805C0F2D7C7C1C1FBF8FFDB -:10373C008C02D1DF05F530FCEF1A8C024C05DE064D -:10374C00CF30FC02EF0E8C02318E1231FE03311F92 -:10375C00609F30FC8F43FC4F30FCDD2ACC011F8F67 -:10376C0030FC9F43FCCC00008B4C08DE148B73099F -:10377C001A224F30FCDC058B9C01EF05615900EFE0 -:10378C00E78C019F3EFC1004C6D7C7168B728C01C8 -:10379C00614ADE248B728C02614ADE188C01728CB9 -:1037AC0002614ADE068C01318EEF048C02318E08E8 -:1037BC007208EF268B72EF228B728C02614ADE0448 -:1037CC008B72EF168C01728C026142DE068C013119 -:1037DC008EEF048C02318E087208C6D7C716710A98 -:1037EC00E7710BE37150F000CE300BCF170006667B -:1037FC009E31FDAF02717A30710BE33182E302EF3F -:10380C00FA8D1F7158F000710BE772C6D7C7C1C192 -:10381C00FBF8FF8F24FC4E02DC03F2EF318C024FDD -:10382C0025FCDC0452FFEF268C022F24FC70613146 -:10383C00318D128F25FC2F24FC70613133BDD813D0 -:10384C00FD790DBB440001DC03F690BB8B721004B8 -:10385C00C6D7C7C1FBF8FFAC0814A91489708B61DB -:10386C0028706131FDCC4E1344030071FEDC23AC97 -:10387C0008148A04819A04AC08148A044C11DC10D4 -:10388C00A9148B99AC0814CA0200AC0814CA031012 -:10389C00EF72AC0814CA0400AC0814A914894DDEEC -:1038AC000AAC08148A02819A02EF12AC0814A9140B -:1038BC00894D61D308AC08148A02919A02AC0814A1 -:1038CC008A03919A03D1DF3CAC08148A024C10DFB6 -:1038DC0010A91489318EA112AC0814A9146299EFA5 -:1038EC0017AC08148A024CF0DF0EA91489318EB182 -:1038FC0012AC0814A9146299AC0814CA0200AC08E2 -:10390C0014CA0310C0C6D7ED5939717BFAC7D54616 -:10391C00FC61F831042330710423712123710323DA -:10392C00D546FCDD06B046FCCEABAC717AFA56003F -:10393C00664C0ADD1272F3311C7934FDCEFC006149 -:10394C00CAFDB83986EFE9717AFAF2C6D7C75600C4 -:10395C00664C0ADE0BF0317E12F67848FC86EFF0EE -:10396C00C6D7C7C1C1FBF8FFCC01008C014C0ADEE5 -:10397C0036717BFA8C01F0317E0448FC14A9616825 -:10398C00DF09AC02B9717AFAF2EF1D8C01F0317ECD -:10399C00127948FC614902DF06717AFAE2EF09718B -:1039AC007AFA615901EFC4E21004C6D7C72004FBB0 -:1039BC00F8FFF64248FC61F8ED9D3A717BFA9C03E6 -:1039CC008C034C0ADE3C8C03F0317E0448FC14A9B9 -:1039DC006168DF05717AFAEF29717AFA8C0372F358 -:1039EC00311C7948FCCEFC0061CA629C02D1DF0A12 -:1039FC008C03F0317E12E67848FC717BFA61590336 -:103A0C00EFBECC0200CC01018C02F0317E0448FCEC -:103A1C0014A96168DD7B8C02F0317E127948FCE7D9 -:103A2C0043DF688C014C0ADE628C01F0317E127926 -:103A3C0048FCE743DD50717BFA8C01F0317E044881 -:103A4C00FC14A96168DF1B616901717BFA8C01F0C0 -:103A5C00317E12F67848FC717AFA8C024E01DCE762 -:103A6C00EF2F8C01F0317E0448FC14A9128C02F06B -:103A7C00317E337848FC8C01F0317E12E67848FCBC -:103A8C00615902717AFA615901EF98615902ED148A -:103A9C003A00F21004C6D7C72006FBF8FF3411FC1D -:103AAC00C55006C150A8C15030FDFD021006D2DD34 -:103ABC001DA05CFC405CFC08DE03E2EF5A340CFCFD -:103ACC00895CFC99FD6C3B7110DAFBF2EF49F55CFB -:103ADC00FC8F0CFC5C01D1DD264020F903DF20506B -:103AEC0010C180FD0035C0C736100571D4C6DE0F7D -:103AFC0017C15006C150A8C15030FDFD0210064040 -:103B0C0020F901DD114020F905DD0B8F0CFC5C0266 -:103B1C00D161E8FD5742F21006C6D7D90DFCC15051 -:103B2C0030FDD302C0629F10FC7130DDFB8FE5FBD2 -:103B3C005C08D1DF06716307716B27F2D7D910FCD3 -:103B4C00C1D90FFCC15030FD6F0310047130DDFB87 -:103B5C008FE5FB5C08D1DF06716307716B27F2D729 -:103B6C00C7200AFBF8FF500FC15030FDD302C040F4 -:103B7C0045FB02DF077110DAFBF2EF5F7118DAFB1D -:103B8C00CC07004023F901DF05CC0802EF03CC0879 -:103B9C0010CC09808F0CFC5C03D1DF08717AD5CC7A -:103BAC000607EF06717BD5CC062F17040600C15013 -:103BBC0004C150A0C15030FDA5031006C736100536 -:103BCC0071D4C6DE154020F903DF0F17C15006C1B2 -:103BDC0050A8C15030FDFD021006F2100AC6D7C71E -:103BEC004020F902DF04F6BF60FCB048FDD548FD6B -:103BFC0061E8ED5F3DCF48FD048F20F9318FE7235D -:103C0C00DD0B24020024030061C8ED5F3D8F22F917 -:103C1C00312346301B004260FCDF0AE0C15010FD2E -:103C2C000035C0EF203077014260FCDF185002C134 -:103C3C005010FD0035C0F64266FCDF098FF0FB50DA -:103C4C0010D6BF66FCF64266FCDD40B266FCE6426E -:103C5C0066FCDF37710221EF32301B004260FCDF63 -:103C6C0016F64268FCDF1BE0C15010FD0035C03079 -:103C7C00E803BF68FCEF0B3077014260FC61F87120 -:103C8C000221F64268FC61E8B268FC313407097124 -:103C9C003323F6BF60FCEF1731342306F6BF60FC0C -:103CAC00EF0DA260FCF64260FCDF04B1BF60FC8F3C -:103CBC0023F9318FE7240000DD0623DD0D23DF120D -:103CCC0036100571C4714123EF0B7104027141234D -:103CDC00EF037142233142231D4062FC0661D8A0E0 -:103CEC0062FC4062FC05DF11A062FC5004C1501064 -:103CFC00FD0035C0EF03F562FC3144231D4064FC2C -:103D0C000661D8A064FC4064FC05DF11A064FC5083 -:103D1C0008C15010FD0035C0EF03F564FCD565FCFF -:103D2C00DD05B065FCEF2C3142071B4063FC0661DE -:103D3C00D8A063FC4063FC05DF0FA063FC5010C1EE -:103D4C00FD0035C0EF03F563FC4063FC0661F8CF62 -:103D5C0065FC25C6D7C736100571D4DE0730A33AEB -:103D6C00FD6E39D24020F903DF1D31220706307970 -:103D7C002AFD6E393154230C7153235080C15012DB -:103D8C00FD0035C0FD983DFDC53DC6D78F2DFC5CB3 -:103D9C0001D1DD24D56BFCDD04B06BFCD7CF6BFC03 -:103DAC00098F3EFC4F6AFCDD0F8F3EFC9F6AFC5076 -:103DBC0040C15012FD0035C0D74020F903DD04F698 -:103DCC00BD1AD7D5F8FBDF08F6461ADD19B61AD797 -:103DDC00D9F4FBF1461ADD0ED9F4FB12AD1A43DE11 -:103DEC0003A61AD7B61AD7C78FECFB76F5ECFB5C9B -:103DFC0010D161E8716223665C0FD1DD57665C01FE -:103E0C00D1DD05F520F9EF4C665C02D1DD11E0C186 -:103E1C005003FDD62BC0711300711B207103036678 -:103E2C005C04D1DD11711300711B20D52DFC61F8E0 -:103E3C00710303FD4535665C08D161E871030350DD -:103E4C0005FD49027102035003C1FDD62BC0711A46 -:103E5C0020FD762BF2C6D7C7200AFBF8FF401AF9D3 -:103E6C000ADC0452FFEF618F22F931150530040092 -:103E7C00EF0F8F22F9314505300500EF04D923F9F6 -:103E8C00F1609B8F08F99C018F24FD9C028F09F92E -:103E9C009C038F0AF99C048F6CFC9C058F02F99C87 -:103EAC0006714420E661301271042061DC31196125 -:103EBC0062629C07CC08018F24F99C09A01AF9D9DD -:103ECC001AF9F1B107148972100AC6D7C78F20F9F5 -:103EDC00318FE724000061F8EDAA4023DD1B23613C -:103EEC00F8EDB23F2361F8ED2E402361F8ED7940F7 -:103EFC002361F8ED4C41EDA740D521F9DF2CF642BA -:103F0C0060FCDD05F54AFDEF03A04AFD404AFD6566 -:103F1C00DC0ACF20F905710223EDCA41AF60FC44E5 -:103F2C000A0061D8EDCA41E521F9713223F54AFD49 -:103F3C00F5EFFBFDC904715320FDC5234023F903A4 -:103F4C00DF09710223F520F9EDCA41FD412640D964 -:103F5C00FB9BDE09710223F520F9EDCA41714A275A -:103F6C007140110571301105713A22715A2271504C -:103F7C001105FDC129D2DD09710223F520F9EDCA25 -:103F8C004171103500CF37001D714012054021F9E9 -:103F9C0001DF05F5F5FBEF04CFF5FB03CF20F902AC -:103FAC00FDA729EDCA41FDA22CFD022D714A9DFDF4 -:103FBC004535FDBD30F537FF712BE0F521F9710268 -:103FCC0023CBE43FEFCBE6F6F0FDC904713BD47193 -:103FDC0012027123028F22F93105285004FDE72BC0 -:103FEC00625C03318E315D34DBFB89616899500270 -:103FFC00FDE72BD2DD067170DBFBEF047178DBFB88 -:10400C00FDC523FDB92D710822F9CF20F9038FCE00 -:10401C00FB5C02D1DD095080C15010FD0035C0EDB4 -:10402C00CA41FDCC4131642331A06EFCD56EFCDD60 -:10403C000831A4E00A31020C06712BE0FD4242313A -:10404C00A4E01731040C13712BE05027C15005FD6F -:10405C00D62BC0CF20F904710223FD37428F22F9F1 -:10406C0031250731040703F520F9EDCA41FDCC4198 -:10407C0031020C14F0C15005FDD62BC05005FD4982 -:10408C0002FD4242CF20F903FD37428F22F9312540 -:10409C000731040703F520F9EDCA41F520F9CFF5F6 -:1040AC00FB03F5F6FBF5F8FB715221F6426CFF6150 -:1040BC00E8EDCA41F6BF66FC710321F50CFCFD6C02 -:1040CC003BFD1F2EFDF92CFD572D714B9D711302DD -:1040DC00712302F5DCFBF5DDFBF5DEFBF5DFFB31D7 -:1040EC00242102EFFACE3708CBE4BFFFCBE6FFF179 -:1040FC00CED4FFCF37000971481205F6BEE0BEE200 -:10410C00BED0716A27FD3B2A714307714B2771485A -:10411C00100571481105713810057138110571338E -:10412C0002713B22715302715B2271581005715858 -:10413C001105FD3205CF20F905713223F6BF60FC65 -:10414C00F521F931020729FDC523AF60FC440A00B3 -:10415C0061C8E520F9D523F961E8FD32058F22F914 -:10416C0031255B502EFD4902E521F9E520F9EF4E92 -:10417C00D504F9DF49FD3205FD4E2371730171320F -:10418C000471430271032071522031949E02EFFAA4 -:10419C00712AE7CEA409F5F3003104070261FDE5AD -:1041AC00F300CEA40831040709713323E520F9F597 -:1041BC004AFD712BE78F22F9312503F520F9C6D77B -:1041CC00D56FFCDF1A310200155003FDE72B625C42 -:1041DC0001D1DF07F520F9710223D7E56FFCD74039 -:1041EC006FFCF0DF0831040041F56FFCD7406FFC29 -:1041FC00C8DF0BF520F9710223CF6FFCF0D7310229 -:10420C00000A406FFCFFDD22A06FFCD7F0C1500408 -:10421C00FDD62BC08FDBFB5C9F9FDBFB7110ECFB97 -:10422C0030F33DFD6E39CF6FFCF0D731042106F52C -:10423C0020F9710223D7716323F56EFC717207FDAF -:10424C00AF02717307D7FD9F05F2D7C7200CFBF89F -:10425C00FF8F12FCF0F911FCF303FDCC4E13BC04E0 -:10426C008F14FCF0F913FCF303FDCC4E13BC028F3E -:10427C0016FCF0F915FCF303FDCC4E13BBAC04BDDE -:10428C00D8F6BDDAAC04311EBDDCF6BDDEFD2C0D5E -:10429C00ADD8BDDCADDABDDEAC02BDD8F6BDDAAC56 -:1042AC0002311EDADCC3DADEC3BDDCF6BDDEFD2C6A -:1042BC000DC0BDDEC0BDDCADDEFDA20EADD8BDDCDB -:1042CC00ADDABDDEABBDD8F6BDDAAB311EDADCC380 -:1042DC00DADEC3BDDCF6BDDEFD2C0DC0BDDEC0BD1F -:1042EC00DCADDEFDA20EDADAADD8FD5746C3C58FC4 -:1042FC000EFD5C3FF0317E048EFC14C2C0B9A00EE2 -:10430C00FDF6BC08BC0A9C078C074C2EDD3E8F0EBC -:10431C00FD0E0770F161DC605C3FF0317E12798E2E -:10432C00FCBDD8F6BDDA8C0773092422318FBDDCB5 -:10433C0070BDDEFD2C0DAC08BDDCAC0AFDA20EADD3 -:10434C00DABC0AADD8BC08615907EFBCAC08BDD8C3 -:10435C00AC0ABDDAC9DC0004F6FDF60DC9DCFFFFC2 -:10436C00F6FDF70EADD8BF88FCAF82FC4288FCDDB1 -:10437C0012AF84FCBF86FCAF82FCBF84FCAF88FC10 -:10438C00BF82FCAF84FC4286FCDC50AF82FC4284D2 -:10439C00FCDE48AF4CFD4282FCDE404050FD16DC9A -:1043AC001F4050FDA0DE168F8AFC4F50FDDE0EAF75 -:1043BC0082FC228CFC44691061C8FD3044F550FD30 -:1043CC00AF82FC445146DC0BAF82FC241027BF4E5D -:1043DC00FDEF1930F82ABF4EFDEF114050FDFFDD07 -:1043EC0003E6EF01F63450FD89610899AF86FC4273 -:1043FC0084FCDC1BAF84FC4282FCDE13AF82FC42EB -:10440C004EFDDE0BF58AFCAF82FCBF8CFCEF11403D -:10441C008AFCFFDD03E6EF01F6348AFC896108991A -:10442C00100CC6D7717BFAC7710A9E31929E02EFAF -:10443C00FA8E949F7AFC8E969F7BFC8E979F7CFCC9 -:10444C008E989F7DFC8E939F7EFC8E929F7FFC713D -:10445C000B9E717AFA8F7DFCFD0B0F76FDD5451303 -:10446C00BF80FCD517FCDF0AD518FCDF05D519FC7D -:10447C00DD2CF6B14280FCDF17665C0391DF03E6AE -:10448C00EF01F6046D01313D120103B1BF80FC96C2 -:10449C0017FDF84613FD0F4531742302EF635206E6 -:1044AC009292697AFC6872FCDFF6AF80FCBF78FCF4 -:1044BC00F970FCF3311C7926F944FEFFDD43D97009 -:1044CC00FCF1010426F914A944FFFFDF04E6B9EF5F -:1044DC000CD970FCF1010426F914A9A1B9A017FCA0 -:1044EC00D517FCDF1CA018FCD518FCDF14A019FC98 -:1044FC00D519FCDF0CCF17FCFFCF18FCFFCF19FC34 -:10450C00FFC6D7C716D970FCF10744A800DC0571AB -:10451C007223EF1FF647DD1BA070FC4070FCA8DC7B -:10452C0005717223EF0DF970FCF3311CF67826F946 -:10453C00B7EFE1C6D7C756A89666F0317E12F6B132 -:10454C007826F966D1DFF1F517FCF518FCF519FCA6 -:10455C00F570FC717323C6D7C72004FBF8FFD51A7E -:10456C00F9DF188F70FC9F0FFD717BFA5206929247 -:10457C006972FC6810FDDFF6717AFA401AF906DEF2 -:10458C0010E91AF90910FD9C03A01AF98C0372EFBB -:10459C0034F90FFDF3311C7926F9BB310224058B5C -:1045AC009C03EF128C019C03D50FFDDF06CF0FFD92 -:1045BC00A7EF03B00FFD718071072461DC61FB7103 -:1045CC0001248C03721004C6D7C72008FBF8FF8F98 -:1045DC007DFCFD0B0F9C078F7CFCFD0B0F9C068F4D -:1045EC007BFCFD0B0F9C058F7AFCFD0B0F9C048F45 -:1045FC007EFC9C038F7FFC9C028C06318E01127911 -:10460C005222BB8C075C03D1DF098C064C0361C8BA -:10461C006179008C05318EB1610900BB313D12010D -:10462C0003BB8B0E04708C011C00BB8F1CFC4E0357 -:10463C00DC0E8C034F1CFCDC0B8C024F1DFCDC04D1 -:10464C00AB12EF03ABB1121008C6D7C7C3C1200819 -:10465C00FBF8FFF661490A61F8614908DF07F73496 -:10466C000000EDF446E6BC04F6BC06AC0ABC02AC99 -:10467C0008BBAC06614902AC0461F8614900DE2854 -:10468C00AC04BDD8AC06BDDAE1FDB10EADDABC06AA -:10469C00ADD8BC04ABBDD8AC02BDDAE1FDCC0EADDF -:1046AC00DABC02ADD8BBEFCAAC06BC02AC04BBACE6 -:1046BC0008BDD8AC0ABDDAAC04BDDCAC06FD2F0ECF -:1046CC00AC04BDDCAC06FDA20EE1FDCC0EADDABC3B -:1046DC0006ADD8BC04AC06614902AC0461F8614972 -:1046EC0000DCC5AC0214AB12100CC6D7C7168F7504 -:1046FC00FCFD0B0F77614EDF22AF78FC4280FCDEB5 -:10470C0009AF80FC2278FC12EF41F64280FCDF08F6 -:10471C004278FCDD03E7EF33F7EF3017F1B11267A6 -:10472C00318E43DF1B665C0391DF03E6EF01F60479 -:10473C006D01313D1201032278FC0280FC12EF0B5B -:10474C0067614EDE0532A900EF01F7C6D7717BFA1F -:10475C003112240CF64218FDDD06B218FDEDF847B7 -:10476C00711324717AFA4020F904DF08715307F5AC -:10477C0052FDEF78D9F7FBF1E7240000DD0F23DDC4 -:10478C001C23DD1123DD6223DD2E23DD4371530752 -:10479C00F552FDEF57715207F552FDEF4FD552FD13 -:1047AC00DF08715207E552FDEF06715307F552FD14 -:1047BC0030FA00BF18FDEF34D552FDDF0E715207F1 -:1047CC00E552FD30FA00BF18FDEF21F5F7FBEF1CA9 -:1047DC00D552FDDF0E715307E552FD30FA00BF18BC -:1047EC00FDEF09CFF7FB02EF03FDF947D7D92FFCFB -:1047FC00F1E7240000DD0923DD2723DD0A23EF2167 -:10480C00715307F552FDD7D552FDDF08715207E5FC -:10481C0052FDEF06715307F552FD302D02BF18FD06 -:10482C00D7715207E552FDD731422101D77163216F -:10483C00D9F5FBF1E7240000DD1223DD1923DD118E -:10484C0023DD2623DD3423DD3923DD3FFDC048EF96 -:10485C003DFDE348EF38D9F4FBC1AE6CFD602DC0D3 -:10486C00F313BE6C712304EF25F0C1AE6CFD602D0B -:10487C00C0F313BE6C712304EF14F6BE6C712204EA -:10488C00EF0CCB6CFF00712304EF03FD604940205B -:10489C00F905DD064020F901DF067123047163215F -:1048AC003164210FF6BE64BE6A3124040390EF011B -:1048BC00F6BE6ED7CF58FD47F51AFDAE6C317DBFF5 -:1048CC0020FDFD3549D2DF0ED9F4FBC1AE6CFD6085 -:1048DC002DC0F313BE6CD7FD3549D2DD0FCF58FD7B -:1048EC0047F51AFDAE6C317DBF20FDD7E91AFD09E5 -:1048FC006C225080D6BF1CFD2220FDBDD830470055 -:10490C00FD570DBF1EFD301CFDFD762DF313BE6C47 -:10491C00B058FDD558FDDF10CF58FD47A01AFD400B -:10492C001AFD1F61C8F51AFDD740D7FB0BDC0571CA -:10493C002304F2D740D7FB0661D831322011F0C1E5 -:10494C00AE6CFD602DC0F313BE6C712204EF03FD41 -:10495C006049E2D7716221F0C1AE6CFD602DC0F3ED -:10496C0013BE6CA022FD4022FD40DC3DF522FDD99A -:10497C0023FDF1313F0454FD14D923FDF1BDD85072 -:10498C0008FDA60D087208E6D2DD040192DFFC8951 -:10499C006158D1DD05712204EF03712304A023FDBE -:0A49AC004023FD2061C8F523FDD76C -:1049B60061FC61FCC1C3C5C7520C929269D4FEC1A9 -:1049C600DFF88EFD708EFCC1717AFA4020F903DFA4 -:1049D6000630792AFD6E39C09EFC609EFD34D4FEF9 -:1049E6005206C0B9A5A592DFF9C6C4C2C061FC6172 -:1049F600DF520C929269D4FEC1DFF88EFD708EFCF8 -:104A0600C1717AFAC736410571A4C6DC51F526FD97 -:104A16007148500571605005313422367162077154 -:104A260033228FDCFB5FE4FBD1DF1B8FDDFB5FE511 -:104A3600FBD1DF128FDEFB5FE6FBD1DF098FDFFBE9 -:104A46005FE7FBD1DD0C31620702EFFA7163077194 -:104A56006B27710324FD6630F51AF9ED7E4BC736D8 -:104A660041057184C6DE0DF526FD71485005FD66CB -:104A760030ED7E4BC73641057194C6DE0FD526FD57 -:104A8600DD0A4026FD0261E8716050058F26FD3182 -:104A96008FE7240000DD0823DD1323DD31EF597194 -:104AA60040500571505005E526FDED7E4B8F4005C3 -:104AB6009F1BF9715050058F1BF99F1EF9D91BF9E1 -:104AC600FD3D34629F1DF9CF26FD02ED7E4BC736B4 -:104AD60041057194C6DE1DC736410571C4C6DE06A2 -:104AE600CF26FD03EF127148500571605005F5267B -:104AF600FDED7E4BCF26FD044026FD03DF138F1D03 -:104B0600F99F4005D91DF9C1D91BF9FDD134C0EF74 -:104B1600218F4005768F1BF901DC05D51BF9DF06D1 -:104B260071605005EF52C7D91BF9FDE730C07150CF -:104B36005005D91EF9F1242900DD2D240400DD28B5 -:104B4600242200DD23241100DD0C240100DD1924BC -:104B56001E00DD14EF0C401BF960DF0CCF1BF96162 -:104B6600EF06F51AF9A01BF94026FD03DF0AD91B4B -:104B7600F9FD3D34629F1DF9C09EFC609EFD34D454 -:104B8600FE5206C0B9A5A592DFF961FCC1C7717ACC -:104B9600FA714AE5717BBD51405F0401D1DD06F62D -:104BA60016A747DFF2300400BF2401F6BF2A013002 -:104BB6000B0BBF28010000000000000000510FBFD2 -:104BC60028010000000000000000500FBF280171FE -:104BD6000AE6712321C6C061FCC1C5717AFAD544C3 -:104BE600FBDD0EEB42FB899E44A242FBB044FBEF89 -:104BF60033710AE6300400BF2401F6BF2A01300BE8 -:104C06000BBF28010000000000000000510FBF2864 -:104C1600010000000000000000500FBF28017113C2 -:104C260021712321C4C061FC61EF520C929269D4B8 -:104C3600FEC1DFF88EFD708EFCC12006FBF8FF7109 -:104C4600503002CEABACCC0100F6BC0231B2E20F62 -:104C5600617902F6614902DFF371603002EF7E8E00 -:104C6600519B713BE28B5C02D1DD1D8B5C08D1DF71 -:104C76000971503002CC0100EFCF8C0570FDAC35C8 -:104C8600629E50CC0102EFC18B5C03D1DF408E5097 -:104C96009C04715030028C01D1DF0E8C0470FDF241 -:104CA60035629C05CC0101EF318C014C02DF0671A7 -:104CB600603002EF28CF34025A716030028C0470E3 -:104CC600C18C0570FD5335C0CF34024AEF0F8B5CA3 -:104CD60001D1DD0671603002EF03ED4F4C1006C0C6 -:104CE6009EFC609EFD34D4FE5206C0B9A5A592DF97 -:104CF600F961FCC1C3C5C7520C929269D4FEC1DFEB -:104D0600F88EFD708EFCC1710A9E31929E02EFFAFA -:104D16008F06FC4F96FFDF198F07FC4F97FFDF11B9 -:104D26008F08FC4F98FFDF095004C15011FD003574 -:104D3600C0710B9EC09EFC609EFD34D4FE5206C020 -:104D4600B9A5A592DFF9C6C4C2C061FCA046FC6144 -:104D5600FCC1C3C5C7520C929269D4FEC1DFF88E5E -:104D6600FD708EFCC1C1FBF8FF8D1F9C018E313199 -:104D76008EE7240600DD0823DD0F23DD25EF4571D0 -:104D86007AFA8C019F3CFCEF3B717AFA4023F901D9 -:104D9600DF078C019F3BFCEF2B51FF2E019F3BFC55 -:104DA600EF22717AFA8C019F02F98FDAFB5C01D14E -:104DB600DF124020F903DD064020F904DF06308DBE -:104DC60025FD6E394031FF09DE05A031FFEF19716F -:104DD60058F0007142224044FC02DF03F6EF05D989 -:104DE60044FCF1A1609F44FC710BE3C0C09EFC60D3 -:104DF6009EFD34D4FE5206C0B9A5A592DFF9C6C4FD -:104E0600C2C061FC61FF520C929269D4FEC1DFF808 -:104E16008EFD708EFCC1717AFA8F0CFC5C03D1DDBD -:104E2600194020F903DD064020F904DF0D36100590 -:104E360071D4DE0630A33AFD6E39C09EFC609EFD3D -:104E460034D4FE5206C0B9A5A592DFF961FC61FC17 -:104E560061FC61FC61FC61FC61FC61FC61FC61FC64 -:104E660061FC61FC61FC61FC61FC61FC61FC61FC54 -:104E760061FC61FC61FC61FC61FC61FC61FC61FC44 -:064E860061FC61FC61FC0F -:0A4E8C0000060C12181E242A30360E -:104E9600FF000000D4FB0000000040FC0000000002 -:104EA600EB3B3F368C223448372EF22E5947613D74 -:104EB6001209D83E01000000983AF82AFF000000C7 -:064EC6005555555547004B -:084ECC00317503F7332312D7FF -:024FF400013684 -:0A4FF60031353A31363A3139000006 +:10228C00D512F9DD0D8FF2FCB0F2FCD1DF4DCFF29F +:10229C00FC1EFD4623FDE82231325C0D31045C0945 +:1022AC0031126005713304EF03713204FD1F2331C9 +:1022BC00225C05714202EF03714302D428DD05B4A0 +:1022CC0028714202314402067140C9FBEF04714887 +:1022DC00C9FB4012F90161E8FD1426D74A264BDCF4 +:1022EC00134A26B9DE0E4004F928DE04A004F9D7FF +:1022FC0071335CD74A263EDC054A26BDDC0E400510 +:10230C00F928DE04A005F9D771325CD7F504F9F58C +:10231C0005F9D73122600E4006F902DE04A006F959 +:10232C00D771235CD73132040A40C5FB3CDE047103 +:10233C00235CD771225CF506F9D7C7C1FBF8FF7196 +:10234C00445C711760DE5771146071415C3114602C +:10235C00127130C9FB5002C15011FDB534C0CD28EB +:10236C0032EF3B7138C9FBE0C15011FDB534C0F4FC +:10237C002817C15002FD532BC0D2DF0D8B318E318B +:10238C008D080E01081C00BD2AAD2A44009BDC05FB +:10239C00D5C5FBDF095020C15011FDB534C0C0C6F6 +:1023AC00D7C78D2076FDEF23D515F9DD0571035CBC +:1023BC00EF2FFD872B664B2061F831545C1A71535B +:1023CC005CFDC304664C07DD0381DF098F14F93112 +:1023DC000303FD7824FD8C2471025C306825FD021A +:1023EC0039C6D7C77162017172015005FD470250A1 +:1023FC0008FD7F37629D265009FD7F376276716339 +:10240C0001711814F94A26F1DC05E515F9EF224A99 +:10241C002604DE1ACF15F9025008C1506CFDD1020A +:10242C00C092DF0DD437DF09711014F9EF03F515E5 +:10243C00F94015F901DF05710A22EF06710B2271C3 +:10244C000302CD20075700674C08DE107309D22118 +:10245C00614EDC05679D20EF0387EFEB4A2007DF19 +:10246C0009D515F961F8CF15F903C6D7500AFD4700 +:10247C0002304000C15006FD362BC05096ED47028D +:10248C00C72006FBF8FFD515F961E8ED6425304A45 +:10249C0057C1503EFD362BC0D2DD077100C8FBED95 +:1024AC0064257108C8FB17A1C15004C1500CC15060 +:1024BC006CFDF9021006EA2EAA48318D12AA483199 +:1024CC008E616B08616A08C1500EFD362BC0F69008 +:1024DC00C1500CFD362BC0CC00008B4C04DE2631D9 +:1024EC00245D02EFFA71125DEA2E8B5010D605C1F5 +:1024FC005010C18BD6044000C1506CFDA1031006D6 +:10250C00615900EFD550A5FD4702EA2EAA48318D3E +:10251C0012AA48318E616B08616A08C1500EFD36F3 +:10252C002BC050A5FD47025004C1506CFDD102C018 +:10253C00629C05EA2E8A4B4E0561C3048A4A4E05FD +:10254C0017A1C15004C1500CC1506CFDA103100661 +:10255C00F6C1503EFD362BC01006C6D7C78F07F903 +:10256C004B2661F8ED11264009F928DE06A009F981 +:10257C00ED1126F509F98D269F07F98D265070D699 +:10258C0012307351230480001231FF318E039F08E7 +:10259C00F99FC4FBF68F08F97C804C95DC1C8F08E6 +:1025AC00F9318F241400EA2EBDD8AA44FDE00D1297 +:1025BC0031FF318E03318F16EF1A8F08F9318F24CA +:1025CC001400EA2EBDD8AA46FDE00D1231FF318E63 +:1025DC0003318F16EA2E8A427217F3031644000158 +:1025EC0071FE61C836FF001701DE02F61617BD4EEC +:1025FC00C7500CFD362BC0D2DF078D269F07F9EF95 +:10260C00047100C8FBF2C6D7C72008FBF8FF4015C1 +:10261C00F901DD064015F902DF3217040600FD2E24 +:10262C002CD2DF0A8C069C058C079C04EF06CC058B +:10263C0063CC040017040600FD4B2CD2DF078C067C +:10264C009FC7FBEF04CFC7FBC8ED43271704060059 +:10265C00FD2E2CD2DD107100C8FB71035CCC050083 +:10266C0071025DED1C278C06318E318D080E07082A +:10267C001C00BD2AEA2E8A4072AD2AFD330FBD2AFA +:10268C008D2B9C06D1DF08CC0601CC0700EF048D06 +:10269C002A9C0717040200FD4B2CD2DF738C029F7F +:1026AC00C7FB8C02318E318D080E03081C00BD2A2D +:1026BC004401A5DC09CC0164F6BF0AF9EF52AD2A3E +:1026CC00220AF94401A0DC09CC011EF6BF0AF9EF7D +:1026DC003FAD2A44819DDC0BCC010A30F401BF0ACA +:1026EC00F9EF2DAD2A44019BDC0BCC010530F40134 +:1026FC00BF0AF9EF1BAD2A440191DC0BCC01003071 +:10270C00F401BF0AF9EF0971025D30F401BF0AF957 +:10271C003132040C31245C08CC0564CC0400EF1776 +:10272C008C064E01DE0A8C069C058C079C04EF0778 +:10273C008C019C05CC04008F14F9313503CC056455 +:10274C008C059FC5FB8C049FC6FBFDBB2B8F0CF926 +:10275C004E05DD2B40C5FB0BDE06400CF90BDE16DF +:10276C0040C5FB06DE06400CF906DE0AD5C5FBDFCC +:10277C000ED50CF9DD095020C15011FDB534C08FB8 +:10278C00C5FB9F0CF9FDF82B1008C6D7C7D830C174 +:10279C005002FD6B2BC04016F90161F87120100539 +:1027AC005012FD47028D306C0870C15002FD6B2B2E +:1027BC00C05003FD47028D306C1870C15002FD6B88 +:1027CC002BC05016FD47025003FD7C2B625C01D1DF +:1027DC00DD107170C9FB5002C15013FDB534C0F24D +:1027EC00EF01E2C6D7C75004FD7C2B625C03D1DD40 +:1027FC00405014FD882834C9FB895C9F998A0C7C55 +:10280C00FF50FF5C14D1DD228A0C7CFF5C14723407 +:10281C00CDFB89616A9971620756003162070586A2 +:10282C0066D1DFF7716307716B2734DCFB895CEBD6 +:10283C0099712810055002FD7C2BD2DD354016F91C +:10284C0001DF05500AFD47028D306C1070C150023B +:10285C00FD6B2BC0E0FD4702D830C15002FD6B2B45 +:10286C00C05033FD4702F0C15002FD6B2BC0717894 +:10287C00C9FBE0C15013FDB534C0C6D7C7C1200495 +:10288C00FBF8FFCC02005004FD7C2B629C038C04F3 +:10289C005C20D1DD0E8C036C019C038C026C209CA3 +:1028AC0002EF138C045C10D1DD0C8C035CFE9C03DA +:1028BC008C026C109C028C045C08D1DD0E8C036CB9 +:1028CC00029C038C026C089C02EF138C045C04D1F8 +:1028DC00DD0C8C035CFD9C038C026C049C028C0351 +:1028EC00D1DD05501AFD47028C0370C15004FD6BFD +:1028FC002BC08FC9FB5C9F728C03318E316D148C95 +:10290C0003318E314D616D08616C5C606162629F58 +:10291C00C9FB8FD5FB7CFF50FF5E02D1DD278FD525 +:10292C00FB7CFF5E027234CDFB89616A9971620790 +:10293C00CC0100316207086159018C01D1DFF471BF +:10294C006307716B27F21006C6D7D9BDFBC15006C1 +:10295C00FD6B2BC0D9BEFBC15007FD6B2BC0D7FD47 +:10296C005629F2D7C7711300711B20710303710232 +:10297C0005E0C15003FD6B2BC05013FD4702F0C1A5 +:10298C005005FD6B2BC0500FC1E0FD6B2BC0500AE6 +:10299C00FD47027103055008FD4702501FC1E0FDC1 +:1029AC006B2BC05012FD47025003FD7C2B625C0167 +:1029BC00D1DF03E2EF24F0FD7C2B629D2C3602F973 +:1029CC00C75008FD532BC05003C1FD6B2BC07102C7 +:1029DC0003711A20FD132BF427F2C6D75003FD7C8C +:1029EC002B625C01D1DD155014FD8828FDF12750B8 +:1029FC0014FD4702E0C15003FD6B2BC07113007135 +:102A0C001B207103035014FD4702F0C1E0FD6B2B3A +:102A1C00C0F0C15003FD6B2BC0D7C72004FBF8FFDF +:102A2C00CC02008D279C035010C150A4FDD102C0D4 +:102A3C00629D27D437DD04F2EDF02A8C037B275CF2 +:102A4C0008D1DD0F8D275C08D1DF05CC0210EF0318 +:102A5C00CC02208C037B275C04D1DD158D275C0414 +:102A6C00D1DF088C026C049C02EF068C026C089C73 +:102A7C00028FC8FB5CF3728D275C0C6162629FC88D +:102A8C00FB8FD4FB7CFF50FF5E029C02D1DD1F3418 +:102A9C00CCFB896E0299716207CC01003162070888 +:102AAC006159018C01D1DFF4716307716B278D279C +:102ABC005C40D1DD095002C15012FDB534C08D27E8 +:102ACC005C01D1DD08E0C15012FDB534C0717AFA59 +:102ADC008D275C41D1DD0C5A27BED827C15010FD83 +:102AEC005205C0F21004C6D7FD9827F2D7FDF12786 +:102AFC00F2D7C78FDCFB7617FD8828664FDCFBDF2F +:102B0C00F2F5DCFBF2C6D75064FD4702FD632C6284 +:102B1C0061FB71115CF171145C61DC70C15012FDD0 +:102B2C005205C0FD5B36CD3D03D7C7C1C1FBF8FFD5 +:102B3C00AC0ABB17C15002C18C0270C1506CFDA114 +:102B4C000310061004C6D7C7C1FBF8FFAC08C15070 +:102B5C0002C18B70C1506CFDF9021006C0C6D7C7FC +:102B6C008806166770C1C75084FD6B031004C6D766 +:102B7C00C716C75084FDD102C0C6D7C74A2004DE91 +:102B8C00045600EF0256014016F901DF048686EF69 +:102B9C000A4016F902DF045104610666318F1250A7 +:102BAC004CD633514CD6610A040A20BD2EC6D740F0 +:102BBC00C5FB51DC05CF1CFC0FD740C5FB33DC0536 +:102BCC00CF1CFC0BD740C5FB0BDC05CF1CFC07D77F +:102BDC0040C5FB0661D831320405CF1CFC03D7D5A8 +:102BEC00C5FBDD04E51CFCD7F51CFCD7D512F9DFC1 +:102BFC000471635CD7FD632C6261FB71715C7114B1 +:102C0C005C71775C61C831625C1771625C71745C79 +:102C1C0071115CF171745C61DC70C15012FD520574 +:102C2C00C0D7C7164010FCFFDD0C8F10FC9B17148F +:102C3C00CA0100F2EF07C75004FD532BC0C6D7C71B +:102C4C00164011FCFFDD078F11FC9BF2EF07C750FC +:102C5C0002FD532BC0C6D740C5FB0BDE02E2D7F2F8 +:102C6C00D77100010571785005713AD5713BD1715E +:102C7C003ADD713BD98F10055CFC9F1005CF5405D4 +:102C8C004AE5420571104205710042057148500534 +:102C9C007130500571205005CF530505CF52050AF0 +:102CAC007130510571205105713BD5717050058FF4 +:102CBC0011055CFC9F1105D7717850057108010551 +:102CCC00D77140F00071783002713AE6713BE271D5 +:102CDC003BEA713BEE8F10055CFC9F1005CF340274 +:102CEC004AE552FF711A52710A5271483002713022 +:102CFC00300271203002CF330205CF32020A71301C +:102D0C003102713BE6717030028F11055CFC9F1132 +:102D1C000571603002D7717830027148F000D7C766 +:102D2C0088061666614FDD0967614EDE0396EF017A +:102D3C00866672C6D7C7161714AA0412A943DD29D2 +:102D4C00AA0412A923FD7A4EC3AC02FD7A4E13C21B +:102D5C00BDD813FDB00FDE0C1714AA0212AA04037F +:102D6C00BA04EF051714A9BA04AC041231FF319E52 +:102D7C0003317F087208C6D77100F200304400BFDF +:102D8C00B601300188BF9001300984BF9E01BF9C01 +:102D9C0001BF9A01BF9801BF9601BF9401BF920178 +:102DAC00F53CFF30FE00BFBE01F6BFBC01BFB80151 +:102DBC0050EEBFBA01A1BFB201C918FE00F6BE6E3B +:102DCC00BE64BE6A7123047153078F14F931050771 +:102DDC00F5E3FBCB6CFF0071535D71425DD730EFB7 +:102DEC0000BFB401F6BFBA017108F200712304717F +:102DFC00530771435DD78F9AFBB09AFBD1DF7331C8 +:102E0C00D4D106715BD1E59CFBD59CFBDD347140C4 +:102E1C00C8FBD99BFBF1E734020023DD0625DD035B +:102E2C0025DF05F6BE66EF06D9E2FBF1BE66A09B78 +:102E3C00FB409BFB20DF06F59BFBB09CFBCF9AFB7A +:102E4C0019D7CF9AFB1E7148C8FBD5E4FBDF04F6FB +:102E5C00BE66D7D9E2FBF14266FFDD16D9E2FBF183 +:102E6C0012AE6643DE05A266FFEF03B266FFCF9A91 +:102E7C00FB03D7C7161714F6B9AA0412F62312319E +:102E8C00FF31AE03316FBA02C6D7C7C1FBF8FF8C56 +:102E9C00085080D612AB1413B9AB14AA0412A92390 +:102EAC0012D937FBF133BDD813FD1C0EBA02C0C6C4 +:102EBC00D731645D01D74012F902DF10F6BE64BE53 +:102ECC006EBE6ABFA4FBBFAAFBBFB0FB31545D153D +:102EDC0030A0FBFD7F2E30A6FBFD7F2E30ACFBFD22 +:102EEC007F2EED712F31745D0F71735D7108E8FBEE +:102EFC00F59EFBF59DFBEF6DD59DFBDF658F36FBDE +:102F0C009F9DFB409EFB1FDC1A7100E8FB4038FBC9 +:102F1C00FFDD22A09FFB8F38FB4F9FFBDE17F59E3A +:102F2C00FBEF12D99EFBF1A1605C1F9F9EFB710809 +:102F3C00E8FBF59FFBE99EFB093AFB70C130A0FB57 +:102F4C00FD962EC0E99EFB095AFB70C130A6FBFD15 +:102F5C00962EC0E99EFB097AFB70C130ACFBFD9646 +:102F6C002EC0B09DFB30A0FBFD412DF313BE6E3087 +:102F7C00A6FBFD412DF313BE6A30ACFBFD412DF3D6 +:102F8C0013BE64D7C736F00071F4DC297170F00001 +:102F9C00CE9D08CE9EC0CE9F80F594FFF593FFF595 +:102FAC0092FFE597FFE596FFE595FFE598FFCE9C30 +:102FBC007F7100BCFB711BE3712BE3711AE7712B62 +:102FCC00E7717A9D710A9E31929E02EFFA710B9E07 +:102FDC0071035E71135E71235EC6D7C731025E1E2C +:102FEC0071025E710A9E31929E02EFFA34EAFB3650 +:102FFC0092FF52078B99A5A792DFF9710B9EC6D74A +:10300C00C788061631125E1571125EC734B2FB30DA +:10301C0092FF1652078B99A5A792DFF9C6667367C4 +:10302C0018B2FBC6D7C771035E31145E1E71135EF6 +:10303C00710A9E31929E02EFFA3492FF36B2FB5225 +:10304C00078B99A5A792DFF9710B9E31245E137142 +:10305C00235E717B9E8FF2FB9E9A8FF3FB9E9B717E +:10306C007A9EC6D7CFBDFB5CCFBEFB5FCFDEFB5DD0 +:10307C00CF12FC36CF13FCC9E5E9FBD7C7CFBAFB9F +:10308C0011CFBBFB37CFE2FBFFF5E3FBF5E4FBF520 +:10309C00E5FBF5E6FB5600664C64DE08723836FB41 +:1030AC000086EFF3C6D7C788061617F1E73403007E +:1030BC002361E3EDE6332361F8ED9431B12361E351 +:1030CC00ED9B312561F8EDAA31B1240D0061D8EDED +:1030DC00E633240B0061F8EDCB312361F8ED1232AD +:1030EC002361F8EDDF312361F8EDAA33240600618A +:1030FC00F8ED7B32B12561D8ED973224000061F8F0 +:10310C00EDA4322361F8EDE6332361F8EDC433B15D +:10311C002361E3EDC7322361F8EDD8322361F8ED7A +:10312C00E9322361F8EDD8322361F8EDFA322361EC +:10313C00F8ED0B332361F8ED1A332361F8ED3C33D2 +:10314C002361F8ED48332361F8ED54332361F8ED36 +:10315C005D332402002361E3EDE63324020061F8C1 +:10316C00ED66332361F8ED73332561F8ED7F33247D +:10317C000A0061F8ED8B3324120061F8EDA53323BE +:10318C0061F8ED9633EDE933679FBCFBEDF6333018 +:10319C006B29FD023966736718BAFBEDF63340BF35 +:1031AC00FB6ADF1440C0FB68DF0E674C6CDF093034 +:1031BC002942FD0239713AD5679FC1FBEDF63367A1 +:1031CC00D1DD0630353DFD023934DAFB89616F996A +:1031DC00EDF633675C02D1DD0830F42AFD0239EFDD +:1031EC000C675C01D1DD0630F92AFD0239675C3CC5 +:1031FC00D1DD1030FE2AFD0239675C3C72667362C9 +:10320C0018BAFBEDF63367D1DD625C01D1DD053018 +:10321C000800EF01F6609F19FC675C02D1DD03E644 +:10322C00EF01F63419FC89616899675C04D1DD04FF +:10323C00E6A1EF01F63419FC89616899675C08D145 +:10324C00DD05302000EF01F63419FC8961689967BF +:10325C005C10D1DD05301000EF01F63419FC8961EA +:10326C006899675C20D161E8716019FCEDF633D484 +:10327C0032DF08679FE3FBA432EF0D4A3205DE080C +:10328C00E83267181FFDA432EDF633675C0F7266E7 +:10329C00736218BAFBEDF6334A3264DE1B4A320114 +:1032AC00DF0667D161F85701E832671836FBA432A4 +:1032BC004A320561C871725DEDF633675C7F70C18F +:1032CC0017F1243000FD0C30C0EDF633675C3F7015 +:1032DC00C117F1243000FD0C30C0EDF633675C07EC +:1032EC0070C117F1243000FD0C30C0EDF633675C73 +:1032FC001F70C117F1243000FD0C30C0EDF63367A0 +:10330C0070C117F1243000FD0C30C0EDF633CEAB9C +:10331C00AC710A9E31929E02EFFAD592FFDF0571D5 +:10332C000B9EEFED679E99710B9E9FF1FBEDF633B3 +:10333C0071225E675C7F9FF2FBEDF63371225E6754 +:10334C005C3F9FF3FBEDF633675C3F9FF4FBEDF6C0 +:10335C0033675C1F9FF5FBEDF63330003BFD023904 +:10336C00679FFAFBEDF63330BB3AFD0239679FFBE2 +:10337C00FBEF7730DD3AFD0239679FFEFBEF6B67A1 +:10338C005C01D161E8FDF744EF604A38C8DE08E81B +:10339C0038671868FAA438EF51679D38EF4C6731DD +:1033AC008E247000DD0D240200DF3F30FE08FD028C +:1033BC0039EF37FDF743EF32675C01D1DD05711250 +:1033CC0002EF03711302675C02D1DD05712202EF7B +:1033DC0003712302679FE9FBEF1000EF0D664C5B56 +:1033EC00DE07736718BAFBEF0100C6D7C716664C29 +:1033FC0030DC094C37DE05FDE72FEF6E664C02DF43 +:10340C001F8FBCFB5C03728F1BFC5C03318E316D18 +:10341C0008616A08128F1BFC5C80312A6162EF59CB +:10342C00664C3DDF0AAE90BF16FCF916FCEF4A66FF +:10343C004C3EDF05F917FCEF40664C4FDF05FD19DC +:10344C0045EF36664C61DF08E8380968FA72EF29F7 +:10345C00664C7FDF05FDA53DEF1F664C4EDF0B3143 +:10346C00645F045210EF12F2EF0F664C5BDC0452F7 +:10347C00FFEF06667309BAFB72C6D7C78806161724 +:10348C00F1241000240500DC07244C00DD17EF1795 +:10349C00717BFA17F104BAFB1489617F99717AFA7E +:1034AC0071325EEF02A438C6D7C7C1C1FBF8FF402A +:1034BC0012F903DD064012F904DF2F8C027309C2E6 +:1034CC00FB5E0AD1DF248C02318E04BAFB14896EA8 +:1034DC000A99716207CC0100316207086159018CAD +:1034EC0001D1DFF4716307716B271004C6D7CF1BB2 +:1034FC00FC03F519FCF51DFCF51FFCD7C788061657 +:10350C0017F1E734020025DD3D23DD1725DD1C23F3 +:10351C00DD0523DD2BEF3B71625E679F1EFCCD3D0D +:10352C0003EF2F675C839F1BFCEF27675C039F1DDA +:10353C00FC675C034C0261F8710260FD0C47EF12F2 +:10354C00679F1FFCEF0C6791DF08E0C15012FDB5BF +:10355C0034C0C6D7C71617F1E7240000DD2A23DDD7 +:10356C001E240300DD0724FB00DD24EF253112604F +:10357C0005308000EF01F6086F1CFC7208EF198F04 +:10358C0019FCF519FC72EF1071425F5235EF09F21C +:10359C00EF0666730918FC72C6D7C71617F1E72435 +:1035AC000000DD38241000DD1C23DD1C23DD30245D +:1035BC000E00DD18241100DD1B240F00DD12243059 +:1035CC0000DD15EF1EE2EF1D5202EF195204EF154C +:1035DC005206EF115205EF0D5207EF09F2EF0652AA +:1035EC0003EF0252FFC6D7C731445E3771435E8D7D +:1035FC003C9FC2FB8D3B9FE1FB36FCFCC7D83BFDDF +:10360C00B037618A70618AFDF537C0D840F1312F2F +:10361C00609D3F8D3A4B3FDD0A71525E8D3F9D3A66 +:10362C00CD3D034A3D05DE09306536FD0239CD3D01 +:10363C006BB43D7150F000CE300BCF170006CE317D +:10364C0006FDAD02717A30710BE3710BE7C6D78DB5 +:10365C003F9D3A8D3F9FC3FBD74012F903DF0640D5 +:10366C0012F904DF02F2D731545E0D71535E71739F +:10367C005E8D3F9F28FCEF3831645E2371635E7171 +:10368C00725ED51EFCDF05F529FCEF0B8F1EFC507E +:10369C0002D6A1609F29FC8F29FC9F28FCEF1131D9 +:1036AC00745E088F29FC9F28FCEF058D3F9F28FC3A +:1036BC008F28FC9FC3FBD928FCFDD836E928FC09D0 +:1036CC00DA2170C15013FD5205C0F2D7C7C1C1FB3E +:1036DC00F8FF8C02D1DF05F51EFCEF1A8C024C05AD +:1036EC00DE06CF1EFC02EF0E8C02318E1231FE0371 +:1036FC00311F609F1EFC8F2AFC4F1EFCDD29CC0164 +:10370C001F8F1EFC9F2AFCCC00008B4C08DE148BF8 +:10371C0073091A224F1EFCDC058B9C01EF056159C5 +:10372C0000EFE78C019D3E1004C6D7C7168B728C38 +:10373C0001614ADE1F8B728C02614ADE138C0172AE +:10374C008C02614ADE058C0172EF268C0272EF212D +:10375C008B72EF1D8B728C02614ADE048B72EF113F +:10376C008C01728C026142DE058C0172EF038C02BB +:10377C0072C6D7C716710AE7710BE37150F000CE11 +:10378C00300BCF170006669E31FDAD02717A307199 +:10379C000BE33182E302EFFA8D1F7158F000710BCD +:1037AC00E772C6D7C7C1C1FBF8FF8F12FC4E02DC13 +:1037BC0003F2EF318C024F13FCDC0452FFEF268C2A +:1037CC00022F12FC706131318D128F13FC2F12FC01 +:1037DC0070613133BDD813FD3E0EBB440001DC03D8 +:1037EC00F690BB8B721004C6D7C7C1FBF8FFAC08B0 +:1037FC0014A91489708B6128706131FD7A4E1344C1 +:10380C00030071FEDC23AC08148A04819A04AC0812 +:10381C00148A044C11DC10A9148B99AC0814CA023C +:10382C0000AC0814CA0310EF72AC0814CA0400AC44 +:10383C000814A914894DDE0AAC08148A02819A0274 +:10384C00EF12AC0814A914894D61D308AC08148A82 +:10385C0002919A02AC08148A03919A03D1DF3CAC12 +:10386C0008148A024C10DF10A91489318EA112ACF5 +:10387C000814A9146299EF17AC08148A024CF0DFF3 +:10388C000EA91489318EB112AC0814A9146299AC2A +:10389C000814CA0200AC0814CA0310C0C6D7EDED58 +:1038AC0038717BFAC7D44261F831045F2E71045F22 +:1038BC0071215F71035FD442DD05B442CEABAC71B4 +:1038CC007AFA5600664C0ADD1272F3311C7902FD4D +:1038DC00CEFC0061CAFD4C3986EFE9717AFAF2C66A +:1038EC00D7C75600664C0ADE0BF0317E12F6782CE8 +:1038FC00FC86EFF0C6D7C7C1C1FBF8FFCC01008C2A +:10390C00014C0ADE36717BFA8C01F0317E042CFC02 +:10391C0014A96168DF09AC02B9717AFAF2EF1D8C57 +:10392C0001F0317E12792CFC614902DF06717AFAC2 +:10393C00E2EF09717AFA615901EFC4E21004C6D7BB +:10394C00C72004FBF8FFF6422CFC61F8ED313A710C +:10395C007BFA9C038C034C0ADE3C8C03F0317E0416 +:10396C002CFC14A96168DF05717AFAEF29717AFAD7 +:10397C008C0372F3311C792CFCCEFC0061CA629C66 +:10398C0002D1DF0A8C03F0317E12E6782CFC717BBD +:10399C00FA615903EFBECC0200CC01018C02F0316C +:1039AC007E042CFC14A96168DD7B8C02F0317E1244 +:1039BC00792CFCE743DF688C014C0ADE628C01F049 +:1039CC00317E12792CFCE743DD50717BFA8C01F0CF +:1039DC00317E042CFC14A96168DF1B616901717BC9 +:1039EC00FA8C01F0317E12F6782CFC717AFA8C028A +:1039FC004E01DCE7EF2F8C01F0317E042CFC14A976 +:103A0C00128C02F0317E33782CFC8C01F0317E125A +:103A1C00E6782CFC615902717AFA615901EF9861D0 +:103A2C005902EDA83900F21004C6D7C72006FBF8DE +:103A3C00FF34FFFBC55006C150A8C15030FDF90240 +:103A4C001006D2DD1DA040FC4040FC08DE03E2EF76 +:103A5C005A34FAFB895CFC99FD003B7110C8FBF2EF +:103A6C00EF49F540FC8FFAFB5C01D1DD264012F9E1 +:103A7C0003DF205010C180FDB534C0C7361005716E +:103A8C00D4C6DE0F17C15006C150A8C15030FDF985 +:103A9C000210064012F901DD114012F905DD0B8F01 +:103AAC00FAFB5C02D161E8FD2E42F21006C6D7D9B2 +:103ABC00FBFBC15030FDD102C0629FFEFB7130CBCD +:103ACC00FB8FD3FB5C08D1DF06716307716B27F2A8 +:103ADC00D7D9FEFBC1D9FDFBC15030FD6B031004DF +:103AEC007130CBFB8FD3FB5C08D1DF0671630771A0 +:103AFC006B27F2D7C7200AFBF8FF500FC15030FDDF +:103B0C00D102C04A3702DF077110C8FBF2EF5F71B8 +:103B1C0018C8FBCC07004015F901DF05CC0802EFF3 +:103B2C0003CC0810CC09808FFAFB5C03D1DF087141 +:103B3C007AD5CC0607EF06717BD5CC062F17040679 +:103B4C0000C15004C150A0C15030FDA1031006C7E4 +:103B5C0036100571D4C6DE154012F903DF0F17C1FC +:103B6C005006C150A8C15030FDF9021006F2100ADF +:103B7C00C6D74012F902DF03F6BD44B016FDD516C8 +:103B8C00FD61E8EDA43CCF16FD048F12F9318FE7EF +:103B9C0023DD0B24020024030061C8EDA43C8F1428 +:103BAC00F931233F301B004644DF0AE0C15010FDC1 +:103BBC00B534C0EF1D3077014644DF165002C150BA +:103BCC0010FDB534C0F6464ADF088FDEFB5010D628 +:103BDC00BD4AF6464ADD37B64AE6464ADF30710240 +:103BEC005DEF2B301B004644DF13F6464CDF18E02C +:103BFC00C15010FDB534C0C94CE803EF0A30770151 +:103C0C00464461F871025DF6464C61E8B64C3134BD +:103C1C00600871335FF6BD44EF1431345F05F6BDB7 +:103C2C0044EF0BA644F6464461F8C944FFFF314209 +:103C3C0060194A4605DE16A4464A4605DF0FA4461F +:103C4C005004C15010FDB534C0EF02F4463144604D +:103C5C00194A4805DE16A4484A4805DF0FA4485007 +:103C6C0008C15010FDB534C0EF02F448D449DD034F +:103C7C00B449D7315260174A4705DE14A4474A4766 +:103C8C0005DF0DA4475010C1FDB534C0EF02F44759 +:103C9C004A470661F8CD4925D7C736100571D4DEE1 +:103CAC000730373AFD0239D24012F903DF1D3122B9 +:103CBC00070630262AFD023931445F0C71435F50F0 +:103CCC0080C15012FDB534C0FDDC3CFD073DC6D7AC +:103CDC008F1BFC5C01D1DD22D545FCDD04B045FC1D +:103CEC00D7CF45FC098D3E4F44FCDD0E8D3E9F44E5 +:103CFC00FC5040C15012FDB534C0D74012F903DD61 +:103D0C0004F6BD1AD7D5E6FBDF08F6461ADD19B660 +:103D1C001AD7D9E2FBF1461ADD0ED9E2FB12AD1A25 +:103D2C0043DE03A61AD7B61AD7C78FDAFB76F5DAB5 +:103D3C00FB5C10D161E871525F665C0FD1DD576698 +:103D4C005C01D1DD05F512F9EF4C665C02D1DD1199 +:103D5C00E0C15003FD6B2BC0711300711B2071036C +:103D6C0003665C04D1DD11711300711B20D51BFCA3 +:103D7C0061F8710303FDFA34665C08D161E87103E4 +:103D8C00035005FD47027102035003C1FD6B2BC0AC +:103D9C00711A20FD132BF2C6D7C72014FBF8FF4A6B +:103DAC003213DC0552FFED903E8F14F931150530BE +:103DBC000400EF0F8F14F9314505300500EF04D9DD +:103DCC0015F9F1609C018D2C9C028D209C038F02B7 +:103DDC00F99C048F03F99C058D4E9C068D269C073F +:103DEC0071345CE661301271045C61DC3119616222 +:103DFC00629C08CC09018F16F99C0AF171240461AC +:103E0C00DC9C0BAE6C609C0CAD1A609C0DAE6E60B5 +:103E1C009C0EAE6A609C0FAE64609C10F1715407EE +:103E2C0061DC9C11AE66609C123124600530400050 +:103E3C00EF01F6C131340405302000EF01F6C26108 +:103E4C006B08616A08C131546005300400EF01F65B +:103E5C00C2616B08616A08C131446004E6A1EF01DC +:103E6C00F6C2616B08616A08C131346003E6EF0188 +:103E7C00F6C2616B08616A9C13A432D832F1B107A7 +:103E8C00A11489721014C6D7C7FD83098F12F9319A +:103E9C008FE724000061F8ED624023DD1B2361F8FD +:103EAC00ED6C3F2361F8EDE83F2361F8ED314023E1 +:103EBC0061F8ED1441ED5F40D513F9DF2AF6464465 +:103ECC00DD05F518FDEF03A018FD4018FD65DC0AB3 +:103EDC00CF12F90571025FEDA241AD44440A0061B5 +:103EEC00D8EDA241E513F971325FF5DDFBFDC3049A +:103EFC0071535CFDAD234015F903DF0971025FF5C9 +:103F0C0012F9EDA241FD142640C7FB9BDE0971029C +:103F1C005FF512F9EDA241714A277140110571301C +:103F2C001105713A22715A2271501105FD7029D276 +:103F3C00DD0971025FF512F9EDA24171103500CF68 +:103F4C0037001D714012054013F901DF05F5E3FB45 +:103F5C00EF04CFE3FB03CF12F902FD5629EDA2418A +:103F6C00FD6D2CFDCD2C714A9DFDFA34FD8830F58C +:103F7C0037FF712BE0F513F971025FCBE43FEFCB08 +:103F8C00E6F6F0FDC304713BD47112027123028F6B +:103F9C0014F93105285004FD7C2B625C03318E3101 +:103FAC005D34C9FB896168995002FD7C2BD2DD061A +:103FBC007170C9FBEF047178C9FBFDAD23FD842D35 +:103FCC00710814F9CF12F9038FBCFB5C02D1DD0927 +:103FDC005080C15010FDB534C0EDA241FDA441315B +:103FEC00545F2FA450D450DD0831A4E00A31020CE8 +:103FFC0006712BE0FD1A4231A4E01731040C137149 +:10400C002BE05027C15005FD6B2BC0CF12F904716A +:10401C00025FFD0F428F14F931250731146003F54F +:10402C0012F9EDA241FDA44131020C14F0C150056E +:10403C00FD6B2BC05005FD4702FD1A42CF12F90350 +:10404C00FD0F428F14F931250731146003F512F975 +:10405C00EDA241F512F9CFE3FB03F5E4FBF5E6FB2A +:10406C0071525DF6426CFF61E8EDA241F6BD4A71FA +:10407C00035DF5FAFBFD003BFDEA2DFDC42CFD2292 +:10408C002D714B9D711302712302F5CAFBF5CBFB0D +:10409C00F5CCFBF5CDFB31245D02EFFACE3708CB26 +:1040AC00E4BFFFCBE6FFF1CED4FFCF370009714858 +:1040BC001205F6BEE0BEE2BED0716A27FDE829719A +:1040CC004307714B27714810057148110571381061 +:1040DC000571381105713302713B22715302715B0A +:1040EC00227158100571581105FD2C05CF12F905D8 +:1040FC0071325FF6BD44F50CFCF50EFCCF14FCFFE1 +:10410C00CF10FCFFCF11FCFFF513F9F518FD3112A0 +:10411C00602EFDAD23AD44440B0061C8E512F9D50A +:10412C0015F961E8FD2C058F14F9312511F50EFCFC +:10413C00F50CFC502EFD4702E513F9E512F9EF568C +:10414C00D428DF52FD2C05FD462371730171320416 +:10415C0071430271035C71525C31949E02EFFA71EF +:10416C002AE7CEA409F5F3003114600ED50CFCDF60 +:10417C00064010FCFF61F80061FDE5F300CEA408D9 +:10418C003114600671335FE512F9712BE78F14F966 +:10419C00312503F512F9C6D7D546FCDF1A310200DA +:1041AC00155003FD7C2B625C01D1DF07F512F97110 +:1041BC00025FD7E546FCD74046FCF0DF083104002F +:1041CC0041F546FCD74046FCC8DF0BF512F97102ED +:1041DC005FCF46FCF0D73102000A4046FCFFDD22DF +:1041EC00A046FCD7F0C15004FD6B2BC08FC9FB5C03 +:1041FC009F9FC9FB7110DAFB30353DFD0239CF466C +:10420C00FCF0D731045D06F512F971025FD77153DA +:10421C005FF450717207FDAD02717307D7FD9905FC +:10422C00F2D7C7200CFBF8FF8F00FCF0F9FFFBF373 +:10423C0003FD7A4E13BC048F02FCF0F901FCF3036E +:10424C00FD7A4E13BC028F04FCF0F903FCF303FD62 +:10425C007A4E13BBAC04BDD8F6BDDAAC04311EBD2E +:10426C00DCF6BDDEFDF10DADD8BDDCADDABDDEACEE +:10427C0002BDD8F6BDDAAC02311EDADCC3DADEC31D +:10428C00BDDCF6BDDEFDF10DC0BDDEC0BDDCADDEBE +:10429C00FD670FADD8BDDCADDABDDEABBDD8F6BD6C +:1042AC00DAAB311EDADCC3DADEC3BDDCF6BDDEFD13 +:1042BC00F10DC0BDDEC0BDDCADDEFD670FDADAADE1 +:1042CC00D8FD0746C3C58FE0FC5C3FF0317E04602F +:1042DC00FC14C2C0B9A0E0FCF6BC08BC0A9C078C5C +:1042EC00074C2EDD3E8FE0FC0E0770F161DC605C4C +:1042FC003FF0317E127960FCBDD8F6BDDA8C0773C5 +:10430C00092422318FBDDC70BDDEFDF10DAC08BD82 +:10431C00DCAC0AFD670FADDABC0AADD8BC0861593C +:10432C0007EFBCAC08BDD8AC0ABDDAC9DC0004F69A +:10433C00FDBB0EC9DCFFFFF6FDBC0FADD8BF5AFCB0 +:10434C00AF54FC425AFCDD12AF56FCBF58FCAF54C4 +:10435C00FCBF56FCAF5AFCBF54FCAF56FC4258FC99 +:10436C00DC50AF54FC4256FCDE48AF1AFD4254FC04 +:10437C00DE40401EFD16DC1F401EFDA0DE168F5CCD +:10438C00FC4F1EFDDE0EAF54FC225EFC4469106136 +:10439C00C8FDF743F51EFDAF54FC445146DC0BAF92 +:1043AC0054FC241027BF1CFDEF1130F82ABF1CFD54 +:1043BC00EF09401EFDFF61E8A01EFDAF58FC425600 +:1043CC00FCDC1BAF56FC4254FCDE13AF54FC421C0D +:1043DC00FDDE0BF55CFCAF54FCBF5EFCEF09405CF2 +:1043EC00FCFF61E8A05CFC100CC6D7717BFAC771AE +:1043FC000A9E31929E02EFFA8E949F4EFC8E969FEF +:10440C004FFC8E979F50FC8E989F51FC8E939F5221 +:10441C00FC8E929F53FC710B9E717AFA8F51FCFDAE +:10442C00D00F76FD854513BD56D505FCDF0AD506A4 +:10443C00FCDF05D507FCDD25F6B14656DF11C95664 +:10444C003722665C0391DF060A56181A5700961736 +:10445C00FDA84613FDC94431645F02EF5E5206921B +:10446C0092694EFC6848FCDFF6AD56BD54F852F329 +:10447C00311C7918F944FEFFDD41D852F1010418C2 +:10448C00F914A944FFFFDF04E6B9EF0BD852F10190 +:10449C000418F914A9A1B9A005FCD505FCDF1CA0D2 +:1044AC0006FCD506FCDF14A007FCD507FCDF0CCFFF +:1044BC0005FCFFCF06FCFFCF07FCFFC6D7C716D8FD +:1044CC0052F10744A800DC0571625FEF1CF647DD72 +:1044DC0018A4524A52A8DC0571625FEF0CF852F333 +:1044EC00311CF67818F9B7EFE4C6D7C756A896660C +:1044FC00F0317E12F6B17818F966D1DFF1F505FCD2 +:10450C00F506FCF507FCF45271635FC6D7C72004AF +:10451C00FBF8FFD432DF178D529FE1FC717BFA520E +:10452C000692926948FC68E2FCDFF6717AFA4A322C +:10453C0006DE0EE83209E2FC9C03A4328C0372EF17 +:10454C0034F9E1FCF3311C7918F9BB31725F058B3E +:10455C009C03EF128C019C03D5E1FCDF06CFE1FC40 +:10456C00A7EF03B0E1FC718071775F61DC61FB71D7 +:10457C00715F8C03721004C6D7C72008FBF8FF8F3D +:10458C0051FCFDD00F9C078F50FCFDD00F9C068F6B +:10459C004FFCFDD00F9C058F4EFCFDD00F9C048F63 +:1045AC0052FC9C038F53FC9C028C06318E011279B9 +:1045BC005222BB8C075C03D1DF098C064C0361C80B +:1045CC006179008C05318EB1610900BB313D12015E +:1045DC0003BB8B0E04708C011C00BB8F0AFC4E03BA +:1045EC00DC0E8C034F0AFCDC0B8C024F0BFCDC0446 +:1045FC00AB12EF03ABB1121008C6D7C7C3C120086A +:10460C00FBF8FFF661490A61F8614908DF07F734E6 +:10461C000000EDA446E6BC04F6BC06AC0ABC02AC39 +:10462C0008BBAC06614902AC0461F8614900DE28A4 +:10463C00AC04BDD8AC06BDDAE1FD760FADDABC0634 +:10464C00ADD8BC04ABBDD8AC02BDDAE1FD910FAD69 +:10465C00DABC02ADD8BBEFCAAC06BC02AC04BBAC36 +:10466C0008BDD8AC0ABDDAAC04BDDCAC06FDF40E5A +:10467C00AC04BDDCAC06FD670FE1FD910FADDABCFF +:10468C0006ADD8BC04AC06614902AC0461F86149C2 +:10469C0000DCC5AC0214AB12100CC6D7C7C1200489 +:1046AC00FBF8FF8F4BFCFDD00F9C034E04DF1CADC1 +:1046BC00544656DE07AD56265412EF40F64656DFEA +:1046CC00074654DD03E7EF34F7EF318C04318EB13C +:1046DC00128C03318E43DF18306D0126540656BB05 +:1046EC008C045C0391DF05AB041800BBAB12EF0C20 +:1046FC008C034E04DE0532A900EF01F71006C6D775 +:10470C00717BFA31026009F64658DD04B658EF7C2D +:10471C00710360717AFA4012F904DF07715307F4E0 +:10472C0022EF69D9E5FBF1E7240000DD0F23DD1A48 +:10473C0023DD1023DD5323DD2723DD38715307F4EC +:10474C0022EF49715207F422EF42D422DF07715253 +:10475C0007E422EF05715307F422C958FA00EF2C35 +:10476C00D422DF0B715207E422C958FA00EF1DF571 +:10477C00E5FBEF18D422DF0B715307E422C958FA7A +:10478C0000EF09CFE5FB02EF03FD9947D7D91DFCDC +:10479C00F1E7240000DD0923DD2123DD0923EF1BD4 +:1047AC00715307F422D7D422DF07715207E422EFAA +:1047BC0005715307F422C9582D01D7715207E42211 +:1047CC00D731425D01D771635DD9E3FBF1E724007A +:1047DC0000DD1223DD1923DD1123DD2623DD342337 +:1047EC00DD3923DD3FFD5948EF3DFD7A48EF38D9DF +:1047FC00E2FBC1AE6CFD2B2DC0F313BE6C71230418 +:10480C00EF25F0C1AE6CFD2B2DC0F313BE6C7123E4 +:10481C0004EF14F6BE6C712204EF0CCB6CFF00712C +:10482C002304EF03FDEE484012F905DD064012F9B2 +:10483C0001DF0671230471635D31645D0FF6BE64A4 +:10484C00BE6A31220402EF02F690BE6ED7CD244729 +:10485C00F45AAE6C317DBFEEFCFDC348D2DF0ED9ED +:10486C00E2FBC1AE6CFD2B2DC0F313BE6CD7FDC3A8 +:10487C0048D2DD0DCD2447F45AAE6C317DBFEEFC31 +:10488C00D7E85A096C225080D6BFEAFC22EEFCBD58 +:10489C00D8304700FD1C0EBFECFC30EAFCFD412D6E +:1048AC00F313BE6CB424D424DF0CCD2447A45A4A91 +:1048BC005A1F61C8F45AD740C5FB0BDC05712304A1 +:1048CC00F2D740C5FB0661D831225C11F0C1AE6C49 +:1048DC00FD2B2DC0F313BE6C712204EF03FDEE48CB +:1048EC00E2D771625DF0C1AE6CFD2B2DC0F313BE2F +:1048FC006CA0F0FC40F0FC40DC3DF5F0FCD9F1FC88 +:10490C00F1313F0420FD14D9F1FCF1BDD85008FD64 +:10491C006B0E087208E6D2DD040192DFFC89615847 +:10492C00D1DD05712204EF03712304A0F1FC40F1E9 +:08493C00FC2061C8F5F1FCD775 +:1049440061FC61FCC1C3C5C7520C929269D4FEC11B +:10495400DFF88EFD708EFCC1717AFA4012F903DF24 +:104964000630262AFD0239C09EFC609EFD34D4FE2A +:104974005206C0B9A5A592DFF9C6C4C2C061FC61E4 +:10498400DF520C929269D4FEC1DFF88EFD708EFC6A +:10499400C1C736410571A4C6DC65F5F4FC71485005 +:1049A400057160500531345E3671620771335E8F74 +:1049B400CAFB5FD2FBD1DF1B8FCBFB5FD3FBD1DF05 +:1049C400128FCCFB5FD4FBD1DF098FCDFB5FD5FB0E +:1049D400D1DD0C31620702EFFA716307716B277145 +:1049E400735FFD3130F432C73641057184C6DC0F84 +:1049F400C73641057194C6DC06717AFAED2B4BC7B4 +:104A04003641057184C6DE19F5F4FC71485005FD84 +:104A14003130C73641057194C6DC06717AFAED2B44 +:104A24004BC73641057194C6DE0FD5F4FCDD0A4050 +:104A3400F4FC0261E871605005717AFA8FF4FC317C +:104A44008FE7240000DD0823DD1323DD31EF5971E6 +:104A540040500571505005E5F4FCED2B4B8F40059B +:104A64009F0EF9715050058F0EF99F10F9D90EF968 +:104A7400FDF833629F0FF9CFF4FC02ED2B4BC736E0 +:104A840041057194C6DE1DC736410571C4C6DE06F4 +:104A9400CFF4FC03EF127148500571605005F5F432 +:104AA400FCED2B4BCFF4FC0440F4FC03DF138F0F1D +:104AB400F99F4005D90FF9C1D90EF9FD8734C0EF2C +:104AC400218F4005768F0EF901DC05D50EF9DF063E +:104AD40071605005EF51C7D90EF9FDB230C0715065 +:104AE4005005D910F9F1242900DD2C240400DD2718 +:104AF400242200DD22241100DD0C240100DD182411 +:104B04001E00DD13EF0C400EF960DF0BCF0EF961D0 +:104B1400EF05F432A00EF940F4FC03DF0AD90EF9D4 +:104B2400FDF833629F0FF9C09EFC609EFD34D4FEF5 +:104B34005206C0B9A5A592DFF961FCC1C7717AFA22 +:104B4400714AE5717BBD51405F0401D1DD06F61663 +:104B5400A747DFF2300400BF2401F6BF2A01300B5F +:104B64000BBF28010000000000000000510FBF2807 +:104B7400010000000000000000500FBF2801710A6E +:104B8400E671235DC6C061FCC1C5717AFAD436DD15 +:104B94000BEA34899E44A634B436EF33710AE63006 +:104BA4000400BF2401F6BF2A01300B0BBF2801000B +:104BB40000000000000000510FBF280100000000A9 +:104BC40000000000500FBF280171135D71235DC404 +:104BD400C061FC61EF520C929269D4FEC1DFF88E81 +:104BE400FD708EFCC12006FBF8FF71503002CEAB85 +:104BF400ACCC0100F6BC0231B2E20F617902F6617D +:104C04004902DFF371603002EF7E8E519B713BE20B +:104C14008B5C02D1DD1D8B5C08D1DF097150300241 +:104C2400CC0100EFCF8C0570FD6035629E50CC0145 +:104C340002EFC18B5C03D1DF408E509C0471503075 +:104C4400028C01D1DF0E8C0470FDA635629C05CC6C +:104C54000101EF318C014C02DF0671603002EF2854 +:104C6400CF34025A716030028C0470C18C0570FD1F +:104C74000835C0CF34024AEF0F8B5C01D1DD0671D9 +:104C8400603002EF03EDF84B1006C09EFC609EFD01 +:104C940034D4FE5206C0B9A5A592DFF961FCC1C3A4 +:104CA400C5C7520C929269D4FEC1DFF88EFD708E96 +:104CB400FCC1710A9E31929E02EFFA8FF4FB4F966B +:104CC400FFDF198FF5FB4F97FFDF118FF6FB4F982E +:104CD400FFDF095004C15011FDB534C0710B9EC0F3 +:104CE4009EFC609EFD34D4FE5206C0B9A5A592DF99 +:104CF400F9C6C4C2C061FCA44261FCC1C3C5C752A9 +:104D04000C929269D4FEC1DFF88EFD708EFCC1C195 +:104D1400FBF8FF8D1F9C018E31318EE7240600DDE8 +:104D24000823DD0E23DD22EF4E717AFA8C019D3CBF +:104D3400EF45717AFA4015F901DF068C019D3BEFCE +:104D44003651FF2E019D3BEF2E717AFA4014FCFF81 +:104D5400DF068C019D26EF058F14FC9D268FC8FB72 +:104D64005C01D1DF124012F903DD064012F904DFC1 +:104D740006306825FD02394031FF09DE05A031FF08 +:104D8400EF137158F00071425EA02BFC402BFC0322 +:104D940061C8F52BFC710BE3C0C09EFC609EFD3422 +:104DA400D4FE5206C0B9A5A592DFF9C6C4C2C0613B +:104DB400FC61FF520C929269D4FEC1DFF88EFD7043 +:104DC4008EFCC1717AFA8FFAFB5C03D1DD194012B3 +:104DD400F903DD064012F904DF0D36100571D4DE47 +:104DE4000630373AFD0239C09EFC609EFD34D4FE85 +:104DF4005206C0B9A5A592DFF961FC61FC61FC61B2 +:104E0400FC61FC61FC61FC61FC61FC61FC61FC61B6 +:104E1400FC61FC61FC61FC61FC61FC61FC61FC61A6 +:104E2400FC61FC61FC61FC61FC61FC61FC61FC6196 +:034E3400FC61FC22 +:0A4E380000060C12181E242A303662 +:104E420000000000C2FB0000000040FE0000000065 +:104E52007E3BF3358C22CD47022EBD2E0C47A53C5E +:104E62000C09943E01000000983AF82AFF005555BB +:024E7200555594 +:064E7400FF0000004700F2 +:084E7A00317503F7332312D751 +:024FF400013783 +:0A4FF60031353A34363A3534000004 :00000001FF  \ No newline at end of file diff --git a/branches/sim/bsr.lmf b/branches/sim/bsr.lmf index 1fee871485584389bdf497fef9f19550f60bcf47..329d27697c541a58d4ae4426858226ef9ae74e11 100644 GIT binary patch literal 174872 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 M9ipXjR}X^!0wxl3HdtEb` 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 I^ goal ) { - now -= 1; + now --; } else { - now += 1; + now ++; } } return( now ); @@ -204,11 +204,11 @@ void tsk_led_wifi( ) default: LED_duty_WiFi = vreg_ctr[VREG_C_LED_BRIGHT]; } - state_wifi_tx++; + state_wifi_tx ++; if( state_wifi_tx == 32 ) // ←点滅後、点灯している期間の長さ { state_wifi_tx = 0; - flag_wifi_TX -= 1; + flag_wifi_TX --; } task_interval = 25; return; @@ -231,11 +231,11 @@ void tsk_led_wifi( ) } else if( LED_duty_WiFi < vreg_ctr[VREG_C_LED_BRIGHT] ) { - LED_duty_WiFi += 1; + LED_duty_WiFi ++; } else { - LED_duty_WiFi -= 1; + LED_duty_WiFi --; } } task_interval = 3; @@ -320,7 +320,7 @@ void tsk_led_notify( ) vreg_ctr[ VREG_C_LED_NOTIFY_FLAG ] |= REG_BIT_IN_LOOP; if( info_LED.info_LED.last_loop != 255 ) // 255:無限ループ { - loops++; + loops ++; if( loops > info_LED.info_LED.last_loop ) { frame = 0; @@ -340,7 +340,7 @@ void tsk_led_notify( ) calc_info_led_next_frame( &LED_dim_status_info_B, info_LED.info_LED.blu[frame] ); } - time_to_next_frame -= 1; + time_to_next_frame --; } } diff --git a/branches/sim/led.h b/branches/sim/led.h index e63093b..e92d209 100644 --- a/branches/sim/led.h +++ b/branches/sim/led.h @@ -31,11 +31,7 @@ #define LED_BRIGHT_MAX 0x00FF // ==================================== -#ifdef _MCU_BSR_ // 電波送信パルス -#define WIFI_txLatch PIF21 -#else -#define WIFI_txLatch PIF7 -#endif +#define WIFI_txLatch PIF21 // 電波送信パルス diff --git a/branches/sim/led_cam.c b/branches/sim/led_cam.c index 9298fdb..5e1c76e 100644 --- a/branches/sim/led_cam.c +++ b/branches/sim/led_cam.c @@ -35,7 +35,7 @@ void tsk_led_cam( ) { if( task_interval != 0 ) { - task_interval -= 1; + task_interval --; return; } } @@ -132,7 +132,7 @@ void cam_led_twl() LED_CAM = 0; state_led_cam = 0; } - task_interval = 600 / SYS_INTERVAL_TICK + 250; + task_interval = (u8)( 600 / SYS_INTERVAL_TICK ) + 250; break; case( TWL_CAMLED_ON ): diff --git a/branches/sim/led_pow.c b/branches/sim/led_pow.c index 8b8b37a..08afc5c 100644 --- a/branches/sim/led_pow.c +++ b/branches/sim/led_pow.c @@ -130,7 +130,7 @@ void tsk_led_pow( ) { LED_duty_notify_blu = 0; LED_duty_notify_grn = 0; - LED_duty_notify_red = LED_pow_red ? 255: 0; + LED_duty_notify_red = ( LED_pow_red == 0 )? 0 : 255; } } @@ -179,12 +179,12 @@ static void led_pow_sleep( ) led_fade_to2( LED_duty_pow_blu, &LED_dim_status_sleep ); // 次のフレームに進める? - time_to_next_frame_sleep -= 1; + time_to_next_frame_sleep --; if( time_to_next_frame_sleep == 0 ) { time_to_next_frame_sleep = LED_SLEEP_FRAME_LEN; - frame_sleep += 1; + frame_sleep ++; if( frame_sleep >= LED_SLEEP_FRAME_NUM -1 ) { frame_sleep = 0; @@ -244,7 +244,7 @@ static void led_pow_bt_empty() led_fade_to( LED_duty_pow_blu, 0 ); // 赤の点滅パターンも指定できる - delay += 1; + delay ++; if( delay < 64 ) // フレームの保持時間稼ぎ { return; @@ -259,7 +259,7 @@ static void led_pow_bt_empty() { LED_pow_red = 0; } - red_blink_poi += 1; + red_blink_poi ++; if( red_blink_poi >= 32 ) { red_blink_poi = 0; diff --git a/branches/sim/loader.c b/branches/sim/loader.c index 478269a..3c0778a 100644 --- a/branches/sim/loader.c +++ b/branches/sim/loader.c @@ -109,7 +109,7 @@ void main( ) // 通常の電源投入 // 電池接続時、ちょっと待ってみる(チャタリング対策) u16 pwup_delay0; - for( pwup_delay0 = 0xFFFF; pwup_delay0 != 0; pwup_delay0-- ){;}; + for( pwup_delay0 = 0xFFFF; pwup_delay0 != 0; pwup_delay0 -- ){;}; } hdwinit2( ); @@ -144,7 +144,7 @@ void chk_firm_broke() if( *( u8 * )( MGC_FOOT +2 ) != ':' ) // 消去済のまま { - comp += 1; + comp ++; } if( comp != 0 ) @@ -376,7 +376,7 @@ void wait_ms( u8 ms ){ ms--; fine = 860; while( fine != 0 ){ - fine -= 1; + fine --; } } } diff --git a/branches/sim/pedo_alg_thre_det2.c b/branches/sim/pedo_alg_thre_det2.c index 2500c83..1454a73 100644 --- a/branches/sim/pedo_alg_thre_det2.c +++ b/branches/sim/pedo_alg_thre_det2.c @@ -39,7 +39,6 @@ typedef struct{ // ======================================================== -static void hosu_increment_if_necessary(); static u16 get_long_hour(); static u16 calc_hours_spend( u8 ); @@ -115,7 +114,7 @@ void pedometer() norm_hist[ hist_indx & TAP-1 ] = normh * 256 + norml; #endif - hist_indx += 1; + hist_indx ++; // ヒストリにフィルタ(fir)を掛けて、今回の値を求める // filterd = 0; @@ -130,7 +129,7 @@ void pedometer() /* if( acc_norm[0] < acc_norm_temp ) { - t_rise += 1; + t_rise ++; if( t_rise == 0 ) t_rise == 254; } @@ -175,7 +174,10 @@ void pedometer() } else { - interval_hh += ( interval_hh != 255 ) ? 1: 0; // 飽和加算って楽に書けたらいいのに + if( interval_hh != 255 ) // 飽和加算って楽に書けたらいいのに + { + interval_hh ++; + } } // (2) 直近の極小からの時間 @@ -188,12 +190,14 @@ void pedometer() } else { - time_l += ( time_l != 255 ) ? 1: 0; + if( time_l != 255 ) + { + time_l ++; + } } } - /*=========================================================  歩数+1   累積をインクリメント @@ -206,7 +210,7 @@ void pedometer() #define HOSU_NODATA 0xFFFF #define HOSU_MAX 0xFFFE -static void hosu_increment_if_necessary() +void hosu_increment_if_necessary() { u8 year_compd; // hour境界補正済み現在年。comp(ensation -ed) @@ -238,8 +242,12 @@ static void hosu_increment_if_necessary() // 補正計算 元旦零時台で昨日扱いになった場合、大晦日の23時台に上書き if( now_longhour == (u16)-1 ) // マジックナンバーとかではなくて実際に計算結果が-1 { - now_longhour = ( ( 365 + ( is_firstyear(year_compd) ? 1: 0 )) * 24 ) -1; - year_compd -= 1; + now_longhour = 365 * 24 -1; + if( is_firstyear(year_compd) ) + { + now_longhour += 24; + } + year_compd --; } fill_hosu_hist_hours( calc_hours_spend( year_compd ) ); // ■書き込みポインタの更新も行う @@ -269,7 +277,7 @@ static void hosu_increment_if_necessary() else { // 通常パス - pool.vreg_c_ext.pedo_log[ p_record ] += 1; + pool.vreg_c_ext.pedo_log[ p_record ] ++; } // 累積の更新 // @@ -305,7 +313,7 @@ static void fill_hosu_hist_hours( u16 hours ) while( hours != 0 ) { // 新仕様 いっぱいで停止 - p_record += 1; + p_record ++; #if 1 // debug if( p_record >= PEDOMETER_LOG_SIZE ) { @@ -318,7 +326,7 @@ static void fill_hosu_hist_hours( u16 hours ) { pool.vreg_c_ext.pedo_log[ p_record ] = 0; } - hours -= 1; + hours --; } return; @@ -335,7 +343,7 @@ void clear_hosu_hist() u8 hours = PEDOMETER_LOG_SIZE; do { - hours -= 1; + hours --; pool.vreg_c_ext.pedo_log[ hours ] = 0xFFFF; } while( hours != 0 ); @@ -383,7 +391,7 @@ u8 hosu_read( ) if( iic_burst_state <= 5 ) { rv = *( (u8*)&cal_buff + iic_burst_state ); // あうあう - iic_burst_state += 1; + iic_burst_state ++; return( rv ); } else @@ -404,7 +412,7 @@ u8 hosu_read( ) } else { - p_record_buffer -= 1; + p_record_buffer --; } } pedolog_read_msb ^= 1; @@ -450,7 +458,7 @@ static u16 get_long_hour() if( is_leapyear(year) && ( 3 <= month )) { // 閏年で、閏日より後 - long_hour += 1; + long_hour ++; } long_hour += day - 1; long_hour *= 24; // 日数→時間 @@ -531,7 +539,12 @@ static u16 calc_hours_spend( u8 year ) else if( cal_log_latest_year == ( year -1 ) ) { // 年をまたいでいるとき - return( ( ( 365 + ( is_firstyear(year) ? 1: 0 )) * 24 ) - last_hour_fny + now_longhour ); + u16 temp = 365 - last_hour_fny + now_longhour; + if( is_firstyear(year) ) + { + temp += 24; + } + return( temp ); } else if( cal_log_latest_year < year ) { diff --git a/branches/sim/pedometer.h b/branches/sim/pedometer.h index 56252a0..d2b1376 100644 --- a/branches/sim/pedometer.h +++ b/branches/sim/pedometer.h @@ -14,6 +14,7 @@ extern bit pedolog_read_msb; #define hosu_read_end() pedolog_read_msb = 0 u8 hosu_read( ); +void hosu_increment_if_necessary(); void fill_hosu_hist_hours( u16 ); void clear_hosu_hist(); void pedometer(); diff --git a/branches/sim/pm.c b/branches/sim/pm.c index 41936e4..5b1d3db 100644 --- a/branches/sim/pm.c +++ b/branches/sim/pm.c @@ -33,7 +33,6 @@ u8 chg_led_override; // static u16 bt_volt16; static bit ntr_pm_bt_low_old; -bit BT_CHG_STAT_Change; bit BT_IN_CHG_delayed_n; bit temp_zone_charge_disable; // 温度で充電停止する時にヒステリシスを付けるため @@ -46,6 +45,11 @@ static bt_param_* p_bt_param; static err send_cmd_mgic_2B( u8 reg, u16 dat ); static err read_mgic_2B( u8 reg, u8* dat ); +static err read_BT_SOC( u8* dest ); +static err read_BT_voltage( u8* dest ); + +static u8 conv_ctr_bt_to_twl_bt(); + u8 pm_reg_bit_vddlcd; @@ -97,7 +101,7 @@ void tsk_batt( ) if( system_status.pwr_state != OFF_TRIG ) { - if( task_interval-- != 0 ) + if( task_interval -- != 0 ) { return; } @@ -123,11 +127,18 @@ void tsk_batt( ) bt_get_charge_status(); // CCIC制御 - LED_CHARGE = ( ! BT_IN_CHG_delayed_n )? 1: 0; // LEDに反映 + if( ! BT_IN_CHG_delayed_n ) // LEDに反映 + { + LED_CHARGE = 1; + } + else + { + LED_CHARGE = 0; + } // アダプタつないだ瞬間、満充電でも数秒わざと点灯させる。給電してることをわからせるため。 if( chg_led_override != 0 ){ // ↑から見ればわかるが、瞬間(数クロック)消える事がある。気がつく人いるかな…? - chg_led_override -= 1; + chg_led_override --; LED_CHARGE = 1; } @@ -233,14 +244,12 @@ void bt_get_charge_status() ***********************************************************/ void pm_chk_adapter() { - static u8 pm_extdc_old; - u8 temp_pm_extdc; + static bit pm_extdc_old; - temp_pm_extdc = (u8)!PM_EXTDC_n; // volatileのため - if( pm_extdc_old != temp_pm_extdc ) + if( pm_extdc_old != PM_EXTDC_n ) // HAL を通すため、 PM_EXTDC_n の volatile にする心配なし { - pm_extdc_old = temp_pm_extdc; - if( temp_pm_extdc ) + pm_extdc_old = PM_EXTDC_n; + if( PM_EXTDC_n ) { // 刺さった set_bit( 1, vreg_ctr[VREG_C_STATUS], REG_BIT_POW_SUPPLY ); @@ -376,7 +385,7 @@ void BT_model_detect() else { PM_SW_HOME_n_TSBOARD = 0; - SW_HOME_n_TSBOARD = 0; /// どっちでもいいんだけど + SW_HOME_n_TSBOARD_RAW = 0; /// 実機open どっちでもいいんだけど } // 電池メーカーの識別 // @@ -473,7 +482,7 @@ static void BT_mgic_init() u8 loop; // 16バイトごとに区切れとのこと (ノイズ対策とか言うんだけど、意味あるんか?) - for( loop = 0; loop < 4; loop++ ) + for( loop = 0; loop < 4; loop ++ ) { iic_mcu_set_wo_dma( ); iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_BT_PARAM + loop*16, 16, p_bt_param->mg_param + loop*16 ); @@ -533,7 +542,7 @@ task_status_immed tski_BT_temp_update( ) { if( heikinka < 40 ) { - heikinka++; + heikinka ++; } else { @@ -587,151 +596,140 @@ task_status_immed tski_BT_temp_update( )  BT_chk()が実行されている必要があります。 **********************************************************/ void BT_get_left(){ - u8 temp_fuel[2]; + u8 temp[2]; static u16 hysteresis; + u8 reg_volatile_temp_bt_remain,reg_volatile_temp_bt_remain_fine; // I2Cの非同期読み込みでのちらつき防止 キャップ処理の所為 -#ifdef _DEBUG_BT_FUEL_ - if( vreg_ctr[ VREG_C_COMMAND3 ] == 'd' ) + if( system_status.model == MODEL_TS_BOARD + || system_status.model == MODEL_SHIROBAKO ) { - vreg_ctr[ VREG_C_BT_REMAIN ] = vreg_ctr[ VREG_C_DBG01 ]; - } - else -#endif - { - if( system_status.model == MODEL_TS_BOARD ) + // TS & 白箱 // + // 電池残量 + if( read_BT_SOC( temp ) == ERR_SUCCESS ) { - // TS // - vreg_ctr[ VREG_C_BT_REMAIN ] = 99; - vreg_ctr[ VREG_C_BT_VOLTAGE ] = 200; - } - else if( system_status.model == MODEL_SHIROBAKO ) - { - // 白箱 // - // 電池残量 - if( read_mgic_2B( BT_GAUGE_REG_SOC, temp_fuel ) != ERR_SUCCESS ) - { - // エミュレーション機能がおかしい - vreg_ctr[ VREG_C_BT_REMAIN ] = 99; - } - else - { - vreg_ctr[ VREG_C_BT_REMAIN ] = temp_fuel[0]; - vreg_ctr[ VREG_C_BT_REMAIN_FINE ] = temp_fuel[1]; - } - -//* - // 電池電圧 - if( read_mgic_2B( BT_GAUGE_REG_VCELL, temp_fuel ) == ERR_SUCCESS ) - { - vreg_ctr[ VREG_C_BT_VOLTAGE ] = temp_fuel[0]; - } - else -//*/ - { - vreg_ctr[ VREG_C_BT_VOLTAGE ] = 200; - } + reg_volatile_temp_bt_remain = temp[0]; + reg_volatile_temp_bt_remain_fine = temp[1]; } else { - // 実機 // - u8 temp_v[2]; - u8 temp_force_fuel_left; - - // 残量リード - if( read_mgic_2B( BT_GAUGE_REG_SOC, temp_fuel ) != ERR_SUCCESS ) - { - // 残量ICがNACK …バッテリはずれた - vreg_ctr[ VREG_C_STATUS_1 ] |= REG_BIT_MGIC_ERR; - bt_authorized = false; - vreg_ctr[ VREG_C_BT_REMAIN ] = 0; - force_off = true; - } - else - { - // バッテリパラメータの関係でビットシフトが必要 - bt_volt16 = temp_fuel[0] * 256 + temp_fuel[1]; - bt_volt16 /= p_bt_param->v_scale; - temp_fuel[0] = (u8)(( bt_volt16 >> 8 ) & 0xFF); - if( temp_fuel[0] == 0 ) - { - // 0%台の時は1.00%に上げ底 - // 充電開始後もしばらくは電池残量が減るので - // 0%に到達してしまうことがあるのだ - temp_fuel[0] = 1; - temp_fuel[1] = 0; - } - else - { - temp_fuel[1] = (u8)(bt_volt16 & 0xFF); - } - - - // 電圧でキャップ - if( read_mgic_2B( BT_GAUGE_REG_VCELL, temp_v ) == ERR_SUCCESS ) - { - vreg_ctr[ VREG_C_BT_VOLTAGE ] = temp_v[0]; - - bt_volt16 = ( temp_v[0] * 256 + temp_v[1] ); - - if( bt_volt16 > V_TH_30 ) - { - temp_force_fuel_left = 100; - hysteresis = 0; - } - else if( bt_volt16 - hysteresis > V_TH_LO ) - { - temp_force_fuel_left = 30; - hysteresis = 0; - } - else if( bt_volt16 > V_TH_EMPTY ) - { - temp_force_fuel_left = BATT_TH_LO; // ここから赤 - hysteresis = 500; - } - else if( bt_volt16 > V_TH_ZERO ) - { - temp_force_fuel_left = BATT_TH_EMPTY; - hysteresis = 500; - } - else if( bt_volt16 > V_TH_FORCE_OFF ) - { - temp_force_fuel_left = 0; - hysteresis = 500; - } - else - { - force_off = true; - hysteresis = 500; - } - } - } - - // 充電許可(=アダプタも刺さってる)のに充電してない - // かつ、(少なくとも)素の電池残量が60%以上(CCICバグ回避) - // = 充電完了。電池がへたってくるとMGICが100%を返さない - if( !BT_CHG_Ena_n && BT_IN_CHG_delayed_n ){ - vreg_ctr[ VREG_C_BT_REMAIN ] = 100; - vreg_ctr[ VREG_C_BT_REMAIN_FINE ] = 0; - } - else - { // 少ない方にキャップ - if( temp_force_fuel_left > temp_fuel[0] ) - { - vreg_ctr[ VREG_C_BT_REMAIN ] = temp_fuel[0]; - vreg_ctr[ VREG_C_BT_REMAIN_FINE ] = temp_fuel[1]; - } - else - { - vreg_ctr[ VREG_C_BT_REMAIN ] = temp_force_fuel_left; - vreg_ctr[ VREG_C_BT_REMAIN_FINE ] = 0; - } - } + reg_volatile_temp_bt_remain = 99; + reg_volatile_temp_bt_remain_fine = 0; } - if( system_status.taikendai_nbd ) + + // 電池電圧 + if( read_BT_voltage( temp ) == ERR_SUCCESS ) { - vreg_ctr[ VREG_C_BT_REMAIN ] = 100; + vreg_ctr[ VREG_C_BT_VOLTAGE ] = temp[0]; + } + else + { + vreg_ctr[ VREG_C_BT_VOLTAGE ] = 200; } } + else + { + // 実機 // + u8 temp_v[2]; + u8 temp_force_fuel_left; + + // 残量リード + if( read_BT_SOC( temp ) != ERR_SUCCESS ) + { + // 残量ICがNACK …バッテリはずれた + vreg_ctr[ VREG_C_STATUS_1 ] |= REG_BIT_MGIC_ERR; + bt_authorized = false; + reg_volatile_temp_bt_remain = 0; + force_off = true; + } + else + { + // バッテリパラメータの関係でビットシフトが必要 + bt_volt16 = temp[0] * 256 + temp[1]; + bt_volt16 /= p_bt_param->v_scale; + temp[0] = (u8)(( bt_volt16 >> 8 ) & 0xFF); + if( temp[0] == 0 ) + { + // 0%台の時は1.00%に上げ底 + // 充電開始後もしばらくは電池残量が減るので + // 0%に到達してしまうことがあるのだ + temp[0] = 1; + temp[1] = 0; + } + else + { + temp[1] = (u8)(bt_volt16 & 0xFF); + } + + + // 電圧でキャップ + if( read_BT_voltage( temp_v ) == ERR_SUCCESS ) + { + vreg_ctr[ VREG_C_BT_VOLTAGE ] = temp_v[0]; + + bt_volt16 = ( temp_v[0] * 256 + temp_v[1] ); + + if( bt_volt16 > V_TH_30 ) + { + temp_force_fuel_left = 100; + hysteresis = 0; + } + else if( bt_volt16 - hysteresis > V_TH_LO ) + { + temp_force_fuel_left = 30; + hysteresis = 0; + } + else if( bt_volt16 > V_TH_EMPTY ) + { + temp_force_fuel_left = BATT_TH_LO; // ここから赤 + hysteresis = 500; + } + else if( bt_volt16 > V_TH_ZERO ) + { + temp_force_fuel_left = BATT_TH_EMPTY; + hysteresis = 500; + } + else if( bt_volt16 > V_TH_FORCE_OFF ) + { + temp_force_fuel_left = 0; + hysteresis = 500; + } + else + { + force_off = true; + hysteresis = 500; + } + } + } + + // 充電許可(=アダプタも刺さってる)のに充電してない + // かつ、(少なくとも)素の電池残量が60%以上(CCICバグ回避) + // = 充電完了。電池がへたってくるとMGICが100%を返さない + if( !BT_CHG_Ena_n && BT_IN_CHG_delayed_n ){ + reg_volatile_temp_bt_remain = 100; + reg_volatile_temp_bt_remain_fine = 0; + } + else + { // 少ない方にキャップ + if( temp_force_fuel_left > temp[0] ) + { + reg_volatile_temp_bt_remain = temp[0]; + reg_volatile_temp_bt_remain_fine = temp[1]; + } + else + { + reg_volatile_temp_bt_remain = temp_force_fuel_left; + reg_volatile_temp_bt_remain_fine = 0; + } + } + } + + if( system_status.taikendai_nbd ) // 電池端子に電源がつながってて値が不正なため上書き。 + { + reg_volatile_temp_bt_remain = 100; + } + + vreg_ctr[ VREG_C_BT_REMAIN ] = reg_volatile_temp_bt_remain; + vreg_ctr[ VREG_C_BT_REMAIN_FINE ] =reg_volatile_temp_bt_remain_fine; // twlのレジスタ更新 (CTRに割り込み入れる前に更新しないと割り込みのタイミングがまずいかもしれない) bt_batt_update_twl(); @@ -740,7 +738,7 @@ void BT_get_left(){ { static u8 bt_remain_old_ctr; - if( bt_remain_old_ctr != vreg_ctr[ VREG_C_BT_REMAIN ] ) + if( bt_remain_old_ctr != reg_volatile_temp_bt_remain ) // CTRに通知 { if( (( vreg_ctr[ VREG_C_BT_REMAIN ] <= BATT_TH_LO ) && ( BATT_TH_LO < bt_remain_old_ctr ))|| @@ -1210,7 +1208,8 @@ void codec_reg_init() { wait_ms( 100 ); - ntr_pm_bt_low_old = ( vreg_ctr[ VREG_C_BT_REMAIN ] <= BATT_TH_LO )? NTR_PM_BT_EMPTY: NTR_PM_BT_ENOUGH; // 1で電池切れ + ntr_pm_bt_low_old = conv_ctr_bt_to_twl_bt(); + iic_mcu_write_a_byte_codec( CODEC_REG_BT, (u8)ntr_pm_bt_low_old ); // SoC から書けず vol_reset(); @@ -1322,7 +1321,7 @@ static void bt_batt_update_ntr() else { - flag = (( vreg_ctr[ VREG_C_BT_REMAIN ] <= BATT_TH_LO )? NTR_PM_BT_EMPTY: NTR_PM_BT_ENOUGH ); // 1で電池切れ + flag = conv_ctr_bt_to_twl_bt(); if(( ntr_pm_bt_low_old != flag ) || !initialized ) { @@ -1332,3 +1331,54 @@ static void bt_batt_update_ntr() } } } + + +/* ======================================================== +========================================================= */ +static err read_BT_SOC( u8* dest ) +{ + if( vreg_ctr[ VREG_C_HAL_OVW_BT_FUEL ] != 0xFF ) + { + *dest = vreg_ctr[ VREG_C_HAL_OVW_BT_FUEL ]; + *(dest+1) = 0x00; + return ERR_SUCCESS; + } + else + { + return( read_mgic_2B( BT_GAUGE_REG_SOC, dest ) ); + } +} + + +/* ======================================================== +========================================================= */ +static err read_BT_voltage( u8* dest ) +{ + if( vreg_ctr[ VREG_C_HAL_OVW_BT_VOLTAGE ] != 0xFF ) + { + *dest = vreg_ctr[ VREG_C_HAL_OVW_BT_VOLTAGE ]; +// *(dest+1) = 0x00; // 使わないよ けど2バイトリード関数しか用意してないのです + return ERR_SUCCESS; + } + else + { + return( read_mgic_2B( BT_GAUGE_REG_VCELL, dest ) ); + } +} + + +/* ======================================================== + 電池残量をtwlにフラグにして返す +========================================================= */ +static u8 conv_ctr_bt_to_twl_bt() +{ +// ntr_pm_bt_low_old = ( vreg_ctr[ VREG_C_BT_REMAIN ] <= BATT_TH_LO )? NTR_PM_BT_EMPTY: NTR_PM_BT_ENOUGH; // 1で電池切れ + if( vreg_ctr[ VREG_C_BT_REMAIN ] <= BATT_TH_LO ) + { + return NTR_PM_BT_EMPTY; + } + else + { + return NTR_PM_BT_ENOUGH; + } +} diff --git a/branches/sim/renge/renge.c b/branches/sim/renge/renge.c index b261eec..ef015f2 100644 --- a/branches/sim/renge/renge.c +++ b/branches/sim/renge/renge.c @@ -105,11 +105,11 @@ err renge_task_interval_run(){ renge_task_interval_run_force = false; // 今から起動するタスク、割り込むタスクでフラグが立つかもなので if( renge_flg_interval != 0 ) { - renge_flg_interval -= 1; + renge_flg_interval --; WDT_Restart( ); } EI(); - for( i = 0; i != TSK_LAST; i += 1 ) + for( i = 0; i != TSK_LAST; i ++ ) { tasks[ i ](); // 逐次起動タスクがあったら間に挟む @@ -157,7 +157,7 @@ err renge_task_immed_add( task_status_immed (*new_task)() ){ // リストの空きの先頭に登録 // 削除したばかりのタスクは、削除マーク(TSK_IMM_DELETED_)となり、空きとは明示的に区別される // 重複登録を避ける - for( i = 0; i < TASK_IMMED_RUN_LIST_MAX; i += 1 ) + for( i = 0; i < TASK_IMMED_RUN_LIST_MAX; i ++ ) { DI(); if( tasks_immed[ i ] == TSK_IMM_EMPTY_ ) @@ -196,7 +196,7 @@ err renge_task_immed_run(){ if( tasks_immed[ 0 ] != TSK_IMM_EMPTY_ ) { DI(); - for( list_id = 0; list_id < TASK_IMMED_RUN_LIST_MAX; list_id += 1 ){ + for( list_id = 0; list_id < TASK_IMMED_RUN_LIST_MAX; list_id ++ ){ if( tasks_immed[ list_id ] == TSK_IMM_EMPTY_ ){ // リスト完了 EI(); @@ -257,7 +257,7 @@ err renge_task_immed_run(){ if( tasks_immed[ j ] == TSK_IMM_EMPTY_ ) { do{ - j -= 1; + j --; DI(); tasks_immed[ j ] = TSK_IMM_EMPTY_; // リスト前詰め完了 @@ -270,7 +270,7 @@ err renge_task_immed_run(){ // 前詰めすべきタスクを見つけた tasks_immed[ i ] = tasks_immed[ j ]; tasks_immed[ j ] = TSK_IMM_DELETED_; - i += 1; + i ++; EI(); } } @@ -280,7 +280,7 @@ err renge_task_immed_run(){ { // このタスク、滞留 } - i += 1; + i ++; } } } diff --git a/branches/sim/rtc.c b/branches/sim/rtc.c index d1b44b9..0bdf7bb 100644 --- a/branches/sim/rtc.c +++ b/branches/sim/rtc.c @@ -168,5 +168,5 @@ void rtc_unlock( ) ======================================================== */ __interrupt void int_rtc_int( ) { - renge_flg_interval += 1; // インクリメント/デクリメント命令を使うので DI()不要 + renge_flg_interval ++; // インクリメント/デクリメント命令を使うので DI()不要 } diff --git a/branches/sim/self_flash.c b/branches/sim/self_flash.c index e314276..d1ff4dd 100644 --- a/branches/sim/self_flash.c +++ b/branches/sim/self_flash.c @@ -133,7 +133,7 @@ void firm_update( ) //(新ファームが書かれるところに残ってる、以前のファームのフッタを消したい) for( target_block = INACTIVE_BOOTSECT_TOP; target_block < ALTERNATE_FIRMTOP; - target_block += 1 ) + target_block ++ ) { FSL_Erase( target_block ); } @@ -144,7 +144,7 @@ void firm_update( ) // ●終わったら、スタートアップルーチンに飛ぶ for( target_block = INACTIVE_BOOTSECT_TOP; target_block < ALTERNATE_FIRMTOP; - target_block += 1 ) + target_block ++ ) { u8 my_spd; @@ -155,7 +155,7 @@ void firm_update( ) // 分割書き込み for( split_write_count = 0; split_write_count < SELF_UPDATE_SPLIT_WRITE_NUM; - split_write_count += 1 ) + split_write_count ++ ) { u8* p_buffer = &pool.self_update_work[0]; u16 buff_written_size = 0; @@ -171,8 +171,8 @@ void firm_update( ) IICAIF = 0; *p_buffer = IICA; WREL = 1; - p_buffer += 1; - buff_written_size += 1; + p_buffer ++; + buff_written_size ++; } while( ( buff_written_size != SELF_UPDATE_BUFF_SIZE ) && !SPD ); @@ -233,7 +233,7 @@ void firm_update( ) } if( *( __far u8 * )( N_MGC_L +2 ) != ':' ) // 消去済のまま { - comp += 1; + comp ++; } if( comp == 0 ) @@ -282,7 +282,7 @@ void firm_restore( ) } if( *( u8 * )( MGC_FOOT_BKUP ) == 0xFF ) { - comp += 1; + comp ++; } if( comp != 0 ) @@ -318,7 +318,7 @@ void firm_restore( ) // 電源ボタンで電源off static u8 sw_hold_count; - if( !SW_POW_n ) + if( !SW_POW_n_RAW ) { sw_hold_count++; } @@ -472,7 +472,7 @@ static err firm_duplicate( u8 block_src, // 書き込み先ブロックの数だけ繰り返す for( target_block = block_dest; target_block < ( block_dest + FIRM_SIZE ); - target_block += 1 ) + target_block ++ ) { led_print(2); WDT_Restart( ); @@ -482,7 +482,7 @@ static err firm_duplicate( u8 block_src, { led_print(3); FSL_Erase( target_block ); - if( --retry_error == 0 ) + if( -- retry_error == 0 ) { // フラッシュ寿命? FSL_Close( ); @@ -494,7 +494,7 @@ static err firm_duplicate( u8 block_src, // 分割書き込み分繰り返す for( split_write_count = 0; split_write_count < SELF_UPDATE_SPLIT_WRITE_NUM; - split_write_count += 1 ) + split_write_count ++ ) { u16 buff_written_size; u8* p_buff; @@ -505,9 +505,9 @@ static err firm_duplicate( u8 block_src, do { *p_buff = *p_src; - p_src += 1; - p_buff += 1; - buff_written_size +=1; + p_src ++; + p_buff ++; + buff_written_size ++; } while( buff_written_size != SELF_UPDATE_BUFF_SIZE ); diff --git a/branches/sim/sim/sfrAlias.h b/branches/sim/sim/sfrAlias.h index 6161064..7317751 100644 --- a/branches/sim/sim/sfrAlias.h +++ b/branches/sim/sim/sfrAlias.h @@ -68,7 +68,7 @@ // INTP6 // PM -#define PM_EXTDC_n mcuRegP[ _P7_0 ] +#define PM_EXTDC_n_RAW mcuRegP[ _P7_0 ] // INTP7 //#define BT_TEMP mcuRegP[ _P15_0 ] // ANI8 @@ -89,25 +89,25 @@ #define BT_CHG_Ena_n ( mcuRegP[ _P4_3 ] ) // 充電中(in) -#define BT_IN_CHG_n mcuRegP[ _P5_1 ] +#define BT_IN_CHG_n_RAW mcuRegP[ _P5_1 ] #define PU_BT_IN_CHG_n mcuRegPU[ _P5_1 ] -#define SW_WIFI_n mcuRegP[ _P7_4 ] +#define SW_WIFI_n_RAW mcuRegP[ _P7_4 ] #define PM_SW_WIFI_n mcuRegPM[ _P7_4 ] // KR4 -#define SW_POW_n mcuRegP[ _P7_3 ] +#define SW_POW_n_RAW mcuRegP[ _P7_3 ] // KR3 #define SW_SEL_n mcuRegP[ _P2_3 ] #define PM_SW_SEL_n mcuRegPM[ _P2_3 ] //#define VOL mcuRegP[ _P2_7 ] // ANI7 -#define SW_HOME_n_JIKKI mcuRegP[ _P20_4 ] +#define SW_HOME_n_JIKKI_RAW mcuRegP[ _P20_4 ] #define PM_SW_HOME_n_JIKKI mcuRegPM[ _P20_4 ] #define PU_SW_HOME_n_JIKKI mcuRegPU[ _P20_4 ] // INTP22 -#define SW_HOME_n_TSBOARD mcuRegP[ _P2_0 ] +#define SW_HOME_n_TSBOARD_RAW mcuRegP[ _P2_0 ] #define PM_SW_HOME_n_TSBOARD mcuRegPM[ _P2_0 ] // WiFi @@ -158,7 +158,7 @@ #define DIPSW_TAIKENDAI_NBD 1 -#define SHELL_OPEN mcuRegP[ _P7_1 ] // INTP5 ふた開閉 (閉じるとL) +#define SHELL_OPEN_RAW mcuRegP[ _P7_1 ] // INTP5 ふた開閉 (閉じるとL) //#define DBG_VR mcuRegP[ _P2_6 ] // ANI6 diff --git a/branches/sim/sw.c b/branches/sim/sw.c index d4ccc7c..70af168 100644 --- a/branches/sim/sw.c +++ b/branches/sim/sw.c @@ -36,8 +36,6 @@ bit SW_pow_mask; u8 SW_home_count, SW_wifi_count, SW_home_count_rel; u8 sw_wifi_mukan_time; -bit SW_HOME_n; - u16 off_timeout_timer; u16 sw_pwsw_mukan_time; @@ -54,7 +52,7 @@ u16 sw_pwsw_mukan_time; if( mask != 0 ){ \ counter = 0; \ }else{ \ - counter += 1; \ + counter ++; \ if( counter == 0 ) counter = -1; \ } \ } \ @@ -64,14 +62,14 @@ u16 sw_pwsw_mukan_time; #define chk_clicked( button, count, irq_bit_name ) \ if( !button ) \ { \ - if( count <= CLICK_THRESHOLD ) \ + if( count < CLICK_THRESHOLD ) \ { \ - count += 1; \ - } \ - if( count == CLICK_THRESHOLD ) \ - { \ - count += 1; \ - set_irq( VREG_C_IRQ0, irq_bit_name ); \ + count ++; \ + if( count == CLICK_THRESHOLD ) \ + { \ + count ++; \ + set_irq( VREG_C_IRQ0, irq_bit_name ); \ + } \ } \ } \ else \ @@ -94,7 +92,7 @@ void tsk_sw( ) SW_pow_count = 0; // カウントクリア } - if( --task_interval != 0 ) + if( -- task_interval != 0 ) { return; } @@ -131,7 +129,7 @@ void tsk_sw( ) if( off_timeout_timer != 0 ) // 長押し割り込み後、タイムアウトで強制オフ。 { - off_timeout_timer -= 1; + off_timeout_timer --; if( off_timeout_timer == 1 ) { force_off = true; @@ -163,19 +161,6 @@ void tsk_sw( ) count_sw_n( SW_POW_n, SW_pow_count, SW_pow_mask ); // ボタン押し時間のカウント // HOME スイッチ // - switch( system_status.model ) - { - case( MODEL_JIKKI ): - case( MODEL_SHIROBAKO ): - SW_HOME_n = SW_HOME_n_JIKKI; // 接続先のポートが違うため - break; - case( MODEL_TS_BOARD ): - SW_HOME_n = SW_HOME_n_TSBOARD; - break; - default: - SW_HOME_n = 1; // 放されてる状態 - } - chk_clicked( SW_HOME_n, SW_home_count, REG_BIT_SW_HOME_CLICK ); chk_clicked( !SW_HOME_n, SW_home_count_rel, REG_BIT_SW_HOME_RELEASE ); diff --git a/branches/sim/task_debug.c b/branches/sim/task_debug.c index e6e0785..4c520d9 100644 --- a/branches/sim/task_debug.c +++ b/branches/sim/task_debug.c @@ -43,7 +43,7 @@ void tsk_debug( ) static u8 count = 0; // デバッグLED(8bit)の初期化 temp = iic_mcu_read_a_byte( IIC_SLA_8LEDS, IIC_8LEDS_REG_DO ); - count += 1; + count ++; iic_mcu_write_a_byte( IIC_SLA_8LEDS, IIC_8LEDS_REG_DO, count ); iic_mcu_write_a_byte( IIC_SLA_DBG_MONITOR, 3, count ); } diff --git a/branches/sim/task_misc.c b/branches/sim/task_misc.c index 3ad80a2..e88057b 100644 --- a/branches/sim/task_misc.c +++ b/branches/sim/task_misc.c @@ -157,7 +157,7 @@ void update_LED_3D() { if( LED_duty_3d != 0 ) { - LED_duty_3d -= 1; + LED_duty_3d --; } } else @@ -166,12 +166,12 @@ void update_LED_3D() { if( LED_duty_3d < vreg_ctr[VREG_C_LED_BRIGHT] ) { - LED_duty_3d += 1; - } - else - { - LED_duty_3d -= 1; - } + LED_duty_3d ++; + } + else + { + LED_duty_3d --; + } } } } @@ -276,7 +276,7 @@ extern bit bt_authorized; 10) system_status.family ======================================================== */ -#define KOUMOKU 9 +#define KOUMOKU 18 u8 extinfo_read() { u8 infos[ KOUMOKU +1 ]; @@ -299,22 +299,42 @@ u8 extinfo_read() infos[7] = ( !temp_zone_charge_disable | ( bt_authorized << 1 ) ); infos[8] = 1; // system_status.info_fullcolor; infos[9] = system_status.family; + + infos[10] = LED_pow_red; + infos[11] = LED_duty_pow_blu; + infos[12] = LED_duty_3d; + infos[13] = LED_duty_notify_red; + infos[14] = LED_duty_notify_grn; + infos[15] = LED_duty_notify_blu; + infos[16] = LED_CAM; + infos[17] = LED_duty_WiFi; + infos[18] = +// ( PM_EXTDC_n ? REG_BIT_HAL0_PM_EXTDC_n : 0 ) // status0にある + 0 + | ( BT_IN_CHG_n ? REG_BIT_HAL0_BT_IN_CHG_n : 0 ) +// | ( SHELL_OPEN ? REG_BIT_HAL0_SHELL_OPEN : 0 ) // status0にある + | ( BT_CHG_Ena_n ? REG_BIT_HAL0_RSV_5 : 0 ) // 空きビット使用,out pin + | 0 + | ( SW_WIFI_n ? REG_BIT_HAL0_SW_WIFI_n : 0 ) + | ( SW_HOME_n ? REG_BIT_HAL0_SW_HOME_n : 0 ) + | ( SW_POW_n ? REG_BIT_HAL0_SW_POW_n : 0 ); + // 項目足すときは気をつけてね!! // - iic_burst_state++; + iic_burst_state ++; return( infos[ iic_burst_state -1 ] ); } #ifdef i2c_timeout_test void i2c_mcu_error_monitor() - { - LED_duty_pow_blu = 0xff; - LED_duty_3d = 0xff; - LED_duty_notify_red = 0xff; - LED_duty_notify_grn = 0xff; - LED_duty_notify_blu = 0xff; - LED_pow_red = 1; - LED_CAM = 1; - } +{ + LED_duty_pow_blu = 0xff; + LED_duty_3d = 0xff; + LED_duty_notify_red = 0xff; + LED_duty_notify_grn = 0xff; + LED_duty_notify_blu = 0xff; + LED_pow_red = 1; + LED_CAM = 1; +} #endif diff --git a/branches/sim/task_status.c b/branches/sim/task_status.c index 34665ff..0d07510 100644 --- a/branches/sim/task_status.c +++ b/branches/sim/task_status.c @@ -9,41 +9,29 @@ #include "incs_loader.h" #include "renge\renge.h" +#include "hal.h" + #include "pm.h" #include "accero.h" #include "adc.h" #include "i2c_mcu.h" - +#include "led.h" // ======================================================== #define INTERVAL_TSK_STATUS 4 -extern bit BT_CHG_STAT_Change; - - /* ======================================================== ステータスレジスタなど ======================================================== */ void tsk_status( ) { -// static u8 interval_task_status = 0; static u8 state_old; // ステータス変化検出→割り込み の為 u8 diff; -/* - if( interval_task_status != 0 ) - { - interval_task_status -= 1; - return; - } - else - { - interval_task_status = (u8)( INTERVAL_TSK_STATUS / SYS_INTERVAL_TICK ); - } -*/ - // 蓋開けチェック + + // 蓋開けチェック set_bit( SHELL_OPEN, vreg_ctr[VREG_C_STATUS], REG_BIT_ST_SHELL_OPEN ); // ステータスレジスタ関係 → 割り込み // @@ -61,8 +49,6 @@ void tsk_status( ) { if( diff & REG_BIT_BATT_CHARGE ) { - BT_CHG_STAT_Change = true; - // 充電状態に以下略 if( vreg_ctr[VREG_C_STATUS] & REG_BIT_BATT_CHARGE ) { diff --git a/branches/sim/task_sys.c b/branches/sim/task_sys.c index b1b3420..935b2a8 100644 --- a/branches/sim/task_sys.c +++ b/branches/sim/task_sys.c @@ -33,7 +33,6 @@ static void force_off_check(); static void send_getup_to_soc(); - //========================================================= extern bit info_led_off; extern bit going_to_sleep; @@ -46,6 +45,10 @@ extern u8 chg_led_override; extern bit i2c_mcu_time_out_error; #endif + +//========================================================= +#define PWSW_POWON_TIME (u8)( 20 / SYS_INTERVAL_TICK ) + /* ======================================================== マイコン内部で必要なもの ・省電力に入れる @@ -54,9 +57,11 @@ extern bit i2c_mcu_time_out_error; ======================================================== */ void tsk_sys( ) { - static u8 timeout = 0; + static u8 pwsw_timeout = 0; // 電源ボタンチャタリング回避。 タイムアウトするまでに電源投入確定しないとoffに戻る - switch ( system_status.pwr_state ) + hal_update(); + + switch ( system_status.pwr_state ) { case ON_CHECK: //------------------------------------------------------- // スイッチ操作などで割り込みが発生し、スリープが解除されるとここに来ます。 @@ -66,21 +71,21 @@ void tsk_sys( ) // スイッチで電源on if( SW_pow_count != 0 ) { - timeout = 0; + pwsw_timeout = 0; } else { - timeout += 1; + pwsw_timeout ++; } - if( timeout > 100 ) + if( pwsw_timeout > 100 ) { system_status.pwr_state = OFF; // スイッチはノイズだった。寝る。 renge_task_interval_run_force = true; return; } - if( SW_pow_count < 10 ) + if( SW_pow_count < PWSW_POWON_TIME ) { // もう少しスイッチの様子を見る return; @@ -91,14 +96,9 @@ void tsk_sys( ) SW_pow_mask = true; - timeout = 0; - // for debug #ifdef _DEBUG_BT_FUEL_ vreg_ctr[ VREG_C_DBG01 ] = 99; -#endif -#ifdef _DEBUG_BT_TEMP_ - vreg_ctr[ VREG_C_DBG01 ] = 0x80; #endif vreg_ctr[ VREG_C_COMMAND3 ] = 0; @@ -198,19 +198,14 @@ void tsk_sys( ) iic_mcu_start(); -#ifdef _MCU_BSR_ // MK2 = ~( INT_MSK2_IIC_TWL | INT_MSK2_WIFI_TX_BSR | INT_MSK2_CODEC_PMIRQ ); // PMK21 = 0; // wifi 使わない PMK6 = 0; // pm_irq -#else - MK2L = ~INT_MSK2_WIFI_TX_KE3; -#endif // todo 将来的には完全にレジスタ制御に RBR_RESET_n = 1; RBR_FLIGHT = 0; - // リブート時、ステータスを何となく更新 if( system_status.reboot ) { @@ -245,7 +240,7 @@ void tsk_sys( ) // SLP監視 if( going_to_sleep ) // 絶対に SLP_REQ の前に予告が来る { - timeout_sleep += 1; + timeout_sleep ++; if( timeout_sleep == 0 || // オーバーフローを期待。sleepするって言ったけど一瞬で起きて気がつかなかった ( PIF0 && !SLP_REQ )) // slp割り込みが入った気がしたが、もう起きてしまった { @@ -348,7 +343,7 @@ void tsk_sys( ) // PU5 そのまま PU7 = bits8(0,0,0,0, 1,0,0,1); // PWSWI,PM_EXTTDC,( IRQ0_deactive(), PM_IRQ_deactive ) - PU_SW_HOME_n_JIKKI = 0; // SW_HOME 停止 + PU_SW_HOME_n_JIKKI = 0; // SW_HOME 停止 IF0 = 0; IF1 = 0; @@ -359,10 +354,10 @@ void tsk_sys( ) PM_sys_pow_off( ); // ポート類を停止モードに。こういう回路でも、L出力にしなきゃだめだそうな。 - SW_WIFI_n = 0; + SW_WIFI_n_RAW = 0; PM_SW_WIFI_n = 0; - SW_HOME_n_JIKKI = 0; + SW_HOME_n_JIKKI_RAW = 0; PM_SW_HOME_n_JIKKI = 0; WL_TX = 0; @@ -382,21 +377,29 @@ void tsk_sys( ) SW_pow_mask = true; SW_pow_count = 0; + // HALデバッグリセット + vreg_ctr[ VREG_C_HAL_OVW_CONT0 ] = 0; + vreg_ctr[ VREG_C_HAL_OVW_CONT1 ] = 0; + vreg_ctr[ VREG_C_HAL_OVW_TEMPERATURE ] = 0xFF; + vreg_ctr[ VREG_C_HAL_OVW_BT_FUEL ] = 0xFF; + vreg_ctr[ VREG_C_HAL_OVW_BT_VOLTAGE ] = 0xFF; /* FALLTHROUGH */ case OFF: system_status.poweron_reason = NONE; - if( !PM_EXTDC_n ) + pwsw_timeout = 0; + + if( !PM_EXTDC_n ) { // アダプタが刺さってるときはこのブロックを繰り返す。 BT_chk(); // 要ポーリング(電池抜かれ検出のため) // ↑の中で必要だったらI2C_m_init呼んでます // アダプタ有り:充電温度監視 - if( SW_pow_count >= 10 ) // 電源スイッチが押されるのを待つ + if( SW_pow_count > PWSW_POWON_TIME ) // 電源スイッチが押されるのを待つ { // 電源投入 - system_status.pwr_state = ON_CHECK; + system_status.pwr_state = ON_CHECK; // 直ちに押し時間チェックは合格して電源投入に入る } if( system_status.model != MODEL_JIKKI ) @@ -406,6 +409,7 @@ void tsk_sys( ) if( system_status.taikendai ) { + vreg_ctr[ VREG_C_HAL_OVW_CONT0 ] = vreg_ctr[ VREG_C_HAL_OVW_CONT1 ] = 0; // 電源投入 wait_ms(46); system_status.poweron_reason = PWSW; @@ -437,7 +441,20 @@ void tsk_sys( ) if( PM_EXTDC_n ) // きわどいタイミングで挿抜が起きることがある { - STOP( ); + /* + vreg_ctr[ VREG_C_HAL_OVW_CONT0 ] = 0; + vreg_ctr[ VREG_C_HAL_OVW_CONT1 ] = 0; + vreg_ctr[ VREG_C_HAL_OVW_TEMPERATURE ] = 0xFF; + vreg_ctr[ VREG_C_HAL_OVW_BT_FUEL ] = 0xFF; + vreg_ctr[ VREG_C_HAL_OVW_BT_VOLTAGE ] = 0xFF; +*/ + if( vreg_ctr[ VREG_C_HAL_OVW_CONT0 ] != 0 || + vreg_ctr[ VREG_C_HAL_OVW_BT_FUEL ] == 0xFF ) + { + NOP(); + } + + STOP( ); } // 起きる // @@ -453,7 +470,6 @@ void tsk_sys( ) // 電源ボタンで起きたとき SW_pow_mask = false; system_status.pwr_state = ON_CHECK; - timeout = 0; } // else{ // アダプタで起きたときは OFF の中をぐるぐるまわる @@ -530,8 +546,8 @@ static void chk_emergencyExit(){ { if( !RESET1_n ) { - if( shirobako_power_control_count != 255 ) - shirobako_power_control_count += 1; + if( shirobako_power_control_count != 255 ) + shirobako_power_control_count ++; } else { diff --git a/branches/sim/user_define.h b/branches/sim/user_define.h index 33477d7..fb4bf2b 100644 --- a/branches/sim/user_define.h +++ b/branches/sim/user_define.h @@ -78,7 +78,7 @@ // INTP6 // PM -#define PM_EXTDC_n P7.0 +#define PM_EXTDC_n_RAW P7.0 // INTP7 //#define BT_TEMP P15.0 // ANI8 @@ -99,26 +99,26 @@ #define BT_CHG_Ena_n ( P4.3 ) // 充電中(in) -#define BT_IN_CHG_n P5.1 +#define BT_IN_CHG_n_RAW P5.1 #define PM_BT_IN_CHG_n PM5.1 #define PU_BT_IN_CHG_n PU5.1 -#define SW_WIFI_n P7.4 +#define SW_WIFI_n_RAW P7.4 #define PM_SW_WIFI_n PM7.4 // KR4 -#define SW_POW_n P7.3 +#define SW_POW_n_RAW P7.3 // KR3 -#define SW_SEL_n P2.3 +#define SW_SEL_n P2.3 #define PM_SW_SEL_n PM2.3 //#define VOL P2.7 // ANI7 -#define SW_HOME_n_JIKKI P20.4 +#define SW_HOME_n_JIKKI_RAW P20.4 #define PM_SW_HOME_n_JIKKI PM20.4 #define PU_SW_HOME_n_JIKKI PU20.4 // INTP22 -#define SW_HOME_n_TSBOARD P2.0 // TSマザー上でpull up(P2は内蔵p.u.無い) +#define SW_HOME_n_TSBOARD_RAW P2.0 // TSマザー上でpull up(P2は内蔵p.u.無い) #define PM_SW_HOME_n_TSBOARD PM2.0 // WiFi @@ -166,11 +166,11 @@ #define DIPSW_TAIKENDAI_NBD 0b01 -#define SHELL_OPEN P7.1 // INTP5 ふた開閉 (閉じるとL) +#define SHELL_OPEN_RAW P7.1 // INTP5 ふた開閉 (閉じるとL) -#define ACC_VALID P20.5 +#define ACC_VALID P20.5 #define PM_ACC_VALID PM20.5 -#define ACCEL_INT1 P2.5 +#define ACCEL_INT1 P2.5 #define PM_ACCEL_INT1 PM2.5 diff --git a/branches/sim/vreg_ctr.c b/branches/sim/vreg_ctr.c index c8b3cc6..deccd94 100644 --- a/branches/sim/vreg_ctr.c +++ b/branches/sim/vreg_ctr.c @@ -31,8 +31,7 @@ u8 vreg_ctr[VREG_C_ENDMARK_ + 16]; u8 vreg_ctr[VREG_C_ENDMARK_]; #endif -u8 vreg_free_adrs; // アドレス飛んでるのでしばらくはこれで - +static u8 vreg_free_adrs; // アドレス飛んでるのでしばらくはこれで bit irq_readed; // AAA型のため。 @@ -156,19 +155,21 @@ void vreg_ctr_write( u8 adrs, u8 data ) case ( VREG_C_COMMAND1 ): if( data != 0 ) { + // u8 temp; 中間変数使ったらばかでかくなった... // TWLに割り込みを入れる /// 実際に割り込みを入れるのはSoC - vreg_twl[REG_TWL_INT_ADRS_IRQ] = ( ( data & REG_BIT_SEND_TWL_PWSW_DET ) != 0 ) ? REG_BIT_TWL_IRQ_PWSW_DET : 0x00; //pwsw_det - vreg_twl[REG_TWL_INT_ADRS_IRQ] |= ( ( data & REG_BIT_SEND_TWL_RESET_DET ) != 0 ) ? REG_BIT_TWL_IRQ_RESET : 0x00; //reset_req + /// ビットの並びが違うから面倒 + vreg_twl[ REG_TWL_INT_ADRS_IRQ ] = ( ( data & REG_BIT_SEND_TWL_PWSW_DET ) != 0 ) ? REG_BIT_TWL_IRQ_PWSW_DET : 0x00; //pwsw_det + vreg_twl[ REG_TWL_INT_ADRS_IRQ ] |= ( ( data & REG_BIT_SEND_TWL_RESET_DET ) != 0 ) ? REG_BIT_TWL_IRQ_RESET : 0x00; //reset_req - vreg_twl[REG_TWL_INT_ADRS_IRQ] |= ( ( data & REG_BIT_SEND_TWL_OFF_DET ) != 0 ) ? REG_BIT_TWL_IRQ_OFF : 0x00; //off_req + vreg_twl[ REG_TWL_INT_ADRS_IRQ ] |= ( ( data & REG_BIT_SEND_TWL_OFF_DET ) != 0 ) ? REG_BIT_TWL_IRQ_OFF : 0x00; //off_req - vreg_twl[REG_TWL_INT_ADRS_IRQ] |= ( ( data & REG_BIT_SEND_TWL_BATT_LOW ) != 0 ) ? REG_BIT_TWL_IRQ_BT_LOW : 0x00; //batt_low - vreg_twl[REG_TWL_INT_ADRS_IRQ] |= ( ( data & REG_BIT_SEND_TWL_BATT_EMPTY ) != 0 ) ? REG_BIT_TWL_IRQ_BT_EMPTY : 0x00; //batt_empty + vreg_twl[ REG_TWL_INT_ADRS_IRQ ] |= ( ( data & REG_BIT_SEND_TWL_BATT_LOW ) != 0 ) ? REG_BIT_TWL_IRQ_BT_LOW : 0x00; //batt_low + vreg_twl[ REG_TWL_INT_ADRS_IRQ ] |= ( ( data & REG_BIT_SEND_TWL_BATT_EMPTY ) != 0 ) ? REG_BIT_TWL_IRQ_BT_EMPTY : 0x00; //batt_empty if(( data & REG_BIT_SEND_TWL_VOL_CLICK ) != 0 ) { - vreg_twl[REG_TWL_INT_ADRS_IRQ] |= REG_BIT_TWL_IRQ_VOL_CHANGE; //vol_changed + vreg_twl[ REG_TWL_INT_ADRS_IRQ ] |= REG_BIT_TWL_IRQ_VOL_CHANGE; //vol_changed } } break; @@ -177,12 +178,12 @@ void vreg_ctr_write( u8 adrs, u8 data ) if( iic_burst_state == 0 ) { vreg_ctr[ VREG_C_LED_POW ] = data; - iic_burst_state += 1; + iic_burst_state ++; } else if( iic_burst_state < 5 ) { led_red_batt_empty.dats[ iic_burst_state -1 ] = data; - iic_burst_state += 1; + iic_burst_state ++; } break; @@ -200,7 +201,7 @@ void vreg_ctr_write( u8 adrs, u8 data ) data = 1; } info_LED.bindata[ iic_burst_state ] = data; - iic_burst_state += 1; + iic_burst_state ++; if( iic_burst_state > 4 ) // パターンを1文字でも書いた { info_led_pattern_updated = true; @@ -294,7 +295,7 @@ void vreg_ctr_write( u8 adrs, u8 data ) if( vreg_free_adrs < VREG_C_FREE_SIZE ) { pool.vreg_c_ext.vreg_c_free[ vreg_free_adrs ] = data; - vreg_free_adrs += 1; + vreg_free_adrs ++; } break; @@ -322,13 +323,31 @@ void vreg_ctr_write( u8 adrs, u8 data ) // mcu_wdt_reset; // このコマンド使ったら意味ないでしょ! break; #endif + case( 'p' ): + hosu_increment_if_necessary(); // 今、一歩増えた + break; } - vreg_ctr[ VREG_C_COMMAND3 ] = data; + +// vreg_ctr[ VREG_C_COMMAND3 ] = data; break; case ( VREG_C_RBR_CONTROL ): - RBR_RESET_n = ( data & REG_BIT_RESET_n ) ? 1: 0; - RBR_FLIGHT = ( data & REG_BIT_FLIGHT ) ? 1: 0; + if(( data & REG_BIT_RESET_n ) != 0 ) + { + RBR_RESET_n = 1; + } + else + { + RBR_RESET_n = 0; + } + if(( data & REG_BIT_FLIGHT ) != 0 ) + { + RBR_FLIGHT = 1; + } + else + { + RBR_FLIGHT = 0; + } vreg_ctr[ VREG_C_RBR_CONTROL ] = data; break; @@ -356,7 +375,8 @@ void vreg_ctr_write( u8 adrs, u8 data ) NOP(); break; - default: + // 普通に書かれるだけ ///////////////////////////////// + default: /* case ( VREG_C_IRQ_MASK0 ): case ( VREG_C_IRQ_MASK1 ): @@ -374,6 +394,10 @@ void vreg_ctr_write( u8 adrs, u8 data ) case ( VREG_C_RTC_ALARM_YEAR ): case ( VREG_C_ACC_W_ADRS ): case ( VREG_C_OFF_DELAY ): + VREG_C_HAL_OVW_CONT0 = 0x52, + VREG_C_HAL_OVW_DAT0, + VREG_C_HAL_OVW_CONT1, + VREG_C_HAL_OVW_DAT1, */ if( adrs < VREG_C_ENDMARK_ ) { @@ -436,7 +460,7 @@ u8 vreg_ctr_read( u8 adrs ) else if( adrs == VREG_CX_FREE_DATA ) { temp = pool.vreg_c_ext.vreg_c_free[ vreg_free_adrs ]; - // vreg_free_adrs += 1; // ここで加算してしまうとインデックスがずれる + // vreg_free_adrs ++; // ここで加算してしまうとインデックスがずれる return( temp ); } else if( adrs == VREG_CX_INFO ) @@ -445,7 +469,14 @@ u8 vreg_ctr_read( u8 adrs ) } else if( adrs == VREG_C_ACC_HOSU_SETTING ) { - return( pedolog_overflow? 0x10: 0 ); + if( pedolog_overflow ) + { + return( 0x10 ); + } + else + { + return( 0 ); + } } if( adrs >= VREG_C_ENDMARK_ ) @@ -478,7 +509,7 @@ void vreg_ctr_after_read( u8 adrs, u8 data ) break; case VREG_CX_FREE_DATA: - vreg_free_adrs += 1; + vreg_free_adrs ++; break; default: diff --git a/branches/sim/vreg_ctr.h b/branches/sim/vreg_ctr.h index dc216c3..55a89df 100644 --- a/branches/sim/vreg_ctr.h +++ b/branches/sim/vreg_ctr.h @@ -27,7 +27,7 @@ // twl bl のミラー[1: ( 1 << 3 ) // 0]( 1 << 2 ) #define REG_BIT_ACCERO_ERR ( 1 << 1 ) -#define REG_BIT_MGIC_ERR ( 1 << 0 ) +#define REG_BIT_MGIC_ERR ( 1 << 0 ) // VREG_C_IRQ0 #define REG_BIT_IRQ_WDT_RESET ( 1 << 7 ) @@ -113,10 +113,6 @@ #define REG_BIT_TWL_IRQ_BT_EMPTY 0x10 #define REG_BIT_TWL_IRQ_VOL_CHANGE 0x40 -// VOL option (0x26) -//#define REG_BIT_VOL_UPDATE_TO_SLIDER ( 1 << 4 ) -//#define REG_BIT_VOL_BY_SPI ( 1 << 0 ) -// FORCE_REGの方が弱い // CODEC上のPMIC NTR の代理レジスタ #define REG_BIT_TWL_REQ_OFF ( 1 << 6 ) @@ -133,6 +129,24 @@ #define REG_BIT_RESET_n ( 1 << 0 ) +// HAL bitfields 0 +#define REG_BIT_HAL0_PM_EXTDC_n ( 1 << 7 ) +#define REG_BIT_HAL0_BT_IN_CHG_n ( 1 << 6 ) +//#define REG_BIT_HAL0_PM_IRQ_n // 使わない +#define REG_BIT_HAL0_RSV_5 ( 1 << 5 ) +#define REG_BIT_HAL0_WL_TX ( 1 << 4 ) +#define REG_BIT_HAL0_SHELL_OPEN ( 1 << 3 ) // statusにあります +#define REG_BIT_HAL0_SW_WIFI_n ( 1 << 2 ) +#define REG_BIT_HAL0_SW_HOME_n ( 1 << 1 ) +#define REG_BIT_HAL0_SW_POW_n ( 1 << 0 ) + + +// HAL bitfields 1 +#define REG_BIT_HAL1_DIPSW_1 ( 1 << 3 ) +#define REG_BIT_HAL1_DIPSW_0 ( 1 << 2 ) +#define REG_BIT_HAL1_HW_DET_1 ( 1 << 1 ) +#define REG_BIT_HAL1_HW_DET_0 ( 1 << 0 ) + /* テンプレ #define REG_BIT_ ( 1 << 7 ) @@ -204,6 +218,8 @@ enum VREG_C_ADRS VREG_C_LED_NOTIFY_DATA, VREG_C_LED_NOTIFY_FLAG, + VREG_C_RBR_CONTROL = 0x2F, + VREG_C_RTC_SEC = 0x30, VREG_C_RTC_MIN, VREG_C_RTC_HOUR, @@ -245,14 +261,23 @@ enum VREG_C_ADRS VREG_C_ACC_HOSU_HOUR_BOUNDARY = 0x50, VREG_C_ACC_HOSU_HOUR_BOUNDARY_SEC, - VREG_C_RBR_CONTROL = 0x57, + VREG_C_HAL_OVW_CONT0 = 0x52, + VREG_C_HAL_OVW_DAT0, + VREG_C_HAL_OVW_CONT1, + VREG_C_HAL_OVW_DAT1, + + VREG_C_HAL_OVW_BT_FUEL = 0x56, + VREG_C_HAL_OVW_BT_VOLTAGE, VREG_C_VOL_CAL_MIN = 0x58, VREG_C_VOL_CAL_MAX, - VREG_C_ENDMARK_ + VREG_C_HAL_OVW_TEMPERATURE = 0x5A, + + VREG_C_ENDMARK_ }; +// ↓間は抜けにして、メモリも確保しないために 別に define してる #define VREG_CX_INFO 0x7F #define VREG_CX_FREE_ADRS 0x60 #define VREG_CX_FREE_DATA 0x61 diff --git a/branches/sim/yav_mcu_bsr.plg b/branches/sim/yav_mcu_bsr.plg index f05ed28..38e6e5c 100644 --- a/branches/sim/yav_mcu_bsr.plg +++ b/branches/sim/yav_mcu_bsr.plg @@ -1,31 +1,13 @@ C:\Windows\system32\cmd.exe /c c:\cygwin\bin\touch magic.c -"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -qvjl2w -sainter_asm -zpb -w2 -no i2c_ctr.c -bsr_system.h(55) : CC78K0R warning W0851: Data aligned in 'struct tag' -i2c_ctr.c(77) : CC78K0R warning W0309: Unused 'reg_adrs_internal' -i2c_ctr.c(277) : CC78K0R warning W0851: Data aligned in '@@DATA section' -i2c_ctr.c(277) : CC78K0R warning W0851: Data aligned in '@@INIT section' -Compilation complete, 0 error(s) and 4 warning(s) found. -"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff inter_asm\i2c_ctr.asm -Assembly complete, 0 error(s) and 0 warning(s) found. -"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -qvjl2w -sainter_asm -zpb -w2 -no magic.c -magic.c(16) : CC78K0R warning W0871: Data aligned after 'MGC_HEADdN' in 'MGC_MIMI section' -magic.c(24) : CC78K0R warning W0871: Data aligned after 'MGC_TAILd' in 'MGC_TAIL section' -magic.c(12) : CC78K0R warning W0871: Data aligned after 'MGC_LOADd' in 'MGC_LOAD section' -Compilation complete, 0 error(s) and 3 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -rd2 -qvjl2w -sainter_asm -zpb -no magic.c +Compilation complete, 0 error(s) and 0 warning(s) found. "C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff inter_asm\magic.asm Assembly complete, 0 error(s) and 0 warning(s) found. -"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -qvjl2w -sainter_asm -zpb -w2 -no i2c_mcu.c -bsr_system.h(55) : CC78K0R warning W0851: Data aligned in 'struct tag' -i2c_mcu.c(210) : CC78K0R warning W0401: Conversion may lose significant digits -i2c_mcu.c(655) : CC78K0R warning W0851: Data aligned in '@@DATA section' -Compilation complete, 0 error(s) and 3 warning(s) found. -"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff inter_asm\i2c_mcu.asm -Assembly complete, 0 error(s) and 0 warning(s) found. -"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\lk78k0r.exe" -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -obsr.lmf "..\..\..\..\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\lib78k0r\s0rm.rel" -go85h,0FC00h,1024 -gi1B339499E033F240BFAAh -pbsr_k0r.map -nkd -gb7EFBFFh -b"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\lib78k0r\fsl.lib" -bcl0rdm.lib -bcl0rm.lib -bcl0rmf.lib -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\lib78k0r" -dbsr_mcu.dr -s -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.rel renge.rel accero.rel self_flash.rel sw.rel task_debug.rel task_misc.rel task_sys.rel pedo_alg_thre_det2.rel ini_VECT.rel task_status.rel led_cam.rel led_pow.rel +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\lk78k0r.exe" -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -obsr.lmf "..\..\..\..\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\lib78k0r\s0rm.rel" -go85h,0FC00h,1024 -gi1B339499E033F240BFAAh -pbsr_k0r.map -nkd -gb7EFBFFh -b"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\lib78k0r\fsl.lib" -bcl0rdm.lib -bcl0rm.lib -bcl0rmf.lib -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\lib78k0r" -dbsr_mcu.dr -s -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.rel renge.rel accero.rel self_flash.rel sw.rel task_debug.rel task_misc.rel task_sys.rel pedo_alg_thre_det2.rel ini_VECT.rel task_status.rel led_cam.rel led_pow.rel hal.rel Link complete, 0 error(s) and 0 warning(s) found. "C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\oc78k0r.exe" -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -o.\bsr.hex -nu -ki bsr.lmf Object Conversion Complete, 0 error(s) and 0 warning(s) found. C:\Windows\system32\cmd.exe /c ruby nec_s_2_bsrbin2.rb bsr.hex 133 !E debug enable!! -Build Total error(s) : 0 Total warning(s) : 10 +Build Total error(s) : 0 Total warning(s) : 0 diff --git a/branches/sim/yav_mcu_bsr.pri b/branches/sim/yav_mcu_bsr.pri index 1d8d57f..fb5dab9 100644 --- a/branches/sim/yav_mcu_bsr.pri +++ b/branches/sim/yav_mcu_bsr.pri @@ -14,7 +14,7 @@ Low-voltage Flash Rewriting=On Fail Safe Break=0x2000 Port=1 NMI=OFF -TRESET=OFF +TRESET=ON IRESET=OFF WAIT=OFF SysClock=None @@ -22,7 +22,7 @@ SubClock=None [Mapping] Count=0 [Main] -Geometry=22, 22, 1200, 858 +Geometry=1, 1, 878, 808 Window=Max MDI_MAX=OFF Button=ON @@ -58,7 +58,7 @@ Symbol Reset1=ON Dir=\\tsclient\C\78k_data\yav-mcu-basara\branches\sim\ Filter=Source [Debugger Option] -Source Path="" +Source Path="\\tsclient\C\78k_data\yav-mcu-basara\branches\sim\renge" Symbol Size=Byte Symbol Format=Hex Register Name=Func @@ -78,10 +78,10 @@ Symbol Type=OFF Language=C Kanji=SJIS [Source] -Geometry=0, 0, 600, 400 +Geometry=31, 32, 748, 852 Window=Normal -DispStart=60 -CaretPos=81,0 +DispStart=75 +CaretPos=116,0 Mode=Normal DispFile= Address1= @@ -139,27 +139,11 @@ SaveRange=Screen SaveStart= SaveEnd= Accumulative=ON -[Source1] -Geometry=717, 97, 600, 750 -Window=Normal -DispStart=158 -CaretPos=209,0 -Mode=Normal -DispFile=\\tsclient\C\78k_data\yav-mcu-basara\branches\sim\i2c_ctr.c -Accumulative=ON -[Source2] -Geometry=0, 0, 600, 889 -Window=Normal -DispStart=344 -CaretPos=397,0 -Mode=Normal -DispFile=\\tsclient\C\78k_data\yav-mcu-basara\branches\sim\vreg_ctr.c -Accumulative=ON [Assemble] -Geometry=50, 50, 600, 400 -Window=Normal -DispStart=684 -CaretPos=684,27 +Geometry=0, 0, 0, 0 +Window=Hide +DispStart=847561728 +CaretPos=0,0 Address1= Address2= Address3= @@ -195,8 +179,8 @@ Data16= Case=ON Scan=OFF Direction=Down -FindStart= -FindEnd= +FindStart=0 +FindEnd=0 SaveRange=Screen SaveStart= SaveEnd= @@ -293,7 +277,7 @@ Address16= Boundary=0, 0 Mode=Hex Attribute=Show -Sort=Address +Sort=Unsort Pickup=OFF SelectSort=Address Last Name= @@ -885,19 +869,19 @@ SaveEnd= Geometry=0, 0, 0, 0 Window=Hide Mode=Hex -Boundary=0 +Boundary=62 Pickup=OFF Name=Functional Register Bank=0 -RP0=3 -RP1=3 -RP2=3 -RP3=3 -PC=3 -SP=3 -PSW=3 -ES=3 -CS=3 +RP0=1 +RP1=1 +RP2=1 +RP3=1 +PC=1 +SP=1 +PSW=1 +ES=1 +CS=1 [Event Manager] Geometry=0, 0, 0, 0 Window=Hide @@ -973,15 +957,18 @@ Detail=OFF Last Name= Count=0 [Variable] -Geometry=0, 0, 0, 0 -Window=Hide -Boundary=0 -Line=0 +Geometry=1143, 3, 440, 1023 +Window=Normal +Boundary=13762700 +0=.system_status,.,N,A,+,1 +1=.vreg_ctr,P,N,A,+,1 +2=.temp,P,N,A,+,1 +Line=3 [Quick Watch] -0= -1= -2= -3= +0=temp,P,A,1 +1=system_status,P,A,1 +2=vreg_ctr[],P,A,1 +3=vreg_ctr,P,A,1 4= 5= 6= @@ -995,22 +982,10 @@ Line=0 14= 15= [Software Break] -Geometry=0, 876, 500, 200 -Window=Normal +Geometry=0, 0, 0, 0 +Window=Hide Width=150 30 200 100 -Name0=Swb00001 -Address0=vreg_ctr.c#_vreg_ctr_write+0x344 -Window0=ASM -Status0=ON -Name1=Swb00002 -Address1=vreg_ctr.c#_vreg_ctr_write+0x353 -Window1=ASM -Status1=ON -Name2=Swb00003 -Address2=i2c_ctr.c#_int_iic_ctr+0x133 -Window2=ASM -Status2=ON -Count=3 +Count=0 [Reset] Debugger=ON Symbol=OFF diff --git a/branches/sim/yav_mcu_bsr.prj b/branches/sim/yav_mcu_bsr.prj index 84cb5cf..defd579 100644 --- a/branches/sim/yav_mcu_bsr.prj +++ b/branches/sim/yav_mcu_bsr.prj @@ -112,32 +112,6 @@ ZF=0 S=1 E=0 CommandFile=0 -[SrcFile] -Source1=loader.c -Source2=pm.c -Source3=i2c_ctr.c -Source4=main.c -Source5=magic.c -Source6=WDT.c -Source7=i2c_mcu.c -Source8=i2c_twl.c -Source9=led.c -Source10=rtc.c -Source11=vreg_ctr.c -Source12=vreg_twl.c -Source13=adc.c -Source14=renge\renge.c -Source15=accero.c -Source16=self_flash.c -Source17=sw.c -Source18=task_debug.c -Source19=task_misc.c -Source20=task_sys.c -Source21=pedo_alg_thre_det2.c -Source22=ini_VECT.c -Source23=task_status.c -Source24=led_cam.c -Source25=led_pow.c [BuildBefore-AfterCmd] Before1=c:\cygwin\bin\touch magic.c After1=ruby nec_s_2_bsrbin2.rb bsr.hex @@ -257,6 +231,64 @@ Tool1=CC78K0R|W2.13 Tool2=RA78K0R|W1.33 Tool3=SK78K0R|V3.10 Tool4=ID78K0R-QB|V3.61 +[Options.LCNV78K0R 0] +Version=100 +LCNV_GO=0 +E=0 +CommandFile=0 +[Options.LCNV78K0R 1] +Version=100 +LCNV_GO=0 +E=0 +CommandFile=0 +[Options.LCNV78K0R 2] +Version=100 +LCNV_GO=0 +O0=inter_asm +E=0 +CommandFile=0 +[Options.LCNV78K0R 3] +Version=100 +LCNV_GO=0 +E=0 +CommandFile=0 +[Options.LCNV78K0R 4] +Version=100 +LCNV_GO=0 +E=0 +CommandFile=0 +[Options.LCNV78K0R 5] +Version=100 +LCNV_GO=0 +E=0 +CommandFile=0 +[SrcFile] +Source1=loader.c +Source2=pm.c +Source3=i2c_ctr.c +Source4=main.c +Source5=magic.c +Source6=WDT.c +Source7=i2c_mcu.c +Source8=i2c_twl.c +Source9=led.c +Source10=rtc.c +Source11=vreg_ctr.c +Source12=vreg_twl.c +Source13=adc.c +Source14=renge\renge.c +Source15=accero.c +Source16=self_flash.c +Source17=sw.c +Source18=task_debug.c +Source19=task_misc.c +Source20=task_sys.c +Source21=pedo_alg_thre_det2.c +Source22=ini_VECT.c +Source23=task_status.c +Source24=led_cam.c +Source25=led_pow.c +Source26=hal.c [IncFile] Include1=incs_loader.h Include2=jhl_defs.h @@ -295,6 +327,269 @@ Include34=..\..\..\..\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\in Include35=..\..\..\..\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r\math.h Include36=sim\simOnWin.h Include37=sim\sfrAlias.h +Include38=hal.h +[Options.LK78K0R 0] +Version=100 +O0=bsr_k0r.lmf +O1=bsr.lmf +O2=flash.lmf +O3=a.lmf +G=1 +E=0 +E0=flash.elk +E1=a.elk +GO=1 +GOValue=85 +GOStart=FC00 +GOSizeValue=1024 +GI=1 +GIValue=FFFFFFFFFFFFFFFFFFFF +CCZA=0 +MemInfoCheck=1 +P=1 +P0=bsr_k0r.map +P1=bsr.map +P2=flash.map +P3=a.map +MI=0 +GB=1 +GBValue=6EFBFF +KM=1 +KD=0 +KP=1 +KL=0 +LF=0 +LL=0 +B0=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\lib78k0r\fsl.lib +D0=bsr_mcu.dr +D1=user_area.dr +S=1 +W=0 +SELFCheck=1 +SELF=0 +ZB= +Etcetera0= +Etcetera1=boot.lmf +CommandFile=0 +[Options.LK78K0R 1] +Version=100 +O0=a.lmf +G=0 +E=0 +E0=a.elk +GO=0 +GOValue= +GOStart=FC00 +GOSizeValue=1024 +GI=0 +GIValue=FFFFFFFFFFFFFFFFFFFF +CCZA=1 +MemInfoCheck=0 +P=1 +P0=a.map +MI=0 +GB=0 +GBValue= +KM=1 +KD=1 +KP=0 +KL=0 +LF=0 +LL=0 +S=0 +W=1 +SELFCheck=0 +SELF=0 +ZB= +CommandFile=0 +[Options.LK78K0R 2] +Version=100 +O0=bsr.lmf +O1=bsr_k0r.lmf +O2=flash.lmf +O3=a.lmf +G=1 +E=0 +E0=flash.elk +E1=a.elk +GO=1 +GOValue=85 +GOStart=FC00 +GOSizeValue=1024 +GI=1 +GIValue=1B339499E033F240BFAA +CCZA=0 +MemInfoCheck=1 +P=1 +P0=bsr_k0r.map +P1=bsr.map +P2=flash.map +P3=a.map +MI=0 +GB=1 +GBValue=7EFBFF +KM=1 +KD=0 +KP=0 +KL=0 +LF=0 +LL=0 +B0=C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\lib78k0r\fsl.lib +B1=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\lib78k0r\fsl.lib +D0=bsr_mcu.dr +D1=user_area.dr +S=1 +W=0 +SELFCheck=0 +SELF=0 +ZB= +Etcetera0= +Etcetera1=boot.lmf +CommandFile=0 +OFILE=C:\78k_data\yav-mcu-basara\branches\sim\bsr.lmf +[Options.LK78K0R 3] +Version=100 +O0=bsr_bsr.lmf +O1=bsr_k0r.lmf +O2=bsr.lmf +O3=flash.lmf +O4=a.lmf +G=1 +E=0 +E0=flash.elk +E1=a.elk +GO=1 +GOValue=85 +GOStart=FC00 +GOSizeValue=1024 +GI=1 +GIValue=FFFFFFFFFFFFFFFFFFFF +CCZA=0 +MemInfoCheck=1 +P=1 +P0=bsr_bsr.map +P1=bsr_k0r.map +P2=bsr.map +P3=flash.map +P4=a.map +MI=0 +GB=1 +GBValue=6EFBFF +KM=1 +KD=0 +KP=1 +KL=0 +LF=0 +LL=0 +B0=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\lib78k0r\fsl.lib +D0=bsr_mcu.dr +D1=user_area.dr +S=1 +W=2 +SELFCheck=0 +SELF=0 +ZB= +Etcetera0= +Etcetera1=boot.lmf +CommandFile=0 +[Options.LK78K0R 4] +Version=100 +O0=bsr_k0r.lmf +O1=bsr.lmf +O2=flash.lmf +O3=a.lmf +G=1 +E=0 +E0=flash.elk +E1=a.elk +GO=1 +GOValue=85 +GOStart=FC00 +GOSizeValue=1024 +GI=1 +GIValue=FFFFFFFFFFFFFFFFFFFF +CCZA=0 +MemInfoCheck=1 +P=1 +P0=bsr_k0r.map +P1=bsr.map +P2=flash.map +P3=a.map +MI=0 +GB=1 +GBValue=6EFBFF +KM=1 +KD=0 +KP=1 +KL=0 +LF=0 +LL=0 +B0=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\lib78k0r\fsl.lib +D0=bsr_mcu.dr +D1=user_area.dr +S=1 +W=0 +SELFCheck=1 +SELF=0 +ZB= +Etcetera0= +Etcetera1=boot.lmf +CommandFile=0 +[Options.LK78K0R 5] +Version=100 +O0=bsr_bsr.lmf +O1=bsr_k0r.lmf +O2=bsr.lmf +O3=flash.lmf +O4=a.lmf +G=1 +E=0 +E0=flash.elk +E1=a.elk +GO=1 +GOValue=85 +GOStart=FC00 +GOSizeValue=1024 +GI=1 +GIValue=FFFFFFFFFFFFFFFFFFFF +CCZA=0 +MemInfoCheck=1 +P=1 +P0=bsr_bsr.map +P1=bsr_k0r.map +P2=bsr.map +P3=flash.map +P4=a.map +MI=0 +GB=1 +GBValue=6EFBFF +KM=1 +KD=0 +KP=1 +KL=0 +LF=0 +LL=0 +B0=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\lib78k0r\fsl.lib +D0=bsr_mcu.dr +D1=user_area.dr +S=1 +W=2 +SELFCheck=0 +SELF=0 +ZB= +Etcetera0= +Etcetera1=boot.lmf +CommandFile=0 +[Options.78K0R] +BuildMode=2 +BuildMode2=K0R_dbg +BuildMode3=BSR_dbg +BuildMode4=BSR_rel +BuildMode5=BSR_WM0 +DefaultMode2=1 +DefaultMode3=1 +DefaultMode4=1 +DefaultMode5=1 [Options.CC78K0R 0] Version=210 Include0=renge,C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r @@ -456,8 +751,8 @@ Flashobj=0 FlashStartadr= FlashBranchStartadr= Mirror=0 -Saddrglobalchk=0 -Saddrglobal=1066 +Saddrglobalchk=1 +Saddrglobal=1063 Saddrstaticchk=0 Saddrstatic=1072 Bitfieldmsb=0 @@ -508,7 +803,7 @@ Intunexpand=1 Kanjicode=1210 Verbose=0 CommandFile=0 -Warninglevel=2 +Warninglevel=1 Startupchk=1 Fixation=0 FarROMization=0 @@ -764,296 +1059,3 @@ VfiFileBoot0= VfiFileBoot1=boot.vfi VF78K0Rchk=0 VF78K0Rvs= -[Options.LK78K0R 0] -Version=100 -O0=bsr_k0r.lmf -O1=bsr.lmf -O2=flash.lmf -O3=a.lmf -G=1 -E=0 -E0=flash.elk -E1=a.elk -GO=1 -GOValue=85 -GOStart=FC00 -GOSizeValue=1024 -GI=1 -GIValue=FFFFFFFFFFFFFFFFFFFF -CCZA=0 -MemInfoCheck=1 -P=1 -P0=bsr_k0r.map -P1=bsr.map -P2=flash.map -P3=a.map -MI=0 -GB=1 -GBValue=6EFBFF -KM=1 -KD=0 -KP=1 -KL=0 -LF=0 -LL=0 -B0=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\lib78k0r\fsl.lib -D0=bsr_mcu.dr -D1=user_area.dr -S=1 -W=0 -SELFCheck=1 -SELF=0 -ZB= -Etcetera0= -Etcetera1=boot.lmf -CommandFile=0 -[Options.LK78K0R 1] -Version=100 -O0=a.lmf -G=0 -E=0 -E0=a.elk -GO=0 -GOValue= -GOStart=FC00 -GOSizeValue=1024 -GI=0 -GIValue=FFFFFFFFFFFFFFFFFFFF -CCZA=1 -MemInfoCheck=0 -P=1 -P0=a.map -MI=0 -GB=0 -GBValue= -KM=1 -KD=1 -KP=0 -KL=0 -LF=0 -LL=0 -S=0 -W=1 -SELFCheck=0 -SELF=0 -ZB= -CommandFile=0 -[Options.LK78K0R 2] -Version=100 -O0=bsr.lmf -O1=bsr_k0r.lmf -O2=flash.lmf -O3=a.lmf -G=1 -E=0 -E0=flash.elk -E1=a.elk -GO=1 -GOValue=85 -GOStart=FC00 -GOSizeValue=1024 -GI=1 -GIValue=1B339499E033F240BFAA -CCZA=0 -MemInfoCheck=1 -P=1 -P0=bsr_k0r.map -P1=bsr.map -P2=flash.map -P3=a.map -MI=0 -GB=1 -GBValue=7EFBFF -KM=1 -KD=0 -KP=0 -KL=0 -LF=0 -LL=0 -B0=C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\lib78k0r\fsl.lib -B1=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\lib78k0r\fsl.lib -D0=bsr_mcu.dr -D1=user_area.dr -S=1 -W=0 -SELFCheck=0 -SELF=0 -ZB= -Etcetera0= -Etcetera1=boot.lmf -CommandFile=0 -OFILE=C:\78k_data\yav-mcu-basara\branches\sim\bsr.lmf -[Options.LK78K0R 3] -Version=100 -O0=bsr_bsr.lmf -O1=bsr_k0r.lmf -O2=bsr.lmf -O3=flash.lmf -O4=a.lmf -G=1 -E=0 -E0=flash.elk -E1=a.elk -GO=1 -GOValue=85 -GOStart=FC00 -GOSizeValue=1024 -GI=1 -GIValue=FFFFFFFFFFFFFFFFFFFF -CCZA=0 -MemInfoCheck=1 -P=1 -P0=bsr_bsr.map -P1=bsr_k0r.map -P2=bsr.map -P3=flash.map -P4=a.map -MI=0 -GB=1 -GBValue=6EFBFF -KM=1 -KD=0 -KP=1 -KL=0 -LF=0 -LL=0 -B0=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\lib78k0r\fsl.lib -D0=bsr_mcu.dr -D1=user_area.dr -S=1 -W=2 -SELFCheck=0 -SELF=0 -ZB= -Etcetera0= -Etcetera1=boot.lmf -CommandFile=0 -[Options.LK78K0R 4] -Version=100 -O0=bsr_k0r.lmf -O1=bsr.lmf -O2=flash.lmf -O3=a.lmf -G=1 -E=0 -E0=flash.elk -E1=a.elk -GO=1 -GOValue=85 -GOStart=FC00 -GOSizeValue=1024 -GI=1 -GIValue=FFFFFFFFFFFFFFFFFFFF -CCZA=0 -MemInfoCheck=1 -P=1 -P0=bsr_k0r.map -P1=bsr.map -P2=flash.map -P3=a.map -MI=0 -GB=1 -GBValue=6EFBFF -KM=1 -KD=0 -KP=1 -KL=0 -LF=0 -LL=0 -B0=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\lib78k0r\fsl.lib -D0=bsr_mcu.dr -D1=user_area.dr -S=1 -W=0 -SELFCheck=1 -SELF=0 -ZB= -Etcetera0= -Etcetera1=boot.lmf -CommandFile=0 -[Options.LK78K0R 5] -Version=100 -O0=bsr_bsr.lmf -O1=bsr_k0r.lmf -O2=bsr.lmf -O3=flash.lmf -O4=a.lmf -G=1 -E=0 -E0=flash.elk -E1=a.elk -GO=1 -GOValue=85 -GOStart=FC00 -GOSizeValue=1024 -GI=1 -GIValue=FFFFFFFFFFFFFFFFFFFF -CCZA=0 -MemInfoCheck=1 -P=1 -P0=bsr_bsr.map -P1=bsr_k0r.map -P2=bsr.map -P3=flash.map -P4=a.map -MI=0 -GB=1 -GBValue=6EFBFF -KM=1 -KD=0 -KP=1 -KL=0 -LF=0 -LL=0 -B0=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\lib78k0r\fsl.lib -D0=bsr_mcu.dr -D1=user_area.dr -S=1 -W=2 -SELFCheck=0 -SELF=0 -ZB= -Etcetera0= -Etcetera1=boot.lmf -CommandFile=0 -[Options.LCNV78K0R 0] -Version=100 -LCNV_GO=0 -E=0 -CommandFile=0 -[Options.LCNV78K0R 1] -Version=100 -LCNV_GO=0 -E=0 -CommandFile=0 -[Options.LCNV78K0R 2] -Version=100 -LCNV_GO=0 -O0=inter_asm -E=0 -CommandFile=0 -[Options.LCNV78K0R 3] -Version=100 -LCNV_GO=0 -E=0 -CommandFile=0 -[Options.LCNV78K0R 4] -Version=100 -LCNV_GO=0 -E=0 -CommandFile=0 -[Options.LCNV78K0R 5] -Version=100 -LCNV_GO=0 -E=0 -CommandFile=0 -[Options.78K0R] -BuildMode=2 -BuildMode2=K0R_dbg -BuildMode3=BSR_dbg -BuildMode4=BSR_rel -BuildMode5=BSR_WM0 -DefaultMode2=1 -DefaultMode3=1 -DefaultMode4=1 -DefaultMode5=1 diff --git a/branches/sim/yav_mcu_bsr.prk b/branches/sim/yav_mcu_bsr.prk index a9901ab..6220a79 100644 --- a/branches/sim/yav_mcu_bsr.prk +++ b/branches/sim/yav_mcu_bsr.prk @@ -1,14 +1,20 @@ [ProjectManager] FrameMax=0 -FrameX=11 -FrameY=26 -FrameCX=1614 -FrameCY=1005 -OpenFile1=ProjectWindow +FrameX=1244 +FrameY=196 +FrameCX=1440 +FrameCY=895 +OpenFile1=i2c_ctr.c,0,150,150,1469,736,0,40,0,0 +OpenFile2=hal.c,0,200,200,1395,681,14,13,13,0 +OpenFile3=sw.c,0,127,86,1322,567,0,138,0,0 +OpenFile4=task_status.c,0,25,25,1220,506,23,30,23,0 +OpenFile5=pm.c,0,225,225,1420,706,15,471,15,0 +OpenFile6=i2c_twl.c,0,50,50,1245,531,38,129,47,0 +OpenFile7=main.c,0,200,200,1370,701,0,1,0,0 +OpenFile8=ProjectWindow PrjPos=0,0,706,0,291 -OpenFile2=i2c_ctr.c,0,150,150,1469,736,0,40,0,0 -OpenFile3=OutputWindow -OutputPos=0,32,734,735,1861 +OpenFile9=OutputWindow +OutputPos=0,16,707,587,1440 ActivePRJ=yav_mcu_bsr.prj [ProjectWindow] ProjectWindowDispType=0 diff --git a/branches/sim/yav_mcu_bsr.sdb b/branches/sim/yav_mcu_bsr.sdb index 28cb653..72a55dd 100644 --- a/branches/sim/yav_mcu_bsr.sdb +++ b/branches/sim/yav_mcu_bsr.sdb @@ -12,7 +12,7 @@ T=4e0a86c1 8=reboot.h 9=magic.h [pm.c] -T=4e0aea23 +T=4e1c1434 1=incs.h 2=adc.h 3=led.h @@ -22,7 +22,7 @@ T=4e0aea23 7=..\..\..\..\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r\fsl.h 8=fsl_user.h [i2c_ctr.c] -T=4e0d6607 +T=4e1d54ae 1=config.h 2=incs.h [main.c] @@ -36,14 +36,14 @@ T=4e0af952 7=adc.h 8=pool.h [magic.c] -T=4e0d6027 +T=4e1d56d9 1=config.h 2=magic.h [WDT.c] T=4dfae637 1=incs_loader.h [i2c_mcu.c] -T=4e0d6618 +T=4e1d47dd 1=incs_loader.h 2=i2c_mcu.h [i2c_twl.c] @@ -60,7 +60,7 @@ T=4dfafb99 T=4dfb0204 1=incs.h [vreg_ctr.c] -T=4e0d6024 +T=4e1a3d56 1=incs.h 2=vreg_ctr.h 3=rtc.h @@ -78,7 +78,7 @@ T=4df868b8 4=vreg_twl.h 5=vreg_ctr.h [adc.c] -T=4e0c1e90 +T=4e1c11e5 1=incs.h 2=adc.h 3=pm.h @@ -101,7 +101,7 @@ T=4dff0001 2=incs.h 3=..\..\..\..\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r\math.h [self_flash.c] -T=4dfef02d +T=4e166b67 1=incs_loader.h 2=..\..\..\..\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r\fsl.h 3=fsl_user.h @@ -110,7 +110,7 @@ T=4dfef02d 6=magic.h 7=pm.h [sw.c] -T=4dfae24c +T=4e166bf3 1=incs.h 2=i2c_twl.h 3=i2c_ctr.h @@ -125,7 +125,7 @@ T=4dfae637 3=pm.h 4=accero.h [task_misc.c] -T=4dff022d +T=4e1c12df 1=incs.h 2=renge\renge.h 3=pm.h @@ -135,7 +135,7 @@ T=4dff022d 7=led.h 8=vreg_twl.h [task_sys.c] -T=4e0af952 +T=4e1a935d 1=incs.h 2=i2c_twl.h 3=i2c_ctr.h @@ -147,7 +147,7 @@ T=4e0af952 9=adc.h 10=self_flash.h [pedo_alg_thre_det2.c] -T=4e097fce +T=4e1a3cda 1=incs.h 2=..\..\..\..\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r\math.h 3=accero.h @@ -158,13 +158,15 @@ T=4e097fce T=4dfaf66c 1=config.h [task_status.c] -T=4e0c2614 +T=4e1abbad 1=incs_loader.h 2=renge\renge.h -3=pm.h -4=accero.h -5=adc.h -6=i2c_mcu.h +3=hal.h +4=pm.h +5=accero.h +6=adc.h +7=i2c_mcu.h +8=led.h [led_cam.c] T=4dfae24c 1=incs.h @@ -173,25 +175,29 @@ T=4dfae24c T=4dfae637 1=incs.h 2=led.h +[hal.c] +T=4e1d5591 +1=incs_loader.h [incs_loader.h] -T=4dfae8e8 +T=4e156766 1=sim\simOnWin.h 2=jhl_defs.h 3=user_define.h -4=bsr_system.h -5=renge\renge.h -6=vreg_ctr.h -7=vreg_twl.h -8=loader.h -9=i2c_mcu.h -10=WDT.h +4=hal.h +5=bsr_system.h +6=renge\renge.h +7=vreg_ctr.h +8=vreg_twl.h +9=loader.h +10=i2c_mcu.h +11=WDT.h [jhl_defs.h] T=4df868b8 1=config.h [config.h] -T=4e0d28fe +T=4e16b88c [user_define.h] -T=4e0af952 +T=4e169edd [bsr_system.h] T=4df868b8 [renge\renge.h] @@ -204,7 +210,7 @@ T=4dfae85a T=4df868b6 1=renge\renge_defs.h [vreg_ctr.h] -T=4e0af952 +T=4e1c100c 1=config.h [vreg_twl.h] T=4df868b8 @@ -227,23 +233,24 @@ T=4df868b8 [magic.h] T=4df868b8 [incs.h] -T=4dfec4bd +T=4e15675d 1=sim\simOnWin.h 2=jhl_defs.h 3=user_define.h -4=bsr_system.h -5=renge\renge.h -6=loader.h -7=vreg_ctr.h -8=vreg_twl.h -9=i2c_mcu.h -10=i2c_twl.h -11=rtc.h -12=accero.h -13=pm.h -14=sw.h -15=adc.h -16=WDT.h +4=hal.h +5=bsr_system.h +6=renge\renge.h +7=loader.h +8=vreg_ctr.h +9=vreg_twl.h +10=i2c_mcu.h +11=i2c_twl.h +12=rtc.h +13=accero.h +14=pm.h +15=sw.h +16=adc.h +17=WDT.h [i2c_twl.h] T=4df868b8 [accero.h] @@ -251,7 +258,7 @@ T=4df868b8 1=jhl_defs.h 2=pedometer.h [pedometer.h] -T=4df868b8 +T=4e1a3cda [sw.h] T=4df868b8 1=config.h @@ -259,7 +266,7 @@ T=4df868b8 T=4df868b8 1=jhl_defs.h [led.h] -T=4dfafdf5 +T=4e169c84 [batt_params.h] T=4df868b9 1=jhl_defs.h @@ -285,5 +292,7 @@ T=45f12258 T=4e0014e7 1=sim\sfrAlias.h [sim\sfrAlias.h] -T=4e0af952 +T=4e169edd 1=config.h +[hal.h] +T=4e16a2b4