From: Alex Johnstone Date: Mon, 28 Mar 2016 03:15:02 +0000 (-0700) Subject: Merge pull request #4 from jackhumbert/master X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=97b431162c0345d64dd946bec0c0edb80906490a;hp=80eefb09ac5de95a6977702b4014d4b4d79a5d7d;p=qmk_firmware.git Merge pull request #4 from jackhumbert/master upstream --- diff --git a/keyboard/ergodox_ez/keymaps/alexjj/keymap.c b/keyboard/ergodox_ez/keymaps/alexjj/keymap.c new file mode 100644 index 000000000..b60a55989 --- /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_SPC,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_ENT + ), +/* 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(PPLS), T(P0), T(P0), T(A), T(P3), 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 000000000..aadc3550d --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/alexjj/keymap.hex @@ -0,0 +1,1136 @@ +:100000000C94C9020C9410030C9410030C9410036C +:100010000C9410030C9410030C9410030C94100314 +:100020000C9410030C9410030C943A0C0C940C0DCB +:100030000C9410030C9410030C9410030C941003F4 +:100040000C9410030C9480210C9410030C94100356 +:100050000C9410030C94121B0C9410030C941003BA +:100060000C9410030C9410030C9410030C941003C4 +:100070000C9410030C9410030C9410030C941003B4 +:100080000C9410030C9410030C9410030C941003A4 +:100090000C9410030C9410030C9410030C94100394 +:1000A0000C9410030C9410030C941003790D9B0D09 +:1000B0008E0E9B0D8E0EE00D030E8E0E580E6B0EE7 +:1000C0005511551184118411C71101120E140E140B +:1000D0001A120E140F130F13E2130E140E14F91349 +:1000E00075FF01E20157025701620262016202627A +:1000F00001040204015B025B02E2000000F0A1F0D7 +:10010000A2F0A329002B00E300E100E00000001EA4 +:1001100000140004001D7406014E001F001A001692 +:10012000001B0019012A00200008000700060050EB +:10013000002C0021001500090019004F004B00227F +:100140000017000A0005000000C30023002F000074 +:10015000004A0000003E002400300000004D000076 +:10016000003B0025001C000B0011000000C200260F +:100170000018000D0010005100490027000C000E6F +:10018000003600520028002D0012000F003700003A +:100190007FC1002E0013003300380035004C002AC8 +:1001A0000031003400E500E400000001000100011E +:1001B000000100010000003A001E0220022202039A +:1001C0003001003B001F0221022302010001003C1C +:1001D000002F0226022F00010001003D00300227FF +:1001E000023000010001003E0031023500350200FE +:1001F0000001003F0001000000010000000100407C +:100200000001000000010000000100410052005107 +:10021000002402000001004200240021001E000111 +:100220000001004300250022001F003700010044A8 +:100230000026002300200027000100450025022E93 +:100240000231002E004C0546000100010001003D76 +:100250000400000050010001000100010000000145 +:10026000000100010001000100010001000100F295 +:10027000000100010001000100F000F1000100F4A4 +:1002800000010001000100F3000100F50001000180 +:100290000001000100010000000100010001000058 +:1002A0000001000000010001000100000001000049 +:1002B0000001000100010001000100000001000137 +:1002C00000010001000100AA00010001000100017D +:1002D00000AC00A900B600010001000100AB00A8BD +:1002E0000001000100010001000100010001000106 +:1002F000000100AE00010001000000E200E200E2A7 +:1003000000E200E20000005900010004000100E2E8 +:100310000001005A00010001000100E200E2005B60 +:10032000000800070006000100E2005C000100096F +:10033000000100010001005D000100010005000056 +:100340000001005E00010000000100000001005FEC +:100350000001000000010000000100600001000138 +:100360000001000000010061005F005C00590062B4 +:10037000000100620060005D005A006200E2005768 +:100380000061005E005B006200E20057005700570A +:1003900000570057000100010001000100010001A9 +:1003A00000000016034500720067006F0044006FF4 +:1003B000007800200045005A000000160345007236 +:1003C0000067006F0044006F007800200045005A6D +:1003D0000000000403090409026D00040100A0FAF2 +:1003E000090400000103010100092111010001229B +:1003F0003F000705810308000A0904010001030109 +:100400000200092111010001224D000705820308A5 +:10041000000A090402000103000000092111010083 +:10042000012236000705830308000A0904030001BE +:100430000300000009211101000122390007058491 +:10044000031000011201100100000008EDFE071367 +:1004500001000102000105010906A101050719E0DB +:1004600029E7150025019508750181020508190184 +:1004700029059505750191029501750391010507FF +:100480001900297715002501957875018102C005AD +:10049000010980A101850216010026B7001A01009A +:1004A0002AB700751095018100C0050C0901A10152 +:1004B0008503160100269C021A01002A9C02751071 +:1004C00095018100C005010902A1010901A10005F2 +:1004D0000919012905150025019505750181029568 +:1004E00001750381010501093009311581257F95C9 +:1004F000027508810609381581257F9501750881E7 +:1005000006050C0A38021581257F950175088106BC +:10051000C0C005010906A101050719E029E715007A +:10052000250195087501810295017508810105086D +:100530001901290595057501910295017503910130 +:100540000507190029FF150025FF9506750881008C +:10055000C0000000000000000000000001020406CE +:100560000A0F17202C3A4A5D71879DB3C7DAE9F567 +:10057000FCFFFCF5E9DAC7B39D87715D4A3A2C2090 +:10058000170F0A060402010000000000000000002E +:10059000000011241FBECFEFDAE0DEBFCDBF04B6EE +:1005A00003FE27C08091ED019091EE01A091EF0133 +:1005B000B091F0018730904BA740B04BD1F410922E +:1005C000ED011092EE011092EF011092F00114BEB5 +:1005D00084B7877F84BF0FB6F894A8958091600098 +:1005E000886180936000109260000FBEE0E0FFE33E +:1005F000099511E0A0E0B1E0E2EAF6E402C005905E +:100600000D92A433B107D9F721E0A4E3B1E001C012 +:100610001D92AD3EB207E1F70E9481090C944F2371 +:100620000C940000CF93DF93EC01662319F0633044 +:1006300059F00DC08A81882321F085EE0E94EF0FCA +:1006400003C085EE0E94B7108A81811103C080E04B +:1006500090E002C080EE90E0DF91CF910895089580 +:100660006091B1017091B2018091B3019091B40198 +:100670000E943F1A56985E9825982D9826982E9895 +:1006800027982F98823039F0833041F0813041F43F +:10069000259A2D9A0895269A2E9A0895279A2F9A88 +:1006A00008950C94300356985E9825982D982698B6 +:1006B0002E9827982F988FEF90E090938900809341 +:1006C000880090938B0080938A0090938D00809394 +:1006D0008C00259A2D9A2FEF80E792E021508040E0 +:1006E0009040E1F700C00000269A2E9A2FEF80E795 +:1006F00092E0215080409040E1F700C00000279A2E +:100700002F9A2FEF80E792E0215080409040E1F750 +:1007100000C0000025982D982FEF80E792E021502F +:1007200080409040E1F700C0000026982E982FEFFF +:1007300080E792E0215080409040E1F700C0000047 +:1007400027982F9856985E9825982D9826982E9839 +:1007500027982F98089589EA8093800089E08093F4 +:10076000810024982C983F988AB18F748AB96E982A +:10077000479A8BB1806B8BB9769A0E9453030C9485 +:100780002F0380E2809300018091340181110EC01B +:100790000E94100481E0809334012FEF83ED90E3F9 +:1007A000215080409040E1F700C0000080E40E94AA +:1007B00016048093000181112EC00E944004809392 +:1007C0000001811128C00E94400480930001811122 +:1007D00022C08FE30E9440048093000181111BC05E +:1007E0000E94380480E40E94160480930001811165 +:1007F00012C08CE00E9440048093000181110BC064 +:100800000E94400480930001811105C08FE30E9483 +:100810004004809300010E943804809100010895F3 +:100820001092B9008AE08093B800089594EA9093FA +:10083000BC009091BC0097FFFCCF9091B900987FCD +:10084000983021F0903111F081E008958093BB0041 +:1008500084E88093BC008091BC0087FFFCCF80912E +:10086000B900887F883111F0803471F780E00895F5 +:1008700084E98093BC008091BC0084FDFCCF089586 +:100880008093BB0084E88093BC008091BC0087FF0C +:10089000FCCF9091B900987F81E0983209F480E014 +:1008A000089584E88093BC008091BC0087FFFCCF52 +:1008B0008091BB00089580910001811115C080E4F2 +:1008C0000E9416048093000181110CC082E10E94F5 +:1008D000400480930001811105C08FEF0E94400405 +:1008E000809300010E94380484B1807F84B985B16F +:1008F000807F85B98AB1837F8AB98BB1837F8BB9B9 +:100900003E98469808950E94C103809300010E947A +:100910005B0480B38C7080BB81B3836F81BBE4E4E4 +:10092000F1E0A6E3B1E011921D9281E0E235F80713 +:10093000D1F70C94AB039F92AF92BF92CF92DF920C +:10094000EF92FF920F931F93CF93DF93809100015B +:10095000882379F0809135018F5F80933501811173 +:1009600008C00E94C10380930001811102C00E944F +:10097000530386E3E82E81E0F82E8701C0E0D0E043 +:10098000BB24B39492E0A92ECC24C394D12CC730BD +:10099000D10500F580910001811164C080E40E94BE +:1009A000160480930001811112C082E10E9440046C +:1009B0008093000181110BC0C6010C2E01C0880F6D +:1009C0000A94EAF780950E944004809300010E94F7 +:1009D000380448C0CA30A1F028F4C83059F0C930F2 +:1009E00061F005C0CC3089F070F0CD3089F0209AEC +:1009F000289810C0219A29980DC0229A2A980AC0D6 +:100A0000239A2B9807C0529A01C0539A5B9802C050 +:100A10003E9A4698E0EAEA95F1F78FB181708B250E +:100A2000799902C032E001C030E0832B7C9902C08A +:100A300034E001C030E0832B7D9902C028E001C082 +:100A400020E0822B7E9902C090E101C090E0892BCA +:100A50009FB19095991F9927991F9295990F907E14 +:100A6000892B0FC08091000181114AC080E40E944F +:100A7000160480930001882381F1912C0E94380490 +:100A8000892DD8019C91981719F08C93A09201019F +:100A90000E945B0421960F5F1F4FCE30D10509F0F5 +:100AA00076CF80910101882369F181508093010103 +:100AB000882339F0EFE9FFE03197F1F700C000003B +:100AC00021C0E4E4F1E0D7018D917D018193B4E48C +:100AD000EB16B1E0FB06B9F715C083E10E944004B4 +:100AE000809300018111C9CF81E40E941604809394 +:100AF00000018111C2CF0E945104982E9094BECF64 +:100B000080E0BFCF0E94510381E0DF91CF911F9120 +:100B10000F91FF90EF90DF90CF90BF90AF909F909C +:100B20000895E82FF0E0EC5BFE4F80810895089572 +:100B30008B3B910580F4883A910548F5853A9105FB +:100B4000D8F48430910508F0B2C0019709F06EC066 +:100B500081E090E00895803E910508F467C0883EEA +:100B6000910508F4A4C09C01205F310920313105B2 +:100B700008F05CC090650895853A910509F459C064 +:100B8000863A910509F058C082E890E40895883AC1 +:100B9000910509F454C0893A910509F453C08A3A81 +:100BA000910509F452C08B3A910509F451C08C3A71 +:100BB000910509F450C08D3A910509F44FC0803B6E +:100BC000910509F44EC08E3A910509F44DC08F3A53 +:100BD000910509F44CC0813B910509F44BC0823B5F +:100BE000910509F44AC0833B910509F449C0843B4F +:100BF000910509F448C0853B910509F447C0863B3F +:100C0000910509F446C0873B910509F445C0883B2E +:100C1000910509F444C0893B910509F443C08A3B1E +:100C2000910509F442C080E094E4089580E090E0EA +:100C3000089581E890E4089583E890E4089582EEB1 +:100C400094E4089589EE94E408958AEE94E4089576 +:100C500085EB94E4089586EB94E4089587EB94E49F +:100C600008958CEC94E408958DEC94E4089583E861 +:100C700095E408958AE895E4089582E995E4089555 +:100C800084E995E4089581E296E4089583E296E488 +:100C9000089584E296E4089585E296E4089586E254 +:100CA00096E4089587E296E408958AE296E408952A +:100CB000089524E5829FC0011124FC0126E0729F63 +:100CC000E00DF11D1124E60FF11DEE0FFF1FED5F8A +:100CD000FE4F859194910895880F991FFC01E55866 +:100CE000F040859194910895880F991FFC01E5507B +:100CF000FF4F85919491089524E5829FC0011124AE +:100D0000FC0146E0749FE00DF11D1124E60FF11D7A +:100D1000EE0FFF1FED5FFE4F859194919C013A9578 +:100D200021154FE1340708F425C13F512115304109 +:100D300020F49F700E94740608959C013053211581 +:100D4000304118F49927906C0895811520E5920799 +:100D500069F40E9430144FEF84E39CE041508040DE +:100D60009040E1F700C000000C94371B813020E573 +:100D7000920731F48091CC0181608093CC01089579 +:100D80009C0130552115304108F05CC0292F3327D4 +:100D90002F70332721303105E9F4AC0164E0440FB2 +:100DA000551F6A95E1F744275370BC01637077279C +:100DB00002C0220F331F6A95E2F73C68242B352BC3 +:100DC00073E0880F991F7A95E1F780769927822B37 +:100DD000932B08952230310529F4982F8827816FAD +:100DE000906A089523303105A1F4AC0133E0440F3B +:100DF000551F3A95E1F7407E57708370992721E09F +:100E000030E002C0220F331F8A95E2F7C9019C68C7 +:100E100016C02430310531F5AC0123E0440F551FD5 +:100E20002A95E1F7407E57708370992721E030E0E2 +:100E300002C0220F331F8A95E2F7C9019A68842BFA +:100E4000952B08959C0130572115304118F49F705F +:100E5000906208959C0130582115304118F49F701C +:100E6000906A0895803E9105E0F4803C910558F524 +:100E70008133910509F46FC048F48932910509F472 +:100E800063C08A32910509F46DC072C0893391053F +:100E9000E9F082389105D1F08533910509F44DC010 +:100EA00067C0833E910581F138F4803E9105B9F029 +:100EB000823E9105D9F05CC0863E910561F1873E86 +:100EC0009105A1F155C00E946C0608952091DE01A4 +:100ED00020FD02C021FF4CC080EE90E049C080910F +:100EE000DE0180FFF9CF89E390E042C08091DE010E +:100EF00082FF0EC08091DE0184FF03C080E090E09D +:100F000037C083EE90E034C08091DE0182FFF2CFE3 +:100F100082EE90E02DC08091DE0183FF0BC08091B6 +:100F2000DE0184FDEBCF87EE90E022C08091DE01F0 +:100F300083FFF5CF86EE90E01BC08091DE0185FF38 +:100F400007C089E290E014C08091DE0185FFF9CFEF +:100F500085E390E00DC08091DE0186FF07C08AE244 +:100F600090E006C08091DE0186FFF9CF81E390E03A +:100F70000E949805089508950C94BB078091620122 +:100F80000895CF93DF9300D01F92CDB7DEB79C01B9 +:100F90008091E401843019F593E099833B832A839F +:100FA0009093E9008FEF9091E800815095FD06C085 +:100FB00095ED9A95F1F700008111F5CF8091E80049 +:100FC00085FF0DC040E050E063E070E0CE01019687 +:100FD0000E942E0A8091E8008E778093E8000F909F +:100FE0000F900F90DF91CF910895CF93DF9300D0B2 +:100FF0001F92CDB7DEB72091E401243021F522E025 +:1010000029839B838A8383E08093E9008FEF90910B +:10101000E800815095FD06C095ED9A95F1F7000026 +:101020008111F5CF8091E80085FF0DC040E050E0D0 +:1010300063E070E0CE0101960E942E0A8091E800E4 +:101040008E778093E8000F900F900F90DF91CF91F3 +:1010500008959C018091E4018430F9F482E080934A +:10106000E9009FEF8091E800915085FD06C085ED75 +:101070008A95F1F700009111F5CF8091E80085FF86 +:101080000CC040E050E065E070E0C9010E942E0A0B +:101090008091E8008E778093E8000895CF93DF93E6 +:1010A000EC018091E401843009F046C090910C017C +:1010B0009923D9F090910D019923B9F08093E9001B +:1010C0008FEF9091E800815095FD06C095E19A95CB +:1010D000F1F700008111F5CF8091E80085FF2CC069 +:1010E00040E050E060E170E017C081E08093E900EB +:1010F0008FEF9091E800815095FD06C095ED9A958F +:10110000F1F700008111F5CF8091E80085FF14C050 +:1011100040E050E068E070E0CE010E942E0A80912D +:10112000E8008E778093E80080E1FE01A2E5B1E05F +:1011300001900D928A95E1F7DF91CF91089580910A +:10114000E301811109C00E94BF0B0E941C0C809119 +:10115000E20084608093E20008951092E301089514 +:1011600008950C946D210E94CD1A0E9473210E9453 +:10117000C70E0C94BC0742E061EC81E00E94380B82 +:1011800042E061EC82E00E94380B42E061EC83E0D7 +:101190000E94380B42E161EC84E00C94380B8091A2 +:1011A000E601833009F455C030F4813071F08230AB +:1011B00009F48EC008958A3009F47AC08B3009F49E +:1011C00060C0893009F09CC020C08091E501813A5F +:1011D00009F096C08091E800877F8093E8008091B5 +:1011E000E9019091EA01892B21F460E182E591E027 +:1011F00003C060E080E090E070E00E94790A809196 +:10120000E8008B778093E80008958091E5018132B2 +:1012100009F076C08091E9019091EA01009719F0F8 +:10122000039709F06DC08091E800877F8093E80004 +:101230008091E80082FD05C08091E4018111F8CF22 +:101240005FC08091F100809362018091E8008B770C +:1012500053C08091E501813A09F052C08091E901C3 +:101260009091EA01892B09F04BC08091E800877FBB +:101270008093E8008091E80080FFFCCF80910C0112 +:1012800036C08091E5018132D9F58091E9019091D4 +:10129000EA01892BA9F58091E800877F8093E80017 +:1012A0000E946D0B8091E70180930C010C94301427 +:1012B0008091E501813221F58091E800877F80935C +:1012C000E8000E946D0B8091E8018093630108950E +:1012D0008091E501813AA1F48091E800877F8093B5 +:1012E000E8008091E80080FFFCCF8091630180934B +:1012F000F1008091E8008E778093E8000C946D0BEC +:10130000089584B7877F84BF0FB6F894A89580911D +:101310006000886180936000109260000FBE90E0D2 +:1013200080E80FB6F89480936100909361000FBE3F +:101330000E94160F0E94BF0B0E941C0C8091E200BD +:1013400084608093E20078940E94A70E0E94180F98 +:1013500082E091E00E94C20E0E945B218091E40134 +:10136000853069F40E948F1A8091E2018823B1F3DD +:101370000E94B91A882391F30E94180AEFCF0E94A5 +:101380001E0FECCF292F332723303105C9F060F42D +:101390002130310581F02230310509F041C08DE660 +:1013A00090E027ED33E040C021323105E1F02232F8 +:1013B000310531F135C082E190E024E434E034C0FD +:1013C00099278130910549F028F0029749F5E3EA21 +:1013D000F3E005C0E3EDF3E002C0EBEBF3E0849152 +:1013E00090E09F0121C06430D8F4E62FF0E0EE0FCA +:1013F000FF1FEE5DFE4F2081318189E090E014C037 +:10140000643070F470E0FB01EE0FFF1FE65EFE4FEC +:1014100020813181FB01EA5EFE4F808190E004C0B3 +:1014200080E090E020E030E0FA01318320830895ED +:1014300080E189BD82E189BD09B400FEFDCF8091C4 +:10144000D8008F7D8093D8008091E00082608093E7 +:10145000E0008091E00081FDFCCF0895CF92DF9203 +:10146000EF92FF920F931F93CF93DF93EC018B01C9 +:101470006A010E948C0B811133C0C114D10439F070 +:10148000F60180819181081B190BC80FD91FE12C2F +:10149000F12C0115110519F18091E80085FD16C0A8 +:1014A0008091E8008E778093E800C114D10449F060 +:1014B000F60180819181E80EF91EF182E08285E0DB +:1014C0000FC00E948C0B882321F30AC0899180935E +:1014D000F10001501109FFEFEF1AFF0ADACF80E0A7 +:1014E000DF91CF911F910F91FF90EF90DF90CF9000 +:1014F00008952091EB013091EC012617370748F051 +:101500006115710539F42091E8002E772093E800E9 +:1015100001C0B901FC0120E06115710579F18091EC +:10152000E4018823F1F18530F1F18091E80083FD39 +:101530003CC08091E80082FD2EC08091E80080FFD1 +:10154000EBCF2091F3008091F20090E0922B611597 +:10155000710551F08830910538F421912093F10004 +:10156000615071090196F3CF21E0089709F020E05E +:101570008091E8008E778093E800CECF2111CFCF05 +:101580000AC08091E401882361F0853061F0809188 +:10159000E80083FD0AC08091E80082FFF2CF80E07E +:1015A000089582E0089583E0089581E008952091F0 +:1015B000EB013091EC012617370748F061157105F2 +:1015C00039F42091E8002E772093E80001C0B9019A +:1015D000FC0120E06115710591F18091E4018823FF +:1015E00009F440C0853009F43FC08091E80083FDD4 +:1015F0003DC08091E80082FD2FC08091E80080FF0F +:10160000E9CF2091F3008091F20090E0922B6115D8 +:10161000710559F08830910540F424912093F10030 +:101620003196615071090196F2CF21E0089709F0D7 +:1016300020E08091E8008E778093E800CBCF2111E5 +:10164000CCCF0AC08091E401882361F0853061F03D +:101650008091E80083FD0AC08091E80082FFF2CF0C +:1016600080E0089582E0089583E0089581E0089580 +:10167000982F973068F59093E900981739F070919A +:10168000EC002091ED005091F00003C0242F762F44 +:1016900050E021FD02C09F5FECCF3091EB003E7F18 +:1016A0003093EB003091ED003D7F3093ED003091B1 +:1016B000EB0031603093EB007093EC002093ED0071 +:1016C0005093F0002091EE0027FDE5CF80E00895D3 +:1016D0008F708093E90081E008958091E50187FF94 +:1016E00011C08091E80082FD05C08091E401811164 +:1016F000F8CF11C08091E8008B770BC08091E40196 +:10170000882349F08091E80080FFF8CF8091E800BD +:101710008E778093E80008952091E4003091E500F1 +:1017200095E64091EC00842F817040FF23C08091AA +:10173000E80080FD1DC08091E401882399F0853088 +:1017400099F08091EB0085FD11C04091E40050912B +:10175000E5002417350729F3915011F09A01E1CFE4 +:1017600084E0089582E0089583E0089581E008957B +:1017700080E008954091E80042FFDDCF08950E9487 +:101780002D0C0E94350CE0EEF0E0808181608083BA +:10179000E8EDF0E080818F77808319BCA7EDB0E0A1 +:1017A0008C918E7F8C9380818F7E80831092E30159 +:1017B00008950F931F93CF93DF930E942D0C0E94E7 +:1017C000350CC8EDD0E088818F7788838881806868 +:1017D000888388818F7D888319BC1092E4011092E0 +:1017E000E0011092E2011092E10100EE10E0F80138 +:1017F00080818B7F808388818160888342E060E084 +:1018000080E00E94380BE1EEF0E080818E7F8083E3 +:10181000E2EEF0E080818160808380818860808357 +:10182000F80180818E7F8083888180618883DF9149 +:10183000CF911F910F910895E8EDF0E080818F7EA8 +:101840008083E7EDF0E080818160808384E082BF67 +:1018500081E08093E3010C94D90BE8EDF0E0808106 +:101860008E7F80831092E20008951092DA00109229 +:10187000E10008951F920F920FB60F9211242F933B +:101880003F934F935F936F937F938F939F93AF9308 +:10189000BF93EF93FF938091E10082FF0BC0809193 +:1018A000E20082FF07C08091E1008B7F8093E1001E +:1018B0000E94A60E8091DA0080FF1FC08091D800A0 +:1018C00080FF1BC08091DA008E7F8093DA008091C8 +:1018D000D90080FF0DC080E189BD82E189BD09B4D6 +:1018E00000FEFDCF81E08093E4010E949F0805C0C7 +:1018F00019BC1092E4010E94AD088091E10080FFC4 +:1019000019C08091E20080FF15C08091E2008E7FB7 +:101910008093E2008091E20080618093E2008091F8 +:10192000D80080628093D80019BC85E08093E401E0 +:101930000E94B1088091E10084FF30C08091E200F4 +:1019400084FF2CC080E189BD82E189BD09B400FE1D +:10195000FDCF8091D8008F7D8093D8008091E100E9 +:101960008F7E8093E1008091E2008F7E8093E20081 +:101970008091E20081608093E2008091E001882301 +:1019800011F084E007C08091E30087FD02C081E090 +:1019900001C083E08093E4010E94B3088091E100DC +:1019A00083FF29C08091E20083FF25C08091E10080 +:1019B000877F8093E10082E08093E4011092E00150 +:1019C0008091E1008E7F8093E1008091E2008E7F24 +:1019D0008093E2008091E20080618093E20042E027 +:1019E00060E080E00E94380B8091F0008860809376 +:1019F000F0000E94B008FF91EF91BF91AF919F91CD +:101A00008F917F916F915F914F913F912F910F90A7 +:101A10000FBE0F901F9018951F920F920FB60F9246 +:101A200011242F933F934F935F936F937F938F93E3 +:101A30009F93AF93BF93CF93DF93EF93FF93C091A7 +:101A4000E900CF708091EC00D82FD17080FDD0E8F4 +:101A50001092E9008091F000877F8093F0007894E5 +:101A60000E94500D1092E9008091F00088608093F0 +:101A7000F000CD2BCF70C093E900FF91EF91DF9183 +:101A8000CF91BF91AF919F918F917F916F915F9116 +:101A90004F913F912F910F900FBE0F901F9018956F +:101AA0001F93CF93DF93CDB7DEB7AA970FB6F89405 +:101AB000DEBF0FBECDBFE5EEF1E08091F100819376 +:101AC00021E0ED3EF207C9F70E94CF088091E800BF +:101AD00083FF24C18091E5019091E601492F50E0F8 +:101AE0004A30510508F01AC1FA01EA5AFF4F0C9426 +:101AF0000423803881F0823809F010C18091E90117 +:101B00008F708093E9008091EB0085FB882780F936 +:101B10001092E90006C08091E1019091E2019111DB +:101B200082609091E800977F9093E8008093F100A5 +:101B30001092F100C8C0282F2D7F09F0EFC0882334 +:101B400019F0823061F0EAC08091E701813009F03C +:101B5000E5C0933009F080E08093E2012BC08091D2 +:101B6000E701811127C08091E9018F7009F4D6C087 +:101B70008093E9002091EB0020FF1CC0933021F4FA +:101B80008091EB00806214C09091EB009061909383 +:101B9000EB0021E030E0A90102C0440F551F8A95F7 +:101BA000E2F74093EA001092EA008091EB0088602F +:101BB0008093EB001092E9008091E800877F86C057 +:101BC0008111ACC01091E7011F778091E30080780C +:101BD000812B8093E3008091E800877F8093E80069 +:101BE0000E946D0B8091E80080FFFCCF8091E300A4 +:101BF00080688093E300111102C082E001C083E09D +:101C00008093E4018BC08058823008F087C08091B7 +:101C1000E7019091E8018C3D53E0950779F583E069 +:101C20008A838AE289834FB7F894DE01139620E015 +:101C30003EE051E2E32FF0E050935700E49120FFA3 +:101C400003C0E295EF703F5FEF708E2F90E0EA30B7 +:101C500010F0C79601C0C0968D939D932F5F2431DD +:101C600049F74FBF8091E800877F8093E8006AE2E0 +:101C700070E0CE0101960E94790A14C0AE014F5F58 +:101C80005F4F6091E9010E94C209BC01892B09F4F0 +:101C900045C09091E800977F9093E80089819A81F0 +:101CA0000E94D70A8091E8008B778093E80036C0C5 +:101CB0008038A1F58091E800877F8093E8008091CB +:101CC000E0018093F1008091E8008E778093E80036 +:101CD0000E946D0B23C0811121C08091E70190917A +:101CE000E80199270297D4F48091E800877F8093D8 +:101CF000E8008091E7018093E0010E946D0B8091E4 +:101D0000E001811106C08091E30087FD02C081E0FF +:101D100001C084E08093E4010E94BB088091E80048 +:101D200083FF0AC08091E800877F8093E80080915C +:101D3000EB0080628093EB00AA960FB6F894DEBFAA +:101D40000FBECDBFDF91CF911F9108950895CF931E +:101D50008091E4018823A1F0C091E900CF709091B7 +:101D6000EC00892F817090FD80E8C82B1092E9006B +:101D70008091E80083FD0E94500DCF70C093E90070 +:101D8000CF91089590936901809368010895E0913F +:101D90006801F0916901309721F00190F081E02D08 +:101DA000099480E00895E0916801F091690130970D +:101DB00021F00280F381E02D09940895E0916801FB +:101DC000F0916901309721F00480F581E02D0994AC +:101DD000089520916601309167012817390771F045 +:101DE0009093670180936601E0916801F091690129 +:101DF000309721F00680F781E02D09940895209115 +:101E00006401309165012817390771F090936501DD +:101E100080936401E0916801F0916901309721F0AD +:101E20000084F185E02D0994089508950C94150F10 +:101E30000E94D31A0E9483040C94991BCF92DF92C4 +:101E4000EF92FF920F931F93CF93DF93CDB7DEB73F +:101E50002B970FB6F894DEBF0FBECDBF0E949B0438 +:101E60008BE6C82E81E0D82E00E010E0E02E802F17 +:101E70000E949105F60141916F01F82EF426B1F40C +:101E80000F5F1F4F0E30110589F78FEF89838A830B +:101E90001B820E94DC1A8160782F9D838C8349818C +:101EA0005A816B818D810E94C10F40C09091CC01FD +:101EB00091FF04C08B870E9497058B8520E030E05E +:101EC0004F2D50E0922FBA01022E02C075956795F2 +:101ED0000A94E2F760FF24C02E83EF8221E030E015 +:101EE000690102C0CC0CDD1C9A95E2F790E08C21D0 +:101EF0009D21892B09F420E028870E94DC1A81604B +:101F0000782F9A8789874E815F8168858A850E94AC +:101F1000C10FF801E559FE4F8081C826C08206C076 +:101F20002F5F3F4F2630310569F6AACF0E94801EF1 +:101F30000E94C70E90916A018917A1F00E94C70EF6 +:101F400080936A012B960FB6F894DEBF0FBECDBF0B +:101F5000DF91CF911F910F91FF90EF90DF90CF9085 +:101F60000C94BC072B960FB6F894DEBF0FBECDBF06 +:101F7000DF91CF911F910F91FF90EF90DF90CF9065 +:101F80000895CF93DF93CDB7DEB72B970FB6F894B4 +:101F9000DEBF0FBECDBF4F83588769877A878B8797 +:101FA000DE01119686E0FD0111928A95E9F785E040 +:101FB000FE01379601900D928A95E1F749815A8189 +:101FC0006B817C818D819E810E94C4162B960FB6F9 +:101FD000F894DEBF0FBECDBFDF91CF910895CF93B0 +:101FE000C82F882309F4C1C0823859F40E94C70E53 +:101FF00081FDBBC089E30E9461190E94191A89E31F +:102000000CC0833879F40E94C70E80FDAEC083E512 +:102010000E9461190E94191A83E50E94A019CF91AC +:102020000C94191A843859F40E94C70E82FD9DC081 +:1020300087E40E9461190E94191A87E4EECF8CEFA1 +:102040008C0F813A48F48C2F0E94C02081118DC0E2 +:102050008C2F0E946119E3CF80E28C0F883048F406 +:10206000C77081E001C0880FCA95EAF70E94E219A3 +:10207000D6CF8BE58C0F833078F4C53A29F0C63A79 +:1020800031F083E890E005C081E890E002C082E88A +:1020900090E0CF910C94E90E88E58C0F833108F025 +:1020A00064C0C83A39F1C93A41F1CA3A49F1CB3A68 +:1020B00051F1CC3A59F1CD3A61F1C03B69F1CE3AD8 +:1020C00071F1CF3A79F1C13B81F1C23B89F1C33B58 +:1020D00091F1C43B99F1C53BA1F1C63BA9F1C73BC6 +:1020E000B1F1C83BB9F1C93BC1F1CA3BC9F180E0CC +:1020F00090E038C082EE90E035C089EE90E032C0CA +:102100008AEE90E02FC085EB90E02CC086EB90E04B +:1021100029C087EB90E026C08CEC90E023C08DECCA +:1021200090E020C083E891E01DC08AE891E01AC0E9 +:1021300082E991E017C084E991E014C081E292E065 +:1021400011C083E292E00EC084E292E00BC085E20F +:1021500092E008C086E292E005C087E292E002C009 +:102160008AE292E0CF910C94FF0ECF9108958823DC +:1021700009F44BC0823859F40E94C70E81FF45C054 +:1021800089E30E9461190E94191A89E30CC08338FF +:1021900071F40E94C70E80FF38C083E50E94611968 +:1021A0000E94191A83E50E94A0190C94191A843808 +:1021B00059F40E94C70E82FF28C087E40E9461196B +:1021C0000E94191A87E4EFCF9CEF980F913A58F3C9 +:1021D00090E2980F983050F4877091E001C0990F09 +:1021E0008A95EAF7892F0E94E819DFCF9BE5980FBF +:1021F000933020F480E090E00C94E90E885A83310B +:1022000020F480E090E00C94FF0E0895882321F0E4 +:102210000E94E2190C94191A0895882321F00E9453 +:10222000E8190C94191A0895BF92CF92DF92EF9299 +:10223000FF920F931F93CF93DF9300D000D000D075 +:10224000CDB7DEB77C0185E0F701DE011196019084 +:102250000D928A95E1F7F70183819481892B09F426 +:10226000DDC2908181818F3F19F49F3F09F4D6C26E +:10227000F7010281258122952F7099838A838981B4 +:102280009A812E830E942019182FB92E0E941F199F +:102290000E94E617EB2DE295EF704E2F50E0FA0109 +:1022A000E05AFF4F2E810C9404238B2D807F9B2DB1 +:1022B0009F70F92E882319F0F29480EFF822002302 +:1022C00049F0FF2009F457C28F2D0E94F2190E9495 +:1022D000191A51C2812F0E94B710FF2009F49EC223 +:1022E0008F2D0E94F81926960FB6F894DEBF0FBE08 +:1022F000CDBFDF91CF911F910F91FF90EF90DF90B5 +:10230000CF90BF900C94191A3B2D307F8B2D8F707E +:10231000303211F08295807F112319F0113021F1B4 +:102320002CC00023B9F0222309F490C1213009F018 +:102330008DC126960FB6F894DEBF0FBECDBFDF91DC +:10234000CF911F910F91FF90EF90DF90CF90BF90B2 +:102350000C94021A222319F0213009F45FC28E83F3 +:102360000E94051A8E8186C1002321F0223008F0D8 +:1023700055C26CC1211152C27DC1002321F022231C +:1023800009F464C1F8C1222309F474C109C28B2D78 +:1023900086958695837019F08130D1F03FC2002375 +:1023A00021F0812F9B2D937002C080E090E0269653 +:1023B0000FB6F894DEBF0FBECDBFDF91CF911F9156 +:1023C0000F91FF90EF90DF90CF90BF900C94E90EAB +:1023D000002321F0812F9B2D937002C080E090E0BC +:1023E00026960FB6F894DEBF0FBECDBFDF91CF911A +:1023F0001F910F91FF90EF90DF90CF90BF900C94C2 +:10240000FF0E812F002319F00E94881D02C00E9438 +:10241000F01D26960FB6F894DEBF0FBECDBFDF913C +:10242000CF911F910F91FF90EF90DF90CF90BF90D1 +:102430000C94751E8B2D837009F075C00111EEC1CF +:10244000812F829586958770880F880F912F9F70B6 +:10245000C92ED12CE12CF12C082E04C0CC0CDD1C93 +:10246000EE1CFF1C0A94D2F714FF12C00FE010E01C +:1024700020E030E004C0000F111F221F331F8A9597 +:10248000D2F7C901B801609570958095909503C009 +:1024900060E070E0CB014B2D46954695437042308D +:1024A000C1F060F56C297D298E299F29413051F1B9 +:1024B00026960FB6F894DEBF0FBECDBFDF91CF9149 +:1024C0001F910F91FF90EF90DF90CF90BF900C94F1 +:1024D0000D186C297D298E299F2926960FB6F89410 +:1024E000DEBF0FBECDBFDF91CF911F910F91FF9047 +:1024F000EF90DF90CF90BF900C9429180E940D1898 +:10250000C701B60126960FB6F894DEBF0FBECDBF49 +:10251000DF91CF911F910F91FF90EF90DF90CF90BF +:10252000BF900C94F117002319F08B2D817001C01E +:102530008695882309F472C1812F829586958770CC +:10254000880F880F912F9F70C92ED12CE12CF12C70 +:10255000082E04C0CC0CDD1CEE1CFF1C0A94D2F724 +:1025600014FF12C00FE010E020E030E004C0000FC4 +:10257000111F221F331F8A95D2F7C901B801609538 +:1025800070958095909503C060E070E0CB014B2D75 +:102590004695469543704230C1F060F56C297D291F +:1025A0008E299F29413051F126960FB6F894DEBF4F +:1025B0000FBECDBFDF91CF911F910F91FF90EF9094 +:1025C000DF90CF90BF900C94E7186C297D298E295D +:1025D0009F2926960FB6F894DEBF0FBECDBFDF91C0 +:1025E000CF911F910F91FF90EF90DF90CF90BF9010 +:1025F0000C9403190E94E718C701B60126960FB67E +:10260000F894DEBF0FBECDBFDF91CF911F910F9128 +:10261000FF90EF90DF90CF90BF900C94CB18103FBD +:10262000D1F118F4103E50F4A1C0123F09F463C078 +:1026300008F44CC0133F09F473C098C01F708B2D71 +:102640008F710023A1F00E946418812F26960FB687 +:10265000F894DEBF0FBECDBFDF91CF911F910F91D8 +:10266000FF90EF90DF90CF90BF900C9406110E94E6 +:102670008518812F26960FB6F894DEBF0FBECDBF0A +:10268000DF91CF911F910F91FF90EF90DF90CF904E +:10269000BF900C940D110023A9F02111BFC08B2D08 +:1026A0008F7126960FB6F894DEBF0FBECDBFDF91B7 +:1026B000CF911F910F91FF90EF90DF90CF90BF903F +:1026C0000C94AA18223008F0A9C0E9CF0023A9F081 +:1026D0008B2D8F7126960FB6F894DEBF0FBECDBF3F +:1026E000DF91CF911F910F91FF90EF90DF90CF90EE +:1026F000BF900C946418002359F38B2D8F7126968C +:102700000FB6F894DEBF0FBECDBFDF91CF911F9102 +:102710000F91FF90EF90DF90CF90BF900C948518B1 +:10272000002399F08B2D8F7126960FB6F894DEBF9B +:102730000FBECDBFDF91CF911F910F91FF90EF9012 +:10274000DF90CF90BF900C944F1826960FB6F89458 +:10275000DEBF0FBECDBFDF91CF911F910F91FF90D4 +:10276000EF90DF90CF90BF900C9445180023A9F014 +:10277000222309F4ADCF812F26960FB6F894DEBF41 +:102780000FBECDBFDF91CF911F910F91FF90EF90C2 +:10279000DF90CF90BF900C94EF0F222309F4ADCFC0 +:1027A000812F26960FB6F894DEBF0FBECDBFDF9106 +:1027B000CF911F910F91FF90EF90DF90CF90BF903E +:1027C0000C94B7104B2D4F70612FC7010E9412035C +:1027D00026960FB6F894DEBF0FBECDBFDF91CF9126 +:1027E0001F910F91FF90EF90DF90CF90BF900C94CE +:1027F00069174B2D4F70612FC70126960FB6F894BD +:10280000DEBF0FBECDBFDF91CF911F910F91FF9023 +:10281000EF90DF90CF90BF900C94580626960FB69D +:10282000F894DEBF0FBECDBFDF91CF911F910F9106 +:10283000FF90EF90DF90CF90BF9008950E94FF1916 +:102840000E94D4190E94191A0E94251F0E94751E09 +:1028500080E090E00E94E90E80E090E00C94FF0E92 +:102860000E94EF190C941E140E942019292F229502 +:102870002F702C3030F42A3048F42250223078F473 +:1028800005C02C3041F02F3031F009C0803E48F0B7 +:10289000803F29F406C093FB882780F9089580E0E3 +:1028A000089581E00895CF93DF9300D000D01F9268 +:1028B000CDB7DEB70F900F900F900F900F90DF9174 +:1028C000CF910895CF93DF9300D000D000D0CDB743 +:1028D000DEB726960FB6F894DEBF0FBECDBFDF91F0 +:1028E000CF9108951F93CF93DF93C091790116E0A4 +:1028F00080917A01C81799F0D0E01C9FF0011D9FCC +:10290000F00D1124E558FE4F4081518162817381A1 +:10291000848195810E9462142196C770E9CFDF916E +:10292000CF911F9108954091AB015091AC016091FE +:10293000AD017091AE018091AF019091B0010C9406 +:1029400062148091B00182958F7009F054C080911B +:10295000AD01882309F44FC080917901A0917A01DB +:102960004091AE015091AF016091AB017091AC010B +:10297000B6E08A1709F43FC090E041155105C1F156 +:102980007F3F11F46F3FA1F1B89FF001B99FF00DA7 +:102990001124E558FE4F218127132AC020812613D8 +:1029A00027C02281211124C02381348124173507B7 +:1029B00010F421503109241B350B283C3105C0F49B +:1029C0002091B0012F7020612093B00126E0289F54 +:1029D000F001299FF00D1124E058FE4F80818F7087 +:1029E000806180838BEA91E00E9414110C94721430 +:1029F00001968770BECF0895CF92DF92EF92FF923B +:102A00000F931F93CF93DF93CDB7DEB762970FB6C7 +:102A1000F894DEBF0FBECDBF8C0185E0F801DE016A +:102A20001D9601900D928A95E1F7D8014C9111966F +:102A30005C91119712966C918091AE019091AF01CB +:102A4000009709F475C13091AB017091AC017F3FE3 +:102A500019F43F3F09F46CC1F801C380D480E090C1 +:102A6000AD01EE2009F4BEC02091B001C816D90610 +:102A700028F0D601A81BB90BCD0104C08095909514 +:102A80008C0D9D1DFF24F394883C910578F0F12C6A +:102A9000207F09F0C4C07C2DD98AC88A89890E9408 +:102AA00053148BEA91E00E941411AFC0822F807FF3 +:102AB00009F045C0571313C0431311C061110FC073 +:102AC0002F7020612093B0010E9493148BEA91E053 +:102AD0000E9414118091B001F80185832EC0CD2889 +:102AE00019F15F3F11F44F3FF9F0F62E61111CC050 +:102AF0008091790120917A0136E0821709F45BC058 +:102B000090E0389FF001399FF00D1124E558FE4FF9 +:102B10007181571306C07081471303C07281711110 +:102B200003C001968770E9CFF62E662309F41CC115 +:102B30008091B00181608093B001F12C15C15713D1 +:102B400009C0431307C0611105C08091B001F801AD +:102B50008583C8C04D875E878D859E856A8B0E9460 +:102B600034146A898823D1F16623C1F12091B00120 +:102B7000822F82958F7090E0029774F08091AB0164 +:102B80009091AC0198878F831986DB86CA862C8743 +:102B9000CE0107960E94141186E0F801ABEAB1E07D +:102BA00001900D928A95E1F70E94A1140E9493145E +:102BB000FF24F394D9C04D875E878D859E850E9442 +:102BC0002019292F22952F70223008F0C1C09F7044 +:102BD00009F0BBC0805E883008F4C6C0C8010E94FE +:102BE0001411E6CFC816D90608F453C0F601E81B45 +:102BF000F90BCF01883C910508F450C0F12C7C2DD5 +:102C0000D98AC88A89890E945314EBEAF1E086E0E8 +:102C1000DF011D928A95E9F70E949314A5C057130E +:102C200014C0431312C0611110C08091B001F801AB +:102C30008583C8010E94141186E0EBEAF1E0DF0110 +:102C40001D928A95E9F7FE2C8FC04D875E878D8592 +:102C50009E856A8B0E9434146A89882309F4BECF4A +:102C6000662309F4BBCF2091B001822F82958F702B +:102C700090E002970CF490CF8091AB019091AC0161 +:102C80009A8389831B82DD82CC822E83CE010196BA +:102C900081CF809590958C0D9D1DACCFF62E66232F +:102CA00009F49CCF571333C0431331C02091B001B6 +:102CB00020FD24C0822F82958F70482F50E041154F +:102CC0005105E1F0D80115962C9315974F30510519 +:102CD00049F08F5F982F9295907F822F8F70892B6C +:102CE00015968C93C8010E94141186E0F801ABEA96 +:102CF000B1E001900D928A95E1F78ECF86E0F80160 +:102D0000ABEAB1E001900D928A95E1F72DC04D87B5 +:102D10005E878D859E850E94341481113DCF809100 +:102D2000B00181608093B001C8010E9414111CC0E1 +:102D3000662309F453CF4D875E878D859E850E945B +:102D40003414882309F44ACF27CF811143CF0CC014 +:102D5000243008F043CF9F7009F43CCFD80115967A +:102D60009C91907F09F036CF8F2D62960FB6F89424 +:102D7000DEBF0FBECDBFDF91CF911F910F91FF90AE +:102D8000EF90DF90CF9008951F93CF93DF93CDB74F +:102D9000DEB72C970FB6F894DEBF0FBECDBF4F83C2 +:102DA000588769877A878B879C87CE0107960E9410 +:102DB000FC14882371F08A859B85892B09F441C016 +:102DC00088858F3F09F065C08F818F3F09F061C012 +:102DD00038C086E0FE013796DE01119601900D9213 +:102DE0008A95E1F76A857B856115710551F1FF814F +:102DF000E885EF3F11F4FF3F21F120917A0130E0A7 +:102E0000C9010196877099274091790150E0841794 +:102E1000950709F447C0F983EA837D836C8396E0C4 +:102E2000929FD001939FB00D1124A558BE4FFE0173 +:102E3000319601900D929A95E1F780937A010E9464 +:102E4000721416E08091790190917A018917B9F195 +:102E5000189FC001112485589E4F0E94FC1488239E +:102E600071F1E09179011E9FF0011124E558FE4FA8 +:102E70004081518162817381848195810E946214B5 +:102E80008091790190E0019687709927809379016C +:102E9000D9CF4F81588569857A858B859C850E941D +:102EA0006214CFCF0E94301410927A0110927901EF +:102EB000EBEAF1E086E0DF011D928A95E9F72C96B6 +:102EC0000FB6F894DEBF0FBECDBFDF91CF911F913B +:102ED0000895EF92FF920F931F93CF93DF938C018E +:102EE000892B09F46CC0F12CEE24E394E8012196BF +:102EF000F8018491843740F4843008F051C0813067 +:102F000081F0823019F15BC0853709F444C0A8F123 +:102F10009CE7980F903708F052C08F770E94B71047 +:102F200041C00E5F1F4FFE01849190E2980F9830D0 +:102F300050F48770FE2D01C0FF0F8A95EAF78F2F9E +:102F40000E94F21914C00E94EF0F2DC00E5F1F4F98 +:102F5000FE01849190E2980F983060F48770FE2D06 +:102F600001C0FF0F8A95EAF78F2F0E94F8190E947F +:102F7000191A19C00E94B71016C00E5F1F4FFE012C +:102F8000C491CC2381F08FE99FE00197F1F700C055 +:102F90000000C150F6CF0E5F1F4FFE01F49003C03A +:102FA0000E94EF0F8E018F2D882309F49FCFEFE948 +:102FB000FFE03197F1F700C000008150F5CFDF91BD +:102FC000CF911F910F91FF90EF9008950895609316 +:102FD000B5017093B6018093B7019093B8010C943A +:102FE0001E140F931F930091B5011091B60120910B +:102FF000B7013091B801DC01CB01802B912BA22BC2 +:10300000B32B8093B5019093B601A093B701B09311 +:10301000B8011F910F910C941E140F931F930091F0 +:10302000B5011091B6012091B7013091B801DC01D2 +:10303000CB0180239123A223B3238093B5019093E6 +:10304000B601A093B701B093B8011F910F910C94F2 +:103050001E140F931F930091B5011091B60120919A +:10306000B7013091B801DC01CB0180279127A2275D +:10307000B3278093B5019093B601A093B701B093A5 +:10308000B8011F910F910C941E141092B10110926F +:10309000B2011092B3011092B4010C941E1441E0DD +:1030A00050E060E070E004C0440F551F661F771FBA +:1030B0008A95D2F74093B1015093B2016093B30166 +:1030C0007093B4010C941E1441E050E060E070E095 +:1030D00004C0440F551F661F771F8A95D2F7809151 +:1030E000B1019091B201A091B301B091B401482B0C +:1030F000592B6A2B7B2B4093B1015093B201609303 +:10310000B3017093B4010C941E1441E050E060E0F0 +:1031100070E004C0440F551F661F771F8A95D2F7D1 +:1031200040955095609570958091B1019091B20154 +:10313000A091B301B091B401482359236A237B23A2 +:103140004093B1015093B2016093B3017093B40105 +:103150000C941E1441E050E060E070E004C0440FA5 +:10316000551F661F771F8A95D2F78091B101909104 +:10317000B201A091B301B091B401482759276A2741 +:103180007B274093B1015093B2016093B3017093D8 +:10319000B4010C941E140F931F930091B101109170 +:1031A000B2012091B3013091B401DC01CB01802B3D +:1031B000912BA22BB32B8093B1019093B201A093DA +:1031C000B301B093B4011F910F910C941E140F938F +:1031D0001F930091B1011091B2012091B301309180 +:1031E000B401DC01CB0180239123A223B32380937C +:1031F000B1019093B201A093B301B093B4011F91B8 +:103200000F910C941E140F931F930091B101109114 +:10321000B2012091B3013091B401DC01CB018027D0 +:103220009127A227B3278093B1019093B201A09375 +:10323000B301B093B4011F910F910C941E14089523 +:10324000CF92DF92EF92FF920F931F93CF93DF9372 +:103250008C01C090B101D090B201E090B301F09028 +:10326000B4018091B5019091B601A091B701B091E0 +:10327000B801C82AD92AEA2AFB2ACFE1D0E0D7012F +:10328000C6010C2E04C0B695A795979587950A940C +:10329000D2F780FF07C0B8018C2F0E947C068130D6 +:1032A000910531F4219758F7B80180E00E947C061F +:1032B000DF91CF911F910F91FF90EF90DF90CF9012 +:1032C000089590910C019923F1F090910D019923AB +:1032D000D1F0982F9695969596959F3080F5E09130 +:1032E0000E01F0910F01E90FF11D877021E030E030 +:1032F000A90102C0440F551F8A95E2F7CA019181C6 +:10330000892B8183089520910E0130910F01F901DD +:1033100032969FEF40E05191851789F09F3F19F455 +:10332000511101C0942F4F5F4E30A9F79F3F39F0E4 +:10333000F901E90FF11D97FDFA958283089508952B +:1033400090910C019923F9F090910D019923D9F0F6 +:10335000982F9695969596959F3028F5E0910E01B9 +:10336000F0910F01E90FF11D877021E030E0A90114 +:1033700002C0440F551F8A95E2F7CA0180959181DA +:1033800089238183089520910E0130910F01F90165 +:103390003296205F3F4F9081891301C01082319691 +:1033A000E217F307C1F7089581E090E0E0910E0184 +:1033B000F0910F01E80FF91F1082019680319105FD +:1033C000A9F708959091CB01892B8093CB010895A3 +:1033D00080959091CB0189238093CB010895109221 +:1033E000CB0108959091CA01892B8093CA01089559 +:1033F00080959091CA0189238093CA010895109203 +:10340000CA0108958093B90108951092B9010895F1 +:1034100080910E0190910F01FC0131969C01205F7B +:103420003F4F80E0919191118F5FE217F307D1F741 +:103430000895E0910E01F0910F018091CB018083FE +:10344000E0910E01F0910F0190818091CA01892BCA +:1034500080838091B901882361F0E0910E01F091A1 +:103460000F019081892B80830E94081A811110928C +:10347000B90180910E0190910F010C94D30ECF925F +:10348000DF92EF92FF926C01EE24FF24C114D1046D +:10349000E104F10421F0C701B60120E101C020E000 +:1034A000C72ED82EE92EFF24C114D104E104F10463 +:1034B00019F0285FC701B6016B017C0154E0F69456 +:1034C000E794D794C7945A95D1F7C114D104E10475 +:1034D000F10419F02C5FC701B6016B017C0142E0D9 +:1034E000F694E794D794C7944A95D1F7C114D104C0 +:1034F000E104F10419F02E5FC701B601DC01CB0134 +:10350000B695A79597958795892B8A2B8B2B09F0D4 +:103510002F5F822FFF90EF90DF90CF9008958091E2 +:10352000E401843011F120E488E190E00FB6F894D2 +:10353000A895809360000FBE2093600083B7817FC1 +:10354000846083BF83B7816083BF7894889583B795 +:103550008E7F83BF0FB6F894A89580916000886134 +:1035600080936000109260000FBE089508950C943F +:10357000B61ACF930E94B71A0E949B040E94B61AF3 +:10358000C0E08C2F0E949105811104C0CF5FCE3026 +:10359000C1F701C081E0CF9108950E9430140E94CC +:1035A000C70E0C94BC0782E084BD93E095BD9AEFF2 +:1035B00097BD80936E0008952FB7F8948091CD0148 +:1035C0009091CE01A091CF01B091D0012FBF08956D +:1035D000CF92DF92EF92FF920F931F932FB7F89441 +:1035E0004091CD015091CE016091CF017091D001F9 +:1035F0002FBF6A017B01EE24FF248C0120E030E024 +:10360000C016D106E206F30610F4415051099A01A2 +:10361000281B390BC9011F910F91FF90EF90DF908C +:10362000CF9008951F920F920FB60F9211248F938F +:103630009F93AF93BF938091CD019091CE01A091C4 +:10364000CF01B091D0010196A11DB11D8093CD0194 +:103650009093CE01A093CF01B093D001BF91AF91D1 +:103660009F918F910F900FBE0F901F9018950E9401 +:10367000BF0BF8942FEF87EA91E6215080409040ED +:10368000E1F700C0000087E090EBDC018093ED01E2 +:103690009093EE01A093EF01B093F0019CE088E1DC +:1036A0000FB6F894A895809360000FBE90936000C9 +:1036B000FFCFEF92FF920F931F93CF93DF93D82FFB +:1036C000C0E08C2F0E94910500E010E0E82EF12C64 +:1036D000C701002E02C0959587950A94E2F780FDF8 +:1036E00006C00F5F1F4F0630110591F709C0602F0C +:1036F0007C2F80E00E9459068D13F3CF81E004C037 +:10370000CF5FCE30F1F680E0DF91CF911F910F9126 +:10371000FF90EF900895CF93C82F8CE20E94591B21 +:10372000882321F08C2FCF910C94591B80E0CF91EE +:103730000895CF930E94E01C811102C00E94C61C14 +:10374000C5E6C15049F00E949B048FE39CE90197B4 +:10375000F1F700C00000F5CF89E20E948B1B8111B8 +:1037600013C18AE20E948B1B81110E94C61C85E056 +:103770000E948B1B81110E94371B0E94EB1C8093BF +:10378000CC0187E00E948B1B8823A9F18BE10E946A +:103790008B1B882351F08091CC0181FB222720F9DB +:1037A00091E0922790FB81F90EC08EE00E948B1B66 +:1037B000882361F08091CC0182FB222720F991E0DF +:1037C000922790FB82F98093CC0115C080E10E9482 +:1037D0008B1B9091CC01882341F093FB222720F989 +:1037E00081E0822780FB93F904C0892F809580FBBC +:1037F00090F99093CC018091CC010E94EF1C0E9423 +:10380000FD1C8093DE0180EE0E948B1B882341F01B +:103810008091DE01982F909590FB80F98093DE01D6 +:1038200089E30E948B1B882359F08091DE0181FB84 +:10383000222720F991E0922790FB81F98093DE0105 +:1038400082EE0E948B1B882359F08091DE0182FB5F +:10385000222720F991E0922790FB82F98093DE01E4 +:1038600086EE0E948B1B882359F08091DE0183FB3A +:10387000222720F991E0922790FB83F98093DE01C3 +:1038800083EE0E948B1B882359F08091DE0184FB1C +:10389000222720F991E0922790FB84F98093DE01A2 +:1038A00085E30E948B1B882359F08091DE0185FB04 +:1038B000222720F991E0922790FB85F98093DE0181 +:1038C00081E30E948B1B882359F08091DE0186FBE7 +:1038D000222720F991E0922790FB86F98093DE0160 +:1038E00081E10E948B1B882359F08091DE0187FBC8 +:1038F000222720F991E0922790FB87F98093DE013F +:103900008091DE010E94011D8091DE0187FB8827E6 +:1039100080F980930D0187E20E948B1BC82F8EE1F6 +:103920000E948B1B8111C2608FE10E948B1B811151 +:10393000C46080E20E948B1B8111C86081E20E94FA +:103940008B1B8111C06182E20E948B1B8111C062BE +:1039500083E20E948B1B8111C06484E20E948B1B56 +:10396000882311F0C06802C0CC2329F08C2F0E945C +:10397000F81C6C2F03C00E94F41C682F70E080E0DC +:1039800090E0CF910C94E717CF9108956DEE7EEF04 +:1039900080E090E00E943A2360E082E090E00E94A4 +:1039A0002C2360E083E090E00E942C2360E084E020 +:1039B00090E00E942C2360E085E090E00C942C23A2 +:1039C00080E090E00E94262321E08D3E9E4F09F08A +:1039D00020E0822F089582E090E00C941E23682F4F +:1039E00082E090E00C942C2383E090E00C941E2362 +:1039F000682F83E090E00C942C2384E090E00C94FA +:103A00001E23682F84E090E00C942C238091D30136 +:103A100080FF0BC06091130185E0689FB001112405 +:103A200075956795759567952BC081FF09C0609165 +:103A3000130185E0689FB00111247595679520C03A +:103A400082FF07C06091130185E0689FB0011124D7 +:103A500017C09091D4019923D1F06091120196176B +:103A600088F72091130185E0289F90011124929FEF +:103A7000A001939F500D112470E0CA010E94F02212 +:103A80006038710540F46115710519F406C065E0F0 +:103A900070E0862F08958FE7089581E00895809162 +:103AA000D30180FF08C06091110170E075956795A2 +:103AB0007595679521C081FF06C06091110170E086 +:103AC0007595679519C082FF04C06091110170E07F +:103AD00010C09091D401992399F06091100196172C +:103AE000A0F780911101899FC001112470E00E940C +:103AF000F0226038710540F46115710519F406C0B3 +:103B000061E070E0862F08958FE7089581E00895C1 +:103B1000803F21F40E94061D819504C0813F29F455 +:103B20000E94061D8093D7010895823F21F40E94D0 +:103B3000061D819504C0833F29F40E94061D8093D1 +:103B4000D6010895893F19F40E944F1D05C08A3F90 +:103B500031F40E944F1D81958093D80108958B3FC9 +:103B600021F40E944F1D819504C08C3F29F40E94CE +:103B70004F1D8093D9010895843F21F48091D50190 +:103B8000816017C0853F21F48091D501826011C00A +:103B9000863F21F48091D50184600BC0873F21F4DA +:103BA0008091D501886005C0883F31F48091D501AE +:103BB00080618093D50108958D3F21F48091D301D8 +:103BC00081600BC08E3F21F48091D301826005C0DB +:103BD0008F3F29F48091D30184608093D3010895AD +:103BE000803F39F48091D70187FF6CC01092D701D4 +:103BF00069C0813F29F48091D7011816BCF362C0D7 +:103C00009091D601823F29F497FF5CC01092D601B3 +:103C100059C0833F19F41916CCF354C0893F41F4BD +:103C20008091D80118160CF04DC01092D8014AC0EE +:103C30008A3F29F48091D80187FF44C0F6CF8B3F9B +:103C400039F48091D90187FF3DC01092D9013AC063 +:103C50008C3F29F48091D9011816BCF333C0843FFE +:103C600021F48091D5018E7F17C0853F21F480918A +:103C7000D5018D7F11C0863F21F48091D5018B7FC6 +:103C80000BC0873F21F48091D501877F05C0883F15 +:103C900031F48091D5018F7E8093D50113C08D3F83 +:103CA00021F48091D3018E7F0BC08E3F21F480914F +:103CB000D3018D7F05C08F3F29F48091D3018B7F85 +:103CC0008093D3018091D60181110EC08091D701DC +:103CD00081110AC08091D801811106C08091D9015B +:103CE000811102C01092D401089585ED91E00E94E7 +:103CF000DE0E0E94DC1A9093D2018093D1010895C8 +:103D00001F93CF93DF938091D1019091D2010E94B4 +:103D1000E81AAC019091D401992321F0209114016B +:103D200030E006C0209115018AE0289F90011124FF +:103D30004217530708F485C08091D601C091D7017E +:103D4000D091D8011091D901811107C0C11175C05E +:103D5000D11173C0111171C074C09F3F19F09F5FE2 +:103D60009093D401181624F40E94061D8093D60166 +:103D70008091D60187FF05C00E94061D8195809322 +:103D8000D6011C1624F40E94061D8093D701809151 +:103D9000D70187FF05C00E94061D81958093D7013A +:103DA0006091D601662331F1C091D701CC2311F186 +:103DB000062E000C770B880B990B0E94F72123E34A +:103DC00033E343E35FE30E945B220E94BF216093E1 +:103DD000D6016C2FCC0F770B880B990B0E94F72123 +:103DE00023E333E343E35FE30E945B220E94BF21AE +:103DF0006093D7011D1624F40E944F1D8093D801B3 +:103E00008091D80187FF05C00E944F1D8195809346 +:103E1000D801111624F40E944F1D8093D90180917E +:103E2000D90187FF05C00E944F1D81958093D9015C +:103E3000DF91CF911F910C94751E9F3F09F08FCF9A +:103E4000A0CFDF91CF911F910895E5EDF1E085E0DE +:103E5000DF011D928A95E9F71092D4011092D301E7 +:103E60000895833081F128F4813059F08230D1F007 +:103E70000895853009F449C0B8F1863009F456C078 +:103E8000089580911501262F30E0280F311D2F3F16 +:103E9000310524F4680F6093150108958FEF809326 +:103EA0001501089580911401262F30E0280F311D4F +:103EB0002F3F310524F4680F6093140108958FEFAC +:103EC00080931401089580911301262F30E0280F6C +:103ED000311D2F3F310524F4680F609313010895BD +:103EE0008FEF80931301089580911201262F30E007 +:103EF000280F311D2F3F310524F4680F6093120104 +:103F000008958FEF80931201089580911101262F5B +:103F100030E0280F311D2F3F310524F4680F6093E6 +:103F2000110108958FEF8093110108958091100180 +:103F3000262F30E0280F311D2F3F310524F4680F64 +:103F40006093100108958FEF8093100108958330DE +:103F500011F128F4813049F0823091F008958530D4 +:103F600081F120F18630C1F1089580911501681723 +:103F700020F4861B80931501089510921501089571 +:103F800080911401681720F4861B80931401089512 +:103F900010921401089580911301681720F4861B74 +:103FA00080931301089510921301089580911201D6 +:103FB000681720F4861B8093120108951092120155 +:103FC000089580911101681720F4861B80931101D8 +:103FD000089510921101089580911001681720F43E +:103FE000861B8093100108951092100108950F937D +:103FF0001F938D3109F46BC008F03FC08E3009F477 +:104000007DC0C0F4873009F46EC068F4863009F0D2 +:10401000AFC08091CC01817F8E7F8093CC0181E005 +:104020008093DB01A6C0883009F458C08B3009F4B6 +:104030009BC09EC0863109F497C078F4803109F4A2 +:1040400070C0813109F094C00E94301490910D012C +:1040500081E0892780930D0187C0893109F484C0EC +:104060008B3109F085C08091CC0181FB222720F99A +:1040700091E0922790FB81F94AC0853309F45BC037 +:1040800048F4873209F457C008F45AC0893209F459 +:1040900052C06EC0833438F48A3308F067C0883366 +:1040A00009F462C065C0833409F445C0883409F05E +:1040B0005FC00E9430140FEF13ED20E30150104059 +:1040C0002040E1F700C000000E94371B4DC00E9455 +:1040D00079210E94C70E0E94BC0746C00E94EB1CBB +:1040E0000E94FD1C41C09091CC01892F817090FFEE +:1040F00012C0917F9E7F9093CC013BC08091CC01F8 +:1041000082FB222720F991E0922790FB82F980938D +:10411000CC01992349F18091CC0181608093CC013D +:1041200023C08091CC0183FB222720F991E09227C4 +:1041300090FB83F9ECCF61E070E080E090E010C08C +:104140008D5141E050E060E070E08A019B0104C0C5 +:10415000000F111F221F331F8A95D2F7C901B80122 +:104160000E94E7170E94301481E003C08953E9CF11 +:1041700080E01F910F91089580E008950C94BC2079 +:10418000CF93C82F8091DB01813079F018F0823015 +:10419000E9F187C0E0910E01F0910F01808181313A +:1041A00069F0823209F07FC009C0E0910E01F09100 +:1041B0000F018081813111F0823261F48C2F0E94D5 +:1041C000BE20811104C08C2F0E94F71F1DC081E00A +:1041D00090E01AC08C2F0E94BC20811114C0C43101 +:1041E00079F048F4CB3079F0C03109F060C082E05A +:1041F0008093DB0108C0C93219F0C83321F057C0E1 +:104200001092DB0154C081E0817053C0C93289F142 +:1042100018F5C43171F1A8F4C73009F046C08AE03E +:104220008093150194E19093140193E0909313010E +:104230008093120188E08093110188E2809310013D +:1042400034C0CE51C63088F5EC2FF0E0E65DFE4F6D +:1042500080818093DA0129C0CE34E9F020F4CB3498 +:1042600021F56AE013C0C13579F0C235F1F461E09F +:104270000DC08091DA01882319F01092DA0115C07F +:1042800081E08093DB0115C061E006C08091DA0116 +:104290000E94311F0AC06AE08091DA010E94A71FC4 +:1042A00004C01092DB0180E004C081E002C080E025 +:1042B000ABCFCF910895E1E8F0E080818860808302 +:1042C0008081816080838FB7F89493E09093890018 +:1042D00090ED909388008FBF0895EFE6F0E0808125 +:1042E000826080830895EFE6F0E080818D7F808397 +:1042F0000895EFE6F0E0908182E0892780830895B9 +:104300001F920F920FB60F9211242F933F934F934A +:104310005F936F937F938F939F93AF93BF93EF932D +:10432000FF938091DC019091DD0101969093DD0176 +:104330008093DC01811103C082E00E94BC07E09100 +:10434000DD01E695E695F0E0EF5AFA4FE4918091B1 +:10435000DC018E1303C080E00E94BC07FF91EF9147 +:10436000BF91AF919F918F917F916F915F914F918D +:104370003F912F910F900FBE0F901F9018950E94A4 +:10438000C6216894B1110C94552208950E943A22D6 +:1043900088F09F5798F0B92F9927B751B0F0E1F006 +:1043A000660F771F881F991F1AF0BA95C9F714C0B6 +:1043B000B13091F00E945422B1E008950C9454223F +:1043C000672F782F8827B85F39F0B93FCCF38695EF +:1043D00077956795B395D9F73EF49095809570954C +:1043E00061957F4F8F4F9F4F0895E89409C097FBC9 +:1043F0003EF490958095709561957F4F8F4F9F4FBC +:104400009923A9F0F92F96E9BB279395F6958795FF +:1044100077956795B795F111F8CFFAF4BB0F11F4C2 +:1044200060FF1BC06F5F7F4F8F4F9F4F16C0882369 +:1044300011F096E911C0772321F09EE8872F762F9F +:1044400005C0662371F096E8862F70E060E02AF0E0 +:104450009A95660F771F881FDAF7880F96958795CC +:1044600097F9089557FD9058440F551F59F05F3F35 +:1044700071F04795880F97FB991F61F09F3F79F086 +:1044800087950895121613061406551FF2CF469508 +:10449000F1DF08C0161617061806991FF1CF86958A +:1044A0007105610508940895E894BB27662777276E +:1044B000CB0197F908950E946E220C94DF220E948E +:1044C000D12238F00E94D82220F0952311F00C94CC +:1044D000C8220C94CE2211240C9455220E94322220 +:1044E00070F3959FC1F3950F50E0551F629FF00147 +:1044F000729FBB27F00DB11D639FAA27F00DB11D60 +:10450000AA1F649F6627B00DA11D661F829F2227E8 +:10451000B00DA11D621F739FB00DA11D621F839F6F +:10452000A00D611D221F749F3327A00D611D231F45 +:10453000849F600D211D822F762F6A2F11249F5793 +:1045400050409AF0F1F088234AF0EE0FFF1FBB1F96 +:10455000661F771F881F91505040A9F79E3F510555 +:1045600080F00C94C8220C9455225F3FE4F3983EEF +:10457000D4F3869577956795B795F795E7959F5FFF +:10458000C1F7FE2B880F911D9695879597F9089591 +:1045900097F99F6780E870E060E008959FEF80ECF6 +:1045A000089500240A941616170618060906089599 +:1045B00000240A9412161306140605060895092EFF +:1045C0000394000C11F4882352F0BB0F40F4BF2B6E +:1045D00011F460FF04C06F5F7F4F8F4F9F4F0895AE +:1045E00097FB072E16F4009407D077FD09D00E94A0 +:1045F0000A2307FC05D03EF4909581959F4F0895BE +:10460000709561957F4F0895EE0FFF1F0590F4910F +:10461000E02D0994AA1BBB1B51E107C0AA1FBB1FB9 +:10462000A617B70710F0A61BB70B881F991F5A953E +:10463000A9F780959095BC01CD010895F999FECF19 +:1046400092BD81BDF89A992780B50895A8E1B0E0A0 +:1046500042E050E00C944123262FF999FECF1FBA77 +:1046600092BD81BD20BD0FB6F894FA9AF99A0FBE9B +:10467000019608950E942C23272F0C942D23DC01F2 +:10468000CB01FC01F999FECF06C0F2BDE1BDF89A5D +:10469000319600B40D9241505040B8F70895F89407 +:0246A000FFCF4A +:1046A2002002BE074E082908F507C1070101BA0119 +:1046B20028080A03140A3F4D36391205C5048F042F +:1046C2005604E90302041B04340401020304050630 +:0446D20007080900CC +:00000001FF diff --git a/keyboard/ergodox_ez/keymaps/alexjj/readme.md b/keyboard/ergodox_ez/keymaps/alexjj/readme.md new file mode 100644 index 000000000..e3a06fe32 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/alexjj/readme.md @@ -0,0 +1,136 @@ +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 | `~ | Hyper| Left | Right| | Down | Up | COPY | PASTE| RCtrl | + `----------------------------------' `----------------------------------' + ,-------------. ,-------------. + Hyper = Ctrl+Super+Alt+Shift | Alt | F5 | | F2 | ~L2 | + ,------|------|------| |------+------+------. + | | | PgUp | | Ins | | | + | Space| BkSp |------| |------| ~L1 |Enter | + | | | 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 | |VolUp |VolDn | Mute | | | + `----------------------------------' `----------------------------------' + ,-------------. ,-------------. + | | | | | | + ,------|------|------| |------+------+------. + | | | | | | |Brwser| + | | |------| |------| |Back | + | | | | | | | | + `--------------------' `--------------------' +``` + +Usage +------ + +~L1 / L2 will momentarily switch to a layer if held and another key is pressed. +If pressed and released will remain on layer until pressed again. + + +Changelog +----------- + +### [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 000000000..e4e92bf46 Binary files /dev/null and b/keyboard/ergodox_ez/keymaps/alexjj/rl-layout.jpg differ