diff options
Diffstat (limited to 'keyboard')
18 files changed, 5971 insertions, 4 deletions
diff --git a/keyboard/ergodox_ez/README.md b/keyboard/ergodox_ez/README.md index 5280698a62..8085e5cd87 100644 --- a/keyboard/ergodox_ez/README.md +++ b/keyboard/ergodox_ez/README.md @@ -1,6 +1,30 @@ -# Some tips on navigating the Quantum codebase +# Getting started -## These are the keycodes you're looking for +There are two main ways you could customize the ErgoDox EZ. + +## The Easy Way: Use an existing firmware file and just flash it + +1. Download and install the [Teensy Loader](https://www.pjrc.com/teensy/loader.html) +2. Find a firmware file you like. You can find a few if these in the keymaps subdirectory right here. The file you need ends with .hex, and you can look at its .c counterpart (or its PNG image) to see what you'll be getting. You can also use the [Massdrop configurator](https://keyboard-configurator.massdrop.com/ext/ergodox) to create a firmware Hex file you like. +3. Download the firmware file +4. Connect the keyboard, press its Reset button (gently insert a paperclip into the hole in the top-right corner) and flash it using the Teensy loader you installed on step 1 and the firmware you downloaded. + +## More technical: create your own totally custom firmware by editing the source files. + +This requires a little bit of familiarity with coding. + +1. Go to https://github.com/jackhumbert/qmk_firmware and read the Readme at the base of this repository, top to bottom. Then come back here :) +2. Clone the repository (download it) +3. Set up a build environment as per https://www.pjrc.com/teensy/gcc.html +4. Copy `keymaps/keymap_default.c` into `keymaps/keymaps_your_name.c` (for example, `keymaps/keymap_german.c`) +5. Edit this file, changing keycodes to your liking (see "Finding the keycodes you need" below). Try to edit the comments as well, so the "text graphics" represent your layout correctly. +6. Compile your firmware by running `make clean` followed by `make KEYMAP=your_name`. Note that you must omit the `keymap_` prefix for your filename in this command -- for example, `make KEYMAP=german`. This will result in a hex file, which will always be called `ergodox_ez.hex`, regardless of your keymap name. +6. Flash this hex file using the [Teensy loader](https://www.pjrc.com/teensy/loader.html) as described in step 4 in the "Easy Way" above. +7. Submit your work as a pull request to this repository, so others can also use it. :) + +Good luck! :) + +## Finding the keycodes you need Let's say you want a certain key in your layout to send a colon; to figure out what keycode to use to make it do that, you're going to need `quantum/keymap_common.h`. diff --git a/keyboard/ergodox_ez/keymaps/keymap_default.c b/keyboard/ergodox_ez/keymaps/keymap_default.c index 9beadf12f3..b2a318b987 100644 --- a/keyboard/ergodox_ez/keymaps/keymap_default.c +++ b/keyboard/ergodox_ez/keymaps/keymap_default.c @@ -2,7 +2,6 @@ #include "debug.h" #include "action_layer.h" -// TODO: Define layer names that make sense for the ErgoDox EZ. #define BASE 0 // default layer #define SYMB 1 // symbols #define MDIA 2 // media keys @@ -120,7 +119,7 @@ KEYMAP( KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN3, KC_BTN2, + KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2, KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2, KC_TRNS, diff --git a/keyboard/ergodox_ez/keymaps/keymap_default.hex b/keyboard/ergodox_ez/keymaps/keymap_default.hex new file mode 100644 index 0000000000..72e7da00cc --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/keymap_default.hex @@ -0,0 +1,1467 @@ +:100000000C9403070C9447070C9447070C9447077C
+:100010000C9447070C9447070C9447070C94470728
+:100020000C9447070C9447070C9432120C94041359
+:100030000C9447070C9447070C9447070C94470708
+:100040000C9447070C94DC2B0C9447070C9447073F
+:100050000C9447070C94E3210C9447070C94470732
+:100060000C9447070C9447070C9447070C944707D8
+:100070000C9447070C9447070C9447070C944707C8
+:100080000C9447070C9447070C9447070C944707B8
+:100090000C9447070C9447070C9447070C944707A8
+:1000A0000C9447070C9447070C94470769138B136C
+:1000B00076148B137614CD13F0137614451458145C
+:1000C000A617A617D417D41717185318541A541A6A
+:1000D0006B18541A621962192E1A541A541A421AB9
+:1000E0000000F0A12E004C002A00E1003581000044
+:1000F0001E00140004001D7134004D001F001A0082
+:1001000016001B00E1042A0020000800070006007A
+:1001100050002C0021001500090019004F004A0072
+:10012000220017000A000500000065745000015409
+:100130000000007F0000E3004F0001540000007742
+:100140000000E20023001C000B00110000002971D8
+:10015000240018000D00100052004B0025000C0078
+:100160000E00360051002800260012000F00370054
+:100170002F002B00270013003382387130004E000F
+:100180002D0031003400E500C10000000100010035
+:1001900001000100010000003A001E0220022202BC
+:1001A000010001003B001F022102230201000100A7
+:1001B0003C002F0226022F00010001003D0030020A
+:1001C00027023000010001003E00310235003502F7
+:1001D000000001000100010000000100000001001A
+:1001E0000100010000000100000001003F0052007A
+:1001F00051002402000001004000240021001E00E4
+:10020000010001004100250022001F00370001000D
+:1002100042002600230020002700010043002502A1
+:100220002E0231002E0001004400450001000100B3
+:1002300001000000010001000100010001000000B8
+:1002400001000100010001000100010001000100A6
+:10025000F2000100010001000100F000F1000100C6
+:10026000F400010001000100F3000100F5000100AD
+:100270000100010001000100000001000100010077
+:100280000000010000000100010001000000010069
+:100290000000010001000100010001000000010058
+:1002A0000100010001000100A9000100010001009E
+:1002B0000100AC00AA00B600010001000100AB0083
+:1002C000A80001000100010001000100010001007F
+:1002D00001000100AE000100010000000A0025300D
+:1002E000313662003A200025303258000A722F63FE
+:1002F0002030313233343536373839414243444582
+:10030000460A000A002530325800626F756E636538
+:10031000213A20006C6566742073696465206174FD
+:100320007461636865640A006C656674207369644F
+:1003300065206E6F7420726573706F6E64696E678E
+:100340000A00747279696E6720746F207265736534
+:1003500074206D637032333031380A000A444542EC
+:1003600055473A20656E61626C65642E0A005B73C6
+:100370005D004B6579626F617264207374617274A1
+:100380002E0A005B575D005B535D005B525D005BB6
+:10039000445D005B435D0016034500720067006F1B
+:1003A0000044006F007800200045005A000000164D
+:1003B000034500720067006F0044006F0078002062
+:1003C0000045005A0000000403090409028D0005DD
+:1003D0000100A0FA09040000010301010009211134
+:1003E000010001223F000705810308000A090401FA
+:1003F000000103010200092111010001224D000743
+:1004000005820308000A0904020001030000000934
+:1004100021110100012236000705830308000A09A3
+:100420000403000203000000092111010001222041
+:1004300000070584032000010705040320000109CB
+:100440000404000103000000092111010001223908
+:1004500000070585031000011201100100000008CB
+:10046000EDFE071301000102000105010906A101CB
+:10047000050719E029E71500250195087501810296
+:100480000508190129059505750191029501750366
+:100490009101050719002977150025019578750147
+:1004A0008102C00631FF0974A1010975150025FFFD
+:1004B0009520750881020976150025FF952075089D
+:1004C0009102C005010980A101850216010026B72D
+:1004D000001A01002AB700751095018100C0050CB3
+:1004E0000901A1018503160100269C021A01002AB8
+:1004F0009C02751095018100C005010902A1010946
+:1005000001A10005091901290515002501950575A9
+:100510000181029501750381010501093009311539
+:1005200081257F95027508810609381581257F95FB
+:100530000175088106050C0A38021581257F950191
+:1005400075088106C0C005010906A101050719E06B
+:1005500029E71500250195087501810295017508A7
+:10056000810105081901290595057501910295017B
+:10057000750391010507190029FF150025FF950650
+:1005800075088100C00A002530325820006B65795B
+:10059000626F6172645F7265706F72743A20000AF4
+:1005A0000025303258006B6579626F6172645F7349
+:1005B00065745F6C65643A200064656C5F6B657997
+:1005C0005F6269743A2063616E27742064656C3AD7
+:1005D00020253032580A006164645F6B65795F6280
+:1005E00069743A2063616E2774206164643A20253F
+:1005F0003032580A00646F6E652E0A00626F6F67B2
+:100600006D61676963207363616E3A202E2E2E2020
+:1006100000290A002575002F002575005D2800259A
+:10062000640020002564002000256400200025646B
+:10063000007C0025303258006D6F7573656B6579ED
+:10064000205B62746E7C782079207620685D287249
+:1006500065702F61636C293A205B006D6B5F776872
+:1006600065656C5F74696D655F746F5F6D6178203F
+:100670003D2025640A006D6B5F776865656C5F6D72
+:1006800061785F7370656564203D2025640A006DA4
+:100690006B5F74696D655F746F5F6D6178203D207D
+:1006A00025640A006D6B5F6D61785F7370656564CA
+:1006B000203D2025640A006D6B5F696E746572765B
+:1006C000616C203D2025640A006D6B5F64656C6180
+:1006D00079203D2025640A006D6B5F776865656C45
+:1006E0005F74696D655F746F5F6D6178203D202573
+:1006F000640A006D6B5F776865656C5F6D61785F3C
+:100700007370656564203D2025640A006D6B5F741D
+:10071000696D655F746F5F6D6178203D2025640AA7
+:10072000006D6B5F6D61785F7370656564203D205F
+:1007300025640A006D6B5F696E74657276616C206A
+:100740003D2025640A006D6B5F64656C6179203D16
+:100750002025640A000A00257500363A207768656E
+:10076000656C5F74696D655F746F5F6D61783A2069
+:10077000000A00257500353A20776865656C5F6D65
+:1007800061785F73706565643A20000A0025750022
+:10079000343A2074696D655F746F5F6D61783A20DB
+:1007A000000A00257500333A206D61785F7370652B
+:1007B00065643A20000A00257500323A20696E749B
+:1007C000657276616C286D73293A20000A002575E0
+:1007D00000313A2064656C6179282A31306D7329C3
+:1007E0003A20000A092D2056616C756573202D0A88
+:1007F000004D3E004D25643E20003F00736574208F
+:1008000064656661756C740A00433E200077686514
+:1008100072652064656C74613A20637572736F72DF
+:100820003D25642C20776865656C3D25640A536519
+:100830006520687474703A2F2F656E2E77696B6926
+:1008400070656469612E6F72672F77696B692F4DD0
+:100850006F7573655F6B6579730A000A092D204D0A
+:100860006F7573656B6579202D0A4553432F713A77
+:1008700009717569740A313A0964656C6179282ACD
+:1008800031306D73290A323A09696E746572766186
+:100890006C286D73290A333A096D61785F7370654E
+:1008A00065640A343A0974696D655F746F5F6D61E0
+:1008B000780A353A09776865656C5F6D61785F73B2
+:1008C000706565640A363A09776865656C5F7469B6
+:1008D0006D655F746F5F6D61780A0A703A097072B6
+:1008E000696E742076616C7565730A643A09736584
+:1008F000742064656661756C74730A75703A092BAF
+:10090000310A646F776E3A092D310A706775703A53
+:10091000092B31300A7067646F776E3A092D3130D8
+:100920000A0A7370656564203D2064656C746120FB
+:100930002A206D61785F7370656564202A202872B3
+:100940006570656174202F2074696D655F746F5FD9
+:100950006D6178290A003F004D3E2000433E200093
+:100960004C25640A000A092D20436F6E736F6C6575
+:10097000202D0A4553432F713A09717569740A6D28
+:100980003A096D6F7573656B65790A000A092D2048
+:100990004D61676963202D0A643A09646562756771
+:1009A0000A783A096465627567206D6174726978C6
+:1009B0000A6B3A096465627567206B6579626F61DD
+:1009C00072640A6D3A096465627567206D6F7573AC
+:1009D000650A763A0976657273696F6E0A733A0929
+:1009E0007374617475730A633A09636F6E736F6C25
+:1009F00065206D6F64650A302D343A096C61796544
+:100A000072302D34284631302D4634290A50617514
+:100A1000733A09626F6F746C6F616465720A653A4C
+:100A200009656570726F6D0A6E3A094E4B524F0A36
+:100A30007A3A09736C656570204C4544207465737F
+:100A4000740A000A002575002E6E6B726F3A200042
+:100A50000A002575002E737761705F6261636B73A6
+:100A60006C6173685F6261636B73706163653A2088
+:100A7000000A002575002E737761705F67726176DA
+:100A8000655F6573633A20000A002575002E6E6F5E
+:100A90005F6775693A20000A002575002E7377613B
+:100AA000705F72616C745F726775693A20000A004A
+:100AB0002575002E737761705F6C616C745F6C6775
+:100AC00075693A20000A002575002E636170736C09
+:100AD0006F636B5F746F5F636F6E74726F6C3A20DD
+:100AE000000A002575002E737761705F636F6E7466
+:100AF000726F6C5F636170736C6F636B3A20000A96
+:100B00000025303258006B65796D61705F636F6EE0
+:100B10006669672E7261773A20000A002575002EFB
+:100B20006D6F7573653A20000A002575002E6B65A0
+:100B300079626F6172643A20000A002575002E6D9B
+:100B400061747269783A20000A002575002E656E7E
+:100B500061626C653A20000A0025303258006465F5
+:100B60006275675F636F6E6669672E7261773A20A0
+:100B7000000A0025750064656661756C745F6C61C0
+:100B80007965723A20003F004E4B524F3A206F6613
+:100B9000660A004E4B524F3A206F6E0A0074696D20
+:100BA00065725F636F756E743A202530346C580A35
+:100BB000006B6579626F6172645F6E6B726F3A2071
+:100BC00025580A006B6579626F6172645F69646CB5
+:100BD000653A2025580A006B6579626F6172645F1F
+:100BE00070726F746F636F6C3A2025580A00686FDB
+:100BF00073745F6B6579626F6172645F6C65647357
+:100C000028293A2025580A000A092D2053746174B6
+:100C10007573202D0A004743433A20342E382E3274
+:100C2000204156522D4C4942433A20312E382E3025
+:100C3000204156525F415243483A20617672350A4C
+:100C4000004F5054494F4E533A204C554641204294
+:100C50004F4F544D41474943204D4F5553454B4508
+:100C6000592045585452414B455920434F4E534FFC
+:100C70004C4520434F4D4D414E44204E4B524F204A
+:100C80003531320A004255494C443A2034663435F5
+:100C90003533632D6469727479202830333A3430E7
+:100CA0003A353320446563203138203230313529DC
+:100CB0000A005649443A2030784645454428457252
+:100CC000676F446F7820455A29205049443A2030B4
+:100CD0007831333037284572676F446F7820455A32
+:100CE00029205645523A203078303030310A0044BD
+:100CF0004553433A20742E6D2E6B2E206B6579621E
+:100D00006F617264206669726D7761726520666FCB
+:100D100072204572676F646F780A000A092D2056A9
+:100D2000657273696F6E202D0A000A6D6F757365A9
+:100D30003A206F66660A000A6D6F7573653A206F18
+:100D40006E0A000A6B6579626F6172643A206F66A1
+:100D5000660A000A6B6579626F6172643A206F6E91
+:100D60000A000A6D61747269783A206F66660A003B
+:100D70000A6D61747269783A206F6E0A000A6465C0
+:100D80006275673A206F6E0A000A64656275673A99
+:100D9000206F66660A000A0A626F6F746C6F616486
+:100DA00065722E2E2E2000433E20006565636F6E17
+:100DB0006669673A0A00536C656570204C454420AB
+:100DC000746573740A000000000000000000000059
+:100DD00000010204060A0F17202C3A4A5D71879D14
+:100DE000B3C7DAE9F5FCFFFCF5E9DAC7B39D877113
+:100DF0005D4A3A2C20170F0A060402010000000089
+:100E000000000000000011241FBECFEFDAE0DEBFBB
+:100E1000CDBF04B603FE24C08091F9019091FA0180
+:100E2000A091FB01B091FC018730904BA740B04BE3
+:100E3000B9F41092F9011092FA011092FB0110928C
+:100E4000FC0114BE84B7877F84BF88E10FB6F89495
+:100E500080936000109260000FBEE0E0FFE3099510
+:100E600011E0A0E0B1E0E4E5FBE502C005900D92E1
+:100E7000AA33B107D9F711E0AAE3B1E001C01D928E
+:100E8000A93FB107E1F70E946C0F0C94A82D0C94B8
+:100E90000000FF93EF93E0913A01F0913B0130970E
+:100EA00009F00995EF91FF910895FC01859180303B
+:100EB00011F0EFDFFBCF0895FF27E0E230E247FFBC
+:100EC0000CC0419597FF09C0EDE260957095809543
+:100ED0009095611D711D811D911D27FF02C02195F7
+:100EE00030E350E2AA27660F771F881F991FAA1FB9
+:100EF000A41710F0A41B63955A95A9F7AA3008F01F
+:100F0000A95FA05DAF93F39561157105810591050A
+:100F100041F7ED3211F4EF93F395F21718F43F9384
+:100F2000F395FBCF8F91B5DFFA95E1F70895E9913D
+:100F3000F9918591803021F0853219F0AADFF9CF3F
+:100F4000089520E0E89455915532C1F3503311F4DF
+:100F5000689455915A3348F4505390F3220F022E5F
+:100F6000220F220F200D250FF4CF0EF42195899129
+:100F70009991533619F3533729F1533559F1BC017F
+:100F800088279927E8945C3621F48991999168948F
+:100F90005591543639F446EF7EF077FF0DC08FEF50
+:100FA0009FEF0AC055374AE039F0583540E121F04B
+:100FB000523642E009F00895FF93EF937DDFEF9101
+:100FC000FF91B7CFFF93EF93FC0181918030B9F38C
+:100FD00060DFFBCFFF93EF9368DFF1CFDF93CF9319
+:100FE000CDB7DEB72596A3DFCF91DF9108956111CC
+:100FF0000BC0FC018281882321F085EE0E943A1605
+:1010000003C085EE0E94021780E090E008950895E5
+:101010006091BC017091BD018091BE019091BF01B2
+:101020000E94E72056985E9825982D9826982E982D
+:1010300027982F98813019F0823021F00895259A51
+:101040002D9A0895269A2E9A089588E098E0892B83
+:1010500011F00C940808089556985E9825982D98DC
+:1010600026982E9827982F988FEF90E090938900DC
+:101070008093880090938B0080938A0090938D00DA
+:1010800080938C00569A5E9A259A2D9A269A2E9ACB
+:10109000279A2F9A2FE782E490E1215080409040D8
+:1010A000E1F700C0000056985E9825982D98269884
+:1010B0002E9827982F98089589EA8093800089E0D8
+:1010C0008093810024982C983F988AB18F748AB9B4
+:1010D0006E98479A8BB1806B8BB9769A0E942C08D8
+:1010E00087E098E0892B11F00C940708089580E2BE
+:1010F0008093000180913C0181110EC00E94C608BE
+:1011000081E080933C012FEF83ED90E321508040FC
+:101110009040E1F700C0000080E40E94CC0880937A
+:10112000000181112EC00E94F608809300018111F8
+:1011300028C00E94F60880930001811122C08FE32D
+:101140000E94F6088093000181111BC00E94EE08E6
+:1011500080E40E94CC0880930001811112C08CE0D1
+:101160000E94F6088093000181110BC00E94F608CE
+:1011700080930001811105C08FE30E94F6088093DF
+:1011800000010E94EE088091000108951092B900BC
+:101190008AE08093B800089594EA9093BC009091FF
+:1011A000BC0097FFFCCF9091B900987F983021F058
+:1011B000903111F081E008958093BB0084E8809322
+:1011C000BC008091BC0087FFFCCF8091B900887F74
+:1011D000883111F0803471F780E0089584E98093BC
+:1011E000BC008091BC0084FDFCCF08958093BB00BF
+:1011F00084E88093BC008091BC0087FFFCCF909175
+:10120000B900987F81E0983209F480E0089584E87D
+:101210008093BC008091BC0087FFFCCF8091BB0015
+:10122000089580910001811115C080E40E94CC08CE
+:101230008093000181110CC082E10E94F608809326
+:101240000001811105C08FEF0E94F6088093000114
+:101250000E94EE0884B1807F84B985B1807F85B912
+:101260008AB1837F8AB98BB1837F8BB93E984698C8
+:1012700008950E947708809300010E94110980B3AD
+:101280008C7080BB81B3836F81BBECE4F1E0AEE393
+:10129000B1E011921D9281E0EA35F807D1F78CE5B3
+:1012A00098E0892B11F00C945C0808959F92AF92FE
+:1012B000BF92CF92DF92EF92FF920F931F93CF9343
+:1012C000DF93809100018823E1F080913D018F5FE1
+:1012D00080933D01811115C082E493E00E9455077F
+:1012E0000E94770880930001882329F088E293E028
+:1012F0000E94550706C084E193E00E9455070E94B2
+:101300002C080EE311E0C0E0D0E0BB24B39482E0EF
+:10131000A82ECC24C394D12C25E0E22E23E0F22E7B
+:10132000C73000F580910001811162C080E40E9405
+:10133000CC0880930001811112C082E10E94F6085E
+:101340008093000181110BC0C6010C2E01C0880FD3
+:101350000A94EAF780950E94F608809300010E94A3
+:10136000EE0846C0CA30A1F028F4C83059F0C930A0
+:1013700061F005C0CC3089F070F0CD3089F0209A52
+:10138000289810C0219A29980DC0229A2A980AC03C
+:10139000239A2B9807C0529A01C0539A5B9802C0B7
+:1013A0003E9A4698E0EAEA95F1F78FB1799985C0BF
+:1013B00092E081708B25892B7C9B02C090E001C05C
+:1013C00094E0892B7D9B02C090E001C098E0892BBE
+:1013D0007E9B02C090E001C090E1892B9FB1909567
+:1013E000991F9927991F9295990F907E892B10C06C
+:1013F00080910001811176C080E40E94CC08809326
+:101400000001882309F45BC0912C0E94EE08892D0D
+:10141000F8019081981739F1808380910101882328
+:1014200001F18091D70180FF04C08AE093E00E941F
+:1014300055078091D70180FF0CC0809101011F9258
+:101440008F93FF92EF920E94EE070F900F900F90F4
+:101450000F908091D70180FF04C083E093E00E9449
+:101460005507A09201010E94110921960F5F1F4F9D
+:10147000CE30D10509F054CF809101018823B1F01D
+:10148000815080930101882339F08FE99FE0019713
+:10149000F1F700C000000AC0ACE4B1E0EEE3F1E017
+:1014A00081918D9391E0EC34F907D1F785E298E0D2
+:1014B000892BD1F00E94250817C090E07ACF83E1F4
+:1014C0000E94F6088093000181119ECF81E40E9462
+:1014D000CC0880930001811197CF0E940709982EB4
+:1014E000909493CF80E094CF81E0DF91CF911F91D2
+:1014F0000F91FF90EF90DF90CF90BF90AF909F90B3
+:101500000895E82FF0E0E45BFE4F80810895CF92CC
+:10151000DF92EF92FF920F931F93CF93DF938CEEA6
+:1015200092E00E9455073CE4E32E31E0F32EC0E048
+:10153000D0E047EEC42E42E0D42E0EED12E0DF9351
+:10154000CF93DF92CF920E94EE0784EE92E00E944A
+:101550005507F70181917F0190E00E944C219F93F4
+:101560008F931F930F930E94EE078CED92E00E94E1
+:10157000550721968DB79EB708960FB6F8949EBF73
+:101580000FBE8DBFCE30D105D1F6DF91CF911F9127
+:101590000F91FF90EF90DF90CF9008958B3B9105D6
+:1015A00078F4883A910540F5853A9105D0F4843075
+:1015B000910508F0B1C08130910509F4ADC06BC050
+:1015C000803E910508F467C0883E910508F4A4C0E8
+:1015D0009C01205F31092031310508F05CC0906525
+:1015E0000895853A910509F459C0863A910509F4A0
+:1015F00058C083E890E40895883A910509F454C0EE
+:10160000893A910509F453C08A3A910509F452C008
+:101610008B3A910509F451C08C3A910509F450C0F8
+:101620008D3A910509F44FC0803B910509F44EC0F5
+:101630008E3A910509F44DC08F3A910509F44CC0DA
+:10164000813B910509F44BC0823B910509F44AC0E6
+:10165000833B910509F449C0843B910509F448C0D6
+:10166000853B910509F447C0863B910509F446C0C6
+:10167000873B910509F445C0883B910509F444C0B6
+:10168000893B910509F443C08A3B910509F042C0AA
+:101690008AE296E4089580E090E0089581E890E47D
+:1016A000089582E890E4089582EE94E4089589EE26
+:1016B00094E408958AEE94E4089585EB94E4089503
+:1016C00086EB94E4089587EB94E408958CEC94E41D
+:1016D00008958DEC94E4089583E895E408958AE8EC
+:1016E00095E4089582E995E4089584E995E40895E0
+:1016F00081E296E4089583E296E4089584E296E414
+:10170000089585E296E4089586E296E4089587E2D6
+:1017100096E4089580E094E40895089596E0799F12
+:10172000F001112494E5899FE00DF11D1124E60FCD
+:10173000F11DEE0FFF1FEC51FF4F8591949108951D
+:10174000880F991F805A9040FC01859194910895CB
+:10175000880F991F80529F4FFC01859194910895A5
+:1017600026E0729FF001112444E5849FE00DF11DF5
+:101770001124E60FF11DEE0FFF1FEC51FF4F2591D5
+:101780003491C9019A9581159F4110F4C9010895BA
+:10179000C90190528115904128F4C9019F700E949F
+:1017A000A80B0895C90190538115904120F4C901F7
+:1017B0009927906C0895211580E5380769F40E94F7
+:1017C000751A9FEF24E34CE0915020404040E1F730
+:1017D00000C000000C940822213080E5380751F445
+:1017E0008CE593E00E9455078091D701816080933A
+:1017F000D7010895C90190558115904108F050C056
+:10180000832F99278F70992781309105D9F4A901E9
+:101810004370552702C0880F991F4A95E2F79C68CC
+:10182000A90164E0440F551F6A95E1F744275370FE
+:10183000842B952B73E0220F331F7A95E1F72076E6
+:1018400033271DC08230910529F4922F8827816F9C
+:10185000906A089583309105A9F4A9014370552732
+:1018600081E090E002C0880F991F4A95E2F79C68DA
+:1018700043E0220F331F4A95E1F7207E3770822B19
+:10188000932B08950497F1F4A9014370552781E043
+:1018900090E002C0880F991F4A95E2F79A68E8CF56
+:1018A000C90190578115904120F4C9019F70906241
+:1018B0000895C90190588115904120F4C9019F7085
+:1018C000906A0895203E3105E0F4203C310558F53A
+:1018D0002133310509F470C048F42932310509F487
+:1018E00064C02A32310509F46EC074C02933310551
+:1018F000F1F022383105D9F02533310509F44EC015
+:1019000069C0233E310589F138F4203E3105C1F02C
+:10191000223E3105E1F05EC0263E310569F1273EE9
+:101920003105A9F157C0C9010E94A00B089580910B
+:10193000EA0180FD02C081FF4DC080EE90E04BC007
+:101940008091EA0180FFF9CF89E390E044C0809163
+:10195000EA0182FF0EC08091EA0184FF03C080E0AB
+:1019600090E039C083EE90E036C08091EA0182FFBA
+:10197000F2CF82EE90E02FC08091EA0183FF0BC08E
+:101980008091EA0184FDEBCF87EE90E024C0809146
+:10199000EA0183FFF5CF86EE90E01DC08091EA0159
+:1019A00085FF07C089E290E016C08091EA0185FFBB
+:1019B000F9CF85E390E00FC08091EA0186FF07C070
+:1019C0008AE290E008C08091EA0186FFF9CF81E3C6
+:1019D00090E001C0C9010E94CE0A08950895809147
+:1019E0006D0108959FB7F89410925C019FBF90918C
+:1019F000F001943009F058C09091E9009F70209157
+:101A0000EC0020FF02C020E801C020E0292B94E078
+:101A10009093E9009091EB0090FF43C09091EE000D
+:101A200097FF3FC090915A01992321F09091E800CF
+:101A300095FF37C010925A0196E03091E80035FDCD
+:101A400015C03091F001343061F53091EB0035FD77
+:101A500028C0915021F481E080935A0122C0EFE91F
+:101A6000FFE03197F1F700C00000E7CF8093F1006D
+:101A70008091E80085FD0AC08091E80080FFFCCFDE
+:101A80008091E8008E778093E80006C08FB7F894C5
+:101A900091E090935C018FBF2F702093E90080E06C
+:101AA00008952F702093E9008FEF0895CF93DF936F
+:101AB00000D01F92CDB7DEB72091F001243019F588
+:101AC00023E029839B838A832093E9008FEF909101
+:101AD000E800815095FD06C095ED9A95F1F700005C
+:101AE0008111F5CF8091E80085FF0DC040E050E006
+:101AF00063E070E0CE0101960E9425108091E8001D
+:101B00008E778093E8000F900F900F90DF91CF9128
+:101B10000895CF93DF9300D01F92CDB7DEB7209109
+:101B2000F001243021F522E029839B838A8383E01E
+:101B30008093E9008FEF9091E800815095FD06C0F9
+:101B400095ED9A95F1F700008111F5CF8091E800AD
+:101B500085FF0DC040E050E063E070E0CE010196EB
+:101B60000E9425108091E8008E778093E8000F9006
+:101B70000F900F90DF91CF9108952091F0012430C4
+:101B8000F1F422E02093E9002FEF3091E80021509A
+:101B900035FD06C035ED3A95F1F700002111F5CF7E
+:101BA0002091E80025FF0BC040E050E065E070E0C8
+:101BB0000E9425108091E8008E778093E8000895B8
+:101BC000CF93DF93EC018091F001843009F047C09E
+:101BD00080910C018823E1F080910D018823C1F0F0
+:101BE00085E08093E9008FEF9091E800815095FDAA
+:101BF00006C095E19A95F1F700008111F5CF80912B
+:101C0000E80085FF2CC040E050E060E170E017C0C4
+:101C100081E08093E9008FEF9091E800815095FD7D
+:101C200006C095ED9A95F1F700008111F5CF8091EE
+:101C3000E80085FF14C040E050E068E070E0CE01AD
+:101C40000E9425108091E8008E778093E80080E163
+:101C5000FE01ADE5B1E001900D928A95E1F7DF91CB
+:101C6000CF91089583E993E00E9455078091EF0199
+:101C7000811109C00E94B7110E9414128091E200E4
+:101C800084608093E20008958FE893E00E945507F6
+:101C90001092EF0108958BE893E00C94550787E8C4
+:101CA00093E00E9455070C94C92B83E893E00E94AF
+:101CB00055070E94A3210E94CF2B0E94B0140C94C0
+:101CC000EE0C80915B018F5F80935B0162E30E9469
+:101CD0003D2D911135C010925B0180915C018823EC
+:101CE00079F18091F001843049F58091E9008F709D
+:101CF0009091EC0090FF02C090E801C090E0982B1A
+:101D000084E08093E9008091EB0080FF14C0809113
+:101D1000EE0087FF10C08091E80085FF03C010929D
+:101D2000F100F9CF8091E80080FF05C08091E800C4
+:101D30008E778093E8009F709093E90010925C0189
+:101D4000089542E061EC81E00E94311142E061ECD3
+:101D500082E00E94311142E061EC83E00E94311187
+:101D600042E261EC84E00E94311142E161EC85E0E5
+:101D70000C9431118091F201833009F455C030F494
+:101D8000813071F0823009F48EC008958A3009F4F0
+:101D90007AC08B3009F460C0893009F09CC020C043
+:101DA0008091F101813A09F096C08091E800877F27
+:101DB0008093E8008091F5019091F601892B21F044
+:101DC00060E080E090E003C060E18DE591E070E0CC
+:101DD0000E946E108091E8008B778093E800089550
+:101DE0008091F101813209F076C08091F5019091E6
+:101DF000F601009719F0049709F06DC08091E80092
+:101E0000877F8093E8008091E80082FD05C0809183
+:101E1000F0018111F8CF5FC08091F10080936D01D6
+:101E20008091E8008B7753C08091F101813A09F0ED
+:101E300052C08091F5019091F601892B09F04BC0B9
+:101E40008091E800877F8093E8008091E80080FF20
+:101E5000FCCF80910C0136C08091F1018132D9F51F
+:101E60008091F5019091F601892BA9F58091E80008
+:101E7000877F8093E8000E9466118091F301809330
+:101E80000C010C94751A8091F101813221F5809139
+:101E9000E800877F8093E8000E9466118091F4013A
+:101EA00080936E0108958091F101813AA1F48091AF
+:101EB000E800877F8093E8008091E80080FFFCCFF6
+:101EC00080916E018093F1008091E8008E7780937D
+:101ED000E8000C946611089584B7877F84BF88E179
+:101EE0000FB6F89480936000109260000FBE90E0EF
+:101EF00080E80FB6F89480936100909361000FBE64
+:101F00000E9439150E94B7110E9414128091E200BC
+:101F100084608093E20082EF9CE00E94E22078944B
+:101F20000E948E140E943B1582E091E00E94AB1447
+:101F30000E94B72B82E793E00E9455078091F00141
+:101F4000853089F48EE693E00E9455070E94662151
+:101F50008091EE01882391F30E948E21882371F3F2
+:101F60000E940F10EBCF0E946915E8CF292F33276D
+:101F700023303105A9F06CF42130310509F442C059
+:101F80002230310509F043C08DE890E02BEC33E0BE
+:101F900042C021323105C9F02232310519F137C072
+:101FA00099278130910541F08230910541F0892BCC
+:101FB00071F5E7ECF3E005C0EFEAF3E002C0E7E912
+:101FC000F3E0849190E09F0126C0653000F5E62F94
+:101FD000F0E0EE0FFF1FEB5DFE4F2081318189E0C5
+:101FE00090E019C0653098F4E62FF0E0DF01AA0F09
+:101FF000BB1FA55EBE4F2D913C91EA5EFE4F8081D6
+:1020000090E009C082E190E028E534E004C080E07F
+:1020100090E020E030E0FA0131832083089580E1F0
+:1020200089BD82E189BD09B400FEFDCF8091D80051
+:102030008F7D8093D8008091E00082608093E000E3
+:102040008091E00081FDFCCF0895CF92DF92EF9266
+:10205000FF920F931F93CF93DF937C018B01EA01D3
+:102060000E948711811131C0209731F088819981B8
+:10207000081B190BE80EF91EC12CD12C01151105F6
+:1020800019F18091E80085FD14C08091E8008E77F9
+:102090008093E800209741F0888199818C0D9D1DE7
+:1020A0009983888385E011C00E948711882331F3CA
+:1020B0000CC0F70181917F018093F100015011095B
+:1020C000FFEFCF1ADF0ADACF80E0DF91CF911F91C7
+:1020D0000F91FF90EF90DF90CF9008952091F7013E
+:1020E0003091F8012617370748F06115710539F46A
+:1020F0002091E8002E772093E80001C0B901FC018F
+:1021000020E061157105B9F18091F001882309F48F
+:1021100040C0853009F43FC08091E80083FD3DC098
+:102120008091E80082FF06C08091E80082FF26C00F
+:1021300080E008958091E80080FFE3CF2091F300D4
+:102140008091F20090E0922B6115710551F088307A
+:10215000910538F421912093F100615071090196A5
+:10216000F3CF21E0089709F020E08091E8008E7716
+:102170008093E800C6CF2111C7CFD6CF8091F00160
+:10218000882339F0853039F08091E80083FFCCCF87
+:1021900004C082E0089583E0089581E008952091CD
+:1021A000F7013091F8012617370748F061157105DE
+:1021B00039F42091E8002E772093E80001C0B9019E
+:1021C000FC0120E061157105C1F18091F0018823C7
+:1021D00009F441C0853009F440C08091E80083FDD6
+:1021E0003EC08091E80082FF06C08091E80082FF37
+:1021F00027C080E008958091E80080FFE3CF209120
+:10220000F3008091F20090E0922B6115710559F076
+:102210008830910540F424912093F100319661506B
+:1022200071090196F2CF21E0089709F020E0809132
+:10223000E8008E778093E800C5CF2111C6CFD5CFB7
+:102240008091F001882339F0853039F08091E800E1
+:1022500083FFCBCF04C082E0089583E0089581E03E
+:102260000895982F973058F59093E900981739F012
+:102270007091EC002091ED005091F00003C0242FEC
+:10228000762F50E021FF19C03091EB003E7F309354
+:10229000EB003091ED003D7F3093ED003091EB008D
+:1022A00031603093EB007093EC002093ED0050937D
+:1022B000F0002091EE0027FF07C09F5FD3CF8F7003
+:1022C0008093E90081E0089580E008958091F10114
+:1022D00087FD05C08091E80080FF0EC012C080918C
+:1022E000E80082FD05C08091F0018111F8CF0895CA
+:1022F0008091E8008B7708C08091F0018111EACFCE
+:1023000008958091E8008E778093E8000895809189
+:10231000E4009091E50045E62091EC0020FF21C00B
+:102320002091E80020FD21C02091F001222389F0B6
+:10233000253089F02091EB0025FD0FC02091E400AD
+:102340003091E5002817390739F3415041F0C901B0
+:10235000E3CF82E0089583E0089581E0089584E06A
+:1023600008952091E80022FFDFCF80E008950E94C9
+:1023700025120E942D12E0EEF0E0808181608083C2
+:10238000E8EDF0E080818F77808319BCA7EDB0E0A5
+:102390008C918E7F8C9380818F7E80831092EF0151
+:1023A00008950F931F93CF93DF930E9425120E94ED
+:1023B0002D12C8EDD0E088818F778883888180686E
+:1023C000888388818F7D888319BC1092F0011092D8
+:1023D000EC011092EE011092ED0100EE10E0F80118
+:1023E00080818B7F808388818160888342E060E088
+:1023F00080E00E943111E1EEF0E080818E7F8083E9
+:10240000E2EEF0E08081816080838081886080835B
+:10241000F80180818E7F8083888180618883DF914D
+:10242000CF911F910F910895E8EDF0E080818F7EAC
+:102430008083E7EDF0E080818160808384E082BF6B
+:1024400081E08093EF010C94D111E8EDF0E0808100
+:102450008E7F80831092E20008951092DA0010922D
+:10246000E10008951F920F920FB60F9211242F933F
+:102470003F934F935F936F937F938F939F93AF930C
+:10248000BF93EF93FF938091E10082FF0BC0809197
+:10249000E20082FF07C08091E1008B7F8093E10022
+:1024A0000E94610E8091DA0080FF1FC08091D800E9
+:1024B00080FF1BC08091DA008E7F8093DA008091CC
+:1024C000D90080FF0DC080E189BD82E189BD09B4DA
+:1024D00000FEFDCF81E08093F0010E94320E05C026
+:1024E00019BC1092F0010E94440E8091E10080FF1F
+:1024F00019C08091E20080FF15C08091E2008E7FBC
+:102500008093E2008091E20080618093E2008091FC
+:10251000D80080628093D80019BC85E08093F001D8
+:102520000E944F0E8091E10084FF30C08091E20054
+:1025300084FF2CC080E189BD82E189BD09B400FE21
+:10254000FDCF8091D8008F7D8093D8008091E100ED
+:102550008F7E8093E1008091E2008F7E8093E20085
+:102560008091E20081608093E2008091EC018823F9
+:1025700011F084E007C08091E30087FF02C083E090
+:1025800001C081E08093F0010E94550E8091E1002E
+:1025900083FF29C08091E20083FF25C08091E10084
+:1025A000877F8093E10082E08093F0011092EC013C
+:1025B0008091E1008E7F8093E1008091E2008E7F28
+:1025C0008093E2008091E20080618093E20042E02B
+:1025D00060E080E00E9431118091F000886080937B
+:1025E000F0000E944B0EFF91EF91BF91AF919F9130
+:1025F0008F917F916F915F914F913F912F910F90AC
+:102600000FBE0F901F9018951F920F920FB60F924A
+:1026100011242F933F934F935F936F937F938F93E7
+:102620009F93AF93BF93CF93EF93FF93C091E90034
+:10263000CF708091EC001092E9008091F000877FCC
+:102640008093F00078940E9440131092E9008091EA
+:10265000F00088608093F000C093E900FF91EF9153
+:10266000CF91BF91AF919F918F917F916F915F912A
+:102670004F913F912F910F900FBE0F901F90189583
+:102680001F93CF93DF93CDB7DEB7AA970FB6F89419
+:10269000DEBF0FBECDBFE1EFF1E08091F10081938D
+:1026A00021E0E93FF207C9F70E94BA0E8091E800E5
+:1026B00083FF1CC12091F1013091F201832F90E042
+:1026C0008A30910508F012C1FC01EA5AFF4F0C94C0
+:1026D0005D2D203881F0223809F008C18091F50184
+:1026E0008F708093E9008091EB0085FB882780F94B
+:1026F0001092E90006C08091ED019091EE019111D8
+:1027000082609091E800977F9093E8008093F100B9
+:102710001092F100C5C0822F8D7F09F0E7C02223FF
+:1027200019F0223061F0E2C08091F301813009F0AC
+:10273000DDC0333009F080E08093EE0128C0809145
+:10274000F301811124C02091F5012F7009F4CEC04E
+:102750002093E9008091EB0080FF19C08091EB008D
+:10276000333011F4806211C080618093EB0081E00E
+:1027700090E0022E01C0880F0A94EAF78093EA00E5
+:102780001092EA008091EB0088608093EB00109239
+:10279000E9008091E800877F86C02111A7C01091D1
+:1027A000F3011F778091E3008078812B8093E30011
+:1027B0008091E800877F8093E8000E9466118091F5
+:1027C000E80080FFFCCF8091E30080688093E30005
+:1027D000112311F083E001C082E08093F00186C0F4
+:1027E0002058223008F082C08091F3019091F401CA
+:1027F0008C3D23E0920779F583E08A838AE289831E
+:102800004FB7F894DE01139620E03EE051E2E32F4B
+:10281000F0E050935700E49120FF03C0E295EF7081
+:102820003F5FEF708E2F90E0EA3010F0C79601C046
+:10283000C0968D939D932F5F243149F74FBF8091B0
+:10284000E800877F8093E8006AE270E0CE0101969D
+:102850000E946E1014C0AE014F5F5F4F6091F50192
+:102860000E94B60F009709F441C02091E800277F2D
+:102870002093E800BC0189819A810E94CF10809149
+:10288000E8008B778093E80031C0203879F580919B
+:10289000E800877F8093E8008091EC018093F1004D
+:1028A0008091E8008E778093E8000E9466111EC038
+:1028B00021111CC09091F3019230C0F48091E80086
+:1028C000877F8093E8009093EC010E9466118091CD
+:1028D000EC01811104C08091E30087FF02C084E015
+:1028E00001C081E08093F0010E94A10E8091E80078
+:1028F00083FF0AC08091E800877F8093E800809181
+:10290000EB0080628093EB00AA960FB6F894DEBFCE
+:102910000FBECDBFDF91CF911F910895CF938091CE
+:10292000F0018823B1F08091E9008F709091EC0064
+:1029300090FF02C090E801C090E0C92FC82B109210
+:10294000E9008091E80083FD0E944013CF70C0939E
+:10295000E900CF91089590937401809373010895D5
+:10296000E0917301F0917401309721F00190F081B2
+:10297000E02D099480E00895FF920F931F93CF9369
+:10298000DF938C01E0917301F0917401309799F11C
+:102990000280F381E02D09958091D70182FF2BC041
+:1029A00080FF04C08DE895E00E945507E80180E1B2
+:1029B000F82E07E815E08091D70180FF0BC08881D1
+:1029C0001F928F931F930F930E94EE070F900F900B
+:1029D0000F900F90FA942196F110EDCF8091D701CE
+:1029E00080FF09C085E895E0DF91CF911F910F919D
+:1029F000FF900C945507DF91CF911F910F91FF909D
+:102A00000895E0917301F0917401309721F00480F2
+:102A1000F581E02D099408952091710130917201A2
+:102A20008217930771F09093720180937101E09186
+:102A30007301F0917401309721F00680F781E02D49
+:102A40000994089520916F013091700182179307C6
+:102A500071F09093700180936F01E0917301F09198
+:102A60007401309721F00084F185E02D09940895D8
+:102A700008950C9438150E94A5210E9439090C94E0
+:102A80006B22CF93C82F8091D70182FF1EC080FF99
+:102A900004C086EA95E00E9455078091D70180FF27
+:102AA0000CC01F92CF9321EA35E03F932F930E94F1
+:102AB000EE070F900F900F900F908091D70180FF3D
+:102AC00004C08FE995E00E9455078C2FCF910C949C
+:102AD000EE0CCF92DF92EF92FF920F931F93CF9362
+:102AE000DF93CDB7DEB72B970FB6F894DEBF0FBEDE
+:102AF000CDBF0E94560936E7E32E31E0F32E00E009
+:102B000010E0C02E802F0E94810AF701D1907F0132
+:102B1000D826B1F40F5F1F4F0E30110591F78FEFDC
+:102B200089838A831B820E94AE218160782F9D83D6
+:102B30008C8349815A816B818D810E940C1641C022
+:102B40009091D70191FF04C08B870E94870A8B85E3
+:102B500020E030E04D2D50E0922FBA01022E02C04D
+:102B6000759567950A94E2F760FF25C02E83CF82A2
+:102B7000EE24E394F12C02C0EE0CFF1C9A95E2F7D0
+:102B800090E08E219F2121E0892B09F420E0288705
+:102B90000E94AE218160782F9A8789874E815F815C
+:102BA00068858A850E940C16F801EA58FE4F8081DC
+:102BB0008E25808306C02F5F3F4F2630310561F69A
+:102BC000A9CF0E94D925109175010E94B014181741
+:102BD000A1F00E94B014809375012B960FB6F89463
+:102BE000DEBF0FBECDBFDF91CF911F910F91FF9040
+:102BF000EF90DF90CF900C9441152B960FB6F89480
+:102C0000DEBF0FBECDBFDF91CF911F910F91FF901F
+:102C1000EF90DF90CF900895CF93DF93CDB7DEB7DD
+:102C20002B970FB6F894DEBF0FBECDBF4F835887EA
+:102C300069877A878B87DE01119686E0FD01119204
+:102C40008A95E9F785E0FE01379601900D928A95 |