diff --git a/firmware/build_stm6/inlretro_stm.axf b/firmware/build_stm6/inlretro_stm.axf index 4a3a0bf..a6570f3 100644 Binary files a/firmware/build_stm6/inlretro_stm.axf and b/firmware/build_stm6/inlretro_stm.axf differ diff --git a/firmware/build_stm6/inlretro_stm.bin b/firmware/build_stm6/inlretro_stm.bin index 9e71762..a9d997f 100644 Binary files a/firmware/build_stm6/inlretro_stm.bin and b/firmware/build_stm6/inlretro_stm.bin differ diff --git a/firmware/build_stm6/inlretro_stm.elf b/firmware/build_stm6/inlretro_stm.elf index defadd6..aa18bc7 100644 Binary files a/firmware/build_stm6/inlretro_stm.elf and b/firmware/build_stm6/inlretro_stm.elf differ diff --git a/firmware/build_stm6/inlretro_stm.hex b/firmware/build_stm6/inlretro_stm.hex index 071f6ad..fb2e0dc 100644 --- a/firmware/build_stm6/inlretro_stm.hex +++ b/firmware/build_stm6/inlretro_stm.hex @@ -129,1261 +129,1261 @@ :1007F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09 :10080000FFFFFFFF09490A4A0A4B9B1A03DD043B1D :10081000C858D050FBDC0849084A0020521A02DDB3 -:10082000043A8850FCDC02F0ADFE000010530008D2 +:10082000043A8850FCDC03F029F8000070560008F8 :100830000000002030040020300400203807002091 :1008400070B50E4B1A68537A55685C18E4B2A3422F :100850000ED1537A0A48CB1853720378591AC9B289 :1008600001700020814202D198230130D37070BD05 :1008700006780130EE540133DBB2E8E7940400203F -:1008800098040020FF23F0B5BE4C85B02380837907 -:100890000700009340780138102801D901F0E6FCE8 -:1008A000FFF76AFE1100A805E9074009900BE40C68 -:1008B000D00C480ACD0A170B710B7F09CD09240A09 -:1008C000360AE40C740BB878BA888C23192822D81D -:1008D000FFF752FE1A0024001A011402E0027F03FF -:1008E0000A04C604E204EE04F604FE04070510053B -:1008F0001E0526052E0536057E057E057E053B0573 -:1009000050056705C802D402B0239F4A5B035169B2 -:100910000B4353610023237000F02BFE152A01D9ED -:1009200000F059FD1000FFF727FE160023002E00EF -:100930005605390044004F0056055C0069007300FD -:100940008000560556058D009A00A700B400C1002E -:10095000CE00D800E2009023DB051A688B490A40DC -:100960001A608022D96852030A43DA600023D2E772 -:1009700090230122DB05196891431960D9680A4365 -:10098000DA600023C7E790230422DB05196891434E -:100990001960D9680A43DA600023BCE7902310226B -:1009A000DB05196891431960D9680A43DA600023AE -:1009B000B1E790234022DB05196891431960D9689B -:1009C0000A43DA600023A6E79023DB051A68704922 -:1009D0000A401A608022D968D2040A43DA600023F0 -:1009E00099E79023DB051A686A490A401A60802259 -:1009F000D96852010A43DA6000238CE70422664B6F -:100A0000196891431960D9680A43DA60002382E7C4 -:100A10009023DB051A6861490A401A608022D96870 -:100A2000D2050A43DA60002375E79023DB051A68D4 -:100A30005B490A401A608022D968D2020A43DA6010 -:100A4000002368E79023DB051A6856490A401A60BC -:100A50008022D96852000A43DA6000235BE79023C2 -:100A6000DB051A6850490A401A608022D968D20012 -:100A70000A43DA6000234EE79023DB051A684B49EE -:100A80000A401A608022D968D2010A43DA60002342 -:100A900041E79023DB051A683D490A401A6080222D -:100AA000D968D2040A43DA60002334E79023DB05D7 -:100AB0001A683F490A401A608022D96852050A43E1 -:100AC000DA60002327E70122334B1968914319604C -:100AD000D9680A43DA6000231DE71022354B1968F4 -:100AE00091431960D9680A43DA60002313E7902321 -:100AF000DB051A682C490A401A608022D968D200A6 -:100B00000A43DA60002306E7152A01D900F066FCE3 -:100B10001000FFF731FD160021002C006304510086 -:100B20005C006700630472007D008700920063042C -:100B300063049D00A800B300BE00C900D400DE001D -:100B4000E8009023DB051968104801401960DA6855 -:100B50000240DA600023DEE690230121DB051A68FB -:100B60008A431A60DA688A43DA600023D3E6902366 -:100B70000421DB051A688A431A60DA688A43DA605E -:100B80000023C8E60007002000100240FFFFEFFF2F -:100B9000FFFFFFFBFFEFFFFF00040048FFFFFFBF69 -:100BA000FFFFFBFFFFFEFFFFFFFBFFFFFFBFFFFF9E -:100BB000FFFFFFEF000C004890231021DB051A68AF -:100BC0008A431A60DA688A43DA600023A3E6902336 -:100BD0004021DB051A688A431A60DA688A43DA60C2 -:100BE000002398E69023DB051968CE480140196080 -:100BF000DA680240DA6000238DE69023DB0519688D -:100C0000C94801401960DA680240DA60002382E6D0 -:100C10000421C64B1A688A431A60DA688A43DA608C -:100C2000002378E69023DB051968C148014019606C -:100C3000DA680240DA6000236DE69023DB0519686C -:100C4000BC4801401960DA680240DA60002362E6BD -:100C50009023DB051968B84801401960DA68024042 -:100C6000DA60002357E69023DB051968B34801409A -:100C70001960DA680240DA6000234CE69023DB0555 -:100C80001968AF4801401960DA680240DA60002351 -:100C900041E69023DB051968A24801401960DA6833 -:100CA0000240DA60002336E69023DB051968A54888 -:100CB00001401960DA680240DA6000232BE6012166 -:100CC0009A4B1A688A431A60DA688A43DA6000230A -:100CD00021E610219C4B1A688A431A60DA688A431D -:100CE000DA60002317E69023DB051968934801407A -:100CF0001960DA680240DA6000230CE6152A00D990 -:100D00006FE31000FFF738FC16001F0027006D038B -:100D10002F0037003F006D0348005100580061006C -:100D20006D036D036A0073007C0085008E009700E0 -:100D30009E00A50090228023D20511685B030B431F -:100D400013600023E7E590220123D20511680B43CD -:100D500013600023DFE590220423D20511680B43C2 -:100D600013600023D7E590221023D20511680B43AE -:100D700013600023CFE590224023D20511680B4376 -:100D800013600023C7E590228023D2051168DB049D -:100D90000B4313600023BEE590228023D205116827 -:100DA0005B010B4313600023B5E504235F4A116820 -:100DB0000B4313600023AEE590228023D205116817 -:100DC000DB050B4313600023A5E590228023D205A9 -:100DD0001168DB020B43136000239CE59022802303 -:100DE000D20511685B000B431360002393E590224A -:100DF0008023D2051168DB000B43136000238AE5D2 -:100E000090228023D2051168DB010B43136000237D -:100E100081E590228023D2051168DB040B43136027 -:100E2000002378E590228023D20511685B050B43EF -:100E3000136000236FE501233C4A11680B431360E4 -:100E4000002368E51023404A11680B431360002318 -:100E500061E590228023D2051168DB000B4313600B -:100E6000002358E58D23082A00D054E59022402322 -:100E7000D20551680B43536000234CE58D23082AAB -:100E800000D048E590224021D20553688B4353603F -:100E9000002340E5152A00D9A6E21000FFF76CFBFD -:100EA00016001D002300A40229002F003500A40213 -:100EB0003C0056005B006200A402A40269006F00BF -:100EC00075007B00820089008E00930090238022B1 -:100ED000DB05D2009A6200231DE590230122DB0589 -:100EE0009A62002317E590230222DB059A62002311 -:100EF00011E590230422DB059A6200230BE5902381 -:100F00000822DB059A62002305E590238022DB0599 -:100F100092019A620023FEE490234022DB059A624C -:100F20000023F8E4FFFFFFFBFFEFFFFF0004004892 -:100F3000FFFFFFBFFFFFFBFFFFFEFFFFFFFBFFFF0A -:100F4000FFBFFFFFFFFFFFEF000C00480222CD4B69 -:100F50009A620023DFE490238022DB0512029A626A -:100F60000023D8E490238022DB0592009A620023BC -:100F7000D1E490231022DB059A620023CBE4902376 -:100F80002022DB059A620023C5E490238022DB0542 -:100F90009A620023BFE490238022DB0592019A62CB -:100FA0000023B8E490238022DB05D2019A6200235B -:100FB000B1E40122B34B9A620023ACE40422B24BA9 -:100FC0009A620023A7E490232022DB059A62002383 -:100FD000A1E4152A00D90AE21000FFF7CDFA1600A5 -:100FE0001D002300080229002F00350008023C00E4 -:100FF000420047004E000802080255005B006100F5 -:1010000067006E0075007A007F0090238022DB0568 -:10101000D2009A6100237EE490230122DB059A61CD -:10102000002378E490230222DB059A61002372E416 -:1010300090230422DB059A6100236CE490230822AC -:10104000DB059A61002366E490238022DB05920190 -:101050009A6100235FE490234022DB059A6100231C -:1010600059E40222874B9A61002354E490238022A2 -:10107000DB0512029A6100234DE490238022DB05F8 -:1010800092009A61002346E490231022DB059A61C6 -:10109000002340E490232022DB059A6100233AE4F8 -:1010A00090238022DB059A61002334E49023802280 -:1010B000DB0592019A6100232DE490238022DB0559 -:1010C000D2019A61002326E401226E4B9A6100232B -:1010D00021E404226C4B9A6100231CE4902320221B -:1010E000DB059A61002316E402236370152A00D9F8 -:1010F000B1E01000FFF726FA0B151EAF273039AF0D -:10110000434C545DAFAF677079828C969EA6902356 -:101110008022DB051B69D200134063800023FFF7A8 -:10112000FAFB90230122DB051B6913406380002337 -:10113000FFF7F1FB90230222DB051B69134063805C -:101140000023FFF7E8FB90230422DB051B69134013 -:1011500063800023FFF7DFFB90230822DB051B6978 -:10116000134063800023FFF7D6FB90238022DB052A -:101170001B699201134063800023FFF7CCFB90238F -:101180004022DB051B69134063800023FFF7C3FB8C -:1011900002223C4B1B69134063800023FFF7BBFB1B -:1011A0009023DB051B69DB0BDB0363800023FFF768 -:1011B000B2FB90238022DB051B6992001340638001 -:1011C0000023FFF7A8FB90231022DB051B691340C7 -:1011D00063800023FFF79FFB90232022DB051B6920 -:1011E000134063800023FFF796FB90238022DB05EA -:1011F0001B69134063800023FFF78DFB902380223F -:10120000DB051B699201134063800023FFF783FB1A -:1012100090238022DB051B69D201134063800023E9 -:10122000FFF779FB0122174B1B69134063800023F2 -:10123000FFF771FB0422144B1B69134063800023EA -:10124000FFF769FB90232022DB051B6913406380B5 -:101250000023FFF760FB002363708D33FFF75BFB18 -:1012600080230A4ADB0251690B435361054B08494D -:101270001A680A401A60D968064A0A43DA600023ED -:10128000FFF749FB00040048000C00480010024032 -:10129000FFFFAAAA00005555BA4BBB491A680A407D -:1012A0001A60D968B94A0A43DA600023FFF733FBB2 -:1012B000B44AB54913680B4013600023FFF72BFBBA -:1012C000B04AB24B11680B4313600023FFF723FBB6 -:1012D000AC4912024B69DBB21A434A610023FFF7A3 -:1012E0001AFBA84B1B691B0AA37001236370002320 -:1012F000FFF711FB8023A64A1B0351690B4353617F -:10130000A44AA54B11680B4313600023FFF703FBAE -:10131000A04AA14BD1680B43D3600023FFF7FBFA2F -:101320009C4A9E4913680B4013600023FFF7F3FAB1 -:10133000984A994B11680B4313600023FFF7EBFAAF -:10134000944B5A610023FFF7E6FAC023904ADB0270 -:1013500051690B4353618B4A914B11680B431360E6 -:101360009022A023D20511685B030B431360002376 -:10137000FFF7D1FA834A8A4BD1680B43D36090239D -:10138000A021DB05D86849030143D960116885486D -:10139000014011601A6884490A401A600023FFF76F -:1013A000BAFAFF257748930041692B407F4DD20060 -:1013B00029400B4343619021C020C905C0004B69FF -:1013C00002407B4803401A434A610023FFF7A3FA17 -:1013D0000023FFF7A0FA8D23FFF79DFA8D23FFF777 -:1013E0009AFA8D23FFF797FA8D23FFF794FA8D234E -:1013F000FFF791FABD78BB88052D00D19DE135D866 -:10140000022D00D131E107D8002D00D1ABE0012D34 -:1014100000D1E7E09625AAE0032D00D1E7E1042DF5 -:10142000F8D1DBB29825012B00D0A0E09022614BCF -:10143000D2051A6006220A215F4B1A70514B5F4A8F -:1014400013605F4A11705F4A013113605E4A117088 -:101450005E4A13600C225E4B1A70B0234C4A5B0349 -:1014600051690B43536101F055FD5AE1092D00D13B -:1014700059E120D8062D00D17BE1072DCAD101F01A -:1014800015FE90230121DB051A6840200A431A60EB -:101490001022996119680A431A6004229A61196836 -:1014A000014319600821996119680A431A600222F0 -:1014B0009A619861EFE00A2D00D129E1802DA9D130 -:1014C0009023012540218026DB05657099621A680A -:1014D000760132431A60C0463E481C691A680C40C7 -:1014E00002401A60DA680240DA60F022002C37D13C -:1014F0001A6802401A60DA683243DA601A69944660 -:101500001A690192C0461A690292C046C0461A6919 -:101510000392C046C046C0461F69C046C046C0468A -:10152000C0461E691A6802401A60DA681040D86026 -:10153000634622000B4213D1019B2A000B420FD1BC -:10154000029B02320B420BD10B000399033219426A -:1015500006D104321F4203D1D6321E4200D0D13A06 -:101560001D4B9A70DDE01D4A137001F09FFD1A4C6F -:1015700025701B4B0098A2B2240C5A819C8105B0A7 -:10158000F0BDC04600040048FFFFAAAA0000555560 -:10159000001002400008004855555555AAAAAAAAAD -:1015A00050550000AFAAFFFFFFFFEBFF03FF000055 -:1015B000FFF9000024070020280700201C07002056 -:1015C000200700202C0700203007002014070020EF -:1015D00018070020FFEFFFFF00070020080700208A -:1015E0000060004001F062FD9023DB051A682A4389 -:1015F0001A6080229D61196852030A431A60802292 -:101600000421D2009A621A680A431A6002229A617F -:1016100018680E3202431A604022996119680A4321 -:101620001A6008229A618023BD49DB024A69BD4DD8 -:101630001343BD4A4B6113682B401360D468BB4B06 -:101640001C43D460106828401060D0680343D36006 -:1016500080234A691B0313434B61B54BB54A196894 -:101660000A431A6000255D6181E701F01FFD9023A8 -:101670000121DB051A680A431A6010229961196872 -:101680000A431A60042240219A611A680A431A60C8 -:1016900008229A6199618022196852010A431A60EE -:1016A00080229F48D20241699E4E0A439E49426170 -:1016B0000A6832400A60CD689C4A1543CD600C68C8 -:1016C00034400C60CC682243CA6080224469120313 -:1016D00022434261964A974C15682C4300251460BA -:1016E0005561C0224469D202224342610868924A8D -:1016F00002430A60A0221868520302431A604A6932 -:101700008E4802404A615A698D490A405A612EE763 -:1017100090238022DB051968D2010A431A608022D7 -:101720009A61002523E790238022DB051968D20106 -:101730000A431A6080229A62F3E701F0B7FC902313 -:101740000121DB051A680A431A60102299611968A1 -:101750000A431A60042240219A611A680A431A60F7 -:1017600008229A6180221868520102431A60996126 -:1017700059E701F09BFC90230121DB051A68694DB4 -:101780000A431A601022996119680A431A600422F8 -:101790009A6119683C3211431960082199619A6273 -:1017A0009A6180235E49DB024A6913435E4A4B61BA -:1017B00013682B401360D4685C4B1C43D4601068E2 -:1017C00028401060D0680343D36080234A691B031C -:1017D00013434B61564B574A19685A4811431960D5 -:1017E000196801401960D9680A43DA603AE7DBB248 -:1017F000022B21D00025032B00D1B8E69735012B11 -:1018000000D0B4E68022002545491203486902430E -:101810004A61474A116899431160D1681943D16000 -:10182000516819435160936111680B431360464B33 -:101830001D70464B1A609AE6B023394A5B03516922 -:1018400040200B4353619022D205136840490B405E -:1018500013608023D1685B011943D1605168014353 -:101860005160906111680B4308211360364B197069 -:10187000364B1A6055E7BE78F978BD880E2E00D138 -:10188000EEE030D8072E00D1F6E016D8022E00D1B7 -:10189000B4E007D8002E00D1A2E0012E00D1A9E0CB -:1018A000A026A0E0052E00D1CCE000D99DE0042EBA -:1018B000F6D1280001F04CFD9AE00A2E00D1CBE0D1 -:1018C00008D8082E00D1DBE0092EE9D1280001F06C -:1018D00035FA8DE00C2E00D1DAE000D8C8E02800FF -:1018E00001F0FAF984E0222E00D18BE032D8112EDB -:1018F00000D1C9E008D80F2E00D1B5E0102ECFD10D -:10190000280001F047F973E0202E00D19EE000D9B5 -:101910009FE0122EC4D1280001F002F968E0C04611 -:1019200000100240FFFFAAAA00040048000055551D -:1019300000080048555555555055000003FF00005C -:10194000FFF90000AAAAAAAA100700200C0700208D -:10195000FFEFFFFF822E00D1D1E032D8802E00D1E0 -:101960009AE000D9C4E0232E9AD1CC4B9D4202D8F4 -:1019700080231B021D43902700F070FD6B1CFF337A -:101980009BB20193FF05C64BC64E5D613268C64BE4 -:1019900000021343FF2233607369134018437061E0 -:1019A000C0460823BB6200F059FD08230135BB6126 -:1019B000019BADB29D42E6D13368BC4A134033600F -:1019C00016E0852E00D1A0E0862E00D1A2E0842E64 -:1019D00000D065E701232800637000F0EDFE8CE085 -:1019E000280001F04DF92670C3E5280001F024F924 -:1019F0000026F8E7280000F0FBFEF9E7280000F0D9 -:101A00007FFFF5E7A64B02225D619023A548DB0529 -:101A10009A620668A44A09023243026042692DB202 -:101A2000D2B211434161002D01DA01229A62C0460F -:101A3000C04601229A6192189A6103689B4A13403A -:101A40000360D5E7280000F08FFED1E7984B1D70AA -:101A5000CEE7984B1D80CBE7280000F02FFFC7E7AB -:101A6000280001F0B7FCC3E7280001F083FCBFE7C2 -:101A7000280000F0F7FFBBE7280001F0B5F8B7E752 -:101A8000280000F0F9FEB3E7280000F0B1FFAFE74F -:101A9000280000F06BFFABE7012190236170DB05AC -:101AA0001868854E30401860DA6802203240DA60EB -:101AB0008022D2009A629961986179484561C04656 -:101AC000C0462DB29A61002D00DA9962C046C04628 -:101AD000C046C046C046C04690228021714BD20508 -:101AE000C9001B69916201211B0A9161A3707FE704 -:101AF00001232800637000F0F3FFA07078E7012352 -:101B00002800637000F09CFEF7E701236370684BC8 -:101B10001B78EBE702236370664B1B88A3701B0ADC -:101B2000E37065E7B878F978BD88AA23062801D95B -:101B3000FEF7F1FEFEF706FD042A1B2226322000E6 -:101B4000FF205849AB004A6903405C48ED00024061 -:101B500013434B619022C021D205C90053690D4047 -:101B600057490B401D4355610023FEF7D4FE002268 -:101B7000280000F08BFCF7E70122F9E7280000F0CD -:101B8000CBFDF1E7280000F09FFDEDE701230021E8 -:101B90006370280000F0AAFCA070E5E701216170E5 -:101BA000F7E7BA78BB88002A29D0012A44D13C48FB -:101BB000F9784361C020C0011B1838489BB28342AA -:101BC00002D89023DB059A62364B374A186809021F -:101BD00002431A605A69D2B20A435A61902208211C -:101BE000D2059162C046C046C046916107399161F5 -:101BF0001A682E490A401A600023FEF78CFE012164 -:101C0000274A6170536190220420D2059062C0205F -:101C1000C0011B1821489BB2834200D89162C04684 -:101C2000C046C046C04601211E4B1B6991611B0A7C -:101C300003319161A370DFE7AF23FEF76CFEBD783F -:101C4000022D0BD0032D45D0002D4DD10223637002 -:101C500001F0E6FAA070000AE07089E4BD88194B33 -:101C6000F8781D80184B194A18700D4B000219683E -:101C70000A430C491A600E680B4A32430A605D61E0 -:101C80004A69D2B202434A6190220121D20591628F -:101C90001A680F490A401A60002569E4FF1F000016 -:101CA000000800480004004800005555FFFFAAAA9C -:101CB0008C04002036040020FFEFFFFF03FF00002C -:101CC000FFF900008A04002088040020555555556E -:101CD000AAAAAAAA90230122DB059A61BF4AC04999 -:101CE00013680B401360D7E7B02541E4BA78002AA7 -:101CF00007D00023012A01D1FEF70DFEB133FEF714 -:101D00000AFE01236370A933A3701300FEF703FEDC -:101D1000BA78002A07D00023012A01D1FEF7FBFD83 -:101D2000B233FEF7F8FD01236370A933A3701300EB -:101D3000FEF7F1FDBD78FA78B988112D78D007D873 -:101D4000012D4DD0002D0DD0022D5AD082264AE60D -:101D5000212D63D0222D67D0122DF7D10223102020 -:101D6000637068E001279F4B04261B7810209F407A -:101D7000FA439D4B01921D68AF626B6813406B6024 -:101D800000F061FBAF616B683B436B60FA20400081 -:101D900000F059FBFA20AF626B68019A40001340D3 -:101DA0006B6000F050FBAF616B68013E3B43B6B225 -:101DB0006B60002EEAD10436FA2000F044FBAF62DB -:101DC0006B68019AFA2013406B6000F03CFBAF6136 -:101DD0006B68013E3B43B6B26B60002EECD102E66D -:101DE000804A814B12781E689540B5627368102056 -:101DF000AB43736000F027FBB56173682B437360DE -:101E0000F6E50123774A6370127878499340764A61 -:101E10009BB21268002002F02BF96EE6012300202D -:101E2000637001F0FFFA68E6012310206370F8E7A1 -:101E300002230020637001F04FFB6080D8E5BB787F -:101E4000BA88042B1DD007D8022B1FD024D8012B11 -:101E500012D08723FEF75FFD072B26D003D8052B72 -:101E6000F7D1634B16E0082B24D0802BF1D101F081 -:101E700051F80023FEF74FFD5E4A1278A27063709E -:101E8000F7E75D4B1B78A3700123F8E7594B1A70F5 -:101E90008322594B1A70ECE7564B574D1A70832327 -:101EA0002B7001F0A7F82B78EDE7544B1A70120A4B -:101EB0005A70DEE7514B1A78A2705A78E2709A781D -:101EC0002271DA7862711A79A2715B79E371062363 -:101ED000D5E7B878F9780238BA888A23092801D971 -:101EE000FEF719FDFEF72EFB050A10151C232F3BEC -:101EF0004048434B1A800023FEF70DFD404B1B88E2 -:101F00001B0413439847F6E7FEF732FC0300FEF785 -:101F100002FD3C48036899B213040B430360EAE7EF -:101F200038490B681B0C1B0413430B60E3E70423C5 -:101F30006370344B1B681A0AA370E2701A0C1B0EF4 -:101F400022716371D7E70223637053002D4A116831 -:101F5000CB181A88A2701B881B0AE370CBE7294BA9 -:101F600049001B68CA52C6E7264953000A68D318BD -:101F700002220B606270ECE7224B4900186841189E -:101F800019600A80B7E78823FEF7C5FCBB78BA88DA -:101F9000022B09D0032B0ED0012B10D113041A4AA7 -:101FA00013600023FEF7B7FC17490B681B0C1B04DA -:101FB00013430B60F5E70122134B1A60F1E783230B -:101FC000FEF7A9FCBA781300303B2F2B32D8F878F3 -:101FD00003282CD8FEF7B6FA2E301A290004004840 -:101FE000FFFFAAAA100700200C070020040002002F -:101FF000E5040020C4040020E6040020C5040020FD -:1020000034040020300400209C040020A84B512AF6 -:1020100000D17DE028D8312A57D00FD8002A37D0F8 -:10202000302A4BD0B423FEF776FCA24BEFE7B52362 -:10203000FEF771FCA04BEAE7A04BE8E7332A52D049 -:102040004AD3502AEED1C022D20022801A7AA2703E -:10205000DA78E2705A7A22719A7A62719A78A27169 -:102060005B7CE371FFF785FA7F2A00D984E0702A50 -:102070005DD2602A3CD0612A43D0522AD2D180223C -:102080001B889200A3701B0A2280E370FFF771FA8D -:10209000FF218B4BD1540132102AFBD10123864AF8 -:1020A0005B425380854A5380814A5380814A5380E2 -:1020B0000122844B1A700023FEF72DFCBA88110A06 -:1020C000D9721A730023FEF726FCBA88110A5973D5 -:1020D0009A730023FEF71FFCBA88110AD9731A7489 -:1020E0000023FEF718FCBA885A740023FEF713FC8D -:1020F00080235B002380BB88714AD35CA370FFF709 -:1021000038FA80235B0023806F4B1B68DB78F5E790 -:10211000C022D2002280DA7AA2701A7BE2705A7B47 -:1021200022719A7B6271DA7BA2711B7C99E7624B08 -:1021300038785C68644B1968CB787F2800D998E0C0 -:102140006248009D0570002B0FD000200090982B56 -:1021500000D194E004E000200090D02B00D18EE06C -:10216000584B10301870FF2304E0594B196090232E -:10217000CB706F33009382E00720104003281AD8F9 -:10218000FEF7E0F91C1E0217494B802A01D2FFF727 -:10219000F0F9872A16D97032D2B2072A01D9FFF78F -:1021A000E8F900222270FA789A72BA881A80FFF74A -:1021B000E0F9404BE9E7B523FEF7ADFB3E4BE4E722 -:1021C0003E4BE2E7B888F978C6B28D19BE22102DD1 -:1021D0002CDC0432002929D0DD78033AFF2D25D1EB -:1021E0009D780132FF2D21D10022D7B2B94220D8EB -:1021F000384D0022AC464F01013F1F727701000AA3 -:1022000067449870DA705A729A721A80DA721A7386 -:102210005A739A73DA731A745A745F60284B9D1953 -:10222000A8540132D3B28B42FAD300222270FFF7B6 -:10223000A0F90132B718224D013FEF5DFF2FD4D036 -:10224000C122F3E7BB78002B04D0402B08D0D22367 -:10225000FEF761FB2370BA881A4B1A70FFF789F9F1 -:1022600080235B002380174B1B7847E78023FEF712 -:1022700052FBD82B00D06EE780234C68CB70002334 -:102280004B72CB78902B01D0FFF773F9712A01D0F4 -:10229000FFF76FF90E4BBA881B6859680A70BA8845 -:1022A0005968120A4A705A7A02325A72FFF761F973 -:1022B0006004002074040020380400204C04002036 -:1022C000E7040020A40400209004002098040020CB -:1022D00094040020F8040020F0B51C4D040005A86B -:1022E000067868690902C0B2084368619020042139 -:1022F000C00581622900002A01D101328262FF25D6 -:1023000000204A692D022A401A43114F4A61C046F3 -:10231000C046C046C046C046C046C046C046C0468D -:10232000C0463A690133120A22544A69DBB22A4094 -:1023300001301A43C0B24A61B042E8D99023042266 -:10234000DB059A61033A9A61F0BDC0460008004877 -:1023500000040048F0B5184C050060690E02C0B2D8 -:102360003043606180269020F600C00549B2866146 -:10237000002901DA01218162FF26616936023140BC -:1023800011436161C04600200C4FC04639690132DB -:10239000090A29546169D2B2314001301143C0B2F7 -:1023A00061619842F1D990238022DB05D2009A62C4 -:1023B00001229A61F0BDC0460008004800040048B0 -:1023C000F0B5174C05000E0060691F2925D8802143 -:1023D00031430902C0B20143616190210420FF260C -:1023E000C905886261693602314011436161C046A6 -:1023F00000200C4FC04639690132090A295461692D -:10240000D2B2314001301143C0B261619842F1D97A -:1024100090230422DB059A61F0BDC0B20902DAE71D -:102420000008004800040048002302000002002ABF -:1024300004D1002B01D0802318437047DB43511E89 -:10244000DBB20A40F3E70023800080B2C046C046FA -:1024500001339BB29842F9D17047FFFF30B5072294 -:10246000012409490868450D43086B404340C50FE6 -:10247000DBB26B40013A23404000D2B21843002A3D -:10248000F1D10860C0B230BD9C040020134B10B5E0 -:102490005861134B13481C6809022043186058699F -:1024A000C0B20143596190210820C9058862002A01 -:1024B00001D101328A62C046C046C046C046C0460D -:1024C000C046C046C04690220821D2059161073916 -:1024D00091611A6804490A401A6010BD000800485A -:1024E0000004004800005555FFFFAAAA0F4B586191 -:1024F0009023DB05002901D101229A6204229A620D -:10250000C046C046C046C046C046C046C046C0469B -:10251000C046C046C046C046C046054908699A61E3 -:10252000000A033AC0B29A617047C04600080048EA -:1025300000040048F7B504000E004D7AC046C046BE -:10254000C046C046C046C046C046C046C04600223F -:10255000AA215848FFF79AFF002255215648FFF755 -:1025600095FF2402002220215248FFF78FFF23B25B -:102570000193EBB20093337AAB4216D28020009BDA -:102580000022737290210002FFF780FF002280205A -:1025900011000002FFF77AFF80200022F0210002E4 -:1025A000FFF774FFC0460020FEBD444B444A196843 -:1025B00008200A43FF211A605A690A40A021090233 -:1025C0000A435A6190220121D20590629162C0466D -:1025D000C046C046C046FF24906191611A683949DF -:1025E0002C400A401A60019B009A1C437368A4B2F5 -:1025F000995C20000022FFF749FFC046C046C04654 -:10260000C046C046C046C046C046C046C04600217F -:102610002000FFF76BFF0700C046C046C046C0461B -:10262000C046C046C046C046C0467368009A9B5C20 -:10263000834217D0C046C046C046C046C046C046CA -:10264000C046C046C04600212000FFF74FFFB842F9 -:102650000BD1C046C046C046C046C046C046C04674 -:10266000C046C0460135ADB283E7C046C046C0464D -:10267000C046C046C046C046C046C046C046C0462A -:10268000C046C046C046C046C046C046C046C0461A -:10269000C046C046C046C046C046C046C046C0460A -:1026A000C046C046C04600212000FFF71FFF0700BC -:1026B000C9E7C046AA8A000055850000000400480A -:1026C00000005555FFFFAAAA70B504000D000022B6 -:1026D000AA210F48FFF7DAFE002255210D48FFF727 -:1026E000D5FE0022A0210A48FFF7D0FE00222900D3 -:1026F0002000FFF7CBFE00212000FFF7F7FE0500CA -:10270000C04600212000FFF7F1FEA842F3D170BDC2 -:10271000AA8A00005585000070B504000D00002253 -:10272000AA210F48FFF7B2FE002255210D48FFF7FE -:10273000ADFE0022A0210A48FFF7A8FE00222900D2 -:102740002000FFF7A3FE00212000FFF7CFFE0500C9 -:10275000C04600212000FFF7C9FEA842F3D170BD9A -:1027600055550000AA2A00000F4B30B59022586141 -:1027700080230124D205DB0093620C4B94621D6818 -:102780000B480902284318605869C0B201435961D7 -:10279000C04608219162C046916119680548014010 -:1027A0001960946130BDC04600080048000400482C -:1027B00000005555FFFFAAAA0B4B10B580215861A8 -:1027C000902301220424DB05C90099619A629C626E -:1027D000C046C046C046054800699C61000A99622F -:1027E000C0B29A6110BDC04600080048000400480D -:1027F0000E4B984202D880231B0218430C4B0D4A03 -:1028000058610D4B0902186802431A605A69D2B226 -:1028100011435961C04690220821D2059162C046F9 -:1028200091611A6805490A401A607047FF1F00004D -:10283000000800480000555500040048FFFFAAAA00 -:102840000A4B984202D880231B021843084B0422EB -:1028500058619023DB059A62C046C046C046C04618 -:10286000044908699A61000AC0B27047FF1F00005E -:10287000000800480004004870B504000D000D4831 -:10288000AA21FFF7B5FF55210B48FFF7B1FFA021A3 -:102890000848FFF7ADFF29002000FFF7A9FF20003F -:1028A000FFF7CEFF0500C0462000FFF7C9FFA84292 -:1028B000F5D170BD55150000AA1A000070B50400CE -:1028C0000D000D48AA21FFF793FF55210B48FFF794 -:1028D0008FFFA0210848FFF78BFF29002000FFF79A -:1028E00087FF2000FFF7ACFF0500C0462000FFF780 -:1028F000A7FFA842F5D170BD55150000AA0A000037 -:102900009023DB0530B51C68134D09022C401C6078 -:10291000DA68124C2A40DA60114A506102229A6247 -:10292000104A00B215682C4314605469E4B2214384 -:1029300051618021C9009961002801DA0120986263 -:10294000C046C0469962012199614918996113688E -:1029500005490B40136030BDFFEFFFFF00005555E8 -:102960000008004800040048FFFFAAAAF7B51C4B66 -:1029700007001D781B4B01911C8820212600203662 -:10298000B6B23000FFF7BCFFAA211748FFF730FFAF -:102990002000103080B21021FFF7B2FF2D01552129 -:1029A0001248FFF725FFEDB220213000FFF7A8FF06 -:1029B0006419A0210C48FFF71BFFA0B22900FFF704 -:1029C0009FFF01993800FFF713FF3800FFF738FF2A -:1029D0000400C0463800FFF733FFA042F5D1F7BD31 -:1029E0008C0400203604002055150000AA0A0000BF -:1029F00070B50400B0200E0000020A21FFF780FF2E -:102A0000C0200A210002FFF77BFFAA211248FFF72E -:102A1000EFFE55211148FFF7EBFEA0210E48FFF70E -:102A2000E7FEB0200E4B00021D782900FFF768FF7B -:102A3000C02029000002FFF763FF31002000FFF7EC -:102A4000D7FE2000FFF7FCFE0500C0462000FFF780 -:102A5000F7FEA842F5D170BD55150000AA0A000086 -:102A60008C040020F8B505000E00194B02211C88CB -:102A7000A71CBFB23800FFF743FFAA211548FFF794 -:102A8000B7FE601C80B20121FFF73AFF55211248C2 -:102A9000FFF7AEFE02213800FFF732FFA0210D48FC -:102AA000FFF7A6FE0D4B19786418A0B2FFF728FFB8 -:102AB00031002800FFF79CFE2800FFF7C1FE04004C -:102AC000C0462800FFF7BCFEA042F5D1F8BDC046C5 -:102AD0003604002055150000AA0A00008C040020CE -:102AE0000D4B802258619023D200DB0500B29A6121 -:102AF000002801DA01229A62C046C046C046C0469C -:102B0000064B802218699023D200DB059A620122CD -:102B1000000AC0B29A6170470008004800040048EB -:102B200070B50400C0200D0000020121FFF7E8FE8F -:102B3000AA211548FFF7E4FEC02000210002FFF79C -:102B4000DFFE55211148FFF7DBFEC0200121000206 -:102B5000FFF7D6FEA0210C48FFF7D2FEC0200C4B99 -:102B600000021978FFF7CCFE29002000FFF7C8FE0D -:102B70002000FFF7B5FF0500C0462000FFF7B0FFBB -:102B8000A842F5D170BDC04655950000AAAA000024 -:102B90008C04002070B504000D001048AA21FFF736 -:102BA000AFFE55210E48FFF7ABFEA0210B48FFF703 -:102BB000A7FE29002000FFF7A3FEA020094B00027A -:102BC0001978FFF79DFE2000FFF78AFF0500C04639 -:102BD0002000FFF785FFA842F5D170BDAAFA0000DA -:102BE00055F500008C04002070B504000D0010485D -:102BF000AA21FFF785FE55210E48FFF781FEA0218F -:102C00000B48FFF77DFE29002000FFF779FE8020AA -:102C100000210002FFF774FE2000FFF761FF0500AE -:102C2000C0462000FFF75CFFA842F5D170BDC0464A -:102C300055D50000AAAA00000D4B0E4A58610E4B54 -:102C40000902186802431A605A69D2B211439022ED -:102C500059618021D205106849010143116040216A -:102C6000916291611A6805490A401A607047C0462E -:102C7000000800480000555500040048FFFFAAAABC -:102C8000104B114A10B558611068104B09020343EC -:102C9000136053690E4CDBB21943902351618021BC -:102CA000DB051868490108431860402098621868DD -:102CB00020401860D8680143D960136805490B406B -:102CC000136010BD0008004800040048000055557E -:102CD000FFEFFFFFFFFFAAAA70B505000E00134B20 -:102CE00000211C882000FFF70BFEAA211048FFF7E7 -:102CF000C7FF55210F48FFF7C3FFA0210C48FFF77E -:102D0000BFFF0D4B19786418A0B2FFF7F9FD310031 -:102D10002800FFF7B5FF2800FFF7E2FE0400C046D9 -:102D20002800FFF7DDFEA042F5D170BD360400207B -:102D300055550000AA2A00008C04002070B504003C -:102D40000D000D48AA21FFF79BFF55210B48FFF707 -:102D500097FFA0210848FFF793FF29002000FFF705 -:102D60008FFF2000FFF7BCFE0500C0462000FFF7E4 -:102D7000B7FEA842F5D170BD55550000AA2A000043 -:102D8000F0B58BB00992012208911100354B0290E9 -:102D90001F78354B1B780493344B1D68344B1B78DC -:102DA0009940344B01911868334BA9621B789A40C3 -:102DB000029B102B4FD18262012421002F4B0594DE -:102DC0001B6806932E4B1B7899408BB2210007930A -:102DD0002C4B1B689C462C4B1B789940002303917D -:102DE0001900029C202C05D1049E059C1E41264200 -:102DF00036D08261089C202C0FD1002B01D11A4CB7 -:102E00006354069C2669079C264206D0164C665CD5 -:102E1000059C9C402643144C6654099C013FFFB21C -:102E2000002C03D0002F01D1019CAC616446039EAD -:102E30000133DBB2A661A662082B05D101310A4B32 -:102E4000C9B25B5C04930023002FCAD1019B82624C -:102E5000AB620BB0F0BD029B112BADD18261ABE731 -:102E60008262C7E7E5040020C50400202C0700208B -:102E7000300700201C070020200700202407002026 -:102E8000280700201407002018070020F7B50122AA -:102E90001A4B1C781A4B19681A4B1B789A40102849 -:102EA00026D18A6201263500174B01961B680093D4 -:102EB000164B1B789D400023AC461D0020280DD1E9 -:102EC000134E019F765D1E413E4215D08A6101334B -:102ED000DBB2082B02D100230135EDB26646009F1C -:102EE000013CE4B2BE61BE62002CE7D18A62F7BD4C -:102EF0001128D7D18A61D5E78A62E8E7E504002086 -:102F00002C0700203007002014070020180700209D -:102F1000C5040020F0B52C4B85B01B78019301232C -:102F20001E00019A1F009640284A1168284A8E62A6 -:102F3000127802921A000298824094466046254A0E -:102F400012689062244805782448AF4000689D408C -:102F50008762046803941C00AC402500039C254351 -:102F600005604568019CBD4345609C401D00A5402F -:102F700008681C00284308604868B043486010682F -:102F8000029999408C4021000143604611605168CC -:102F90008143134851600078124A98408340126878 -:102FA000116899431160D1680B43D36080220E4BA6 -:102FB0001A70002319000D4A13700D4A99540133F9 -:102FC000202BFBD105B0F0BD300700202C070020DE -:102FD000200700201C0700201807002014070020ED -:102FE0002807002024070020E6040020E504002034 -:102FF000C504002010B52B4B1B78082B4ED013D8DE -:10300000294C032B39D006D8012B28D0022B2AD0EB -:10301000254BEE223AE0062B3AD03DD8042BF7D1CF -:1030200001222021112021E00F2B28D008D81E4C8E -:103030000D2B1FD000220E2BEAD12021102015E0ED -:10304000802B06D0184CFF2B06D0102BE0D100228D -:103050001FE0FFF75FFF10BDF0232370FBE7202088 -:10306000FFF714FF04E0012200212020FFF788FE73 -:103070008223F2E700221100F7E70122DDE70022B8 -:1030800020211120FFF77CFE8222074B1A70E2E715 -:10309000012220210800E9E71020E1E71120FFF7D5 -:1030A000F5FEF1E7C4040020E6040020BC224D4BED -:1030B000D203996AF0B50A439A629A6A4A490A4069 -:1030C0009A62B022596952030A435A611900902347 -:1030D000464ADB051278102A03D100221A609A6052 -:1030E000DA601A684248012402401A608022D868D7 -:1030F000D2010243DA601A683E483F4F02401A602C -:103100008022D868520302430420DA601A68A2437E -:103110001A60DA682243DA601A6882431A60DA6851 -:103120000243DA6010221D6895431D60DD682A4362 -:10313000DA6040221D6895431D60DD682A43DA602D -:103140001A682E4D2A401A608022DD68D2042A4374 -:10315000DA601A682A4D2A401A608022DD68D2059A -:103160002A43DA601A68274D2A4080251A60DA68F7 -:10317000ED022A43DA60244A1668A6431660D66830 -:103180003443D4601E683E401E60DC683C40DC6016 -:1031900080234C691B0323434B611C4B1C4C1E6852 -:1031A0001C4F26431E601E683E401E60DE6834438E -:1031B000DC604B691D434D611368174D2B40136054 -:1031C000D468164B1C43D460116829401160D16843 -:1031D0000B43D360136883431360D3681843D060F4 -:1031E000F0BDC04600100240FFFFA1FF080700200D -:1031F000FFBFFFFFFFFFEFFFFFEFFFFFFFFFFFFB43 -:10320000FFFFFFBFFFFFFBFF00040048000800486E -:1032100055555555AAAAAAAAFFFFAAAA00005555B6 -:103220000D480E4A038810B50D49934202D10A7821 -:1032300001320A7090220424D20501339462038083 -:10324000084B18699461084C0B7862691B02D2B272 -:10325000134380B2636110BD8A040020FFFF0000A9 -:10326000880400200008004800040048F7B50D005D -:10327000042701924C7A000203B2A6B200932B7A83 -:10328000B34202D26C720020FEBD00986B682043EE -:10329000195D80B2019B98476B681A5D094B8242A9 -:1032A00005D01A683A431A6002229A61E7E71A6861 -:1032B0000134BA431A60DA6801363A43DA60E4B29C -:1032C000B6B2DCE700040048F7B50D001600FF2792 -:1032D000000203B24C7A01932A7AE3B2A24202D2EC -:1032E0006B720020FEBD20006A683840D15C019BF3 -:1032F0000134184380B2B047A4B2EDE7022907D1E8 -:103300000F4B104A984218D0904209D1180007E09C -:10331000032906D10A4B0B490B4A98420BD10800EE -:1033200070470429FCD1064B064A984205D006494D -:103330009042F4D0054A8842E6D11000F0E7C0463A -:10334000380400204C040020600400207404002095 -:1033500070B506000D0005243000013CFFF7C0FBEE -:10336000E4B229003000FFF7CBFA6D08002CF3D14E -:1033700070BDFFFF70B50400A0200D000002022107 -:10338000FFF7E6FFAA211048FFF732FA55210F4850 -:10339000FFF72EFAA0210C48FFF72AFAA0200C4BC9 -:1033A00000021978FFF7D4FF29002000FFF720FA68 -:1033B0002000FFF745FA0500C0462000FFF740FA5D -:1033C000A842F5D170BDC04655150000AA0A0000FC -:1033D0008C04002070B50400C0200D0000020521FF -:1033E000FFF7B6FFAA210D48FFF78AFA55210C48CE -:1033F000FFF786FAA0210948FFF782FA290020008A -:10340000FFF77EFA2000FFF76BFB0500C0462000A7 -:10341000FFF766FBA842F5D170BDC04655550000C8 -:10342000AAAA0000F7B501230225294F01923A7894 -:103430000091054393400421A020264E2D049BB209 -:1034400029433268C00100F013FE040001283DD179 -:103450003B7809209C4005437830A3B232682900AC -:10346000FF3000F005FE040001282FD13B783268C0 -:103470009C402900A3B2002000F0FAFD04000128BE -:1034800024D1009B180AFEF7CFFF3B7832689C409E -:103490002900A3B200F0ECFD0400012816D16B4610 -:1034A0001878FEF7C1FF22003B7829009A4093B2BA -:1034B000326800F0DDFD0198FEF7B6FF3B78326818 -:1034C0009C402900A3B200F0D3FD0400E0B2FEBD91 -:1034D000100700200C070020F7B501230225274F15 -:1034E00000903A780191054393400421C020244E76 -:1034F0002D049BB229433268800100F0B9FD04001D -:10350000012838D109231D433B78C0209C403268F4 -:10351000A3B22900400000F0ABFD040001282AD12D -:103520003B7832689C402900A3B2002000F0A0FD47 -:10353000040001281FD1019B180AFEF775FF3B7894 -:1035400032689C402900A3B200F092FD04000128DB -:1035500011D16B461879FEF767FF22003B789A403D -:1035600093B2009A14430922E1B20904114332686C -:1035700000F07EFD0400A0B2FEBDC0461007002092 -:103580000C070020C94BCA4AF0B51A60C94A8BB073 -:103590001A6002225A60A02212019A600493049BCE -:1035A000DB68002BFBD19022049BC34912031960F6 -:1035B000C24B186802431A6080220991920219686E -:1035C0001142FCD0012259680A435A60802259688E -:1035D00052020A435A608022596852030A435A60D1 -:1035E0008022196852040A431A60802292041968E2 -:1035F0001142FCD01121B24AB24C11605A680E3906 -:103600008A43110002220A435A608022196B0A433E -:103610001A638022D96912040A43DA61AA4BE38152 -:10362000BC231B689847A94B6382A94B238262B6CF -:10363000FFF73CFDF022A74B1A70049B099AA64E97 -:103640001A603278202311009943D2291BD1A34953 -:10365000A348C978C3780224FF2904D1FF3B1C008A -:10366000631E9C41E4B29F4BDB78FF2B00D0032408 -:103670009D4BDB78FF2B00D004249C4B9C4F1C708F -:103680003860D22A4DD03378F22B05D10022023B8C -:103690003370974B1B68DA703578D02D00D0A0E1DD -:1036A000934E3068C378802B00D09AE18F4B197805 -:1036B000FFF724FE00233060C570068804004372C3 -:1036C000C07AF5B21038172800D988E1FCF754FF0A -:1036D000B500160157015B0187018701870187014A -:1036E000870187018701870187018701870187019A -:1036F0002C00390047004C004F0059006000A50025 -:103700002100FFF7FBFD01230135EDB2A542F7D300 -:10371000002B00D0386080223B68DA70D0233370F1 -:10372000B1E700230125F1E7E17B0F2900D979E119 -:1037300009013143237AA278C9B26068FEF70AFE14 -:103740000BE03C23E17B0A009A4300D06AE1237A34 -:10375000A27829436068FEF733FE607254E0237A52 -:10376000A278E17B2943E8E7E17B3F23EBE7227A7C -:10377000E17BA3780092002229436068FEF7ACFD4C -:10378000EBE7E17B227AA378294300920122F4E758 -:10379000584BE17B586929430E02C0B2304365683B -:1037A000A278277A5861902004266031C005C9B2FA -:1037B00086621E001F2901D801218162FF205969FC -:1037C0000002014011435961C0464B4900238C4619 -:1037D000C046C046C046C046C046C046C046614618 -:1037E00009690132090AE9547169D2B20140013311 -:1037F0001143DBB271619F42EAD290220421D205CB -:103800009161033991616372394B1B6819889A7A07 -:1038100052181A80D822DA70E3E000256668277A09 -:10382000FFF7FEFC6B1C70550235DBB2000AEDB2EF -:10383000F054AF42F4D26572E6E7E37B1E2B0BD166 -:10384000C020B6092233F1B200029D43FFF758F8B9 -:10385000237AA278802185E71C2B0FD1A02081211B -:10386000C001FFF74DF88020F609F1B20002FFF722 -:1038700047F8A0200021C001FFF742F88021E27B39 -:1038800049421F2A05D00D43EDB2237AA2782900C0 -:1038900053E77022A02095430D432188C0010909F8 -:1038A000C9B2EDB2FFF72CF8EFE7C0460030004098 -:1038B000CCCC000055550000AAAA00000010024020 -:1038C00000200240006000403CA5FFFF41080008C6 -:1038D00085080008E6040020A40400204C04002011 -:1038E000380400206004002074040020A00400209C -:1038F000900400200008004800040048E37BFE2BF1 -:1039000000D081E77609F1B2DD48FEF771FF1F2193 -:10391000DC4B29405A690902D2B20A43A078676891 -:10392000267A80215A619022C900D2059161012135 -:10393000FF259162033191625A692D022A400243A8 -:103940005A61C046D04900228C46C046614609698A -:103950000130090AB9545969C0B229400132014302 -:10396000D2B259619642F0D290230421DB059961CD -:103970008021C900996201219961627244E7237A2A -:10398000A2786021EEE6E37B002B20D18033F6099C -:103990001D43F3B20293FF20029BBB499B004A697F -:1039A0000340BA48024013434B61C0209021029B60 -:1039B000C905C000DB004A690340B5480240134313 -:1039C0004B61227AA378290000920022D5E6012BD0 -:1039D000E1D140217604760E31430291DBE7C32327 -:1039E000E370AC4B1D78F02D00D00DE3AA4E346887 -:1039F000E378982B00D007E3A84B20001978FFF755 -:103A00007DFC00233060C370E07AE57010382678C2 -:103A1000042800D9F6E2FCF7AFFD0700FB0189029C -:103A20009102EA00C423DBE7E37B002B06D13000E0 -:103A30008038C0B29A4A2100FFF718FCE37B012BC3 -:103A400006D130008038C0B2964A2100FFF73CFC16 -:103A5000E37B032B06D130008038C0B2924A2100AC -:103A6000FFF732FCE37B042B06D130008038C0B274 -:103A70008E4A2100FFF7FAFBE37B0A2B06D13000C8 -:103A80008038C0B28A4A2100FFF71EFCE37BFD2B81 -:103A900015D13F20238830409B0905936B46802633 -:103AA0001B7D06430793677ABBB2039333021BB2B5 -:103AB0000893237A039A934200D39FE06772E37BD3 -:103AC0001E2B06D130008038C0B27A4A2100FFF7A1 -:103AD000CDFBE37B0C2B17D11F2030408026064303 -:103AE000C0202588A5216D09EDB2C001FEF708FFB1 -:103AF00029007148FEF704FF677A35023D43237AB7 -:103B0000BB4200D3EDE06772E37B1C2B3BD1A020CE -:103B100023888121DB09DBB2C0010593FEF7F0FEAB -:103B2000802005990002FEF7EBFEA0205421C00181 -:103B3000FEF7E6FE677AAA21BBB260480393FEF760 -:103B4000DFFE55215E48FEF7DBFE20215B48FEF7D5 -:103B5000D7FE802333431B021BB20793237A039AB9 -:103B6000934200D3DAE08020902100026772FEF7D2 -:103B7000C7FE802000210002FEF7C2FE8020F02157 -:103B80000002FEF7BDFEE37B1F2B30D1A020218871 -:103B9000C0010909C9B2FEF7B3FEAA214748657AF8 -:103BA000FEF7AEFE55214648FEF7AAFE4348202107 -:103BB000FEF7A6FE702380209E434042304340B271 -:103BC0000302AFB20593237ABB4200D3EEE080201C -:103BD000902100026572FEF793FE80200021000212 -:103BE000FEF78EFE8020F0210002FEF789FEF4230E -:103BF0002288E370A37A9B18238005E200213148D4 -:103C0000FEF77EFEAA213048FFF716F855212F480F -:103C1000FFF712F8A0212C48FFF70EF86B46187D2D -:103C20002B4B0799C01880B2FEF76AFE089D6368A7 -:103C30003D43ADB2D95D2800FEF7FEFFC046280027 -:103C4000FEF74EFF06902800FEF74AFF069B8342D0 -:103C5000F4D163680699DA5D0B4B8A423AD1039A34 -:103C60001968013292B20392042291431960D96813 -:103C700001370A43DA600222FFB29A6219E7C046AE -:103C8000FF3F0000000800480004004803FF000058 -:103C9000FFF90000A404002090040020A0040020EC -:103CA0003D2D0008D5330008D92C0008E92B000869 -:103CB000952B0008212B0008FFFF0000AA8A0000B6 -:103CC0005585000069FD000055550000AA2A000036 -:103CD00069FDFFFF042219680A431A6002229A61F3 -:103CE000E7E6AA21CF48FEF70BFE5521CE48FEF7A6 -:103CF00007FEA021CB48FEF703FE63682800D95DCC -:103D0000FEF7FEFDC0462800FEF7EAFE03902800FD -:103D1000FEF7E6FE039B8342F4D1F0E6A020542197 -:103D2000C001FEF7EDFD079DA0213D43ADB2280087 -:103D3000FEF7E6FD63682800D95DFEF7E1FDC046A9 -:103D40002800FEF7CDFE06902800FEF7C9FE069B70 -:103D50008342F4D16368069ADB5DB44D93420FD180 -:103D6000039B2A6801339BB2039304239A432A607E -:103D7000EA6801371343EB600223FFB2AB62EDE662 -:103D8000A0208121C001FEF7BBFD80200599000223 -:103D9000FEF7B6FDA0205421C001FEF7B1FD0423BB -:103DA0002A6813432B600223AB61D7E6059EA0214E -:103DB0002E43B6B23000FEF7A3FD63683000595DB4 -:103DC000FEF79EFDC0463000FEF78AFE03903000ED -:103DD000FEF786FE039B8342F4D1636803995A5D24 -:103DE000924B8A420DD104211A6801358A431A6028 -:103DF000DA6801370A43DA600222EDB2BFB29A6292 -:103E0000E1E604211A680A431A6002229A61DAE69E -:103E1000E37B002B04D1864A21003000FFF754FADF -:103E2000E37B012B04D1834A21003000FFF74CFAD9 -:103E3000E37B022B04D1804A21003000FFF744FAD3 -:103E4000E37B042B04D17D4A21003000FFF73CFACC -:103E5000E37B0A2B04D17A4A21003000FFF734FAC1 -:103E6000E37B0B2B04D1774A21003000FFF72CFABB -:103E7000E37BFE2B00D0BAE6218873484909C9B21A -:103E8000FEF7B6FCAA217148657AFEF76DFC552154 -:103E90006F48FEF769FC6D482021FEF765FC1F2086 -:103EA00030400302AFB20593237ABB420DD2657254 -:103EB00090210020FEF758FC00210800FEF754FC7A -:103EC000F0210020FEF750FC91E6059EA0212E4334 -:103ED0003000FEF749FC63683000595DFEF744FC92 -:103EE000C0463000FEF768FC03903000FEF764FC2B -:103EF000039B8342F4D1636803995A5D4B4B8A421A -:103F00000DD104211A6801358A431A60DA68013735 -:103F10000A43DA600222EDB2BFB29A62C4E704211A -:103F20001A680A431A6002229A61BDE730006030C5 -:103F3000484A2100C0B2FFF7C7F958E6E37B042BDB -:103F400006D130008038C0B2434A2100FFF7BCF9E7 -:103F5000E37B052B04D1404A21003000FFF7B4F980 -:103F6000E37B062B06D130008038C0B23B4A2100EB -:103F7000FFF7AAF9E37B072B04D1384A2100300070 -:103F8000FFF7A2F9E37B002B1CD1FF2280331E43F5 -:103F900023882648DB09DBB29D0041692A40304D69 -:103FA000DB0029400A4342619022C020D205C000B4 -:103FB000516903402B4801400B43536121003000FD -:103FC000FEF7B8FAE37B012B00D010E62388174AEE -:103FD0005B04580E40230343FF209B0051690340BC -:103FE0001F4801400B4390215361C9054B691D4A8D -:103FF00030001A4080239B0013434B612100FEF7E1 -:1040000099FAF4E5C323E370174B1B78F02B01D129 -:10401000FFF713FB832B01D0FFF70FFBFEF7EAFF3F -:10402000FFF70BFB55D50000AAAA000000040048CA -:10403000BD28000875330008652A000879280008A3 -:10404000F12900086D290008FF3F0000AA0A0000BE -:10405000550500000129000819270008C926000895 -:1040600003FF0000FFF90000E6040020FFFFFFFF50 -:10407000F0B5474680B4061C081C000C102801D57A -:10408000162700E004270007000F8046FF200140AC -:104090005468251C1D439C43F60313850AD5C0466E -:1040A000C046C046C046C046C046C0469480138342 -:1040B000958002E0012000F081F801390AD4381C13 -:1040C00000F07CF8C046948013839580C046C046BB -:1040D0007600E2E7381C013800F070F89480138312 -:1040E0009580042000F06AF8108A184001D0FF2063 -:1040F00061E0C046C046C046C046C046C046948047 -:104100009580108A184055D001200226B04552D023 -:104110000921168A1E40FCD1012000F04FF894803E -:10412000C0469580C04603E0C046C046C046C04673 -:10413000948095807600108A1840EFF3008040004C -:10414000C00F0643381C023800F038F89480958080 -:10415000022000F033F80139EAD51385948001205C -:1041600000F02CF813839580301C802102239940A5 -:104170000E401BD1002341085E4149085E414908B9 -:104180005E4149085E4149085E4149085E4149086F -:104190005E4149085E4149085E41760808D34008FF -:1041A000FF21084048400002013004E00E2002E0F8 -:1041B000092000E0002080BCB846F0BD0138FDD1E8 -:1041C0007047C04603685A0003D45B005B08C01800 -:1041D0007047802212061343F9E7C046F0B55746F0 -:1041E0004E46DE464546E0B5814683B092460029FC -:1041F00025D04B1E9B46002701935B46FB18DC0F26 -:10420000E4184B466410E5005E193000FFF7DAFF52 -:10421000019B8046A3420BD0280008304844FFF79A -:10422000D1FFD04506D80138504509D2671CE4E7D4 -:10423000504505D9A74202D0631E9B46DDE7002604 -:10424000300003B03CBC90469946A246AB46F0BD58 -:10425000012809D0022805D0002801D0002070478D -:104260000248FCE70248FAE70248F8E74549000837 -:104270005D4900085149000830B5234B83B0050063 -:104280008C1E002B26D001A9200000E000BF0028D2 -:104290001CD001992200FFF7A1FF041E16D0FFF7E2 -:1042A00091FF6368A864012B2AD0201D002B23DB1B -:1042B000FFF788FF0023E8642B650368002B0FDB02 -:1042C000FFF780FF2861002003B030BD00230920E4 -:1042D0002B61F9E70D480E49091AC9100191D9E778 -:1042E0001801000FFFF7B4FF2861431E984108230F -:1042F000404298430930E7E70123E8642B65DCE797 -:10430000002305202B61DFE7000000004052000879 -:1043100010530008036810B50400DA0705D44830CC -:104320009B070ED500F06CFC23685A070ED51A07C0 -:1043300013D5DB0604D42000D130FF3000F06CFC34 -:1043400010BD00F059FC23685A07F0D42000D0308B -:1043500000F05AFC23681A07EBD420005130FF30DC -:1043600000F056FC2368E4E70368002B00D01B181C -:1043700018007047092070477047C04670B50400A8 -:104380000D0008E02B6C2A006361210001202369E5 -:104390009847082807D1296C2000FFF76DFF0028F7 -:1043A000F0D000F083FE0728FBD10020296CFFF736 -:1043B000E3FF281D00F00AFCF0B5CE46474680B565 -:1043C000C3682E4C9846A544836906001400043146 -:1043D000402205A8994600F071FE002304AD049325 -:1043E00023E0F0222B6C5200736129007CA800F0BE -:1043F00065FE7CAA31003369200098478A9B07003C -:104400006B6403934B460095019332003300210007 -:104410000120C04700281FD1F0227CA952002800AB -:1044200000F04CFE0024082F1FD1296C3000FFF74C -:1044300023FF611E8C41070009340028D1D0AB6BEB -:1044400010216B644B4621430193009533003200E9 -:104450000120C047002800D009273800F5239B0021 -:104460009D440CBC90469946F0BD072FF4D1200026 -:10447000296CFFF781FF05A800F0A8FB2CFCFFFFCB -:10448000406C704770B5CB6BFAB00B6404000E0043 -:104490004022043103A800F011FE01235B42029385 -:1044A00006E002AA210023699847050008280AD1DE -:1044B000129B200019000193FFF7DEFE0028F0D0C8 -:1044C00009207AB070BD02A8FFF724FF062DF7D1AE -:1044D00031002000FFF752FF10B58261DA6BC16036 -:1044E0001A6419000022FFF767FF10BD436970B519 -:1044F0000B64C36804000D00002B15D10A0023696A -:10450000010002209847072807D0082803D1290076 -:104510002000FFF733FF00F0C9FD0020296CFFF7F2 -:104520002BFF281D00F052FB0122FFF745FF00F092 -:10453000BDFDC046C36810B5002B05D0CB6B002273 -:104540000B64FFF739FF10BDFFF79CFFFBE7C04688 -:104550007047C046836810B5002B02D001000120CF -:10456000984710BD012906D0002906D00339022042 -:10457000012900D970470120FCE7002B08D10F2A40 -:1045800006D8920082185268009B00201A60F1E75A -:104590000220EFE700B585B003AB0A0000930021CD -:1045A0000023FFF7DFFF039805B000BD012906D007 -:1045B000002906D003390220012900D970470120C3 -:1045C000FCE7002B08D10F2A06D8009B92001B683D -:1045D000821853600020F1E70220EFE700B585B0B4 -:1045E00003AB039200930A0000230021FFF7DEFFD4 -:1045F00005B000BD70B51A4CD36BA544136406001A -:104600000D0019A8111D402200F058FD01235B4246 -:10461000189314E00C2118A802AAFFF7DFFF290065 -:1046200018A8B047002812D1069B18AA02A9083082 -:1046300001939847040005280AD0092807D0289B31 -:1046400002A819000193FFF717FE0028E2D0092401 -:1046500018A8FFF75FFE200090239B009D4470BDCB -:10466000C0FDFFFFF0B5DE4657464E464546E0B575 -:10467000160003220D0011008BB01F000193EB6C9C -:1046800001401C1D009107A91B688B460894002F50 -:104690006BD01A0C1B045946079302230B72FD338F -:1046A00013409B004A72E418009B022B00D1AC6BB4 -:1046B0002B6DDB0747D40023059308330340029397 -:1046C0002768002F00D112E1019B022B49D063889B -:1046D000278898460434012340469A469843AB6C99 -:1046E0000F21994681443000FFF754FF0021814596 -:1046F00006D8390053469943494488428941494282 -:1047000043465A0002231340012217403B43012B2A -:104710003AD0002B30D0022B1BD12368009A5F00C7 -:104720007F08002A67D1002906D0029A002A00D10A -:104730007CE0002F00D1A9E0002B00DA043401371F -:10474000BF00E419BCE75946300000F00BFB00281D -:1047500010D009200BB03CBC90469946A246AB460F -:10476000F0BD636808349846B5E71B0207935B46C3 -:104770001A8199E70820EDE7009B002B02D0002961 -:1047800000D08DE004349BE7009B002B1AD1002958 -:1047900016D02368DF0F63689A1CDAD02A005832DB -:1047A0000692013300D1BDE0201DFFF7DDFD06AB11 -:1047B00001003A00280000E000BF002800D082E09D -:1047C00008347DE70D2130002F6AFFF7E3FE8742B2 -:1047D000F6D1AB6A9C42F3D12000FFF7F3FC0F2126 -:1047E00002003000FFF7FAFE30002A000021FFF738 -:1047F000F5FE0720AEE72B6A0D2130009846FFF743 -:10480000C9FE804501D0236896E7AB6A9C42FAD185 -:104810000023EB6204332B63231DAF626B632368B9 -:10482000002B00DA86E00123059388E7002F2DD0C6 -:1048300058239C46AC4463460393231D99460023AA -:10484000984606AB220004933B004C464746B246CE -:1048500098462E00914603E004342F00454542D08F -:10486000039B20000693FFF77FFD049B01000022BD -:1048700030007D1C00E000BF0028EDD04346B84664 -:1048800035004C4656461F009845BCD10D213000DE -:10489000FFF780FE069B28626B62AC62062059E738 -:1048A0002000FFF78FFC04340700AC63280000E011 -:1048B00000BF002800D14CE730003A000F21FFF77D -:1048C0008DFE072046E707000D213000FFF762FE4E -:1048D0002862022F2BD1069BEB622B002C336B62DC -:1048E000AC62062036E735004C465646CEE75946C0 -:1048F000300000F037FA002800D02AE7059B002B93 -:1049000000D137E70F213000FFF744FE0E210200EF -:104910003000FFF763FE3000094A0F21FFF75EFE0B -:10492000072017E70D213000FFF734FE2862069BB1 -:104930006B62D5E738000130800020184DE7C04693 -:104940000000000010B50023FFF78CFE10BDC0462C -:1049500010B50123FFF786FE10BDC04610B5022337 -:10496000FFF780FE10BDC046F0B5CE46474680B585 -:104970000500C3B014001E00012955D000294BD0FA -:10498000032922D0042949D1002B47D1102A45D828 -:10499000102203681A4200D0F1E020AF380000F086 -:1049A0003DF900230120A96B02009A40144203D074 -:1049B0000E689A00BE5004310133042BF4D1380044 -:1049C000A96300F029F9002029E0032B26D1140463 -:1049D000230C160C9846F318102B1FD808220368D6 -:1049E0001A4200D098E020AF380000F013F9424698 -:1049F000AB6BF6001C00002A08D0D400F21A1C1978 -:104A0000BA181968D15004339C42FAD1AC6338000B -:104A100000F0FEF8002002E0002B24D0022043B07A -:104A20000CBC90469946F0BD130C14049846240C17 -:104A3000012E2ED0052EF1D11B19202BEED8424687 -:104A40000F2A70D9A146002C7ED1AA6B4346AA63D7 -:104A50000F2B00D89AE04B46002BDBD0684600F0C5 -:104A6000D3F80020DBE700231004A96B000C01360B -:104A700032009A40104204D00F689A00AA1857607A -:104A800004310133102BF3D10020A304C7D4A96350 -:104A9000C5E71B19102BC1D843460F2BBED82B6876 -:104AA0001E4206D00322280093432B60483000F0BA -:104AB000A5F820AF380000F0A1F8AA6B002C24D094 -:104AC0004346DB00FF180023994664000023A4003E -:104AD000D158F95004339C42FAD14B4612196F4613 -:104AE000002B0FD04046102800D210204B46D90092 -:104AF00000231038C0003818D458C45004339942E9 -:104B0000FAD15218012EA1D120AF04323800AA6385 -:104B100000F072F8002082E7934303605130FF30C9 -:104B200000F078F85FE7102B3BD9102252429146F3 -:104B300099442B68194208D0022228008B43134362 -:104B40002B60483000F05EF82B6804221A4221D115 -:104B500043460F2B03D820AF380000F053F86F46C0 -:104B6000380000F053F810244346AA6BE41A002CD6 -:104B7000B8DD434620AFDB006400FF18A6E793438F -:104B80000360D130FF3000F049F806E720A800F0BC -:104B900037F860E7280093432B60D03000F036F8F8 -:104BA000D6E72B680B4207D0022228008B43134321 -:104BB0002B60483000F026F820AF380000F022F8D3 -:104BC000A146AA6B002C00D07AE73FE7011C3431E4 -:104BD00038C9043B9C461D60A646011C20313CC9D7 -:104BE00090469946A246AB46011C0831FCC9416873 -:104BF0000068E54600BDC0467047C0467047C046E5 -:104C00007047C0467047C0467047C0467047C046B0 -:104C10007047C0467047C0467047C0467047C046A0 -:104C200001B401A801B585B0FFB408A841464A46C1 -:104C300053465C4665463EC001A83EC80F980090AA -:104C400000230CB401A9FFF71DFC109B12B01847FC -:104C500001B401A801B585B0FFB408A841464A4691 -:104C600053465C4665463EC001A83EC80F9800907A -:104C700000230CB401A9FFF739FC109B12B01847B0 -:104C800001B401A801B585B0FFB408A841464A4661 -:104C900053465C4665463EC001A83EC80F9800904A -:104CA00000230CB401A9FFF745FC109B12B0184774 -:104CB00001B401A801B585B0FFB408A841464A4631 -:104CC00053465C4665463EC001A83EC80F9800901A -:104CD00000230CB401ABFFF7FFFB109B12B0184789 -:104CE00001B401A801B585B0FFB408A841464A4601 -:104CF00053465C4665463EC001A83EC80F980090EA -:104D000000230CB401AAFFF775FC109B12B01847E2 -:104D1000027A0300002A0BD1427A002A0FD0013A0E -:104D200042724268111D416003211268017202E063 -:104D3000013A02720268100E12021A607047B02027 -:104D4000FCE7C04600B585B003AB00930C220023FE -:104D50000021FFF707FC039805B000BD10B5FFF771 -:104D6000F1FF10BDF0B557464E464546DE460023DE -:104D7000E0B587B003930F339846083B99468023EC -:104D80001B0306000F009A463800FFF7C1FF04001E -:104D9000B02800D1C3E003062AD50300424693435E -:104DA000DBB2802B00D171E0902B3DD0A02B00D145 -:104DB00085E0B02B50D0C02B00D196E003004A46CE -:104DC0009343DBB2D02B0AD15346024001321A433F -:104DD000052301213000FFF7C7FD0028D4D00924A6 -:104DE000200007B03CBC90469946A246AB46F0BDB9 -:104DF000FF23820013401D1D05AB9B4600930D222F -:104E0000002300213000FFF7ADFB630620D4059B93 -:104E10009C46654405955B460D22009300210023C6 -:104E20003000FFF7C3FBAFE7833B03400D2BD6D029 -:104E300005AD02400095002300213000FFF792FBF2 -:104E4000009500230D2200213000FFF7AFFB9BE708 -:104E5000059B5D1B0595DEE7B12874D0B22800D113 -:104E6000CFE0B32800D184E0FC230340B42BB6D0BC -:104E70004A465346024001321A43012101233000C1 -:104E8000FFF772FD002800D17EE7A8E70402380092 -:104E9000FFF73EFF802520432D02A8429FD004014A -:104EA0000005020C002300213000FFF75DFD002803 -:104EB00095D12C4200D167E70123039364E7FF23D8 -:104EC0004A461B011900824311410A001A40030798 -:104ED00002D58023DB011A43002300213000FFF7B5 -:104EE00043FD002800D14FE779E7C6284CD0C728FA -:104EF0005ED003004A469343DBB2C02B6DD0C82876 -:104F000072D0C92800D06AE73800FFF701FFF0230C -:104F100002031B03134042460240013257E7039B42 -:104F20000024002B00D05BE705AD00950E22002188 -:104F30003000FFF717FB009500230F2200213000FF -:104F4000FFF734FB4CE73800FFF7E2FE002800D102 -:104F500045E7030042469343DBB2002B00D03EE717 -:104F6000020000213000FFF7FFFC002800D10BE712 -:104F700035E73800FFF7CCFEF02302031B03134094 -:104F800042460240013277E73800FFF7C1FEF023C6 -:104F900002031B0313404246024001321A4303231B -:104FA00003213000FFF7E0FC002800D1ECE616E713 -:104FB0003800FFF7ADFE021E00D110E703004146A6 -:104FC0008B43DBB2002B00D009E704213000FFF750 -:104FD000CBFC002800D1D7E601E74346A0221C40C5 -:104FE000013412032243DAE73800FFF791FE43460B -:104FF00002009A43D2B21032184012030130024329 -:10500000E6E605AB00939B460D220023002130000D -:10501000FFF7A8FA3800FFF77BFE030618D57F25B7 -:10502000B03C059B2840A0409C4660440590380059 -:105030000734FFF76DFE0306F3D481217F23890037 -:1050400003408C46A340059A62449B180593E2E610 -:105050000224F2E7030000B5DB6C85B05A68080053 -:10506000120201921A0001A908324A6003220A7250 -:10507000DB794B72FFF776FE05B000BD10B5FFF788 -:105080006DFE806C10BDC04610B5FFF767FEC26CA8 -:10509000D3799B000833D01810BDC04610B500F07E -:1050A00005F8C04610B5FFF7F9FFC04610B5062059 -:1050B00000F076F8012000F0A5F8C046F0B50F2A00 -:1050C00037D90D0005430C000300AD0735D115009D -:1050D000103D2D092E013618103627681F606768AD -:1050E0005F60A7689F60E7681034DF601033B342E9 -:1050F000F3D10F2401352D01491914404519032C12 -:105100001DD90023CE58EE500433E61A032EF9D8E9 -:105110000323043CA4080134A4001A402D190919E2 -:10512000002A05D00023CC5CEC5401339342FAD121 -:10513000F0BD0500002AF5D1FAE70500F2E72200EC -:10514000F8E7C04670B505000C001F2922D8B72328 -:105150009B00C358002B0ED08A009B181A68002AA7 -:1051600009D0012A10D0511C10D000212000196054 -:105170009047002070BD280000F030F822000100A8 -:10518000280000F017F8F5E70020F3E71623036086 -:105190000120EFE71623036001204042EAE7C04602 -:1051A00010B5034B01001868FFF7CCFF10BDC046D7 -:1051B00000000020002370B5074C05000800110016 -:1051C000236000F017F8431C00D070BD2368002B4B -:1051D000FBD02B60F9E7C0463407002010B500F083 -:1051E00001F810BD58220120014B40421A6070475F -:1051F0003407002058220120014B40421A607047BA -:1052000034070020FEE7C046F8B5C046F8B5C046F2 -:1052100074B20181B0AB308000000000800A0181CF -:10522000B0B0ABF0000000003F020181B0AB3080B5 -:105230000000000080060181B0B0ABF0000000006B -:1052400030EEFF7FB0B0B0807CEFFF7F0100000048 -:1052500028F0FF7FB0A90280BCF0FF7FB0B0A8802B -:1052600008F1FF7F0100000014F1FF7FB0B0AA80B9 -:1052700048F1FF7F9CFFFF7F08F2FF7F01000000E5 -:1052800004F2FF7FAA3F398050F2FF7FB0B0A880C0 -:105290005CF2FF7FB0B0AA809CF2FF7FB0B0A88024 -:1052A000B0F2FF7F01000000ACF2FF7FB0B0A88039 -:1052B000B4F2FF7F010000003CF3FF7FAA0FB28031 -:1052C000A4F3FF7F58FFFF7F7CF6FF7FB0B0A8807C -:1052D00098F6FF7F54FFFF7FF4F8FF7F0100000086 -:1052E00064FAFF7F0084048074FAFF7FB0B0A88066 -:1052F00074FAFF7F40FFFF7F5CFDFF7F0084048026 -:105300007CFDFF7FB0B0A88094FDFF7F010000000E -:10531000080000200000000000000000F40200204F -:105320005C030020C4030020000000000000000017 -:10533000000000000000000000000000000000006D -:10534000000000000000000000000000000000005D -:10535000000000000000000000000000000000004D -:10536000000000000000000000000000000000003D -:10537000000000000000000000000000000000002D -:10538000000000000000000000000000000000001D -:10539000000000000000000000000000000000000D -:1053A00000000000000000000000000000000000FD -:1053B00000000000000000000000000000000000ED -:1053C00001000000000000000E33CDAB34126DE68A -:1053D000ECDE05000B0000000000000000000000F3 -:1053E00000000000000000000000000000000000BD -:1053F00000000000000000000000000000000000AD -:10540000000000000000000000000000000000009C -:10541000000000000000000000000000000000008C -:10542000000000000000000000000000000000007C -:10543000000000000000000000000000000000006C -:10544000000000000000000000000000000000005C -:10545000000000000000000000000000000000004C -:10546000000000000000000000000000000000003C -:10547000000000000000000000000000000000002C -:10548000000000000000000000000000000000001C -:10549000000000000000000000000000000000000C -:1054A00000000000000000000000000000000000FC -:1054B00000000000000000000000000000000000EC -:1054C00000000000000000000000000000000000DC -:1054D00000000000000000000000000000000000CC -:1054E00000000000000000000000000000000000BC -:1054F00000000000000000000000000000000000AC -:10550000000000000000000000000000000000009B -:10551000000000000000000000000000000000008B -:10552000000000000000000000000000000000007B -:10553000000000000000000000000000000000006B -:10554000000000000000000000000000000000005B -:10555000000000000000000000000000000000004B -:10556000000000000000000000000000000000003B -:10557000000000000000000000000000000000002B -:10558000000000000000000000000000000000001B -:10559000000000000000000000000000000000000B -:1055A00000000000000000000000000000000000FB -:1055B00000000000000000000000000000000000EB -:1055C00000000000000000000000000000000000DB -:1055D00000000000000000000000000000000000CB -:1055E00000000000000000000000000000000000BB -:1055F00000000000000000000000000000000000AB -:10560000000000000000000000000000000000009A -:10561000000000000000000000000000000000008A -:10562000000000000000000000000000000000007A -:10563000000000000000000000000000000000006A -:10564000000000000000000000000000000000005A -:10565000000000000000000000000000000000004A -:10566000000000000000000000000000000000003A -:10567000000000000000000000000000000000002A -:10568000000000000000000000000000000000001A +:1008800098040020FF23F0B5C04C85B02380837905 +:100890000700009340780138102801D901F0F4FDD9 +:1008A000FFF76AFE1100D405B108EC09980CF20DAF +:1008B000DE0D2F0BB40B1F0C790C460A940ACF0ADD +:1008C000FE0AF20D7C0CB878BA888C231D2826D835 +:1008D000FFF752FE1E0028001E011802E4028303E7 +:1008E0000E04CA04E604F204FA0402050B0514051A +:1008F00022052A0532053A05AA05AA05AA054A05D0 +:100900005F057605CC02D8023F058D059605A10549 +:10091000B0239F4A5B0351690B435361002323704B +:1009200000F0D8FE152A01D900F081FD1000FFF774 +:1009300023FE160023002E007E05390044004F00E0 +:100940007E055C006900730080007E057E058D00D9 +:100950009A00A700B400C100CE00D800E2009023A6 +:10096000DB051A688B490A401A608022D968520355 +:100970000A43DA600023D2E790230122DB051968DD +:1009800091431960D9680A43DA600023C7E79023CE +:100990000422DB05196891431960D9680A43DA60BB +:1009A0000023BCE790231022DB05196891431960EE +:1009B000D9680A43DA600023B1E790234022DB05BF +:1009C000196891431960D9680A43DA600023A6E7E1 +:1009D0009023DB051A6870490A401A608022D968A2 +:1009E000D2040A43DA60002399E79023DB051A68F2 +:1009F0006A490A401A608022D96852010A43DA60C3 +:100A000000238CE70422664B196891431960D9686A +:100A10000A43DA60002382E79023DB051A68614904 +:100A20000A401A608022D968D2050A43DA6000239E +:100A300075E79023DB051A685B490A401A6080223B +:100A4000D968D2020A43DA60002368E79023DB0505 +:100A50001A6856490A401A608022D96852000A432F +:100A6000DA6000235BE79023DB051A6850490A40EF +:100A70001A608022D968D2000A43DA6000234EE768 +:100A80009023DB051A684B490A401A608022D96816 +:100A9000D2010A43DA60002341E79023DB051A689C +:100AA0003D490A401A608022D968D2040A43DA60BC +:100AB000002334E79023DB051A683F490A401A6097 +:100AC0008022D96852050A43DA60002327E7012211 +:100AD000334B196891431960D9680A43DA600023DF +:100AE0001DE71022354B196891431960D9680A43F4 +:100AF000DA60002313E79023DB051A682C490A40CB +:100B00001A608022D968D2000A43DA60002306E71F +:100B1000152A01D900F08EFC1000FFF72DFD1600FC +:100B200021002C008B0451005C0067008B047200D4 +:100B30007D00870092008B048B049D00A800B30009 +:100B4000BE00C900D400DE00E8009023DB05196870 +:100B5000104801401960DA680240DA600023DEE6DE +:100B600090230121DB051A688A431A60DA688A43F8 +:100B7000DA600023D3E690230421DB051A688A4358 +:100B80001A60DA688A43DA600023C8E600070020AA +:100B900000100240FFFFEFFFFFFFFFFBFFEFFFFF33 +:100BA00000040048FFFFFFBFFFFFFBFFFFFEFFFF4A +:100BB000FFFBFFFFFFBFFFFFFFFFFFEF000C004841 +:100BC00090231021DB051A688A431A60DA688A4389 +:100BD000DA600023A3E690234021DB051A688A43EC +:100BE0001A60DA688A43DA60002398E69023DB050E +:100BF0001968CE4801401960DA680240DA600023C3 +:100C00008DE69023DB051968C94801401960DA6850 +:100C10000240DA60002382E60421C64B1A688A4348 +:100C20001A60DA688A43DA60002378E69023DB05ED +:100C30001968C14801401960DA680240DA6000238F +:100C40006DE69023DB051968BC4801401960DA683D +:100C50000240DA60002362E69023DB051968B84899 +:100C600001401960DA680240DA60002357E69023F9 +:100C7000DB051968B34801401960DA680240DA60A0 +:100C800000234CE69023DB051968AF48014019604A +:100C9000DA680240DA60002341E69023DB05196838 +:100CA000A24801401960DA680240DA60002336E6A3 +:100CB0009023DB051968A54801401960DA680240F5 +:100CC000DA6000232BE601219A4B1A688A431A60E6 +:100CD000DA688A43DA60002321E610219C4B1A6807 +:100CE0008A431A60DA688A43DA60002317E69023A1 +:100CF000DB051968934801401960DA680240DA6040 +:100D000000230CE6152A00D997E31000FFF734FC06 +:100D100016001F00270095032F0037003F009503A2 +:100D20004800510058006100950395036A00730064 +:100D30007C0085008E0097009E00A50090228023F5 +:100D4000D20511685B030B4313600023E7E5902293 +:100D50000123D20511680B4313600023DFE59022C5 +:100D60000423D20511680B4313600023D7E59022BA +:100D70001023D20511680B4313600023CFE59022A6 +:100D80004023D20511680B4313600023C7E590226E +:100D90008023D2051168DB040B4313600023BEE5FA +:100DA00090228023D20511685B010B43136000235E +:100DB000B5E504235F4A11680B4313600023AEE5D9 +:100DC00090228023D2051168DB050B4313600023BA +:100DD000A5E590228023D2051168DB020B43136046 +:100DE00000239CE590228023D20511685B000B4311 +:100DF0001360002393E590228023D2051168DB0065 +:100E00000B43136000238AE590228023D2051168EA +:100E1000DB010B431360002381E590228023D20580 +:100E20001168DB040B431360002378E590228023D4 +:100E3000D20511685B050B43136000236FE50123A6 +:100E40003C4A11680B431360002368E51023404AB5 +:100E500011680B431360002361E590228023D205C3 +:100E60001168DB000B431360002358E58D23082A2B +:100E700000D054E590224023D20551680B435360C3 +:100E800000234CE58D23082A00D048E5902240211C +:100E9000D20553688B435360002340E5152A00D9DF +:100EA000CEE21000FFF768FB16001D002300CC0205 +:100EB00029002F003500CC023C0056005B00620088 +:100EC000CC02CC0269006F0075007B0082008900B3 +:100ED0008E00930090238022DB05D2009A620023CB +:100EE0001DE590230122DB059A62002317E590237C +:100EF0000222DB059A62002311E590230422DB0520 +:100F00009A6200230BE590230822DB059A620023F6 +:100F100005E590238022DB0592019A620023FEE41E +:100F200090234022DB059A620023F8E4FFFFFFFBD9 +:100F3000FFEFFFFF00040048FFFFFFBFFFFFFBFFC5 +:100F4000FFFEFFFFFFFBFFFFFFBFFFFFFFFFFFEF06 +:100F5000000C00480222CD4B9A620023DFE490236C +:100F60008022DB0512029A620023D8E490238022BB +:100F7000DB0592009A620023D1E490231022DB0566 +:100F80009A620023CBE490232022DB059A6200239F +:100F9000C5E490238022DB059A620023BFE49023FE +:100FA0008022DB0592019A620023B8E4902380221C +:100FB000DB05D2019A620023B1E40122B34B9A62AD +:100FC0000023ACE40422B24B9A620023A7E49023EE +:100FD0002022DB059A620023A1E4152A00D932E21F +:100FE0001000FFF7C9FA16001D0023003002290087 +:100FF0002F00350030023C00420047004E00300216 +:10100000300255005B00610067006E0075007A00D9 +:101010007F0090238022DB05D2009A6100237EE4CA +:1010200090230122DB059A61002378E490230222B9 +:10103000DB059A61002372E490230422DB059A61A8 +:1010400000236CE490230822DB059A61002366E408 +:1010500090238022DB0592019A6100235FE49023B4 +:101060004022DB059A61002359E40222874B9A61F2 +:10107000002354E490238022DB0512029A610023AE +:101080004DE490238022DB0592009A61002346E420 +:1010900090231022DB059A61002340E49023202254 +:1010A000DB059A6100233AE490238022DB059A61F4 +:1010B000002334E490238022DB0592019A6100230F +:1010C0002DE490238022DB05D2019A61002326E4DF +:1010D00001226E4B9A61002321E404226C4B9A6139 +:1010E00000231CE490232022DB059A61002316E4F0 +:1010F00002236370152A00D9B1E01000FFF722FA2D +:101100000B151EAF273039AF434C545DAFAF67703E +:1011100079828C969EA690238022DB051B69D200E3 +:10112000134063800023FFF7FAFB90230122DB05C5 +:101130001B69134063800023FFF7F1FB9023022219 +:10114000DB051B69134063800023FFF7E8FB902356 +:101150000422DB051B69134063800023FFF7DFFBDC +:1011600090230822DB051B69134063800023FFF7EF +:10117000D6FB90238022DB051B699201134063801C +:101180000023FFF7CCFB90234022DB051B691340B3 +:1011900063800023FFF7C3FB02223C4B1B69134013 +:1011A00063800023FFF7BBFB9023DB051B69DB0B90 +:1011B000DB0363800023FFF7B2FB90238022DB0573 +:1011C0001B699200134063800023FFF7A8FB902364 +:1011D0001022DB051B69134063800023FFF79FFB90 +:1011E00090232022DB051B69134063800023FFF757 +:1011F00096FB90238022DB051B691340638000234C +:10120000FFF78DFB90238022DB051B6992011340C1 +:1012100063800023FFF783FB90238022DB051B699B +:10122000D201134063800023FFF779FB0122174BA3 +:101230001B69134063800023FFF771FB0422144BEA +:101240001B69134063800023FFF769FB9023202272 +:10125000DB051B69134063800023FFF760FB00235D +:1012600063708D33FFF75BFB80230A4ADB02516911 +:101270000B435361054B08491A680A401A60D96844 +:10128000064A0A43DA600023FFF749FB00040048DE +:10129000000C004800100240FFFFAAAA00005555AC +:1012A000C84BC9491A680A401A60D968C74A0A4334 +:1012B000DA600023FFF733FBC24AC34913680B40CF +:1012C00013600023FFF72BFBBE4AC04B11680B4392 +:1012D00013600023FFF723FBBA4912024B69DBB20C +:1012E0001A434A610023FFF71AFBB64B1B691B0A1E +:1012F000A370012363700023FFF711FB8023B44A1E +:101300001B0351690B435361B24AB34B11680B4342 +:1013100013600023FFF703FBAE4AAF4BD1680B43CA +:10132000D3600023FFF7FBFAAA4AAC4913680B40CD +:1013300013600023FFF7F3FAA64AA74B11680B438B +:1013400013600023FFF7EBFAA24B5A610023FFF76B +:10135000E6FA012363709F4B1A69A2701B691B0A8E +:10136000E3700023FFF7DBFAC023994ADB025169DF +:101370000B435361934A9A4B11680B4313609022BD +:10138000A023D20511685B030B4313600023FFF712 +:10139000C6FA8C4A924BD1680B43D3609023A021AC +:1013A000DB05D86849030143D96011688D480140C5 +:1013B00011601A688C490A401A600023FFF7AFFADF +:1013C000FF258048930041692B40884DD200294079 +:1013D0000B4343619021C020C905C0004B69024006 +:1013E000834803401A434A610023FFF798FA01211A +:1013F000744B1A680A431A6099620023FFF78FFA48 +:101400000122704B196891431960D9680A43DA6068 +:101410000023FFF784FA6F4B5A610122694B9A61EE +:101420009A620023FFF77BFA0023FFF778FA8D23F7 +:10143000FFF775FA8D23FFF772FA8D23FFF76FFA26 +:101440008D23FFF76CFA8D23FFF769FABD78BB880F +:10145000052D00D1F1E135D8022D00D185E107D865 +:10146000002D00D130E1012D00D13BE196252FE187 +:10147000032D00D162E2042DF8D1DBB29825012BB7 +:1014800000D025E190225B4BD2051A6006220A218A +:10149000594B1A704B4B594A1360594A1170594AAB +:1014A00001311360584A1170584A13600C22584B8E +:1014B0001A70B023464A5B0351690B43536101F034 +:1014C000A5FEAEE1082D00D111E200D9A2E0062D63 +:1014D00000D1CEE1072DC9D101F064FF9023012492 +:1014E000DB051A68384F22431A6010229C61196884 +:1014F0000A4304211A60802299611868D2010243CC +:101500001A6080229A6180221868520102431A6090 +:1015100040229A6118680143196002219961196893 +:101520002B480A431A6008229A61802241691203FB +:101530000A43284942610D68274A2A430A60214A22 +:10154000156825431560842594624D6100259461DA +:1015500094624D6180211C68C90521431960802176 +:101560000902996280214469C902214341611168DD +:1015700039401160D66815490E43D6601468194E7B +:101580003C401460D4682143D160C0214469C90241 +:10159000214341611068124908431060A0201C6873 +:1015A000400304431C601468344014601C680E4EF1 +:1015B00034401C60D4682143D160DA680243DA60A9 +:1015C00086E0C04600040048FFFFAAAA0000555567 +:1015D000001002400008004855555555AAAAAAAA6D +:1015E00050550000AFAAFFFFFFFFEBFF03FF000015 +:1015F000FFF9000024070020280700201C07002016 +:10160000200700202C0700203007002014070020AE +:10161000180700200A2D00D1FAE000D203E1802D46 +:1016200000D023E79023012540208026DB0565704C +:1016300098621A68760132431A60C046D2491C6922 +:101640001A6804400A401A60DA680A40DA60F02238 +:10165000002C36D11A680A401A60DA683243DA6020 +:101660001A6994461A690192C0461A690292C046E4 +:10167000C0461A690392C046C046C0461F69C046AC +:10168000C046C046C0461E691A680A401A60DA6839 +:101690001140D96063462200034212D1019B2A0007 +:1016A00003420ED10299023201420AD10399033258 +:1016B000014206D10432074203D1D632064200D09D +:1016C000D13AB24B9A70ACE0B14A137001F06AFEA5 +:1016D000AE4C2570AF4B0098A2B2240C5A819C816D +:1016E00005B0F0BD01F05EFE9023DB051A682A43C9 +:1016F0001A6080229D61196852030A431A60802291 +:101700000421D2009A621A680A431A6002229A617E +:1017100018680E3202431A604022996119680A4320 +:101720001A6008229A6180239B49DB024A699B4D1B +:1017300013439B4A4B6113682B401360D468994B49 +:101740001C43D460106828401060D0680343D36005 +:1017500080234A691B0313434B61934B934A1968D7 +:101760000A431A6000255D61B2E701F01BFE902379 +:101770000121DB051A6888480A431A601022996122 +:101780001968864E0A431A60042240219A611A6839 +:101790000A431A6008229A618022996119685201ED +:1017A0000A431A6080224169D2020A437C4942619D +:1017B0000A6832400A60CD687A4A1543CD600C68E9 +:1017C00034400C60CC682243CA6080224469120312 +:1017D00022434261744A754C15682C4300251460FD +:1017E0005561C0224469D202224342610868704AAE +:1017F00002430A60A0221868520302431A606D482F +:101800004A6902404A615A696B490A405A615FE776 +:1018100090238022DB051968D2010A431A608022D6 +:101820009A61002554E790238022DB051968D201D4 +:101830000A431A6080229A62F3E701F0B3FD902315 +:101840000121DB051A680A431A60102299611968A0 +:101850000A431A60042240219A611A680A431A60F6 +:1018600008229A6180221868520102431A60996125 +:1018700059E701F097FD90230121DB051A68474DD8 +:101880000A431A601022996119680A431A600422F7 +:101890009A6119683C3211431960082199619A6272 +:1018A0009A6180233C49DB024A6913433C4A4B61FD +:1018B00013682B401360D4683A4B1C43D460106803 +:1018C00028401060D0680343D36080234A691B031B +:1018D00013434B61344B354A19683848114319603A +:1018E000196801401960D9680A43DA603AE701F0E3 +:1018F00059FD90230121DB051A680A431A6004226E +:101900009961196811431960196811431960102110 +:1019100018680143196040219A611A680A431A60E5 +:1019200080229D611868520102431A6099618023E8 +:10193000194A1B0351690B435361CBE7DBB2022BFE +:1019400042D00025032B00D1C2E69735012B00D0F1 +:10195000BEE68022002510491203486902434A610D +:10196000114A116899431160D1681943D1605168D7 +:1019700019435160936111680B431360104B1D7044 +:10198000104B1A60A4E6C046FFEFFFFF00070020DF +:10199000080700200060004000100240FFFFAAAAD4 +:1019A000000400480000555500080048555555559D +:1019B0005055000003FF0000FFF90000AAAAAAAAE0 +:1019C000100700200C070020B023BF4A5B035169B9 +:1019D00040200B4353619022D2051368BB490B4052 +:1019E00013608023D1685B011943D16051680143C2 +:1019F0005160906111680B4308211360B44B19705A +:101A0000B44B1A600DE7BE78F978BD880E2E00D170 +:101A1000D2E030D8072E00D1DAE016D8022E00D15D +:101A200098E007D8002E00D186E0012E00D18DE08D +:101A3000A02684E0052E00D1B0E000D981E0042E7C +:101A4000F6D1280001F000FE7EE00A2E00D1AFE0C2 +:101A500008D8082E00D1BFE0092EE9D1280001F0F6 +:101A6000C1FA71E00C2E00D1BEE000D8ACE0280035 +:101A700001F086FA68E0222E70D017D8112E00D11E +:101A8000AEE008D80F2E00D19AE0102ED0D1280059 +:101A900001F0D4F958E0202E00D183E000D984E091 +:101AA000122EC5D1280001F08FF94DE0822E00D111 +:101AB000D1E032D8802E00D19AE000D9C4E0232EA4 +:101AC000B6D1854B9D4202D880231B021D4390272F +:101AD00000F0C6FD6B1CFF339BB20193FF057F4BEB +:101AE0007F4E5D6132687F4B00021343FF223360FB +:101AF0007369134018437061C0460823BB6200F04D +:101B0000AFFD08230135BB61019BADB29D42E6D11B +:101B10003368754A1340336016E0852E00D1A0E08B +:101B2000862E00D1A2E0842E00D081E70123280078 +:101B3000637000F095FF8CE0280001F0F5F9267045 +:101B4000C8E5280001F0CCF90026F8E7280000F0ED +:101B5000A3FFF9E7280001F027F8F5E75F4B022221 +:101B60005D6190235E48DB059A6206685D4A090262 +:101B70003243026042692DB2D2B211434161002D5D +:101B800001DA01229A62C046C04601229A61921887 +:101B90009A610368544A13400360D5E7280000F0B7 +:101BA00037FFD1E7514B1D70CEE7514B1D80CBE77E +:101BB000280000F0D7FFC7E7280001F087FDC3E742 +:101BC000280001F053FDBFE7280001F09FF8BBE7B4 +:101BD000280001F05DF9B7E7280000F0A1FFB3E7A6 +:101BE000280001F059F8AFE7280001F013F8ABE73F +:101BF000012190236170DB051868344E3040186075 +:101C0000DA6802203240DA608022D2009A6299615A +:101C1000986132484561C046C0462DB29A61002D98 +:101C200000DA9962C046C046C046C046C046C046BB +:101C3000902280212A4BD205C9001B6991620121A3 +:101C40001B0A9161A3707FE701232800637001F0F4 +:101C50009BF8A07078E701232800637000F044FF30 +:101C6000F7E701236370214B1B78EBE702236370D6 +:101C70001F4B1B88A3701B0AE37065E7B878F978DF +:101C8000BD88AA23062801D9FEF749FEFEF75AFCB3 +:101C90000445363D414D3B00FF201149AB004A69E8 +:101CA00003401448ED00024013434B619022C021D1 +:101CB000D205C90053690D400F490B401D435561C2 +:101CC0000023FEF72CFEC04600100240FFEFFFFF8E +:101CD000100700200C070020FF1F0000000800482C +:101CE0000004004800005555FFFFAAAA8C040020FC +:101CF0003604002003FF0000FFF900000022280046 +:101D000000F0C6FCDCE70122F9E7280000F006FE3F +:101D1000D6E7280000F0DAFDD2E701230021637046 +:101D2000280000F0E5FCA070CAE701216170F7E728 +:101D3000BA78BB88002A29D0012A44D1C748F9784B +:101D40004361C020C0011B18C5489BB2834202D822 +:101D50009023DB059A62C34BC34A18680902024309 +:101D60001A605A69D2B20A435A6190220821D205F8 +:101D70009162C046C046C0469161073991611A68B8 +:101D8000BA490A401A600023FEF7C9FD0121B34A8F +:101D90006170536190220420D2059062C020C0017E +:101DA0001B18AF489BB2834200D89162C046C04620 +:101DB000C046C0460121AB4B1B6991611B0A033130 +:101DC0009161A370DFE7AF23FEF7A9FDBD78022D77 +:101DD0000BD0032D29D0002D31D10223637001F0E7 +:101DE0009BFBA070000AE07073E4BD88A04BF878FC +:101DF0001D80A04BA04A1870984B000219680A4336 +:101E000098491A600E68984A32430A605D614A69CF +:101E1000D2B202434A6190220121D20591621A682E +:101E200096490A401A60002553E490230122DB05FD +:101E30009A618C4A8D4913680B401360F3E7B02513 +:101E400047E4BA780023012A01D1FEF768FD9A42DF +:101E50001FD0B133022A01D0FEF761FD8421012594 +:101E6000BB887E481943426941617E4992B28D61C7 +:101E70008D62426104228021134090220902D20522 +:101E8000002B03D091610023FEF749FD9162FEF71C +:101E900046FD01236370A933A3701300FEF73FFDD5 +:101EA000B878BB88042829D8FEF74CFB182803080B +:101EB0000C00734A13800023FEF731FD180001F077 +:101EC000B3F8F8E790230222DB059A61C046C046CA +:101ED000C046C046C046013A9A61ECE79022022310 +:101EE0000421D20563709162C046C0465B4B1B69FA +:101EF0009161A3709BB21B0AE370DCE7B223FEF78B +:101F00000EFDBD78FA78B988112D78D007D8012D4B +:101F10004DD0002D0DD0022D5AD082260FE6212D56 +:101F200063D0222D67D0122DF7D1022310206370C9 +:101F300068E00127534B04261B7810209F40FA438A +:101F4000514B01921D68AF626B6813406B6000F0EB +:101F50007CFBAF616B683B436B60FA20400000F094 +:101F600074FBFA20AF626B68019A400013406B600B +:101F700000F06BFBAF616B68013E3B43B6B26B6038 +:101F8000002EEAD10436FA2000F05FFBAF626B68E6 +:101F9000019AFA2013406B6000F057FBAF616B6849 +:101FA000013E3B43B6B26B60002EECD1C7E5354A2B +:101FB000354B12781E689540B56273681020AB43AC +:101FC000736000F042FBB56173682B437360BBE53F +:101FD00001232C4A637012782C4993402A4A9BB201 +:101FE0001268002002F0F4F933E601230020637048 +:101FF00001F094FB2DE6012310206370F8E7022323 +:102000000020637001F0E4FB60809DE5BB78BA8836 +:10201000042B1DD007D8022B40D045D8012B12D05D +:102020008723FEF77CFC072B47D003D8052BF7D17D +:10203000174B37E0082B45D0802BF1D101F0E6F8A3 +:102040000023FEF76CFC134A1278A2706370F7E766 +:10205000114B1B78A3700123F8E7C0460008004825 +:10206000FF1F00000004004800005555FFFFAAAA0A +:102070008A0400208804002055555555AAAAAAAA0A +:10208000A0040020100700200C070020040002001C +:10209000E5040020C4040020E6040020C14B1A70AF +:1020A0008322C14B1A70CBE7BE4BBF4D1A708323FE +:1020B0002B7001F01BF92B78CCE7BC4B1A70120A7D +:1020C0005A70BDE7B94B1A78A2705A78E2709A78C4 +:1020D0002271DA7862711A79A2715B79E371062351 +:1020E000B4E7B878F9780238BA888A23092801D980 +:1020F000FEF715FCFEF726FA050A10151C232F3BE8 +:102100004048AB4B1A800023FEF709FCA84B1B8804 +:102110001B0413439847F6E7FEF72AFB0300FEF77C +:10212000FEFBA448036899B213040B430360EAE77B +:10213000A0490B681B0C1B0413430B60E3E704234B +:1021400063709C4B1B681A0AA370E2701A0C1B0E7A +:1021500022716371D7E7022363705300954A1168B7 +:10216000CB181A88A2701B881B0AE370CBE7914B2F +:1021700049001B68CA52C6E78E4953000A68D31843 +:1021800002220B606270ECE78A4B49001868411824 +:1021900019600A80B7E78823FEF7C1FBBB78BA88CD +:1021A000022B09D0032B0ED0012B10D11304824A2D +:1021B00013600023FEF7B3FB7F490B681B0C1B0465 +:1021C00013430B60F5E701227B4B1A60F1E7832391 +:1021D000FEF7A5FBBA781300303B2F2B1AD8F878FE +:1021E000032814D8FEF7AEF916180211734B512AC2 +:1021F00000D17DE028D8312A57D00FD8002A37D017 +:10220000302A4BD0B423FEF78AFB6D4BEFE7B523A2 +:10221000FEF785FB6B4BEAE76B4BE8E7332A52D0BE +:102220004AD3502AEED1C022D20022801A7AA2705C +:10223000DA78E2705A7A22719A7A62719A78A27187 +:102240005B7CE371FFF746FA7F2A00D984E0702AAD +:102250005DD2602A3CD0612A43D0522AD2D180225A +:102260001B889200A3701B0A2280E370FFF732FAEA +:10227000FF21564BD1540132102AFBD10123514A80 +:102280005B425380504A53804C4A53804C4A53809F +:1022900001224F4B1A700023FEF741FBBA88110A46 +:1022A000D9721A730023FEF73AFBBA88110A5973E0 +:1022B0009A730023FEF733FBBA88110AD9731A7494 +:1022C0000023FEF72CFBBA885A740023FEF727FB85 +:1022D00080235B002380BB883C4AD35CA370FFF75C +:1022E000F9F980235B0023803A4B1B68DB78F5E724 +:1022F000C022D2002280DA7AA2701A7BE2705A7B66 +:1023000022719A7B6271DA7BA2711B7C99E72D4B5B +:1023100038785C682F4B1968CB787F2800D9B6E0F5 +:102320002D48009D0570002B0FD000200090982BA9 +:1023300000D1B2E004E000200090D02B00D1ACE04E +:10234000234B10301870FF2304E0244B19609023B6 +:10235000CB706F330093A0E00720104003281AD8F9 +:10236000FEF7F0F81C1E0217144B802A01D2FFF76B +:10237000B1F9872A34D97032D2B2072A01D9FFF7CE +:10238000A9F900222270FA789A72BA881A80FFF7A7 +:10239000A1F90B4BE9E7B523FEF7C1FA094BE4E7D6 +:1023A000094BE2E7C4040020E6040020C504002035 +:1023B00034040020300400209C040020600400202D +:1023C00074040020380400204C040020E70400209E +:1023D000A40400209004002098040020940400200D +:1023E000B888F978C6B28D19BE22102D2CDC0432C3 +:1023F000002929D0DD78033AFF2D25D19D780132BF +:10240000FF2D21D10022D7B2B94220D82F4D002272 +:10241000AC464F01013F1F727701000A6744987074 +:10242000DA705A729A721A80DA721A735A739A733D +:10243000DA731A745A745F60254B9D19A8540132DF +:10244000D3B28B42FAD300222270FFF743F9013254 +:10245000B7181F4D013FEF5DFF2FD4D0C122F3E726 +:10246000BB78002B04D0402B08D0D223FEF757FABC +:102470002370BA88174B1A70FFF72CF980235B0082 +:102480002380144B1B7829E78023FEF748FAD82BCA +:1024900000D050E780234C68CB7000234B72CB7880 +:1024A000902B01D0FFF716F9712A01D0FFF712F92E +:1024B000094BBA881B6859680A70BA885968120AA9 +:1024C0004A705A7A02325A72FFF704F9F80400206F +:1024D000E7040020A404002094040020F0B51C4D63 +:1024E000040005A8067868690902C0B2084368615B +:1024F00090200421C00581622900002A01D1013207 +:102500008262FF2500204A692D022A401A43114F9A +:102510004A61C046C046C046C046C046C046C046E6 +:10252000C046C046C0463A690133120A22544A697D +:10253000DBB22A4001301A43C0B24A61B042E8D946 +:1025400090230422DB059A61033A9A61F0BDC046EC +:102550000008004800040048F0B5184C0500606908 +:102560000E02C0B23043606180269020F600C005A4 +:1025700049B28661002901DA01218162FF26616981 +:102580003602314011436161C04600200C4FC04605 +:1025900039690132090A29546169D2B231400130E6 +:1025A0001143C0B261619842F1D990238022DB05CA +:1025B000D2009A6201229A61F0BDC046000800482C +:1025C00000040048F0B5174C05000E0060691F2993 +:1025D00025D8802131430902C0B2014361619021B5 +:1025E0000420FF26C9058862616936023140114323 +:1025F0006161C04600200C4FC04639690132090AAA +:1026000029546169D2B2314001301143C0B26161D5 +:102610009842F1D990230422DB059A61F0BDC0B243 +:102620000902DAE70008004800040048002302001D +:102630000002002A04D1002B01D0802318437047E8 +:10264000DB43511EDBB20A40F3E70023800080B277 +:10265000C046C04601339BB29842F9D17047FFFF94 +:1026600030B50722012409490868450D43086B402D +:102670004340C50FDBB26B40013A23404000D2B269 +:102680001843002AF1D10860C0B230BD9C0400207C +:10269000134B10B55861134B13481C6809022043B3 +:1026A00018605869C0B20143596190210820C905DA +:1026B0008862002A01D101328A62C046C046C04603 +:1026C000C046C046C046C046C04690220821D2053A +:1026D0009161073991611A6804490A401A6010BD76 +:1026E000000800480004004800005555FFFFAAAA52 +:1026F0000F4B58619023DB05002901D101229A621A +:1027000004229A62C046C046C046C046C046C04683 +:10271000C046C046C046C046C046C046C046054941 +:1027200008699A61000A033AC0B29A617047C046CC +:102730000008004800040048F7B504000E004D7A78 +:10274000C046C046C046C046C046C046C046C04659 +:10275000C0460022AA215848FFF79AFF00225521BF +:102760005648FFF795FF2402002220215248FFF728 +:102770008FFF23B20193EBB20093337AAB4216D2B0 +:102780008020009B0022737290210002FFF780FFDF +:102790000022802011000002FFF77AFF8020002233 +:1027A000F0210002FFF774FFC0460020FEBD444B3D +:1027B000444A196808200A43FF211A605A690A40EE +:1027C000A02109020A435A6190220121D205906298 +:1027D0009162C046C046C046C046FF2490619161E8 +:1027E0001A6839492C400A401A60019B009A1C4320 +:1027F0007368A4B2995C20000022FFF749FFC0462D +:10280000C046C046C046C046C046C046C046C04698 +:10281000C04600212000FFF76BFF0700C046C046FE +:10282000C046C046C046C046C046C046C0467368A3 +:10283000009A9B5C834217D0C046C046C046C04643 +:10284000C046C046C046C046C04600212000FFF733 +:102850004FFFB8420BD1C046C046C046C046C04636 +:10286000C046C046C046C0460135ADB283E7C0464B +:10287000C046C046C046C046C046C046C046C04628 +:10288000C046C046C046C046C046C046C046C04618 +:10289000C046C046C046C046C046C046C046C04608 +:1028A000C046C046C046C046C04600212000FFF7D3 +:1028B0001FFF0700C9E7C046AA8A0000558500002F +:1028C0000004004800005555FFFFAAAA70B5040097 +:1028D0000D000022AA210F48FFF7DAFE0022552141 +:1028E0000D48FFF7D5FE0022A0210A48FFF7D0FED1 +:1028F000002229002000FFF7CBFE00212000FFF777 +:10290000F7FE0500C04600212000FFF7F1FEA842B7 +:10291000F3D170BDAA8A00005585000070B504008F +:102920000D000022AA210F48FFF7B2FE0022552118 +:102930000D48FFF7ADFE0022A0210A48FFF7A8FED0 +:10294000002229002000FFF7A3FE00212000FFF74E +:10295000CFFE0500C04600212000FFF7C9FEA842B7 +:10296000F3D170BD55550000AA2A0000C9015208D4 +:102970000A43FF21F0B585B00293234B0500586947 +:1029800012B209021140C0B20143902459610121E1 +:10299000E405A1620331A162FF213F2658690902C3 +:1029A000D2B2084010435861B4460020174F01933B +:1029B0000391C046C046C046C046C046C046C04659 +:1029C000C0466346396926698908F6089E4319405E +:1029D000314329543E69411C019BC9B2360A6E54E9 +:1029E0005969039B01321940D2B2019B11435961CD +:1029F0000230029BC0B28342DBD20423A361033BBB +:102A0000A36105B0F0BDC0460008004800040048BE +:102A10000F4B30B59022586180230124D205DB0092 +:102A200093620C4B94621D680B480902284318609E +:102A30005869C0B201435961C04608219162C0463D +:102A400091611968054801401960946130BDC04624 +:102A5000000800480004004800005555FFFFAAAADE +:102A60000B4B10B580215861902301220424DB0513 +:102A7000C90099619A629C62C046C046C04605483A +:102A800000699C61000A9962C0B29A6110BDC0469B +:102A900000080048000400480E4B984202D88023EA +:102AA0001B0218430C4B0D4A58610D4B0902186864 +:102AB00002431A605A69D2B211435961C04690224A +:102AC0000821D2059162C04691611A6805490A4001 +:102AD0001A607047FF1F00000008004800005555AD +:102AE00000040048FFFFAAAA0A4B984202D880239C +:102AF0001B021843084B042258619023DB059A629D +:102B0000C046C046C046C046044908699A61000AEA +:102B1000C0B27047FF1F00000008004800040048D2 +:102B200070B504000D000D48AA21FFF7B5FF55212F +:102B30000B48FFF7B1FFA0210848FFF7ADFF2900C0 +:102B40002000FFF7A9FF2000FFF7CEFF0500C046D9 +:102B50002000FFF7C9FFA842F5D170BD5515000050 +:102B6000AA1A000070B504000D000D48AA21FFF755 +:102B700093FF55210B48FFF78FFFA0210848FFF76F +:102B80008BFF29002000FFF787FF2000FFF7ACFF35 +:102B90000500C0462000FFF7A7FFA842F5D170BD91 +:102BA00055150000AA0A00009023DB0530B51C680B +:102BB000134D09022C401C60DA68124C2A40DA607E +:102BC000114A506102229A62104A00B215682C43E1 +:102BD00014605469E4B2214351618021C9009961B4 +:102BE000002801DA01209862C046C046996201219E +:102BF000996149189961136805490B40136030BD0C +:102C0000FFEFFFFF00005555000800480004004892 +:102C1000FFFFAAAAF7B51C4B07001D781B4B0191BB +:102C20001C88202126002036B6B23000FFF7BCFFFA +:102C3000AA211748FFF730FF2000103080B2102182 +:102C4000FFF7B2FF2D0155211248FFF725FFEDB226 +:102C500020213000FFF7A8FF6419A0210C48FFF7DE +:102C60001BFFA0B22900FFF79FFF01993800FFF773 +:102C700013FF3800FFF738FF0400C0463800FFF7A5 +:102C800033FFA042F5D1F7BD8C04002036040020AC +:102C900055150000AA0A000070B50400B0200E000F +:102CA00000020A21FFF780FFC0200A210002FFF77F +:102CB0007BFFAA211248FFF7EFFE55211148FFF7CD +:102CC000EBFEA0210E48FFF7E7FEB0200E4B0002FE +:102CD0001D782900FFF768FFC02029000002FFF7D8 +:102CE00063FF31002000FFF7D7FE2000FFF7FCFE56 +:102CF0000500C0462000FFF7F7FEA842F5D170BDE1 +:102D000055150000AA0A00008C040020F8B5050043 +:102D10000E00194B02211C88A71CBFB23800FFF718 +:102D200043FFAA211548FFF7B7FE601C80B20121BE +:102D3000FFF73AFF55211248FFF7AEFE0221380097 +:102D4000FFF732FFA0210D48FFF7A6FE0D4B1978C3 +:102D50006418A0B2FFF728FF31002800FFF79CFE9F +:102D60002800FFF7C1FE0400C0462800FFF7BCFEA4 +:102D7000A042F5D1F8BDC04636040020551500002C +:102D8000AA0A00008C0400200D4B80225861902379 +:102D9000D200DB0500B29A61002801DA01229A62B2 +:102DA000C046C046C046C046064B802218699023E4 +:102DB000D200DB059A620122000AC0B29A61704714 +:102DC000000800480004004870B50400C0200D0051 +:102DD00000020121FFF7E8FEAA211548FFF7E4FEF3 +:102DE000C02000210002FFF7DFFE55211148FFF748 +:102DF000DBFEC02001210002FFF7D6FEA0210C4817 +:102E0000FFF7D2FEC0200C4B00021978FFF7CCFE72 +:102E100029002000FFF7C8FE2000FFF7B5FF0500DE +:102E2000C0462000FFF7B0FFA842F5D170BDC046F4 +:102E300055950000AAAA00008C04002070B504007B +:102E40000D001048AA21FFF7AFFE55210E48FFF7ED +:102E5000ABFEA0210B48FFF7A7FE29002000FFF7DB +:102E6000A3FEA020094B00021978FFF79DFE200069 +:102E7000FFF78AFF0500C0462000FFF785FFA84244 +:102E8000F5D170BDAAFA000055F500008C040020B1 +:102E900070B504000D001048AA21FFF785FE5521EA +:102EA0000E48FFF781FEA0210B48FFF77DFE2900A9 +:102EB0002000FFF779FE802000210002FFF774FE5A +:102EC0002000FFF761FF0500C0462000FFF75CFF10 +:102ED000A842F5D170BDC04655D50000AAAA000091 +:102EE0000D4B0E4A58610E4B0902186802431A60D6 +:102EF0005A69D2B21143902259618021D2051068DB +:102F00004901014311604021916291611A680549AC +:102F10000A401A607047C046000800480000555536 +:102F200000040048FFFFAAAA104B114A10B55861CF +:102F30001068104B09020343136053690E4CDBB257 +:102F40001943902351618021DB051868490108432A +:102F5000186040209862186820401860D8680143C3 +:102F6000D960136805490B40136010BD0008004884 +:102F70000004004800005555FFEFFFFFFFFFAAAA1D +:102F800070B505000E00134B00211C882000FFF7D0 +:102F90000BFEAA211048FFF7C7FF55210F48FFF786 +:102FA000C3FFA0210C48FFF7BFFF0D4B1978641831 +:102FB000A0B2FFF7F9FD31002800FFF7B5FF2800A8 +:102FC000FFF7E2FE0400C0462800FFF7DDFEA04246 +:102FD000F5D170BD3604002055550000AA2A000026 +:102FE0008C04002070B504000D000D48AA21FFF7E5 +:102FF0009BFF55210B48FFF797FFA0210848FFF7DB +:1030000093FF29002000FFF78FFF2000FFF7BCFE91 +:103010000500C0462000FFF7B7FEA842F5D170BDFD +:1030200055550000AA2A0000902270B50225D2054D +:103030009561C046C046C046C046C046C046012451 +:10304000094B94611E680949314319600849098890 +:103050005961C04695625861C04694621A68054934 +:103060000A401A6070BDC0460008004855555555C5 +:10307000A0040020AAAAAAAAF0B58BB00992012246 +:1030800008911100354B02901F78354B1B78049343 +:10309000344B1D68344B1B789940344B01911868B0 +:1030A000334BA9621B789A40029B102B4FD182624E +:1030B000012421002F4B05941B6806932E4B1B788F +:1030C00099408BB2210007932C4B1B689C462C4BDC +:1030D0001B789940002303911900029C202C05D1F4 +:1030E000049E059C1E41264236D08261089C202CFD +:1030F0000FD1002B01D11A4C6354069C2669079C02 +:10310000264206D0164C665C059C9C402643144C17 +:103110006654099C013FFFB2002C03D0002F01D15F +:10312000019CAC616446039E0133DBB2A661A662DA +:10313000082B05D101310A4BC9B25B5C0493002313 +:10314000002FCAD1019B8262AB620BB0F0BD029B23 +:10315000112BADD18261ABE78262C7E7E5040020A5 +:10316000C50400202C070020300700201C07002089 +:103170002007002024070020280700201407002033 +:1031800018070020F7B501221A4B1C781A4B196852 +:103190001A4B1B789A40102826D18A6201263500E6 +:1031A000174B01961B680093164B1B789D4000231C +:1031B000AC461D0020280DD1134E019F765D1E41A7 +:1031C0003E4215D08A610133DBB2082B02D10023C5 +:1031D0000135EDB26646009F013CE4B2BE61BE62BD +:1031E000002CE7D18A62F7BD1128D7D18A61D5E7D3 +:1031F0008A62E8E7E50400202C0700203007002061 +:103200001407002018070020C5040020F0B52C4B3F +:1032100085B01B78019301231E00019A1F00964080 +:10322000284A1168284A8E62127802921A0002987F +:10323000824094466046254A126890622448057888 +:103240002448AF4000689D408762046803941C00D6 +:10325000AC402500039C254305604568019CBD43A7 +:1032600045609C401D00A54008681C00284308607C +:103270004868B04348601068029999408C4021002A +:1032800001436046116051688143134851600078E2 +:10329000124A984083401268116899431160D168BE +:1032A0000B43D36080220E4B1A70002319000D4A85 +:1032B00013700D4A99540133202BFBD105B0F0BD9A +:1032C000300700202C070020200700201C070020CA +:1032D00018070020140700202807002024070020DA +:1032E000E6040020E5040020C504002010B52B4BA7 +:1032F0001B78082B4ED013D8294C032B39D006D875 +:10330000012B28D0022B2AD0254BEE223AE0062BA7 +:103310003AD03DD8042BF7D101222021112021E001 +:103320000F2B28D008D81E4C0D2B1FD000220E2B9F +:10333000EAD12021102015E0802B06D0184CFF2B5D +:1033400006D0102BE0D100221FE0FFF75FFF10BD79 +:10335000F0232370FBE72020FFF714FF04E0012295 +:1033600000212020FFF788FE8223F2E700221100CF +:10337000F7E70122DDE7002220211120FFF77CFE84 +:103380008222074B1A70E2E7012220210800E9E7B8 +:103390001020E1E71120FFF7F5FEF1E7C40400205B +:1033A000E6040020BC224D4BD203996AF0B50A43D3 +:1033B0009A629A6A4A490A409A62B022596952034B +:1033C0000A435A6119009023464ADB051278102AF5 +:1033D00003D100221A609A60DA601A684248012418 +:1033E00002401A608022D868D2010243DA601A686B +:1033F0003E483F4F02401A608022D8685203024381 +:103400000420DA601A68A2431A60DA682243DA609C +:103410001A6882431A60DA680243DA6010221D6873 +:1034200095431D60DD682A43DA6040221D6895439C +:103430001D60DD682A43DA601A682E4D2A401A6042 +:103440008022DD68D2042A43DA601A682A4D2A40B5 +:103450001A608022DD68D2052A43DA601A68274D97 +:103460002A4080251A60DA68ED022A43DA60244A8D +:103470001668A6431660D6683443D4601E683E4082 +:103480001E60DC683C40DC6080234C691B032343E6 +:103490004B611C4B1C4C1E681C4F26431E601E6853 +:1034A0003E401E60DE683443DC604B691D434D6165 +:1034B0001368174D2B401360D468164B1C43D4601F +:1034C000116829401160D1680B43D36013688343AE +:1034D0001360D3681843D060F0BDC04600100240AE +:1034E000FFFFA1FF08070020FFBFFFFFFFFFEFFF67 +:1034F000FFEFFFFFFFFFFFFBFFFFFFBFFFFFFBFF34 +:10350000000400480008004855555555AAAAAAAA23 +:10351000FFFFAAAA000055550D480E4A038810B5B2 +:103520000D49934202D10A7801320A709022042494 +:10353000D205013394620380084B18699461084CEA +:103540000B7862691B02D2B2134380B2636110BD73 +:103550008A040020FFFF00008804002000080048C3 +:1035600000040048F7B50D00042701924C7A0002D0 +:1035700003B2A6B200932B7AB34202D26C7200203F +:10358000FEBD00986B682043195D80B2019B98478F +:103590006B681A5D094B824205D01A683A431A607B +:1035A00002229A61E7E71A680134BA431A60DA68BE +:1035B00001363A43DA60E4B2B6B2DCE70004004810 +:1035C000F7B50D001600FF27000203B24C7A0193F5 +:1035D0002A7AE3B2A24202D26B720020FEBD200022 +:1035E0006A683840D15C019B0134184380B2B0470F +:1035F000A4B2EDE7022907D10F4B104A984218D028 +:10360000904209D1180007E0032906D10A4B0B4963 +:103610000B4A98420BD1080070470429FCD1064B95 +:10362000064A984205D006499042F4D0054A88429D +:10363000E6D11000F0E7C046380400204C0400201A +:10364000600400207404002070B506000D000524FD +:103650003000013CFFF798FBE4B229003000FFF78F +:10366000A3FA6D08002CF3D170BDFFFF70B5040004 +:10367000A0200D0000020221FFF7E6FFAA2110485A +:10368000FFF70AFA55210F48FFF706FAA0210C4868 +:10369000FFF702FAA0200C4B00021978FFF7D4FFC5 +:1036A00029002000FFF7F8F92000FFF71DFA0500B8 +:1036B000C0462000FFF718FAA842F5D170BDC046F9 +:1036C00055150000AA0A00008C04002070B5040003 +:1036D000C0200D0000020521FFF7B6FFAA210D480A +:1036E000FFF762FA55210C48FFF75EFAA02109485E +:1036F000FFF75AFA29002000FFF756FA2000FFF7DB +:1037000043FB0500C0462000FFF73EFBA842F5D171 +:1037100070BDC04655550000AAAA0000F7B50123A8 +:103720000225294F01923A780091054393400421E4 +:10373000A020264E2D049BB229433268C00100F020 +:1037400047FE040001283DD13B7809209C400543F9 +:103750007830A3B232682900FF3000F039FE04004F +:1037600001282FD13B7832689C402900A3B2002069 +:1037700000F02EFE0400012824D1009B180AFEF759 +:1037800055FF3B7832689C402900A3B200F020FE30 +:103790000400012816D16B461878FEF747FF220077 +:1037A0003B7829009A4093B2326800F011FE0198EC +:1037B000FEF73CFF3B7832689C402900A3B200F042 +:1037C00007FE0400E0B2FEBD100700200C07002039 +:1037D000F7B501230225274F00903A780191054360 +:1037E00093400421C020244E2D049BB2294332680B +:1037F000800100F0EDFD0400012838D109231D43AC +:103800003B78C0209C403268A3B22900400000F001 +:10381000DFFD040001282AD13B7832689C40290052 +:10382000A3B2002000F0D4FD040001281FD1019BA9 +:10383000180AFEF7FBFE3B7832689C402900A3B2D1 +:1038400000F0C6FD0400012811D16B461879FEF77F +:10385000EDFE22003B789A4093B2009A144309226D +:10386000E1B209041143326800F0B2FD0400A0B2D5 +:10387000FEBDC046100700200C070020C74BC84AF9 +:10388000F0B51A60C74A8BB01A6002225A60A022B3 +:1038900012019A600493049BDB68002BFBD19022F9 +:1038A000049BC14912031960C04B186802431A6097 +:1038B00080220991920219681142FCD001225968B4 +:1038C0000A435A608022596852020A435A60802291 +:1038D000596852030A435A608022196852040A4305 +:1038E0001A608022920419681142FCD01121B04A5A +:1038F000B04C11605A680E398A43110002220A4303 +:103900005A608022196B0A431A638022D969120413 +:103910000A43DA61A84BE381BC231B689847A74B95 +:103920006382A74B238262B6FFF73CFDF022A54BD2 +:103930001A70049B099AA44E1A6032782023110051 +:103940009943D2291BD1A149A148C978C37802243F +:10395000FF2904D1FF3B1C00631E9C41E4B29D4B38 +:10396000DB78FF2B00D003249B4BDB78FF2B00D0B0 +:1039700004249A4B9A4F1C703860D22A56D0337860 +:10398000F22B05D10022023B3370954B1B68DA7095 +:103990003578D02D00D0D6E1914E3068C378802B99 +:1039A00000D0D0E18D4B1978FFF724FE0023306062 +:1039B000C570068804004372C07AF5B2103820281A +:1039C00000D9BEE1FCF7D8FD12014A018D01910139 +:1039D000BD01BD01BD01BD01BD01BD01BD01BD01F7 +:1039E000BD01BD01BD01BD013500420050005500C3 +:1039F000580062006900A600BC00C400BD01BD0102 +:103A0000BD01BD01BD01BD01CB002100FFF7F2FDED +:103A100001230135EDB2A542F7D3002B00D0386069 +:103A200080223B68DA70D0233370A8E70023012599 +:103A3000F1E7E17B0F2900D9A6E109013143237A9F +:103A4000A278C9B26068FEF787FD0BE03C23E17BFA +:103A50000A009A4300D097E1237AA278294360684C +:103A6000FEF7B0FD607262E0237AA278E17B294321 +:103A7000E8E7E17B3F23EBE7227AE17BA378009242 +:103A8000002229436068FEF729FDEBE7E17B227AFB +:103A9000A378294300920122F4E7524BE17B586955 +:103AA00029430E02C0B230436568A278277A586174 +:103AB000902004266031C005C9B286621E001F290D +:103AC00001D801218162FF205969000201401143A0 +:103AD0005961C046444900238C46C046C046C04692 +:103AE000C046C046C046C046614609690132090A5F +:103AF000E9547169D2B2014001331143DBB2716103 +:103B00009F42EAD290220421D2059161033991614A +:103B100063720CE00025267A67687608FFF7FCFCE4 +:103B20000135EDB238800237AE42F7D265722C4BC8 +:103B30001B6819889A7A52181A80D822DA7002E122 +:103B4000E17B237AA27829436068FEF70FFF89E7BB +:103B5000E17B237A29430131A278FF31F4E7A07891 +:103B60002D0228436668277AFFF75EFA1D4A9020E7 +:103B7000002304259446C0058562C046C0466246BF +:103B8000116985618AB2120AF2545A1C0233D2B208 +:103B9000DBB2B1549F42EFD2BAE7C04600300040DA +:103BA000CCCC000055550000AAAA0000001002402D +:103BB00000200240006000403CA5FFFF41080008D3 +:103BC00085080008E6040020A40400204C0400201E +:103BD000380400206004002074040020A2040020A7 +:103BE000900400200008004800040048E37B1E2BDE +:103BF0000BD1C020B6092233F1B200029D43FEF77B +:103C0000D3FF237AA278802131E71C2B0FD1A0208B +:103C10008121C001FEF7C8FF8020F609F1B2000241 +:103C2000FEF7C2FFA0200021C001FEF7BDFF8021EA +:103C3000E27B49421F2A05D00D43EDB2237AA278D8 +:103C40002900FFE67022A02095430D432188C00182 +:103C50000909C9B2EDB2FEF7A7FFEFE7E37BFE2B40 +:103C600000D064E77609F1B2DE48FEF715FF1F21A8 +:103C7000636829409C46DC4B09025A69A678D2B297 +:103C80000A43277A80215A619022C900D2059161A6 +:103C90000121FF209162033191625A6900020240C2 +:103CA00032435A61C0460022D04D0390C046604660 +:103CB00029690136090A815459690398F6B201400D +:103CC00001323143D2B259619742EFD2902304219D +:103CD000DB0599618021C9009962012199616272B5 +:103CE00025E7237AA2786021C1E6E37B002B20D16F +:103CF0008033F6091D43F3B20293FF20029BBB49B8 +:103D00009B004A690340BA48024013434B61C020FC +:103D10009021029BC905C000DB004A690340B548F9 +:103D2000024013434B61227AA378290000920022BB +:103D3000A8E6012BE1D140217604760E31430291B1 +:103D4000DBE7C323E370AC4B1D78F02D00D00DE30F +:103D5000AA4E3468E378982B00D007E3A84B2000E4 +:103D60001978FFF747FC00233060C370E07AE570F4 +:103D700010382678042800D9F6E2FCF7FDFB07008E +:103D8000FB0189029102EA00C423DBE7E37B002BFD +:103D900006D130008038C0B29A4A2100FFF7E2FB1A +:103DA000E37B012B06D130008038C0B2964A210057 +:103DB000FFF706FCE37B032B06D130008038C0B24E +:103DC000924A2100FFF7FCFBE37B042B06D1300075 +:103DD0008038C0B28E4A2100FFF7C4FBE37B0A2B78 +:103DE00006D130008038C0B28A4A2100FFF7E8FBD4 +:103DF000E37BFD2B15D13F20238830409B090593A1 +:103E00006B4680261B7D06430793677ABBB20393FC +:103E100033021BB20893237A039A934200D39FE0A4 +:103E20006772E37B1E2B06D130008038C0B27A4A1D +:103E30002100FFF797FBE37B0C2B17D11F203040AD +:103E400080260643C0202588A5216D09EDB2C0015A +:103E5000FEF7AAFE29007148FEF7A6FE677A350232 +:103E60003D43237ABB4200D3EDE06772E37B1C2B1A +:103E70003BD1A02023888121DB09DBB2C00105935F +:103E8000FEF792FE802005990002FEF78DFEA0202D +:103E90005421C001FEF788FE677AAA21BBB26048B0 +:103EA0000393FEF781FE55215E48FEF77DFE20213B +:103EB0005B48FEF779FE802333431B021BB2079356 +:103EC000237A039A934200D3DAE080209021000203 +:103ED0006772FEF769FE802000210002FEF764FE93 +:103EE0008020F0210002FEF75FFEE37B1F2B30D124 +:103EF000A0202188C0010909C9B2FEF755FEAA21F8 +:103F00004748657AFEF750FE55214648FEF74CFEBD +:103F100043482021FEF748FE702380209E43404204 +:103F2000304340B20302AFB20593237ABB4200D3C1 +:103F3000EEE08020902100026572FEF735FE8020C1 +:103F400000210002FEF730FE8020F0210002FEF783 +:103F50002BFEF4232288E370A37A9B18238005E2CA +:103F600000213148FEF720FEAA213048FEF7B8FFB5 +:103F700055212F48FEF7B4FFA0212C48FEF7B0FFD3 +:103F80006B46187D2B4B0799C01880B2FEF70CFECC +:103F9000089D63683D43ADB2D95D2800FEF7A0FFE0 +:103FA000C0462800FEF7F0FE06902800FEF7ECFE63 +:103FB000069B8342F4D163680699DA5D0B4B8A4213 +:103FC0003AD1039A1968013292B2039204229143C2 +:103FD0001960D96801370A43DA600222FFB29A6297 +:103FE00019E7C046FF3F00000008004800040048F1 +:103FF00003FF0000FFF90000A4040020900400204B +:10400000A2040020E52F0008CD360008812F00080B +:10401000912E00083D2E0008C92D0008FFFF00006A +:10402000AA8A00005585000069FD00005555000072 +:10403000AA2A000069FDFFFF042219680A431A60DA +:1040400002229A61E7E6AA21CF48FEF7ADFD55218D +:10405000CE48FEF7A9FDA021CB48FEF7A5FD636879 +:104060002800D95DFEF7A0FDC0462800FEF78CFEB3 +:1040700003902800FEF788FE039B8342F4D1F0E60C +:10408000A0205421C001FEF78FFD079DA0213D43D4 +:10409000ADB22800FEF788FD63682800D95DFEF701 +:1040A00083FDC0462800FEF76FFE06902800FEF74D +:1040B0006BFE069B8342F4D16368069ADB5DB44DC8 +:1040C00093420FD1039B2A6801339BB203930423CD +:1040D0009A432A60EA6801371343EB600223FFB278 +:1040E000AB62EDE6A0208121C001FEF75DFD8020DE +:1040F00005990002FEF758FDA0205421C001FEF7EB +:1041000053FD04232A6813432B600223AB61D7E6D7 +:10411000059EA0212E43B6B23000FEF745FD636830 +:104120003000595DFEF740FDC0463000FEF72CFE22 +:1041300003903000FEF728FE039B8342F4D16368AE +:1041400003995A5D924B8A420DD104211A680135B8 +:104150008A431A60DA6801370A43DA600222EDB254 +:10416000BFB29A62E1E604211A680A431A60022289 +:104170009A61DAE6E37B002B04D1864A2100300005 +:10418000FFF71EFAE37B012B04D1834A21003000A4 +:10419000FFF716FAE37B022B04D1804A210030009E +:1041A000FFF70EFAE37B042B04D17D4A2100300097 +:1041B000FFF706FAE37B0A2B04D17A4A210030008C +:1041C000FFF7FEF9E37B0B2B04D1774A2100300087 +:1041D000FFF7F6F9E37BFE2B00D0BAE6218873489F +:1041E0004909C9B2FEF758FCAA217148657AFEF761 +:1041F0000FFC55216F48FEF70BFC6D482021FEF7A0 +:1042000007FC1F2030400302AFB20593237ABB4264 +:104210000DD2657290210020FEF7FAFB0021080004 +:10422000FEF7F6FBF0210020FEF7F2FB91E6059E7B +:10423000A0212E433000FEF7EBFB63683000595D90 +:10424000FEF7E6FBC0463000FEF70AFC03903000A4 +:10425000FEF706FC039B8342F4D1636803995A5D21 +:104260004B4B8A420DD104211A6801358A431A60EA +:10427000DA6801370A43DA600222EDB2BFB29A620D +:10428000C4E704211A680A431A6002229A61BDE752 +:1042900030006030484A2100C0B2FFF791F958E67B +:1042A000E37B042B06D130008038C0B2434A2100A2 +:1042B000FFF786F9E37B052B04D1404A210030004B +:1042C000FFF77EF9E37B062B06D130008038C0B2C1 +:1042D0003B4A2100FFF774F9E37B072B04D1384AEE +:1042E00021003000FFF76CF9E37B002B1CD1FF228B +:1042F00080331E4323882648DB09DBB29D004169D9 +:104300002A40304DDB0029400A4342619022C02000 +:10431000D205C000516903402B4801400B43536153 +:1043200021003000FEF708FAE37B012B00D010E6F5 +:104330002388174A5B04580E40230343FF209B0049 +:10434000516903401F4801400B4390215361C90547 +:104350004B691D4A30001A4080239B0013434B6178 +:104360002100FEF7E9F9F4E5C323E370174B1B784E +:10437000F02B01D1FFF7DDFA832B01D0FFF7D9FA3B +:10438000FEF7B4FFFFF7D5FA55D50000AAAA000042 +:1043900000040048652B00086D3600080D2D00084C +:1043A000212B0008992C0008152C0008FF3F000065 +:1043B000AA0A000055050000A92B00081D290008C5 +:1043C000CD28000803FF0000FFF90000E6040020EC +:1043D000F0B5474680B4061C081C000C102801D517 +:1043E000162700E004270007000F8046FF20014049 +:1043F0005468251C1D439C43F60313850AD5C0460B +:10440000C046C046C046C046C046C04694801383DE +:10441000958002E0012000F081F801390AD4381CAF +:1044200000F07CF8C046948013839580C046C04657 +:104430007600E2E7381C013800F070F894801383AE +:104440009580042000F06AF8108A184001D0FF20FF +:1044500061E0C046C046C046C046C046C0469480E3 +:104460009580108A184055D001200226B04552D0C0 +:104470000921168A1E40FCD1012000F04FF89480DB +:10448000C0469580C04603E0C046C046C046C04610 +:10449000948095807600108A1840EFF300804000E9 +:1044A000C00F0643381C023800F038F8948095801D +:1044B000022000F033F80139EAD5138594800120F9 +:1044C00000F02CF813839580301C80210223994042 +:1044D0000E401BD1002341085E4149085E41490856 +:1044E0005E4149085E4149085E4149085E4149080C +:1044F0005E4149085E4149085E41760808D340089C +:10450000FF21084048400002013004E00E2002E094 +:10451000092000E0002080BCB846F0BD0138FDD184 +:104520007047C04603685A0003D45B005B08C0189C +:104530007047802212061343F9E7C046F0B557468C +:104540004E46DE464546E0B5814683B09246002998 +:1045500025D04B1E9B46002701935B46FB18DC0FC2 +:10456000E4184B466410E5005E193000FFF7DAFFEF +:10457000019B8046A3420BD0280008304844FFF737 +:10458000D1FFD04506D80138504509D2671CE4E771 +:10459000504505D9A74202D0631E9B46DDE70026A1 +:1045A000300003B03CBC90469946A246AB46F0BDF5 +:1045B000012809D0022805D0002801D0002070472A +:1045C0000248FCE70248FAE70248F8E7A54C000871 +:1045D000BD4C0008B14C000830B5234B83B005003A +:1045E0008C1E002B26D001A9200000E000BF00286F +:1045F0001CD001992200FFF7A1FF041E16D0FFF77F +:1046000091FF6368A864012B2AD0201D002B23DBB7 +:10461000FFF788FF0023E8642B650368002B0FDB9E +:10462000FFF780FF2861002003B030BD0023092080 +:104630002B61F9E70D480E49091AC9100191D9E714 +:104640001801000FFFF7B4FF2861431E98410823AB +:10465000404298430930E7E70123E8642B65DCE733 +:10466000002305202B61DFE700000000A0550008B3 +:1046700070560008036810B50400DA0705D4483006 +:104680009B070ED500F06CFC23685A070ED51A075D +:1046900013D5DB0604D42000D130FF3000F06CFCD1 +:1046A00010BD00F059FC23685A07F0D42000D03028 +:1046B00000F05AFC23681A07EBD420005130FF3079 +:1046C00000F056FC2368E4E70368002B00D01B18B9 +:1046D00018007047092070477047C04670B5040045 +:1046E0000D0008E02B6C2A00636121000120236982 +:1046F0009847082807D1296C2000FFF76DFF002894 +:10470000F0D000F083FE0728FBD10020296CFFF7D2 +:10471000E3FF281D00F00AFCF0B5CE46474680B501 +:10472000C3682E4C9846A5448369060014000431E2 +:10473000402205A8994600F071FE002304AD0493C1 +:1047400023E0F0222B6C5200736129007CA800F05A +:1047500065FE7CAA31003369200098478A9B0700D8 +:104760006B6403934B4600950193320033002100A4 +:104770000120C04700281FD1F0227CA95200280048 +:1047800000F04CFE0024082F1FD1296C3000FFF7E9 +:1047900023FF611E8C41070009340028D1D0AB6B88 +:1047A00010216B644B462143019300953300320086 +:1047B0000120C047002800D009273800F5239B00BE +:1047C0009D440CBC90469946F0BD072FF4D12000C3 +:1047D000296CFFF781FF05A800F0A8FB2CFCFFFF68 +:1047E000406C704770B5CB6BFAB00B6404000E00E0 +:1047F0004022043103A800F011FE01235B42029322 +:1048000006E002AA210023699847050008280AD17A +:10481000129B200019000193FFF7DEFE0028F0D064 +:1048200009207AB070BD02A8FFF724FF062DF7D14A +:1048300031002000FFF752FF10B58261DA6BC160D2 +:104840001A6419000022FFF767FF10BD436970B5B5 +:104850000B64C36804000D00002B15D10A00236906 +:10486000010002209847072807D0082803D1290013 +:104870002000FFF733FF00F0C9FD0020296CFFF78F +:104880002BFF281D00F052FB0122FFF745FF00F02F +:10489000BDFDC046C36810B5002B05D0CB6B002210 +:1048A0000B64FFF739FF10BDFFF79CFFFBE7C04625 +:1048B0007047C046836810B5002B02D0010001206C +:1048C000984710BD012906D0002906D003390220DF +:1048D000012900D970470120FCE7002B08D10F2ADD +:1048E00006D8920082185268009B00201A60F1E7F7 +:1048F0000220EFE700B585B003AB0A00009300216A +:104900000023FFF7DFFF039805B000BD012906D0A3 +:10491000002906D003390220012900D9704701205F +:10492000FCE7002B08D10F2A06D8009B92001B68D9 +:10493000821853600020F1E70220EFE700B585B050 +:1049400003AB039200930A0000230021FFF7DEFF70 +:1049500005B000BD70B51A4CD36BA54413640600B6 +:104960000D0019A8111D402200F058FD01235B42E3 +:10497000189314E00C2118A802AAFFF7DFFF290002 +:1049800018A8B047002812D1069B18AA02A908301F +:1049900001939847040005280AD0092807D0289BCE +:1049A00002A819000193FFF717FE0028E2D009249E +:1049B00018A8FFF75FFE200090239B009D4470BD68 +:1049C000C0FDFFFFF0B5DE4657464E464546E0B512 +:1049D000160003220D0011008BB01F000193EB6C39 +:1049E00001401C1D009107A91B688B460894002FED +:1049F0006BD01A0C1B045946079302230B72FD332C +:104A000013409B004A72E418009B022B00D1AC6B50 +:104A10002B6DDB0747D40023059308330340029333 +:104A20002768002F00D112E1019B022B49D0638837 +:104A3000278898460434012340469A469843AB6C35 +:104A40000F21994681443000FFF754FF0021814532 +:104A500006D839005346994349448842894149421E +:104A600043465A0002231340012217403B43012BC7 +:104A70003AD0002B30D0022B1BD12368009A5F0064 +:104A80007F08002A67D1002906D0029A002A00D1A7 +:104A90007CE0002F00D1A9E0002B00DA04340137BC +:104AA000BF00E419BCE75946300000F00BFB0028BA +:104AB00010D009200BB03CBC90469946A246AB46AC +:104AC000F0BD636808349846B5E71B0207935B4660 +:104AD0001A8199E70820EDE7009B002B02D00029FE +:104AE00000D08DE004349BE7009B002B1AD10029F5 +:104AF00016D02368DF0F63689A1CDAD02A00583278 +:104B00000692013300D1BDE0201DFFF7DDFD06ABAD +:104B100001003A00280000E000BF002800D082E039 +:104B200008347DE70D2130002F6AFFF7E3FE87424E +:104B3000F6D1AB6A9C42F3D12000FFF7F3FC0F21C2 +:104B400002003000FFF7FAFE30002A000021FFF7D4 +:104B5000F5FE0720AEE72B6A0D2130009846FFF7DF +:104B6000C9FE804501D0236896E7AB6A9C42FAD122 +:104B70000023EB6204332B63231DAF626B63236856 +:104B8000002B00DA86E00123059388E7002F2DD063 +:104B900058239C46AC4463460393231D9946002347 +:104BA000984606AB220004933B004C464746B2466B +:104BB00098462E00914603E004342F00454542D02C +:104BC000039B20000693FFF77FFD049B010000225A +:104BD00030007D1C00E000BF0028EDD04346B84601 +:104BE00035004C4656461F009845BCD10D2130007B +:104BF000FFF780FE069B28626B62AC62062059E7D5 +:104C00002000FFF78FFC04340700AC63280000E0AD +:104C100000BF002800D14CE730003A000F21FFF719 +:104C20008DFE072046E707000D213000FFF762FEEA +:104C30002862022F2BD1069BEB622B002C336B6278 +:104C4000AC62062036E735004C465646CEE759465C +:104C5000300000F037FA002800D02AE7059B002B2F +:104C600000D137E70F213000FFF744FE0E2102008C +:104C70003000FFF763FE3000094A0F21FFF75EFEA8 +:104C8000072017E70D213000FFF734FE2862069B4E +:104C90006B62D5E738000130800020184DE7C04630 +:104CA0000000000010B50023FFF78CFE10BDC046C9 +:104CB00010B50123FFF786FE10BDC04610B50223D4 +:104CC000FFF780FE10BDC046F0B5CE46474680B522 +:104CD0000500C3B014001E00012955D000294BD097 +:104CE000032922D0042949D1002B47D1102A45D8C5 +:104CF000102203681A4200D0F1E020AF380000F023 +:104D00003DF900230120A96B02009A40144203D010 +:104D10000E689A00BE5004310133042BF4D13800E0 +:104D2000A96300F029F9002029E0032B26D11404FF +:104D3000230C160C9846F318102B1FD80822036872 +:104D40001A4200D098E020AF380000F013F9424634 +:104D5000AB6BF6001C00002A08D0D400F21A1C1914 +:104D6000BA181968D15004339C42FAD1AC633800A8 +:104D700000F0FEF8002002E0002B24D0022043B017 +:104D80000CBC90469946F0BD130C14049846240CB4 +:104D9000012E2ED0052EF1D11B19202BEED8424624 +:104DA0000F2A70D9A146002C7ED1AA6B4346AA6374 +:104DB0000F2B00D89AE04B46002BDBD0684600F062 +:104DC000D3F80020DBE700231004A96B000C0136A8 +:104DD00032009A40104204D00F689A00AA18576017 +:104DE00004310133102BF3D10020A304C7D4A963ED +:104DF000C5E71B19102BC1D843460F2BBED82B6813 +:104E00001E4206D00322280093432B60483000F056 +:104E1000A5F820AF380000F0A1F8AA6B002C24D030 +:104E20004346DB00FF180023994664000023A400DA +:104E3000D158F95004339C42FAD14B4612196F46AF +:104E4000002B0FD04046102800D210204B46D9002E +:104E500000231038C0003818D458C4500433994285 +:104E6000FAD15218012EA1D120AF04323800AA6322 +:104E700000F072F8002082E7934303605130FF3066 +:104E800000F078F85FE7102B3BD910225242914690 +:104E900099442B68194208D0022228008B431343FF +:104EA0002B60483000F05EF82B6804221A4221D1B2 +:104EB00043460F2B03D820AF380000F053F86F465D +:104EC000380000F053F810244346AA6BE41A002C73 +:104ED000B8DD434620AFDB006400FF18A6E793432C +:104EE0000360D130FF3000F049F806E720A800F059 +:104EF00037F860E7280093432B60D03000F036F895 +:104F0000D6E72B680B4207D0022228008B431343BD +:104F10002B60483000F026F820AF380000F022F86F +:104F2000A146AA6B002C00D07AE73FE7011C343180 +:104F300038C9043B9C461D60A646011C20313CC973 +:104F400090469946A246AB46011C0831FCC941680F +:104F50000068E54600BDC0467047C0467047C04681 +:104F60007047C0467047C0467047C0467047C0464D +:104F70007047C0467047C0467047C0467047C0463D +:104F800001B401A801B585B0FFB408A841464A465E +:104F900053465C4665463EC001A83EC80F98009047 +:104FA00000230CB401A9FFF71DFC109B12B0184799 +:104FB00001B401A801B585B0FFB408A841464A462E +:104FC00053465C4665463EC001A83EC80F98009017 +:104FD00000230CB401A9FFF739FC109B12B018474D +:104FE00001B401A801B585B0FFB408A841464A46FE +:104FF00053465C4665463EC001A83EC80F980090E7 +:1050000000230CB401A9FFF745FC109B12B0184710 +:1050100001B401A801B585B0FFB408A841464A46CD +:1050200053465C4665463EC001A83EC80F980090B6 +:1050300000230CB401ABFFF7FFFB109B12B0184725 +:1050400001B401A801B585B0FFB408A841464A469D +:1050500053465C4665463EC001A83EC80F98009086 +:1050600000230CB401AAFFF775FC109B12B018477F +:10507000027A0300002A0BD1427A002A0FD0013AAB +:1050800042724268111D416003211268017202E000 +:10509000013A02720268100E12021A607047B020C4 +:1050A000FCE7C04600B585B003AB00930C2200239B +:1050B0000021FFF707FC039805B000BD10B5FFF70E +:1050C000F1FF10BDF0B557464E464546DE4600237B +:1050D000E0B587B003930F339846083B9946802389 +:1050E0001B0306000F009A463800FFF7C1FF0400BB +:1050F000B02800D1C3E003062AD5030042469343FB +:10510000DBB2802B00D171E0902B3DD0A02B00D1E1 +:1051100085E0B02B50D0C02B00D196E003004A466A +:105120009343DBB2D02B0AD15346024001321A43DB +:10513000052301213000FFF7C7FD0028D4D0092442 +:10514000200007B03CBC90469946A246AB46F0BD55 +:10515000FF23820013401D1D05AB9B4600930D22CB +:10516000002300213000FFF7ADFB630620D4059B30 +:105170009C46654405955B460D2200930021002363 +:105180003000FFF7C3FBAFE7833B03400D2BD6D0C6 +:1051900005AD02400095002300213000FFF792FB8F +:1051A000009500230D2200213000FFF7AFFB9BE7A5 +:1051B000059B5D1B0595DEE7B12874D0B22800D1B0 +:1051C000CFE0B32800D184E0FC230340B42BB6D059 +:1051D0004A465346024001321A430121012330005E +:1051E000FFF772FD002800D17EE7A8E7040238002F +:1051F000FFF73EFF802520432D02A8429FD00401E7 +:105200000005020C002300213000FFF75DFD00289F +:1052100095D12C4200D167E70123039364E7FF2374 +:105220004A461B011900824311410A001A40030734 +:1052300002D58023DB011A43002300213000FFF751 +:1052400043FD002800D14FE779E7C6284CD0C72896 +:105250005ED003004A469343DBB2C02B6DD0C82812 +:1052600072D0C92800D06AE73800FFF701FFF023A9 +:1052700002031B03134042460240013257E7039BDF +:105280000024002B00D05BE705AD00950E22002125 +:105290003000FFF717FB009500230F22002130009C +:1052A000FFF734FB4CE73800FFF7E2FE002800D19F +:1052B00045E7030042469343DBB2002B00D03EE7B4 +:1052C000020000213000FFF7FFFC002800D10BE7AF +:1052D00035E73800FFF7CCFEF02302031B03134031 +:1052E00042460240013277E73800FFF7C1FEF02363 +:1052F00002031B0313404246024001321A430323B8 +:1053000003213000FFF7E0FC002800D1ECE616E7AF +:105310003800FFF7ADFE021E00D110E70300414642 +:105320008B43DBB2002B00D009E704213000FFF7EC +:10533000CBFC002800D1D7E601E74346A0221C4061 +:10534000013412032243DAE73800FFF791FE4346A7 +:1053500002009A43D2B210321840120301300243C5 +:10536000E6E605AB00939B460D22002300213000AA +:10537000FFF7A8FA3800FFF77BFE030618D57F2554 +:10538000B03C059B2840A0409C46604405903800F6 +:105390000734FFF76DFE0306F3D481217F238900D4 +:1053A00003408C46A340059A62449B180593E2E6AD +:1053B0000224F2E7030000B5DB6C85B05A680800F0 +:1053C000120201921A0001A908324A6003220A72ED +:1053D000DB794B72FFF776FE05B000BD10B5FFF725 +:1053E0006DFE806C10BDC04610B5FFF767FEC26C45 +:1053F000D3799B000833D01810BDC04610B500F01B +:1054000005F8C04610B5FFF7F9FFC04610B50620F5 +:1054100000F076F8012000F0A5F8C046F0B50F2A9C +:1054200037D90D0005430C000300AD0735D1150039 +:10543000103D2D092E013618103627681F60676849 +:105440005F60A7689F60E7681034DF601033B34285 +:10545000F3D10F2401352D01491914404519032CAE +:105460001DD90023CE58EE500433E61A032EF9D886 +:105470000323043CA4080134A4001A402D1909197F +:10548000002A05D00023CC5CEC5401339342FAD1BE +:10549000F0BD0500002AF5D1FAE70500F2E7220089 +:1054A000F8E7C04670B505000C001F2922D8B723C5 +:1054B0009B00C358002B0ED08A009B181A68002A44 +:1054C00009D0012A10D0511C10D0002120001960F1 +:1054D0009047002070BD280000F030F82200010045 +:1054E000280000F017F8F5E70020F3E71623036023 +:1054F0000120EFE71623036001204042EAE7C0469F +:1055000010B5034B01001868FFF7CCFF10BDC04673 +:1055100000000020002370B5074C050008001100B2 +:10552000236000F017F8431C00D070BD2368002BE7 +:10553000FBD02B60F9E7C0463407002010B500F01F +:1055400001F810BD58220120014B40421A607047FB +:105550003407002058220120014B40421A60704756 +:1055600034070020FEE7C046F8B5C046F8B5C0468F +:1055700074B20181B0AB308000000000800A01816C +:10558000B0B0ABF0000000003F020181B0AB308052 +:105590000000000080060181B0B0ABF00000000008 +:1055A00030EEFF7FB0B0B0807CEFFF7F01000000E5 +:1055B00028F0FF7FB0A90280BCF0FF7FB0B0A880C8 +:1055C00008F1FF7F0100000014F1FF7FB0B0AA8056 +:1055D00048F1FF7F9CFFFF7F08F2FF7F0100000082 +:1055E00004F2FF7FAA3F398050F2FF7FB0B0A8805D +:1055F0005CF2FF7FB0B0AA809CF2FF7FB0B0A880C1 +:10560000B0F2FF7F01000000ACF2FF7FB0B0A880D5 +:10561000B4F2FF7F010000003CF3FF7FAA0FB280CD +:10562000A4F3FF7F58FFFF7F7CF6FF7FB0B0A88018 +:1056300098F6FF7F54FFFF7FF4F8FF7F0100000022 +:1056400064FAFF7F0084048074FAFF7FB0B0A88002 +:1056500074FAFF7F40FFFF7F5CFDFF7F00840480C2 +:105660007CFDFF7FB0B0A88094FDFF7F01000000AB +:10567000080000200000000000000000F4020020EC +:105680005C030020C40300200000000000000000B4 :10569000000000000000000000000000000000000A :1056A00000000000000000000000000000000000FA :1056B00000000000000000000000000000000000EA @@ -1393,7 +1393,61 @@ :1056F00000000000000000000000000000000000AA :105700000000000000000000000000000000000099 :105710000000000000000000000000000000000089 -:105720000000000000000000000000000000000079 -:105730000000000000000000000000000000000069 +:1057200001000000000000000E33CDAB34126DE626 +:10573000ECDE05000B00000000000000000000008F +:105740000000000000000000000000000000000059 +:105750000000000000000000000000000000000049 +:105760000000000000000000000000000000000039 +:105770000000000000000000000000000000000029 +:105780000000000000000000000000000000000019 +:105790000000000000000000000000000000000009 +:1057A00000000000000000000000000000000000F9 +:1057B00000000000000000000000000000000000E9 +:1057C00000000000000000000000000000000000D9 +:1057D00000000000000000000000000000000000C9 +:1057E00000000000000000000000000000000000B9 +:1057F00000000000000000000000000000000000A9 +:105800000000000000000000000000000000000098 +:105810000000000000000000000000000000000088 +:105820000000000000000000000000000000000078 +:105830000000000000000000000000000000000068 +:105840000000000000000000000000000000000058 +:105850000000000000000000000000000000000048 +:105860000000000000000000000000000000000038 +:105870000000000000000000000000000000000028 +:105880000000000000000000000000000000000018 +:105890000000000000000000000000000000000008 +:1058A00000000000000000000000000000000000F8 +:1058B00000000000000000000000000000000000E8 +:1058C00000000000000000000000000000000000D8 +:1058D00000000000000000000000000000000000C8 +:1058E00000000000000000000000000000000000B8 +:1058F00000000000000000000000000000000000A8 +:105900000000000000000000000000000000000097 +:105910000000000000000000000000000000000087 +:105920000000000000000000000000000000000077 +:105930000000000000000000000000000000000067 +:105940000000000000000000000000000000000057 +:105950000000000000000000000000000000000047 +:105960000000000000000000000000000000000037 +:105970000000000000000000000000000000000027 +:105980000000000000000000000000000000000017 +:105990000000000000000000000000000000000007 +:1059A00000000000000000000000000000000000F7 +:1059B00000000000000000000000000000000000E7 +:1059C00000000000000000000000000000000000D7 +:1059D00000000000000000000000000000000000C7 +:1059E00000000000000000000000000000000000B7 +:1059F00000000000000000000000000000000000A7 +:105A00000000000000000000000000000000000096 +:105A10000000000000000000000000000000000086 +:105A20000000000000000000000000000000000076 +:105A30000000000000000000000000000000000066 +:105A40000000000000000000000000000000000056 +:105A50000000000000000000000000000000000046 +:105A60000000000000000000000000000000000036 +:105A70000000000000000000000000000000000026 +:105A80000000000000000000000000000000000016 +:105A90000000000000000000000000000000000006 :0400000508000805E2 :00000001FF diff --git a/firmware/build_stm6/inlretro_stm.map b/firmware/build_stm6/inlretro_stm.map index 9c66979..76ef49e 100644 --- a/firmware/build_stm6/inlretro_stm.map +++ b/firmware/build_stm6/inlretro_stm.map @@ -1,7 +1,7 @@ Archive member included to satisfy reference by file (symbol) c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) - C:\Users\paul\AppData\Local\Temp\ccekVufX.o (__aeabi_unwind_cpp_pr0) + C:\Users\paul\AppData\Local\Temp\ccA8zOw8.o (__aeabi_unwind_cpp_pr0) c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(libunwind.o) c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) (restore_core_regs) c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(pr-support.o) @@ -51,9 +51,9 @@ c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(_exit.o) c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) (_exit) c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(_thumb1_case_uqi.o) - C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o (__gnu_thumb1_case_uqi) + C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o (__gnu_thumb1_case_uqi) c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(_thumb1_case_uhi.o) - C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o (__gnu_thumb1_case_uhi) + C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o (__gnu_thumb1_case_uhi) Allocating common symbols Common symbol size file @@ -107,6 +107,7 @@ pbje_numclk 0x1 source/jtag.o (symbol from plugin) __lock___dd_hash_mutex 0x1 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) __lock___tz_mutex 0x1 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) +n64_bank 0x2 source/n64.o (symbol from plugin) pbje_data 0x20 source/jtag.o (symbol from plugin) __lock___sfp_recursive_mutex 0x1 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) @@ -131,39 +132,39 @@ Discarded input sections .ARM.exidx 0x00000000 0x8 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o .ARM.attributes 0x00000000 0x1b c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o - .text 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccUnJdk0.o - .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccUnJdk0.o - .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccUnJdk0.o - .stack 0x00000000 0xc00 C:\Users\paul\AppData\Local\Temp\ccUnJdk0.o - .heap 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccUnJdk0.o - .debug_line 0x00000000 0x7c C:\Users\paul\AppData\Local\Temp\ccUnJdk0.o - .debug_info 0x00000000 0x22 C:\Users\paul\AppData\Local\Temp\ccUnJdk0.o - .debug_abbrev 0x00000000 0x12 C:\Users\paul\AppData\Local\Temp\ccUnJdk0.o + .text 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccwjSKJ8.o + .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccwjSKJ8.o + .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccwjSKJ8.o + .stack 0x00000000 0xc00 C:\Users\paul\AppData\Local\Temp\ccwjSKJ8.o + .heap 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccwjSKJ8.o + .debug_line 0x00000000 0x7c C:\Users\paul\AppData\Local\Temp\ccwjSKJ8.o + .debug_info 0x00000000 0x22 C:\Users\paul\AppData\Local\Temp\ccwjSKJ8.o + .debug_abbrev 0x00000000 0x12 C:\Users\paul\AppData\Local\Temp\ccwjSKJ8.o .debug_aranges - 0x00000000 0x28 C:\Users\paul\AppData\Local\Temp\ccUnJdk0.o - .debug_str 0x00000000 0x68 C:\Users\paul\AppData\Local\Temp\ccUnJdk0.o - .debug_ranges 0x00000000 0x20 C:\Users\paul\AppData\Local\Temp\ccUnJdk0.o + 0x00000000 0x28 C:\Users\paul\AppData\Local\Temp\ccwjSKJ8.o + .debug_str 0x00000000 0x68 C:\Users\paul\AppData\Local\Temp\ccwjSKJ8.o + .debug_ranges 0x00000000 0x20 C:\Users\paul\AppData\Local\Temp\ccwjSKJ8.o .ARM.attributes - 0x00000000 0x1b C:\Users\paul\AppData\Local\Temp\ccUnJdk0.o - .text 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o - .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o - .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o - .text 0x00000000 0x4 C:\Users\paul\AppData\Local\Temp\ccekVufX.o - .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccekVufX.o - .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccekVufX.o - .ARM.extab 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccekVufX.o - .ARM.exidx 0x00000000 0x8 C:\Users\paul\AppData\Local\Temp\ccekVufX.o - .debug_line 0x00000000 0x49 C:\Users\paul\AppData\Local\Temp\ccekVufX.o - .debug_info 0x00000000 0x26 C:\Users\paul\AppData\Local\Temp\ccekVufX.o - .debug_abbrev 0x00000000 0x14 C:\Users\paul\AppData\Local\Temp\ccekVufX.o + 0x00000000 0x1b C:\Users\paul\AppData\Local\Temp\ccwjSKJ8.o + .text 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + .text 0x00000000 0x4 C:\Users\paul\AppData\Local\Temp\ccA8zOw8.o + .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccA8zOw8.o + .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccA8zOw8.o + .ARM.extab 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccA8zOw8.o + .ARM.exidx 0x00000000 0x8 C:\Users\paul\AppData\Local\Temp\ccA8zOw8.o + .debug_line 0x00000000 0x49 C:\Users\paul\AppData\Local\Temp\ccA8zOw8.o + .debug_info 0x00000000 0x26 C:\Users\paul\AppData\Local\Temp\ccA8zOw8.o + .debug_abbrev 0x00000000 0x14 C:\Users\paul\AppData\Local\Temp\ccA8zOw8.o .debug_aranges - 0x00000000 0x20 C:\Users\paul\AppData\Local\Temp\ccekVufX.o - .debug_str 0x00000000 0x65 C:\Users\paul\AppData\Local\Temp\ccekVufX.o + 0x00000000 0x20 C:\Users\paul\AppData\Local\Temp\ccA8zOw8.o + .debug_str 0x00000000 0x65 C:\Users\paul\AppData\Local\Temp\ccA8zOw8.o .ARM.attributes - 0x00000000 0x21 C:\Users\paul\AppData\Local\Temp\ccekVufX.o - .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccENOwHW.o - .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccENOwHW.o - .ARM.extab 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccENOwHW.o + 0x00000000 0x21 C:\Users\paul\AppData\Local\Temp\ccA8zOw8.o + .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccobfpka.o + .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccobfpka.o + .ARM.extab 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccobfpka.o .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) .debug_frame 0x00000000 0x2b4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) @@ -426,10 +427,10 @@ Linker script and memory map LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crti.o LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtbegin.o LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o -LOAD C:\Users\paul\AppData\Local\Temp\ccUnJdk0.o -LOAD C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o -LOAD C:\Users\paul\AppData\Local\Temp\ccekVufX.o -LOAD C:\Users\paul\AppData\Local\Temp\ccENOwHW.o +LOAD C:\Users\paul\AppData\Local\Temp\ccwjSKJ8.o +LOAD C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o +LOAD C:\Users\paul\AppData\Local\Temp\ccA8zOw8.o +LOAD C:\Users\paul\AppData\Local\Temp\ccobfpka.o START GROUP LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a @@ -443,17 +444,17 @@ END GROUP LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtend.o LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtn.o -.text 0x08000000 0x5210 +.text 0x08000000 0x5570 *(.isr_vector) - .isr_vector 0x08000000 0xc0 C:\Users\paul\AppData\Local\Temp\ccUnJdk0.o + .isr_vector 0x08000000 0xc0 C:\Users\paul\AppData\Local\Temp\ccwjSKJ8.o 0x08000000 __isr_vector *(.usb_driver) - .usb_driver 0x080000c0 0x3bc C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + .usb_driver 0x080000c0 0x3bc C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o 0x08000198 USB_IRQHandler *(.usb_desc) - .usb_desc 0x0800047c 0xb8 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + .usb_desc 0x0800047c 0xb8 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o *(.hardfault) - .hardfault 0x08000534 0x2 C:\Users\paul\AppData\Local\Temp\ccUnJdk0.o + .hardfault 0x08000534 0x2 C:\Users\paul\AppData\Local\Temp\ccwjSKJ8.o 0x08000534 TIM1_CC_IRQHandler 0x08000534 TSC_IRQHandler 0x08000534 ADC1_COMP_IRQHandler @@ -492,7 +493,7 @@ LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eab 0x08000534 USART1_IRQHandler 0x08000534 TIM1_BRK_UP_TRG_COM_IRQHandler *fill* 0x08000536 0x2 ff - .hardfault 0x08000538 0xc C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + .hardfault 0x08000538 0xc C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o 0x08000538 HardFault_Handler *_thumb1_case_uqi.o() .text 0x08000544 0x14 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(_thumb1_case_uqi.o) @@ -508,11 +509,11 @@ LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eab 0x0800058c 0x1e c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(_thumb1_case_uhi.o) *(.fw_update) *fill* 0x080005aa 0x2 ff - .fw_update 0x080005ac 0x150 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + .fw_update 0x080005ac 0x150 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o 0x00000770 . = 0x770 *fill* 0x080006fc 0x74 ff *(.fw_up_main) - .fw_up_main 0x08000770 0x70 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + .fw_up_main 0x08000770 0x70 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o 0x00000800 . = 0x800 *fill* 0x080007e0 0x20 ff *(.appver) @@ -520,174 +521,177 @@ LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eab *fill* 0x08000800 0x4 ff *(.reset_handler) .reset_handler - 0x08000804 0x3c C:\Users\paul\AppData\Local\Temp\ccUnJdk0.o + 0x08000804 0x3c C:\Users\paul\AppData\Local\Temp\ccwjSKJ8.o 0x08000804 Reset_Handler *(.usbFuncWrite) - .usbFuncWrite 0x08000840 0x44 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + .usbFuncWrite 0x08000840 0x44 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o *(.usbFuncSetup) - .usbFuncSetup 0x08000884 0x1a54 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + .usbFuncSetup 0x08000884 0x1c58 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o *(.text*) .text.snes_page_rd_poll.constprop.27 - 0x080022d8 0x7c C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + 0x080024dc 0x7c C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o .text.nes_cpu_page_rd_poll.constprop.26 - 0x08002354 0x6c C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + 0x08002558 0x6c C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o .text.nes_ppu_page_rd_poll.constprop.23 - 0x080023c0 0x68 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + 0x080025c4 0x68 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o .text.append_pairity - 0x08002428 0x1e C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + 0x0800262c 0x1e C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o .text.delay_us - 0x08002446 0x14 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o - *fill* 0x0800245a 0x2 ff - .text.lfsr_32 0x0800245c 0x30 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o - .text.snes_wr 0x0800248c 0x60 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o - .text.snes_rd 0x080024ec 0x48 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + 0x0800264a 0x14 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + *fill* 0x0800265e 0x2 ff + .text.lfsr_32 0x08002660 0x30 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + .text.snes_wr 0x08002690 0x60 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + .text.snes_rd 0x080026f0 0x48 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o .text.write_page_snes.constprop.34 - 0x08002534 0x194 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + 0x08002738 0x194 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o .text.snes_3v_flash_wr - 0x080026c8 0x50 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + 0x080028cc 0x50 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o .text.snes_5v_flash_wr - 0x08002718 0x50 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + 0x0800291c 0x50 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + .text.genesis_page_rd + 0x0800296c 0xa4 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o .text.nes_dualport_wr - 0x08002768 0x50 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + 0x08002a10 0x50 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o .text.nes_dualport_rd - 0x080027b8 0x38 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + 0x08002a60 0x38 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o .text.nes_ppu_wr - 0x080027f0 0x50 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + 0x08002a98 0x50 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o .text.nes_ppu_rd - 0x08002840 0x38 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + 0x08002ae8 0x38 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o .text.mmc3_chrrom_flash_wr - 0x08002878 0x44 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + 0x08002b20 0x44 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o .text.nrom_chrrom_flash_wr - 0x080028bc 0x44 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + 0x08002b64 0x44 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o .text.nes_cpu_wr - 0x08002900 0x6c C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + 0x08002ba8 0x6c C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o .text.cdream_chrrom_flash_wr - 0x0800296c 0x84 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + 0x08002c14 0x84 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o .text.mmc4_chrrom_flash_wr - 0x080029f0 0x74 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + 0x08002c98 0x74 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o .text.cnrom_chrrom_flash_wr - 0x08002a64 0x7c C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + 0x08002d0c 0x7c C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o .text.nes_cpu_rd - 0x08002ae0 0x40 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + 0x08002d88 0x40 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o .text.map30_prgrom_flash_wr - 0x08002b20 0x74 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + 0x08002dc8 0x74 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o .text.mmc4_prgrom_sop_flash_wr - 0x08002b94 0x54 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + 0x08002e3c 0x54 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o .text.mmc3_prgrom_flash_wr - 0x08002be8 0x50 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + 0x08002e90 0x50 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o .text.disc_push_exp0_prgrom_wr - 0x08002c38 0x48 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + 0x08002ee0 0x48 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o .text.discrete_exp0_prgrom_wr - 0x08002c80 0x58 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + 0x08002f28 0x58 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o .text.unrom_prgrom_flash_wr - 0x08002cd8 0x64 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + 0x08002f80 0x64 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o .text.nrom_prgrom_flash_wr - 0x08002d3c 0x44 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + 0x08002fe4 0x44 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + .text.n64_latch_addr + 0x08003028 0x50 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o .text.pbje_scan - 0x08002d80 0x10c C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + 0x08003078 0x10c C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o .text.pbje_state_change - 0x08002e8c 0x88 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + 0x08003184 0x88 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o .text.jtag_init_pbje - 0x08002f14 0xe0 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + 0x0800320c 0xe0 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o .text.jtag_run_pbje.part.0 - 0x08002ff4 0xb8 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + 0x080032ec 0xb8 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o .text.io_reset - 0x080030ac 0x174 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o - .text.gba_rd 0x08003220 0x4c C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + 0x080033a4 0x174 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + .text.gba_rd 0x08003518 0x4c C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o .text.write_page_verify - 0x0800326c 0x5c C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + 0x08003564 0x5c C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o .text.write_page - 0x080032c8 0x34 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + 0x080035c0 0x34 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o .text.get_next_buff - 0x080032fc 0x54 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + 0x080035f4 0x54 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o .text.mmc1_wr.constprop.12 - 0x08003350 0x22 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o - *fill* 0x08003372 0x2 ff + 0x08003648 0x22 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + *fill* 0x0800366a 0x2 ff .text.mmc1_chrrom_flash_wr - 0x08003374 0x60 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + 0x0800366c 0x60 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o .text.mmc1_prgrom_flash_wr - 0x080033d4 0x50 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + 0x080036cc 0x50 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o .text.swim_wotf - 0x08003424 0xb4 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + 0x0800371c 0xb4 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o .text.swim_rotf - 0x080034d8 0xac C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + 0x080037d0 0xac C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o .text.startup.main - 0x08003584 0xae8 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o - 0x08003584 main - *fill* 0x0800406c 0x4 ff - .text 0x08004070 0x154 C:\Users\paul\AppData\Local\Temp\ccENOwHW.o - 0x08004070 swim_xfr - .text 0x080041c4 0xa08 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) - 0x08004480 _Unwind_GetCFA - 0x08004484 __gnu_Unwind_RaiseException - 0x080044d8 __gnu_Unwind_ForcedUnwind - 0x080044ec __gnu_Unwind_Resume - 0x08004534 __gnu_Unwind_Resume_or_Rethrow - 0x08004550 _Unwind_Complete - 0x08004554 _Unwind_DeleteException - 0x08004564 _Unwind_VRS_Get - 0x080045ac _Unwind_VRS_Set - 0x080045f4 __gnu_Unwind_Backtrace - 0x08004944 __aeabi_unwind_cpp_pr0 - 0x08004950 __aeabi_unwind_cpp_pr1 - 0x0800495c __aeabi_unwind_cpp_pr2 - 0x08004968 _Unwind_VRS_Pop - .text 0x08004bcc 0x144 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(libunwind.o) - 0x08004bcc __restore_core_regs - 0x08004bcc restore_core_regs - 0x08004bf8 __gnu_Unwind_Restore_VFP - 0x08004bfc __gnu_Unwind_Save_VFP - 0x08004c00 __gnu_Unwind_Restore_VFP_D - 0x08004c04 __gnu_Unwind_Save_VFP_D - 0x08004c08 __gnu_Unwind_Restore_VFP_D_16_to_31 - 0x08004c0c __gnu_Unwind_Save_VFP_D_16_to_31 - 0x08004c10 __gnu_Unwind_Restore_WMMXD - 0x08004c14 __gnu_Unwind_Save_WMMXD - 0x08004c18 __gnu_Unwind_Restore_WMMXC - 0x08004c1c __gnu_Unwind_Save_WMMXC - 0x08004c20 ___Unwind_RaiseException - 0x08004c20 _Unwind_RaiseException - 0x08004c50 _Unwind_Resume - 0x08004c50 ___Unwind_Resume - 0x08004c80 _Unwind_Resume_or_Rethrow - 0x08004c80 ___Unwind_Resume_or_Rethrow - 0x08004cb0 _Unwind_ForcedUnwind - 0x08004cb0 ___Unwind_ForcedUnwind - 0x08004ce0 ___Unwind_Backtrace - 0x08004ce0 _Unwind_Backtrace - .text 0x08004d10 0x39c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(pr-support.o) - 0x08004d64 __gnu_unwind_execute - 0x08005054 __gnu_unwind_frame - 0x0800507c _Unwind_GetRegionStart - 0x08005088 _Unwind_GetLanguageSpecificData - 0x0800509c _Unwind_GetDataRelBase - 0x080050a4 _Unwind_GetTextRelBase - .text.abort 0x080050ac 0x10 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) - 0x080050ac abort - .text.memcpy 0x080050bc 0x88 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memcpy-stub.o) - 0x080050bc memcpy + 0x0800387c 0xb54 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + 0x0800387c main + .text 0x080043d0 0x154 C:\Users\paul\AppData\Local\Temp\ccobfpka.o + 0x080043d0 swim_xfr + .text 0x08004524 0xa08 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) + 0x080047e0 _Unwind_GetCFA + 0x080047e4 __gnu_Unwind_RaiseException + 0x08004838 __gnu_Unwind_ForcedUnwind + 0x0800484c __gnu_Unwind_Resume + 0x08004894 __gnu_Unwind_Resume_or_Rethrow + 0x080048b0 _Unwind_Complete + 0x080048b4 _Unwind_DeleteException + 0x080048c4 _Unwind_VRS_Get + 0x0800490c _Unwind_VRS_Set + 0x08004954 __gnu_Unwind_Backtrace + 0x08004ca4 __aeabi_unwind_cpp_pr0 + 0x08004cb0 __aeabi_unwind_cpp_pr1 + 0x08004cbc __aeabi_unwind_cpp_pr2 + 0x08004cc8 _Unwind_VRS_Pop + .text 0x08004f2c 0x144 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(libunwind.o) + 0x08004f2c __restore_core_regs + 0x08004f2c restore_core_regs + 0x08004f58 __gnu_Unwind_Restore_VFP + 0x08004f5c __gnu_Unwind_Save_VFP + 0x08004f60 __gnu_Unwind_Restore_VFP_D + 0x08004f64 __gnu_Unwind_Save_VFP_D + 0x08004f68 __gnu_Unwind_Restore_VFP_D_16_to_31 + 0x08004f6c __gnu_Unwind_Save_VFP_D_16_to_31 + 0x08004f70 __gnu_Unwind_Restore_WMMXD + 0x08004f74 __gnu_Unwind_Save_WMMXD + 0x08004f78 __gnu_Unwind_Restore_WMMXC + 0x08004f7c __gnu_Unwind_Save_WMMXC + 0x08004f80 ___Unwind_RaiseException + 0x08004f80 _Unwind_RaiseException + 0x08004fb0 _Unwind_Resume + 0x08004fb0 ___Unwind_Resume + 0x08004fe0 _Unwind_Resume_or_Rethrow + 0x08004fe0 ___Unwind_Resume_or_Rethrow + 0x08005010 _Unwind_ForcedUnwind + 0x08005010 ___Unwind_ForcedUnwind + 0x08005040 ___Unwind_Backtrace + 0x08005040 _Unwind_Backtrace + .text 0x08005070 0x39c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(pr-support.o) + 0x080050c4 __gnu_unwind_execute + 0x080053b4 __gnu_unwind_frame + 0x080053dc _Unwind_GetRegionStart + 0x080053e8 _Unwind_GetLanguageSpecificData + 0x080053fc _Unwind_GetDataRelBase + 0x08005404 _Unwind_GetTextRelBase + .text.abort 0x0800540c 0x10 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) + 0x0800540c abort + .text.memcpy 0x0800541c 0x88 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memcpy-stub.o) + 0x0800541c memcpy .text._raise_r - 0x08005144 0x5c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) - 0x08005144 _raise_r - .text.raise 0x080051a0 0x14 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) - 0x080051a0 raise - .text._kill_r 0x080051b4 0x28 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) - 0x080051b4 _kill_r + 0x080054a4 0x5c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) + 0x080054a4 _raise_r + .text.raise 0x08005500 0x14 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) + 0x08005500 raise + .text._kill_r 0x08005514 0x28 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) + 0x08005514 _kill_r .text._getpid_r - 0x080051dc 0x8 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) - 0x080051dc _getpid_r - .text._getpid 0x080051e4 0x10 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o) - 0x080051e4 _getpid - .text._kill 0x080051f4 0x10 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(kill.o) - 0x080051f4 _kill - .text._exit 0x08005204 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(_exit.o) - 0x08005204 _exit + 0x0800553c 0x8 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) + 0x0800553c _getpid_r + .text._getpid 0x08005544 0x10 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o) + 0x08005544 _getpid + .text._kill 0x08005554 0x10 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(kill.o) + 0x08005554 _kill + .text._exit 0x08005564 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(_exit.o) + 0x08005564 _exit *(.init) - .init 0x08005208 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crti.o - 0x08005208 _init + .init 0x08005568 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crti.o + 0x08005568 _init *(.fini) - .fini 0x0800520c 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crti.o - 0x0800520c _fini + .fini 0x0800556c 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crti.o + 0x0800556c _fini *crtbegin.o(.ctors) *crtbegin?.o(.ctors) *(EXCLUDE_FILE(*crtend.o *crtend?.o) .ctors) @@ -701,42 +705,42 @@ LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eab *(.rodata*) *(.eh_frame*) -.glue_7 0x08005210 0x0 - .glue_7 0x08005210 0x0 linker stubs +.glue_7 0x08005570 0x0 + .glue_7 0x08005570 0x0 linker stubs -.glue_7t 0x08005210 0x0 - .glue_7t 0x08005210 0x0 linker stubs +.glue_7t 0x08005570 0x0 + .glue_7t 0x08005570 0x0 linker stubs -.vfp11_veneer 0x08005210 0x0 - .vfp11_veneer 0x08005210 0x0 linker stubs +.vfp11_veneer 0x08005570 0x0 + .vfp11_veneer 0x08005570 0x0 linker stubs -.v4_bx 0x08005210 0x0 - .v4_bx 0x08005210 0x0 linker stubs +.v4_bx 0x08005570 0x0 + .v4_bx 0x08005570 0x0 linker stubs -.iplt 0x08005210 0x0 - .iplt 0x08005210 0x0 C:\Users\paul\AppData\Local\Temp\ccUnJdk0.o +.iplt 0x08005570 0x0 + .iplt 0x08005570 0x0 C:\Users\paul\AppData\Local\Temp\ccwjSKJ8.o -.ARM.extab 0x08005210 0x30 +.ARM.extab 0x08005570 0x30 *(.ARM.extab* .gnu.linkonce.armextab.*) - .ARM.extab 0x08005210 0x24 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) - .ARM.extab 0x08005234 0xc c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(pr-support.o) - 0x08005240 __exidx_start = . + .ARM.extab 0x08005570 0x24 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) + .ARM.extab 0x08005594 0xc c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(pr-support.o) + 0x080055a0 __exidx_start = . -.ARM.exidx 0x08005240 0xd0 +.ARM.exidx 0x080055a0 0xd0 *(.ARM.exidx* .gnu.linkonce.armexidx.*) - .ARM.exidx 0x08005240 0x8 C:\Users\paul\AppData\Local\Temp\ccENOwHW.o + .ARM.exidx 0x080055a0 0x8 C:\Users\paul\AppData\Local\Temp\ccobfpka.o 0x10 (size before relaxing) - .ARM.exidx 0x08005248 0x98 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) + .ARM.exidx 0x080055a8 0x98 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) 0xd8 (size before relaxing) - .ARM.exidx 0x080052e0 0x30 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(pr-support.o) + .ARM.exidx 0x08005640 0x30 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(pr-support.o) 0x48 (size before relaxing) - 0x08005310 __exidx_end = . - 0x08005310 __etext = ALIGN (0x4) + 0x08005670 __exidx_end = . + 0x08005670 __etext = ALIGN (0x4) -.rel.dyn 0x08005310 0x0 - .rel.iplt 0x08005310 0x0 C:\Users\paul\AppData\Local\Temp\ccUnJdk0.o +.rel.dyn 0x08005670 0x0 + .rel.iplt 0x08005670 0x0 C:\Users\paul\AppData\Local\Temp\ccwjSKJ8.o -.data 0x20000000 0x430 load address 0x08005310 +.data 0x20000000 0x430 load address 0x08005670 0x20000000 __data_start__ = . *(vtable) *(.data*) @@ -764,75 +768,76 @@ LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eab *(.fastrun) 0x20000430 __data_end__ = . -.igot.plt 0x20000430 0x0 load address 0x08005740 - .igot.plt 0x20000430 0x0 C:\Users\paul\AppData\Local\Temp\ccUnJdk0.o +.igot.plt 0x20000430 0x0 load address 0x08005aa0 + .igot.plt 0x20000430 0x0 C:\Users\paul\AppData\Local\Temp\ccwjSKJ8.o -.bss 0x20000430 0x308 load address 0x08005740 +.bss 0x20000430 0x308 load address 0x08005aa0 0x20000430 . = ALIGN (0x4) 0x20000430 __bss_start__ = . *(.bss*) - .bss.addr_ptr 0x20000430 0x4 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o - .bss.addrh 0x20000434 0x2 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + .bss.addr_ptr 0x20000430 0x4 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + .bss.addrh 0x20000434 0x2 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o .bss.bank_table - 0x20000436 0x2 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o - .bss.buff0 0x20000438 0x14 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o - .bss.buff1 0x2000044c 0x14 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o - .bss.buff2 0x20000460 0x14 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o - .bss.buff3 0x20000474 0x14 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + 0x20000436 0x2 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + .bss.buff0 0x20000438 0x14 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + .bss.buff1 0x2000044c 0x14 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + .bss.buff2 0x20000460 0x14 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + .bss.buff3 0x20000474 0x14 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o .bss.cur_addr_hi - 0x20000488 0x1 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + 0x20000488 0x1 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o *fill* 0x20000489 0x1 .bss.cur_addr_lo - 0x2000048a 0x2 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o - .bss.cur_bank 0x2000048c 0x1 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + 0x2000048a 0x2 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + .bss.cur_bank 0x2000048c 0x1 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o *fill* 0x2000048d 0x3 - .bss.cur_buff 0x20000490 0x4 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + .bss.cur_buff 0x20000490 0x4 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o .bss.cur_usb_load_buff - 0x20000494 0x4 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + 0x20000494 0x4 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o .bss.incoming_bytes_remain - 0x20000498 0x1 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + 0x20000498 0x1 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o *fill* 0x20000499 0x3 - .bss.lfsr 0x2000049c 0x4 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o - .bss.num_buff.5089 - 0x200004a0 0x1 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o - *fill* 0x200004a1 0x3 + .bss.lfsr 0x2000049c 0x4 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + .bss.n64_bank 0x200004a0 0x2 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + .bss.num_buff.5101 + 0x200004a2 0x1 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + *fill* 0x200004a3 0x1 .bss.oper_info_struct - 0x200004a4 0x20 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + 0x200004a4 0x20 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o .bss.pbje_command - 0x200004c4 0x1 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + 0x200004c4 0x1 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o .bss.pbje_data - 0x200004c5 0x20 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + 0x200004c5 0x20 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o .bss.pbje_numclk - 0x200004e5 0x1 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + 0x200004e5 0x1 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o .bss.pbje_status - 0x200004e6 0x1 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + 0x200004e6 0x1 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o .bss.raw_bank_status - 0x200004e7 0x10 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + 0x200004e7 0x10 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o *fill* 0x200004f7 0x1 .bss.raw_buffer16 - 0x200004f8 0x200 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + 0x200004f8 0x200 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o .bss.rv16.4756 - 0x200006f8 0x8 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o - .bss.rv16.5009 - 0x20000700 0x8 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + 0x200006f8 0x8 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + .bss.rv16.5021 + 0x20000700 0x8 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o .bss.stm_debug_disable - 0x20000708 0x1 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + 0x20000708 0x1 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o *fill* 0x20000709 0x3 .bss.swim_base - 0x2000070c 0x4 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o - .bss.swim_pin 0x20000710 0x1 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + 0x2000070c 0x4 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + .bss.swim_pin 0x20000710 0x1 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o *fill* 0x20000711 0x3 - .bss.tck_base 0x20000714 0x4 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o - .bss.tck_pin 0x20000718 0x1 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + .bss.tck_base 0x20000714 0x4 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + .bss.tck_pin 0x20000718 0x1 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o *fill* 0x20000719 0x3 - .bss.tdi_base 0x2000071c 0x4 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o - .bss.tdi_pin 0x20000720 0x1 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + .bss.tdi_base 0x2000071c 0x4 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + .bss.tdi_pin 0x20000720 0x1 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o *fill* 0x20000721 0x3 - .bss.tdo_base 0x20000724 0x4 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o - .bss.tdo_pin 0x20000728 0x1 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + .bss.tdo_base 0x20000724 0x4 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + .bss.tdo_pin 0x20000728 0x1 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o *fill* 0x20000729 0x3 - .bss.tms_base 0x2000072c 0x4 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o - .bss.tms_pin 0x20000730 0x1 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + .bss.tms_base 0x2000072c 0x4 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + .bss.tms_pin 0x20000730 0x1 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o *(COMMON) *fill* 0x20000731 0x3 COMMON 0x20000734 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o) @@ -859,45 +864,45 @@ OUTPUT(build_stm/inlretro_stm.elf elf32-littlearm) .ARM.attributes 0x00000000 0x1e c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crti.o .ARM.attributes - 0x0000001e 0x2f C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + 0x0000001e 0x2f C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o .ARM.attributes - 0x0000004d 0x21 C:\Users\paul\AppData\Local\Temp\ccENOwHW.o + 0x0000004d 0x21 C:\Users\paul\AppData\Local\Temp\ccobfpka.o .comment 0x00000000 0x7f - .comment 0x00000000 0x7f C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + .comment 0x00000000 0x7f C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o 0x80 (size before relaxing) -.debug_info 0x00000000 0x51d1 - .debug_info 0x00000000 0x51ab C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o - .debug_info 0x000051ab 0x26 C:\Users\paul\AppData\Local\Temp\ccENOwHW.o +.debug_info 0x00000000 0x5499 + .debug_info 0x00000000 0x5473 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + .debug_info 0x00005473 0x26 C:\Users\paul\AppData\Local\Temp\ccobfpka.o -.debug_abbrev 0x00000000 0x69e - .debug_abbrev 0x00000000 0x68a C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o - .debug_abbrev 0x0000068a 0x14 C:\Users\paul\AppData\Local\Temp\ccENOwHW.o +.debug_abbrev 0x00000000 0x6af + .debug_abbrev 0x00000000 0x69b C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + .debug_abbrev 0x0000069b 0x14 C:\Users\paul\AppData\Local\Temp\ccobfpka.o -.debug_loc 0x00000000 0x51c7 - .debug_loc 0x00000000 0x51c7 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o +.debug_loc 0x00000000 0x55ae + .debug_loc 0x00000000 0x55ae C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o -.debug_aranges 0x00000000 0x1e0 +.debug_aranges 0x00000000 0x1f0 .debug_aranges - 0x00000000 0x1c0 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o + 0x00000000 0x1d0 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o .debug_aranges - 0x000001c0 0x20 C:\Users\paul\AppData\Local\Temp\ccENOwHW.o + 0x000001d0 0x20 C:\Users\paul\AppData\Local\Temp\ccobfpka.o -.debug_ranges 0x00000000 0xd18 - .debug_ranges 0x00000000 0xd18 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o +.debug_ranges 0x00000000 0xdd8 + .debug_ranges 0x00000000 0xdd8 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o -.debug_line 0x00000000 0x19ae - .debug_line 0x00000000 0x18bb C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o - .debug_line 0x000018bb 0xf3 C:\Users\paul\AppData\Local\Temp\ccENOwHW.o +.debug_line 0x00000000 0x1b37 + .debug_line 0x00000000 0x1a44 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + .debug_line 0x00001a44 0xf3 C:\Users\paul\AppData\Local\Temp\ccobfpka.o -.debug_str 0x00000000 0x11c2 - .debug_str 0x00000000 0x1161 C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o - 0x127e (size before relaxing) - .debug_str 0x00001161 0x61 C:\Users\paul\AppData\Local\Temp\ccENOwHW.o +.debug_str 0x00000000 0x122f + .debug_str 0x00000000 0x11ce C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o + 0x12eb (size before relaxing) + .debug_str 0x000011ce 0x61 C:\Users\paul\AppData\Local\Temp\ccobfpka.o -.debug_frame 0x00000000 0x59c - .debug_frame 0x00000000 0x59c C:\Users\paul\AppData\Local\Temp\ccQzBxIk.ltrans0.ltrans.o +.debug_frame 0x00000000 0x5d8 + .debug_frame 0x00000000 0x5d8 C:\Users\paul\AppData\Local\Temp\cc7Ghupa.ltrans0.ltrans.o .stabstr 0x00000000 0x76 .stabstr 0x00000000 0x76 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o) diff --git a/firmware/source/dump.c b/firmware/source/dump.c index 3b22e8f..41793af 100644 --- a/firmware/source/dump.c +++ b/firmware/source/dump.c @@ -85,10 +85,41 @@ uint8_t dump_buff( buffer *buff ) { case GBA_ROM_PAGE: //address must have already been latched //we're only telling page_rd the number of bytes to read, and where to put it - buff->cur_byte = gba_page_rd( buff->data, buff->last_idx ); + // takes 16bit pointer, 127 / 2 = 63.5 -> 63 so it works + buff->cur_byte = gba_page_rd( (uint16_t*)buff->data, (buff->last_idx>>1) ); + //buff->cur_byte = gba_page_rd( buff->data, buff->last_idx ); break; #endif + #ifdef SEGA_CONN + case GENESIS_ROM_PAGE0: + //mapper byte specifies Genesis CPU A15-8 + addrH |= (buff->mapper); //no shift needed + buff->cur_byte = genesis_page_rd( buff->data, addrH, buff->id, + //id contains MSb of page when <256B buffer + buff->last_idx); + break; + case GENESIS_ROM_PAGE1: + //mapper byte specifies Genesis CPU A15-8 + addrH |= (buff->mapper); //no shift needed + buff->cur_byte = genesis_page_rd( buff->data, addrH+0x0100, buff->id, + //id contains MSb of page when <256B buffer + buff->last_idx); + break; + #endif + + #ifdef N64_CONN + case N64_ROM_PAGE: + //mapper byte specifies SNES CPU A15-8 + //uint8_t addrH = buff->page_num; //A15:8 while accessing page + // addrH |= (buff->mapper); //no shift needed + buff->cur_byte = n64_page_rd( buff->data, addrH, buff->id, + //id contains MSb of page when <256B buffer + buff->last_idx); + break; + #endif + + #ifdef NES_CONN case PRGROM: addrH |= 0x80; //$8000 diff --git a/firmware/source/gba.c b/firmware/source/gba.c index 10e04d8..e1fa147 100644 --- a/firmware/source/gba.c +++ b/firmware/source/gba.c @@ -32,6 +32,8 @@ uint8_t gba_call( uint8_t opcode, uint8_t miscdata, uint16_t operand, uint8_t *r //resist temptation to make these 16bit indexes //will break rule of accessing usb_buff in half word aligned access //would have to use RD1-RD2 for 16bit aligned access.. +//Actually.. that's not true. return & RD_LEN are index 0-1, so RD0-1 would be index 2-3 +//so it should be half word aligned.. #define BYTE_LEN 1 #define HWORD_LEN 2 @@ -117,8 +119,8 @@ uint16_t gba_rd() } //can only read 255 bytes, len can't be 255 else it would create infinite loop -//TODO get a 16bit data pointer -uint8_t gba_page_rd( uint8_t *data, uint8_t len) +// I think the byte read version is actually slightly faster...? +uint8_t gba_page_rd( uint16_t *data, uint8_t len) { uint8_t i; uint16_t read; @@ -131,13 +133,14 @@ uint8_t gba_page_rd( uint8_t *data, uint8_t len) read = gba_rd(); //store lower byte little endian + //now stores entire 16bit read at once data[i] = read; //upper byte - i++; + //i++; //store upper byte - data[i] = read>>8; + //data[i] = read>>8; } //return index of last byte read diff --git a/firmware/source/gba.h b/firmware/source/gba.h index 17907ac..b48e4c3 100644 --- a/firmware/source/gba.h +++ b/firmware/source/gba.h @@ -9,6 +9,6 @@ uint8_t gba_call( uint8_t opcode, uint8_t miscdata, uint16_t operand, uint8_t *r uint16_t gba_rd(); void gba_latch_addr( uint16_t addr_lo, uint8_t addr_hi); -uint8_t gba_page_rd( uint8_t *data, uint8_t len); +uint8_t gba_page_rd( uint16_t *data, uint8_t len); #endif diff --git a/firmware/source/io.c b/firmware/source/io.c index 7302a65..7353d47 100644 --- a/firmware/source/io.c +++ b/firmware/source/io.c @@ -54,7 +54,7 @@ uint8_t io_call( uint8_t opcode, uint8_t miscdata, uint16_t operand, uint8_t *rd case SEGA_INIT: sega_init(); break; #endif #ifdef N64_CONN -// case N64_INIT: n64_init(); break; + case N64_INIT: n64_init(); break; #endif case SWIM_INIT: return swim_init(operand); break; @@ -370,39 +370,177 @@ void sega_init() io_reset(); //enable control outputs and disable memories - //ROM + + // CONSOLE OUTPUTS: + // #C_CE B17 CPU access $00_0000 - 03_FFFF 4MByte cart space + // address decode depends on #CART + // cart normally drives low (00-03), + // but if driven high (like CD sram cart) decodes to $04_0000 - 07_FFFF ROMSEL_OP(); - ROMSEL_HI(); // #C_CE + ROMSEL_HI(); + + // #C_OE B16 CPU access $00_0000 - 0D_FFFF entire 68k map except bank 0E-FF (64K RAM) CSRD_OP(); - CSRD_HI(); // #C_OE - CSWR_OP(); - CSWR_HI(); // #UDSW - PRGRW_OP(); - PRGRW_HI(); // #LDSW + CSRD_HI(); - //disable SRAM and put cart in PLAY mode - EXP0_HI(); + // #AS B18 CPU access entire memory map, indicating address bus valid + // TODO create another macro over the top of this.. + GBP_OP(); + GBP_HI(); + + // #LO_MEM B26 CPU access $00_0000 - 07_FFFF 8MByte cart space + // TODO FF2 + + // #RESET (aka vRES) B27 resets cart logic, stays low in SMS mode EXP0_OP(); - //if SWIM is active, EXP0 must be set to pullup prior to SWIM transfers + EXP0_HI(); - //other control pins are inputs or unused, leave as IP pullup from reset + // #LDSW B28 CPU D0-7 data strobe + PRGRW_OP(); + PRGRW_HI(); + + // #UDSW B29 CPU D8-15 data strobe + CSWR_OP(); + CSWR_HI(); + + // #TIME B31 CPU access $A1_3000 - A1_30FF "SSF2 mapper" uses this to decode mapper register writes + // TODO FF7 + + // CLK B19 7Mhz clock? + // HS_CLK B15 13/53Mhz clock? + // TODO PA8 both clock pins are wired to this mcu pin + + // #CAS B21 when CPU is halted, pulses at 60Khz probably refreshing some DRAM.. + // mcu ties with CPU A1 (address) + // + // VIDEO B12 non-NTSC EGA? + // mcu ties with CPU A3 (address) + // + // Vsync B13 60Khz? + // mcu ties with CPU A2 (address) + // + // Hsync B14 16Khz? + // mcu ties with AFL (for A17+ flipflop clk/oen) + + + // CONSOLE INPUTS: + // #H_RESET B2 (aka nMRES) console input, causes a hard reset, like what happens at power up + // enables the OS rom which verifies "SEGA" present + // + // #S_RESET B30 (aka SEL0) console input, causes a soft reset, like pressing reset on the console + // SMS power adapter grounds this pin + // TODO SWCLK PA14 + // + // #CART_IN B32 controls the address mapping of #C_CE, most carts ground this pin, CD ram adapter ties VCC + // TODO PD2 (COUT) + // + // SOUND_LEFT B1 cart audio output + // TODO ADC IN PA4 (AUDL) + // + // SOUND_RIGHT B3 cart audio output + // TODO ADC IN PA5 (AUDR) + + + // CONSOLE BIDIR: + // #DTACK B20 bidirectional indicates end of data transfer, think the CPU stalls till memory drives + // for non-cart space (wired to mcu pin PA13 (SWDIO) + + + //now meet conditions to call other macros + //setup address $00_0000 + ADDR_ENABLE(); //A1-16 + + //A17-18, #LO_MEM, A20-23, #TIME + //behind AFL + FFADDR_ENABLE(); + // 0b1000_0100 #LO_MEM & #TIME high +#define LOMEM_TIME_MSK 0x84 //TODO put this in pinport? + FFADDR_SET(LOMEM_TIME_MSK); //corrupts A1-16 + + //A1-16 + ADDR_SET(0x0000); + + //A19 (pin B7) SMS power adapter drives this pin for #IORQ + IRQ_OP(); + IRQ_LO(); //A19 low //memories are now disabled Data bus should be clear + + // SEGA D0-7 DATA_ENABLE(); DATA_IP_PU(); - //now meet conditions to call other macros - //setup address $0000 - ADDR_ENABLE(); - ADDR_SET(0x0000); - - //setup HIGH ADDR with bank $00 + //SEGA D8-15 HADDR_ENABLE(); - HADDR_SET(0x00); + HADDR_IP(); + HADDR_PU(); } #endif + +//N64 cartridge interfacing setup +//set outputs as required +//latch address of $0000 +//disable cart memories +#ifdef N64_CONN +void n64_init() +{ + //start with a reset + //expecting user to do this but just to be sure + //this also sets power to 3v + io_reset(); + + //enable control outputs and disable memories + //ROM-RAM + + // ALE_L + ALE_L_OP(); //ROMSEL_OP(); + ALE_L_HI(); //ROMSEL_HI(); + + // ALE_H + ALE_H_OP(); //PRGRW_OP(); + ALE_H_OP(); //PRGRW_HI(); + + // RD + CSRD_OP(); + CSRD_HI(); + + // WR + CSWR_OP(); + CSWR_HI(); + + // COLD #RESET + EXP0_OP(); + EXP0_HI(); + + //TODO + //1.6Mhz clock -> D4 (PB12) + //S_DAT -> D5 (PB13) + //CIC_D2 -> D14 (PA9) + //JTAG_CLK_44 -> D15 (PA10) + //BLANK 14 & 39 -> D9/D10 (PB3/4) + //CIC_D1 -> D11 (PB5) + //VIDEO_CLK_46 -> D12 (PB6) + //OS_EVENT -> D13 (PB7) + // + // SOUND_LEFT + // TODO ADC IN PA4 (AUDL) + // + // SOUND_RIGHT + // TODO ADC IN PA5 (AUDR) + + //AD0-15 leave as input pullup + ADDR_ENABLE(); //turns on GPIO block & sets to output + ADDR_IP(); //ad0-15 input + ADDR_PU(); //ad0-15 pullup + ADDR_SET(0x0000); //output set to zero, but won't take effect until outputed + + +} +#endif + + //Initialization of SWIM "single wire interface module" communications //the SWIM pin depends on INL board design. //dict call must provide the "swim_lane" diff --git a/firmware/source/io.h b/firmware/source/io.h index fb91b58..3467dc3 100644 --- a/firmware/source/io.h +++ b/firmware/source/io.h @@ -15,6 +15,7 @@ void snes_init(); void gameboy_init(); void gba_init(); void sega_init(); +void n64_init(); uint8_t swim_init(uint8_t opcode); uint8_t jtag_init(uint8_t opcode); uint8_t exp0_pullup_test(); diff --git a/firmware/source/n64.c b/firmware/source/n64.c index 732ad2a..101b22b 100644 --- a/firmware/source/n64.c +++ b/firmware/source/n64.c @@ -3,6 +3,8 @@ //only need this file if connector is present on the device #ifdef N64_CONN +uint16_t n64_bank; + //================================================================================================= // // N64 operations @@ -32,15 +34,39 @@ uint8_t n64_call( uint8_t opcode, uint8_t miscdata, uint16_t operand, uint8_t *r switch (opcode) { // //no return value: - case N64_WR: - n64_wr( operand, miscdata ); + // TODO case N64_WR: + // n64_wr( operand, miscdata ); + // break; + + case N64_SET_BANK: + n64_bank = operand; + break; + + case N64_LATCH_ADDR: + //operand A0-15, use SET_ADDR_HI above to set upper address (aka "bank") + n64_latch_addr( operand ); + break; + + case N64_RELEASE_BUS: + //latch addr will do this for us so maybe not needed.. + ALE_H_HI(); + NOP(); + NOP(); + NOP(); + NOP(); + NOP(); + ALE_L_HI(); break; //8bit return values: case N64_RD: - rdata[RD_LEN] = BYTE_LEN; - rdata[RD0] = n64_rd( operand ); + rdata[RD_LEN] = HWORD_LEN; + //can use operand as a variable + operand = n64_rd(); + rdata[RD0] = operand; + rdata[RD1] = operand>>8; break; + default: //macro doesn't exist return ERR_UNKN_N64_OPCODE; @@ -50,16 +76,105 @@ uint8_t n64_call( uint8_t opcode, uint8_t miscdata, uint16_t operand, uint8_t *r } -uint8_t n64_rd( uint16_t addr ) -{ - return 0xAA; -} - - void n64_wr( uint16_t addr, uint8_t data ) { return; } +//latches AD1-15, leaves ALE_L/H low for subsequent accesses +//RD shouldn't be left low, assuming high +void n64_latch_addr( uint16_t addr_lo ) +{ + //store address so other functions can keep track of incrementing + //cur_addr_lo = addr_lo; + + //set ALE high incase it wasn't + ALE_H_HI(); + NOP(); + NOP(); + NOP(); + NOP(); + NOP(); + NOP(); + ALE_L_HI(); + + //set addr & data bus to output + ADDR_OP(); + + //IDK if the order ALE_H/L matters, docs have H first + ADDR_SET(n64_bank); + NOP(); + ALE_H_LO(); + + //latch low address A0 is effectively ignored + ADDR_SET(addr_lo); + NOP(); + ALE_L_LO(); + + //leave AD0-15 as input for subsequent access + ADDR_IP(); + + return; +} + +//address must already have been latched +//will increment address variables and A16-23 +//ready to read next byte +uint16_t n64_rd() +{ + uint16_t read; + + //if( cur_addr_lo == 0xFFFF ) { + // //going to have a roll over when incrementing + // cur_addr_hi++; + // //don't output it till this access is done though + //} + + CSRD_LO(); + //cur_addr_lo++; //increment to next byte that will be read + + NOP(); + NOP(); + + read = ADDR_VAL; + CSRD_HI(); + + return read; +} + +//can only read 255 bytes, len can't be 255 else it would create infinite loop +// I think the byte read version is actually slightly faster...? +uint8_t n64_page_rd( uint8_t *data, uint8_t addrH, uint8_t first, uint8_t len ) +{ + uint16_t read; + uint8_t i; + + n64_latch_addr( addrH<<8 | first ); + + //now can call n64_rd to get 16bits of data + + for( i=0; i<=len; i++ ) { + + //usbPoll(); //Call usbdrv.h usb polling while waiting for data + + //read 16bits + read = n64_rd(); + + //store lower byte little endian + //now stores entire 16bit read at once + data[i] = read>>8; + + //upper byte + i++; + + //store upper byte + data[i] = read; + } + + //return index of last byte read + return i; +} + + #endif //N64_CONN diff --git a/firmware/source/n64.h b/firmware/source/n64.h index f09dcb4..2900814 100644 --- a/firmware/source/n64.h +++ b/firmware/source/n64.h @@ -7,7 +7,10 @@ uint8_t n64_call( uint8_t opcode, uint8_t miscdata, uint16_t operand, uint8_t *rdata ); -uint8_t n64_rd( uint16_t addr ); +uint16_t n64_rd(); void n64_wr( uint16_t addr, uint8_t data ); +void n64_latch_addr( uint16_t addr_lo ); +uint8_t n64_page_rd( uint8_t *data, uint8_t addrH, uint8_t first, uint8_t len ); + #endif diff --git a/firmware/source/pinport.c b/firmware/source/pinport.c index c12fca4..217663f 100644 --- a/firmware/source/pinport.c +++ b/firmware/source/pinport.c @@ -391,6 +391,12 @@ uint8_t pinport_call( uint8_t opcode, uint8_t miscdata, uint16_t operand, uint8_ case ADDR_IP_: ADDR_IP(); break; case ADDR_OP_: ADDR_OP(); break; case ADDR_SET_: ADDR_SET(operand); break; + #ifdef ADDR_VAL + case ADDR_RD_: rdata[RD_LEN] = 1; + rdata[RD0] = ADDR_VAL; + rdata[RD1] = ADDR_VAL>>8; break; + #endif + //============================ //EXP PORT 8bit ACCESS (bits1-8) @@ -401,6 +407,7 @@ uint8_t pinport_call( uint8_t opcode, uint8_t miscdata, uint16_t operand, uint8_ case EXP_DISABLE_: EXP_DISABLE(); break; case EXP_SET_: EXP_SET(operand); break; + //============================ //HIGH ADDR PORT 8bit WIDE ACCESS //opcode: type of operation @@ -412,6 +419,19 @@ uint8_t pinport_call( uint8_t opcode, uint8_t miscdata, uint16_t operand, uint8_ case HADDR_SET_: HADDR_SET(operand); break; #endif + + //============================ + //FLIPFLOP ADDR PORT 8bit WIDE ACCESS + //opcode: type of operation + //operand: value to place on bus + //============================ + #ifdef SEGA_CONN + case FFADDR_ENABLE_: FFADDR_ENABLE(); break; + case FFADDR_DISABLE_: FFADDR_DISABLE(); break; + case FFADDR_SET_: FFADDR_SET(operand); break; + #endif + + default: //macro doesn't exist or isn't on this PCB version return ERR_UNKN_PP_OPCODE; diff --git a/firmware/source/pinport.h b/firmware/source/pinport.h index b29b81b..4423738 100644 --- a/firmware/source/pinport.h +++ b/firmware/source/pinport.h @@ -31,6 +31,11 @@ uint8_t pinport_call( uint8_t opcode, uint8_t miscdata, uint16_t operand, uint8_ #define ROMSEL_LO() CTL_SET_LO(ROMSELbank, ROMSEL) #define ROMSEL_HI() CTL_SET_HI(ROMSELbank, ROMSEL) #define ROMSEL_RD(val) CTL_RD(ROMSELbank, ROMSEL, val) +// same pin: N64 ALE_L +#define ALE_L_OP() CTL_OP(ROMSELbank, ROMSEL) +#define ALE_L_IP_PU() CTL_IP_PU(ROMSELbank, ROMSEL) +#define ALE_L_LO() CTL_SET_LO(ROMSELbank, ROMSEL) +#define ALE_L_HI() CTL_SET_HI(ROMSELbank, ROMSEL) // PC2 "PRGRW" #define PRGRW_IP_PU() CTL_IP_PU(PRGRWbank, PRGRW) @@ -39,6 +44,11 @@ uint8_t pinport_call( uint8_t opcode, uint8_t miscdata, uint16_t operand, uint8_ #define PRGRW_LO() CTL_SET_LO(PRGRWbank, PRGRW) #define PRGRW_HI() CTL_SET_HI(PRGRWbank, PRGRW) #define PRGRW_RD(val) CTL_RD(PRGRWbank, PRGRW, val) +// same pin: N64 ALE_H +#define ALE_H_IP_PU() CTL_IP_PU(PRGRWbank, PRGRW) +#define ALE_H_OP() CTL_OP(PRGRWbank, PRGRW) +#define ALE_H_LO() CTL_SET_LO(PRGRWbank, PRGRW) +#define ALE_H_HI() CTL_SET_HI(PRGRWbank, PRGRW) // PC3 "FREE" #ifndef C3nodef diff --git a/firmware/source/pinport_al.h b/firmware/source/pinport_al.h index 27a3307..9df9bd2 100644 --- a/firmware/source/pinport_al.h +++ b/firmware/source/pinport_al.h @@ -1165,8 +1165,9 @@ void software_AXL_CLK(); //Appears to be working for setting A10, but not A11 reguardless of order of execution.. //TODO really these macros should be making byte writes to the registers, not 16bit RMW #define ADDR_SET(hword) Abank->ODR = hword - #define ADDR_RD(hword) hword = Abank->IDR - #define ADDR_VAL (Abank->IDR) + #define ADDR_CUR (Abank->ODR) //can use this to determine current address + #define ADDR_RD(hword) hword = Abank->IDR //can use this as a function ADDR_RD(data) + #define ADDR_VAL (Abank->IDR) //can use this to assign: data = ADDR_VAL #define ADDR_EN_CLK() RCC->AHBENR |= RCC_AHBENR_ADDR #define ADDR_ENABLE() ADDR_EN_CLK(); ADDR_OP() @@ -1216,6 +1217,36 @@ void software_AXL_CLK(); #endif //AVR_KAZZO +// --------------------------------------------------------------------------------------- +// FLIPFLOP ADDR PORT 8bit +// +// This port is present on devices with sega connectors, and SNES if supports EXP pins +// It's behind the 8x Flipflop to give access to Sega A17-18, #AS, A20-23, #TIME +// SNES doesn't connect to FF0-3, but FF4-7 connect to /PARD, /PAWR, REFRESH, /WRAMSEL +// Directionality: All pins are forced output +// Driver: All pins are push-pull +// Write/Output: Byte access only, no bit accesses +// Read/Input: Not supported +// +// --------------------------------------------------------------------------------------- + +#if defined(STM_INL6) || defined(STM_INL6_PROTO) + + //These are behind the AFL flipflop similar to how the STM_NES has A8-15 behind AHL flipflop + //But the Flipflop's inputs are AD0-7 + #define FFADDR_ENABLE() CTL_OP(AFLbank, AFL); CTL_SET_LO(AFLbank, AFL) + #define FFADDR_DISABLE() CTL_IP_PU(AFLbank, AFL); + + //FFADDR must already be enabled + #define AFL_CLK() CTL_SET_HI(AFLbank, AFL); CTL_SET_LO(AFLbank, AFL) + + //assumes A0-7 are enabled & outputs, corrupts AD0-15 (sega A1-16), AFL must be enabled & low/clocked + #define FFADDR_SET(high) ADDR_SET(high); AFL_CLK(); + + +#endif //STM_INL6 + + // --------------------------------------------------------------------------------------- // EXPANSION PORT 8bit pins #1-8 // @@ -1399,6 +1430,8 @@ void software_AXL_CLK(); #define HADDR_SET(val) A16_21bank->ODR = ((A16_21bank->ODR&0x03FF) | (val<<10 & 0xFC00)); A22_23bank->ODR = ((A22_23bank->ODR & 0xF9FF) | (val<<3 & 0x0600)) + + #define HADDR_EN_CLK() RCC->AHBENR |= RCC_AHBENR_HADDR #define HADDR_ENABLE() HADDR_EN_CLK(); HADDR_OP() #define HADDR_DISABLE() HADDR_PU(); HADDR_IP() @@ -1418,6 +1451,12 @@ void software_AXL_CLK(); #define HADDR_SET(val) A16_21bank->ODR = ((A16_21bank->ODR&0xFF03) | (val<<2 & 0x00FC)); A22_23bank->ODR = ((A22_23bank->ODR & 0xF9FF) | (val<<3 & 0x0600)) + //sega reading D8-15 + //D8-13 are on PB2-7 + //D14-15 are on PA9-10 + #define HDATA_VAL (((A16_21bank->IDR)&0x00FC)>>2) | (((A22_23bank->IDR)&0x0600) >>3) + //can use this to assign: data = HDATA_VAL + #define HADDR_EN_CLK() RCC->AHBENR |= RCC_AHBENR_HADDR #define HADDR_ENABLE() HADDR_EN_CLK(); HADDR_OP() #define HADDR_DISABLE() HADDR_PU(); HADDR_IP() diff --git a/firmware/source/sega.c b/firmware/source/sega.c index 402983b..56619e3 100644 --- a/firmware/source/sega.c +++ b/firmware/source/sega.c @@ -29,6 +29,8 @@ uint8_t sega_call( uint8_t opcode, uint8_t miscdata, uint16_t operand, uint8_t * #define BYTE_LEN 1 #define HWORD_LEN 2 + + uint16_t temp; switch (opcode) { // //no return value: @@ -36,6 +38,21 @@ uint8_t sega_call( uint8_t opcode, uint8_t miscdata, uint16_t operand, uint8_t * sega_wr( operand, miscdata ); break; + case SET_BANK: + temp = ADDR_CUR; //this will get stomped +#define LOMEM_TIME_MASK 0x84 + //A17-18, 20-23 + FFADDR_SET( operand | LOMEM_TIME_MASK ); //TODO decode #TIME & LO_MEM + ADDR_SET(temp); //restore A1-16 +#define SEGA_A19_MASK 0x04 + //A19 + if ( operand & SEGA_A19_MASK ) { + IRQ_HI(); + } else { + IRQ_LO(); + } + break; + //8bit return values: case SEGA_RD: rdata[RD_LEN] = BYTE_LEN; @@ -62,4 +79,74 @@ void sega_wr( uint16_t addr, uint8_t data ) } +/* Desc:SNES ROM Page Read with optional USB polling + * /ROMSEL based on romsel arg, EXP0/RESET unaffected + * if poll is true calls usbdrv.h usbPoll fuction + * this is needed to keep from timing out when double buffering usb data + * Pre: snes_init() setup of io pins + * num_bytes can't exceed 256B page boundary + * Post:address left on bus + * data bus left clear + * data buffer filled starting at first to last + * Rtn: Index of last byte read + */ +uint8_t genesis_page_rd( uint8_t *data, uint16_t addrH, uint8_t first, uint8_t len ) +{ + uint8_t i; + + uint16_t address = first>>1; //shift because there is no A0 + + //address = ((addrH<<8) | first)>>1; //shift because there is no A0 + address = (addrH<<7) | address; //shift because there is no A0 + + //set address + //ADDRH(addrH); + ADDRH(address>>8); + + //set #C_CE + ROMSEL_LO(); + + //set #C_OE + CSRD_LO(); + + first = address; + + //set lower address bits + ADDRL(first); //doing this prior to entry and right after latching + //gives longest delay between address out and latching data + for( i=0; i<=len; i++ ) { + + //gameboy needed some extra NOPS + NOP(); + NOP(); + NOP(); + NOP(); + NOP(); + NOP(); + NOP(); + NOP(); + + //latch data high byte + data[i] = HDATA_VAL; + + i++; + + //latch data low byte + DATA_RD(data[i]); + + //set lower address bits + //ADDRL(++first); THIS broke things, on stm adapter because macro expands it twice! + first++; + ADDRL(first); + } + + //return bus to default + CSRD_HI(); + ROMSEL_HI(); + + //return index of last byte read + return i; +} + + #endif //SEGA_CONN diff --git a/firmware/source/sega.h b/firmware/source/sega.h index 2e0b5fc..631222f 100644 --- a/firmware/source/sega.h +++ b/firmware/source/sega.h @@ -5,9 +5,12 @@ #include "shared_dictionaries.h" #include "shared_errors.h" + uint8_t sega_call( uint8_t opcode, uint8_t miscdata, uint16_t operand, uint8_t *rdata ); uint8_t sega_rd( uint16_t addr ); void sega_wr( uint16_t addr, uint8_t data ); +uint8_t genesis_page_rd( uint8_t *data, uint16_t addrH, uint8_t first, uint8_t len ); + #endif diff --git a/host/scripts/gba/basic.lua b/host/scripts/gba/basic.lua index 544b141..18bc39e 100644 --- a/host/scripts/gba/basic.lua +++ b/host/scripts/gba/basic.lua @@ -121,7 +121,7 @@ local function process(process_opts, console_opts) --dump cart into file time.start() dump_rom(file, rom_size, false) - time.report(rom_size_KB) + time.report(rom_size) --close file assert(file:close()) @@ -160,7 +160,7 @@ local function process(process_opts, console_opts) --dump cart into file time.start() dump_rom(file, rom_size, false) - time.report(rom_size_KB) + time.report(rom_size) --close file assert(file:close()) diff --git a/host/scripts/inlretro.lua b/host/scripts/inlretro.lua index 7460c81..f63bbac 100644 --- a/host/scripts/inlretro.lua +++ b/host/scripts/inlretro.lua @@ -92,6 +92,12 @@ function main () --GBA --local curcart = require "scripts.gba.basic" + + --SEGA GENESIS + --local curcart = require "scripts.sega.genesis_v1" + + --N64 + --local curcart = require "scripts.n64.basic" -- ===================================================== -- USERS: set cart_console to the to point to the mapper script you would like to use here. @@ -111,7 +117,7 @@ function main () -- will be ignored by mappers that don't support RAM. -- ===================================================== local process_opts = { - test = true, + test = false, read = true, erase = false, program = false, @@ -131,6 +137,7 @@ function main () local console_opts = { mirror = nil, -- Only used by latest INL discrete flash boards, set to "H" or "V" to change board mirroring prg_rom_size_kb = 32, -- Size of NES PRG-ROM in KByte + --prg_rom_size_kb = 8*1024, -- 8MByte ROM size example chr_rom_size_kb = 8, -- Size of NES CHR-ROM in KByte wram_size_kb = 0, -- Size of NES PRG-RAM/WRAM in KByte } @@ -207,11 +214,14 @@ function main () elseif cart_console == "SEGA" then + curcart.process(process_opts, console_opts) + --always end with and gpio reset incase the script didn't dict.io("IO_RESET") elseif cart_console == "N64" then + curcart.process(process_opts, console_opts) --always end with and gpio reset incase the script didn't dict.io("IO_RESET") @@ -250,6 +260,7 @@ function main () elseif cart_console == "SMS" then + curcart.process(process_opts, console_opts) --always end with and gpio reset incase the script didn't dict.io("IO_RESET") end diff --git a/host/scripts/n64/basic.lua b/host/scripts/n64/basic.lua new file mode 100644 index 0000000..07a1edf --- /dev/null +++ b/host/scripts/n64/basic.lua @@ -0,0 +1,203 @@ + +-- create the module's table +local genesis_v1 = {} + +-- import required modules +local dict = require "scripts.app.dict" +local dump = require "scripts.app.dump" +local flash = require "scripts.app.flash" +local help = require "scripts.app.help" + +-- file constants + +-- local functions + +--dump the SNES ROM starting at the provided bank +--/ROMSEL is always low for this dump +local function dump_rom( file, rom_size_KB, debug ) + + local KB_per_bank = 64 --AD0-15 = 64K address space, A0 ignored so 1Byte per address! + local addr_base = 0x0000 -- control signals are manually controlled + + local bank_base = 0x1000 --N64 roms start at address 0x1000_0000 + + local num_reads = rom_size_KB / KB_per_bank + local read_count = 0 + + +-- dict.n64("N64_SET_BANK", bank_base + 0) +-- dict.n64("N64_LATCH_ADDR", 0x0000) +-- print("read: ", help.hex(dict.n64("N64_RD"))) +-- print("read: ", help.hex(dict.n64("N64_RD"))) +-- dict.n64("N64_SET_BANK", bank_base + 0) +-- dict.n64("N64_LATCH_ADDR", 0x0000) +-- dump.dumptofile( file, KB_per_bank, addr_base, "N64_ROM_PAGE", false ) +-- dict.n64("N64_RELEASE_BUS") + + while ( read_count < num_reads ) do + + if debug then print( "dump ROM part ", read_count, " of ", num_reads) end + + if (read_count %8 == 0) then + print("dumping ROM bank: ", read_count, " of ", num_reads-1) + end + + --select desired bank + dict.n64("N64_SET_BANK", (bank_base+read_count)) + + --dump a 64KByte chunk of rom + dump.dumptofile( file, KB_per_bank, addr_base, "N64_ROM_PAGE", false ) + + --prob don't need this till done.. + dict.n64("N64_RELEASE_BUS") + + read_count = read_count + 1 + end + + dict.n64("N64_RELEASE_BUS") + +end + +--Cart should be in reset state upon calling this function +--this function processes all user requests for this specific board/mapper +local function process(process_opts, console_opts) + local test = process_opts["test"] + local read = process_opts["read"] + local erase = process_opts["erase"] + local program = process_opts["program"] + local verify = process_opts["verify"] + local dumpfile = process_opts["dump_filename"] + local flashfile = process_opts["flash_filename"] + local verifyfile = process_opts["verify_filename"] + + local rv = nil + local file + local rom_size = console_opts["prg_rom_size_kb"] + local wram_size = console_opts["wram_size_kb"] + local mirror = console_opts["mirror"] + + +--initialize device i/o for N64 + dict.io("IO_RESET") + dict.io("N64_INIT") + + +--test cart by reading manf/prod ID + if test then + +-- print("Testing SNES board"); +-- +-- --SNES detect HiROM or LoROM & RAM +-- +-- --SNES detect if able to read flash ID's +-- if not rom_manf_id(true) then +-- print("ERROR unable to read flash ID") +-- return +-- end + end + + +--dump the ram to file + if dumpram then + +-- print("\nDumping SAVE RAM...") +-- +-- --may have to verify /RESET is high to enable SRAM +-- +-- file = assert(io.open(ramdumpfile, "wb")) +-- +-- --dump cart into file +-- dump_ram(file, rambank, ram_size, snes_mapping, true) +-- +-- --may disable SRAM by placing /RESET low +-- +-- --close file +-- assert(file:close()) +-- +-- print("DONE Dumping SAVE RAM") + end + +--dump the cart to dumpfile + if read then + print("\nDumping N64 ROM...") + + file = assert(io.open(dumpfile, "wb")) + + --dump cart into file + dump_rom(file, rom_size, false) + + --close file + assert(file:close()) + print("DONE Dumping N64 ROM") + end + +--erase the cart + if erase then + + -- erase_flash() + end + +--write to wram on the cart + if writeram then + +-- print("\nWritting to SAVE RAM...") +-- +-- file = assert(io.open(ramwritefile, "rb")) +-- +-- --flash.write_file( file, ram_size, "NOVAR", "PRGRAM", false ) +-- --flash.write_file( file, ram_size, "LOROM_3VOLT", "SNESROM", false ) +-- wr_ram(file, rambank, ram_size, snes_mapping, true) +-- +-- --close file +-- assert(file:close()) +-- +-- print("DONE Writting SAVE RAM") + end + + +--program flashfile to the cart + if program then + +-- --open file +-- file = assert(io.open(flashfile, "rb")) +-- --determine if auto-doubling, deinterleaving, etc, +-- --needs done to make board compatible with rom +-- +-- --flash cart +-- flash_rom(file, rom_size, snes_mapping, true) +-- +-- --close file +-- assert(file:close()) + + end + +--verify flashfile is on the cart + if verify then +-- print("\nPost dumping SNES ROM...") +-- --for now let's just dump the file and verify manually +-- +-- file = assert(io.open(verifyfile, "wb")) +-- +-- --dump cart into file +-- dump_rom(file, rom_size, false) +-- +-- --close file +-- assert(file:close()) +-- print("DONE Post dumping SNES ROM") + end + + dict.io("IO_RESET") +end + + +-- global variables so other modules can use them + + +-- call functions desired to run when script is called/imported + + +-- functions other modules are able to call +genesis_v1.process = process + +-- return the module's table +return genesis_v1 diff --git a/host/scripts/sega/genesis_v1.lua b/host/scripts/sega/genesis_v1.lua new file mode 100644 index 0000000..c8637c0 --- /dev/null +++ b/host/scripts/sega/genesis_v1.lua @@ -0,0 +1,188 @@ + +-- create the module's table +local genesis_v1 = {} + +-- import required modules +local dict = require "scripts.app.dict" +local dump = require "scripts.app.dump" +local flash = require "scripts.app.flash" +local snes = require "scripts.app.snes" +local apperase = require "scripts.app.erase" + +-- file constants + +-- local functions + +--dump the SNES ROM starting at the provided bank +--/ROMSEL is always low for this dump +local function dump_rom( file, rom_size_KB, debug ) + + local KB_per_bank = 128 -- A1-16 = 64K address space, 2Bytes per address + local addr_base = 0x0000 -- control signals are manually controlled + + + local num_reads = rom_size_KB / KB_per_bank + local read_count = 0 + + while ( read_count < num_reads ) do + + if debug then print( "dump ROM part ", read_count, " of ", num_reads) end + + if (read_count %8 == 0) then + print("dumping ROM bank: ", read_count, " of ", num_reads-1) + end + + --select desired bank + dict.sega("SET_BANK", read_count) + + dump.dumptofile( file, KB_per_bank/2, addr_base, "GENESIS_ROM_PAGE0", false ) + dump.dumptofile( file, KB_per_bank/2, addr_base, "GENESIS_ROM_PAGE1", false ) + + read_count = read_count + 1 + end + +end + +--Cart should be in reset state upon calling this function +--this function processes all user requests for this specific board/mapper +local function process(process_opts, console_opts) + local test = process_opts["test"] + local read = process_opts["read"] + local erase = process_opts["erase"] + local program = process_opts["program"] + local verify = process_opts["verify"] + local dumpfile = process_opts["dump_filename"] + local flashfile = process_opts["flash_filename"] + local verifyfile = process_opts["verify_filename"] + + local rv = nil + local file + local rom_size = console_opts["prg_rom_size_kb"] + local wram_size = console_opts["wram_size_kb"] + local mirror = console_opts["mirror"] + + +--initialize device i/o for SEGA + dict.io("IO_RESET") + dict.io("SEGA_INIT") + + +--test cart by reading manf/prod ID + if test then + +-- print("Testing SNES board"); +-- +-- --SNES detect HiROM or LoROM & RAM +-- +-- --SNES detect if able to read flash ID's +-- if not rom_manf_id(true) then +-- print("ERROR unable to read flash ID") +-- return +-- end + end + + +--dump the ram to file + if dumpram then + +-- print("\nDumping SAVE RAM...") +-- +-- --may have to verify /RESET is high to enable SRAM +-- +-- file = assert(io.open(ramdumpfile, "wb")) +-- +-- --dump cart into file +-- dump_ram(file, rambank, ram_size, snes_mapping, true) +-- +-- --may disable SRAM by placing /RESET low +-- +-- --close file +-- assert(file:close()) +-- +-- print("DONE Dumping SAVE RAM") + end + +--dump the cart to dumpfile + if read then + print("\nDumping SEGA ROM...") + + file = assert(io.open(dumpfile, "wb")) + + --dump cart into file + dump_rom(file, rom_size, true) + + --close file + assert(file:close()) + print("DONE Dumping SEGA ROM") + end + +--erase the cart + if erase then + + -- erase_flash() + end + +--write to wram on the cart + if writeram then + +-- print("\nWritting to SAVE RAM...") +-- +-- file = assert(io.open(ramwritefile, "rb")) +-- +-- --flash.write_file( file, ram_size, "NOVAR", "PRGRAM", false ) +-- --flash.write_file( file, ram_size, "LOROM_3VOLT", "SNESROM", false ) +-- wr_ram(file, rambank, ram_size, snes_mapping, true) +-- +-- --close file +-- assert(file:close()) +-- +-- print("DONE Writting SAVE RAM") + end + + +--program flashfile to the cart + if program then + +-- --open file +-- file = assert(io.open(flashfile, "rb")) +-- --determine if auto-doubling, deinterleaving, etc, +-- --needs done to make board compatible with rom +-- +-- --flash cart +-- flash_rom(file, rom_size, snes_mapping, true) +-- +-- --close file +-- assert(file:close()) + + end + +--verify flashfile is on the cart + if verify then +-- print("\nPost dumping SNES ROM...") +-- --for now let's just dump the file and verify manually +-- +-- file = assert(io.open(verifyfile, "wb")) +-- +-- --dump cart into file +-- dump_rom(file, rom_size, true) +-- +-- --close file +-- assert(file:close()) +-- print("DONE Post dumping SNES ROM") + end + + dict.io("IO_RESET") +end + + +-- global variables so other modules can use them + + +-- call functions desired to run when script is called/imported + + +-- functions other modules are able to call +genesis_v1.process = process + +-- return the module's table +return genesis_v1 diff --git a/shared/shared_dict_buffer.h b/shared/shared_dict_buffer.h index 820432e..2d22073 100644 --- a/shared/shared_dict_buffer.h +++ b/shared/shared_dict_buffer.h @@ -122,6 +122,10 @@ #define SNESSYS_PAGE 0x25 //mapper byte specifies A15-8 ROMSEL high #define GAMEBOY_PAGE 0x26 //mapper byte specifies A15-8 #define GBA_ROM_PAGE 0x27 //address must have already been latched with gba dictionary + #define GENESIS_ROM_PAGE0 0x28 //bank address A17-23 must have been latched already + //TODO come up with better way to handle genesis address complications + #define GENESIS_ROM_PAGE1 0x29 //bank address A17-23 must have been latched already + #define N64_ROM_PAGE 0x30 //operand LSB //SST 39SF0x0 manf/prod IDs diff --git a/shared/shared_dict_n64.h b/shared/shared_dict_n64.h index a87c336..968b654 100644 --- a/shared/shared_dict_n64.h +++ b/shared/shared_dict_n64.h @@ -17,7 +17,11 @@ //============================================================================================= -#define N64_RD 0 //RL=3 return error code, data len = 1, 1 byte of data -#define N64_WR 1 +#define N64_RD 0 //RL=4 return error code, data len = 1, 2 bytes of data (D0-15) +// TODO #define N64_WR 1 + +#define N64_SET_BANK 2 //operand = A16-31 for next address latch, this merely updates a firmware variable +#define N64_LATCH_ADDR 3 //operand = A0-15 (A0 ignored by rom), BANK from above used for A16-31 +#define N64_RELEASE_BUS 4 //take ALE_L/H high to end the access #endif diff --git a/shared/shared_dict_pinport.h b/shared/shared_dict_pinport.h index 892ec3f..42acc9b 100644 --- a/shared/shared_dict_pinport.h +++ b/shared/shared_dict_pinport.h @@ -163,6 +163,7 @@ #define ADDR_IP_ 15 #define ADDR_OP_ 16 #define ADDR_SET_ 17 +#define ADDR_RD_ 26 //doesn't work on devices without direct access to 16bit address bus //============================ //EXP PORT 8bit ACCESS (bits1-8) @@ -182,4 +183,19 @@ #define HADDR_DISABLE_ 22 #define HADDR_SET_ 23 +// CTL_OD_ 24 above +// CTL_PP_ 25 above +// ADDR_RD_ 26 above + +//============================ +//FLIPFLOP ADDR PORT 8bit WIDE ACCESS +//SEGA: FF0-7 connecto to A17-18, #AS, A20-23, #TIME +//opcode: type of operation +//operand: value to place on bus +//NOTE: these operations corrupt the ADDR bus, so call this first +//============================ +#define FFADDR_ENABLE_ 27 +#define FFADDR_DISABLE_ 28 +#define FFADDR_SET_ 29 + #endif diff --git a/shared/shared_dict_sega.h b/shared/shared_dict_sega.h index 1544d56..a5f9141 100644 --- a/shared/shared_dict_sega.h +++ b/shared/shared_dict_sega.h @@ -16,8 +16,13 @@ //============================================================================================= //============================================================================================= +//TODO THESE ARE JUST PLACE HOLDERS... #define SEGA_RD 0 //RL=3 return error code, data len = 1, 1 byte of data #define SEGA_WR 1 +// GENESIS ADDR A17-23 along with #LO_MEM & #TIME +// TODO separate #LO_MEM & #TIME, they're currently fixed high +#define SET_BANK 2 + #endif