From d9e4dad0a828a8a904f44dda090a4d6d08fe2948 Mon Sep 17 00:00:00 2001 From: Jack Humbert Date: Sat, 11 Jun 2016 13:31:31 -0400 Subject: Makefile redo & other features (#395) * .build containment implemented * no destructive variable setting - builds in either folder * make from 3 places * cleans before each build * make from root with keyboard=keyboard, keymap=keymap * make from keyboard/keyboard with keymap=keymap * make from keymaps/keymap * only implemented on planck * adds color diag to avr-gcc * makefiles for all plancks, clean-up * quick build-all makefile for plancks * reformatting of make output (colors) * color toggle, tmk path corrections * correct if statement for color * move config.h to main makefile, updates preonic, atomic * format update, all keyboards targets * makefile optional for build all target, alps and arrow_pad updated * alps updated * make planck default, trying out travis recipe for all-keyboards * all-keymaps target, different travis recipe * updates alps64 * updates keyboards to new format * updates clue* projects * all projects updated, specialise EZ .hex, let .hex through * updates travis * automatically find root, keyboard, keymap * silent echo, cleaned-up mass make output * updates all keyboards' .hex files except EZ * Rename Bantam44.c to bantam44.c * Rename Bantam44.h to bantam44.h * nananana * adds six key keyboard * does same to ez as rest * updates send_string example * brings ergodox_ez up to date * updates template/new project script * adds sixkeyboard * adds readme for sixkeyboard * adds sixkeyboard to travis * filenames, gitignore mess * define clock prescaler stuff manually * make quick, size test example * documentation and dfu-no-build --- keyboard/jd45/keymaps/justin/compiled.hex | 1154 +++++++++++++++++++++++++++++ keyboard/jd45/keymaps/justin/keymap.c | 101 +++ 2 files changed, 1255 insertions(+) create mode 100644 keyboard/jd45/keymaps/justin/compiled.hex create mode 100644 keyboard/jd45/keymaps/justin/keymap.c (limited to 'keyboard/jd45/keymaps/justin') diff --git a/keyboard/jd45/keymaps/justin/compiled.hex b/keyboard/jd45/keymaps/justin/compiled.hex new file mode 100644 index 0000000000..9bfb07db45 --- /dev/null +++ b/keyboard/jd45/keymaps/justin/compiled.hex @@ -0,0 +1,1154 @@ +:100000000C94AA020C94EE020C94EE020C94EE02F4 +:100010000C94EE020C94EE020C94EE020C94EE02A0 +:100020000C94EE020C94EE020C942C0D0C94FE0D2C +:100030000C940A1B0C94EE020C94EE020C94EE024B +:100040000C94EE020C94EE020C94EE020C94EE0270 +:100050000C94EE020C94721B0C94EE020C94EE02C3 +:100060000C94EE020C94C40F0C94EE020C94EE026D +:100070000C94EE020C94EE020C94EE020C94EE0240 +:100080000C94EE020C94EE020C94EE020C94EE0230 +:100090000C94EE020C94EE020C94EE020C94EE0220 +:1000A0000C94EE020C94EE020C94EE026B0E8D0E8C +:1000B0007B0F8D0E7B0FD20EF50E7B0F4A0F5D0F5F +:1000C00086128612B512B512F41214136A146A1449 +:1000D0001F136A14CF13CF1336143F146A14641419 +:1000E000DC13DC13DC13DC13DC13DC13DC13DC1398 +:1000F000DC13DC13DC13DC13DC13DC13DC13DC1388 +:10010000EC13FA130114081412147500011E021ED8 +:10011000011F021F012002200121022101220222CF +:10012000012302230124022401250225012802289B +:10013000007500011E021E011F021F012002200186 +:10014000210221012202220123022301240224018F +:1001500025022501280228007500011E021E011F2C +:10016000021F01200220012102210122022201237B +:100170000223012402240125022501280228002D42 +:1001800021F1A1F1A2F1A33522E7323932E2A42B09 +:1001900021000000C001C002C000000000000000FB +:1001A000000000000000000000000000000000004F +:1001B00000000000000000000000D200D000D129A3 +:1001C0000014001A00090013000A000D000F0018A7 +:1001D000001C00330034002A00C80004001500167B +:1001E00000170007000B00110008000C0012002887 +:1001F000000000E1001D001B000600190005000EB4 +:10020000001000360037003800C6000000C400E3CC +:1002100000C700C200C10000002C000000C500E6BD +:1002200000C300C00000000100CA00CB00CC0001E8 +:100230000001000100010001000100010052004C1A +:1002400000010001000100010001000100010001A6 +:10025000004A004B0050004F000000010001000167 +:1002600000010001000100010001004D004E00519D +:100270000001000000010001000100010001000078 +:100280000001000000010001000100010000000168 +:10029000000100010001000100010001002400250F +:1002A00000260027000100010001000100010001FB +:1002B00000010001002F002100220023003700016F +:1002C00000000001000100010001000100010030F8 +:1002D000001E001F0020003100010000000100DDB1 +:1002E000000100010001000000480000002E002D68 +:1002F0000001000100000001003A003B003C003D0D +:10030000003E003F004000410042004300440045E1 +:1003100000010001000100010001000100010001D5 +:1003200000010001000100010000000100010001C6 +:1003300000010001000100010001000100010001B5 +:1003400000010000000100010001000100010000A7 +:100350000001000000010001000100010000000197 +:10036000000100010001000100010001002400253E +:10037000002600270001000100010001000100012A +:1003800000010001002F002100220023003700019E +:100390000000000100010001000100010001003027 +:1003A000001E001F0020003100010000000100DDE0 +:1003B000000100010001000000480000002E002D97 +:1003C000000100010000000A034A00440034003527 +:1003D00000000012036700650065006B00680061A3 +:1003E0000063006B000000040309040902740004A8 +:1003F0000100A0FA09040000010301010009211114 +:10040000010001223F000705810308000A090401D9 +:10041000000103010200092111010001224D000722 +:1004200005820308000A0904020001030000000914 +:1004300021110100012236000705830308000A0983 +:100440000403000203000000092111010001222021 +:1004500000070584032000010705040320000112A2 +:1004600001100100000008EDFE60600100010200C3 +:10047000010631FF0974A1010975150025FF9520BA +:10048000750881020976150025FF952075089102EF +:10049000C005010980A101850216010026B7001AD6 +:1004A00001002AB700751095018100C0050C0901F3 +:1004B000A1018503160100269C021A01002A9C0254 +:1004C000751095018100C005010902A1010901A172 +:1004D00000050919012905150025019505750181FA +:1004E0000295017503810105010930093115812546 +:1004F0007F95027508810609381581257F9501755C +:10050000088106050C0A38021581257F95017508BA +:100510008106C0C005010906A101050719E029E708 +:100520001500250195087501810295017508810165 +:1005300005081901290595057501910295017503B5 +:1005400091010507190029FF150025FF950675087B +:100550008100C00011241FBECFEFDAE0DEBFCDBFA7 +:1005600004B603FE24C08091EC029091ED02A091AC +:10057000EE02B091EF028730904BA740B04BB9F438 +:100580001092EC021092ED021092EE021092EF0225 +:1005900014BE84B7877F84BF88E10FB6F894809338 +:1005A0006000109260000FBEE0E0F8E3099511E0F2 +:1005B000A0E0B1E0E6EBF7E402C005900D92A434B0 +:1005C000B107D9F712E0A4E4B1E001C01D92AC3E3E +:1005D000B107E1F70E94970A0C94D9230C9400000C +:1005E000279A2F988FEF9FEF909387008093860034 +:1005F0008AE08093800089E1809381000C94B0218F +:10060000282F81110BC080918000877F809380000C +:1006100010928D0010928C002F9808952F98809141 +:100620008000886080938000233019F48FEF9FEF63 +:100630000FC083E090E0821B9109880F991F2FEF74 +:100640003FEFA90102C0569547958A95E2F7CA0186 +:1006500090938D0080938C000895089508950E94D2 +:10066000F0028DE293E0892B11F00C942D03089594 +:100670008EE293E0892B11F00C942E030895FC0177 +:10068000613051F018F0623069F012C08281882325 +:1006900079F088E591E008958281882349F081E32B +:1006A00091E008958281882319F08AE091E008950D +:1006B00080E090E0089581E0089581E008950C9431 +:1006C0005D0308950F931F93CF93DF938C01FC017B +:1006D000C081D181CE010E94CE19BE010E940F04BB +:1006E000EC01B8010E945F03882309F48DC0F80172 +:1006F0008281882309F44AC080914F0181111FC073 +:10070000C431F0E5DF0709F051C00E94610381E0C8 +:1007100080934F010E943C1B90934E0180934D01AA +:1007200010924601109248011092470110924A011E +:100730001092490110924C0110924B0165C08091BA +:100740004D0190914E010E94481B883C910570F428 +:1007500080914601E82FF0E0EE0FFF1FE95BFE4FAE +:10076000D183C0838F5F809346014EC0C43880E53B +:10077000D80721F0C538D04501F13AC0F80182818F +:10078000882341F01092440182E01EC0C438E0E5A5 +:10079000DE0759F580914401811106C086E20E946E +:1007A0002A1186E20E94F21182E01CC0C438F0E5F2 +:1007B000DF0741F3C538D045D9F4F8018281882399 +:1007C00031F01092450180E20E9441121DC08091DB +:1007D0004501811106C087E20E942A1187E20E942A +:1007E000F21180E20E9448120FC0C538D04529F3AB +:1007F00081E08093440180934501C801DF91CF914E +:100800001F910F910C945B0380E0DF91CF911F91BA +:100810000F9108950C942F030C94380308959DE0D4 +:10082000799FF001112494E3899FE00DF11D1124BB +:10083000E60FF11DEE0FFF1FE154FE4F85919491DD +:100840000895880F991FFC01E150F0408591949123 +:100850000895880F991FFC01E158FE4F85919491EE +:1008600008950F931F93CF93DF93EC01811521E33C +:100870009207A0F5C11580E3D80708F0D7C0C83E9D +:10088000D105D8F4C03ED10508F003C2C83AD1055D +:1008900078F4C53AD10508F06AC0C130D10509F431 +:1008A00063C008F4F3C1C430D10508F0F2C1EEC151 +:1008B000CB3BD10508F466C0E9C1C11590E2D90768 +:1008C00008F0AFC0C11521E0D20708F0E2C1C03F77 +:1008D000D10508F4DBC18E0110651BC2C03880E56C +:1008E000D80700F5C03790E5D90708F0A3C0C115B7 +:1008F00020E5D20709F4ACC050F4CE019054803109 +:100900009F4008F0C3C1DF708E01106A02C2C1307F +:1009100080E5D80709F4AAC0C43190E5D90708F4E6 +:10092000ABC0B4C1C33820E5D20709F48EC050F47F +:10093000C13890E5D90709F482C008F083C000E00F +:1009400011EDE7C1C03181E5D80708F49FC1C11599 +:1009500097E5D90708F432C1CE019057811590412F +:1009600008F094C1DF708FC101E010E0D2C1C53A38 +:10097000D10509F490C1C63AD10509F08FC102E84A +:1009800010E4C7C1C83AD10509F48BC1C93AD105F1 +:1009900009F48AC1CA3AD10509F489C1CB3AD10513 +:1009A00009F488C1CC3AD10509F487C1CD3AD10503 +:1009B00009F486C1C03BD10509F485C1CE3AD10501 +:1009C00009F484C1CF3AD10509F483C1C13BD105F3 +:1009D00009F482C1C23BD10509F481C1C33BD105F1 +:1009E00009F480C1C43BD10509F47FC1C53BD105E1 +:1009F00009F47EC1C63BD10509F47DC1C73BD105D1 +:100A000009F47CC1C83BD10509F47BC1C93BD105C0 +:100A100009F47AC1CA3BD10509F479C100E014E4B4 +:100A200078C1CE019F700E94290474C1DD278E0118 +:100A3000106C6FC1CF70DD278E01146D6AC100E0AC +:100A400010ED67C100E012ED64C100E013ED61C17B +:100A50000E94D5148FEF94E32CE081509040204009 +:100A6000E1F700C000000E94971B53C18091CC02A7 +:100A700081608093CC024DC10E94421D811102C051 +:100A80000E94231D0E945F1D90E09093EB028093D3 +:100A9000EA02C23080E5D80721F48091EA02816041 +:100AA00086C0C43090E5D90721F48091EA028260C3 +:100AB0007EC0C63020E5D20721F48091EA0284602E +:100AC00076C0C83080E5D80719F48091EA0227C0C3 +:100AD000CA3090E5D90721F48091EA02806167C0AD +:100AE000CC3020E5D20721F48091EA0280625FC019 +:100AF000CE3080E5D80721F48091EA02806457C0A7 +:100B0000C03190E5D90721F48091EA0280684FC096 +:100B1000C23120E5D20729F48091EA02846088601E +:100B200046C0C33080E5D80721F48091EA028E7F69 +:100B30003EC0C53090E5D90721F48091EA028D7F4F +:100B400036C0C73020E5D20721F48091EA028B7FBE +:100B50002EC0C93080E5D80719F48091EA0226C07A +:100B6000CB3090E5D90721F48091EA028F7E1FC037 +:100B7000CD3020E5D20721F48091EA028F7D17C0A5 +:100B8000CF3080E5D80721F48091EA028F7B0FC037 +:100B9000C13190E5D90721F48091EA028F7707C02F +:100BA000C331D04531F48091EA028B7F877F8093F7 +:100BB000EA028091EA020E94631DABC08D2F992743 +:100BC0008F70992781309105D9F49E0123703327C6 +:100BD00002C0880F991F2A95E2F79C688E0144E0B5 +:100BE000000F111F4A95E1F700271370802B912BFE +:100BF00053E0CC0FDD1F5A95E1F7C076DD272FC0FB +:100C00008230910531F4DC2FCC278E01016F106A00 +:100C100080C08330910569F4CE018370992701E08B +:100C200010E002C0000F111F8A95E2F7C8019C680E +:100C30000FC084309105B9F4CE018370992701E08B +:100C400010E002C0000F111F8A95E2F7C8019A68F0 +:100C500023E0CC0FDD1F2A95E1F7C07ED7708C0111 +:100C60000C2B1D2B56C08530910531F4DC2FCC2781 +:100C70008E01046F106A4DC0069709F04AC0CF710B +:100C8000DD27DC2FCC278E01106243C000E010E08E +:100C900040C08E013EC001E810E43BC003E810E410 +:100CA00038C002EE14E435C009EE14E432C00AEE96 +:100CB00014E42FC005EB14E42CC006EB14E429C0A7 +:100CC00007EB14E426C00CEC14E423C00DEC14E490 +:100CD00020C003E815E41DC00AE815E41AC002E9C3 +:100CE00015E417C004E915E414C001E216E411C0CC +:100CF00003E216E40EC004E216E40BC005E216E4BB +:100D000008C006E216E405C007E216E402C00AE2E3 +:100D100016E4C801DF91CF911F910F9108959DE0D6 +:100D2000799FF001112494E3899FE00DF11D1124B6 +:100D3000E60FF11DEE0FFF1FE154FE4F85919491D8 +:100D4000803E9105E0F4803C910558F58133910592 +:100D500009F46FC048F48932910509F463C08A32FE +:100D6000910509F46DC072C089339105E9F08238AC +:100D70009105D1F08533910509F44DC067C0833EDC +:100D8000910581F138F4803E9105B9F0823E9105DC +:100D9000D9F05CC0863E910561F1873E9105A1F1D5 +:100DA00055C00E94210408952091EA0220FD02C04E +:100DB00021FF4CC080EE90E049C08091EA0280FFA4 +:100DC000F9CF89E390E042C08091EA0282FF0EC031 +:100DD0008091EA0284FF03C080E090E037C083EE98 +:100DE00090E034C08091EA0282FFF2CF82EE90E080 +:100DF0002DC08091EA0283FF0BC08091EA0284FD3E +:100E0000EBCF87EE90E022C08091EA0283FFF5CF1E +:100E100086EE90E01BC08091EA0285FF07C089E260 +:100E200090E014C08091EA0285FFF9CF85E390E05D +:100E30000DC08091EA0286FF07C08AE290E006C0FA +:100E40008091EA0286FFF9CF81E390E00E943104AD +:100E5000089508950C942907E82FF0E0EF5DFE4F08 +:100E60008081E82FEF70F0E082958F7021E030E014 +:100E7000A90102C0440F551F8A95E2F740A30895C7 +:100E80000F931F93CF93DF9385B7806885BF85B796 +:100E9000806885BFC3E0D0E001E010E0FE01EF5DB7 +:100EA000FE4F8081E82FEF70F0E021A182958F70D6 +:100EB000A80102C0440F551F8A95E2F7CA01822B90 +:100EC00081A38C2F0E942C07219740F78CE090E0A3 +:100ED00061E070E0FC01EC5EFE4F2081E22FEF70DC +:100EE000F0E042A122952F70DB0102C0AA0FBB1FC8 +:100EF0002A95E2F79D01242B22A3019758F7DF9151 +:100F0000CF911F910F910C940A04EF92FF920F93CF +:100F10001F93CF93DF9308E511E0C3E0EE24E39441 +:100F2000F12CD5E08C2F0E942C078CE090E040E063 +:100F300050E0FC01EC5EFE4F6081E62FEF70F0E0C8 +:100F400020A130E062956F7002C0359527956A95B3 +:100F5000E2F720FD09C09701082E02C0220F331FBF +:100F60000A94E2F7422B532B019718F7F80192915C +:100F700082918F018417950721F051834083D0938C +:100F800000018C2F0E942C07C15060F68091000157 +:100F900087FD2CC08150809300018F3F39F08FE98D +:100FA0009FE00197F1F700C0000020C0809156013A +:100FB0009091570190935F0180935E01809154015D +:100FC0009091550190935D0180935C018091520155 +:100FD0009091530190935B0180935A01809150014D +:100FE0009091510190935901809358010E940C04F3 +:100FF00081E0DF91CF911F910F91FF90EF900895C5 +:10100000E82FF0E0EE0FFF1FE85AFE4F808191813C +:101010000895089580916C0108950F931F93CF93C5 +:10102000DF9300D000D01F92CDB7DEB79C01809136 +:101030006101909162012817390709F493C0309338 +:10104000620120936101223E3105F1F1293E310513 +:1010500059F12A3E310559F1253B310559F1263B1D +:10106000310551F1273B310551F12C3C310561F13E +:101070002D3C310531F1233881E0380729F12A3838 +:1010800091E0390709F1223981E03807E9F0243984 +:1010900091E03907C9F0213282E03807B9F02332F4 +:1010A00092E0390789F415C090E040E114C090E067 +:1010B00040E211C092E001C094E040E00CC090E139 +:1010C000FCCF90E040E407C090E0F7CF90E044E030 +:1010D00002C090E041E089018DEF4C839D830E9426 +:1010E000AE0F80E00E94AE0F82E00E94AE0F4C81F6 +:1010F000842F0E94AE0F9D81892F0E94AE0F80E049 +:101100000E94AE0F80E00E94AE0F80E00E94AE0F02 +:1011100080E00E94AE0F8091E102843019F583E0F7 +:1011200089831B830A838093E9008FEF9091E80005 +:10113000815095FD06C095ED9A95F1F7000081115B +:10114000F5CF8091E80085FF0DC040E050E063E0FE +:1011500070E0CE0101960E941C0B8091E8008E7712 +:101160008093E8000F900F900F900F900F90DF91F9 +:10117000CF911F910F910895CF93DF9300D01F92CD +:10118000CDB7DEB72091E102243021F522E029839A +:101190009B838A8383E08093E9008FEF9091E8003E +:1011A000815095FD06C095ED9A95F1F700008111EB +:1011B000F5CF8091E80085FF0DC040E050E063E08E +:1011C00070E0CE0101960E941C0B8091E8008E77A2 +:1011D0008093E8000F900F900F90DF91CF910895CA +:1011E000CF93DF93EC018DEF0E94AE0F80E00E9461 +:1011F000AE0F83E00E94AE0F88810E94AE0F8981FE +:101200000E94AE0F8A810E94AE0F8B810E94AE0FAA +:101210008C810E94AE0F80E00E94AE0F8091E102AF +:101220008430F9F482E08093E9008FEF9091E80038 +:10123000815095FD06C095ED9A95F1F7000081115A +:10124000F5CF8091E80085FF0CC040E050E065E0FC +:1012500070E0CE010E941C0B8091E8008E77809395 +:10126000E800DF91CF910895EF92FF920F931F93C3 +:10127000CF93DF93EC018DEF0E94AE0F8E017E01C4 +:1012800088E0E80EF11CF80181918F010E94AE0FF9 +:101290000E151F05C1F78091E102843039F581E018 +:1012A0008093E9008FEF9091E800815095FD06C092 +:1012B000F5EDFA95F1F700008111F5CF8091E80086 +:1012C00085FF14C040E050E068E070E0CE010E946D +:1012D0001C0B8091E8008E778093E80088E0FE0187 +:1012E000A4E6B1E001900D928A95E1F7DF91CF91EC +:1012F0001F910F91FF90EF9008958091E00281116E +:1013000009C00E94B10C0E940E0D8091E200846021 +:101310008093E20008951092E002089508950895E0 +:101320000C94FF1A209160012F5F822F62E30E94CC +:101330006923992319F020936001089510926001A8 +:1013400080916301882371F18091E102843041F53D +:101350008091E9008F702091EC00922F917020FD18 +:1013600090E8892B94E09093E9009091EB0090FF36 +:1013700014C09091EE0097FF10C09091E80095FF87 +:1013800003C01092F100F9CF9091E80090FF05C0E2 +:101390009091E8009E779093E8008F708093E90029 +:1013A00010926301089542E061EC81E00E942B0CF1 +:1013B00042E061EC82E00E942B0C42E061EC83E0B1 +:1013C0000E942B0C42E261EC84E00C942B0C809187 +:1013D000E302833009F453C030F4813071F082307D +:1013E00009F48CC008958A3009F478C08B3009F470 +:1013F0005EC0893009F09AC020C08091E202813A33 +:1014000009F094C08091E800877F8093E800809184 +:10141000E6029091E702892B21F468E084E691E0EE +:1014200003C060E080E090E070E00E94670B809174 +:10143000E8008B778093E80008958091E202813282 +:1014400009F074C08091E6029091E702892B09F0BF +:101450006DC08091E800877F8093E8008091E8006C +:1014600082FD05C08091E1028111F8CF5FC08091BB +:10147000F10080936C018091E8008B7753C08091DC +:10148000E202813A09F052C08091E6029091E702AF +:10149000892B09F04BC08091E800877F8093E8009A +:1014A0008091E80080FFFCCF80910B0136C08091D5 +:1014B000E2028132D9F58091E6029091E702892B10 +:1014C000A9F58091E800877F8093E8000E94600C76 +:1014D0008091E40280930B010C94D5148091E20278 +:1014E000813221F58091E800877F8093E8000E9497 +:1014F000600C8091E50280936D0108958091E20275 +:10150000813AA1F48091E800877F8093E800809180 +:10151000E80080FFFCCF80916D018093F100809105 +:10152000E8008E778093E8000C94600C089584B7EF +:10153000877F84BF88E10FB6F89480936000109293 +:1015400060000FBE90E080E80FB6F89480936100D1 +:10155000909361000FBE0E9442100E94B10C0E9445 +:101560000E0D8091E20084608093E20078940E94E6 +:10157000B00F0E94930F0E94441081E091E00E94FE +:10158000EE0F0E944C10FDCF292F33272330310559 +:10159000C9F064F42130310581F02230310509F0C1 +:1015A00043C084E790E02BEE33E042C021323105A6 +:1015B000F1F02232310541F137C082E190E02FE5B0 +:1015C00034E036C099278130910541F08230910591 +:1015D00041F0892B49F5E7EEF3E005C0E3EDF3E0D8 +:1015E00002C0E7ECF3E0849190E09F0121C06430F9 +:1015F000D8F4E62FF0E0EE0FFF1FEF5CFE4F2081E6 +:10160000318189E090E014C0643070F470E0FB0137 +:10161000EE0FFF1FE75DFE4F20813181FB01EB5D87 +:10162000FE4F808190E004C080E090E020E030E058 +:10163000FA01318320830895CF92DF92EF92FF92D7 +:101640000F931F93CF93DF93EC018B016A010E94EC +:101650007F0C811133C0C114D10439F0F6018081AF +:101660009181081B190BC80FD91FE12CF12C011512 +:10167000110519F18091E80085FD16C08091E80000 +:101680008E778093E800C114D10449F0F60180817F +:101690009181E80EF91EF182E08285E00FC00E9480 +:1016A0007F0C882321F30AC089918093F1000150B7 +:1016B0001109FFEFEF1AFF0ADACF80E0DF91CF9137 +:1016C0001F910F91FF90EF90DF90CF9008952091A0 +:1016D000E8023091E9022617370748F061157105D5 +:1016E00039F42091E8002E772093E80001C0B90179 +:1016F00040E061157105A9F12091E102222309F46E +:1017000043C0253009F442C02091E80023FD40C0C9 +:101710002091E80022FD32C02091E80020FFE9CFAF +:101720004091F3002091F20030E0342BFC01CF0116 +:101730006115710559F02830310540F4819180938D +:10174000F100615071092F5F3F4FF1CF41E0283028 +:10175000310509F040E02091E8002E772093E80061 +:10176000C8CF4111C9CF0AC08091E102882361F03E +:10177000853061F08091E80083FD0AC08091E80027 +:1017800082FFF2CF80E0089582E0089583E008951B +:1017900081E008952091E8023091E9022617370789 +:1017A00048F06115710539F42091E8002E772093F7 +:1017B000E80001C0B901FC0120E06115710591F15B +:1017C0008091E102882309F440C0853009F43FC0CC +:1017D0008091E80083FD3DC08091E80082FD2FC02C +:1017E0008091E80080FFE9CF2091F3008091F20022 +:1017F00090E0922B6115710559F08830910540F405 +:1018000024912093F1003196615071090196F2CF35 +:1018100021E0089709F020E08091E8008E7780931E +:10182000E800CBCF2111CCCF0AC08091E102882300 +:1018300061F0853061F08091E80083FD0AC08091FD +:10184000E80082FFF2CF80E0089582E0089583E00F +:10185000089581E00895982F973058F59093E90006 +:10186000981739F07091EC002091ED005091F00044 +:1018700003C0242F762F50E021FF19C03091EB00D8 +:101880003E7F3093EB003091ED003D7F3093ED00D3 +:101890003091EB0031603093EB007093EC002093BB +:1018A000ED005093F0002091EE0027FF07C09F5FEE +:1018B000D3CF8F708093E90081E0089580E0089590 +:1018C0008091E20287FF11C08091E80082FD05C08F +:1018D0008091E1028111F8CF11C08091E8008B77EF +:1018E0000BC08091E102882349F08091E80080FFDD +:1018F000F8CF8091E8008E778093E80008952091DA +:10190000E4003091E50095E64091EC00842F817071 +:1019100040FF22C08091E80080FD1CC08091E10260 +:10192000882391F0853091F08091EB0085FD10C007 +:101930004091E4005091E5004217530729F39A01C2 +:10194000915011F784E0089582E0089583E00895AE +:1019500081E0089580E008954091E80042FFDECFE5 +:1019600008950E941F0D0E94270DE0EEF0E0808197 +:1019700081608083E8EDF0E080818F77808319BCFF +:10198000A7EDB0E08C918E7F8C9380818F7E8083D9 +:101990001092E00208950F931F93CF93DF930E945C +:1019A0001F0D0E94270DC8EDD0E088818F778883B6 +:1019B00088818068888388818F7D888319BC109294 +:1019C000E1021092DD021092DF021092DE0200EEC0 +:1019D00010E0F80180818B7F80838881816088831B +:1019E00042E060E080E00E942B0CE1EEF0E08081BC +:1019F0008E7F8083E2EEF0E0808181608083808151 +:101A000088608083F80180818E7F808388818061F7 +:101A10008883DF91CF911F910F910895E8EDF0E059 +:101A200080818F7E8083E7EDF0E08081816080831C +:101A300084E082BF81E08093E0020C94CB0CE8ED5F +:101A4000F0E080818E7F80831092E20008951092F2 +:101A5000DA001092E10008951F920F920FB60F92D4 +:101A600011242F933F934F935F936F937F938F93A3 +:101A70009F93AF93BF93EF93FF938091E10082FF19 +:101A80000BC08091E20082FF07C08091E1008B7F54 +:101A90008093E1000E9492098091DA0080FF1FC0CC +:101AA0008091D80080FF1BC08091DA008E7F8093E8 +:101AB000DA008091D90080FF0DC080E189BD82E10C +:101AC00089BD09B400FEFDCF81E08093E1020E9450 +:101AD0007D0905C019BC1092E1020E948B0980911A +:101AE000E10080FF19C08091E20080FF15C0809165 +:101AF000E2008E7F8093E2008091E200806180931B +:101B0000E2008091D80080628093D80019BC85E003 +:101B10008093E1020E948F098091E10084FF30C030 +:101B20008091E20084FF2CC080E189BD82E189BD03 +:101B300009B400FEFDCF8091D8008F7D8093D8003E +:101B40008091E1008F7E8093E1008091E2008F7EA2 +:101B50008093E2008091E20081608093E2008091B6 +:101B6000DD02882311F084E007C08091E30087FD47 +:101B700002C081E001C083E08093E1020E949009ED +:101B80008091E10083FF29C08091E20083FF25C09E +:101B90008091E100877F8093E10082E08093E10201 +:101BA0001092DD028091E1008E7F8093E1008091B0 +:101BB000E2008E7F8093E2008091E200806180935A +:101BC000E20042E060E080E00E942B0C8091F00097 +:101BD00088608093F0000E948E09FF91EF91BF9181 +:101BE000AF919F918F917F916F915F914F913F91B5 +:101BF0002F910F900FBE0F901F9018951F920F926C +:101C00000FB60F9211242F933F934F935F936F93CF +:101C10007F938F939F93AF93BF93CF93DF93EF9374 +:101C2000FF93C091E900CF708091EC00D82FD17064 +:101C300080FDD0E81092E9008091F000877F8093CA +:101C4000F00078940E94420E1092E9008091F0001A +:101C500088608093F000CD2BCF70C093E900FF9196 +:101C6000EF91DF91CF91BF91AF919F918F917F9134 +:101C70006F915F914F913F912F910F900FBE0F90F9 +:101C80001F9018951F93CF93DF93CDB7DEB7AA9718 +:101C90000FB6F894DEBF0FBECDBFE2EEF2E088E0F3 +:101CA0008E0F9091F10091938E13FBCF0E94E70964 +:101CB0008091E80083FF1FC18091E2029091E302CE +:101CC000492F50E04A30510508F015C1FA01EA5A8F +:101CD000FF4F0C948923803881F0823809F00BC1C2 +:101CE0008091E6028F708093E9008091EB0085FB84 +:101CF000882780F91092E90006C08091DE02909159 +:101D0000DF02911182609091E800977F9093E80044 +:101D10008093F1001092F100C8C0282F2D7F09F0A8 +:101D2000EAC0882319F0823061F0E5C08091E402B6 +:101D3000813009F0E0C0933009F080E08093DF0249 +:101D40002BC08091E402811127C08091E6028F7040 +:101D500009F4D1C08093E9002091EB0020FF1CC062 +:101D6000933021F48091EB00806214C09091EB00DD +:101D700090619093EB0021E030E0A90102C0440F94 +:101D8000551F8A95E2F74093EA001092EA0080918D +:101D9000EB0088608093EB001092E9008091E800EE +:101DA000877F86C08111A7C01091E4021F778091C0 +:101DB000E3008078812B8093E3008091E800877FA7 +:101DC0008093E8000E94600C8091E80080FFFCCFC7 +:101DD0008091E30080688093E300111102C082E0EB +:101DE00001C083E08093E10286C08058823008F011 +:101DF00082C08091E4029091E5028C3D53E095070A +:101E000079F583E08A838AE289834FB7F894DE010B +:101E1000139620E03EE051E2E32FF0E050935700AC +:101E2000E49120FF03C0E295EF703F5FEF708E2FCB +:101E300090E0EA3010F0C79601C0C0968D939D9354 +:101E40002F5F243149F74FBF8091E800877F80934F +:101E5000E8006AE270E0CE0101960E94670B14C0B0 +:101E6000AE014F5F5F4F6091E6020E94C40ABC0161 +:101E7000009709F440C09091E800977F9093E800A4 +:101E800089819A810E94CA0B8091E8008B778093A8 +:101E9000E80031C0803879F58091E800877F809331 +:101EA000E8008091DD028093F1008091E8008E7758 +:101EB0008093E8000E94600C1EC081111CC09091AC +:101EC000E4029230C0F48091E800877F8093E800BC +:101ED0009093DD020E94600C8091DD02811106C0AA +:101EE0008091E30087FD02C081E001C084E080931F +:101EF000E1020E94D3098091E80083FF0AC080912B +:101F0000E800877F8093E8008091EB0080628093F7 +:101F1000EB00AA960FB6F894DEBF0FBECDBFDF91DF +:101F2000CF911F910895CF938091E1028823A1F072 +:101F3000C091E900CF709091EC00892F817090FDE5 +:101F400080E8C82B1092E9008091E80083FD0E9490 +:101F5000420ECF70C093E900CF9108950C94BD0F4D +:101F600087E68093CC001092CD0088E08093C90072 +:101F700086E08093CA00789408959091C80095FFF8 +:101F8000FCCF8093CE0008951F920F920FB60F9250 +:101F900011242F933F934F938F939F93EF93FF932E +:101FA00080916F0190E09C012F5F3F4F40916E0147 +:101FB000421741F03091CE00FC01E059FE4F3083D2 +:101FC00020936F01FF91EF919F918F914F913F91DE +:101FD0002F910F900FBE0F901F9018959093750240 +:101FE000809374020895E0917402F0917502309725 +:101FF00021F00190F081E02D099480E00895E091B6 +:102000007402F0917502309721F00280F381E02D87 +:1020100009940895E0917402F0917502309721F0CF +:102020000480F581E02D0994089520917202309189 +:1020300073028217930771F0909373028093720278 +:10204000E0917402F0917502309721F00680F781DB +:10205000E02D099408952091700230917102821749 +:10206000930771F09093710280937002E091740273 +:10207000F0917502309721F00084F185E02D0994EC +:10208000089508950C9441100E94331B0E9440074C +:102090000E94FD1B0C94B0215F926F927F928F92F1 +:1020A0009F92AF92BF92CF92DF92EF92FF920F93E7 +:1020B0001F93CF93DF9300D000D01F92CDB7DEB730 +:1020C0000E9485079FE7C92E92E0D92E03E010E019 +:1020D000AA24A394B12C502E802F0E9400084C01FA +:1020E000F601729062906F0168267926611471047E +:1020F000A1F40150110978F78FEF89838A831B823D +:102100000E943C1B8160782F9D838C8349815A817A +:102110006B818D810E94FC1038C08091CC0281FDC2 +:102120000E9409082CE030E07501022E02C0EE0C7E +:10213000FF1C0A94E2F7C70186219721892B09F138 +:1021400029835A828E209F2091E0892809F490E00B +:102150009B830E943C1B8160782F9D838C834981E7 +:102160005A816B818D810E94FC10000F111FF801B4 +:10217000E958FD4F80819181E826F926F182E082BD +:1021800004C02150310980F6B4CF0E94EB1E10919B +:1021900076020E94F30F1817D1F00E94F30F80937C +:1021A00076020F900F900F900F900F90DF91CF91CC +:1021B0001F910F91FF90EF90DF90CF90BF90AF9065 +:1021C0009F908F907F906F905F900C942A070F9054 +:1021D0000F900F900F900F90DF91CF911F910F9163 +:1021E000FF90EF90DF90CF90BF90AF909F908F9037 +:1021F0007F906F905F900895CF93DF93CDB7DEB758 +:102200002B970FB6F894DEBF0FBECDBF4F83588714 +:1022100069877A878B87DE01119686E0FD0111922E +:102220008A95E9F785E0FE01379601900D928A952F +:10223000E1F749815A816B817C818D819E810E9469 +:1022400073172B960FB6F894DEBF0FBECDBFDF918C +:10225000CF910895CF93882309F4C2C0C82F823844 +:1022600059F40E94F30F81FDBBC089E30E944D1A0F +:102270000E94D01A89E30CC0833879F40E94F30FCE +:1022800080FDAEC083E50E944D1A0E94D01A83E5FE +:102290000E946A1ACF910C94D01A843859F40E9483 +:1022A000F30F82FD9DC087E40E944D1A0E94D01A50 +:1022B00087E4EECF8CEF8C0F813A48F48C2F0E948C +:1022C000182181118DC08C2F0E944D1AE3CF80E21E +:1022D0008C0F883048F4C77081E001C0880FCA9520 +:1022E000EAF70E94891AD6CF8BE58C0F833078F4F9 +:1022F000C53A29F0C63A31F083E890E005C081E89C +:1023000090E002C082E890E0CF910C94151088E52F +:102310008C0F833108F064C0C83A39F1C93A41F1F1 +:10232000CA3A49F1CB3A51F1CC3A59F1CD3A61F17F +:10233000C03B69F1CE3A71F1CF3A79F1C13B81F1FD +:10234000C23B89F1C33B91F1C43B99F1C53BA1F17B +:10235000C63BA9F1C73BB1F1C83BB9F1C93BC1F1DB +:10236000CA3BC9F180E090E038C082EE90E035C011 +:1023700089EE90E032C08AEE90E02FC085EB90E0CD +:102380002CC086EB90E029C087EB90E026C08CEC57 +:1023900090E023C08DEC90E020C083E891E01DC068 +:1023A0008AE891E01AC082E991E017C084E991E0DF +:1023B00014C081E292E011C083E292E00EC084E298 +:1023C00092E00BC085E292E008C086E292E005C090 +:1023D00087E292E002C08AE292E0CF910C942B1047 +:1023E000CF910895882309F44BC0823859F40E9494 +:1023F000F30F81FF45C089E30E944D1A0E94D01A55 +:1024000089E30CC0833871F40E94F30F80FF38C059 +:1024100083E50E944D1A0E94D01A83E50E946A1A31 +:102420000C94D01A843859F40E94F30F82FF28C00C +:1024300087E40E944D1A0E94D01A87E4EFCF9CEFE8 +:10244000980F913A58F390E2980F983050F48770B3 +:1024500091E001C0990F8A95EAF7892F0E948F1A9F +:10246000DFCF9BE5980F933020F480E090E00C9450 +:102470001510885A833120F480E090E00C942B10E2 +:102480000895882321F00E94891A0C94D01A089587 +:10249000882321F00E948F1A0C94D01A08957F92FD +:1024A0008F929F92AF92BF92CF92DF92EF92FF9264 +:1024B0000F931F93CF93DF931F92CDB7DEB77C01AD +:1024C000C62E772EFC01058102950F701281111125 +:1024D0000E94A61A0E94461A882379F0112369F0F7 +:1024E00080E28C0D883048F082E00E942F1A0E9412 +:1024F000461A91E0D82ED92601C0D12CE72DE295BD +:10250000EF70F0E0E05AFF4F0C948923872D807F15 +:10251000072D0F70882311F00295007F112389F099 +:10252000002309F499C180E28C0D883020F4802FBB +:102530000E94891A03C0802F0E94991A0E94D01A03 +:102540008BC18C2D0E94F211002309F4C3C180E2DB +:102550008C0D883020F4802F0E948F1A03C0802FAA +:102560000E949F1A0E94D01AB5C1872D807F972D97 +:102570009F70803211F4892F03C0892F8295807F4C +:10258000CC2021F0F1E0CF16A1F01DC0112339F0CD +:10259000002319F1013009F50E94B91A9BC10023EB +:1025A00019F0013009F496C189830E94BC1A89810F +:1025B00010C1112321F0063008F08CC10EC0053087 +:1025C00008F088C106C1112359F0002331F0F7014A +:1025D000958190FF41C19F7095830E9441127AC1FD +:1025E000002309F4F6C03EC1872D86958695837039 +:1025F00090E0009719F0019761F06CC1112321F070 +:102600008C2D972D937002C080E090E00E941510F1 +:1026100061C1112321F08C2D972D937002C080E0B1 +:1026200090E00E942B1056C18C2D112319F00E94AE +:10263000F31D02C00E945B1E0E94E01E4BC1872D4D +:10264000837009F052C0111145C18C2D8295869579 +:102650008770880F880F9C2D9F70892E912CA12C3C +:10266000B12C082E04C0880C991CAA1CBB1C0A940F +:10267000D2F7C4FE14C00FE010E020E030E0B90152 +:10268000A80104C0440F551F661F771F8A95D2F713 +:10269000CB01BA01609570958095909503C060E07C +:1026A00070E0CB01272D26952695237030E022304F +:1026B000310569F02330310589F0682979298A29A3 +:1026C0009B292130310571F00E94BB1803C1682994 +:1026D00079298A299B290E94D718FCC00E94BB181F +:1026E000C501B4010E949F18F5C0112319F0872D70 +:1026F000817001C08695882309F4ECC08C2D8295E9 +:1027000086958770880F880F9C2D9F70892E912C3D +:10271000A12CB12C082E04C0880C991CAA1CBB1C2F +:102720000A94D2F7C4FE14C00FE010E020E030E0BD +:10273000B901A80104C0440F551F661F771F8A9571 +:10274000D2F7CB01BA01609570958095909503C042 +:1027500060E070E0CB01272D269526952370422F4F +:1027600050E04230510569F04330510589F0682945 +:1027700079298A299B294130510571F00E949519C8 +:10278000A9C0682979298A299B290E94B119A2C068 +:102790000E949519C501B4010E9479199BC08C2D26 +:1027A00090E0FC01E05EF109E531F10508F050C070 +:1027B000E059FF4F0C9489230C2D0F70872D8F71DA +:1027C000112321F00E941219802F07CF0E94331984 +:1027D000802F0E9448127EC0112341F0053008F07E +:1027E00079C0872D8F710E94581974C0063008F087 +:1027F00071C0F7CF112339F0872D8F710E94121904 +:1028000069C01123C9F3872D8F710E94331962C0EB +:10281000112329F0872D8F710E94FD185BC00E9443 +:10282000F31858C0112351F0172D1F71812F0E94EA +:10283000121963E0812F0E94261A4CC081E00E9489 +:102840002F1A023008F446C082E00E942F1A42C0BC +:10285000112331F0002381F28C2D0E942A113AC0FD +:10286000002389F28C2D0E94F21134C0472D4F7045 +:102870006C2DC7010E943F030E9417182BC0111135 +:1028800029C0472D4F7050E042305105B9F04CF44B +:102890004115510581F041305105E1F40E94D821E4 +:1028A00019C04330510569F04430510599F48C2D1D +:1028B0000E942A220FC00E94C1210CC00E94F42154 +:1028C00009C00E94072206C0472D4F706C2DC7011A +:1028D0000E940E04DD20F9F00E94221A80FD1BC028 +:1028E000F70112820E941C1A0E941219C7010E944D +:1028F0009A140E941C1A0F90DF91CF911F910F9193 +:10290000FF90EF90DF90CF90BF90AF909F908F900F +:102910007F900C9433190F90DF91CF911F910F91FD +:10292000FF90EF90DF90CF90BF90AF909F908F90EF +:102930007F9008950F931F93CF93DF93EC018881CD +:1029400099812B813C81232BB9F09F3F11F48F3F5C +:1029500099F0CE010E946203882371F06881798129 +:102960008A810E94181A8C010E94CD190E94941825 +:10297000B801CE010E944F12DF91CF911F910F91AC +:1029800008950E94A61A0E94B61A0E947B1A0E94FD +:10299000D01A0E94911F0E94E01E80E090E00E94E9 +:1029A000151080E090E00C942B100E94961A0C9465 +:1029B000C1140E940D1A292F22952F7030E02C305F +:1029C00031054CF42A3031056CF4225031092230A3 +:1029D0003105A8F407C02C30310569F02F303105DE +:1029E00051F00DC0803F69F018F4803E40F409C0FA +:1029F000843F29F406C093FB882780F9089580E07E +:102A0000089581E00895CF93DF9300D000D01F9206 +:102A1000CDB7DEB70F900F900F900F900F90DF9112 +:102A2000CF910895CF93DF9300D000D000D0CDB7E1 +:102A3000DEB726960FB6F894DEBF0FBECDBFDF918E +:102A4000CF9108951F93CF93DF93C0917F0216E03B +:102A500080918002C81799F0D0E01C9FF0011D9F63 +:102A6000F00D1124EF57FD4F408151816281738138 +:102A7000848195810E9412152196C770E9CFDF915C +:102A8000CF911F9108954091B1025091B20260918F +:102A9000B3027091B4028091B5029091B6020C9489 +:102AA00012158091B60282958F7009F054C0809102 +:102AB000B302882309F44FC080917F02A091800265 +:102AC0006091B1027091B2024091B4025091B5028E +:102AD000B6E08A1709F43FC090E041155105C1F1F5 +:102AE0007F3F11F46F3FA1F1B89FF001B99FF00D46 +:102AF0001124EF57FD4F218172132AC020816213E8 +:102B000027C02281211124C0238134812417350755 +:102B100010F421503109241B350B283C3105C0F439 +:102B20002091B6022F7020612093B60226E0289FE4 +:102B3000F001299FF00D1124EA57FD4F80818F701D +:102B40008061808381EB92E00E949A140C9422159C +:102B500001968770BECF0895CF92DF92EF92FF92D9 +:102B60000F931F93CF93DF93CDB7DEB762970FB666 +:102B7000F894DEBF0FBECDBF8C0185E0F801DE0109 +:102B80001D9601900D928A95E1F7D8014C9111960E +:102B90005C91119712966C9112971396CD90DC90E0 +:102BA00014973091B1027091B2028091B402909169 +:102BB000B502009709F46BC17F3F19F43F3F09F458 +:102BC00066C1E090B302EE2009F4C0C02091B602C5 +:102BD000C816D90628F0F601E81BF90BCF0104C08E +:102BE000809590958C0D9D1DFF24F394883C910554 +:102BF00078F0F12C207F09F0C6C07C2DD98AC88AD4 +:102C000089890E94031581EB92E00E949A14B1C059 +:102C1000822F807F09F046C0751314C0341312C090 +:102C2000611110C02F7020612093B6020E944315DD +:102C300081EB92E00E949A148091B602D801159619 +:102C40008C932EC0CD2819F15F3F11F44F3FF9F05E +:102C5000F62E61111CC080917F022091800236E027 +:102C6000821709F45AC090E0389FF001399FF00DA7 +:102C70001124EF57FD4F7181571306C07081471320 +:102C800003C07281711103C001968770E9CFF62EDF +:102C9000662309F418C18091B60281608093B60260 +:102CA000F12C11C1751308C0341306C0611104C0A2 +:102CB0008091B602D801C3C04D875E878D859E8501 +:102CC0006A8B0E94D9146A898823E1F16623D1F1C5 +:102CD0002091B602822F82958F7090E0029774F057 +:102CE0008091B1029091B20298878F831986DB861A +:102CF000CA862C87CE0107960E949A1486E0F801B6 +:102D0000A1EBB2E001900D928A95E1F70E94511576 +:102D10000E944315FF24F394D6C04D875E878D85AE +:102D20009E850E940D1A292F22952F7030E02230A7 +:102D300031050CF0BCC09F7009F0B6C0805E8830D1 +:102D400008F4C1C0C8010E949A14E4CFC816D9067D +:102D500008F453C0F601E81BF90BCF01883C91053C +:102D600008F450C0F12C7C2DD98AC88A89890E9428 +:102D70000315E1EBF2E086E0DF011D928A95E9F7A9 +:102D80000E944315A0C0751314C0341312C0611102 +:102D900010C08091B602F8018583C8010E949A1480 +:102DA00086E0E1EBF2E0DF011D928A95E9F7FE2C67 +:102DB0008AC04D875E878D859E856A8B0E94D91457 +:102DC0006A89882309F4BECF662309F4BBCF20911A +:102DD000B602822F82958F7090E002970CF48ECF0E +:102DE0008091B1029091B2029A8389831B82DD8225 +:102DF000CC822E83CE0101967FCF809590958C0D4D +:102E00009D1DACCFF62E662309F49CCF75132EC002 +:102E100034132CC02091B60220FD1FC0822F829552 +:102E20008F70D9F0D80115962C9315978F3049F0F3 +:102E30008F5F982F9295907F822F8F70892B159698 +:102E40008C93C8010E949A1486E0F801A1EBB2E0CD +:102E500001900D928A95E1F793CF86E0F801A1EBFE +:102E6000B2E001900D928A95E1F72DC04D875E8703 +:102E70008D859E850E94D914811140CF8091B60224 +:102E800081608093B602C8010E949A141CC0662318 +:102E900009F458CF4D875E878D859E850E94D91491 +:102EA000882309F44FCF2ACF811148CF0CC024309A +:102EB00031050CF047CF9F7009F440CFF8019581A0 +:102EC000907F09F03BCF8F2D62960FB6F894DEBF4E +:102ED0000FBECDBFDF91CF911F910F91FF90EF906B +:102EE000DF90CF9008951F93CF93DF93CDB7DEB7D8 +:102EF0002C970FB6F894DEBF0FBECDBF4F83588717 +:102F000069877A878B879C87CE0107960E94AC15CC +:102F1000882369F08F8198852A853B85232BF1F1E1 +:102F20009F3F09F063C08F3F09F060C037C086E063 +:102F3000FE013796DE01119601900D928A95E1F718 +:102F40006F817885EA85FB85309741F17F3F11F4E9 +:102F50006F3F21F12091800230E0C9010196877016 +:102F6000992740917F0250E08417950709F447C0E4 +:102F700069837A83FD83EC8396E0929FD001939FCF +:102F8000B00D1124AF57BD4FFE01319601900D9247 +:102F90009A95E1F7809380020E94221516E08091B5 +:102FA0007F02909180028917C1F1189FC0011124FE +:102FB0008F579D4F0E94AC15882379F1E0917F02D5 +:102FC0001E9FF0011124EF57FD4F40815181628116 +:102FD0007381848195810E94121580917F0290E017 +:102FE00001968770992780937F02D9CF4F815885AA +:102FF00069857A858B859C850E941215CFCF0E94AA +:10300000D5141092800210927F02E1EBF2E086E08C +:10301000DF011D928A95E9F7C1CF2C960FB6F8947F +:10302000DEBF0FBECDBFDF91CF911F910895EF920C +:10303000FF920F931F93CF93DF938C01009709F4B6 +:103040006CC0F12CEE24E394E8012196F801849100 +:10305000843740F4843008F051C0813081F08230F0 +:1030600019F15BC0853709F444C0A8F19CE7980FBB +:10307000903708F052C08F770E94F21141C00E5F66 +:103080001F4FFE01C49180E28C0F883048F4C77056 +:103090008E2D01C0880FCA95EAF70E94A91A14C0A4 +:1030A0008C2F0E942A112DC00E5F1F4FFE01C4916C +:1030B00080E28C0F883058F4C7708E2D01C0880FC5 +:1030C000CA95EAF70E94AF1A0E94D01A1AC08C2F34 +:1030D0000E94F21116C00E5F1F4FFE01C491CC2357 +:1030E00081F08FE99FE00197F1F700C00000C15027 +:1030F000F6CF0E5F1F4FFE01F49003C00E942A110D +:103100008E018F2D882309F49FCFEFE9FFE03197DF +:10311000F1F700C000008150F5CFDF91CF911F91F2 +:103120000F91FF90EF90089508956093BB02709304 +:10313000BC028093BD029093BE020C94C1140F9305 +:103140001F930091BB021091BC022091BD023091EF +:10315000BE02DC01CB01802B912BA22BB32B8093E1 +:10316000BB029093BC02A093BD02B093BE021F911C +:103170000F910C94C1140F931F930091BB021091F7 +:10318000BC022091BD023091BE02DC01CB01802344 +:103190009123A223B3238093BB029093BC02A093FC +:1031A000BD02B093BE021F910F910C94C1140F93F6 +:1031B0001F930091BB021091BC022091BD0230917F +:1031C000BE02DC01CB0180279127A227B327809381 +:1031D000BB029093BC02A093BD02B093BE021F91AC +:1031E0000F910C94C1141092B7021092B802109271 +:1031F000B9021092BA020C94C11441E050E060E0B0 +:1032000070E004C0440F551F661F771F8A95D2F7E0 +:103210004093B7025093B8026093B9027093BA0218 +:103220000C94C11441E050E060E070E004C0440F31 +:10323000551F661F771F8A95D2F78091B70290912C +:10324000B802A091B902B091BA02482B592B6A2B4F +:103250007B2B4093B7025093B8026093B9027093EE +:10326000BA020C94C11441E050E060E070E004C088 +:10327000440F551F661F771F8A95D2F740955095CA +:10328000609570958091B7029091B802A091B902B3 +:10329000B091BA02482359236A237B234093B70293 +:1032A0005093B8026093B9027093BA020C94C1149F +:1032B00041E050E060E070E004C0440F551F661F1D +:1032C000771F8A95D2F78091B7029091B802A091AA +:1032D000B902B091BA02482759276A277B27409341 +:1032E000B7025093B8026093B9027093BA020C947B +:1032F000C1140F931F930091B7021091B80220914F +:10330000B9023091BA02DC01CB01802B912BA22BA8 +:10331000B32B8093B7029093B802A093B902B093F5 +:10332000BA021F910F910C94C1140F931F93009137 +:10333000B7021091B8022091B9023091BA02DC01B3 +:10334000CB0180239123A223B3238093B7029093D0 +:10335000B802A093B902B093BA021F910F910C94D6 +:10336000C1140F931F930091B7021091B8022091DE +:10337000B9023091BA02DC01CB0180279127A22744 +:10338000B3278093B7029093B802A093B902B09389 +:10339000BA021F910F910C94C1140895CF92DF923D +:1033A000EF92FF920F931F93CF93DF938C01C09006 +:1033B000BB02D090BC02E090BD02F090BE028091B2 +:1033C000B7029091B802A091B902B091BA02C82A8E +:1033D000D92AEA2AFB2ACFE1D0E0D701C6010C2E78 +:1033E00004C0B695A795979587950A94D2F780FF64 +:1033F00006C0B8018C2F0E948F06019721F42197F7 +:1034000060F780E001C08C2FDF91CF911F910F9169 +:10341000FF90EF90DF90CF900895CF93DF93EC0172 +:103420000E94CE19BE010E948F06DF91CF910895B0 +:10343000CB010E940D1A08958091BF028595859554 +:10344000859508958091BF028770089598E0899FBF +:1034500090011124262B2093BF020C941219209165 +:10346000BF02809582238093BF02982F977069F4E2 +:1034700030E0482F552747FD50952417350729F090 +:103480008595859585950C94331908959091BF0283 +:10349000977081E009F480E0089520910C0130914B +:1034A0000D01F90132969FEF40E05191581789F0D4 +:1034B0009F3F19F4511101C0942F4F5F4630A9F777 +:1034C0009F3F39F0F901E90FF11D97FDFA958283CD +:1034D0000895089520910C0130910D01F901329663 +:1034E000285F3F4F9081981301C010823196E217F8 +:1034F000F307C1F7089581E090E0E0910C01F091AD +:103500000D01E80FF91F1082019688309105A9F787 +:1035100008959091CB02892B8093CB0208958095DA +:103520009091CB0289238093CB0208951092CB0215 +:1035300008959091CA02892B8093CA0208958095BC +:103540009091CA0289238093CA0208951092CA02F8 +:1035500008959091C902892B8093C902089580959E +:103560009091C90289238093C90208951092C902DB +:1035700008958093C00208951092C002089580912A +:103580000C0190910D01FC0131969C01285F3F4F89 +:1035900080E0919191118F5FE217F307D1F70895C1 +:1035A000E0910C01F0910D018091CB028083E091BC +:1035B0000C01F0910D0190818091CA02892B8083CA +:1035C000E0910C01F0910D0190818091C902892B4D +:1035D00080838091C002882361F0E0910C01F0911A +:1035E0000D019081892B80830E94BF1A8111109256 +:1035F000C00280910C0190910D010C94FF0F0E946C +:10360000D51480E00E9400030E94B0210E94F30FB5 +:103610000C942A071F920F920FB60F9211248F93CA +:103620009F93AF93BF938091CD02811113C080917E +:10363000CE029091CF02A091D002B091D1024196DA +:10364000A11DB11D8093CE029093CF02A093D00212 +:10365000B093D102BF91AF919F918F910F900FBE08 +:103660000F901F90189582E084BD93E095BD9AEF6E +:1036700097BD80936E0008952FB7F8948091CE0285 +:103680009091CF02A091D002B091D1022FBF0895A6 +:10369000CF92DF92EF92FF920F931F932FB7F89480 +:1036A0004091CE025091CF026091D0027091D10230 +:1036B0002FBF6A017B01EE24FF248C0120E030E063 +:1036C000C016D106E206F30610F4415051099A01E2 +:1036D000281B390BC9011F910F91FF90EF90DF90CC +:1036E000CF9008951F920F920FB60F9211248F93CF +:1036F0009F93AF93BF938091CE029091CF02A09100 +:10370000D002B091D1020196A11DB11D8093CE02CD +:103710009093CF02A093D002B093D102BF91AF910A +:103720009F918F910F900FBE0F901F9018950E9440 +:10373000B10CF8942FEF87EA91E621508040904039 +:10374000E1F700C0000087E090EBDC018093EC0221 +:103750009093ED02A093EE02B093EF029CE088E11B +:103760000FB6F894A895809360000FBE9093600008 +:10377000FFCFCF92DF92EF92FF920F931F93CF93E1 +:10378000DF93D82FC3E0EE24E394F12C8C2F0E941A +:1037900000086C010CE010E09701002E02C0220F1F +:1037A000331F0A94E2F72C213D21232B49F0602F8F +:1037B0007C2F80E00E940F04D81302C081E006C075 +:1037C0000150110948F7C15008F780E0DF91CF910F +:1037D0001F910F91FF90EF90DF90CF900895CF93BE +:1037E000C82F8CE20E94B91B882321F08C2FCF9127 +:1037F0000C94B91B80E0CF910895CF930E94421D95 +:10380000811102C00E94231DC5E6C15049F00E94EB +:1038100085078FE39CE90197F1F700C00000F5CF21 +:1038200089E20E94EF1B81110CC18AE20E94EF1B0A +:1038300081110E94231D85E00E94EF1B81110E94CF +:10384000971B0E944D1D8093CC0287E00E94EF1BC6 +:103850008823A9F18BE10E94EF1B882351F080910E +:10386000CC0281FB222720F991E0922790FB81F97D +:103870000EC08EE00E94EF1B882361F08091CC0285 +:1038800082FB222720F991E0922790FB82F9809316 +:10389000CC0215C080E10E94EF1B9091CC028823DE +:1038A00041F093FB222720F981E0822780FB93F9E6 +:1038B00004C0892F809580FB90F99093CC02809171 +:1038C000CC020E94511D0E945F1D8093EA0280EE8F +:1038D0000E94EF1B882341F08091EA02982F909577 +:1038E00090FB80F98093EA0289E30E94EF1B882312 +:1038F00059F08091EA0281FB222720F991E092277A +:1039000090FB81F98093EA0282EE0E94EF1B8823EC +:1039100059F08091EA0282FB222720F991E0922758 +:1039200090FB82F98093EA0286EE0E94EF1B8823C7 +:1039300059F08091EA0283FB222720F991E0922737 +:1039400090FB83F98093EA0283EE0E94EF1B8823A9 +:1039500059F08091EA0284FB222720F991E0922716 +:1039600090FB84F98093EA0285E30E94EF1B882391 +:1039700059F08091EA0285FB222720F991E09227F5 +:1039800090FB85F98093EA0281E30E94EF1B882374 +:1039900059F08091EA0286FB222720F991E09227D4 +:1039A00090FB86F98093EA0281E10E94EF1B882355 +:1039B00059F08091EA0287FB222720F991E09227B3 +:1039C00090FB87F98093EA028091EA020E94631DCE +:1039D00087E20E94EF1BC82F8EE10E94EF1B81112E +:1039E000C2608FE10E94EF1B8111C46080E20E94DF +:1039F000EF1B8111C86081E20E94EF1B8111C06141 +:103A000082E20E94EF1B8111C06283E20E94EF1BE1 +:103A10008111C06484E20E94EF1B882311F0C0680A +:103A200002C0CC2329F08C2F0E945A1D6C2F03C09A +:103A30000E94561D682F70E080E090E0CF910C94BA +:103A40009518CF9108956DEE7EEF80E090E00E9492 +:103A5000C32360E082E090E00E94B12360E083E055 +:103A600090E00E94B12360E084E090E00E94B123E6 +:103A700060E085E090E00E94B12360E086E090E0A5 +:103A80000C94B12380E090E00E94AB2321E08D3EB6 +:103A90009E4F09F020E0822F089582E090E00C9480 +:103AA000A323682F82E090E00C94B12383E090E0A0 +:103AB0000C94A323682F83E090E00C94B12384E05E +:103AC00090E00C94A323682F84E090E00C94B12341 +:103AD00086E090E00C94A323682F86E090E00C949D +:103AE000B1238091D40280FF0BC06091110185E069 +:103AF000689FB001112475956795759567952BC0E2 +:103B000081FF09C06091110185E0689FB001112417 +:103B10007595679520C082FF07C06091110185E00F +:103B2000689FB001112417C09091D5029923D1F05C +:103B300060911001961788F72091110185E0289F68 +:103B400090011124929FA001939F500D112470E0C9 +:103B5000CA010E9475236038710540F46115710532 +:103B600039F002C065E070E0862F08958FE7089570 +:103B700081E008958091D40280FF08C060910F0118 +:103B800070E0759567957595679521C081FF06C0B2 +:103B900060910F0170E07595679519C082FF04C0B0 +:103BA00060910F0170E010C09091D5029923C1F08F +:103BB00060910E019617A0F780910F01899FC001B7 +:103BC000112470E00E9475236038710528F4611596 +:103BD000710521F0862F08958FE7089581E00895FB +:103BE00061E070E0F4CF803F21F40E94711D819567 +:103BF00004C0813F29F40E94711D8093D80208956A +:103C0000823F21F40E94711D819504C0833F29F4F5 +:103C10000E94711D8093D7020895893F19F40E9474 +:103C2000BA1D05C08A3F31F40E94BA1D8195809368 +:103C3000D90208958B3F21F40E94BA1D819504C0DA +:103C40008C3F29F40E94BA1D8093DA020895843FC4 +:103C500021F48091D602816017C0853F21F48091C4 +:103C6000D602826011C0863F21F48091D602846022 +:103C70000BC0873F21F48091D602886005C0883F41 +:103C800031F48091D60280618093D60208958D3FF1 +:103C900021F48091D40281600BC08E3F21F4809189 +:103CA000D402826005C08F3F29F48091D4028460E1 +:103CB0008093D4020895803F39F48091D80287FF21 +:103CC0006CC01092D80269C0813F29F48091D8025B +:103CD0001816BCF362C09091D702823F29F497FF77 +:103CE0005CC01092D70259C0833F19F41916CCF367 +:103CF00054C0893F41F48091D90218160CF04DC090 +:103D00001092D9024AC08A3F29F48091D90287FFD4 +:103D100044C0F6CF8B3F39F48091DA0287FF3DC073 +:103D20001092DA023AC08C3F29F48091DA02181618 +:103D3000BCF333C0843F21F48091D6028E7F17C03C +:103D4000853F21F48091D6028D7F11C0863F21F4FA +:103D50008091D6028B7F0BC0873F21F48091D602E1 +:103D6000877F05C0883F31F48091D6028F7E809393 +:103D7000D60213C08D3F21F48091D4028E7F0BC0F8 +:103D80008E3F21F48091D4028D7F05C08F3F29F4AE +:103D90008091D4028B7F8093D4028091D7028111CD +:103DA0000EC08091D80281110AC08091D902811180 +:103DB00006C08091DA02811102C01092D5020895E6 +:103DC00086ED92E00E940A100E943C1B9093D30261 +:103DD0008093D20208951F93CF93DF938091D202F4 +:103DE0009091D3020E94481BAC019091D502992377 +:103DF00021F02091120130E006C0209113018AE0E9 +:103E0000289F900111244217530708F486C080911F +:103E1000D702C091D802D091D9021091DA02811153 +:103E200007C0C11176C0D11174C0111172C075C024 +:103E30009F3F19F09F5F9093D502181624F40E94BB +:103E4000711D8093D7028091D70287FF05C00E9421 +:103E5000711D81958093D7021C1624F40E94711D58 +:103E60008093D8028091D80287FF05C00E94711DFF +:103E700081958093D8026091D702662339F1C09171 +:103E8000D802CC2319F1772767FD7095872F972FDC +:103E90000E947A2223E333E343E35FE30E94DE22BE +:103EA0000E9447226093D7026C2F772767FD709599 +:103EB000872F972F0E947A2223E333E343E35FE3C4 +:103EC0000E94DE220E9447226093D8021D1624F42D +:103ED0000E94BA1D8093D9028091D90287FF05C044 +:103EE0000E94BA1D81958093D902111624F40E9474 +:103EF000BA1D8093DA028091DA0287FF05C00E9422 +:103F0000BA1D81958093DA02DF91CF911F910C94B5 +:103F1000E01E9F3F09F08ECF96CFDF91CF911F918A +:103F20000895E6EDF2E085E0DF011D928A95E9F75C +:103F30001092D5021092D4020895833081F128F4B2 +:103F4000813059F08230D1F00895853009F449C0AC +:103F5000B8F1863009F456C0089580911301262FD8 +:103F600030E0280F311D2F3F310524F4680F609396 +:103F7000130108958FEF809313010895809112012A +:103F8000262F30E0280F311D2F3F310524F4680F14 +:103F90006093120108958FEF80931201089580912C +:103FA0001101262F30E0280F311D2F3F310524F459 +:103FB000680F6093110108958FEF809311010895A8 +:103FC00080911001262F30E0280F311D2F3F310541 +:103FD00024F4680F6093100108958FEF809310010F +:103FE000089580910F01262F30E0280F311D2F3FBB +:103FF000310524F4680F60930F0108958FEF8093CB +:104000000F01089580910E01262F30E0280F311DF9 +:104010002F3F310524F4680F60930E0108958FEF50 +:1040200080930E010895833011F128F4813049F016 +:10403000823091F00895853081F120F18630C1F110 +:10404000089580911301681720F4861B8093130153 +:10405000089510921301089580911201681720F4B9 +:10406000861B809312010895109212010895809189 +:104070001101681720F4861B809311010895109296 +:104080001101089580911001681720F4861B809318 +:104090001001089510921001089580910F01681782 +:1040A00020F4861B80930F01089510920F0108954C +:1040B00080910E01681720F4861B80930E010895ED +:1040C00010920E0108950F931F93873208F040C09D +:1040D0008E3108F08AC08E3009F474C0C0F4873085 +:1040E00009F45EC068F4863009F09AC08091CC0271 +:1040F000817F8E7F8093CC0281E08093DC0291C02F +:10410000883009F486C08B3009F483C089C08631B9 +:1041100009F47FC068F4803109F082C08091CC023C +:1041200083FB222720F991E0922790FB83F953C06B +:10413000893109F46EC08B3109F072C08091CC02D4 +:1041400081FB222720F991E0922790FB81F943C05F +:10415000883309F45EC050F4893209F45CC08533B9 +:1041600009F459C0873209F456C05AC0833409F49F +:1041700052C028F48A3308F453C0895337C08834B6 +:1041800009F04EC00E94D5140FEF13ED20E301504B +:1041900010402040E1F700C000000E94971B39C08A +:1041A0009091CC02892F8095817080FB90F929F045 +:1041B000966098609093CC0234C0997F977F9093DB +:1041C000CC0227C08091CC0282FB222720F991E00B +:1041D000922790FB82F98093CC029923D1F08091B1 +:1041E000CC0281608093CC0214C08D5141E050E03C +:1041F00060E070E08A019B0104C0000F111F221FC4 +:10420000331F8A95D2F7C901B8010E9495180E9400 +:10421000D51481E006C061E070E080E090E0F5CF69 +:1042200080E01F910F91089580E0089580E0089547 +:10423000CF93C82F8091DC02813069F018F0823072 +:10424000C9F184C0E0910C01F0910D0180818232AE +:1042500009F07EC007C0E0910C01F0910D01808152 +:10426000823261F48C2F0E941421811104C08C2FA2 +:104270000E9463201DC081E090E01AC08C2F0E9434 +:104280001621811114C0C43179F048F4CB3079F093 +:10429000C03109F061C082E08093DC0208C0C932FD +:1042A00019F0C83321F058C01092DC0255C081E0EB +:1042B000817054C0C93291F120F5C43179F1B0F464 +:1042C000C73009F047C08EE18093130182E38093E9 +:1042D00012018AE08093110184E18093100188E04B +:1042E00080930F0188E280930E0134C0CE51C63016 +:1042F00088F5EC2FF0E0E75CFE4F80818093DB02D5 +:1043000029C0CE34E9F020F4CB3421F56AE013C0A3 +:10431000C13579F0C235F1F461E00DC08091DB0266 +:10432000882319F01092DB0215C081E08093DC0233 +:1043300015C061E006C08091DB020E949D1F0AC08B +:104340006AE08091DB020E94132004C01092DC021C +:1043500080E004C081E002C080E0AACFCF91089540 +:104360000E94421D811102C00E94231D0E94681DEF +:104370008093EB0280FF02C0869501C080E00C9420 +:1043800000038091EB02982F9695292F30E023307F +:1043900031054CF49F5F990F8170892B8160809368 +:1043A000EB020E946C1D8091EB0286950C94000339 +:1043B0008091EB02982F969591F09158990F81700A +:1043C000892B8093EB028E7F91E009F490E080913D +:1043D000EB0290FB80F98093EB020E946C1D8091B0 +:1043E000EB0286950C9400038091EB02982F909538 +:1043F00090FB80F98093EB020E946C1D8091EB0290 +:1044000080FF02C0869501C080E00C94000390916B +:10441000EB02892F86958F5F8F779170843028F417 +:10442000880F892B8093EB0202C09093EB0280915E +:10443000EB028E7F91E009F490E08091EB0290FB1B +:1044400080F98093EB020E946C1D8091EB028695AF +:104450000C9400032091EB02922F96958927982FB8 +:10446000990F822F8170892B8093EB028E7F91E0D0 +:1044700009F490E08091EB0290FB80F98093EB02CD +:104480000E946C1D8091EB0286950C94000304D071 +:104490006894B1118DC0089570D088F09F5790F046 +:1044A000B92F9927B751A0F0D1F0660F771F881F59 +:1044B000991F1AF0BA95C9F712C0B13081F077D0C0 +:1044C000B1E0089574C0672F782F8827B85F39F05E +:1044D000B93FCCF3869577956795B395D9F73EF4B8 +:1044E00090958095709561957F4F8F4F9F4F089560 +:1044F000E89409C097FB3EF490958095709561957E +:104500007F4F8F4F9F4F9923A9F0F92F96E9BB2733 +:104510009395F695879577956795B795F111F8CFAF +:10452000FAF4BB0F11F460FF1BC06F5F7F4F8F4F1A +:104530009F4F16C0882311F096E911C0772321F010 +:104540009EE8872F762F05C0662371F096E8862FA8 +:1045500070E060E02AF09A95660F771F881FDAF7FF +:10456000880F9695879597F9089557FD9058440FB1 +:10457000551F59F05F3F71F04795880F97FB991FC2 +:1045800061F09F3F79F0879508951216130614067F +:10459000551FF2CF4695F1DF08C01616170618060C +:1045A000991FF1CF86957105610508940895E894E7 +:1045B000BB2766277727CB0197F908950BD078C0E2 +:1045C00069D028F06ED018F0952309F05AC05FC06A +:1045D0001124EECFCADFA0F3959FD1F3950F50E0E1 +:1045E000551F629FF001729FBB27F00DB11D639FA5 +:1045F000AA27F00DB11DAA1F649F6627B00DA11D4B +:10460000661F829F2227B00DA11D621F739FB00DF0 +:10461000A11D621F839FA00D611D221F749F332760 +:10462000A00D611D231F849F600D211D822F762FF9 +:104630006A2F11249F5750408AF0E1F088234AF0F6 +:10464000EE0FFF1FBB1F661F771F881F9150504042 +:10465000A9F79E3F510570F014C0AACF5F3FECF35D +:10466000983EDCF3869577956795B795F795E7952E +:104670009F5FC1F7FE2B880F911D9695879597F93F +:10468000089597F99F6780E870E060E008959FEFD4 +:1046900080EC089500240A941616170618060906D9 +:1046A000089500240A9412161306140605060895A8 +:1046B000092E0394000C11F4882352F0BB0F40F430 +:1046C000BF2B11F460FF04C06F5F7F4F8F4F9F4F70 +:1046D0000895991B79E004C0991F961708F0961B5E +:1046E000881F7A95C9F78095089597FB072E16F4D1 +:1046F000009407D077FD09D00E948F2307FC05D0D6 +:104700003EF4909581959F4F0895709561957F4FE8 +:104710000895EE0FFF1F0590F491E02D0994AA1B58 +:10472000BB1B51E107C0AA1FBB1FA617B70710F09C +:10473000A61BB70B881F991F5A95A9F780959095CE +:10474000BC01CD010895F999FECF92BD81BDF89AC3 +:10475000992780B50895A8E1B0E042E050E00C94BC +:10476000CB23262FF999FECF92BD81BDF89A0197F0 +:1047700000B4021639F01FBA20BD0FB6F894FA9AA9 +:10478000F99A0FBE08950196272F0E94B2230C9428 +:10479000B123DC01CB01FC01F999FECF06C0F2BDCB +:1047A000E1BDF89A319600B40D9241505040B8F7EF +:0647B0000895F894FFCF0C +:1047B600FF0A083409F008BC080D0801C1022808E0 +:1047C600140A321E4F7953636676496959091929C5 +:1047D600030F1F5F433F4D36201405C70491047134 +:1047E60004FD0316042F044804010203040506070A +:0447F60008090000AE +:00000001FF diff --git a/keyboard/jd45/keymaps/justin/keymap.c b/keyboard/jd45/keymaps/justin/keymap.c new file mode 100644 index 0000000000..f261b54633 --- /dev/null +++ b/keyboard/jd45/keymaps/justin/keymap.c @@ -0,0 +1,101 @@ +#include "jd45.h" +#include "backlight.h" + +/* JD45 keymap definition macro + */ +#define KEYMAP( \ + K01, K02, K03, K04, K05, K06, K07, K08, K09, K10, K11, K12, K13, \ + K14, K15, K16, K17, K18, K19, K20, K21, K22, K23, K24, K25, \ + K26, K27, K28, K29, K30, K31, K32, K33, K34, K35, K36, K37, \ + K38, K39, K40, K41, K42, K43, K44, K45, K46, K47 \ +) { \ + { KC_##K01, KC_##K02, KC_##K03, KC_##K04, KC_##K05, KC_##K06, KC_##K07, KC_##K08, KC_##K09, KC_##K10, KC_##K11, KC_##K12, KC_##K13 }, \ + { KC_##K14, KC_##K15, KC_##K16, KC_##K17, KC_##K18, KC_##K19, KC_##K20, KC_##K21, KC_##K22, KC_##K23, KC_##K24, KC_##K25, KC_NO }, \ + { KC_##K26, KC_##K27, KC_##K28, KC_##K29, KC_##K30, KC_##K31, KC_##K32, KC_##K33, KC_##K34, KC_##K35, KC_##K36, KC_##K37, KC_NO }, \ + { KC_##K38, KC_##K39, KC_##K40, KC_##K41, KC_##K42, KC_NO, KC_##K43, KC_NO, KC_##K44, KC_##K45, KC_##K46, KC_##K47, KC_NO } \ +} + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +[0] = KEYMAP( + ESC, Q, W, F, P, G, J, L, U, Y, SCLN, QUOT, BSPC, + FN8, A, R, S, T, D, H, N, E, I, O, ENT, + LSFT, Z, X, C, V, B, K, M, COMM, DOT, SLSH, FN6, + FN4, LGUI, FN7, FN2, FN1, SPC, FN5, RALT, FN3, FN0 ), +[1] = KEYMAP( + TRNS, FN10, FN11, FN12, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, UP, DEL, + TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, HOME, PGUP, LEFT, RGHT, + TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, END, PGDN, DOWN, TRNS, + TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS ), +[2] = KEYMAP( + TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, 7, 8, 9, 0, TRNS, TRNS, + TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, LBRC, 4, 5, 6, DOT, TRNS, + TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, RBRC, 1, 2, 3, BSLS, TRNS, + TRNS,FN29, TRNS, TRNS, TRNS, PAUSE, EQL, MINS, TRNS, TRNS ), +[3] = KEYMAP( + TRNS, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, + TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, + TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, + TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS ), +[4] = KEYMAP( + TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, 7, 8, 9, 0, TRNS, TRNS, + TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, LBRC, 4, 5, 6, DOT, TRNS, + TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, RBRC, 1, 2, 3, BSLS, TRNS, + TRNS,FN29, TRNS, TRNS, TRNS, PAUSE, EQL, MINS, TRNS, TRNS ), +}; + +enum macro_id { + PSWD1, + PSWD2, + PSWD3, +}; + +const uint16_t PROGMEM fn_actions[] = { + [0] = ACTION_MODS_TAP_KEY(MOD_LCTL, KC_MINS), + [1] = ACTION_LAYER_MOMENTARY(1), // FN1 + [2] = ACTION_LAYER_MOMENTARY(2), // FN2 + [3] = ACTION_LAYER_MOMENTARY(3), // FN3 + [4] = ACTION_MODS_TAP_KEY(MOD_LSFT, KC_GRV), + [5] = ACTION_MODS_TAP_KEY(MOD_RSFT, KC_RGUI), + [6] = ACTION_MODS_TAP_KEY(MOD_RSFT, KC_CAPS), + [7] = ACTION_LAYER_MODS(4, MOD_LSFT), // FN4 + [8] = ACTION_MODS_TAP_KEY(MOD_LCTL, KC_TAB), + + [10] = ACTION_MACRO(PSWD1), + [11] = ACTION_MACRO(PSWD2), + [12] = ACTION_MACRO(PSWD3), + + [29] = ACTION_BACKLIGHT_TOGGLE(), + [30] = ACTION_BACKLIGHT_INCREASE(), + [31] = ACTION_BACKLIGHT_DECREASE() + +}; + +/* + * Macro definition + */ +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + switch (id) { + case PSWD1: + return (record->event.pressed ? + MACRO( I(0), T(1), T(2), T(3), T(4), T(5), T(6), T(7), T(8), T(ENT), END ) : + MACRO_NONE ); + case PSWD2: + return (record->event.pressed ? + MACRO( I(0), T(1), T(2), T(3), T(4), T(5), T(6), T(7), T(8), T(ENT), END ) : + MACRO_NONE ); + case PSWD3: + return (record->event.pressed ? + MACRO( I(0), T(1), T(2), T(3), T(4), T(5), T(6), T(7), T(8), T(ENT), END ) : + MACRO_NONE ); + //case VOLUP: + // return (record->event.pressed ? + // MACRO( D(VOLU), U(VOLU), END ) : + // MACRO_NONE ); + //case ALT_TAB: + // return (record->event.pressed ? + // MACRO( D(LALT), D(TAB), END ) : + // MACRO( U(TAB), END )); + } + return MACRO_NONE; +} -- cgit v1.2.3