diff --git a/keyboard/ergodox_ez/keymaps/alexjj/keymap.c b/keyboard/ergodox_ez/keymaps/alexjj/keymap.c new file mode 100644 index 00000000..448f62da --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/alexjj/keymap.c @@ -0,0 +1,238 @@ +#include "ergodox_ez.h" +#include "debug.h" +#include "action_layer.h" + +#define BASE 0 // default layer +#define SYMB 1 // symbols +#define MDIA 2 // media keys +#define UNIC 3 // unicode entry layer + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* Keymap 0: Basic layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | ESC | 1! | 2@ | 3# | 4$ | 5% | 6^ | | 7& | 8* | 9( | 0) | -_ | += | BkSp | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | Tab | Q | W | E | R | T | { | | } | Y | U | I | O | P | |\ | + * |--------+------+------+------+------+------| [ | | ] |------+------+------+------+------+--------| + * | Win | A | S | D | F | G |------| |------| H | J | K | L | :; | '" | + * |--------+------+------+------+------+------| Home | | End |------+------+------+------+------+--------| + * | LShift |Z/Alt | X | C | V | B | | | | N | M | , | . | Alt | RShift | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * |LCtrl | COPY | PASTE| Left | Right| | Down | Up |Hyper | `~ | RCtrl | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * Hyper = Ctrl+Super+Alt+Shift | ~L3 | F5 | | F2 | ~L2 | + * ,------|------|------| |------+------+------. + * | | | PgUp | | Ins | | | + * | Enter| BkSp |------| |------| ~L1 |Space | + * | | | PgDn | | Del | | | + * `--------------------' `--------------------' + */ +// 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_6, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, + KC_LGUI, KC_A, KC_S, KC_D, KC_F, KC_G, + KC_LSFT, ALT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_HOME, + KC_LCTRL, LCTL(KC_C), LCTL(KC_V), KC_LEFT,KC_RGHT, + KC_FN3, KC_F5, + KC_PGUP, + KC_ENT,KC_BSPC,KC_PGDN, + // right hand + KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, + KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, + KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, + KC_END, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, + KC_DOWN,KC_UP, ALL_T(KC_NO),KC_GRV, KC_RCTRL, + KC_F2, KC_FN2, + KC_INS, + KC_DELT,KC_FN1, KC_SPC + ), +/* Keymap 1: Symbol Layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |PrintScr| + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | £ | | | | | | . | 0 | = |Alt+F4| + * `----------------------------------' `----------------------------------' + * ↑ ,-------------. ,-------------. + * THERE! | | | | | | + * ,------|------|------| |------+------+------. + * CAD = Ctrl + Alt + Delete | | | | | | | | + * | | |------| |------| | | + * | | | | | CAD | | | + * `--------------------' `--------------------' + */ +// SYMBOLS +[SYMB] = KEYMAP( + // left hand + KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, + KC_TRNS,KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS, + KC_TRNS,KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV, + KC_TRNS,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,KC_TRNS, + KC_TRNS,M(3),KC_TRNS,KC_TRNS,KC_TRNS, + KC_TRNS,KC_TRNS, + KC_TRNS, + KC_TRNS,KC_TRNS,KC_TRNS, + // right hand + KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, + KC_TRNS, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_TRNS, + 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, LALT(KC_F4), + KC_TRNS, KC_TRNS, + KC_TRNS, + LCTL(LALT(KC_DEL)), KC_TRNS, KC_TRNS +), +/* Keymap 2: Media and mouse keys + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | TEENSY | | | | | | | | | | | | | | | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | | | MsUp | | | | | | | | | | | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | | | | | | | | | | | Prev | Next | | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | Lclk | Rclk | |VolDn |VolUp | Mute | | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | |Brwser| + * | | |------| |------| |Back | + * | | | | | | | | + * `--------------------' `--------------------' + */ +// MEDIA AND MOUSE +[MDIA] = KEYMAP( + RESET, 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_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_MPLY, + KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, + KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_WBAK +), +/* Keymap 3: Unicode Entry + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | Alt | 1 | 2 | 3 | 4 | 5 | 6 | | 7 | 8 | 9 | 0 | + | + | | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | Alt | | | E | | | | | | | 7 | 8 | 9 | + | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | Alt | A | | D | F | |------| |------| | 4 | 5 | 6 | + | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | Alt | | | C | | B | | | | | 1 | 2 | 3 | + | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | Alt | Alt | Alt | | | | 0 | 0 | 0 | + | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * WINDOWS ONLY SETUP!! | ~L3 | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | Alt | Alt |------| |------| Alt | Alt | + * | | | | | | | | + * `--------------------' `--------------------' + */ +// If it accepts an argument (i.e, is a function), it doesn't need KC_. +// Otherwise, it needs KC_* +[UNIC] = KEYMAP( // layer 3 : Unicode Entry + // left hand + KC_LALT, KC_P1, KC_P2, KC_P3, KC_P4, KC_P5, KC_P6, + KC_LALT, KC_TRNS, KC_TRNS, KC_E, KC_TRNS, KC_TRNS, KC_TRNS, + KC_LALT, KC_A, KC_TRNS, KC_D, KC_F, KC_TRNS, + KC_LALT, KC_TRNS, KC_TRNS, KC_C, KC_TRNS, KC_B, KC_TRNS, + KC_LALT, KC_LALT, KC_LALT, KC_TRNS,KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_LALT,KC_LALT, KC_TRNS, + // right hand + KC_P7, KC_P8, KC_P9, KC_P0, KC_PPLS,KC_PPLS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_P7, KC_P8, KC_P9, KC_PPLS, KC_TRNS, + KC_TRNS, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_PPLS, KC_TRNS, + KC_P0, KC_P0, KC_P0, KC_PPLS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS,KC_LALT, KC_LALT + ), +}; + + +const uint16_t PROGMEM fn_actions[] = { + [1] = ACTION_LAYER_TAP_TOGGLE(SYMB), // FN1 - Momentary Layer 1 (Symbols) + [2] = ACTION_LAYER_TAP_TOGGLE(MDIA), // FN2 - Momentary Layer 2 (Media) + [3] = ACTION_LAYER_TAP_TOGGLE(UNIC) // FN3 - Momentary Layer 3 (Unicode entry) +}; + +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); + } + case 3: // this would trigger when you hit a key mapped as M(3) + if (record->event.pressed) { + return MACRO( I(255), D(LALT), T(P1), T(P5), T(P6), U(LALT), END ); + } + 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; + default: + // none + break; + } + +}; diff --git a/keyboard/ergodox_ez/keymaps/alexjj/keymap.hex b/keyboard/ergodox_ez/keymaps/alexjj/keymap.hex new file mode 100644 index 00000000..13338a89 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/alexjj/keymap.hex @@ -0,0 +1,1141 @@ +:100000000C94C5020C940C030C940C030C940C037C +:100010000C940C030C940C030C940C030C940C0324 +:100020000C940C030C940C030C94380C0C940A0DD7 +:100030000C940C030C940C030C940C030C940C0304 +:100040000C940C030C94AC210C940C030C940C0336 +:100050000C940C030C94381B0C940C030C940C03A0 +:100060000C940C030C940C030C940C030C940C03D4 +:100070000C940C030C940C030C940C030C940C03C4 +:100080000C940C030C940C030C940C030C940C03B4 +:100090000C940C030C940C030C940C030C940C03A4 +:1000A0000C940C030C940C030C940C03770D990D19 +:1000B0008C0E990D8C0EDE0D010E8C0E560E690EF7 +:1000C0005D115D118C118C11CF11091216141614CB +:1000D0002212161417131713EA1316141614011408 +:1000E00075FF01E201590259015D025D015E025E88 +:1000F00002E2000000F0A1F0A2F0A329002B00E32F +:1001000000E100E00000001E00140004001D740661 +:10011000014E001F001A0016001B0019012A0020C2 +:100120000008000700060050002800210015000903 +:100130000019004F004B00220017000A00050000C4 +:1001400000C30023002F0000004A0000003E0024EE +:1001500000300000004D0000003B0025001C000B9B +:100160000011000000C200260018000D0010005110 +:1001700000490027000C000E00360052002C002D14 +:100180000012000F003700007FC1002E0013003363 +:1001900000380035004C002A0031003400E500E44E +:1001A0000000000100010001000100010000003A10 +:1001B000001E0220022202033001003B001F022128 +:1001C000022302010001003C002F0226022F000141 +:1001D0000001003D00300227023000010001003E16 +:1001E00000310235003502000001003F000100002F +:1001F00000010000000100400001000000010000BB +:1002000000010041005200510024020000010042A0 +:1002100000240021001E00010001004300250022EF +:10022000001F0037000100440026002300200027A3 +:10023000000100450025022E0231002E004C05462B +:10024000000100010001003D040000005001000118 +:100250000001000100000001000100010001000197 +:1002600000010001000100F2000100010001000195 +:1002700000F000F1000100F400010001000100F3B2 +:10028000000100F500010001000100010001000073 +:100290000001000100010000000100000001000158 +:1002A0000001000000010000000100010001000148 +:1002B000000100000001000100010001000100AA8E +:1002C000000100010001000100AC00A900B600011E +:1002D0000001000100AB00A80001000100010001C5 +:1002E0000001000100010001000100AE0001000159 +:1002F000000000E200E200E200E200E2000000593B +:1003000000010004000100E20001005A00010001A8 +:10031000000100E200E2005B0008000700060001A7 +:1003200000E2005C00010009000100010001005D25 +:1003300000010001000500000001005E0001000056 +:10034000000100000001005F00010000000100004A +:1003500000010060000100010001000000010061D7 +:10036000005F005C00590062000100620060005DF7 +:10037000005A006200E200570061005E005B00620C +:1003800000E20057005700570057005700010001D6 +:100390000001000100010001000000160345007289 +:1003A0000067006F0044006F007800200045005A8D +:1003B00000000016034500720067006F0044006FE4 +:1003C000007800200045005A0000000403090409D9 +:1003D000026D00040100A0FA0904000001030101FC +:1003E00000092111010001223F00070581030800D7 +:1003F0000A090401000103010200092111010001A1 +:10040000224D000705820308000A090402000103C7 +:1004100000000009211101000122360007058303B5 +:1004200008000A090403000103000000092111016A +:100430000001223900070584031000011201100198 +:1004400000000008EDFE0713010001020001050194 +:100450000906A101050719E029E7150025019508FE +:10046000750181020508190129059505750191029B +:1004700095017503910105071900297715002501DC +:10048000957875018102C005010980A101850216D8 +:10049000010026B7001A01002AB7007510950181E6 +:1004A00000C0050C0901A1018503160100269C026C +:1004B0001A01002A9C02751095018100C0050109EE +:1004C00002A1010901A1000509190129051500254D +:1004D00001950575018102950175038101050109E9 +:1004E0003009311581257F95027508810609381577 +:1004F00081257F950175088106050C0A3802158152 +:10050000257F950175088106C0C005010906A10176 +:10051000050719E029E715002501950875018102F5 +:1005200095017508810105081901290595057501D1 +:1005300091029501750391010507190029FF150026 +:1005400025FF950675088100C0000000000000002E +:1005500000000000010204060A0F17202C3A4A5D31 +:1005600071879DB3C7DAE9F5FCFFFCF5E9DAC7B39B +:100570009D87715D4A3A2C20170F0A06040201007C +:100580000000000000000000000011241FBECFEF9B +:10059000DAE0DEBFCDBF04B603FE27C08091EE01D6 +:1005A0009091EF01A091F001B091F1018730904B53 +:1005B000A740B04BD1F41092EE011092EF011092CF +:1005C000F0011092F10114BE84B7877F84BF0FB68B +:1005D000F894A895809160008861809360001092E3 +:1005E00060000FBEE0E0FFE3099511E0A0E0B1E09C +:1005F000EAEFF6E402C005900D92A433B107D9F7F3 +:1006000021E0A4E3B1E001C01D92AE3EB207E1F7E4 +:100610000E947F090C947B230C940000CF93DF93FE +:10062000EC01662319F0633059F00DC08A818823EC +:1006300021F085EE0E94EE0F03C085EE0E94B610F9 +:100640008A81811103C080E090E002C080EE90E0DA +:10065000DF91CF91089508956091B1017091B20139 +:100660008091B3019091B4010E94621A56985E98ED +:1006700025982D9826982E9827982F98823039F013 +:10068000833041F0813041F4259A2D9A0895269ABD +:100690002E9A0895279A2F9A08950C942C03569811 +:1006A0005E9825982D9826982E9827982F988FEF4A +:1006B00090E0909389008093880090938B008093C2 +:1006C0008A0090938D0080938C00259A2D9A2FEFAD +:1006D00080E792E0215080409040E1F700C00000A8 +:1006E000269A2E9A2FEF80E792E02150804090408A +:1006F000E1F700C00000279A2F9A2FEF80E792E0E1 +:10070000215080409040E1F700C0000025982D98CE +:100710002FEF80E792E0215080409040E1F700C049 +:10072000000026982E982FEF80E792E0215080401D +:100730009040E1F700C0000027982F9856985E98E7 +:1007400025982D9826982E9827982F98089589EA0D +:100750008093800089E08093810024982C983F98B2 +:100760008AB18F748AB96E98479A8BB1806B8BB9B6 +:10077000769A0E944F030C942B0380E28093000131 +:100780008091340181110EC00E940C0481E080939D +:1007900034012FEF83ED90E3215080409040E1F74A +:1007A00000C0000080E40E941204809300018111C7 +:1007B0002EC00E943C0480930001811128C00E9439 +:1007C0003C0480930001811122C08FE30E943C040D +:1007D0008093000181111BC00E94340480E40E94B8 +:1007E000120480930001811112C08CE00E943C042D +:1007F0008093000181110BC00E943C048093000192 +:10080000811105C08FE30E943C04809300010E9487 +:1008100034048091000108951092B9008AE0809319 +:10082000B800089594EA9093BC009091BC0097FFA3 +:10083000FCCF9091B900987F983021F0903111F061 +:1008400081E008958093BB0084E88093BC00809190 +:10085000BC0087FFFCCF8091B900887F883111F000 +:10086000803471F780E0089584E98093BC00809122 +:10087000BC0084FDFCCF08958093BB0084E8809386 +:10088000BC008091BC0087FFFCCF9091B900987F9D +:1008900081E0983209F480E0089584E88093BC00F8 +:1008A0008091BC0087FFFCCF8091BB0008958091B0 +:1008B0000001811115C080E40E94120480930001A0 +:1008C00081110CC082E10E943C04809300018111DF +:1008D00005C08FEF0E943C04809300010E94340405 +:1008E00084B1807F84B985B1807F85B98AB1837FE7 +:1008F0008AB98BB1837F8BB93E98469808950E9440 +:10090000BD03809300010E94570480B38C7080BBAC +:1009100081B3836F81BBE4E4F1E0A6E3B1E011921F +:100920001D9281E0E235F807D1F70C94A7039F925E +:10093000AF92BF92CF92DF92EF92FF920F931F93ED +:10094000CF93DF9380910001882379F08091350166 +:100950008F5F80933501811108C00E94BD03809391 +:100960000001811102C00E944F0386E3E82E81E05E +:10097000F82E8701C0E0D0E0BB24B39492E0A92E0A +:10098000CC24C394D12CC730D10500F5809100014F +:10099000811164C080E40E941204809300018111DF +:1009A00012C082E10E943C048093000181110BC0BF +:1009B000C6010C2E01C0880F0A94EAF780950E94A8 +:1009C0003C04809300010E94340448C0CA30A1F066 +:1009D00028F4C83059F0C93061F005C0CC3089F036 +:1009E00070F0CD3089F0209A289810C0219A29986B +:1009F0000DC0229A2A980AC0239A2B9807C0529AAF +:100A000001C0539A5B9802C03E9A4698E0EAEA9584 +:100A1000F1F78FB181708B25799902C032E001C066 +:100A200030E0832B7C9902C034E001C030E0832B9E +:100A30007D9902C028E001C020E0822B7E9902C08F +:100A400090E101C090E0892B9FB19095991F992763 +:100A5000991F9295990F907E892B0FC0809100016C +:100A600081114AC080E40E9412048093000188230F +:100A700081F1912C0E943404892DD8019C91981702 +:100A800019F08C93A09201010E94570421960F5FE8 +:100A90001F4FCE30D10509F076CF80910101882318 +:100AA00069F1815080930101882339F0EFE9FFE07B +:100AB0003197F1F700C0000021C0E4E4F1E0D70174 +:100AC0008D917D018193B4E4EB16B1E0FB06B9F79B +:100AD00015C083E10E943C04809300018111C9CFBD +:100AE00081E40E941204809300018111C2CF0E9410 +:100AF0004D04982E9094BECF80E0BFCF0E944D034E +:100B000081E0DF91CF911F910F91FF90EF90DF90E7 +:100B1000CF90BF90AF909F900895E82FF0E0EC5BEE +:100B2000FE4F8081089508958B3B910580F4883AAB +:100B3000910548F5853A9105D8F48430910508F07F +:100B4000B2C0019709F06EC081E090E00895803E48 +:100B5000910508F467C0883E910508F4A4C09C0183 +:100B6000205F31092031310508F05CC0906508959F +:100B7000853A910509F459C0863A910509F058C0A3 +:100B800082E890E40895883A910509F454C0893ABE +:100B9000910509F453C08A3A910509F452C08B3A81 +:100BA000910509F451C08C3A910509F450C08D3A71 +:100BB000910509F44FC0803B910509F44EC08E3A6F +:100BC000910509F44DC08F3A910509F44CC0813B61 +:100BD000910509F44BC0823B910509F44AC0833B5F +:100BE000910509F449C0843B910509F448C0853B4F +:100BF000910509F447C0863B910509F446C0873B3F +:100C0000910509F445C0883B910509F444C0893B2E +:100C1000910509F443C08A3B910509F442C080E084 +:100C200094E4089580E090E0089581E890E40895C8 +:100C300083E890E4089582EE94E4089589EE94E4C4 +:100C400008958AEE94E4089585EB94E4089586EB84 +:100C500094E4089587EB94E408958CEC94E408956B +:100C60008DEC94E4089583E895E408958AE895E48A +:100C7000089582E995E4089584E995E4089581E270 +:100C800096E4089583E296E4089584E296E4089554 +:100C900085E296E4089586E296E4089587E296E474 +:100CA00008958AE296E40895089524E5829FC0019C +:100CB0001124FC0126E0729FE00DF11D1124E60FC6 +:100CC000F11DEE0FFF1FE550FF4F859194910895A0 +:100CD000880F991FFC01ED58F0408591949108957B +:100CE000880F991FFC01ED50FF4F85919491089555 +:100CF00024E5829FC0011124FC0146E0749FE00DB1 +:100D0000F11D1124E60FF11DEE0FFF1FE550FF4FFF +:100D1000859194919C013A9521154FE1340708F48F +:100D200027C13F512115304120F49F700E94700669 +:100D300008959C0130532115304118F49927906C87 +:100D40000895811520E5920771F40E943A144FEF3F +:100D500084E39CE0415080409040E1F700C00000F7 +:100D60000E945D1B05C1813020E5920731F480911E +:100D7000CD0181608093CD01FBC09C0130552115D0 +:100D8000304108F05CC0292F33272F7033272130E2 +:100D90003105E9F4AC0164E0440F551F6A95E1F7B1 +:100DA00044275370BC016370772702C0220F331FA2 +:100DB0006A95E2F73C68242B352B73E0880F991F66 +:100DC0007A95E1F780769927822B932B089522302C +:100DD000310529F4982F8827816F906A0895233070 +:100DE0003105A1F4AC0133E0440F551F3A95E1F70A +:100DF000407E57708370992721E030E002C0220FB7 +:100E0000331F8A95E2F7C9019C6816C0243031056A +:100E100031F5AC0123E0440F551F2A95E1F7407EE0 +:100E200057708370992721E030E002C0220F331FF2 +:100E30008A95E2F7C9019A68842B952B08959C0145 +:100E400030572115304118F49F70906208959C012D +:100E500030582115304118F49F70906A0895803EF3 +:100E60009105E0F4803C910558F58133910509F432 +:100E70006FC048F48932910509F463C08A32910544 +:100E800009F46DC072C089339105E9F0823891058B +:100E9000D1F08533910509F44DC067C0833E9105BB +:100EA00081F138F4803E9105B9F0823E9105D9F088 +:100EB0005CC0863E910561F1873E9105A1F155C068 +:100EC0000E94680608952091DF0120FD02C021FFE5 +:100ED0004CC080EE90E049C08091DF0180FFF9CFE7 +:100EE00089E390E042C08091DF0182FF0EC08091D3 +:100EF000DF0184FF03C080E090E037C083EE90E024 +:100F000034C08091DF0182FFF2CF82EE90E02DC0ED +:100F10008091DF0183FF0BC08091DF0184FDEBCF67 +:100F200087EE90E022C08091DF0183FFF5CF86EE4F +:100F300090E01BC08091DF0185FF07C089E290E04F +:100F400014C08091DF0185FFF9CF85E390E00DC0EB +:100F50008091DF0186FF07C08AE290E006C08091A1 +:100F6000DF0186FFF9CF81E390E00E9494050895A8 +:100F7000089508950C94B907809162010895CF9364 +:100F8000DF9300D01F92CDB7DEB79C018091E501C1 +:100F9000843019F593E099833B832A839093E90089 +:100FA0008FEF9091E800815095FD06C095ED9A95E0 +:100FB000F1F700008111F5CF8091E80085FF0DC0A9 +:100FC00040E050E063E070E0CE0101960E942C0A00 +:100FD0008091E8008E778093E8000F900F900F903B +:100FE000DF91CF910895CF93DF9300D01F92CDB7BB +:100FF000DEB72091E501243021F522E029839B838F +:101000008A8383E08093E9008FEF9091E80081501C +:1010100095FD06C095ED9A95F1F700008111F5CF89 +:101020008091E80085FF0DC040E050E063E070E093 +:10103000CE0101960E942C0A8091E8008E77809361 +:10104000E8000F900F900F90DF91CF9108959C01D1 +:101050008091E5018430F9F482E08093E9009FEF0C +:101060008091E800915085FD06C085ED8A95F1F7E5 +:1010700000009111F5CF8091E80085FF0CC040E0A1 +:1010800050E065E070E0C9010E942C0A8091E80000 +:101090008E778093E8000895CF93DF93EC018091E1 +:1010A000E501843009F046C090910C019923D9F0F4 +:1010B00090910D019923B9F08093E9008FEF909101 +:1010C000E800815095FD06C095E19A95F1F7000082 +:1010D0008111F5CF8091E80085FF2CC040E050E001 +:1010E00060E170E017C081E08093E9008FEF90919C +:1010F000E800815095FD06C095ED9A95F1F7000046 +:101100008111F5CF8091E80085FF14C040E050E0E8 +:1011100068E070E0CE010E942C0A8091E8008E7792 +:101120008093E80080E1FE01A2E5B1E001900D921C +:101130008A95E1F7DF91CF9108958091E4018111C3 +:1011400009C00E94BD0B0E941A0C8091E2008460CD +:101150008093E20008951092E401089508950C949C +:1011600099210E94F31A0E949F210E94C50E0C949F +:10117000BA0742E061EC81E00E94360B42E061EC8C +:1011800082E00E94360B42E061EC83E00E94360B65 +:1011900042E161EC84E00C94360B8091E7018330EE +:1011A00009F455C030F4813071F0823009F48EC0FA +:1011B00008958A3009F47AC08B3009F460C0893010 +:1011C00009F09CC020C08091E601813A09F096C0E8 +:1011D0008091E800877F8093E8008091EA019091F8 +:1011E000EB01892B21F460E182E591E003C060E02E +:1011F00080E090E070E00E94770A8091E8008B77B1 +:101200008093E80008958091E601813209F076C06C +:101210008091EA019091EB01009719F0039709F092 +:101220006DC08091E800877F8093E8008091E8009E +:1012300082FD05C08091E5018111F8CF5FC08091EA +:10124000F100809362018091E8008B7753C0809118 +:10125000E601813A09F052C08091EA019091EB01D8 +:10126000892B09F04BC08091E800877F8093E800CC +:101270008091E80080FFFCCF80910C0136C0809106 +:10128000E6018132D9F58091EA019091EB01892B39 +:10129000A9F58091E800877F8093E8000E946B0B9E +:1012A0008091E80180930C010C943A148091E6013E +:1012B000813221F58091E800877F8093E8000E94C9 +:1012C0006B0B8091E9018093630108958091E601A1 +:1012D000813AA1F48091E800877F8093E8008091B3 +:1012E000E80080FFFCCF809163018093F100809142 +:1012F000E8008E778093E8000C946B0B089584B718 +:10130000877F84BF0FB6F894A895809160008861AC +:1013100080936000109260000FBE90E080E80FB6EE +:10132000F89480936100909361000FBE0E94140FA7 +:101330000E94BD0B0E941A0C8091E2008460809391 +:10134000E20078940E94A50E0E94160F82E091E0C0 +:101350000E94C00E0E9487218091E501853069F4CA +:101360000E94B21A8091E3018823B1F30E94DF1A30 +:10137000882391F30E94160AEFCF0E941C0FECCF36 +:10138000292F332723303105C9F060F4213031058E +:1013900081F02230310509F041C08DE690E02FEC5C +:1013A00033E040C021323105E1F02232310531F124 +:1013B00035C082E190E02CE334E034C099278130DD +:1013C000910549F028F0029749F5EBE9F3E005C0F3 +:1013D000EBECF3E002C0E3EBF3E0849190E09F01DB +:1013E00021C06430D8F4E62FF0E0EE0FFF1FEE5D71 +:1013F000FE4F2081318189E090E014C0643070F4A8 +:1014000070E0FB01EE0FFF1FE65EFE4F2081318191 +:10141000FB01EA5EFE4F808190E004C080E090E036 +:1014200020E030E0FA0131832083089580E189BD16 +:1014300082E189BD09B400FEFDCF8091D8008F7D87 +:101440008093D8008091E00082608093E0008091DA +:10145000E00081FDFCCF0895CF92DF92EF92FF92E2 +:101460000F931F93CF93DF93EC018B016A010E94CE +:101470008A0B811133C0C114D10439F0F601808187 +:101480009181081B190BC80FD91FE12CF12C0115F4 +:10149000110519F18091E80085FD16C08091E800E2 +:1014A0008E778093E800C114D10449F0F601808161 +:1014B0009181E80EF91EF182E08285E00FC00E9462 +:1014C0008A0B882321F30AC089918093F10001508F +:1014D0001109FFEFEF1AFF0ADACF80E0DF91CF9119 +:1014E0001F910F91FF90EF90DF90CF900895209182 +:1014F000EC013091ED012617370748F061157105B1 +:1015000039F42091E8002E772093E80001C0B9015A +:10151000FC0120E06115710579F18091E5018823D6 +:10152000F1F18530F1F18091E80083FD3CC08091BC +:10153000E80082FD2EC08091E80080FFEBCF209173 +:10154000F3008091F20090E0922B6115710551F04B +:101550008830910538F421912093F1006150710990 +:101560000196F3CF21E0089709F020E08091E80090 +:101570008E778093E800CECF2111CFCF0AC0809123 +:10158000E501882361F0853061F08091E80083FDFA +:101590000AC08091E80082FFF2CF80E0089582E0E7 +:1015A000089583E0089581E008952091EC01309141 +:1015B000ED012617370748F06115710539F42091C0 +:1015C000E8002E772093E80001C0B901FC0120E07B +:1015D0006115710591F18091E501882309F440C0FE +:1015E000853009F43FC08091E80083FD3DC08091C3 +:1015F000E80082FD2FC08091E80080FFE9CF2091B4 +:10160000F3008091F20090E0922B6115710559F082 +:101610008830910540F424912093F1003196615077 +:1016200071090196F2CF21E0089709F020E080913E +:10163000E8008E778093E800CBCF2111CCCF0AC091 +:101640008091E501882361F0853061F08091E800A8 +:1016500083FD0AC08091E80082FFF2CF80E0089508 +:1016600082E0089583E0089581E00895982F9730EF +:1016700068F59093E900981739F07091EC0020918B +:10168000ED005091F00003C0242F762F50E021FD93 +:1016900002C09F5FECCF3091EB003E7F3093EB00B8 +:1016A0003091ED003D7F3093ED003091EB003160E3 +:1016B0003093EB007093EC002093ED005093F0001A +:1016C0002091EE0027FDE5CF80E008958F70809394 +:1016D000E90081E008958091E60187FF11C08091C3 +:1016E000E80082FD05C08091E5018111F8CF11C0AD +:1016F0008091E8008B770BC08091E501882349F049 +:101700008091E80080FFF8CF8091E8008E77809389 +:10171000E80008952091E4003091E50095E64091BD +:10172000EC00842F817040FF23C08091E80080FD91 +:101730001DC08091E501882399F0853099F0809152 +:10174000EB0085FD11C04091E4005091E5002417A5 +:10175000350729F3915011F09A01E1CF84E0089503 +:1017600082E0089583E0089581E0089580E008957F +:101770004091E80042FFDDCF08950E942B0C0E94AB +:10178000330CE0EEF0E0808181608083E8EDF0E0F2 +:1017900080818F77808319BCA7EDB0E08C918E7F1C +:1017A0008C9380818F7E80831092E40108950F9343 +:1017B0001F93CF93DF930E942B0C0E94330CC8ED34 +:1017C000D0E088818F77888388818068888388814A +:1017D0008F7D888319BC1092E5011092E10110926F +:1017E000E3011092E20100EE10E0F80180818B7FAE +:1017F000808388818160888342E060E080E00E948D +:10180000360BE1EEF0E080818E7F8083E2EEF0E047 +:10181000808181608083808188608083F8018081FD +:101820008E7F8083888180618883DF91CF911F9133 +:101830000F910895E8EDF0E080818F7E8083E7EDE1 +:10184000F0E080818160808384E082BF81E08093CA +:10185000E4010C94D70BE8EDF0E080818E7F80836B +:101860001092E20008951092DA001092E1000895BB +:101870001F920F920FB60F9211242F933F934F9305 +:101880005F936F937F938F939F93AF93BF93EF93E8 +:10189000FF938091E10082FF0BC08091E20082FF04 +:1018A00007C08091E1008B7F8093E1000E94A40E2D +:1018B0008091DA0080FF1FC08091D80080FF1BC09C +:1018C0008091DA008E7F8093DA008091D90080FFCA +:1018D0000DC080E189BD82E189BD09B400FEFDCF64 +:1018E00081E08093E5010E949D0805C019BC10921B +:1018F000E5010E94AB088091E10080FF19C0809152 +:10190000E20080FF15C08091E2008E7F8093E200AC +:101910008091E20080618093E2008091D800806233 +:101920008093D80019BC85E08093E5010E94AF0840 +:101930008091E10084FF30C08091E20084FF2CC0E0 +:1019400080E189BD82E189BD09B400FEFDCF8091AF +:10195000D8008F7D8093D8008091E1008F7E8093A6 +:10196000E1008091E2008F7E8093E2008091E200AE +:1019700081608093E2008091E101882311F084E08E +:1019800007C08091E30087FD02C081E001C083E0D1 +:101990008093E5010E94B1088091E10083FF29C096 +:1019A0008091E20083FF25C08091E100877F8093D2 +:1019B000E10082E08093E5011092E1018091E10075 +:1019C0008E7F8093E1008091E2008E7F8093E20021 +:1019D0008091E20080618093E20042E060E080E07C +:1019E0000E94360B8091F00088608093F0000E9486 +:1019F000AE08FF91EF91BF91AF919F918F917F9131 +:101A00006F915F914F913F912F910F900FBE0F906B +:101A10001F9018951F920F920FB60F9211242F93BB +:101A20003F934F935F936F937F938F939F93AF9366 +:101A3000BF93CF93DF93EF93FF93C091E900CF70F3 +:101A40008091EC00D82FD17080FDD0E81092E90091 +:101A50008091F000877F8093F00078940E944E0D73 +:101A60001092E9008091F00088608093F000CD2B07 +:101A7000CF70C093E900FF91EF91DF91CF91BF91BB +:101A8000AF919F918F917F916F915F914F913F9116 +:101A90002F910F900FBE0F901F9018951F93CF930B +:101AA000DF93CDB7DEB7AA970FB6F894DEBF0FBEAF +:101AB000CDBFE6EEF1E08091F100819321E0EE3EB2 +:101AC000F207C9F70E94CD088091E80083FF24C186 +:101AD0008091E6019091E701492F50E04A3051058D +:101AE00008F01AC1FA01EA5AFF4F0C9430238038EB +:101AF00081F0823809F010C18091EA018F708093E3 +:101B0000E9008091EB0085FB882780F91092E900BD +:101B100006C08091E2019091E30191118260909161 +:101B2000E800977F9093E8008093F1001092F10015 +:101B3000C8C0282F2D7F09F0EFC0882319F082300C +:101B400061F0EAC08091E801813009F0E5C093308E +:101B500009F080E08093E3012BC08091E8018111BE +:101B600027C08091EA018F7009F4D6C08093E90004 +:101B70002091EB0020FF1CC0933021F48091EB00FA +:101B8000806214C09091EB0090619093EB0021E093 +:101B900030E0A90102C0440F551F8A95E2F7409337 +:101BA000EA001092EA008091EB0088608093EB00DD +:101BB0001092E9008091E800877F86C08111ACC057 +:101BC0001091E8011F778091E3008078812B80934A +:101BD000E3008091E800877F8093E8000E946B0B10 +:101BE0008091E80080FFFCCF8091E30080688093C3 +:101BF000E300111102C082E001C083E08093E5019F +:101C00008BC08058823008F087C08091E8019091A5 +:101C1000E9018C3D53E0950779F583E08A838AE2F8 +:101C200089834FB7F894DE01139620E03EE051E23D +:101C3000E32FF0E050935700E49120FF03C0E295BA +:101C4000EF703F5FEF708E2F90E0EA3010F0C79694 +:101C500001C0C0968D939D932F5F243149F74FBFEC +:101C60008091E800877F8093E8006AE270E0CE010F +:101C700001960E94770A14C0AE014F5F5F4F6091DA +:101C8000EA010E94C009BC01892B09F445C090916A +:101C9000E800977F9093E80089819A810E94D50A95 +:101CA0008091E8008B778093E80036C08038A1F5FA +:101CB0008091E800877F8093E8008091E101809324 +:101CC000F1008091E8008E778093E8000E946B0B12 +:101CD00023C0811121C08091E8019091E9019927E9 +:101CE0000297D4F48091E800877F8093E800809188 +:101CF000E8018093E1010E946B0B8091E101811169 +:101D000006C08091E30087FD02C081E001C084E04D +:101D10008093E5010E94B9088091E80083FF0AC022 +:101D20008091E800877F8093E8008091EB008062DB +:101D30008093EB00AA960FB6F894DEBF0FBECDBF1E +:101D4000DF91CF911F9108950895CF938091E50180 +:101D50008823A1F0C091E900CF709091EC00892F09 +:101D6000817090FD80E8C82B1092E9008091E80016 +:101D700083FD0E944E0DCF70C093E900CF9108956E +:101D800090936901809368010895E0916801F09152 +:101D90006901309721F00190F081E02D099480E0F5 +:101DA0000895E0916801F0916901309721F0028077 +:101DB000F381E02D09940895E0916801F0916901A3 +:101DC000309721F00480F581E02D09940895209149 +:101DD0006601309167012817390771F09093670108 +:101DE00080936601E0916801F0916901309721F0DC +:101DF0000680F781E02D09940895209164013091C7 +:101E000065012817390771F090936501809364018B +:101E1000E0916801F0916901309721F00084F1852B +:101E2000E02D0994089508950C94130F0E94F91A57 +:101E30000E947F040C94BF1BCF92DF92EF92FF921F +:101E40000F931F93CF93DF93CDB7DEB72B970FB6CA +:101E5000F894DEBF0FBECDBF0E9497048BE6C82E5C +:101E600081E0D82E00E010E0E02E802F0E948D054A +:101E7000F60141916F01F82EF426B1F40F5F1F4F68 +:101E80000E30110589F78FEF89838A831B820E94A8 +:101E9000021B8160782F9D838C8349815A816B81DD +:101EA0008D810E94BF0F40C09091CD0191FF04C071 +:101EB0008B870E9493058B8520E030E04F2D50E00A +:101EC000922FBA01022E02C0759567950A94E2F727 +:101ED00060FF24C02E83EF8221E030E0690102C060 +:101EE000CC0CDD1C9A95E2F790E08C219D21892B8A +:101EF00009F420E028870E94021B8160782F9A87CE +:101F000089874E815F8168858A850E94BF0FF801AD +:101F1000E559FE4F8081C826C08206C02F5F3F4F23 +:101F20002630310569F6AACF0E94A61E0E94C50E72 +:101F300090916A018917A1F00E94C50E80936A01F1 +:101F40002B960FB6F894DEBF0FBECDBFDF91CF91B9 +:101F50001F910F91FF90EF90DF90CF900C94BA07F4 +:101F60002B960FB6F894DEBF0FBECDBFDF91CF9199 +:101F70001F910F91FF90EF90DF90CF900895CF9336 +:101F8000DF93CDB7DEB72B970FB6F894DEBF0FBE49 +:101F9000CDBF4F83588769877A878B87DE0111967B +:101FA00086E0FD0111928A95E9F785E0FE013796FA +:101FB00001900D928A95E1F749815A816B817C816C +:101FC0008D819E810E94CE162B960FB6F894DEBFAF +:101FD0000FBECDBFDF91CF9108950895CF93C82F45 +:101FE000882309F4C1C0823859F40E94C50E81FDCE +:101FF000BBC089E30E946B190E94331A89E30CC0AD +:10200000833879F40E94C50E80FDAEC083E50E943E +:102010006B190E94331A83E50E94AA19CF910C9480 +:10202000331A843859F40E94C50E82FD9DC087E49E +:102030000E946B190E94331A87E4EECF8CEF8C0F4D +:10204000813A48F48C2F0E94EC2081118DC08C2F96 +:102050000E946B19E3CF80E28C0F883048F4C77080 +:1020600081E001C0880FCA95EAF70E94EC19D6CF2B +:102070008BE58C0F833078F4C53A29F0C63A31F0FD +:1020800083E890E005C081E890E002C082E890E03B +:10209000CF910C94E70E88E58C0F833108F064C073 +:1020A000C83A39F1C93A41F1CA3A49F1CB3A51F14A +:1020B000CC3A59F1CD3A61F1C03B69F1CE3A71F1B8 +:1020C000CF3A79F1C13B81F1C23B89F1C33B91F138 +:1020D000C43B99F1C53BA1F1C63BA9F1C73BB1F1A6 +:1020E000C83BB9F1C93BC1F1CA3BC9F180E090E0FE +:1020F00038C082EE90E035C089EE90E032C08AEEC2 +:1021000090E02FC085EB90E02CC086EB90E029C0DA +:1021100087EB90E026C08CEC90E023C08DEC90E043 +:1021200020C083E891E01DC08AE891E01AC082E9EE +:1021300091E017C084E991E014C081E292E011C0FF +:1021400083E292E00EC084E292E00BC085E292E06E +:1021500008C086E292E005C087E292E002C08AE20F +:1021600092E0CF910C94FD0ECF910895882309F44D +:102170004BC0823859F40E94C50E81FF45C089E3E7 +:102180000E946B190E94331A89E30CC0833871F4E2 +:102190000E94C50E80FF38C083E50E946B190E9423 +:1021A000331A83E50E94AA190C94331A843859F41F +:1021B0000E94C50E82FF28C087E40E946B190E940E +:1021C000331A87E4EFCF9CEF980F913A58F390E2DF +:1021D000980F983050F4877091E001C0990F8A955C +:1021E000EAF7892F0E94F219DFCF9BE5980F933011 +:1021F00020F480E090E00C94E70E885A833120F4BC +:1022000080E090E00C94FD0E0895882321F00E9458 +:10221000EC190C94331A0895882321F00E94F219C6 +:102220000C94331A0895BF92CF92DF92EF92FF92EF +:102230000F931F93CF93DF9300D000D000D0CDB782 +:10224000DEB77C0185E0F701DE01119601900D9269 +:102250008A95E1F7F70183819481892B09F4E6C21D +:10226000D08011811F3F21F4FFEFDF1609F4DEC299 +:10227000F7010281258122952F70C7012E830E94CC +:10228000ED0FD9821A8389819A810E942A19182F09 +:10229000B92E0E9429190E94F0172E81002319F0EF +:1022A0000E94091A2E81EB2DE295EF704E2F50E01F +:1022B000FA01E05AFF4F0C9430238B2D807F9B2D29 +:1022C0009F70F92E882319F0F29480EFF8220023F2 +:1022D00049F0FF2009F457C28F2D0E94FC190E947B +:1022E000331A51C2812F0E94B610FF2009F49EC2FA +:1022F0008F2D0E94021A26960FB6F894DEBF0FBEED +:10230000CDBFDF91CF911F910F91FF90EF90DF90A4 +:10231000CF90BF900C94331A3B2D307F8B2D8F7054 +:10232000303211F08295807F112319F0113021F1A4 +:102330002CC00023B9F0222309F490C1213009F008 +:102340008DC126960FB6F894DEBF0FBECDBFDF91CC +:10235000CF911F910F91FF90EF90DF90CF90BF90A2 +:102360000C941C1A222319F0213009F45FC28E83C9 +:102370000E941F1A8E8186C1002321F0223008F0AE +:1023800055C26CC1211152C27DC1002321F022230C +:1023900009F464C1F8C1222309F474C109C28B2D68 +:1023A00086958695837019F08130D1F03FC2002365 +:1023B00021F0812F9B2D937002C080E090E0269643 +:1023C0000FB6F894DEBF0FBECDBFDF91CF911F9146 +:1023D0000F91FF90EF90DF90CF90BF900C94E70E9D +:1023E000002321F0812F9B2D937002C080E090E0AC +:1023F00026960FB6F894DEBF0FBECDBFDF91CF910A +:102400001F910F91FF90EF90DF90CF90BF900C94B1 +:10241000FD0E812F002319F00E94AE1D02C00E9404 +:10242000161E26960FB6F894DEBF0FBECDBFDF9105 +:10243000CF911F910F91FF90EF90DF90CF90BF90C1 +:102440000C949B1E8B2D837009F075C00111EEC199 +:10245000812F829586958770880F880F912F9F70A6 +:10246000C92ED12CE12CF12C082E04C0CC0CDD1C83 +:10247000EE1CFF1C0A94D2F714FF12C00FE010E00C +:1024800020E030E004C0000F111F221F331F8A9587 +:10249000D2F7C901B801609570958095909503C0F9 +:1024A00060E070E0CB014B2D46954695437042307D +:1024B000C1F060F56C297D298E299F29413051F1A9 +:1024C00026960FB6F894DEBF0FBECDBFDF91CF9139 +:1024D0001F910F91FF90EF90DF90CF90BF900C94E1 +:1024E00017186C297D298E299F2926960FB6F894F6 +:1024F000DEBF0FBECDBFDF91CF911F910F91FF9037 +:10250000EF90DF90CF90BF900C9433180E94171873 +:10251000C701B60126960FB6F894DEBF0FBECDBF39 +:10252000DF91CF911F910F91FF90EF90DF90CF90AF +:10253000BF900C94FB17002319F08B2D817001C004 +:102540008695882309F472C1812F829586958770BC +:10255000880F880F912F9F70C92ED12CE12CF12C60 +:10256000082E04C0CC0CDD1CEE1CFF1C0A94D2F714 +:1025700014FF12C00FE010E020E030E004C0000FB4 +:10258000111F221F331F8A95D2F7C901B801609528 +:1025900070958095909503C060E070E0CB014B2D65 +:1025A0004695469543704230C1F060F56C297D290F +:1025B0008E299F29413051F126960FB6F894DEBF3F +:1025C0000FBECDBFDF91CF911F910F91FF90EF9084 +:1025D000DF90CF90BF900C94F1186C297D298E2943 +:1025E0009F2926960FB6F894DEBF0FBECDBFDF91B0 +:1025F000CF911F910F91FF90EF90DF90CF90BF9000 +:102600000C940D190E94F118C701B60126960FB659 +:10261000F894DEBF0FBECDBFDF91CF911F910F9118 +:10262000FF90EF90DF90CF90BF900C94D518103FA3 +:10263000D1F118F4103E50F4A1C0123F09F463C068 +:1026400008F44CC0133F09F473C098C01F708B2D61 +:102650008F710023A1F00E946E18812F26960FB66D +:10266000F894DEBF0FBECDBFDF91CF911F910F91C8 +:10267000FF90EF90DF90CF90BF900C9405110E94D7 +:102680008F18812F26960FB6F894DEBF0FBECDBFF0 +:10269000DF91CF911F910F91FF90EF90DF90CF903E +:1026A000BF900C940C110023A9F02111BFC08B2DF9 +:1026B0008F7126960FB6F894DEBF0FBECDBFDF91A7 +:1026C000CF911F910F91FF90EF90DF90CF90BF902F +:1026D0000C94B418223008F0A9C0E9CF0023A9F067 +:1026E0008B2D8F7126960FB6F894DEBF0FBECDBF2F +:1026F000DF91CF911F910F91FF90EF90DF90CF90DE +:10270000BF900C946E18002359F38B2D8F71269671 +:102710000FB6F894DEBF0FBECDBFDF91CF911F91F2 +:102720000F91FF90EF90DF90CF90BF900C948F1897 +:10273000002399F08B2D8F7126960FB6F894DEBF8B +:102740000FBECDBFDF91CF911F910F91FF90EF9002 +:10275000DF90CF90BF900C94591826960FB6F8943E +:10276000DEBF0FBECDBFDF91CF911F910F91FF90C4 +:10277000EF90DF90CF90BF900C944F180023A9F0FA +:10278000222309F4ADCF812F26960FB6F894DEBF31 +:102790000FBECDBFDF91CF911F910F91FF90EF90B2 +:1027A000DF90CF90BF900C94EE0F222309F4ADCFB1 +:1027B000812F26960FB6F894DEBF0FBECDBFDF91F6 +:1027C000CF911F910F91FF90EF90DF90CF90BF902E +:1027D0000C94B6104B2D4F70612FC7010E940E0351 +:1027E00026960FB6F894DEBF0FBECDBFDF91CF9116 +:1027F0001F910F91FF90EF90DF90CF90BF900C94BE +:1028000073174B2D4F70612FC70126960FB6F894A2 +:10281000DEBF0FBECDBFDF91CF911F910F91FF9013 +:10282000EF90DF90CF90BF900C94540626960FB691 +:10283000F894DEBF0FBECDBFDF91CF911F910F91F6 +:10284000FF90EF90DF90CF90BF9008950E94091AFB +:102850000E94191A0E94DE190E94331A0E944B1F0F +:102860000E949B1E80E090E00E94E70E80E090E0D6 +:102870000C94FD0E0E94F9190C9426140E942A193A +:10288000292F22952F702C3030F42A3048F4225012 +:10289000223078F405C02C3041F02F3031F009C0DF +:1028A000803E48F0803F29F406C093FB882780F9DA +:1028B000089580E0089581E00895CF93DF9300D0DC +:1028C00000D01F92CDB7DEB70F900F900F900F90F2 +:1028D0000F90DF91CF910895CF93DF9300D000D078 +:1028E00000D0CDB7DEB726960FB6F894DEBF0FBE88 +:1028F000CDBFDF91CF9108951F93CF93DF93C09108 +:10290000790116E080917A01C81799F0D0E01C9FF8 +:10291000F0011D9FF00D1124E558FE4F40815181BB +:1029200062817381848195810E946C142196C770A5 +:10293000E9CFDF91CF911F9108954091AB01509164 +:10294000AC016091AD017091AE018091AF019091A9 +:10295000B0010C946C148091B00182958F7009F0D5 +:1029600054C08091AD01882309F44FC08091790152 +:10297000A0917A014091AE015091AF016091AB01FD +:102980007091AC01B6E08A1709F43FC090E04115A0 +:102990005105C1F17F3F11F46F3FA1F1B89FF001E4 +:1029A000B99FF00D1124E558FE4F218127132AC04D +:1029B0002081261327C02281211124C02381348144 +:1029C0002417350710F421503109241B350B283CFE +:1029D0003105C0F42091B0012F7020612093B00127 +:1029E00026E0289FF001299FF00D1124E058FE4FAA +:1029F00080818F70806180838BEA91E00E94131147 +:102A00000C947C1401968770BECF0895CF92DF920C +:102A1000EF92FF920F931F93CF93DF93CDB7DEB763 +:102A200062970FB6F894DEBF0FBECDBF8C0185E074 +:102A3000F801DE011D9601900D928A95E1F7D8010B +:102A40004C9111965C91119712966C918091AE0108 +:102A50009091AF01009709F475C13091AB0170916D +:102A6000AC017F3F19F43F3F09F46CC1F801C3800A +:102A7000D480E090AD01EE2009F4BEC02091B001F9 +:102A8000C816D90628F0D601A81BB90BCD0104C081 +:102A9000809590958C0D9D1DFF24F394883C9105A5 +:102AA00078F0F12C207F09F0C4C07C2DD98AC88A27 +:102AB00089890E945D148BEA91E00E941311AFC0D6 +:102AC000822F807F09F045C0571313C0431311C0F4 +:102AD00061110FC02F7020612093B0010E949D14DE +:102AE0008BEA91E00E9413118091B001F801858377 +:102AF0002EC0CD2819F15F3F11F44F3FF9F0F62EAB +:102B000061111CC08091790120917A0136E0821711 +:102B100009F45BC090E0389FF001399FF00D11245B +:102B2000E558FE4F7181571306C07081471303C0EB +:102B30007281711103C001968770E9CFF62E66236A +:102B400009F41CC18091B00181608093B001F12C27 +:102B500015C1571309C0431307C0611105C0809107 +:102B6000B001F8018583C8C04D875E878D859E853D +:102B70006A8B0E943E146A898823D1F16623C1F1D1 +:102B80002091B001822F82958F7090E0029774F0AF +:102B90008091AB019091AC0198878F831986DB8679 +:102BA000CA862C87CE0107960E94131186E0F80191 +:102BB000ABEAB1E001900D928A95E1F70E94AB1467 +:102BC0000E949D14FF24F394D9C04D875E878D85A4 +:102BD0009E850E942A19292F22952F70223008F0F5 +:102BE000C1C09F7009F0BBC0805E883008F4C6C0C9 +:102BF000C8010E941311E6CFC816D90608F453C0C5 +:102C0000F601E81BF90BCF01883C910508F450C090 +:102C1000F12C7C2DD98AC88A89890E945D14EBEA3F +:102C2000F1E086E0DF011D928A95E9F70E949D148C +:102C3000A5C0571314C0431312C0611110C0809176 +:102C4000B001F8018583C8010E94131186E0EBEA08 +:102C5000F1E0DF011D928A95E9F7FE2C8FC04D87C8 +:102C60005E878D859E856A8B0E943E146A898823C3 +:102C700009F4BECF662309F4BBCF2091B001822FA7 +:102C800082958F7090E002970CF490CF8091AB0109 +:102C90009091AC019A8389831B82DD82CC822E8342 +:102CA000CE01019681CF809590958C0D9D1DACCF66 +:102CB000F62E662309F49CCF571333C0431331C05B +:102CC0002091B00120FD24C0822F82958F70482F63 +:102CD00050E041155105E1F0D80115962C93159758 +:102CE0004F30510549F08F5F982F9295907F822F3A +:102CF0008F70892B15968C93C8010E94131186E062 +:102D0000F801ABEAB1E001900D928A95E1F78ECF20 +:102D100086E0F801ABEAB1E001900D928A95E1F707 +:102D20002DC04D875E878D859E850E943E14811142 +:102D30003DCF8091B00181608093B001C8010E94B5 +:102D400013111CC0662309F453CF4D875E878D8510 +:102D50009E850E943E14882309F44ACF27CF811113 +:102D600043CF0CC0243008F043CF9F7009F43CCF10 +:102D7000D80115969C91907F09F036CF8F2D6296E1 +:102D80000FB6F894DEBF0FBECDBFDF91CF911F917C +:102D90000F91FF90EF90DF90CF9008951F93CF9306 +:102DA000DF93CDB7DEB72C970FB6F894DEBF0FBE1A +:102DB000CDBF4F83588769877A878B879C87CE01E1 +:102DC00007960E940615882371F08A859B85892BBA +:102DD00009F441C088858F3F09F065C08F818F3F1E +:102DE00009F061C038C086E0FE013796DE01119619 +:102DF00001900D928A95E1F76A857B8561157105D1 +:102E000051F1FF81E885EF3F11F4FF3F21F120915F +:102E10007A0130E0C90101968770992740917901C4 +:102E200050E08417950709F447C0F983EA837D834E +:102E30006C8396E0929FD001939FB00D1124A5580A +:102E4000BE4FFE01319601900D929A95E1F7809365 +:102E50007A010E947C1416E08091790190917A01A8 +:102E60008917B9F1189FC001112485589E4F0E94FF +:102E70000615882371F1E09179011E9FF00111245C +:102E8000E558FE4F40815181628173818481958133 +:102E90000E946C148091790190E0019687709927C7 +:102EA00080937901D9CF4F81588569857A858B8543 +:102EB0009C850E946C14CFCF0E943A1410927A0124 +:102EC00010927901EBEAF1E086E0DF011D928A952C +:102ED000E9F72C960FB6F894DEBF0FBECDBFDF9199 +:102EE000CF911F910895EF92FF920F931F93CF936D +:102EF000DF938C01892B09F46CC0F12CEE24E39450 +:102F0000E8012196F8018491843740F4843008F078 +:102F100051C0813081F0823019F15BC0853709F4EE +:102F200044C0A8F19CE7980F903708F052C08F7703 +:102F30000E94B61041C00E5F1F4FFE01849190E2C7 +:102F4000980F983050F48770FE2D01C0FF0F8A95BE +:102F5000EAF78F2F0E940C1A14C00E94EE0F2DC0AA +:102F60000E5F1F4FFE01849190E2980F983060F43D +:102F70008770FE2D01C0FF0F8A95EAF78F2F0E9400 +:102F8000121A0E94331A19C00E94B61016C00E5FA2 +:102F90001F4FFE01C491CC2381F08FE99FE0019780 +:102FA000F1F700C00000C150F6CF0E5F1F4FFE01C9 +:102FB000F49003C00E94EE0F8E018F2D882309F438 +:102FC0009FCFEFE9FFE03197F1F700C0000081509B +:102FD000F5CFDF91CF911F910F91FF90EF90089562 +:102FE00008956093B5017093B6018093B7019093F3 +:102FF000B8010C9426140F931F930091B501109102 +:10300000B6012091B7013091B801DC01CB01802BD2 +:10301000912BA22BB32B8093B5019093B601A09373 +:10302000B701B093B8011F910F910C9426140F9320 +:103030001F930091B5011091B6012091B701309115 +:10304000B801DC01CB0180239123A223B323809319 +:10305000B5019093B601A093B701B093B8011F9149 +:103060000F910C9426140F931F930091B5011091AA +:10307000B6012091B7013091B801DC01CB01802766 +:103080009127A227B3278093B5019093B601A0930F +:10309000B701B093B8011F910F910C9426141092B0 +:1030A000B1011092B2011092B3011092B4010C94CC +:1030B000261441E050E060E070E004C0440F551F6A +:1030C000661F771F8A95D2F74093B1015093B201E2 +:1030D0006093B3017093B4010C94261441E050E066 +:1030E00060E070E004C0440F551F661F771F8A958B +:1030F000D2F78091B1019091B201A091B301B0914A +:10310000B401482B592B6A2B7B2B4093B101509370 +:10311000B2016093B3017093B4010C94261441E0A2 +:1031200050E060E070E004C0440F551F661F771F39 +:103130008A95D2F740955095609570958091B10130 +:103140009091B201A091B301B091B40148235923E9 +:103150006A237B234093B1015093B2016093B30182 +:103160007093B4010C94261441E050E060E070E0EC +:1031700004C0440F551F661F771F8A95D2F78091B0 +:10318000B1019091B201A091B301B091B40148276F +:1031900059276A277B274093B1015093B20160936E +:1031A000B3017093B4010C9426140F931F930091F4 +:1031B000B1011091B2012091B3013091B401DC0151 +:1031C000CB01802B912BA22BB32B8093B101909339 +:1031D000B201A093B301B093B4011F910F910C946D +:1031E00026140F931F930091B1011091B201209109 +:1031F000B3013091B401DC01CB0180239123A223E0 +:10320000B3238093B1019093B201A093B301B09323 +:10321000B4011F910F910C9426140F931F930091EA +:10322000B1011091B2012091B3013091B401DC01E0 +:10323000CB0180279127A227B3278093B1019093D8 +:10324000B201A093B301B093B4011F910F910C94FC +:1032500026140895CF92DF92EF92FF920F931F935F +:10326000CF93DF938C01C090B101D090B201E09078 +:10327000B301F090B4018091B5019091B601A09195 +:10328000B701B091B801C82AD92AEA2AFB2ACFE1AE +:10329000D0E0D701C6010C2E04C0B695A79597952E +:1032A00087950A94D2F780FF07C0B8018C2F0E943F +:1032B00078068130910531F4219758F7B80180E004 +:1032C0000E947806DF91CF911F910F91FF90EF90B0 +:1032D000DF90CF90089590910C019923F1F0909197 +:1032E0000D019923D1F0982F9695969596959F303C +:1032F00080F5E0910E01F0910F01E90FF11D87704B +:1033000021E030E0A90102C0440F551F8A95E2F781 +:10331000CA019181892B8183089520910E013091FA +:103320000F01F90132969FEF40E05191851789F026 +:103330009F3F19F4511101C0942F4F5F4E30A9F7F0 +:103340009F3F39F0F901E90FF11D97FDFA9582834E +:103350000895089590910C019923F9F090910D0131 +:103360009923D9F0982F9695969596959F3028F5A4 +:10337000E0910E01F0910F01E90FF11D877021E03E +:1033800030E0A90102C0440F551F8A95E2F7CA0137 +:103390008095918189238183089520910E01309138 +:1033A0000F01F9013296205F3F4F9081891301C0D0 +:1033B00010823196E217F307C1F7089581E090E09B +:1033C000E0910E01F0910F01E80FF91F10820196B4 +:1033D00080319105A9F708959091CC01892B8093B4 +:1033E000CC01089580959091CC0189238093CC01E4 +:1033F00008951092CC0108959091CB01892B809370 +:10340000CB01089580959091CB0189238093CB01C6 +:1034100008951092CB0108959091CA01892B809351 +:10342000CA01089580959091CA0189238093CA01A9 +:1034300008951092CA0108958093B90108951092D9 +:10344000B901089580910E0190910F01FC01319610 +:103450009C01205F3F4F80E0919191118F5FE217B7 +:10346000F307D1F70895E0910E01F0910F018091DB +:10347000CC018083E0910E01F0910F019081809149 +:10348000CB01892B8083E0910E01F0910F01908197 +:103490008091CA01892B80838091B901882361F0D2 +:1034A000E0910E01F0910F019081892B80830E94A1 +:1034B000221A81111092B90180910E0190910F0191 +:1034C0000C94D10ECF92DF92EF92FF926C01EE241A +:1034D000FF24C114D104E104F10421F0C701B601B5 +:1034E00020E101C020E0C72ED82EE92EFF24C11410 +:1034F000D104E104F10419F0285FC701B6016B01A2 +:103500007C0154E0F694E794D794C7945A95D1F788 +:10351000C114D104E104F10419F02C5FC701B60114 +:103520006B017C0142E0F694E794D794C7944A95E6 +:10353000D1F7C114D104E104F10419F02E5FC701E1 +:10354000B601DC01CB01B695A79597958795892B98 +:103550008A2B8B2B09F02F5F822FFF90EF90DF904B +:10356000CF9008958091E501843029F120E488E12D +:1035700090E00FB6F894A895809360000FBE20935A +:10358000600080E00E94BA0783B7817F846083BFB8 +:1035900083B7816083BF7894889583B78E7F83BF1C +:1035A0000FB6F894A89580916000886180936000C0 +:1035B000109260000FBE089508950C94DC1ACF930A +:1035C0000E94DD1A0E9497040E94DC1AC0E08C2F32 +:1035D0000E948D05811104C0CF5FCE30C1F701C0BC +:1035E00081E0CF9108950E943A140E94C50E0C9478 +:1035F000BA0782E084BD93E095BD9AEF97BD8093B2 +:103600006E0008952FB7F8948091CE019091CF016C +:10361000A091D001B091D1012FBF0895CF92DF9238 +:10362000EF92FF920F931F932FB7F8944091CE0122 +:103630005091CF016091D0017091D1012FBF6A01EB +:103640007B01EE24FF248C0120E030E0C016D1067F +:10365000E206F30610F4415051099A01281B390B78 +:10366000C9011F910F91FF90EF90DF90CF900895C7 +:103670001F920F920FB60F9211248F939F93AF93C7 +:10368000BF938091CE019091CF01A091D001B091D4 +:10369000D1010196A11DB11D8093CE019093CF0160 +:1036A000A093D001B093D101BF91AF919F918F9121 +:1036B0000F900FBE0F901F9018950E94BD0BF894AD +:1036C0002FEF87EA91E6215080409040E1F700C05B +:1036D000000087E090EBDC018093EE019093EF0116 +:1036E000A093F001B093F1019CE088E10FB6F8944B +:1036F000A895809360000FBE90936000FFCFEF927B +:10370000FF920F931F93CF93DF93D82FC0E08C2F9E +:103710000E948D0500E010E0E82EF12CC701002E7C +:1037200002C0959587950A94E2F780FD06C00F5F69 +:103730001F4F0630110591F709C0602F7C2F80E0E4 +:103740000E9455068D13F3CF81E004C0CF5FCE30C9 +:10375000F1F680E0DF91CF911F910F91FF90EF90F4 +:103760000895CF93C82F8CE20E947F1B882321F0FD +:103770008C2FCF910C947F1B80E0CF910895CF9335 +:103780000E94061D811102C00E94EC1CC5E6C150BA +:1037900049F00E9497048FE39CE90197F1F700C07C +:1037A0000000F5CF89E20E94B11B811113C18AE2AA +:1037B0000E94B11B81110E94EC1C85E00E94B11B8C +:1037C00081110E945D1B0E94111D8093CD0187E035 +:1037D0000E94B11B8823A9F18BE10E94B11B8823B1 +:1037E00051F08091CD0181FB222720F991E09227B1 +:1037F00090FB81F90EC08EE00E94B11B882361F01E +:103800008091CD0182FB222720F991E0922790FB45 +:1038100082F98093CD0115C080E10E94B11B909187 +:10382000CD01882341F093FB222720F981E08227F4 +:1038300080FB93F904C0892F809580FB90F99093C9 +:10384000CD018091CD010E94151D0E94231D809302 +:10385000DF0180EE0E94B11B882341F08091DF01DF +:10386000982F909590FB80F98093DF0189E30E9467 +:10387000B11B882359F08091DF0181FB222720F9B9 +:1038800091E0922790FB81F98093DF0182EE0E9404 +:10389000B11B882359F08091DF0182FB222720F998 +:1038A00091E0922790FB82F98093DF0186EE0E94DF +:1038B000B11B882359F08091DF0183FB222720F977 +:1038C00091E0922790FB83F98093DF0183EE0E94C1 +:1038D000B11B882359F08091DF0184FB222720F956 +:1038E00091E0922790FB84F98093DF0185E30E94A9 +:1038F000B11B882359F08091DF0185FB222720F935 +:1039000091E0922790FB85F98093DF0181E30E948B +:10391000B11B882359F08091DF0186FB222720F913 +:1039200091E0922790FB86F98093DF0181E10E946C +:10393000B11B882359F08091DF0187FB222720F9F2 +:1039400091E0922790FB87F98093DF018091DF015E +:103950000E94271D8091DF0187FB882780F98093D3 +:103960000D0187E20E94B11BC82F8EE10E94B11B9E +:103970008111C2608FE10E94B11B8111C46080E29D +:103980000E94B11B8111C86081E20E94B11B8111AC +:10399000C06182E20E94B11B8111C06283E20E9479 +:1039A000B11B8111C06484E20E94B11B882311F015 +:1039B000C06802C0CC2329F08C2F0E941E1D6C2FE2 +:1039C00003C00E941A1D682F70E080E090E0CF9144 +:1039D0000C94F117CF9108956DEE7EEF80E090E0AA +:1039E0000E94662360E082E090E00E94582360E03D +:1039F00083E090E00E94582360E084E090E00E9421 +:103A0000582360E085E090E00C94582380E090E03B +:103A10000E94522321E08D3E9E4F09F020E0822F2C +:103A2000089582E090E00C944A23682F82E090E0B1 +:103A30000C94582383E090E00C944A23682F83E091 +:103A400090E00C94582384E090E00C944A23682F73 +:103A500084E090E00C9458238091D40180FF0BC047 +:103A60006091130185E0689FB001112475956795F9 +:103A7000759567952BC081FF09C06091130185E0A2 +:103A8000689FB00111247595679520C082FF07C01B +:103A90006091130185E0689FB001112417C09091D7 +:103AA000D5019923D1F060911201961788F72091E2 +:103AB000130185E0289F90011124929FA001939FFC +:103AC000500D112470E0CA010E941C23603871055A +:103AD00040F46115710519F406C065E070E0862FA9 +:103AE00008958FE7089581E008958091D40180FFC3 +:103AF00008C06091110170E075956795759567959F +:103B000021C081FF06C06091110170E07595679535 +:103B100019C082FF04C06091110170E010C0909143 +:103B2000D501992399F0609110019617A0F7809123 +:103B30001101899FC001112470E00E941C2360388C +:103B4000710540F46115710519F406C061E070E07B +:103B5000862F08958FE7089581E00895803F21F42E +:103B60000E942C1D819504C0813F29F40E942C1DC8 +:103B70008093D8010895823F21F40E942C1D8195E5 +:103B800004C0833F29F40E942C1D8093D70108951F +:103B9000893F19F40E94751D05C08A3F31F40E94C7 +:103BA000751D81958093D90108958B3F21F40E9462 +:103BB000751D819504C08C3F29F40E94751D80936A +:103BC000DA010895843F21F48091D601816017C005 +:103BD000853F21F48091D601826011C0863F21F497 +:103BE0008091D60184600BC0873F21F48091D6017B +:103BF000886005C0883F31F48091D6018061809350 +:103C0000D60108958D3F21F48091D40181600BC0CD +:103C10008E3F21F48091D401826005C08F3F29F44A +:103C20008091D40184608093D4010895803F39F459 +:103C30008091D80187FF6CC01092D80169C0813F84 +:103C400029F48091D8011816BCF362C09091D70175 +:103C5000823F29F497FF5CC01092D70159C0833F7F +:103C600019F41916CCF354C0893F41F48091D9015D +:103C700018160CF04DC01092D9014AC08A3F29F4A1 +:103C80008091D90187FF44C0F6CF8B3F39F48091F2 +:103C9000DA0187FF3DC01092DA013AC08C3F29F467 +:103CA0008091DA011816BCF333C0843F21F480916F +:103CB000D6018E7F17C0853F21F48091D6018D7F7C +:103CC00011C0863F21F48091D6018B7F0BC0873FC6 +:103CD00021F48091D601877F05C0883F31F480911F +:103CE000D6018F7E8093D60113C08D3F21F4809141 +:103CF000D4018E7F0BC08E3F21F48091D4018D7F43 +:103D000005C08F3F29F48091D4018B7F8093D4012B +:103D10008091D70181110EC08091D80181110AC014 +:103D20008091D901811106C08091DA01811102C010 +:103D30001092D501089586ED91E00E94DC0E0E945C +:103D4000021B9093D3018093D20108951F93CF93C8 +:103D5000DF938091D2019091D3010E940E1BAC01A0 +:103D60009091D501992321F02091140130E006C0F3 +:103D7000209115018AE0289F9001112442175307D2 +:103D800008F485C08091D701C091D801D091D901A4 +:103D90001091DA01811107C0C11175C0D11173C032 +:103DA000111171C074C09F3F19F09F5F9093D501AE +:103DB000181624F40E942C1D8093D7018091D701FE +:103DC00087FF05C00E942C1D81958093D7011C168A +:103DD00024F40E942C1D8093D8018091D80187FF84 +:103DE00005C00E942C1D81958093D8016091D70158 +:103DF000662331F1C091D801CC2311F1062E000CBD +:103E0000770B880B990B0E94232223E333E343E3D0 +:103E10005FE30E9487220E94EB216093D7016C2F01 +:103E2000CC0F770B880B990B0E94232223E333E3FB +:103E300043E35FE30E9487220E94EB216093D80155 +:103E40001D1624F40E94751D8093D9018091D9011B +:103E500087FF05C00E94751D81958093D9011116B9 +:103E600024F40E94751D8093DA018091DA0187FFA6 +:103E700005C00E94751D81958093DA01DF91CF9175 +:103E80001F910C949B1E9F3F09F08FCFA0CFDF9115 +:103E9000CF911F910895E6EDF1E085E0DF011D92DD +:103EA0008A95E9F71092D5011092D40108958330D4 +:103EB00081F128F4813059F08230D1F008958530B5 +:103EC00009F449C0B8F1863009F456C008958091CC +:103ED0001501262F30E0280F311D2F3F310524F426 +:103EE000680F6093150108958FEF80931501089571 +:103EF00080911401262F30E0280F311D2F3F31050E +:103F000024F4680F6093140108958FEF80931401D7 +:103F1000089580911301262F30E0280F311D2F3F87 +:103F2000310524F4680F6093130108958FEF809397 +:103F30001301089580911201262F30E0280F311DC2 +:103F40002F3F310524F4680F6093120108958FEF1D +:103F500080931201089580911101262F30E0280FDF +:103F6000311D2F3F310524F4680F6093110108952E +:103F70008FEF80931101089580911001262F30E07A +:103F8000280F311D2F3F310524F4680F6093100175 +:103F900008958FEF809310010895833011F128F474 +:103FA000813049F0823091F00895853081F120F11F +:103FB0008630C1F1089580911501681720F4861BA1 +:103FC00080931501089510921501089580911401B0 +:103FD000681720F4861B8093140108951092140131 +:103FE000089580911301681720F4861B80931301B4 +:103FF000089510921301089580911201681720F41A +:10400000861B8093120108951092120108958091E9 +:104010001101681720F4861B8093110108951092F6 +:104020001101089580911001681720F4861B809378 +:10403000100108951092100108950F931F938D3170 +:1040400009F46AC008F03FC08E3009F484C0C0F49F +:10405000873009F46DC068F4863009F0B5C08091EE +:10406000CD01817F8E7F8093CD0181E08093DC0143 +:10407000ACC0883009F457C08B3009F46AC0A4C0C2 +:10408000863109F466C078F4803109F477C0813153 +:1040900009F09AC00E943A1490910D0181E089279D +:1040A00080930D0156C0893109F453C08B3109F05A +:1040B0008BC08091CD0181FB222720F991E09227CE +:1040C00090FB81F951C0853309F475C048F48732FB +:1040D00009F471C008F45EC0893209F46CC074C080 +:1040E000833430F48A3308F053C0883391F16CC0C4 +:1040F000833409F460C0883409F066C00E943A1421 +:104100000FEF13ED20E3015010402040E1F700C015 +:1041100000000E945D1B1DC00E94A5210E94C50ECB +:104120000E94BA0716C00E94111D0E94231D11C0D3 +:104130009091CD01892F8095817080FB90F929F0B5 +:10414000966098609093CD0140C0997F977F90933F +:10415000CD0181E03AC08091CD0182FB222720F978 +:1041600091E0922790FB82F98093CD01992389F306 +:104170008091CD0181608093CD01EBCF8091CD0105 +:1041800083FB222720F991E0922790FB83F9ECCF63 +:10419000895301C08D5141E050E060E070E08A0138 +:1041A0009B0104C0000F111F221F331F8A95D2F7F5 +:1041B000C901B80104C061E070E080E090E00E94B5 +:1041C000F1170E943A14C5CF80E01F910F91089516 +:1041D00080E008950C94E820CF93C82F8091DC01F3 +:1041E000813079F018F08230E9F187C0E0910E015A +:1041F000F0910F018081813169F0823209F07FC036 +:1042000009C0E0910E01F0910F018081813111F020 +:10421000823261F48C2F0E94EA20811104C08C2F1D +:104220000E941D201DC081E090E01AC08C2F0E94CA +:10423000E820811114C0C43179F048F4CB3079F012 +:10424000C03109F060C082E08093DC0108C0C9324F +:1042500019F0C83321F057C01092DC0154C081E03E +:10426000817053C0C93289F118F5C43171F1A8F4D5 +:10427000C73009F046C08AE08093150194E190931D +:10428000140193E0909313018093120188E08093CE +:10429000110188E28093100134C0CE51C63088F5F8 +:1042A000EC2FF0E0E65DFE4F80818093DB0129C0BA +:1042B000CE34E9F020F4CB3421F56AE013C0C135E7 +:1042C00079F0C235F1F461E00DC08091DB01882303 +:1042D00019F01092DB0115C081E08093DC0115C05C +:1042E00061E006C08091DB010E94571F0AC06AE0AE +:1042F0008091DB010E94CD1F04C01092DC0180E0A0 +:1043000004C081E002C080E0ABCFCF910895E1E826 +:10431000F0E08081886080838081816080838FB7B6 +:10432000F89493E09093890090ED909388008FBF6C +:104330000895EFE6F0E08081826080830895EFE6E3 +:10434000F0E080818D7F80830895EFE6F0E090813A +:1043500082E08927808308951F920F920FB60F92F3 +:1043600011242F933F934F935F936F937F938F937A +:104370009F93AF93BF93EF93FF938091DD01909153 +:10438000DE0101969093DE018093DD01811103C06F +:1043900082E00E94BA07E091DE01E695E695F0E042 +:1043A000E75BFA4FE4918091DD018E1303C080E05A +:1043B0000E94BA07FF91EF91BF91AF919F918F91AA +:1043C0007F916F915F914F913F912F910F900FBE11 +:1043D0000F901F9018950E94F2216894B1110C94CF +:1043E000812208950E94662288F09F5798F0B92F85 +:1043F0009927B751B0F0E1F0660F771F881F991F1A +:104400001AF0BA95C9F714C0B13091F00E94802219 +:10441000B1E008950C948022672F782F8827B85F29 +:1044200039F0B93FCCF3869577956795B395D9F771 +:104430003EF490958095709561957F4F8F4F9F4F7B +:104440000895E89409C097FB3EF490958095709587 +:1044500061957F4F8F4F9F4F9923A9F0F92F96E9D0 +:10446000BB279395F695879577956795B795F11145 +:10447000F8CFFAF4BB0F11F460FF1BC06F5F7F4FE2 +:104480008F4F9F4F16C0882311F096E911C07723F4 +:1044900021F09EE8872F762F05C0662371F096E8FD +:1044A000862F70E060E02AF09A95660F771F881FCC +:1044B000DAF7880F9695879597F9089557FD9058E4 +:1044C000440F551F59F05F3F71F04795880F97FBD8 +:1044D000991F61F09F3F79F0879508951216130692 +:1044E0001406551FF2CF4695F1DF08C016161706C1 +:1044F0001806991FF1CF86957105610508940895F6 +:10450000E894BB2766277727CB0197F908950E9487 +:104510009A220C940B230E94FD2238F00E9404235F +:1045200020F0952311F00C94F4220C94FA2211241B +:104530000C9481220E945E2270F3959FC1F3950F27 +:1045400050E0551F629FF001729FBB27F00DB11D17 +:10455000639FAA27F00DB11DAA1F649F6627B00DA7 +:10456000A11D661F829F2227B00DA11D621F739F90 +:10457000B00DA11D621F839FA00D611D221F749F9E +:104580003327A00D611D231F849F600D211D822FE5 +:10459000762F6A2F11249F5750409AF0F1F088230C +:1045A0004AF0EE0FFF1FBB1F661F771F881F915039 +:1045B0005040A9F79E3F510580F00C94F4220C94D2 +:1045C00081225F3FE4F3983ED4F386957795679513 +:1045D000B795F795E7959F5FC1F7FE2B880F911D63 +:1045E0009695879597F9089597F99F6780E870E009 +:1045F00060E008959FEF80EC089500240A94161659 +:10460000170618060906089500240A9412161306C0 +:10461000140605060895092E0394000C11F488234E +:1046200052F0BB0F40F4BF2B11F460FF04C06F5F6A +:104630007F4F8F4F9F4F089597FB072E16F40094DE +:1046400007D077FD09D00E94362307FC05D03EF441 +:10465000909581959F4F0895709561957F4F08952E +:10466000EE0FFF1F0590F491E02D0994AA1BBB1BD0 +:1046700051E107C0AA1FBB1FA617B70710F0A61B62 +:10468000B70B881F991F5A95A9F780959095BC0183 +:10469000CD010895F999FECF92BD81BDF89A992771 +:1046A00080B50895A8E1B0E042E050E00C946D239D +:1046B000262FF999FECF1FBA92BD81BD20BD0FB63E +:1046C000F894FA9AF99A0FBE019608950E94582319 +:1046D000272F0C945923DC01CB01FC01F999FECF63 +:1046E00006C0F2BDE1BDF89A319600B40D9241507A +:0A46F0005040B8F70895F894FFCF8A +:1046FA002002BC074C082708F307BF070101BA01CB +:10470A0028080A03140A3F4D36390A05BD048704EE +:10471A004E04E103FA0313042C0401020304050600 +:04472A000708090073 +:00000001FF diff --git a/keyboard/ergodox_ez/keymaps/alexjj/readme.md b/keyboard/ergodox_ez/keymaps/alexjj/readme.md new file mode 100644 index 00000000..239e32d3 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/alexjj/readme.md @@ -0,0 +1,179 @@ +Englishman in New York +=========================== + +:microphone: :tea: + +About +------ + +After using the massdrop configurator to get the basics, I wanted to add a +little extra to my ergodox. Notably the Hyper hotkey, the press and hold, +and a way to have my beloved £ :pound: symbol available[1](#unicode). Why not switch to a GB +layout? Well the computers I use are US keymap'd and I can't always change +that. Plus I've got used to 2/@ and 3/# and moving to the ergodox was hard +enough. :sweat_smile: + +I started from the default and edited from there as I needed. It's somewhat +similar to a regular layout, particularly R1 and shift/controls. I ended up +with a few keys that were blank, so I'm testing out some shortcuts. Alt+F4 for +quitting things in Windows, is one example, but I felt it was better placed on +the 1st layer - in case of fat fingers. + +Layout +------- + +![Layout](rl-layout.jpg "Isn't it lovely") + +### Base Layer + +``` +,--------------------------------------------------. ,--------------------------------------------------. +| ESC | 1! | 2@ | 3# | 4$ | 5% | 6^ | | 7& | 8* | 9( | 0) | -_ | += | BkSp | +|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| +| Tab | Q | W | E | R | T | { | | } | Y | U | I | O | P | |\ | +|--------+------+------+------+------+------| [ | | ] |------+------+------+------+------+--------| +| Win | A | S | D | F | G |------| |------| H | J | K | L | :; | '" | +|--------+------+------+------+------+------| Home | | End |------+------+------+------+------+--------| +| LShift |Z/Alt | X | C | V | B | | | | N | M | , | . | Alt | RShift | +`--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + |LCtrl | COPY | PASTE| Left | Right| | Down | Up |Hyper | `~ | RCtrl | + `----------------------------------' `----------------------------------' + ,-------------. ,-------------. + Hyper = Ctrl+Super+Alt+Shift | ~L3 | F5 | | F2 | ~L2 | + ,------|------|------| |------+------+------. + | | | PgUp | | Ins | | | + | Enter| BkSp |------| |------| ~L1 |Space | + | | | PgDn | | Del | | | + `--------------------' `--------------------' +``` + +### Symbol Layer + +``` +,--------------------------------------------------. ,--------------------------------------------------. +| | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |PrintScr| +|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| +| | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | | +|--------+------+------+------+------+------| | | |------+------+------+------+------+--------| +| | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | | +|--------+------+------+------+------+------| | | |------+------+------+------+------+--------| +| | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | | +`--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + | | £ | | | | | | . | 0 | = |Alt+F4| + `----------------------------------' `----------------------------------' + ↑ ,-------------. ,-------------. + THERE! | | | | | | + ,------|------|------| |------+------+------. + CAD = Ctrl + Alt + Delete | | | | | | | | + | | |------| |------| | | + | | | | | CAD | | | + `--------------------' `--------------------' +``` +### Media Layer + +Not touched this, not used either. + +``` +,--------------------------------------------------. ,--------------------------------------------------. +| TEENSY | | | | | | | | | | | | | | | +|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| +| | | | MsUp | | | | | | | | | | | | +|--------+------+------+------+------+------| | | |------+------+------+------+------+--------| +| | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play | +|--------+------+------+------+------+------| | | |------+------+------+------+------+--------| +| | | | | | | | | | | | Prev | Next | | | +`--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + | | | | Lclk | Rclk | |VolDn |VolUp | Mute | | | + `----------------------------------' `----------------------------------' + ,-------------. ,-------------. + | | | | | | + ,------|------|------| |------+------+------. + | | | | | | |Brwser| + | | |------| |------| |Back | + | | | | | | | | + `--------------------' `--------------------' +``` +### Unicode Layer + +Used to enter/test unicode input on Windows. All numbers are numpad keys. + +``` +,--------------------------------------------------. ,--------------------------------------------------. +| Alt | 1 | 2 | 3 | 4 | 5 | 6 | | 7 | 8 | 9 | 0 | + | + | | +|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| +| Alt | | | E | | | | | | | 7 | 8 | 9 | + | | +|--------+------+------+------+------+------| | | |------+------+------+------+------+--------| +| Alt | A | | D | F | |------| |------| | 4 | 5 | 6 | + | | +|--------+------+------+------+------+------| | | |------+------+------+------+------+--------| +| Alt | | | C | | B | | | | | 1 | 2 | 3 | + | | +`--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + | Alt | Alt | Alt | | | | 0 | 0 | 0 | + | | + `----------------------------------' `----------------------------------' + ,-------------. ,-------------. + WINDOWS ONLY SETUP!! | ~L3 | | | | | + ,------|------|------| |------+------+------. + | | | | | | | | + | Alt | Alt |------| |------| Alt | Alt | + | | | | | | | | + `--------------------' `--------------------' +``` + + +Usage +------ + +~L1 / L2 / L3 will momentarily switch to a layer if held and another key is pressed. +If pressed and released will remain on layer until pressed again. + +### Unicode + +This layout is for Windows only. To enter a character Press and Hold Alt, type + and hex code then release Alt. + +Changelog +----------- + +### [0.2.1] - 2016-04-05 + +* Changed £ to alt code in Windows. Windows sucks at unicode. + +### [0.2.0] - 2016-03-27 + +* Added unicode layer +* Moved Copy/Paste to left hand side +* Switched Enter and Space (again) +* Added L3 (unicode layer) toggle +* Removed Press and Hold for Alt on right hand size (/) +* Swapped Volume Up/Down to match arrows +* Tried fixing £ macro +* Removed * in the matrix function things (upstream change) + +### [0.1.1] - 2016-03-23 + +* Changed £ input to a macro + + +### [0.1.0] - 2016-03-22 + +After actually using the keyboard, I've made some changes: + +* Swapped Enter and Space +* Moved backspace to thumb keys (top right still remains) +* Added Ctrl+Alt+Delete +* Added Teensy Reset on 2nd layer +* Switched Up and Down +* Changed copy/paste to be Ctrl+c and Ctrl+v as KC_COPY/PASTE didn't work (in Windows) +* Moved ~L2 to replace +L1 after learning how the function works (notes above) +* Hopefully fixed GBP symbol (unicode enabled in MakeFile) + +### [0.0.1] - 2016-03-21 + +First version + + +Issues +------- + +Space for feedback and notes for future improvements + +---- +1: For Windows only, and you have to edit the [registry](https://en.wikipedia.org/wiki/Unicode_input#Hexadecimal_code_input). diff --git a/keyboard/ergodox_ez/keymaps/alexjj/rl-layout.jpg b/keyboard/ergodox_ez/keymaps/alexjj/rl-layout.jpg new file mode 100644 index 00000000..e4e92bf4 Binary files /dev/null and b/keyboard/ergodox_ez/keymaps/alexjj/rl-layout.jpg differ