diff --git a/firmware/Make_stm_adapter b/firmware/Make_stm_adapter index 65459ec..1c6c1e0 100644 --- a/firmware/Make_stm_adapter +++ b/firmware/Make_stm_adapter @@ -50,14 +50,12 @@ LFLAGS=$(USE_NANO) $(USE_NOHOST) $(LDSCRIPTS) $(GC) $(MAP) DEFINE+=\ -DSTM32F070x6 \ - -DF_CPU=16000000 \ + -DF_CPU=48000000 \ -DSTM_CORE \ -DSTM_ADAPTER #stm32 to kazzo adapter board -# -DSTM_INL6 #inlretro 6connector +# -DSTM32F070x6 \ #32KB version of both packages (TSSOP-20,LQFP-48) # -DSTM32F072x8 \ #64KB version of all packages (LQFP-48,64,100) # -DSTM32F070xB \ #128KB version of both packages (LQFP-48,64) -# -DSTM32F070x6 \ #32KB version of both packages (TSSOP-20,LQFP-48) -# -DF_CPU=8000000 INCLUDE=-I ./include_stm CFLAGS+= $(DEFINE) $(INCLUDE) diff --git a/firmware/Make_stm_inl6 b/firmware/Make_stm_inl6 index bff225c..755e918 100644 --- a/firmware/Make_stm_inl6 +++ b/firmware/Make_stm_inl6 @@ -36,6 +36,7 @@ STARTUP=$(BASE)/include_stm/startup_ARM$(CORE).S # -Os -flto -ffunction-sections -fdata-sections to compile for code size CFLAGS=$(ARCH_FLAGS) $(STARTUP_DEFS) -Os -flto -ffunction-sections -fdata-sections -g +#CFLAGS=$(ARCH_FLAGS) $(STARTUP_DEFS) -Os -flto -ffunction-sections -fdata-sections -g -fno-exceptions -fno-unwind-tables #CFLAGS=$(ARCH_FLAGS) $(STARTUP_DEFS) -flto -ffunction-sections -fdata-sections -g CXXFLAGS=$(CFLAGS) @@ -52,15 +53,13 @@ LFLAGS=$(USE_NANO) $(USE_NOHOST) $(LDSCRIPTS) $(GC) $(MAP) #TODO fix DF_CPU, now runs at 48Mhz DEFINE+=\ - -DSTM32F070x6 \ - -DF_CPU=16000000 \ + -DSTM32F070xB \ + -DF_CPU=48000000 \ -DSTM_CORE \ -DSTM_INL6 #inlretro 6connector -# -DSTM_ADAPTER #stm32 to kazzo adapter board +# -DSTM32F070x6 \ #32KB version of both packages (TSSOP-20,LQFP-48) # -DSTM32F072x8 \ #64KB version of all packages (LQFP-48,64,100) # -DSTM32F070xB \ #128KB version of both packages (LQFP-48,64) -# -DSTM32F070x6 \ #32KB version of both packages (TSSOP-20,LQFP-48) -# -DF_CPU=8000000 INCLUDE=-I ./include_stm CFLAGS+= $(DEFINE) $(INCLUDE) diff --git a/firmware/Make_stm_inl6p b/firmware/Make_stm_inl6p index 7b29559..c9f3bf4 100644 --- a/firmware/Make_stm_inl6p +++ b/firmware/Make_stm_inl6p @@ -51,16 +51,14 @@ LDSCRIPTS=-L. -L$(BASE)/include_stm -T nokeep.ld LFLAGS=$(USE_NANO) $(USE_NOHOST) $(LDSCRIPTS) $(GC) $(MAP) DEFINE+=\ - -DSTM32F070x6 \ - -DF_CPU=16000000 \ + -DSTM32F070xB \ + -DF_CPU=48000000 \ -DSTM_CORE \ -DSTM_INL6_PROTO #inlretro 6connector prototype -# -DSTM_INL6 #inlretro 6connector # -DSTM_ADAPTER #stm32 to kazzo adapter board +# -DSTM32F070x6 \ #32KB version of both packages (TSSOP-20,LQFP-48) # -DSTM32F072x8 \ #64KB version of all packages (LQFP-48,64,100) # -DSTM32F070xB \ #128KB version of both packages (LQFP-48,64) -# -DSTM32F070x6 \ #32KB version of both packages (TSSOP-20,LQFP-48) -# -DF_CPU=8000000 INCLUDE=-I ./include_stm CFLAGS+= $(DEFINE) $(INCLUDE) diff --git a/firmware/Make_stm_nes b/firmware/Make_stm_nes index c99794d..bcde0ad 100644 --- a/firmware/Make_stm_nes +++ b/firmware/Make_stm_nes @@ -50,15 +50,12 @@ LFLAGS=$(USE_NANO) $(USE_NOHOST) $(LDSCRIPTS) $(GC) $(MAP) DEFINE+=\ -DSTM32F070x6 \ - -DF_CPU=8000000 \ + -DF_CPU=4800000 \ -DSTM_CORE \ -DSTM_NES #stm32 with NES connector only v2.0N (070C6T6) -# -DSTM_ADAPTER #stm32 to kazzo adapter board -# -DSTM_INL6 #inlretro 6connector +# -DSTM32F070x6 \ #32KB version of both packages (TSSOP-20,LQFP-48) # -DSTM32F072x8 \ #64KB version of all packages (LQFP-48,64,100) # -DSTM32F070xB \ #128KB version of both packages (LQFP-48,64) -# -DSTM32F070x6 \ #32KB version of both packages (TSSOP-20,LQFP-48) -# -DF_CPU=8000000 INCLUDE=-I ./include_stm CFLAGS+= $(DEFINE) $(INCLUDE) diff --git a/firmware/build_stm/inlretro_stm.bin b/firmware/build_stm/inlretro_stm.bin deleted file mode 100644 index 06bb980..0000000 Binary files a/firmware/build_stm/inlretro_stm.bin and /dev/null differ diff --git a/firmware/build_stm/inlretro_stm.hex b/firmware/build_stm/inlretro_stm.hex deleted file mode 100644 index 94a9cc2..0000000 --- a/firmware/build_stm/inlretro_stm.hex +++ /dev/null @@ -1,1309 +0,0 @@ -:020000040800F2 -:1000000000180020C1000008FD0000089939000810 -:1000100000000000000000000000000000000000E0 -:10002000000000000000000000000000FD000008CB -:100030000000000000000000FD000008FD000008B6 -:10004000FD000008FD000008FD000008FD0000089C -:10005000FD000008FD000008FD000008FD0000088C -:10006000FD000008FD000008FD000008FD0000087C -:10007000FD000008FD000008FD000008FD0000086C -:10008000FD000008FD000008FD000008FD0000085C -:10009000FD000008FD000008FD000008FD0000084C -:1000A000FD000008FD000008FD000008FD0000083C -:1000B000FD000008FD000008FD000008AD36000846 -:1000C00009490A4A0A4B9B1A03DD043BC858D05021 -:1000D000FBDC0849084A0020521A02DD043A885025 -:1000E000FCDC01F0DDFE00006C4D0008000000208B -:1000F000300400203004002020070020FEE7C04626 -:10010000FF23F0B5B74C85B023700023637083796B -:1001100005000093407801380E2801D901F0AAFBB0 -:1001200004F03AFD0F00B1059B07A708650AA80B6C -:10013000930B2D09D509380A620AE508F708090961 -:100140001B09A878AA888C2319281CD804F024FD40 -:1001500024002C0022011E02EA0289031804D404A0 -:10016000F004FC0404050C0515051E052C053405DA -:100170003C0544051A001A001A0049055E0575057C -:10018000D202DE0200232370974B0098A2B2240C07 -:100190005A819C8105B0F0BDB023944A5B0351693C -:1001A0000B4353610023EEE7152A01D900F05CFDF3 -:1001B000100004F0F1FC160023002E005905390050 -:1001C00044004F0059055C00690073008000590528 -:1001D00059058D009A00A700B400C100CE00D800D8 -:1001E000E2009023DB051A6881490A401A608022E8 -:1001F000D96852030A43DA600023C4E7902301223E -:10020000DB05196891431960D9680A43DA60002355 -:10021000B9E790230422DB05196891431960D96876 -:100220000A43DA600023AEE790231022DB05196849 -:1002300091431960D9680A43DA600023A3E7902349 -:100240004022DB05196891431960D9680A43DA60D6 -:10025000002398E79023DB051A6866490A401A6074 -:100260008022D968D2040A43DA6000238BE7902306 -:10027000DB051A6860490A401A608022D968520179 -:100280000A43DA6000237EE704225C4B196891433D -:100290001960D9680A43DA60002374E79023DB050C -:1002A0001A6857490A401A608022D968D2050A4361 -:1002B000DA60002367E79023DB051A6851490A409A -:1002C0001A608022D968D2020A43DA6000235AE712 -:1002D0009023DB051A684C490A401A608022D968CD -:1002E00052000A43DA6000234DE79023DB051A68C9 -:1002F00046490A401A608022D968D2000A43DA606F -:10030000002340E79023DB051A6841490A401A6040 -:100310008022D968D2010A43DA60002333E79023B0 -:10032000DB051A6833490A401A608022D968D20472 -:100330000A43DA60002326E79023DB051A68354973 -:100340000A401A608022D96852050A43DA60002305 -:1003500019E70122294B196891431960D9680A43AA -:10036000DA6000230FE710222B4B196891431960C4 -:10037000D9680A43DA60002305E79023DB051A6891 -:1003800022490A401A608022D968D2000A43DA6002 -:100390000023F8E6152A01D900F069FC100004F0EA -:1003A000FBFB16003D004800660453005E00690038 -:1003B000660474007F0089009400660466049F0050 -:1003C000AA00B500C000CB00D600E000EA009023F0 -:1003D000DB051968064801401960DA680240DA60F6 -:1003E0000023D0E6E4060020006000400010024038 -:1003F000FFFFEFFFFFFFFFFBFFEFFFFF00040048E1 -:10040000FFFFFFBFFFFFFBFFFFFEFFFFFFFBFFFF45 -:10041000FFBFFFFFFFFFFFEF000C0048902301210B -:10042000DB051A688A431A60DA688A43DA600023B7 -:10043000A9E690230421DB051A688A431A60DA686A -:100440008A43DA6000239EE690231021DB051A68B8 -:100450008A431A60DA688A43DA60002393E69023BD -:100460004021DB051A688A431A60DA688A43DA6039 -:10047000002388E69023DB051968CE480140196007 -:10048000DA680240DA6000237DE69023DB05196814 -:10049000C94801401960DA680240DA60002372E658 -:1004A0000421C64B1A688A431A60DA688A43DA6004 -:1004B000002368E69023DB051968C14801401960F4 -:1004C000DA680240DA6000235DE69023DB051968F4 -:1004D000BC4801401960DA680240DA60002352E645 -:1004E0009023DB051968B84801401960DA680240BA -:1004F000DA60002347E69023DB051968B348014022 -:100500001960DA680240DA6000233CE69023DB05DC -:100510001968AF4801401960DA680240DA600023C8 -:1005200031E69023DB051968A24801401960DA68BA -:100530000240DA60002326E69023DB051968A5480F -:1005400001401960DA680240DA6000231BE60121ED -:100550009A4B1A688A431A60DA688A43DA60002381 -:1005600011E610219C4B1A688A431A60DA688A43A4 -:10057000DA60002307E69023DB0519689348014001 -:100580001960DA680240DA600023FCE5152A00D918 -:1005900070E3100004F000FB16001F0027006E033C -:1005A0002F0037003F006E034800510058006100E3 -:1005B0006E036E036A0073007C0085008E00970056 -:1005C0009E00A50090228023D20511685B030B4397 -:1005D00013600023D7E590220123D20511680B4355 -:1005E00013600023CFE590220423D20511680B434A -:1005F00013600023C7E590221023D20511680B4336 -:1006000013600023BFE590224023D20511680B43FD -:1006100013600023B7E590228023D2051168DB0424 -:100620000B4313600023AEE590228023D2051168AE -:100630005B010B4313600023A5E504235F4A1168A7 -:100640000B43136000239EE590228023D20511689E -:10065000DB050B431360002395E590228023D20530 -:100660001168DB020B43136000238CE5902280238A -:10067000D20511685B000B431360002383E59022D1 -:100680008023D2051168DB000B43136000237AE559 -:1006900090228023D2051168DB010B4313600023F5 -:1006A00071E590228023D2051168DB040B431360AF -:1006B000002368E590228023D20511685B050B4377 -:1006C000136000235FE501233C4A11680B4313606C -:1006D000002358E51023404A11680B4313600023A0 -:1006E00051E590228023D2051168DB000B43136093 -:1006F000002348E58D23082A00D044E590224023BA -:10070000D20551680B43536000233CE58D23082A32 -:1007100000D038E590224021D20553688B435360C6 -:10072000002330E5152A00D9A7E2100004F034FABE -:1007300016001D002300A50229002F003500A50288 -:100740003C0056005B006200A502A50269006F0034 -:1007500075007B00820089008E0093008022902328 -:10076000D200DB059A6200230DE590230122DB0510 -:100770009A62002307E590230222DB059A62002398 -:1007800001E590230422DB059A620023FBE4902319 -:100790000822DB059A620023F5E48022902392016F -:1007A000DB059A620023EEE490234022DB059A6287 -:1007B0000023E8E4FFFFFFFBFFEFFFFF000400481A -:1007C000FFFFFFBFFFFFFBFFFFFEFFFFFFFBFFFF82 -:1007D000FFBFFFFFFFFFFFEF000C00480222CF4BDF -:1007E0009A620023CFE4802290231202DB059A62F2 -:1007F0000023C8E4802290239200DB059A62002344 -:10080000C1E490231022DB059A620023BBE490230D -:100810002022DB059A620023B5E490238022DB05C9 -:100820009A620023AFE4802290239201DB059A6252 -:100830000023A8E480229023D201DB059A620023E2 -:10084000A1E40122B54B9A6200239CE40422B44B3C -:100850009A62002397E490232022DB059A6200230A -:1008600091E4152A00D90BE2100004F095F9160066 -:100870001D002300090229002F00350009023C0059 -:10088000420047004E000902090255005B0061006A -:1008900067006E0076007C00820080229023D200E8 -:1008A000DB059A6100236EE490230122DB059A6147 -:1008B000002368E490230222DB059A61002362E4AE -:1008C00090230422DB059A6100235CE49023082234 -:1008D000DB059A61002356E4802290239201DB0518 -:1008E0009A6100234FE490234022DB059A610023A4 -:1008F00049E40222894B9A61002344E48022902338 -:100900001202DB059A6100233DE4802290239200CD -:10091000DB059A61002336E490231022DB059A61FF -:10092000002330E490232022DB059A6100232AE48F -:1009300090238022DB059A61002324E48022902307 -:100940009201DB059A6100231DE480229023D201ED -:10095000DB059A610023FFF716FC01226F4B9A61B9 -:100960000023FFF710FC04226D4B9A610023FFF770 -:100970000AFC90232022DB059A610023FFF703FC89 -:1009800002236370152A00D9B1E0100004F0F0F8DA -:100990000B151EAF273039AF434C545DAFAF6770B6 -:1009A00079828C969EA690238022DB051B69D2005B -:1009B000134063800023FFF7E6FB90230122DB0551 -:1009C0001B69134063800023FFF7DDFB90230222A5 -:1009D000DB051B69134063800023FFF7D4FB9023E2 -:1009E0000422DB051B69134063800023FFF7CBFB68 -:1009F00090230822DB051B69134063800023FFF767 -:100A0000C2FB90238022DB051B69920113406380A7 -:100A10000023FFF7B8FB90234022DB051B6913403E -:100A200063800023FFF7AFFB02223C4B1B6913409E -:100A300063800023FFF7A7FB9023DB051B69DB0B1B -:100A4000DB0363800023FFF79EFB90238022DB05FE -:100A50001B699200134063800023FFF794FB9023EF -:100A60001022DB051B69134063800023FFF78BFB1B -:100A700090232022DB051B69134063800023FFF7CE -:100A800082FB90238022DB051B69134063800023D7 -:100A9000FFF779FB90238022DB051B69920113404D -:100AA00063800023FFF76FFB90238022DB051B6927 -:100AB000D201134063800023FFF765FB0122174B2F -:100AC0001B69134063800023FFF75DFB0422144B76 -:100AD0001B69134063800023FFF755FB90232022FE -:100AE000DB051B69134063800023FFF74CFB0023E9 -:100AF00063708D33FFF747FB80230A4ADB0251699D -:100B00000B435361054B08491A680A401A60D968BB -:100B1000064A0A43DA600023FFF735FB0004004869 -:100B2000000C004800100240FFFFAAAA0000555523 -:100B3000EF4BF0491A680A401A60D968EE4A0A4336 -:100B4000DA600023FFF71FFBE94AEA4913680B400C -:100B500013600023FFF717FBE54AE74B11680B43CF -:100B600013600023FFF70FFBE14912024B69DBB270 -:100B70001A434A610023FFF706FBDD4B1B691B0A82 -:100B8000A370012363700023FFF7FDFA8023DB4A83 -:100B90001B0351690B435361D94ADA4B11680B436C -:100BA00013600023FFF7EFFAD54AD64BD1680B4309 -:100BB000D3600023FFF7E7FAD14AD34913680B400B -:100BC00013600023FFF7DFFACD4ACE4B11680B43C9 -:100BD00013600023FFF7D7FAC94B5A610023FFF7D0 -:100BE000D2FAC023C54ADB0251690B435361C04AA4 -:100BF000C64B11680B4313609022A023D2051168E5 -:100C00005B030B4313600023FFF7BDFAB84ABF4BE9 -:100C1000D1680B43D3609023A021DB05D86849033A -:100C20000143D9601168BA48014011601A68B94996 -:100C30000A401A600023FFF7A6FAFF25AC4893008C -:100C400041692B40B44DD20029400B4343619021B0 -:100C5000C020C905C0004B690240B04803401A4398 -:100C60004A610023FFF78FFA8D23FFF78CFA8D235B -:100C7000FFF789FA8D23FFF786FA8D23FFF783FAB2 -:100C80008D23FFF780FAAA88AD78032D00D10BE100 -:100C900055D8012D63D05ED901F058F8902201217A -:100CA000D20513680B4313601023916111680B4345 -:100CB000136004234021936113680B4313600823DE -:100CC00093619161802311685B010B431360802362 -:100CD0008A48DB024169874E0B43854943610B68B3 -:100CE00033400B60CD68844B1D43CD600C683440AD -:100CF0000C60CC682343CB60802344691B032343EF -:100D00007F4C436125687F4B2B4323600023636145 -:100D1000C0244569E4022C4344610C687B482043AD -:100D20000860A020146840032043106048697A4C92 -:100D300020404861516979480140516151E0052DD9 -:100D400052D000D211E1072D00D191E0802D00D1C9 -:100D500030E1962345E000F0F9FF002341E000F088 -:100D6000F5FF9023DB051A682A431A6080229D61F3 -:100D7000196852030A431A6080220421D2009A6241 -:100D80001A685C4D0A431A6002229A6118680E3292 -:100D900002431A604022996119680A431A600822C6 -:100DA0009A618023554ADB0251690B435361504BD2 -:100DB000196829401960DC684F490C43DC601868E9 -:100DC00028401860D8680143D960802351691B030B -:100DD0000B4353614A4A4B4B11680B43136000238A -:100DE00053614F4CFFF7CFF900F0B0FF9022012183 -:100DF000D20513683F4E0B431360102391611168B5 -:100E00000B43136004234021936113680B43136069 -:100E1000082393618023916211685B010B43136087 -:100E200080233649DB02486903434B61304B186825 -:100E300030401860DD6830480543DD601C68344090 -:100E40001C60DC682043D860802348691B0303438F -:100E50004B612B492B4B086803430B6000234B610C -:100E600080211068C9010143116080219162B8E7B7 -:100E700000F06CFF90220121D205136840200B4343 -:100E800013601023916111680B4313600423936175 -:100E90001168014311600821916111680B431360CF -:100EA0000223936190610DE7D2B2022A3ED0002363 -:100EB000032A96D09723012A93D180230F491B033D -:100EC000486903434B610E490B6893430B60CB6841 -:100ED0001343CB604B6813434B608A610B681A4322 -:100EE00000230A600F4A13700F4A116079E7C04669 -:100EF00000040048FFFFAAAA000055550010024058 -:100F00000008004855555555AAAAAAAA50550000F0 -:100F1000AFAAFFFFFFFFEBFF03FF0000FFF9000098 -:100F2000E4060020F0060020EC060020B023B74ABB -:100F30005B03516940200B4353619023DB051A6822 -:100F4000B3490A401A608022D96852011143D9601E -:100F5000596801435960986119680A4308211A6069 -:100F6000AC4A1170AC4A1360F7E6D2B29823012A5A -:100F700000D036E79022A94BD2051A6006220A213A -:100F8000A74B1A70A74BA84A1360A84A1170A84A29 -:100F900001311360A74A1170A74A13600C22A74BB6 -:100FA0001A70B023994A5B0351690B43536100F0F7 -:100FB000F1FDD2E69023012540218026DB056570F6 -:100FC00099621A68760132431A60C04690481C69DB -:100FD0001A680C4002401A60DA680240DA60F022B7 -:100FE000002C37D11A6802401A60DA681643DE60B6 -:100FF0001A6994461A690192C0461A690292C0465B -:10100000C0461A690392C046C046C0461F69C04622 -:10101000C046C046C0461E691A6802401A60DA68B7 -:101020001040D860634622000B4213D1019B2A0076 -:101030000B420FD1029B02320B420BD10B000399E2 -:101040000332194206D104321F4203D105321E4237 -:1010500000D1D1327A4B9A707FE6E978A888AD78D2 -:101060000D2D00D195E023D8062D56D00FD8022D96 -:101070005AD005D8002D4BD0012D52D0A02549E0E3 -:10108000042D74D0052DF9D101F030FE47E0092D73 -:1010900076D007D8072D00D181E0082DEED101F0E0 -:1010A0002BFF3CE00B2D77D06DD901F0A7FE36E089 -:1010B000222D3CD011D8102D74D006D80E2D65D01D -:1010C0000F2DDBD101F07AFF29E0202D52D054D82A -:1010D000112DD3D101F0D6FE21E0822D00D190E078 -:1010E00009D8802D61D0812DC8D10123637001F012 -:1010F000B7FFA07013E0852D00D1ADE0862D00D1A3 -:10110000AFE0842DBAD10123637001F017FEF0E740 -:1011100000F014FD2570FFF737F802F08FF8002576 -:10112000F8E701F027FEFAE701F0EEFCF7E7454BA0 -:10113000902258610223D20593623A4B424D1E68B9 -:10114000090235431D605D6900B2EDB22943596162 -:10115000002801DA01219162C046C0460121916157 -:10116000491891611A6839490A401A60D7E702F0B4 -:101170008BFAD4E7364B1870D1E7364B1880CEE7A0 -:1011800002F03AF8CBE701F049FFC8E702F00CF8AB -:10119000C5E701F0D7FFC2E701F0D0FEBFE701F0DD -:1011A000A9FFBCE701F07CFFB9E701219023617042 -:1011B000DB051D68164E35401D60DA680225324099 -:1011C000DA608022D2009A6299619D611D4D68614A -:1011D000C046C04600B29A61002800DA9962C04653 -:1011E000C046C046C046C046C046902280210D4B36 -:1011F000D205C9001B69916201211B0A9161A3708C -:101200008DE70123637001F0DDFD72E700100240FD -:10121000FFEFFFFFF0060020EC060020040700208F -:101220000807002000040048FC06002000070020FA -:101230000C07002010070020F4060020F80600200C -:10124000E40600200008004800005555FFFFAAAA48 -:10125000880400203404002001236370C14B1B78F4 -:10126000CDE702236370C04B1B88A3701B0AE37099 -:1012700055E7A878E978AB88AA2206281AD803F09F -:1012800077FC042B1C2327332100FF25B7489A0045 -:1012900041692A40B64DDB0029400A434261902152 -:1012A000C020C905C0004A690340B2480240134348 -:1012B0004B6100222270FEF767FF0022180001F048 -:1012C0007FFBF6E70122F9E7180001F0F5FBF0E7F4 -:1012D000180001F0C9FBECE7012200216270180040 -:1012E00001F09EFBA070E4E701216170F7E7AA78A6 -:1012F000002A07D00023012A01D1FEF744FFAF23C3 -:10130000FEF741FF01236370A933A3701300FEF7BA -:101310003AFFAA78002A07D00023012A01D1FEF75C -:1013200032FFB023FEF72FFF01236370A933A370B0 -:101330001300FEF728FFAA78002A07D00023012A0D -:1013400001D1FEF720FFB123FEF71DFF01236370DB -:10135000A933A3701300FEF716FFAA78002A07D05E -:101360000023012A01D1FEF70EFFB223FEF70BFF87 -:1013700001236370A933A3701300FEF704FFEA781A -:10138000A988AD78112D00D19AE007D8012D6BD036 -:10139000002D0FD0022D7CD08225BBE6212D00D15F -:1013A00084E0222D00D187E0122DF5D102231020F8 -:1013B000637088E0012631006F4D704F2A783B68DA -:1013C000914099625A6810208A435A6001F082FC69 -:1013D00031002B783A6899400B00FA270425916177 -:1013E00051687F000B4353600196380001F072FC96 -:1013F000614A01991278614E9140336838009962D0 -:101400005A68013D8A435A6001F064FC5A4B0199C5 -:101410001B78326899400B0091615168ADB20B4363 -:101420005360002DE1D1FA270435380001F052FC59 -:101430000121514A514E12783368914099625A689D -:1014400038008A435A6001F045FC01214A4B32685A -:101450001B78013D99400B0091615168ADB20B437F -:101460005360002DE1D155E62900434E434F3278B9 -:101470003B68914099625A6810208A435A6001F093 -:1014800029FC32783B6895409D615A6815435D6040 -:1014900045E60123384A6370127839499340374A48 -:1014A0009BB21268002002F07BFA22E601230020A2 -:1014B000637001F05FFB1CE6012310206370F8E706 -:1014C00002230020637001F0AFFB608027E6AB7859 -:1014D000AA88042B1DD007D8022B1FD024D8012B9B -:1014E00012D08723FEF74FFE072B26D003D8052BFB -:1014F000F7D1244B16E0082B24D0802BF1D100F03B -:1015000049FB0023FEF73FFE1F4A1278A27063706A -:10151000F7E71E4B1B78A3700123F8E71A4B1A70EC -:1015200083221A4B1A70ECE7174B184D1A7083235D -:101530002B7000F09FFB2B78EDE7154B1A70120A09 -:101540005A70DEE7124B1A78A2705A78E2709A78D5 -:101550002271DA7862711A79A2715B79E3710623DC -:10156000D5E7C04688040020340400200004004869 -:1015700003FF0000FFF90000F0060020EC06002049 -:1015800004000200D1040020B0040020D204002096 -:10159000B1040020AB78AA88022B18D0032B19D0F5 -:1015A000012B1ED1024885460248001C0047C04658 -:1015B00078120020C5CAFF1F0600050008000700BA -:1015C00019C9FF1FEFBEADDE0023FEF7DCFDBD4BEA -:1015D0001A60F9E7BB4B18680004104302F0DEF90B -:1015E000F2E78A23FEF7CFFD8823FEF7CCFDAA7829 -:1015F0001300303B2F2B1CD8E878032816D803F0B3 -:10160000B7FA18021113B04B512A00D183E029D840 -:10161000312A5BD00FD8002A39D0302A4FD0B423DA -:10162000FEF7B1FDA94BEFE7A94BEDE7B523FEF7B8 -:10163000AAFDA84BE8E7332A56D04ED3502AEED164 -:1016400000222270063262701A7AA270DA78E27092 -:101650005A7A22719A7A62719A78A2715B7CE371EC -:10166000FEF792FD7F2A00D989E0702A63D2602AB2 -:101670003FD0612A47D0522AD1D100221B88227044 -:10168000A37002321B0A6270E370FEF77DFDFF2338 -:10169000914953540132102AFBD18B4A8D49D370A2 -:1016A00093708B4ACB70D370937001228B708749F3 -:1016B000CB708B70894B1A700023FEF764FDAA88EB -:1016C000110AD9721A730023FEF75DFDAA88110A68 -:1016D00059739A730023FEF756FDAA88110AD9732D -:1016E0001A740023FEF74FFDAA885A740023FEF7F0 -:1016F0004AFD0023237001336370AB88764AD35CC4 -:10170000A370FEF741FD0023237001336370744B17 -:101710001B68DB78F4E70022227006326270DA7A06 -:10172000A2701A7BE2705A7B22719A7B6271DA7B1B -:10173000A2711B7C93E7674B69495C682B787F2B10 -:1017400000D99AE06846674B007818700B68D87823 -:1017500000280DD000230093982805D195E00023A0 -:101760000093D02800D190E010205C4B187003E06B -:101770005D4803609020D870FF23009385E0072028 -:10178000104003281AD803F0F3F91C021E174E4B21 -:10179000802A01D2FEF7F8FC872A16D97032D2B21D -:1017A000072A01D9FEF7F0FC00222270EA789A722B -:1017B000AA881A80FEF7E8FC454BE9E7B523FEF757 -:1017C000E2FC444BE4E7414BE2E7A888E978C6B283 -:1017D0008D19BE22102D00DD6CE50432002900D1E8 -:1017E00068E5DD78033AFF2D00D063E59D7801328E -:1017F000FF2D00D05EE50022374DD7B2B9421CD88C -:101800004F01013F1F727701BC460022374F000A8B -:1018100067449870DA705A729A721A80DA721A7380 -:101820005A739A73DA731A745A745F60AD19A854B4 -:101830000132D3B29942FAD83BE50132B718013FE1 -:10184000EF5DFF2FD9D0C12234E5AB78002B04D057 -:10185000402B08D0D223FEF796FC2370AA881F4B9A -:101860001A70FEF791FC00232370013363701B4B49 -:101870001B7845E78023FEF786FC0B68D878D828CC -:1018800000D06CE780205C68D8700B68002159722A -:10189000DB78902B01D0FEF777FC712A01D0FEF7A0 -:1018A00073FC114BA9881A68526811701A68516844 -:1018B000AA88120A4A701A68537A02335372FEF7E2 -:1018C00063FCC046300400204C040020600400206B -:1018D0007404002038040020D30400209004002069 -:1018E0008C0400201807002014070020E4040020C6 -:1018F000F0B5404B8BB0089119783F4B09921B789B -:10190000019002933D4B019D1C683D4B3D481A7868 -:1019100001231E0096403C4AA662102D5ED112782B -:1019200000689340836201200200364B05901F68D7 -:10193000354B1B789A4003920200344B1B68069388 -:10194000334B1B789A4093B202000793314B1B68CC -:101950009C46314B1B789A40002304921A00019850 -:10196000202806D1029D05981D4105423ED00398CE -:10197000B861089820280FD1002B01D11E4883544C -:10198000069805690798054206D01B48855C0598AE -:10199000984005431848855409980139C9B2002870 -:1019A00002D0002900D1A6616046049D0133DBB25C -:1019B00085618562082B05D101320F4BD2B29B5C49 -:1019C000029300230029CAD10E4B1A680E4B1978D6 -:1019D00001238B409362A6620BB0F0BD019D112DD7 -:1019E000A1D112780068934083619CE70398B862A4 -:1019F000BFE7C046D1040020B10400200C0700203E -:101A000010070020FC06002000070020040700202B -:101A100008070020F4060020F8060020F7B51F4B49 -:101A20001F491A781F4B10282ED101241E780D68EB -:101A3000B440AC62012635000C6831001B78019679 -:101A40009D40194B1B680093184B1B78994000234D -:101A50008C46190020280DD1154E019F765C1E4141 -:101A60003E4219D0A5610133DBB2082B02D100231D -:101A70000131C9B26646009F013AD2B2BE61BE6270 -:101A8000002AE7D1A562F7BD1128D3D101241E7821 -:101A90000D68B440AC61CDE7A562E4E7D104002055 -:101AA0000C07002010070020F4060020F806002094 -:101AB000B1040020F7B50D001600FF27000203B2A5 -:101AC0004C7A01932A7AE3B2A24202D26B720020CE -:101AD000FEBD20006A683840D15C019B0134184388 -:101AE00080B2B047A4B2EDE7022907D10F4B104AEC -:101AF000984218D0904209D1180007E0032906D176 -:101B00000A4B0B490B4A98420BD108007047042935 -:101B1000FCD1064B064A984205D006499042F4D0C3 -:101B2000054A8842E6D11000F0E7C046380400209C -:101B30004C0400206004002074040020104B114A63 -:101B400010B558611068104B0902034313605369C4 -:101B50000E4CDBB21943902351618021DB051868DC -:101B600049010843186040209862186820401860B6 -:101B7000D8680143D960136805490B40136010BD54 -:101B8000000800480004004800005555FFEFFFFF23 -:101B9000FFFFAAAAF0B52C4B85B019682B4B2C4837 -:101BA0001B7800780193012302901E0018001F008B -:101BB000019A029C9640A040264D274A2D78126833 -:101BC000AF408E628446906224489D4000688762E0 -:101BD000046803941C00AC402500039C2543056069 -:101BE0004568019CBD4345609C401D00A5400868B8 -:101BF0001C00284308604868B04348601068029998 -:101C000099408C4021000143604611605168814336 -:101C1000134851600078134A984083401268124874 -:101C2000116899431160D1680B43D36080220F4B38 -:101C30001A70002319000E4A13701A18013311701C -:101C4000202BFAD105B0F0BD0C07002010070020B2 -:101C500000070020F8060020FC060020F406002003 -:101C60000807002004070020B1040020D20400204F -:101C7000D104002010B5334B1B78082B5DD016D84B -:101C8000314C032B44D007D8012B2DD0022B31D05F -:101C9000EE222D4B1A7023E0062B44D049D8042B9A -:101CA000F6D18123012223702021112027E00F2B60 -:101CB00034D008D8244C0D2B25D00E2BE8D181230D -:101CC0000022237027E0802B08D01F4CFF2B08D068 -:101CD000102BDDD181230022237027E0FFF75AFF6C -:101CE00010BDF0232370FBE7812320202370FFF732 -:101CF00095FE06E081230122002123702020FFF7BA -:101D0000F7FD8223EEE78123002223701100F5E71F -:101D100081230122237020211020F0E781230A4C27 -:101D200000222370C0E781230122237020210800B4 -:101D3000E5E7812310202370D9E78123024C11208D -:101D40002370D4E7B0040020D2040020BC2347490C -:101D5000DB038A6AF0B513438B628B6A444A012421 -:101D600013408B6290238022DB051868D201024366 -:101D70001A6080229A61B0224869520302434A6184 -:101D80001A683C483C4F02401A608022D8685203CF -:101D900002430420DA601A68A2431A60DA68224318 -:101DA000DA601A6882431A60DA680243DA60102245 -:101DB0001D6895431D60DD682A43DA6040221D6876 -:101DC00095431D60DD682A43DA601A682B4D2A406E -:101DD0001A608022DD68D2042A43DA601A68284D2E -:101DE0002A401A608022DD68D2052A43DA601A6828 -:101DF000244D2A4080251A60DA68ED022A43DA6011 -:101E0000214A1668A6431660D6683443D4601E681B -:101E10003E401E60DC683C40DC6080234C691B0354 -:101E200023434B61194B1A4C1E681A4F26431E6000 -:101E30001E683E401E60DE683443DC604B691D4313 -:101E40004D611368144D2B401360D468134B1C4331 -:101E5000D460116829401160D1680B43D3601368C6 -:101E600083431360D3681843D060F0BD0010024074 -:101E7000FFFFA1FFFFFFEFFFFFEFFFFFFFFFFFFBF4 -:101E8000FFFFFFBFFFFFFBFF000400480008004802 -:101E900055555555AAAAAAAAFFFFAAAA000055554A -:101EA0009022D34B12031968F0B50A431A608022BE -:101EB00089B0920219681142FCD0012259680A4384 -:101EC0005A608022596852020A435A608022596837 -:101ED00052030A435A608022196852040A431A6066 -:101EE0008022920419681142FCD01121C14AC24CCF -:101EF00011605A680E398A43110002220A435A605F -:101F00008022196B0A431A638022D96912040A439A -:101F1000DA61BA4BE381BC231B689847B84B6382F4 -:101F2000B84B238262B6FFF711FFF022B64B1A704E -:101F3000B64E2023327811009943D2292ED1B449CC -:101F4000B448C978C3780224FF2904D1FF3B1C00A0 -:101F5000631E9C41E4B2B04BDB78FF2B00D003241E -:101F6000AE4BDB78FF2B00D00424AD4BAD4F1C7083 -:101F70003860D22A12D10023012505E02100FFF7A5 -:101F8000B3FD01230135EDB2A542F7D3002B00D0FC -:101F9000386080223B68DA70D02333703378F22BBC -:101FA00005D10022023B33709E4B1B68DA703578F6 -:101FB000D02D01D000F0A0FC9A4E3068C378802B61 -:101FC00001D000F099FC964B1978FFF78DFD0023A6 -:101FD00030600400C57006884372C07AF5B21038CC -:101FE000152801D900F086FC02F0D6FD52008A00C7 -:101FF000D200D60084048404840484048404840409 -:102000008404840484048404840484041600250065 -:1020100036003B0041004B00E17BC4230F2901D96E -:1020200000F069FC09013143237AA278C9B26068E3 -:1020300001F0C0FA0EE0E17B3C230A009A438833AA -:10204000002A01D000F057FC237AA2782943606867 -:1020500001F0E6FA607292E0237AA278E17B2943EC -:10206000E5E7E17B3F230A009A438533E8E7227ADC -:10207000E17BA378009200222943606801F05CFABA -:10208000E8E7E17B227AA378294300920122F4E772 -:10209000E37B1E2B0BD1C020B6092233F1B2000224 -:1020A0009D4300F031FD237AA2788021D7E71C2BD5 -:1020B0000FD1A0208121C00100F026FD8020F6096B -:1020C000F1B2000200F020FDA0200021C00100F0CC -:1020D0001BFD8021E27B49421F2A05D00D43EDB252 -:1020E000237AA2782900A2E77022A02095430D430D -:1020F0002188C0010909C9B2EDB200F005FDEFE782 -:10210000E37BFE2B3BD17609F1B2474800F032FE6B -:102110001F21464B0D405A692D02D2B21543802132 -:102120009022C900D205A0786768267A5D61916126 -:102130000121FF259162033191625A692D022A40E3 -:1021400002435A61C0463A4900228C46C046614665 -:1021500009690130090AB9545969C0B229400132EC -:102160000143D2B259619642F0D290230421DB059B -:1021700099618021C9009962012199616272294B9C -:102180001B6819889A7A52181A80D822DA70B3E339 -:10219000237AA278602162E7E37B002B20D1803391 -:1021A000F6091D43F3B20293FF20029B20499B00D6 -:1021B0004A6903401F48024013434B61C0209021ED -:1021C000029BC905C000DB004A6903401A4802406F -:1021D00013434B61227AA3782900009200224CE736 -:1021E000012BE1D14021B604B60E31430291DBE769 -:1021F0000010024000200240006000403CA5FFFFAC -:102200008532000801010008D2040020900400205B -:102210004C040020380400206004002074040020D6 -:10222000110700208C040020FF3F00000008004838 -:102230000004004803FF0000FFF90000E37B002BCF -:102240000BD13300803B657A5BB21B02AFB20393C4 -:10225000237ABB4200D3EBE06572E37B012B06D10E -:1022600030008038C0B2DC4A2100FFF723FCE37B5A -:10227000032B06D130008038C0B2D84A2100FFF7C6 -:1022800019FCE37B042B06D130008038C0B2D44A5D -:102290002100FFF70FFCE37B0A2B06D130008038CA -:1022A000C0B2D04A2100FFF705FCE37BFD2B15D11E -:1022B0003F20238830409B0904936B4680261B7C7B -:1022C00006430693677ABBB2039333021BB20793AC -:1022D000237A039A934200D3C9E06772E37B1E2BF3 -:1022E00011D13F2030408026238806439B09DBB272 -:1022F0000593657A33021BB2AFB20693237ABB42D1 -:1023000000D3FCE06572E37B0C2B17D11F2030401B -:1023100080260643C0202588A5216D09EDB2C001A5 -:1023200000F0F2FB2900B04800F0EEFB677A3502BE -:102330003D43237ABB4200D330E16772E37B1C2B21 -:102340003BD1A02023888121DB09DBB2C0010493AB -:1023500000F0DAFB80200499000200F0D5FBA020F9 -:102360005421C00100F0D0FB677AAA21BBB29F487C -:10237000039300F0C9FB55219D4800F0C5FB2021C7 -:102380009A4800F0C1FB802333431B021BB2069323 -:10239000237A039A934200D33CE1802090210002EB -:1023A000677200F0B1FB80200021000200F0ACFB5E -:1023B0008020F021000200F0A7FBE37B1F2B30D12F -:1023C000A0202188C0010909C9B200F09DFBAA2103 -:1023D0008648657A00F098FB5521854800F094FB0B -:1023E0008248202100F090FB702380209E434042D1 -:1023F000304340B20302AFB20493237ABB4200D30E -:1024000050E1802090210002657200F07DFB802069 -:102410000021000200F078FB8020F021000200F093 -:1024200073FBF4232288E370A37A9B18238083E252 -:10243000039863682843595D80B200F0DDFE63684D -:102440005A5D6C4B824206D004211A680A431A6016 -:1024500002229A61FCE604211A6801358A431A6057 -:10246000DA6801370A43DA60EDB2BFB2F0E6002164 -:10247000614800F049FBAA21604800F0DFFE5521C9 -:102480005F4800F0DBFEA0215C4800F0D7FE6B4601 -:10249000187C5C4B0699C01880B200F035FB079D94 -:1024A00063683D43ADB2D95D280000F0C7FEC04669 -:1024B000280000F0D5FD0590280000F0D1FD059B17 -:1024C0008342F4D163680599DA5D4A4B8A420FD1A1 -:1024D000039A1968013292B203920422914319605F -:1024E000D96801370A43DA600222FFB29A62EFE646 -:1024F000042219680A431A6002229A61E8E6C020A1 -:102500000121000200F000FBAA213F4800F0FCFA84 -:10251000C0200021000200F0F7FA55213B4800F0EE -:10252000F3FAC0200121000200F0EEFAA0213648A3 -:1025300000F0EAFAC0200599000200F0E5FA069BD7 -:102540002B439BB2039363680398595D00F0DCFA58 -:10255000C046039800F084FD0490039800F080FDCD -:10256000049B8342F4D1636804995A5D214B8A42EB -:102570000DD104221968013591431960D9680137DA -:102580000A43DA600222EDB2BFB29A62B6E60422D2 -:1025900019680A431A6002229A61AFE6AA211C4810 -:1025A00000F0B2FA5521194800F0AEFAA0211848FF -:1025B00000F0AAFA63682800D95D00F0A5FAC046C9 -:1025C000280000F04DFD0390280000F049FD039B1A -:1025D0008342F4D1ADE6C046A93100084531000878 -:1025E000F5300008A1300008FFFF0000AA8A0000B3 -:1025F000558500000004004869FD000055550000A5 -:10260000AA2A000069FDFFFF55950000AAAA000054 -:1026100055D50000A0205421C00100F075FA069D98 -:10262000A0213D43ADB2280000F06EFA6368280097 -:10263000D95D00F069FAC046280000F011FD059050 -:10264000280000F00DFD059B8342F4D16368059AD4 -:10265000DB5DC04D93420FD1039B2A6801339BB2CF -:10266000039304239A432A60EA6801371343EB601B -:102670000223FFB2AB628BE6A0208121C00100F0F3 -:1026800043FA80200499000200F03EFAA020542171 -:10269000C00100F039FA04232A6813432B60022397 -:1026A000AB6175E6049EA0212E43B6B2300000F067 -:1026B0002BFA63683000595D00F026FAC0463000FE -:1026C00000F0CEFC0390300000F0CAFC039B834274 -:1026D000F4D1636803995A5D9E4B8A420DD104215F -:1026E0001A6801358A431A60DA6801370A43DA60EA -:1026F0000222EDB2BFB29A627FE604211A680A4351 -:102700001A6002229A6178E6E37B002B04D1924A98 -:1027100021003000FFF7CEF9E37B012B04D18F4A73 -:1027200021003000FFF7C6F9E37B022B04D18C4A6D -:1027300021003000FFF7BEF9E37B042B04D1894A66 -:1027400021003000FFF7B6F9E37B0A2B04D1864A5B -:1027500021003000FFF7AEF9E37B0B2B04D1834A55 -:1027600021003000FFF7A6F9E37BFE2B00D058E6EE -:1027700021887F484909C9B200F0FCFAAA217D48A6 -:10278000657A00F0B3FA55217B4800F0AFFA79483A -:10279000202100F0ABFA1F2030400302AFB20493B7 -:1027A000237ABB420DD265729021002000F09EFA80 -:1027B0000021080000F09AFAF021002000F096FABB -:1027C0002FE6049EA0212E43300000F08FFA6368AC -:1027D0003000595D00F08AFAC046300000F0AEFAD1 -:1027E0000390300000F0AAFA039B8342F4D163689F -:1027F00003995A5D574B8A420DD104211A6801355D -:102800008A431A60DA6801370A43DA600222EDB2BD -:10281000BFB29A62C4E704211A680A431A6002220E -:102820009A61BDE730006030544A2100C0B2FFF722 -:1028300041F9F6E5E37B042B06D130008038C0B2C5 -:102840004F4A2100FFF736F9E37B052B04D14C4AB0 -:1028500021003000FFF72EF9E37B062B06D1300074 -:102860008038C0B2474A2100FFF724F9E37B072BE9 -:1028700004D1444A21003000FFF71CF9E37B002B10 -:102880001CD1FF2580331E4323883248DB09DBB28D -:102890009A0041692A403C4DDB0029400A434261CD -:1028A0009021C020C905C0004A6903403748024052 -:1028B00013434B613000210000F074FDE37B012BDA -:1028C00000D0AEE52388234A2F4851699B049B0E14 -:1028D00001409B000B4390215361C9054B692B4A72 -:1028E00030001A4080239B0013434B61210000F00D -:1028F00059FD96E5C323E370254B1D78F02D1BD1C0 -:10290000244E3468E378982B16D1234B2000197895 -:10291000FFF7EAF800233060C370E07AE570103802 -:102920002678042806D802F02DF989FCEFFE7DFFF9 -:1029300085FF7CFDC323E370184B1B78F02B01D17E -:10294000FFF7F6FA832B01D0FFF7F2FAFFF792F9BF -:10295000FFF7EEFA000400481D300008BD2F000804 -:102960003D2F0008F92E0008852E0008FD2D0008D7 -:10297000FF3F0000AA0A000055050000092B0008CF -:10298000B92A0008692A000803FF0000FFF90000C7 -:10299000900400208C04002011070020D2040020A5 -:1029A000002302000002002A04D1002B01D0802362 -:1029B00018437047DB43511EDBB20A40F3E70000C7 -:1029C000134B10B55861134B13481C680902204380 -:1029D00018605869C0B20143596190210820C905A7 -:1029E0008862002A01D101328A62C046C046C046D0 -:1029F000C046C046C046C046C04690220821D20507 -:102A00009161073991611A6804490A401A6010BD42 -:102A1000000800480004004800005555FFFFAAAA1E -:102A20000F4B58619023DB05002901D101229A62E6 -:102A300004229A62C046C046C046C046C046C04650 -:102A4000C046C046C046C046C046C046C04605490E -:102A500008699A61000A033AC0B29A617047C04699 -:102A6000000800480004004870B504000D00002272 -:102A7000AA210F48FFF7A4FF002255210D48FFF7B8 -:102A80009FFF0022A0210A48FFF79AFF0022290099 -:102A90002000FFF795FF00212000FFF7C1FF050090 -:102AA000C04600212000FFF7BBFF8542F3D170BD77 -:102AB000AA8A00005585000070B504000D000022B0 -:102AC000AA210F48FFF77CFF002255210D48FFF790 -:102AD00077FF0022A0210A48FFF772FF0022290099 -:102AE0002000FFF76DFF00212000FFF799FF050090 -:102AF000C04600212000FFF793FF8542F3D170BD4F -:102B000055550000AA2A00009023DB0530B51C684B -:102B1000134D09022C401C60DA68124C2A40DA601E -:102B2000114A506102229A62104A00B215682C4381 -:102B300014605469E4B2214351618021C900996154 -:102B4000002801DA01209862C046C046996201213E -:102B5000996149189961136805490B40136030BDAC -:102B6000FFEFFFFF00005555000800480004004833 -:102B7000FFFFAAAAF7B501230225294F01923A784F -:102B80000091054393400421A020264E2D049BB2C2 -:102B900029433268C00100F003FF040001283DD141 -:102BA0003B7809209C4005437830A3B23268290065 -:102BB000FF3000F0F5FE040001282FD13B78326889 -:102BC0009C402900A3B2002000F0EAFE0400012886 -:102BD00024D1009B180AFFF7E3FE3B7832689C4043 -:102BE0002900A3B200F0DCFE0400012816D16B46D8 -:102BF0001878FFF7D5FE22003B7829009A4093B25F -:102C0000326800F0CDFE0198FFF7CAFE3B783268CB -:102C10009C402900A3B200F0C3FE0400E0B2FEBD58 -:102C2000F0060020EC060020F7B501230225274F0F -:102C300000903A780191054393400421C020244E2E -:102C40002D049BB229433268800100F0A9FE0400E4 -:102C5000012838D109231D433B78C0209C403268AD -:102C6000A3B22900400000F09BFE040001282AD1F5 -:102C70003B7832689C402900A3B2002000F090FE0F -:102C8000040001281FD1019B180AFFF789FE3B7839 -:102C900032689C402900A3B200F082FE04000128A3 -:102CA00011D16B461879FFF77BFE22003B789A40E2 -:102CB00093B2009A14430922E1B209041143326825 -:102CC00000F06EFE0400A0B2FEBDC046F00600207B -:102CD000EC0600200023800080B2834200D17047C0 -:102CE000C046C04601339BB2F7E700000F4B30B53A -:102CF0009022586180230124D205DB0093620C4BA3 -:102D000094621D680B480902284318605869C0B2D4 -:102D100001435961C04608219162C046916119681A -:102D2000054801401960946130BDC0460008004864 -:102D30000004004800005555FFFFAAAA0B4B10B530 -:102D400080215861902301220424DB05C900996188 -:102D50009A629C62C046C046C046054800699C61B4 -:102D6000000A9962C0B29A6110BDC04600080048CE -:102D7000000400480E4B984202D880231B021843DF -:102D80000C4B0D4A58610D4B0902186802431A603A -:102D90005A69D2B211435961C04690220821D20526 -:102DA0009162C04691611A6805490A401A607047ED -:102DB000FF1F0000000800480000555500040048AF -:102DC000FFFFAAAA0A4B984202D880231B0218438D -:102DD000084B042258619023DB059A62C046C04626 -:102DE000C046C046044908699A61000AC0B27047EB -:102DF000FF1F00000008004800040048F8B5050067 -:102E00000E001C4F1C4B38882021203080B21C78CB -:102E1000FFF77AFEAA211948FFF7ACFF3888102186 -:102E2000103080B2FFF770FE55211548FFF7A2FF62 -:102E300038882021203080B2FFF766FEA0210F489D -:102E4000FFF798FF24013888E4B2001980B221000E -:102E5000FFF75AFE31002800FFF78CFF2800FFF72C -:102E6000B1FF0400C0462800FFF7ACFF8442F5D153 -:102E7000F8BDC04634040020880400205515000029 -:102E8000AA0A000070B50400B0200E0000020A215A -:102E9000FFF73AFEC0200A210002FFF735FEAA2103 -:102EA0001248FFF767FF55211148FFF763FFA02184 -:102EB0000E48FFF75FFFB0200E4D00022978FFF7A4 -:102EC00023FEC02029780002FFF71EFE31002000FB -:102ED000FFF750FF2000FFF775FF0500C0462000F8 -:102EE000FFF770FF8542F5D170BDC0465515000053 -:102EF000AA0A00008804002070B504000D000D48E7 -:102F0000AA21FFF737FF55210B48FFF733FFA02118 -:102F10000848FFF72FFF29002000FFF72BFF2000B4 -:102F2000FFF750FF0500C0462000FFF74BFF85422A -:102F3000F5D170BD55150000AA1A000070B5040047 -:102F40000D001A4E02213088023080B2FFF7DCFDFE -:102F5000AA211748FFF70EFF30880121013080B207 -:102F6000FFF7D2FD55211348FFF704FF30880221F7 -:102F7000023080B2FFF7C8FDA0210D48FFF7FAFE2E -:102F80000D4B30881978401880B2FFF7BDFD29003D -:102F90002000FFF7EFFE2000FFF714FF0500C046FA -:102FA0002000FFF70FFF8542F5D170BD34040020EB -:102FB00055150000AA0A00008804002070B504001E -:102FC000A0200D000002022100F05EFBAA211048A3 -:102FD000FFF7D0FE55210F48FFF7CCFEA0210C488B -:102FE000FFF7C8FEA0200C4B0002197800F04CFB44 -:102FF00029002000FFF7BEFE2000FFF7E3FE0500DA -:10300000C0462000FFF7DEFE8542F5D170BDC04608 -:1030100055150000AA0A00008804002070B50400BD -:103020000D000D48AA21FFF7A5FE55210B48FFF71B -:10303000A1FEA0210848FFF79DFE29002000FFF710 -:1030400099FE2000FFF7BEFE0500C0462000FFF7F6 -:10305000B9FE8542F5D170BD55150000AA0A0000E1 -:103060000D4B802258619023D200DB0500B29A619B -:10307000002801DA01229A62C046C046C046C04616 -:10308000064B802218699023D200DB059A62012248 -:10309000000AC0B29A617047000800480004004866 -:1030A00070B504000D001048AA21FFF72DFD552131 -:1030B0000E48FFF729FDA0210B48FFF725FD290049 -:1030C0002000FFF721FDA020094B00021978FFF72F -:1030D0001BFD2000FFF7C4FF0500C0462000FFF7DE -:1030E000BFFF8542F5D170BDAAFA000055F500007A -:1030F0008804002070B504000D001048AA21FFF7D5 -:1031000003FD55210E48FFF7FFFCA0210B48FFF7F8 -:10311000FBFC29002000FFF7F7FC802000210002C3 -:10312000FFF7F2FC2000FFF79BFF0500C0462000E0 -:10313000FFF796FF8542F5D170BDC04655D500001A -:10314000AAAA000070B504000D00134E00213088BB -:10315000FFF7DAFCAA211148FEF7F0FC55211048D0 -:10316000FEF7ECFCA0210D48FEF7E8FC0D4B308883 -:103170001978401880B2FFF7C7FC29002000FEF73D -:10318000DDFC2000FFF76CFF0500C0462000FFF7C4 -:1031900067FF8542F5D170BD34040020555500000D -:1031A000AA2A00008804002070B50400C0200D0089 -:1031B0000002052100F068FAAA210D48FFF7A4FCDF -:1031C00055210C48FFF7A0FCA0210948FFF79CFC03 -:1031D00029002000FFF798FC2000FFF741FF0500C1 -:1031E000C0462000FFF73CFF8542F5D170BDC046C8 -:1031F00055550000AAAA000070B504000D000D4846 -:10320000AA21FEF79BFC55210B48FEF797FCA02155 -:103210000848FEF793FC29002000FEF78FFC2000F1 -:10322000FFF71EFF05002000FFF71AFF8542F6D1C9 -:10323000280070BD55550000AA2A00000D4B0E4A0B -:1032400058610E4B0902186802431A605A69D2B2DB -:103250001143902259618021D20510684901014330 -:1032600011604021916291611A6805490A401A6013 -:103270007047C0460008004800005555000400484B -:10328000FFFFAAAA70B50F4C2268537A55685A18E6 -:10329000D2B293420FD122680B48537ACB185372A3 -:1032A0000378591AC9B201700020814202D19823D3 -:1032B0000130D37070BD06780130EE540133DBB2BB -:1032C000E7E7C0461407002018070020284B10B578 -:1032D0001A88284B12041B881A43274B198849085F -:1032E0004900885A254908801988023189B2198015 -:1032F000198849084900885A2149088019880231EB -:1033000089B21980198849084900885A1D490880DE -:1033100019881D48023189B2198019884908490065 -:10332000895A1A4A11801A881949023292B21A80AF -:103330001C880288944213D902881C880832121B08 -:1033400092B20A80028892B21A801249124B0A88FD -:103350001343124A1A40302353409BB20B8010BDD6 -:103360000F4804881A889442E6D308230B80ECE7C0 -:103370000C6000400A600040046000404C60004067 -:103380004E600040506000400260004052600040CB -:103390001A600040005C00408080FFFFBF8FFFFF8D -:1033A00000600040F7B504000E004D7AC046C046EC -:1033B000C046C046C046C046C046C046C0460022C1 -:1033C000AA215848FFF7FCFA002255215648FFF77A -:1033D000F7FA2402002220215248FFF7F1FA23B223 -:1033E0000193EBB20093337AAB4217D26B46802045 -:1033F0001B780022737290210002FFF7E1FA00228D -:10340000802011000002FFF7DBFA80200022F0216B -:103410000002FFF7D5FAC0460020FEBD434B444AE8 -:10342000196808200A43FF211A605A690A40A0213E -:1034300009020A435A6190220121D20590629162E9 -:10344000C046C046C046C046FF24906191611A68DC -:1034500038492C400A401A60019B009A1C4373684B -:10346000A4B2995C20000022FFF7AAFAC046C04629 -:10347000C046C046C046C046C046C046C046C0461C -:1034800000212000FFF7CCFA0700C046C046C04626 -:10349000C046C046C046C046C046C0467368009A93 -:1034A0009B5C834217D0C046C046C046C046C0465B -:1034B000C046C046C046C04600212000FFF7B0FA13 -:1034C000B8420BD1C046C046C046C046C046C04602 -:1034D000C046C046C0460135ADB282E7C046C046D0 -:1034E000C046C046C046C046C046C046C046C046AC -:1034F000C046C046C046C046C046C046C046C0469C -:10350000C046C046C046C046C046C046C046C0468B -:10351000C046C046C046C04600212000FFF780FAE2 -:103520000700C9E7AA8A000055850000000400488A -:1035300000005555FFFFAAAAF0B51C4D040005A8D0 -:10354000067868690902C0B20843686190200421C6 -:10355000C00581622900002A01D101328262FF2563 -:1035600000204A692D022A401A43114F4A61C04681 -:10357000C046C046C046C046C046C046C046C0461B -:10358000C0463A690133120A22544A69DBB22A4022 -:1035900001301A43C0B24A61B042E8D990230422F4 -:1035A000DB059A61033A9A61F0BDC0460008004805 -:1035B00000040048F0B5184C050060690E02C0B266 -:1035C0003043606180269020F600C00549B28661D4 -:1035D000002901DA01218162FF266169360231404A -:1035E00011436161C04600200C4FC0463969013269 -:1035F000090A29546169D2B2314001301143C0B285 -:1036000061619842F1D990238022DB05D2009A6251 -:1036100001229A61F0BDC04600080048000400483D -:10362000F0B5174C05000E0060691F2925D88021D0 -:1036300031430902C0B20143616190210420FF2699 -:10364000C905886261693602314011436161C04633 -:1036500000200C4FC04639690132090A29546169BA -:10366000D2B2314001301143C0B261619842F1D908 -:1036700090230422DB059A61F0BDC0B20902DAE7AB -:10368000000800480004004870B506000D0005243D -:103690003000013CFFF7E4FCE4B229003000FFF702 -:1036A00033FA6D08002CF3D170BD00009249F8B5D3 -:1036B0000B88924C002B3BD00A88914B9A4235D113 -:1036C000002302258F4A13808F4A13808F4A13806C -:1036D0008F4A13808F4A13808F4AD08FA843D08798 -:1036E000D08F013DA843D0878C481735C3878C48BD -:1036F00005808C48343505808B4808350580802549 -:103700008A486D0105808025894805808348C387E4 -:103710008020884B00062380874B18608023D08F41 -:10372000DB000343D387854A854B1A8000230B8037 -:1037300023881BB2002B00DBBFE02388814A744F33 -:10374000134080221343238023881B0500D497E075 -:103750007D4D7F232A78110099436E4B1980E988AB -:10376000684B19800021694B19803B88FF318B43DE -:1037700013433B8060231A4208D08022734B12050A -:103780001B8828009B1898475F4B18802B78602275 -:1037900059B2002949DA134014D16A78062A0FD1A8 -:1037A0006A88110A02291AD003291AD001291FD1C7 -:1037B000674B1226674A99B21180674A1B0C138027 -:1037C000514B1E802288654B1343654A1A40C02323 -:1037D0009B0153409BB22380FFF778FD43E0614B90 -:1037E000E7E7D2B2012A0ED0002A03D0022A13D072 -:1037F0001E00E5E75C4B574A99B21180564A1B0CF4 -:1038000013800426DCE7594B524A99B21180524A80 -:103810001B0C1380564ED3E7564B4E4A99B211807B -:103820004D4A1B0C1380544ECAE7134209D16B78E2 -:10383000052B06D13A886B88D2B21B0213439BB288 -:103840003B80002123884D4A13404D4A13439BB2CD -:1038500023804C4B198023881A434B4B1A404B4B07 -:103860005A4092B222802D4BDB8F5B0507D5802218 -:103870002F4B1A800023294AD3872E4B2380F8BD73 -:1038800060213B880B40402BEDD13B881342EAD1AD -:10389000264A3F4B2C481B881188802212059B1812 -:1038A000C9B298472288364B13432D4A1A40C02389 -:1038B0009B0153409BB22380D5E78022238813428B -:1038C000D1D0238833490B40802109020B43238048 -:1038D000104B1B88934200D17EE7FF200C4B1988C8 -:1038E0008143C0D01988090A0A4311490A801A88FD -:1038F00002401A80B7E7C0460E600040005C0040FE -:103900003CA50000006000400260004004600040F0 -:103910000660004008600040025C0040065C004019 -:10392000505C0040186000401C6000401E60004079 -:103930004C5C00402032000000E100E00080FFFF0E -:10394000585C00408F0F0000546000401060004041 -:10395000C64B00080A6000400C6000408081FFFFF9 -:103960008FBFFFFFB44B0008D84B0008DC4B0008AA -:103970002A030000304C00081E0300008F8EFFFF5A -:103980008080FFFF1A600040BFBFFFFF30300000A3 -:10399000126000400F8FFFFFFEE700008047C04627 -:1039A000F0B5474680B4061C081C000C102801D551 -:1039B000162700E004270007000F8046FF20014083 -:1039C0005468251C1D439C43F60313850AD5C04645 -:1039D000C046C046C046C046C046C0469480138319 -:1039E000958002E0012000F081F801390AD4381CEA -:1039F00000F07CF8C046948013839580C046C04692 -:103A00007600E2E7381C013800F070F894801383E8 -:103A10009580042000F06AF8108A184001D0FF2039 -:103A200061E0C046C046C046C046C046C04694801D -:103A30009580108A184055D001200226B04552D0FA -:103A40000921168A1E40FCD1012000F04FF8948015 -:103A5000C0469580C04603E0C046C046C046C0464A -:103A6000948095807600108A1840EFF30080400023 -:103A7000C00F0643381C023800F038F89480958057 -:103A8000022000F033F80139EAD513859480012033 -:103A900000F02CF813839580301C8021022399407C -:103AA0000E401BD1002341085E4149085E41490890 -:103AB0005E4149085E4149085E4149085E41490846 -:103AC0005E4149085E4149085E41760808D34008D6 -:103AD000FF21084048400002013004E00E2002E0CF -:103AE000092000E0002080BCB846F0BD0138FDD1BF -:103AF0007047C04603685A0003D45B005B08C018D7 -:103B00007047802212061343F9E7C046F0B55746C6 -:103B10004E46DE464546E0B5814683B092460029D2 -:103B200025D04B1E9B46002701935B46FB18DC0FFC -:103B3000E4184B466410E5005E193000FFF7DAFF29 -:103B4000019B8046A3420BD0280008304844FFF771 -:103B5000D1FFD04506D80138504509D2671CE4E7AB -:103B6000504505D9A74202D0631E9B46DDE70026DB -:103B7000300003B03CBC90469946A246AB46F0BD2F -:103B8000012809D0022805D0002801D00020704764 -:103B90000248FCE70248FAE70248F8E7A1420008B9 -:103BA000B9420008AD42000830B5234B83B0050090 -:103BB0008C1E002B2AD001A9200000E000BF0028A5 -:103BC00020D001992200FFF7A1FF041E1AD0FFF7B1 -:103BD00091FF6368A864012B10D0201D002B1BDB14 -:103BE000FFF788FF0023E8642B650368002B17DBD1 -:103BF000FFF780FF2861002003B030BD00230520BF -:103C00002B61F9E7002309202B61F5E70B480C49EC -:103C1000091AC9100191D5E70123E8642B65E4E78F -:103C20001801000FFFF7ACFF2861002801D109300F -:103C3000E2E70020E0E7C046000000009C4C0008DE -:103C40006C4D0008036810B50400DA0705D49B0723 -:103C50000FD5483000F084FC23685A070FD51A07A7 -:103C600014D5DB0604D42000D130FF3000F084FCF2 -:103C700010BD483000F070FC23685A07EFD42000D4 -:103C8000D03000F071FC23681A07EAD420005130CC -:103C9000FF3000F06DFC2368E3E7C0460368002BAB -:103CA00000D01B1818007047092070477047C046A5 -:103CB00070B504000D0008E02B6C2A006361210040 -:103CC000012023699847082807D1296C2000FFF7B5 -:103CD0006BFF0028F0D000F09FFE0728FBD10020EA -:103CE000296CFFF7E3FF281D00F020FCF0B5CE465D -:103CF000474680B5C368324C9846A54483690600A0 -:103D000014000431402205A8994600F08DFE0023DE -:103D100004AD296C30000493FFF746FF631E9C41FD -:103D200007000934002F15D0AB6B10216B644B4694 -:103D300021430193C9B20095330032000120C047EE -:103D4000002833D13800F5239B009D440CBC9046DD -:103D50009946F0BDF0222B6C5200736129007CA8BB -:103D600000F062FE7CAA31003369200098478A9BEC -:103D700007006B6403934B460095019332003300B8 -:103D800021000120C047002810D1F0227CA9520058 -:103D9000280000F049FE082F06D1296C3000FFF7FB -:103DA00003FF09240700BDE7072F01D00927C9E752 -:103DB0000020296CFFF77AFF05A800F0B7FBC0468A -:103DC0002CFCFFFF406C704770B5CB6BFAB00B64F6 -:103DD00004000E004022043103A800F025FE012358 -:103DE0005B42029306E002AA21002369984705007E -:103DF00008280AD1129B200019000193FFF7D4FE76 -:103E00000028F0D009207AB070BD02A8FFF71AFF91 -:103E1000062DF7D131002000FFF74AFF10B582616F -:103E2000DA6BC1601A6419000022FFF75FFF10BD52 -:103E3000436970B50B64C36804000D00002B04D007 -:103E40000122FFF753FF00F0E7FD0A00236901009C -:103E500002209847072807D0082803D1290020000E -:103E6000FFF726FF00F0D8FD0020296CFFF71EFFAA -:103E7000281D00F05BFBC046C36810B5002B05D0C1 -:103E8000CB6B00220B64FFF731FF10BDFFF79CFFE7 -:103E9000FBE7C0467047C046836810B5002B02D0D0 -:103EA00001000120984710BD10B5012907D0002955 -:103EB00007D003390224012901D9200010BD0124B3 -:103EC000FBE70224002BF8D10F2AF6D892008218C3 -:103ED0005268029B00241A60EFE7C04600B585B027 -:103EE00003AB0A00009300210023FFF7DDFF0398D6 -:103EF00005B000BD10B5012907D0002907D003394E -:103F00000224012901D9200010BD0124FBE702246D -:103F1000002BF8D10F2AF6D8029B92001B6882185A -:103F200053600024EFE7C04600B585B003AB0392B1 -:103F300000930A0000230021FFF7DCFF05B000BD5D -:103F400070B51A4CD36BA544136406000D0019A874 -:103F5000111D402200F068FD01235B42189314E01C -:103F60000C2118A802AAFFF7DFFF290018A8B04704 -:103F7000002812D1069B18AA02A90830019398477D -:103F8000040005280AD0092807D0289B02A8190098 -:103F90000193FFF709FE0028E2D0092418A8FFF7D3 -:103FA00051FE200090239B009D4470BDC0FDFFFF8B -:103FB000F0B5DE464E464546574693460322E0B5E9 -:103FC0001E0013008BB003400193CB6C0D001C1D31 -:103FD0001B6808940793002E66D11B02079306AB5B -:103FE0005E731A73019B022B00D16EE02B6DDB0711 -:103FF00047D40023A846B2460293083303400393F4 -:104000002568002D00D137E15346022B49D0258881 -:10401000668804340123370099469F4343469B6CCE -:104020000F219C4658466744FFF758FF00228742FD -:1040300006D82A004B469A43D719B84280414242DB -:1040400002230121760033400D402B43012B3ED04B -:10405000002B5AD0022B1CD1236801995F007F08E6 -:10406000002965D1002A06D0039A002A00D188E0F1 -:10407000002F00D1AAE0002B65DB0137BF00E41957 -:10408000BEE700230293022E47DDFFF70DFE002856 -:1040900049D009200BB03CBC90469946A246AB469D -:1040A000F0BD66680834B5E7022E9BDC1A0C1B04D1 -:1040B0000793022306A90B73FD3313409B00E418FA -:1040C000019B4A73022B00D090E7AC6B8EE7019BFB -:1040D000002B3AD1002A16D02368DD0F63689A1CA2 -:1040E000D7D0424658320692013300D1C6E0201D97 -:1040F000FFF7D4FD06AB01002A00404600E000BFF8 -:10410000002800D0A7E008347AE7019B002B02D0FA -:10411000002A00D08BE0043472E707A9584600F06B -:10412000D1FA0028B5D1029B002B5DD10820B1E760 -:1041300043460D2158461D6AFFF7D0FE854263D0E5 -:104140002368002B99DA043497E743460D2158463B -:104150001D6AFFF7C3FE8542D5D143469B6A9C4248 -:10416000D1D145462000FFF7C5FC0F21020058467B -:10417000FFF7DAFE58462A000021FFF7D5FE072098 -:1041800088E7002F22D058235146434406AABA4656 -:10419000251D0026049405911F00914603E0043577 -:1041A0002600A24514D028000697FFF777FD4B465E -:1041B000010000224046741C00E000BF0028EED041 -:1041C0005746059B049C9A46B742B9D1454601E043 -:1041D0004546049C0D215846FFF780FE069B286249 -:1041E0006B62AC62062055E70F215846FFF776FE5A -:1041F0000E2102005846FFF797FE5846274A0F2126 -:10420000FFF792FE072045E743469B6A9C4297D101 -:10421000434642469F620023D36204331363231D47 -:1042200053632368002B32DB0123029325E7200030 -:10423000FFF760FC454604340600AC63404600E0EE -:1042400000BF002800D124E7584632000F21FFF7B5 -:104250006BFE07201EE707000D2158464546FFF775 -:104260003DFE2862022F0FD1069BEB6243462C33A2 -:104270006B62AC6206200DE7564604E70D215846F6 -:104280004546FFF72BFE2862069B6B62F1E738007C -:10429000013080004546201865E7C0460000000058 -:1042A00010B50023FFF784FE10BDC04610B50123F2 -:1042B000FFF77EFE10BDC04610B50223FFF778FE63 -:1042C00010BDC046F0B5CE46474680B50600C3B027 -:1042D00014001D0001294ED0002933D003290AD033 -:1042E000042902D1002B00D189E0022043B00CBC8C -:1042F00090469946F0BD032BF7D11404150C240CFD -:104300002B19102BF1D8082203681A4200D0E7E0DD -:1043100020AB1800984600F02DF9B36BED001A00A1 -:10432000002C09D0E400EA1A1C1942441968D15043 -:1043300004339C42FAD12200B263404600F018F9DF -:104340000020D3E70220002BD0D100230127100446 -:10435000B56B000C321D39009940084202D0296823 -:104360000435116001330432102BF4D10020A30472 -:10437000BCD4B563BAE71404170C240C012B5FD02E -:10438000052BB2D13B19202BAFD80F2F7DD9A146D9 -:10439000002C65D1002223009146B16B002B00DC7C -:1043A00088E020A88046FA00DB00521ACB1842446D -:1043B0000868505004318B42FAD119004B46002B4B -:1043C00010D04B4658003A00102F00D21022002384 -:1043D000103AD2006A448000CC58D450043383424F -:1043E000FAD1C918012D5ED0B1630F2F74D94B4695 -:1043F000002BA5D0684600F0B7F8002076E7102A19 -:1044000000D972E7102203681A4245D120AB180088 -:10441000984600F0B3F800230120B16B02009A40E7 -:10442000144204D045460F689A00AF50043101335E -:10443000042BF3D14046B16300F09EF8002055E70D -:104440003B19102B00D950E70F2F00D94DE700235F -:104450009946012233681A4230D14B46002B5AD07C -:10446000042233681A4242D1012D47D00F2F06D8BB -:1044700020AB180000F076F84B46002B8AD0684637 -:1044800000F074F81023DB1B87E7102BDFD9102214 -:10449000524291469944DCE793430360D130FF30A8 -:1044A00000F06CF8B2E7043120A8B16300F054F8D2 -:1044B00000201BE74B46002B84D193E71900914362 -:1044C0000A003160052D1ED0032230009343336073 -:1044D000483000F043F8C0E720A800F041F886E734 -:1044E000934303605130FF3000F044F810E7300090 -:1044F00093433360D03000F039F8B5E720AB1800B3 -:1045000000F02CF8BEE7022330001A433260483036 -:1045100000F028F8A1E7012D03D00F2F00D939E7CB -:10452000A6E720AB180000F019F833E7011C34317E -:1045300038C9043B9C461D60A646011C20313CC97D -:1045400090469946A246AB46011C0831FCC9416819 -:104550000068E54600BDC0467047C0467047C0468B -:104560007047C0467047C0467047C0467047C04657 -:104570007047C0467047C0467047C0467047C04647 -:1045800001B401A801B585B0FFB408A841464A4668 -:1045900053465C4665463EC001A83EC80F98009051 -:1045A00000230CB401A9FFF70FFC109B12B01847B1 -:1045B00001B401A801B585B0FFB408A841464A4638 -:1045C00053465C4665463EC001A83EC80F98009021 -:1045D00000230CB401A9FFF72BFC109B12B0184765 -:1045E00001B401A801B585B0FFB408A841464A4608 -:1045F00053465C4665463EC001A83EC80F980090F1 -:1046000000230CB401A9FFF737FC109B12B0184728 -:1046100001B401A801B585B0FFB408A841464A46D7 -:1046200053465C4665463EC001A83EC80F980090C0 -:1046300000230CB401ABFFF7F1FB109B12B018473D -:1046400001B401A801B585B0FFB408A841464A46A7 -:1046500053465C4665463EC001A83EC80F98009090 -:1046600000230CB401AAFFF76BFC109B12B0184793 -:10467000027A0300002A04D1427AB020002A07D12E -:104680007047013A02720268100E12021A60F7E7D0 -:10469000013A5A725A68111D596003211268197241 -:1046A000F2E7C04600B585B003AB00930C220023AF -:1046B0000021FFF7F9FB039805B000BD10B5FFF727 -:1046C000F1FF10BDF0B557464E464546DE46002385 -:1046D000E0B587B003930F339846083B9946802393 -:1046E0001B0306000F009A463800FFF7C1FF0400C5 -:1046F000B02821D0030632D4FF2583001D4005AB2E -:104700009B4600930D220023002130000435FFF763 -:10471000CBFB63064CD5059B5D1B05955B46009363 -:1047200000230D2200213000FFF7E4FB3800FFF7E3 -:104730009FFF0400B028DDD1039B0024002B2FD164 -:1047400005AD00950E2200213000FFF7ADFB00956E -:1047500000230F2200213000FFF7CCFB20E00300F4 -:1047600042469343DBB2802B63D0902B25D0A02B05 -:1047700032D0B02B45D0C02B00D173E003004A46A5 -:104780009343DBB2D02B0AD15346024001321A4385 -:10479000052301213000FFF795FD0028A4D009244E -:1047A000200007B03CBC90469946A246AB46F0BDFF -:1047B000059B9C4665440595B0E7833B03400D2B64 -:1047C000EDD0424605AD02400095002300213000A7 -:1047D000FFF76AFB0095A3E7FF234A461B01190078 -:1047E000824311410A001A40030702D58023DB01EE -:1047F0001A43002300213000FFF764FD0028CED1CA -:1048000072E7B1284AD0B2285ED0B32800D18BE03D -:10481000FC230340B42BC2D04A4653460240013227 -:104820001A43012101233000FFF74CFD0028B6D1C7 -:104830005AE704023800FFF71BFF802520432D02B2 -:10484000A842ACD004010005020C00230021300076 -:10485000FFF738FD0028A2D12C4200D144E7012304 -:10486000039341E7C6286AD0C7287CD003004A4694 -:104870009343DBB2C02B00D18BE0C82800D18FE07E -:10488000C92800D08BE73800FFF7F2FEF0230203BF -:104890001B03134042460240013278E73800FFF71D -:1048A000E7FE002800D17AE7030042469343DBB2DB -:1048B000002B00D073E7020000213000FFF702FD5B -:1048C000002800D06BE70FE705AB00939B460D2255 -:1048D000002300213000FFF7E7FA3800FFF7C8FE99 -:1048E00003066AD57F25B03C059B2840A0409C4626 -:1048F0006044059038000734FFF7BAFE0306F3D48E -:10490000812292009446863AFF3A1040A040059BCF -:10491000723A634418185B46059000930021002307 -:104920003000FFF7E7FADFE63800FFF7A1FEF023DB -:1049300002031B03134042460240013270E7380075 -:10494000FFF796FEF02302031B031340424602408A -:1049500001321A43032303213000FFF7B3FC002880 -:1049600000D01CE7C0E63800FFF782FE002800D127 -:1049700015E7030042469343DBB2002B00D00EE75D -:10498000020004213000FFF79DFC002800D006E75C -:10499000AAE64346A0221C40013412032243D9E771 -:1049A0003800FFF765FE434602009A43D2B2103248 -:1049B0001840120301300243EAE60224A0E7C04691 -:1049C000030000B5DB6C85B05A6808001202019242 -:1049D0001A0001A908324A6003220A72DB794B727D -:1049E000FFF770FE05B000BD10B5FFF767FE806CE5 -:1049F00010BDC04610B5FFF761FEC26CD3799B00B5 -:104A00000833D01810BDC04610B500F005F8C046F8 -:104A100010B5FFF7F9FFC04610B5062000F074F896 -:104A2000012000F0A3F8C046F0B505000F2A2FD9E9 -:104A30000B0003439B0734D116000C000300103E0B -:104A4000350901352D01451927681F6067685F60CA -:104A5000A7689F60E7681034DF6010339D42F3D190 -:104A60000F239E431036851989191340032B1AD939 -:104A70001E1F0023B4080134A400CF58EF500433A4 -:104A8000A342FAD10324A643331D2240C918ED18CE -:104A9000002A05D00023CC5CEC5401339342FAD1B8 -:104AA000F0BD0500F6E71A00F2E7C04670B5050054 -:104AB0000C001F2922D8B7239B00C358002B14D009 -:104AC0008A009B181A68002A0FD0012A0BD0511CAB -:104AD00005D00021200019609047002070BD1623EA -:104AE00003600120FAE70020F8E7280000F02AF828 -:104AF00022000100280000F011F8EFE71623036000 -:104B000001204042EAE7C04610B5034B0100186897 -:104B1000FFF7CCFF10BDC04600000020002370B599 -:104B2000074C050008001100236000F017F8431C33 -:104B300000D070BD2368002BFBD02B60F9E7C04686 -:104B40001C07002010B500F001F810BD582201200C -:104B5000014B40421A6070471C0700205822012078 -:104B6000014B40421A6070471C070020FEE7C04618 -:104B700002B4714649084900095C49008E4402BCF0 -:104B80007047C04603B47146490840004900095EB9 -:104B900049008E4403BC704703B471464908400085 -:104BA0004900095A49008E4403BC7047F8B5C04615 -:104BB000F8B5C04609021200010100803209040064 -:104BC00000000000000012010002FF000008C016F3 -:104BD000DC05020201020001040309042A03490062 -:104BE0006E00660069006E006900740065004E008A -:104BF000650073004C0069007600650073002E00AC -:104C000063006F006D000000000000000000000065 -:104C10000000000000000000000000000000000094 -:104C20000000000000000000000000000000000084 -:104C30001E0349004E004C00200052006500740025 -:104C400072006F002D00500072006F0067000000BE -:104C50000000000000000000000000000000000054 -:0C4C600000000000000000000000000048 -:104C6C0074B20181B0AB308000000000800A018179 -:104C7C00B0B0ABF0000000003F020181B0AB30805F -:104C8C000000000080060181B0B0ABF00000000015 -:104C9C0000EDFF7FB0B0B08050EEFF7F0100000050 -:104CAC00FCEEFF7FB0A9028090EFFF7FB0B0A88030 -:104CBC00E0EFFF7F01000000ECEFFF7FB0B0AA80B7 -:104CCC0020F0FF7F9CFFFF7FF0F0FF7F01000000D2 -:104CDC00ECF0FF7FAA3F398038F1FF7FB0B0A8809D -:104CEC0044F1FF7FB0B0AA8084F1FF7FB0B0A88000 -:104CFC0098F1FF7F0100000094F1FF7FB0B0A88015 -:104D0C009CF1FF7F010000002CF2FF7FAA0FB28004 -:104D1C0094F2FF7F58FFFF7F7CF5FF7FB0B0A88037 -:104D2C0098F5FF7F54FFFF7FF8F7FF7F010000002D -:104D3C0068F9FF7F0084048078F9FF7FB0B0A88009 -:104D4C0078F9FF7F40FFFF7F6CFCFF7F00840480BD -:104D5C008CFCFF7FB0B0A880A4FCFF7F010000009A -:104D6C00080000200000000000000000F4020020F9 -:104D7C005C030020C40300200000000000000000C1 -:104D8C000000000000000000000000000000000017 -:104D9C000000000000000000000000000000000007 -:104DAC0000000000000000000000000000000000F7 -:104DBC0000000000000000000000000000000000E7 -:104DCC0000000000000000000000000000000000D7 -:104DDC0000000000000000000000000000000000C7 -:104DEC0000000000000000000000000000000000B7 -:104DFC0000000000000000000000000000000000A7 -:104E0C000000000000000000000000000000000096 -:104E1C0001000000000000000E33CDAB34126DE633 -:104E2C00ECDE05000B00000000000000000000009C -:104E3C000000000000000000000000000000000066 -:104E4C000000000000000000000000000000000056 -:104E5C000000000000000000000000000000000046 -:104E6C000000000000000000000000000000000036 -:104E7C000000000000000000000000000000000026 -:104E8C000000000000000000000000000000000016 -:104E9C000000000000000000000000000000000006 -:104EAC0000000000000000000000000000000000F6 -:104EBC0000000000000000000000000000000000E6 -:104ECC0000000000000000000000000000000000D6 -:104EDC0000000000000000000000000000000000C6 -:104EEC0000000000000000000000000000000000B6 -:104EFC0000000000000000000000000000000000A6 -:104F0C000000000000000000000000000000000095 -:104F1C000000000000000000000000000000000085 -:104F2C000000000000000000000000000000000075 -:104F3C000000000000000000000000000000000065 -:104F4C000000000000000000000000000000000055 -:104F5C000000000000000000000000000000000045 -:104F6C000000000000000000000000000000000035 -:104F7C000000000000000000000000000000000025 -:104F8C000000000000000000000000000000000015 -:104F9C000000000000000000000000000000000005 -:104FAC0000000000000000000000000000000000F5 -:104FBC0000000000000000000000000000000000E5 -:104FCC0000000000000000000000000000000000D5 -:104FDC0000000000000000000000000000000000C5 -:104FEC0000000000000000000000000000000000B5 -:104FFC0000000000000000000000000000000000A5 -:10500C000000000000000000000000000000000094 -:10501C000000000000000000000000000000000084 -:10502C000000000000000000000000000000000074 -:10503C000000000000000000000000000000000064 -:10504C000000000000000000000000000000000054 -:10505C000000000000000000000000000000000044 -:10506C000000000000000000000000000000000034 -:10507C000000000000000000000000000000000024 -:10508C000000000000000000000000000000000014 -:10509C000000000000000000000000000000000004 -:1050AC0000000000000000000000000000000000F4 -:1050BC0000000000000000000000000000000000E4 -:1050CC0000000000000000000000000000000000D4 -:1050DC0000000000000000000000000000000000C4 -:1050EC0000000000000000000000000000000000B4 -:1050FC0000000000000000000000000000000000A4 -:10510C000000000000000000000000000000000093 -:10511C000000000000000000000000000000000083 -:10512C000000000000000000000000000000000073 -:10513C000000000000000000000000000000000063 -:10514C000000000000000000000000000000000053 -:10515C000000000000000000000000000000000043 -:10516C000000000000000000000000000000000033 -:10517C000000000000000000000000000000000023 -:10518C000000000000000000000000000000000013 -:04000005080000C12E -:00000001FF diff --git a/firmware/build_stm/inlretro_stm.elf b/firmware/build_stm6/inlretro_stm.elf similarity index 32% rename from firmware/build_stm/inlretro_stm.elf rename to firmware/build_stm6/inlretro_stm.elf index bb92230..61fea18 100644 Binary files a/firmware/build_stm/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 new file mode 100644 index 0000000..a83a51e --- /dev/null +++ b/firmware/build_stm6/inlretro_stm.hex @@ -0,0 +1,1352 @@ +:020000040800F2 +:10000000001800200108000835050008390500081F +:1000100000000000000000000000000000000000E0 +:10002000000000000000000000000000350500088E +:10003000000000000000000035050008350500083C +:1000400035050008350500083505000835050008A8 +:100050003505000835050008350500083505000898 +:100060003505000835050008350500083505000888 +:100070003505000835050008350500083505000878 +:100080003505000835050008350500083505000868 +:100090003505000835050008350500083505000858 +:1000A0003505000835050008350500083505000848 +:1000B00035050008350500083505000899010008D8 +:1000C000284B10B51A88284B12041B881A43274B5B +:1000D000198849084900885A254908801988023139 +:1000E00089B21980198849084900885A214908802D +:1000F0001988023189B21980198849084900885A3B +:100100001D49088019881D48023189B21980198853 +:1001100049084900895A1A4A11801A881949023235 +:1001200092B21A801C880288944213D902881C88D3 +:100130000832121B92B20A80028892B21A801249C7 +:10014000124B0A881343124A1A40302353409BB281 +:100150000B8010BD0F4804881A889442E6D3082308 +:100160000B80ECE70C6000400A6000400460004037 +:100170004C6000404E600040506000400260004013 +:10018000526000401A600040005C00408080FFFF29 +:10019000BF8FFFFF006000409449F8B50B88944C76 +:1001A000002B3BD00A88934B9A4235D1002302257D +:1001B000914A1380914A1380914A1380914A138087 +:1001C000914A1380914AD08FA843D087D08F013DA8 +:1001D000A843D0878E481735C3878E4805808E4840 +:1001E000343505808D480835058080258C486D01A3 +:1001F000058080258B4805808548C38780208A4BF1 +:1002000000062380894B18608023D08FDB000343D6 +:10021000D387874A874B1A8000230B8023881BB221 +:10022000002B00DBC3E02388834A764F13408022F3 +:100230001343238023881B0500D49BE07F4D7F233D +:100240002A7811009943704B1980E9886A4B19800C +:1002500000216B4B19803B88FF318B4313433B805C +:1002600060231A4208D08022754B12051B88280093 +:100270009B189847614B18802B78602259B200294F +:100280004DDA134014D16A78062A0FD16A88110A10 +:1002900002291AD003291BD0012920D1694B12262B +:1002A000694A99B21180694A1B0C1380534B1E8016 +:1002B0002288674B1343674A1A40C0239B0153406F +:1002C0009BB22380FFF7FCFE47E05E4B1233E6E76C +:1002D000D2B2012A0FD0002A03D0022A15D01E0064 +:1002E000E4E7584B584A243399B21180574A1B0C03 +:1002F00013800426DAE7534B534A283399B211800E +:10030000524A1B0C1380544ED0E74E4B4E4A7C335E +:1003100099B211804D4A1B0C1380504EC6E7134210 +:1003200009D16B78052B06D13A886B88D2B21B02B3 +:1003300013439BB23B8000212388494A1340494A1A +:1003400013439BB22380484B198023881A43474BA1 +:100350001A40474B5A4092B222802D4BDB8F5B05EF +:1003600007D580222F4B1A800023294AD3872E4B92 +:100370002380F8BD60213B880B40402BEDD13B88AA +:100380001342EAD1264A3B4B2C481B881188802215 +:1003900012059B18C9B298472288324B13432D4A45 +:1003A0001A40C0239B0153409BB22380D5E7802293 +:1003B00023881342D1D023882F490B408021090282 +:1003C0000B432380104B1B88934200D17AE7FF2018 +:1003D0000C4B19888143C0D01988090A0A43114976 +:1003E0000A801A8802401A80B7E7C0460E600040B3 +:1003F000005C00403CA5000000600040026000403E +:10040000046000400660004008600040025C00405C +:10041000065C0040505C0040186000401C600040DA +:100420001E6000404C5C00402032000000E100E013 +:100430000080FFFF585C00408F0F000054600040B8 +:10044000106000407C0400080A6000400C6000401E +:100450008081FFFF8FBFFFFF2A0300001E03000003 +:100460008F8EFFFF8080FFFF1A600040BFBFFFFF3D +:1004700030300000126000400F8FFFFF12010002B9 +:10048000FF000008C016DC0502020102000109029B +:100490001200010100803209040000000000000089 +:1004A000040309042A0349006E00660069006E0017 +:1004B0006900740065004E00650073004C0069001F +:1004C0007600650073002E0063006F006D00000071 +:1004D000000000000000000000000000000000001C +:1004E000000000000000000000000000000000000C +:1004F00000000000000000001E0349004E004C00F8 +:10050000200052006500740072006F002D00500042 +:1005100072006F0067000000000000000000000093 +:1005200000000000000000000000000000000000CB +:1005300000000000FEE70000004801E02301ADDEFE +:10054000FEE7C04602B4714649084900095C49000B +:100550008E4402BC7047C046411D000000616561C9 +:1005600062690001130000000536532D4D00060C92 +:10057000074D09011901000003B471464908400004 +:100580004900095E49008E4403BC7047411D0000CC +:100590000061656162690001130000000536532D9A +:1005A0004D00060C074D09011901000003B4714606 +:1005B000490840004900095A49008E4403BC70476D +:1005C000411D0000006165616269000113000000C7 +:1005D0000536532D4D00060C074D090119017047D2 +:1005E0000A4B0B4A10B55A600A4A5A600122DC686D +:1005F0001442FCD11A6101220180D9681142FCD158 +:100600002022DA6060321A6110BDC046002002402C +:1006100023016745AB89EFCDFF2370B53D4C2370B7 +:10062000002363704378C588102B00D06FE0C37837 +:1006300081888078384E01387269082800D964E0D2 +:10064000FFF780FF0563632B3B3149515F008B1E31 +:100650008E227D2B19D8314B7360314B736001238F +:10066000F2681A42FCD102233361802389021B0500 +:10067000C918422371613361C046413BF2681A4098 +:10068000FCD12023F360603333612270254BA2B28A +:10069000240CE8B25A819C8170BD58001018FFF7F5 +:1006A0009FFF0022F1E78E22012BEED81804802351 +:1006B0001B05C01840181C49F1E7042363707369D7 +:1006C000A37073691B0AE37073691B0C2371736950 +:1006D0001B0E6371E5E7022363701388A370138810 +:1006E0001B0AE370DDE78E22012BCED880221B048B +:1006F00012059B185918022363700B88A3700B888E +:10070000EEE70A4A0A4BDA60CBE78B22BDE780238B +:100710002370BBE71A070020002002402301674531 +:10072000AB89EFCD00600040FFFF00000400FA0538 +:1007300000ED00E0000000000000000000000000EC +:1007400000000000000000000000000000000000A9 +:100750000000000000000000000000000000000099 +:100760000000000000000000000000000000000089 +:100770000000000000000000000000000000000079 +:10078000144B154A9BB21382144B9BB2538268469A +:100790001C300D4A0D4B0430043001681140C91A59 +:1007A000FAD1074A074B043801681140C91AF2D13F +:1007B0007B460A33036004380133036008E0FEE738 +:1007C0000000FFFF00000008FFFFFF0F0000000116 +:1007D000002070471906000800600040DF0500088F +:1007E0000000000000000000000000000000000009 +:1007F00000000000000000000000000000000000F9 +:1008000009490A4A0A4B9B1A03DD043BC858D050D9 +:10081000FBDC0849084A0020521A02DD043A8850DD +:10082000FCDC01F033FF000018500008000000203D +:1008300030040020300400202807002070B50F4C41 +:100840002268537A55685A18D2B293420FD122685F +:100850000B48537ACB1853720378591AC9B20170F6 +:100860000020814202D198230130D37070BD0678F8 +:100870000130EE540133DBB2E7E7C0461407002035 +:1008800018070020FF23F0B5B74C85B02370002374 +:100890006370837905000093407801380E2801D9F0 +:1008A00001F0B0FBFFF782FE0F00B1059B07A70820 +:1008B0006B0AAE0B990B2D09D5091F0A680AE508CA +:1008C000F70809091B09A878AA888C2319281CD8BD +:1008D000FFF76CFE24002C0022011E02EA028903AD +:1008E0001804D404F004FC0404050C0515051E05C9 +:1008F0002C0534053C0544051A001A001A00490568 +:100900005E057505D202DE0200232370974B009826 +:10091000A2B2240C5A819C8105B0F0BDB023944A48 +:100920005B0351690B4353610023EEE7152A01D99C +:1009300000F05CFD1000FFF739FE160023002E00CA +:100940005905390044004F0059055C0069007300E7 +:100950008000590559058D009A00A700B400C10018 +:10096000CE00D800E2009023DB051A6881490A40D6 +:100970001A608022D96852030A43DA600023C4E770 +:1009800090230122DB05196891431960D9680A4355 +:10099000DA600023B9E790230422DB05196891434C +:1009A0001960D9680A43DA600023AEE79023102269 +:1009B000DB05196891431960D9680A43DA6000239E +:1009C000A3E790234022DB05196891431960D96899 +:1009D0000A43DA60002398E79023DB051A6866492A +:1009E0000A401A608022D968D2040A43DA600023E0 +:1009F0008BE79023DB051A6860490A401A60802261 +:100A0000D96852010A43DA6000237EE704225C4B76 +:100A1000196891431960D9680A43DA60002374E7C2 +:100A20009023DB051A6857490A401A608022D9686A +:100A3000D2050A43DA60002367E79023DB051A68D2 +:100A400051490A401A608022D968D2020A43DA600A +:100A500000235AE79023DB051A684C490A401A60C4 +:100A60008022D96852000A43DA6000234DE79023C0 +:100A7000DB051A6846490A401A608022D968D2000C +:100A80000A43DA60002340E79023DB051A684149F6 +:100A90000A401A608022D968D2010A43DA60002332 +:100AA00033E79023DB051A6833490A401A60802235 +:100AB000D968D2040A43DA60002326E79023DB05D5 +:100AC0001A6835490A401A608022D96852050A43DB +:100AD000DA60002319E70122294B19689143196054 +:100AE000D9680A43DA6000230FE710222B4B1968FC +:100AF00091431960D9680A43DA60002305E790231F +:100B0000DB051A6822490A401A608022D968D2009F +:100B10000A43DA600023F8E6152A01D900F069FCDF +:100B20001000FFF743FD16003D0048006604530027 +:100B30005E006900660474007F008900940066040A +:100B400066049F00AA00B500C000CB00D600E000FC +:100B5000EA009023DB051968064801401960DA684D +:100B60000240DA600023D0E6E40600200060004086 +:100B700000100240FFFFEFFFFFFFFFFBFFEFFFFF53 +:100B800000040048FFFFFFBFFFFFFBFFFFFEFFFF6A +:100B9000FFFBFFFFFFBFFFFFFFFFFFEF000C004861 +:100BA00090230121DB051A688A431A60DA688A43B8 +:100BB000DA600023A9E690230421DB051A688A4342 +:100BC0001A60DA688A43DA6000239EE690231021D7 +:100BD000DB051A688A431A60DA688A43DA60002300 +:100BE00093E690234021DB051A688A431A60DA688D +:100BF0008A43DA60002388E69023DB051968CE4833 +:100C000001401960DA680240DA6000237DE6902333 +:100C1000DB051968C94801401960DA680240DA60EA +:100C2000002372E60421C64B1A688A431A60DA6808 +:100C30008A43DA60002368E69023DB051968C1481F +:100C400001401960DA680240DA6000235DE6902313 +:100C5000DB051968BC4801401960DA680240DA60B7 +:100C6000002352E69023DB051968B848014019605B +:100C7000DA680240DA60002347E69023DB05196852 +:100C8000B34801401960DA680240DA6000233CE6AC +:100C90009023DB051968AF4801401960DA6802400B +:100CA000DA60002331E69023DB051968A248014091 +:100CB0001960DA680240DA60002326E69023DB053B +:100CC0001968A54801401960DA680240DA6000231B +:100CD0001BE601219A4B1A688A431A60DA688A4334 +:100CE000DA60002311E610219C4B1A688A431A60CF +:100CF000DA688A43DA60002307E69023DB05196887 +:100D0000934801401960DA680240DA600023FCE58C +:100D1000152A00D970E31000FFF748FC16001F00E9 +:100D200027006E032F0037003F006E03480051007C +:100D3000580061006E036E036A0073007C0085003A +:100D40008E0097009E00A50090228023D205116896 +:100D50005B030B4313600023D7E590220123D205E8 +:100D600011680B4313600023CFE590220423D205C2 +:100D700011680B4313600023C7E590221023D205AE +:100D800011680B4313600023BFE590224023D20576 +:100D900011680B4313600023B7E590228023D2052E +:100DA0001168DB040B4313600023AEE5902280231F +:100DB000D20511685B010B4313600023A5E50423F2 +:100DC0005F4A11680B43136000239EE59022802345 +:100DD000D2051168DB050B431360002395E59022D3 +:100DE0008023D2051168DB020B43136000238CE5DE +:100DF00090228023D20511685B000B43136000230F +:100E000083E590228023D2051168DB000B43136039 +:100E100000237AE590228023D2051168DB010B4381 +:100E20001360002371E590228023D2051168DB0452 +:100E30000B431360002368E590228023D2051168DC +:100E40005B050B43136000235FE501233C4A1168F7 +:100E50000B431360002358E51023404A11680B43ED +:100E60001360002351E590228023D2051168DB0036 +:100E70000B431360002348E58D23082A00D044E586 +:100E800090224023D20551680B43536000233CE578 +:100E90008D23082A00D038E590224021D2055368DE +:100EA0008B435360002330E5152A00D9A7E21000D8 +:100EB000FFF77CFB16001D002300A50229002F0070 +:100EC0003500A5023C0056005B006200A502A502A9 +:100ED00069006F0075007B00820089008E0093001E +:100EE00080229023D200DB059A6200230DE5902337 +:100EF0000122DB059A62002307E590230222DB052D +:100F00009A62002301E590230422DB059A62002304 +:100F1000FBE490230822DB059A620023F5E480229B +:100F200090239201DB059A620023EEE49023402295 +:100F3000DB059A620023E8E4FFFFFFFBFFEFFFFF02 +:100F400000040048FFFFFFBFFFFFFBFFFFFEFFFFA6 +:100F5000FFFBFFFFFFBFFFFFFFFFFFEF000C00489D +:100F60000222CF4B9A620023CFE480229023120208 +:100F7000DB059A620023C8E4802290239200DB05FF +:100F80009A620023C1E490231022DB059A620023B9 +:100F9000BBE490232022DB059A620023B5E4902372 +:100FA0008022DB059A620023AFE480229023920125 +:100FB000DB059A620023A8E480229023D201DB059E +:100FC0009A620023A1E40122B54B9A6200239CE4BB +:100FD0000422B44B9A62002397E490232022DB057D +:100FE0009A62002391E4152A00D90BE21000FFF762 +:100FF000DDFA16001D002300090229002F0035002C +:1010000009023C00420047004E0009020902550057 +:101010005B00610067006E0076007C008200802229 +:101020009023D200DB059A6100236EE49023012215 +:10103000DB059A61002368E490230222DB059A61B4 +:10104000002362E490230422DB059A6100235CE420 +:1010500090230822DB059A61002356E48022902326 +:101060009201DB059A6100234FE490234022DB05C7 +:101070009A61002349E40222894B9A61002344E4E7 +:10108000802290231202DB059A6100233DE4802236 +:1010900090239200DB059A61002336E4902310220E +:1010A000DB059A61002330E490232022DB059A615E +:1010B00000232AE490238022DB059A61002324E4A4 +:1010C000802290239201DB059A6100231DE4802297 +:1010D0009023D201DB059A610023FFF716FC012261 +:1010E0006F4B9A610023FFF710FC04226D4B9A614D +:1010F0000023FFF70AFC90232022DB059A610023DE +:10110000FFF703FC02236370152A00D9B1E0100039 +:10111000FFF718FA0B151EAF273039AF434C545D5B +:10112000AFAF677079828C969EA690238022DB05F4 +:101130001B69D200134063800023FFF7E6FB902376 +:101140000122DB051B69134063800023FFF7DDFBF1 +:1011500090230222DB051B69134063800023FFF705 +:10116000D4FB90230422DB051B691340638000231A +:10117000FFF7CBFB90230822DB051B69134063803C +:101180000023FFF7C2FB90238022DB051B6992013D +:10119000134063800023FFF7B8FB90234022DB0558 +:1011A0001B69134063800023FFF7AFFB02223C4B17 +:1011B0001B69134063800023FFF7A7FB9023DB0527 +:1011C0001B69DB0BDB0363800023FFF79EFB90238F +:1011D0008022DB051B699200134063800023FFF728 +:1011E00094FB90231022DB051B69134063800023CE +:1011F000FFF78BFB90232022DB051B6913406380E4 +:101200000023FFF782FB90238022DB051B6913403C +:1012100063800023FFF779FB90238022DB051B69A5 +:101220009201134063800023FFF76FFB902380221D +:10123000DB051B69D201134063800023FFF765FBC8 +:101240000122174B1B69134063800023FFF75DFBEE +:101250000422144B1B69134063800023FFF755FBE6 +:1012600090232022DB051B69134063800023FFF7D6 +:101270004CFB002363708D33FFF747FB80230A4A42 +:10128000DB0251690B435361054B08491A680A4058 +:101290001A60D968064A0A43DA600023FFF735FB73 +:1012A00000040048000C004800100240FFFFAAAAFA +:1012B00000005555EF4BF0491A680A401A60D9688A +:1012C000EE4A0A43DA600023FFF71FFBE94AEA49C6 +:1012D00013680B4013600023FFF717FBE54AE74B49 +:1012E00011680B4313600023FFF70FFBE149120263 +:1012F0004B69DBB21A434A610023FFF706FBDD4B63 +:101300001B691B0AA370012363700023FFF7FDFA1A +:101310008023DB4A1B0351690B435361D94ADA4BE3 +:1013200011680B4313600023FFF7EFFAD54AD64B41 +:10133000D1680B43D3600023FFF7E7FAD14AD349C2 +:1013400013680B4013600023FFF7DFFACD4ACE4B42 +:1013500011680B4313600023FFF7D7FAC94B5A619A +:101360000023FFF7D2FAC023C54ADB0251690B43C1 +:101370005361C04AC64B11680B4313609022A023EF +:10138000D20511685B030B4313600023FFF7BDFA1E +:10139000B84ABF4BD1680B43D3609023A021DB0533 +:1013A000D86849030143D9601168BA480140116007 +:1013B0001A68B9490A401A600023FFF7A6FAFF2508 +:1013C000AC48930041692B40B44DD20029400B43F7 +:1013D00043619021C020C905C0004B690240B0485C +:1013E00003401A434A610023FFF78FFA8D23FFF76A +:1013F0008CFA8D23FFF789FA8D23FFF786FA8D2368 +:10140000FFF783FA8D23FFF780FAAA88AD78032DC2 +:1014100000D10BE155D8012D63D05ED901F08CF8D5 +:1014200090220121D20513680B43136010239161B0 +:1014300011680B43136004234021936113680B432D +:101440001360082393619161802311685B010B4352 +:10145000136080238A48DB024169874E0B4385492C +:1014600043610B6833400B60CD68844B1D43CD60F6 +:101470000C6834400C60CC682343CB608023446903 +:101480001B0323437F4C436125687F4B2B43236021 +:1014900000236361C0244569E4022C4344610C6865 +:1014A0007B4820430860A02014684003204310605C +:1014B00048697A4C2040486151697948014051613E +:1014C00051E0052D52D000D211E1072D00D191E05D +:1014D000802D00D130E1962345E001F02DF8002366 +:1014E00041E001F029F89023DB051A682A431A60CD +:1014F00080229D61196852030A431A6080220421E8 +:10150000D2009A621A685C4D0A431A6002229A61FC +:1015100018680E3202431A604022996119680A4322 +:101520001A6008229A618023554ADB0251690B43F5 +:101530005361504B196829401960DC684F490C43CE +:10154000DC60186828401860D8680143D96080239F +:1015500051691B030B4353614A4A4B4B11680B43C0 +:101560001360002353614F4CFFF7CFF900F0E4FF05 +:1015700090220121D20513683F4E0B4313601023C4 +:10158000916111680B431360042340219361136838 +:101590000B431360082393618023916211685B0100 +:1015A0000B43136080233649DB02486903434B61D8 +:1015B000304B186830401860DD6830480543DD6006 +:1015C0001C6834401C60DC682043D8608023486974 +:1015D0001B0303434B612B492B4B086803430B60F0 +:1015E00000234B6180211068C901014311608021F3 +:1015F0009162B8E700F0A0FF90220121D2051368A4 +:1016000040200B4313601023916111680B4313605A +:1016100004239361116801431160082191611168ED +:101620000B4313600223936190610DE7D2B2022A4B +:101630003ED00023032A96D09723012A93D18023FA +:101640000F491B03486903434B610E490B689343E1 +:101650000B60CB681343CB604B6813434B608A61CC +:101660000B681A4300230A600F4A13700F4A116077 +:1016700079E7C04600040048FFFFAAAA00005555BC +:10168000001002400008004855555555AAAAAAAABC +:1016900050550000AFAAFFFFFFFFEBFF03FF000064 +:1016A000FFF90000E4060020F0060020EC06002010 +:1016B000B023B74A5B03516940200B435361902329 +:1016C000DB051A68B3490A401A608022D9685201C2 +:1016D0001143D960596801435960986119680A43F8 +:1016E00008211A60AC4A1170AC4A1360F7E6D2B216 +:1016F0009823012A00D036E79022A94BD2051A6020 +:1017000006220A21A74B1A70A74BA84A1360A84AC1 +:101710001170A84A01311360A74A1170A74A1360DB +:101720000C22A74B1A70B023994A5B0351690B43F3 +:10173000536100F025FED2E690230125402180264A +:10174000DB05657099621A68760132431A60C046FB +:1017500090481C691A680C4002401A60DA6802401E +:10176000DA60F022002C37D11A6802401A60DA6879 +:101770001643DE601A6994461A690192C0461A69D6 +:101780000292C046C0461A690392C046C046C0468F +:101790001F69C046C046C046C0461E691A6802405E +:1017A0001A60DA681040D860634622000B4213D1F9 +:1017B000019B2A000B420FD1029B02320B420BD13C +:1017C0000B0003990332194206D104321F4203D1A0 +:1017D00005321E4200D1D1327A4B9A707FE6E97809 +:1017E000A888AD780D2D00D195E023D8062D56D0D0 +:1017F0000FD8022D5AD005D8002D4BD0012D52D034 +:10180000A02549E0042D74D0052DF9D101F042FE48 +:1018100047E0092D76D007D8072D00D181E0082DAB +:10182000EED101F03DFF3CE00B2D77D06DD901F0FA +:10183000B9FE36E0222D3CD011D8102D74D006D838 +:101840000E2D65D00F2DDBD101F08CFF29E0202D6E +:1018500052D054D8112DD3D101F0E8FE21E0822DD1 +:1018600000D190E009D8802D61D0812DC8D101230D +:10187000637001F0C9FFA07013E0852D00D1ADE0C9 +:10188000862D00D1AFE0842DBAD10123637001F021 +:1018900029FEF0E700F048FD2570FFF737F802F069 +:1018A000A1F80025F8E701F039FEFAE701F000FDA4 +:1018B000F7E7454B902258610223D20593623A4BD9 +:1018C000424D1E68090235431D605D6900B2EDB2EC +:1018D00029435961002801DA01219162C046C046BE +:1018E00001219161491891611A6839490A401A60C9 +:1018F000D7E702F00DFAD4E7364B1870D1E7364B34 +:101900001880CEE702F04CF8CBE701F05BFFC8E7A8 +:1019100002F01EF8C5E701F0E9FFC2E701F0E2FEC0 +:10192000BFE701F0BBFFBCE701F08EFFB9E7012183 +:1019300090236170DB051D68164E35401D60DA6826 +:1019400002253240DA608022D2009A6299619D615C +:101950001D4D6861C046C04600B29A61002800DA99 +:101960009962C046C046C046C046C046C0469022A6 +:1019700080210D4BD205C9001B69916201211B0A10 +:101980009161A3708DE70123637001F0EFFD72E7B1 +:1019900000100240FFEFFFFFF0060020EC060020E1 +:1019A000040700200807002000040048FC0600206F +:1019B000000700200C07002010070020F40600207C +:1019C000F8060020E40600200008004800005555F5 +:1019D000FFFFAAAA880400203404002001236370BA +:1019E000C74B1B78CDE702236370C64B1B88A370DF +:1019F0001B0AE37055E7A878E978AB88AA22062885 +:101A00001AD8FEF79FFD042B1C2327332100FF2546 +:101A1000BD489A0041692A40BC4DDB0029400A4379 +:101A200042619021C020C905C0004A690340B848FE +:101A3000024013434B6100222270FEF767FF002231 +:101A4000180001F091FBF6E70122F9E7180001F018 +:101A500007FCF0E7180001F0DBFBECE701220021B6 +:101A60006270180001F0B0FBA070E4E70121617022 +:101A7000F7E7AA78002A07D00023012A01D1FEF750 +:101A800044FFAF23FEF741FF01236370A933A37026 +:101A90001300FEF73AFFAA78002A07D00023012A94 +:101AA00001D1FEF732FFB023FEF72FFF0123637051 +:101AB000A933A3701300FEF728FFAA78002A07D0E5 +:101AC0000023012A01D1FEF720FFB123FEF71DFFFD +:101AD00001236370A933A3701300FEF716FFAA78E1 +:101AE000002A07D00023012A01D1FEF70EFFB223FE +:101AF000FEF70BFF01236370A933A3701300FEF7F9 +:101B000004FFEA78A988AD78112D00D19AE007D8B2 +:101B1000012D6BD0002D0FD0022D7CD08225BBE68D +:101B2000212D00D184E0222D00D187E0122DF5D1A6 +:101B300002231020637088E001263100754D764F36 +:101B40002A783B68914099625A6810208A435A600B +:101B500001F094FC31002B783A6899400B00FA2789 +:101B60000425916151687F000B4353600196380052 +:101B700001F084FC674A01991278674E91403368FE +:101B8000380099625A68013D8A435A6001F076FC38 +:101B9000604B01991B78326899400B009161516844 +:101BA000ADB20B435360002DE1D1FA270435380064 +:101BB00001F064FC0121574A574E12783368914076 +:101BC00099625A6838008A435A6001F057FC012133 +:101BD000504B32681B78013D99400B009161516870 +:101BE000ADB20B435360002DE1D155E62900494EBB +:101BF000494F32783B68914099625A6810208A4375 +:101C00005A6001F03BFC32783B6895409D615A6810 +:101C100015435D6045E601233E4A637012783F49F3 +:101C200093403D4A9BB21268002002F089F822E6F8 +:101C300001230020637001F071FB1CE601231020DA +:101C40006370F8E702230020637001F0C1FB60803D +:101C500027E6AB78AA88042B1DD007D8022B1FD00B +:101C600024D8012B12D08723FEF74FFE072B26D056 +:101C700003D8052BF7D12A4B16E0082B24D0802B54 +:101C8000F1D100F07DFB0023FEF73FFE254A1278DC +:101C9000A2706370F7E7244B1B78A3700123F8E769 +:101CA000204B1A708322204B1A70ECE71D4B1E4DFF +:101CB0001A7083232B7000F0D3FB2B78EDE71B4BBE +:101CC0001A70120A5A70DEE7184B1A78A2705A7806 +:101CD000E2709A782271DA7862711A79A2715B796E +:101CE000E3710623D5E7A878AA8801388A23032858 +:101CF00001D9FEF70AFEFEF725FC1B30333AC04639 +:101D000088040020340400200004004803FF000081 +:101D1000FFF90000F0060020EC060020040002009D +:101D2000D1040020B0040020D2040020B10400201F +:101D3000024885460248001C0047C0467812002031 +:101D4000C5CAFF1F060005000800070019C9FF1FCC +:101D5000EFBEADDE0023FEF7D8FDBE4B1A60F9E7FB +:101D6000BC4B18680004104301F0E4FFF2E7FEF7F3 +:101D700007FD0300FEF7C9FD8823FEF7C6FDAA781C +:101D80001300303B2F2B1CD8E878032816D8FEF719 +:101D9000D9FB18021113B04B512A00D183E029D886 +:101DA000312A5BD00FD8002A39D0302A4FD0B42343 +:101DB000FEF7ABFDA94BEFE7A94BEDE7B523FEF727 +:101DC000A4FDA84BE8E7332A56D04ED3502AEED1D3 +:101DD00000222270063262701A7AA270DA78E270FB +:101DE0005A7A22719A7A62719A78A2715B7CE37155 +:101DF000FEF78CFD7F2A00D989E0702A63D2602A21 +:101E00003FD0612A47D0522AD1D100221B882270AC +:101E1000A37002321B0A6270E370FEF777FDFF23A6 +:101E2000914953540132102AFBD18B4A8D49D3700A +:101E300093708B4ACB70D370937001228B7087495B +:101E4000CB708B70894B1A700023FEF75EFDAA8859 +:101E5000110AD9721A730023FEF757FDAA88110AD6 +:101E600059739A730023FEF750FDAA88110AD9739B +:101E70001A740023FEF749FDAA885A740023FEF75E +:101E800044FD0023237001336370AB88764AD35C32 +:101E9000A370FEF73BFD0023237001336370744B86 +:101EA0001B68DB78F4E70022227006326270DA7A6F +:101EB000A2701A7BE2705A7B22719A7B6271DA7B84 +:101EC000A2711B7C93E7674B69495C682B787F2B79 +:101ED00000D99AE06846674B007818700B68D8788C +:101EE00000280DD000230093982805D195E0002309 +:101EF0000093D02800D190E010205C4B187003E0D4 +:101F00005D4803609020D870FF23009385E0072090 +:101F1000104003281AD8FEF715FB1C021E174E4B63 +:101F2000802A01D2FEF7F2FC872A16D97032D2B28B +:101F3000072A01D9FEF7EAFC00222270EA789A7299 +:101F4000AA881A80FEF7E2FC454BE9E7B523FEF7C5 +:101F5000DCFC444BE4E7414BE2E7A888E978C6B2F1 +:101F60008D19BE22102D00DD66E50432002900D156 +:101F700062E5DD78033AFF2D00D05DE59D78013202 +:101F8000FF2D00D058E50022374DD7B2B9421CD8FA +:101F90004F01013F1F727701BC460022374F000AF4 +:101FA00067449870DA705A729A721A80DA721A73E9 +:101FB0005A739A73DA731A745A745F60AD19A8541D +:101FC0000132D3B29942FAD835E50132B718013F50 +:101FD000EF5DFF2FD9D0C1222EE5AB78002B04D0C6 +:101FE000402B08D0D223FEF790FC2370AA881F4B09 +:101FF0001A70FEF78BFC00232370013363701B4BB8 +:102000001B7845E78023FEF780FC0B68D878D8283A +:1020100000D06CE780205C68D8700B680021597292 +:10202000DB78902B01D0FEF771FC712A01D0FEF70E +:102030006DFC114BA9881A68526811701A685168B2 +:10204000AA88120A4A701A68537A02335372FEF74A +:102050005DFCC046300400204C04002060040020D9 +:102060007404002038040020D304002090040020D1 +:102070008C0400201807002014070020E40400202E +:10208000F0B5404B8BB0089119783F4B09921B7803 +:10209000019002933D4B019D1C683D4B3D481A78D1 +:1020A00001231E0096403C4AA662102D5ED1127894 +:1020B00000689340836201200200364B05901F6840 +:1020C000354B1B789A4003920200344B1B680693F1 +:1020D000334B1B789A4093B202000793314B1B6835 +:1020E0009C46314B1B789A40002304921A000198B9 +:1020F000202806D1029D05981D4105423ED0039837 +:10210000B861089820280FD1002B01D11E488354B4 +:10211000069805690798054206D01B48855C059816 +:10212000984005431848855409980139C9B20028D8 +:1021300002D0002900D1A6616046049D0133DBB2C4 +:1021400085618562082B05D101320F4BD2B29B5CB1 +:10215000029300230029CAD10E4B1A680E4B19783E +:1021600001238B409362A6620BB0F0BD019D112D3F +:10217000A1D112780068934083619CE70398B8620C +:10218000BFE7C046D1040020B10400200C070020A6 +:1021900010070020FC060020000700200407002094 +:1021A00008070020F4060020F8060020F7B51F4BB2 +:1021B0001F491A781F4B10282ED101241E780D6854 +:1021C000B440AC62012635000C6831001B780196E2 +:1021D0009D40194B1B680093184B1B7899400023B6 +:1021E0008C46190020280DD1154E019F765C1E41AA +:1021F0003E4219D0A5610133DBB2082B02D1002386 +:102200000131C9B26646009F013AD2B2BE61BE62D8 +:10221000002AE7D1A562F7BD1128D3D101241E7889 +:102220000D68B440AC61CDE7A562E4E7D1040020BD +:102230000C07002010070020F4060020F8060020FC +:10224000B1040020F7B50D00042701924C7A00027A +:1022500003B2A6B200932B7AB34202D26C72002072 +:10226000FEBD00986B682043195D80B2019B9847C2 +:102270006B681A5D094B824205D01A683A431A60AE +:1022800002229A61E7E71A680134BA431A60DA68F1 +:1022900001363A43DA60E4B2B6B2DCE70004004843 +:1022A000F7B50D001600FF27000203B24C7A019328 +:1022B0002A7AE3B2A24202D26B720020FEBD200055 +:1022C0006A683840D15C019B0134184380B2B04742 +:1022D000A4B2EDE7022907D10F4B104A984218D05B +:1022E000904209D1180007E0032906D10A4B0B4997 +:1022F0000B4A98420BD1080070470429FCD1064BC9 +:10230000064A984205D006499042F4D0054A8842D0 +:10231000E6D11000F0E7C046380400204C0400204D +:102320006004002074040020104B114A10B558615D +:102330001068104B09020343136053690E4CDBB263 +:102340001943902351618021DB0518684901084336 +:10235000186040209862186820401860D8680143CF +:10236000D960136805490B40136010BD0008004890 +:102370000004004800005555FFEFFFFFFFFFAAAA29 +:10238000F0B52C4B85B019682B4B2C481B78007886 +:102390000193012302901E0018001F00019A029C65 +:1023A0009640A040264D274A2D781268AF408E6295 +:1023B0008446906224489D400068876204680394C4 +:1023C0001C00AC402500039C254305604568019C2A +:1023D000BD4345609C401D00A54008681C00284383 +:1023E00008604868B04348601068029999408C4082 +:1023F00021000143604611605168814313485160D8 +:102400000078134A98408340126812481168994333 +:102410001160D1680B43D36080220F4B1A700023E8 +:1024200019000E4A13701A1801331170202BFAD1BB +:1024300005B0F0BD0C0700201007002000070020A9 +:10244000F8060020FC060020F40600200807002003 +:1024500004070020B1040020D2040020D104002091 +:1024600010B5334B1B78082B5DD016D8314C032B9D +:1024700044D007D8012B2DD0022B31D0EE222D4B8A +:102480001A7023E0062B44D049D8042BF6D18123BF +:10249000012223702021112027E00F2B34D008D8EF +:1024A000244C0D2B25D00E2BE8D181230022237044 +:1024B00027E0802B08D01F4CFF2B08D0102BDDD13C +:1024C00081230022237027E0FFF75AFF10BDF0237D +:1024D0002370FBE7812320202370FFF767FE06E0CF +:1024E00081230122002123702020FFF7C9FD8223D0 +:1024F000EEE78123002223701100F5E781230122FA +:10250000237020211020F0E781230A4C0022237041 +:10251000C0E781230122237020210800E5E7812301 +:1025200010202370D9E78123024C11202370D4E7B7 +:10253000B0040020D2040020BC234749DB038A6A90 +:10254000F0B513438B628B6A444A012413408B62BB +:1025500090238022DB051868D20102431A60802292 +:102560009A61B0224869520302434A611A683C48A2 +:102570003C4F02401A608022D86852030243042074 +:10258000DA601A68A2431A60DA682243DA601A68CD +:1025900082431A60DA680243DA6010221D689543AC +:1025A0001D60DD682A43DA6040221D6895431D6086 +:1025B000DD682A43DA601A682B4D2A401A608022AF +:1025C000DD68D2042A43DA601A68284D2A401A606E +:1025D0008022DD68D2052A43DA601A68244D2A4039 +:1025E00080251A60DA68ED022A43DA60214A16680B +:1025F000A6431660D6683443D4601E683E401E6011 +:10260000DC683C40DC6080234C691B0323434B6146 +:10261000194B1A4C1E681A4F26431E601E683E4016 +:102620001E60DE683443DC604B691D434D611368F6 +:10263000144D2B401360D468134B1C43D4601168B5 +:1026400029401160D1680B43D36013688343136042 +:10265000D3681843D060F0BD00100240FFFFA1FF17 +:10266000FFFFEFFFFFEFFFFFFFFFFFFBFFFFFFBFDE +:10267000FFFFFBFF00040048000800485555555572 +:10268000AAAAAAAAFFFFAAAA000055559022D34BD6 +:1026900012031968F0B50A431A60802289B09202C9 +:1026A00019681142FCD0012259680A435A608022FD +:1026B000596852020A435A608022596852030A43F9 +:1026C0005A608022196852040A431A6080229204D8 +:1026D00019681142FCD01121C14AC24C11605A68DC +:1026E0000E398A43110002220A435A608022196B74 +:1026F0000A431A638022D96912040A43DA61BA4B89 +:10270000E381BC231B689847B84B6382B84B238294 +:1027100062B6FFF711FFF022B64B1A70B64E2023B7 +:10272000327811009943D2292ED1B449B448C978DE +:10273000C3780224FF2904D1FF3B1C00631E9C4187 +:10274000E4B2B04BDB78FF2B00D00324AE4BDB7838 +:10275000FF2B00D00424AD4BAD4F1C703860D22A43 +:1027600012D10023012505E02100FFF7B3FD01236D +:102770000135EDB2A542F7D3002B00D0386080229E +:102780003B68DA70D02333703378F22B05D1002206 +:10279000023B33709E4B1B68DA703578D02D01D028 +:1027A00000F07EFC9A4E3068C378802B01D000F098 +:1027B00077FC964B1978FFF78DFD002330600400FD +:1027C000C57006884372C07AF5B21038152801D951 +:1027D00000F064FCFDF7EAFE52008A00D200D60049 +:1027E00062046204620462046204620462046204B9 +:1027F00062046204620462041600250036003B0095 +:1028000041004B00E17BC4230F2901D900F047FCB4 +:1028100009013143237AA278C9B2606801F00EFA47 +:102820000EE0E17B3C230A009A438833002A01D062 +:1028300000F035FC237AA2782943606801F034FA6D +:10284000607292E0237AA278E17B2943E5E7E17B9D +:102850003F230A009A438533E8E7227AE17BA37895 +:10286000009200222943606801F0AAF9E8E7E17BC1 +:10287000227AA378294300920122F4E7E37B1E2BFE +:102880000BD1C020B6092233F1B200029D4300F003 +:102890000FFD237AA2788021D7E71C2B0FD1A0202F +:1028A0008121C00100F004FD8020F609F1B2000290 +:1028B00000F0FEFCA0200021C00100F0F9FC802106 +:1028C000E27B49421F2A05D00D43EDB2237AA2785C +:1028D0002900A2E77022A02095430D432188C00162 +:1028E0000909C9B2EDB200F0E3FCEFE7E37BFE2B90 +:1028F0003BD17609F1B2474800F010FE1F21464B4C +:102900000D405A692D02D2B2154380219022C90090 +:10291000D205A0786768267A5D6191610121FF2563 +:102920009162033191625A692D022A4002435A6131 +:10293000C0463A4900228C46C046614609690130CA +:10294000090AB9545969C0B2294001320143D2B2CF +:1029500059619642F0D290230421DB0599618021D0 +:10296000C9009962012199616272294B1B6819881B +:102970009A7A52181A80D822DA7091E3237AA278D0 +:10298000602162E7E37B002B20D18033F6091D43F1 +:10299000F3B20293FF20029B20499B004A69034047 +:1029A0001F48024013434B61C0209021029BC90580 +:1029B000C000DB004A6903401A48024013434B61E0 +:1029C000227AA3782900009200224CE7012BE1D162 +:1029D0004021B604B60E31430291DBE700100240FD +:1029E00000200240006000403CA5FFFF3D080008B9 +:1029F00085080008D2040020900400204C04002028 +:102A00003804002060040020740400201107002016 +:102A10008C040020FF3F000000080048000400482C +:102A200003FF0000FFF90000E37B002B06D130001C +:102A30008038C0B2D14A2100FFF704FCE37B012BB0 +:102A400006D130008038C0B2CD4A2100FFF728FC03 +:102A5000E37B032B06D130008038C0B2C94A210085 +:102A6000FFF71EFCE37B042B06D130008038C0B298 +:102A7000C54A2100FFF7E6FBE37B0A2B06D13000B5 +:102A80008038C0B2C14A2100FFF70AFCE37BFD2B6E +:102A900015D13F20238830409B0904936B46802644 +:102AA0001B7C06430693677ABBB2039333021BB2C7 +:102AB0000793237A039A934200D3AAE06772E37BD9 +:102AC0001E2B11D13F2030408026238806439B09CE +:102AD000DBB20593657A33021BB2AFB20693237A59 +:102AE000BB4200D3DDE06572E37B0C2B17D11F20C6 +:102AF000304080260643C0202588A5216D09EDB20F +:102B0000C00100F0D5FB2900A14800F0D1FB677A95 +:102B100035023D43237ABB4200D311E16772E37B68 +:102B20001C2B3BD1A02023888121DB09DBB2C00113 +:102B3000049300F0BDFB80200499000200F0B8FB74 +:102B4000A0205421C00100F0B3FB677AAA21BBB2D8 +:102B50009048039300F0ACFB55218F4800F0A8FB90 +:102B600020218C4800F0A4FB802333431B021BB2BE +:102B70000693237A039A934200D31FE18020902189 +:102B80000002677200F094FB80200021000200F038 +:102B90008FFB8020F021000200F08AFBE37B1F2BDB +:102BA00030D1A0202188C0010909C9B200F080FB02 +:102BB000AA217848657A00F07BFB5521764800F021 +:102BC00077FB7448202100F073FB702380209E4324 +:102BD0004042304340B20302AFB20493237ABB4277 +:102BE00000D333E1802090210002657200F060FB89 +:102BF00080200021000200F05BFB8020F021000219 +:102C000000F056FBF4232288E370A37A9B182380FC +:102C100066E20021614800F04BFBAA21604800F009 +:102C2000E1FE55215F4800F0DDFEA0215C4800F088 +:102C3000D9FE6B46187C5C4B0699C01880B200F038 +:102C400037FB079D63683D43ADB2D95D280000F0B6 +:102C5000C9FEC046280000F0D7FD0590280000F00E +:102C6000D3FD059B8342F4D163680599DA5D4F4B30 +:102C70008A420FD1039A1968013292B20392042258 +:102C800091431960D96801370A43DA600222FFB222 +:102C90009A620EE7042219680A431A6002229A61B6 +:102CA00007E7C0200121000200F002FBAA214048F2 +:102CB00000F0FEFAC0200021000200F0F9FA5521D0 +:102CC0003C4800F0F5FAC0200121000200F0F0FAC3 +:102CD000A021374800F0ECFAC0200599000200F06E +:102CE000E7FA069B2B439BB2039363680398595DF5 +:102CF00000F0DEFAC046039800F086FD04900398C9 +:102D000000F082FD049B8342F4D1636804995A5D0C +:102D1000264B8A420DD1042219680135914319606E +:102D2000D96801370A43DA600222EDB2BFB29A6273 +:102D3000D5E6042219680A431A6002229A61CEE697 +:102D4000AA211D4800F0B4FA55211A4800F0B0FA43 +:102D5000A021194800F0ACFA63682800D95D00F0A2 +:102D6000A7FAC046280000F04FFD0390280000F0AD +:102D70004BFD039B8342F4D1CCE6C046A139000849 +:102D800051390008ED3800089D380008493800081E +:102D9000FFFF0000AA8A00005585000069FD0000C1 +:102DA00055550000AA2A000069FDFFFF00040048F5 +:102DB00055950000AAAA000055D50000A020542176 +:102DC000C00100F075FA069DA0213D43ADB2280078 +:102DD00000F06EFA63682800D95D00F069FAC04619 +:102DE000280000F011FD0590280000F00DFD059B66 +:102DF0008342F4D16368059ADB5DC04D93420FD1E5 +:102E0000039B2A6801339BB2039304239A432A60ED +:102E1000EA6801371343EB600223FFB2AB62A8E616 +:102E2000A0208121C00100F043FA80200499000213 +:102E300000F03EFAA0205421C00100F039FA04232A +:102E40002A6813432B600223AB6192E6049EA02103 +:102E50002E43B6B2300000F02BFA63683000595DA3 +:102E600000F026FAC046300000F0CEFC039030009F +:102E700000F0CAFC039B8342F4D1636803995A5D56 +:102E80009E4B8A420DD104211A6801358A431A608B +:102E9000DA6801370A43DA600222EDB2BFB29A6201 +:102EA0009CE604211A680A431A6002229A6195E698 +:102EB000E37B002B04D1924A21003000FFF7F0F9A8 +:102EC000E37B012B04D18F4A21003000FFF7E8F9A2 +:102ED000E37B022B04D18C4A21003000FFF7E0F99C +:102EE000E37B042B04D1894A21003000FFF7D8F995 +:102EF000E37B0A2B04D1864A21003000FFF7D0F98A +:102F0000E37B0B2B04D1834A21003000FFF7C8F983 +:102F1000E37BFE2B00D075E621887F484909C9B2C2 +:102F200000F0FCFAAA217D48657A00F0B3FA552139 +:102F30007B4800F0AFFA7948202100F0ABFA1F205F +:102F400030400302AFB20493237ABB420DD26572C4 +:102F50009021002000F09EFA0021080000F09AFA6B +:102F6000F021002000F096FA4CE6049EA0212E43AA +:102F7000300000F08FFA63683000595D00F08AFA83 +:102F8000C046300000F0AEFA0390300000F0AAFA1C +:102F9000039B8342F4D1636803995A5D574B8A427D +:102FA0000DD104211A6801358A431A60DA680137A5 +:102FB0000A43DA600222EDB2BFB29A62C4E704218A +:102FC0001A680A431A6002229A61BDE73000603035 +:102FD000544A2100C0B2FFF763F913E6E37B042BE8 +:102FE00006D130008038C0B24F4A2100FFF758F9AF +:102FF000E37B052B04D14C4A21003000FFF750F948 +:10300000E37B062B06D130008038C0B2474A21004E +:10301000FFF746F9E37B072B04D1444A2100300037 +:10302000FFF73EF9E37B002B1CD1FF2580331E43C5 +:1030300023883248DB09DBB29A0041692A403C4DC3 +:10304000DB0029400A4342619021C020C905C0002D +:103050004A6903403748024013434B613000210066 +:1030600000F0E4FCE37B012B00D0CBE52388234A6E +:103070002F4851699B049B0E01409B000B439021FC +:103080005361C9054B692B4A30001A4080239B00CD +:1030900013434B61210000F0C9FCB3E5C323E37087 +:1030A000254B1D78F02D1BD1244E3468E378982BE6 +:1030B00016D1234B20001978FFF70CF9002330605C +:1030C000C370E07AE57010382678042806D8FDF73A +:1030D00053FAABFCEFFE7DFF85FF99FDC323E37040 +:1030E000184B1B78F02B01D1FFF718FB832B01D075 +:1030F000FFF714FBFFF7B4F9FFF710FB00040048DB +:10310000C537000865370008E5360008A136000815 +:103110002D360008A5350008FF3F0000AA0A000070 +:1031200055050000B1320008613200081132000874 +:1031300003FF0000FFF90000900400208C04002031 +:1031400011070020D2040020002302000002002A00 +:1031500004D1002B01D0802318437047DB43511E5C +:10316000DBB20A40F3E70000134B10B55861134B74 +:1031700013481C680902204318605869C0B2014313 +:10318000596190210820C9058862002A01D10132C5 +:103190008A62C046C046C046C046C046C046C04619 +:1031A000C04690220821D2059161073991611A68C1 +:1031B00004490A401A6010BD000800480004004895 +:1031C00000005555FFFFAAAA0F4B58619023DB055D +:1031D000002901D101229A6204229A62C046C046A7 +:1031E000C046C046C046C046C046C046C046C046AF +:1031F000C046C046C046054908699A61000A033ABC +:10320000C0B29A617047C0460008004800040048F8 +:1032100070B504000D000022AA210F48FFF7A4FF9B +:10322000002255210D48FFF79FFF0022A0210A48E8 +:10323000FFF79AFF002229002000FFF795FF0021E9 +:103240002000FFF7C1FF0500C04600212000FFF766 +:10325000BBFF8542F3D170BDAA8A000055850000EE +:1032600070B504000D000022AA210F48FFF77CFF73 +:10327000002255210D48FFF777FF0022A0210A48C0 +:10328000FFF772FF002229002000FFF76DFF0021E9 +:103290002000FFF799FF0500C04600212000FFF73E +:1032A00093FF8542F3D170BD55550000AA2A000056 +:1032B0009023DB0530B51C68134D09022C401C60BF +:1032C000DA68124C2A40DA60114A506102229A628E +:1032D000104A00B215682C4314605469E4B22143CB +:1032E00051618021C9009961002801DA01209862AA +:1032F000C046C046996201219961491899611368D5 +:1033000005490B40136030BDFFEFFFFF000055552E +:103310000008004800040048FFFFAAAAF7B50123EF +:103320000225294F01923A780091054393400421E8 +:10333000A020264E2D049BB229433268C00100F024 +:10334000FFFC040001283DD13B7809209C40054347 +:103350007830A3B232682900FF3000F0F1FC04009D +:1033600001282FD13B7832689C402900A3B200206D +:1033700000F0E6FC0400012824D1009B180AFFF7A6 +:10338000E3FE3B7832689C402900A3B200F0D8FCF1 +:103390000400012816D16B461878FFF7D5FE2200ED +:1033A0003B7829009A4093B2326800F0C9FC01983A +:1033B000FFF7CAFE3B7832689C402900A3B200F0B8 +:1033C000BFFC0400E0B2FEBDF0060020EC060020C9 +:1033D000F7B501230225274F00903A780191054364 +:1033E00093400421C020244E2D049BB2294332680F +:1033F000800100F0A5FC0400012838D109231D43F9 +:103400003B78C0209C403268A3B22900400000F005 +:1034100097FC040001282AD13B7832689C4029009F +:10342000A3B2002000F08CFC040001281FD1019BF6 +:10343000180AFFF789FE3B7832689C402900A3B246 +:1034400000F07EFC0400012811D16B461879FFF7CB +:103450007BFE22003B789A4093B2009A14430922E3 +:10346000E1B209041143326800F06AFC0400A0B222 +:10347000FEBDC046F0060020EC06002000238000C0 +:1034800080B2834200D17047C046C04601339BB230 +:10349000F7E700000F4B30B59022586180230124DC +:1034A000D205DB0093620C4B94621D680B48090245 +:1034B000284318605869C0B201435961C0460821C9 +:1034C0009162C04691611968054801401960946194 +:1034D00030BDC046000800480004004800005555B3 +:1034E000FFFFAAAA0B4B10B580215861902301223F +:1034F0000424DB05C90099619A629C62C046C046FB +:10350000C046054800699C61000A9962C0B29A6190 +:1035100010BDC04600080048000400480E4B984209 +:1035200002D880231B0218430C4B0D4A58610D4BE7 +:103530000902186802431A605A69D2B211435961EC +:10354000C04690220821D2059162C04691611A6856 +:1035500005490A401A607047FF1F00000008004834 +:103560000000555500040048FFFFAAAA0A4B9842E4 +:1035700002D880231B021843084B04225861902371 +:10358000DB059A62C046C046C046C0460449086989 +:103590009A61000AC0B27047FF1F0000000800488F +:1035A00000040048F8B505000E001C4F1C4B38887D +:1035B0002021203080B21C78FFF77AFEAA2119481A +:1035C000FFF7ACFF38881021103080B2FFF770FE93 +:1035D00055211548FFF7A2FF38882021203080B2FE +:1035E000FFF766FEA0210F48FFF798FF24013888F7 +:1035F000E4B2001980B22100FFF75AFE3100280022 +:10360000FFF78CFF2800FFF7B1FF0400C046280039 +:10361000FFF7ACFF8442F5D1F8BDC046340400206A +:103620008804002055150000AA0A000070B50400A7 +:10363000B0200E0000020A21FFF73AFEC0200A2146 +:103640000002FFF735FEAA211248FFF767FF552158 +:103650001148FFF763FFA0210E48FFF75FFFB0207E +:103660000E4D00022978FFF723FEC02029780002C2 +:10367000FFF71EFE31002000FFF750FF2000FFF78C +:1036800075FF0500C0462000FFF770FF8542F5D1A9 +:1036900070BDC04655150000AA0A0000880400202D +:1036A00070B504000D000D48AA21FFF737FF552122 +:1036B0000B48FFF733FFA0210848FFF72FFF290031 +:1036C0002000FFF72BFF2000FFF750FF0500C0464A +:1036D0002000FFF74BFF8542F5D170BD5515000066 +:1036E000AA1A000070B504000D001A4E022130889D +:1036F000023080B2FFF7DCFDAA211748FFF70EFF6A +:1037000030880121013080B2FFF7D2FD55211348E6 +:10371000FFF704FF30880221023080B2FFF7C8FDB6 +:10372000A0210D48FFF7FAFE0D4B3088197840189C +:1037300080B2FFF7BDFD29002000FFF7EFFE20005B +:10374000FFF714FF0500C0462000FFF70FFF85427A +:10375000F5D170BD3404002055150000AA0A000000 +:103760008804002070B50400A0200D000002022192 +:1037700000F0CEFAAA211048FFF7D0FE55210F48DD +:10378000FFF7CCFEA0210C48FFF7C8FEA0200C4B91 +:103790000002197800F0BCFA29002000FFF7BEFEF5 +:1037A0002000FFF7E3FE0500C0462000FFF7DEFE25 +:1037B0008542F5D170BDC04655150000AA0A00002B +:1037C0008804002070B504000D000D48AA21FFF701 +:1037D000A5FE55210B48FFF7A1FEA0210848FFF7E1 +:1037E0009DFE29002000FFF799FE2000FFF7BEFE96 +:1037F0000500C0462000FFF7B9FE8542F5D170BD37 +:1038000055150000AA0A00000D4B80225861902334 +:10381000D200DB0500B29A61002801DA01229A6227 +:10382000C046C046C046C046064B80221869902359 +:10383000D200DB059A620122000AC0B29A61704789 +:10384000000800480004004870B504000D0010484E +:10385000AA21FFF72DFD55210E48FFF729FDA021D4 +:103860000B48FFF725FD29002000FFF721FDA020D0 +:10387000094B00021978FFF71BFD2000FFF7C4FF7A +:103880000500C0462000FFF7BFFF8542F5D170BD9F +:10389000AAFA000055F500008804002070B5040065 +:1038A0000D001048AA21FFF703FD55210E48FFF730 +:1038B000FFFCA0210B48FFF7FBFC29002000FFF7CD +:1038C000F7FC802000210002FFF7F2FC2000FFF748 +:1038D0009BFF0500C0462000FFF796FF8542F5D10B +:1038E000280070BD55D50000AAAA000070B50400DC +:1038F0000D00134E00213088FFF7DAFCAA21114891 +:10390000FEF712FD55211048FEF70EFDA0210D48CF +:10391000FEF70AFD0D4B30881978401880B2FFF78A +:10392000C7FC29002000FEF7FFFC2000FFF76CFF1A +:103930000500C0462000FFF767FF8542F5D170BD46 +:103940003404002055550000AA2A000088040020F5 +:1039500070B50400C0200D000002052100F0D8F968 +:10396000AA210D48FFF7A4FC55210C48FFF7A0FC45 +:10397000A0210948FFF79CFC29002000FFF798FCD4 +:103980002000FFF741FF0500C0462000FFF73CFF85 +:103990008542F5D170BDC04655550000AAAA000069 +:1039A00070B504000D000D48AA21FEF7BDFC55219D +:1039B0000B48FEF7B9FCA0210848FEF7B5FC29002A +:1039C0002000FEF7B1FC2000FFF71EFF05002000DD +:1039D000FFF71AFF8542F6D1280070BD555500004B +:1039E000AA2A00000D4B0E4A58610E4B09021868B6 +:1039F00002431A605A69D2B2114390225961802160 +:103A0000D205106849010143116040219162916122 +:103A10001A6805490A401A607047C0460008004805 +:103A20000000555500040048FFFFAAAAF7B504009E +:103A30000E004D7AC046C046C046C046C046C0468D +:103A4000C046C046C0460022AA215848FFF78CFB5A +:103A5000002255215648FFF787FB2402002220212F +:103A60005248FFF781FB23B20193EBB20093337A04 +:103A7000AB4217D26B4680201B78002273729021D4 +:103A80000002FFF771FB0022802011000002FFF707 +:103A90006BFB80200022F0210002FFF765FBC0468F +:103AA0000020FEBD434B444A196808200A43FF2109 +:103AB0001A605A690A40A02109020A435A619022F9 +:103AC0000121D20590629162C046C046C046C04600 +:103AD000FF24906191611A6838492C400A401A60AD +:103AE000019B009A1C437368A4B2995C20000022D9 +:103AF000FFF73AFBC046C046C046C046C046C04677 +:103B0000C046C046C046C04600212000FFF75CFB0F +:103B10000700C046C046C046C046C046C046C04674 +:103B2000C046C0467368009A9B5C834217D0C0466B +:103B3000C046C046C046C046C046C046C046C04655 +:103B400000212000FFF740FBB8420BD1C046C04621 +:103B5000C046C046C046C046C046C046C046013505 +:103B6000ADB282E7C046C046C046C046C046C04669 +:103B7000C046C046C046C046C046C046C046C04615 +:103B8000C046C046C046C046C046C046C046C04605 +:103B9000C046C046C046C046C046C046C046C046F5 +:103BA00000212000FFF710FB0700C9E7AA8A0000E8 +:103BB000558500000004004800005555FFFFAAAAE3 +:103BC000F0B51C4D040005A8067868690902C0B26A +:103BD0000843686190200421C00581622900002A01 +:103BE00001D101328262FF2500204A692D022A405C +:103BF0001A43114F4A61C046C046C046C046C0463F +:103C0000C046C046C046C046C0463A690133120AA3 +:103C100022544A69DBB22A4001301A43C0B24A61D9 +:103C2000B042E8D990230422DB059A61033A9A61F5 +:103C3000F0BDC0460008004800040048F0B5184C2C +:103C4000050060690E02C0B230436061802690209A +:103C5000F600C00549B28661002901DA01218162BE +:103C6000FF2661693602314011436161C046002080 +:103C70000C4FC04639690132090A29546169D2B230 +:103C8000314001301143C0B261619842F1D99023B3 +:103C90008022DB05D2009A6201229A61F0BDC04603 +:103CA0000008004800040048F0B5174C05000E005D +:103CB00060691F2925D8802131430902C0B2014320 +:103CC000616190210420FF26C9058862616936027E +:103CD000314011436161C04600200C4FC046396934 +:103CE0000132090A29546169D2B2314001301143CD +:103CF000C0B261619842F1D990230422DB059A6138 +:103D0000F0BDC0B20902DAE700080048000400482C +:103D100070B506000D0005243000013CFFF774FD6E +:103D2000E4B229003000FFF7C3FA6D08002CF3D18C +:103D300070BD00008047C046000000000000000089 +:103D4000F0B5474680B4061C081C000C102801D5AD +:103D5000162700E004270007000F8046FF200140DF +:103D60005468251C1D439C43F60313850AD5C046A1 +:103D7000C046C046C046C046C046C0469480138375 +:103D8000958002E0012000F081F801390AD4381C46 +:103D900000F07CF8C046948013839580C046C046EE +:103DA0007600E2E7381C013800F070F89480138345 +:103DB0009580042000F06AF8108A184001D0FF2096 +:103DC00061E0C046C046C046C046C046C04694807A +:103DD0009580108A184055D001200226B04552D057 +:103DE0000921168A1E40FCD1012000F04FF8948072 +:103DF000C0469580C04603E0C046C046C046C046A7 +:103E0000948095807600108A1840EFF3008040007F +:103E1000C00F0643381C023800F038F894809580B3 +:103E2000022000F033F80139EAD51385948001208F +:103E300000F02CF813839580301C802102239940D8 +:103E40000E401BD1002341085E4149085E414908EC +:103E50005E4149085E4149085E4149085E414908A2 +:103E60005E4149085E4149085E41760808D3400832 +:103E7000FF21084048400002013004E00E2002E02B +:103E8000092000E0002080BCB846F0BD0138FDD11B +:103E90007047C04603685A0003D45B005B08C01833 +:103EA0007047802212061343F9E7C046F0B5574623 +:103EB0004E46DE464546E0B5814683B0924600292F +:103EC00025D04B1E9B46002701935B46FB18DC0F59 +:103ED000E4184B466410E5005E193000FFF7DAFF86 +:103EE000019B8046A3420BD0280008304844FFF7CE +:103EF000D1FFD04506D80138504509D2671CE4E708 +:103F0000504505D9A74202D0631E9B46DDE7002637 +:103F1000300003B03CBC90469946A246AB46F0BD8B +:103F2000012809D0022805D0002801D000207047C0 +:103F30000248FCE70248FAE70248F8E74146000871 +:103F4000594600084D46000830B5234B83B00500A4 +:103F50008C1E002B2AD001A9200000E000BF002801 +:103F600020D001992200FFF7A1FF041E1AD0FFF70D +:103F700091FF6368A864012B10D0201D002B1BDB70 +:103F8000FFF788FF0023E8642B650368002B17DB2D +:103F9000FFF780FF2861002003B030BD002305201B +:103FA0002B61F9E7002309202B61F5E70B480C4949 +:103FB000091AC9100191D5E70123E8642B65E4E7EC +:103FC0001801000FFFF7ACFF2861002801D109306C +:103FD000E2E70020E0E7C04600000000484F00088C +:103FE00018500008036810B50400DA0705D49B07D1 +:103FF0000FD5483000F084FC23685A070FD51A0704 +:1040000014D5DB0604D42000D130FF3000F084FC4E +:1040100010BD483000F070FC23685A07EFD4200030 +:10402000D03000F071FC23681A07EAD42000513028 +:10403000FF3000F06DFC2368E3E7C0460368002B07 +:1040400000D01B1818007047092070477047C04601 +:1040500070B504000D0008E02B6C2A00636121009C +:10406000012023699847082807D1296C2000FFF711 +:104070006BFF0028F0D000F09FFE0728FBD1002046 +:10408000296CFFF7E3FF281D00F020FCF0B5CE46B9 +:10409000474680B5C368324C9846A54483690600FC +:1040A00014000431402205A8994600F08DFE00233B +:1040B00004AD296C30000493FFF746FF631E9C415A +:1040C00007000934002F15D0AB6B10216B644B46F1 +:1040D00021430193C9B20095330032000120C0474B +:1040E000002833D13800F5239B009D440CBC90463A +:1040F0009946F0BDF0222B6C5200736129007CA818 +:1041000000F062FE7CAA31003369200098478A9B48 +:1041100007006B6403934B46009501933200330014 +:1041200021000120C047002810D1F0227CA95200B4 +:10413000280000F049FE082F06D1296C3000FFF757 +:1041400003FF09240700BDE7072F01D00927C9E7AE +:104150000020296CFFF77AFF05A800F0B7FBC046E6 +:104160002CFCFFFF406C704770B5CB6BFAB00B6452 +:1041700004000E004022043103A800F025FE0123B4 +:104180005B42029306E002AA2100236998470500DA +:1041900008280AD1129B200019000193FFF7D4FED2 +:1041A0000028F0D009207AB070BD02A8FFF71AFFEE +:1041B000062DF7D131002000FFF74AFF10B58261CC +:1041C000DA6BC1601A6419000022FFF75FFF10BDAF +:1041D000436970B50B64C36804000D00002B04D064 +:1041E0000122FFF753FF00F0E7FD0A0023690100F9 +:1041F00002209847072807D0082803D1290020006B +:10420000FFF726FF00F0D8FD0020296CFFF71EFF06 +:10421000281D00F05BFBC046C36810B5002B05D01D +:10422000CB6B00220B64FFF731FF10BDFFF79CFF43 +:10423000FBE7C0467047C046836810B5002B02D02C +:1042400001000120984710BD10B5012907D00029B1 +:1042500007D003390224012901D9200010BD01240F +:10426000FBE70224002BF8D10F2AF6D8920082181F +:104270005268029B00241A60EFE7C04600B585B083 +:1042800003AB0A00009300210023FFF7DDFF039832 +:1042900005B000BD10B5012907D0002907D00339AA +:1042A0000224012901D9200010BD0124FBE70224CA +:1042B000002BF8D10F2AF6D8029B92001B688218B7 +:1042C00053600024EFE7C04600B585B003AB03920E +:1042D00000930A0000230021FFF7DCFF05B000BDBA +:1042E00070B51A4CD36BA544136406000D0019A8D1 +:1042F000111D402200F068FD01235B42189314E079 +:104300000C2118A802AAFFF7DFFF290018A8B04760 +:10431000002812D1069B18AA02A9083001939847D9 +:10432000040005280AD0092807D0289B02A81900F4 +:104330000193FFF709FE0028E2D0092418A8FFF72F +:1043400051FE200090239B009D4470BDC0FDFFFFE7 +:10435000F0B5DE464E464546574693460322E0B545 +:104360001E0013008BB003400193CB6C0D001C1D8D +:104370001B6808940793002E66D11B02079306ABB7 +:104380005E731A73019B022B00D16EE02B6DDB076D +:1043900047D40023A846B246029308330340039350 +:1043A0002568002D00D137E15346022B49D02588DE +:1043B000668804340123370099469F4343469B6C2B +:1043C0000F219C4658466744FFF758FF002287425A +:1043D00006D82A004B469A43D719B8428041424238 +:1043E00002230121760033400D402B43012B3ED0A8 +:1043F000002B5AD0022B1CD1236801995F007F0843 +:10440000002965D1002A06D0039A002A00D188E04D +:10441000002F00D1AAE0002B65DB0137BF00E419B3 +:10442000BEE700230293022E47DDFFF70DFE0028B2 +:1044300049D009200BB03CBC90469946A246AB46F9 +:10444000F0BD66680834B5E7022E9BDC1A0C1B042D +:104450000793022306A90B73FD3313409B00E41856 +:10446000019B4A73022B00D090E7AC6B8EE7019B57 +:10447000002B3AD1002A16D02368DD0F63689A1CFE +:10448000D7D0424658320692013300D1C6E0201DF3 +:10449000FFF7D4FD06AB01002A00404600E000BF54 +:1044A000002800D0A7E008347AE7019B002B02D057 +:1044B000002A00D08BE0043472E707A9584600F0C8 +:1044C000D1FA0028B5D1029B002B5DD10820B1E7BD +:1044D00043460D2158461D6AFFF7D0FE854263D042 +:1044E0002368002B99DA043497E743460D21584698 +:1044F0001D6AFFF7C3FE8542D5D143469B6A9C42A5 +:10450000D1D145462000FFF7C5FC0F2102005846D7 +:10451000FFF7DAFE58462A000021FFF7D5FE0720F4 +:1045200088E7002F22D058235146434406AABA46B2 +:10453000251D0026049405911F00914603E00435D3 +:104540002600A24514D028000697FFF777FD4B46BA +:10455000010000224046741C00E000BF0028EED09D +:104560005746059B049C9A46B742B9D1454601E09F +:104570004546049C0D215846FFF780FE069B2862A5 +:104580006B62AC62062055E70F215846FFF776FEB6 +:104590000E2102005846FFF797FE5846274A0F2182 +:1045A000FFF792FE072045E743469B6A9C4297D15E +:1045B000434642469F620023D36204331363231DA4 +:1045C00053632368002B32DB0123029325E720008D +:1045D000FFF760FC454604340600AC63404600E04B +:1045E00000BF002800D124E7584632000F21FFF712 +:1045F0006BFE07201EE707000D2158464546FFF7D2 +:104600003DFE2862022F0FD1069BEB6243462C33FE +:104610006B62AC6206200DE7564604E70D21584652 +:104620004546FFF72BFE2862069B6B62F1E73800D8 +:10463000013080004546201865E7C04600000000B4 +:1046400010B50023FFF784FE10BDC04610B501234E +:10465000FFF77EFE10BDC04610B50223FFF778FEBF +:1046600010BDC046F0B5CE46474680B50600C3B083 +:1046700014001D0001294ED0002933D003290AD08F +:10468000042902D1002B00D189E0022043B00CBCE8 +:1046900090469946F0BD032BF7D11404150C240C59 +:1046A0002B19102BF1D8082203681A4200D0E7E03A +:1046B00020AB1800984600F02DF9B36BED001A00FE +:1046C000002C09D0E400EA1A1C1942441968D150A0 +:1046D00004339C42FAD12200B263404600F018F93C +:1046E0000020D3E70220002BD0D1002301271004A3 +:1046F000B56B000C321D39009940084202D0296880 +:104700000435116001330432102BF4D10020A304CE +:10471000BCD4B563BAE71404170C240C012B5FD08A +:10472000052BB2D13B19202BAFD80F2F7DD9A14635 +:10473000002C65D1002223009146B16B002B00DCD8 +:1047400088E020A88046FA00DB00521ACB184244C9 +:104750000868505004318B42FAD119004B46002BA7 +:1047600010D04B4658003A00102F00D210220023E0 +:10477000103AD2006A448000CC58D45004338342AB +:10478000FAD1C918012D5ED0B1630F2F74D94B46F1 +:10479000002BA5D0684600F0B7F8002076E7102A75 +:1047A00000D972E7102203681A4245D120AB1800E5 +:1047B000984600F0B3F800230120B16B02009A4044 +:1047C000144204D045460F689A00AF5004310133BB +:1047D000042BF3D14046B16300F09EF8002055E76A +:1047E0003B19102B00D950E70F2F00D94DE70023BC +:1047F0009946012233681A4230D14B46002B5AD0D9 +:10480000042233681A4242D1012D47D00F2F06D817 +:1048100020AB180000F076F84B46002B8AD0684693 +:1048200000F074F81023DB1B87E7102BDFD9102270 +:10483000524291469944DCE793430360D130FF3004 +:1048400000F06CF8B2E7043120A8B16300F054F82E +:1048500000201BE74B46002B84D193E719009143BE +:104860000A003160052D1ED00322300093433360CF +:10487000483000F043F8C0E720A800F041F886E790 +:10488000934303605130FF3000F044F810E73000EC +:1048900093433360D03000F039F8B5E720AB18000F +:1048A00000F02CF8BEE7022330001A433260483093 +:1048B00000F028F8A1E7012D03D00F2F00D939E728 +:1048C000A6E720AB180000F019F833E7011C3431DB +:1048D00038C9043B9C461D60A646011C20313CC9DA +:1048E00090469946A246AB46011C0831FCC9416876 +:1048F0000068E54600BDC0467047C0467047C046E8 +:104900007047C0467047C0467047C0467047C046B3 +:104910007047C0467047C0467047C0467047C046A3 +:1049200001B401A801B585B0FFB408A841464A46C4 +:1049300053465C4665463EC001A83EC80F980090AD +:1049400000230CB401A9FFF70FFC109B12B018470D +:1049500001B401A801B585B0FFB408A841464A4694 +:1049600053465C4665463EC001A83EC80F9800907D +:1049700000230CB401A9FFF72BFC109B12B01847C1 +:1049800001B401A801B585B0FFB408A841464A4664 +:1049900053465C4665463EC001A83EC80F9800904D +:1049A00000230CB401A9FFF737FC109B12B0184785 +:1049B00001B401A801B585B0FFB408A841464A4634 +:1049C00053465C4665463EC001A83EC80F9800901D +:1049D00000230CB401ABFFF7F1FB109B12B018479A +:1049E00001B401A801B585B0FFB408A841464A4604 +:1049F00053465C4665463EC001A83EC80F980090ED +:104A000000230CB401AAFFF76BFC109B12B01847EF +:104A1000027A0300002A04D1427AB020002A07D18A +:104A20007047013A02720268100E12021A60F7E72C +:104A3000013A5A725A68111D59600321126819729D +:104A4000F2E7C04600B585B003AB00930C2200230B +:104A50000021FFF7F9FB039805B000BD10B5FFF783 +:104A6000F1FF10BDF0B557464E464546DE460023E1 +:104A7000E0B587B003930F339846083B99468023EF +:104A80001B0306000F009A463800FFF7C1FF040021 +:104A9000B02821D0030632D4FF2583001D4005AB8A +:104AA0009B4600930D220023002130000435FFF7C0 +:104AB000CBFB63064CD5059B5D1B05955B460093C0 +:104AC00000230D2200213000FFF7E4FB3800FFF740 +:104AD0009FFF0400B028DDD1039B0024002B2FD1C1 +:104AE00005AD00950E2200213000FFF7ADFB0095CB +:104AF00000230F2200213000FFF7CCFB20E0030051 +:104B000042469343DBB2802B63D0902B25D0A02B61 +:104B100032D0B02B45D0C02B00D173E003004A4601 +:104B20009343DBB2D02B0AD15346024001321A43E1 +:104B3000052301213000FFF795FD0028A4D00924AA +:104B4000200007B03CBC90469946A246AB46F0BD5B +:104B5000059B9C4665440595B0E7833B03400D2BC0 +:104B6000EDD0424605AD0240009500230021300003 +:104B7000FFF76AFB0095A3E7FF234A461B011900D4 +:104B8000824311410A001A40030702D58023DB014A +:104B90001A43002300213000FFF764FD0028CED126 +:104BA00072E7B1284AD0B2285ED0B32800D18BE09A +:104BB000FC230340B42BC2D04A4653460240013284 +:104BC0001A43012101233000FFF74CFD0028B6D124 +:104BD0005AE704023800FFF71BFF802520432D020F +:104BE000A842ACD004010005020C002300213000D3 +:104BF000FFF738FD0028A2D12C4200D144E7012361 +:104C0000039341E7C6286AD0C7287CD003004A46F0 +:104C10009343DBB2C02B00D18BE0C82800D18FE0DA +:104C2000C92800D08BE73800FFF7F2FEF02302031B +:104C30001B03134042460240013278E73800FFF779 +:104C4000E7FE002800D17AE7030042469343DBB237 +:104C5000002B00D073E7020000213000FFF702FDB7 +:104C6000002800D06BE70FE705AB00939B460D22B1 +:104C7000002300213000FFF7E7FA3800FFF7C8FEF5 +:104C800003066AD57F25B03C059B2840A0409C4682 +:104C90006044059038000734FFF7BAFE0306F3D4EA +:104CA000812292009446863AFF3A1040A040059B2C +:104CB000723A634418185B46059000930021002364 +:104CC0003000FFF7E7FADFE63800FFF7A1FEF02338 +:104CD00002031B03134042460240013270E73800D2 +:104CE000FFF796FEF02302031B03134042460240E7 +:104CF00001321A43032303213000FFF7B3FC0028DD +:104D000000D01CE7C0E63800FFF782FE002800D183 +:104D100015E7030042469343DBB2002B00D00EE7B9 +:104D2000020004213000FFF79DFC002800D006E7B8 +:104D3000AAE64346A0221C40013412032243D9E7CD +:104D40003800FFF765FE434602009A43D2B21032A4 +:104D50001840120301300243EAE60224A0E7C046ED +:104D6000030000B5DB6C85B05A680800120201929E +:104D70001A0001A908324A6003220A72DB794B72D9 +:104D8000FFF770FE05B000BD10B5FFF767FE806C41 +:104D900010BDC04610B5FFF761FEC26CD3799B0011 +:104DA0000833D01810BDC04610B500F005F8C04655 +:104DB00010B5FFF7F9FFC04610B5062000F074F8F3 +:104DC000012000F0A3F8C046F0B505000F2A2FD946 +:104DD0000B0003439B0734D116000C000300103E68 +:104DE000350901352D01451927681F6067685F6027 +:104DF000A7689F60E7681034DF6010339D42F3D1ED +:104E00000F239E431036851989191340032B1AD995 +:104E10001E1F0023B4080134A400CF58EF50043300 +:104E2000A342FAD10324A643331D2240C918ED182A +:104E3000002A05D00023CC5CEC5401339342FAD114 +:104E4000F0BD0500F6E71A00F2E7C04670B50500B0 +:104E50000C001F2922D8B7239B00C358002B14D065 +:104E60008A009B181A68002A0FD0012A0BD0511C07 +:104E700005D00021200019609047002070BD162346 +:104E800003600120FAE70020F8E7280000F02AF884 +:104E900022000100280000F011F8EFE7162303605C +:104EA00001204042EAE7C04610B5034B01001868F4 +:104EB000FFF7CCFF10BDC04600000020002370B5F6 +:104EC000074C050008001100236000F017F8431C90 +:104ED00000D070BD2368002BFBD02B60F9E7C046E3 +:104EE0002407002010B500F001F810BD5822012061 +:104EF000014B40421A6070472407002058220120CD +:104F0000014B40421A60704724070020FEE7C0466C +:084F1000F8B5C046F8B5C04633 +:104F180074B20181B0AB308000000000800A0181CA +:104F2800B0B0ABF0000000003F020181B0AB3080B0 +:104F38000000000080060181B0B0ABF00000000066 +:104F4800ECEDFF7FB0B0B08044EFFF7F01000000C0 +:104F5800F0EFFF7FB0A9028084F0FF7FB0B0A88097 +:104F6800D4F0FF7F01000000E0F0FF7FB0B0AA801E +:104F780014F1FF7F9CFFFF7FE4F1FF7F0100000039 +:104F8800E0F1FF7FAA3F39802CF2FF7FB0B0A88004 +:104F980038F2FF7FB0B0AA8078F2FF7FB0B0A88067 +:104FA8008CF2FF7F0100000088F2FF7FB0B0A8807C +:104FB80090F2FF7F0100000020F3FF7FAA0FB2806C +:104FC80088F3FF7F58FFFF7F70F6FF7FB0B0A8809F +:104FD8008CF6FF7F54FFFF7FECF8FF7F0100000095 +:104FE8005CFAFF7F008404806CFAFF7FB0B0A88071 +:104FF8006CFAFF7F40FFFF7F60FDFF7F0084048025 +:1050080080FDFF7FB0B0A88098FDFF7F0100000001 +:10501800080000200000000000000000F40200204A +:105028005C030020C4030020000000000000000012 +:105038000000000000000000000000000000000068 +:105048000000000000000000000000000000000058 +:105058000000000000000000000000000000000048 +:105068000000000000000000000000000000000038 +:105078000000000000000000000000000000000028 +:105088000000000000000000000000000000000018 +:105098000000000000000000000000000000000008 +:1050A80000000000000000000000000000000000F8 +:1050B80000000000000000000000000000000000E8 +:1050C80001000000000000000E33CDAB34126DE685 +:1050D800ECDE05000B0000000000000000000000EE +:1050E80000000000000000000000000000000000B8 +:1050F80000000000000000000000000000000000A8 +:105108000000000000000000000000000000000097 +:105118000000000000000000000000000000000087 +:105128000000000000000000000000000000000077 +:105138000000000000000000000000000000000067 +:105148000000000000000000000000000000000057 +:105158000000000000000000000000000000000047 +:105168000000000000000000000000000000000037 +:105178000000000000000000000000000000000027 +:105188000000000000000000000000000000000017 +:105198000000000000000000000000000000000007 +:1051A80000000000000000000000000000000000F7 +:1051B80000000000000000000000000000000000E7 +:1051C80000000000000000000000000000000000D7 +:1051D80000000000000000000000000000000000C7 +:1051E80000000000000000000000000000000000B7 +:1051F80000000000000000000000000000000000A7 +:105208000000000000000000000000000000000096 +:105218000000000000000000000000000000000086 +:105228000000000000000000000000000000000076 +:105238000000000000000000000000000000000066 +:105248000000000000000000000000000000000056 +:105258000000000000000000000000000000000046 +:105268000000000000000000000000000000000036 +:105278000000000000000000000000000000000026 +:105288000000000000000000000000000000000016 +:105298000000000000000000000000000000000006 +:1052A80000000000000000000000000000000000F6 +:1052B80000000000000000000000000000000000E6 +:1052C80000000000000000000000000000000000D6 +:1052D80000000000000000000000000000000000C6 +:1052E80000000000000000000000000000000000B6 +:1052F80000000000000000000000000000000000A6 +:105308000000000000000000000000000000000095 +:105318000000000000000000000000000000000085 +:105328000000000000000000000000000000000075 +:105338000000000000000000000000000000000065 +:105348000000000000000000000000000000000055 +:105358000000000000000000000000000000000045 +:105368000000000000000000000000000000000035 +:105378000000000000000000000000000000000025 +:105388000000000000000000000000000000000015 +:105398000000000000000000000000000000000005 +:1053A80000000000000000000000000000000000F5 +:1053B80000000000000000000000000000000000E5 +:1053C80000000000000000000000000000000000D5 +:1053D80000000000000000000000000000000000C5 +:1053E80000000000000000000000000000000000B5 +:1053F80000000000000000000000000000000000A5 +:105408000000000000000000000000000000000094 +:105418000000000000000000000000000000000084 +:105428000000000000000000000000000000000074 +:105438000000000000000000000000000000000064 +:0400000508000801E6 +:00000001FF diff --git a/firmware/build_stm6/inlretro_stm.map b/firmware/build_stm6/inlretro_stm.map new file mode 100644 index 0000000..036cfb7 --- /dev/null +++ b/firmware/build_stm6/inlretro_stm.map @@ -0,0 +1,1000 @@ +Archive member included to satisfy reference by file (symbol) + +c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o) + C:\Users\paul\AppData\Local\Temp\ccWAyB8q.o (__aeabi_unwind_cpp_pr0) +c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(libunwind.o) + c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o) (restore_core_regs) +c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(pr-support.o) + c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o) (__gnu_unwind_execute) +c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) + c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o) (abort) +c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-exit.o) + c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o (exit) +c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-impure.o) + c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-exit.o) (_global_impure_ptr) +c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-init.o) + c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o (__libc_init_array) +c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memcpy-stub.o) + c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o) (memcpy) +c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memset.o) + c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o (memset) +c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) + c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) (raise) +c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) + c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) (_kill_r) +c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__call_atexit.o) + c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-exit.o) (__call_exitprocs) +c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-atexit.o) + c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__call_atexit.o) (atexit) +c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-fini.o) + c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__call_atexit.o) (__libc_fini_array) +c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) + c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) (_malloc_r) +c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mlock.o) + c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) (__malloc_lock) +c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o) + c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) (errno) +c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-sbrkr.o) + c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) (_sbrk_r) +c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__atexit.o) + c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-atexit.o) (__register_exitproc) +c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-freer.o) + c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) (_free_r) +c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o) + c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) (_getpid) +c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(kill.o) + c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) (_kill) +c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(sbrk.o) + c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-sbrkr.o) (_sbrk) +c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(_exit.o) + c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) (_exit) +c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_uqi.o) + C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans0.ltrans.o (__gnu_thumb1_case_uqi) +c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_shi.o) + C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans1.ltrans.o (__gnu_thumb1_case_shi) +c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_uhi.o) + C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans0.ltrans.o (__gnu_thumb1_case_uhi) + +Allocating common symbols +Common symbol size file + +errno 0x4 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o) +addrh 0x4 source/bootload.o (symbol from plugin) +pbje_cmd_update_flag + 0x1 source/jtag.o (symbol from plugin) +raw_bank_status 0x10 source/buffer.o (symbol from plugin) +raw_buffer16 0x200 source/buffer.o (symbol from plugin) + +Discarded input sections + + .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crti.o + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crti.o + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crti.o + .text 0x00000000 0x60 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtbegin.o + .data 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtbegin.o + .bss 0x00000000 0x1c c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtbegin.o + .init_array 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtbegin.o + .fini_array 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtbegin.o + .eh_frame 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtbegin.o + .jcr 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtbegin.o + .ARM.attributes + 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtbegin.o + .text 0x00000000 0x78 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o + .ARM.extab 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o + .ARM.exidx 0x00000000 0x8 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o + .ARM.attributes + 0x00000000 0x1b c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o + .text 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccmcaa9E.o + .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccmcaa9E.o + .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccmcaa9E.o + .text 0x00000000 0x0 source/bootload.o (symbol from plugin) + .text 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans0.ltrans.o + .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans0.ltrans.o + .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans0.ltrans.o + .rodata.oper_info + 0x00000000 0x4 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans0.ltrans.o + .text 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans1.ltrans.o + .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans1.ltrans.o + .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans1.ltrans.o + .text 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans2.ltrans.o + .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans2.ltrans.o + .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans2.ltrans.o + .text 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans3.ltrans.o + .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans3.ltrans.o + .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans3.ltrans.o + .text 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans4.ltrans.o + .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans4.ltrans.o + .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans4.ltrans.o + .rodata.usb_buff + 0x00000000 0x4 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans4.ltrans.o + .text 0x00000000 0x0 source/buffer.o (symbol from plugin) + .text 0x00000000 0x0 source/ciccom.o (symbol from plugin) + .text 0x00000000 0x0 source/dump.o (symbol from plugin) + .text 0x00000000 0x0 source/flash.o (symbol from plugin) + .text 0x00000000 0x0 source/gameboy.o (symbol from plugin) + .text 0x00000000 0x0 source/gba.o (symbol from plugin) + .text 0x00000000 0x0 source/io.o (symbol from plugin) + .text 0x00000000 0x0 source/jtag.o (symbol from plugin) + .text 0x00000000 0x0 source/main.o (symbol from plugin) + .text 0x00000000 0x0 source/n64.o (symbol from plugin) + .text 0x00000000 0x0 source/nes.o (symbol from plugin) + .text 0x00000000 0x0 source/operation.o (symbol from plugin) + .text 0x00000000 0x0 source/pinport.o (symbol from plugin) + .text 0x00000000 0x0 source/sega.o (symbol from plugin) + .text 0x00000000 0x0 source/snes.o (symbol from plugin) + .text 0x00000000 0x0 source/swim.o (symbol from plugin) + .text 0x00000000 0x0 source/usb.o (symbol from plugin) + .text 0x00000000 0x0 source_stm_only/fwupdate.o (symbol from plugin) + .text 0x00000000 0x0 source_stm_only/hardfault.o (symbol from plugin) + .text 0x00000000 0x0 source_stm_only/stm_init.o (symbol from plugin) + .text 0x00000000 0x0 source_stm_only/usbstm.o (symbol from plugin) + .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccWAyB8q.o + .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccWAyB8q.o + .ARM.extab 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccWAyB8q.o + .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccIpVung.o + .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccIpVung.o + .ARM.extab 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccIpVung.o + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o) + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o) + .debug_frame 0x00000000 0x2c4 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o) + .ARM.attributes + 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o) + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(libunwind.o) + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(libunwind.o) + .ARM.attributes + 0x00000000 0x1e c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(libunwind.o) + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(pr-support.o) + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(pr-support.o) + .debug_frame 0x00000000 0xf4 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(pr-support.o) + .ARM.attributes + 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(pr-support.o) + .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) + .debug_frame 0x00000000 0x28 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) + .ARM.attributes + 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) + .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-exit.o) + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-exit.o) + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-exit.o) + .text.exit 0x00000000 0x20 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-exit.o) + .debug_frame 0x00000000 0x28 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-exit.o) + .ARM.attributes + 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-exit.o) + .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-impure.o) + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-impure.o) + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-impure.o) + .rodata._global_impure_ptr + 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-impure.o) + .ARM.attributes + 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-impure.o) + .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-init.o) + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-init.o) + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-init.o) + .text.__libc_init_array + 0x00000000 0x48 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-init.o) + .debug_frame 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-init.o) + .ARM.attributes + 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-init.o) + .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memcpy-stub.o) + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memcpy-stub.o) + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memcpy-stub.o) + .debug_frame 0x00000000 0x30 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memcpy-stub.o) + .ARM.attributes + 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memcpy-stub.o) + .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memset.o) + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memset.o) + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memset.o) + .text.memset 0x00000000 0x94 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memset.o) + .debug_frame 0x00000000 0x30 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memset.o) + .ARM.attributes + 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memset.o) + .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) + .text._init_signal_r.part.0 + 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) + .text._init_signal_r + 0x00000000 0x1c c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) + .text._signal_r + 0x00000000 0x3c c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) + .text.__sigtramp_r + 0x00000000 0x50 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) + .text.signal 0x00000000 0x18 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) + .text._init_signal + 0x00000000 0x20 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) + .text.__sigtramp + 0x00000000 0x14 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) + .debug_frame 0x00000000 0xf8 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) + .ARM.attributes + 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) + .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) + .debug_frame 0x00000000 0x44 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) + .ARM.attributes + 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) + .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__call_atexit.o) + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__call_atexit.o) + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__call_atexit.o) + .text.startup.register_fini + 0x00000000 0x18 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__call_atexit.o) + .init_array.00000 + 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__call_atexit.o) + .text.__call_exitprocs + 0x00000000 0xf8 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__call_atexit.o) + .debug_frame 0x00000000 0x54 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__call_atexit.o) + .ARM.attributes + 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__call_atexit.o) + .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-atexit.o) + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-atexit.o) + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-atexit.o) + .text.atexit 0x00000000 0x10 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-atexit.o) + .debug_frame 0x00000000 0x28 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-atexit.o) + .ARM.attributes + 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-atexit.o) + .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-fini.o) + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-fini.o) + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-fini.o) + .text.__libc_fini_array + 0x00000000 0x34 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-fini.o) + .debug_frame 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-fini.o) + .ARM.attributes + 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-fini.o) + .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) + .text._malloc_r + 0x00000000 0x568 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) + .bss.__malloc_current_mallinfo + 0x00000000 0x28 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) + .bss.__malloc_max_sbrked_mem + 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) + .bss.__malloc_max_total_mem + 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) + .bss.__malloc_top_pad + 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) + .data.__malloc_av_ + 0x00000000 0x408 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) + .data.__malloc_sbrk_base + 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) + .data.__malloc_trim_threshold + 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) + .debug_frame 0x00000000 0x3c c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) + .ARM.attributes + 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) + .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mlock.o) + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mlock.o) + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mlock.o) + .text.__malloc_lock + 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mlock.o) + .text.__malloc_unlock + 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mlock.o) + .debug_frame 0x00000000 0x30 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mlock.o) + .ARM.attributes + 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mlock.o) + .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o) + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o) + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o) + .text.cleanup_glue + 0x00000000 0x1c c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o) + .text._reclaim_reent + 0x00000000 0x94 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o) + .debug_frame 0x00000000 0x48 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o) + .ARM.attributes + 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o) + .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-sbrkr.o) + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-sbrkr.o) + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-sbrkr.o) + .text._sbrk_r 0x00000000 0x24 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-sbrkr.o) + .debug_frame 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-sbrkr.o) + .ARM.attributes + 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-sbrkr.o) + .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__atexit.o) + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__atexit.o) + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__atexit.o) + .text.__register_exitproc + 0x00000000 0xd4 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__atexit.o) + .debug_frame 0x00000000 0x3c c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__atexit.o) + .ARM.attributes + 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__atexit.o) + .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-freer.o) + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-freer.o) + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-freer.o) + .text._malloc_trim_r + 0x00000000 0xa0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-freer.o) + .text._free_r 0x00000000 0x1bc c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-freer.o) + .debug_frame 0x00000000 0x50 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-freer.o) + .ARM.attributes + 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-freer.o) + .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o) + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o) + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o) + .stab 0x00000000 0x24 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o) + .debug_frame 0x00000000 0x20 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o) + .ARM.attributes + 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o) + .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(kill.o) + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(kill.o) + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(kill.o) + .stab 0x00000000 0x18 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(kill.o) + 0x24 (size before relaxing) + .debug_frame 0x00000000 0x20 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(kill.o) + .ARM.attributes + 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(kill.o) + .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(sbrk.o) + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(sbrk.o) + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(sbrk.o) + .text._sbrk 0x00000000 0x1c c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(sbrk.o) + .bss.heap_end.4116 + 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(sbrk.o) + .debug_frame 0x00000000 0x20 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(sbrk.o) + .ARM.attributes + 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(sbrk.o) + .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(_exit.o) + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(_exit.o) + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(_exit.o) + .debug_frame 0x00000000 0x20 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(_exit.o) + .ARM.attributes + 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(_exit.o) + .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtend.o + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtend.o + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtend.o + .eh_frame 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtend.o + .jcr 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtend.o + .ARM.attributes + 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtend.o + .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtn.o + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtn.o + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtn.o + .init 0x00000000 0x8 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtn.o + .fini 0x00000000 0x8 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtn.o + .ARM.attributes + 0x00000000 0x1e c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtn.o + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_uqi.o) + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_uqi.o) + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_shi.o) + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_shi.o) + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_uhi.o) + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_uhi.o) + +Memory Configuration + +Name Origin Length Attributes +FLASH 0x08000000 0x00008000 xr +RAM 0x20000000 0x00001800 xrw +*default* 0x00000000 0xffffffff + +Linker script and memory map + +LOAD c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crti.o +LOAD c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtbegin.o +LOAD c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o +LOAD C:\Users\paul\AppData\Local\Temp\ccmcaa9E.o +LOAD source/bootload.o +LOAD C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans0.ltrans.o +LOAD C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans1.ltrans.o +LOAD C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans2.ltrans.o +LOAD C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans3.ltrans.o +LOAD C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans4.ltrans.o +LOAD source/buffer.o +LOAD source/ciccom.o +LOAD source/dump.o +LOAD source/flash.o +LOAD source/gameboy.o +LOAD source/gba.o +LOAD source/io.o +LOAD source/jtag.o +LOAD source/main.o +LOAD source/n64.o +LOAD source/nes.o +LOAD source/operation.o +LOAD source/pinport.o +LOAD source/sega.o +LOAD source/snes.o +LOAD source/swim.o +LOAD source/usb.o +LOAD source_stm_only/fwupdate.o +LOAD source_stm_only/hardfault.o +LOAD source_stm_only/stm_init.o +LOAD source_stm_only/usbstm.o +LOAD C:\Users\paul\AppData\Local\Temp\ccWAyB8q.o +LOAD C:\Users\paul\AppData\Local\Temp\ccIpVung.o +START GROUP +LOAD c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a +LOAD c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a +LOAD c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libc.a +END GROUP +START GROUP +LOAD c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a +LOAD c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libc.a +LOAD c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a +END GROUP +LOAD c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtend.o +LOAD c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtn.o + +.text 0x08000000 0x4f18 + *(.isr_vector) + .isr_vector 0x08000000 0xc0 C:\Users\paul\AppData\Local\Temp\ccmcaa9E.o + 0x08000000 __isr_vector + *(.usb_driver) + .usb_driver 0x080000c0 0x3bc C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans3.ltrans.o + 0x08000198 USB_IRQHandler + *(.usb_desc) + .usb_desc 0x0800047c 0xb8 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans3.ltrans.o + *(.hardfault) + .hardfault 0x08000534 0x2 C:\Users\paul\AppData\Local\Temp\ccmcaa9E.o + 0x08000534 TIM1_CC_IRQHandler + 0x08000534 TSC_IRQHandler + 0x08000534 ADC1_COMP_IRQHandler + 0x08000534 SysTick_Handler + 0x08000534 PendSV_Handler + 0x08000534 NMI_Handler + 0x08000534 I2C1_IRQHandler + 0x08000534 RCC_CRS_IRQHandler + 0x08000534 SPI1_IRQHandler + 0x08000534 TIM6_DAC_IRQHandler + 0x08000534 USART3_4_IRQHandler + 0x08000534 EXTI2_3_IRQHandler + 0x08000534 I2C2_IRQHandler + 0x08000534 TIM17_IRQHandler + 0x08000534 CEC_CAN_IRQHandler + 0x08000534 PVD_VDDIO2_IRQHandler + 0x08000534 DMA1_Channel4_5_6_7_IRQHandler + 0x08000534 TIM16_IRQHandler + 0x08000534 TIM3_IRQHandler + 0x08000534 EXTI4_15_IRQHandler + 0x08000534 DMA1_Channel1_IRQHandler + 0x08000534 Default_Handler + 0x08000534 TIM14_IRQHandler + 0x08000534 TIM7_IRQHandler + 0x08000534 TIM15_IRQHandler + 0x08000534 EXTI0_1_IRQHandler + 0x08000534 SPI2_IRQHandler + 0x08000534 SVC_Handler + 0x08000534 RTC_IRQHand + 0x08000534 WWDG_IRQHandler + 0x08000534 TIM2_IRQHandler + 0x08000534 DEF_IRQHandler + 0x08000534 DMA1_Channel2_3_IRQHandler + 0x08000534 USART2_IRQHandler + 0x08000534 FLASH_IRQHandler + 0x08000534 USART1_IRQHandler + 0x08000534 TIM1_BRK_UP_TRG_COM_IRQHandler + *fill* 0x08000536 0x2 + .hardfault 0x08000538 0xc C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans3.ltrans.o + 0x08000538 HardFault_Handler + *_thumb1_case_uqi.o() + .text 0x08000544 0x14 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_uqi.o) + 0x08000544 __gnu_thumb1_case_uqi + .ARM.attributes + 0x08000558 0x1e c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_uqi.o) + *_thumb1_case_shi.o() + *fill* 0x08000576 0x2 + .text 0x08000578 0x14 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_shi.o) + 0x08000578 __gnu_thumb1_case_shi + .ARM.attributes + 0x0800058c 0x1e c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_shi.o) + *_thumb1_case_uhi.o() + *fill* 0x080005aa 0x2 + .text 0x080005ac 0x14 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_uhi.o) + 0x080005ac __gnu_thumb1_case_uhi + .ARM.attributes + 0x080005c0 0x1e c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_uhi.o) + *(.fw_update) + .fw_update 0x080005de 0x2 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans3.ltrans.o + 0x080005de usb_fwupdate_write + .fw_update 0x080005e0 0x154 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans4.ltrans.o + 0x00000780 . = 0x780 + *fill* 0x08000734 0x4c + *(.fw_up_main) + .fw_up_main 0x08000780 0x60 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans4.ltrans.o + 0x08000780 fwupdate_forever + 0x00000800 . = 0x800 + *fill* 0x080007e0 0x20 + *(.reset_handler) + .reset_handler + 0x08000800 0x3c C:\Users\paul\AppData\Local\Temp\ccmcaa9E.o + 0x08000800 Reset_Handler + *(.usbFuncWrite) + .usbFuncWrite 0x0800083c 0x48 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans4.ltrans.o + 0x0800083c usbFunctionWrite + *(.usbFuncSetup) + .usbFuncSetup 0x08000884 0x17fc C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans0.ltrans.o + 0x08000884 usbFunctionSetup + *(.text*) + .text.pbje_scan + 0x08002080 0x12c C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans1.ltrans.o + .text.pbje_state_change + 0x080021ac 0x98 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans1.ltrans.o + .text.write_page_verify + 0x08002244 0x5c C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans1.ltrans.o + .text.write_page + 0x080022a0 0x34 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans1.ltrans.o + .text.get_next_buff + 0x080022d4 0x54 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans1.ltrans.o + .text.discrete_exp0_prgrom_wr + 0x08002328 0x58 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans1.ltrans.o + 0x08002328 discrete_exp0_prgrom_wr + .text.jtag_init_pbje + 0x08002380 0xe0 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans1.ltrans.o + 0x08002380 jtag_init_pbje + .text.jtag_run_pbje.part.0 + 0x08002460 0xd8 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans1.ltrans.o + 0x08002460 jtag_run_pbje.part.0 + .text.io_reset + 0x08002538 0x154 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans1.ltrans.o + 0x08002538 io_reset + .text.startup.main + 0x0800268c 0xabc C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans1.ltrans.o + 0x0800268c main + .text.append_pairity + 0x08003148 0x1e C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans2.ltrans.o + *fill* 0x08003166 0x2 + .text.snes_wr 0x08003168 0x60 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans2.ltrans.o + 0x08003168 snes_wr + .text.snes_rd 0x080031c8 0x48 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans2.ltrans.o + 0x080031c8 snes_rd + .text.snes_3v_flash_wr + 0x08003210 0x50 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans2.ltrans.o + 0x08003210 snes_3v_flash_wr + .text.snes_5v_flash_wr + 0x08003260 0x50 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans2.ltrans.o + 0x08003260 snes_5v_flash_wr + .text.nes_cpu_wr + 0x080032b0 0x6c C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans2.ltrans.o + 0x080032b0 nes_cpu_wr + .text.swim_wotf + 0x0800331c 0xb4 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans2.ltrans.o + 0x0800331c swim_wotf + .text.swim_rotf + 0x080033d0 0xac C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans2.ltrans.o + 0x080033d0 swim_rotf + .text.delay_us + 0x0800347c 0x16 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans2.ltrans.o + 0x0800347c delay_us + *fill* 0x08003492 0x2 + .text.nes_dualport_wr + 0x08003494 0x50 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans2.ltrans.o + 0x08003494 nes_dualport_wr + .text.nes_dualport_rd + 0x080034e4 0x38 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans2.ltrans.o + 0x080034e4 nes_dualport_rd + .text.nes_ppu_wr + 0x0800351c 0x50 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans2.ltrans.o + 0x0800351c nes_ppu_wr + .text.nes_ppu_rd + 0x0800356c 0x38 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans2.ltrans.o + 0x0800356c nes_ppu_rd + .text.cdream_chrrom_flash_wr + 0x080035a4 0x88 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans2.ltrans.o + 0x080035a4 cdream_chrrom_flash_wr + .text.mmc4_chrrom_flash_wr + 0x0800362c 0x74 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans2.ltrans.o + 0x0800362c mmc4_chrrom_flash_wr + .text.mmc3_chrrom_flash_wr + 0x080036a0 0x44 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans2.ltrans.o + 0x080036a0 mmc3_chrrom_flash_wr + .text.cnrom_chrrom_flash_wr + 0x080036e4 0x80 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans2.ltrans.o + 0x080036e4 cnrom_chrrom_flash_wr + .text.mmc1_chrrom_flash_wr + 0x08003764 0x60 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans2.ltrans.o + 0x08003764 mmc1_chrrom_flash_wr + .text.nrom_chrrom_flash_wr + 0x080037c4 0x44 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans2.ltrans.o + 0x080037c4 nrom_chrrom_flash_wr + .text.nes_cpu_rd + 0x08003808 0x40 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans2.ltrans.o + 0x08003808 nes_cpu_rd + .text.mmc4_prgrom_sop_flash_wr + 0x08003848 0x54 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans2.ltrans.o + 0x08003848 mmc4_prgrom_sop_flash_wr + .text.mmc3_prgrom_flash_wr + 0x0800389c 0x50 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans2.ltrans.o + 0x0800389c mmc3_prgrom_flash_wr + .text.unrom_prgrom_flash_wr + 0x080038ec 0x64 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans2.ltrans.o + 0x080038ec unrom_prgrom_flash_wr + .text.mmc1_prgrom_flash_wr + 0x08003950 0x50 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans2.ltrans.o + 0x08003950 mmc1_prgrom_flash_wr + .text.nrom_prgrom_flash_wr + 0x080039a0 0x44 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans2.ltrans.o + 0x080039a0 nrom_prgrom_flash_wr + .text.disc_push_exp0_prgrom_wr + 0x080039e4 0x48 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans2.ltrans.o + 0x080039e4 disc_push_exp0_prgrom_wr + .text.write_page_snes.constprop.31 + 0x08003a2c 0x194 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans3.ltrans.o + 0x08003a2c write_page_snes.constprop.31 + .text.snes_page_rd_poll.constprop.23 + 0x08003bc0 0x7c C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans3.ltrans.o + 0x08003bc0 snes_page_rd_poll.constprop.23 + .text.nes_cpu_page_rd_poll.constprop.22 + 0x08003c3c 0x6c C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans3.ltrans.o + 0x08003c3c nes_cpu_page_rd_poll.constprop.22 + .text.nes_ppu_page_rd_poll.constprop.20 + 0x08003ca8 0x68 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans3.ltrans.o + 0x08003ca8 nes_ppu_page_rd_poll.constprop.20 + .text.mmc1_wr.constprop.11 + 0x08003d10 0x22 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans3.ltrans.o + 0x08003d10 mmc1_wr.constprop.11 + *fill* 0x08003d32 0x2 + .text 0x08003d34 0x4 C:\Users\paul\AppData\Local\Temp\ccWAyB8q.o + 0x08003d34 jump2addr + *fill* 0x08003d38 0x8 + .text 0x08003d40 0x154 C:\Users\paul\AppData\Local\Temp\ccIpVung.o + 0x08003d40 swim_xfr + .text 0x08003e94 0xa38 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o) + 0x08004164 _Unwind_GetCFA + 0x08004168 __gnu_Unwind_RaiseException + 0x080041bc __gnu_Unwind_ForcedUnwind + 0x080041d0 __gnu_Unwind_Resume + 0x08004218 __gnu_Unwind_Resume_or_Rethrow + 0x08004234 _Unwind_Complete + 0x08004238 _Unwind_DeleteException + 0x08004248 _Unwind_VRS_Get + 0x08004294 _Unwind_VRS_Set + 0x080042e0 __gnu_Unwind_Backtrace + 0x08004640 __aeabi_unwind_cpp_pr0 + 0x0800464c __aeabi_unwind_cpp_pr1 + 0x08004658 __aeabi_unwind_cpp_pr2 + 0x08004664 _Unwind_VRS_Pop + .text 0x080048cc 0x144 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(libunwind.o) + 0x080048cc __restore_core_regs + 0x080048cc restore_core_regs + 0x080048f8 __gnu_Unwind_Restore_VFP + 0x080048fc __gnu_Unwind_Save_VFP + 0x08004900 __gnu_Unwind_Restore_VFP_D + 0x08004904 __gnu_Unwind_Save_VFP_D + 0x08004908 __gnu_Unwind_Restore_VFP_D_16_to_31 + 0x0800490c __gnu_Unwind_Save_VFP_D_16_to_31 + 0x08004910 __gnu_Unwind_Restore_WMMXD + 0x08004914 __gnu_Unwind_Save_WMMXD + 0x08004918 __gnu_Unwind_Restore_WMMXC + 0x0800491c __gnu_Unwind_Save_WMMXC + 0x08004920 ___Unwind_RaiseException + 0x08004920 _Unwind_RaiseException + 0x08004950 _Unwind_Resume + 0x08004950 ___Unwind_Resume + 0x08004980 _Unwind_Resume_or_Rethrow + 0x08004980 ___Unwind_Resume_or_Rethrow + 0x080049b0 _Unwind_ForcedUnwind + 0x080049b0 ___Unwind_ForcedUnwind + 0x080049e0 ___Unwind_Backtrace + 0x080049e0 _Unwind_Backtrace + .text 0x08004a10 0x3a8 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(pr-support.o) + 0x08004a64 __gnu_unwind_execute + 0x08004d60 __gnu_unwind_frame + 0x08004d88 _Unwind_GetRegionStart + 0x08004d94 _Unwind_GetLanguageSpecificData + 0x08004da8 _Unwind_GetTextRelBase + 0x08004db0 _Unwind_GetDataRelBase + .text.abort 0x08004db8 0x10 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) + 0x08004db8 abort + .text.memcpy 0x08004dc8 0x84 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memcpy-stub.o) + 0x08004dc8 memcpy + .text._raise_r + 0x08004e4c 0x5c c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) + 0x08004e4c _raise_r + .text.raise 0x08004ea8 0x14 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) + 0x08004ea8 raise + .text._kill_r 0x08004ebc 0x28 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) + 0x08004ebc _kill_r + .text._getpid_r + 0x08004ee4 0x8 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) + 0x08004ee4 _getpid_r + .text._getpid 0x08004eec 0x10 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o) + 0x08004eec _getpid + .text._kill 0x08004efc 0x10 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(kill.o) + 0x08004efc _kill + .text._exit 0x08004f0c 0x4 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(_exit.o) + 0x08004f0c _exit + *(.init) + .init 0x08004f10 0x4 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crti.o + 0x08004f10 _init + *(.fini) + .fini 0x08004f14 0x4 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crti.o + 0x08004f14 _fini + *crtbegin.o(.ctors) + *crtbegin?.o(.ctors) + *(EXCLUDE_FILE(*crtend.o *crtend?.o) .ctors) + *(SORT(.ctors.*)) + *(.ctors) + *crtbegin.o(.dtors) + *crtbegin?.o(.dtors) + *(EXCLUDE_FILE(*crtend.o *crtend?.o) .dtors) + *(SORT(.dtors.*)) + *(.dtors) + *(.rodata*) + *(.eh_frame*) + +.glue_7 0x08004f18 0x0 + .glue_7 0x08004f18 0x0 linker stubs + +.glue_7t 0x08004f18 0x0 + .glue_7t 0x08004f18 0x0 linker stubs + +.vfp11_veneer 0x08004f18 0x0 + .vfp11_veneer 0x08004f18 0x0 linker stubs + +.v4_bx 0x08004f18 0x0 + .v4_bx 0x08004f18 0x0 linker stubs + +.iplt 0x08004f18 0x0 + .iplt 0x08004f18 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtbegin.o + +.ARM.extab 0x08004f18 0x30 + *(.ARM.extab* .gnu.linkonce.armextab.*) + .ARM.extab 0x08004f18 0x24 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o) + .ARM.extab 0x08004f3c 0xc c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(pr-support.o) + 0x08004f48 __exidx_start = . + +.ARM.exidx 0x08004f48 0xd0 + *(.ARM.exidx* .gnu.linkonce.armexidx.*) + .ARM.exidx 0x08004f48 0x8 C:\Users\paul\AppData\Local\Temp\ccWAyB8q.o + .ARM.exidx 0x08004f50 0x0 C:\Users\paul\AppData\Local\Temp\ccIpVung.o + 0x10 (size before relaxing) + .ARM.exidx 0x08004f50 0x98 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o) + 0xd8 (size before relaxing) + .ARM.exidx 0x08004fe8 0x30 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(pr-support.o) + 0x48 (size before relaxing) + 0x08005018 __exidx_end = . + 0x08005018 __etext = ALIGN (0x4) + +.rel.dyn 0x08005018 0x0 + .rel.iplt 0x08005018 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtbegin.o + +.data 0x20000000 0x430 load address 0x08005018 + 0x20000000 __data_start__ = . + *(vtable) + *(.data*) + .data._impure_ptr + 0x20000000 0x4 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-impure.o) + 0x20000000 _impure_ptr + *fill* 0x20000004 0x4 + .data.impure_data + 0x20000008 0x428 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-impure.o) + 0x20000430 . = ALIGN (0x4) + 0x20000430 PROVIDE (__preinit_array_start, .) + *(.preinit_array) + 0x20000430 PROVIDE (__preinit_array_end, .) + 0x20000430 . = ALIGN (0x4) + 0x20000430 PROVIDE (__init_array_start, .) + *(SORT(.init_array.*)) + *(.init_array) + 0x20000430 PROVIDE (__init_array_end, .) + 0x20000430 . = ALIGN (0x4) + 0x20000430 PROVIDE (__fini_array_start, .) + *(SORT(.fini_array.*)) + *(.fini_array) + 0x20000430 PROVIDE (__fini_array_end, .) + 0x20000430 . = ALIGN (0x4) + *(.fastrun) + *(.jcr) + 0x20000430 . = ALIGN (0x4) + 0x20000430 __data_end__ = . + +.igot.plt 0x20000430 0x0 load address 0x08005448 + .igot.plt 0x20000430 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtbegin.o + +.bss 0x20000430 0x2f8 load address 0x08005448 + 0x20000430 . = ALIGN (0x4) + 0x20000430 __bss_start__ = . + *(.bss*) + .bss.addrh 0x20000430 0x4 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans0.ltrans.o + .bss.bank_table + 0x20000434 0x2 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans0.ltrans.o + 0x20000434 bank_table + *fill* 0x20000436 0x2 + .bss.buff0 0x20000438 0x14 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans0.ltrans.o + 0x20000438 buff0 + .bss.buff1 0x2000044c 0x14 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans0.ltrans.o + 0x2000044c buff1 + .bss.buff2 0x20000460 0x14 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans0.ltrans.o + 0x20000460 buff2 + .bss.buff3 0x20000474 0x14 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans0.ltrans.o + 0x20000474 buff3 + .bss.cur_bank 0x20000488 0x1 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans0.ltrans.o + 0x20000488 cur_bank + *fill* 0x20000489 0x3 + .bss.cur_buff 0x2000048c 0x4 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans0.ltrans.o + 0x2000048c cur_buff + .bss.oper_info_struct + 0x20000490 0x20 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans0.ltrans.o + 0x20000490 oper_info_struct + .bss.pbje_command + 0x200004b0 0x1 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans0.ltrans.o + 0x200004b0 pbje_command + .bss.pbje_data + 0x200004b1 0x20 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans0.ltrans.o + 0x200004b1 pbje_data + .bss.pbje_numclk + 0x200004d1 0x1 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans0.ltrans.o + 0x200004d1 pbje_numclk + .bss.pbje_status + 0x200004d2 0x1 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans0.ltrans.o + 0x200004d2 pbje_status + .bss.raw_bank_status + 0x200004d3 0x10 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans0.ltrans.o + *fill* 0x200004e3 0x1 + .bss.raw_buffer16 + 0x200004e4 0x200 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans0.ltrans.o + .bss.rv16.5001 + 0x200006e4 0x8 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans0.ltrans.o + .bss.swim_base + 0x200006ec 0x4 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans0.ltrans.o + 0x200006ec swim_base + .bss.swim_pin 0x200006f0 0x1 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans0.ltrans.o + 0x200006f0 swim_pin + *fill* 0x200006f1 0x3 + .bss.tck_base 0x200006f4 0x4 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans0.ltrans.o + 0x200006f4 tck_base + .bss.tck_pin 0x200006f8 0x1 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans0.ltrans.o + 0x200006f8 tck_pin + *fill* 0x200006f9 0x3 + .bss.tdi_base 0x200006fc 0x4 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans0.ltrans.o + 0x200006fc tdi_base + .bss.tdi_pin 0x20000700 0x1 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans0.ltrans.o + 0x20000700 tdi_pin + *fill* 0x20000701 0x3 + .bss.tdo_base 0x20000704 0x4 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans0.ltrans.o + 0x20000704 tdo_base + .bss.tdo_pin 0x20000708 0x1 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans0.ltrans.o + 0x20000708 tdo_pin + *fill* 0x20000709 0x3 + .bss.tms_base 0x2000070c 0x4 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans0.ltrans.o + 0x2000070c tms_base + .bss.tms_pin 0x20000710 0x1 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans0.ltrans.o + 0x20000710 tms_pin + .bss.num_buff.5081 + 0x20000711 0x1 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans1.ltrans.o + *fill* 0x20000712 0x2 + .bss.cur_usb_load_buff + 0x20000714 0x4 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans4.ltrans.o + 0x20000714 cur_usb_load_buff + .bss.incoming_bytes_remain + 0x20000718 0x1 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans4.ltrans.o + 0x20000718 incoming_bytes_remain + *fill* 0x20000719 0x1 + .bss.rv16.4770 + 0x2000071a 0x8 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans4.ltrans.o + *(COMMON) + *fill* 0x20000722 0x2 + COMMON 0x20000724 0x4 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o) + 0x20000724 errno + 0x20000728 . = ALIGN (0x4) + 0x20000728 __bss_end__ = . + +.heap 0x20000728 0x0 + 0x20000728 __end__ = . + 0x20000728 PROVIDE (end, .) + *(.heap*) + .heap 0x20000728 0x0 C:\Users\paul\AppData\Local\Temp\ccmcaa9E.o + 0x20000728 __HeapLimit = . + +.stack_dummy 0x20000728 0xc00 + *(.stack*) + .stack 0x20000728 0xc00 C:\Users\paul\AppData\Local\Temp\ccmcaa9E.o + 0x20001800 __StackTop = (ORIGIN (RAM) + LENGTH (RAM)) + 0x20000c00 __StackLimit = (__StackTop - SIZEOF (.stack_dummy)) + 0x20001800 PROVIDE (__stack, __StackTop) + 0x00000001 ASSERT ((__StackLimit >= __HeapLimit), region RAM overflowed with stack) +OUTPUT(build_stm/inlretro_stm.elf elf32-littlearm) + +.ARM.attributes + 0x00000000 0x28 + .ARM.attributes + 0x00000000 0x1e c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crti.o + .ARM.attributes + 0x0000001e 0x1b C:\Users\paul\AppData\Local\Temp\ccmcaa9E.o + .ARM.attributes + 0x00000039 0x2f C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans0.ltrans.o + .ARM.attributes + 0x00000068 0x2f C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans1.ltrans.o + .ARM.attributes + 0x00000097 0x2f C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans2.ltrans.o + .ARM.attributes + 0x000000c6 0x2f C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans3.ltrans.o + .ARM.attributes + 0x000000f5 0x2f C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans4.ltrans.o + .ARM.attributes + 0x00000124 0x21 C:\Users\paul\AppData\Local\Temp\ccWAyB8q.o + .ARM.attributes + 0x00000145 0x21 C:\Users\paul\AppData\Local\Temp\ccIpVung.o + +.comment 0x00000000 0x6e + .comment 0x00000000 0x6e C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans0.ltrans.o + 0x6f (size before relaxing) + .comment 0x0000006e 0x6f C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans1.ltrans.o + .comment 0x0000006e 0x6f C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans2.ltrans.o + .comment 0x0000006e 0x6f C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans3.ltrans.o + .comment 0x0000006e 0x6f C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans4.ltrans.o + +.debug_line 0x00000000 0x1d7e + .debug_line 0x00000000 0x7c C:\Users\paul\AppData\Local\Temp\ccmcaa9E.o + .debug_line 0x0000007c 0xa0a C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans0.ltrans.o + .debug_line 0x00000a86 0x70a C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans1.ltrans.o + .debug_line 0x00001190 0x4a9 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans2.ltrans.o + .debug_line 0x00001639 0x412 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans3.ltrans.o + .debug_line 0x00001a4b 0x1f7 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans4.ltrans.o + .debug_line 0x00001c42 0x49 C:\Users\paul\AppData\Local\Temp\ccWAyB8q.o + .debug_line 0x00001c8b 0xf3 C:\Users\paul\AppData\Local\Temp\ccIpVung.o + +.debug_info 0x00000000 0x4ae9 + .debug_info 0x00000000 0x97 C:\Users\paul\AppData\Local\Temp\ccmcaa9E.o + .debug_info 0x00000097 0x1488 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans0.ltrans.o + .debug_info 0x0000151f 0x14b3 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans1.ltrans.o + .debug_info 0x000029d2 0x11f6 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans2.ltrans.o + .debug_info 0x00003bc8 0x9dc C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans3.ltrans.o + .debug_info 0x000045a4 0x419 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans4.ltrans.o + .debug_info 0x000049bd 0x98 C:\Users\paul\AppData\Local\Temp\ccWAyB8q.o + .debug_info 0x00004a55 0x94 C:\Users\paul\AppData\Local\Temp\ccIpVung.o + +.debug_abbrev 0x00000000 0xde9 + .debug_abbrev 0x00000000 0x12 C:\Users\paul\AppData\Local\Temp\ccmcaa9E.o + .debug_abbrev 0x00000012 0x329 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans0.ltrans.o + .debug_abbrev 0x0000033b 0x3cd C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans1.ltrans.o + .debug_abbrev 0x00000708 0x190 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans2.ltrans.o + .debug_abbrev 0x00000898 0x316 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans3.ltrans.o + .debug_abbrev 0x00000bae 0x213 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans4.ltrans.o + .debug_abbrev 0x00000dc1 0x14 C:\Users\paul\AppData\Local\Temp\ccWAyB8q.o + .debug_abbrev 0x00000dd5 0x14 C:\Users\paul\AppData\Local\Temp\ccIpVung.o + +.debug_aranges 0x00000000 0x270 + .debug_aranges + 0x00000000 0x28 C:\Users\paul\AppData\Local\Temp\ccmcaa9E.o + .debug_aranges + 0x00000028 0x20 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans0.ltrans.o + .debug_aranges + 0x00000048 0x68 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans1.ltrans.o + .debug_aranges + 0x000000b0 0xe8 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans2.ltrans.o + .debug_aranges + 0x00000198 0x60 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans3.ltrans.o + .debug_aranges + 0x000001f8 0x38 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans4.ltrans.o + .debug_aranges + 0x00000230 0x20 C:\Users\paul\AppData\Local\Temp\ccWAyB8q.o + .debug_aranges + 0x00000250 0x20 C:\Users\paul\AppData\Local\Temp\ccIpVung.o + +.debug_ranges 0x00000000 0xcd0 + .debug_ranges 0x00000000 0x20 C:\Users\paul\AppData\Local\Temp\ccmcaa9E.o + .debug_ranges 0x00000020 0x838 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans0.ltrans.o + .debug_ranges 0x00000858 0x220 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans1.ltrans.o + .debug_ranges 0x00000a78 0xd8 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans2.ltrans.o + .debug_ranges 0x00000b50 0x128 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans3.ltrans.o + .debug_ranges 0x00000c78 0x58 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans4.ltrans.o + +.debug_loc 0x00000000 0x4d12 + .debug_loc 0x00000000 0x2b56 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans0.ltrans.o + .debug_loc 0x00002b56 0xe29 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans1.ltrans.o + .debug_loc 0x0000397f 0xa3f C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans2.ltrans.o + .debug_loc 0x000043be 0x564 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans3.ltrans.o + .debug_loc 0x00004922 0x3f0 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans4.ltrans.o + +.debug_str 0x00000000 0xe46 + .debug_str 0x00000000 0x764 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans0.ltrans.o + 0x7c9 (size before relaxing) + .debug_str 0x00000764 0x22c C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans1.ltrans.o + 0x4c5 (size before relaxing) + .debug_str 0x00000990 0x1c7 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans2.ltrans.o + 0x3e2 (size before relaxing) + .debug_str 0x00000b57 0x235 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans3.ltrans.o + 0x515 (size before relaxing) + .debug_str 0x00000d8c 0xba C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans4.ltrans.o + 0x361 (size before relaxing) + +.debug_frame 0x00000000 0x584 + .debug_frame 0x00000000 0x30 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans0.ltrans.o + .debug_frame 0x00000030 0x13c C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans1.ltrans.o + .debug_frame 0x0000016c 0x2a0 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans2.ltrans.o + .debug_frame 0x0000040c 0x108 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans3.ltrans.o + .debug_frame 0x00000514 0x70 C:\Users\paul\AppData\Local\Temp\ccoZxUm5.ltrans4.ltrans.o + +.stabstr 0x00000000 0x76 + .stabstr 0x00000000 0x76 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o) diff --git a/firmware/build_stmn/inlretro_stm.elf b/firmware/build_stmn/inlretro_stm.elf new file mode 100644 index 0000000..d186bdc Binary files /dev/null and b/firmware/build_stmn/inlretro_stm.elf differ diff --git a/firmware/build_stmn/inlretro_stm.hex b/firmware/build_stmn/inlretro_stm.hex new file mode 100644 index 0000000..99f4da7 --- /dev/null +++ b/firmware/build_stmn/inlretro_stm.hex @@ -0,0 +1,1249 @@ +:020000040800F2 +:10000000001800200108000835050008390500081F +:1000100000000000000000000000000000000000E0 +:10002000000000000000000000000000350500088E +:10003000000000000000000035050008350500083C +:1000400035050008350500083505000835050008A8 +:100050003505000835050008350500083505000898 +:100060003505000835050008350500083505000888 +:100070003505000835050008350500083505000878 +:100080003505000835050008350500083505000868 +:100090003505000835050008350500083505000858 +:1000A0003505000835050008350500083505000848 +:1000B00035050008350500083505000899010008D8 +:1000C000284B10B51A88284B12041B881A43274B5B +:1000D000198849084900885A254908801988023139 +:1000E00089B21980198849084900885A214908802D +:1000F0001988023189B21980198849084900885A3B +:100100001D49088019881D48023189B21980198853 +:1001100049084900895A1A4A11801A881949023235 +:1001200092B21A801C880288944213D902881C88D3 +:100130000832121B92B20A80028892B21A801249C7 +:10014000124B0A881343124A1A40302353409BB281 +:100150000B8010BD0F4804881A889442E6D3082308 +:100160000B80ECE70C6000400A6000400460004037 +:100170004C6000404E600040506000400260004013 +:10018000526000401A600040005C00408080FFFF29 +:10019000BF8FFFFF006000409449F8B50B88944C76 +:1001A000002B3BD00A88934B9A4235D1002302257D +:1001B000914A1380914A1380914A1380914A138087 +:1001C000914A1380914AD08FA843D087D08F013DA8 +:1001D000A843D0878E481735C3878E4805808E4840 +:1001E000343505808D480835058080258C486D01A3 +:1001F000058080258B4805808548C38780208A4BF1 +:1002000000062380894B18608023D08FDB000343D6 +:10021000D387874A874B1A8000230B8023881BB221 +:10022000002B00DBC3E02388834A764F13408022F3 +:100230001343238023881B0500D49BE07F4D7F233D +:100240002A7811009943704B1980E9886A4B19800C +:1002500000216B4B19803B88FF318B4313433B805C +:1002600060231A4208D08022754B12051B88280093 +:100270009B189847614B18802B78602259B200294F +:100280004DDA134014D16A78062A0FD16A88110A10 +:1002900002291AD003291BD0012920D1694B12262B +:1002A000694A99B21180694A1B0C1380534B1E8016 +:1002B0002288674B1343674A1A40C0239B0153406F +:1002C0009BB22380FFF7FCFE47E05E4B1233E6E76C +:1002D000D2B2012A0FD0002A03D0022A15D01E0064 +:1002E000E4E7584B584A243399B21180574A1B0C03 +:1002F00013800426DAE7534B534A283399B211800E +:10030000524A1B0C1380544ED0E74E4B4E4A7C335E +:1003100099B211804D4A1B0C1380504EC6E7134210 +:1003200009D16B78052B06D13A886B88D2B21B02B3 +:1003300013439BB23B8000212388494A1340494A1A +:1003400013439BB22380484B198023881A43474BA1 +:100350001A40474B5A4092B222802D4BDB8F5B05EF +:1003600007D580222F4B1A800023294AD3872E4B92 +:100370002380F8BD60213B880B40402BEDD13B88AA +:100380001342EAD1264A3B4B2C481B881188802215 +:1003900012059B18C9B298472288324B13432D4A45 +:1003A0001A40C0239B0153409BB22380D5E7802293 +:1003B00023881342D1D023882F490B408021090282 +:1003C0000B432380104B1B88934200D17AE7FF2018 +:1003D0000C4B19888143C0D01988090A0A43114976 +:1003E0000A801A8802401A80B7E7C0460E600040B3 +:1003F000005C00403CA5000000600040026000403E +:10040000046000400660004008600040025C00405C +:10041000065C0040505C0040186000401C600040DA +:100420001E6000404C5C00402032000000E100E013 +:100430000080FFFF585C00408F0F000054600040B8 +:10044000106000407C0400080A6000400C6000401E +:100450008081FFFF8FBFFFFF2A0300001E03000003 +:100460008F8EFFFF8080FFFF1A600040BFBFFFFF3D +:1004700030300000126000400F8FFFFF12010002B9 +:10048000FF000008C016DC0502020102000109029B +:100490001200010100803209040000000000000089 +:1004A000040309042A0349006E00660069006E0017 +:1004B0006900740065004E00650073004C0069001F +:1004C0007600650073002E0063006F006D00000071 +:1004D000000000000000000000000000000000001C +:1004E000000000000000000000000000000000000C +:1004F00000000000000000001E0349004E004C00F8 +:10050000200052006500740072006F002D00500042 +:1005100072006F0067000000000000000000000093 +:1005200000000000000000000000000000000000CB +:1005300000000000FEE70000004801E02301ADDEFE +:10054000FEE7C04602B4714649084900095C49000B +:100550008E4402BC7047C046411D000000616561C9 +:1005600062690001130000000536532D4D00060C92 +:10057000074D09011901000003B471464908400004 +:100580004900095A49008E4403BC7047411D0000D0 +:100590000061656162690001130000000536532D9A +:1005A0004D00060C074D09011901000070470A4B68 +:1005B0000A4A10B55A600A4A5A600122DC6814429D +:1005C000FCD11A6101220180D9681142FCD120229C +:1005D000DA6060321A6110BD0020024023016745D5 +:1005E000AB89EFCDFF2370B5404D2B7000236B70AE +:1005F0004378C688102B00D075E0C4788188807855 +:100600003B4B01385A69082800D968E0FFF79AFF88 +:100610000567672B3D314B5363008A1E8E241D2ACC +:1006200019D8344A5A60344A5A600122D8681042B4 +:10063000FCD102221A618022890212058918422205 +:1006400059611A61C046413ADC681440FCD120224D +:10065000DA6060321A612C70284BAAB22D0CF0B20D +:100660005A819D8170BD60001018FFF7A0FF002423 +:10067000F1E7002C35D10BB2002B32DB80231B05B8 +:10068000C8181F49FFF793FFE5E704226A705A690B +:10069000AA705A69120AEA705A69120C2A715B69C7 +:1006A0001B0E6B71E3E702236B701388AB7013882A +:1006B0001B0AEB70DBE7002C13D10BB2002B10DB15 +:1006C00080231B05C91802236B700B88AB700B8845 +:1006D0001B0AEB70BFE70B4A0B4BDA60C7E78B24B2 +:1006E000B9E78E24B7E780232B70B5E7FA06002020 +:1006F0000020024023016745AB89EFCD0060004038 +:10070000FFFF00000400FA0500ED00E0000000001B +:1007100000000000000000000000000000000000D9 +:1007200000000000000000000000000000000000C9 +:1007300000000000000000000000000000000000B9 +:1007400000000000000000000000000000000000A9 +:100750000000000000000000000000000000000099 +:100760000000000000000000000000000000000089 +:100770000000000000000000000000000000000079 +:10078000144B154A9BB21382144B9BB2538268469A +:100790001C300D4A0D4B0430043001681140C91A59 +:1007A000FAD1074A074B043801681140C91AF2D13F +:1007B0007B460A33036004380133036008E0FEE738 +:1007C0000000FFFF00000008FFFFFF0F0000000116 +:1007D00000207047E505000800600040AD050008F6 +:1007E0000000000000000000000000000000000009 +:1007F00000000000000000000000000000000000F9 +:1008000009490A4A0A4B9B1A03DD043BC858D050D9 +:10081000FBDC0849084A0020521A02DD043A8850DD +:10082000FCDC01F0C5FC0000A84900080000002025 +:1008300030040020300400200807002070B50F4C61 +:100840002268537A55685A18D2B293420FD122685F +:100850000B48537ACB1853720378591AC9B20170F6 +:100860000020814202D198230130D37070BD0678F8 +:100870000130EE540133DBB2E7E7C046F406002056 +:10088000F8060020FF23F7B5B74C050023700023BE +:10089000637083790093407801380A2801D901F008 +:1008A000A1F9FFF769FE0B00C204DB059F093408BC +:1008B0009F098A092007CA0714083108A878AB885D +:1008C000192801D900F099FCFFF756FE23002B00F0 +:1008D000F100BE016602D8025603DE03EF03FA03FD +:1008E00002040A0413041C04440453046104700445 +:1008F0001A001A001A0097049704970450025B022A +:1009000000232370994BA2B2240C5A8100989C8139 +:10091000FEBDE023964A1B0351690B43536100233C +:10092000EFE7152B01D900F06BFC1800FFF724FE50 +:10093000160021002E003B00480055005F006C00AF +:10094000760081008D009A006804680468046804D9 +:1009500068046804A70068046804B4009023402277 +:10096000DB05196891431960D9680A43DA600023EE +:10097000C7E79023DB051A687E490A401A60802287 +:10098000D96852000A43DA600023BAE79023DB05F6 +:100990001A6879490A401A608022D968D2000A434D +:1009A000DA600023ADE79023DB051A6873490A403B +:1009B0001A608022D96852010A43DA600023A0E756 +:1009C0009023DB051A686E490A401A608022D968B4 +:1009D000D2010A43DA60002393E70122694B1968C8 +:1009E00091431960D9680A43DA60002389E79023AC +:1009F000DB051A6864490A401A608022D9685203EC +:100A00000A43DA6000237CE704225E4B19689143B5 +:100A10001960D9680A43DA60002372E79023012243 +:100A2000DB05196891431960D9680A43DA6000232D +:100A300067E7564B56491A680A401A608022D968FF +:100A4000D2040A43DA6000235BE79023DB051A68CF +:100A500050490A401A608022D968D2050A43DA60F8 +:100A600000234EE79023DB051A6849490A401A60C3 +:100A70008022D968D2040A43DA60002341E7902338 +:100A8000DB051A6844490A401A608022D968520579 +:100A90000A43DA60002334E790230122DB0519685A +:100AA00091431960D9680A43DA60002329E7152BBE +:100AB00000D9A8E31800FFF75FFD160021002C0005 +:100AC000370042004D0071007C00860091009B00C1 +:100AD000A600A603A603A603A603A603A603B100C9 +:100AE000A603A603BC0090234021DB051A688A43B5 +:100AF0001A60DA688A43DA60002302E79023DB0594 +:100B000019681C4801401960DA680240DA60002365 +:100B1000F7E69023DB051968174801401960DA6889 +:100B20000240DA600023ECE69023DB0519681348E5 +:100B300001401960DA680240DA600023E1E69023A0 +:100B4000DB0519680E4801401960DA680240DA6076 +:100B50000023D6E601210B4B1A688A431A60DA6833 +:100B60008A43DA600023CCE6E406002000600040FF +:100B700000100240FFFEFFFFFFFBFFFFFFEFFFFF44 +:100B8000FFBFFFFF00040048FFFFEFFF0008004821 +:100B9000FFFFFFFBFFFFFFBFFFFFFFEF9023DB0522 +:100BA0001968C44801401960DA680240DA6000231D +:100BB000A7E60421C04B1A688A431A60DA688A43A0 +:100BC000DA6000239DE690230121DB051A688A4341 +:100BD0001A60DA688A43DA60002392E6B74BB848B5 +:100BE000196801401960DA680240DA60002388E67B +:100BF0009023DB051968B34801401960DA680240A8 +:100C0000DA6000237DE69023DB051968AC480140DB +:100C10001960DA680240DA60002372E69023DB058F +:100C20001968A94801401960DA680240DA600023B7 +:100C300067E690230121DB051A688A431A60DA68A7 +:100C40008A43DA6000235CE6152B00D9DEE2180047 +:100C5000FFF792FC16001E0027003000390042000A +:100C6000490052005900610069007200DC02DC0298 +:100C7000DC02DC02DC02DC027B00DC02DC02840041 +:100C800090224023D20511680B431360002338E6FD +:100C900090228023D20511685B000B431360002370 +:100CA0002FE690228023D2051168DB000B431360EE +:100CB000002326E690228023D20511685B010B43B6 +:100CC000136000231DE690228023D2051168DB010A +:100CD0000B431360002314E60123774A11680B438A +:100CE000136000230DE690228023D20511685B0378 +:100CF0000B431360002304E604236F4A11680B437F +:100D000013600023FDE590220123D20511680B43F7 +:100D100013600023F5E58023684ADB0411680B4368 +:100D200013600023EDE590228023D2051168DB05D6 +:100D30000B4313600023E4E590228023D205116861 +:100D4000DB040B4313600023DBE590228023D205F4 +:100D500011685B050B4313600023D2E59022012349 +:100D6000D20511680B4313600023CAE5082B00D09D +:100D70004FE29022D2055168073B0B43536000239A +:100D8000BFE5082B00D047E290220121D20553682D +:100D90008B4353600023B4E5152B00D93FE21800C4 +:100DA000FFF7EAFB16001C00220028002E0034008A +:100DB0003900400045004B00510058003D023D0203 +:100DC0003D023D023D023D025F003D023D026600E4 +:100DD00090230822DB059A62002392E590231022DB +:100DE000DB059A6200238CE590232022DB059A62C2 +:100DF000002386E590234022DB059A62002380E5EC +:100E000090238022DB059A6200237AE501222A4B97 +:100E10009A62002375E580229023D200DB059A6256 +:100E200000236EE50222244B9A62002369E5902399 +:100E30000122DB059A62002363E580221F4B9201A9 +:100E40009A6200235DE5802290231202DB059A62FC +:100E5000002356E5802290239201DB059A6200234D +:100E60004FE580229023D201DB059A62002348E5FA +:100E700090230122DB059A62002342E5152B00D95D +:100E8000D0E11800FFF778FB220028002E00340084 +:100E90003A00400045004C00510057005D006400DE +:100EA000CE01CE01CE01CE01CE01CE016B00CE012E +:100EB000CE017200FFFFEFFF000400480008004869 +:100EC000FFFFFFFBFFFFFFBFFFFFFFEF90230822A5 +:100ED000DB059A61002314E590231022DB059A615B +:100EE00000230EE590232022DB059A61002308E50C +:100EF00090234022DB059A61002302E590238022A3 +:100F0000DB059A610023FCE40122CE4B9A610023A9 +:100F1000F7E480229023D200DB059A610023F0E4FD +:100F20000222C84B9A610023EBE490230122DB05E7 +:100F30009A610023E5E48022C34B92019A61002369 +:100F4000DFE4802290231202DB059A610023D8E4BB +:100F5000802290239201DB059A610023D1E4802254 +:100F60009023D201DB059A610023CAE49023012279 +:100F7000DB059A610023C4E402226270152B00D9BC +:100F80007EE01800FFF7DEFA0B131B232B333A43E6 +:100F90004A525A627C7C7C7C7C7C6B7C7C74902387 +:100FA0000822DB051B69134063800023A9E490231A +:100FB0001022DB051B69134063800023A1E490230A +:100FC0002022DB051B6913406380002399E49023F2 +:100FD0004022DB051B6913406380002391E49023CA +:100FE0008022DB051B6913406380002389E4012212 +:100FF000944B1B6913406380002382E4902380227A +:10100000DB051B69D20013406380002379E40222D0 +:101010008C4B1B6913406380002372E490230122F0 +:10102000DB051B691340638000236AE48022864B42 +:1010300092011B6913406380002362E49023DB0567 +:101040001B69DB0BDB03638000235AE490238022BF +:10105000DB051B69920113406380002351E4902358 +:101060008022DB051B69D20113406380002348E422 +:1010700090230122DB051B6913406380002340E4B9 +:10108000002363708D333CE48023704ADB02516996 +:101090000B4353616B4B6E491A680A401A60D9685A +:1010A0006C4A0A43DA6000232BE4664B68491A68ED +:1010B0000A401A60D968674A0A43DA60002320E4CC +:1010C000604A634913680B4013600023FFF719FC63 +:1010D0005C4A604B11680B4313600023FFF711FC5F +:1010E00058491B024A69D2B213434B610023FFF7F0 +:1010F00008FC544B1B691B0AA37001236370002377 +:10110000FFF7FFFB8023514ADB02516950480B4334 +:1011100053614C4B196801401960D8684D4901432F +:10112000D960C0215069C902014351610422196884 +:101130000A431A60022290219A62A022C905086817 +:10114000D20202430A601968434A0A431A60002324 +:10115000FFF7D7FB9022A023D205D168DB020B4317 +:10116000D360384A3C4BD1680B43D3600023FFF770 +:10117000C8FB9022D205136838490B401360314AEE +:10118000374913680B4013600023FFF7BAFB902226 +:10119000A023D2051168DB020B431360294A2E4BB2 +:1011A00011680B4313600023FFF7ABFB9020C005D1 +:1011B00042692C499D000A40C021890029400A4308 +:1011C0004261204A284851691B0A0140FF2005401E +:1011D0002943516115681F491B0229431160516958 +:1011E00008400343536102239361936213681849D3 +:1011F0000B4013600023FFF784FB8C23FFF781FB78 +:101200008D23FFF77EFB8D23FFF77BFB8D23FFF7FD +:1012100078FB8D23FFF775FB8D23FFF772FB8D2382 +:10122000FFF76FFB8D23FFF76CFBAA88AD78032DCA +:1012300000D1D8E01AD8002D68D0012D6AD09623AD +:10124000DEE0C046000400480008004800100240EC +:10125000FFFFAAAA0000555550550000FFFFFAFFF6 +:10126000AFAAFFFFFFFC000003FF0000042D00D128 +:10127000E5E0802DE3D190230122DB0562709A62C4 +:10128000196811431960C0461869196810409143E4 +:101290001960D9689143D960F021002833D11968C9 +:1012A00091431960D9681143D9601F691E69C0460E +:1012B0001C69C046C0461D69C046C046C046196983 +:1012C0008C46C046C046C046C0461969019119689F +:1012D00091431960D9689143D9600100174212D136 +:1012E000110016420FD114400231002C0BD10331F2 +:1012F000154208D163460431134204D1019B0531E4 +:10130000DB0700D4D131BC4B997001E000F078FECE +:10131000002375E000F074FE90228023D20511684E +:101320005B000B43136010239361116830330B4350 +:1013300013600823936280231168DB000B43136062 +:101340002023936180231168DB010B43136080230A +:101350009361AA4BAA481968AA4C294319609D6158 +:1013600080254169ED0229434161196821401960D6 +:10137000DE68A5490E43DE601E6826401E60DE68FA +:101380000E43DE604669354345611D6825401D609A +:10139000DD680D43DD60C0254669ED0235434561DA +:1013A00004201D68284318600220A0259862166852 +:1013B000ED02354315601E68944D35431D60556937 +:1013C000934E354055615A69924D2A405A611A68C8 +:1013D000114319605A69D2B25A61986198621A68C9 +:1013E00014401C6094E7D2B2022A0CD00023032AD6 +:1013F00006D0012A30D1884A88491370884A116082 +:101400007D4CFFF77EFAE0237D4A1B0351690B43B5 +:10141000536190230122DB05196891431960D96853 +:101420001143D9605968114359609A6119680A4398 +:1014300008211A60784A1170794A136068E7D2B2BD +:101440009823012ADCD1E0236D4A1B0351690B4329 +:10145000536100F047FD5BE79723D1E7E978A8885F +:10146000AD780D2D00D1BAE027D8062D5ED010D86A +:10147000022D62D005D8002D52D0012D5AD0A025C2 +:1014800050E0042D00D198E0052DF8D101F0B2FC18 +:101490004EE0092D00D199E007D8072D00D1A4E036 +:1014A000082DECD101F034FE42E00B2D00D199E083 +:1014B00000D88EE001F0AEFD3AE0222D40D013D8E6 +:1014C000102D00D194E007D80E2D00D184E00F2D0F +:1014D000D5D101F07FFE2BE0202D71D073D8112DD6 +:1014E000CDD101F0DBFD23E0822D00D1E8E00AD868 +:1014F000802D00D19AE0812DC1D10123637001F0CC +:10150000BBFEA07014E0852D00D1DEE0862D00D159 +:10151000E1E0842DB3D10123637001F0B1FCF0E769 +:1015200000F09AFC344C2570FFF7ECF901F0B6FF9F +:101530000025F7E701F0E4FCFAE701F04BFBF7E7E1 +:101540009022D2055369324D84002B40C025AD0056 +:1015500025402B435361294B2E4E5D6909023540CE +:10156000FF26344025435D611D68274C25431D60DF +:101570005F69050A37402D023D435D6102259D618B +:101580009D621F681F4D00B22F401F602027976289 +:101590001F683C431C605C6934402143596100284A +:1015A00001DA10219162C046C046102191614918AC +:1015B00091611A6815401D60BAE702F071F8B7E74B +:1015C000184B1870B4E7184B1880B1E701F044FFCE +:1015D000AEE701F02FFEABE701F016FFA8E701F040 +:1015E000E1FEA5E701F0B6FDA2E701F0B3FE9FE73B +:1015F00001F086FE9CE7C046E40600200004004897 +:1016000000100240FFFFAAAA0000555550550000E7 +:10161000FFFC000003FF0000F00600200008004867 +:10162000EC060020880400203404002001219022D0 +:101630006170D205136808248B431360D3681025AA +:101640008B43D36020239462956193615369C249AF +:1016500086000B40C021890031400B435361BF4BD2 +:10166000BF495F693940FF273E400E435E611E68F7 +:10167000BC4931431960010AA1405E6937400F43FC +:1016800002215F61996199621968B74E3140196012 +:10169000C046C04600B29461002800DA9562C04698 +:1016A000C046C046C046C046C04690220821D2056A +:1016B0001B69916249189161AC4A1B0A937037E724 +:1016C0000123637001F064FC1BE701236370A84BE6 +:1016D0001B78A3702CE702236370A64B1B88A370B2 +:1016E0001B0AE37024E7EA78A988AD78112D00D1B0 +:1016F0009CE007D8012D6BD0002D0FD0022D7DD09E +:10170000822510E7212D00D186E0222D00D189E02D +:10171000122DF5D10223102063708AE001263100DA +:10172000954D964F2A783B68914099625A681020EF +:101730008A435A6001F052FB31002B783A68994095 +:101740000B00FA270425916151687F000B43536019 +:101750000196380001F042FB874A01991278874EC2 +:1017600091403368380099625A68013D8A435A6053 +:1017700001F034FB804B01991B78326899400B00D3 +:1017800091615168ADB20B435360002DE1D1FA274E +:101790000435380001F022FB0121774A774E127898 +:1017A0003368914099625A6838008A435A6001F060 +:1017B00015FB0121704B32681B78013D99400B00ED +:1017C00091615168ADB20B435360002DE1D1AAE69F +:1017D0002900694E694F32783B68914099625A6896 +:1017E00010208A435A6001F0F9FA32783B6895403C +:1017F0009D615A6815435D60002594E601235E4AA9 +:10180000637012785E4993405C4A9BB21268002074 +:1018100001F05EFFA070EFE701230020637001F08C +:101820002DFAF7E7012310206370F8E70223002068 +:10183000637001F07DFA6080DEE7AB78AA88042B44 +:101840001DD007D8022B1FD024D8012B12D08723FC +:10185000FFF757F8072B26D003D8052BF7D1494BB4 +:1018600016E0082B24D0802BF1D100F03BFB0023A5 +:10187000FFF747F8444A1278A2706370F7E7434BCA +:101880001B78A3700123F8E73F4B1A7083223F4B6C +:101890001A70ECE73C4B3D4D1A7083232B7000F01F +:1018A00043FB2B78EDE73A4B1A70120A5A70DEE7C9 +:1018B000374B1A78A2705A78E2709A782271DA78E7 +:1018C00062711A79A2715B79E3710623D5E7A87872 +:1018D000AA8801388A23032801D9FFF712F8FEF7F6 +:1018E00031FE0402070E2B4B1A600023FFF709F8A4 +:1018F000284B18680004104301F0E4FEF5E7FEF7FA +:101900003FFF0300FEF7FDFF8823FEF7FAFFAA78EA +:101910001300303B2F2B1DD8E878032817D8FEF78B +:1019200011FE190212141C4B512A00D1ACE052D8FE +:10193000312A00D183E037D8002A61D0302A77D00D +:10194000B423FEF7DEFF154BEEE7154BECE7B523AE +:10195000FEF7D7FF134BE7E7FFFC00000004004849 +:1019600003FF000000005555FFFFAAAAE40600206F +:101970008804002034040020F0060020EC0600203B +:1019800004000200D1040020B0040020D204002092 +:10199000B1040020300400204C040020600400202A +:1019A0007404002038040020332A56D04ED3502A25 +:1019B000C6D100222270063262701A7AA270DA78DA +:1019C000E2705A7A22719A7A62719A78A2715B7C7B +:1019D000E371FEF797FF7F2A00D989E0702A63D26E +:1019E000602A3FD0612A47D0522AA9D100221B8801 +:1019F0002270A37002321B0A6270E370FEF782FF4E +:101A0000FF238C4953540132102AFBD18A4A8B4957 +:101A1000D37093708A4ACB70D370937001228B700D +:101A20008849CB708B70884B1A700023FEF769FFD2 +:101A3000AA88110AD9721A730023FEF762FFAA88D6 +:101A4000110A59739A730023FEF75BFFAA88110AE3 +:101A5000D9731A740023FEF754FFAA885A7400231E +:101A6000FEF74FFF0023237001336370AB88714A88 +:101A7000D35CA370FEF746FF00232370013363702D +:101A8000724B1B68DB78F4E700222270063262702A +:101A9000DA7AA2701A7BE2705A7B22719A7B6271A9 +:101AA000DA7BA2711B7C93E7644B68495C682B78F6 +:101AB0007F2B00D999E06846654B007818700B6859 +:101AC000D87800280DD000230093982805D194E001 +:101AD00000230093D02800D18FE010205A4B1870BB +:101AE00003E05C4803609020D870FF23009384E0FB +:101AF0000720104003281AD8FEF724FD1C021E17E9 +:101B00004D4B802A01D2FEF7FDFE872A16D970328E +:101B1000D2B2072A01D9FEF7F5FE00222270EA7838 +:101B20009A72AA881A80FEF7EDFE454BE9E7B523C5 +:101B3000FEF7E7FE414BE4E7424BE2E7A888E9788D +:101B4000C6B28D19BE22102D2CDC0432002929D0FA +:101B5000DD78033AFF2D25D19D780132FF2D21D16B +:101B60000022344DD7B2B9421FD84F01013F1F7236 +:101B70007701BC460022384F000A67449870DA703B +:101B80005A729A721A80DA721A735A739A73DA73E3 +:101B90001A745A745F60AD19A8540132D3B29942D5 +:101BA000FAD800222270FEF7ADFE0132B718013FCD +:101BB000EF5DFF2FD6D0C122F4E7AB78002B04D025 +:101BC000402B08D0D223FEF79CFE2370AA881E4B20 +:101BD0001A70FEF797FE00232370013363701A4BCF +:101BE0001B7846E78023FEF78CFE0B68D878D82850 +:101BF00000D06DE780205C68D8700B6800215972B6 +:101C0000DB78902B01D0FEF77DFE712A01D0FEF724 +:101C100079FE104BA9881A68526811701A685168C9 +:101C2000AA88120A4A701A68537A02335372FEF76E +:101C300069FEC046D30400204C0400203804002074 +:101C40007404002060040020900400208C04002014 +:101C5000F8060020F4060020E4040020F0B5284B2C +:101C600085B01E78274B01901B7802910093039258 +:101C7000254B112840D00022902000251A70C00565 +:101C80001C782A002B00012184460198202805D1C8 +:101C9000009D1D410D4231D00C430D0002982028BB +:101CA0000ED1002B01D1174FBB54604607690F427C +:101CB00006D01448875C08009840074311488754B1 +:101CC0000398013EF6B2002804D0002E02D1022073 +:101CD0000D0004430133DBB2082B05D10132094B5F +:101CE000D2B29B5C00930023002ECED1002D01D0F8 +:101CF000054B1C7005B0F0BD0122BDE78C43CCE75D +:101D0000D1040020B1040020F1060020F0B5134BEF +:101D1000134D19780023112800D102230027114EFA +:101D20003A00B4463C0001262B702B7820280CD1B9 +:101D300063461B5D3700134101323340D2B25B0072 +:101D4000082A02D100220134E4B20139C9B20029C3 +:101D5000ECD1002F00D02B70F0BDC046D104002084 +:101D6000F1060020B1040020F7B580270D00019294 +:101D70004C7A000203B2A6B20093FF042B7AB3425E +:101D800002D26C720020FEBD00986B682043195D82 +:101D900080B2019B98476B681A5D0B4B824206D05C +:101DA0001A683A431A60802292019A61E6E71A683B +:101DB000064901340A401A60DA6801363A43DA60AB +:101DC000E4B2B6B2DAE7C04600080048FFFFFFFB06 +:101DD000F7B50D001600FF27000203B24C7A0193FD +:101DE0002A7AE3B2A24202D26B720020FEBD20002A +:101DF0006A683840D15C019B0134184380B2B04717 +:101E0000A4B2EDE7022907D10F4B104A984218D02F +:101E1000904209D1180007E0032906D10A4B0B496B +:101E20000B4A98420BD1080070470429FCD1064B9D +:101E3000064A984205D006499042F4D0054A8842A5 +:101E4000E6D11000F0E7C046380400204C04002022 +:101E500060040020740400209022D205536970B5FC +:101E60001B4C86002340C024A4003440234353610C +:101E7000184B194D5C69000A2C40FF252E40344355 +:101E80005C611E68154C000226431E605E690902F3 +:101E90002E40304358610220986198621E681048B5 +:101EA00006401E601E6834431C605C69254029435F +:101EB0005961012114680C431460916214688C43C9 +:101EC0001460D4682143D1601A681040186070BD56 +:101ED000FFFC00000004004803FF0000000055550F +:101EE000FFFFAAAA00230C4A012113709022D205F9 +:101EF000106888431060D0680143D1608021074A90 +:101F0000074811701900074A13701A18013311702D +:101F1000202BFAD17047C046F1060020D2040020E1 +:101F2000B1040020D104002010B5334B1B78082BDE +:101F30005DD016D8314C032B44D007D8012B2DD0BF +:101F4000022B31D0EE222D4B1A7023E0062B44D009 +:101F500049D8042BF6D1812301222370202111209E +:101F600027E00F2B34D008D8244C0D2B25D00E2B76 +:101F7000E8D181230022237027E0802B08D01F4C5A +:101F8000FF2B08D0102BDDD181230022237027E006 +:101F9000FFF7A8FF10BDF0232370FBE7812320206B +:101FA0002370FFF7B3FE06E0812301220021237096 +:101FB0002020FFF753FE8223EEE7812300222370C7 +:101FC0001100F5E781230122237020211020F0E782 +:101FD00081230A4C00222370C0E781230122237051 +:101FE00020210800E5E7812310202370D9E7812311 +:101FF000024C11202370D4E7B0040020D20400204A +:10200000BC235B49DB038A6AF0B513438B628B6A9E +:10201000584A594D13408B62E0234A691B0313430E +:102020004B6190234022DB051868544E90431860A2 +:10203000D8680243DA601A68514802401A60802268 +:10204000D86852000243DA601A684E4802401A60AB +:102050008022D868D2000243DA601A684A480240F7 +:102060001A608022D868D20102430120DA60474A10 +:10207000146884431460D4680443D4601C682C4002 +:102080001C608024DD6864032C43DC601C68404DC8 +:102090002C401C608024DD68E4052C43DC601C6857 +:1020A0003C4D2C4080251C60DC68ED042C43DC603A +:1020B0001C68394D2C401C608024DD6864012C4371 +:1020C000DC6004241568A5431560D5682543D560F8 +:1020D0001D6885431D60DD688543DD608025486996 +:1020E000ED0228434861106830401060D5682B48E5 +:1020F0000543D560C0254F69ED023D434D6115682C +:102100002C4314600224A02594621C68ED022C4329 +:102110001C601768224C27431760224C1F68274019 +:102120001F601768204C27401760DF681C4C3D4338 +:10213000DD60D3681C43D46080244B69E4022343F0 +:102140004B611368134933401360D3680343D36072 +:1021500013681E401660D3681843144BD0601A6889 +:102160000A4080211A60DA68C9040A43DA60F0BDC7 +:1021700000100240FFFFA1FFFFFFEFFFFFFFAAAA31 +:10218000FFFEFFFFFFFBFFFFFFBFFFFF0004004854 +:10219000FFFFFFBFFFFFFFFBFFEFFFFF00005555F5 +:1021A00050550000FFFFFAFFAFAAFFFF00080048EC +:1021B0009022C64B12031968F0B50A431A608022B8 +:1021C00087B0920219681142FCD0012259680A4373 +:1021D0005A608022596852020A435A608022596824 +:1021E00052030A435A608022196852040A431A6053 +:1021F0008022920419681142FCD01121B44AB54CD6 +:1022000011605A680E398A43110002220A435A604B +:102210008022196B0A431A638022D96912040A4387 +:10222000DA61AD4BE381BC231B689847AB4B6382FB +:10223000AB4B238262B6FFF7E3FEF022A94B1A7084 +:10224000A94E2023327811009943D2292ED1A749D3 +:10225000A748C978C3780224FF2904D1FF3B1C009A +:10226000631E9C41E4B2A34BDB78FF2B00D0032418 +:10227000A14BDB78FF2B00D00424A04BA04F1C7097 +:102280003860D22A12D10023012505E02100FFF792 +:10229000B9FD01230135EDB2A542F7D3002B00D0E3 +:1022A000386080223B68DA70D02333703378F22BA9 +:1022B00005D10022023B3370914B1B68DA703578F0 +:1022C000D02D00D030E38E4E3068C378802B00D004 +:1022D0002AE38A4B1978FFF795FD0023306004004C +:1022E000C57006884372C07AF5B21038132800D939 +:1022F00018E3FEF741F93D007500E70017031703E7 +:1023000017031703170317031703170317031703FD +:102310001703170317031400220032003700E17B74 +:10232000C4230F2900D9FEE209013143237AA278A0 +:10233000C9B2606801F0F4F80DE0E17B3C230A00CB +:102340009A438833002A00D0EDE2237AA278294309 +:10235000606801F047F96072ABE0237AA278E17B14 +:102360002943E6E7E17B3F230A009A438533E9E707 +:10237000E37B1E2B0BD1C020B6092233F1B2000241 +:102380009D4300F027FC237AA2788021E8E71C2BEC +:102390000FD1A0208121C00100F01CFC8020F60993 +:1023A000F1B2000200F016FCA0200021C00100F0F4 +:1023B00011FC8023E27B5B421F2A05D01D43EDB256 +:1023C000237AA2782900B4E77022A02021889543BF +:1023D00009091D43C9B2C001EDB200F0FBFBEFE7F4 +:1023E000E37BFE2B65D17609F1B2464800F088FD0B +:1023F0006368454A0293A378FF260193237AC02796 +:102400000393424BBF0019680A431F211A605A699F +:102410000D4032402D02154302225D619A619A629D +:102420001A683B490A401A6090220821D20591613E +:102430004918916270319162019950698D00354956 +:102440008C46084029003940084350615969324898 +:10245000354001400D435D61C04600210590049662 +:10246000C0461869029D000A685401980131013084 +:10247000C0B201909020019DC005AE006546406944 +:10248000C9B2284035003D4028439025ED056861DC +:102490005869059D2840049D2E40064303985E61BF +:1024A0008842DDD280239361783B93620833936145 +:1024B0006172134B1B6819889A7A52181A80D822B5 +:1024C000DA7031E2237AA278602149E700100240F5 +:1024D00000200240006000403CA5FFFF3D080008CE +:1024E00085080008D2040020900400204C0400203D +:1024F000380400206004002074040020F20600204C +:102500008C040020FF3F00000000555500040048E7 +:10251000FFFFAAAAFFFC000003FF00000021D04833 +:1025200000F058FBAA21CF4800F0B8FF5521CE4853 +:1025300000F0B4FFA021CB4800F0B0FF6B46187A42 +:10254000CA4B0499C01880B200F044FB059E636832 +:102550002E43B6B2595D300000F0A0FFC0463000F7 +:1025600000F08AFE0390300000F086FE039B834259 +:10257000F4D1636803995A5DBD4B8A4212D1019A26 +:10258000BC49013292B201921A6801350A401A60C0 +:102590008022D968D2040A43DA6080229201EDB227 +:1025A0009A6224E280221968D2040A431A608022C7 +:1025B00092019A611BE2C0200121000200F00AFB97 +:1025C000AA21AD4800F006FBC0200021000200F067 +:1025D00001FB5521A94800F0FDFAC02001210002AD +:1025E00000F0F8FAA021A44800F0F4FAC020039902 +:1025F000000200F0EFFA049E63682E43B6B2595D04 +:10260000300000F0E7FAC046300000F035FE0290DE +:10261000300000F031FE029B8342F4D163680299DE +:102620005A5D934B8A4212D1019A9249013292B279 +:1026300001921A6801350A401A608022D968D204D2 +:102640000A43DA6080229201EDB29A62E6E18022CA +:102650001968D2040A431A60802292019A61DDE16E +:10266000AA21874800F0B6FA5521844800F0B2FA52 +:10267000A021834800F0AEFA63682800995D00F05D +:10268000A9FAC046280000F0F7FD0190280000F0EC +:10269000F3FD019B8342F4D1DCE1A0205421C00171 +:1026A00000F098FA049DA0213543ADB2280000F057 +:1026B00091FA63682800995D00F08CFAC046280002 +:1026C00000F0DAFD0390280000F0D6FD039B834262 +:1026D000F4D16368039A9B5D654D934212D1731CDC +:1026E000DEB2019B634A01339BB201932B68134016 +:1026F0002B608023EA68DB041343EB6080239B019B +:10270000AB62D6E1A0208121C00100F063FA8020F5 +:102710000299000200F05EFAA0205421C00100F0EE +:1027200059FA80232A68DB0413432B6080239B0122 +:10273000AB61BEE1029EA0212E43B6B2300000F094 +:1027400049FA63683000595D00F044FAC046300031 +:1027500000F092FD0700300000F08EFD8742F5D1B9 +:1027600063685A5D424BBA4212D1019A4149013223 +:1027700092B201921A6801350A4080211A60DA6823 +:10278000C9040A43DA6080229201EDB29A62C6E17E +:1027900080211A68C9040A431A60802292019A6152 +:1027A000BDE1E37B002B04D1364A21003800FFF75E +:1027B0000FFBE37B012B04D1334A21003800FFF7E4 +:1027C00007FBE37B022B04D1304A21003800FFF7DE +:1027D000FFFAE37B042B04D12D4A21003800FFF7D8 +:1027E000F7FAE37B0A2B04D12A4A21003800FFF7CD +:1027F000EFFAE37B0B2B04D1274A21003800FFF7C7 +:10280000E7FAE37BFE2B00D09EE1218823484909AB +:10281000C9B200F075FB657AAA21ABB220480193DA +:1028200000F0E8FA55211F4800F0E4FA1C48202186 +:1028300000F0E0FA1F20384003020293237A019A45 +:10284000934231D265729021002000F0D3FA00212A +:10285000080000F0CFFAF021002000F0CBFA73E17D +:1028600069FD000055550000AA2A000069FDFFFF20 +:1028700000080048FFFFFFFB55950000AAAA0000D2 +:1028800055D5000035320008D53100085531000813 +:10289000113100089D30000815300008FF3F00008E +:1028A000AA0A000055050000029EA0212E43300018 +:1028B00000F0A0FA63683000595D00F09BFAC04652 +:1028C000300000F0DDFA0700300000F0D9FA87424E +:1028D000F5D163685A5DA84BBA4212D1019AA74953 +:1028E000013292B201921A6801350A4080211A60C1 +:1028F000DA68C9040A43DA6080229201EDB29A6272 +:102900009CE780211A68C9040A431A608022920158 +:102910009A6193E738006030994A2100C0B2FFF70E +:1029200057FA11E1C323E370964B1D78F02D00D0C8 +:1029300013E1954E3468E378982B00D00DE1934B6A +:1029400020001978FFF75EFA00233060C370E37A45 +:10295000E5702778112B00D123E7122BDAD0102B4A +:1029600000D0F8E0E37B002B06D138008038C0B2FD +:10297000874A2100FFF7F8F9E37B012B06D13800E5 +:102980008038C0B2834A2100FFF722FAE37B032B91 +:1029900006D138008038C0B27F4A2100FFF718FA0C +:1029A000E37B042B06D138008038C0B27B4A21007B +:1029B000FFF7DAF9E37B0A2B06D138008038C0B282 +:1029C000774A2100FFF704FAE37BFD2B15D13F2066 +:1029D000238838409B0902936B4680271B7A074364 +:1029E0000493657AABB201933B021BB20593237A41 +:1029F000019A934200D391E56572E37B1E2B13D1BC +:102A00003F2038408027238807439B09DBB203938C +:102A1000657AABB201933B021BB20493237A019A0D +:102A2000934200D3C7E56572E37B0C2B17D11F20BF +:102A3000384080270743C0202588A5216D09EDB2C5 +:102A4000C00100F0C7F82900564800F0C3F8667AC4 +:102A50003D023543237AB34200D301E66672E37B3D +:102A60001C2B3BD1A02023888121DB09DBB2C001D4 +:102A7000029300F0AFF880200299000200F0AAF85B +:102A8000A0205421C00100F0A5F8667AAA21B3B2B3 +:102A90004548019300F09EF85521444800F09AF80B +:102AA0002021414800F096F880233B431B021BB2D3 +:102AB0000493237A019A934200D3EEE5802090217B +:102AC0000002667200F086F880200021000200F00B +:102AD00081F88020F021000200F07CF8E37B1F2BBE +:102AE00032D1A0202188C0010909C9B200F072F8D2 +:102AF000657AAA21ABB22C48019300F06BF85521FE +:102B00002A4800F067F82848202100F063F8702375 +:102B100080209F434042384340B203020293237A0D +:102B2000019A934200D305E680209021000265724D +:102B300000F050F880200021000200F04BF88020C7 +:102B4000F021000200F046F8F4232288E370A37A13 +:102B50009B18238001E0C323E370154B1B78F02BF7 +:102B600001D1FFF76DFB832B01D0FFF769FBFFF766 +:102B7000DBF9FFF765FBC04600080048FFFFFFFBDD +:102B8000D52B0008900400208C040020F2060020C1 +:102B90005934000809340008A533000855330008EB +:102BA00001330008FFFF0000AA8A000055850000DD +:102BB000D2040020002302000002002A04D1002BCE +:102BC00001D0802318437047DB43511EDBB20A401B +:102BD000F3E700009022F0B50124D20513688500C8 +:102BE000A3431360D368204EA343D36053691F4CA3 +:102BF00009022340C024A4002C40234353611C4BF2 +:102C00005C693440FF2635402C435C611D68194CDB +:102C100025431D605F69050A37402D023D435D6114 +:102C200002259D619D621F68134D00B22F401F60F9 +:102C3000202797621F683C431C605C693440214335 +:102C4000596108219161002801DA49189162C04652 +:102C5000C0460821916249189161103191611A684A +:102C600015401D60F0BDC04603FF0000FFFC0000E2 +:102C70000004004800005555FFFFAAAAF7B501233C +:102C80000225294F01923A7800910543934004218F +:102C9000A020264E2D049BB229433268C00100F0CB +:102CA00017FD040001283DD13B7809209C400543D5 +:102CB0007830A3B232682900FF3000F009FD04002B +:102CC00001282FD13B7832689C402900A3B2002014 +:102CD00000F0FEFC0400012824D1009B180AFFF735 +:102CE00069FF3B7832689C402900A3B200F0F0FCF9 +:102CF0000400012816D16B461878FFF75BFF22000D +:102D00003B7829009A4093B2326800F0E1FC0198C8 +:102D1000FFF750FF3B7832689C402900A3B200F0D7 +:102D2000D7FC0400E0B2FEBDF0060020EC06002057 +:102D3000F7B501230225274F00903A78019105430A +:102D400093400421C020244E2D049BB229433268B5 +:102D5000800100F0BDFC0400012838D109231D4387 +:102D60003B78C0209C403268A3B22900400000F0AC +:102D7000AFFC040001282AD13B7832689C4029002E +:102D8000A3B2002000F0A4FC040001281FD1019B85 +:102D9000180AFFF70FFF3B7832689C402900A3B266 +:102DA00000F096FC0400012811D16B461879FFF75A +:102DB00001FF22003B789A4093B2009A1443092203 +:102DC000E1B209041143326800F082FC0400A0B2B1 +:102DD000FEBDC046F0060020EC0600200023800067 +:102DE00080B2834200D17047C046C04601339BB2D7 +:102DF000F7E700009022D2055369F0B51B4C86001E +:102E00002340C024A400344023435361184B194D80 +:102E10005C69000A2C40FF252E4034435C611E682B +:102E2000154C000226431E605E69144F2E4030434D +:102E3000586102209861986218681026384018601E +:102E40000820906296621868090204431C60586961 +:102E5000284001435961C04601219962C0469961E9 +:102E600019680F401F609661F0BDC046FFFC00006E +:102E70000004004803FF000000005555FFFFAAAA08 +:102E80009022D2055369194930B50B40C021840006 +:102E9000890021400B435361154B164D5969000AB7 +:102EA0002940FF252C40214359611C68124900022A +:102EB00021431960596908240D40022128435861B3 +:102EC0009961996219680D488025014019601021A7 +:102ED000946191629562C046C046C0461869E04060 +:102EE0009561C0B29462916130BDC046FFFC0000A4 +:102EF0000004004803FF000000005555FFFFAAAA88 +:102F00001D4B30B5984202D880231B0218439025F0 +:102F1000ED056B69194C82002340C024A4001440C5 +:102F200023436B61164B174D5C69000A2C40FF254B +:102F30002A4014435C611C68134A000214431C605D +:102F40005C6909022C402043586102209861986214 +:102F50001C680E4804401C601C6822431A605A69B1 +:102F60002A4011435961C04601229A62C0469A61C3 +:102F70001A6802401A6030BDFF1F0000FFFC00000D +:102F80000004004803FF000000005555FFFFAAAAF7 +:102F90001A4B30B5984202D880231B021843902167 +:102FA000C9054B69164A84001340C0229200224092 +:102FB00013434B61134B144D5A69000A2A40FF25F5 +:102FC0002C4022435A611C68104A000222431A60B6 +:102FD0005A6915400222284358619A619A621A6818 +:102FE0000B4802401A6080228A62C046C046C04632 +:102FF000C0461869000AC0B28A6130BDFF1F0000D8 +:10300000FFFC00000004004803FF000000005555CD +:10301000FFFFAAAAF8B505000E001C4F1C4B38880C +:103020002021203080B21C78FFF7D4FDAA21194856 +:10303000FFF766FF38881021103080B2FFF7CAFD15 +:1030400055211548FFF75CFF38882021203080B2D9 +:10305000FFF7C0FDA0210F48FFF752FF2401388879 +:10306000E4B2001980B22100FFF7B4FD310028005E +:10307000FFF746FF2800FFF78BFF0400C04628003B +:10308000FFF786FF8442F5D1F8BDC0463404002026 +:103090008804002055150000AA0A000070B504003D +:1030A000B0200E0000020A21FFF794FDC0200A2183 +:1030B0000002FFF78FFDAA211248FFF721FF5521DB +:1030C0001148FFF71DFFA0210E48FFF719FFB020A0 +:1030D0000E4D00022978FFF77DFDC02029780002FF +:1030E000FFF778FD31002000FFF70AFF2000FFF70F +:1030F0004FFF0500C0462000FFF74AFF8542F5D18B +:1031000070BDC04655150000AA0A000088040020C2 +:1031100070B504000D000D48AA21FFF7F1FE5521FE +:103120000B48FFF7EDFEA0210848FFF7E9FE290054 +:103130002000FFF7E5FE2000FFF72AFF0500C0464C +:103140002000FFF725FF8542F5D170BD5515000021 +:10315000AA1A000070B504000D001A4E0221308832 +:10316000023080B2FFF736FDAA211748FFF7C8FEEC +:1031700030880121013080B2FFF72CFD5521134822 +:10318000FFF7BEFE30880221023080B2FFF722FD39 +:10319000A0210D48FFF7B4FE0D4B30881978401878 +:1031A00080B2FFF717FD29002000FFF7A9FE2000DD +:1031B000FFF7EEFE0500C0462000FFF7E9FE85425E +:1031C000F5D170BD3404002055150000AA0A000096 +:1031D0008804002070B50400A0200D000002022128 +:1031E00000F05EFAAA211048FFF78AFE55210F4829 +:1031F000FFF786FEA0210C48FFF782FEA0200C4BB3 +:103200000002197800F04CFA29002000FFF778FE40 +:103210002000FFF7BDFE0500C0462000FFF7B8FE06 +:103220008542F5D170BDC04655150000AA0A0000C0 +:103230008804002070B504000D000D48AA21FFF796 +:103240005FFE55210B48FFF75BFEA0210848FFF702 +:1032500057FE29002000FFF753FE2000FFF798FEDD +:103260000500C0462000FFF793FE8542F5D170BDF2 +:1032700055150000AA0A000070B59024E4056369A2 +:103280001A4AFF261340C022850092002A401343A9 +:103290006361174B174A59693540114029435961F9 +:1032A0001968154A0A431A605969020A0E40120247 +:1032B00032435A6102229A619A621A680F4900B237 +:1032C0000A401A600822A261002801DA9218A2625C +:1032D000C046C046C046C046186990230822DB0598 +:1032E0009A62000A9218C0B29A6170BDFFFC000099 +:1032F0000004004803FF000000005555FFFFAAAA84 +:1033000070B504000D001048AA21FFF763FC552199 +:103310000E48FFF75FFCA0210B48FFF75BFC29007C +:103320002000FFF757FCA020094B00021978FFF797 +:1033300051FC2000FFF7A0FF0500C0462000FFF76A +:103340009BFF8542F5D170BDAAFA000055F500003B +:103350008804002070B504000D001048AA21FFF772 +:1033600039FC55210E48FFF735FCA0210B48FFF72B +:1033700031FC29002000FFF72DFC802000210002F5 +:10338000FFF728FC2000FFF777FF0500C04620006C +:10339000FFF772FF8542F5D1280070BD55D50000BA +:1033A000AAAA000070B504000D00134E0021308859 +:1033B000FFF710FCAA211148FEF74EFD55211048D9 +:1033C000FEF74AFDA0210D48FEF746FD0D4B308863 +:1033D0001978401880B2FFF7FDFB29002000FEF7A6 +:1033E0003BFD2000FFF748FF0500C0462000FFF727 +:1033F00043FF8542F5D170BD3404002055550000CF +:10340000AA2A00008804002070B50400C0200D0026 +:103410000002052100F044F9AA210D48FFF7DAFB6C +:1034200055210C48FFF7D6FBA0210948FFF7D2FB36 +:1034300029002000FFF7CEFB2000FFF71DFF05004D +:10344000C0462000FFF718FF8542F5D170BDC04689 +:1034500055550000AAAA000070B504000D000D48E3 +:10346000AA21FEF7F9FC55210B48FEF7F5FCA02137 +:103470000848FEF7F1FC29002000FEF7EDFC2000D3 +:10348000FFF7FAFE05002000FFF7F6FE8542F6D1B1 +:10349000280070BD55550000AA2A00009022D205D0 +:1034A000536970B5194C86002340C024A4003440F1 +:1034B00023435361164B174C5D69000A2540FF24D6 +:1034C000264035435D611E68134D00022E431E6089 +:1034D0005E69090226403043586102209861986273 +:1034E00018680E4E30401860186805431D60586912 +:1034F0002040014359610121106808431060916226 +:1035000091611A6816401E6070BDC046FFFC000045 +:103510000004004803FF000000005555FFFFAAAA61 +:10352000F0B585B001932A4B00901C6829482043D0 +:10353000186058690C02C0B220435861022098619B +:1035400098621868244C49B22040902418600820E2 +:10355000E405A061002901DA1021A16265691F4913 +:103560009000C0278C460D400100BF0039400D433C +:103570006561FF2459691A4D20402940084358616C +:10358000C046039590250020ED050294C04666468E +:103590001969009C090A215401326969D2B2940068 +:1035A000314026003E4031436961039E5969013034 +:1035B0003140029EC0B234400C4301995C618842A4 +:1035C000E4D90823AB62DB18AB6105B0F0BDC0469F +:1035D0000004004800005555FFFFAAAAFFFC0000A8 +:1035E00003FF0000F0B585B00193284B284C1D68FF +:1035F00000902C431C6027485C691F2943D8802514 +:1036000029430902E4B22143596102219961996277 +:103610001968214C0840902118608020C9058862F3 +:1036200048699500C026A44620402C00B6003440CE +:103630002043FF2448615869184F2540384005430E +:103640005D61C046002002960394C0461D69009C3F +:103650002D0A255464464D6901322540D2B2029CA0 +:103660009600344025434D61039C5D6926403D40F2 +:103670000130019C2E43C0B25E61A042E5D9802397 +:103680008B6105B0F0BDE4B20902BCE7000400485C +:1036900000005555FFFFAAAAFFFC000003FF000031 +:1036A00070B506000D0005243000013CFFF7E4FD75 +:1036B000E4B229003000FFF78DFA6D08002CF3D139 +:1036C00070BD00008047C046000000000000000000 +:1036D000F0B5474680B4061C081C000C102801D524 +:1036E000162700E004270007000F8046FF20014056 +:1036F0005468251C1D439C43F60313850AD5C04618 +:10370000C046C046C046C046C046C04694801383EB +:10371000958002E0012000F081F801390AD4381CBC +:1037200000F07CF8C046948013839580C046C04664 +:103730007600E2E7381C013800F070F894801383BB +:103740009580042000F06AF8108A184001D0FF200C +:1037500061E0C046C046C046C046C046C0469480F0 +:103760009580108A184055D001200226B04552D0CD +:103770000921168A1E40FCD1012000F04FF89480E8 +:10378000C0469580C04603E0C046C046C046C0461D +:10379000948095807600108A1840EFF300804000F6 +:1037A000C00F0643381C023800F038F8948095802A +:1037B000022000F033F80139EAD513859480012006 +:1037C00000F02CF813839580301C8021022399404F +:1037D0000E401BD1002341085E4149085E41490863 +:1037E0005E4149085E4149085E4149085E41490819 +:1037F0005E4149085E4149085E41760808D34008A9 +:10380000FF21084048400002013004E00E2002E0A1 +:10381000092000E0002080BCB846F0BD0138FDD191 +:103820007047C04603685A0003D45B005B08C018A9 +:103830007047802212061343F9E7C046F0B5574699 +:103840004E46DE464546E0B5814683B092460029A5 +:1038500025D04B1E9B46002701935B46FB18DC0FCF +:10386000E4184B466410E5005E193000FFF7DAFFFC +:10387000019B8046A3420BD0280008304844FFF744 +:10388000D1FFD04506D80138504509D2671CE4E77E +:10389000504505D9A74202D0631E9B46DDE70026AE +:1038A000300003B03CBC90469946A246AB46F0BD02 +:1038B000012809D0022805D0002801D00020704737 +:1038C0000248FCE70248FAE70248F8E7D13F00085F +:1038D000E93F0008DD3F000830B5234B83B0050009 +:1038E0008C1E002B2AD001A9200000E000BF002878 +:1038F00020D001992200FFF7A1FF041E1AD0FFF784 +:1039000091FF6368A864012B10D0201D002B1BDBE6 +:10391000FFF788FF0023E8642B650368002B17DBA3 +:10392000FFF780FF2861002003B030BD0023052091 +:103930002B61F9E7002309202B61F5E70B480C49BF +:10394000091AC9100191D5E70123E8642B65E4E762 +:103950001801000FFFF7ACFF2861002801D10930E2 +:10396000E2E70020E0E7C04600000000D848000879 +:10397000A8490008036810B50400DA0705D49B07BE +:103980000FD5483000F084FC23685A070FD51A077A +:1039900014D5DB0604D42000D130FF3000F084FCC5 +:1039A00010BD483000F070FC23685A07EFD42000A7 +:1039B000D03000F071FC23681A07EAD4200051309F +:1039C000FF3000F06DFC2368E3E7C0460368002B7E +:1039D00000D01B1818007047092070477047C04678 +:1039E00070B504000D0008E02B6C2A006361210013 +:1039F000012023699847082807D1296C2000FFF788 +:103A00006BFF0028F0D000F09FFE0728FBD10020BC +:103A1000296CFFF7E3FF281D00F020FCF0B5CE462F +:103A2000474680B5C368324C9846A5448369060072 +:103A300014000431402205A8994600F08DFE0023B1 +:103A400004AD296C30000493FFF746FF631E9C41D0 +:103A500007000934002F15D0AB6B10216B644B4667 +:103A600021430193C9B20095330032000120C047C1 +:103A7000002833D13800F5239B009D440CBC9046B0 +:103A80009946F0BDF0222B6C5200736129007CA88E +:103A900000F062FE7CAA31003369200098478A9BBF +:103AA00007006B6403934B4600950193320033008B +:103AB00021000120C047002810D1F0227CA952002B +:103AC000280000F049FE082F06D1296C3000FFF7CE +:103AD00003FF09240700BDE7072F01D00927C9E725 +:103AE0000020296CFFF77AFF05A800F0B7FBC0465D +:103AF0002CFCFFFF406C704770B5CB6BFAB00B64C9 +:103B000004000E004022043103A800F025FE01232A +:103B10005B42029306E002AA210023699847050050 +:103B200008280AD1129B200019000193FFF7D4FE48 +:103B30000028F0D009207AB070BD02A8FFF71AFF64 +:103B4000062DF7D131002000FFF74AFF10B5826142 +:103B5000DA6BC1601A6419000022FFF75FFF10BD25 +:103B6000436970B50B64C36804000D00002B04D0DA +:103B70000122FFF753FF00F0E7FD0A00236901006F +:103B800002209847072807D0082803D129002000E1 +:103B9000FFF726FF00F0D8FD0020296CFFF71EFF7D +:103BA000281D00F05BFBC046C36810B5002B05D094 +:103BB000CB6B00220B64FFF731FF10BDFFF79CFFBA +:103BC000FBE7C0467047C046836810B5002B02D0A3 +:103BD00001000120984710BD10B5012907D0002928 +:103BE00007D003390224012901D9200010BD012486 +:103BF000FBE70224002BF8D10F2AF6D89200821896 +:103C00005268029B00241A60EFE7C04600B585B0F9 +:103C100003AB0A00009300210023FFF7DDFF0398A8 +:103C200005B000BD10B5012907D0002907D0033920 +:103C30000224012901D9200010BD0124FBE7022440 +:103C4000002BF8D10F2AF6D8029B92001B6882182D +:103C500053600024EFE7C04600B585B003AB039284 +:103C600000930A0000230021FFF7DCFF05B000BD30 +:103C700070B51A4CD36BA544136406000D0019A847 +:103C8000111D402200F068FD01235B42189314E0EF +:103C90000C2118A802AAFFF7DFFF290018A8B047D7 +:103CA000002812D1069B18AA02A908300193984750 +:103CB000040005280AD0092807D0289B02A819006B +:103CC0000193FFF709FE0028E2D0092418A8FFF7A6 +:103CD00051FE200090239B009D4470BDC0FDFFFF5E +:103CE000F0B5DE464E464546574693460322E0B5BC +:103CF0001E0013008BB003400193CB6C0D001C1D04 +:103D00001B6808940793002E66D11B02079306AB2D +:103D10005E731A73019B022B00D16EE02B6DDB07E3 +:103D200047D40023A846B2460293083303400393C6 +:103D30002568002D00D137E15346022B49D0258854 +:103D4000668804340123370099469F4343469B6CA1 +:103D50000F219C4658466744FFF758FF00228742D0 +:103D600006D82A004B469A43D719B84280414242AE +:103D700002230121760033400D402B43012B3ED01E +:103D8000002B5AD0022B1CD1236801995F007F08B9 +:103D9000002965D1002A06D0039A002A00D188E0C4 +:103DA000002F00D1AAE0002B65DB0137BF00E4192A +:103DB000BEE700230293022E47DDFFF70DFE002829 +:103DC00049D009200BB03CBC90469946A246AB4670 +:103DD000F0BD66680834B5E7022E9BDC1A0C1B04A4 +:103DE0000793022306A90B73FD3313409B00E418CD +:103DF000019B4A73022B00D090E7AC6B8EE7019BCE +:103E0000002B3AD1002A16D02368DD0F63689A1C74 +:103E1000D7D0424658320692013300D1C6E0201D69 +:103E2000FFF7D4FD06AB01002A00404600E000BFCA +:103E3000002800D0A7E008347AE7019B002B02D0CD +:103E4000002A00D08BE0043472E707A9584600F03E +:103E5000D1FA0028B5D1029B002B5DD10820B1E733 +:103E600043460D2158461D6AFFF7D0FE854263D0B8 +:103E70002368002B99DA043497E743460D2158460E +:103E80001D6AFFF7C3FE8542D5D143469B6A9C421B +:103E9000D1D145462000FFF7C5FC0F21020058464E +:103EA000FFF7DAFE58462A000021FFF7D5FE07206B +:103EB00088E7002F22D058235146434406AABA4629 +:103EC000251D0026049405911F00914603E004354A +:103ED0002600A24514D028000697FFF777FD4B4631 +:103EE000010000224046741C00E000BF0028EED014 +:103EF0005746059B049C9A46B742B9D1454601E016 +:103F00004546049C0D215846FFF780FE069B28621B +:103F10006B62AC62062055E70F215846FFF776FE2C +:103F20000E2102005846FFF797FE5846274A0F21F8 +:103F3000FFF792FE072045E743469B6A9C4297D1D4 +:103F4000434642469F620023D36204331363231D1A +:103F500053632368002B32DB0123029325E7200003 +:103F6000FFF760FC454604340600AC63404600E0C1 +:103F700000BF002800D124E7584632000F21FFF788 +:103F80006BFE07201EE707000D2158464546FFF748 +:103F90003DFE2862022F0FD1069BEB6243462C3375 +:103FA0006B62AC6206200DE7564604E70D215846C9 +:103FB0004546FFF72BFE2862069B6B62F1E738004F +:103FC000013080004546201865E7C046000000002B +:103FD00010B50023FFF784FE10BDC04610B50123C5 +:103FE000FFF77EFE10BDC04610B50223FFF778FE36 +:103FF00010BDC046F0B5CE46474680B50600C3B0FA +:1040000014001D0001294ED0002933D003290AD005 +:10401000042902D1002B00D189E0022043B00CBC5E +:1040200090469946F0BD032BF7D11404150C240CCF +:104030002B19102BF1D8082203681A4200D0E7E0B0 +:1040400020AB1800984600F02DF9B36BED001A0074 +:10405000002C09D0E400EA1A1C1942441968D15016 +:1040600004339C42FAD12200B263404600F018F9B2 +:104070000020D3E70220002BD0D100230127100419 +:10408000B56B000C321D39009940084202D02968F6 +:104090000435116001330432102BF4D10020A30445 +:1040A000BCD4B563BAE71404170C240C012B5FD001 +:1040B000052BB2D13B19202BAFD80F2F7DD9A146AC +:1040C000002C65D1002223009146B16B002B00DC4F +:1040D00088E020A88046FA00DB00521ACB18424440 +:1040E0000868505004318B42FAD119004B46002B1E +:1040F00010D04B4658003A00102F00D21022002357 +:10410000103AD2006A448000CC58D4500433834221 +:10411000FAD1C918012D5ED0B1630F2F74D94B4667 +:10412000002BA5D0684600F0B7F8002076E7102AEB +:1041300000D972E7102203681A4245D120AB18005B +:10414000984600F0B3F800230120B16B02009A40BA +:10415000144204D045460F689A00AF500431013331 +:10416000042BF3D14046B16300F09EF8002055E7E0 +:104170003B19102B00D950E70F2F00D94DE7002332 +:104180009946012233681A4230D14B46002B5AD04F +:10419000042233681A4242D1012D47D00F2F06D88E +:1041A00020AB180000F076F84B46002B8AD068460A +:1041B00000F074F81023DB1B87E7102BDFD91022E7 +:1041C000524291469944DCE793430360D130FF307B +:1041D00000F06CF8B2E7043120A8B16300F054F8A5 +:1041E00000201BE74B46002B84D193E71900914335 +:1041F0000A003160052D1ED0032230009343336046 +:10420000483000F043F8C0E720A800F041F886E706 +:10421000934303605130FF3000F044F810E7300062 +:1042200093433360D03000F039F8B5E720AB180085 +:1042300000F02CF8BEE7022330001A433260483009 +:1042400000F028F8A1E7012D03D00F2F00D939E79E +:10425000A6E720AB180000F019F833E7011C343151 +:1042600038C9043B9C461D60A646011C20313CC950 +:1042700090469946A246AB46011C0831FCC94168EC +:104280000068E54600BDC0467047C0467047C0465E +:104290007047C0467047C0467047C0467047C0462A +:1042A0007047C0467047C0467047C0467047C0461A +:1042B00001B401A801B585B0FFB408A841464A463B +:1042C00053465C4665463EC001A83EC80F98009024 +:1042D00000230CB401A9FFF70FFC109B12B0184784 +:1042E00001B401A801B585B0FFB408A841464A460B +:1042F00053465C4665463EC001A83EC80F980090F4 +:1043000000230CB401A9FFF72BFC109B12B0184737 +:1043100001B401A801B585B0FFB408A841464A46DA +:1043200053465C4665463EC001A83EC80F980090C3 +:1043300000230CB401A9FFF737FC109B12B01847FB +:1043400001B401A801B585B0FFB408A841464A46AA +:1043500053465C4665463EC001A83EC80F98009093 +:1043600000230CB401ABFFF7F1FB109B12B0184710 +:1043700001B401A801B585B0FFB408A841464A467A +:1043800053465C4665463EC001A83EC80F98009063 +:1043900000230CB401AAFFF76BFC109B12B0184766 +:1043A000027A0300002A04D1427AB020002A07D101 +:1043B0007047013A02720268100E12021A60F7E7A3 +:1043C000013A5A725A68111D596003211268197214 +:1043D000F2E7C04600B585B003AB00930C22002382 +:1043E0000021FFF7F9FB039805B000BD10B5FFF7FA +:1043F000F1FF10BDF0B557464E464546DE46002358 +:10440000E0B587B003930F339846083B9946802365 +:104410001B0306000F009A463800FFF7C1FF040097 +:10442000B02821D0030632D4FF2583001D4005AB00 +:104430009B4600930D220023002130000435FFF736 +:10444000CBFB63064CD5059B5D1B05955B46009336 +:1044500000230D2200213000FFF7E4FB3800FFF7B6 +:104460009FFF0400B028DDD1039B0024002B2FD137 +:1044700005AD00950E2200213000FFF7ADFB009541 +:1044800000230F2200213000FFF7CCFB20E00300C7 +:1044900042469343DBB2802B63D0902B25D0A02BD8 +:1044A00032D0B02B45D0C02B00D173E003004A4678 +:1044B0009343DBB2D02B0AD15346024001321A4358 +:1044C000052301213000FFF795FD0028A4D0092421 +:1044D000200007B03CBC90469946A246AB46F0BDD2 +:1044E000059B9C4665440595B0E7833B03400D2B37 +:1044F000EDD0424605AD024000950023002130007A +:10450000FFF76AFB0095A3E7FF234A461B0119004A +:10451000824311410A001A40030702D58023DB01C0 +:104520001A43002300213000FFF764FD0028CED19C +:1045300072E7B1284AD0B2285ED0B32800D18BE010 +:10454000FC230340B42BC2D04A46534602400132FA +:104550001A43012101233000FFF74CFD0028B6D19A +:104560005AE704023800FFF71BFF802520432D0285 +:10457000A842ACD004010005020C00230021300049 +:10458000FFF738FD0028A2D12C4200D144E70123D7 +:10459000039341E7C6286AD0C7287CD003004A4667 +:1045A0009343DBB2C02B00D18BE0C82800D18FE051 +:1045B000C92800D08BE73800FFF7F2FEF023020392 +:1045C0001B03134042460240013278E73800FFF7F0 +:1045D000E7FE002800D17AE7030042469343DBB2AE +:1045E000002B00D073E7020000213000FFF702FD2E +:1045F000002800D06BE70FE705AB00939B460D2228 +:10460000002300213000FFF7E7FA3800FFF7C8FE6B +:1046100003066AD57F25B03C059B2840A0409C46F8 +:104620006044059038000734FFF7BAFE0306F3D460 +:10463000812292009446863AFF3A1040A040059BA2 +:10464000723A634418185B460590009300210023DA +:104650003000FFF7E7FADFE63800FFF7A1FEF023AE +:1046600002031B03134042460240013270E7380048 +:10467000FFF796FEF02302031B031340424602405D +:1046800001321A43032303213000FFF7B3FC002853 +:1046900000D01CE7C0E63800FFF782FE002800D1FA +:1046A00015E7030042469343DBB2002B00D00EE730 +:1046B000020004213000FFF79DFC002800D006E72F +:1046C000AAE64346A0221C40013412032243D9E744 +:1046D0003800FFF765FE434602009A43D2B210321B +:1046E0001840120301300243EAE60224A0E7C04664 +:1046F000030000B5DB6C85B05A6808001202019215 +:104700001A0001A908324A6003220A72DB794B724F +:10471000FFF770FE05B000BD10B5FFF767FE806CB7 +:1047200010BDC04610B5FFF761FEC26CD3799B0087 +:104730000833D01810BDC04610B500F005F8C046CB +:1047400010B5FFF7F9FFC04610B5062000F074F869 +:10475000012000F0A3F8C046F0B505000F2A2FD9BC +:104760000B0003439B0734D116000C000300103EDE +:10477000350901352D01451927681F6067685F609D +:10478000A7689F60E7681034DF6010339D42F3D163 +:104790000F239E431036851989191340032B1AD90C +:1047A0001E1F0023B4080134A400CF58EF50043377 +:1047B000A342FAD10324A643331D2240C918ED18A1 +:1047C000002A05D00023CC5CEC5401339342FAD18B +:1047D000F0BD0500F6E71A00F2E7C04670B5050027 +:1047E0000C001F2922D8B7239B00C358002B14D0DC +:1047F0008A009B181A68002A0FD0012A0BD0511C7E +:1048000005D00021200019609047002070BD1623BC +:1048100003600120FAE70020F8E7280000F02AF8FA +:1048200022000100280000F011F8EFE716230360D2 +:1048300001204042EAE7C04610B5034B010018686A +:10484000FFF7CCFF10BDC04600000020002370B56C +:10485000074C050008001100236000F017F8431C06 +:1048600000D070BD2368002BFBD02B60F9E7C04659 +:104870000407002010B500F001F810BD58220120F7 +:10488000014B40421A607047040700205822012063 +:10489000014B40421A60704704070020FEE7C04603 +:0848A000F8B5C046F8B5C046AA +:1048A80074B20181B0AB308000000000800A018141 +:1048B800B0B0ABF0000000003F020181B0AB308027 +:1048C8000000000080060181B0B0ABF000000000DD +:1048D800ECEDFF7FB0B0B08044EFFF7F0100000037 +:1048E800F0EFFF7FB0A9028084F0FF7FB0B0A8800E +:1048F800D4F0FF7F01000000E0F0FF7FB0B0AA8095 +:1049080014F1FF7F9CFFFF7FE4F1FF7F01000000AF +:10491800E0F1FF7FAA3F39802CF2FF7FB0B0A8807A +:1049280038F2FF7FB0B0AA8078F2FF7FB0B0A880DD +:104938008CF2FF7F0100000088F2FF7FB0B0A880F2 +:1049480090F2FF7F0100000020F3FF7FAA0FB280E2 +:1049580088F3FF7F58FFFF7F70F6FF7FB0B0A88015 +:104968008CF6FF7F54FFFF7FECF8FF7F010000000B +:104978005CFAFF7F008404806CFAFF7FB0B0A880E7 +:104988006CFAFF7F40FFFF7F60FDFF7F008404809B +:1049980080FDFF7FB0B0A88098FDFF7F0100000078 +:1049A800080000200000000000000000F4020020C1 +:1049B8005C030020C4030020000000000000000089 +:1049C80000000000000000000000000000000000DF +:1049D80000000000000000000000000000000000CF +:1049E80000000000000000000000000000000000BF +:1049F80000000000000000000000000000000000AF +:104A0800000000000000000000000000000000009E +:104A1800000000000000000000000000000000008E +:104A2800000000000000000000000000000000007E +:104A3800000000000000000000000000000000006E +:104A4800000000000000000000000000000000005E +:104A580001000000000000000E33CDAB34126DE6FB +:104A6800ECDE05000B000000000000000000000064 +:104A7800000000000000000000000000000000002E +:104A8800000000000000000000000000000000001E +:104A9800000000000000000000000000000000000E +:104AA80000000000000000000000000000000000FE +:104AB80000000000000000000000000000000000EE +:104AC80000000000000000000000000000000000DE +:104AD80000000000000000000000000000000000CE +:104AE80000000000000000000000000000000000BE +:104AF80000000000000000000000000000000000AE +:104B0800000000000000000000000000000000009D +:104B1800000000000000000000000000000000008D +:104B2800000000000000000000000000000000007D +:104B3800000000000000000000000000000000006D +:104B4800000000000000000000000000000000005D +:104B5800000000000000000000000000000000004D +:104B6800000000000000000000000000000000003D +:104B7800000000000000000000000000000000002D +:104B8800000000000000000000000000000000001D +:104B9800000000000000000000000000000000000D +:104BA80000000000000000000000000000000000FD +:104BB80000000000000000000000000000000000ED +:104BC80000000000000000000000000000000000DD +:104BD80000000000000000000000000000000000CD +:104BE80000000000000000000000000000000000BD +:104BF80000000000000000000000000000000000AD +:104C0800000000000000000000000000000000009C +:104C1800000000000000000000000000000000008C +:104C2800000000000000000000000000000000007C +:104C3800000000000000000000000000000000006C +:104C4800000000000000000000000000000000005C +:104C5800000000000000000000000000000000004C +:104C6800000000000000000000000000000000003C +:104C7800000000000000000000000000000000002C +:104C8800000000000000000000000000000000001C +:104C9800000000000000000000000000000000000C +:104CA80000000000000000000000000000000000FC +:104CB80000000000000000000000000000000000EC +:104CC80000000000000000000000000000000000DC +:104CD80000000000000000000000000000000000CC +:104CE80000000000000000000000000000000000BC +:104CF80000000000000000000000000000000000AC +:104D0800000000000000000000000000000000009B +:104D1800000000000000000000000000000000008B +:104D2800000000000000000000000000000000007B +:104D3800000000000000000000000000000000006B +:104D4800000000000000000000000000000000005B +:104D5800000000000000000000000000000000004B +:104D6800000000000000000000000000000000003B +:104D7800000000000000000000000000000000002B +:104D8800000000000000000000000000000000001B +:104D9800000000000000000000000000000000000B +:104DA80000000000000000000000000000000000FB +:104DB80000000000000000000000000000000000EB +:104DC80000000000000000000000000000000000DB +:0400000508000801E6 +:00000001FF diff --git a/firmware/build_stm/inlretro_stm.map b/firmware/build_stmn/inlretro_stm.map similarity index 70% rename from firmware/build_stm/inlretro_stm.map rename to firmware/build_stmn/inlretro_stm.map index 82bb0fb..04b7ed3 100644 --- a/firmware/build_stm/inlretro_stm.map +++ b/firmware/build_stmn/inlretro_stm.map @@ -1,7 +1,7 @@ Archive member included to satisfy reference by file (symbol) c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o) - C:\Users\paul\AppData\Local\Temp\cci1eGxe.o (__aeabi_unwind_cpp_pr0) + C:\Users\paul\AppData\Local\Temp\ccMZoj0e.o (__aeabi_unwind_cpp_pr0) c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(libunwind.o) c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o) (restore_core_regs) c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(pr-support.o) @@ -49,21 +49,29 @@ c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/ c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(_exit.o) c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) (_exit) c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_uqi.o) - C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o (__gnu_thumb1_case_uqi) -c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_shi.o) - C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o (__gnu_thumb1_case_shi) + C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans0.ltrans.o (__gnu_thumb1_case_uqi) c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_uhi.o) - C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o (__gnu_thumb1_case_uhi) + C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans0.ltrans.o (__gnu_thumb1_case_uhi) Allocating common symbols Common symbol size file +exp_byte 0x1 source/buffer.o (symbol from plugin) +exp_byte_temp 0x1 source/buffer.o (symbol from plugin) +tdo_pin 0x1 source/jtag.o (symbol from plugin) errno 0x4 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o) +tck_base 0x4 source/jtag.o (symbol from plugin) +tck_pin 0x1 source/jtag.o (symbol from plugin) addrh 0x4 source/bootload.o (symbol from plugin) pbje_cmd_update_flag 0x1 source/jtag.o (symbol from plugin) +tms_pin 0x1 source/jtag.o (symbol from plugin) +tdi_base 0x4 source/jtag.o (symbol from plugin) +tdo_base 0x4 source/jtag.o (symbol from plugin) +tdi_pin 0x1 source/jtag.o (symbol from plugin) raw_bank_status 0x10 source/buffer.o (symbol from plugin) raw_buffer16 0x200 source/buffer.o (symbol from plugin) +tms_base 0x4 source/jtag.o (symbol from plugin) Discarded input sections @@ -86,23 +94,26 @@ Discarded input sections .ARM.exidx 0x00000000 0x8 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o .ARM.attributes 0x00000000 0x1b c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o - .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccA7U3xu.o - .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccA7U3xu.o + .text 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccst3R5x.o + .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccst3R5x.o + .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccst3R5x.o .text 0x00000000 0x0 source/bootload.o (symbol from plugin) - .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o - .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o + .text 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans0.ltrans.o + .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans0.ltrans.o + .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans0.ltrans.o .rodata.oper_info - 0x00000000 0x4 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o + 0x00000000 0x4 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans0.ltrans.o + .text 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans1.ltrans.o + .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans1.ltrans.o + .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans1.ltrans.o + .text 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans2.ltrans.o + .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans2.ltrans.o + .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans2.ltrans.o + .text 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans3.ltrans.o + .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans3.ltrans.o + .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans3.ltrans.o .rodata.usb_buff - 0x00000000 0x4 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o - .text 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o - .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o - .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o - .text 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o - .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o - .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o - .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o - .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o + 0x00000000 0x4 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans3.ltrans.o .text 0x00000000 0x0 source/buffer.o (symbol from plugin) .text 0x00000000 0x0 source/ciccom.o (symbol from plugin) .text 0x00000000 0x0 source/dump.o (symbol from plugin) @@ -120,14 +131,16 @@ Discarded input sections .text 0x00000000 0x0 source/snes.o (symbol from plugin) .text 0x00000000 0x0 source/swim.o (symbol from plugin) .text 0x00000000 0x0 source/usb.o (symbol from plugin) + .text 0x00000000 0x0 source_stm_only/fwupdate.o (symbol from plugin) + .text 0x00000000 0x0 source_stm_only/hardfault.o (symbol from plugin) .text 0x00000000 0x0 source_stm_only/stm_init.o (symbol from plugin) .text 0x00000000 0x0 source_stm_only/usbstm.o (symbol from plugin) - .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cci1eGxe.o - .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cci1eGxe.o - .ARM.extab 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cci1eGxe.o - .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccUzNUgX.o - .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccUzNUgX.o - .ARM.extab 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccUzNUgX.o + .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccMZoj0e.o + .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccMZoj0e.o + .ARM.extab 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccMZoj0e.o + .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccScmBUX.o + .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccScmBUX.o + .ARM.extab 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccScmBUX.o .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o) .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o) .debug_frame 0x00000000 0x2c4 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o) @@ -347,8 +360,6 @@ Discarded input sections 0x00000000 0x1e c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtn.o .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_uqi.o) .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_uqi.o) - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_shi.o) - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_shi.o) .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_uhi.o) .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_uhi.o) @@ -364,12 +375,12 @@ Linker script and memory map LOAD c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crti.o LOAD c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtbegin.o LOAD c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o -LOAD C:\Users\paul\AppData\Local\Temp\ccA7U3xu.o +LOAD C:\Users\paul\AppData\Local\Temp\ccst3R5x.o LOAD source/bootload.o -LOAD C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o -LOAD C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o -LOAD C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o -LOAD C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o +LOAD C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans0.ltrans.o +LOAD C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans1.ltrans.o +LOAD C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans2.ltrans.o +LOAD C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans3.ltrans.o LOAD source/buffer.o LOAD source/ciccom.o LOAD source/dump.o @@ -387,10 +398,12 @@ LOAD source/sega.o LOAD source/snes.o LOAD source/swim.o LOAD source/usb.o +LOAD source_stm_only/fwupdate.o +LOAD source_stm_only/hardfault.o LOAD source_stm_only/stm_init.o LOAD source_stm_only/usbstm.o -LOAD C:\Users\paul\AppData\Local\Temp\cci1eGxe.o -LOAD C:\Users\paul\AppData\Local\Temp\ccUzNUgX.o +LOAD C:\Users\paul\AppData\Local\Temp\ccMZoj0e.o +LOAD C:\Users\paul\AppData\Local\Temp\ccScmBUX.o START GROUP LOAD c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a LOAD c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a @@ -404,260 +417,268 @@ END GROUP LOAD c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtend.o LOAD c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtn.o -.text 0x08000000 0x4c6c +.text 0x08000000 0x48a8 *(.isr_vector) - .isr_vector 0x08000000 0xc0 C:\Users\paul\AppData\Local\Temp\ccA7U3xu.o + .isr_vector 0x08000000 0xc0 C:\Users\paul\AppData\Local\Temp\ccst3R5x.o 0x08000000 __isr_vector + *(.usb_driver) + .usb_driver 0x080000c0 0x3bc C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans3.ltrans.o + 0x08000198 USB_IRQHandler + *(.usb_desc) + .usb_desc 0x0800047c 0xb8 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans3.ltrans.o + *(.hardfault) + .hardfault 0x08000534 0x2 C:\Users\paul\AppData\Local\Temp\ccst3R5x.o + 0x08000534 TIM1_CC_IRQHandler + 0x08000534 TSC_IRQHandler + 0x08000534 ADC1_COMP_IRQHandler + 0x08000534 SysTick_Handler + 0x08000534 PendSV_Handler + 0x08000534 NMI_Handler + 0x08000534 I2C1_IRQHandler + 0x08000534 RCC_CRS_IRQHandler + 0x08000534 SPI1_IRQHandler + 0x08000534 TIM6_DAC_IRQHandler + 0x08000534 USART3_4_IRQHandler + 0x08000534 EXTI2_3_IRQHandler + 0x08000534 I2C2_IRQHandler + 0x08000534 TIM17_IRQHandler + 0x08000534 CEC_CAN_IRQHandler + 0x08000534 PVD_VDDIO2_IRQHandler + 0x08000534 DMA1_Channel4_5_6_7_IRQHandler + 0x08000534 TIM16_IRQHandler + 0x08000534 TIM3_IRQHandler + 0x08000534 EXTI4_15_IRQHandler + 0x08000534 DMA1_Channel1_IRQHandler + 0x08000534 Default_Handler + 0x08000534 TIM14_IRQHandler + 0x08000534 TIM7_IRQHandler + 0x08000534 TIM15_IRQHandler + 0x08000534 EXTI0_1_IRQHandler + 0x08000534 SPI2_IRQHandler + 0x08000534 SVC_Handler + 0x08000534 RTC_IRQHand + 0x08000534 WWDG_IRQHandler + 0x08000534 TIM2_IRQHandler + 0x08000534 DEF_IRQHandler + 0x08000534 DMA1_Channel2_3_IRQHandler + 0x08000534 USART2_IRQHandler + 0x08000534 FLASH_IRQHandler + 0x08000534 USART1_IRQHandler + 0x08000534 TIM1_BRK_UP_TRG_COM_IRQHandler + *fill* 0x08000536 0x2 + .hardfault 0x08000538 0xc C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans3.ltrans.o + 0x08000538 HardFault_Handler + *_thumb1_case_uqi.o() + .text 0x08000544 0x14 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_uqi.o) + 0x08000544 __gnu_thumb1_case_uqi + .ARM.attributes + 0x08000558 0x1e c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_uqi.o) + *_thumb1_case_shi.o() + *_thumb1_case_uhi.o() + *fill* 0x08000576 0x2 + .text 0x08000578 0x14 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_uhi.o) + 0x08000578 __gnu_thumb1_case_uhi + .ARM.attributes + 0x0800058c 0x1e c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_uhi.o) + *(.fw_update) + *fill* 0x080005aa 0x2 + .fw_update 0x080005ac 0x160 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans3.ltrans.o + 0x00000780 . = 0x780 + *fill* 0x0800070c 0x74 + *(.fw_up_main) + .fw_up_main 0x08000780 0x60 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans3.ltrans.o + 0x08000780 fwupdate_forever + 0x00000800 . = 0x800 + *fill* 0x080007e0 0x20 + *(.reset_handler) + .reset_handler + 0x08000800 0x3c C:\Users\paul\AppData\Local\Temp\ccst3R5x.o + 0x08000800 Reset_Handler + *(.usbFuncWrite) + .usbFuncWrite 0x0800083c 0x48 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans3.ltrans.o + 0x0800083c usbFunctionWrite + *(.usbFuncSetup) + .usbFuncSetup 0x08000884 0x13d8 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans0.ltrans.o + 0x08000884 usbFunctionSetup *(.text*) - .text 0x080000c0 0x40 C:\Users\paul\AppData\Local\Temp\ccA7U3xu.o - 0x080000c0 Reset_Handler - 0x080000fc TSC_IRQHandler - 0x080000fc ADC1_COMP_IRQHandler - 0x080000fc SysTick_Handler - 0x080000fc PendSV_Handler - 0x080000fc NMI_Handler - 0x080000fc I2C1_IRQHandler - 0x080000fc RCC_CRS_IRQHandler - 0x080000fc SPI1_IRQHandler - 0x080000fc TIM6_DAC_IRQHandler - 0x080000fc USART3_4_IRQHandler - 0x080000fc EXTI2_3_IRQHandler - 0x080000fc I2C2_IRQHandler - 0x080000fc TIM17_IRQHandler - 0x080000fc CEC_CAN_IRQHandler - 0x080000fc PVD_VDDIO2_IRQHandler - 0x080000fc TIM1_CC_IRQHandler - 0x080000fc DMA1_Channel4_5_6_7_IRQHandler - 0x080000fc TIM16_IRQHandler - 0x080000fc TIM3_IRQHandler - 0x080000fc EXTI4_15_IRQHandler - 0x080000fc DMA1_Channel1_IRQHandler - 0x080000fc Default_Handler - 0x080000fc TIM14_IRQHandler - 0x080000fc TIM7_IRQHandler - 0x080000fc TIM15_IRQHandler - 0x080000fc EXTI0_1_IRQHandler - 0x080000fc SPI2_IRQHandler - 0x080000fc SVC_Handler - 0x080000fc RTC_IRQHand - 0x080000fc WWDG_IRQHandler - 0x080000fc TIM2_IRQHandler - 0x080000fc DEF_IRQHandler - 0x080000fc DMA1_Channel2_3_IRQHandler - 0x080000fc USART2_IRQHandler - 0x080000fc FLASH_IRQHandler - 0x080000fc USART1_IRQHandler - 0x080000fc TIM1_BRK_UP_TRG_COM_IRQHandler - .text 0x08000100 0x17f0 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o - 0x08000100 usbFunctionSetup .text.pbje_scan - 0x080018f0 0x12c C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o + 0x08001c5c 0xb0 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans1.ltrans.o .text.pbje_state_change - 0x08001a1c 0x98 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o + 0x08001d0c 0x5c C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans1.ltrans.o + .text.write_page_verify + 0x08001d68 0x68 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans1.ltrans.o .text.write_page - 0x08001ab4 0x34 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o + 0x08001dd0 0x34 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans1.ltrans.o .text.get_next_buff - 0x08001ae8 0x54 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o + 0x08001e04 0x54 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans1.ltrans.o .text.discrete_exp0_prgrom_wr - 0x08001b3c 0x58 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o - 0x08001b3c discrete_exp0_prgrom_wr + 0x08001e58 0x8c C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans1.ltrans.o + 0x08001e58 discrete_exp0_prgrom_wr .text.jtag_init_pbje - 0x08001b94 0xe0 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o - 0x08001b94 jtag_init_pbje + 0x08001ee4 0x44 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans1.ltrans.o + 0x08001ee4 jtag_init_pbje .text.jtag_run_pbje.part.0 - 0x08001c74 0xd8 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o - 0x08001c74 jtag_run_pbje.part.0 + 0x08001f28 0xd8 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans1.ltrans.o + 0x08001f28 jtag_run_pbje.part.0 .text.io_reset - 0x08001d4c 0x154 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o - 0x08001d4c io_reset + 0x08002000 0x1b0 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans1.ltrans.o + 0x08002000 io_reset .text.startup.main - 0x08001ea0 0xb00 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o - 0x08001ea0 main + 0x080021b0 0xa04 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans1.ltrans.o + 0x080021b0 main .text.append_pairity - 0x080029a0 0x1e C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o - *fill* 0x080029be 0x2 - .text.snes_wr 0x080029c0 0x60 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o - 0x080029c0 snes_wr - .text.snes_rd 0x08002a20 0x48 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o - 0x08002a20 snes_rd - .text.snes_3v_flash_wr - 0x08002a68 0x50 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o - 0x08002a68 snes_3v_flash_wr - .text.snes_5v_flash_wr - 0x08002ab8 0x50 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o - 0x08002ab8 snes_5v_flash_wr + 0x08002bb4 0x1e C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans2.ltrans.o + *fill* 0x08002bd2 0x2 .text.nes_cpu_wr - 0x08002b08 0x6c C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o - 0x08002b08 nes_cpu_wr + 0x08002bd4 0xa8 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans2.ltrans.o + 0x08002bd4 nes_cpu_wr .text.swim_wotf - 0x08002b74 0xb4 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o - 0x08002b74 swim_wotf + 0x08002c7c 0xb4 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans2.ltrans.o + 0x08002c7c swim_wotf .text.swim_rotf - 0x08002c28 0xac C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o - 0x08002c28 swim_rotf + 0x08002d30 0xac C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans2.ltrans.o + 0x08002d30 swim_rotf .text.delay_us - 0x08002cd4 0x16 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o - 0x08002cd4 delay_us - *fill* 0x08002cea 0x2 + 0x08002ddc 0x16 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans2.ltrans.o + 0x08002ddc delay_us + *fill* 0x08002df2 0x2 .text.nes_dualport_wr - 0x08002cec 0x50 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o - 0x08002cec nes_dualport_wr + 0x08002df4 0x8c C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans2.ltrans.o + 0x08002df4 nes_dualport_wr .text.nes_dualport_rd - 0x08002d3c 0x38 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o - 0x08002d3c nes_dualport_rd + 0x08002e80 0x80 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans2.ltrans.o + 0x08002e80 nes_dualport_rd .text.nes_ppu_wr - 0x08002d74 0x50 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o - 0x08002d74 nes_ppu_wr + 0x08002f00 0x90 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans2.ltrans.o + 0x08002f00 nes_ppu_wr .text.nes_ppu_rd - 0x08002dc4 0x38 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o - 0x08002dc4 nes_ppu_rd + 0x08002f90 0x84 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans2.ltrans.o + 0x08002f90 nes_ppu_rd .text.cdream_chrrom_flash_wr - 0x08002dfc 0x88 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o - 0x08002dfc cdream_chrrom_flash_wr + 0x08003014 0x88 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans2.ltrans.o + 0x08003014 cdream_chrrom_flash_wr .text.mmc4_chrrom_flash_wr - 0x08002e84 0x74 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o - 0x08002e84 mmc4_chrrom_flash_wr + 0x0800309c 0x74 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans2.ltrans.o + 0x0800309c mmc4_chrrom_flash_wr .text.mmc3_chrrom_flash_wr - 0x08002ef8 0x44 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o - 0x08002ef8 mmc3_chrrom_flash_wr + 0x08003110 0x44 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans2.ltrans.o + 0x08003110 mmc3_chrrom_flash_wr .text.cnrom_chrrom_flash_wr - 0x08002f3c 0x80 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o - 0x08002f3c cnrom_chrrom_flash_wr + 0x08003154 0x80 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans2.ltrans.o + 0x08003154 cnrom_chrrom_flash_wr .text.mmc1_chrrom_flash_wr - 0x08002fbc 0x60 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o - 0x08002fbc mmc1_chrrom_flash_wr + 0x080031d4 0x60 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans2.ltrans.o + 0x080031d4 mmc1_chrrom_flash_wr .text.nrom_chrrom_flash_wr - 0x0800301c 0x44 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o - 0x0800301c nrom_chrrom_flash_wr + 0x08003234 0x44 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans2.ltrans.o + 0x08003234 nrom_chrrom_flash_wr .text.nes_cpu_rd - 0x08003060 0x40 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o - 0x08003060 nes_cpu_rd + 0x08003278 0x88 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans2.ltrans.o + 0x08003278 nes_cpu_rd .text.mmc4_prgrom_sop_flash_wr - 0x080030a0 0x54 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o - 0x080030a0 mmc4_prgrom_sop_flash_wr + 0x08003300 0x54 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans2.ltrans.o + 0x08003300 mmc4_prgrom_sop_flash_wr .text.mmc3_prgrom_flash_wr - 0x080030f4 0x50 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o - 0x080030f4 mmc3_prgrom_flash_wr + 0x08003354 0x50 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans2.ltrans.o + 0x08003354 mmc3_prgrom_flash_wr .text.unrom_prgrom_flash_wr - 0x08003144 0x64 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o - 0x08003144 unrom_prgrom_flash_wr + 0x080033a4 0x64 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans2.ltrans.o + 0x080033a4 unrom_prgrom_flash_wr .text.mmc1_prgrom_flash_wr - 0x080031a8 0x50 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o - 0x080031a8 mmc1_prgrom_flash_wr + 0x08003408 0x50 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans2.ltrans.o + 0x08003408 mmc1_prgrom_flash_wr .text.nrom_prgrom_flash_wr - 0x080031f8 0x44 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o - 0x080031f8 nrom_prgrom_flash_wr + 0x08003458 0x44 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans2.ltrans.o + 0x08003458 nrom_prgrom_flash_wr .text.disc_push_exp0_prgrom_wr - 0x0800323c 0x48 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o - 0x0800323c disc_push_exp0_prgrom_wr - .text 0x08003284 0x48 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o - 0x08003284 usbFunctionWrite - .text.control_xfr_in - 0x080032cc 0xd8 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o - .text.write_page_snes.constprop.31 - 0x080033a4 0x194 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o - 0x080033a4 write_page_snes.constprop.31 - .text.snes_page_rd_poll.constprop.22 - 0x08003538 0x7c C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o - 0x08003538 snes_page_rd_poll.constprop.22 - .text.nes_cpu_page_rd_poll.constprop.21 - 0x080035b4 0x6c C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o - 0x080035b4 nes_cpu_page_rd_poll.constprop.21 - .text.nes_ppu_page_rd_poll.constprop.19 - 0x08003620 0x68 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o - 0x08003620 nes_ppu_page_rd_poll.constprop.19 - .text.mmc1_wr.constprop.10 - 0x08003688 0x22 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o - 0x08003688 mmc1_wr.constprop.10 - *fill* 0x080036aa 0x2 - .text.USB_IRQHandler - 0x080036ac 0x2ec C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o - 0x080036ac USB_IRQHandler - .text.HardFault_Handler - 0x08003998 0x2 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o - 0x08003998 HardFault_Handler - *fill* 0x0800399a 0x2 - .text 0x0800399c 0x4 C:\Users\paul\AppData\Local\Temp\cci1eGxe.o - 0x0800399c jump2addr - .text 0x080039a0 0x154 C:\Users\paul\AppData\Local\Temp\ccUzNUgX.o - 0x080039a0 swim_xfr - .text 0x08003af4 0xa38 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o) - 0x08003dc4 _Unwind_GetCFA - 0x08003dc8 __gnu_Unwind_RaiseException - 0x08003e1c __gnu_Unwind_ForcedUnwind - 0x08003e30 __gnu_Unwind_Resume - 0x08003e78 __gnu_Unwind_Resume_or_Rethrow - 0x08003e94 _Unwind_Complete - 0x08003e98 _Unwind_DeleteException - 0x08003ea8 _Unwind_VRS_Get - 0x08003ef4 _Unwind_VRS_Set - 0x08003f40 __gnu_Unwind_Backtrace - 0x080042a0 __aeabi_unwind_cpp_pr0 - 0x080042ac __aeabi_unwind_cpp_pr1 - 0x080042b8 __aeabi_unwind_cpp_pr2 - 0x080042c4 _Unwind_VRS_Pop - .text 0x0800452c 0x144 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(libunwind.o) - 0x0800452c __restore_core_regs - 0x0800452c restore_core_regs - 0x08004558 __gnu_Unwind_Restore_VFP - 0x0800455c __gnu_Unwind_Save_VFP - 0x08004560 __gnu_Unwind_Restore_VFP_D - 0x08004564 __gnu_Unwind_Save_VFP_D - 0x08004568 __gnu_Unwind_Restore_VFP_D_16_to_31 - 0x0800456c __gnu_Unwind_Save_VFP_D_16_to_31 - 0x08004570 __gnu_Unwind_Restore_WMMXD - 0x08004574 __gnu_Unwind_Save_WMMXD - 0x08004578 __gnu_Unwind_Restore_WMMXC - 0x0800457c __gnu_Unwind_Save_WMMXC - 0x08004580 ___Unwind_RaiseException - 0x08004580 _Unwind_RaiseException - 0x080045b0 _Unwind_Resume - 0x080045b0 ___Unwind_Resume - 0x080045e0 _Unwind_Resume_or_Rethrow - 0x080045e0 ___Unwind_Resume_or_Rethrow - 0x08004610 _Unwind_ForcedUnwind - 0x08004610 ___Unwind_ForcedUnwind - 0x08004640 ___Unwind_Backtrace - 0x08004640 _Unwind_Backtrace - .text 0x08004670 0x3a8 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(pr-support.o) - 0x080046c4 __gnu_unwind_execute - 0x080049c0 __gnu_unwind_frame - 0x080049e8 _Unwind_GetRegionStart - 0x080049f4 _Unwind_GetLanguageSpecificData - 0x08004a08 _Unwind_GetTextRelBase - 0x08004a10 _Unwind_GetDataRelBase - .text.abort 0x08004a18 0x10 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) - 0x08004a18 abort - .text.memcpy 0x08004a28 0x84 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memcpy-stub.o) - 0x08004a28 memcpy + 0x0800349c 0x84 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans2.ltrans.o + 0x0800349c disc_push_exp0_prgrom_wr + .text.nes_cpu_page_rd_poll.constprop.17 + 0x08003520 0xc4 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans3.ltrans.o + 0x08003520 nes_cpu_page_rd_poll.constprop.17 + .text.nes_ppu_page_rd_poll.constprop.15 + 0x080035e4 0xbc C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans3.ltrans.o + 0x080035e4 nes_ppu_page_rd_poll.constprop.15 + .text.mmc1_wr.constprop.9 + 0x080036a0 0x22 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans3.ltrans.o + 0x080036a0 mmc1_wr.constprop.9 + *fill* 0x080036c2 0x2 + .text 0x080036c4 0x4 C:\Users\paul\AppData\Local\Temp\ccMZoj0e.o + 0x080036c4 jump2addr + *fill* 0x080036c8 0x8 + .text 0x080036d0 0x154 C:\Users\paul\AppData\Local\Temp\ccScmBUX.o + 0x080036d0 swim_xfr + .text 0x08003824 0xa38 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o) + 0x08003af4 _Unwind_GetCFA + 0x08003af8 __gnu_Unwind_RaiseException + 0x08003b4c __gnu_Unwind_ForcedUnwind + 0x08003b60 __gnu_Unwind_Resume + 0x08003ba8 __gnu_Unwind_Resume_or_Rethrow + 0x08003bc4 _Unwind_Complete + 0x08003bc8 _Unwind_DeleteException + 0x08003bd8 _Unwind_VRS_Get + 0x08003c24 _Unwind_VRS_Set + 0x08003c70 __gnu_Unwind_Backtrace + 0x08003fd0 __aeabi_unwind_cpp_pr0 + 0x08003fdc __aeabi_unwind_cpp_pr1 + 0x08003fe8 __aeabi_unwind_cpp_pr2 + 0x08003ff4 _Unwind_VRS_Pop + .text 0x0800425c 0x144 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(libunwind.o) + 0x0800425c __restore_core_regs + 0x0800425c restore_core_regs + 0x08004288 __gnu_Unwind_Restore_VFP + 0x0800428c __gnu_Unwind_Save_VFP + 0x08004290 __gnu_Unwind_Restore_VFP_D + 0x08004294 __gnu_Unwind_Save_VFP_D + 0x08004298 __gnu_Unwind_Restore_VFP_D_16_to_31 + 0x0800429c __gnu_Unwind_Save_VFP_D_16_to_31 + 0x080042a0 __gnu_Unwind_Restore_WMMXD + 0x080042a4 __gnu_Unwind_Save_WMMXD + 0x080042a8 __gnu_Unwind_Restore_WMMXC + 0x080042ac __gnu_Unwind_Save_WMMXC + 0x080042b0 ___Unwind_RaiseException + 0x080042b0 _Unwind_RaiseException + 0x080042e0 _Unwind_Resume + 0x080042e0 ___Unwind_Resume + 0x08004310 _Unwind_Resume_or_Rethrow + 0x08004310 ___Unwind_Resume_or_Rethrow + 0x08004340 _Unwind_ForcedUnwind + 0x08004340 ___Unwind_ForcedUnwind + 0x08004370 ___Unwind_Backtrace + 0x08004370 _Unwind_Backtrace + .text 0x080043a0 0x3a8 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(pr-support.o) + 0x080043f4 __gnu_unwind_execute + 0x080046f0 __gnu_unwind_frame + 0x08004718 _Unwind_GetRegionStart + 0x08004724 _Unwind_GetLanguageSpecificData + 0x08004738 _Unwind_GetTextRelBase + 0x08004740 _Unwind_GetDataRelBase + .text.abort 0x08004748 0x10 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) + 0x08004748 abort + .text.memcpy 0x08004758 0x84 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memcpy-stub.o) + 0x08004758 memcpy .text._raise_r - 0x08004aac 0x5c c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) - 0x08004aac _raise_r - .text.raise 0x08004b08 0x14 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) - 0x08004b08 raise - .text._kill_r 0x08004b1c 0x28 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) - 0x08004b1c _kill_r + 0x080047dc 0x5c c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) + 0x080047dc _raise_r + .text.raise 0x08004838 0x14 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) + 0x08004838 raise + .text._kill_r 0x0800484c 0x28 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) + 0x0800484c _kill_r .text._getpid_r - 0x08004b44 0x8 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) - 0x08004b44 _getpid_r - .text._getpid 0x08004b4c 0x10 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o) - 0x08004b4c _getpid - .text._kill 0x08004b5c 0x10 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(kill.o) - 0x08004b5c _kill - .text._exit 0x08004b6c 0x4 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(_exit.o) - 0x08004b6c _exit - .text 0x08004b70 0x14 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_uqi.o) - 0x08004b70 __gnu_thumb1_case_uqi - .text 0x08004b84 0x14 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_shi.o) - 0x08004b84 __gnu_thumb1_case_shi - .text 0x08004b98 0x14 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_uhi.o) - 0x08004b98 __gnu_thumb1_case_uhi + 0x08004874 0x8 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) + 0x08004874 _getpid_r + .text._getpid 0x0800487c 0x10 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o) + 0x0800487c _getpid + .text._kill 0x0800488c 0x10 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(kill.o) + 0x0800488c _kill + .text._exit 0x0800489c 0x4 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(_exit.o) + 0x0800489c _exit *(.init) - .init 0x08004bac 0x4 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crti.o - 0x08004bac _init + .init 0x080048a0 0x4 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crti.o + 0x080048a0 _init *(.fini) - .fini 0x08004bb0 0x4 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crti.o - 0x08004bb0 _fini + .fini 0x080048a4 0x4 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crti.o + 0x080048a4 _fini *crtbegin.o(.ctors) *crtbegin?.o(.ctors) *(EXCLUDE_FILE(*crtend.o *crtend?.o) .ctors) @@ -669,55 +690,45 @@ LOAD c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none- *(SORT(.dtors.*)) *(.dtors) *(.rodata*) - .rodata.config_desc - 0x08004bb4 0x12 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o - .rodata.device_desc - 0x08004bc6 0x12 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o - .rodata.string0_desc - 0x08004bd8 0x4 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o - .rodata.string1_desc - 0x08004bdc 0x54 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o - .rodata.string2_desc - 0x08004c30 0x3c C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o *(.eh_frame*) -.glue_7 0x08004c6c 0x0 - .glue_7 0x08004c6c 0x0 linker stubs +.glue_7 0x080048a8 0x0 + .glue_7 0x080048a8 0x0 linker stubs -.glue_7t 0x08004c6c 0x0 - .glue_7t 0x08004c6c 0x0 linker stubs +.glue_7t 0x080048a8 0x0 + .glue_7t 0x080048a8 0x0 linker stubs -.vfp11_veneer 0x08004c6c 0x0 - .vfp11_veneer 0x08004c6c 0x0 linker stubs +.vfp11_veneer 0x080048a8 0x0 + .vfp11_veneer 0x080048a8 0x0 linker stubs -.v4_bx 0x08004c6c 0x0 - .v4_bx 0x08004c6c 0x0 linker stubs +.v4_bx 0x080048a8 0x0 + .v4_bx 0x080048a8 0x0 linker stubs -.iplt 0x08004c6c 0x0 - .iplt 0x08004c6c 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtbegin.o +.iplt 0x080048a8 0x0 + .iplt 0x080048a8 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtbegin.o -.ARM.extab 0x08004c6c 0x30 +.ARM.extab 0x080048a8 0x30 *(.ARM.extab* .gnu.linkonce.armextab.*) - .ARM.extab 0x08004c6c 0x24 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o) - .ARM.extab 0x08004c90 0xc c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(pr-support.o) - 0x08004c9c __exidx_start = . + .ARM.extab 0x080048a8 0x24 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o) + .ARM.extab 0x080048cc 0xc c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(pr-support.o) + 0x080048d8 __exidx_start = . -.ARM.exidx 0x08004c9c 0xd0 +.ARM.exidx 0x080048d8 0xd0 *(.ARM.exidx* .gnu.linkonce.armexidx.*) - .ARM.exidx 0x08004c9c 0x8 C:\Users\paul\AppData\Local\Temp\cci1eGxe.o - .ARM.exidx 0x08004ca4 0x0 C:\Users\paul\AppData\Local\Temp\ccUzNUgX.o + .ARM.exidx 0x080048d8 0x8 C:\Users\paul\AppData\Local\Temp\ccMZoj0e.o + .ARM.exidx 0x080048e0 0x0 C:\Users\paul\AppData\Local\Temp\ccScmBUX.o 0x10 (size before relaxing) - .ARM.exidx 0x08004ca4 0x98 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o) + .ARM.exidx 0x080048e0 0x98 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o) 0xd8 (size before relaxing) - .ARM.exidx 0x08004d3c 0x30 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(pr-support.o) + .ARM.exidx 0x08004978 0x30 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(pr-support.o) 0x48 (size before relaxing) - 0x08004d6c __exidx_end = . - 0x08004d6c __etext = ALIGN (0x4) + 0x080049a8 __exidx_end = . + 0x080049a8 __etext = ALIGN (0x4) -.rel.dyn 0x08004d6c 0x0 - .rel.iplt 0x08004d6c 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtbegin.o +.rel.dyn 0x080049a8 0x0 + .rel.iplt 0x080049a8 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtbegin.o -.data 0x20000000 0x430 load address 0x08004d6c +.data 0x20000000 0x430 load address 0x080049a8 0x20000000 __data_start__ = . *(vtable) *(.data*) @@ -741,108 +752,94 @@ LOAD c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none- *(SORT(.fini_array.*)) *(.fini_array) 0x20000430 PROVIDE (__fini_array_end, .) + 0x20000430 . = ALIGN (0x4) + *(.fastrun) *(.jcr) 0x20000430 . = ALIGN (0x4) 0x20000430 __data_end__ = . -.igot.plt 0x20000430 0x0 load address 0x0800519c +.igot.plt 0x20000430 0x0 load address 0x08004dd8 .igot.plt 0x20000430 0x0 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtbegin.o -.bss 0x20000430 0x2f0 load address 0x0800519c +.bss 0x20000430 0x2d8 load address 0x08004dd8 0x20000430 . = ALIGN (0x4) 0x20000430 __bss_start__ = . *(.bss*) - .bss.addrh 0x20000430 0x4 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o + .bss.addrh 0x20000430 0x4 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans0.ltrans.o .bss.bank_table - 0x20000434 0x2 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o + 0x20000434 0x2 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans0.ltrans.o 0x20000434 bank_table *fill* 0x20000436 0x2 - .bss.buff0 0x20000438 0x14 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o + .bss.buff0 0x20000438 0x14 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans0.ltrans.o 0x20000438 buff0 - .bss.buff1 0x2000044c 0x14 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o + .bss.buff1 0x2000044c 0x14 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans0.ltrans.o 0x2000044c buff1 - .bss.buff2 0x20000460 0x14 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o + .bss.buff2 0x20000460 0x14 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans0.ltrans.o 0x20000460 buff2 - .bss.buff3 0x20000474 0x14 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o + .bss.buff3 0x20000474 0x14 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans0.ltrans.o 0x20000474 buff3 - .bss.cur_bank 0x20000488 0x1 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o + .bss.cur_bank 0x20000488 0x1 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans0.ltrans.o 0x20000488 cur_bank *fill* 0x20000489 0x3 - .bss.cur_buff 0x2000048c 0x4 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o + .bss.cur_buff 0x2000048c 0x4 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans0.ltrans.o 0x2000048c cur_buff .bss.oper_info_struct - 0x20000490 0x20 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o + 0x20000490 0x20 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans0.ltrans.o 0x20000490 oper_info_struct .bss.pbje_command - 0x200004b0 0x1 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o + 0x200004b0 0x1 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans0.ltrans.o 0x200004b0 pbje_command .bss.pbje_data - 0x200004b1 0x20 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o + 0x200004b1 0x20 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans0.ltrans.o 0x200004b1 pbje_data .bss.pbje_numclk - 0x200004d1 0x1 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o + 0x200004d1 0x1 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans0.ltrans.o 0x200004d1 pbje_numclk .bss.pbje_status - 0x200004d2 0x1 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o + 0x200004d2 0x1 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans0.ltrans.o 0x200004d2 pbje_status .bss.raw_bank_status - 0x200004d3 0x10 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o + 0x200004d3 0x10 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans0.ltrans.o *fill* 0x200004e3 0x1 .bss.raw_buffer16 - 0x200004e4 0x200 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o - .bss.rv16.4991 - 0x200006e4 0x8 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o + 0x200004e4 0x200 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans0.ltrans.o + .bss.rv16.4994 + 0x200006e4 0x8 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans0.ltrans.o .bss.swim_base - 0x200006ec 0x4 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o + 0x200006ec 0x4 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans0.ltrans.o 0x200006ec swim_base - .bss.swim_pin 0x200006f0 0x1 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o + .bss.swim_pin 0x200006f0 0x1 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans0.ltrans.o 0x200006f0 swim_pin - *fill* 0x200006f1 0x3 - .bss.tck_base 0x200006f4 0x4 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o - 0x200006f4 tck_base - .bss.tck_pin 0x200006f8 0x1 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o - 0x200006f8 tck_pin - *fill* 0x200006f9 0x3 - .bss.tdi_base 0x200006fc 0x4 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o - 0x200006fc tdi_base - .bss.tdi_pin 0x20000700 0x1 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o - 0x20000700 tdi_pin - *fill* 0x20000701 0x3 - .bss.tdo_base 0x20000704 0x4 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o - 0x20000704 tdo_base - .bss.tdo_pin 0x20000708 0x1 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o - 0x20000708 tdo_pin - *fill* 0x20000709 0x3 - .bss.tms_base 0x2000070c 0x4 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o - 0x2000070c tms_base - .bss.tms_pin 0x20000710 0x1 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o - 0x20000710 tms_pin - .bss.num_buff.5071 - 0x20000711 0x1 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o - *fill* 0x20000712 0x2 + .bss.exp_byte 0x200006f1 0x1 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans1.ltrans.o + .bss.num_buff.5074 + 0x200006f2 0x1 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans1.ltrans.o + *fill* 0x200006f3 0x1 .bss.cur_usb_load_buff - 0x20000714 0x4 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o - 0x20000714 cur_usb_load_buff + 0x200006f4 0x4 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans3.ltrans.o + 0x200006f4 cur_usb_load_buff .bss.incoming_bytes_remain - 0x20000718 0x1 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o - 0x20000718 incoming_bytes_remain + 0x200006f8 0x1 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans3.ltrans.o + 0x200006f8 incoming_bytes_remain + *fill* 0x200006f9 0x1 + .bss.rv16.4761 + 0x200006fa 0x8 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans3.ltrans.o *(COMMON) - *fill* 0x20000719 0x3 - COMMON 0x2000071c 0x4 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o) - 0x2000071c errno - 0x20000720 . = ALIGN (0x4) - 0x20000720 __bss_end__ = . + *fill* 0x20000702 0x2 + COMMON 0x20000704 0x4 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o) + 0x20000704 errno + 0x20000708 . = ALIGN (0x4) + 0x20000708 __bss_end__ = . -.heap 0x20000720 0x0 - 0x20000720 __end__ = . - 0x20000720 PROVIDE (end, .) +.heap 0x20000708 0x0 + 0x20000708 __end__ = . + 0x20000708 PROVIDE (end, .) *(.heap*) - .heap 0x20000720 0x0 C:\Users\paul\AppData\Local\Temp\ccA7U3xu.o - 0x20000720 __HeapLimit = . + .heap 0x20000708 0x0 C:\Users\paul\AppData\Local\Temp\ccst3R5x.o + 0x20000708 __HeapLimit = . -.stack_dummy 0x20000720 0xc00 +.stack_dummy 0x20000708 0xc00 *(.stack*) - .stack 0x20000720 0xc00 C:\Users\paul\AppData\Local\Temp\ccA7U3xu.o + .stack 0x20000708 0xc00 C:\Users\paul\AppData\Local\Temp\ccst3R5x.o 0x20001800 __StackTop = (ORIGIN (RAM) + LENGTH (RAM)) 0x20000c00 __StackLimit = (__StackTop - SIZEOF (.stack_dummy)) 0x20001800 PROVIDE (__stack, __StackTop) @@ -854,103 +851,98 @@ OUTPUT(build_stm/inlretro_stm.elf elf32-littlearm) .ARM.attributes 0x00000000 0x1e c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crti.o .ARM.attributes - 0x0000001e 0x1b C:\Users\paul\AppData\Local\Temp\ccA7U3xu.o + 0x0000001e 0x1b C:\Users\paul\AppData\Local\Temp\ccst3R5x.o .ARM.attributes - 0x00000039 0x2f C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o + 0x00000039 0x2f C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans0.ltrans.o .ARM.attributes - 0x00000068 0x2f C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o + 0x00000068 0x2f C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans1.ltrans.o .ARM.attributes - 0x00000097 0x2f C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o + 0x00000097 0x2f C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans2.ltrans.o .ARM.attributes - 0x000000c6 0x2f C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o + 0x000000c6 0x2f C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans3.ltrans.o .ARM.attributes - 0x000000f5 0x21 C:\Users\paul\AppData\Local\Temp\cci1eGxe.o + 0x000000f5 0x21 C:\Users\paul\AppData\Local\Temp\ccMZoj0e.o .ARM.attributes - 0x00000116 0x21 C:\Users\paul\AppData\Local\Temp\ccUzNUgX.o - .ARM.attributes - 0x00000137 0x1e c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_uqi.o) - .ARM.attributes - 0x00000155 0x1e c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_shi.o) - .ARM.attributes - 0x00000173 0x1e c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_uhi.o) + 0x00000116 0x21 C:\Users\paul\AppData\Local\Temp\ccScmBUX.o .comment 0x00000000 0x6e - .comment 0x00000000 0x6e C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o + .comment 0x00000000 0x6e C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans0.ltrans.o 0x6f (size before relaxing) - .comment 0x0000006e 0x6f C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o - .comment 0x0000006e 0x6f C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o - .comment 0x0000006e 0x6f C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o + .comment 0x0000006e 0x6f C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans1.ltrans.o + .comment 0x0000006e 0x6f C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans2.ltrans.o + .comment 0x0000006e 0x6f C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans3.ltrans.o -.debug_line 0x00000000 0x1ba6 - .debug_line 0x00000000 0x6f C:\Users\paul\AppData\Local\Temp\ccA7U3xu.o - .debug_line 0x0000006f 0xa1e C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o - .debug_line 0x00000a8d 0x6fe C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o - .debug_line 0x0000118b 0x4a9 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o - .debug_line 0x00001634 0x436 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o - .debug_line 0x00001a6a 0x49 C:\Users\paul\AppData\Local\Temp\cci1eGxe.o - .debug_line 0x00001ab3 0xf3 C:\Users\paul\AppData\Local\Temp\ccUzNUgX.o +.debug_line 0x00000000 0x18ed + .debug_line 0x00000000 0x7c C:\Users\paul\AppData\Local\Temp\ccst3R5x.o + .debug_line 0x0000007c 0x835 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans0.ltrans.o + .debug_line 0x000008b1 0x6c4 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans1.ltrans.o + .debug_line 0x00000f75 0x41b C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans2.ltrans.o + .debug_line 0x00001390 0x421 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans3.ltrans.o + .debug_line 0x000017b1 0x49 C:\Users\paul\AppData\Local\Temp\ccMZoj0e.o + .debug_line 0x000017fa 0xf3 C:\Users\paul\AppData\Local\Temp\ccScmBUX.o -.debug_info 0x00000000 0x4757 - .debug_info 0x00000000 0x9b C:\Users\paul\AppData\Local\Temp\ccA7U3xu.o - .debug_info 0x0000009b 0x149a C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o - .debug_info 0x00001535 0x14bf C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o - .debug_info 0x000029f4 0x11f2 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o - .debug_info 0x00003be6 0xa45 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o - .debug_info 0x0000462b 0x98 C:\Users\paul\AppData\Local\Temp\cci1eGxe.o - .debug_info 0x000046c3 0x94 C:\Users\paul\AppData\Local\Temp\ccUzNUgX.o +.debug_info 0x00000000 0x4014 + .debug_info 0x00000000 0x97 C:\Users\paul\AppData\Local\Temp\ccst3R5x.o + .debug_info 0x00000097 0x10fb C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans0.ltrans.o + .debug_info 0x00001192 0x141b C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans1.ltrans.o + .debug_info 0x000025ad 0xf84 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans2.ltrans.o + .debug_info 0x00003531 0x9b7 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans3.ltrans.o + .debug_info 0x00003ee8 0x98 C:\Users\paul\AppData\Local\Temp\ccMZoj0e.o + .debug_info 0x00003f80 0x94 C:\Users\paul\AppData\Local\Temp\ccScmBUX.o -.debug_abbrev 0x00000000 0xbe3 - .debug_abbrev 0x00000000 0x14 C:\Users\paul\AppData\Local\Temp\ccA7U3xu.o - .debug_abbrev 0x00000014 0x31e C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o - .debug_abbrev 0x00000332 0x3b2 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o - .debug_abbrev 0x000006e4 0x190 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o - .debug_abbrev 0x00000874 0x347 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o - .debug_abbrev 0x00000bbb 0x14 C:\Users\paul\AppData\Local\Temp\cci1eGxe.o - .debug_abbrev 0x00000bcf 0x14 C:\Users\paul\AppData\Local\Temp\ccUzNUgX.o +.debug_abbrev 0x00000000 0xcc0 + .debug_abbrev 0x00000000 0x12 C:\Users\paul\AppData\Local\Temp\ccst3R5x.o + .debug_abbrev 0x00000012 0x308 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans0.ltrans.o + .debug_abbrev 0x0000031a 0x3cd C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans1.ltrans.o + .debug_abbrev 0x000006e7 0x19f C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans2.ltrans.o + .debug_abbrev 0x00000886 0x412 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans3.ltrans.o + .debug_abbrev 0x00000c98 0x14 C:\Users\paul\AppData\Local\Temp\ccMZoj0e.o + .debug_abbrev 0x00000cac 0x14 C:\Users\paul\AppData\Local\Temp\ccScmBUX.o .debug_aranges 0x00000000 0x228 .debug_aranges - 0x00000000 0x20 C:\Users\paul\AppData\Local\Temp\ccA7U3xu.o + 0x00000000 0x28 C:\Users\paul\AppData\Local\Temp\ccst3R5x.o .debug_aranges - 0x00000020 0x20 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o + 0x00000028 0x20 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans0.ltrans.o .debug_aranges - 0x00000040 0x60 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o + 0x00000048 0x68 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans1.ltrans.o .debug_aranges - 0x000000a0 0xe8 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o + 0x000000b0 0xc8 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans2.ltrans.o .debug_aranges - 0x00000188 0x60 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o + 0x00000178 0x70 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans3.ltrans.o .debug_aranges - 0x000001e8 0x20 C:\Users\paul\AppData\Local\Temp\cci1eGxe.o + 0x000001e8 0x20 C:\Users\paul\AppData\Local\Temp\ccMZoj0e.o .debug_aranges - 0x00000208 0x20 C:\Users\paul\AppData\Local\Temp\ccUzNUgX.o + 0x00000208 0x20 C:\Users\paul\AppData\Local\Temp\ccScmBUX.o -.debug_loc 0x00000000 0x4958 - .debug_loc 0x00000000 0x2b56 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o - .debug_loc 0x00002b56 0xdec C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o - .debug_loc 0x00003942 0xa3f C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o - .debug_loc 0x00004381 0x5d7 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o +.debug_ranges 0x00000000 0xaf8 + .debug_ranges 0x00000000 0x20 C:\Users\paul\AppData\Local\Temp\ccst3R5x.o + .debug_ranges 0x00000020 0x6b8 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans0.ltrans.o + .debug_ranges 0x000006d8 0x228 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans1.ltrans.o + .debug_ranges 0x00000900 0xb8 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans2.ltrans.o + .debug_ranges 0x000009b8 0x140 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans3.ltrans.o -.debug_ranges 0x00000000 0xc70 - .debug_ranges 0x00000000 0x840 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o - .debug_ranges 0x00000840 0x230 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o - .debug_ranges 0x00000a70 0xd8 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o - .debug_ranges 0x00000b48 0x128 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o +.debug_loc 0x00000000 0x4133 + .debug_loc 0x00000000 0x241b C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans0.ltrans.o + .debug_loc 0x0000241b 0xdd5 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans1.ltrans.o + .debug_loc 0x000031f0 0x8b8 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans2.ltrans.o + .debug_loc 0x00003aa8 0x68b C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans3.ltrans.o -.debug_str 0x00000000 0xdd5 - .debug_str 0x00000000 0x76d C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o - 0x7d2 (size before relaxing) - .debug_str 0x0000076d 0x22c C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o - 0x4c5 (size before relaxing) - .debug_str 0x00000999 0x1c7 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o - 0x3e2 (size before relaxing) - .debug_str 0x00000b60 0x275 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o - 0x555 (size before relaxing) +.debug_str 0x00000000 0xcdf + .debug_str 0x00000000 0x6c2 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans0.ltrans.o + 0x715 (size before relaxing) + .debug_str 0x000006c2 0x235 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans1.ltrans.o + 0x4ce (size before relaxing) + .debug_str 0x000008f7 0x18e C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans2.ltrans.o + 0x3a9 (size before relaxing) + .debug_str 0x00000a85 0x25a C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans3.ltrans.o + 0x546 (size before relaxing) -.debug_frame 0x00000000 0x4fc - .debug_frame 0x00000000 0x30 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans0.ltrans.o - .debug_frame 0x00000030 0x118 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans1.ltrans.o - .debug_frame 0x00000148 0x2a0 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans2.ltrans.o - .debug_frame 0x000003e8 0x114 C:\Users\paul\AppData\Local\Temp\ccGNbBMZ.ltrans3.ltrans.o +.debug_frame 0x00000000 0x500 + .debug_frame 0x00000000 0x34 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans0.ltrans.o + .debug_frame 0x00000034 0x12c C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans1.ltrans.o + .debug_frame 0x00000160 0x27c C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans2.ltrans.o + .debug_frame 0x000003dc 0x124 C:\Users\paul\AppData\Local\Temp\ccsrSnXZ.ltrans3.ltrans.o .stabstr 0x00000000 0x76 .stabstr 0x00000000 0x76 c:/arm/gcc-arm-none-eabi-6_2-2016q4-20161216-win32/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o) diff --git a/firmware/include_stm/nokeep.ld b/firmware/include_stm/nokeep.ld index e1e84b2..b508cf0 100644 --- a/firmware/include_stm/nokeep.ld +++ b/firmware/include_stm/nokeep.ld @@ -80,12 +80,33 @@ SECTIONS /* hardfault & dummy handlers */ *(.hardfault) + /*this contains vital code for fwupdater appears to be some case statement helper..*/ + *_thumb1_case_uqi.o /* about 50 bytes */ + /* his freinds are 50 Bytes each as well don't seem to be required + * but lets include them for now anyway. Perhaps we can move them + * if we're ~100 bytes short at some point */ + *_thumb1_case_shi.o /*this disappeared when updating from gcc version 6.2.1 20161205 + *to version 7.3.1 20180622 but we'll keep it here anyway */ + *_thumb1_case_uhi.o + /* put firmware update code at end of first 2KByte * should allow for easier updating of that code alone * by the application code if desired */ *(.fw_update) + /* when created there was about 132 Bytes of free space here */ + + /* fwupdate main needs to be in a fixed location */ + . = 0x0780; + *(.fw_up_main) + + /* when created there was about 32Bytes free space here */ + + /* THIS IS THE END OF THE USB DRIVER & FIRMWARE UDPATER SECTION */ + + . = 0x0800; /*update the location counter to the 3rd KByte */ + /* reset handler fixed to 0x08000800 * that way the vector table should always be accurate */ *(.reset_handler) @@ -101,6 +122,48 @@ SECTIONS *(.text*) + /* GCC LIBRARIES */ + /* Had issues with fwupdater breaking when my switch case got so big + * turns out it must have been calling _thumb1_case_uqi.o library function + * because whenever the sector with that library got stomped the mcu went + * to hard fault (code that was being executed got erased) + * 'quick' fix was to move that library function to fw_update section + * went ahead and moved his case freinds as well. + * + * Possible that this issue could arise again if the fwupdate code calls + * other library functions. I was able to move most of them with the + * linker script, but not the libgcc.a ones. Kept getting a linker + * error with .text having both .exidx and .extab sections. Apparently + * these are for some C++ stack unrolling and exception handling + * I don't even think I want these, and the fwupdater certainly shouldn't + * need them. So just leave them were they land normally at the end of .text + * section. If we run out of flash space some day they can probably + * just get left out of the binary. I tried to turn them off but failed.. + * don't care anymore, fixed my problem, I've banged my head enough for today + */ + + /* *\lib*.a:* */ + /* *\libgcc.a:* */ + /* these are causing compiler issues, but honestly I don't want them anyway! */ + /* some C++ junk about unwinding the stack and raising exeptions. */ + /* *unwind-arm.o */ + /* *pr-support.o */ + /* *libunwind.o */ /*this one is movable I don't think I want it anyway!*/ + + /* some movable library code that doesn't seem to be relied upon by fwupdater + * if the fwupdater fails at somepoint may want to see if it's calling + * code from these libraries and move them to fwupdate space + *\libg.a:* <- includes things like memcpy + *\libnosys.a:* + *\crti.o:* + */ + + /* these got moved to fwupdate section, but so far only the first is used + *_thumb1_case_uqi.o + *_thumb1_case_shi.o + *_thumb1_case_uhi.o + */ + *(.init) *(.fini) diff --git a/firmware/source/bootload.c b/firmware/source/bootload.c index ac5b0a2..721d4a7 100644 --- a/firmware/source/bootload.c +++ b/firmware/source/bootload.c @@ -39,6 +39,15 @@ uint8_t bootload_call( uint8_t opcode, uint8_t miscdata, uint16_t operand, uint8 case JUMP_ADDR: jump2addr((addrh<<16) | (operand)); break; //device may not respond depending on the address/function being jumped to + case PREP_FWUPDATE: //while we are directly jumping to fwupdate section + //it should be okay if it's in a fixed location + return fwupdate_forever(); break; + //this function hijacked the stack frame to steal execution + //after returing from the current USB ISR + //it returns SUCCESS/ERR depending on if it found and modified + //the stack frame successfully + //leaves main application code for good + //will respond to usb interrupts, but are directed to fwupdater default: //opcode doesn't exist return ERR_UNKN_BOOTLOAD_OPCODE; diff --git a/firmware/source/bootload.h b/firmware/source/bootload.h index 3cd9fd8..ad87aa8 100644 --- a/firmware/source/bootload.h +++ b/firmware/source/bootload.h @@ -5,9 +5,9 @@ #include "shared_dictionaries.h" #include "shared_errors.h" -#ifdef STM_INL6 - -#endif //end STM_INL6 +#ifdef STM_CORE +#include "../source_stm_only/fwupdate.h" +#endif uint8_t bootload_call( uint8_t opcode, uint8_t miscdata, uint16_t operand, uint8_t *rdata ); diff --git a/firmware/source_stm_only/fwupdate.c b/firmware/source_stm_only/fwupdate.c index c301665..ee61c3f 100644 --- a/firmware/source_stm_only/fwupdate.c +++ b/firmware/source_stm_only/fwupdate.c @@ -1,7 +1,48 @@ #include "fwupdate.h" -FWUPDATE void erase_main() +#define unlock_flash() FLASH->KEYR = FLASH_KEY1; FLASH->KEYR = FLASH_KEY2 + +#define lock_flash() FLASH->CR = FLASH_CR_LOCK +// //The FLASH_CR register can be locked again by user software by writing the +// //LOCK bit in the FLASH_CR register to 1. + + + +//flash must be erased prior to calling +FWUPDATE void wr_hword(uint16_t *addr, uint16_t data) +{ + //Trying to get by with out a static variable + //writes to the current address of FLASH_AR, + //plus an 8bit address offset. + //the host can set the address by erasing a page + //that's really only useful when starting from a blank page though. + //it can also set the address by writing 0xFFFF to a byte that's already erased + + unlock_flash(); + + //The main Flash memory programming sequence in standard mode is as follows: + // 1.Check that no main Flash memory operation is ongoing by checking the BSY bit in the FLASH_SR register. + while ( FLASH->SR & FLASH_SR_BSY ) { /* forever */ } + + // 2. Set the PG bit in the FLASH_CR register. + FLASH->CR = FLASH_CR_PG; //shouldn't need to mask, all other bits clear by default + + // 3. Perform the data write (half-word) at the desired address. + *addr = data; + + // 4. Wait until the BSY bit is reset in the FLASH_SR register. + while ( FLASH->SR & FLASH_SR_BSY ) { /* forever */ } + + // 5. Check the EOP flag in the FLASH_SR register (it is set when the programming operation has succeeded), and then clear it by software. + FLASH->SR = FLASH_SR_EOP; + + // Note:The registers are not accessible in write mode when the BSY bit of the FLASH_SR register is set. + + lock_flash(); +} + +FWUPDATE void erase_page(uint16_t page_num_1KB) { //usb driver & this code resisdes in first 2KByte of last (0x0800_0800) //The smaller STMF070C6 has 32KByte of flash, and larger STMF070RB has 128KByte @@ -11,7 +52,360 @@ FWUPDATE void erase_main() //But they're both leaving the first 2KByte untouched //And erasing the 30KByte that follows //For now we're ignoring the extra 96KByte of additional flash that the RB contains + + //The program and erase operations can be performed over the whole product voltage range. + //They are managed through the following seven Flash registers: + // + // Key register (FLASH_KEYR) + // Option byte key register (FLASH_OPTKEYR) + // Flash control register (FLASH_CR) + // Flash status register (FLASH_SR) + // Flash address register (FLASH_AR) + // Option byte register (FLASH_OBR) + // Write protection register (FLASH_WRPR) + // + //An ongoing Flash memory operation will not block the CPU as long as the CPU does not access the Flash memory. + //On the contrary, during a program/erase operation to the Flash memory, any attempt to read the Flash memory + //will stall the bus. The read operation will proceed correctly once the program/erase operation has completed. + //This means that code or data fetches cannot be made while a program/erase operation is ongoing. + // + //For program and erase operations on the Flash memory (write/erase), the internal RC oscillator (HSI) must be ON. +//should be running on it right now... + // + //Unlocking the Flash memory + //After reset, the Flash memory is protected against unwanted write or erase operations. + //The FLASH_CR register is not accessible in write mode, except for the OBL_LAUNCH bit, + //used to reload the option bits. An unlocking sequence should be written to the FLASH_KEYR + //register to open the access to the FLASH_CR register. This sequence consists of two write operations: + // Write KEY1 = 0x45670123 + //FLASH->KEYR = FLASH_KEY1; + // Write KEY2 = 0xCDEF89AB + //FLASH->KEYR = FLASH_KEY2; + unlock_flash(); + // + //Any wrong sequence locks up the FLASH_CR register until the next reset. + //In the case of a wrong key sequence, a bus error is detected and a Hard Fault interrupt is generated. + //This is done after the first write cycle if KEY1 does not match, or during the second write cycle if + //KEY1 has been correctly written but KEY2 does not match. + // + //The FLASH_CR register can be locked again by user software by writing the + //LOCK bit in the FLASH_CR register to 1. + //FLASH->CR = FLASH_CR_LOCK; - while(1){ - } + //Page Erase + // To erase a page, the procedure below should be followed: + // 1.Check that no Flash memory operation is ongoing by checking the BSY bit in the FLASH_CR register. + // Think they mean the FLASH_SR register...? + // the BSY bit is supposed to clear itself when flash operation is complete, or errored out + // So it should never remain set forever.. + while ( FLASH->SR & FLASH_SR_BSY ) { /* forever */ } + + // 2. Set the PER bit in the FLASH_CR register. + FLASH->CR = FLASH_CR_PER; //shouldn't need to mask, all other bits clear by default + + // 3. Program the FLASH_AR register to select a page to erase. + FLASH->AR = 0x08000000 + (page_num_1KB<<10); //page 2 (3rd KByte) + + // 4. Set the STRT bit in the FLASH_CR register (see note below). + FLASH->CR = (FLASH_CR_PER | FLASH_CR_STRT); + + // 5. Wait for the BSY bit to be reset. + __asm__ __volatile__ ("nop"); + while ( FLASH->SR & FLASH_SR_BSY) { /* forever */ } + + // 6. Check the EOP flag in the FLASH_SR register (it is set when the erase operation has succeeded). + // 7. Clear the EOP flag. + FLASH->SR = FLASH_SR_EOP; + // Note:The software should start checking if the BSY bit equals ÎéÎí0ÎéÎí at least one CPU cycle after setting the STRT bit. + + //The FLASH_CR register can be locked again by user software by writing the + //LOCK bit in the FLASH_CR register to 1. + lock_flash(); } + + + +FWUPDATE uint8_t fwupdate_call( uint8_t opcode, uint8_t miscdata, uint16_t operand, uint8_t *rdata ) +{ +#define RD_LEN 0 +#define RD0 1 +#define RD1 2 +#define RD2 3 +#define RD3 4 + +#define BYTE_LEN 1 +#define HWORD_LEN 2 +#define WORD_LEN 4 + + //pointer to flash address space + //inialize to the last accessed flash address + uint16_t *flash_addr = (uint16_t *)FLASH->AR; + + switch (opcode) { + case ERASE_1KB_PAGE: + #ifdef STM32F070x6 + if( (operand>1) && (operand<32)) { //only has 32KByte of flash + #else + if( (operand>1) && (operand<128)) { //RB has 128KByte of flash + #endif + erase_page(operand); + }else{ + //don't want to erase ourselves! + //or hardfault + return ERR_FWUPDATE_BAD_ADDR; } + break; + + //Don't really want to leave flash in an unlocked state.. +// case UNLOCK_FLASH: +// unlock_flash(); break; +// +// case LOCK_FLASH: +// lock_flash(); break; + + case WR_HWORD: + //the address is based on previous + //miscdata is the provided offset from last + flash_addr += miscdata; + wr_hword(flash_addr, operand); + break; + + case SET_FLASH_ADDR: + //sets FLASH->AR to desired address by writing 0xFFFF to that address + //so it MUST already be erased! + #ifdef STM32F070x6 //only has 32KByte of flash + if (miscdata) { return ERR_FWUPDATE_BAD_ADDR; } + if (operand>0x7FFF) { return ERR_FWUPDATE_BAD_ADDR; } + #else + if (miscdata>1) { return ERR_FWUPDATE_BAD_ADDR; } //only 128KByte of flash + #endif + flash_addr = (uint16_t *) (0x08000000 + (miscdata<<16) + operand); + wr_hword(flash_addr, 0xFFFF); + + break; + + case GET_FLASH_ADDR: + rdata[RD_LEN] = WORD_LEN; + rdata[RD0] = FLASH->AR; + rdata[RD1] = FLASH->AR>>8; + rdata[RD2] = FLASH->AR>>16; + rdata[RD3] = FLASH->AR>>24; + break; + + case GET_FLASH_DATA: + rdata[RD_LEN] = HWORD_LEN; + rdata[RD0] = *flash_addr; + rdata[RD1] = (*flash_addr)>>8; + break; + + case READ_FLASH: + #ifdef STM32F070x6 //only has 32KByte of flash + if (miscdata) { return ERR_FWUPDATE_BAD_ADDR; } + if (operand>0x7FFF) { return ERR_FWUPDATE_BAD_ADDR; } + #else + if (miscdata>1) { return ERR_FWUPDATE_BAD_ADDR; } //only 128KByte of flash + #endif + flash_addr = (uint16_t *) (0x08000000 + (miscdata<<16) + operand); + rdata[RD_LEN] = HWORD_LEN; + rdata[RD0] = *flash_addr; + rdata[RD1] = (*flash_addr)>>8; + break; + + case RESET_DEVICE: + SCB->AIRCR = 0x05FA0004; + //device will not actually return from this.. + //although we could get it to by having it issue reset once back + //in the fwupdate forever loop: + //usbfuncwrite = RESETME; + //shouldn't need this variable till after reset.. + //couldn't get that method to work though, so just don't bother returning for now.. + break; + + + default: //opcode doesn't exist + return ERR_UNKN_FWUPDATE_OPCODE; + } + + return SUCCESS; + +} + + +FWUPDATE_NOIN uint16_t usb_fwupdate_setup(uint8_t data[8]) +{ + //cast incoming data to a setup_packet + setup_packet *spacket = (void *)data; + + //create a return array for data + static uint16_t rv16[RETURN_BUFF_SIZE/2]; + uint8_t *rv = (uint8_t*)rv16; + + //create a usbMsgPtr variable from the stack which we can use convienently + //but then at end of the function we'll need to copy the value over to usb_buff usbMsgPtr_H/L + usbMsgPtr_t usbMsgPtr; + + rv[RETURN_ERR_IDX] = GEN_FAIL; //default to error till opcode updates. + rv[RETURN_LEN_IDX] = 0; //reset to zero, number of bytes in return data (excluding ERR & LEN) + + usbMsgPtr = (usbMsgPtr_t)rv; + + uint8_t rlen = (uint8_t) spacket->wLength; + + switch(spacket->bRequest) { + case DICT_FWUPDATE: + rv[RETURN_ERR_IDX] = fwupdate_call( spacket->opcode, spacket->miscdata, spacket->operand, &rv[RETURN_LEN_IDX] ); + break; + default: + //request (aka dictionary) is unknown + rv[RETURN_ERR_IDX] = ERR_UNKN_DICTIONARY; + } + + usbMsgPtr_L = (uint32_t)usbMsgPtr; + usbMsgPtr_H = ((uint32_t)usbMsgPtr)>>16; + + return rlen; +} + + +FWUPDATE_NOIN uint8_t usb_fwupdate_write(uint8_t *data, uint8_t len) +{ + +} + + + +//This function has a fixed location so the application code knows where to find it +//and it shouldn't change +FWUPMAIN uint8_t fwupdate_forever() +{ + //need to turn off any interrupt sources except USB + + //TODO turn off WDT + + //update usb function pointers to fwupdate functions + //this file is compiled at same time as the the setup/write functions + //so it's okay to refernce them at compile time + usbfuncsetup = (uint32_t) &usb_fwupdate_setup; //should only assign lower 16bits + usbfuncwrite = (uint32_t) &usb_fwupdate_write; //should only assign lower 16bits + + //need to return back to the bootloader PREP_FWUPDATE call that got us here + //but when that's done we want to hijack execution so the USB ISR returns here + //instead of the application main + + //modify the return PC/LR that's on the stack for the USB interrupt that's + //currently being handled + // + //APSR bits 31-28 NZCV processor flags (could be any value) + //EPSR bit 24 Thumb (should be set) + //IPSR bits 5-0 Exception number (should be zero if not in nested interrupt) + //bits 27-25 & 23-6 should all be cleared for the stacked xPSR + //bit 24 should be set (always in thumb mode) + //bits 5-0 are probably clear if the device was in main (thread mode) + //probably don't want to jump into the fw updater if it wasn't anyway..! + // + //so we don't necessarily know how far the stack pointer has decremented away + //from the current processor stack frame created for the current exception + // + //but if we search back far enough, we'll find stack frame that looks like: + // R0, R1, R2, R3, R12, LR, PC, xPSR + // The PC should be 0x0800_????, and the LR probably is to..? + // PC could be something else if it happened to be executing from RAM + // or we're on a processor with more than 64KByte of flash + // The xPSR should be 0b????0001_00000000_00000000_00000000 + // + // we're going to play it safe and require PC == 0x0800???? and the xPSR == 0x?1000000 + // we're also going to stop the LR just so it can't cause any troubles + // + // once the PC & LR are hijacked to get back here, we need to return to the + // PREP_FWUPDATE call, and let it know all was well. + asm( + //use r0 as our pointer to the stack + "mov r0, r13\n" + + //xPSR has to be atleast 8 words back/up + "add r0, #28\n" + + "ldr r2, psr_mask\n" + "ldr r3, psr_expect\n" + + "skip_2words:\n" + "add r0, #4\n" + + "next_word:\n" + "add r0, #4\n" + "ldr r1, [r0]\n" + "and r1, r1, r2\n" + "sub r1, r1, r3\n" + "bne next_word\n" + + //now r0 should be pointing to xPSR + // + //decrement to PC and verify 0x0800???? + "ldr r2, pc_mask\n" + "ldr r3, pc_expect\n" + "sub r0, #4\n" + + "ldr r1, [r0]\n" + "and r1, r1, r2\n" + "sub r1, r1, r3\n" + "bne skip_2words\n" //the PC didn't match the expected, xPSR must have been false positive + //if we go past the end of SRAM we'll get a hardfault and quit + + //PC matched expectation, we've found it! + + //stomp the PC and then the LR with + //loop forever PC + "mov r3, pc\n" //pc currently points to next instruction + + "add r3, #10\n" //forever loop is 6 instructions ahead of here + //minus one as if the PC was executing the "b done" instruction + //and it should enter at fwupdateloop + + //stomp the PC in stack frame + "str r3, [r0]\n" + "sub r0, #4\n" + //stomp the LR in the stack frame + "add r3, #1\n" //LR need to be Thumb + "str r3, [r0]\n" + + "b done\n" + + "fwupdateloop:\n"); + + //the forever main loop is here! + + //when USB interrupts occur they should return back to here + + //if fwupdate is done, intitate system reset + //maybe it's safer to have the user do this by unpluggig the device..? + + //Couldn't get this to work for some reason... + //if (usbfuncwrite == RESETME ) { + // SCB->AIRCR = 0x05FA0004; + //} + + asm( "b fwupdateloop\n" + + ".p2align 2\n" + "pc_mask:\n" + ".word 0xFFFF0000\n" //bits of the PC we want to match + "pc_expect:\n" + ".word 0x08000000\n" //bits of the PC we want to match + "psr_mask:\n" + ".word 0x0FFFFFFF\n" //bits of the xPSR we want to match + "psr_expect:\n" + ".word 0x01000000\n" //bits of the xPSR we want to match + + // "beef:\n" + // ".word 0xBEAD5678\n" + + "done:\n" +// "bkpt\n" + + + ); + + //return the PREP_FWUPDATE call that got us here + return SUCCESS; + +} + diff --git a/firmware/source_stm_only/fwupdate.h b/firmware/source_stm_only/fwupdate.h index 7753985..d90b94d 100644 --- a/firmware/source_stm_only/fwupdate.h +++ b/firmware/source_stm_only/fwupdate.h @@ -5,11 +5,18 @@ //include target chip port definition library files #include -//#define FWUPDATE __attribute__ ((section (".fw_update"))) -#define FWUPDATE __attribute__ ((section (".fw_update"), noinline, noclone)) +#include "../source/shared_dictionaries.h" +#include "../source/shared_errors.h" +#include "../source/types.h" +#include "usbstm.h" + +#define FWUPDATE __attribute__ ((section (".fw_update"))) //allow inline functions +#define FWUPDATE_NOIN __attribute__ ((section (".fw_update"), noinline, noclone)) //separate usb funcs from main +#define FWUPMAIN __attribute__ ((section (".fw_up_main"), noinline, noclone)) -void erase_main(); - +//bootloader in main application needs to be able to call this +//inorder to exit main application code +FWUPMAIN uint8_t fwupdate_forever(); #endif diff --git a/firmware/source_stm_only/usbstm.c b/firmware/source_stm_only/usbstm.c index 5b069ad..bf56a47 100644 --- a/firmware/source_stm_only/usbstm.c +++ b/firmware/source_stm_only/usbstm.c @@ -165,7 +165,7 @@ USBDRIVER void usb_reset_recovery(){ //uint16_t volatile (* const usb_buff)[512] = (void*)USB_PMAADDR; //this was suggestion by: http://a3f.at/articles/register-syntax-sugar //which errors on compilation due to assigning of type array -USBDRIVER uint16_t volatile (* const usb_buff) = (void*)USB_PMAADDR; +uint16_t volatile (* const usb_buff) = (void*)USB_PMAADDR; //static uint16_t num_bytes_req; @@ -756,17 +756,52 @@ USBDRIVER static void control_xfr_init( usbRequest_t *spacket ) { //but this is where we need to snoop on the setup packet to determine //if it's a firmware update packet -// if (fwupdate logic) { + // + //this isn't needed anymore though. because the application code + //jumps to the fwupdate main which effectively exits the main application + //then updates our usb function pointers for us. + // + // +// if (spacket->bRequest == DICT_FWUPDATE ) { // //send this packet to the firmware updater -// erase_main(); +// //do this by changing the usbfuncsetup pointer +// usbfuncsetup = (uint32_t) &usb_fwupdate_setup; //should only assign lower 16bits +// //now all setup packets will go to the fwupdater instead of application code +// //we're basically stuck in this condition until a reset which is what we want +// //accidentally jumping to the application code that's not existent would brick us +// //hmmm could have the application code do this for us though instead of slowing down +// //all setup packets.. +// //I think I like this idea, use BOOTLOADER dictionary to get it done once +// //rest of update stuff is working +// //other thing that should be protected from is write transfers +// +// //The above was DONE +// +// +// //other thing we need to do is keep the USB ISR from returning to +// //the main function +// //I think this function is inlined with the USB ISR which means the current +// //value in the link register is where the ISR will return to +// asm( +// // "ldr r0, sramconst\n" +// // "mov r13, r0\n" +// // "ldr r0, sramconst+4\n" +// "bkpt\n" +// //"bx r0\n" +// //"mov pc, r0\n" +// //".p2align 2\n" +// //"sramconst:\n" +// ////".word 0xDEADBEEF" +// //".word 0x20001278\n" //MSP for bootloader +// ////".word 0x1FFFC519" //AN2606 note for jumping to bootloader C6 +// //".word 0x1FFFCAC5\n" //C6 reset vector +// ); // } -// else { //normal setup packet send to application code - JumpToApplication = (uint16_t (*)(uint8_t data[8])) ((0x08000000)); //base of flash - //application main makes the following assignment at powerup - //usbfuncsetup = (uint32_t) &usbFunctionSetup; //should only assign lower 16bits - JumpToApplication += usbfuncsetup; -// } + JumpToApplication = (uint16_t (*)(uint8_t data[8])) ((0x08000000)); //base of flash + //application main makes the following assignment at powerup + //usbfuncsetup = (uint32_t) &usbFunctionSetup; //should only assign lower 16bits + JumpToApplication += usbfuncsetup; //perform the actual jump/call num_bytes_sending = JumpToApplication( (uint8_t*) spacket ); diff --git a/firmware/source_stm_only/usbstm.h b/firmware/source_stm_only/usbstm.h index 5975814..9d82def 100644 --- a/firmware/source_stm_only/usbstm.h +++ b/firmware/source_stm_only/usbstm.h @@ -5,6 +5,7 @@ //include target chip port definition library files #include +#include "../source/shared_dictionaries.h" #include "fwupdate.h" #define USBDRIVER __attribute__ ((section (".usb_driver"))) @@ -98,13 +99,19 @@ #define usbflag usb_buff[USBFLAG] //used for communication between USB driver and main application //different values for usbflag // 0x0000 reserved for flag cleared - #define INITUSB 0xA53C + #define INITUSB 0xA53C //used by main application to tell usb driver to initialize itself //need 4 bytes for setup & write functions, bump the BTABLE another 8Bytes for now... #define USBFUNCSETUP 8 -#define usbfuncsetup usb_buff[USBFUNCSETUP] +#define usbfuncsetup usb_buff[USBFUNCSETUP] //will always be odd (Thumb) #define USBFUNCWRITE 9 -#define usbfuncwrite usb_buff[USBFUNCWRITE] +#define usbfuncwrite usb_buff[USBFUNCWRITE] //will always be odd (Thumb) +// #define RESETME 0x5FA4 //used by fwupdater to signal device to reset itself + //being an even number we know it's a safe value because all funcs are thumb +//#define FWPTR_LO 10 +//#define fwptr_lo usb_buff[FWPTR_LO] +//#define FWPTR_HI 11 +//#define fwptr_hi usb_buff[FWPTR_HI] //buffer table itself is located in 1KB buffer above, but it's location is programmable diff --git a/host/scripts/app/dict.lua b/host/scripts/app/dict.lua index c24594b..a829936 100644 --- a/host/scripts/app/dict.lua +++ b/host/scripts/app/dict.lua @@ -728,6 +728,60 @@ local function bootload( opcode, operand, misc, data ) +end + + + +-- external call for firmware update dictionary +local function fwupdate( opcode, operand, misc, data ) + + if not op_fwupdate[opcode] then + print("ERROR undefined opcode:", opcode, "must be defined in shared_dict_fwupdate.h") + return nil + end + + if not operand then + operand = 0 + elseif type(operand) == "string" then + if not op_fwupdate[operand] then + print("ERROR undefined operand:", operand, "must be defined in shared_dict_fwupdate.h") + return nil + end + --decode string operands into + operand = op_fwupdate[operand] + end + + if not misc then misc = 0 end + + local wLength, ep = default_rlen_1_in(op_fwupdate[opcode.."rlen"]) + + local count + count, data = usb_vend_xfr( + -- ep, dictionary wValue[misc:opcode] wIndex wLength data + ep, dict["DICT_FWUPDATE"], ( misc<<8 | op_fwupdate[opcode]), operand, wLength, data) + --print(count) + local error_code, data_len + if ep == USB_IN then + error_code = data:byte(RETURN_ERR_IDX) + data_len = data:byte(RETURN_LEN_IDX) + end + --print("error:", error_code, "data_len:", data_len) + + assert ( (error_code == err_codes["SUCCESS"]), "\n ERROR!!! problem with opcode: " .. opcode .. " device error code: " .. error_code) + + if data_len and data_len ~= (wLength - RETURN_LEN_IDX) then + print("WARNING!! Device's return data length:", data_len, "did not match expected:", wLength-RETURN_LEN_IDX) + end + + --process the return data string and return it to calling function + if data_len then + return string_to_int( data:sub(RETURN_DATA, data_len+RETURN_DATA), data_len) + else + return nil + end + + + end @@ -966,6 +1020,7 @@ op_n64 = {} op_swim = {} op_jtag = {} op_bootload = {} +op_fwupdate = {} op_ciccom = {} err_codes = {} @@ -985,6 +1040,7 @@ create_dict_tables( op_n64, "../shared/shared_dict_n64.h") create_dict_tables( op_swim, "../shared/shared_dict_swim.h") create_dict_tables( op_jtag, "../shared/shared_dict_jtag.h") create_dict_tables( op_bootload,"../shared/shared_dict_bootload.h") +create_dict_tables( op_fwupdate,"../shared/shared_dict_fwupdate.h") create_dict_tables( op_ciccom, "../shared/shared_dict_ciccom.h") create_dict_tables( err_codes, "../shared/shared_errors.h") @@ -1005,6 +1061,7 @@ dict.buffer = buffer dict.buffer_payload_in = buffer_payload_in dict.buffer_payload_out = buffer_payload_out dict.operation = operation +dict.fwupdate = fwupdate -- return the module's table return dict diff --git a/host/scripts/app/fwupdate.lua b/host/scripts/app/fwupdate.lua new file mode 100644 index 0000000..6ec24fc --- /dev/null +++ b/host/scripts/app/fwupdate.lua @@ -0,0 +1,156 @@ + +-- create the module's table +local fwupdate = {} + +-- import required modules +local dict = require "scripts.app.dict" + +-- file constants + +-- local functions +local function erase_main() + + --dict.fwupdate("ERASE_1KB_PAGE", 2) --page 0 & 1 (first 2KByte) are forbidden + --dict.fwupdate("ERASE_1KB_PAGE", 3) --this is redundant for RB (aligns C6 to RB when done with above) + --dict.fwupdate("ERASE_1KB_PAGE", 4) --0x0800_1000 - 0x0800_17FF + --dict.fwupdate("ERASE_1KB_PAGE", 5) --redundant RB + --dict.fwupdate("ERASE_1KB_PAGE", 6) --0x0800_1800 - 0x0800_1FFF + --dict.fwupdate("ERASE_1KB_PAGE", 7) + --dict.fwupdate("ERASE_1KB_PAGE", 8) --0x0800_2000 - 0x0800_27FF + --dict.fwupdate("ERASE_1KB_PAGE", 9) + + curpage = 2 --skip the first pages + rv = dict.fwupdate("GET_FLASH_ADDR") + print("flash addr:", string.format("%X", rv) ) + + while (curpage<32) do +-- while (curpage<128) do + print("erasing page:", curpage) + dict.fwupdate("ERASE_1KB_PAGE", curpage) + + rv = dict.fwupdate("GET_FLASH_ADDR") + print("flash addr:", string.format("%X", rv) ) + + curpage = curpage+1 + end + +end + +local function update_firmware(newbuild) + + print("updating") + + --enter fwupdate mode + dict.bootload("PREP_FWUPDATE") + + --now the device will only respond to FWUPDATE dictionary commands + + --open new file + file = assert(io.open(newbuild, "rb")) + + --TODO verify first 2KByte matches build + + --erase 30KByte of application code +-- erase_main() + + rv = dict.fwupdate("GET_FLASH_ADDR") + print("flash addr:", string.format("%X", rv) ) + print("\n"); + + --advance past the first 2KB of build + dict.fwupdate("ERASE_1KB_PAGE", 30) + rv = dict.fwupdate("GET_FLASH_ADDR") + print("flash addr:", string.format("%X", rv) ) + rv = dict.fwupdate("GET_FLASH_ADDR") + print("flash addr:", string.format("%X", rv) ) + rv = dict.fwupdate("GET_FLASH_ADDR") + print("flash addr:", string.format("%X", rv) ) + rv = dict.fwupdate("GET_FLASH_ADDR") + print("flash addr:", string.format("%X", rv) ) + print("\n"); + + dict.fwupdate("SET_FLASH_ADDR", 0x7912, 0x01) + rv = dict.fwupdate("GET_FLASH_ADDR") + print("flash addr:", string.format("%X", rv) ) + +-- dict.fwupdate("UNLOCK_FLASH") + + dict.fwupdate("WR_HWORD", 0xCC33, 0x00) + rv = dict.fwupdate("GET_FLASH_ADDR") + print("flash addr:", string.format("%X", rv) ) + rv = dict.fwupdate("GET_FLASH_DATA") + print("flash data:", string.format("%X", rv) ) + print("\n"); + print("\n"); + + dict.fwupdate("WR_HWORD", 0x1111, 0x01) + rv = dict.fwupdate("GET_FLASH_ADDR") + print("flash addr:", string.format("%X", rv) ) + rv = dict.fwupdate("GET_FLASH_DATA") + print("flash data:", string.format("%X", rv) ) + print("\n"); + + dict.fwupdate("WR_HWORD", 0x2222, 0x01) + rv = dict.fwupdate("GET_FLASH_ADDR") + print("flash addr:", string.format("%X", rv) ) + rv = dict.fwupdate("GET_FLASH_DATA") + print("flash data:", string.format("%X", rv) ) + print("\n"); + + dict.fwupdate("WR_HWORD", 0x4444, 0x02) + rv = dict.fwupdate("GET_FLASH_ADDR") + print("flash addr:", string.format("%X", rv) ) + rv = dict.fwupdate("GET_FLASH_DATA") + print("flash data:", string.format("%X", rv) ) + print("\n"); + + dict.fwupdate("WR_HWORD", 0x7777, 0x03) + rv = dict.fwupdate("GET_FLASH_ADDR") + print("flash addr:", string.format("%X", rv) ) + rv = dict.fwupdate("GET_FLASH_DATA") + print("flash data:", string.format("%X", rv) ) + print("\n"); + + dict.fwupdate("WR_HWORD", 0xAAAA, 0x10) + rv = dict.fwupdate("GET_FLASH_ADDR") + print("flash addr:", string.format("%X", rv) ) + rv = dict.fwupdate("GET_FLASH_DATA") + print("flash data:", string.format("%X", rv) ) + print("\n"); + + dict.fwupdate("WR_HWORD", 0xBBBB, 0x20) + rv = dict.fwupdate("GET_FLASH_ADDR") + print("flash addr:", string.format("%X", rv) ) + rv = dict.fwupdate("GET_FLASH_DATA") + print("flash data:", string.format("%X", rv) ) + print("\n"); + +-- dict.fwupdate("LOCK_FLASH") + + rv = dict.fwupdate("READ_FLASH", 0x0000, 0x00) + print("read data:", string.format("%X", rv) ) + + rv = dict.fwupdate("READ_FLASH", 0x053e, 0x00) + print("read data:", string.format("%X", rv) ) + + rv = dict.fwupdate("READ_FLASH", 0x791a, 0x00) + print("read data:", string.format("%X", rv) ) + + dict.fwupdate("RESET_DEVICE") + + --write build to flash + + print("updated") +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 +fwupdate.update_firmware = update_firmware + +-- return the module's table +return fwupdate diff --git a/host/scripts/inlretro.lua b/host/scripts/inlretro.lua index 8f66240..f11cd1c 100644 --- a/host/scripts/inlretro.lua +++ b/host/scripts/inlretro.lua @@ -54,6 +54,7 @@ function main () local swim = require "scripts.app.swim" local jtag = require "scripts.app.jtag" local ciccom = require "scripts.app.ciccom" + local fwupdate = require "scripts.app.fwupdate" -- local bootload = require "scripts.app.bootload" -- local crc32 = require "scripts.app.crc32" @@ -67,12 +68,12 @@ function main () --local curcart = require "scripts.nes.mmc1" --local curcart = require "scripts.nes.unrom" --local curcart = require "scripts.nes.cnrom" - local curcart = require "scripts.nes.mmc3" + --local curcart = require "scripts.nes.mmc3" --local curcart = require "scripts.nes.mmc2" --local curcart = require "scripts.nes.mmc4" --local curcart = require "scripts.nes.mm2" --local curcart = require "scripts.nes.mapper30" - --local curcart = require "scripts.nes.bnrom" + local curcart = require "scripts.nes.bnrom" --local curcart = require "scripts.nes.cdream" --local curcart = require "scripts.nes.cninja" --local curcart = require "scripts.nes.action53" @@ -88,7 +89,7 @@ function main () -- ===================================================== -- USERS: set cart_console to the to point to the mapper script you would like to use here. -- ===================================================== - local cart_console = "NES" --includes Famicom + --local cart_console = "NES" --includes Famicom --local cart_console = "SNES" --local cart_console = "SEGA" --local cart_console = "N64" @@ -143,6 +144,12 @@ function main () -- dict.bootload("JUMP_BL") -- dict.bootload("JUMP_TEST") -- print("jumped") +-- + + --Firmware update testing + + fwupdate.update_firmware("../firmware/build_stm/inlretro_stm.bin") + -- debug = true -- rv = cart.detect(debug) @@ -288,7 +295,7 @@ function main () --curcart.process( true, false, true, true, true, "ignore/dump.bin", "ignore/BBC_nonJW.bin", "ignore/verifyout.bin") --curcart.process( true, false, false, false, false, "ignore/dump.bin", "ignore/MysticOrigins.prg", "ignore/verifyout.bin") --curcart.process( true, false, true, true, true, "ignore/dump.bin", "ignore/NESmaker.nes", "ignore/verifyout.bin") - --curcart.process( true, false, true, true, false, "ignore/dump.bin", "ignore/tb_map30.prg", "ignore/verifyout.bin") + --curcart.process( true, false, true, true, true, "ignore/dump.bin", "ignore/tb_map30.prg", "ignore/verifyout.bin") --COLOR NINJA @@ -363,7 +370,7 @@ function main () --BNROM --curcart.process( true, false, true, true, true, "ignore/dump.bin", "ignore/lizard_PG.prg", "ignore/verifyout.bin") - --curcart.process( true, true, true, true, true, "ignore/dump.bin", "ignore/lizard_v2.prg", "ignore/verifyout.bin") + curcart.process( true, false, true, true, true, "ignore/dump.bin", "ignore/lizard_v2.prg", "ignore/verifyout.bin") --curcart.process( true, false, true, true, false, "ignore/dump.bin", "ignore/hh85.prg", "ignore/verifyout.bin") --FME7 diff --git a/shared/shared_dict_bootload.h b/shared/shared_dict_bootload.h index 8c80620..3ee4728 100644 --- a/shared/shared_dict_bootload.h +++ b/shared/shared_dict_bootload.h @@ -23,6 +23,7 @@ #define LOAD_ADDRH 2 //upper address of jump #define JUMP_ADDR 3 //jump to address upper 16bit provided previous opcode +#define PREP_FWUPDATE 4 //leave main application and sets up for fwupdate #endif diff --git a/shared/shared_dict_fwupdate.h b/shared/shared_dict_fwupdate.h new file mode 100644 index 0000000..dba8c10 --- /dev/null +++ b/shared/shared_dict_fwupdate.h @@ -0,0 +1,66 @@ +#ifndef _shared_dict_fwupdate_h +#define _shared_dict_fwupdate_h + +//define dictionary's reference number in the shared_dictionaries.h file +//then include this dictionary file in shared_dictionaries.h +//The dictionary number is literally used as usb transfer request field +//the opcodes and operands in this dictionary are fed directly into usb setup packet's wValue wIndex fields + + +//============================================================================================= +//============================================================================================= +// FIRMWARE UDPATE DICTIONARY +// +// opcodes contained in this dictionary must be implemented in firmware/source_stm_only/fwupdate.c +// dictionary used to control self updating firmware functions +// These commands aren't actually processed by the main application +// they are sniffed out by the device's usb code and handled separately +// this is because we are presumedly erasing the main application code +// +//============================================================================================= +//============================================================================================= + + +//send the 1KByte page address to be erased CANNOT send page 0 or 1 as this is where usb & fwupdater is +//RB has 2KByte pages so the page numbers are off, and 2KByte will be erased per command +//C6 has 1KByte pages which is more aligned with how this function operates +//The argument is effectively A10-A26 of the mcu memory map starting with offset 0x0800_0000 +//ie sending 2 to a C6 erases 0x0800_0800 through 0x0800_0BFF +//ie sending 2 to a RB erases 0x0800_0800 through 0x0800_0FFF +//ie sending 3 to a C6 erases 0x0800_0C00 through 0x0800_0FFF +//ie sending 3 to a RB erases 0x0800_0800 through 0x0800_0FFF (same as 2) +//you can pretend they're the same if you always send the odd page that follows the even +//this will be redundant for the RB erasing the same page twice, but make them behave the same +//you can effectively ignore the odd pages on RB, or pretend the page number is shifted right by 1 +#define ERASE_1KB_PAGE 1 //erase any page except the first 2KByte + +//Don't actually want to leave the flash in an unlocked state +//it's fast to unlock/lock so just do it before each flash operation +//#define UNLOCK_FLASH 2 +//#define LOCK_FLASH 3 + +#define WR_HWORD 4 //operand = data, miscdata = offset from FLASH->AR + +//FLASH->AR seems to drop the upper 16bits of address when flash is unlocked... +//but it's still there apparently when accessed internally for flashing halfwords..? +#define GET_FLASH_ADDR 5 //RL = 6 0-SUCCESS 1-len 2-LSB 3, 4, 5-MSB + +//SET FLASH->AR to an address that's currently erased +// 0x08 8bitmiscdata 16bitoperand +// this also unlocks then locks the flash and writes 0xFFFF to the address selected +// C6 only has 32KByte of flash, so miscdata must be zero +// operand MUST BE EVEN! writes must be half word aligned +#define SET_FLASH_ADDR 6 //only works if the + +#define GET_FLASH_DATA 7 //RL = 4 0-SUCCESS 1-len 2-LSB 3-MSB +//similar to above, but provide an address, FLASH->AR is unchanged +//can generically read from any flash address +// ADDRESS: 0x08 8bitmiscdata 16bitoperand +// this could be used to dump the entire contents of the flash +#define READ_FLASH 8 //RL = 4 0-SUCCESS 1-len 2-LSB 3-MSB + +//device issues system reset to itself +//don't want to do this until the main application has been reprogrammed +#define RESET_DEVICE 9 + +#endif diff --git a/shared/shared_dictionaries.h b/shared/shared_dictionaries.h index 99cbf48..0aee474 100644 --- a/shared/shared_dictionaries.h +++ b/shared/shared_dictionaries.h @@ -270,4 +270,16 @@ //============================================================================================= +//============================================================================================= +//============================================================================================= +#define DICT_FWUPDATE 16 +#include "shared_dict_fwupdate.h" +//dictionary used to control self updating firmware functions +//These commands aren't actually processed by the main application +//they are sniffed out by the device's usb code and handled separately +//this is because we are presumedly erasing the main application code +//============================================================================================= +//============================================================================================= + + #endif diff --git a/shared/shared_errors.h b/shared/shared_errors.h index 6f5ef2b..108a590 100644 --- a/shared/shared_errors.h +++ b/shared/shared_errors.h @@ -13,10 +13,14 @@ #define ERR_UNKN_JTAG_OPCODE 135 #define ERR_UNKN_CICCOM_OPCODE 136 #define ERR_UNKN_BOOTLOAD_OPCODE 138 +#define ERR_UNKN_FWUPDATE_OPCODE 139 #define ERR_UNKN_PP_OPCODE 140 #define ERR_CTL_PIN_NOT_PRESENT 141 +#define ERR_FWUPDATE_BAD_ADDR 142 +#define ERR_FWUPDATE_HIJACK_FAIL 143 + #define ERR_UNKN_IO_OPCODE 150 #define ERR_UNKN_SWIM_LANE 151 #define ERR_UNKN_JTAG_LANE 152