summaryrefslogtreecommitdiff
path: root/keyboard/ergodox_ez/keymaps/ordinary
diff options
context:
space:
mode:
authorChristopher Browne <cbbrowne@ca.afilias.info>2016-05-24 12:34:08 -0400
committerChristopher Browne <cbbrowne@ca.afilias.info>2016-05-24 12:34:08 -0400
commit48871b9b6b99201abc381ee27cfd94e211ca131a (patch)
treeed5fe45f9f38e364b53a1bac35084782ec6aaf2c /keyboard/ergodox_ez/keymaps/ordinary
parentc2a3df31239249b2fb65e2552376daac0e49ae61 (diff)
parent287eb7ad148abc8fe3fb014218d71e205fd9131d (diff)
downloadqmk_firmware-48871b9b6b99201abc381ee27cfd94e211ca131a.tar.gz
qmk_firmware-48871b9b6b99201abc381ee27cfd94e211ca131a.zip
Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware
Diffstat (limited to 'keyboard/ergodox_ez/keymaps/ordinary')
-rw-r--r--keyboard/ergodox_ez/keymaps/ordinary/keymap.c706
-rw-r--r--keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.pngbin99031 -> 99605 bytes
-rw-r--r--keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.txt4
-rw-r--r--keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.pngbin121014 -> 124144 bytes
-rw-r--r--keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.txt20
-rw-r--r--keyboard/ergodox_ez/keymaps/ordinary/ordinary-special.pngbin0 -> 63065 bytes
-rw-r--r--keyboard/ergodox_ez/keymaps/ordinary/ordinary-special.txt27
-rw-r--r--keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.pngbin103401 -> 103735 bytes
-rw-r--r--keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.txt8
-rw-r--r--keyboard/ergodox_ez/keymaps/ordinary/ordinary.hex2380
-rw-r--r--keyboard/ergodox_ez/keymaps/ordinary/readme.md37
11 files changed, 1611 insertions, 1571 deletions
diff --git a/keyboard/ergodox_ez/keymaps/ordinary/keymap.c b/keyboard/ergodox_ez/keymaps/ordinary/keymap.c
index efd67addd5..18939b1923 100644
--- a/keyboard/ergodox_ez/keymaps/ordinary/keymap.c
+++ b/keyboard/ergodox_ez/keymaps/ordinary/keymap.c
@@ -4,380 +4,175 @@
#include "action_layer.h"
#include "action_util.h"
-#define BASE 0 // default layer
-#define LOCK 1 // shift-lock layer
-#define SYMB_SH 2 // symbols shift layer
-#define SYMB_LK 3 // symbols lock layer
-#define SYMB_UN 4 // symbols unlock layer
-#define MDIA_SH 5 // media shift layer
-#define MDIA_LK 6 // media lock layer
-#define MDIA_UN 7 // media unlock layer
-#define UNLOCK 8 // clear to base layer
+#define BASE 0 // default layer
+#define SYMB 1 // symbols layer
+#define MDIA 2 // media layer
+#define SPEC 3 // special layer
+
+#define LCaps 10 // left caps-shift key
+#define LSymb 11 // left symbol-shift key
+#define LMdia 12 // left media-shift key
+#define LSpec 13 // left special-shift key
+#define RCaps 14 // right caps-shift key
+#define RSymb 15 // right symbol-shift key
+#define RMdia 16 // right media-shift key
+#define RSpec 17 // right special-shift key
+
+#define MUL 20 // mouse up left
+#define MUR 21 // mouse up right
+#define MDL 22 // mouse down left
+#define MDR 23 // mouse down right
/*
- * The Ordinary Layout for the Ergodox EZ keyboard, v3.1
- * modifications from default by Nicholas Keene ergodoxez@nicholaskeene.com
+ * The Ordinary Layout for the Ergodox EZ keyboard, v4
+ *
+ * Modifications from default by Nicholas Keene ergodoxez@nicholaskeene.com
+ *
+ * No rights reserved. This software is in the public domain.
+ * Credit me if you are friendly but if you're a jerk don't bother.
+ *
* Details: readme.md
* https://github.com/nrrkeene/qmk_firmware/tree/master/keyboard/ergodox_ez/keymaps/ordinary
*/
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/* Keymap 0: Base Layer
- *
- * ,-----------------------------------------------------. ,-----------------------------------------------------.
- * | LOCK `~ | 1 | 2 | 3 | 4 | 5 | ESC | | - | 6 | 7 | 8 | 9 | 0 | = LOCK |
- * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------|
- * | Media Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | \ Media |
- * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------|
- * | Symbol | A | S | D | F | G |------| |------| H | J | K | L | ; | ' Symbol |
- * |-----------+------+------+------+------+------|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 | | |
- * `--------------------' `--------------------'
- */
-[BASE] = KEYMAP(
-// left hand
- LT(LOCK, KC_GRV) ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,KC_ESC
-,LT(MDIA_SH, KC_TAB),KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_LBRC
-,MO(SYMB_SH) ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G
-,KC_LSFT ,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 ,LT(LOCK, KC_EQL)
- ,KC_RBRC ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,LT(MDIA_SH, KC_BSLS)
- ,KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,LT(SYMB_SH, KC_QUOT)
- ,KC_TAB ,KC_N ,KC_M ,KC_COMM,KC_DOT ,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: Layer Lock Keys
- *
- * ,-------------------------------------------------------. ,-------------------------------------------------------.
- * | | Esc | | | | | | | | | | | | Bspc | |
- * |-------------+------+------+------+------+-------------| |------+------+------+------+------+------+-------------|
- * | Media LOCK | | | | | | | | | | | | | | Media LOCK |
- * |-------------+------+------+------+------+------| | | |------+------+------+------+------+-------------|
- * | Symbol LOCK | | | | | |------| |------| | | | | | Symbol LOCK |
- * |-------------+------+------+------+------+------| | | |------+------+------+------+------+-------------|
- * | Caps LOCK | | | | | | | | | | | | | | Caps LOCK |
- * `-------------+------+------+------+------+-------------' `-------------+------+------+------+------+-------------'
- * | | | | | | | | | | | |
- * `------------------------------------' `------------------------------------'
- * ,-------------. ,-------------.
- * | | | | | |
- * ,------|------|------| |------+------+------.
- * | | | | | | | |
- * | | |------| |------| | |
- * | | | | | | | |
- * `--------------------' `--------------------'
- */
-[LOCK] = KEYMAP(
-// left hand
- KC_TRNS ,KC_ESC ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
-,KC_FN3 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
-,KC_FN2 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
-,KC_CAPS ,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_BSPC ,KC_TRNS
- ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_FN3
- ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_FN2
- ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_CAPS
- ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
-
- ,KC_TRNS ,KC_TRNS
- ,KC_TRNS
- ,KC_TRNS ,KC_TRNS ,KC_TRNS
- ),
-
-/* Keymap 2: Symbol Shift Layer
- *
- * ,-----------------------------------------------------. ,-----------------------------------------------------.
- * | LOCK | F1 | F2 | F3 | F4 | F5 | | | - | F6 | F7 | F8 | F9 | F10 | LOCK |
- * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------|
- * | Media | ! | @ | { | } | & | < | | > | | | 7 | 8 | 9 | / | Media |
- * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------|
- * | Symbol | # | $ | ( | ) | ` |------| |------| / | 4 | 5 | 6 | * | Symbol |
- * |-----------+------+------+------+------+------| Tab | | Shift|------+------+------+------+------+-----------|
- * | LShift | % | ^ | [ | ] | ~ | | | -Tab| \ | 1 | 2 | 3 | - | RShift |
- * `-----------+------+------+------+------+-------------' `------------+------+------+------+------+------------'
- * | | | | | | | 0 | . | = | + | Entr |
- * `----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * | Left | Right| | Home | End |
- * ,------|------|------| |------+------+------.
- * | | | Up | | PgUp | | |
- * |Space |Enter |------| |------|BackSp| Del |
- * | | | Down | | PgDn | | |
- * `--------------------' `--------------------'
- */
-[SYMB_SH] = KEYMAP(
-// left hand
- KC_FN2 ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_TRNS
-,MO(MDIA_SH) ,KC_EXLM ,KC_AT ,KC_LCBR ,KC_RCBR ,KC_AMPR ,LSFT(KC_COMM)
-,MO(SYMB_SH) ,KC_HASH ,KC_DLR ,KC_LPRN ,KC_RPRN ,KC_GRV
-,KC_LSFT ,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_MINS ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_FN2
- ,LSFT(KC_DOT),KC_PIPE ,KC_7 ,KC_8 ,KC_9 ,KC_SLSH ,MO(MDIA_SH)
- ,KC_SLSH ,KC_4 ,KC_5 ,KC_6 ,KC_ASTR ,MO(SYMB_SH)
- ,LSFT(KC_TAB),KC_BSLS ,KC_1 ,KC_2 ,KC_3 ,KC_MINS ,KC_RSFT
- ,GUI_T(KC_0),ALT_T(KC_DOT),ALL_T(KC_EQL),MEH_T(KC_PLUS),CTL_T(KC_ENT)
- ,KC_HOME ,KC_END
- ,KC_PGUP
- ,KC_PGDN ,KC_BSPC ,KC_DEL
-),
-
-/* Keymap 3: Symbol Lock Layer
- *
- * ,-----------------------------------------------------. ,-----------------------------------------------------.
- * | LOCK | F1 | F2 | F3 | F4 | F5 | | | - | F6 | F7 | F8 | F9 | F10 | LOCK |
- * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------|
- * | Media | ! | @ | { | } | & | < | | > | | | 7 | 8 | 9 | / | Media |
- * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------|
- * | Symbol | # | $ | ( | ) | ` |------| |------| / | 4 | 5 | 6 | * | Symbol |
- * |-----------+------+------+------+------+------| Tab | | Shift|------+------+------+------+------+-----------|
- * | LShift | % | ^ | [ | ] | ~ | | | -Tab| \ | 1 | 2 | 3 | - | RShift |
- * `-----------+------+------+------+------+-------------' `------------+------+------+------+------+------------'
- * | | | | | | | 0 | . | = | + | Entr |
- * `----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * | Left | Right| | Home | End |
- * ,------|------|------| |------+------+------.
- * | | | Up | | PgUp | | |
- * |Space |Enter |------| |------|BackSp| Del |
- * | | | Down | | PgDn | | |
- * `--------------------' `--------------------'
- */
-[SYMB_LK] = KEYMAP(
-// left hand
- MO(SYMB_UN) ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_TRNS
-,MO(MDIA_SH) ,KC_EXLM ,KC_AT ,KC_LCBR ,KC_RCBR ,KC_AMPR ,LSFT(KC_COMM)
-,MO(UNLOCK) ,KC_HASH ,KC_DLR ,KC_LPRN ,KC_RPRN ,KC_GRV
-,KC_LSFT ,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_MINS ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,MO(SYMB_UN)
- ,LSFT(KC_DOT),KC_PIPE ,KC_7 ,KC_8 ,KC_9 ,KC_SLSH ,MO(MDIA_SH)
- ,KC_SLSH ,KC_4 ,KC_5 ,KC_6 ,KC_ASTR ,MO(UNLOCK)
- ,LSFT(KC_TAB),KC_BSLS ,KC_1 ,KC_2 ,KC_3 ,KC_MINS ,KC_RSFT
- ,GUI_T(KC_0),ALT_T(KC_DOT),ALL_T(KC_EQL),MEH_T(KC_PLUS),CTL_T(KC_ENT)
- ,KC_HOME ,KC_END
- ,KC_PGUP
- ,KC_PGDN ,KC_BSPC ,KC_DEL
- ),
-
-/* Keymap 4: Symbol Unlock Layer
+/******* Base Layer ********************************************************************************************************
*
* ,------------------------------------------------------. ,------------------------------------------------------.
- * | | Esc | | | | | | | | | | | | Bspc | |
+ * | Special `~ | 1 | 2 | 3 | 4 | 5 | ESC | | - | 6 | 7 | 8 | 9 | 0 | =+ Special |
* |------------+------+------+------+------+-------------| |------+------+------+------+------+------+------------|
- * | Media LOCK | | | | | | | | | | | | | | Media LOCK |
+ * | Media Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | \| Media |
* |------------+------+------+------+------+------| | | |------+------+------+------+------+------------|
- * | UNLOCK | | | | | |------| |------| | | | | | UNLOCK |
- * |------------+------+------+------+------+------| | | |------+------+------+------+------+------------|
- * | Caps LOCK | | | | | | | | | | | | | | Caps LOCK |
+ * | Symbol | A | S | D | F | G |------| |------| H | J | K | L | ; | '" Symbol |
+ * |------------+------+------+------+------+------|Shift | | Tab |------+------+------+------+------+------------|
+ * | Capitals | Z | X | C | V | B | -Tab | | | N | M | , | . | / | Capitals |
* `------------+------+------+------+------+-------------' `-------------+------+------+------+------+------------'
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
+ * | LCtrl | Meh |Hyper | LAlt | LGui | | RGui | RAlt | Hyper| Meh | RCtrl |
+ * `-----------------------------------' `-----------------------------------'
* ,-------------. ,-------------.
- * | | | | | |
+ * | Home | End | | Left | Right|
* ,------|------|------| |------+------+------.
- * | | | | | | | |
- * | | |------| |------| | |
- * | | | | | | | |
+ * | | | PgUp | | Up | | |
+ * |Backsp| Del |------| |------| Enter| Space|
+ * | | | PgDn | | Down | | |
* `--------------------' `--------------------'
*/
-[SYMB_UN] = KEYMAP(
+[BASE] = KEYMAP(
// left hand
- KC_TRNS ,KC_ESC ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
-,TG(MDIA_LK) ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
-,KC_FN1 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
-,KC_CAPS ,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_BSPC ,KC_TRNS
- ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,TG(MDIA_LK)
- ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_FN1
- ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_CAPS
- ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
- ,KC_TRNS ,KC_TRNS
- ,KC_TRNS
- ,KC_TRNS ,KC_TRNS ,KC_TRNS
-),
+ F(LSpec),KC_1,KC_2,KC_3 ,KC_4 ,KC_5 ,KC_ESC
+,F(LMdia) ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_LBRC
+,M(LSymb) ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G
+,M(LCaps) ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,LSFT(KC_TAB)
+,KC_LCTL ,KC_MEH ,KC_HYPR,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 ,F(RSpec)
+ ,KC_RBRC ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,F(RMdia)
+ ,KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,F(RSymb)
+ ,KC_TAB ,KC_N ,KC_M ,KC_COMM,KC_DOT ,KC_SLSH ,M(RCaps)
+ ,KC_RGUI,KC_RALT,KC_HYPR ,KC_MEH ,KC_RCTL
+ ,KC_LEFT ,KC_RGHT
+ ,KC_UP
+ ,KC_DOWN ,KC_ENT ,KC_SPC
+ ),
-/* Keymap 5: Media Shift Layer
+/******* Symbols Layer *****************************************************************************************************
*
* ,-----------------------------------------------------. ,-----------------------------------------------------.
- * | LOCK | F11 | F12 | F13 | F14 | F15 | | | | F16 | F17 | F18 | F19 | F20 | LOCK |
+ * | | F1 | F2 | F3 | F4 | F5 | Esc | | - | F6 | F7 | F8 | F9 | F10 | |
* |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------|
- * | Media |ShutDn|LClick| MsUp |RClick|Vol Up|ScrlUp| |ScrlUp|PrtScr| Home | Up | PgUp | Mail | Media |
- * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------|
- * | Symbol | Sleep|MsLeft|MsDown|MsRght|Vol Dn|------| |------|NumLok| Left | Down | Right|MyComp| Symbol |
+ * | | ! | @ | { | } | & | < | | > | | | 7 | 8 | 9 | / | |
* |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------|
- * | LShift | | |MsDown| | Mute |ScrlDn| |ScrlDn| | End | Down | PgDn | | RShift |
+ * | | # | $ | ( | ) | ` |------| |------| / | 4 | 5 | 6 | * | |
+ * |-----------+------+------+------+------+------| Tab | | Shift|------+------+------+------+------+-----------|
+ * | | % | ^ | [ | ] | ~ | | | -Tab| \ | 1 | 2 | 3 | - | |
* `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------'
- * | LCtrl| Meh |Hyper | LAlt | LGui | |Insert|Delete| Hyper| LAlt | LGui |
- * `----------------------------------' `----------------------------------'
+ * | LCtrl | Meh |Hyper | LAlt | LGui | |RGui/0|RAlt/.|Hypr/=|Meh/+ |RCtrl/Ent|
+ * `-----------------------------------' `-------------------------------------'
* ,-------------. ,-------------.
- * | Stop |Refrsh| | Prev | Next |
+ * | Left | Right| | Home | End |
* ,------|------|------| |------+------+------.
- * |Brwser|Brwser|Search| |VolUp | | |
- * |Back | Fwd |------| |------| Stop | Play-|
- * | | | Home | |VolDn | | Pause|
+ * | | | Up | | PgUp | | |
+ * |Space |Enter |------| |------|BackSp| Del |
+ * | | | Down | | PgDn | | |
* `--------------------' `--------------------'
*/
-[MDIA_SH] = KEYMAP(
+[SYMB] = KEYMAP(
// left hand
- KC_FN3 ,KC_F11 ,KC_F12 ,KC_F13 ,KC_F14 ,KC_F15 ,KC_NO
-,MO(MDIA_SH) ,KC_POWER ,KC_BTN1 ,KC_MS_U ,KC_BTN2 ,KC_VOLU ,KC_WH_U
-,MO(SYMB_SH) ,KC_SLEP ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_VOLD
-,KC_LSFT ,KC_NO ,KC_NO ,KC_MS_D ,KC_NO ,KC_MUTE ,KC_WH_D
-,KC_LCTL ,MEH_T(KC_NO),ALL_T(KC_NO),KC_LALT,KC_LGUI
- ,KC_WSTP ,KC_WREF
- ,KC_WSCH
- ,KC_WBAK ,KC_NO ,KC_WHOM
+ KC_TRNS ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_ESC
+,KC_TRNS ,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_LCTL ,KC_MEH ,KC_HYPR,KC_LALT ,KC_LGUI
+ ,KC_LEFT ,KC_RGHT
+ ,KC_UP
+ ,KC_SPC ,KC_ENT ,KC_DOWN
// right hand
- ,KC_NO ,KC_F16 ,KC_F17 ,KC_F18 ,KC_F19 ,KC_F20 ,KC_FN3
- ,KC_WH_U ,KC_PSCR ,KC_HOME,KC_UP ,KC_PGUP ,KC_MAIL ,MO(MDIA_SH)
- ,KC_NLCK ,KC_LEFT,KC_DOWN ,KC_RIGHT,KC_MYCM ,MO(SYMB_SH)
- ,KC_WH_D ,KC_NO ,KC_END ,KC_DOWN ,KC_PGDN ,KC_NO ,KC_RSFT
- ,GUI_T(KC_INS),ALT_T(KC_DEL),ALL_T(KC_NO),MEH_T(KC_NO),KC_RCTL
- ,KC_MPRV ,KC_MNXT
- ,KC_VOLU
- ,KC_VOLD ,KC_MSTP ,KC_MPLY
+ ,KC_MINS ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_TRNS
+ ,LSFT(KC_DOT),KC_PIPE ,KC_7 ,KC_8 ,KC_9 ,KC_SLSH ,KC_TRNS
+ ,KC_SLSH ,KC_4 ,KC_5 ,KC_6 ,KC_ASTR ,KC_TRNS
+ ,LSFT(KC_TAB),KC_BSLS ,KC_1 ,KC_2 ,KC_3 ,KC_MINS ,KC_TRNS
+ ,GUI_T(KC_0),ALT_T(KC_DOT),ALL_T(KC_EQL),MEH_T(KC_PLUS),CTL_T(KC_ENT)
+ ,KC_HOME ,KC_END
+ ,KC_PGUP
+ ,KC_PGDN ,KC_BSPC ,KC_DEL
),
-/* Keymap 6: Media Lock Layer
+/******* Media Layer *******************************************************************************************************
*
- * ,-----------------------------------------------------. ,-----------------------------------------------------.
- * | LOCK | F11 | F12 | F13 | F14 | F15 | | | | F16 | F17 | F18 | F19 | F20 | LOCK |
- * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------|
- * | Media |ShutDn|LClick| MsUp |RClick|Vol Up|ScrlUp| |ScrlUp|PrtScr| Home | Up | PgUp | Mail | Media |
- * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------|
- * | | Sleep|MsLeft|MsDown|MsRght|Vol Dn|------| |------|NumLok| Left | Down | Right|MyComp| |
- * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------|
- * | LShift | | |MsDown| | Mute |ScrlDn| |ScrlDn| | End | Down | PgDn | | RShift |
- * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------'
- * | LCtrl| Meh |Hyper | LAlt | LGui | |Insert|Delete| Hyper| LAlt | LGui |
- * `----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * | Stop |Refrsh| | Prev | Next |
- * ,------|------|------| |------+------+------.
- * |Brwser|Brwser|Search| |VolUp | | |
- * |Back | Fwd |------| |------| Stop | Play-|
- * | | | Home | |VolDn | | Pause|
- * `--------------------' `--------------------'
+ * ,---------------------------------------------------------------. ,---------------------------------------------------------------.
+ * | | F11 | F12 | F13 | F14 | F15 | Esc | | | F16 | F17 | F18 | F19 | F20 | |
+ * |------+---------+---------+---------+---------+----------------| |------+---------+---------+---------+---------+---------+------|
+ * | |Shut Down|MouseUpLf|Mouse Up |MouseUpRg|Volume Up|Scroll| |Scroll|PrintScrn| Home | Up | PgUp | Mail | |
+ * |------+---------+---------+---------+---------+---------| Up | | Up |---------+---------+---------+---------+---------+------|
+ * | | Sleep |MouseLeft|MouseDown|MouseRght|Volume Dn|------| |------| Num Lock| Left | Down | Right | MyComp | |
+ * |------+---------+---------+---------+---------+---------|Scroll| |Scroll|---------+---------+---------+---------+---------+------|
+ * | | |MouseDnLf|MouseDown|MouseDnRg| Mute | Down | | Down | | End | Down | PgDn | | |
+ * `------+---------+---------+---------+---------+----------------' `----------------+---------+---------+---------+---------+------'
+ * |LCtrl| Meh | MClick | LClick | R Click| |Cmd/Insrt|Optn/Del | Hyper | Meh |RCtrl|
+ * `---------------------------------------------' `---------------------------------------------'
+ * ,-------------. ,-------------.
+ * | Stop |Refrsh| | Prev | Next |
+ * ,------|------|------| |------+------+------.
+ * |Brwser|Brwser|Search| |VolUp | | |
+ * |Back | Fwd |------| |------| Stop | Play-|
+ * | | | Home | |VolDn | | Pause|
+ * `--------------------' `--------------------'
*/
-[MDIA_LK] = KEYMAP(
+[MDIA] = KEYMAP(
// left hand
- MO(MDIA_UN),KC_F11 ,KC_F12 ,KC_F13 ,KC_F14 ,KC_F15 ,KC_NO
-,MO(UNLOCK) ,KC_POWER ,KC_BTN1 ,KC_MS_U ,KC_BTN2 ,KC_VOLU ,KC_WH_U
-,KC_NO ,KC_SLEP ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_VOLD
-,KC_LSFT ,KC_NO ,KC_NO ,KC_MS_D ,KC_NO ,KC_MUTE ,KC_WH_D
-,KC_LCTL ,MEH_T(KC_NO),ALL_T(KC_NO),KC_LALT,KC_LGUI
- ,KC_WSTP ,KC_WREF
- ,KC_WSCH
- ,KC_WBAK ,KC_NO ,KC_WHOM
+ KC_TRNS ,KC_F11 ,KC_F12 ,KC_F13 ,KC_F14 ,KC_F15 ,KC_ESC
+,KC_TRNS ,KC_POWER ,M(MUL) ,KC_MS_U ,M(MUR) ,KC_VOLU ,KC_WH_U
+,KC_TRNS ,KC_SLEP ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_VOLD
+,KC_TRNS ,KC_NO ,M(MDL) ,KC_MS_D ,M(MDR) ,KC_MUTE ,KC_WH_D
+,KC_LCTL ,KC_MEH ,KC_BTN3 ,KC_BTN1 ,KC_BTN2
+ ,KC_WSTP ,KC_WREF
+ ,KC_WSCH
+ ,KC_WBAK ,KC_NO ,KC_WHOM
// right hand
- ,KC_NO ,KC_F16 ,KC_F17 ,KC_F18 ,KC_F19 ,KC_F20 ,MO(MDIA_UN)
- ,KC_WH_U ,KC_PSCR ,KC_HOME,KC_UP ,KC_PGUP ,KC_MAIL ,MO(UNLOCK)
- ,KC_NLCK ,KC_LEFT,KC_DOWN ,KC_RIGHT,KC_MYCM ,KC_NO
- ,KC_WH_D ,KC_NO ,KC_END ,KC_DOWN ,KC_PGDN ,KC_NO ,KC_RSFT
- ,GUI_T(KC_INS),ALT_T(KC_DEL),ALL_T(KC_NO),MEH_T(KC_NO),KC_RCTL
+ ,KC_NO ,KC_F16 ,KC_F17 ,KC_F18 ,KC_F19 ,KC_F20 ,KC_TRNS
+ ,KC_WH_U ,KC_PSCR ,KC_HOME ,KC_UP ,KC_PGUP ,KC_MAIL ,KC_TRNS
+ ,KC_NLCK ,KC_LEFT ,KC_DOWN ,KC_RIGHT,KC_MYCM ,KC_TRNS
+ ,KC_WH_D ,KC_NO ,KC_END ,KC_DOWN ,KC_PGDN ,KC_NO ,KC_TRNS
+ ,GUI_T(KC_INS),ALT_T(KC_DEL),KC_HYPR ,KC_MEH ,KC_RCTL
,KC_MPRV ,KC_MNXT
,KC_VOLU
,KC_VOLD ,KC_MSTP ,KC_MPLY
- ),
-
-/* Keymap 7: Media Unlock Layer
- *
- * ,-----------------------------------------------------. ,-----------------------------------------------------.
- * | | Esc | | | | | | | | | | | | Bspc | |
- * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------|
- * | UNLOCK | | | | | | | | | | | | | | UNLOCK |
- * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------|
- * | | | | | | |------| |------| | | | | | |
- * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------|
- * | Caps LOCK | | | | | | | | | | | | | | Caps LOCK |
- * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------'
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * | | | | | |
- * ,------|------|------| |------+------+------.
- * | | | | | | | |
- * | | |------| |------| | |
- * | | | | | | | |
- * `--------------------' `--------------------'
- */
-[MDIA_UN] = KEYMAP(
-// left hand
- KC_TRNS ,KC_ESC ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
-,KC_FN1 ,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_CAPS ,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_BSPC ,KC_TRNS
- ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_FN1
- ,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_CAPS
- ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
-
- ,KC_TRNS ,KC_TRNS
- ,KC_TRNS
- ,KC_TRNS ,KC_TRNS ,KC_TRNS
- ),
+),
-/* Keymap 8: Unlock Layer
+/******* Special Layer *****************************************************************************************************
*
* ,-----------------------------------------------------. ,-----------------------------------------------------.
- * | UNLOCK | | | | | | | | | | | | | | UNLOCK |
+ * | | Esc | | | | | | | | | | | | Bspc | |
* |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------|
* | | | | | | | | | | | | | | | |
* |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------|
* | | | | | | |------| |------| | | | | | |
* |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------|
- * | | | | | | | | | | | | | | | |
+ * | | | | | | | | | | | | | | | RShift |
* `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------'
* | | | | | | | | | | | |
* `----------------------------------' `----------------------------------'
@@ -389,9 +184,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | | | | | | | |
* `--------------------' `--------------------'
*/
-[UNLOCK] = KEYMAP(
+[SPEC] = KEYMAP(
// left hand
- KC_FN1 ,KC_ESC ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+ KC_TRNS ,KC_ESC ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
@@ -399,39 +194,231 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
,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_FN1
- ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
- ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
- ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
- ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
-
- ,KC_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_BSPC ,KC_TRNS
+ ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+ ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+ ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_RSFT
+ ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+
+ ,KC_TRNS ,KC_TRNS
+ ,KC_TRNS
+ ,KC_TRNS ,KC_TRNS ,KC_TRNS
)
};
const uint16_t PROGMEM fn_actions[] = {
- [1] = ACTION_LAYER_CLEAR(ON_PRESS) // FN1 - clear to base layer
- ,[2] = ACTION_LAYER_INVERT(SYMB_LK, ON_PRESS) // FN2 - toggle to Symbols on press
- ,[3] = ACTION_LAYER_INVERT(MDIA_LK, ON_PRESS) // FN3 - toggle to Media on press
+ // the faux shift keys are implemented as macro taps
+ [LCaps] = ACTION_MACRO_TAP(LCaps)
+ ,[LSymb] = ACTION_MACRO_TAP(LSymb)
+ ,[LMdia] = ACTION_MACRO_TAP(LMdia)
+ ,[LSpec] = ACTION_MACRO_TAP(LSpec)
+ ,[RCaps] = ACTION_MACRO_TAP(RCaps)
+ ,[RSymb] = ACTION_MACRO_TAP(RSymb)
+ ,[RMdia] = ACTION_MACRO_TAP(RMdia)
+ ,[RSpec] = ACTION_MACRO_TAP(RSpec)
};
+uint16_t caps_shift = 0;
+uint16_t symb_shift = 0;
+uint16_t mdia_shift = 0;
+
+bool symb_lock = false;
+bool mdia_lock = false;
+
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:
+ switch(id) {
+ // There are two shift keys for each layer so we increment a layer_shift var when one
+ // is pressed and decrement when one is released. If both are pressed at the same time
+ // then the layer is locked (or unlocked). The shift counts are bound between 0 and 2
+ // only because sometimes rapid pressing led to irregular events; this way the states
+ // are self healing during use.
+
+ case LCaps: // both caps-shift keys trigger Left Shift
+ case RCaps: // so they don't interfere with the magic combo
+ if (record->event.pressed && !record->tap.count) {
+ if(++caps_shift > 2) caps_shift = 2;
+ if(caps_shift == 2) {
+ register_code(KC_CAPS);
+ unregister_code(KC_CAPS);
+ } else if(caps_shift == 1) {
+ register_code(KC_LSFT);
+ }
+ } else {
+ if(--caps_shift < 0) caps_shift = 0;
+ if(caps_shift == 0) unregister_code(KC_LSFT);
+ }
+ break;
+
+ case LSymb:
+ if (record->event.pressed) {
+ if(++symb_shift > 2) symb_shift = 2;
+ if(symb_shift == 2) {
+ symb_lock = !symb_lock;
+ } else if(symb_shift == 1) {
+ layer_on(SYMB);
+ }
+ } else {
+ if(--symb_shift < 0) symb_shift = 0;
+ if((symb_shift == 0) && (!symb_lock)) layer_off(SYMB);
+ }
+ break;
+
+ case LMdia:
+ if (record->event.pressed) {
+ if (record->tap.count && (!mdia_shift) && (!mdia_lock)) {
+ register_code(KC_TAB);
+ } else {
+ if(++mdia_shift > 2) mdia_shift = 2;
+ if(mdia_shift == 2) {
+ mdia_lock = !mdia_lock;
+ } else if(mdia_shift == 1) {
+ layer_on(MDIA);
+ }
+ }
+ } else {
+ if(record->tap.count && (!mdia_shift) && (!mdia_lock)) {
+ unregister_code(KC_TAB);
+ } else {
+ if(--mdia_shift < 0) mdia_shift = 0;
+ if((!mdia_shift) && (!mdia_lock)) layer_off(MDIA);
+ }
+ }
+ break;
+
+ case LSpec:
+ if (record->event.pressed) {
+ if (record->tap.count && !record->tap.interrupted) {
+ register_code(KC_GRV);
+ } else {
+ layer_on(SPEC);
+ }
+ } else {
+ if(record->tap.count && !record->tap.interrupted) {
+ unregister_code(KC_GRV);
+ } else {
+ layer_off(SPEC);
+ }
+ }
+ break;
+
+ case RSymb:
+ if (record->event.pressed) {
+ if (record->tap.count && (!symb_shift) && (!symb_lock)) {
+ register_code(KC_QUOT);
+ } else {
+ if(++symb_shift > 2) symb_shift = 2;
+ if(symb_shift == 2) {
+ symb_lock = !symb_lock;
+ } else if(symb_shift == 1) {
+ layer_on(SYMB);
+ }
+ }
+ } else {
+ if(record->tap.count && symb_shift == 0) {
+ unregister_code(KC_QUOT);
+ } else {
+ if(--symb_shift < 0) symb_shift = 0;
+ if((!symb_shift) && (!symb_lock)) layer_off(SYMB);
+ }
+ }
+ break;
+
+ case RMdia:
+ if (record->event.pressed) {
+ if (record->tap.count && (!mdia_shift) && (!mdia_lock)) {
+ register_code(KC_BSLS);
+ } else {
+ if(++mdia_shift > 2) mdia_shift = 2;
+ if(mdia_shift == 2) {
+ mdia_lock = !mdia_lock;
+ } else if(mdia_shift == 1) {
+ layer_on(MDIA);
+ }
+ }
+ } else {
+ if(record->tap.count && (!mdia_shift) && (!mdia_lock)) {
+ unregister_code(KC_BSLS);
+ } else {
+ if(--mdia_shift < 0) mdia_shift = 0;
+ if((!mdia_shift) && (!mdia_lock)) layer_off(MDIA);
+ }
+ }
+ break;
+
+ case RSpec:
+ if (record->event.pressed) {
+ if (record->tap.count && !record->tap.interrupted) {
+ register_code(KC_EQL);
+ } else {
+ layer_on(SPEC);
+ }
+ } else {
+ if(record->tap.count && !record->tap.interrupted) {
+ unregister_code(KC_EQL);
+ } else {
+ layer_off(SPEC);
+ }
+ }
+ break;
+
+ // mouse diagonals
+
+ case MUL: // mouse up left
+ if (record->event.pressed) {
+ mousekey_on(KC_MS_UP);
+ mousekey_on(KC_MS_LEFT);
+ mousekey_send();
+ } else {
+ mousekey_off(KC_MS_UP);
+ mousekey_off(KC_MS_LEFT);
+ mousekey_send();
+ }
+ break;
+
+ case MUR: // mouse up right
+ if (record->event.pressed) {
+ mousekey_on(KC_MS_UP);
+ mousekey_on(KC_MS_RIGHT);
+ mousekey_send();
+ } else {
+ mousekey_off(KC_MS_UP);
+ mousekey_off(KC_MS_RIGHT);
+ mousekey_send();
+ }
+ break;
+
+ case MDL: // mouse down left
if (record->event.pressed) {
- register_code(KC_RSFT);
+ mousekey_on(KC_MS_DOWN);
+ mousekey_on(KC_MS_LEFT);
+ mousekey_send();
} else {
- unregister_code(KC_RSFT);
+ mousekey_off(KC_MS_DOWN);
+ mousekey_off(KC_MS_LEFT);
+ mousekey_send();
}
break;
- }
+
+ case MDR: // mouse down right
+ if (record->event.pressed) {
+ mousekey_on(KC_MS_DOWN);
+ mousekey_on(KC_MS_RIGHT);
+ mousekey_send();
+ } else {
+ mousekey_off(KC_MS_DOWN);
+ mousekey_off(KC_MS_RIGHT);
+ mousekey_send();
+ }
+ break;
+
+ default:
+ // none
+ break;
+ }
+
return MACRO_NONE;
};
@@ -442,31 +429,22 @@ void matrix_init_user(void) {
// Runs constantly in the background, in a loop.
void matrix_scan_user(void) {
- uint8_t layer = biton32(layer_state);
-
// shift or caps lock turns on red light
- if((keyboard_report->mods & (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT))) || (host_keyboard_leds() & (1<<USB_LED_CAPS_LOCK))) {
+ if(caps_shift || (keyboard_report->mods & MOD_BIT(KC_RSFT)) || (host_keyboard_leds() & (1<<USB_LED_CAPS_LOCK))) {
ergodox_right_led_1_on();
} else {
ergodox_right_led_1_off();
}
- // do not change lights while locking and unlocking
- if(layer == LOCK || layer == SYMB_UN || layer == MDIA_UN || layer == UNLOCK) {
- return;
- }
-
- //ergodox_board_led_off();
-
- // symbol turns on green light
- if(layer == SYMB_SH || layer == SYMB_LK) {
+ // Symbol layer turns on green light
+ if(layer_state & (1UL<<SYMB)) {
ergodox_right_led_2_on();
} else {
ergodox_right_led_2_off();
}
- // media turns on blue light
- if(layer == MDIA_SH || layer == MDIA_LK) {
+ // Media layer turns on blue light
+ if(layer_state & (1UL<<MDIA)) {
ergodox_right_led_3_on();
} else {
ergodox_right_led_3_off();
diff --git a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.png b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.png
index 69af8df4e1..9c561a10aa 100644
--- a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.png
+++ 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
index 04792f2dfc..25731ea2e6 100644
--- a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.txt
+++ b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.txt
@@ -1,7 +1,7 @@
[{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:"#2277ff",w:1.5},"Shift\n\n~\n\n\n\nLock\n`",{c:"#cccccc"},"!\n1",{x:14.5},")\n0",{c:"#2277ff",w:1.5},"+\n\nShift\n\n\n\n=\nLock"],
+[{y:-0.875,c:"#2277ff",w:1.5},"Special\n\n~\n\n\n\nShift\n`",{c:"#cccccc"},"!\n1",{x:14.5},")\n0",{c:"#2277ff",w:1.5},"+\n\nSpecial\n\n\n\n=\nShift"],
[{y:-0.375,x:3.5,c:"#cccccc"},"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"],
@@ -14,7 +14,7 @@
[{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",fa:[0,1,0,1,0,0,0],w:1.5},"Capitals\nShift\n\n\n\n\nShift",{c:"#cccccc"},"Z",{x:14.5,f:3},"?\n/",{c:"#2277ff",w:1.5},"\n\nCapitals\nShift\n\n\n\nShift"],
+[{y:-0.875,c:"#2277ff",w:1.5},"Capitals\n\n\n\n\n\nShift",{c:"#cccccc"},"Z",{x:14.5},"?\n/",{c:"#2277ff",w:1.5},"\n\nCapitals\n\n\n\n\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"],
diff --git a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.png b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.png
index 0ae162431d..99e5ed80b1 100644
--- a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.png
+++ 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
index cc4c877ebd..4eccc9f350 100644
--- a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.txt
+++ b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.txt
@@ -1,22 +1,22 @@
[{x:3.5,c:"#99de2a"},"F13",{x:10.5},"F18"],
[{y:-0.875,x:2.5},"F12",{x:1},"F14",{x:8.5},"F17",{x:1},"F19"],
-[{y:-0.875,x:5.5},"F15",{c:"#ff4444"},"Esc",{x:4.5,c:"#cccccc",a:7},"",{c:"#99de2a",a:4},"F16"],
-[{y:-0.875,c:"#2277ff",w:1.5},"Shift\n\n\n\n\n\nLock",{c:"#99de2a"},"F11",{x:14.5},"F20",{c:"#2277ff",w:1.5},"\n\nShift\n\n\n\n\nLock"],
+[{y:-0.875,x:5.5},"F15",{c:"#ff4444"},"Esc",{x:4.5,c:"#737373",a:7},"",{c:"#99de2a",a:4},"F16"],
+[{y:-0.875,c:"#2277ff",w:1.5},"Special\n\n\n\n\n\nShift",{c:"#99de2a"},"F11",{x:14.5},"F20",{c:"#2277ff",w:1.5},"\n\nSpecial\n\n\n\n\nShift"],
[{y:-0.375,x:3.5,c:"#ff8500"},"Mouse\n\n\n\n\n\nUp",{x:10.5},"Cursor\n\n\n\n\n\nUp"],
-[{y:-0.875,x:2.5},"Left\n\n\n\n\n\nClick",{x:1},"Right\n\n\n\n\n\nClick",{x:8.5,c:"#ffb063"},"Home",{x:1},"Page\n\n\n\n\n\nUp"],
+[{y:-0.875,x:2.5},"Mouse\n\n\n\n\n\nUpLeft",{x:1},"Mouse\n\n\n\n\n\nUpRgt",{x:8.5,c:"#ffb063"},"Home",{x:1},"Page\n\n\n\n\n\nUp"],
[{y:-0.875,x:5.5,c:"#e6e067"},"Vol\n\n\n\n\n\nUp",{c:"#ffb063",h:1.5},"Scroll\n\n\n\n\n\nUp",{x:4.5,h:1.5},"Scroll\n\n\n\n\n\nUp",{c:"#e6e067"},"Print\n\n\n\n\n\nScreen"],
[{y:-0.875,c:"#000000",t:"#ff0000",w:1.5},"Media\n\n\n\n\n\nShift",{c:"#e6e067",t:"#000000"},"Shut\n\n\n\n\n\nDown",{x:14.5},"Mail",{c:"#000000",t:"#ff0000",w:1.5},"\n\nMedia\n\n\n\n\nShift"],
[{y:-0.375,x:3.5,c:"#ff8500",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:"#e6e067"},"Vol\n\n\n\n\n\nDown",{x:6.5},"Num\n\n\n\n\n\nLock"],
-[{y:-0.875,c:"#cccccc",a:7,w:1.5},"",{c:"#e6e067",a:4},"Sleep",{x:14.5},"My\n\n\n\n\n\nComp",{c:"#cccccc",a:7,w:1.5},""],
-[{y:-0.625,x:6.5,c:"#ffb063",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.875,c:"#2277ff",w:1.5},"Symbols\n\n\n\n\n\nShift",{c:"#e6e067"},"Sleep",{x:14.5},"My\n\n\n\n\n\nComp",{c:"#2277ff",w:1.5},"\n\nSymbols\n\n\n\n\nShift"],
+[{y:-0.625,x:6.5,c:"#ffb063",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:"#ff8500"},"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},"",{x:8.5,c:"#ffb063",a:4},"End",{x:1},"Page\n\n\n\n\n\nDown"],
-[{y:-0.875,x:5.5,c:"#e6e067"},"Mute",{x:6.5,c:"#cccccc",a:7},""],
-[{y:-0.875,c:"#2277ff",a:4,f2:1,w:1.5},"Capitals\nShift\n\n\n\n\nShift",{c:"#cccccc",a:7},"",{x:14.5},"",{c:"#2277ff",a:4,fa:[0,1,0,1],w:1.5},"\n\nCapitals\nShift\n\n\n\nShift"],
-[{y:-0.375,x:3.5,c:"#77aaff"},"Option\n\n\nLAlt",{x:10.5,c:"#ffb063"},"Delete\n\n\nOption"],
-[{y:-0.875,x:2.5,c:"#77aaff"},"Hyper",{x:1},"Cmd\n\n\nSuper",{x:8.5,c:"#ffb063"},"Insert\n\n\nCmd",{x:1,c:"#77aaff"},"Hyper"],
+[{y:-0.875,x:2.5},"Mouse\n\n\n\n\n\nDnLeft",{x:1},"Mouse\n\n\n\n\n\nDnRgt",{x:8.5,c:"#ffb063"},"End",{x:1},"Page\n\n\n\n\n\nDown"],
+[{y:-0.875,x:5.5,c:"#e6e067"},"Mute",{x:6.5,c:"#737373",a:7},""],
+[{y:-0.875,c:"#2277ff",a:4,w:1.5},"Capitals\n\n\n\n\n\nShift",{c:"#737373",a:7},"",{x:14.5},"",{c:"#2277ff",a:4,w:1.5},"\n\nCapitals\n\n\n\n\nShift"],
+[{y:-0.375,x:3.5,c:"#ff8500"},"Middle\n\n\n\n\n\nClick",{x:10.5,c:"#ffb063",fa:[0,0,0,1]},"Delete\n\n\nOption"],
+[{y:-0.875,x:2.5,c:"#ff8500"},"Left\n\n\n\n\n\nClick",{x:1},"Right\n\n\n\n\n\nClick",{x:8.5,c:"#ffb063"},"Insert\n\n\nCmd",{x:1,c:"#77aaff"},"Hyper"],
[{y:-0.75,x:0.5},"Ctrl\n\n\nLCtrl","Meh",{x:14.5},"Meh","Crtl\n\n\nRCtrl"],
[{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#ccbb00"},"Stop\n\n\nBrowser","Reload\n\n\nBrowser"],
[{h:2},"< Web\n\n\nBrowser",{h:2},"Web >\n\n\nBrowser","Search\n\n\nBrowser"],
diff --git a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-special.png b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-special.png
new file mode 100644
index 0000000000..6eecf447ee
--- /dev/null
+++ b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-special.png
Binary files differ
diff --git a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-special.txt b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-special.txt
new file mode 100644
index 0000000000..a08827c6de
--- /dev/null
+++ b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-special.txt
@@ -0,0 +1,27 @@
+[{x:3.5,a:7},"",{x:10.5},""],
+[{y:-0.875,x:2.5},"",{x:1},"",{x:8.5},"",{x:1},""],
+[{y:-0.875,x:5.5},"",{c:"#ff4444",a:4},"Esc",{x:4.5,c:"#cccccc",a:7},"",""],
+[{y:-0.875,c:"#000000",t:"#ff0000",a:4,w:1.5},"Special\n\n\n\n\n\nShift",{c:"#ff4444",t:"#000000"},"Esc",{x:14.5,c:"#54d6de"},"Back\n\n\n\n\n\nspace",{c:"#000000",t:"#ff0000",w:1.5},"\n\nSpecial\n\n\n\n\nShift"],
+[{y:-0.375,x:3.5,c:"#cccccc",t:"#000000",a:7},"",{x:10.5},""],
+[{y:-0.875,x:2.5},"",{x:1},"",{x:8.5},"",{x:1},""],
+[{y:-0.875,x:5.5},"",{h:1.5},"",{x:4.5,h:1.5},"",""],
+[{y:-0.875,w:1.5},"","",{x:14.5},"",{w:1.5},""],
+[{y:-0.375,x:3.5},"",{x:10.5},""],
+[{y:-0.875,x:2.5},"",{x:1},"",{x:8.5},"",{x:1},""],
+[{y:-0.875,x:5.5},"",{x:6.5},""],
+[{y:-0.875,w:1.5},"","",{x:14.5},"",{w:1.5},""],
+[{y:-0.625,x:6.5,h:1.5},"",{x:4.5,h:1.5},""],
+[{y:-0.75,x:3.5},"",{x:10.5},""],
+[{y:-0.875,x:2.5},"",{x:1},"",{x:8.5},"",{x:1},""],
+[{y:-0.875,x:5.5},"",{x:6.5},""],
+[{y:-0.875,w:1.5},"","",{x:14.5},"",{c:"#2277ff",w:1.5},"RShift"],
+[{y:-0.375,x:3.5,c:"#cccccc"},"",{x:10.5},""],
+[{y:-0.875,x:2.5},"",{x:1},"",{x:8.5},"",{x:1},""],
+[{y:-0.75,x:0.5},"","",{x:14.5},"",""],
+[{r:30,rx:6.5,ry:4.25,y:-1,x:1},"",""],
+[{h:2},"",{h:2},"",""],
+[{x:2},""],
+[{r:-30,rx:13,y:-1,x:-3},"",""],
+[{x:-3},"",{h:2},"",{h:2},""],
+[{x:-3},""]
+
diff --git a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.png b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.png
index b3101e5c04..e4de64a96f 100644
--- a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.png
+++ 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
index 35efdba7d6..e199f5c59f 100644
--- a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.txt
+++ b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.txt
@@ -1,7 +1,7 @@
[{x:3.5,c:"#99de2a"},"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:"#bbddbb"},"_\n\n\n\n\n\n-",{c:"#99de2a"},"F6"],
-[{y:-0.875,c:"#2277ff",w:1.5},"Shift\n\n\n\n\n\nLock",{c:"#99de2a"},"F1",{x:14.5},"F10",{c:"#2277ff",w:1.5},"\n\nShift\n\n\n\n\nLock"],
+[{y:-0.875,c:"#2277ff",w:1.5},"Special\n\n\n\n\n\nShift",{c:"#99de2a"},"F1",{x:14.5},"F10",{c:"#2277ff",w:1.5},"\n\nSpecial\n\n\n\n\nShift"],
[{y:-0.375,x:3.5,c:"#bbddbb"},"{",{x:10.5,c:"#89b087"},"8"],
[{y:-0.875,x:2.5,c:"#bbddbb"},"@",{x:1},"}",{x:8.5,c:"#89b087"},"7",{x:1},"9"],
[{y:-0.875,x:5.5,c:"#bbddbb"},"&",{h:1.5},"<",{x:4.5,h:1.5},">","|"],
@@ -14,7 +14,7 @@
[{y:-0.75,x:3.5,c:"#bbddbb"},"[",{x:10.5,c:"#89b087"},"2"],
[{y:-0.875,x:2.5,c:"#bbddbb"},"^",{x:1},"]",{x:8.5,c:"#89b087"},"1",{x:1},"3"],
[{y:-0.875,x:5.5,c:"#bbddbb"},"~",{x:6.5},"\\"],
-[{y:-0.875,c:"#2277ff",fa:[0,1,0,1,0,0,1],w:1.5},"Capitals\nShift\n\n\n\n\nShift",{c:"#bbddbb"},"%",{x:14.5,c:"#89b087"},"-",{c:"#2277ff",w:1.5},"\n\nCapitals\nShift\n\n\n\nShift"],
+[{y:-0.875,c:"#2277ff",w:1.5},"Capitals\n\n\n\n\n\nShift",{c:"#bbddbb"},"%",{x:14.5,c:"#89b087"},"-",{c:"#2277ff",w:1.5},"\n\nCapitals\n\n\n\n\nShift"],
[{y:-0.375,x:3.5,c:"#77aaff"},"Option\n\n\nLAlt",{x:10.5,c:"#89b087"},".\n\n\nOption"],
[{y:-0.875,x:2.5,c:"#77aaff"},"Hyper",{x:1},"Cmd\n\n\nSuper",{x:8.5,c:"#89b087"},"0\n\n\nCmd",{x:1},"=\n\n\nHyper"],
[{y:-0.75,x:0.5,c:"#77aaff"},"Ctrl\n\n\nLCtrl","Meh",{x:14.5,c:"#89b087"},"+\n\n\nMeh","Enter\n\n\nCtrl"],
@@ -22,6 +22,6 @@
[{h:2},"Space",{h:2},"Enter","Up"],
[{x:2},"Down"],
[{r:-30,rx:13,y:-1,x:-3},"Home","End"],
-[{x:-3,f:3},"Page\n\n\n\n\n\nUp",{h:2},"< Del\n\n\nBackspace",{h:2},"Del >\n\n\nDelete"],
-[{x:-3,f:3},"Page\n\n\n\n\n\nDown"]
+[{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
index 8e2d5ce26d..1e740e4f39 100644
--- a/keyboard/ergodox_ez/keymaps/ordinary/ordinary.hex
+++ b/keyboard/ergodox_ez/keymaps/ordinary/ordinary.hex
@@ -1,1190 +1,1202 @@
-:100000000C945F040C94A3040C94A3040C94A30418
-:100010000C94A3040C94A3040C94A3040C94A304C4
-:100020000C94A3040C94A3040C94C40D0C94960E8D
-:100030000C94A3040C94A3040C94A3040C94A304A4
-:100040000C94A3040C9441230C94A3040C94A304D7
-:100050000C94A3040C94E31C0C94A3040C94A3042C
-:100060000C94A3040C94A3040C94A3040C94A30474
-:100070000C94A3040C94A3040C94A3040C94A30464
-:100080000C94A3040C94A3040C94A3040C94A30454
-:100090000C94A3040C94A3040C94A3040C94A30444
-:1000A0000C94A3040C94A3040C94A304FB0E1D0F46
-:1000B00008101D0F08105F0F820F0810D70FEA0FEE
-:1000C000DE12DE120C130C134E138A138A158A15D6
-:1000D000A2138A159914991464158A158A1578152E
-:1000E000000000810889248935812B850252E100B6
-:1000F000E00000001E00140004001D0000774E0008
-:100100001F001A0016001B00007F4C002000080092
-:1001100007000600E2002A0021001500090019006E
-:10012000E3004B00220017000A00050000004A000F
-:1001300029002F0000002B0200004D002D00300090
-:1001400000002B000000500023001C000B001100D9
-:1001500000004F00240018000D001000E7005200BE
-:1001600025000C000E003600E6002C0026001200D0
-:100170000F003700007F28002700130033003800ED
-:10018000007751002E8131853482E500E4000000C3
-:100190000100C300C2003900010000002900010075
-:1001A0000100010001000100010001000100010047
-:1001B0000100010001000100010001000100010037
-:1001C0000100010001000100010001000100010027
-:1001D0000100010000000100010001000000010019
-:1001E000000001000100010000000100000001000A
-:1001F00001000100010001000000010001000100F8
-:1002000001000100010001000100010001000100E6
-:1002100001000100010001000100010001000100D6
-:100220002A00010001000100010001000100C300DB
-:10023000C200390001000000C20005520252E10074
-:10024000010000003A001E022002220201005100BB
-:100250003B001F0221022302010028003C002F0264
-:1002600026022F0001002C003D0030022702300042
-:10027000010052003E00240235003502000050000B
-:100280000100360200002B0000004F002D00370255
-:1002900000002B0200004A003F003102380031000C
-:1002A00000004D004000240021001E0027784B0074
-:1002B0004100250022001F0037744C004200260038
-:1002C000230020002E7F2A004300380025022D0045
-:1002D0002E774E00C20005520252E5002871000040
-:1002E000045205520852E100010000003A001E02CB
-:1002F00020022202010051003B001F0221022302C2
-:10030000010028003C002F0226022F0001002C00D3
-:100310003D00300227023000010052003E0024025E
-:1003200035003502000050000100360200002B00AD
-:1003300000004F002D00370200002B0200004A0091
-:100340003F0031023800310000004D004000240021
-:1003500021001E0027784B004100250022001F00CD
-:1003600037744C0042002600230020002E7F2A0014
-:100370004300380025022D002E774E00045205520E
-:100380000852E5002871000001000654C100390040
-:10039000010000002900010001000100010001002E
-:1003A0000100010001000100010001000100010045
-:1003B0000100010001000100010001000100010035
-:1003C0000100010001000100010001000000010026
-:1003D0000100010000000100000001000100010017
-:1003E0000000010000000100010001000100010007
-:1003F00000000100010001000100010001000100F6
-:1004000001000100010001000100010001000100E4
-:1004100001000100010001002A00010001000100AB
-:100420000100010001000654C10039000100000074
-:10043000C30005520252E100E000000044006600E3
-:10044000A60000000077B5004500F400F2000000AF
-:10045000007F00006800F000F100F100E200B6004B
-:100460006900F500F3000000E300B4006A00A90091
-:10047000AA00A8000000B8000000F9000000FA007F
-:100480000000B9000000F9000000FA000000AC0014
-:100490006B004600530000000000AB006C004A00F7
-:1004A00050004D004978A9006D00520051005100E4
-:1004B0004C74AE006E004B004F004E00007FAD004C
-:1004C0006F00B100B30000000077AA00C30005521E
-:1004D0000252E500E4000000075208520000E1006B
-:1004E000E000000044006600A60000000077B500B0
-:1004F0004500F400F2000000007F00006800F000FA
-:10050000F100F100E200B6006900F500F300000020
-:10051000E300B4006A00A900AA00A8000000B80027
-:100520000000F9000000FA000000B9000000F90026
-:100530000000FA000000AC006B0046005300000011
-:100540000000AB006C004A0050004D004978A90043
-:100550006D005200510051004C74AE006E004B0013
-:100560004F004E00007FAD006F00B100B3000000EF
-:100570000077AA00075208520000E500E4000000DE
-:100580000100C10001003900010000002900010044
-:100590000100010001000100010001000100010053
-:1005A0000100010001000100010001000100010043
-:1005B0000100010001000100010001000100010033
-:1005C0000100010000000100010001000000010025
-:1005D0000000010001000100000001000000010016
-:1005E0000100010001000100000001000100010004
-:1005F00001000100010001000100010001000100F3
-:1006000001000100010001000100010001000100E2
-:100610002A00010001000100010001000100C100E9
-:100620000100390001000000C100010001000100CB
-:10063000010000002900010001000100010001008B
-:1006400001000100010001000100010001000100A2
-:100650000100010001000100010001000100010092
-:100660000100010001000100010001000000010083
-:100670000100010000000100000001000100010074
-:100680000000010000000100010001000100010064
-:100690000000010001000100010001000100010053
-:1006A0000100010001000100010001000100010042
-:1006B0000100010001000100010001000100010032
-:1006C00001000100C1000100010001000100000063
-:1006D00016034500720067006F0044006F00780049
-:1006E000200045005A000000160345007200670014
-:1006F0006F0044006F007800200045005A000000A1
-:100700000403090409026D00040100A0FA090400B1
-:10071000000103010100092111010001223F00072E
-:1007200005810308000A0904010001030102000910
-:100730002111010001224D000705820308000A096A
-:10074000040200010300000009211101000122360A
-:10075000000705830308000A0904030001030000E1
-:10076000000921110100012239000705840310004E
-:10077000011201100100000008EDFE071301000145
-:1007800002000105010906A101050719E029E71585
-:1007900000250195087501810205081901290595B3
-:1007A000057501910295017503910105071900294D
-:1007B0007715002501957875018102C00501098032
-:1007C000A101850216010026B7001A01002AB70010
-:1007D000751095018100C0050C0901A10185031662
-:1007E0000100269C021A01002A9C027510950181C5
-:1007F00000C005010902A1010901A10005091901B3
-:1008000029051500250195057501810295017503DE
-:1008100081010501093009311581257F950275088F
-:10082000810609381581257F950175088106050C1B
-:100830000A38021581257F950175088106C0C0051B
-:10084000010906A101050719E029E7150025019511
-:1008500008750181029501750881010508190129B2
-:10086000059505750191029501750391010507191B
-:100870000029FF150025FF950675088100C00000BE
-:10088000000000000000000000010204060A0F172B
-:10089000202C3A4A5D71879DB3C7DAE9F5FCFFFC6D
-:1008A000F5E9DAC7B39D87715D4A3A2C20170F0A24
-:1008B00006040201000000000000000000001124F6
-:1008C0001FBECFEFDAE0DEBFCDBF04B603FE24C00B
-:1008D0008091EF019091F001A091F101B091F201AE
-:1008E0008730904BA740B04BB9F41092EF011092B3
-:1008F000F0011092F1011092F20114BE84B7877FCB
-:1009000084BF88E10FB6F894809360001092600075
-:100910000FBEE0E0FFE3099511E0A0E0B1E0E6E002
-:10092000FAE402C005900D92A433B107D9F721E093
-:10093000A4E3B1E001C01D92AF3EB207E1F70E940F
-:100940000A0B0C9401250C94000061110BC0FC01F2
-:100950008281882321F085EE0E946B1103C085EE11
-:100960000E94331280E090E008950895CF93609143
-:10097000B1017091B2018091B3019091B4010E94D4
-:100980000F1CC82FE0910E01F0910F01808182723F
-:1009900019F0259A2D9A06C00E94431081FDF9CFC7
-:1009A00025982D98C130B9F0C430A9F089EF8C0F8B
-:1009B000823088F08EEF8C0F823018F4269A2E9AAF
-:1009C00002C026982E98C550C23018F4279A2F9A44
-:1009D00002C027982F98CF9108950C94B60456988A
-:1009E0005E9825982D9826982E9827982F988FEF07
-:1009F00090E0909389008093880090938B0080937F
-:100A00008A0090938D0080938C00259A2D9A2FEF69
-:100A100080E792E0215080409040E1F700C0000064
-:100A2000269A2E9A2FEF80E792E021508040904046
-:100A3000E1F700C00000279A2F9A2FEF80E792E09D
-:100A4000215080409040E1F700C0000025982D988B
-:100A50002FEF80E792E0215080409040E1F700C006
-:100A6000000026982E982FEF80E792E021508040DA
-:100A70009040E1F700C0000027982F9856985E98A4
-:100A800025982D9826982E9827982F98089589EACA
-:100A90008093800089E08093810024982C983F986F
-:100AA0008AB18F748AB96E98479A8BB1806B8BB973
-:100AB000769A0E94EF040C94B50480E280930001C2
-:100AC0008091340181110EC00E94AC0581E08093B9
-:100AD00034012FEF83ED90E3215080409040E1F707
-:100AE00000C0000080E40E94B205809300018111E3
-:100AF0002EC00E94DC0580930001811128C00E9455
-:100B0000DC0580930001811122C08FE30E94DC0587
-:100B10008093000181111BC00E94D40580E40E94D3
-:100B2000B20580930001811112C08CE00E94DC05A7
-:100B30008093000181110BC00E94DC0580930001AD
-:100B4000811105C08FE30E94DC05809300010E94A3
-:100B5000D4058091000108951092B9008AE0809335
-:100B6000B800089594EA9093BC009091BC0097FF60
-:100B7000FCCF9091B900987F983021F0903111F01E
-:100B800081E008958093BB0084E88093BC0080914D
-:100B9000BC0087FFFCCF8091B900887F883111F0BD
-:100BA000803471F780E0089584E98093BC008091DF
-:100BB000BC0084FDFCCF08958093BB0084E8809343
-:100BC000BC008091BC0087FFFCCF9091B900987F5A
-:100BD00081E0983209F480E0089584E88093BC00B5
-:100BE0008091BC0087FFFCCF8091BB00089580916D
-:100BF0000001811115C080E40E94B20580930001BC
-:100C000081110CC082E10E94DC05809300018111FA
-:100C100005C08FEF0E94DC05809300010E94D4057F
-:100C200084B1807F84B985B1807F85B98AB1837FA3
-:100C30008AB98BB1837F8BB93E98469808950E94FC
-:100C40005D05809300010E94F70580B38C7080BB26
-:100C500081B3836F81BBE4E4F1E0A6E3B1E01192DC
-:100C60001D9281E0E235F807D1F70C944705BF9259
-:100C7000CF92DF92EF92FF920F931F93CF93DF9368
-:100C800080910001882379F0809135018F5F8093F6
-:100C90003501811108C00E945D058093000181111A
-:100CA00002C00E94EF0406E311E0C0E0D0E0DD24C2
-:100CB000D39482E0C82EEE24E394F12CC73000F5E3
-:100CC00080910001811162C080E40E94B20580938E
-:100CD0000001811112C082E10E94DC0580930001B5
-:100CE00081110BC0C7010C2E01C0880F0A94EAF7CE
-:100CF00080950E94DC05809300010E94D40546C0C7
-:100D0000CA30A1F028F4C83059F0C93061F005C0EC
-:100D1000CC3089F070F0CD3089F0209A289810C03E
-:100D2000219A29980DC0229A2A980AC0239A2B98B2
-:100D300007C0529A01C0539A5B9802C03E9A4698E7
-:100D4000E0EAEA95F1F78FB179995AC092E08170A3
-:100D50008D25892B7C9B02C090E001C094E0892BFB
-:100D60007D9B02C090E001C098E0892B7E9B02C071
-:100D700090E001C090E1892B9FB19095991F992730
-:100D8000991F9295990F907E892B0FC08091000139
-:100D900081114BC080E40E94B2058093000188233A
-:100DA00089F1B12C0E94D4058B2DF8019081981700
-:100DB00019F08083C09201010E94F70521960F5F10
-:100DC0001F4FCE30D10509F079CF809101018823E2
-:100DD00071F1815080930101882339F08FE99FE000
-:100DE0000197F1F700C0000022C0A4E4B1E0E6E3FF
-:100DF000F1E081918D9391E0E434F907D1F717C0C8
-:100E000090E0A5CF83E10E94DC0580930001811171
-:100E1000C8CF81E40E94B205809300018111C1CF47
-:100E20000E94ED05B82EB094BDCF80E0BECF0E94E9
-:100E3000ED0481E0DF91CF911F910F91FF90EF9032
-:100E4000DF90CF90BF900895E82FF0E0EC5BFE4F6D
-:100E50008081089508958B3B910578F4883A910537
-:100E600040F5853A9105D0F48430910508F0B1C081
-:100E70008130910509F4ADC06BC0803E910508F446
-:100E800067C0883E910508F4A4C09C01205F310929
-:100E90002031310508F05CC090650895853A9105D0
-:100EA00009F459C0863A910509F458C083E890E4E2
-:100EB0000895883A910509F454C0893A910509F4D6
-:100EC00053C08A3A910509F452C08B3A910509F44E
-:100ED00051C08C3A910509F450C08D3A910509F43E
-:100EE0004FC0803B910509F44EC08E3A910509F43C
-:100EF0004DC08F3A910509F44CC0813B910509F42E
-:100F00004BC0823B910509F44AC0833B910509F42B
-:100F100049C0843B910509F448C0853B910509F41B
-:100F200047C0863B910509F446C0873B910509F40B
-:100F300045C0883B910509F444C0893B910509F4FB
-:100F400043C08A3B910509F042C08AE296E40895C5
-:100F500080E090E0089581E890E4089582E890E4CC
-:100F6000089582EE94E4089589EE94E408958AEE5B
-:100F700094E4089585EB94E4089586EB94E4089551
-:100F800087EB94E408958CEC94E408958DEC94E45C
-:100F9000089583E895E408958AE895E4089582E940
-:100FA00095E4089584E995E4089581E296E408952E
-:100FB00083E296E4089584E296E4089585E296E457
-:100FC000089586E296E4089587E296E4089580E025
-:100FD00094E40895089596E0799FF001112494E532
-:100FE000899FE00DF11D1124E60FF11DEE0FFF1F8B
-:100FF000E851FF4F859194910895880F991F805A69
-:101000009040FC01859194910895880F991F80521A
-:101010009F4FFC0185919491089526E0729FF00105
-:10102000112444E5849FE00DF11D1124E60FF11D0C
-:10103000EE0FFF1FE851FF4F25913491C9019A959A
-:1010400081159F4110F4C9010895C901905281157D
-:10105000904128F4C9019F700E9405080895C901B4
-:1010600090538115904120F4C9019927906C0895FF
-:10107000211580E5380769F40E94AD159FEF24E340
-:101080004CE0915020404040E1F700C000000C943B
-:10109000081D213080E5380731F48091CD01816051
-:1010A0008093CD010895C90190558115904108F0B4
-:1010B00050C0832F99278F70992781309105D9F4DB
-:1010C000A9014370552702C0880F991F4A95E2F77E
-:1010D0009C68A90164E0440F551F6A95E1F7442715
-:1010E0005370842B952B73E0220F331F7A95E1F711
-:1010F000207633271DC08230910529F4922F88274E
-:10110000816F906A089583309105A9F4A901437015
-:10111000552781E090E002C0880F991F4A95E2F7B9
-:101120009C6843E0220F331F4A95E1F7207E377019
-:10113000822B932B08950497F1F4A901437055274E
-:1011400081E090E002C0880F991F4A95E2F79A6803
-:10115000E8CFC90190578115904120F4C9019F70D3
-:1011600090620895C90190588115904120F4C901F9
-:101170009F70906A0895203E3105E0F4203C3105CF
-:1011800058F52133310509F470C048F4293231058E
-:1011900009F464C02A32310509F46EC074C02933E1
-:1011A0003105F1F022383105D9F02533310509F444
-:1011B0004EC069C0233E310589F138F4203E310527
-:1011C000C1F0223E3105E1F05EC0263E310569F1F5
-:1011D000273E3105A9F157C0C9010E94FD070895B6
-:1011E0008091E00180FD02C081FF4DC080EE90E063
-:1011F0004BC08091E00180FFF9CF89E390E044C0CB
-:101200008091E00182FF0EC08091E00184FF03C065
-:1012100080E090E039C083EE90E036C08091E0013C
-:1012200082FFF2CF82EE90E02FC08091E00183FF39
-:101230000BC08091E00184FDEBCF87EE90E024C0ED
-:101240008091E00183FFF5CF86EE90E01DC0809194
-:10125000E00185FF07C089E290E016C08091E001BF
-:1012600085FFF9CF85E390E00FC08091E00186FF14
-:1012700007C08AE290E008C08091E00186FFF9CFC4
-:1012800081E390E001C0C9010E942B0708950895F1
-:101290000C944709809162010895CF93DF9300D0A9
-:1012A0001F92CDB7DEB72091E601243019F523E077
-:1012B00029839B838A832093E9008FEF9091E80034
-:1012C000815095FD06C095ED9A95F1F700008111CA
-:1012D000F5CF8091E80085FF0DC040E050E063E06D
-:1012E00070E0CE0101960E94B70B8091E8008E77E6
-:1012F0008093E8000F900F900F90DF91CF910895A9
-:10130000CF93DF9300D01F92CDB7DEB72091E601D7
-:10131000243021F522E029839B838A8383E0809314
-:10132000E9008FEF9091E800815095FD06C095EDA2
-:101330009A95F1F700008111F5CF8091E80085FFC3
-:101340000DC040E050E063E070E0CE0101960E94E5
-:10135000B70B8091E8008E778093E8000F900F9094
-:101360000F90DF91CF9108952091E6012430F1F4A0
-:1013700022E02093E9002FEF3091E800215035FD65
-:1013800006C035ED3A95F1F700002111F5CF209117
-:10139000E80025FF0BC040E050E065E070E00E94EF
-:1013A000B70B8091E8008E778093E8000895CF9383
-:1013B000DF93EC018091E601843009F046C0909102
-:1013C0000C019923D9F090910D019923B9F08093E4
-:1013D000E9008FEF9091E800815095FD06C095E1FE
+:100000000C94D7020C941B030C941B030C941B033D
+:100010000C941B030C941B030C941B030C941B03E8
+:100020000C941B030C941B030C94500E0C94220F85
+:100030000C941B030C941B030C941B030C941B03C8
+:100040000C941B030C94A1230C941B030C941B0312
+:100050000C941B030C94451D0C941B030C941B0364
+:100060000C941B030C941B030C941B030C941B0398
+:100070000C941B030C941B030C941B030C941B0388
+:100080000C941B030C941B030C941B030C941B0378
+:100090000C941B030C941B030C941B030C941B0368
+:1000A0000C941B030C941B030C941B032B035F0386
+:1000B0008403C2032B036803A603D00391049104B5
+:1000C00054045E0468047A04870FA90F9410A90FE2
+:1000D0009410EB0F0E1094106310761070137013C1
+:1000E000B113B113F3132F142F162F1647142F1615
+:1000F0003E153E1509162F162F161D16000000007E
+:1001000000000000000000000000000000000000EF
+:100110000AC80BC80CC80DC80EC80FC810C811C833
+:100120000D200C200B300A30E00000001E001400EF
+:1001300004001D0000074E001F001A0016001B00DF
+:10014000000F4C002000080007000600E2002A0013
+:100150002100150009001900E3004B0022001700E0
+:100160000A00050000004A0029002F0000002B02B1
+:1001700000004D002D00300000002B00000050005A
+:1001800023001C000B00110000004F002400180089
+:100190000D001000E700520025000C000E00360094
+:1001A000E6002C00260012000F003700000F280088
+:1001B00027001300330038000007510011201020E1
+:1001C0000F200E30E40000000100010001000100DA
+:1001D000E00000003A001E02200222020007510047
+:1001E0003B001F0221022302000F28003C002F02C7
+:1001F00026022F00E2002C003D00300227023000D2
+:10020000E30052003E002402350035020000500099
+:100210002900360200002B0000004F002D0037029D
+:1002200000002B0200004A003F003102380031007C
+:1002300000004D004000240021001E0027784B00E4
+:100240004100250022001F0037744C0042002600A8
+:10025000230020002E7F2A004300380025022D00B5
+:100260002E774E00010001000100010028710000FE
+:100270000100010001000100E000000044006600F0
+:10028000A60000000007B50045001430F20016304B
+:10029000F60000006800F000F100F100F400B60084
+:1002A00069001530F3001730F500B4006A00A900AA
+:1002B000AA00A8000000B8002900F9000000FA0018
+:1002C0000000B9000000F9000000FA000000AC00D6
+:1002D0006B004600530000000000AB006C004A00B9
+:1002E00050004D004978A9006D00520051005100A6
+:1002F0004C74AE006E004B004F004E00000FAD007E
+:100300006F00B100B30000000007AA000100010067
+:1003100001000100E40000000100010001000100F3
+:10032000010000002900010001000100010001009E
+:1003300001000100010001000100010001000100B5
+:1003400001000100010001000100010001000100A5
+:100350000100010001000100010001000000010096
+:100360000100010000000100000001000100010087
+:100370000000010000000100010001000100010077
+:100380000000010001000100010001000100010066
+:100390000100010001000100010001000100010055
+:1003A00001000100010001002A000100010001001C
+:1003B00001000100010001000100E5000100000052
+:1003C00016034500720067006F0044006F0078005C
+:1003D000200045005A000000160345007200670027
+:1003E0006F0044006F007800200045005A000000B4
+:1003F0000403090409026D00040100A0FA090400C5
+:10040000000103010100092111010001223F000741
+:1004100005810308000A0904010001030102000923
+:100420002111010001224D000705820308000A097D
+:10043000040200010300000009211101000122361D
+:10044000000705830308000A0904030001030000F4
+:100450000009211101000122390007058403100061
+:10046000011201100100000008EDFE071301000158
+:1004700002000105010906A101050719E029E71598
+:1004800000250195087501810205081901290595C6
+:100490000575019102950175039101050719002960
+:1004A0007715002501957875018102C00501098045
+:1004B000A101850216010026B7001A01002AB70023
+:1004C000751095018100C0050C0901A10185031675
+:1004D0000100269C021A01002A9C027510950181D8
+:1004E00000C005010902A1010901A10005091901C6
+:1004F00029051500250195057501810295017503F2
+:1005000081010501093009311581257F95027508A2
+:10051000810609381581257F950175088106050C2E
+:100520000A38021581257F950175088106C0C0052E
+:10053000010906A101050719E029E7150025019524
+:1005400008750181029501750881010508190129C5
+:10055000059505750191029501750391010507192E
+:100560000029FF150025FF950675088100C00000D1
+:10057000000000000000000000010204060A0F173E
+:10058000202C3A4A5D71879DB3C7DAE9F5FCFFFC80
+:10059000F5E9DAC7B39D87715D4A3A2C20170F0A37
+:1005A0000604020100000000000000000000112409
+:1005B0001FBECFEFDAE0DEBFCDBF04B603FE24C01E
+:1005C0008091F6019091F701A091F801B091F901A5
+:1005D0008730904BA740B04BB9F41092F6011092BF
+:1005E000F7011092F8011092F90114BE84B7877FC9
+:1005F00084BF88E10FB6F894809360001092600089
+:100600000FBEE0E0FFE3099511E0A0E0B1E0E0ED0E
+:10061000FAE402C005900D92A433B107D9F721E0A6
+:10062000A4E3B1E001C01D92A63FB207E1F70E942A
+:10063000960B0C9466250C940000DC01462F50E0CC
+:100640004A5051094E30510508F06BC14A5A5F4F6C
+:10065000FA010C94162512962C91129780913A016A
+:1006600090913B012223F9F015962C91207FD9F42B
+:1006700001968330910510F082E090E090933B0169
+:1006800080933A0180913A0190913B01823091052B
+:1006900029F489E30E94F81189E30EC0019709F05B
+:1006A00040C181EEFAC0019790933B0180933A01DB
+:1006B000892B09F036C181EE0E94C01232C1129618
+:1006C0002C918091380190913901222379F090C0CA
+:1006D00012963C91129715962C9180913801909129
+:1006E0003901207F31117AC009F09FC001979093A2
+:1006F000390180933801892B09F013C180913501AC
+:1007000081110FC181E067C012963C911297159636
+:100710002C918091360190913701207F332361F035
+:10072000222309F491C0009709F08EC02091340172
+:1007300021118AC08BE2B1C02223B1F00097A1F44D
+:1007400020913401211110C08BE2B6CF12963C915A
+:10075000129715962C918091360190913701207F48
+:10076000311168C009F08DC00197909337018093D3
+:100770003601892B09F0D5C0809134018111D1C097
+:1007800082E029C012969C91129715968C9199231C
+:10079000B1F0982F907F79F080FD0DC085E37DC08A
+:1007A00012969C91129715968C91992379F0982F17
+:1007B000907F09F06FC083E00E94C31AB2C0982FE7
+:1007C000907F41F080FD06C085E376CF982F907F23
+:1007D00009F066C083E00E94E41AA3C0222341F01E
+:1007E000009731F420913501211102C084E355C0F6
+:1007F00001968330910510F082E090E090933901EA
+:1008000080933801809138019091390182309105AF
+:1008100029F0019709F085C081E0CECF80913501A4
+:1008200091E08927809335017CC0009709F05ECF65
+:1008300084E342CF222341F0009731F42091340128
+:10084000211102C081E329C001968330910510F087
+:1008500082E090E0909337018093360180913601D9
+:10086000909137018230910529F0019709F059C024
+:1008700082E0A2CF8091340191E0892780933401F6
+:1008800050C0009709F070CF2091340121116CCF36
+:1008900081E312CF80FD8FCF8EE20E94F81141C01C
+:1008A00080FD98CF8EE208CF12968C91882319F0A4
+:1008B00080EF90E013C080EF90E017C012968C910B
+:1008C000882319F080EF90E01BC080EF90E021C0FA
+:1008D00012968C91882339F081EF90E00E94B91F25
+:1008E00082EF90E011C081EF90E00E94212082EF22
+:1008F00090E013C012968C91882349F081EF90E02C
+:100900000E94B91F83EF90E00E94B91F08C081EFD9
+:1009100090E00E94212083EF90E00E9421200E941D
+:10092000A62080E090E00895089580913A0190918A
+:100930003B01892B19F0259A2D9A0DC0E0910E01EB
+:10094000F0910F01808185FDF6CF0E94CF1081FDCF
+:10095000F2CF25982D988091B90181FF03C0269A86
+:100960002E9A02C026982E988091B90182FF03C06A
+:10097000279A2F9A089527982F9808950C949504F4
+:1009800056985E9825982D9826982E9827982F98F7
+:100990008FEF90E0909389008093880090938B0074
+:1009A00080938A0090938D0080938C00259A2D9AD5
+:1009B0002FEF80E792E0215080409040E1F700C0A7
+:1009C0000000269A2E9A2FEF80E792E02150804077
+:1009D0009040E1F700C00000279A2F9A2FEF80E7A0
+:1009E00092E0215080409040E1F700C0000025983F
+:1009F0002D982FEF80E792E0215080409040E1F762
+:100A000000C0000026982E982FEF80E792E021503A
+:100A100080409040E1F700C0000027982F9856983A
+:100A20005E9825982D9826982E9827982F980895A7
+:100A300089EA8093800089E08093810024982C9833
+:100A40003F988AB18F748AB96E98479A8BB1806B40
+:100A50008BB9769A0E94C0040C94940480E280932F
+:100A6000000180913C0181110EC00E947D0581E052
+:100A700080933C012FEF83ED90E321508040904024
+:100A8000E1F700C0000080E40E948305809300012C
+:100A900081112EC00E94AD0580930001811128C0F4
+:100AA0000E94AD0580930001811122C08FE30E9456
+:100AB000AD058093000181111BC00E94A50580E453
+:100AC0000E94830580930001811112C08CE00E9476
+:100AD000AD058093000181110BC00E94AD0580938C
+:100AE0000001811105C08FE30E94AD0580930001D4
+:100AF0000E94A5058091000108951092B9008AE036
+:100B00008093B800089594EA9093BC009091BC0043
+:100B100097FFFCCF9091B900987F983021F09031E9
+:100B200011F081E008958093BB0084E88093BC00BD
+:100B30008091BC0087FFFCCF8091B900887F88310D
+:100B400011F0803471F780E0089584E98093BC004F
+:100B50008091BC0084FDFCCF08958093BB0084E8A5
+:100B60008093BC008091BC0087FFFCCF9091B900BE
+:100B7000987F81E0983209F480E0089584E88093BA
+:100B8000BC008091BC0087FFFCCF8091BB00089522
+:100B900080910001811115C080E40E94830580933B
+:100BA000000181110CC082E10E94AD05809300011B
+:100BB000811105C08FEF0E94AD05809300010E9456
+:100BC000A50584B1807F84B985B1807F85B98AB15C
+:100BD000837F8AB98BB1837F8BB93E9846980895FD
+:100BE0000E942E05809300010E94C80580B38C707E
+:100BF00080BB81B3836F81BBECE4F1E0AEE3B1E095
+:100C000011921D9281E0EA35F807D1F70C9418058E
+:100C1000BF92CF92DF92EF92FF920F931F93CF93E9
+:100C2000DF9380910001882379F080913D018F5FEF
+:100C300080933D01811108C00E942E058093000120
+:100C4000811102C00E94C0040EE311E0C0E0D0E0B8
+:100C5000DD24D39482E0C82EEE24E394F12CC73037
+:100C600000F580910001811162C080E40E9483053B
+:100C700080930001811112C082E10E94AD05809332
+:100C8000000181110BC0C7010C2E01C0880F0A940E
+:100C9000EAF780950E94AD05809300010E94A505AA
+:100CA00046C0CA30A1F028F4C83059F0C93061F00C
+:100CB00005C0CC3089F070F0CD3089F0209A2898AA
+:100CC00010C0219A29980DC0229A2A980AC0239A06
+:100CD0002B9807C0529A01C0539A5B9802C03E9A63
+:100CE0004698E0EAEA95F1F78FB179995AC092E017
+:100CF00081708D25892B7C9B02C090E001C094E01F
+:100D0000892B7D9B02C090E001C098E0892B7E9BDF
+:100D100002C090E001C090E1892B9FB19095991F8E
+:100D20009927991F9295990F907E892B0FC08091DA
+:100D3000000181114BC080E40E9483058093000173
+:100D4000882389F1B12C0E94A5058B2DF801908193
+:100D5000981719F08083C09201010E94C80521965E
+:100D60000F5F1F4FCE30D10509F079CF809101017F
+:100D7000882371F1815080930101882339F08FE934
+:100D80009FE00197F1F700C0000022C0ACE4B1E0A1
+:100D9000EEE3F1E081918D9391E0EC34F907D1F726
+:100DA00017C090E0A5CF83E10E94AD0580930001BC
+:100DB0008111C8CF81E40E948305809300018111D5
+:100DC000C1CF0E94BE05B82EB094BDCF80E0BECF8B
+:100DD0000E94BE0481E0DF91CF911F910F91FF909F
+:100DE000EF90DF90CF90BF900895E82FF0E0E45BA4
+:100DF000FE4F808108950895089596E0799FF0014F
+:100E0000112494E5899FE00DF11D1124E60FF11DD9
+:100E1000EE0FFF1FE05EFE4F859194910895880FBD
+:100E2000991F84589040FC01859194910895880FF2
+:100E3000991F84509F4FFC018591949108950F93C1
+:100E40001F93CF93DF93EC01811520E3920730F5D8
+:100E5000811530E2930708F0B1C08B3B910588F40F
+:100E6000883A910508F058C0853A910508F049C0C4
+:100E70008430910508F043C08130910509F4B2C176
+:100E8000AEC18F3F910509F0D0F5803F910508F084
+:100E900092C0805E9109089790F1A1C1C11581E5CA
+:100EA000D807A8F4C23090E5D90708F09FC0C11553
+:100EB00020E5D20709F486C008F092C0C11580E48D
+:100EC000D80708F08CC18E011127106CCCC1C11558
+:100ED00090E8D90758F4C11520E7D20708F07BC184
+:100EE000C11530E6D30708F423C179C1C11580E9E3
+:100EF000D80708F074C18E011F70106AB4C18E014A
+:100F0000B2C1853A910509F470C1863A910509F498
+:100F10006FC103E810E4A7C1883A910509F46BC1D9
+:100F2000893A910509F46AC18A3A910509F469C1BF
+:100F30008B3A910509F468C18C3A910509F467C1AF
+:100F40008D3A910509F466C1803B910509F465C1AC
+:100F50008E3A910509F464C18F3A910509F463C191
+:100F6000813B910509F462C1823B910509F461C19D
+:100F7000833B910509F460C1843B910509F45FC18D
+:100F8000853B910509F45EC1863B910509F45DC17D
+:100F9000873B910509F45CC1883B910509F45BC16D
+:100FA000893B910509F45AC18A3B910509F059C161
+:100FB0000AE216E458C18C01106555C19F700E9469
+:100FC000170752C10E9452169FEF24E33CE0915054
+:100FD00020403040E1F700C000000E946A1D43C17C
+:100FE0008091D50181608093D5013DC10E94121F7F
+:100FF000811102C00E94F81E0E942F1F90E0909362
+:10100000F6018093F501C23080E5D80721F4809184
+:10101000F501816086C0C43090E5D90721F4809144
+:10102000F50182607EC0C63020E5D20721F48091B0
+:10103000F501846076C0C83030E5D30719F480919B
+:10104000F50127C0CA3080E5D80721F48091F50169
+:10105000806167C0CC3090E5D90721F48091F5011B
+:1010600080625FC0CE3020E5D20721F48091F50187
+:10107000806457C0C03130E5D30721F48091F50179
+:1010800080684FC0C23180E5D80729F48091F5010E
+:101090008460886046C0C33090E5D90721F4809110
+:1010A000F5018E7F3EC0C53020E5D20721F4809146
+:1010B000F5018D7F36C0C73030E5D30721F480912C
+:1010C000F5018B7F2EC0C93080E5D80719F48091D7
+:1010D000F50126C0CB3090E5D90721F48091F501C8
+:1010E0008F7E1FC0CD3020E5D20721F48091F5011D
+:1010F0008F7D17C0CF3030E5D30721F48091F50103
+:101100008F7B0FC0C13180E5D80721F48091F501B4
+:101110008F7707C0C331D04531F48091F5018B7FC3
+:10112000877F8093F5018091F5010E94331F9BC05A
+:101130008D2F99278F70992781309105E9F48E01C1
+:10114000037011279C0102C0220F331F0A95E2F79A
+:1011500089011C68CE0164E0880F991F6A95E1F748
+:1011600088279370082B192B73E0CC0FDD1F7A951D
+:10117000E1F7C076DD272CC08230910529F41C2FC1
+:101180000027016F106A6FC08330910561F4CE01B2
+:101190008370992701E010E002C0000F111F8A95AB
+:1011A000E2F71C680EC0049709F05DC0CE018370A1
+:1011B000992701E010E002C0000F111F8A95E2F7A5
+:1011C0001A6843E0CC0FDD1F4A95E1F7C07ED77067
+:1011D0000C2B1D2B48C08E011F70106244C000E014
+:1011E00010E041C001E010E03EC001E810E43BC067
+:1011F00002E810E438C002EE14E435C009EE14E44D
+:1012000032C00AEE14E42FC005EB14E42CC006EB48
+:1012100014E429C007EB14E426C00CEC14E423C04A
+:101220000DEC14E420C003E815E41DC00AE815E441
+:101230001AC002E915E417C004E915E414C001E27C
+:1012400016E411C003E216E40EC004E216E40BC07B
+:1012500005E216E408C006E216E405C007E216E45B
+:1012600002C000E014E4C801DF91CF911F910F91FB
+:10127000089596E0799FF001112494E5899FE00D8F
+:10128000F11D1124E60FF11DEE0FFF1FE05EFE4F72
+:1012900085919491803E9105E0F4803C910558F54C
+:1012A0008133910509F46FC048F48932910509F43E
+:1012B00063C08A32910509F46DC072C0893391050B
+:1012C000E9F082389105D1F08533910509F44DC0DC
+:1012D00067C0833E910581F138F4803E9105B9F0F5
+:1012E000823E9105D9F05CC0863E910561F1873E52
+:1012F0009105A1F155C00E940F0708952091F501B5
+:1013000020FD02C021FF4CC080EE90E049C08091DA
+:10131000F50180FFF9CF89E390E042C08091F501AB
+:1013200082FF0EC08091F50184FF03C080E090E051
+:1013300037C083EE90E034C08091F50182FFF2CF98
+:1013400082EE90E02DC08091F50183FF0BC080916B
+:10135000F50184FDEBCF87EE90E022C08091F5018E
+:1013600083FFF5CF86EE90E01BC08091F50185FFED
+:1013700007C089E290E014C08091F50185FFF9CFA4
+:1013800085E390E00DC08091F50186FF07C08AE2F9
+:1013900090E006C08091F50186FFF9CF81E390E0EF
+:1013A0000E941F07089508950C94D30980916A0143
+:1013B0000895CF93DF9300D01F92CDB7DEB7209171
+:1013C000EC01243019F523E029839B838A83209341
+:1013D000E9008FEF9091E800815095FD06C095EDF2
:1013E0009A95F1F700008111F5CF8091E80085FF13
-:1013F0002CC040E050E060E170E017C081E08093D5
-:10140000E9008FEF9091E800815095FD06C095EDC1
-:101410009A95F1F700008111F5CF8091E80085FFE2
-:1014200014C040E050E068E070E0CE010E94B70BCD
-:101430008091E8008E778093E80080E1FE01A2E5CC
-:10144000B1E001900D928A95E1F7DF91CF91089577
-:101450008091E501811109C00E94490D0E94A60DED
-:101460008091E20084608093E20008951092E5018B
-:10147000089508950C942E230E949F1C0E943423EB
-:101480000E9443100C94480942E061EC81E00E9404
-:10149000C30C42E061EC82E00E94C30C42E061ECCC
-:1014A00083E00E94C30C42E161EC84E00C94C30C25
-:1014B0008091E801833009F455C030F4813071F037
-:1014C000823009F48EC008958A3009F47AC08B30D6
-:1014D00009F460C0893009F09CC020C08091E70108
-:1014E000813A09F096C08091E800877F8093E800F8
-:1014F0008091EB019091EC01892B21F060E080E07C
-:1015000090E003C060E182E591E070E00E94000C91
-:101510008091E8008B778093E80008958091E7013F
-:10152000813209F076C08091EB019091EC01009737
-:1015300019F0039709F06DC08091E800877F8093D0
-:10154000E8008091E80082FD05C08091E6018111EC
-:10155000F8CF5FC08091F100809362018091E80034
-:101560008B7753C08091E701813A09F052C0809196
-:10157000EB019091EC01892B09F04BC08091E800C0
-:10158000877F8093E8008091E80080FFFCCF809106
-:101590000C0136C08091E7018132D9F58091EB01D1
-:1015A0009091EC01892BA9F58091E800877F8093C9
-:1015B000E8000E94F80C8091E90180930C010C94E2
-:1015C000AD158091E701813221F58091E800877F98
-:1015D0008093E8000E94F80C8091EA0180936301F7
-:1015E00008958091E701813AA1F48091E800877F16
-:1015F0008093E8008091E80080FFFCCF8091630138
-:101600008093F1008091E8008E778093E8000C943D
-:10161000F80C089584B7877F84BF88E10FB6F894EB
-:1016200080936000109260000FBE90E080E80FB6DB
-:10163000F89480936100909361000FBE0E94921015
-:101640000E94490D0E94A60D8091E2008460809363
-:10165000E20078940E9421100E94941082E091E0B0
-:101660000E943E100E941C238091E601853069F49F
-:101670000E94621C8091E4018823B1F30E948A1CBD
-:10168000882391F30E94A10BEFCF0E949A10ECCF18
-:10169000292F332723303105A9F06CF4213031058F
-:1016A00009F442C02230310509F043C08DE690E0D4
-:1016B00024E037E042C021323105C9F02232310541
-:1016C00019F137C099278130910541F08230910599
-:1016D00041F0892B71F5E0E0F7E005C0E8EEF6E0B7
-:1016E00002C0E0EDF6E0849190E09F0126C06430F6
-:1016F00000F5E62FF0E0EE0FFF1FEE5DFE4F2081BC
-:10170000318189E090E019C0643098F4E62FF0E070
-:10171000DF01AA0FBB1FA65EBE4F2D913C91EA5E72
-:10172000FE4F808190E009C082E190E021E737E040
-:1017300004C080E090E020E030E0FA0131832083B3
-:10174000089580E189BD82E189BD09B400FEFDCF25
-:101750008091D8008F7D8093D8008091E0008260D6
-:101760008093E0008091E00081FDFCCF0895CF924E
-:10177000DF92EF92FF920F931F93CF93DF937C0141
-:101780008B01EA010E94190D811131C0209731F0BF
-:1017900088819981081B190BE80EF91EC12CD12CE8
-:1017A0000115110519F18091E80085FD14C08091A3
-:1017B000E8008E778093E800209741F08881998136
-:1017C0008C0D9D1D9983888385E011C00E94190DA1
-:1017D000882331F30CC0F70181917F018093F100E0
-:1017E00001501109FFEFCF1ADF0ADACF80E0DF9155
-:1017F000CF911F910F91FF90EF90DF90CF900895C0
-:101800002091ED013091EE012617370748F0611560
-:10181000710539F42091E8002E772093E80001C08B
-:10182000B901FC0120E061157105B9F18091E60173
-:10183000882309F440C0853009F43FC08091E80056
-:1018400083FD3DC08091E80082FF06C08091E800E2
-:1018500082FF26C080E008958091E80080FFE3CFFA
-:101860002091F3008091F20090E0922B61157105B8
-:1018700051F08830910538F421912093F1006150A6
-:1018800071090196F3CF21E0089709F020E08091DB
-:10189000E8008E778093E800C6CF2111C7CFD6CF5E
-:1018A0008091E601882339F0853039F08091E80095
-:1018B00083FFCCCF04C082E0089583E0089581E0E7
-:1018C00008952091ED013091EE012617370748F079
-:1018D0006115710539F42091E8002E772093E80016
-:1018E00001C0B901FC0120E061157105C1F18091D1
-:1018F000E601882309F441C0853009F440C0809195
-:10190000E80083FD3EC08091E80082FF06C0809120
-:10191000E80082FF27C080E008958091E80080FF02
-:10192000E3CF2091F3008091F20090E0922B6115BB
-:10193000710559F08830910540F424912093F1000D
-:101940003196615071090196F2CF21E0089709F0B4
-:1019500020E08091E8008E778093E800C5CF2111C8
-:10196000C6CFD5CF8091E601882339F0853039F094
-:101970008091E80083FFCBCF04C082E0089583E02C
-:10198000089581E00895982F973058F59093E900D5
-:10199000981739F07091EC002091ED005091F00013
-:1019A00003C0242F762F50E021FF19C03091EB00A7
-:1019B0003E7F3093EB003091ED003D7F3093ED00A2
-:1019C0003091EB0031603093EB007093EC0020938A
-:1019D000ED005093F0002091EE0027FF07C09F5FBD
-:1019E000D3CF8F708093E90081E0089580E008955F
-:1019F0008091E70187FD05C08091E80080FF0EC05F
-:101A000012C08091E80082FD05C08091E60181113D
-:101A1000F8CF08958091E8008B7708C08091E601A7
-:101A20008111EACF08958091E8008E778093E800D5
-:101A300008958091E4009091E50045E62091EC0046
-:101A400020FF21C02091E80020FD21C02091E60167
-:101A5000222389F0253089F02091EB0025FD0FC06D
-:101A60002091E4003091E5002817390739F34150FF
-:101A700041F0C901E3CF82E0089583E0089581E059
-:101A8000089584E008952091E80022FFDFCF80E0F0
-:101A900008950E94B70D0E94BF0DE0EEF0E0808136
-:101AA00081608083E8EDF0E080818F77808319BCCE
-:101AB000A7EDB0E08C918E7F8C9380818F7E8083A8
-:101AC0001092E50108950F931F93CF93DF930E9427
-:101AD000B70D0E94BF0DC8EDD0E088818F77888355
-:101AE00088818068888388818F7D888319BC109263
-:101AF000E6011092E2011092E4011092E30100EE7F
-:101B000010E0F80180818B7F8083888181608883E9
-:101B100042E060E080E00E94C30CE1EEF0E08081F2
-:101B20008E7F8083E2EEF0E080818160808380811F
-:101B300088608083F80180818E7F808388818061C6
-:101B40008883DF91CF911F910F910895E8EDF0E028
-:101B500080818F7E8083E7EDF0E0808181608083EB
-:101B600084E082BF81E08093E5010C94630DE8ED91
-:101B7000F0E080818E7F80831092E20008951092C1
-:101B8000DA001092E10008951F920F920FB60F92A3
-:101B900011242F933F934F935F936F937F938F9372
-:101BA0009F93AF93BF93EF93FF938091E10082FFE8
-:101BB0000BC08091E20082FF07C08091E1008B7F23
-:101BC0008093E1000E9420108091DA0080FF1FC006
-:101BD0008091D80080FF1BC08091DA008E7F8093B7
-:101BE000DA008091D90080FF0DC080E189BD82E1DB
-:101BF00089BD09B400FEFDCF81E08093E6010E941B
-:101C0000280A05C019BC1092E6010E94360A80918C
-:101C1000E10080FF19C08091E20080FF15C0809133
-:101C2000E2008E7F8093E2008091E20080618093E9
-:101C3000E2008091D80080628093D80019BC85E0D2
-:101C40008093E6010E943A0A8091E10084FF30C04F
-:101C50008091E20084FF2CC080E189BD82E189BDD2
-:101C600009B400FEFDCF8091D8008F7D8093D8000D
-:101C70008091E1008F7E8093E1008091E2008F7E71
-:101C80008093E2008091E20081608093E200809185
-:101C9000E201882311F084E007C08091E30087FF10
-:101CA00002C083E001C081E08093E6010E943C0A0B
-:101CB0008091E10083FF29C08091E20083FF25C06D
-:101CC0008091E100877F8093E10082E08093E601CC
-:101CD0001092E2018091E1008E7F8093E10080917B
-:101CE000E2008E7F8093E2008091E2008061809329
-:101CF000E20042E060E080E00E94C30C8091F000CE
-:101D000088608093F0000E94390AFF91EF91BF91A3
-:101D1000AF919F918F917F916F915F914F913F9183
-:101D20002F910F900FBE0F901F9018951F920F923A
-:101D30000FB60F9211242F933F934F935F936F939E
-:101D40007F938F939F93AF93BF93CF93EF93FF9323
-:101D5000C091E900CF708091EC001092E900809171
-:101D6000F000877F8093F00078940E94D20E10924A
-:101D7000E9008091F00088608093F000C093E90052
-:101D8000FF91EF91CF91BF91AF919F918F917F91F3
-:101D90006F915F914F913F912F910F900FBE0F90D8
-:101DA0001F9018951F93CF93DF93CDB7DEB7AA97F7
-:101DB0000FB6F894DEBF0FBECDBFE7EEF1E0809125
-:101DC000F100819321E0EF3EF207C9F70E94580A23
-:101DD0008091E80083FF1CC12091E7013091E80168
-:101DE000832F90E08A30910508F012C1FC01EA5A75
-:101DF000FF4F0C94B624203881F0223809F008C136
-:101E00008091EB018F708093E9008091EB0085FB5E
-:101E1000882780F91092E90006C08091E301909133
-:101E2000E401911182609091E800977F9093E8001F
-:101E30008093F1001092F100C5C0822F8D7F09F0D0
-:101E4000E7C0222319F0223061F0E2C08091E9015D
-:101E5000813009F0DDC0333009F080E08093E40187
-:101E600028C08091E901811124C02091EB012F70DD
-:101E700009F4CEC02093E9008091EB0080FF19C0E7
-:101E80008091EB00333011F4806211C08061809347
-:101E9000EB0081E090E0022E01C0880F0A94EAF77F
-:101EA0008093EA001092EA008091EB0088608093B2
-:101EB000EB001092E9008091E800877F86C0211135
-:101EC000A7C01091E9011F778091E3008078812BF2
-:101ED0008093E3008091E800877F8093E8000E9470
-:101EE000F80C8091E80080FFFCCF8091E3008068CF
-:101EF0008093E300112311F083E001C082E080931E
-:101F0000E60186C02058223008F082C08091E901A5
-:101F10009091EA018C3D23E0920779F583E08A8372
-:101F20008AE289834FB7F894DE01139620E03EE001
-:101F300051E2E32FF0E050935700E49120FF03C0FB
-:101F4000E295EF703F5FEF708E2F90E0EA3010F077
-:101F5000C79601C0C0968D939D932F5F243149F79A
-:101F60004FBF8091E800877F8093E8006AE270E0CD
-:101F7000CE0101960E94000C14C0AE014F5F5F4F6E
-:101F80006091EB010E94480B009709F441C0209139
-:101F9000E800277F2093E800BC0189819A810E9494
-:101FA000610C8091E8008B778093E80031C0203885
-:101FB00079F58091E800877F8093E8008091E201C5
-:101FC0008093F1008091E8008E778093E8000E9472
-:101FD000F80C1EC021111CC09091E9019230C0F490
-:101FE0008091E800877F8093E8009093E2010E944F
-:101FF000F80C8091E201811104C08091E30087FF19
-:1020000002C084E001C081E08093E6010E94440A9E
-:102010008091E80083FF0AC08091E800877F809369
-:10202000E8008091EB0080628093EB00AA960FB6E7
-:10203000F894DEBF0FBECDBFDF91CF911F91089501
-:102040000895CF938091E6018823B1F08091E90053
-:102050008F709091EC0090FF02C090E801C090E07A
-:10206000C92FC82B1092E9008091E80083FD0E94DF
-:10207000D20ECF70C093E900CF910895909369017B
-:10208000809368010895E0916801F09169013097AB
-:1020900021F00190F081E02D099480E00895E09115
-:1020A0006801F0916901309721F00280F381E02D01
-:1020B00009940895E0916801F0916901309721F049
-:1020C0000480F581E02D09940895209166013091F6
-:1020D00067018217930771F09093670180936601FF
-:1020E000E0916801F0916901309721F00680F78155
-:1020F000E02D0994089520916401309165018217C3
-:10210000930771F09093650180936401E0916801F9
-:10211000F0916901309721F00084F185E02D099458
-:10212000089508950C9491100E94A51C0E941F060A
-:102130000C946B1DCF92DF92EF92FF920F931F933F
-:10214000CF93DF93CDB7DEB72B970FB6F894DEBFF2
-:102150000FBECDBF0E9437063BE6E32E31E0F32EE3
-:1021600000E010E0C02E802F0E942407F701D190DC
-:102170007F01D826B1F40F5F1F4F0E30110591F784
-:102180008FEF89838A831B820E94AE1C8160782F27
-:102190009D838C8349815A816B818D810E943D1181
-:1021A00041C09091CD0191FF04C08B870E942A0706
-:1021B0008B8520E030E04D2D50E0922FBA01022EA9
-:1021C00002C0759567950A94E2F760FF25C02E83DB
-:1021D000CF82EE24E394F12C02C0EE0CFF1C9A9502
-:1021E000E2F790E08E219F2121E0892B09F420E085
-:1021F00028870E94AE1C8160782F9A8789874E813C
-:102200005F8168858A850E943D11F801E559FE4F7E
-:1022100080818E25808306C02F5F3F4F2630310599
-:1022200061F6A9CF0E944F2010916A010E944310CD
-:102230001817A1F00E94431080936A012B960FB6E5
-:10224000F894DEBF0FBECDBFDF91CF911F910F91EC
-:10225000FF90EF90DF90CF900C9448092B960FB62B
-:10226000F894DEBF0FBECDBFDF91CF911F910F91CC
-:10227000FF90EF90DF90CF900895CF93DF93CDB78D
-:10228000DEB72B970FB6F894DEBF0FBECDBF4F83DE
-:10229000588769877A878B87DE01119686E0FD0172
-:1022A00011928A95E9F785E0FE01379601900D922B
-:1022B0008A95E1F749815A816B817C818D819E816C
-:1022C0000E9479182B960FB6F894DEBF0FBECDBFD3
-:1022D000DF91CF910895CF93C82F882309F4C1C00F
-:1022E000823859F40E94431081FDBBC089E30E94EB
-:1022F000161B0E94E01B89E30CC0833879F40E940E
-:10230000431080FDAEC083E50E94161B0E94E01BB7
-:1023100083E50E94561BCF910C94E01B843859F43E
-:102320000E94431082FD9DC087E40E94161B0E94FC
-:10233000E01B87E4EECF8CEF8C0F813A48F48C2FB2
-:102340000E94842281118DC08C2F0E94161BE3CF26
-:1023500080E28C0F883048F4C77081E001C0880F9C
-:10236000CA95EAF70E94971BD6CF8BE58C0F833076
-:1023700078F4C53A29F0C63A31F482E890E005C015
-:1023800081E890E002C083E890E0CF910C94651062
-:1023900088E58C0F833108F064C0C83A39F1C93A36
-:1023A00041F1CA3A49F1CB3A51F1CC3A59F1CD3A1F
-:1023B00061F1C03B69F1CE3A71F1CF3A79F1C13B9D
-:1023C00081F1C23B89F1C33B91F1C43B99F1C53B1B
-:1023D000A1F1C63BA9F1C73BB1F1C83BB9F1C93B7B
-:1023E000C1F1CA3BC9F58AE292E038C082EE90E0C2
-:1023F00035C089EE90E032C08AEE90E02FC085EBC8
-:1024000090E02CC086EB90E029C087EB90E026C0DE
-:102410008CEC90E023C08DEC90E020C083E891E04C
-:102420001DC08AE891E01AC082E991E017C084E9F2
-:1024300091E014C081E292E011C083E292E00EC00C
-:1024400084E292E00BC085E292E008C086E292E06E
-:1024500005C087E292E002C080E090E0CF910C944A
-:102460007B10CF910895882309F44BC0823859F42A
-:102470000E94431081FF45C089E30E94161B0E9401
-:10248000E01B89E30CC0833871F40E94431080FF85
-:1024900038C083E50E94161B0E94E01B83E50E9462
-:1024A000561B0C94E01B843859F40E94431082FFA1
-:1024B00028C087E40E94161B0E94E01B87E4EFCF30
-:1024C0009CEF980F913A58F390E2980F983050F49F
-:1024D000877091E001C0990F8A95EAF7892F0E94D1
-:1024E0009D1BDFCF9BE5980F933020F480E090E0B8
-:1024F0000C946510885A833120F480E090E00C94AD
-:102500007B100895882321F00E94971B0C94E01BF8
-:102510000895882321F00E949D1B0C94E01B0895D0
-:10252000CF92DF92EF92FF920F931F93CF93DF939F
-:10253000CDB7DEB728970FB6F894DEBF0FBECDBF7C
-:102540008C0185E0F801DE01119601900D928A95CB
-:10255000E1F7F80140813181F280258122952F70C9
-:1025600083819481892B31F03F3F31F481E04F3FEB
-:1025700019F403C081E001C080E080FDCBC2498333
-:102580003A8389819A812F830E94D41A9E838887F7
-:102590000E94D31A0E94A6192F814E816885FF20C0
-:1025A00029F00E94B41B68854E812F81E42FE295AB
-:1025B000EF70F0E0E05AFF4F0C94B624842F807F38
-:1025C000142F1F70882311F01295107FFF2059F0EF
-:1025D000112309F454C2812F68870E94A71B0E940F
-:1025E000E01B68854CC2862F0E943312112309F428
-:1025F00091C2812F0E94AD1B28960FB6F894DEBFC2
-:102600000FBECDBFDF91CF911F910F91FF90EF9043
-:10261000DF90CF900C94E01B342F307F842F8F708D
-:10262000303211F08295807F662319F0613019F104
-:102630002BC0FF20B1F0222309F493C1213009F00F
-:1026400090C128960FB6F894DEBF0FBECDBFDF91C4
-:10265000CF911F910F91FF90EF90DF90CF900C944E
-:10266000C71B222319F0213009F454C28E830E9423
-:10267000CA1B8E8189C1FF2021F0223008F04AC296
-:1026800070C1211147C280C1FF2021F0222309F42B
-:1026900068C1F5C1222309F477C105C2242F26950C
-:1026A0002695237030E02115310521F021303105C8
-:1026B000C9F030C2FF2021F0862F942F937002C002
-:1026C00080E090E028960FB6F894DEBF0FBECDBF35
-:1026D000DF91CF911F910F91FF90EF90DF90CF90FE
-:1026E0000C946510FF2021F0862F942F937002C068
-:1026F00080E090E028960FB6F894DEBF0FBECDBF05
-:10270000DF91CF911F910F91FF90EF90DF90CF90CD
-:102710000C947B10862FFF2019F00E94571F02C0D7
-:102720000E94BF1F28960FB6F894DEBF0FBECDBF24
-:10273000DF91CF911F910F91FF90EF90DF90CF909D
-:102740000C944420842F837009F076C0F110E2C10C
-:10275000262F229526952770220F220F862F8F7005
-:10276000C82ED12CE12CF12C022E04C0CC0CDD1C87
-:10277000EE1CFF1C0A94D2F764FF10C06FE070E0FB
-:1027800080E090E004C0660F771F881F991F2A958C
-:10279000D2F7609570958095909503C060E070E0E9
-:1027A000CB01242F269526952370422F50E04230EE
-:1027B0005105D1F04330510559F16C297D298E29FD
-:1027C0009F294130510541F128960FB6F894DEBF9C
-:1027D0000FBECDBFDF91CF911F910F91FF90EF9072
-:1027E000DF90CF900C94CB196C297D298E299F29DD
-:1027F00028960FB6F894DEBF0FBECDBFDF91CF9104
-:102800001F910F91FF90EF90DF90CF900C94E519FE
-:102810000E94CB19C701B60128960FB6F894DEBF07
-:102820000FBECDBFDF91CF911F910F91FF90EF9021
-:10283000DF90CF900C94B119FF2019F0842F817094
-:1028400001C08695882309F465C1262F2295269517
-:102850002770220F220F862F8F70C82ED12CE12CCB
-:10286000F12C022E04C0CC0CDD1CEE1CFF1C0A94C3
-:10287000D2F764FF10C06FE070E080E090E004C029
-:10288000660F771F881F991F2A95D2F7609570955C
-:102890008095909503C060E070E0CB01242F2695D1
-:1028A00026952370422F50E042305105D1F043303D
-:1028B000510559F16C297D298E299F2941305105F7
-:1028C00041F128960FB6F894DEBF0FBECDBFDF9161
-:1028D000CF911F910F91FF90EF90DF90CF900C94CC
-:1028E0009F1A6C297D298E299F2928960FB6F89466
-:1028F000DEBF0FBECDBFDF91CF911F910F91FF9033
-:10290000EF90DF90CF900C94B91A0E949F1AC701E4
-:10291000B60128960FB6F894DEBF0FBECDBFDF918B
+:1013F0000DC040E050E063E070E0CE0101960E9435
+:10140000430C8091E8008E778093E8000F900F9056
+:101410000F90DF91CF910895CF93DF9300D01F926B
+:10142000CDB7DEB72091EC01243021F522E02983ED
+:101430009B838A8383E08093E9008FEF9091E8009B
+:10144000815095FD06C095ED9A95F1F70000811148
+:10145000F5CF8091E80085FF0DC040E050E063E0EB
+:1014600070E0CE0101960E94430C8091E8008E77D7
+:101470008093E8000F900F900F90DF91CF91089527
+:101480002091EC012430F1F422E02093E9002FEFC9
+:101490003091E800215035FD06C035ED3A95F1F761
+:1014A00000002111F5CF2091E80025FF0BC040E09E
+:1014B00050E065E070E00E94430C8091E8008E7778
+:1014C0008093E8000895CF93DF93EC018091EC01C5
+:1014D000843009F046C090910C019923D9F0909185
+:1014E0000D019923B9F08093E9008FEF9091E80006
+:1014F000815095FD06C095E19A95F1F700008111A4
+:10150000F5CF8091E80085FF2CC040E050E060E11D
+:1015100070E017C081E08093E9008FEF9091E800C0
+:10152000815095FD06C095ED9A95F1F70000811167
+:10153000F5CF8091E80085FF14C040E050E068E0FE
+:1015400070E0CE010E94430C8091E8008E7780937A
+:10155000E80080E1FE01AAE5B1E001900D928A95D4
+:10156000E1F7DF91CF9108958091EB01811109C0DE
+:101570000E94D50D0E94320E8091E200846080931B
+:10158000E20008951092EB01089508950C948E23C3
+:101590000E94011D0E9494230E94CF100C94D40934
+:1015A00042E061EC81E00E944F0D42E061EC82E09C
+:1015B0000E944F0D42E061EC83E00E944F0D42E13A
+:1015C00061EC84E00C944F0D8091EE01833009F4BE
+:1015D00055C030F4813071F0823009F48EC0089526
+:1015E0008A3009F47AC08B3009F460C0893009F080
+:1015F0009CC020C08091ED01813A09F096C0809195
+:10160000E800877F8093E8008091F1019091F201DA
+:10161000892B21F060E080E090E003C060E18AE582
+:1016200091E070E00E948C0C8091E8008B778093B1
+:10163000E80008958091ED01813209F076C0809133
+:10164000F1019091F201009719F0039709F06DC034
+:101650008091E800877F8093E8008091E80082FD18
+:1016600005C08091EC018111F8CF5FC08091F1003D
+:1016700080936A018091E8008B7753C08091ED01DF
+:10168000813A09F052C08091F1019091F201892BC9
+:1016900009F04BC08091E800877F8093E80080913B
+:1016A000E80080FFFCCF80910C0136C08091ED01F5
+:1016B0008132D9F58091F1019091F201892BA9F540
+:1016C0008091E800877F8093E8000E94840D8091DC
+:1016D000EF0180930C010C9452168091ED01813240
+:1016E00021F58091E800877F8093E8000E94840DB7
+:1016F0008091F00180936B0108958091ED01813A12
+:10170000A1F48091E800877F8093E8008091E80051
+:1017100080FFFCCF80916B018093F1008091E80005
+:101720008E778093E8000C94840D089584B7877FAA
+:1017300084BF88E10FB6F894809360001092600037
+:101740000FBE90E080E80FB6F8948093610090930C
+:1017500061000FBE0E941E110E94D50D0E94320E24
+:101760008091E20084608093E20078940E94AD1042
+:101770000E94201182E091E00E94CA100E947C2306
+:101780008091EC01853069F40E94C11C8091EA01CE
+:101790008823B1F30E94EC1C882391F30E942D0C46
+:1017A000EFCF0E942611ECCF292F332723303105AC
+:1017B000A9F06CF42130310509F442C02230310522
+:1017C00009F043C08DE690E024EF33E042C02132BF
+:1017D0003105C9F02232310519F137C0992781301E
+:1017E000910541F08230910541F0892B71F5E0EFD0
+:1017F000F3E005C0E8EDF3E002C0E0ECF3E0849133
+:1018000090E09F0126C0643000F5E62FF0E0EE0F77
+:10181000FF1FEE5DFE4F2081318189E090E019C00D
+:10182000643098F4E62FF0E0DF01AA0FBB1FA65E3C
+:10183000BE4F2D913C91EA5EFE4F808190E009C041
+:1018400082E190E021E634E004C080E090E020E016
+:1018500030E0FA0131832083089580E189BD82E17F
+:1018600089BD09B400FEFDCF8091D8008F7D8093A3
+:10187000D8008091E00082608093E0008091E000D9
+:1018800081FDFCCF0895CF92DF92EF92FF920F93EC
+:101890001F93CF93DF937C018B01EA010E94A50D7A
+:1018A000811131C0209731F088819981081B190B73
+:1018B000E80EF91EC12CD12C0115110519F18091EA
+:1018C000E80085FD14C08091E8008E778093E800E1
+:1018D000209741F0888199818C0D9D1D9983888383
+:1018E00085E011C00E94A50D882331F30CC0F701DB
+:1018F00081917F018093F10001501109FFEFCF1A10
+:10190000DF0ADACF80E0DF91CF911F910F91FF9036
+:10191000EF90DF90CF9008952091F3013091F40182
+:101920002617370748F06115710539F42091E80052
+:101930002E772093E80001C0B901FC0120E0611579
+:101940007105B9F18091EC01882309F440C085301C
+:1019500009F43FC08091E80083FD3DC08091E8001C
+:1019600082FF06C08091E80082FF26C080E00895D3
+:101970008091E80080FFE3CF2091F3008091F20096
+:1019800090E0922B6115710551F08830910538F483
+:1019900021912093F100615071090196F3CF21E06C
+:1019A000089709F020E08091E8008E778093E800A6
+:1019B000C6CF2111C7CFD6CF8091EC01882339F053
+:1019C000853039F08091E80083FFCCCF04C082E0FD
+:1019D000089583E0089581E008952091F301309106
+:1019E000F4012617370748F06115710539F4209185
+:1019F000E8002E772093E80001C0B901FC0120E047
+:101A000061157105C1F18091EC01882309F441C091
+:101A1000853009F440C08091E80083FD3EC080918C
+:101A2000E80082FF06C08091E80082FF27C080E0C6
+:101A300008958091E80080FFE3CF2091F30080912A
+:101A4000F20090E0922B6115710559F088309105F4
+:101A500040F424912093F100319661507109019670
+:101A6000F2CF21E0089709F020E08091E8008E771E
+:101A70008093E800C5CF2111C6CFD5CF8091EC016E
+:101A8000882339F0853039F08091E80083FFCBCF8F
+:101A900004C082E0089583E0089581E00895982FBE
+:101AA000973058F59093E900981739F07091EC0051
+:101AB0002091ED005091F00003C0242F762F50E0CC
+:101AC00021FF19C03091EB003E7F3093EB00309145
+:101AD000ED003D7F3093ED003091EB0031603093AD
+:101AE000EB007093EC002093ED005093F0002091F8
+:101AF000EE0027FF07C09F5FD3CF8F708093E90070
+:101B000081E0089580E008958091ED0187FD05C092
+:101B10008091E80080FF0EC012C08091E80082FD35
+:101B200005C08091EC018111F8CF08958091E80003
+:101B30008B7708C08091EC018111EACF08958091E4
+:101B4000E8008E778093E80008958091E4009091FA
+:101B5000E50045E62091EC0020FF21C02091E8003F
+:101B600020FD21C02091EC01222389F0253089F04D
+:101B70002091EB0025FD0FC02091E4003091E5009D
+:101B80002817390739F3415041F0C901E3CF82E00A
+:101B9000089583E0089581E0089584E008952091F8
+:101BA000E80022FFDFCF80E008950E94430E0E94EC
+:101BB0004B0EE0EEF0E0808181608083E8EDF0E0A4
+:101BC00080818F77808319BCA7EDB0E08C918E7FE8
+:101BD0008C9380818F7E80831092EB0108950F9308
+:101BE0001F93CF93DF930E94430E0E944B0EC8EDCC
+:101BF000D0E088818F778883888180688883888116
+:101C00008F7D888319BC1092EC011092E80110922C
+:101C1000EA011092E90100EE10E0F80180818B7F6B
+:101C2000808388818160888342E060E080E00E9458
+:101C30004F0DE1EEF0E080818E7F8083E2EEF0E0F8
+:101C4000808181608083808188608083F8018081C9
+:101C50008E7F8083888180618883DF91CF911F91FF
+:101C60000F910895E8EDF0E080818F7E8083E7EDAD
+:101C7000F0E080818160808384E082BF81E0809396
+:101C8000EB010C94EF0DE8EDF0E080818E7F808316
+:101C90001092E20008951092DA001092E100089587
+:101CA0001F920F920FB60F9211242F933F934F93D1
+:101CB0005F936F937F938F939F93AF93BF93EF93B4
+:101CC000FF938091E10082FF0BC08091E20082FFD0
+:101CD00007C08091E1008B7F8093E1000E94AC10EF
+:101CE0008091DA0080FF1FC08091D80080FF1BC068
+:101CF0008091DA008E7F8093DA008091D90080FF96
+:101D00000DC080E189BD82E189BD09B400FEFDCF2F
+:101D100081E08093EC010E94B40A05C019BC1092C6
+:101D2000EC010E94C20A8091E10080FF19C08091FD
+:101D3000E20080FF15C08091E2008E7F8093E20078
+:101D40008091E20080618093E2008091D8008062FF
+:101D50008093D80019BC85E08093EC010E94C60AEC
+:101D60008091E10084FF30C08091E20084FF2CC0AC
+:101D700080E189BD82E189BD09B400FEFDCF80917B
+:101D8000D8008F7D8093D8008091E1008F7E809372
+:101D9000E1008091E2008F7E8093E2008091E2007A
+:101DA00081608093E2008091E801882311F084E053
+:101DB00007C08091E30087FF02C083E001C081E09B
+:101DC0008093EC010E94C80A8091E10083FF29C042
+:101DD0008091E20083FF25C08091E100877F80939E
+:101DE000E10082E08093EC011092E8018091E10033
+:101DF0008E7F8093E1008091E2008E7F8093E200ED
+:101E00008091E20080618093E20042E060E080E047
+:101E10000E944F0D8091F00088608093F0000E9436
+:101E2000C50AFF91EF91BF91AF919F918F917F91E3
+:101E30006F915F914F913F912F910F900FBE0F9037
+:101E40001F9018951F920F920FB60F9211242F9387
+:101E50003F934F935F936F937F938F939F93AF9332
+:101E6000BF93CF93EF93FF93C091E900CF70809120
+:101E7000EC001092E9008091F000877F8093F000E1
+:101E800078940E945E0F1092E9008091F0008860C3
+:101E90008093F000C093E900FF91EF91CF91BF9143
+:101EA000AF919F918F917F916F915F914F913F91F2
+:101EB0002F910F900FBE0F901F9018951F93CF93E7
+:101EC000DF93CDB7DEB7AA970FB6F894DEBF0FBE8B
+:101ED000CDBFEDEEF1E08091F100819321E0E53F8F
+:101EE000F207C9F70E94E40A8091E80083FF1CC151
+:101EF0002091ED013091EE01832F90E08A30910521
+:101F000008F012C1FC01EC59FF4F0C941625203843
+:101F100081F0223809F008C18091F1018F7080931F
+:101F2000E9008091EB0085FB882780F91092E90099
+:101F300006C08091E9019091EA019111826090912F
+:101F4000E800977F9093E8008093F1001092F100F1
+:101F5000C5C0822F8D7F09F0E7C0222319F02230FF
+:101F600061F0E2C08091EF01813009F0DDC03330D3
+:101F700009F080E08093EA0128C08091EF0181118F
+:101F800024C02091F1012F7009F4CEC02093E90004
+:101F90008091EB0080FF19C08091EB00333011F489
+:101FA000806211C080618093EB0081E090E0022E9E
+:101FB00001C0880F0A94EAF78093EA001092EA00C1
+:101FC0008091EB0088608093EB001092E900809193
+:101FD000E800877F86C02111A7C01091EF011F770D
+:101FE0008091E3008078812B8093E3008091E8006A
+:101FF000877F8093E8000E94840D8091E80080FF35
+:10200000FCCF8091E30080688093E300112311F0FE
+:1020100083E001C082E08093EC0186C0205822302A
+:1020200008F082C08091EF019091F0018C3D23E097
+:10203000920779F583E08A838AE289834FB7F8941F
+:10204000DE01139620E03EE051E2E32FF0E05093F2
+:102050005700E49120FF03C0E295EF703F5FEF70FF
+:102060008E2F90E0EA3010F0C79601C0C0968D9395
+:102070009D932F5F243149F74FBF8091E800877F00
+:102080008093E8006AE270E0CE0101960E948C0C19
+:1020900014C0AE014F5F5F4F6091F1010E94D40BFD
+:1020A000009709F441C02091E800277F2093E800C1
+:1020B000BC0189819A810E94ED0C8091E8008B77A8
+:1020C0008093E80031C0203879F58091E800877F5F
+:1020D0008093E8008091E8018093F1008091E8000E
+:1020E0008E778093E8000E94840D1EC021111CC0D1
+:1020F0009091EF019230C0F48091E800877F809347
+:10210000E8009093E8010E94840D8091E80181111C
+:1021100004C08091E30087FF02C084E001C081E039
+:102120008093EC010E94D00A8091E80083FF0AC0EE
+:102130008091E800877F8093E8008091EB008062C7
+:102140008093EB00AA960FB6F894DEBF0FBECDBF0A
+:10215000DF91CF911F9108950895CF938091EC0165
+:102160008823B1F08091E9008F709091EC0090FF8E
+:1021700002C090E801C090E0C92FC82B1092E9007E
+:102180008091E80083FD0E945E0FCF70C093E9004C
+:10219000CF91089590937101809370010895E0911B
+:1021A0007001F0917101309721F00190F081E02DE4
+:1021B000099480E00895E0917001F09171013097E9
+:1021C00021F00280F381E02D09940895E0917001DF
+:1021D000F0917101309721F00480F581E02D099490
+:1021E000089520916E0130916F018217930771F06D
+:1021F00090936F0180936E01E0917001F0917101F5
+:10220000309721F00680F781E02D09940895209100
+:102210006C0130916D018217930771F090936D01FD
+:1022200080936C01E0917001F0917101309721F081
+:102230000084F185E02D0994089508950C941D11F2
+:102240000E94071D0E94F0050C94CD1DCF92DF92D5
+:10225000EF92FF920F931F93CF93DF93CDB7DEB72B
+:102260002B970FB6F894DEBF0FBECDBF0E940806B5
+:1022700033E7E32E31E0F32E00E010E0C02E802F94
+:102280000E94F506F701D1907F01D826B1F40F5FC7
+:102290001F4F0E30110591F78FEF89838A831B82C0
+:1022A0000E94101D8160782F9D838C8349815A8103
+:1022B0006B818D810E94C91141C09091D50191FF20
+:1022C00004C08B870E94FB068B8520E030E04D2DFB
+:1022D00050E0922FBA01022E02C0759567950A94BC
+:1022E000E2F760FF25C02E83CF82EE24E394F12C29
+:1022F00002C0EE0CFF1C9A95E2F790E08E219F2120
+:1023000021E0892B09F420E028870E94101D8160BC
+:10231000782F9A8789874E815F8168858A850E9498
+:10232000C911F801ED58FE4F80818E25808306C0CB
+:102330002F5F3F4F2630310561F6A9CF0E94B120B3
+:10234000109172010E94CF101817A1F00E94CF10B7
+:10235000809372012B960FB6F894DEBF0FBECDBFEF
+:10236000DF91CF911F910F91FF90EF90DF90CF9071
+:102370000C94D4092B960FB6F894DEBF0FBECDBFD8
+:10238000DF91CF911F910F91FF90EF90DF90CF9051
+:102390000895CF93DF93CDB7DEB72B970FB6F894A0
+:1023A000DEBF0FBECDBF4F83588769877A878B8783
+:1023B000DE01119686E0FD0111928A95E9F785E02C
+:1023C000FE01379601900D928A95E1F749815A8175
+:1023D0006B817C818D819E810E941E192B960FB688
+:1023E000F894DEBF0FBECDBFDF91CF910895089561
+:1023F000CF93C82F882309F4C1C0823859F40E94B2
+:10240000CF1081FDBBC089E30E94C81B0E94921CB3
+:1024100089E30CC0833879F40E94CF1080FDAEC0F0
+:1024200083E50E94C81B0E94921C83E50E94081C41
+:10243000CF910C94921C843859F40E94CF1082FDE5
+:102440009DC087E40E94C81B0E94921C87E4EECFC7
+:102450008CEF8C0F813A48F48C2F0E94E42281117A
+:102460008DC08C2F0E94C81BE3CF80E28C0F883078
+:1024700048F4C77081E001C0880FCA95EAF70E944E
+:10248000491CD6CF8BE58C0F833078F4C53A29F000
+:10249000C63A31F482E890E005C081E890E002C0DD
+:1024A00083E890E0CF910C94F11088E58C0F833194
+:1024B00008F064C0C83A39F1C93A41F1CA3A49F161
+:1024C000CB3A51F1CC3A59F1CD3A61F1C03B69F1C7
+:1024D000CE3A71F1CF3A79F1C13B81F1C23B89F13A
+:1024E000C33B91F1C43B99F1C53BA1F1C63BA9F1B6
+:1024F000C73BB1F1C83BB9F1C93BC1F1CA3BC9F512
+:102500008AE292E038C082EE90E035C089EE90E039
+:1025100032C08AEE90E02FC085EB90E02CC086EBB5
+:1025200090E029C087EB90E026C08CEC90E023C0BF
+:102530008DEC90E020C083E891E01DC08AE891E036
+:102540001AC082E991E017C084E991E014C081E2E9
+:1025500092E011C083E292E00EC084E292E00BC0F0
+:1025600085E292E008C086E292E005C087E292E050
+:1025700002C080E090E0CF910C940711CF910895B4
+:10258000882309F44BC0823859F40E94CF1081FF90
+:1025900045C089E30E94C81B0E94921C89E30CC0BD
+:1025A000833871F40E94CF1080FF38C083E50E9409
+:1025B000C81B0E94921C83E50E94081C0C94921C6C
+:1025C000843859F40E94CF1082FF28C087E40E940B
+:1025D000C81B0E94921C87E4EFCF9CEF980F913AA2
+:1025E00058F390E2980F983050F4877091E001C052
+:1025F000990F8A95EAF7892F0E944F1CDFCF9BE540
+:10260000980F933020F480E090E00C94F110885AF9
+:10261000833120F480E090E00C9407110895882322
+:1026200021F00E94491C0C94921C0895882321F0EB
+:102630000E944F1C0C94921C0895CF92DF92EF924F
+:10264000FF920F931F93CF93DF93CDB7DEB72897F9
+:102650000FB6F894DEBF0FBECDBF8C0185E0F80148
+:10266000DE01119601900D928A95E1F7F801D08074
+:10267000E180F280558152955F7023813481232B54
+:1026800039F0FFEFEF1206C081E0DF1203C003C094
+:1026900081E001C080E080FDE2C2C8015F830E944A
+:1026A000F711D982EA8269817A818F2D0E94C41B39
+:1026B0009E8388870E94781B0E944B1A4E815F81FF
+:1026C0006885FF2029F00E94661C68855F814E8125
+:1026D000E42FE295EF70F0E0E259FF4F0C941625DD
+:1026E000842F807F142F1F70882311F01295107F84
+:1026F000FF20B1F0112309F467C280E2860F883011
+:1027000028F4812F68870E94491C04C0812F6887A4
+:102710000E94591C688568870E94921C688554C273
+:10272000862F68870E94C0126885112309F497C21A
+:10273000605E812F683018F40E944F1C02C00E9416
+:102740005F1C28960FB6F894DEBF0FBECDBFDF9199
+:10275000CF911F910F91FF90EF90DF90CF900C944D
+:10276000921C242F207F842F8F70203211F08295AD
+:10277000807F662319F0613019F12BC0FF20B1F082
+:10278000552309F493C1513009F090C128960FB632
+:10279000F894DEBF0FBECDBFDF91CF911F910F9197
+:1027A000FF90EF90DF90CF900C94791C552319F097
+:1027B000513009F454C28E830E947C1C8E8189C1E1
+:1027C000FF2021F0523008F04AC270C1511147C2B7
+:1027D00080C1FF2021F0552309F468C1F5C15523BC
+:1027E00009F477C105C2242F26952695237030E081
+:1027F0002115310521F021303105C9F030C2FF200B
+:1028000021F0862F942F937002C080E090E02896EC
+:102810000FB6F894DEBF0FBECDBFDF91CF911F91F1
+:102820000F91FF90EF90DF90CF900C94F110FF206C
+:1028300021F0862F942F937002C080E090E02896BC
+:102840000FB6F894DEBF0FBECDBFDF91CF911F91C1
+:102850000F91FF90EF90DF90CF900C940711862F8F
+:10286000FF2019F00E94B91F02C00E942120289663
+:102870000FB6F894DEBF0FBECDBFDF91CF911F9191
+:102880000F91FF90EF90DF90CF900C94A620842FB3
+:10289000837009F076C0F110E2C1262F22952695AB
+:1028A0002770220F220F862F8F70C82ED12CE12C7B
+:1028B000F12C022E04C0CC0CDD1CEE1CFF1C0A9473
+:1028C000D2F764FF10C06FE070E080E090E004C0D9
+:1028D000660F771F881F991F2A95D2F7609570950C
+:1028E0008095909503C060E070E0CB01242F269581
+:1028F00026952370422F50E042305105D1F04330ED
+:10290000510559F16C297D298E299F2941305105A6
+:1029100041F128960FB6F894DEBF0FBECDBFDF9110
:10292000CF911F910F91FF90EF90DF90CF900C947B
-:10293000851A603FC9F118F4603E50F49BC0623FB5
-:1029400009F460C008F44AC0633F09F46FC092C044
-:10295000162F1F70842F8F71FF2099F00E941E1A6E
-:10296000812F28960FB6F894DEBF0FBECDBFDF9142
+:10293000701A6C297D298E299F2928960FB6F89444
+:10294000DEBF0FBECDBFDF91CF911F910F91FF90E2
+:10295000EF90DF90CF900C948A1A0E94701AC701F2
+:10296000B60128960FB6F894DEBF0FBECDBFDF913B
:10297000CF911F910F91FF90EF90DF90CF900C942B
-:1029800082120E943F1A812F28960FB6F894DEBF5C
-:102990000FBECDBFDF91CF911F910F91FF90EF90B0
-:1029A000DF90CF900C948912FF20A1F02111B2C0CA
-:1029B000842F8F7128960FB6F894DEBF0FBECDBF5F
-:1029C000DF91CF911F910F91FF90EF90DF90CF900B
-:1029D0000C94641A223008F09DC0EACFFF20A1F0C9
-:1029E000842F8F7128960FB6F894DEBF0FBECDBF2F
-:1029F000DF91CF911F910F91FF90EF90DF90CF90DB
-:102A00000C941E1AFF2061F3842F8F7128960FB645
+:10298000561AFF2019F0842F817001C08695882384
+:1029900009F465C1262F229526952770220F220F54
+:1029A000862F8F70C82ED12CE12CF12C022E04C062
+:1029B000CC0CDD1CEE1CFF1C0A94D2F764FF10C087
+:1029C0006FE070E080E090E004C0660F771F881F22
+:1029D000991F2A95D2F7609570958095909503C0C0
+:1029E00060E070E0CB01242F269526952370422FBE
+:1029F00050E042305105D1F04330510559F16C2976
+:102A00007D298E299F294130510541F128960FB625
:102A1000F894DEBF0FBECDBFDF91CF911F910F9114
-:102A2000FF90EF90DF90CF900C943F1AFF2091F031
-:102A3000842F8F7128960FB6F894DEBF0FBECDBFDE
+:102A2000FF90EF90DF90CF900C94441B6C297D2990
+:102A30008E299F2928960FB6F894DEBF0FBECDBF12
:102A4000DF91CF911F910F91FF90EF90DF90CF908A
-:102A50000C94091A28960FB6F894DEBF0FBECDBFAE
-:102A6000DF91CF911F910F91FF90EF90DF90CF906A
-:102A70000C94FF19FF20A1F0222309F4B1CF862F77
-:102A800028960FB6F894DEBF0FBECDBFDF91CF9171
-:102A90001F910F91FF90EF90DF90CF900C946B11EE
-:102AA000222309F4B1CF862F28960FB6F894DEBF03
-:102AB0000FBECDBFDF91CF911F910F91FF90EF908F
-:102AC000DF90CF900C9433124F70C8010E94A50480
-:102AD00028960FB6F894DEBF0FBECDBFDF91CF9121
-:102AE0001F910F91FF90EF90DF90CF900C942619DB
-:102AF0004F70C80128960FB6F894DEBF0FBECDBF49
-:102B0000DF91CF911F910F91FF90EF90DF90CF90C9
-:102B10000C94EA0728960FB6F894DEBF0FBECDBF1F
-:102B2000DF91CF911F910F91FF90EF90DF90CF90A9
-:102B300008950E94B41B0E94C41B0E94891B0E941E
-:102B4000E01B0E94F0200E94442080E090E00E9460
-:102B5000651080E090E00C947B100E94A41B0C9404
-:102B600099150E94D41A292F22952F7030E02C300D
-:102B700031054CF42A3031056CF4225031092230F1
-:102B8000310590F407C02C30310551F02F3031055C
-:102B900039F00AC0803E10F0803F31F481E00895A2
-:102BA00093FB882780F9089580E00895CF93DF9301
-:102BB00000D000D01F92CDB7DEB70F900F900F90CE
-:102BC0000F900F90DF91CF910895CF93DF9300D0B6
-:102BD00000D000D0CDB7DEB726960FB6F894DEBF92
-:102BE0000FBECDBFDF91CF9108951F93CF93DF9399
-:102BF000C091790116E080917A01C81799F0D0E070
-:102C00001C9FF0011D9FF00D1124E558FE4F4081DF
-:102C1000518162817381848195810E94E51521969D
-:102C2000C770E9CFDF91CF911F9108954091AB011B
-:102C30005091AC016091AD017091AE018091AF01F6
-:102C40009091B0010C94E515CF938091B0018295DD
-:102C50008F7009F05FC08091AD01882309F45AC0DC
-:102C600020917901A0917A016091AB017091AC0142
-:102C70008091AE019091AF0131E06F3F09F030E0FB
-:102C8000B32FC6E02A1709F445C0009721F07F3F13
-:102C900021F44B2F03C041E001C040E030E040FD93
-:102CA00035C0C29FF001C39FF00D1124E558FE4FBF
-:102CB000418174132BC04081641328C042814111AB
-:102CC00025C0438154814817590710F441505109D8
-:102CD000481B590B483C5105C8F48091B0018F70D6
-:102CE00080618093B00186E0829FF001839FF00DA8
-:102CF0001124E058FE4F80818F70806180838BEAC1
-:102D000091E00E949012CF910C94F5152F5F3F4FE8
-:102D10002770B8CFCF910895CF92DF92EF92FF92B4
-:102D20000F931F93CF93DF93CDB7DEB762970FB6A4
-:102D3000F894DEBF0FBECDBF8C0185E0F801DE0147
-:102D40001D9601900D928A95E1F7D8014C9111964C
-:102D50005C91119712966C9112971396ED90FC90DE
-:102D600014977091AB01E091AC012091AE013091CC
-:102D7000AF012115310531F0EF3F31F481E07F3FA4
-:102D800019F403C081E001C080E0B82FB170CB2EF0
-:102D900080FD6CC1D090AD01DD2009F4F5C0F0914B
-:102DA000B001E216F30638F0C701821B930B883C92
-:102DB000910548F09BC0209530952E0D3F1D283C75
-:102DC000310508F093C08F2F807F09F052C0E513C2
-:102DD00014C0741312C0D62E61110FC0FF70F061C1
-:102DE000F093B0010E9416168BEA91E00E949012B7
-:102DF0008091B001F80185836CC1EF2831F05F3F0D
-:102E000031F481E04F3F19F403C081E001C080E05C
-:102E100080FD03C081E0862701C080E0F82FF170BB
-:102E2000FF2E80FF1CC08091790120917A0136E04D
-:102E3000821709F428C190E0389FF001399FF00D06
-:102E40001124E558FE4F7181571306C07081471356
-:102E500003C07281671303C001968770E9CFD62E35
-:102E6000662309F436C18091B00181608093B0017E
-:102E700053C0E51308C0741306C0611104C0D80123
-:102E80001596FC93AEC04D875E878D859E856A8BB7
-:102E90000E94B1156A89882329F1D62E662311F183
-:102EA0002091B001822F82958F7090E002970CF4F0
-:102EB00060C08091AB019091AC0198878F83198697
-:102EC000FB86EA862C87CE01079651C0E51731F1C3
-:102ED0004D875E878D859E856A8B0E94B1156A89B4
-:102EE00081112EC0C8010E949012A4C08F2F807F34
-:102EF00069F77E2DF98AE88A89890E94D6158BEABE
-:102F000091E00E949012EBEAF1E086E0DF011D9271
-:102F10008A95E9F70E941616D12CDBC07413D8CF1E
-:102F20006111D6CFD8011596FC93C8010E9490126A
-:102F3000EBEAF1E086E0DF011D928A95E9F7C9C06E
-:102F4000D62E662379F22091B001822F82958F7060
-:102F500090E0029774F08091AB019091AC019A835C
-:102F600089831B82FD82EC822E83CE0101960E9412
-:102F7000901286E0F801ABEAB1E001900D928A95DB
-:102F8000E1F70E9424166FC0E216F30628F0C7018D
-:102F9000821B930B9C0104C0209530952E0D3F1D84
-:102FA000283C310508F052C0D62E662309F49ACF8A
-:102FB000E5132CC074132AC08091B00180FD1DC0A0
-:102FC000982F92959F70C9F0D80115968C931597FC
-:102FD0009F3039F09F5F9295907F8F70892B159667
-:102FE0008C93C8010E94901286E0F801ABEAB1E030
-:102FF00001900D928A95E1F736C086E0F801ABEAC0
-:10300000B1E001900D928A95E1F763C04D875E872C
-:103010008D859E850E94B115882379F086E0F801A0
-:10302000ABEAB1E001900D928A95E1F70E94241677
-:103030000E941616DD24D3944CC08091B0018160AB
-:103040008093B001C8010E94901243C07E2DF98A7E
-:10305000E88A89890E94D615EBEAF1E086E0DF0173
-:103060001D928A95E9F70E94161633C0662309F46B
-:1030700039CF4D875E878D859E850E94B115882347
-:1030800009F430CFCBCF4D875E878D859E850E941A
-:10309000D41A292F22952F7030E0223031052CF4DC
-:1030A0009F7041F0811106C00CC0243031052CF412
-:1030B0009F7049F4805E883020F0C8010E94901211
-:1030C000CF2CDC2C06C0D80115969C91907F91F7EF
-:1030D000F8CF8D2D62960FB6F894DEBF0FBECDBF30
-:1030E000DF91CF911F910F91FF90EF90DF90CF90E4
-:1030F00008951F93CF93DF93CDB7DEB72C970FB60C
-:10310000F894DEBF0FBECDBF4F83588769877A879B
-:103110008B879C87CE0107960E948C168823C1F06E
-:103120002F8138858A859B85892B31F03F3F11F0AF
-:1031300080E003C02F3FE1F781E0811147C04F815C
-:10314000588569857A858B859C850E94E5153EC0EA
-:1031500086E0FE013796DE01119601900D928A9568
-:10316000E1F7FF81E8854A855B854115510531F01E
-:10317000EF3F31F481E0FF3F19F403C081E001C06B
-:1031800080E080FD23C020917A0130E0C9010196E2
-:10319000877099276091790170E086179707F1F1A0
-:1031A000F983EA835D834C8396E0929FD001939FDD
-:1031B000B00D1124A558BE4FFE01319601900D921D
-:1031C0009A95E1F780937A010E94F51516E08091B7
-:1031D000790190917A01891779F1189FC001112422
-:1031E00085589E4F0E948C16882331F1E091790119
-:1031F0001E9FF0011124E558FE4F408151816281EC
-:103200007381848195810E94E5158091790190E018
-:1032100001968770992780937901D9CF0E94AD15C7
-:1032200010927A0110927901EBEAF1E086E0DF0179
-:103230001D928A95E9F7CACF2C960FB6F894DEBF97
-:103240000FBECDBFDF91CF911F910895EF92FF92F6
-:103250000F931F93CF93DF93FC01009709F46FC086
-:10326000F12CEE24E394EF0121968491843740F40D
-:10327000843008F055C0813081F0823021F15FC088
-:10328000853709F447C0C0F19CE7980F903708F0E4
-:1032900056C08F770E94331245C08F010E5F1F4FBB
-:1032A000FE01849190E2980F983050F48770FE2DC3
-:1032B00001C0FF0F8A95EAF78F2F0E94B71B15C038
-:1032C0000E946B1114C08F010E5F1F4FFE0184918D
-:1032D00090E2980F983068F48770FE2D01C0FF0FC0
-:1032E0008A95EAF78F2F0E94BD1B0E94E01BE80120
-:1032F00019C00E943312FBCFCF010296FE01C49188
-:10330000CC2361F0EFE9FFE03197F1F700C0000056
-:10331000C150F6CFCF010296FE01F490EC0102C03D
-:103320000E946B118F2D882341F0EFE9FFE0319768
-:10333000F1F700C000008150F6CFFE0194CFDF917D
-:10334000CF911F910F91FF90EF9008950895609392
-:10335000B5017093B6018093B7019093B8010C94B6
-:1033600099150F931F930091B5011091B60120910B
-:10337000B7013091B801062B172B282B392B00935E
-:10338000B5011093B6012093B7013093B8011F9196
-:103390000F910C9499150F931F930091B501109103
-:1033A000B6012091B7013091B801062317232823D5
-:1033B00039230093B5011093B6012093B7013093E0
-:1033C000B8011F910F910C9499150F931F930091C1
-:1033D000B5011091B6012091B7013091B8010627CF
-:1033E0001727282739270093B5011093B60120939A
-:1033F000B7013093B8011F910F910C949915109259
-:10340000B1011092B2011092B3011092B4010C9468
-:10341000991541E050E060E070E004C0440F551F92
-:10342000661F771F8A95D2F74093B1015093B2017E
-:103430006093B3017093B4010C94991541E050E08E
-:1034400060E070E004C0440F551F661F771F8A9527
-:10345000D2F78091B1019091B201A091B301B091E6
-:10346000B401842B952BA62BB72B8093B10190939D
-:10347000B201A093B301B093B4010C94991541E04B
-:1034800050E060E070E004C0440F551F661F771FD6
-:103490008A95D2F740955095609570958091B101CD
-:1034A0009091B201A091B301B091B401842395230E
-:1034B000A623B7238093B1019093B201A093B301E7
-:1034C000B093B4010C94991541E050E060E070E0D5
-:1034D00004C0440F551F661F771F8A95D2F780914D
-:1034E000B1019091B201A091B301B091B4018427D0
-:1034F0009527A627B7278093B1019093B201A09397
-:10350000B301B093B4010C9499150F931F930091DC
-:10351000B1011091B2012091B3013091B401062B99
-:10352000172B282B392B0093B1011093B201209354
-:10353000B3013093B4011F910F910C9499150F931F
-:103540001F930091B1011091B2012091B30130910C
-:10355000B40106231723282339230093B1011093C4
-:10356000B2012093B3013093B4011F910F910C94D9
-:1035700099150F931F930091B1011091B201209101
-:10358000B3013091B4010627172728273927009364
-:10359000B1011093B2012093B3013093B4011F9194
-:1035A0000F910C9499150895CF92DF92EF92FF92AC
-:1035B0000F931F93CF93DF93EC01C090B501D09090
-:1035C000B601E090B701F090B8018091B1019091FF
-:1035D000B201A091B301B091B401C82AD92AEA2A54
-:1035E000FB2A0FE110E0B701A601002E04C076957A
-:1035F0006795579547950A94D2F740FF07C0BE01DB
-:10360000802F0E940D088130910539F40150110975
-:1036100050F7BE0180E00E940D08DF91CF911F910D
-:103620000F91FF90EF90DF90CF90089590910C0153
-:103630009923D9F090910D019923B9F0982F96957F
-:10364000969596959F3088F5E0910E01F0910F01C7
-:10365000E90FF11D877021E030E001C0220F8A954B
-:10366000EAF78181822B8183089540910E01509168
-:103670000F0120E030E09FEFFA01E20FF31F6281BB
-:10368000681799F09F3F19F4611101C0922F2F5FC5
-:103690003F4F2E30310581F79F3F39F0FA01E90F96
-:1036A000F11D97FDFA9582830895089590910C017C
-:1036B0009923E1F090910D019923C1F0982F9695EF
-:1036C000969596959F3020F5E0910E01F0910F01AF
-:1036D000E90FF11D877021E030E001C0220F8A95CB
-:1036E000EAF72095818128232183089540910E01D6
-:1036F00050910F0120E030E0FA01E20FF31F9281B8
-:10370000981301C012822F5F3F4F2E303105A1F771
-:10371000089581E090E0E0910E01F0910F01E80F33
-:10372000F91F1082019680319105A9F708959091B3
-:10373000CC01982B9093CC01089580959091CC0169
-:1037400098239093CC0108951092CC010895909104
-:10375000CB01982B9093CB01089580959091CB014C
-:1037600098239093CB0108951092CB0108959091E6
-:10377000CA01982B9093CA01089580959091CA012F
-:1037800098239093CA0108951092CA0108958093D6
-:10379000B90108951092B901089540910E01509118
-:1037A0000F0120E030E080E0FA01E20FF31F918189
-:1037B00091118F5F2F5F3F4F2F303105A9F708958B
-:1037C000E0910E01F0910F018091CC018083E09196
-:1037D0000E01F0910F0180819091CB01892B8083A4
-:1037E000E0910E01F0910F0180819091CA01892B27
-:1037F00080839091B901992361F0E0910E01F091DD
-:103800000F018081892B80830E94CD1B8111109232
-:10381000B90180910E0190910F010C944F10CF923D
-:10382000DF92EF92FF920F931F936C01EE24FF241F
-:10383000C114D104E104F10421F46B017C0180E0A6
-:1038400001C080E133272F2D1E2D0D2D01151105EF
-:103850002105310519F0885F68017901970186011A
-:10386000A4E03695279517950795AA95D1F70115E8
-:1038700011052105310519F08C5F68017901970167
-:103880008601F2E03695279517950795FA95D1F7B9
-:10389000011511052105310519F08E5F68017901C7
-:1038A000B701A6017695679557954795452B462B09
-:1038B000472B09F08F5F1F910F91FF90EF90DF90E2
-:1038C000CF9008958091E601843009F11092CE01E5
-:1038D00020E488E190E00FB6F894A895809360000A
-:1038E0000FBE2093600083B7817F846083BF83B75E
-:1038F000816083BF7894889583B78E7F83BF88E18A
-:103900000FB6F89480936000109260000FBE089587
-:1039100008950895CF930E94881C0E9437060E9444
-:10392000891CC0E08C2F0E942407811105C0CF5F45
-:10393000CE30C1F780E001C081E0CF9108950E94B0
-:10394000AD150E9443100C94480982E084BD93E0B9
-:1039500095BD9AEF97BD80936E0008952FB7F894A8
-:103960008091CF019091D001A091D101B091D2016D
-:103970002FBF0895CF92DF92EF92FF920F931F9384
-:103980002FB7F8944091CF015091D0016091D101AF
-:103990007091D2012FBF6A017B01EE24FF248C01BC
-:1039A00020E030E0C016D106E206F30610F44150E4
-:1039B0005109481B590BCA011F910F91FF90EF90BD
-:1039C000DF90CF9008951F920F920FB60F9211249F
-:1039D0008F939F93AF93BF938091CF019091D0012C
-:1039E000A091D101B091D2010196A11DB11D80938A
-:1039F000CF019093D001A093D101B093D201BF9198
-:103A0000AF919F918F910F900FBE0F901F901895BF
-:103A10000E94490DF8942FEF87EA91E621508040EB
-:103A20009040E1F700C0000087E090EBDC0180935C
-:103A3000EF019093F001A093F101B093F2012CE01B
-:103A400088E190E00FB6F894A895809360000FBECF
-:103A500020936000FFCFEF92FF920F931F93CF93BD
-:103A6000DF93E82EF12C8F2D0E942407C0E0D0E0D8
-:103A7000082F10E098010C2E02C0359527950A9466
-:103A8000E2F720FD05C02196C630D10599F709C09F
-:103A90006C2F7F2D80E00E94EB07E812F4CF81E0CD
-:103AA00005C0F3948EE0F812DECF80E0DF91CF9175
-:103AB0001F910F91FF90EF900895CF93C82F8CE244
-:103AC0000E942B1D882321F08C2FCF910C942B1D4D
-:103AD00080E0CF910895CF930E94B01E811102C063
-:103AE0000E94961EC5E6C15049F00E9437068FE33A
-:103AF0009CE90197F1F700C00000F5CF89E20E9430
-:103B00005D1D811111C18AE20E945D1D81110E941B
-:103B1000961E85E00E945D1D81110E94081D0E9475
-:103B2000BB1E8093CD0187E00E945D1D882399F123
-:103B30008BE10E945D1D882351F09091CD0191FB96
-:103B4000882780F921E0822780FB91F922C08EE04E
-:103B50000E945D1D882351F09091CD0192FB882732
-:103B600080F921E0822780FB92F913C080E10E9456
-:103B70005D1D9091CD01882341F093FB882780F94A
-:103B800021E0822780FB93F904C0892F809580FB78
-:103B900090F99093CD018091CD010E94BF1E0E94AB
-:103BA000CD1E8093E00180EE0E945D1D882341F0D0
-:103BB0008091E001982F909590FB80F98093E0012F
-:103BC00089E30E945D1D882359F09091E00191FBEB
-:103BD000882780F921E0822780FB91F99093E0010A
-:103BE00082EE0E945D1D882359F09091E00192FBC6
-:103BF000882780F921E0822780FB92F99093E001E9
-:103C000086EE0E945D1D882359F09091E00193FBA0
-:103C1000882780F921E0822780FB93F99093E001C7
-:103C200083EE0E945D1D882359F09091E00194FB82
-:103C3000882780F921E0822780FB94F99093E001A6
-:103C400085E30E945D1D882359F09091E00195FB6A
-:103C5000882780F921E0822780FB95F99093E00185
-:103C600081E30E945D1D882359F09091E00196FB4D
-:103C7000882780F921E0822780FB96F99093E00164
-:103C800081E10E945D1D882359F09091E00197FB2E
-:103C9000882780F921E0822780FB97F99093E00143
-:103CA0008091E0010E94D11E8091E00187FB88276E
-:103CB00080F980930D0187E20E945D1DC82F8EE17F
-:103CC0000E945D1D8111C2608FE10E945D1D811106
-:103CD000C46080E20E945D1D8111C86081E20E9483
-:103CE0005D1D8111C06182E20E945D1D8111C06273
-:103CF00083E20E945D1D8111C06484E20E945D1D0B
-:103D0000882311F0C06802C0CC2329F08C2F0E94B8
-:103D1000C81E6C2F03C00E94C41E682F70E080E094
-:103D200090E0CF910C94A719CF9108956DEE7EEF9E
-:103D300080E090E00E94EC2460E082E090E00E944D
-:103D4000DE2460E083E090E00E94DE2460E084E016
-:103D500090E00E94DE2460E085E090E00C94DE2498
-:103D600080E090E00E94D82421E08D3E9E4F09F033
-:103D700020E0822F089582E090E00C94D024682FF8
-:103D800082E090E00C94DE2483E090E00C94D02458
-:103D9000682F83E090E00C94DE2484E090E00C94A3
-:103DA000D024682F84E090E00C94DE248091D5012B
-:103DB00080FF0BC06091130185E0689FB001112462
-:103DC00075956795759567952AC081FF09C06091C3
-:103DD000130185E0689FB0011124759567951FC098
-:103DE00082FF07C06091130185E0689FB001112434
-:103DF00016C04091D6014423C9F0609112014617C4
-:103E000088F72091130185E0289F90011124429F9B
-:103E1000C001439F900D112470E00E94A2246038DD
-:103E2000710540F46115710539F002C065E070E07C
-:103E3000862F08958FE7089581E008958091D50138
-:103E400080FF08C06091110170E0759567957595C8
-:103E5000679521C081FF06C06091110170E07595E2
-:103E6000679519C082FF04C06091110170E010C015
-:103E70008091D6018823C1F0609110018617A0F7C8
-:103E800090911101989FC001112470E00E94A2241A
-:103E90006038710528F46115710521F0862F0895A9
-:103EA0008FE7089581E0089561E070E0F4CF803FEE
-:103EB00021F40E94D61E819504C0813F29F40E94FE
-:103EC000D61E8093D9010895823F21F40E94D61E08
-:103ED000819504C0833F29F40E94D61E8093D801A7
-:103EE0000895893F19F40E941E1F05C08A3F31F4CE
-:103EF0000E941E1F81958093DA0108958B3F21F463
-:103F00000E941E1F819504C08C3F29F40E941E1F31
-:103F10008093DB010895843F21F48091D701816073
-:103F200017C0853F21F48091D701826011C0863F80
-:103F300021F48091D70184600BC0873F21F48091E8
-:103F4000D701886005C0883F31F48091D701806136
-:103F50008093D70108958D3F21F48091D501816030
-:103F60000BC08E3F21F48091D501826005C08F3F48
-:103F700029F48091D50184608093D5010895803F14
-:103F800039F48091D90187FF6CC01092D90169C0C2
-:103F9000813F29F48091D9011816BCF362C0909139
-:103FA000D801823F29F497FF5CC01092D80159C014
-:103FB000833F19F41916CCF354C0893F41F4809122
-:103FC000DA0118160CF04DC01092DA014AC08A3F8F
-:103FD00029F48091DA0187FF44C0F6CF8B3F39F492
-:103FE0008091DB0187FF3DC01092DB013AC08C3F1E
-:103FF00029F48091DB011816BCF333C0843F21F40F
-:104000008091D7018E7F17C0853F21F48091D70121
-:104010008D7F11C0863F21F48091D7018B7F0BC02B
-:10402000873F21F48091D701877F05C0883F31F415
-:104030008091D7018F7E8093D70113C08D3F21F4EB
-:104040008091D5018E7F0BC08E3F21F48091D501E8
-:104050008D7F05C08F3F29F48091D5018B7F8093A0
-:10406000D5018091D80181110EC08091D9018111B3
-:104070000AC08091DA01811106C08091DB018111B3
-:1040800002C01092D601089587ED91E00E945A1067
-:104090000E94AE1C9093D4018093D30108951F9386
-:1040A000CF93DF938091D3019091D4010E94BA1CE9
-:1040B0004091D601442321F02091140130E006C044
-:1040C000209115015AE0259F900111248217930732
-:1040D00008F482C08091D8011091D901D091DA0101
-:1040E000C091DB01811107C0111105C0D11103C0BE
-:1040F000CC2309F471C04F3F19F04F5F4093D601B4
-:10410000181624F40E94D61E8093D8018091D801FD
-:1041100087FF05C00E94D61E81958093D801111695
-:1041200024F40E94D61E8093D9018091D90187FF83
-:1041300005C00E94D61E81958093D9016091D80157
-:10414000662339F11091D901112319F1772767FD01
-:104150007095872F972F0E94B32323E333E343E324
-:104160005FE30E9417240E9480236093D801612F8F
-:10417000772767FD7095872F972F0E94B32323E33E
-:1041800033E343E35FE30E9417240E94802360939C
-:10419000D9011D1624F40E941E1F8093DA0180911C
-:1041A000DA0187FF05C00E941E1F81958093DA0106
-:1041B0001C1624F40E941E1F8093DB018091DB01FA
-:1041C00087FF05C00E941E1F81958093DB01DF9150
-:1041D000CF911F910C944420DF91CF911F910895AE
-:1041E000E7EDF1E085E0DF011D928A95E9F7109295
-:1041F000D6011092D5010895833081F128F48130E1
-:1042000059F08230D1F00895853009F449C0B8F1F1
-:10421000863009F456C0089520911501862F90E04C
-:10422000820F911D8F3F910520F4620F609315015D
-:1042300008958FEF80931501089520911401862F22
-:1042400090E0820F911D8F3F910520F4620F6093E3
-:10425000140108958FEF80931401089520911301A4
-:10426000862F90E0820F911D8F3F910520F4620F01
-:104270006093130108958FEF8093130108952091A7
-:104280001201862F90E0820F911D8F3F910520F43F
-:10429000620F6093120108958FEF809312010895C9
-:1042A00020911101862F90E0820F911D8F3F910583
-:1042B00020F4620F6093110108958FEF8093110134
-:1042C000089520911001862F90E0820F911D8F3F5D
-:1042D000910520F4620F6093100108958FEF809391
-:1042E00010010895833011F128F4813049F08230B3
-:1042F00091F00895853081F120F18630C1F1089563
-:1043000080911501681720F4861B8093150108958C
-:1043100010921501089580911401681720F4861BEE
-:10432000809314010895109214010895809113014F
-:10433000681720F4861B80931301089510921301CF
-:10434000089580911201681720F4861B8093120152
-:10435000089510921201089580911101681720F4B8
-:10436000861B809311010895109211010895809188
-:104370001001681720F4861B809310010895109295
-:10438000100108958D3109F442C020F58E3009F4F2
-:1043900079C070F4873009F45EC020F4863009F4E7
-:1043A00042C033C08830D1F18B3009F4A7C02DC092
-:1043B000863109F4A3C038F4803109F46DC081312D
-:1043C00009F47BC022C0893109F498C08B3109F40B
-:1043D0004FC01BC0853309F479C048F4873209F413
-:1043E00075C008F478C0893209F470C00EC08334F7
-:1043F00038F48A3308F071C0883309F47FC005C0EF
-:10440000833409F463C08834C1F080E008950E94C9
-:104410003A230E9443100E94480970C00E94BB1EAC
-:104420000E94CD1E6BC08091CD01817F8E7F8093D5
-:10443000CD0181E08093DD0108950E94AD152FEF3D
-:1044400083ED90E3215080409040E1F700C00000F0
-:104450000E94081D53C09091CD01892F817090FF5B
-:1044600003C0917F9E7F26C091609093CD0146C08E
-:104470009091CD0191FB882780F921E0822780FB74
-:1044800091F913C09091CD0192FB882780F921E02A
-:10449000822780FB92F909C09091CD0193FB882778
-:1044A00080F921E0822780FB93F99093CD01882346
-:1044B00029F191609093CD0108950E94AD158091EE
-:1044C0000D0191E0892780930D0118C061E070E033
-:1044D00080E090E00FC023EE01C027EC280F61E0E0
-:1044E00070E080E090E004C0660F771F881F991F7E
-:1044F0002A95D2F70E94A7190E94AD1581E0089570
-:1045000080E0089580E00895CF93C82F8091DD0169
-:10451000813079F018F08230D1F184C0A0910E0181
-:10452000B0910F018C91813169F0823209F07CC029
-:1045300009C0A0910E01B0910F018C91813111F051
-:10454000823249F48C2F0E94802281111DC08C2F51
-:104550000E94C2211AC08C2F0E948222811114C095
-:10456000C43179F048F4CB3079F0C03109F060C043
-:1045700082E08093DD0108C0C93219F0C83321F010
-:1045800057C01092DD0154C081E0817053C0C93220
-:1045900089F118F5C43171F1A8F4C73009F046C0AB
-:1045A0008AE08093150194E19093140193E0909335
-:1045B00013018093120188E08093110188E28093B7
-:1045C000100134C0CE51C63088F5EC2FF0E0E65D26
-:1045D000FE4F80818093DC0129C0CE34E9F020F4C5
-:1045E000CB3421F56AE013C0C13579F0C235F1F45E
-:1045F00061E00DC08091DC01882319F01092DC018C
-:1046000015C081E08093DD0115C061E006C0809196
-:10461000DC010E94FC200AC06AE08091DC010E945B
-:10462000722104C01092DD0180E004C081E002C06C
-:1046300080E0ABCFCF910895E1E8F0E08081886021
-:1046400080838081816080838FB7F89493E090931A
-:10465000890090ED909388008FBF0895EFE6F0E019
-:104660008081826080830895EFE6F0E080818D7F15
-:1046700080830895EFE6F0E0808192E089278083CF
-:1046800008951F920F920FB60F9211242F933F930C
-:104690004F935F936F937F938F939F93AF93BF934A
-:1046A000EF93FF938091DE019091DF01019690934B
-:1046B000DF018093DE01811103C082E00E9448097E
-:1046C000E091DF01E695E695F0E0E258F74FE491DE
-:1046D0008091DE018E1303C080E00E944809FF91A3
-:1046E000EF91BF91AF919F918F917F916F915F916A
-:1046F0004F913F912F910F900FBE0F901F901895E3
-:1047000004D06894B1118DC0089570D088F09F577F
-:1047100090F0B92F9927B751A0F0D1F0660F771F0D
-:10472000881F991F1AF0BA95C9F712C0B13081F0ED
-:1047300077D0B1E0089574C0672F782F8827B85FCD
-:1047400039F0B93FCCF3869577956795B395D9F74E
-:104750003EF490958095709561957F4F8F4F9F4F58
-:104760000895E89409C097FB3EF490958095709564
-:1047700061957F4F8F4F9F4F9923A9F0F92F96E9AD
-:10478000BB279395F695879577956795B795F11122
-:10479000F8CFFAF4BB0F11F460FF1BC06F5F7F4FBF
-:1047A0008F4F9F4F16C0882311F096E911C07723D1
-:1047B00021F09EE8872F762F05C0662371F096E8DA
-:1047C000862F70E060E02AF09A95660F771F881FA9
-:1047D000DAF7880F9695879597F9089557FD9058C1
-:1047E000440F551F59F05F3F71F04795880F97FBB5
-:1047F000991F61F09F3F79F087950895121613066F
-:104800001406551FF2CF4695F1DF08C0161617069D
-:104810001806991FF1CF86957105610508940895D2
-:10482000E894BB2766277727CB0197F908950BD02B
-:1048300078C069D028F06ED018F0952309F05AC0DE
-:104840005FC01124EECFCADFA0F3959FD1F3950F7F
-:1048500050E0551F629FF001729FBB27F00DB11D04
-:10486000639FAA27F00DB11DAA1F649F6627B00D94
-:10487000A11D661F829F2227B00DA11D621F739F7D
-:10488000B00DA11D621F839FA00D611D221F749F8B
-:104890003327A00D611D231F849F600D211D822FD2
-:1048A000762F6A2F11249F5750408AF0E1F0882319
-:1048B0004AF0EE0FFF1FBB1F661F771F881F915026
-:1048C0005040A9F79E3F510570F014C0AACF5F3F3A
-:1048D000ECF3983EDCF3869577956795B795F79559
-:1048E000E7959F5FC1F7FE2B880F911D96958795E1
-:1048F00097F9089597F99F6780E870E060E0089560
-:104900009FEF80EC089500240A94161617061806E7
-:104910000906089500240A941216130614060506C3
-:104920000895092E0394000C11F4882352F0BB0F54
-:1049300040F4BF2B11F460FF04C06F5F7F4F8F4FB7
-:104940009F4F089597FB072E16F4009407D077FD2C
-:1049500009D00E94BC2407FC05D03EF490958195B7
-:104960009F4F0895709561957F4F0895EE0FFF1F3B
-:104970000590F491E02D0994AA1BBB1B51E107C0DF
-:10498000AA1FBB1FA617B70710F0A61BB70B881FDF
-:10499000991F5A95A9F780959095BC01CD0108956E
-:1049A000F999FECF92BD81BDF89A992780B50895F7
-:1049B000A8E1B0E042E050E00C94F324262FF999EE
-:1049C000FECF1FBA92BD81BD20BD0FB6F894FA9AF2
-:1049D000F99A0FBE019608950E94DE24272F0C94A9
-:1049E000DF24DC01CB01FC01F999FECF06C0F2BD4A
-:1049F000E1BDF89A319600B40D9241505040B8F79D
-:064A00000895F894FFCFB9
-:104A060020024A09D709B40980094D090101BA01F2
-:104A160028080A03140A3F4D36393F08F207BC0737
-:104A2600830716072F0748076107010203040506D7
-:044A36000708090064
+:102A50000C945E1B0E94441BC701B60128960FB65A
+:102A6000F894DEBF0FBECDBFDF91CF911F910F91C4
+:102A7000FF90EF90DF90CF900C942A1B603FC9F13C
+:102A800018F4603E50F49BC0623F09F460C008F443
+:102A90004AC0633F09F46FC092C0162F1F70842F85
+:102AA0008F71FF2099F00E94C31A812F28960FB6CC
+:102AB000F894DEBF0FBECDBFDF91CF911F910F9174
+:102AC000FF90EF90DF90CF900C940F130E94E41AC8
+:102AD000812F28960FB6F894DEBF0FBECDBFDF91D1
+:102AE000CF911F910F91FF90EF90DF90CF900C94BA
+:102AF0001613FF20A1F05111B2C0842F8F712896B8
+:102B00000FB6F894DEBF0FBECDBFDF91CF911F91FE
+:102B10000F91FF90EF90DF90CF900C94091B5230F3
+:102B200008F09DC0EACFFF20A1F0842F8F71289676
+:102B30000FB6F894DEBF0FBECDBFDF91CF911F91CE
+:102B40000F91FF90EF90DF90CF900C94C31AFF206D
+:102B500061F3842F8F7128960FB6F894DEBF0FBEF5
+:102B6000CDBFDF91CF911F910F91FF90EF90DF903C
+:102B7000CF900C94E41AFF2091F0842F8F71289647
+:102B80000FB6F894DEBF0FBECDBFDF91CF911F917E
+:102B90000F91FF90EF90DF90CF900C94AE1A289693
+:102BA0000FB6F894DEBF0FBECDBFDF91CF911F915E
+:102BB0000F91FF90EF90DF90CF900C94A41AFF201C
+:102BC000A1F0552309F4B1CF862F28960FB6F894BB
+:102BD000DEBF0FBECDBFDF91CF911F910F91FF9050
+:102BE000EF90DF90CF900C94F811552309F4B1CFFA
+:102BF000862F28960FB6F894DEBF0FBECDBFDF91AB
+:102C0000CF911F910F91FF90EF90DF90CF900C9498
+:102C1000C0124F70C8010E941D0328960FB6F89489
+:102C2000DEBF0FBECDBFDF91CF911F910F91FF90FF
+:102C3000EF90DF90CF900C94CB194F70C80128967D
+:102C40000FB6F894DEBF0FBECDBFDF91CF911F91BD
+:102C50000F91FF90EF90DF90CF900C94FC06289698
+:102C60000FB6F894DEBF0FBECDBFDF91CF911F919D
+:102C70000F91FF90EF90DF90CF9008950E94661C17
+:102C80000E94761C0E943B1C0E94921C0E945221B2
+:102C90000E94A62080E090E00E94F11080E090E089
+:102CA0000C9407110E94561C0C943E160E94B91BEE
+:102CB000292F22952F7030E02C3031054CF42A302A
+:102CC00031056CF4225031092230310590F407C0EF
+:102CD0002C30310551F02F30310539F00AC0803EDB
+:102CE00010F0803F31F481E0089593FB882780F94C
+:102CF000089580E00895CF93DF9300D000D01F9215
+:102D0000CDB7DEB70F900F900F900F900F90DF911F
+:102D1000CF910895CF93DF9300D000D000D0CDB7EE
+:102D2000DEB726960FB6F894DEBF0FBECDBFDF919B
+:102D3000CF9108951F93CF93DF93C091810116E047
+:102D400080918201C81799F0D0E01C9FF0011D9F6F
+:102D5000F00D1124ED57FE4F408151816281738146
+:102D6000848195810E948A162196C770E9CFDF91F0
+:102D7000CF911F9108954091B3015091B40160919A
+:102D8000B5017091B6018091B7019091B8010C9492
+:102D90008A16CF938091B80182958F7009F05FC039
+:102DA0008091B501882309F45AC020918101A09136
+:102DB00082016091B3017091B4018091B60190914C
+:102DC000B70131E06F3F09F030E0B32FC6E02A17BA
+:102DD00009F445C0009721F07F3F21F44B2F03C039
+:102DE00041E001C040E030E040FD35C0C29FF0014D
+:102DF000C39FF00D1124ED57FE4F418174132BC07A
+:102E00004081641328C04281411125C0438154810F
+:102E10004817590710F441505109481B590B483CB9
+:102E20005105C8F48091B8018F7080618093B8011A
+:102E300086E0829FF001839FF00D1124E857FE4F3A
+:102E400080818F708061808383EB91E00E941D13ED
+:102E5000CF910C949A162F5F3F4F2770B8CFCF9128
+:102E60000895CF92DF92EF92FF920F931F93CF932B
+:102E7000DF93CDB7DEB762970FB6F894DEBF0FBE13
+:102E8000CDBF8C0185E0F801DE011D9601900D9209
+:102E90008A95E1F7D8014C9111965C9111971296A1
+:102EA0006C9112971396ED90FC9014977091B3016A
+:102EB000E091B4012091B6013091B701211531059F
+:102EC00031F0EF3F31F481E07F3F19F403C081E03E
+:102ED00001C080E0B82FB170CB2E80FD6CC1D090C6
+:102EE000B501DD2009F4F5C0F091B801E216F30652
+:102EF00038F0C701821B930B883C910548F09BC0BA
+:102F0000209530952E0D3F1D283C310508F093C0CB
+:102F10008F2F807F09F052C0E51314C0741312C0C4
+:102F2000D62E61110FC0FF70F061F093B8010E94BE
+:102F3000BB1683EB91E00E941D138091B801F8014C
+:102F400085836CC1EF2831F05F3F31F481E04F3F62
+:102F500019F403C081E001C080E080FD03C081E07E
+:102F6000862701C080E0F82FF170FF2E80FF1CC083
+:102F7000809181012091820136E0821709F428C1F5
+:102F800090E0389FF001399FF00D1124ED57FE4F6E
+:102F90007181571306C07081471303C07281671394
+:102FA00003C001968770E9CFD62E662309F436C197
+:102FB0008091B80181608093B80153C0E51308C0C7
+:102FC000741306C0611104C0D8011596FC93AEC0FD
+:102FD0004D875E878D859E856A8B0E9456166A890D
+:102FE000882329F1D62E662311F12091B801822F72
+:102FF00082958F7090E002970CF460C08091B301CD
+:103000009091B40198878F831986FB86EA862C8776
+:10301000CE01079651C0E51731F14D875E878D854A
+:103020009E856A8B0E9456166A8981112EC0C8013E
+:103030000E941D13A4C08F2F807F69F77E2DF98A0F
+:10304000E88A89890E947B1683EB91E00E941D1318
+:10305000E3EBF1E086E0DF011D928A95E9F70E943B
+:10306000BB16D12CDBC07413D8CF6111D6CFD801D9
+:103070001596FC93C8010E941D13E3EBF1E086E076
+:10308000DF011D928A95E9F7C9C0D62E662379F231
+:103090002091B801822F82958F7090E0029774F092
+:1030A0008091B3019091B4019A8389831B82FD8240
+:1030B000EC822E83CE0101960E941D1386E0F8015A
+:1030C000A3EBB1E001900D928A95E1F70E94C91639
+:1030D0006FC0E216F30628F0C701821B930B9C0118
+:1030E00004C0209530952E0D3F1D283C310508F079
+:1030F00052C0D62E662309F49ACFE5132CC0741360
+:103100002AC08091B80180FD1DC0982F92959F70B4
+:10311000C9F0D80115968C9315979F3039F09F5FB1
+:103120009295907F8F70892B15968C93C8010E9481
+:103130001D1386E0F801A3EBB1E001900D928A9592
+:10314000E1F736C086E0F801A3EBB1E001900D9203
+:103150008A95E1F763C04D875E878D859E850E94C5
+:103160005616882379F086E0F801A3EBB1E00190D0
+:103170000D928A95E1F70E94C9160E94BB16DD24C4
+:10318000D3944CC08091B80181608093B801C8018C
+:103190000E941D1343C07E2DF98AE88A89890E9406
+:1031A0007B16E3EBF1E086E0DF011D928A95E9F7FB
+:1031B0000E94BB1633C0662309F439CF4D875E8762
+:1031C0008D859E850E945616882309F430CFCBCF7B
+:1031D0004D875E878D859E850E94B91B292F22957C
+:1031E0002F7030E0223031052CF49F7041F08111B6
+:1031F00006C00CC0243031052CF49F7049F4805E69
+:10320000883020F0C8010E941D13CF2CDC2C06C092
+:10321000D80115969C91907F91F7F8CF8D2D6296ED
+:103220000FB6F894DEBF0FBECDBFDF91CF911F91D7
+:103230000F91FF90EF90DF90CF9008951F93CF9361
+:10324000DF93CDB7DEB72C970FB6F894DEBF0FBE75
+:10325000CDBF4F83588769877A878B879C87CE013C
+:1032600007960E9431178823C1F02F8138858A85FF
+:103270009B85892B31F03F3F11F080E003C02F3F49
+:10328000E1F781E0811147C04F81588569857A85D2
+:103290008B859C850E948A163EC086E0FE0137968B
+:1032A000DE01119601900D928A95E1F7FF81E88584
+:1032B0004A855B854115510531F0EF3F31F481E0DE
+:1032C000FF3F19F403C081E001C080E080FD23C00E
+:1032D0002091820130E0C9010196877099276091A1
+:1032E000810170E086179707F1F1F983EA835D8326
+:1032F0004C8396E0929FD001939FB00D1124AD575F
+:10330000BE4FFE01319601900D929A95E1F78093A0
+:1033100082010E949A1616E08091810190918201AB
+:10332000891779F1189FC00111248D579E4F0E9473
+:103330003117882331F1E09181011E9FF0011124A2
+:10334000ED57FE4F40815181628173818481958167
+:103350000E948A168091810190E0019687709927DA
+:1033600080938101D9CF0E9452161092820110924F
+:103370008101E3EBF1E086E0DF011D928A95E9F738
+:10338000CACF2C960FB6F894DEBF0FBECDBFDF912B
+:10339000CF911F910895EF92FF920F931F93CF93B8
+:1033A000DF93FC01009709F46FC0F12CEE24E39445
+:1033B000EF0121968491843740F4843008F055C0A1
+:1033C000813081F0823021F15FC0853709F447C038
+:1033D000C0F19CE7980F903708F056C08F770E9495
+:1033E000C01245C08F010E5F1F4FFE01849190E215
+:1033F000980F983050F48770FE2D01C0FF0F8A950A
+:10340000EAF78F2F0E94691C15C00E94F81114C0A2
+:103410008F010E5F1F4FFE01849190E2980F98304C
+:1034200068F48770FE2D01C0FF0F8A95EAF78F2F91
+:103430000E946F1C0E94921CE80119C00E94C012D9
+:10344000FBCFCF010296FE01C491CC2361F0EFE9DE
+:10345000FFE03197F1F700C00000C150F6CFCF0177
+:103460000296FE01F490EC0102C00E94F8118F2D2B
+:10347000882341F0EFE9FFE03197F1F700C0000049
+:103480008150F6CFFE0194CFDF91CF911F910F9124
+:10349000FF90EF90089508956093BD017093BE0171
+:1034A0008093BF019093C0010C943E160F931F931D
+:1034B0000091BD011091BE012091BF013091C0016A
+:1034C000062B172B282B392B0093BD011093BE011F
+:1034D0002093BF013093C0011F910F910C943E16B1
+:1034E0000F931F930091BD011091BE012091BF0168
+:1034F0003091C00106231723282339230093BD01EF
+:103500001093BE012093BF013093C0011F910F9112
+:103510000C943E160F931F930091BD011091BE01B4
+:103520002091BF013091C00106271727282739278E
+:103530000093BD011093BE012093BF013093C001E1
+:103540001F910F910C943E161092B9011092BA017E
+:103550001092BB011092BC010C943E1641E050E069
+:1035600060E070E004C0440F551F661F771F8A9506
+:10357000D2F74093B9015093BA016093BB017093A5
+:10358000BC010C943E1641E050E060E070E004C0E5
+:10359000440F551F661F771F8A95D2F78091B90196
+:1035A0009091BA01A091BB01B091BC01842B952BE5
+:1035B000A62BB72B8093B9019093BA01A093BB01BE
+:1035C000B093BC010C943E1641E050E060E070E026
+:1035D00004C0440F551F661F771F8A95D2F7409588
+:1035E0005095609570958091B9019091BA01A09124
+:1035F000BB01B091BC0184239523A623B7238093FC
+:10360000B9019093BA01A093BB01B093BC010C9493
+:103610003E1641E050E060E070E004C0440F551FEA
+:10362000661F771F8A95D2F78091B9019091BA01F0
+:10363000A091BB01B091BC0184279527A627B7278D
+:103640008093B9019093BA01A093BB01B093BC01E0
+:103650000C943E160F931F930091B9011091BA017B
+:103660002091BB013091BC01062B172B282B392B45
+:103670000093B9011093BA012093BB013093BC01B0
+:103680001F910F910C943E160F931F930091B90157
+:103690001091BA012091BB013091BC010623172380
+:1036A000282339230093B9011093BA012093BB0159
+:1036B0003093BC011F910F910C943E160F931F93F2
+:1036C0000091B9011091BA012091BB013091BC0168
+:1036D00006271727282739270093B9011093BA0125
+:1036E0002093BB013093BC011F910F910C943E16A7
+:1036F0000895CF92DF92EF92FF920F931F93CF9393
+:10370000DF93EC01C090BD01D090BE01E090BF01FD
+:10371000F090C0018091B9019091BA01A091BB01D4
+:10372000B091BC01C82AD92AEA2AFB2A0FE110E08D
+:10373000B701A601002E04C0769567955795479569
+:103740000A94D2F740FD05C00150110988F780E0C6
+:1037500007C0BE01802F0E9439090197A9F3802F6D
+:10376000DF91CF911F910F91FF90EF90DF90CF905D
+:103770000895CF93DF93EC010E94791BBE010E9454
+:103780003909DF91CF910895CB010E94B91B0895AB
+:1037900090910C019923D9F090910D019923B9F0E2
+:1037A000982F9695969596959F3088F5E0910E0105
+:1037B000F0910F01E90FF11D877021E030E001C0A9
+:1037C000220F8A95EAF78181822B818308954091A7
+:1037D0000E0150910F0120E030E09FEFFA01E20F5F
+:1037E000F31F6281681799F09F3F19F4611101C0BE
+:1037F000922F2F5F3F4F2E30310581F79F3F39F0D9
+:10380000FA01E90FF11D97FDFA9582830895089555
+:1038100090910C019923E1F090910D019923C1F051
+:10382000982F9695969596959F3020F5E0910E01EC
+:10383000F0910F01E90FF11D877021E030E001C028
+:10384000220F8A95EAF72095818128232183089504
+:1038500040910E0150910F0120E030E0FA01E20F9B
+:10386000F31F9281981301C012822F5F3F4F2E30B9
+:103870003105A1F7089581E090E0E0910E01F0910B
+:103880000F01E80FF91F1082019680319105A9F709
+:1038900008959091D401982B9093D4010895809528
+:1038A0009091D40198239093D40108951092D4015B
+:1038B00008959091D301982B9093D301089580950A
+:1038C0009091D30198239093D30108951092D3013E
+:1038D00008959091D201982B9093D20108958095EC
+:1038E0009091D20198239093D20108951092D20121
+:1038F00008958093C10108951092C10108954091E7
+:103900000E0150910F0120E030E080E0FA01E20F5B
+:10391000F31F918191118F5F2F5F3F4F2F30310542
+:10392000A9F70895E0910E01F0910F018091D40163
+:103930008083E0910E01F0910F0180819091D3017D
+:10394000892B8083E0910E01F0910F01808190918D
+:10395000D201892B80839091C101992361F0E0917C
+:103960000E01F0910F018081892B80830E947F1CC2
+:1039700081111092C10180910E0190910F010C9460
+:10398000DB108091EC01843021F11092D60120E40B
+:1039900088E190E00FB6F894A895809360000FBE80
+:1039A0002093600080E00E94D40983B7817F846007
+:1039B00083BF83B7816083BF7894889583B78E7FF8
+:1039C00083BF88E10FB6F894809360001092600086
+:1039D0000FBE089508950895CF930E94EA1C0E9497
+:1039E00008060E94EB1CC0E08C2F0E94F506811196
+:1039F00005C0CF5FCE30C1F780E001C081E0CF913C
+:103A000008950E9452160E94CF100C94D40982E0AF
+:103A100084BD93E095BD9AEF97BD80936E000895A5
+:103A20002FB7F8948091D7019091D801A091D90136
+:103A3000B091DA012FBF0895CF92DF92EF92FF92FB
+:103A40000F931F932FB7F8944091D7015091D8014D
+:103A50006091D9017091DA012FBF6A017B01EE24D8
+:103A6000FF248C0120E030E0C016D106E206F30608
+:103A700010F441505109481B590BCA011F910F9175
+:103A8000FF90EF90DF90CF9008951F920F920FB6A6
+:103A90000F9211248F939F93AF93BF938091D7017F
+:103AA0009091D801A091D901B091DA010196A11DA0
+:103AB000B11D8093D7019093D801A093D901B09301
+:103AC000DA01BF91AF919F918F910F900FBE0F9030
+:103AD0001F9018950E94D50DF8942FEF87EA91E674
+:103AE000215080409040E1F700C0000087E090EB5B
+:103AF000DC018093F6019093F701A093F801B09355
+:103B0000F9012CE088E190E00FB6F894A895809335
+:103B100060000FBE20936000FFCFEF92FF920F93E3
+:103B20001F93CF93DF93E82EF12C8F2D0E94F50683
+:103B3000C0E0D0E0082F10E098010C2E02C03595AF
+:103B400027950A94E2F720FD05C02196C630D105DD
+:103B500099F709C06C2F7F2D80E00E94FD06E812C6
+:103B6000F4CF81E005C0F3948EE0F812DECF80E060
+:103B7000DF91CF911F910F91FF90EF900895CF9318
+:103B8000C82F8CE20E948D1D882321F08C2FCF91AD
+:103B90000C948D1D80E0CF910895CF930E94121F49
+:103BA000811102C00E94F81EC5E6C15049F00E9472
+:103BB00008068FE39CE90197F1F700C00000F5CFFC
+:103BC00089E20E94BF1D811111C18AE20E94BF1DBE
+:103BD00081110E94F81E85E00E94BF1D81110E9484
+:103BE0006A1D0E941D1F8093D50187E00E94BF1DA2
+:103BF000882399F18BE10E94BF1D882351F0909199
+:103C0000D50191FB882780F921E0822780FB91F97B
+:103C100022C08EE00E94BF1D882351F09091D501F3
+:103C200092FB882780F921E0822780FB92F913C05C
+:103C300080E10E94BF1D9091D501882341F093FB44
+:103C4000882780F921E0822780FB93F904C0892F1F
+:103C5000809580FB90F99093D5018091D5010E94C9
+:103C6000211F0E942F1F8093F50180EE0E94BF1D2F
+:103C7000882341F08091F501982F909590FB80F971
+:103C80008093F50189E30E94BF1D882359F090912C
+:103C9000F50191FB882780F921E0822780FB91F9CB
+:103CA0009093F50182EE0E94BF1D882359F09091F8
+:103CB000F50192FB882780F921E0822780FB92F9A9
+:103CC0009093F50186EE0E94BF1D882359F09091D4
+:103CD000F50193FB882780F921E0822780FB93F987
+:103CE0009093F50183EE0E94BF1D882359F09091B7
+:103CF000F50194FB882780F921E0822780FB94F965
+:103D00009093F50185E30E94BF1D882359F090919F
+:103D1000F50195FB882780F921E0822780FB95F942
+:103D20009093F50181E30E94BF1D882359F0909183
+:103D3000F50196FB882780F921E0822780FB96F920
+:103D40009093F50181E10E94BF1D882359F0909165
+:103D5000F50197FB882780F921E0822780FB97F9FE
+:103D60009093F5018091F5010E94331F8091F50138
+:103D700087FB882780F980930D0187E20E94BF1D91
+:103D8000C82F8EE10E94BF1D8111C2608FE10E9489
+:103D9000BF1D8111C46080E20E94BF1D8111C860F7
+:103DA00081E20E94BF1D8111C06182E20E94BF1D9D
+:103DB0008111C06283E20E94BF1D8111C06484E250
+:103DC0000E94BF1D882311F0C06802C0CC2329F0D7
+:103DD0008C2F0E942A1F6C2F03C00E94261F682F61
+:103DE00070E080E090E0CF910C944C1ACF91089550
+:103DF0006DEE7EEF80E090E00E94502560E082E072
+:103E000090E00E943E2560E083E090E00E943E2525
+:103E100060E084E090E00E943E2560E085E090E074
+:103E20000C943E2580E090E00E94382521E08D3EF4
+:103E30009E4F09F020E0822F089582E090E00C94DC
+:103E40003025682F82E090E00C943E2583E090E0DE
+:103E50000C943025682F83E090E00C943E2584E09C
+:103E600090E00C943025682F84E090E00C943E257F
+:103E70008091DD0180FF0BC06091130185E0689F98
+:103E8000B001112475956795759567952AC081FFD6
+:103E900009C06091130185E0689FB00111247595F8
+:103EA00067951FC082FF07C06091130185E0689F7E
+:103EB000B001112416C04091DE014423C9F0609185
+:103EC0001201461788F72091130185E0289F900181
+:103ED0001124429FC001439F900D112470E00E9465
+:103EE00002256038710540F46115710539F002C092
+:103EF00065E070E0862F08958FE7089581E00895CA
+:103F00008091DD0180FF08C06091110170E075951E
+:103F100067957595679521C081FF06C06091110175
+:103F200070E07595679519C082FF04C0609111011A
+:103F300070E010C08091DE018823C1F06091100113
+:103F40008617A0F790911101989FC001112470E08D
+:103F50000E9402256038710528F46115710521F071
+:103F6000862F08958FE7089581E0089561E070E05D
+:103F7000F4CF803F21F40E94381F819504C0813F17
+:103F800029F40E94381F8093E1010895823F21F4B3
+:103F90000E94381F819504C0833F29F40E94381F76
+:103FA0008093E0010895893F19F40E94801F05C0A5
+:103FB0008A3F31F40E94801F81958093E201089529
+:103FC0008B3F21F40E94801F819504C08C3F29F40F
+:103FD0000E94801F8093E3010895843F21F4809123
+:103FE000DF01816017C0853F21F48091DF0182608D
+:103FF00011C0863F21F48091DF0184600BC0873FB0
+:1040000021F48091DF01886005C0883F31F4809100
+:10401000DF0180618093DF0108958D3F21F480915D
+:10402000DD0181600BC08E3F21F48091DD01826053
+:1040300005C08F3F29F48091DD0184608093DD010C
+:104040000895803F39F48091E10187FF6CC01092A0
+:10405000E10169C0813F29F48091E1011816BCF3A8
+:1040600062C09091E001823F29F497FF5CC01092FA
+:10407000E00159C0833F19F41916CCF354C0893FAD
+:1040800041F48091E20118160CF04DC01092E2014B
+:104090004AC08A3F29F48091E20187FF44C0F6CFED
+:1040A0008B3F39F48091E30187FF3DC01092E3011B
+:1040B0003AC08C3F29F48091E3011816BCF333C059
+:1040C000843F21F48091DF018E7F17C0853F21F46A
+:1040D0008091DF018D7F11C0863F21F48091DF0147
+:1040E0008B7F0BC0873F21F48091DF01877F05C064
+:1040F000883F31F48091DF018F7E8093DF0113C010
+:104100008D3F21F48091DD018E7F0BC08E3F21F425
+:104110008091DD018D7F05C08F3F29F48091DD0105
+:104120008B7F8093DD018091E00181110EC0809131
+:10413000E10181110AC08091E201811106C08091E4
+:10414000E301811102C01092DE0108958FED91E02C
+:104150000E94E6100E94101D9093DC018093DB0109
+:1041600008951F93CF93DF938091DB019091DC0141
+:104170000E941C1D4091DE01442321F02091140176
+:1041800030E006C0209115015AE0259F90011124CE
+:104190008217930708F482C08091E0011091E10139
+:1041A000D091E201C091E301811107C0111105C056
+:1041B000D11103C0CC2309F471C04F3F19F04F5FF8
+:1041C0004093DE01181624F40E94381F8093E0010A
+:1041D0008091E00187FF05C00E94381F8195809380
+:1041E000E001111624F40E94381F8093E1018091B0
+:1041F000E10187FF05C00E94381F81958093E1018E
+:104200006091E001662339F11091E101112319F168
+:10421000772767FD7095872F972F0E94132423E33C
+:1042200033E343E35FE30E9477240E94E02360933B
+:10423000E001612F772767FD7095872F972F0E94E8
+:10424000132423E333E343E35FE30E9477240E94D4
+:10425000E0236093E1011D1624F40E94801F8093E7
+:10426000E2018091E20187FF05C00E94801F8195D5
+:104270008093E2011C1624F40E94801F8093E301C6
+:104280008091E30187FF05C00E94801F8195809384
+:10429000E301DF91CF911F910C94A620DF91CF9184
+:1042A0001F910895EFEDF1E085E0DF011D928A9501
+:1042B000E9F71092DE011092DD010895833081F15B
+:1042C00028F4813059F08230D1F00895853009F416
+:1042D00049C0B8F1863009F456C0089520911501FF
+:1042E000862F90E0820F911D8F3F910520F4620F81
+:1042F0006093150108958FEF809315010895209123
+:104300001401862F90E0820F911D8F3F910520F4BC
+:10431000620F6093140108958FEF80931401089544
+:1043200020911301862F90E0820F911D8F3F910500
+:1043300020F4620F6093130108958FEF80931301AF
+:10434000089520911201862F90E0820F911D8F3FDA
+:10435000910520F4620F6093120108958FEF80930E
+:104360001201089520911101862F90E0820F911D76
+:104370008F3F910520F4620F6093110108958FEF34
+:1043800080931101089520911001862F90E0820FF3
+:10439000911D8F3F910520F4620F609310010895E5
+:1043A0008FEF809310010895833011F128F481304C
+:1043B00049F0823091F00895853081F120F1863006
+:1043C000C1F1089580911501681720F4861B809330
+:1043D0001501089510921501089580911401681730
+:1043E00020F4861B809314010895109214010895FF
+:1043F00080911301681720F4861B809313010895A0
+:1044000010921301089580911201681720F4861B01
+:104410008093120108951092120108958091110164
+:10442000681720F4861B80931101089510921101E2
+:10443000089580911001681720F4861B8093100165
+:1044400008951092100108958D3109F442C020F5AD
+:104450008E3009F477C070F4873009F459C018F42D
+:104460008630F1F134C0883009F4A8C08B3009F4EB
+:10447000A5C02DC0863109F4A1C038F4803109F4FB
+:1044800072C0813109F479C022C0893109F496C023
+:104490008B3109F44DC01BC0853309F487C048F443
+:1044A000873209F483C008F473C0893209F47EC0EE
+:1044B0000EC0833438F48A3308F068C0883309F4B6
+:1044C0007DC005C0833409F471C0883499F080E060
+:1044D00008950E949A230E94CF100E94D4096EC0B2
+:1044E0008091D501817F8E7F8093D50181E080937B
+:1044F000E50108950E9452162FEF83ED90E32150BD
+:1045000080409040E1F700C000000E946A1D56C044
+:104510009091D501892F8095817080FB90F919F0D9
+:10452000966098601DC0997F977F9093D50146C093
+:104530009091D50191FB882780F921E0822780FBAB
+:1045400091F909C09091D50192FB882780F921E06B
+:10455000822780FB92F99093D501882379F19160AD
+:104560009093D50108959091D50193FB882780F908
+:1045700021E0822780FB93F9EECF0E9452168091B2
+:104580000D0191E0892780930D0118C027EC01C02F
+:1045900023EE280F61E070E080E090E004C0660F39
+:1045A000771F881F991F2A95D2F704C061E070E039
+:1045B00080E090E00E944C1A0E94521681E008951B
+:1045C00080E0089580E00895CF93C82F8091E501A1
+:1045D000813079F018F08230D1F184C0A0910E01C1
+:1045E000B0910F018C91813169F0823209F07CC069
+:1045F00009C0A0910E01B0910F018C91813111F091
+:10460000823249F48C2F0E94E02281111DC08C2F30
+:104610000E9424221AC08C2F0E94E222811114C011
+:10462000C43179F048F4CB3079F0C03109F060C082
+:1046300082E08093E50108C0C93219F0C83321F047
+:1046400057C01092E50154C081E0817053C0C93257
+:1046500089F118F5C43171F1A8F4C73009F046C0EA
+:104660008AE08093150194E19093140193E0909374
+:1046700013018093120188E08093110188E28093F6
+:10468000100134C0CE51C63088F5EC2FF0E0E65D65
+:10469000FE4F80818093E40129C0CE34E9F020F4FC
+:1046A000CB3421F56AE013C0C13579F0C235F1F49D
+:1046B00061E00DC08091E401882319F01092E401BB
+:1046C00015C081E08093E50115C061E006C08091CE
+:1046D000E4010E945E210AC06AE08091E4010E9428
+:1046E000D42104C01092E50180E004C081E002C042
+:1046F00080E0ABCFCF910895E1E8F0E08081886061
+:1047000080838081816080838FB7F89493E0909359
+:10471000890090ED909388008FBF0895EFE6F0E058
+:104720008081826080830895EFE6F0E080818D7F54
+:1047300080830895EFE6F0E0808192E0892780830E
+:1047400008951F920F920FB60F9211242F933F934B
+:104750004F935F936F937F938F939F93AF93BF9389
+:10476000EF93FF938091E6019091E701019690937A
+:10477000E7018093E601811103C082E00E94D40921
+:10478000E091E701E695E695F0E0E259FA4FE49111
+:104790008091E6018E1303C080E00E94D409FF914E
+:1047A000EF91BF91AF919F918F917F916F915F91A9
+:1047B0004F913F912F910F900FBE0F901F90189522
+:1047C00004D06894B1118DC0089570D088F09F57BF
+:1047D00090F0B92F9927B751A0F0D1F0660F771F4D
+:1047E000881F991F1AF0BA95C9F712C0B13081F02D
+:1047F00077D0B1E0089574C0672F782F8827B85F0D
+:1048000039F0B93FCCF3869577956795B395D9F78D
+:104810003EF490958095709561957F4F8F4F9F4F97
+:104820000895E89409C097FB3EF4909580957095A3
+:1048300061957F4F8F4F9F4F9923A9F0F92F96E9EC
+:10484000BB279395F695879577956795B795F11161
+:10485000F8CFFAF4BB0F11F460FF1BC06F5F7F4FFE
+:104860008F4F9F4F16C0882311F096E911C0772310
+:1048700021F09EE8872F762F05C0662371F096E819
+:10488000862F70E060E02AF09A95660F771F881FE8
+:10489000DAF7880F9695879597F9089557FD905800
+:1048A000440F551F59F05F3F71F04795880F97FBF4
+:1048B000991F61F09F3F79F08795089512161306AE
+:1048C0001406551FF2CF4695F1DF08C016161706DD
+:1048D0001806991FF1CF8695710561050894089512
+:1048E000E894BB2766277727CB0197F908950BD06B
+:1048F00078C069D028F06ED018F0952309F05AC01E
+:104900005FC01124EECFCADFA0F3959FD1F3950FBE
+:1049100050E0551F629FF001729FBB27F00DB11D43
+:10492000639FAA27F00DB11DAA1F649F6627B00DD3
+:10493000A11D661F829F2227B00DA11D621F739FBC
+:10494000B00DA11D621F839FA00D611D221F749FCA
+:104950003327A00D611D231F849F600D211D822F11
+:10496000762F6A2F11249F5750408AF0E1F0882358
+:104970004AF0EE0FFF1FBB1F661F771F881F915065
+:104980005040A9F79E3F510570F014C0AACF5F3F79
+:10499000ECF3983EDCF3869577956795B795F79598
+:1049A000E7959F5FC1F7FE2B880F911D9695879520
+:1049B00097F9089597F99F6780E870E060E008959F
+:1049C0009FEF80EC089500240A9416161706180627
+:1049D0000906089500240A94121613061406050603
+:1049E0000895092E0394000C11F4882352F0BB0F94
+:1049F00040F4BF2B11F460FF04C06F5F7F4F8F4FF7
+:104A00009F4F089597FB072E16F4009407D077FD6B
+:104A100009D00E941C2507FC05D03EF49095819595
+:104A20009F4F0895709561957F4F0895EE0FFF1F7A
+:104A30000590F491E02D0994AA1BBB1B51E107C01E
+:104A4000AA1FBB1FA617B70710F0A61BB70B881F1E
+:104A5000991F5A95A9F780959095BC01CD010895AD
+:104A6000F999FECF92BD81BDF89A992780B5089536
+:104A7000A8E1B0E042E050E00C945825262FF999C7
+:104A8000FECF92BD81BDF89A019700B4021639F0AD
+:104A90001FBA20BD0FB6F894FA9AF99A0FBE08957E
+:104AA0000196272F0E943F250C943E25DC01CB0167
+:104AB000FC01F999FECF06C0F2BDE1BDF89A31962E
+:104AC00000B40D9241505040B8F70895F894FFCFCC
+:104AD0002002D609630A400A0C0AD9090101C20161
+:104AE00028080A03140A3F4D36392F05E204AC04A6
+:104AF000730406041F04380451040102030405066C
+:044B00000708090099
:00000001FF
diff --git a/keyboard/ergodox_ez/keymaps/ordinary/readme.md b/keyboard/ergodox_ez/keymaps/ordinary/readme.md
index 842dc7ee19..6465cd79e0 100644
--- a/keyboard/ergodox_ez/keymaps/ordinary/readme.md
+++ b/keyboard/ergodox_ez/keymaps/ordinary/readme.md
@@ -55,7 +55,7 @@ Finally, consider the turquoise text-nav keys. Here in the Symbols layer, these
* The bright green keys are more F-keys
* The dark yellow keys signal Web and Audio applications
* The light yellow keys signal the operating system
-* The uncolored keys do nothing in case you bump them by accident
+* The dark gray keys do nothing in case you bump them by accident
![Ordinary media layout](ordinary-media.png)
@@ -67,14 +67,37 @@ Alas, the yellow keys have at best spotty success with common software. Good luc
## Switching Between Layers ##
-The three Shift keys correspond to three logical layers on top of the ever-present base layer, and are represented in the three LEDs on the keyboard: Capitals (red), Symbols (green), Media (blue). The color of a layer illuminates when the layer is active. Shift keys work in the expected way: press them and the keys shift to that layer; release them and the keys shift back to the base layer. The Ordinary Layout also features a Shift Lock key to keep a layer active indefinitely. Hold down the Shift Lock key then press any Shift key to lock to that layer. Or, hold down the Shift key and press the Shift Lock key; it works either way. To revert to the base layer, use the Shift Lock key again in combination with the Shift key.
+In addition to Symbols and Media there is the Capitals layer which is exactly the same as pressing the shift key. Each layer is accessed by a shift key on each edge of the keyboard and corresponds to one of the three LEDs on the keyboard: Capitals (red), Symbols (green), Media (blue). The color of a layer illuminates when the layer is active.
-This layout attempts to treat the Capitals Shift layer the same as the other two Shift layers, but internally they are different which causes some inconsistencies. For instance, it is possible to switch from any layer to any other layer, and to lock to any layer, *except* it is not possible to go from Media to Symbols. You must exit the Media layer before engaging the Symbols layer. Also, the Caps Lock feature must be triggered by first pressing the Shift Lock key then a Capitals Shift key; it doesn't work if you press the Shift key first (instead you get the secondary symbol character associated with the Shift Lock button).
+Shift buttons work in the expected way: press them and all of the keys switch to that layer; release them and the keys switch back to the base layer. If you press both of a pair of shift keys, the layer will lock on until you press both shift keys again. For instance, the widely and rightly loathed Caps Lock is engaged by pressing both Capitals Shift buttons. All the Shift keys work this way.
-## Special Escape & Backspace Sequences ##
+Multiple layers can be turned on at once. The Capitals layer will affect characters on other layers to capitalize. Other layers, however, don't 'mix': Symbols blankets the base layout; Media blankets Symbols.
-In the Ordinary Layout, the most unsatisfying key location is the Escape key which rightly belongs segregated on its own way up on the top left of the keyboard. The Ergodox does not have a physical button in such a location and the nearest one, in the top left corner, is home to the tilde (er, grave) which is commonly found there. The Escape key is important so it features prominently on the other top corner on the left side of the keyboard, and is always there in all layers. Nevertheless, alas, it isn't Ordinary to put the escape in that different corner!
+## Special Sequences ##
-That tilde key has a second function as the Shift Lock key and that makes possible a special feature. To make this layout as Ordinary as possible, the Escape key can *also* be accessed by pressing Shift Lock then the 1 button right next to it. This easy gesture is a way to partially maintain the ease of flicking your wrist to the left and tapping Escape. This gesture works in all layers.
+![Ordinary special layout](ordinary-special.png)
-Finally, because the special Escape sequence is so natural and useful, on the top right corner of the Ergodox EZ you can do the same gesture with the 0 key to produce a Backspace. Users of this keyboard and this layout are well advised to learn to use their thumbs for deleting text, but sometimes you are doing other computery things and just want to flick your digits up to the right and press backspace a bunch times. These special sequences should feel unremarkably mundane but might prove to be remarkably useful.
+### Escape ###
+
+The One True Location for the Escape key is segregated way up on the top left of the keyboard. The Ergodox does not have a physical button in such a location and the nearest one is home to the tilde (er, grave) which is commonly found there. In the Ordinary layout the Escape key is found on all layers in the prominent location in the corner next to the 5, whnich is easy to remember, and yet it isn't natural for those of us with muscle memory flicking our wrists up and to the left looking for Escape.
+
+The Ordinary layout offers as a consolation prize a Special sequence for Escape: Special Shift + 1. This is natural so you can tap the top left button, then the button next to it and get Escape. This gesture works in all layers.
+
+### Backspace ###
+
+At the top right corner of the Ergodox EZ you can a gesture similar to the special Escape sequence, using the 0 key, to produce a Backspace. Users of this keyboard and this layout are well advised to learn to use their thumbs for deleting text, but sometimes you are doing other computery things and just want to flick your digits up to the right and press backspace a bunch times.
+
+### RShift ###
+
+The Ordinary Layout locks layers by pressing both of a pair of shift keys. This interferes with the QMK firmware magic sequence, which is LShift+RShift. To work around this, both of the Capitals Shift keys produce a *Left Shift* keystroke. If for some reason a person needs *Right Shift* they can find it by pressing a Special Shift key, then the Capitals Shift key on the right side of the keyboard.
+
+****
+
+The Ordinary Layout for the Ergodox EZ keyboard, v4
+
+Modifications from default by Nicholas Keene ergodoxez@nicholaskeene.com
+
+No rights reserved. This software is in the public domain. Credit me if you are friendly but if you're a jerk don't bother.
+
+Details: readme.md
+ https://github.com/nrrkeene/qmk_firmware/tree/master/keyboard/ergodox_ez/keymaps/ordinary