From 44b1fae40104774f734ee06840f7bd08d57f7e03 Mon Sep 17 00:00:00 2001 From: kemonine Date: Fri, 13 Nov 2020 19:31:30 -0500 Subject: [PATCH] overhaul current kemonine keymaps to include accelleration tweaks for usability --- keyboards/kbdfans/kbd67/rev2/config.h | 1 + .../rev2/kbdfans_kbd67_rev2_kemonine.hex | 2729 +++++++++-------- keyboards/kbdfans/kbd67/rev2/keymap.c | 61 +- keyboards/kbdfans/kbd67/rev2/layer-3.json | 12 +- keyboards/kbdfans/kbd67/rev2/layer-3.png | Bin 20868 -> 22969 bytes keyboards/massdrop/alt/config.h | 1 + keyboards/massdrop/alt/keymap.c | 143 +- keyboards/massdrop/alt/layer-3.json | 18 +- keyboards/massdrop/alt/layer-3.png | Bin 21090 -> 23178 bytes .../massdrop/alt/massdrop_alt_kemonine.bin | Bin 48312 -> 48200 bytes .../kbd67/rev2/keymaps/kemonine/config.h | 1 + .../kbd67/rev2/keymaps/kemonine/keymap.c | 61 +- .../massdrop/alt/keymaps/kemonine/config.h | 1 + .../massdrop/alt/keymaps/kemonine/keymap.c | 143 +- 14 files changed, 1630 insertions(+), 1541 deletions(-) diff --git a/keyboards/kbdfans/kbd67/rev2/config.h b/keyboards/kbdfans/kbd67/rev2/config.h index 169ca65c..09e41403 100644 --- a/keyboards/kbdfans/kbd67/rev2/config.h +++ b/keyboards/kbdfans/kbd67/rev2/config.h @@ -12,3 +12,4 @@ #define MOUSEKEY_WHEEL_INTERVAL 50 #define MOUSEKEY_WHEEL_TIME_TO_MAX 20 #define MOUSEKEY_WHEEL_MAX_SPEED 10 +#define MK_COMBINED diff --git a/keyboards/kbdfans/kbd67/rev2/kbdfans_kbd67_rev2_kemonine.hex b/keyboards/kbdfans/kbd67/rev2/kbdfans_kbd67_rev2_kemonine.hex index 3ff7aa59..11ea9c40 100644 --- a/keyboards/kbdfans/kbd67/rev2/kbdfans_kbd67_rev2_kemonine.hex +++ b/keyboards/kbdfans/kbd67/rev2/kbdfans_kbd67_rev2_kemonine.hex @@ -1,9 +1,9 @@ :100000000C9408050C944F050C944F050C944F0567 :100010000C944F050C944F050C944F050C944F0510 -:100020000C944F050C944F050C940A2C0C94DE2C68 -:100030000C9420230C944F050C944F050C944F0501 +:100020000C944F050C944F050C94B12C0C94852D19 +:100030000C94D5230C944F050C944F050C944F054C :100040000C944F050C944F050C944F050C944F05E0 -:100050000C944F050C946B230C944F050C944F0596 +:100050000C944F050C9420240C944F050C944F05E0 :100060000C944F050C944F050C944F050C944F05C0 :100070000C944F050C944F050C944F050C944F05B0 :100080000C944F050C944F050C944F050C944F05A0 @@ -37,9 +37,9 @@ :100240000000F900000000000000000000000000B5 :100250000000000000005108F200F100F30000006F :100260000000FB00FC000000000000000000000097 -:100270000000E100000000001B0006001900000063 +:100270000000285D000000002900000000000000D0 :100280000000FA000000000000000000E50000008F -:100290000000E00000000000025300000000000029 +:100290000000E00000000000E20000000000295D16 :1002A0000000000000000253E600E400000000002F :1002B000000044454255473A2064697361626C65A9 :1002C000642E0A0044454255473A20656E61626CCF @@ -160,14 +160,14 @@ :1009F000FF150026FF0095067508810005081901FE :100A00002905950575019102950175039101C000B5 :100A100011241FBECFEFDAE0DEBFCDBF04B603FE68 -:100A200027C08091150390911603A0911703B091F0 -:100A300018038730904BA740B04BD1F410921503A8 -:100A400010921603109217031092180314BE84B765 +:100A200027C08091160390911703A0911803B091ED +:100A300019038730904BA740B04BD1F410921603A6 +:100A400010921703109218031092190314BE84B762 :100A5000877F84BF0FB6F894A89580916000886165 :100A600080936000109260000FBEE0E0F8E309950B -:100A700011E0A0E0B1E0E8E4FFE502C005900D92CE +:100A700011E0A0E0B1E0E6E9F0E602C005900D92D9 :100A8000AC3BB107D9F723E0ACEBB1E001C01D925C -:100A9000A531B207E1F70E943F290C94662F0C9410 +:100A9000A631B207E1F70E94E6290C940D300C94C0 :100AA0000000FF93EF93E091BC01F091BD013097FE :100AB00009F00995EF91FF910895FC01859180302F :100AC00011F0EFDFFBCF0895FF27E0E230E247FFB0 @@ -190,1349 +190,1370 @@ :100BD000FF91B7CFFF93EF93FC0181918030B9F380 :100BE00060DFFBCFFF93EF9368DFF1CFDF93CF930D :100BF000CDB7DEB72596A3DFCF91DF910895549A44 -:100C00000C944606CF93C82F0E94D306882319F070 +:100C00000C945106CF93C82F0E947A07882319F0BD :100C1000C1FD03C05C9ACF9108955C98FCCF809190 -:100C20000101823019F481E00E94E01E109201015E -:100C300008958CEA90E09093C2018093C1010895D9 -:100C4000CF92DF92EF92FF926B017C0140E00E9415 -:100C50008A1E682F80E00E94590F41E0C701B6014B -:100C60000E948A1E682F81E00E94590F42E0C7014E -:100C7000B6010E948A1E682F82E00E94590FC701A8 -:100C8000B601FF90EF90DF90CF90089508950895FA -:100C9000FC018081813029F49285992339F082E02A -:100CA0000895823011F088E0089583E008950E944D -:100CB000480680930101882391F0833018F0833037 -:100CC00021F0089581E00C94BF1E82E00E949F1ED7 -:100CD000882319F082E00C94E01E82E0F4CF08959E -:100CE00081E0089581E008950C94720608950C94B3 -:100CF00076061F93CF93DF9300D000D00F92CDB72D -:100D0000DEB749835A836B833091DE0189819A81F2 -:100D100031111DC06623B9F02223A9F00E94AE1F35 -:100D2000182F682F89819A810E945B1F69817A81BF -:100D3000812F0F900F900F900F900F90DF91CF9118 -:100D40001F910C9459070E94871F182FEFCF0E9404 -:100D5000AE1F69817A81EDCFFC01262F4081518140 -:100D60006281738184810C947906CF93DF93EC01C7 -:100D700060E00E94AC06BE01DF91CF910C94770633 -:100D80000E94B5230E942521811102C00E94CB211F -:100D90000E949C110C94FF050E9407150C94650994 -:100DA00008950C94D00681E00895CF93C82F0E9437 -:100DB000D1068C2FCF910C94020608950E94A41A9C -:100DC0000E94DD062FEF84E39CE02150804090409C -:100DD000E1F700C000000C948F230F931F93CF9373 -:100DE000DF93EC0161E00E94AC068C01BE010E9421 -:100DF0006714BE01C8010E9474068823A1F1BE01D8 -:100E0000C8010E940811882371F1BE01C8010E9427 -:100E1000AD14882341F1BE01C8010E9463128823EA -:100E200011F1BE01C8010E94B5128823E1F0BE0194 -:100E3000C8010E94D8138823B1F0BE01C8010E94E6 -:100E40007B0F882381F08A81882341F101308CE572 -:100E5000180779F00E3D8CE51807E9F001151C45DF -:100E6000E9F40E94DE0680E0DF91CF911F910F919F -:100E7000089590917602892F8E7F90FF81608093F4 -:100E8000760280FF05C084EC92E00E945D05EBCF06 -:100E900082EB92E0FACF0E94CB21E5CFCE01DF9129 -:100EA000CF911F910F910C94700690E080E008950F -:100EB0000895E72FF0E095E0899FE00DF11D1124E2 -:100EC00084E0EE0FFF1F8A95E1F7E60FF11DEE0FAC -:100ED000FF1FEE52FF4F859194910895FC01EE0F94 -:100EE000FF1FEB52FD4F859194910895CF93DF93AF -:100EF0000E9459070E948B08EC01811520E592079A -:100F000008F042C0811530E4930708F0BDC0883E68 -:100F1000910528F5803E910508F09DC0883A91051D -:100F200088F4853A910508F08FC08130910509F465 -:100F300092C0009709F48FC0049708F08CC0D0E0ED -:100F4000C0E089C08F3B910508F489C0805C91099D -:100F5000C03CD105A0F30E946E07EC017CC0811556 -:100F6000904250F4C11581E0D80708F074C0C03F2A -:100F7000D10528F3D0656FC0C11590E3D90708F0FB -:100F800079C0CE019F70E7CF811525E5920758F50E -:100F9000811534E5930708F0A6C0811542E5940752 -:100FA00050F4C11581E5D80708F471C0DC2FCC27B7 -:100FB000C16FD06A50C0982F969596959E01237068 -:100FC0003327C115D34508F07FC0C1E0D0E002C08F -:100FD000CC0FDD1F2A95E2F720E2929FC001112479 -:100FE000C82BD92B6FC0C11589E5D807A8F4C11546 -:100FF00098E5D90708F07CC0C11526E5D20708F0AE -:101000009ECF8C2F0E942209C82FD0E0DC2FCC2746 -:10101000CC27DF71D0621FC0C1153AE5D30708F4B1 -:101020006CC0CE0190568115904208F088CF8D2F6C -:101030008F710E94220990E0982F882788279F713E -:101040009C012C2BE901E6CFC55AD0E0CF59DE4FE9 -:10105000C881D0E0D064CE01DF91CF910895C85A05 -:10106000D0E0CC0FDD1FCD5CDE4F0990D881C02DC4 -:10107000D464F1CFCE019927D3FF03C0EC01D86C23 -:10108000EACFEC01D06CE7CFDF70D06AE4CFCE01BD -:10109000E4E096958795EA95E1F783702C2F2695E5 -:1010A0002695237090E2299F90011124382B8C2FD4 -:1010B0008370C1E0D0E002C0CC0FDD1F8A95E2F75B -:1010C000C22BD32BDC68C7CFC1E0D0E002C0CC0F6D -:1010D000DD1F2A95E2F730E2939FC0011124C82B4F -:1010E000D92BDA68B8CFD82FCC27C46FD06AB3CF4A -:1010F000DC2FCC27C06FD06AAECF8C2F8F700E94B0 -:10110000220934E0D695C7953A95E1F7CF709C2F28 -:10111000EC01D069A0CF82389105B1F1B0F48133F0 -:10112000910509F475C048F48932910509F469C044 -:101130008A32910509F473C008958533910509F445 -:1011400059C08933910501F10895833E9105A9F1B4 -:1011500038F4803E9105F9F0823E910549F10895F9 -:10116000863E9105A9F1873E9105C9F1843E91051E -:1011700019F52091AD0221FF1FC08091AC0284FDC2 -:1011800014C087EE90E008952091AC022370A1F086 -:1011900080EE90E008952091AC0220FD47C0309190 -:1011A000AD0230FF09C024FF44C090E080E004C0DD -:1011B0002091AC0222FDF7CF08952091AC0222FDD0 -:1011C0003BC03091AD0230FDE3CF24FFF5CFEDCF32 -:1011D0002091AC0223FFF0CF24FDE7CFD2CF2091A6 -:1011E000AC0223FD2CC03091AD0231FFEECF84EE76 -:1011F00090E008952091AC0225FFDECF89E290E0D7 -:1012000008952091AC0225FFD7CF85E390E00895A3 -:101210002091AC0226FFD0CF8AE290E00895209181 -:10122000AC0226FFC9CF81E390E0089589E390E006 -:10123000089583EE90E0089582EE90E0089586EEA2 -:1012400090E008959091AC0292FF06C0282F28717B -:101250002830F9F4877F846093FF06C0282F287117 -:101260002831F1F4877E84612091AD0220FF06C011 -:10127000382F38713830D9F4877F816021FF06C05C -:10128000282F28712831D1F4877E816194FD877ED3 -:101290000895282F24712430F9F68B7F8860DCCFE5 -:1012A000282F2471243101F78B7E8861DDCF382F00 -:1012B0003171313019F78E7F8860E0CF282F21718E -:1012C000213121F78E7E8861E1CF0C944706E82F0B -:1012D000F0E0EE0FFF1FE854FD4F808191810895EB -:1012E000CF92DF92EF92FF920F931F93CF93DF93F2 -:1012F00085EE92E00E945D0588EBE82E82E0F82EF4 -:10130000D0E0C0E090EEC92E92E0D92E07ED12E0B9 -:10131000DF93CF93DF92CF920E94F6058DED92E09E -:101320000E945D05F701819191917F010E94122138 -:101330009F938F931F930F930E94F60585ED92E084 -:101340000E945D0521968DB79EB708960FB6F8945A -:101350009EBF0FBE8DBFC530D105D1F6DF91CF91B5 -:101360001F910F91FF90EF90DF90CF90089580EA4A -:101370008A95F1F70895CF93DF93A4E7B1E049E7A9 -:1013800051E0C1E0D0E08D91E82FE295EF70F0E000 -:1013900061A18F709E0101C0220F8A95EAF7922FFA -:1013A0009095962391A382A1822B82A34A175B0773 -:1013B00051F7A4E6B1E061E070E08D91E82FE2958D -:1013C000EF70F0E041A18F709B0101C0220F8A9560 -:1013D000EAF7922F9095942391A382A1822B82A366 -:1013E00081E0A437B80749F71092AF021092AE021D -:1013F0001092B9021092B8021092B1021092B0028B -:101400001092BB021092BA021092B3021092B20272 -:101410001092BD021092BC021092B5021092B4025A -:101420001092BF021092BE021092B7021092B60242 -:101430001092C1021092C00285E00E94AA0ADF91B8 -:10144000CF910C94C0068F929F92AF92BF92CF9291 -:10145000DF92EF92FF920F931F93CF93DF9384E776 -:10146000E82E81E0F82E0EEA12E0912CAA24A39433 -:10147000B12CF70181917F01C82FC295CF70D0E0C8 -:1014800099A18F70650101C0CC0C8A95EAF7892F6C -:101490008C2989A38AA18C2C809488218AA30E94FC -:1014A000B709E4E6F1E050E040E030E020E061918F -:1014B000A62FA295AF70B0E090968C9190E06F70DF -:1014C00002C0959587956A95E2F780FD3EC0C501FB -:1014D000042E02C0880F991F0A94E2F7282B392B9B -:1014E0004F5F5F4F4031510511F789A1882289A2D2 -:1014F0008AA1C82ACAA2F8018081918128173907D8 -:1015000039F13183208381E0982A0E5F1F4FF9E77C -:10151000EF16F1E0FF0609F0ACCF292D45E068EBAE -:1015200072E08EEA92E00E94AB0A0E94CC06892DFE -:10153000DF91CF911F910F91FF90EF90DF90CF90AF -:10154000BF90AF909F908F90089590E080E0C6CFBD -:1015500080E0DACF0895FF920F931F93CF93DF932C -:10156000F82E092F162FD72FC42F222349F081E000 -:101570008093C0010E9450239093BF018093BE01CD -:101580008091C0018823A1F08091BE019091BF019C -:101590000E945C23069760F0EF2DF02FA12FBD2F46 -:1015A00090E080E0D0E08C179D0744F01092C001DD -:1015B000DF91CF911F910F91FF900895219131916B -:1015C0002D933D930196EFCFEF92FF920F931F93D0 -:1015D000CF93DF93EB01E82FD11110C0442321F00A -:1015E000F0E0ED58F94FE4916E2F7E2F8E2FDF91B2 -:1015F000CF911F910F91FF90EF9008950D2F10E064 -:10160000282F30E0442329F02D58394FF901249137 -:1016100030E0F6E0CF9FC0011124EFEFF0E0BF0112 -:101620000E94AB2EAB018C2F90E0880F991FA5E58F -:10163000A49FB001A59F700D1124861B970B982FB6 -:10164000990F980FBF01601B710B629FD001639FC0 -:10165000B00D729FB00D11248B2F9D9FB0011124EE -:10166000672F7727EF01C61BD70BBE01629FE001F2 -:10167000639FD00D729FD00D11247F01E91AF108EC -:10168000E09EB001E19E700DF09E700D1124672F59 -:101690007727E61BF70BE29F8001E39F100DF29F77 -:1016A000100D1124E12F722F4230510599F048F4AA -:1016B0004115510569F04130510581F0EB2F8D2F17 -:1016C00007C04430510569F080F046305105B1F74C -:1016D0006E2F8DCFE22F7B2F812FFACFE22F7D2F20 -:1016E000F7CFEB2F822F712FF3CF7B2F822FED2F90 -:1016F000EFCF41E00C94E40ACF93DF93762FE9011A -:10170000682F842F0E94790B798368838A83DF9105 -:10171000CF910895413F08F040EF0C947C0B8091ED -:10172000C202982F9E7F71F48091C2028170826004 -:101730008093C2028091C502813F18F080EF8093B0 -:10174000C5020895843080F7F5CF88E090E00C94CE -:10175000262FCF92DF92EF92FF926B017C010E94C5 -:101760008F0BB701A60188E090E0FF90EF90DF902B -:10177000CF900C94442FE2ECF2E083E0808311825E -:101780008FEF828380EF83831482608171818281F5 -:1017900093810C94A90B8091760280FF76C08BED2B -:1017A00095E09F938F930E94F605809176020F90AB -:1017B0000F9080FF6AC08091C20281701F928F9348 -:1017C0008EEB95E09F938F930E94F60580917602B1 -:1017D0000F900F900F900F9080FF57C08091C20222 -:1017E00086951F928F9383EA95E09F938F930E9433 -:1017F000F605809176020F900F900F900F9080FF6A -:1018000044C08091C3021F928F9389E895E09F9313 -:101810008F930E94F605809176020F900F900F90A3 -:101820000F9080FF32C08091C4021F928F938FE689 -:1018300095E09F938F930E94F605809176020F901A -:101840000F900F900F9080FF20C08091C5021F92D3 -:101850008F9385E595E09F938F930E94F605809185 -:1018600076020F900F900F900F9080FF0EC0809126 -:10187000C6021F928F9389E395E09F938F930E94F6 -:10188000F6050F900F900F900F9008959091C6025B -:10189000933018F49F5F9093C602882351F06091B3 -:1018A000C2027091C3028091C4029091C5020C944F -:1018B000A90B089581E00C94460C9091C6029923DF -:1018C00019F091509093C602882351F06091C202A2 -:1018D0007091C3028091C4029091C5020C94A90B2F -:1018E000089581E00C945D0C21E030E001C0220FEE -:1018F0008A95EAF79091C601922381E009F480E08D -:10190000089570E00C94AC116F927F928F929F9229 -:10191000AF92BF92CF92DF92EF92FF920F931F93FD -:10192000CF93DF9300D000D00F92CDB7DEB7709089 -:1019300019019091C20290FF26C0C090C101D090C1 -:10194000C201C114D10489F58091180133E0839F4D -:10195000C0011124672D89539D4F0E94810C0F9067 -:101960000F900F900F900F90DF91CF911F910F91DB -:10197000FF90EF90DF90CF90BF90AF909F908F90AF -:101980007F906F90089580911A0120911B0133E0A0 -:10199000839FF0011124E953FD4F821770F61182E5 -:1019A000108212828F5F3396F8CF90FFCDCFF12C4B -:1019B000E12C43E0642E8E2D0E94740C882309F4E0 -:1019C0003CC0F701EE0FFF1FEC0DFD1DA590B4907C -:1019D000A114B10409F4B8CF45E050E0B501CE013F -:1019E00001960E94152F09810F3F39F18A81800FDE -:1019F0009927991F8531910514F084E190E04C01FD -:101A0000880C991C880D991D9C0129533D4F490153 -:101A1000069D8001112409531D4F0815190520F05A -:101A200035E0A30EB11CD8CF98014D816C818B811C -:101A30000E948A0B0D5F1F4FF0CF8FEFE81AF80A54 -:101A400028E0E216F10409F0B6CF7ECF8091C20201 -:101A50008E7F8093C2026091C2027091C302809116 -:101A6000C4029091C5020E94A90B8091760280FF6A -:101A70000FC08091C20281701F928F9382E893E021 -:101A80009F938F930E94F6050F900F900F900F90E9 -:101A90002FEF80E792E0215080409040E1F700C0B6 -:101AA00000000C94840C8091C2028E7F8093C2024D -:101AB0008091760280FF0CC01F921F9288E493E011 -:101AC0009F938F930E94F6050F900F900F900F90A9 -:101AD0002FEF80E792E0215080409040E1F700C076 -:101AE00000000C94840C9091C20290FF14C090915D -:101AF0001A0120911B0133E0939FF0011124E95357 -:101B0000FD4F921710F00C94840C81836083428304 -:101B10009F5F3396F6CF0895EF92FF920F931F9336 -:101B2000CF93DF9300D00F92CDB7DEB7182F062FDB -:101B3000F42EE22E8091C20280FF43C0E82FE6958A -:101B4000F0E0E758FE4F90819093C4018E7F823081 -:101B500059F49E012F5F3F4F812F0E948A0B4B81CA -:101B600069818A810E94730D1093C3020093C4029D -:101B7000F092C502EE2079F16091C2027091C30229 -:101B80008091C4029091C5020E94A90B80917602B7 -:101B900080FF17C08091C5021F928F938091C4026D -:101BA0001F928F938091C3021F928F9383E293E0E1 -:101BB0009F938F930E94F6050FB6F894DEBF0FBE79 -:101BC000CDBF0F900F900F90DF91CF911F910F918C -:101BD000FF90EF9008958091760280FFF2CF1F92E0 -:101BE000FF921F920F931F921F938CEF92E0E0CF12 -:101BF000E2ECF2E09181282F4381628188E0890F35 -:101C00000C948C0D81E00C94F80DE2ECF2E09181E3 -:101C1000282F4381628188EF890F0C948C0D81E01D -:101C20000C94050EE2ECF2E0628128E0620F08F409 -:101C30006FEF282F438181810C948C0D81E00C94EF -:101C4000120EE2ECF2E0628128E0621B08F460E030 -:101C5000282F438181810C948C0D81E00C94210EFE -:101C6000E2ECF2E0438128E0420F08F44FEF282F26 -:101C7000628181810C948C0D81E00C94300EE2EC39 -:101C8000F2E0438128E0421B08F440E0282F628103 -:101C900081810C948C0D81E00C943F0E20E00C941B -:101CA0008C0D8091C20280FF35C08170826080936C -:101CB000C202662329F16091C2027091C302809131 -:101CC000C4029091C5020E94A90B8091760280FF08 -:101CD0000FC08091C20286951F928F938FE794E088 -:101CE0009F938F930E94F6050F900F900F900F9087 -:101CF0004091C5026091C4028091C3020C944E0EC3 -:101D00008091760280FFF4CF1F9281E08F9381E66D -:101D100094E0E6CF0895682F81E00C94510E81E0A5 -:101D20000C948B0E682F9091C20296958FEF890FBD -:101D300009F481E00C94510E81E00C94920E61E064 -:101D40000C94510E8091C20281608093C2028091F6 -:101D5000760280FF0DC01F9281E08F9383EF93E0A6 -:101D60009F938F930E94F6050F900F900F900F9006 -:101D70008091C20286950C949F0E8091760280FF1E -:101D800010C08091C202809581701F928F938AE269 -:101D900094E09F938F930E94F6050F900F900F9001 -:101DA0000F908091C20280FD0C94260D0C94A20E1F -:101DB00060E00C94510E8091C30181115EC080914E -:101DC000760280FF14C082E295E09F938F930E9479 -:101DD000F605809176020F900F9080FF08C08CE08E -:101DE00095E09F938F930E94F6050F900F900E94AD -:101DF0002521811110C08091760280FF08C084EEF9 -:101E000094E09F938F930E94F6050F900F900E948D -:101E1000CB210E94BB0B0E94A50B6093C202709362 -:101E2000C3028093C4029093C5026E7FC1F4809177 -:101E3000760280FF08C08BE994E09F938F930E9405 -:101E4000F6050F900F900E94BB0B0E94A50B6093AC -:101E5000C2027093C3028093C4029093C5020E9491 -:101E60008F0B0E94CB0B8091C20280FF03C086952E -:101E70000E94D80E81E08093C30108958091C20230 -:101E800081608093C2028091760280FF0DC01F9214 -:101E900081E08F938AEB93E09F938F930E94F605E6 -:101EA0000F900F900F900F908091C20286950C9426 -:101EB000D80E21E030E0A90102C0440F551F8A95D9 -:101EC000E2F7CA012091C601662361F0822B80935C -:101ED000C6018091C501811108C08091C20286951A -:101EE0000C94D80E80958223F2CF0895FA018111C7 -:101EF00001C0FB0109940F931F93CF938C01FB0149 -:101F0000C281CC2309F44DC00E9443208272F801A3 -:101F1000E25CFC45E431F10538F4E859F04D0C94ED -:101F2000F52E0E94BD0EC0E08C2FCF911F910F9116 -:101F300008954CE95EE06FE87EE00E94760FF3CFF3 -:101F40004FE85EE06CE97EE0F8CF4FE05EE062E0F3 -:101F50007EE0F3CF42E05EE06FE07EE0EECF4DE268 -:101F60005EE06EE17EE0E9CF4EE15EE06DE27EE0B4 -:101F7000E4CF4BE45EE06CE37EE0DFCF4CE35EE079 -:101F80006BE47EE0DACF41E75CE06AE57CE0D5CF48 -:101F90004AE55CE061E77CE0D0CF81E00E949F0EE3 -:101FA000C2CFC1E0C1CF0E942521811102C00E9491 -:101FB000CB210E94532180930303803220F087704D -:101FC00088618093030390910303892F817090FFB0 -:101FD00004C0892F8695869586950C943D11809135 -:101FE0000303982F969596959695933040F49F5FAE -:101FF000990F990F990F8770892B80930303809114 -:1020000003038160809303030E945721809176022D -:1020100080FF11C0809103038695869586951F9257 -:102020008F938BE596E09F938F930E94F6050F9018 -:102030000F900F900F90809103038695869586955B -:102040000C943D1180910303982F987F79F088506C -:1020500080930303887F91E009F490E0809103036B -:1020600090FB80F9809303030E94572180917602B0 -:1020700080FF11C0809103038695869586951F92F7 -:102080008F9383E496E09F938F930E94F6050F90C1 -:102090000F900F900F9080910303869586958695FB -:1020A0000C943D118091030380FD1FC081608093DB -:1020B0000303813019F489E08093030380910303C3 -:1020C0000E9457218091760280FF08C08BE196E044 -:1020D0009F938F930E94F6050F900F9080910303BA -:1020E0008695869586950C943D11089580910303FD -:1020F00080FF14C08E7F809303030E94572180913C -:10210000760280FF08C088E096E09F938F930E943C -:10211000F6050F900F9080E00C943D110895CF9339 -:10212000C0910303C1708091760280FF0CC01F92A2 -:10213000CF938DE296E09F938F930E94F6050F90C8 -:102140000F900F900F90CC2319F0CF910C94761034 -:10215000CF910C94521090910303892F8695869508 -:1021600086958F5F8F719770843080F5880F880F08 -:10217000880F892B8093030380910303887F91E06C -:1021800009F490E08091030390FB80F980930303AE -:102190000E9457218091760280FF11C08091030335 -:1021A0008695869586951F928F9384EF95E09F93F1 -:1021B0008F930E94F6050F900F900F900F908091D3 -:1021C00003038695869586950C943D1190930303A1 -:1021D000D3CF843008F083E0909103039770282FC9 -:1021E000220F220F220F922B90930303987F21E05E -:1021F00009F420E09091030320FB90F990930303EE -:102200000C943D110E94E910809103030C94572116 -:102210009C01FB018281882349F12D3BFCE53F07AE -:10222000C9F040F42B3BECE53E0769F02C3B3C4504 -:1022300079F008952F3B9CE5390791F070F0203C30 -:102240003C4589F0089583E00E94021180E00895E2 -:1022500080E0FACF0E942210F9CF0E94EF0FF6CF54 -:102260000E948F10F3CF0E94AB10F0CF81E0089551 -:10227000259A2D9808952D980895CF92DF92EF9288 -:10228000FF92CF93C82F843040F5811127C08091F1 -:1022900080008F77809380000E943B112C2F30E0CC -:1022A000AFEFBFEF0E94FB2E23E030E040E050E0B4 -:1022B0000E94D32EC9012C3764E13607A8F469E0E7 -:1022C00070E00E94AB2E7093890060938800CF91DC -:1022D000FF90EF90DF90CF900895C3E08091800051 -:1022E000806880938000DACF2A50374D4F4F5F4F80 -:1022F000942F832F722F662725EF38E241E050E0BC -:102300000E94D32E69017A01CA01B9010E948F2E61 -:102310009B01AC01C701B6010E948F2E672F782F59 -:10232000892F99276115710521E08207910559F6DA -:102330006FEF7FEFC8CF08950E94381182E8809335 -:10234000800089E1809381008FEF9FEF9093870059 -:10235000809386000C94D30F6A9A4EB14B7F5EB186 -:102360005460EFB7F8949B01220F331F260F371FDD -:10237000280F391F2817390741F4EFBF8FE594E084 -:102380000197F1F700C000000895DC016D91CD01C7 -:1023900078E05EB9000000C067FF4EB9660F00002C -:1023A00000C000C000C04EB900C07A9591F7E2CFDE -:1023B000AF92BF92CF92DF92EF92FF920F931F9353 -:1023C000CF93DF937C015B01C42FD22FFC0182816C -:1023D0008823F9F04093C9010E9450239093C801CB -:1023E0008093C70180E28C0F883008F061C0C7700D -:1023F00081E001C0880FCA95EAF7DF91CF911F9164 -:102400000F91FF90EF90DF90CF90BF90AF900C9422 -:1024100028181091C901141340C08091C7019091F0 -:10242000C8010E945C236C01B701C5010E941A1DFE -:10243000C816D90690F5C0E2CD0F1D17B9F080E29D -:10244000810F883040F4177081E001C0880F1A9521 -:10245000EAF70E942F18C83048F481E09D2F97704A -:1024600001C0880F9A95EAF70E942818802F0E94D1 -:102470001518C830E8F4D77081E001C0880FDA95EC -:10248000EAF7DF91CF911F910F91FF90EF90DF90CE -:10249000CF90BF90AF900C942F1880E28C0F8830B3 -:1024A00038F4C77081E001C0880FCA95EAF7E9CF18 -:1024B000DF91CF911F910F91FF90EF90DF90CF9020 -:1024C000BF90AF9008950F939C01CB01233F4CE543 -:1024D000340759F1A8F4283DFCE53F0701F1293DF7 -:1024E0004CE53407D1F1273D3C4591F406E221EE5D -:1024F00041EE67ED7CE50E94D81180E00F910895D0 -:10250000253FFCE53F07E9F0B0F0263F3C45F9F0F8 -:10251000FC018281882339F11092C901EFCF07E2D3 -:1025200025EE45EE68ED7CE5E6CF06E221EE40EED5 -:1025300063EF7CE5E0CF07E225EE44EE64EF7CE557 -:10254000DACF06E221EE42EE65EF7CE5D4CF07E27A -:1025500025EE46EE66EF7CE5CECF08E221E045EEC3 -:1025600069ED7CE5C8CF81E0C9CFCF93DF93EC0163 -:10257000FB018281882309F419C1C230FCE5DF0721 -:10258000C0F1C6319CE5D90730F09E012A5F3C4579 -:102590002930310570F50E9438219093AD02809367 -:1025A000AC02C031ECE5DE0709F4CFC008F05BC037 -:1025B000C8308CE5D80709F4B6C088F5C430ECE51E -:1025C000DE0709F4A8C0C0F4C2308CE5D80709F4CE -:1025D0009CC08091AC028260C330DC4509F498C095 -:1025E0008091AC029091AD020E9446210E94A41AF3 -:1025F00080E0DF91CF9108958091AC028061C63078 -:10260000ECE5DE0709F484C08091AC028860C73035 -:10261000DC4508F47DC08091AC02806279C0CC308A -:102620008CE5D80709F489C070F48091AC028C6005 -:10263000CA30ECE5DE0709F46BC008F478C080917D -:10264000AC028E7F65C0CE308CE5D80709F479C026 -:102650008091AC028B7FCF30DC4508F459C080916B -:10266000AC028F7E55C0CB3FECE5DE0709F457C0C6 -:1026700030F5C3318CE5D80709F46FC078F4C13167 -:10268000ECE5DE0709F465C0C231DC4509F0A8CFEE -:102690000E94A41A8091AC028F773AC0C5318CE5B4 -:1026A000D80709F462C008F476C08091AD02816059 -:1026B000CA3FDC4509F094CF8093AD0291CFCF3F64 -:1026C000FCE5DF0709F44DC088F48091AD028D7FF1 -:1026D000CD3F9CE5D90781F38091AD028E7FCE3F3F -:1026E000DC4550F38091AD028360E6CFC130FDE55B -:1026F000DF0709F459C008F444C080E0C230DD456A -:1027000009F06ECF0E94CD216BCF8091AC02816029 -:102710008093AC0265CF8091AC028460F9CF809148 -:10272000AD028260C9CF8091AC028064F1CF0E947B -:10273000A41A8091AC028068EBCF8091AC028D7FAF -:10274000E7CF8091AC02877FE3CF8091AC028F7D91 -:10275000DFCF8091AC028F7BDBCF8091AC02837F97 -:10276000D7CF8091AD028C7FA7CF8091AC0282FB46 -:10277000992790F921E0922790FB82F990FB83F949 -:10278000C7CF8091AD02982F909591708E7F892B45 -:1027900090FB81F991CF0E94A41A9091AC02892FED -:1027A00097FB87F98058B4CF81E0ACCF81E021CF8F -:1027B000CF93DF93EB0186319C4539F50E9443208E -:1027C000982F91718A7A911180E09A81992399F0DA -:1027D00091E0811101C090E09093CA01811109C07C -:1027E00089E20E941E200E94922080E0DF91CF911A -:1027F000089585E3F6CF8091CA01811104C089E272 -:102800000E942520F0CF85E3FBCF81E0EFCFCF936F -:10281000DF93EC0181E0898B8F810E9446208885BF -:102820000E9459200E949220EA81FB81309739F062 -:102830006C897D89CE010696DF91CF910994DF9155 -:10284000CF910895EF92FF920F931F93CF93DF9351 -:10285000EC018A85811134C0EB80FC8087E5F81A91 -:1028600026E12E9DC0012F9D900D1124DC01AE5F4D -:10287000BE4F1496ED91FC911597309731F0549618 -:102880006D917C91885F9E4F099586E18E9D8001B8 -:102890008F9D100D11240E5F1E4FF80187810E943D -:1028A0004C20F80180850E945F200E9492201882AF -:1028B00019861B861E821D821092CC011092CB01BC -:1028C000DF91CF911F910F91FF90EF900895DF92CC -:1028D000EF92FF920F931F93CF93DF937C01FB0145 -:1028E0008281882391F080911D018F3F71F0C2E0B9 -:1028F000D1E010E000E0DD24D39480911D01082E8A -:10290000000C990B8017910744F4DF91CF911F9130 -:102910000F91FF90EF90DF9008958E818823C9F08A -:1029200089859A858E159F0539F48091CB01909108 -:10293000CC018E159F0569F0DF86FC86EB868989C0 -:10294000811103C0CE010E940714CE0106960E9499 -:1029500022140F5F1F4F6696D0CFEF92FF920F9316 -:102960001F93CF93DF937C0197558F3F910509F01B -:10297000D8F520911D01022E000C330B28173907C2 -:1029800014F480931D01FB01228136E1389F800100 -:10299000399F100D1124E801CE5FDE4F288B928104 -:1029A0008E81992349F1FA86E9868F5F8E830E9492 -:1029B00050239E878D870E9479208F830E94432019 -:1029C00088870E9456209885892B8887E881F9811D -:1029D000309731F06C897D89C801885F9E4F0995D9 -:1029E000F092CC01E092CB0181E0DF91CF911F9179 -:1029F0000F91FF90EF9008958823B1F38989882380 -:102A000099F3C801885F9E4F0E942214EDCFCF92A8 -:102A1000DF92EF92FF920F931F93CF93DF938091FA -:102A20001D0110E006E18F3FF1F5DF91CF911F917D -:102A30000F91FF90EF90DF90CF9008950E9DF001E1 -:102A40000F9DF00D1124EE5FFE4FC288D388C11494 -:102A5000D10439F470E060E0818592850E941A1DEE -:102A60006C010E9DE0010F9DD00D1124CE5FDE4F55 -:102A70008E818823B9F08D859E850E945C23C816BF -:102A8000D90680F4109F700111248989811105C035 -:102A9000C7018E5F9E4F0E940714C701885F9E4F3B -:102AA0000E9422141F5FE12EF12C80911D01082E3F -:102AB000000C990B8E159F050CF6B7CF9093D201A1 -:102AC0008093D1010895E091D101F091D201309726 -:102AD00021F00190F081E02D099480E00895EF92BB -:102AE000FF920F931F93CF93DF93EC01E091D101FD -:102AF000F091D201309709F446C0809132018823C9 -:102B000041F08091AC0287FF04C08881898385E011 -:102B100088830280F381E02DCE01099580917602B1 -:102B200082FF31C080FF04C08BE797E00E945D0503 -:102B300010E000E085E7E82E87E0F82E809176022D -:102B400080FF0EC0FE01E00FF11F80811F928F9366 -:102B5000FF92EF920E94F6050F900F900F900F904A -:102B60000F5F1F4F0830110549F78091760280FFF3 -:102B70000AC083E797E0DF91CF911F910F91FF90FB -:102B8000EF900C945D05DF91CF911F910F91FF9015 -:102B9000EF900895E091D101F091D201309739F092 -:102BA00022E0DC012C930480F581E02D0994089546 -:102BB0002091CF013091D0012817390771F09093FF -:102BC000D0018093CF01E091D101F091D2013097F3 -:102BD00021F00680F781E02D099408952091CD0120 -:102BE0003091CE012817390771F09093CE01809370 -:102BF000CD01E091D101F091D201309721F0008414 -:102C0000F185E02D0994089585B7806885BF85B763 -:102C1000806885BF0895089508950C940B160C9450 -:102C200019060E9404160E940C160C940D1681E0E1 -:102C300008950C9417160E9447230E94BB090E9416 -:102C4000C9230E94D30F0E94DB0E0C940F16CF9362 -:102C5000C82F8091760282FF1EC080FF1CC084E9CD -:102C600097E00E945D058091760280FF14C01F925C -:102C7000CF938FE897E09F938F930E94F605809102 -:102C800076020F900F900F900F9080FF04C08DE898 -:102C900097E00E945D058C2FCF910C94D5069F92F2 -:102CA000AF92BF92CF92DF92EF92FF920F931F935A -:102CB000CF93DF93CDB7DEB72A970FB6F894DEBF78 -:102CC0000FBECDBF0E94230A0E941916882309F463 -:102CD00072C054EDA52E51E0B52E10E000E0902E0C -:102CE000802F0E9467096C01F501E190F1905F016E -:102CF000E816F90609F459C08091760281FD0E9418 -:102D0000700997012C253D2580E0EE24E394F12CF9 -:102D1000A9014E215F21452B09F441C08E839F827A -:102D2000CE20DF2081E0CD2809F480E088870E9452 -:102D300050238160782F9A8789874E815F816885CB -:102D40008A850E94FE16000F111FF801EC52FE4FFB -:102D500080819181E826F926F182E0820E949B1110 -:102D60000E94F6250E9463159091D3018917A1F165 -:102D70000E9463158093D3012A960FB6F894DEBFA4 -:102D80000FBECDBFDF91CF911F910F91FF90EF90BC -:102D9000DF90CF90BF90AF909F900C9427168F5FDD -:102DA000EE0CFF1C803109F0B3CF0F5F1F4F0530D1 -:102DB000110509F094CF8FEF89838A831B820E94CB -:102DC00050238160782F9D838C8349815A816B8148 -:102DD0008D810E94FE16C2CF2A960FB6F894DEBFF0 -:102DE0000FBECDBFDF91CF911F910F91FF90EF905C -:102DF000DF90CF90BF90AF909F900895CF93DF93D7 -:102E0000CDB7DEB72B970FB6F894DEBF0FBECDBFA0 -:102E10004F83588769877A878B871E821D8285E05A -:102E2000FE013796DE01119601900D928A95E1F729 -:102E300049815A816B817C818D819E812B960FB651 -:102E4000F894DEBF0FBECDBFDF91CF910C941D1D56 -:102E5000FC01808191810C94F01FCF93C82F8823AF -:102E600009F48BC08238C1F40E94631581FD85C0CE -:102E700089E30E941E200E9492202FEF81EE94E0B1 -:102E8000215080409040E1F700C0000089E30E949B -:102E90002520CF910C9492208338A1F40E946315D1 -:102EA00080FD6BC083E50E941E200E9492202FEFC0 -:102EB00081EE94E0215080409040E1F700C0000096 -:102EC00083E5E5CF8438A1F40E94631582FD55C0E7 -:102ED00087E40E941E200E9492202FEF81EE94E052 -:102EE000215080409040E1F700C0000087E4CFCF40 -:102EF0008CEF8C0F813A90F46C2F80911E01909191 -:102F00001F010E94E621882329F08C2F0E94252092 -:102F10000E9492208C2F0E941E20BBCF80E28C0F3B -:102F2000883048F4C77081E001C0880FCA95EAF77D -:102F30000E944620AECFEBE5EC0FE33040F4F0E02A -:102F4000E755FE4F808190E0CF910C94D815E8E5CD -:102F5000EC0FE73150F4F0E0EE0FFF1FE558FE4FA5 -:102F600080819181CF910C94EE15C03F30F08C2F71 -:102F70000E946E24CF910C945925CF9108958823F7 -:102F800009F452C0823871F40E94631581FF4CC06D -:102F900089E30E941E200E94922089E30E9425203E -:102FA0000C949220833859F40E94631580FF3CC032 -:102FB00083E50E941E200E94922083E5EFCF843893 -:102FC00059F40E94631582FF2FC087E40E941E20DF -:102FD0000E94922087E4E2CF9CEF980F913AF0F2A2 -:102FE00090E2980F983050F4877091E001C0990FEB -:102FF0008A95EAF7892F0E944C20D2CF9BE5980F43 -:10300000933020F490E080E00C94D81598E5980F68 -:10301000973120F490E080E00C94EE15803F20F092 -:103020000E94D6240C9459250895CF93C82F0E944E -:103030002D17C93349F42FEF87EE93E021508040DC -:103040009040E1F700C000008C2FCF910C94BF1787 -:10305000882321F00E9446200C9492200895882312 -:1030600021F00E944C200C9492200895BF92CF92A0 -:10307000DF92EF92FF920F931F93CF93DF936C0138 -:10308000D62FC72FFC01058102950F7012811111F7 -:103090000E9466200E943C20E82E882391F0112394 -:1030A000D1F08C2F807F803421F080E28D0F88302A -:1030B00090F082E00E94DD200E943C2091E0E82E0A -:1030C000E926BC2EB2949FE0B922EB2DF0E0E45843 -:1030D000F04D0C94F52EE12CF4CF0C2F0F70C07F27 -:1030E00011F00295007F1123A9F0002359F080E22E -:1030F0008D0F883010F0D11109C0802F0E9446201A -:103100000E9492208D2F0E942D1714C0802F0E94A4 -:103110005920F6CF8D2F0E94BF17002359F080E26F -:103120008D0F883010F0D1112CC0802F0E944C20C0 -:103130000E9492202B2D2850330B2430310520F48F -:103140000E9463150E94D506EE2009F49EC10E94DC -:10315000382080FD9AC1F60112820E9432200E941E -:10316000BF1EC6010E94661A0E943220DF91CF91D5 -:103170001F910F91FF90EF90DF90CF90BF900C9434 -:10318000E01E802F0E945F20D3CFFC2FFF70FF2E08 -:10319000C07FC03219F0F29480EFF822DD2369F08D -:1031A000D13049F1112391F1002351F1F6018581CC -:1031B00080FFA8CF8F70858323C0112381F0011178 -:1031C00006C00E9479208F290E942818B3CF0130B1 -:1031D000C1F70E9479208F290E947F20ABCF011177 -:1031E00006C00E9488208F2D0E942F18A3CF013087 -:1031F00009F4A0CFF6CF112329F0063008F09ACFBA -:103200008F2DE2CF053008F095CFEDCF002359F395 -:10321000D93349F4FFEF27EE33E0F150204030403E -:10322000E1F700C000008D2F0E94BF1783CF8C2FC5 -:1032300086958695837069F0813009F07BCF8D2F5C -:103240009C2F9370111102C090E080E00E94EE1557 -:1032500071CF8D2F9C2F9370111102C090E080E0F0 -:103260000E94D81567CF8D2F112329F00E946E245C -:103270000E9459255FCF0E94D624FACF8C2F8370ED -:1032800009F041C0111156CF4D2F42954695477018 -:10329000440F440F0D2F0F7010E030E020E0042E9B -:1032A00004C0000F111F221F331F0A94D2F760E0E1 -:1032B00070E0CB01D4FF0FC06FE070E080E090E0E1 -:1032C00004C0660F771F881F991F4A95D2F7609533 -:1032D000709580959095C695C695C370602B712B9F -:1032E000822B932BC23049F058F4C13019F00E9460 -:1032F000531E20CF0E94411E1DCF0E94651E1ACF73 -:103300000E943F1E17CF8695112311F08C2F8170DC -:10331000882309F40FCF4D2F429546954770440FEF -:10332000440F0D2F0F7010E030E020E0042E04C099 -:10333000000F111F221F331F0A94D2F760E070E0C4 -:10334000CB01D4FF0FC06FE070E080E090E004C0DC -:10335000660F771F881F991F4A95D2F76095709561 -:1033600080959095C695C695C370602B712B822B66 -:10337000932BC23049F058F4C13019F00E94361F27 -:10338000D9CE0E94241FD6CE0E94481FD3CE0E94C1 -:10339000791ED0CECF70112329F08C2F0E94BF1E32 -:1033A0008D2F12CF8D2F0E942F188C2F0E94E01E80 -:1033B000C1CED23F89F160F4D03FC9F0D13F29F1AD -:1033C000112309F442C001119DCE8C2F8F7121C0B1 -:1033D000D33F39F1D43FA1F7112369F1CF718C2F7D -:1033E0000E94BF1E63E08C2F0E94C820A3CE112331 -:1033F00041F0053008F09ECE8C2F8F710E94031F84 -:1034000099CE063008F096CEF7CF8C2F8F7111230E -:1034100069F20E94BF1E8ECE8C2F8F711123C9F3CB -:10342000C5CF112329F08C2F8F710E94AA1E82CE46 -:103430000E94851E7FCE81E00E94DD20023008F4CC -:1034400079CE82E00E94DD2075CE002359F0D93379 -:1034500009F0E9CE8FEF97EEE3E081509040E04035 -:10346000E1F7DFCE8C2F8F71A1CF4C2F4F706D2FD6 -:10347000C6010E9455070E94B71D5CCE4C2F4F70AD -:103480006D2FC6010E94580755CEDF91CF911F9135 -:103490000F91FF90EF90DF90CF90BF9008950F9322 -:1034A0001F93CF93DF93EC01688179818A810E9419 -:1034B000FA1F8C010E945A1F0E943E1EB801CE01C5 -:1034C000DF91CF911F910F910C943618CF93DF931A -:1034D000EC018B819C81892B29F08881998189233A -:1034E0008F3F59F4DF91CF910895CE010E944F1A7A -:1034F000CE01DF91CF910C94B506CE010E94ED066E -:103500008111F3CF0E943C20882361F38A818823B4 -:1035100049F382E0DF91CF910C94DD200E94662078 -:103520000E9476200E9492200E9402270E94592524 -:1035300090E080E00E94D81590E080E00C94EE15B9 -:103540000E942C200C948E1A0E9453200C94A01AD6 -:10355000E92FE295EF70E250EE3070F4F0E0E457BE -:10356000F04D0C94F52E803F19F020F4883E20F4A5 -:1035700081E00895843FE1F380E00895883EC0F340 -:10358000813FD1F7F5CF93FB882780F908950E94FA -:10359000F01F0C94A81ACF93DF9300D000D00F92A5 -:1035A000CDB7DEB70F900F900F900F900F90DF9177 -:1035B000CF910895CF93DF9300D000D000D0CDB746 -:1035C000DEB726960FB6F894DEBF0FBECDBFDF91F3 -:1035D000CF9108951F93CF93DF93C091DF0116E041 -:1035E0008091E0018C1304C0DF91CF911F91089569 -:1035F000D0E01C9FF0011D9FF00D1124EF51FE4FF4 -:103600004081518162817381848195810E94DA1A9F -:103610002196C770E5CF409111025091120260913E -:1036200013027091140280911502909116020C946D -:10363000DA1A1F93CF93DF9380911602807FA9F44B -:1036400080911302882389F08091DF01C091E0010D -:103650006091110270911202A0911402B0911502B2 -:10366000D62FD72316E0C81304C0DF91CF911F9146 -:10367000089590E0109711F0DF3F19F401968770DC -:10368000F2CF189F9001199F300D1124F901EF51CD -:10369000FE4F41814713F2CF40814613EFCF428165 -:1036A0004111ECCF438154814A1B5B0B483C5105CF -:1036B00028F7809116028F70806180931602F901BD -:1036C000EA51FE4F80818F708061808381E192E0BA -:1036D0000E94661ADF91CF911F910C94EA1AAF9263 -:1036E000BF92CF92DF92EF92FF920F931F93CF93EF -:1036F000DF93CDB7DEB761970FB6F894DEBF0FBE8C -:10370000CDBF8C0185E0F801DE011D9601900D9280 -:103710008A95E1F7F80140815181E28081E1C82E6C -:1037200082E0D82E60911402709115026115710526 -:1037300009F461C19091110220911202892F822314 -:103740008F3F09F458C1A380B480F0901302F501B3 -:10375000E61BF70BFF2009F4FCC080911602382FFE -:10376000307FE83CF10508F0B2C0311179C0FE2C81 -:10377000251323C0941321C0E1101FC08F708061F6 -:10378000809316020E940B1BC6010E94661A80914C -:103790001602F80185838F2D61960FB6F894DEBF6F -:1037A0000FBECDBFDF91CF911F910F91FF90EF9092 -:1037B000DF90CF90BF90AF900895AB2829F0842F71 -:1037C00085238F3F09F033C180E0F82FF170DF2EA1 -:1037D00080FF3CC08091DF012091E00136E0821340 -:1037E00015C04D875E878D859E850E94F01F292F0D -:1037F00022952F702230F0F0243018F59F70F1F0F0 -:10380000F8019581907FD1F4D12C1EC090E0389FB3 -:10381000F001399FF00D1124EF51FE4F61816513C6 -:1038200006C06081641303C062816E110FC00196EF -:103830008770D5CF9F7011F0882331F3805E883078 -:1038400018F3C8010E94661AFD2CA5CFEE2009F4DA -:10385000A2CF80911602816080931602F12C9BCF3B -:10386000251306C0941304C0F801EE2009F48DC09E -:103870004D875E878D859E850E94C71A882319F122 -:10388000EE2009F180911602803270F02091110231 -:103890003091120238872F831986BB86AA868C87BF -:1038A000CE0107960E94661A86E0F801A1E1B2E017 -:1038B00001900D928A95E1F70E94191B0E940B1B43 -:1038C000FF24F39468CFC8010E94661AF9CF311122 -:1038D00013C07A2DB98AA88A6E2D89890E94CB1AC5 -:1038E00081E192E00E94661A86E0F60111928A95C3 -:1038F000E9F70E940B1BB2CF25130FC094130DC024 -:10390000E1100BC0F8018583C8010E94661A86E0A9 -:10391000F60111928A95E9F73ECF4D875E878D8536 -:103920009E850E94C71A882371F2EE2061F2809171 -:103930001602803208F4B8CF2091110230911202A1 -:103940003A8329831B82BD82AC828E83CE0101968D -:10395000A9CFE83CF10508F041C0FE2CEE2009F4A7 -:10396000B2CF25132AC0941328C08091160280FD7F -:103970001BC0982F907FC1F0F8018583903F31F0F4 -:10398000982F907F905F8F70892B8583C8010E944C -:10399000661A86E0F801A1E1B2E001900D928A95E5 -:1039A000E1F70E940B1BF7CE86E0F801A1E1B2E03F -:1039B00001900D928A95E1F7EECE4D875E878D8559 -:1039C0009E850E94C71A81116FCF80911602816077 -:1039D00080931602C8010E94661ADDCE7A2DB98A3C -:1039E000A88A6E2D89890E94CB1A86E0F601119271 -:1039F0008A95E9F7D6CFEE2009F465CF4D875E872B -:103A00008D859E850E94C71AF82E882309F45BCF06 -:103A100086E0F801A1E1B2E001900D928A95E1F70C -:103A200081E192E00E9428170E94191BBACF81E021 -:103A30008E25CBCE88EC90E008951F93CF93DF9333 -:103A4000CDB7DEB72C970FB6F894DEBF0FBECDBF53 -:103A50004F83588769877A878B879C87CE01079623 -:103A60000E946F1B882369F08A859B85892B39F01A -:103A70004F815885842F85238F3F09F071C016E050 -:103A80005FC086E0FE013796DE01119601900D922F -:103A90008A95E1F78A859B85892B89F38F819885A3 -:103AA00089238F3F61F32091E00130E0C901019645 -:103AB000877099274091DF014817190671F40E9419 -:103AC000A41A1092E0011092DF0186E0E1E1F2E039 -:103AD000DF011D928A95E9F7D2CF96E0929FD0013F -:103AE000939FB00D1124AF51BE4FFE01319601904E -:103AF0000D929A95E1F78093E0010E94EA1ABFCFF8 -:103B0000819FC00111248F519E4F0E946F1B8823FB -:103B1000E9F0E091DF011E9FF0011124EF51FE4F0B -:103B20004081518162817381848195810E94DA1A7A -:103B30008091DF0190E00196877099278093DF01E3 -:103B40008091DF019091E0018913DACF2C960FB6B6 -:103B5000F894DEBF0FBECDBFDF91CF911F910895C6 -:103B600069857A858B859C850E94DA1A88CFEF92C9 -:103B7000FF920F931F93CF93DF938C01892B81F0DA -:103B8000F12CEE24E394E8012196F8018491843726 -:103B900070F4843008F05FC08130B1F08230A1F160 -:103BA000DF91CF911F910F91FF90EF90089585378E -:103BB00009F44CC008F43DC09CE7980F903780F79B -:103BC0008F770E94BF1749C00E5F1F4FFE0184917F -:103BD00090E2980F983060F48770FE2D01C0FF0FBF -:103BE0008A95EAF78F2F0E9469200E94922002C0D6 -:103BF0000E942D178F2D815030F2EFE9FFE03197B1 -:103C0000F1F700C00000F7CF0E5F1F4FFE01849157 -:103C100090E2980F983050F48770FE2D01C0FF0F8E -:103C20008A95EAF78F2F0E946F20DFCF0E94BF177F -:103C3000E1CF0E5F1F4FFE01C491C150D8F28FE952 -:103C40009FE00197F1F700C00000F7CF0E5F1F4F14 -:103C5000FE01F490CFCF0E942D178E01CBCF089597 -:103C60000C942F1E0E94301E60934D0270934E02E2 -:103C700080934F02909350020C948E1A08950C94E6 -:103C8000321E0F931F9300914D0210914E0220910E -:103C90004F0230915002602B712B822B932B1F917E -:103CA0000F910C94321E0F931F9300914D021091AF -:103CB0004E0220914F0230915002602371238223E3 -:103CC00093231F910F910C94321E0F931F93009119 -:103CD0004D0210914E0220914F0230915002602708 -:103CE0007127822793271F910F910C94321E0C94F9 -:103CF00020060E94771E6093490270934A028093C7 -:103D00004B0290934C020C948E1A60E070E0CB0151 -:103D10000C94791E611571058105910529F481E0E6 -:103D2000442361F080E00895DC01CB0104C0B69526 -:103D3000A795979587954A95D2F781700895482F52 -:103D40006091490270914A0280914B0290914C021D -:103D50000C948A1E0F931F9341E050E060E070E0E6 -:103D60008A019B0104C0000F111F221F331F8A9577 -:103D7000D2F7C901B8011F910F910C94791E0F93CE -:103D80001F9341E050E060E070E004C0440F551F15 -:103D9000661F771F8A95D2F78091490290914A0257 -:103DA000A0914B02B0914C028A019B01082B192B68 -:103DB0002A2B3B2BC901B8011F910F910C94791E3E -:103DC0000F931F9341E050E060E070E004C0440FA7 -:103DD000551F661F771F8A95D2F7CB01BA016095F0 -:103DE0007095809590950091490210914A0220911A -:103DF0004B0230914C0260237123822393231F9145 -:103E00000F910C94791E0F931F9341E050E060E0F6 -:103E100070E004C0440F551F661F771F8A95D2F7C4 -:103E20008091490290914A02A0914B02B0914C02BC -:103E30008A019B01082719272A273B27C901B801B6 -:103E40001F910F910C94791E0F931F9300914902BB -:103E500010914A0220914B0230914C02602B712B41 -:103E6000822B932B1F910F910C94791E0F931F930C -:103E70000091490210914A0220914B0230914C026C -:103E800060237123822393231F910F910C94791E39 -:103E90000F931F930091490210914A0220914B0207 -:103EA00030914C0260277127822793271F910F9131 -:103EB0000C94791E08959295907F890F982F977092 -:103EC00041E001C0440F9A95EAF78695869586955C -:103ED00095E0899FF0011124E95EFD4F30E020E07C -:103EE00070E05191DF011197CB01022E02C096952F -:103EF00087950A94E2F78170819585278423852729 -:103F00008C932F5F3F4F2530310559F708959295D7 -:103F1000907F890F982F977086958695869525E0D6 -:103F2000829FF0011124E95EFD4F50E040E080E007 -:103F3000219130E0092E02C0369527950A94E2F7C8 -:103F400021703327042E01C0220F0A94EAF7822B36 -:103F50004F5F5F4F4530510559F70895BF92CF929B -:103F6000DF92EF92FF920F931F93CF93DF938C0119 -:103F7000C0904902D0904A02E0904B02F0904C026F -:103F800080914D0290914E02A0914F02B09150024B -:103F9000C82AD92AEA2AFB2ACFE1D0E0BC2ED701D1 -:103FA000C6010C2E04C0B695A795979587950A94DF -:103FB000D2F780FD0EC0219788F7B12C8B2DDF91B1 -:103FC000CF911F910F91FF90EF90DF90CF90BF9016 -:103FD0000895B8018C2F0E947607019761F3EECF08 -:103FE000CF93DF93EC010E94AE1FBE01DF91CF9112 -:103FF0000C9476071F93CF93DF93EB019091DE0132 -:10400000992331F0CB01DF91CF911F910C94F01FD8 -:10401000882379F0CB010E94AE1F182F682FCE01A4 -:104020000E945B1FBE01812FDF91CF911F910C94E5 -:104030007607CB010E94871F182FF4CF682F80913D -:104040001E0190911F010C948822682F80911E01FF -:1040500090911F010C94932280911E0190911F0159 -:104060000C949E22809151028595859585950895A1 -:10407000809151028770089590915102977081E06C -:1040800009F480E008958091750208959091750279 -:10409000892B8093750208958095909175029823DD -:1040A000909375020895109275020895809174029C -:1040B000089590917402892B8093740208958095DD -:1040C0009091740298239093740208951092740250 -:1040D000089590917302892B8093730208958095BF -:1040E0009091730298239093730208951092730233 -:1040F000089580915202089508950C947C20909127 -:104100005202981721F0809352020C947D2008955A -:1041100080915202882329F01092520280E00C9480 -:104120007D200895E0911E01F0911F01809175029C -:104130008083E0911E01F0911F01808190917402B3 -:10414000892B8083E0911E01F0911F018081909165 -:104150007302892B808390915202992381F0E09120 -:104160001E01F0911F018081892B808380911E01A7 -:1041700090911F010E94D22181110E94882080917C -:104180001E0190911F010C946F1508950C94C52089 -:1041900098E0899F90011124622B609351020E9444 -:1041A000BF1E809151028595859585950C94C620FA -:1041B0001092510280E00C94C6209091510280959B -:1041C000892380935102282F277071F4282F082EFD -:1041D000000C330B9217130639F08595859585955C -:1041E0000E94E01E0C94D82008959093BD01809306 -:1041F000BC010895829590E09C01220F331F220F8D -:10420000331F2C7C95958795959587958373282BDF -:1042100030E0C901880F991F8A7A35952795257551 -:10422000822B0895CF93DF93D92F0E94FA20C82FB5 -:104230008D2F0E94FA209C2FDF91CF9108956FEF70 -:104240007FEF90E080E00C94502F90E080E00E949F -:104250002C2F21E08C3E9E4F09F020E0822F089504 -:1042600082E090E00C941E2F83E090E00C941E2FCF -:10427000CF9384E090E00E941E2FC82F81E290E04F -:104280000E941E2F982F8C2FCF910895CF93C92F66 -:10429000682F84E090E00E94322F6C2F81E290E042 -:1042A000CF910C94322F86E090E00C941E2F682F53 -:1042B00086E090E00C94322FAB01BC018FE090E0DF -:1042C0000C94442FAB01BC0183E190E00C94442F8B -:1042D00060E070E0CB010C94622160E070E0CB0103 -:1042E0000E945C210C9468216CEE7EEF90E080E0EF -:1042F0000E94502F60E082E090E00E94322F60E048 -:1043000083E090E00E94322F10924D0210924E02F4 -:1043100010924F021092500260E084E090E00E9400 -:10432000322F60E081E290E00E94322F60E085E071 -:1043300090E00E94322F60E086E090E00E94322FF1 -:104340006FEF87E090E00E94322F40E050E0BA012A -:1043500088E090E00E94442F60E08DE090E00E94B1 -:10436000322F40E050E0BA0188E190E00E94442FF3 -:1043700060E087E190E00E94322F40E050E0BA0117 -:104380008CE190E00E94442F60E080E290E00E9487 -:10439000322F0C946D210C947421682F8EE090E0E4 -:1043A0000C94322FFC01329680913201882321F047 -:1043B0008091AC029EE187FF96E080E0915008F486 -:1043C000089521912223D1F38F5FF8CF662301F165 -:1043D000209132012223F1F02091AC0227FF1AC074 -:1043E000462F4695469546954E3190F4677021E0EC -:1043F00030E002C0220F331F6A95E2F7840F911D4F -:10440000FC01828190E02823392381E0232B69F489 -:1044100080E00895FC01329608962191261721F03C -:10442000E817F907D1F7F4CF81E008959C01FC016A -:1044300032969FEF80E04191461751F09F3F19F46B -:10444000411101C0982F8F5F8630A9F79F3F09F473 -:104450000895290F311D97FD3A95F901628308955A -:10446000FC01329608962191261303C0DF011197B3 -:104470001C92E817F907B9F70895E62FE695E69537 -:10448000E695EE3170F4E80FF92FF11D677021E029 -:1044900030E001C0220F6A95EAF78281822B828385 -:1044A00008958091760280FF0CC01F926F9385EC77 -:1044B00097E09F938F930E94F6050F900F900F90B7 -:1044C0000F900895E62FE695E695E695EE3178F49F -:1044D000E80FF92FF11D677021E030E001C0220FD5 -:1044E0006A95EAF720958281282322830895809196 -:1044F000760280FF0CC01F926F9387EA97E09F932C -:104500008F930E94F6050F900F900F900F900895D3 -:1045100020913201222329F02091AC0227FD0C9436 -:104520003D220C94162220913201222329F0209161 -:10453000AC0227FD0C9462220C943022FC013296CE -:1045400080913201882351F08091AC0287FF06C030 -:104550008EE1DF011D928A95E9F7089586E0F9CF93 -:10456000089508950C94B1220E94B22280910C0308 -:10457000843009F43AC01092770288E190E020E498 -:104580000FB6F894A895809360000FBE209360004A -:1045900080E00E943D1180E00E94D5068091780263 -:1045A00081110AC081E0809378028091C2028170FB -:1045B000809379020E94530D0E94B22283B7817FBB -:1045C000846083BF83B7816083BF7894889583B705 -:1045D0008E7F83BF0FB6F894A895809160008861A4 -:1045E00080936000109260000FBE08950895CF93ED -:1045F0000E94B0220E94230A0E94F622C0E08C2F63 -:104600000E946709892B31F4CF5FC530C1F780E084 -:10461000CF91089581E0FCCF08950C940C230E9463 -:10462000A41A0E94D30F0E9463150E94D50610920F -:1046300078028091790281110E943E0F0C940D2323 -:104640001F921FB61F9211248F939F93AF93BF9316 -:1046500080917702811113C080910403909105032A -:10466000A0910603B09107034196A11DB11D80934F -:10467000040390930503A0930603B0930703BF912F -:10468000AF919F918F911F901FBE1F90189582E050 -:1046900084BD93E095BD9AEF97BD80936E00089519 -:1046A0002FB7F8948091040390910503A09106031D -:1046B000B09107032FBF08959C014FB7F8948091E4 -:1046C000040390910503A0910603B09107034FBF27 -:1046D000821B930B089578941F921FB61F9211248A -:1046E0008F939F93AF93BF938091040390910503A1 -:1046F000A0910603B09107030196A11DB11D8093FF -:10470000040390930503A0930603B0930703BF919E -:10471000AF919F918F911F901FBE1F90189581E0C0 -:104720008093E00080E28093D8001092C9008FE16E -:104730009EE40197F1F700C0000087E090EBDC01F8 -:104740008093150390931603A0931703B093180357 -:1047500088E19CE00FB6F894A895809360000FBEA6 -:1047600090936000FFCF0C941F210E94230A8FE3D7 -:104770009CE90197F1F700C000000E94230A80E045 -:104780000E94670980FF04C00E94B3230C948F230A -:1047900008950E942521811102C00E94CB210E9410 -:1047A0003021809376020E9438219093AD0280934D -:1047B000AC020E943421682F70E090E080E00E94FB -:1047C0003F1E6091490270914A0280914B02909184 -:1047D0004C020C94771E8091800280FF12C0609181 -:1047E000250185E0689FB001112475956795759541 -:1047F000679560387105A8F561157105A1F1862FDF -:10480000089581FF09C06091250185E0689FB0018E -:10481000112475956795EDCF6091250182FD0AC041 -:1048200080917F028823D1F090912401609125012D -:10483000891728F085E0689FB0011124DACF869FA0 -:10484000B001112485E0869F9001879F300D1124CF -:10485000692F70E0C9010E94BF2ECBCF65E070E0E8 -:10486000CECF8FE7089581E008958091800280FF88 -:104870000CC06091210170E07595679575956795FD -:104880006115710549F1862F089581FF06C0609179 -:10489000210170E075956795F3CF6091210182FD4C -:1048A0000BC090917E029923A1F06091200180912C -:1048B0002101961738F0682F70E06038710500F319 -:1048C0008FE70895899FC001112470E00E94BF2ED8 -:1048D000F4CF61E070E0D7CF81E00895803F31F4FC -:1048E0000E94EB238195809384020895813F19F4FF -:1048F0000E94EB23F8CF823F31F40E94EB23819595 -:10490000809383020895833F19F40E94EB23F8CF2C -:10491000893F29F40E9435248093850208958A3FB7 -:1049200021F40E9435248195F7CF8B3F31F40E940A -:10493000352481958093860208958C3F19F40E9456 -:104940003524F8CF843F31F48091820281608093D6 -:1049500082020895853F21F4809182028260F7CF20 -:10496000863F21F4809182028460F1CF873F21F459 -:10497000809182028860EBCF883F21F4809182028F -:104980008061E5CF8D3F31F480918002816080931A -:10499000800208958E3F21F4809180028260F7CFDB -:1049A0008F3FB9F7809180028460F1CF90918302AC -:1049B000803F59F48091840287FF0DC010928402D9 -:1049C00091110BC010927F0208C0813F81F4809149 -:1049D000840218169CF3992381F0809185029091AE -:1049E0008602892B09F064C010927E020895823FEE -:1049F00049F497FFF0CF10928302809184028111D5 -:104A0000ECCFE0CF833F19F41916ACF3E4CF20913B -:104A10008502893F29F41216F4F610928502DBCF45 -:104A20008A3F19F427FFD7CFF8CF209186028B3F1A -:104A300029F427FFD0CF10928602CDCF8C3F19F4F6 -:104A40001216CCF3C8CF843F31F4809182028E7F5E -:104A500080938202C0CF853F21F4809182028D7FB6 -:104A6000F7CF863F21F4809182028B7FF1CF873F81 -:104A700021F480918202877FEBCF883F21F48091DF -:104A800082028F7EE5CF8D3F31F4809180028E7F50 -:104A900080938002A0CF8E3F21F4809180028D7F91 -:104AA000F7CF8F3F09F097CF809180028B7FF0CFB7 -:104AB00008958091760283FF7EC08AE098E00E948C -:104AC0005D05809182021F928F9385E098E09F930D -:104AD0008F930E94F60583E098E00E945D05809127 -:104AE0008302282F082E000C330B3F938F9380E016 -:104AF00098E09F938F930E94F6058EEF97E00E94B7 -:104B00005D0580918402282F082E000C330B3F9303 -:104B10008F938BEF97E09F938F930E94F60589EF19 -:104B200097E00E945D0580918502282F082E000CD9 -:104B3000330B3F938F9386EF97E09F938F930E9461 -:104B4000F60584EF97E00E945D0580918602282F8C -:104B5000082E000C330B3F938F9381EF97E09F93C8 -:104B60008F930E94F6058EEE97E00E945D0580917E -:104B70007F021F928F938BEE97E09F938F930E94FB -:104B8000F60589EE97E00E945D05809180021F92F4 -:104B90008F9386EE97E09F938F930E94F60583EEA6 -:104BA00097E00E945D058DB79EB74C960FB6F894BE -:104BB0009EBF0FBE8DBF0E9450239C019091830227 -:104BC00080918402982B21F030937D0220937C0207 -:104BD0009091850280918602982B21F030937B0280 -:104BE00020937A0281E892E00C94CA15EF92FF922A -:104BF0000F931F93CF93DF9300D000D000D0CDB799 -:104C0000DEB786E0E1E8F2E0DE01119601900D9258 -:104C10008A95E1F7E0908302F0908402009185028A -:104C200010918602109283021092840210928502E3 -:104C3000109286028E2D8F2991F080917C029091A6 -:104C40007D020E945C23AC0190917F02992309F4BC -:104C50003FC0809126018417150608F447C0802FB5 -:104C6000812B91F080917A0290917B020E945C23CB -:104C7000AC0190917E02992309F477C080912201C2 -:104C80008417150608F47FC08091830290918402F6 -:104C9000892B90918502892B90918602892B11F0A6 -:104CA0000E94592586E0FE013196A1E8B2E001900C -:104CB0000D928A95E1F726960FB6F894DEBF0FBEE7 -:104CC000CDBFDF91CF911F910F91FF90EF9008958D -:104CD000209127018AE0289F90011124241735078D -:104CE00008F0BDCF9F5F90937F0202C09F3FD1F736 -:104CF000EE2059F00E94EB239FEF1E140CF491E07C -:104D0000899F802D112480938302FF2059F00E94F7 -:104D1000EB239FEF1F140CF491E0899F802D112449 -:104D20008093840230918302332309F498CF209139 -:104D30008402222309F493CF45EB3403C0011124EC -:104D4000992359F09093830245EB24039001112499 -:104D5000332339F03093840282CF81E08093830241 -:104D6000F3CF81E0809384027ACF209123018AE0FF -:104D7000289F900111242417350708F085CF9F5FE5 -:104D800090937E0202C09F3FD1F7002359F00E940A -:104D900035249FEF10160CF491E0899F802D11248B -:104DA00080938502112359F00E9435249FEF11163C -:104DB0000CF491E0899F802D11248093860230911C -:104DC0008502332309F460CF20918602222309F45F -:104DD0005BCF45EB3403C0011124992359F0909324 -:104DE000850245EB240390011124332339F03093DD -:104DF00086024ACF81E080938502F3CF81E08093E1 -:104E0000860242CF86E0E1E8F2E0DF011D928A955A -:104E1000E9F710927F0210927E02109280020895AC -:104E20008091AA0208959FB7F894109289029FBFBB -:104E300090910C03943009F048C02091E9002F7044 -:104E40003091EC00932F917030FD90E8922B23E08D -:104E50002093E9002091EB0020FF34C02091EE0068 -:104E600027FF30C020918702222321F02091E80003 -:104E700025FF28C01092870226E03091E80035FF18 -:104E800014C08093F1008091E80085FD27C08091D7 -:104E9000E80080FFFCCF8091E8008E778093E800E7 -:104EA0009F709093E90080E0089530910C033430B6 -:104EB00049F43091EB0035FD05C0215041F481E00B -:104EC000809387029F709093E9008FEF0895EFE938 -:104ED000FFE03197F1F700C00000CFCF8FB7F89413 -:104EE00021E0209389028FBFDBCFCF93DF9300D0E7 -:104EF0000F92CDB7DEB790910C03943019F58983EA -:104F00007B836A8382E08093E9008FEF9091E800D1 -:104F1000815095FD06C095ED9A95F1F7000081113D -:104F2000F5CF8091E80085FF0DC050E040E063E0E0 -:104F300070E0CE0101960E94FF298091E8008E77F3 -:104F40008093E8000F900F900F90DF91CF9108951C -:104F5000BC0184E00C947527BC0183E00C94752798 -:104F60009C0182E08093E9009FEF8091E8009150DE -:104F700085FD06C085ED8A95F1F700009111F5CF0A -:104F80008091E80085FF0CC050E040E066E070E0F2 -:104F9000C9010E94FF298091E8008E778093E80084 -:104FA0000895CF93DF93EC01809132018823B1F112 -:104FB0008091AC0287FF32C060E282E08093E9001A -:104FC0008FEF9091E800815095FD06C095ED9A9580 -:104FD000F1F700008111F5CF8091E80085FF1BC03B -:104FE0008091320170E050E040E0811104C050E057 -:104FF00040E068E070E0CE010E94FF298091E80067 -:105000008E778093E80080E2FE01AAE8B2E001908A -:105010000D928A95E1F7DF91CF91089568E081E0E4 -:10502000CDCF82E598E00E945D0580910B03811150 -:1050300009C00E948F2B0E94EC2B8091E2008460BB -:105040008093E20008958EE498E00E945D0510923E -:105050000B0308958AE498E00C945D0586E498E0DB -:105060000C945D0582E498E00E945D050C940F238A -:10507000209188022F5F822F62E30E949F2E992346 -:1050800019F0209388020895109288028091890275 -:105090008823F1F080910C038430C1F49091E900F1 -:1050A0009F702091EC00822F817020FD80E8892B79 -:1050B00093E09093E9009091EB0090FF04C09091F1 -:1050C000EE0097FD08C08F708093E900109289026E -:1050D00008951092F1009091E80095FDFACF90911B -:1050E000E80090FFF0CF9091E8009E779093E80061 -:1050F000EACF42E061EC81E00E940B2B42E261ECDE -:1051000082E00E940B2B42E261EC83E00C940B2BBB -:1051100080910E03833009F45FC030F48130C1F117 -:10512000823009F49BC008958A3009F487C08B301F -:1051300009F46DC0893009F04EC080910D038132B1 -:1051400009F049C08091110390911203029708F071 -:1051500042C08091E800877F8093E8008091E8005A -:1051600082FF35C09091F3008091F200029729F4FC -:105170008091F1008B7F813021F48091F100809348 -:10518000AA028091E8008B778093E8000C943F2B73 -:1051900080910D03813AF9F48091E800877F809334 -:1051A000E8008091110390911203892B61F460E271 -:1051B0008AE892E070E00E944E2A8091E8008B77A6 -:1051C0008093E800089560E090E080E0F3CF809164 -:1051D0000C038111C3CF089580910D03813AD9F753 -:1051E0008091110390911203892BA9F78091E80017 -:1051F000877F8093E8008091E80080FFFCCF80915A -:1052000032018093F1008091E8008E77BDCF8091CC -:105210000D03813201F78091110390911203892BC4 -:10522000D1F68091E800877F8093E8000E943F2BB1 -:1052300080910F03809332010C94A41A80910D0386 -:10524000813249F68091E800877F8093E8000E94D0 -:105250003F2B809110038093AB02089580910D0342 -:10526000813A09F0B8CF8091E800877F8093E80009 -:105270008091E80080FFFCCF8091AB02C2CF84B761 -:10528000877F84BF0FB6F894A895809160008861ED -:1052900080936000109260000FBE80E890E00FB62F -:1052A000F89480936100909361000FBE0E941116E4 -:1052B0000E948F2B0E94EC2B8091E20084608093EF -:1052C000E20083E197E20E94F52078940E94742E18 -:1052D0000E941B1688E291E00E945E1581E398E02F -:1052E0000E945D0580910C03853019F00E944F16D5 -:1052F000F9CF8DE298E00E945D050E94B422809172 -:105300000A03882379F30E94F722882359F30E9425 -:10531000E929E8CF0C948C29292F33272330310534 -:1053200021F168F42130310509F449C022303105FA -:1053300009F44AC090E080E030E020E029C021324A -:10534000310581F122323105A9F76330710590F7FB -:10535000FB01EE0FFF1FE155FE4F208131816455A7 -:105360007E4FFB01808190E013C099278130910529 -:1053700099F0009741F08230910589F00397D1F6BA -:10538000E6E5F8E002C0E0E8F8E0849190E09F01F3 -:10539000FA01318320830895EEE6F8E0F6CFECE5DC -:1053A000F8E0F3CF6330710528F6660F771FFB0135 -:1053B000EB54FE4F2081318189E090E0E9CF82E11A -:1053C00090E02FED38E0E4CF8BE590E024E838E082 -:1053D000DFCF80E189BD82E189BD09B400FEFDCF48 -:1053E0008091D8008F7D8093D8008091E00082600A -:1053F0008093E0008091E00081FDFCCF0895AF92A2 -:10540000BF92CF92DF92FF920F931F93CF93DF93C0 -:105410006C01EB018A010E945E2BF82E811123C0E2 -:105420000115110539F0F80180819181C81BD90B54 -:10543000C80ED91EB12CA12C2097A9F08091E800AC -:1054400085FD22C08091E8008E778093E8000115E9 -:105450001105A1F0F80180819181A80EB91EB182D9 -:10546000A08285E0F82E8F2DDF91CF911F910F91B3 -:10547000FF90DF90CF90BF90AF9008950E945E2B79 -:105480008823D1F2F82EEFCFF60181916F0180933E -:10549000F1002197FFEFAF1ABF0ACECFFC01809138 -:1054A00013039091140386179707A0F061157105F7 -:1054B00029F49091E8009E779093E80090E06115C0 -:1054C000710551F4911108C08091E80082FF34C049 -:1054D00080E00895BC01F2CF80910C038823C1F1D4 -:1054E0008530C1F18091E80083FD30C08091E800F3 -:1054F00082FDEACF8091E80080FFE1CF8091F30048 -:105500002091F200382F6115710519F0283031050E -:1055100058F091E02830310509F090E02091E80042 -:105520002E772093E800CBCF81918093F1006150DA -:1055300071092F5F3F4FE7CF80910C03882341F023 -:10554000853041F08091E80083FFBECF81E008956F -:1055500082E0089583E00895FC0180911303909107 -:10556000140386179707A0F06115710529F480913F -:10557000E8008E778093E80090E06115710551F4A2 -:10558000911108C08091E80082FF35C080E0089545 -:10559000BC01F2CF80910C038823C9F18530C9F199 -:1055A0008091E80083FD31C08091E80082FDEACF60 -:1055B0008091E80080FFE1CF8091F3002091F2001C -:1055C000382F6115710519F02830310558F091E038 -:1055D0002830310509F090E08091E8008E778093C3 -:1055E000E800CBCF84918093F1003196615071092E -:1055F0002F5F3F4FE6CF80910C03882341F0853029 -:1056000041F08091E80083FFBDCF81E0089582E002 -:10561000089583E00895982F973028F08F70809335 -:10562000E90081E008959093E900242F762F50E05F -:10563000981731F07091EC002091ED005091F0003E -:1056400021FD02C09F5FE8CF3091EB003E7F309399 -:10565000EB003091ED003D7F3093ED003091EB0099 -:1056600031603093EB007093EC002093ED00509389 -:10567000F0002091EE0027FDE5CF80E008958091B5 -:105680000D0387FF13C08091E80082FF06C0809160 -:10569000E8008B778093E80004C080910C038111AF -:1056A000F2CF089580910C038823D9F38091E8000C -:1056B00080FFF8CF8091E8008E77ECCF2091E40056 -:1056C0003091E50095E6A9012091EC00822F8170D0 -:1056D00020FF06C08091E80080FF06C080E00895AA -:1056E0002091E80022FD1AC080910C03882389F0E4 -:1056F000853089F08091EB0085FD0FC02091E4009A -:105700003091E50042175307F9F29150E1F684E039 -:10571000089582E0089583E0089581E008950E944D -:10572000FD2B0E94052CE0EEF0E0808181608083FB -:10573000E8EDF0E080818F77808319BCA7EDB0E0C1 -:105740008C918E7F8C9380818F7E808310920B034F -:1057500008950F931F93CF93DF930E94FD2B0E9418 -:10576000052CC8EDD0E088818F7788838881806898 -:10577000888388818F7D888319BC10920C031092D6 -:10578000080310920A031092090300EE10E0F801DA -:1057900080818B7F808388818160888342E060E0A4 -:1057A00080E00E940B2BE1EEF0E080818E7F808311 -:1057B000E2EEF0E080818160808380818860808378 -:1057C000F80180818E7F8083888180618883DF916A -:1057D000CF911F910F910895E8EDF0E080818F7EC9 -:1057E0008083E7EDF0E080818160808384E082BF88 -:1057F00081E080930B030C94A92BE8EDF0E080810D -:105800008E7F80831092E20008951092DA00109249 -:10581000E10008951F920F920FB60F9211242F935B -:105820003F934F935F936F937F938F939F93AF9328 -:10583000BF93EF93FF938091E10082FF0BC08091B3 -:10584000E20082FF07C08091E1008B7F8093E1003E -:105850000E9438288091DA0080FF19C08091D8001A -:1058600080FF15C08091DA008E7F8093DA008091EE -:10587000D90080FF96C080E189BD82E189BD09B46D -:1058800000FEFDCF81E080930C030E9411288091DF -:10589000E10080FF19C08091E20080FF15C0809177 -:1058A000E2008E7F8093E2008091E200806180932D -:1058B000E2008091D80080628093D80019BC85E016 -:1058C00080930C030E942E288091E10084FF2BC05E -:1058D0008091E20084FF27C080E189BD82E189BD1B -:1058E00089B5982F917080FFFBCF8091D8008F7D74 -:1058F0008093D8008091E1008F7E8093E1008091B9 -:10590000E2008F7E8093E2008091E20081608093CC -:10591000E20080910803882309F449C084E0809361 -:105920000C030E9432288091E10083FF29C08091FE -:10593000E20083FF25C08091E100877F8093E10032 -:1059400082E080930C03109208038091E1008E7F27 -:105950008093E1008091E2008E7F8093E20080914D -:10596000E20080618093E20042E060E080E00E941B -:105970000B2B8091F00088608093F0000E942A2811 -:10598000FF91EF91BF91AF919F918F917F916F9117 -:105990005F914F913F912F910F900FBE0F901F90ED -:1059A000189519BC10920C030E94232870CF809187 -:1059B000E30087FD93E090930C03B3CF1F920F9207 -:1059C0000FB60F9211242F933F934F935F936F93D2 -:1059D0007F938F939F93AF93BF93CF93DF93EF9377 -:1059E000FF93D091E900DF708091EC00C82FC17067 -:1059F00080FDC0E81092E9008091F000877F8093DD -:105A0000F00078940E94222D1092E9008091F0001D -:105A100088608093F000CD2BCF70C093E900FF9198 -:105A2000EF91DF91CF91BF91AF919F918F917F9136 -:105A30006F915F914F913F912F910F900FBE0F90FB -:105A40001F9018951F93CF93DF93CDB7DEB7AA971A -:105A50000FB6F894DEBF0FBECDBF8DE093E020916E -:105A6000F100FC012193CF01F3E085319F07B9F7E5 -:105A70000E9488288091E80083FF1EC180910D0359 -:105A800090910E039A3008F017C1E92FF0E0E65626 -:105A9000F04D0C94F52E803899F0823809F00CC145 -:105AA000809111038F70873008F006C18093E90060 -:105AB0008091EB0085FB882780F91092E90006C0F1 -:105AC0008091090390910A03911182609091E800FE -:105AD000977F9093E8008093F1001092F1008091FD -:105AE000E8008E77E5C0882309F4D3C0823009F03E -:105AF000E3C080910F038111D6C0809111038F7094 -:105B00002FEF280F263008F0D7C08093E9002091AE -:105B1000EB0020FFC8C0933031F48091EB0080622D -:105B20008093EB00C0C09091EB0090619093EB00EC -:105B300021E030E001C0220F8A95EAF72093EA00C5 -:105B40001092EA008091EB008860EACF8111B4C026 -:105B500010910F031F778091E3008078812B809351 -:105B6000E3008091E800877F8093E8000E943F2B4C -:105B70008091E80080FFFCCF8091E30080688093F3 -:105B8000E30082E0111183E080930C0395C08058FC -:105B9000823008F091C080910F03909110038C3DEA -:105BA00023E09207A1F583E08A838AE289834FB7D5 -:105BB000F894DE01139620E03EE051E2E32FF0E09E -:105BC00050935700E49120FF03C0E295EF703F5FD0 -:105BD000EF708E2F90E0EA30C0F0C7968D939D93C2 -:105BE0002F5F243159F74FBF8091E800877F809362 -:105BF000E8006AE270E0CE0101960E944E2A809190 -:105C0000E8008B778093E80057C0C096E7CF60919B -:105C1000110370911203AE014F5F5F4F0E948A29FA -:105C2000BC01892B09F448C09091E800977F9093BC -:105C3000E80089819A810E94AC2AE1CF8038E1F5A1 -:105C40008091E800877F8093E8008091080380932B -:105C5000F10045CF811130C090910F03923060F573 -:105C60008091E800877F8093E800909308030E946A -:105C70003F2B80910803882311F084E005C08091B8 -:105C8000E30087FDFACF81E080930C030E9479281E -:105C900013C080910F03813079F481E0933009F0D3 -:105CA00080E080930A031092E9008091E800877FEA -:105CB0008093E8000E943F2B8091E80083FF0AC098 -:105CC0008091E800877F8093E8008091EB008062FC -:105CD0008093EB00AA960FB6F894DEBF0FBECDBF3F -:105CE000DF91CF911F910895CF9380910C0388236A -:105CF000A1F0C091E900CF709091EC00892F8170E4 -:105D000090FD80E8C82B1092E9008091E80083FDA7 -:105D10000E94222DCF70C093E900CF910895DB013E -:105D20008F939F930E940A2FBF91AF91A29F800DE6 -:105D3000911DA39F900DB29F900D11240895991B62 -:105D400079E004C0991F961708F0961B881F7A9572 -:105D5000C9F780950895AA1BBB1B51E107C0AA1F74 -:105D6000BB1FA617B70710F0A61BB70B881F991FFC -:105D70005A95A9F780959095BC01CD01089597FBA0 -:105D8000072E16F4009407D077FD09D00E94AB2EA1 -:105D900007FC05D03EF4909581959F4F089570952E -:105DA00061957F4F0895A1E21A2EAA1BBB1BFD012E -:105DB0000DC0AA1FBB1FEE1FFF1FA217B307E407EA -:105DC000F50720F0A21BB30BE40BF50B661F771F42 -:105DD000881F991F1A9469F7609570958095909522 -:105DE0009B01AC01BD01CF010895EE0FFF1F05908F -:105DF000F491E02D0994A29FB001B39FC001A39F2D -:105E0000700D811D1124911DB29F700D811D1124F3 -:105E1000911D08950E94FB2EA59F900DB49F900D9B -:105E2000A49F800D911D11240895FB01DC0102C087 -:105E300005900D9241505040D8F70895F999FECF42 -:105E400092BD81BDF89A992780B50895A6E1B0E08A -:105E500044E050E00C94582FA8E1B0E042E050E05C -:105E60000C94582F262FF999FECF92BD81BDF89A38 -:105E7000019700B4021639F01FBA20BD0FB6F8948E -:105E8000FA9AF99A0FBE08950396272F0E94332F8E -:105E90000E94322F252F0E94332F242F0C94332F52 -:105EA0000196272F0E94332F0C94322FDC01CB0157 -:105EB000FC01F999FECF06C0F2BDE1BDF89A31961A -:105EC00000B40D9241505040B8F70895F894FFCFB8 -:105ED000910F990FA00FA50FAA0FAF0FB40FB90F15 -:105EE000BE0FC30FC80FCD0F930F930F930F930FD8 -:105EF000930F930F930F930F6D186D18C518C51856 -:105F0000171933199A189A183E19CA19D919D91993 -:105F1000351A9A189A183E1AB31AB31ABC1ABC1A30 -:105F2000BE1ABC1ABC1ABC1AB31AB31AC31ABC1ACA -:105F3000BC1AC31A4B2D732D5C2E732D5C2EA62D0F -:085F4000C72D5C2E1E2E2A2E37 -:105F48000100000057060F060000000000000000D6 -:105F580000000000000000000014001414FF5302A9 -:105F6800140A32110F0514111027D127B027AC27B6 -:105F7800A82701E200E900EA00B500B600B700CDA5 -:105F8800008301CC008A019201940121022302249A -:105F9800022502260227022A02B300B4006F00700D -:105FA80000818283303132339192939697343666EA -:105FB80067F7F6F53790F0F1F40001E200E900EA3E -:105FC80000B500B600B700CD008301CC008A01926D -:105FD8000194012102230224022502260227022A13 -:105FE80002B300B4006F00700081828340BC22CFEE -:0C5FF800091309F1089608AF08C808005A +:100C20000101823019F481E00E94951F10920101A8 +:100C300008958091BE018F5F833018F48093BE01C8 +:100C400008951092BE0108958CEA90E09093C3013C +:100C50008093C2010895CF92DF92EF92FF926B01D1 +:100C60007C0140E00E943F1F682F80E00E9400103E +:100C700041E0C701B6010E943F1F682F81E00E943A +:100C8000001042E0C701B6010E943F1F682F82E0BA +:100C90000E940010C701B601FF90EF90DF90CF9047 +:100CA000089508950895CF9388322DE5920729F08D +:100CB00089329D4571F1C1E00DC0FB01C281809177 +:100CC000BE01CC23A9F0813069F0882331F0823055 +:100CD00061F0C0E08C2FCF9108958DEF90E00E94DD +:100CE000EF06F7CF8EEF90E0FACF8FEF90E0F7CFDF +:100CF000813061F0882329F0823061F78FEF90E036 +:100D000002C08DEF90E00E940407E4CF8EEF90E0E8 +:100D1000FACFFB01C281C111DDCF0E941906CBCFF2 +:100D2000FC018081813029F49285992339F082E099 +:100D30000895823011F088E0089583E008950E94BC +:100D4000900680930101882391F0833018F083305E +:100D500021F0089581E00C94741F82E00E94541FDA +:100D6000882319F082E00C94951F82E0F4CF089557 +:100D7000CF93DF939C013A9521153F4168F5EC0133 +:100D8000CC27D170DC01AA27B270AC014427547083 +:100D90009C012227387094FF11C080E1CD2B09F40B +:100DA00080E0AB2B09F08062452B09F08064232B97 +:100DB00009F08068FB01DF91CF91099481E0CD2B90 +:100DC00009F480E0AB2B09F08260452B09F08460C8 +:100DD000232B81F38860EECFDF91CF910895CF93DD +:100DE000DF93EC01805E9109089720F065E37BE1D9 +:100DF000209711F46FEC78E1CE010E94B8068C2F99 +:100E0000DF91CF910C94D417CF93DF93EC010E9424 +:100E10006618CE01805E9109089720F06CE37BE1B3 +:100E2000209711F466ED78E1CE01DF91CF910C941B +:100E3000B80681E008950C94530608950C941D079C +:100E40001F93CF93DF9300D000D00F92CDB7DEB7C2 +:100E500049835A836B833091DF0189819A813111F3 +:100E60001DC06623B9F02223A9F00E946320182F29 +:100E7000682F89819A810E94102069817A81812F4F +:100E80000F900F900F900F900F90DF91CF911F91C7 +:100E90000C9400080E943C20182FEFCF0E94632082 +:100EA00069817A81EDCFFC01262F408151816281D9 +:100EB000738184810C942007CF93DF93EC0160E071 +:100EC0000E945307BE01DF91CF910C941E070E9430 +:100ED0006A240E94DA21811102C00E9480220E94AD +:100EE00043120C94FF050E94AE150C940C0A089551 +:100EF0000C94770781E00895CF93C82F0E9478075C +:100F00008C2FCF910C94020608950E94591B0E94C9 +:100F100084072FEF84E39CE0215080409040E1F76C +:100F200000C000000C9444240F931F93CF93DF93D1 +:100F3000EC0161E00E9453078C01BE010E940E1576 +:100F4000BE01C8010E941B078823A1F1BE01C80190 +:100F50000E94AF11882371F1BE01C8010E9454158F +:100F6000882341F1BE01C8010E940A13882311F1B0 +:100F7000BE01C8010E945C138823E1F0BE01C801D4 +:100F80000E947F148823B1F0BE01C8010E94221084 +:100F9000882381F08A81882341F101308CE518078C +:100FA00079F00E3D8CE51807E9F001151C45E9F4D0 +:100FB0000E94850780E0DF91CF911F910F910895E6 +:100FC00090917702892F8E7F90FF816080937702C6 +:100FD00080FF05C084EC92E00E945D05EBCF82EBC0 +:100FE00092E0FACF0E948022E5CFCE01DF91CF912F +:100FF0001F910F910C94190790E080E008950895D7 +:10100000E72FF0E095E0899FE00DF11D112484E0C9 +:10101000EE0FFF1F8A95E1F7E60FF11DEE0FFF1FA0 +:10102000EE52FF4F859194910895FC01EE0FFF1F42 +:10103000EB52FD4F859194910895CF93DF930E94D9 +:1010400000080E943209EC01811520E5920708F0A2 +:1010500042C0811530E4930708F0BDC0883E910579 +:1010600028F5803E910508F09DC0883A910588F4E6 +:10107000853A910508F08FC08130910509F492C03E +:10108000009709F48FC0049708F08CC0D0E0C0E04E +:1010900089C08F3B910508F489C0805C9109C03CF0 +:1010A000D105A0F30E941508EC017CC08115904287 +:1010B00050F4C11581E0D80708F074C0C03FD105D5 +:1010C00028F3D0656FC0C11590E3D90708F079C047 +:1010D000CE019F70E7CF811525E5920758F5811560 +:1010E00034E5930708F0A6C0811542E5940750F453 +:1010F000C11581E5D80708F471C0DC2FCC27C16F7A +:10110000D06A50C0982F969596959E0123703327EC +:10111000C115D34508F07FC0C1E0D0E002C0CC0FBC +:10112000DD1F2A95E2F720E2929FC0011124C82B0F +:10113000D92B6FC0C11589E5D807A8F4C11598E56A +:10114000D90708F07CC0C11526E5D20708F09ECF6C +:101150008C2F0E94C909C82FD0E0DC2FCC27CC27C8 +:10116000DF71D0621FC0C1153AE5D30708F46CC027 +:10117000CE0190568115904208F088CF8D2F8F7147 +:101180000E94C90990E0982F882788279F719C01A9 +:101190002C2BE901E6CFC55AD0E0CF59DE4FC881EC +:1011A000D0E0D064CE01DF91CF910895C85AD0E04D +:1011B000CC0FDD1FCD5CDE4F0990D881C02DD464EB +:1011C000F1CFCE019927D3FF03C0EC01D86CEACF51 +:1011D000EC01D06CE7CFDF70D06AE4CFCE01E4E061 +:1011E00096958795EA95E1F783702C2F269526959D +:1011F000237090E2299F90011124382B8C2F83704B +:10120000C1E0D0E002C0CC0FDD1F8A95E2F7C22B0F +:10121000D32BDC68C7CFC1E0D0E002C0CC0FDD1F0C +:101220002A95E2F730E2939FC0011124C82BD92BF5 +:10123000DA68B8CFD82FCC27C46FD06AB3CFDC2FF1 +:10124000CC27C06FD06AAECF8C2F8F700E94C90997 +:1012500034E0D695C7953A95E1F7CF709C2FEC0115 +:10126000D069A0CF82389105B1F1B0F481339105F6 +:1012700009F475C048F48932910509F469C08A32CD +:10128000910509F473C008958533910509F459C097 +:101290008933910501F10895833E9105A9F138F450 +:1012A000803E9105F9F0823E910549F10895863E10 +:1012B0009105A9F1873E9105C9F1843E910519F583 +:1012C0002091AE0221FF1FC08091AD0284FD14C0A9 +:1012D00087EE90E008952091AD022370A1F080EE9A +:1012E00090E008952091AD0220FD47C03091AE02FC +:1012F00030FF09C024FF44C090E080E004C020918A +:10130000AD0222FDF7CF08952091AD0222FD3BC032 +:101310003091AE0230FDE3CF24FFF5CFEDCF209129 +:10132000AD0223FFF0CF24FDE7CFD2CF2091AD0255 +:1013300023FD2CC03091AE0231FFEECF84EE90E061 +:1013400008952091AD0225FFDECF89E290E0089557 +:101350002091AD0225FFD7CF85E390E0089520913D +:10136000AD0226FFD0CF8AE290E008952091AD0231 +:1013700026FFC9CF81E390E0089589E390E00895C6 +:1013800083EE90E0089582EE90E0089586EE90E07E +:1013900008959091AD0292FF06C0282F2871283041 +:1013A000F9F4877F846093FF06C0282F28712831C5 +:1013B000F1F4877E84612091AE0220FF06C0382FB1 +:1013C00038713830D9F4877F816021FF06C0282F1B +:1013D00028712831D1F4877E816194FD877E08953C +:1013E000282F24712430F9F68B7F8860DCCF282FDA +:1013F0002471243101F78B7E8861DDCF382F317164 +:10140000313019F78E7F8860E0CF282F217121318C +:1014100021F78E7E8861E1CF0C945206E82FF0E030 +:10142000EE0FFF1FE754FD4F808191810895CF9209 +:10143000DF92EF92FF920F931F93CF93DF9385EE8E +:1014400092E00E945D0589EBE82E82E0F82ED0E064 +:10145000C0E090EEC92E92E0D92E07ED12E0DF93A6 +:10146000CF93DF92CF920E94F6058DED92E00E941D +:101470005D05F701819191917F010E94C7219F93A2 +:101480008F931F930F930E94F60585ED92E00E94C3 +:101490005D0521968DB79EB708960FB6F8949EBF4E +:1014A0000FBE8DBFC530D105D1F6DF91CF911F9111 +:1014B0000F91FF90EF90DF90CF90089580EA8A958A +:1014C000F1F70895CF93DF93A4E7B1E049E751E046 +:1014D000C1E0D0E08D91E82FE295EF70F0E061A1DE +:1014E0008F709E0101C0220F8A95EAF7922F909586 +:1014F000962391A382A1822B82A34A175B0751F7FF +:10150000A4E6B1E061E070E08D91E82FE295EF7024 +:10151000F0E041A18F709B0101C0220F8A95EAF78C +:10152000922F9095942391A382A1822B82A381E094 +:10153000A437B80749F71092B0021092AF02109288 +:10154000BA021092B9021092B2021092B102109235 +:10155000BC021092BB021092B4021092B30210921D +:10156000BE021092BD021092B6021092B502109205 +:10157000C0021092BF021092B8021092B7021092ED +:10158000C2021092C10285E00E94510BDF91CF91FF +:101590000C9467078F929F92AF92BF92CF92DF9287 +:1015A000EF92FF920F931F93CF93DF9384E7E82E80 +:1015B00081E0F82E0FEA12E0912CAA24A394B12C1A +:1015C000F70181917F01C82FC295CF70D0E099A11A +:1015D0008F70650101C0CC0C8A95EAF7892F8C29A0 +:1015E00089A38AA18C2C809488218AA30E945E0AF8 +:1015F000E4E6F1E050E040E030E020E06191A62F29 +:10160000A295AF70B0E090968C9190E06F7002C0A0 +:10161000959587956A95E2F780FD3EC0C501042E39 +:1016200002C0880F991F0A94E2F7282B392B4F5FCD +:101630005F4F4031510511F789A1882289A28AA103 +:10164000C82ACAA2F801808191812817390739F187 +:101650003183208381E0982A0E5F1F4FF9E7EF1650 +:10166000F1E0FF0609F0ACCF292D45E069EB72E00F +:101670008FEA92E00E94520B0E947307892DDF913E +:10168000CF911F910F91FF90EF90DF90CF90BF907F +:10169000AF909F908F90089590E080E0C6CF80E05B +:1016A000DACF0895FF920F931F93CF93DF93F82E15 +:1016B000092F162FD72FC42F222349F081E08093C2 +:1016C000C1010E9405249093C0018093BF018091C5 +:1016D000C1018823A1F08091BF019091C0010E94B7 +:1016E0001124069760F0EF2DF02FA12FBD2F90E071 +:1016F00080E0D0E08C179D0744F01092C101DF918B +:10170000CF911F910F91FF900895219131912D93C9 +:101710003D930196EFCFEF92FF920F931F93CF93DC +:10172000DF93EB01E82FD11110C0442321F0F0E04A +:10173000ED58F94FE4916E2F7E2F8E2FDF91CF91D0 +:101740001F910F91FF90EF9008950D2F10E0282F1B +:1017500030E0442329F02D58394FF901249130E02D +:10176000F6E0CF9FC0011124EFEFF0E0BF010E942F +:10177000522FAB018C2F90E0880F991FA5E5A49FF5 +:10178000B001A59F700D1124861B970B982F990F00 +:10179000980FBF01601B710B629FD001639FB00D5A +:1017A000729FB00D11248B2F9D9FB0011124672FC4 +:1017B0007727EF01C61BD70BBE01629FE001639F35 +:1017C000D00D729FD00D11247F01E91AF108E09E1F +:1017D000B001E19E700DF09E700D1124672F7727E8 +:1017E000E61BF70BE29F8001E39F100DF29F100DA7 +:1017F0001124E12F722F4230510599F048F4411520 +:10180000510569F04130510581F0EB2F8D2F07C054 +:101810004430510569F080F046305105B1F76E2F24 +:101820008DCFE22F7B2F812FFACFE22F7D2FF7CFA5 +:10183000EB2F822F712FF3CF7B2F822FED2FEFCF46 +:1018400041E00C948B0BCF93DF93762FE901682F47 +:10185000842F0E94200C798368838A83DF91CF9143 +:101860000895413F08F040EF0C94230C8091C3028F +:10187000982F9E7F71F48091C30281708260809363 +:10188000C3028091C602813F18F080EF8093C602A8 +:101890000895843080F7F5CF88E090E00C94CD2F48 +:1018A000CF92DF92EF92FF926B017C010E94360C87 +:1018B000B701A60188E090E0FF90EF90DF90CF9015 +:1018C0000C94EB2FE3ECF2E083E0808311828FEF46 +:1018D000828380EF8383148260817181828193810E +:1018E0000C94500C8091770280FF76C08BED95E0D0 +:1018F0009F938F930E94F605809177020F900F902F +:1019000080FF6AC08091C30281701F928F938EEB1B +:1019100095E09F938F930E94F605809177020F9038 +:101920000F900F900F9080FF57C08091C302869553 +:101930001F928F9383EA95E09F938F930E94F60501 +:10194000809177020F900F900F900F9080FF44C00E +:101950008091C4021F928F9389E895E09F938F93A3 +:101960000E94F605809177020F900F900F900F90D4 +:1019700080FF32C08091C5021F928F938FE695E061 +:101980009F938F930E94F605809177020F900F909E +:101990000F900F9080FF20C08091C6021F928F93FE +:1019A00085E595E09F938F930E94F60580917702DD +:1019B0000F900F900F900F9080FF0EC08091C70284 +:1019C0001F928F9389E395E09F938F930E94F60572 +:1019D0000F900F900F900F9008959091C702933041 +:1019E00018F49F5F9093C702882351F06091C3025F +:1019F0007091C4028091C5029091C6020C94500C63 +:101A0000089581E00C94ED0C9091C702992319F090 +:101A100091509093C702882351F06091C302709156 +:101A2000C4028091C5029091C6020C94500C089596 +:101A300081E00C94040D21E030E001C0220F8A9572 +:101A4000EAF79091C701922381E009F480E00895BC +:101A500070E00C9453126F927F928F929F92AF928C +:101A6000BF92CF92DF92EF92FF920F931F93CF938B +:101A7000DF9300D000D00F92CDB7DEB77090190180 +:101A80009091C30290FF26C0C090C201D090C301C4 +:101A9000C114D10489F58091180133E0839FC001FE +:101AA0001124672D88539D4F0E94280D0F900F9091 +:101AB0000F900F900F90DF91CF911F910F91FF909A +:101AC000EF90DF90CF90BF90AF909F908F907F90DE +:101AD0006F90089580911A0120911B0133E0839F3C +:101AE000F0011124E853FD4F821770F61182108225 +:101AF00012828F5F3396F8CF90FFCDCFF12CE12C7F +:101B000043E0642E8E2D0E941B0D882309F43CC0F7 +:101B1000F701EE0FFF1FEC0DFD1DA590B490A11471 +:101B2000B10409F4B8CF45E050E0B501CE0101960B +:101B30000E94BC2F09810F3F39F18A81800F9927BC +:101B4000991F8531910514F084E190E04C01880CD7 +:101B5000991C880D991D9C0128533D4F4901069DF4 +:101B60008001112408531D4F0815190520F035E098 +:101B7000A30EB11CD8CF98014D816C818B810E943E +:101B8000310C0D5F1F4FF0CF8FEFE81AF80A28E0F5 +:101B9000E216F10409F0B6CF7ECF8091C3028E7FAA +:101BA0008093C3026091C3027091C4028091C50208 +:101BB0009091C6020E94500C8091770280FF0FC066 +:101BC0008091C30281701F928F9382E893E09F936C +:101BD0008F930E94F6050F900F900F900F902FEFAC +:101BE00080E792E0215080409040E1F700C0000083 +:101BF0000C942B0D8091C3028E7F8093C302809141 +:101C0000770280FF0CC01F921F9288E493E09F939D +:101C10008F930E94F6050F900F900F900F902FEF6B +:101C200080E792E0215080409040E1F700C0000042 +:101C30000C942B0D9091C30290FF14C090911A0147 +:101C400020911B0133E0939FF0011124E853FD4FD5 +:101C5000921710F00C942B0D8183608342839F5F59 +:101C60003396F6CF0895EF92FF920F931F93CF9381 +:101C7000DF9300D00F92CDB7DEB7182F062FF42ECA +:101C8000E22E8091C30280FF43C0E82FE695F0E08A +:101C9000E758FE4F90819093C5018E7F823059F4B2 +:101CA0009E012F5F3F4F812F0E94310C4B81698134 +:101CB0008A810E941A0E1093C4020093C502F0920A +:101CC000C602EE2079F16091C3027091C402809146 +:101CD000C5029091C6020E94500C8091770280FF4D +:101CE00017C08091C6021F928F938091C5021F92E8 +:101CF0008F938091C4021F928F9383E293E09F930E +:101D00008F930E94F6050FB6F894DEBF0FBECDBFCD +:101D10000F900F900F90DF91CF911F910F91FF9037 +:101D2000EF9008958091770280FFF2CF1F92FF928B +:101D30001F920F931F921F938CEF92E0E0CFE3EC82 +:101D4000F2E09181282F4381628188E0890F0C9411 +:101D5000330E81E00C949F0EE3ECF2E09181282F8A +:101D60004381628188EF890F0C94330E81E00C94DB +:101D7000AC0EE3ECF2E0628128E0620F08F46FEF52 +:101D8000282F438181810C94330E81E00C94B90E8D +:101D9000E3ECF2E0628128E0621B08F460E0282FA7 +:101DA000438181810C94330E81E00C94C80EE3ECE6 +:101DB000F2E0438128E0420F08F44FEF282F6281C0 +:101DC00081810C94330E81E00C94D70EE3ECF2E0A9 +:101DD000438128E0421B08F440E0282F6281818182 +:101DE0000C94330E81E00C94E60E20E00C94330E3C +:101DF0008091C30280FF35C0817082608093C302EE +:101E0000662329F16091C3027091C4028091C502DA +:101E10009091C6020E94500C8091770280FF0FC003 +:101E20008091C30286951F928F938FE794E09F93D2 +:101E30008F930E94F6050F900F900F900F90409196 +:101E4000C6026091C5028091C4020C94F50E809187 +:101E5000770280FFF4CF1F9281E08F9381E694E0B8 +:101E6000E6CF0895682F81E00C94F80E81E00C9481 +:101E7000320F682F9091C30296958FEF890F09F466 +:101E800081E00C94F80E81E00C94390F61E00C9421 +:101E9000F80E8091C30281608093C3028091770223 +:101EA00080FF0DC01F9281E08F9383EF93E09F939B +:101EB0008F930E94F6050F900F900F900F908091D6 +:101EC000C30286950C94460F8091770280FF10C064 +:101ED0008091C302809581701F928F938AE294E073 +:101EE0009F938F930E94F6050F900F900F900F9085 +:101EF0008091C30280FD0C94CD0D0C94490F60E0DD +:101F00000C94F80E8091C40181115EC0809177021B +:101F100080FF14C082E295E09F938F930E94F605A4 +:101F2000809177020F900F9080FF08C08CE095E0C1 +:101F30009F938F930E94F6050F900F900E94DA21D5 +:101F4000811110C08091770280FF08C084EE94E078 +:101F50009F938F930E94F6050F900F900E9480220E +:101F60000E94620C0E944C0C6093C3027093C402E6 +:101F70008093C5029093C6026E7FC1F48091770270 +:101F800080FF08C08BE994E09F938F930E94F60531 +:101F90000F900F900E94620C0E944C0C6093C30241 +:101FA0007093C4028093C5029093C6020E94360CBF +:101FB0000E94720C8091C30280FF03C086950E942C +:101FC0007F0F81E08093C40108958091C3028160F6 +:101FD0008093C3028091770280FF0DC01F9281E041 +:101FE0008F938AEB93E09F938F930E94F6050F9057 +:101FF0000F900F900F908091C30286950C947F0FE5 +:1020000021E030E0A90102C0440F551F8A95E2F794 +:10201000CA012091C701662361F0822B8093C7011A +:102020008091C601811108C08091C30286950C94ED +:102030007F0F80958223F2CF0895FA01811101C0AC +:10204000FB0109940F931F93CF938C01FB01C28175 +:10205000CC2309F44DC00E94F8208272F801E25CA2 +:10206000FC45E431F10538F4E15FFF4C0C949C2F02 +:102070000E94640FC0E08C2FCF911F910F910895A3 +:1020800043E45FE066E37FE00E941D10F3CF46E388 +:102090005FE063E47FE0F8CF46EB5EE069EA7EE074 +:1020A000F3CF49EA5EE066EB7EE0EECF44ED5EE022 +:1020B00065EC7EE0E9CF45EC5EE064ED7EE0E4CFE8 +:1020C00042EF5EE063EE7EE0DFCF43EE5EE062EF84 +:1020D0007EE0DACF48E15DE061E07DE0D5CF41E030 +:1020E0005DE068E17DE0D0CF81E00E94460FC2CF85 +:1020F000C1E0C1CF0E94DA21811102C00E9480227A +:102100000E94082280930403803220F08770886147 +:102110008093040390910403892F817090FF04C081 +:10212000892F8695869586950C94E41180910403F9 +:10213000982F969596959695933040F49F5F990FBA +:10214000990F990F8770892B809304038091040362 +:102150008160809304030E940C228091770280FFAB +:1021600011C0809104038695869586951F928F9362 +:102170008BE596E09F938F930E94F6050F900F904A +:102180000F900F90809104038695869586950C9408 +:10219000E41180910403982F987F79F08850809300 +:1021A0000403887F91E009F490E08091040390FBA0 +:1021B00080F9809304030E940C228091770280FFB3 +:1021C00011C0809104038695869586951F928F9302 +:1021D00083E496E09F938F930E94F6050F900F90F3 +:1021E0000F900F90809104038695869586950C94A8 +:1021F000E4118091040380FD1FC08160809304037B +:10220000813019F489E080930403809104030E94D3 +:102210000C228091770280FF08C08BE196E09F93AB +:102220008F930E94F6050F900F908091040386957E +:10223000869586950C94E41108958091040380FF9F +:1022400014C08E7F809304030E940C228091770239 +:1022500080FF08C088E096E09F938F930E94F60568 +:102260000F900F9080E00C94E4110895CF93C091EB +:102270000403C1708091770280FF0CC01F92CF933E +:102280008DE296E09F938F930E94F6050F900F903A +:102290000F900F90CC2319F0CF910C941D11CF917A +:1022A0000C94F91090910403892F86958695869554 +:1022B0008F5F8F719770843080F5880F880F880F3B +:1022C000892B8093040380910403887F91E009F4B3 +:1022D00090E08091040390FB80F9809304030E94B6 +:1022E0000C228091770280FF11C0809104038695B3 +:1022F000869586951F928F9384EF95E09F938F9399 +:102300000E94F6050F900F900F900F90809104039C +:102310008695869586950C94E41190930403D3CF0B +:10232000843008F083E0909104039770282F220FE7 +:10233000220F220F922B90930403987F21E009F43F +:1023400020E09091040320FB90F9909304030C94F7 +:10235000E4110E949011809104030C940C229C01C2 +:10236000FB018281882349F12D3BFCE53F07C9F041 +:1023700040F42B3BECE53E0769F02C3B3C4579F003 +:1023800008952F3B9CE5390791F070F0203C3C45C7 +:1023900089F0089583E00E94A91180E0089580E00B +:1023A000FACF0E94C910F9CF0E949610F6CF0E9472 +:1023B0003611F3CF0E945211F0CF81E00895259A93 +:1023C0002D9808952D980895CF92DF92EF92FF9265 +:1023D000CF93C82F843040F5811127C080918000B1 +:1023E0008F77809380000E94E2112C2F30E0AFEFB6 +:1023F000BFEF0E94A22F23E030E040E050E00E94B7 +:102400007A2FC9012C3764E13607A8F469E070E03F +:102410000E94522F7093890060938800CF91FF90A3 +:10242000EF90DF90CF900895C3E0809180008068A6 +:1024300080938000DACF2A50374D4F4F5F4F942F53 +:10244000832F722F662725EF38E241E050E00E948B +:102450007A2F69017A01CA01B9010E94362F9B01C6 +:10246000AC01C701B6010E94362F672F782F892F44 +:1024700099276115710521E08207910559F66FEFE3 +:102480007FEFC8CF08950E94DF1182E8809380001B +:1024900089E1809381008FEF9FEF90938700809375 +:1024A00086000C947A106A9A4EB14B7F5EB15460EC +:1024B000EFB7F8949B01220F331F260F371F280F09 +:1024C000391F2817390741F4EFBF8FE594E00197D2 +:1024D000F1F700C000000895DC016D91CD0178E0B6 +:1024E0005EB9000000C067FF4EB9660F000000C073 +:1024F00000C000C04EB900C07A9591F7E2CFAF920C +:10250000BF92CF92DF92EF92FF920F931F93CF93E0 +:10251000DF937C015B01C42FD22FFC0182818823D1 +:10252000F9F04093CA010E9405249093C901809359 +:10253000C80180E28C0F883008F061C0C77081E06C +:1025400001C0880FCA95EAF7DF91CF911F910F91D3 +:10255000FF90EF90DF90CF90BF90AF900C94CF188A +:102560001091CA01141340C08091C8019091C90113 +:102570000E9411246C01B701C5010E94CF1DC8162D +:10258000D90690F5C0E2CD0F1D17B9F080E2810F9A +:10259000883040F4177081E001C0880F1A95EAF77F +:1025A0000E94D618C83048F481E09D2F977001C072 +:1025B000880F9A95EAF70E94CF18802F0E94BC18C6 +:1025C000C830E8F4D77081E001C0880FDA95EAF7E7 +:1025D000DF91CF911F910F91FF90EF90DF90CF90FF +:1025E000BF90AF900C94D61880E28C0F883038F4EE +:1025F000C77081E001C0880FCA95EAF7E9CFDF9183 +:10260000CF911F910F91FF90EF90DF90CF90BF90EF +:10261000AF9008950F939C01CB01233F4CE5340705 +:1026200059F1A8F4283DFCE53F0701F1293D4CE5AF +:102630003407D1F1273D3C4591F406E221EE41EE0D +:1026400067ED7CE50E947F1280E00F910895253FA1 +:10265000FCE53F07E9F0B0F0263F3C45F9F0FC010E +:102660008281882339F11092CA01EFCF07E225EE6B +:1026700045EE68ED7CE5E6CF06E221EE40EE63EF45 +:102680007CE5E0CF07E225EE44EE64EF7CE5DACFAF +:1026900006E221EE42EE65EF7CE5D4CF07E225EEBF +:1026A00046EE66EF7CE5CECF08E221E045EE69ED2F +:1026B0007CE5C8CF81E0C9CFCF93DF93EC01FB016C +:1026C0008281882309F419C1C230FCE5DF07C0F11B +:1026D000C6319CE5D90730F09E012A5F3C45293080 +:1026E000310570F50E94ED219093AE028093AD020A +:1026F000C031ECE5DE0709F4CFC008F05BC0C8309C +:102700008CE5D80709F4B6C088F5C430ECE5DE07DF +:1027100009F4A8C0C0F4C2308CE5D80709F49CC005 +:102720008091AD028260C330DC4509F498C080918D +:10273000AD029091AE020E94FB210E94591B80E0E5 +:10274000DF91CF9108958091AD028061C630ECE5B4 +:10275000DE0709F484C08091AD028860C730DC4593 +:1027600008F47DC08091AD02806279C0CC308CE5E8 +:10277000D80709F489C070F48091AD028C60CA302A +:10278000ECE5DE0709F46BC008F478C08091AD0277 +:102790008E7F65C0CE308CE5D80709F479C0809172 +:1027A000AD028B7FCF30DC4508F459C08091AD027B +:1027B0008F7E55C0CB3FECE5DE0709F457C030F5FE +:1027C000C3318CE5D80709F46FC078F4C131ECE56A +:1027D000DE0709F465C0C231DC4509F0A8CF0E94CC +:1027E000591B8091AD028F773AC0C5318CE5D8076F +:1027F00009F462C008F476C08091AE028160CA3FDD +:10280000DC4509F094CF8093AE0291CFCF3FFCE539 +:10281000DF0709F44DC088F48091AE028D7FCD3F73 +:102820009CE5D90781F38091AE028E7FCE3FDC45D7 +:1028300050F38091AE028360E6CFC130FDE5DF0743 +:1028400009F459C008F444C080E0C230DD4509F005 +:102850006ECF0E9482226BCF8091AD028160809307 +:10286000AD0265CF8091AD028460F9CF8091AE0258 +:102870008260C9CF8091AD028064F1CF0E94591B64 +:102880008091AD028068EBCF8091AD028D7FE7CF64 +:102890008091AD02877FE3CF8091AD028F7DDFCF46 +:1028A0008091AD028F7BDBCF8091AD02837FD7CF4C +:1028B0008091AE028C7FA7CF8091AD0282FB9927D9 +:1028C00090F921E0922790FB82F990FB83F9C7CF22 +:1028D0008091AE02982F909591708E7F892B90FBFE +:1028E00081F991CF0E94591B9091AD02892F97FBDE +:1028F00087F98058B4CF81E0ACCF81E021CFCF936E +:10290000DF93EB0186319C4539F50E94F820982F22 +:1029100091718A7A911180E09A81992399F091E0DE +:10292000811101C090E09093CB01811109C089E22F +:102930000E94D3200E94472180E0DF91CF9108952B +:1029400085E3F6CF8091CB01811104C089E20E941A +:10295000DA20F0CF85E3FBCF81E0EFCFCF93DF9399 +:10296000EC0181E0898B8F810E94FB2088850E9489 +:102970000E210E944721EA81FB81309739F06C8952 +:102980007D89CE010696DF91CF910994DF91CF9199 +:102990000895EF92FF920F931F93CF93DF93EC0173 +:1029A0008A85811134C0EB80FC8087E5F81A26E126 +:1029B0002E9DC0012F9D900D1124DC01AE5FBE4FF6 +:1029C0001496ED91FC911597309731F054966D91D6 +:1029D0007C91885F9E4F099586E18E9D80018F9D39 +:1029E000100D11240E5F1E4FF80187810E940121F6 +:1029F000F80180850E9414210E94472118821986BF +:102A00001B861E821D821092CD011092CC01DF9197 +:102A1000CF911F910F91FF90EF900895DF92EF9269 +:102A2000FF920F931F93CF93DF937C01FB01828171 +:102A3000882391F080911D018F3F71F0C2E0D1E0B9 +:102A400010E000E0DD24D39480911D01082E000CDD +:102A5000990B8017910744F4DF91CF911F910F914B +:102A6000FF90EF90DF9008958E818823C9F08985CB +:102A70009A858E159F0539F48091CC019091CD01F6 +:102A80008E159F0569F0DF86FC86EB8689898111AA +:102A900003C0CE010E94AE14CE0106960E94C91456 +:102AA0000F5F1F4F6696D0CFEF92FF920F931F9349 +:102AB000CF93DF937C0197558F3F910509F0D8F5AF +:102AC00020911D01022E000C330B2817390714F436 +:102AD00080931D01FB01228136E1389F8001399FDF +:102AE000100D1124E801CE5FDE4F288B92818E817C +:102AF000992349F1FA86E9868F5F8E830E94052427 +:102B00009E878D870E942E218F830E94F8208887C0 +:102B10000E940B219885892B8887E881F98130975D +:102B200031F06C897D89C801885F9E4F0995F092CC +:102B3000CD01E092CC0181E0DF91CF911F910F9107 +:102B4000FF90EF9008958823B1F38989882399F342 +:102B5000C801885F9E4F0E94C914EDCFCF92DF92CB +:102B6000EF92FF920F931F93CF93DF9380911D01FC +:102B700010E006E18F3FF1F5DF91CF911F910F91AA +:102B8000FF90EF90DF90CF9008950E9DF0010F9D84 +:102B9000F00D1124EE5FFE4FC288D388C114D1041A +:102BA00039F470E060E0818592850E94CF1D6C0150 +:102BB0000E9DE0010F9DD00D1124CE5FDE4F8E8162 +:102BC0008823B9F08D859E850E941124C816D906E8 +:102BD00080F4109F700111248989811105C0C701FB +:102BE0008E5F9E4F0E94AE14C701885F9E4F0E9469 +:102BF000C9141F5FE12EF12C80911D01082E000CDD +:102C0000990B8E159F050CF6B7CF9093D301809347 +:102C1000D2010895E091D201F091D301309721F0D3 +:102C20000190F081E02D099480E00895EF92FF92E9 +:102C30000F931F93CF93DF93EC01E091D201F091BA +:102C4000D301309709F446C080913201882341F0C6 +:102C50008091AD0287FF04C08881898385E08883E5 +:102C60000280F381E02DCE0109958091770282FFE9 +:102C700031C080FF04C08BE797E00E945D0510E043 +:102C800000E085E7E82E87E0F82E8091770280FF4C +:102C90000EC0FE01E00FF11F80811F928F93FF9203 +:102CA000EF920E94F6050F900F900F900F900F5F1C +:102CB0001F4F0830110549F78091770280FF0AC045 +:102CC00083E797E0DF91CF911F910F91FF90EF90F5 +:102CD0000C945D05DF91CF911F910F91FF90EF90C4 +:102CE0000895E091D201F091D301309739F022E0BC +:102CF000DC012C930480F581E02D09940895209146 +:102D0000D0013091D1012817390771F09093D1018A +:102D10008093D001E091D201F091D301309721F05E +:102D20000680F781E02D099408952091CE0130911D +:102D3000CF012817390771F09093CF018093CE010E +:102D4000E091D201F091D301309721F00084F18518 +:102D5000E02D0994089585B7806885BF85B78068A0 +:102D600085BF0895089508950C94B2160C94240616 +:102D70000E94AB160E94B3160C94B41681E008951D +:102D80000C94BE160E94FC230E94620A0E947E24BC +:102D90000E947A100E94820F0C94B616CF93C82F0F +:102DA0008091770282FF1EC080FF1CC084E997E0FB +:102DB0000E945D058091770280FF14C01F92CF931F +:102DC0008FE897E09F938F930E94F605809177029A +:102DD0000F900F900F900F9080FF04C08DE897E048 +:102DE0000E945D058C2FCF910C947C079F92AF922F +:102DF000BF92CF92DF92EF92FF920F931F93CF93E8 +:102E0000DF93CDB7DEB72A970FB6F894DEBF0FBEBB +:102E1000CDBF0E94CA0A0E94C016882309F472C05E +:102E200055EDA52E51E0B52E10E000E0902E802F3C +:102E30000E940E0A6C01F501E190F1905F01E81625 +:102E4000F90609F459C08091770281FD0E94170AA2 +:102E500097012C253D2580E0EE24E394F12CA90177 +:102E60004E215F21452B09F441C08E839F82CE20E5 +:102E7000DF2081E0CD2809F480E088870E940524C6 +:102E80008160782F9A8789874E815F8168858A85DE +:102E90000E94A517000F111FF801EB52FE4F808111 +:102EA0009181E826F926F182E0820E9442120E9476 +:102EB0009D260E940A169091D4018917A1F10E94C3 +:102EC0000A168093D4012A960FB6F894DEBF0FBE7F +:102ED000CDBFDF91CF911F910F91FF90EF90DF90C9 +:102EE000CF90BF90AF909F900C94CE168F5FEE0C5A +:102EF000FF1C803109F0B3CF0F5F1F4F0530110564 +:102F000009F094CF8FEF89838A831B820E94052466 +:102F10008160782F9D838C8349815A816B818D815B +:102F20000E94A517C2CF2A960FB6F894DEBF0FBE37 +:102F3000CDBFDF91CF911F910F91FF90EF90DF9068 +:102F4000CF90BF90AF909F900895CF93DF93CDB770 +:102F5000DEB72B970FB6F894DEBF0FBECDBF4F8301 +:102F6000588769877A878B871E821D8285E0FE01DC +:102F70003796DE01119601900D928A95E1F749810D +:102F80005A816B817C818D819E812B960FB6F8943E +:102F9000DEBF0FBECDBFDF91CF910C94D21DFC01DF +:102FA000808191810C94A520CF93C82F882309F4A8 +:102FB0008BC08238C1F40E940A1681FD85C089E366 +:102FC0000E94D3200E9447212FEF81EE94E02150F0 +:102FD00080409040E1F700C0000089E30E94DA20C1 +:102FE000CF910C9447218338A1F40E940A1680FDEA +:102FF0006BC083E50E94D3200E9447212FEF81EE12 +:1030000094E0215080409040E1F700C0000083E54B +:10301000E5CF8438A1F40E940A1682FD55C087E4EA +:103020000E94D3200E9447212FEF81EE94E021508F +:1030300080409040E1F700C0000087E4CFCF8CEFE4 +:103040008C0F813A90F46C2F80911E0190911F019A +:103050000E949B22882329F08C2F0E94DA200E9454 +:1030600047218C2F0E94D320BBCF80E28C0F883069 +:1030700048F4C77081E001C0880FCA95EAF70E9442 +:10308000FB20AECFEBE5EC0FE33040F4F0E0E7558A +:10309000FE4F808190E0CF910C947F16E8E5EC0F15 +:1030A000E73150F4F0E0EE0FFF1FE558FE4F80814E +:1030B0009181CF910C949516C03F30F08C2F0E94D7 +:1030C0001525CF910C940026CF910895882309F4FB +:1030D00052C0823871F40E940A1681FF4CC089E305 +:1030E0000E94D3200E94472189E30E94DA200C9499 +:1030F0004721833859F40E940A1680FF3CC083E5BB +:103100000E94D3200E94472183E5EFCF843859F4F1 +:103110000E940A1682FF2FC087E40E94D3200E94DB +:10312000472187E4E2CF9CEF980F913AF0F290E2CA +:10313000980F983050F4877091E001C0990F8A95EC +:10314000EAF7892F0E940121D2CF9BE5980F933097 +:1031500020F490E080E00C947F1698E5980F97316A +:1031600020F490E080E00C949516803F20F00E94BF +:103170007D250C9400260895CF93C82F0E94D41764 +:10318000C93349F42FEF87EE93E0215080409040FF +:10319000E1F700C000008C2FCF910C9466188823B3 +:1031A00021F00E94FB200C9447210895882321F0F0 +:1031B0000E9401210C9447210895BF92CF92DF9283 +:1031C000EF92FF920F931F93CF93DF936C01D62F53 +:1031D000C72FFC01058102950F70128111110E9409 +:1031E0001B210E94F120E82E882391F01123D1F0B9 +:1031F0008C2F807F803421F080E28D0F883090F01A +:1032000082E00E9492210E94F12091E0E82EE926BE +:10321000BC2EB2949FE0B922EB2DF0E0ED5DFF4CA7 +:103220000C949C2FE12CF4CF0C2F0F70C07F11F069 +:103230000295007F1123A9F0002359F080E28D0F41 +:10324000883010F0D11109C0802F0E94FB200E940D +:1032500047218D2F0E94D41714C0802F0E940E2169 +:10326000F6CF8D2F0E946618002359F080E28D0F53 +:10327000883010F0D1112CC0802F0E9401210E94B3 +:1032800047212B2D2850330B2430310520F40E9488 +:103290000A160E947C07EE2009F49EC10E94ED20D0 +:1032A00080FD9AC1F60112820E94E7200E94741FDD +:1032B000C6010E940D1B0E94E720DF91CF911F9154 +:1032C0000F91FF90EF90DF90CF90BF900C94951FDF +:1032D000802F0E941421D3CFFC2FFF70FF2EC07FC0 +:1032E000C03219F0F29480EFF822DD2369F0D1307A +:1032F00049F1112391F1002351F1F601858180FFFD +:10330000A8CF8F70858323C0112381F0011106C0DF +:103310000E942E218F290E94CF18B3CF0130C1F710 +:103320000E942E218F290E943421ABCF011106C0AB +:103330000E943D218F2D0E94D618A3CF013009F4A1 +:10334000A0CFF6CF112329F0063008F09ACF8F2DA9 +:10335000E2CF053008F095CFEDCF002359F3D933F4 +:1033600049F4FFEF27EE33E0F15020403040E1F721 +:1033700000C000008D2F0E94661883CF8C2F869589 +:103380008695837069F0813009F07BCF8D2F9C2F5B +:103390009370111102C090E080E00E94951671CFE9 +:1033A0008D2F9C2F9370111102C090E080E00E943D +:1033B0007F1667CF8D2F112329F00E9415250E94BB +:1033C00000265FCF0E947D25FACF8C2F837009F0F5 +:1033D00041C0111156CF4D2F429546954770440F6D +:1033E000440F0D2F0F7010E030E020E0042E04C0D9 +:1033F000000F111F221F331F0A94D2F760E070E004 +:10340000CB01D4FF0FC06FE070E080E090E004C01B +:10341000660F771F881F991F4A95D2F760957095A0 +:1034200080959095C695C695C370602B712B822BA5 +:10343000932BC23049F058F4C13019F00E94081F94 +:1034400020CF0E94F61E1DCF0E941A1F1ACF0E9485 +:10345000F41E17CF8695112311F08C2F81708823CD +:1034600009F40FCF4D2F429546954770440F440FF6 +:103470000D2F0F7010E030E020E0042E04C0000F8C +:10348000111F221F331F0A94D2F760E070E0CB01B6 +:10349000D4FF0FC06FE070E080E090E004C0660FE2 +:1034A000771F881F991F4A95D2F760957095809570 +:1034B0009095C695C695C370602B712B822B932B6C +:1034C000C23049F058F4C13019F00E94EB1FD9CE38 +:1034D0000E94D91FD6CE0E94FD1FD3CE0E942E1F60 +:1034E000D0CECF70112329F08C2F0E94741F8D2F06 +:1034F00012CF8D2F0E94D6188C2F0E94951FC1CEFF +:10350000D23F89F160F4D03FC9F0D13F29F11123B6 +:1035100009F442C001119DCE8C2F8F7121C0D33F81 +:1035200039F1D43FA1F7112369F1CF718C2F0E949B +:10353000741F63E08C2F0E947D21A3CE112341F0E4 +:10354000053008F09ECE8C2F8F710E94B81F99CE47 +:10355000063008F096CEF7CF8C2F8F71112369F2C9 +:103560000E94741F8ECE8C2F8F711123C9F3C5CF8B +:10357000112329F08C2F8F710E945F1F82CE0E9431 +:103580003A1F7FCE81E00E949221023008F479CE6A +:1035900082E00E94922175CE002359F0D93309F0C0 +:1035A000E9CE8FEF97EEE3E081509040E040E1F705 +:1035B000DFCE8C2F8F71A1CF4C2F4F706D2FC60196 +:1035C0000E94FC070E946C1E5CCE4C2F4F706D2F2A +:1035D000C6010E94FF0755CEDF91CF911F910F9139 +:1035E000FF90EF90DF90CF90BF9008950F931F93BF +:1035F000CF93DF93EC01688179818A810E94AF20AB +:103600008C010E940F200E94F31EB801CE01DF91B1 +:10361000CF911F910F910C94DD18CF93DF93EC01A4 +:103620008B819C81892B29F08881998189238F3F07 +:1036300059F4DF91CF910895CE010E94F61ACE0180 +:10364000DF91CF910C945C07CE010E949407811109 +:10365000F3CF0E94F120882361F38A81882349F304 +:1036600082E0DF91CF910C949221882321F00E9477 +:103670000E210C9447210895882321F00E941421E3 +:103680000C94472108950E941B210E942B210E9427 +:1036900047210E94A9270E94002690E080E00E9416 +:1036A0007F1690E080E00C9495160E94E1200C9427 +:1036B000431B0E9408210C94551BE92FE295EF70E3 +:1036C000E250EE3070F4F0E0ED5CFF4C0C949C2F77 +:1036D000803F19F020F4883E20F481E00895843F73 +:1036E000E1F380E00895883EC0F3813FD1F7F5CF44 +:1036F00093FB882780F908950E94A5200C945D1BF8 +:10370000CF93DF9300D000D00F92CDB7DEB70F90EC +:103710000F900F900F900F90DF91CF910895CF935E +:10372000DF9300D000D000D0CDB7DEB726960FB61D +:10373000F894DEBF0FBECDBFDF91CF9108951F93E8 +:10374000CF93DF93C091E00116E08091E1018C13EB +:1037500004C0DF91CF911F910895D0E01C9FF0012C +:103760001D9FF00D1124EE51FE4F40815181628169 +:103770007381848195810E948F1B2196C770E5CF4C +:10378000409112025091130260911402709115023F +:1037900080911602909117020C948F1B1F93CF9368 +:1037A000DF9380911702807FA9F48091140288230F +:1037B00089F08091E001C091E10160911202709165 +:1037C0001302A0911502B0911602D62FD72316E04E +:1037D000C81304C0DF91CF911F91089590E0109716 +:1037E00011F0DF3F19F401968770F2CF189F900116 +:1037F000199F300D1124F901EE51FE4F41814713FD +:10380000F2CF40814613EFCF42814111ECCF43818B +:1038100054814A1B5B0B483C510528F780911702E5 +:103820008F70806180931702F901E951FE4F80810A +:103830008F708061808382E192E00E940D1BDF9196 +:10384000CF911F910C949F1BAF92BF92CF92DF92AA +:10385000EF92FF920F931F93CF93DF93CDB7DEB715 +:1038600061970FB6F894DEBF0FBECDBF8C0185E027 +:10387000F801DE011D9601900D928A95E1F7F8019D +:1038800040815181E28082E1C82E82E0D82E609191 +:103890001502709116026115710509F461C19091CC +:1038A000120220911302892F82238F3F09F458C1FD +:1038B000A380B480F0901402F501E61BF70BFF2003 +:1038C00009F4FCC080911702382F307FE83CF105E5 +:1038D00008F0B2C0311179C0FE2C251323C0941317 +:1038E00021C0E1101FC08F708061809317020E9479 +:1038F000C01BC6010E940D1B80911702F801858331 +:103900008F2D61960FB6F894DEBF0FBECDBFDF914D +:10391000CF911F910F91FF90EF90DF90CF90BF90CC +:10392000AF900895AB2829F0842F85238F3F09F0AD +:1039300033C180E0F82FF170DF2E80FF3CC0809112 +:10394000E0012091E10136E0821315C04D875E87CA +:103950008D859E850E94A520292F22952F702230CB +:10396000F0F0243018F59F70F1F0F8019581907F08 +:10397000D1F4D12C1EC090E0389FF001399FF00D9A +:103980001124EE51FE4F6181651306C060816413FE +:1039900003C062816E110FC001968770D5CF9F70F2 +:1039A00011F0882331F3805E883018F3C8010E943B +:1039B0000D1BFD2CA5CFEE2009F4A2CF809117029C +:1039C000816080931702F12C9BCF251306C09413BE +:1039D00004C0F801EE2009F48DC04D875E878D8507 +:1039E0009E850E947C1B882319F1EE2009F18091AD +:1039F0001702803270F02091120230911302388742 +:103A00002F831986BB86AA868C87CE0107960E94D3 +:103A10000D1B86E0F801A2E1B2E001900D928A95BB +:103A2000E1F70E94CE1B0E94C01BFF24F39468CFD5 +:103A3000C8010E940D1BF9CF311113C07A2DB98A2C +:103A4000A88A6E2D89890E94801B82E192E00E94E3 +:103A50000D1B86E0F60111928A95E9F70E94C01BC2 +:103A6000B2CF25130FC094130DC0E1100BC0F801A5 +:103A70008583C8010E940D1B86E0F60111928A958C +:103A8000E9F73ECF4D875E878D859E850E947C1B22 +:103A9000882371F2EE2061F280911702803208F4DF +:103AA000B8CF20911202309113023A8329831B82EE +:103AB000BD82AC828E83CE010196A9CFE83CF10590 +:103AC00008F041C0FE2CEE2009F4B2CF25132AC025 +:103AD000941328C08091170280FD1BC0982F907FFF +:103AE000C1F0F8018583903F31F0982F907F905F6F +:103AF0008F70892B8583C8010E940D1B86E0F80119 +:103B0000A2E1B2E001900D928A95E1F70E94C01BFC +:103B1000F7CE86E0F801A2E1B2E001900D928A951D +:103B2000E1F7EECE4D875E878D859E850E947C1BDA +:103B300081116FCF80911702816080931702C801B5 +:103B40000E940D1BDDCE7A2DB98AA88A6E2D898937 +:103B50000E94801B86E0F60111928A95E9F7D6CF84 +:103B6000EE2009F465CF4D875E878D859E850E9486 +:103B70007C1BF82E882309F45BCF86E0F801A2E1D4 +:103B8000B2E001900D928A95E1F782E192E00E9405 +:103B9000CF170E94CE1BBACF81E08E25CBCE88EC0A +:103BA00090E008951F93CF93DF93CDB7DEB72C97A6 +:103BB0000FB6F894DEBF0FBECDBF4F83588769871D +:103BC0007A878B879C87CE0107960E94241C8823C6 +:103BD00069F08A859B85892B39F04F815885842F20 +:103BE00085238F3F09F071C016E05FC086E0FE01BB +:103BF0003796DE01119601900D928A95E1F78A853C +:103C00009B85892B89F38F81988589238F3F61F369 +:103C10002091E10130E0C901019687709927409118 +:103C2000E0014817190671F40E94591B1092E10136 +:103C30001092E00186E0E2E1F2E0DF011D928A9558 +:103C4000E9F7D2CF96E0929FD001939FB00D112457 +:103C5000AE51BE4FFE01319601900D929A95E1F75B +:103C60008093E1010E949F1BBFCF819FC00111245F +:103C70008E519E4F0E94241C8823E9F0E091E001C0 +:103C80001E9FF0011124EE51FE4F4081518162814F +:103C90007381848195810E948F1B8091E00190E067 +:103CA0000196877099278093E0018091E0019091BF +:103CB000E1018913DACF2C960FB6F894DEBF0FBE60 +:103CC000CDBFDF91CF911F91089569857A858B854E +:103CD0009C850E948F1B88CFEF92FF920F931F93BA +:103CE000CF93DF938C01892B81F0F12CEE24E394A8 +:103CF000E8012196F8018491843770F4843008F04B +:103D00005FC08130B1F08230A1F1DF91CF911F917E +:103D10000F91FF90EF900895853709F44CC008F497 +:103D20003DC09CE7980F903780F78F770E94661808 +:103D300049C00E5F1F4FFE01849190E2980F9830AA +:103D400060F48770FE2D01C0FF0F8A95EAF78F2F70 +:103D50000E941E210E94472102C00E94D4178F2D6D +:103D6000815030F2EFE9FFE03197F1F700C0000039 +:103D7000F7CF0E5F1F4FFE01849190E2980F9830AD +:103D800050F48770FE2D01C0FF0F8A95EAF78F2F40 +:103D90000E942421DFCF0E946618E1CF0E5F1F4FE3 +:103DA000FE01C491C150D8F28FE99FE00197F1F76D +:103DB00000C00000F7CF0E5F1F4FFE01F490CFCF81 +:103DC0000E94D4178E01CBCF08950C94E41E0E945C +:103DD000E51E60934E0270934F02809350029093C1 +:103DE00051020C94431B08950C94E71E0F931F93EC +:103DF00000914E0210914F022091500230915102D9 +:103E0000602B712B822B932B1F910F910C94E71E2B +:103E10000F931F9300914E0210914F022091500278 +:103E20003091510260237123822393231F910F91BC +:103E30000C94E71E0F931F9300914E0210914F02B6 +:103E400020915002309151026027712782279327D9 +:103E50001F910F910C94E71E0C942B060E942C1FAF +:103E600060934A0270934B0280934C0290934D02F0 +:103E70000C94431B60E070E0CB010C942E1F611585 +:103E800071058105910529F481E0442361F080E00A +:103E90000895DC01CB0104C0B695A7959795879549 +:103EA0004A95D2F781700895482F60914A02709127 +:103EB0004B0280914C0290914D020C943F1F0F9346 +:103EC0001F9341E050E060E070E08A019B0104C074 +:103ED000000F111F221F331F8A95D2F7C901B801A5 +:103EE0001F910F910C942E1F0F931F9341E050E0F0 +:103EF00060E070E004C0440F551F661F771F8A956D +:103F0000D2F780914A0290914B02A0914C02B0915D +:103F10004D028A019B01082B192B2A2B3B2BC9012F +:103F2000B8011F910F910C942E1F0F931F9341E026 +:103F300050E060E070E004C0440F551F661F771F1B +:103F40008A95D2F7CB01BA016095709580959095CE +:103F500000914A0210914B0220914C0230914D0287 +:103F600060237123822393231F910F910C942E1FA2 +:103F70000F931F9341E050E060E070E004C0440FF5 +:103F8000551F661F771F8A95D2F780914A0290913C +:103F90004B02A0914C02B0914D028A019B0108276F +:103FA00019272A273B27C901B8011F910F910C94AB +:103FB0002E1F0F931F9300914A0210914B022091E4 +:103FC0004C0230914D02602B712B822B932B1F9151 +:103FD0000F910C942E1F0F931F9300914A02109182 +:103FE0004B0220914C0230914D02602371238223B9 +:103FF00093231F910F910C942E1F0F931F930091E9 +:104000004A0210914B0220914C0230914D026027E0 +:104010007127822793271F910F910C942E1F0895CB +:104020009295907F890F982F977041E001C0440FBF +:104030009A95EAF786958695869595E0899FF00191 +:104040001124E85EFD4F30E020E070E05191DF0187 +:104050001197CB01022E02C0969587950A94E2F73C +:10406000817081958527842385278C932F5F3F4F0F +:104070002530310559F708959295907F890F982F33 +:10408000977086958695869525E0829FF00111248C +:10409000E85EFD4F50E040E080E0219130E0092EE5 +:1040A00002C0369527950A94E2F721703327042E33 +:1040B00001C0220F0A94EAF7822B4F5F5F4F453011 +:1040C000510559F70895BF92CF92DF92EF92FF9278 +:1040D0000F931F93CF93DF938C01C0904A02D0902F +:1040E0004B02E0904C02F0904D0280914E02909174 +:1040F0004F02A0915002B0915102C82AD92AEA2A4F +:10410000FB2ACFE1D0E0BC2ED701C6010C2E04C0A3 +:10411000B695A795979587950A94D2F780FD0EC01E +:10412000219788F7B12C8B2DDF91CF911F910F91A3 +:10413000FF90EF90DF90CF90BF900895B8018C2F43 +:104140000E941D08019761F3EECFCF93DF93EC013E +:104150000E946320BE01DF91CF910C941D081F9334 +:10416000CF93DF93EB019091DF01992331F0CB01E5 +:10417000DF91CF911F910C94A520882379F0CB017A +:104180000E946320182F682FCE010E941020BE01CC +:10419000812FDF91CF911F910C941D08CB010E94BC +:1041A0003C20182FF4CF682F80911E0190911F01A1 +:1041B0000C943D23682F80911E0190911F010C9457 +:1041C000482380911E0190911F010C9453238091EC +:1041D0005202859585958595089580915202877044 +:1041E000089590915202977081E009F480E008955B +:1041F00080917602089590917602892B80937602C1 +:104200000895809590917602982390937602089570 +:10421000109276020895809175020895909175022A +:10422000892B80937502089580959091750298234B +:1042300090937502089510927502089590917402FA +:10424000892B80937402089580959091740298232D +:10425000909374020895109274020895809153020D +:10426000089508950C94312190915302981721F0EC +:10427000809353020C943221089580915302882335 +:1042800029F01092530280E00C9432210895E091BD +:104290001E01F0911F01809176028083E0911E0142 +:1042A000F0911F01808190917502892B8083E091AC +:1042B0001E01F0911F01808190917402892B8083EF +:1042C00090915302992381F0E0911E01F0911F011A +:1042D0008081892B808380911E0190911F010E9413 +:1042E000872281110E943D2180911E0190911F0122 +:1042F0000C94161608950C947A2198E0899F9001E9 +:104300001124622B609352020E94741F809152020A +:104310008595859585950C947B211092520280E0BD +:104320000C947B21909152028095892380935202B4 +:10433000282F277071F4282F082E000C330B9217AA +:10434000130639F08595859585950E94951F0C94E7 +:104350008D2108959093BD018093BC0108958295AD +:1043600090E09C01220F331F220F331F2C7C959568 +:104370008795959587958373282B30E0C901880F21 +:10438000991F8A7A359527952575822B0895CF93A5 +:10439000DF93D92F0E94AF21C82F8D2F0E94AF210C +:1043A0009C2FDF91CF9108956FEF7FEF90E080E039 +:1043B0000C94F72F90E080E00E94D32F21E08C3EF8 +:1043C0009E4F09F020E0822F089582E090E00C9447 +:1043D000C52F83E090E00C94C52FCF9384E090E04C +:1043E0000E94C52FC82F81E290E00E94C52F982F10 +:1043F0008C2FCF910895CF93C92F682F84E090E040 +:104400000E94D92F6C2F81E290E0CF910C94D92F8C +:1044100086E090E00C94C52F682F86E090E00C9425 +:10442000D92FAB01BC018FE090E00C94EB2FAB01D6 +:10443000BC0183E190E00C94EB2F60E070E0CB01D5 +:104440000C94172260E070E0CB010E9411220C94C2 +:104450001D226CEE7EEF90E080E00E94F72F60E07E +:1044600082E090E00E94D92F60E083E090E00E941B +:10447000D92F10924E0210924F02109250021092B9 +:10448000510260E084E090E00E94D92F60E081E278 +:1044900090E00E94D92F60E085E090E00E94D92F43 +:1044A00060E086E090E00E94D92F6FEF87E090E017 +:1044B0000E94D92F40E050E0BA0188E090E00E94CD +:1044C000EB2F60E08DE090E00E94D92F40E050E0BB +:1044D000BA0188E190E00E94EB2F60E087E190E074 +:1044E0000E94D92F40E050E0BA018CE190E00E9498 +:1044F000EB2F60E080E290E00E94D92F0C94222202 +:104500000C942922682F8EE090E00C94D92FFC01A6 +:10451000329680913201882321F08091AD029EE194 +:1045200087FF96E080E0915008F4089521912223BE +:10453000D1F38F5FF8CF662301F12091320122235E +:10454000F1F02091AD0227FF1AC0462F46954695FF +:1045500046954E3190F4677021E030E002C0220FA2 +:10456000331F6A95E2F7840F911DFC01828190E070 +:104570002823392381E0232B69F480E00895FC018E +:10458000329608962191261721F0E817F907D1F7FE +:10459000F4CF81E008959C01FC0132969FEF80E00A +:1045A0004191461751F09F3F19F4411101C0982FD6 +:1045B0008F5F8630A9F79F3F09F40895290F311DB9 +:1045C00097FD3A95F90162830895FC0132960896A9 +:1045D0002191261303C0DF0111971C92E817F907F8 +:1045E000B9F70895E62FE695E695E695EE3170F475 +:1045F000E80FF92FF11D677021E030E001C0220FB4 +:104600006A95EAF78281822B8283089580917702EE +:1046100080FF0CC01F926F9385EC97E09F938F9360 +:104620000E94F6050F900F900F900F900895E62FBF +:10463000E695E695E695EE3178F4E80FF92FF11D51 +:10464000677021E030E001C0220F6A95EAF72095FB +:1046500082812823228308958091770280FF0CC0F5 +:104660001F926F9387EA97E09F938F930E94F605BE +:104670000F900F900F900F900895209132012223F8 +:1046800029F02091AD0227FD0C94F2220C94CB224C +:1046900020913201222329F02091AD0227FD0C94B4 +:1046A00017230C94E522FC01329680913201882375 +:1046B00051F08091AD0287FF06C08EE1DF011D92AF +:1046C0008A95E9F7089586E0F9CF089508950C9446 +:1046D00066230E94672380910D03843009F43AC059 +:1046E0001092780288E190E020E40FB6F894A89543 +:1046F000809360000FBE2093600080E00E94E41170 +:1047000080E00E947C078091790281110AC081E0DB +:10471000809379028091C302817080937A020E9413 +:10472000FA0D0E94672383B7817F846083BF83B7BC +:10473000816083BF7894889583B78E7F83BF0FB6DF +:10474000F894A89580916000886180936000109231 +:1047500060000FBE08950895CF930E9465230E94C4 +:10476000CA0A0E94AB23C0E08C2F0E940E0A892B3C +:1047700031F4CF5FC530C1F780E0CF91089581E07B +:10478000FCCF08950C94C1230E94591B0E947A10FB +:104790000E940A160E947C071092790280917A0288 +:1047A00081110E94E50F0C94C2231F921FB61F9225 +:1047B00011248F939F93AF93BF93809178028111BF +:1047C00013C08091050390910603A0910703B09157 +:1047D00008034196A11DB11D809305039093060324 +:1047E000A0930703B0930803BF91AF919F918F915E +:1047F0001F901FBE1F90189582E084BD93E095BD69 +:104800009AEF97BD80936E0008952FB7F89480912A +:10481000050390910603A0910703B09108032FBFF1 +:1048200008959C014FB7F894809105039091060379 +:10483000A0910703B09108034FBF821B930B08950B +:1048400078941F921FB61F9211248F939F93AF935A +:10485000BF938091050390910603A0910703B09147 +:1048600008030196A11DB11D8093050390930603D3 +:10487000A0930703B0930803BF91AF919F918F91CD +:104880001F901FBE1F90189581E08093E00080E28A +:104890008093D8001092C9008FE19EE40197F1F750 +:1048A00000C0000087E090EBDC018093160390933A +:1048B0001703A0931803B093190388E19CE00FB687 +:1048C000F894A895809360000FBE90936000FFCF8E +:1048D0000C94D4210E94CA0A8FE39CE90197F1F756 +:1048E00000C000000E94CA0A80E00E940E0A80FFF9 +:1048F00004C00E9468240C94442408950E94DA2184 +:10490000811102C00E9480220E94E52180937702DB +:104910000E94ED219093AE028093AD020E94E921A6 +:10492000682F70E090E080E00E94F41E60914A02DF +:1049300070914B0280914C0290914D020C942C1F6F +:104940008091810280FD32C081FF10C060912501FD +:1049500085E0689FB00111247595679560387105F1 +:1049600070F56115710569F1862F089582FD21C0EA +:1049700080918002882301F19091240160912501AA +:10498000891728F085E0689FB0011124E7CF869F42 +:10499000B001112485E0869F9001879F300D11247E +:1049A000692F70E0C9010E94662FD8CF61E070E0E6 +:1049B000DBCF6FE770E0D8CF65E070E0D5CF8FE751 +:1049C000089581E008958091810280FD29C081FFD2 +:1049D0000AC06091210170E07595679561157105B8 +:1049E00011F1862F089582FD18C0909180029923BD +:1049F000B9F06091200180912101961738F0682F5D +:104A000070E06038710550F38FE70895899FC00109 +:104A1000112470E00E94662FF4CF6FE770E0E1CFC1 +:104A200061E070E0DECF81E00895803F31F40E94C4 +:104A3000A0248195809385020895813F19F40E94F6 +:104A4000A024F8CF823F31F40E94A0248195809366 +:104A500084020895833F19F40E94A024F8CF893F6F +:104A600029F40E94E3248093860208958A3F21F46A +:104A70000E94E3248195F7CF8B3F31F40E94E32419 +:104A800081958093870208958C3F19F40E94E32456 +:104A9000F8CF843F31F48091830281608093830258 +:104AA0000895853F21F4809183028260F7CF863F8D +:104AB00021F4809183028460F1CF873F21F48091BB +:104AC00083028860EBCF883F21F48091830280616C +:104AD000E5CF8D3F31F48091810281608093810226 +:104AE00008958E3F21F4809181028260F7CF8F3F3D +:104AF000B9F7809181028460F1CF90918402803F68 +:104B000059F48091850287FF0DC0109285029111A2 +:104B10000BC01092800208C0813F81F48091850211 +:104B200018169CF3992381F0809186029091870258 +:104B3000892B09F064C010927F020895823F49F4E6 +:104B400097FFF0CF10928402809185028111ECCF03 +:104B5000E0CF833F19F41916ACF3E4CF209186021D +:104B6000893F29F41216F4F610928602DBCF8A3FB1 +:104B700019F427FFD7CFF8CF209187028B3F29F474 +:104B800027FFD0CF10928702CDCF8C3F19F4121699 +:104B9000CCF3C8CF843F31F4809183028E7F809321 +:104BA0008302C0CF853F21F4809183028D7FF7CFB0 +:104BB000863F21F4809183028B7FF1CF873F21F4E0 +:104BC00080918302877FEBCF883F21F4809183021D +:104BD0008F7EE5CF8D3F31F4809181028E7F80936F +:104BE0008102A0CF8E3F21F4809181028D7FF7CF8B +:104BF0008F3F09F097CF809181028B7FF0CF08958E +:104C00008091770283FF7EC08AE098E00E945D0574 +:104C1000809183021F928F9385E098E09F938F93FA +:104C20000E94F60583E098E00E945D058091840271 +:104C3000282F082E000C330B3F938F9380E098E0D1 +:104C40009F938F930E94F6058EEF97E00E945D057B +:104C500080918502282F082E000C330B3F938F93F1 +:104C60008BEF97E09F938F930E94F60589EF97E073 +:104C70000E945D0580918602282F082E000C330BC0 +:104C80003F938F9386EF97E09F938F930E94F60553 +:104C900084EF97E00E945D0580918702282F082EFF +:104CA000000C330B3F938F9381EF97E09F938F938B +:104CB0000E94F6058EEE97E00E945D0580918002CD +:104CC0001F928F938BEE97E09F938F930E94F60530 +:104CD00089EE97E00E945D05809181021F928F937B +:104CE00086EE97E09F938F930E94F60583EE97E000 +:104CF0000E945D058DB79EB74C960FB6F8949EBF87 +:104D00000FBE8DBF0E9405249C019091840280916A +:104D10008502982B21F030937E0220937D029091A2 +:104D2000860280918702982B21F030937C02209399 +:104D30007B0282E892E00C947116EF92FF920F933F +:104D40001F93CF93DF9300D000D000D0CDB7DEB754 +:104D500086E0E2E8F2E0DE01119601900D928A957C +:104D6000E1F7E0908402F0908502009186021091B4 +:104D7000870210928402109285021092860210928D +:104D800087028E2D8F2991F080917D0290917E0275 +:104D90000E941124AC0190918002992309F43FC034 +:104DA000809126018417150608F447C0802F812BB7 +:104DB00091F080917B0290917C020E941124AC01C1 +:104DC00090917F02992309F477C080912201841782 +:104DD000150608F47FC08091840290918502892B8A +:104DE00090918602892B90918702892B11F00E9465 +:104DF000002686E0FE013196A2E8B2E001900D9215 +:104E00008A95E1F726960FB6F894DEBF0FBECDBFA8 +:104E1000DF91CF911F910F91FF90EF900895209116 +:104E200027018AE0289F900111242417350708F0F4 +:104E3000BDCF9F5F9093800202C09F3FD1F7EE20CD +:104E400059F00E94A0249FEF1E140CF491E0899F5A +:104E5000802D112480938402FF2059F00E94A02409 +:104E60009FEF1F140CF491E0899F802D11248093F3 +:104E7000850230918402332309F498CF2091850272 +:104E8000222309F493CF45EB3403C0011124992365 +:104E900059F09093840245EB2403900111243323AD +:104EA00039F03093850282CF81E080938402F3CF82 +:104EB00081E0809385027ACF209123018AE0289FA8 +:104EC000900111242417350708F085CF9F5F909338 +:104ED0007F0202C09F3FD1F7002359F00E94E324D4 +:104EE0009FEF10160CF491E0899F802D1124809380 +:104EF0008602112359F00E94E3249FEF11160CF44F +:104F000091E0899F802D1124809387023091860241 +:104F1000332309F460CF20918702222309F45BCF69 +:104F200045EB3403C0011124992359F09093860274 +:104F300045EB240390011124332339F03093870289 +:104F40004ACF81E080938602F3CF81E0809387028D +:104F500042CF86E0E2E8F2E0DF011D928A95E9F7B0 +:104F60001092800210927F02109281020895809127 +:104F7000AB0208959FB7F89410928A029FBF909158 +:104F80000D03943009F048C02091E9002F70309152 +:104F9000EC00932F917030FD90E8922B23E020934A +:104FA000E9002091EB0020FF34C02091EE0027FFA4 +:104FB00030C020918802222321F02091E80025FFB3 +:104FC00028C01092880226E03091E80035FF14C016 +:104FD0008093F1008091E80085FD27C08091E80072 +:104FE00080FFFCCF8091E8008E778093E8009F706F +:104FF0009093E90080E0089530910D03343049F436 +:105000003091EB0035FD05C0215041F481E08093E3 +:1050100088029F709093E9008FEF0895EFE9FFE019 +:105020003197F1F700C00000CFCF8FB7F89421E09F +:1050300020938A028FBFDBCFCF93DF9300D00F92F4 +:10504000CDB7DEB790910D03943019F589837B833A +:105050006A8382E08093E9008FEF9091E8008150AD +:1050600095FD06C095ED9A95F1F700008111F5CFF9 +:105070008091E80085FF0DC050E040E063E070E003 +:10508000CE0101960E94A62A8091E8008E77809337 +:10509000E8000F900F900F90DF91CF910895BC0121 +:1050A00084E00C941C28BC0183E00C941C289C0117 +:1050B00082E08093E9009FEF8091E800915085FDA8 +:1050C00006C085ED8A95F1F700009111F5CF80912A +:1050D000E80085FF0CC050E040E066E070E0C901E8 +:1050E0000E94A62A8091E8008E778093E8000895B8 +:1050F000CF93DF93EC01809132018823B1F180914D +:10510000AD0287FF32C060E282E08093E9008FEF5A +:105110009091E800815095FD06C095ED9A95F1F7C4 +:1051200000008111F5CF8091E80085FF1BC08091C0 +:10513000320170E050E040E0811104C050E040E0F6 +:1051400068E070E0CE010E94A62A8091E8008E7788 +:105150008093E80080E2FE01ABE8B2E001900D929E +:105160008A95E1F7DF91CF91089568E081E0CDCF96 +:1051700082E598E00E945D0580910C03811109C0D1 +:105180000E94362C0E94932C8091E20084608093D0 +:10519000E20008958EE498E00E945D0510920C03F1 +:1051A00008958AE498E00C945D0586E498E00C94F8 +:1051B0005D0582E498E00E945D050C94C423209173 +:1051C00089022F5F822F62E30E94462F992319F0F4 +:1051D0002093890208951092890280918A0288237F +:1051E000F1F080910D038430C1F49091E9009F703B +:1051F0002091EC00822F817020FD80E8892B93E0C4 +:105200009093E9009091EB0090FF04C09091EE0024 +:1052100097FD08C08F708093E90010928A0208956C +:105220001092F1009091E80095FDFACF9091E8007E +:1052300090FFF0CF9091E8009E779093E800EACF3E +:1052400042E061EC81E00E94B22B42E261EC82E03C +:105250000E94B22B42E261EC83E00C94B22B80916D +:105260000F03833009F45FC030F48130C1F1823024 +:1052700009F49BC008958A3009F487C08B3009F483 +:105280006DC0893009F04EC080910E03813209F063 +:1052900049C08091120390911303029708F042C015 +:1052A0008091E800877F8093E8008091E80082FF8A +:1052B00035C09091F3008091F200029729F480911B +:1052C000F1008B7F813021F48091F1008093AB025B +:1052D0008091E8008B778093E8000C94E62B809116 +:1052E0000E03813AF9F48091E800877F8093E8000B +:1052F0008091120390911303892B61F460E28BE893 +:1053000092E070E00E94F52A8091E8008B7780930C +:10531000E800089560E090E080E0F3CF80910D0315 +:105320008111C3CF089580910E03813AD9F78091FE +:10533000120390911303892BA9F78091E800877FCE +:105340008093E8008091E80080FFFCCF80913201DB +:105350008093F1008091E8008E77BDCF80910E039D +:10536000813201F78091120390911303892BD1F6BA +:105370008091E800877F8093E8000E94E62B80916F +:105380001003809332010C94591B80910E038132DB +:1053900049F68091E800877F8093E8000E94E62B21 +:1053A000809111038093AC02089580910E03813A9D +:1053B00009F0B8CF8091E800877F8093E800809162 +:1053C000E80080FFFCCF8091AC02C2CF84B7877F1A +:1053D00084BF0FB6F894A89580916000886180938F +:1053E0006000109260000FBE80E890E00FB6F89465 +:1053F00080936100909361000FBE0E94B8160E94D6 +:10540000362C0E94932C8091E20084608093E2000D +:105410008AEB97E20E94AA2178940E941B2F0E9497 +:10542000C21688E291E00E94051681E398E00E948E +:105430005D0580910D03853019F00E94F616F9CFB5 +:105440008DE298E00E945D050E94692380910B0324 +:10545000882379F30E94AC23882359F30E94902A71 +:10546000E8CF0C94332A292F33272330310521F13B +:1054700068F42130310509F449C02230310509F4BE +:105480004AC090E080E030E020E029C021323105C0 +:1054900081F122323105A9F76330710590F7FB01E4 +:1054A000EE0FFF1FE155FE4F2081318164557E4F85 +:1054B000FB01808190E013C099278130910599F01C +:1054C000009741F08230910589F00397D1F6E6E527 +:1054D000F8E002C0E0E8F8E0849190E09F01FA0172 +:1054E000318320830895EEE6F8E0F6CFECE5F8E0AE +:1054F000F3CF6330710528F6660F771FFB01EB547D +:10550000FE4F2081318189E090E0E9CF82E190E097 +:105510002FED38E0E4CF8BE590E024E838E0DFCFF2 +:1055200080E189BD82E189BD09B400FEFDCF809193 +:10553000D8008F7D8093D8008091E00082608093B6 +:10554000E0008091E00081FDFCCF0895AF92BF9212 +:10555000CF92DF92FF920F931F93CF93DF936C0153 +:10556000EB018A010E94052CF82E811123C0011540 +:10557000110539F0F80180819181C81BD90BC80E43 +:10558000D91EB12CA12C2097A9F08091E80085FDAF +:1055900022C08091E8008E778093E8000115110504 +:1055A000A1F0F80180819181A80EB91EB182A0827C +:1055B00085E0F82E8F2DDF91CF911F910F91FF90F5 +:1055C000DF90CF90BF90AF9008950E94052C882364 +:1055D000D1F2F82EEFCFF60181916F018093F100A7 +:1055E0002197FFEFAF1ABF0ACECFFC0180911403C1 +:1055F0009091150386179707A0F06115710529F49E +:105600009091E8009E779093E80090E06115710515 +:1056100051F4911108C08091E80082FF34C080E00D +:105620000895BC01F2CF80910D038823C1F185302C +:10563000C1F18091E80083FD30C08091E80082FDD7 +:10564000EACF8091E80080FFE1CF8091F3002091C4 +:10565000F200382F6115710519F02830310558F026 +:1056600091E02830310509F090E02091E8002E7794 +:105670002093E800CBCF81918093F10061507109B4 +:105680002F5F3F4FE7CF80910D03882341F0853096 +:1056900041F08091E80083FFBECF81E0089582E071 +:1056A000089583E00895FC018091140390911503FF +:1056B00086179707A0F06115710529F48091E8001D +:1056C0008E778093E80090E06115710551F4911197 +:1056D00008C08091E80082FF35C080E00895BC01D9 +:1056E000F2CF80910D038823C9F18530C9F18091F3 +:1056F000E80083FD31C08091E80082FDEACF80910F +:10570000E80080FFE1CF8091F3002091F200382F74 +:105710006115710519F02830310558F091E02830F5 +:10572000310509F090E08091E8008E778093E800E1 +:10573000CBCF84918093F1003196615071092F5F36 +:105740003F4FE6CF80910D03882341F0853041F033 +:105750008091E80083FFBDCF81E0089582E0089545 +:1057600083E00895982F973028F08F708093E90098 +:1057700081E008959093E900242F762F50E0981748 +:1057800031F07091EC002091ED005091F00021FD7E +:1057900002C09F5FE8CF3091EB003E7F3093EB007B +:1057A0003091ED003D7F3093ED003091EB003160A2 +:1057B0003093EB007093EC002093ED005093F000D9 +:1057C0002091EE0027FDE5CF80E0089580910E0343 +:1057D00087FF13C08091E80082FF06C08091E80037 +:1057E0008B778093E80004C080910D038111F2CF84 +:1057F000089580910D038823D9F38091E80080FFFC +:10580000F8CF8091E8008E77ECCF2091E4003091C2 +:10581000E50095E6A9012091EC00822F817020FF20 +:1058200006C08091E80080FF06C080E008952091C6 +:10583000E80022FD1AC080910D03882389F085308D +:1058400089F08091EB0085FD0FC02091E40030913C +:10585000E50042175307F9F29150E1F684E008950C +:1058600082E0089583E0089581E008950E94A42CC9 +:105870000E94AC2CE0EEF0E0808181608083E8ED56 +:10588000F0E080818F77808319BCA7EDB0E08C9128 +:105890008E7F8C9380818F7E808310920C0308957D +:1058A0000F931F93CF93DF930E94A42C0E94AC2CE4 +:1058B000C8EDD0E088818F7788838881806888836D +:1058C00088818F7D888319BC10920D031092090383 +:1058D00010920B0310920A0300EE10E0F801808191 +:1058E0008B7F808388818160888342E060E080E0F4 +:1058F0000E94B22BE1EEF0E080818E7F8083E2EEA9 +:10590000F0E0808181608083808188608083F801FD +:1059100080818E7F8083888180618883DF91CF91B1 +:105920001F910F910895E8EDF0E080818F7E8083D4 +:10593000E7EDF0E080818160808384E082BF81E0D8 +:1059400080930C030C94502CE8EDF0E080818E7F66 +:1059500080831092E20008951092DA001092E10024 +:1059600008951F920F920FB60F9211242F933F9319 +:105970004F935F936F937F938F939F93AF93BF9357 +:10598000EF93FF938091E10082FF0BC08091E200D2 +:1059900082FF07C08091E1008B7F8093E1000E942D +:1059A000DF288091DA0080FF19C08091D80080FF45 +:1059B00015C08091DA008E7F8093DA008091D90043 +:1059C00080FF96C080E189BD82E189BD09B400FEF7 +:1059D000FDCF81E080930D030E94B8288091E10003 +:1059E00080FF19C08091E20080FF15C08091E20025 +:1059F0008E7F8093E2008091E20080618093E200DC +:105A00008091D80080628093D80019BC85E0809393 +:105A10000D030E94D5288091E10084FF2BC0809166 +:105A2000E20084FF27C080E189BD82E189BD89B59C +:105A3000982F917080FFFBCF8091D8008F7D80934D +:105A4000D8008091E1008F7E8093E1008091E20098 +:105A50008F7E8093E2008091E20081608093E2007B +:105A600080910903882309F449C084E080930D03E1 +:105A70000E94D9288091E10083FF29C08091E20033 +:105A800083FF25C08091E100877F8093E10082E061 +:105A900080930D03109209038091E1008E7F809323 +:105AA000E1008091E2008E7F8093E2008091E2002D +:105AB00080618093E20042E060E080E00E94B22BCF +:105AC0008091F00088608093F0000E94D128FF91BF +:105AD000EF91BF91AF919F918F917F916F915F9166 +:105AE0004F913F912F910F900FBE0F901F901895DF +:105AF00019BC10920D030E94CA2870CF8091E30058 +:105B000087FD93E090930D03B3CF1F920F920FB6D2 +:105B10000F9211242F933F934F935F936F937F9333 +:105B20008F939F93AF93BF93CF93DF93EF93FF93A5 +:105B3000D091E900DF708091EC00C82FC17080FD2A +:105B4000C0E81092E9008091F000877F8093F00018 +:105B500078940E94C92D1092E9008091F00088602D +:105B60008093F000CD2BCF70C093E900FF91EF91AF +:105B7000DF91CF91BF91AF919F918F917F916F9165 +:105B80005F914F913F912F910F900FBE0F901F90FB +:105B900018951F93CF93DF93CDB7DEB7AA970FB6B3 +:105BA000F894DEBF0FBECDBF8EE093E02091F100F0 +:105BB000FC012193CF01F3E086319F07B9F70E94E2 +:105BC0002F298091E80083FF1EC180910E039091E0 +:105BD0000F039A3008F017C1E92FF0E0EF5BFF4C9C +:105BE0000C949C2F803899F0823809F00CC1809178 +:105BF00012038F70873008F006C18093E90080910E +:105C0000EB0085FB882780F91092E90006C080919F +:105C10000A0390910B03911182609091E800977FA5 +:105C20009093E8008093F1001092F1008091E800D9 +:105C30008E77E5C0882309F4D3C0823009F0E3C031 +:105C4000809110038111D6C0809112038F702FEFC5 +:105C5000280F263008F0D7C08093E9002091EB0090 +:105C600020FFC8C0933031F48091EB0080628093B4 +:105C7000EB00C0C09091EB0090619093EB0021E0AD +:105C800030E001C0220F8A95EAF72093EA001092D3 +:105C9000EA008091EB008860EACF8111B4C01091D6 +:105CA00010031F778091E3008078812B8093E300BD +:105CB0008091E800877F8093E8000E94E62B809126 +:105CC000E80080FFFCCF8091E30080688093E300D0 +:105CD00082E0111183E080930D0395C080588230DB +:105CE00008F091C080911003909111038C3D23E046 +:105CF0009207A1F583E08A838AE289834FB7F894FB +:105D0000DE01139620E03EE051E2E32FF0E05093F5 +:105D10005700E49120FF03C0E295EF703F5FEF7002 +:105D20008E2F90E0EA30C0F0C7968D939D932F5F41 +:105D3000243159F74FBF8091E800877F8093E800B6 +:105D40006AE270E0CE0101960E94F52A8091E80097 +:105D50008B778093E80057C0C096E7CF609112031D +:105D600070911303AE014F5F5F4F0E94312ABC0157 +:105D7000892B09F448C09091E800977F9093E80040 +:105D800089819A810E94532BE1CF8038E1F580917F +:105D9000E800877F8093E800809109038093F100F9 +:105DA00045CF811130C090911003923060F5809101 +:105DB000E800877F8093E800909309030E94E62B18 +:105DC00080910903882311F084E005C08091E300ED +:105DD00087FDFACF81E080930D030E94202913C034 +:105DE00080911003813079F481E0933009F080E0F4 +:105DF00080930B031092E9008091E800877F8093E5 +:105E0000E8000E94E62B8091E80083FF0AC08091A1 +:105E1000E800877F8093E8008091EB0080628093A8 +:105E2000EB00AA960FB6F894DEBF0FBECDBFDF9190 +:105E3000CF911F910895CF9380910D038823A1F0F6 +:105E4000C091E900CF709091EC00892F817090FD96 +:105E500080E8C82B1092E9008091E80083FD0E9441 +:105E6000C92DCF70C093E900CF910895DB018F93C6 +:105E70009F930E94B12FBF91AF91A29F800D911D62 +:105E8000A39F900DB29F900D11240895991B79E066 +:105E900004C0991F961708F0961B881F7A95C9F7BA +:105EA00080950895AA1BBB1B51E107C0AA1FBB1F09 +:105EB000A617B70710F0A61BB70B881F991F5A9596 +:105EC000A9F780959095BC01CD01089597FB072E09 +:105ED00016F4009407D077FD09D00E94522F07FCDA +:105EE00005D03EF4909581959F4F089570956195EA +:105EF0007F4F0895A1E21A2EAA1BBB1BFD010DC006 +:105F0000AA1FBB1FEE1FFF1FA217B307E407F50769 +:105F100020F0A21BB30BE40BF50B661F771F881F45 +:105F2000991F1A9469F760957095809590959B01DB +:105F3000AC01BD01CF010895EE0FFF1F0590F49154 +:105F4000E02D0994A29FB001B39FC001A39F700DE3 +:105F5000811D1124911DB29F700D811D1124911D71 +:105F600008950E94A22FA59F900DB49F900DA49F0D +:105F7000800D911D11240895FB01DC0102C00590E4 +:105F80000D9241505040D8F70895F999FECF92BD37 +:105F900081BDF89A992780B50895A6E1B0E044E064 +:105FA00050E00C94FF2FA8E1B0E042E050E00C94E8 +:105FB000FF2F262FF999FECF92BD81BDF89A019748 +:105FC00000B4021639F01FBA20BD0FB6F894FA9A41 +:105FD000F99A0FBE08950396272F0E94DA2F0E9488 +:105FE000D92F252F0E94DA2F242F0C94DA2F019617 +:105FF000272F0E94DA2F0C94D92FDC01CB01FC0152 +:10600000F999FECF06C0F2BDE1BDF89A319600B411 +:106010000D9241505040B8F70895F894FFCF3810D2 +:10602000401047104C10511056105B106010651056 +:106030006A106F1074103A103A103A103A103A1071 +:106040003A103A103A10141914196C196C19BE1937 +:10605000DA1941194119E519711A801A801ADC1AE6 +:1060600041194119E51A681B681B711B711B731BD1 +:10607000711B711B711B681B681B781B711B711BCB +:10608000781BF22D1A2E032F1A2E032F4D2E6E2E53 +:06609000032FC52ED12EE6 +:10609600010000009F060F0600000000000000003F +:1060A60000000000000000000014001414FF540259 +:1060B600140A32110F051411B727782857285328C8 +:1060C6004F2801E200E900EA00B500B600B700CDAE +:1060D600008301CC008A019201940121022302244B +:1060E600022502260227022A02B300B4006F0070BE +:1060F600008182833031323391929396973436669B +:1061060067F7F6F53790F0F1F40001E200E900EAEE +:1061160000B500B600B700CD008301CC008A01921D +:106126000194012102230224022502260227022AC3 +:1061360002B300B4006F00700081828340BC22CF9E +:0C614600091309F1089608AF08C808000A :00000001FF diff --git a/keyboards/kbdfans/kbd67/rev2/keymap.c b/keyboards/kbdfans/kbd67/rev2/keymap.c index 0210b060..21192066 100644 --- a/keyboards/kbdfans/kbd67/rev2/keymap.c +++ b/keyboards/kbdfans/kbd67/rev2/keymap.c @@ -21,6 +21,23 @@ enum { DOUBLE_TAP }; +enum { + ACCEL_0 = 0, + ACCEL_1 = 1, + ACCEL_2 = 2, +}; +enum { + ACCEL = SAFE_RANGE, + ACCEL_ADJ, +}; +static uint8_t acceleration_level = ACCEL_0; +void change_accel(void) { + acceleration_level++; + if (acceleration_level > ACCEL_2) { + acceleration_level = ACCEL_0; + } +} + enum td_keycodes { LAYERS // Our example key: `MOD(1)` when held, `TG(2)` when tapped. Add additional keycodes for each tapdance. }; @@ -43,8 +60,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [2] = LAYOUT_65_ansi(KC_ESC, KC_ESC, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, LCTL(LALT(KC_TAB)), KC_MS_BTN2, KC_MS_UP, KC_MS_BTN1, KC_NO, KC_NO, KC_MS_WH_UP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, LGUI(KC_DOWN), KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_NO, KC_NO, KC_MS_WH_LEFT, KC_MS_WH_RIGHT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_LSFT, KC_NO, KC_X, KC_C, KC_V, KC_NO, KC_NO, KC_MS_WH_DOWN, KC_NO, KC_NO, KC_NO, KC_RSFT, KC_NO, KC_NO, - KC_LCTL, KC_NO, TG(2), KC_NO, TG(2), KC_RALT, KC_RCTL, KC_NO, KC_NO, KC_NO), + ACCEL, KC_NO, KC_ESC, KC_NO, KC_NO, KC_NO, KC_NO, KC_MS_WH_DOWN, KC_NO, KC_NO, KC_NO, KC_RSFT, KC_NO, KC_NO, + KC_LCTL, KC_NO, KC_LALT, ACCEL_ADJ, TG(2), KC_RALT, KC_RCTL, KC_NO, KC_NO, KC_NO), }; // Customized HSV values for layer highlights @@ -93,6 +110,46 @@ void matrix_init_user(void) { void matrix_scan_user(void) { }; +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case ACCEL: + if (record->event.pressed) { + switch(acceleration_level) { + case ACCEL_0: + register_code16(KC_ACL0); + break; + case ACCEL_1: + register_code16(KC_ACL1); + break; + case ACCEL_2: + register_code16(KC_ACL2); + break; + } + } else { + switch(acceleration_level) { + case ACCEL_0: + unregister_code16(KC_ACL0); + break; + case ACCEL_1: + unregister_code16(KC_ACL1); + break; + case ACCEL_2: + unregister_code16(KC_ACL2); + break; + } + } + return false; // Skip all further processing of this key + case ACCEL_ADJ: + if (record->event.pressed) { + } + else { + change_accel(); + } + default: + return true; // Process all other keycodes normally + } +} + uint8_t cur_dance(qk_tap_dance_state_t *state) { if (state->count == 1) { if (!state->pressed) return SINGLE_TAP; diff --git a/keyboards/kbdfans/kbd67/rev2/layer-3.json b/keyboards/kbdfans/kbd67/rev2/layer-3.json index f8052782..e820e96c 100644 --- a/keyboards/kbdfans/kbd67/rev2/layer-3.json +++ b/keyboards/kbdfans/kbd67/rev2/layer-3.json @@ -98,15 +98,11 @@ ], [ { - "a": 6, "w": 2.25 }, - "Shift", - { - "a": 7 - }, - "", + "Accel", "", + "Esc", "", "", "", @@ -148,8 +144,8 @@ "a": 7, "w": 6.25 }, - "", - "", + "Accel Mode", + "TG(2)", "Alt", "Ctrl", "", diff --git a/keyboards/kbdfans/kbd67/rev2/layer-3.png b/keyboards/kbdfans/kbd67/rev2/layer-3.png index 76fd227e9b53a665150d67d9877f446dacc1fcb3..e1933290fdc5bcf5b13060ffcdcf815a247e65f1 100644 GIT binary patch literal 22969 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 literal 20868 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 ACCEL_2) { + acceleration_level = ACCEL_0; + } +} + enum td_keycodes { LAYERS // Our example key: `MOD(1)` when held, `TG(2)` when tapped. Add additional keycodes for each tapdance. }; @@ -73,8 +90,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [2] = LAYOUT_65_ansi_blocker(KC_ESC, KC_ESC, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, LCTL(LALT(KC_TAB)), KC_MS_BTN2, KC_MS_UP, KC_MS_BTN1, KC_NO, KC_NO, KC_MS_WH_UP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, LGUI(KC_DOWN), KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_NO, KC_NO, KC_MS_WH_LEFT, KC_MS_WH_RIGHT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_LSFT, KC_NO, KC_X, KC_C, KC_V, KC_NO, KC_NO, KC_MS_WH_DOWN, KC_NO, KC_NO, KC_NO, KC_RSFT, KC_NO, KC_NO, - KC_LCTL, KC_NO, TG(2), KC_NO, TG(2), KC_NO, KC_NO, KC_NO, KC_NO), + ACCEL, KC_NO, KC_ESC, KC_NO, KC_NO, KC_NO, KC_NO, KC_MS_WH_DOWN, KC_NO, KC_NO, KC_NO, KC_RSFT, KC_NO, KC_NO, + KC_LCTL, KC_NO, KC_LALT, ACCEL_ADJ, TG(2), KC_NO, KC_NO, KC_NO, KC_NO), }; const uint8_t PROGMEM ledcolors[][DRIVER_LED_TOTAL][3] = { @@ -94,8 +111,8 @@ const uint8_t PROGMEM ledcolors[][DRIVER_LED_TOTAL][3] = { {RGB_KMN_PRPL}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_PRPL}, {RGB_KMN_PRPL}, {RGB_KMN_PRPL}, {RGB_KMN_PRPL}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_PRPL}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_PRPL}, {RGB_KMN_PRPL}, {RGB_KMN_PRPL}, {RGB_KMN_PRPL}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_PRPL}, {RGB_KMN_PRPL}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, - {RGB_KMN_PRPL}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_PRPL}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, - {RGB_KMN_PRPL}, {RGB_KMN_NO_COLOR}, {RGB_KMN_PRPL}, {RGB_KMN_NO_COLOR}, {RGB_KMN_PRPL}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, + {RGB_KMN_PRPL}, {RGB_KMN_NO_COLOR}, {RGB_KMN_PRPL}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_PRPL}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, + {RGB_KMN_PRPL}, {RGB_KMN_NO_COLOR}, {RGB_KMN_PRPL}, {RGB_KMN_PRPL}, {RGB_KMN_PRPL}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, // Underglow == 38 LEDS {RGB_KMN_PRPL}, {RGB_KMN_PRPL}, {RGB_KMN_PRPL}, {RGB_KMN_PRPL}, {RGB_KMN_PRPL}, {RGB_KMN_PRPL}, {RGB_KMN_PRPL}, {RGB_KMN_PRPL}, {RGB_KMN_PRPL}, {RGB_KMN_PRPL}, {RGB_KMN_PRPL}, {RGB_KMN_PRPL}, {RGB_KMN_PRPL}, {RGB_KMN_PRPL}, {RGB_KMN_PRPL}, {RGB_KMN_PRPL}, {RGB_KMN_PRPL}, {RGB_KMN_PRPL}, {RGB_KMN_PRPL}, {RGB_KMN_PRPL}, @@ -117,6 +134,46 @@ void matrix_init_user(void) { void matrix_scan_user(void) { }; +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case ACCEL: + if (record->event.pressed) { + switch(acceleration_level) { + case ACCEL_0: + register_code16(KC_ACL0); + break; + case ACCEL_1: + register_code16(KC_ACL1); + break; + case ACCEL_2: + register_code16(KC_ACL2); + break; + } + } else { + switch(acceleration_level) { + case ACCEL_0: + unregister_code16(KC_ACL0); + break; + case ACCEL_1: + unregister_code16(KC_ACL1); + break; + case ACCEL_2: + unregister_code16(KC_ACL2); + break; + } + } + return false; // Skip all further processing of this key + case ACCEL_ADJ: + if (record->event.pressed) { + } + else { + change_accel(); + } + default: + return true; // Process all other keycodes normally + } +} + uint8_t cur_dance(qk_tap_dance_state_t *state) { if (state->count == 1) { if (!state->pressed) return SINGLE_TAP; @@ -207,81 +264,3 @@ void rgb_matrix_indicators_user(void) { rgb_matrix_set_color(CAPS_LED, RGB_KMN_CYAN_HILIGHT); } } - -#define MODS_SHIFT (get_mods() & MOD_BIT(KC_LSHIFT) || get_mods() & MOD_BIT(KC_RSHIFT)) -#define MODS_CTRL (get_mods() & MOD_BIT(KC_LCTL) || get_mods() & MOD_BIT(KC_RCTRL)) -#define MODS_ALT (get_mods() & MOD_BIT(KC_LALT) || get_mods() & MOD_BIT(KC_RALT)) - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - static uint32_t key_timer; - - switch (keycode) { - case U_T_AUTO: - if (record->event.pressed && MODS_SHIFT && MODS_CTRL) { - TOGGLE_FLAG_AND_PRINT(usb_extra_manual, "USB extra port manual mode"); - } - return false; - case U_T_AGCR: - if (record->event.pressed && MODS_SHIFT && MODS_CTRL) { - TOGGLE_FLAG_AND_PRINT(usb_gcr_auto, "USB GCR auto mode"); - } - return false; - case DBG_TOG: - if (record->event.pressed) { - TOGGLE_FLAG_AND_PRINT(debug_enable, "Debug mode"); - } - return false; - case DBG_MTRX: - if (record->event.pressed) { - TOGGLE_FLAG_AND_PRINT(debug_matrix, "Debug matrix"); - } - return false; - case DBG_KBD: - if (record->event.pressed) { - TOGGLE_FLAG_AND_PRINT(debug_keyboard, "Debug keyboard"); - } - return false; - case DBG_MOU: - if (record->event.pressed) { - TOGGLE_FLAG_AND_PRINT(debug_mouse, "Debug mouse"); - } - return false; - case MD_BOOT: - if (record->event.pressed) { - key_timer = timer_read32(); - } else { - if (timer_elapsed32(key_timer) >= 500) { - reset_keyboard(); - } - } - return false; - case RGB_TOG: - if (record->event.pressed) { - switch (rgb_matrix_get_flags()) { - case LED_FLAG_ALL: { - rgb_matrix_set_flags(LED_FLAG_KEYLIGHT); - rgb_matrix_set_color_all(0, 0, 0); - } - break; - case LED_FLAG_KEYLIGHT: { - rgb_matrix_set_flags(LED_FLAG_UNDERGLOW); - rgb_matrix_set_color_all(0, 0, 0); - } - break; - case LED_FLAG_UNDERGLOW: { - rgb_matrix_set_flags(LED_FLAG_NONE); - rgb_matrix_disable_noeeprom(); - } - break; - default: { - rgb_matrix_set_flags(LED_FLAG_ALL); - rgb_matrix_enable_noeeprom(); - } - break; - } - } - return false; - default: - return true; //Process all other keycodes normally - } -} diff --git a/keyboards/massdrop/alt/layer-3.json b/keyboards/massdrop/alt/layer-3.json index d93e91ca..e0910dce 100644 --- a/keyboards/massdrop/alt/layer-3.json +++ b/keyboards/massdrop/alt/layer-3.json @@ -67,8 +67,8 @@ }, "", "", - "Left Click", - "Right Click", + "Wheel Left", + "Wheel Right", "", "", "", @@ -80,15 +80,11 @@ ], [ { - "a": 6, "w": 2.25 }, - "Shift", - { - "a": 7 - }, - "", + "Accel", "", + "Esc", "", "", "", @@ -106,7 +102,7 @@ { "w": 1.75 }, - "", + "Shift", "", "" ], @@ -130,11 +126,11 @@ "a": 7, "w": 6.25 }, - "", + "Accel Mode", { "w": 1.25 }, - "", + "TG(2)", { "w": 1.25 }, diff --git a/keyboards/massdrop/alt/layer-3.png b/keyboards/massdrop/alt/layer-3.png index f14085168af5e777fbd8b4038fc1ef1843ad5761..ee66c8871656788294494c22c86841ab99f20179 100644 GIT binary patch literal 23178 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 LlYb*?bo+k+9>pbq literal 21090 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 rfyMxx2a=xkAU^_%1G*f!jh+d%yW(ymP*9 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 Hxup0fU!7C= diff --git a/qmk/keyboards/kbdfans/kbd67/rev2/keymaps/kemonine/config.h b/qmk/keyboards/kbdfans/kbd67/rev2/keymaps/kemonine/config.h index 189046a7..d8a0c103 100644 --- a/qmk/keyboards/kbdfans/kbd67/rev2/keymaps/kemonine/config.h +++ b/qmk/keyboards/kbdfans/kbd67/rev2/keymaps/kemonine/config.h @@ -12,3 +12,4 @@ #define MOUSEKEY_WHEEL_INTERVAL 50 #define MOUSEKEY_WHEEL_TIME_TO_MAX 20 #define MOUSEKEY_WHEEL_MAX_SPEED 10 +#define MK_COMBINED diff --git a/qmk/keyboards/kbdfans/kbd67/rev2/keymaps/kemonine/keymap.c b/qmk/keyboards/kbdfans/kbd67/rev2/keymaps/kemonine/keymap.c index 0210b060..21192066 100644 --- a/qmk/keyboards/kbdfans/kbd67/rev2/keymaps/kemonine/keymap.c +++ b/qmk/keyboards/kbdfans/kbd67/rev2/keymaps/kemonine/keymap.c @@ -21,6 +21,23 @@ enum { DOUBLE_TAP }; +enum { + ACCEL_0 = 0, + ACCEL_1 = 1, + ACCEL_2 = 2, +}; +enum { + ACCEL = SAFE_RANGE, + ACCEL_ADJ, +}; +static uint8_t acceleration_level = ACCEL_0; +void change_accel(void) { + acceleration_level++; + if (acceleration_level > ACCEL_2) { + acceleration_level = ACCEL_0; + } +} + enum td_keycodes { LAYERS // Our example key: `MOD(1)` when held, `TG(2)` when tapped. Add additional keycodes for each tapdance. }; @@ -43,8 +60,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [2] = LAYOUT_65_ansi(KC_ESC, KC_ESC, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, LCTL(LALT(KC_TAB)), KC_MS_BTN2, KC_MS_UP, KC_MS_BTN1, KC_NO, KC_NO, KC_MS_WH_UP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, LGUI(KC_DOWN), KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_NO, KC_NO, KC_MS_WH_LEFT, KC_MS_WH_RIGHT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_LSFT, KC_NO, KC_X, KC_C, KC_V, KC_NO, KC_NO, KC_MS_WH_DOWN, KC_NO, KC_NO, KC_NO, KC_RSFT, KC_NO, KC_NO, - KC_LCTL, KC_NO, TG(2), KC_NO, TG(2), KC_RALT, KC_RCTL, KC_NO, KC_NO, KC_NO), + ACCEL, KC_NO, KC_ESC, KC_NO, KC_NO, KC_NO, KC_NO, KC_MS_WH_DOWN, KC_NO, KC_NO, KC_NO, KC_RSFT, KC_NO, KC_NO, + KC_LCTL, KC_NO, KC_LALT, ACCEL_ADJ, TG(2), KC_RALT, KC_RCTL, KC_NO, KC_NO, KC_NO), }; // Customized HSV values for layer highlights @@ -93,6 +110,46 @@ void matrix_init_user(void) { void matrix_scan_user(void) { }; +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case ACCEL: + if (record->event.pressed) { + switch(acceleration_level) { + case ACCEL_0: + register_code16(KC_ACL0); + break; + case ACCEL_1: + register_code16(KC_ACL1); + break; + case ACCEL_2: + register_code16(KC_ACL2); + break; + } + } else { + switch(acceleration_level) { + case ACCEL_0: + unregister_code16(KC_ACL0); + break; + case ACCEL_1: + unregister_code16(KC_ACL1); + break; + case ACCEL_2: + unregister_code16(KC_ACL2); + break; + } + } + return false; // Skip all further processing of this key + case ACCEL_ADJ: + if (record->event.pressed) { + } + else { + change_accel(); + } + default: + return true; // Process all other keycodes normally + } +} + uint8_t cur_dance(qk_tap_dance_state_t *state) { if (state->count == 1) { if (!state->pressed) return SINGLE_TAP; diff --git a/qmk/keyboards/massdrop/alt/keymaps/kemonine/config.h b/qmk/keyboards/massdrop/alt/keymaps/kemonine/config.h index c131bf2e..fd4dbf9c 100644 --- a/qmk/keyboards/massdrop/alt/keymaps/kemonine/config.h +++ b/qmk/keyboards/massdrop/alt/keymaps/kemonine/config.h @@ -10,3 +10,4 @@ #define MOUSEKEY_WHEEL_INTERVAL 50 #define MOUSEKEY_WHEEL_TIME_TO_MAX 20 #define MOUSEKEY_WHEEL_MAX_SPEED 10 +#define MK_COMBINED diff --git a/qmk/keyboards/massdrop/alt/keymaps/kemonine/keymap.c b/qmk/keyboards/massdrop/alt/keymaps/kemonine/keymap.c index e95555ea..af3af870 100644 --- a/qmk/keyboards/massdrop/alt/keymaps/kemonine/keymap.c +++ b/qmk/keyboards/massdrop/alt/keymaps/kemonine/keymap.c @@ -45,6 +45,23 @@ enum { DOUBLE_TAP }; +enum { + ACCEL_0 = 0, + ACCEL_1 = 1, + ACCEL_2 = 2, +}; +enum { + ACCEL = SAFE_RANGE, + ACCEL_ADJ, +}; +static uint8_t acceleration_level = ACCEL_0; +void change_accel(void) { + acceleration_level++; + if (acceleration_level > ACCEL_2) { + acceleration_level = ACCEL_0; + } +} + enum td_keycodes { LAYERS // Our example key: `MOD(1)` when held, `TG(2)` when tapped. Add additional keycodes for each tapdance. }; @@ -73,8 +90,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [2] = LAYOUT_65_ansi_blocker(KC_ESC, KC_ESC, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, LCTL(LALT(KC_TAB)), KC_MS_BTN2, KC_MS_UP, KC_MS_BTN1, KC_NO, KC_NO, KC_MS_WH_UP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, LGUI(KC_DOWN), KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_NO, KC_NO, KC_MS_WH_LEFT, KC_MS_WH_RIGHT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_LSFT, KC_NO, KC_X, KC_C, KC_V, KC_NO, KC_NO, KC_MS_WH_DOWN, KC_NO, KC_NO, KC_NO, KC_RSFT, KC_NO, KC_NO, - KC_LCTL, KC_NO, TG(2), KC_NO, TG(2), KC_NO, KC_NO, KC_NO, KC_NO), + ACCEL, KC_NO, KC_ESC, KC_NO, KC_NO, KC_NO, KC_NO, KC_MS_WH_DOWN, KC_NO, KC_NO, KC_NO, KC_RSFT, KC_NO, KC_NO, + KC_LCTL, KC_NO, KC_LALT, ACCEL_ADJ, TG(2), KC_NO, KC_NO, KC_NO, KC_NO), }; const uint8_t PROGMEM ledcolors[][DRIVER_LED_TOTAL][3] = { @@ -94,8 +111,8 @@ const uint8_t PROGMEM ledcolors[][DRIVER_LED_TOTAL][3] = { {RGB_KMN_PRPL}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_PRPL}, {RGB_KMN_PRPL}, {RGB_KMN_PRPL}, {RGB_KMN_PRPL}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_PRPL}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_PRPL}, {RGB_KMN_PRPL}, {RGB_KMN_PRPL}, {RGB_KMN_PRPL}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_PRPL}, {RGB_KMN_PRPL}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, - {RGB_KMN_PRPL}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_PRPL}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, - {RGB_KMN_PRPL}, {RGB_KMN_NO_COLOR}, {RGB_KMN_PRPL}, {RGB_KMN_NO_COLOR}, {RGB_KMN_PRPL}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, + {RGB_KMN_PRPL}, {RGB_KMN_NO_COLOR}, {RGB_KMN_PRPL}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_PRPL}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, + {RGB_KMN_PRPL}, {RGB_KMN_NO_COLOR}, {RGB_KMN_PRPL}, {RGB_KMN_PRPL}, {RGB_KMN_PRPL}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, {RGB_KMN_NO_COLOR}, // Underglow == 38 LEDS {RGB_KMN_PRPL}, {RGB_KMN_PRPL}, {RGB_KMN_PRPL}, {RGB_KMN_PRPL}, {RGB_KMN_PRPL}, {RGB_KMN_PRPL}, {RGB_KMN_PRPL}, {RGB_KMN_PRPL}, {RGB_KMN_PRPL}, {RGB_KMN_PRPL}, {RGB_KMN_PRPL}, {RGB_KMN_PRPL}, {RGB_KMN_PRPL}, {RGB_KMN_PRPL}, {RGB_KMN_PRPL}, {RGB_KMN_PRPL}, {RGB_KMN_PRPL}, {RGB_KMN_PRPL}, {RGB_KMN_PRPL}, {RGB_KMN_PRPL}, @@ -117,6 +134,46 @@ void matrix_init_user(void) { void matrix_scan_user(void) { }; +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case ACCEL: + if (record->event.pressed) { + switch(acceleration_level) { + case ACCEL_0: + register_code16(KC_ACL0); + break; + case ACCEL_1: + register_code16(KC_ACL1); + break; + case ACCEL_2: + register_code16(KC_ACL2); + break; + } + } else { + switch(acceleration_level) { + case ACCEL_0: + unregister_code16(KC_ACL0); + break; + case ACCEL_1: + unregister_code16(KC_ACL1); + break; + case ACCEL_2: + unregister_code16(KC_ACL2); + break; + } + } + return false; // Skip all further processing of this key + case ACCEL_ADJ: + if (record->event.pressed) { + } + else { + change_accel(); + } + default: + return true; // Process all other keycodes normally + } +} + uint8_t cur_dance(qk_tap_dance_state_t *state) { if (state->count == 1) { if (!state->pressed) return SINGLE_TAP; @@ -207,81 +264,3 @@ void rgb_matrix_indicators_user(void) { rgb_matrix_set_color(CAPS_LED, RGB_KMN_CYAN_HILIGHT); } } - -#define MODS_SHIFT (get_mods() & MOD_BIT(KC_LSHIFT) || get_mods() & MOD_BIT(KC_RSHIFT)) -#define MODS_CTRL (get_mods() & MOD_BIT(KC_LCTL) || get_mods() & MOD_BIT(KC_RCTRL)) -#define MODS_ALT (get_mods() & MOD_BIT(KC_LALT) || get_mods() & MOD_BIT(KC_RALT)) - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - static uint32_t key_timer; - - switch (keycode) { - case U_T_AUTO: - if (record->event.pressed && MODS_SHIFT && MODS_CTRL) { - TOGGLE_FLAG_AND_PRINT(usb_extra_manual, "USB extra port manual mode"); - } - return false; - case U_T_AGCR: - if (record->event.pressed && MODS_SHIFT && MODS_CTRL) { - TOGGLE_FLAG_AND_PRINT(usb_gcr_auto, "USB GCR auto mode"); - } - return false; - case DBG_TOG: - if (record->event.pressed) { - TOGGLE_FLAG_AND_PRINT(debug_enable, "Debug mode"); - } - return false; - case DBG_MTRX: - if (record->event.pressed) { - TOGGLE_FLAG_AND_PRINT(debug_matrix, "Debug matrix"); - } - return false; - case DBG_KBD: - if (record->event.pressed) { - TOGGLE_FLAG_AND_PRINT(debug_keyboard, "Debug keyboard"); - } - return false; - case DBG_MOU: - if (record->event.pressed) { - TOGGLE_FLAG_AND_PRINT(debug_mouse, "Debug mouse"); - } - return false; - case MD_BOOT: - if (record->event.pressed) { - key_timer = timer_read32(); - } else { - if (timer_elapsed32(key_timer) >= 500) { - reset_keyboard(); - } - } - return false; - case RGB_TOG: - if (record->event.pressed) { - switch (rgb_matrix_get_flags()) { - case LED_FLAG_ALL: { - rgb_matrix_set_flags(LED_FLAG_KEYLIGHT); - rgb_matrix_set_color_all(0, 0, 0); - } - break; - case LED_FLAG_KEYLIGHT: { - rgb_matrix_set_flags(LED_FLAG_UNDERGLOW); - rgb_matrix_set_color_all(0, 0, 0); - } - break; - case LED_FLAG_UNDERGLOW: { - rgb_matrix_set_flags(LED_FLAG_NONE); - rgb_matrix_disable_noeeprom(); - } - break; - default: { - rgb_matrix_set_flags(LED_FLAG_ALL); - rgb_matrix_enable_noeeprom(); - } - break; - } - } - return false; - default: - return true; //Process all other keycodes normally - } -}