From fe11fd0306cee1635531618399ad4abb7115aba7 Mon Sep 17 00:00:00 2001 From: Onwrikbaar Date: Mon, 14 Oct 2024 22:25:05 +0200 Subject: [PATCH] Prep for Dweeb. --- firmware/build/neodk_g071.hex | 2640 ++++++++++++++++----------------- firmware/inc/app_event.h | 2 +- firmware/src/controller.c | 23 +- firmware/src/datalink.c | 12 +- firmware/src/debug_cli.c | 11 +- firmware/src/neodk_main.c | 4 +- firmware/src/sequencer.c | 29 +- 7 files changed, 1374 insertions(+), 1347 deletions(-) diff --git a/firmware/build/neodk_g071.hex b/firmware/build/neodk_g071.hex index d699384..5fe6585 100644 --- a/firmware/build/neodk_g071.hex +++ b/firmware/build/neodk_g071.hex @@ -1,21 +1,21 @@ :020000040800F2 -:1000000000900020D52A0008252B0008B11C00080C +:1000000000900020812A0008D12A00085D1C000809 :1000100000000000000000000000000000000000E0 -:10002000000000000000000000000000252B000878 -:100030000000000000000000252B00080D1D000836 -:10004000252B0008252B0008252B0008252B000850 -:100050001D1D0008252B0008252B0008BD1F0008CA -:10006000252B0008C5200008252B0008252B00089B -:1000700029200008391D0008A91D00085D1E000880 -:10008000252B00080D200008252B0008252B000833 -:10009000252B0008252B0008252B0008252B000800 -:1000A000252B0008252B0008252B0008252B0008F0 -:0C00B00031210008252B0008252B00083A +:10002000000000000000000000000000D12A0008CD +:100030000000000000000000D12A0008B91C0008E0 +:10004000D12A0008D12A0008D12A0008D12A0008A4 +:10005000C91C0008D12A0008D12A0008691F00081D +:10006000D12A000871200008D12A0008D12A0008EE +:10007000D51F0008E51C0008551D0008091E0008D2 +:10008000D12A0008B91F0008D12A0008D12A000887 +:10009000D12A0008D12A0008D12A0008D12A000854 +:1000A000D12A0008D12A0008D12A0008D12A000844 +:0C00B000DD200008D12A0008D12A000839 :1000BC0010B5064C2378002B07D1054B002B02D032 :1000CC00044800E000BF0123237010BD7000002025 -:1000DC00000000009C4A0008044B10B5002B03D014 +:1000DC00000000001C4A0008044B10B5002B03D094 :1000EC000349044800E000BF10BDC04600000000FA -:1000FC00740000209C4A0008F0B50124C023844001 +:1000FC00740000201C4A0008F0B50124C023844081 :10010C000B4D5B00EC500700830803203840FF27A1 :10011C00AC46C026C0008740890181409B006344E7 :10012C00B6009A59BA430A439A512C60F0BDC046A6 @@ -34,38 +34,38 @@ :1001FC0052435243456A1601B61AB5434E697243CF :10020C002A4342624D68B1E710B511240200084838 :10021C000B00016AA14301628020064980008862BC -:10022C00DA38FF3888610449044803F0D9FBFEE74B -:10023C00002C014000040050944E00087C51000832 -:10024C00FA2170B5124C05008900206802F0B0F953 +:10022C00DA38FF3888610449044803F09BFBFEE789 +:10023C00002C014000040050644E0008505100088E +:10024C00FA2170B5124C05008900206802F086F97D :10025C00802301385B04984201D3012070BDC0217A :10026C000C4A090650600C48036A1B021B0A0B431C :10027C0003620721002393601160032DEDD8026AFD :10028C00A9071202120A0A43026218006560E5E728 :10029C000000002010E000E000ED00E010B50A00C6 -:1002AC0002490348103103F09BFB10BD944E00082B -:1002BC008851000810B50A0002490348203103F0A8 -:1002CC008FFB10BD944E00088851000870B50C00CF -:1002DC0064260500164803F083FBDB2366435B00B2 -:1002EC00EC543100134803F07BFB5023124AD652D6 +:1002AC0002490348103103F05DFB10BD644E000899 +:1002BC005C51000810B50A0002490348203103F0D4 +:1002CC0051FB10BD644E00085C51000870B50C0069 +:1002DC0064260500164803F045FBDB2366435B00F0 +:1002EC00EC543100134803F03DFB5023124AD65214 :1002FC00124B321C9E4200D91A1C114B92B29A42DC :10030C0000D21A000D4B28349A1A0E4BE4B2534308 :10031C008022120194460C4A63441B0B536121004A -:10032C000A4803F05DFBB823FF33EC5470BDC046A4 -:10033C0090510008B05100088C000020D327000019 -:10034C00B20400004907000000740040C8510008C6 +:10032C000A4803F01FFBB823FF33EC5470BDC046E2 +:10033C0064510008845100088C000020D327000071 +:10034C00B204000049070000007400409C510008F2 :10035C004B1E9941012310B54942994300220023B9 -:10036C000E3103F0A3FD10BD70B5060014001D0086 +:10036C000E3103F061FD10BD70B5060014001D00C8 :10037C0082B080360092019332687368A41A9D4152 :10038C00002D04D1074B9C4201D802B070BD08234C -:10039C006A46132103F08AFD009B019C3360746054 +:10039C006A46132103F048FD009B019C3360746096 :1003AC00F3E7C046BFE1E40030B50100040083B0C0 -:1003BC00174803F015FB5023164D221CEC52164B1C +:1003BC00174803F0D7FA5023164D221CEC52164B5B :1003CC009C4200D91A1C154B92B29A4200D21A00C8 :1003DC00114B64219A1A124B5343802212019446FA :1003EC00104A63441B0B53615023E85A2B005833BB -:1003FC0098836B46DC1D02F0DBF82830207001235B -:10040C0022002121E86E03F051FD03B030BDC0463F -:10041C00B05100088C000020D3270000B20400006B +:1003FC0098836B46DC1D02F0B1F828302070012385 +:10040C0022002221E86E03F00FFD03B030BDC04680 +:10041C00845100088C000020D3270000B204000097 :10042C004907000000740040F0B5D6464F464646DA :10043C000300C0B5A933FF331D8902000020002D35 :10044C0004D1E0BCBA46B146A846F0BDD4219C7A92 @@ -73,7 +73,7 @@ :10046C005200241A0120013CE4B2987248689B792E :10047C0085189946865C6D788F7AC82B7ED80123B7 :10048C005B424B449846042F00D89BE04B46002B14 -:10049C0005D1704B704A1800704903F0B1FA002C6A +:10049C0005D1704B704A1800704903F073FA002CA8 :1004AC0000D185E07B01DB1B9801C01AFA23C00048 :1004BC00C01980019B04984274D36948002206211C :1004CC00684B013CD8621C635A621A698A431A61F0 @@ -84,48 +84,48 @@ :10051C0019401A400340002900D08DE002205349B5 :10052C008862002A6FD10421504A9162002B50D06E :10053C0020224E4B9A61002352214D4A494C535272 -:10054C006363A36390692E39002203F0AFFC012290 +:10054C006363A36390692D39002203F06DFC0122D3 :10055C00236801201343236073E701320C89D6B260 :10056C00B4422DD07200DC790134E4B2DC71CE7A65 :10057C00013EB44252D00020987277E7C7239846C8 :10058C00042F8CD8334B3B4A18003B499A4603F056 -:10059C0037FA002C0ED07B01DB1B9801C01AC0006F -:1005AC00C0198001FA21890002F002F8013885E7B0 -:1005BC00284B9A465046314A314903F021FA71E7EB -:1005CC000022D0E7234B2B4A18002B4903F018FAD2 +:10059C00F9F9002C0ED07B01DB1B9801C01AC000AE +:1005AC00C0198001FA21890001F0D8FF013885E7D4 +:1005BC00284B9A465046314A314903F0E3F971E72A +:1005CC000022D0E7234B2B4A18002B4903F0DAF911 :1005DC005CE72022254B9A62ADE742460421214B71 :1005EC0035439A63DA680A43DA605A6903390A4375 :1005FC005A61002D1ED140221B4B9A621B4B3E3A76 :10060C0099619A6108230421184A91618EE762214D -:10061C001C4A1048FF3103F0F3F95CE70026013067 +:10061C001C4A1048FF3103F0B5F95CE700260130A5 :10062C0080B2DE7198800F898742A4D1013D9E80F3 :10063C001D81A0E7ADB25DE702200C49886170E72F :10064C00082402213C3A19401A402340074CA0616F -:10065C0061E7C04600520008145200083E03000037 +:10065C0061E7C046D4510008E85100083E03000091 :10066C00FEFF0000002C0140000800500004005068 -:10067C008C000020EC5100083D03000030520008B3 -:10068C003F03000048520008032310B5104C114AD8 +:10067C008C000020C05100083D030000045200080B +:10068C003F0300001C520008032310B5104C114A04 :10069C0023616361104BA261E36180239B012362A0 :1006AC000023A3626362E36222660C4A0C4978322F :1006BC0062661022E01DA2662367E366636703F09F -:1006CC004DFE2000074903F049FE2023A37110BD05 -:1006DC002421002064520008240100208C000020FA -:1006EC007052000874520008F8B54746CE4680B5E3 +:1006CC000DFE2000074903F009FE2023A37110BD85 +:1006DC002421002038520008240100208C00002026 +:1006EC004452000848520008F8B54746CE4680B53B :1006FC008368C56899465B1B9846436804000E00E6 -:10070C0017005819904507D9ED1903F0EDFCE56079 -:10071C00C0BCB946B046F8BD424603F0E5FC4B46BA -:10072C003100ED19ED1A2A006068414403F0DCFC3D +:10070C0017005819904507D9ED1903F0ADFCE560B9 +:10071C00C0BCB946B046F8BD424603F0A5FC4B46FA +:10072C003100ED19ED1A2A006068414403F09CFC7D :10073C00E560EDE7F0B557464E464546DE46E0B57A :10074C00354B83B09A461B78060015000191002B9F :10075C0056D07700BB19DB0053441A6F9046DA6E03 :10076C009146904525D8130042462C009B1A9D4279 :10077C0009D8002C09D1200003B0F0BCBB46B2460E :10078C00A946A046F0BD1C1EF5D0A146BB19DB0046 -:10079C005344596E220041440198A04403F0A4FC38 +:10079C005344596E220041440198A04403F064FC78 :1007AC004C46002CE7D04346BF19FF0057443B672B :1007BC00E1E742469B6E2C009B1A9D4227D8BB1941 :1007CC00DB0053449B46596E22004144019803F0D0 -:1007DC008BFC5B469B6EA0442D1B434519D04B46AE +:1007DC004BFC5B469B6EA0442D1B434519D04B46EE :1007EC0042469B1A99464D450DD8002DD9D0019BF8 :1007FC00A1469C46A44463462C000193A944C5E73A :10080C00FFF742FFA5E74D46002DCAD0EFE71C00CD @@ -140,7 +140,7 @@ :10089C00013B9B1A9F42E1D83A004946FFF724FFDF :1008AC00B846DBE70023746A98461DE0013B356AC5 :1008BC001B1BBB4200D93B002D1B9D4200D91D00C8 -:1008CC005B46534458682A004946001903F00CFC57 +:1008CC005B46534458682A004946001903F0CCFB98 :1008DC00336A6419E31A5A1E93415B421C40A844C4 :1008EC00A9447F1B7462B9D0B36AA342DED8356ABF :1008FC005B19013B1B1BDCE7316A5B18013B9B1A44 @@ -154,1294 +154,1292 @@ :10097C000023A360DFE7FFF787FEE6E724210020D2 :10098C00F0B54E4645465746DE46E0B583B09A462E :10099C000C9B80460E0015009946914200D27DE0DA -:1009AC0008000127290001F003FE01378542F9D91F +:1009AC0008000127290001F0D9FD01378542F9D94A :1009BC00574500D2574601230D9A1A4001920D9AC1 :1009CC0013424ED14B46002B4BD0130020249B07D7 :1009DC005ED44F4545D201235B429C4621004046E4 :1009EC00E144FFF795FF4346DB68002B32DB4B46B7 :1009FC00002BEED153460124012B07D901235B4276 :100A0C009C46E24453466C43012BF7D8210030003E -:100A1C0001F0CEFD8542F5D9214B9B4630239A46F9 -:100A2C0006E02900200001F0C3FDAC420FD3040006 -:100A3C003000210001F042FE534658440E00C15CC8 +:100A1C0001F0A4FD8542F5D9214B9B4630239A4623 +:100A2C0006E02900200001F099FDAC420FD3040030 +:100A3C003000210001F018FE534658440E00C15CF2 :100A4C004046FFF765FF4346DB68002BE9DA019B64 :100A5C00002B19D103B0F0BCBB46B246A946A04648 :100A6C00F0BD4346DB68002BC4DAF3E74F45F1D207 :100A7C0001235B429C4620214046E144FFF748FF9E :100A8C004346DB68002BE5DB4B46002BEED1E1E760 :100A9C0053465C425C41240120349AE7012787E7E6 -:100AAC00944E000810B5080003F0D4FA0349020074 -:100ABC004031034802F094FF002010BD944E000812 -:100ACC007C52000810B5080003F0C4FA0349020078 -:100ADC004C31034802F084FF002010BD944E0008F6 -:100AEC00A052000810B50400806F03F0DBF9002859 -:100AFC0001D1002010BD606F03F0D4F90028F8D0AC -:100B0C00200003F0CFF9F5E770B5D02676008359B5 -:100B1C0004009847051E1BD0A65903F07DFA01006E -:100B2C002000B047002804D0E3210A4A0A4802F00A -:100B3C0067FFD0235B00E55003F060FA0100200052 -:100B4C00A847002804D0E621024A034802F058FFC7 -:100B5C0070BDC046C4520008D052000870B5D026F3 +:100AAC00644E000810B5080003F092FA03490200E6 +:100ABC004031034802F056FF002010BD644E000880 +:100ACC005052000810B5080003F082FA03490200E6 +:100ADC004C31034802F046FF002010BD644E000864 +:100AEC007452000810B50400806F03F099F90028C7 +:100AFC0001D1002010BD606F03F092F90028F8D0EE +:100B0C00200003F08DF9F5E770B5D02676008359F7 +:100B1C0004009847051E1BD0A65903F03BFA0100B0 +:100B2C002000B047002804D0E8210A4A0A4802F005 +:100B3C0029FFD0235B00E55003F01EFA01002000D2 +:100B4C00A847002804D0EB21024A034802F01AFF00 +:100B5C0070BDC04698520008A452000870B5D0264B :100B6C007600835904009847051E1DD0A65903F042 -:100B7C0053FA01002000B047002805D09E210B4AF3 -:100B8C000B48490002F03CFFD0235B00E55003F01A -:100B9C0035FA01002000A847002805D04021034A5F -:100BAC000348FF3102F02CFF70BDC046C452000850 -:100BBC00E4520008F8B50600CC36050001223000DE -:100BCC0002F0E8FF012804D0C321244A244802F093 -:100BDC0017FF72B6BFF34F8FBFF36F8F4827214CAF -:100BEC00E35DFF2B2CD0482201333000A35402F0DC -:100BFC004BFF00280FD04825635D002B18D04822EE +:100B7C0011FA01002000B047002805D050210B4A83 +:100B8C000B48FF3102F0FEFED0235B00E55003F072 +:100B9C00F3F901002000A847002805D0A921034A39 +:100BAC000348490002F0EEFE70BDC04698520008A2 +:100BBC00B8520008F8B50600CC360500012230000A +:100BCC0002F0AAFF012804D0C521244A244802F0CF +:100BDC00D9FE72B6BFF34F8FBFF36F8F4827214CEE +:100BEC00E35DFF2B2DD0482201333000A35402F0DB +:100BFC000DFF00280FD04825635D002B19D048222B :100C0C00013BDBB2A354002B04D1BFF34F8FBFF3D6 -:100C1C006F8F62B6F8BDE123EA56012A17D048253A -:100C2C0011491248583102F0DBFE635D002BE6D10E -:100C3C00A6210F4A0F48890002F0E2FE635DDEE751 -:100C4C000D4A0E490B4802F0DBFEE35DCBE7802139 -:100C5C000B4A13688B431360CDE7C046F45200086F -:100C6C00005300088C000020944E000838530008F4 -:100C7C005453000800520008105300089102000061 -:100C8C0000440040F0B5CE4647460400E22380B550 -:100C9C00E65A83B01000B6186A46F31DDB08DB0079 -:100CAC00D31A02AF9D4602AB9846E623E25C019054 -:100CBC00009100230421404603F03EF872B6BFF3C6 -:100CCC004F8FBFF36F8F4823234D9946EB5CFF2B5F -:100CDC0034D0482220000133AB5441463200CC3092 -:100CEC0002F0DAFE002814D148242B5D002B1DD015 -:100CFC004822013BDBB2AB54002B04D1BFF34F8F26 -:100D0C00BFF36F8F62B6BD4601B0C0BCB946B046EA -:100D1C00F0BDE123E256012A18D048240F491048AF -:100D2C00583102F05DFE2B5D002BE1D1A6210D4A5E -:100D3C000D48890002F064FE2B5DD9E70B4A0C4983 -:100D4C00094802F05DFE4B46EB5CC2E78021094A84 -:100D5C0013680B431360C7E78C000020944E000807 -:100D6C003853000854530008005200081053000870 -:100D7C009102000000440040F0B5DE4657464E4656 -:100D8C004546E0B58DB0834602AF08000C0003F079 -:100D9C0061F9152826D011D8012837D002282BD17B -:100DAC00BF49C0486C3102F01BFE0020BD460BB0A1 -:100DBC00F0BCBB46B246A946A046F0BD17281BD1D5 -:100DCC00200003F049F9027A0400851D062A42D05E -:100DDC00082A21D0022A2AD0B349B4485C3102F047 -:100DEC00FFFDE2E7D4235A46AD495B00D058783179 -:100DFC002622FFF747FFD8E7200003F02BF9A8497C -:100E0C0002006C31AA4802F0EBFDCEE7A449A948D8 -:100E1C006C3102F0E5FDC8E7C188AA88A64802F04B -:100E2C00DFFDA149A548483102F0DAFDBDE7AA88EB -:100E3C00C188A34802F0D4FDAA88062A00D147E154 -:100E4C00072A3ED0052A00D19FE097499D482031C2 -:100E5C0002F0C6FDA9E7AA88C1889B4802F0C0FD34 -:100E6C00AA88072A1DD0082A15D1AB790C2B9CD146 -:100E7C005A469933FF33D658EB790E34042B00D1F4 -:100E8C006FE2052B00D1ABE11D21002300223000C5 -:100E9C0003F00CF889E784498A48343102F0A0FD4C -:100EAC0083E7AB79042B00D07FE759462200A133AE -:100EBC00FF33C858A43B20210D32FF3B02F0F6FF54 -:100ECC0073E7D2235A465B00D2581233D45C00230A -:100EDC007A8B3B767B837B761E232900BA83F818AA -:100EEC00062203F001F920220523BA1813702422DC -:100EFC00013BBA1813702133FB181C70D4235A46CB -:100F0C005B00D5580E2290466E46C63BEB5A042128 -:100F1C0098441533DB08DB00F31A9D4602AB994667 -:100F2C00E623EA5CD83B01930A33FB18009348464E -:100F3C00012302F001FF72B6BFF34F8FBFF36F8F27 -:100F4C004823624C9A46E35CFF2B00D1CAE148224D -:100F5C0028000133A35449464246CC3002F09CFD94 -:100F6C00002800D0B3E14825635D002B00D18AE155 -:100F7C004822013BDBB2A354002B04D1BFF34F8FAB -:100F8C00BFF36F8F62B6B5460FE76B46FB60D2239B -:100F9C005A465B00D25810336946D35C98469B0086 -:100FAC007B600733DB08DB00CB1A9D46434602AC63 -:100FBC003C61002B00D1ACE1D2235B00D0584646FB -:100FCC000023190141589A000133A150DAB296421C -:100FDC00F7D83B69B0469A462B00022400265546AA -:100FEC00994601CD01F0D2FAFF239C4680B284458C -:100FFC009B415B420233C01801362418F6B2A4B2EE -:10100C00B045EED123006A460C339BB20733DB08A4 -:10101C00DB00D31A9D4602AEBE6073880E24B380EB -:10102C0000236C440622338073804946200003F071 -:10103C005BF80523A37005AB7A687B611623944695 -:10104C00012533733B69A846634455463B6114E064 -:10105C0002220C239246337070700A3B02045444F3 -:10106C00F01844444946120C03F03EF8A3B29846DB -:10107C003B690435AB4200D1BCE02B687E6918009B -:10108C00994601F083FA84B24644FF2CE0D90D2333 -:10109C0003223370230AB370924603237070DDE78A -:1010AC00944E00088C530008144F00085854000844 -:1010BC00A052000874530008205400084054000843 -:1010CC00A0530008C8530008E85300088C00002007 -:1010DC00D2225B4652009958B623FF33CB5C8A5818 -:1010EC001B019C586E46200001F050FAFF2380B281 -:1010FC0083429B415B42C0180E3083B20733DB083E -:10110C00DB00F31A9D4602AB984642465B882900E9 -:10111C0093800023138053800E336B449946062230 -:10112C00180002F0E1FF05234A462000937001F0FD -:10113C002DFA83B29946FF2B00D9ACE00C23424622 -:10114C00022513730E23507343440204210018002C -:10115C00120C02F0C9FF4B460C33ED18D4235A463F -:10116C005B00D358ADB29A46E2235246D35A6A4634 -:10117C009946A9444B460733DB08DB00D31A9D463E -:10118C0002AB9B465246E623D25C434604210093B5 -:10119C0058460123019502F0CFFD72B6BFF34F8F75 -:1011AC00BFF36F8F4825784C635DFF2B00D1A1E016 -:1011BC00482250460133A35459464A46CC3002F0DB -:1011CC006BFC002800D1CEE6E1235246D256012A10 -:1011DC0000D181E06D496E48583102F001FCC2E645 -:1011EC006C490522200002F071FF1B21002800D061 -:1011FC004AE64AE641460D3189B245460B001822B3 -:10120C007869425558469132FF328658C63AB55ADB -:10121C006A46ED18EB1DDB08DB00D31A9D4602ABCA -:10122C009846E623F25C0191BB680421009340468A -:10123C00012302F081FD72B6BFF34F8FBFF36F8FA6 -:10124C004823514C9946E35CFF2B5AD0482230007E -:10125C000133A35441462A00CC3002F01DFC002877 -:10126C0023D14825635D002B29D04822013BDBB2FA -:10127C00A354002B04D1BFF34F8FBFF36F8F62B613 -:10128C00FB689D4691E5A621434A4448890002F03B -:10129C00B7FB635D6CE642460D2313734B461B0A8A -:1012AC00937303250F2350734EE7E123F256012A63 -:1012BC0051D036493648583102F092FBD1E7A6217D -:1012CC00354A3648890002F09BFB635DCDE7E1238C -:1012DC00EA56012A00D07DE78021314A13680B437E -:1012EC00136040E62F4A30492C4802F089FB5346E4 -:1012FC00E35C2CE62B4A2C49284802F081FB635D09 -:10130C0056E7284A2849254802F07AFB4B46E35C0D -:10131C009CE700237A8B3B767B837B761E2329000C -:10132C00BA83F818062202F0DFFE20220523BA1831 -:10133C00137024221133BA1813700C2294460C32F9 -:10134C009046B844C44462467A61424601250E2157 -:10135C00083BBA6053E78021114A13680B431360B2 -:10136C007FE704222000114902F0B0FE002809D0CA -:10137C00042220000E4902F0A9FE002800D083E5CB -:10138C001C2182E51A2180E58C000020944E000877 -:10139C003853000818540008545300080052000831 -:1013AC000044004010530008910200001054000843 -:1013BC0078540008F0B50400E025DC20C646E2268F -:1013CC00635D00B55A1C62552258D154615DA35B14 -:1013DC00994206D327580FD0E422A05A1B189942E1 -:1013EC0003D0002080BCB846F0BDE02300223800BA -:1013FC00E25402F0FDFCF5E7380002F0D5FC0028C1 -:10140C000DD0380002F000FDE4239846E052802312 -:10141C0001001B01984215D8615DA35BDEE7635D9B -:10142C00013BDBB26355002BDBD00023DC25E03025 -:10143C006259D1184978D154225C0133DBB29A42FB -:10144C00F6D8CEE7034802F0CBFA00234246A3526B -:10145C00C7E7C04680540008F0B5CE4647460B009F -:10146C00E22180B583B0465A6946F41DE408E400D5 -:10147C00091B02AF8D4602A9884600920500002286 -:10148C000121404602F020FC72B6BFF34F8FBFF330 -:10149C006F8F4823234C9946E35CFF2B34D04822B2 -:1014AC0028000133A35441463200CC3002F0F4FA48 -:1014BC00002814D14825635D002B1DD04822013B28 -:1014CC00DBB2A354002B04D1BFF34F8FBFF36F8F4C -:1014DC0062B6BD4601B0C0BCB946B046F0BDE12312 -:1014EC00EA56012A18D048250F491048583102F005 -:1014FC0077FA635D002BE1D1A6210D4A0D488900D6 -:10150C0002F07EFA635DD9E70B4A0C49094802F0F8 -:10151C0077FA4B46E35CC2E78021094A13680B4318 -:10152C001360C7E78C000020944E00083853000865 -:10153C005453000800520008105300089102000098 -:10154C00004400400FB430B597B01AA920C9280048 -:10155C00019102F03BFA2A0004005021019B02A8E1 -:10156C0002F030FF002806DD064B013082B202A9E2 -:10157C00186FFFF787FB200017B030BC08BC04B015 -:10158C001847C0468C00002070B5050008000C0000 -:10159C0002F060FDC31FDBB21A2B03D823499B005A -:1015AC00CB589F46224902006C31224802F018FAAF -:1015BC0070BD2100A86F02F0BDFCF9E7200002F01D -:1015CC004BFD0023416800681B4A01F091F90400AF -:1015DC003C21200001F072F820000E003C2100F0AC -:1015EC00E7FF3C2101F06AF80D00E1212000090120 -:1015FC0000F0DEFF330001002A001048FFF7A2FFC5 -:10160C00D6E7200002F028FD04680D482100FFF702 -:10161C0099FF022CCCD188230022EA54C8E700237E -:10162C0000221E21A86F02F041FCC1E7B44A000859 -:10163C00144F0008D054000840420F00A454000876 -:10164C00BC54000870B5040008000D0002F002FD47 -:10165C0020285DD030D8142846D01F283AD10A2132 -:10166C002000FEF733FEB622DA21FF32A35C4900DC -:10167C000133DBB2A354615C994251D01B01D222DD -:10168C005200A5582B48ED182968FFF75BFFB823CB -:10169C00D422FF335200E35CA550A934FF34AA894D -:1016AC00A37100232281A380EB7A002B3BD0002373 -:1016BC00E371A372002070BD21280BD1280002F029 -:1016CC00CBFC05781C48290002F08AF9B823FF33BB -:1016DC00E554EFE7280002F0BDFC184902007C310C -:1016EC00174802F07DF9E5E7280002F0B5FC154A31 -:1016FC0041888388008853434A43C1010918090172 -:10170C00091A9B0B920B890A0F48FFF71BFFD1E7B5 -:10171C00280002F0A1FC01782000FEF7D7FDC9E7F4 -:10172C000023A354ABE74821084A094802F068F9A2 -:10173C00BDE7C04604550008C8510008144F000806 -:10174C007C5200084DCE0000DC54000818550008EF -:10175C003055000870B5040008000D0002F07AFC4A -:10176C00262803D8254A800013589F4629002000BC -:10177C00FFF768FF70BDB623FF33E25C113BE35803 -:10178C0012019B18B822D426FF32A25C7600A3511A -:10179C00A5199989AA7100222981AA80DA7A002ACE -:1017AC0024D00022EA71AA7219681548FFF7CAFE04 -:1017BC001448DFE714491548083102F011F90020EC -:1017CC00D8E711491248083102F00AF90020D1E794 -:1017DC00104802F005F90020CCE7D4235B00E35855 -:1017EC000D481968FFF7AEFE0020C3E748210B4AED -:1017FC000B4802F005F9A359D3E7C046204B00086B -:10180C006C55000831180008944F00084455000826 -:10181C00585500087C5500089055000818550008CC -:10182C003055000870B5050008000C0002F012FCE1 -:10183C00262803D8164A800013589F4621002800FA -:10184C00FFF700FF70BD0020FCE72800FEF7ECFD61 -:10185C0003000020002BF5D1A933FF33EB580D48C2 -:10186C001968FFF76FFE0C48ECE70C490C48143173 -:10187C0002F0B6F82800FEF7D7FD0020E2E7074992 -:10188C000848143102F0ACF80020DBE70648D9E731 -:10189C00BC4B00089055000861170008944F0008D5 -:1018AC00A0550008AC550008B918000870B5050023 -:1018BC0008000C0002F0CEFB262803D81D4A80003D -:1018CC0013589F4621002800FFF7BCFE70BDD4239F -:1018DC005B00EB5818481968FFF734FE1748F5E71A -:1018EC0017491848243102F07BF80020EEE7144920 -:1018FC001548243102F074F80020E7E70020E5E7F2 -:10190C00D8235B00EB5A002B08D1A933FF33EB58DB -:10191C000E481968FFF716FE0D48D7E7D4235B0075 -:10192C00EB580C481968FFF70DFE0020CEE708486D -:10193C00CCE7C046584C0008B855000831180008D0 -:10194C00944F0008A0550008AC55000890550008AD -:10195C0061170008C855000870B50400303CE3B2AC -:10196C0082B0462B03D84D4A9B00D3589F460100AA -:10197C004B48FFF7E7FD02B070BD8026494DB6001D -:10198C006B69334203D1484802F02AF8AE61FA2061 -:10199C008000604380B2FEF707FDECE7434B583301 -:1019AC00988B434B643898420FDCFA239B00984287 -:1019BC0000DA180080B2FEF7F7FCDCE73B4B58333B -:1019CC00988B3B4B64309842EFDD1800EDE780229A -:1019DC003849D2034869030413404022824313431D -:1019EC008B61C8E7314C002300220C21E06E02F021 -:1019FC005DFA002300220E21E06E02F057FABAE7DE -:101A0C002D48FFF79FFDB6E702230193274B0721D3 -:101A1C00D86E01AA042302F049FAACE7234B00224A -:101A2C001F21D86E002302F041FAA4E72348FFF7E8 -:101A3C0089FDA0E722492348303101F0D1FF224A29 -:101A4C00224993680B4004210B43936093E7802554 -:101A5C00144CAD0063692B421BD100211C4801F0D2 -:101A6C00BFFF00235022114C1A49A3521A4A0020DE -:101A7C005161220058329383642100F099FD01AD2D -:101A8C002830287001232A002121E06E02F00EFA82 -:101A9C0071E7124801F0A4FFA562DEE7F44C0008E0 -:101AAC004C560008000400501C5600088C00002006 -:101ABC00D82700000008005034560008D8550008FC -:101ACC00944F00083056000800240140E8FFFF7FC7 -:101ADC00B0510008FF0F00000074004008560008C9 -:101AEC00F0B54546DE4657464E46E0B583B08046D7 -:101AFC0002AF08000C0002F07BF905002000012D5C -:101B0C0045D002F079F98146032D58D0200002F01F -:101B1C007BF90600042D10D0280002F0C7F8330022 -:101B2C0001004A46384801F05BFFBD4601B0F0BCED -:101B3C00BB46B246A946A046F0BD200002F054F9BF -:101B4C000600200002F066F90500200002F05CF9A6 -:101B5C000300002E24D1022802D12A782F2A4ED03D -:101B6C001A0069460C32D208D2008A1AEB46954606 -:101B7C0002AA92465E1D31005046244A009502F09E -:101B8C00B9FB002801DD864231D8DD460EE002F0BB -:101B9C0037F9431C072042461840E623D054C4E7CB -:101BAC0040462A001721006802F080F9200002F05C -:101BBC001BF9494602004046FFF74EFCB5E7010011 -:101BCC00134801F00DFF200002F00EF90400020092 -:101BDC0049464046FFF740FC4346210018684B1E1F -:101BEC00994100220023153102F060F99DE7094B61 -:101BFC0082B25146186FFFF745F8DD46D6E7687894 -:101C0C00FFF7AAFED2E7C04690560008845600089B -:101C1C00645600088C00002070B5E725435D040075 -:101C2C00002B0ED10A2905D0C9B2FFF7C3FB03283C -:101C3C0018D070BD01220339FFF70EFC0123635548 -:101C4C00F7E7C9B2FFF7B6FB0028F2D0DC23E55862 -:101C5C00280002F0E1F8002813D029002000FFF73B -:101C6C003FFFE6E7DC23E558280002F0D5F8002812 -:101C7C000DD029002000FFF733FFE7230122E254A7 -:101C8C00D7E706490648403101F0AAFED1E70349DF -:101C9C000348403101F0A4FEEFE7C046944F000822 -:101CAC00C0560008112110B50E4A0F48136A8B4319 -:101CBC00136280220D4B92009A62DA3AFF3A9A61D3 -:101CCC000B490C4B54315A6801F08AFE0A4C012323 -:101CDC0021000A480831237201F082FE237A002B7E -:101CEC00FCD110BD002C0140D0560008000400505F -:101CFC00944F000800ED00E00C010020E0560008B5 -:101D0C00024AD3680133D3607047C0460C010020EF -:101D1C0010B5EFF3058203490348683101F060FE0A -:101D2C0010BDC046944F000888510008012210B520 -:101D3C00144B19690A421DD0062019689143196089 -:101D4C00D9688143D96019690130814319614021F7 -:101D5C000D4B99620D4B1A399A6101329A6102321C -:101D6C009A611C329A610A4B00229869002302F096 -:101D7C009DF810BD07491A697431074801F030FE0F -:101D8C00F7E7C046002C014000080050000400504A -:101D9C008C000020944F000818570008022210B540 -:101DAC00254BD9680A4202D019690A423AD1234913 -:101DBC000422214BD868024202D0186902420CD18D -:101DCC005223CA5A1C4B1B6B01339A4212D01A4B2A -:101DDC001B491A690A4218D110BD18699043186141 -:101DEC005223CA5A013292B2CA52134B1B6B0133A3 -:101DFC009A42ECD1002300228869252102F056F882 -:101E0C000D4B0F491A690A42E6D01B690D4819405F -:101E1C0001F0E6FDEFF305820B490C48683101F047 -:101E2C00DFFDD9E7196991435222196103498B5A95 -:101E3C0001338B52BCE7C046002C01408C000020C3 -:101E4C00E0FF0C0018570008944F00088851000858 -:101E5C00F8B580230222DB0519690A420FD1012152 -:101E6C001A69114203D01A698A431A61F8BDEFF35B -:101E7C00058228492848683101F0B2FDF6E7196956 -:101E8C00264C914319612668676872B6BFF34F8F71 -:101E9C00BFF36F8F4825635DFF2B33D048215A1C4D -:101EAC00D2B2625480211E4DC9052869496A296144 -:101EBC00884202D9696901316961002A17D0482228 -:101ECC00A354002B04D1BFF34F8FBFF36F8F62B6B7 -:101EDC006B692A69990792080A439B083800B04736 -:101EEC008022D205536BA1685B185363BEE7A62111 -:101EFC000C4A0D48890001F083FD4823E35C013B4B -:101F0C00DBB2DCE7094A0A49074801F079FD635D59 -:101F1C00C4E7C046944F0008885100088C0000208C -:101F2C000C01002054530008005200081053000804 -:101F3C009102000070B548250B4C635D002B0BD053 -:101F4C004822013BDBB2A354002B04D1BFF34F8FCB -:101F5C00BFF36F8F62B670BDA621044A0448890096 -:101F6C0001F04EFD635DEBE78C000020545300083C -:101F7C000052000870B572B6BFF34F8FBFF36F8F6E -:101F8C004825074C635DFF2B03D048220133A35433 -:101F9C0070BD044A0449054801F032FD635DF4E765 -:101FAC008C00002010530008910200000052000821 -:101FBC00102210B50E4BD9680A4211D119690A4288 -:101FCC0007D1EFF305820B490B48683101F008FD8E -:101FDC0010BD0A4800211A610C3001F02DFDF7E705 -:101FEC0006480121DA600C3001F026FDF0E7C0460E -:101FFC0000180240944F0008885100088C00002003 -:10200C0010B5EFF3058203490348683101F0E8FC91 -:10201C0010BDC046944F000888510008102210B51E -:10202C001C4B19680A421AD1012219680A4211D1B3 -:10203C00802219689201114222D1042219680A42A5 -:10204C0023D1082219680A420ED01A60124801F0F6 -:10205C00C7FC03E011481A6001F0C2FC10BD1A6005 -:10206C000F4801F0BDFCF9E719680E4801F0B8FC07 -:10207C00EFF305820C490D48683101F0B1FCEDE736 -:10208C001A600B4801F0ACFCE8E71A60094801F053 -:10209C00A7FCE3E700240140685700083457000808 -:1020AC002457000874570008944F00088851000802 -:1020BC00405700085C570008022310B5134C2268E7 -:1020CC00134218D108232268134208D11049226800 -:1020DC001048143101F084FC0423636010BD0C49DA -:1020EC00636014310C4801F07BFC01210B4A13682E -:1020FC000B431360F2E76360094B14211A009869D3 -:10210C004A32062301F0D2FEE8E7C0460000024046 -:10211C00145000089057000884570008080002402B -:10212C008C00002010B50D4BDA69920610D4DB69D7 -:10213C001B0605D50A4B0B49986B5B6B984710BD7A -:10214C00EFF3058208490948683101F049FCF6E7CC -:10215C000348596A1C3001F06FFCF0E70044004062 -:10216C008C00002028440040944F0008885100083F -:10217C0070B572B6BFF34F8FBFF36F8F48241B4DF2 -:10218C002B5DFF2B2BD048215A1CD2B26A548021D4 -:10219C00174CC9052069496A2161884202D96169D5 -:1021AC0001316161002A0FD04822AB54002B04D1BD -:1021BC00BFF34F8FBFF36F8F62B6616920698B07D6 -:1021CC0080081843890870BDA6210A4A0A4889006C -:1021DC0001F016FC4823EB5C013BDBB2E4E7074A59 -:1021EC000749054801F00CFC2B5DCCE78C00002066 -:1021FC000C01002054530008005200081053000832 -:10220C00910200007047C04610B50B00EFF310842C -:10221C00012181F310881900FEF78CFA84F31088E1 -:10222C0010BDC04610B582B0EFF31084012181F3CC -:10223C0010886B460122D91D0020FEF77BFA84F32F -:10224C001088012803D16B46D87902B010BD01204B -:10225C004042FAE710B5FEF717FA10BDF0B5DE46AE -:10226C004E4657464546E0B59BB00AAB0593402316 -:10227C00069300230793089301330C0091469B4669 -:10228C000290099005E005A8FEF742FB089800288B -:10229C0059DB2178013400295CD02529F3D12200A7 -:1022AC001378002602250820140021392D2B0CD080 -:1022BC002D2B0ED8232B11D02B2B00D05FE10E43EE -:1022CC000132137814002D2BF2D15B4601321E43E0 -:1022DC00F7E7302B05D12E430132F2E706430132EA -:1022EC00EFE71A00303A0025092A0DD81A00AB0086 -:1022FC005B1901345B009B182278303B1D001300E6 -:10230C00303B092BF3D913002E2B00D1D8E000273A -:10231C002378042101E0637801341A008A43682A87 -:10232C00F9D0252B07D0583BDBB2202B07D8954A88 -:10233C009B00D3589F46252105A8FEF7E9FA08987B -:10234C0001340028A5DA1BB0F0BCBB46B246A94646 -:10235C00A046F0BD08980028F5DD079C002C00D0A5 -:10236C00C6E00019EFE74B4649461B6805A81A1D45 -:10237C000A60196810223B0001960095FEF700FBDD -:10238C0001340898DDE74B4649461B6805A81A1D21 -:10239C000A6019680A223B0001960095FEF7F0FAD4 -:1023AC0001340898CDE74B4649461B681A1D0A6054 -:1023BC001D6805E005A8FEF7ABFA08980028BFDBFE -:1023CC00297801350029F5D10898B9E74B464946DB -:1023DC001B6805A81A1D0A601968002301930833AD -:1023EC0010220093FEF7CCFA01340898A9E74B466B -:1023FC0049461B681A1D0A601B68DA179818039364 -:10240C00012350409A4609280DDDAA46A0461D001E -:10241C000A210400013500F081F9632CF8DC2B0053 -:10242C00444655469A46B846574575D3002D36D086 -:10243C00039B002B74DB730772D4B30701D5002FF9 -:10244C002DD05B4633422AD1002D28D04346A046DE -:10245C001C00AC4220D205A82021FEF759FA08989E -:10246C00013D002800DA87E0002DF2D1230044461C -:10247C009846039B002B58DB730761D4032333402E -:10248C00022B62D005A83B000A2203990196009505 -:10249C00FEF776FA089853E72300444698460898C6 -:1024AC000028E6DA01344CE74B4649461B6805A880 -:1024BC001A1D0A601978FEF72BFA0134089840E7C8 -:1024CC006378621C1900303914000027092900D9DF -:1024DC001FE71A00BB00DB1901345B009B18227844 -:1024EC00303B1F001300303B092BF3D9130010E7CE -:1024FC00254B1B78002B15D0EFF31085012181F3B0 -:10250C001088220002980AA9FEF788F985F3108832 -:10251C000898079C001916E7D046002DBFD087E716 -:10252C00013D8AE7FEF7B0F8E6E75B422D2105A8EE -:10253C000393FEF7EDF9089800289FDA013400E7C1 -:10254C002B2105A8FEF7E4F9F5E7002F9AD10AE054 -:10255C00A8450CD205A83021FEF7DAF90898013D00 -:10256C00002800DAECE6002DF2D100258AE7089865 -:10257C00002887DA0134E4E644460134E1E600251C -:10258C00C5E6C046104E0008242100200023C25C82 -:10259C000133002AFBD1581E7047000003B471466A -:1025AC00490840004900095E49008E4403BC70474D -:1025BC00002243088B4274D303098B425FD3030A76 -:1025CC008B4244D3030B8B4228D3030C8B420DD389 -:1025DC00FF22090212BA030C8B4202D31212090217 -:1025EC0065D0030B8B4219D300E0090AC30B8B4255 -:1025FC0001D3CB03C01A5241830B8B4201D38B0303 -:10260C00C01A5241430B8B4201D34B03C01A5241A7 -:10261C00030B8B4201D30B03C01A5241C30A8B42EA -:10262C0001D3CB02C01A5241830A8B4201D38B02D5 -:10263C00C01A5241430A8B4201D34B02C01A524179 -:10264C00030A8B4201D30B02C01A5241CDD2C309EB -:10265C008B4201D3CB01C01A524183098B4201D367 -:10266C008B01C01A524143098B4201D34B01C01A52 -:10267C00524103098B4201D30B01C01A5241C308CA -:10268C008B4201D3CB00C01A524183088B4201D339 -:10269C008B00C01A524143088B4201D34B00C01A25 -:1026AC005241411A00D20146524110467047FFE791 -:1026BC0001B5002000F006F802BDC0460029F7D095 -:1026CC0076E770477047C04610B5002903D100F07B -:1026DC0007F8203002E0080000F002F810BDC046F8 -:1026EC001C2101231B04984201D3000C10391B0A36 -:1026FC00984201D3000A08391B09984201D30009FA -:10270C00043902A2105C40187047C0460403020250 -:10271C0001010101000000000000000003460B4312 -:10272C007FD4002243088B4274D303098B425FD3BE -:10273C00030A8B4244D3030B8B4228D3030C8B42EA -:10274C000DD3FF22090212BA030C8B4202D31212D0 -:10275C00090265D0030B8B4219D300E0090AC30BA5 -:10276C008B4201D3CB03C01A5241830B8B4201D352 -:10277C008B03C01A5241430B8B4201D34B03C01A3B -:10278C005241030B8B4201D30B03C01A5241C30AB3 -:10279C008B4201D3CB02C01A5241830A8B4201D324 -:1027AC008B02C01A5241430A8B4201D34B02C01A0E -:1027BC005241030A8B4201D30B02C01A5241CDD2B3 -:1027CC00C3098B4201D3CB01C01A524183098B42FE -:1027DC0001D38B01C01A524143098B4201D34B01E7 -:1027EC00C01A524103098B4201D30B01C01A52414A -:1027FC00C3088B4201D3CB00C01A524183088B42D1 -:10280C0001D38B00C01A524143088B4201D34B00B9 -:10281C00C01A5241411A00D201465241104670472B -:10282C005DE0CA0F00D04942031000D34042534030 -:10283C0000229C4603098B422DD3030A8B4212D3F0 -:10284C00FC22890112BA030A8B420CD38901921122 -:10285C008B4208D3890192118B4204D389013AD05F -:10286C00921100E08909C3098B4201D3CB01C01A34 -:10287C00524183098B4201D38B01C01A5241430947 -:10288C008B4201D34B01C01A524103098B4201D335 -:10289C000B01C01A5241C3088B4201D3CB00C01AA2 -:1028AC00524183088B4201D38B00C01A5241D9D2BA -:1028BC0043088B4201D34B00C01A5241411A00D23B -:1028CC000146634652415B10104601D34042002B37 -:1028DC0000D54942704763465B1000D3404201B5B6 -:1028EC000020FFF7EFFE02BD0029F8D016E7704775 -:1028FC00002B11D1002A0FD1002900D1002802D0C1 -:10290C000021C943080007B4024802A140180290F4 -:10291C0003BDC046B1FDFFFF03B4684601B5029884 -:10292C0000F006F8019B9E4602B00CBC7047C046F6 -:10293C00F0B557464E464546DE46E0B504000D0060 -:10294C009246994683B08B4230D82DD0494650469A -:10295C00FFF7BAFE290006002000FFF7B5FE331A78 -:10296C009846203B9B4633D45A46534693404246A6 -:10297C001F00534693401E00AF423AD8AF4200D1DD -:10298C0078E05B46A41BBD41002B00DA75E0002209 -:10299C0000230092019301235A4693400193012393 -:1029AC0042469340009328E08242CFD90022002374 -:1029BC00009201930C9B002B01D01C605D60009871 -:1029CC00019903B0F0BCBB46B246A946A046F0BD87 -:1029DC00424620239B1A5246DA40414613004A468F -:1029EC008A40170042461F43534693401E00AF4295 -:1029FC00C4D900220023009201934346002BD9D066 -:102A0C00FB0772081A4346467B080EE0AB4201D125 -:102A1C00A2420CD8A41A9D41012024196D41002119 -:102A2C00013E24184D41002E06D0AB42EED9013E9A -:102A3C0024196D41002EF8D1009801995B460019BC -:102A4C006941002B24DB2B005A464446D3402A0014 -:102A5C00E2401C005B461500002B2ADB26009E4042 -:102A6C00330026004746BE403200801A9941009040 -:102A7C0001919FE7A342BCD883E742462023002163 -:102A8C009B1A0022009101920122DA40019286E702 -:102A9C00424620239B1A2A0046469A402300F340C4 -:102AAC00444613432A00E2401C005B461500002BF1 -:102ABC00D4DA42462F002023260097409B1ADE4092 -:102ACC003B003343CDE7C0460D488546FFF79AFBE4 -:102ADC000C480D490D4A002302E0D458C45004336D -:102AEC00C4188C42F9D30A4A0A4C002301E0136043 -:102AFC000432A242FBD301F0B1FA00F00FF8FEE76A -:102B0C0000900020000000206C000020A459000858 -:102B1C007000002004220020FEE70000F0B5DE4625 -:102B2C0057464E464546E0B5B7B000F04BFF9148CE -:102B3C0000F056FF0722904B00215A63A0240D325F -:102B4C0013A801F0DAFA0223E405169320000E33E1 -:102B5C0012A91293FDF7EEFA129A236913409A42C6 -:102B6C0006D1864B1B6883F30888854B1B689847F6 -:102B7C000323A0269A4613930023F60598463000AB -:102B8C00169312A943331293FDF7D4FA2023300085 -:102B9C0012A912938025FDF7CDFA43460127794CF3 -:102BAC001593AD000233200013971493129512A9BC -:102BBC00A5629946FDF7BEFA40237348129312A9F9 -:102BCC008361FDF7B7FA272320001597129312A9FA -:102BDC00A361FDF7AFFA4B46139317934346C024FA -:102BEC0015935346A400149312943000B46212A9A6 -:102BFC00FDF7A0FA0C23300012A917971293FDF7DA -:102C0C0099FA80215C4B09065A6D012092009208BA -:102C1C000A435A655D4ADA635D4A1A649A6B174334 -:102C2C009F635C4B1A6814431C605B4CFDF708FBFC -:102C3C0023685A4A5A4F13401D4325603B68594933 -:102C4C005800C0184000FFF7B3FC80226369D20023 -:102C5C000130134202D105E0002803D0636901382A -:102C6C001342F9D180214C4A490013680B4313607D -:102C7C0013680B42FCD002213F4A4B4BD365D36DFA -:102C8C001942FCD0382391680B40D168102B01D12C -:102C9C0000F031FC002B01D000F031FC13684349EB -:102CAC00536819408023DB010B4353601368404980 -:102CBC000B40136013683F4A9B045B0FDA403A6089 -:102CCC007868FDF7BDFA3C4A002832D138202A49F1 -:102CDC008B680340102B01D100F0B4FD0B68374812 -:102CEC00034080200B60D468800403E0D3681B1B76 -:102CFC00022B1ED80B680342F8D1CB683048184021 -:102D0C00304B0343CB60802308685B0403430B60A8 -:102D1C008023C8685B050343CB608021D4681648C8 -:102D2C00890403E0D3681B1B022B02D803680B42F7 -:102D3C00F8D0062317490868184201D100F09CFC12 -:102D4C00E0230D49DB01886803438B608B681E48C8 -:102D5C0003408B600B689B0101D400F09FFC0720A3 -:102D6C008B681A4C83431800022303438B60382072 -:102D7C00D56833E0A0570008001002400000FF1F88 -:102D8C000400FF1F00040050000800500300023034 -:102D9C00010812000020024000700040FFF9FFFF04 -:102DAC000000002040420F0009800000FF80FFFF60 -:102DBC00FFC7FFFF0024F4000C010020FFFFFFFE03 -:102DCC008C80C11132301646FFF0FFFF88130000D3 -:102DDC00D3685B1BA34201D900F060FC8B680340F5 -:102DEC00102BF5D10720EF490B680340022B01D9BA -:102DFC0000F0D0FCEC4BED499A680A409A603822FE -:102E0C009968114201D000F0AEFC1B68E8489B04A5 -:102E1C005B0FD840E74AE44B91461F229B681B0589 -:102E2C001B0F9B004B441B6B1340D84038607868D9 -:102E3C00FDF706FAE04AE1491368E1480B401360DC -:102E4C00E04B3A6819680905090D00F0C9FD8420AA -:102E5C001022DD4B1958914319500438195811435D -:102E6C00195019681143196059680A435A60D74BB5 -:102E7C001A68D20307D41A68D5490A401A60DA6B6B -:102E8C00D4490A40DA638023D04A5B0211680125D9 -:102E9C000B4313603F22D04909200B6893431A005F -:102EAC00052313430B60CD4BCD491A681140CD4A15 -:102EBC000A43CD491A6099600321CC4A93464A32A1 -:102ECC00DA605A68120C12040A435A60C84A5560F8 -:102EDC00022219680A431A60082219680A431A6008 -:102EEC001A6829002A431A60FDF706F9C14B9A6843 -:102EFC002A4207D1DA68C0490A40DA601A6992009E -:102F0C0092081A618021BB4B8903DA680A43DA60A4 -:102F1C008022920119681142FCD007211A605A696B -:102F2C008A43110002220A4370215A615A698A436A -:102F3C00110050220A430F215A619A6A8A439A62FD -:102F4C005A699E490A405A619A6AF231FF318A43A2 -:102F5C00110010220A4380219A625A6989000A439F -:102F6C005A619A6AA5491140C022D2000A438021B5 -:102F7C009A625A69C9010A435A619A68A049114078 -:102F8C00802252050A439A609E493868FFF710FB6D -:102F9C00142343430893089B002B05D0089B013B4B -:102FAC000893089B002BF9D1924B97499A681140D2 -:102FBC00802212060A439A609A68002AFCDB80225F -:102FCC0012011A6020230893089B002B05D0089B44 -:102FDC00013B0893089B002BF9D18023854D9B0561 -:102FEC002A69032113432B6111230C206B60FDF71D -:102FFC0083F80121EB68EB68AB680B4200D151E31D -:10300C00824800F0EDFC01257A4B81491A6912A81F -:10301C00AA431A611A69D0260A401A619A687A4939 -:10302C0076000A402A439A6049235A4616A9D55479 -:10303C00642200F021FFD620400001F033F8C822B2 -:10304C00010052001031040000F016FFDC20714B1F -:10305C004000A3512F9401F025F8C82201008046AE -:10306C001031520000F008FF434600223093002339 -:10307C00282132923393882308AA52184946D554F2 -:10308C00654B70311800984600F0AAFC386863490B -:10309C00FFF78EFA8023624ADB05013898625A6387 -:1030AC001022022158469A611A6A5E4C2A431A620F -:1030BC00DA680A43DA605C4A02605A4612A8506029 -:1030CC00FA225846120182600322586902435A615F -:1030DC000F201D60FDF710F8309B544A38689A5148 -:1030EC00D222520091464946514A0C325A50DA22A9 -:1030FC00603152009952002292465146B732FF324B -:10310C0099545A463F499361FFF752FA484901389E -:10311C00A062A26A4C31474800F062FC464B514613 -:10312C00A36111230D2023626560FCF7E5FF514676 -:10313C000E20FCF7E1FF8423236088231B02E5604B -:10314C00E820636400F0AEFFC8220400011D029069 -:10315C00CC3000F07DFCE1239A4651461E3363547B -:10316C00309B220001934B46D4242F9D019964007F -:10317C00E9502F492A516831404600F031FC2F4B61 -:10318C00AB5100F03BFF01002800FDF7F5FD534665 -:10319C002C59E35C7F2B00D895E2294B0693294BE5 -:1031AC00079351E00020024000100240FF8FFFFF08 -:1031BC000024F4001450000800700040FFFEFFFFD4 -:1031CC00B457000800580140001802400074004039 -:1031DC00FFFF03FFFFFFF8FF00080240080002405A -:1031EC000F80FFFFA0250000402401408C00002030 -:1031FC000000024000240140C73FFFFFFFF0FFFF2B -:10320C00E8FFFF6F40420F00E8FFFF7FD457000834 -:10321C00FFFFFFDFD10A00083056000800093D000F -:10322C00801A0600002C014075030008B10A000842 -:10323C0094500008F057000868680000850D0008DD -:10324C00FC57000800530008256000F02DFDE22318 -:10325C00E05280231B019C46604400F023FFDC23DA -:10326C00E022E0500023A3540632A352B94ABA4BD1 -:10327C00516D0B4353658B23B849CB600A68B84B2F -:10328C0013430B60492399465B464A469B5C012BD2 -:10329C0000D921E202211C20FCF72EFF4A465B4696 -:1032AC00484659469B5C5A1C0A54E1225BB2914633 -:1032BC00A354002B00DA15E209AB22001800A9492F -:1032CC009A4600F0B3FB0CAB22001800A6490493FD -:1032DC0000F0ACFB0FAB18002200A449019300F0E6 -:1032EC00A5FB4B46E356012B00D165E2E123E256E8 -:1032FC009F4B1E0003939F4B5836310018009A4683 -:10330C00059300F06DFBE1229146A256012A00D1F3 -:10331C007EE23100504600F063FB4A46A256012A79 -:10332C0000D175E23100504600F05AFBD42392498B -:10333C005B0040467831ED58002400F051FBE72348 -:10334C00EC545B4612AADA66029A309E1A67DA23AC -:10335C005B00F35CA3422BD01022884B924699461B -:10336C00D2235B009846864B9A444346F35825017A -:10337C009C4665444846296800F032FB28896B68F6 -:10338C0000280ED0002204E0013292B202339042A7 -:10339C0007D019785D780D42F6D05146794800F087 -:1033AC001FFBDA235B000134F35CE4B2A342DCD8EC -:1033BC00B623D222FF33F35C5200B2581B01D31850 -:1033CC00B822D4213400FF32B25C4900A9347350C6 -:1033DC00FF349989A27100222181A280DB7A934269 -:1033EC0000D188E10023684AE371A372A133FF3353 -:1033FC00F25000F003FE80250100644C3000FEF713 -:10340C00A9F90A213000FCF761FF6369AD002B427A -:10341C0003D15F4800F0E4FAA56112AA5D49019856 -:10342C0000F004FB5B460C3316C816C303210720BF -:10343C00FCF762FE584800F0D3FA039957487831EC -:10344C0000F0CEFA564B88249A46564B564D994668 -:10345C00282208AB9B181B5D002B00D1ACE0309BE5 -:10346C0029001A001800019300F082FD0028EFD10A -:10347C002F9B51461A001800019300F079FD00288B -:10348C00E6D112AA4946100000F072FD061EDFD1EB -:10349C000121049800F0BEFA002800D04CE172B66D -:1034AC00BFF34F8FBFF36F8F48235A46D35CFF2B6C -:1034BC0000D1B3E148225B4659469B5C30980133FE -:1034CC008B5400F0EFFC002800D01AE148235A4638 -:1034DC00D35C002B00D13FE148225B4659469B5CF4 -:1034EC00013BDBB28B54002BB2D1BFF34F8FBFF338 -:1034FC006F8F62B6ACE70D3B1940022920D01549FD -:10350C002A4A0B68802013400B6080230A685B00FA -:10351C001343274A0B60D468C00005E0D3681B1B1B -:10352C00022B01D9FFF705FC0B680342F6D04B6860 -:10353C00204818408023DB0103434B60FFF7C6FB98 -:10354C0013681C49536819408023DB010B435360FB -:10355C00FFF7B6FB0010024008000C0000440040CE -:10356C0001000020251C0008A9020008C102000867 -:10357C00944E000838530008945000084458000832 -:10358C00145100085458000861170008000400503A -:10359C001C5600085D0300086C5800088058000891 -:1035AC00150B000895150008690B0008FFC7FFFFF5 -:1035BC000C010020FF80FFFFD0252F9C6D00665969 -:1035CC0000F02AFD01002000B047DC4BDC486351C1 -:1035DC0000F006FAD4235B00E458C73BE256012AFC -:1035EC0004D003990598583100F0FAF9DC23E0581F -:1035FC0000F062FDE123FF228026D24DE2546B697C -:10360C00B600309C334203D0CF4800F0E9F9AE62EB -:10361C00D0256D00665900F0FFFC01002000B0477A -:10362C00CA4B029A6351E123D35C7F2B05D822212C -:10363C00069A0798FF3100F0E3F9029800F03CFD80 -:10364C00309800F039FD2F9800F036FD72B6C04866 -:10365C0000F0C6F900F0E8F91121BE4A136A8B4359 -:10366C0013628022B74B92009A62DA3AFF3A9A615F -:10367C00B94B19329A62FEE7072002230C68844387 -:10368C0023430B60D568B54C0B680340022B01D16A -:10369C00FFF756FBD3685B1BA342F5D9B04B994699 -:1036AC00FFF7C8FBEB68AF4AEB681A40AE4B13430D -:1036BC00EB60EB689B0200D4A5E4F023AA6A1B0222 -:1036CC001343AB629FE4A94BA94AF8211800069258 -:1036DC00079300F095F9B7E5A64800F081F9E123CE -:1036EC00FF22E2540CAB04930FAB0193A24B039358 -:1036FC00A24B05931AE64821A14AA24800F080F992 -:10370C0070E62F9800F0CEFB002800D1DEE612A860 -:10371C0000F0C8FB002800D1D8E680229A4E920017 -:10372C0073699046134200D0E2E00421974A136972 -:10373C008B43136130BFC9E65822049B19781300E0 -:10374C0001915B44987F984600286DD12F297CD13C -:10375C00012342469377A2E6A6218D4A8D48890023 -:10376C0000F04EF9B8E699681140082900D1D4E070 -:10377C0099681140102900D182E0996811402029E4 -:10378C0000D1CDE09B681A40182A00D1CCE0002073 -:10379C00FFF740FB02230C68844323430B60D5687E -:1037AC006E4C0B680340022B01D1FFF723FBD3684F -:1037BC005B1BA342F5D971E75B4652461C3343CAE7 -:1037CC0043C35B46049A283343CA43C30423724958 -:1037DC000A6813430B604B46E356012B00D085E57A -:1037EC005B465A469C636D4B53635B46019A3C3374 -:1037FC0043CA43C3082368490A6813430B604B460A -:10380C00E2565D4B03935D4B0593012A00D06FE5A7 -:10381C002023614A11680B43136087E5604A6149B4 -:10382C005C4800F0EDF845E6019B0A2B3FD05E4862 -:10383C0000F0D6F80198FEF78FF85B46002258335B -:10384C009A772CE6CB68FFF774FA5946DB7FC918D8 -:10385C00885401980A280AD046460133DBB2F37724 -:10386C008854142B00D01AE64F4800F0B9F85E4685 -:10387C00583631004D4800F0B3F80023F3770EE6CC -:10388C00DA68D968D243D8684906490F4004013137 -:10389C00440E92074CD04648FEF78AFE6043454BD7 -:1038AC00D968490F0131FEF783FEFFF7B3FA43469F -:1038BC004046D97F4B1CDBB2C3772F205944885428 -:1038CC00142B08D1384800F08BF84146374800F0EB -:1038DC0087F84346DE7700225E4690465836F37FE3 -:1038EC003100F254314800F07BF84346F377A4E7FB -:1038FC0006203B6830495843FEF75AFE33682F4A7E -:10390C0001301340336003E0002800D1DEE50138BC -:10391C00424673691342F7D107E72948FFF77AFA51 -:10392C0080200002FFF776FAFA20C001FFF772FA46 -:10393C002348FEF73DFE6043B1E7C046D10A0008BC -:10394C00945800080004005008560008B10A0008FA -:10395C00A4580008002C01400008005088130000F7 -:10396C00145000083CC2FEFF031000000053000876 -:10397C00FC57000810580008944E000838530008F3 -:10398C0018550008305500080070004000ED00E0AC -:10399C00545300080052000800440040C10B0008BA -:1039AC001053000891020000A85800088458000821 -:1039BC000024F4000010024040420F00FFBFFFFF44 -:1039CC0000127A0010B5FEF745FC10BD00B583B0AF -:1039DC00019101AA01000020FEF740FC03B000BDDC -:1039EC000FB400B583B004AB02CB01AA0020009346 -:1039FC000193FEF733FC03B008BC04B01847C04673 -:103A0C00130010B50A0001000148FFF7E9FFFEE7BB -:103A1C00D45800080A0010B501000020FEF7F4FB92 -:103A2C00C343DB17184010BD7047C04600238360AA -:103A3C00426001607047C04610B503680400002B5B -:103A4C0004D040689847A3680133A36010BDC046FA -:103A5C0001604B1E99410023494211404160836033 -:103A6C00C360704703009B68C068C01A434258414A -:103A7C00C0B270470200C368581E9368C01A5368DE -:103A8C0000D5C0187047C04603008268C1685B68E7 -:103A9C00501A00D5C0187047F0B54646D6464F466A -:103AAC000500C0B5EB688068013B0E0014001B1AC2 -:103ABC001ED493421AD31700002F05D12000E0BC6E -:103ACC00BA46B146A846F0BDAB6828689C463A0099 -:103ADC006044310000F008FBAB689C466B6867449F -:103AEC00AF609F42EAD10023AB60E7E70020E6E736 -:103AFC006A6890464344A342F8D3031999462700B9 -:103B0C009A42D9D8131A9A462B6852469C4660445E -:103B1C0000F0EAFA00234246AB604B4656449F1A2B -:103B2C00CAE7C046F8B54746CE4680B5C668836836 -:103B3C00050088469C1B0BD4944207D82700002C08 -:103B4C0020D13800C0BCB946B046F8BD1400F5E72A -:103B5C00436899464C44944200D914003319270009 -:103B6C009945ECD84B469F1B2B683A009919404657 -:103B7C0000F0BAFA4B46F61AA419B84400263F19BD -:103B8C00002CDED0296822004046891900F0ACFADE -:103B9C00D7E7C046F0B54F464646D646C0B50F00EF -:103BAC008368C168060014005B1A1ED493421AD3B2 -:103BBC001500002D05D12000E0BCBA46B146A84640 -:103BCC00F0BDF36831689C462A006144380000F06F -:103BDC008BFAF3689C4673686544F5609D42EAD1A4 -:103BEC000023F360E7E70020E6E742689046434491 -:103BFC00A342F8D30B19994625009A42D9D8531AE7 -:103C0C009A46036852469C463800614400F06CFAB0 -:103C1C0000234246F3604B4657449D1AC9E7C04601 -:103C2C0070B501000400861D1D4D1E4823781B0233 -:103C3C005840082304E0013BDBB280B2002B09D0D2 -:103C4C0002B24000002AF6DA013B6840DBB280B2D7 -:103C5C00002BF5D10134A642E8D14B888A781D0A95 -:103C6C00120215431BD008314D190D4CADB20B7817 -:103C7C001B025840082304E0013BDBB280B2002B4E -:103C8C0009D002B24000002AF6DA013B6040DBB2F8 -:103C9C0080B2002BF5D101318BB2AB42E7D170BDB4 -:103CAC0021100000FFFF000008207047052804D8F1 -:103CBC0083001B180248C01870470248FCE7C04636 -:103CCC00F8580008F458000870B5040004A80078EF -:103CDC00490000010843012101430720184000233B -:103CEC00D200024363802371200000230725C9B250 -:103CFC0021706270661D082201304B4004E0013ACD -:103D0C00D2B2DBB2002A09D059B25B000029F6DA34 -:103D1C00013A6B40D2B2DBB2002AF5D1B04201D0ED -:103D2C000178E8E763712000FFF77AFF030AE0717E -:103D3C00A371200070BDC04670B5040004A840C833 -:103D4C004900058820001B010B43D2003100237071 -:103D5C00627008302A0000F0C7F92B0AA370002308 -:103D6C00E570200007252371661D02785340082258 -:103D7C0004E0013AD2B2DBB2002A09D059B25B009E -:103D8C000029F6DA013A6B40D2B2DBB2002AF5D147 -:103D9C000130B042E9D163712000FFF741FF030A03 -:103DAC00E071A371200070BD70B500230724467923 -:103DBC00451D02785340082204E0013AD2B2DBB22E -:103DCC00002A09D059B25B000029F6DA013A6340A7 -:103DDC00D2B2DBB2002AF5D10130A842E9D1F01AF7 -:103DEC0042425041C0B270BD00788006800F7047CF -:103DFC0000780007400F704740788006400F7047EE -:103E0C004378072018407047827843881202180ABA -:103E1C00104370470830704710B50400FFF700FFDF -:103E2C00E388A1791B0A09020B43181A424250413C -:103E3C00C0B210BDB0B500AF050000F0DDF86A46A9 -:103E4C00C31DDB08DB00D31A9D4602000400694643 -:103E5C002800FFF767FE80B2844203D00024BD46E1 -:103E6C002000B0BD684600F0F1F804002800FFF710 -:103E7C000BFE8442F2D8F2E770B505000C00160078 -:103E8C00002905D0320028002100FFF7E1FD70BDAC -:103E9C003D21024A0248FFF7B3FDF3E71859000829 -:103EAC002859000810B5FFF7DDFD10BDF8B5DE464A -:103EBC0057464E464546E0B500AF1E0080468A4642 -:103ECC00914600F099F86B46C41DE408E4001B1BF6 -:103EDC009D460500801983B23200514668469B46C8 -:103EEC0000F0A8F8FEF746F84046FFF7C3FD0024A3 -:103EFC0083450DD9FEF71EF85B46E01ABD464342DA -:103F0C005841C0B2F0BCBB46B246A946A046F8BD6B -:103F1C002A0069464046FFF7BFFD4B4684B2002B92 -:103F2C00E8D0320049464046FFF7B6FD2418A4B24B -:103F3C00E0E7C046F8B5060008000F0000F086F870 -:103F4C000500FEF717F83000FFF794FD00248542BA -:103F5C0006D9FDF7EFFF601B43425841C0B2F8BDD4 -:103F6C002A0039003000FFF797FD84B2F1E7C04614 -:103F7C00F8B54E464546DE465746E0B500AF06005E -:103F8C0089469046FFF756FF0025041E07D1BD4613 -:103F9C002800F0BCBB46B246A946A046F8BD6A460E -:103FAC00C31DDB08DB00D31AEA469D46FDF7E2FF92 -:103FBC00220069463000FFF7EDFD0600B6B2EB4675 -:103FCC00FDF7B8FF002E01D1D546E0E7684600F0BA -:103FDC003DF8844205D159464046C8470125D5468F -:103FEC00D5E72521024A0348FFF70AFDF3E7C0464F -:103FFC0040590008285900080C20704710B5FEF7EE -:10400C00B7F802000B0003480260436080235B0298 -:10401C00836010BDE021002010B5FEF7A9F8020066 -:10402C000B0003480260436080239B02836010BD39 -:10403C00D021002070B504000E001500FEF798F892 -:10404C006681206061602581200070BD00890C3084 -:10405C0080B27047807A70470C30704770B500267C -:10406C000C4D0D4C641BA410A64209D1002600F087 -:10407C000FFD0A4D0A4C641BA410A64205D170BD5D -:10408C00B300EB5898470136EEE7B300EB5898476E -:10409C000136F2E79C5900089C5900089C5900080D -:1040AC00A059000810B5034B0100186800F09AF8ED -:1040BC0010BDC0460800002010B5034B0100186865 -:1040CC0000F024F810BDC0460800002030B50024D4 -:1040DC000139A24201D1002005E0035D01340D5DE0 -:1040EC00AB42F6D0581B30BD002310B59A4200D11C -:1040FC0010BDCC5CC4540133F8E703008218934222 -:10410C0000D1704719700133F9E7000070B5050054 -:10411C00002910D00C1F2368002B00DAE4182800AB -:10412C0000F05CF91D4A1368002B05D16360146024 -:10413C00280000F05BF970BDA34208D92168601813 -:10414C008342F3D118685B6841182160EEE71A00CE -:10415C005B68002B01D0A342F9D911685018A0421A -:10416C000BD120680918501811608342E0D11868EF -:10417C005B68411811605360DAE7A04202D90C2346 -:10418C002B60D5E721686018834203D118685B68FF -:10419C004118216063605460CAE7C046F0210020DA -:1041AC0070B50F4E0D0031680400002902D100F0EB -:1041BC008FF830602900200000F08AF8431C0AD0E8 -:1041CC000323C51C9D43A84207D0291A200000F0E8 -:1041DC007FF8431C01D101256D42280070BDC046FB -:1041EC00F4210020F7B50322CB1C934308330600BF -:1041FC001F000C2B32D20C27B94231D8300000F002 -:10420C00EDF8324D2B681C00002C2ED139003000FB -:10421C00FFF7C6FF0400431C1ED12C682500002D9F -:10422C004AD123682900E3183000019300F050F8BC -:10423C00019B834243D123680337FF1A03239F4317 -:10424C0008370C2F00D20C2739003000FFF7A8FFDD -:10425C00431C34D02368DF19276013E0002BCBDA22 -:10426C000C23002533602800FEBD2268D11B20D40E -:10427C000B2917D9E2192760A34211D12A60636870 -:10428C00116053603000250000F0B0F807220B35A8 -:10429C00231D9543EA1A9D42E5D05B1BA350E2E730 -:1042AC005A60ECE76268A34201D12A60EAE75A60DF -:1042BC00E8E723006468A7E72C006D68AFE70C23E0 -:1042CC003000336000F092F8CDE7C046F0210020BA -:1042DC00002370B5064D040008002B6000F0CAFBEB -:1042EC00431C03D12B68002B00D0236070BDC0464B -:1042FC00F82100200CB430B5174B0C001D689DB094 -:10430C00002908DA8B2301202B6040421DB030BC01 -:10431C0008BC02B0184782236A469B009382002394 -:10432C0002900690994200D04B1E049307930123F0 -:10433C006A465B42D382280021AB209A02A90193E2 -:10434C0000F0BEF8431C01DA8B232B60002CDDD06F -:10435C000023029A1370D9E70800002003000A78A2 -:10436C0001311A700133002AF9D1704730B51400AD -:10437C0005001A009BB0002C05DA8B23036001208A -:10438C0040421BB030BD822368469B0083810023D2 -:10439C00009104919C4200D0631E0293059301236B -:1043AC0069465B42CB8128001E9B00F089F8431CB8 -:1043BC0001DA8B232B60002CE3D00023009A1370BE -:1043CC00DFE7000007B5009313000A000100024864 -:1043DC000068FFF7CBFF0EBD0800002010B50248A7 -:1043EC0000F0F0FA10BDC046FC21002010B50248C8 -:1043FC0000F0E9FA10BDC046FC210020F0B58E6833 -:10440C0085B007000C00039201939E423CD8902388 -:10441C008A89DB001A4234D00969236860695B1A07 -:10442C00029303234343DD0FED18019B02980133E4 -:10443C001B186D10AB4200D91D00530532D5290055 -:10444C003800FFF7CFFE061E09D10C233B6040233A -:10445C000120A28940421343A38105B0F0BD029A0A -:10446C002169FFF741FEA389144A1A4080231343A4 -:10447C00A381029B2661F61826606561019EED1AE8 -:10448C00A560019B9E4200D9019E320003992068D1 -:10449C0000F0A5FAA36800209B1BA36023689E195B -:1044AC002660DAE72A00380000F0ACFA061EE0D1EC -:1044BC0038002169FFF72AFEC7E7C0467FFBFFFFE4 -:1044CC00F0B5A1B003901D008B890F0016001B06E0 -:1044DC0011D50B69002B0ED14021FFF783FE3860FC -:1044EC003861002805D10C23039A0138136021B0E0 -:1044FC00F0BD40237B61002308AC636120336376FD -:10450C001033A376079535002B78002B01D0252B83 -:10451C0047D1AB1B0593B5420CD032003900039840 -:10452C00FFF76CFF431C00D1AEE06269059B94461B -:10453C00634463612B78002B00D1A5E0012200239A -:10454C005242626004A9543252186E1C2360E3601C -:10455C00A3601370A36505223178544800F034FA37 -:10456C00751C00281FD12268D30604D5532304A937 -:10457C005B1820211970130704D5532304A95B1869 -:10458C002B21197033782A2B16D0350000210A20E4 -:10459C00E3682A786E1C303A092A4ED9002911D1C9 -:1045AC0017E00135B0E7414B2268C01A0123834064 -:1045BC0013432E002360CEE7079B191D1B68079140 -:1045CC00002B01DB0B9304E05B42E36002231343FB -:1045DC0023602B782E2B0AD16B782A2B35D1079B95 -:1045EC0002351A1D1B680792002B2BDB0993304EEA -:1045FC0003223000297800F0E7F9002806D0402388 -:10460C00801B8340226801351343236029780622DE -:10461C0028486E1C217600F0D7F900283CD0264B98 -:10462C00002B25D10722079B0733934308330793AD -:10463C006369049A9B18636165E743433500012164 -:10464C009B18A6E701235B42D0E700230A201A003F -:10465C000135636029786E1C3039092903D9002B88 -:10466C00C5D00992C3E74243350001235218F1E744 -:10467C0007AB00933A002100104B039800E000BFF9 -:10468C000490049B0133D3D1BB890D985B0600D4F5 -:10469C002DE7012040422AE707AB00933A002100A6 -:1046AC00064B039800F07CF8EAE7C0466059000816 -:1046BC00665900086A590008000000000944000807 -:1046CC00F7B5150001938A680B690C0000909342B2 -:1046DC0000DA130022002B6043321278002A01D03A -:1046EC0001332B6023689B0602D52B6802332B60A9 -:1046FC002268062317001F401A4227D02300433399 -:10470C001B785A1E93412268920630D422000199DC -:10471C000098089E4332B047431C25D006232068DE -:10472C002A68E16800250340042B03D18D1AEB4362 -:10473C00DB171D40A3682269934201DD9B1AED181B -:10474C000027BD4220D1002010E00137E3682A6821 -:10475C009B1ABB42D2DD2200012301990098089ECE -:10476C001932B047431CF0D101204042FEBD30202D -:10477C00E1184331087021005A1C45310978A21800 -:10478C00433202331170C1E72200012301990098D2 -:10479C00089E1A32B047431CE6D00137D1E700001F -:1047AC00F0B58BB006920A00433207930590049241 -:1047BC000A7E0C00109B782A07D8622A09D8002A96 -:1047CC0000D1C1E0582A00D18CE02600423632706C -:1047DC0022E0100063381528F7D8FDF7DFFE16002D -:1047EC001F00F6FFF6FFF6FFF6FF1F00F6FFF6FFC1 -:1047FC00F6FFF6FFA80036009A00F6FFF6FFB900A8 -:10480C00F6FF3600F6FFF6FF9E0026001A684236C9 -:10481C00111D1960136833700123A7E0086819682B -:10482C000A1D05060BD50D681A60002D03DA2D2321 -:10483C00049A6D421370614B0A2703931BE00D68B9 -:10484C001A604106F1D52DB2EFE70D681968081D05 -:10485C0018602E0601D50D6803E06D06FBD50D68BA -:10486C00ADB2564B082703936F2A00D002372300B2 -:10487C00002243331A706368A360002B03DB04220D -:10488C00216891432160002D02D1049E002B0CD095 -:10489C00049E28003900FDF711FF039B013E5B5C71 -:1048AC0033702B0005009F42F3D9082F09D12368E0 -:1048BC00DB0706D563682269934202DC3023013E94 -:1048CC003370049B9B1B2361079B2100009305986D -:1048DC00069B09AAFFF7F4FE431C4CD10120404271 -:1048EC000BB0F0BD45310A70344A03921A68216846 -:1048FC0020CA1A60080616D5CB0702D52023194307 -:10490C0021601027002DB2D1202322689A43226007 -:10491C00ADE7202209680A43226022007821453243 -:10492C001170274AE1E74806E6D5ADB2E4E71A680C -:10493C000D68101D4969186013682E0601D51960A1 -:10494C0002E06D06FBD519800023049E2361BBE7B2 -:10495C001A68111D1960166800213000626800F099 -:10496C0033F8002801D0801B60606368236100234A -:10497C00049A1370A8E72369320006990598079DDD -:10498C00A847431CAAD023689B0715D4099BE06851 -:10499C009842A5DA1800A3E722000123069905988E -:1049AC00079E1932B047431C98D00135E368099A29 -:1049BC009B1AAB42F0DCE9E70025F7E771590008D8 -:1049CC008259000870477047C9B28218904201D1D1 -:1049DC000020704703788B42FBD00130F6E710B50E -:1049EC00884202D98B18984203D3002307E08B5CD2 -:1049FC008354013AFBD210BDCC5CC45401339A42AF -:104A0C00FAD1F8E7F7B507000E001400002905D11C -:104A1C001100FFF7E7FB05002800FEBD002A03D1BB -:104A2C00FFF774FB2500F7E700F01BF801908442B8 -:104A3C0003D835004308A342EED321003800FFF71A -:104A4C00D1FB051EE8D0019B22009C4200D91A0024 -:104A5C0031002800FFF748FB31003800FFF756FB08 -:104A6C00DAE70B1F1B68181F002B01DA0B58C01854 -:104A7C0070470000044A03001068002802D0C318D5 -:104A8C00136070470148FAE700220020082200203A -:104A9C00F8B5C046F8BC08BC9E467047F8B5C04691 -:084AAC00F8BC08BC9E467047EF -:104AB4000E160008B0150008B0150008B01500085F -:104AC400B01500082A160008B0150008BC15000827 -:104AD400B0150008B0150008B0150008B01500089E -:104AE400C8150008B0150008B0150008B015000876 -:104AF400B0150008B0150008B0150008B01500087E -:104B0400B0150008B0150008B0150008B01500086D -:104B1400BE150008B0150008BE1500087817000877 -:104B2400C0170008CE170008781700087817000887 -:104B34007817000878170008781700087817000815 -:104B44007817000878170008781700087817000805 -:104B540078170008781700087817000878170008F5 -:104B640078170008781700087817000878170008E5 -:104B740078170008781700087817000878170008D5 -:104B840078170008821700087817000878170008BB -:104B940078170008821700087817000878170008AB -:104BA40078170008781700087817000878170008A5 -:104BB400DC170008E61700084818000876180008F3 -:104BC4008A180008481800084818000848180008FF -:104BD4004818000848180008481800084818000831 -:104BE4004818000848180008481800084818000821 -:104BF4004818000848180008481800084818000811 -:104C04004818000848180008481800084818000800 -:104C140048180008481800084818000848180008F0 -:104C240048180008481800087218000848180008B6 -:104C34009818000848180008481800084818000880 -:104C440048180008481800085218000852180008AC -:104C540056180008D0180008EC180008FA180008C4 -:104C6400D0180008D0180008D0180008D018000880 -:104C7400D0180008D0180008D0180008D018000870 -:104C8400D0180008D0180008D0180008D018000860 -:104C9400D0180008D0180008D0180008D018000850 -:104CA400D0180008D0180008D0180008D018000840 -:104CB400D0180008D0180008D0180008E818000818 -:104CC400D01800083A190008D0180008DA180008AB -:104CD400D0180008D0180008D0180008D018000810 -:104CE400D0180008D0180008081900080C1900088A -:104CF4005A1A00088619000886190008861900083F -:104D04008619000886190008861900088619000803 -:104D140086190008861900087A1900087A1900080B -:104D24007A1900087A1900087A190008381A000854 -:104D34007A1900087A1900087A1900087A19000803 -:104D44007A1900087A1900087A1900087A190008F3 -:104D54007A1900087A1900087A1900087A190008E3 -:104D64007A1900087A1900087A1900087A190008D3 -:104D74007A1900087A1900087A1900087A190008C3 -:104D84007A1900087A1900087A1900087A190008B3 -:104D94007A1900087A1900087A1900087A190008A3 -:104DA4007A1900087A1900087A1900087A19000893 -:104DB4007A190008401A0008F01900087A19000846 -:104DC400A81900087A1900087A1900087A19000845 -:104DD4007A1900087A1900087A1900087A19000863 -:104DE400DA1900087A190008281A00087A19000844 -:104DF4007A190008141A00087A1900087A190008A8 -:104E04007A190008C81900080C1A0008722300084F -:104E14004A2300084A2300084A2300084A230008BA -:104E24004A2300084A2300084A2300084A230008AA -:104E34004A2300084A230008B4240008FA2300087F -:104E44004A2300084A2300084A2300084A2300088A -:104E54004A2300084A2300084A2300084A2300087A -:104E64004A2300084A2300084A230008D8230008DC -:104E74004A2300084A230008B22300084A230008F2 -:104E8400922300084A2300084A23000872230008DA -:104E94006173736572745F6661696C6564000000B8 -:104EA40072784572726F7243616C6C6261636B00FD -:104EB40074784572726F7243616C6C6261636B00EB -:104EC400303132333435363738394142434445463C -:104ED40073746174654E6F700000000073746174C4 -:104EE400654E6F70000000004253505F646F43686A -:104EF400616E6E656C416374696F6E007374617486 -:104F04006549646C650000005075736820746865B9 -:104F140020627574746F6E20746F20706C617920D8 -:104F24006F72207061757365203A2D290A000000A4 -:104F340068616E646C655265616452657175657310 -:104F44007400000068616E646C6557726974655220 -:104F5400657175657374000068616E646C65496E93 -:104F6400766F6B65526571756573740068616E6404 -:104F74006C655265717565737400000064697370C3 -:104F8400617463684576656E7400000073746174BF -:104F94006543616E6F707900737461746549646C04 -:104FA40065000000737461746550756C73696E6795 -:104FB400000000007374617465506175736564006A -:104FC4004253505F747269676765724144430000DD -:104FD40068616E646C65496E636F6D696E67467275 -:104FE400616D6500486172644661756C745F486107 -:104FF4006E646C657200000073707572696F75730E -:105004004952510054494D315F42524B5F55505FF4 -:105014005452475F434F4D5F49525148616E646C2F -:1050240065720000444D41315F4368616E6E656C8A -:10503400315F49525148616E646C65720000000032 +:100C1C006F8F62B6F8BD0223FF33EA56012A17D054 +:100C2C00482511491148583102F09CFE635D002B98 +:100C3C00E5D1A6210E4A0F48890002F0A3FE635DA0 +:100C4C00DDE70D4A0D490B4802F09CFEE35DCAE757 +:100C5C0080210B4A13688B431360CCE7C852000801 +:100C6C00D45200088C000020644E00080C5300087D +:100C7C0028530008D4510008E452000891020000E7 +:100C8C0000440040F0B580250400FC20C6468126B7 +:100C9C006D00635D00B55A1C625522587600D15424 +:100CAC00615DA35B994207D3275811D08222520071 +:100CBC00A05A1B18994203D0002080BCB846F0BD46 +:100CCC00802300225B003800E25403F053F8F4E771 +:100CDC00380003F02BF800280CD0380003F052F841 +:100CEC0082235B0001009846E052A84214D8615D53 +:100CFC00A35BDEE7635D013BDBB26355002BDBD00E +:100D0C000023FC302258D1184978D154625D01334C +:100D1C00DBB29A42F6D8CFE7034802F023FE002359 +:100D2C004246A352C8E7C04648530008F0B5CE4629 +:100D3C0047460B00812180B5490083B0465A69466D +:100D4C00F41DE408E400091B02AF8D4602A9884695 +:100D5C000092050000220121404602F077FF72B696 +:100D6C00BFF34F8FBFF36F8F4823244C9946E35C3E +:100D7C00FF2B35D0482228000133A35441463200C2 +:100D8C00CC3002F04BFE002814D14825635D002BBB +:100D9C001ED04822013BDBB2A354002B04D1BFF37D +:100DAC004F8FBFF36F8F62B6BD4601B0C0BCB94662 +:100DBC00B046F0BD0223FF33EA56012A18D048256D +:100DCC000F491048583102F0CDFD635D002BE0D186 +:100DDC00A6210D4A0D48890002F0D4FD635DD8E7C9 +:100DEC000B4A0C49094802F0CDFD4B46E35CC1E7C8 +:100DFC008021094A13680B431360C6E78C0000205E +:100E0C00644E00080C53000828530008D451000805 +:100E1C00E45200089102000000440040F0B5CE46B8 +:100E2C0047461500812280B55200825A83B0904605 +:100E3C00984442460400D01D6A46C008C000121AED +:100E4C0002AF954602AA914683225200A25C484604 +:100E5C00019300950B00042102F030FF72B6BFF332 +:100E6C004F8FBFF36F8F4826454DAB5DFF2B00D1E5 +:100E7C0071E048215A1CD2B26A548021414EC905F6 +:100E8C00B068496AB160884202D9F1680131F160F9 +:100E9C00002A42D04822AB54002B04D1BFF34F8F11 +:100EAC00BFF36F8F62B683204000215CB2680B00E9 +:100EBC00F6683633B6079B009208E31832435A6043 +:100ECC00072301311940215472B6BFF34F8FBFF382 +:100EDC006F8F4826AB5DFF2B44D048222000013396 +:100EEC00AB5449464246CC3002F098FD002827D13D +:100EFC0048242B5D002B1BD04822013BDBB2AB54AA +:100F0C00002B04D1BFF34F8FBFF36F8F62B6BD467A +:100F1C0001B0C0BCB946B046F0BDA6211A4A1B4868 +:100F2C00890002F02FFD4823EB5C013BDBB2B1E7FB +:100F3C00A621154A1548890002F024FD2B5DDBE73C +:100F4C000223FF33E256012A13D0114911485831BC +:100F5C0002F008FDCCE7104A10490C4802F012FDD3 +:100F6C00AB5D86E70C4A0D49084802F00BFDAB5D02 +:100F7C00B3E780210A4A13680B431360B8E7C046F5 +:100F8C008C0000200C01002028530008D4510008CC +:100F9C00644E00080C530008E45200089102000053 +:100FAC0000440040F0B5DE4657464E464546E0B597 +:100FBC008BB0834600AF08000C0003F009F815282D +:100FCC0026D011D8012839D002282DD1D549D648A0 +:100FDC006C3102F0C7FC0020BD460BB0F0BCBB4628 +:100FEC00B246A946A046F0BD17281DD1200002F03C +:100FFC00F3FF027A0400851D062A44D0082A23D068 +:10100C00022A2CD0C949CA485C3102F0ABFCE2E799 +:10101C00D42359465B00C34AC858833B0021FF3B8D +:10102C007832FFF7FBFED6E7200002F0D1FFBD4976 +:10103C0002006C31BF4802F095FCCCE7B949BE48C0 +:10104C006C3102F08FFCC6E7C188AA88BB4802F05D +:10105C0089FCB649BA48483102F084FCBBE7AA883F +:10106C00C188B84802F07EFCAA88062A00D109E1A2 +:10107C00072A00D1A6E0052A1AD0AC49B248203183 +:10108C0002F070FCA7E7AA88C188B04802F06AFC9D +:10109C00AA88072A00D1E5E0082A00D1BBE0062A7D +:1010AC0000D1CFE0A149A848343102F05BFC92E7B3 +:1010BC006B46FB60D2235A4669465B00D25810330C +:1010CC00D35C98469B007B600733DB08DB00CB1AB4 +:1010DC009D4643466C463C61002B00D15EE1D22319 +:1010EC005B00D05846460023190141589A00013341 +:1010FC00A150DAB29642F7D83B69B0469A462B001B +:10110C00022400265546994601CD01F015FAFF231D +:10111C009C4680B284459B415B420233C018013629 +:10112C002418F6B2A4B2B045EED123006A460C33B3 +:10113C009BB20733DB08DB00D31A9D466E46BE60BC +:10114C007388B41DB3800023062233807380494614 +:10115C00200002F089FF0523A37003AB7A687B6142 +:10116C0016239446012533733B69A84663445546C0 +:10117C003B6114E002220C239246337070700A3BE0 +:10118C0002045444F01844444946120C02F06CFF1B +:10119C00A3B298463B690435AB4200D1E2E02B6820 +:1011AC007E691800994601F0C7F984B24644FF2CB9 +:1011BC00E0D90D2303223370230AB3709246032324 +:1011CC007070DDE7D2235A465B00D2581233D45CE0 +:1011DC0000237A8B3B767B837B761E232900BA8394 +:1011EC00F818062202F040FF20220523BA181370CB +:1011FC002422013BBA1813702133FB181C70D42322 +:10120C005A465B00D05818229B3B0121FF3BBA1871 +:10121C00FFF704FEDFE6AB790C2B00D0DBE65A4679 +:10122C009933FF33D658EB790E34042B00D1D6E02A +:10123C00052B00D18CE01D2100230022300002F090 +:10124C00F3FDC8E6AB790C2B00D0C4E6D22158468E +:10125C002200490040588539EB790E32FF3902F0F3 +:10126C00E3FDB8E6AB79042B00D0B4E65946220076 +:10127C00A133FF33C858A43B21210D32FF3B02F0B0 +:10128C00D3FDA8E6D2225B4652009958B623FF3311 +:10129C00CB5C8A581B019C586E46200001F04CF91F +:1012AC00FF2380B283429B415B42C0180E3083B255 +:1012BC000733DB08DB00F31A9D46E84642465B88A1 +:1012CC002900938000231380538006336B44994686 +:1012DC000622180002F0C8FE05234A46200093702F +:1012EC0001F02AF983B29946FF2B4DD80C234246C4 +:1012FC00022513730E23507343440204210018007B +:10130C00120C02F0B1FE4B46D42259460C3352005B +:10131C00EB1888589BB242460121FFF77FFDB5467A +:10132C0059E6C046644E000884530008E44E000899 +:10133C0050540008745200086C53000818540008EC +:10134C003854000898530008C0530008E0530008B4 +:10135C002C490522200002F079FE1B21002800D028 +:10136C0069E769E7434645460D339BB21822796914 +:10137C004A5559469132FF3288580121BA68FFF715 +:10138C004DFDFB689D4626E642460D2313734B46E6 +:10139C001B0A937303250F235073ADE700237A8B3D +:1013AC003B767B837B761E232900BA83F8180622B2 +:1013BC0002F05AFE20220523BA181370242211338E +:1013CC00BA1813700C2294460C329046B844C4449C +:1013DC0062467A6142460125083BBA60C6E70422A0 +:1013EC002000094902F032FE002809D00422200016 +:1013FC00064902F02BFE002800D01CE71C211BE73D +:10140C001A2119E7105400080854000870540008F9 +:10141C000FB430B597B01AA920C92800019102F079 +:10142C0097FA2A0004005021019B02A802F08AFFBF +:10143C00002807DD064A013083B20021106F02AA92 +:10144C00FFF7ECFC200017B030BC08BC04B0184708 +:10145C008C00002070B5050008000C0002F0B8FDEF +:10146C00C31FDBB21B2B03D823499B00CB589F46D1 +:10147C00224902006C31224802F074FA70BD21003E +:10148C00A86F02F015FDF9E7200002F0A5FD00237E +:10149C00416800681B4A01F001FA04003C2120005D +:1014AC0001F0E2F820000E003C2101F057F83C213D +:1014BC0001F0DAF80D00E1212000090101F04EF8ED +:1014CC00330001002A001048FFF7A2FFD6E72000E6 +:1014DC0002F082FD04680D482100FFF799FF022CF1 +:1014EC00CCD188230022EA54C8E7002300221E2115 +:1014FC00A86F02F099FCC1E7344A0008E44E0008DA +:10150C00A454000840420F0078540008905400087E +:10151C00B62370B5FF33C55C113BC35804000A21D8 +:10152C001C482D015D19FA2602F01CFADB230A2255 +:10153C005B00B600E2543100174802F013FA502356 +:10154C00164A3221D652164A164BB8265A611648FC +:10155C0002F008FA3223FF36A35529681348FFF727 +:10156C0057FFD4225200A35DA550A934FF34AA8999 +:10157C00A37100232281A380EB7A002B03D00023DC +:10158C00E371A37270BD4821094A0A4802F0FAF9C6 +:10159C00F5E7C04664510008845100088C00002017 +:1015AC00FF0F0000007400409C510008B05400086C +:1015BC00C4540008DC540008F0B5D6464F464646E5 +:1015CC000500C0B508000C0002F002FD0300143B3E +:1015DC00DBB20E2B03D83F4A9B00D3589F4620000A +:1015EC0002F0F6FC3C49020010313C4802F0BAF91A +:1015FC000020E0BCBA46B146A846F0BD200002F07F +:10160C00EBFC374A41888388008853434A43C10125 +:10161C0009180901091A9B0B920B890A3148FFF72B +:10162C00F7FEE5E7B622DA21FF32AB5C4900013365 +:10163C00DBB2AB54695C994201D10023AB54280056 +:10164C00FFF766FFD4E7200002F0C6FC81462000BD +:10165C0002F0C0FCDA235B009846EB5C0700002B21 +:10166C00EDD0D2235B0000249A4605E043460134BA +:10167C00EB5CE4B2A342E2D95246AA5823019E582D +:10168C00300000F059FFB842F0D13A003100484622 +:10169C0002F0DCFC0028E9D11349320013487C31FC +:1016AC0002F060F9B623FF33EC54C8E7200002F0D7 +:1016BC0093FC01782800FEF709FE99E7200002F060 +:1016CC008BFC04780A48210002F04CF9B823FF3354 +:1016DC00EC548DE7A44A0008644F000850520008EF +:1016EC004DCE0000F0540008E44E000818550008D8 +:1016FC009C51000870B5040008000D0002F068FC55 +:10170C00272803D8254A800013589F46290020001B +:10171C00FFF752FF70BDB623FF33E25C113BE35879 +:10172C0012019B18B822D426FF32A25C7600A3517A +:10173C00A5199989AA7100222981AA80DA7A002A2E +:10174C0024D00022EA71AA7219681548FFF760FECE +:10175C001448DFE7144915481C3102F003F9002046 +:10176C00D8E7114912481C3102F0FCF80020D1E7EF +:10177C00104802F0F7F80020CCE7D4235B00E358C4 +:10178C000D481968FFF744FE0020C3E748210B4AB7 +:10179C000B4802F0F7F8A359D3E7C046E04A00081B +:1017AC004C550008D1170008644F00082455000858 +:1017BC00385500085C55000870550008C4540008E2 +:1017CC00DC54000870B5050008000C0002F000FCA9 +:1017DC00272803D8164A800013589F46210028005A +:1017EC00FFF7EAFE70BD0020FCE71248FAE7124949 +:1017FC001248283102F0B6F82800FEF715FE00203A +:10180C00F0E70D490E48283102F0ACF80020E9E76A +:10181C002800FEF709FE03000020002BE2D1A933BB +:10182C00FF33EB5807481968FFF7F2FD0648D9E774 +:10183C00804B000859180008644F000880550008B8 +:10184C008C550008705500080117000870B505008C +:10185C0008000C0002F0BCFB272803D81D4A8000AE +:10186C0013589F4621002800FFF7A6FE70BDD42315 +:10187C005B00EB5818481968FFF7CAFD1748F5E7E5 +:10188C0017491848383102F06DF80020EEE714497A +:10189C001548383102F066F80020E7E70020E5E74C +:1018AC00D8235B00EB5A002B08D1A933FF33EB583C +:1018BC000E481968FFF7ACFD0D48D7E7D4235B0041 +:1018CC00EB580C481968FFF7A3FD0020CEE7084839 +:1018DC00CCE7C046204C000898550008D1170008EA +:1018EC00644F0008805500088C550008705500089E +:1018FC0001170008A8550008020030B5303AD3B2E1 +:10190C0083B0472B03D854499B00CB589F4601000A +:10191C005248FFF77DFD03B030BDFA2080258000D2 +:10192C0050434F4C80B2FEF73FFD6369AD002B4234 +:10193C00F1D14C4802F016F8A561ECE78025484C33 +:10194C00AD0063692B4200D080E00021464802F0D4 +:10195C0009F800235022454C4549A352454A002022 +:10196C005161220058329383642100F0F7FD01ADE0 +:10197C002830287001232A002221E06E02F054FA4C +:10198C00C9E73D48FFF744FDC5E73C493C484431B5 +:10199C0001F0E8FF3B4A3C4993680B4004210B43A0 +:1019AC009360B8E7314C002300220C21E06E02F06A +:1019BC003BFA002300220E21E06E02F035FAAAE772 +:1019CC002A4B5833988B314B643898420FDCFA23EE +:1019DC009B00984200DA180080B2FEF7E5FC9AE70B +:1019EC00224B5833988B294B64309842EFDD18000A +:1019FC00EDE780222649D2034869030413404022B4 +:101A0C00824313438B6186E7184B00221F21D86E4B +:101A1C00002302F009FA7EE702230193134B0721FE +:101A2C00D86E01AA042302F0FFF974E71948FFF7F6 +:101A3C00EFFC70E711490D4B114854311C6F01F04C +:101A4C0091FF08230022FF33E25464E7124801F0AF +:101A5C0089FFA56279E7C046C04C000830560008E3 +:101A6C000004005000560008845100088C0000202F +:101A7C00FF0F000000740040B8550008644F0008C8 +:101A8C001456000800240140E8FFFF7FD82700000F +:101A9C000008005018560008EC550008F0B54546F3 +:101AAC00DE4657464E46E0B583B0804602AF08008E +:101ABC000C0002F05FF90500012814D0200002F0A0 +:101ACC005DF90600032D54D0200002F05BF981462D +:101ADC00042D10D0280002F0ABF84B460100320068 +:101AEC00334801F03FFFBD4601B0F0BCBB46B246E7 +:101AFC00A946A046F0BD200002F038F9814620002E +:101B0C0002F046F90500200002F03CF94A460300B9 +:101B1C00002A46D1022806D12A782F2A03D16878C8 +:101B2C00FFF7EAFE1CE069465A1D91460732D208BF +:101B3C00D2008A1AEB46954602AA9246494650466E +:101B4C001C4A009502F096FB002808DD814506D959 +:101B5C00194A83B20021106F5246FFF75FF9DD4638 +:101B6C00200002F003F9310002004046FFF7DEF8D6 +:101B7C00B9E70100114801F0F5FE200002F0F6F87B +:101B8C000400020031004046FFF7D0F84346210024 +:101B9C0018684B1E994100220023153102F044F9BC +:101BAC00A1E740462A001721006802F03DF9D7E76B +:101BBC0074560008685600088C000020485600082F +:101BCC0070B50825FF35435D0400002B0ED10A29A2 +:101BDC0005D0C9B2FFF756F8032818D070BD012202 +:101BEC000339FFF7A3F801236355F7E7C9B2FFF7F1 +:101BFC0049F80028F2D0FC23E558280002F0CAF876 +:101C0C00002814D029002000FFF748FFE6E7FC234A +:101C1C00E558280002F0BEF800280ED0290020005C +:101C2C00FFF73CFF08230122FF33E254D6E70649B5 +:101C3C0006486C3101F096FED0E7034903486C313D +:101C4C0001F090FEEEE7C046644F0008A456000871 +:101C5C00112110B50E4A0F48136A8B431362802270 +:101C6C000D4B92009A62DA3AFF3A9A610B4B0C498F +:101C7C005A6801F077FE0B4C012321000A48103101 +:101C8C00237401F06FFE237C002BFCD110BDC046E9 +:101C9C00002C0140B45600080004005000ED00E098 +:101CAC00E44F00080C010020C4560008024A536996 +:101CBC00013353617047C0460C01002010B5EFF39F +:101CCC00058203490348143101F04CFE10BDC04697 +:101CDC00E44F00085C510008012210B5144B19693F +:101CEC000A421DD00620196891431960D9688143B6 +:101CFC00D960196901308143196140210D4B9962FA +:101D0C000D4B19399A6101329A6102329A611C3277 +:101D1C009A610A4B00229869002302F085F810BDE5 +:101D2C0007491A692031074801F01CFEF7E7C04645 +:101D3C00002C014000080050000400508C000020D2 +:101D4C00E44F0008FC560008022210B5254BD96858 +:101D5C000A4202D019690A423AD123490422214B82 +:101D6C00D868024202D0186902420CD15223CA5AD6 +:101D7C001C4B1B6B01339A4212D01A4B1B491A692C +:101D8C000A4218D110BD1869904318615223CA5ADF +:101D9C00013292B2CA52134B1B6B01339A42ECD1F3 +:101DAC00002300228869262102F03EF80D4B0F49D2 +:101DBC001A690A42E6D01B690D48194001F0D2FDA0 +:101DCC00EFF305820B490C48143101F0CBFDD9E738 +:101DDC00196991435222196103498B5A01338B5271 +:101DEC00BCE7C046002C01408C000020E0FF0C003A +:101DFC00FC560008E44F00085C510008F8B580233D +:101E0C000222DB0519690A420FD101211A6911421C +:101E1C0003D01A698A431A61F8BDEFF30582284989 +:101E2C002848143101F09EFDF6E71969264C9143C0 +:101E3C0019612668676872B6BFF34F8FBFF36F8F57 +:101E4C004825635DFF2B33D048215A1CD2B2625413 +:101E5C0080211E4DC905A868496AA960884202D92B +:101E6C00E9680131E960002A17D04822A354002BFD +:101E7C0004D1BFF34F8FBFF36F8F62B6EB68AA68C4 +:101E8C00990792080A439B083800B0478022D20574 +:101E9C00536BA1685B185363BEE7A6210C4A0D482F +:101EAC00890001F06FFD4823E35C013BDBB2DCE70A +:101EBC00094A0A49074801F065FD635DC4E7C0465D +:101ECC00E44F00085C5100088C0000200C0100203D +:101EDC0028530008D4510008E45200089102000075 +:101EEC0070B548250B4C635D002B0BD04822013B91 +:101EFC00DBB2A354002B04D1BFF34F8FBFF36F8F12 +:101F0C0062B670BDA621044A0448890001F03AFD6E +:101F1C00635DEBE78C00002028530008D4510008C7 +:101F2C0070B572B6BFF34F8FBFF36F8F4825074C58 +:101F3C00635DFF2B03D048220133A35470BD044AC8 +:101F4C000449054801F01EFD635DF4E78C00002098 +:101F5C00E452000891020000D4510008102210B580 +:101F6C000E4BD9680A4211D119690A4207D1EFF315 +:101F7C0005820B490B48143101F0F4FC10BD0A48E2 +:101F8C0000211A610C3001F019FDF7E70648012118 +:101F9C00DA600C3001F012FDF0E7C0460018024088 +:101FAC00E44F00085C5100088C00002010B5EFF3E2 +:101FBC00058203490348143101F0D4FC10BDC0461E +:101FCC00E44F00085C510008102210B51C4B196836 +:101FDC000A421AD1012219680A4211D180221968C9 +:101FEC009201114222D1042219680A4223D10822FB +:101FFC0019680A420ED01A60124801F0B3FC03E0D3 +:10200C0011481A6001F0AEFC10BD1A600F4801F0C7 +:10201C00A9FCF9E719680E4801F0A4FCEFF305825E +:10202C000C490D48143101F09DFCEDE71A600B488A +:10203C0001F098FCE8E71A60094801F093FCE3E72B +:10204C00002401404C570008185700080857000896 +:10205C0058570008E44F00085C510008245700084A +:10206C0040570008022310B5134C2268134218D1B4 +:10207C0008232268134208D11049226810484031C5 +:10208C0001F070FC0423636010BD0C4963604031A7 +:10209C000C4801F067FC01210B4A13680B431360D9 +:1020AC00F2E76360094B14211A0098694A3206233F +:1020BC0001F0BAFEE8E7C04600000240E44F000819 +:1020CC007457000868570008080002408C00002074 +:1020DC0010B50D4BDA69920610D4DB691B0605D5D9 +:1020EC000A4B0B49986B5B6B984710BDEFF305825D +:1020FC0008490948143101F035FCF6E70348596AE0 +:10210C001C3001F05BFCF0E7004400408C00002028 +:10211C0028440040E44F00085C51000870B572B6CA +:10212C00BFF34F8FBFF36F8F48241B4D2B5DFF2BDD +:10213C002BD048215A1CD2B26A548021174CC905A5 +:10214C00A068496AA160884202D9E1680131E16066 +:10215C00002A0FD04822AB54002B04D1BFF34F8F71 +:10216C00BFF36F8F62B6E168A0688B0780081843D5 +:10217C00890870BDA6210A4A0A48890001F002FCB0 +:10218C004823EB5C013BDBB2E4E7074A074905480F +:10219C0001F0F8FB2B5DCCE78C0000200C0100203B +:1021AC0028530008D4510008E452000891020000A2 +:1021BC007047C04610B50B00EFF31084012181F37A +:1021CC0010881900FEF7B6FA84F3108810BDC046CB +:1021DC0010B582B0EFF31084012181F310886B46A7 +:1021EC000122D91D0020FEF7A5FA84F310880128DE +:1021FC0003D16B46D87902B010BD01204042FAE7FA +:10220C0010B5FEF741FA10BDF0B5DE464E46574606 +:10221C004546E0B59BB00AAB0593402306930023DB +:10222C000793089301330C0091469B46029009904A +:10223C0005E005A8FEF76CFB0898002859DB21780F +:10224C00013400295CD02529F3D122001378002613 +:10225C0002250820140021392D2B0CD02D2B0ED843 +:10226C00232B11D02B2B00D05FE10E4301321378BE +:10227C0014002D2BF2D15B4601321E43F7E7302BB5 +:10228C0005D12E430132F2E706430132EFE71A0083 +:10229C00303A0025092A0DD81A00AB005B1901341D +:1022AC005B009B182278303B1D001300303B092B40 +:1022BC00F3D913002E2B00D1D8E00027237804216A +:1022CC0001E0637801341A008A43682AF9D0252B7F +:1022DC0007D0583BDBB2202B07D8954A9B00D3582C +:1022EC009F46252105A8FEF713FB0898013400280A +:1022FC00A5DA1BB0F0BCBB46B246A946A046F0BD61 +:10230C0008980028F5DD079C002C00D0C6E00019C9 +:10231C00EFE74B4649461B6805A81A1D0A60196869 +:10232C0010223B0001960095FEF72AFB0134089819 +:10233C00DDE74B4649461B6805A81A1D0A6019685B +:10234C000A223B0001960095FEF71AFB013408980F +:10235C00CDE74B4649461B681A1D0A601D6805E00F +:10236C0005A8FEF7D5FA08980028BFDB29780135B7 +:10237C000029F5D10898B9E74B4649461B6805A8D2 +:10238C001A1D0A6019680023019308331022009368 +:10239C00FEF7F6FA01340898A9E74B4649461B6844 +:1023AC001A1D0A601B68DA17981803930123504012 +:1023BC009A4609280DDDAA46A0461D000A210400F4 +:1023CC00013500F081F9632CF8DC2B0044465546AE +:1023DC009A46B846574575D3002D36D0039B002B33 +:1023EC0074DB730772D4B30701D5002F2DD05B4675 +:1023FC0033422AD1002D28D04346A0461C00AC42C3 +:10240C0020D205A82021FEF783FA0898013D002868 +:10241C0000DA87E0002DF2D1230044469846039B56 +:10242C00002B58DB730761D403233340022B62D09B +:10243C0005A83B000A22039901960095FEF7A0FA25 +:10244C00089853E723004446984608980028E6DA93 +:10245C0001344CE74B4649461B6805A81A1D0A6017 +:10246C001978FEF755FA0134089840E76378621C36 +:10247C001900303914000027092900D91FE71A0068 +:10248C00BB00DB1901345B009B182278303B1F002A +:10249C001300303B092BF3D9130010E7254B1B78A5 +:1024AC00002B15D0EFF31085012181F31088220049 +:1024BC0002980AA9FEF7B2F985F310880898079CD0 +:1024CC00001916E7D046002DBFD087E7013D8AE7FB +:1024DC00FEF7DAF8E6E75B422D2105A80393FEF739 +:1024EC0017FA089800289FDA013400E72B2105A879 +:1024FC00FEF70EFAF5E7002F9AD10AE0A8450CD2A8 +:10250C0005A83021FEF704FA0898013D002800DAEE +:10251C00ECE6002DF2D100258AE70898002887DA2E +:10252C000134E4E644460134E1E60025C5E6C04644 +:10253C00E04D0008242100200023C25C0133002A56 +:10254C00FBD1581E7047000003B471464908400087 +:10255C004900095E49008E4403BC704700224308C1 +:10256C008B4274D303098B425FD3030A8B4244D34F +:10257C00030B8B4228D3030C8B420DD3FF22090291 +:10258C0012BA030C8B4202D31212090265D0030B50 +:10259C008B4219D300E0090AC30B8B4201D3CB0346 +:1025AC00C01A5241830B8B4201D38B03C01A524188 +:1025BC00430B8B4201D34B03C01A5241030B8B428A +:1025CC0001D30B03C01A5241C30A8B4201D3CB0275 +:1025DC00C01A5241830A8B4201D38B02C01A52415A +:1025EC00430A8B4201D34B02C01A5241030A8B425D +:1025FC0001D30B02C01A5241CDD2C3098B4201D375 +:10260C00CB01C01A524183098B4201D38B01C01AF2 +:10261C00524143098B4201D34B01C01A5241030969 +:10262C008B4201D30B01C01A5241C3088B4201D318 +:10263C00CB00C01A524183088B4201D38B00C01AC5 +:10264C00524143088B4201D34B00C01A5241411AEC +:10265C0000D20146524110467047FFE701B50020F9 +:10266C0000F006F802BDC0460029F7D076E77047A7 +:10267C007047C04610B5002903D100F007F8203090 +:10268C0002E0080000F002F810BDC0461C21012336 +:10269C001B04984201D3000C10391B0A984201D339 +:1026AC00000A08391B09984201D30009043902A217 +:1026BC00105C40187047C04604030202010101017E +:1026CC00000000000000000003460B437FD40022F2 +:1026DC0043088B4274D303098B425FD3030A8B42AA +:1026EC0044D3030B8B4228D3030C8B420DD3FF2214 +:1026FC00090212BA030C8B4202D31212090265D0E2 +:10270C00030B8B4219D300E0090AC30B8B4201D394 +:10271C00CB03C01A5241830B8B4201D38B03C01ADB +:10272C005241430B8B4201D34B03C01A5241030B52 +:10273C008B4201D30B03C01A5241C30A8B4201D303 +:10274C00CB02C01A5241830A8B4201D38B02C01AAE +:10275C005241430A8B4201D34B02C01A5241030A25 +:10276C008B4201D30B02C01A5241CDD2C3098B420A +:10277C0001D3CB01C01A524183098B4201D38B0187 +:10278C00C01A524143098B4201D34B01C01A52412A +:10279C0003098B4201D30B01C01A5241C3088B426F +:1027AC0001D3CB00C01A524183088B4201D38B005A +:1027BC00C01A524143088B4201D34B00C01A5241FC +:1027CC00411A00D201465241104670475DE0CA0FD3 +:1027DC0000D04942031000D34042534000229C4693 +:1027EC0003098B422DD3030A8B4212D3FC2289019D +:1027FC0012BA030A8B420CD3890192118B4208D373 +:10280C00890192118B4204D389013AD0921100E0D4 +:10281C008909C3098B4201D3CB01C01A52418309E8 +:10282C008B4201D38B01C01A524143098B4201D315 +:10283C004B01C01A524103098B4201D30B01C01A40 +:10284C005241C3088B4201D3CB00C01A52418308BA +:10285C008B4201D38B00C01A5241D9D243088B4210 +:10286C0001D34B00C01A5241411A00D201466346B3 +:10287C0052415B10104601D34042002B00D5494217 +:10288C00704763465B1000D3404201B50020FFF750 +:10289C00EFFE02BD0029F8D016E77047002B11D1CE +:1028AC00002A0FD1002900D1002802D00021C943F1 +:1028BC00080007B4024802A14018029003BDC046AC +:1028CC00B1FDFFFF03B4684601B5029800F006F8AD +:1028DC00019B9E4602B00CBC7047C046F0B55746F3 +:1028EC004E464546DE46E0B504000D00924699463C +:1028FC0083B08B4230D82DD049465046FFF7BAFEF4 +:10290C00290006002000FFF7B5FE331A9846203B3D +:10291C009B4633D45A465346934042461F00534677 +:10292C0093401E00AF423AD8AF4200D178E05B46EC +:10293C00A41BBD41002B00DA75E00022002300929D +:10294C00019301235A46934001930123424693403D +:10295C00009328E08242CFD90022002300920193F9 +:10296C000C9B002B01D01C605D600098019903B09A +:10297C00F0BCBB46B246A946A046F0BD4246202359 +:10298C009B1A5246DA40414613004A468A401700C9 +:10299C0042461F43534693401E00AF42C4D9002207 +:1029AC000023009201934346002BD9D0FB077208F9 +:1029BC001A4346467B080EE0AB4201D1A2420CD82A +:1029CC00A41A9D41012024196D410021013E2418B7 +:1029DC004D41002E06D0AB42EED9013E24196D417B +:1029EC00002EF8D1009801995B4600196941002B23 +:1029FC0024DB2B005A464446D3402A00E2401C00FC +:102A0C005B461500002B2ADB26009E403300260077 +:102A1C004746BE403200801A9941009001919FE7D1 +:102A2C00A342BCD883E74246202300219B1A0022F4 +:102A3C00009101920122DA40019286E7424620235E +:102A4C009B1A2A0046469A402300F34044461343FF +:102A5C002A00E2401C005B461500002BD4DA4246EB +:102A6C002F002023260097409B1ADE403B00334367 +:102A7C00CDE7C0460D488546FFF79AFB0C480D493B +:102A8C000D4A002302E0D458C4500433C4188C42BD +:102A9C00F9D30A4A0A4C002301E013600432A24223 +:102AAC00FBD301F09BFA00F00FF8FEE7009000203A +:102ABC00000000206C0000208459000870000020E9 +:102ACC0004220020FEE70000F0B5DE4657464E46D5 +:102ADC004546E0B5B9B000F037FF904800F042FF32 +:102AEC0007228F4B00215A63A0240D3215A801F048 +:102AFC00C4FA0223E405189320000E3314A914938E +:102B0C00FDF718FB149A236913409A4206D1854BA2 +:102B1C001B6883F30888844B1B6898470323A02603 +:102B2C009A4615930023F60598463000189314A97D +:102B3C0043331493FDF7FEFA2023300014A91493A9 +:102B4C008025FDF7F7FA43460127784C1793AD0023 +:102B5C000233200015971693149514A9A562994673 +:102B6C00FDF7E8FA40237248149314A98361FDF72A +:102B7C00E1FA272320001797149314A9A361FDF7FA +:102B8C00D9FA4B46159319934346C02417935346D1 +:102B9C00A400169314943000B46214A9FDF7CAFA79 +:102BAC000C23300014A919971493FDF7C3FA802154 +:102BBC005B4B09065A6D0120920092080A435A6534 +:102BCC005C4ADA635C4A1A649A6B17439F635B4BEB +:102BDC001A6814431C605A4CFDF732FB2368594A9F +:102BEC00594F13401D4325603B6858495800C01885 +:102BFC004000FFF7B3FC80226369D200013013421E +:102C0C0002D105E0002803D0636901381342F9D1E1 +:102C1C0080214B4A490013680B43136013680B4225 +:102C2C00FCD002213E4A4A4BD365D36D1942FCD0ED +:102C3C00382391680B40D168102B01D100F01DFC9A +:102C4C00002B01D000F01DFC136842495368194059 +:102C5C008023DB010B43536013683F490B40136027 +:102C6C0013683E4A9B045B0FDA403A607868FDF7C4 +:102C7C00E7FA3B4A002832D1382029498B680340B7 +:102C8C00102B01D100F0A0FD0B68364803408020CA +:102C9C000B605469800403E053691B1B022B1ED884 +:102CAC000B680342F8D1CB682F4818402F4B0343D5 +:102CBC00CB60802308685B0403430B608023C868E7 +:102CCC005B050343CB60802154691548890403E0FC +:102CDC0053691B1B022B02D803680B42F8D0062346 +:102CEC0016490868184201D100F0B5FCE0230C49E4 +:102CFC00DB01886803438B608B681D4803408B6045 +:102D0C000B689B0167D507208B681A4C834318000E +:102D1C00022303438B603820556931E08457000847 +:102D2C00001002400000FF1F0400FF1F00040050B1 +:102D3C00000800500300023001081200002002407D +:102D4C0000700040FFF9FFFF0000002040420F0020 +:102D5C0009800000FF80FFFFFFC7FFFF0024F40085 +:102D6C000C010020FFFFFFFE8C80C1113230164693 +:102D7C00FFF0FFFF8813000053695B1BA3422AD8A6 +:102D8C008B680340102BF7D10720EE490B680340EA +:102D9C00022B01D900F0BFFCEB4BEC499A680A40BE +:102DAC009A6038229968114201D000F09DFC1B6892 +:102DBC00E7489B045B0FD840E34BE64A9B681B0536 +:102DCC001B0F9B00D3181F22DB6D1340D8403860BB +:102DDC007868FDF735FAE04AE0491368E0480B40A3 +:102DEC001360E04B3A6819680905090D00F0BAFD4B +:102DFC0084201022DC4B195891431950043819586F +:102E0C001143195019681143196059680A435A60E3 +:102E1C00D64B1A68D20307D41A68D5490A401A60EF +:102E2C00DA6BD4490A40DA638023D04A5B0211681A +:102E3C0001240B4313603F22CF4909200B689343B5 +:102E4C001A00052313430B60CC4BCD491A68114073 +:102E5C00CC4A0A43CC491A6099600321CB4A934669 +:102E6C004A32DA605A68120C12040A435A60C84A91 +:102E7C005460022219680A431A60082219680A432E +:102E8C001A601A68210022431A60FDF735F9C14B0C +:102E9C009A68224207D1DA68BF490A40DA601A6997 +:102EAC00920092081A618021BA4B8903DA680A43AE +:102EBC00DA608022920119681142FCD007211A6055 +:102ECC005A698A43110002220A4370215A615A69D5 +:102EDC008A43110050220A430F215A619A6A8A438D +:102EEC009A625A699D490A405A619A6AF231FF31D5 +:102EFC008A43110010220A4380219A625A69890080 +:102F0C000A435A619A6AA5491140C022D2000A4369 +:102F1C0080219A625A69C9010A435A619A68A04988 +:102F2C001140802252050A439A609E493868FFF787 +:102F3C0015FB142343430793079B002B05D0079BDA +:102F4C00013B0793079B002BF9D1924B96499A684A +:102F5C001140802212060A439A609A68002AFCDB10 +:102F6C00802212011A6020230793079B002B05D0A7 +:102F7C00079B013B0793079B002BF9D18023854CC2 +:102F8C009B05226903211343236111230C206360E9 +:102F9C00FDF7B2F80121E368E368A3680B4200D1A6 +:102FAC0031E3824800F0DEFC01267A4B80491A6935 +:102FBC0014A8B2431A611A69D0240A401A619A689B +:102FCC00794964000A4032439A6049235A4618A949 +:102FDC00D654642200F00EFFD620400001F022F8F7 +:102FEC00C822010052001031050000F003FFDC2064 +:102FFC00704B40002B51319501F014F8C8220100A0 +:10300C0052001031050000F0F5FE0022002338219B +:10301C0034923593882306AA52183295D654664BAF +:10302C00664819001C319A4600F09CFC38686449CB +:10303C00FFF794FA8023634ADB05013898625A63E0 +:10304C001022022158469A611A6A5F4D32431A6265 +:10305C00DA680A43DA605D4A02605A4614A8506086 +:10306C00FA225846120182600322586902435A61BF +:10307C000F201E60FDF740F8329B554A38681A51F4 +:10308C00D222520090465246414638325A50DA22E9 +:10309C00520091464946002450325A524E3A9C54A2 +:1030AC005A4640499361FFF759FA51460138A862D4 +:1030BC00AA6A7831474800F055FC474B2100AB61B8 +:1030CC0011230D202B626E60FDF716F821000E20E7 +:1030DC00FDF712F884232B60882384201B02EE60FA +:1030EC0040006B6400F09EFFC82205000190011D9A +:1030FC00CC3000F06FFC0223FF22FF33EA5442462F +:10310C00319B329E9E5004329D505B4614AADA6667 +:10311C001D674B46F35CA34278D0142292462F4B8A +:10312C0099462F4B9A444346F35825019C466544D7 +:10313C004846296800F016FC28896B6800285ED088 +:10314C00002254E00020024000100240FF8FFFFFDD +:10315C000024F400E44F000800700040FFFEFFFF65 +:10316C0098570008005801400018024000740040B5 +:10317C00FFFF03FFFFFFF8FF0008024008000240BA +:10318C000F80FFFFA0250000402401408C00002090 +:10319C000000024000240140C73FFFFFFFF0FFFF8B +:1031AC00E8FFFF6F40420F00E8FFFF7FB8570008B1 +:1031BC00FFFFFFDFD10A0008645000081456000816 +:1031CC0000093D00801A0600002C01407503000820 +:1031DC00B10A0008D457000868680000E0570008DE +:1031EC00E4500008013292B20233904207D01978B1 +:1031FC005D780D42F6D05146B74800F0B3FBDA23A8 +:10320C005B000134F35CE4B2A3428CD8B623D22227 +:10321C00FF33F35C5200B2581B01D318B822D421EF +:10322C003400FF32B25C4900A9347350FF349989E1 +:10323C00A27100222181A280DB7A934200D11FE28D +:10324C000023A64AE371A372A133FF33F25000F0BE +:10325C0093FE80250100A24C3000FEF74BFA0A21A8 +:10326C003000FDF733F86369AD002B4203D19D4864 +:10327C0000F078FBA56114AA9B4908A800F098FB04 +:10328C005B460C3316C816C303210720FCF734FF2A +:10329C00D023319D954A5B00EA5000F06DFE010091 +:1032AC002800FDF77FFED4235B00EC580223FF338C +:1032BC00E35C7F2B00D8C5E18D4B04938D4B0593BC +:1032CC00256000F0B3FC81235B00E0520130FF303D +:1032DC0000F0A8FEFC238022E05000235200A354EF +:1032EC000632A352844A854B516D0B4353658B2395 +:1032FC008349CB600A68834B13430B604923984680 +:10330C005B4642469B5C012B00D98DE102211C20BF +:10331C00FCF7F2FE42465B46404659469B5C5A1C03 +:10332C000A5402225BB2FF329046A354002B00DAFF +:10333C0081E10BAB1800220073499A4600F038FB70 +:10334C00220072490EA800F033FB11AB18002200CA +:10335C006F49994600F02CFB4346E356012B00D1F4 +:10336C00EDE10223FF33E2566A4B1E0002936A4BD7 +:10337C005836310018009A46039300F0F3FA0222F3 +:10338C00FF329046A256012A00D103E2310050468A +:10339C0000F0E8FA4246A256012A00D1FAE13100C7 +:1033AC00504600F0DFFAD4235C495B0054315C4892 +:1033BC00EC5800F0D7FA082300220299FF33E254AC +:1033CC005848783100F0CEFA574B88249A46574B20 +:1033DC00574D9846382206AB9B181B5D002B00D12D +:1033EC00AEE0329B29001A001800009300F07EFD1D +:1033FC000028EFD1319B51461A001800009300F0C1 +:10340C0075FD0028E6D114AA4146100000F06EFDAF +:10341C00061EDFD10121484600F0BEFA002800D07C +:10342C004EE172B6BFF34F8FBFF36F8F48235A46EE +:10343C00D35CFF2B00D1B3E148225B4659469B5C21 +:10344C00329801338B5400F0EBFC002800D01DE1C6 +:10345C0048235A46D35C002B00D13EE148225B4600 +:10346C0059469B5C013BDBB28B54002BB2D1BFF3B2 +:10347C004F8FBFF36F8F62B6ACE70D3B194002293B +:10348C001FD01D492B4A0B68802013400B608023F2 +:10349C000A685B001343284A0B605469C00004E0BF +:1034AC0053691B1B022B00D919E40B680342F7D09C +:1034BC004B68224818408023DB0103434B60FFF725 +:1034CC00DBFB13681D49536819408023DB010B4358 +:1034DC005360FFF7CBFBC046F057000801170008FC +:1034EC0000040050005600085D030008B10F0008EE +:1034FC0008580008D45200080010024008000C00C4 +:10350C000044004001000020CD1B0008A902000867 +:10351C00C1020008644E00080C530008644F0008F8 +:10352C001456000850580008150B000861140008C8 +:10353C00690B0008FFC7FFFF0C010020FF80FFFF95 +:10354C00D025319C6D00665900F024FD010020004F +:10355C00B047DB4BDB48635100F004FAD4235B002B +:10356C00E4580223FF33E256012A04D0029903984F +:10357C00583100F0F7F9FC23E05800F05DFD022310 +:10358C00FF228026FF33D04DE2546B69B600329C8B +:10359C00334203D0CD4800F0E5F9AE62D0256D0082 +:1035AC00665900F0F7FC01002000B047C84B019AA7 +:1035BC0063510223FF33D35C7F2B05D82621049A59 +:1035CC000598FF3100F0DEF9019800F035FD3298D6 +:1035DC0000F032FD319800F02FFD72B6BD4800F0BE +:1035EC00C1F900F0E3F91121BB4A136A8B43136252 +:1035FC008022B54B92009A62DA3AFF3A9A61B74B45 +:10360C0019329A62FEE7E368B54AE3681A40B54B93 +:10361C001343E360E3689B0200D4C5E4F023A26A81 +:10362C001B021343A362BFE4AF4800F09BF90223D3 +:10363C00FF22FF33E25411AB9946AC4B0293AC4BD7 +:10364C000393B0E6AB4BAC4AFC21180004920593F3 +:10365C0000F098F934E6072002230C6884432343D6 +:10366C000B605569A54C05E053695B1BA34201D95E +:10367C00FFF7B1FB0B680340022BF5D1FFF736FBCC +:10368C0048219F4A9F4800F07DF9D9E5319800F018 +:10369C00C7FB002800D1DBE614A800F0C1FB002812 +:1036AC0000D1D5E68022984E92007369134200D067 +:1036BC00E0E00421954A13698B43136130BFC7E6E0 +:1036CC004B461B7892490093887F582200286DD175 +:1036DC002F2B7CD12E3B8B77A3E6A6218D4A8E48CF +:1036EC00890000F04FF9B9E699681140082900D11A +:1036FC00D6E099681140102900D184E099681140F6 +:10370C00202900D1CFE09B681A40182A00D1CEE0C6 +:10371C000020FFF751FB02230C68844323430B600A +:10372C005569764C05E053695B1BA34201D9FFF741 +:10373C0052FB0B680340022BF5D1FFF72DFB5B46C8 +:10374C0052461C3343CA43C35B46283343CA43C364 +:10375C00042372490A6813430B604346E356012B5A +:10376C0000D0FEE55B465A469C636D4B53635B464B +:10377C004A463C3343CA43C3082368490A68134387 +:10378C000B604346E256594B0293594B0393012A63 +:10379C0000D0E9E52023614A11680B43136002E66F +:1037AC00604A61495C4800F0EDF845E6009B0A2B45 +:1037BC0040D05E4800F0D6F80098FEF79DF85B46C6 +:1037CC00002258339A772CE6CB68FFF788FA5946D3 +:1037DC004F4BDB7FC918885400980A280AD04C4EEE +:1037EC000133DBB2F3778854142B00D019E64F4821 +:1037FC0000F0B8F85E46583631004D4800F0B2F88B +:10380C000023F3770DE6DA68D968D243D868490605 +:10381C00490F40040131440E92074CD04548FEF745 +:10382C009DFE6043444BD968490F0131FEF796FE6B +:10383C00FFF7C2FA364B3648D97F4B1CDBB2C37745 +:10384C002F2059448854142B08D1384800F08AF89A +:10385C002F49374800F086F82D4BDE775E46002264 +:10386C005836F37F3100F254314800F07BF80022D7 +:10387C00F277A4E706203B6830495843FEF76EFE0A +:10388C0033682F4A01301340336003E0002800D125 +:10389C00DEE501388022736992001342F6D108E705 +:1038AC002848FFF789FA80200002FFF785FAFA20F2 +:1038BC00C001FFF781FA2348FEF750FE6043B1E7E1 +:1038CC00D10A00087458000800040050EC55000898 +:1038DC00B10A000884580008002C01400008005070 +:1038EC003CC2FEFF031000001C580008644E000888 +:1038FC000C530008D4520008085800088813000024 +:10390C00C4540008DC5400080070004000ED00E0D6 +:10391C00E400002028530008D45100080044004063 +:10392C00C10B0008E45200089102000088580008FE +:10393C00645800080024F4000010024040420F00BC +:10394C00FFBFFFFF00127A0010B5FEF759FC10BD47 +:10395C0000B583B0019101AA01000020FEF754FCD0 +:10396C0003B000BD0FB400B583B004AB02CB01AA09 +:10397C00002000930193FEF747FC03B008BC04B091 +:10398C001847C046130010B50A0001000148FFF7A4 +:10399C00E9FFFEE7B45800080A0010B5010000204A +:1039AC00FEF708FCC343DB17184010BD7047C04638 +:1039BC0000238360426001607047C04610B5036805 +:1039CC000400002B04D040689847A3680133A3601F +:1039DC0010BDC04601604B1E994100234942114065 +:1039EC0041608360C360704703009B68C068C01A65 +:1039FC0043425841C0B270470200C368581E9368D6 +:103A0C00C01A536800D5C0187047C04603008268BE +:103A1C00C1685B68501A00D5C0187047F0B54646AF +:103A2C00D6464F460500C0B5EB688068013B0E00DA +:103A3C0014001B1A1ED493421AD31700002F05D161 +:103A4C002000E0BCBA46B146A846F0BDAB68286879 +:103A5C009C463A006044310000F006FBAB689C4683 +:103A6C006B686744AF609F42EAD10023AB60E7E725 +:103A7C000020E6E76A6890464344A342F8D3031952 +:103A8C00994627009A42D9D8131A9A462B6852465F +:103A9C009C46604400F0E8FA00234246AB604B467B +:103AAC0056449F1ACAE7C046F8B54746CE4680B57D +:103ABC00C6688368050088469C1B0BD4944207D8C3 +:103ACC002700002C20D13800C0BCB946B046F8BD48 +:103ADC001400F5E7436899464C44944200D914000D +:103AEC00331927009945ECD84B469F1B2B683A009D +:103AFC009919404600F0B8FA4B46F61AA419B84486 +:103B0C0000263F19002CDED0296822004046891976 +:103B1C0000F0AAFAD7E7C046F0B54F464646D6465F +:103B2C00C0B50F008368C168060014005B1A1ED470 +:103B3C0093421AD31500002D05D12000E0BCBA46E3 +:103B4C00B146A846F0BDF36831689C462A00614432 +:103B5C00380000F089FAF3689C4673686544F56098 +:103B6C009D42EAD10023F360E7E70020E6E74268D4 +:103B7C0090464344A342F8D30B19994625009A4228 +:103B8C00D9D8531A9A46036852469C463800614469 +:103B9C0000F06AFA00234246F3604B4657449D1AE4 +:103BAC00C9E7C04670B501000400861D1D4D1E48B6 +:103BBC0023781B025840082304E0013BDBB280B29F +:103BCC00002B09D002B24000002AF6DA013B684013 +:103BDC00DBB280B2002BF5D10134A642E8D14B8880 +:103BEC008A781D0A120215431BD008314D190D4C51 +:103BFC00ADB20B781B025840082304E0013BDBB24A +:103C0C0080B2002B09D002B24000002AF6DA013B48 +:103C1C006040DBB280B2002BF5D101318BB2AB42EC +:103C2C00E7D170BD21100000FFFF00000820704795 +:103C3C00052804D883001B180248C0187047024896 +:103C4C00FCE7C046D8580008D458000870B50400EA +:103C5C0004A8007849000001084301210143072012 +:103C6C0018400023D20002436380237120000023FC +:103C7C000725C9B221706270661D082201304B40C5 +:103C8C0004E0013AD2B2DBB2002A09D059B25B008F +:103C9C000029F6DA013A6B40D2B2DBB2002AF5D138 +:103CAC00B04201D00178E8E763712000FFF77AFF9A +:103CBC00030AE071A371200070BDC04670B504000A +:103CCC0004A840C84900058820001B010B43D20002 +:103CDC0031002370627008302A0000F0C5F92B0AFD +:103CEC00A3700023E570200007252371661D027860 +:103CFC005340082204E0013AD2B2DBB2002A09D0C8 +:103D0C0059B25B000029F6DA013A6B40D2B2DBB251 +:103D1C00002AF5D10130B042E9D163712000FFF7E0 +:103D2C0041FF030AE071A371200070BD70B5002340 +:103D3C0007244679451D02785340082204E0013AD5 +:103D4C00D2B2DBB2002A09D059B25B000029F6DAF4 +:103D5C00013A6340D2B2DBB2002AF5D10130A8425D +:103D6C00E9D1F01A42425041C0B270BD00788006D1 +:103D7C00800F704700780007400F7047407880062E +:103D8C00400F7047827843881202180A104370471C +:103D9C000830704710B50400FFF704FFE388A179E1 +:103DAC001B0A09020B43181A42425041C0B210BD03 +:103DBC00B0B500AF050000F0DDF86A46C31DDB08A6 +:103DCC00DB00D31A9D460200040069462800FFF769 +:103DDC006BFE80B2844203D00024BD462000B0BDEF +:103DEC00684600F0F1F804002800FFF70FFE84424B +:103DFC00F2D8F2E770B505000C001600002905D0CA +:103E0C00320028002100FFF7E5FD70BD3D21024A7C +:103E1C000248FFF7B7FDF3E7F85800080859000807 +:103E2C0010B5FFF7E1FD10BDF8B5DE4657464E461E +:103E3C004546E0B500AF1E0080468A46914600F02C +:103E4C0099F86B46C41DE408E4001B1B9D46050055 +:103E5C00801983B23200514668469B4600F0A8F8A0 +:103E6C00FEF75EF84046FFF7C7FD002483450DD9E9 +:103E7C00FEF736F85B46E01ABD4643425841C0B2E5 +:103E8C00F0BCBB46B246A946A046F8BD2A0069461E +:103E9C004046FFF7C3FD4B4684B2002BE8D03200FE +:103EAC0049464046FFF7BAFD2418A4B2E0E7C046E5 +:103EBC00F8B5060008000F0000F086F80500FEF7C4 +:103ECC002FF83000FFF798FD0024854206D9FEF745 +:103EDC0007F8601B43425841C0B2F8BD2A003900B4 +:103EEC003000FFF79BFD84B2F1E7C046F8B54E46B3 +:103EFC004546DE465746E0B500AF0600894690467B +:103F0C00FFF756FF0025041E07D1BD462800F0BC64 +:103F1C00BB46B246A946A046F8BD6A46C31DDB089F +:103F2C00DB00D31AEA469D46FDF7FAFF22006946EC +:103F3C003000FFF7F1FD0600B6B2EB46FDF7D0FFFF +:103F4C00002E01D1D546E0E7684600F03DF88442EA +:103F5C0005D159464046C8470125D546D5E7252108 +:103F6C00024A0348FFF70EFDF3E7C046205900084C +:103F7C00085900080C20704710B5FEF7CFF8020066 +:103F8C000B0003480260436080235B02836010BD1A +:103F9C00E021002010B5FEF7C1F802000B00034829 +:103FAC000260436080239B02836010BDD0210020FF +:103FBC0070B504000E001500FEF7B0F866812060A5 +:103FCC0061602581200070BD00890C3080B2704783 +:103FDC00807A7047008970470C30704770B50026A6 +:103FEC000C4D0D4C641BA410A64209D1002600F008 +:103FFC000FFD0A4D0A4C641BA410A64205D170BDDE +:10400C00B300EB5898470136EEE7B300EB589847EE +:10401C000136F2E77C5900087C5900087C590008ED +:10402C008059000810B5034B0100186800F09AF88D +:10403C0010BDC0460800002010B5034B01001868E5 +:10404C0000F024F810BDC0460800002030B5002454 +:10405C000139A24201D1002005E0035D01340D5D60 +:10406C00AB42F6D0581B30BD002310B59A4200D19C +:10407C0010BDCC5CC4540133F8E7030082189342A2 +:10408C0000D1704719700133F9E7000070B50500D5 +:10409C00002910D00C1F2368002B00DAE41828002C +:1040AC0000F05CF91D4A1368002B05D163601460A5 +:1040BC00280000F05BF970BDA34208D92168601894 +:1040CC008342F3D118685B6841182160EEE71A004F +:1040DC005B68002B01D0A342F9D911685018A0429B +:1040EC000BD120680918501811608342E0D1186870 +:1040FC005B68411811605360DAE7A04202D90C23C7 +:10410C002B60D5E721686018834203D118685B687F +:10411C004118216063605460CAE7C046F02100205A +:10412C0070B50F4E0D0031680400002902D100F06B +:10413C008FF830602900200000F08AF8431C0AD068 +:10414C000323C51C9D43A84207D0291A200000F068 +:10415C007FF8431C01D101256D42280070BDC0467B +:10416C00F4210020F7B50322CB1C9343083306003F +:10417C001F000C2B32D20C27B94231D8300000F082 +:10418C00EDF8324D2B681C00002C2ED1390030007C +:10419C00FFF7C6FF0400431C1ED12C682500002D20 +:1041AC004AD123682900E3183000019300F050F83D +:1041BC00019B834243D123680337FF1A03239F4398 +:1041CC0008370C2F00D20C2739003000FFF7A8FF5E +:1041DC00431C34D02368DF19276013E0002BCBDAA3 +:1041EC000C23002533602800FEBD2268D11B20D48F +:1041FC000B2917D9E2192760A34211D12A606368F1 +:10420C00116053603000250000F0B0F807220B3528 +:10421C00231D9543EA1A9D42E5D05B1BA350E2E7B0 +:10422C005A60ECE76268A34201D12A60EAE75A605F +:10423C00E8E723006468A7E72C006D68AFE70C2360 +:10424C003000336000F092F8CDE7C046F02100203A +:10425C00002370B5064D040008002B6000F0CAFB6B +:10426C00431C03D12B68002B00D0236070BDC046CB +:10427C00F82100200CB430B5174B0C001D689DB014 +:10428C00002908DA8B2301202B6040421DB030BC82 +:10429C0008BC02B0184782236A469B009382002315 +:1042AC0002900690994200D04B1E04930793012371 +:1042BC006A465B42D382280021AB209A02A9019363 +:1042CC0000F0BEF8431C01DA8B232B60002CDDD0F0 +:1042DC000023029A1370D9E70800002003000A7823 +:1042EC0001311A700133002AF9D1704730B514002E +:1042FC0005001A009BB0002C05DA8B23036001200B +:10430C0040421BB030BD822368469B008381002352 +:10431C00009104919C4200D0631E029305930123EB +:10432C0069465B42CB8128001E9B00F089F8431C38 +:10433C0001DA8B232B60002CE3D00023009A13703E +:10434C00DFE7000007B5009313000A0001000248E4 +:10435C000068FFF7CBFF0EBD0800002010B5024827 +:10436C0000F0F0FA10BDC046FC21002010B5024848 +:10437C0000F0E9FA10BDC046FC210020F0B58E68B3 +:10438C0085B007000C00039201939E423CD8902309 +:10439C008A89DB001A4234D00969236860695B1A88 +:1043AC00029303234343DD0FED18019B0298013365 +:1043BC001B186D10AB4200D91D00530532D52900D6 +:1043CC003800FFF7CFFE061E09D10C233B604023BB +:1043DC000120A28940421343A38105B0F0BD029A8B +:1043EC002169FFF741FEA389144A1A408023134325 +:1043FC00A381029B2661F61826606561019EED1A69 +:10440C00A560019B9E4200D9019E32000399206851 +:10441C0000F0A5FAA36800209B1BA36023689E19DB +:10442C002660DAE72A00380000F0ACFA061EE0D16C +:10443C0038002169FFF72AFEC7E7C0467FFBFFFF64 +:10444C00F0B5A1B003901D008B890F0016001B0660 +:10445C0011D50B69002B0ED14021FFF783FE38607C +:10446C003861002805D10C23039A0138136021B060 +:10447C00F0BD40237B61002308AC6361203363767D +:10448C001033A376079535002B78002B01D0252B04 +:10449C0047D1AB1B0593B5420CD0320039000398C1 +:1044AC00FFF76CFF431C00D1AEE06269059B94469C +:1044BC00634463612B78002B00D1A5E0012200231B +:1044CC005242626004A9543252186E1C2360E3609D +:1044DC00A3601370A36505223178544800F034FAB8 +:1044EC00751C00281FD12268D30604D5532304A9B8 +:1044FC005B1820211970130704D5532304A95B18EA +:10450C002B21197033782A2B16D0350000210A2064 +:10451C00E3682A786E1C303A092A4ED9002911D149 +:10452C0017E00135B0E7414B2268C01A01238340E4 +:10453C0013432E002360CEE7079B191D1B680791C0 +:10454C00002B01DB0B9304E05B42E360022313437B +:10455C0023602B782E2B0AD16B782A2B35D1079B15 +:10456C0002351A1D1B680792002B2BDB0993304E6A +:10457C0003223000297800F0E7F9002806D0402308 +:10458C00801B83402268013513432360297806225F +:10459C0028486E1C217600F0D7F900283CD0264B19 +:1045AC00002B25D10722079B07339343083307932E +:1045BC006369049A9B18636165E7434335000121E5 +:1045CC009B18A6E701235B42D0E700230A201A00C0 +:1045DC000135636029786E1C3039092903D9002B09 +:1045EC00C5D00992C3E74243350001235218F1E7C5 +:1045FC0007AB00933A002100104B039800E000BF7A +:10460C000490049B0133D3D1BB890D985B0600D475 +:10461C002DE7012040422AE707AB00933A00210026 +:10462C00064B039800F07CF8EAE7C04640590008B6 +:10463C00465900084A590008000000008943000848 +:10464C00F7B5150001938A680B690C000090934232 +:10465C0000DA130022002B6043321278002A01D0BA +:10466C0001332B6023689B0602D52B6802332B6029 +:10467C002268062317001F401A4227D02300433319 +:10468C001B785A1E93412268920630D4220001995D +:10469C000098089E4332B047431C25D0062320685F +:1046AC002A68E16800250340042B03D18D1AEB43E3 +:1046BC00DB171D40A3682269934201DD9B1AED189C +:1046CC000027BD4220D1002010E00137E3682A68A2 +:1046DC009B1ABB42D2DD2200012301990098089E4F +:1046EC001932B047431CF0D101204042FEBD3020AE +:1046FC00E1184331087021005A1C45310978A21881 +:10470C00433202331170C1E7220001230199009852 +:10471C00089E1A32B047431CE6D00137D1E700009F +:10472C00F0B58BB006920A004332079305900492C1 +:10473C000A7E0C00109B782A07D8622A09D8002A16 +:10474C0000D1C1E0582A00D18CE0260042363270EC +:10475C0022E0100063381528F7D8FDF7F5FE160097 +:10476C001F00F6FFF6FFF6FFF6FF1F00F6FFF6FF41 +:10477C00F6FFF6FFA80036009A00F6FFF6FFB90028 +:10478C00F6FF3600F6FFF6FF9E0026001A6842364A +:10479C00111D1960136833700123A7E008681968AC +:1047AC000A1D05060BD50D681A60002D03DA2D23A2 +:1047BC00049A6D421370614B0A2703931BE00D683A +:1047CC001A604106F1D52DB2EFE70D681968081D86 +:1047DC0018602E0601D50D6803E06D06FBD50D683B +:1047EC00ADB2564B082703936F2A00D00237230033 +:1047FC00002243331A706368A360002B03DB04228E +:10480C00216891432160002D02D1049E002B0CD015 +:10481C00049E28003900FDF727FF039B013E5B5CDB +:10482C0033702B0005009F42F3D9082F09D1236860 +:10483C00DB0706D563682269934202DC3023013E14 +:10484C003370049B9B1B2361079B210000930598ED +:10485C00069B09AAFFF7F4FE431C4CD101204042F1 +:10486C000BB0F0BD45310A70344A03921A682168C6 +:10487C0020CA1A60080616D5CB0702D52023194387 +:10488C0021601027002DB2D1202322689A43226088 +:10489C00ADE7202209680A432260220078214532C4 +:1048AC001170274AE1E74806E6D5ADB2E4E71A688D +:1048BC000D68101D4969186013682E0601D5196022 +:1048CC0002E06D06FBD519800023049E2361BBE733 +:1048DC001A68111D1960166800213000626800F01A +:1048EC0033F8002801D0801B6060636823610023CB +:1048FC00049A1370A8E72369320006990598079D5E +:10490C00A847431CAAD023689B0715D4099BE068D1 +:10491C009842A5DA1800A3E722000123069905980E +:10492C00079E1932B047431C98D00135E368099AA9 +:10493C009B1AAB42F0DCE9E70025F7E75159000878 +:10494C006259000870477047C9B28218904201D171 +:10495C000020704703788B42FBD00130F6E710B58E +:10496C00884202D98B18984203D3002307E08B5C52 +:10497C008354013AFBD210BDCC5CC45401339A422F +:10498C00FAD1F8E7F7B507000E001400002905D19D +:10499C001100FFF7E7FB05002800FEBD002A03D13C +:1049AC00FFF774FB2500F7E700F01BF80190844239 +:1049BC0003D835004308A342EED321003800FFF79B +:1049CC00D1FB051EE8D0019B22009C4200D91A00A5 +:1049DC0031002800FFF748FB31003800FFF756FB89 +:1049EC00DAE70B1F1B68181F002B01DA0B58C018D5 +:1049FC0070470000044A03001068002802D0C31856 +:104A0C00136070470148FAE70022002008220020BA +:104A1C00F8B5C046F8BC08BC9E467047F8B5C04611 +:084A2C00F8BC08BC9E4670476F +:104A3400DA1400087C1400087C1400087C140008B4 +:104A44007C140008F61400087C140008881400087C +:104A54007C1400087C1400087C1400087C140008F2 +:104A6400941400087C1400087C1400087C140008CA +:104A74007C1400087C1400087C1400087C140008D2 +:104A84007C1400087C1400087C1400087C140008C2 +:104A94008A1400087C1400087C1400088A14000896 +:104AA40008160008EA150008EA150008EA150008C7 +:104AB400EA150008EA150008EA150008EA150008D6 +:104AC400EA150008EA150008EA150008301600087F +:104AD40052160008B8160008C8160008181700086F +:104AE400601700086E170008181700081817000848 +:104AF40018170008181700081817000818170008D6 +:104B040018170008181700081817000818170008C5 +:104B140018170008181700081817000818170008B5 +:104B240018170008181700081817000818170008A5 +:104B34001817000818170008181700081817000895 +:104B4400181700082217000818170008181700087B +:104B5400181700082217000818170008181700086B +:104B64001817000818170008181700081817000865 +:104B7400181700087C17000886170008E8170008B3 +:104B8400FA1700080E180008E8170008E8170008CC +:104B9400E8170008E8170008E8170008E8170008F5 +:104BA400E8170008E8170008E8170008E8170008E5 +:104BB400E8170008E8170008E8170008E8170008D5 +:104BC400E8170008E8170008E8170008E8170008C5 +:104BD400E8170008E8170008E8170008E8170008B5 +:104BE400E8170008E8170008F61700083818000846 +:104BF400E8170008F6170008E8170008E817000887 +:104C0400E8170008E8170008E8170008E817000884 +:104C1400F2170008F21700081C18000870180008A2 +:104C24008C1800089A1800087018000870180008FA +:104C34007018000870180008701800087018000830 +:104C44007018000870180008701800087018000820 +:104C54007018000870180008701800087018000810 +:104C64007018000870180008701800087018000800 +:104C740070180008701800087018000870180008F0 +:104C8400701800088818000870180008DA1800085E +:104C9400701800087A1800087018000870180008C6 +:104CA40070180008701800087018000870180008C0 +:104CB40070180008A8180008AC1800084819000863 +:104CC40026190008261900082619000826190008C4 +:104CD40026190008261900082619000826190008B4 +:104CE400261900081A1900081A1900081A190008C8 +:104CF4001A1900081A1900088E1900081A19000850 +:104D04001A1900081A1900081A1900081A190008B3 +:104D14001A1900081A1900081A1900081A190008A3 +:104D24001A1900081A1900081A1900081A19000893 +:104D34001A1900081A1900081A1900081A19000883 +:104D44001A1900081A1900081A1900081A19000873 +:104D54001A1900081A1900081A1900081A19000863 +:104D64001A1900081A1900081A1900081A19000853 +:104D74001A1900081A1900081A1900081A19000843 +:104D840096190008B01900081A190008CC1900086F +:104D94001A1900081A1900081A1900081A19000823 +:104DA4001A1900081A1900081A190008FE1900082F +:104DB4001A190008141A00081A1900081A19000808 +:104DC400241A00081A1900081A1900081A190008E8 +:104DD400EC190008381A0008401A00081E230008BD +:104DE400F6220008F6220008F6220008F62200083F +:104DF400F6220008F6220008F6220008F62200082F +:104E0400F6220008F622000860240008A623000801 +:104E1400F6220008F6220008F6220008F62200080E +:104E2400F6220008F6220008F6220008F6220008FE +:104E3400F6220008F6220008F6220008842300085F +:104E4400F6220008F62200085E230008F622000875 +:104E54003E230008F6220008F62200081E2300085C +:104E64006173736572745F6661696C6564000000E8 +:104E740072784572726F7243616C6C6261636B002D +:104E840074784572726F7243616C6C6261636B001B +:104E9400303132333435363738394142434445466C +:104EA40073746174654E6F700000000073746174F4 +:104EB400654E6F70000000004253505F646F43689A +:104EC400616E6E656C416374696F6E0073746174B6 +:104ED4006549646C650000005075736820746865EA +:104EE40020627574746F6E20746F20706C61792009 +:104EF4006F72207061757365203A2D290A000000D5 +:104F040068616E646C655265616452657175657340 +:104F14007400000068616E646C6557726974655250 +:104F2400657175657374000068616E646C65496EC3 +:104F3400766F6B65526571756573740068616E6434 +:104F44006C655265717565737400000064697370F3 +:104F5400617463684576656E7400000073656C6502 +:104F640063745061747465726E42794E616D65004C +:104F7400737461746543616E6F70790073746174E6 +:104F84006549646C65000000737461746550756CE8 +:104F940073696E6700000000737461746550617515 +:104FA400736564004253505F747269676765724148 +:104FB40044430000446174614C696E6B5F776169BE +:104FC40074466F7253796E630000000068616E640A +:104FD4006C65496E636F6D696E674672616D6500DD +:104FE400486172644661756C745F48616E646C6597 +:104FF4007200000073707572696F757349525100C5 +:1050040054494D315F42524B5F55505F5452475F94 +:10501400434F4D5F49525148616E646C65720000A4 +:10502400444D41315F4368616E6E656C315F495236 +:105034005148616E646C657200000000000000005D :10504400000000000000000000000000000000005C -:10505400000000000000000000000000000000004C -:105064000100000002000000030000000400000032 -:10507400060000000700000008000000090000000E -:105084004253505F726567697374657241707054FE -:10509400696D657248616E646C657200AC58000895 -:1050A4007851000802007D03C8000000B8580008C9 -:1050B40070510008040032052C010000C05800089B -:1050C4006851000804001405C8000000CC5800080A -:1050D4004451000812001E09280000004253505F8A -:1050E400726567697374657250756C736544656C39 -:1050F4006567617465000000436F6E74726F6C6C59 -:1051040065725F696E697400446174614C696E6BA9 -:105114005F77616974466F7253796E6300000000B3 -:105124005061747465726E4974657261746F725FF4 -:10513400636865636B5061747465726E000000008F -:105144000102020504020A040408080501080A0110 -:10515400050A020105020204040A080405080801FC -:10516400010A0A05010802040402080101020408F4 -:1051740002010804050A0A0525732825732C202535 -:1051840075290A002573282575290A005365747446 -:10519400696E6720696E74656E7369747920746FC3 -:1051A400202568687525250A00000000536574747D -:1051B400696E67205663617020746F2025687520BE -:1051C4006D560A0053657474696E672070756C734C -:1051D4006520776964746820746F20256868752079 -:1051E400C2B5730A0000000070742D3E70616365DF -:1051F4005F6D73203E3D2035000000007372632F05 -:105204006273705F73746D3332673037312E6300AD -:1052140070742D3E70756C73655F77696474685F34 -:105224006D6963726F7320213D20300070742D3ED0 -:105234006E725F6F665F70756C73657320213D20BD -:105244003000000028656C636F6E5B305D202620A3 -:10525400656C636F6E5B315D29203D3D203000003D -:105264005465726D696E616C000000005254540004 -:10527400534547474552000053657175656E636534 -:10528400725F257320756E6578706563746564203C -:105294006576656E743A2025750A0000436F6E7456 -:1052A400726F6C6C65725F257320756E65787065BE -:1052B40063746564206576656E743A2025750A000A -:1052C4007366203D3D204E554C4C00007372632F95 -:1052D400636F6E74726F6C6C65722E6300000000F5 -:1052E4007372632F73657175656E6365722E6300E7 -:1052F4006E6272203D3D2031000000007372632F06 -:10530400646174616C696E6B2E6300006273702E4D -:10531400637269746963616C5F73656374696F6EEA -:105324005F6C6576656C20213D2055434841525F92 -:105334004D4158002573282575293A20756E6B6EEA -:105344006F776E206465766963652069640A00007E -:105354006273702E637269746963616C5F736563F1 -:1053640074696F6E5F6C6576656C20213D2030003A -:10537400436F6E74726F6C6C65725F257320454E5B -:105384005452590A00000000436F6E74726F6C6CC3 -:1053940065725F257320455849540A005472616E42 -:1053A40073616374696F6E202568753A2072656154 -:1053B4006420617474726962757465202568750A65 -:1053C4000000000025733A20756E6B6E6F776E20B7 -:1053D4006174747269627574652069643D256875C9 -:1053E4000A0000005472616E73616374696F6E2009 -:1053F4002568753A207772697465206174747269DE -:1054040062757465202568750A000000706C617906 -:105414000000000070617573650000005472616ED5 -:1054240073616374696F6E202568753A20696E76BE -:105434006F6B65202568750A000000002573206ED7 -:105444006F7420696D706C656D656E746564207928 -:1054540065740A0025732C20756E6B6E6F776E2051 -:105464006F70636F64652030782530326868780A1D -:105474000000000073746F70000000004672616DDC -:1054840065207061796C6F616420746F6F2062694C -:10549400673A2025687520627974657300000000FE -:1054A40054696D6520253032753A253032753A25B8 -:1054B4003032750A000000005265636569766564E0 -:1054C400207369676E616C2025640A0025732825A2 -:1054D4006875293F0A000000497072696D3D2575A1 -:1054E400206D412C20566361703D2575206D562C2E -:1054F40020566261743D2575206D560A0000000037 -:10550400537769746368696E6720746F2027257305 -:10551400270A000070642D3E6E725F6F665F7374BD -:1055240065707320213D2030000000007372632FEA -:105534007061747465726E5F697465722E630000C5 -:1055440053657175656E6365725F257320454E54AE -:1055540052590A0053657175656E6365725F2573F0 -:1055640020455849540A00005374617274696E6787 -:1055740020272573270A00004C6173742070756C12 -:10558400736520646F6E650A0000000046696E69E9 -:105594007368656420272573270A00002573204556 -:1055A4004E5452590A000000257320455849540AA4 -:1055B40000000000526573756D696E6720272573BE -:1055C400270A000050617573696E672027257327C9 -:1055D4000A000000436F6D6D616E64733A202F3FC3 -:1055E400202F61202F62202F64202F6C202F6E200B -:1055F4002F71202F75202F76202F30202F312E2E23 -:105604002F390A005475726E696E67205663617093 -:10561400204F46460A0000005475726E696E67207A -:1056240056636170204F4E0A0000000025730A0083 -:105634004669726D776172652076302E33312D6242 -:105644006574610A00000000556E6B6E6F776E2002 -:10565400636F6D6D616E6420272F2563270A000038 -:10566400476F742053594E43206672616D652C2038 -:105674007365715F6E723D256868750A00000000ED -:1056840027252E2A73273F0A00000000476F742045 -:105694002573206672616D652C207365715F6E726F -:1056A4003D256868752C207061796C6F61645F7347 -:1056B400697A653D2568750A0000000025733A2063 -:1056C400626164206672616D650A000025732C2096 -:1056D400494353523D307825780A0000202054690C -:1056E400703A2068616C74204350552C20636861C3 -:1056F4006E67652067756172642040202570207490 -:105704006F20302C207468656E20737465702E0AC7 -:105714000000000050742053523D307825780A0070 -:10572400414443206F76657272756E0A0000000072 -:105734004144432072656164790A00004144432076 -:105744006368616E6E656C20636F6E666967207254 -:10575400656164790A00000041444320454F430ACF -:105764000000000041444320454F530A000000005C -:10577400414443312D3E4953523D307825780A0047 -:1057840025732C2054454946310A000025732C20EA -:105794004953523D307825780A000000496E6974F7 -:1057A40069616C6973696E672E2E2E0A0000000011 -:1057B40044657649643D307825782C205379737498 -:1057C400656D436F7265436C6F636B3D25750A00AD -:1057D4004C4C5F4144435F5245475F496E697420B6 -:1057E4006572726F723D25750A00000025733A20B8 -:1057F4005053433D25750A006D652D3E6368616E07 -:105804006E656C5F6664203C2030000043616E204E -:105814006F6E6C7920757365206F6E652073657289 -:1058240069616C20706F72742061742061207469E6 -:105834006D652C20666F72206E6F770A0000000081 -:10584400436865636B696E6720272573270A000028 -:1058540025733A2073686F727420696E20656C63D7 -:105864006F6E202568750A005374617274696E67DF -:10587400204E656F444B210A000000002573000090 -:10588400436F6E736F6C653A20272573270A0000F7 -:10589400456E64206F662073657373696F6E0A00CA -:1058A400427965210A0000004A61636B68616D6D8D -:1058B40065720000546F67676C65000043726F7314 -:1058C40073546F67676C6500436972636C650000AD -:1058D400415353455254494F4E204641494C454447 -:1058E40020282573203A202575292025730A0000D5 -:1058F400424144004E4F4E450041434B00004E414F -:105904004B000053594E430044415441004F5054FE -:105914005300000073746F7261676520213D204E4F -:10592400554C4C006D616F6C69622F7372632F6507 -:1059340076656E7471756575652E63006576656E42 -:10594400745F73697A65203D3D20414F4576656EED -:10595400745F73697A65286576742900232D302B6A -:105964002000686C4C00656667454647003031325C -:1059740033343536373839414243444546003031B3 -:105984003233343536373839616263646566000012 -:08599400A8CFFF7F0100000015 -:04599C00E50000081A -:0459A000BD0000083E -:1059A4000024F400040000000C00002000000000AB +:10505400000000000000000000000000010000004B +:10506400020000000300000004000000060000002D +:105074000700000008000000090000004253505FD0 +:10508400726567697374657241707054696D657295 +:1050940048616E646C6572008C5800084C510008BD +:1050A40002007D03C800000098580008445100081D +:1050B400040032052C010000A05800083C510008EF +:1050C40004001405C8000000AC580008185100087A +:1050D40012001E09280000004253505F7265676980 +:1050E4007374657250756C736544656C656761743F +:1050F400650000005061747465726E497465726174 +:10510400746F725F636865636B5061747465726E0B +:10511400000000000102020504020A040408080554 +:1051240001080A01050A020105020204040A08042E +:1051340005080801010A0A0501080204040208011D +:105144000102040802010804050A0A05257328253A +:10515400732C202575290A002573282575290A0032 +:1051640053657474696E6720696E74656E736974CF +:105174007920746F202568687525250A00000000D1 +:1051840053657474696E67205663617020746F2070 +:10519400256875206D560A0053657474696E67201E +:1051A40070756C736520776964746820746F20254A +:1051B40068687520C2B5730A0000000070742D3E43 +:1051C400706163655F6D73203E3D20350000000013 +:1051D4007372632F6273705F73746D333267303729 +:1051E400312E630070742D3E70756C73655F776942 +:1051F4006474685F6D6963726F7320213D203000B1 +:1052040070742D3E6E725F6F665F70756C7365733C +:1052140020213D203000000028656C636F6E5B30F8 +:105224005D202620656C636F6E5B315D29203D3DFA +:10523400203000005465726D696E616C00000000DE +:105244005254540053454747455200005365717505 +:10525400656E6365725F257320756E65787065632E +:10526400746564206576656E743A2025750A0000BD +:10527400436F6E74726F6C6C65725F257320756E0C +:105284006578706563746564206576656E743A202C +:1052940025750A007366203D3D204E554C4C000098 +:1052A4007372632F636F6E74726F6C6C65722E63AE +:1052B400000000007372632F73657175656E63651A +:1052C400722E63006E6272203D3D203100000000AA +:1052D4007372632F646174616C696E6B2E6300007A +:1052E4006273702E637269746963616C5F73656362 +:1052F40074696F6E5F6C6576656C20213D20554343 +:105304004841525F4D4158002573282575293A209C +:10531400756E6B6E6F776E20646576696365206960 +:10532400640A00006273702E637269746963616C4D +:105334005F73656374696F6E5F6C6576656C20215D +:105344003D2030004672616D65207061796C6F613B +:105354006420746F6F206269673A20256875206243 +:105364007974657300000000436F6E74726F6C6C27 +:1053740065725F257320454E5452590A000000009F +:10538400436F6E74726F6C6C65725F257320455841 +:1053940049540A005472616E73616374696F6E20BC +:1053A4002568753A2072656164206174747269625B +:1053B400757465202568750A0000000025733A207D +:1053C400756E6B6E6F776E2061747472696275743A +:1053D400652069643D2568750A0000005472616E99 +:1053E40073616374696F6E202568753A20777269FA +:1053F40074652061747472696275746520256875BA +:105404000A000000706C617900000000706175731F +:10541400650000005472616E73616374696F6E207D +:105424002568753A20696E766F6B65202568750A64 +:10543400000000002573206E6F7420696D706C6528 +:105444006D656E746564207965740A0025732C207B +:10545400756E6B6E6F776E206F70636F646520304E +:10546400782530326868780A0000000073746F7021 +:105474000000000054696D6520253032753A2530EE +:1054840032753A253032750A0000000052656365B2 +:1054940069766564207369676E616C2025640A000F +:1054A400257328256875293F0A000000537769741D +:1054B4006368696E6720746F20272573270A0000CC +:1054C40070642D3E6E725F6F665F737465707320D7 +:1054D400213D2030000000007372632F70617474EA +:1054E40065726E5F697465722E630000497072693B +:1054F4006D3D2575206D412C20566361703D2575E9 +:10550400206D562C20566261743D2575206D560A17 +:1055140000000000257320272573270A00000000DF +:1055240053657175656E6365725F257320454E54CE +:1055340052590A0053657175656E6365725F257310 +:1055440020455849540A00005374617274696E67A7 +:1055540020272573270A00004C6173742070756C32 +:10556400736520646F6E650A0000000046696E6909 +:105574007368656420272573270A00002573204576 +:105584004E5452590A000000257320455849540AC4 +:1055940000000000526573756D696E6720272573DE +:1055A400270A000050617573696E672027257327E9 +:1055B4000A000000436F6D6D616E64733A202F3FE3 +:1055C400202F61202F62202F64202F6C202F6E202B +:1055D4002F71202F75202F76202F77202F30202F0A +:1055E400312E2E2F390A00005475726E696E6720B1 +:1055F40056636170204F46460A0000005475726E6F +:10560400696E672056636170204F4E0A00000000E7 +:1056140025730A004669726D776172652076302EB3 +:1056240033322D626574610A00000000556E6B6EA2 +:105634006F776E20636F6D6D616E6420272F256315 +:10564400270A0000476F742053594E432066726145 +:105654006D652C207365715F6E723D256868750AEF +:105664000000000027252E2A73273F0A00000000AF +:10567400476F74202573206672616D652C207365F5 +:10568400715F6E723D256868752C207061796C6F4E +:1056940061645F73697A653D2568750A00000000DE +:1056A40025733A20626164206672616D650A0000A8 +:1056B40025732C20494353523D307825780A000045 +:1056C40020205469703A2068616C74204350552C32 +:1056D400206368616E67652067756172642040208D +:1056E400257020746F20302C207468656E207374CC +:1056F40065702E0A0000000050742053523D30782B +:1057040025780A00414443206F76657272756E0AEB +:10571400000000004144432072656164790A00007E +:10572400414443206368616E6E656C20636F6E66EE +:1057340069672072656164790A000000414443206E +:10574400454F430A0000000041444320454F530A9B +:1057540000000000414443312D3E4953523D30780E +:1057640025780A0025732C2054454946310A000047 +:1057740025732C204953523D307825780A000000C7 +:10578400496E697469616C6973696E672E2E2E0A9D +:105794000000000044657649643D307825782C206B +:1057A40053797374656D436F7265436C6F636B3DBE +:1057B40025750A004C4C5F4144435F5245475F499D +:1057C4006E6974206572726F723D25750A0000005F +:1057D40025733A205053433D25750A004368656399 +:1057E4006B696E6720272573270A000025733A200A +:1057F40073686F727420696E20656C636F6E202508 +:1058040068750A006D652D3E6368616E6E656C5F38 +:105814006664203C2030000043616E206F6E6C791A +:1058240020757365206F6E652073657269616C20E5 +:10583400706F727420617420612074696D652C200E +:10584400666F72206E6F770A0000000053746172F5 +:1058540074696E67204E656F444B210A25730000FE +:10586400436F6E736F6C653A20272573270A000017 +:10587400456E64206F662073657373696F6E0A00EA +:10588400427965210A0000004A61636B68616D6DAD +:1058940065720000546F67676C65000043726F7334 +:1058A40073546F67676C6500436972636C650000CD +:1058B400415353455254494F4E204641494C454467 +:1058C40020282573203A202575292025730A0000F5 +:1058D400424144004E4F4E450041434B00004E416F +:1058E4004B000053594E430044415441004F50541F +:1058F4005300000073746F7261676520213D204E70 +:10590400554C4C006D616F6C69622F7372632F6527 +:1059140076656E7471756575652E63006576656E62 +:10592400745F73697A65203D3D20414F4576656E0D +:10593400745F73697A65286576742900232D302B8A +:105944002000686C4C00656667454647003031327C +:1059540033343536373839414243444546003031D3 +:105964003233343536373839616263646566000032 +:0859740074CFFF7F0100000069 +:04597C00E50000083A +:04598000BD0000085E +:105984000024F400040000000C00002000000000CB +:105994000000000000000000000000000000000003 +:1059A40000000000000000000000000000000000F3 :1059B40000000000000000000000000000000000E3 :1059C40000000000000000000000000000000000D3 :1059D40000000000000000000000000000000000C3 -:1059E40000000000000000000000000000000000B3 -:1059F40000000000000000000000000000000000A3 -:0C5A040000000000000000000000000096 -:0400000508002AD5F0 +:0C59E400000000000000000000000000B7 +:0400000508002A8144 :00000001FF diff --git a/firmware/inc/app_event.h b/firmware/inc/app_event.h index c20a036..6bab9ed 100644 --- a/firmware/inc/app_event.h +++ b/firmware/inc/app_event.h @@ -23,7 +23,7 @@ enum { ET_DEBUG_SYNC, ET_DATAGRAM_SYNC, ET_INCOMING_PACKET, ET_CONTROLLER_CONNECTED, ET_CONTROLLER_DISCONNECTED, ET_PLAY, ET_PAUSE, ET_STOP, ET_UNKNOWN_COMMAND, ET_TOGGLE_PLAY_PAUSE, - ET_NEXT_ROUTINE, ET_SET_INTENSITY, ET_SET_PULSE_WIDTH, + ET_SELECT_NEXT_PATTERN, ET_SELECT_PATTERN_BY_NAME, ET_SET_INTENSITY, ET_SET_PULSE_WIDTH, ET_BURST_REQUESTED, ET_BURST_REJECTED, ET_BURST_STARTED, ET_BURST_COMPLETED, ET_BURST_EXPIRED, }; diff --git a/firmware/src/controller.c b/firmware/src/controller.c index 234d780..6d932af 100644 --- a/firmware/src/controller.c +++ b/firmware/src/controller.c @@ -97,12 +97,12 @@ static void readCurrentPatternName(Controller *me, AttributeAction const *aa) static void readIntensityPercentage(Controller *me, AttributeAction const *aa) { - uint8_t intensity_percent = Sequencer_getIntensityPercentage(me->sequencer); + uint8_t intensity = Sequencer_getIntensityPercentage(me->sequencer); uint16_t nbtw = sizeof(PacketHeader) + sizeof(AttributeAction); - uint16_t packet_size = nbtw + Matter_encodedIntegerLength(sizeof intensity_percent); + uint16_t packet_size = nbtw + Matter_encodedIntegerLength(sizeof intensity); uint8_t packet[packet_size]; initResponsePacket((PacketHeader *)packet, aa); - nbtw += Matter_encodeUnsignedInteger(packet + nbtw, &intensity_percent, sizeof intensity_percent); + nbtw += Matter_encodeUnsignedInteger(packet + nbtw, &intensity, sizeof intensity); DataLink_sendDatagram(me->datalink, packet, nbtw); } @@ -145,6 +145,11 @@ static void handleWriteRequest(Controller *me, AttributeAction const *aa) EventQueue_postEvent((EventQueue *)me->sequencer, ET_SET_INTENSITY, &aa->data[1], sizeof aa->data[1]); } break; + case AI_CURRENT_PATTERN_NAME: + if (aa->data[0] == EE_UTF8_1LEN) { + EventQueue_postEvent((EventQueue *)me->sequencer, ET_SELECT_PATTERN_BY_NAME, aa->data + 2, aa->data[1]); + } + break; case AI_PLAY_PAUSE_STOP: if (aa->data[0] == EE_UTF8_1LEN) { EventQueue_postEvent((EventQueue *)me->sequencer, eventTypeForCommand(aa->data + 2, aa->data[1]), NULL, 0); @@ -248,18 +253,16 @@ void Controller_init(Controller *me, Sequencer *sequencer, DataLink *datalink) { me->sequencer = sequencer; me->datalink = datalink; - BSP_logf("%s\n", __func__); - me->state = &stateIdle; - me->state(me, AOEvent_newEntryEvent()); - DataLink_open(me->datalink, &me->event_queue); - DataLink_waitForSync(me->datalink); } void Controller_start(Controller *me) { - BSP_logf("Starting NeoDK!\n"); - BSP_logf("%s", welcome_msg); + me->state = &stateIdle; + me->state(me, AOEvent_newEntryEvent()); + DataLink_open(me->datalink, &me->event_queue); + DataLink_waitForSync(me->datalink); + BSP_logf("Starting NeoDK!\n%s", welcome_msg); } diff --git a/firmware/src/datalink.c b/firmware/src/datalink.c index b9ddd86..444fce4 100644 --- a/firmware/src/datalink.c +++ b/firmware/src/datalink.c @@ -22,12 +22,13 @@ // This module implements: #include "datalink.h" -#define MAX_PAYLOAD_SIZE 2048 +#define MAX_PAYLOAD_SIZE 256 struct _DataLink { EventQueue *delegate_queue; uint8_t tx_buf_store[200]; CircBuffer output_buffer; + uint32_t frame_timestamp_µs[8]; uint8_t *rx_frame_buffer; uint8_t rx_nb; DeviceId channel_fd; @@ -138,9 +139,10 @@ static void handleIncomingFrame(DataLink *me, PhysFrame const *frame) FrameType frame_type = PhysFrame_type(frame); if (frame_type == FT_ACK) { - uint8_t ack_nr = PhysFrame_ackNr(frame); - // BSP_logf("Got ACK for frame %hhu\n", ack_nr); - me->tx_seq_nr = (ack_nr + 1) & 0x7; + // uint8_t ack_nr = PhysFrame_ackNr(frame); + // uint32_t ack_delay = BSP_microsecondsSinceBoot() - me->frame_timestamp_µs[ack_nr]; + // BSP_logf("Got ACK for frame %hhu after %u µs\n", ack_nr, ack_delay); + // TODO Slide the window. return; } @@ -226,6 +228,8 @@ static bool sendPacket(DataLink *me, NetworkServiceType nst, uint8_t const *pack { uint8_t frame_store[me->header_size + nb]; PhysFrame_init((PhysFrame *)frame_store, FT_DATA, me->tx_seq_nr, nst, packet, nb); + me->frame_timestamp_µs[me->tx_seq_nr] = BSP_microsecondsSinceBoot(); + me->tx_seq_nr = (me->tx_seq_nr + 1) & 0x7; // BSP_logf("Writing frame with size %hu to buffer\n", sizeof frame_store); return writeFrame(me, frame_store, sizeof frame_store) == sizeof frame_store; } diff --git a/firmware/src/debug_cli.c b/firmware/src/debug_cli.c index 0c6c2af..9359535 100644 --- a/firmware/src/debug_cli.c +++ b/firmware/src/debug_cli.c @@ -68,15 +68,15 @@ static void interpretCommand(CmndInterp *me, char ch) switch (ch) { case '?': - CLI_logf("Commands: /? /a /b /d /l /n /q /u /v /0 /1../9\n"); + CLI_logf("Commands: /? /a /b /d /l /n /q /u /v /w /0 /1../9\n"); break; case '0': BSP_primaryVoltageEnable(false); setPrimaryVoltage_mV(me, 0); break; case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': - BSP_primaryVoltageEnable(true); // Turn on the buck converter. setPrimaryVoltage_mV(me, (ch - '0') * 1000U); + BSP_primaryVoltageEnable(true); // Turn on the buck converter. break; case 'a': BSP_triggerADC(); @@ -92,7 +92,7 @@ static void interpretCommand(CmndInterp *me, char ch) BSP_toggleTheLED(); break; case 'n': - EventQueue_postEvent(me->delegate_queue, ET_NEXT_ROUTINE, NULL, 0); + EventQueue_postEvent(me->delegate_queue, ET_SELECT_NEXT_PATTERN, NULL, 0); break; case 'q': { // Quit. int sig = 2; // Simulate Ctrl-C. @@ -103,7 +103,10 @@ static void interpretCommand(CmndInterp *me, char ch) changePrimaryVoltage_mV(me, +100); break; case 'v': - CLI_logf("Firmware v0.31-beta\n"); + CLI_logf("Firmware v0.32-beta\n"); + break; + case 'w': // Allow rediscovery by Dweeb. + DataLink_waitForSync(me->datalink); break; default: CLI_logf("Unknown command '/%c'\n", ch); diff --git a/firmware/src/neodk_main.c b/firmware/src/neodk_main.c index 58b64e6..4e91aa8 100644 --- a/firmware/src/neodk_main.c +++ b/firmware/src/neodk_main.c @@ -41,7 +41,7 @@ static void Boss_init(Boss *me) EventQueue_init(&me->event_queue, me->event_storage, sizeof me->event_storage); me->controller = Controller_new(); me->sequencer = Sequencer_new(); - me->prev_micros = 0; + me->prev_micros = 0ULL; me->keep_running = true; } @@ -84,7 +84,7 @@ static void dispatchEvent(Boss *me, AOEvent const *evt) case ET_BUTTON_RELEASED: // Ignore for now. break; - case ET_NEXT_ROUTINE: + case ET_SELECT_NEXT_PATTERN: case ET_SET_PULSE_WIDTH: EventQueue_repostEvent((EventQueue *)me->sequencer, evt); break; diff --git a/firmware/src/sequencer.c b/firmware/src/sequencer.c index 526108f..61dbe2c 100644 --- a/firmware/src/sequencer.c +++ b/firmware/src/sequencer.c @@ -11,6 +11,7 @@ */ #include +#include #include "bsp_dbg.h" #include "bsp_mao.h" @@ -127,6 +128,19 @@ static PatternDescr const pattern_descriptors[] = }; +void selectPatternByName(Sequencer *me, char const *name, EventSize len) +{ + for (uint8_t i = 0; i < me->nr_of_patterns; i++) { + char const *pattern_name = me->pattern_descr[i].name; + if (len == strlen(pattern_name) && memcmp(name, pattern_name, len) == 0) { + BSP_logf("%s '%s'\n", __func__, pattern_name); + me->pattern_index = i; + return; + } + } +} + + static void setPulseWidth(Sequencer *me, uint8_t width_µs) { BSP_logf("Setting pulse width to %hhu µs\n", width_µs); @@ -143,11 +157,10 @@ static void setIntensityPercentage(Sequencer *me, uint8_t perc) } -static void selectNextRoutine(Sequencer *me) +static void switchPattern(Sequencer *me) { - setIntensityPercentage(me, DEFAULT_INTENSITY_PERCENT); - if (++me->pattern_index == me->nr_of_patterns) me->pattern_index = 0; PatternDescr const *pd = &me->pattern_descr[me->pattern_index]; + setIntensityPercentage(me, DEFAULT_INTENSITY_PERCENT); CLI_logf("Switching to '%s'\n", pd->name); PatternIterator_init(&me->pi, pd, me->pulse_width); } @@ -176,8 +189,13 @@ static void *stateCanopy(Sequencer *me, AOEvent const *evt) case ET_ADC_DATA_AVAILABLE: printAdcValues((uint16_t const *)AOEvent_data(evt)); break; - case ET_NEXT_ROUTINE: - selectNextRoutine(me); + case ET_SELECT_NEXT_PATTERN: + if (++me->pattern_index == me->nr_of_patterns) me->pattern_index = 0; + switchPattern(me); + break; + case ET_SELECT_PATTERN_BY_NAME: + selectPatternByName(me, (char const *)AOEvent_data(evt), AOEvent_dataSize(evt)); + switchPattern(me); break; case ET_SET_INTENSITY: setIntensityPercentage(me, *(uint8_t const *)AOEvent_data(evt)); @@ -284,6 +302,7 @@ static void *statePulsing(Sequencer *me, AOEvent const *evt) BSP_logf("%s EXIT\n", __func__); break; case ET_TOGGLE_PLAY_PAUSE: + case ET_PAUSE: return &statePaused; // Transition. case ET_STOP: return &stateIdle; // Transition.