diff options
author | Jack Humbert <jack.humb@gmail.com> | 2015-12-19 23:49:26 -0500 |
---|---|---|
committer | Jack Humbert <jack.humb@gmail.com> | 2015-12-19 23:49:26 -0500 |
commit | 765c1b9f4db80b64b61636a5ec0359eb6695044f (patch) | |
tree | bcad18c76dd8e1b0ce79aa7130a268c70d2ccb18 /keyboard/ergodox_ez | |
parent | e0acb8a0ee64e0aba3298cd477a5f65876364b6a (diff) | |
parent | 737afc9dc7bcb5462e910f89f3c194d60df49fb6 (diff) |
Merge pull request #46 from sboesebeck/master
German layout for osx
Diffstat (limited to 'keyboard/ergodox_ez')
-rw-r--r-- | keyboard/ergodox_ez/keymaps/keymap_osx_de.c | 241 | ||||
-rw-r--r-- | keyboard/ergodox_ez/keymaps/keymap_osx_de.hex | 1489 | ||||
-rw-r--r-- | keyboard/ergodox_ez/keymaps/keymap_osx_de_README.md | 27 |
3 files changed, 1757 insertions, 0 deletions
diff --git a/keyboard/ergodox_ez/keymaps/keymap_osx_de.c b/keyboard/ergodox_ez/keymaps/keymap_osx_de.c new file mode 100644 index 0000000000..bd7be78a34 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/keymap_osx_de.c @@ -0,0 +1,241 @@ +// Netable differences vs. the default firmware for the ErgoDox EZ: +// 1. The Cmd key is now on the right side, making Cmd+Space easier. +// 2. The media keys work on OSX (But not on Windows). +#include "ergodox_ez.h" +#include "debug.h" +#include "action_layer.h" +#include "keymap_extras/keymap_german.h" + +#define BASE 0 // default layer +#define SYMB 1 // symbols +#define MDIA 2 // media keys +#define CRSR 3 // media keys +#define NUMB 4 // number keys + + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* Keymap 0: Basic layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | ESC | 1 | 2 | 3 | 4 | 5 |Lctrl | |Rctrl | 6 | 7 | 8 | 9 | 0 | ß | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | TAB | Q | W | E | R | T | CMD | | CMD | Z | U | I | O | P | ü | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | L3 | A | S | D | F | G |------| |------| H | J | K | L | ö | ä/L2 | + * |--------+------+------+------+------+------| LALT | | RALT |------+------+------+------+------+--------| + * | LShift |Y/Ctrl| X | C | V | B | | | | N | M | , | . |-/Ctrl| RShift | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * |</L1| ^° |AltShf| Left | Right| | Up | Down | CMD-SHIFT | + | #/L1 | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | L1 | LGui | | Alt |Ctrl/Esc| + * ,------|------|------| |------+--------+------. + * | | | Home | | PgUp | | | + * | Space|Backsp|------| |------| Enter | Space| + * | |ace | End | | PgDn | | | + * `--------------------' `----------------------' + */ +// If it accepts an argument (i.e, is a function), it doesn't need KC_. +// Otherwise, it needs KC_* +[BASE] = KEYMAP( // layer 0 : default + // left hand + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LCTL, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LGUI, + TG(3), KC_A, KC_S, KC_D, KC_F, KC_G, + KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_LALT, + LT(SYMB,KC_GRV), DE_LESS, LALT(KC_LSFT), KC_LEFT,KC_RGHT, + TG(2), MEH_T(KC_NO), + KC_HOME, + KC_SPC,KC_BSPC,KC_END, + // right hand + KC_RCTL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, + KC_RGUI, KC_Y, KC_U, KC_I, KC_O, KC_P, DE_UE, + KC_H, KC_J, KC_K, KC_L, KC_SCLN,LT(MDIA,DE_AE), + KC_RALT,KC_N, KC_M, KC_COMM,KC_DOT, CTL_T(KC_SLSH), KC_RSFT, + KC_UP, KC_DOWN,LGUI(KC_LSFT),KC_RBRC, LT(SYMB,KC_BSLS), + ALL_T(DE_ACUT), TG(4), + KC_PGUP, + KC_PGDN,KC_ENT, KC_SPC + ), +/* Keymap 1: Symbol Layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | | | ! | ? | | | | | \ | [ | ] | | | # | F12 | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | # | $ | \ | / | . |------| |------| / | ( | ) | { | } | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | | ^ | % | | | ~ | | | | & | < | > | " | ' | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | | | | | . | ! | | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | | |------| |------| | | + * | | | | | | | | + * `--------------------' `--------------------' + */ +// SYMBOLS +[SYMB] = KEYMAP( + // left hand + KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, + KC_TRNS,KC_TRNS,KC_TRNS,DE_EXLM,DE_QST,KC_TRNS,KC_TRNS, + KC_TRNS,DE_HASH,DE_DLR, DE_BSLS,DE_SLSH,KC_DOT, + KC_TRNS,KC_TRNS,DE_CIRC,DE_PERC,DE_PIPE,DE_TILD,KC_TRNS, + KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, + KC_TRNS,KC_TRNS, + KC_TRNS, + KC_TRNS,KC_DEL,KC_TRNS, + // right hand + KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + KC_TRNS, DE_BSLS, DE_LBRC, DE_RBRC, DE_PIPE, DE_HASH, KC_F12, + DE_SLSH, DE_LPRN, DE_RPRN, DE_LCBR, DE_RCBR, KC_TRNS, + KC_TRNS, DE_AMPR, DE_LESS, DE_MORE, DE_DQOT, DE_QUOT, KC_TRNS, + KC_TRNS,KC_DOT, KC_EXLM, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS +), +/* Keymap 2: Media and mouse keys + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | | | | | | | | | | | | | | Play | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | | | MsUp | | | | | | | | | | | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | | | | | | | | | | | Prev | Next | | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | |Brwser| + * | | |------| |------| |Back | + * | | | | | | | | + * `--------------------' `--------------------' + */ +// MEDIA AND MOUSE +KEYMAP( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + 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_TRNS, KC_BTN1, KC_BTN2, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + // right hand + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, + 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_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, + KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_WBAK +), +// Cursor layer +KEYMAP( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + // right hand + 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_UP, KC_TRNS, + KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS +), +//number pad +KEYMAP( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + // right hand + KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + KC_TRNS, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_F12, + KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS, + KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS, + KC_TRNS,KC_DOT, KC_0, KC_EQL, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS +), +}; + +const uint16_t PROGMEM fn_actions[] = { + [1] = ACTION_LAYER_TAP_TOGGLE(SYMB), // FN1 - Momentary Layer 1 (Symbols) + [2] = ACTION_LAYER_TAP_TOGGLE(CRSR) // FN2 - Momentary Layer 2 (Cursors) +}; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + // MACRODOWN only works in this function + switch(id) { + case 0: + if (record->event.pressed) { + register_code(KC_RSFT); + } else { + unregister_code(KC_RSFT); + } + break; + } + return MACRO_NONE; +}; + +// Runs just one time when the keyboard initializes. +void * matrix_init_user(void) { + +}; + +// Runs constantly in the background, in a loop. +void * matrix_scan_user(void) { + + uint8_t layer = biton32(layer_state); + + ergodox_board_led_off(); + ergodox_right_led_1_off(); + ergodox_right_led_2_off(); + ergodox_right_led_3_off(); + switch (layer) { + // TODO: Make this relevant to the ErgoDox EZ. + case 1: + ergodox_right_led_1_on(); + break; + case 2: + ergodox_right_led_2_on(); + break; + case 3: + ergodox_right_led_3_on(); + break; + case 4: + ergodox_right_led_1_on(); + ergodox_right_led_3_on(); + ergodox_board_led_on(); + break; + default: + // none + break; + } + +}; diff --git a/keyboard/ergodox_ez/keymaps/keymap_osx_de.hex b/keyboard/ergodox_ez/keymaps/keymap_osx_de.hex new file mode 100644 index 0000000000..221cceb5c9 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/keymap_osx_de.hex @@ -0,0 +1,1489 @@ +:100000000C94A9070C94ED070C94ED070C94ED07E4 +:100010000C94ED070C94ED070C94ED070C94ED0790 +:100020000C94ED070C94ED070C94E5120C94B713A7 +:100030000C94ED070C94ED070C94ED070C94ED0770 +:100040000C94ED070C948F2C0C94ED070C94ED0799 +:100050000C94ED070C9487220C94ED070C94ED079B +:100060000C94ED070C94ED070C94ED070C94ED0740 +:100070000C94ED070C94ED070C94ED070C94ED0730 +:100080000C94ED070C94ED070C94ED070C94ED0720 +:100090000C94ED070C94ED070C94ED070C94ED0710 +:1000A0000C94ED070C94ED070C94ED072414461402 +:1000B0003415461434158B14AE1434150315161567 +:1000C0005D185D188C188C18D0180E19281B281B69 +:1000D0002719281B281A281AFC1A281B281B131B4F +:1000E0000000F0A1F0A329002B000354E1003581AA +:1000F00000001E00140004001D7164004D001F006C +:100100001A0016001B00E1042A0020000800070066 +:10011000060050002C0021001500090019004F00B6 +:100120004A00220017000A00050000000254E00007 +:10013000E3000000E20000000077E400E7000000B8 +:10014000E60000002E7F23001C000B0011000000C1 +:100150000454240018000D00100052004B0025002C +:100160000C000E00360051002C00260012000F007B +:100170003700E108280027001300330038713000F1 +:100180004E002D002F003482E50031810000010077 +:10019000010001000100010000003A0001003100EF +:1001A0000100010001003B000100210235000100B7 +:1001B0004C003C001E022D142202010001003D00F3 +:1001C0002D0224026414010001003E0001003700EA +:1001D00030140000010001000100000001000000D7 +:1001E00001000100010000000100000001003F00CB +:1001F0002D142402230200000100400025142502D2 +:100200006400010001004100261426026402370048 +:1002100001004200641424141F021E020100430066 +:1002200031002714310201000100440045000100A3 +:1002300001000100000001000100010001000100B7 +:1002400000000100010001000100010001000100A7 +:100250000100F2000100010001000100F000F100C6 +:100260000100F400010001000100F3000100F500AD +:100270000100010001000100010000000100010077 +:100280000100000001000000010001000100000069 +:100290000100000001000100010001000100000058 +:1002A00001000100010001000100A900010001009E +:1002B00001000100AC00AA00B6000100010001002D +:1002C000AB00A800010001000100010001000100D5 +:1002D0000100AE000100010001000100000001006A +:1002E0000100010001000100000001000100010007 +:1002F00001000100010001000100500001000100A7 +:1003000001000100520051000100F4000100010051 +:1003100001004F000100F500010001000100010093 +:1003200001000000010001000100000001000000C8 +:1003300001000100010000000100000001000100B7 +:1003400001000100010000000100010001000100A6 +:100350000100010001000100010001000100010095 +:100360000100010001000100010050000100010036 +:1003700001000100520051000100010001000100D4 +:1003800001004F0000000100010001000100010018 +:100390000000010001000100010001000100010056 +:1003A0000100500001000100010001005200510055 +:1003B0000100F4000100010001004F000100F50000 +:1003C0000100010001000100010000000100010026 +:1003D0000100000001000000010001000100000018 +:1003E0000100000001003F00520051002402000003 +:1003F00001004000240021001E0001000100410016 +:10040000250022001F0037000100420026002300C3 +:10041000200027000100430025022E0231002E009B +:1004200001004400450001000100010000000A0035 +:100430002530313662003A200025303258000A72E9 +:100440002F63203031323334353637383941424327 +:100450004445460A000A002530325800626F756E26 +:100460006365213A20006C656674207369646520B9 +:1004700061747461636865640A006C6566742073F6 +:10048000696465206E6F7420726573706F6E646945 +:100490006E670A00747279696E6720746F207265E6 +:1004A000736574206D637032333031380A000A444A +:1004B000454255473A20656E61626C65642E0A00BC +:1004C0005B735D004B6579626F6172642073746168 +:1004D00072742E0A005B575D005B535D005B525DDA +:1004E000005B445D005B435D0016034500720067DE +:1004F000006F0044006F007800200045005A0000A3 +:100500000016034500720067006F0044006F00781A +:1005100000200045005A0000000403090409028D70 +:1005200000050100A0FA090400000103010100090F +:100530002111010001223F000705810308000A097B +:100540000401000103010200092111010001224DF3 +:10055000000705820308000A0904020001030000E5 +:10056000000921110100012236000705830308005C +:100570000A0904030002030000000921110100011F +:100580002220000705840320000107050403200042 +:100590000109040400010300000009211101000108 +:1005A0002239000705850310000112011001000027 +:1005B0000008EDFE07130100010200010501090614 +:1005C000A101050719E029E7150025019508750126 +:1005D000810205081901290595057501910295010A +:1005E00075039101050719002977150025019578F4 +:1005F00075018102C00631FF0974A101097515005A +:1006000025FF9520750881020976150025FF9520A4 +:1006100075089102C005010980A10185021601003B +:1006200026B7001A01002AB700751095018100C095 +:10063000050C0901A1018503160100269C021A017F +:10064000002A9C02751095018100C005010902A1D4 +:10065000010901A1000509190129051500250195C8 +:1006600005750181029501750381010501093009B4 +:10067000311581257F950275088106093815812578 +:100680007F950175088106050C0A38021581257FC2 +:10069000950175088106C0C005010906A10105077D +:1006A00019E029E7150025019508750181029501DA +:1006B0007508810105081901290595057501910243 +:1006C0009501750391010507190029FF150025FF04 +:1006D000950675088100C00A002530325820006B4D +:1006E0006579626F6172645F7265706F72743A20CF +:1006F000000A0025303258006B6579626F617264C0 +:100700005F7365745F6C65643A200064656C5F6B51 +:1007100065795F6269743A2063616E27742064654D +:100720006C3A20253032580A006164645F6B657949 +:100730005F6269743A2063616E2774206164643A71 +:1007400020253032580A00646F6E652E0A00626FF1 +:100750006F676D61676963207363616E3A202E2E47 +:100760002E2000290A002575002F002575005D2820 +:10077000002564002000256400200025640020007E +:100780002564007C0025303258006D6F7573656BF1 +:100790006579205B62746E7C782079207620685DB4 +:1007A000287265702F61636C293A205B006D6B5F66 +:1007B000776865656C5F74696D655F746F5F6D61A7 +:1007C00078203D2025640A006D6B5F776865656C55 +:1007D0005F6D61785F7370656564203D2025640AF4 +:1007E000006D6B5F74696D655F746F5F6D6178201C +:1007F0003D2025640A006D6B5F6D61785F737065E5 +:100800006564203D2025640A006D6B5F696E746528 +:100810007276616C203D2025640A006D6B5F646513 +:100820006C6179203D2025640A006D6B5F776865F7 +:10083000656C5F74696D655F746F5F6D6178203D95 +:100840002025640A006D6B5F776865656C5F6D617C +:10085000785F7370656564203D2025640A006D6BC8 +:100860005F74696D655F746F5F6D6178203D2025F1 +:10087000640A006D6B5F6D61785F737065656420FD +:100880003D2025640A006D6B5F696E746572766148 +:100890006C203D2025640A006D6B5F64656C617996 +:1008A000203D2025640A000A00257500363A20778D +:1008B0006865656C5F74696D655F746F5F6D6178A5 +:1008C0003A20000A00257500353A20776865656C86 +:1008D0005F6D61785F73706565643A20000A00257A +:1008E0007500343A2074696D655F746F5F6D61786F +:1008F0003A20000A00257500333A206D61785F7355 +:10090000706565643A20000A00257500323A206956 +:100910006E74657276616C286D73293A20000A0046 +:10092000257500313A2064656C6179282A31306D73 +:1009300073293A20000A092D2056616C75657320D1 +:100940002D0A004D3E004D25643E20003F0073659A +:10095000742064656661756C740A00433E200077FC +:10096000686572652064656C74613A2063757273A2 +:100970006F723D25642C20776865656C3D25640A9F +:1009800053656520687474703A2F2F656E2E7769F1 +:100990006B6970656469612E6F72672F77696B6927 +:1009A0002F4D6F7573655F6B6579730A000A092DAA +:1009B000204D6F7573656B6579202D0A4553432F64 +:1009C000713A09717569740A313A0964656C617923 +:1009D000282A31306D73290A323A09696E746572BA +:1009E00076616C286D73290A333A096D61785F73FB +:1009F000706565640A343A0974696D655F746F5F88 +:100A00006D61780A353A09776865656C5F6D617864 +:100A10005F73706565640A363A09776865656C5F6F +:100A200074696D655F746F5F6D61780A0A703A0969 +:100A30007072696E742076616C7565730A643A0928 +:100A40007365742064656661756C74730A75703AB9 +:100A5000092B310A646F776E3A092D310A70677578 +:100A6000703A092B31300A7067646F776E3A092D3E +:100A700031300A0A7370656564203D2064656C74CA +:100A800061202A206D61785F7370656564202A207B +:100A900028726570656174202F2074696D655F74BC +:100AA0006F5F6D6178290A003F004D3E2000433E94 +:100AB00020004C25640A000A092D20436F6E736FD5 +:100AC0006C65202D0A4553432F713A09717569747D +:100AD0000A6D3A096D6F7573656B65790A000A09CD +:100AE0002D204D61676963202D0A643A09646562AF +:100AF00075670A783A096465627567206D6174727A +:100B000069780A6B3A096465627567206B6579627A +:100B10006F6172640A6D3A096465627567206D6F72 +:100B20007573650A763A0976657273696F6E0A7332 +:100B30003A097374617475730A633A09636F6E736B +:100B40006F6C65206D6F64650A302D343A096C61F5 +:100B5000796572302D34284631302D4634290A50BB +:100B60006175733A09626F6F746C6F616465720AC4 +:100B7000653A09656570726F6D0A6E3A094E4B529F +:100B80004F0A7A3A09736C656570204C45442074AD +:100B90006573740A000A002575002E6E6B726F3A39 +:100BA00020000A002575002E737761705F62616313 +:100BB0006B736C6173685F6261636B7370616365B3 +:100BC0003A20000A002575002E737761705F677206 +:100BD0006176655F6573633A20000A002575002E13 +:100BE0006E6F5F6775693A20000A002575002E73E5 +:100BF0007761705F72616C745F726775693A20002B +:100C00000A002575002E737761705F6C616C745FEC +:100C10006C6775693A20000A002575002E636170C3 +:100C2000736C6F636B5F746F5F636F6E74726F6C06 +:100C30003A20000A002575002E737761705F636F9C +:100C40006E74726F6C5F636170736C6F636B3A206C +:100C5000000A0025303258006B65796D61705F6362 +:100C60006F6E6669672E7261773A20000A002575FB +:100C7000002E6D6F7573653A20000A002575002EF1 +:100C80006B6579626F6172643A20000A0025750015 +:100C90002E6D61747269783A20000A002575002E65 +:100CA000656E61626C653A20000A0025303258009A +:100CB00064656275675F636F6E6669672E726177E0 +:100CC0003A20000A0025750064656661756C745FE2 +:100CD0006C617965723A20003F004E4B524F3A20CA +:100CE0006F66660A004E4B524F3A206F6E0A0074D0 +:100CF000696D65725F636F756E743A202530346C70 +:100D0000580A006B6579626F6172645F6E6B726F17 +:100D10003A2025580A006B6579626F6172645F69D9 +:100D2000646C653A2025580A006B6579626F6172C0 +:100D3000645F70726F746F636F6C3A2025580A009D +:100D4000686F73745F6B6579626F6172645F6C6505 +:100D5000647328293A2025580A000A092D20537463 +:100D600061747573202D0A004743433A20342E39AD +:100D70002E33204156522D4C4942433A20312E38D1 +:100D80002E31204156525F415243483A20617672DB +:100D9000350A004F5054494F4E533A204C55464166 +:100DA00020424F4F544D41474943204D4F555345E5 +:100DB0004B45592045585452414B455920434F4EBD +:100DC000534F4C4520434F4D4D414E44204E4B52C6 +:100DD0004F203531320A004255494C443A2037669B +:100DE0003232623637202832333A31333A303220C9 +:100DF0004465632031382032303135290A005649A4 +:100E0000443A20307846454544284572676F446F20 +:100E10007820455A29205049443A203078313330DF +:100E200037284572676F446F7820455A2920564508 +:100E3000523A203078303030310A00444553433A3A +:100E400020742E6D2E6B2E206B6579626F6172643B +:100E5000206669726D7761726520666F72204572D7 +:100E6000676F646F780A000A092D205665727369EE +:100E70006F6E202D0A000A6D6F7573653A206F66DC +:100E8000660A000A6D6F7573653A206F6E0A000A74 +:100E90006B6579626F6172643A206F66660A000A58 +:100EA0006B6579626F6172643A206F6E0A000A6D39 +:100EB00061747269783A206F66660A000A6D61741F +:100EC0007269783A206F6E0A000A64656275673A43 +:100ED000206F6E0A000A64656275673A206F666665 +:100EE0000A000A0A626F6F746C6F616465722E2E5D +:100EF0002E2000433E20006565636F6E6669673A89 +:100F00000A00536C656570204C4544207465737409 +:100F10000A000000000000000000000000010204C0 +:100F2000060A0F17202C3A4A5D71879DB3C7DAE98C +:100F3000F5FCFFFCF5E9DAC7B39D87715D4A3A2CF1 +:100F400020170F0A06040201000000000000000044 +:100F5000000011241FBECFEFDAE0DEBFCDBF04B624 +:100F600003FE24C08091F9019091FA01A091FB0148 +:100F7000B091FC018730904BA740B04BB9F4109270 +:100F8000F9011092FA011092FB011092FC0114BEBB +:100F900084B7877F84BF88E10FB6F89480936000A0 +:100FA000109260000FBEE0E0FFE3099511E0A0E0C1 +:100FB000B1E0EAEBFCE502C005900D92AA33B1075F +:100FC000D9F711E0AAE3B1E001C01D92A93FB10732 +:100FD000E1F70E941D100C945B2E0C940000FF930F +:100FE000EF93E0913A01F0913B01309709F00995B8 +:100FF000EF91FF910895FC018591803011F0EFDFB2 +:10100000FBCF0895FF27E0E230E247FF0CC0419597 +:1010100097FF09C0EDE26095709580959095611DF0 +:10102000711D811D911D27FF02C0219530E350E203 +:10103000AA27660F771F881F991FAA1FA41710F0F1 +:10104000A41B63955A95A9F7AA3008F0A95FA05D83 +:10105000AF93F395611571058105910541F7ED3267 +:1010600011F4EF93F395F21718F43F93F395FBCF38 +:101070008F91B5DFFA95E1F70895E991F99185919E +:10108000803021F0853219F0AADFF9CF089520E0F1 +:10109000E89455915532C1F3503311F46894559149 +:1010A0005A3348F4505390F3220F022E220F220F8E +:1010B000200D250FF4CF0EF4219589919991533687 +:1010C00019F3533729F1533559F1BC018827992772 +:1010D000E8945C3621F4899199916894559154363D +:1010E00039F446EF7EF077FF0DC08FEF9FEF0AC017 +:1010F00055374AE039F0583540E121F0523642E0A8 +:1011000009F00895FF93EF937DDFEF91FF91B7CF43 +:10111000FF93EF93FC0181918030B9F360DFFBCF47 +:10112000FF93EF9368DFF1CFDF93CF93CDB7DEB7B7 +:101130002596A3DFCF91DF91089561110BC0FC01CB +:101140008281882321F085EE0E94FA1603C085EE85 +:101150000E94C21780E090E0089508956091BC015C +:101160007091BD018091BE019091BF010E948A21C2 +:1011700056985E9825982D9826982E9827982F98FF +:10118000823061F018F4813031F00895833049F0F5 +:10119000843051F00895259A2D9A0895269A2E9A12 +:1011A0000895279A2F9A0895259A2D9A279A2F9A6B +:1011B000569A5E9A08958EEA98E0892B11F00C9465 +:1011C000AE08089556985E9825982D9826982E98E2 +:1011D00027982F988FEF90E0909389008093880054 +:1011E00090938B0080938A0090938D0080938C0065 +:1011F000569A5E9A259A2D9A269A2E9A279A2F9A6F +:101200002FE782E490E1215080409040E1F700C058 +:10121000000056985E9825982D9826982E98279825 +:101220002F98089589EA8093800089E08093810057 +:1012300024982C983F988AB18F748AB96E98479AEF +:101240008BB1806B8BB9769A0E94E2088DEA98E0A8 +:10125000892B11F00C94AD08089580E28093000171 +:1012600080913C0181110EC00E947C0981E0809335 +:101270003C012FEF83ED90E3215080409040E1F757 +:1012800000C0000080E40E94820980930001811167 +:101290002EC00E94AC0980930001811128C00E94D9 +:1012A000AC0980930001811122C08FE30E94AC0938 +:1012B0008093000181111BC00E94A40980E40E9458 +:1012C000820980930001811112C08CE00E94AC0958 +:1012D0008093000181110BC00E94AC098093000132 +:1012E000811105C08FE30E94AC09809300010E9428 +:1012F000A4098091000108951092B9008AE08093BA +:10130000B800089594EA9093BC009091BC0097FFB8 +:10131000FCCF9091B900987F983021F0903111F076 +:1013200081E008958093BB0084E88093BC008091A5 +:10133000BC0087FFFCCF8091B900887F883111F015 +:10134000803471F780E0089584E98093BC00809137 +:10135000BC0084FDFCCF08958093BB0084E880939B +:10136000BC008091BC0087FFFCCF9091B900987FB2 +:1013700081E0983209F480E0089584E88093BC000D +:101380008091BC0087FFFCCF8091BB0008958091C5 +:101390000001811115C080E40E9482098093000140 +:1013A00081110CC082E10E94AC098093000181117F +:1013B00005C08FEF0E94AC09809300010E94A40930 +:1013C00084B1807F84B985B1807F85B98AB1837FFC +:1013D0008AB98BB1837F8BB93E98469808950E9455 +:1013E0002D09809300010E94C70980B38C7080BBD7 +:1013F00081B3836F81BBAEE3B1E0ECE4F1E08EE05A +:101400008E0F11921D928E13FCCF82E199E0892BF1 +:1014100011F00C94120908959F92AF92BF92CF924F +:10142000DF92EF92FF920F931F93CF93DF93809100 +:1014300000018823E1F080913D018F5F80933D01A1 +:10144000811115C084E994E00E94FB070E942D09D8 +:1014500080930001882329F08AE794E00E94FB072B +:1014600006C086E694E00E94FB070E94E2080EE3B5 +:1014700011E0C0E0D0E0BB24B39482E0A82ECC24DD +:10148000C394D12C27E5E22E24E0F22EC730D105FB +:1014900000F580910001811164C080E40E948209FE +:1014A00080930001811112C082E10E94AC098093F7 +:1014B000000181110BC0C6010C2E01C0880F0A94D7 +:1014C000EAF780950E94AC09809300010E94A4096C +:1014D00048C0CA30A1F028F4C83059F0C93061F0D2 +:1014E00005C0CC3089F070F0CD3089F0209A289872 +:1014F00010C0219A29980DC0229A2A980AC0239ACE +:101500002B9807C0529A01C0539A5B9802C03E9A2A +:10151000469890EA9A95F1F79FB1799902C082E0D6 +:1015200001C080E091709B25982B7C9902C084E0DB +:1015300001C080E0892B7D9902C038E001C030E015 +:10154000832B7E9902C020E101C020E0822B9FB155 +:101550009095991F9927991F9295990F907E892BA5 +:1015600010C080910001811174C080E40E94820942 +:1015700080930001882309F459C0912C0E94A4098A +:10158000892DF8019081981739F1808380910101AC +:10159000882301F18091D70180FF04C08CE594E09D +:1015A0000E94FB078091D70180FF0CC08091010150 +:1015B0001F928F93FF92EF920E9494080F900F90CA +:1015C0000F900F908091D70180FF04C085E594E0D3 +:1015D0000E94FB07A09201010E94C70921960F5F9C +:1015E0001F4FCE30D10509F051CF809101018823E2 +:1015F000B1F0815080930101882339F08FE99FE099 +:101600000197F1F700C000000AC0ACE4B1E0EEE3DE +:10161000F1E0CF01825F91919D938E13FCCF8BED12 +:1016200098E0892BC1F00E94DB0815C083E10E947D +:10163000AC09809300018111A0CF81E40E9482094E +:1016400080930001811199CF0E94BD09982E90943A +:1016500095CF80E096CF81E0DF91CF911F910F91E0 +:10166000FF90EF90DF90CF90BF90AF909F90089544 +:10167000E82FF0E0E45BFE4F80810895CF92DF9287 +:10168000EF92FF920F931F93CF93DF938EE394E03B +:101690000E94FB078CE4E82E81E0F82EC0E0D0E049 +:1016A00099E3C92E94E0D92E00E314E0DF93CF93A1 +:1016B000DF92CF920E94940886E394E00E94FB0799 +:1016C000F70181917F0190E00E94F0219F938F9319 +:1016D0001F930F930E9494088EE294E00E94FB07F0 +:1016E00021968DB79EB708960FB6F8949EBF0FBE91 +:1016F0008DBFCE30D105D1F6DF91CF911F910F91E3 +:10170000FF90EF90DF90CF9008958B3B910578F498 +:10171000883A910540F5853A9105D0F484309105D9 +:1017200008F0B1C08130910509F4ADC06BC0803EB6 +:10173000910508F467C0883E910508F4A4C09C0197 +:10174000205F31092031310508F05CC090650895B3 +:10175000853A910509F459C0863A910509F058C0B7 +:1017600082E890E40895883A910509F454C0893AD2 +:10177000910509F453C08A3A910509F452C08B3A95 +:10178000910509F451C08C3A910509F450C08D3A85 +:10179000910509F44FC0803B910509F44EC08E3A83 +:1017A000910509F44DC08F3A910509F44CC0813B75 +:1017B000910509F44BC0823B910509F44AC0833B73 +:1017C000910509F449C0843B910509F448C0853B63 +:1017D000910509F447C0863B910509F446C0873B53 +:1017E000910509F445C0883B910509F444C0893B43 +:1017F000910509F443C08A3B910509F442C080E099 +:1018000094E4089580E090E0089581E890E40895DC +:1018100083E890E4089582EE94E4089589EE94E4D8 +:1018200008958AEE94E4089585EB94E4089586EB98 +:1018300094E4089587EB94E408958CEC94E408957F +:101840008DEC94E4089583E895E408958AE895E49E +:10185000089582E995E4089584E995E4089581E284 +:1018600096E4089583E296E4089584E296E4089568 +:1018700085E296E4089586E296E4089587E296E488 +:1018800008958AE296E40895089596E0799FF0011C +:10189000112494E5899FE00DF11D1124E60FF11D3F +:1018A000EE0FFF1FEA51FF4F859194910895880F25 +:1018B000991FFC01E05AF040859194910895880F9A +:1018C000991FFC01E052FF4F85919491089526E005 +:1018D000729FF001112444E5849FE00DF11D112455 +:1018E000E60FF11DEE0FFF1FEA51FF4F8591949116 +:1018F0009C013A9521154FE1340708F41EC13F5170 +:101900002115304120F49F700E945F0C08959C01C6 +:1019100030532115304118F49927906C08958115A2 +:1019200020E5920769F40E944A1B4FEF84E39CE094 +:10193000415080409040E1F700C000000C94AC2280 +:10194000813020E5920751F48EEA94E00E94FB0773 +:101950008091D70181608093D70108959C01305513 +:101960002115304108F051C0292F33272F7033271C +:1019700021303105D9F4AC014370552702C0220F44 +:10198000331F4A95E2F73C68AC0164E0440F551FF1 +:101990006A95E1F744275370242B352B73E0880FA9 +:1019A000991F7A95E1F7807699271DC0223031057D +:1019B00029F4982F8827816F906A08952330310584 +:1019C000A9F4AC014370552721E030E002C0220F9A +:1019D000331F4A95E2F73C6843E0880F991F4A9508 +:1019E000E1F7807E9770822B932B08952430310588 +:1019F000E1F4AC014370552721E030E002C0220F32 +:101A0000331F4A95E2F73A68E7CF9C01305721151A +:101A1000304118F49F70906208959C013058211550 +:101A2000304118F49F70906A0895803E9105E0F46B +:101A3000803C910558F58133910509F46FC048F455 +:101A40008932910509F463C08A32910509F46DC0A9 +:101A500072C089339105E9F082389105D1F0853360 +:101A6000910509F44DC067C0833E910581F138F4BA +:101A7000803E9105B9F0823E9105D9F05CC0863E6A +:101A8000910561F1873E9105A1F155C00E94570C67 +:101A900008952091EA0120FD02C021FF4CC080EE94 +:101AA00090E049C08091EA0180FFF9CF89E390E09E +:101AB00042C08091EA0182FF0EC08091EA0184FF5A +:101AC00003C080E090E037C083EE90E034C08091A6 +:101AD000EA0182FFF2CF82EE90E02DC08091EA0110 +:101AE00083FF0BC08091EA0184FDEBCF87EE90E08D +:101AF00022C08091EA0183FFF5CF86EE90E01BC003 +:101B00008091EA0185FF07C089E290E014C08091CE +:101B1000EA0185FFF9CF85E390E00DC08091EA01ED +:101B200086FF07C08AE290E006C08091EA0186FF46 +:101B3000F9CF81E390E00E94850B0895089580918C +:101B40006D0108959FB7F89410925C019FBF90912A +:101B5000F001943009F057C09091E9009F703091E6 +:101B6000EC00232F217030FD20E8922B24E02093FD +:101B7000E9002091EB0020FF43C02091EE0027FFF9 +:101B80003FC020915A01222321F02091E80025FF37 +:101B900037C010925A0126E03091E80035FD15C09B +:101BA0003091F001343061F53091EB0035FD28C003 +:101BB000215021F481E080935A0122C0EFE9FFE037 +:101BC0003197F1F700C00000E7CF8093F1008091DA +:101BD000E80085FD0AC08091E80080FFFCCF80917D +:101BE000E8008E778093E80006C08FB7F89421E074 +:101BF00020935C018FBF9F709093E90080E008956F +:101C00009F709093E9008FEF0895CF93DF9300D0FA +:101C10001F92CDB7DEB79C018091F001843019F599 +:101C200093E099833B832A839093E9008FEF90910F +:101C3000E800815095FD06C095ED9A95F1F70000FA +:101C40008111F5CF8091E80085FF0DC040E050E0A4 +:101C500063E070E0CE0101960E94D5108091E8000B +:101C60008E778093E8000F900F900F90DF91CF91C7 +:101C70000895CF93DF9300D01F92CDB7DEB72091A8 +:101C8000F001243021F522E029839B838A8383E0BD +:101C90008093E9008FEF9091E800815095FD06C098 +:101CA00095ED9A95F1F700008111F5CF8091E8004C +:101CB00085FF0DC040E050E063E070E0CE0101968A +:101CC0000E94D5108091E8008E778093E8000F90F5 +:101CD0000F900F90DF91CF9108952091F001243063 +:101CE000F1F422E02093E9002FEF3091E800215039 +:101CF00035FD06C035ED3A95F1F700002111F5CF1D +:101D00002091E80025FF0BC040E050E065E070E066 +:101D10000E94D5108091E8008E778093E8000895A6 +:101D2000CF93DF932091F001243009F048C0EC01FB +:101D300080910C018823E1F080910D018823C1F08E +:101D400085E08093E9008FEF9091E800815095FD48 +:101D500006C095E19A95F1F700008111F5CF8091C9 +:101D6000E80085FF2CC040E050E060E170E017C063 +:101D700081E08093E9008FEF9091E800815095FD1C +:101D800006C095ED9A95F1F700008111F5CF80918D +:101D9000E80085FF14C040E050E068E070E0CE014C +:101DA0000E94D5108091E8008E778093E80080E152 +:101DB000FE01ADE5B1E001900D928A95E1F7DF916A +:101DC000CF91089585EE94E00E94FB078091EF018A +:101DD000811109C00E946A120E94C7128091E2001C +:101DE00084608093E200089581EE94E00E94FB07F6 +:101DF0001092EF0108958DED94E00C94FB0789EDAE +:101E000094E00E94FB070C947C2C85ED94E00E94EA +:101E1000FB070E9446220E94822C0E946C150C94A3 +:101E20009E0D20915B012F5F822F62E30E94F02DB7 +:101E3000992319F020935B01089510925B01809122 +:101E40005C01882371F18091F001843041F580912B +:101E5000E9008F702091EC00922F917020FD90E8A6 +:101E6000892B94E09093E9009091EB0090FF14C0CF +:101E70009091EE0097FF10C09091E80095FF03C08D +:101E80001092F100F9CF9091E80090FF05C0909179 +:101E9000E8009E779093E8008F708093E90010929D +:101EA0005C01089542E061EC81E00E94E41142E0AF +:101EB00061EC82E00E94E41142E061EC83E00E9468 +:101EC000E41142E261EC84E00E94E41142E161EC41 +:101ED00085E00C94E4118091F201833009F455C03F +:101EE00030F4813071F0823009F48EC008958A3068 +:101EF00009F47AC08B3009F460C0893009F09CC0C5 +:101F000020C08091F101813A09F096C08091E800EB +:101F1000877F8093E8008091F5019091F601892BED +:101F200021F460E18DE591E003C060E080E090E0A5 +:101F300070E00E9420118091E8008B778093E80088 +:101F400008958091F101813209F076C08091F50108 +:101F50009091F601009719F0049709F06DC08091F7 +:101F6000E800877F8093E8008091E80082FD05C04B +:101F70008091F0018111F8CF5FC08091F1008093D2 +:101F80006D018091E8008B7753C08091F101813A17 +:101F900009F052C08091F5019091F601892B09F06A +:101FA0004BC08091E800877F8093E8008091E80033 +:101FB00080FFFCCF80910C0136C08091F10181320D +:101FC000D9F58091F5019091F601892BA9F58091C1 +:101FD000E800877F8093E8000E9419128091F30146 +:101FE00080930C010C944A1B8091F101813221F500 +:101FF0008091E800877F8093E8000E941912809109 +:10200000F40180936E0108958091F101813AA1F469 +:102010008091E800877F8093E8008091E80080FF4E +:10202000FCCF80916E018093F1008091E8008E7763 +:102030008093E8000C941912089584B7877F84BFB9 +:1020400088E10FB6F89480936000109260000FBE94 +:1020500090E080E80FB6F89480936100909361005F +:102060000FBE0E94F9150E946A120E94C712809149 +:10207000E20084608093E20082EA9DE00E94852174 +:1020800078940E944C150E94FB1582E091E00E941A +:1020900067150E946A2C84EC94E00E94FB078091F3 +:1020A000F001853089F480EC94E00E94FB070E94E7 +:1020B0000A228091EE01882391F30E943222882324 +:1020C00071F30E94BF10EBCF0E942916E8CF292F91 +:1020D000332723303105C9F064F42130310581F014 +:1020E0002230310509F043C08DE890E02DE135E064 +:1020F00042C021323105F1F02232310541F137C0C1 +:1021000082E190E02AEA35E036C0992781309105D6 +:1021100041F08230910541F0892B49F5E9E1F5E084 +:1021200005C0E1E0F5E002C0E9EEF4E0849190E062 +:102130009F0121C06530D8F4E62FF0E0EE0FFF1FBD +:10214000EB5DFE4F2081318189E090E014C0653065 +:1021500070F470E0FB01EE0FFF1FE55EFE4F208183 +:102160003181FB01EA5EFE4F808190E004C080E097 +:1021700090E020E030E0FA0131832083089580E18F +:1021800089BD82E189BD09B400FEFDCF8091D800F0 +:102190008F7D8093D8008091E00082608093E00082 +:1021A0008091E00081FDFCCF0895CF92DF92EF9205 +:1021B000FF920F931F93CF93DF93EC018B016A0182 +:1021C0000E943812811133C0C114D10439F0F601D4 +:1021D00080819181081B190BC80FD91FE12CF12CAC +:1021E0000115110519F18091E80085FD16C0809157 +:1021F000E8008E778093E800C114D10449F0F6011D +:1022000080819181E80EF91EF182E08285E00FC0A5 +:102210000E943812882321F30AC089918093F1002B +:1022200001501109FFEFEF1AFF0ADACF80E0DF91CA +:10223000CF911F910F91FF90EF90DF90CF90089575 +:102240002091F7013091F8012617370748F0611502 +:10225000710539F42091E8002E772093E80001C041 +:10226000B90140E061157105A9F12091F001222327 +:1022700009F443C0253009F442C02091E80023FD51 +:1022800040C02091E80022FD32C02091E80020FFEC +:10229000E9CF4091F3002091F20030E0342BFC01B3 +:1022A000CF016115710559F02830310540F4819155 +:1022B0008093F100615071092F5F3F4FF1CF41E0F2 +:1022C0002830310509F040E02091E8002E77209376 +:1022D000E800C8CF4111C9CF0AC08091F00188231E +:1022E00061F0853061F08091E80083FD0AC0809143 +:1022F000E80082FFF2CF80E0089582E0089583E055 +:10230000089581E008952091F7013091F801261792 +:10231000370748F06115710539F42091E8002E77F0 +:102320002093E80001C0B901FC0120E061157105AE +:1023300091F18091F001882309F440C0853009F4BF +:102340003FC08091E80083FD3DC08091E80082FDA0 +:102350002FC08091E80080FFE9CF2091F3008091A9 +:10236000F20090E0922B6115710559F088309105CB +:1023700040F424912093F100319661507109019647 +:10238000F2CF21E0089709F020E08091E8008E77F5 +:102390008093E800CBCF2111CCCF0AC08091F0010F +:1023A000882361F0853061F08091E80083FD0AC0E8 |