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/clueboard2/Makefile | 58 +- keyboard/clueboard2/keymaps/default/compiled.hex | 1246 ++++++++++++++++++ keyboard/clueboard2/keymaps/default/keymap.c | 183 +++ keyboard/clueboard2/keymaps/keymap_default.c | 183 --- keyboard/clueboard2/keymaps/keymap_max.c | 147 --- keyboard/clueboard2/keymaps/keymap_skully.c | 108 -- keyboard/clueboard2/keymaps/max/Makefile | 49 + keyboard/clueboard2/keymaps/max/compiled.hex | 1536 ++++++++++++++++++++++ keyboard/clueboard2/keymaps/max/keymap.c | 147 +++ keyboard/clueboard2/keymaps/skully/compiled.hex | 1246 ++++++++++++++++++ keyboard/clueboard2/keymaps/skully/keymap.c | 108 ++ 11 files changed, 4531 insertions(+), 480 deletions(-) create mode 100644 keyboard/clueboard2/keymaps/default/compiled.hex create mode 100644 keyboard/clueboard2/keymaps/default/keymap.c delete mode 100644 keyboard/clueboard2/keymaps/keymap_default.c delete mode 100644 keyboard/clueboard2/keymaps/keymap_max.c delete mode 100644 keyboard/clueboard2/keymaps/keymap_skully.c create mode 100644 keyboard/clueboard2/keymaps/max/Makefile create mode 100644 keyboard/clueboard2/keymaps/max/compiled.hex create mode 100644 keyboard/clueboard2/keymaps/max/keymap.c create mode 100644 keyboard/clueboard2/keymaps/skully/compiled.hex create mode 100644 keyboard/clueboard2/keymaps/skully/keymap.c (limited to 'keyboard/clueboard2') diff --git a/keyboard/clueboard2/Makefile b/keyboard/clueboard2/Makefile index bcce8ac9fa..5116178713 100644 --- a/keyboard/clueboard2/Makefile +++ b/keyboard/clueboard2/Makefile @@ -38,27 +38,7 @@ # To rebuild project do "make clean" then "make all". #---------------------------------------------------------------------------- -# Target file name (without extension). -TARGET = clueboard2 - - -# Directory common source filess exist -TOP_DIR = ../.. -TMK_DIR = ../../tmk_core - -# Directory keyboard dependent files exist -TARGET_DIR = . - -# # project specific files -SRC = clueboard2.c led.c - -ifdef KEYMAP - SRC := keymaps/keymap_$(KEYMAP).c $(SRC) -else - SRC := keymaps/keymap_default.c $(SRC) -endif - -CONFIG_H = config.h +SRC = led.c # MCU name #MCU = at90usb1287 @@ -113,29 +93,23 @@ OPT_DEFS += -DBOOTLOADER_SIZE=4096 # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000) -MOUSEKEY_ENABLE = no # Mouse keys(+4700) -EXTRAKEY_ENABLE = yes # Audio control and System control(+450) -CONSOLE_ENABLE = yes # Console for debug(+400) -COMMAND_ENABLE = yes # Commands for debug and configuration -NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -RGBLIGHT_ENABLE = no # Enable keyboard underlight functionality (+4870) -BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality (+1150) -MIDI_ENABLE = no # MIDI controls -AUDIO_ENABLE = no -UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID +BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000) +MOUSEKEY_ENABLE ?= no # Mouse keys(+4700) +EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450) +CONSOLE_ENABLE ?= yes # Console for debug(+400) +COMMAND_ENABLE ?= yes # Commands for debug and configuration +NKRO_ENABLE ?= yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +RGBLIGHT_ENABLE ?= no # Enable keyboard underlight functionality (+4870) +BACKLIGHT_ENABLE ?= yes # Enable keyboard backlight functionality (+1150) +MIDI_ENABLE ?= no # MIDI controls +AUDIO_ENABLE ?= no +UNICODE_ENABLE ?= no # Unicode +BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID #ifdef BACKLIGHT_ENABLE SRC := backlight.c $(SRC) #endif -# Optimize size but this may cause error "relocation truncated to fit" -#EXTRALDFLAGS = -Wl,--relax - -# Search Path -VPATH += $(TARGET_DIR) -VPATH += $(TOP_DIR) -VPATH += $(TMK_DIR) - -include $(TOP_DIR)/quantum/quantum.mk +ifndef QUANTUM_DIR + include ../../Makefile +endif diff --git a/keyboard/clueboard2/keymaps/default/compiled.hex b/keyboard/clueboard2/keymaps/default/compiled.hex new file mode 100644 index 0000000000..c737eb3c67 --- /dev/null +++ b/keyboard/clueboard2/keymaps/default/compiled.hex @@ -0,0 +1,1246 @@ +:100000000C94E5050C9429060C9429060C942906F9 +:100010000C9429060C9429060C9429060C942906A4 +:100020000C9429060C9429060C9449110C941B126B +:100030000C94FD1F0C9429060C9429060C94290697 +:100040000C9429060C9429060C9429060C94290674 +:100050000C9429060C9465200C9429060C9429060E +:100060000C9429060C9429060C9429060C94290654 +:100070000C9429060C9429060C9429060C94290644 +:100080000C9429060C9429060C9429060C94290634 +:100090000C9429060C9429060C9429060C94290624 +:1000A0000C9429060C9429060C9429068812AA128D +:1000B0009813AA129813EF121213981367137A1356 +:1000C00099169916C816C81607177218721872185A +:1000D00027177218D717D7173E18471872186C18B9 +:1000E000E417E417E417E417E417E417E417E41738 +:1000F000E417E417E417E417E417E417E417E41728 +:10010000F4170218091810181A18696E69745F62DA +:1001100061636B6C696768745F70696E28290A0097 +:1001200000F000201E001F002000210022002300FC +:1001300024002B0014001A000800150017001C00F2 +:100140001800390004001600070009000A000B001F +:100150000D00E10064001D001B00060019000500F1 +:100160001100E000E300E2008B0000002C002C00F6 +:1001700000002500260027002D002E0035002A0053 +:100180004B000C00120013002F0030003100000063 +:100190004E000E000F003300340032002800000033 +:1001A000000010003600370038008700E5005200DC +:1001B00000008A000000E600E400015250005100F7 +:1001C0004F0035003A003B003C003D003E003F0040 +:1001D00040000100010001000100010001000100D8 +:1001E00001000100010002520100010001000100B4 +:1001F00001000100010001000100010001000100F7 +:1002000001000100010001000100000001000100E7 +:1002100000004100420043004400450001004C0042 +:100220008350460047004800010001000100000023 +:1002300001000100010001000100010001000000B7 +:1002400000000100010001000100010001004B005D +:100250000000010000000100010001524A004E00B0 +:100260004D0001000100010001000100010001003A +:100270000100010001000100010000500100010027 +:100280000100010001000252010001000100010013 +:100290000100010001000100010001000100010056 +:1002A0000100010001000100010000000100010047 +:1002B0000000010001000100010001000100010037 +:1002C0000100010001000100010001000100000027 +:1002D0000100010001000100010001000100000017 +:1002E0000000010001000100010001000100010007 +:1002F00000000100000001000100015201000100A6 +:1003000001000A44454255473A20656E61626C65BA +:10031000642E0A005374617465206F6620726F77D3 +:100320002025583A2025303136620A0048756D6123 +:100330006E2D7265616461626C65206D61747269B5 +:10034000782073746174653A0D0A004465626F75B4 +:100350006E63696E672064656C61792072656D619A +:10036000696E696E673A2025580A005B735D004B21 +:100370006579626F6172642073746172742E0A0011 +:100380005B575D005B535D005B525D005B445D004D +:100390005B435D00420343006C0075006500620032 +:1003A0006F00610072006400200077006900740033 +:1003B00068002000520047004200200055006E00F7 +:1003C0006400650072006C006900670068007400DA +:1003D00069006E0067000000140343006C007500A4 +:1003E000650062006F006100720064000000040399 +:1003F000090409027400040100A0FA0904000001C4 +:1004000003010100092111010001223F00070581BC +:100410000308000A0904010001030000000921117A +:100420000100012236000705820308000A090402C0 +:100430000002030000000921110100012220000731 +:1004400005830320000107050303200001090403BD +:1004500000010300000009211101000122390007F9 +:100460000584031000011201100100000008EDC115 +:10047000202301000102000105010906A101050771 +:1004800019E029E715002501950875018102050885 +:1004900019012905950575019102950175039101D1 +:1004A0000507190029771500250195787501810246 +:1004B000C00631FF0974A1010975150025FF9520BB +:1004C000750881020976150025FF952075089102AF +:1004D000C005010980A101850216010026B7001A96 +:1004E00001002AB700751095018100C0050C0901B3 +:1004F000A1018503160100269C021A01002A9C0214 +:10050000751095018100C005010906A101050719B3 +:10051000E029E7150025019508750181029501750F +:1005200008810105081901290595057501910295B4 +:1005300001750391010507190029FF150025FF9595 +:100540000675088100C00A002530325820006B650E +:1005500079626F6172645F7265706F72743A2000C5 +:100560004B6579626F617264204C454473207374EB +:100570006174653A2025780A0064656C5F6B657963 +:100580005F6269743A2063616E27742064656C3A17 +:1005900020253032580A006164645F6B65795F62C0 +:1005A00069743A2063616E2774206164643A20257F +:1005B0003032580A00646F6E652E0A00626F6F67F2 +:1005C0006D61676963207363616E3A202E2E2E2061 +:1005D000003F00433E20004C25640A0074696D65AD +:1005E000725F636F756E743A202530346C580A0060 +:1005F0006B6579626F6172645F6E6B726F3A202512 +:10060000580A006B6579626F6172645F69646C653A +:100610003A2025580A006B6579626F6172645F70D9 +:10062000726F746F636F6C3A2025580A00686F739D +:10063000745F6B6579626F6172645F6C6564732867 +:10064000293A2025580A000A092D2053746174752F +:1006500073202D0A004743433A20342E392E32208E +:100660004156522D4C4942433A20312E382E3120EA +:100670004156525F415243483A20617672350A0032 +:100680004F5054494F4E533A204C55464120424F0B +:100690004F544D414749432045585452414B4559C9 +:1006A00020434F4E534F4C4520434F4D4D414E44F8 +:1006B000204E4B524F20343039360A004255494CB7 +:1006C000443A20313637313865662D646972747961 +:1006D000202832333A31303A3036204A756E2020A5 +:1006E000392032303136290A005649443A203078D0 +:1006F0004331454428436C7565626F6172642920FB +:100700005049443A2030783233323028436C756592 +:10071000626F617264207769746820524742205585 +:100720006E6465726C69676874696E6729205645E6 +:10073000523A203078303030310A00444553433A41 +:1007400020514D4B206B6579626F61726420666940 +:10075000726D7761726520666F7220436C75656299 +:100760006F6172640A000A092D2056657273696F01 +:100770006E202D0A000A092D20436F6E736F6C6581 +:10078000202D0A4553432F713A09717569740A0087 +:100790000A092D204D61676963202D0A443A0944F6 +:1007A00065627567204D65737361676520546F6777 +:1007B000676C650A583A094D61747269782044651E +:1007C000627567204D6F646520546F67676C6520A4 +:1007D0002D2053686F77206B657970726573736530 +:1007E0007320696E206D6174726978206772696424 +:1007F0000A4B3A094B6579626F6172642044656205 +:10080000756720546F67676C65202D2053686F777C +:10081000206B65797072657373207265706F727486 +:100820000A4D3A094465627567204D6F75736520FE +:10083000546F67676C650A563A0956657273696F3B +:100840006E0A533A095374617475730A433A094145 +:100850006374697661746520436F6E736F6C652095 +:100860004D6F64650A46312D4631303A0953776938 +:1008700074636820746F204C6179657220302D3963 +:100880002028463130203D204C30290A302D393A7D +:100890000953776974636820746F204C61796572BD +:1008A00020302D390A4553433A09537769746368F8 +:1008B00020746F204C6179657220302028616C743F +:1008C00065726E617465206B65792031290A475223 +:1008D0004156453A0953776974636820746F204C18 +:1008E0006179657220302028616C7465726E617464 +:1008F00065206B65792032290A50415553453A09E4 +:100900004A756D7020746F20426F6F746C6F6164F4 +:10091000657220285265736574290A453A09507238 +:10092000696E7420454550524F4D2053657474696B +:100930006E67730A4E3A094E4B524F20546F6767E9 +:100940006C650A000A002575002E6C6576656C3AA8 +:1009500020000A002575002E656E61626C653A20E4 +:10096000000A0025303258006261636B6C69676869 +:10097000745F636F6E6669672E7261773A20000A52 +:10098000002575002E6E6B726F3A20000A002575E7 +:10099000002E737761705F6261636B736C61736863 +:1009A0005F6261636B73706163653A20000A0025C2 +:1009B00075002E737761705F67726176655F65732E +:1009C000633A20000A002575002E6E6F5F67756917 +:1009D0003A20000A002575002E737761705F7261FE +:1009E0006C745F726775693A20000A002575002EE5 +:1009F000737761705F6C616C745F6C6775693A20C6 +:100A0000000A002575002E636170736C6F636B5F65 +:100A1000746F5F636F6E74726F6C3A20000A00250A +:100A200075002E737761705F636F6E74726F6C5FA9 +:100A3000636170736C6F636B3A20000A002530327B +:100A400058006B65796D61705F636F6E6669672EC4 +:100A50007261773A20000A002575002E6D6F75735C +:100A6000653A20000A002575002E6B6579626F617A +:100A700072643A20000A002575002E6D6174726957 +:100A8000783A20000A002575002E656E61626C655B +:100A90003A20000A00253032580064656275675FAD +:100AA000636F6E6669672E7261773A20000A0025CF +:100AB000750064656661756C745F6C617965723A26 +:100AC00020003F004E4B524F3A206F66660A004EA0 +:100AD0004B524F3A206F6E0A000A6D6F7573653A7C +:100AE000206F66660A000A6D6F7573653A206F6E37 +:100AF0000A000A6B6579626F6172643A206F6666FC +:100B00000A000A6B6579626F6172643A206F6E0A3F +:100B1000000A6D61747269783A206F66660A000A8D +:100B20006D61747269783A206F6E0A000A646562BA +:100B300075673A206F66660A000A64656275673AEF +:100B4000206F6E0A000A0A4A756D70696E6720741C +:100B50006F20626F6F746C6F616465722E2E2E2031 +:100B600000433E20006565636F6E6669673A0A0060 +:100B70006261636B6C6967687420737465703A2096 +:100B800025750A006261636B6C6967687420746F15 +:100B900067676C653A2025750A006261636B6C6952 +:100BA0006768742064656372656173653A202575B2 +:100BB0000A006261636B6C6967687420696E6372B6 +:100BC000656173653A2025750A0011241FBECFEFB9 +:100BD000DAE0DEBFCDBF04B603FE24C08091EA0197 +:100BE0009091EB01A091EC01B091ED018730904B19 +:100BF000A740B04BB9F41092EA011092EB011092A9 +:100C0000EC011092ED0114BE84B7877F84BF88E1A8 +:100C10000FB6F89480936000109260000FBEE0E081 +:100C2000F8E3099511E0A0E0B1E0E4E8FDE402C0DA +:100C300005900D92A633B107D9F711E0A6E3B1E014 +:100C400001C01D92AA3EB107E1F70E94830E0C94E9 +:100C5000C0260C940000FF93EF93E0913601F091D1 +:100C60003701309709F00995EF91FF910895FC0144 +:100C70008591803011F0EFDFFBCF0895FF27E0E290 +:100C800030E247FF0CC0419597FF09C0EDE2609547 +:100C9000709580959095611D711D811D911D27FF97 +:100CA00002C0219530E350E2AA27660F771F881F04 +:100CB000991FAA1FA41710F0A41B63955A95A9F7B2 +:100CC000AA3008F0A95FA05DAF93F3956115710597 +:100CD0008105910541F7ED3211F4EF93F395F21789 +:100CE00018F43F93F395FBCF8F91B5DFFA95E1F7B9 +:100CF0000895E991F9918591803021F0853219F0BC +:100D0000AADFF9CF089520E0E89455915532C1F358 +:100D1000503311F4689455915A3348F4505390F37A +:100D2000220F022E220F220F200D250FF4CF0EF4DA +:100D3000219589919991533619F3533729F15335F8 +:100D400059F1BC0188279927E8945C3621F48991F0 +:100D5000999168945591543639F446EF7EF077FFB7 +:100D60000DC08FEF9FEF0AC055374AE039F0583574 +:100D700040E121F0523642E009F00895FF93EF93ED +:100D80007DDFEF91FF91B7CFFF93EF93FC0181914E +:100D90008030B9F360DFFBCFFF93EF9368DFF1CFD3 +:100DA000DF93CF93CDB7DEB72596A3DFCF91DF9149 +:100DB00008958AE091E00E943706569A279A549A3D +:100DC0005E982F985C980895811104C05E9A2F9ABE +:100DD0005C9A08955E982F985C980895249A0895D7 +:100DE00081FF02C02C9A08952C98089508950895C3 +:100DF00086EF96E0892B11F00E94F6060E94EE061F +:100E00000E94D90685B7806885BF85B7806885BF91 +:100E1000089587EF96E0892B11F00C94F70608955A +:100E2000CF93DF93611120C0EC010E94F91E827202 +:100E3000809338019A81992351F0882319F085E332 +:100E400090E002C089E290E00E94511E09C0882310 +:100E500019F085E390E002C089E290E00E94A41EB0 +:100E6000DF91CF910C94431FDF91CF91089581E0E2 +:100E7000089581E008950C94390708950F931F9306 +:100E8000CF93DF938C01FC01C081D181CE010E9400 +:100E9000D21DBE010E94ED07EC01B8010E943B0784 +:100EA000882309F48DC0F8018281882309F44AC09F +:100EB0008091440181111FC0C431F0E5DF0709F0C2 +:100EC00051C00E943D0781E0809344010E942F2081 +:100ED000909343018093420110923B0110923D0197 +:100EE00010923C0110923F0110923E01109241017C +:100EF0001092400165C080914201909143010E948F +:100F00003B20883C910570F480913B01E82FF0E094 +:100F1000EE0FFF1FE45CFE4FD183C0838F5F809391 +:100F20003B014EC0C43880E5D80721F0C538D04514 +:100F300001F13AC0F8018281882341F01092390111 +:100F400082E01EC0C438E0E5DE0759F58091390122 +:100F5000811106C086E20E943D1586E20E940516B8 +:100F600082E01CC0C438F0E5DF0741F3C538D04546 +:100F7000D9F4F8018281882331F010923A0180E29D +:100F80000E9454161DC080913A01811106C087E26B +:100F90000E943D1587E20E94051680E20E945B16C2 +:100FA0000FC0C538D04529F381E080933901809383 +:100FB0003A01C801DF91CF911F910F910C9437072F +:100FC00080E0DF91CF911F910F9108950C94F80666 +:100FD0000C94090780E090E00895E72FF0E09AE094 +:100FE000899FE00DF11D112483E0EE0FFF1F8A950C +:100FF000E1F7E60FF11DEE0FFF1FEE5DFE4F85914D +:1010000094910895880F991FFC01E056F040859156 +:1010100094910895880F991FFC01E05EFE4F859121 +:10102000949108950F931F93CF93DF93EC01811553 +:1010300021E39207A0F5C11580E3D80708F0D7C0D7 +:10104000C83ED105D8F4C03ED10508F007C2C83A61 +:10105000D10578F4C53AD10508F06AC0C130D10590 +:1010600009F463C008F4F7C1C430D10508F0F6C133 +:10107000F2C1CB3BD10508F466C0EDC1C11590E2C9 +:10108000D90708F0AFC0C11521E0D20708F0E6C1CA +:10109000C03FD10508F4DFC18E0110651FC2C03802 +:1010A00080E5D80700F5C03790E5D90708F0A3C060 +:1010B000C11520E5D20709F4ACC050F4CE0190541C +:1010C00080319F4008F0C7C1DF708E01106A06C2F0 +:1010D000C13080E5D80709F4AAC0C43190E5D9072A +:1010E00008F4AFC0B8C1C33820E5D20709F48EC0F8 +:1010F00050F4C13890E5D90709F482C008F083C0E4 +:1011000000E011EDEBC1C03181E5D80708F4A3C1BF +:10111000C11597E5D90708F436C1CE01905781155E +:10112000904108F098C1DF7093C101E010E0D6C192 +:10113000C53AD10509F494C1C63AD10509F093C165 +:1011400002E810E4CBC1C83AD10509F48FC1C93A0D +:10115000D10509F48EC1CA3AD10509F48DC1CB3A43 +:10116000D10509F48CC1CC3AD10509F48BC1CD3A33 +:10117000D10509F48AC1C03BD10509F489C1CE3A31 +:10118000D10509F488C1CF3AD10509F487C1C13B23 +:10119000D10509F486C1C23BD10509F485C1C33B21 +:1011A000D10509F484C1C43BD10509F483C1C53B11 +:1011B000D10509F482C1C63BD10509F481C1C73B01 +:1011C000D10509F480C1C83BD10509F47FC1C93BF1 +:1011D000D10509F47EC1CA3BD10509F47DC100E007 +:1011E00014E47CC1CE019F700E940A0878C1DD27FB +:1011F0008E01106C73C1CF70DD278E01146D6EC12E +:1012000000E010ED6BC100E012ED68C100E013EDED +:1012100065C10E94D9188FEF94E32CE08150904073 +:101220002040E1F700C000000E948A2057C182E000 +:1012300093E00E9437068091D40181608093D401AD +:101240004DC10E943C22811102C00E941D220E94B9 +:10125000592290E09093E9018093E801C23080E543 +:10126000D80721F48091E801816086C0C43090E500 +:10127000D90721F48091E80182607EC0C63020E564 +:10128000D20721F48091E801846076C0C83080E5FF +:10129000D80719F48091E80127C0CA3090E5D90732 +:1012A00021F48091E801806167C0CC3020E5D2074D +:1012B00021F48091E80180625FC0CE3080E5D807DC +:1012C00021F48091E801806457C0C03190E5D907CE +:1012D00021F48091E80180684FC0C23120E5D20737 +:1012E00029F48091E8018460886046C0C33080E5BD +:1012F000D80721F48091E8018E7F3EC0C53090E58B +:10130000D90721F48091E8018D7F36C0C73020E5F0 +:10131000D20721F48091E8018B7F2EC0C93080E58F +:10132000D80719F48091E80126C0CB3090E5D907A1 +:1013300021F48091E8018F7E1FC0CD3020E5D207D7 +:1013400021F48091E8018F7D17C0CF3080E5D80768 +:1013500021F48091E8018F7B0FC0C13190E5D9075E +:1013600021F48091E8018F7707C0C331D04531F473 +:101370008091E8018B7F877F8093E8018091E8016D +:101380000E945D22ABC08D2F99278F7099278130E5 +:101390009105D9F49E012370332702C0880F991F4D +:1013A0002A95E2F79C688E0144E0000F111F4A95D0 +:1013B000E1F700271370802B912B53E0CC0FDD1F3A +:1013C0005A95E1F7C076DD272FC08230910531F4C0 +:1013D000DC2FCC278E01016F106A80C0833091050D +:1013E00069F4CE018370992701E010E002C0000F7C +:1013F000111F8A95E2F7C8019C680FC084309105DF +:10140000B9F4CE018370992701E010E002C0000F0B +:10141000111F8A95E2F7C8019A6823E0CC0FDD1FFF +:101420002A95E1F7C07ED7708C010C2B1D2B56C07E +:101430008530910531F4DC2FCC278E01046F106AC2 +:101440004DC0069709F04AC0CF71DD27DC2FCC27AD +:101450008E01106243C000E010E040C08E013EC02B +:1014600001E810E43BC003E810E438C002EE14E4E5 +:1014700035C009EE14E432C00AEE14E42FC005EBC7 +:1014800014E42CC006EB14E429C007EB14E426C0D6 +:101490000CEC14E423C00DEC14E420C003E815E4C4 +:1014A0001DC00AE815E41AC002E915E417C004E9F2 +:1014B00015E414C001E216E411C003E216E40EC004 +:1014C00004E216E40BC005E216E408C006E216E4E6 +:1014D00005C007E216E402C00AE216E4C801DF9183 +:1014E000CF911F910F910895E72FF0E09AE0899F27 +:1014F000E00DF11D112483E0EE0FFF1F8A95E1F747 +:10150000E60FF11DEE0FFF1FEE5DFE4F85919491EA +:10151000803E9105E0F4803C910558F581339105BA +:1015200009F46FC048F48932910509F463C08A3226 +:10153000910509F46DC072C089339105E9F08238D4 +:101540009105D1F08533910509F44DC067C0833E04 +:10155000910581F138F4803E9105B9F0823E910504 +:10156000D9F05CC0863E910561F1873E9105A1F1FD +:1015700055C00E94020808952091E80120FD02C094 +:1015800021FF4CC080EE90E049C08091E80180FFCF +:10159000F9CF89E390E042C08091E80182FF0EC05C +:1015A0008091E80184FF03C080E090E037C083EEC3 +:1015B00090E034C08091E80182FFF2CF82EE90E0AB +:1015C0002DC08091E80183FF0BC08091E80184FD6C +:1015D000EBCF87EE90E022C08091E80183FFF5CF4A +:1015E00086EE90E01BC08091E80185FF07C089E28C +:1015F00090E014C08091E80185FFF9CF85E390E089 +:101600000DC08091E80186FF07C08AE290E006C025 +:101610008091E80186FFF9CF81E390E00E941208F3 +:1016200008950C94F006E82FF0E0E95EFE4F80810B +:10163000E82FEF70F0E082958F7021E030E0A90193 +:1016400002C0440F551F8A95E2F740A308950F93F7 +:101650001F93CF93DF9385B7806885BF85B7806878 +:1016600085BFC9E0D0E001E010E0FE01E95EFE4F79 +:101670008081E82FEF70F0E021A182958F70A801A2 +:1016800002C0440F551F8A95E2F7CA01822B81A33D +:101690008C2F0E94130B219740F787E090E061E0C8 +:1016A00070E0FC01E15FFE4F2081E22FEF70F0E07F +:1016B00042A122952F70DB0102C0AA0FBB1F2A9501 +:1016C000E2F79D01242B22A3019758F7DF91CF91D8 +:1016D0001F910F910C94E607EF92FF920F931F93C7 +:1016E000CF93DF930FE411E0C9E0EE24E394F12CF3 +:1016F000D5E08C2F0E94130B87E090E040E0FC01C6 +:10170000E15FFE4F5081E52FEF70F0E020A130E067 +:1017100052955F7002C0359527955A95E2F720FDE6 +:1017200007C09701082E01C0220F0A94EAF7422B46 +:10173000019728F7F80182918F01841719F04083EF +:10174000D09300018C2F0E94130BC15090F6809112 +:10175000000187FD32C09091D40190FF10C0282F66 +:10176000332727FD30953F938F938BE493E09F932E +:101770008F930E94D0060F900F900F900F90809142 +:10178000000181508093000187FD07C08FE99FE031 +:101790000197F1F700C0000010C080E090E0FC016C +:1017A000E15BFE4FDC01AB5BBE4F19962C912187AC +:1017B0000197863FEFEF9E0791F70E94E80781E0CF +:1017C000DF91CF911F910F91FF90EF900895E82F37 +:1017D000F0E0E15BFE4F808108950F931F93CF935C +:1017E000DF938091D40180FF04C08CE293E00E94DB +:1017F0003706C0E0D0E004E113E08091D40180FF1F +:1018000015C0FE01E15BFE4F808190E00E94991FB0 +:101810009F938F93DF93CF931F930F930E94D006D4 +:101820000F900F900F900F900F900F902196CA304D +:10183000D10519F7DF91CF911F910F9108950F9363 +:101840001F93CF9309E511E0C0E0F80182918F0169 +:1018500090E00E94771FC80FF1E00F341F07A9F72F +:101860008C2FCF911F910F91089580916C01089555 +:1018700008959FB7F89410925B019FBF9091DF018C +:10188000943009F057C09091E9009F703091EC00BE +:10189000232F217030FD20E8922B23E02093E900D4 +:1018A0002091EB0020FF43C02091EE0027FF3FC0B6 +:1018B00020915901222321F02091E80025FF37C013 +:1018C0001092590126E03091E80035FD15C03091A5 +:1018D000DF01343061F53091EB0035FD28C0215037 +:1018E00021F481E08093590122C0EFE9FFE03197B4 +:1018F000F1F700C00000E7CF8093F1008091E8008D +:1019000085FD0AC08091E80080FFFCCF8091E8004F +:101910008E778093E80006C08FB7F89421E020937B +:101920005B018FBF9F709093E90080E008959F70E6 +:101930009093E9008FEF0895CF93DF9300D01F922B +:10194000CDB7DEB72091DF01243021F523E02983D4 +:101950009B838A8382E08093E9008FEF9091E80077 +:10196000815095FD06C095ED9A95F1F70000811123 +:10197000F5CF8091E80085FF0DC040E050E063E0C6 +:1019800070E0CE0101960E94390F8091E8008E77B9 +:101990008093E8000F900F900F90DF91CF91089502 +:1019A000CF93DF9300D01F92CDB7DEB79C0180911B +:1019B000DF01843019F592E099833B832A83909369 +:1019C000E9008FEF9091E800815095FD06C095EDFC +:1019D0009A95F1F700008111F5CF8091E80085FF1D +:1019E0000DC040E050E063E070E0CE0101960E943F +:1019F000390F8091E8008E778093E8000F900F9068 +:101A00000F90DF91CF910895CF93DF93EC019091E8 +:101A1000DF01943009F046C080910B018823D9F092 +:101A200080910C018823B9F09093E9008FEF909199 +:101A3000E800815095FD06C095E19A95F1F7000008 +:101A40008111F5CF8091E80085FF2CC040E050E087 +:101A500060E170E017C081E08093E9008FEF909122 +:101A6000E800815095FD06C095ED9A95F1F70000CC +:101A70008111F5CF8091E80085FF14C040E050E06F +:101A800068E070E0CE010E94390F8091E8008E7707 +:101A90008093E80080E1FE01ACE5B1E001900D9299 +:101AA0008A95E1F7DF91CF91089580E993E00E9454 +:101AB00037068091DE01811109C00E94CE100E947C +:101AC0002B118091E20084608093E20008958CE8FD +:101AD00093E00E9437061092DE01089588E893E0B3 +:101AE0000C94370684E893E00C94370680E893E082 +:101AF0000E9437060C94F21F20915A012F5F822F0B +:101B000062E30E947826992319F020935A010895E0 +:101B100010925A0180915B01882371F18091DF015D +:101B2000843041F58091E9008F702091EC00922F74 +:101B3000917020FD90E8892B93E09093E9009091BB +:101B4000EB0090FF14C09091EE0097FF10C09091B1 +:101B5000E80095FF03C01092F100F9CF9091E800E2 +:101B600090FF05C09091E8009E779093E8008F70F9 +:101B70008093E90010925B01089542E061EC81E0FE +:101B80000E94481042E061EC82E00E94481042E26C +:101B900061EC83E00E94481042E161EC84E00C9427 +:101BA00048108091E101833009F455C030F4813050 +:101BB00071F0823009F48EC008958A3009F47AC039 +:101BC0008B3009F460C0893009F09CC020C080913E +:101BD000E001813A09F096C08091E800877F809308 +:101BE000E8008091E4019091E501892B21F460E106 +:101BF0008CE591E003C060E080E090E070E00E943E +:101C0000840F8091E8008B778093E800089580919D +:101C1000E001813209F076C08091E4019091E50104 +:101C2000009719F0039709F06DC08091E800877F55 +:101C30008093E8008091E80082FD05C08091DF017B +:101C40008111F8CF5FC08091F10080936C01809189 +:101C5000E8008B7753C08091E001813A09F052C0CF +:101C60008091E4019091E501892B09F04BC08091AE +:101C7000E800877F8093E8008091E80080FFFCCF38 +:101C800080910B0136C08091E0018132D9F58091BD +:101C9000E4019091E501892BA9F58091E800877F07 +:101CA0008093E8000E947D108091E20180930B01F7 +:101CB0000C94D9188091E001813221F58091E800DF +:101CC000877F8093E8000E947D108091E3018093DC +:101CD0006D0108958091E001813AA1F48091E800BE +:101CE000877F8093E8008091E80080FFFCCF80919F +:101CF0006D018093F1008091E8008E778093E80079 +:101D00000C947D10089584B7877F84BF88E10FB657 +:101D1000F89480936000109260000FBE90E080E81D +:101D20000FB6F89480936100909361000FBE0E94FB +:101D300052140E94CE100E942B118091E200846008 +:101D40008093E20089E39CE00E94721F78940E94D5 +:101D5000B0130E94541481E091E00E94CB138FE6EF +:101D600093E00E9437068091DF01853089F48BE68D +:101D700093E00E9437060E94B31F8091DD01882303 +:101D800091F30E94E11F882371F30E94230FEBCF90 +:101D90000E947A14E8CF292F332723303105C9F068 +:101DA00064F42130310581F02230310509F043C05F +:101DB00084E790E022EF33E042C021323105F1F0B8 +:101DC0002232310541F137C082E190E026E634E06D +:101DD00036C099278130910541F08230910541F05C +:101DE000892B49F5EEEEF3E005C0E8EDF3E002C023 +:101DF000E4E9F3E0849190E09F0121C06430D8F4DD +:101E0000E62FF0E0EE0FFF1FE35DFE4F20813181F2 +:101E100089E090E014C0643070F470E0FB01EE0FD4 +:101E2000FF1FEB5DFE4F20813181FB01EF5DFE4F17 +:101E3000808190E004C080E090E020E030E0FA0192 +:101E400031832083089580E189BD82E189BD09B491 +:101E500000FEFDCF8091D8008F7D8093D8008091C7 +:101E6000E00082608093E0008091E00081FDFCCF83 +:101E70000895CF92DF92EF92FF920F931F93CF932B +:101E8000DF93EC018B016A010E949C10811133C029 +:101E9000C114D10439F0F60180819181081B190B1E +:101EA000C80FD91FE12CF12C0115110519F18091F2 +:101EB000E80085FD16C08091E8008E778093E800E9 +:101EC000C114D10449F0F60180819181E80EF91E18 +:101ED000F182E08285E00FC00E949C10882321F3EC +:101EE0000AC089918093F10001501109FFEFEF1AA8 +:101EF000FF0ADACF80E0DF91CF911F910F91FF9021 +:101F0000EF90DF90CF9008952091E6013091E701A6 +:101F10002617370748F06115710539F42091E8005C +:101F20002E772093E80001C0B90140E061157105EA +:101F3000A9F12091DF01222309F443C0253009F4DF +:101F400042C02091E80023FD40C02091E80022FD1E +:101F500032C02091E80020FFE9CF4091F3002091AA +:101F6000F20030E0342BFC01CF016115710559F00E +:101F70002830310540F481918093F100615071095E +:101F80002F5F3F4FF1CF41E02830310509F040E0AD +:101F90002091E8002E772093E800C8CF4111C9CFE7 +:101FA0000AC08091DF01882361F0853061F0809163 +:101FB000E80083FD0AC08091E80082FFF2CF80E054 +:101FC000089582E0089583E0089581E008952091C6 +:101FD000E6013091E7012617370748F061157105D2 +:101FE00039F42091E8002E772093E80001C0B90170 +:101FF000FC0120E06115710591F18091DF018823DA +:1020000009F440C0853009F43FC08091E80083FDA9 +:102010003DC08091E80082FD2FC08091E80080FFE4 +:10202000E9CF2091F3008091F20090E0922B6115AE +:10203000710559F08830910540F424912093F10006 +:102040003196615071090196F2CF21E0089709F0AD +:1020500020E08091E8008E778093E800CBCF2111BB +:10206000CCCF0AC08091DF01882361F0853061F018 +:102070008091E80083FD0AC08091E80082FFF2CFE2 +:1020800080E0089582E0089583E0089581E0089556 +:10209000982F973058F59093E900981739F0709180 +:1020A000EC002091ED005091F00003C0242F762F1A +:1020B00050E021FF19C03091EB003E7F3093EB00E0 +:1020C0003091ED003D7F3093ED003091EB003160B9 +:1020D0003093EB007093EC002093ED005093F000F0 +:1020E0002091EE0027FF07C09F5FD3CF8F708093B2 +:1020F000E90081E0089580E008958091E00187FF84 +:1021000011C08091E80082FD05C08091DF0181113E +:10211000F8CF11C08091E8008B770BC08091DF0170 +:10212000882349F08091E80080FFF8CF8091E80093 +:102130008E778093E80008952091E4003091E500C7 +:1021400095E64091EC00842F817040FF22C0809181 +:10215000E80080FD1CC08091DF01882391F085306C +:1021600091F08091EB0085FD10C04091E40050910A +:10217000E5004217530729F39A01915011F784E0C3 +:10218000089582E0089583E0089581E0089580E055 +:1021900008954091E80042FFDECF08950E943C116F +:1021A0000E944411E0EEF0E0808181608083E8EDE0 +:1021B000F0E080818F77808319BCA7EDB0E08C912F +:1021C0008E7F8C9380818F7E80831092DE010895B4 +:1021D0000F931F93CF93DF930E943C110E944411F1 +:1021E000C8EDD0E088818F77888388818068888374 +:1021F00088818F7D888319BC1092DF011092DB01EA +:102200001092DD011092DC0100EE10E0F8018081F7 +:102210008B7F808388818160888342E060E080E0FA +:102220000E944810E1EEF0E080818E7F8083E2EE34 +:10223000F0E0808181608083808188608083F80104 +:1022400080818E7F8083888180618883DF91CF91B8 +:102250001F910F910895E8EDF0E080818F7E8083DB +:10226000E7EDF0E080818160808384E082BF81E0DF +:102270008093DE010C94E810E8EDF0E080818E7F21 +:1022800080831092E20008951092DA001092E1002B +:1022900008951F920F920FB60F9211242F933F9320 +:1022A0004F935F936F937F938F939F93AF93BF935E +:1022B000EF93FF938091E10082FF0BC08091E200D9 +:1022C00082FF07C08091E1008B7F8093E1000E9434 +:1022D0007C0D8091DA0080FF1FC08091D80080FFC4 +:1022E0001BC08091DA008E7F8093DA008091D90044 +:1022F00080FF0DC080E189BD82E189BD09B400FE87 +:10230000FDCF81E08093DF010E94550D05C019BC0F +:102310001092DF010E94670D8091E10080FF19C0DB +:102320008091E20080FF15C08091E2008E7F809353 +:10233000E2008091E20080618093E2008091D80009 +:1023400080628093D80019BC85E08093DF010E94F1 +:10235000720D8091E10084FF30C08091E20084FF23 +:102360002CC080E189BD82E189BD09B400FEFDCFAA +:102370008091D8008F7D8093D8008091E1008F7E7E +:102380008093E1008091E2008F7E8093E200809153 +:10239000E20081608093E2008091DB01882311F0EC +:1023A00084E007C08091E30087FD02C081E001C0A6 +:1023B00083E08093DF010E94760D8091E10083FF2E +:1023C00029C08091E20083FF25C08091E100877FD2 +:1023D0008093E10082E08093DF011092DB01809125 +:1023E000E1008E7F8093E1008091E2008E7F8093F8 +:1023F000E2008091E20080618093E20042E060E0D0 +:1024000080E00E9448108091F00088608093F00086 +:102410000E946E0DFF91EF91BF91AF919F918F91AF +:102420007F916F915F914F913F912F910F900FBED0 +:102430000F901F9018951F920F920FB60F921124B4 +:102440002F933F934F935F936F937F938F939F93BC +:10245000AF93BF93CF93DF93EF93FF93C091E900C6 +:10246000CF708091EC00D82FD17080FDD0E8109211 +:10247000E9008091F000877F8093F00078940E94BB +:102480005F121092E9008091F00088608093F00064 +:10249000CD2BCF70C093E900FF91EF91DF91CF91E9 +:1024A000BF91AF919F918F917F916F915F914F916C +:1024B0003F912F910F900FBE0F901F9018951F9373 +:1024C000CF93DF93CDB7DEB7AA970FB6F894DEBFF0 +:1024D0000FBECDBFE0EEF1E088E08E0F9091F100ED +:1024E00091938E13FBCF0E94D10D8091E80083FF62 +:1024F0001FC18091E0019091E101492F50E04A30E5 +:10250000510508F015C1FA01EA5AFF4F0C948426D0 +:10251000803881F0823809F00BC18091E4018F701E +:102520008093E9008091EB0085FB882780F9109269 +:10253000E90006C08091DC019091DD01911182607B +:102540009091E800977F9093E8008093F1001092BB +:10255000F100C8C0282F2D7F09F0EAC0882319F0A8 +:10256000823061F0E5C08091E201813009F0E0C085 +:10257000933009F080E08093DD012BC08091E2016F +:10258000811127C08091E4018F7009F4D1C080933C +:10259000E9002091EB0020FF1CC0933021F48091D2 +:1025A000EB00806214C09091EB0090619093EB007F +:1025B00021E030E0A90102C0440F551F8A95E2F7DF +:1025C0004093EA001092EA008091EB0088608093CB +:1025D000EB001092E9008091E800877F86C08111AE +:1025E000A7C01091E2011F778091E3008078812BD2 +:1025F0008093E3008091E800877F8093E8000E9449 +:102600007D108091E80080FFFCCF8091E30080681E +:102610008093E300111102C082E001C083E0809347 +:10262000DF0186C08058823008F082C08091E201CC +:102630009091E3018C3D53E0950779F583E08A831F +:102640008AE289834FB7F894DE01139620E03EE0DA +:1026500051E2E32FF0E050935700E49120FF03C0D4 +:10266000E295EF703F5FEF708E2F90E0EA3010F050 +:10267000C79601C0C0968D939D932F5F243149F773 +:102680004FBF8091E800877F8093E8006AE270E0A6 +:10269000CE0101960E94840F14C0AE014F5F5F4FC0 +:1026A0006091E4010E94CB0EBC01009709F440C088 +:1026B0009091E800977F9093E80089819A810E9429 +:1026C000E70F8091E8008B778093E80031C0803875 +:1026D00079F58091E800877F8093E8008091DB01A5 +:1026E0008093F1008091E8008E778093E8000E944B +:1026F0007D101EC081111CC09091E2019230C0F487 +:102700008091E800877F8093E8009093DB010E942E +:102710007D108091DB01811106C08091E30087FD6F +:1027200002C081E001C084E08093DF010E94BD0D02 +:102730008091E80083FF0AC08091E800877F809342 +:10274000E8008091EB0080628093EB00AA960FB6C0 +:10275000F894DEBF0FBECDBFDF91CF911F910895DA +:10276000CF938091DF018823A1F0C091E900CF7061 +:102770009091EC00892F817090FD80E8C82B109219 +:10278000E9008091E80083FD0E945F12CF70C09342 +:10279000E900CF9108959093730180937201089599 +:1027A000E0917201F0917301309721F00190F08176 +:1027B000E02D099480E00895EF92FF920F931F930C +:1027C000CF93DF93E0917201F09173013097B1F1F3 +:1027D0008C010280F381E02D09958091D40182FF64 +:1027E0002DC080FF04C08EE495E00E943706E8010A +:1027F00010E188E4E82E85E0F82E8091D40180FF76 +:102800000BC088811F928F93FF92EF920E94D00697 +:102810000F900F900F900F90115021961111EDCF46 +:102820008091D40180FF0AC086E495E0DF91CF91CA +:102830001F910F91FF90EF900C943706DF91CF918D +:102840001F910F91FF90EF900895209170013091AA +:1028500071018217930771F0909371018093700159 +:10286000E0917201F0917301309721F00680F781B9 +:10287000E02D0994089520916E0130916F01821727 +:10288000930771F090936F0180936E01E091720154 +:10289000F0917301309721F00084F185E02D0994C7 +:1028A000089508950C9451140E9426200E94270B2D +:1028B0000E94E8200C949B25CF93DF931F92CDB705 +:1028C000DEB79091D40192FF10C090FF0EC01F920E +:1028D0008F9320E635E03F932F9389830E94D006A3 +:1028E0000F900F900F900F9089810F90DF91CF91F3 +:1028F0000C94110B9F92AF92BF92CF92DF92EF9206 +:10290000FF920F931F93CF93DF9300D000D000D09E +:10291000CDB7DEB70E946C0B09E010E0AA24A394A7 +:10292000B12C902E802F0E94E70B98012B583E4F20 +:102930006901F901F080F826A1F40150110988F726 +:102940008FEF89838A831B820E942F208160782FDA +:102950009D838C8349815A816B818D810E940F15E3 +:102960002FC09091D40191FF04C08E830E94ED0B83 +:102970008E8127E030E0A501022E01C0440F0A94A9 +:10298000EAF7E42E4F21C1F029839A828E2191E04B +:1029900009F490E09B830E942F208160782F9D8313 +:1029A0008C8349815A816B818D810E940F15F601BC +:1029B0008081E826E08204C021503109E0F6BDCFD5 +:1029C000109174010E94D0131817B9F00E94D0130F +:1029D0008093740126960FB6F894DEBF0FBECDBF6C +:1029E000DF91CF911F910F91FF90EF90DF90CF90EB +:1029F000BF90AF909F900C945C1426960FB6F894FD +:102A0000DEBF0FBECDBFDF91CF911F910F91FF9021 +:102A1000EF90DF90CF90BF90AF909F900895CF93AD +:102A2000DF93CDB7DEB72B970FB6F894DEBF0FBE9E +:102A3000CDBF4F83588769877A878B87DE011196D0 +:102A400086E0FD0111928A95E9F785E0FE0137964F +:102A500001900D928A95E1F749815A816B817C81C1 +:102A60008D819E810E94771B2B960FB6F894DEBF56 +:102A70000FBECDBFDF91CF910895CF93882309F486 +:102A8000C2C0C82F823859F40E94D01381FDBBC048 +:102A900089E30E94511E0E94431F89E30CC08338C2 +:102AA00079F40E94D01380FDAEC083E50E94511ED0 +:102AB0000E94431F83E50E94A41ECF910C94431FE4 +:102AC000843859F40E94D01382FD9DC087E40E948F +:102AD000511E0E94431F87E4EECF8CEF8C0F813A8A +:102AE00048F48C2F0E944C2581118DC08C2F0E94A0 +:102AF000511EE3CF80E28C0F883048F4C77081E02C +:102B000001C0880FCA95EAF70E94FC1ED6CF8BE55C +:102B10008C0F833078F4C53A29F0C63A31F083E857 +:102B200090E005C081E890E002C082E890E0CF919B +:102B30000C94251488E58C0F833108F064C0C83AE2 +:102B400039F1C93A41F1CA3A49F1CB3A51F1CC3A9B +:102B500059F1CD3A61F1C03B69F1CE3A71F1CF3A0A +:102B600079F1C13B81F1C23B89F1C33B91F1C43B97 +:102B700099F1C53BA1F1C63BA9F1C73BB1F1C83BF7 +:102B8000B9F1C93BC1F1CA3BC9F180E090E038C05E +:102B900082EE90E035C089EE90E032C08AEE90E09F +:102BA0002FC085EB90E02CC086EB90E029C087EB2E +:102BB00090E026C08CEC90E023C08DEC90E020C02B +:102BC00083E891E01DC08AE891E01AC082E991E0B3 +:102BD00017C084E991E014C081E292E011C083E261 +:102BE00092E00EC084E292E00BC085E292E008C061 +:102BF00086E292E005C087E292E002C08AE292E0BB +:102C0000CF910C943B14CF910895882309F44BC0C5 +:102C1000823859F40E94D01381FF45C089E30E9495 +:102C2000511E0E94431F89E30CC0833871F40E9437 +:102C3000D01380FF38C083E50E94511E0E94431FBD +:102C400083E50E94A41E0C94431F843859F40E940B +:102C5000D01382FF28C087E40E94511E0E94431FA8 +:102C600087E4EFCF9CEF980F913A58F390E2980FDA +:102C7000983050F4877091E001C0990F8A95EAF777 +:102C8000892F0E94021FDFCF9BE5980F933020F41D +:102C900080E090E00C942514885A833120F480E081 +:102CA00090E00C943B140895882321F00E94FC1EB0 +:102CB0000C94431F0895882321F00E94021F0C9456 +:102CC000431F08957F928F929F92AF92BF92CF92AF +:102CD000DF92EF92FF920F931F93CF93DF931F9298 +:102CE000CDB7DEB77C01C62E772EFC01058102959B +:102CF0000F70128111110E94191F0E944A1E882311 +:102D000079F0112369F080E28C0D883048F082E080 +:102D10000E94331E0E944A1E91E0D82ED92601C07F +:102D2000D12CE72DE295EF70F0E0E05AFF4F0C94C4 +:102D30008426872D807F072D0F70882311F0029540 +:102D4000007F112389F0002309F48EC180E28C0DED +:102D5000883020F4802F0E94FC1E03C0802F0E9428 +:102D60000C1F0E94431F80C18C2D0E94051600235A +:102D700009F4B8C180E28C0D883020F4802F0E94C5 +:102D8000021F03C0802F0E94121F0E94431FAAC16E +:102D9000872D807F972D9F70803211F4892F03C07B +:102DA000892F8295807FCC2021F0F1E0CF16A1F011 +:102DB0001DC0112339F0002319F1013009F50E94DB +:102DC0002C1F90C1002319F0013009F48BC18983B5 +:102DD0000E942F1F898105C1112321F0063008F0C0 +:102DE00081C10EC0053008F07DC1FBC0112359F030 +:102DF000002331F0F701958190FF36C19F709583D4 +:102E00000E9454166FC1002309F4EBC033C1872D13 +:102E100086958695837090E0009719F0019761F090 +:102E200061C1112321F08C2D972D937002C080E099 +:102E300090E00E94251456C1112321F08C2D972D6E +:102E4000937002C080E090E00E943B144BC1872D3C +:102E5000837009F052C0111145C18C2D8295869561 +:102E60008770880F880F9C2D9F70892E912CA12C24 +:102E7000B12C082E04C0880C991CAA1CBB1C0A94F7 +:102E8000D2F7C4FE14C00FE010E020E030E0B9013A +:102E9000A80104C0440F551F661F771F8A95D2F7FB +:102EA000CB01BA01609570958095909503C060E064 +:102EB00070E0CB01272D26952695237030E0223037 +:102EC000310569F02330310589F0682979298A298B +:102ED0009B292130310571F00E94BF1C03C1682974 +:102EE00079298A299B290E94DB1CFCC00E94BF1CF7 +:102EF000C501B4010E94A31CF5C0112319F0872D50 +:102F0000817001C08695882309F4ECC08C2D8295D0 +:102F100086958770880F880F9C2D9F70892E912C25 +:102F2000A12CB12C082E04C0880C991CAA1CBB1C17 +:102F30000A94D2F7C4FE14C00FE010E020E030E0A5 +:102F4000B901A80104C0440F551F661F771F8A9559 +:102F5000D2F7CB01BA01609570958095909503C02A +:102F600060E070E0CB01272D269526952370422F37 +:102F700050E04230510569F04330510589F068292D +:102F800079298A299B294130510571F00E94991DA8 +:102F9000A9C0682979298A299B290E94B51DA2C048 +:102FA0000E94991DC501B4010E947D1D9BC08C2DFE +:102FB00090E0FC01E05EF109E531F10508F050C058 +:102FC000E059FF4F0C9484260C2D0F70872D8F71C4 +:102FD000112321F00E94161D802F12CF0E94371D51 +:102FE000802F0E945B167EC0112341F0053008F04F +:102FF00079C0872D8F710E945C1D74C0063008F067 +:1030000071C0F7CF112339F0872D8F710E94161DE3 +:1030100069C01123C9F3872D8F710E94371D62C0CB +:10302000112329F0872D8F710E94011D5BC00E9422 +:10303000F71C58C0112351F0172D1F71812F0E94CA +:10304000161D63E0812F0E942A1E4CC081E00E9461 +:10305000331E023008F446C082E00E94331E42C094 +:10306000112331F0002381F28C2D0E943D153AC0CE +:10307000002389F28C2D0E94051634C0472D4F7015 +:103080006C2DC7010E94EA070E941B1C2BC0111166 +:1030900029C0472D4F7050E042305105B9F04CF433 +:1030A0004115510581F041305105E1F40E94D025D0 +:1030B00019C04330510569F04430510599F48C2D05 +:1030C0000E945B260FC00E94AC250CC00E94FF2509 +:1030D00009C00E94252606C0472D4F706C2DC701E0 +:1030E0000E941007DD20F9F00E94261E80FD1BC003 +:1030F000F70112820E94201E0E94161DC7010E9425 +:10310000A2180E94201E0F90DF91CF911F910F9166 +:10311000FF90EF90DF90CF90BF90AF909F908F90F7 +:103120007F900C94371D0F90DF91CF911F910F91DD +:10313000FF90EF90DF90CF90BF90AF909F908F90D7 +:103140007F9008950F931F93CF93DF93EC018881B5 +:1031500099812B813C81232BB9F09F3F11F48F3F44 +:1031600099F0CE010E943E07882371F06881798131 +:103170008A810E941C1E8C010E94D11D0E94981CF5 +:10318000B801CE010E946216DF91CF911F910F917D +:1031900008950E94191F0E94291F0E94EB1E0E9481 +:1031A000431F80E090E00E94251480E090E00C94A2 +:1031B0003B140E94091F0C94C9180E94111E292F4C +:1031C00022952F7030E02C3031054CF42A30310537 +:1031D0006CF42250310922303105A8F407C02C309C +:1031E000310569F02F30310551F00DC0803F69F095 +:1031F00018F4803E40F409C0843F29F406C093FBD4 +:10320000882780F9089580E0089581E00895CF939C +:10321000DF9300D000D01F92CDB7DEB70F900F9094 +:103220000F900F900F90DF91CF910895CF93DF9380 +:1032300000D000D000D0CDB7DEB726960FB6F894F8 +:10324000DEBF0FBECDBFDF91CF9108951F93CF9307 +:10325000DF93C0917F0116E080918001C81799F03B +:10326000D0E01C9FF0011D9FF00D1124EF57FE4F81 +:103270004081518162817381848195810E941619F8 +:103280002196C770E9CFDF91CF911F9108954091AA +:10329000B1015091B2016091B3017091B40180917C +:1032A000B5019091B6010C9416198091B6018295E2 +:1032B0008F7009F054C08091B301882309F44FC086 +:1032C00080917F01A09180016091B1017091B20164 +:1032D0004091B4015091B501B6E08A1709F43FC09E +:1032E00090E041155105C1F17F3F11F46F3FA1F10D +:1032F000B89FF001B99FF00D1124EF57FE4F2181C7 +:1033000072132AC02081621327C02281211124C098 +:10331000238134812417350710F421503109241BEF +:10332000350B283C3105C0F42091B6012F70206187 +:103330002093B60126E0289FF001299FF00D11246B +:10334000EA57FE4F80818F708061808381EB91E02E +:103350000E94A2180C94261901968770BECF08957A +:10336000CF92DF92EF92FF920F931F93CF93DF9351 +:10337000CDB7DEB762970FB6F894DEBF0FBECDBFF4 +:103380008C0185E0F801DE011D9601900D928A9571 +:10339000E1F7D8014C9111965C91119712966C91BE +:1033A00012971396CD90DC9014973091B1017091E3 +:1033B000B2018091B4019091B501009709F46BC1FD +:1033C0007F3F19F43F3F09F466C1E090B301EE205E +:1033D00009F4C0C02091B601C816D90628F0F6013C +:1033E000E81BF90BCF0104C0809590958C0D9D1DB5 +:1033F000FF24F394883C910578F0F12C207F09F0AC +:10340000C6C07C2DD98AC88A89890E94071981EB98 +:1034100091E00E94A218B1C0822F807F09F046C0BF +:10342000751314C0341312C0611110C02F702061C5 +:103430002093B6010E94471981EB91E00E94A218E7 +:103440008091B601D80115968C932EC0CD2819F124 +:103450005F3F11F44F3FF9F0F62E61111CC08091CF +:103460007F012091800136E0821709F45AC090E074 +:10347000389FF001399FF00D1124EF57FE4F7181F5 +:10348000571306C07081471303C07281711103C0C6 +:1034900001968770E9CFF62E662309F418C1809152 +:1034A000B60181608093B601F12C11C1751308C07B +:1034B000341306C0611104C08091B601D801C3C0A5 +:1034C0004D875E878D859E856A8B0E94DD186A898F +:1034D0008823E1F16623D1F12091B601822F8295F4 +:1034E0008F7090E0029774F08091B1019091B201D9 +:1034F00098878F831986DB86CA862C87CE0107962C +:103500000E94A21886E0F801A1EBB1E001900D92B3 +:103510008A95E1F70E9455190E944719FF24F394F8 +:10352000D6C04D875E878D859E850E94111E292FEE +:1035300022952F7030E0223031050CF0BCC09F7016 +:1035400009F0B6C0805E883008F4C1C0C8010E948E +:10355000A218E4CFC816D90608F453C0F601E81B38 +:10356000F90BCF01883C910508F450C0F12C7C2D5B +:10357000D98AC88A89890E940719E1EBF1E086E0BF +:10358000DF011D928A95E9F70E944719A0C07513C3 +:1035900014C0341312C0611110C08091B601F8013B +:1035A0008583C8010E94A21886E0E1EBF1E0DF010B +:1035B0001D928A95E9F7FE2C8AC04D875E878D851E +:1035C0009E856A8B0E94DD186A89882309F4BECF24 +:1035D000662309F4BBCF2091B601822F82958F70AC +:1035E00090E002970CF48ECF8091B1019091B201DE +:1035F0009A8389831B82DD82CC822E83CE01019641 +:103600007FCF809590958C0D9D1DACCFF62E6623B7 +:1036100009F49CCF75132EC034132CC02091B60131 +:1036200020FD1FC0822F82958F70D9F0D80115968A +:103630002C9315978F3049F08F5F982F9295907F3C +:10364000822F8F70892B15968C93C8010E94A21827 +:1036500086E0F801A1EBB1E001900D928A95E1F7C7 +:1036600093CF86E0F801A1EBB1E001900D928A952D +:10367000E1F72DC04D875E878D859E850E94DD1800 +:10368000811140CF8091B60181608093B601C8015D +:103690000E94A2181CC0662309F458CF4D875E878C +:1036A0008D859E850E94DD18882309F44FCF2ACF8F +:1036B000811148CF0CC0243031050CF047CF9F70EA +:1036C00009F440CFF8019581907F09F03BCF8F2D11 +:1036D00062960FB6F894DEBF0FBECDBFDF91CF91DB +:1036E0001F910F91FF90EF90DF90CF9008951F935F +:1036F000CF93DF93CDB7DEB72C970FB6F894DEBF2C +:103700000FBECDBF4F83588769877A878B879C8789 +:10371000CE0107960E94B019882369F08F819885A1 +:103720002A853B85232BF1F19F3F09F063C08F3F32 +:1037300009F060C037C086E0FE013796DE011196C1 +:1037400001900D928A95E1F76F817885EA85FB8576 +:10375000309741F17F3F11F46F3F21F120918001BB +:1037600030E0C90101968770992740917F0150E0B0 +:103770008417950709F447C069837A83FD83EC8336 +:1037800096E0929FD001939FB00D1124AF57BE4F8A +:10379000FE01319601900D929A95E1F78093800198 +:1037A0000E94261916E080917F019091800189176F +:1037B000C1F1189FC00111248F579E4F0E94B0196C +:1037C000882379F1E0917F011E9FF0011124EF57CA +:1037D000FE4F4081518162817381848195810E9475 +:1037E000161980917F0190E0019687709927809348 +:1037F0007F01D9CF4F81588569857A858B859C85D6 +:103800000E941619CFCF0E94D918109280011092F1 +:103810007F01E1EBF1E086E0DF011D928A95E9F797 +:10382000C1CF2C960FB6F894DEBF0FBECDBFDF918F +:10383000CF911F910895EF92FF920F931F93CF9313 +:10384000DF938C01009709F46CC0F12CEE24E39413 +:10385000E8012196F8018491843740F4843008F01F +:1038600051C0813081F0823019F15BC0853709F495 +:1038700044C0A8F19CE7980F903708F052C08F77AA +:103880000E94051641C00E5F1F4FFE01C49180E2E9 +:103890008C0F883048F4C7708E2D01C0880FCA95F0 +:1038A000EAF70E941C1F14C08C2F0E943D152DC0EA +:1038B0000E5F1F4FFE01C49180E28C0F883058F4D8 +:1038C000C7708E2D01C0880FCA95EAF70E94221F8B +:1038D0000E94431F1AC08C2F0E94051616C00E5F4F +:1038E0001F4FFE01C491CC2381F08FE99FE0019727 +:1038F000F1F700C00000C150F6CF0E5F1F4FFE0170 +:10390000F49003C00E943D158E018F2D882309F489 +:103910009FCFEFE9FFE03197F1F700C00000815041 +:10392000F5CFDF91CF911F910F91FF90EF90089508 +:1039300008956093BB017093BC018093BD01909387 +:10394000BE010C94C9180F931F930091BB011091F5 +:10395000BC012091BD013091BE01DC01CB01802B67 +:10396000912BA22BB32B8093BB019093BC01A0930E +:10397000BD01B093BE011F910F910C94C9180F9314 +:103980001F930091BB011091BC012091BD013091AA +:10399000BE01DC01CB0180239123A223B3238093BA +:1039A000BB019093BC01A093BD01B093BE011F91D8 +:1039B0000F910C94C9180F931F930091BB011091A4 +:1039C000BC012091BD013091BE01DC01CB018027FB +:1039D0009127A227B3278093BB019093BC01A093AA +:1039E000BD01B093BE011F910F910C94C9181092A4 +:1039F000B7011092B8011092B9011092BA010C945B +:103A0000C91841E050E060E070E004C0440F551F69 +:103A1000661F771F8A95D2F74093B7015093B8017C +:103A20006093B9017093BA010C94C91841E050E059 +:103A300060E070E004C0440F551F661F771F8A9531 +:103A4000D2F78091B7019091B801A091B901B091DE +:103A5000BA01482B592B6A2B7B2B4093B70150930B +:103A6000B8016093B9017093BA010C94C91841E090 +:103A700050E060E070E004C0440F551F661F771FE0 +:103A80008A95D2F740955095609570958091B701D1 +:103A90009091B801A091B901B091BA01482359237E +:103AA0006A237B234093B7015093B8016093B90117 +:103AB0007093BA010C94C91841E050E060E070E0E6 +:103AC00004C0440F551F661F771F8A95D2F7809157 +:103AD000B7019091B801A091B901B091BA014827FE +:103AE00059276A277B274093B7015093B801609309 +:103AF000B9017093BA010C94C9180F931F930091E8 +:103B0000B7011091B8012091B9013091BA01DC01DF +:103B1000CB01802B912BA22BB32B8093B7019093D9 +:103B2000B801A093B901B093BA011F910F910C9401 +:103B3000C9180F931F930091B7011091B8012091FC +:103B4000B9013091BA01DC01CB0180239123A2237A +:103B5000B3238093B7019093B801A093B901B093B8 +:103B6000BA011F910F910C94C9180F931F930091E4 +:103B7000B7011091B8012091B9013091BA01DC016F +:103B8000CB0180279127A227B3278093B701909379 +:103B9000B801A093B901B093BA011F910F910C9491 +:103BA000C9180895CF92DF92EF92FF920F931F935F +:103BB000CF93DF938C01C090BB01D090BC01E0900B +:103BC000BD01F090BE018091B7019091B801A09124 +:103BD000B901B091BA01C82AD92AEA2AFB2ACFE151 +:103BE000D0E0D701C6010C2E04C0B695A7959795D5 +:103BF00087950A94D2F780FF06C0B8018C2F0E94E7 +:103C0000740A019721F4219760F780E001C08C2F9E +:103C1000DF91CF911F910F91FF90EF90DF90CF90A8 +:103C20000895CF93DF93EC010E94D21DBE010E9444 +:103C3000740ADF91CF910895CB010E94111E08955F +:103C40008091BF0185958595859508958091BF01E7 +:103C50008770089598E0899F90011124262B209366 +:103C6000BF010C94161D2091BF0180958223809383 +:103C7000BF01982F977069F430E0482F552747FD12 +:103C800050952417350729F08595859585950C94D1 +:103C9000371D08959091BF01977081E009F480E08D +:103CA000089590910B01992321F090910C019111AD +:103CB00009C020910D0130910E01F90132969FEF5C +:103CC00040E030C0982F9695969596959F30A0F439 +:103CD000E0910D01F0910E01E90FF11D877021E0D7 +:103CE00030E0A90102C0440F551F8A95E2F7CA01CE +:103CF0009181892B818308959091D40190FF23C0F5 +:103D00001F928F9387E995E09F938F930E94D0062F +:103D10000F900F900F900F9008959F3F39F04F5FD5 +:103D20004E3041F051915813F8CF0DC05111F7CFDB +:103D3000942FF5CF9F3F39F0F901E90FF11D97FD61 +:103D4000FA9582830895089590910B01992321F0AB +:103D500090910C01911109C020910D0130910E013B +:103D6000F9013296205F3F4F30C0982F9695969577 +:103D700096959F30A8F4E0910D01F0910E01E90FA6 +:103D8000F11D877021E030E0A90102C0440F551FEA +:103D90008A95E2F7CA0180959181892381830895EC +:103DA0009091D40190FF16C01F928F9389E795E000 +:103DB0009F938F930E94D0060F900F900F900F90BB +:103DC00008953196E217F30729F090819813F9CFFF +:103DD0001082F7CF089581E090E0E0910D01F0911D +:103DE0000E01E80FF91F1082019680319105A9F7A5 +:103DF00008958091D30108959091D301892B8093E8 +:103E0000D301089580959091D30189238093D301A4 +:103E100008951092D30108959091D201892B809337 +:103E2000D201089580959091D20189238093D20187 +:103E300008951092D20108959091D101892B809319 +:103E4000D101089580959091D10189238093D1016A +:103E500008951092D10108958093C00108951092A1 +:103E6000C001089580910D0190910E01FC013196E1 +:103E70009C01205F3F4F80E0919191118F5FE2178D +:103E8000F307D1F70895E0910D01F0910E018091B3 +:103E9000D3018083E0910D01F0910E01908180911A +:103EA000D201892B8083E0910D01F0910E01908168 +:103EB0008091D101892B80838091C001882361F09A +:103EC000E0910D01F0910E019081892B80830E9479 +:103ED000321F81111092C00180910D0190910E014D +:103EE0000C94DC139093370180933601089520E001 +:103EF000009739F0AC0141505109842395232F5F7D +:103F0000F7CF822F08958295982F9C7C392F369574 +:103F10003695282F237344E0249FC0011124932F4A +:103F2000982B292F2A7A2695892F8575880F822B21 +:103F300008951F93CF93DF931F92CDB7DEB7998378 +:103F40000E94831F182F9981892F0E94831F212F80 +:103F500030E0322F2227A901482BCA010F90DF91B0 +:103F6000CF911F9108958091DF01843039F1109233 +:103F7000D50120E488E190E00FB6F894A8958093ED +:103F800060000FBE2093600080E00E94E40680E0A5 +:103F90000E94110B83B7817F846083BF83B78160E8 +:103FA00083BF7894889583B78E7F83BF88E10FB6EF +:103FB000F89480936000109260000FBE08950895F9 +:103FC000089580E00E94E4060E94DF1F0E946C0BAF +:103FD0000E94E01F0E941F0C91E0811101C090E03F +:103FE000892F08950E94D91880E00E94E4060E945B +:103FF0009B250E94D0130C94110B1F920F920FB6A9 +:104000000F9211248F939F93AF93BF938091D5010B +:10401000811113C08091D6019091D701A091D80150 +:10402000B091D9014196A11DB11D8093D601909305 +:10403000D701A093D801B093D901BF91AF919F91BF +:104040008F910F900FBE0F901F90189582E084BD46 +:1040500093E095BD9AEF97BD80936E0008952FB7BA +:10406000F8948091D6019091D701A091D801B09198 +:10407000D9012FBF0895CF92DF92EF92FF920F9355 +:104080001F932FB7F8944091D6015091D7016091BA +:10409000D8017091D9012FBF6A017B01EE24FF2462 +:1040A0008C0120E030E0C016D106E206F30610F4E1 +:1040B000415051099A01281B390BC9011F910F91D9 +:1040C000FF90EF90DF90CF9008951F920F920FB660 +:1040D0000F9211248F939F93AF93BF938091D6013A +:1040E0009091D701A091D801B091D9010196A11D5D +:1040F000B11D8093D6019093D701A093D801B093BE +:10410000D901BF91AF919F918F910F900FBE0F90EA +:104110001F9018950E94CE10F8942FEF87EA91E631 +:10412000215080409040E1F700C0000087E090EB14 +:10413000DC018093EA019093EB01A093EC01B09332 +:10414000ED019CE088E10FB6F894A895809360009B +:104150000FBE90936000FFCFEF92FF920F931F93DB +:10416000CF93DF93D82FC9E08C2F0E94E70B07E095 +:1041700010E0E82EF12CC701002E02C0959587951E +:104180000A94E2F780FF09C0602F7C2F80E00E9434 +:10419000ED07D81302C081E006C00150110958F79D +:1041A000C15010F780E0DF91CF911F910F91FF90E8 +:1041B000EF900895CF93C82F8CE20E94AC20882303 +:1041C00021F08C2FCF910C94AC2080E0CF910895FA +:1041D000CF930E943C22811102C00E941D228CEBD1 +:1041E00095E00E943706C5E6C15049F00E946C0B6D +:1041F0008FE39CE90197F1F700C00000F5CF85EB54 +:1042000095E00E94370689E20E94DA20811113C1ED +:104210008AE20E94DA2081110E941D2285E00E941C +:10422000DA2081110E948A200E9447228093D401C3 +:1042300087E00E94DA208823A9F18BE10E94DA202E +:10424000882351F08091D40181FB222720F991E04D +:10425000922790FB81F90EC08EE00E94DA2088231D +:1042600061F08091D40182FB222720F991E092270E +:1042700090FB82F98093D40115C080E10E94DA207E +:104280009091D401882341F093FB222720F981E00B +:10429000822780FB93F904C0892F809580FB90F9D9 +:1042A0009093D4018091D4010E944B220E94592204 +:1042B0008093E80180EE0E94DA20882341F080910B +:1042C000E801982F909590FB80F98093E80189E3AD +:1042D0000E94DA20882359F08091E80181FB22278F +:1042E00020F991E0922790FB81F98093E80182EE1A +:1042F0000E94DA20882359F08091E80182FB22276E +:1043000020F991E0922790FB82F98093E80186EEF4 +:104310000E94DA20882359F08091E80183FB22274C +:1043200020F991E0922790FB83F98093E80183EED6 +:104330000E94DA20882359F08091E80184FB22272B +:1043400020F991E0922790FB84F98093E80185E3BE +:104350000E94DA20882359F08091E80185FB22270A +:1043600020F991E0922790FB85F98093E80181E3A1 +:104370000E94DA20882359F08091E80186FB2227E9 +:1043800020F991E0922790FB86F98093E80181E182 +:104390000E94DA20882359F08091E80187FB2227C8 +:1043A00020F991E0922790FB87F98093E8018091B2 +:1043B000E8010E945D228091E80187FB882780F94F +:1043C00080930C0187E20E94DA20C82F8EE10E94C0 +:1043D000DA208111C2608FE10E94DA208111C4606D +:1043E00080E20E94DA208111C86081E20E94DA2016 +:1043F0008111C06182E20E94DA208111C06283E2F1 +:104400000E94DA208111C06484E20E94DA208823AD +:1044100011F0C06802C0CC2329F08C2F0E945422D6 +:104420006C2F03C00E945022682F70E080E090E063 +:10443000CF910C94991CCF9108956DEE7EEF80E0A2 +:1044400090E00E94AA2660E082E090E00E94982618 +:1044500060E083E090E00E94982660E084E090E0D5 +:104460000E94982660E085E090E00E94982660E037 +:1044700086E090E00C94982680E090E00E949226DE +:1044800021E08D3E9E4F09F020E0822F089582E0CA +:1044900090E00C948A26682F82E090E00C94982695 +:1044A00083E090E00C948A26682F83E090E00C94DF +:1044B000982684E090E00C948A26682F84E090E0AF +:1044C0000C94982686E090E00C948A26682F86E06B +:1044D00090E00C949826CF93C82F1F928F9387ED6E +:1044E00095E09F938F930E94D00681E090E0A0E03A +:1044F000B0E0BC01CD0104C0660F771F881F991F73 +:10450000CA95D2F70E94991C0F900F900F900F90B0 +:10451000CF910C94D918CF938B3109F40FC208F0C6 +:1045200049C08E3009F41EC200F5873009F4E7C196 +:10453000A8F4863009F0A4C28091D401817F8E7FD7 +:104540008093D40185E797E00E94370681E69BE0DF +:104550000E94370681E08093DA01CFC1883009F4E8 +:104560005BC08B3009F4C5C18BC2813109F470C2C4 +:1045700020F4803109F40AC283C2863109F421C2D1 +:10458000893109F07DC286E697E00E9437068BE309 +:1045900097E00E94370689EE96E00E9437068CEB82 +:1045A00096E00E94370680E896E00E94370685E58F +:1045B00096E0A1C1853309F45FC268F4873209F43B +:1045C0005BC228F48E3108F45BC28D5156C2893229 +:1045D00009F452C255C2833438F48A3308F04AC20F +:1045E000883309F486C14CC2833409F445C2883447 +:1045F00009F046C20E94D91885E49BE00E94370664 +:104600009FEF23ED80E3915020408040E1F700C010 +:1046100000000E948A2071C185E69BE00E94370657 +:1046200082EB9AE00E9437060E9450221F928F93DD +:104630008FEA9AE09F938F930E94D0068DEA9AE0CA +:104640000E9437060E944722C82F8AE99AE00E94FA +:1046500037061F92CF9385E99AE09F938F930E942C +:10466000D00683E99AE00E94370689E89AE00E9422 +:1046700037068C2F81701F928F9386E89AE09F9364 +:104680008F930E94D00684E89AE00E9437068AE75A +:104690009AE00E943706C1FB882780F91F928F930A +:1046A00087E79AE09F938F930E94D00685E79AE070 +:1046B0000E94370689E69AE00E943706C2FB8827E7 +:1046C00080F91F928F9386E69AE09F938F930E94C2 +:1046D000D00684E69AE00E9437068BE59AE00E94B5 +:1046E0003706C3FBCC27C0F91F92CF9388E59AE029 +:1046F0009F938F930E94D00686E59AE00E9437062A +:104700000E945922C82F82E49AE00E9437061F9225 +:10471000CF938DE39AE09F938F930E94D0068BE313 +:104720009AE00E94370682E29AE00E9437068C2FB8 +:1047300081701F928F938FE19AE09F938F930E94D5 +:10474000D0068DB79EB780960FB6F8949EBF0FBE69 +:104750008DBF8DE19AE00E94370686E09AE00E94C4 +:104760003706C1FB882780F91F928F9383E09AE078 +:104770009F938F930E94D00681E09AE00E943706B3 +:104780008FEE99E00E943706C2FB882780F91F92BE +:104790008F938CEE99E09F938F930E94D0068AEEC0 +:1047A00099E00E94370688ED99E00E943706C3FB26 +:1047B000882780F91F928F9385ED99E09F938F93BF +:1047C0000E94D00683ED99E00E94370689EC99E0BB +:1047D0000E943706C4FB882780F91F928F9386ECCE +:1047E00099E09F938F930E94D00684EC99E00E94F9 +:1047F000370682EB99E00E943706C5FB882780F9CF +:104800001F928F938FEA99E09F938F930E94D00617 +:104810008DEA99E00E94370681E999E00E94370607 +:10482000C6FB882780F91F928F938EE899E09F93AB +:104830008F930E94D0068CE899E00E94370684E8A6 +:1048400099E00E943706C7FBCC27C0F91F92CF938F +:1048500081E899E09F938F930E94D0068FE799E0BB +:104860000E9437060E946222C82F88E699E00E94C3 +:1048700037061F92CF9383E699E09F938F930E9410 +:10488000D0068DB79EB780960FB6F8949EBF0FBE28 +:104890008DBF81E699E00E94370687E599E00E9486 +:1048A00037068C2F81701F928F9384E599E09F9338 +:1048B0008F930E94D00682E599E00E94370689E432 +:1048C00099E00E943706C6951F92CF9386E499E03F +:1048D0009F938F930E94D00684E499E00E9437064C +:1048E0008DB79EB708960FB6F8949EBF0FBE8DBFCA +:1048F00004C080E997E00E943706C1E0C6C08091FD +:10490000D401C82FC095C170C0FB80F98093D40139 +:10491000CC2349F089E39BE00E9437068091D401C3 +:104920008660886048C08CE29BE00E9437068091D8 +:10493000D401897F877F8093D401DFCF9091D40108 +:1049400091FBCC27C0F981E0C827892FC0FB81F9F2 +:104950008093D401CC2319F08FE19BE027C081E143 +:104960009BE0C9CF9091D40192FBCC27C0F981E0A4 +:10497000C827892FC0FB82F98093D401CC2319F07A +:1049800082E09BE013C082EF9AE0B5CF9091D40112 +:1049900093FBCC27C0F981E0C827892FC0FB83F99E +:1049A0008093D401CC2351F086EE9AE00E94370622 +:1049B0008091D40181608093D40167C089ED9AE031 +:1049C0009ACF87E496E00E9437060E94D0131F9288 +:1049D0008F938DE296E09F938F930E94D0068091F3 +:1049E0000B011F928F9386E196E09F938F930E9415 +:1049F000D00680916D011F928F9383E096E09F9384 +:104A00008F930E94D00680910C011F928F9380EFAC +:104A100095E09F938F930E94D0068091D60190914C +:104A2000D701A091D801B091D901BF93AF939F93C3 +:104A30008F938CED95E09F938F930E94D0068DB756 +:104A40009EB746960FB6F8949EBF0FBE8DBF55CF4A +:104A50000E94D918C0910C0181E0C827C0930C01B5 +:104A6000CC2329F08FEC9AE00E9437060EC084EC2C +:104A70009AE041CF895301C080E00E946B223DCF74 +:104A800082EC9AE00E943706C0E08C2FCF91089507 +:104A900080E0089580E00895CF93C82F8091DA01D7 +:104AA000882319F0813049F03EC0E0910D01F0916A +:104AB0000E0180818232C9F507C0E0910D01F091AD +:104AC0000E018081823261F48C2F0E944825811171 +:104AD00004C08C2F0E948B2224C081E090E021C072 +:104AE0008C2F0E944A2581111BC0C43189F018F413 +:104AF000CB3029F010C0C93259F0C83361F485E7D2 +:104B000097E00E94370683ED95E00E94370608C0C3 +:104B10001092DA010CC081ED95E00E94370607C0C3 +:104B200081E0817006C01092DA0180E002C080E06E +:104B3000F8CFCF9108950E943C22811102C00E94BB +:104B40001D220E9462228093E90180FF02C08695A7 +:104B500001C080E00C94E4068091E901982F9695BD +:104B600039F48170826081608093E9010E9466223D +:104B70008091D40180FF0FC08091E90186951F923A +:104B80008F9382EB9BE09F938F930E94D0060F90B0 +:104B90000F900F900F908091E90186950C94E40698 +:104BA0008091E901982F969591F09158990F817015 +:104BB000892B8093E9018E7F91E009F490E0809148 +:104BC000E90190FB80F98093E9010E9466228091BF +:104BD000D40180FF0FC08091E90186951F928F93C9 +:104BE0008AE99BE09F938F930E94D0060F900F90CD +:104BF0000F900F908091E90186950C94E4068091C6 +:104C0000E901982F909590FB80F98093E9010E942B +:104C100066228091D40180FF0FC08091E9018170EC +:104C20001F928F9384E89BE09F938F930E94D006FE +:104C30000F900F900F900F908091E90180FF02C0BC +:104C4000869501C080E00C94E4069091E901892FDB +:104C500086958F5F8F779170823028F4880F892B2B +:104C60008093E90102C09093E9018091E9018E7F70 +:104C700091E009F490E08091E90190FB80F9809344 +:104C8000E9010E9466228091D40180FF0FC08091CB +:104C9000E90186951F928F9380E79BE09F938F9306 +:104CA0000E94D0060F900F900F900F908091E90115 +:104CB00086950C94E4062091E901922F9695892718 +:104CC000982F990F822F8170892B8093E9018E7F15 +:104CD00091E009F490E08091E90190FB80F98093E4 +:104CE000E9010E9466228091E90186950C94E40610 +:104CF000991B79E004C0991F961708F0961B881F2E +:104D00007A95C9F780950895EE0FFF1F0590F491ED +:104D1000E02D0994F999FECF92BD81BDF89A9927AB +:104D200080B50895A8E1B0E042E050E00C94B226CE +:104D3000262FF999FECF92BD81BDF89A019700B454 +:104D4000021639F01FBA20BD0FB6F894FA9AF99AF4 +:104D50000FBE08950196272F0E9499260C9498263D +:104D6000DC01CB01FC01F999FECF06C0F2BDE1BD2B +:104D7000F89A319600B40D9241505040B8F708951A +:044D8000F894FFCFD5 +:104D8400FF350C040D380CD00C9C0C0101C1010F33 +:104D94001F4F5F6F7F6C1323766663530333593958 +:104DA400293F3620390705D104B104780404041DD1 +:064DB40004360456040061 +:00000001FF diff --git a/keyboard/clueboard2/keymaps/default/keymap.c b/keyboard/clueboard2/keymaps/default/keymap.c new file mode 100644 index 0000000000..73179f94cd --- /dev/null +++ b/keyboard/clueboard2/keymaps/default/keymap.c @@ -0,0 +1,183 @@ +#include "clueboard2.h" + +#ifdef RGBLIGHT_ENABLE +#include "rgblight.h" +#endif + +// Used for SHIFT_ESC +#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)) + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +#define _BL 0 +#define _FL 1 +#define _RS 2 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Keymap _BL: (Base Layer) Default Layer + * ,--------------------------------------------------------------------------. ,----. + * |Esc~| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| \| BS| |PGUP| + * |--------------------------------------------------------------------------| |----| + * | Tab| Q| W| E| R| T| Y| U| I| O| P| [| ]| \| |PGDN| + * |--------------------------------------------------------------------------| `----' + * |Capslck| A| S| D| F| G| H| J| K| L| ;| '| # | Ent| + * |-----------------------------------------------------------------------------. + * |Shift| BS| Z| X| C| V| B| N| M| ,| .| /| BS|Shift| UP| + * |------------------------------------------------------------------------|----|----. + * | Ctrl| Gui| Alt| MHen| Space| Space| Hen| Alt| Ctrl| _FL|LEFT|DOWN|RGHT| + * `----------------------------------------------------------------------------------' + */ +[_BL] = KEYMAP( + F(0), 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_GRV, KC_BSPC, KC_PGUP, \ + 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_PGDN, \ + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, \ + KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSFT, KC_UP, \ + KC_LCTL, KC_LGUI, KC_LALT, KC_MHEN, KC_SPC,KC_SPC, KC_HENK, KC_RALT, KC_RCTL, MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT), + + /* Keymap _FL: Function Layer + * ,--------------------------------------------------------------------------. ,----. + * | `| F1| F2| F3| F4| F5| F6| F7| F8| F9| F10| F11| F12| | Del| |BLIN| + * |--------------------------------------------------------------------------| |----| + * | | | | | | | | |PScr|SLck|Paus| | | | |BLDE| + * |--------------------------------------------------------------------------| `----' + * | | | _RS| | | | | | | | | | | | + * |-----------------------------------------------------------------------------. + * | | | | | | | | | | | | | | |PGUP| + * |------------------------------------------------------------------------|----|----. + * | | | | | | | | | | _FL|HOME|PGDN| END| + * `----------------------------------------------------------------------------------' + */ +[_FL] = KEYMAP( + 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_TRNS, KC_DEL, BL_STEP, \ + KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_PSCR,KC_SLCK, KC_PAUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ + KC_TRNS, KC_TRNS, MO(_RS),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_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(_FL), KC_HOME, KC_PGDN, KC_END), + + /* Keymap _RS: Reset layer + * ,--------------------------------------------------------------------------. ,----. + * | | | | | | | | | | | | | | | | | | + * |--------------------------------------------------------------------------| |----| + * | | | | |RESET| | | | | | | | | | | | + * |--------------------------------------------------------------------------| `----' + * | | | _RS| | | | | | | | | | | | + * |-----------------------------------------------------------------------------. + * | | | | | | | | | | | | | | | | + * |------------------------------------------------------------------------|----|----. + * | | | | | | | | | | _FL| | | | + * `----------------------------------------------------------------------------------' + */ +[_RS] = KEYMAP( + #ifdef RGBLIGHT_ENABLE + 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_TRNS, F(1), F(7), \ + KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,RESET, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, F(8), \ + KC_TRNS, KC_TRNS, MO(_RS),KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ + MO(_FL), KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(_FL), F(5), \ + KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, F(2), F(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, F(4), F(6), F(3)), + #else + 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_TRNS, KC_TRNS, KC_TRNS, \ + KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,RESET, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ + KC_TRNS, KC_TRNS, MO(_RS),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_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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(_FL), KC_TRNS, KC_TRNS, KC_TRNS), + #endif +}; + +enum function_id { + SHIFT_ESC, + #ifdef RGBLIGHT_ENABLE + RGBLED_TOGGLE, + RGBLED_STEP_MODE, + RGBLED_INCREASE_HUE, + RGBLED_DECREASE_HUE, + RGBLED_INCREASE_SAT, + RGBLED_DECREASE_SAT, + RGBLED_INCREASE_VAL, + RGBLED_DECREASE_VAL + #endif +}; + +const uint16_t PROGMEM fn_actions[] = { + [0] = ACTION_FUNCTION(SHIFT_ESC), + #ifdef RGBLIGHT_ENABLE + [1] = ACTION_FUNCTION(RGBLED_TOGGLE), + [2] = ACTION_FUNCTION(RGBLED_STEP_MODE), + [3] = ACTION_FUNCTION(RGBLED_INCREASE_HUE), + [4] = ACTION_FUNCTION(RGBLED_DECREASE_HUE), + [5] = ACTION_FUNCTION(RGBLED_INCREASE_SAT), + [6] = ACTION_FUNCTION(RGBLED_DECREASE_SAT), + [7] = ACTION_FUNCTION(RGBLED_INCREASE_VAL), + [8] = ACTION_FUNCTION(RGBLED_DECREASE_VAL), + #endif +}; + +void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { + static uint8_t shift_esc_shift_mask; + switch (id) { + case SHIFT_ESC: + shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK; + if (record->event.pressed) { + if (shift_esc_shift_mask) { + add_key(KC_GRV); + send_keyboard_report(); + } else { + add_key(KC_ESC); + send_keyboard_report(); + } + } else { + if (shift_esc_shift_mask) { + del_key(KC_GRV); + send_keyboard_report(); + } else { + del_key(KC_ESC); + send_keyboard_report(); + } + } + break; + //led operations + #ifdef RGBLIGHT_ENABLE + case RGBLED_TOGGLE: + if (record->event.pressed) { + rgblight_toggle(); + } + break; + case RGBLED_INCREASE_HUE: + if (record->event.pressed) { + rgblight_increase_hue(); + } + break; + case RGBLED_DECREASE_HUE: + if (record->event.pressed) { + rgblight_decrease_hue(); + } + break; + case RGBLED_INCREASE_SAT: + if (record->event.pressed) { + rgblight_increase_sat(); + } + break; + case RGBLED_DECREASE_SAT: + if (record->event.pressed) { + rgblight_decrease_sat(); + } + break; + case RGBLED_INCREASE_VAL: + if (record->event.pressed) { + rgblight_increase_val(); + } + break; + case RGBLED_DECREASE_VAL: + if (record->event.pressed) { + rgblight_decrease_val(); + } + break; + case RGBLED_STEP_MODE: + if (record->event.pressed) { + rgblight_step(); + } + break; + #endif + } +} diff --git a/keyboard/clueboard2/keymaps/keymap_default.c b/keyboard/clueboard2/keymaps/keymap_default.c deleted file mode 100644 index 73179f94cd..0000000000 --- a/keyboard/clueboard2/keymaps/keymap_default.c +++ /dev/null @@ -1,183 +0,0 @@ -#include "clueboard2.h" - -#ifdef RGBLIGHT_ENABLE -#include "rgblight.h" -#endif - -// Used for SHIFT_ESC -#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)) - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -#define _BL 0 -#define _FL 1 -#define _RS 2 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Keymap _BL: (Base Layer) Default Layer - * ,--------------------------------------------------------------------------. ,----. - * |Esc~| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| \| BS| |PGUP| - * |--------------------------------------------------------------------------| |----| - * | Tab| Q| W| E| R| T| Y| U| I| O| P| [| ]| \| |PGDN| - * |--------------------------------------------------------------------------| `----' - * |Capslck| A| S| D| F| G| H| J| K| L| ;| '| # | Ent| - * |-----------------------------------------------------------------------------. - * |Shift| BS| Z| X| C| V| B| N| M| ,| .| /| BS|Shift| UP| - * |------------------------------------------------------------------------|----|----. - * | Ctrl| Gui| Alt| MHen| Space| Space| Hen| Alt| Ctrl| _FL|LEFT|DOWN|RGHT| - * `----------------------------------------------------------------------------------' - */ -[_BL] = KEYMAP( - F(0), 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_GRV, KC_BSPC, KC_PGUP, \ - 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_PGDN, \ - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, \ - KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSFT, KC_UP, \ - KC_LCTL, KC_LGUI, KC_LALT, KC_MHEN, KC_SPC,KC_SPC, KC_HENK, KC_RALT, KC_RCTL, MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT), - - /* Keymap _FL: Function Layer - * ,--------------------------------------------------------------------------. ,----. - * | `| F1| F2| F3| F4| F5| F6| F7| F8| F9| F10| F11| F12| | Del| |BLIN| - * |--------------------------------------------------------------------------| |----| - * | | | | | | | | |PScr|SLck|Paus| | | | |BLDE| - * |--------------------------------------------------------------------------| `----' - * | | | _RS| | | | | | | | | | | | - * |-----------------------------------------------------------------------------. - * | | | | | | | | | | | | | | |PGUP| - * |------------------------------------------------------------------------|----|----. - * | | | | | | | | | | _FL|HOME|PGDN| END| - * `----------------------------------------------------------------------------------' - */ -[_FL] = KEYMAP( - 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_TRNS, KC_DEL, BL_STEP, \ - KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_PSCR,KC_SLCK, KC_PAUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ - KC_TRNS, KC_TRNS, MO(_RS),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_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, \ - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(_FL), KC_HOME, KC_PGDN, KC_END), - - /* Keymap _RS: Reset layer - * ,--------------------------------------------------------------------------. ,----. - * | | | | | | | | | | | | | | | | | | - * |--------------------------------------------------------------------------| |----| - * | | | | |RESET| | | | | | | | | | | | - * |--------------------------------------------------------------------------| `----' - * | | | _RS| | | | | | | | | | | | - * |-----------------------------------------------------------------------------. - * | | | | | | | | | | | | | | | | - * |------------------------------------------------------------------------|----|----. - * | | | | | | | | | | _FL| | | | - * `----------------------------------------------------------------------------------' - */ -[_RS] = KEYMAP( - #ifdef RGBLIGHT_ENABLE - 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_TRNS, F(1), F(7), \ - KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,RESET, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, F(8), \ - KC_TRNS, KC_TRNS, MO(_RS),KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ - MO(_FL), KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(_FL), F(5), \ - KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, F(2), F(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, F(4), F(6), F(3)), - #else - 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_TRNS, KC_TRNS, KC_TRNS, \ - KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,RESET, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ - KC_TRNS, KC_TRNS, MO(_RS),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_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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(_FL), KC_TRNS, KC_TRNS, KC_TRNS), - #endif -}; - -enum function_id { - SHIFT_ESC, - #ifdef RGBLIGHT_ENABLE - RGBLED_TOGGLE, - RGBLED_STEP_MODE, - RGBLED_INCREASE_HUE, - RGBLED_DECREASE_HUE, - RGBLED_INCREASE_SAT, - RGBLED_DECREASE_SAT, - RGBLED_INCREASE_VAL, - RGBLED_DECREASE_VAL - #endif -}; - -const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_FUNCTION(SHIFT_ESC), - #ifdef RGBLIGHT_ENABLE - [1] = ACTION_FUNCTION(RGBLED_TOGGLE), - [2] = ACTION_FUNCTION(RGBLED_STEP_MODE), - [3] = ACTION_FUNCTION(RGBLED_INCREASE_HUE), - [4] = ACTION_FUNCTION(RGBLED_DECREASE_HUE), - [5] = ACTION_FUNCTION(RGBLED_INCREASE_SAT), - [6] = ACTION_FUNCTION(RGBLED_DECREASE_SAT), - [7] = ACTION_FUNCTION(RGBLED_INCREASE_VAL), - [8] = ACTION_FUNCTION(RGBLED_DECREASE_VAL), - #endif -}; - -void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { - static uint8_t shift_esc_shift_mask; - switch (id) { - case SHIFT_ESC: - shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK; - if (record->event.pressed) { - if (shift_esc_shift_mask) { - add_key(KC_GRV); - send_keyboard_report(); - } else { - add_key(KC_ESC); - send_keyboard_report(); - } - } else { - if (shift_esc_shift_mask) { - del_key(KC_GRV); - send_keyboard_report(); - } else { - del_key(KC_ESC); - send_keyboard_report(); - } - } - break; - //led operations - #ifdef RGBLIGHT_ENABLE - case RGBLED_TOGGLE: - if (record->event.pressed) { - rgblight_toggle(); - } - break; - case RGBLED_INCREASE_HUE: - if (record->event.pressed) { - rgblight_increase_hue(); - } - break; - case RGBLED_DECREASE_HUE: - if (record->event.pressed) { - rgblight_decrease_hue(); - } - break; - case RGBLED_INCREASE_SAT: - if (record->event.pressed) { - rgblight_increase_sat(); - } - break; - case RGBLED_DECREASE_SAT: - if (record->event.pressed) { - rgblight_decrease_sat(); - } - break; - case RGBLED_INCREASE_VAL: - if (record->event.pressed) { - rgblight_increase_val(); - } - break; - case RGBLED_DECREASE_VAL: - if (record->event.pressed) { - rgblight_decrease_val(); - } - break; - case RGBLED_STEP_MODE: - if (record->event.pressed) { - rgblight_step(); - } - break; - #endif - } -} diff --git a/keyboard/clueboard2/keymaps/keymap_max.c b/keyboard/clueboard2/keymaps/keymap_max.c deleted file mode 100644 index 714d6390d9..0000000000 --- a/keyboard/clueboard2/keymaps/keymap_max.c +++ /dev/null @@ -1,147 +0,0 @@ -#include "clueboard2.h" - -#ifdef ENABLE_RGBLIGHT -#include "rgblight.h" -#endif - -// Used for SHIFT_ESC -#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)) - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -#define _BL 0 -#define _FL 1 -#define _RS 2 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Keymap _BL: (Base Layer) Default Layer - * ,--------------------------------------------------------------------------. ,----. - * | Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| ~| BS| |PgUp| - * |--------------------------------------------------------------------------| |----| - * | Tab| Q| W| E| R| T| Y| U| I| O| P| [| ]| \| |PgDn| - * |--------------------------------------------------------------------------| `----' - * |Capslck| A| S| D| F| G| H| J| K| L| ;| '| # | Ent| - * |-----------------------------------------------------------------------------. - * |Shift| BS| Z| X| C| V| B| N| M| ,| .| /| BS|Shift| Up| - * |------------------------------------------------------------------------|----|----. - * | Ctrl| Alt| Gui| MHen| Space| Space| Hen| Gui| Alt| Ctrl|Left|Down|Rght| - * `----------------------------------------------------------------------------------' - */ -[_BL] = KEYMAP( - KC_ESC, 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_GRV, KC_BSPC, KC_PGUP, \ - 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_PGDN, \ - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, \ - MO(_FL), KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FL), KC_UP, \ - KC_LCTL, KC_LALT, KC_LGUI,KC_MHEN, KC_SPC, KC_SPC, KC_HENK, KC_RGUI, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - - /* Keymap _FL: Function Layer - * ,--------------------------------------------------------------------------. ,----. - * | `| F1| F2| F3| F4| F5| F6| F7| F8| F9| F10| F11| F12| | Del| |BLIN| - * |--------------------------------------------------------------------------| |----| - * | | | | | | | | |PScr|SLck|Paus| | | | |BLDE| - * |--------------------------------------------------------------------------| `----' - * | | | _RS| | | | | | | | | | | | - * |-----------------------------------------------------------------------------. - * | | | | | | | | | | | | | | |PGUP| - * |------------------------------------------------------------------------|----|----. - * | | | | | | | | | | _FL|HOME|PGDN| END| - * `----------------------------------------------------------------------------------' - */ -[_FL] = KEYMAP( - 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_TRNS, KC_DEL, BL_STEP, \ - KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_SLCK, KC_PAUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ - KC_TRNS, KC_TRNS, MO(_RS),KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ - MO(_FL), KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(_FL), KC_PGUP, \ - KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END), - - /* Keymap _RS: Reset/Underlight layer - * ,--------------------------------------------------------------------------. ,----. - * | | | | | | | | | | | | | | | | | | - * |--------------------------------------------------------------------------| |----| - * | | | | |RESET| | | | | | | | | | | | - * |--------------------------------------------------------------------------| `----' - * | | | _RS| | | | | | | | | | | | - * |-----------------------------------------------------------------------------. - * | | | | | | | | | | | | | | | | - * |------------------------------------------------------------------------|----|----. - * | | | | | | | | | | _FL| | | | - * `----------------------------------------------------------------------------------' - */ -[_RS] = KEYMAP( - 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_TRNS, F(0), F(6), \ - KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,RESET, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, F(7), \ - KC_TRNS, KC_TRNS, MO(_RS),KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ - MO(_FL), KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(_FL), F(4), \ - KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, F(1), F(1), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, F(3), F(5), F(2)), -}; - -enum function_id { - RGBLED_TOGGLE, - RGBLED_STEP_MODE, - RGBLED_INCREASE_HUE, - RGBLED_DECREASE_HUE, - RGBLED_INCREASE_SAT, - RGBLED_DECREASE_SAT, - RGBLED_INCREASE_VAL, - RGBLED_DECREASE_VAL, -}; - -const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_FUNCTION(RGBLED_TOGGLE), - [1] = ACTION_FUNCTION(RGBLED_STEP_MODE), - [2] = ACTION_FUNCTION(RGBLED_INCREASE_HUE), - [3] = ACTION_FUNCTION(RGBLED_DECREASE_HUE), - [4] = ACTION_FUNCTION(RGBLED_INCREASE_SAT), - [5] = ACTION_FUNCTION(RGBLED_DECREASE_SAT), - [6] = ACTION_FUNCTION(RGBLED_INCREASE_VAL), - [7] = ACTION_FUNCTION(RGBLED_DECREASE_VAL), -}; - -void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { - switch (id) { - case RGBLED_TOGGLE: - //led operations - if (record->event.pressed) { - rgblight_toggle(); - } - - break; - case RGBLED_INCREASE_HUE: - if (record->event.pressed) { - rgblight_increase_hue(); - } - break; - case RGBLED_DECREASE_HUE: - if (record->event.pressed) { - rgblight_decrease_hue(); - } - break; - case RGBLED_INCREASE_SAT: - if (record->event.pressed) { - rgblight_increase_sat(); - } - break; - case RGBLED_DECREASE_SAT: - if (record->event.pressed) { - rgblight_decrease_sat(); - } - break; - case RGBLED_INCREASE_VAL: - if (record->event.pressed) { - rgblight_increase_val(); - } - break; - case RGBLED_DECREASE_VAL: - if (record->event.pressed) { - rgblight_decrease_val(); - } - break; - case RGBLED_STEP_MODE: - if (record->event.pressed) { - rgblight_step(); - } - break; - } -} diff --git a/keyboard/clueboard2/keymaps/keymap_skully.c b/keyboard/clueboard2/keymaps/keymap_skully.c deleted file mode 100644 index 74a03f2f30..0000000000 --- a/keyboard/clueboard2/keymaps/keymap_skully.c +++ /dev/null @@ -1,108 +0,0 @@ -#include "clueboard2.h" - -// Used for SHIFT_ESC -#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)) - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -#define _BL 0 -#define _FL 1 -#define _RS 2 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Keymap _BL: (Base Layer) Default Layer - * ,--------------------------------------------------------------------------. ,----. - * |Esc~| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| \| BS| |PGUP| - * |--------------------------------------------------------------------------| |----| - * | Tab| Q| W| E| R| T| Y| U| I| O| P| [| ]| \| |PGDN| - * |--------------------------------------------------------------------------| `----' - * |Capslck| A| S| D| F| G| H| J| K| L| ;| '| # | Ent| - * |-----------------------------------------------------------------------------. - * |Shift| BS| Z| X| C| V| B| N| M| ,| .| /| BS|Shift| UP| - * |------------------------------------------------------------------------|----|----. - * | Ctrl| Gui| Alt| MHen| Space| Space| Hen| Alt| Ctrl| _FL|LEFT|DOWN|RGHT| - * `----------------------------------------------------------------------------------' - */ -[_BL] = KEYMAP( - F(0), 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_GRV, KC_BSPC, KC_PGUP, \ - 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_PGDN, \ - KC_LCTL,KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, \ - KC_LSFT,KC_NUBS,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSFT, KC_UP, \ - KC_LCTL,KC_LALT,KC_LGUI,MO(_FL), KC_SPC, KC_SPC, MO(_FL), KC_RGUI, KC_RCTL, MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT), - - /* Keymap _FL: Function Layer - * ,--------------------------------------------------------------------------. ,----. - * | `| F1| F2| F3| F4| F5| F6| F7| F8| F9| F10| F11| F12| | Del| |BLIN| - * |--------------------------------------------------------------------------| |----| - * | | | | | | | | |PScr|SLck|Paus| | | | |BLDE| - * |--------------------------------------------------------------------------| `----' - * | | | _RS| | | | | | | | | | | | - * |-----------------------------------------------------------------------------. - * | | | | | | | | | | | | | | |PGUP| - * |------------------------------------------------------------------------|----|----. - * | | | | | | | | | | _FL|HOME|PGDN| END| - * `----------------------------------------------------------------------------------' - */ -[_FL] = KEYMAP( - 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_TRNS,KC_DEL, BL_STEP, \ - KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_PSCR,KC_SLCK,KC_PAUS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, \ - KC_TRNS,KC_TRNS,MO(_RS),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_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_PGUP, \ - KC_TRNS,KC_TRNS,KC_TRNS,MO(_FL), KC_TRNS,KC_TRNS, MO(_FL),KC_TRNS,KC_TRNS,MO(_FL),KC_HOME,KC_PGDN,KC_END), - - /* Keymap _RS: Reset layer - * ,--------------------------------------------------------------------------. ,----. - * | | | | | | | | | | | | | | | | | | - * |--------------------------------------------------------------------------| |----| - * | | | | |RESET| | | | | | | | | | | | - * |--------------------------------------------------------------------------| `----' - * | | | _RS| | | | | | | | | | | | - * |-----------------------------------------------------------------------------. - * | | | | | | | | | | | | | | | | - * |------------------------------------------------------------------------|----|----. - * | | | | | | | | | | _FL| | | | - * `----------------------------------------------------------------------------------' - */ -[_RS] = KEYMAP( - 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_TRNS,KC_TRNS, KC_TRNS, \ - KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,RESET, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, \ - KC_TRNS,KC_TRNS,MO(_RS),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_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_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,MO(_FL),KC_TRNS, KC_TRNS, KC_TRNS), -}; - -enum function_id { - SHIFT_ESC, -}; - -const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_FUNCTION(SHIFT_ESC), -}; - -void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { - static uint8_t shift_esc_shift_mask; - switch (id) { - case SHIFT_ESC: - shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK; - if (record->event.pressed) { - if (shift_esc_shift_mask) { - add_key(KC_GRV); - send_keyboard_report(); - } else { - add_key(KC_ESC); - send_keyboard_report(); - } - } else { - if (shift_esc_shift_mask) { - del_key(KC_GRV); - send_keyboard_report(); - } else { - del_key(KC_ESC); - send_keyboard_report(); - } - } - break; - } -} diff --git a/keyboard/clueboard2/keymaps/max/Makefile b/keyboard/clueboard2/keymaps/max/Makefile new file mode 100644 index 0000000000..950dadf841 --- /dev/null +++ b/keyboard/clueboard2/keymaps/max/Makefile @@ -0,0 +1,49 @@ +#---------------------------------------------------------------------------- +# On command line: +# +# make all = Make software. +# +# make clean = Clean out built project files. +# +# make coff = Convert ELF to AVR COFF. +# +# make extcoff = Convert ELF to AVR Extended COFF. +# +# make program = Download the hex file to the device. +# Please customize your programmer settings(PROGRAM_CMD) +# +# make teensy = Download the hex file to the device, using teensy_loader_cli. +# (must have teensy_loader_cli installed). +# +# make dfu = Download the hex file to the device, using dfu-programmer (must +# have dfu-programmer installed). +# +# make flip = Download the hex file to the device, using Atmel FLIP (must +# have Atmel FLIP installed). +# +# make dfu-ee = Download the eeprom file to the device, using dfu-programmer +# (must have dfu-programmer installed). +# +# make flip-ee = Download the eeprom file to the device, using Atmel FLIP +# (must have Atmel FLIP installed). +# +# make debug = Start either simulavr or avarice as specified for debugging, +# with avr-gdb or avr-insight as the front end for debugging. +# +# make filename.s = Just compile filename.c into the assembler code only. +# +# make filename.i = Create a preprocessed source file for use in submitting +# bug reports to the GCC project. +# +# To rebuild project do "make clean" then "make all". +#---------------------------------------------------------------------------- + +# Build Options +# change to "no" to disable the options, or define them in the makefile.mk in +# the appropriate keymap folder that will get included automatically +# +RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. Do not enable this with audio at the same time. + +ifndef QUANTUM_DIR + include ../../../../Makefile +endif \ No newline at end of file diff --git a/keyboard/clueboard2/keymaps/max/compiled.hex b/keyboard/clueboard2/keymaps/max/compiled.hex new file mode 100644 index 0000000000..be12cd2190 --- /dev/null +++ b/keyboard/clueboard2/keymaps/max/compiled.hex @@ -0,0 +1,1536 @@ +:100000000C94EE070C9432080C9432080C943208CD +:100010000C9432080C9432080C9432080C94320878 +:100020000C9432080C9432080C94231A0C94F51A90 +:100030000C94D4280C9432080C9432080C94320896 +:100040000C9432080C9432080C9432080C94320848 +:100050000C9432080C943C290C9432080C9432080D +:100060000C9432080C9432080C9432080C94320828 +:100070000C9432080C9432080C9432080C94320818 +:100080000C94BD140C9432080C9432080C94320871 +:100090000C9432080C9432080C9432080C943208F8 +:1000A0000C9432080C9432080C9432082809440944 +:1000B0002C093009340938093C094009621B841BAA +:1000C000721C841B721CC91BEC1B721C411C541C2F +:1000D000731F731FA21FA21FE11F4C214C214C2133 +:1000E00001204C21B120B120182121214C21462191 +:1000F000BE20BE20BE20BE20BE20BE20BE20BE2010 +:10010000BE20BE20BE20BE20BE20BE20BE20BE20FF +:10011000CE20DC20E320EA20F420696E69745F625F +:1001200061636B6C696768745F70696E28290A0087 +:1001300000F001F002F003F004F005F006F007F023 +:1001400029001E001F00200021002200230024009F +:100150002B0014001A000800150017001C001800DE +:10016000390004001600070009000A000B000D000A +:100170000152E1001D001B000600190005001100DE +:10018000E000E200E3008B0000002C002C000000E7 +:100190002500260027002D002E0035002A004B00E8 +:1001A0000C00120013002F003000310000004E0040 +:1001B0000E000F0033003400320028000000000061 +:1001C0001000360037003800E500015252000000F0 +:1001D0008A000000E700E600E400500051004F00F4 +:1001E00035003A003B003C003D003E003F0040002F +:1001F00001000100010001000100010001000100F7 +:100200000100010002520100010001000100010093 +:100210000152010001000100010001000100010084 +:1002200001000100010001000000010001000000C8 +:100230004100420043004400450001004C0083504F +:10024000010047004800010001000100000001001A +:100250000100010001000100010001000000000098 +:100260000100010001000100010001524B000000EB +:10027000010000000100010001004A004E004D0095 +:100280000100010001000100010001000100010066 +:100290000100010001000100005001000100010007 +:1002A00001000100025201000100010001000100F3 +:1002B00001520100010001000100010001000100E4 +:1002C00001000100010001000000012001200000E8 +:1002D00001000100010001000100010000200620D2 +:1002E00001000100010001000100010000000720E1 +:1002F00001000100010001000100010000000000F8 +:100300000100010001000100010001520420000071 +:10031000010000000100010001000320052002206F +:100320000A44454255473A20656E61626C65642E09 +:100330000A005374617465206F6620726F77202500 +:10034000583A2025303136620A0048756D616E2DAD +:100350007265616461626C65206D61747269782098 +:1003600073746174653A0D0A004465626F756E635B +:10037000696E672064656C61792072656D61696E74 +:10038000696E673A2025580A0054494D455233207A +:1003900064697361626C65642E0A0054494D45526C +:1003A0003320656E61626C65642E0A007267626C50 +:1003B000696768742073657420687376205B4545AF +:1003C00050524F4D5D3A2025752C25752C25750A08 +:1003D000007267626C6967687420746F67676C6528 +:1003E0003A207267626C696768745F636F6E6669F2 +:1003F000672E656E61626C65203D2025750A00726E +:1004000067626C69676874206D6F64653A20257552 +:100410000A007267626C696768745F696E6974204C +:100420007267626C696768745F636F6E6669672E76 +:100430006D6F6465203D20302E20577269746520F1 +:1004400064656661756C742076616C756573207483 +:100450006F20454550524F4D2E0A007267626C69FD +:100460006768745F696E6974206565636F6E66693D +:1004700067206973206E6F7420656E61626C6564BD +:100480002E0A007267626C696768745F696E6974CE +:10049000207374617274210A007267626C69676804 +:1004A000745F696E69742063616C6C65642E0A0008 +:1004B0007267626C696768745F636F6E6669672EE6 +:1004C00076616C203D2025640A007267626C696762 +:1004D00068745F636F6E6669672E736174203D2078 +:1004E00025640A007267626C696768745F636F6E87 +:1004F0006669672E687565203D2025640A0072676D +:10050000686C696768745F636F6E6669672E6D6F8C +:100510006465203D2025640A007267626C69676823 +:10052000745F636F6E6669672E656E61626C6520CD +:100530003D2025640A007267626C696768745F63B6 +:100540006F6E666967206570726F6D0A006565631E +:100550006F6E6669675F7570646174655F7267620C +:100560006C696768745F64656661756C740A0064C1 +:100570003214643214783C1E1E140A050000000078 +:100580000101010202030405050607090A0B0C0E0E +:100590000F1112141517191B1D1F212325282A2C92 +:1005A0002F313436393B3E414346494C4F52555822 +:1005B0005A5D6164676A6D707376797C7F83868922 +:1005C0008C8F9295989B9EA2A5A7AAADB0B3B6B901 +:1005D000BCBEC1C4C6C9CBCED0D3D5D7DADCDEE031 +:1005E000E2E4E6E8EAEBEDEEF0F1F3F4F5F6F8F923 +:1005F000FAFAFBFCFDFDFEFEFEFFFFFFFFFFFFFF23 +:10060000FEFEFEFDFDFCFBFAFAF9F8F6F5F4F3F157 +:10061000F0EEEDEBEAE8E6E4E2E0DEDCDAD7D5D3B3 +:10062000D0CECBC9C6C4C1BEBCB9B6B3B0ADAAA703 +:10063000A5A29E9B9895928F8C898683807C7976E3 +:1006400073706D6A6764615D5A5855524F4C4946E4 +:1006500043413E3B393634312F2C2A282523211F94 +:100660001D1B1917151412110F0E0C0B0A09070682 +:10067000050504030202010101000000000101025E +:10068000020202020203030303030303030303033F +:10069000030303040404040404040404040404051C +:1006A00005050505050505050506060606060606F3 +:1006B00006070707070707070808080808080909C1 +:1006C000090909090A0A0A0A0A0B0B0B0B0B0C0C85 +:1006D0000C0C0C0D0D0D0D0E0E0E0E0F0F0F10103D +:1006E00010101111111212121313131414141515E2 +:1006F000161616171718181919191A1A1B1B1C1C6D +:100700001D1D1E1E1F2020212122232324242526D7 +:1007100026272828292A2B2B2C2D2E2F303031321A +:10072000333435363738393A3B3C3D3E3F40414221 +:1007300044454647494A4B4C4E4F515253555658E3 +:100740005A5B5D5E6062636567696B6D6E70727443 +:1007500076797B7D7F818486888B8D909295979A20 +:100760009D9FA2A5A8ABAEB1B4B7BABEC1C4C8CB59 +:10077000CFD3D6DADEE2E6EAEEF2F8FF5B735D0095 +:100780004B6579626F6172642073746172742E0AB2 +:10079000005B575D005B535D005B525D005B445D39 +:1007A000005B435D00420343006C0075006500621E +:1007B000006F00610072006400200077006900741F +:1007C0000068002000520047004200200055006EE3 +:1007D000006400650072006C0069006700680074C6 +:1007E0000069006E0067000000140343006C007590 +:1007F00000650062006F0061007200640000000488 +:1008000003090409027400040100A0FA09040000AD +:100810000103010100092111010001223F00070528 +:10082000810308000A0904010001030000000921F6 +:10083000110100012236000705820308000A09049D +:100840000200020300000009211101000122200022 +:1008500007058303200001070503032000010904A5 +:1008600003000103000000092111010001223900E9 +:10087000070584031000011201100100000008EDBB +:10088000C1202301000102000105010906A10105A3 +:100890000719E029E7150025019508750181020572 +:1008A00008190129059505750191029501750391B6 +:1008B0000105071900297715002501957875018133 +:1008C00002C00631FF0974A1010975150025FF95C5 +:1008D00020750881020976150025FF95207508917D +:1008E00002C005010980A101850216010026B7009A +:1008F0001A01002AB700751095018100C0050C0986 +:1009000001A1018503160100269C021A01002A9C00 +:1009100002751095018100C005010906A1010507B6 +:1009200019E029E715002501950875018102950157 +:1009300075088101050819012905950575019102C0 +:100940009501750391010507190029FF150025FF81 +:10095000950675088100C00A002530325820006BCA +:100960006579626F6172645F7265706F72743A204C +:10097000004B6579626F617264204C45447320734B +:10098000746174653A2025780A0064656C5F6B6554 +:10099000795F6269743A2063616E27742064656CC4 +:1009A0003A20253032580A006164645F6B65795FD4 +:1009B0006269743A2063616E2774206164643A202E +:1009C000253032580A00646F6E652E0A00626F6F20 +:1009D000676D61676963207363616E3A202E2E2E06 +:1009E00020003F00433E20004C25640A0074696DDE +:1009F00065725F636F756E743A202530346C580AE7 +:100A0000006B6579626F6172645F6E6B726F3A2022 +:100A100025580A006B6579626F6172645F69646C66 +:100A2000653A2025580A006B6579626F6172645FD0 +:100A300070726F746F636F6C3A2025580A00686F8C +:100A400073745F6B6579626F6172645F6C65647308 +:100A500028293A2025580A000A092D205374617468 +:100A60007573202D0A004743433A20342E392E3225 +:100A7000204156522D4C4942433A20312E382E31D6 +:100A8000204156525F415243483A20617672350AFE +:100A9000004F5054494F4E533A204C554641204246 +:100AA0004F4F544D414749432045585452414B45BF +:100AB0005920434F4E534F4C4520434F4D4D414ECF +:100AC00044204E4B524F20343039360A00425549AB +:100AD0004C443A20313637313865662D646972747A +:100AE00079202832333A31303A3233204A756E2039 +:100AF00020392032303136290A005649443A203014 +:100B0000784331454428436C7565626F617264298E +:100B1000205049443A2030783233323028436C75C3 +:100B200065626F6172642077697468205247422061 +:100B3000556E6465726C69676874696E67292056C2 +:100B400045523A203078303030310A004445534322 +:100B50003A20514D4B206B6579626F61726420665B +:100B600069726D7761726520666F7220436C75657E +:100B7000626F6172640A000A092D205665727369FA +:100B80006F6E202D0A000A092D20436F6E736F6C63 +:100B900065202D0A4553432F713A09717569740A0E +:100BA000000A092D204D61676963202D0A443A0926 +:100BB0004465627567204D65737361676520546F86 +:100BC00067676C650A583A094D6174726978204408 +:100BD00065627567204D6F646520546F67676C654B +:100BE000202D2053686F77206B6579707265737361 +:100BF000657320696E206D6174726978206772690F +:100C0000640A4B3A094B6579626F617264204465EE +:100C100062756720546F67676C65202D2053686F7D +:100C200077206B65797072657373207265706F726F +:100C3000740A4D3A094465627567204D6F75736596 +:100C400020546F67676C650A563A09566572736976 +:100C50006F6E0A533A095374617475730A433A0903 +:100C6000416374697661746520436F6E736F6C6560 +:100C7000204D6F64650A46312D4631303A0953776D +:100C80006974636820746F204C6179657220302D1F +:100C9000392028463130203D204C30290A302D396A +:100CA0003A0953776974636820746F204C617965E1 +:100CB0007220302D390A4553433A095377697463DA +:100CC0006820746F204C6179657220302028616C37 +:100CD0007465726E617465206B65792031290A47ED +:100CE000524156453A0953776974636820746F20FE +:100CF0004C6179657220302028616C7465726E6178 +:100D00007465206B65792032290A50415553453A64 +:100D1000094A756D7020746F20426F6F746C6F613B +:100D200064657220285265736574290A453A095032 +:100D300072696E7420454550524F4D20536574744E +:100D4000696E67730A4E3A094E4B524F20546F67D3 +:100D5000676C650A000A002575002E6C6576656C67 +:100D60003A20000A002575002E656E61626C653AB6 +:100D700020000A0025303258006261636B6C69679D +:100D800068745F636F6E6669672E7261773A2000E0 +:100D90000A002575002E6E6B726F3A20000A00253E +:100DA00075002E737761705F6261636B736C617342 +:100DB000685F6261636B73706163653A20000A006B +:100DC0002575002E737761705F67726176655F6568 +:100DD00073633A20000A002575002E6E6F5F6775F9 +:100DE000693A20000A002575002E737761705F72E2 +:100DF000616C745F726775693A20000A002575009E +:100E00002E737761705F6C616C745F6C6775693AA3 +:100E100020000A002575002E636170736C6F636B90 +:100E20005F746F5F636F6E74726F6C3A20000A00BC +:100E30002575002E737761705F636F6E74726F6CCF +:100E40005F636170736C6F636B3A20000A0025303A +:100E50003258006B65796D61705F636F6E666967AC +:100E60002E7261773A20000A002575002E6D6F758D +:100E700073653A20000A002575002E6B6579626F54 +:100E80006172643A20000A002575002E6D6174724B +:100E900069783A20000A002575002E656E61626C43 +:100EA000653A20000A002530325800646562756793 +:100EB0005F636F6E6669672E7261773A20000A0081 +:100EC00025750064656661756C745F6C6179657227 +:100ED0003A20003F004E4B524F3A206F66660A00A0 +:100EE0004E4B524F3A206F6E0A000A6D6F75736554 +:100EF0003A206F66660A000A6D6F7573653A206F57 +:100F00006E0A000A6B6579626F6172643A206F66DF +:100F1000660A000A6B6579626F6172643A206F6ECF +:100F20000A000A6D61747269783A206F66660A0079 +:100F30000A6D61747269783A206F6E0A000A6465FE +:100F40006275673A206F66660A000A6465627567B3 +:100F50003A206F6E0A000A0A4A756D70696E672042 +:100F6000746F20626F6F746C6F616465722E2E2EC9 +:100F70002000433E20006565636F6E6669673A0A2C +:100F8000006261636B6C6967687420737465703AA2 +:100F90002025750A006261636B6C69676874207450 +:100FA0006F67676C653A2025750A006261636B6C38 +:100FB000696768742064656372656173653A2025AA +:100FC000750A006261636B6C6967687420696E639F +:100FD00072656173653A2025750A000011241FBEF1 +:100FE000CFEFDAE0DEBFCDBF04B603FE24C08091B0 +:100FF0002E0290912F02A0913002B09131028730E1 +:10100000904BA740B04BB9F410922E0210922F02D1 +:10101000109230021092310214BE84B7877F84BFD1 +:1010200088E10FB6F89480936000109260000FBEC4 +:10103000E0E0F8E3099511E0A0E0B1E0E6EAFFE5C1 +:1010400002C005900D92A633B107D9F712E0A6E3CE +:10105000B1E001C01D92AE32B107E1F70E945D1709 +:101060000C94D12F0C940000FF93EF93E091360184 +:10107000F0913701309709F00995EF91FF910895AC +:10108000FC018591803011F0EFDFFBCF0895FF2741 +:10109000E0E230E247FF0CC0419597FF09C0EDE266 +:1010A0006095709580959095611D711D811D911DB4 +:1010B00027FF02C0219530E350E2AA27660F771F71 +:1010C000881F991FAA1FA41710F0A41B63955A9597 +:1010D000A9F7AA3008F0A95FA05DAF93F395611559 +:1010E00071058105910541F7ED3211F4EF93F39508 +:1010F000F21718F43F93F395FBCF8F91B5DFFA9574 +:10110000E1F70895E991F9918591803021F08532D8 +:1011100019F0AADFF9CF089520E0E89455915532EF +:10112000C1F3503311F4689455915A3348F4505335 +:1011300090F3220F022E220F220F200D250FF4CF45 +:101140000EF4219589919991533619F3533729F16A +:10115000533559F1BC0188279927E8945C3621F46E +:101160008991999168945591543639F446EF7EF0FF +:1011700077FF0DC08FEF9FEF0AC055374AE039F077 +:10118000583540E121F0523642E009F00895FF93CE +:10119000EF937DDFEF91FF91B7CFFF93EF93FC01CA +:1011A00081918030B9F360DFFBCFFF93EF9368DF6D +:1011B000F1CFDF93CF93CDB7DEB72596A3DFCF91E5 +:1011C000DF9108958AE191E00E944008569A279A9B +:1011D000549A5E982F985C980895811104C05E9A85 +:1011E0002F9A5C9A08955E982F985C980895249A97 +:1011F000089581FF02C02C9A08952C9808950895AF +:1012000008958FEF98E0892B11F00E94FF080E944B +:10121000F7080E94E2080E94F41185B7806885BF34 +:1012200085B7806885BF089580E099E0892B11F02B +:101230000C9400090895462F50E04830510538F5C8 +:10124000FA01EA5AFF4FDC0112968C910C94832F1D +:101250008823E9F00C945F128823C9F00C94CB101A +:101260008823A9F00C94E310882389F00C940211D0 +:10127000882369F00C941D11882349F00C943711D0 +:10128000882329F00C94521181110C945512089561 +:1012900081E0089581E008950C944A0908950F9320 +:1012A0001F93CF93DF938C01FC01C081D181CE01CC +:1012B0000E94AC26BE010E94FE09EC01B8010E940A +:1012C0004C09882309F48DC0F8018281882309F430 +:1012D0004AC08091430181111FC0C431F0E5DF078E +:1012E00009F051C00E944E0981E0809343010E94A1 +:1012F0000629909342018093410110923A01109285 +:101300003C0110923B0110923E0110923D0110925F +:10131000400110923F0165C08091410190914201CE +:101320000E941229883C910570F480913A01E82FBF +:10133000F0E0EE0FFF1FE55CFE4FD183C0838F5FAF +:1013400080933A014EC0C43880E5D80721F0C538F3 +:10135000D04501F13AC0F8018281882341F0109212 +:10136000380182E01EC0C438E0E5DE0759F58091FF +:101370003801811106C086E20E94171E86E20E9493 +:10138000DF1E82E01CC0C438F0E5DF0741F3C5383A +:10139000D045D9F4F8018281882331F010923901C7 +:1013A00080E20E942E1F1DC080913901811106C06C +:1013B00087E20E94171E87E20E94DF1E80E20E94E1 +:1013C000351F0FC0C538D04529F381E0809338011F +:1013D00080933901C801DF91CF911F910F910C9437 +:1013E000480980E0DF91CF911F910F9108950C94EF +:1013F00001090C94140980E090E00895E72FF0E0D3 +:101400009AE0899FE00DF11D112483E0EE0FFF1F8C +:101410008A95E1F7E60FF11DEE0FFF1FE05CFE4F2E +:10142000859194910895880F991FFC01E055F04033 +:10143000859194910895880F991FFC01E05DFE4FFE +:101440008591949108950F931F93CF93DF93EC01AF +:10145000811521E39207A0F5C11580E3D80708F0B4 +:10146000D7C0C83ED105D8F4C03ED10508F007C2A8 +:10147000C83AD10578F4C53AD10508F06AC0C13040 +:10148000D10509F463C008F4F7C1C430D10508F0F0 +:10149000F6C1F2C1CB3BD10508F466C0EDC1C11560 +:1014A00090E2D90708F0AFC0C11521E0D20708F0DB +:1014B000E6C1C03FD10508F4DFC18E0110651FC22F +:1014C000C03880E5D80700F5C03790E5D90708F0A7 +:1014D000A3C0C11520E5D20709F4ACC050F4CE0179 +:1014E000905480319F4008F0C7C1DF708E01106AB0 +:1014F00006C2C13080E5D80709F4AAC0C43190E51E +:10150000D90708F4AFC0B8C1C33820E5D20709F441 +:101510008EC050F4C13890E5D90709F482C008F0B4 +:1015200083C000E011EDEBC1C03181E5D80708F4BC +:10153000A3C1C11597E5D90708F436C1CE0190576C +:101540008115904108F098C1DF7093C101E010E06F +:10155000D6C1C53AD10509F494C1C63AD10509F0FE +:1015600093C102E810E4CBC1C83AD10509F48FC198 +:10157000C93AD10509F48EC1CA3AD10509F48DC121 +:10158000CB3AD10509F48CC1CC3AD10509F48BC111 +:10159000CD3AD10509F48AC1C03BD10509F489C10E +:1015A000CE3AD10509F488C1CF3AD10509F487C1F3 +:1015B000C13BD10509F486C1C23BD10509F485C1FF +:1015C000C33BD10509F484C1C43BD10509F483C1EF +:1015D000C53BD10509F482C1C63BD10509F481C1DF +:1015E000C73BD10509F480C1C83BD10509F47FC1CF +:1015F000C93BD10509F47EC1CA3BD10509F47DC1BF +:1016000000E014E47CC1CE019F700E941B0A78C1E7 +:10161000DD278E01106C73C1CF70DD278E01146D34 +:101620006EC100E010ED6BC100E012ED68C100E09A +:1016300013ED65C10E94B3218FEF94E32CE081503C +:1016400090402040E1F700C000000E94612957C18E +:1016500080E293E00E9440088091E60181608093DF +:10166000E6014DC10E94132B811102C00E94F42A91 +:101670000E94302B90E090932D0280932C02C23078 +:1016800080E5D80721F480912C02816086C0C430A7 +:1016900090E5D90721F480912C0282607EC0C6308B +:1016A00020E5D20721F480912C02846076C0C830F6 +:1016B00080E5D80719F480912C0227C0CA3090E544 +:1016C000D90721F480912C02806167C0CC3020E5DD +:1016D000D20721F480912C0280625FC0CE3080E579 +:1016E000D80721F480912C02806457C0C03190E566 +:1016F000D90721F480912C0280684FC0C23120E5C7 +:10170000D20729F480912C028460886046C0C330DF +:1017100080E5D80721F480912C028E7F3EC0C53031 +:1017200090E5D90721F480912C028D7F36C0C73017 +:1017300020E5D20721F480912C028B7F2EC0C93086 +:1017400080E5D80719F480912C0226C0CB3090E5B3 +:10175000D90721F480912C028F7E1FC0CD3020E567 +:10176000D20721F480912C028F7D17C0CF3080E505 +:10177000D80721F480912C028F7B0FC0C13190E5F6 +:10178000D90721F480912C028F7707C0C331D0454F +:1017900031F480912C028B7F877F80932C02809183 +:1017A0002C020E94342BABC08D2F99278F70992764 +:1017B00081309105D9F49E012370332702C0880F30 +:1017C000991F2A95E2F79C688E0144E0000F111FD3 +:1017D0004A95E1F700271370802B912B53E0CC0F33 +:1017E000DD1F5A95E1F7C076DD272FC082309105C5 +:1017F00031F4DC2FCC278E01016F106A80C083305A +:10180000910569F4CE018370992701E010E002C0D0 +:10181000000F111F8A95E2F7C8019C680FC0843041 +:101820009105B9F4CE018370992701E010E002C060 +:10183000000F111F8A95E2F7C8019A6823E0CC0FC8 +:10184000DD1F2A95E1F7C07ED7708C010C2B1D2B74 +:1018500056C08530910531F4DC2FCC278E01046F02 +:10186000106A4DC0069709F04AC0CF71DD27DC2F02 +:10187000CC278E01106243C000E010E040C08E0112 +:101880003EC001E810E43BC003E810E438C002EEBB +:1018900014E435C009EE14E432C00AEE14E42FC09B +:1018A00005EB14E42CC006EB14E429C007EB14E4A8 +:1018B00026C00CEC14E423C00DEC14E420C003E8B3 +:1018C00015E41DC00AE815E41AC002E915E417C0C2 +:1018D00004E915E414C001E216E411C003E216E4C1 +:1018E0000EC004E216E40BC005E216E408C006E2EE +:1018F00016E405C007E216E402C00AE216E4C801D5 +:10190000DF91CF911F910F910895E72FF0E09AE0BA +:10191000899FE00DF11D112483E0EE0FFF1F8A95D2 +:10192000E1F7E60FF11DEE0FFF1FE05CFE4F859122 +:101930009491803E9105E0F4803C910558F5813307 +:10194000910509F46FC048F48932910509F463C028 +:101950008A32910509F46DC072C089339105E9F0AE +:1019600082389105D1F08533910509F44DC067C0E7 +:10197000833E910581F138F4803E9105B9F0823EB5 +:101980009105D9F05CC0863E910561F1873E9105D5 +:10199000A1F155C00E94130A089520912C0220FD48 +:1019A00002C021FF4CC080EE90E049C080912C0223 +:1019B00080FFF9CF89E390E042C080912C0282FF42 +:1019C0000EC080912C0284FF03C080E090E037C0FD +:1019D00083EE90E034C080912C0282FFF2CF82EE41 +:1019E00090E02DC080912C0283FF0BC080912C02CF +:1019F00084FDEBCF87EE90E022C080912C0283FF24 +:101A0000F5CF86EE90E01BC080912C0285FF07C0C9 +:101A100089E290E014C080912C0285FFF9CF85E324 +:101A200090E00DC080912C0286FF07C08AE290E012 +:101A300006C080912C0286FFF9CF81E390E00E94DE +:101A4000230A08950C94F908E82FF0E0E85EFE4FB1 +:101A50008081E82FEF70F0E082958F7021E030E018 +:101A6000A90102C0440F551F8A95E2F740A30895CB +:101A70000F931F93CF93DF9385B7806885BF85B79A +:101A8000806885BFC9E0D0E001E010E0FE01E85EBB +:101A9000FE4F8081E82FEF70F0E021A182958F70DA +:101AA000A80102C0440F551F8A95E2F7CA01822B94 +:101AB00081A38C2F0E94240D219740F787E090E0AE +:101AC00061E070E0FC01E05FFE4F2081E22FEF70EB +:101AD000F0E042A122952F70DB0102C0AA0FBB1FCC +:101AE0002A95E2F79D01242B22A3019758F7DF9155 +:101AF000CF911F910F910C94F709EF92FF920F93E2 +:101B00001F93CF93DF930EE411E0C9E0EE24E3943A +:101B1000F12CD5E08C2F0E94240D87E090E040E06E +:101B2000FC01E05FFE4F5081E52FEF70F0E020A157 +:101B300030E052955F7002C0359527955A95E2F7CF +:101B400020FD07C09701082E01C0220F0A94EAF772 +:101B5000422B019728F7F80182918F01841719F021 +:101B60004083D09300018C2F0E94240DC15090F629 +:101B70008091000187FD32C09091E60190FF10C076 +:101B8000282F332727FD30953F938F9389E693E0E5 +:101B90009F938F930E94D9080F900F900F900F90F2 +:101BA0008091000181508093000187FD07C08FE97B +:101BB0009FE00197F1F700C0000010C080E090E0C6 +:101BC000FC01E25BFE4FDC01AC5BBE4F19962C9131 +:101BD00021870197863FEFEF9E0791F70E94F90951 +:101BE00081E0DF91CF911F910F91FF90EF900895C9 +:101BF000E82FF0E0E25BFE4F808108950F931F9382 +:101C0000CF93DF938091E60180FF04C08AE493E0E4 +:101C10000E944008C0E0D0E002E313E08091E601BA +:101C200080FF15C0FE01E25BFE4F808190E00E94C4 +:101C300070289F938F93DF93CF931F930F930E94EE +:101C4000D9080F900F900F900F900F900F90219642 +:101C5000CA30D10519F7DF91CF911F910F910895E7 +:101C60000F931F93CF9308E511E0C0E0F801829134 +:101C70008F0190E00E944E28C80FF1E00E341F073C +:101C8000A9F78C2FCF911F910F9108952BB1342F6D +:101C9000309523233BB1432B3FB7F894FC01680FE9 +:101CA000791FE617F70789F0819198E04BB900009A +:101CB00000C087FF2BB9880F000000C000C000C023 +:101CC0002BB900C09A9591F7ECCF3FBF08952AB188 +:101CD000242B2AB99B01220F331F620F731F0E940E +:101CE000460E87EC90E00197F1F700C000000895E0 +:101CF00040E80C94670EAF92BF92CF92DF92EF92C2 +:101D0000FF920F931F93CF93DF936C01790150E003 +:101D1000FA01E458F94F44918FEF90E0FC01E61B83 +:101D2000F109E458F94FE491E09509F495C0C42F06 +:101D3000D0E08E1B91098C9F90018D9F300D9C9F50 +:101D4000300D1124E32F8CE3A82EB12CC601B50170 +:101D50000E945B2FDC016230710509F446C0D0F4AB +:101D60006115710599F16130710509F079C0C31BE6 +:101D7000D109B501681B790BC69FC001C79F900DA3 +:101D8000D69F900D1124B5010E945B2F032F060FE3 +:101D9000142F67C06430710509F44BC0B8F1653089 +:101DA000710509F05DC0C31BD109B501681B790B32 +:101DB000C69FC001C79F900DD69F900D1124B501FD +:101DC0000E945B2F132FE32FE60F44C0C31BD109E2 +:101DD000CC9DC001CD9D900DDC9D900D1124B501D1 +:101DE0000E945B2F132F160F35C0C31BD109CA9F4A +:101DF000C001CB9F900DDA9F900D1124B5010E9478 +:101E00005B2F142F032FE32FE60F2BC0C31BD10929 +:101E1000B501681B790BC69FC001C79F900DD69F67 +:101E2000900D1124B5010E945B2F132F160F032F65 +:101E30000FC0C31BD109CA9FC001CB9F900DDA9F71 +:101E4000900D1124B5010E945B2F032F060F132F55 +:101E5000E42F07C0042F05C0E42F142F042F01C066 +:101E6000E0E0D70111960C9311971C931296EC9316 +:101E7000DF91CF911F910F91FF90EF90DF90CF9066 +:101E8000BF90AF90089587E090E00C94912FAB0144 +:101E9000BC0187E090E00C94AF2F8091E60180FFB9 +:101EA00008C08DE495E09F938F930E94D9080F900E +:101EB0000F9083E08093ED018091EE01807884663D +:101EC0008F778093EE018CEC8093EF018093F0018B +:101ED0006091ED017091EE018091EF019091F00120 +:101EE0000C94470F8091E60180FF08C086E395E0DF +:101EF0009F938F930E94D9080F900F908091E601D5 +:101F000080FF0FC08091ED0181701F928F9389E156 +:101F100095E09F938F930E94D9080F900F900F9098 +:101F20000F908091E60180FF10C08091ED018695B1 +:101F30008F731F928F938EEF94E09F938F930E94E5 +:101F4000D9080F900F900F900F908091E60180FFBD +:101F500019C08091ED01881F8827881F9091EE019C +:101F6000292F220F822B97FB992790F99F938F930C +:101F700084EE94E09F938F930E94D9080F900F9066 +:101F80000F900F908091E60180FF0EC08091EF01CD +:101F90001F928F938AEC94E09F938F930E94D908AD +:101FA0000F900F900F900F908091E60180FF0EC070 +:101FB0008091F0011F928F9380EB94E09F938F9319 +:101FC0000E94D9080F900F900F900F900895809164 +:101FD000ED0180FF06C06EE070E085EF91E00C94AB +:101FE000780E80E090E0FC01EB50FE4F11821082F1 +:101FF000128203968A329105B1F7EDCF20E030E0EE +:10200000F901EB50FE4F8183608342832D5F3F4F88 +:102010002A323105A9F70C94E70FEF92FF920F9344 +:102020001F93CF93DF9300D01F92CDB7DEB70091FF +:10203000ED011091EE012091EF013091F00100933C +:10204000F1011093F2012093F3013093F4012091F8 +:10205000ED0120FF21C0042FF62EE92E182F9E013E +:102060002F5F3F4F0E947B0E8091F10110FB87F99B +:102070008093F10116958091F2018078182BE0FA97 +:1020800017F91093F201F092F3010093F4014B81E0 +:1020900069818A810E94FE0F0F900F900F90DF914F +:1020A000CF911F910F91FF90EF9008950F931F9381 +:1020B000CF93DF93EC01062F142F9091ED0190FF49 +:1020C00065C0892F8E77823021F4CE010E940D10D9 +:1020D0001BC0892F86958F732EE3280F2F73243012 +:1020E00018F41091F00110C0865C8F73893060F491 +:1020F000C92FCC1FCC27CC1FD091EE018D2F880F7C +:10210000C82BD7FBDD27D0F98091ED01C0FB87F903 +:102110008093ED01C6958091EE018078C82BD0FBAD +:10212000C7F9C093EE010093EF011093F0016091A5 +:10213000ED017091EE018091EF019091F0010E940C +:10214000470F8091F0011F928F938091EF011F92B2 +:102150008F938091ED01881F8827881F9091EE0151 +:10216000292F220F822B97FB992790F99F938F930A +:102170008CEA93E09F938F930E94D9088DB79EB706 +:1021800008960FB6F8949EBF0FBE8DBFDF91CF911A +:102190001F910F910895EDEEF1E02081221F22277B +:1021A000221F3091EE01432F440F842F822B37FBE7 +:1021B000992790F90A9668E671E00E946F2F438193 +:1021C00062810C9456102091ED01221F2227221FBC +:1021D0003091EE01432F440F842F822B37FB992738 +:1021E00090F98A3091051CF4825A9E4F01C00A97DB +:1021F00068E671E00E946F2F4091F0016091EF015D +:102200000C9456106091EF01862F90E08F3E91055F +:1022100014F46F5E01C06FEF8091ED01881F882775 +:10222000881F9091EE01292F220F97FB992790F993 +:102230004091F001822B0C9456106091EF01862F93 +:1022400090E0419714F0615101C060E08091ED0190 +:10225000881F8827881F9091EE01292F220F97FB56 +:10226000992790F94091F001822B0C9456104091DF +:10227000F001842F90E08F3E910514F44F5E01C071 +:102280004FEF8091ED01881F8827881F9091EE0104 +:10229000292F220F97FB992790F96091EF01822B4C +:1022A0000C9456104091F001842F90E0419714F067 +:1022B000415101C040E08091ED01881F8827881FAF +:1022C0009091EE01292F220F97FB992790F96091A9 +:1022D000EF01822B0C9456108091690181110FC07F +:1022E00081E08093690189E0809391008FB7F89431 +:1022F00093E09093990090ED909398008FBF08958C +:10230000809171008260809371008091E60180FF6E +:1023100008C08BE993E09F938F930E94D9080F9098 +:102320000F900895809171008D7F8093710080914E +:10233000E60180FF08C089E893E09F938F930E9495 +:10234000D9080F900F9008959091ED0190FF4BC028 +:102350009178811102C0926007C0883110F09E62AE +:1023600003C08F73880F982B9093ED016091ED015E +:102370007091EE018091EF019091F0010E94470F62 +:102380008091ED0186958F731F928F938FEF93E06D +:102390009F938F930E94D9088091ED01982F9E778B +:1023A0000F900F900F900F90923019F40E9492119D +:1023B00007C08695825C8F73863110F40E9480116D +:1023C0008091ED01881F8827881F9091EE01292FA9 +:1023D000220F97FB992790F94091F0016091EF014E +:1023E000822B0C94561008958091E60181608093B1 +:1023F000E60189E994E09F938F930E94D90881E0D8 +:1024000080936A018091E6010F900F9080FF08C0D1 +:1024100083E894E09F938F930E94D9080F900F90C8 +:102420000E94132B811110C08091E60180FF08C02B +:102430008BE594E09F938F930E94D9080F900F90A3 +:102440000E94F42A0E944D0F0E94430F6093ED01F9 +:102450007093EE018093EF019093F0016E77C1F4D9 +:102460008091E60180FF08C082E194E09F938F9302 +:102470000E94D9080F900F900E944D0F0E94430FA9 +:102480006093ED017093EE018093EF019093F00162 +:102490000E94720F0E946C118091ED0180FF04C0B8 +:1024A00086958F730C94A41108958091ED01869503 +:1024B0008F738F5F883108F081E00C94A4118091B4 +:1024C000ED01982F909590FB80F98093ED0160913C +:1024D000ED017091EE018091EF019091F0010E9469 +:1024E000470F8091ED0181701F928F9381ED93E0F2 +:1024F0009F938F930E94D9088091ED010F900F90C8 +:102500000F900F9080FF04C086958F730C94A411D8 +:102510000E9492112FEF80E792E02150804090407E +:10252000E1F700C000000C94E70FCF93C82F809113 +:102530006701909168010E941229EC2FF0E0E858A1 +:10254000FA4FE491F0E08E179F0718F10E940629D8 +:102550009093680180936701E0916601F0E0E45890 +:10256000FA4F44918091ED01881F8827881F909130 +:10257000EE01292F220F97FB992790F96091EF0127 +:10258000822B0E940D108091660190E0019680934D +:102590006601CF910895CF93C82F809164019091E7 +:1025A00065010E941229EC2FF0E0EB58FA4FE491FC +:1025B000F0E08E179F07E8F00E94062990936501CE +:1025C000809364014091F0016091EF01809162017C +:1025D000909163010E940D108091620190916301BE +:1025E000019668E671E00E945B2F909363018093EF +:1025F0006201CF910895CF92DF92FF920F931F93C4 +:10260000CF93DF93F82E80916001909161010E9439 +:102610001229EF2DE695F0E0EB58FA4FE491F0E047 +:102620008E179F07F0F10E94062990936101809315 +:10263000600105EF11E0C0E0D0E088E6C82EDD249F +:10264000D39480915E0190915F018C0F9D1FB60124 +:102650000E945B2F98014091F0016091EF010E9470 +:102660007B0E69960D5F1F4FCE3581E0D80749F785 +:102670000E94E70F20915E0130915F01F0FE0BC0D8 +:10268000C901019668E671E00E945B2F90935F019B +:1026900080935E0106C02150310930935F01209381 +:1026A0005E01DF91CF911F910F91FF90DF90CF904E +:1026B00008958F929F92AF92BF92CF92DF92EF9246 +:1026C000FF920F931F93CF93DF93C82F80FF03C018 +:1026D000DD24DA9402C0DD24D39480915C019091D2 +:1026E0005D010E941229C695EC2FF0E0EE58FA4FDA +:1026F000E491F0E08E179F0708F467C00E94062956 +:1027000090935D0180935C0195EFE92E91E0F92EA5 +:1027100007EF11E0C0E0D0E027E0822E912CF80115 +:1027200031971082F7011082F801108287E0A82EFD +:10273000B12CC12C80915B018C0D87FD825F9927A4 +:1027400087FD9095C817D907E9F42091F0012A9DDB +:10275000C0012B9D900D1124B4010E946F2F462FB4 +:102760008091ED01881F8827881F9091EE01592FD5 +:10277000550F97FB992790F997016091EF01852BF1 +:102780000E947B0ECD0CF1E0AF1AB10899F62196AC +:1027900083E0E80EF11C0D5F1F4FCE30D10509F02C +:1027A000BECF0E94E70F80915B0191E0D91206C075 +:1027B000811102C08DE007C0815005C090E00196F4 +:1027C000BE010E946F2F80935B01DF91CF911F911B +:1027D0000F91FF90EF90DF90CF90BF90AF909F90C0 +:1027E0008F9008959F92AF92BF92CF92DF92EF9217 +:1027F000FF920F931F93CF93DF93CDB7DEB7AA97C6 +:102800000FB6F894DEBF0FBECDBF182F80915901CF +:1028100090915A010E941229E12FF0E0E159FA4FFC +:10282000E491F0E08E179F0708F495C00E940629F6 +:1028300090935A0180935901CE0101967C015E016B +:1028400093E0A90EB11CC12CD12C8701F501319761 +:102850001082F7011082F5011082912C90910101F4 +:1028600080915801999E800D112487FD04C08E30FF +:102870001CF08DE001C080E0992787FD9095C81677 +:10288000D906A1F48091ED01881F8827881F9091B7 +:10289000EE01592F550F97FB992790F99701409119 +:1028A000F0016091EF01852B0E947B0E9394F7E07D +:1028B0009F12D4CF8FEFC81AD80A93E0E90EF11C0B +:1028C000E3E0AE0EB11CFEE0CF16D10409F0BECF9E +:1028D00027EF31E059E0E52EF12C6EE0C62ED12C29 +:1028E000C701B6010E946F2FD9011197FC01EE0FAD +:1028F000FF1FE80FF91FE00FF11F81818C931197E3 +:1029000080818C938281F9018083FFEFEF1AFF0AA7 +:102910002D5F3F4F87E1E816F10411F70E94E70FA2 +:102920009091010180915801913049F48A3F2CF433 +:1029300089EF809358018FEF08C081500AC085311C +:102940003CF084E18093580181E08093010103C051 +:102950008F5F80935801AA960FB6F894DEBF0FBE22 +:10296000CDBFDF91CF911F910F91FF90EF90DF903E +:10297000CF90BF90AF909F9008951F920F920FB687 +:102980000F9211242F933F934F935F936F937F93F5 +:102990008F939F93AF93BF93EF93FF938091ED013C +:1029A00086958F739EE3980F9F73943020F4825026 +:1029B0000E94951223C09AE3980F9F73933020F4DE +:1029C00086500E94CB121AC097E3980F9F739630DF +:1029D00020F489500E94FB1211C091E3980F9F735D +:1029E000963020F48F500E94591308C09BE2980F34 +:1029F0009F73933018F485510E94F213FF91EF9169 +:102A0000BF91AF919F918F917F916F915F914F9106 +:102A10003F912F910F900FBE0F901F9018958091AE +:102A20007E01089508959FB7F89410926D019FBF9D +:102A300090912302943009F057C09091E9009F7063 +:102A40003091EC00232F217030FD20E8922B23E001 +:102A50002093E9002091EB0020FF43C02091EE007D +:102A600027FF3FC020916B01222321F02091E80035 +:102A700025FF37C010926B0126E03091E80035FD4C +:102A800015C030912302343061F53091EB0035FDF3 +:102A900028C0215021F481E080936B0122C0EFE92E +:102AA000FFE03197F1F700C00000E7CF8093F1001D +:102AB0008091E80085FD0AC08091E80080FFFCCF8E +:102AC0008091E8008E778093E80006C08FB7F89475 +:102AD00021E020936D018FBF9F709093E90080E00B +:102AE00008959F709093E9008FEF0895CF93DF933F +:102AF00000D01F92CDB7DEB720912302243021F5FC +:102B000023E029839B838A8382E08093E9008FEF0F +:102B10009091E800815095FD06C095ED9A95F1F7EA +:102B200000008111F5CF8091E80085FF0DC040E0E5 +:102B300050E063E070E0CE0101960E94131880918E +:102B4000E8008E778093E8000F900F900F90DF9150 +:102B5000CF910895CF93DF9300D01F92CDB7DEB70A +:102B60009C0180912302843019F592E099833B8384 +:102B70002A839093E9008FEF9091E800815095FDB2 +:102B800006C095ED9A95F1F700008111F5CF80917F +:102B9000E80085FF0DC040E050E063E070E0CE014A +:102BA00001960E9413188091E8008E778093E800C8 +:102BB0000F900F900F90DF91CF910895CF93DF93F7 +:102BC000EC0190912302943009F046C080910C01F1 +:102BD0008823D9F080910D018823B9F09093E90002 +:102BE0008FEF9091E800815095FD06C095E19A9590 +:102BF000F1F700008111F5CF8091E80085FF2CC02E +:102C000040E050E060E170E017C081E08093E900AF +:102C10008FEF9091E800815095FD06C095ED9A9553 +:102C2000F1F700008111F5CF8091E80085FF14C015 +:102C300040E050E068E070E0CE010E9413188091FF +:102C4000E8008E778093E80080E1FE01AEE6B1E017 +:102C500001900D928A95E1F7DF91CF91089581EA75 +:102C600097E00E94400880912202811109C00E94D1 +:102C7000A8190E94051A8091E20084608093E20006 +:102C800008958DE997E00E9440081092220208956D +:102C900089E997E00C94400885E997E00C94400896 +:102CA00081E997E00E9440080C94C92820916C01AA +:102CB0002F5F822F62E30E944F2F992319F02093F8 +:102CC0006C01089510926C0180916D01882371F15F +:102CD00080912302843041F58091E9008F7020912A +:102CE000EC00922F917020FD90E8892B93E0909357 +:102CF000E9009091EB0090FF14C09091EE0097FFD7 +:102D000010C09091E80095FF03C01092F100F9CF38 +:102D10009091E80090FF05C09091E8009E77909315 +:102D2000E8008F708093E90010926D01089542E0F1 +:102D300061EC81E00E94221942E061EC82E00E9495 +:102D4000221942E261EC83E00E94221942E161EC27 +:102D500084E00C94221980912502833009F455C037 +:102D600030F4813071F0823009F48EC008958A30D9 +:102D700009F47AC08B3009F460C0893009F09CC036 +:102D800020C080912402813A09F096C08091E80029 +:102D9000877F8093E8008091280290912902892BF7 +:102DA00021F460E18EE691E003C060E080E090E015 +:102DB00070E00E945E188091E8008B778093E800B5 +:102DC000089580912402813209F076C08091280212 +:102DD00090912902009719F0039709F06DC0809136 +:102DE000E800877F8093E8008091E80082FD05C0BD +:102DF000809123028111F8CF5FC08091F100809310 +:102E00007E018091E8008B7753C080912402813A43 +:102E100009F052C08091280290912902892B09F073 +:102E20004BC08091E800877F8093E8008091E800A4 +:102E300080FFFCCF80910C0136C08091240281324A +:102E4000D9F58091280290912902892BA9F58091CA +:102E5000E800877F8093E8000E945719809126023E +:102E600080930C010C94B32180912402813221F5CE +:102E70008091E800877F8093E8000E945719809135 +:102E8000270280937F01089580912402813AA1F462 +:102E90008091E800877F8093E8008091E80080FFC0 +:102EA000FCCF80917F018093F1008091E8008E77C4 +:102EB0008093E8000C945719089584B7877F84BFE6 +:102EC00088E10FB6F89480936000109260000FBE06 +:102ED00090E080E80FB6F8948093610090936100D1 +:102EE0000FBE0E942C1D0E94A8190E94051A8091F5 +:102EF000E20084608093E20083E195E10E9449282A +:102F000078940E948A1C0E942E1D82E091E00E940B +:102F1000A51C80E897E00E9440088091230285303C +:102F200089F48CE797E00E9440080E948A288091EB +:102F30002102882391F30E94B828882371F30E940C +:102F4000FD17EBCF0E94541DE8CF292F33272330E4 +:102F50003105C9F064F42130310581F022303105AA +:102F600009F043C084E790E023E038E042C021321A +:102F70003105F1F02232310541F137C082E190E0B4 +:102F800027E738E036C099278130910541F082303B +:102F9000910541F0892B49F5EFEFF7E005C0E9EE27 +:102FA000F7E002C0E5EAF7E0849190E09F0121C0DC +:102FB0006430D8F4E62FF0E0EE0FFF1FE25DFE4F25 +:102FC0002081318189E090E014C0643070F470E0B9 +:102FD000FB01EE0FFF1FEA5DFE4F20813181FB01F7 +:102FE000EE5DFE4F808190E004C080E090E020E044 +:102FF00030E0FA0131832083089580E189BD82E1C8 +:1030000089BD09B400FEFDCF8091D8008F7D8093EB +:10301000D8008091E00082608093E0008091E00021 +:1030200081FDFCCF0895CF92DF92EF92FF920F9334 +:103030001F93CF93DF93EC018B016A010E947619F5 +:10304000811133C0C114D10439F0F601808191811E +:10305000081B190BC80FD91FE12CF12C0115110504 +:1030600019F18091E80085FD16C08091E8008E7707 +:103070008093E800C114D10449F0F6018081918168 +:10308000E80EF91EF182E08285E00FC00E947619F9 +:10309000882321F30AC089918093F100015011091E +:1030A000FFEFEF1AFF0ADACF80E0DF91CF911F9197 +:1030B0000F91FF90EF90DF90CF90089520912A021A +:1030C00030912B022617370748F06115710539F446 +:1030D0002091E8002E772093E80001C0B90140E07C +:1030E00061157105A9F120912302222309F443C03F +:1030F000253009F442C02091E80023FD40C0209112 +:10310000E80022FD32C02091E80020FFE9CF409185 +:10311000F3002091F20030E0342BFC01CF01611567 +:10312000710559F02830310540F481918093F10008 +:10313000615071092F5F3F4FF1CF41E028303105D9 +:1031400009F040E02091E8002E772093E800C8CFF6 +:103150004111C9CF0AC080912302882361F08530D4 +:1031600061F08091E80083FD0AC08091E80082FF51 +:10317000F2CF80E0089582E0089583E0089581E031 +:10318000089520912A0230912B022617370748F024 +:103190006115710539F42091E8002E772093E8003D +:1031A00001C0B901FC0120E06115710591F1809128 +:1031B0002302882309F440C0853009F43FC0809180 +:1031C000E80083FD3DC08091E80082FD2FC0809122 +:1031D000E80080FFE9CF2091F3008091F20090E0B9 +:1031E000922B6115710559F08830910540F42491B6 +:1031F0002093F1003196615071090196F2CF21E0E0 +:10320000089709F020E08091E8008E778093E8002D +:10321000CBCF2111CCCF0AC080912302882361F04B +:10322000853061F08091E80083FD0AC08091E8005C +:1032300082FFF2CF80E0089582E0089583E0089550 +:1032400081E00895982F973058F59093E9009817EA +:1032500039F07091EC002091ED005091F00003C026 +:10326000242F762F50E021FF19C03091EB003E7FD4 +:103270003093EB003091ED003D7F3093ED003091C5 +:10328000EB0031603093EB007093EC002093ED0085 +:103290005093F0002091EE0027FF07C09F5FD3CF2F +:1032A0008F708093E90081E0089580E00895809117 +:1032B000240287FF11C08091E80082FD05C0809143 +:1032C00023028111F8CF11C08091E8008B770BC0E9 +:1032D00080912302882349F08091E80080FFF8CF95 +:1032E0008091E8008E778093E80008952091E400B3 +:1032F0003091E50095E64091EC00842F817040FF0D +:1033000022C08091E80080FD1CC0809123028823A8 +:1033100091F0853091F08091EB0085FD10C04091D7 +:10332000E4005091E5004217530729F39A019150A8 +:1033300011F784E0089582E0089583E0089581E024 +:10334000089580E008954091E80042FFDECF08959F +:103350000E94161A0E941E1AE0EEF0E08081816041 +:103360008083E8EDF0E080818F77808319BCA7ED42 +:10337000B0E08C918E7F8C9380818F7E80831092C1 +:10338000220208950F931F93CF93DF930E94161A82 +:103390000E941E1AC8EDD0E088818F7788838881CB +:1033A0008068888388818F7D888319BC109223026E +:1033B00010921F02109221021092200200EE10E0E3 +:1033C000F80180818B7F808388818160888342E0DF +:1033D00060E080E00E942219E1EEF0E080818E7FC3 +:1033E0008083E2EEF0E0808181608083808188606C +:1033F0008083F80180818E7F8083888180618883CB +:10340000DF91CF911F910F910895E8EDF0E0808159 +:103410008F7E8083E7EDF0E080818160808384E0AF +:1034200082BF81E0809322020C94C219E8EDF0E0A3 +:1034300080818E7F80831092E20008951092DA00DE +:103440001092E10008951F920F920FB60F9211246F +:103450002F933F934F935F936F937F938F939F939C +:10346000AF93BF93EF93FF938091E10082FF0BC076 +:103470008091E20082FF07C08091E1008B7F809302 +:10348000E1000E9456168091DA0080FF1FC08091F3 +:10349000D80080FF1BC08091DA008E7F8093DA0015 +:1034A0008091D90080FF0DC080E189BD82E189BD96 +:1034B00009B400FEFDCF81E0809323020E942F1605 +:1034C00005C019BC109223020E9441168091E100B0 +:1034D00080FF19C08091E20080FF15C08091E2005A +:1034E0008E7F8093E2008091E20080618093E20011 +:1034F0008091D80080628093D80019BC85E08093C9 +:1035000023020E944C168091E10084FF30C080911C +:10351000E20084FF2CC080E189BD82E189BD09B44D +:1035200000FEFDCF8091D8008F7D8093D8008091E0 +:10353000E1008F7E8093E1008091E2008F7E809396 +:10354000E2008091E20081608093E20080911F029E +:10355000882311F084E007C08091E30087FD02C05A +:1035600081E001C083E0809323020E945016809185 +:10357000E10083FF29C08091E20083FF25C0809194 +:10358000E100877F8093E10082E080932302109224 +:103590001F028091E1008E7F8093E1008091E20024 +:1035A0008E7F8093E2008091E20080618093E20050 +:1035B00042E060E080E00E9422198091F000886083 +:1035C0008093F0000E944816FF91EF91BF91AF9158 +:1035D0009F918F917F916F915F914F913F912F912B +:1035E0000F900FBE0F901F9018951F920F920FB65D +:1035F0000F9211242F933F934F935F936F937F9379 +:103600008F939F93AF93BF93CF93DF93EF93FF93EA +:10361000C091E900CF708091EC00D82FD17080FD6F +:10362000D0E81092E9008091F000877F8093F0004D +:1036300078940E94391B1092E9008091F000886014 +:103640008093F000CD2BCF70C093E900FF91EF91F4 +:10365000DF91CF91BF91AF919F918F917F916F91AA +:103660005F914F913F912F910F900FBE0F901F9040 +:1036700018951F93CF93DF93CDB7DEB7AA970FB6F8 +:10368000F894DEBF0FBECDBFE4E2F2E088E08E0F1B +:103690009091F10091938E13FBCF0E94AB16809115 +:1036A000E80083FF1FC18091240290912502492FD9 +:1036B00050E04A30510508F015C1FA01E25AFF4FB7 +:1036C0000C94832F803881F0823809F00BC18091EF +:1036D00028028F708093E9008091EB0085FB88279A +:1036E00080F91092E90006C0809120029091210299 +:1036F000911182609091E800977F9093E800809309 +:10370000F1001092F100C8C0282F2D7F09F0EAC007 +:10371000882319F0823061F0E5C080912602813063 +:1037200009F0E0C0933009F080E0809321022BC0C3 +:1037300080912602811127C0809128028F7009F4A0 +:10374000D1C08093E9002091EB0020FF1CC0933092 +:1037500021F48091EB00806214C09091EB009061A5 +:103760009093EB0021E030E0A90102C0440F551F07 +:103770008A95E2F74093EA001092EA008091EB000C +:1037800088608093EB001092E9008091E800877FC9 +:1037900086C08111A7C0109126021F778091E30097 +:1037A0008078812B8093E3008091E800877F80936D +:1037B000E8000E9457198091E80080FFFCCF8091BB +:1037C000E30080688093E300111102C082E001C031 +:1037D00083E08093230286C08058823008F082C044 +:1037E00080912602909127028C3D53E0950779F550 +:1037F00083E08A838AE289834FB7F894DE011396C7 +:1038000020E03EE051E2E32FF0E050935700E491D6 +:1038100020FF03C0E295EF703F5FEF708E2F90E0C6 +:10382000EA3010F0C79601C0C0968D939D932F5F2C +:10383000243149F74FBF8091E800877F8093E800EB +:103840006AE270E0CE0101960E945E1814C0AE01DB +:103850004F5F5F4F609128020E94A517BC0100973F +:1038600009F440C09091E800977F9093E800898127 +:103870009A810E94C1188091E8008B778093E800BC +:1038800031C0803879F58091E800877F8093E80027 +:1038900080911F028093F1008091E8008E778093E1 +:1038A000E8000E9457191EC081111CC09091260289 +:1038B0009230C0F48091E800877F8093E800909375 +:1038C0001F020E94571980911F02811106C080912A +:1038D000E30087FD02C081E001C084E08093230201 +:1038E0000E9497168091E80083FF0AC08091E8004B +:1038F000877F8093E8008091EB0080628093EB00EB +:10390000AA960FB6F894DEBF0FBECDBFDF91CF9160 +:103910001F910895CF93809123028823A1F0C09135 +:10392000E900CF709091EC00892F817090FD80E8C4 +:10393000C82B1092E9008091E80083FD0E94391B9A +:10394000CF70C093E900CF91089590938501809343 +:1039500084010895E0918401F0918501309721F070 +:103960000190F081E02D099480E00895EF92FF929C +:103970000F931F93CF93DF93E0918401F091850122 +:103980003097B1F18C010280F381E02D099580918F +:10399000E60182FF2DC080FF04C08FE599E00E9400 +:1039A0004008E80110E189E5E82E89E0F82E8091D1 +:1039B000E60180FF0BC088811F928F93FF92EF92E8 +:1039C0000E94D9080F900F900F900F9011502196E0 +:1039D0001111EDCF8091E60180FF0AC087E599E0E3 +:1039E000DF91CF911F910F91FF90EF900C944008C1 +:1039F000DF91CF911F910F91FF90EF90089520914B +:103A00008201309183018217930771F090938301B3 +:103A100080938201E0918401F0918501309721F03B +:103A20000680F781E02D099408952091800130915E +:103A300081018217930771F0909381018093800137 +:103A4000E0918401F0918501309721F00084F185A7 +:103A5000E02D0994089508950C942B1D0E94FD28D3 +:103A60000E94380D0E94BF290C94722ECF93DF93D1 +:103A70001F92CDB7DEB79091E60192FF10C090FF84 +:103A80000EC01F928F9321E739E03F932F938983D4 +:103A90000E94D9080F900F900F900F9089810F907E +:103AA000DF91CF910C94220D9F92AF92BF92CF9253 +:103AB000DF92EF92FF920F931F93CF93DF9300D08B +:103AC00000D000D0CDB7DEB70E947D0D09E010E038 +:103AD000AA24A394B12C902E802F0E94F80D980157 +:103AE00029573E4F6901F901F080F826A1F40150F1 +:103AF000110988F78FEF89838A831B820E94062928 +:103B00008160782F9D838C8349815A816B818D815F +:103B10000E94E91D2FC09091E60191FF04C08E83A1 +:103B20000E94FE0D8E8127E030E0A501022E01C02B +:103B3000440F0A94EAF7E42E4F21C1F029839A82B8 +:103B40008E2191E009F490E09B830E940629816018 +:103B5000782F9D838C8349815A816B818D810E944E +:103B6000E91DF6018081E826E08204C02150310978 +:103B7000E0F6BDCF109186010E94AA1C1817B9F07B +:103B80000E94AA1C8093860126960FB6F894DEBF89 +:103B90000FBECDBFDF91CF911F910F91FF90EF909E +:103BA000DF90CF90BF90AF909F900C94361D2696DB +:103BB0000FB6F894DEBF0FBECDBFDF91CF911F913E +:103BC0000F91FF90EF90DF90CF90BF90AF909F90BC +:103BD0000895CF93DF93CDB7DEB72B970FB6F89448 +:103BE000DEBF0FBECDBF4F83588769877A878B872B +:103BF000DE01119686E0FD0111928A95E9F785E0D4 +:103C0000FE01379601900D928A95E1F749815A811C +:103C10006B817C818D819E810E9451242B960FB6F1 +:103C2000F894DEBF0FBECDBFDF91CF910895CF9343 +:103C3000882309F4C2C0C82F823859F40E94AA1CF4 +:103C400081FDBBC089E30E942B270E941A2889E3CB +:103C50000CC0833879F40E94AA1C80FDAEC083E5B5 +:103C60000E942B270E941A2883E50E947E27CF916D +:103C70000C941A28843859F40E94AA1C82FD9DC015 +:103C800087E40E942B270E941A2887E4EECF8CEF4E +:103C90008C0F813A48F48C2F0E94232E81118DC005 +:103CA0008C2F0E942B27E3CF80E28C0F883048F4C2 +:103CB000C77081E001C0880FCA95EAF70E94D32738 +:103CC000D6CF8BE58C0F833078F4C53A29F0C63A0D +:103CD00031F083E890E005C081E890E002C082E81E +:103CE00090E0CF910C94FF1C88E58C0F833108F095 +:103CF00064C0C83A39F1C93A41F1CA3A49F1CB3AFC +:103D000051F1CC3A59F1CD3A61F1C03B69F1CE3A6B +:103D100071F1CF3A79F1C13B81F1C23B89F1C33BEB +:103D200091F1C43B99F1C53BA1F1C63BA9F1C73B59 +:103D3000B1F1C83BB9F1C93BC1F1CA3BC9F180E05F +:103D400090E038C082EE90E035C089EE90E032C05D +:103D50008AEE90E02FC085EB90E02CC086EB90E0DF +:103D600029C087EB90E026C08CEC90E023C08DEC5E +:103D700090E020C083E891E01DC08AE891E01AC07D +:103D800082E991E017C084E991E014C081E292E0F9 +:103D900011C083E292E00EC084E292E00BC085E2A3 +:103DA00092E008C086E292E005C087E292E002C09D +:103DB0008AE292E0CF910C94151DCF91089588234B +:103DC00009F44BC0823859F40E94AA1C81FF45C0F7 +:103DD00089E30E942B270E941A2889E30CC08338AC +:103DE00071F40E94AA1C80FF38C083E50E942B2733 +:103DF0000E941A2883E50E947E270C941A28843892 +:103E000059F40E94AA1C82FF28C087E40E942B2735 +:103E10000E941A2887E4EFCF9CEF980F913A58F34D +:103E200090E2980F983050F4877091E001C0990F9C +:103E30008A95EAF7892F0E94D927DFCF9BE5980F53 +:103E4000933020F480E090E00C94FF1C885A83317A +:103E500020F480E090E00C94151D0895882321F053 +:103E60000E94D3270C941A280895882321F00E94D9 +:103E7000D9270C941A2808957F928F929F92AF921F +:103E8000BF92CF92DF92EF92FF920F931F93CF9347 +:103E9000DF931F92CDB7DEB77C01C62E772EFC01D3 +:103EA000058102950F70128111110E94F0270E9466 +:103EB0002427882379F0112369F080E28C0D883063 +:103EC00048F082E00E940D270E94242791E0D82E1E +:103ED000D92601C0D12CE72DE295EF70F0E0E8592A +:103EE000FF4F0C94832F872D807F072D0F70882321 +:103EF00011F00295007F112389F0002309F48EC18F +:103F000080E28C0D883020F4802F0E94D32703C0DC +:103F1000802F0E94E3270E941A2880C18C2D0E94C6 +:103F2000DF1E002309F4B8C180E28C0D883020F434 +:103F3000802F0E94D92703C0802F0E94E9270E946A +:103F40001A28AAC1872D807F972D9F70803211F487 +:103F5000892F03C0892F8295807FCC2021F0F1E04A +:103F6000CF16A1F01DC0112339F0002319F1013043 +:103F700009F50E94032890C1002319F0013009F4CB +:103F80008BC189830E940628898105C1112321F0F4 +:103F9000063008F081C10EC0053008F07DC1FBC0BD +:103FA000112359F0002331F0F701958190FF36C1BC +:103FB0009F7095830E942E1F6FC1002309F4EBC0F0 +:103FC00033C1872D86958695837090E0009719F010 +:103FD000019761F061C1112321F08C2D972D937011 +:103FE00002C080E090E00E94FF1C56C1112321F026 +:103FF0008C2D972D937002C080E090E00E94151DDB +:104000004BC1872D837009F052C0111145C18C2D11 +:10401000829586958770880F880F9C2D9F70892EBA +:10402000912CA12CB12C082E04C0880C991CAA1C20 +:10403000BB1C0A94D2F7C4FE14C00FE010E020E0CD +:1040400030E0B901A80104C0440F551F661F771F57 +:104050008A95D2F7CB01BA016095709580959095BD +:1040600003C060E070E0CB01272D269526952370D4 +:1040700030E02230310569F02330310589F06829BC +:1040800079298A299B292130310571F00E949925CF +:1040900003C1682979298A299B290E94B525FCC07A +:1040A0000E949925C501B4010E947D25F5C0112308 +:1040B00019F0872D817001C08695882309F4ECC022 +:1040C0008C2D829586958770880F880F9C2D9F7008 +:1040D000892E912CA12CB12C082E04C0880C991C7F +:1040E000AA1CBB1C0A94D2F7C4FE14C00FE010E057 +:1040F00020E030E0B901A80104C0440F551F661F3D +:10410000771F8A95D2F7CB01BA016095709580959B +:10411000909503C060E070E0CB01272D2695269591 +:104120002370422F50E04230510569F04330510571 +:1041300089F0682979298A299B294130510571F034 +:104140000E947326A9C0682979298A299B290E947F +:104150008F26A2C00E947326C501B4010E94572673 +:104160009BC08C2D90E0FC01E05EF109E531F1058A +:1041700008F050C0E858FF4F0C94832F0C2D0F709F +:10418000872D8F71112321F00E94F025802F12CFEF +:104190000E941126802F0E94351F7EC0112341F0FE +:1041A000053008F079C0872D8F710E94362674C0C3 +:1041B000063008F071C0F7CF112339F0872D8F71C9 +:1041C0000E94F02569C01123C9F3872D8F710E94C9 +:1041D000112662C0112329F0872D8F710E94DB25E3 +:1041E0005BC00E94D12558C0112351F0172D1F71BB +:1041F000812F0E94F02563E0812F0E9404274CC08C +:1042000081E00E940D27023008F446C082E00E943F +:104210000D2742C0112331F0002381F28C2D0E9422 +:10422000171E3AC0002389F28C2D0E94DF1E34C075 +:10423000472D4F706C2DC7010E94FB090E94F52489 +:104240002BC0111129C0472D4F7050E0423051054D +:10425000B9F04CF44115510581F041305105E1F4BC +:104260000E94A72E19C04330510569F04430510512 +:1042700099F48C2D0E94322F0FC00E94832E0CC007 +:104280000E94D62E09C00E94FC2E06C0472D4F70FA +:104290006C2DC7010E941B09DD20F9F00E94002748 +:1042A00080FD1BC0F70112820E94FA260E94F025B1 +:1042B000C7010E947C210E94FA260F90DF91CF91C6 +:1042C0001F910F91FF90EF90DF90CF90BF90AF9034 +:1042D0009F908F907F900C9411260F90DF91CF913B +:1042E0001F910F91FF90EF90DF90CF90BF90AF9014 +:1042F0009F908F907F9008950F931F93CF93DF939C +:10430000EC01888199812B813C81232BB9F09F3F5F +:1043100011F48F3F99F0CE010E944F09882371F06C +:10432000688179818A810E94F6268C010E94AB26E1 +:104330000E947225B801CE010E943C1FDF91CF91EF +:104340001F910F9108950E94F0270E9400280E945B +:10435000C5270E941A2880E090E00E94FF1C80E0A0 +:1043600090E00C94151D0E94E0270C94A3210E945C +:10437000EB26292F22952F7030E02C3031054CF49C +:104380002A3031056CF42250310922303105A8F46D +:1043900007C02C30310569F02F30310551F00DC0C8 +:1043A000803F69F018F4803E40F409C0843F29F44E +:1043B00006C093FB882780F9089580E0089581E086 +:1043C0000895CF93DF9300D000D01F92CDB7DEB712 +:1043D0000F900F900F900F900F90DF91CF91089555 +:1043E000CF93DF9300D000D000D0CDB7DEB72696B4 +:1043F0000FB6F894DEBF0FBECDBFDF91CF91089509 +:104400001F93CF93DF93C091910116E080919201A9 +:10441000C81799F0D0E01C9FF0011D9FF00D1124EA +:10442000ED56FE4F40815181628173818481958177 +:104430000E94F0212196C770E9CFDF91CF911F91A3 +:1044400008954091C3015091C4016091C5017091DC +:10445000C6018091C7019091C8010C94F021809110 +:10446000C80182958F7009F054C08091C5018823DE +:1044700009F44FC080919101A09192016091C30114 +:104480007091C4014091C6015091C701B6E08A17EE +:1044900009F43FC090E041155105C1F17F3F11F48F +:1044A0006F3FA1F1B89FF001B99FF00D1124ED56B7 +:1044B000FE4F218172132AC02081621327C02281FE +:1044C000211124C0238134812417350710F4215091 +:1044D0003109241B350B283C3105C0F42091C8015B +:1044E0002F7020612093C80126E0289FF001299FAA +:1044F000F00D1124E856FE4F80818F70806180831B +:1045000083EC91E00E947C210C940022019687703C +:10451000BECF0895CF92DF92EF92FF920F931F9339 +:10452000CF93DF93CDB7DEB762970FB6F894DEBFB7 +:104530000FBECDBF8C0185E0F801DE011D96019014 +:104540000D928A95E1F7D8014C9111965C911197E3 +:1045500012966C9112971396CD90DC90149730912F +:10456000C3017091C4018091C6019091C701009769 +:1045700009F46BC17F3F19F43F3F09F466C1E09035 +:10458000C501EE2009F4C0C02091C801C816D906A3 +:1045900028F0F601E81BF90BCF0104C08095909537 +:1045A0008C0D9D1DFF24F394883C910578F0F12C2F +:1045B000207F09F0C6C07C2DD98AC88A89890E94CB +:1045C000E12183EC91E00E947C21B1C0822F807FA9 +:1045D00009F046C0751314C0341312C0611110C025 +:1045E0002F7020612093C8010E94212283EC91E06A +:1045F0000E947C218091C801D80115968C932EC011 +:10460000CD2819F15F3F11F44F3FF9F0F62E6111FB +:104610001CC0809191012091920136E0821709F42B +:104620005AC090E0389FF001399FF00D1124ED56EB +:10463000FE4F7181571306C07081471303C072810A +:10464000711103C001968770E9CFF62E662309F435 +:1046500018C18091C80181608093C801F12C11C1FB +:10466000751308C0341306C0611104C08091C801DD +:10467000D801C3C04D875E878D859E856A8B0E9459 +:10468000B7216A898823E1F16623D1F12091C8011D +:10469000822F82958F7090E0029774F08091C30111 +:1046A0009091C40198878F831986DB86CA862C87F0 +:1046B000CE0107960E947C2186E0F801A3ECB1E0D0 +:1046C00001900D928A95E1F70E942F220E942122EB +:1046D000FF24F394D6C04D875E878D859E850E940A +:1046E000EB26292F22952F7030E0223031050CF077 +:1046F000BCC09F7009F0B6C0805E883008F4C1C0AD +:10470000C8010E947C21E4CFC816D90608F453C022 +:10471000F601E81BF90BCF01883C910508F450C065 +:10472000F12C7C2DD98AC88A89890E94E121E3EC89 +:10473000F1E086E0DF011D928A95E9F70E942122CF +:10474000A0C0751314C0341312C0611110C0809141 +:10475000C801F8018583C8010E947C2186E0E3EC52 +:10476000F1E0DF011D928A95E9F7FE2C8AC04D87A2 +:104770005E878D859E856A8B0E94B7216A89882312 +:1047800009F4BECF662309F4BBCF2091C801822F64 +:1047900082958F7090E002970CF48ECF8091C301C8 +:1047A0009091C4019A8389831B82DD82CC822E83FF +:1047B000CE0101967FCF809590958C0D9D1DACCF3D +:1047C000F62E662309F49CCF75132EC034132CC02B +:1047D0002091C80120FD1FC0822F82958F70D9F0D3 +:1047E000D80115962C9315978F3049F08F5F982F2D +:1047F0009295907F822F8F70892B15968C93C8018C +:104800000E947C2186E0F801A3ECB1E001900D92BA +:104810008A95E1F793CF86E0F801A3ECB1E001902F +:104820000D928A95E1F72DC04D875E878D859E8517 +:104830000E94B721811140CF8091C801816080938F +:10484000C801C8010E947C211CC0662309F458CF0E +:104850004D875E878D859E850E94B721882309F448 +:104860004FCF2ACF811148CF0CC0243031050CF036 +:1048700047CF9F7009F440CFF8019581907F09F0F0 +:104880003BCF8F2D62960FB6F894DEBF0FBECDBF23 +:10489000DF91CF911F910F91FF90EF90DF90CF901C +:1048A00008951F93CF93DF93CDB7DEB72C970FB644 +:1048B000F894DEBF0FBECDBF4F83588769877A87D4 +:1048C0008B879C87CE0107960E948A22882369F0F5 +:1048D0008F8198852A853B85232BF1F19F3F09F035 +:1048E00063C08F3F09F060C037C086E0FE01379695 +:1048F000DE01119601900D928A95E1F76F8178851E +:10490000EA85FB85309741F17F3F11F46F3F21F13C +:104910002091920130E0C90101968770992740915A +:10492000910150E08417950709F447C069837A83A1 +:10493000FD83EC8396E0929FD001939FB00D1124EC +:10494000AD56BE4FFE01319601900D929A95E1F75A +:10495000809392010E94002216E080919101909133 +:1049600092018917C1F1189FC00111248D569E4FE5 +:104970000E948A22882379F1E09191011E9FF00123 +:104980001124ED56FE4F40815181628173818481F3 +:1049900095810E94F0218091910190E001968770AD +:1049A000992780939101D9CF4F81588569857A8560 +:1049B0008B859C850E94F021CFCF0E94B32110925D +:1049C000920110929101E3ECF1E086E0DF011D928B +:1049D0008A95E9F7C1CF2C960FB6F894DEBF0FBECB +:1049E000CDBFDF91CF911F910895EF92FF920F936A +:1049F0001F93CF93DF938C01009709F46CC0F12CC7 +:104A0000EE24E394E8012196F8018491843740F480 +:104A1000843008F051C0813081F0823019F15BC0E0 +:104A2000853709F444C0A8F19CE7980F903708F047 +:104A300052C08F770E94DF1E41C00E5F1F4FFE01E4 +:104A4000C49180E28C0F883048F4C7708E2D01C06D +:104A5000880FCA95EAF70E94F32714C08C2F0E9492 +:104A6000171E2DC00E5F1F4FFE01C49180E28C0FF8 +:104A7000883058F4C7708E2D01C0880FCA95EAF7A8 +:104A80000E94F9270E941A281AC08C2F0E94DF1E4C +:104A900016C00E5F1F4FFE01C491CC2381F08FE939 +:104AA0009FE00197F1F700C00000C150F6CF0E5F04 +:104AB0001F4FFE01F49003C00E94171E8E018F2D20 +:104AC000882309F49FCFEFE9FFE03197F1F700C0A9 +:104AD00000008150F5CFDF91CF911F910F91FF9092 +:104AE000EF90089508956093CD017093CE01809367 +:104AF000CF019093D0010C94A3210F931F930091A9 +:104B0000CD011091CE012091CF013091D001DC0177 +:104B1000CB01802B912BA22BB32B8093CD019093B3 +:104B2000CE01A093CF01B093D0011F910F910C94AF +:104B3000A3210F931F930091CD011091CE012091DD +:104B4000CF013091D001DC01CB0180239123A2233E +:104B5000B3238093CD019093CE01A093CF01B09366 +:104B6000D0011F910F910C94A3210F931F930091DB +:104B7000CD011091CE012091CF013091D001DC0107 +:104B8000CB0180279127A227B3278093CD01909353 +:104B9000CE01A093CF01B093D0011F910F910C943F +:104BA000A3211092C9011092CA011092CB01109258 +:104BB000CC010C94A32141E050E060E070E004C01F +:104BC000440F551F661F771F8A95D2F74093C9017E +:104BD0005093CA016093CB017093CC010C94A32134 +:104BE00041E050E060E070E004C0440F551F661FD4 +:104BF000771F8A95D2F78091C9019091CA01A0913F +:104C0000CB01B091CC01482B592B6A2B7B2B4093C5 +:104C1000C9015093CA016093CB017093CC010C94ED +:104C2000A32141E050E060E070E004C0440F551F54 +:104C3000661F771F8A95D2F74095509560957095BD +:104C40008091C9019091CA01A091CB01B091CC0192 +:104C5000482359236A237B234093C9015093CA01F7 +:104C60006093CB017093CC010C94A32141E050E000 +:104C700060E070E004C0440F551F661F771F8A95DF +:104C8000D2F78091C9019091CA01A091CB01B09156 +:104C9000CC01482759276A277B274093C9015093A5 +:104CA000CA016093CB017093CC010C94A3210F93A4 +:104CB0001F930091C9011091CA012091CB0130913D +:104CC000CC01DC01CB01802B912BA22BB32B809349 +:104CD000C9019093CA01A093CB01B093CC011F915D +:104CE0000F910C94A3210F931F930091C901109170 +:104CF000CA012091CB013091CC01DC01CB01802392 +:104D00009123A223B3238093C9019093CA01A09356 +:104D1000CB01B093CC011F910F910C94A3210F9361 +:104D20001F930091C9011091CA012091CB013091CC +:104D3000CC01DC01CB0180279127A227B3278093E8 +:104D4000C9019093CA01A093CB01B093CC011F91EC +:104D50000F910C94A3210895CF92DF92EF92FF92CE +:104D60000F931F93CF93DF938C01C090CD01D09010 +:104D7000CE01E090CF01F090D0018091C9019091D7 +:104D8000CA01A091CB01B091CC01C82AD92AEA2A44 +:104D9000FB2ACFE1D0E0D701C6010C2E04C0B695A6 +:104DA000A795979587950A94D2F780FF06C0B8011A +:104DB0008C2F0E94850C019721F4219760F780E0E9 +:104DC00001C08C2FDF91CF911F910F91FF90EF9039 +:104DD000DF90CF900895CF93DF93EC010E94AC2633 +:104DE000BE010E94850CDF91CF910895CB010E94F6 +:104DF000EB2608958091D101859585958595089537 +:104E00008091D1018770089598E0899F90011124C5 +:104E1000262B2093D1010C94F0252091D10180956F +:104E200082238093D101982F977069F430E0482F46 +:104E3000552747FD50952417350729F08595859509 +:104E400085950C94112608959091D101977081E079 +:104E500009F480E0089590910C01992321F090913C +:104E60000D01911109C020910E0130910F01F9013E +:104E700032969FEF40E030C0982F96959695969584 +:104E80009F30A0F4E0910E01F0910F01E90FF11DA8 +:104E9000877021E030E0A90102C0440F551F8A95B8 +:104EA000E2F7CA019181892B818308959091E601EF +:104EB00090FF23C01F928F9388EA99E09F938F936E +:104EC0000E94D9080F900F900F900F9008959F3F68 +:104ED00039F04F5F4E3041F051915813F8CF0DC06B +:104EE0005111F7CF942FF5CF9F3F39F0F901E90F1A +:104EF000F11D97FDFA9582830895089590910C0114 +:104F0000992321F090910D01911109C020910E017A +:104F100030910F01F9013296205F3F4F30C0982F3A +:104F20009695969596959F30A8F4E0910E01F09194 +:104F30000F01E90FF11D877021E030E0A90102C0E7 +:104F4000440F551F8A95E2F7CA0180959181892304 +:104F5000818308959091E60190FF16C01F928F9370 +:104F60008AE899E09F938F930E94D9080F900F9041 +:104F70000F900F9008953196E217F30729F0908172 +:104F80009813F9CF1082F7CF089581E090E0E09177 +:104F90000E01F0910F01E80FF91F10820196803188 +:104FA0009105A9F708959091E501892B8093E5017A +:104FB000089580959091E50189238093E5010895F6 +:104FC0001092E50108959091E401892B8093E4010A +:104FD000089580959091E40189238093E4010895D8 +:104FE0001092E40108959091E301892B8093E301ED +:104FF000089580959091E30189238093E3010895BA +:105000001092E30108958093D20108951092D20185 +:10501000089580910E0190910F01FC0131969C0141 +:10502000205F3F4F80E0919191118F5FE217F3076E +:10503000D1F70895E0910E01F0910F018091E50103 +:105040008083E0910E01F0910F0190818091E40145 +:10505000892B8083E0910E01F0910F019081809166 +:10506000E301892B80838091D201882361F0E09154 +:105070000E01F0910F019081892B80830E940928F5 +:1050800081111092D20180910E0190910F010C9428 +:10509000B61C9093370180933601089520E0009765 +:1050A00039F0AC0141505109842395232F5FF7CF8C +:1050B000822F08958295982F9C7C392F36953695AE +:1050C000282F237344E0249FC0011124932F982B91 +:1050D000292F2A7A2695892F8575880F822B089586 +:1050E0001F93CF93DF931F92CDB7DEB799830E94B2 +:1050F0005A28182F9981892F0E945A28212F30E091 +:10510000322F2227A901482BCA010F90DF91CF919E +:105110001F91089580912302843039F11092E701A4 +:1051200020E488E190E00FB6F894A89580936000A1 +:105130000FBE2093600080E00E94ED0880E00E9496 +:10514000220D83B7817F846083BF83B7816083BF73 +:105150007894889583B78E7F83BF88E10FB6F894E3 +:1051600080936000109260000FBE08950895089526 +:1051700080E00E94ED080E94B6280E947D0D0E94EA +:10518000B7280E94300E91E0811101C090E0892F74 +:1051900008950E94B32180E00E94ED080E94722EC3 +:1051A0000E94AA1C0C94220D1F920F920FB60F9210 +:1051B00011248F939F93AF93BF938091E701811147 +:1051C00013C08091E8019091E901A091EA01B091AA +:1051D000EB014196A11DB11D8093E8019093E90177 +:1051E000A093EA01B093EB01BF91AF919F918F9192 +:1051F0000F900FBE0F901F90189582E084BD93E032 +:1052000095BD9AEF97BD80936E0008952FB7F894DF +:105210008091E8019091E901A091EA01B091EB0140 +:105220002FBF0895CF92DF92EF92FF920F931F93BB +:105230002FB7F8944091E8015091E9016091EA019B +:105240007091EB012FBF6A017B01EE24FF248C01DA +:1052500020E030E0C016D106E206F30610F441501B +:1052600051099A01281B390BC9011F910F91FF9019 +:10527000EF90DF90CF9008951F920F920FB60F928C +:1052800011248F939F93AF93BF938091E8019091E6 +:10529000E901A091EA01B091EB010196A11DB11DB8 +:1052A0008093E8019093E901A093EA01B093EB01A8 +:1052B000BF91AF919F918F910F900FBE0F901F9054 +:1052C00018950E94A819F8942FEF87EA91E62150CB +:1052D00080409040E1F700C0000087E090EBDC01E7 +:1052E00080932E0290932F02A0933002B09331024C +:1052F0009CE088E10FB6F894A895809360000FBEFB +:1053000090936000FFCFEF92FF920F931F93CF9384 +:10531000DF93D82FC9E08C2F0E94F80D07E010E032 +:10532000E82EF12CC701002E02C0959587950A94AE +:10533000E2F780FF09C0602F7C2F80E00E94FE0909 +:10534000D81302C081E006C00150110958F7C150BE +:1053500010F780E0DF91CF911F910F91FF90EF90B8 +:105360000895CF93C82F8CE20E948329882321F0CF +:105370008C2FCF910C94832980E0CF910895CF9307 +:105380000E94132B811102C00E94F42A8DEC99E037 +:105390000E944008C5E6C15049F00E947D0D8FE390 +:1053A0009CE90197F1F700C00000F5CF86EC99E089 +:1053B0000E94400889E20E94B129811113C18AE24A +:1053C0000E94B12981110E94F42A85E00E94B1292E +:1053D00081110E9461290E941E2B8093E60187E0C3 +:1053E0000E94B1298823A9F18BE10E94B129882369 +:1053F00051F08091E60181FB222720F991E092276C +:1054000090FB81F90EC08EE00E94B129882361F0E3 +:105410008091E60182FB222720F991E0922790FB00 +:1054200082F98093E60115C080E10E94B129909134 +:10543000E601882341F093FB222720F981E08227AF +:1054400080FB93F904C0892F809580FB90F990939D +:10545000E6018091E6010E94222B0E94302B80936E +:105460002C0280EE0E94B129882341F080912C0209 +:10547000982F909590FB80F980932C0289E30E94ED +:10548000B129882359F080912C0281FB222720F931 +:1054900091E0922790FB81F980932C0282EE0E948A +:1054A000B129882359F080912C0282FB222720F910 +:1054B00091E0922790FB82F980932C0286EE0E9465 +:1054C000B129882359F080912C0283FB222720F9EF +:1054D00091E0922790FB83F980932C0283EE0E9447 +:1054E000B129882359F080912C0284FB222720F9CE +:1054F00091E0922790FB84F980932C0285E30E942F +:10550000B129882359F080912C0285FB222720F9AC +:1055100091E0922790FB85F980932C0281E30E9411 +:10552000B129882359F080912C0286FB222720F98B +:1055300091E0922790FB86F980932C0281E10E94F2 +:10554000B129882359F080912C0287FB222720F96A +:1055500091E0922790FB87F980932C0280912C0296 +:105560000E94342B80912C0287FB882780F980933E +:105570000D0187E20E94B129C82F8EE10E94B12956 +:105580008111C2608FE10E94B1298111C46080E263 +:105590000E94B1298111C86081E20E94B129811164 +:1055A000C06182E20E94B1298111C06283E20E943F +:1055B000B1298111C06484E20E94B129882311F0CD +:1055C000C06802C0CC2329F08C2F0E942B2B6C2F9B +:1055D00003C00E94272B682F70E080E090E0CF91FD +:1055E0000C947325CF9108956DEE7EEF80E090E0EE +:1055F0000E94BB2F60E082E090E00E949D2F60E05F +:1056000083E090E00E949D2F60E084E090E00E94A3 +:105610009D2F60E085E090E00E949D2F60E086E095 +:1056200090E00C949D2F80E090E00E94972F21E065 +:105630008D3E9E4F09F020E0822F089582E090E099 +:105640000C94892F682F82E090E00C949D2F83E0CA +:1056500090E00C94892F682F83E090E00C949D2FAC +:1056600084E090E00C94892F682F84E090E00C9403 +:105670009D2F86E090E00C94892F682F86E090E0C3 +:105680000C949D2FCF93C82F1F928F9388EE99E093 +:105690009F938F930E94D90881E090E0A0E0B0E052 +:1056A000BC01CD0104C0660F771F881F991FCA95E2 +:1056B000D2F70E9473250F900F900F900F90CF910B +:1056C0000C94B321CF938B3109F40FC208F049C079 +:1056D0008E3009F41EC200F5873009F4E7C1A8F442 +:1056E000863009F0A4C28091E601817F8E7F80938D +:1056F000E60186E89BE00E94400882E79FE00E9466 +:10570000400881E08093EC01CFC1883009F45BC090 +:105710008B3009F4C5C18BC2813109F470C220F409 +:10572000803109F40AC283C2863109F421C2893169 +:1057300009F07DC287E79BE00E9440088CE49BE073 +:105740000E9440088AEF9AE00E9440088DEC9AE09F +:105750000E94400881E99AE00E94400886E69AE0AB +:10576000A1C1853309F45FC268F4873209F45BC2D2 +:1057700028F48E3108F45BC28D5156C2893209F487 +:1057800052C255C2833438F48A3308F04AC288338F +:1057900009F486C14CC2833409F445C2883409F047 +:1057A00046C20E94B32186E59FE00E9440089FEF19 +:1057B00023ED80E3915020408040E1F700C00000DD +:1057C0000E94612971C186E79FE00E94400883EC36 +:1057D0009EE00E9440080E94272B1F928F9380EC2E +:1057E0009EE09F938F930E94D9088EEB9EE00E94CB +:1057F00040080E941E2BC82F8BEA9EE00E944008A2 +:105800001F92CF9386EA9EE09F938F930E94D908C0 +:1058100084EA9EE00E9440088AE99EE00E944008D7 +:105820008C2F81701F928F9387E99EE09F938F93B7 +:105830000E94D90885E99EE00E9440088BE89EE01E +:105840000E944008C1FB882780F91F928F9388E847 +:105850009EE09F938F930E94D90886E89EE00E9465 +:1058600040088AE79EE00E944008C2FB882780F932 +:105870001F928F9387E79EE09F938F930E94D90892 +:1058800085E79EE00E9440088CE69EE00E9440086A +:10589000C3FBCC27C0F91F92CF9389E69EE09F936C +:1058A0008F930E94D90887E69EE00E9440080E94DC +:1058B000302BC82F83E59EE00E9440081F92CF93B3 +:1058C0008EE49EE09F938F930E94D9088CE49EE023 +:1058D0000E94400883E39EE00E9440088C2F817064 +:1058E0001F928F9380E39EE09F938F930E94D9082D +:1058F0008DB79EB780960FB6F8949EBF0FBE8DBF32 +:105900008EE29EE00E94400887E19EE00E944008EF +:10591000C1FB882780F91F928F9384E19EE09F93BB +:105920008F930E94D90882E19EE00E94400880E0A7 +:105930009EE00E944008C2FB882780F91F928F9347 +:105940008DEF9DE09F938F930E94D9088BEF9DE090 +:105950000E94400889EE9DE00E944008C3FB882712 +:1059600080F91F928F9386EE9DE09F938F930E9404 +:10597000D90884EE9DE00E9440088AED9DE00E94D7 +:105980004008C4FB882780F91F928F9387ED9DE024 +:105990009F938F930E94D90885ED9DE00E94400857 +:1059A00083EC9DE00E944008C5FB882780F91F9288 +:1059B0008F9380EC9DE09F938F930E94D9088EEB8C +:1059C0009DE00E94400882EA9DE00E944008C6FBDC +:1059D000882780F91F928F938FE99DE09F938F9383 +:1059E0000E94D9088DE99DE00E94400885E99DE06C +:1059F0000E944008C7FBCC27C0F91F92CF9382E9D1 +:105A00009DE09F938F930E94D90880E99DE00E94BA +:105A100040080E94392BC82F89E79DE00E9440086A +:105A20001F92CF9384E79DE09F938F930E94D908A4 +:105A30008DB79EB780960FB6F8949EBF0FBE8DBFF0 +:105A400082E79DE00E94400888E69DE00E944008B1 +:105A50008C2F81701F928F9385E69DE09F938F938B +:105A60000E94D90883E69DE00E9440088AE59DE0F7 +:105A70000E944008C6951F92CF9387E59DE09F93B3 +:105A80008F930E94D90885E59DE00E9440088DB75C +:105A90009EB708960FB6F8949EBF0FBE8DBF04C088 +:105AA00081EA9BE00E944008C1E0C6C08091E60107 +:105AB000C82FC095C170C0FB80F98093E601CC234C +:105AC00049F08AE49FE00E9440088091E6018660E8 +:105AD000886048C08DE39FE00E9440088091E60105 +:105AE000897F877F8093E601DFCF9091E60191FB6C +:105AF000CC27C0F981E0C827892FC0FB81F98093AA +:105B0000E601CC2319F080E39FE027C082E29FE00A +:105B1000C9CF9091E60192FBCC27C0F981E0C8275C +:105B2000892FC0FB82F98093E601CC2319F083E131 +:105B30009FE013C083E09FE0B5CF9091E60193FB17 +:105B4000CC27C0F981E0C827892FC0FB83F9809357 +:105B5000E601CC2351F087EF9EE00E94400880913F +:105B6000E60181608093E60167C08AEE9EE09ACFED +:105B700088E59AE00E9440080E94AA1C1F928F9319 +:105B80008EE39AE09F938F930E94D90880910C0135 +:105B90001F928F9387E29AE09F938F930E94D90878 +:105BA00080917F011F928F9384E19AE09F938F935E +:105BB0000E94D90880910D011F928F9381E09AE095 +:105BC0009F938F930E94D9088091E8019091E901F9 +:105BD000A091EA01B091EB01BF93AF939F938F9394 +:105BE0008DEE99E09F938F930E94D9088DB79EB751 +:105BF00046960FB6F8949EBF0FBE8DBF55CF0E943C +:105C0000B321C0910D0181E0C827C0930D01CC23C1 +:105C100029F080EE9EE00E9440080EC085ED9EE0D7 +:105C200041CF895301C080E00E94422B3DCF83EDDC +:105C30009EE00E944008C0E08C2FCF91089580E044 +:105C4000089580E00895CF93C82F8091EC018823B8 +:105C500019F0813049F03EC0E0910E01F0910F0142 +:105C600080818232C9F507C0E0910E01F0910F01E9 +:105C70008081823261F48C2F0E941F2E811104C01A +:105C80008C2F0E94622B24C081E090E021C08C2FD9 +:105C90000E94212E81111BC0C43189F018F4CB3031 +:105CA00029F010C0C93259F0C83361F486E89BE08E +:105CB0000E94400884EE99E00E94400808C01092BB +:105CC000EC010CC082EE99E00E94400807C081E020 +:105CD000817006C01092EC0180E002C080E0F8CF35 +:105CE000CF9108950E94132B811102C00E94F42AC3 +:105CF0000E94392B80932D0280FF02C0869501C03F +:105D000080E00C94ED0880912D02982F969539F43F +:105D100081708260816080932D020E943D2B809172 +:105D2000E60180FF0FC080912D0286951F928F9310 +:105D300083EC9FE09F938F930E94D9080F900F9060 +:105D40000F900F9080912D0286950C94ED08809114 +:105D50002D02982F969591F09158990F8170892B6B +:105D600080932D028E7F91E009F490E080912D02C6 +:105D700090FB80F980932D020E943D2B8091E601DB +:105D800080FF0FC080912D0286951F928F938BEA22 +:105D90009FE09F938F930E94D9080F900F900F90D0 +:105DA0000F9080912D0286950C94ED0880912D0224 +:105DB000982F909590FB80F980932D020E943D2BA7 +:105DC0008091E60180FF0FC080912D0281701F92AB +:105DD0008F9385E99FE09F938F930E94D9080F903E +:105DE0000F900F900F9080912D0280FF02C086953A +:105DF00001C080E00C94ED0890912D02892F8695CA +:105E00008F5F8F779170823028F4880F892B809371 +:105E10002D0202C090932D0280912D028E7F91E081 +:105E200009F490E080912D0290FB80F980932D027F +:105E30000E943D2B8091E60180FF0FC080912D02D2 +:105E400086951F928F9381E89FE09F938F930E9486 +:105E5000D9080F900F900F900F9080912D0286958A +:105E60000C94ED0820912D02922F96958927982F5A +:105E7000990F822F8170892B80932D028E7F91E064 +:105E800009F490E080912D0290FB80F980932D021F +:105E90000E943D2B80912D0286950C94ED08991B54 +:105EA00079E004C0991F961708F0961B881F7A9511 +:105EB000C9F780950895AA1BBB1B51E107C0AA1F13 +:105EC000BB1FA617B70710F0A61BB70B881F991F9B +:105ED0005A95A9F780959095BC01CD01089597FB3F +:105EE000072E16F4009407D077FD09D00E945B2F8F +:105EF00007FC05D03EF4909581959F4F08957095CD +:105F000061957F4F0895EE0FFF1F0590F491E02DEE +:105F10000994F999FECF92BD81BDF89A992780B571 +:105F20000895A6E1B0E044E050E00C94C32FA8E14E +:105F3000B0E042E050E00C94C32F262FF999FECF39 +:105F400092BD81BDF89A019700B4021639F01FBACC +:105F500020BD0FB6F894FA9AF99A0FBE08950396E9 +:105F6000272F0E949E2F0E949D2F252F0E949E2F3B +:105F7000242F0C949E2F0196272F0E949E2F0C9465 +:105F80009D2FDC01CB01FC01F999FECF06C0F2BDCB +:105F9000E1BDF89A319600B40D9241505040B8F7E7 +:065FA0000895F894FFCF04 +:105FA600FFFF0F15DE151215AA1576150101D3018F +:105FB6000F1F4F5F6F7F6C1323766663530333594E +:105FC60039293F3620391809E208C2088908150818 +:065FD6002E0847086708D1 +:00000001FF diff --git a/keyboard/clueboard2/keymaps/max/keymap.c b/keyboard/clueboard2/keymaps/max/keymap.c new file mode 100644 index 0000000000..714d6390d9 --- /dev/null +++ b/keyboard/clueboard2/keymaps/max/keymap.c @@ -0,0 +1,147 @@ +#include "clueboard2.h" + +#ifdef ENABLE_RGBLIGHT +#include "rgblight.h" +#endif + +// Used for SHIFT_ESC +#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)) + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +#define _BL 0 +#define _FL 1 +#define _RS 2 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Keymap _BL: (Base Layer) Default Layer + * ,--------------------------------------------------------------------------. ,----. + * | Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| ~| BS| |PgUp| + * |--------------------------------------------------------------------------| |----| + * | Tab| Q| W| E| R| T| Y| U| I| O| P| [| ]| \| |PgDn| + * |--------------------------------------------------------------------------| `----' + * |Capslck| A| S| D| F| G| H| J| K| L| ;| '| # | Ent| + * |-----------------------------------------------------------------------------. + * |Shift| BS| Z| X| C| V| B| N| M| ,| .| /| BS|Shift| Up| + * |------------------------------------------------------------------------|----|----. + * | Ctrl| Alt| Gui| MHen| Space| Space| Hen| Gui| Alt| Ctrl|Left|Down|Rght| + * `----------------------------------------------------------------------------------' + */ +[_BL] = KEYMAP( + KC_ESC, 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_GRV, KC_BSPC, KC_PGUP, \ + 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_PGDN, \ + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, \ + MO(_FL), KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FL), KC_UP, \ + KC_LCTL, KC_LALT, KC_LGUI,KC_MHEN, KC_SPC, KC_SPC, KC_HENK, KC_RGUI, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + + /* Keymap _FL: Function Layer + * ,--------------------------------------------------------------------------. ,----. + * | `| F1| F2| F3| F4| F5| F6| F7| F8| F9| F10| F11| F12| | Del| |BLIN| + * |--------------------------------------------------------------------------| |----| + * | | | | | | | | |PScr|SLck|Paus| | | | |BLDE| + * |--------------------------------------------------------------------------| `----' + * | | | _RS| | | | | | | | | | | | + * |-----------------------------------------------------------------------------. + * | | | | | | | | | | | | | | |PGUP| + * |------------------------------------------------------------------------|----|----. + * | | | | | | | | | | _FL|HOME|PGDN| END| + * `----------------------------------------------------------------------------------' + */ +[_FL] = KEYMAP( + 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_TRNS, KC_DEL, BL_STEP, \ + KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_SLCK, KC_PAUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ + KC_TRNS, KC_TRNS, MO(_RS),KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ + MO(_FL), KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(_FL), KC_PGUP, \ + KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END), + + /* Keymap _RS: Reset/Underlight layer + * ,--------------------------------------------------------------------------. ,----. + * | | | | | | | | | | | | | | | | | | + * |--------------------------------------------------------------------------| |----| + * | | | | |RESET| | | | | | | | | | | | + * |--------------------------------------------------------------------------| `----' + * | | | _RS| | | | | | | | | | | | + * |-----------------------------------------------------------------------------. + * | | | | | | | | | | | | | | | | + * |------------------------------------------------------------------------|----|----. + * | | | | | | | | | | _FL| | | | + * `----------------------------------------------------------------------------------' + */ +[_RS] = KEYMAP( + 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_TRNS, F(0), F(6), \ + KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,RESET, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, F(7), \ + KC_TRNS, KC_TRNS, MO(_RS),KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ + MO(_FL), KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(_FL), F(4), \ + KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, F(1), F(1), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, F(3), F(5), F(2)), +}; + +enum function_id { + RGBLED_TOGGLE, + RGBLED_STEP_MODE, + RGBLED_INCREASE_HUE, + RGBLED_DECREASE_HUE, + RGBLED_INCREASE_SAT, + RGBLED_DECREASE_SAT, + RGBLED_INCREASE_VAL, + RGBLED_DECREASE_VAL, +}; + +const uint16_t PROGMEM fn_actions[] = { + [0] = ACTION_FUNCTION(RGBLED_TOGGLE), + [1] = ACTION_FUNCTION(RGBLED_STEP_MODE), + [2] = ACTION_FUNCTION(RGBLED_INCREASE_HUE), + [3] = ACTION_FUNCTION(RGBLED_DECREASE_HUE), + [4] = ACTION_FUNCTION(RGBLED_INCREASE_SAT), + [5] = ACTION_FUNCTION(RGBLED_DECREASE_SAT), + [6] = ACTION_FUNCTION(RGBLED_INCREASE_VAL), + [7] = ACTION_FUNCTION(RGBLED_DECREASE_VAL), +}; + +void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { + switch (id) { + case RGBLED_TOGGLE: + //led operations + if (record->event.pressed) { + rgblight_toggle(); + } + + break; + case RGBLED_INCREASE_HUE: + if (record->event.pressed) { + rgblight_increase_hue(); + } + break; + case RGBLED_DECREASE_HUE: + if (record->event.pressed) { + rgblight_decrease_hue(); + } + break; + case RGBLED_INCREASE_SAT: + if (record->event.pressed) { + rgblight_increase_sat(); + } + break; + case RGBLED_DECREASE_SAT: + if (record->event.pressed) { + rgblight_decrease_sat(); + } + break; + case RGBLED_INCREASE_VAL: + if (record->event.pressed) { + rgblight_increase_val(); + } + break; + case RGBLED_DECREASE_VAL: + if (record->event.pressed) { + rgblight_decrease_val(); + } + break; + case RGBLED_STEP_MODE: + if (record->event.pressed) { + rgblight_step(); + } + break; + } +} diff --git a/keyboard/clueboard2/keymaps/skully/compiled.hex b/keyboard/clueboard2/keymaps/skully/compiled.hex new file mode 100644 index 0000000000..a8423a2cce --- /dev/null +++ b/keyboard/clueboard2/keymaps/skully/compiled.hex @@ -0,0 +1,1246 @@ +:100000000C94E5050C9429060C9429060C942906F9 +:100010000C9429060C9429060C9429060C942906A4 +:100020000C9429060C9429060C9449110C941B126B +:100030000C94FD1F0C9429060C9429060C94290697 +:100040000C9429060C9429060C9429060C94290674 +:100050000C9429060C9465200C9429060C9429060E +:100060000C9429060C9429060C9429060C94290654 +:100070000C9429060C9429060C9429060C94290644 +:100080000C9429060C9429060C9429060C94290634 +:100090000C9429060C9429060C9429060C94290624 +:1000A0000C9429060C9429060C9429068812AA128D +:1000B0009813AA129813EF121213981367137A1356 +:1000C00099169916C816C81607177218721872185A +:1000D00027177218D717D7173E18471872186C18B9 +:1000E000E417E417E417E417E417E417E417E41738 +:1000F000E417E417E417E417E417E417E417E41728 +:10010000F4170218091810181A18696E69745F62DA +:1001100061636B6C696768745F70696E28290A0097 +:1001200000F000201E001F002000210022002300FC +:1001300024002B0014001A000800150017001C00F2 +:100140001800E00004001600070009000A000B0078 +:100150000D00E10064001D001B00060019000500F1 +:100160001100E000E200E300015200002C002C002E +:1001700000002500260027002D002E0035002A0053 +:100180004B000C00120013002F0030003100000063 +:100190004E000E000F003300340032002800000033 +:1001A000000010003600370038008700E5005200DC +:1001B000000001520000E700E4000152500051002D +:1001C0004F0035003A003B003C003D003E003F0040 +:1001D00040000100010001000100010001000100D8 +:1001E00001000100010002520100010001000100B4 +:1001F00001000100010001000100010001000100F7 +:100200000100010001000100015200000100010095 +:1002100000004100420043004400450001004C0042 +:100220008350460047004800010001000100000023 +:1002300001000100010001000100010001000000B7 +:1002400000000100010001000100010001004B005D +:100250000000015200000100010001524A004E005E +:100260004D0001000100010001000100010001003A +:100270000100010001000100010000500100010027 +:100280000100010001000252010001000100010013 +:100290000100010001000100010001000100010056 +:1002A0000100010001000100010000000100010047 +:1002B0000000010001000100010001000100010037 +:1002C0000100010001000100010001000100000027 +:1002D0000100010001000100010001000100000017 +:1002E0000000010001000100010001000100010007 +:1002F00000000100000001000100015201000100A6 +:1003000001000A44454255473A20656E61626C65BA +:10031000642E0A005374617465206F6620726F77D3 +:100320002025583A2025303136620A0048756D6123 +:100330006E2D7265616461626C65206D61747269B5 +:10034000782073746174653A0D0A004465626F75B4 +:100350006E63696E672064656C61792072656D619A +:10036000696E696E673A2025580A005B735D004B21 +:100370006579626F6172642073746172742E0A0011 +:100380005B575D005B535D005B525D005B445D004D +:100390005B435D00420343006C0075006500620032 +:1003A0006F00610072006400200077006900740033 +:1003B00068002000520047004200200055006E00F7 +:1003C0006400650072006C006900670068007400DA +:1003D00069006E0067000000140343006C007500A4 +:1003E000650062006F006100720064000000040399 +:1003F000090409027400040100A0FA0904000001C4 +:1004000003010100092111010001223F00070581BC +:100410000308000A0904010001030000000921117A +:100420000100012236000705820308000A090402C0 +:100430000002030000000921110100012220000731 +:1004400005830320000107050303200001090403BD +:1004500000010300000009211101000122390007F9 +:100460000584031000011201100100000008EDC115 +:10047000202301000102000105010906A101050771 +:1004800019E029E715002501950875018102050885 +:1004900019012905950575019102950175039101D1 +:1004A0000507190029771500250195787501810246 +:1004B000C00631FF0974A1010975150025FF9520BB +:1004C000750881020976150025FF952075089102AF +:1004D000C005010980A101850216010026B7001A96 +:1004E00001002AB700751095018100C0050C0901B3 +:1004F000A1018503160100269C021A01002A9C0214 +:10050000751095018100C005010906A101050719B3 +:10051000E029E7150025019508750181029501750F +:1005200008810105081901290595057501910295B4 +:1005300001750391010507190029FF150025FF9595 +:100540000675088100C00A002530325820006B650E +:1005500079626F6172645F7265706F72743A2000C5 +:100560004B6579626F617264204C454473207374EB +:100570006174653A2025780A0064656C5F6B657963 +:100580005F6269743A2063616E27742064656C3A17 +:1005900020253032580A006164645F6B65795F62C0 +:1005A00069743A2063616E2774206164643A20257F +:1005B0003032580A00646F6E652E0A00626F6F67F2 +:1005C0006D61676963207363616E3A202E2E2E2061 +:1005D000003F00433E20004C25640A0074696D65AD +:1005E000725F636F756E743A202530346C580A0060 +:1005F0006B6579626F6172645F6E6B726F3A202512 +:10060000580A006B6579626F6172645F69646C653A +:100610003A2025580A006B6579626F6172645F70D9 +:10062000726F746F636F6C3A2025580A00686F739D +:10063000745F6B6579626F6172645F6C6564732867 +:10064000293A2025580A000A092D2053746174752F +:1006500073202D0A004743433A20342E392E32208E +:100660004156522D4C4942433A20312E382E3120EA +:100670004156525F415243483A20617672350A0032 +:100680004F5054494F4E533A204C55464120424F0B +:100690004F544D414749432045585452414B4559C9 +:1006A00020434F4E534F4C4520434F4D4D414E44F8 +:1006B000204E4B524F20343039360A004255494CB7 +:1006C000443A20313637313865662D646972747961 +:1006D000202832333A31303A3430204A756E2020A7 +:1006E000392032303136290A005649443A203078D0 +:1006F0004331454428436C7565626F6172642920FB +:100700005049443A2030783233323028436C756592 +:10071000626F617264207769746820524742205585 +:100720006E6465726C69676874696E6729205645E6 +:10073000523A203078303030310A00444553433A41 +:1007400020514D4B206B6579626F61726420666940 +:10075000726D7761726520666F7220436C75656299 +:100760006F6172640A000A092D2056657273696F01 +:100770006E202D0A000A092D20436F6E736F6C6581 +:10078000202D0A4553432F713A09717569740A0087 +:100790000A092D204D61676963202D0A443A0944F6 +:1007A00065627567204D65737361676520546F6777 +:1007B000676C650A583A094D61747269782044651E +:1007C000627567204D6F646520546F67676C6520A4 +:1007D0002D2053686F77206B657970726573736530 +:1007E0007320696E206D6174726978206772696424 +:1007F0000A4B3A094B6579626F6172642044656205 +:10080000756720546F67676C65202D2053686F777C +:10081000206B65797072657373207265706F727486 +:100820000A4D3A094465627567204D6F75736520FE +:10083000546F67676C650A563A0956657273696F3B +:100840006E0A533A095374617475730A433A094145 +:100850006374697661746520436F6E736F6C652095 +:100860004D6F64650A46312D4631303A0953776938 +:1008700074636820746F204C6179657220302D3963 +:100880002028463130203D204C30290A302D393A7D +:100890000953776974636820746F204C61796572BD +:1008A00020302D390A4553433A09537769746368F8 +:1008B00020746F204C6179657220302028616C743F +:1008C00065726E617465206B65792031290A475223 +:1008D0004156453A0953776974636820746F204C18 +:1008E0006179657220302028616C7465726E617464 +:1008F00065206B65792032290A50415553453A09E4 +:100900004A756D7020746F20426F6F746C6F6164F4 +:10091000657220285265736574290A453A09507238 +:10092000696E7420454550524F4D2053657474696B +:100930006E67730A4E3A094E4B524F20546F6767E9 +:100940006C650A000A002575002E6C6576656C3AA8 +:1009500020000A002575002E656E61626C653A20E4 +:10096000000A0025303258006261636B6C69676869 +:10097000745F636F6E6669672E7261773A20000A52 +:10098000002575002E6E6B726F3A20000A002575E7 +:10099000002E737761705F6261636B736C61736863 +:1009A0005F6261636B73706163653A20000A0025C2 +:1009B00075002E737761705F67726176655F65732E +:1009C000633A20000A002575002E6E6F5F67756917 +:1009D0003A20000A002575002E737761705F7261FE +:1009E0006C745F726775693A20000A002575002EE5 +:1009F000737761705F6C616C745F6C6775693A20C6 +:100A0000000A002575002E636170736C6F636B5F65 +:100A1000746F5F636F6E74726F6C3A20000A00250A +:100A200075002E737761705F636F6E74726F6C5FA9 +:100A3000636170736C6F636B3A20000A002530327B +:100A400058006B65796D61705F636F6E6669672EC4 +:100A50007261773A20000A002575002E6D6F75735C +:100A6000653A20000A002575002E6B6579626F617A +:100A700072643A20000A002575002E6D6174726957 +:100A8000783A20000A002575002E656E61626C655B +:100A90003A20000A00253032580064656275675FAD +:100AA000636F6E6669672E7261773A20000A0025CF +:100AB000750064656661756C745F6C617965723A26 +:100AC00020003F004E4B524F3A206F66660A004EA0 +:100AD0004B524F3A206F6E0A000A6D6F7573653A7C +:100AE000206F66660A000A6D6F7573653A206F6E37 +:100AF0000A000A6B6579626F6172643A206F6666FC +:100B00000A000A6B6579626F6172643A206F6E0A3F +:100B1000000A6D61747269783A206F66660A000A8D +:100B20006D61747269783A206F6E0A000A646562BA +:100B300075673A206F66660A000A64656275673AEF +:100B4000206F6E0A000A0A4A756D70696E6720741C +:100B50006F20626F6F746C6F616465722E2E2E2031 +:100B600000433E20006565636F6E6669673A0A0060 +:100B70006261636B6C6967687420737465703A2096 +:100B800025750A006261636B6C6967687420746F15 +:100B900067676C653A2025750A006261636B6C6952 +:100BA0006768742064656372656173653A202575B2 +:100BB0000A006261636B6C6967687420696E6372B6 +:100BC000656173653A2025750A0011241FBECFEFB9 +:100BD000DAE0DEBFCDBF04B603FE24C08091EA0197 +:100BE0009091EB01A091EC01B091ED018730904B19 +:100BF000A740B04BB9F41092EA011092EB011092A9 +:100C0000EC011092ED0114BE84B7877F84BF88E1A8 +:100C10000FB6F89480936000109260000FBEE0E081 +:100C2000F8E3099511E0A0E0B1E0E4E8FDE402C0DA +:100C300005900D92A633B107D9F711E0A6E3B1E014 +:100C400001C01D92AA3EB107E1F70E94830E0C94E9 +:100C5000C0260C940000FF93EF93E0913601F091D1 +:100C60003701309709F00995EF91FF910895FC0144 +:100C70008591803011F0EFDFFBCF0895FF27E0E290 +:100C800030E247FF0CC0419597FF09C0EDE2609547 +:100C9000709580959095611D711D811D911D27FF97 +:100CA00002C0219530E350E2AA27660F771F881F04 +:100CB000991FAA1FA41710F0A41B63955A95A9F7B2 +:100CC000AA3008F0A95FA05DAF93F3956115710597 +:100CD0008105910541F7ED3211F4EF93F395F21789 +:100CE00018F43F93F395FBCF8F91B5DFFA95E1F7B9 +:100CF0000895E991F9918591803021F0853219F0BC +:100D0000AADFF9CF089520E0E89455915532C1F358 +:100D1000503311F4689455915A3348F4505390F37A +:100D2000220F022E220F220F200D250FF4CF0EF4DA +:100D3000219589919991533619F3533729F15335F8 +:100D400059F1BC0188279927E8945C3621F48991F0 +:100D5000999168945591543639F446EF7EF077FFB7 +:100D60000DC08FEF9FEF0AC055374AE039F0583574 +:100D700040E121F0523642E009F00895FF93EF93ED +:100D80007DDFEF91FF91B7CFFF93EF93FC0181914E +:100D90008030B9F360DFFBCFFF93EF9368DFF1CFD3 +:100DA000DF93CF93CDB7DEB72596A3DFCF91DF9149 +:100DB00008958AE091E00E943706569A279A549A3D +:100DC0005E982F985C980895811104C05E9A2F9ABE +:100DD0005C9A08955E982F985C980895249A0895D7 +:100DE00081FF02C02C9A08952C98089508950895C3 +:100DF00086EF96E0892B11F00E94F6060E94EE061F +:100E00000E94D90685B7806885BF85B7806885BF91 +:100E1000089587EF96E0892B11F00C94F70608955A +:100E2000CF93DF93611120C0EC010E94F91E827202 +:100E3000809338019A81992351F0882319F085E332 +:100E400090E002C089E290E00E94511E09C0882310 +:100E500019F085E390E002C089E290E00E94A41EB0 +:100E6000DF91CF910C94431FDF91CF91089581E0E2 +:100E7000089581E008950C94390708950F931F9306 +:100E8000CF93DF938C01FC01C081D181CE010E9400 +:100E9000D21DBE010E94ED07EC01B8010E943B0784 +:100EA000882309F48DC0F8018281882309F44AC09F +:100EB0008091440181111FC0C431F0E5DF0709F0C2 +:100EC00051C00E943D0781E0809344010E942F2081 +:100ED000909343018093420110923B0110923D0197 +:100EE00010923C0110923F0110923E01109241017C +:100EF0001092400165C080914201909143010E948F +:100F00003B20883C910570F480913B01E82FF0E094 +:100F1000EE0FFF1FE45CFE4FD183C0838F5F809391 +:100F20003B014EC0C43880E5D80721F0C538D04514 +:100F300001F13AC0F8018281882341F01092390111 +:100F400082E01EC0C438E0E5DE0759F58091390122 +:100F5000811106C086E20E943D1586E20E940516B8 +:100F600082E01CC0C438F0E5DF0741F3C538D04546 +:100F7000D9F4F8018281882331F010923A0180E29D +:100F80000E9454161DC080913A01811106C087E26B +:100F90000E943D1587E20E94051680E20E945B16C2 +:100FA0000FC0C538D04529F381E080933901809383 +:100FB0003A01C801DF91CF911F910F910C9437072F +:100FC00080E0DF91CF911F910F9108950C94F80666 +:100FD0000C94090780E090E00895E72FF0E09AE094 +:100FE000899FE00DF11D112483E0EE0FFF1F8A950C +:100FF000E1F7E60FF11DEE0FFF1FEE5DFE4F85914D +:1010000094910895880F991FFC01E056F040859156 +:1010100094910895880F991FFC01E05EFE4F859121 +:10102000949108950F931F93CF93DF93EC01811553 +:1010300021E39207A0F5C11580E3D80708F0D7C0D7 +:10104000C83ED105D8F4C03ED10508F007C2C83A61 +:10105000D10578F4C53AD10508F06AC0C130D10590 +:1010600009F463C008F4F7C1C430D10508F0F6C133 +:10107000F2C1CB3BD10508F466C0EDC1C11590E2C9 +:10108000D90708F0AFC0C11521E0D20708F0E6C1CA +:10109000C03FD10508F4DFC18E0110651FC2C03802 +:1010A00080E5D80700F5C03790E5D90708F0A3C060 +:1010B000C11520E5D20709F4ACC050F4CE0190541C +:1010C00080319F4008F0C7C1DF708E01106A06C2F0 +:1010D000C13080E5D80709F4AAC0C43190E5D9072A +:1010E00008F4AFC0B8C1C33820E5D20709F48EC0F8 +:1010F00050F4C13890E5D90709F482C008F083C0E4 +:1011000000E011EDEBC1C03181E5D80708F4A3C1BF +:10111000C11597E5D90708F436C1CE01905781155E +:10112000904108F098C1DF7093C101E010E0D6C192 +:10113000C53AD10509F494C1C63AD10509F093C165 +:1011400002E810E4CBC1C83AD10509F48FC1C93A0D +:10115000D10509F48EC1CA3AD10509F48DC1CB3A43 +:10116000D10509F48CC1CC3AD10509F48BC1CD3A33 +:10117000D10509F48AC1C03BD10509F489C1CE3A31 +:10118000D10509F488C1CF3AD10509F487C1C13B23 +:10119000D10509F486C1C23BD10509F485C1C33B21 +:1011A000D10509F484C1C43BD10509F483C1C53B11 +:1011B000D10509F482C1C63BD10509F481C1C73B01 +:1011C000D10509F480C1C83BD10509F47FC1C93BF1 +:1011D000D10509F47EC1CA3BD10509F47DC100E007 +:1011E00014E47CC1CE019F700E940A0878C1DD27FB +:1011F0008E01106C73C1CF70DD278E01146D6EC12E +:1012000000E010ED6BC100E012ED68C100E013EDED +:1012100065C10E94D9188FEF94E32CE08150904073 +:101220002040E1F700C000000E948A2057C182E000 +:1012300093E00E9437068091D40181608093D401AD +:101240004DC10E943C22811102C00E941D220E94B9 +:10125000592290E09093E9018093E801C23080E543 +:10126000D80721F48091E801816086C0C43090E500 +:10127000D90721F48091E80182607EC0C63020E564 +:10128000D20721F48091E801846076C0C83080E5FF +:10129000D80719F48091E80127C0CA3090E5D90732 +:1012A00021F48091E801806167C0CC3020E5D2074D +:1012B00021F48091E80180625FC0CE3080E5D807DC +:1012C00021F48091E801806457C0C03190E5D907CE +:1012D00021F48091E80180684FC0C23120E5D20737 +:1012E00029F48091E8018460886046C0C33080E5BD +:1012F000D80721F48091E8018E7F3EC0C53090E58B +:10130000D90721F48091E8018D7F36C0C73020E5F0 +:10131000D20721F48091E8018B7F2EC0C93080E58F +:10132000D80719F48091E80126C0CB3090E5D907A1 +:1013300021F48091E8018F7E1FC0CD3020E5D207D7 +:1013400021F48091E8018F7D17C0CF3080E5D80768 +:1013500021F48091E8018F7B0FC0C13190E5D9075E +:1013600021F48091E8018F7707C0C331D04531F473 +:101370008091E8018B7F877F8093E8018091E8016D +:101380000E945D22ABC08D2F99278F7099278130E5 +:101390009105D9F49E012370332702C0880F991F4D +:1013A0002A95E2F79C688E0144E0000F111F4A95D0 +:1013B000E1F700271370802B912B53E0CC0FDD1F3A +:1013C0005A95E1F7C076DD272FC08230910531F4C0 +:1013D000DC2FCC278E01016F106A80C0833091050D +:1013E00069F4CE018370992701E010E002C0000F7C +:1013F000111F8A95E2F7C8019C680FC084309105DF +:10140000B9F4CE018370992701E010E002C0000F0B +:10141000111F8A95E2F7C8019A6823E0CC0FDD1FFF +:101420002A95E1F7C07ED7708C010C2B1D2B56C07E +:101430008530910531F4DC2FCC278E01046F106AC2 +:101440004DC0069709F04AC0CF71DD27DC2FCC27AD +:101450008E01106243C000E010E040C08E013EC02B +:1014600001E810E43BC003E810E438C002EE14E4E5 +:1014700035C009EE14E432C00AEE14E42FC005EBC7 +:1014800014E42CC006EB14E429C007EB14E426C0D6 +:101490000CEC14E423C00DEC14E420C003E815E4C4 +:1014A0001DC00AE815E41AC002E915E417C004E9F2 +:1014B00015E414C001E216E411C003E216E40EC004 +:1014C00004E216E40BC005E216E408C006E216E4E6 +:1014D00005C007E216E402C00AE216E4C801DF9183 +:1014E000CF911F910F910895E72FF0E09AE0899F27 +:1014F000E00DF11D112483E0EE0FFF1F8A95E1F747 +:10150000E60FF11DEE0FFF1FEE5DFE4F85919491EA +:10151000803E9105E0F4803C910558F581339105BA +:1015200009F46FC048F48932910509F463C08A3226 +:10153000910509F46DC072C089339105E9F08238D4 +:101540009105D1F08533910509F44DC067C0833E04 +:10155000910581F138F4803E9105B9F0823E910504 +:10156000D9F05CC0863E910561F1873E9105A1F1FD +:1015700055C00E94020808952091E80120FD02C094 +:1015800021FF4CC080EE90E049C08091E80180FFCF +:10159000F9CF89E390E042C08091E80182FF0EC05C +:1015A0008091E80184FF03C080E090E037C083EEC3 +:1015B00090E034C08091E80182FFF2CF82EE90E0AB +:1015C0002DC08091E80183FF0BC08091E80184FD6C +:1015D000EBCF87EE90E022C08091E80183FFF5CF4A +:1015E00086EE90E01BC08091E80185FF07C089E28C +:1015F00090E014C08091E80185FFF9CF85E390E089 +:101600000DC08091E80186FF07C08AE290E006C025 +:101610008091E80186FFF9CF81E390E00E941208F3 +:1016200008950C94F006E82FF0E0E95EFE4F80810B +:10163000E82FEF70F0E082958F7021E030E0A90193 +:1016400002C0440F551F8A95E2F740A308950F93F7 +:101650001F93CF93DF9385B7806885BF85B7806878 +:1016600085BFC9E0D0E001E010E0FE01E95EFE4F79 +:101670008081E82FEF70F0E021A182958F70A801A2 +:1016800002C0440F551F8A95E2F7CA01822B81A33D +:101690008C2F0E94130B219740F787E090E061E0C8 +:1016A00070E0FC01E15FFE4F2081E22FEF70F0E07F +:1016B00042A122952F70DB0102C0AA0FBB1F2A9501 +:1016C000E2F79D01242B22A3019758F7DF91CF91D8 +:1016D0001F910F910C94E607EF92FF920F931F93C7 +:1016E000CF93DF930FE411E0C9E0EE24E394F12CF3 +:1016F000D5E08C2F0E94130B87E090E040E0FC01C6 +:10170000E15FFE4F5081E52FEF70F0E020A130E067 +:1017100052955F7002C0359527955A95E2F720FDE6 +:1017200007C09701082E01C0220F0A94EAF7422B46 +:10173000019728F7F80182918F01841719F04083EF +:10174000D09300018C2F0E94130BC15090F6809112 +:10175000000187FD32C09091D40190FF10C0282F66 +:10176000332727FD30953F938F938BE493E09F932E +:101770008F930E94D0060F900F900F900F90809142 +:10178000000181508093000187FD07C08FE99FE031 +:101790000197F1F700C0000010C080E090E0FC016C +:1017A000E15BFE4FDC01AB5BBE4F19962C912187AC +:1017B0000197863FEFEF9E0791F70E94E80781E0CF +:1017C000DF91CF911F910F91FF90EF900895E82F37 +:1017D000F0E0E15BFE4F808108950F931F93CF935C +:1017E000DF938091D40180FF04C08CE293E00E94DB +:1017F0003706C0E0D0E004E113E08091D40180FF1F +:1018000015C0FE01E15BFE4F808190E00E94991FB0 +:101810009F938F93DF93CF931F930F930E94D006D4 +:101820000F900F900F900F900F900F902196CA304D +:10183000D10519F7DF91CF911F910F9108950F9363 +:101840001F93CF9309E511E0C0E0F80182918F0169 +:1018500090E00E94771FC80FF1E00F341F07A9F72F +:101860008C2FCF911F910F91089580916C01089555 +:1018700008959FB7F89410925B019FBF9091DF018C +:10188000943009F057C09091E9009F703091EC00BE +:10189000232F217030FD20E8922B23E02093E900D4 +:1018A0002091EB0020FF43C02091EE0027FF3FC0B6 +:1018B00020915901222321F02091E80025FF37C013 +:1018C0001092590126E03091E80035FD15C03091A5 +:1018D000DF01343061F53091EB0035FD28C0215037 +:1018E00021F481E08093590122C0EFE9FFE03197B4 +:1018F000F1F700C00000E7CF8093F1008091E8008D +:1019000085FD0AC08091E80080FFFCCF8091E8004F +:101910008E778093E80006C08FB7F89421E020937B +:101920005B018FBF9F709093E90080E008959F70E6 +:101930009093E9008FEF0895CF93DF9300D01F922B +:10194000CDB7DEB72091DF01243021F523E02983D4 +:101950009B838A8382E08093E9008FEF9091E80077 +:10196000815095FD06C095ED9A95F1F70000811123 +:10197000F5CF8091E80085FF0DC040E050E063E0C6 +:1019800070E0CE0101960E94390F8091E8008E77B9 +:101990008093E8000F900F900F90DF91CF91089502 +:1019A000CF93DF9300D01F92CDB7DEB79C0180911B +:1019B000DF01843019F592E099833B832A83909369 +:1019C000E9008FEF9091E800815095FD06C095EDFC +:1019D0009A95F1F700008111F5CF8091E80085FF1D +:1019E0000DC040E050E063E070E0CE0101960E943F +:1019F000390F8091E8008E778093E8000F900F9068 +:101A00000F90DF91CF910895CF93DF93EC019091E8 +:101A1000DF01943009F046C080910B018823D9F092 +:101A200080910C018823B9F09093E9008FEF909199 +:101A3000E800815095FD06C095E19A95F1F7000008 +:101A40008111F5CF8091E80085FF2CC040E050E087 +:101A500060E170E017C081E08093E9008FEF909122 +:101A6000E800815095FD06C095ED9A95F1F70000CC +:101A70008111F5CF8091E80085FF14C040E050E06F +:101A800068E070E0CE010E94390F8091E8008E7707 +:101A90008093E80080E1FE01ACE5B1E001900D9299 +:101AA0008A95E1F7DF91CF91089580E993E00E9454 +:101AB00037068091DE01811109C00E94CE100E947C +:101AC0002B118091E20084608093E20008958CE8FD +:101AD00093E00E9437061092DE01089588E893E0B3 +:101AE0000C94370684E893E00C94370680E893E082 +:101AF0000E9437060C94F21F20915A012F5F822F0B +:101B000062E30E947826992319F020935A010895E0 +:101B100010925A0180915B01882371F18091DF015D +:101B2000843041F58091E9008F702091EC00922F74 +:101B3000917020FD90E8892B93E09093E9009091BB +:101B4000EB0090FF14C09091EE0097FF10C09091B1 +:101B5000E80095FF03C01092F100F9CF9091E800E2 +:101B600090FF05C09091E8009E779093E8008F70F9 +:101B70008093E90010925B01089542E061EC81E0FE +:101B80000E94481042E061EC82E00E94481042E26C +:101B900061EC83E00E94481042E161EC84E00C9427 +:101BA00048108091E101833009F455C030F4813050 +:101BB00071F0823009F48EC008958A3009F47AC039 +:101BC0008B3009F460C0893009F09CC020C080913E +:101BD000E001813A09F096C08091E800877F809308 +:101BE000E8008091E4019091E501892B21F460E106 +:101BF0008CE591E003C060E080E090E070E00E943E +:101C0000840F8091E8008B778093E800089580919D +:101C1000E001813209F076C08091E4019091E50104 +:101C2000009719F0039709F06DC08091E800877F55 +:101C30008093E8008091E80082FD05C08091DF017B +:101C40008111F8CF5FC08091F10080936C01809189 +:101C5000E8008B7753C08091E001813A09F052C0CF +:101C60008091E4019091E501892B09F04BC08091AE +:101C7000E800877F8093E8008091E80080FFFCCF38 +:101C800080910B0136C08091E0018132D9F58091BD +:101C9000E4019091E501892BA9F58091E800877F07 +:101CA0008093E8000E947D108091E20180930B01F7 +:101CB0000C94D9188091E001813221F58091E800DF +:101CC000877F8093E8000E947D108091E3018093DC +:101CD0006D0108958091E001813AA1F48091E800BE +:101CE000877F8093E8008091E80080FFFCCF80919F +:101CF0006D018093F1008091E8008E778093E80079 +:101D00000C947D10089584B7877F84BF88E10FB657 +:101D1000F89480936000109260000FBE90E080E81D +:101D20000FB6F89480936100909361000FBE0E94FB +:101D300052140E94CE100E942B118091E200846008 +:101D40008093E20089E39CE00E94721F78940E94D5 +:101D5000B0130E94541481E091E00E94CB138FE6EF +:101D600093E00E9437068091DF01853089F48BE68D +:101D700093E00E9437060E94B31F8091DD01882303 +:101D800091F30E94E11F882371F30E94230FEBCF90 +:101D90000E947A14E8CF292F332723303105C9F068 +:101DA00064F42130310581F02230310509F043C05F +:101DB00084E790E022EF33E042C021323105F1F0B8 +:101DC0002232310541F137C082E190E026E634E06D +:101DD00036C099278130910541F08230910541F05C +:101DE000892B49F5EEEEF3E005C0E8EDF3E002C023 +:101DF000E4E9F3E0849190E09F0121C06430D8F4DD +:101E0000E62FF0E0EE0FFF1FE35DFE4F20813181F2 +:101E100089E090E014C0643070F470E0FB01EE0FD4 +:101E2000FF1FEB5DFE4F20813181FB01EF5DFE4F17 +:101E3000808190E004C080E090E020E030E0FA0192 +:101E400031832083089580E189BD82E189BD09B491 +:101E500000FEFDCF8091D8008F7D8093D8008091C7 +:101E6000E00082608093E0008091E00081FDFCCF83 +:101E70000895CF92DF92EF92FF920F931F93CF932B +:101E8000DF93EC018B016A010E949C10811133C029 +:101E9000C114D10439F0F60180819181081B190B1E +:101EA000C80FD91FE12CF12C0115110519F18091F2 +:101EB000E80085FD16C08091E8008E778093E800E9 +:101EC000C114D10449F0F60180819181E80EF91E18 +:101ED000F182E08285E00FC00E949C10882321F3EC +:101EE0000AC089918093F10001501109FFEFEF1AA8 +:101EF000FF0ADACF80E0DF91CF911F910F91FF9021 +:101F0000EF90DF90CF9008952091E6013091E701A6 +:101F10002617370748F06115710539F42091E8005C +:101F20002E772093E80001C0B90140E061157105EA +:101F3000A9F12091DF01222309F443C0253009F4DF +:101F400042C02091E80023FD40C02091E80022FD1E +:101F500032C02091E80020FFE9CF4091F3002091AA +:101F6000F20030E0342BFC01CF016115710559F00E +:101F70002830310540F481918093F100615071095E +:101F80002F5F3F4FF1CF41E02830310509F040E0AD +:101F90002091E8002E772093E800C8CF4111C9CFE7 +:101FA0000AC08091DF01882361F0853061F0809163 +:101FB000E80083FD0AC08091E80082FFF2CF80E054 +:101FC000089582E0089583E0089581E008952091C6 +:101FD000E6013091E7012617370748F061157105D2 +:101FE00039F42091E8002E772093E80001C0B90170 +:101FF000FC0120E06115710591F18091DF018823DA +:1020000009F440C0853009F43FC08091E80083FDA9 +:102010003DC08091E80082FD2FC08091E80080FFE4 +:10202000E9CF2091F3008091F20090E0922B6115AE +:10203000710559F08830910540F424912093F10006 +:102040003196615071090196F2CF21E0089709F0AD +:1020500020E08091E8008E778093E800CBCF2111BB +:10206000CCCF0AC08091DF01882361F0853061F018 +:102070008091E80083FD0AC08091E80082FFF2CFE2 +:1020800080E0089582E0089583E0089581E0089556 +:10209000982F973058F59093E900981739F0709180 +:1020A000EC002091ED005091F00003C0242F762F1A +:1020B00050E021FF19C03091EB003E7F3093EB00E0 +:1020C0003091ED003D7F3093ED003091EB003160B9 +:1020D0003093EB007093EC002093ED005093F000F0 +:1020E0002091EE0027FF07C09F5FD3CF8F708093B2 +:1020F000E90081E0089580E008958091E00187FF84 +:1021000011C08091E80082FD05C08091DF0181113E +:10211000F8CF11C08091E8008B770BC08091DF0170 +:10212000882349F08091E80080FFF8CF8091E80093 +:102130008E778093E80008952091E4003091E500C7 +:1021400095E64091EC00842F817040FF22C0809181 +:10215000E80080FD1CC08091DF01882391F085306C +:1021600091F08091EB0085FD10C04091E40050910A +:10217000E5004217530729F39A01915011F784E0C3 +:10218000089582E0089583E0089581E0089580E055 +:1021900008954091E80042FFDECF08950E943C116F +:1021A0000E944411E0EEF0E0808181608083E8EDE0 +:1021B000F0E080818F77808319BCA7EDB0E08C912F +:1021C0008E7F8C9380818F7E80831092DE010895B4 +:1021D0000F931F93CF93DF930E943C110E944411F1 +:1021E000C8EDD0E088818F77888388818068888374 +:1021F00088818F7D888319BC1092DF011092DB01EA +:102200001092DD011092DC0100EE10E0F8018081F7 +:102210008B7F808388818160888342E060E080E0FA +:102220000E944810E1EEF0E080818E7F8083E2EE34 +:10223000F0E0808181608083808188608083F80104 +:1022400080818E7F8083888180618883DF91CF91B8 +:102250001F910F910895E8EDF0E080818F7E8083DB +:10226000E7EDF0E080818160808384E082BF81E0DF +:102270008093DE010C94E810E8EDF0E080818E7F21 +:1022800080831092E20008951092DA001092E1002B +:1022900008951F920F920FB60F9211242F933F9320 +:1022A0004F935F936F937F938F939F93AF93BF935E +:1022B000EF93FF938091E10082FF0BC08091E200D9 +:1022C00082FF07C08091E1008B7F8093E1000E9434 +:1022D0007C0D8091DA0080FF1FC08091D80080FFC4 +:1022E0001BC08091DA008E7F8093DA008091D90044 +:1022F00080FF0DC080E189BD82E189BD09B400FE87 +:10230000FDCF81E08093DF010E94550D05C019BC0F +:102310001092DF010E94670D8091E10080FF19C0DB +:102320008091E20080FF15C08091E2008E7F809353 +:10233000E2008091E20080618093E2008091D80009 +:1023400080628093D80019BC85E08093DF010E94F1 +:10235000720D8091E10084FF30C08091E20084FF23 +:102360002CC080E189BD82E189BD09B400FEFDCFAA +:102370008091D8008F7D8093D8008091E1008F7E7E +:102380008093E1008091E2008F7E8093E200809153 +:10239000E20081608093E2008091DB01882311F0EC +:1023A00084E007C08091E30087FD02C081E001C0A6 +:1023B00083E08093DF010E94760D8091E10083FF2E +:1023C00029C08091E20083FF25C08091E100877FD2 +:1023D0008093E10082E08093DF011092DB01809125 +:1023E000E1008E7F8093E1008091E2008E7F8093F8 +:1023F000E2008091E20080618093E20042E060E0D0 +:1024000080E00E9448108091F00088608093F00086 +:102410000E946E0DFF91EF91BF91AF919F918F91AF +:102420007F916F915F914F913F912F910F900FBED0 +:102430000F901F9018951F920F920FB60F921124B4 +:102440002F933F934F935F936F937F938F939F93BC +:10245000AF93BF93CF93DF93EF93FF93C091E900C6 +:10246000CF708091EC00D82FD17080FDD0E8109211 +:10247000E9008091F000877F8093F00078940E94BB +:102480005F121092E9008091F00088608093F00064 +:10249000CD2BCF70C093E900FF91EF91DF91CF91E9 +:1024A000BF91AF919F918F917F916F915F914F916C +:1024B0003F912F910F900FBE0F901F9018951F9373 +:1024C000CF93DF93CDB7DEB7AA970FB6F894DEBFF0 +:1024D0000FBECDBFE0EEF1E088E08E0F9091F100ED +:1024E00091938E13FBCF0E94D10D8091E80083FF62 +:1024F0001FC18091E0019091E101492F50E04A30E5 +:10250000510508F015C1FA01EA5AFF4F0C948426D0 +:10251000803881F0823809F00BC18091E4018F701E +:102520008093E9008091EB0085FB882780F9109269 +:10253000E90006C08091DC019091DD01911182607B +:102540009091E800977F9093E8008093F1001092BB +:10255000F100C8C0282F2D7F09F0EAC0882319F0A8 +:10256000823061F0E5C08091E201813009F0E0C085 +:10257000933009F080E08093DD012BC08091E2016F +:10258000811127C08091E4018F7009F4D1C080933C +:10259000E9002091EB0020FF1CC0933021F48091D2 +:1025A000EB00806214C09091EB0090619093EB007F +:1025B00021E030E0A90102C0440F551F8A95E2F7DF +:1025C0004093EA001092EA008091EB0088608093CB +:1025D000EB001092E9008091E800877F86C08111AE +:1025E000A7C01091E2011F778091E3008078812BD2 +:1025F0008093E3008091E800877F8093E8000E9449 +:102600007D108091E80080FFFCCF8091E30080681E +:102610008093E300111102C082E001C083E0809347 +:10262000DF0186C08058823008F082C08091E201CC +:102630009091E3018C3D53E0950779F583E08A831F +:102640008AE289834FB7F894DE01139620E03EE0DA +:1026500051E2E32FF0E050935700E49120FF03C0D4 +:10266000E295EF703F5FEF708E2F90E0EA3010F050 +:10267000C79601C0C0968D939D932F5F243149F773 +:102680004FBF8091E800877F8093E8006AE270E0A6 +:10269000CE0101960E94840F14C0AE014F5F5F4FC0 +:1026A0006091E4010E94CB0EBC01009709F440C088 +:1026B0009091E800977F9093E80089819A810E9429 +:1026C000E70F8091E8008B778093E80031C0803875 +:1026D00079F58091E800877F8093E8008091DB01A5 +:1026E0008093F1008091E8008E778093E8000E944B +:1026F0007D101EC081111CC09091E2019230C0F487 +:102700008091E800877F8093E8009093DB010E942E +:102710007D108091DB01811106C08091E30087FD6F +:1027200002C081E001C084E08093DF010E94BD0D02 +:102730008091E80083FF0AC08091E800877F809342 +:10274000E8008091EB0080628093EB00AA960FB6C0 +:10275000F894DEBF0FBECDBFDF91CF911F910895DA +:10276000CF938091DF018823A1F0C091E900CF7061 +:102770009091EC00892F817090FD80E8C82B109219 +:10278000E9008091E80083FD0E945F12CF70C09342 +:10279000E900CF9108959093730180937201089599 +:1027A000E0917201F0917301309721F00190F08176 +:1027B000E02D099480E00895EF92FF920F931F930C +:1027C000CF93DF93E0917201F09173013097B1F1F3 +:1027D0008C010280F381E02D09958091D40182FF64 +:1027E0002DC080FF04C08EE495E00E943706E8010A +:1027F00010E188E4E82E85E0F82E8091D40180FF76 +:102800000BC088811F928F93FF92EF920E94D00697 +:102810000F900F900F900F90115021961111EDCF46 +:102820008091D40180FF0AC086E495E0DF91CF91CA +:102830001F910F91FF90EF900C943706DF91CF918D +:102840001F910F91FF90EF900895209170013091AA +:1028500071018217930771F0909371018093700159 +:10286000E0917201F0917301309721F00680F781B9 +:10287000E02D0994089520916E0130916F01821727 +:10288000930771F090936F0180936E01E091720154 +:10289000F0917301309721F00084F185E02D0994C7 +:1028A000089508950C9451140E9426200E94270B2D +:1028B0000E94E8200C949B25CF93DF931F92CDB705 +:1028C000DEB79091D40192FF10C090FF0EC01F920E +:1028D0008F9320E635E03F932F9389830E94D006A3 +:1028E0000F900F900F900F9089810F90DF91CF91F3 +:1028F0000C94110B9F92AF92BF92CF92DF92EF9206 +:10290000FF920F931F93CF93DF9300D000D000D09E +:10291000CDB7DEB70E946C0B09E010E0AA24A394A7 +:10292000B12C902E802F0E94E70B98012B583E4F20 +:102930006901F901F080F826A1F40150110988F726 +:102940008FEF89838A831B820E942F208160782FDA +:102950009D838C8349815A816B818D810E940F15E3 +:102960002FC09091D40191FF04C08E830E94ED0B83 +:102970008E8127E030E0A501022E01C0440F0A94A9 +:10298000EAF7E42E4F21C1F029839A828E2191E04B +:1029900009F490E09B830E942F208160782F9D8313 +:1029A0008C8349815A816B818D810E940F15F601BC +:1029B0008081E826E08204C021503109E0F6BDCFD5 +:1029C000109174010E94D0131817B9F00E94D0130F +:1029D0008093740126960FB6F894DEBF0FBECDBF6C +:1029E000DF91CF911F910F91FF90EF90DF90CF90EB +:1029F000BF90AF909F900C945C1426960FB6F894FD +:102A0000DEBF0FBECDBFDF91CF911F910F91FF9021 +:102A1000EF90DF90CF90BF90AF909F900895CF93AD +:102A2000DF93CDB7DEB72B970FB6F894DEBF0FBE9E +:102A3000CDBF4F83588769877A878B87DE011196D0 +:102A400086E0FD0111928A95E9F785E0FE0137964F +:102A500001900D928A95E1F749815A816B817C81C1 +:102A60008D819E810E94771B2B960FB6F894DEBF56 +:102A70000FBECDBFDF91CF910895CF93882309F486 +:102A8000C2C0C82F823859F40E94D01381FDBBC048 +:102A900089E30E94511E0E94431F89E30CC08338C2 +:102AA00079F40E94D01380FDAEC083E50E94511ED0 +:102AB0000E94431F83E50E94A41ECF910C94431FE4 +:102AC000843859F40E94D01382FD9DC087E40E948F +:102AD000511E0E94431F87E4EECF8CEF8C0F813A8A +:102AE00048F48C2F0E944C2581118DC08C2F0E94A0 +:102AF000511EE3CF80E28C0F883048F4C77081E02C +:102B000001C0880FCA95EAF70E94FC1ED6CF8BE55C +:102B10008C0F833078F4C53A29F0C63A31F083E857 +:102B200090E005C081E890E002C082E890E0CF919B +:102B30000C94251488E58C0F833108F064C0C83AE2 +:102B400039F1C93A41F1CA3A49F1CB3A51F1CC3A9B +:102B500059F1CD3A61F1C03B69F1CE3A71F1CF3A0A +:102B600079F1C13B81F1C23B89F1C33B91F1C43B97 +:102B700099F1C53BA1F1C63BA9F1C73BB1F1C83BF7 +:102B8000B9F1C93BC1F1CA3BC9F180E090E038C05E +:102B900082EE90E035C089EE90E032C08AEE90E09F +:102BA0002FC085EB90E02CC086EB90E029C087EB2E +:102BB00090E026C08CEC90E023C08DEC90E020C02B +:102BC00083E891E01DC08AE891E01AC082E991E0B3 +:102BD00017C084E991E014C081E292E011C083E261 +:102BE00092E00EC084E292E00BC085E292E008C061 +:102BF00086E292E005C087E292E002C08AE292E0BB +:102C0000CF910C943B14CF910895882309F44BC0C5 +:102C1000823859F40E94D01381FF45C089E30E9495 +:102C2000511E0E94431F89E30CC0833871F40E9437 +:102C3000D01380FF38C083E50E94511E0E94431FBD +:102C400083E50E94A41E0C94431F843859F40E940B +:102C5000D01382FF28C087E40E94511E0E94431FA8 +:102C600087E4EFCF9CEF980F913A58F390E2980FDA +:102C7000983050F4877091E001C0990F8A95EAF777 +:102C8000892F0E94021FDFCF9BE5980F933020F41D +:102C900080E090E00C942514885A833120F480E081 +:102CA00090E00C943B140895882321F00E94FC1EB0 +:102CB0000C94431F0895882321F00E94021F0C9456 +:102CC000431F08957F928F929F92AF92BF92CF92AF +:102CD000DF92EF92FF920F931F93CF93DF931F9298 +:102CE000CDB7DEB77C01C62E772EFC01058102959B +:102CF0000F70128111110E94191F0E944A1E882311 +:102D000079F0112369F080E28C0D883048F082E080 +:102D10000E94331E0E944A1E91E0D82ED92601C07F +:102D2000D12CE72DE295EF70F0E0E05AFF4F0C94C4 +:102D30008426872D807F072D0F70882311F0029540 +:102D4000007F112389F0002309F48EC180E28C0DED +:102D5000883020F4802F0E94FC1E03C0802F0E9428 +:102D60000C1F0E94431F80C18C2D0E94051600235A +:102D700009F4B8C180E28C0D883020F4802F0E94C5 +:102D8000021F03C0802F0E94121F0E94431FAAC16E +:102D9000872D807F972D9F70803211F4892F03C07B +:102DA000892F8295807FCC2021F0F1E0CF16A1F011 +:102DB0001DC0112339F0002319F1013009F50E94DB +:102DC0002C1F90C1002319F0013009F48BC18983B5 +:102DD0000E942F1F898105C1112321F0063008F0C0 +:102DE00081C10EC0053008F07DC1FBC0112359F030 +:102DF000002331F0F701958190FF36C19F709583D4 +:102E00000E9454166FC1002309F4EBC033C1872D13 +:102E100086958695837090E0009719F0019761F090 +:102E200061C1112321F08C2D972D937002C080E099 +:102E300090E00E94251456C1112321F08C2D972D6E +:102E4000937002C080E090E00E943B144BC1872D3C +:102E5000837009F052C0111145C18C2D8295869561 +:102E60008770880F880F9C2D9F70892E912CA12C24 +:102E7000B12C082E04C0880C991CAA1CBB1C0A94F7 +:102E8000D2F7C4FE14C00FE010E020E030E0B9013A +:102E9000A80104C0440F551F661F771F8A95D2F7FB +:102EA000CB01BA01609570958095909503C060E064 +:102EB00070E0CB01272D26952695237030E0223037 +:102EC000310569F02330310589F0682979298A298B +:102ED0009B292130310571F00E94BF1C03C1682974 +:102EE00079298A299B290E94DB1CFCC00E94BF1CF7 +:102EF000C501B4010E94A31CF5C0112319F0872D50 +:102F0000817001C08695882309F4ECC08C2D8295D0 +:102F100086958770880F880F9C2D9F70892E912C25 +:102F2000A12CB12C082E04C0880C991CAA1CBB1C17 +:102F30000A94D2F7C4FE14C00FE010E020E030E0A5 +:102F4000B901A80104C0440F551F661F771F8A9559 +:102F5000D2F7CB01BA01609570958095909503C02A +:102F600060E070E0CB01272D269526952370422F37 +:102F700050E04230510569F04330510589F068292D +:102F800079298A299B294130510571F00E94991DA8 +:102F9000A9C0682979298A299B290E94B51DA2C048 +:102FA0000E94991DC501B4010E947D1D9BC08C2DFE +:102FB00090E0FC01E05EF109E531F10508F050C058 +:102FC000E059FF4F0C9484260C2D0F70872D8F71C4 +:102FD000112321F00E94161D802F12CF0E94371D51 +:102FE000802F0E945B167EC0112341F0053008F04F +:102FF00079C0872D8F710E945C1D74C0063008F067 +:1030000071C0F7CF112339F0872D8F710E94161DE3 +:1030100069C01123C9F3872D8F710E94371D62C0CB +:10302000112329F0872D8F710E94011D5BC00E9422 +:10303000F71C58C0112351F0172D1F71812F0E94CA +:10304000161D63E0812F0E942A1E4CC081E00E9461 +:10305000331E023008F446C082E00E94331E42C094 +:10306000112331F0002381F28C2D0E943D153AC0CE +:10307000002389F28C2D0E94051634C0472D4F7015 +:103080006C2DC7010E94EA070E941B1C2BC0111166 +:1030900029C0472D4F7050E042305105B9F04CF433 +:1030A0004115510581F041305105E1F40E94D025D0 +:1030B00019C04330510569F04430510599F48C2D05 +:1030C0000E945B260FC00E94AC250CC00E94FF2509 +:1030D00009C00E94252606C0472D4F706C2DC701E0 +:1030E0000E941007DD20F9F00E94261E80FD1BC003 +:1030F000F70112820E94201E0E94161DC7010E9425 +:10310000A2180E94201E0F90DF91CF911F910F9166 +:10311000FF90EF90DF90CF90BF90AF909F908F90F7 +:103120007F900C94371D0F90DF91CF911F910F91DD +:10313000FF90EF90DF90CF90BF90AF909F908F90D7 +:103140007F9008950F931F93CF93DF93EC018881B5 +:1031500099812B813C81232BB9F09F3F11F48F3F44 +:1031600099F0CE010E943E07882371F06881798131 +:103170008A810E941C1E8C010E94D11D0E94981CF5 +:10318000B801CE010E946216DF91CF911F910F917D +:1031900008950E94191F0E94291F0E94EB1E0E9481 +:1031A000431F80E090E00E94251480E090E00C94A2 +:1031B0003B140E94091F0C94C9180E94111E292F4C +:1031C00022952F7030E02C3031054CF42A30310537 +:1031D0006CF42250310922303105A8F407C02C309C +:1031E000310569F02F30310551F00DC0803F69F095 +:1031F00018F4803E40F409C0843F29F406C093FBD4 +:10320000882780F9089580E0089581E00895CF939C +:10321000DF9300D000D01F92CDB7DEB70F900F9094 +:103220000F900F900F90DF91CF910895CF93DF9380 +:1032300000D000D000D0CDB7DEB726960FB6F894F8 +:10324000DEBF0FBECDBFDF91CF9108951F93CF9307 +:10325000DF93C0917F0116E080918001C81799F03B +:10326000D0E01C9FF0011D9FF00D1124EF57FE4F81 +:103270004081518162817381848195810E941619F8 +:103280002196C770E9CFDF91CF911F9108954091AA +:10329000B1015091B2016091B3017091B40180917C +:1032A000B5019091B6010C9416198091B6018295E2 +:1032B0008F7009F054C08091B301882309F44FC086 +:1032C00080917F01A09180016091B1017091B20164 +:1032D0004091B4015091B501B6E08A1709F43FC09E +:1032E00090E041155105C1F17F3F11F46F3FA1F10D +:1032F000B89FF001B99FF00D1124EF57FE4F2181C7 +:1033000072132AC02081621327C02281211124C098 +:10331000238134812417350710F421503109241BEF +:10332000350B283C3105C0F42091B6012F70206187 +:103330002093B60126E0289FF001299FF00D11246B +:10334000EA57FE4F80818F708061808381EB91E02E +:103350000E94A2180C94261901968770BECF08957A +:10336000CF92DF92EF92FF920F931F93CF93DF9351 +:10337000CDB7DEB762970FB6F894DEBF0FBECDBFF4 +:103380008C0185E0F801DE011D9601900D928A9571 +:10339000E1F7D8014C9111965C91119712966C91BE +:1033A00012971396CD90DC9014973091B1017091E3 +:1033B000B2018091B4019091B501009709F46BC1FD +:1033C0007F3F19F43F3F09F466C1E090B301EE205E +:1033D00009F4C0C02091B601C816D90628F0F6013C +:1033E000E81BF90BCF0104C0809590958C0D9D1DB5 +:1033F000FF24F394883C910578F0F12C207F09F0AC +:10340000C6C07C2DD98AC88A89890E94071981EB98 +:1034100091E00E94A218B1C0822F807F09F046C0BF +:10342000751314C0341312C0611110C02F702061C5 +:103430002093B6010E94471981EB91E00E94A218E7 +:103440008091B601D80115968C932EC0CD2819F124 +:103450005F3F11F44F3FF9F0F62E61111CC08091CF +:103460007F012091800136E0821709F45AC090E074 +:10347000389FF001399FF00D1124EF57FE4F7181F5 +:10348000571306C07081471303C07281711103C0C6 +:1034900001968770E9CFF62E662309F418C1809152 +:1034A000B60181608093B601F12C11C1751308C07B +:1034B000341306C0611104C08091B601D801C3C0A5 +:1034C0004D875E878D859E856A8B0E94DD186A898F +:1034D0008823E1F16623D1F12091B601822F8295F4 +:1034E0008F7090E0029774F08091B1019091B201D9 +:1034F00098878F831986DB86CA862C87CE0107962C +:103500000E94A21886E0F801A1EBB1E001900D92B3 +:103510008A95E1F70E9455190E944719FF24F394F8 +:10352000D6C04D875E878D859E850E94111E292FEE +:1035300022952F7030E0223031050CF0BCC09F7016 +:1035400009F0B6C0805E883008F4C1C0C8010E948E +:10355000A218E4CFC816D90608F453C0F601E81B38 +:10356000F90BCF01883C910508F450C0F12C7C2D5B +:10357000D98AC88A89890E940719E1EBF1E086E0BF +:10358000DF011D928A95E9F70E944719A0C07513C3 +:1035900014C0341312C0611110C08091B601F8013B +:1035A0008583C8010E94A21886E0E1EBF1E0DF010B +:1035B0001D928A95E9F7FE2C8AC04D875E878D851E +:1035C0009E856A8B0E94DD186A89882309F4BECF24 +:1035D000662309F4BBCF2091B601822F82958F70AC +:1035E00090E002970CF48ECF8091B1019091B201DE +:1035F0009A8389831B82DD82CC822E83CE01019641 +:103600007FCF809590958C0D9D1DACCFF62E6623B7 +:1036100009F49CCF75132EC034132CC02091B60131 +:1036200020FD1FC0822F82958F70D9F0D80115968A +:103630002C9315978F3049F08F5F982F9295907F3C +:10364000822F8F70892B15968C93C8010E94A21827 +:1036500086E0F801A1EBB1E001900D928A95E1F7C7 +:1036600093CF86E0F801A1EBB1E001900D928A952D +:10367000E1F72DC04D875E878D859E850E94DD1800 +:10368000811140CF8091B60181608093B601C8015D +:103690000E94A2181CC0662309F458CF4D875E878C +:1036A0008D859E850E94DD18882309F44FCF2ACF8F +:1036B000811148CF0CC0243031050CF047CF9F70EA +:1036C00009F440CFF8019581907F09F03BCF8F2D11 +:1036D00062960FB6F894DEBF0FBECDBFDF91CF91DB +:1036E0001F910F91FF90EF90DF90CF9008951F935F +:1036F000CF93DF93CDB7DEB72C970FB6F894DEBF2C +:103700000FBECDBF4F83588769877A878B879C8789 +:10371000CE0107960E94B019882369F08F819885A1 +:103720002A853B85232BF1F19F3F09F063C08F3F32 +:1037300009F060C037C086E0FE013796DE011196C1 +:1037400001900D928A95E1F76F817885EA85FB8576 +:10375000309741F17F3F11F46F3F21F120918001BB +:1037600030E0C90101968770992740917F0150E0B0 +:103770008417950709F447C069837A83FD83EC8336 +:1037800096E0929FD001939FB00D1124AF57BE4F8A +:10379000FE01319601900D929A95E1F78093800198 +:1037A0000E94261916E080917F019091800189176F +:1037B000C1F1189FC00111248F579E4F0E94B0196C +:1037C000882379F1E0917F011E9FF0011124EF57CA +:1037D000FE4F4081518162817381848195810E9475 +:1037E000161980917F0190E0019687709927809348 +:1037F0007F01D9CF4F81588569857A858B859C85D6 +:103800000E941619CFCF0E94D918109280011092F1 +:103810007F01E1EBF1E086E0DF011D928A95E9F797 +:10382000C1CF2C960FB6F894DEBF0FBECDBFDF918F +:10383000CF911F910895EF92FF920F931F93CF9313 +:10384000DF938C01009709F46CC0F12CEE24E39413 +:10385000E8012196F8018491843740F4843008F01F +:1038600051C0813081F0823019F15BC0853709F495 +:1038700044C0A8F19CE7980F903708F052C08F77AA +:103880000E94051641C00E5F1F4FFE01C49180E2E9 +:103890008C0F883048F4C7708E2D01C0880FCA95F0 +:1038A000EAF70E941C1F14C08C2F0E943D152DC0EA +:1038B0000E5F1F4FFE01C49180E28C0F883058F4D8 +:1038C000C7708E2D01C0880FCA95EAF70E94221F8B +:1038D0000E94431F1AC08C2F0E94051616C00E5F4F +:1038E0001F4FFE01C491CC2381F08FE99FE0019727 +:1038F000F1F700C00000C150F6CF0E5F1F4FFE0170 +:10390000F49003C00E943D158E018F2D882309F489 +:103910009FCFEFE9FFE03197F1F700C00000815041 +:10392000F5CFDF91CF911F910F91FF90EF90089508 +:1039300008956093BB017093BC018093BD01909387 +:10394000BE010C94C9180F931F930091BB011091F5 +:10395000BC012091BD013091BE01DC01CB01802B67 +:10396000912BA22BB32B8093BB019093BC01A0930E +:10397000BD01B093BE011F910F910C94C9180F9314 +:103980001F930091BB011091BC012091BD013091AA +:10399000BE01DC01CB0180239123A223B3238093BA +:1039A000BB019093BC01A093BD01B093BE011F91D8 +:1039B0000F910C94C9180F931F930091BB011091A4 +:1039C000BC012091BD013091BE01DC01CB018027FB +:1039D0009127A227B3278093BB019093BC01A093AA +:1039E000BD01B093BE011F910F910C94C9181092A4 +:1039F000B7011092B8011092B9011092BA010C945B +:103A0000C91841E050E060E070E004C0440F551F69 +:103A1000661F771F8A95D2F74093B7015093B8017C +:103A20006093B9017093BA010C94C91841E050E059 +:103A300060E070E004C0440F551F661F771F8A9531 +:103A4000D2F78091B7019091B801A091B901B091DE +:103A5000BA01482B592B6A2B7B2B4093B70150930B +:103A6000B8016093B9017093BA010C94C91841E090 +:103A700050E060E070E004C0440F551F661F771FE0 +:103A80008A95D2F740955095609570958091B701D1 +:103A90009091B801A091B901B091BA01482359237E +:103AA0006A237B234093B7015093B8016093B90117 +:103AB0007093BA010C94C91841E050E060E070E0E6 +:103AC00004C0440F551F661F771F8A95D2F7809157 +:103AD000B7019091B801A091B901B091BA014827FE +:103AE00059276A277B274093B7015093B801609309 +:103AF000B9017093BA010C94C9180F931F930091E8 +:103B0000B7011091B8012091B9013091BA01DC01DF +:103B1000CB01802B912BA22BB32B8093B7019093D9 +:103B2000B801A093B901B093BA011F910F910C9401 +:103B3000C9180F931F930091B7011091B8012091FC +:103B4000B9013091BA01DC01CB0180239123A2237A +:103B5000B3238093B7019093B801A093B901B093B8 +:103B6000BA011F910F910C94C9180F931F930091E4 +:103B7000B7011091B8012091B9013091BA01DC016F +:103B8000CB0180279127A227B3278093B701909379 +:103B9000B801A093B901B093BA011F910F910C9491 +:103BA000C9180895CF92DF92EF92FF920F931F935F +:103BB000CF93DF938C01C090BB01D090BC01E0900B +:103BC000BD01F090BE018091B7019091B801A09124 +:103BD000B901B091BA01C82AD92AEA2AFB2ACFE151 +:103BE000D0E0D701C6010C2E04C0B695A7959795D5 +:103BF00087950A94D2F780FF06C0B8018C2F0E94E7 +:103C0000740A019721F4219760F780E001C08C2F9E +:103C1000DF91CF911F910F91FF90EF90DF90CF90A8 +:103C20000895CF93DF93EC010E94D21DBE010E9444 +:103C3000740ADF91CF910895CB010E94111E08955F +:103C40008091BF0185958595859508958091BF01E7 +:103C50008770089598E0899F90011124262B209366 +:103C6000BF010C94161D2091BF0180958223809383 +:103C7000BF01982F977069F430E0482F552747FD12 +:103C800050952417350729F08595859585950C94D1 +:103C9000371D08959091BF01977081E009F480E08D +:103CA000089590910B01992321F090910C019111AD +:103CB00009C020910D0130910E01F90132969FEF5C +:103CC00040E030C0982F9695969596959F30A0F439 +:103CD000E0910D01F0910E01E90FF11D877021E0D7 +:103CE00030E0A90102C0440F551F8A95E2F7CA01CE +:103CF0009181892B818308959091D40190FF23C0F5 +:103D00001F928F9387E995E09F938F930E94D0062F +:103D10000F900F900F900F9008959F3F39F04F5FD5 +:103D20004E3041F051915813F8CF0DC05111F7CFDB +:103D3000942FF5CF9F3F39F0F901E90FF11D97FD61 +:103D4000FA9582830895089590910B01992321F0AB +:103D500090910C01911109C020910D0130910E013B +:103D6000F9013296205F3F4F30C0982F9695969577 +:103D700096959F30A8F4E0910D01F0910E01E90FA6 +:103D8000F11D877021E030E0A90102C0440F551FEA +:103D90008A95E2F7CA0180959181892381830895EC +:103DA0009091D40190FF16C01F928F9389E795E000 +:103DB0009F938F930E94D0060F900F900F900F90BB +:103DC00008953196E217F30729F090819813F9CFFF +:103DD0001082F7CF089581E090E0E0910D01F0911D +:103DE0000E01E80FF91F1082019680319105A9F7A5 +:103DF00008958091D30108959091D301892B8093E8 +:103E0000D301089580959091D30189238093D301A4 +:103E100008951092D30108959091D201892B809337 +:103E2000D201089580959091D20189238093D20187 +:103E300008951092D20108959091D101892B809319 +:103E4000D101089580959091D10189238093D1016A +:103E500008951092D10108958093C00108951092A1 +:103E6000C001089580910D0190910E01FC013196E1 +:103E70009C01205F3F4F80E0919191118F5FE2178D +:103E8000F307D1F70895E0910D01F0910E018091B3 +:103E9000D3018083E0910D01F0910E01908180911A +:103EA000D201892B8083E0910D01F0910E01908168 +:103EB0008091D101892B80838091C001882361F09A +:103EC000E0910D01F0910E019081892B80830E9479 +:103ED000321F81111092C00180910D0190910E014D +:103EE0000C94DC139093370180933601089520E001 +:103EF000009739F0AC0141505109842395232F5F7D +:103F0000F7CF822F08958295982F9C7C392F369574 +:103F10003695282F237344E0249FC0011124932F4A +:103F2000982B292F2A7A2695892F8575880F822B21 +:103F300008951F93CF93DF931F92CDB7DEB7998378 +:103F40000E94831F182F9981892F0E94831F212F80 +:103F500030E0322F2227A901482BCA010F90DF91B0 +:103F6000CF911F9108958091DF01843039F1109233 +:103F7000D50120E488E190E00FB6F894A8958093ED +:103F800060000FBE2093600080E00E94E40680E0A5 +:103F90000E94110B83B7817F846083BF83B78160E8 +:103FA00083BF7894889583B78E7F83BF88E10FB6EF +:103FB000F89480936000109260000FBE08950895F9 +:103FC000089580E00E94E4060E94DF1F0E946C0BAF +:103FD0000E94E01F0E941F0C91E0811101C090E03F +:103FE000892F08950E94D91880E00E94E4060E945B +:103FF0009B250E94D0130C94110B1F920F920FB6A9 +:104000000F9211248F939F93AF93BF938091D5010B +:10401000811113C08091D6019091D701A091D80150 +:10402000B091D9014196A11DB11D8093D601909305 +:10403000D701A093D801B093D901BF91AF919F91BF +:104040008F910F900FBE0F901F90189582E084BD46 +:1040500093E095BD9AEF97BD80936E0008952FB7BA +:10406000F8948091D6019091D701A091D801B09198 +:10407000D9012FBF0895CF92DF92EF92FF920F9355 +:104080001F932FB7F8944091D6015091D7016091BA +:10409000D8017091D9012FBF6A017B01EE24FF2462 +:1040A0008C0120E030E0C016D106E206F30610F4E1 +:1040B000415051099A01281B390BC9011F910F91D9 +:1040C000FF90EF90DF90CF9008951F920F920FB660 +:1040D0000F9211248F939F93AF93BF938091D6013A +:1040E0009091D701A091D801B091D9010196A11D5D +:1040F000B11D8093D6019093D701A093D801B093BE +:10410000D901BF91AF919F918F910F900FBE0F90EA +:104110001F9018950E94CE10F8942FEF87EA91E631 +:10412000215080409040E1F700C0000087E090EB14 +:10413000DC018093EA019093EB01A093EC01B09332 +:10414000ED019CE088E10FB6F894A895809360009B +:104150000FBE90936000FFCFEF92FF920F931F93DB +:10416000CF93DF93D82FC9E08C2F0E94E70B07E095 +:1041700010E0E82EF12CC701002E02C0959587951E +:104180000A94E2F780FF09C0602F7C2F80E00E9434 +:10419000ED07D81302C081E006C00150110958F79D +:1041A000C15010F780E0DF91CF911F910F91FF90E8 +:1041B000EF900895CF93C82F8CE20E94AC20882303 +:1041C00021F08C2FCF910C94AC2080E0CF910895FA +:1041D000CF930E943C22811102C00E941D228CEBD1 +:1041E00095E00E943706C5E6C15049F00E946C0B6D +:1041F0008FE39CE90197F1F700C00000F5CF85EB54 +:1042000095E00E94370689E20E94DA20811113C1ED +:104210008AE20E94DA2081110E941D2285E00E941C +:10422000DA2081110E948A200E9447228093D401C3 +:1042300087E00E94DA208823A9F18BE10E94DA202E +:10424000882351F08091D40181FB222720F991E04D +:10425000922790FB81F90EC08EE00E94DA2088231D +:1042600061F08091D40182FB222720F991E092270E +:1042700090FB82F98093D40115C080E10E94DA207E +:104280009091D401882341F093FB222720F981E00B +:10429000822780FB93F904C0892F809580FB90F9D9 +:1042A0009093D4018091D4010E944B220E94592204 +:1042B0008093E80180EE0E94DA20882341F080910B +:1042C000E801982F909590FB80F98093E80189E3AD +:1042D0000E94DA20882359F08091E80181FB22278F +:1042E00020F991E0922790FB81F98093E80182EE1A +:1042F0000E94DA20882359F08091E80182FB22276E +:1043000020F991E0922790FB82F98093E80186EEF4 +:104310000E94DA20882359F08091E80183FB22274C +:1043200020F991E0922790FB83F98093E80183EED6 +:104330000E94DA20882359F08091E80184FB22272B +:1043400020F991E0922790FB84F98093E80185E3BE +:104350000E94DA20882359F08091E80185FB22270A +:1043600020F991E0922790FB85F98093E80181E3A1 +:104370000E94DA20882359F08091E80186FB2227E9 +:1043800020F991E0922790FB86F98093E80181E182 +:104390000E94DA20882359F08091E80187FB2227C8 +:1043A00020F991E0922790FB87F98093E8018091B2 +:1043B000E8010E945D228091E80187FB882780F94F +:1043C00080930C0187E20E94DA20C82F8EE10E94C0 +:1043D000DA208111C2608FE10E94DA208111C4606D +:1043E00080E20E94DA208111C86081E20E94DA2016 +:1043F0008111C06182E20E94DA208111C06283E2F1 +:104400000E94DA208111C06484E20E94DA208823AD +:1044100011F0C06802C0CC2329F08C2F0E945422D6 +:104420006C2F03C00E945022682F70E080E090E063 +:10443000CF910C94991CCF9108956DEE7EEF80E0A2 +:1044400090E00E94AA2660E082E090E00E94982618 +:1044500060E083E090E00E94982660E084E090E0D5 +:104460000E94982660E085E090E00E94982660E037 +:1044700086E090E00C94982680E090E00E949226DE +:1044800021E08D3E9E4F09F020E0822F089582E0CA +:1044900090E00C948A26682F82E090E00C94982695 +:1044A00083E090E00C948A26682F83E090E00C94DF +:1044B000982684E090E00C948A26682F84E090E0AF +:1044C0000C94982686E090E00C948A26682F86E06B +:1044D00090E00C949826CF93C82F1F928F9387ED6E +:1044E00095E09F938F930E94D00681E090E0A0E03A +:1044F000B0E0BC01CD0104C0660F771F881F991F73 +:10450000CA95D2F70E94991C0F900F900F900F90B0 +:10451000CF910C94D918CF938B3109F40FC208F0C6 +:1045200049C08E3009F41EC200F5873009F4E7C196 +:10453000A8F4863009F0A4C28091D401817F8E7FD7 +:104540008093D40185E797E00E94370681E69BE0DF +:104550000E94370681E08093DA01CFC1883009F4E8 +:104560005BC08B3009F4C5C18BC2813109F470C2C4 +:1045700020F4803109F40AC283C2863109F421C2D1 +:10458000893109F07DC286E697E00E9437068BE309 +:1045900097E00E94370689EE96E00E9437068CEB82 +:1045A00096E00E94370680E896E00E94370685E58F +:1045B00096E0A1C1853309F45FC268F4873209F43B +:1045C0005BC228F48E3108F45BC28D5156C2893229 +:1045D00009F452C255C2833438F48A3308F04AC20F +:1045E000883309F486C14CC2833409F445C2883447 +:1045F00009F046C20E94D91885E49BE00E94370664 +:104600009FEF23ED80E3915020408040E1F700C010 +:1046100000000E948A2071C185E69BE00E94370657 +:1046200082EB9AE00E9437060E9450221F928F93DD +:104630008FEA9AE09F938F930E94D0068DEA9AE0CA +:104640000E9437060E944722C82F8AE99AE00E94FA +:1046500037061F92CF9385E99AE09F938F930E942C +:10466000D00683E99AE00E94370689E89AE00E9422 +:1046700037068C2F81701F928F9386E89AE09F9364 +:104680008F930E94D00684E89AE00E9437068AE75A +:104690009AE00E943706C1FB882780F91F928F930A +:1046A00087E79AE09F938F930E94D00685E79AE070 +:1046B0000E94370689E69AE00E943706C2FB8827E7 +:1046C00080F91F928F9386E69AE09F938F930E94C2 +:1046D000D00684E69AE00E9437068BE59AE00E94B5 +:1046E0003706C3FBCC27C0F91F92CF9388E59AE029 +:1046F0009F938F930E94D00686E59AE00E9437062A +:104700000E945922C82F82E49AE00E9437061F9225 +:10471000CF938DE39AE09F938F930E94D0068BE313 +:104720009AE00E94370682E29AE00E9437068C2FB8 +:1047300081701F928F938FE19AE09F938F930E94D5 +:10474000D0068DB79EB780960FB6F8949EBF0FBE69 +:104750008DBF8DE19AE00E94370686E09AE00E94C4 +:104760003706C1FB882780F91F928F9383E09AE078 +:104770009F938F930E94D00681E09AE00E943706B3 +:104780008FEE99E00E943706C2FB882780F91F92BE +:104790008F938CEE99E09F938F930E94D0068AEEC0 +:1047A00099E00E94370688ED99E00E943706C3FB26 +:1047B000882780F91F928F9385ED99E09F938F93BF +:1047C0000E94D00683ED99E00E94370689EC99E0BB +:1047D0000E943706C4FB882780F91F928F9386ECCE +:1047E00099E09F938F930E94D00684EC99E00E94F9 +:1047F000370682EB99E00E943706C5FB882780F9CF +:104800001F928F938FEA99E09F938F930E94D00617 +:104810008DEA99E00E94370681E999E00E94370607 +:10482000C6FB882780F91F928F938EE899E09F93AB +:104830008F930E94D0068CE899E00E94370684E8A6 +:1048400099E00E943706C7FBCC27C0F91F92CF938F +:1048500081E899E09F938F930E94D0068FE799E0BB +:104860000E9437060E946222C82F88E699E00E94C3 +:1048700037061F92CF9383E699E09F938F930E9410 +:10488000D0068DB79EB780960FB6F8949EBF0FBE28 +:104890008DBF81E699E00E94370687E599E00E9486 +:1048A00037068C2F81701F928F9384E599E09F9338 +:1048B0008F930E94D00682E599E00E94370689E432 +:1048C00099E00E943706C6951F92CF9386E499E03F +:1048D0009F938F930E94D00684E499E00E9437064C +:1048E0008DB79EB708960FB6F8949EBF0FBE8DBFCA +:1048F00004C080E997E00E943706C1E0C6C08091FD +:10490000D401C82FC095C170C0FB80F98093D40139 +:10491000CC2349F089E39BE00E9437068091D401C3 +:104920008660886048C08CE29BE00E9437068091D8 +:10493000D401897F877F8093D401DFCF9091D40108 +:1049400091FBCC27C0F981E0C827892FC0FB81F9F2 +:104950008093D401CC2319F08FE19BE027C081E143 +:104960009BE0C9CF9091D40192FBCC27C0F981E0A4 +:10497000C827892FC0FB82F98093D401CC2319F07A +:1049800082E09BE013C082EF9AE0B5CF9091D40112 +:1049900093FBCC27C0F981E0C827892FC0FB83F99E +:1049A0008093D401CC2351F086EE9AE00E94370622 +:1049B0008091D40181608093D40167C089ED9AE031 +:1049C0009ACF87E496E00E9437060E94D0131F9288 +:1049D0008F938DE296E09F938F930E94D0068091F3 +:1049E0000B011F928F9386E196E09F938F930E9415 +:1049F000D00680916D011F928F9383E096E09F9384 +:104A00008F930E94D00680910C011F928F9380EFAC +:104A100095E09F938F930E94D0068091D60190914C +:104A2000D701A091D801B091D901BF93AF939F93C3 +:104A30008F938CED95E09F938F930E94D0068DB756 +:104A40009EB746960FB6F8949EBF0FBE8DBF55CF4A +:104A50000E94D918C0910C0181E0C827C0930C01B5 +:104A6000CC2329F08FEC9AE00E9437060EC084EC2C +:104A70009AE041CF895301C080E00E946B223DCF74 +:104A800082EC9AE00E943706C0E08C2FCF91089507 +:104A900080E0089580E00895CF93C82F8091DA01D7 +:104AA000882319F0813049F03EC0E0910D01F0916A +:104AB0000E0180818232C9F507C0E0910D01F091AD +:104AC0000E018081823261F48C2F0E944825811171 +:104AD00004C08C2F0E948B2224C081E090E021C072 +:104AE0008C2F0E944A2581111BC0C43189F018F413 +:104AF000CB3029F010C0C93259F0C83361F485E7D2 +:104B000097E00E94370683ED95E00E94370608C0C3 +:104B10001092DA010CC081ED95E00E94370607C0C3 +:104B200081E0817006C01092DA0180E002C080E06E +:104B3000F8CFCF9108950E943C22811102C00E94BB +:104B40001D220E9462228093E90180FF02C08695A7 +:104B500001C080E00C94E4068091E901982F9695BD +:104B600039F48170826081608093E9010E9466223D +:104B70008091D40180FF0FC08091E90186951F923A +:104B80008F9382EB9BE09F938F930E94D0060F90B0 +:104B90000F900F900F908091E90186950C94E40698 +:104BA0008091E901982F969591F09158990F817015 +:104BB000892B8093E9018E7F91E009F490E0809148 +:104BC000E90190FB80F98093E9010E9466228091BF +:104BD000D40180FF0FC08091E90186951F928F93C9 +:104BE0008AE99BE09F938F930E94D0060F900F90CD +:104BF0000F900F908091E90186950C94E4068091C6 +:104C0000E901982F909590FB80F98093E9010E942B +:104C100066228091D40180FF0FC08091E9018170EC +:104C20001F928F9384E89BE09F938F930E94D006FE +:104C30000F900F900F900F908091E90180FF02C0BC +:104C4000869501C080E00C94E4069091E901892FDB +:104C500086958F5F8F779170823028F4880F892B2B +:104C60008093E90102C09093E9018091E9018E7F70 +:104C700091E009F490E08091E90190FB80F9809344 +:104C8000E9010E9466228091D40180FF0FC08091CB +:104C9000E90186951F928F9380E79BE09F938F9306 +:104CA0000E94D0060F900F900F900F908091E90115 +:104CB00086950C94E4062091E901922F9695892718 +:104CC000982F990F822F8170892B8093E9018E7F15 +:104CD00091E009F490E08091E90190FB80F98093E4 +:104CE000E9010E9466228091E90186950C94E40610 +:104CF000991B79E004C0991F961708F0961B881F2E +:104D00007A95C9F780950895EE0FFF1F0590F491ED +:104D1000E02D0994F999FECF92BD81BDF89A9927AB +:104D200080B50895A8E1B0E042E050E00C94B226CE +:104D3000262FF999FECF92BD81BDF89A019700B454 +:104D4000021639F01FBA20BD0FB6F894FA9AF99AF4 +:104D50000FBE08950196272F0E9499260C9498263D +:104D6000DC01CB01FC01F999FECF06C0F2BDE1BD2B +:104D7000F89A319600B40D9241505040B8F708951A +:044D8000F894FFCFD5 +:104D8400FF350C040D380CD00C9C0C0101C1010F33 +:104D94001F4F5F6F7F6C1323766663530333593958 +:104DA400293F3620390705D104B104780404041DD1 +:064DB40004360456040061 +:00000001FF diff --git a/keyboard/clueboard2/keymaps/skully/keymap.c b/keyboard/clueboard2/keymaps/skully/keymap.c new file mode 100644 index 0000000000..74a03f2f30 --- /dev/null +++ b/keyboard/clueboard2/keymaps/skully/keymap.c @@ -0,0 +1,108 @@ +#include "clueboard2.h" + +// Used for SHIFT_ESC +#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)) + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +#define _BL 0 +#define _FL 1 +#define _RS 2 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Keymap _BL: (Base Layer) Default Layer + * ,--------------------------------------------------------------------------. ,----. + * |Esc~| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| \| BS| |PGUP| + * |--------------------------------------------------------------------------| |----| + * | Tab| Q| W| E| R| T| Y| U| I| O| P| [| ]| \| |PGDN| + * |--------------------------------------------------------------------------| `----' + * |Capslck| A| S| D| F| G| H| J| K| L| ;| '| # | Ent| + * |-----------------------------------------------------------------------------. + * |Shift| BS| Z| X| C| V| B| N| M| ,| .| /| BS|Shift| UP| + * |------------------------------------------------------------------------|----|----. + * | Ctrl| Gui| Alt| MHen| Space| Space| Hen| Alt| Ctrl| _FL|LEFT|DOWN|RGHT| + * `----------------------------------------------------------------------------------' + */ +[_BL] = KEYMAP( + F(0), 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_GRV, KC_BSPC, KC_PGUP, \ + 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_PGDN, \ + KC_LCTL,KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, \ + KC_LSFT,KC_NUBS,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSFT, KC_UP, \ + KC_LCTL,KC_LALT,KC_LGUI,MO(_FL), KC_SPC, KC_SPC, MO(_FL), KC_RGUI, KC_RCTL, MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT), + + /* Keymap _FL: Function Layer + * ,--------------------------------------------------------------------------. ,----. + * | `| F1| F2| F3| F4| F5| F6| F7| F8| F9| F10| F11| F12| | Del| |BLIN| + * |--------------------------------------------------------------------------| |----| + * | | | | | | | | |PScr|SLck|Paus| | | | |BLDE| + * |--------------------------------------------------------------------------| `----' + * | | | _RS| | | | | | | | | | | | + * |-----------------------------------------------------------------------------. + * | | | | | | | | | | | | | | |PGUP| + * |------------------------------------------------------------------------|----|----. + * | | | | | | | | | | _FL|HOME|PGDN| END| + * `----------------------------------------------------------------------------------' + */ +[_FL] = KEYMAP( + 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_TRNS,KC_DEL, BL_STEP, \ + KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_PSCR,KC_SLCK,KC_PAUS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, \ + KC_TRNS,KC_TRNS,MO(_RS),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_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_PGUP, \ + KC_TRNS,KC_TRNS,KC_TRNS,MO(_FL), KC_TRNS,KC_TRNS, MO(_FL),KC_TRNS,KC_TRNS,MO(_FL),KC_HOME,KC_PGDN,KC_END), + + /* Keymap _RS: Reset layer + * ,--------------------------------------------------------------------------. ,----. + * | | | | | | | | | | | | | | | | | | + * |--------------------------------------------------------------------------| |----| + * | | | | |RESET| | | | | | | | | | | | + * |--------------------------------------------------------------------------| `----' + * | | | _RS| | | | | | | | | | | | + * |-----------------------------------------------------------------------------. + * | | | | | | | | | | | | | | | | + * |------------------------------------------------------------------------|----|----. + * | | | | | | | | | | _FL| | | | + * `----------------------------------------------------------------------------------' + */ +[_RS] = KEYMAP( + 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_TRNS,KC_TRNS, KC_TRNS, \ + KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,RESET, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, \ + KC_TRNS,KC_TRNS,MO(_RS),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_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_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,MO(_FL),KC_TRNS, KC_TRNS, KC_TRNS), +}; + +enum function_id { + SHIFT_ESC, +}; + +const uint16_t PROGMEM fn_actions[] = { + [0] = ACTION_FUNCTION(SHIFT_ESC), +}; + +void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { + static uint8_t shift_esc_shift_mask; + switch (id) { + case SHIFT_ESC: + shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK; + if (record->event.pressed) { + if (shift_esc_shift_mask) { + add_key(KC_GRV); + send_keyboard_report(); + } else { + add_key(KC_ESC); + send_keyboard_report(); + } + } else { + if (shift_esc_shift_mask) { + del_key(KC_GRV); + send_keyboard_report(); + } else { + del_key(KC_ESC); + send_keyboard_report(); + } + } + break; + } +} -- cgit v1.2.3