From 34eb5dfb97676e16820fa051738623c9367361fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guillermo=20Vay=C3=A1?= Date: Sun, 31 Jan 2016 11:44:41 +0100 Subject: new emacs + osx + deadkeys layout --- keyboard/ergodox_ez/keymaps/emacs_osx_dk/keymap.c | 184 +++++++++++++++++++++ keyboard/ergodox_ez/keymaps/emacs_osx_dk/readme.md | 10 ++ 2 files changed, 194 insertions(+) create mode 100644 keyboard/ergodox_ez/keymaps/emacs_osx_dk/keymap.c create mode 100644 keyboard/ergodox_ez/keymaps/emacs_osx_dk/readme.md (limited to 'keyboard') diff --git a/keyboard/ergodox_ez/keymaps/emacs_osx_dk/keymap.c b/keyboard/ergodox_ez/keymaps/emacs_osx_dk/keymap.c new file mode 100644 index 0000000000..bdac229e5c --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/emacs_osx_dk/keymap.c @@ -0,0 +1,184 @@ +#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 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* Keymap 0: Basic layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | Grv | 1 | 2 | 3 | 4 | 5 | L1 | | L2 | 6 | 7 | 8 | 9 | 0 | = | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | - | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | \/LCtrl| A | S | D | F | G |------| |------| H | J | K | L | ; |'/RCtrl | + * |--------+------+------+------+------+------| RAlt | | RAlt |------+------+------+------+------+--------| + * | LShift | Z | X | C | V | B | | | | N | M | , | . | / | RShift | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | ~L1 | LCtrl| Left| Right| LAlt | | LAlt | Up | Down | RCtrl| ~L2 | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | Del | Ins | | Esc | App | + * ,------|------|------| |------+--------+------. + * | | | Home | | PgUp | | | + * | Space|Backsp|------| |------| LGui |Enter | + * | |ace | End | | PgDn | | | + * `--------------------' `----------------------' + */ +// If it accepts an argument (i.e, is a function), it doesn't need KC_. +// Otherwise, it needs KC_* +[BASE] = KEYMAP( // layer 0 : default + // left hand + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, TG(SYMB), + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, + CTL_T(KC_BSLS), KC_A, KC_S, KC_D, KC_F, KC_G, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_RALT, + MO(SYMB), KC_LCTRL, KC_LEFT,KC_RGHT,KC_LALT, + KC_DELT,KC_INS, + KC_HOME, + KC_SPC,KC_BSPC,KC_END, + // right hand + TG(MDIA), KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL, + KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS, + KC_H, KC_J, KC_K, KC_L, KC_SCLN, CTL_T(KC_QUOT), + KC_RALT, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, + KC_LALT,KC_UP, KC_DOWN,KC_RCTRL, MO(MDIA), + KC_ESC, KC_APP, + KC_PGUP, + KC_PGDN, KC_LGUI, KC_ENT + ), +/* Keymap 1: Symbol Layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | | | | 0 | 0 | . | = | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | | |------| |------| | | + * | | | | | | | | + * `--------------------' `--------------------' + */ +// SYMBOLS +[SYMB] = KEYMAP( + // left hand + KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, + 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,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, + KC_TRNS,KC_TRNS, + KC_TRNS, + KC_TRNS,KC_TRNS,KC_TRNS, + // right hand + KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + KC_TRNS, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_F12, + KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS, + KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS, + KC_0, KC_0, KC_DOT, KC_EQL, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS +), +/* Keymap 2: Media and mouse keys + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | | | | | | | | | | | | | | | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | | | MsUp | | | | | | | | | | | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | | | | | | | | | | | Prev | Next | | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | |Brwser| + * | | |------| |------| |Back | + * | | | | | | | | + * `--------------------' `--------------------' + */ +// MEDIA AND MOUSE +[MDIA] = KEYMAP( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + // right hand + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_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_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_WBAK +), +}; + +const uint16_t PROGMEM fn_actions[] = { + [1] = ACTION_LAYER_TAP_TOGGLE(SYMB) // FN1 - Momentary Layer 1 (Symbols) +}; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + // MACRODOWN only works in this function + switch(id) { + case 0: + if (record->event.pressed) { + register_code(KC_RSFT); + } else { + unregister_code(KC_RSFT); + } + break; + } + return MACRO_NONE; +}; + +// Runs just one time when the keyboard initializes. +void * matrix_init_user(void) { + +}; + +// Runs constantly in the background, in a loop. +void * matrix_scan_user(void) { + + uint8_t layer = biton32(layer_state); + + ergodox_board_led_off(); + ergodox_right_led_1_off(); + ergodox_right_led_2_off(); + ergodox_right_led_3_off(); + switch (layer) { + // TODO: Make this relevant to the ErgoDox EZ. + case 1: + ergodox_right_led_1_on(); + break; + case 2: + ergodox_right_led_2_on(); + break; + default: + // none + break; + } + +}; diff --git a/keyboard/ergodox_ez/keymaps/emacs_osx_dk/readme.md b/keyboard/ergodox_ez/keymaps/emacs_osx_dk/readme.md new file mode 100644 index 0000000000..4839988d9b --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/emacs_osx_dk/readme.md @@ -0,0 +1,10 @@ +# ErgoDox EZ Emacs-OSX-DeadKeys Configuration + +Since I'm an Emacs user, ctrl keys are very important and gets a placement where the usual caps_lock is. There +are an extra pair of ctrls, just in case there where problems with the holding one's, but not as comfortable. + +Gui button takes a predominant place on the thumb cluster, as I'm using a mac os x and it relies heavily on it. + +Finally there is also two Right Alts to easily access to accented letters of the spanish alphabet. + +![Default](default_highres.png) -- cgit v1.2.3 From f5c1d6d1dbc5602d08fa621c730baacda304fe7a Mon Sep 17 00:00:00 2001 From: Daniel Mijares Date: Sat, 6 Feb 2016 10:00:18 -0500 Subject: my personal ergodox keymap layout with pngs of layout and readme --- keyboard/ergodox_ez/keymaps/jacobono/README.md | 34 +++ .../keymaps/jacobono/img/colemak-default-layer.png | Bin 0 -> 70434 bytes .../keymaps/jacobono/img/number-dpad-layer.png | Bin 0 -> 46225 bytes .../keymaps/jacobono/img/symbol-layer.png | Bin 0 -> 49615 bytes keyboard/ergodox_ez/keymaps/jacobono/keymap.c | 273 +++++++++++++++++++++ 5 files changed, 307 insertions(+) create mode 100644 keyboard/ergodox_ez/keymaps/jacobono/README.md create mode 100644 keyboard/ergodox_ez/keymaps/jacobono/img/colemak-default-layer.png create mode 100644 keyboard/ergodox_ez/keymaps/jacobono/img/number-dpad-layer.png create mode 100644 keyboard/ergodox_ez/keymaps/jacobono/img/symbol-layer.png create mode 100644 keyboard/ergodox_ez/keymaps/jacobono/keymap.c (limited to 'keyboard') diff --git a/keyboard/ergodox_ez/keymaps/jacobono/README.md b/keyboard/ergodox_ez/keymaps/jacobono/README.md new file mode 100644 index 0000000000..48de0509fc --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/jacobono/README.md @@ -0,0 +1,34 @@ +# Default Layer # + +I'm using the colemak layer -- customized a bit to work a bit better when using spacemacs as my editor. + +![default-layer](img/colemak-default-layer.png) + +## Special Keys ## + +`SC1` => `LGUI + TAB` + +`SC2` => `LGUI + SPACE + TAB` + +`L1` => Switch to QWERTY Layout + +`T(L2)` => Toggle Symbol Layer + +`T(L3)` => Toggle Number and D-Pad Layer + +# QWERTY # + +Nothing special here -- just need this layer tucked away for the `WASD`. Which is literally the only reason I use it. +Just have the same button to toggle back to colemak. + +# Symbol Layer # + +![symbol-layer](img/symbol-layer.png) + +This is just putting matching closing symbols next to each other -- useful when editing lisp. + +# Number and D-Pad Layer # + +Just a basic number layer with a D-PAD on the other side. + +![number-dpad-layer](img/number-dpad-layer.png) diff --git a/keyboard/ergodox_ez/keymaps/jacobono/img/colemak-default-layer.png b/keyboard/ergodox_ez/keymaps/jacobono/img/colemak-default-layer.png new file mode 100644 index 0000000000..06f63c4968 Binary files /dev/null and b/keyboard/ergodox_ez/keymaps/jacobono/img/colemak-default-layer.png differ diff --git a/keyboard/ergodox_ez/keymaps/jacobono/img/number-dpad-layer.png b/keyboard/ergodox_ez/keymaps/jacobono/img/number-dpad-layer.png new file mode 100644 index 0000000000..4dd7182785 Binary files /dev/null and b/keyboard/ergodox_ez/keymaps/jacobono/img/number-dpad-layer.png differ diff --git a/keyboard/ergodox_ez/keymaps/jacobono/img/symbol-layer.png b/keyboard/ergodox_ez/keymaps/jacobono/img/symbol-layer.png new file mode 100644 index 0000000000..ee224cf0c1 Binary files /dev/null and b/keyboard/ergodox_ez/keymaps/jacobono/img/symbol-layer.png differ diff --git a/keyboard/ergodox_ez/keymaps/jacobono/keymap.c b/keyboard/ergodox_ez/keymaps/jacobono/keymap.c new file mode 100644 index 0000000000..ed8dfc731b --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/jacobono/keymap.c @@ -0,0 +1,273 @@ +#include "ergodox_ez.h" +#include "debug.h" +#include "action_layer.h" + +#define COLEMAK 0 // new colemak layout +#define QWERTY 1 // default layer +#define SYMB 2 // symbols +#define NUMPAD 3 // number pad +#define MDIA 4 // media keys + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Keymap 0: Basic COLEMAK layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | 1 | 2 | 3 | 4 | 5 | LEFT | | RIGHT| 6 | 7 | 8 | 9 | 0 | | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | Tab | Q | W | F | P | G | | | | J | L | U | Y | ; | TAB | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | BkSp | A | R | S | T | D |------| |------| H | N | E | I | O | DEL | + * |--------+------+------+------+------+------| | LGUI(TAB)------+------+------+------+------+--------| + * | LShift |Z/Ctrl| X | C | V | B | | | | K | M | , | . |//Ctrl| RShift | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | L1 | | | UP |MO(L2)| |MO(L2)| Down | | ALT | RGUI | + * `----------------------------------' `------------------------------------' + * ,-------------. ,---------------. + * | LGUI | App | |Ctrl/Esc| Alt | + * ,------|------|------| |--------+--------+------. + * | | |QUKSL | | QUKSL | | | + * |Space |ENTER |------| |--------| ENTER |Space | + * | | |MO(L3)| | MO(L3) | | | + * `--------------------' `------------------------' + */ + + // If it accepts an argument (i.e, is a function), it doesn't need KC_. + // Otherwise, it needs KC_* + [COLEMAK] = KEYMAP( // layer 0 : Colemak layout default layer + // left hand + KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT, + KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_TRNS, + KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D, + KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_TRNS, + TG(QWERTY), KC_TRNS, KC_TRNS,KC_UP, MO(SYMB), + KC_LGUI, KC_APP, + LGUI(S(KC_SPC)), + KC_SPC,KC_ENT,MO(NUMPAD), + // right hand + KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DELT, + KC_TRNS, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_TAB, + KC_H, KC_N, KC_E, KC_I, KC_O, KC_DEL, + LGUI(KC_TAB), KC_K, KC_M, KC_COMM, KC_DOT, CTL_T(KC_SLSH), KC_RSFT, + MO(SYMB), KC_DOWN, KC_TRNS, KC_RALT, KC_RGUI, + CTL_T(KC_ESC), KC_LALT, + LGUI(S(KC_SPC)), + MO(NUMPAD), KC_ENT, KC_SPC), + + /* Keymap 1: Basic QWERTY layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | BkSp | 1 | 2 | 3 | 4 | 5 | LEFT | | RIGHT| 6 | 7 | 8 | 9 | 0 | DEL | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | Tab | Q | W | E | R | T | L0 | | L0 | Y | U | I | O | P | \ | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | Ctrl | A | S | D | F | G |------| |------| H | J | K | L |; / L4| CTRL | + * |--------+------+------+------+------+------| Alt | | Alt |------+------+------+------+------+--------| + * | LShift |Z/Ctrl| X | C | V | B | | | | N | M | , | . |//Ctrl| RShift | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * |Grv/L3| '" |AltShf| Left |MO(L2)| |MO(L2)| Down | [ | ] | ~L3 | + * `----------------------------------' `----------------------------------' + * ,-------------. ,---------------. + * | Tab | BkSp | | Alt |Ctrl/Esc| + * ,------|------|------| |------+--------+------. + * | | | Home | | PgUp | | | + * | Space| LGUI |------| |------| RGUI |Enter | + * | | | End | | PgDn | | | + * `--------------------' `----------------------' + */ + // If it accepts an argument (i.e, is a function), it doesn't need KC_. + // Otherwise, it needs KC_* + [QWERTY] = KEYMAP( // layer 1 + // left hand + KC_BSPC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_TRNS, + KC_LCTRL, KC_A, KC_S, KC_D, KC_F, KC_G, + KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_LALT, + KC_TRNS, KC_QUOT, LALT(KC_LSFT), KC_LEFT, MO(SYMB), + KC_TAB, KC_DELT, + KC_HOME, + KC_SPC, KC_LGUI, KC_END, + // right hand + KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DELT, + KC_TRNS, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, + KC_H, KC_J, KC_K, KC_L, LT(MDIA, KC_SCLN), KC_RCTRL, + KC_RALT, KC_N, KC_M, KC_COMM, KC_DOT, CTL_T(KC_SLSH), KC_RSFT, + MO(SYMB), KC_DOWN, KC_LBRC, KC_RBRC, KC_FN1, + KC_LALT, CTL_T(KC_ESC), + KC_PGUP, + KC_PGDN, KC_RGUI, KC_ENT), + + + /* Keymap 2: Symbol Layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | | @ | * | = | _ | | | | ~ | { | } | # | : | F12 | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | | | ! | + | - | " |------| |------| " | ( | ) | ' | ` | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | | % | ^ | $ | & | | | | ; | [ | ] | \ | / | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | | | | | | | | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | | |------| |------| | | + * | | | | | | | | + * `--------------------' `--------------------' + */ + // SYMBOL + [SYMB] = KEYMAP( + // left hand + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, + KC_TRNS, KC_TRNS, KC_AT, KC_ASTR, KC_EQL, KC_UNDS, KC_TRNS, + KC_TRNS, KC_PIPE, KC_EXLM, KC_PLUS, KC_MINS, S(KC_QUOTE), + KC_TRNS, KC_TRNS, KC_PERC, KC_CIRC, KC_DLR, KC_AMPR, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + + // right hand + KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + KC_TRNS, KC_TILD, KC_LCBR, KC_RCBR, KC_HASH, S(KC_SCLN), KC_F12, + S(KC_QUOTE),KC_LPRN, KC_RPRN, KC_QUOTE, KC_GRV, KC_TRNS, + KC_TRNS, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, KC_SLSH, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS), + + /* Keymap 3: Numpad Layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | | | | | | | | | | | | | | | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | | | UP | | | | | | $ | 7 | 8 | 9 | + | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | | LEFT | DOWN | RIGHT| |------| |------| = | 4 | 5 | 6 | - | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | | | | | | | | | | 1 | 2 | 3 | * | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | | | | , | 0 | . | / | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | | |------| |------| | | + * | | | | | | | | + * `--------------------' `--------------------' + */ + // Numpad + [NUMPAD] = KEYMAP( + // left hand + KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, + KC_TRNS,KC_TRNS,KC_TRNS,KC_UP,KC_TRNS,KC_TRNS,KC_TRNS, + KC_TRNS,KC_TRNS,KC_LEFT,KC_DOWN,KC_RIGHT,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, + // right hand + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_DLR, KC_7, KC_8, KC_9, KC_PLUS, KC_TRNS, + KC_EQL, KC_4, KC_5, KC_6, KC_MINS, KC_TRNS, + KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_ASTR, KC_TRNS, + KC_COMMA,KC_0, KC_DOT, KC_SLSH, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS), + + /* Keymap 4: Media and mouse keys + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | | | | | | | | | | | | | | | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | | | MsUp | | | | | | | | | | | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | | | | | | | | | | | Prev | Next | | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | |Brwser| + * | | |------| |------| |Back | + * | | | | | | | | + * `--------------------' `--------------------' + */ + // MEDIA AND MOUSE + KEYMAP( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + // right hand + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_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_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_WBAK), +}; + +const uint16_t PROGMEM fn_actions[] = { + [1] = ACTION_LAYER_TAP_TOGGLE(SYMB) // FN1 - Momentary Layer 1 (Symbols) +}; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + // MACRODOWN only works in this function + switch(id) { + case 0: + if (record->event.pressed) { + register_code(KC_RSFT); + } else { + unregister_code(KC_RSFT); + } + break; + } + return MACRO_NONE; +}; + +// Runs just one time when the keyboard initializes. +void * matrix_init_user(void) { + +}; + +// Runs constantly in the background, in a loop. +void * matrix_scan_user(void) { + + uint8_t layer = biton32(layer_state); + + ergodox_board_led_off(); + ergodox_right_led_1_off(); + ergodox_right_led_2_off(); + ergodox_right_led_3_off(); + switch (layer) { + // TODO: Make this relevant to the ErgoDox EZ. + case 1: + ergodox_right_led_1_on(); + break; + case 2: + ergodox_right_led_2_on(); + break; + default: + // none + break; + } + +}; -- cgit v1.2.3 From b5b9885df7d3a8aae404e005a81d8ceaa76d005d Mon Sep 17 00:00:00 2001 From: Daniel Mijares Date: Sat, 6 Feb 2016 13:59:30 -0500 Subject: add hex file --- keyboard/ergodox_ez/keymaps/jacobono/jacobono.hex | 1142 +++++++++++++++++++++ 1 file changed, 1142 insertions(+) create mode 100644 keyboard/ergodox_ez/keymaps/jacobono/jacobono.hex (limited to 'keyboard') diff --git a/keyboard/ergodox_ez/keymaps/jacobono/jacobono.hex b/keyboard/ergodox_ez/keymaps/jacobono/jacobono.hex new file mode 100644 index 0000000000..cf68f854fd --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/jacobono/jacobono.hex @@ -0,0 +1,1142 @@ +:100000000C940D030C9451030C9451030C94510364 +:100010000C9451030C9451030C9451030C94510310 +:100020000C9451030C9451030C946A0C0C943C0DE9 +:100030000C9451030C9451030C9451030C945103F0 +:100040000C9451030C94C1210C9451030C94510352 +:100050000C9451030C94521B0C9451030C945103B7 +:100060000C9451030C9451030C9451030C945103C0 +:100070000C9451030C9451030C9451030C945103B0 +:100080000C9451030C9451030C9451030C945103A0 +:100090000C9451030C9451030C9451030C94510390 +:1000A0000C9451030C9451030C945103A90DCB0DE6 +:1000B000B90ECB0DB90E100E330EB90E880E9B0E75 +:1000C0007D117D11AC11AC11EF112D1246144614A7 +:1000D00046124614471347131A1446144614311493 +:1000E0000000F0A201002B002A00E10001540000F2 +:1000F0001E00140004001D71010003521F001A00AD +:1001000015001B0001002800200009001600060051 +:1001100052002C00210013001700190002522C0A73 +:1001200022000A00070005000000E3005000010063 +:1001300000000100000065004F00010000002B08D6 +:100140000000297123000D000B000E000000E200EA +:1001500024000F001100100002522C0A2500180084 +:100160000800360051002C0026001C000C0037004F +:10017000010028002700330012003871E600035206 +:100180004C002B004C00E500E70000002A002B008B +:10019000E000E100010000001E00140004001D71D9 +:1001A00034004D001F001A0016001B00E104E3009C +:1001B000200008000700060050002C002100150058 +:1001C0000900190002524A00220017000A00050027 +:1001D00000002B00500001000000E20000004C0075 +:1001E0004F0001000000E6000000E20023001C00B8 +:1001F0000B00110000002971240018000D001000F0 +:1002000002524B0025000C000E0036005100280061 +:10021000260012000F0037002F00E7002700130010 +:100220003384387130004E004C003100E400E500AA +:10023000C1000000010001000100010001000000F8 +:100240003A00010031020100010001003B001F02E1 +:100250001E022202010001003C0025022E022302A0 +:10026000010001003D002E002D00210201000100CF +:100270003E002D02340224020000010001000100B2 +:100280000000010000000100010001000000010069 +:10029000000001003F00350234023300000001007D +:1002A00040002F0226022F00010001004100300211 +:1002B000270230000100010042002002340031001A +:1002C0000100010043003302350038000100010045 +:1002D0004400450001000100010000000100010090 +:1002E0000100010001000000010001000100010007 +:1002F00001000100010001005000010001000100A7 +:100300000100520051000100010001000100010044 +:100310004F00010001000100010001000100010087 +:1003200000000100010001000000010000000100C8 +:100330000100010000000100000001000100210295 +:100340002E002402000001000100240021001E00F4 +:10035000360001000100250022001F0027000100D7 +:1003600001002600230020003700010001002E02BA +:100370002D002502380001000100010001000100EC +:100380000100000001000100010001000100000067 +:100390000100010001000100010001000100010055 +:1003A000F2000100010001000100F000F100010075 +:1003B000F400010001000100F3000100F50001005C +:1003C0000100010001000100000001000100010026 +:1003D0000000010000000100010001000000010018 +:1003E0000000010001000100010001000000010007 +:1003F0000100010001000100A9000100010001004D +:100400000100AC00AA00B600010001000100AB0031 +:10041000A80001000100010001000100010001002D +:1004200001000100AE0001000100000016034500BC +:10043000720067006F0044006F00780020004500E4 +:100440005A00000016034500720067006F00440068 +:100450006F007800200045005A00000004030904E2 +:1004600009026D00040100A0FA0904000001030163 +:100470000100092111010001223F00070581030845 +:10048000000A090401000103010200092111010011 +:1004900001224D000705820308000A090402000139 +:1004A0000300000009211101000122360007058325 +:1004B0000308000A090403000103000000092111D8 +:1004C0000100012239000705840310000112011008 +:1004D0000100000008EDFE07130100010200010504 +:1004E000010906A101050719E029E7150025019575 +:1004F0000875018102050819012905950575019105 +:10050000029501750391010507190029771500254A +:1005100001957875018102C005010980A10185025C +:1005200016010026B7001A01002AB70075109501C0 +:100530008100C0050C0901A1018503160100269C5C +:10054000021A01002A9C02751095018100C0050164 +:100550000902A1010901A1000509190129051500D8 +:10056000250195057501810295017503810105013C +:10057000093009311581257F9502750881060938F2 +:100580001581257F950175088106050C0A3802152D +:1005900081257F950175088106C0C005010906A166 +:1005A00001050719E029E715002501950875018166 +:1005B0000295017508810105081901290595057540 +:1005C0000191029501750391010507190029FF1595 +:1005D0000025FF950675088100C00000000000009E +:1005E0000000000000010204060A0F17202C3A4AFE +:1005F0005D71879DB3C7DAE9F5FCFFFCF5E9DAC761 +:10060000B39D87715D4A3A2C20170F0A0604020138 +:100610000000000000000000000011241FBECFEF0A +:10062000DAE0DEBFCDBF04B603FE24C08091EE0148 +:100630009091EF01A091F001B091F1018730904BC2 +:10064000A740B04BB9F41092EE011092EF01109256 +:10065000F0011092F10114BE84B7877F84BF88E156 +:100660000FB6F89480936000109260000FBEE0E037 +:10067000FFE3099511E0A0E0B1E0E6E0F7E402C095 +:1006800005900D92A433B107D9F711E0A4E3B1E0CE +:1006900001C01D92AE3EB107E1F70E94AE090C9475 +:1006A00081230C94000061110BC0FC01828188231E +:1006B00021F085EE0E941A1003C085EE0E94E21020 +:1006C00080E090E0089508956091B1017091B201C9 +:1006D0008091B3019091B4010E94811A56985E985E +:1006E00025982D9826982E9827982F98813019F0C4 +:1006F000823021F00895259A2D9A0895269A2E9AEF +:10070000089584E693E0892B11F00E94640380E051 +:1007100090E0089556985E9825982D9826982E98E2 +:1007200027982F988FEF90E090938900809388000E +:1007300090938B0080938A0090938D0080938C001F +:10074000259A2D9A2FEF80E792E02150804090402B +:10075000E1F700C00000269A2E9A2FEF80E792E082 +:10076000215080409040E1F700C00000279A2F9A66 +:100770002FEF80E792E0215080409040E1F700C0E9 +:10078000000025982D982FEF80E792E021508040BF +:100790009040E1F700C0000026982E982FEF80E7E8 +:1007A00092E0215080409040E1F700C0000027987F +:1007B0002F9856985E9825982D9826982E982798C9 +:1007C0002F98089589EA8093800089E080938100C2 +:1007D00024982C983F988AB18F748AB96E98479A5A +:1007E0008BB1806B8BB9769A0E948A0383E693E083 +:1007F000892B11F00E94630380E090E0089580E26D +:10080000809300018091340181110EC00E944E043A +:1008100081E0809334012FEF83ED90E321508040FD +:100820009040E1F700C0000080E40E9454048093EF +:10083000000181112EC00E947E048093000181116D +:1008400028C00E947E0480930001811122C08FE3A2 +:100850000E947E048093000181111BC00E947604D7 +:1008600080E40E94540480930001811112C08CE046 +:100870000E947E048093000181110BC00E947E04BF +:1008800080930001811105C08FE30E947E04809354 +:1008900000010E9476048091000108951092B90031 +:1008A0008AE08093B800089594EA9093BC009091F8 +:1008B000BC0097FFFCCF9091B900987F983021F051 +:1008C000903111F081E008958093BB0084E880931B +:1008D000BC008091BC0087FFFCCF8091B900887F6D +:1008E000883111F0803471F780E0089584E98093B5 +:1008F000BC008091BC0084FDFCCF08958093BB00B8 +:1009000084E88093BC008091BC0087FFFCCF90916D +:10091000B900987F81E0983209F480E0089584E876 +:100920008093BC008091BC0087FFFCCF8091BB000E +:10093000089580910001811115C080E40E94540443 +:100940008093000181110CC082E10E947E0480939B +:100950000001811105C08FEF0E947E048093000189 +:100960000E94760484B1807F84B985B1807F85B987 +:100970008AB1837F8AB98BB1837F8BB93E984698C1 +:1009800008950E94FF03809300010E94990480B3A0 +:100990008C7080BB81B3836F81BBA6E3B1E0E4E4DC +:1009A000F1E08EE08E0F11921D928E13FCCF82EE3D +:1009B00093E0892B11F00C94E2030895BF92CF923B +:1009C000DF92EF92FF920F931F93CF93DF9380916B +:1009D0000001882379F0809135018F5F8093350184 +:1009E000811108C00E94FF0380930001811102C0A1 +:1009F0000E948A0306E311E0C0E0D0E0DD24D39436 +:100A000082E0C82EEE24E394F12CC730D10500F526 +:100A100080910001811164C080E40E94540480939D +:100A20000001811112C082E10E947E0480930001C6 +:100A300081110BC0C7010C2E01C0880F0A94EAF780 +:100A400080950E947E04809300010E94760448C035 +:100A5000CA30A1F028F4C83059F0C93061F005C09F +:100A6000CC3089F070F0CD3089F0209A289810C0F1 +:100A7000219A29980DC0229A2A980AC0239A2B9865 +:100A800007C0529A01C0539A5B9802C03E9A46989A +:100A900090EA9A95F1F79FB1799902C082E001C07E +:100AA00080E091709D25982B7C9902C084E001C064 +:100AB00080E0892B7D9902C038E001C030E0832BB3 +:100AC0007E9902C020E101C020E0822B9FB1909569 +:100AD000991F9927991F9295990F907E892B0FC086 +:100AE0008091000181114FC080E40E9454048093E2 +:100AF00000018823A9F1B12C0E9476048B2DF80106 +:100B00009081981719F08083C09201010E94990486 +:100B100021960F5F1F4FCE30D10509F076CF80911F +:100B200001018823B1F0815080930101882339F0BD +:100B30008FE99FE00197F1F700C000000AC0A4E42C +:100B4000B1E0E6E3F1E0CF01825F91919D938E13D6 +:100B5000FCCF81E893E0892BC1F00E94810315C08E +:100B600083E10E947E04809300018111C4CF81E45F +:100B70000E945404809300018111BDCF0E948F0414 +:100B8000B82EB094B9CF80E0BACF81E0DF91CF9199 +:100B90001F910F91FF90EF90DF90CF90BF9008953D +:100BA000E82FF0E0EC5BFE4F8081089508958B3BC9 +:100BB000910578F4883A910540F5853A9105D0F48D +:100BC0008430910508F0B1C08130910509F4ADC0C1 +:100BD0006BC0803E910508F467C0883E910508F41B +:100BE000A4C09C01205F31092031310508F05CC0B0 +:100BF00090650895853A910509F459C0863A9105A2 +:100C000009F058C082E890E40895883A910509F403 +:100C100054C0893A910509F453C08A3A910509F400 +:100C200052C08B3A910509F451C08C3A910509F4F0 +:100C300050C08D3A910509F44FC0803B910509F4ED +:100C40004EC08E3A910509F44DC08F3A910509F4D2 +:100C50004CC0813B910509F44BC0823B910509F4DE +:100C60004AC0833B910509F449C0843B910509F4CE +:100C700048C0853B910509F447C0863B910509F4BE +:100C800046C0873B910509F445C0883B910509F4AE +:100C900044C0893B910509F443C08A3B910509F49E +:100CA00042C080E094E4089580E090E0089581E8F7 +:100CB00090E4089583E890E4089582EE94E4089522 +:100CC00089EE94E408958AEE94E4089585EB94E423 +:100CD000089586EB94E4089587EB94E408958CECF2 +:100CE00094E408958DEC94E4089583E895E40895E0 +:100CF0008AE895E4089582E995E4089584E995E405 +:100D0000089581E296E4089583E296E4089584E2EA +:100D100096E4089585E296E4089586E296E40895BF +:100D200087E296E408958AE296E40895089596E0AD +:100D3000799FF001112494E5899FE00DF11D1124A4 +:100D4000E60FF11DEE0FFF1FEC51FF4F85919491BF +:100D50000895880F991FFC01E05AF0408591949105 +:100D60000895880F991FFC01E052FF4F85919491DF +:100D7000089526E0729FF001112444E5849FE00D60 +:100D8000F11D1124E60FF11DEE0FFF1FEC51FF4F77 +:100D9000859194919C013A9521154FE1340708F40F +:100DA0001AC13F512115304120F49F700E94B106B5 +:100DB00008959C0130532115304118F49927906C07 +:100DC0000895811520E5920769F40E9468144FEF99 +:100DD00084E39CE0415080409040E1F700C0000077 +:100DE0000C94771B813020E5920731F48091CC017F +:100DF00081608093CC0108959C01305521153041CC +:100E000008F051C0292F33272F70332721303105A7 +:100E1000D9F4AC014370552702C0220F331F4A9505 +:100E2000E2F73C68AC0164E0440F551F6A95E1F7B6 +:100E300044275370242B352B73E0880F991F7A9524 +:100E4000E1F7807699271DC02230310529F4982FCB +:100E50008827816F906A089523303105A9F4AC0189 +:100E60004370552721E030E002C0220F331F4A951E +:100E7000E2F73C6843E0880F991F4A95E1F7807ECE +:100E80009770822B932B089524303105E1F4AC0147 +:100E90004370552721E030E002C0220F331F4A95EE +:100EA000E2F73A68E7CF9C0130572115304118F43A +:100EB0009F70906208959C0130582115304118F4BC +:100EC0009F70906A0895803E9105E0F4803C910502 +:100ED00058F58133910509F46FC048F489329105C2 +:100EE00009F463C08A32910509F46DC072C0893378 +:100EF0009105E9F082389105D1F08533910509F427 +:100F00004DC067C0833E910581F138F4803E910564 +:100F1000B9F0823E9105D9F05CC0863E910561F141 +:100F2000873E9105A1F155C00E94A9060895209120 +:100F3000DF0120FD02C021FF4CC080EE90E049C0DF +:100F40008091DF0180FFF9CF89E390E042C080917A +:100F5000DF0182FF0EC08091DF0184FF03C080E0CB +:100F600090E037C083EE90E034C08091DF0182FFD3 +:100F7000F2CF82EE90E02DC08091DF0183FF0BC0A5 +:100F80008091DF0184FDEBCF87EE90E022C080915D +:100F9000DF0183FFF5CF86EE90E01BC08091DF017B +:100FA00085FF07C089E290E014C08091DF0185FFD2 +:100FB000F9CF85E390E00DC08091DF0186FF07C087 +:100FC0008AE290E006C08091DF0186FFF9CF81E3DD +:100FD00090E00E94D70508950895809162010895D8 +:100FE000CF93DF9300D01F92CDB7DEB79C018091E5 +:100FF000E501843019F593E099833B832A8390932C +:10100000E9008FEF9091E800815095FD06C095EDC5 +:101010009A95F1F700008111F5CF8091E80085FFE6 +:101020000DC040E050E063E070E0CE0101960E9408 +:101030005A0A8091E8008E778093E8000F900F9015 +:101040000F90DF91CF910895CF93DF9300D01F923F +:10105000CDB7DEB72091E501243021F522E02983C8 +:101060009B838A8383E08093E9008FEF9091E8006F +:10107000815095FD06C095ED9A95F1F7000081111C +:10108000F5CF8091E80085FF0DC040E050E063E0BF +:1010900070E0CE0101960E945A0A8091E8008E7796 +:1010A0008093E8000F900F900F90DF91CF910895FB +:1010B0002091E5012430F1F422E02093E9002FEFA4 +:1010C0003091E800215035FD06C035ED3A95F1F735 +:1010D00000002111F5CF2091E80025FF0BC040E072 +:1010E00050E065E070E00E945A0A8091E8008E7737 +:1010F0008093E8000895CF93DF93EC019091E50190 +:10110000943009F046C080910C018823D9F0809179 +:101110000D018823B9F09093E9008FEF9091E800DA +:10112000815095FD06C095E19A95F1F70000811177 +:10113000F5CF8091E80085FF2CC040E050E060E1F1 +:1011400070E017C081E08093E9008FEF9091E80094 +:10115000815095FD06C095ED9A95F1F7000081113B +:10116000F5CF8091E80085FF14C040E050E068E0D2 +:1011700070E0CE010E945A0A8091E8008E77809339 +:10118000E80080E1FE01A2E5B1E001900D928A95B0 +:10119000E1F7DF91CF9108958091E401811109C0B9 +:1011A0000E94EF0B0E944C0C8091E20084608093BF +:1011B000E20008951092E401089508950C94AE2180 +:1011C0000E940D1B0E94B4210E94F20E0C94EC07A9 +:1011D00042E061EC81E00E94690B42E061EC82E058 +:1011E0000E94690B42E061EC83E00E94690B42E1DE +:1011F00061EC84E00C94690B8091E701833009F481 +:1012000055C030F4813071F0823009F48EC00895F9 +:101210008A3009F47AC08B3009F460C0893009F053 +:101220009CC020C08091E601813A09F096C080916F +:10123000E800877F8093E8008091EA019091EB01BC +:10124000892B21F460E182E591E003C060E080E059 +:1012500090E070E00E94A50A8091E8008B7780936F +:10126000E80008958091E601813209F076C080910E +:10127000EA019091EB01009719F0039709F06DC016 +:101280008091E800877F8093E8008091E80082FDEC +:1012900005C08091E5018111F8CF5FC08091F10018 +:1012A000809362018091E8008B7753C08091E601C2 +:1012B000813A09F052C08091EA019091EB01892BAB +:1012C00009F04BC08091E800877F8093E80080910F +:1012D000E80080FFFCCF80910C0136C08091E601D0 +:1012E0008132D9F58091EA019091EB01892BA9F522 +:1012F0008091E800877F8093E8000E949E0B809198 +:10130000E80180930C010C9468148091E60181320D +:1013100021F58091E800877F8093E8000E949E0B72 +:101320008091E9018093630108958091E601813AFB +:10133000A1F48091E800877F8093E8008091E80025 +:1013400080FFFCCF809163018093F1008091E800E1 +:101350008E778093E8000C949E0B089584B7877F66 +:1013600084BF88E10FB6F89480936000109260000B +:101370000FBE90E080E80FB6F894809361009093E0 +:1013800061000FBE0E94410F0E94EF0B0E944C0CA7 +:101390008091E20084608093E20078940E94D20EF3 +:1013A0000E94430F82E091E00E94ED0E0E949C217A +:1013B0008091E501853069F40E94D11A8091E301A2 +:1013C0008823B1F30E94F91A882391F30E94440AFA +:1013D000EFCF0E94490FECCF292F3327233031055F +:1013E000C9F064F42130310581F02230310509F073 +:1013F00043C08DE690E020E634E042C02132310562 +:10140000F1F02232310541F137C082E190E02DEC5C +:1014100034E036C099278130910541F08230910542 +:1014200041F0892B49F5ECE5F4E005C0E4E4F4E093 +:1014300002C0ECE2F4E0849190E09F0121C06430AE +:10144000D8F4E62FF0E0EE0FFF1FEE5DFE4F208197 +:10145000318189E090E014C0643070F470E0FB01E9 +:10146000EE0FFF1FE65EFE4F20813181FB01EA5E39 +:10147000FE4F808190E004C080E090E020E030E00A +:10148000FA0131832083089580E189BD82E189BD1D +:1014900009B400FEFDCF8091D8008F7D8093D800E5 +:1014A0008091E00082608093E0008091E00081FD07 +:1014B000FCCF0895CF92DF92EF92FF920F931F938C +:1014C000CF93DF93EC018B016A010E94BD0B811168 +:1014D00033C0C114D10439F0F60180819181081B19 +:1014E000190BC80FD91FE12CF12C0115110519F1A9 +:1014F0008091E80085FD16C08091E8008E7780938A +:10150000E800C114D10449F0F60180819181E80E10 +:10151000F91EF182E08285E00FC00E94BD0B882396 +:1015200021F30AC089918093F10001501109FFEF66 +:10153000EF1AFF0ADACF80E0DF91CF911F910F9170 +:10154000FF90EF90DF90CF9008952091EC013091C3 +:10155000ED012617370748F06115710539F4209120 +:10156000E8002E772093E80001C0B90140E0611542 +:101570007105A9F12091E501222309F443C025302A +:1015800009F442C02091E80023FD40C02091E8000A +:1015900022FD32C02091E80020FFE9CF4091F30006 +:1015A0002091F20030E0342BFC01CF016115710570 +:1015B00059F02830310540F481918093F100615059 +:1015C00071092F5F3F4FF1CF41E02830310509F01D +:1015D00040E02091E8002E772093E800C8CF411129 +:1015E000C9CF0AC08091E501882361F0853061F0A0 +:1015F0008091E80083FD0AC08091E80082FFF2CF6D +:1016000080E0089582E0089583E0089581E00895E0 +:101610002091EC013091ED012617370748F0611554 +:10162000710539F42091E8002E772093E80001C07D +:10163000B901FC0120E06115710591F18091E5018E +:10164000882309F440C0853009F43FC08091E80048 +:1016500083FD3DC08091E80082FD2FC08091E800AD +:1016600080FFE9CF2091F3008091F20090E0922B6F +:101670006115710559F08830910540F4249120934B +:10168000F1003196615071090196F2CF21E008977F +:1016900009F020E08091E8008E778093E800CBCFBE +:1016A0002111CCCF0AC08091E501882361F08530FB +:1016B00061F08091E80083FD0AC08091E80082FF1C +:1016C000F2CF80E0089582E0089583E0089581E0FC +:1016D0000895982F973058F59093E900981739F0AE +:1016E0007091EC002091ED005091F00003C0242F88 +:1016F000762F50E021FF19C03091EB003E7F3093F0 +:10170000EB003091ED003D7F3093ED003091EB0028 +:1017100031603093EB007093EC002093ED00509318 +:10172000F0002091EE0027FF07C09F5FD3CF8F709E +:101730008093E90081E0089580E008958091E601BA +:1017400087FF11C08091E80082FD05C08091E5010E +:101750008111F8CF11C08091E8008B770BC0809188 +:10176000E501882349F08091E80080FFF8CF80915F +:10177000E8008E778093E80008952091E40030918E +:10178000E50095E64091EC00842F817040FF22C077 +:101790008091E80080FD1CC08091E501882391F0D4 +:1017A000853091F08091EB0085FD10C04091E40000 +:1017B0005091E5004217530729F39A01915011F710 +:1017C00084E0089582E0089583E0089581E008951B +:1017D00080E008954091E80042FFDECF08950E9426 +:1017E0005D0C0E94650CE0EEF0E0808181608083FA +:1017F000E8EDF0E080818F77808319BCA7EDB0E041 +:101800008C918E7F8C9380818F7E80831092E401F7 +:1018100008950F931F93CF93DF930E945D0C0E9456 +:10182000650CC8EDD0E088818F77888388818068D7 +:10183000888388818F7D888319BC1092E50110927E +:10184000E1011092E3011092E20100EE10E0F801D4 +:1018500080818B7F808388818160888342E060E023 +:1018600080E00E94690BE1EEF0E080818E7F808352 +:10187000E2EEF0E0808181608083808188608083F7 +:10188000F80180818E7F8083888180618883DF91E9 +:10189000CF911F910F910895E8EDF0E080818F7E48 +:1018A0008083E7EDF0E080818160808384E082BF07 +:1018B00081E08093E4010C94090CE8EDF0E0808174 +:1018C0008E7F80831092E20008951092DA001092C9 +:1018D000E10008951F920F920FB60F9211242F93DB +:1018E0003F934F935F936F937F938F939F93AF93A8 +:1018F000BF93EF93FF938091E10082FF0BC0809133 +:10190000E20082FF07C08091E1008B7F8093E100BD +:101910000E94D10E8091DA0080FF1FC08091D80014 +:1019200080FF1BC08091DA008E7F8093DA00809167 +:10193000D90080FF0DC080E189BD82E189BD09B475 +:1019400000FEFDCF81E08093E5010E94CC0805C038 +:1019500019BC1092E5010E94DA088091E10080FF35 +:1019600019C08091E20080FF15C08091E2008E7F57 +:101970008093E2008091E20080618093E200809198 +:10198000D80080628093D80019BC85E08093E5017F +:101990000E94DE088091E10084FF30C08091E20067 +:1019A00084FF2CC080E189BD82E189BD09B400FEBD +:1019B000FDCF8091D8008F7D8093D8008091E10089 +:1019C0008F7E8093E1008091E2008F7E8093E20021 +:1019D0008091E20081608093E2008091E1018823A0 +:1019E00011F084E007C08091E30087FD02C081E030 +:1019F00001C083E08093E5010E94E0088091E1004E +:101A000083FF29C08091E20083FF25C08091E1001F +:101A1000877F8093E10082E08093E5011092E101ED +:101A20008091E1008E7F8093E1008091E2008E7FC3 +:101A30008093E2008091E20080618093E20042E0C6 +:101A400060E080E00E94690B8091F00088608093E4 +:101A5000F0000E94DD08FF91EF91BF91AF919F913F +:101A60008F917F916F915F914F913F912F910F9047 +:101A70000FBE0F901F9018951F920F920FB60F92E6 +:101A800011242F933F934F935F936F937F938F9383 +:101A90009F93AF93BF93CF93DF93EF93FF93C09147 +:101AA000E900CF708091EC00D82FD17080FDD0E894 +:101AB0001092E9008091F000877F8093F000789485 +:101AC0000E94800D1092E9008091F0008860809360 +:101AD000F000CD2BCF70C093E900FF91EF91DF9123 +:101AE000CF91BF91AF919F918F917F916F915F91B6 +:101AF0004F913F912F910F900FBE0F901F9018950F +:101B00001F93CF93DF93CDB7DEB7AA970FB6F894A4 +:101B1000DEBF0FBECDBFE6EEF1E088E08E0F909104 +:101B2000F10091938E13FBCF0E94FC088091E80096 +:101B300083FF1FC18091E6019091E701492F50E09A +:101B40004A30510508F015C1FA01EA5AFF4F0C94CA +:101B50003623803881F0823809F00BC18091EA0188 +:101B60008F708093E9008091EB0085FB882780F9D6 +:101B70001092E90006C08091E2019091E301911179 +:101B800082609091E800977F9093E8008093F10045 +:101B90001092F100C8C0282F2D7F09F0EAC08823D9 +:101BA00019F0823061F0E5C08091E801813009F0E0 +:101BB000E0C0933009F080E08093E3012BC0809176 +:101BC000E801811127C08091EA018F7009F4D1C02A +:101BD0008093E9002091EB0020FF1CC0933021F49A +:101BE0008091EB00806214C09091EB009061909323 +:101BF000EB0021E030E0A90102C0440F551F8A9597 +:101C0000E2F74093EA001092EA008091EB008860CE +:101C10008093EB001092E9008091E800877F86C0F6 +:101C20008111A7C01091E8011F778091E3008078AF +:101C3000812B8093E3008091E800877F8093E80008 +:101C40000E949E0B8091E80080FFFCCF8091E30012 +:101C500080688093E300111102C082E001C083E03C +:101C60008093E50186C08058823008F082C0809160 +:101C7000E8019091E9018C3D53E0950779F583E007 +:101C80008A838AE289834FB7F894DE01139620E0B5 +:101C90003EE051E2E32FF0E050935700E49120FF43 +:101CA00003C0E295EF703F5FEF708E2F90E0EA3057 +:101CB00010F0C79601C0C0968D939D932F5F24317D +:101CC00049F74FBF8091E800877F8093E8006AE280 +:101CD00070E0CE0101960E94A50A14C0AE014F5FCC +:101CE0005F4F6091EA010E94EC09BC01892B09F465 +:101CF00040C09091E800977F9093E80089819A8195 +:101D00000E94080B8091E8008B778093E80031C037 +:101D1000803879F58091E800877F8093E800809192 +:101D2000E1018093F1008091E8008E778093E800D4 +:101D30000E949E0B1EC081111CC09091E801923040 +:101D4000C0F48091E800877F8093E8009093E101E0 +:101D50000E949E0B8091E101811106C08091E300F9 +:101D600087FD02C081E001C084E08093E5010E940C +:101D7000E8088091E80083FF0AC08091E800877F2F +:101D80008093E8008091EB0080628093EB00AA963C +:101D90000FB6F894DEBF0FBECDBFDF91CF911F917C +:101DA00008950895CF938091E5018823A1F0C09113 +:101DB000E900CF709091EC00892F817090FD80E850 +:101DC000C82B1092E9008091E80083FD0E94800DED +:101DD000CF70C093E900CF910895909369018093EB +:101DE00068010895E0916801F0916901309721F050 +:101DF0000190F081E02D099480E00895E091680160 +:101E0000F0916901309721F00280F381E02D09946F +:101E10000895E0916801F0916901309721F0048004 +:101E2000F581E02D099408952091660130916701B4 +:101E30008217930771F09093670180936601E09198 +:101E40006801F0916901309721F00680F781E02D5B +:101E500009940895209164013091650182179307D8 +:101E600071F09093650180936401E0916801F091B5 +:101E70006901309721F00084F185E02D09940895DF +:101E800008950C94400F0E94131B0E94C1040C94EF +:101E9000D91BCF92DF92EF92FF920F931F93CF93B4 +:101EA000DF93CDB7DEB72B970FB6F894DEBF0FBE2A +:101EB000CDBF0E94DE048BE6C82E81E0D82E00E064 +:101EC00010E0E02E802F0E94D005F60141916F01B5 +:101ED000F42EF826B1F40F5F1F4F0E30110589F76D +:101EE0008FEF89838A831B820E941C1B8160782F5D +:101EF0009D838C8349815A816B818D810E94EC0F77 +:101F000040C09091CC0191FF04C08B870E94D60500 +:101F10008B8520E030E04F2D50E0922FBA01022E49 +:101F200002C0759567950A94E2F760FF24C02E837E +:101F3000EF8221E030E0690102C0CC0CDD1C9A95F3 +:101F4000E2F790E08C219D21892B09F420E028877D +:101F50000E941C1B8160782F9A8789874E815F8140 +:101F600068858A850E94EC0FF801E559FE4F808153 +:101F7000C826C08206C02F5F3F4F2630310569F664 +:101F8000AACF0E94C01E10916A010E94F20E18177B +:101F9000A1F00E94F20E80936A012B960FB6F8947E +:101FA000DEBF0FBECDBFDF91CF911F910F91FF908C +:101FB000EF90DF90CF900C94EC072B960FB6F8942F +:101FC000DEBF0FBECDBFDF91CF911F910F91FF906C +:101FD000EF90DF90CF900895CF93DF93CDB7DEB72A +:101FE0002B970FB6F894DEBF0FBECDBF4F83588737 +:101FF00069877A878B87DE01119686E0FD01119251 +:102000008A95E9F785E0FE01379601900D928A9551 +:10201000E1F749815A816B817C818D819E810E948B +:1020200002172B960FB6F894DEBF0FBECDBFDF911F +:10203000CF910895CF93882309F4C2C0C82F823866 +:1020400059F40E94F20E81FDBBC089E30E949E19E3 +:102050000E945B1A89E30CC0833879F40E94F20E67 +:1020600080FDAEC083E50E949E190E945B1A83E545 +:102070000E94E019CF910C945B1A843859F40E94A5 +:10208000F20E82FD9DC087E40E949E190E945B1A99 +:1020900087E4EECF8CEF8C0F813A48F48C2F0E94AE +:1020A000012181118DC08C2F0E949E19E3CF80E207 +:1020B0008C0F883048F4C77081E001C0880FCA9542 +:1020C000EAF70E94241AD6CF8BE58C0F833078F480 +:1020D000C53A29F0C63A31F083E890E005C081E8BE +:1020E00090E002C082E890E0CF910C94140F88E554 +:1020F0008C0F833108F064C0C83A39F1C93A41F114 +:10210000CA3A49F1CB3A51F1CC3A59F1CD3A61F1A1 +:10211000C03B69F1CE3A71F1CF3A79F1C13B81F11F +:10212000C23B89F1C33B91F1C43B99F1C53BA1F19D +:10213000C63BA9F1C73BB1F1C83BB9F1C93BC1F1FD +:10214000CA3BC9F180E090E038C082EE90E035C033 +:1021500089EE90E032C08AEE90E02FC085EB90E0EF +:102160002CC086EB90E029C087EB90E026C08CEC79 +:1021700090E023C08DEC90E020C083E891E01DC08A +:102180008AE891E01AC082E991E017C084E991E001 +:1021900014C081E292E011C083E292E00EC084E2BA +:1021A00092E00BC085E292E008C086E292E005C0B2 +:1021B00087E292E002C08AE292E0CF910C942A0F6B +:1021C000CF910895882309F44BC0823859F40E94B6 +:1021D000F20E81FF45C089E30E949E190E945B1A9E +:1021E00089E30CC0833871F40E94F20E80FF38C07E +:1021F00083E50E949E190E945B1A83E50E94E01904 +:102200000C945B1A843859F40E94F20E82FF28C0A5 +:1022100087E40E949E190E945B1A87E4EFCF9CEF2F +:10222000980F913A58F390E2980F983050F48770D5 +:1022300091E001C0990F8A95EAF7892F0E942A1A26 +:10224000DFCF9BE5980F933020F480E090E00C9472 +:10225000140F885A833120F480E090E00C942A0F08 +:102260000895882321F00E94241A0C945B1A089583 +:10227000882321F00E942A1A0C945B1A0895BF92B9 +:10228000CF92DF92EF92FF920F931F93CF93DF9342 +:1022900000D000D000D0CDB7DEB725E0FC01DE01D4 +:1022A000119601900D922A95E1F7FC014081318150 +:1022B0000281258122952F7063817481672B09F437 +:1022C000E5C23F3F19F44F3F09F4E0C27C01498366 +:1022D0003A8389819A812E830E945D19182FB92E25 +:1022E0000E945C190E942318EB2DE295EF70F0E03C +:1022F000E05AFF4F2E810C9436238B2D807F9B2D2F +:102300009F70F92E882319F0F29480EFF8220023B1 +:1023100049F0FF2009F467C28F2D0E94341A0E94F1 +:102320005B1A61C2812F0E94E210FF2009F4AEC245 +:102330008F2D0E943A1A26960FB6F894DEBF0FBE74 +:10234000CDBFDF91CF911F910F91FF90EF90DF9064 +:10235000CF90BF900C945B1A3B2D307F8B2D8F70EC +:10236000303211F08295807F112319F0113021F164 +:102370002CC00023B9F0222309F4A0C1213009F0B8 +:102380009DC126960FB6F894DEBF0FBECDBFDF917C +:10239000CF911F910F91FF90EF90DF90CF90BF9062 +:1023A0000C94441A222319F0213009F46FC28E8351 +:1023B0000E94471A8E8196C1002321F0223008F036 +:1023C00065C27CC1211162C28DC1002321F022238C +:1023D00009F474C108C2222309F484C119C22B2D47 +:1023E00026952695237030E02115310521F0213006 +:1023F0003105D1F04BC2002321F0812F9B2D93702A +:1024000002C080E090E026960FB6F894DEBF0FBEC3 +:10241000CDBFDF91CF911F910F91FF90EF90DF9093 +:10242000CF90BF900C94140F002321F0812F9B2D8F +:10243000937002C080E090E026960FB6F894DEBF5D +:102440000FBECDBFDF91CF911F910F91FF90EF9005 +:10245000DF90CF90BF900C942A0F812F002319F0AA +:102460000E94C81D02C00E94301E26960FB6F89426 +:10247000DEBF0FBECDBFDF91CF911F910F91FF90B7 +:10248000EF90DF90CF90BF900C94B51E8B2D837092 +:1024900009F07BC00111FAC1812F82958695877062 +:1024A000880F880F912F9F70C92ED12CE12CF12C11 +:1024B000082E04C0CC0CDD1CEE1CFF1C0A94D2F7C5 +:1024C00014FF12C04FE050E060E070E004C0440F21 +:1024D000551F661F771F8A95D2F7CB01BA01609509 +:1024E00070958095909503C060E070E0CB012B2D36 +:1024F000269526952370422F50E042305105D9F0A1 +:102500004330510569F16C297D298E299F2941307D +:10251000510551F126960FB6F894DEBF0FBECDBF20 +:10252000DF91CF911F910F91FF90EF90DF90CF90AF +:10253000BF900C944A186C297D298E299F292696D4 +:102540000FB6F894DEBF0FBECDBFDF91CF911F91C4 +:102550000F91FF90EF90DF90CF90BF900C94661892 +:102560000E944A18C701B60126960FB6F894DEBF3E +:102570000FBECDBFDF91CF911F910F91FF90EF90D4 +:10258000DF90CF90BF900C942E18002319F08B2D64 +:10259000817001C08695882309F478C1812F8295C6 +:1025A00086958770880F880F912F9F70C92ED12C28 +:1025B000E12CF12C082E04C0CC0CDD1CEE1CFF1C01 +:1025C0000A94D2F714FF12C04FE050E060E070E0D0 +:1025D00004C0440F551F661F771F8A95D2F7CB01A1 +:1025E000BA01609570958095909503C060E070E0A9 +:1025F000CB012B2D269526952370422F50E042309B +:102600005105D9F04330510569F16C297D298E2996 +:102610009F294130510551F126960FB6F894DEBF3F +:102620000FBECDBFDF91CF911F910F91FF90EF9023 +:10263000DF90CF90BF900C9424196C297D298E29AE +:102640009F2926960FB6F894DEBF0FBECDBFDF914F +:10265000CF911F910F91FF90EF90DF90CF90BF909F +:102660000C9440190E942419C701B60126960FB692 +:10267000F894DEBF0FBECDBFDF91CF911F910F91B8 +:10268000FF90EF90DF90CF90BF900C940819103F0F +:10269000D1F118F4103E50F4A1C0123F09F463C008 +:1026A00008F44CC0133F09F473C098C01F708B2D01 +:1026B0008F710023A1F00E94A118812F26960FB6DA +:1026C000F894DEBF0FBECDBFDF91CF911F910F9168 +:1026D000FF90EF90DF90CF90BF900C9431110E944B +:1026E000C218812F26960FB6F894DEBF0FBECDBF5D +:1026F000DF91CF911F910F91FF90EF90DF90CF90DE +:10270000BF900C9438110023A9F02111BFC08B2D6C +:102710008F7126960FB6F894DEBF0FBECDBFDF9146 +:10272000CF911F910F91FF90EF90DF90CF90BF90CE +:102730000C94E718223008F0A9C0E9CF0023A9F0D3 +:102740008B2D8F7126960FB6F894DEBF0FBECDBFCE +:10275000DF91CF911F910F91FF90EF90DF90CF907D +:10276000BF900C94A118002359F38B2D8F712696DE +:102770000FB6F894DEBF0FBECDBFDF91CF911F9192 +:102780000F91FF90EF90DF90CF90BF900C94C21804 +:10279000002399F08B2D8F7126960FB6F894DEBF2B +:1027A0000FBECDBFDF91CF911F910F91FF90EF90A2 +:1027B000DF90CF90BF900C948C1826960FB6F894AB +:1027C000DEBF0FBECDBFDF91CF911F910F91FF9064 +:1027D000EF90DF90CF90BF900C9482180023A9F067 +:1027E000222309F4ADCF812F26960FB6F894DEBFD1 +:1027F0000FBECDBFDF91CF911F910F91FF90EF9052 +:10280000DF90CF90BF900C941A10222309F4ADCF23 +:10281000812F26960FB6F894DEBF0FBECDBFDF9195 +:10282000CF911F910F91FF90EF90DF90CF90BF90CD +:102830000C94E2104B2D4F70612FC7010E9453037F +:1028400026960FB6F894DEBF0FBECDBFDF91CF91B5 +:102850001F910F91FF90EF90DF90CF90BF900C945D +:10286000A6174B2D4F70612FC70126960FB6F8940F +:10287000DEBF0FBECDBFDF91CF911F910F91FF90B3 +:10288000EF90DF90CF90BF900C94960626960FB6EF +:10289000F894DEBF0FBECDBFDF91CF911F910F9196 +:1028A000FF90EF90DF90CF90BF9008950E94411A63 +:1028B0000E94161A0E945B1A0E94661F0E94B51E93 +:1028C00080E090E00E94140F80E090E00C942A0FCA +:1028D0000E94311A0C9456140E945D19292F2295DA +:1028E0002F7030E02C3031054CF42A3031056CF477 +:1028F000225031092230310588F407C02C303105CF +:1029000049F02F30310531F009C0803E48F0803F5A +:1029100029F406C093FB882780F9089580E0089584 +:1029200081E00895CF93DF9300D000D01F92CDB700 +:10293000DEB70F900F900F900F900F90DF91CF9117 +:102940000895CF93DF9300D000D000D0CDB7DEB78D +:1029500026960FB6F894DEBF0FBECDBFDF91CF91A4 +:1029600008951F93CF93DF93C091790116E0809172 +:102970007A01C81799F0D0E01C9FF0011D9FF00D5F +:102980001124E558FE4F4081518162817381848119 +:1029900095810E94A1142196C770E9CFDF91CF9154 +:1029A0001F9108954091AB015091AC016091AD0130 +:1029B0007091AE018091AF019091B0010C94A1147F +:1029C0008091B00182958F7009F054C08091AD0163 +:1029D000882309F44FC080917901A0917A01609118 +:1029E000AB017091AC014091AE015091AF01B6E0E6 +:1029F0008A1709F43FC090E041155105C1F17F3FAE +:102A000011F46F3FA1F1B89FF001B99FF00D1124AF +:102A1000E558FE4F218172132AC02081621327C01E +:102A20002281211124C0238134812417350710F419 +:102A300021503109241B350B283C3105C0F420916D +:102A4000B0012F7020612093B00126E0289FF00193 +:102A5000299FF00D1124E058FE4F80818F70806116 +:102A600080838BEA91E00E943F110C94B11401968F +:102A70008770BECF0895CF92DF92EF92FF920F93AF +:102A80001F93CF93DF93CDB7DEB762970FB6F8945D +:102A9000DEBF0FBECDBF8C0185E0F801DE011D96C3 +:102AA00001900D928A95E1F7D8014C9111965C91B5 +:102AB000119712966C9112971396CD90DC90149703 +:102AC0003091AB017091AC018091AE019091AF015A +:102AD000009709F46BC17F3F19F43F3F09F466C1C9 +:102AE000E090AD01EE2009F4C0C02091B001C816FD +:102AF000D90628F0F601E81BF90BCF0104C0809538 +:102B000090958C0D9D1DFF24F394883C910578F0E1 +:102B1000F12C207F09F0C6C07C2DD98AC88A89890A +:102B20000E9492148BEA91E00E943F11B1C0822F63 +:102B3000807F09F046C0751314C0341312C06111B0 +:102B400010C02F7020612093B0010E94D2148BEA34 +:102B500091E00E943F118091B001D80115968C93AD +:102B60002EC0CD2819F15F3F11F44F3FF9F0F62E3A +:102B700061111CC08091790120917A0136E08217A1 +:102B800009F45AC090E0389FF001399FF00D1124EC +:102B9000E558FE4F7181571306C07081471303C07B +:102BA0007281711103C001968770E9CFF62E6623FA +:102BB00009F418C18091B00181608093B001F12CBB +:102BC00011C1751308C0341306C0611104C080918F +:102BD000B001D801C3C04D875E878D859E856A8B05 +:102BE0000E946C146A898823E1F16623D1F1209157 +:102BF000B001822F82958F7090E0029774F08091DF +:102C0000AB019091AC0198878F831986DB86CA86C9 +:102C10002C87CE0107960E943F1186E0F801ABEAAF +:102C2000B1E001900D928A95E1F70E94E0140E94B4 +:102C3000D214FF24F394D6C04D875E878D859E8580 +:102C40000E945D19292F22952F7030E02230310526 +:102C50000CF0BCC09F7009F0B6C0805E883008F4EC +:102C6000C1C0C8010E943F11E4CFC816D90608F4BC +:102C700053C0F601E81BF90BCF01883C910508F41D +:102C800050C0F12C7C2DD98AC88A89890E9492145F +:102C9000EBEAF1E086E0DF011D928A95E9F70E94F8 +:102CA000D214A0C0751314C0341312C0611110C027 +:102CB0008091B001F8018583C8010E943F1186E030