summaryrefslogtreecommitdiffstats
path: root/keyboard/ergodox_ez/keymaps/ordinary
diff options
context:
space:
mode:
Diffstat (limited to 'keyboard/ergodox_ez/keymaps/ordinary')
-rw-r--r--keyboard/ergodox_ez/keymaps/ordinary/keymap.c192
-rw-r--r--keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.pngbin0 -> 95077 bytes
-rw-r--r--keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.txt27
-rw-r--r--keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.pngbin0 -> 108774 bytes
-rw-r--r--keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.txt27
-rw-r--r--keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.pngbin0 -> 93001 bytes
-rw-r--r--keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.txt27
-rw-r--r--keyboard/ergodox_ez/keymaps/ordinary/ordinary.hex1119
-rw-r--r--keyboard/ergodox_ez/keymaps/ordinary/readme.md9
9 files changed, 1401 insertions, 0 deletions
diff --git a/keyboard/ergodox_ez/keymaps/ordinary/keymap.c b/keyboard/ergodox_ez/keymaps/ordinary/keymap.c
new file mode 100644
index 0000000000..4dd6d883ca
--- /dev/null
+++ b/keyboard/ergodox_ez/keymaps/ordinary/keymap.c
@@ -0,0 +1,192 @@
+#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
+
+/*
+ * Ordinary Ergodox EZ keyboard layout, v2
+ * modifications from default by Nicholas Keene ergodoxez@nicholaskeene.com
+ * Details: http://nicholas.rinard.us/2016/03/ergodox-ez-layout.html
+ */
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* Keymap 0: Basic layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | Grv | 1 | 2 | 3 | 4 | 5 | ESC | | - | 6 | 7 | 8 | 9 | 0 | = |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | MDIA \ |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | SYMB | A | S | D | F | G |------| |------| H | J | K | L | ; | SYMB ' |
+ * |--------+------+------+------+------+------|Shift | | Tab |------+------+------+------+------+--------|
+ * | LShift | Z | X | C | V | B | -Tab | | | N | M | , | . | / | RShift |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * |LCtrl | Meh |Hyper | LAlt | LGui | | RGui | RAlt | Hyper| Meh |RCtrl |
+ * `----------------------------------' `----------------------------------'
+ * ,---------------. ,---------------.
+ * | Home | End | | Left | Right |
+ * ,------|--------|------| |------+--------+------.
+ * | | | PgUp | | Up | | |
+ * |Backsp| Del |------| |------| Enter | Space|
+ * | | | PgDn | | Down | | |;
+ * `----------------------' `----------------------'
+ */
+// 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, KC_ESC,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC,
+ MO(SYMB), KC_A, KC_S, KC_D, KC_F, KC_G,
+ KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, LSFT(KC_TAB),
+ KC_LCTL, MEH_T(KC_NO),ALL_T(KC_NO),KC_LALT,KC_LGUI,
+ KC_HOME, KC_END,
+ KC_PGUP,
+ KC_BSPC, KC_DEL, KC_PGDN,
+
+ // right hand
+ KC_MINS, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL,
+ KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, LT(MDIA, KC_BSLS),
+ KC_H, KC_J, KC_K, KC_L, KC_SCLN, LT(SYMB, KC_QUOT),
+ KC_TAB, KC_N, KC_M, KC_COMM, KC_DOT, CTL_T(KC_SLSH),KC_RSFT,
+ KC_RGUI, KC_RALT, ALL_T(KC_NO),MEH_T(KC_NO), KC_RCTL,
+ KC_LEFT, KC_RGHT,
+ KC_UP,
+ KC_DOWN, KC_ENT, KC_SPC
+ ),
+/* Keymap 1: Symbol Layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | Esc | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | MDIA | ! | @ | { | } | & | < | | > | | | 7 | 8 | 9 | / | F12 |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | # | $ | ( | ) | ` |------| |------| / | 4 | 5 | 6 | * | |
+ * |--------+------+------+------+------+------| Tab | | Shift|------+------+------+------+------+--------|
+ * | | % | ^ | [ | ] | ~ | | | -Tab| \ | 1 | 2 | 3 | - | CAPS |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | | | | 0 | . | = | + | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | Left | Right| | Home | End |
+ * ,------|------|------| |------+------+------.
+ * | | | Up | | PgUp | | |
+ * |Space |Enter |------| |------|BackSp| Del |
+ * | | | Down | | PgDn | | |
+ * `--------------------' `--------------------'
+ */
+// SYMBOLS
+[SYMB] = KEYMAP(
+ // left hand
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS,
+ MO(MDIA), KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_AMPR,LSFT(KC_COMM),
+ 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_TAB,
+ KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ KC_LEFT,KC_RGHT,
+ KC_UP,
+ KC_SPC,KC_ENT,KC_DOWN,
+ // right hand
+ KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
+ LSFT(KC_DOT), KC_PIPE, KC_P7, KC_P8, KC_P9, KC_PSLS, KC_F12,
+ KC_SLSH, KC_P4, KC_P5, KC_P6, KC_PAST, KC_TRNS,
+ LSFT(KC_TAB), KC_BSLS, KC_P1, KC_P2, KC_P3, KC_PMNS, KC_CAPS,
+ KC_P0, KC_DOT, KC_PEQL, KC_PPLS, KC_PENT,
+ KC_HOME, KC_END,
+ KC_PGUP,
+ KC_PGDN, KC_BSPC, KC_DEL
+),
+/* Keymap 2: Media and mouse keys
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | Esc |ShutDn| Sleep| Mute |Vol Dn|Vol Up| | | | |PrtSc | PgUp |MyComp| Mail | |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | | | MsUp |ScrlUp| |ScrlUp| |ScrlUp| |ScrlUp| Up | | | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | |MsLeft|MsDown|MsRght| |------| |------| Home | Left | Down | Right| End | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | | |MsDown|ScrlDn| |ScrlDn| |ScrlDn| |ScrlDn| Down | | | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | Lclk | Rclk | | | PgDn | | | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | Stop |Refrsh| | Prev | Next |
+ * ,------|------|------| |------+------+------.
+ * |Brwser|Brwser|Search| |VolUp | | |
+ * |Back | Fwd |------| |------| Stop | Play-|
+ * | | | Home | |VolDn | | Pause|
+ * `--------------------' `--------------------'
+ */
+// MEDIA AND MOUSE
+[MDIA] = KEYMAP(
+ KC_ESC, KC_PWR, KC_SLEP, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS,
+ MO(MDIA), KC_TRNS, KC_TRNS, KC_MS_U, KC_WH_U, KC_TRNS, KC_WH_U,
+ KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_D, KC_TRNS, KC_TRNS, KC_WH_D,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_WH_D,
+ KC_WSTP, KC_WREF,
+ KC_WSCH,
+ KC_WBAK, KC_TRNS, KC_WHOM,
+ // right hand
+ KC_TRNS, KC_TRNS, KC_PSCR, KC_PGUP, KC_MYCM, KC_MAIL, KC_TRNS,
+ KC_WH_U, KC_TRNS, KC_WH_U, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_HOME, KC_LEFT, KC_DOWN, KC_RIGHT,KC_END, KC_TRNS,
+ KC_WH_D, KC_TRNS, KC_WH_D, KC_DOWN, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_PGDN, KC_TRNS,KC_TRNS, KC_TRNS,
+ KC_MPRV, KC_MNXT,
+ KC_VOLU,
+ KC_VOLD, KC_MSTP, KC_MPLY
+),
+};
+
+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/ordinary/ordinary-base.png b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.png
new file mode 100644
index 0000000000..b32b95533c
--- /dev/null
+++ b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.png
Binary files differ
diff --git a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.txt b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.txt
new file mode 100644
index 0000000000..727775ea2c
--- /dev/null
+++ b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.txt
@@ -0,0 +1,27 @@
+[{x:3.5},"#\n3",{x:10.5},"*\n8"],
+[{y:-0.875,x:2.5},"@\n2",{x:1},"$\n4",{x:8.5},"&\n7",{x:1},"(\n9"],
+[{y:-0.875,x:5.5},"%\n5",{c:"#ff4444"},"Esc",{x:4.5,c:"#cccccc"},"_\n\n\n\n\n\n-","^\n6"],
+[{y:-0.875,c:"#73ab6a",w:1.5},"~\n\n\n\n\n\n`",{c:"#cccccc"},"!\n1",{x:14.5},")\n0",{t:"#000000\n\n\n\n#0000ff",w:1.5},"+\n\n\n\n\n\n="],
+[{y:-0.375,x:3.5,t:"#000000"},"E",{x:10.5},"I"],
+[{y:-0.875,x:2.5},"W",{x:1},"R",{x:8.5},"U",{x:1},"O"],
+[{y:-0.875,x:5.5},"T",{h:1.5},"{\n\n\n\n\n\n[",{x:4.5,h:1.5},"}\n\n\n\n\n\n]","Y"],
+[{y:-0.875,c:"#73ab6a",w:1.5},"Tab",{c:"#cccccc"},"Q",{x:14.5},"P",{c:"#2277ff",fa:[0,0,0,1],w:1.5},"|\n\\\nMedia\nL2"],
+[{y:-0.375,x:3.5,c:"#cccccc"},"D",{x:10.5},"K"],
+[{y:-0.875,x:2.5},"S",{x:1},"F",{x:8.5},"J",{x:1},"L"],
+[{y:-0.875,x:5.5},"G",{x:6.5},"H"],
+[{y:-0.875,c:"#2277ff",w:1.5},"Symbols\n\n\nL1",{c:"#cccccc"},"A",{x:14.5},":\n;",{c:"#2277ff",w:1.5},"\"\n'\nSymbols\nL1"],
+[{y:-0.625,x:6.5,c:"#bfbf67",h:1.5},"< Tab\n\n\nShift Tab",{x:4.5,h:1.5},"Tab >\n\n\nTab"],
+[{y:-0.75,x:3.5,c:"#cccccc"},"C",{x:10.5},"<\n,"],
+[{y:-0.875,x:2.5},"X",{x:1},"V",{x:8.5},"M",{x:1},">\n."],
+[{y:-0.875,x:5.5},"B",{x:6.5},"N"],
+[{y:-0.875,c:"#2277ff",w:1.5},"Capitals\n\n\nShift",{c:"#cccccc"},"Z\n\nCtrl",{x:14.5},"?\n/\nCtrl",{c:"#2277ff",w:1.5},"\n\nCapitals\nShift"],
+[{y:-0.375,x:3.5,c:"#77aaff"},"Option\n\n\nLAlt",{x:10.5},"Option\n\n\nRAlt"],
+[{y:-0.875,x:2.5},"Hyper",{x:1},"Cmd\n\n\nSuper",{x:8.5},"Cmd\n\n\nSuper",{x:1},"Hyper"],
+[{y:-0.75,x:0.5},"Ctrl\n\n\nLCtrl","Meh",{x:14.5},"Meh","Ctrl\n\n\nRCtrl"],
+[{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#bfbf67"},"Home","End"],
+[{h:2},"< Del\n\n\nBackspace",{h:2},"Del >\n\n\nDelete","Page\n\n\n\n\n\nUp"],
+[{x:2},"Page\n\n\n\n\n\nDown"],
+[{r:-30,rx:13,y:-1,x:-3},"Left","Right"],
+[{x:-3},"Up",{h:2},"Enter",{h:2},"Space"],
+[{x:-3},"Down"]
+
diff --git a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.png b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.png
new file mode 100644
index 0000000000..89d15e4506
--- /dev/null
+++ b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.png
Binary files differ
diff --git a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.txt b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.txt
new file mode 100644
index 0000000000..4237f08201
--- /dev/null
+++ b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.txt
@@ -0,0 +1,27 @@
+[{x:3.5,c:"#9988bb"},"Vol\n\n\n\n\n\nMute",{x:10.5,c:"#ccffff"},"Page\n\n\n\n\n\nUp"],
+[{y:-0.875,x:2.5,c:"#9988bb"},"Sleep",{x:1},"Vol\n\n\n\n\n\nDown",{x:8.5},"Print\n\n\n\n\n\nScreen",{x:1},"Home\n\n\n\n\n\nDir"],
+[{y:-0.875,x:5.5},"Vol\n\n\n\n\n\nUp",{c:"#ff4444"},"Esc",{x:4.5,c:"#cccccc",a:7},"",""],
+[{y:-0.875,c:"#ff4444",a:4,w:1.5},"Esc",{c:"#9988bb"},"Shut\n\n\n\n\n\nDown",{x:14.5},"Email",{c:"#cccccc",a:7,w:1.5},""],
+[{y:-0.375,x:3.5,c:"#ccffff",a:4},"Mouse\n\n\n\n\n\nUp",{x:10.5},"Cursor\n\n\n\n\n\nUp"],
+[{y:-0.875,x:2.5,c:"#cccccc",a:7},"",{x:1,c:"#99ffff",a:4},"Scroll\n\n\n\n\n\nUp",{x:8.5},"Scroll\n\n\n\n\n\nUp",{x:1,c:"#cccccc",a:7},""],
+[{y:-0.875,x:5.5},"",{c:"#99ffff",a:4,h:1.5},"Scroll\n\n\n\n\n\nUp",{x:4.5,h:1.5},"Scroll\n\n\n\n\n\nUp",{c:"#cccccc",a:7},""],
+[{y:-0.875,c:"#000000",t:"#ff0000",a:4,fa:[0,0,0,1],w:1.5},"Media\n\n\nL2",{c:"#cccccc",t:"#000000",a:7},"",{x:14.5},"",{c:"#000000",t:"#ff0000",a:4,w:1.5},"\n\nMedia\nL2"],
+[{y:-0.375,x:3.5,c:"#ccffff",t:"#000000"},"Mouse\n\n\n\n\n\nDown",{x:10.5},"Cursor\n\n\n\n\n\nDown"],
+[{y:-0.875,x:2.5},"Mouse\n\n\n\n\n\nLeft",{x:1},"Mouse\n\n\n\n\n\nRight",{x:8.5},"Cursor\n\n\n\n\n\nLeft",{x:1},"Cursor\n\n\n\n\n\nRight"],
+[{y:-0.875,x:5.5,c:"#cccccc",a:7},"",{x:6.5,c:"#ccffff",a:4},"Home"],
+[{y:-0.875,c:"#000000",t:"#ff0000",w:1.5},"Symbols\n\n\nL1",{c:"#cccccc",t:"#000000",a:7},"",{x:14.5,c:"#ccffff",a:4},"End",{c:"#cccccc",a:7,w:1.5},""],
+[{y:-0.625,x:6.5,c:"#99ffff",a:4,h:1.5},"Scroll\n\n\n\n\n\nDown",{x:4.5,h:1.5},"Scroll\n\n\n\n\n\nDown"],
+[{y:-0.75,x:3.5,c:"#ccffff"},"Mouse\n\n\n\n\n\nDown",{x:10.5},"Cursor\n\n\n\n\n\nDown"],
+[{y:-0.875,x:2.5,c:"#cccccc",a:7},"",{x:1,c:"#99ffff",a:4},"Scroll\n\n\n\n\n\nDown",{x:8.5},"Scroll\n\n\n\n\n\nDown",{x:1,c:"#cccccc",a:7},""],
+[{y:-0.875,x:5.5},"",{x:6.5},""],
+[{y:-0.875,w:1.5},"","",{x:14.5},"",{w:1.5},""],
+[{y:-0.375,x:3.5,c:"#ccffff",a:4},"Left\n\n\n\n\n\nClick",{x:10.5},"Page\n\n\n\n\n\nDown"],
+[{y:-0.875,x:2.5,c:"#cccccc",a:7},"",{x:1,c:"#ccffff",a:4},"Right\n\n\n\n\n\nClick",{x:8.5,c:"#cccccc",a:7},"",{x:1},""],
+[{y:-0.75,x:0.5},"","",{x:14.5},"",""],
+[{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#bbaacc",a:4},"Stop\n\n\nBrowser","Reload\n\n\nBrowser"],
+[{h:2},"< Web\n\n\nBrowser",{h:2},"Web >\n\n\nBrowser","Search\n\n\nBrowser"],
+[{x:2},"Home\n\n\nBrowser"],
+[{r:-30,rx:13,y:-1,x:-3},"Prev\n\n\nAudio\n\n\nTrack","Next\n\n\nAudio\n\n\nTrack"],
+[{x:-3,c:"#9988bb"},"Vol\n\n\n\n\n\nUp",{c:"#bbaacc",h:2},"Stop\n\n\nAudio",{h:2},"Play\n\n\nAudio\n\n\nPause"],
+[{x:-3,c:"#9988bb"},"Vol\n\n\n\n\n\nDown"]
+
diff --git a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.png b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.png
new file mode 100644
index 0000000000..7522af3330
--- /dev/null
+++ b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.png
Binary files differ
diff --git a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.txt b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.txt
new file mode 100644
index 0000000000..dda15f71be
--- /dev/null
+++ b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.txt
@@ -0,0 +1,27 @@
+[{x:3.5,c:"#a3a3a3"},"F3",{x:10.5},"F8"],
+[{y:-0.875,x:2.5},"F2",{x:1},"F4",{x:8.5},"F7",{x:1},"F9"],
+[{y:-0.875,x:5.5},"F5",{c:"#ff4444"},"Esc",{x:4.5,c:"#cccccc",a:7},"",{c:"#a3a3a3",a:4},"F6"],
+[{y:-0.875,c:"#ff4444",w:1.5},"Esc",{c:"#a3a3a3"},"F1",{x:14.5},"F10",{w:1.5},"F11"],
+[{y:-0.375,x:3.5,c:"#bbc6ed"},"{",{x:10.5,c:"#bed4ba"},"8"],
+[{y:-0.875,x:2.5,c:"#bbc6ed"},"@",{x:1},"}",{x:8.5,c:"#bed4ba"},"7",{x:1},"9"],
+[{y:-0.875,x:5.5,c:"#bbc6ed"},"&",{h:1.5},"<",{x:4.5,h:1.5},">","|"],
+[{y:-0.875,c:"#2277ff",fa:[0,0,0,1],w:1.5},"Media\n\n\nL2",{c:"#bbc6ed"},"!",{x:14.5,c:"#bed4ba"},"/",{c:"#a3a3a3",w:1.5},"F12"],
+[{y:-0.375,x:3.5,c:"#bbc6ed"},"(",{x:10.5,c:"#bed4ba"},"5"],
+[{y:-0.875,x:2.5,c:"#bbc6ed"},"$",{x:1},")",{x:8.5,c:"#bed4ba"},"4",{x:1},"6"],
+[{y:-0.875,x:5.5,c:"#bbc6ed"},"`",{x:6.5},"/"],
+[{y:-0.875,c:"#000000",t:"#ff0000",w:1.5},"Symbols\n\n\nL1",{c:"#bbc6ed",t:"#000000"},"#",{x:14.5,c:"#bed4ba"},"*",{c:"#000000",t:"#ff0000",w:1.5},"\n\nSymbols\nL1"],
+[{y:-0.625,x:6.5,c:"#bfbf67",t:"#000000",h:1.5},"Tab >\n\n\nTab",{x:4.5,h:1.5},"< Tab\n\n\nShift Tab"],
+[{y:-0.75,x:3.5,c:"#bbc6ed"},"[",{x:10.5,c:"#bed4ba"},"2"],
+[{y:-0.875,x:2.5,c:"#bbc6ed"},"^",{x:1},"]",{x:8.5,c:"#bed4ba"},"1",{x:1},"3"],
+[{y:-0.875,x:5.5,c:"#bbc6ed"},"~",{x:6.5},"\\"],
+[{y:-0.875,c:"#cccccc",a:7,w:1.5},"",{c:"#bbc6ed",a:4},"%",{x:14.5,c:"#bed4ba"},"-",{c:"#2277ff",w:1.5},"\n\nCaps Lock"],
+[{y:-0.375,x:3.5,c:"#cccccc",a:7},"",{x:10.5,c:"#bed4ba",a:4},"."],
+[{y:-0.875,x:2.5,c:"#cccccc",a:7},"",{x:1},"",{x:8.5,c:"#bed4ba",a:4},"0",{x:1},"="],
+[{y:-0.75,x:0.5,c:"#cccccc",a:7},"","",{x:14.5,c:"#bed4ba",a:4},"+","Enter"],
+[{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#bfbf67"},"Left","Right"],
+[{h:2},"Space",{h:2},"Enter","Up"],
+[{x:2},"Down"],
+[{r:-30,rx:13,y:-1,x:-3},"Home","End"],
+[{x:-3},"Page\n\n\n\n\n\nUp",{h:2},"< Del\n\n\nBackspace",{h:2},"Del >\n\n\nDelete"],
+[{x:-3},"Page\n\n\n\n\n\nDown"]
+
diff --git a/keyboard/ergodox_ez/keymaps/ordinary/ordinary.hex b/keyboard/ergodox_ez/keymaps/ordinary/ordinary.hex
new file mode 100644
index 0000000000..1a08598465
--- /dev/null
+++ b/keyboard/ergodox_ez/keymaps/ordinary/ordinary.hex
@@ -0,0 +1,1119 @@
+:100000000C9465020C94A9020C94A9020C94A90208
+:100010000C94A9020C94A9020C94A9020C94A902B4
+:100020000C94A9020C94A9020C94B00B0C94820CB1
+:100030000C94A9020C94A9020C94A9020C94A90294
+:100040000C94A9020C940B210C94A9020C94A90203
+:100050000C94A9020C94AD1A0C94A9020C94A90258
+:100060000C94A9020C94A9020C94A9020C94A90264
+:100070000C94A9020C94A9020C94A9020C94A90254
+:100080000C94A9020C94A9020C94A9020C94A90244
+:100090000C94A9020C94A9020C94A9020C94A90234
+:1000A0000C94A9020C94A9020C94A902E70C090D66
+:1000B000F40D090DF40D4B0D6E0DF40DC30DD60DA1
+:1000C000C310C310F110F11033116F116F136F13C0
+:1000D00087116F137E127E1249136F136F135D1316
+:1000E0000000F0A135002B000152E100E00000000B
+:1000F0001E00140004001D7100774E001F001A003E
+:1001000016001B00007F4C002000080007000600BE
+:10011000E2002A002100150009001900E3004B004D
+:10012000220017000A00050000004A0029002F00E5
+:1001300000002B0200004D002D00300000002B00BD
+:100140000000500023001C000B00110000004F00B5
+:10015000240018000D001000E700520025000C00DC
+:100160000E003600E6002C00260012000F003700BB
+:10017000007F2800270013003300387100775100FA
+:100180002E0031823481E500E40000002900025293
+:1001900001000100010000003A001E0220022202BC
+:1001A000010051003B001F02210223020100280030
+:1001B0003C002F0226022F0001002C003D003002DF
+:1001C00027023000010052003E00240235003502B3
+:1001D000000050000100360200002B0000004F001C
+:1001E0000100370200002B0200004A003F003102EC
+:1001F0003800310000004D0040005F005C005900F5
+:1002000062004B00410060005D005A0037004C0066
+:10021000420061005E005B0067002A00430054005A
+:100220005500560057004E004400450001003900BB
+:1002300058000000290002520100010001000000E6
+:10024000A5000100010001000100B500A6000100A9
+:10025000F200010001000100A800F000F100F1002F
+:10026000F400B600AA00F900F3000100FA00B4009F
+:10027000A9000100010001000000B8000100F90020
+:100280000000FA000000B9000100F9000000FA00C7
+:100290000000AC00010001004A0001000000AB00BA
+:1002A0004600F9005000FA000100A9004B0052007E
+:1002B000510051004E00AE00B30001004F0001009C
+:1002C0000100AD00B10001004D0001000100AA00D5
+:1002D00001000100010001000100000016034500BB
+:1002E000720067006F0044006F0078002000450036
+:1002F0005A00000016034500720067006F004400BA
+:100300006F007800200045005A0000000403090433
+:1003100009026D00040100A0FA09040000010301B4
+:100320000100092111010001223F00070581030896
+:10033000000A090401000103010200092111010062
+:1003400001224D000705820308000A09040200018A
+:100350000300000009211101000122360007058376
+:100360000308000A09040300010300000009211129
+:100370000100012239000705840310000112011059
+:100380000100000008EDFE07130100010200010555
+:10039000010906A101050719E029E71500250195C6
+:1003A0000875018102050819012905950575019156
+:1003B000029501750391010507190029771500259C
+:1003C00001957875018102C005010980A1018502AE
+:1003D00016010026B7001A01002AB7007510950112
+:1003E0008100C0050C0901A1018503160100269CAE
+:1003F000021A01002A9C02751095018100C00501B6
+:100400000902A1010901A100050919012905150029
+:10041000250195057501810295017503810105018D
+:10042000093009311581257F950275088106093843
+:100430001581257F950175088106050C0A3802157E
+:1004400081257F950175088106C0C005010906A1B7
+:1004500001050719E029E7150025019508750181B7
+:100460000295017508810105081901290595057591
+:100470000191029501750391010507190029FF15E6
+:100480000025FF950675088100C0000000000000EF
+:100490000000000000010204060A0F17202C3A4A4F
+:1004A0005D71879DB3C7DAE9F5FCFFFCF5E9DAC7B2
+:1004B000B39D87715D4A3A2C20170F0A060402018A
+:1004C0000000000000000000000011241FBECFEF5C
+:1004D000DAE0DEBFCDBF04B603FE24C08091EE019A
+:1004E0009091EF01A091F001B091F1018730904B14
+:1004F000A740B04BB9F41092EE011092EF011092A8
+:10050000F0011092F10114BE84B7877F84BF88E1A7
+:100510000FB6F89480936000109260000FBEE0E088
+:10052000FFE3099511E0A0E0B1E0EAE9F5E402C0DB
+:1005300005900D92A433B107D9F721E0A4E3B1E00F
+:1005400001C01D92AE3EB207E1F70E94F6080C947E
+:10055000CB220C94000061110BC0FC018281882326
+:1005600021F085EE0E94570F03C085EE0E941F10F8
+:1005700080E090E0089508956091B1017091B2011A
+:100580008091B3019091B4010E94D91956985E9858
+:1005900025982D9826982E9827982F98813019F015
+:1005A000823021F00895259A2D9A0895269A2E9A40
+:1005B00008950C94BC0256985E9825982D9826981C
+:1005C0002E9827982F988FEF90E090938900809332
+:1005D000880090938B0080938A0090938D00809385
+:1005E0008C00259A2D9A2FEF80E792E021508040D1
+:1005F0009040E1F700C00000269A2E9A2FEF80E786
+:1006000092E0215080409040E1F700C00000279A1E
+:100610002F9A2FEF80E792E0215080409040E1F741
+:1006200000C0000025982D982FEF80E792E0215020
+:1006300080409040E1F700C0000026982E982FEFF0
+:1006400080E792E0215080409040E1F700C0000038
+:1006500027982F9856985E9825982D9826982E982A
+:1006600027982F98089589EA8093800089E08093E5
+:10067000810024982C983F988AB18F748AB96E981B
+:10068000479A8BB1806B8BB9769A0E94DB020C94EF
+:10069000BB0280E2809300018091340181110EC081
+:1006A0000E94980381E0809334012FEF83ED90E363
+:1006B000215080409040E1F700C0000080E40E949B
+:1006C0009E038093000181112EC00E94C803809375
+:1006D0000001811128C00E94C8038093000181118C
+:1006E00022C08FE30E94C8038093000181111BC0C8
+:1006F0000E94C00380E40E949E0380930001811148
+:1007000012C08CE00E94C8038093000181110BC0CD
+:100710000E94C80380930001811105C08FE30E94ED
+:10072000C803809300010E94C003809100010895D6
+:100730001092B9008AE08093B800089594EA9093EB
+:10074000BC009091BC0097FFFCCF9091B900987FBE
+:10075000983021F0903111F081E008958093BB0032
+:1007600084E88093BC008091BC0087FFFCCF80911F
+:10077000B900887F883111F0803471F780E00895E6
+:1007800084E98093BC008091BC0084FDFCCF089577
+:100790008093BB0084E88093BC008091BC0087FFFD
+:1007A000FCCF9091B900987F81E0983209F480E005
+:1007B000089584E88093BC008091BC0087FFFCCF43
+:1007C0008091BB00089580910001811115C080E4E3
+:1007D0000E949E038093000181110CC082E10E945F
+:1007E000C80380930001811105C08FEF0E94C803E8
+:1007F000809300010E94C00384B1807F84B985B1D9
+:10080000807F85B98AB1837F8AB98BB1837F8BB9A9
+:100810003E98469808950E944903809300010E94E3
+:10082000E30380B38C7080BB81B3836F81BBE4E44E
+:10083000F1E0A6E3B1E011921D9281E0E235F80704
+:10084000D1F70C943303BF92CF92DF92EF92FF92D5
+:100850000F931F93CF93DF9380910001882379F04A
+:10086000809135018F5F80933501811108C00E940E
+:10087000490380930001811102C00E94DB0206E35C
+:1008800011E0C0E0D0E0DD24D39482E0C82EEE2455
+:10089000E394F12CC73000F580910001811162C012
+:1008A00080E40E949E0380930001811112C082E1C6
+:1008B0000E94C8038093000181110BC0C7010C2E58
+:1008C00001C0880F0A94EAF780950E94C8038093BC
+:1008D00000010E94C00346C0CA30A1F028F4C8300D
+:1008E00059F0C93061F005C0CC3089F070F0CD30DE
+:1008F00089F0209A289810C0219A29980DC0229A30
+:100900002A980AC0239A2B9807C0529A01C0539A7A
+:100910005B9802C03E9A4698E0EAEA95F1F78FB1FB
+:1009200079995AC092E081708D25892B7C9B02C0F9
+:1009300090E001C094E0892B7D9B02C090E001C053
+:1009400098E0892B7E9B02C090E001C090E1892B4A
+:100950009FB19095991F9927991F9295990F907E15
+:10096000892B0FC08091000181114BC080E40E944F
+:100970009E0380930001882389F1B12C0E94C0035B
+:100980008B2DF8019081981719F08083C092010196
+:100990000E94E30321960F5F1F4FCE30D10509F06F
+:1009A00079CF80910101882371F1815080930101F9
+:1009B000882339F08FE99FE00197F1F700C000002C
+:1009C00022C0A4E4B1E0E6E3F1E081918D9391E0EF
+:1009D000E434F907D1F717C090E0A5CF83E10E9476
+:1009E000C803809300018111C8CF81E40E949E0357
+:1009F000809300018111C1CF0E94D903B82EB09419
+:100A0000BDCF80E0BECF0E94D90281E0DF91CF91BF
+:100A10001F910F91FF90EF90DF90CF90BF900895BE
+:100A2000E82FF0E0EC5BFE4F8081089508958B3B4A
+:100A3000910578F4883A910540F5853A9105D0F40E
+:100A40008430910508F0B1C08130910509F4ADC042
+:100A50006BC0803E910508F467C0883E910508F49C
+:100A6000A4C09C01205F31092031310508F05CC031
+:100A700090650895853A910509F459C0863A910523
+:100A800009F458C083E890E40895883A910509F480
+:100A900054C0893A910509F453C08A3A910509F482
+:100AA00052C08B3A910509F451C08C3A910509F472
+:100AB00050C08D3A910509F44FC0803B910509F46F
+:100AC0004EC08E3A910509F44DC08F3A910509F454
+:100AD0004CC0813B910509F44BC0823B910509F460
+:100AE0004AC0833B910509F449C0843B910509F450
+:100AF00048C0853B910509F447C0863B910509F440
+:100B000046C0873B910509F445C0883B910509F42F
+:100B100044C0893B910509F443C08A3B910509F023
+:100B200042C08AE296E4089580E090E0089581E86A
+:100B300090E4089582E890E4089582EE94E40895A4
+:100B400089EE94E408958AEE94E4089585EB94E4A4
+:100B5000089586EB94E4089587EB94E408958CEC73
+:100B600094E408958DEC94E4089583E895E4089561
+:100B70008AE895E4089582E995E4089584E995E486
+:100B8000089581E296E4089583E296E4089584E26C
+:100B900096E4089585E296E4089586E296E4089541
+:100BA00087E296E4089580E094E40895089596E03D
+:100BB000799FF001112494E5899FE00DF11D112426
+:100BC000E60FF11DEE0FFF1FEC51FF4F8591949141
+:100BD0000895880F991F805A9040FC018591949147
+:100BE0000895880F991F80529F4FFC018591949121
+:100BF000089526E0729FF001112444E5849FE00DE2
+:100C0000F11D1124E60FF11DEE0FFF1FEC51FF4FF8
+:100C100025913491C9019A9581159F4110F4C9011C
+:100C20000895C90190528115904128F4C9019F701F
+:100C30000E94F1050895C90190538115904120F457
+:100C4000C9019927906C0895211580E5380769F44A
+:100C50000E9490139FEF24E34CE0915020404040CD
+:100C6000E1F700C000000C94D21A213080E538076B
+:100C700031F48091CC0181608093CC010895C90149
+:100C800090558115904108F050C0832F99278F709F
+:100C9000992781309105D9F4A9014370552702C0E5
+:100CA000880F991F4A95E2F79C68A90164E0440FF8
+:100CB000551F6A95E1F744275370842B952B73E0F9
+:100CC000220F331F7A95E1F7207633271DC082303B
+:100CD000910529F4922F8827816F906A08958330B7
+:100CE0009105A9F4A9014370552781E090E002C065
+:100CF000880F991F4A95E2F79C6843E0220F331F43
+:100D00004A95E1F7207E3770822B932B0895049744
+:100D1000F1F4A9014370552781E090E002C0880FEB
+:100D2000991F4A95E2F79A68E8CFC9019057811553
+:100D3000904120F4C9019F7090620895C9019058B4
+:100D40008115904120F4C9019F70906A0895203E5A
+:100D50003105E0F4203C310558F52133310509F423
+:100D600070C048F42932310509F464C02A323105D3
+:100D700009F46EC074C029333105F1F02238310511
+:100D8000D9F02533310509F44EC069C0233E310541
+:100D900089F138F4203E3105C1F0223E3105E1F001
+:100DA0005EC0263E310569F1273E3105A9F157C0E5
+:100DB000C9010E94E90508958091DF0180FD02C00C
+:100DC00081FF4DC080EE90E04BC08091DF0180FF3D
+:100DD000F9CF89E390E044C08091DF0182FF0EC02B
+:100DE0008091DF0184FF03C080E090E039C083EE92
+:100DF00090E036C08091DF0182FFF2CF82EE90E07A
+:100E00002FC08091DF0183FF0BC08091DF0184FD43
+:100E1000EBCF87EE90E024C08091DF0183FFF5CF18
+:100E200086EE90E01DC08091DF0185FF07C089E25A
+:100E300090E016C08091DF0185FFF9CF85E390E057
+:100E40000FC08091DF0186FF07C08AE290E008C0F2
+:100E50008091DF0186FFF9CF81E390E001C0C901F5
+:100E60000E941705089508950C943307809162013C
+:100E70000895CF93DF9300D01F92CDB7DEB72091B6
+:100E8000E501243019F523E029839B838A8320938D
+:100E9000E9008FEF9091E800815095FD06C095ED37
+:100EA0009A95F1F700008111F5CF8091E80085FF58
+:100EB0000DC040E050E063E070E0CE0101960E947A
+:100EC000A3098091E8008E778093E8000F900F903F
+:100ED0000F90DF91CF910895CF93DF9300D01F92B1
+:100EE000CDB7DEB72091E501243021F522E029833A
+:100EF0009B838A8383E08093E9008FEF9091E800E1
+:100F0000815095FD06C095ED9A95F1F7000081118D
+:100F1000F5CF8091E80085FF0DC040E050E063E030
+:100F200070E0CE0101960E94A3098091E8008E77BF
+:100F30008093E8000F900F900F90DF91CF9108956C
+:100F40002091E5012430F1F422E02093E9002FEF15
+:100F50003091E800215035FD06C035ED3A95F1F7A6
+:100F600000002111F5CF2091E80025FF0BC040E0E3
+:100F700050E065E070E00E94A3098091E8008E7760
+:100F80008093E8000895CF93DF93EC018091E50111
+:100F9000843009F046C090910C019923D9F09091CA
+:100FA0000D019923B9F08093E9008FEF9091E8004B
+:100FB000815095FD06C095E19A95F1F700008111E9
+:100FC000F5CF8091E80085FF2CC040E050E060E163
+:100FD00070E017C081E08093E9008FEF9091E80006
+:100FE000815095FD06C095ED9A95F1F700008111AD
+:100FF000F5CF8091E80085FF14C040E050E068E044
+:1010000070E0CE010E94A3098091E8008E77809362
+:10101000E80080E1FE01A2E5B1E001900D928A9521
+:10102000E1F7DF91CF9108958091E401811109C02A
+:101030000E94350B0E94920B8091E20084608093A5
+:10104000E20008951092E401089508950C94F820A8
+:101050000E94691A0E94FE200E942F0E0C943407F1
+:1010600042E061EC81E00E94AF0A42E061EC82E084
+:101070000E94AF0A42E061EC83E00E94AF0A42E1C5
+:1010800061EC84E00C94AF0A8091E701833009F4AD
+:1010900055C030F4813071F0823009F48EC008956B
+:1010A0008A3009F47AC08B3009F460C0893009F0C5
+:1010B0009CC020C08091E601813A09F096C08091E1
+:1010C000E800877F8093E8008091EA019091EB012E
+:1010D000892B21F060E080E090E003C060E182E5D0
+:1010E00091E070E00E94EC098091E8008B7780939A
+:1010F000E80008958091E601813209F076C0809180
+:10110000EA019091EB01009719F0039709F06DC087
+:101110008091E800877F8093E8008091E80082FD5D
+:1011200005C08091E5018111F8CF5FC08091F10089
+:10113000809362018091E8008B7753C08091E60133
+:10114000813A09F052C08091EA019091EB01892B1C
+:1011500009F04BC08091E800877F8093E800809180
+:10116000E80080FFFCCF80910C0136C08091E60141
+:101170008132D9F58091EA019091EB01892BA9F593
+:101180008091E800877F8093E8000E94E40A8091C4
+:10119000E80180930C010C9490138091E601813258
+:1011A00021F58091E800877F8093E8000E94E40A9F
+:1011B0008091E9018093630108958091E601813A6D
+:1011C000A1F48091E800877F8093E8008091E80097
+:1011D00080FFFCCF809163018093F1008091E80053
+:1011E0008E778093E8000C94E40A089584B7877F93
+:1011F00084BF88E10FB6F89480936000109260007D
+:101200000FBE90E080E80FB6F89480936100909351
+:1012100061000FBE0E947E0E0E94350B0E94920B51
+:101220008091E20084608093E20078940E940D0E29
+:101230000E94800E82E091E00E942A0E0E94E62029
+:101240008091E501853069F40E942C1A8091E301B8
+:101250008823B1F30E94541A882391F30E948D09C8
+:10126000EFCF0E94860EECCF292F33272330310594
+:10127000A9F06CF42130310509F442C02230310567
+:1012800009F043C08DE690E020E133E042C0213216
+:101290003105C9F02232310519F137C09927813063
+:1012A000910541F08230910541F0892B71F5ECE018
+:1012B000F3E005C0E4EFF2E002C0ECEDF2E084916F
+:1012C00090E09F0126C0643000F5E62FF0E0EE0FBD
+:1012D000FF1FEE5DFE4F2081318189E090E019C053
+:1012E000643098F4E62FF0E0DF01AA0FBB1FA65E82
+:1012F000BE4F2D913C91EA5EFE4F808190E009C087
+:1013000082E190E02DE733E004C080E090E020E04F
+:1013100030E0FA0131832083089580E189BD82E1C4
+:1013200089BD09B400FEFDCF8091D8008F7D8093E8
+:10133000D8008091E00082608093E0008091E0001E
+:1013400081FDFCCF0895CF92DF92EF92FF920F9331
+:101350001F93CF93DF937C018B01EA010E94050B61
+:10136000811131C0209731F088819981081B190BB8
+:10137000E80EF91EC12CD12C0115110519F180912F
+:10138000E80085FD14C08091E8008E778093E80026
+:10139000209741F0888199818C0D9D1D99838883C8
+:1013A00085E011C00E94050B882331F30CC0F701C2
+:1013B00081917F018093F10001501109FFEFCF1A55
+:1013C000DF0ADACF80E0DF91CF911F910F91FF907C
+:1013D000EF90DF90CF9008952091EC013091ED01D6
+:1013E0002617370748F06115710539F42091E80098
+:1013F0002E772093E80001C0B901FC0120E06115BF
+:101400007105B9F18091E501882309F440C0853068
+:1014100009F43FC08091E80083FD3DC08091E80061
+:1014200082FF06C08091E80082FF26C080E0089518
+:101430008091E80080FFE3CF2091F3008091F200DB
+:1014400090E0922B6115710551F08830910538F4C8
+:1014500021912093F100615071090196F3CF21E0B1
+:10146000089709F020E08091E8008E778093E800EB
+:10147000C6CF2111C7CFD6CF8091E501882339F09F
+:10148000853039F08091E80083FFCCCF04C082E042
+:10149000089583E0089581E008952091EC01309152
+:1014A000ED012617370748F06115710539F42091D1
+:1014B000E8002E772093E80001C0B901FC0120E08C
+:1014C00061157105C1F18091E501882309F441C0DE
+:1014D000853009F440C08091E80083FD3EC08091D2
+:1014E000E80082FF06C08091E80082FF27C080E00C
+:1014F00008958091E80080FFE3CF2091F300809170
+:10150000F20090E0922B6115710559F08830910539
+:1015100040F424912093F1003196615071090196B5
+:10152000F2CF21E0089709F020E08091E8008E7763
+:101530008093E800C5CF2111C6CFD5CF8091E501BA
+:10154000882339F0853039F08091E80083FFCBCFD4
+:1015500004C082E0089583E0089581E00895982F03
+:10156000973058F59093E900981739F07091EC0096
+:101570002091ED005091F00003C0242F762F50E011
+:1015800021FF19C03091EB003E7F3093EB0030918A
+:10159000ED003D7F3093ED003091EB0031603093F2
+:1015A000EB007093EC002093ED005093F00020913D
+:1015B000EE0027FF07C09F5FD3CF8F708093E900B5
+:1015C00081E0089580E008958091E60187FD05C0DF
+:1015D0008091E80080FF0EC012C08091E80082FD7B
+:1015E00005C08091E5018111F8CF08958091E80050
+:1015F0008B7708C08091E5018111EACF0895809131
+:10160000E8008E778093E80008958091E40090913F
+:10161000E50045E62091EC0020FF21C02091E80084
+:1016200020FD21C02091E501222389F0253089F099
+:101630002091EB0025FD0FC02091E4003091E500E2
+:101640002817390739F3415041F0C901E3CF82E04F
+:10165000089583E0089581E0089584E0089520913D
+:10166000E80022FFDFCF80E008950E94A30B0E94D4
+:10167000AB0BE0EEF0E0808181608083E8EDF0E08C
+:1016800080818F77808319BCA7EDB0E08C918E7F2D
+:101690008C9380818F7E80831092E40108950F9354
+:1016A0001F93CF93DF930E94A30B0E94AB0BC8ED57
+:1016B000D0E088818F77888388818068888388815B
+:1016C0008F7D888319BC1092E5011092E101109280
+:1016D000E3011092E20100EE10E0F80180818B7FBF
+:1016E000808388818160888342E060E080E00E949E
+:1016F000AF0AE1EEF0E080818E7F8083E2EEF0E0E1
+:10170000808181608083808188608083F80180810E
+:101710008E7F8083888180618883DF91CF911F9144
+:101720000F910895E8EDF0E080818F7E8083E7EDF2
+:10173000F0E080818160808384E082BF81E08093DB
+:10174000E4010C944F0BE8EDF0E080818E7F808304
+:101750001092E20008951092DA001092E1000895CC
+:101760001F920F920FB60F9211242F933F934F9316
+:101770005F936F937F938F939F93AF93BF93EF93F9
+:10178000FF938091E10082FF0BC08091E20082FF15
+:1017900007C08091E1008B7F8093E1000E940C0ED6
+:1017A0008091DA0080FF1FC08091D80080FF1BC0AD
+:1017B0008091DA008E7F8093DA008091D90080FFDB
+:1017C0000DC080E189BD82E189BD09B400FEFDCF75
+:1017D00081E08093E5010E94140805C019BC1092B5
+:1017E000E5010E9422088091E10080FF19C08091EC
+:1017F000E20080FF15C08091E2008E7F8093E200BE
+:101800008091E20080618093E2008091D800806244
+:101810008093D80019BC85E08093E5010E942608DA
+:101820008091E10084FF30C08091E20084FF2CC0F1
+:1018300080E189BD82E189BD09B400FEFDCF8091C0
+:10184000D8008F7D8093D8008091E1008F7E8093B7
+:10185000E1008091E2008F7E8093E2008091E200BF
+:1018600081608093E2008091E101882311F084E09F
+:1018700007C08091E30087FF02C083E001C081E0E0
+:101880008093E5010E9428088091E10083FF29C030
+:101890008091E20083FF25C08091E100877F8093E3
+:1018A000E10082E08093E5011092E1018091E10086
+:1018B0008E7F8093E1008091E2008E7F8093E20032
+:1018C0008091E20080618093E20042E060E080E08D
+:1018D0000E94AF0A8091F00088608093F0000E941F
+:1018E0002508FF91EF91BF91AF919F918F917F91CB
+:1018F0006F915F914F913F912F910F900FBE0F907D
+:101900001F9018951F920F920FB60F9211242F93CC
+:101910003F934F935F936F937F938F939F93AF9377
+:10192000BF93CF93EF93FF93C091E900CF70809165
+:10193000EC001092E9008091F000877F8093F00026
+:1019400078940E94BE0C1092E9008091F0008860AB
+:101950008093F000C093E900FF91EF91CF91BF9188
+:10196000AF919F918F917F916F915F914F913F9137
+:101970002F910F900FBE0F901F9018951F93CF932C
+:10198000DF93CDB7DEB7AA970FB6F894DEBF0FBED0
+:10199000CDBFE6EEF1E08091F100819321E0EE3ED3
+:1019A000F207C9F70E9444088091E80083FF1CC138
+:1019B0002091E6013091E701832F90E08A30910574
+:1019C00008F012C1FC01EA5AFF4F0C948022203823
+:1019D00081F0223809F008C18091EA018F7080936C
+:1019E000E9008091EB0085FB882780F91092E900DF
+:1019F00006C08091E2019091E30191118260909183
+:101A0000E800977F9093E8008093F1001092F10036
+:101A1000C5C0822F8D7F09F0E7C0222319F0223044
+:101A200061F0E2C08091E801813009F0DDC033301F
+:101A300009F080E08093E30128C08091E8018111E2
+:101A400024C02091EA012F7009F4CEC