From 8c8aed544307e5615af41b917b3bff2d82a86596 Mon Sep 17 00:00:00 2001 From: kemonine Date: Tue, 29 Sep 2020 20:14:04 -0400 Subject: [PATCH] Prep firmware for kbdfans kbd67 rev2 board --- keyboards/kbdfans/kbd67/rev2/README.md | 5 + keyboards/kbdfans/kbd67/rev2/config.h | 2 + .../rev2/kbdfans_kbd67_rev2_kemonine.hex | 1507 +++++++++++++++++ keyboards/kbdfans/kbd67/rev2/keymap.c | 123 ++ keyboards/kbdfans/kbd67/rev2/layer-1.json | 149 ++ keyboards/kbdfans/kbd67/rev2/layer-1.png | Bin 0 -> 29270 bytes keyboards/kbdfans/kbd67/rev2/layer-2.json | 147 ++ keyboards/kbdfans/kbd67/rev2/layer-2.png | Bin 0 -> 20771 bytes keyboards/kbdfans/kbd67/rev2/layer-3.json | 167 ++ keyboards/kbdfans/kbd67/rev2/layer-3.png | Bin 0 -> 18019 bytes keyboards/kbdfans/kbd67/rev2/rules.mk | 2 + .../kbd67/rev2/keymaps/kemonine/config.h | 2 + .../kbd67/rev2/keymaps/kemonine/keymap.c | 123 ++ .../kbd67/rev2/keymaps/kemonine/rules.mk | 2 + 14 files changed, 2229 insertions(+) create mode 100644 keyboards/kbdfans/kbd67/rev2/README.md create mode 100644 keyboards/kbdfans/kbd67/rev2/config.h create mode 100644 keyboards/kbdfans/kbd67/rev2/kbdfans_kbd67_rev2_kemonine.hex create mode 100644 keyboards/kbdfans/kbd67/rev2/keymap.c create mode 100644 keyboards/kbdfans/kbd67/rev2/layer-1.json create mode 100644 keyboards/kbdfans/kbd67/rev2/layer-1.png create mode 100644 keyboards/kbdfans/kbd67/rev2/layer-2.json create mode 100644 keyboards/kbdfans/kbd67/rev2/layer-2.png create mode 100644 keyboards/kbdfans/kbd67/rev2/layer-3.json create mode 100644 keyboards/kbdfans/kbd67/rev2/layer-3.png create mode 100644 keyboards/kbdfans/kbd67/rev2/rules.mk create mode 100644 qmk/keyboards/kbdfans/kbd67/rev2/keymaps/kemonine/config.h create mode 100644 qmk/keyboards/kbdfans/kbd67/rev2/keymaps/kemonine/keymap.c create mode 100644 qmk/keyboards/kbdfans/kbd67/rev2/keymaps/kemonine/rules.mk diff --git a/keyboards/kbdfans/kbd67/rev2/README.md b/keyboards/kbdfans/kbd67/rev2/README.md new file mode 100644 index 00000000..396d5717 --- /dev/null +++ b/keyboards/kbdfans/kbd67/rev2/README.md @@ -0,0 +1,5 @@ +# kbd67 rev2 + +The information, keymaps, firmware and keyboard layout for KemoNine's setup on the kbdfans kbd67 rev2 keyboard. + +Layout files were generated by [www.keyboard-layout-editor.com](http://www.keyboard-layout-editor.com/) diff --git a/keyboards/kbdfans/kbd67/rev2/config.h b/keyboards/kbdfans/kbd67/rev2/config.h new file mode 100644 index 00000000..d2a0d357 --- /dev/null +++ b/keyboards/kbdfans/kbd67/rev2/config.h @@ -0,0 +1,2 @@ +#define TAPPING_TERM 200 +#undef RGBLIGHT_ANIMATIONS \ No newline at end of file diff --git a/keyboards/kbdfans/kbd67/rev2/kbdfans_kbd67_rev2_kemonine.hex b/keyboards/kbdfans/kbd67/rev2/kbdfans_kbd67_rev2_kemonine.hex new file mode 100644 index 00000000..c4463281 --- /dev/null +++ b/keyboards/kbdfans/kbd67/rev2/kbdfans_kbd67_rev2_kemonine.hex @@ -0,0 +1,1507 @@ +:100000000C94F5040C943C050C943C050C943C05B4 +:100010000C943C050C943C050C943C050C943C055C +:100020000C943C050C943C050C941E2B0C94F22B68 +:100030000C9434220C943C050C943C050C943C0527 +:100040000C943C050C943C050C943C050C943C052C +:100050000C943C050C947F220C943C050C943C05BC +:100060000C943C050C943C050C943C050C943C050C +:100070000C943C050C943C050C943C050C943C05FC +:100080000C943C050C943C050C943C050C943C05EC +:100090000C943C050C943C050C943C050C943C05DC +:1000A0000C943C050C943C050C943C05165C1E001D +:1000B0001F0020002100220023002400250026002C +:1000C00027002D002E0000002A004A002B0000000F +:1000D00014001A000800150017001C0018000C007E +:1000E000120013002F00300031004B0014590000A3 +:1000F00004001600070009000A000B000D000E00A6 +:100100000F0033003400280000004E00E100000022 +:100110001D001B000600190005001100100036002C +:10012000370038000000E50052004D00E000E30019 +:100130000000E200000000002C00000000000000B1 +:100140000057E4000000500051004F0035003A0015 +:100150003B003C003D003E003F00400041004200AB +:1001600043004400450000004C004C00010000002A +:100170000100010001000100010001000100520026 +:100180000100010001000100005C490001000000C5 +:100190000100010001000100010001000100010057 +:1001A0000100010001000100000046000100000004 +:1001B0000100010001000100010001000100010037 +:1001C0000100AE000000E500A900A8000100010048 +:1001D000000001000000000001000000000000001D +:1001E0000100E6000000CA5CAA00C95C290000000A +:1001F00000000000000000000000000000000000FF +:1002000000000000000000000000000000000000EE +:1002100000000000F000000000000000F9000000F5 +:1002200000000000000000000000000000000000CE +:100230000000F200F100F30000000000F400F500FF +:10024000000000000000000000000000E1000000CD +:1002500000001B000600190000000000FA0000006A +:10026000000000000000000000000000E0000000AE +:100270000000025300000000000000000000000029 +:1002800002530000000000000000000044454255F9 +:10029000473A2064697361626C65642E0A004445C4 +:1002A0004255473A20656E61626C65642E0A000A09 +:1002B000002530313662003A200025303258000ADD +:1002C000722F63203031323334353637383941427A +:1002D000434445460A007267626C6967687420731C +:1002E000657420687376205B4E4F454550524F4DE4 +:1002F0005D3A2025752C25752C25750A00726762DC +:100300006C696768742073657420687376205B4538 +:100310004550524F4D5D3A2025752C25752C25757D +:100320000A007267626C696768742064697361624D +:100330006C65205B4E4F454550524F4D5D3A2072E3 +:1003400067626C696768745F636F6E6669672E6564 +:100350006E61626C65203D2025750A007267626CD3 +:10036000696768742064697361626C65205B4545E8 +:1003700050524F4D5D3A207267626C696768745FD6 +:10038000636F6E6669672E656E61626C65203D20E5 +:1003900025750A007267626C6967687420656E6112 +:1003A000626C65205B4E4F454550524F4D5D3A2083 +:1003B0007267626C696768745F636F6E6669672EE7 +:1003C000656E61626C65203D2025750A007267626A +:1003D0006C6967687420656E61626C65205B454579 +:1003E00050524F4D5D3A207267626C696768745F66 +:1003F000636F6E6669672E656E61626C65203D2075 +:1004000025750A007267626C6967687420746F678B +:10041000676C65205B454550524F4D5D3A207267D1 +:10042000626C696768745F636F6E6669672E656E7C +:1004300061626C65203D2025750A007267626C69F7 +:10044000676874206D6F6465205B4E4F4545505260 +:100450004F4D5D3A2025750A007267626C696768C6 +:1004600074206D6F6465205B454550524F4D5D3A79 +:100470002025750A007267626C696768745F696E2F +:100480006974207267626C696768745F636F6E6617 +:1004900069672E6D6F6465203D20302E205772698C +:1004A00074652064656661756C742076616C756531 +:1004B0007320746F20454550524F4D2E0A007267CD +:1004C000626C696768745F696E6974206565636FE3 +:1004D0006E666967206973206E6F7420656E616255 +:1004E0006C65642E0A007267626C696768745F6984 +:1004F0006E6974207374617274210A007267626C91 +:10050000696768745F696E69742063616C6C6564A7 +:100510002E0A007267626C696768745F636F6E664B +:1005200069672E7370656564203D2025640A00723A +:1005300067626C696768745F636F6E6669672E7661 +:10054000616C203D2025640A007267626C696768EF +:10055000745F636F6E6669672E736174203D20253A +:10056000640A007267626C696768745F636F6E66C5 +:1005700069672E687565203D2025640A00726768EA +:100580006C696768745F636F6E6669672E6D6F6410 +:1005900065203D2025640A007267626C6967687493 +:1005A0005F636F6E6669672E656E61626C65203D84 +:1005B0002025640A007267626C696768745F636F04 +:1005C0006E66696720454550524F4D3A0A00626198 +:1005D000636B6C6967687420737465703A20257565 +:1005E0000A006261636B6C69676874206469736197 +:1005F000626C650A006261636B6C69676874206590 +:100600006E61626C650A006261636B6C6967687435 +:1006100020746F67676C653A2025750A0062616314 +:100620006B6C696768742064656372656173653AB1 +:100630002025750A006261636B6C696768742069C4 +:100640006E6372656173653A2025750A00000101C9 +:100650000101010101010102020202020202020281 +:100660000303030303030303040404040404040551 +:100670000505050506060606060707070707080815 +:100680000808090909090A0A0A0B0B0B0C0C0C0DC6 +:100690000D0D0E0E0E0F0F0F10101111111212135F +:1006A000131414151516161717181819191A1A1BDA +:1006B0001B1C1D1D1E1E1F20202122222324242539 +:1006C0002626272829292A2B2C2D2D2E2F30313272 +:1006D00032333435363738393A3B3C3D3E3F404182 +:1006E00042434445464748494A4C4D4E4F5051536A +:1006F00054555658595A5B5D5E5F61626465666821 +:10070000696B6C6D6F7072737577787A7B7D7E80A4 +:1007100082838587888A8C8E8F91939596989A9CF0 +:100720009EA0A2A3A5A7A9ABADAFB1B3B5B7BABC04 +:10073000BEC0C2C4C6C9CBCDCFD1D4D6D8DBDDDFD5 +:10074000E2E4E7E9EBEEF0F3F5F8FAFDFF0A002545 +:1007500030325820006B6579626F6172645F726538 +:10076000706F72743A20000A0025303258006B65B1 +:1007700079626F6172645F7365745F6C65643A205F +:100780000064656C5F6B65795F6269743A206361D0 +:100790006E27742064656C3A20253032580A006157 +:1007A00064645F6B65795F6269743A2063616E2788 +:1007B00074206164643A20253032580A00290A0006 +:1007C0002575002F002575005D2800256400200098 +:1007D000256400200025640020002564007C00259D +:1007E000303258006D6F7573656B6579205B62748C +:1007F0006E7C782079207620685D287265702F6184 +:10080000636C293A205B005B735D004B6579626F16 +:100810006172642073746172742E0A005B575D000C +:100820005B535D005B525D005B445D005B435D00BC +:1008300004033000000010034B0042004400360067 +:10084000370076003200000010034B0042004400E5 +:10085000460061006E0073000000040309040902F1 +:100860005B00030100A0FA0904000001030101007C +:100870000921110100012240000705810308000A37 +:1008800009040100010300000009211101000122F7 +:10089000BC000705820320000A09040200020300CD +:1008A0000000092111010001222200070583032015 +:1008B00000010705030320000112011001000000E0 +:1008C00008424B67600200010203010631FF097410 +:1008D000A1010975150026FF009520750881020900 +:1008E00076150026FF00952075089102C0050109C4 +:1008F00002A10185020901A10005091901290515B7 +:100900000025019505750181029501750381010599 +:1009100001093009311581257F9502750881060985 +:10092000381581257F950175088106050C0A380266 +:100930001581257F950175088106C0C005010980D4 +:10094000A101850319012AB700150126B7009501F9 +:1009500075108100C0050C0901A101850419012A47 +:10096000A002150126A002950175108100C00501A5 +:100970000906A1018505050719E029E715002501EC +:100980009508750181020507190029EF1500250159 +:1009900095F0750181020508190129059505750174 +:1009A0009102950175039101C005010906A1010598 +:1009B0000719E029E71500250195087501810295C1 +:1009C00001750881010507190029FF150026FF00A0 +:1009D0009506750881000508190129059505750119 +:1009E0009102950175039101C00011241FBECFEF44 +:1009F000DAE0DEBFCDBF04B603FE27C0809112034C +:100A000090911303A0911403B09115038730904B7C +:100A1000A740B04BD1F4109212031092130310921E +:100A200014031092150314BE84B7877F84BF0FB6DA +:100A3000F894A8958091600088618093600010927E +:100A400060000FBEE0E0F8E3099511E0A0E0B1E03E +:100A5000EEE5FDE502C005900D92AC3BB107D9F77C +:100A600023E0ACEBB1E001C01D92A231B207E1F787 +:100A70000E9453280C94712E0C940000FF93EF9366 +:100A8000E091BC01F091BD01309709F00995EF911B +:100A9000FF910895FC018591803011F0EFDFFBCFCD +:100AA0000895FF27E0E230E247FF0CC0419597FF31 +:100AB00009C0EDE26095709580959095611D711D5E +:100AC000811D911D27FF02C0219530E350E2AA2726 +:100AD000660F771F881F991FAA1FA41710F0A41B69 +:100AE00063955A95A9F7AA3008F0A95FA05DAF9366 +:100AF000F395611571058105910541F7ED3211F40A +:100B0000EF93F395F21718F43F93F395FBCF8F9182 +:100B1000B5DFFA95E1F70895E991F9918591803073 +:100B200021F0853219F0AADFF9CF089520E0E8948A +:100B300055915532C1F3503311F4689455915A339D +:100B400048F4505390F3220F022E220F220F200D53 +:100B5000250FF4CF0EF4219589919991533619F30D +:100B6000533729F1533559F1BC0188279927E89467 +:100B70005C3621F48991999168945591543639F4F1 +:100B800046EF7EF077FF0DC08FEF9FEF0AC055371D +:100B90004AE039F0583540E121F0523642E009F0A0 +:100BA0000895FF93EF937DDFEF91FF91B7CFFF9310 +:100BB000EF93FC0181918030B9F360DFFBCFFF93AD +:100BC000EF9368DFF1CFDF93CF93CDB7DEB72596F4 +:100BD000A3DFCF91DF910895549A0C940606CF932A +:100BE000C82F0E949306882319F0C1FD03C05C9AA8 +:100BF000CF9108955C98FCCF80910101823019F467 +:100C000081E00E94F41D1092010108950895089555 +:100C1000FC018081813029F49285992339F082E0AA +:100C20000895823011F088E0089583E008950E94CD +:100C3000080680930101882391F0833018F08330F7 +:100C400021F0089581E00C94D31D82E00E94B31D31 +:100C5000882319F082E00C94F41D82E0F4CF08950B +:100C600081E0089581E008950C94320608950C9473 +:100C700036061F93CF93DF9300D000D00F92CDB7ED +:100C8000DEB749835A836B833091DB0189819A8176 +:100C900031111DC06623B9F02223A9F00E94C21EA3 +:100CA000182F682F89819A810E946F1E69817A812D +:100CB000812F0F900F900F900F900F90DF91CF9199 +:100CC0001F910C9419070E949B1E182FEFCF0E94B2 +:100CD000C21E69817A81EDCFFC01262F40815181AE +:100CE0006281738184810C943906CF93DF93EC0188 +:100CF00060E00E946C06BE01DF91CF910C94370634 +:100D00000E94C9220E943920811102C00E94DF2066 +:100D10000E94B2100C94EC050E9418140C94250942 +:100D200008950C94900681E00895CF93C82F0E94F7 +:100D300091068C2FCF910C94EF0508950E94B6195F +:100D40000E949D062FEF84E39CE02150804090405C +:100D5000E1F700C000000C94A3220F931F93CF93E0 +:100D6000DF93EC0161E00E946C068C01BE010E94E1 +:100D70007813BE01C8010E9434068823A1F1BE0188 +:100D8000C8010E941E10882371F1BE01C8010E9493 +:100D9000BE13882341F1BE01C8010E947911882346 +:100DA00011F1BE01C8010E94CB118823E1F0BE0100 +:100DB000C8010E94EE128823B1F0BE01C8010E9452 +:100DC000910E882381F08A81882341F101308CE5DE +:100DD000180779F00E3D8CE51807E9F001151C4560 +:100DE000E9F40E949E0680E0DF91CF911F910F9160 +:100DF000089590917302892F8E7F90FF8160809378 +:100E0000730280FF05C08EE992E00E944A05EBCF95 +:100E10008CE892E0FACF0E94DF20E5CFCE01DF918F +:100E2000CF911F910F910C94300690E080E00895CF +:100E30000895E72FF0E095E0899FE00DF11D112462 +:100E400084E0EE0FFF1F8A95E1F7E60FF11DEE0F2C +:100E5000FF1FE455FF4F859194910895FC01EE0F1B +:100E6000FF1FE155FD4F859194910895CF93DF9336 +:100E70000E9419070E944B08EC01811520E592079A +:100E800008F042C0811530E4930708F0BDC0883EE9 +:100E9000910528F5803E910508F09DC0883A91059E +:100EA00088F4853A910508F08FC08130910509F4E6 +:100EB00092C0009709F48FC0049708F08CC0D0E06E +:100EC000C0E089C08F3B910508F489C0805C91091E +:100ED000C03CD105A0F30E942E07EC017CC0811517 +:100EE000904250F4C11581E0D80708F074C0C03FAB +:100EF000D10528F3D0656FC0C11590E3D90708F07C +:100F000079C0CE019F70E7CF811525E5920758F58E +:100F1000811534E5930708F0A6C0811542E59407D2 +:100F200050F4C11581E5D80708F471C0DC2FCC2737 +:100F3000C16FD06A50C0982F969596959E012370E8 +:100F40003327C115D34508F07FC0C1E0D0E002C00F +:100F5000CC0FDD1F2A95E2F720E2929FC0011124F9 +:100F6000C82BD92B6FC0C11589E5D807A8F4C115C6 +:100F700098E5D90708F07CC0C11526E5D20708F02E +:100F80009ECF8C2F0E94E208C82FD0E0DC2FCC2708 +:100F9000CC27DF71D0621FC0C1153AE5D30708F432 +:100FA0006CC0CE0190568115904208F088CF8D2FED +:100FB0008F710E94E20890E0982F882788279F7100 +:100FC0009C012C2BE901E6CFC55AD0E0CF59DE4F6A +:100FD000C881D0E0D064CE01DF91CF910895C85A86 +:100FE000D0E0CC0FDD1FCD5CDE4F0990D881C02D45 +:100FF000D464F1CFCE019927D3FF03C0EC01D86CA4 +:10100000EACFEC01D06CE7CFDF70D06AE4CFCE013D +:10101000E4E096958795EA95E1F783702C2F269565 +:101020002695237090E2299F90011124382B8C2F54 +:101030008370C1E0D0E002C0CC0FDD1F8A95E2F7DB +:10104000C22BD32BDC68C7CFC1E0D0E002C0CC0FED +:10105000DD1F2A95E2F730E2939FC0011124C82BCF +:10106000D92BDA68B8CFD82FCC27C46FD06AB3CFCA +:10107000DC2FCC27C06FD06AAECF8C2F8F700E9430 +:10108000E20834E0D695C7953A95E1F7CF709C2FEA +:10109000EC01D069A0CF82389105B1F1B0F4813371 +:1010A000910509F475C048F48932910509F469C0C5 +:1010B0008A32910509F473C008958533910509F4C6 +:1010C00059C08933910501F10895833E9105A9F135 +:1010D00038F4803E9105F9F0823E910549F108957A +:1010E000863E9105A9F1873E9105C9F1843E91059F +:1010F00019F52091AA0221FF1FC08091A90284FD49 +:1011000014C087EE90E008952091A9022370A1F009 +:1011100080EE90E008952091A90220FD47C0309113 +:10112000AA0230FF09C024FF44C090E080E004C060 +:101130002091A90222FDF7CF08952091A90222FD56 +:101140003BC03091AA0230FDE3CF24FFF5CFEDCFB5 +:101150002091A90223FFF0CF24FDE7CFD2CF209129 +:10116000A90223FD2CC03091AA0231FFEECF84EEFC +:1011700090E008952091A90225FFDECF89E290E05A +:1011800008952091A90225FFD7CF85E390E0089527 +:101190002091A90226FFD0CF8AE290E00895209105 +:1011A000A90226FFC9CF81E390E0089589E390E08A +:1011B000089583EE90E0089582EE90E0089586EE23 +:1011C00090E008959091A90292FF06C0282F2871FF +:1011D0002830F9F4877F846093FF06C0282F287198 +:1011E0002831F1F4877E84612091AA0220FF06C095 +:1011F000382F38713830D9F4877F816021FF06C0DD +:10120000282F28712831D1F4877E816194FD877E53 +:101210000895282F24712430F9F68B7F8860DCCF65 +:10122000282F2471243101F78B7E8861DDCF382F80 +:101230003171313019F78E7F8860E0CF282F21710E +:10124000213121F78E7E8861E1CF0C940706E82FCB +:10125000F0E0EE0FFF1FEB54FD4F80819181089568 +:10126000CF92DF92EF92FF920F931F93CF93DF9372 +:101270008FEB92E00E944A0585EBE82E82E0F82E83 +:10128000D0E0C0E09AEBC92E92E0D92E01EB12E03B +:10129000DF93CF93DF92CF920E94E30587EB92E03A +:1012A0000E944A05F701819191917F010E942620B9 +:1012B0009F938F931F930F930E94E3058FEA92E011 +:1012C0000E944A0521968DB79EB708960FB6F894EE +:1012D0009EBF0FBE8DBFC530D105D1F6DF91CF9136 +:1012E0001F910F91FF90EF90DF90CF90089580EACB +:1012F0008A95F1F70895CF93DF93A4E7B1E049E72A +:1013000051E0C1E0D0E08D91E82FE295EF70F0E080 +:1013100061A18F709E0101C0220F8A95EAF7922F7A +:101320009095962391A382A1822B82A34A175B07F3 +:1013300051F7A4E6B1E061E070E08D91E82FE2950D +:10134000EF70F0E041A18F709B0101C0220F8A95E0 +:10135000EAF7922F9095942391A382A1822B82A3E6 +:1013600081E0A437B80749F71092AC021092AB02A3 +:101370001092B6021092B5021092AE021092AD0217 +:101380001092B8021092B7021092B0021092AF02FF +:101390001092BA021092B9021092B2021092B102E7 +:1013A0001092BC021092BB021092B4021092B302CF +:1013B0001092BE021092BD0285E00E946A0ADF917F +:1013C000CF910C9480068F929F92AF92BF92CF9252 +:1013D000DF92EF92FF920F931F93CF93DF9384E7F7 +:1013E000E82E81E0F82E0BEA12E0912CAA24A394B7 +:1013F000B12CF70181917F01C82FC295CF70D0E049 +:1014000099A18F70650101C0CC0C8A95EAF7892FEC +:101410008C2989A38AA18C2C809488218AA30E947C +:101420007709E4E6F1E050E040E030E020E061914F +:10143000A62FA295AF70B0E090968C9190E06F705F +:1014400002C0959587956A95E2F780FD3EC0C5017B +:10145000042E02C0880F991F0A94E2F7282B392B1B +:101460004F5F5F4F4031510511F789A1882289A252 +:101470008AA1C82ACAA2F801808191812817390758 +:1014800039F13183208381E0982A0E5F1F4FF9E7FD +:10149000EF16F1E0FF0609F0ACCF292D45E065EB32 +:1014A00072E08BEA92E00E946B0A0E948C06892D02 +:1014B000DF91CF911F910F91FF90EF90DF90CF9030 +:1014C000BF90AF909F908F90089590E080E0C6CF3E +:1014D00080E0DACF0895FF920F931F93CF93DF93AD +:1014E000F82E092F162FD72FC42F222349F081E081 +:1014F0008093C0010E9464229093BF018093BE013B +:101500008091C0018823A1F08091BE019091BF011C +:101510000E947022069760F0EF2DF02FA12FBD2FB3 +:1015200090E080E0D0E08C179D0744F01092C0015D +:10153000DF91CF911F910F91FF90089521913191EB +:101540002D933D930196EFCFEF92FF920F931F9350 +:10155000CF93DF93EB01E82FD11110C0442321F08A +:10156000F0E0E35BF94FE4916E2F7E2F8E2FDF9139 +:10157000CF911F910F91FF90EF9008950D2F10E0E4 +:10158000282F30E0442329F0235B394FF9012491BF +:1015900030E0F6E0CF9FC0011124EFEFF0E0BF0193 +:1015A0000E94BF2DAB018C2F90E0880F991FA5E5FD +:1015B000A49FB001A59F700D1124861B970B982F37 +:1015C000990F980FBF01601B710B629FD001639F41 +:1015D000B00D729FB00D11248B2F9D9FB00111246F +:1015E000672F7727EF01C61BD70BBE01629FE00173 +:1015F000639FD00D729FD00D11247F01E91AF1086D +:10160000E09EB001E19E700DF09E700D1124672FD9 +:101610007727E61BF70BE29F8001E39F100DF29FF7 +:10162000100D1124E12F722F4230510599F048F42A +:101630004115510569F04130510581F0EB2F8D2F97 +:1016400007C04430510569F080F046305105B1F7CC +:101650006E2F8DCFE22F7B2F812FFACFE22F7D2FA0 +:10166000F7CFEB2F822F712FF3CF7B2F822FED2F10 +:10167000EFCF41E00C94A40ACF93DF93762FE901DA +:10168000682F842F0E94390B798368838A83DF91C6 +:10169000CF910895413F08F040EF0C943C0B8091AE +:1016A000BF02982F9E7F71F48091BF02817082608B +:1016B0008093BF028091C202813F18F080EF809337 +:1016C000C2020895843080F7F5CF88E090E00C9452 +:1016D000312ECF92DF92EF92FF926B017C010E943C +:1016E0004F0BB701A60188E090E0FF90EF90DF90EC +:1016F000CF900C944F2EEFEBF2E083E080831182C9 +:101700008FEF828380EF8383148260817181828175 +:1017100093810C94690B8091730280FF76C085EBF6 +:1017200095E09F938F930E94E305809173020F9041 +:101730000F9080FF6AC08091BF0281701F928F93CB +:1017400088E995E09F938F930E94E305809173024F +:101750000F900F900F900F9080FF57C08091BF02A5 +:1017600086951F928F938DE795E09F938F930E94AC +:10177000E305809173020F900F900F900F9080FF00 +:1017800044C08091C0021F928F9383E695E09F939F +:101790008F930E94E305809173020F900F900F903A +:1017A0000F9080FF32C08091C1021F928F9389E415 +:1017B00095E09F938F930E94E305809173020F90B1 +:1017C0000F900F900F9080FF20C08091C2021F9257 +:1017D0008F938FE295E09F938F930E94E305809112 +:1017E00073020F900F900F900F9080FF0EC08091AA +:1017F000C3021F928F9383E195E09F938F930E9482 +:10180000E3050F900F900F900F9008959091C302F1 +:10181000933018F49F5F9093C302882351F0609136 +:10182000BF027091C0028091C1029091C2020C94DB +:10183000690B089581E00C94060C9091C3029923E2 +:1018400019F091509093C302882351F06091BF0228 +:101850007091C0028091C1029091C2020C94690BF8 +:10186000089581E00C941D0C70E00C94C2106091FE +:1018700019018091BF0280FF0AC08091180123E006 +:10188000829FC00111248C539D4F0C94340C809185 +:101890001A0190911B0123E0829FF0011124EC5367 +:1018A000FD4F891750F71182108212828F5F339695 +:1018B000F8CF8091BF028E7F8093BF026091BF02FC +:1018C0007091C0028091C1029091C2020E94690B86 +:1018D0008091730280FF0FC08091BF0281701F92C0 +:1018E0008F938CE593E09F938F930E94E3050F9075 +:1018F0000F900F900F902FEF80E792E021508040E3 +:101900009040E1F700C000000C94370C8091BF02BA +:101910008E7F8093BF028091730280FF0CC01F9264 +:101920001F9282E293E09F938F930E94E3050F90B2 +:101930000F900F900F902FEF80E792E021508040A2 +:101940009040E1F700C000000C94370C9091BF026A +:1019500090FF14C090911A0120911B0133E0939FD6 +:10196000F0011124EC53FD4F921710F00C94370C3A +:101970008183608342839F5F3396F6CF0895EF9211 +:10198000FF920F931F93CF93DF9300D00F92CDB7A9 +:10199000DEB7182F062FF42EE22E8091BF0280FFB3 +:1019A00043C0E82FE695F0E0E758FE4F9081909312 +:1019B000C2018E7F823059F49E012F5F3F4F812FED +:1019C0000E944A0B4B8169818A810E94A60C109368 +:1019D000C0020093C102F092C202EE2079F1609140 +:1019E000BF027091C0028091C1029091C2020E9418 +:1019F000690B8091730280FF17C08091C2021F9211 +:101A00008F938091C1021F928F938091C0021F9289 +:101A10008F938DEF92E09F938F930E94E3050FB613 +:101A2000F894DEBF0FBECDBF0F900F900F90DF91E7 +:101A3000CF911F910F91FF90EF90089580917302C5 +:101A400080FFF2CF1F92FF921F920F931F921F935E +:101A500086ED92E0E0CFEFEBF2E09181282F438119 +:101A6000628188E0890F0C94BF0C81E00C942B0DEF +:101A7000EFEBF2E09181282F4381628188EF890F9B +:101A80000C94BF0C81E00C94380DEFEBF2E0628116 +:101A900028E0620F08F46FEF282F438181810C94B6 +:101AA000BF0C81E00C94450DEFEBF2E0628128E081 +:101AB000621B08F460E0282F438181810C94BF0CE5 +:101AC00081E00C94540DEFEBF2E0438128E0420FEB +:101AD00008F44FEF282F628181810C94BF0C81E0C4 +:101AE0000C94630DEFEBF2E0438128E0421B08F415 +:101AF00040E0282F628181810C94BF0C81E00C941E +:101B0000720D20E00C94BF0C8091BF0280FF35C0A5 +:101B1000817082608093BF02662329F16091BF02C9 +:101B20007091C0028091C1029091C2020E94690B23 +:101B30008091730280FF0FC08091BF0286951F9233 +:101B40008F9389E594E09F938F930E94E3050F9014 +:101B50000F900F900F904091C2026091C10280914E +:101B6000C0020C94810D8091730280FFF4CF1F920C +:101B700081E08F938BE394E0E6CF0895682F81E0B6 +:101B80000C94840D81E00C94BE0D682F9091BF02DF +:101B900096958FEF890F09F481E00C94840D81E014 +:101BA0000C94C50D61E00C94840D8091BF0281609E +:101BB0008093BF028091730280FF0DC01F9281E06D +:101BC0008F938DEC93E09F938F930E94E3050F908A +:101BD0000F900F900F908091BF0286950C94D20DBC +:101BE0008091730280FF10C08091BF028095817048 +:101BF0001F928F9384E094E09F938F930E94E3055C +:101C00000F900F900F900F908091BF0280FD0C9469 +:101C1000590C0C94D50D60E00C94840D8091C10199 +:101C200081115EC08091730280FF14C08CEF94E03C +:101C30009F938F930E94E305809173020F900F9002 +:101C400080FF08C086EE94E09F938F930E94E30587 +:101C50000F900F900E943920811110C08091730263 +:101C600080FF08C08EEB94E09F938F930E94E30562 +:101C70000F900F900E94DF200E947B0B0E94650B4B +:101C80006093BF027093C0028093C1029093C2021E +:101C90006E7FC1F48091730280FF08C085E794E0F5 +:101CA0009F938F930E94E3050F900F900E947B0BF0 +:101CB0000E94650B6093BF027093C0028093C102C3 +:101CC0009093C2020E944F0B0E948B0B8091BF0227 +:101CD00080FF03C086950E940B0E81E08093C101B6 +:101CE00008958091BF0281608093BF02809173024A +:101CF00080FF0DC01F9281E08F9384E993E09F9352 +:101D00008F930E94E3050F900F900F900F9080919A +:101D1000BF0286950C940B0EFA01811101C0FB01E4 +:101D200009940F931F93CF938C01FB01C281CC23A5 +:101D300009F44DC00E94571F8272F801E25CFC4515 +:101D4000E431F10538F4ED58F14D0C94092E0E9460 +:101D5000F00DC0E08C2FCF911F910F9108954FECA3 +:101D60005DE062EC7DE00E948C0EF3CF42EC5DE022 +:101D70006FEC7DE0F8CF42E45DE065E37DE0F3CF1A +:101D800045E35DE062E47DE0EECF40E65DE061E5E5 +:101D90007DE0E9CF41E55DE060E67DE0E4CF4EE740 +:101DA0005DE06FE67DE0DFCF4FE65DE06EE77DE072 +:101DB000DACF41E35CE06AE17CE0D5CF4AE15CE068 +:101DC00061E37CE0D0CF81E00E94D20DC2CFC1E0C0 +:101DD000C1CF0E943920811102C00E94DF200E94E1 +:101DE000672080930003803220F0877088618093A1 +:101DF000000390910003892F817090FF04C0892F08 +:101E00008695869586950C94531080910003982FA3 +:101E1000969596959695933040F49F5F990F990FFC +:101E2000990F8770892B8093000380910003816054 +:101E3000809300030E946B208091730280FF11C089 +:101E4000809100038695869586951F928F9385E3F2 +:101E500096E09F938F930E94E3050F900F900F9051 +:101E60000F90809100038695869586950C9453106B +:101E700080910003982F987F79F088508093000319 +:101E8000887F91E009F490E08091000390FB80F955 +:101E9000809300030E946B208091730280FF11C029 +:101EA000809100038695869586951F928F938DE18C +:101EB00096E09F938F930E94E3050F900F900F90F1 +:101EC0000F90809100038695869586950C9453100B +:101ED0008091000380FD1FC08160809300038130EA +:101EE00019F489E080930003809100030E946B2025 +:101EF0008091730280FF08C085EF95E09F938F93D8 +:101F00000E94E3050F900F908091000386958695BF +:101F100086950C94531008958091000380FF14C09F +:101F20008E7F809300030E946B208091730280FF5C +:101F300008C082EE95E09F938F930E94E3050F9077 +:101F40000F9080E00C9453100895CF93C09100033C +:101F5000C1708091730280FF0CC01F92CF9387E005 +:101F600096E09F938F930E94E3050F900F900F9040 +:101F70000F90CC2319F0CF910C948C0FCF910C942F +:101F8000680F90910003892F8695869586958F5FBF +:101F90008F719770843080F5880F880F880F892B98 +:101FA0008093000380910003887F91E009F490E022 +:101FB0008091000390FB80F9809300030E946B20C6 +:101FC0008091730280FF11C08091000386958695F1 +:101FD00086951F928F938EEC95E09F938F930E942E +:101FE000E3050F900F900F900F908091000386955E +:101FF000869586950C94531090930003D3CF84302C +:1020000008F083E0909100039770282F220F220F91 +:10201000220F922B90930003987F21E009F420E097 +:102020009091000320FB90F9909300030C945310BF +:102030000E94FF0F809100030C946B209C01FB0118 +:102040008281882349F12D3BFCE53F07C9F040F42C +:102050002B3BECE53E0769F02C3B3C4579F00895BD +:102060002F3B9CE5390791F070F0203C3C4589F00E +:10207000089583E00E94181080E0089580E0FACF70 +:102080000E94380FF9CF0E94050FF6CF0E94A50FCE +:10209000F3CF0E94C10FF0CF81E00895259A2D98CB +:1020A00008952D980895CF92DF92EF92FF92CF93EB +:1020B000C82F843040F5811127C0809180008F7730 +:1020C000809380000E9451102C2F30E0AFEFBFEFC3 +:1020D0000E940F2E23E030E040E050E00E94E72D08 +:1020E000C9012C3764E13607A8F469E070E00E946A +:1020F000BF2D7093890060938800CF91FF90EF907F +:10210000DF90CF900895C3E0809180008068809335 +:102110008000DACF2A50374D4F4F5F4F942F832FD7 +:10212000722F662725EF38E241E050E00E94E72D4C +:1021300069017A01CA01B9010E94A32D9B01AC017A +:10214000C701B6010E94A32D672F782F892F9927E9 +:102150006115710521E08207910559F66FEF7FEF58 +:10216000C8CF08950E944E1082E88093800089E1D4 +:10217000809381008FEF9FEF90938700809386007C +:102180000C94E90E6A9A4EB14B7F5EB15460EFB782 +:10219000F8949B01220F331F260F371F280F391F7A +:1021A0002817390741F4EFBF8FE594E00197F1F765 +:1021B00000C000000895DC016D91CD0178E05EB9AA +:1021C000000000C067FF4EB9660F000000C000C0ED +:1021D00000C04EB900C07A9591F7E2CFAF92BF929E +:1021E000CF92DF92EF92FF920F931F93CF93DF93E3 +:1021F0007C015B01C42FD22FFC0182818823F9F07E +:102200004093C6010E9464229093C5018093C4014B +:1022100080E28C0F883008F061C0C77081E001C097 +:10222000880FCA95EAF7DF91CF911F910F91FF9028 +:10223000EF90DF90CF90BF90AF900C943A17109131 +:10224000C601141340C08091C4019091C5010E9441 +:1022500070226C01B701C5010E942C1CC816D9065A +:1022600090F5C0E2CD0F1D17B9F080E2810F8830E4 +:1022700040F4177081E001C0880F1A95EAF70E94B8 +:102280004117C83048F481E09D2F977001C0880F36 +:102290009A95EAF70E943A17802F0E942717C830B4 +:1022A000E8F4D77081E001C0880FDA95EAF7DF9192 +:1022B000CF911F910F91FF90EF90DF90CF90BF9043 +:1022C000AF900C94411780E28C0F883038F4C770BF +:1022D00081E001C0880FCA95EAF7E9CFDF91CF917D +:1022E0001F910F91FF90EF90DF90CF90BF90AF9034 +:1022F00008950F939C01CB01233F4CE5340759F11E +:10230000A8F4283DFCE53F0701F1293D4CE53407E1 +:10231000D1F1273D3C4591F406E221EE41EE67ED17 +:102320007CE50E94EE1080E00F910895253FFCE5CA +:102330003F07E9F0B0F0263F3C45F9F0FC0182810F +:10234000882339F11092C601EFCF07E225EE45EE62 +:1023500068ED7CE5E6CF06E221EE40EE63EF7CE53A +:10236000E0CF07E225EE44EE64EF7CE5DACF06E24B +:1023700021EE42EE65EF7CE5D4CF07E225EE46EE96 +:1023800066EF7CE5CECF08E221E045EE69ED7CE525 +:10239000C8CF81E0C9CFCF93DF93EC01FB018281ED +:1023A000882309F419C1C230FCE5DF07C0F1C6314A +:1023B0009CE5D90730F09E012A5F3C452930310564 +:1023C00070F50E944C209093AA028093A902C0311C +:1023D000ECE5DE0709F4CFC008F05BC0C8308CE53F +:1023E000D80709F4B6C088F5C430ECE5DE0709F477 +:1023F000A8C0C0F4C2308CE5D80709F49CC0809115 +:10240000A9028260C330DC4509F498C08091A9021A +:102410009091AA020E945A200E94B61980E0DF9192 +:10242000CF9108958091A9028061C630ECE5DE0766 +:1024300009F484C08091A9028860C730DC4508F4A3 +:102440007DC08091A902806279C0CC308CE5D8072C +:1024500009F489C070F48091A9028C60CA30ECE55F +:10246000DE0709F46BC008F478C08091A9028E7F62 +:1024700065C0CE308CE5D80709F479C08091A902F7 +:102480008B7FCF30DC4508F459C08091A9028F7E44 +:1024900055C0CB3FECE5DE0709F457C030F5C3313A +:1024A0008CE5D80709F46FC078F4C131ECE5DE079C +:1024B00009F465C0C231DC4509F0A8CF0E94B61905 +:1024C0008091A9028F773AC0C5318CE5D80709F40D +:1024D00062C008F476C08091AA028160CA3FDC45E0 +:1024E00009F094CF8093AA0291CFCF3FFCE5DF079C +:1024F00009F44DC088F48091AA028D7FCD3F9CE500 +:10250000D90781F38091AA028E7FCE3FDC4550F33C +:102510008091AA028360E6CFC130FDE5DF0709F4B0 +:1025200059C008F444C080E0C230DD4509F06ECFE8 +:102530000E94E1206BCF8091A90281608093A90263 +:1025400065CF8091A9028460F9CF8091AA02826050 +:10255000C9CF8091A9028064F1CF0E94B619809101 +:10256000A9028068EBCF8091A9028D7FE7CF80918F +:10257000A902877FE3CF8091A9028F7DDFCF809171 +:10258000A9028F7BDBCF8091A902837FD7CF809177 +:10259000AA028C7FA7CF8091A90282FB992790F98C +:1025A00021E0922790FB82F990FB83F9C7CF8091BD +:1025B000AA02982F909591708E7F892B90FB81F9BC +:1025C00091CF0E94B6199091A902892F97FB87F9A4 +:1025D0008058B4CF81E0ACCF81E021CFCF93DF939F +:1025E000EB0186319C4511F50E94571F9A81992372 +:1025F00099F08A7A91E009F490E09093C7018111F3 +:1026000009C089E20E94321F0E94A61F80E0DF916C +:10261000CF91089585E3F6CF8091C701811104C061 +:1026200089E20E94391FF0CF85E3FBCF81E0EFCF35 +:10263000CF93DF93EC0181E0898B8F810E945A1F39 +:1026400088850E946D1F0E94A61FEA81FB8130973A +:1026500039F06C897D89CE010696DF91CF9109947E +:10266000DF91CF910895EF92FF920F931F93CF9335 +:10267000DF93EC018A85811134C0EB80FC8087E513 +:10268000F81A26E12E9DC0012F9D900D1124DC012A +:10269000AE5FBE4F1496ED91FC911597309731F0D7 +:1026A00054966D917C91885F9E4F099586E18E9D31 +:1026B00080018F9D100D11240E5F1E4FF801878140 +:1026C0000E94601FF80180850E94731F0E94A61F50 +:1026D000188219861B861E821D821092C9011092D3 +:1026E000C801DF91CF911F910F91FF90EF90089556 +:1026F000DF92EF92FF920F931F93CF93DF937C01B2 +:10270000FB018281882391F080911D018F3F71F040 +:10271000C2E0D1E010E000E0DD24D39480911D01FF +:10272000082E000C990B8017910744F4DF91CF918C +:102730001F910F91FF90EF90DF9008958E81882375 +:10274000C9F089859A858E159F0539F48091C80155 +:102750009091C9018E159F0569F0DF86FC86EB8696 +:102760008989811103C0CE010E941813CE010696FB +:102770000E9433130F5F1F4F6696D0CFEF92FF92E8 +:102780000F931F93CF93DF937C0197558F3F910554 +:1027900009F0D8F520911D01022E000C330B2817EB +:1027A000390714F480931D01FB01228136E1389F23 +:1027B0008001399F100D1124E801CE5FDE4F288B78 +:1027C00092818E81992349F1FA86E9868F5F8E8303 +:1027D0000E9464229E878D870E948D1F8F830E9496 +:1027E000571F88870E946A1F9885892B8887E881F0 +:1027F000F981309731F06C897D89C801885F9E4FDF +:102800000995F092C901E092C80181E0DF91CF9172 +:102810001F910F91FF90EF9008958823B1F389895C +:10282000882399F3C801885F9E4F0E943313EDCF30 +:10283000CF92DF92EF92FF920F931F93CF93DF938C +:1028400080911D0110E006E18F3FF1F5DF91CF91FE +:102850001F910F91FF90EF90DF90CF9008950E9D04 +:10286000F0010F9DF00D1124EE5FFE4FC288D3885A +:10287000C114D10439F470E060E0818592850E9432 +:102880002C1C6C010E9DE0010F9DD00D1124CE5F1C +:10289000DE4F8E818823B9F08D859E850E9470223F +:1028A000C816D90680F4109F7001112489898111FE +:1028B00005C0C7018E5F9E4F0E941813C701885F35 +:1028C0009E4F0E9433131F5FE12EF12C80911D015A +:1028D000082E000C990B8E159F050CF6B7CF909320 +:1028E000CF018093CE010895E091CE01F091CF0108 +:1028F000309721F00190F081E02D099480E0089557 +:10290000EF92FF920F931F93CF93DF93EC01E0912F +:10291000CE01F091CF01309709F446C08091320189 +:10292000882341F08091A90287FF04C088818983B0 +:1029300085E088830280F381E02DCE0109958091A6 +:10294000730282FF31C080FF04C085E597E00E94DA +:102950004A0510E000E08FE4E82E87E0F82E809131 +:10296000730280FF0EC0FE01E00FF11F80811F92F5 +:102970008F93FF92EF920E94E3050F900F900F90BC +:102980000F900F5F1F4F0830110549F780917302B8 +:1029900080FF0AC08DE497E0DF91CF911F910F91E6 +:1029A000FF90EF900C944A05DF91CF911F910F910A +:1029B000FF90EF900895E091CE01F091CF01309714 +:1029C00039F022E0DC012C930480F581E02D09949C +:1029D00008952091CC013091CD012817390771F06D +:1029E0009093CD018093CC01E091CE01F091CF0185 +:1029F000309721F00680F781E02D09940895209109 +:102A0000CA013091CB012817390771F09093CB019F +:102A10008093CA01E091CE01F091CF01309721F06F +:102A20000084F185E02D0994089585B7806885BFFD +:102A300085B7806885BF0895089508950C941C1586 +:102A400008950C9420150E9415150E941D150C94D4 +:102A50001E1581E008950C9429150E945B220E94A6 +:102A60007B090E94DD220E94E90E0E940E0E0C944A +:102A70002115CF93C82F8091730282FF1EC080FF63 +:102A80001CC08EE697E00E944A058091730280FF89 +:102A900014C01F92CF9389E697E09F938F930E9473 +:102AA000E305809173020F900F900F900F9080FFBD +:102AB00004C087E697E00E944A058C2FCF910C94C2 +:102AC00095069F92AF92BF92CF92DF92EF92FF92C4 +:102AD0000F931F93CF93DF93CDB7DEB72A970FB62F +:102AE000F894DEBF0FBECDBF0E94E3090E942B15F4 +:102AF000882309F472C051EDA52E51E0B52E10E0E7 +:102B000000E0902E802F0E9427096C01F501E190D2 +:102B1000F1905F01E816F90609F459C0809173023B +:102B200081FD0E94300997012C253D2580E0EE248F +:102B3000E394F12CA9014E215F21452B09F441C0FA +:102B40008E839F82CE20DF2081E0CD2809F480E0B3 +:102B500088870E9464228160782F9A8789874E81B6 +:102B60005F8168858A850E941016000F111FF80189 +:102B7000EF52FE4F80819181E826F926F182E082B2 +:102B80000E94B1100E940A250E9474149091D001F5 +:102B90008917A1F10E9474148093D0012A960FB670 +:102BA000F894DEBF0FBECDBFDF91CF911F910F9183 +:102BB000FF90EF90DF90CF90BF90AF909F900C94DC +:102BC00039158F5FEE0CFF1C803109F0B3CF0F5F1A +:102BD0001F4F0530110509F094CF8FEF89838A8349 +:102BE0001B820E9464228160782F9D838C8349819F +:102BF0005A816B818D810E941016C2CF2A960FB622 +:102C0000F894DEBF0FBECDBFDF91CF911F910F9122 +:102C1000FF90EF90DF90CF90BF90AF909F9008957E +:102C2000CF93DF93CDB7DEB72B970FB6F894DEBF07 +:102C30000FBECDBF4F83588769877A878B871E82E7 +:102C40001D8285E0FE013796DE01119601900D92FE +:102C50008A95E1F749815A816B817C818D819E81C2 +:102C60002B960FB6F894DEBF0FBECDBFDF91CF918C +:102C70000C942F1CFC01808191810C94041FCF9334 +:102C8000C82F882309F48BC08238C1F40E947414C1 +:102C900081FD85C089E30E94321F0E94A61F2FEF8D +:102CA00081EE94E0215080409040E1F700C00000A8 +:102CB00089E30E94391FCF910C94A61F8338A1F499 +:102CC0000E94741480FD6BC083E50E94321F0E9435 +:102CD000A61F2FEF81EE94E0215080409040E1F755 +:102CE00000C0000083E5E5CF8438A1F40E9474148D +:102CF00082FD55C087E40E94321F0E94A61F2FEF5D +:102D000081EE94E0215080409040E1F700C0000047 +:102D100087E4CFCF8CEF8C0F813A90F46C2F8091A9 +:102D20001E0190911F010E94FA20882329F08C2F08 +:102D30000E94391F0E94A61F8C2F0E94321FBBCFFA +:102D400080E28C0F883048F4C77081E001C0880FA2 +:102D5000CA95EAF70E945A1FAECFEBE5EC0FE330BD +:102D600040F4F0E0E755FE4F808190E0CF910C9465 +:102D7000E914E8E5EC0FE73150F4F0E0EE0FFF1F47 +:102D8000E558FE4F80819181CF910C94FF14C03F94 +:102D900030F08C2F0E948223CF910C946D24CF9120 +:102DA0000895882309F452C0823871F40E94741483 +:102DB00081FF4CC089E30E94321F0E94A61F89E355 +:102DC0000E94391F0C94A61F833859F40E94741472 +:102DD00080FF3CC083E50E94321F0E94A61F83E54E +:102DE000EFCF843859F40E94741482FF2FC087E417 +:102DF0000E94321F0E94A61F87E4E2CF9CEF980F2B +:102E0000913AF0F290E2980F983050F4877091E088 +:102E100001C0990F8A95EAF7892F0E94601FD2CFCF +:102E20009BE5980F933020F490E080E00C94E91437 +:102E300098E5980F973120F490E080E00C94FF140F +:102E4000803F20F00E94EA230C946D240895CF93D4 +:102E5000C82F0E943F16C93349F42FEF87EE93E045 +:102E6000215080409040E1F700C000008C2FCF91AE +:102E70000C94D116882321F00E945A1F0C94A61F8F +:102E80000895882321F00E94601F0C94A61F0895C6 +:102E9000BF92CF92DF92EF92FF920F931F93CF9347 +:102EA000DF936C01D62FC72FFC01058102950F70AF +:102EB000128111110E947A1F0E94501FE82E882350 +:102EC00091F01123D1F08C2F807F803421F080E2AB +:102ED0008D0F883090F082E00E94F11F0E94501FF9 +:102EE00091E0E82EE926BC2EB2949FE0B922EB2DAA +:102EF000F0E0E957F14D0C94092EE12CF4CF0C2FA2 +:102F00000F70C07F11F00295007F1123A9F00023FC +:102F100059F080E28D0F883010F0D11109C0802F58 +:102F20000E945A1F0E94A61F8D2F0E943F1614C098 +:102F3000802F0E946D1FF6CF8D2F0E94D116002387 +:102F400059F080E28D0F883010F0D1112CC0802F05 +:102F50000E94601F0E94A61F2B2D2850330B243087 +:102F6000310520F40E9474140E949506EE2009F4A5 +:102F70009EC10E944C1F80FD9AC1F60112820E94E0 +:102F8000461F0E94D31DC6010E9478190E94461F49 +:102F9000DF91CF911F910F91FF90EF90DF90CF9035 +:102FA000BF900C94F41D802F0E94731FD3CFFC2F71 +:102FB000FF70FF2EC07FC03219F0F29480EFF8222C +:102FC000DD2369F0D13049F1112391F1002351F152 +:102FD000F601858180FFA8CF8F70858323C01123E0 +:102FE00081F0011106C00E948D1F8F290E943A179F +:102FF000B3CF0130C1F70E948D1F8F290E94931F0C +:10300000ABCF011106C00E949C1F8F2D0E9441175B +:10301000A3CF013009F4A0CFF6CF112329F0063059 +:1030200008F09ACF8F2DE2CF053008F095CFEDCF85 +:10303000002359F3D93349F4FFEF27EE33E0F15081 +:1030400020403040E1F700C000008D2F0E94D116D3 +:1030500083CF8C2F86958695837069F0813009F037 +:103060007BCF8D2F9C2F9370111102C090E080E0D8 +:103070000E94FF1471CF8D2F9C2F9370111102C0ED +:1030800090E080E00E94E91467CF8D2F112329F092 +:103090000E9482230E946D245FCF0E94EA23FACF10 +:1030A0008C2F837009F041C0111156CF4D2F4295DE +:1030B00046954770440F440F0D2F0F7010E030E01D +:1030C00020E0042E04C0000F111F221F331F0A949A +:1030D000D2F760E070E0CB01D4FF0FC06FE070E08A +:1030E00080E090E004C0660F771F881F991F4A9503 +:1030F000D2F76095709580959095C695C695C370EA +:10310000602B712B822B932BC23049F058F4C130C5 +:1031100019F00E94651D20CF0E94531D1DCF0E94F3 +:10312000771D1ACF0E94511D17CF8695112311F0DC +:103130008C2F8170882309F40FCF4D2F429546952F +:103140004770440F440F0D2F0F7010E030E020E067 +:10315000042E04C0000F111F221F331F0A94D2F740 +:1031600060E070E0CB01D4FF0FC06FE070E080E062 +:1031700090E004C0660F771F881F991F4A95D2F709 +:103180006095709580959095C695C695C370602B97 +:10319000712B822B932BC23049F058F4C13019F0B7 +:1031A0000E944A1ED9CE0E94381ED6CE0E945C1EB6 +:1031B000D3CE0E948D1DD0CECF70112329F08C2F3D +:1031C0000E94D31D8D2F12CF8D2F0E9441178C2F5F +:1031D0000E94F41DC1CED23F89F160F4D03FC9F006 +:1031E000D13F29F1112309F442C001119DCE8C2F4A +:1031F0008F7121C0D33F39F1D43FA1F7112369F179 +:10320000CF718C2F0E94D31D63E08C2F0E94DC1F96 +:10321000A3CE112341F0053008F09ECE8C2F8F7184 +:103220000E94171E99CE063008F096CEF7CF8C2F4D +:103230008F71112369F20E94D31D8ECE8C2F8F7156 +:103240001123C9F3C5CF112329F08C2F8F710E9450 +:10325000BE1D82CE0E94991D7FCE81E00E94F11F8B +:10326000023008F479CE82E00E94F11F75CE00236F +:1032700059F0D93309F0E9CE8FEF97EEE3E08150B2 +:103280009040E040E1F7DFCE8C2F8F71A1CF4C2F23 +:103290004F706D2FC6010E9415070E94C91C5CCE9D +:1032A0004C2F4F706D2FC6010E94180755CEDF912D +:1032B000CF911F910F91FF90EF90DF90CF90BF9033 +:1032C00008950F931F93CF93DF93EC016881798169 +:1032D0008A810E940E1F8C010E946E1E0E94501D4A +:1032E000B801CE01DF91CF911F910F910C94481737 +:1032F000CF93DF93EC018B819C81892B29F088810E +:10330000998189238F3F59F4DF91CF910895CE01A0 +:103310000E946119CE01DF91CF910C947506CE0108 +:103320000E94AD068111F3CF0E94501F882361F3E4 +:103330008A81882349F382E0DF91CF910C94F11FB9 +:103340000E947A1F0E948A1F0E94A61F0E941626B2 +:103350000E946D2490E080E00E94E91490E080E0FB +:103360000C94FF140E94401F0C94A0190E94671F28 +:103370000C94B219E92FE295EF70E250EE3070F440 +:10338000F0E0E956F14D0C94092E803F19F020F43D +:10339000883E20F481E00895843FE1F380E00895C1 +:1033A000883EC0F3813FD1F7F5CF93FB882780F9A2 +:1033B00008950E94041F0C94BA19CF93DF9300D094 +:1033C00000D00F92CDB7DEB70F900F900F900F90F7 +:1033D0000F90DF91CF910895CF93DF9300D000D06D +:1033E00000D0CDB7DEB726960FB6F894DEBF0FBE7D +:1033F000CDBFDF91CF9108951F93CF93DF93C091FD +:10340000DC0116E08091DD018C1304C0DF91CF91C7 +:103410001F910895D0E01C9FF0011D9FF00D112415 +:10342000E252FE4F40815181628173818481958196 +:103430000E94EC192196C770E5CF40910E02509181 +:103440000F0260911002709111028091120290910E +:1034500013020C94EC191F93CF93DF938091130206 +:10346000807FA9F480911002882389F08091DC018B +:10347000C091DD0160910E0270910F02A0911102C6 +:10348000B0911202D62FD72316E0C81304C0DF91E3 +:10349000CF911F91089590E0109711F0DF3F19F43C +:1034A00001968770F2CF189F9001199F300D11245B +:1034B000F901E252FE4F41814713F2CF408146139A +:1034C000EFCF42814111ECCF438154814A1B5B0B0A +:1034D000483C510528F7809113028F7080618093DA +:1034E0001302F901ED51FE4F80818F70806180835E +:1034F0008EE092E00E947819DF91CF911F910C9499 +:10350000FC19AF92BF92CF92DF92EF92FF920F938E +:103510001F93CF93DF93CDB7DEB761970FB6F894C3 +:10352000DEBF0FBECDBF8C0185E0F801DE011D9628 +:1035300001900D928A95E1F7F80140815181E28076 +:103540008EE0C82E82E0D82E609111027091120296 +:103550006115710509F461C190910E0220910F026D +:10356000892F82238F3F09F458C1A380B480F09043 +:103570001002F501E61BF70BFF2009F4FCC0809157 +:103580001302382F307FE83CF10508F0B2C031114A +:1035900079C0FE2C251323C0941321C0E1101FC055 +:1035A0008F708061809313020E941D1AC6010E94D1 +:1035B000781980911302F80185838F2D61960FB6DB +:1035C000F894DEBF0FBECDBFDF91CF911F910F9159 +:1035D000FF90EF90DF90CF90BF90AF900895AB2811 +:1035E00029F0842F85238F3F09F033C180E0F82F25 +:1035F000F170DF2E80FF3CC08091DC012091DD0165 +:1036000036E0821315C04D875E878D859E850E94AA +:10361000041F292F22952F702230F0F0243018F546 +:103620009F70F1F0F8019581907FD1F4D12C1EC0EC +:1036300090E0389FF001399FF00D1124E252FE4FC7 +:103640006181651306C06081641303C062816E11DD +:103650000FC001968770D5CF9F7011F0882331F38A +:10366000805E883018F3C8010E947819FD2CA5CF20 +:10367000EE2009F4A2CF809113028160809313029F +:10368000F12C9BCF251306C0941304C0F801EE2043 +:1036900009F48DC04D875E878D859E850E94D9195E +:1036A000882319F1EE2009F180911302803270F025 +:1036B00020910E0230910F0238872F831986BB8626 +:1036C000AA868C87CE0107960E94781986E0F801B9 +:1036D000AEE0B2E001900D928A95E1F70E942B1ABC +:1036E0000E941D1AFF24F39468CFC8010E94781924 +:1036F000F9CF311113C07A2DB98AA88A6E2D898924 +:103700000E94DD198EE092E00E94781986E0F601B1 +:1037100011928A95E9F70E941D1AB2CF25130FC0A6 +:1037200094130DC0E1100BC0F8018583C8010E94FD +:10373000781986E0F60111928A95E9F73ECF4D8718 +:103740005E878D859E850E94D919882371F2EE20AF +:1037500061F280911302803208F4B8CF20910E02FA +:1037600030910F023A8329831B82BD82AC828E8303 +:10377000CE010196A9CFE83CF10508F041C0FE2C2E +:10378000EE2009F4B2CF25132AC0941328C08091EB +:10379000130280FD1BC0982F907FC1F0F801858334 +:1037A000903F31F0982F907F905F8F70892B8583A9 +:1037B000C8010E94781986E0F801AEE0B2E00190FD +:1037C0000D928A95E1F70E941D1AF7CE86E0F80166 +:1037D000AEE0B2E001900D928A95E1F7EECE4D8712 +:1037E0005E878D859E850E94D91981116FCF80914A +:1037F0001302816080931302C8010E947819DDCE04 +:103800007A2DB98AA88A6E2D89890E94DD1986E0F1 +:10381000F60111928A95E9F7D6CFEE2009F465CF2B +:103820004D875E878D859E850E94D919F82E882345 +:1038300009F45BCF86E0F801AEE0B2E001900D92B2 +:103840008A95E1F78EE092E00E943A160E942B1AC8 +:10385000BACF81E08E25CBCE88EC90E008951F93FF +:10386000CF93DF93CDB7DEB72C970FB6F894DEBFBA +:103870000FBECDBF4F83588769877A878B879C8718 +:10388000CE0107960E94811A882369F08A859B855C +:10389000892B39F04F815885842F85238F3F09F07C +:1038A00071C016E05FC086E0FE013796DE0111961A +:1038B00001900D928A95E1F78A859B85892B89F382 +:1038C0008F81988589238F3F61F32091DD0130E05E +:1038D000C9010196877099274091DC0148171906A4 +:1038E00071F40E94B6191092DD011092DC0186E09D +:1038F000EEE0F2E0DF011D928A95E9F7D2CF96E083 +:10390000929FD001939FB00D1124A252BE4FFE0191 +:10391000319601900D929A95E1F78093DD010E9416 +:10392000FC19BFCF819FC001112482529E4F0E947B +:10393000811A8823E9F0E091DC011E9FF001112437 +:10394000E252FE4F40815181628173818481958171 +:103950000E94EC198091DC0190E001968770992714 +:103960008093DC018091DC019091DD018913DACF35 +:103970002C960FB6F894DEBF0FBECDBFDF91CF916E +:103980001F91089569857A858B859C850E94EC1925 +:1039900088CFEF92FF920F931F93CF93DF938C0109 +:1039A000892B81F0F12CEE24E394E8012196F801B3 +:1039B0008491843770F4843008F05FC08130B1F0B6 +:1039C0008230A1F1DF91CF911F910F91FF90EF9085 +:1039D0000895853709F44CC008F43DC09CE7980F62 +:1039E000903780F78F770E94D11649C00E5F1F4F26 +:1039F000FE01849190E2980F983060F48770FE2D5C +:103A000001C0FF0F8A95EAF78F2F0E947D1F0E9449 +:103A1000A61F02C00E943F168F2D815030F2EFE9A1 +:103A2000FFE03197F1F700C00000F7CF0E5F1F4FA6 +:103A3000FE01849190E2980F983050F48770FE2D2B +:103A400001C0FF0F8A95EAF78F2F0E94831FDFCFF7 +:103A50000E94D116E1CF0E5F1F4FFE01C491C150ED +:103A6000D8F28FE99FE00197F1F700C00000F7CF8F +:103A70000E5F1F4FFE01F490CFCF0E943F168E01C4 +:103A8000CBCF08950C94411D0E94421D60934A02C1 +:103A900070934B0280934C0290934D020C94A019AA +:103AA00008950C94441D0F931F9300914A021091A6 +:103AB0004B0220914C0230914D02602B712B822BD6 +:103AC000932B1F910F910C94441D0F931F93009102 +:103AD0004A0210914B0220914C0230914D0260231A +:103AE0007123822393231F910F910C94441D0F93F4 +:103AF0001F9300914A0210914B0220914C02309189 +:103B00004D0260277127822793271F910F910C94F4 +:103B1000441D0C94411D0C94891D0E948B1D6093C3 +:103B200046027093470280934802909349020C9496 +:103B3000A01960E070E0CB010C948D1D611571053A +:103B40008105910529F481E0442361F080E0089526 +:103B5000DC01CB0104C0B695A795979587954A954A +:103B6000D2F781700895482F609146027091470204 +:103B700080914802909149020C949E1D0F931F93CF +:103B800041E050E060E070E08A019B0104C0000F5A +:103B9000111F221F331F8A95D2F7C901B8011F9147 +:103BA0000F910C948D1D0F931F9341E050E060E046 +:103BB00070E004C0440F551F661F771F8A95D2F727 +:103BC0008091460290914702A0914802B09149022B +:103BD0008A019B01082B192B2A2B3B2BC901B80109 +:103BE0001F910F910C948D1D0F931F9341E050E096 +:103BF00060E070E004C0440F551F661F771F8A9570 +:103C0000D2F7CB01BA01609570958095909500919F +:103C100046021091470220914802309149026023E8 +:103C20007123822393231F910F910C948D1D0F9369 +:103C30001F9341E050E060E070E004C0440F551F66 +:103C4000661F771F8A95D2F78091460290914702AE +:103C5000A0914802B09149028A019B0108271927C7 +:103C60002A273B27C901B8011F910F910C948D1D84 +:103C70000F931F9300914602109147022091480232 +:103C800030914902602B712B822B932B1F910F9146 +:103C90000C948D1D0F931F930091460210914702C3 +:103CA000209148023091490260237123822393239B +:103CB0001F910F910C948D1D0F931F93009146023D +:103CC00010914702209148023091490260277127E4 +:103CD000822793271F910F910C948D1D0895929523 +:103CE000907F890F982F977041E001C0440F9A95FB +:103CF000EAF786958695869595E0899FF0011124CF +:103D0000EC5EFD4F30E020E070E05191DF01119753 +:103D1000CB01022E02C0969587950A94E2F7817036 +:103D200081958527842385278C932F5F3F4F2530EE +:103D3000310559F708959295907F890F982F9770C4 +:103D400086958695869525E0829FF0011124EC5E8C +:103D5000FD4F50E040E080E0219130E0092E02C0AC +:103D6000369527950A94E2F721703327042E01C077 +:103D7000220F0A94EAF7822B4F5F5F4F45305105BF +:103D800059F70895BF92CF92DF92EF92FF920F936F +:103D90001F93CF93DF938C01C0904602D0904702CF +:103DA000E0904802F090490280914A0290914B02C3 +:103DB000A0914C02B0914D02C82AD92AEA2AFB2AC6 +:103DC000CFE1D0E0BC2ED701C6010C2E04C0B695C1 +:103DD000A795979587950A94D2F780FD0EC02197F5 +:103DE00088F7B12C8B2DDF91CF911F910F91FF9010 +:103DF000EF90DF90CF90BF900895B8018C2F0E9474 +:103E00003607019761F3EECFCF93DF93EC010E9469 +:103E1000C21EBE01DF91CF910C9436071F93CF9342 +:103E2000DF93EB019091DB01992331F0CB01DF911E +:103E3000CF911F910C94041F882379F0CB010E942D +:103E4000C21E182F682FCE010E946F1EBE01812F47 +:103E5000DF91CF911F910C943607CB010E949B1EDE +:103E6000182FF4CF682F80911E0190911F010C94A0 +:103E70009C21682F80911E0190911F010C94A72115 +:103E800080911E0190911F010C94B22180914E02ED +:103E9000859585958595089580914E028770089542 +:103EA00090914E02977081E009F480E0089580912E +:103EB0007202089590917202892B80937202089584 +:103EC00080959091720298239093720208951092B7 +:103ED0007202089580917102089590917102892B68 +:103EE0008093710208958095909171029823909328 +:103EF0007102089510927102089590917002892BB9 +:103F00008093700208958095909170029823909309 +:103F10007002089510927002089580914F020895E2 +:103F200008950C94901F90914F02981721F0809360 +:103F30004F020C94911F089580914F02882329F01D +:103F400010924F0280E00C94911F0895E0911E01A1 +:103F5000F0911F01809172028083E0911E01F09127 +:103F60001F01808190917102892B8083E0911E0155 +:103F7000F0911F01808190917002892B8083909134 +:103F80004F02992381F0E0911E01F0911F01808181 +:103F9000892B808380911E0190911F010E94E62051 +:103FA00081110E949C1F80911E0190911F010C9411 +:103FB000801408950C94D91F98E0899F90011124D2 +:103FC000622B60934E020E94D31D80914E02859514 +:103FD000859585950C94DA1F10924E0280E00C9422 +:103FE000DA1F90914E028095892380934E02282FEC +:103FF000277071F4282F082E000C330B921713062C +:1040000039F08595859585950E94F41D0C94EC1FDB +:1040100008959093BD018093BC010895829590E02E +:104020009C01220F331F220F331F2C7C95958795FF +:10403000959587958373282B30E0C901880F991FC8 +:104040008A7A359527952575822B0895CF93DF932E +:10405000D92F0E940E20C82F8D2F0E940E209C2F3A +:10406000DF91CF9108956FEF7FEF90E080E00C94A7 +:104070005B2E90E080E00E94372E21E08C3E9E4F28 +:1040800009F020E0822F089582E090E00C94292E20 +:1040900083E090E00C94292ECF9384E090E00E947E +:1040A000292EC82F81E290E00E94292E982F8C2F74 +:1040B000CF910895CF93C92F682F84E090E00E949C +:1040C0003D2E6C2F81E290E0CF910C943D2E86E046 +:1040D00090E00C94292E682F86E090E00C943D2E01 +:1040E000AB01BC018FE090E00C944F2EAB01BC0102 +:1040F00083E190E00C944F2E60E070E0CB010C94D3 +:10410000762060E070E0CB010E9470200C947C204F +:104110006CEE7EEF90E080E00E945B2E60E082E03B +:1041200090E00E943D2E60E083E090E00E943D2EF2 +:1041300010924A0210924B0210924C0210924D02C1 +:1041400060E084E090E00E943D2E60E081E290E03B +:104150000E943D2E60E085E090E00E943D2E60E0F0 +:1041600086E090E00E943D2E6FEF87E090E00E9495 +:104170003D2E40E050E0BA0188E090E00E944F2ED2 +:1041800060E08DE090E00E943D2E40E050E0BA01FA +:1041900088E190E00E944F2E60E087E190E00E946D +:1041A0003D2E40E050E0BA018CE190E00E944F2E9D +:1041B00060E080E290E00E943D2E0C9481200C94FF +:1041C0008820682F8EE090E00C943D2EFC01329602 +:1041D00080913201882321F08091A9029EE187FF1E +:1041E00096E080E0915008F4089521912223D1F3C4 +:1041F0008F5FF8CF662301F1209132012223F1F085 +:104200002091A90227FF1AC0462F4695469546954C +:104210004E3190F4677021E030E002C0220F331F6E +:104220006A95E2F7840F911DFC01828190E02823BA +:10423000392381E0232B69F480E00895FC01329654 +:1042400008962191261721F0E817F907D1F7F4CF46 +:1042500081E008959C01FC0132969FEF80E041913E +:10426000461751F09F3F19F4411101C0982F8F5FFD +:104270008630A9F79F3F09F40895290F311D97FD56 +:104280003A95F90162830895FC01329608962191CE +:10429000261303C0DF0111971C92E817F907B9F73D +:1042A0000895E62FE695E695E695EE3170F4E80F71 +:1042B000F92FF11D677021E030E001C0220F6A95EF +:1042C000EAF78281822B828308958091730280FFB6 +:1042D0000CC01F926F938FE997E09F938F930E947A +:1042E000E3050F900F900F900F900895E62FE6953D +:1042F000E695E695EE3178F4E80FF92FF11D677039 +:1043000021E030E001C0220F6A95EAF72095828112 +:104310002823228308958091730280FF0CC01F928E +:104320006F9381E897E09F938F930E94E3050F902E +:104330000F900F900F90089520913201222329F0C1 +:104340002091A90227FD0C9451210C942A2120913F +:104350003201222329F02091A90227FD0C94762115 +:104360000C944421FC01329680913201882351F053 +:104370008091A90287FF06C08EE1DF011D928A9518 +:10438000E9F7089586E0F9CF089508950C94C521C2 +:104390000E94C62180910903843009F43AC010922A +:1043A000740288E190E020E40FB6F894A895809319 +:1043B00060000FBE2093600080E00E94531080E0F8 +:1043C0000E9495068091750281110AC081E0809358 +:1043D00075028091BF028170809376020E94860CE4 +:1043E0000E94C62183B7817F846083BF83B78160C9 +:1043F00083BF7894889583B78E7F83BF0FB6F89478 +:10440000A8958091600088618093600010926000A0 +:104410000FBE08950895CF930E94C4210E94E3091E +:104420000E940A22C0E08C2F0E942709892B31F4B8 +:10443000CF5FC530C1F780E0CF91089581E0FCCF18 +:1044400008950C9420220E94B6190E94E90E0E9441 +:1044500074140E9495061092750280917602811163 +:104460000E94710E0C9421221F921FB61F921124DC +:104470008F939F93AF93BF9380917402811113C068 +:104480008091010390910203A0910303B091040372 +:104490004196A11DB11D8093010390930203A09347 +:1044A0000303B0930403BF91AF919F918F911F902D +:1044B0001FBE1F90189582E084BD93E095BD9AEFD2 +:1044C00097BD80936E0008952FB7F89480910103F3 +:1044D00090910203A0910303B09104032FBF0895AC +:1044E0009C014FB7F8948091010390910203A09131 +:1044F0000303B09104034FBF821B930B089578947C +:104500001F921FB61F9211248F939F93AF93BF9357 +:104510008091010390910203A0910303B0910403E1 +:104520000196A11DB11D8093010390930203A093F6 +:104530000303B0930403BF91AF919F918F911F909C +:104540001FBE1F90189581E08093E00080E2809369 +:10455000D8001092C9008FE19EE40197F1F700C0E6 +:10456000000087E090EBDC0180931203909313032B +:10457000A0931403B093150388E19CE00FB6F89460 +:10458000A895809360000FBE90936000FFCF0C94BD +:1045900033200E94E3098FE39CE90197F1F700C003 +:1045A00000000E94E30980E00E94270980FF04C008 +:1045B0000E94C7220C94A32208950E9439208111E1 +:1045C00002C00E94DF200E944420809373020E9458 +:1045D0004C209093AA028093A9020E944820682F41 +:1045E00070E090E080E00E94511D60914602709161 +:1045F000470280914802909149020C948B1D809152 +:104600007D0280FF12C06091250185E0689FB001A6 +:104610001124759567957595679560387105A8F5AE +:1046200061157105A1F1862F089581FF09C0609180 +:10463000250185E0689FB001112475956795EDCF40 +:104640006091250182FD0AC080917C028823D1F00F +:104650009091240160912501891728F085E0689FD9 +:10466000B0011124DACF869FB001112485E0869F26 +:104670009001879F300D1124692F70E0C9010E94BD +:10468000D32DCBCF65E070E0CECF8FE7089581E0EA +:10469000089580917D0280FF0CC06091210170E03F +:1046A00075956795759567956115710549F1862F23 +:1046B000089581FF06C06091210170E075956795AE +:1046C000F3CF6091210182FD0BC090917B02992371 +:1046D000A1F06091200180912101961738F0682F98 +:1046E00070E06038710500F38FE70895899FC0017D +:1046F000112470E00E94D32DF4CF61E070E0D7CF99 +:1047000081E00895803F31F40E94FF2281958093DB +:1047100081020895813F19F40E94FF22F8CF823F61 +:1047200031F40E94FF228195809380020895833F97 +:1047300019F40E94FF22F8CF893F29F40E944923EF +:104740008093820208958A3F21F40E944923819533 +:10475000F7CF8B3F31F40E944923819580938302E8 +:1047600008958C3F19F40E944923F8CF843F31F417 +:1047700080917F02816080937F020895853F21F4BC +:1047800080917F028260F7CF863F21F480917F0283 +:104790008460F1CF873F21F480917F028860EBCF66 +:1047A000883F21F480917F028061E5CF8D3F31F415 +:1047B00080917D02816080937D0208958E3F21F477 +:1047C00080917D028260F7CF8F3FB9F780917D02A3 +:1047D0008460F1CF90918002803F59F480918102F2 +:1047E00087FF0DC01092810291110BC010927C02C4 +:1047F00008C0813F81F48091810218169CF39923AF +:1048000081F08091820290918302892B09F064C02B +:1048100010927B020895823F49F497FFF0CF1092E7 +:104820008002809181028111ECCFE0CF833F19F4A7 +:104830001916ACF3E4CF20918202893F29F41216B5 +:10484000F4F610928202DBCF8A3F19F427FFD7CF0C +:10485000F8CF209183028B3F29F427FFD0CF10920D +:104860008302CDCF8C3F19F41216CCF3C8CF843F0E +:1048700031F480917F028E7F80937F02C0CF853F8D +:1048800021F480917F028D7FF7CF863F21F48091C4 +:104890007F028B7FF1CF873F21F480917F02877F5A +:1048A000EBCF883F21F480917F028F7EE5CF8D3F53 +:1048B00031F480917D028E7F80937D02A0CF8E3F68 +:1048C00021F480917D028D7FF7CF8F3F09F097CF44 +:1048D00080917D028B7FF0CF08958091730283FFDA +:1048E0007EC084EE97E00E944A0580917F021F926D +:1048F0008F938FED97E09F938F930E94E3058DED4B +:1049000097E00E944A0580918002282F082E000C13 +:10491000330B3F938F938AED97E09F938F930E9481 +:10492000E30588ED97E00E944A0580918102282FD7 +:10493000082E000C330B3F938F9385ED97E09F93E8 +:104940008F930E94E30583ED97E00E944A058091D2 +:104950008202282F082E000C330B3F938F9380ED9B +:1049600097E09F938F930E94E3058EEC97E00E945F +:104970004A0580918302282F082E000C330B3F93A9 +:104980008F938BEC97E09F938F930E94E30588ECC5 +:1049900097E00E944A0580917C021F928F9385ECDC +:1049A00097E09F938F930E94E30583EC97E00E942A +:1049B0004A0580917D021F928F9380EC97E09F9330 +:1049C0008F930E94E3058DEB97E00E944A058DB717 +:1049D0009EB74C960FB6F8949EBF0FBE8DBF0E9437 +:1049E00064229C019091800280918102982B21F099 +:1049F00030937A022093790290918202809183020F +:104A0000982B21F030937802209377028EE792E082 +:104A10000C94DB14EF92FF920F931F93CF93DF93CD +:104A200000D000D000D0CDB7DEB786E0EEE7F2E0F0 +:104A3000DE01119601900D928A95E1F7E0908002D7 +:104A4000F090810200918202109183021092800204 +:104A50001092810210928202109283028E2D8F2971 +:104A600091F08091790290917A020E947022AC01BB +:104A700090917C02992309F43FC08091260184170C +:104A8000150608F447C0802F812B91F080917702A2 +:104A9000909178020E947022AC0190917B02992340 +:104AA00009F477C0809122018417150608F47FC0AD +:104AB0008091800290918102892B90918202892BB2 +:104AC00090918302892B11F00E946D2486E0FE01F3 +:104AD0003196AEE7B2E001900D928A95E1F7269605 +:104AE0000FB6F894DEBF0FBECDBFDF91CF911F91FF +:104AF0000F91FF90EF900895209127018AE0289F61 +:104B0000900111242417350708F0BDCF9F5F9093C3 +:104B10007C0202C09F3FD1F7EE2059F00E94FF2295 +:104B20009FEF1E140CF491E0899F802D1124809337 +:104B30008002FF2059F00E94FF229FEF1F140CF407 +:104B400091E0899F802D1124809381023091800211 +:104B5000332309F498CF20918102222309F493CFC3 +:104B600045EB3403C0011124992359F0909380023E +:104B700045EB240390011124332339F03093810253 +:104B800082CF81E080938002F3CF81E08093810225 +:104B90007ACF209123018AE0289F900111242417C5 +:104BA000350708F085CF9F5F90937B0202C09F3F3F +:104BB000D1F7002359F00E9449239FEF10160CF4FF +:104BC00091E0899F802D112480938202112359F056 +:104BD0000E9449239FEF11160CF491E0899F802DCC +:104BE00011248093830230918202332309F460CF31 +:104BF00020918302222309F45BCF45EB3403C001EB +:104C00001124992359F09093820245EB24039001DB +:104C10001124332339F0309383024ACF81E080930B +:104C20008202F3CF81E08093830242CF86E0EEE7F9 +:104C3000F2E0DF011D928A95E9F710927C02109252 +:104C40007B0210927D0208958091A70208959FB77C +:104C5000F894109286029FBF90910903943009F056 +:104C600048C02091E9002F703091EC00932F917093 +:104C700030FD90E8922B23E02093E9002091EB0097 +:104C800020FF34C02091EE0027FF30C02091840225 +:104C9000222321F02091E80025FF28C010928402F1 +:104CA00026E03091E80035FF14C08093F100809138 +:104CB000E80085FD27C08091E80080FFFCCF80914F +:104CC000E8008E778093E8009F709093E90080E081 +:104CD000089530910903343049F43091EB0035FDEB +:104CE00005C0215041F481E0809384029F7090932D +:104CF000E9008FEF0895EFE9FFE03197F1F700C089 +:104D00000000CFCF8FB7F89421E0209386028FBFA9 +:104D1000DBCFCF93DF9300D00F92CDB7DEB790916A +:104D20000903943019F589837B836A8382E0809339 +:104D3000E9008FEF9091E800815095FD06C095ED58 +:104D40009A95F1F700008111F5CF8091E80085FF79 +:104D50000DC050E040E063E070E0CE0101960E949B +:104D600013298091E8008E778093E8000F900F90D0 +:104D70000F90DF91CF910895BC0184E00C948926B7 +:104D8000BC0183E00C9489269C0182E08093E900B9 +:104D90009FEF8091E800915085FD06C085ED8A95D2 +:104DA000F1F700009111F5CF8091E80085FF0CC06C +:104DB00050E040E066E070E0C9010E941329809154 +:104DC000E8008E778093E8000895CF93DF93EC019D +:104DD000809132018823B1F18091A90287FF32C00E +:104DE00060E282E08093E9008FEF9091E8008150CB +:104DF00095FD06C095ED9A95F1F700008111F5CF6C +:104E00008091E80085FF1BC08091320170E050E086 +:104E100040E0811104C050E040E068E070E0CE0165 +:104E20000E9413298091E8008E778093E80080E249 +:104E3000FE01A7E8B2E001900D928A95E1F7DF91BB +:104E4000CF91089568E081E0CDCF8CE298E00E9498 +:104E50004A0580910803811109C00E94A32A0E947B +:104E6000002B8091E20084608093E200089588E244 +:104E700098E00E944A0510920803089584E298E0A1 +:104E80000C944A0580E298E00C944A058CE198E085 +:104E90000E944A050C942322209185022F5F822FC5 +:104EA00062E30E94B32D992319F02093850208959F +:104EB00010928502809186028823F1F08091090387 +:104EC0008430C1F49091E9009F702091EC00822F12 +:104ED000817020FD80E8892B93E09093E900909108 +:104EE000EB0090FF04C09091EE0097FD08C08F701A +:104EF0008093E9001092860208951092F10090913B +:104F0000E80095FDFACF9091E80090FFF0CF9091E6 +:104F1000E8009E779093E800EACF42E061EC81E000 +:104F20000E941F2A42E261EC82E00E941F2A42E2B4 +:104F300061EC83E00C941F2A80910B03833009F409 +:104F40005FC030F48130C1F1823009F49BC0089514 +:104F50008A3009F487C08B3009F46DC0893009F0BC +:104F60004EC080910A03813209F049C080910E033E +:104F700090910F03029708F042C08091E800877F6C +:104F80008093E8008091E80082FF35C09091F300A3 +:104F90008091F200029729F48091F1008B7F81309B +:104FA00021F48091F1008093A7028091E8008B7733 +:104FB0008093E8000C94532A80910A03813AF9F413 +:104FC0008091E800877F8093E80080910E039091A4 +:104FD0000F03892B61F460E287E892E070E00E94A1 +:104FE00062298091E8008B778093E800089560E063 +:104FF00090E080E0F3CF809109038111C3CF089541 +:1050000080910A03813AD9F780910E0390910F03A2 +:10501000892BA9F78091E800877F8093E800809131 +:10502000E80080FFFCCF809132018093F1008091F5 +:10503000E8008E77BDCF80910A03813201F780911D +:105040000E0390910F03892BD1F68091E800877FA2 +:105050008093E8000E94532A80910C0380933201D0 +:105060000C94B61980910A03813249F68091E800C8 +:10507000877F8093E8000E94532A80910D038093DC +:10508000A802089580910A03813A09F0B8CF80916F +:10509000E800877F8093E8008091E80080FFFCCFE4 +:1050A0008091A802C2CF84B7877F84BF0FB6F894DF +:1050B000A8958091600088618093600010926000E4 +:1050C0000FBE80E890E00FB6F89480936100909353 +:1050D00061000FBE0E9423150E94A32A0E94002B8C +:1050E0008091E20084608093E20087E296E20E9471 +:1050F000092078940E94882D0E942D1588E291E065 +:105100000E946F148BE098E00E944A058091090389 +:10511000853019F00E946115F9CF87E098E00E9470 +:105120004A050E94C82180910703882379F30E94D1 +:105130000B22882359F30E94FD28E8CF0C94A02865 +:10514000292F33272330310521F168F4213031052F +:1051500009F449C02230310509F44AC090E080E0EA +:1051600030E020E029C02132310581F122323105C1 +:10517000A9F76330710590F7FB01EE0FFF1FE155B2 +:10518000FE4F2081318164557E4FFB01808190E08C +:1051900013C099278130910599F0009741F0823032 +:1051A000910589F00397D1F6E0E3F8E002C0EAE563 +:1051B000F8E0849190E09F01FA0131832083089503 +:1051C000E8E4F8E0F6CFE6E3F8E0F3CF633071050A +:1051D00028F6660F771FFB01EB54FE4F20813181CB +:1051E00089E090E0E9CF82E190E029EB38E0E4CF7C +:1051F0008BE590E02EE538E0DFCF80E189BD82E1EC +:1052000089BD09B400FEFDCF8091D8008F7D8093C9 +:10521000D8008091E00082608093E0008091E000FF +:1052200081FDFCCF0895AF92BF92CF92DF92FF92A3 +:105230000F931F93CF93DF936C01EB018A010E94C0 +:10524000722AF82E811123C00115110539F0F801D9 +:1052500080819181C81BD90BC80ED91EB12CA12CFD +:105260002097A9F08091E80085FD22C08091E80098 +:105270008E778093E80001151105A1F0F801808177 +:105280009181A80EB91EB182A08285E0F82E8F2DE3 +:10529000DF91CF911F910F91FF90DF90CF90BF9042 +:1052A000AF9008950E94722A8823D1F2F82EEFCF92 +:1052B000F60181916F018093F1002197FFEFAF1A02 +:1052C000BF0ACECFFC018091100390911103861785 +:1052D0009707A0F06115710529F49091E8009E7779 +:1052E0009093E80090E06115710551F4911108C0A8 +:1052F0008091E80082FF34C080E00895BC01F2CFC5 +:10530000809109038823C1F18530C1F18091E800C3 +:1053100083FD30C08091E80082FDEACF8091E800F3 +:1053200080FFE1CF8091F3002091F200382F6115CA +:10533000710519F02830310558F091E02830310519 +:1053400009F090E02091E8002E772093E800CBCF81 +:1053500081918093F100615071092F5F3F4FE7CF3A +:1053600080910903882341F0853041F08091E80065 +:1053700083FFBECF81E0089582E0089583E0089521 +:10538000FC01809110039091110386179707A0F0FC +:105390006115710529F48091E8008E778093E8000B +:1053A00090E06115710551F4911108C08091E800F9 +:1053B00082FF35C080E00895BC01F2CF80910903DF +:1053C0008823C9F18530C9F18091E80083FD31C09F +:1053D0008091E80082FDEACF8091E80080FFE1CF74 +:1053E0008091F3002091F200382F6115710519F0BA +:1053F0002830310558F091E02830310509F090E06F +:105400008091E8008E778093E800CBCF84918093E1 +:10541000F1003196615071092F5F3F4FE6CF8091C7 +:105420000903882341F0853041F08091E80083FF33 +:10543000BDCF81E0089582E0089583E00895982F1C +:10544000973028F08F708093E90081E00895909361 +:10545000E900242F762F50E0981731F07091EC007E +:105460002091ED005091F00021FD02C09F5FE8CF38 +:105470003091EB003E7F3093EB003091ED003D7FAB +:105480003093ED003091EB0031603093EB0070937E +:10549000EC002093ED005093F0002091EE0027FDEA +:1054A000E5CF80E0089580910A0387FF13C08091C3 +:1054B000E80082FF06C08091E8008B778093E800C7 +:1054C00004C0809109038111F2CF089580910903EE +:1054D0008823D9F38091E80080FFF8CF8091E8001D +:1054E0008E77ECCF2091E4003091E50095E6A9019C +:1054F0002091EC00822F817020FF06C08091E8008F +:1055000080FF06C080E008952091E80022FD1AC0C7 +:1055100080910903882389F0853089F08091EB0020 +:1055200085FD0FC02091E4003091E500421753073C +:10553000F9F29150E1F684E0089582E0089583E065 +:10554000089581E008950E94112B0E94192BE0EE2E +:10555000F0E0808181608083E8EDF0E080818F77EA +:10556000808319BCA7EDB0E08C918E7F8C938081F5 +:105570008F7E80831092080308950F931F93CF931B +:10558000DF930E94112B0E94192BC8EDD0E0888177 +:105590008F77888388818068888388818F7D8883DE +:1055A00019BC109209031092050310920703109280 +:1055B000060300EE10E0F80180818B7F80838881F4 +:1055C0008160888342E060E080E00E941F2AE1EE73 +:1055D000F0E080818E7F8083E2EEF0E08081816068 +:1055E0008083808188608083F80180818E7F8083C2 +:1055F000888180618883DF91CF911F910F910895F9 +:10560000E8EDF0E080818F7E8083E7EDF0E080813F +:105610008160808384E082BF81E0809308030C94E2 +:10562000BD2AE8EDF0E080818E7F80831092E20059 +:1056300008951092DA001092E10008951F920F92DF +:105640000FB60F9211242F933F934F935F936F9355 +:105650007F938F939F93AF93BF93EF93FF9380912B +:10566000E10082FF0BC08091E20082FF07C08091C1 +:10567000E1008B7F8093E1000E944C278091DA004B +:1056800080FF19C08091D80080FF15C08091DA009A +:105690008E7F8093DA008091D90080FF96C080E1F0 +:1056A00089BD82E189BD09B400FEFDCF81E0809310 +:1056B00009030E9425278091E10080FF19C0809195 +:1056C000E20080FF15C08091E2008E7F8093E200AF +:1056D0008091E20080618093E2008091D800806236 +:1056E0008093D80019BC85E0809309030E9442276B +:1056F0008091E10084FF2BC08091E20084FF27C0ED +:1057000080E189BD82E189BD89B5982F917080FFC4 +:10571000FBCF8091D8008F7D8093D8008091E100ED +:105720008F7E8093E1008091E2008F7E8093E20083 +:105730008091E20081608093E200809105038823DC +:1057400009F449C084E0809309030E9446278091B0 +:10575000E10083FF29C08091E20083FF25C0809192 +:10576000E100877F8093E10082E08093090310923B +:1057700005038091E1008E7F8093E1008091E2003B +:105780008E7F8093E2008091E20080618093E2004E +:1057900042E060E080E00E941F2A8091F000886073 +:1057A0008093F0000E943E27FF91EF91BF91AF914F +:1057B0009F918F917F916F915F914F913F912F9129 +:1057C0000F900FBE0F901F90189519BC10920903EF +:1057D0000E94372770CF8091E30087FD93E090937C +:1057E0000903B3CF1F920F920FB60F9211242F937C +:1057F0003F934F935F936F937F938F939F93AF9359 +:10580000BF93CF93DF93EF93FF93D091E900DF70C5 +:105810008091EC00C82FC17080FDC0E81092E900B3 +:105820008091F000877F8093F00078940E94362C5E +:105830001092E9008091F00088608093F000CD2BF9 +:10584000CF70C093E900FF91EF91DF91CF91BF91AD +:10585000AF919F918F917F916F915F914F913F9108 +:105860002F910F900FBE0F901F9018951F93CF93FD +:10587000DF93CDB7DEB7AA970FB6F894DEBF0FBEA1 +:10588000CDBF8AE093E02091F100FC012193CF018C +:10589000F3E082319F07B9F70E949C278091E800CE +:1058A00083FF1EC180910A0390910B039A3008F088 +:1058B00017C1E92FF0E0EB55F14D0C94092E80381B +:1058C00099F0823809F00CC180910E038F708730F7 +:1058D00008F006C18093E9008091EB0085FB8827E2 +:1058E00080F91092E90006C08091060390910703A9 +:1058F000911182609091E800977F9093E8008093E7 +:10590000F1001092F1008091E8008E77E5C08823C5 +:1059100009F4D3C0823009F0E3C080910C038111F7 +:10592000D6C080910E038F702FEF280F263008F01D +:10593000D7C08093E9002091EB0020FFC8C09330CE +:1059400031F48091EB0080628093EB00C0C09091B5 +:10595000EB0090619093EB0021E030E001C0220F5A +:105960008A95EAF72093EA001092EA008091EB0012 +:105970008860EACF8111B4C010910C031F77809129 +:10598000E3008078812B8093E3008091E800877F9B +:105990008093E8000E94532A8091E80080FFFCCFAA +:1059A0008091E30080688093E30082E0111183E03E +:1059B0008093090395C08058823008F091C080918F +:1059C0000C0390910D038C3D23E09207A1F583E039 +:1059D0008A838AE289834FB7F894DE01139620E028 +:1059E0003EE051E2E32FF0E050935700E49120FFB6 +:1059F00003C0E295EF703F5FEF708E2F90E0EA30CA +:105A0000C0F0C7968D939D932F5F243159F74FBFF8 +:105A10008091E800877F8093E8006AE270E0CE0121 +:105A200001960E9462298091E8008B778093E800BC +:105A300057C0C096E7CF60910E0370910F03AE017F +:105A40004F5F5F4F0E949E28BC01892B09F448C01C +:105A50009091E800977F9093E80089819A810E9455 +:105A6000C029E1CF8038E1F58091E800877F8093FD +:105A7000E800809105038093F10045CF811130C08B +:105A800090910C03923060F58091E800877F8093BD +:105A9000E800909305030E94532A80910503882310 +:105AA00011F084E005C08091E30087FDFACF81E02A +:105AB000809309030E948D2713C080910C038130CD +:105AC00079F481E0933009F080E08093070310922D +:105AD000E9008091E800877F8093E8000E94532AC4 +:105AE0008091E80083FF0AC08091E800877F80935F +:105AF000E8008091EB0080628093EB00AA960FB6DD +:105B0000F894DEBF0FBECDBFDF91CF911F910895F6 +:105B1000CF93809109038823A1F0C091E900CF7051 +:105B20009091EC00892F817090FD80E8C82B109235 +:105B3000E9008091E80083FD0E94362CCF70C0936D +:105B4000E900CF910895DB018F939F930E941E2E51 +:105B5000BF91AF91A29F800D911DA39F900DB29F09 +:105B6000900D11240895991B79E004C0991F961790 +:105B700008F0961B881F7A95C9F780950895AA1B8F +:105B8000BB1B51E107C0AA1FBB1FA617B70710F028 +:105B9000A61BB70B881F991F5A95A9F7809590955A +:105BA000BC01CD01089597FB072E16F4009407D091 +:105BB00077FD09D00E94BF2D07FC05D03EF49095DB +:105BC00081959F4F0895709561957F4F0895A1E24B +:105BD0001A2EAA1BBB1BFD010DC0AA1FBB1FEE1F67 +:105BE000FF1FA217B307E407F50720F0A21BB30BB2 +:105BF000E40BF50B661F771F881F991F1A9469F72E +:105C000060957095809590959B01AC01BD01CF0189 +:105C10000895EE0FFF1F0590F491E02D0994A29FC7 +:105C2000B001B39FC001A39F700D811D1124911D70 +:105C3000B29F700D811D1124911D08950E940F2E99 +:105C4000A59F900DB49F900DA49F800D911D1124D0 +:105C50000895F999FECF92BD81BDF89A992780B534 +:105C60000895A6E1B0E044E050E00C94632EA8E172 +:105C7000B0E042E050E00C94632E262FF999FECF5D +:105C800092BD81BDF89A019700B4021639F01FBA8F +:105C900020BD0FB6F894FA9AF99A0FBE08950396AC +:105CA000272F0E943E2E0E943D2E252F0E943E2E21 +:105CB000242F0C943E2E0196272F0E943E2E0C94EA +:105CC0003D2EDC01CB01FC01F999FECF06C0F2BDEF +:105CD000E1BDF89A319600B40D9241505040B8F7AA +:105CE0000895F894FFCFA70EAF0EB60EBB0EC00EF0 +:105CF000C50ECA0ECF0ED40ED90EDE0EE30EA90EBF +:105D0000A90EA90EA90EA90EA90EA90EA90E7F17FC +:105D10007F17D717D71729184518AC17AC17501885 +:105D2000DC18EB18EB184719AC17AC175019C5194C +:105D3000C519CE19CE19D019CE19CE19CE19C5193B +:105D4000C519D519CE19CE19D5195F2C872C702DF0 +:0E5D5000872C702DBA2CDB2C702D322D3E2DA1 +:105D5E00010000001706FC05000000000000000016 +:105D6E0000000000000000000014001414FF500298 +:105D7E002808641E140A321E2426E526C426C026D0 +:105D8E00BC2601E200E900EA00B500B600B700CD7E +:105D9E00008301CC008A0192019401210223022486 +:105DAE00022502260227022A02B300B4006F0070F9 +:105DBE0000818283303132339192939697343666D6 +:105DCE0067F7F6F53790F0F1F40001E200E900EA2A +:105DDE0000B500B600B700CD008301CC008A019259 +:105DEE000194012102230224022502260227022AFF +:105DFE0002B300B4006F00700081828340BC22A900 +:0C5E0E0009ED08CB0870088908A2080004 +:00000001FF diff --git a/keyboards/kbdfans/kbd67/rev2/keymap.c b/keyboards/kbdfans/kbd67/rev2/keymap.c new file mode 100644 index 00000000..f9491744 --- /dev/null +++ b/keyboards/kbdfans/kbd67/rev2/keymap.c @@ -0,0 +1,123 @@ +#include "debug.h" +#include "action_layer.h" +#include "version.h" + +#include QMK_KEYBOARD_H + +#define HSV_KMN_ORANGE 10,255, 95 +#define HSV_KMN_CYAN 128, 255, 95 +#define HSV_KMN_PURPLE 191, 255, 95 + +keymap_config_t keymap_config; + +uint8_t cur_dance(qk_tap_dance_state_t *state); +void al_finished(qk_tap_dance_state_t *state, void *user_data); +void al_reset(qk_tap_dance_state_t *state, void *user_data); + +typedef struct { + bool is_press_action; + uint8_t state; +} tap; + +enum { + SINGLE_TAP = 1, + SINGLE_HOLD, + DOUBLE_TAP +}; + +enum td_keycodes { + LAYERS // Our example key: `MOD(1)` when held, `TG(2)` when tapped. Add additional keycodes for each tapdance. +}; + +qk_tap_dance_action_t tap_dance_actions[] = { + [LAYERS] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, al_finished, al_reset) +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_65_ansi_blocker(KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, + LM(1, MOD_LALT), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, TD(LAYERS), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + [1] = LAYOUT_65_ansi_blocker(KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_INS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MEDIA_PLAY_PAUSE, KC_RSFT, KC_VOLU, KC_MUTE, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_RALT, RGB_VAD, KC_VOLD, RGB_VAI), + [2] = LAYOUT_65_ansi_blocker(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, + KC_NO, KC_NO, KC_NO, KC_MS_UP, KC_NO, KC_NO, KC_NO, KC_MS_WH_UP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_NO, KC_NO, KC_MS_BTN1, KC_MS_BTN2, 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_NO, KC_NO, KC_NO, + KC_LCTL, KC_NO, TG(2), KC_NO, TG(2), KC_NO, KC_NO, KC_NO, KC_NO), +}; + +// Runs just one time when the keyboard initializes. +void matrix_init_user(void) { +}; + +// Runs constantly in the background, in a loop. +void matrix_scan_user(void) { +}; + +// Override standard rgb colorization stuff +void rgb_matrix_indicators_user(void) { + // assign colors if the matrix is on and the current mode + // is SOLID COLORS => No animations running + uint8_t layer = biton32(layer_state); + switch (layer) { + case 0: + rgblight_sethsv(HSV_KMN_ORANGE); + break; + case 1: + rgblight_sethsv(HSV_KMN_CYAN); + break; + case 2: + rgblight_sethsv(HSV_KMN_PURPLE); + break; + } +} + +uint8_t cur_dance(qk_tap_dance_state_t *state) { + if (state->count == 1) { + if (!state->pressed) return SINGLE_TAP; + else return SINGLE_HOLD; + } else if (state->count == 2) return DOUBLE_TAP; + else return 8; +} + +// Initialize tap structure associated with example tap dance key +static tap al_tap_state = { + .is_press_action = true, + .state = 0 +}; + +// Functions that control what our tap dance key does +void al_finished(qk_tap_dance_state_t *state, void *user_data) { + al_tap_state.state = cur_dance(state); + switch (al_tap_state.state) { + case SINGLE_TAP: + layer_on(1); // Activate layer 1 immediately since we probably are holding this down ; if released it'll go away fast and shouldn't be an issue + break; + case SINGLE_HOLD: + layer_on(1); // Activate layer 1 since that's what the intent is + break; + case DOUBLE_TAP: + // Check to see if the layer is already set + if (layer_state_is(2)) { + // If already set, then switch it off + layer_off(2); + } else { + // If not already set, then switch the layer on + layer_on(2); + } + break; + } +} + +void al_reset(qk_tap_dance_state_t *state, void *user_data) { + // If the key was held down and now is released then switch off the layer + if (al_tap_state.state == SINGLE_HOLD) { + layer_off(1); // Reset state appropriately + } + al_tap_state.state = 0; +} diff --git a/keyboards/kbdfans/kbd67/rev2/layer-1.json b/keyboards/kbdfans/kbd67/rev2/layer-1.json new file mode 100644 index 00000000..cdcd3c91 --- /dev/null +++ b/keyboards/kbdfans/kbd67/rev2/layer-1.json @@ -0,0 +1,149 @@ +[ + { + "backcolor": "#ffa100", + "name": "Layer 1", + "author": "KemoNine" + }, + [ + "~\nEsc", + "!\n1", + "@\n2", + "#\n3", + "$\n4", + "%\n5", + "^\n6", + "&\n7", + "*\n8", + "(\n9", + ")\n0", + "_\n-", + "+\n=", + { + "a": 6, + "w": 2 + }, + "Backspace", + "Home" + ], + [ + { + "a": 4, + "w": 1.5 + }, + "Tab", + "Q", + "W", + "E", + "R", + "T", + "Y", + "U", + "I", + "O", + "P", + "{\n[", + "}\n]", + { + "w": 1.5 + }, + "|\n\\", + { + "a": 6 + }, + "Page Up" + ], + [ + { + "w": 1.75 + }, + "Alt + Fn", + { + "a": 4 + }, + "A", + "S", + "D", + "F", + "G", + "H", + "J", + "K", + "L", + ":\n;", + "\"\n'", + { + "a": 6, + "w": 2.25 + }, + "Enter", + "Page Down" + ], + [ + { + "w": 2.25 + }, + "Shift", + { + "a": 4 + }, + "Z", + "X", + "C", + "V", + "B", + "N", + "M", + "<\n,", + ">\n.", + "?\n/", + { + "a": 6, + "w": 1.75 + }, + "Shift", + { + "a": 7 + }, + "↑", + { + "a": 6 + }, + "End" + ], + [ + { + "w": 1.25 + }, + "Ctrl", + { + "w": 1.25 + }, + "Win", + { + "w": 1.25 + }, + "Alt", + { + "a": 7, + "w": 6.25 + }, + "", + { + "a": 4, + "w": 1.25 + }, + "Mouse\nFn", + { + "a": 6, + "w": 1.25 + }, + "Ctrl", + { + "x": 0.5, + "a": 7 + }, + "←", + "↓", + "→" + ] +] \ No newline at end of file diff --git a/keyboards/kbdfans/kbd67/rev2/layer-1.png b/keyboards/kbdfans/kbd67/rev2/layer-1.png new file mode 100644 index 0000000000000000000000000000000000000000..7177c4bb78fe79ea3e0c3810bf8900c5600cc47a GIT binary patch literal 29270 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 O8N2k2_0oy9{{IJTH>7O< literal 0 HcmV?d00001 diff --git a/keyboards/kbdfans/kbd67/rev2/layer-2.json b/keyboards/kbdfans/kbd67/rev2/layer-2.json new file mode 100644 index 00000000..e3867000 --- /dev/null +++ b/keyboards/kbdfans/kbd67/rev2/layer-2.json @@ -0,0 +1,147 @@ +[ + { + "backcolor": "#00f3ff", + "name": "Layer 2", + "author": "KemoNine" + }, + [ + "~\n`", + { + "a": 6 + }, + "F1", + "F2", + "F3", + "F4", + "F5", + "F6", + "F7", + "F8", + "F9", + "F10", + "F11", + "F12", + { + "w": 2 + }, + "Del", + "Del" + ], + [ + { + "w": 1.5 + }, + "Caps", + { + "a": 7 + }, + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + { + "a": 6, + "w": 1.5 + }, + "DL Mode", + "Ins" + ], + [ + { + "a": 7, + "w": 1.75 + }, + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + { + "w": 2.25 + }, + "", + { + "a": 6 + }, + "Prnt Scn" + ], + [ + { + "a": 7, + "w": 2.25 + }, + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + { + "a": 6 + }, + "Play Pause", + { + "a": 7, + "w": 1.75 + }, + "", + { + "a": 6 + }, + "Vol Up", + "Mute" + ], + [ + { + "a": 7, + "w": 1.25 + }, + "", + { + "w": 1.25 + }, + "", + { + "w": 1.25 + }, + "", + { + "w": 6.25 + }, + "", + { + "w": 1.25 + }, + "", + { + "a": 6, + "w": 1.25 + }, + "Alt", + { + "x": 0.5 + }, + "BL+", + "Vol Dn", + "BL-" + ] +] \ No newline at end of file diff --git a/keyboards/kbdfans/kbd67/rev2/layer-2.png b/keyboards/kbdfans/kbd67/rev2/layer-2.png new file mode 100644 index 0000000000000000000000000000000000000000..43df9cfc1eb1ae981129f2803d22546640296b1c GIT binary patch literal 20771 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 b5TrKGezmte-vBQ^#5*gacslEpp5K21hhtCO literal 0 HcmV?d00001 diff --git a/keyboards/kbdfans/kbd67/rev2/layer-3.json b/keyboards/kbdfans/kbd67/rev2/layer-3.json new file mode 100644 index 00000000..8e297bdf --- /dev/null +++ b/keyboards/kbdfans/kbd67/rev2/layer-3.json @@ -0,0 +1,167 @@ +[ + { + "backcolor": "#ba00ff", + "name": "Layer 3", + "author": "KemoNine" + }, + [ + { + "a": 7 + }, + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + { + "w": 2 + }, + "", + "" + ], + [ + { + "w": 1.5 + }, + "", + "", + "", + { + "a": 6 + }, + "Up", + { + "a": 7 + }, + "", + "", + "", + { + "a": 6 + }, + "Wheel Up", + { + "a": 7 + }, + "", + "", + "", + "", + "", + { + "w": 1.5 + }, + "", + "" + ], + [ + { + "w": 1.75 + }, + "", + "", + { + "a": 6 + }, + "Left", + "Down", + "Right", + { + "a": 7 + }, + "", + "", + { + "a": 6 + }, + "Left Click", + "Right Click", + { + "a": 7 + }, + "", + "", + "", + { + "w": 2.25 + }, + "", + "" + ], + [ + { + "a": 6, + "w": 2.25 + }, + "Shift", + { + "a": 7 + }, + "", + "", + "", + "", + "", + "", + { + "a": 6 + }, + "Wheel Down", + { + "a": 7 + }, + "", + "", + "", + { + "w": 1.75 + }, + "", + "", + "" + ], + [ + { + "a": 6, + "w": 1.25 + }, + "Ctrl", + { + "a": 7, + "w": 1.25 + }, + "", + { + "a": 6, + "w": 1.25 + }, + "Alt", + { + "a": 7, + "w": 6.25 + }, + "", + { + "w": 1.25 + }, + "", + { + "w": 1.25 + }, + "", + { + "x": 0.5 + }, + "", + "", + "" + ] +] \ No newline at end of file diff --git a/keyboards/kbdfans/kbd67/rev2/layer-3.png b/keyboards/kbdfans/kbd67/rev2/layer-3.png new file mode 100644 index 0000000000000000000000000000000000000000..f17d9118f4543e653bb1854f3c7433ebe7384a80 GIT binary patch literal 18019 zcmeHvc|4VC*scgWO1qsQbF&bu5{gh7&|qF>i%3F-vdmK@*^)F#5n5zg%aAEyp$Hq9 zGlpdd3z_F>t#iLf?Y({9`Mz`hJLl`yuixI*yWaPCpXYw=`?{|Cdibd-D{NunVxpm; z*`lO)MxBO+4ogF`VfSwg@RO9LN6s`fJ86{8oYHiDHI(aS_pHxjCRcepreFG!fq971 z)s~}|#86e;xQz)rO2(btcLd+v)#1!@$6Mv&uIV#-r>}5nh{f|p@Nt{J4g1}6=7woz zIu8>A!}*Jr*rO)fo@f#3EjS(>`-}YN+l|*w?X(ygSzxT+jbqbG5uSE3S}6T&zF$$N zHDYjn*rUy;EvIp4V$MC!$$kC`PQ~cpXn&5hhimGG*o-+@>kTkk__LiDG*WkgUe?1l zR>eqktY0G!M`fGETHjVl?p^p2Hu7}kvJd;|Wpi~q>N57pdX&wCt3;6c>+XfghLuj< zUb)dp^~DM0h`jH@ll`&M9s`H$POg0M(MD+xDUFUgCyzPV+~ASAlQCO=Tlr-FC;L3w zh&v1{8(07T(V?~@*6m3pWoupvqPD-VVQUv0f-QS%W?zpc5WG&hG5OOeE4{+G$a?o%mqFdnu#B+**Bd z(i2CNg$&6NHLu|P@%6yKz?bUk*LKGe6!)6ko1b^B|MKO)j?E9HhRg17v8l);w#gNh zGdXvfZ6J=O(qNo*X;8K2)M@sK}i+ z#Vst}5|X&9uyp#Pv1(ge8y64H=h@c=_lt{*?+!URVM2wds=mR8*Y1D}s(pNQVi}*f zeKo7~NgBPdgl{^QU5&g8SHM;GoyFbcnkXipbEJE1X_Ik6)MHXK&YiF{Ywxvsi-RcY zo*^NktKB%Wp`l@za)fNy*zFyG@7_tkt@iTL5JwA`QU90-@#h>qqUChAf-n6ts9OX~ zQrCdH8u>SvGc%sGuMls|oe%z>>r?+{epdF<|EKXVyjxFSKWy{r92~sGfnoo^j55xv z?Qtk#GCaVlZfk2>%xH2#cD94gM;`Zv4z5_ zucwC{|E4rGJslF6lcVpum0!8Z6~*>rt1s{O@h8jav)je6M!wHXl#K@E9h~{0TptFq znrA=ICRMI(>;J|F+Vjk99Bl`&loI_`n2d19)VJ4eOv?-zo8l`CDVr&YQ?-a;hN*2> zp+$3!afbHR+EpuQ9(lZWzekwR?Dc~IKEqG>35!N7ad?x-=ON+I33@pc%H1;Uk-~Ch z>VByV1?c5@EW=Mxh6FT61^A*b~uy|u%P z??**h8Rz?f<@|jpd67^&a&5a16oWZMN<;?U#NL~B-!5Ag9o-Dt5ns&|(a0xXmE$_Z z_&d!w*Sm!_ZSobVmb*-bc`9YpyXjWSnbVZs*T`4d4(*iNAVf;knESerF__dX6z-^3 z)EMrUwxGZ(y+qX=7e>{{*aiMTmy&SKB+{2%c_+KlbLDui3?v*-6J7_$+qvG}EzQg0YA~&g& zrTNjqtq#Mj$BRr-5~4FRwG$H)@rj9-jwwew@oE=6XQ+ZfA*GzSy7iK;7uFxQXcbIq^a^5%Bx23xo>5+8q=xg^)a_n!8h#fcpgOuDxP75Z~V%{FM~?kFssh^*#( z#j0I+@1IruLFYFYHS%WV`-IDd<@?w0gR|}jG^*HcoOl4sAW&5Qw$p4ojPxWPQ&CZ2 zX<<>*oMz7EU&I=44sB$V+|ZykH8Ug3?jIi;tFSOVq@kh`$i>A~JO3G%mnSQJ^eDM0 z#guEu4&%JhBlG|txRW04@~Pa}%)a`DiuG2_sb=#%D6e?9RguZzxh2nvSI0F}1O5Z9y2*4w5Mm@&6_vV9R{_+j@$1SDIvACCcJvZlRMR*FXb}6cfu!FaI`@9 ztDVDUK`cY*yPxCcmbB5tV8U5=rQYZqjFD`2J}oy_sxn!~PdP-%=!@{e2x}#%?)+U< zS@~f@f^O8wov-03{*rn^-P+1Rl}Efjj8I>TjR5`bW?OLLL`QWTRl(8 zr?_4UlR^`;64jlYX7=SP;0nu+ICn1Z3RWraEBZ~Nshc3sck*Jk%Fez7@AI{NIsefzSfTddGpS}_{2$`-?|S$cWy zS=rgy-)0uXO^Y`NJ$pv}h z4xT(YS*JpP;R|ageG#iV5oP`LU4N|HQhZ2ANSBWdSqxi9HGs!i)Wui~wPcKCqANqh zFO&zPv^_m3FGz%>q?qbXGxn98cA6>dRI12z=P>H`ic!NElN9EhF(_cJ4duI?%_6jw zl>GSIz8{tu`?P(&!qzkD;lqcsjTnz9bS`CnaDYtSky+jI?c25D2b^UU6#;1`MfYc~ z3i;)&Gkf<1B_*{{d9#rZ`Q`YidazXK7Imz@Z9Fk(wvCutMaa!HBrUYhV82>tT0kJ* zKNn?bYugy+)E@7{%rTHV)2?xpEB6YH*+)J^%>3b^Xa4-cLU+F1amVj3AmED^+dB(= z1+mUA=~2YgE!riIuwKZe_u zs5UhF+bVwx;R$i@a?b1=`u7g=L*Vq_m8*a zdE~&e*-0r!Y8qR!BURwoZ;*XzAU`zd;h4pB-!@HVX)y+i~08#YbhDU{C=QlhjRE@ zax=;9d9I)CJ~w`Yxox1H;4tt-5VpR|bd#y;Kz!_%hK8%i@~;uKU$cfuh@4j*#&fP` zn@h0<2e`y}B=H`~8i}LRX^1yuG?T_FsdeOiid8g90 za`e-7mAH%yaY}}`Rl~J*qRag=yT{~b1_;S`z)dyRH0}E;>#dS=V}^%q(va0!AU2(4 z2ewqeY{0h`v7}d>_qc7U?``4k+Pa@YnaNLP6V{3&5QH)0;jBJB2pKoMe9zqB_uVXP z?CiyoR&UA6q2_ORC0E>t9ZBNV+~doaGZ>34=no zUafiSe|@?l_$)#S*DE(oXC)STR~Br&it~MUsK*4n`6xn_{#|q&A6Hb)r7}QnTd(fW z4PwC+<^i|@LRT*VU|cn;HJE*QwZPrEEv)9(+Q zVOQ^e_|*v%Q`kqP8{*fUn>Vf#?4sW3@7_sqN~~As8`*@hI90{m++0rn-!8aA{$}!# zSMse8HvRLLy1!a%O4cI>d!KG*VHx=RQcTLO;}&dz+RJIO_kQjf1Q8*5$nHe4uofAQ zuOwAohvHrORG|Lr*U${Clhfd6XW=I9>F9#19-GI0s2IzT1lez$&KT|V>Qgrjgsx*4 ze#P>D(oek$KsFNsH+}*6|C}Lg=2kW8b zjhIqw`X=Pz�R$8eiEAEmfSNZ{Hd(WPGyyK+s4-{Nm73i$miLHWlf_E~~0f%}Y@% zLHRBxH+W6OQAJg`)Xh!>fU1Pf+y6(biK$MIv=v*EVIqFqxVV^-N)#fnHnFMq@DFIF z@Ga-7<$sd>4EPJ)9&W`X=jL0fmrA-R!_7$AG?Br!?f!`=<~^?0Z(q z)>#6YGP01qAYd&tuV-}P&EK}fTZIA_$JeoY2WTu%SRXGJWw&sd$deWax(k|5elYUz zbPBa%KxdD>5TX*=?LS^T(|q3>?h?TyyR;3%2P)m#;u}oe`7~iLYv$y7o=CShrLgA{ zQyaQ=cwb`Q*Wt6&Yln7dg46}&n3cts&F_pc?U%+zr0#y~AcwgCshXsGw+TuP*n47= zkNmFs#ztWtmQbz*5DWnh-Bm`T(c@I&*?lB3dXDP{oj@oGN7J5{F6|R472$(|-43_9 z;$!P_1kZnrl~XUuRxCKxn(vh_yEu9}Oxj5~MQ8JVMO)is&;-!>`k{92GkNVV4!wr0 zj_?Nf08oS2@ZndtZ*PF&dX1FlvFS9|s5ap{l}F3$)D{fGvM8|3N0`4q{(K_PVW$43 z3THCi_mHoNcjPX0n=&)WM$CTf`c+bN4nrixU5PpzO3n+j9Ur}cah1>B2;}%OKR^HJ z>{P~n`uhqI#$(H*u|T*Ec_Y&V7nY5*oBG;?Wy}&--Y(oeDyKvIm)K~~u_88dWR}S_ z#9NM#m29l6CO+9d+x_^HlcR9^rU;S+6H4PJ=b)e7VHLi;GbsFs7UQT~ZBhY&Q6Rs% zzP`SHvcC>e9mh2*D~(GPWYW$6G#O_7=%GW8#=7|e{lb3?4@u|r(=QZp6X#Vp33RID z6TkVe{7Mw*r(ajAkuRPGfV`r-F6XS`bCN{-pa)5Q+X6%?GIsQc{#o1 z6>wr({?psu*39MN=B{sVm+cfO4Gj%N8yY6IwCK@$pF-r7aRA*+8)>6P|h>*;CYL8u~oC97Dan8G$4z^)M0NBG9YxrwRqa@64L zSoijMCk_-QA=D;YDeY=SEl1ucJw5FP4Gfg~`2p>G{7W%&AxTL|N?&HX>jeSjSE>MR zhI3~y)@|8SPpUAMHa1$oT;AEV;l<1=AIxG_knR3&$}D3@!F|+vLW6t&yZ<#{ZbbP0 zaD^kg(<%Gju)0s-!J!1N(rOi!URAHS_}z116UC zrK#y!v9KCWSWvKLs?jJJ1pe8u%;jlN3IEcNsP8bCm}vU)mb?@fh!_-!7PQK?A zla!F~K;D-FW6Zv?5wbsFn$z_SH8h?=fS!;s`d-kNIG0*>g*_Xltm4JtJ$dnp@Mc;G zI-M`&B`2SkPft5mgh^}X&laJu-~QURg@xte0W7R?y+~&3A1F5<4fDN{`AWF%DWBjH z;?69W7-Vyv#DzBbG&?)r$jqi^X1`VyF2gC}@Vy||Fd0R-*x<6~55H?baK;yw21Z5# zsW*+u9GfvhSfInmq?=cM8S$dJg&n(Lat238NcaM&1Ffm~hC=Z~YinDzq+75`VT_zz zJ~KZFHAh}+BWrfKFjjO(YbGsX>Ec9RmG<60{76Au!;;vVW>5)WJwT)g%zj#5R~O~Y zxOD*dE}~DtEXd=k|1|ubl+KYe+U((>yN|aoz-Y0HV~?zr1eVdgzc$)+yi@>r_|#zI zV1vGGeQ!l5Tfn()ADg(%$Py(w%?NZ)O+jWQ>yzf611$s+eD3=FRO64dGL+eFAt9mK zWX~z#rFx^K`u9GftW1}h!g#t6Y37%?a>m(PXJ&&;&|ep8HPKrEYSH9@eBdpoL_|bf zyZi(uAy*JU8eW(gX#~iZak-G;Y?PXHbLv@y>zzM;{@K%~QEtOo3QnyzO8)jj=wyUN zKG(P59D7#=lp-FqGni+8c9HvDOGB9?Efp1&#lh1~fxZ;wV>}Yw8NmLwm2mqPbvfl~ zC+OfHOtv|F*z@>L_JcaFTU!kf6~kzurE#)Ej-m#NP&Tj}w1GiFUS8g8)sFdzGi{~2 zFzj~qzpRZPn-qs5A?N+zV;v z2TQKrg}fQ8W8(!>?wiU=Wtpij8m>J-+L~yzc(14-Me}6S^_iix`=GV9Gh=Np!1|hHX5*4!&6X1bu)^u# zHbS!3(%_!qI1p-nkk+eJ;fa?*CHj+chSfbha*;v75C#@V)VzYu(KuSCeayT$qb_|@ zWMOYq-8E!B@hjH4Z7Fp%T{WN4dl`$R>v!JJS~DQ_tfu zr}KF@U1cEttVwx>nIz8~*q7MZ(N1TUKz=#d0p*6#HZwOjHwCr`sAB*ORh*X!g>!CR zV+c1(=r*Fpn{zU+`~r~hawB9VVz#Kv$icL&+xC+Hjbwsa*XIXjYSC5 z`5Vp>C*Y|<7)XvGlD6TVQv{>}E(g?XhJV!TCZE8$)RRJ((>c*BGF69bs`v@Bd*?q}!%QtIH^|JiM!_PhT)K40 z`SEGugU)q<4zE)y4kTC8Px@Y_DHA@iQBkKsDmtGH$$&#*YiW6T9g@#LZz-QIqQf)? zohBeHF-4mn`*sD+?L;S=M|fxj%Ff444}ImJx@v0&doFhKTTKnrDYHux@#yz~^!X6w&Q`7l^6CzFHs4_5THmK-~rj7cy_1KPoS- zwpJYwn21rH!AzS|1VEM&cdIU7&WKWGIXB*eJjlLECKiN2%et6LdmO!qFcHf|0Mzc~ z$yg8du_Sj&$APXqP$@m~V5I$+dvFsJqlZl{Q(aY#_X;~_tGMPL#F9oDVU1)u!|cb( z@_6(%f=A(BKx&2N)4Kf)IIP0n4}1vLwD^HFSNoA~8Icg?VuG0Ym0_Gh@Y%f|`0W4m zwjm(h!<{)9e~KV)ef@oG5?JhhX@M5d|7d|S8v->#h>&M%u!*tp$<9%7tHHp=WuXpw zn=ctq#1DMIA$@0@qhlY`Z%ER?F+=y}`}Z%4ve1`p5 zvoES;MJc1rSlF|-*Z@U>FRVFXX!K|KhZSvc!tbx1WaB=7efgnuyP9ssG{ruOcAuZz z#sS@5+M~3n(L=XoPNC6PDaUFr{ky$dkSl#QMv$P@jFMCBaVxd08K5ttdPF!<-*+#z zDbSU8!?MVNWM5Fu4f_*lxPR}Q+;seSzE#_Rpjo{ubs98}r-8NFHQlOAVikNRKC5d5m#v{H3cn{ydmN@z^wrL6tzZ zr$d8q8`zLgRTfog3YD2IbhVFUp&dLS-4Cv@TAvclIism?w{3ePuNR$S^GH+y57lp| ztv|c^cS^Yy3Q#%rGW_|TOV>ZghaYJb&h;42(xb4@pVNP!54qgAi~0 z?1y!WXX#@HShsTJa`bzw_H0r~0vQFmC2(0x?{OX$Xe5c^G|=dvMLAowQb|{I9>Xs> zflGNg^IoxOH%ff7ed9#8VLtn^18fSTqEsxL7#hjyKEDUly1koA{_gcMegUZ<3rNDE+o|^_%5My!yQ)dynOu zt0!@=u{P%+!Q_Is{i;E%Zno*pohkv(x6YtiIXPv5)k947z@rmLYubp6xX^6T{3o1M z0Yq@h4PU7F`jr5f=ZBhu;#oC)1zC(DPugMio$mI@g1OPMsYRW}I+WMk1qdx5 z?xiC$R)}yh-yd7w+#Cb9F@EK z@t=q&WPB*@9B3v%s!X`XKVRbpu}Rt|hE8pP@?9`|f! zBg)Ilj#{@IMN|RGyE5Ihs}=wi%c`pQC)|MT!jxX@UR^g~kPl|vmgsKZa&>cK^EYgI zELA`t^)P!PFRNX-GMr_F677tzo_31k14CVBh8*7w3c1Xe)gaJ|Qf8>!AZ zvn^)mYo;()03Mp?PVFwS2yX>lK&9r| zP(PQIM8N;h_BZvky%xm=cvkC1eL1r#nK%-ZBHswYn!Zie*?ge6NIQMj8_gl2_Xen> zK4du4;c;>I%p`=2hFB%lz>twhF!Y$JN3;ZpdNEnD=*d;V`Zm@XVWE%@{6}!Y8e@k;^az9`Wnk{nVNYJ)C2wfepKQaQqF9c$Y%~rgWZqO)MOeY>7>XbIvL7y zj2RS2kP@Mtjb2(>3U2Kg{Oj?aJ)U(hekzu=K=_=?d)R(kFC+Sv%5(S^ff>XB$c`|0 zBYVieBIpV}f!5Qt8z%LNl83W_py zHjui5y4Z?G6R;(`PH}N@icnm)i()~19pgp0u(y5tSv*WRvN??0)k*^S1HFdKD-ocTFl7VZ2o=Pj}eSj zRc|2$z-&5wHq5<81u5U=`MCk!6q)lYvL0)tK*T%Lg^DvOd z5#vHedOF!pAiNsUMnDQfSPruC;5q;cRtA`(WEMvYg#-l=DIT#MwB0D--Q(zcHE*0`SfUoMP#qEGA-d^&po@Vabo) zU2k5NSfYb5>gMLL;jROMx#MNRcs!oV-ieIM@q&3@+a_mm-sMbdAqIlmFmXb8X*x3> zl(ryHw4{cbQua_@W+Q%@#(YW!h^3%!M?+6RAi`aJupzOo%8OzTnMB2jGOHj|JRZlScO0*H2W9MNdCs$_K;T^3t}bGLL3?z z%7%j4&F!{@G?xY455)W=oJ@>_@a4XOeimZY?B6WPeUp#KWs zL&|MBVHvpZw6plttKC8FlF-6^g~l*Qa%PSX85tO`i?cVNuq$8d1W>)INZj-rE0*2X zkla_2ECPO2zb0Y^ey0LV#9Wa1ysT{K?*|*XeZPH z*2WE;gDm+YrgH4hf4w!kl%4MdHYt>SyiZ~I8tWz!eV|FmDT*c&H^b&)W(xb8>l;Y9 z7$P$r+Pv-uPeiarZ>r7cf}{sD(Y?mFuN}PwYu$R#A3#yOIx5%Rbrt9KeornC`H&6h z>#wV`9zGRlO0^tX>N`h&{tvH?FKK@t58uwW0&)1V&-@D6%}a`KP^JTe6J9wG6rED- zF>V?}E#H7fzjvBpp!lX*1}%-#q4R|57`8-HQj{s+HlF36E1TJbBCIGEDB|^7+P#7G;(t8I-QGB{ zDapui>U<3HFz~%Eswn34Vy#AOS%gMC4_IN`|KTd4-S`A%@6^YmlKGiR(C z;at;+q4fL7GErbWiTgIqH)PoS=H#ggGRGOSAle*x{Nm{_p$4NJf%hG@AzuOqN0jL{ zV87rap?FUN^ekyvH6D zo^dHC7u}RwYe;6Ij=!2d;r4COR&cYT`JG$&^NSC~8aLyyorlpB?cBbCC(317JeoC) z^P00}si!1pXw<#MduS5`{n8#&{e-m#46=s<`ufuj6Hk1wO9q1z;SHRXtIBNir_=z2 z%FdPoCV7B|MfeXt=kTA($K|&5l@H|y3Sg^;6I}%5H>2qTF*6T?W5KYJu@LL5yNfe9-R8dfXn!D_Vt6u2|IUl*=`q{s zE9Er&3fS59NzgX{MrLIAWsZ^-TulqA@5=Aum2uSsn;JA~tKKU}?f5Bt9I^vT(u;iY zz1%kDbTr11D^qCFd|=+lJPGU@0}dn3E<(A3?}gqS?J&DLMs%zg()t(?GnPV6AEB~n zJO*zMy?^K^Uv*dA?~Pbk1cDITe)sh)&;qGvFkzmqIHg5cJaBjbU zltQ2oE0@Ra#6?rX0`u7PjEv(Gp{Zxi?Dq505Be?jvEl07IgBqUiE&sh2G!MrPUG&{w0G(rUeq`jIhXNoFXrBE zT%L8NHhLY6C*=%2q8TT$^xO@m%C6!3&qYBu_)BK~k~PxPMVJY++7bY|YR9TXXs!9n z&us$TKv+OP!8Uj5IkXWh9AP;ylrDWZJpui6nWf1(Xl?L_kASs=ON{^dPHq~S_*1x? zBAx?kS-8a2C)u7myp7_v%SiWq7q9;&eKCIOEH&15x$G~L^9hPL!pPMgcG}n_qPRWl;@~7Kf=7gnBeO; z)DjI8YMYM@=mBHyMT`*H>WEz^(-~Sx~WOFiN?M7ra zpz54sQy|oV3KJI@34I=oV!6@Bhfi{{`t>;_*UE zyfi1DuNy!AS%(wcl1Jf)5{Oq?IZh)n)h>U+GlHOc!JQwBTt7aU!N}))5~Q;+mt?RM z^%ah%k^f?#Iccd%{zt;nF6KYT2mMzd^dLha?+l7i-=Dn9h+YB#kIXq3u~cu|NC7t-LmyURFv=V$mzMJ=ma4e8iqfR z-wW`YZy~4Ce%LTi>3oKvgU)JE0nko5<;?@6Bn;$MA2x@dxo54w9W?WZ_XgbZq{NRKq4mIBqEAFz`&n zben&eTo#|4rvVfUB~;#(J<<>a2)u$|2Y7WQyIQxZ)7gcKFxz2Pw+?BOIt3ja7Jk`R zZ$*p-HtPSVyjt*dT!_x_0j4Zhj1f*$+_L9}Um^%=XmzRJyX1l&^vVu;82R z36}aO?|2%@`%Xi^SfAu^6GwuDWHH6dAzHYJz4#79;7OQ4&P_g|;yR}uz%^X(W;FeG#Le~s;JN7f(ta+xk?QOp3R@ug z*Au&UJhC*e|0eu4N22z{N%b&e3L`Y;uDbVy z0fGdzH^$$oDz4Qb%g&{gQG0ITg=R(6(7G9Ao^!W_NEbYF%z_11sadMpSp>)Uh@0&I zly`tS;~_LZXs;bpo#ou7ua#)%&J*3mnRZGZdBZ`;_T~^ZXymPZScL%zY-q z0p5@1vQMbyiTI}0*C&Eg%I&s#{Gw^t;)Ou`D2m}P2B@y@Pb@?8o2Azc;*a!wcCfv3qSNdJ90s`JAn#-I z=aW$7QtAYI5Y;oktnp0hom4j8Z(fUW_o>bn}9L5VuLq52eEzV3cKM No animations running + uint8_t layer = biton32(layer_state); + switch (layer) { + case 0: + rgblight_sethsv(HSV_KMN_ORANGE); + break; + case 1: + rgblight_sethsv(HSV_KMN_CYAN); + break; + case 2: + rgblight_sethsv(HSV_KMN_PURPLE); + break; + } +} + +uint8_t cur_dance(qk_tap_dance_state_t *state) { + if (state->count == 1) { + if (!state->pressed) return SINGLE_TAP; + else return SINGLE_HOLD; + } else if (state->count == 2) return DOUBLE_TAP; + else return 8; +} + +// Initialize tap structure associated with example tap dance key +static tap al_tap_state = { + .is_press_action = true, + .state = 0 +}; + +// Functions that control what our tap dance key does +void al_finished(qk_tap_dance_state_t *state, void *user_data) { + al_tap_state.state = cur_dance(state); + switch (al_tap_state.state) { + case SINGLE_TAP: + layer_on(1); // Activate layer 1 immediately since we probably are holding this down ; if released it'll go away fast and shouldn't be an issue + break; + case SINGLE_HOLD: + layer_on(1); // Activate layer 1 since that's what the intent is + break; + case DOUBLE_TAP: + // Check to see if the layer is already set + if (layer_state_is(2)) { + // If already set, then switch it off + layer_off(2); + } else { + // If not already set, then switch the layer on + layer_on(2); + } + break; + } +} + +void al_reset(qk_tap_dance_state_t *state, void *user_data) { + // If the key was held down and now is released then switch off the layer + if (al_tap_state.state == SINGLE_HOLD) { + layer_off(1); // Reset state appropriately + } + al_tap_state.state = 0; +} diff --git a/qmk/keyboards/kbdfans/kbd67/rev2/keymaps/kemonine/rules.mk b/qmk/keyboards/kbdfans/kbd67/rev2/keymaps/kemonine/rules.mk new file mode 100644 index 00000000..d6c1de32 --- /dev/null +++ b/qmk/keyboards/kbdfans/kbd67/rev2/keymaps/kemonine/rules.mk @@ -0,0 +1,2 @@ +MOUSEKEY_ENABLE = yes +TAP_DANCE_ENABLE = yes \ No newline at end of file