summaryrefslogtreecommitdiffstats
path: root/keyboard
diff options
context:
space:
mode:
Diffstat (limited to 'keyboard')
-rw-r--r--keyboard/ergodox_ez/Makefile4
-rw-r--r--keyboard/ergodox_ez/README.md5
-rw-r--r--keyboard/ergodox_ez/ergodox_ez.c35
-rw-r--r--keyboard/ergodox_ez/ergodox_ez.h9
-rw-r--r--keyboard/ergodox_ez/keymap_j3rn_README.md28
-rw-r--r--keyboard/ergodox_ez/keymaps/keymap_andrew_osx.c187
-rw-r--r--keyboard/ergodox_ez/keymaps/keymap_andrew_osx.hex1471
-rw-r--r--keyboard/ergodox_ez/keymaps/keymap_coderkun_neo2.c137
-rw-r--r--keyboard/ergodox_ez/keymaps/keymap_dave.c195
-rw-r--r--keyboard/ergodox_ez/keymaps/keymap_dave.hex1483
-rw-r--r--keyboard/ergodox_ez/keymaps/keymap_default.c2
-rw-r--r--keyboard/ergodox_ez/keymaps/keymap_default.hex2443
-rw-r--r--keyboard/ergodox_ez/keymaps/keymap_default_osx.pngbin185123 -> 0 bytes
-rw-r--r--keyboard/ergodox_ez/keymaps/keymap_dvorak.c184
-rw-r--r--keyboard/ergodox_ez/keymaps/keymap_dvorak.pngbin0 -> 87314 bytes
-rw-r--r--keyboard/ergodox_ez/keymaps/keymap_j3rn.c186
-rw-r--r--keyboard/ergodox_ez/keymaps/keymap_jgarr.c184
-rw-r--r--keyboard/ergodox_ez/keymaps/keymap_kastyle.c184
-rw-r--r--keyboard/ergodox_ez/keymaps/keymap_kines-ish.c184
-rw-r--r--keyboard/ergodox_ez/keymaps/keymap_kines-ish_README.md19
-rw-r--r--keyboard/ergodox_ez/keymaps/keymap_osx_de.c106
-rw-r--r--keyboard/ergodox_ez/keymaps/keymap_osx_de.hex2996
-rw-r--r--keyboard/ergodox_ez/keymaps/keymap_osx_de_adnw_koy.c262
-rw-r--r--keyboard/ergodox_ez/keymaps/keymap_osx_de_highres.pngbin755855 -> 749565 bytes
-rw-r--r--keyboard/ergodox_ez/keymaps/keymap_osx_fr.c187
-rw-r--r--keyboard/ergodox_ez/keymaps/keymap_osx_fr.hex1471
-rw-r--r--keyboard/hhkb_qmk/Makefile149
-rw-r--r--keyboard/hhkb_qmk/README.md180
-rw-r--r--keyboard/hhkb_qmk/config.h71
-rw-r--r--keyboard/hhkb_qmk/hhkb_avr.h167
-rw-r--r--keyboard/hhkb_qmk/hhkb_qmk.c29
-rw-r--r--keyboard/hhkb_qmk/hhkb_qmk.h30
-rw-r--r--keyboard/hhkb_qmk/keymaps/keymap_default.c78
-rw-r--r--keyboard/hhkb_qmk/keymaps/keymap_lxol.c208
-rw-r--r--keyboard/hhkb_qmk/matrix.c196
-rw-r--r--keyboard/planck/keymaps/keymap_gabriel.c25
36 files changed, 10324 insertions, 2771 deletions
diff --git a/keyboard/ergodox_ez/Makefile b/keyboard/ergodox_ez/Makefile
index 3b7025840..03c806131 100644
--- a/keyboard/ergodox_ez/Makefile
+++ b/keyboard/ergodox_ez/Makefile
@@ -94,13 +94,13 @@ OPT_DEFS += -DBOOTLOADER_SIZE=512
BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = yes # Console for debug(+400)
+CONSOLE_ENABLE = no # Console for debug(+400)
COMMAND_ENABLE = yes # Commands for debug and configuration
CUSTOM_MATRIX = yes # Custom matrix file for the ErgoDox EZ
SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
# MIDI_ENABLE = yes # MIDI controls
-# uNICODE_ENABLE = yes # Unicode
+# UNICODE_ENABLE = yes # Unicode
# Optimize size but this may cause error "relocation truncated to fit"
diff --git a/keyboard/ergodox_ez/README.md b/keyboard/ergodox_ez/README.md
index 8085e5cd8..51f1e2aa5 100644
--- a/keyboard/ergodox_ez/README.md
+++ b/keyboard/ergodox_ez/README.md
@@ -15,8 +15,9 @@ This requires a little bit of familiarity with coding.
1. Go to https://github.com/jackhumbert/qmk_firmware and read the Readme at the base of this repository, top to bottom. Then come back here :)
2. Clone the repository (download it)
-3. Set up a build environment as per https://www.pjrc.com/teensy/gcc.html
-4. Copy `keymaps/keymap_default.c` into `keymaps/keymaps_your_name.c` (for example, `keymaps/keymap_german.c`)
+3. Set up a build environment as per [pjrc.com/teensy/gcc.html](https://www.pjrc.com/teensy/gcc.html)
+ - Using a Mac and have homebrew? just run `brew tap osx-cross/avr && brew install avr-libc`
+4. Copy `keymaps/keymap_default.c` into `keymaps/keymap_your_name.c` (for example, `keymaps/keymap_german.c`)
5. Edit this file, changing keycodes to your liking (see "Finding the keycodes you need" below). Try to edit the comments as well, so the "text graphics" represent your layout correctly.
6. Compile your firmware by running `make clean` followed by `make KEYMAP=your_name`. Note that you must omit the `keymap_` prefix for your filename in this command -- for example, `make KEYMAP=german`. This will result in a hex file, which will always be called `ergodox_ez.hex`, regardless of your keymap name.
6. Flash this hex file using the [Teensy loader](https://www.pjrc.com/teensy/loader.html) as described in step 4 in the "Easy Way" above.
diff --git a/keyboard/ergodox_ez/ergodox_ez.c b/keyboard/ergodox_ez/ergodox_ez.c
index 78e956a04..d0eaf3392 100644
--- a/keyboard/ergodox_ez/ergodox_ez.c
+++ b/keyboard/ergodox_ez/ergodox_ez.c
@@ -6,12 +6,12 @@ uint8_t mcp23018_status = 0x20;
__attribute__ ((weak))
void * matrix_init_user(void) {
-
+ return NULL;
};
__attribute__ ((weak))
void * matrix_scan_user(void) {
-
+ return NULL;
};
void * matrix_init_kb(void) {
@@ -34,16 +34,20 @@ void * matrix_init_kb(void) {
ergodox_blink_all_leds();
- if (matrix_init_user) {
- (*matrix_init_user)();
- }
+ if (matrix_init_user) {
+ (*matrix_init_user)();
+ }
+
+ return NULL;
};
void * matrix_scan_kb(void) {
- if (matrix_scan_user) {
- (*matrix_scan_user)();
- }
+ if (matrix_scan_user) {
+ (*matrix_scan_user)();
+ }
+
+ return NULL;
};
@@ -51,8 +55,19 @@ void ergodox_blink_all_leds(void)
{
ergodox_led_all_off();
ergodox_led_all_set(LED_BRIGHTNESS_HI);
- ergodox_led_all_on();
- _delay_ms(333);
+ ergodox_right_led_1_on();
+ _delay_ms(50);
+ ergodox_right_led_2_on();
+ _delay_ms(50);
+ ergodox_right_led_3_on();
+ _delay_ms(50);
+ ergodox_right_led_1_off();
+ _delay_ms(50);
+ ergodox_right_led_2_off();
+ _delay_ms(50);
+ ergodox_right_led_3_off();
+ //ergodox_led_all_on();
+ //_delay_ms(333);
ergodox_led_all_off();
}
diff --git a/keyboard/ergodox_ez/ergodox_ez.h b/keyboard/ergodox_ez/ergodox_ez.h
index 3989a2f3a..aceb7ed9c 100644
--- a/keyboard/ergodox_ez/ergodox_ez.h
+++ b/keyboard/ergodox_ez/ergodox_ez.h
@@ -34,7 +34,7 @@ void ergodox_blink_all_leds(void);
uint8_t init_mcp23018(void);
uint8_t ergodox_left_leds_update(void);
-#define LED_BRIGHTNESS_LO 31
+#define LED_BRIGHTNESS_LO 15
#define LED_BRIGHTNESS_HI 255
@@ -42,11 +42,13 @@ inline void ergodox_board_led_on(void) { DDRD |= (1<<6); PORTD |= (1<<6);
inline void ergodox_right_led_1_on(void) { DDRB |= (1<<5); PORTB |= (1<<5); }
inline void ergodox_right_led_2_on(void) { DDRB |= (1<<6); PORTB |= (1<<6); }
inline void ergodox_right_led_3_on(void) { DDRB |= (1<<7); PORTB |= (1<<7); }
+inline void ergodox_right_led_on(uint8_t led) { DDRB |= (1<<(led+4)); PORTB |= (1<<(led+4)); }
inline void ergodox_board_led_off(void) { DDRD &= ~(1<<6); PORTD &= ~(1<<6); }
inline void ergodox_right_led_1_off(void) { DDRB &= ~(1<<5); PORTB &= ~(1<<5); }
inline void ergodox_right_led_2_off(void) { DDRB &= ~(1<<6); PORTB &= ~(1<<6); }
inline void ergodox_right_led_3_off(void) { DDRB &= ~(1<<7); PORTB &= ~(1<<7); }
+inline void ergodox_right_led_off(uint8_t led) { DDRB &= ~(1<<(led+4)); PORTB &= ~(1<<(led+4)); }
inline void ergodox_led_all_on(void)
{
@@ -67,6 +69,11 @@ inline void ergodox_led_all_off(void)
inline void ergodox_right_led_1_set(uint8_t n) { OCR1A = n; }
inline void ergodox_right_led_2_set(uint8_t n) { OCR1B = n; }
inline void ergodox_right_led_3_set(uint8_t n) { OCR1C = n; }
+inline void ergodox_right_led_set(uint8_t led, uint8_t n) {
+ (led == 1) ? (OCR1A = n) :
+ (led == 2) ? (OCR1B = n) :
+ (OCR1C = n);
+}
inline void ergodox_led_all_set(uint8_t n)
{
diff --git a/keyboard/ergodox_ez/keymap_j3rn_README.md b/keyboard/ergodox_ez/keymap_j3rn_README.md
new file mode 100644
index 000000000..b0c4d267b
--- /dev/null
+++ b/keyboard/ergodox_ez/keymap_j3rn_README.md
@@ -0,0 +1,28 @@
+# J3RN's Mac-centric Ergodox EZ keymap
+
+## Motivation
+
+Essentially, I wanted to switch to a layout that was less jarring than the default Ergodox EZ layout, and did not require finger gymnastics to perform common OS X shortcuts (most of which involve the CMD (LGui) key).
+
+## How is it different from the default Ergodox EZ layout?
+
+This layout more closely resembles that of the Mac keyboard, and has some other goodness baked in. Here is a rundown of what that means:
+
+### Mac-like changes
+
+- **The key to the left of "1" is "~" instead of "=".**
+- **The key to the right of "0" is Backspace instead of "-"** (misleadingly labeled "delete" on the Mac's keyboard). There was no room to fit in "-" and "=" between "0" and Backspace, unfortunately.
+- **The key to the left of "Q" is Tab instead of Delete.**
+- **The rightmost big key on the left thumb is CMD (LGui) instead of Backspace.**
+
+### Other changes
+
+- **The button to the left of "A" is Ctrl/Esc instead of Backspace.** This is actually how I have the keyboard on my Macbook set up to be, since it's loads more convenient than a CAPS LOCK key. This is the Ctrl key I find myself using most.
+- **The key to the right of "5" and the key to left of "6" are "[" and "]", respectively, instead of Left and Right.** There is a more convenient set of Left and Right already present. Truth be told, I don't really use these keys, as they are a stretch to reach.
+- **The Toggle L1 keys have been replaced by the otherwise displaced "-" and "=".** They are laid out, left-to-right, in the same order as on the Mac keyboard. Honestly, they are not terribly conveniently placed, and their placement might change in a later version. I found that I did not toggle L1 frequently at all, and found using the momentary keys to access L1 to fit my workflow better.
+- **The "~"/L1 key in the bottom-left is now just momentary L1.** The "~" key was moved to the top-left as mentioned before, and I like to keep my multi-use keys to a minimum due to the latency for them to switch from "press" to "hold."
+- **The Home and End buttons have been shifted up on the left thumb, and Shift inserted below them.** This makes doing Shift-5 and other such combinations less painful.
+- **The Page Up and Page Down buttons have been shifted up on the right thumb, and Alt was moved from above them to below them.** I use Alt more than Page Up or Page Down (mostly in terminal applications), and thought that it deserved a more accessible location.
+
+
+**I'm always open to feedback and/or suggestions!**
diff --git a/keyboard/ergodox_ez/keymaps/keymap_andrew_osx.c b/keyboard/ergodox_ez/keymaps/keymap_andrew_osx.c
new file mode 100644
index 000000000..48f8c5d2f
--- /dev/null
+++ b/keyboard/ergodox_ez/keymaps/keymap_andrew_osx.c
@@ -0,0 +1,187 @@
+// Netable differences vs. the default firmware for the ErgoDox EZ:
+// 1. The Cmd key is now on the right side, making Cmd+Space easier.
+// 2. The media keys work on OSX (But not on Windows).
+#include "ergodox_ez.h"
+#include "debug.h"
+#include "action_layer.h"
+
+#define BASE 0 // default layer
+#define SYMB 1 // symbols
+#define MDIA 2 // media keys
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* Keymap 0: Basic layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | = | 1 | 2 | 3 | 4 | 5 | '" | | '" | 6 | 7 | 8 | 9 | 0 | BkSp |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | Tab | Q | W | E | R | T | ~L1 | | ~L1 | Y | U | I | O | P | - |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * |Ctrl/Esc| A | S | D | F | G |------| |------| H | J | K | L |; / L2| / |
+ * |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------|
+ * | LShift |Z/Ctrl| X | C | V | B | | | | N | M | , | . |//Ctrl| RShift |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * |Grv/L1| Alt |AltShf| Left | Right| | Up | Down | [ | ] | L1 |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | App | LGui | | Esc |Ctrl/Esc|
+ * ,------|------|------| |------+--------+------.
+ * | | | ( | | { | | |
+ * | Space| LGui |------| |------| RGui |Enter |
+ * | | | ) | | } | | |
+ * `--------------------' `----------------------'
+ */
+// If it accepts an argument (i.e, is a function), it doesn't need KC_.
+// Otherwise, it needs KC_*
+[BASE] = KEYMAP( // layer 0 : default
+ // left hand
+ KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_QUOT,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_FN1,
+ CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G,
+ KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO),
+ LT(SYMB,KC_GRV),KC_LALT, LALT(KC_LSFT), KC_LEFT,KC_RGHT,
+ ALT_T(KC_APP), KC_LGUI,
+ KC_LPRN,
+ KC_SPC,KC_LGUI,KC_RPRN,
+ // right hand
+ KC_QUOT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
+ KC_FN1, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS,
+ KC_H, KC_J, KC_K, KC_L, LT(MDIA, KC_SCLN),KC_BSLS,
+ MEH_T(KC_NO),KC_N, KC_M, KC_COMM,KC_DOT, CTL_T(KC_SLSH), KC_RSFT,
+ KC_UP, KC_DOWN,KC_LBRC,KC_RBRC, TG(1),
+ KC_ESC, CTL_T(KC_ESC),
+ KC_LCBR,
+ KC_RCBR,KC_RGUI, KC_ENT
+ ),
+/* Keymap 1: Symbol Layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | | | | | . | 0 | = | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | | |
+ * | | |------| |------| | |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+// SYMBOLS
+[SYMB] = KEYMAP(
+ // left hand
+ KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS,
+ KC_TRNS,KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS,
+ KC_TRNS,KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV,
+ KC_TRNS,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ KC_TRNS,KC_TRNS,
+ KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,
+ // right hand
+ KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
+ KC_TRNS, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_F12,
+ KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS,
+ KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS,
+ KC_TRNS,KC_DOT, KC_0, KC_EQL, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS
+),
+/* Keymap 2: Media and mouse keys
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | | | | | | | | | | | | | | | |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | | | MsUp | | | | | | | | | | | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | | | | | | | | | | | Prev | Next | | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | |Brwser|
+ * | | |------| |------| |Back |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+// MEDIA AND MOUSE
+KEYMAP(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ // right hand
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS,
+ KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_WBAK
+),
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+ [1] = ACTION_LAYER_TAP_TOGGLE(SYMB) // FN1 - Momentary Layer 1 (Symbols)
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ // MACRODOWN only works in this function
+ switch(id) {
+ case 0:
+ if (record->event.pressed) {
+ register_code(KC_RSFT);
+ } else {
+ unregister_code(KC_RSFT);
+ }
+ break;
+ }
+ return MACRO_NONE;
+};
+
+// Runs just one time when the keyboard initializes.
+void * matrix_init_user(void) {
+
+};
+
+// Runs constantly in the background, in a loop.
+void * matrix_scan_user(void) {
+
+ uint8_t layer = biton32(layer_state);
+
+ ergodox_board_led_off();
+ ergodox_right_led_1_off();
+ ergodox_right_led_2_off();
+ ergodox_right_led_3_off();
+ switch (layer) {
+ // TODO: Make this relevant to the ErgoDox EZ.
+ case 1:
+ ergodox_right_led_1_on();
+ break;
+ case 2:
+ ergodox_right_led_2_on();
+ break;
+ default:
+ // none
+ break;
+ }
+
+};
diff --git a/keyboard/ergodox_ez/keymaps/keymap_andrew_osx.hex b/keyboard/ergodox_ez/keymaps/keymap_andrew_osx.hex
new file mode 100644
index 000000000..e3ee9afd3
--- /dev/null
+++ b/keyboard/ergodox_ez/keymaps/keymap_andrew_osx.hex
@@ -0,0 +1,1471 @@
+:100000000C9400070C9444070C9444070C94440788
+:100010000C9444070C9444070C9444070C94440734
+:100020000C9444070C9444070C9458120C942A1313
+:100030000C9444070C9444070C9444070C94440714
+:100040000C9444070C94022C0C9444070C94440721
+:100050000C9444070C94FA210C9444070C94440724
+:100060000C9444070C9444070C9444070C944407E4
+:100070000C9444070C9444070C9444070C944407D4
+:100080000C9444070C9444070C9444070C944407C4
+:100090000C9444070C9444070C9444070C944407B4
+:1000A0000C9444070C9444070C9444079713B91319
+:1000B000A714B913A714FE132114A71476148914D6
+:1000C000D017D017FF17FF17431881189B1A9B1AD8
+:1000D0009A189B1A9B199B196F1A9B1A9B1A861ABE
+:1000E0000000F0A12E002B002971E10035810000F5
+:1000F0001E00140004001D71E20027021F001A00F8
+:1001000016001B00E104E3002000080007000600C1
+:1001100050002C0021001500090019004F00260294
+:10012000220017000A000500000065743400C100B9
+:100130000000007F0000E3003400C10000000077F1
+:100140000000290023001C000B0011000000297191
+:10015000240018000D00100052002F0225000C0092
+:100160000E00360051002800260012000F00370054
+:100170002F00E7002700130033823871300030026F
+:100180002A002D003100E5000154000001000100AB
+:1001900001000100010000003A001E0220022202BC
+:1001A000010001003B001F022102230201000100A7
+:1001B0003C002F0226022F00010001003D0030020A
+:1001C00027023000010001003E00310235003502F7
+:1001D000000001000100010000000100000001001A
+:1001E0000100010000000100000001003F0052007A
+:1001F00051002402000001004000240021001E00E4
+:10020000010001004100250022001F00370001000D
+:1002100042002600230020002700010043002502A1
+:100220002E0231002E0001004400450001000100B3
+:1002300001000000010001000100010001000000B8
+:1002400001000100010001000100010001000100A6
+:10025000F2000100010001000100F000F1000100C6
+:10026000F400010001000100F3000100F5000100AD
+:100270000100010001000100000001000100010077
+:100280000000010000000100010001000000010069
+:100290000000010001000100010001000000010058
+:1002A0000100010001000100A9000100010001009E
+:1002B0000100AC00AA00B600010001000100AB0083
+:1002C000A80001000100010001000100010001007F
+:1002D00001000100AE000100010000000A0025300D
+:1002E000313662003A200025303258000A722F63FE
+:1002F0002030313233343536373839414243444582
+:10030000460A000A002530325800626F756E636538
+:10031000213A20006C6566742073696465206174FD
+:100320007461636865640A006C656674207369644F
+:1003300065206E6F7420726573706F6E64696E678E
+:100340000A00747279696E6720746F207265736534
+:1003500074206D637032333031380A000A444542EC
+:1003600055473A20656E61626C65642E0A005B73C6
+:100370005D004B6579626F617264207374617274A1
+:100380002E0A005B575D005B535D005B525D005BB6
+:10039000445D005B435D0016034500720067006F1B
+:1003A0000044006F007800200045005A000000164D
+:1003B000034500720067006F0044006F0078002062
+:1003C0000045005A0000000403090409028D0005DD
+:1003D0000100A0FA09040000010301010009211134
+:1003E000010001223F000705810308000A090401FA
+:1003F000000103010200092111010001224D000743
+:1004000005820308000A0904020001030000000934
+:1004100021110100012236000705830308000A09A3
+:100420000403000203000000092111010001222041
+:1004300000070584032000010705040320000109CB
+:100440000404000103000000092111010001223908
+:1004500000070585031000011201100100000008CB
+:10046000EDFE071301000102000105010906A101CB
+:10047000050719E029E71500250195087501810296
+:100480000508190129059505750191029501750366
+:100490009101050719002977150025019578750147
+:1004A0008102C00631FF0974A1010975150025FFFD
+:1004B0009520750881020976150025FF952075089D
+:1004C0009102C005010980A101850216010026B72D
+:1004D000001A01002AB700751095018100C0050CB3
+:1004E0000901A1018503160100269C021A01002AB8
+:1004F0009C02751095018100C005010902A1010946
+:1005000001A10005091901290515002501950575A9
+:100510000181029501750381010501093009311539
+:1005200081257F95027508810609381581257F95FB
+:100530000175088106050C0A38021581257F950191
+:1005400075088106C0C005010906A101050719E06B
+:1005500029E71500250195087501810295017508A7
+:10056000810105081901290595057501910295017B
+:10057000750391010507190029FF150025FF950650
+:1005800075088100C00A002530325820006B65795B
+:10059000626F6172645F7265706F72743A20000AF4
+:1005A0000025303258006B6579626F6172645F7349
+:1005B00065745F6C65643A200064656C5F6B657997
+:1005C0005F6269743A2063616E27742064656C3AD7
+:1005D00020253032580A006164645F6B65795F6280
+:1005E00069743A2063616E2774206164643A20253F
+:1005F0003032580A00646F6E652E0A00626F6F67B2
+:100600006D61676963207363616E3A202E2E2E2020
+:1006100000290A002575002F002575005D2800259A
+:10062000640020002564002000256400200025646B
+:10063000007C0025303258006D6F7573656B6579ED
+:10064000205B62746E7C782079207620685D287249
+:1006500065702F61636C293A205B006D6B5F776872
+:1006600065656C5F74696D655F746F5F6D6178203F
+:100670003D2025640A006D6B5F776865656C5F6D72
+:1006800061785F7370656564203D2025640A006DA4
+:100690006B5F74696D655F746F5F6D6178203D207D
+:1006A00025640A006D6B5F6D61785F7370656564CA
+:1006B000203D2025640A006D6B5F696E746572765B
+:1006C000616C203D2025640A006D6B5F64656C6180
+:1006D00079203D2025640A006D6B5F776865656C45
+:1006E0005F74696D655F746F5F6D6178203D202573
+:1006F000640A006D6B5F776865656C5F6D61785F3C
+:100700007370656564203D2025640A006D6B5F741D
+:10071000696D655F746F5F6D6178203D2025640AA7
+:10072000006D6B5F6D61785F7370656564203D205F
+:1007300025640A006D6B5F696E74657276616C206A
+:100740003D2025640A006D6B5F64656C6179203D16
+:100750002025640A000A00257500363A207768656E
+:10076000656C5F74696D655F746F5F6D61783A2069
+:10077000000A00257500353A20776865656C5F6D65
+:1007800061785F73706565643A20000A0025750022
+:10079000343A2074696D655F746F5F6D61783A20DB
+:1007A000000A00257500333A206D61785F7370652B
+:1007B00065643A20000A00257500323A20696E749B
+:1007C000657276616C286D73293A20000A002575E0
+:1007D00000313A2064656C6179282A31306D7329C3
+:1007E0003A20000A092D2056616C756573202D0A88
+:1007F000004D3E004D25643E20003F00736574208F
+:1008000064656661756C740A00433E200077686514
+:1008100072652064656C74613A20637572736F72DF
+:100820003D25642C20776865656C3D25640A536519
+:100830006520687474703A2F2F656E2E77696B6926
+:1008400070656469612E6F72672F77696B692F4DD0
+:100850006F7573655F6B6579730A000A092D204D0A
+:100860006F7573656B6579202D0A4553432F713A77
+:1008700009717569740A313A0964656C6179282ACD
+:1008800031306D73290A323A09696E746572766186
+:100890006C286D73290A333A096D61785F7370654E
+:1008A00065640A343A0974696D655F746F5F6D61E0
+:1008B000780A353A09776865656C5F6D61785F73B2
+:1008C000706565640A363A09776865656C5F7469B6
+:1008D0006D655F746F5F6D61780A0A703A097072B6
+:1008E000696E742076616C7565730A643A09736584
+:1008F000742064656661756C74730A75703A092BAF
+:10090000310A646F776E3A092D310A706775703A53
+:10091000092B31300A7067646F776E3A092D3130D8
+:100920000A0A7370656564203D2064656C746120FB
+:100930002A206D61785F7370656564202A202872B3
+:100940006570656174202F2074696D655F746F5FD9
+:100950006D6178290A003F004D3E2000433E200093
+:100960004C25640A000A092D20436F6E736F6C6575
+:10097000202D0A4553432F713A09717569740A6D28
+:100980003A096D6F7573656B65790A000A092D2048
+:100990004D61676963202D0A643A09646562756771
+:1009A0000A783A096465627567206D6174726978C6
+:1009B0000A6B3A096465627567206B6579626F61DD
+:1009C00072640A6D3A096465627567206D6F7573AC
+:1009D000650A763A0976657273696F6E0A733A0929
+:1009E0007374617475730A633A09636F6E736F6C25
+:1009F00065206D6F64650A302D343A096C61796544
+:100A000072302D34284631302D4634290A50617514
+:100A1000733A09626F6F746C6F616465720A653A4C
+:100A200009656570726F6D0A6E3A094E4B524F0A36
+:100A30007A3A09736C656570204C4544207465737F
+:100A4000740A000A002575002E6E6B726F3A200042
+:100A50000A002575002E737761705F6261636B73A6
+:100A60006C6173685F6261636B73706163653A2088
+:100A7000000A002575002E737761705F67726176DA
+:100A8000655F6573633A20000A002575002E6E6F5E
+:100A90005F6775693A20000A002575002E7377613B
+:100AA000705F72616C745F726775693A20000A004A
+:100AB0002575002E737761705F6C616C745F6C6775
+:100AC00075693A20000A002575002E636170736C09
+:100AD0006F636B5F746F5F636F6E74726F6C3A20DD
+:100AE000000A002575002E737761705F636F6E7466
+:100AF000726F6C5F636170736C6F636B3A20000A96
+:100B00000025303258006B65796D61705F636F6EE0
+:100B10006669672E7261773A20000A002575002EFB
+:100B20006D6F7573653A20000A002575002E6B65A0
+:100B300079626F6172643A20000A002575002E6D9B
+:100B400061747269783A20000A002575002E656E7E
+:100B500061626C653A20000A0025303258006465F5
+:100B60006275675F636F6E6669672E7261773A20A0
+:100B7000000A0025750064656661756C745F6C61C0
+:100B80007965723A20003F004E4B524F3A206F6613
+:100B9000660A004E4B524F3A206F6E0A0074696D20
+:100BA00065725F636F756E743A202530346C580A35
+:100BB000006B6579626F6172645F6E6B726F3A2071
+:100BC00025580A006B6579626F6172645F69646CB5
+:100BD000653A2025580A006B6579626F6172645F1F
+:100BE00070726F746F636F6C3A2025580A00686FDB
+:100BF00073745F6B6579626F6172645F6C65647357
+:100C000028293A2025580A000A092D2053746174B6
+:100C10007573202D0A004743433A20342E392E3372
+:100C2000204156522D4C4942433A20312E382E3124
+:100C3000204156525F415243483A20617672350A4C
+:100C4000004F5054494F4E533A204C554641204294
+:100C50004F4F544D41474943204D4F5553454B4508
+:100C6000592045585452414B455920434F4E534FFC
+:100C70004C4520434F4D4D414E44204E4B524F204A
+:100C80003531320A004255494C443A2030663263CD
+:100C9000373733202831313A30393A3531204A61FB
+:100CA0006E2020352032303136290A005649443A28
+:100CB00020307846454544284572676F446F782058
+:100CC000455A29205049443A20307831333037286A
+:100CD0004572676F446F7820455A29205645523A2D
+:100CE000203078303030310A00444553433A207484
+:100CF0002E6D2E6B2E206B6579626F61726420669B
+:100D000069726D7761726520666F72204572676FD8
+:100D1000646F780A000A092D2056657273696F6E38
+:100D2000202D0A000A6D6F7573653A206F66660A9A
+:100D3000000A6D6F7573653A206F6E0A000A6B6565
+:100D400079626F6172643A206F66660A000A6B65A9
+:100D500079626F6172643A206F6E0A000A6D617485
+:100D60007269783A206F66660A000A6D617472696A
+:100D7000783A206F6E0A000A64656275673A206FE0
+:100D80006E0A000A64656275673A206F66660A003B
+:100D90000A0A626F6F746C6F616465722E2E2E206A
+:100DA00000433E20006565636F6E6669673A0A001E
+:100DB000536C656570204C454420746573740A005B
+:100DC0000000000000000000000000010204060A0C
+:100DD0000F17202C3A4A5D71879DB3C7DAE9F5FCFD
+:100DE000FFFCF5E9DAC7B39D87715D4A3A2C2017FD
+:100DF0000F0A0604020100000000000000000000CD
+:100E000011241FBECFEFDAE0DEBFCDBF04B603FE74
+:100E100024C08091F9019091FA01A091FB01B09159
+:100E2000FC018730904BA740B04BB9F41092F90108
+:100E30001092FA011092FB011092FC0114BE84B7CB
+:100E4000877F84BF88E10FB6F8948093600010928A
+:100E500060000FBEE0E0FFE3099511E0A0E0B1E023
+:100E6000E0EAFBE502C005900D92AA33B107D9F77D
+:100E700011E0AAE3B1E001C01D92A93FB107E1F77B
+:100E80000E94900F0C94CE2D0C940000FF93EF93D2
+:100E9000E0913A01F0913B01309709F00995EF910B
+:100EA000FF910895FC018591803011F0EFDFFBCFB9
+:100EB0000895FF27E0E230E247FF0CC0419597FF1D
+:100EC00009C0EDE26095709580959095611D711D4A
+:100ED000811D911D27FF02C0219530E350E2AA2712
+:100EE000660F771F881F991FAA1FA41710F0A41B55
+:100EF00063955A95A9F7AA3008F0A95FA05DAF9352
+:100F0000F395611571058105910541F7ED3211F4F5
+:100F1000EF93F395F21718F43F93F395FBCF8F916E
+:100F2000B5DFFA95E1F70895E991F991859180305F
+:100F300021F0853219F0AADFF9CF089520E0E89476
+:100F400055915532C1F3503311F4689455915A3389
+:100F500048F4505390F3220F022E220F220F200D3F
+:100F6000250FF4CF0EF4219589919991533619F3F9
+:100F7000533729F1533559F1BC0188279927E89453
+:100F80005C3621F48991999168945591543639F4DD
+:100F900046EF7EF077FF0DC08FEF9FEF0AC0553709
+:100FA0004AE039F0583540E121F0523642E009F08C
+:100FB0000895FF93EF937DDFEF91FF91B7CFFF93FC
+:100FC000EF93FC0181918030B9F360DFFBCFFF9399
+:100FD000EF9368DFF1CFDF93CF93CDB7DEB72596E0
+:100FE000A3DFCF91DF91089561110BC0FC018281D5
+:100FF000882321F085EE0E946D1603C085EE0E94C5
+:10100000351780E090E0089508956091BC017091DB
+:10101000BD018091BE019091BF010E94FD205698B4
+:101020005E9825982D9826982E9827982F9881308D
+:1010300019F0823021F00895259A2D9A0895269A64
+:101040002E9A089585E098E0892B11F00E940508FA
+:1010500080E090E0089556985E9825982D982698FF
+:101060002E9827982F988FEF90E090938900809387
+:10107000880090938B0080938A0090938D008093DA
+:101080008C00259A2D9A2FEF80E792E02150804026
+:101090009040E1F700C00000269A2E9A2FEF80E7DB
+:1010A00092E0215080409040E1F700C00000279A74
+:1010B0002F9A2FEF80E792E0215080409040E1F797
+:1010C00000C0000025982D982FEF80E792E0215076
+:1010D00080409040E1F700C0000026982E982FEF46
+:1010E00080E792E0215080409040E1F700C000008E
+:1010F00027982F9856985E9825982D9826982E9880
+:1011000027982F98089589EA8093800089E080933A
+:10111000810024982C983F988AB18F748AB96E9870
+:10112000479A8BB1806B8BB9769A0E942B0884E02A
+:1011300098E0892B11F00E94040880E090E0089567
+:1011400080E28093000180913C0181110EC00E94D9
+:10115000EF0881E080933C012FEF83ED90E3215075
+:1011600080409040E1F700C0000080E40E94F50854
+:101170008093000181112EC00E941F0980930001FD
+:10118000811128C00E941F0980930001811122C093
+:101190008FE30E941F098093000181111BC00E94F0
+:1011A000170980E40E94F50880930001811112C0A4
+:1011B0008CE00E941F098093000181110BC00E94E6
+:1011C0001F0980930001811105C08FE30E941F0950
+:1011D000809300010E9417098091000108951092E8
+:1011E000B9008AE08093B800089594EA9093BC0017
+:1011F0009091BC0097FFFCCF9091B900987F9830F8
+:1012000021F0903111F081E008958093BB0084E8D3
+:101210008093BC008091BC0087FFFCCF8091B90017
+:10122000887F883111F0803471F780E0089584E977
+:101230008093BC008091BC0084FDFCCF0895809316
+:10124000BB0084E88093BC008091BC0087FFFCCF8A
+:101250009091B900987F81E0983209F480E0089578
+:1012600084E88093BC008091BC0087FFFCCF809114
+:10127000BB00089580910001811115C080E40E9497
+:10128000F5088093000181110CC082E10E941F09C2
+:1012900080930001811105C08FEF0E941F09809388
+:1012A00000010E94170984B1807F84B985B1807FD5
+:1012B00085B98AB1837F8AB98BB1837F8BB93E9818
+:1012C000469808950E94A008809300010E943A0960
+:1012D00080B38C7080BB81B3836F81BBAEE3B1E020
+:1012E000ECE4F1E08EE08E0F11921D928E13FCCF94
+:1012F00083E898E0892B11F00C94830808959F925D
+:10130000AF92BF92CF92DF92EF92FF920F931F9313
+:10131000CF93DF93809100018823E1F080913D011C
+:101320008F5F80933D01811115C082E493E00E949C
+:1013300052070E94A00880930001882329F088E2C8
+:1013400093E00E94520706C084E193E00E94520796
+:101350000E942B080EE311E0C0E0D0E0BB24B39460
+:1013600082E0A82ECC24C394D12C25E0E22E23E0E9
+:10137000F22EC730D10500F580910001811164C0C3
+:1013800080E40E94F50880930001811112C082E17F
+:101390000E941F098093000181110BC0C6010C2E11
+:1013A00001C0880F0A94EAF780950E941F09809374
+:1013B00000010E94170948C0CA30A1F028F4C830C3
+:1013C00059F0C93061F005C0CC3089F070F0CD30F3
+:1013D00089F0209A289810C0219A29980DC0229A45
+:1013E0002A980AC0239A2B9807C0529A01C0539A90
+:1013F0005B9802C03E9A469890EA9A95F1F79FB1A1
+:10140000799902C082E001C080E091709B25982B01
+:101410007C9902C084E001C080E0892B7D9902C0E4
+:1014200038E001C030E0832B7E9902C020E101C08A
+:1014300020E0822B9FB19095991F9927991F929533
+:10144000990F907E892B10C080910001811174C08A
+:1014500080E40E94F50880930001882309F459C0B4
+:10146000912C0E941709892DF8019081981739F164
+:10147000808380910101882301F18091D70180FF51
+:1014800004C08AE093E00E9452078091D70180FF58
+:101490000CC0809101011F928F93FF92EF920E94E6
+:1014A000EB070F900F900F900F908091D70180FF66
+:1014B00004C083E093E00E945207A09201010E94C1
+:1014C0003A0921960F5F1F4FCE30D10509F051CF59
+:1014D000809101018823B1F081508093010188231C
+:1014E00039F08FE99FE00197F1F700C000000AC0D2
+:1014F000ACE4B1E0EEE3F1E0CF01825F91919D9326
+:101500008E13FCCF82E298E0892BC1F00E94220862
+:1015100015C083E10E941F09809300018111A0CFB3
+:1015200081E40E94F50880930001811199CF0E9407
+:101530003009982E909495CF80E096CF81E0DF918E
+:10154000CF911F910F91FF90EF90DF90CF90BF90C0
+:10155000AF909F900895E82FF0E0E45BFE4F80810C
+:101560000895CF92DF92EF92FF920F931F93CF9344
+:10157000DF938CEE92E00E9452078CE4E82E81E02B
+:10158000F82EC0E0D0E097EEC92E92E0D92E0EEDF5
+:1015900012E0DF93CF93DF92CF920E94EB0784EEAD
+:1015A00092E00E945207F70181917F0190E00E9432
+:1015B00063219F938F931F930F930E94EB078CEDF2
+:1015C00092E00E94520721968DB79EB708960FB6FB
+:1015D000F8949EBF0FBE8DBFCE30D105D1F6DF91FE
+:1015E000CF911F910F91FF90EF90DF90CF900895D2
+:1015F0008B3B910578F4883A910540F5853A910541
+:10160000D0F48430910508F0B1C08130910509F41F
+:10161000ADC06BC0803E910508F467C0883E91055F
+:1016200008F4A4C09C01205F31092031310508F085
+:101630005CC090650895853A910509F459C0863AD1
+:10164000910509F058C082E890E40895883A910520
+:1016500009F454C0893A910509F453C08A3A9105B6
+:1016600009F452C08B3A910509F451C08C3A9105A6
+:1016700009F450C08D3A910509F44FC0803B9105A3
+:1016800009F44EC08E3A910509F44DC08F3A910588
+:1016900009F44CC0813B910509F44BC0823B910594
+:1016A00009F44AC0833B910509F449C0843B910584
+:1016B00009F448C0853B910509F447C0863B910574
+:1016C00009F446C0873B910509F445C0883B910564
+:1016D00009F444C0893B910509F443C08A3B910554
+:1016E00009F442C080E094E4089580E090E0089519
+:1016F00081E890E4089583E890E4089582EE94E40C
+:10170000089589EE94E408958AEE94E4089585EBB3
+:1017100094E4089586EB94E4089587EB94E40895A7
+:101720008CEC94E408958DEC94E4089583E895E4BA
+:1017300008958AE895E4089582E995E4089584E996
+:1017400095E4089581E296E4089583E296E408958D
+:1017500084E296E4089585E296E4089586E296E4AC
+:10176000089587E296E408958AE296E4089508953C
+:1017700096E0799FF001112494E5899FE00DF11D19
+:101780001124E60FF11DEE0FFF1FEC51FF4F859165
+:1017900094910895880F991FFC01E05AF0408591BB
+:1017A00094910895880F991FFC01E052FF4F859195
+:1017B0009491089526E0729FF001112444E5849FDE
+:1017C000E00DF11D1124E60FF11DEE0FFF1FEC518E
+:1017D000FF4F859194919C013A9521154FE1340773
+:1017E00008F41EC13F512115304120F49F700E9422
+:1017F000D20B08959C0130532115304118F49927DC
+:10180000906C0895811520E5920769F40E94BD1A35
+:101810004FEF84E39CE0415080409040E1F700C0EE
+:1018200000000C941F22813020E5920751F48CE5D2
+:1018300093E00E9452078091D70181608093D70185
+:1018400008959C0130552115304108F051C0292FD1
+:1018500033272F70332721303105D9F4AC01437081
+:10186000552702C0220F331F4A95E2F73C68AC01AE
+:1018700064E0440F551F6A95E1F744275370242B09
+:10188000352B73E0880F991F7A95E1F780769927B9
+:101890001DC02230310529F4982F8827816F906A66
+:1018A000089523303105A9F4AC014370552721E098
+:1018B00030E002C0220F331F4A95E2F73C6843E054
+:1018C000880F991F4A95E1F7807E9770822B932BA2
+:1018D000089524303105E1F4AC014370552721E02F
+:1018E00030E002C0220F331F4A95E2F73A68E7CF93
+:1018F0009C0130572115304118F49F709062089573
+:101900009C0130582115304118F49F70906A089559
+:10191000803E9105E0F4803C910558F581339105B6
+:1019200009F46FC048F48932910509F463C08A3222
+:10193000910509F46DC072C089339105E9F08238D0
+:101940009105D1F08533910509F44DC067C0833E00
+:10195000910581F138F4803E9105B9F0823E910500
+:10196000D9F05CC0863E910561F1873E9105A1F1F9
+:1019700055C00E94CA0B08952091EA0120FD02C0C3
+:1019800021FF4CC080EE90E049C08091EA0180FFC9
+:10199000F9CF89E390E042C08091EA0182FF0EC056
+:1019A0008091EA0184FF03C080E090E037C083EEBD
+:1019B00090E034C08091EA0182FFF2CF82EE90E0A5
+:1019C0002DC08091EA0183FF0BC08091EA0184FD64
+:1019D000EBCF87EE90E022C08091EA0183FFF5CF44
+:1019E00086EE90E01BC08091EA0185FF07C089E286
+:1019F00090E014C08091EA0185FFF9CF85E390E083
+:101A00000DC08091EA0186FF07C08AE290E006C01F
+:101A10008091EA0186FFF9CF81E390E00E94F80A05
+:101A20000895089580916D0108959FB7F8941092DC
+:101A30005C019FBF9091F001943009F057C09091E4
+:101A4000E9009F703091EC00232F217030FD20E8D9
+:101A5000922B24E02093E9002091EB0020FF43C06B
+:101A60002091EE0027FF3FC020915A01222321F050
+:101A70002091E80025FF37C010925A0126E03091EE
+:101A8000E80035FD15C03091F001343061F530913A
+:101A9000EB0035FD28C0215021F481E080935A01EC
+:101AA00022C0EFE9FFE03197F1F700C00000E7CF77
+:101AB0008093F1008091E80085FD0AC08091E800E4
+:101AC00080FFFCCF8091E8008E778093E80006C00D
+:101AD0008FB7F89421E020935C018FBF9F709093A3
+:101AE000E90080E008959F709093E9008FEF0895DA
+:101AF000CF93DF9300D01F92CDB7DEB79C018091CA
+:101B0000F001843019F593E099833B832A83909305
+:101B1000E9008FEF9091E800815095FD06C095EDAA
+:101B20009A95F1F700008111F5CF8091E80085FFCB
+:101B30000DC040E050E063E070E0CE0101960E94ED
+:101B400048108091E8008E778093E8000F900F9006
+:101B50000F90DF91CF910895CF93DF9300D01F9224
+:101B6000CDB7DEB72091F001243021F522E02983A2
+:101B70009B838A8383E08093E9008FEF9091E80054
+:101B8000815095FD06C095ED9A95F1F70000811101
+:101B9000F5CF8091E80085FF0DC040E050E063E0A4
+:101BA00070E0CE0101960E9448108091E8008E7787
+:101BB0008093E8000F900F900F90DF91CF910895E0
+:101BC0002091F0012430F1F422E02093E9002FEF7E
+:101BD0003091E800215035FD06C035ED3A95F1F71A
+:101BE00000002111F5CF2091E80025FF0BC040E057
+:101BF00050E065E070E00E9448108091E8008E7728
+:101C00008093E8000895CF93DF932091F001243072
+:101C100009F048C0EC0180910C018823E1F080912B
+:101C20000D018823C1F085E08093E9008FEF90914A
+:101C3000E800815095FD06C095E19A95F1F7000006
+:101C40008111F5CF8091E80085FF2CC040E050E085
+:101C500060E170E017C081E08093E9008FEF909120
+:101C6000E800815095FD06C095ED9A95F1F70000CA
+:101C70008111F5CF8091E80085FF14C040E050E06D
+:101C800068E070E0CE010E9448108091E8008E77F5
+:101C90008093E80080E1FE01ADE5B1E001900D9296
+:101CA0008A95E1F7DF91CF91089583E993E00E944F
+:101CB00052078091EF01811109C00E94DD110E943D
+:101CC0003A128091E20084608093E20008958FE8E8
+:101CD00093E00E9452071092EF0108958BE893E081
+:101CE0000C94520787E893E00E9452070C94EF2B64
+:101CF00083E893E00E9452070E94B9210E94F52BCD
+:101D00000E94DF140C94110D20915B012F5F822F34
+:101D100062E30E94632D992319F020935B010895DB
+:101D200010925B0180915C01882371F18091F00138
+:101D3000843041F58091E9008F702091EC00922F62
+:101D4000917020FD90E8892B94E09093E9009091A8
+:101D5000EB0090FF14C09091EE0097FF10C090919F
+:101D6000E80095FF03C01092F100F9CF9091E800D0
+:101D700090FF05C09091E8009E779093E8008F70E7
+:101D80008093E90010925C01089542E061EC81E0EB
+:101D90000E94571142E061EC82E00E94571142E03C
+:101DA00061EC83E00E94571142E261EC84E00E9402
+:101DB000571142E161EC85E00C9457118091F201DA
+:101DC000833009F455C030F4813071F0823009F469
+:101DD0008EC008958A3009F47AC08B3009F460C04F
+:101DE000893009F09CC020C08091F101813A09F04E
+:101DF00096C08091E800877F8093E8008091F5018C
+:101E00009091F601892B21F460E18DE591E003C00A
+:101E100060E080E090E070E00E9493108091E80024
+:101E20008B778093E80008958091F101813209F069
+:101E300076C08091F5019091F601009719F0049712
+:101E400009F06DC08091E800877F8093E800809161
+:101E5000E80082FD05C08091F0018111F8CF5FC0DC
+:101E60008091F10080936D018091E8008B7753C0E1
+:101E70008091F101813A09F052C08091F501909171
+:101E8000F601892B09F04BC08091E800877F809391
+:101E9000E8008091E80080FFFCCF80910C0136C003
+:101EA0008091F1018132D9F58091F5019091F6018F
+:101EB000892BA9F58091E800877F8093E8000E9434
+:101EC0008C118091F30180930C010C94BD1A8091C8
+:101ED000F101813221F58091E800877F8093E8004D
+:101EE0000E948C118091F40180936E01089580917D
+:101EF000F101813AA1F48091E800877F8093E800A6
+:101F00008091E80080FFFCCF80916E018093F1000A
+:101F10008091E8008E778093E8000C948C110895EE
+:101F200084B7877F84BF88E10FB6F8948093600000
+:101F3000109260000FBE90E080E80FB6F894809396
+:101F40006100909361000FBE0E946C150E94DD112C
+:101F50000E943A128091E20084608093E20085E161
+:101F60009DE00E94F82078940E94BF140E946E1594
+:101F700082E091E00E94DA140E94DD2B82E793E078
+:101F80000E9452078091F001853089F48EE693E03B
+:101F90000E9452070E947D218091EE01882391F3D7
+:101FA0000E94A521882371F30E943210EBCF0E947A
+:101FB0009C15E8CF292F332723303105C9F064F46D
+:101FC0002130310581F02230310509F043C08DE820
+:101FD00090E02BEC33E042C021323105F1F02232A7
+:101FE000310541F137C082E190E028E534E036C0A8
+:101FF00099278130910541F08230910541F0892B7C
+:1020000049F5E7ECF3E005C0EFEAF3E002C0E7E9E9
+:10201000F3E0849190E09F0121C06530D8F4E62F71
+:10202000F0E0EE0FFF1FEB5DFE4F2081318189E074
+:1020300090E014C0653070F470E0FB01EE0FFF1FFC
+:10204000E55EFE4F20813181FB01EA5EFE4F80811B
+:1020500090E004C080E090E020E030E0FA013183BD
+:102060002083089580E189BD82E189BD09B400FE25
+:10207000FDCF8091D8008F7D8093D8008091E000C3
+:1020800082608093E0008091E00081FDFCCF0895A4
+:10209000CF92DF92EF92FF920F931F93CF93DF9334
+:1020A000EC018B016A010E94AB11811133C0C11494
+:1020B000D10439F0F60180819181081B190BC80FFA
+:1020C000D91FE12CF12C0115110519F18091E800BF
+:1020D00085FD16C08091E8008E778093E800C114DA
+:1020E000D10449F0F60180819181E80EF91EF18258
+:1020F000E08285E00FC00E94AB11882321F30AC063
+:1021000089918093F10001501109FFEFEF1AFF0A46
+:10211000DACF80E0DF91CF911F910F91FF90EF9088
+:10212000DF90CF9008952091F7013091F8012617A4
+:10213000370748F06115710539F42091E8002E77D2
+:102140002093E80001C0B90140E061157105A9F1D3
+:102150002091F001222309F443C0253009F442C044
+:102160002091E80023FD40C02091E80022FD32C00C
+:102170002091E80020FFE9CF4091F3002091F20088
+:1021800030E0342BFC01CF016115710559F0283086
+:10219000310540F481918093F100615071092F5F06
+:1021A0003F4FF1CF41E02830310509F040E0209168
+:1021B000E8002E772093E800C8CF4111C9CF0AC0AC
+:1021C0008091F001882361F0853061F08091E80012
+:1021D00083FD0AC08091E80082FFF2CF80E008957D
+:1021E00082E0089583E0089581E008952091F70149
+:1021F0003091F8012617370748F06115710539F459
+:102200002091E8002E772093E80001C0B901FC017D
+:1022100020E06115710591F18091F001882309F4A6
+:1022200040C0853009F43FC08091E80083FD3DC087
+:102230008091E80082FD2FC08091E80080FFE9CF07
+:102240002091F3008091F20090E0922B61157105CE
+:1022500059F08830910540F424912093F100319693
+:10226000615071090196F2CF21E0089709F020E052
+:102270008091E8008E778093E800CBCF2111CCCFFE
+:102280000AC08091F001882361F0853061F080916F
+:10229000E80083FD0AC08091E80082FFF2CF80E071
+:1022A000089582E0089583E0089581E00895982FCD
+:1022B000973058F59093E900981739F07091EC0039
+:1022C0002091ED005091F00003C0242F762F50E0B4
+:1022D00021FF19C03091EB003E7F3093EB0030912D
+:1022E000ED003D7F3093ED003091EB003160309395
+:1022F000EB007093EC002093ED005093F0002091E0
+:10230000EE0027FF07C09F5FD3CF8F708093E90057
+:1023100081E0089580E008958091F10187FF11C068
+:102320008091E80082FD05C08091F0018111F8CF15
+:1023300011C08091E8008B770BC08091F001882359
+:1023400049F08091E80080FFF8CF8091E8008E7717
+:102350008093E80008952091E4003091E50095E62F
+:102360004091EC00842F817040FF22C08091E800F2
+:1023700080FD1CC08091F001882391F0853091F0A0
+:102380008091EB0085FD10C04091E4005091E50084
+:102390004217530729F39A01915011F784E00895E9
+:1023A00082E0089583E0089581E0089580E0089533
+:1023B0004091E80042FFDECF08950E944B120E9438
+:1023C0005312E0EEF0E0808181608083E8EDF0E080
+:1023D00080818F77808319BCA7EDB0E08C918E7FD0
+:1023E0008C9380818F7E80831092EF0108950F93EC
+:1023F0001F93CF93DF930E944B120E945312C8ED9C
+:10240000D0E088818F7788838881806888838881FD
+:102410008F7D888319BC1092F0011092EC0110920C
+:10242000EE011092ED0100EE10E0F80180818B7F4B
+:10243000808388818160888342E060E080E00E9440
+:102440005711E1EEF0E080818E7F8083E2EEF0E0D4
+:10245000808181608083808188608083F8018081B1
+:102460008E7F8083888180618883DF91CF911F91E7
+:102470000F910895E8EDF0E080818F7E8083E7ED95
+:10248000F0E080818160808384E082BF81E080937E
+:10249000EF010C94F711E8EDF0E080818E7F8083EE
+:1024A0001092E20008951092DA001092E10008956F
+:1024B0001F920F920FB60F9211242F933F934F93B9
+:1024C0005F936F937F938F939F93AF93BF93EF939C
+:1024D000FF938091E10082FF0BC08091E20082FFB8
+:1024E00007C08091E1008B7F8093E1000E94840E01
+:1024F0008091DA0080FF1FC08091D80080FF1BC050
+:102500008091DA008E7F8093DA008091D90080FF7D
+:102510000DC080E189BD82E189BD09B400FEFDCF17
+:1025200081E08093F0010E94550E05C019BC109205
+:10253000F0010E94670E8091E10080FF19C0809138
+:10254000E20080FF15C08091E2008E7F8093E20060
+:102550008091E20080618093E2008091D8008062E7
+:102560008093D80019BC85E08093F0010E94720E20
+:102570008091E10084FF30C08091E20084FF2CC094
+:1025800080E189BD82E189BD09B400FEFDCF809163
+:10259000D8008F7D8093D8008091E1008F7E80935A
+:1025A000E1008091E2008F7E8093E2008091E20062
+:1025B00081608093E2008091EC01882311F084E037
+:1025C00007C08091E30087FD02C081E001C083E085
+:1025D0008093F0010E94780E8091E10083FF29C072
+:1025E0008091E20083FF25C08091E100877F809386
+:1025F000E10082E08093F0011092EC018091E10013
+:102600008E7F8093E1008091E2008E7F8093E200D4
+:102610008091E20080618093E20042E060E080E02F
+:102620000E9457118091F00088608093F0000E9412
+:102630006E0EFF91EF91BF91AF919F918F917F911E
+:102640006F915F914F913F912F910F900FBE0F901F
+:102650001F9018951F920F920FB60F9211242F936F
+:102660003F934F935F936F937F938F939F93AF931A
+:10267000BF93CF93DF93EF93FF93C091E900CF70A7
+:102680008091EC00D82FD17080FDD0E81092E90045
+:102690008091F000877F8093F00078940E946E1301
+:1026A0001092E9008091F00088608093F000CD2BBB
+:1026B000CF70C093E900FF91EF91DF91CF91BF916F
+:1026C000AF919F918F917F916F915F914F913F91CA
+:1026D0002F910F900FBE0F901F9018951F93CF93BF
+:1026E000DF93CDB7DEB7AA970FB6F894DEBF0FBE63
+:1026F000CDBFE1EFF1E088E08E0F9091F100919372
+:102700008E13FBCF0E94DE0E8091E80083FF1FC175
+:102710008091F1019091F201492F50E04A3051052A
+:1027200008F015C1FA01EA5AFF4F0C94832D803846
+:1027300081F0823809F00BC18091F5018F70809390
+:10274000E9008091EB0085FB882780F91092E90071
+:1027500006C08091ED019091EE01911182609091FF
+:10276000E800977F9093E8008093F1001092F100C9
+:10277000C8C0282F2D7F09F0EAC0882319F08230C5
+:1027800061F0E5C08091F301813009F0E0C0933041
+:1027900009F080E08093EE012BC08091F30181115C
+:1027A00027C08091F5018F7009F4D1C08093E900B2
+:1027B0002091EB0020FF1CC0933021F48091EB00AE
+:1027C000806214C09091EB0090619093EB0021E047
+:1027D00030E0A90102C0440F551F8A95E2F74093EB
+:1027E000EA001092EA008091EB0088608093EB0091
+:1027F0001092E9008091E800877F86C08111A7C010
+:102800001091F3011F778091E3008078812B8093F2
+:10281000E3008091E800877F8093E8000E948C119C
+:102820008091E80080FFFCCF8091E3008068809376
+:10283000E300111102C082E001C083E08093F00147
+:1028400086C08058823008F082C08091F301909158
+:10285000F4018C3D53E0950779F583E08A838AE2A1
+:1028600089834FB7F894DE01139620E03EE051E2F1
+:10287000E32FF0E050935700E49120FF03C0E2956E
+:10288000EF703F5FEF708E2F90E0EA3010F0C79648
+:1028900001C0C0968D939D932F5F243149F74FBFA0
+:1028A0008091E800877F8093E8006AE270E0CE01C3
+:1028B00001960E94931014C0AE014F5F5F4F60916C
+:1028C000F5010E94DA0FBC01892B09F440C09091F8
+:1028D000E800977F9093E80089819A810E94F61022
+:1028E0008091E8008B778093E80031C0803879F5DB
+:1028F0008091E800877F8093E8008091EC018093CD
+:10290000F1008091E8008E778093E8000E948C119E
+:102910001EC081111CC09091F3019230C0F48091CF
+:10292000E800877F8093E8009093EC010E948C116F
+:102930008091EC01811106C08091E30087FD02C007
+:1029400081E001C084E08093F0010E94C50E809177
+:10295000E80083FF0AC08091E800877F8093E80049
+:102960008091EB0080628093EB00AA960FB6F894FA
+:10297000DEBF0FBECDBFDF91CF911F910895CF93E2
+:102980008091F0018823A1F0C091E900CF7090916F
+:10299000EC00892F817090FD80E8C82B1092E9002F
+:1029A0008091E80083FD0E946E13CF70C093E90010
+:1029B000CF91089590937401809373010895E091ED
+:1029C0007301F0917401309721F00190F081E02DB6
+:1029D000099480E00895EF92FF920F931F93CF9395
+:1029E000DF93E0917301F09174013097B1F18C01A4
+:1029F0000280F381E02D09958091D70182FF2DC0DF
+:102A000080FF04C08DE895E00E945207E80110E1C4
+:102A100087E8E82E85E0F82E8091D70180FF0BC073
+:102A200088811F928F93FF92EF920E94EB070F9085
+:102A30000F900F900F90115021961111EDCF8091B2
+:102A4000D70180FF0AC085E895E0DF91CF911F9103
+:102A50000F91FF90EF900C945207DF91CF911F914F
+:102A60000F91FF90EF900895E0917301F091740140
+:102A7000309721F00480F581E02D0994089520918C
+:102A80007101309172018217930771F09093720176
+:102A900080937101E0917301F0917401309721F0FE
+:102AA0000680F781E02D0994089520916F013091FF
+:102AB00070018217930771F09093700180936F01FA
+:102AC000E0917301F0917401309721F00084F18559
+:102AD000E02D0994089508950C946B150E94BB2174
+:102AE0000E9462090C948122CF93C82F8091D70154
+:102AF00082FF1EC080FF04C086EA95E00E94520754
+:102B00008091D70180FF0CC01F92CF9381EA95E09E
+:102B10009F938F930E94EB070F900F900F900F9051
+:102B20008091D70180FF04C08FE995E00E94520791
+:102B30008C2FCF910C94110DCF92DF92EF92FF92D8
+:102B40000F931F93CF93DF93CDB7DEB72B970FB6BD
+:102B5000F894DEBF0FBECDBF0E947F0986E7C82E66
+:102B600081E0D82E00E010E0E02E802F0E94AB0A1A
+:102B7000F60141916F01F42EF826B1F40F5F1F4F5B
+:102B80000E30110589F78FEF89838A831B820E949B
+:102B9000C4218160782F9D838C8349815A816B8108
+:102BA0008D810E943F1640C09091D70191FF04C0D3
+:102BB0008B870E94B10A8B8520E030E04F2D50E0DA
+:102BC000922FBA01022E02C0759567950A94E2F71A
+:102BD00060FF24C02E83EF8221E030E0690102C053
+:102BE000CC0CDD1C9A95E2F790E08C219D21892B7D
+:102BF00009F420E028870E94C4218160782F9A87F9
+:102C000089874E815F8168858A850E943F16F80119
+:102C1000EA58FE4F8081C826C08206C02F5F3F4F12
+:102C20002630310569F6AACF0E94F2251091750170
+:102C30000E94DF141817A1F00E94DF148093750121
+:102C40002B960FB6F894DEBF0FBECDBFDF91CF91AC
+:102C50001F910F91FF90EF90DF90CF900C9474151F
+:102C60002B960FB6F894DEBF0FBECDBFDF91CF918C
+:102C70001F910F91FF90EF90DF90CF900895CF9329
+:102C8000DF93CDB7DEB72B970FB6F894DEBF0FBE3C
+:102C9000CDBF4F83588769877A878B87DE0111966E
+:102CA00086E0FD0111928A95E9F785E0FE013796ED
+:102CB00001900D928A95E1F749815A816B817C815F
+:102CC0008D819E810E94571D2B960FB6F894DEBF12
+:102CD0000FBECDBFDF91CF910895CF93882309F424
+:102CE000C2C0C82F823859F40E94DF1481FDBBC0D6
+:102CF00089E30E94F31F0E94D22089E30CC083382D
+:102D000079F40E94DF1480FDAEC083E50E94F31FBA
+:102D10000E94D22083E50E944620CF910C94D220BD
+:102D2000843859F40E94DF1482FD9DC087E40E941C
+:102D3000F31F0E94D22087E4EECF8CEF8C0F813AF4
+:102D400048F48C2F0E94852A81118DC08C2F0E94FF
+:102D5000F31FE3CF80E28C0F883048F4C77081E026
+:102D600001C0880FCA95EAF70E949B20D6CF8BE559
+:102D70008C0F833078F4C53A29F0C63A31F083E8F5
+:102D800090E005C081E890E002C082E890E0CF9139
+:102D90000C943F1588E58C0F833108F064C0C83A65
+:102DA00039F1C93A41F1CA3A49F1CB3A51F1CC3A39
+:102DB00059F1CD3A61F1C03B69F1CE3A71F1CF3AA8
+:102DC00079F1C13B81F1C23B89F1C33B91F1C43B35
+:102DD00099F1C53BA1F1C63BA9F1C73BB1F1C83B95
+:102DE000B9F1C93BC1F1CA3BC9F180E090E038C0FC
+:102DF00082EE90E035C089EE90E032C08AEE90E03D
+:102E00002FC085EB90E02CC086EB90E029C087EBCB
+:102E100090E026C08CEC90E023C08DEC90E020C0C8
+:102E200083E891E01DC08AE891E01AC082E991E050
+:102E300017C084E991E014C081E292E011C083E2FE
+:102E400092E00EC084E292E00BC085E292E008C0FE
+:102E500086E292E005C087E292E002C08AE292E058
+:102E6000CF910C945515CF910895882309F44BC048
+:102E7000823859F40E94DF1481FF45C089E30E9423
+:102E8000F31F0E94D22089E30CC0833871F40E94A2
+:102E9000DF1480FF38C083E50E94F31F0E94D22018
+:102EA00083E50E9446200C94D220843859F40E9475
+:102EB000DF1482FF28C087E40E94F31F0E94D22003
+:102EC00087E4EFCF9CEF980F913A58F390E2980F78
+:102ED000983050F4877091E001C0990F8A95EAF715
+:102EE000892F0E94A120DFCF9BE5980F933020F41B
+:102EF00080E090E00C943F15885A833120F480E004
+:102F000090E00C9455150895882321F00E949B2091
+:102F10000C94D2200895882321F00E94A1200C94C3
+:102F2000D2200895BF92CF92DF92EF92FF920F933B
+:102F30001F93CF93DF9300D000D000D0CDB7DEB782
+:102F400025E0FC01DE01119601900D922A95E1F732
+:102F5000FC01408131810281258122952F7063819E
+:102F60007481672B09F4E7C23F3F19F44F3F09F41E
+:102F7000E2C27C0149833A8389819A812E830E942F
+:102F8000B21F182FB92E0E94B11F0E94781EEB2D80
+:102F9000E295EF70F0E0E05AFF4F2E810C94832D04
+:102FA0008B2D807F9B2D9F70F92E882319F0F29432
+:102FB00080EFF822002349F0FF2009F469C28F2D29
+:102FC0000E94AB200E94D22063C2812F0E9435173D
+:102FD000FF2009F4B0C28F2D0E94B12026960FB6B3
+:102FE000F894DEBF0FBECDBFDF91CF911F910F913F
+:102FF000FF90EF90DF90CF90BF900C94D2203B2DAC
+:10300000307F8B2D8F70303211F08295807F1123AD
+:1030100019F0113021F12DC00023B9F0222309F459
+:10302000A1C1213009F09EC126960FB6F894DEBFEB
+:103030000FBECDBFDF91CF911F910F91FF90EF9009
+:10304000DF90CF90BF900C94BB20222319F0213049
+:1030500009F471C28E830E94BE208E8197C1002325
+:1030600021F0263008F067C27DC1253008F063C228
+:103070008DC1002321F0222309F474C109C2222347
+:1030800009F484C11AC22B2D26952695237030E0B1
+:103090002115310521F021303105D1F04CC200233A
+:1030A00021F0812F9B2D937002C080E090E0269646
+:1030B0000FB6F894DEBF0FBECDBFDF91CF911F9149
+:1030C0000F91FF90EF90DF90CF90BF900C943F1541
+:1030D000002321F0812F9B2D937002C080E090E0AF
+:1030E00026960FB6F894DEBF0FBECDBFDF91CF910D
+:1030F0001F910F91FF90EF90DF90CF90BF900C94B5
+:103100005515812F002319F00E94782402C00E94D7
+:10311000E02426960FB6F894DEBF0FBECDBFDF9138
+:10312000CF911F910F91FF90EF90DF90CF90BF90C4
+:103130000C9465258B2D837009F07BC00111FBC1B8
+:10314000812F829586958770880F880F912F9F70A9
+:10315000C92ED12CE12CF12C082E04C0CC0CDD1C86
+:10316000EE1CFF1C0A94D2F714FF12C04FE050E08F
+:1031700060E070E004C0440F551F661F771F8A95FA
+:10318000D2F7CB01BA01609570958095909503C0F8
+:1031900060E070E0CB012B2D269526952370422F01
+:1031A00050E042305105D9F04330510569F16C29A6
+:1031B0007D298E299F294130510551F126960FB660
+:1031C000F894DEBF0FBECDBFDF91CF911F910F915D
+:1031D000FF90EF90DF90CF90BF900C949F1E6C29D2
+:1031E0007D298E299F2926960FB6F894DEBF0FBE43
+:1031F000CDBFDF91CF911F910F91FF90EF90DF90A6
+:10320000CF90BF900C94BB1E0E949F1EC701B601B9
+:1032100026960FB6F894DEBF0FBECDBFDF91CF91DB
+:103220001F910F91FF90EF90DF90CF90BF900C9483
+:10323000831E002319F08B2D817001C08695882391
+:1032400009F479C1812F829586958770880F880F40
+:10325000912F9F70C92ED12CE12CF12C082E04C087
+:10326000CC0CDD1CEE1CFF1C0A94D2F714FF12C01C
+:103270004FE050E060E070E004C0440F551F661F4F
+:10328000771F8A95D2F7CB01BA016095709580952A
+:10329000909503C060E070E0CB012B2D269526951C
+:1032A0002370422F50E042305105D9F04330510590
+:1032B00069F16C297D298E299F294130510551F1F1
+:1032C00026960FB6F894DEBF0FBECDBFDF91CF912B
+:1032D0001F910F91FF90EF90DF90CF90BF900C94D3
+:1032E000791F6C297D298E299F2926960FB6F8947F
+:1032F000DEBF0FBECDBFDF91CF911F910F91FF9029
+:10330000EF90DF90CF90BF900C94951F0E94791F93
+:10331000C701B60126960FB6F894DEBF0FBECDBF2B
+:10332000DF91CF911F910F91FF90EF90DF90CF90A1
+:10333000BF900C945D1F103FD1F118F4103E50F473
+:10334000A2C0123F09F464C008F44DC0133F09F451
+:1033500074C099C01F708B2D8F710023A1F00E9443
+:10336000F61E812F26960FB6F894DEBF0FBECDBF96
+:10337000DF91CF911F910F91FF90EF90DF90CF9051
+:10338000BF900C9484170E94171F812F26960FB6AA
+:10339000F894DEBF0FBECDBFDF91CF911F910F918B
+:1033A000FF90EF90DF90CF90BF900C948B1700238D
+:1033B000B1F0253008F0BFC08B2D8F7126960FB667
+:1033C000F894DEBF0FBECDBFDF91CF911F910F915B
+:1033D000FF90EF90DF90CF90BF900C943C1F263071
+:1033E00008F0A9C0E9CF0023A9F08B2D8F71269694
+:1033F0000FB6F894DEBF0FBECDBFDF91CF911F9106
+:103400000F91FF90EF90DF90CF90BF900C94F61E3D
+:10341000002359F38B2D8F7126960FB6F894DEBFDB
+:103420000FBECDBFDF91CF911F910F91FF90EF9015
+:10343000DF90CF90BF900C94171F002399F08B2D35
+:103440008F7126960FB6F894DEBF0FBECDBFDF9109
+:10345000CF911F910F91FF90EF90DF90CF90BF9091
+:103460000C94E11E26960FB6F894DEBF0FBECDBFBA
+:10347000DF91CF911F910F91FF90EF90DF90CF9050
+:10348000BF900C94D71E0023A9F0222309F4ADCFDE
+:10349000812F26960FB6F894DEBF0FBECDBFDF9109
+:1034A000CF911F910F91FF90EF90DF90CF90BF9041
+:1034B0000C946D16222309F4ADCF812F26960FB6FA
+:1034C000F894DEBF0FBECDBFDF91CF911F910F915A
+:1034D000FF90EF90DF90CF90BF900C9435174B2D5D
+:1034E0004F70612FC7010E94F40726960FB6F8941B
+:1034F000DEBF0FBECDBFDF91CF911F910F91FF9027
+:10350000EF90DF90CF90BF900C94FB1D4B2D4F7030
+:10351000612FC70126960FB6F894DEBF0FBECDBF50
+:10352000DF91CF911F910F91FF90EF90DF90CF909F
+:10353000BF900C94B70B26960FB6F894DEBF0FBE63
+:10354000CDBFDF91CF911F910F91FF90EF90DF9052
+:10355000CF90BF9008950E94B8200E948D200E94B5
+:10356000D2200E9498260E94652580E090E00E946B
+:103570003F1580E090E00C9455150E94A8200C9413
+:10358000AB1A0E94B21F292F22952F7030E02C30E9
+:1035900031054CF42A3031056CF4225031092230C7
+:1035A000310588F407C02C30310549F02F30310542
+:1035B00031F009C0803E48F0803F29F406C093FBFB
+:1035C000882780F9089580E0089581E00895CF93D9
+:1035D000DF9300D000D01F92CDB7DEB70F900F90D1
+:1035E0000F900F900F90DF91CF910895CF93DF93BD
+:1035F00000D000D000D0CDB7DEB726960FB6F89435
+:10360000DEBF0FBECDBFDF91CF9108951F93CF9343
+:10361000DF93C091840116E080918501C81799F06D
+:10362000D0E01C9FF0011D9FF00D1124EA57FE4FC2
+:103630004081518162817381848195810E94F61A53
+:103640002196C770E9CFDF91CF911F9108954091E6
+:10365000B6015091B7016091B8017091B9018091A4
+:10366000BA019091BB010C94F61A8091BB0182952E
+:103670008F7009F054C08091B801882309F44FC0BD
+:1036800080918401A09185016091B6017091B7018C
+:103690004091B9015091BA01B6E08A1709F43FC0D0
+:1036A00090E041155105C1F17F3F11F46F3FA1F149
+:1036B000B89FF001B99FF00D1124EA57FE4F218108
+:1036C00072132AC02081621327C02281211124C0D5
+:1036D000238134812417350710F421503109241B2C
+:1036E000350B283C3105C0F42091BB012F702061BF
+:1036F0002093BB0126E0289FF001299FF00D1124A3
+:10370000E557FE4F80818F708061808386EB91E06A
+:103710000E9492170C94061B01968770BECF0895E5
+:10372000CF92DF92EF92FF920F931F93CF93DF938D
+:10373000CDB7DEB762970FB6F894DEBF0FBECDBF30
+:103740008C0185E0F801DE011D9601900D928A95AD
+:10375000E1F7D8014C9111965C91119712966C91FA
+:1037600012971396CD90DC9014973091B60170911A
+:10377000B7018091B9019091BA01009709F46BC12A
+:103780007F3F19F43F3F09F466C1E090B801EE2095
+:1037900009F4C0C02091BB01C816D90628F0F60173
+:1037A000E81BF90BCF0104C0809590958C0D9D1DF1
+:1037B000FF24F394883C910578F0F12C207F09F0E8
+:1037C000C6C07C2DD98AC88A89890E94E71A86EBEF
+:1037D00091E00E949217B1C0822F807F09F046C00D
+:1037E000751314C0341312C0611110C02F70206102
+:1037F0002093BB010E94271B86EB91E00E94921749
+:103800008091BB01D80115968C932EC0CD2819F15B
+:103810005F3F11F44F3FF9F0F62E61111CC080910B
+:1038200084012091850136E0821709F45AC090E0A6
+:10383000389FF001399FF00D1124EA57FE4F718136
+:10384000571306C07081471303C07281711103C002
+:1038500001968770E9CFF62E662309F418C180918E
+:10386000BB0181608093BB01F12C11C1751308C0AD
+:10387000341306C0611104C08091BB01D801C3C0DC
+:103880004D875E878D859E856A8B0E94C11A6A89E5
+:103890008823E1F16623D1F12091BB01822F82952B
+:1038A0008F7090E0029774F08091B6019091B7010B
+:1038B00098878F831986DB86CA862C87CE01079668
+:1038C0000E94921786E0F801A6EBB1E001900D92FC
+:1038D0008A95E1F70E94351B0E94271BFF24F39471
+:1038E000D6C04D875E878D859E850E94B21F292F89
+:1038F00022952F7030E0223031050CF0BCC09F7053
+:1039000009F0B6C0805E883008F4C1C0C8010E94CA
+:103910009217E4CFC816D90608F453C0F601E81B85
+:10392000F90BCF01883C910508F450C0F12C7C2D97
+:10393000D98AC88A89890E94E71AE6EBF1E086E015
+:10394000DF011D928A95E9F70E94271BA0C075131D
+:1039500014C0341312C0611110C08091BB01F80172
+:103960008583C8010E94921786E0E6EBF1E0DF0153
+:103970001D928A95E9F7FE2C8AC04D875E878D855A
+:103980009E856A8B0E94C11A6A89882309F4BECF7A
+:10399000662309F4BBCF2091BB01822F82958F70E3
+:1039A00090E002970CF48ECF8091B6019091B70110
+:1039B0009A8389831B82DD82CC822E83CE0101967D
+:1039C0007FCF809590958C0D9D1DACCFF62E6623F4
+:1039D00009F49CCF75132EC034132CC02091BB0169
+:1039E00020FD1FC0822F82958F70D9F0D8011596C7
+:1039F0002C9315978F3049F08F5F982F9295907F79
+:103A0000822F8F70892B15968C93C8010E94921774
+:103A100086E0F801A6EBB1E001900D928A95E1F7FE
+:103A200093CF86E0F801A6EBB1E001900D928A9564
+:103A3000E1F72DC04D875E878D859E850E94C11A56
+:103A4000811140CF8091BB0181608093BB01C8018F
+:103A50000E9492171CC0662309F458CF4D875E87D9
+:103A60008D859E850E94C11A882309F44FCF2ACFE5
+:103A7000811148CF0CC0243031050CF047CF9F7026
+:103A800009F440CFF8019581907F09F03BCF8F2D4D
+:103A900062960FB6F894DEBF0FBECDBFDF91CF9117
+:103AA0001F910F91FF90EF90DF90CF9008951F939B
+:103AB000CF93DF93CDB7DEB72C970FB6F894DEBF68
+:103AC0000FBECDBF4F83588769877A878B879C87C6
+:103AD000CE0107960E94901B882369F08F819885FC
+:103AE0002A853B85232BF1F19F3F09F063C08F3F6F
+:103AF00009F060C037C086E0FE013796DE011196FE
+:103B000001900D928A95E1F76F817885EA85FB85B2
+:103B1000309741F17F3F11F46F3F21F120918501F2
+:103B200030E0C9010196877099274091840150E0E7
+:103B30008417950709F447C069837A83FD83EC8372
+:103B400096E0929FD001939FB00D1124AA57BE4FCB
+:103B5000FE01319601900D929A95E1F780938501CF
+:103B60000E94061B16E080918401909185018917BF
+:103B7000C1F1189FC00111248A579E4F0E94901BCB
+:103B8000882379F1E09184011E9FF0011124EA5706
+:103B9000FE4F4081518162817381848195810E94B1
+:103BA000F61A8091840190E001968770992780939E
+:103BB0008401D9CF4F81588569857A858B859C850D
+:103BC0000E94F61ACFCF0E94BD1A10928501109262
+:103BD0008401E6EBF1E086E0DF011D928A95E9F7CA
+:103BE000C1CF2C960FB6F894DEBF0FBECDBFDF91CC
+:103BF000CF911F910895EF92FF920F931F93CF9350
+:103C0000DF938C01892B09F46CC0F12CEE24E39432
+:103C1000E8012196F8018491843740F4843008F05B
+:103C200051C0813081F0823019F15BC0853709F4D1
+:103C300044C0A8F19CE7980F903708F052C08F77E6
+:103C40000E94351741C00E5F1F4FFE01C49180E2F4
+:103C50008C0F883048F4C7708E2D01C0880FCA952C
+:103C6000EAF70E94AB2014C08C2F0E946D162DC065
+:103C70000E5F1F4FFE01C49180E28C0F883058F414
+:103C8000C7708E2D01C0880FCA95EAF70E94B12037
+:103C90000E94D2201AC08C2F0E94351716C00E5FCA
+:103CA0001F4FFE01C491CC2381F08FE99FE0019763
+:103CB000F1F700C00000C150F6CF0E5F1F4FFE01AC
+:103CC000F49003C00E946D168E018F2D882309F495
+:103CD0009FCFEFE9FFE03197F1F700C0000081507E
+:103CE000F5CFDF91CF911F910F91FF90EF90089545
+:103CF00008956093C0017093C1018093C2019093B5
+:103D0000C3010C94AB1A0F931F930091C001109143
+:103D1000C1012091C2013091C301DC01CB01802B94
+:103D2000912BA22BB32B8093C0019093C101A09340
+:103D3000C201B093C3011F910F910C94AB1A0F9362
+:103D40001F930091C0011091C1012091C2013091D7
+:103D5000C301DC01CB0180239123A223B3238093F1
+:103D6000C0019093C101A093C201B093C3011F9100
+:103D70000F910C94AB1A0F931F930091C0011091F7
+:103D8000C1012091C2013091C301DC01CB01802728
+:103D90009127A227B3278093C0019093C101A093DC
+:103DA000C201B093C3011F910F910C94AB1A1092F2
+:103DB000BC011092BD011092BE011092BF010C9483
+:103DC000AB1A41E050E060E070E004C0440F551FC2
+:103DD000661F771F8A95D2F74093BC015093BD01AF
+:103DE0006093BE017093BF010C94AB1A41E050E0A8
+:103DF00060E070E004C0440F551F661F771F8A956E
+:103E0000D2F78091BC019091BD01A091BE01B0910B
+:103E1000BF01482B592B6A2B7B2B4093BC0150933D
+:103E2000BD016093BE017093BF010C94AB1A41E0D9
+:103E300050E060E070E004C0440F551F661F771F1C
+:103E40008A95D2F740955095609570958091BC0108
+:103E50009091BD01A091BE01B091BF0148235923AB
+:103E60006A237B234093BC015093BD016093BE0144
+:103E70007093BF010C94AB1A41E050E060E070E039
+:103E800004C0440F551F661F771F8A95D2F7809193
+:103E9000BC019091BD01A091BE01B091BF01482726
+:103EA00059276A277B274093BC015093BD0160933B
+:103EB000BE017093BF010C94AB1A0F931F93009136
+:103EC000BC011091BD012091BE013091BF01DC0108
+:103ED000CB01802B912BA22BB32B8093BC01909311
+:103EE000BD01A093BE01B093BF011F910F910C942F
+:103EF000AB1A0F931F930091BC011091BD0120914B
+:103F0000BE013091BF01DC01CB0180239123A223AC
+:103F1000B3238093BC019093BD01A093BE01B093E5
+:103F2000BF011F910F910C94AB1A0F931F93009137
+:103F3000BC011091BD012091BE013091BF01DC0197
+:103F4000CB0180279127A227B3278093BC019093B0
+:103F5000BD01A093BE01B093BF011F910F910C94BE
+:103F6000AB1A0895CF92DF92EF92FF920F931F93B7
+:103F7000CF93DF938C01C090C001D090C101E0903D
+:103F8000C201F090C3014091BC015091BD0160910C
+:103F9000BE017091BF01C42AD52AE62AF72ACFE1D3
+:103FA000D0E0D701C6010C2E04C0B695A795979511
+:103FB00087950A94D2F780FF07C0B8018C2F0E9422
+:103FC000DA0B8130910531F4219758F7B80180E080
+:103FD0000E94DA0BDF91CF911F910F91FF90EF902C
+:103FE000DF90CF90089590910C01992321F090914A
+:103FF0000D01911109C020910E0130910F01F901BD
+:1040000032969FEF40E030C0982F96959695969502
+:104010009F30A0F4E0910E01F0910F01E90FF11D26
+:10402000877021E030E0A90102C0440F551F8A9536
+:10403000E2F7CA019181892B818308959091D7017C
+:1040400090FF23C01F928F9387ED95E09F938F93EE
+:104050000E94EB070F900F900F900F9008959F3FD5
+:1040600039F04F5F4E3041F051915813F8CF0DC0E9
+:104070005111F7CF942FF5CF9F3F39F0F901E90F98
+:10408000F11D97FDFA9582830895089590910C0192
+:10409000992321F090910D01911109C020910E01F9
+:1040A00030910F01F9013296205F3F4F30C0982FB9
+:1040B0009695969596959F30A8F4E0910E01F09113
+:1040C0000F01E90FF11D877021E030E0A90102C066
+:1040D000440F551F8A95E2F7CA0180959181892383
+:1040E000818308959091D70190FF16C01F928F93FE
+:1040F00089EB95E09F938F930E94EB070F900F90B1
+:104100000F900F9008953196E217F30729F09081F0
+:104110009813F9CF1082F7CF089581E090E0E091F5
+:104120000E01F0910F01E80FF91F10820196803106
+:104130009105A9F708959091D601892B8093D60116
+:10414000089580959091D60189238093D601089592
+:104150001092D60108959091D501892B8093D501B5
+:10416000089580959091D50189238093D501089574
+:104170001092D50108958093C40108951092C4014E
+:10418000089580910E0190910F01FC0131969C01E0
+:10419000205F3F4F80E0919191118F5FE217F3070D
+:1041A000D1F70895E0910E01F0910F018091D601B1
+:1041B0008083E0910E01F0910F0190818091D501F3
+:1041C000892B80838091C401882361F0E0910E01E6
+:1041D000F0910F019081892B80830E94C120811171
+:1041E0001092C40180910E0190910F010C94EB1478
+:1041F00090933B0180933A010895CF92DF92EF9222
+:10420000FF926C01EE24FF24C114D104E104F104F7
+:1042100021F0C701B60120E101C020E0C72ED82E51
+:10422000E92EFF24C114D104E104F10419F0285F40
+:10423000C701B6016B017C0154E0F694E794D79472
+:10424000C7945A95D1F7C114D104E104F10419F0CF
+:104250002C5FC701B6016B017C0142E0F694E79444
+:10426000D794C7944A95D1F7C114D104E104F1045D
+:1042700019F02E5FC701B601DC01CB01B695A795F9
+:1042800097958795892B8A2B8B2B09F02F5F822F8F
+:10429000FF90EF90DF90CF9008958295982F9C7CAF
+:1042A000392F36953695282F237344E0249FC0017B
+:1042B0001124932F982B292F2A7A2695892F8575DB
+:1042C000880F822B08951F93CF93DF931F92CDB752
+:1042D000DEB799830E944D21182F9981892F0E9462
+:1042E0004D21212F30E0322F2227A901482BCA016E
+:1042F0000F90DF91CF911F9108958091F00184304C
+:1043000009F11092D80120E488E190E00FB6F8940A
+:10431000A895809360000FBE2093600083B7817FD3
+:10432000846083BF83B7816083BF7894889583B7A7
+:104330008E7F83BF88E10FB6F8948093600010925F
+:1043400060000FBE089508950895CF930E94A321A1
+:104350000E947F090E94A421C0E08C2F0E94AB0A1A
+:10436000811104C0CF5FCE30C1F701C081E0CF9191
+:1043700008950C94BD1A82E084BD93E095BD9AEF38
+:1043800097BD80936E0008952FB7F8948091D9015E
+:104390009091DA01A091DB01B091DC012FBF08956B
+:1043A000CF92DF92EF92FF920F931F932FB7F89463
+:1043B0004091D9015091DA016091DB017091DC01EB
+:1043C0002FBF6A017B01EE24FF248C0120E030E046
+:1043D000C016D106E206F30610F4415051099A01C5
+:1043E000281B390BC9011F910F91FF90EF90DF90AF
+:1043F000CF9008951F920F920FB60F9211248F93B2
+:104400009F93AF93BF938091D9019091DA01A091CE
+:10441000DB01B091DC010196A11DB11D8093D90192
+:104420009093DA01A093DB01B093DC01BF91AF91CF
+:104430009F918F910F900FBE0F901F9018950E9423
+:10444000DD11F8942FEF87EA91E6215080409040EB
+:10445000E1F700C0000087E090EBDC018093F901F8
+:104460009093FA01A093FB01B093FC019CE088E1DA
+:104470000FB6F894A895809360000FBE90936000EB
+:10448000FFCFEF92FF920F931F93CF93DF93D82F1D
+:10449000C0E08C2F0E94AB0A00E010E0E82EF12C67
+:1044A000C701002E02C0959587950A94E2F780FD1A
+:1044B00006C00F5F1F4F0630110591F709C0602F2E
+:1044C0007C2F80E00E94B80BD813F3CF81E004C0AA
+:1044D000CF5FCE30F1F680E0DF91CF911F910F9149
+:1044E000FF90EF900895CF93C82F8CE20E94412255
+:1044F000882321F08C2FCF910C94412280E0CF9122
+:104500000895CF930E94D023811102C00E94B62348
+:104510008CEF95E00E945207C5E6C15049F00E9419
+:104520007F098FE39CE90197F1F700C00000F5CF08
+:1045300085EF95E00E94520789E20E947322811163
+:1045400013C18AE20E94732281110E94B62385E082
+:104550000E94732281110E941F220E94DB238093FC
+:10456000D70187E00E9473228823A9F18BE10E9482
+:104570007322882351F08091D70181FB222720F9F3
+:1045800091E0922790FB81F90EC08EE00E94732289
+:10459000882361F08091D70182FB222720F991E0E6
+:1045A000922790FB82F98093D70115C080E10E9489
+:1045B00073229091D701882341F093FB222720F9A1
+:1045C00081E0822780FB93F904C0892F809580FBCE
+:1045D00090F99093D7018091D7010E94DF230E9428
+:1045E000ED238093EA0180EE0E947322882341F03C
+:1045F0008091EA01982F909590FB80F98093EA01D1
+:1046000089E30E947322882359F08091EA0181FB9B
+:10461000222720F991E0922790FB81F98093EA010B
+:1046200082EE0E947322882359F08091EA0182FB76
+:10463000222720F991E0922790FB82F98093EA01EA
+:1046400086EE0E947322882359F08091EA0183FB51
+:10465000222720F991E0922790FB83F98093EA01C9
+:1046600083EE0E947322882359F08091EA0184FB33
+:10467000222720F991E0922790FB84F98093EA01A8
+:1046800085E30E947322882359F08091EA0185FB1B
+:10469000222720F991E0922790FB85F98093EA0187
+:1046A00081E30E947322882359F08091EA0186FBFE
+:1046B000222720F991E0922790FB86F98093EA0166
+:1046C00081E10E947322882359F08091EA0187FBDF
+:1046D000222720F991E0922790FB87F98093EA0145
+:1046E0008091EA010E94F1238091EA0187FB8827EB
+:1046F00080F980930D0187E20E947322C82F8EE11A
+:104700000E9473228111C2608FE10E947322811185
+:10471000C46080E20E9473228111C86081E20E941D
+:1047200073228111C06182E20E9473228111C062F2
+:1047300083E20E9473228111C06484E20E9473228A
+:10474000882311F0C06802C0CC2329F08C2F0E946E
+:10475000E8236C2F03C00E94E423682F70E080E000
+:1047600090E0CF910C94791ECF9108956DEE7EEF7D
+:1047700080E090E00E94B92D60E082E090E00E942D
+:10478000AB2D60E083E090E00E94AB2D60E084E020
+:1047900090E00E94AB2D60E085E090E00C94AB2DA2
+:1047A00080E090E00E94A52D21E08D3E9E4F09F013
+:1047B00020E0822F089582E090E00C949D2D682FD8
+:1047C00082E090E00C94AB2D83E090E00C949D2D62
+:1047D000682F83E090E00C94AB2D84E090E00C9483
+:1047E0009D2D682F84E090E00C94AB2D8091DF012B
+:1047F00080FF0BC06091130185E0689FB001112418
+:1048000075956795759567952BC081FF09C0609177
+:10481000130185E0689FB00111247595679520C04C
+:1048200082FF07C06091130185E0689FB0011124E9
+:1048300017C09091E0019923D1F060911201961771
+:1048400088F72091130185E0289F90011124929F01
+:10485000A001939F500D112470E0CA010E946F2D9A
+:104860006038710540F46115710539F002C065E0EA
+:1048700070E0862F08958FE7089581E00895809174
+:10488000DF0180FF08C06091110170E075956795A8
+:104890007595679521C081FF06C06091110170E098
+:1048A0007595679519C082FF04C06091110170E091
+:1048B00010C09091E0019923C1F06091100196170A
+:1048C000A0F780911101899FC001112470E00E941E
+:1048D0006F2D6038710528F46115710521F0862F60
+:1048E00008958FE7089581E0089561E070E0F4CFC6
+:1048F000803F21F40E94F623819504C0813F29F472
+:104900000E94F6238093E3010895823F21F40E94E0
+:10491000F623819504C0833F29F40E94F6238093F7
+:10492000E2010895893F19F40E943F2405C08A3F9F
+:1049300031F40E943F2481958093E40108958B3FD8
+:1049400021F40E943F24819504C08C3F29F40E94E9
+:104950003F248093E5010895843F21F48091E10193
+:10496000816017C0853F21F48091E101826011C010
+:10497000863F21F48091E10184600BC0873F21F4E0
+:104980008091E101886005C0883F31F48091E101A8
+:1049900080618093E10108958D3F21F48091DF01D2
+:1049A00081600BC08E3F21F48091DF01826005C0E1
+:1049B0008F3F29F48091DF0184608093DF010895A7
+:1049C000803F39F48091E30187FF6CC01092E301CE
+:1049D00069C0813F29F48091E3011816BCF362C0DD
+:1049E0009091E201823F29F497FF5CC01092E201AE
+:1049F00059C0833F19F41916CCF354C0893F41F4D0
+:104A00008091E40118160CF04DC01092E4014AC0E8
+:104A10008A3F29F48091E40187FF44C0F6CF8B3FA1
+:104A200039F48091E50187FF3DC01092E5013AC05D
+:104A30008C3F29F48091E5011816BCF333C0843F04
+:104A400021F48091E1018E7F17C0853F21F4809190
+:104A5000E1018D7F11C0863F21F48091E1018B7FC0
+:104A60000BC0873F21F48091E101877F05C0883F1B
+:104A700031F48091E1018F7E8093E10113C08D3F7D
+:104A800021F48091DF018E7F0BC08E3F21F4809155
+:104A9000DF018D7F05C08F3F29F48091DF018B7F7F
+:104AA0008093DF018091E20181110EC08091E301CA
+:104AB00081110AC08091E401811106C08091E50155
+:104AC000811102C01092E00108958091D70183FF07
+:104AD0007EC088E396E00E9452078091E1011F9218
+:104AE0008F9383E396E09F938F930E94EB0781E37C
+:104AF00096E00E9452078091E201282F332727FD7C
+:104B000030953F938F938EE296E09F938F930E9410
+:104B1000EB078CE296E00E9452078091E301282F78
+:104B2000332727FD30953F938F9389E296E09F933B
+:104B30008F930E94EB0787E296E00E9452078091D4
+:104B4000E401282F332727FD30953F938F9384E28C
+:104B500096E09F938F930E94EB0782E296E00E947B
+:104B600052078091E501282F332727FD30953F9389
+:104B70008F938FE196E09F938F930E94EB078CE1D8
+:104B800096E00E9452078091E0011F928F9389E185
+:104B900096E09F938F930E94EB0787E196E00E9437
+:104BA00052078091DF011F928F9384E196E09F93DB
+:104BB0008F930E94EB0781E196E00E9452078DB728
+:104BC0009EB74C960FB6F8949EBF0FBE8DBF81EE78
+:104BD00091E00E9434150E94C4219093DE018093DD
+:104BE000DD0108951F93CF93DF938091DD019091B4
+:104BF000DE010E94D021AC019091E001992321F0C7
+:104C00002091140130E006C0209115018AE0289F10
+:104C1000900111244217530708F486C08091E201E5
+:104C2000C091E301D091E4011091E501811107C029
+:104C3000C11176C0D11174C0111172C075C09F3FEF
+:104C400019F09F5F9093E001181624F40E94F62358
+:104C50008093E2018091E20187FF05C00E94F62364
+:104C600081958093E2011C1624F40E94F623809320
+:104C7000E3018091E30187FF05C00E94F62381953F
+:104C80008093E3016091E201662339F1C091E30171
+:104C9000CC2319F1772767FD7095872F972F0E94F6
+:104CA000742C23E333E343E35FE30E94D82C0E9498
+:104CB000412C6093E2016C2F772767FD7095872F59
+:104CC000972F0E94742C23E333E343E35FE30E94B6
+:104CD000D82C0E94412C6093E3011D1624F40E94FD
+:104CE0003F248093E4018091E40187FF05C00E9486
+:104CF0003F2481958093E401111624F40E943F24FF
+:104D00008093E5018091E50187FF05C00E943F2463
+:104D100081958093E501DF91CF911F910C946525DA
+:104D20009F3F09F08ECF96CFDF91CF911F910895CD
+:104D3000E1EEF1E085E0DF011D928A95E9F710923E
+:104D4000E0011092DF0108958BE598E00E94520780
+:104D50001F9281E08F931F9285E08F938DE098E002
+:104D60009F938F930E94EB070F900F900F900F90DF
+:104D70000F900F9008958330E9F128F4813061F0AD
+:104D8000823009F10895853009F462C008F449C001
+:104D9000863009F474C0089580911501262F30E003
+:104DA000280F311D2F3F310524F4680F6093150142
+:104DB00003C08FEF80931501809115011F928F938F
+:104DC00086E497E072C080911401262F30E0280F0E
+:104DD000311D2F3F310524F4680F6093140103C087
+:104DE0008FEF80931401809114011F928F9384E3BD
+:104DF00097E05BC080911301262F30E0280F311D12
+:104E00002F3F310524F4680F6093130103C08FEF27
+:104E100080931301809113011F928F9381E297E099
+:104E200044C080911201262F30E0280F311D2F3F02
+:104E3000310524F4680F6093120103C08FEF809353
+:104E40001201809112011F928F938CE097E02DC088
+:104E500080911101262F30E0280F311D2F3F3105A1
+:104E600024F4680F6093110103C08FEF8093110148
+:104E7000809111011F928F9383EF96E016C080916D
+:104E80001001262F30E0280F311D2F3F310524F46B
+:104E9000680F6093100103C08FEF80931001809121
+:104EA00010011F928F9388ED96E09F938F930E943D
+:104EB000EB070F900F900F900F900895833081F1C2
+:104EC00028F4813059F08230D1F00895853009F40A
+:104ED00049C0B8F1863009F456C008958091150193
+:104EE000681720F4861B8093150102C010921501EB
+:104EF000809115011F928F9389EC96E054C08091A8
+:104F00001401681720F4861B8093140102C01092CC
+:104F10001401809114011F928F9387EB96E043C098
+:104F200080911301681720F4861B8093130102C03F
+:104F300010921301809113011F928F9384EA96E0DF
+:104F400032C080911201681720F4861B80931201F1
+:104F500002C010921201809112011F928F938FE86C
+:104F600096E021C080911101681720F4861B809380
+:104F7000110102C010921101809111011F928F93B3
+:104F800086E796E010C080911001681720F4861B18
+:104F90008093100102C010921001809110011F92A5
+:104FA0008F938BE596E09F938F930E94EB070F9072
+:104FB0000F900F900F900895CF93C82F1F928F934B
+:104FC00080E699E09F938F930E94EB0781E090E049
+:104FD000A0E0B0E0BC01CD0104C0660F771F881FC0
+:104FE000991FCA95D2F70E94791E0F900F900F90CB
+:104FF0000F90CF910C94BD1ACF938D3109F465C0F9
+:10500000B0F58E3009F4CCC100F5873009F49BC1AE
+:10501000A8F4863009F06DC28091D701817F8E7F20
+:105020008093D70185E699E00E94520781EA9DE0CE
+:105030000E94520781E08093E70180C1883009F423
+:105040004FC08B3009F47CC154C2863109F4F0C1E1
+:1050500038F4803109F4B8C1813109F430C249C251
+:10506000893109F4CEC18B3109F486C142C285333E
+:1050700009F437C248F4873209F433C208F433C262
+:10508000893209F42EC235C2833438F48A3308F0E9
+:105090002CC2883309F454C12CC2833409F421C2D0
+:1050A000883409F026C20E94BD1A80E99DE00E9462
+:1050B00052079FEF23ED80E3915020408040E1F7BD
+:1050C00000C000000E941F2239C180EB9DE00E94B9
+:1050D00052070E94FB2B0E94DF140E94110D2EC16B
+:1050E00085EA9DE00E94520786E79BE00E945207F6
+:1050F0000E94E4231F928F9383E79BE09F938F93FB
+:105100000E94EB0781E79BE00E9452070E94DB238D
+:10511000C82F8EE59BE00E9452071F92CF9389E52E
+:105120009BE09F938F930E94EB0787E59BE00E9493
+:1051300052078DE49BE00E9452078C2F81701F92D2
+:105140008F938AE49BE09F938F930E94EB0788E400
+:105150009BE00E9452078EE39BE00E945207C1FB36
+:10516000882780F91F928F938BE39BE09F938F9307
+:105170000E94EB0789E39BE00E9452078DE29BE0CF
+:105180000E945207C2FB882780F91F928F938AE200
+:105190009BE09F938F930E94EB0788E29BE00E9425
+:1051A00052078FE19BE00E945207C3FBCC27C0F956
+:1051B0001F92CF938CE19BE09F938F930E94EB070C
+:1051C0008AE19BE00E9452070E94ED23C82F86E0EF
+:1051D0009BE00E9452071F92CF9381E09BE09F9338
+:1051E0008F930E94EB078FEF9AE00E94520786EEA2
+:1051F0009AE00E9452078C2F81701F928F9383EE4A
+:105200009AE09F938F930E94EB078DB79EB780968D
+:105210000FB6F8949EBF0FBE8DBF81EE9AE00E943C
+:1052200052078AEC9AE00E945207C1FB882780F956
+:105230001F928F9387EC9AE09F938F930E94EB07C6
+:1052400085EC9AE00E94520783EB9AE00E94520795
+:10525000C2FB882780F91F928F9380EB9AE09F937F
+:105260008F930E94EB078EEA9AE00E9452078CE926
+:105270009AE00E945207C3FB882780F91F928F9300
+:1052800089E99AE09F938F930E94EB0787E99AE060
+:105290000E9452078DE89AE00E945207C4FB8827BB
+:1052A00080F91F928F938AE89AE09F938F930E94D0
+:1052B000EB0788E89AE00E94520786E79AE00E948E
+:1052C0005207C5FB882780F91F928F9383E79AE0E6
+:1052D0009F938F930E94EB0781E79AE00E94520709
+:1052E00085E59AE00E945207C6FB882780F91F9245
+:1052F0008F9382E59AE09F938F930E94EB0780E55E
+:105300009AE00E94520788E49AE00E945207C7FB85
+:10531000CC27C0F91F92CF9385E49AE09F938F9397
+:105320000E94EB0783E49AE00E9452078DB79EB774
+:105330004C960FB6F8949EBF0FBE8DBFC1E0DEC085
+:105340008CE899E05BC08091D701C82FC17080FFC5
+:1053500009C083E89DE00E9452078091D701817FB8
+:105360008E7F47C087E79DE00E9452078091D7015A
+:1053700081608093D701E2CF9091D70191FBCC2738
+:10538000C0F981E0C827892FC0FB81F98093D7013C
+:10539000CC2319F08AE69DE027C08CE59DE02EC065
+:1053A0009091D70192FBCC27C0F981E0C827892FC3
+:1053B000C0FB82F98093D701CC2319F08DE49DE0E6
+:1053C00013C08DE39DE01AC09091D70193FBCC27C9
+:1053D000C0F981E0C827892FC0FB83F98093D701EA
+:1053E000CC2351F081E39DE00E9452078091D701C8
+:1053F00081608093D70182C084E29DE00E945207C1
+:105400009DCF85E19DE00E94520789EE9CE00E94BD
+:1054100052078CEA9CE00E94520785E89CE00E94BB
+:10542000520781E49CE00E94520786E19CE0E6CFAF
+:1054300088E09CE00E9452070E94DF141F928F9325
+:105440008EEE9BE09F938F930E94EB0780910C015F
+:105450001F928F9387ED9BE09F938F930E94EB07A2
+:1054600080916E011F928F9384EC9BE09F938F93AA
+:105470000E94EB0780910D011F928F9381EB9BE0BF
+:105480009F938F930E94EB078091D9019091DA014D
+:10549000A091DB01B091DC01BF93AF939F938F93F9
+:1054A0008DE99BE09F938F930E94EB078DB79EB78A
+:1054B00046960FB6F8949EBF0FBE8DBF3FCF0E9499
+:1054C000BD1AC0910D0181E0C827C0930D01CC2306
+:1054D00029F083E99BE00E94520710C088E89BE016
+:1054E0008DCF80E003C08D5101C089530E94DC271D
+:1054F00025CF86E89BE00E945207C0E08C2FCF9119
+:10550000089580E0089580E00895CF93C82F80919A
+:10551000E701813081F020F0823009F44FC045C1AD
+:10552000E0910E01F0910F018081813169F08232AA
+:1055300009F03DC109C0E0910E01F0910F01808199
+:10554000813111F0823261F48C2F0E94812A811105
+:1055500004C08C2F0E94FC272FC081E090E02CC05B
+:105560008C2F0E94832A811126C0C431E1F070F48F
+:10557000CB3081F0C031D1F40E94A42688E599E0B7
+:105580000E94520782E08093E70115C0C93259F0AA
+:10559000C83361F485E699E00E9452078CE599E0F2
+:1055A0000E94520708C01092E70103C186E599E006
+:1055B0000E945207FEC081E08170FDC0C43220F518
+:1055C000CE3108F0C0C0CB3099F1C8F4C73009F033
+:1055D000D2C08AE08093150194E19093140193E086
+:1055E000909313018093120188E08093110188E267
+:1055F000809310018CEF97E00E945207BFC0C33127
+:1056000049F1C431C1F0B7C0CB3409F4A9C028F4C2
+:10561000C93289F0C83361F0AEC0C13509F49EC00B
+:10562000C23509F499C0CE3409F0A5C06AE09EC025
+:105630000E94A426A3C08091E601882319F010924D
+:10564000E6019CC089E098E00E94520781E08093C7
+:10565000E701B1C083EE97E00E94520781ED97E029
+:105660000E945207809115011F928F938EEC97E054
+:105670009F938F930E94EB078CEC97E00E94520758
+:105680008AEB97E00E945207809114011F928F933A
+:1056900087EB97E09F938F930E94EB0785EB97E052
+:1056A0000E94520786EA97E00E94520780911301F8
+:1056B0001F928F9383EA97E09F938F930E94EB074B
+:1056C00081EA97E00E94520780E997E00E94520722
+:1056D000809112011F928F938DE897E09F938F9393
+:1056E0000E94EB078BE897E00E94520786E797E05D
+:1056F0000E945207809111011F928F9383E797E0D8
+:105700009F938F930E94EB0781E797E00E945207D7
+:105710008AE597E00E945207809110011F928F93B3
+:1057200087E597E09F938F930E94EB0785E597E0CD
+:105730000E9452078DB79EB748960FB6F8949EBF49
+:105740000FBE8DBF1BC0CE51EC2FF0E0E15DFE4FD0
+:1057500080818093E60112C061E003C061E006C071
+:105760006AE08091E6010E94BB2608C08091E601B4
+:105770000E945E2703C08AEF97E013C08091E60184
+:10578000882369F01F928F9384EF97E09F938F9304
+:105790000E94EB070F900F900F900F9004C081EFC5
+:1057A00097E00E94520781E006C01092E70180E076
+:1057B00002C080E001CFCF910895E1E8F0E0808160
+:1057C000886080838081816080838FB7F89493E0C4
+:1057D0009093890090ED909388008FBF0895EFE635
+:1057E000F0E08081826080830895EFE6F0E08081C0
+:1057F0008D7F80830895EFE6F0E0908182E0892735
+:10580000808308951F920F920FB60F9211242F9349
+:105810003F934F935F936F937F938F939F93AF9338
+:10582000BF93EF93FF938091E8019091E901019676
+:105830009093E9018093E801811103C082E00E9406
+:10584000110DE091E901E695E695F0E0E054F24FA4
+:10585000E4918091E8018E1303C080E00E94110D55
+:10586000FF91EF91BF91AF919F918F917F916F9138
+:105870005F914F913F912F910F900FBE0F901F900E
+:10588000189504D06894B1118DC0089570D088F037
+:105890009F5790F0B92F9927B751A0F0D1F0660F1C
+:1058A000771F881F991F1AF0BA95C9F712C0B13037
+:1058B00081F077D0B1E0089574C0672F782F8827E2
+:1058C000B85F39F0B93FCCF3869577956795B39576
+:1058D000D9F73EF490958095709561957F4F8F4FE5
+:1058E0009F4F0895E89409C097FB3EF490958095EA
+:1058F000709561957F4F8F4F9F4F9923A9F0F92F96
+:1059000096E9BB279395F695879577956795B79513
+:10591000F111F8CFFAF4BB0F11F460FF1BC06F5FF9
+:105920007F4F8F4F9F4F16C0882311F096E911C00B
+:10593000772321F09EE8872F762F05C0662371F02C
+:1059400096E8862F70E060E02AF09A95660F771F40
+:10595000881FDAF7880F9695879597F9089557FD70
+:105960009058440F551F59F05F3F71F04795880FCD
+:1059700097FB991F61F09F3F79F087950895121664
+:1059800013061406551FF2CF4695F1DF08C0161610
+:1059900017061806991FF1CF8695710561050894C1
+:1059A0000895E894BB2766277727CB0197F90895D8
+:1059B0000BD078C069D028F06ED018F0952309F08C
+:1059C0005AC05FC01124EECFCADFA0F3959FD1F378
+:1059D000950F50E0551F629FF001729FBB27F00D9D
+:1059E000B11D639FAA27F00DB11DAA1F649F6627F2
+:1059F000B00DA11D661F829F2227B00DA11D621F41
+:105A0000739FB00DA11D621F839FA00D611D221FFA
+:105A1000749F3327A00D611D231F849F600D211DDE
+:105A2000822F762F6A2F11249F5750408AF0E1F081
+:105A300088234AF0EE0FFF1FBB1F661F771F881FCA
+:105A400091505040A9F79E3F510570F014C0AACF65
+:105A50005F3FECF3983EDCF3869577956795B795B5
+:105A6000F795E7959F5FC1F7FE2B880F911D9695DF
+:105A7000879597F9089597F99F6780E870E060E04F
+:105A800008959FEF80EC089500240A9416161706D7
+:105A900018060906089500240A941216130614061F
+:105AA00005060895092E0394000C11F4882352F082
+:105AB000BB0F40F4BF2B11F460FF04C06F5F7F4F3A
+:105AC0008F4F9F4F0895991B79E004C0991F961737
+:105AD00008F0961B881F7A95C9F78095089597FB63
+:105AE000072E16F4009407D077FD09D00E94892D67
+:105AF00007FC05D03EF4909581959F4F08957095D1
+:105B000061957F4F0895EE0FFF1F0590F491E02DF2
+:105B10000994AA1BBB1B51E107C0AA1FBB1FA617F4
+:105B2000B70710F0A61BB70B881F991F5A95A9F746
+:105B300080959095BC01CD010895F999FECF92BD55
+:105B400081BDF89A992780B50895A8E1B0E042E0B8
+:105B500050E00C94C02D262FF999FECF1FBA92BDAC
+:105B600081BD20BD0FB6F894FA9AF99A0FBE01963E
+:105B700008950E94AB2D272F0C94AC2DDC01CB0196
+:105B8000FC01F999FECF06C0F2BDE1BDF89A31964D
+:105B900000B40D9241505040B8F70895F894FFCFEB
+:105BA0002002120D030EE00DAC0D780D0101C501B0
+:105BB00028080A03140A3F4D3620394605F904C364
+:105BC00004A3046A04DD03F6030F04280448040157
+:0A5BD000020304050607080900009F
+:00000001FF
diff --git a/keyboard/ergodox_ez/keymaps/keymap_coderkun_neo2.c b/keyboard/ergodox_ez/keymaps/keymap_coderkun_neo2.c
new file mode 100644
index 000000000..bec67e7d4
--- /dev/null
+++ b/keyboard/ergodox_ez/keymaps/keymap_coderkun_neo2.c
@@ -0,0 +1,137 @@
+#include "ergodox_ez.h"
+#include "debug.h"
+#include "action_layer.h"
+#include "keymap_extras/keymap_neo2.h"
+
+// Layer names
+#define BASE 0 // default layer
+#define FMU 1 // FMU layer
+
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* Layer 0 (default)
+ * ┌───────┬─────┬─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┬─────┬───────┐
+ * │ TAB │ 1 │ 2 │ 3 │ 4 │ 5 │ ` │ │ ´ │ 6 │ 7 │ 8 │ 9 │ 0 │ BKSPC │
+ * ├───────┼─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┼───────┤
+ * │ Y │ X │ V │ L │ C │ W │ HOM │ │ END │ K │ H │ G │ F │ Q │ ß │
+ * ├───────┼─────┼─────┼─────╆─────╅─────┤ E │ │ ├─────╆─────╅─────┼─────┼─────┼───────┤
+ * │ Mod3 │ U │ I │ A │ E │ O ├─────┤ ├─────┤ S │ N │ R │ T │ D │ Mod3 │
+ * ├───────┼─────┼─────┼─────╄─────╃─────┤ TL2 │ │ TL3 ├─────╄─────╃─────┼─────┼─────┼───────┤
+ * │ LSHFT │ Ü │ Ö │ Ä │ P │ Z │ │ │ │ B │ M │ , │ . │ J │ Shift │
+ * └─┬─────┼─────┼─────┼─────┼─────┼─────┴─────┘ └─────┴─────┼─────┼─────┼─────┼─────┼─────┬─┘
+ * │ CTL │ ALT │ MO1 │ Win │ Mod4│ │ Mod4│ Win │ MO1 │ Alt │ CTL │
+ * └─────┴─────┴─────┴─────┴─────┘ ┌─────┬─────┐ ┌─────┬─────┐ └─────┴─────┴─────┴─────┴─────┘
+ * │ ← │ ↑ │ │ ↓ │ → │
+ * ┌─────┼─────┼─────┤ ├─────┼─────┼─────┐
+ * │ │ │ ─ │ │ ─ │ │ │
+ * │ SPC │ RTN ├─────┤ ├─────┤ RTN │ SPC │
+ * │ │ │ HYP │ │ MEH │ │ │
+ * └─────┴─────┴─────┘ └─────┴─────┴─────┘
+ */
+[BASE] = KEYMAP(
+ // left hand
+ KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, KC_EQL,
+ NEO_Y, NEO_X, NEO_V, NEO_L, NEO_C, NEO_W, KC_HOME,
+ NEO_L1_L, NEO_U, NEO_I, NEO_A, NEO_E, NEO_O,
+ KC_LSFT, NEO_UE, NEO_OE, NEO_AE, NEO_P, NEO_Z, KC_TRNS,
+ KC_LCTL, KC_LALT,MO(FMU),KC_LGUI,NEO_L2_L,
+ KC_LEFT, KC_UP,
+ KC_MINS,
+ KC_SPC, KC_ENT, ALL_T(KC_NO),
+ // right hand
+ DE_ACUT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
+ KC_END, NEO_K, NEO_H, NEO_G, NEO_F, NEO_Q, NEO_SS,
+ NEO_S, NEO_N, NEO_R, NEO_T, NEO_D, NEO_L1_R,
+ KC_TRNS, NEO_B, NEO_M, KC_COMM,KC_DOT, NEO_J, KC_RSFT,
+ NEO_L2_R,KC_RGUI,MO(FMU),KC_RALT,KC_RCTL,
+ KC_DOWN, KC_RGHT,
+ KC_MINS,
+ MEH_T(KC_NO),KC_ENT,KC_SPC
+ ),
+/* Layer 1 (F-keys, Mouse and Unicode)
+ * ┌───────┬─────┬─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┬─────┬───────┐
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├───────┼─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┼───────┤
+ * │ │ │ │ │ ✕ │ │ │ │ │ │ F9 │ F10 │ F11 │ F12 │ │
+ * ├───────┼─────┼─────┼─────╆─────╅─────┤ │ │ ├─────╆─────╅─────┼─────┼─────┼───────┤
+ * │ │ │ │ │ ✓ │ ├─────┤ ├─────┤ │ F5 │ F6 │ F7 │ F8 │ │
+ * ├───────┼─────┼─────┼─────╄─────╃─────┤ │ │ ├─────╄─────╃─────┼─────┼─────┼───────┤
+ * │ │ │ │ │ │ │ │ │ │ │ F1 │ F2 │ F3 │ F4 │ │
+ * └─┬─────┼─────┼─────┼─────┼─────┼─────┴─────┘ └─────┴─────┼─────┼─────┼─────┼─────┼─────┬─┘
+ * │ │ │(MO1)│ │ │ │ │ │(MO1)│ │ │
+ * └─────┴─────┴─────┴─────┴─────┘ ┌─────┬─────┐ ┌─────┬─────┐ └─────┴─────┴─────┴─────┴─────┘
+ * │ Ms← │ Ms↑ │ │ Ms↓ │ Ms→ │
+ * ┌─────┼─────┼─────┤ ├─────┼─────┼─────┐
+ * │ │ │ MLC │ │ MRC │ │ │
+ * │ │ ├─────┤ ├─────┤ │ │
+ * │ │ │ │ │ │ │ │
+ * └─────┴─────┴─────┘ └─────┴─────┴─────┘
+ */
+[FMU] = KEYMAP(
+ // left hand
+ KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,UC(0x2713),KC_TRNS,KC_TRNS,
+ KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,UC(0x2715),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_MS_L, KC_MS_U,
+ KC_BTN1,
+ KC_TRNS,KC_TRNS, KC_TRNS,
+ // right hand
+ KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ KC_TRNS, KC_TRNS,KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS,
+ KC_TRNS,KC_F5, KC_F6, KC_F7, KC_F8, KC_TRNS,
+ KC_TRNS, KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ KC_MS_D, KC_MS_R,
+ KC_BTN2,
+ KC_TRNS, KC_TRNS,KC_TRNS
+ ),
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+ [1] = ACTION_LAYER_TAP_TOGGLE(FMU)
+};
+
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ // MACRODOWN only works in this function
+ switch(id) {
+ case 0:
+ if (record->event.pressed) {
+ register_code(KC_RSFT);
+ }
+ else {
+ unregister_code(KC_RSFT);
+ }
+ break;
+ }
+
+ return MACRO_NONE;
+};
+
+
+// Runs just one time when the keyboard initializes.
+void * matrix_init_user(void) {
+};
+
+
+// Runs constantly in the background, in a loop.
+void * matrix_scan_user(void)
+{
+ uint8_t layer = biton32(layer_state);
+
+ ergodox_board_led_off();
+ ergodox_right_led_1_off();
+ ergodox_right_led_2_off();
+ ergodox_right_led_3_off();
+ switch (layer) {
+ case FMU:
+ ergodox_right_led_1_on();
+ default:
+ ergodox_board_led_off();
+ break;
+ }
+
+};
diff --git a/keyboard/ergodox_ez/keymaps/keymap_dave.c b/keyboard/ergodox_ez/keymaps/keymap_dave.c
new file mode 100644
index 000000000..a0c74ad80
--- /dev/null
+++ b/keyboard/ergodox_ez/keymaps/keymap_dave.c
@@ -0,0 +1,195 @@
+#include "ergodox_ez.h"
+#include "debug.h"
+#include "action_layer.h"
+
+#define BASE 0 // default layer
+#define PROG 1 // symbols
+#define NAVI 2 // navigation keys
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* Keymap 0: Basic layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | | 6 | 7 | 8 | 9 | 0 | - | BkSpce |
+ * |--------+------+------+------+------+------+------| |------+------+------+------+------+------+--------|
+ * | Tab | Q | W | E | R | T | Y | | G | Y | U | I | O | P | Enter |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | LCtrl | A | S | D | F | G |------| |------| H | J | K | L | ; | Enter |
+ * |--------+------+------+------+------+------| H | | B |------+------+------+------+------+--------|
+ * | LShift | Z | X | C | V | B | | | | N | M | , | . | / | RShift |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * |`/Ctrl| \ | | | LAlt | | RAlt | | [ | ] |'/Ctrl|
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | PrtS | Apps | | Paus | CtAl |
+ * ,------+------+------| |------+------+------.
+ * | | | L1 | | L1 | | |
+ * | Spce | ~L2 +------| |------+ ~L1 | Spce |
+ * | | | LGui | | RGui | | |
+ * `--------------------' `--------------------'
+ */
+[BASE] = KEYMAP( // layer 0 : default
+ // left hand
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y,
+ KC_LCTRL, KC_A, KC_S, KC_D, KC_F, KC_G,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_H,
+ CTL_T(KC_GRV),KC_NUBS,KC_NO, KC_NO, KC_LALT,
+ KC_PSCREEN, KC_APP,
+ TO(PROG, ON_PRESS),
+ KC_SPC, MO(NAVI), KC_LGUI,
+ // right hand
+ KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_BSPC,
+ KC_G, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_ENTER,
+ KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENTER,
+ KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT,
+ KC_RALT,KC_NO, KC_LBRC,KC_RBRC, CTL_T(KC_QUOT),
+ KC_PAUS, MT(0x5, KC_NO),
+ TO(PROG, ON_PRESS),
+ KC_RGUI, MO(PROG), KC_SPC
+ ),
+
+/* Keymap 1: Symbol Layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | | | | | | | | | | | | K/ | K* | K- | = |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | ! | @ | ( | ) | | | | | | | K7 | K8 | K9 | K+ | # |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | # | $ | { | } | ` |------| |------| | K4 | K5 | K6 | K+ | ' |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | % | ^ | [ | ] | ~ | | | | | K1 | K2 | K3 | K= | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | | | | K0 | K0 | K. | K= | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | L2 | | L2 | | |
+ * | | |------| |------| | |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+[PROG] = KEYMAP(
+ // left hand
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, KC_TRNS,
+ KC_TRNS, KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_GRV,
+ KC_TRNS, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ TO(NAVI, ON_PRESS),
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ // right hand
+ KC_TRNS, KC_TRNS, KC_NO, KC_PSLS, KC_PAST, KC_PMNS, KC_EQUAL,
+ KC_TRNS, KC_TRNS, KC_P7, KC_P8, KC_P9, KC_PPLS, KC_NUHS,
+ KC_TRNS, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_QUOT,
+ KC_TRNS, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_PENT, KC_TRNS,
+ KC_P0, KC_P0, KC_PDOT, KC_PENT, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ TO(NAVI, ON_PRESS),
+ KC_TRNS, KC_TRNS, KC_TRNS
+),
+
+/* Keymap 2: Navigation and system keys
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 | |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | Home | Up | End | Ins | PgUp | | | | | | Ins | | | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | Left | Down | Rght | Del | PgDn |------| |------| | Back | Del | Fwrd | | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | Lclk | MsUp | Rclk | | | | | | | Prev | Play | Next | | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | MsLt | MsDn | MsRt | | |VolDn | Mute |VolUp | | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | Powr | Log | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | L0 | | L0 | | |
+ * | | |------| |------| | |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+[NAVI] = KEYMAP(
+ KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
+ KC_TRNS, KC_HOME, KC_UP, KC_END, KC_INS, KC_PGUP, KC_TRNS,
+ KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_DELT, KC_PGDN,
+ KC_TRNS, KC_BTN1, KC_MS_U, KC_BTN2, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS,
+ KC_PWR, LCTL(LALT(KC_DELT)),
+ TO(BASE, ON_PRESS),
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ // right hand
+ KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_WBAK, KC_DELT, KC_WFWD, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS,
+ KC_VOLD, KC_MUTE, KC_VOLU, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ TO(BASE, ON_PRESS),
+ KC_TRNS, KC_TRNS, KC_TRNS
+),
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+ //[1] = ACTION_LAYER_TAP_TOGGLE(PROG), // FN1 - Momentary Layer 1 (Symbols)
+ //[2] = ACTION_LAYER_TAP_TOGGLE(NAVI) // FN2 - Momentary Layer 2 (Navigation)
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ // MACRODOWN only works in this function
+ switch(id) {
+ case 0:
+ if (record->event.pressed) {
+ register_code(KC_RSFT);
+ } else {
+ unregister_code(KC_RSFT);
+ }
+ break;
+ }
+ return MACRO_NONE;
+};
+
+// Runs just one time when the keyboard initializes.
+void * matrix_init_user(void) {
+ return NULL;
+};
+
+// Runs constantly in the background, in a loop.
+void * matrix_scan_user(void) {
+ /* leds is a static array holding the current brightness of each of the
+ * three keyboard LEDs. It's 4 long simply to avoid the ugliness of +1s and
+ * -1s in the code below, and because wasting a byte really doesn't matter
+ * that much (no, it *doesn't*, stop whinging!). Note that because it's
+ * static it'll maintain state across invocations of this routine.
+ */
+ static uint8_t leds[4];
+ uint8_t led;
+ uint8_t layer = biton32(layer_state);
+
+ ergodox_board_led_off();
+
+ /* Loop over each LED/layer */
+ for (led = 1; led <= 3; ++led) {
+ /* If the current layer matches the current LED, increment its
+ * brightness by 1 up to a maximum of 255. If the current layer doesn't
+ * match, decrement its brightness by 1 down to a minimum of zero.
+ */
+ leds[led] += (layer == led) ?
+ (leds[led] < 255 ? 1 : 0):
+ (leds[led] > 0 ? -1 : 0);
+ /* Set LED state according to the new brightness */
+ if (leds[led]) {
+ ergodox_right_led_on(led);
+ ergodox_right_led_set(led, leds[led]);
+ }
+ else {
+ ergodox_right_led_off(led);
+ }
+ }
+
+ return NULL;
+};
diff --git a/keyboard/ergodox_ez/keymaps/keymap_dave.hex b/keyboard/ergodox_ez/keymaps/keymap_dave.hex
new file mode 100644
index 000000000..767a9ca11
--- /dev/null
+++ b/keyboard/ergodox_ez/keymaps/keymap_dave.hex
@@ -0,0 +1,1483 @@
+:100000000C94FE060C9442070C9442070C94420791
+:100010000C9442070C9442070C9442070C9442073C
+:100020000C9442070C9442070C94B2120C94841363
+:100030000C9442070C9442070C9442070C9442071C
+:100040000C9442070C945C2C0C9442070C944207CD
+:100050000C9442070C9463220C9442070C944207C0
+:100060000C9442070C9442070C9442070C944207EC
+:100070000C9442070C9442070C9442070C944207DC
+:100080000C9442070C9442070C9442070C944207CC
+:100090000C9442070C9442070C9442070C944207BC
+:1000A0000C9442070C9442070C944207E9130B147A
+:1000B000F6140B14F6144D147014F614C514D81459
+:1000C00026182618541854189718D318D41AD41A66
+:1000D000EB18D41AE219E219AE1AD41AD41AC21AB9
+:1000E00029002B00E000E100357100001E00140023
+:1000F00004001D006400E3001F001A0016001B002E
+:1001000000000252200008000700060000002C003A
+:100110002100150009001900E2001151220017000A
+:100120000A0005000000460023001C0000000B0030
+:100130000000650023000A000000050000004800E0
+:1001400024001C000B0011000000007525001800A1
+:100150000D001000E600115126000C000E003600C4
+:1001600000002C00270012000F0037002F00015262
+:100170002D001300330038003000E7002A0028006B
+:100180002800E500347100000100010001000100B9
+:100190000100000001001E022002220201000100F5
+:1001A00001001F02210223020100010001002F02B1
+:1001B00026022F000100010001003002270230005A
+:1001C000010012510100310235003502000001002A
+:1001D0000100010000000100000001000100010019
+:1001E0000000010000000100010001000100010009
+:1001F0000000010000005F005C0059006200125125
+:10020000540060005D005A0062000100550061006A
+:100210005E005B0063000100560057005700580065
+:10022000580001002E0032003400010001000000DF
+:100230000100010001000100010000003A004A0035
+:100240005000F400F20001003B0052005100F000A9
+:10025000F10001003C004D004F00F500F3000100EB
+:100260003D0049004C000100010010513E004B00D0
+:100270004E0001000000A5003F0001000000010049
+:1002800000004C05400001000000010000000100DA
+:1002900041000100010001000000010042000100D6
+:1002A000B600AC00AA001051430049004C00AE005B
+:1002B000A800010044000100B700AB00A900010044
+:1002C00045000100010001000100010001000100E2
+:1002D00001000100010000000A00253031366200F3
+:1002E0003A200025303258000A722F632030313214
+:1002F000333435363738394142434445460A000ADB
+:10030000002530325800626F756E6365213A200017
+:100310006C656674207369646520617474616368D8
+:1003200065640A006C6566742073696465206E6F8D
+:100330007420726573706F6E64696E670A00747200
+:1003400079696E6720746F207265736574206D63C0
+:100350007032333031380A000A44454255473A205A
+:10036000656E61626C65642E0A005B735D004B65AF
+:1003700079626F6172642073746172742E0A005B1B
+:10038000575D005B535D005B525D005B445D005B4D
+:10039000435D0016034500720067006F0044006F64
+:1003A000007800200045005A000000160345007246
+:1003B0000067006F0044006F007800200045005A7D
+:1003C0000000000403090409028D00050100A0FAE1
+:1003D00009040000010301010009211101000122AB
+:1003E0003F000705810308000A0904010001030119
+:1003F0000200092111010001224D000705820308B6
+:10040000000A090402000103000000092111010093
+:10041000012236000705830308000A0904030002CD
+:1004200003000000092111010001222000070584BA
+:100430000320000107050403200001090404000152
+:100440000300000009211101000122390007058580
+:10045000031000011201100100000008EDFE071357
+:1004600001000102000105010906A101050719E0CB
+:1004700029E7150025019508750181020508190174
+:1004800029059505750191029501750391010507EF
+:100490001900297715002501957875018102C0069C
+:1004A00031FF0974A1010975150025FF9520750814
+:1004B00081020976150025FF952075089102C00577
+:1004C000010980A101850216010026B7001A01006A
+:1004D0002AB700751095018100C0050C0901A10122
+:1004E0008503160100269C021A01002A9C02751041
+:1004F00095018100C005010902A1010901A10005C2
+:100500000919012905150025019505750181029537
+:1005100001750381010501093009311581257F9598
+:10052000027508810609381581257F9501750881B6
+:1005300006050C0A38021581257F9501750881068C
+:10054000C0C005010906A101050719E029E715004A
+:10055000250195087501810295017508810105083D
+:100560001901290595057501910295017503910100
+:100570000507190029FF150025FF9506750881005C
+:10058000C00A002530325820006B6579626F6172B5
+:10059000645F7265706F72743A20000A0025303211
+:1005A00058006B6579626F6172645F7365745F6C2C
+:1005B00065643A200064656C5F6B65795F6269749D
+:1005C0003A2063616E27742064656C3A20253032CE
+:1005D000580A006164645F6B65795F6269743A20F0
+:1005E00063616E2774206164643A20253032580AB2
+:1005F00000646F6E652E0A00626F6F676D616769D8
+:1006000063207363616E3A202E2E2E2000290A008B
+:100610002575002F002575005D2800256400200049
+:10062000256400200025640020002564007C00254E
+:10063000303258006D6F7573656B6579205B62743D
+:100640006E7C782079207620685D287265702F6135
+:10065000636C293A205B006D6B5F776865656C5F42
+:1006600074696D655F746F5F6D6178203D202564EE
+:100670000A006D6B5F776865656C5F6D61785F73AD
+:1006800070656564203D2025640A006D6B5F7469A8
+:100690006D655F746F5F6D6178203D2025640A0091
+:1006A0006D6B5F6D61785F7370656564203D2025BB
+:1006B000640A006D6B5F696E74657276616C203DD3
+:1006C0002025640A006D6B5F64656C6179203D20B4
+:1006D00025640A006D6B5F776865656C5F74696D92
+:1006E000655F746F5F6D6178203D2025640A006D41
+:1006F0006B5F776865656C5F6D61785F737065656A
+:1007000064203D2025640A006D6B5F74696D655F30
+:10071000746F5F6D6178203D2025640A006D6B5F0A
+:100720006D61785F7370656564203D2025640A0003
+:100730006D6B5F696E74657276616C203D20256417
+:100740000A006D6B5F64656C6179203D2025640A49
+:10075000000A00257500363A20776865656C5F747D
+:10076000696D655F746F5F6D61783A20000A0025DE
+:100770007500353A20776865656C5F6D61785F73E9
+:10078000706565643A20000A00257500343A2074CB
+:10079000696D655F746F5F6D61783A20000A0025AE
+:1007A0007500333A206D61785F73706565643A2037
+:1007B000000A00257500323A20696E746572766110
+:1007C0006C286D73293A20000A00257500313A2003
+:1007D00064656C6179282A31306D73293A20000AEA
+:1007E000092D2056616C756573202D0A004D3E0061
+:1007F0004D25643E20003F0073657420646566618A
+:10080000756C740A00433E20007768657265206449
+:10081000656C74613A20637572736F723D25642C48
+:1008200020776865656C3D25640A536565206874AA
+:1008300074703A2F2F656E2E77696B6970656469E5
+:10084000612E6F72672F77696B692F4D6F757365B6
+:100850005F6B6579730A000A092D204D6F7573650A
+:100860006B6579202D0A4553432F713A09717569DB
+:10087000740A313A0964656C6179282A31306D73E4
+:10088000290A323A09696E74657276616C286D7353
+:10089000290A333A096D61785F73706565640A34BB
+:1008A0003A0974696D655F746F5F6D61780A353AF6
+:1008B00009776865656C5F6D61785F737065656405
+:1008C0000A363A09776865656C5F74696D655F74AF
+:1008D0006F5F6D61780A0A703A097072696E7420F0
+:1008E00076616C7565730A643A0973657420646592
+:1008F0006661756C74730A75703A092B310A646FFE
+:10090000776E3A092D310A706775703A092B3130CC
+:100910000A7067646F776E3A092D31300A0A737076
+:10092000656564203D2064656C7461202A206D61DA
+:10093000785F7370656564202A2028726570656130
+:1009400074202F2074696D655F746F5F6D61782905
+:100950000A003F004D3E2000433E20004C25640A23
+:10096000000A092D20436F6E736F6C65202D0A45B8
+:1009700053432F713A09717569740A6D3A096D6FA5
+:100980007573656B65790A000A092D204D616769E9
+:1009900063202D0A643A0964656275670A783A092A
+:1009A0006465627567206D61747269780A6B3A09D3
+:1009B0006465627567206B6579626F6172640A6D48
+:1009C0003A096465627567206D6F7573650A763ADA
+:1009D0000976657273696F6E0A733A09737461748C
+:1009E00075730A633A09636F6E736F6C65206D6F80
+:1009F00064650A302D343A096C61796572302D34A2
+:100A0000284631302D4634290A506175733A0962FF
+:100A10006F6F746C6F616465720A653A0965657021
+:100A2000726F6D0A6E3A094E4B524F0A7A3A097349
+:100A30006C656570204C454420746573740A000A27
+:100A4000002575002E6E6B726F3A20000A00257526
+:100A5000002E737761705F6261636B736C617368A2
+:100A60005F6261636B73706163653A20000A002501
+:100A700075002E737761705F67726176655F65736D
+:100A8000633A20000A002575002E6E6F5F67756956
+:100A90003A20000A002575002E737761705F72613D
+:100AA0006C745F726775693A20000A002575002E24
+:100AB000737761705F6C616C745F6C6775693A2005
+:100AC000000A002575002E636170736C6F636B5FA5
+:100AD000746F5F636F6E74726F6C3A20000A00254A
+:100AE00075002E737761705F636F6E74726F6C5FE9
+:100AF000636170736C6F636B3A20000A00253032BB
+:100B000058006B65796D61705F636F6E6669672E03
+:100B10007261773A20000A002575002E6D6F75739B
+:100B2000653A20000A002575002E6B6579626F61B9
+:100B300072643A20000A002575002E6D6174726996
+:100B4000783A20000A002575002E656E61626C659A
+:100B50003A20000A00253032580064656275675FEC
+:100B6000636F6E6669672E7261773A20000A00250E
+:100B7000750064656661756C745F6C617965723A65
+:100B800020003F004E4B524F3A206F66660A004EDF
+:100B90004B524F3A206F6E0A0074696D65725F6345
+:100BA0006F756E743A202530346C580A006B657985
+:100BB000626F6172645F6E6B726F3A2025580A0033
+:100BC0006B6579626F6172645F69646C653A202558
+:100BD000580A006B6579626F6172645F70726F743E
+:100BE0006F636F6C3A2025580A00686F73745F6BEF
+:100BF0006579626F6172645F6C65647328293A205D
+:100C000025580A000A092D20537461747573202D2C
+:100C10000A004743433A20342E382E3220415652A0
+:100C20002D4C4942433A20312E382E302041565225
+:100C30005F415243483A20617672350A004F505462
+:100C4000494F4E533A204C55464120424F4F544D48
+:100C500041474943204D4F5553454B455920455831
+:100C60005452414B455920434F4E534F4C4520431E
+:100C70004F4D4D414E44204E4B524F203531320A9C
+:100C8000004255494C443A203135316565303420B5
+:100C90002832303A35393A343720446563203230CF
+:100CA0002032303135290A005649443A20307846FE
+:100CB000454544284572676F446F7820455A29207E
+:100CC0005049443A20307831333037284572676FC5
+:100CD000446F7820455A29205645523A20307830C2
+:100CE0003030310A00444553433A20742E6D2E6B48
+:100CF0002E206B6579626F617264206669726D7710
+:100D000061726520666F72204572676F646F780A42
+:100D1000000A092D2056657273696F6E202D0A0036
+:100D20000A6D6F7573653A206F66660A000A6D6F0B
+:100D30007573653A206F6E0A000A6B6579626F61A0
+:100D400072643A206F66660A000A6B6579626F61A9
+:100D500072643A206F6E0A000A6D61747269783AA3
+:100D6000206F66660A000A6D61747269783A206FB6
+:100D70006E0A000A64656275673A206F6E0A000A9F
+:100D800064656275673A206F66660A000A0A626FD8
+:100D90006F746C6F616465722E2E2E2000433E20AE
+:100DA000006565636F6E6669673A0A00536C656536
+:100DB00070204C454420746573740A0000000000E4
+:100DC00000000000000000010204060A0F17202C9A
+:100DD0003A4A5D71879DB3C7DAE9F5FCFFFCF5E996
+:100DE000DAC7B39D87715D4A3A2C20170F0A0604B3
+:100DF00002010000000000000000000011241FBEDE
+:100E0000CFEFDAE0DEBFCDBF04B603FE24C0809191
+:100E1000FD019091FE01A091FF01B0910002873089
+:100E2000904BA740B04BB9F41092FD011092FE0117
+:100E30001092FF011092000214BE84B7877F84BF16
+:100E400088E10FB6F89480936000109260000FBEA6
+:100E5000E0E0FFE3099511E0A0E0B1E0E4E5FCE5A6
+:100E600002C005900D92AA33B107D9F711E0AAE3A9
+:100E7000B1E001C01D92AD3FB107E1F70E94EC0F58
+:100E80000C94282E0C940000FF93EF93E0913A010C
+:100E9000F0913B01309709F00995EF91FF9108958A
+:100EA000FC018591803011F0EFDFFBCF0895FF2723
+:100EB000E0E230E247FF0CC0419597FF09C0EDE248
+:100EC0006095709580959095611D711D811D911D96
+:100ED00027FF02C0219530E350E2AA27660F771F53
+:100EE000881F991FAA1FA41710F0A41B63955A9579
+:100EF000A9F7AA3008F0A95FA05DAF93F39561153B
+:100F000071058105910541F7ED3211F4EF93F395E9
+:100F1000F21718F43F93F395FBCF8F91B5DFFA9555
+:100F2000E1F70895E991F9918591803021F08532BA
+:100F300019F0AADFF9CF089520E0E89455915532D1
+:100F4000C1F3503311F4689455915A3348F4505317
+:100F500090F3220F022E220F220F200D250FF4CF27
+:100F60000EF4219589919991533619F3533729F14C
+:100F7000533559F1BC0188279927E8945C3621F450
+:100F80008991999168945591543639F446EF7EF0E1
+:100F900077FF0DC08FEF9FEF0AC055374AE039F059
+:100FA000583540E121F0523642E009F00895FF93B0
+:100FB000EF937DDFEF91FF91B7CFFF93EF93FC01AC
+:100FC00081918030B9F360DFFBCFFF93EF9368DF4F
+:100FD000F1CFDF93CF93CDB7DEB72596A3DFCF91C7
+:100FE000DF91089561110BC0FC018281882321F0FB
+:100FF00085EE0E94BA1603C085EE0E94821780E03B
+:1010000090E0089580E090E00895EF92FF921F93A2
+:10101000CF93DF936091C0017091C1018091C201B3
+:101020009091C3010E94672156985E9821E030E0BC
+:10103000682F70E0EB01C45CDE4FE1E0F0E0122FBE
+:10104000821307C0AB019881A1E09F3F61F4A0E04B
+:101050000AC0A901D901A45CBE4F9C91A1E09111E5
+:1010600001C0A0E0A1959A0FDA01A45CBE4F9C9349
+:101070004C5F5F4F992309F194B17F0102C0EE0CE0
+:10108000FF1C4A95E2F79E2994B995B19E2995B91E
+:101090004C9150E0113029F450938900409388001E
+:1010A0001AC0123029F450938B0040938A0013C069
+:1010B00050938D0040938C000EC094B1DF0102C0AC
+:1010C000AA0FBB1F4A95E2F7AD014095942394B94E
+:1010D00095B1942395B92F5F3F4F2430310509F026
+:1010E000AECF80E090E0DF91CF911F91FF90EF9025
+:1010F000089585E098E0892B11F00E94050880E0B2
+:1011000090E0089556985E9825982D9826982E98E8
+:1011100027982F988FEF90E0909389008093880014
+:1011200090938B0080938A0090938D0080938C0025
+:10113000259A2D9A2FEF80E792E021508040904031
+:10114000E1F700C00000269A2E9A2FEF80E792E088
+:10115000215080409040E1F700C00000279A2F9A6C
+:101160002FEF80E792E0215080409040E1F700C0EF
+:10117000000025982D982FEF80E792E021508040C5
+:101180009040E1F700C0000026982E982FEF80E7EE
+:1011900092E0215080409040E1F700C00000279885
+:1011A0002F9856985E9825982D9826982E982798CF
+:1011B0002F98089589EA8093800089E080938100C8
+:1011C00024982C983F988AB18F748AB96E98479A60
+:1011D0008BB1806B8BB9769A0E94820882E098E08E
+:1011E000892B11F00E94020880E090E0089580E2CF
+:1011F000809300018091400181110EC00E94460938
+:1012000081E0809340012FEF83ED90E321508040F7
+:101210009040E1F700C0000080E40E944C098093F8
+:10122000000181112EC00E94760980930001811176
+:1012300028C00E94760980930001811122C08FE3AB
+:101240000E9476098093000181111BC00E946E09E3
+:1012500080E40E944C0980930001811112C08CE04F
+:101260000E9476098093000181110BC00E947609CB
+:1012700080930001811105C08FE30E94760980935D
+:1012800000010E946E098091000108951092B9003A
+:101290008AE08093B800089594EA9093BC009091FE
+:1012A000BC0097FFFCCF9091B900987F983021F057
+:1012B000903111F081E008958093BB0084E8809321
+:1012C000BC008091BC0087FFFCCF8091B900887F73
+:1012D000883111F0803471F780E0089584E98093BB
+:1012E000BC008091BC0084FDFCCF08958093BB00BE
+:1012F00084E88093BC008091BC0087FFFCCF909174
+:10130000B900987F81E0983209F480E0089584E87C
+:101310008093BC008091BC0087FFFCCF8091BB0014
+:10132000089580910001811115C080E40E944C094C
+:101330008093000181110CC082E10E9476098093A4
+:101340000001811105C08FEF0E9476098093000192
+:101350000E946E0984B1807F84B985B1807F85B990
+:101360008AB1837F8AB98BB1837F8BB93E984698C7
+:1013700008950E94F708809300010E94910980B3AC
+:101380008C7080BB81B3836F81BBE0E5F1E0A2E4A8
+:10139000B1E011921D9281E0EE35F807D1F78AEDA8
+:1013A00098E0892B11F00C94DA0808959F92AF927F
+:1013B000BF92CF92DF92EF92FF920F931F93CF9342
+:1013C000DF93809100018823E1F0809141018F5FDC
+:1013D00080934101811115C08EE393E00E94500774
+:1013E0000E94F70880930001882329F084E293E0AB
+:1013F0000E94500706C080E193E00E9450070E94BF
+:10140000820802E411E0C0E0D0E0BB24B39482E0A3
+:10141000A82ECC24C394D12C21E0E22E23E0F22E7E
+:10142000C73000F580910001811162C080E40E9404
+:101430004C0980930001811112C082E10E9476095B
+:101440008093000181110BC0C6010C2E01C0880FD2
+:101450000A94EAF780950E947609809300010E9421
+:101460006E0946C0CA30A1F028F4C83059F0C9301E
+:1014700061F005C0CC3089F070F0CD3089F0209A51
+:10148000289810C0219A29980DC0229A2A980AC03B
+:10149000239A2B9807C0529A01C0539A5B9802C0B6
+:1014A0003E9A4698E0EAEA95F1F78FB1799985C0BE
+:1014B00092E081708B25892B7C9B02C090E001C05B
+:1014C00094E0892B7D9B02C090E001C098E0892BBD
+:1014D0007E9B02C090E001C090E1892B9FB1909566
+:1014E000991F9927991F9295990F907E892B10C06B
+:1014F00080910001811176C080E40E944C098093A4
+:101500000001882309F45BC0912C0E946E09892D8B
+:10151000F8019081981739F1808380910101882327
+:1015200001F18091DB0180FF04C086E093E00E941E
+:1015300050078091DB0180FF0CC0809101011F9258
+:101540008F93FF92EF920E94E9070F900F900F90F8
+:101550000F908091DB0180FF04C08FEF92E00E942A
+:101560005007A09201010E94910921960F5F1F4F21
+:10157000CE30D10509F054CF809101018823B1F01C
+:10158000815080930101882339F08FE99FE0019712
+:10159000F1F700C000000AC0A0E5B1E0E2E4F1E02C
+:1015A00081918D9391E0E035F907D1F789E798E0D3
+:1015B000892BD1F00E94790817C090E07ACF83E19F
+:1015C0000E9476098093000181119ECF81E40E94E0
+:1015D0004C0980930001811197CF0E948709982EB2
+:1015E000909493CF80E094CF81E0DF91CF911F91D1
+:1015F0000F91FF90EF90DF90CF90BF90AF909F90B2
+:101600000895E82FF0E0E05BFE4F80810895CF92CF
+:10161000DF92EF92FF920F931F93CF93DF9388EEA9
+:1016200092E00E94500730E5E32E31E0F32EC0E057
+:10163000D0E043EEC42E42E0D42E0AED12E0DF9358
+:10164000CF93DF92CF920E94E90780EE92E00E9452
+:101650005007F70181917F0190E00E94CC219F9378
+:101660008F931F930F930E94E90788ED92E00E94E9
+:10167000500721968DB79EB708960FB6F8949EBF77
+:101680000FBE8DBFCE30D105D1F6DF91CF911F9126
+:101690000F91FF90EF90DF90CF9008958B3B9105D5
+:1016A00078F4883A910540F5853A9105D0F4843074
+:1016B000910508F0B1C08130910509F4ADC06BC04F
+:1016C000803E910508F467C0883E910508F4A4C0E7
+:1016D0009C01205F31092031310508F05CC0906524
+:1016E0000895853A910509F459C0863A910509F49F
+:1016F00058C083E890E40895883A910509F454C0ED
+:10170000893A910509F453C08A3A910509F452C007
+:101710008B3A910509F451C08C3A910509F450C0F7
+:101720008D3A910509F44FC0803B910509F44EC0F4
+:101730008E3A910509F44DC08F3A910509F44CC0D9
+:10174000813B910509F44BC0823B910509F44AC0E5
+:10175000833B910509F449C0843B910509F448C0D5
+:10176000853B910509F447C0863B910509F446C0C5
+:10177000873B910509F445C0883B910509F444C0B5
+:10178000893B910509F443C08A3B910509F042C0A9
+:101790008AE296E4089580E090E0089581E890E47C
+:1017A000089582E890E4089582EE94E4089589EE25
+:1017B00094E408958AEE94E4089585EB94E4089502
+:1017C00086EB94E4089587EB94E408958CEC94E41C
+:1017D00008958DEC94E4089583E895E408958AE8EB
+:1017E00095E4089582E995E4089584E995E40895DF
+:1017F00081E296E4089583E296E4089584E296E413
+:10180000089585E296E4089586E296E4089587E2D5
+:1018100096E4089580E094E40895089596E0799F11
+:10182000F001112494E5899FE00DF11D1124E60FCC
+:10183000F11DEE0FFF1FE052FF4F85919491089527
+:10184000880F991F805A9040FC01859194910895CA
+:10185000880F991F80529F4FFC01859194910895A4
+:1018600026E0729FF001112444E5849FE00DF11DF4
+:101870001124E60FF11DEE0FFF1FE052FF4F2591DF
+:101880003491C9019A9581159F4110F4C9010895B9
+:10189000C90190528115904128F4C9019F700E949E
+:1018A000280C0895C90190538115904120F4C90175
+:1018B0009927906C0895211580E5380769F40E94F6
+:1018C000F51A9FEF24E34CE0915020404040E1F7AF
+:1018D00000C000000C948822213080E5380751F4C4
+:1018E00088E593E00E9450078091DB01816080933E
+:1018F000DB010895C90190558115904108F050C051
+:10190000832F99278F70992781309105D9F4A901E8
+:101910004370552702C0880F991F4A95E2F79C68CB
+:10192000A90164E0440F551F6A95E1F744275370FD
+:10193000842B952B73E0220F331F7A95E1F72076E5
+:1019400033271DC08230910529F4922F8827816F9B
+:10195000906A089583309105A9F4A9014370552731
+:1019600081E090E002C0880F991F4A95E2F79C68D9
+:1019700043E0220F331F4A95E1F7207E3770822B18
+:10198000932B08950497F1F4A9014370552781E042
+:1019900090E002C0880F991F4A95E2F79A68E8CF55
+:1019A000C90190578115904120F4C9019F70906240
+:1019B0000895C90190588115904120F4C9019F7084
+:1019C000906A0895203E3105E0F4203C310558F539
+:1019D0002133310509F470C048F42932310509F486
+:1019E00064C02A32310509F46EC074C02933310550
+:1019F000F1F022383105D9F02533310509F44EC014
+:101A000069C0233E310589F138F4203E3105C1F02B
+:101A1000223E3105E1F05EC0263E310569F1273EE8
+:101A20003105A9F157C0C9010E94200C0895809189
+:101A3000EE0180FD02C081FF4DC080EE90E04BC002
+:101A40008091EE0180FFF9CF89E390E044C080915E
+:101A5000EE0182FF0EC08091EE0184FF03C080E0A2
+:101A600090E039C083EE90E036C08091EE0182FFB5
+:101A7000F2CF82EE90E02FC08091EE0183FF0BC089
+:101A80008091EE0184FDEBCF87EE90E024C0809141
+:101A9000EE0183FFF5CF86EE90E01DC08091EE0150
+:101AA00085FF07C089E290E016C08091EE0185FFB6
+:101AB000F9CF85E390E00FC08091EE0186FF07C06B
+:101AC0008AE290E008C08091EE0186FFF9CF81E3C1
+:101AD00090E001C0C9010E944E0B089508958091C5
+:101AE000710108959FB7F894109260019FBF909183
+:101AF000F401943009F058C09091E9009F70209152
+:101B0000EC0020FF02C020E801C020E0292B94E077
+:101B10009093E9009091EB0090FF43C09091EE000C
+:101B200097FF3FC090915E01992321F09091E800CA
+:101B300095FF37C010925E0196E03091E80035FDC8
+:101B400015C03091F401343061F53091EB0035FD72
+:101B500028C0915021F481E080935E0122C0EFE91A
+:101B6000FFE03197F1F700C00000E7CF8093F1006C
+:101B70008091E80085FD0AC08091E80080FFFCCFDD
+:101B80008091E8008E778093E80006C08FB7F894C4
+:101B900091E0909360018FBF2F702093E90080E067
+:101BA00008952F702093E9008FEF0895CF93DF936E
+:101BB00000D01F92CDB7DEB72091F401243019F583
+:101BC00023E029839B838A832093E9008FEF909100
+:101BD000E800815095FD06C095ED9A95F1F700005B
+:101BE0008111F5CF8091E80085FF0DC040E050E005
+:101BF00063E070E0CE0101960E94A5108091E8009C
+:101C00008E778093E8000F900F900F90DF91CF9127
+:101C10000895CF93DF9300D01F92CDB7DEB7209108
+:101C2000F401243021F522E029839B838A8383E019
+:101C30008093E9008FEF9091E800815095FD06C0F8
+:101C400095ED9A95F1F700008111F5CF8091E800AC
+:101C500085FF0DC040E050E063E070E0CE010196EA
+:101C60000E94A5108091E8008E778093E8000F9085
+:101C70000F900F90DF91CF9108952091F4012430BF
+:101C8000F1F422E02093E9002FEF3091E800215099
+:101C900035FD06C035ED3A95F1F700002111F5CF7D
+:101CA0002091E80025FF0BC040E050E065E070E0C7
+:101CB0000E94A5108091E8008E778093E800089537
+:101CC000CF93DF93EC018091F401843009F047C099
+:101CD00080910C018823E1F080910D018823C1F0EF
+:101CE00085E08093E9008FEF9091E800815095FDA9
+:101CF00006C095E19A95F1F700008111F5CF80912A
+:101D0000E80085FF2CC040E050E060E170E017C0C3
+:101D100081E08093E9008FEF9091E800815095FD7C
+:101D200006C095ED9A95F1F700008111F5CF8091ED
+:101D3000E80085FF14C040E050E068E070E0CE01AC
+:101D40000E94A5108091E8008E778093E80080E1E2
+:101D5000FE01A1E6B1E001900D928A95E1F7DF91D5
+:101D6000CF9108958FE893E00E9450078091F3018E
+:101D7000811109C00E9437120E9494128091E200E2
+:101D800084608093E20008958BE893E00E945007FE
+:101D90001092F301089587E893E00C94500783E8CC
+:101DA00093E00E9450070C94492C8FE793E00E9427
+:101DB00050070E9423220E944F2C0E9430150C9441
+:101DC0006E0D80915F018F5F80935F0162E30E94DF
+:101DD000BD2D911135C010925F0180916001882363
+:101DE00079F18091F401843049F58091E9008F7098
+:101DF0009091EC0090FF02C090E801C090E0982B19
+:101E000084E08093E9008091EB0080FF14C0809112
+:101E1000EE0087FF10C08091E80085FF03C010929C
+:101E2000F100F9CF8091E80080FF05C08091E800C3
+:101E30008E778093E8009F709093E9001092600184
+:101E4000089542E061EC81E00E94B11142E061EC52
+:101E500082E00E94B11142E061EC83E00E94B11186
+:101E600042E261EC84E00E94B11142E161EC85E064
+:101E70000C94B1118091F601833009F455C030F40F
+:101E8000813071F0823009F48EC008958A3009F4EF
+:101E90007AC08B3009F460C0893009F09CC020C042
+:101EA0008091F501813A09F096C08091E800877F22
+:101EB0008093E8008091F9019091FA01892B21F03B
+:101EC00060E080E090E003C060E181E691E070E0D6
+:101ED0000E94EE108091E8008B778093E8000895CF
+:101EE0008091F501813209F076C08091F9019091DD
+:101EF000FA01009719F0049709F06DC08091E8008D
+:101F0000877F8093E8008091E80082FD05C0809182
+:101F1000F4018111F8CF5FC08091F10080937101CD
+:101F20008091E8008B7753C08091F501813A09F0E8
+:101F300052C08091F9019091FA01892B09F04BC0B0
+:101F40008091E800877F8093E8008091E80080FF1F
+:101F5000FCCF80910C0136C08091F5018132D9F51A
+:101F60008091F9019091FA01892BA9F58091E800FF
+:101F7000877F8093E8000E94E6118091F7018093AB
+:101F80000C010C94F51A8091F501813221F58091B4
+:101F9000E800877F8093E8000E94E6118091F801B5
+:101FA0008093720108958091F501813AA1F48091A6
+:101FB000E800877F8093E8008091E80080FFFCCFF5
+:101FC000809172018093F1008091E8008E77809378
+:101FD000E8000C94E611089584B7877F84BF88E1F8
+:101FE0000FB6F89480936000109260000FBE90E0EE
+:101FF00080E80FB6F89480936100909361000FBE63
+:102000000E94B9150E9437120E9494128091E2003A
+:1020100084608093E20082E79DE00E9462217894D0
+:102020000E940E150E94BB1582E091E00E942B15C4
+:102030000E94372C8EE693E00E9450078091F401B5
+:10204000853089F48AE693E00E9450070E94E621D9
+:102050008091F201882391F30E940E22882371F36C
+:102060000E948F10EBCF0E94E915E8CF292F33276C
+:1020700023303105A9F06CF42130310509F442C058
+:102080002230310509F043C08DE890E027EC33E0C1
+:1020900042C021323105C9F02232310519F137C071
+:1020A00099278130910541F08230910541F0892BCB
+:1020B00071F5E3ECF3E005C0EBEAF3E002C0E3E91D
+:1020C000F3E0849190E09F0126C0653000F5E62F93
+:1020D000F0E0EE0FFF1FEB5DFE4F2081318189E0C4
+:1020E00090E019C0653098F4E62FF0E0DF01AA0F08
+:1020F000BB1FA55EBE4F2D913C91EA5EFE4F8081D5
+:1021000090E009C082E190E024E534E004C080E082
+:1021100090E020E030E0FA0131832083089580E1EF
+:1021200089BD82E189BD09B400FEFDCF8091D80050
+:102130008F7D8093D8008091E00082608093E000E2
+:102140008091E00081FDFCCF0895CF92DF92EF9265
+:10215000FF920F931F93CF93DF937C018B01EA01D2
+:102160000E940712811131C0209731F08881998136
+:10217000081B190BE80EF91EC12CD12C01151105F5
+:1021800019F18091E80085FD14C08091E8008E77F8
+:102190008093E800209741F0888199818C0D9D1DE6
+:1021A0009983888385E011C00E940712882331F348
+:1021B0000CC0F70181917F018093F100015011095A
+:1021C000FFEFCF1ADF0ADACF80E0DF91CF911F91C6
+:1021D0000F91FF90EF90DF90CF9008952091FB0139
+:1021E0003091FC012617370748F06115710539F465
+:1021F0002091E8002E772093E80001C0B901FC018E
+:1022000020E061157105B9F18091F401882309F48A
+:1022100040C0853009F43FC08091E80083FD3DC097
+:102220008091E80082FF06C08091E80082FF26C00E
+:1022300080E008958091E80080FFE3CF2091F300D3
+:102240008091F20090E0922B6115710551F0883079
+:10225000910538F421912093F100615071090196A4
+:10226000F3CF21E0089709F020E08091E8008E7715
+:102270008093E800C6CF2111C7CFD6CF8091F4015B
+:10228000882339F0853039F08091E80083FFCCCF86
+:1022900004C082E0089583E0089581E008952091CC
+:1022A000FB013091FC012617370748F061157105D5
+:1022B00039F42091E8002E772093E80001C0B9019D
+:1022C000FC0120E061157105C1F18091F4018823C2
+:1022D00009F441C0853009F440C08091E80083FDD5
+:1022E0003EC08091E80082FF06C08091E80082FF36
+:1022F00027C080E008958091E80080FFE3CF20911F
+:10230000F3008091F20090E0922B6115710559F075
+:102310008830910540F424912093F100319661506A
+:1023200071090196F2CF21E0089709F020E0809131
+:10233000E8008E778093E800C5CF2111C6CFD5CFB6
+:102340008091F401882339F0853039F08091E800DC
+:1023500083FFCBCF04C082E0089583E0089581E03D
+:102360000895982F973058F59093E900981739F011
+:102370007091EC002091ED005091F00003C0242FEB
+:10238000762F50E021FF19C03091EB003E7F309353
+:10239000EB003091ED003D7F3093ED003091EB008C
+:1023A00031603093EB007093EC002093ED0050937C
+:1023B000F0002091EE0027FF07C09F5FD3CF8F7002
+:1023C0008093E90081E0089580E008958091F5010F
+:1023D00087FD05C08091E80080FF0EC012C080918B
+:1023E000E80082FD05C08091F4018111F8CF0895C5
+:1023F0008091E8008B7708C08091F4018111EACFC9
+:1024000008958091E8008E778093E8000895809188
+:10241000E4009091E50045E62091EC0020FF21C00A
+:102420002091E80020FD21C02091F401222389F0B1
+:10243000253089F02091EB0025FD0FC02091E400AC
+:102440003091E5002817390739F3415041F0C901AF
+:10245000E3CF82E0089583E0089581E0089584E069
+:1024600008952091E80022FFDFCF80E008950E94C8
+:10247000A5120E94AD12E0EEF0E0808181608083C1
+:10248000E8EDF0E080818F77808319BCA7EDB0E0A4
+:102490008C918E7F8C9380818F7E80831092F3014C
+:1024A00008950F931F93CF93DF930E94A5120E946C
+:1024B000AD12C8EDD0E088818F77888388818068ED
+:1024C000888388818F7D888319BC1092F4011092D3
+:1024D000F0011092F2011092F10100EE10E0F8010B
+:1024E00080818B7F808388818160888342E060E087
+:1024F00080E00E94B111E1EEF0E080818E7F808368
+:10250000E2EEF0E08081816080838081886080835A
+:10251000F80180818E7F8083888180618883DF914C
+:10252000CF911F910F910895E8EDF0E080818F7EAB
+:102530008083E7EDF0E080818160808384E082BF6A
+:1025400081E08093F3010C945112E8EDF0E080817A
+:102550008E7F80831092E20008951092DA0010922C
+:10256000E10008951F920F920FB60F9211242F933E
+:102570003F934F935F936F937F938F939F93AF930B
+:10258000BF93EF93FF938091E10082FF0BC0809196
+:10259000E20082FF07C08091E1008B7F8093E10021
+:1025A0000E94E10E8091DA0080FF1FC08091D80068
+:1025B00080FF1BC08091DA008E7F8093DA008091CB
+:1025C000D90080FF0DC080E189BD82E189BD09B4D9
+:1025D00000FEFDCF81E08093F4010E94B20E05C0A1
+:1025E00019BC1092F4010E94C40E8091E10080FF9A
+:1025F00019C08091E20080FF15C08091E2008E7FBB
+:102600008093E2008091E20080618093E2008091FB
+:10261000D80080628093D80019BC85E08093F401D3
+:102620000E94CF0E8091E10084FF30C08091E200D3
+:1026300084FF2CC080E189BD82E189BD09B400FE20
+:10264000FDCF8091D8008F7D8093D8008091E100EC
+:102650008F7E8093E1008091E2008F7E8093E20084
+:102660008091E20081608093E2008091F0018823F4
+:1026700011F084E007C08091E30087FF02C083E08F
+:1026800001C081E08093F4010E94D50E8091E100A9
+:1026900083FF29C08091E20083FF25C08091E10083
+:1026A000877F8093E10082E08093F4011092F00133
+:1026B0008091E1008E7F8093E1008091E2008E7F27
+:1026C0008093E2008091E20080618093E20042E02A
+:1026D00060E080E00E94B1118091F00088608093FA
+:1026E000F0000E94CB0EFF91EF91BF91AF919F91AF
+:1026F0008F917F916F915F914F913F912F910F90AB
+:102700000FBE0F901F9018951F920F920FB60F9249
+:1027100011242F933F934F935F936F937F938F93E6
+:102720009F93AF93BF93CF93EF93FF93C091E90033
+:10273000CF708091EC001092E9008091F000877FCB
+:102740008093F00078940E94C0131092E900809169
+:10275000F00088608093F000C093E900FF91EF9152
+:10276000CF91BF91AF919F918F917F916F915F9129
+:102770004F913F912F910F900FBE0F901F90189582
+:102780001F93CF93DF93CDB7DEB7AA970FB6F89418
+:10279000DEBF0FBECDBFE5EFF1E08091F100819388
+:1027A00021E0ED3FF207C9F70E943A0F8091E8005F
+:1027B00083FF1CC12091F5013091F601832F90E039
+:1027C0008A30910508F012C1FC01EA5AFF4F0C94BF
+:1027D000DD2D203881F0223809F008C18091F901FF
+:1027E0008F708093E9008091EB0085FB882780F94A
+:1027F0001092E90006C08091F1019091F2019111CF
+:1028000082609091E800977F9093E8008093F100B8
+:102810001092F100C5C0822F8D7F09F0E7C02223FE
+:1028200019F0223061F0E2C08091F701813009F0A7
+:10283000DDC0333009F080E08093F20128C0809140
+:10284000F701811124C02091F9012F7009F4CEC045
+:102850002093E9008091EB0080FF19C08091EB008C
+:10286000333011F4806211C080618093EB0081E00D
+:1028700090E0022E01C0880F0A94EAF78093EA00E4
+:102880001092EA008091EB0088608093EB00109238
+:10289000E9008091E800877F86C02111A7C01091D0
+:1028A000F7011F778091E3008078812B8093E3000C
+:1028B0008091E800877F8093E8000E94E611809174
+:1028C000E80080FFFCCF8091E30080688093E30004
+:1028D000112311F083E001C082E08093F40186C0EF
+:1028E0002058223008F082C08091F7019091F801C1
+:1028F0008C3D23E0920779F583E08A838AE289831D
+:102900004FB7F894DE01139620E03EE051E2E32F4A
+:10291000F0E050935700E49120FF03C0E295EF7080
+:102920003F5FEF708E2F90E0EA3010F0C79601C045
+:10293000C0968D939D932F5F243149F74FBF8091AF
+:10294000E800877F8093E8006AE270E0CE0101969C
+:102950000E94EE1014C0AE014F5F5F4F6091F9010D
+:102960000E943610009709F441C02091E800277FAB
+:102970002093E800BC0189819A810E944F118091C7
+:10298000E8008B778093E80031C0203879F580919A
+:10299000E800877F8093E8008091F0018093F10048
+:1029A0008091E8008E778093E8000E94E6111EC0B7
+:1029B00021111CC09091F7019230C0F48091E80081
+:1029C000877F8093E8009093F0010E94E611809148
+:1029D000F001811104C08091E30087FF02C084E010
+:1029E00001C081E08093F4010E94210F8091E800F2
+:1029F00083FF0AC08091E800877F8093E800809180
+:102A0000EB0080628093EB00AA960FB6F894DEBFCD
+:102A10000FBECDBFDF91CF911F910895CF938091CD
+:102A2000F4018823B1F08091E9008F709091EC005F
+:102A300090FF02C090E801C090E0C92FC82B10920F
+:102A4000E9008091E80083FD0E94C013CF70C0931D
+:102A5000E900CF91089590937801809377010895CC
+:102A6000E0917701F0917801309721F00190F081A9
+:102A7000E02D099480E00895FF920F931F93CF9368
+:102A8000DF938C01E0917701F0917801309799F113
+:102A90000280F381E02D09958091DB0182FF2BC03C
+:102AA00080FF04C089E895E00E945007E80180E1BA
+:102AB000F82E03E815E08091DB0180FF0BC08881D0
+:102AC0001F928F931F930F930E94E9070F900F900F
+:102AD0000F900F90FA942196F110EDCF8091DB01C9
+:102AE00080FF09C081E895E0DF91CF911F910F91A0
+:102AF000FF900C945007DF91CF911F910F91FF90A1
+:102B00000895E0917701F0917801309721F00480E9
+:102B1000F581E02D09940895209175013091760199
+:102B20008217930771F09093760180937501E0917D
+:102B30007701F0917801309721F00680F781E02D40
+:102B400009940895209173013091740182179307BD
+:102B500071F09093740180937301E0917701F0918B
+:102B60007801309721F00084F185E02D09940895D3
+:102B700008950C94B8150E9425220E94B9090C945E
+:102B8000EB22CF93C82F8091DB0182FF1EC080FF14
+:102B900004C082EA95E00E9450078091DB0180FF2B
+:102BA0000CC01F92CF932DE935E03F932F930E94E5
+:102BB000E9070F900F900F900F908091DB0180FF3D
+:102BC00004C08BE995E00E9450078C2FCF910C94A4
+:102BD0006E0DCF92DF92EF92FF920F931F93CF93E0
+:102BE000DF93CDB7DEB72B970FB6F894DEBF0FBEDD
+:102BF000CDBF0E94D6093AE7E32E31E0F32E00E084
+:102C000010E0C02E802F0E94010BF701D1907F01B0
+:102C1000D826B1F40F5F1F4F0E30110591F78FEFDB
+:102C200089838A831B820E942E228160782F9D8354
+:102C30008C8349815A816B818D810E948C1641C0A1
+:102C40009091DB0191FF04C08B870E94070B8B855D
+:102C500020E030E04D2D50E0922FBA01022E02C04C
+:102C6000759567950A94E2F760FF25C02E83CF82A1
+:102C7000EE24E394F12C02C0EE0CFF1C9A95E2F7CF
+:102C800090E08E219F2121E0892B09F420E0288704
+:102C90000E942E228160782F9A8789874E815F81DA
+:102CA00068858A850E948C16F801E658FE4F80815F
+:102CB0008E25808306C02F5F3F4F2630310561F699
+:102CC000A9CF0E945926109179010E94301518173A
+:102CD000A1F00E943015809379012B960FB6F894DD
+:102CE000DEBF0FBECDBFDF91CF911F910F91FF903F
+:102CF000EF90DF90CF900C94C1152B960FB6F894FF
+:102D0000DEBF0FBECDBFDF91CF911F910F91FF901E
+:102D1000EF90DF90CF900895CF93DF93CDB7DEB7DC
+:102D20002B970FB6F894DEBF0FBECDBF4F835887E9
+:102D300069877A878B87DE01119686E0FD01119203
+:102D40008A95E9F785E0FE01379601900D928A9504
+:102D5000E1F749815A816B817C818D819E810E943E
+:102D6000C11D2B960FB6F894DEBF0FBECDBFDF910D
+:102D7000CF910895CF93C82F882309F4C1C082381A
+:102D800059F40E94301581FDBBC089E30E94602088
+:102D90000E943C2189E30CC0833879F40E943015ED
+:102DA00080FDAEC083E50E9460200E943C2183E547
+:102DB0000E94B120CF910C943C21843859F40E9498
+:102DC000301582FD9DC087E40E9460200E943C2156
+:102DD00087E4EECF8CEF8C0F813A48F48C2F0E9461
+:102DE000E22A81118DC08C2F0E946020E3CF80E207
+:102DF0008C0F883048F4C77081E001C0880FCA95F5
+:102E0000EAF70E940321D6CF8BE58C0F833078F44C
+:102E1000C53A29F0C63A31F482E890E005C081E86D
+:102E200090E002C083E890E0CF910C948C1588E587
+:102E30008C0F833108F064C0C83A39F1C93A41F1C6
+:102E4000CA3A49F1CB3A51F1CC3A59F1CD3A61F154
+:102E5000C03B69F1CE3A71F1CF3A79F1C13B81F1D2
+:102E6000C23B89F1C33B91F1C43B99F1C53BA1F150
+:102E7000C63BA9F1C73BB1F1C83BB9F1C93BC1F1B0
+:102E8000CA3BC9F58AE292E038C082EE90E035C0D4
+:102E900089EE90E032C08AEE90E02FC085EB90E0A2
+:102EA0002CC086EB90E029C087EB90E026C08CEC2C
+:102EB00090E023C08DEC90E020C083E891E01DC03D
+:102EC0008AE891E01AC082E991E017C084E991E0B4
+:102ED00014C081E292E011C083E292E00EC084E26D
+:102EE00092E00BC085E292E008C086E292E005C065
+:102EF00087E292E002C080E090E0CF910C94A215AE
+:102F0000CF910895882309F44BC0823859F40E9468
+:102F1000301581FF45C089E30E9460200E943C215A
+:102F200089E30CC0833871F40E94301580FF38C0EB
+:102F300083E50E9460200E943C2183E50E94B1202D
+:102F40000C943C21843859F40E94301582FF28C02B
+:102F500087E40E9460200E943C2187E4EFCF9CEF31
+:102F6000980F913A58F390E2980F983050F4877088
+:102F700091E001C0990F8A95EAF7892F0E940921F3
+:102F8000DFCF9BE5980F933020F480E090E00C9425
+:102F90008C15885A833120F480E090E00C94A215BF
+:102FA0000895882321F00E9403210C943C21089568
+:102FB000882321F00E9409210C943C210895CF928E
+:102FC000DF92EF92FF920F931F93CF93DF93CDB7D2
+:102FD000DEB728970FB6F894DEBF0FBECDBF8C01C9
+:102FE00085E0F801DE01119601900D928A95E1F7D6
+:102FF000F80140813181F280258122952F708381F3
+:103000009481892B31F03F3F31F481E04F3F19F437
+:1030100003C081E001C080E080FDC6C249833A83DD
+:1030200089819A812F830E941E209E8388870E9417
+:103030001D200E94F01E4E81E42FE295EF70F0E01B
+:10304000E05AFF4F2F8168850C94DD2D842F807FFF
+:10305000142F1F70882311F01295107FFF2059F054
+:10306000112309F456C2812F68870E9413210E9400
+:103070003C2168854EC2862F0E948217112309F4D5
+:1030800093C2812F0E94192128960FB6F894DEBFB3
+:103090000FBECDBFDF91CF911F910F91FF90EF90A9
+:1030A000DF90CF900C943C21342F307F842F8F7091
+:1030B000303211F08295807F662319F0613019F16A
+:1030C0002CC0FF20B1F0222309F494C1213009F073
+:1030D00091C128960FB6F894DEBF0FBECDBFDF9129
+:1030E000CF911F910F91FF90EF90DF90CF900C94B4
+:1030F0002321222319F0213009F456C28E830E9425
+:1031000026218E818AC1FF2021F0263008F04CC292
+:1031100071C1253008F048C280C1FF2021F0222370
+:1031200009F468C1F6C1222309F477C106C2242F2D
+:1031300026952695237030E02115310521F02130A8
+:103140003105C9F031C2FF2021F0862F942F9370F2
+:1031500002C080E090E028960FB6F894DEBF0FBE64
+:10316000CDBFDF91CF911F910F91FF90EF90DF9036
+:10317000CF900C948C15FF2021F0862F942F937004
+:1031800002C080E090E028960FB6F894DEBF0FBE34
+:10319000CDBFDF91CF911F910F91FF90EF90DF9006
+:1031A000CF900C94A215862FFF2019F00E94DF24E7
+:1031B00002C00E94472528960FB6F894DEBF0FBEC6
+:1031C000CDBFDF91CF911F910F91FF90EF90DF90D6
+:1031D000CF900C94CC25842F837009F076C0F11029
+:1031E000E3C1262F229526952770220F220F862FC6
+:1031F0008F70C82ED12CE12CF12C022E04C0CC0CE7
+:10320000DD1CEE1CFF1C0A94D2F764FF10C06FE0B7
+:1032100070E080E090E004C0660F771F881F991F60
+:103220002A95D2F7609570958095909503C060E0DF
+:1032300070E0CB01242F269526952370422F50E075
+:1032400042305105D1F04330510559F16C297D29A7
+:103250008E299F294130510541F128960FB6F894E7
+:10326000DEBF0FBECDBFDF91CF911F910F91FF90B9
+:10327000EF90DF90CF900C94151F6C297D298E293B
+:103280009F2928960FB6F894DEBF0FBECDBFDF9101
+:10329000CF911F910F91FF90EF90DF90CF900C9402
+:1032A0002F1F0E94151FC701B60128960FB6F8946C
+:1032B000DEBF0FBECDBFDF91CF911F910F91FF9069
+:1032C000EF90DF90CF900C94FB1EFF2019F0842F1D
+:1032D000817001C08695882309F466C1262F229546
+:1032E00026952770220F220F862F8F70C82ED12C83
+:1032F000E12CF12C022E04C0CC0CDD1CEE1CFF1CBA
+:103300000A94D2F764FF10C06FE070E080E090E0B4
+:1033100004C0660F771F881F991F2A95D2F7609502
+:1033200070958095909503C060E070E0CB01242FEC
+:10333000269526952370422F50E042305105D1F05A
+:103340004330510559F16C297D298E299F2941303F
+:10335000510541F128960FB6F894DEBF0FBECDBFE0
+:10336000DF91CF911F910F91FF90EF90DF90CF9061
+:103370000C94E91F6C297D298E299F2928960FB668
+:10338000F894DEBF0FBECDBFDF91CF911F910F919B
+:10339000FF90EF90DF90CF900C9403200E94E91FE4
+:1033A000C701B60128960FB6F894DEBF0FBECDBF99
+:1033B000DF91CF911F910F91FF90EF90DF90CF9011
+:1033C0000C94CF1F603FC9F118F4603E50F49CC0CC
+:1033D000623F09F461C008F44BC0633F09F470C058
+:1033E00093C0162F1F70842F8F71FF2099F00E94B9
+:1033F000681F812F28960FB6F894DEBF0FBECDBF91
+:10340000DF91CF911F910F91FF90EF90DF90CF90C0
+:103410000C94D1170E94891F812F28960FB6F8941B
+:10342000DEBF0FBECDBFDF91CF911F910F91FF90F7
+:10343000EF90DF90CF900C94D817FF20A9F02530A3
+:1034400008F0B2C0842F8F7128960FB6F894DEBFB3
+:103450000FBECDBFDF91CF911F910F91FF90EF90E5
+:10346000DF90CF900C94AE1F263008F09DC0EACFBD
+:10347000FF20A1F0842F8F7128960FB6F894DEBF3D
+:103480000FBECDBFDF91CF911F910F91FF90EF90B5
+:10349000DF90CF900C94681FFF2061F3842F8F7111
+:1034A00028960FB6F894DEBF0FBECDBFDF91CF9147
+:1034B0001F910F91FF90EF90DF90CF900C94891F98
+:1034C000FF2091F0842F8F7128960FB6F894DEBFFD
+:1034D0000FBECDBFDF91CF911F910F91FF90EF9065
+:1034E000DF90CF900C94531F28960FB6F894DEBF50
+:1034F0000FBECDBFDF91CF911F910F91FF90EF9045
+:10350000DF90CF900C94491FFF20A1F0222309F4F3
+:10351000B1CF862F28960FB6F894DEBF0FBECDBF71
+:10352000DF91CF911F910F91FF90EF90DF90CF909F
+:103530000C94BA16222309F4B1CF862F28960FB621
+:10354000F894DEBF0FBECDBFDF91CF911F910F91D9
+:10355000FF90EF90DF90CF900C9482174F70C801CE
+:103560000E94F20728960FB6F894DEBF0FBECDBFBB
+:10357000DF91CF911F910F91FF90EF90DF90CF904F
+:103580000C946E1E4F70C80128960FB6F894DEBFDB
+:103590000FBECDBFDF91CF911F910F91FF90EF90A4
+:1035A000DF90CF900C940D0C28960FB6F894DEBFE8
+:1035B0000FBECDBFDF91CF911F910F91FF90EF9084
+:1035C000DF90CF9008950E9420210E94F5200E9454
+:1035D0003C210E94FA260E94CC2580E090E00E94C7
+:1035E0008C1580E090E00C94A2150E9410210C94A0
+:1035F000E31A0E941E20292F22952F7030E02C30D4
+:1036000031054CF42A3031056CF422503109223056
+:10361000310590F407C02C30310551F02F303105C1
+:1036200039F00AC0803E10F0803F31F481E0089507
+:1036300093FB882780F9089580E00895CF93DF9366
+:1036400000D000D01F92CDB7DEB70F900F900F9033
+:103650000F900F90DF91CF910895CF93DF9300D01B
+:1036600000D000D0CDB7DEB726960FB6F894DEBFF7
+:103670000FBECDBFDF91CF9108951F93CF93DF93FE
+:10368000C091880116E080918901C81799F0D0E0B7
+:103690001C9FF0011D9FF00D1124E657FE4F408145
+:1036A000518162817381848195810E942D1B2196B5
+:1036B000C770E9CFDF91CF911F9108954091BA0172
+:1036C0005091BB016091BC017091BD018091BE0120
+:1036D0009091BF010C942D1BCF938091BF018295D7
+:1036E0008F7009F05FC08091BC01882309F45AC033
+:1036F00020918801A09189016091BA017091BB016C
+:103700008091BD019091BE0131E06F3F09F030E042
+:10371000B32FC6E02A1709F445C0009721F07F3F78
+:1037200021F44B2F03C041E001C040E030E040FDF8
+:1037300035C0C29FF001C39FF00D1124E657FE4F24
+:10374000418174132BC04081641328C04281411110
+:1037500025C0438154814817590710F4415051093D
+:10376000481B590B483C5105C8F48091BF018F702C
+:1037700080618093BF0186E0829FF001839FF00DFE
+:103780001124E157FE4F80818F70806180838AEB26
+:1037900091E00E94DF17CF910C943D1B2F5F3F4FAC
+:1037A0002770B8CFCF910895CF92DF92EF92FF921A
+:1037B0000F931F93CF93DF93CDB7DEB762970FB60A
+:1037C000F894DEBF0FBECDBF8C0185E0F801DE01AD
+:1037D0001D9601900D928A95E1F7D8014C911196B2
+:1037E0005C91119712966C9112971396ED90FC9044
+:1037F00014977091BA01E091BB012091BD01309105
+:10380000BE012115310531F0EF3F31F481E07F3FFA
+:1038100019F403C081E001C080E0B82FB170CB2E55
+:1038200080FD6CC1D090BC01DD2009F4F5C0F091A1
+:10383000BF01E216F30638F0C701821B930B883CE8
+:10384000910548F09BC0209530952E0D3F1D283CDA
+:10385000310508F093C08F2F807F09F052C0E51327
+:1038600014C0741312C0D62E61110FC0FF70F06126
+:10387000F093BF010E945E1B8AEB91E00E94DF176C
+:103880008091BF01F80185836CC1EF2831F05F3F63
+:1038900031F481E04F3F19F403C081E001C080E0C2
+:1038A00080FD03C081E0862701C080E0F82FF17021
+:1038B000FF2E80FF1CC0809188012091890136E095
+:1038C000821709F428C190E0389FF001399FF00D6C
+:1038D0001124E657FE4F7181571306C070814713BC
+:1038E00003C07281671303C001968770E9CFD62E9B
+:1038F000662309F436C18091BF0181608093BF01C6
+:1039000053C0E51308C0741306C0611104C0D80188
+:103910001596FC93AEC04D875E878D859E856A8B1C
+:103920000E94F91A6A89882329F1D62E662311F19B
+:103930002091BF01822F82958F7090E002970CF446
+:1039400060C08091BA019091BB0198878F831986DE
+:10395000FB86EA862C87CE01079651C0E51731F128
+:103960004D875E878D859E856A8B0E94F91A6A89CC
+:1039700081112EC0C8010E94DF17A4C08F2F807F45
+:1039800069F77E2DF98AE88A89890E941E1B8AEBD5
+:1039900091E00E94DF17EAEBF1E086E0DF011D9283
+:1039A0008A95E9F70E945E1BD12CDBC07413D8CF37
+:1039B0006111D6CFD8011596FC93C8010E94DF177C
+:1039C000EAEBF1E086E0DF011D928A95E9F7C9C0D4
+:1039D000D62E662379F22091BF01822F82958F70B7
+:1039E00090E0029774F08091BA019091BB019A83A4
+:1039F00089831B82FD82EC822E83CE0101960E9478
+:103A0000DF1786E0F801AAEBB1E001900D928A95EC
+:103A1000E1F70E946C1B6FC0E216F30628F0C701A5
+:103A2000821B930B9C0104C0209530952E0D3F1DE9
+:103A3000283C310508F052C0D62E662309F49ACFEF
+:103A4000E5132CC074132AC08091BF0180FD1DC0F6
+:103A5000982F92959F70C9F0D80115968C93159761
+:103A60009F3039F09F5F9295907F8F70892B1596CC
+:103A70008C93C8010E94DF1786E0F801AAEBB1E041
+:103A800001900D928A95E1F736C086E0F801AAEB25
+:103A9000B1E001900D928A95E1F763C04D875E8792
+:103AA0008D859E850E94F91A882379F086E0F801B9
+:103AB000AAEBB1E001900D928A95E1F70E946C1B90
+:103AC0000E945E1BDD24D3944CC08091BF018160B5
+:103AD0008093BF01C8010E94DF1743C07E2DF98A81
+:103AE000E88A89890E941E1BEAEBF1E086E0DF018B
+:103AF0001D928A95E9F70E945E1B33C0662309F484
+:103B000039CF4D875E878D859E850E94F91A88235F
+:103B100009F430CFCBCF4D875E878D859E850E947F
+:103B20001E20292F22952F7030E0223031052CF4F1
+:103B30009F7041F0811106C00CC0243031052CF477
+:103B40009F7049F4805E883020F0C8010E94DF1722
+:103B5000CF2CDC2C06C0D80115969C91907F91F754
+:103B6000F8CF8D2D62960FB6F894DEBF0FBECDBF95
+:103B7000DF91CF911F910F91FF90EF90DF90CF9049
+:103B800008951F93CF93DF93CDB7DEB72C970FB671
+:103B9000F894DEBF0FBECDBF4F83588769877A8701
+:103BA0008B879C87CE0107960E94D41B8823C1F087
+:103BB0002F8138858A859B85892B31F03F3F11F015
+:103BC00080E003C02F3FE1F781E0811147C04F81C2
+:103BD000588569857A858B859C850E942D1B3EC002
+:103BE00086E0FE013796DE01119601900D928A95CE
+:103BF000E1F7FF81E8854A855B854115510531F084
+:103C0000EF3F31F481E0FF3F19F403C081E001C0D0
+:103C100080E080FD23C02091890130E0C901019638
+:103C2000877099276091880170E086179707F1F1F6
+:103C3000F983EA835D834C8396E0929FD001939F42
+:103C4000B00D1124A657BE4FFE01319601900D9282
+:103C50009A95E1F7809389010E943D1B16E08091BF
+:103C6000880190918901891779F1189FC001112469
+:103C700086579E4F0E94D41B882331F1E091880122
+:103C80001E9FF0011124E657FE4F40815181628151
+:103C90007381848195810E942D1B8091880190E021
+:103CA00001968770992780938801D9CF0E94F51AD1
+:103CB0001092890110928801EAEBF1E086E0DF01C1
+:103CC0001D928A95E9F7CACF2C960FB6F894DEBFFD
+:103CD0000FBECDBFDF91CF911F910895EF92FF925C
+:103CE0000F931F93CF93DF939C01009709F471C04A
+:103CF000F12CEE24E394E9012196F90184918437B3
+:103D000040F4843008F056C0813081F0823021F1D7
+:103D100060C0853709F449C0C0F19CE7980F90371F
+:103D200008F057C08F770E94821746C089010E5F46
+:103D30001F4FFE01849190E2980F983050F48770E5
+:103D4000FE2D01C0FF0F8A95EAF78F2F0E941321E5
+:103D500015C00E94BA1614C089010E5F1F4FFE01E4
+:103D6000849190E2980F983068F48770FE2D01C01E
+:103D7000FF0F8A95EAF78F2F0E9419210E943C219C
+:103D8000E8011AC00E948217FBCF2E5F3F4FFE0151
+:103D9000C491CC2341F08FE99FE00197F1F700C077
+:103DA0000000C150F6CFE90107C0FE01F490E9011F
+:103DB000229602C00E94BA168F2D882341F0EFE9A7
+:103DC000FFE03197F1F700C000008150F6CF9E016F
+:103DD00092CFDF91CF911F910F91FF90EF900895B7
+:103DE00008956093C4017093C5018093C6019093B8
+:103DF000C7010C94E31A0F931F930091C401109113
+:103E0000C5012091C6013091C701062B172B282B25
+:103E1000392B0093C4011093C5012093C601309340
+:103E2000C7011F910F910C94E31A0F931F930091F8
+:103E3000C4011091C5012091C6013091C70106232C
+:103E40001723282339230093C4011093C50120931D
+:103E5000C6013093C7011F910F910C94E31A0F9381
+:103E60001F930091C4011091C5012091C6013091AA
+:103E7000C70106271727282739270093C401109365
+:103E8000C5012093C6013093C7011F910F910C9477
+:103E9000E31A1092C0011092C1011092C201109257
+:103EA000C3010C94E31A41E050E060E070E004C00C
+:103EB000440F551F661F771F8A95D2F74093C001A4
+:103EC0005093C1016093C2017093C3010C94E31A33
+:103ED00041E050E060E070E004C0440F551F661FF1
+:103EE000771F8A95D2F78091C0019091C101A0916E
+:103EF000C201B091C301842B952BA62BB72B8093C5
+:103F0000C0019093C101A093C201B093C3010C946E
+:103F1000E31A41E050E060E070E004C0440F551F38
+:103F2000661F771F8A95D2F74095509560957095DA
+:103F30008091C0019091C101A091C201B091C301D3
+:103F400084239523A623B7238093C0019093C101B6
+:103F5000A093C201B093C3010C94E31A41E050E076
+:103F600060E070E004C0440F551F661F771F8A95FC
+:103F7000D2F78091C0019091C101A091C201B0918E
+:103F8000C30184279527A627B7278093C001909364
+:103F9000C101A093C201B093C3010C94E31A0F9323
+:103FA0001F930091C0011091C1012091C201309175
+:103FB000C301062B172B282B392B0093C00110931C
+:103FC000C1012093C2013093C3011F910F910C9442
+:103FD000E31A0F931F930091C0011091C10120912A
+:103FE000C2013091C30106231723282339230093EC
+:103FF000C0011093C1012093C2013093C3011F91EE
+:104000000F910C94E31A0F931F930091C00110912C
+:10401000C1012091C2013091C3010627172728272B
+:1040200039270093C0011093C1012093C20130933E
+:10403000C3011F910F910C94E31A0895CF92DF9260
+:10404000EF92FF920F931F93CF93DF93EC01C090F9
+:10405000C401D090C501E090C601F090C7018091E5
+:10406000C0019091C101A091C201B091C301C82AC1
+:10407000D92AEA2AFB2A0FE110E0B701A601002E97
+:1040800004C076956795579547950A94D2F740FFF7
+:1040900007C0BE01802F0E94300C8130910539F499
+:1040A0000150110950F7BE0180E00E94300CDF91F1
+:1040B000CF911F910F91FF90EF90DF90CF900895D7
+:1040C00090910C01992361F190910D01992341F197
+:1040D000982F9695969596959F3088F4E0910E01CD
+:1040E000F0910F01E90FF11D877021E030E001C070
+:1040F000220F8A95EAF78181822B8183089590911E
+:10410000DB0190FF2DC01F928F9383ED95E09F936D
+:104110008F930E94E9070F900F900F900F900895D2
+:1041200040910E0150910F0120E030E09FEFFA0125
+:10413000E20FF31F6281681799F09F3F19F4611134
+:1041400001C0922F2F5F3F4F2E30310581F79F3FE7
+:1041500039F0FA01E90FF11D97FDFA958283089570
+:10416000089590910C01992369F190910D01992383
+:1041700049F1982F9695969596959F3090F4E091F9
+:104180000E01F0910F01E90FF11D877021E030E081
+:1041900001C0220F8A95EAF7209581812823218387
+:1041A00008959091DB0190FF1FC01F928F9385EBC4
+:1041B00095E09F938F930E94E9070F900F900F90C7
+:1041C0000F90089540910E0150910F0120E030E0D2
+:1041D000FA01E20FF31F9281981301C012822F5F40
+:1041E0003F4F2E303105A1F7089581E090E0E09136
+:1041F0000E01F0910F01E80FF91F10820196803136
+:104200009105A9F708959091DA01982B9093DA011E
+:10421000089580959091DA0198239093DA0108959A
+:104220001092DA0108959091D901982B9093D901B9
+:10423000089580959091D90198239093D90108957C
+:104240001092D90108958093C80108951092C80171
+:10425000089540910E0150910F0120E030E080E080
+:10426000FA01E20FF31F918191118F5F2F5F3F4F92
+:104270002F303105A9F70895E0910E01F0910F015B
+:104280008091DA018083E0910E01F0910F0180812D
+:104290009091D901892B80839091C801992361F075
+:1042A000E0910E01F0910F018081892B80830E94A3
+:1042B000292181111092C80180910E0190910F0166
+:1042C0000C943C1590933B0180933A010895CF9252
+:1042D000DF92EF92FF920F931F936C01EE24FF2465
+:1042E000C114D104E104F10421F46B017C0180E0EC
+:1042F00001C080E133272F2D1E2D0D2D0115110535
+:104300002105310519F0885F68017901970186015F
+:10431000A4E03695279517950795AA95D1F701152D
+:1043200011052105310519F08C5F680179019701AC
+:104330008601F2E03695279517950795FA95D1F7FE
+:10434000011511052105310519F08E5F680179010C
+:10435000B701A6017695679557954795452B462B4E
+:10436000472B09F08F5F1F910F91FF90EF90DF9027
+:10437000CF9008958295982F9C7C969596958373FF
+:1043800044E0849F90011124922B892F8A7A86958C
+:104390009575990F892B08951F93CF93DF931F92E3
+:1043A000CDB7DEB799830E94BA21182F9981892F42
+:1043B0000E94BA21212F30E0322F2227A901482B59
+:1043C000CA010F90DF91CF911F9108958091F40160
+:1043D000843009F11092DC0120E488E190E00FB60E
+:1043E000F894A895809360000FBE2093600083B777
+:1043F000817F846083BF83B7816083BF7894889511
+:1044000083B78E7F83BF88E10FB6F89480936000F6
+:10441000109260000FBE089508950895CF930E94F2
+:104420000C220E94D6090E940D22C0E08C2F0E940F
+:10443000010B811105C0CF5FCE30C1F780E001C014
+:1044400081E0CF9108950C94F51A82E084BD93E049
+:1044500095BD9AEF97BD80936E0008952FB7F8949D
+:104460008091DD019091DE01A091DF01B091E0012A
+:104470002FBF0895CF92DF92EF92FF920F931F9379
+:104480002FB7F8944091DD015091DE016091DF017A
+:104490007091E0012FBF6A017B01EE24FF248C01A3
+:1044A00020E030E0C016D106E206F30610F44150D9
+:1044B0005109481B590BCA011F910F91FF90EF90B2
+:1044C000DF90CF9008951F920F920FB60F92112494
+:1044D0008F939F93AF93BF938091DD019091DE0105
+:1044E000A091DF01B091E0010196A11DB11D809363
+:1044F000DD019093DE01A093DF01B093E001BF9155
+:10450000AF919F918F910F900FBE0F901F901895B4
+:104510000E943712F8942FEF87EA91E621508040ED
+:104520009040E1F700C0000087E090EBDC01809351
+:10453000FD019093FE01A093FF01B09300022CE0D7
+:1045400088E190E00FB6F894A895809360000FBEC4
+:1045500020936000FFCFEF92FF920F931F93CF93B2
+:10456000DF93E82EF12C8F2D0E94010BC0E0D0E0EC
+:10457000082F10E098010C2E02C0359527950A945B
+:10458000E2F720FD05C02196C630D10599F709C094
+:104590006C2F7F2D80E00E940E0CE812F4CF81E09A
+:1045A00005C0F3948EE0F812DECF80E0DF91CF916A
+:1045B0001F910F91FF90EF900895CF93C82F8CE239
+:1045C0000E94AB22882321F08C2FCF910C94AB2238
+:1045D00080E0CF910895CF930E943824811102C0CA
+:1045E0000E941E2488EF95E00E945007C5E6C15046
+:1045F00049F00E94D6098FE39CE90197F1F700C0CA
+:104600000000F5CF81EF95E00E94500789E20E94FB
+:10461000DD22811111C18AE20E94DD2281110E94F6
+:104620001E2485E00E94DD2281110E9488220E94C2
+:1046300043248093DB0187E00E94DD22882399F1E7
+:104640008BE10E94DD22882351F09091DB0191FBE8
+:10465000882780F921E0822780FB91F922C08EE033
+:104660000E94DD22882351F09091DB0192FB882784
+:1046700080F921E0822780FB92F913C080E10E943B
+:10468000DD229091DB01882341F093FB882780F99C
+:1046900021E0822780FB93F904C0892F809580FB5D
+:1046A00090F99093DB018091DB010E9447240E94E6
+:1046B00055248093EE0180EE0E94DD22882341F094
+:1046C0008091EE01982F909590FB80F98093EE01F8
+:1046D00089E30E94DD22882359F09091EE0191FB3D
+:1046E000882780F921E0822780FB91F99093EE01E1
+:1046F00082EE0E94DD22882359F09091EE0192FB18
+:10470000882780F921E0822780FB92F99093EE01BF
+:1047100086EE0E94DD22882359F09091EE0193FBF2
+:10472000882780F921E0822780FB93F99093EE019E
+:1047300083EE0E94DD22882359F09091EE0194FBD4
+:10474000882780F921E0822780FB94F99093EE017D
+:1047500085E30E94DD22882359F09091EE0195FBBC
+:10476000882780F921E0822780FB95F99093EE015C
+:1047700081E30E94DD22882359F09091EE0196FB9F
+:10478000882780F921E0822780FB96F99093EE013B
+:1047900081E10E94DD22882359F09091EE0197FB80
+:1047A000882780F921E0822780FB97F99093EE011A
+:1047B0008091EE010E9459248091EE0187FB8827A9
+:1047C00080F980930D0187E20E94DD22C82F8EE1DF
+:1047D0000E94DD228111C2608FE10E94DD228111E1
+:1047E000C46080E20E94DD228111C86081E20E94E3
+:1047F000DD228111C06182E20E94DD228111C0624E
+:1048000083E20E94DD228111C06484E20E94DD22E5
+:10481000882311F0C06802C0CC2329F08C2F0E949D
+:1048200050246C2F03C00E944C24682F70E080E05D
+:1048300090E0CF910C94F11ECF9108956DEE7EEF34
+:1048400080E090E00E94132E60E082E090E00E9401
+:10485000052E60E083E090E00E94052E60E084E099
+:1048600090E00E94052E60E085E090E00C94052E1B
+:1048700080E090E00E94FF2D21E08D3E9E4F09F0E8
+:1048800020E0822F089582E090E00C94F72D682FAD
+:1048900082E090E00C94052E83E090E00C94F72DDC
+:1048A000682F83E090E00C94052E84E090E00C9457
+:1048B000F72D682F84E090E00C94052E8091E301A1
+:1048C00080FF0BC06091130185E0689FB001112447
+:1048D00075956795759567952AC081FF09C06091A8
+:1048E000130185E0689FB0011124759567951FC07D
+:1048F00082FF07C06091130185E0689FB001112419
+:1049000016C04091E4014423C9F06091120146179A
+:1049100088F72091130185E0289F90011124429F80
+:10492000C001439F900D112470E00E94C92D603892
+:10493000710540F46115710539F002C065E070E061
+:10494000862F08958FE7089581E008958091E3010F
+:1049500080FF08C06091110170E0759567957595AD
+:10496000679521C081FF06C06091110170E07595C7
+:10497000679519C082FF04C06091110170E010C0FA
+:104980008091E4018823C1F0609110018617A0F79F
+:1049900090911101989FC001112470E00E94C92DCF
+:1049A0006038710528F46115710521F0862F08958E
+:1049B0008FE7089581E0089561E070E0F4CF803FD3
+:1049C00021F40E945E24819504C0813F29F40E9455
+:1049D0005E248093E7010895823F21F40E945E24C3
+:1049E000819504C0833F29F40E945E248093E601F0
+:1049F0000895893F19F40E94A62405C08A3F31F426
+:104A00000E94A62481958093E80108958B3F21F4AC
+:104A10000E94A624819504C08C3F29F40E94A624FC
+:104A20008093E9010895843F21F48091E50181603C
+:104A300017C0853F21F48091E501826011C0863F57
+:104A400021F48091E50184600BC0873F21F48091BF
+:104A5000E501886005C0883F31F48091E5018061FF
+:104A60008093E50108958D3F21F48091E3018160F9
+:104A70000BC08E3F21F48091E301826005C08F3F1F
+:104A800029F48091E30184608093E3010895803FDD
+:104A900039F48091E70187FF6CC01092E70169C08B
+:104AA000813F29F48091E7011816BCF362C0909110
+:104AB000E601823F29F497FF5CC01092E60159C0DD
+:104AC000833F19F41916CCF354C0893F41F4809107
+:104AD000E80118160CF04DC01092E8014AC08A3F58
+:104AE00029F48091E80187FF44C0F6CF8B3F39F469
+:104AF0008091E90187FF3DC01092E9013AC08C3FE7
+:104B000029F48091E9011816BCF333C0843F21F4E5
+:104B10008091E5018E7F17C0853F21F48091E501EA
+:104B20008D7F11C0863F21F48091E5018B7F0BC002
+:104B3000873F21F48091E501877F05C0883F31F4EC
+:104B40008091E5018F7E8093E50113C08D3F21F4B4
+:104B50008091E3018E7F0BC08E3F21F48091E301B1
+:104B60008D7F05C08F3F29F48091E3018B7F809377
+:104B7000E3018091E60181110EC08091E70181116E
+:104B80000AC08091E801811106C08091E90181117C
+:104B900002C01092E40108958091DB0183FF7EC082
+:104BA00084E396E00E9450078091E5011F928F9365
+:104BB0008FE296E09F938F930E94E9078DE296E043
+:104BC0000E9450072091E601822F992787FD90953A
+:104BD0009F932F938AE296E09F938F930E94E90719
+:104BE00088E296E00E9450072091E701822F9927E2
+:104BF00087FD90959F932F9385E296E09F938F93E7
+:104C00000E94E90783E296E00E9450072091E801A4
+:104C1000822F992787FD90959F932F9380E296E0AE
+:104C20009F938F930E94E9078EE196E00E945007C0
+:104C30002091E901822F992787FD90959F932F93CB
+:104C40008BE196E09F938F930E94E90788E196E0BD
+:104C50000E9450078091E4011F928F9385E196E0B6
+:104C60009F938F930E94E90783E196E00E9450078B
+:104C70008091E3011F928F9380E196E09F938F9341
+:104C80000E94E9078DE096E00E9450078DB79EB71D
+:104C90004C960FB6F8949EBF0FBE8DBF85EE91E087
+:104CA0000E9481150E942E229093E2018093E101DF
+:104CB00008951F93CF93DF938091E1019091E201DA
+:104CC0000E943A224091E401442321F020911401F2
+:104CD00030E006C0209115015AE0259F9001112473
+:104CE0008217930708F482C08091E6011091E701D2
+:104CF000D091E801C091E901811107C0111105C0EF
+:104D0000D11103C0CC2309F471C04F3F19F04F5F9C
+:104D10004093E401181624F40E945E248093E60177
+:104D20008091E60187FF05C00E945E2481958093F3
+:104D3000E601111624F40E945E248093E70180911D
+:104D4000E70187FF05C00E945E2481958093E701FB
+:104D50006091E601662339F11091E701112319F101
+:104D6000772767FD7095872F972F0E94CE2C23E31E
+:104D700033E343E35FE30E94322D0E949B2C609358
+:104D8000E601612F772767FD7095872F972F0E9487
+:104D9000CE2C23E333E343E35FE30E94322D0E94F2
+:104DA0009B2C6093E7011D1624F40E94A624809397
+:104DB000E8018091E80187FF05C00E94A624819543
+:104DC0008093E8011C1624F40E94A6248093E90134
+:104DD0008091E90187FF05C00E94A62481958093F8
+:104DE000E901DF91CF911F910C94CC25DF91CF91F8
+:104DF0001F910895E5EEF1E085E0DF011D928A95AF
+:104E0000E9F71092E4011092E301089587E598E034
+:104E10000E9450071F9281E08F931F9285E08F932D
+:104E200089E098E09F938F930E94E9070F900F907D
+:104E30000F900F900F900F9008958330E9F128F4B0
+:104E4000813061F0823009F10895853009F462C043
+:104E500008F449C0863009F474C008952091150102
+:104E6000862F90E0820F911D8F3F910520F4620FF5
+:104E70006093150103C08FEF809315018091150198
+:104E80001F928F9382E497E072C020911401862FC5
+:104E900090E0820F911D8F3F910520F4620F609387
+:104EA000140103C08FEF80931401809114011F92AD
+:104EB0008F9380E397E05BC020911301862F90E0F1
+:104EC000820F911D8F3F910520F4620F60931301B3
+:104ED00003C08FEF80931301809113011F928F9372
+:104EE0008DE197E044C020911201862F90E0820F5F
+:104EF000911D8F3F910520F4620F6093120103C052
+:104F00008FEF80931201809112011F928F9388E09E
+:104F100097E02DC020911101862F90E0820F911D06
+:104F20008F3F910520F4620F6093110103C08FEF52
+:104F300080931101809111011F928F938FEE96E063
+:104F400016C020911001862F90E0820F911D8F3F97
+:104F5000910520F4620F6093100103C08FEF8093DE
+:104F60001001809110011F928F9384ED96E09F9322
+:104F70008F930E94E9070F900F900F900F90089564
+:104F8000833081F128F4813059F08230D1F00895D6
+:104F9000853009F449C0B8F1863009F456C0089547
+:104FA00080911501681720F4861B8093150102C0BB
+:104FB00010921501809115011F928F9385EC96E058
+:104FC00054C080911401681720F4861B809314014B
+:104FD00002C010921401809114011F928F9383EBF1
+:104FE00096E043C080911301681720F4861B8093DC
+:104FF000130102C010921301809113011F928F932D
+:1050000080EA96E032C080911201681720F4861B76
+:105010008093120102C010921201809112011F921E
+:105020008F938BE896E021C080911101681720F4DE
+:10503000861B8093110102C0109211018091110111
+:105040001F928F9382E796E010C08091100168173D
+:1050500020F4861B8093100102C0109210018091F1
+:1050600010011F928F9387E596E09F938F930E9484
+:10507000E9070F900F900F900F900895CF93C82FCE
+:105080001F928F932CE539E03F932F930E94E907FD
+:1050900061E070E080E090E004C0660F771F881F39
+:1050A000991FCA95D2F70E94F11E0F900F900F9092
+:1050B0000F90CF910C94F51ACF938D3109F465C000
+:1050C000B0F58E3009F4CBC100F5873009F49BC1EF
+:1050D000A8F4863009F06AC28091DB01817F8E7F5F
+:1050E0008093DB0181E699E00E9450078DE99DE005
+:1050F0000E94500781E08093EB0180C1883009F461
+:105100004FC08B3009F47CC151C2863109F4EDC126
+:1051100038F4803109F4B6C1813109F42DC246C298
+:10512000893109F4CBC18B3109F486C13FC2853383
+:1051300009F434C248F4873209F430C208F430C2AA
+:10514000893209F42BC232C2833438F48A3308F02E
+:1051500029C2883309F454C129C2833409F41EC218
+:10516000883409F023C20E94F51A8CE89DE00E9461
+:1051700050079FEF23ED80E3915020408040E1F7FE
+:1051800000C000000E94882239C18CEA9DE00E9484
+:1051900050070E94552C0E9430150E946E0D2EC1A2
+:1051A00081EA9DE00E94500782E79BE00E94500741
+:1051B0000E944C241F928F938FE69BE09F938F93C6
+:1051C0000E94E9078DE69BE00E9450070E9443245D
+:1051D000C82F8AE59BE00E9450071F92CF9325E5D8
+:1051E0003BE03F932F930E94E90783E59BE00E94F9
+:1051F000500789E49BE00E9450078C2F81701F921A
+:105200008F9326E43BE03F932F930E94E90784E4C9
+:105210009BE00E9450078AE39BE00E945007C1FB7D
+:10522000882780F91F928F9327E33BE03F932F93CA
+:105230000E94E90785E39BE00E94500789E29BE01A
+:105240000E945007C2FB882780F91F928F9326E2A5
+:105250003BE03F932F930E94E90784E29BE00E948A
+:1052600050078BE19BE00E945007C3FBCC27C0F99D
+:105270001F92CF9388E19BE09F938F930E94E90751
+:1052800086E19BE00E9450070E945524C82F82E0CF
+:105290009BE00E9450071F92CF932DEF3AE03F937F
+:1052A0002F930E94E9078BEF9AE00E94500782EE4D
+:1052B0009AE00E9450078C2F81701F928F932FEDE0
+:1052C0003AE03F932F930E94E9078DB79EB78096EF
+:1052D0000FB6F8949EBF0FBE8DBF8DED9AE00E9471
+:1052E000500786EC9AE00E945007C1FB882780F99E
+:1052F0001F928F9323EC3AE03F932F930E94E9078C
+:1053000081EC9AE00E9450078FEA9AE00E945007D1
+:10531000C2FB882780F91F928F932CEA3AE03F93D3
+:105320002F930E94E9078AEA9AE00E94500788E9D1
+:105330009AE00E945007C3FB882780F91F928F9341
+:1053400025E93AE03F932F930E94E90783E99AE029
+:105350000E94500789E89AE00E945007C4FB882702
+:1053600080F91F928F9326E83AE03F932F930E9493
+:10537000E90784E89AE00E94500782E79AE00E94D9
+:105380005007C5FB882780F91F928F932FE63AE0DC
+:105390003F932F930E94E9078DE69AE00E94500701
+:1053A00081E59AE00E945007C6FB882780F91F928A
+:1053B0008F932EE43AE03F932F930E94E9078CE409
+:1053C0009AE00E94500784E49AE00E945007C7FBCD
+:1053D000CC27C0F91F92CF9381E49AE09F938F93DB
+:1053E0000E94E9078FE39AE00E9450078DB79EB7AD
+:1053F0004C960FB6F8949EBF0FBE8DBFC1E0DBC0C8
+:1054000088E899E058C08091DB01C82FC17080FF07
+:1054100009C08FE79DE00E9450078091DB01817FEA
+:105420008E7F44C083E79DE00E9450078091DB019E
+:1054300081608093DB01E2CF8091DB0181FBCC278F
+:10544000C0F991E0C927C0FB81F98093DB01CC232F
+:1054500019F086E69DE025C088E59DE02CC080918E
+:10546000DB0182FBCC27C0F991E0C927C0FB82F9A0
+:105470008093DB01CC2319F089E49DE012C089E31D
+:105480009DE019C08091DB0183FBCC27C0F991E03E
+:10549000C927C0FB83F98093DB01CC2351F08DE257
+:1054A0009DE00E9450078091DB0181608093DB01C9
+:1054B00082C080E29DE00E945007A0CF81E19DE084
+:1054C0000E94500785EE9CE00E94500788EA9CE00D
+:1054D0000E94500781E89CE00E9450078DE39CE009
+:1054E0000E94500782E19CE0E6CF84E09CE00E94AD
+:1054F00050070E9430151F928F938AEE9BE09F9376
+:105500008F930E94E90780910C011F928F9383ED86
+:105510009BE09F938F930E94E907809172011F92F5
+:105520008F9380EC9BE09F938F930E94E90780917B
+:105530000D011F928F938DEA9BE09F938F930E94A2
+:10554000E9078091DD019091DE01A091DF01B0912A
+:10555000E001BF93AF939F938F9389E99BE09F9363
+:105560008F930E94E9078DB79EB746960FB6F894C1
+:105570009EBF0FBE8DBF42CF0E94F51AC0910D0194
+:1055800081E0C827C0930D01CC2329F08FE89BE070
+:105590000E94500710C084E89BE08DCF80E003C0DC
+:1055A0008D5101C089530E943E2828CF82E89BE09C
+:1055B0000E945007C0E08C2FCF91089580E008959D
+:1055C00080E00895CF93C82F8091EB01813081F066
+:1055D00020F0823009F44CC042C1A0910E01B0917C
+:1055E0000F018C91813169F0823209F03AC109C012
+:1055F000A0910E01B0910F018C91813111F0823296
+:1056000049F48C2F0E94DE2A81112FC08C2F0E941A
+:105610005C282CC08C2F0E94E02A811126C0C43146
+:10562000E1F070F4CB3081F0C031D1F40E94062754
+:1056300084E599E00E94500782E08093EB0115C059
+:10564000C93259F0C83361F481E699E00E945007ED
+:1056500088E599E00E94500708C01092EB0103C151
+:1056600082E599E00E945007FEC081E08170FDC094
+:10567000C43220F5CE3108F0C0C0CB3099F1C8F467
+:10568000C73009F0D2C08AE08093150194E190936D
+:10569000140193E0909313018093120188E08093AA
+:1056A000110188E28093100188EF97E00E94500773
+:1056B000BFC0C33149F1C431C1F0B7C0CB3409F424
+:1056C000A9C028F4C93289F0C83361F0AEC0C13531
+:1056D00009F49EC0C23509F499C0CE3409F0A5C0C2
+:1056E0006AE09EC00E940627A3C08091EA01882339
+:1056F00019F01092EA019CC085E098E00E945007E2
+:1057000081E08093EB01B1C08FED97E00E945007DC
+:105710008DEC97E00E945007809115011F928F93A6
+:105720008AEC97E09F938F930E94E90788EC97E0BB
+:105730000E94500786EB97E00E9450078091140169
+:105740001F928F9383EB97E09F938F930E94E907BB
+:1057500081EB97E00E94500782EA97E00E94500791
+:10576000809113011F928F938FE997E09F938F93FE
+:105770000E94E9078DE997E00E9450078CE897E0C6
+:105780000E945007809112011F928F9389E897E041
+:105790009F938F930E94E90787E897E00E94500744
+:1057A00082E797E00E945007809111011F928F932A
+:1057B0008FE697E09F938F930E94E9078DE697E02D
+:1057C0000E94500786E597E00E94500780911001E3
+:1057D0001F928F9383E597E09F938F930E94E90731
+:1057E00081E597E00E9450078DB79EB748960FB6A7
+:1057F000F8949EBF0FBE8DBF1BC0CE51EC2FF0E0C2
+:10580000E15DFE4F80818093EA0112C061E003C038
+:1058100061E006C06AE08091EA010E941D2708C08D
+:105820008091EA010E94C02703C086EF97E013C071
+:105830008091EA01882369F01F928F9380EF97E0AF
+:105840009F938F930E94E9070F900F900F900F90F6
+:1058500004C08DEE97E00E94500781E006C01092D0
+:10586000EB0180E002C080E001CFCF910895E1E834
+:10587000F0E08081886080838081816080838FB741
+:10588000F89493E09093890090ED909388008FBFF7
+:105890000895EFE6F0E08081826080830895EFE66E
+:1058A000F0E080818D7F80830895EFE6F0E08081D5
+:1058B00092E08927808308951F920F920FB60F926E
+:1058C00011242F933F934F935F936F937F938F9305
+:1058D0009F93AF93BF93EF93FF938091EC019091CF
+:1058E000ED0101969093ED018093EC01811103C0CD
+:1058F00082E00E946E0DE091ED01E695E695F0E004
+:10590000E454F24FE4918091EC018E1303C080E0E7
+:105910000E946E0DFF91EF91BF91AF919F918F917A
+:105920007F916F915F914F913F912F910F900FBE9B
+:105930000F901F90189504D06894B1118DC00895F0
+:1059400070D088F09F5790F0B92F9927B751A0F0E9
+:10595000D1F0660F771F881F991F1AF0BA95C9F703
+:1059600012C0B13081F077D0B1E0089574C0672FD4
+:10597000782F8827B85F39F0B93FCCF386957795B3
+:105980006795B395D9F73EF490958095709561959C
+:105990007F4F8F4F9F4F0895E89409C097FB3EF4C7
+:1059A00090958095709561957F4F8F4F9F4F99236C
+:1059B000A9F0F92F96E9BB279395F69587957795EA
+:1059C0006795B795F111F8CFFAF4BB0F11F460FFAA
+:1059D0001BC06F5F7F4F8F4F9F4F16C0882311F002
+:1059E00096E911C0772321F09EE8872F762F05C016
+:1059F000662371F096E8862F70E060E02AF09A95B1
+:105A0000660F771F881FDAF7880F9695879597F9A5
+:105A1000089557FD9058440F551F59F05F3F71F09E
+:105A20004795880F97FB991F61F09F3F79F0879505
+:105A30000895121613061406551FF2CF4695F1DF8E
+:105A400008C0161617061806991FF1CF869571051E
+:105A5000610508940895E894BB2766277727CB0152
+:105A600097F908950BD078C069D028F06ED018F05F
+:105A7000952309F05AC05FC01124EECFCADFA0F30E
+:105A8000959FD1F3950F50E0551F629FF001729FD3
+:105A9000BB27F00DB11D639FAA27F00DB11DAA1FF2
+:105AA000649F6627B00DA11D661F829F2227B00D3F
+:105AB000A11D621F739FB00DA11D621F839FA00DCA
+:105AC000611D221F749F3327A00D611D231F849F1A
+:105AD000600D211D822F762F6A2F11249F57504071
+:105AE0008AF0E1F088234AF0EE0FFF1FBB1F661F0C
+:105AF000771F881F91505040A9F79E3F510570F0C5
+:105B000014C0AACF5F3FECF3983EDCF386957795FF
+:105B10006795B795F795E7959F5FC1F7FE2B880FBF
+:105B2000911D9695879597F9089597F99F6780E855
+:105B300070E060E008959FEF80EC089500240A94DF
+:105B40001616170618060906089500240A94121658
+:105B50001306140605060895092E0394000C11F48B
+:105B6000882352F0BB0F40F4BF2B11F460FF04C038
+:105B70006F5F7F4F8F4F9F4F0895991B79E004C04F
+:105B8000991F961708F0961B881F7A95C9F780957C
+:105B9000089597FB072E16F4009407D077FD09D0DF
+:105BA0000E94E32D07FC05D03EF4909581959F4F10
+:105BB0000895709561957F4F0895EE0FFF1F059032
+:105BC000F491E02D0994AA1BBB1B51E107C0AA1F49
+:105BD000BB1FA617B70710F0A61BB70B881F991F8E
+:105BE0005A95A9F780959095BC01CD010895F99932
+:105BF000FECF92BD81BDF89A992780B50895A8E19E
+:105C0000B0E042E050E00C941A2E262FF999FECF16
+:105C10001FBA92BD81BD20BD0FB6F894FA9AF99AC9
+:105C20000FBE019608950E94052E272F0C94062E74
+:105C3000DC01CB01FC01F999FECF06C0F2BDE1BD4C
+:105C4000F89A319600B40D9241505040B8F708953B
+:045C5000F894FFCFF6
+:105C540020026F0D600E3D0E090ED60D0101C90123
+:105C640028080A03140A3F4D3620394205F504BFBB
+:105C7400049F046604D903F2030B042404440401BE
+:0A5C840002030405060708090000EA
+:00000001FF
diff --git a/keyboard/ergodox_ez/keymaps/keymap_default.c b/keyboard/ergodox_ez/keymaps/keymap_default.c
index fc9548dbf..b2f0a051d 100644
--- a/keyboard/ergodox_ez/keymaps/keymap_default.c
+++ b/keyboard/ergodox_ez/keymaps/keymap_default.c
@@ -114,7 +114,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `--------------------' `--------------------'
*/
// MEDIA AND MOUSE
-KEYMAP(
+[MDIA] = KEYMAP(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS,
diff --git a/keyboard/ergodox_ez/keymaps/keymap_default.hex b/keyboard/ergodox_ez/keymaps/keymap_default.hex
index 72e7da00c..eedabc2db 100644
--- a/keyboard/ergodox_ez/keymaps/keymap_default.hex
+++ b/keyboard/ergodox_ez/keymaps/keymap_default.hex
@@ -1,17 +1,17 @@
:100000000C9403070C9447070C9447070C9447077C
:100010000C9447070C9447070C9447070C94470728
-:100020000C9447070C9447070C9432120C94041359
+:100020000C9447070C9447070C945E120C94301301
:100030000C9447070C9447070C9447070C94470708
-:100040000C9447070C94DC2B0C9447070C9447073F
-:100050000C9447070C94E3210C9447070C94470732
+:100040000C9447070C94082C0C9447070C94470712
+:100050000C9447070C940F220C9447070C94470705
:100060000C9447070C9447070C9447070C944707D8
:100070000C9447070C9447070C9447070C944707C8
:100080000C9447070C9447070C9447070C944707B8
:100090000C9447070C9447070C9447070C944707A8
-:1000A0000C9447070C9447070C94470769138B136C
-:1000B00076148B137614CD13F0137614451458145C
-:1000C000A617A617D417D41717185318541A541A6A
-:1000D0006B18541A621962192E1A541A541A421AB9
+:1000A0000C9447070C9447070C9447079513B71314
+:1000B000A214B713A214F9131C14A21471148414FB
+:1000C000D217D2170018001843187F18801A801A08
+:1000D0009718801A8E198E195A1A801A801A6E1A59
:1000E0000000F0A12E004C002A00E1003581000044
:1000F0001E00140004001D7134004D001F001A0082
:1001000016001B00E1042A0020000800070006007A
@@ -198,9 +198,9 @@
:100C50004F4F544D41474943204D4F5553454B4508
:100C6000592045585452414B455920434F4E534FFC
:100C70004C4520434F4D4D414E44204E4B524F204A
-:100C80003531320A004255494C443A2034663435F5
-:100C90003533632D6469727479202830333A3430E7
-:100CA0003A353320446563203138203230313529DC
+:100C80003531320A004255494C443A2035653337F4
+:100C90003663622D6469727479202832323A3239AF
+:100CA0003A3538204A616E203132203230313629CF
:100CB0000A005649443A2030784645454428457252
:100CC000676F446F7820455A29205049443A2030B4
:100CD0007831333037284572676F446F7820455A32
@@ -228,9 +228,9 @@
:100E3000B9F41092F9011092FA011092FB0110928C
:100E4000FC0114BE84B7877F84BF88E10FB6F89495
:100E500080936000109260000FBEE0E0FFE3099510
-:100E600011E0A0E0B1E0E4E5FBE502C005900D92E1
+:100E600011E0A0E0B1E0ECEAFBE502C005900D92D4
:100E7000AA33B107D9F711E0AAE3B1E001C01D928E
-:100E8000A93FB107E1F70E946C0F0C94A82D0C94B8
+:100E8000A93FB107E1F70E94980F0C94D42D0C9460
:100E90000000FF93EF93E0913A01F0913B0130970E
:100EA00009F00995EF91FF910895FC01859180303B
:100EB00011F0EFDFFBCF0895FF27E0E230E247FFBC
@@ -253,1215 +253,1220 @@
:100FC000FF91B7CFFF93EF93FC0181918030B9F38C
:100FD00060DFFBCFFF93EF9368DFF1CFDF93CF9319
:100FE000CDB7DEB72596A3DFCF91DF9108956111CC
-:100FF0000BC0FC018281882321F085EE0E943A1605
-:1010000003C085EE0E94021780E090E008950895E5
+:100FF0000BC0FC018281882321F085EE0E946616D9
+:1010000003C085EE0E942E1780E090E008950895B9
:101010006091BC017091BD018091BE019091BF01B2
-:101020000E94E72056985E9825982D9826982E982D
+:101020000E94132156985E9825982D9826982E9800
:1010300027982F98813019F0823021F00895259A51
:101040002D9A0895269A2E9A089588E098E0892B83
-:1010500011F00C940808089556985E9825982D98DC
-:1010600026982E9827982F988FEF90E090938900DC
-:101070008093880090938B0080938A0090938D00DA
-:1010800080938C00569A5E9A259A2D9A269A2E9ACB
-:10109000279A2F9A2FE782E490E1215080409040D8
-:1010A000E1F700C0000056985E9825982D98269884
-:1010B0002E9827982F98089589EA8093800089E0D8
-:1010C0008093810024982C983F988AB18F748AB9B4
-:1010D0006E98479A8BB1806B8BB9769A0E942C08D8
-:1010E00087E098E0892B11F00C940708089580E2BE
-:1010F0008093000180913C0181110EC00E94C608BE
-:1011000081E080933C012FEF83ED90E321508040FC
-:101110009040E1F700C0000080E40E94CC0880937A
-:10112000000181112EC00E94F608809300018111F8
-:1011300028C00E94F60880930001811122C08FE32D
-:101140000E94F6088093000181111BC00E94EE08E6
-:1011500080E40E94CC0880930001811112C08CE0D1
-:101160000E94F6088093000181110BC00E94F608CE
-:1011700080930001811105C08FE30E94F6088093DF
-:1011800000010E94EE088091000108951092B900BC
-:101190008AE08093B800089594EA9093BC009091FF
-:1011A000BC0097FFFCCF9091B900987F983021F058
-:1011B000903111F081E008958093BB0084E8809322
-:1011C000BC008091BC0087FFFCCF8091B900887F74
-:1011D000883111F0803471F780E0089584E98093BC
-:1011E000BC008091BC0084FDFCCF08958093BB00BF
-:1011F00084E88093BC008091BC0087FFFCCF909175
-:10120000B900987F81E0983209F480E0089584E87D
-:101210008093BC008091BC0087FFFCCF8091BB0015
-:10122000089580910001811115C080E40E94CC08CE
-:101230008093000181110CC082E10E94F608809326
-:101240000001811105C08FEF0E94F6088093000114
-:101250000E94EE0884B1807F84B985B1807F85B912
-:101260008AB1837F8AB98BB1837F8BB93E984698C8
-:1012700008950E947708809300010E94110980B3AD
-:101280008C7080BB81B3836F81BBECE4F1E0AEE393
-:10129000B1E011921D9281E0EA35F807D1F78CE5B3
-:1012A00098E0892B11F00C945C0808959F92AF92FE
-:1012B000BF92CF92DF92EF92FF920F931F93CF9343
-:1012C000DF93809100018823E1F080913D018F5FE1
-:1012D00080933D01811115C082E493E00E9455077F
-:1012E0000E94770880930001882329F088E293E028
-:1012F0000E94550706C084E193E00E9455070E94B2
-:101300002C080EE311E0C0E0D0E0BB24B39482E0EF
-:10131000A82ECC24C394D12C25E0E22E23E0F22E7B
-:10132000C73000F580910001811162C080E40E9405
-:10133000CC0880930001811112C082E10E94F6085E
-:101340008093000181110BC0C6010C2E01C0880FD3
-:101350000A94EAF780950E94F608809300010E94A3
-:10136000EE0846C0CA30A1F028F4C83059F0C930A0
-:1013700061F005C0CC3089F070F0CD3089F0209A52
-:10138000289810C0219A29980DC0229A2A980AC03C
-:10139000239A2B9807C0529A01C0539A5B9802C0B7
-:1013A0003E9A4698E0EAEA95F1F78FB1799985C0BF
-:1013B00092E081708B25892B7C9B02C090E001C05C
-:1013C00094E0892B7D9B02C090E001C098E0892BBE
-:1013D0007E9B02C090E001C090E1892B9FB1909567
-:1013E000991F9927991F9295990F907E892B10C06C
-:1013F00080910001811176C080E40E94CC08809326
-:101400000001882309F45BC0912C0E94EE08892D0D
-:10141000F8019081981739F1808380910101882328
-:1014200001F18091D70180FF04C08AE093E00E941F
-:1014300055078091D70180FF0CC0809101011F9258
-:101440008F93FF92EF920E94EE070F900F900F90F4
-:101450000F908091D70180FF04C083E093E00E9449
-:101460005507A09201010E94110921960F5F1F4F9D
-:10147000CE30D10509F054CF809101018823B1F01D
-:10148000815080930101882339F08FE99FE0019713
-:10149000F1F700C000000AC0ACE4B1E0EEE3F1E017
-:1014A00081918D9391E0EC34F907D1F785E298E0D2
-:1014B000892BD1F00E94250817C090E07ACF83E1F4
-:1014C0000E94F6088093000181119ECF81E40E9462
-:1014D000CC0880930001811197CF0E940709982EB4
-:1014E000909493CF80E094CF81E0DF91CF911F91D2
-:1014F0000F91FF90EF90DF90CF90BF90AF909F90B3
-:101500000895E82FF0E0E45BFE4F80810895CF92CC
-:10151000DF92EF92FF920F931F93CF93DF938CEEA6
-:1015200092E00E9455073CE4E32E31E0F32EC0E048
-:10153000D0E047EEC42E42E0D42E0EED12E0DF9351
-:10154000CF93DF92CF920E94EE0784EE92E00E944A
-:101550005507F70181917F0190E00E944C219F93F4
-:101560008F931F930F930E94EE078CED92E00E94E1
-:10157000550721968DB79EB708960FB6F8949EBF73
-:101580000FBE8DBFCE30D105D1F6DF91CF911F9127
-:101590000F91FF90EF90DF90CF9008958B3B9105D6
-:1015A00078F4883A910540F5853A9105D0F4843075
-:1015B000910508F0B1C08130910509F4ADC06BC050
-:1015C000803E910508F467C0883E910508F4A4C0E8
-:1015D0009C01205F31092031310508F05CC0906525
-:1015E0000895853A910509F459C0863A910509F4A0
-:1015F00058C083E890E40895883A910509F454C0EE
-:10160000893A910509F453C08A3A910509F452C008
-:101610008B3A910509F451C08C3A910509F450C0F8
-:101620008D3A910509F44FC0803B910509F44EC0F5
-:101630008E3A910509F44DC08F3A910509F44CC0DA
-:10164000813B910509F44BC0823B910509F44AC0E6
-:10165000833B910509F449C0843B910509F448C0D6
-:10166000853B910509F447C0863B910509F446C0C6
-:10167000873B910509F445C0883B910509F444C0B6
-:10168000893B910509F443C08A3B910509F042C0AA
-:101690008AE296E4089580E090E0089581E890E47D
-:1016A000089582E890E4089582EE94E4089589EE26
-:1016B00094E408958AEE94E4089585EB94E4089503
-:1016C00086EB94E4089587EB94E408958CEC94E41D
-:1016D00008958DEC94E4089583E895E408958AE8EC
-:1016E00095E4089582E995E4089584E995E40895E0
-:1016F00081E296E4089583E296E4089584E296E414
-:10170000089585E296E4089586E296E4089587E2D6
-:1017100096E4089580E094E40895089596E0799F12
-:10172000F001112494E5899FE00DF11D1124E60FCD
-:10173000F11DEE0FFF1FEC51FF4F8591949108951D
-:10174000880F991F805A9040FC01859194910895CB
-:10175000880F991F80529F4FFC01859194910895A5
-:1017600026E0729FF001112444E5849FE00DF11DF5
-:101770001124E60FF11DEE0FFF1FEC51FF4F2591D5
-:101780003491C9019A9581159F4110F4C9010895BA
-:10179000C90190528115904128F4C9019F700E949F
-:1017A000A80B0895C90190538115904120F4C901F7
-:1017B0009927906C0895211580E5380769F40E94F7
-:1017C000751A9FEF24E34CE0915020404040E1F730
-:1017D00000C000000C940822213080E5380751F445
-:1017E0008CE593E00E9455078091D701816080933A
-:1017F000D7010895C90190558115904108F050C056
-:10180000832F99278F70992781309105D9F4A901E9
-:101810004370552702C0880F991F4A95E2F79C68CC
-:10182000A90164E0440F551F6A95E1F744275370FE
-:10183000842B952B73E0220F331F7A95E1F72076E6
-:1018400033271DC08230910529F4922F8827816F9C
-:10185000906A089583309105A9F4A9014370552732
-:1018600081E090E002C0880F991F4A95E2F79C68DA
-:1018700043E0220F331F4A95E1F7207E3770822B19
-:10188000932B08950497F1F4A9014370552781E043
-:1018900090E002C0880F991F4A95E2F79A68E8CF56
-:1018A000C90190578115904120F4C9019F70906241
-:1018B0000895C90190588115904120F4C9019F7085
-:1018C000906A0895203E3105E0F4203C310558F53A
-:1018D0002133310509F470C048F42932310509F487
-:1018E00064C02A32310509F46EC074C02933310551
-:1018F000F1F022383105D9F02533310509F44EC015
-:1019000069C0233E310589F138F4203E3105C1F02C
-:10191000223E3105E1F05EC0263E310569F1273EE9
-:101920003105A9F157C0C9010E94A00B089580910B
-:10193000EA0180FD02C081FF4DC080EE90E04BC007
-:101940008091EA0180FFF9CF89E390E044C0809163
-:10195000EA0182FF0EC08091EA0184FF03C080E0AB
-:1019600090E039C083EE90E036C08091EA0182FFBA
-:10197000F2CF82EE90E02FC08091EA0183FF0BC08E
-:101980008091EA0184FDEBCF87EE90E024C0809146
-:10199000EA0183FFF5CF86EE90E01DC08091EA0159
-:1019A00085FF07C089E290E016C08091EA0185FFBB
-:1019B000F9CF85E390E00FC08091EA0186FF07C070
-:1019C0008AE290E008C08091EA0186FFF9CF81E3C6
-:1019D00090E001C0C9010E94CE0A08950895809147
-:1019E0006D0108959FB7F89410925C019FBF90918C
-:1019F000F001943009F058C09091E9009F70209157
-:101A0000EC0020FF02C020E801C020E0292B94E078
-:101A10009093E9009091EB0090FF43C09091EE000D
-:101A200097FF3FC090915A01992321F09091E800CF
-:101A300095FF37C010925A0196E03091E80035FDCD
-:101A400015C03091F001343061F53091EB0035FD77
-:101A500028C0915021F481E080935A0122C0EFE91F
-:101A6000FFE03197F1F700C00000E7CF8093F1006D
-:101A70008091E80085FD0AC08091E80080FFFCCFDE
-:101A80008091E8008E778093E80006C08FB7F894C5
-:101A900091E090935C018FBF2F702093E90080E06C
-:101AA00008952F702093E9008FEF0895CF93DF936F
-:101AB00000D01F92CDB7DEB72091F001243019F588
-:101AC00023E029839B838A832093E9008FEF909101
-:101AD000E800815095FD06C095ED9A95F1F700005C
-:101AE0008111F5CF8091E80085FF0DC040E050E006
-:101AF00063E070E0CE0101960E9425108091E8001D
-:101B00008E778093E8000F900F900F90DF91CF9128
-:101B10000895CF93DF9300D01F92CDB7DEB7209109
-:101B2000F001243021F522E029839B838A8383E01E
-:101B30008093E9008FEF9091E800815095FD06C0F9
-:101B400095ED9A95F1F700008111F5CF8091E800AD
-:101B500085FF0DC040E050E063E070E0CE010196EB
-:101B60000E9425108091E8008E778093E8000F9006
-:101B70000F900F90DF91CF9108952091F0012430C4
-:101B8000F1F422E02093E9002FEF3091E80021509A
-:101B900035FD06C035ED3A95F1F700002111F5CF7E
-:101BA0002091E80025FF0BC040E050E065E070E0C8
-:101BB0000E9425108091E8008E778093E8000895B8
-:101BC000CF93DF93EC018091F001843009F047C09E
-:101BD00080910C018823E1F080910D018823C1F0F0
-:101BE00085E08093E9008FEF9091E800815095FDAA
-:101BF00006C095E19A95F1F700008111F5CF80912B
-:101C0000E80085FF2CC040E050E060E170E017C0C4
-:101C100081E08093E9008FEF9091E800815095FD7D
-:101C200006C095ED9A95F1F700008111F5CF8091EE
-:101C3000E80085FF14C040E050E068E070E0CE01AD
-:101C40000E9425108091E8008E778093E80080E163
-:101C5000FE01ADE5B1E001900D928A95E1F7DF91CB
-:101C6000CF91089583E993E00E9455078091EF0199
-:101C7000811109C00E94B7110E9414128091E200E4
-:101C800084608093E20008958FE893E00E945507F6
-:101C90001092EF0108958BE893E00C94550787E8C4
-:101CA00093E00E9455070C94C92B83E893E00E94AF
-:101CB00055070E94A3210E94CF2B0E94B0140C94C0
-:101CC000EE0C80915B018F5F80935B0162E30E9469
-:101CD0003D2D911135C010925B0180915C018823EC
-:101CE00079F18091F001843049F58091E9008F709D
-:101CF0009091EC0090FF02C090E801C090E0982B1A
-:101D000084E08093E9008091EB0080FF14C0809113
-:101D1000EE0087FF10C08091E80085FF03C010929D
-:101D2000F100F9CF8091E80080FF05C08091E800C4
-:101D30008E778093E8009F709093E90010925C0189
-:101D4000089542E061EC81E00E94311142E061ECD3
-:101D500082E00E94311142E061EC83E00E94311187
-:101D600042E261EC84E00E94311142E161EC85E0E5
-:101D70000C9431118091F201833009F455C030F494
-:101D8000813071F0823009F48EC008958A3009F4F0
-:101D90007AC08B3009F460C0893009F09CC020C043
-:101DA0008091F101813A09F096C08091E800877F27
-:101DB0008093E8008091F5019091F601892B21F044
-:101DC00060E080E090E003C060E18DE591E070E0CC
-:101DD0000E946E108091E8008B778093E800089550
-:101DE0008091F101813209F076C08091F5019091E6
-:101DF000F601009719F0049709F06DC08091E80092
-:101E0000877F8093E8008091E80082FD05C0809183
-:101E1000F0018111F8CF5FC08091F10080936D01D6
-:101E20008091E8008B7753C08091F101813A09F0ED
-:101E300052C08091F5019091F601892B09F04BC0B9
-:101E40008091E800877F8093E8008091E80080FF20
-:101E5000FCCF80910C0136C08091F1018132D9F51F
-:101E60008091F5019091F601892BA9F58091E80008
-:101E7000877F8093E8000E9466118091F301809330
-:101E80000C010C94751A8091F101813221F5809139
-:101E9000E800877F8093E8000E9466118091F4013A
-:101EA00080936E0108958091F101813AA1F48091AF
-:101EB000E800877F8093E8008091E80080FFFCCFF6
-:101EC00080916E018093F1008091E8008E7780937D
-:101ED000E8000C946611089584B7877F84BF88E179
-:101EE0000FB6F89480936000109260000FBE90E0EF
-:101EF00080E80FB6F89480936100909361000FBE64
-:101F00000E9439150E94B7110E9414128091E200BC
-:101F100084608093E20082EF9CE00E94E22078944B
-:101F20000E948E140E943B1582E091E00E94AB1447
-:101F30000E94B72B82E793E00E9455078091F00141
-:101F4000853089F48EE693E00E9455070E94662151
-:101F50008091EE01882391F30E948E21882371F3F2
-:101F60000E940F10EBCF0E946915E8CF292F33276D
-:101F700023303105A9F06CF42130310509F442C059
-:101F80002230310509F043C08DE890E02BEC33E0BE
-:101F900042C021323105C9F02232310519F137C072
-:101FA00099278130910541F08230910541F0892BCC
-:101FB00071F5E7ECF3E005C0EFEAF3E002C0E7E912
-:101FC000F3E0849190E09F0126C0653000F5E62F94
-:101FD000F0E0EE0FFF1FEB5DFE4F2081318189E0C5
-:101FE00090E019C0653098F4E62FF0E0DF01AA0F09
-:101FF000BB1FA55EBE4F2D913C91EA5EFE4F8081D6
-:1020000090E009C082E190E028E534E004C080E07F
-:1020100090E020E030E0FA0131832083089580E1F0
-:1020200089BD82E189BD09B400FEFDCF8091D80051
-:102030008F7D8093D8008091E00082608093E000E3
-:102040008091E00081FDFCCF0895CF92DF92EF9266
-:10205000FF920F931F93CF93DF937C018B01EA01D3
-:102060000E948711811131C0209731F088819981B8
-:10207000081B190BE80EF91EC12CD12C01151105F6
-:1020800019F18091E80085FD14C08091E8008E77F9
-:102090008093E800209741F0888199818C0D9D1DE7
-:1020A0009983888385E011C00E948711882331F3CA
-:1020B0000CC0F70181917F018093F100015011095B
-:1020C000FFEFCF1ADF0ADACF80E0DF91CF911F91C7
-:1020D0000F91FF90EF90DF90CF9008952091F7013E
-:1020E0003091F8012617370748F06115710539F46A
-:1020F0002091E8002E772093E80001C0B901FC018F
-:1021000020E061157105B9F18091F001882309F48F
-:1021100040C0853009F43FC08091E80083FD3DC098
-:102120008091E80082FF06C08091E80082FF26C00F
-:1021300080E008958091E80080FFE3CF2091F300D4
-:102140008091F20090E0922B6115710551F088307A
-:10215000910538F421912093F100615071090196A5
-:10216000F3CF21E0089709F020E08091E8008E7716
-:102170008093E800C6CF2111C7CFD6CF8091F00160
-:10218000882339F0853039F08091E80083FFCCCF87
-:1021900004C082E0089583E0089581E008952091CD
-:1021A000F7013091F8012617370748F061157105DE
-:1021B00039F42091E8002E772093E80001C0B9019E
-:1021C000FC0120E061157105C1F18091F0018823C7
-:1021D00009F441C0853009F440C08091E80083FDD6
-:1021E0003EC08091E80082FF06C08091E80082FF37
-:1021F00027C080E008958091E80080FFE3CF209120
-:10220000F3008091F20090E0922B6115710559F076
-:102210008830910540F424912093F100319661506B
-:1022200071090196F2CF21E0089709F020E0809132
-:10223000E8008E778093E800C5CF2111C6CFD5CFB7
-:102240008091F001882339F0853039F08091E800E1
-:1022500083FFCBCF04C082E0089583E0089581E03E
-:102260000895982F973058F59093E900981739F012
-:102270007091EC002091ED005091F00003C0242FEC
-:10228000762F50E021FF19C03091EB003E7F309354
-:10229000EB003091ED003D7F3093ED003091EB008D
-:1022A00031603093EB007093EC002093ED0050937D
-:1022B000F0002091EE0027FF07C09F5FD3CF8F7003
-:1022C0008093E90081E0089580E008958091F10114
-:1022D00087FD05C08091E80080FF0EC012C080918C
-:1022E000E80082FD05C08091F0018111F8CF0895CA
-:1022F0008091E8008B7708C08091F0018111EACFCE
-:1023000008958091E8008E778093E8000895809189
-:10231000E4009091E50045E62091EC0020FF21C00B
-:102320002091E80020FD21C02091F001222389F0B6
-:10233000253089F02091EB0025FD0FC02091E400AD
-:102340003091E5002817390739F3415041F0C901B0
-:10235000E3CF82E0089583E0089581E0089584E06A
-:1023600008952091E80022FFDFCF80E008950E94C9
-:1023700025120E942D12E0EEF0E0808181608083C2
-:10238000E8EDF0E080818F77808319BCA7EDB0E0A5
-:102390008C918E7F8C9380818F7E80831092EF0151
-:1023A00008950F931F93CF93DF930E9425120E94ED
-:1023B0002D12C8EDD0E088818F778883888180686E
-:1023C000888388818F7D888319BC1092F0011092D8
-:1023D000EC011092EE011092ED0100EE10E0F80118
-:1023E00080818B7F808388818160888342E060E088
-:1023F00080E00E943111E1EEF0E080818E7F8083E9
-:10240000E2EEF0E08081816080838081886080835B
-:10241000F80180818E7F8083888180618883DF914D
-:10242000CF911F910F910895E8EDF0E080818F7EAC
-:102430008083E7EDF0E080818160808384E082BF6B
-:1024400081E08093EF010C94D111E8EDF0E0808100
-:102450008E7F80831092E20008951092DA0010922D
-:10246000E10008951F920F920FB60F9211242F933F
-:102470003F934F935F936F937F938F939F93AF930C
-:10248000BF93EF93FF938091E10082FF0BC0809197
-:10249000E20082FF07C08091E1008B7F8093E10022
-:1024A0000E94610E8091DA0080FF1FC08091D800E9
-:1024B00080FF1BC08091DA008E7F8093DA008091CC
-:1024C000D90080FF0DC080E189BD82E189BD09B4DA
-:1024D00000FEFDCF81E08093F0010E94320E05C026
-:1024E00019BC1092F0010E94440E8091E10080FF1F
-:1024F00019C08091E20080FF15C08091E2008E7FBC
-:102500008093E2008091E20080618093E2008091FC
-:10251000D80080628093D80019BC85E08093F001D8
-:102520000E944F0E8091E10084FF30C08091E20054
-:1025300084FF2CC080E189BD82E189BD09B400FE21
-:10254000FDCF8091D8008F7D8093D8008091E100ED
-:102550008F7E8093E1008091E2008F7E8093E20085
-:102560008091E20081608093E2008091EC018823F9
-:1025700011F084E007C08091E30087FF02C083E090
-:1025800001C081E08093F0010E94550E8091E1002E
-:1025900083FF29C08091E20083FF25C08091E10084
-:1025A000877F8093E10082E08093F0011092EC013C
-:1025B0008091E1008E7F8093E1008091E2008E7F28
-:1025C0008093E2008091E20080618093E20042E02B
-:1025D00060E080E00E9431118091F000886080937B
-:1025E000F0000E944B0EFF91EF91BF91AF919F9130
-:1025F0008F917F916F915F914F913F912F910F90AC
-:102600000FBE0F901F9018951F920F920FB60F924A
-:1026100011242F933F934F935F936F937F938F93E7
-:102620009F93AF93BF93CF93EF93FF93C091E90034
-:10263000CF708091EC001092E9008091F000877FCC
-:102640008093F00078940E9440131092E9008091EA
-:10265000F00088608093F000C093E900FF91EF9153
-:10266000CF91BF91AF919F918F917F916F915F912A
-:102670004F913F912F910F900FBE0F901F90189583
-:102680001F93CF93DF93CDB7DEB7AA970FB6F89419
-:10269000DEBF0FBECDBFE1EFF1E08091F10081938D
-:1026A00021E0E93FF207C9F70E94BA0E8091E800E5
-:1026B00083FF1CC12091F1013091F201832F90E042
-:1026C0008A30910508F012C1FC01EA5AFF4F0C94C0
-:1026D0005D2D203881F0223809F008C18091F50184
-:1026E0008F708093E9008091EB0085FB882780F94B
-:1026F0001092E90006C08091ED019091EE019111D8
-:1027000082609091E800977F9093E8008093F100B9
-:102710001092F100C5C0822F8D7F09F0E7C02223FF
-:1027200019F0223061F0E2C08091F301813009F0AC
-:10273000DDC0333009F080E08093EE0128C0809145
-:10274000F301811124C02091F5012F7009F4CEC04E
-:102750002093E9008091EB0080FF19C08091EB008D
-:10276000333011F4806211C080618093EB0081E00E
-:1027700090E0022E01C0880F0A94EAF78093EA00E5
-:102780001092EA008091EB0088608093EB00109239
-:10279000E9008091E800877F86C02111A7C01091D1
-:1027A000F3011F778091E3008078812B8093E30011
-:1027B0008091E800877F8093E8000E9466118091F5
-:1027C000E80080FFFCCF8091E30080688093E30005
-:1027D000112311F083E001C082E08093F00186C0F4
-:1027E0002058223008F082C08091F3019091F401CA
-:1027F0008C3D23E0920779F583E08A838AE289831E
-:102800004FB7F894DE01139620E03EE051E2E32F4B
-:10281000F0E050935700E49120FF03C0E295EF7081
-:102820003F5FEF708E2F90E0EA3010F0C79601C046
-:10283000C0968D939D932F5F243149F74FBF8091B0
-:10284000E800877F8093E8006AE270E0CE0101969D
-:102850000E946E1014C0AE014F5F5F4F6091F50192
-:102860000E94B60F009709F441C02091E800277F2D
-:102870002093E800BC0189819A810E94CF10809149
-:10288000E8008B778093E80031C0203879F580919B
-:10289000E800877F8093E8008091EC018093F1004D
-:1028A0008091E8008E778093E8000E9466111EC038
-:1028B00021111CC09091F3019230C0F48091E80086
-:1028C000877F8093E8009093EC010E9466118091CD
-:1028D000EC01811104C08091E30087FF02C084E015
-:1028E00001C081E08093F0010E94A10E8091E80078
-:1028F00083FF0AC08091E800877F8093E800809181
-:10290000EB0080628093EB00AA960FB6F894DEBFCE
-:102910000FBECDBFDF91CF911F910895CF938091CE
-:10292000F0018823B1F08091E9008F709091EC0064
-:1029300090FF02C090E801C090E0C92FC82B109210
-:10294000E9008091E80083FD0E944013CF70C0939E
-:10295000E900CF91089590937401809373010895D5
-:10296000E0917301F0917401309721F00190F081B2
-:10297000E02D099480E00895FF920F931F93CF9369
-:10298000DF938C01E0917301F0917401309799F11C
-:102990000280F381E02D09958091D70182FF2BC041
-:1029A00080FF04C08DE895E00E945507E80180E1B2
-:1029B000F82E07E815E08091D70180FF0BC08881D1
-:1029C0001F928F931F930F930E94EE070F900F900B
-:1029D0000F900F90FA942196F110EDCF8091D701CE
-:1029E00080FF09C085E895E0DF91CF911F910F919D
-:1029F000FF900C945507DF91CF911F910F91FF909D
-:102A00000895E0917301F0917401309721F00480F2
-:102A1000F581E02D099408952091710130917201A2
-:102A20008217930771F09093720180937101E09186
-:102A30007301F0917401309721F00680F781E02D49
-:102A40000994089520916F013091700182179307C6
-:102A500071F09093700180936F01E0917301F09198
-:102A60007401309721F00084F185E02D09940895D8
-:102A700008950C9438150E94A5210E9439090C94E0
-:102A80006B22CF93C82F8091D70182FF1EC080FF99
-:102A900004C086EA95E00E9455078091D70180FF27
-:102AA0000CC01F92CF9321EA35E03F932F930E94F1
-:102AB000EE070F900F900F900F908091D70180FF3D
-:102AC00004C08FE995E00E9455078C2FCF910C949C
-:102AD000EE0CCF92DF92EF92FF920F931F93CF9362
-:102AE000DF93CDB7DEB72B970FB6F894DEBF0FBEDE
-:102AF000CDBF0E94560936E7E32E31E0F32E00E009
-:102B000010E0C02E802F0E94810AF701D1907F0132
-:102B1000D826B1F40F5F1F4F0E30110591F78FEFDC
-:102B200089838A831B820E94AE218160782F9D83D6
-:102B30008C8349815A816B818D810E940C1641C022
-:102B40009091D70191FF04C08B870E94870A8B85E3
-:102B500020E030E04D2D50E0922FBA01022E02C04D
-:102B6000759567950A94E2F760FF25C02E83CF82A2
-:102B7000EE24E394F12C02C0EE0CFF1C9A95E2F7D0
-:102B800090E08E219F2121E0892B09F420E0288705
-:102B90000E94AE218160782F9A8789874E815F815C
-:102BA00068858A850E940C16F801EA58FE4F8081DC
-:102BB0008E25808306C02F5F3F4F2630310561F69A
-:102BC000A9CF0E94D925109175010E94B014181741
-:102BD000A1F00E94B014809375012B960FB6F89463
-:102BE000DEBF0FBECDBFDF91CF911F910F91FF9040
-:102BF000EF90DF90CF900C9441152B960FB6F89480
-:102C0000DEBF0FBECDBFDF91CF911F910F91FF901F
-:102C1000EF90DF90CF900895CF93DF93CDB7DEB7DD
-:102C20002B970FB6F894DEBF0FBECDBF4F835887EA
-:102C300069877A878B87DE01119686E0FD01119204
-:102C40008A95E9F785E0FE01379601900D928A9505
-:102C5000E1F749815A816B817C818D819E810E943F
-:102C6000411D2B960FB6F894DEBF0FBECDBFDF918E
-:102C7000CF910895CF93C82F882309F4C1C082381B
-:102C800059F40E94B01481FDBBC089E30E94E01F8B
-:102C90000E94BC2089E30CC0833879F40E94B014F0
-:102CA00080FDAEC083E50E94E01F0E94BC2083E54A
-:102CB0000E943120CF910C94BC20843859F40E949A
-:102CC000B01482FD9DC087E40E94E01F0E94BC20DA
-:102CD00087E4EECF8CEF8C0F813A48F48C2F0E9462
-:102CE000622A81118DC08C2F0E94E01FE3CF80E209
-:102CF0008C0F883048F4C77081E001C0880FCA95F6
-:102D0000EAF70E948320D6CF8BE58C0F833078F4CE
-:102D1000C53A29F0C63A31F482E890E005C081E86E
-:102D200090E002C083E890E0CF910C940C1588E508
-:102D30008C0F833108F064C0C83A39F1C93A41F1C7
-:102D4000CA3A49F1CB3A51F1CC3A59F1CD3A61F155
-:102D5000C03B69F1CE3A71F1CF3A79F1C13B81F1D3
-:102D6000C23B89F1C33B91F1C43B99F1C53BA1F151
-:102D7000C63BA9F1C73BB1F1C83BB9F1C93BC1F1B1
-:102D8000CA3BC9F58AE292E038C082EE90E035C0D5
-:102D900089EE90E032C08AEE90E02FC085EB90E0A3
-:102DA0002CC086EB90E029C087EB90E026C08CEC2D
-:102DB00090E023C08DEC90E020C083E891E01DC03E
-:102DC0008AE891E01AC082E991E017C084E991E0B5
-:102DD00014C081E292E011C083E292E00EC084E26E
-:102DE00092E00BC085E292E008C086E292E005C066
-:102DF00087E292E002C080E090E0CF910C9422152F
-:102E0000CF910895882309F44BC0823859F40E9469
-:102E1000B01481FF45C089E30E94E01F0E94BC20DE
-:102E200089E30CC0833871F40E94B01480FF38C06D
-:102E300083E50E94E01F0E94BC2083E50E943120B0
-:102E40000C94BC20843859F40E94B01482FF28C02E
-:102E500087E40E94E01F0E94BC2087E4EFCF9CEF34
-:102E6000980F913A58F390E2980F983050F4877089
-:102E700091E001C0990F8A95EAF7892F0E94892075
-:102E8000DFCF9BE5980F933020F480E090E00C9426
-:102E90000C15885A833120F480E090E00C942215C0
-:102EA0000895882321F00E9483200C94BC2008956B
-:102EB000882321F00E9489200C94BC200895CF9291
-:102EC000DF92EF92FF920F931F93CF93DF93CDB7D3
-:102ED000DEB728970FB6F894DEBF0FBECDBF8C01CA
-:102EE00085E0F801DE01119601900D928A95E1F7D7
-:102EF000F80140813181F280258122952F708381F4
-:102F00009481892B31F03F3F31F481E04F3F19F438
-:102F100003C081E001C080E080FDC6C249833A83DE
-:102F200089819A812F830E949E1F9E8388870E9499
-:102F30009D1F0E94701E4E81E42FE295EF70F0E01D
-:102F4000E05AFF4F2F8168850C945D2D842F807F80
-:102F5000142F1F70882311F01295107FFF2059F055
-:102F6000112309F456C2812F68870E9493200E9482
-:102F7000BC2068854EC2862F0E940217112309F4D7
-:102F800093C2812F0E94992028960FB6F894DEBF35
-:102F90000FBECDBFDF91CF911F910F91FF90EF90AA
-:102FA000DF90CF900C94BC20342F307F842F8F7013
-:102FB000303211F08295807F662319F0613019F16B
-:102FC0002CC0FF20B1F0222309F494C1213009F074
-:102FD00091C128960FB6F894DEBF0FBECDBFDF912A
-:102FE000CF911F910F91FF90EF90DF90CF900C94B5
-:102FF000A320222319F0213009F456C28E830E94A7
-:10300000A6208E818AC1FF2021F0263008F04CC214
-:1030100071C1253008F048C280C1FF2021F0222371
-:1030200009F468C1F6C1222309F477C106C2242F2E
-:1030300026952695237030E02115310521F02130A9
-:103040003105C9F031C2FF2021F0862F942F9370F3
-:1030500002C080E090E028960FB6F894DEBF0FBE65
-:10306000CDBFDF91CF911F910F91FF90EF90DF9037
-:10307000CF900C940C15FF2021F0862F942F937085
-:1030800002C080E090E028960FB6F894DEBF0FBE35
-:10309000CDBFDF91CF911F910F91FF90EF90DF9007
-:1030A000CF900C942215862FFF2019F00E945F24E8
-:1030B00002C00E94C72428960FB6F894DEBF0FBE48
-:1030C000CDBFDF91CF911F910F91FF90EF90DF90D7
-:1030D000CF900C944C25842F837009F076C0F110AA
-:1030E000E3C1262F229526952770220F220F862FC7
-:1030F0008F70C82ED12CE12CF12C022E04C0CC0CE8
-:10310000DD1CEE1CFF1C0A94D2F764FF10C06FE0B8
-:1031100070E080E090E004C0660F771F881F991F61
-:103120002A95D2F7609570958095909503C060E0E0
-:1031300070E0CB01242F269526952370422F50E076
-:1031400042305105D1F04330510559F16C297D29A8
-:103150008E299F294130510541F128960FB6F894E8
-:10316000DEBF0FBECDBFDF91CF911F910F91FF90BA
-:10317000EF90DF90CF900C94951E6C297D298E29BD
-:103180009F2928960FB6F894DEBF0FBECDBFDF9102
-:10319000CF911F910F91FF90EF90DF90CF900C9403
-:1031A000AF1E0E94951EC701B60128960FB6F8946F
-:1031B000DEBF0FBECDBFDF91CF911F910F91FF906A
-:1031C000EF90DF90CF900C947B1EFF2019F0842F9E
-:1031D000817001C08695882309F466C1262F229547
-:1031E00026952770220F220F862F8F70C82ED12C84
-:1031F000E12CF12C022E04C0CC0CDD1CEE1CFF1CBB
-:103200000A94D2F764FF10C06FE070E080E090E0B5
-:1032100004C0660F771F881F991F2A95D2F7609503
-:1032200070958095909503C060E070E0CB01242FED
-:10323000269526952370422F50E042305105D1F05B
-:103240004330510559F16C297D298E299F29413040
-:10325000510541F128960FB6F894DEBF0FBECDBFE1
-:10326000DF91CF911F910F91FF90EF90DF90CF9062
-:103270000C94691F6C297D298E299F2928960FB6E9
-:10328000F894DEBF0FBECDBFDF91CF911F910F919C
-:10329000FF90EF90DF90CF900C94831F0E94691FE6
-:1032A000C701B60128960FB6F894DEBF0FBECDBF9A
-:1032B000DF91CF911F910F91FF90EF90DF90CF9012
-:1032C0000C944F1F603FC9F118F4603E50F49CC04D
-:1032D000623F09F461C008F44BC0633F09F470C059
-:1032E00093C0162F1F70842F8F71FF2099F00E94BA
-:1032F000E81E812F28960FB6F894DEBF0FBECDBF13
-:10330000DF91CF911F910F91FF90EF90DF90CF90C1
-:103310000C9451170E94091F812F28960FB6F8941C
-:10332000DEBF0FBECDBFDF91CF911F910F91FF90F8
-:10333000EF90DF90CF900C945817FF20A9F0253024
-:1033400008F0B2C0842F8F7128960FB6F894DEBFB4
-:103350000FBECDBFDF91CF911F910F91FF90EF90E6
-:10336000DF90CF900C942E1F263008F09DC0EACF3E
-:10337000FF20A1F0842F8F7128960FB6F894DEBF3E
-:103380000FBECDBFDF91CF911F910F91FF90EF90B6
-:10339000DF90CF900C94E81EFF2061F3842F8F7193
+:1010500011F00E94080880E090E0089556985E988C
+:1010600025982D9826982E9827982F988FEF90E006
+:10107000909389008093880090938B0080938A00DE
+:1010800090938D0080938C00259A2D9A2FEF80E706
+:1010900092E0215080409040E1F700C00000269A85
+:1010A0002E9A2FEF80E792E0215080409040E1F7A8
+:1010B00000C00000279A2F9A2FEF80E792E021507E
+:1010C00080409040E1F700C0000025982D982FEF58
+:1010D00080E792E0215080409040E1F700C000009E
+:1010E00026982E982FEF80E792E021508040904084
+:1010F000E1F700C0000027982F9856985E98259831
+:101100002D9826982E9827982F98089589EA8093ED
+:10111000800089E08093810024982C983F988AB1C0
+:101120008F748AB96E98479A8BB1806B8BB9769A17
+:101130000E942E0887E098E0892B11F00E94070892
+:1011400080E090E0089580E28093000180913C016E
+:1011500081110EC00E94F20881E080933C012FEFC4
+:1011600083ED90E3215080409040E1F700C0000003
+:1011700080E40E94F8088093000181112EC00E9433
+:10118000220980930001811128C00E9422098093C6
+:101190000001811122C08FE30E9422098093000187
+:1011A00081111BC00E941A0980E40E94F8088093F4
+:1011B0000001811112C08CE00E942209809300017D
+:1011C00081110BC00E94220980930001811105C08A
+:1011D0008FE30E942209809300010E941A098091E6
+:1011E000000108951092B9008AE08093B800089534
+:1011F00094EA9093BC009091BC0097FFFCCF909133
+:10120000B900987F983021F0903111F081E0089575
+:101210008093BB0084E88093BC008091BC0087FF72
+:10122000FCCF8091B900887F883111F0803471F74C
+:1012300080E0089584E98093BC008091BC0084FD27
+:10124000FCCF08958093BB0084E88093BC0080911C
+:10125000BC0087FFFCCF9091B900987F81E0983265
+:1012600009F480E0089584E88093BC008091BC007C
+:1012700087FFFCCF8091BB00089580910001811110
+:1012800015C080E40E94F8088093000181110CC011
+:1012900082E10E94220980930001811105C08FEF35
+:1012A0000E942209809300010E941A0984B1807F64
+:1012B00084B985B1807F85B98AB1837F8AB98BB1C2
+:1012C000837F8BB93E98469808950E94A308809327
+:1012D00000010E943D0980B38C7080BB81B3836F95
+:1012E00081BBECE4F1E0AEE3B1E011921D9281E04C
+:1012F000EA35F807D1F786E898E0892B11F00C94CD
+:10130000860808959F92AF92BF92CF92DF92EF929C
+:10131000FF920F931F93CF93DF9380910001882357
+:10132000E1F080913D018F5F80933D01811115C0F7
+:1013300082E493E00E9455070E94A3088093000175
+:10134000882329F088E293E00E94550706C084E1D3
+:1013500093E00E9455070E942E080EE311E0C0E0C2
+:10136000D0E0BB24B39482E0A82ECC24C394D12C2B
+:1013700025E0E22E23E0F22EC73000F58091000137
+:10138000811162C080E40E94F808809300018111FD
+:1013900012C082E10E9422098093000181110BC0DA
+:1013A000C6010C2E01C0880F0A94EAF780950E94AE
+:1013B0002209809300010E941A0946C0CA30A1F098
+:1013C00028F4C83059F0C93061F005C0CC3089F03C
+:1013D00070F0CD3089F0209A289810C0219A299871
+:1013E0000DC0229A2A980AC0239A2B9807C0529AB5
+:1013F00001C0539A5B9802C03E9A4698E0EAEA958B
+:10140000F1F78FB1799985C092E081708B25892B96
+:101410007C9B02C090E001C094E0892B7D9B02C0C0
+:1014200090E001C098E0892B7E9B02C090E001C053
+:1014300090E1892B9FB19095991F9927991F9295BB
+:10144000990F907E892B10C080910001811176C088
+:1014500080E40E94F80880930001882309F45BC0AF
+:10146000912C0E941A09892DF8019081981739F161
+:10147000808380910101882301F18091D70180FF51
+:1014800004C08AE093E00E9455078091D70180FF55
+:101490000CC0809101011F928F93FF92EF920E94E6
+:1014A000EE070F900F900F900F908091D70180FF63
+:1014B00004C083E093E00E945507A09201010E94BE
+:1014C0003D0921960F5F1F4FCE30D10509F054CF53
+:1014D000809101018823B1F081508093010188231C
+:1014E00039F08FE99FE00197F1F700C000000AC0D2
+:1014F000ACE4B1E0EEE3F1E081918D9391E0EC3466
+:10150000F907D1F785E298E0892BD1F00E942508F0
+:1015100017C090E07ACF83E10E94220980930001F6
+:1015200081119ECF81E40E94F8088093000181110F
+:1015300097CF0E943309982E909493CF80E094CF58
+:1015400081E0DF91CF911F910F91FF90EF90DF909D
+:10155000CF90BF90AF909F900895E82FF0E0E45BAC
+:10156000FE4F80810895CF92DF92EF92FF920F930A
+:101570001F93CF93DF938CEE92E00E9455073CE4DB
+:10158000E32E31E0F32EC0E0D0E047EEC42E42E07F
+:10159000D42E0EED12E0DF93CF93DF92CF920E9414
+:1015A000EE0784EE92E00E945507F70181917F01DA
+:1015B00090E00E9478219F938F931F930F930E9436
+:1015C000EE078CED92E00E94550721968DB79EB7ED
+:1015D00008960FB6F8949EBF0FBE8DBFCE30D105D2
+:1015E000D1F6DF91CF911F910F91FF90EF90DF9097
+:1015F000CF9008958B3B910578F4883A910540F59A
+:10160000853A9105D0F48430910508F0B1C081305D
+:10161000910509F4ADC06BC0803E910508F467C028
+:10162000883E910508F4A4C09C01205F3109203157
+:10163000310508F05CC090650895853A910509F47C
+:1016400059C0863A910509F458C083E890E408959A
+:10165000883A910509F454C0893A910509F453C0B8
+:101660008A3A910509F452C08B3A910509F451C0A8
+:101670008C3A910509F450C08D3A910509F44FC098
+:10168000803B910509F44EC08E3A910509F44DC096
+:101690008F3A910509F44CC0813B910509F44BC088
+:1016A000823B910509F44AC0833B910509F449C086
+:1016B000843B910509F448C0853B910509F447C076
+:1016C000863B910509F446C0873B910509F445C066
+:1016D000883B910509F444C0893B910509F443C056
+:1016E0008A3B910509F042C08AE296E4089580E0C1
+:1016F00090E0089581E890E4089582E890E40895E8
+:1017000082EE94E4089589EE94E408958AEE94E4D8
+:10171000089585EB94E4089586EB94E4089587EBAF
+:1017200094E408958CEC94E408958DEC94E4089589
+:1017300083E895E408958AE895E4089582E995E4BC
+:10174000089584E995E4089581E296E4089583E29A
+:1017500096E4089584E296E4089585E296E4089577
+:1017600086E296E4089587E296E4089580E094E4A2
+:101770000895089596E0799FF001112494E5899FDA
+:10178000E00DF11D1124E60FF11DEE0FFF1FEC51CE
+:10179000FF4F859194910895880F991F805A90402A
+:1017A000FC01859194910895880F991F80529F4F55
+:1017B000FC0185919491089526E0729FF001112417
+:1017C00044E5849FE00DF11D1124E60FF11DEE0F9D
+:1017D000FF1FEC51FF4F25913491C9019A95811556
+:1017E0009F4110F4C9010895C9019052811590419B
+:1017F00028F4C9019F700E94D40B0895C901905329
+:101800008115904120F4C9019927906C0895211504
+:1018100080E5380769F40E94A11A9FEF24E34CE0A9
+:10182000915020404040E1F700C000000C94342269
+:10183000213080E5380751F48CE593E00E9455078C
+:101840008091D70181608093D7010895C901905597
+:101850008115904108F050C0832F99278F709927E8
+:1018600081309105D9F4A9014370552702C0880F32
+:10187000991F4A95E2F79C68A90164E0440F551F3F
+:101880006A95E1F744275370842B952B73E0220F60
+:10189000331F7A95E1F7207633271DC082309105FA
+:1018A00029F4922F8827816F906A089583309105DB
+:1018B000A9F4A9014370552781E090E002C0880F88
+:1018C000991F4A95E2F79C6843E0220F331F4A951F
+:1018D000E1F7207E3770822B932B08950497F1F463
+:1018E000A9014370552781E090E002C0880F991F3D
+:1018F0004A95E2F79A68E8CFC9019057811590415F
+:1019000020F4C9019F7090620895C9019058811513
+:10191000904120F4C9019F70906A0895203E3105DE
+:10192000E0F4203C310558F52133310509F470C04D
+:1019300048F42932310509F464C02A32310509F42A
+:101940006EC074C029333105F1F022383105D9F069
+:101950002533310509F44EC069C0233E310589F1B4
+:1019600038F4203E3105C1F0223E3105E1F05EC081
+:10197000263E310569F1273E3105A9F157C0C9015D
+:101980000E94CC0B08958091EA0180FD02C081FF86
+:101990004DC080EE90E04BC08091EA0180FFF9CF0E
+:1019A00089E390E044C08091EA0182FF0EC08091FB
+:1019B000EA0184FF03C080E090E039C083EE90E04C
+:1019C00036C08091EA0182FFF2CF82EE90E02FC014
+:1019D0008091EA0183FF0BC08091EA0184FDEBCF87
+:1019E00087EE90E024C08091EA0183FFF5CF86EE78
+:1019F00090E01DC08091EA0185FF07C089E290E078
+:101A000016C08091EA0185FFF9CF85E390E00FC011
+:101A10008091EA0186FF07C08AE290E008C08091C9
+:101A2000EA0186FFF9CF81E390E001C0C9010E947D
+:101A3000FA0A0895089580916D0108959FB7F8946A
+:101A400010925C019FBF9091F001943009F058C052
+:101A50009091E9009F702091EC0020FF02C020E8E7
+:101A600001C020E0292B94E09093E9009091EB00D5
+:101A700090FF43C09091EE0097FF3FC090915A01B4
+:101A8000992321F09091E80095FF37C010925A01F8
+:101A900096E03091E80035FD15C03091F00134300A
+:101AA00061F53091EB0035FD28C0915021F481E0C3
+:101AB00080935A0122C0EFE9FFE03197F1F700C0AF
+:101AC0000000E7CF8093F1008091E80085FD0AC017
+:101AD0008091E80080FFFCCF8091E8008E778093B2
+:101AE000E80006C08FB7F89491E090935C018FBF37
+:101AF0002F702093E90080E008952F702093E90073
+:101B00008FEF0895CF93DF9300D01F92CDB7DEB74C
+:101B10002091F001243019F523E029839B838A83E7
+:101B20002093E9008FEF9091E800815095FD06C069
+:101B300095ED9A95F1F700008111F5CF8091E800BD
+:101B400085FF0DC040E050E063E070E0CE010196FB
+:101B50000E9451108091E8008E778093E8000F90EA
+:101B60000F900F90DF91CF910895CF93DF9300D026
+:101B70001F92CDB7DEB72091F001243021F522E08D
+:101B800029839B838A8383E08093E9008FEF909180
+:101B9000E800815095FD06C095ED9A95F1F700009B
+:101BA0008111F5CF8091E80085FF0DC040E050E045
+:101BB00063E070E0CE0101960E9451108091E80030
+:101BC0008E778093E8000F900F900F90DF91CF9168
+:101BD00008952091F0012430F1F422E02093E900EF
+:101BE0002FEF3091E800215035FD06C035ED3A95D4
+:101BF000F1F700002111F5CF2091E80025FF0BC07F
+:101C000040E050E065E070E00E9451108091E800F3
+:101C10008E778093E8000895CF93DF93EC01809155
+:101C2000F001843009F047C080910C018823E1F075
+:101C300080910D018823C1F085E08093E9008FEF4A
+:101C40009091E800815095FD06C095E19A95F1F7D5
+:101C500000008111F5CF8091E80085FF2CC040E0A5
+:101C600050E060E170E017C081E08093E9008FEF01
+:101C70009091E800815095FD06C095ED9A95F1F799
+:101C800000008111F5CF8091E80085FF14C040E08D
+:101C900050E068E070E0CE010E9451108091E800B1
+:101CA0008E778093E80080E1FE01ADE5B1E0019020
+:101CB0000D928A95E1F7DF91CF91089583E993E042
+:101CC0000E9455078091EF01811109C00E94E31124
+:101CD0000E9440128091E20084608093E2000895A7
+:101CE0008FE893E00E9455071092EF0108958BE86A
+:101CF00093E00C94550787E893E00E9455070C94F5
+:101D0000F52B83E893E00E9455070E94CF210E94A3
+:101D1000FB2B0E94DC140C941A0D80915B018F5FE9
+:101D200080935B0162E30E94692D911135C010928E
+:101D30005B0180915C01882379F18091F00184300E
+:101D400049F58091E9008F709091EC0090FF02C0FE
+:101D500090E801C090E0982B84E08093E9008091A6
+:101D6000EB0080FF14C08091EE0087FF10C08091CF
+:101D7000E80085FF03C01092F100F9CF8091E800E0
+:101D800080FF05C08091E8008E778093E8009F7007
+:101D90009093E90010925C01089542E061EC81E0CB
+:101DA0000E945D1142E061EC82E00E945D1142E020
+:101DB00061EC83E00E945D1142E261EC84E00E94EC
+:101DC0005D1142E161EC85E00C945D118091F201BE
+:101DD000833009F455C030F4813071F0823009F459
+:101DE0008EC008958A3009F47AC08B3009F460C03F
+:101DF000893009F09CC020C08091F101813A09F03E
+:101E000096C08091E800877F8093E8008091F5017B
+:101E10009091F601892B21F060E080E090E003C012
+:101E200060E18DE591E070E00E949A108091E800F9
+:101E30008B778093E80008958091F101813209F059
+:101E400076C08091F5019091F601009719F0049702
+:101E500009F06DC08091E800877F8093E800809151
+:101E6000E80082FD05C08091F0018111F8CF5FC0CC
+:101E70008091F10080936D018091E8008B7753C0D1
+:101E80008091F101813A09F052C08091F501909161
+:101E9000F601892B09F04BC08091E800877F809381
+:101EA000E8008091E80080FFFCCF80910C0136C0F3
+:101EB0008091F1018132D9F58091F5019091F6017F
+:101EC000892BA9F58091E800877F8093E8000E9424
+:101ED00092118091F30180930C010C94A11A8091CE
+:101EE000F101813221F58091E800877F8093E8003D
+:101EF0000E9492118091F40180936E010895809167
+:101F0000F101813AA1F48091E800877F8093E80095
+:101F10008091E80080FFFCCF80916E018093F100FA
+:101F20008091E8008E778093E8000C9492110895D8
+:101F300084B7877F84BF88E10FB6F89480936000F0
+:101F4000109260000FBE90E080E80FB6F894809386
+:101F50006100909361000FBE0E9465150E94E3111D
+:101F60000E9440128091E20084608093E2008EE142
+:101F70009DE00E940E2178940E94BA140E94671579
+:101F800082E091E00E94D7140E94E32B82E793E065
+:101F90000E9455078091F001853089F48EE693E028
+:101FA0000E9455070E9492218091EE01882391F3AF
+:101FB0000E94BA21882371F30E943B10EBCF0E944C
+:101FC0009515E8CF292F332723303105A9F06CF47C
+:101FD0002130310509F442C02230310509F043C0F7
+:101FE0008DE890E02BEC33E042C021323105C9F09E
+:101FF0002232310519F137C099278130910541F01E
+:102000008230910541F0892B71F5E7ECF3E005C0D2
+:10201000EFEAF3E002C0E7E9F3E0849190E09F018A
+:1020200026C0653000F5E62FF0E0EE0FFF1FEB5DF8
+:10203000FE4F2081318189E090E019C0653098F42D
+:10204000E62FF0E0DF01AA0FBB1FA55EBE4F2D916A
+:102050003C91EA5EFE4F808190E009C082E190E011
+:1020600028E534E004C080E090E020E030E0FA01B0
+:1020700031832083089580E189BD82E189BD09B45F
+:1020800000FEFDCF8091D8008F7D8093D800809195
+:10209000E00082608093E0008091E00081FDFCCF51
+:1020A0000895CF92DF92EF92FF920F931F93CF93F9
+:1020B000DF937C018B01EA010E94B311811131C0D1
+:1020C000209731F088819981081B190BE80EF91EC1
+:1020D000C12CD12C0115110519F18091E80085FD65
+:1020E00014C08091E8008E778093E800209741F03B
+:1020F000888199818C0D9D1D9983888385E011C00D
+:102100000E94B311882331F30CC0F70181917F0144
+:102110008093F10001501109FFEFCF1ADF0ADACFE7
+:1021200080E0DF91CF911F910F91FF90EF90DF90B2
+:10213000CF9008952091F7013091F80126173707C5
+:1021400048F06115710539F42091E8002E7720934D
+:10215000E80001C0B901FC0120E061157105B9F189
+:102160008091F001882309F440C0853009F43FC014
+:102170008091E80083FD3DC08091E80082FF06C0A9
+:102180008091E80082FF26C080E008958091E800F9
+:1021900080FFE3CF2091F3008091F20090E0922B3A
+:1021A0006115710551F08830910538F42191209323
+:1021B000F100615071090196F3CF21E0089709F011
+:1021C00020E08091E8008E778093E800C6CF21114F
+:1021D000C7CFD6CF8091F001882339F0853039F010
+:1021E0008091E80083FFCCCF04C082E0089583E0B3
+:1021F000089581E008952091F7013091F8012617A4
+:10220000370748F06115710539F42091E8002E7701
+:102210002093E80001C0B901FC0120E061157105BF
+:10222000C1F18091F001882309F441C0853009F49F
+:1022300040C08091E80083FD3EC08091E80082FFAD
+:1022400006C08091E80082FF27C080E00895809159
+:10225000E80080FFE3CF2091F3008091F20090E04E
+:10226000922B6115710559F08830910540F4249145
+:102270002093F1003196615071090196F2CF21E06F
+:10228000089709F020E08091E8008E778093E800BD
+:10229000C5CF2111C6CFD5CF8091F001882339F069
+:1022A000853039F08091E80083FFCBCF04C082E015
+:1022B000089583E0089581E00895982F973058F5A8
+:1022C0009093E900981739F07091EC002091ED009F
+:1022D0005091F00003C0242F762F50E021FF19C049
+:1022E0003091EB003E7F3093EB003091ED003D7F6D
+:1022F0003093ED003091EB0031603093EB00709340
+:10230000EC002093ED005093F0002091EE0027FFA9
+:1023100007C09F5FD3CF8F708093E90081E008955D
+:1023200080E008958091F10187FD05C08091E8006B
+:1023300080FF0EC012C08091E80082FD05C0809130
+:10234000F0018111F8CF08958091E8008B7708C0E3
+:102350008091F0018111EACF08958091E8008E7795
+:102360008093E80008958091E4009091E50045E6AF
+:102370002091EC0020FF21C02091E80020FD21C029
+:102380002091F001222389F0253089F02091EB0083
+:1023900025FD0FC02091E4003091E5002817390792
+:1023A00039F3415041F0C901E3CF82E0089583E061
+:1023B000089581E0089584E008952091E80022FFC7
+:1023C000DFCF80E008950E9451120E945912E0EE82
+:1023D000F0E0808181608083E8EDF0E080818F779C
+:1023E000808319BCA7EDB0E08C918E7F8C938081A7
+:1023F0008F7E80831092EF0108950F931F93CF93E8
+:10240000DF930E9451120E945912C8EDD0E08881DA
+:102410008F77888388818068888388818F7D88838F
+:1024200019BC1092F0011092EC011092EE01109282
+:10243000ED0100EE10E0F80180818B7F80838881C0
+:102440008160888342E060E080E00E945D11E1EEFF
+:10245000F0E080818E7F8083E2EEF0E08081816019
+:102460008083808188608083F80180818E7F808373
+:10247000888180618883DF91CF911F910F910895AA
+:10248000E8EDF0E080818F7E8083E7EDF0E08081F1
+:102490008160808384E082BF81E08093EF010C94AF
+:1024A000FD11E8EDF0E080818E7F80831092E200E4
+:1024B00008951092DA001092E10008951F920F9291
+:1024C0000FB60F9211242F933F934F935F936F9307
+:1024D0007F938F939F93AF93BF93EF93FF938091DD
+:1024E000E10082FF0BC08091E20082FF07C0809173
+:1024F000E1008B7F8093E1000E948D0E8091DA00D5
+:1025000080FF1FC08091D80080FF1BC08091DA003F
+:102510008E7F8093DA008091D90080FF0DC080E12A
+:1025200089BD82E189BD09B400FEFDCF81E08093C1
+:10253000F0010E945E0E05C019BC1092F0010E94CD
+:10254000700E8091E10080FF19C08091E20080FF51
+:1025500015C08091E2008E7F8093E2008091E200BE
+:1025600080618093E2008091D80080628093D800DF
+:1025700019BC85E08093F0010E947B0E8091E10000
+:1025800084FF30C08091E20084FF2CC080E189BDCF
+:1025900082E189BD09B400FEFDCF8091D8008F7D16
+:1025A0008093D8008091E1008F7E8093E10080913C
+:1025B000E2008F7E8093E2008091E2008160809350
+:1025C000E2008091EC01882311F084E007C0809143
+:1025D000E30087FF02C083E001C081E08093F00147
+:1025E0000E94810E8091E10083FF29C08091E2006A
+:1025F00083FF25C08091E100877F8093E10082E026
+:102600008093F0011092EC018091E1008E7F809325
+:10261000E1008091E2008E7F8093E2008091E200F1
+:1026200080618093E20042E060E080E00E945D1102
+:102630008091F00088608093F0000E94770EFF91F7
+:10264000EF91BF91AF919F918F917F916F915F912A
+:102650004F913F912F910F900FBE0F901F901895A3
+:102660001F920F920FB60F9211242F933F934F9307
+:102670005F936F937F938F939F93AF93BF93CF930A
+:10268000EF93FF93C091E900CF708091EC0010921E
+:10269000E9008091F000877F8093F00078940E9499
+:1026A0006C131092E9008091F00088608093F00034
+:1026B000C093E900FF91EF91CF91BF91AF919F91AE
+:1026C0008F917F916F915F914F913F912F910F90DB
+:1026D0000FBE0F901F9018951F93CF93DF93CDB728
+:1026E000DEB7AA970FB6F894DEBF0FBECDBFE1EFFD
+:1026F000F1E08091F100819321E0E93FF207C9F711
+:102700000E94E60E8091E80083FF1CC12091F10138
+:102710003091F201832F90E08A30910508F012C1C8
+:10272000FC01EA5AFF4F0C94892D203881F02238A1
+:1027300009F008C18091F5018F708093E9008091C4
+:10274000EB0085FB882780F91092E90006C0809194
+:10275000ED019091EE01911182609091E800977FD8
+:102760009093E8008093F1001092F100C5C0822F91
+:102770008D7F09F0E7C0222319F0223061F0E2C01A
+:102780008091F301813009F0DDC0333009F080E041
+:102790008093EE0128C08091F301811124C0209123
+:1027A000F5012F7009F4CEC02093E9008091EB0071
+:1027B00080FF19C08091EB00333011F4806211C0AA
+:1027C00080618093EB0081E090E0022E01C0880FD1
+:1027D0000A94EAF78093EA001092EA008091EB00F5
+:1027E00088608093EB001092E9008091E800877F79
+:1027F00086C02111A7C01091F3011F778091E300DB
+:102800008078812B8093E3008091E800877F80931C
+:10281000E8000E9492118091E80080FFFCCF809137
+:10282000E30080688093E300112311F083E001C08E
+:1028300082E08093F00186C02058223008F082C0E8
+:102840008091F3019091F4018C3D23E0920779F59A
+:1028500083E08A838AE289834FB7F894DE01139676
+:1028600020E03EE051E2E32FF0E050935700E49186
+:1028700020FF03C0E295EF703F5FEF708E2F90E076
+:10288000EA3010F0C79601C0C0968D939D932F5FDC
+:10289000243149F74FBF8091E800877F8093E8009B
+:1028A0006AE270E0CE0101960E949A1014C0AE0157
+:1028B0004F5F5F4F6091F5010E94E20F009709F4AE
+:1028C00041C02091E800277F2093E800BC01898166
+:1028D0009A810E94FB108091E8008B778093E8003A
+:1028E00031C0203879F58091E800877F8093E80037
+:1028F0008091EC018093F1008091E8008E778093C5
+:10290000E8000E9492111EC021111CC09091F30199
+:102910009230C0F48091E800877F8093E800909324
+:10292000EC010E9492118091EC01811104C0809110
+:10293000E30087FF02C084E001C081E08093F001E2
+:102940000E94CD0E8091E80083FF0AC08091E800CC
+:10295000877F8093E8008091EB0080628093EB009A
+:10296000AA960FB6F894DEBF0FBECDBFDF91CF9110
+:102970001F910895CF938091F0018823B1F0809149
+:10298000E9008F709091EC0090FF02C090E801C0C8
+:1029900090E0C92FC82B1092E9008091E80083FDD8
+:1029A0000E946C13CF70C093E900CF91089590936B
+:1029B0007401809373010895E0917301F0917401A3
+:1029C000309721F00190F081E02D099480E0089586
+:1029D000FF920F931F93CF93DF938C01E0917301CC
+:1029E000F0917401309799F10280F381E02D0995FF
+:1029F0008091D70182FF2BC080FF04C08DE895E055
+:102A00000E945507E80180E1F82E07E815E0809163
+:102A1000D70180FF0BC088811F928F931F930F9364
+:102A20000E94EE070F900F900F900F90FA9421964E
+:102A3000F110EDCF8091D70180FF09C085E895E0C6
+:102A4000DF91CF911F910F91FF900C945507DF916B
+:102A5000CF911F910F91FF900895E0917301F09134
+:102A60007401309721F00480F581E02D09940895D8
+:102A700020917101309172018217930771F0909348
+:102A8000720180937101E0917301F09174013097AC
+:102A900021F00680F781E02D0994089520916F01BF
+:102AA000309170018217930771F0909370018093B9
+:102AB0006F01E0917301F0917401309721F000846F
+:102AC000F185E02D0994089508950C9464150E94F1
+:102AD000D1210E9465090C949722CF93C82F809131
+:102AE000D70182FF1EC080FF04C086EA95E00E94E5
+:102AF00055078091D70180FF0CC01F92CF9321EA28
+:102B000035E03F932F930E94EE070F900F900F90A8
+:102B10000F908091D70180FF04C08FE995E00E945B
+:102B200055078C2FCF910C941A0DCF92DF92EF9214
+:102B3000FF920F931F93CF93DF93CDB7DEB72B9701
+:102B40000FB6F894DEBF0FBECDBF0E94820936E7F4
+:102B5000E32E31E0F32E00E010E0C02E802F0E9423
+:102B6000AD0AF701D1907F01D826B1F40F5F1F4F56
+:102B70000E30110591F78FEF89838A831B820E94A3
+:102B8000DA218160782F9D838C8349815A816B8102
+:102B90008D810E94381641C09091D70191FF04C0E9
+:102BA0008B870E94B30A8B8520E030E04D2D50E0EA
+:102BB000922FBA01022E02C0759567950A94E2F72A
+:102BC00060FF25C02E83CF82EE24E394F12C02C057
+:102BD000EE0CFF1C9A95E2F790E08E219F2121E0F8
+:102BE000892B09F420E028870E94DA218160782F60
+:102BF0009A8789874E815F8168858A850E94381609
+:102C0000F801EA58FE4F80818E25808306C02F5F31
+:102C10003F4F2630310561F6A9CF0E94052610915D
+:102C200075010E94DC141817A1F00E94DC14809337
+:102C300075012B960FB6F894DEBF0FBECDBFDF91A6
+:102C4000CF911F910F91FF90EF90DF90CF900C9458
+:102C50006D152B960FB6F894DEBF0FBECDBFDF917A
+:102C6000CF911F910F91FF90EF90DF90CF9008953B
+:102C7000CF93DF93CDB7DEB72B970FB6F894DEBFB7
+:102C80000FBECDBF4F83588769877A878B87DE0158
+:102C9000119686E0FD0111928A95E9F785E0FE0123
+:102CA000379601900D928A95E1F749815A816B819F
+:102CB0007C818D819E810E946D1D2B960FB6F894AC
+:102CC000DEBF0FBECDBFDF91CF910895CF93C82F48
+:102CD000882309F4C1C0823859F40E94DC1481FDB4
+:102CE000BBC089E30E940C200E94E82089E30CC04D
+:102CF000833879F40E94DC1480FDAEC083E50E9425
+:102D00000C200E94E82083E50E945D20CF910C9466
+:102D1000E820843859F40E94DC1482FD9DC087E4C9
+:102D20000E940C200E94E82087E4EECF8CEF8C0FED
+:102D3000813A48F48C2F0E948E2A81118DC08C2FED
+:102D40000E940C20E3CF80E28C0F883048F4C770DB
+:102D500081E001C0880FCA95EAF70E94AF20D6CF64
+:102D60008BE58C0F833078F4C53A29F0C63A31F4FC
+:102D700082E890E005C081E890E002C083E890E03E
+:102D8000CF910C94381588E58C0F833108F064C01E
+:102D9000C83A39F1C93A41F1CA3A49F1CB3A51F14D
+:102DA000CC3A59F1CD3A61F1C03B69F1CE3A71F1BB
+:102DB000CF3A79F1C13B81F1C23B89F1C33B91F13B
+:102DC000C43B99F1C53BA1F1C63BA9F1C73BB1F1A9
+:102DD000C83BB9F1C93BC1F1CA3BC9F58AE292E0EF
+:102DE00038C082EE90E035C089EE90E032C08AEEC5
+:102DF00090E02FC085EB90E02CC086EB90E029C0DE
+:102E000087EB90E026C08CEC90E023C08DEC90E046
+:102E100020C083E891E01DC08AE891E01AC082E9F1
+:102E200091E017C084E991E014C081E292E011C002
+:102E300083E292E00EC084E292E00BC085E292E071
+:102E400008C086E292E005C087E292E002C080E01E
+:102E500090E0CF910C944E15CF910895882309F4FA
+:102E60004BC0823859F40E94DC1481FF45C089E3CD
+:102E70000E940C200E94E82089E30CC0833871F482
+:102E80000E94DC1480FF38C083E50E940C200E9461
+:102E9000E82083E50E945D200C94E820843859F4F2
+:102EA0000E94DC1482FF28C087E40E940C200E944C
+:102EB000E82087E4EFCF9CEF980F913A58F390E227
+:102EC000980F983050F4877091E001C0990F8A955F
+:102ED000EAF7892F0E94B520DFCF9BE5980F93304A
+:102EE00020F480E090E00C943815885A833120F467
+:102EF00080E090E00C944E150895882321F00E9404
+:102F0000AF200C94E8200895882321F00E94B5207A
+:102F10000C94E8200895CF92DF92EF92FF920F93E6
+:102F20001F93CF93DF93CDB7DEB728970FB6F894F2
+:102F3000DEBF0FBECDBF8C0185E0F801DE0111962A
+:102F400001900D928A95E1F7F80140813181F2807C
+:102F5000258122952F7083819481892B31F03F3F09
+:102F600031F481E04F3F19F403C081E001C080E0FB
+:102F700080FDC6C249833A8389819A812F830E944A
+:102F8000CA1F9E8388870E94C91F0E949C1E4E8173
+:102F9000E42FE295EF70F0E0E05AFF4F2F81688553
+:102FA0000C94892D842F807F142F1F70882311F09B
+:102FB0001295107FFF2059F0112309F456C2812F7A
+:102FC00068870E94BF200E94E82068854EC2862F35
+:102FD0000E942E17112309F493C2812F0E94C5204D
+:102FE00028960FB6F894DEBF0FBECDBFDF91CF910C
+:102FF0001F910F91FF90EF90DF90CF900C94E820FD
+:10300000342F307F842F8F70303211F08295807F83
+:10301000662319F0613019F12CC0FF20B1F0222392
+:1030200009F494C1213009F091C128960FB6F894A3
+:10303000DEBF0FBECDBFDF91CF911F910F91FF90EB
+:10304000EF90DF90CF900C94CF20222319F0213005
+:1030500009F456C28E830E94D2208E818AC1FF203D
+:1030600021F0263008F04CC271C1253008F048C26A
+:1030700080C1FF2021F0222309F468C1F6C1222378
+:1030800009F477C106C2242F26952695237030E0D7
+:103090002115310521F021303105C9F031C2FF2061
+:1030A00021F0862F942F937002C080E090E0289644
+:1030B0000FB6F894DEBF0FBECDBFDF91CF911F9149
+:1030C0000F91FF90EF90DF90CF900C943815FF2078
+:1030D00021F0862F942F937002C080E090E0289614
+:1030E0000FB6F894DEBF0FBECDBFDF91CF911F9119
+:1030F0000F91FF90EF90DF90CF900C944E15862F9C
+:10310000FF2019F00E948B2402C00E94F32428960D
+:103110000FB6F894DEBF0FBECDBFDF91CF911F91E8
+:103120000F91FF90EF90DF90CF900C947825842F33
+:10313000837009F076C0F110E3C1262F2295269501
+:103140002770220F220F862F8F70C82ED12CE12CD2
+:10315000F12C022E04C0CC0CDD1CEE1CFF1C0A94CA
+:10316000D2F764FF10C06FE070E080E090E004C030
+:10317000660F771F881F991F2A95D2F76095709563
+:103180008095909503C060E070E0CB01242F2695D8
+:1031900026952370422F50E042305105D1F0433044
+:1031A000510559F16C297D298E299F2941305105FE
+:1031B00041F128960FB6F894DEBF0FBECDBFDF9168
+:1031C000CF911F910F91FF90EF90DF90CF900C94D3
+:1031D000C11E6C297D298E299F2928960FB6F89447
+:1031E000DEBF0FBECDBFDF91CF911F910F91FF903A
+:1031F000EF90DF90CF900C94DB1E0E94C11EC701A0
+:10320000B60128960FB6F894DEBF0FBECDBFDF9192
+:10321000CF911F910F91FF90EF90DF90CF900C9482
+:10322000A71EFF2019F0842F817001C08695882386
+:1032300009F466C1262F229526952770220F220FAA
+:10324000862F8F70C82ED12CE12CF12C022E04C0B9
+:10325000CC0CDD1CEE1CFF1C0A94D2F764FF10C0DE
+:103260006FE070E080E090E004C0660F771F881F79
+:10327000991F2A95D2F7609570958095909503C017
+:1032800060E070E0CB01242F269526952370422F15
+:1032900050E042305105D1F04330510559F16C29CD
+:1032A0007D298E299F294130510541F128960FB67D
+:1032B000F894DEBF0FBECDBFDF91CF911F910F916C
+:1032C000FF90EF90DF90CF900C94951F6C297D2993
+:1032D0008E299F2928960FB6F894DEBF0FBECDBF6A
+:1032E000DF91CF911F910F91FF90EF90DF90CF90E2
+:1032F0000C94AF1F0E94951FC701B60128960FB608
+:10330000F894DEBF0FBECDBFDF91CF911F910F911B
+:10331000FF90EF90DF90CF900C947B1F603FC9F13E
+:1033200018F4603E50F49CC0623F09F461C008F498
+:103330004BC0633F09F470C093C0162F1F70842FD9
+:103340008F71FF2099F00E94141F812F28960FB6CD
+:10335000F894DEBF0FBECDBFDF91CF911F910F91CB
+:10336000FF90EF90DF90CF900C947D170E94351F57
+:10337000812F28960FB6F894DEBF0FBECDBFDF9128
+:10338000CF911F910F91FF90EF90DF90CF900C9411
+:103390008417FF20A9F0253008F0B2C0842F8F7168
:1033A00028960FB6F894DEBF0FBECDBFDF91CF9148
-:1033B0001F910F91FF90EF90DF90CF900C94091F19
-:1033C000FF2091F0842F8F7128960FB6F894DEBFFE
-:1033D0000FBECDBFDF91CF911F910F91FF90EF9066
-:1033E000DF90CF900C94D31E28960FB6F894DEBFD2
-:1033F0000FBECDBFDF91CF911F910F91FF90EF9046
-:10340000DF90CF900C94C91EFF20A1F0222309F475
-:10341000B1CF862F28960FB6F894DEBF0FBECDBF72
-:10342000DF91CF911F910F91FF90EF90DF90CF90A0
-:103430000C943A16222309F4B1CF862F28960FB6A2
-:10344000F894DEBF0FBECDBFDF91CF911F910F91DA
-:10345000FF90EF90DF90CF900C9402174F70C8014F
-:103460000E94F70728960FB6F894DEBF0FBECDBFB7
-:10347000DF91CF911F910F91FF90EF90DF90CF9050
-:103480000C94EE1D4F70C80128960FB6F894DEBF5D
-:103490000FBECDBFDF91CF911F910F91FF90EF90A5
-:1034A000DF90CF900C948D0B28960FB6F894DEBF6A
-:1034B0000FBECDBFDF91CF911F910F91FF90EF9085
-:1034C000DF90CF9008950E94A0200E9475200E9456
-:1034D000BC200E947A260E944C2580E090E00E9449
-:1034E0000C1580E090E00C9422150E9490200C9422
-:1034F000631A0E949E1F292F22952F7030E02C30D6
-:1035000031054CF42A3031056CF422503109223057
-:10351000310590F407C02C30310551F02F303105C2
-:1035200039F00AC0803E10F0803F31F481E0089508
-:1035300093FB882780F9089580E00895CF93DF9367
-:1035400000D000D01F92CDB7DEB70F900F900F9034
-:103550000F900F90DF91CF910895CF93DF9300D01C
-:1035600000D000D0CDB7DEB726960FB6F894DEBFF8
-:103570000FBECDBFDF91CF9108951F93CF93DF93FF
-:10358000C091840116E080918501C81799F0D0E0C0
-:103590001C9FF0011D9FF00D1124EA57FE4F408142
-:1035A000518162817381848195810E94AD1A219637
-:1035B000C770E9CFDF91CF911F9108954091B60177
-:1035C0005091B7016091B8017091B9018091BA0131
-:1035D0009091BB010C94AD1ACF938091BB01829561
-:1035E0008F7009F05FC08091B801882309F45AC038
-:1035F00020918401A09185016091B6017091B7017D
-:103600008091B9019091BA0131E06F3F09F030E04B
-:10361000B32FC6E02A1709F445C0009721F07F3F79
-:1036200021F44B2F03C041E001C040E030E040FDF9
-:1036300035C0C29FF001C39FF00D1124EA57FE4F21
-:10364000418174132BC04081641328C04281411111
-:1036500025C0438154814817590710F4415051093E
-:10366000481B590B483C5105C8F48091BB018F7031
-:1036700080618093BB0186E0829FF001839FF00D03
-:103680001124E557FE4F80818F708061808386EB27
-:1036900091E00E945F17CF910C94BD1A2F5F3F4FAE
-:1036A0002770B8CFCF910895CF92DF92EF92FF921B
-:1036B0000F931F93CF93DF93CDB7DEB762970FB60B
-:1036C000F894DEBF0FBECDBF8C0185E0F801DE01AE
-:1036D0001D9601900D928A95E1F7D8014C911196B3
-:1036E0005C91119712966C9112971396ED90FC9045
-:1036F00014977091B601E091B7012091B901309112
-:10370000BA012115310531F0EF3F31F481E07F3FFF
-:1037100019F403C081E001C080E0B82FB170CB2E56
-:1037200080FD6CC1D090B801DD2009F4F5C0F091A6
-:10373000BB01E216F30638F0C701821B930B883CED
-:10374000910548F09BC0209530952E0D3F1D283CDB
-:10375000310508F093C08F2F807F09F052C0E51328
-:1037600014C0741312C0D62E61110FC0FF70F06127
-:10377000F093BB010E94DE1A86EB91E00E945F1776
-:103780008091BB01F80185836CC1EF2831F05F3F68
-:1037900031F481E04F3F19F403C081E001C080E0C3
-:1037A00080FD03C081E0862701C080E0F82FF17022
-:1037B000FF2E80FF1CC0809184012091850136E09E
-:1037C000821709F428C190E0389FF001399FF00D6D
-:1037D0001124EA57FE4F7181571306C070814713B9
-:1037E00003C07281671303C001968770E9CFD62E9C
-:1037F000662309F436C18091BB0181608093BB01CF
-:1038000053C0E51308C0741306C0611104C0D80189
-:103810001596FC93AEC04D875E878D859E856A8B1D
-:103820000E94791A6A89882329F1D62E662311F11C
-:103830002091BB01822F82958F7090E002970CF44B
-:1038400060C08091B6019091B70198878F831986E7
-:10385000FB86EA862C87CE01079651C0E51731F129
-:103860004D875E878D859E856A8B0E94791A6A894D
-:1038700081112EC0C8010E945F17A4C08F2F807FC6
-:1038800069F77E2DF98AE88A89890E949E1A86EB5B
-:1038900091E00E945F17E6EBF1E086E0DF011D9208
-:1038A0008A95E9F70E94DE1AD12CDBC07413D8CFB9
-:1038B0006111D6CFD8011596FC93C8010E945F17FD
-:1038C000E6EBF1E086E0DF011D928A95E9F7C9C0D9
-:1038D000D62E662379F22091BB01822F82958F70BC
-:1038E00090E0029774F08091B6019091B7019A83AD
-:1038F00089831B82FD82EC822E83CE0101960E9479
-:103900005F1786E0F801A6EBB1E001900D928A9571
-:10391000E1F70E94EC1A6FC0E216F30628F0C70127
-:10392000821B930B9C0104C0209530952E0D3F1DEA
-:10393000283C310508F052C0D62E662309F49ACFF0
-:10394000E5132CC074132AC08091BB0180FD1DC0FB
-:10395000982F92959F70C9F0D80115968C93159762
-:103960009F3039F09F5F9295907F8F70892B1596CD
-:103970008C93C8010E945F1786E0F801A6EBB1E0C6
-:1039800001900D928A95E1F736C086E0F801A6EB2A
-:10399000B1E001900D928A95E1F763C04D875E8793
-:1039A0008D859E850E94791A882379F086E0F8013A
-:1039B000A6EBB1E001900D928A95E1F70E94EC1A16
-:1039C0000E94DE1ADD24D3944CC08091BB0181603B
-:1039D0008093BB01C8010E945F1743C07E2DF98A06
-:1039E000E88A89890E949E1AE6EBF1E086E0DF0111
-:1039F0001D928A95E9F70E94DE1A33C0662309F406
-:103A000039CF4D875E878D859E850E94791A8823E0
-:103A100009F430CFCBCF4D875E878D859E850E9480
-:103A20009E1F292F22952F7030E0223031052CF473
-:103A30009F7041F0811106C00CC0243031052CF478
-:103A40009F7049F4805E883020F0C8010E945F17A3
-:103A5000CF2CDC2C06C0D80115969C91907F91F755
-:103A6000F8CF8D2D62960FB6F894DEBF0FBECDBF96
-:103A7000DF91CF911F910F91FF90EF90DF90CF904A
-:103A800008951F93CF93DF93CDB7DEB72C970FB672
-:103A9000F894DEBF0FBECDBF4F83588769877A8702
-:103AA0008B879C87CE0107960E94541B8823C1F008
-:103AB0002F8138858A859B85892B31F03F3F11F016
-:103AC00080E003C02F3FE1F781E0811147C04F81C3
-:103AD000588569857A858B859C850E94AD1A3EC084
-:103AE00086E0FE013796DE01119601900D928A95CF
-:103AF000E1F7FF81E8854A855B854115510531F085
-:103B0000EF3F31F481E0FF3F19F403C081E001C0D1
-:103B100080E080FD23C02091850130E0C90101963D
-:103B2000877099276091840170E086179707F1F1FB
-:103B3000F983EA835D834C8396E0929FD001939F43
-:103B4000B00D1124AA57BE4FFE01319601900D927F
-:103B50009A95E1F7809385010E94BD1A16E0809145
-:103B6000840190918501891779F1189FC001112472
-:103B70008A579E4F0E94541B882331F1E0918401A3
-:103B80001E9FF0011124EA57FE4F4081518162814E
-:103B90007381848195810E94AD1A8091840190E0A7
-:103BA00001968770992780938401D9CF0E94751A56
-:103BB0001092850110928401E6EBF1E086E0DF01CE
-:103BC0001D928A95E9F7CACF2C960FB6F894DEBFFE
-:103BD0000FBECDBFDF91CF911F910895EF92FF925D
-:103BE0000F931F93CF93DF939C01009709F471C04B
-:103BF000F12CEE24E394E9012196F90184918437B4
-:103C000040F4843008F056C0813081F0823021F1D8
-:103C100060C0853709F449C0C0F19CE7980F903720
-:103C200008F057C08F770E94021746C089010E5FC7
-:103C30001F4FFE01849190E2980F983050F48770E6
-:103C4000FE2D01C0FF0F8A95EAF78F2F0E94932067
-:103C500015C00E943A1614C089010E5F1F4FFE0165
-:103C6000849190E2980F983068F48770FE2D01C01F
-:103C7000FF0F8A95EAF78F2F0E9499200E94BC209F
-:103C8000E8011AC00E940217FBCF2E5F3F4FFE01D2
-:103C9000C491CC2341F08FE99FE00197F1F700C078
-:103CA0000000C150F6CFE90107C0FE01F490E90120
-:103CB000229602C00E943A168F2D882341F0EFE928
-:103CC000FFE03197F1F700C000008150F6CF9E0170
-:103CD00092CFDF91CF911F910F91FF90EF900895B8
-:103CE00008956093C0017093C1018093C2019093C5
-:103CF000C3010C94631A0F931F930091C00110919C
-:103D0000C1012091C2013091C301062B172B282B32
-:103D1000392B0093C0011093C1012093C20130934D
-:103D2000C3011F910F910C94631A0F931F9300917D
-:103D3000C0011091C1012091C2013091C30106233D
-:103D40001723282339230093C0011093C101209326
-:103D5000C2013093C3011F910F910C94631A0F930A
-:103D60001F930091C0011091C1012091C2013091B7
-:103D7000C30106271727282739270093C00110936E
-:103D8000C1012093C2013093C3011F910F910C9484
-:103D9000631A1092BC011092BD011092BE011092E4
-:103DA000BF010C94631A41E050E060E070E004C091
-:103DB000440F551F661F771F8A95D2F74093BC01A9
-:103DC0005093BD016093BE017093BF010C94631AC0
-:103DD00041E050E060E070E004C0440F551F661FF2
-:103DE000771F8A95D2F78091BC019091BD01A09177
-:103DF000BE01B091BF01842B952BA62BB72B8093CE
-:103E0000BC019093BD01A093BE01B093BF010C947F
-:103E1000631A41E050E060E070E004C0440F551FB9
-:103E2000661F771F8A95D2F74095509560957095DB
-:103E30008091BC019091BD01A091BE01B091BF01E4
-:103E400084239523A623B7238093BC019093BD01BF
-:103E5000A093BE01B093BF010C94631A41E050E0FF
-:103E600060E070E004C0440F551F661F771F8A95FD
-:103E7000D2F78091BC019091BD01A091BE01B0919B
-:103E8000BF0184279527A627B7278093BC0190936D
-:103E9000BD01A093BE01B093BF010C94631A0F93B0
-:103EA0001F930091BC011091BD012091BE01309182
-:103EB000BF01062B172B282B392B0093BC01109325
-:103EC000BD012093BE013093BF011F910F910C944F
-:103ED000631A0F931F930091BC011091BD012091B3
-:103EE000BE013091BF0106231723282339230093F5
-:103EF000BC011093BD012093BE013093BF011F91FF
-:103F00000F910C94631A0F931F930091BC011091B1
-:103F1000BD012091BE013091BF0106271727282738
-:103F200039270093BC011093BD012093BE0130934B
-:103F3000BF011F910F910C94631A0895CF92DF92E5
-:103F4000EF92FF920F931F93CF93DF93EC01C090FA
-:103F5000C001D090C101E090C201F090C3018091F6
-:103F6000BC019091BD01A091BE01B091BF01C82AD2
-:103F7000D92AEA2AFB2A0FE110E0B701A601002E98
-:103F800004C076956795579547950A94D2F740FFF8
-:103F900007C0BE01802F0E94B00B8130910539F41B
-:103FA0000150110950F7BE0180E00E94B00BDF9173
-:103FB000CF911F910F91FF90EF90DF90CF900895D8
-:103FC00090910C01992361F190910D01992341F198
-:103FD000982F9695969596959F3088F4E0910E01CE
-:103FE000F0910F01E90FF11D877021E030E001C071
-:103FF000220F8A95EAF78181822B8183089590911F
-:10400000D70190FF2DC01F928F9387ED95E09F936E
-:104010008F930E94EE070F900F900F900F900895CE
-:1040200040910E0150910F0120E030E09FEFFA0126
-:10403000E20FF31F6281681799F09F3F19F4611135
-:1040400001C0922F2F5F3F4F2E30310581F79F3FE8
-:1040500039F0FA01E90FF11D97FDFA958283089571
-:10406000089590910C01992369F190910D01992384
-:1040700049F1982F9695969596959F3090F4E091FA
-:104080000E01F0910F01E90FF11D877021E030E082
-:1040900001C0220F8A95EAF7209581812823218388
-:1040A00008959091D70190FF1FC01F928F9389EBC5
-:1040B00095E09F938F930E94EE070F900F900F90C3
-:1040C0000F90089540910E0150910F0120E030E0D3
-:1040D000FA01E20FF31F9281981301C012822F5F41
-:1040E0003F4F2E303105A1F7089581E090E0E09137
-:1040F0000E01F0910F01E80FF91F10820196803137
-:104100009105A9F708959091D601982B9093D60127
-:10411000089580959091D60198239093D6010895A3
-:104120001092D60108959091D501982B9093D501C6
-:10413000089580959091D50198239093D501089585
-:104140001092D50108958093C40108951092C4017E
-:10415000089540910E0150910F0120E030E080E081
-:10416000FA01E20FF31F918191118F5F2F5F3F4F93
-:104170002F303105A9F70895E0910E01F0910F015C
-:104180008091D6018083E0910E01F0910F01808132
-:104190009091D501892B80839091C401992361F07E
-:1041A000E0910E01F0910F018081892B80830E94A4
-:1041B000A92081111092C40180910E0190910F01EC
-:1041C0000C94BC1490933B0180933A010895CF92D4
-:1041D000DF92EF92FF920F931F936C01EE24FF2466
-:1041E000C114D104E104F10421F46B017C0180E0ED
-:1041F00001C080E133272F2D1E2D0D2D0115110536
-:104200002105310519F0885F680179019701860160
-:10421000A4E03695279517950795AA95D1F701152E
-:1042200011052105310519F08C5F680179019701AD
-:104230008601F2E03695279517950795FA95D1F7FF
-:10424000011511052105310519F08E5F680179010D
-:10425000B701A6017695679557954795452B462B4F
-:10426000472B09F08F5F1F910F91FF90EF90DF9028
-:10427000CF9008958295982F9C7C96959695837300
-:1042800044E0849F90011124922B892F8A7A86958D
-:104290009575990F892B08951F93CF93DF931F92E4
-:1042A000CDB7DEB799830E943A21182F9981892FC3
-:1042B0000E943A21212F30E0322F2227A901482BDA
-:1042C000CA010F90DF91CF911F9108958091F00165
-:1042D000843009F11092D80120E488E190E00FB613
-:1042E000F894A895809360000FBE2093600083B778
-:1042F000817F846083BF83B7816083BF7894889512
-:1043000083B78E7F83BF88E10FB6F89480936000F7
-:10431000109260000FBE089508950895CF930E94F3
-:104320008C210E9456090E948D21C0E08C2F0E9492
-:10433000810A811105C0CF5FCE30C1F780E001C096
-:1043400081E0CF9108950C94751A82E084BD93E0CA
-:1043500095BD9AEF97BD80936E0008952FB7F8949E
-:104360008091D9019091DA01A091DB01B091DC013B
-:104370002FBF0895CF92DF92EF92FF920F931F937A
-:104380002FB7F8944091D9015091DA016091DB0187
-:104390007091DC012FBF6A017B01EE24FF248C01A8
-:1043A00020E030E0C016D106E206F30610F44150DA
-:1043B0005109481B590BCA011F910F91FF90EF90B3
-:1043C000DF90CF9008951F920F920FB60F92112495
-:1043D0008F939F93AF93BF938091D9019091DA010E
-:1043E000A091DB01B091DC010196A11DB11D80936C
-:1043F000D9019093DA01A093DB01B093DC01BF9166
-:10440000AF919F918F910F900FBE0F901F901895B5
-:104410000E94B711F8942FEF87EA91E6215080406F
-:104420009040E1F700C0000087E090EBDC01809352
-:10443000F9019093FA01A093FB01B093FC012CE0E9
-:1044400088E190E00FB6F894A895809360000FBEC5
-:1044500020936000FFCFEF92FF920F931F93CF93B3
-:10446000DF93E82EF12C8F2D0E94810AC0E0D0E06E
-:10447000082F10E098010C2E02C0359527950A945C
-:10448000E2F720FD05C02196C630D10599F709C095
-:104490006C2F7F2D80E00E948E0BE812F4CF81E01C
-:1044A00005C0F3948EE0F812DECF80E0DF91CF916B
-:1044B0001F910F91FF90EF900895CF93C82F8CE23A
-:1044C0000E942B22882321F08C2FCF910C942B2239
-:1044D00080E0CF910895CF930E94B823811102C04C
-:1044E0000E949E238CEF95E00E945507C5E6C150BF
-:1044F00049F00E9456098FE39CE90197F1F700C04B
-:104500000000F5CF85EF95E00E94550789E20E94F3
-:104510005D22811111C18AE20E945D2281110E94F7
-:104520009E2385E00E945D2281110E9408220E9444
-:10453000C3238093D70187E00E945D22882399F1ED
-:104540008BE10E945D22882351F09091D70191FB6D
-:10455000882780F921E0822780FB91F922C08EE034
-:104560000E945D22882351F09091D70192FB882709
-:1045700080F921E0822780FB92F913C080E10E943C
-:104580005D229091D701882341F093FB882780F921
-:1045900021E0822780FB93F904C0892F809580FB5E
-:1045A00090F99093D7018091D7010E94C7230E9470
-:1045B000D5238093EA0180EE0E945D22882341F09A
-:1045C0008091EA01982F909590FB80F98093EA0101
-:1045D00089E30E945D22882359F09091EA0191FBC2
-:1045E000882780F921E0822780FB91F99093EA01E6
-:1045F00082EE0E945D22882359F09091EA0192FB9D
-:10460000882780F921E0822780FB92F99093EA01C4
-:1046100086EE0E945D22882359F09091EA0193FB77
-:10462000882780F921E0822780FB93F99093EA01A3
-:1046300083EE0E945D22882359F09091EA0194FB59
-:10464000882780F921E0822780FB94F99093EA0182
-:1046500085E30E945D22882359F09091EA0195FB41
-:10466000882780F921E0822780FB95F99093EA0161
-:1046700081E30E945D22882359F09091EA0196FB24
-:10468000882780F921E0822780FB96F99093EA0140
-:1046900081E10E945D22882359F09091EA0197FB05
-:1046A000882780F921E0822780FB97F99093EA011F
-:1046B0008091EA010E94D9238091EA0187FB882733
-:1046C00080F980930D0187E20E945D22C82F8EE160
-:1046D0000E945D228111C2608FE10E945D228111E2
-:1046E000C46080E20E945D228111C86081E20E9464
-:1046F0005D228111C06182E20E945D228111C0624F
-:1047000083E20E945D228111C06484E20E945D22E6
-:10471000882311F0C06802C0CC2329F08C2F0E949E
-:10472000D0236C2F03C00E94CC23682F70E080E060
-:1047300090E0CF910C94711ECF9108956DEE7EEFB5
-:1047400080E090E00E94932D60E082E090E00E9483
-:10475000852D60E083E090E00E94852D60E084E09C
-:1047600090E00E94852D60E085E090E00C94852D1E
-:1047700080E090E00E947F2D21E08D3E9E4F09F069
-:1047800020E0822F089582E090E00C94772D682F2E
-:1047900082E090E00C94852D83E090E00C94772DDE
-:1047A000682F83E090E00C94852D84E090E00C94D9
-:1047B000772D682F84E090E00C94852D8091DF01A7
-:1047C00080FF0BC06091130185E0689FB001112448
-:1047D00075956795759567952AC081FF09C06091A9
-:1047E000130185E0689FB0011124759567951FC07E
-:1047F00082FF07C06091130185E0689FB00111241A
-:1048000016C04091E0014423C9F06091120146179F
-:1048100088F72091130185E0289F90011124429F81
-:10482000C001439F900D112470E00E94492D603813
-:10483000710540F46115710539F002C065E070E062
-:10484000862F08958FE7089581E008958091DF0114
-:1048500080FF08C06091110170E0759567957595AE
-:10486000679521C081FF06C06091110170E07595C8
-:10487000679519C082FF04C06091110170E010C0FB
-:104880008091E0018823C1F0609110018617A0F7A4
-:1048900090911101989FC001112470E00E94492D50
-:1048A0006038710528F46115710521F0862F08958F
-:1048B0008FE7089581E0089561E070E0F4CF803FD4
-:1048C00021F40E94DE23819504C0813F29F40E94D7
-:1048D000DE238093E3010895823F21F40E94DE23CA
-:1048E000819504C0833F29F40E94DE238093E20176
-:1048F0000895893F19F40E94262405C08A3F31F4A7
-:104900000E94262481958093E40108958B3F21F431
-:104910000E942624819504C08C3F29F40E942624FD
-:104920008093E5010895843F21F48091E101816045
-:1049300017C0853F21F48091E101826011C0863F5C
-:1049400021F48091E10184600BC0873F21F48091C4
-:10495000E101886005C0883F31F48091E101806108
-:104960008093E10108958D3F21F48091DF01816002
-:104970000BC08E3F21F48091DF01826005C08F3F24
-:1049800029F48091DF0184608093DF010895803FE6
-:1049900039F48091E30187FF6CC01092E30169C094
-:1049A000813F29F48091E3011816BCF362C0909115
-:1049B000E201823F29F497FF5CC01092E20159C0E6
-:1049C000833F19F41916CCF354C0893F41F4809108
-:1049D000E40118160CF04DC01092E4014AC08A3F61
-:1049E00029F48091E40187FF44C0F6CF8B3F39F46E
-:1049F0008091E50187FF3DC01092E5013AC08C3FF0
-:104A000029F48091E5011816BCF333C0843F21F4EA
-:104A10008091E1018E7F17C0853F21F48091E101F3
-:104A20008D7F11C0863F21F48091E1018B7F0BC007
-:104A3000873F21F48091E101877F05C0883F31F4F1
-:104A40008091E1018F7E8093E10113C08D3F21F4BD
-:104A50008091DF018E7F0BC08E3F21F48091DF01BA
-:104A60008D7F05C08F3F29F48091DF018B7F80937C
-:104A7000DF018091E20181110EC08091E30181117B
-:104A80000AC08091E401811106C08091E501811185
-:104A900002C01092E00108958091D70183FF7EC08B
-:104AA00088E396E00E9455078091E1011F928F9361
-:104AB00083E396E09F938F930E94EE0781E396E055
-:104AC0000E9455072091E201822F992787FD90953A
-:104AD0009F932F938EE296E09F938F930E94EE0711
-:104AE0008CE296E00E9455072091E301822F9927DE
-:104AF00087FD90959F932F9389E296E09F938F93E4
-:104B00000E94EE0787E296E00E9455072091E4019B
-:104B1000822F992787FD90959F932F9384E296E0AB
-:104B20009F938F930E94EE0782E296E00E945507C2
-:104B30002091E501822F992787FD90959F932F93D0
-:104B40008FE196E09F938F930E94EE078CE196E0B1
-:104B50000E9455078091E0011F928F9389E196E0B2
-:104B60009F938F930E94EE0787E196E00E9455077E
-:104B70008091DF011F928F9384E196E09F938F9342
-:104B80000E94EE0781E196E00E9455078DB79EB71F
-:104B90004C960FB6F8949EBF0FBE8DBF81EE91E08C
-:104BA0000E9401150E94AE219093DE018093DD01E9
-:104BB00008951F93CF93DF938091DD019091DE01E3
-:104BC0000E94BA214091E001442321F02091140178
-:104BD00030E006C0209115015AE0259F9001112474
-:104BE0008217930708F482C08091E2011091E301DB
-:104BF000D091E401C091E501811107C0111105C0F8
-:104C0000D11103C0CC2309F471C04F3F19F04F5F9D
-:104C10004093E001181624F40E94DE238093E20101
-:104C20008091E20187FF05C00E94DE238195809379
-:104C3000E201111624F40E94DE238093E3018091A7
-:104C4000E30187FF05C00E94DE2381958093E30185
-:104C50006091E201662339F11091E301112319F10A
-:104C6000772767FD7095872F972F0E944E2C23E39F
-:104C700033E343E35FE30E94B22C0E941B2C60935A
-:104C8000E201612F772767FD7095872F972F0E948C
-:104C90004E2C23E333E343E35FE30E94B22C0E94F4
-:104CA0001B2C6093E3011D1624F40E94262480939C
-:104CB000E4018091E40187FF05C00E9426248195CC
-:104CC0008093E4011C1624F40E9426248093E501BD
-:104CD0008091E50187FF05C00E942624819580937D
-:104CE000E501DF91CF911F910C944C25DF91CF917D
-:104CF0001F910895E1EEF1E085E0DF011D928A95B4
-:104D0000E9F71092E0011092DF0108958BE598E039
-:104D10000E9455071F9281E08F931F9285E08F9329
-:104D20008DE098E09F938F930E94EE070F900F9075
-:104D30000F900F900F900F9008958330E9F128F4B1
-:104D4000813061F0823009F10895853009F462C044
-:104D500008F449C0863009F474C008952091150103
-:104D6000862F90E0820F911D8F3F910520F4620FF6
-:104D70006093150103C08FEF809315018091150199
-:104D80001F928F9386E497E072C020911401862FC2
-:104D900090E0820F911D8F3F910520F4620F609388
-:104DA000140103C08FEF80931401809114011F92AE
-:104DB0008F9384E397E05BC020911301862F90E0EE
-:104DC000820F911D8F3F910520F4620F60931301B4
-:104DD00003C08FEF80931301809113011F928F9373
-:104DE00081E297E044C020911201862F90E0820F6B
-:104DF000911D8F3F910520F4620F6093120103C053
-:104E00008FEF80931201809112011F928F938CE09B
-:104E100097E02DC020911101862F90E0820F911D07
-:104E20008F3F910520F4620F6093110103C08FEF53
-:104E300080931101809111011F928F9383EF96E06F
-:104E400016C020911001862F90E0820F911D8F3F98
-:104E5000910520F4620F6093100103C08FEF8093DF
-:104E60001001809110011F928F9388ED96E09F931F
-:104E70008F930E94EE070F900F900F900F90089560
-:104E8000833081F128F4813059F08230D1F00895D7
-:104E9000853009F449C0B8F1863009F456C0089548
-:104EA00080911501681720F4861B8093150102C0BC
-:104EB00010921501809115011F928F9389EC96E055
-:104EC00054C080911401681720F4861B809314014C
-:104ED00002C010921401809114011F928F9387EBEE
-:104EE00096E043C080911301681720F4861B8093DD
-:104EF000130102C010921301809113011F928F932E
-:104F000084EA96E032C080911201681720F4861B73
-:104F10008093120102C010921201809112011F921F
-:104F20008F938FE896E021C080911101681720F4DB
-:104F3000861B8093110102C0109211018091110112
-:104F40001F928F9386E796E010C08091100168173A
-:104F500020F4861B8093100102C0109210018091F2
-:104F600010011F928F938BE596E09F938F930E9481
-:104F7000EE070F900F900F900F900895CF93C82FCA
-:104F80001F928F9320E639E03F932F930E94EE0704
-:104F900061E070E080E090E004C0660F771F881F3A
-:104FA000991FCA95D2F70E94711E0F900F900F9013
-:104FB0000F90CF910C94751ACF938D3109F465C081
-:104FC000B0F58E3009F4CBC100F5873009F49BC1F0
-:104FD000A8F4863009F06AC28091D701817F8E7F64
-:104FE0008093D70185E699E00E94550787EA9DE006
-:104FF0000E94550781E08093E70180C1883009F461
-:105000004FC08B3009F47CC151C2863109F4EDC127
-:1050100038F4803109F4B6C1813109F42DC246C299
-:10502000893109F4CBC18B3109F486C13FC2853384
-:1050300009F434C248F4873209F430C208F430C2AB
-:10504000893209F42BC232C2833438F48A3308F02F
-:1050500029C2883309F454C129C2833409F41EC219
-:10506000883409F023C20E94751A86E99DE00E94E7
-:1050700055079FEF23ED80E3915020408040E1F7FA
-:1050800000C000000E94082239C186EB9DE00E940A
-:1050900055070E94D52B0E94B0140E94EE0C2EC121
-:1050A0008BEA9DE00E94550786E79BE00E9455072A
-:1050B0000E94CC231F928F9383E79BE09F938F9353
-:1050C0000E94EE0781E79BE00E9455070E94C323E0
-:1050D000C82F8EE59BE00E9455071F92CF9329E5CC
-:1050E0003BE03F932F930E94EE0787E59BE00E94F1
-:1050F00055078DE49BE00E9455078C2F81701F920D
-:105100008F932AE43BE03F932F930E94EE0788E4BD
-:105110009BE00E9455078EE39BE00E945507C1FB70
-:10512000882780F91F928F932BE33BE03F932F93C7
-:105130000E94EE0789E39BE00E9455078DE29BE009
-:105140000E945507C2FB882780F91F928F932AE29D
-:105150003BE03F932F930E94EE0788E29BE00E9482
-:1051600055078FE19BE00E945507C3FBCC27C0F990
-:105170001F92CF938CE19BE09F938F930E94EE0749
-:105180008AE19BE00E9455070E94D523C82F86E044
-:105190009BE00E9455071F92CF9321E03BE03F9395
-:1051A0002F930E94EE078FEF9AE00E94550786EE3C
-:1051B0009AE00E9455078C2F81701F928F9323EEE7
-:1051C0003AE03F932F930E94EE078DB79EB78096EB
-:1051D0000FB6F8949EBF0FBE8DBF81EE9AE00E947D
-:1051E00055078AEC9AE00E945507C1FB882780F991
-:1051F0001F928F9327EC3AE03F932F930E94EE0784
-:1052000085EC9AE00E94550783EB9AE00E945507CF
-:10521000C2FB882780F91F928F9320EB3AE03F93DF
-:105220002F930E94EE078EEA9AE00E9455078CE9C0
-:105230009AE00E945507C3FB882780F91F928F933D
-:1052400029E93AE03F932F930E94EE0787E99AE01D
-:105250000E9455078DE89AE00E945507C4FB8827F5
-:1052600080F91F928F932AE83AE03F932F930E9490
-:10527000EE0788E89AE00E94550786E79AE00E94C8
-:105280005507C5FB882780F91F928F9323E73AE0E3
-:105290003F932F930E94EE0781E79AE00E94550703
-:1052A00085E59AE00E945507C6FB882780F91F9282
-:1052B0008F9322E53AE03F932F930E94EE0780E51B
-:1052C0009AE00E94550788E49AE00E945507C7FBC0
-:1052D000CC27C0F91F92CF9385E49AE09F938F93D8
-:1052E0000E94EE0783E49AE00E9455078DB79EB7AF
-:1052F0004C960FB6F8949EBF0FBE8DBFC1E0DBC0C9
-:105300008CE899E058C08091D701C82FC17080FF08
-:1053100009C089E89DE00E9455078091D701817FEF
-:105320008E7F44C08DE79DE00E9455078091D70194
-:1053300081608093D701E2CF8091D70181FBCC2798
-:10534000C0F991E0C927C0FB81F98093D701CC2334
-:1053500019F080E79DE025C082E69DE02CC0809199
-:10536000D70182FBCC27C0F991E0C927C0FB82F9A5
-:105370008093D701CC2319F083E59DE012C083E42C
-:105380009DE019C08091D70183FBCC27C0F991E043
-:10539000C927C0FB83F98093D701CC2351F087E361
-:1053A0009DE00E9455078091D70181608093D701CD
-:1053B00082C08AE29DE00E945507A0CF8BE19DE06C
-:1053C0000E9455078FEE9CE00E94550782EB9CE0FF
-:1053D0000E94550785E89CE00E94550781E49CE007
-:1053E0000E94550786E19CE0E6CF88E09CE00E94A1
-:1053F00055070E94B0141F928F938EEE9BE09F93EF
-:105400008F930E94EE0780910C011F928F9387ED7E
-:105410009BE09F938F930E94EE0780916E011F92F5
-:105420008F9384EC9BE09F938F930E94EE07809173
-:105430000D011F928F9381EB9BE09F938F930E94AE
-:10544000EE078091D9019091DA01A091DB01B09132
-:10545000DC01BF93AF939F938F938DE99BE09F9364
-:105460008F930E94EE078DB79EB746960FB6F894BD
-:105470009EBF0FBE8DBF42CF0E94751AC0910D0115
-:1054800081E0C827C0930D01CC2329F083E99BE07C
-:105490000E94550710C088E89BE08DCF80E003C0D4
-:1054A0008D5101C089530E94BE2728CF86E89BE01A
-:1054B0000E945507C0E08C2FCF91089580E0089599
-:1054C00080E00895CF93C82F8091E701813081F06B
-:1054D00020F0823009F44CC042C1A0910E01B0917D
-:1054E0000F018C91813169F0823209F03AC109C013
-:1054F000A0910E01B0910F018C91813111F0823297
-:1055000049F48C2F0E945E2A81112FC08C2F0E949B
-:10551000DC272CC08C2F0E94602A811126C0C43148
-:10552000E1F070F4CB3081F0C031D1F40E948626D6
-:1055300088E599E00E94550782E08093E70115C055
-:10554000C93259F0C83361F485E699E00E945507E5
-:105550008CE599E00E94550708C01092E70103C14D
-:1055600086E599E00E945507FEC081E08170FDC08C
-:10557000C43220F5CE3108F0C0C0CB3099F1C8F468
-:10558000C73009F0D2C08AE08093150194E190936E
-:10559000140193E0909313018093120188E08093AB
-:1055A000110188E2809310018CEF97E00E9455076B
-:1055B000BFC0C33149F1C431C1F0B7C0CB3409F425
-:1055C000A9C028F4C93289F0C83361F0AEC0C13532
-:1055D00009F49EC0C23509F499C0CE3409F0A5C0C3
-:1055E0006AE09EC00E948626A3C08091E6018823BF
-:1055F00019F01092E6019CC089E098E00E945507DE
-:1056000081E08093E701B1C083EE97E00E945507E7
-:1056100081ED97E00E945507809115011F928F93AD
-:105620008EEC97E09F938F930E94EE078CEC97E0AF
-:105630000E9455078AEB97E00E945507809114015C
-:105640001F928F9387EB97E09F938F930E94EE07B3
-:1056500085EB97E00E94550786EA97E00E94550780
-:10566000809113011F928F9383EA97E09F938F930A
-:105670000E94EE0781EA97E00E94550780E997E0D3
-:105680000E945507809112011F928F938DE897E039
-:105690009F938F930E94EE078BE897E00E94550737
-:1056A00086E797E00E945507809111011F928F9322
-:1056B00083E797E09F938F930E94EE0781E797E03F
-:1056C0000E9455078AE597E00E94550780911001D6
-:1056D0001F928F9387E597E09F938F930E94EE0729
-:1056E00085E597E00E9455078DB79EB748960FB69F
-:1056F000F8949EBF0FBE8DBF1BC0CE51EC2FF0E0C3
-:10570000E15DFE4F80818093E60112C061E003C03D
-:1057100061E006C06AE08091E6010E949D2608C013
-:105720008091E6010E94402703C08AEF97E013C0F2
-:105730008091E601882369F01F928F9384EF97E0B0
-:105740009F938F930E94EE070F900F900F900F90F2
-:1057500004C081EF97E00E94550781E006C01092D7
-:10576000E70180E002C080E001CFCF910895E1E839
-:10577000F0E08081886080838081816080838FB742
-:10578000F89493E09093890090ED909388008FBFF8
-:105790000895EFE6F0E08081826080830895EFE66F
-:1057A000F0E080818D7F80830895EFE6F0E08081D6
-:1057B00092E08927808308951F920F920FB60F926F
-:1057C00011242F933F934F935F936F937F938F9306
-:1057D0009F93AF93BF93EF93FF938091E8019091D4
-:1057E000E90101969093E9018093E801811103C0DA
-:1057F00082E00E94EE0CE091E901E695E695F0E08A
-:10580000EA53F24FE4918091E8018E1303C080E0E7
-:105810000E94EE0CFF91EF91BF91AF919F918F91FC
-:105820007F916F915F914F913F912F910F900FBE9C
-:105830000F901F90189504D06894B1118DC00895F1
-:1058400070D088F09F5790F0B92F9927B751A0F0EA
-:10585000D1F0660F771F881F991F1AF0BA95C9F704
-:1058600012C0B13081F077D0B1E0089574C0672FD5
-:10587000782F8827B85F39F0B93FCCF386957795B4
-:105880006795B395D9F73EF490958095709561959D
-:105890007F4F8F4F9F4F0895E89409C097FB3EF4C8
-:1058A00090958095709561957F4F8F4F9F4F99236D
-:1058B000A9F0F92F96E9BB279395F69587957795EB
-:1058C0006795B795F111F8CFFAF4BB0F11F460FFAB
-:1058D0001BC06F5F7F4F8F4F9F4F16C0882311F003
-:1058E00096E911C0772321F09EE8872F762F05C017
-:1058F000662371F096E8862F70E060E02AF09A95B2
-:10590000660F771F881FDAF7880F9695879597F9A6
-:10591000089557FD9058440F551F59F05F3F71F09F
-:105920004795880F97FB991F61F09F3F79F0879506
-:105930000895121613061406551FF2CF4695F1DF8F
-:1059400008C0161617061806991FF1CF869571051F
-:10595000610508940895E894BB2766277727CB0153
-:1059600097F908950BD078C069D028F06ED018F060
-:10597000952309F05AC05FC01124EECFCADFA0F30F
-:10598000959FD1F3950F50E0551F629FF001729FD4
-:10599000BB27F00DB11D639FAA27F00DB11DAA1FF3
-:1059A000649F6627B00DA11D661F829F2227B00D40
-:1059B000A11D621F739FB00DA11D621F839FA00DCB
-:1059C000611D221F749F3327A00D611D231F849F1B
-:1059D000600D211D822F762F6A2F11249F57504072
-:1059E0008AF0E1F088234AF0EE0FFF1FBB1F661F0D
-:1059F000771F881F91505040A9F79E3F510570F0C6
-:105A000014C0AACF5F3FECF3983EDCF38695779500
-:105A10006795B795F795E7959F5FC1F7FE2B880FC0
-:105A2000911D9695879597F9089597F99F6780E856
-:105A300070E060E008959FEF80EC089500240A94E0
-:105A40001616170618060906089500240A94121659
-:105A50001306140605060895092E0394000C11F48C
-:105A6000882352F0BB0F40F4BF2B11F460FF04C039
-:105A70006F5F7F4F8F4F9F4F0895991B79E004C050
-:105A8000991F961708F0961B881F7A95C9F780957D
-:105A9000089597FB072E16F4009407D077FD09D0E0
-:105AA0000E94632D07FC05D03EF4909581959F4F91
-:105AB0000895709561957F4F0895EE0FFF1F059033
-:105AC000F491E02D0994AA1BBB1B51E107C0AA1F4A
-:105AD000BB1FA617B70710F0A61BB70B881F991F8F
-:105AE0005A95A9F780959095BC01CD010895F99933
-:105AF000FECF92BD81BDF89A992780B50895A8E19F
-:105B0000B0E042E050E00C949A2D262FF999FECF98
-:105B10001FBA92BD81BD20BD0FB6F894FA9AF99ACA
-:105B20000FBE019608950E94852D272F0C94862D77
-:105B3000DC01CB01FC01F999FECF06C0F2BDE1BD4D
-:105B4000F89A319600B40D9241505040B8F708953C
-:045B5000F894FFCFF7
-:105B54002002EF0CE00DBD0D890D560D0101C501AC
-:105B640028080A03140A3F4D3620394605F904C3B0
-:105B740004A3046A04DD03F6030F042804480401A3
-:0A5B840002030405060708090000EB
+:1033B0001F910F91FF90EF90DF90CF900C945A1FC8
+:1033C000263008F09DC0EACFFF20A1F0842F8F7136
+:1033D00028960FB6F894DEBF0FBECDBFDF91CF9118
+:1033E0001F910F91FF90EF90DF90CF900C94141FDE
+:1033F000FF2061F3842F8F7128960FB6F894DEBFFB
+:103400000FBECDBFDF91CF911F910F91FF90EF9035
+:10341000DF90CF900C94351FFF2091F0842F8F7197
+:1034200028960FB6F894DEBF0FBECDBFDF91CF91C7
+:103430001F910F91FF90EF90DF90CF900C94FF1EA3
+:1034400028960FB6F894DEBF0FBECDBFDF91CF91A7
+:103450001F910F91FF90EF90DF90CF900C94F51E8D
+:10346000FF20A1F0222309F4B1CF862F28960FB6B2
+:10347000F894DEBF0FBECDBFDF91CF911F910F91AA
+:10348000FF90EF90DF90CF900C946616222309F402
+:10349000B1CF862F28960FB6F894DEBF0FBECDBFF2
+:1034A000DF91CF911F910F91FF90EF90DF90CF9020
+:1034B0000C942E174F70C8010E94F70728960FB67C
+:1034C000F894DEBF0FBECDBFDF91CF911F910F915A
+:1034D000FF90EF90DF90CF900C941A1E4F70C801B0
+:1034E00028960FB6F894DEBF0FBECDBFDF91CF9107
+:1034F0001F910F91FF90EF90DF90CF900C94B90B3C
+:1035000028960FB6F894DEBF0FBECDBFDF91CF91E6
+:103510001F910F91FF90EF90DF90CF9008950E9440
+:10352000CC200E94A1200E94E8200E94A6260E9492
+:10353000782580E090E00E94381580E090E00C94BF
+:103540004E150E94BC200C948F1A0E94CA1F292F6E
+:1035500022952F7030E02C3031054CF42A303105A3
+:103560006CF4225031092230310590F407C02C3020
+:10357000310551F02F30310539F00AC0803E10F08E
+:10358000803F31F481E0089593FB882780F9089506
+:1035900080E00895CF93DF9300D000D01F92CDB785
+:1035A000DEB70F900F900F900F900F90DF91CF919B
+:1035B0000895CF93DF9300D000D000D0CDB7DEB711
+:1035C00026960FB6F894DEBF0FBECDBFDF91CF9128
+:1035D00008951F93CF93DF93C091840116E08091EB
+:1035E0008501C81799F0D0E01C9FF0011D9FF00DD8
+:1035F0001124EA57FE4F4081518162817381848199
+:1036000095810E94D91A2196C770E9CFDF91CF9199
+:103610001F9108954091B6015091B7016091B80192
+:103620007091B9018091BA019091BB010C94D91AA3
+:10363000CF938091BB0182958F7009F05FC080911C
+:10364000B801882309F45AC020918401A091850112
+:103650006091B6017091B7018091B9019091BA0162
+:1036600031E06F3F09F030E0B32FC6E02A1709F4CC
+:1036700045C0009721F07F3F21F44B2F03C041E06C
+:1036800001C040E030E040FD35C0C29FF001C39F63
+:10369000F00D1124EA57FE4F418174132BC0408175
+:1036A000641328C04281411125C0438154814817C9
+:1036B000590710F441505109481B590B483C51051A
+:1036C000C8F48091BB018F7080618093BB0186E05C
+:1036D000829FF001839FF00D1124E557FE4F8081FA
+:1036E0008F708061808386EB91E00E948B17CF9171
+:1036F0000C94E91A2F5F3F4F2770B8CFCF910895F0
+:10370000CF92DF92EF92FF920F931F93CF93DF93AD
+:10371000CDB7DEB762970FB6F894DEBF0FBECDBF50
+:103720008C0185E0F801DE011D9601900D928A95CD
+:10373000E1F7D8014C9111965C91119712966C911A
+:1037400012971396ED90FC9014977091B601E0914A
+:10375000B7012091B9013091BA012115310531F03D
+:10376000EF3F31F481E07F3F19F403C081E001C0F5
+:1037700080E0B82FB170CB2E80FD6CC1D090B80125
+:10378000DD2009F4F5C0F091BB01E216F30638F034
+:10379000C701821B930B883C910548F09BC0209584
+:1037A00030952E0D3F1D283C310508F093C08F2F1A
+:1037B000807F09F052C0E51314C0741312C0D62ED6
+:1037C00061110FC0FF70F061F093BB010E940A1BF2
+:1037D00086EB91E00E948B178091BB01F8018583F5
+:1037E0006CC1EF2831F05F3F31F481E04F3F19F4B5
+:1037F00003C081E001C080E080FD03C081E0862736
+:1038000001C080E0F82FF170FF2E80FF1CC0809176
+:1038100084012091850136E0821709F428C190E0E7
+:10382000389FF001399FF00D1124EA57FE4F718146
+:10383000571306C07081471303C07281671303C01A
+:1038400001968770E9CFD62E662309F436C18091A0
+:10385000BB0181608093BB0153C0E51308C07413A2
+:1038600006C0611104C0D8011596FC93AEC04D8707
+:103870005E878D859E856A8B0E94A51A6A8988233A
+:1038800029F1D62E662311F12091BB01822F82955A
+:103890008F7090E002970CF460C08091B601909117
+:1038A000B70198878F831986FB86EA862C87CE011D
+:1038B000079651C0E51731F14D875E878D859E854E
+:1038C0006A8B0E94A51A6A8981112EC0C8010E94C4
+:1038D0008B17A4C08F2F807F69F77E2DF98AE88A25
+:1038E00089890E94CA1A86EB91E00E948B17E6EB49
+:1038F000F1E086E0DF011D928A95E9F70E940A1B3C
+:10390000D12CDBC07413D8CF6111D6CFD801159656
+:10391000FC93C8010E948B17E6EBF1E086E0DF0123
+:103920001D928A95E9F7C9C0D62E662379F22091B7
+:10393000BB01822F82958F7090E0029774F0809186
+:10394000B6019091B7019A8389831B82FD82EC8234
+:103950002E83CE0101960E948B1786E0F801A6EB1C
+:10396000B1E001900D928A95E1F70E94181B6FC09B
+:10397000E216F30628F0C701821B930B9C0104C0DA
+:10398000209530952E0D3F1D283C310508F052C082
+:10399000D62E662309F49ACFE5132CC074132AC0DF
+:1039A0008091BB0180FD1DC0982F92959F70C9F03A
+:1039B000D80115968C9315979F3039F09F5F92959B
+:1039C000907F8F70892B15968C93C8010E948B175E
+:1039D00086E0F801A6EBB1E001900D928A95E1F73F
+:1039E00036C086E0F801A6EBB1E001900D928A9511
+:1039F000E1F763C04D875E878D859E850E94A51A7D
+:103A0000882379F086E0F801A6EBB1E001900D92F1
+:103A10008A95E1F70E94181B0E940A1BDD24D394AB
+:103A20004CC08091BB0181608093BB01C8010E94A2
+:103A30008B1743C07E2DF98AE88A89890E94CA1AA9
+:103A4000E6EBF1E086E0DF011D928A95E9F70E943E
+:103A50000A1B33C0662309F439CF4D875E878D85F5
+:103A60009E850E94A51A882309F430CFCBCF4D87BD
+:103A70005E878D859E850E94CA1F292F22952F70F3
+:103A800030E0223031052CF49F7041F0811106C0E6
+:103A90000CC0243031052CF49F7049F4805E8830CE
+:103AA00020F0C8010E948B17CF2CDC2C06C0D80157
+:103AB00015969C91907F91F7F8CF8D2D62960FB659
+:103AC000F894DEBF0FBECDBFDF91CF911F910F9154
+:103AD000FF90EF90DF90CF9008951F93CF93DF93E7
+:103AE000CDB7DEB72C970FB6F894DEBF0FBECDBFB3
+:103AF0004F83588769877A878B879C87CE01079683
+:103B00000E94801B8823C1F02F8138858A859B8580
+:103B1000892B31F03F3F11F080E003C02F3FE1F7E8
+:103B200081E0811147C04F81588569857A858B85F1
+:103B30009C850E94D91A3EC086E0FE013796DE01C0
+:103B4000119601900D928A95E1F7FF81E8854A85EB
+:103B50005B854115510531F0EF3F31F481E0FF3FC6
+:103B600019F403C081E001C080E080FD23C02091F2
+:103B7000850130E0C9010196877099276091840121
+:103B800070E086179707F1F1F983EA835D834C8330
+:103B900096E0929FD001939FB00D1124AA57BE4F7B
+:103BA000FE01319601900D929A95E1F7809385017F
+:103BB0000E94E91A16E0809184019091850189178D
+:103BC00079F1189FC00111248A579E4F0E94801BD3
+:103BD000882331F1E09184011E9FF0011124EA57FE
+:103BE000FE4F4081518162817381848195810E9461
+:103BF000D91A8091840190E001968770992780936B
+:103C00008401D9CF0E94A11A1092850110928401DB
+:103C1000E6EBF1E086E0DF011D928A95E9F7CACF75
+:103C20002C960FB6F894DEBF0FBECDBFDF91CF91BB
+:103C30001F910895EF92FF920F931F93CF93DF93FD
+:103C40009C01009709F471C0F12CEE24E394E90182
+:103C50002196F9018491843740F4843008F056C0ED
+:103C6000813081F0823021F160C0853709F449C08C
+:103C7000C0F19CE7980F903708F057C08F770E94EB
+:103C80002E1746C089010E5F1F4FFE01849190E2FE
+:103C9000980F983050F48770FE2D01C0FF0F8A9561
+:103CA000EAF78F2F0E94BF2015C00E94661614C02D
+:103CB00089010E5F1F4FFE01849190E2980F9830AA
+:103CC00068F48770FE2D01C0FF0F8A95EAF78F2FE9
+:103CD0000E94C5200E94E820E8011AC00E942E1709
+:103CE000FBCF2E5F3F4FFE01C491CC2341F08FE903
+:103CF0009FE00197F1F700C00000C150F6CFE90145
+:103D000007C0FE01F490E901229602C00E946616E7
+:103D10008F2D882341F0EFE9FFE03197F1F700C0E4
+:103D200000008150F6CF9E0192CFDF91CF911F917D
+:103D30000F91FF90EF90089508956093C0017093E4
+:103D4000C1018093C2019093C3010C948F1A0F9309
+:103D50001F930091C0011091C1012091C2013091C7
+:103D6000C301062B172B282B392B0093C00110936E
+:103D7000C1012093C2013093C3011F910F910C9494
+:103D80008F1A0F931F930091C0011091C1012091D0
+:103D9000C2013091C301062317232823392300933E
+:103DA000C0011093C1012093C2013093C3011F9140
+:103DB0000F910C948F1A0F931F930091C0011091D3
+:103DC000C1012091C2013091C3010627172728277E
+:103DD00039270093C0011093C1012093C201309391
+:103DE000C3011F910F910C948F1A1092BC01109275
+:103DF000BD011092BE011092BF010C948F1A41E0D8
+:103E000050E060E070E004C0440F551F661F771F4C
+:103E10008A95D2F74093BC015093BD016093BE01D7
+:103E20007093BF010C948F1A41E050E060E070E0A5
+:103E300004C0440F551F661F771F8A95D2F78091E3
+:103E4000BC019091BD01A091BE01B091BF01842B36
+:103E5000952BA62BB72B8093BC019093BD01A0930B
+:103E6000BE01B093BF010C948F1A41E050E060E0B6
+:103E700070E004C0440F551F661F771F8A95D2F764
+:103E800040955095609570958091BC019091BD01D1
+:103E9000A091BE01B091BF0184239523A623B7232F
+:103EA0008093BC019093BD01A093BE01B093BF016C
+:103EB0000C948F1A41E050E060E070E004C0440FC1
+:103EC000551F661F771F8A95D2F78091BC0190918C
+:103ED000BD01A091BE01B091BF0184279527A627FF
+:103EE000B7278093BC019093BD01A093BE01B0930E
+:103EF000BF010C948F1A0F931F930091BC01109176
+:103F0000BD012091BE013091BF01062B172B282B3C
+:103F1000392B0093BC011093BD012093BE01309357
+:103F2000BF011F910F910C948F1A0F931F93009153
+:103F3000BC011091BD012091BE013091BF0106234B
+:103F40001723282339230093BC011093BD0120932C
+:103F5000BE013093BF011F910F910C948F1A0F93E4
+:103F60001F930091BC011091BD012091BE013091C1
+:103F7000BF0106271727282739270093BC01109374
+:103F8000BD012093BE013093BF011F910F910C948E
+:103F90008F1A0895CF92DF92EF92FF920F931F93A3
+:103FA000CF93DF93EC01C090C001D090C101E090AD
+:103FB000C201F090C3018091BC019091BD01A0911C
+:103FC000BE01B091BF01C82AD92AEA2AFB2A0FE113
+:103FD00010E0B701A601002E04C0769567955795AD
+:103FE00047950A94D2F740FF07C0BE01802F0E9478
+:103FF000DC0B8130910539F40150110950F7BE01F5
+:1040000080E00E94DC0BDF91CF911F910F91FF9018
+:10401000EF90DF90CF90089590910C01992361F17A
+:1040200090910D01992341F1982F9695969596952B
+:104030009F3088F4E0910E01F0910F01E90FF11D1E
+:10404000877021E030E001C0220F8A95EAF7818174
+:10405000822B818308959091D70190FF2DC01F92EC
+:104060008F9387ED95E09F938F930E94EE070F90BB
+:104070000F900F900F90089540910E0150910F01F5
+:1040800020E030E09FEFFA01E20FF31F6281681732
+:1040900099F09F3F19F4611101C0922F2F5F3F4F9C
+:1040A0002E30310581F79F3F39F0FA01E90FF11DFC
+:1040B00097FDFA9582830895089590910C019923B4
+:1040C00069F190910D01992349F1982F9695969554
+:1040D00096959F3090F4E0910E01F0910F01E90F59
+:1040E000F11D877021E030E001C0220F8A95EAF7C8
+:1040F000209581812823218308959091D70190FFF5
+:104100001FC01F928F9389EB95E09F938F930E941E
+:10411000EE070F900F900F900F90089540910E01B1
+:1041200050910F0120E030E0FA01E20FF31F92817D
+:10413000981301C012822F5F3F4F2E303105A1F737
+:10414000089581E090E0E0910E01F0910F01E80FF9
+:10415000F91F1082019680319105A9F70895909179
+:10416000D601982B9093D601089580959091D60111
+:1041700098239093D60108951092D60108959091B6
+:10418000D501982B9093D501089580959091D501F4
+:1041900098239093D50108951092D50108958093A6
+:1041A000C40108951092C401089540910E015091E8
+:1041B0000F0120E030E080E0FA01E20FF31F91816F
+:1041C00091118F5F2F5F3F4F2F303105A9F7089571
+:1041D000E0910E01F0910F018091D6018083E09172
+:1041E0000E01F0910F0180819091D501892B808380
+:1041F0009091C401992361F0E0910E01F0910F01BB
+:104200008081892B80830E94D52081111092C40166
+:1042100080910E0190910F010C94E81490933B0152
+:1042200080933A010895CF92DF92EF92FF920F931D
+:104230001F936C01EE24FF24C114D104E104F104A6
+:1042400021F46B017C0180E001C080E133272F2D38
+:104250001E2D0D2D011511052105310519F0885F61
+:104260006801790197018601A4E036952795179595
+:104270000795AA95D1F7011511052105310519F00A
+:104280008C5F6801790197018601F2E036952795E8
+:1042900017950795FA95D1F70115110521053105F7
+:1042A00019F08E5F68017901B701A60176956795CF
+:1042B00057954795452B462B472B09F08F5F1F914C
+:1042C0000F91FF90EF90DF90CF9008958295982FF7
+:1042D0009C7C96959695837344E0849F900111246D
+:1042E000922B892F8A7A86959575990F892B089537
+:1042F0001F93CF93DF931F92CDB7DEB799830E94B0
+:104300006621182F9981892F0E946621212F30E084
+:10431000322F2227A901482BCA010F90DF91CF919C
+:104320001F9108958091F001843009F11092D80115
+:1043300020E488E190E00FB6F894A895809360009F
+:104340000FBE2093600083B7817F846083BF83B7F3
+:10435000816083BF7894889583B78E7F83BF88E11F
+:104360000FB6F89480936000109260000FBE08951D
+:1043700008950895CF930E94B8210E9482090E9457
+:10438000B921C0E08C2F0E94AD0A811105C0CF5F1A
+:10439000CE30C1F780E001C081E0CF9108950C9448
+:1043A000A11A82E084BD93E095BD9AEF97BD8093FA
+:1043B0006E0008952FB7F8948091D9019091DA0199
+:1043C000A091DB01B091DC012FBF0895CF92DF9265
+:1043D000EF92FF920F931F932FB7F8944091D9015A
+:1043E0005091DA016091DB017091DC012FBF6A010D
+:1043F0007B01EE24FF248C0120E030E0C016D106C2
+:10440000E206F30610F441505109481B590BCA014A
+:104410001F910F91FF90EF90DF90CF9008951F9222
+:104420000F920FB60F9211248F939F93AF93BF9368
+:104430008091D9019091DA01A091DB01B091DC016A
+:104440000196A11DB11D8093D9019093DA01A0932B
+:10445000DB01B093DC01BF91AF919F918F910F90E1
+:104460000FBE0F901F9018950E94E311F8942FEF44
+:1044700087EA91E6215080409040E1F700C00000BB
+:1044800087E090EBDC018093F9019093FA01A0930F
+:10449000FB01B093FC012CE088E190E00FB6F894AA
+:1044A000A895809360000FBE20936000FFCFEF922D
+:1044B000FF920F931F93CF93DF93E82EF12C8F2D54
+:1044C0000E94AD0AC0E0D0E0082F10E098010C2E49
+:1044D00002C0359527950A94E2F720FD05C0219684
+:1044E000C630D10599F709C06C2F7F2D80E00E945E
+:1044F000BA0BE812F4CF81E005C0F3948EE0F81215
+:10450000DECF80E0DF91CF911F910F91FF90EF9070
+:104510000895CF93C82F8CE20E945722882321F060
+:104520008C2FCF910C94572280E0CF910895CF9398
+:104530000E94E423811102C00E94CA238CEF95E0FF
+:104540000E945507C5E6C15049F00E9482098FE3D9
+:104550009CE90197F1F700C00000F5CF85EF95E0E9
+:104560000E94550789E20E948922811111C18AE2C5
+:104570000E94892281110E94CA2385E00E9489221B
+:1045800081110E9434220E94EF238093D70187E09B
+:104590000E948922882399F18BE10E948922882335
+:1045A00051F09091D70191FB882780F921E0822773
+:1045B00080FB91F922C08EE00E948922882351F06D
+:1045C0009091D70192FB882780F921E0822780FB18
+:1045D00092F913C080E10E9489229091D70188232B
+:1045E00041F093FB882780F921E0822780FB93F933
+:1045F00004C0892F809580FB90F99093D70180911A
+:10460000D7010E94F3230E9401248093EA0180EEE7
+:104610000E948922882341F08091EA01982F909589
+:1046200090FB80F98093EA0189E30E948922882324
+:1046300059F09091EA0191FB882780F921E08227C7
+:1046400080FB91F99093EA0182EE0E9489228823EF
+:1046500059F09091EA0192FB882780F921E08227A6
+:1046600080FB92F99093EA0186EE0E9489228823CA
+:1046700059F09091EA0193FB882780F921E0822785
+:1046800080FB93F99093EA0183EE0E9489228823AC
+:1046900059F09091EA0194FB882780F921E0822764
+:1046A00080FB94F99093EA0185E30E948922882394
+:1046B00059F09091EA0195FB882780F921E0822743
+:1046C00080FB95F99093EA0181E30E948922882377
+:1046D00059F09091EA0196FB882780F921E0822722
+:1046E00080FB96F99093EA0181E10E948922882358
+:1046F00059F09091EA0197FB882780F921E0822701
+:1047000080FB97F99093EA018091EA010E940524C9
+:104710008091EA0187FB882780F980930D0187E269
+:104720000E948922C82F8EE10E9489228111C260D5
+:104730008FE10E9489228111C46080E20E94892257
+:104740008111C86081E20E9489228111C06182E2E8
+:104750000E9489228111C06283E20E948922811114
+:10476000C06484E20E948922882311F0C06802C0DC
+:10477000CC2329F08C2F0E94FC236C2F03C00E94B5
+:10478000F823682F70E080E090E0CF910C949D1E9C
+:10479000CF9108956DEE7EEF80E090E00E94BF2DF6
+:1047A00060E082E090E00E94B12D60E083E090E064
+:1047B0000E94B12D60E084E090E00E94B12D60E0A5
+:1047C00085E090E00C94B12D80E090E00E94AB2D4C
+:1047D00021E08D3E9E4F09F020E0822F089582E077
+:1047E00090E00C94A32D682F82E090E00C94B12D02
+:1047F00083E090E00C94A32D682F83E090E00C946C
+:10480000B12D84E090E00C94A32D682F84E090E01B
+:104810000C94B12D8091DF0180FF0BC060911301DA
+:1048200085E0689FB001112475956795759567952A
+:104830002AC081FF09C06091130185E0689FB00123
+:104840001124759567951FC082FF07C06091130101
+:1048500085E0689FB001112416C04091E001442317
+:10486000C9F060911201461788F72091130185E085
+:10487000289F90011124429FC001439F900D112455
+:1048800070E00E94752D6038710540F46115710566
+:1048900039F002C065E070E0862F08958FE7089533
+:1048A00081E008958091DF0180FF08C060911101CF
+:1048B00070E0759567957595679521C081FF06C075
+:1048C0006091110170E07595679519C082FF04C071
+:1048D0006091110170E010C08091E0018823C1F067
+:1048E000609110018617A0F790911101989FC00167
+:1048F000112470E00E94752D6038710528F461154F
+:10490000710521F0862F08958FE7089581E00895BD
+:1049100061E070E0F4CF803F21F40E940A24819589
+:1049200004C0813F29F40E940A248093E301089582
+:10493000823F21F40E940A24819504C0833F29F418
+:104940000E940A248093E2010895893F19F40E948D
+:10495000522405C08A3F31F40E94522481958093ED
+:10496000E40108958B3F21F40E945224819504C0F4
+:104970008C3F29F40E9452248093E5010895843FDE
+:1049800021F48091E101816017C0853F21F480917D
+:10499000E101826011C0863F21F48091E1018460D1
+:1049A0000BC0873F21F48091E101886005C0883FFA
+:1049B00031F48091E10180618093E10108958D3FA0
+:1049C00021F48091DF0181600BC08E3F21F4809142
+:1049D000DF01826005C08F3F29F48091DF01846090
+:1049E0008093DF010895803F39F48091E30187FFD0
+:1049F0006CC01092E30169C0813F29F48091E3010A
+:104A00001816BCF362C09091E201823F29F497FF2F
+:104A10005CC01092E20159C0833F19F41916CCF31F
+:104A200054C0893F41F48091E40118160CF04DC048
+:104A30001092E4014AC08A3F29F48091E40187FF83
+:104A400044C0F6CF8B3F39F48091E50187FF3DC02C
+:104A50001092E5013AC08C3F29F48091E5011816C7
+:104A6000BCF333C0843F21F48091E1018E7F17C0F5
+:104A7000853F21F48091E1018D7F11C0863F21F4B3
+:104A80008091E1018B7F0BC0873F21F48091E10190
+:104A9000877F05C0883F31F48091E1018F7E80934C
+:104AA000E10113C08D3F21F48091DF018E7F0BC0A7
+:104AB0008E3F21F48091DF018D7F05C08F3F29F467
+:104AC0008091DF018B7F8093DF018091E201811172
+:104AD0000EC08091E30181110AC08091E40181112F
+:104AE00006C08091E501811102C01092E001089595
+:104AF0008091D70183FF7EC088E396E00E9455072E
+:104B00008091E1011F928F9383E396E09F938F93AF
+:104B10000E94EE0781E396E00E9455072091E20192
+:104B2000822F992787FD90959F932F938EE296E091
+:104B30009F938F930E94EE078CE296E00E945507A8
+:104B40002091E301822F992787FD90959F932F93C2
+:104B500089E296E09F938F930E94EE0787E296E0AA
+:104B60000E9455072091E401822F992787FD909597
+:104B70009F932F9384E296E09F938F930E94EE077A
+:104B800082E296E00E9455072091E501822F992745
+:104B900087FD90959F932F938FE196E09F938F933E
+:104BA0000E94EE078CE196E00E9455078091E0019B
+:104BB0001F928F9389E196E09F938F930E94EE0757
+:104BC00087E196E00E9455078091DF011F928F9345
+:104BD00084E196E09F938F930E94EE0781E196E037
+:104BE0000E9455078DB79EB74C960FB6F8949EBF9E
+:104BF0000FBE8DBF81EE91E00E942D150E94DA213B
+:104C00009093DE018093DD0108951F93CF93DF938E
+:104C10008091DD019091DE010E94E6214091E0014A
+:104C2000442321F02091140130E006C020911501A9
+:104C30005AE0259F900111248217930708F482C03F
+:104C40008091E2011091E301D091E401C091E5016E
+:104C5000811107C0111105C0D11103C0CC2309F483
+:104C600071C04F3F19F04F5F4093E001181624F4D4
+:104C70000E940A248093E2018091E20187FF05C02F
+:104C80000E940A2481958093E201111624F40E9467
+:104C90000A248093E3018091E30187FF05C00E940D
+:104CA0000A2481958093E3016091E201662339F142
+:104CB0001091E301112319F1772767FD7095872F74
+:104CC000972F0E947A2C23E333E343E35FE30E94B0
+:104CD000DE2C0E94472C6093E201612F772767FD4D
+:104CE0007095872F972F0E947A2C23E333E343E3B9
+:104CF0005FE30E94DE2C0E94472C6093E3011D16A7
+:104D000024F40E9452248093E4018091E40187FFFF
+:104D100005C00E94522481958093E4011C1624F45E
+:104D20000E9452248093E5018091E50187FF05C030
+:104D30000E94522481958093E501DF91CF911F91CC
+:104D40000C947825DF91CF911F910895E1EEF1E069
+:104D500085E0DF011D928A95E9F71092E00110923B
+:104D6000DF0108958BE598E00E9455071F9281E0CE
+:104D70008F931F9285E08F938DE098E09F938F93A0
+:104D80000E94EE070F900F900F900F900F900F90D2
+:104D900008958330E9F128F4813061F0823009F11F
+:104DA0000895853009F462C008F449C0863009F4DA
+:104DB00074C0089520911501862F90E0820F911DF7
+:104DC0008F3F910520F4620F6093150103C08FEFB0
+:104DD00080931501809115011F928F9386E497E0CF
+:104DE00072C020911401862F90E0820F911D8F3F99
+:104DF000910520F4620F6093140103C08FEF80933C
+:104E00001401809114011F928F9384E397E05BC09B
+:104E100020911301862F90E0820F911D8F3F910505
+:104E200020F4620F6093130103C08FEF809313018E
+:104E3000809113011F928F9381E297E044C02091EB
+:104E40001201862F90E0820F911D8F3F910520F473
+:104E5000620F6093120103C08FEF80931201809163
+:104E600012011F928F938CE097E02DC020911101C9
+:104E7000862F90E0820F911D8F3F910520F4620FE5
+:104E80006093110103C08FEF809311018091110194
+:104E90001F928F9383EF96E016C020911001862F0A
+:104EA00090E0820F911D8F3F910520F4620F609377
+:104EB000100103C08FEF80931001809110011F92A9
+:104EC0008F9388ED96E09F938F930E94EE070F904B
+:104ED0000F900F900F900895833081F128F4813066
+:104EE00059F08230D1F00895853009F449C0B8F105
+:104EF000863009F456C0089580911501681720F492
+:104F0000861B8093150102C0109215018091150136
+:104F10001F928F9389EC96E054C08091140168171A
+:104F200020F4861B8093140102C01092140180911A
+:104F300014011F928F9387EB96E043C08091130179
+:104F4000681720F4861B8093130102C0109213018E
+:104F5000809113011F928F9384EA96E032C0809172
+:104F60001201681720F4861B8093120102C0109270
+:104F70001201809112011F928F938FE896E021C059
+:104F800080911101681720F4861B8093110102C0E3
+:104F900010921101809111011F928F9386E796E084
+:104FA00010C080911001681720F4861B80931001B7
+:104FB00002C010921001809110011F928F938BE517
+:104FC00096E09F938F930E94EE070F900F900F90A3
+:104FD0000F900895CF93C82F1F928F9320E639E04A
+:104FE0003F932F930E94EE0761E070E080E090E035
+:104FF00004C0660F771F881F991FCA95D2F70E94B9
+:105000009D1E0F900F900F900F90CF910C94A11AAE
+:10501000CF938D3109F465C0B0F58E3009F4CBC162
+:1050200000F5873009F49BC1A8F4863009F06AC204
+:105030008091D701817F8E7F8093D70185E699E0AB
+:105040000E94550787EA9DE00E94550781E0809302
+:10505000E70180C1883009F44FC08B3009F47CC16E
+:1050600051C2863109F4EDC138F4803109F4B6C17A
+:10507000813109F42DC246C2893109F4CBC18B318B
+:1050800009F486C13FC2853309F434C248F487323B
+:1050900009F430C208F430C2893209F42BC232C29A
+:1050A000833438F48A3308F029C2883309F454C1B0
+:1050B00029C2833409F41EC2883409F023C20E9435
+:1050C000A11A86E99DE00E9455079FEF23ED80E33A
+:1050D000915020408040E1F700C000000E9434223F
+:1050E00039C186EB9DE00E9455070E94012C0E9469
+:1050F000DC140E941A0D2EC18BEA9DE00E94550718
+:1051000086E79BE00E9455070E94F8231F928F9329
+:1051100083E79BE09F938F930E94EE0781E79BE0DC
+:105120000E9455070E94EF23C82F8EE59BE00E9446
+:1051300055071F92CF9329E53BE03F932F930E94A1
+:10514000EE0787E59BE00E9455078DE49BE00E94F7
+:1051500055078C2F81701F928F932AE43BE03F9379
+:105160002F930E94EE0788E49BE00E9455078EE390
+:105170009BE00E945507C1FB882780F91F928F93FF
+:105180002BE33BE03F932F930E94EE0789E39BE0E4
+:105190000E9455078DE29BE00E945507C2FB8827BD
+:1051A00080F91F928F932AE23BE03F932F930E9456
+:1051B000EE0788E29BE00E9455078FE19BE00E948A
+:1051C0005507C3FBCC27C0F91F92CF938CE19BE01E
+:1051D0009F938F930E94EE078AE19BE00E94550700
+:1051E0000E940124C82F86E09BE00E9455071F9271
+:1051F000CF9321E03BE03F932F930E94EE078FEF88
+:105200009AE00E94550786EE9AE00E9455078C2F7F
+:1052100081701F928F9323EE3AE03F932F930E9469
+:10522000EE078DB79EB780960FB6F8949EBF0FBE5F
+:105230008DBF81EE9AE00E9455078AEC9AE00E94A9
+:105240005507C1FB882780F91F928F9327EC3AE01E
+:105250003F932F930E94EE0785EC9AE00E9455073A
+:1052600083EB9AE00E945507C2FB882780F91F92C2
+:105270008F9320EB3AE03F932F930E94EE078EEA44
+:105280009AE00E9455078CE99AE00E945507C3FBFB
+:10529000882780F91F928F9329E93AE03F932F9353
+:1052A0000E94EE0787E99AE00E9455078DE89AE090
+:1052B0000E945507C4FB882780F91F928F932AE824
+:1052C0003AE03F932F930E94EE0788E89AE00E940D
+:1052D000550786E79AE00E945507C5FB882780F9A5
+:1052E0001F928F9323E73AE03F932F930E94EE079C
+:1052F00081E79AE00E94550785E59AE00E945507EC
+:10530000C6FB882780F91F928F9322E53AE03F93EE
+:105310002F930E94EE0780E59AE00E94550788E4EB
+:105320009AE00E945507C7FBCC27C0F91F92CF9384
+:1053300085E49AE09F938F930E94EE0783E49AE0BE
+:105340000E9455078DB79EB74C960FB6F8949EBF36
+:105350000FBE8DBFC1E0DBC08CE899E058C08091E2
+:10536000D701C82FC17080FF09C089E89DE00E9465
+:1053700055078091D701817F8E7F44C08DE79DE0E6
+:105380000E9455078091D70181608093D701E2CFB9
+:105390008091D70181FBCC27C0F991E0C927C0FBE0
+:1053A00081F98093D701CC2319F080E79DE025C0D7
+:1053B00082E69DE02CC08091D70182FBCC27C0F90A
+:1053C00091E0C927C0FB82F98093D701CC2319F063
+:1053D00083E59DE012C083E49DE019C08091D70170
+:1053E00083FBCC27C0F991E0C927C0FB83F98093E8
+:1053F000D701CC2351F087E39DE00E9455078091AF
+:10540000D70181608093D70182C08AE29DE00E942B
+:105410005507A0CF8BE19DE00E9455078FEE9CE0E1
+:105420000E94550782EB9CE00E94550785E89CE0AE
+:105430000E94550781E49CE00E94550786E19CE0AC
+:10544000E6CF88E09CE00E9455070E94DC141F9282
+:105450008F938EEE9BE09F938F930E94EE07809137
+:105460000C011F928F9387ED9BE09F938F930E9477
+:10547000EE0780916E011F928F9384EC9BE09F93C7
+:105480008F930E94EE0780910D011F928F9381EB05
+:105490009BE09F938F930E94EE078091D90190919A
+:1054A000DA01A091DB01B091DC01BF93AF939F9330
+:1054B0008F938DE99BE09F938F930E94EE078DB7AA
+:1054C0009EB746960FB6F8949EBF0FBE8DBF42CFD3
+:1054D0000E94A11AC0910D0181E0C827C0930D015F
+:1054E000CC2329F083E99BE00E94550710C088E88F
+:1054F0009BE08DCF80E003C08D5101C089530E9495
+:10550000EA2728CF86E89BE00E945507C0E08C2F51
+:10551000CF91089580E0089580E00895CF93C82F3B
+:105520008091E701813081F020F0823009F44CC095
+:1055300042C1A0910E01B0910F018C91813169F0AF
+:10554000823209F03AC109C0A0910E01B0910F0159
+:105550008C91813111F0823249F48C2F0E948A2A79
+:1055600081112FC08C2F0E9408282CC08C2F0E94E4
+:105570008C2A811126C0C431E1F070F4CB3081F067
+:10558000C031D1F40E94B22688E599E00E94550707
+:1055900082E08093E70115C0C93259F0C83361F445
+:1055A00085E699E00E9455078CE599E00E94550731
+:1055B00008C01092E70103C186E599E00E945507F3
+:1055C000FEC081E08170FDC0C43220F5CE3108F00C
+:1055D000C0C0CB3099F1C8F4C73009F0D2C08AE01E
+:1055E0008093150194E19093140193E0909313013B
+:1055F0008093120188E08093110188E2809310016A
+:105600008CEF97E00E945507BFC0C33149F1C43108
+:10561000C1F0B7C0CB3409F4A9C028F4C93289F06D
+:10562000C83361F0AEC0C13509F49EC0C23509F47B
+:1056300099C0CE3409F0A5C06AE09EC00E94B2268F
+:10564000A3C08091E601882319F01092E6019CC066
+:1056500089E098E00E94550781E08093E701B1C09E
+:1056600083EE97E00E94550781ED97E00E94550771
+:10567000809115011F928F938EEC97E09F938F93EB
+:105680000E94EE078CEC97E00E9455078AEB97E0AA
+:105690000E945507809114011F928F9387EB97E02A
+:1056A0009F938F930E94EE0785EB97E00E9455072A
+:1056B00086EA97E00E945507809113011F928F930D
+:1056C00083EA97E09F938F930E94EE0781EA97E029
+:1056D0000E94550780E997E00E94550780911201CA
+:1056E0001F928F938DE897E09F938F930E94EE0710
+:1056F0008BE897E00E94550786E797E00E945507E0
+:10570000809111011F928F9383E797E09F938F936E
+:105710000E94EE0781E797E00E9455078AE597E02F
+:105720000E945507809110011F928F9387E597E0A3
+:105730009F938F930E94EE0785E597E00E9455079F
+:105740008DB79EB748960FB6F8949EBF0FBE8DBF1B
+:105750001BC0CE51EC2FF0E0E15DFE4F80818093C5
+:10576000E60112C061E003C061E006C06AE080911A
+:10577000E6010E94C92608C08091E6010E946C27BC
+:1057800003C08AEF97E013C08091E601882369F097
+:105790001F928F9384EF97E09F938F930E94EE0761
+:1057A0000F900F900F900F9004C081EF97E00E9430
+:1057B000550781E006C01092E70180E002C080E05A
+:1057C00001CFCF910895E1E8F0E080818860808387
+:1057D0008081816080838FB7F89493E090938900F3
+:1057E00090ED909388008FBF0895EFE6F0E0808100
+:1057F000826080830895EFE6F0E080818D7F808372
+:105800000895EFE6F0E0808192E089278083089593
+:105810001F920F920FB60F9211242F933F934F9325
+:105820005F936F937F938F939F93AF93BF93EF9308
+:10583000FF938091E8019091E90101969093E9012D
+:105840008093E801811103C082E00E941A0DE0916B
+:10585000E901E695E695F0E0EA53F24FE491809194
+:10586000E8018E1303C080E00E941A0DFF91EF91B2
+:10587000BF91AF919F918F917F916F915F914F9168
+:105880003F912F910F900FBE0F901F90189504D04D
+:105890006894B1118DC0089570D088F09F5790F032
+:1058A000B92F9927B751A0F0D1F0660F771F881F45
+:1058B000991F1AF0BA95C9F712C0B13081F077D0AC
+:1058C000B1E0089574C0672F782F8827B85F39F04A
+:1058D000B93FCCF3869577956795B395D9F73EF4A4
+:1058E00090958095709561957F4F8F4F9F4F08954C
+:1058F000E89409C097FB3EF490958095709561956A
+:105900007F4F8F4F9F4F9923A9F0F92F96E9BB271F
+:105910009395F695879577956795B795F111F8CF9B
+:10592000FAF4BB0F11F460FF1BC06F5F7F4F8F4F06
+:105930009F4F16C0882311F096E911C0772321F0FC
+:105940009EE8872F762F05C0662371F096E8862F94
+:1059500070E060E02AF09A95660F771F881FDAF7EB
+:10596000880F9695879597F9089557FD9058440F9D
+:10597000551F59F05F3F71F04795880F97FB991FAE
+:1059800061F09F3F79F0879508951216130614066B
+:10599000551FF2CF4695F1DF08C0161617061806F8
+:1059A000991FF1CF86957105610508940895E894D3
+:1059B000BB2766277727CB0197F908950BD078C0CE
+:1059C00069D028F06ED018F0952309F05AC05FC056
+:1059D0001124EECFCADFA0F3959FD1F3950F50E0CD
+:1059E000551F629FF001729FBB27F00DB11D639F91
+:1059F000AA27F00DB11DAA1F649F6627B00DA11D37
+:105A0000661F829F2227B00DA11D621F739FB00DDC
+:105A1000A11D621F839FA00D611D221F749F33274C
+:105A2000A00D611D231F849F600D211D822F762FE5
+:105A30006A2F11249F5750408AF0E1F088234AF0E2
+:105A4000EE0FFF1FBB1F661F771F881F915050402E
+:105A5000A9F79E3F510570F014C0AACF5F3FECF349
+:105A6000983EDCF3869577956795B795F795E7951A
+:105A70009F5FC1F7FE2B880F911D9695879597F92B
+:105A8000089597F99F6780E870E060E008959FEFC0
+:105A900080EC089500240A941616170618060906C5
+:105AA000089500240A941216130614060506089594
+:105AB000092E0394000C11F4882352F0BB0F40F41C
+:105AC000BF2B11F460FF04C06F5F7F4F8F4F9F4F5C
+:105AD0000895991B79E004C0991F961708F0961B4A
+:105AE000881F7A95C9F78095089597FB072E16F4BD
+:105AF000009407D077FD09D00E948F2D07FC05D0B8
+:105B00003EF4909581959F4F0895709561957F4FD4
+:105B10000895EE0FFF1F0590F491E02D0994AA1B44
+:105B2000BB1B51E107C0AA1FBB1FA617B70710F088
+:105B3000A61BB70B881F991F5A95A9F780959095BA
+:105B4000BC01CD010895F999FECF92BD81BDF89AAF
+:105B5000992780B50895A8E1B0E042E050E00C94A8
+:105B6000C62D262FF999FECF1FBA92BD81BD20BD4B
+:105B70000FB6F894FA9AF99A0FBE019608950E940A
+:105B8000B12D272F0C94B22DDC01CB01FC01F9992A
+:105B9000FECF06C0F2BDE1BDF89A319600B40D9279
+:0C5BA00041505040B8F70895F894FFCF32
+:105BAC0020021B0D0C0EE90DB50D820D0101C50176
+:105BBC0028080A03140A3F4D3620394605F904C358
+:105BCC0004A3046A04DD03F6030F0428044804014B
+:0A5BDC000203040506070809000093
:00000001FF
diff --git a/keyboard/ergodox_ez/keymaps/keymap_default_osx.png b/keyboard/ergodox_ez/keymaps/keymap_default_osx.png
deleted file mode 100644
index f8f6eb9a7..000000000
--- a/keyboard/ergodox_ez/keymaps/keymap_default_osx.png
+++ /dev/null
Binary files differ
diff --git a/keyboard/ergodox_ez/keymaps/keymap_dvorak.c b/keyboard/ergodox_ez/keymaps/keymap_dvorak.c
new file mode 100644
index 000000000..53934ea34
--- /dev/null
+++ b/keyboard/ergodox_ez/keymaps/keymap_dvorak.c
@@ -0,0 +1,184 @@
+#include "ergodox_ez.h"
+#include "debug.h"
+#include "action_layer.h"
+
+#define BASE 0 // default layer
+#define SYMB 1 // symbols
+#define MDIA 2 // media keys
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* Keymap 0: Basic layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | = | 1 | 2 | 3 | 4 | 5 | LEFT | | RIGHT| 6 | 7 | 8 | 9 | 0 | \ |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | Del | ' | , | . | P | Y | L1 | | L1 | F | G | C | R | L | / |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | BkSp | A | O | E | U | I |------| |------| D | H | T | N |S / L2| - |
+ * |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------|
+ * | LShift |:/Ctrl| Q | J | K | X | | | | B | M | W | V |Z/Ctrl| RShift |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * |Grv/L1| '" |AltShf| Left | Right| | Up | Down | [ | ] | ~L1 |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | App | LGui | | Alt |Ctrl/Esc|
+ * ,------|------|------| |------+--------+------.
+ * | | | Home | | PgUp | | |
+ * | Space|Backsp|------| |------| Tab |Enter |
+ * | |ace | End | | PgDn | | |
+ * `--------------------' `----------------------'
+ */
+// If it accepts an argument (i.e, is a function), it doesn't need KC_.
+// Otherwise, it needs KC_*
+[BASE] = KEYMAP( // layer 0 : default
+ // left hand
+ KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT,
+ KC_DELT, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, TG(1),
+ KC_BSPC, KC_A, KC_O, KC_E, KC_U, KC_I,
+ KC_LSFT, CTL_T(KC_SCLN), KC_Q, KC_J, KC_K, KC_X, ALL_T(KC_NO),
+ LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_LEFT,KC_RGHT,
+ ALT_T(KC_APP), KC_LGUI,
+ KC_HOME,
+ KC_SPC,KC_BSPC,KC_END,
+ // right hand
+ KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS,
+ TG(1), KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH,
+ KC_D, KC_H, KC_T, KC_N, LT(MDIA, KC_S), KC_MINS,
+ MEH_T(KC_NO),KC_B, KC_M, KC_W, KC_V, CTL_T(KC_Z), KC_RSFT,
+ KC_UP, KC_DOWN,KC_LBRC,KC_RBRC, KC_FN1,
+ KC_LALT, CTL_T(KC_ESC),
+ KC_PGUP,
+ KC_PGDN,KC_TAB, KC_ENT
+ ),
+/* Keymap 1: Symbol Layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | | | | | . | 0 | = | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | | |
+ * | | |------| |------| | |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+// SYMBOLS
+[SYMB] = KEYMAP(
+ // left hand
+ KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS,
+ KC_TRNS,KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS,
+ KC_TRNS,KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV,
+ KC_TRNS,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ KC_TRNS,KC_TRNS,
+ KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,
+ // right hand
+ KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
+ KC_TRNS, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_F12,
+ KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS,
+ KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS,
+ KC_TRNS,KC_DOT, KC_0, KC_EQL, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS
+),
+/* Keymap 2: Media and mouse keys
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | | | | | | | | | | | | | | | |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | | | MsUp | | | | | | | | | | | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | | | | | | | | | | | Prev | Next | | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | |Brwser|
+ * | | |------| |------| |Back |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+// MEDIA AND MOUSE
+KEYMAP(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ // right hand
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS,
+ KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_WBAK
+),
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+ [1] = ACTION_LAYER_TAP_TOGGLE(SYMB) // FN1 - Momentary Layer 1 (Symbols)
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ // MACRODOWN only works in this function
+ switch(id) {
+ case 0:
+ if (record->event.pressed) {
+ register_code(KC_RSFT);
+ } else {
+ unregister_code(KC_RSFT);
+ }
+ break;
+ }
+ return MACRO_NONE;
+};
+
+// Runs just one time when the keyboard initializes.
+void * matrix_init_user(void) {
+
+};
+
+// Runs constantly in the background, in a loop.
+void * matrix_scan_user(void) {
+
+ uint8_t layer = biton32(layer_state);
+
+ ergodox_board_led_off();
+ ergodox_right_led_1_off();
+ ergodox_right_led_2_off();
+ ergodox_right_led_3_off();
+ switch (layer) {
+ // TODO: Make this relevant to the ErgoDox EZ.
+ case 1:
+ ergodox_right_led_1_on();
+ break;
+ case 2:
+ ergodox_right_led_2_on();
+ break;
+ default:
+ // none
+ break;
+ }
+
+};
diff --git a/keyboard/ergodox_ez/keymaps/keymap_dvorak.png b/keyboard/ergodox_ez/keymaps/keymap_dvorak.png
new file mode 100644
index 000000000..cb8316309
--- /dev/null
+++ b/keyboard/ergodox_ez/keymaps/keymap_dvorak.png
Binary files differ
diff --git a/keyboard/ergodox_ez/keymaps/keymap_j3rn.c b/keyboard/ergodox_ez/keymaps/keymap_j3rn.c
new file mode 100644
index 000000000..ddc64e55e
--- /dev/null
+++ b/keyboard/ergodox_ez/keymaps/keymap_j3rn.c
@@ -0,0 +1,186 @@
+#include "ergodox_ez.h"
+#include "debug.h"
+#include "action_layer.h"
+
+#define BASE 0 // default layer
+#define SYMB 1 // symbols
+#define MDIA 2 // media keys
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* Keymap 0: Basic layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | Grv | 1 | 2 | 3 | 4 | 5 | [ | | ] | 6 | 7 | 8 | 9 | 0 | BkSp |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | Tab | Q | W | E | R | T | - | | = | Y | U | I | O | P | \ |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * |Ctrl/Esc| A | S | D | F | G |------| |------| H | J | K | L |; / L2| ' |
+ * |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------|
+ * | LShift |Z/Ctrl| X | C | V | B | | | | N | M | , | . |//Ctrl| RShift |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | ~L1 | '" |AltShf| Left | Right| | Up | Down | [ | ] | ~L1 |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | App | Home | | PgUp |Ctrl/Esc|
+ * ,------|------|------| |------+--------+------.
+ * | | | End | | PgDn | | |
+ * |Space | LGui |------| |------| Tab |Enter |
+ * | | |Shift | | Alt | | |
+ * `--------------------' `----------------------'
+ */
+// If it accepts an argument (i.e, is a function), it doesn't need KC_.
+// Otherwise, it needs KC_*
+[BASE] = KEYMAP( // layer 0 : default
+ // left hand
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LBRC,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_MINS,
+ CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G,
+ KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO),
+ KC_FN1, KC_QUOT, LALT(KC_LSFT), KC_LEFT,KC_RGHT,
+
+ ALT_T(KC_APP), KC_HOME,
+ KC_END,
+ KC_SPC, KC_LGUI, KC_LSHIFT,
+ // right hand
+ KC_RBRC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
+ KC_EQL, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
+ KC_H, KC_J, KC_K, KC_L, LT(MDIA, KC_SCLN),KC_QUOT,
+ MEH_T(KC_NO),KC_N, KC_M, KC_COMM,KC_DOT, CTL_T(KC_SLSH), KC_RSFT,
+ KC_UP, KC_DOWN,KC_LBRC,KC_RBRC, KC_FN1,
+
+ KC_PGUP, CTL_T(KC_ESC),
+ KC_PGDN,
+ KC_LALT, KC_TAB, KC_ENT
+ ),
+/* Keymap 1: Symbol Layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | | | | | . | 0 | = | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | | |
+ * | | |------| |------| | |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+// SYMBOLS
+[SYMB] = KEYMAP(
+ // left hand
+ KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS,
+ KC_TRNS,KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS,
+ KC_TRNS,KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV,
+ KC_TRNS,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ KC_TRNS,KC_TRNS,
+ KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,
+ // right hand
+ KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
+ KC_TRNS, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_F12,
+ KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS,
+ KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS,
+ KC_TRNS,KC_DOT, KC_0, KC_EQL, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS
+),
+/* Keymap 2: Media and mouse keys
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | | | | | | | | | | | | | | | |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | | | MsUp | | | | | | | | | | | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | | | | | | | | | | | Prev | Next | | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | |Brwser|
+ * | | |------| |------| |Back |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+// MEDIA AND MOUSE
+KEYMAP(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ // right hand
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS,
+ KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_WBAK
+),
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+ [1] = ACTION_LAYER_TAP_TOGGLE(SYMB) // FN1 - Momentary Layer 1 (Symbols)
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ // MACRODOWN only works in this function
+ switch(id) {
+ case 0:
+ if (record->event.pressed) {
+ register_code(KC_RSFT);
+ } else {
+ unregister_code(KC_RSFT);
+ }
+ break;
+ }
+ return MACRO_NONE;
+};
+
+// Runs just one time when the keyboard initializes.
+void * matrix_init_user(void) {
+
+};
+
+// Runs constantly in the background, in a loop.
+void * matrix_scan_user(void) {
+
+ uint8_t layer = biton32(layer_state);
+
+ ergodox_board_led_off();
+ ergodox_right_led_1_off();
+ ergodox_right_led_2_off();
+ ergodox_right_led_3_off();
+ switch (layer) {
+ // TODO: Make this relevant to the ErgoDox EZ.
+ case 1:
+ ergodox_right_led_1_on();
+ break;
+ case 2:
+ ergodox_right_led_2_on();
+ break;
+ default:
+ // none
+ break;
+ }
+
+};
diff --git a/keyboard/ergodox_ez/keymaps/keymap_jgarr.c b/keyboard/ergodox_ez/keymaps/keymap_jgarr.c
new file mode 100644
index 000000000..fbdc25109
--- /dev/null
+++ b/keyboard/ergodox_ez/keymaps/keymap_jgarr.c
@@ -0,0 +1,184 @@
+#include "ergodox_ez.h"
+#include "debug.h"
+#include "action_layer.h"
+
+#define BASE 0 // default layer
+#define SYMB 1 // symbols
+#define MDIA 2 // media keys
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* Keymap 0: Basic layer
+ *
+ * ,--------------------------------------------------. ,-----------------------------------------------------.
+ * | Grv | 1 | 2 | 3 | 4 | 5 | Del | |Backspace| 6 | 7 | 8 | 9 | 0 | \ |
+ * |--------+------+------+------+------+-------------| |---------+------+------+------+------+------+--------|
+ * | Tab | ' | , | . | P | Y | L1 | | L1 | F | G | C | R | L | / |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * |Ctrl/Esc| A | O | E | U | I |------| |---------| D | H | T | N |S / L2| - |
+ * |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------|
+ * | LShift |:/Ctrl| Q | J | K | X | | | | B | M | W | V |Z/Ctrl| RShift |
+ * `--------+------+------+------+------+-------------' `----------------+------+------+------+------+--------'
+ * | Ctrl | LGui | Alt | Left | Right| | Up | Down | [ | ] | = |
+ * `----------------------------------' `----------------------------------'
+ * ,--------------. ,-------------.
+ * | AltShf| LGui | | Alt | ~L1 |
+ * ,------|-------|------| |------+--------+------.
+ * | | | Home | | PgUp | | |
+ * | Space|Backsp |------| |------| Enter |Space |
+ * | |ace | End | | PgDn | | |
+ * `---------------------' `----------------------'
+ */
+// If it accepts an argument (i.e, is a function), it doesn't need KC_.
+// Otherwise, it needs KC_*
+[BASE] = KEYMAP( // layer 0 : default
+ // left hand
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_DELT,
+ KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, TG(1),
+ CTL_T(KC_ESC), KC_A, KC_O, KC_E, KC_U, KC_I,
+ KC_LSFT, CTL_T(KC_SCLN), KC_Q, KC_J, KC_K, KC_X, ALL_T(KC_NO),
+ KC_LCTL, KC_LGUI, KC_LALT, KC_LEFT, KC_RGHT,
+ LALT(KC_LSFT), KC_LGUI,
+ KC_HOME,
+ KC_SPC,KC_BSPC,KC_END,
+ // right hand
+ KC_BSPC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS,
+ TG(1), KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH,
+ KC_D, KC_H, KC_T, KC_N, LT(MDIA, KC_S), KC_MINS,
+ MEH_T(KC_NO),KC_B, KC_M, KC_W, KC_V, CTL_T(KC_Z), KC_RSFT,
+ KC_UP, KC_DOWN,KC_LBRC,KC_RBRC, KC_EQL,
+ KC_LALT, KC_FN1,
+ KC_PGUP,
+ KC_PGDN,KC_ENT, KC_SPC
+ ),
+/* Keymap 1: Symbol Layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | | | | | . | 0 | = | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | | |
+ * | | |------| |------| | |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+// SYMBOLS
+[SYMB] = KEYMAP(
+ // left hand
+ KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS,
+ KC_TRNS,KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS,
+ KC_TRNS,KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV,
+ KC_TRNS,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ KC_TRNS,KC_TRNS,
+ KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,
+ // right hand
+ KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
+ KC_TRNS, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_F12,
+ KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS,
+ KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS,
+ KC_TRNS,KC_DOT, KC_0, KC_EQL, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS
+),
+/* Keymap 2: Media and mouse keys
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | | | | | | | | | | | | | | | |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | | | MsUp | | | | | | | | | | | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | | | | | | | | | | | Prev | Next | | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | |Brwser|
+ * | | |------| |------| |Back |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+// MEDIA AND MOUSE
+KEYMAP(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ // right hand
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS,
+ KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_WBAK
+),
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+ [1] = ACTION_LAYER_TAP_TOGGLE(SYMB) // FN1 - Momentary Layer 1 (Symbols)
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ // MACRODOWN only works in this function
+ switch(id) {
+ case 0:
+ if (record->event.pressed) {
+ register_code(KC_RSFT);
+ } else {
+ unregister_code(KC_RSFT);
+ }
+ break;
+ }
+ return MACRO_NONE;
+};
+
+// Runs just one time when the keyboard initializes.
+void * matrix_init_user(void) {
+
+};
+
+// Runs constantly in the background, in a loop.
+void * matrix_scan_user(void) {
+
+ uint8_t layer = biton32(layer_state);
+
+ ergodox_board_led_off();
+ ergodox_right_led_1_off();
+ ergodox_right_led_2_off();
+ ergodox_right_led_3_off();
+ switch (layer) {
+ // TODO: Make this relevant to the ErgoDox EZ.
+ case 1:
+ ergodox_right_led_1_on();
+ break;
+ case 2:
+ ergodox_right_led_2_on();
+ break;
+ default:
+ // none
+ break;
+ }
+
+};
diff --git a/keyboard/ergodox_ez/keymaps/keymap_kastyle.c b/keyboard/ergodox_ez/keymaps/keymap_kastyle.c
new file mode 100644
index 000000000..ecf1be872
--- /dev/null
+++ b/keyboard/ergodox_ez/keymaps/keymap_kastyle.c
@@ -0,0 +1,184 @@
+#include "ergodox_ez.h"
+#include "debug.h"
+#include "action_layer.h"
+
+#define BASE 0 // default layer
+#define SYMB 1 // symbols
+#define MDIA 2 // media keys
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* Keymap 0: Basic layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | = | 1 | 2 | 3 | 4 | 5 | LGUI | | App | 6 | 7 | 8 | 9 | 0 | - |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | Tab | Q | W | E | R | T | L1 | | L1 | Y | U | I | O | P | \ |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | LCtrl | A | S | D | F | G |------| |------| H | J | K | L |; / L2| ' |
+ * |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------|
+ * | LShift |Z/Ctrl| X | C | V | B | | | | N | M | , | . |//Ctrl| RShift |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * |Grv/L1| '" |AltShf| Left | Right| | Up | Down | [ | ] | ~L1 |
+ * `----------------------------------' `----------------------------------'
+ * ,---------------. ,---------------.
+ * |Ctrl/Esc| Alt | | Alt |Ctrl/Esc|
+ * ,------|--------|------| |------+--------+------.
+ * | | | Home | | PgUp | | |
+ * |Backsp| Del |------| |------| Enter | Space|
+ * | | | End | | PgDn | | |
+ * `----------------------' `----------------------'
+ */
+// If it accepts an argument (i.e, is a function), it doesn't need KC_.
+// Otherwise, it needs KC_*
+[BASE] = KEYMAP( // layer 0 : default
+ // left hand
+ KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LGUI,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(1),
+ KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G,
+ KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO),
+ LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_LEFT,KC_RGHT,
+ CTL_T(KC_ESC), ALT_T(KC_APP),
+ KC_HOME,
+ KC_BSPC,KC_DEL,KC_END,
+ // right hand
+ KC_APP, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
+ TG(1), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
+ KC_H, KC_J, KC_K, KC_L, LT(MDIA, KC_SCLN),KC_QUOT,
+ MEH_T(KC_NO),KC_N, KC_M, KC_COMM,KC_DOT, CTL_T(KC_SLSH), KC_RSFT,
+ KC_UP, KC_DOWN,KC_LBRC,KC_RBRC, KC_FN1,
+ KC_LALT, CTL_T(KC_ESC),
+ KC_PGUP,
+ KC_PGDN,KC_ENT, KC_SPC
+ ),
+/* Keymap 1: Symbol Layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | | | | | . | 0 | = | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | | |
+ * | | |------| |------| | |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+// SYMBOLS
+[SYMB] = KEYMAP(
+ // left hand
+ KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS,
+ KC_TRNS,KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS,
+ KC_TRNS,KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV,
+ KC_TRNS,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ KC_TRNS,KC_TRNS,
+ KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,
+ // right hand
+ KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
+ KC_TRNS, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_F12,
+ KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS,
+ KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS,
+ KC_TRNS,KC_DOT, KC_0, KC_EQL, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS
+),
+/* Keymap 2: Media and mouse keys
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | | | | | | | | | | | | | | | |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | | | MsUp | | | | | | | | | | | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | | | | | | | | | | | Prev | Next | | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | |Brwser|
+ * | | |------| |------| |Back |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+// MEDIA AND MOUSE
+KEYMAP(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ // right hand
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS,
+ KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_WBAK
+),
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+ [1] = ACTION_LAYER_TAP_TOGGLE(SYMB) // FN1 - Momentary Layer 1 (Symbols)
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ // MACRODOWN only works in this function
+ switch(id) {
+ case 0:
+ if (record->event.pressed) {
+ register_code(KC_RSFT);
+ } else {
+ unregister_code(KC_RSFT);
+ }
+ break;
+ }
+ return MACRO_NONE;
+};
+
+// Runs just one time when the keyboard initializes.
+void * matrix_init_user(void) {
+
+};
+
+// Runs constantly in the background, in a loop.
+void * matrix_scan_user(void) {
+
+ uint8_t layer = biton32(layer_state);
+
+ ergodox_board_led_off();
+ ergodox_right_led_1_off();
+ ergodox_right_led_2_off();
+ ergodox_right_led_3_off();
+ switch (layer) {
+ // TODO: Make this relevant to the ErgoDox EZ.
+ case 1:
+ ergodox_right_led_1_on();
+ break;
+ case 2:
+ ergodox_right_led_2_on();
+ break;
+ default:
+ // none
+ break;
+ }
+
+};
diff --git a/keyboard/ergodox_ez/keymaps/keymap_kines-ish.c b/keyboard/ergodox_ez/keymaps/keymap_kines-ish.c
new file mode 100644
index 000000000..20cb53241
--- /dev/null
+++ b/keyboard/ergodox_ez/keymaps/keymap_kines-ish.c
@@ -0,0 +1,184 @@
+#include "ergodox_ez.h"
+#include "debug.h"
+#include "action_layer.h"
+
+#define BASE 0 // default layer
+#define SYMB 1 // symbols
+#define MDIA 2 // media keys
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* Keymap 0: Basic layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | = | 1 | 2 | 3 | 4 | 5 | LEFT | | RIGHT| 6 | 7 | 8 | 9 | 0 | - |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | Tab | Q | W | E | R | T | L1 | | L1 | Y | U | I | O | P | \ |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | Caps | A | S | D | F | G |------| |------| H | J | K | L | ; | ' |
+ * |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------|
+ * | LShift | Z | X | C | V | B | | | | N | M | , | . | / | RShift |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | Esc | Grv |Insert| Left | Right| | Up | Down | [ | ] | L2 |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | Ctrl | Alt | | LGui | Ctrl |
+ * ,------|------|------| |------+------+------.
+ * | | | Home | | PgUp | | |
+ * |Backsp| Del |------| |------| Enter| Space|
+ * |ace | | End | | PgDn | | |
+ * `--------------------' `--------------------'
+ */
+// If it accepts an argument (i.e, is a function), it doesn't need KC_.
+// Otherwise, it needs KC_*
+[BASE] = KEYMAP( // layer 0 : default
+ // left hand
+ KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB),
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO),
+ KC_ESC, KC_GRV, KC_INS, KC_LEFT, KC_RGHT,
+ KC_LCTL,KC_LALT,
+ KC_HOME,
+ KC_BSPC,KC_DEL,KC_END,
+ // right hand
+ KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
+ TG(SYMB), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
+ KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ MEH_T(KC_NO),KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT,
+ KC_UP, KC_DOWN,KC_LBRC,KC_RBRC, KC_FN2,
+ KC_LGUI, KC_RCTL,
+ KC_PGUP,
+ KC_PGDN, KC_ENT, KC_SPC
+ ),
+/* Keymap 1: Symbol Layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | PrScr | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | ScrLk | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | Pause | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | | | | | . | 0 | = | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | | |
+ * | | |------| |------| | |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+// SYMBOLS
+[SYMB] = KEYMAP(
+ // left hand
+ KC_PSCR,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS,
+ KC_SLCK,KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS,
+ KC_PAUS,KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV,
+ KC_TRNS,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ KC_TRNS,KC_TRNS,
+ KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,
+ // right hand
+ KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
+ KC_TRNS, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_F12,
+ KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS,
+ KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS,
+ KC_TRNS,KC_DOT, KC_0, KC_EQL, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS
+),
+/* Keymap 2: Media and mouse keys
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | | | | | | | | | | | | | | | |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | | | MsUp | | | | | | | | | | | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | | | | | | | | | | | Prev | Next | | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | |Brwser|
+ * | | |------| |------| |Back |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+// MEDIA AND MOUSE
+[MDIA] = KEYMAP(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ // right hand
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS,
+ KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_WBAK
+),
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+ [1] = ACTION_LAYER_TAP_TOGGLE(SYMB) // FN1 - Momentary Layer 1 (Symbols)
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ // MACRODOWN only works in this function
+ switch(id) {
+ case 0:
+ if (record->event.pressed) {
+ register_code(KC_RSFT);
+ } else {
+ unregister_code(KC_RSFT);
+ }
+ break;
+ }
+ return MACRO_NONE;
+};
+
+// Runs just one time when the keyboard initializes.
+void * matrix_init_user(void) {
+
+};
+
+// Runs constantly in the background, in a loop.
+void * matrix_scan_user(void) {
+
+ uint8_t layer = biton32(layer_state);
+
+ ergodox_board_led_off();
+ ergodox_right_led_1_off();
+ ergodox_right_led_2_off();
+ ergodox_right_led_3_off();
+ switch (layer) {
+ // TODO: Make this relevant to the ErgoDox EZ.
+ case 1:
+ ergodox_right_led_1_on();
+ break;
+ case 2:
+ ergodox_right_led_2_on();
+ break;
+ default:
+ // none
+ break;
+ }
+
+};
diff --git a/keyboard/ergodox_ez/keymaps/keymap_kines-ish_README.md b/keyboard/ergodox_ez/keymaps/keymap_kines-ish_README.md
new file mode 100644
index 000000000..5d39a0590
--- /dev/null
+++ b/keyboard/ergodox_ez/keymaps/keymap_kines-ish_README.md
@@ -0,0 +1,19 @@
+This keymap attempts to match the Kinesis Contoured (aka Advantage) default
+layout as closely as possible. See
+http://www.kinesis-ergo.com/wp-content/uploads/2013/06/advantage_layout_win.pdf
+
+Apart from the obvious mappings, this keymap also:
+
+* removes the dual-purpose momentary layer/normal keys: Z, /, and Grv;
+ because the author--coming from a Kinesis keyboard--finds the delays and
+ accidental modifiers to be more disconcerting than helpful.
+
+* puts Esc in the bottom left since there's no place for it in the top
+ left to match the Kinesis.
+
+* changes the bottom-right key into an L2 toggle since there's otherwise no
+ way to get to L2.
+
+* adds PrScr, ScrLk and Pause to the L1 keymap, down the left side, since
+ they're present on the Kinesis but not available in the default
+ ergodox_ez keymap.
diff --git a/keyboard/ergodox_ez/keymaps/keymap_osx_de.c b/keyboard/ergodox_ez/keymaps/keymap_osx_de.c
index 0a0ae75fc..cc9076eec 100644
--- a/keyboard/ergodox_ez/keymaps/keymap_osx_de.c
+++ b/keyboard/ergodox_ez/keymaps/keymap_osx_de.c
@@ -1,10 +1,7 @@
-// Netable differences vs. the default firmware for the ErgoDox EZ:
-// 1. The Cmd key is now on the right side, making Cmd+Space easier.
-// 2. The media keys work on OSX (But not on Windows).
#include "ergodox_ez.h"
#include "debug.h"
#include "action_layer.h"
-#include "keymap_extras/keymap_german.h"
+#include "keymap_extras/keymap_german_osx.h"
#define BASE 0 // default layer
#define SYMB 1 // symbols
@@ -12,13 +9,15 @@
#define CRSR 3 // media keys
#define NUMB 4 // number keys
-
+#define M_CTRL_CMDV 1
+#define M_CTRL_CMDC 2
+#define M_MEH_SH_ACUT 3
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Keymap 0: Basic layer
*
* ,--------------------------------------------------. ,--------------------------------------------------.
- * | ESC | 1 | 2 | 3 | 4 | 5 |Lctrl | |Rctrl | 6 | 7 | 8 | 9 | 0 | ß |
+ * | ESC | 1 | 2 | 3 | 4 | 5 |CMD-V | |CMD-C | 6 | 7 | 8 | 9 | 0 | ß |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
* | TAB | Q | W | E | R | T | CMD | | CMD | Z | U | I | O | P | ü |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
@@ -28,33 +27,33 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
* |</L1| ^° |AltShf| Left | Right| | Up | Down | CMD-SHIFT | + | #/L1 |
* `----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * | L1 | LGui | | Alt |Ctrl/Esc|
+ * ,-------------. ,---------------.
+ * | MDIA | Meh | | Hyper| NUM |
* ,------|------|------| |------+--------+------.
* | | | Home | | PgUp | | |
- * | Space|Backsp|------| |------| Enter | Space|
- * | |ace | End | | PgDn | | |
+ * | Back-| Del |------| |------| Enter | Space|
+ * | Space| | End | | PgDn | | |
* `--------------------' `----------------------'
*/
// If it accepts an argument (i.e, is a function), it doesn't need KC_.
// Otherwise, it needs KC_*
[BASE] = KEYMAP( // layer 0 : default
// left hand
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LCTL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LGUI,
- TG(3), KC_A, KC_S, KC_D, KC_F, KC_G,
- KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_LALT,
+ KC_ESC, DE_1, DE_2, DE_3, DE_4, DE_5, M(M_CTRL_CMDV),
+ KC_TAB, DE_Q, DE_W, DE_E, DE_R, DE_T, KC_LGUI,
+ TG(3), DE_A, DE_S, DE_D, DE_F, DE_G,
+ KC_LSFT, CTL_T(DE_Y), DE_X, DE_C, DE_V, DE_B, KC_LALT,
LT(SYMB,KC_GRV), DE_LESS, LALT(KC_LSFT), KC_LEFT,KC_RGHT,
- TG(2), MEH_T(KC_NO),
- KC_HOME,
- KC_SPC,KC_BSPC,KC_END,
+ TG(2), M(M_MEH_SH_ACUT), //MEH_T(LSFT(DE_ACUT)), //need to create macro for that
+ KC_HOME,
+ KC_BSPC,KC_DEL, KC_END,
// right hand
- KC_RCTL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
- KC_RGUI, KC_Y, KC_U, KC_I, KC_O, KC_P, DE_UE,
- KC_H, KC_J, KC_K, KC_L, KC_SCLN,LT(MDIA,DE_AE),
- KC_RALT,KC_N, KC_M, KC_COMM,KC_DOT, CTL_T(KC_SLSH), KC_RSFT,
- KC_UP, KC_DOWN,LGUI(KC_LSFT),KC_RBRC, LT(SYMB,KC_BSLS),
- ALL_T(DE_ACUT), TG(4),
+ M(M_CTRL_CMDC), DE_6, DE_7, DE_8, DE_9, DE_0, DE_SS,
+ KC_RGUI, DE_Z, DE_U, DE_I, DE_O, DE_P, DE_UE,
+ DE_H, DE_J, DE_K, DE_L, DE_OE,LT(MDIA,DE_AE),
+ KC_RALT, DE_N, DE_M, DE_COMM,DE_DOT, CTL_T(DE_MINS), KC_RSFT,
+ KC_UP, KC_DOWN,LGUI(KC_LSFT),DE_PLUS, LT(SYMB,DE_HASH),
+ ALL_T(DE_ACUT), TG(4),
KC_PGUP,
KC_PGDN,KC_ENT, KC_SPC
),
@@ -63,7 +62,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* ,--------------------------------------------------. ,--------------------------------------------------.
* | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- * | | | | ! | ? | | | | | \ | [ | ] | | | # | F12 |
+ * | | < | > | ! | ? | | | | | \ | [ | ] | | | # | F12 |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | | # | $ | \ | / | . |------| |------| / | ( | ) | { | } | |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
@@ -83,9 +82,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[SYMB] = KEYMAP(
// left hand
KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS,
- KC_TRNS,KC_GRV,LSFT(KC_GRV),DE_EXLM,DE_QST,KC_TRNS,KC_TRNS,
- KC_TRNS,DE_HASH,DE_DLR, LALT(LSFT(KC_7)),DE_SLSH,KC_DOT,
- KC_TRNS,KC_TRNS,DE_LESS,DE_PERC,LALT(KC_7),LALT(KC_N),KC_TRNS,
+ KC_TRNS,DE_LESS,DE_MORE,DE_EXLM,DE_QST, KC_TRNS,KC_TRNS,
+ KC_TRNS,DE_HASH,DE_DLR, DE_BSLS,DE_SLSH,KC_DOT,
+ KC_TRNS,KC_TRNS,DE_LESS,DE_PERC,DE_PIPE,DE_TILD,KC_TRNS,
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
KC_TRNS,KC_TRNS,
KC_TRNS,
@@ -126,7 +125,7 @@ KEYMAP(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_WH_L, KC_WH_U, KC_WH_D, KC_WH_R, KC_BTN3, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2,
KC_TRNS, KC_TRNS,
KC_TRNS,
@@ -190,15 +189,52 @@ const uint16_t PROGMEM fn_actions[] = {
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
{
+ static uint16_t start;
// MACRODOWN only works in this function
switch(id) {
case 0:
- if (record->event.pressed) {
- register_code(KC_RSFT);
- } else {
- unregister_code(KC_RSFT);
- }
- break;
+ if (record->event.pressed) {
+ register_code(KC_RSFT);
+ } else {
+ unregister_code(KC_RSFT);
+ }
+ break;
+ case 1:
+ if (record->event.pressed) {
+ start = timer_read();
+ return MACRO(D(LCTRL), END);
+ } else {
+ if (timer_elapsed(start) > 150) {
+ return MACRO(U(LCTRL), END);
+ } else {
+ return MACRO(U(LCTRL), D(LGUI), T(V), U(LGUI), END);
+ }
+ }
+ break;
+ case 2:
+ if (record->event.pressed) {
+ start = timer_read();
+ return MACRO(D(LCTRL),END);
+ } else {
+ if (timer_elapsed(start) > 150){
+ return MACRO(U(LCTRL),END);
+ } else {
+ return MACRO(U(LCTRL),D(LGUI),T(C),U(LGUI),END);
+ }
+ }
+ break;
+ case 3:
+ if (record->event.pressed) {
+ start = timer_read();
+ return MACRO(D(LCTRL),D(LSFT),D(LALT),END);
+ } else {
+ if (timer_elapsed(start) > 150){
+ return MACRO(U(LCTRL),U(LSFT),U(LALT),END);
+ } else {
+ return MACRO(U(LCTRL),U(LALT),T(EQL),U(LSFT),END); //cannot use DE_ACUT here, as macro needs KC_ prefix
+ }
+ }
+ break;
}
return MACRO_NONE;
};
@@ -231,7 +267,7 @@ void * matrix_scan_user(void) {
case 4:
ergodox_right_led_1_on();
ergodox_right_led_3_on();
- ergodox_board_led_on();
+ //ergodox_board_led_on();
break;
default:
// none
diff --git a/keyboard/ergodox_ez/keymaps/keymap_osx_de.hex b/keyboard/ergodox_ez/keymaps/keymap_osx_de.hex
index b77029e69..eb82384d5 100644
--- a/keyboard/ergodox_ez/keymaps/keymap_osx_de.hex
+++ b/keyboard/ergodox_ez/keymaps/keymap_osx_de.hex
@@ -1,1489 +1,1509 @@
-:100000000C94AC070C94F0070C94F0070C94F007D8
-:100010000C94F0070C94F0070C94F0070C94F00784
-:100020000C94F0070C94F0070C94E8120C94BA139B
-:100030000C94F0070C94F0070C94F0070C94F00764
-:100040000C94F0070C94922C0C94F0070C94F0078D
-:100050000C94F0070C948A220C94F0070C94F0078F
-:100060000C94F0070C94F0070C94F0070C94F00734
-:100070000C94F0070C94F0070C94F0070C94F00724
-:100080000C94F0070C94F0070C94F0070C94F00714
-:100090000C94F0070C94F0070C94F0070C94F00704
-:1000A0000C94F0070C94F0070C94F00727144914F3
-:1000B0003715491437158E14B1143715061519154F
-:1000C000601860188F188F18D31811192B1B2B1B51
-:1000D0002A192B1B2B1A2B1AFF1A2B1B2B1B161B37
-:1000E0000000F0A1F0A329002B000354E1003581AA
-:1000F00000001E00140004001D7164004D001F006C
-:100100001A0016001B00E1042A0020000800070066
-:10011000060050002C0021001500090019004F00B6
-:100120004A00220017000A00050000000254E00007
-:10013000E3000000E20000000077E400E7000000B8
-:10014000E60000002E7F23001C000B0011000000C1
-:100150000454240018000D00100052004B0025002C
-:100160000C000E00360051002C00260012000F007B
-:100170003700E108280027001300330038713000F1
-:100180004E002D002F003482E50031810000010077
-:10019000010001000100010000003A0035003100BB
-:1001A0000100010001003B00350221026400010052
-:1001B0004C003C001E0224062202010001003D000A
-:1001C0002D0224022404010001003E00010037003A
-:1001D0001104000001000100010000000100000006
-:1001E00001000100010000000100000001003F00CB
-:1001F00024062402230200000100400022042502FC
-:1002000035000100010041002304260235023700B9
-:1002100001004200240425041F021E0201004300C5
-:1002200031002604310201000100440045000100B4
-:100230002D02010000000100010001000100010089
-:1002400000000100010001000100010001000100A7
-:100250000100F2000100010001000100F000F100C6
-:100260000100F400010001000100F3000100F500AD
-:100270000100010001000100010000000100010077
-:100280000100000001000000010001000100000069
-:100290000100000001000100010001000100000058
-:1002A0000100010001000100A800A90001000100F7
-:1002B00001000100AC00AA00B6000100010001002D
-:1002C000AB0050000100010001000100520051008C
-:1002D0000100AE000100010001004F00000001001C
-:1002E0000100010001000100000001000100010007
-:1002F00001000100010001000100010001000100F6
-:1003000001000100010001000100010001000100E5
-:1003100001000100010001000100010001000100D5
-:1003200001000000010001000100000001000000C8
-:1003300001000100010000000100000001000100B7
-:1003400001000100010000000100010001000100A6
-:100350000100010001000100010001000100010095
-:100360000100010001000100010050000100010036
-:1003700001000100520051000100010001000100D4
-:1003800001004F0000000100010001000100010018
-:100390000000010001000100010001000100010056
-:1003A0000100500001000100010001005200510055
-:1003B0000100F4000100010001004F000100F50000
-:1003C0000100010001000100010000000100010026
-:1003D0000100000001000000010001000100000018
-:1003E0000100000001003F00520051002402000003
-:1003F00001004000240021001E0001000100410016
-:10040000250022001F0037000100420026002300C3
-:10041000200027000100430025022E0231002E009B
-:1004200001004400450001000100010000000A0035
-:100430002530313662003A200025303258000A72E9
-:100440002F63203031323334353637383941424327
-:100450004445460A000A002530325800626F756E26
-:100460006365213A20006C656674207369646520B9
-:1004700061747461636865640A006C6566742073F6
-:10048000696465206E6F7420726573706F6E646945
-:100490006E670A00747279696E6720746F207265E6
-:1004A000736574206D637032333031380A000A444A
-:1004B000454255473A20656E61626C65642E0A00BC
-:1004C0005B735D004B6579626F6172642073746168
-:1004D00072742E0A005B575D005B535D005B525DDA
-:1004E000005B445D005B435D0016034500720067DE
-:1004F000006F0044006F007800200045005A0000A3
-:100500000016034500720067006F0044006F00781A
-:1005100000200045005A0000000403090409028D70
-:1005200000050100A0FA090400000103010100090F
-:100530002111010001223F000705810308000A097B
-:100540000401000103010200092111010001224DF3
-:10055000000705820308000A0904020001030000E5
-:10056000000921110100012236000705830308005C
-:100570000A0904030002030000000921110100011F
-:100580002220000705840320000107050403200042
-:100590000109040400010300000009211101000108
-:1005A0002239000705850310000112011001000027
-:1005B0000008EDFE07130100010200010501090614
-:1005C000A101050719E029E7150025019508750126
-:1005D000810205081901290595057501910295010A
-:1005E00075039101050719002977150025019578F4
-:1005F00075018102C00631FF0974A101097515005A
-:1006000025FF9520750881020976150025FF9520A4
-:1006100075089102C005010980A10185021601003B
-:1006200026B7001A01002AB700751095018100C095
-:10063000050C0901A1018503160100269C021A017F
-:10064000002A9C02751095018100C005010902A1D4
-:10065000010901A1000509190129051500250195C8
-:1006600005750181029501750381010501093009B4
-:10067000311581257F950275088106093815812578
-:100680007F950175088106050C0A38021581257FC2
-:10069000950175088106C0C005010906A10105077D
-:1006A00019E029E7150025019508750181029501DA
-:1006B0007508810105081901290595057501910243
-:1006C0009501750391010507190029FF150025FF04
-:1006D000950675088100C00A002530325820006B4D
-:1006E0006579626F6172645F7265706F72743A20CF
-:1006F000000A0025303258006B6579626F617264C0
-:100700005F7365745F6C65643A200064656C5F6B51
-:1007100065795F6269743A2063616E27742064654D
-:100720006C3A20253032580A006164645F6B657949
-:100730005F6269743A2063616E2774206164643A71
-:1007400020253032580A00646F6E652E0A00626FF1
-:100750006F676D61676963207363616E3A202E2E47
-:100760002E2000290A002575002F002575005D2820
-:10077000002564002000256400200025640020007E
-:100780002564007C0025303258006D6F7573656BF1
-:100790006579205B62746E7C782079207620685DB4
-:1007A000287265702F61636C293A205B006D6B5F66
-:1007B000776865656C5F74696D655F746F5F6D61A7
-:1007C00078203D2025640A006D6B5F776865656C55
-:1007D0005F6D61785F7370656564203D2025640AF4
-:1007E000006D6B5F74696D655F746F5F6D6178201C
-:1007F0003D2025640A006D6B5F6D61785F737065E5
-:100800006564203D2025640A006D6B5F696E746528
-:100810007276616C203D2025640A006D6B5F646513
-:100820006C6179203D2025640A006D6B5F776865F7
-:10083000656C5F74696D655F746F5F6D6178203D95
-:100840002025640A006D6B5F776865656C5F6D617C
-:10085000785F7370656564203D2025640A006D6BC8
-:100860005F74696D655F746F5F6D6178203D2025F1
-:10087000640A006D6B5F6D61785F737065656420FD
-:100880003D2025640A006D6B5F696E746572766148
-:100890006C203D2025640A006D6B5F64656C617996
-:1008A000203D2025640A000A00257500363A20778D
-:1008B0006865656C5F74696D655F746F5F6D6178A5
-:1008C0003A20000A00257500353A20776865656C86
-:1008D0005F6D61785F73706565643A20000A00257A
-:1008E0007500343A2074696D655F746F5F6D61786F
-:1008F0003A20000A00257500333A206D61785F7355
-:10090000706565643A20000A00257500323A206956
-:100910006E74657276616C286D73293A20000A0046
-:10092000257500313A2064656C6179282A31306D73
-:1009300073293A20000A092D2056616C75657320D1
-:100940002D0A004D3E004D25643E20003F0073659A
-:10095000742064656661756C740A00433E200077FC
-:10096000686572652064656C74613A2063757273A2
-:100970006F723D25642C20776865656C3D25640A9F
-:1009800053656520687474703A2F2F656E2E7769F1
-:100990006B6970656469612E6F72672F77696B6927
-:1009A0002F4D6F7573655F6B6579730A000A092DAA
-:1009B000204D6F7573656B6579202D0A4553432F64
-:1009C000713A09717569740A313A0964656C617923
-:1009D000282A31306D73290A323A09696E746572BA
-:1009E00076616C286D73290A333A096D61785F73FB
-:1009F000706565640A343A0974696D655F746F5F88
-:100A00006D61780A353A09776865656C5F6D617864
-:100A10005F73706565640A363A09776865656C5F6F
-:100A200074696D655F746F5F6D61780A0A703A0969
-:100A30007072696E742076616C7565730A643A0928
-:100A40007365742064656661756C74730A75703AB9
-:100A5000092B310A646F776E3A092D310A70677578
-:100A6000703A092B31300A7067646F776E3A092D3E
-:100A700031300A0A7370656564203D2064656C74CA
-:100A800061202A206D61785F7370656564202A207B
-:100A900028726570656174202F2074696D655F74BC
-:100AA0006F5F6D6178290A003F004D3E2000433E94
-:100AB00020004C25640A000A092D20436F6E736FD5
-:100AC0006C65202D0A4553432F713A09717569747D
-:100AD0000A6D3A096D6F7573656B65790A000A09CD
-:100AE0002D204D61676963202D0A643A09646562AF
-:100AF00075670A783A096465627567206D6174727A
-:100B000069780A6B3A096465627567206B6579627A
-:100B10006F6172640A6D3A096465627567206D6F72
-:100B20007573650A763A0976657273696F6E0A7332
-:100B30003A097374617475730A633A09636F6E736B
-:100B40006F6C65206D6F64650A302D343A096C61F5
-:100B5000796572302D34284631302D4634290A50BB
-:100B60006175733A09626F6F746C6F616465720AC4
-:100B7000653A09656570726F6D0A6E3A094E4B529F
-:100B80004F0A7A3A09736C656570204C45442074AD
-:100B90006573740A000A002575002E6E6B726F3A39
-:100BA00020000A002575002E737761705F62616313
-:100BB0006B736C6173685F6261636B7370616365B3
-:100BC0003A20000A002575002E737761705F677206
-:100BD0006176655F6573633A20000A002575002E13
-:100BE0006E6F5F6775693A20000A002575002E73E5
-:100BF0007761705F72616C745F726775693A20002B
-:100C00000A002575002E737761705F6C616C745FEC
-:100C10006C6775693A20000A002575002E636170C3
-:100C2000736C6F636B5F746F5F636F6E74726F6C06
-:100C30003A20000A002575002E737761705F636F9C
-:100C40006E74726F6C5F636170736C6F636B3A206C
-:100C5000000A0025303258006B65796D61705F6362
-:100C60006F6E6669672E7261773A20000A002575FB
-:100C7000002E6D6F7573653A20000A002575002EF1
-:100C80006B6579626F6172643A20000A0025750015
-:100C90002E6D61747269783A20000A002575002E65
-:100CA000656E61626C653A20000A0025303258009A
-:100CB00064656275675F636F6E6669672E726177E0
-:100CC0003A20000A0025750064656661756C745FE2
-:100CD0006C617965723A20003F004E4B524F3A20CA
-:100CE0006F66660A004E4B524F3A206F6E0A0074D0
-:100CF000696D65725F636F756E743A202530346C70
-:100D0000580A006B6579626F6172645F6E6B726F17
-:100D10003A2025580A006B6579626F6172645F69D9
-:100D2000646C653A2025580A006B6579626F6172C0
-:100D3000645F70726F746F636F6C3A2025580A009D
-:100D4000686F73745F6B6579626F6172645F6C6505
-:100D5000647328293A2025580A000A092D20537463
-:100D600061747573202D0A004743433A20342E39AD
-:100D70002E33204156522D4C4942433A20312E38D1
-:100D80002E31204156525F415243483A20617672DB
-:100D9000350A004F5054494F4E533A204C55464166
-:100DA00020424F4F544D41474943204D4F555345E5
-:100DB0004B45592045585452414B455920434F4EBD
-:100DC000534F4C4520434F4D4D414E44204E4B52C6
-:100DD0004F203531320A004255494C443A203337CE
-:100DE00030653930322D6469727479202832333A93
-:100DF00033343A3037204465632032322032303188
-:100E000035290A005649443A203078464545442859
-:100E10004572676F446F7820455A29205049443AFB
-:100E200020307831333037284572676F446F78202F
-:100E3000455A29205645523A203078303030310A10
-:100E400000444553433A20742E6D2E6B2E206B6563
-:100E500079626F617264206669726D776172652074
-:100E6000666F72204572676F646F780A000A092DF9
-:100E70002056657273696F6E202D0A000A6D6F75BA
-:100E800073653A206F66660A000A6D6F7573653A7E
-:100E9000206F6E0A000A6B6579626F6172643A2096
-:100EA0006F66660A000A6B6579626F6172643A2048
-:100EB0006F6E0A000A6D61747269783A206F666617
-:100EC0000A000A6D61747269783A206F6E0A000A2E
-:100ED00064656275673A206F6E0A000A6465627520
-:100EE000673A206F66660A000A0A626F6F746C6F59
-:100EF000616465722E2E2E2000433E2000656563DE
-:100F00006F6E6669673A0A00536C656570204C45E0
-:100F10004420746573740A000000000000000000A3
-:100F2000000000010204060A0F17202C3A4A5D71E6
-:100F3000879DB3C7DAE9F5FCFFFCF5E9DAC7B39D95
-:100F400087715D4A3A2C20170F0A0604020100003F
-:100F5000000000000000000011241FBECFEFDAE007
-:100F6000DEBFCDBF04B603FE24C08091F90190918D
-:100F7000FA01A091FB01B091FC018730904BA74092
-:100F8000B04BB9F41092F9011092FA011092FB01E2
-:100F90001092FC0114BE84B7877F84BF88E10FB62E
-:100FA000F89480936000109260000FBEE0E0FFE3D1
-:100FB000099511E0A0E0B1E0E0ECFCE502C005908D
-:100FC0000D92AA33B107D9F711E0AAE3B1E001C04D
-:100FD0001D92A93FB107E1F70E9420100C945E2EEC
-:100FE0000C940000FF93EF93E0913A01F0913B01E4
-:100FF000309709F00995EF91FF910895FC018591D3
-:10100000803011F0EFDFFBCF0895FF27E0E230E200
-:1010100047FF0CC0419597FF09C0EDE260957095C0
-:1010200080959095611D711D811D911D27FF02C046
-:10103000219530E350E2AA27660F771F881F991F7A
-:10104000AA1FA41710F0A41B63955A95A9F7AA30FC
-:1010500008F0A95FA05DAF93F39561157105810557
-:10106000910541F7ED3211F4EF93F395F21718F46F
-:101070003F93F395FBCF8F91B5DFFA95E1F7089594
-:10108000E991F9918591803021F0853219F0AADF3C
-:10109000F9CF089520E0E89455915532C1F35033CB
-:1010A00011F4689455915A3348F4505390F3220F39
-:1010B000022E220F220F200D250FF4CF0EF42195C2
-:1010C00089919991533619F3533729F1533559F1D1
-:1010D000BC0188279927E8945C3621F4899199917D
-:1010E00068945591543639F446EF7EF077FF0DC081
-:1010F0008FEF9FEF0AC055374AE039F0583540E18D
-:1011000021F0523642E009F00895FF93EF937DDF1E
-:10111000EF91FF91B7CFFF93EF93FC018191803066
-:10112000B9F360DFFBCFFF93EF9368DFF1CFDF937D
-:10113000CF93CDB7DEB72596A3DFCF91DF9108958A
-:1011400061110BC0FC018281882321F085EE0E9491
-:10115000FD1603C085EE0E94C51780E090E008955B
-:1011600008956091BC017091BD018091BE01909184
-:10117000BF010E948D2156985E9825982D9826983B
-:101180002E9827982F98823061F018F4813031F032
-:101190000895833049F0843051F00895259A2D9AAE
-:1011A0000895269A2E9A0895279A2F9A0895259A97
-:1011B0002D9A279A2F9A569A5E9A089581EB98E075
-:1011C000892B11F00C94B108089556985E982598D3
-:1011D0002D9826982E9827982F988FEF90E090932F
-:1011E00089008093880090938B0080938A0090936D
-:1011F0008D0080938C00569A5E9A259A2D9A269A95
-:101200002E9A279A2F9A2FE782E490E1215080406E
-:101210009040E1F700C0000056985E9825982D9800
-:1012200026982E9827982F98089589EA8093800011
-:1012300089E08093810024982C983F988AB18F741C
-:101240008AB96E98479A8BB1806B8BB9769A0E9457
-:10125000E50880EB98E0892B11F00C94B008089514
-:1012600080E28093000180913C0181110EC00E94B8
-:101270007F0981E080933C012FEF83ED90E32150C3
-:1012800080409040E1F700C0000080E40E948509A2
-:101290008093000181112EC00E94AF09809300014C
-:1012A000811128C00E94AF0980930001811122C0E2
-:1012B0008FE30E94AF098093000181111BC00E943F
-:1012C000A70980E40E94850980930001811112C062
-:1012D0008CE00E94AF098093000181110BC00E9435
-:1012E000AF0980930001811105C08FE30E94AF090F
-:1012F000809300010E94A709809100010895109237
-:10130000B9008AE08093B800089594EA9093BC00F5
-:101310009091BC0097FFFCCF9091B900987F9830D6
-:1013200021F0903111F081E008958093BB0084E8B2
-:101330008093BC008091BC0087FFFCCF8091B900F6
-:10134000887F883111F0803471F780E0089584E956
-:101350008093BC008091BC0084FDFCCF08958093F5
-:10136000BB0084E88093BC008091BC0087FFFCCF69
-:101370009091B900987F81E0983209F480E0089557
-:1013800084E88093BC008091BC0087FFFCCF8091F3
-:10139000BB00089580910001811115C080E40E9476
-:1013A00085098093000181110CC082E10E94AF0980
-:1013B00080930001811105C08FEF0E94AF098093D7
-:1013C00000010E94A70984B1807F84B985B1807F24
-:1013D00085B98AB1837F8AB98BB1837F8BB93E98F7
-:1013E000469808950E943009809300010E94CA091E
-:1013F00080B38C7080BB81B3836F81BBAEE3B1E0FF
-:10140000ECE4F1E08EE08E0F11921D928E13FCCF72
-:1014100085E199E0892B11F00C94150908959F92AC
-:10142000AF92BF92CF92DF92EF92FF920F931F93F2
-:10143000CF93DF93809100018823E1F080913D01FB
-:101440008F5F80933D01811115C084E994E00E9473
-:10145000FE070E94300980930001882329F08AE763
-:1014600094E00E94FE0706C086E694E00E94FE0714
-:101470000E94E5080EE311E0C0E0D0E0BB24B39485
-:1014800082E0A82ECC24C394D12C27E5E22E24E0C0
-:10149000F22EC730D10500F580910001811164C0A2
-:1014A00080E40E94850980930001811112C082E1CD
-:1014B0000E94AF098093000181110BC0C6010C2E60
-:1014C00001C0880F0A94EAF780950E94AF098093C3
-:1014D00000010E94A70948C0CA30A1F028F4C83012
-:1014E00059F0C93061F005C0CC3089F070F0CD30D2
-:1014F00089F0209A289810C0219A29980DC0229A24
-:101500002A980AC0239A2B9807C0529A01C0539A6E
-:101510005B9802C03E9A469890EA9A95F1F79FB17F
-:10152000799902C082E001C080E091709B25982BE0
-:101530007C9902C084E001C080E0892B7D9902C0C3
-:1015400038E001C030E0832B7E9902C020E101C069
-:1015500020E0822B9FB19095991F9927991F929512
-:10156000990F907E892B10C080910001811174C069
-:1015700080E40E94850980930001882309F459C002
-:10158000912C0E94A709892DF8019081981739F1B3
-:10159000808380910101882301F18091D70180FF30
-:1015A00004C08CE594E00E94FE078091D70180FF83
-:1015B0000CC0809101011F928F93FF92EF920E94C5
-:1015C00097080F900F900F900F908091D70180FF98
-:1015D00004C085E594E00E94FE07A09201010E94EC
-:1015E000CA0921960F5F1F4FCE30D10509F051CFA8
-:1015F000809101018823B1F08150809301018823FB
-:1016000039F08FE99FE00197F1F700C000000AC0B0
-:10161000ACE4B1E0EEE3F1E0CF01825F91919D9304
-:101620008E13FCCF8EED98E0892BC1F00E94DE086E
-:1016300015C083E10E94AF09809300018111A0CF02
-:1016400081E40E94850980930001811199CF0E9455
-:10165000C009982E909495CF80E096CF81E0DF91DD
-:10166000CF911F910F91FF90EF90DF90CF90BF909F
-:10167000AF909F900895E82FF0E0E45BFE4F8081EB
-:101680000895CF92DF92EF92FF920F931F93CF9323
-:10169000DF938EE394E00E94FE078CE4E82E81E065
-:1016A000F82EC0E0D0E099E3C92E94E0D92E00E3F3
-:1016B00014E0DF93CF93DF92CF920E94970886E3E6
-:1016C00094E00E94FE07F70181917F0190E00E9463
-:1016D000F3219F938F931F930F930E9497088EE29D
-:1016E00094E00E94FE0721968DB79EB708960FB62C
-:1016F000F8949EBF0FBE8DBFCE30D105D1F6DF91DD
-:10170000CF911F910F91FF90EF90DF90CF900895B0
-:101710008B3B910578F4883A910540F5853A91051F
-:10172000D0F48430910508F0B1C08130910509F4FE
-:10173000ADC06BC0803E910508F467C0883E91053E
-:1017400008F4A4C09C01205F31092031310508F064
-:101750005CC090650895853A910509F459C0863AB0
-:10176000910509F058C082E890E40895883A9105FF
-:1017700009F454C0893A910509F453C08A3A910595
-:1017800009F452C08B3A910509F451C08C3A910585
-:1017900009F450C08D3A910509F44FC0803B910582
-:1017A00009F44EC08E3A910509F44DC08F3A910567
-:1017B00009F44CC0813B910509F44BC0823B910573
-:1017C00009F44AC0833B910509F449C0843B910563
-:1017D00009F448C0853B910509F447C0863B910553
-:1017E00009F446C0873B910509F445C0883B910543
-:1017F00009F444C0893B910509F443C08A3B910533
-:1018000009F442C080E094E4089580E090E00895F7
-:1018100081E890E4089583E890E4089582EE94E4EA
-:10182000089589EE94E408958AEE94E4089585EB92
-:1018300094E4089586EB94E4089587EB94E4089586
-:101840008CEC94E408958DEC94E4089583E895E499
-:1018500008958AE895E4089582E995E4089584E975
-:1018600095E4089581E296E4089583E296E408956C
-:1018700084E296E4089585E296E4089586E296E48B
-:10188000089587E296E408958AE296E4089508951B
-:1018900096E0799FF001112494E5899FE00DF11DF8
-:1018A0001124E60FF11DEE0FFF1FEA51FF4F859146
-:1018B00094910895880F991FFC01E05AF04085919A
-:1018C00094910895880F991FFC01E052FF4F859174
-:1018D0009491089526E0729FF001112444E5849FBD
-:1018E000E00DF11D1124E60FF11DEE0FFF1FEA516F
-:1018F000FF4F859194919C013A9521154FE1340752
-:1019000008F41EC13F512115304120F49F700E9400
-:10191000620C08959C0130532115304118F4992729
-:10192000906C0895811520E5920769F40E944D1B83
-:101930004FEF84E39CE0415080409040E1F700C0CD
-:1019400000000C94AF22813020E5920751F48EEA1A
-:1019500094E00E94FE078091D70181608093D701B7
-:1019600008959C0130552115304108F051C0292FB0
-:1019700033272F70332721303105D9F4AC01437060
-:10198000552702C0220F331F4A95E2F73C68AC018D
-:1019900064E0440F551F6A95E1F744275370242BE8
-:1019A000352B73E0880F991F7A95E1F78076992798
-:1019B0001DC02230310529F4982F8827816F906A45
-:1019C000089523303105A9F4AC014370552721E077
-:1019D00030E002C0220F331F4A95E2F73C6843E033
-:1019E000880F991F4A95E1F7807E9770822B932B81
-:1019F000089524303105E1F4AC014370552721E00E
-:101A000030E002C0220F331F4A95E2F73A68E7CF71
-:101A10009C0130572115304118F49F709062089551
-:101A20009C0130582115304118F49F70906A089538
-:101A3000803E9105E0F4803C910558F58133910595
-:101A400009F46FC048F48932910509F463C08A3201
-:101A5000910509F46DC072C089339105E9F08238AF
-:101A60009105D1F08533910509F44DC067C0833EDF
-:101A7000910581F138F4803E9105B9F0823E9105DF
-:101A8000D9F05CC0863E910561F1873E9105A1F1D8
-:101A900055C00E945A0C08952091EA0120FD02C011
-:101AA00021FF4CC080EE90E049C08091EA0180FFA8
-:101AB000F9CF89E390E042C08091EA0182FF0EC035
-:101AC0008091EA0184FF03C080E090E037C083EE9C
-:101AD00090E034C08091EA0182FFF2CF82EE90E084
-:101AE0002DC08091EA0183FF0BC08091EA0184FD43
-:101AF000EBCF87EE90E022C08091EA0183FFF5CF23
-:101B000086EE90E01BC08091EA0185FF07C089E264
-:101B100090E014C08091EA0185FFF9CF85E390E061
-:101B20000DC08091EA0186FF07C08AE290E006C0FE
-:101B30008091EA0186FFF9CF81E390E00E94880B53
-:101B40000895089580916D0108959FB7F8941092BB
-:101B50005C019FBF9091F001943009F057C09091C3
-:101B6000E9009F703091EC00232F217030FD20E8B8
-:101B7000922B24E02093E9002091EB0020FF43C04A
-:101B80002091EE0027FF3FC020915A01222321F02F
-:101B90002091E80025FF37C010925A0126E03091CD
-:101BA000E80035FD15C03091F001343061F5309119
-:101BB000EB0035FD28C0215021F481E080935A01CB
-:101BC00022C0EFE9FFE03197F1F700C00000E7CF56
-:101BD0008093F1008091E80085FD0AC08091E800C3
-:101BE00080FFFCCF8091E8008E778093E80006C0EC
-:101BF0008FB7F89421E020935C018FBF9F70909382
-:101C0000E90080E008959F709093E9008FEF0895B8
-:101C1000CF93DF9300D01F92CDB7DEB79C018091A8
-:101C2000F001843019F593E099833B832A839093E4
-:101C3000E9008FEF9091E800815095FD06C095ED89
-:101C40009A95F1F700008111F5CF8091E80085FFAA
-:101C50000DC040E050E063E070E0CE0101960E94CC
-:101C6000D8108091E8008E778093E8000F900F9055
-:101C70000F90DF91CF910895CF93DF9300D01F9203
-:101C8000CDB7DEB72091F001243021F522E0298381
-:101C90009B838A8383E08093E9008FEF9091E80033
-:101CA000815095FD06C095ED9A95F1F700008111E0
-:101CB000F5CF8091E80085FF0DC040E050E063E083
-:101CC00070E0CE0101960E94D8108091E8008E77D6
-:101CD0008093E8000F900F900F90DF91CF910895BF
-:101CE0002091F0012430F1F422E02093E9002FEF5D
-:101CF0003091E800215035FD06C035ED3A95F1F7F9
-:101D000000002111F5CF2091E80025FF0BC040E035
-:101D100050E065E070E00E94D8108091E8008E7776
-:101D20008093E8000895CF93DF932091F001243051
-:101D300009F048C0EC0180910C018823E1F080910A
-:101D40000D018823C1F085E08093E9008FEF909129
-:101D5000E800815095FD06C095E19A95F1F70000E5
-:101D60008111F5CF8091E80085FF2CC040E050E064
-:101D700060E170E017C081E08093E9008FEF9091FF
-:101D8000E800815095FD06C095ED9A95F1F70000A9
-:101D90008111F5CF8091E80085FF14C040E050E04C
-:101DA00068E070E0CE010E94D8108091E8008E7744
-:101DB0008093E80080E1FE01ADE5B1E001900D9275
-:101DC0008A95E1F7DF91CF91089585EE94E00E9426
-:101DD000FE078091EF01811109C00E946D120E94DF
-:101DE000CA128091E20084608093E200089581EE3F
-:101DF00094E00E94FE071092EF0108958DED94E0AB
-:101E00000C94FE0789ED94E00E94FE070C947F2C51
-:101E100085ED94E00E94FE070E9449220E94852CD5
-:101E20000E946F150C94A10D20915B012F5F822FF2
-:101E300062E30E94F32D992319F020935B0108952A
-:101E400010925B0180915C01882371F18091F00117
-:101E5000843041F58091E9008F702091EC00922F41
-:101E6000917020FD90E8892B94E09093E900909187
-:101E7000EB0090FF14C09091EE0097FF10C090917E
-:101E8000E80095FF03C01092F100F9CF9091E800AF
-:101E900090FF05C09091E8009E779093E8008F70C6
-:101EA0008093E90010925C01089542E061EC81E0CA
-:101EB0000E94E71142E061EC82E00E94E71142E0FB
-:101EC00061EC83E00E94E71142E261EC84E00E9451
-:101ED000E71142E161EC85E00C94E7118091F20199
-:101EE000833009F455C030F4813071F0823009F448
-:101EF0008EC008958A3009F47AC08B3009F460C02E
-:101F0000893009F09CC020C08091F101813A09F02C
-:101F100096C08091E800877F8093E8008091F5016A
-:101F20009091F601892B21F460E18DE591E003C0E9
-:101F300060E080E090E070E00E9423118091E80072
-:101F40008B778093E80008958091F101813209F048
-:101F500076C08091F5019091F601009719F00497F1
-:101F600009F06DC08091E800877F8093E800809140
-:101F7000E80082FD05C08091F0018111F8CF5FC0BB
-:101F80008091F10080936D018091E8008B7753C0C0
-:101F90008091F101813A09F052C08091F501909150
-:101FA000F601892B09F04BC08091E800877F809370
-:101FB000E8008091E80080FFFCCF80910C0136C0E2
-:101FC0008091F1018132D9F58091F5019091F6016E
-:101FD000892BA9F58091E800877F8093E8000E9413
-:101FE0001C128091F30180930C010C944D1B809185
-:101FF000F101813221F58091E800877F8093E8002C
-:102000000E941C128091F40180936E0108958091CA
-:10201000F101813AA1F48091E800877F8093E80084
-:102020008091E80080FFFCCF80916E018093F100E9
-:102030008091E8008E778093E8000C941C1208953C
-:1020400084B7877F84BF88E10FB6F89480936000DF
-:10205000109260000FBE90E080E80FB6F894809375
-:102060006100909361000FBE0E94FC150E946D12EA
-:102070000E94CA128091E20084608093E20085EAA7
-:102080009DE00E94882178940E944F150E94FE15C1
-:1020900082E091E00E946A150E946D2C84EC94E02D
-:1020A0000E94FE078091F001853089F480EC94E075
-:1020B0000E94FE070E940D228091EE01882391F379
-:1020C0000E943522882371F30E94C210EBCF0E9438
-:1020D0002C16E8CF292F332723303105C9F064F4BB
-:1020E0002130310581F02230310509F043C08DE8FF
-:1020F00090E02DE135E042C021323105F1F022328D
-:10210000310541F137C082E190E02AEA35E036C07E
-:1021100099278130910541F08230910541F0892B5A
-:1021200049F5E9E1F5E005C0E1E0F5E002C0E9EEDE
-:10213000F4E0849190E09F0121C06530D8F4E62F4F
-:10214000F0E0EE0FFF1FEB5DFE4F2081318189E053
-:1021500090E014C0653070F470E0FB01EE0FFF1FDB
-:10216000E55EFE4F20813181FB01EA5EFE4F8081FA
-:1021700090E004C080E090E020E030E0FA0131839C
-:102180002083089580E189BD82E189BD09B400FE04
-:10219000FDCF8091D8008F7D8093D8008091E000A2
-:1021A00082608093E0008091E00081FDFCCF089583
-:1021B000CF92DF92EF92FF920F931F93CF93DF9313
-:1021C000EC018B016A010E943B12811133C0C114E2
-:1021D000D10439F0F60180819181081B190BC80FD9
-:1021E000D91FE12CF12C0115110519F18091E8009E
-:1021F00085FD16C08091E8008E778093E800C114B9
-:10220000D10449F0F60180819181E80EF91EF18236
-:10221000E08285E00FC00E943B12882321F30AC0B0
-:1022200089918093F10001501109FFEFEF1AFF0A25
-:10223000DACF80E0DF91CF911F910F91FF90EF9067
-:10224000DF90CF9008952091F7013091F801261783
-:10225000370748F06115710539F42091E8002E77B1
-:102260002093E80001C0B90140E061157105A9F1B2
-:102270002091F001222309F443C0253009F442C023
-:102280002091E80023FD40C02091E80022FD32C0EB
-:102290002091E80020FFE9CF4091F3002091F20067
-:1022A00030E0342BFC01CF016115710559F0283065
-:1022B000310540F481918093F100615071092F5FE5
-:1022C0003F4FF1CF41E02830310509F040E0209147
-:1022D000E8002E772093E800C8CF4111C9CF0AC08B
-:1022E0008091F001882361F0853061F08091E800F1
-:1022F00083FD0AC08091E80082FFF2CF80E008955C
-:1023000082E0089583E0089581E008952091F70127
-:102310003091F8012617370748F06115710539F437
-:102320002091E8002E772093E80001C0B901FC015C
-:1023300020E06115710591F18091F001882309F485
-:1023400040C0853009F43FC08091E80083FD3DC066
-:102350008091E80082FD2FC08091E80080FFE9CFE6
-:102360002091F3008091F20090E0922B61157105AD
-:1023700059F08830910540F424912093F100319672
-:10238000615071090196F2CF21E0089709F020E031
-:102390008091E8008E778093E800CBCF2111CCCFDD
-:1023A0000AC08091F001882361F0853061F080914E
-:1023B000E80083FD0AC08091E80082FFF2CF80E050
-:1023C000089582E0089583E0089581E00895982FAC
-:1023D000973058F59093E900981739F07091EC0018
-:1023E0002091ED005091F00003C0242F762F50E093
-:1023F00021FF19C03091EB003E7F3093EB0030910C
-:10240000ED003D7F3093ED003091EB003160309373
-:10241000EB007093EC002093ED005093F0002091BE
-:10242000EE0027FF07C09F5FD3CF8F708093E90036
-:1024300081E0089580E008958091F10187FF11C047
-:102440008091E80082FD05C08091F0018111F8CFF4
-:1024500011C08091E8008B770BC08091F001882338
-:1024600049F08091E80080FFF8CF8091E8008E77F6
-:102470008093E80008952091E4003091E50095E60E
-:102480004091EC00842F817040FF22C08091E800D1
-:1024900080FD1CC08091F001882391F0853091F07F
-:1024A0008091EB0085FD10C04091E4005091E50063
-:1024B0004217530729F39A01915011F784E00895C8
-:1024C00082E0089583E0089581E0089580E0089512
-:1024D0004091E80042FFDECF08950E94DB120E9487
-:1024E000E312E0EEF0E0808181608083E8EDF0E0CF
-:1024F00080818F77808319BCA7EDB0E08C918E7FAF
-:102500008C9380818F7E80831092EF0108950F93CA
-:102510001F93CF93DF930E94DB120E94E312C8ED5A
-:10252000D0E088818F7788838881806888838881DC
-:102530008F7D888319BC1092F0011092EC011092EB
-:10254000EE011092ED0100EE10E0F80180818B7F2A
-:10255000808388818160888342E060E080E00E941F
-:10256000E711E1EEF0E080818E7F8083E2EEF0E023
-:10257000808181608083808188608083F801808190
-:102580008E7F8083888180618883DF91CF911F91C6
-:102590000F910895E8EDF0E080818F7E8083E7ED74
-:1025A000F0E080818160808384E082BF81E080935D
-:1025B000EF010C948712E8EDF0E080818E7F80833C
-:1025C0001092E20008951092DA001092E10008954E
-:1025D0001F920F920FB60F9211242F933F934F9398
-:1025E0005F936F937F938F939F93AF93BF93EF937B
-:1025F000FF938091E10082FF0BC08091E20082FF97
-:1026000007C08091E1008B7F8093E1000E94140F4E
-:102610008091DA0080FF1FC08091D80080FF1BC02E
-:102620008091DA008E7F8093DA008091D90080FF5C
-:102630000DC080E189BD82E189BD09B400FEFDCFF6
-:1026400081E08093F0010E94E50E05C019BC109254
-:10265000F0010E94F70E8091E10080FF19C0809187
-:10266000E20080FF15C08091E2008E7F8093E2003F
-:102670008091E20080618093E2008091D8008062C6
-:102680008093D80019BC85E08093F0010E94020F6E
-:102690008091E10084FF30C08091E20084FF2CC073
-:1026A00080E189BD82E189BD09B400FEFDCF809142
-:1026B000D8008F7D8093D8008091E1008F7E809339
-:1026C000E1008091E2008F7E8093E2008091E20041
-:1026D00081608093E2008091EC01882311F084E016
-:1026E00007C08091E30087FD02C081E001C083E064
-:1026F0008093F0010E94080F8091E10083FF29C0C0
-:102700008091E20083FF25C08091E100877F809364
-:10271000E10082E08093F0011092EC018091E100F1
-:102720008E7F8093E1008091E2008E7F8093E200B3
-:102730008091E20080618093E20042E060E080E00E
-:102740000E94E7118091F00088608093F0000E9461
-:10275000FE0EFF91EF91BF91AF919F918F917F916D
-:102760006F915F914F913F912F910F900FBE0F90FE
-:102770001F9018951F920F920FB60F9211242F934E
-:102780003F934F935F936F937F938F939F93AF93F9
-:10279000BF93CF93DF93EF93FF93C091E900CF7086
-:1027A0008091EC00D82FD17080FDD0E81092E90024
-:1027B0008091F000877F8093F00078940E94FE1350
-:1027C0001092E9008091F00088608093F000CD2B9A
-:1027D000CF70C093E900FF91EF91DF91CF91BF914E
-:1027E000AF919F918F917F916F915F914F913F91A9
-:1027F0002F910F900FBE0F901F9018951F93CF939E
-:10280000DF93CDB7DEB7AA970FB6F894DEBF0FBE41
-:10281000CDBFE1EFF1E088E08E0F9091F100919350
-:102820008E13FBCF0E946E0F8091E80083FF1FC1C3
-:102830008091F1019091F201492F50E04A30510509
-:1028400008F015C1FA01EA5AFF4F0C94132E803894
-:1028500081F0823809F00BC18091F5018F7080936F
-:10286000E9008091EB0085FB882780F91092E90050
-:1028700006C08091ED019091EE01911182609091DE
-:10288000E800977F9093E8008093F1001092F100A8
-:10289000C8C0282F2D7F09F0EAC0882319F08230A4
-:1028A00061F0E5C08091F301813009F0E0C0933020
-:1028B00009F080E08093EE012BC08091F30181113B
-:1028C00027C08091F5018F7009F4D1C08093E90091
-:1028D0002091EB0020FF1CC0933021F48091EB008D
-:1028E000806214C09091EB0090619093EB0021E026
-:1028F00030E0A90102C0440F551F8A95E2F74093CA
-:10290000EA001092EA008091EB0088608093EB006F
-:102910001092E9008091E800877F86C08111A7C0EE
-:102920001091F3011F778091E3008078812B8093D1
-:10293000E3008091E800877F8093E8000E941C12EA
-:102940008091E80080FFFCCF8091E3008068809355
-:10295000E300111102C082E001C083E08093F00126
-:1029600086C08058823008F082C08091F301909137
-:10297000F4018C3D53E0950779F583E08A838AE280
-:1029800089834FB7F894DE01139620E03EE051E2D0
-:10299000E32FF0E050935700E49120FF03C0E2954D
-:1029A000EF703F5FEF708E2F90E0EA3010F0C79627
-:1029B00001C0C0968D939D932F5F243149F74FBF7F
-:1029C0008091E800877F8093E8006AE270E0CE01A2
-:1029D00001960E94231114C0AE014F5F5F4F6091BA
-:1029E000F5010E946A10BC01892B09F440C0909146
-:1029F000E800977F9093E80089819A810E94861170
-:102A00008091E8008B778093E80031C0803879F5B9
-:102A10008091E800877F8093E8008091EC018093AB
-:102A2000F1008091E8008E778093E8000E941C12EC
-:102A30001EC081111CC09091F3019230C0F48091AE
-:102A4000E800877F8093E8009093EC010E941C12BD
-:102A50008091EC01811106C08091E30087FD02C0E6
-:102A600081E001C084E08093F0010E94550F8091C5
-:102A7000E80083FF0AC08091E800877F8093E80028
-:102A80008091EB0080628093EB00AA960FB6F894D9
-:102A9000DEBF0FBECDBFDF91CF911F910895CF93C1
-:102AA0008091F0018823A1F0C091E900CF7090914E
-:102AB000EC00892F817090FD80E8C82B1092E9000E
-:102AC0008091E80083FD0E94FE13CF70C093E9005F
-:102AD000CF91089590937401809373010895E091CC
-:102AE0007301F0917401309721F00190F081E02D95
-:102AF000099480E00895EF92FF920F931F93CF9374
-:102B0000DF93E0917301F09174013097B1F18C0182
-:102B10000280F381E02D09958091D70182FF2DC0BD
-:102B200080FF04C08FED96E00E94FE07E80110E1EF
-:102B300089EDE82E86E0F82E8091D70180FF0BC04A
-:102B400088811F928F93FF92EF920E9497080F90B7
-:102B50000F900F900F90115021961111EDCF809191
-:102B6000D70180FF0AC087ED96E0DF91CF911F91DA
-:102B70000F91FF90EF900C94FE07DF91CF911F9182
-:102B80000F91FF90EF900895E0917301F09174011F
-:102B9000309721F00480F581E02D0994089520916B
-:102BA0007101309172018217930771F09093720155
-:102BB00080937101E0917301F0917401309721F0DD
-:102BC0000680F781E02D0994089520916F013091DE
-:102BD00070018217930771F09093700180936F01D9
-:102BE000E0917301F0917401309721F00084F18538
-:102BF000E02D0994089508950C94FB150E944B2232
-:102C00000E94F2090C941123CF93C82F8091D70111
-:102C100082FF1EC080FF04C088EF96E00E94FE077E
-:102C20008091D70180FF0CC01F92CF9383EF96E075
-:102C30009F938F930E9497080F900F900F900F9083
-:102C40008091D70180FF04C081EF96E00E94FE07CB
-:102C50008C2FCF910C94A10DCF92DF92EF92FF9227
-:102C60000F931F93CF93DF93CDB7DEB72B970FB69C
-:102C7000F894DEBF0FBECDBF0E940F0A86E7C82EB4
-:102C800081E0D82E00E010E0E02E802F0E943B0B68
-:102C9000F60141916F01F42EF826B1F40F5F1F4F3A
-:102CA0000E30110589F78FEF89838A831B820E947A
-:102CB00054228160782F9D838C8349815A816B8156
-:102CC0008D810E94CF1640C09091D70191FF04C022
-:102CD0008B870E94410B8B8520E030E04F2D50E028
-:102CE000922FBA01022E02C0759567950A94E2F7F9
-:102CF00060FF24C02E83EF8221E030E0690102C032
-:102D0000CC0CDD1C9A95E2F790E08C219D21892B5B
-:102D100009F420E028870E9454228160782F9A8746
-:102D200089874E815F8168858A850E94CF16F80168
-:102D3000EA58FE4F8081C826C08206C02F5F3F4FF1
-:102D40002630310569F6AACF0E94822610917501BE
-:102D50000E946F151817A1F00E946F1580937501DE
-:102D60002B960FB6F894DEBF0FBECDBFDF91CF918B
-:102D70001F910F91FF90EF90DF90CF900C9404166D
-:102D80002B960FB6F894DEBF0FBECDBFDF91CF916B
-:102D90001F910F91FF90EF90DF90CF900895CF9308
-:102DA000DF93CDB7DEB72B970FB6F894DEBF0FBE1B
-:102DB000CDBF4F83588769877A878B87DE0111964D
-:102DC00086E0FD0111928A95E9F785E0FE013796CC
-:102DD00001900D928A95E1F749815A816B817C813E
-:102DE0008D819E810E94E71D2B960FB6F894DEBF61
-:102DF0000FBECDBFDF91CF910895CF93882309F403
-:102E0000C2C0C82F823859F40E946F1581FDBBC023
-:102E100089E30E9483200E94622189E30CC08338E9
-:102E200079F40E946F1580FDAEC083E50E94832077
-:102E30000E94622183E50E94D620CF910C946221EA
-:102E4000843859F40E946F1582FD9DC087E40E946A
-:102E500083200E94622187E4EECF8CEF8C0F813AB1
-:102E600048F48C2F0E94152B81118DC08C2F0E944D
-:102E70008320E3CF80E28C0F883048F4C77081E074
-:102E800001C0880FCA95EAF70E942B21D6CF8BE5A7
-:102E90008C0F833078F4C53A29F0C63A31F083E8D4
-:102EA00090E005C081E890E002C082E890E0CF9118
-:102EB0000C94CF1588E58C0F833108F064C0C83AB4
-:102EC00039F1C93A41F1CA3A49F1CB3A51F1CC3A18
-:102ED00059F1CD3A61F1C03B69F1CE3A71F1CF3A87
-:102EE00079F1C13B81F1C23B89F1C33B91F1C43B14
-:102EF00099F1C53BA1F1C63BA9F1C73BB1F1C83B74
-:102F0000B9F1C93BC1F1CA3BC9F180E090E038C0DA
-:102F100082EE90E035C089EE90E032C08AEE90E01B
-:102F20002FC085EB90E02CC086EB90E029C087EBAA
-:102F300090E026C08CEC90E023C08DEC90E020C0A7
-:102F400083E891E01DC08AE891E01AC082E991E02F
-:102F500017C084E991E014C081E292E011C083E2DD
-:102F600092E00EC084E292E00BC085E292E008C0DD
-:102F700086E292E005C087E292E002C08AE292E037
-:102F8000CF910C94E515CF910895882309F44BC097
-:102F9000823859F40E946F1581FF45C089E30E9471
-:102FA00083200E94622189E30CC0833871F40E945F
-:102FB0006F1580FF38C083E50E9483200E94622144
-:102FC00083E50E94D6200C946221843859F40E9433
-:102FD0006F1582FF28C087E40E9483200E9462212F
-:102FE00087E4EFCF9CEF980F913A58F390E2980F57
-:102FF000983050F4877091E001C0990F8A95EAF7F4
-:10300000892F0E943121DFCF9BE5980F933020F468
-:1030100080E090E00C94CF15885A833120F480E052
-:1030200090E00C94E5150895882321F00E942B214F
-:103030000C9462210895882321F00E9431210C9480
-:1030400062210895BF92CF92DF92EF92FF920F9389
-:103050001F93CF93DF9300D000D000D0CDB7DEB761
-:1030600025E0FC01DE01119601900D922A95E1F711
-:10307000FC01408131810281258122952F7063817D
-:103080007481672B09F4E7C23F3F19F44F3F09F4FD
-:10309000E2C27C0149833A8389819A812E830E940E
-:1030A0004220182FB92E0E9441200E94081FEB2DAC
-:1030B000E295EF70F0E0E05AFF4F2E810C94132E52
-:1030C0008B2D807F9B2D9F70F92E882319F0F29411
-:1030D00080EFF822002349F0FF2009F469C28F2D08
-:1030E0000E943B210E94622163C2812F0E94C5176A
-:1030F000FF2009F4B0C28F2D0E94412126960FB601
-:10310000F894DEBF0FBECDBFDF91CF911F910F911D
-:10311000FF90EF90DF90CF90BF900C9462213B2DF9
-:10312000307F8B2D8F70303211F08295807F11238C
-:1031300019F0113021F12DC00023B9F0222309F438
-:10314000A1C1213009F09EC126960FB6F894DEBFCA
-:103150000FBECDBFDF91CF911F910F91FF90EF90E8
-:10316000DF90CF90BF900C944B21222319F0213097
-:1031700009F471C28E830E944E218E8197C1002373
-:1031800021F0263008F067C27DC1253008F063C207
-:103190008DC1002321F0222309F474C109C2222326
-:1031A00009F484C11AC22B2D26952695237030E090
-:1031B0002115310521F021303105D1F04CC2002319
-:1031C00021F0812F9B2D937002C080E090E0269625
-:1031D0000FB6F894DEBF0FBECDBFDF91CF911F9128
-:1031E0000F91FF90EF90DF90CF90BF900C94CF1590
-:1031F000002321F0812F9B2D937002C080E090E08E
-:1032000026960FB6F894DEBF0FBECDBFDF91CF91EB
-:103210001F910F91FF90EF90DF90CF90BF900C9493
-:10322000E515812F002319F00E94082502C00E9495
-:10323000702526960FB6F894DEBF0FBECDBFDF9186
-:10324000CF911F910F91FF90EF90DF90CF90BF90A3
-:103250000C94F5258B2D837009F07BC00111FBC107
-:10326000812F829586958770880F880F912F9F7088
-:10327000C92ED12CE12CF12C082E04C0CC0CDD1C65
-:10328000EE1CFF1C0A94D2F714FF12C04FE050E06E
-:1032900060E070E004C0440F551F661F771F8A95D9
-:1032A000D2F7CB01BA01609570958095909503C0D7
-:1032B00060E070E0CB012B2D269526952370422FE0
-:1032C00050E042305105D9F04330510569F16C2985
-:1032D0007D298E299F294130510551F126960FB63F
-:1032E000F894DEBF0FBECDBFDF91CF911F910F913C
-:1032F000FF90EF90DF90CF90BF900C942F1F6C2920
-:103300007D298E299F2926960FB6F894DEBF0FBE21
-:10331000CDBFDF91CF911F910F91FF90EF90DF9084
-:10332000CF90BF900C944B1F0E942F1FC701B60176
-:1033300026960FB6F894DEBF0FBECDBFDF91CF91BA
-:103340001F910F91FF90EF90DF90CF90BF900C9462
-:10335000131F002319F08B2D817001C086958823DF
-:1033600009F479C1812F829586958770880F880F1F
-:10337000912F9F70C92ED12CE12CF12C082E04C066
-:10338000CC0CDD1CEE1CFF1C0A94D2F714FF12C0FB
-:103390004FE050E060E070E004C0440F551F661F2E
-:1033A000771F8A95D2F7CB01BA0160957095809509
-:1033B000909503C060E070E0CB012B2D26952695FB
-:1033C0002370422F50E042305105D9F0433051056F
-:1033D00069F16C297D298E299F294130510551F1D0
-:1033E00026960FB6F894DEBF0FBECDBFDF91CF910A
-:1033F0001F910F91FF90EF90DF90CF90BF900C94B2
-:1034000009206C297D298E299F2926960FB6F894CC
-:10341000DEBF0FBECDBFDF91CF911F910F91FF9007
-:10342000EF90DF90CF90BF900C9425200E94092050
-:10343000C701B60126960FB6F894DEBF0FBECDBF0A
-:10344000DF91CF911F910F91FF90EF90DF90CF9080
-:10345000BF900C94ED1F103FD1F118F4103E50F4C2
-:10346000A2C0123F09F464C008F44DC0133F09F430
-:1034700074C099C01F708B2D8F710023A1F00E9422
-:10348000861F812F26960FB6F894DEBF0FBECDBFE4
-:10349000DF91CF911F910F91FF90EF90DF90CF9030
-:1034A000BF900C9414180E94A71F812F26960FB668
-:1034B000F894DEBF0FBECDBFDF91CF911F910F916A
-:1034C000FF90EF90DF90CF90BF900C941B180023DB
-:1034D000B1F0253008F0BFC08B2D8F7126960FB646
-:1034E000F894DEBF0FBECDBFDF91CF911F910F913A
-:1034F000FF90EF90DF90CF90BF900C94CC1F2630C0
-:1035000008F0A9C0E9CF0023A9F08B2D8F71269672
-:103510000FB6F894DEBF0FBECDBFDF91CF911F91E4
-:103520000F91FF90EF90DF90CF90BF900C94861F8B
-:10353000002359F38B2D8F7126960FB6F894DEBFBA
-:103540000FBECDBFDF91CF911F910F91FF90EF90F4
-:10355000DF90CF90BF900C94A71F002399F08B2D84
-:103560008F7126960FB6F894DEBF0FBECDBFDF91E8
-:10357000CF911F910F91FF90EF90DF90CF90BF9070
-:103580000C94711F26960FB6F894DEBF0FBECDBF08
-:10359000DF91CF911F910F91FF90EF90DF90CF902F
-:1035A000BF900C94671F0023A9F0222309F4ADCF2C
-:1035B000812F26960FB6F894DEBF0FBECDBFDF91E8
-:1035C000CF911F910F91FF90EF90DF90CF90BF9020
-:1035D0000C94FD16222309F4ADCF812F26960FB649
-:1035E000F894DEBF0FBECDBFDF91CF911F910F9139
-:1035F000FF90EF90DF90CF90BF900C94C5174B2DAC
-:103600004F70612FC7010E94A00826960FB6F8944C
-:10361000DEBF0FBECDBFDF91CF911F910F91FF9005
-:10362000EF90DF90CF90BF900C948B1E4B2D4F707E
-:10363000612FC70126960FB6F894DEBF0FBECDBF2F
-:10364000DF91CF911F910F91FF90EF90DF90CF907E
-:10365000BF900C94470C26960FB6F894DEBF0FBEB1
-:10366000CDBFDF91CF911F910F91FF90EF90DF9031
-:10367000CF90BF9008950E9448210E941D210E9472
-:1036800062210E9428270E94F52580E090E00E9498
-:10369000CF1580E090E00C94E5150E9438210C9441
-:1036A0003B1B0E944220292F22952F7030E02C30A6
-:1036B00031054CF42A3031056CF4225031092230A6
-:1036C000310588F407C02C30310549F02F30310521
-:1036D00031F009C0803E48F0803F29F406C093FBDA
-:1036E000882780F9089580E0089581E00895CF93B8
-:1036F000DF9300D000D01F92CDB7DEB70F900F90B0
-:103700000F900F900F90DF91CF910895CF93DF939B
-:1037100000D000D000D0CDB7DEB726960FB6F89413
-:10372000DEBF0FBECDBFDF91CF9108951F93CF9322
-:10373000DF93C091840116E080918501C81799F04C
-:10374000D0E01C9FF0011D9FF00D1124EA57FE4FA1
-:103750004081518162817381848195810E94861BA1
-:103760002196C770E9CFDF91CF911F9108954091C5
-:10377000B6015091B7016091B8017091B901809183
-:10378000BA019091BB010C94861B8091BB0182957C
-:103790008F7009F054C08091B801882309F44FC09C
-:1037A00080918401A09185016091B6017091B7016B
-:1037B0004091B9015091BA01B6E08A1709F43FC0AF
-:1037C00090E041155105C1F17F3F11F46F3FA1F128
-:1037D000B89FF001B99FF00D1124EA57FE4F2181E7
-:1037E00072132AC02081621327C02281211124C0B4
-:1037F000238134812417350710F421503109241B0B
-:10380000350B283C3105C0F42091BB012F7020619D
-:103810002093BB0126E0289FF001299FF00D112481
-:10382000E557FE4F80818F708061808386EB91E049
-:103830000E9422180C94961B01968770BECF0895A3
-:10384000CF92DF92EF92FF920F931F93CF93DF936C
-:10385000CDB7DEB762970FB6F894DEBF0FBECDBF0F
-:103860008C0185E0F801DE011D9601900D928A958C
-:10387000E1F7D8014C9111965C91119712966C91D9
-:1038800012971396CD90DC9014973091B6017091F9
-:10389000B7018091B9019091BA01009709F46BC109
-:1038A0007F3F19F43F3F09F466C1E090B801EE2074
-:1038B00009F4C0C02091BB01C816D90628F0F60152
-:1038C000E81BF90BCF0104C0809590958C0D9D1DD0
-:1038D000FF24F394883C910578F0F12C207F09F0C7
-:1038E000C6C07C2DD98AC88A89890E94771B86EB3D
-:1038F00091E00E942218B1C0822F807F09F046C05B
-:10390000751314C0341312C0611110C02F702061E0
-:103910002093BB010E94B71B86EB91E00E94221806
-:103920008091BB01D80115968C932EC0CD2819F13A
-:103930005F3F11F44F3FF9F0F62E61111CC08091EA
-:1039400084012091850136E0821709F45AC090E085
-:10395000389FF001399FF00D1124EA57FE4F718115
-:10396000571306C07081471303C07281711103C0E1
-:1039700001968770E9CFF62E662309F418C180916D
-:10398000BB0181608093BB01F12C11C1751308C08C
-:10399000341306C0611104C08091BB01D801C3C0BB
-:1039A0004D875E878D859E856A8B0E94511B6A8933
-:1039B0008823E1F16623D1F12091BB01822F82950A
-:1039C0008F7090E0029774F08091B6019091B701EA
-:1039D00098878F831986DB86CA862C87CE01079647
-:1039E0000E94221886E0F801A6EBB1E001900D924A
-:1039F0008A95E1F70E94C51B0E94B71BFF24F39430
-:103A0000D6C04D875E878D859E850E944220292FD6
-:103A100022952F7030E0223031050CF0BCC09F7031
-:103A200009F0B6C0805E883008F4C1C0C8010E94A9
-:103A30002218E4CFC816D90608F453C0F601E81BD3
-:103A4000F90BCF01883C910508F450C0F12C7C2D76
-:103A5000D98AC88A89890E94771BE6EBF1E086E063
-:103A6000DF011D928A95E9F70E94B71BA0C075136C
-:103A700014C0341312C0611110C08091BB01F80151
-:103A80008583C8010E94221886E0E6EBF1E0DF01A1
-:103A90001D928A95E9F7FE2C8AC04D875E878D8539
-:103AA0009E856A8B0E94511B6A89882309F4BECFC8
-:103AB000662309F4BBCF2091BB01822F82958F70C2
-:103AC00090E002970CF48ECF8091B6019091B701EF
-:103AD0009A8389831B82DD82CC822E83CE0101965C
-:103AE0007FCF809590958C0D9D1DACCFF62E6623D3
-:103AF00009F49CCF75132EC034132CC02091BB0148
-:103B000020FD1FC0822F82958F70D9F0D8011596A5
-:103B10002C9315978F3049F08F5F982F9295907F57
-:103B2000822F8F70892B15968C93C8010E942218C2
-:103B300086E0F801A6EBB1E001900D928A95E1F7DD
-:103B400093CF86E0F801A6EBB1E001900D928A9543
-:103B5000E1F72DC04D875E878D859E850E94511BA4
-:103B6000811140CF8091BB0181608093BB01C8016E
-:103B70000E9422181CC0662309F458CF4D875E8727
-:103B80008D859E850E94511B882309F44FCF2ACF33
-:103B9000811148CF0CC0243031050CF047CF9F7005
-:103BA00009F440CFF8019581907F09F03BCF8F2D2C
-:103BB00062960FB6F894DEBF0FBECDBFDF91CF91F6
-:103BC0001F910F91FF90EF90DF90CF9008951F937A
-:103BD000CF93DF93CDB7DEB72C970FB6F894DEBF47
-:103BE0000FBECDBF4F83588769877A878B879C87A5
-:103BF000CE0107960E94201C882369F08F8198854A
-:103C00002A853B85232BF1F19F3F09F063C08F3F4D
-:103C100009F060C037C086E0FE013796DE011196DC
-:103C200001900D928A95E1F76F817885EA85FB8591
-:103C3000309741F17F3F11F46F3F21F120918501D1
-:103C400030E0C9010196877099274091840150E0C6
-:103C50008417950709F447C069837A83FD83EC8351
-:103C600096E0929FD001939FB00D1124AA57BE4FAA
-:103C7000FE01319601900D929A95E1F780938501AE
-:103C80000E94961B16E0809184019091850189170E
-:103C9000C1F1189FC00111248A579E4F0E94201C19
-:103CA000882379F1E09184011E9FF0011124EA57E5
-:103CB000FE4F4081518162817381848195810E9490
-:103CC000861B8091840190E00196877099278093EC
-:103CD0008401D9CF4F81588569857A858B859C85EC
-:103CE0000E94861BCFCF0E944D1B1092850110921F
-:103CF0008401E6EBF1E086E0DF011D928A95E9F7A9
-:103D0000C1CF2C960FB6F894DEBF0FBECDBFDF91AA
-:103D1000CF911F910895EF92FF920F931F93CF932E
-:103D2000DF938C01892B09F46CC0F12CEE24E39411
-:103D3000E8012196F8018491843740F4843008F03A
-:103D400051C0813081F0823019F15BC0853709F4B0
-:103D500044C0A8F19CE7980F903708F052C08F77C5
-:103D60000E94C51741C00E5F1F4FFE01C49180E243
-:103D70008C0F883048F4C7708E2D01C0880FCA950B
-:103D8000EAF70E943B2114C08C2F0E94FD162DC023
-:103D90000E5F1F4FFE01C49180E28C0F883058F4F3
-:103DA000C7708E2D01C0880FCA95EAF70E94412185
-:103DB0000E9462211AC08C2F0E94C51716C00E5F88
-:103DC0001F4FFE01C491CC2381F08FE99FE0019742
-:103DD000F1F700C00000C150F6CF0E5F1F4FFE018B
-:103DE000F49003C00E94FD168E018F2D882309F4E4
-:103DF0009FCFEFE9FFE03197F1F700C0000081505D
-:103E0000F5CFDF91CF911F910F91FF90EF90089523
-:103E100008956093C0017093C1018093C201909393
-:103E2000C3010C943B1B0F931F930091C001109191
-:103E3000C1012091C2013091C301DC01CB01802B73
-:103E4000912BA22BB32B8093C0019093C101A0931F
-:103E5000C201B093C3011F910F910C943B1B0F93B0
-:103E60001F930091C0011091C1012091C2013091B6
-:103E7000C301DC01CB0180239123A223B3238093D0
-:103E8000C0019093C101A093C201B093C3011F91DF
-:103E90000F910C943B1B0F931F930091C001109145
-:103EA000C1012091C2013091C301DC01CB01802707
-:103EB0009127A227B3278093C0019093C101A093BB
-:103EC000C201B093C3011F910F910C943B1B109240
-:103ED000BC011092BD011092BE011092BF010C9462
-:103EE0003B1B41E050E060E070E004C0440F551F10
-:103EF000661F771F8A95D2F74093BC015093BD018E
-:103F00006093BE017093BF010C943B1B41E050E0F5
-:103F100060E070E004C0440F551F661F771F8A954C
-:103F2000D2F78091BC019091BD01A091BE01B091EA
-:103F3000BF01482B592B6A2B7B2B4093BC0150931C
-:103F4000BD016093BE017093BF010C943B1B41E027
-:103F500050E060E070E004C0440F551F661F771FFB
-:103F60008A95D2F740955095609570958091BC01E7
-:103F70009091BD01A091BE01B091BF01482359238A
-:103F80006A237B234093BC015093BD016093BE0123
-:103F90007093BF010C943B1B41E050E060E070E087
-:103FA00004C0440F551F661F771F8A95D2F7809172
-:103FB000BC019091BD01A091BE01B091BF01482705
-:103FC00059276A277B274093BC015093BD0160931A
-:103FD000BE017093BF010C943B1B0F931F93009184
-:103FE000BC011091BD012091BE013091BF01DC01E7
-:103FF000CB01802B912BA22BB32B8093BC019093F0
-:10400000BD01A093BE01B093BF011F910F910C940D
-:104010003B1B0F931F930091BC011091BD01209198
-:10402000BE013091BF01DC01CB0180239123A2238B
-:10403000B3238093BC019093BD01A093BE01B093C4
-:10404000BF011F910F910C943B1B0F931F93009185
-:10405000BC011091BD012091BE013091BF01DC0176
-:10406000CB0180279127A227B3278093BC0190938F
-:10407000BD01A093BE01B093BF011F910F910C949D
-:104080003B1B0895CF92DF92EF92FF920F931F9305
-:10409000CF93DF938C01C090C001D090C101E0901C
-:1040A000C201F090C3014091BC015091BD016091EB
-:1040B000BE017091BF01C42AD52AE62AF72ACFE1B2
-:1040C000D0E0D701C6010C2E04C0B695A7959795F0
-:1040D00087950A94D2F780FF07C0B8018C2F0E9401
-:1040E0006A0C8130910531F4219758F7B80180E0CE
-:1040F0000E946A0CDF91CF911F910F91FF90EF907A
-:10410000DF90CF90089590910C01992321F0909128
-:104110000D01911109C020910E0130910F01F9019B
-:1041200032969FEF40E030C0982F969596959695E1
-:104130009F30A0F4E0910E01F0910F01E90FF11D05
-:10414000877021E030E0A90102C0440F551F8A9515
-:10415000E2F7CA019181892B818308959091D7015B
-:1041600090FF23C01F928F9389E297E09F938F93D4
-:104170000E9497080F900F900F900F9008959F3F07
-:1041800039F04F5F4E3041F051915813F8CF0DC0C8
-:104190005111F7CF942FF5CF9F3F39F0F901E90F77
-:1041A000F11D97FDFA9582830895089590910C0171
-:1041B000992321F090910D01911109C020910E01D8
-:1041C00030910F01F9013296205F3F4F30C0982F98
-:1041D0009695969596959F30A8F4E0910E01F091F2
-:1041E0000F01E90FF11D877021E030E0A90102C045
-:1041F000440F551F8A95E2F7CA0180959181892362
-:10420000818308959091D70190FF16C01F928F93DC
-:104210008BE097E09F938F930E9497080F900F90E9
-:104220000F900F9008953196E217F30729F09081CF
-:104230009813F9CF1082F7CF089581E090E0E091D4
-:104240000E01F0910F01E80FF91F108201968031E5
-:104250009105A9F708959091D601892B8093D601F5
-:10426000089580959091D60189238093D601089571
-:104270001092D60108959091D501892B8093D50194
-:10428000089580959091D50189238093D501089553
-:104290001092D50108958093C40108951092C4012D
-:1042A000089580910E0190910F01FC0131969C01BF
-:1042B000205F3F4F80E0919191118F5FE217F307EC
-:1042C000D1F70895E0910E01F0910F018091D60190
-:1042D0008083E0910E01F0910F0190818091D501D2
-:1042E000892B80838091C401882361F0E0910E01C5
-:1042F000F0910F019081892B80830E9451218111BF
-:104300001092C40180910E0190910F010C947B15C5
-:1043100090933B0180933A010895CF92DF92EF9200
-:10432000FF926C01EE24FF24C114D104E104F104D6
-:1043300021F0C701B60120E101C020E0C72ED82E30
-:10434000E92EFF24C114D104E104F10419F0285F1F
-:10435000C701B6016B017C0154E0F694E794D79451
-:10436000C7945A95D1F7C114D104E104F10419F0AE
-:104370002C5FC701B6016B017C0142E0F694E79423
-:10438000D794C7944A95D1F7C114D104E104F1043C
-:1043900019F02E5FC701B601DC01CB01B695A795D8
-:1043A00097958795892B8A2B8B2B09F02F5F822F6E
-:1043B000FF90EF90DF90CF9008958295982F9C7C8E
-:1043C000392F36953695282F237344E0249FC0015A
-:1043D0001124932F982B292F2A7A2695892F8575BA
-:1043E000880F822B08951F93CF93DF931F92CDB731
-:1043F000DEB799830E94DD21182F9981892F0E94B1
-:10440000DD21212F30E0322F2227A901482BCA01BC
-:104410000F90DF91CF911F9108958091F00184302A
-:1044200009F11092D80120E488E190E00FB6F894E9
-:10443000A895809360000FBE2093600083B7817FB2
-:10444000846083BF83B7816083BF7894889583B786
-:104450008E7F83BF88E10FB6F8948093600010923E
-:1044600060000FBE089508950895CF930E943322EF
-:104470000E940F0A0E943422C0E08C2F0E943B0B46
-:10448000811104C0CF5FCE30C1F701C081E0CF9170
-:1044900008950C944D1B82E084BD93E095BD9AEF86
-:1044A00097BD80936E0008952FB7F8948091D9013D
-:1044B0009091DA01A091DB01B091DC012FBF08954A
-:1044C000CF92DF92EF92FF920F931F932FB7F89442
-:1044D0004091D9015091DA016091DB017091DC01CA
-:1044E0002FBF6A017B01EE24FF248C0120E030E025
-:1044F000C016D106E206F30610F4415051099A01A4
-:10450000281B390BC9011F910F91FF90EF90DF908D
-:10451000CF9008951F920F920FB60F9211248F9390
-:104520009F93AF93BF938091D9019091DA01A091AD
-:10453000DB01B091DC010196A11DB11D8093D90171
-:104540009093DA01A093DB01B093DC01BF91AF91AE
-:104550009F918F910F900FBE0F901F9018950E9402
-:104560006D12F8942FEF87EA91E621508040904039
-:10457000E1F700C0000087E090EBDC018093F901D7
-:104580009093FA01A093FB01B093FC019CE088E1B9
-:104590000FB6F894A895809360000FBE90936000CA
-:1045A000FFCFEF92FF920F931F93CF93DF93D82FFC
-:1045B000C0E08C2F0E943B0B00E010E0E82EF12CB5
-:1045C000C701002E02C0959587950A94E2F780FDF9
-:1045D00006C00F5F1F4F0630110591F709C0602F0D
-:1045E0007C2F80E00E94480CD813F3CF81E004C0F8
-:1045F000CF5FCE30F1F680E0DF91CF911F910F9128
-:10460000FF90EF900895CF93C82F8CE20E94D122A3
-:10461000882321F08C2FCF910C94D12280E0CF9170
-:104620000895CF930E946024811102C00E94462405
-:104630008EE497E00E94FE07C5E6C15049F00E9453
-:104640000F0A8FE39CE90197F1F700C00000F5CF56
-:1046500087E497E00E94FE0789E20E94032381110C
-:1046600013C18AE20E94032381110E94462485E03F
-:104670000E94032381110E94AF220E946B24809329
-:10468000D70187E00E9403238823A9F18BE10E94D0
-:104690000323882351F08091D70181FB222720F941
-:1046A00091E0922790FB81F90EC08EE00E940323D7
-:1046B000882361F08091D70182FB222720F991E0C5
-:1046C000922790FB82F98093D70115C080E10E9468
-:1046D00003239091D701882341F093FB222720F9EF
-:1046E00081E0822780FB93F904C0892F809580FBAD
-:1046F00090F99093D7018091D7010E946F240E9476
-:104700007D248093EA0180EE0E940323882341F0F8
-:104710008091EA01982F909590FB80F98093EA01AF
-:1047200089E30E940323882359F08091EA0181FBE9
-:10473000222720F991E0922790FB81F98093EA01EA
-:1047400082EE0E940323882359F08091EA0182FBC4
-:10475000222720F991E0922790FB82F98093EA01C9
-:1047600086EE0E940323882359F08091EA0183FB9F
-:10477000222720F991E0922790FB83F98093EA01A8
-:1047800083EE0E940323882359F08091EA0184FB81
-:10479000222720F991E0922790FB84F98093EA0187
-:1047A00085E30E940323882359F08091EA0185FB69
-:1047B000222720F991E0922790FB85F98093EA0166
-:1047C00081E30E940323882359F08091EA0186FB4C
-:1047D000222720F991E0922790FB86F98093EA0145
-:1047E00081E10E940323882359F08091EA0187FB2D
-:1047F000222720F991E0922790FB87F98093EA0124
-:104800008091EA010E9481248091EA0187FB882738
-:1048100080F980930D0187E20E940323C82F8EE167
-:104820000E9403238111C2608FE10E940323811142
-:10483000C46080E20E9403238111C86081E20E946B
-:1048400003238111C06182E20E9403238111C062AF
-:1048500083E20E9403238111C06484E20E94032347
-:10486000882311F0C06802C0CC2329F08C2F0E944D
-:1048700078246C2F03C00E947424682F70E080E0BD
-:1048800090E0CF910C94091FCF9108956DEE7EEFCB
-:1048900080E090E00E94492E60E082E090E00E947B
-:1048A0003B2E60E083E090E00E943B2E60E084E0DD
-:1048B00090E00E943B2E60E085E090E00C943B2E5F
-:1048C00080E090E00E94352E21E08D3E9E4F09F061
-:1048D00020E0822F089582E090E00C942D2E682F26
-:1048E00082E090E00C943B2E83E090E00C942D2E1F
-:1048F000682F83E090E00C943B2E84E090E00C94D1
-:104900002D2E682F84E090E00C943B2E8091DF01E7
-:1049100080FF0BC06091130185E0689FB0011124F6
-:1049200075956795759567952BC081FF09C0609156
-:10493000130185E0689FB00111247595679520C02B
-:1049400082FF07C06091130185E0689FB0011124C8
-:1049500017C09091E0019923D1F060911201961750
-:1049600088F72091130185E0289F90011124929FE0
-:10497000A001939F500D112470E0CA010E94FF2DE9
-:104980006038710540F46115710539F002C065E0C9
-:1049900070E0862F08958FE7089581E00895809153
-:1049A000DF0180FF08C06091110170E07595679587
-:1049B0007595679521C081FF06C06091110170E077
-:1049C0007595679519C082FF04C06091110170E070
-:1049D00010C09091E0019923C1F0609110019617E9
-:1049E000A0F780911101899FC001112470E00E94FD
-:1049F000FF2D6038710528F46115710521F0862FAF
-:104A000008958FE7089581E0089561E070E0F4CFA4
-:104A1000803F21F40E948624819504C0813F29F4BF
-:104A20000E9486248093E3010895823F21F40E942E
-:104A30008624819504C0833F29F40E9486248093B4
-:104A4000E2010895893F19F40E94CF2405C08A3FEE
-:104A500031F40E94CF2481958093E40108958B3F27
-:104A600021F40E94CF24819504C08C3F29F40E9438
-:104A7000CF248093E5010895843F21F48091E101E2
-:104A8000816017C0853F21F48091E101826011C0EF
-:104A9000863F21F48091E10184600BC0873F21F4BF
-:104AA0008091E101886005C0883F31F48091E10187
-:104AB00080618093E10108958D3F21F48091DF01B1
-:104AC00081600BC08E3F21F48091DF01826005C0C0
-:104AD0008F3F29F48091DF0184608093DF01089586
-:104AE000803F39F48091E30187FF6CC01092E301AD
-:104AF00069C0813F29F48091E3011816BCF362C0BC
-:104B00009091E201823F29F497FF5CC01092E2018C
-:104B100059C0833F19F41916CCF354C0893F41F4AE
-:104B20008091E40118160CF04DC01092E4014AC0C7
-:104B30008A3F29F48091E40187FF44C0F6CF8B3F80
-:104B400039F48091E50187FF3DC01092E5013AC03C
-:104B50008C3F29F48091E5011816BCF333C0843FE3
-:104B600021F48091E1018E7F17C0853F21F480916F
-:104B7000E1018D7F11C0863F21F48091E1018B7F9F
-:104B80000BC0873F21F48091E101877F05C0883FFA
-:104B900031F48091E1018F7E8093E10113C08D3F5C
-:104BA00021F48091DF018E7F0BC08E3F21F4809134
-:104BB000DF018D7F05C08F3F29F48091DF018B7F5E
-:104BC0008093DF018091E20181110EC08091E301A9
-:104BD00081110AC08091E401811106C08091E50134
-:104BE000811102C01092E00108958091D70183FFE6
-:104BF0007EC08AE897E00E94FE078091E1011F9243
-:104C00008F9385E897E09F938F930E94970883E89E
-:104C100097E00E94FE078091E201282F332727FDAD
-:104C200030953F938F9380E897E09F938F930E94F6
-:104C300097088EE797E00E94FE078091E301282FF6
-:104C4000332727FD30953F938F938BE797E09F9312
-:104C50008F930E94970889E797E00E94FE07809152
-:104C6000E401282F332727FD30953F938F9386E764
-:104C700097E09F938F930E94970884E797E00E94A4
-:104C8000FE078091E501282F332727FD30953F93BC
-:104C90008F9381E797E09F938F930E9497088EE60A
-:104CA00097E00E94FE078091E0011F928F938BE6B0
-:104CB00097E09F938F930E94970889E697E00E9460
-:104CC000FE078091DF011F928F9386E697E09F9306
-:104CD0008F930E94970883E697E00E94FE078DB7A6
-:104CE0009EB74C960FB6F8949EBF0FBE8DBF81EE57
-:104CF00091E00E94C4150E9454229093DE0180939B
-:104D0000DD0108951F93CF93DF938091DD01909192
-:104D1000DE010E946022AC019091E001992321F014
-:104D20002091140130E006C0209115018AE0289FEF
-:104D3000900111244217530708F486C08091E201C4
-:104D4000C091E301D091E4011091E501811107C008
-:104D5000C11176C0D11174C0111172C075C09F3FCE
-:104D600019F09F5F9093E001181624F40E948624A6
-:104D70008093E2018091E20187FF05C00E948624B2
-:104D800081958093E2011C1624F40E94862480936E
-:104D9000E3018091E30187FF05C00E94862481958D
-:104DA0008093E3016091E201662339F1C091E30150
-:104DB000CC2319F1772767FD7095872F972F0E94D5
-:104DC000042D23E333E343E35FE30E94682D0E9455
-:104DD000D12C6093E2016C2F772767FD7095872FA8
-:104DE000972F0E94042D23E333E343E35FE30E9404
-:104DF000682D0E94D12C6093E3011D1624F40E94BB
-:104E0000CF248093E4018091E40187FF05C00E94D4
-:104E1000CF2481958093E401111624F40E94CF24BD
-:104E20008093E5018091E50187FF05C00E94CF24B2
-:104E300081958093E501DF91CF911F910C94F52529
-:104E40009F3F09F08ECF96CFDF91CF911F910895AC
-:104E5000E1EEF1E085E0DF011D928A95E9F710921D
-:104E6000E0011092DF0108958DEA99E00E94FE07AB
-:104E70001F9281E08F931F9285E08F938FE599E0D9
-:104E80009F938F930E9497080F900F900F900F9011
-:104E90000F900F9008958330E9F128F4813061F08C
-:104EA000823009F10895853009F462C008F449C0E0
-:104EB000863009F474C0089580911501262F30E0E2
-:104EC000280F311D2F3F310524F4680F6093150121
-:104ED00003C08FEF80931501809115011F928F936E
-:104EE00088E998E072C080911401262F30E0280FE5
-:104EF000311D2F3F310524F4680F6093140103C066
-:104F00008FEF80931401809114011F928F9386E894
-:104F100098E05BC080911301262F30E0280F311DEF
-:104F20002F3F310524F4680F6093130103C08FEF06
-:104F300080931301809113011F928F9383E798E070
-:104F400044C080911201262F30E0280F311D2F3FE1
-:104F5000310524F4680F6093120103C08FEF809332
-:104F60001201809112011F928F938EE598E02DC05F
-:104F700080911101262F30E0280F311D2F3F310580
-:104F800024F4680F6093110103C08FEF8093110127
-:104F9000809111011F928F9385E498E016C0809153
-:104FA0001001262F30E0280F311D2F3F310524F44A
-:104FB000680F6093100103C08FEF80931001809100
-:104FC00010011F928F938AE298E09F938F930E9423
-:104FD00097080F900F900F900F900895833081F1F4
-:104FE00028F4813059F08230D1F00895853009F4E9
-:104FF00049C0B8F1863009F456C008958091150172
-:10500000681720F4861B8093150102C010921501C9
-:10501000809115011F928F938BE198E054C080918D
-:105020001401681720F4861B8093140102C01092AB
-:105030001401809114011F928F9389E098E043C07E
-:1050400080911301681720F4861B8093130102C01E
-:1050500010921301809113011F928F9386EF97E0B6
-:1050600032C080911201681720F4861B80931201D0
-:1050700002C010921201809112011F928F9381EE53
-:1050800097E021C080911101681720F4861B80935E
-:10509000110102C010921101809111011F928F9392
-:1050A00088EC97E010C080911001681720F4861BEF
-:1050B0008093100102C010921001809110011F9284
-:1050C0008F938DEA97E09F938F930E9497080F909C
-:1050D0000F900F900F900895CF93C82F1F928F932A
-:1050E00082EB9AE09F938F930E94970881E090E073
-:1050F000A0E0B0E0BC01CD0104C0660F771F881F9F
-:10510000991FCA95D2F70E94091F0F900F900F9018
-:105110000F90CF910C944D1BCF938D3109F465C046
-:10512000B0F58E3009F4CCC100F5873009F49BC18D
-:10513000A8F4863009F06DC28091D701817F8E7FFF
-:105140008093D70187EB9AE00E94FE0789EF9EE0EB
-:105150000E94FE0781E08093E70180C1883009F456
-:105160004FC08B3009F47CC154C2863109F4F0C1C0
-:1051700038F4803109F4B8C1813109F430C249C230
-:10518000893109F4CEC18B3109F486C142C285331D
-:1051900009F437C248F4873209F433C208F433C241
-:1051A000893209F42EC235C2833438F48A3308F0C8
-:1051B0002CC2883309F454C12CC2833409F421C2AF
-:1051C000883409F026C20E944D1B88EE9EE00E94A2
-:1051D000FE079FEF23ED80E3915020408040E1F7F0
-:1051E00000C000000E94AF2239C188E09FE00E9409
-:1051F000FE070E948B2C0E946F150E94A10D2EC1EC
-:105200008DEF9EE00E94FE0788EC9CE00E94FE0766
-:105210000E9474241F928F9385EC9CE09F938F9340
-:105220000E94970883EC9CE00E94FE070E946B247A
-:10523000C82F80EB9CE00E94FE071F92CF938BEA61
-:105240009CE09F938F930E94970889EA9CE00E94BC
-:10525000FE078FE99CE00E94FE078C2F81701F9251
-:105260008F938CE99CE09F938F930E9497088AE923
-:105270009CE00E94FE0780E99CE00E94FE07C1FBC3
-:10528000882780F91F928F938DE89CE09F938F93DE
-:105290000E9497088BE89CE00E94FE078FE79CE045
-:1052A0000E94FE07C2FB882780F91F928F938CE72C
-:1052B0009CE09F938F930E9497088AE79CE00E944E
-:1052C000FE0781E79CE00E94FE07C3FBCC27C0F9E4
-:1052D0001F92CF938EE69CE09F938F930E94970836
-:1052E0008CE69CE00E94FE070E947D24C82F88E582
-:1052F0009CE00E94FE071F92CF9383E59CE09F9362
-:105300008F930E94970881E59CE00E94FE0788E346
-:105310009CE00E94FE078C2F81701F928F9385E383
-:105320009CE09F938F930E9497088DB79EB78096BD
-:105330000FB6F8949EBF0FBE8DBF83E39CE00E9422
-:10534000FE078CE19CE00E94FE07C1FB882780F9E4
-:105350001F928F9389E19CE09F938F930E949708FF
-:1053600087E19CE00E94FE0785E09CE00E94FE072A
-:10537000C2FB882780F91F928F9382E09CE09F9365
-:105380008F930E94970880E09CE00E94FE078EEEBB
-:105390009BE00E94FE07C3FB882780F91F928F9332
-:1053A0008BEE9BE09F938F930E94970889EE9BE082
-:1053B0000E94FE078FED9BE00E94FE07C4FB88273A
-:1053C00080F91F928F938CED9BE09F938F930E94A7
-:1053D00097088AED9BE00E94FE0788EC9BE00E9404
-:1053E000FE07C5FB882780F91F928F9385EC9BE011
-:1053F0009F938F930E94970883EC9BE00E94FE0787
-:1054000087EA9BE00E94FE07C6FB882780F91F926F
-:105410008F9384EA9BE09F938F930E94970882EA80
-:105420009BE00E94FE078AE99BE00E94FE07C7FB03
-:10543000CC27C0F91F92CF9387E99BE09F938F936E
-:105440000E94970885E99BE00E94FE078DB79EB7F2
-:105450004C960FB6F8949EBF0FBE8DBFC1E0DEC064
-:105460008EED9AE05BC08091D701C82FC17080FF9C
-:1054700009C08BED9EE00E94FE078091D701817FDD
-:105480008E7F47C08FEC9EE00E94FE078091D7017F
-:1054900081608093D701E2CF9091D70191FBCC2717
-:1054A000C0F981E0C827892FC0FB81F98093D7011B
-:1054B000CC2319F082EC9EE027C084EB9EE02EC046
-:1054C0009091D70192FBCC27C0F981E0C827892FA2
-:1054D000C0FB82F98093D701CC2319F085EA9EE0C6
-:1054E00013C085E99EE01AC09091D70193FBCC27A9
-:1054F000C0F981E0C827892FC0FB83F98093D701C9
-:10550000CC2351F089E89EE00E94FE078091D701EC
-:1055100081608093D70182C08CE79EE00E94FE07E5
-:105520009DCF8DE69EE00E94FE0781E49EE00E94F2
-:10553000FE0784E09EE00E94FE0787ED9DE00E944A
-:10554000FE0783E99DE00E94FE0788E69DE0E6CF26
-:105550008AE59DE00E94FE070E946F151F928F93BF
-:1055600080E49DE09F938F930E94970880910C01A7
-:105570001F928F9389E29DE09F938F930E949708DB
-:1055800080916E011F928F9386E19DE09F938F9390
-:105590000E94970880910D011F928F9383E09DE0F8
-:1055A0009F938F930E9497088091D9019091DA017F
-:1055B000A091DB01B091DC01BF93AF939F938F93D8
-:1055C0008FEE9CE09F938F930E9497088DB79EB7B4
-:1055D00046960FB6F8949EBF0FBE8DBF3FCF0E9478
-:1055E0004D1BC0910D0181E0C827C0930D01CC2354
-:1055F00029F085EE9CE00E94FE0710C08AED9CE039
-:105600008DCF80E003C08D5101C089530E946C286A
-:1056100025CF88ED9CE00E94FE07C0E08C2FCF9143
-:10562000089580E0089580E00895CF93C82F809179
-:10563000E701813081F020F0823009F44FC045C18C
-:10564000E0910E01F0910F018081813169F0823289
-:1056500009F03DC109C0E0910E01F0910F01808178
-:10566000813111F0823261F48C2F0E94112B811153
-:1056700004C08C2F0E948C282FC081E090E02CC0A9
-:105680008C2F0E94132B811126C0C431E1F070F4DD
-:10569000CB3081F0C031D1F40E9434278AEA9AE0FD
-:1056A0000E94FE0782E08093E70115C0C93259F0DD
-:1056B000C83361F487EB9AE00E94FE078EEA9AE015
-:1056C0000E94FE0708C01092E70103C188EA9AE031
-:1056D0000E94FE07FEC081E08170FDC0C43220F54B
-:1056E000CE3108F0C0C0CB3099F1C8F4C73009F012
-:1056F000D2C08AE08093150194E19093140193E065
-:10570000909313018093120188E08093110188E245
-:10571000809310018EE499E00E94FE07BFC0C33160
-:1057200049F1C431C1F0B7C0CB3409F4A9C028F4A1
-:10573000C93289F0C83361F0AEC0C13509F49EC0EA
-:10574000C23509F499C0CE3409F0A5C06AE09EC004
-:105750000E943427A3C08091E601882319F010929B
-:10576000E6019CC08BE599E00E94FE0781E08093F2
-:10577000E701B1C085E399E00E94FE0783E299E06A
-:105780000E94FE07809115011F928F9380E299E09D
-:105790009F938F930E9497088EE199E00E94FE07E5
-:1057A0008CE099E00E94FE07809114011F928F9374
-:1057B00089E099E09F938F930E94970887E099E092
-:1057C0000E94FE0788EF98E00E94FE078091130177
-:1057D0001F928F9385EF98E09F938F930E94970875
-:1057E00083EF98E00E94FE0782EE98E00E94FE0799
-:1057F000809112011F928F938FED98E09F938F936A
-:105800000E9497088DED98E00E94FE0788EC98E0D2
-:105810000E94FE07809111011F928F9385EC98E002
-:105820009F938F930E94970883EC98E00E94FE0755
-:105830008CEA98E00E94FE07809110011F928F93DE
-:1058400089EA98E09F938F930E94970887EA98E0EF
-:105850000E94FE078DB79EB748960FB6F8949EBF7C
-:105860000FBE8DBF1BC0CE51EC2FF0E0E15DFE4FAF
-:1058700080818093E60112C061E003C061E006C050
-:105880006AE08091E6010E944B2708C08091E60102
-:105890000E94EE2703C08CE499E013C08091E601DA
-:1058A000882369F01F928F9386E499E09F938F93EA
-:1058B0000E9497080F900F900F900F9004C083E400
-:1058C00099E00E94FE0781E006C01092E70180E0A7
-:1058D00002C080E001CFCF910895E1E8F0E080813F
-:1058E000886080838081816080838FB7F89493E0A3
-:1058F0009093890090ED909388008FBF0895EFE614
-:10590000F0E08081826080830895EFE6F0E080819E
-:105910008D7F80830895EFE6F0E0908182E0892713
-:10592000808308951F920F920FB60F9211242F9328
-:105930003F934F935F936F937F938F939F93AF9317
-:10594000BF93EF93FF938091E8019091E901019655
-:105950009093E9018093E801811103C082E00E94E5
-:10596000A10DE091E901E695E695F0E0E85EF04FE3
-:10597000E4918091E8018E1303C080E00E94A10DA4
-:10598000FF91EF91BF91AF919F918F917F916F9117
-:105990005F914F913F912F910F900FBE0F901F90ED
-:1059A000189504D06894B1118DC0089570D088F016
-:1059B0009F5790F0B92F9927B751A0F0D1F0660FFB
-:1059C000771F881F991F1AF0BA95C9F712C0B13016
-:1059D00081F077D0B1E0089574C0672F782F8827C1
-:1059E000B85F39F0B93FCCF3869577956795B39555
-:1059F000D9F73EF490958095709561957F4F8F4FC4
-:105A00009F4F0895E89409C097FB3EF490958095C8
-:105A1000709561957F4F8F4F9F4F9923A9F0F92F74
-:105A200096E9BB279395F695879577956795B795F2
-:105A3000F111F8CFFAF4BB0F11F460FF1BC06F5FD8
-:105A40007F4F8F4F9F4F16C0882311F096E911C0EA
-:105A5000772321F09EE8872F762F05C0662371F00B
-:105A600096E8862F70E060E02AF09A95660F771F1F
-:105A7000881FDAF7880F9695879597F9089557FD4F
-:105A80009058440F551F59F05F3F71F04795880FAC
-:105A900097FB991F61F09F3F79F087950895121643
-:105AA00013061406551FF2CF4695F1DF08C01616EF
-:105AB00017061806991FF1CF8695710561050894A0
-:105AC0000895E894BB2766277727CB0197F90895B7
-:105AD0000BD078C069D028F06ED018F0952309F06B
-:105AE0005AC05FC01124EECFCADFA0F3959FD1F357
-:105AF000950F50E0551F629FF001729FBB27F00D7C
-:105B0000B11D639FAA27F00DB11DAA1F649F6627D0
-:105B1000B00DA11D661F829F2227B00DA11D621F1F
-:105B2000739FB00DA11D621F839FA00D611D221FD9
-:105B3000749F3327A00D611D231F849F600D211DBD
-:105B4000822F762F6A2F11249F5750408AF0E1F060
-:105B500088234AF0EE0FFF1FBB1F661F771F881FA9
-:105B600091505040A9F79E3F510570F014C0AACF44
-:105B70005F3FECF3983EDCF3869577956795B79594
-:105B8000F795E7959F5FC1F7FE2B880F911D9695BE
-:105B9000879597F9089597F99F6780E870E060E02E
-:105BA00008959FEF80EC089500240A9416161706B6
-:105BB00018060906089500240A94121613061406FE
-:105BC00005060895092E0394000C11F4882352F061
-:105BD000BB0F40F4BF2B11F460FF04C06F5F7F4F19
-:105BE0008F4F9F4F0895991B79E004C0991F961716
-:105BF00008F0961B881F7A95C9F78095089597FB42
-:105C0000072E16F4009407D077FD09D00E94192EB4
-:105C100007FC05D03EF4909581959F4F08957095AF
-:105C200061957F4F0895EE0FFF1F0590F491E02DD1
-:105C30000994AA1BBB1B51E107C0AA1FBB1FA617D3
-:105C4000B70710F0A61BB70B881F991F5A95A9F725
-:105C500080959095BC01CD010895F999FECF92BD34
-:105C600081BDF89A992780B50895A8E1B0E042E097
-:105C700050E00C94502E262FF999FECF1FBA92BDFA
-:105C800081BD20BD0FB6F894FA9AF99A0FBE01961D
-:105C900008950E943B2E272F0C943C2EDC01CB0153
-:105CA000FC01F999FECF06C0F2BDE1BDF89A31962C
-:105CB00000B40D9241505040B8F70895F894FFCFCA
-:105CC0002002A20D930E700E3C0E080E0101C501BC
-:105CD00028080A03140A3F4D36203998064B06154A
-:105CE00006F505BC052F05480561057A059A0501ED
-:0A5CF000020304050607080900007E
+:100000000C94CA070C940E080C940E080C940E085D
+:100010000C940E080C940E080C940E080C940E0808
+:100020000C940E080C940E080C9488130C945A141B
+:100030000C940E080C940E080C940E080C940E08E8
+:100040000C940E080C94322D0C940E080C940E088F
+:100050000C940E080C942A230C940E080C940E0891
+:100060000C940E080C940E080C940E080C940E08B8
+:100070000C940E080C940E080C940E080C940E08A8
+:100080000C940E080C940E080C940E080C940E0898
+:100090000C940E080C940E080C940E080C940E0888
+:1000A0000C940E080C940E080C940E08C714E91456
+:1000B000D715E914D7152E155115D715A615B9154D
+:1000C000001900192F192F197319B119CB1BCB1B4C
+:1000D000CA19CB1BCB1ACB1A9F1BCB1BCB1BB61B36
+:1000E00002E002E2012E022E02E10002E002E10241
+:1000F000E20001E001E101E20002E001E3010602A9
+:100100000602E30002E00001E00002E001E3011961
+:10011000021902E30002E00001E0000000F0A1F09B
+:10012000A329002B000354E100358100001E0014B8
+:100130000004001D7135004D001F001A0016001B41
+:1001400000E1044C00200008000700060050002ACF
+:100150000021001500090019004F004A0022001775
+:10016000000A000500000002540130E3000000E234
+:1001700000000003300230E7000000E60000002E1F
+:100180007F23001C000B0011000000045424001801
+:10019000000D00100052004B0025000C000E003630
+:1001A0000051002C00260012000F003700E1082843
+:1001B00000270013003300387130004E002D002F4F
+:1001C000003482E5003181000001000100010001DE
+:1001D00000010000003A003500310001000100017B
+:1001E000003B0035022102350001004C003C001E9E
+:1001F0000224062202010001003D002D02240224F7
+:1002000004010001003E000100370011040000015C
+:1002100000010001000000010000000100010001D8
+:100220000000000100000001003F0024062402231A
+:1002300002000001004000220425023500010001F7
+:100240000041002304260235023700010042002449
+:100250000425041F021E0201004300310026043160
+:1002600002010001004400450001002D02010000D0
+:100270000001000100010001000100000001000177
+:10028000000100FB000100010001000100F200F983
+:1002900000010001000100F000F100FA00F400018B
+:1002A0000001000100F300FC00F500010001000165
+:1002B000000100F600000001000100010000000143
+:1002C0000000000100010001000000010000000129
+:1002D0000001000100010001000000010001000117
+:1002E000000100A800A9000100010001000100AC0C
+:1002F00000AA00B600010001000100AB005000019F
+:1003000000010001000100520051000100AE000197
+:1003100000010001004F0000000100010001000188
+:1003200000010000000100010001000100010001C6
+:1003300000010001000100010001000100010001B5
+:1003400000010001000100010001000100010001A5
+:100350000001000100010001000100010000000196
+:100360000001000100000001000000010001000187
+:100370000000000100000001000100010001000177
+:100380000000000100010001000100010001000166
+:100390000001000100010001000100010001000155
+:1003A00000010001005000010001000100010052A5
+:1003B000005100010001000100010001004F000098
+:1003C0000001000100010001000100000001000126
+:1003D00000010001000100010001000100500001C6
+:1003E0000001000100010052005100010001000164
+:1003F00000010001004F00010001000100010001A7
+:1004000000010001000000010001000100000001E6
+:1004100000000001000100010000000100000001D7
+:10042000003F005200510023020000010040002460
+:100430000021001E00270001004100250022001FAE
+:1004400000370001004200260023002000270001A1
+:100450000043003002300024022E00010044004519
+:100460000001000100010000000A00253031366261
+:10047000003A200025303258000A722F63203031B4
+:1004800032333435363738394142434445460A0021
+:100490000A002530325800626F756E6365213A207C
+:1004A000006C6566742073696465206174746163AF
+:1004B0006865640A006C6566742073696465206E03
+:1004C0006F7420726573706F6E64696E670A007472
+:1004D0007279696E6720746F207265736574206D20
+:1004E000637032333031380A000A44454255473A86
+:1004F00020656E61626C65642E0A005B735D004B63
+:100500006579626F6172642073746172742E0A007F
+:100510005B575D005B535D005B525D005B445D00BB
+:100520005B435D0016034500720067006F004400E6
+:100530006F007800200045005A00000016034500B7
+:10054000720067006F0044006F00780020004500D3
+:100550005A0000000403090409028D00050100A0EF
+:10056000FA09040000010301010009211101000141
+:10057000223F000705810308000A09040100010366
+:10058000010200092111010001224D00070582032B
+:1005900008000A09040200010300000009211101FA
+:1005A00000012236000705830308000A090403003E
+:1005B00002030000000921110100012220000705AB
+:1005C000840320000107050403200001090404003E
+:1005D0000103000000092111010001223900070573
+:1005E00085031000011201100100000008EDFE0754
+:1005F0001301000102000105010906A10105071907
+:10060000E029E71500250195087501810205081903
+:100610000129059505750191029501750391010563
+:10062000071900297715002501957875018102C009
+:100630000631FF0974A1010975150025FF95207584
+:100640000881020976150025FF952075089102C0E2
+:1006500005010980A101850216010026B7001A01D3
+:10066000002AB700751095018100C0050C0901A191
+:10067000018503160100269C021A01002A9C0275BE
+:100680001095018100C005010902A1010901A10025
+:100690000509190129051500250195057501810236
+:1006A0009501750381010501093009311581257F07
+:1006B00095027508810609381581257F9501750811
+:1006C0008106050C0A38021581257F950175088180
+:1006D00006C0C005010906A101050719E029E715B3
+:1006E00000250195087501810295017508810105B4
+:1006F0000819012905950575019102950175039168
+:10070000010507190029FF150025FF9506750881C9
+:1007100000C00A002530325820006B6579626F6195
+:1007200072645F7265706F72743A20000A0025303F
+:100730003258006B6579626F6172645F7365745FD4
+:100740006C65643A200064656C5F6B65795F626913
+:10075000743A2063616E27742064656C3A202530FA
+:1007600032580A006164645F6B65795F6269743A4C
+:100770002063616E2774206164643A20253032580A
+:100780000A00646F6E652E0A00626F6F676D6167A5
+:100790006963207363616E3A202E2E2E2000290A91
+:1007A000002575002F002575005D280025640020B8
+:1007B00000256400200025640020002564007C00E2
+:1007C00025303258006D6F7573656B6579205B62FB
+:1007D000746E7C782079207620685D287265702F91
+:1007E00061636C293A205B006D6B5F776865656CAF
+:1007F0005F74696D655F746F5F6D6178203D202562
+:10080000640A006D6B5F776865656C5F6D61785F2A
+:100810007370656564203D2025640A006D6B5F740C
+:10082000696D655F746F5F6D6178203D2025640A96
+:10083000006D6B5F6D61785F7370656564203D204E
+:1008400025640A006D6B5F696E74657276616C2059
+:100850003D2025640A006D6B5F64656C6179203D05
+:100860002025640A006D6B5F776865656C5F74694D
+:100870006D655F746F5F6D6178203D2025640A00AF
+:100880006D6B5F776865656C5F6D61785F737065D0
+:100890006564203D2025640A006D6B5F74696D6599
+:1008A0005F746F5F6D6178203D2025640A006D6B79
+:1008B0005F6D61785F7370656564203D2025640A13
+:1008C000006D6B5F696E74657276616C203D2025EA
+:1008D000640A006D6B5F64656C6179203D2025645E
+:1008E0000A000A00257500363A20776865656C5F56
+:1008F00074696D655F746F5F6D61783A20000A00FE
+:10090000257500353A20776865656C5F6D61785FA5
+:1009100073706565643A20000A00257500343A203A
+:1009200074696D655F746F5F6D61783A20000A00CD
+:10093000257500333A206D61785F73706565643AA0
+:1009400020000A00257500323A20696E74657276BF
+:10095000616C286D73293A20000A00257500313A30
+:100960002064656C6179282A31306D73293A200042
+:100970000A092D2056616C756573202D0A004D3EC5
+:10098000004D25643E20003F007365742064656659
+:1009900061756C740A00433E2000776865726520BB
+:1009A00064656C74613A20637572736F723D25647F
+:1009B0002C20776865656C3D25640A536565206861
+:1009C0007474703A2F2F656E2E77696B6970656449
+:1009D00069612E6F72672F77696B692F4D6F757321
+:1009E000655F6B6579730A000A092D204D6F757379
+:1009F000656B6579202D0A4553432F713A0971754E
+:100A000069740A313A0964656C6179282A31306D5C
+:100A100073290A323A09696E74657276616C286DC1
+:100A200073290A333A096D61785F73706565640AEA
+:100A3000343A0974696D655F746F5F6D61780A356A
+:100A40003A09776865656C5F6D61785F737065659D
+:100A5000640A363A09776865656C5F74696D655F2D
+:100A6000746F5F6D61780A0A703A097072696E740A
+:100A70002076616C7565730A643A09736574206445
+:100A8000656661756C74730A75703A092B310A6476
+:100A90006F776E3A092D310A706775703A092B31FC
+:100AA000300A7067646F776E3A092D31300A0A7325
+:100AB00070656564203D2064656C7461202A206D3A
+:100AC00061785F7370656564202A2028726570659F
+:100AD0006174202F2074696D655F746F5F6D61783C
+:100AE000290A003F004D3E2000433E20004C256473
+:100AF0000A000A092D20436F6E736F6C65202D0A62
+:100B00004553432F713A09717569740A6D3A096D3D
+:100B10006F7573656B65790A000A092D204D616751
+:100B20006963202D0A643A0964656275670A783A38
+:100B3000096465627567206D61747269780A6B3A41
+:100B4000096465627567206B6579626F6172640A1A
+:100B50006D3A096465627567206D6F7573650A7615
+:100B60003A0976657273696F6E0A733A0973746134
+:100B70007475730A633A09636F6E736F6C65206DE9
+:100B80006F64650A302D343A096C61796572302DD5
+:100B900034284631302D4634290A506175733A099C
+:100BA000626F6F746C6F616465720A653A0965659E
+:100BB00070726F6D0A6E3A094E4B524F0A7A3A09BB
+:100BC000736C656570204C454420746573740A002D
+:100BD0000A002575002E6E6B726F3A20000A002500
+:100BE00075002E737761705F6261636B736C617304
+:100BF000685F6261636B73706163653A20000A002D
+:100C00002575002E737761705F67726176655F6529
+:100C100073633A20000A002575002E6E6F5F6775BA
+:100C2000693A20000A002575002E737761705F72A3
+:100C3000616C745F726775693A20000A002575005F
+:100C40002E737761705F6C616C745F6C6775693A65
+:100C500020000A002575002E636170736C6F636B52
+:100C60005F746F5F636F6E74726F6C3A20000A007E
+:100C70002575002E737761705F636F6E74726F6C91
+:100C80005F636170736C6F636B3A20000A002530FC
+:100C90003258006B65796D61705F636F6E6669676E
+:100CA0002E7261773A20000A002575002E6D6F754F
+:100CB00073653A20000A002575002E6B6579626F16
+:100CC0006172643A20000A002575002E6D6174720D
+:100CD00069783A20000A002575002E656E61626C05
+:100CE000653A20000A002530325800646562756755
+:100CF0005F636F6E6669672E7261773A20000A0043
+:100D000025750064656661756C745F6C61796572E8
+:100D10003A20003F004E4B524F3A206F66660A0061
+:100D20004E4B524F3A206F6E0A0074696D65725FC8
+:100D3000636F756E743A202530346C580A006B6509
+:100D400079626F6172645F6E6B726F3A2025580A28
+:100D5000006B6579626F6172645F69646C653A20EB
+:100D600025580A006B6579626F6172645F70726FFB
+:100D7000746F636F6C3A2025580A00686F73745F54
+:100D80006B6579626F6172645F6C65647328293A80
+:100D90002025580A000A092D2053746174757320A8
+:100DA0002D0A004743433A20342E392E3320415632
+:100DB000522D4C4942433A20312E382E3120415693
+:100DC000525F415243483A20617672350A004F50D3
+:100DD00054494F4E533A204C55464120424F4F54B0
+:100DE0004D41474943204D4F5553454B45592045AB
+:100DF000585452414B455920434F4E534F4C452078
+:100E0000434F4D4D414E44204E4B524F20353132D1
+:100E10000A004255494C443A206130383532363563
+:100E20002D6469727479202830393A34343A313774
+:100E3000204A616E2031332032303136290A005683
+:100E400049443A20307846454544284572676F4406
+:100E50006F7820455A29205049443A203078313360
+:100E60003037284572676F446F7820455A292056DD
+:100E700045523A203078303030310A0044455343EF
+:100E80003A20742E6D2E6B2E206B6579626F617225
+:100E900064206669726D7761726520666F722045A5
+:100EA00072676F646F780A000A092D2056657273A5
+:100EB000696F6E202D0A000A6D6F7573653A206F99
+:100EC00066660A000A6D6F7573653A206F6E0A00D8
+:100ED0000A6B6579626F6172643A206F66660A0018
+:100EE0000A6B6579626F6172643A206F6E0A000A5C
+:100EF0006D61747269783A206F66660A000A6D61E6
+:100F0000747269783A206F6E0A000A6465627567C8
+:100F10003A206F6E0A000A64656275673A206F6650
+:100F2000660A000A0A626F6F746C6F616465722EE4
+:100F30002E2E2000433E20006565636F6E66696754
+:100F40003A0A00536C656570204C45442074657303
+:100F5000740A000000000000000000000000010210
+:100F600004060A0F17202C3A4A5D71879DB3C7DA31
+:100F7000E9F5FCFFFCF5E9DAC7B39D87715D4A3AF4
+:100F80002C20170F0A0604020100000000000000D8
+:100F90000000000011241FBECFEFDAE0DEBFCDBF9E
+:100FA00004B603FE24C08091FB019091FC01A09146
+:100FB000FD01B091FE018730904BA740B04BB9F4D2
+:100FC0001092FB011092FC011092FD011092FE01A3
+:100FD00014BE84B7877F84BF88E10FB6F8948093EE
+:100FE0006000109260000FBEE0E0FFE3099511E0A1
+:100FF000A0E0B1E0E0E0FEE502C005900D92AA336A
+:10100000B107D9F711E0AAE3B1E001C01D92AB3FEF
+:10101000B107E1F70E94C0100C94FE2E0C94000062
+:10102000FF93EF93E0913A01F0913B01309709F083
+:101030000995EF91FF910895FC018591803011F0A1
+:10104000EFDFFBCF0895FF27E0E230E247FF0CC05F
+:10105000419597FF09C0EDE2609570958095909558
+:10106000611D711D811D911D27FF02C0219530E377
+:1010700050E2AA27660F771F881F991FAA1FA4177F
+:1010800010F0A41B63955A95A9F7AA3008F0A95F40
+:10109000A05DAF93F395611571058105910541F749
+:1010A000ED3211F4EF93F395F21718F43F93F395A3
+:1010B000FBCF8F91B5DFFA95E1F70895E991F991AA
+:1010C0008591803021F0853219F0AADFF9CF08959B
+:1010D00020E0E89455915532C1F3503311F46894EF
+:1010E00055915A3348F4505390F3220F022E220F99
+:1010F000220F200D250FF4CF0EF42195899199919F
+:10110000533619F3533729F1533559F1BC01882768
+:101110009927E8945C3621F48991999168945591C6
+:10112000543639F446EF7EF077FF0DC08FEF9FEF16
+:101130000AC055374AE039F0583540E121F05236BF
+:1011400042E009F00895FF93EF937DDFEF91FF9167
+:10115000B7CFFF93EF93FC0181918030B9F360DF4B
+:10116000FBCFFF93EF9368DFF1CFDF93CF93CDB742
+:10117000DEB72596A3DFCF91DF910895FC016130A2
+:1011800089F028F0623031F16330E1F153C082819F
+:10119000882321F085EE0E949D174CC085EE0E94A9
+:1011A000651848C08281882349F00E94F4229093F8
+:1011B0003D0180933C0188E191E0089580913C01DC
+:1011C00090913D010E94002387399105B4F58AE092
+:1011D00091E008958281882349F00E94F42290933F
+:1011E0003D0180933C0187E091E0089580913C01AE
+:1011F00090913D010E940023873991050CF589EFFC
+:1012000090E008958281882349F00E94F42290930F
+:101210003D0180933C0182EF90E0089580913C0174
+:1012200090913D010E9400238739910564F480EE7E
+:1012300090E0089580E090E0089585E191E00895C0
+:1012400084E091E008958BEE90E008950895609118
+:10125000BE017091BF018091C0019091C1010E94B7
+:101260002D2256985E9825982D9826982E98279886
+:101270002F98823061F018F4813031F00895833076
+:1012800049F0843051F00895259A2D9A0895269AB0
+:101290002E9A0895279A2F9A0895259A2D9A279A7B
+:1012A0002F9A089587E299E0892B11F00E9427096F
+:1012B00080E090E0089556985E9825982D9826989D
+:1012C0002E9827982F988FEF90E090938900809325
+:1012D000880090938B0080938A0090938D00809378
+:1012E0008C00259A2D9A2FEF80E792E021508040C4
+:1012F0009040E1F700C00000269A2E9A2FEF80E779
+:1013000092E0215080409040E1F700C00000279A11
+:101310002F9A2FEF80E792E0215080409040E1F734
+:1013200000C0000025982D982FEF80E792E0215013
+:1013300080409040E1F700C0000026982E982FEFE3
+:1013400080E792E0215080409040E1F700C000002B
+:1013500027982F9856985E9825982D9826982E981D
+:1013600027982F98089589EA8093800089E08093D8
+:10137000810024982C983F988AB18F748AB96E980E
+:10138000479A8BB1806B8BB9769A0E945B0986E293
+:1013900099E0892B11F00E94260980E090E00895E1
+:1013A00080E28093000180913E0181110EC00E9475
+:1013B0001F0A81E080933E012FEF83ED90E32150DF
+:1013C00080409040E1F700C0000080E40E94250AC0
+:1013D0008093000181112EC00E944F0A809300016A
+:1013E000811128C00E944F0A80930001811122C000
+:1013F0008FE30E944F0A8093000181111BC00E945D
+:10140000470A80E40E94250A80930001811112C0DE
+:101410008CE00E944F0A8093000181110BC00E9452
+:101420004F0A80930001811105C08FE30E944F0A8B
+:10143000809300010E94470A809100010895109254
+:10144000B9008AE08093B800089594EA9093BC00B4
+:101450009091BC0097FFFCCF9091B900987F983095
+:1014600021F0903111F081E008958093BB0084E871
+:101470008093BC008091BC0087FFFCCF8091B900B5
+:10148000887F883111F0803471F780E0089584E915
+:101490008093BC008091BC0084FDFCCF08958093B4
+:1014A000BB0084E88093BC008091BC0087FFFCCF28
+:1014B0009091B900987F81E0983209F480E0089516
+:1014C00084E88093BC008091BC0087FFFCCF8091B2
+:1014D000BB00089580910001811115C080E40E9435
+:1014E000250A8093000181110CC082E10E944F0AFD
+:1014F00080930001811105C08FEF0E944F0A8093F5
+:1015000000010E94470A84B1807F84B985B1807F41
+:1015100085B98AB1837F8AB98BB1837F8BB93E98B5
+:10152000469808950E94D009809300010E946A0A9B
+:1015300080B38C7080BB81B3836F81BBA0E4B1E0CA
+:10154000EEE4F1E08EE08E0F11921D928E13FCCF2F
+:1015500083EB99E0892B11F00C94B30908959F92C5
+:10156000AF92BF92CF92DF92EF92FF920F931F93B1
+:10157000CF93DF93809100018823E1F080913F01B8
+:101580008F5F80933F01811115C08FEC94E00E9422
+:101590001C080E94D00980930001882329F085EB64
+:1015A00094E00E941C0806C081EA94E00E941C0896
+:1015B0000E945B0900E411E0C0E0D0E0BB24B394DA
+:1015C00082E0A82ECC24C394D12C22E9E22E24E080
+:1015D000F22EC730D10500F580910001811164C061
+:1015E00080E40E94250A80930001811112C082E1EB
+:1015F0000E944F0A8093000181110BC0C6010C2E7E
+:1016000001C0880F0A94EAF780950E944F0A8093E0
+:1016100000010E94470A48C0CA30A1F028F4C8302F
+:1016200059F0C93061F005C0CC3089F070F0CD3090
+:1016300089F0209A289810C0219A29980DC0229AE2
+:101640002A980AC0239A2B9807C0529A01C0539A2D
+:101650005B9802C03E9A469890EA9A95F1F79FB13E
+:10166000799902C082E001C080E091709B25982B9F
+:101670007C9902C084E001C080E0892B7D9902C082
+:1016800038E001C030E0832B7E9902C020E101C028
+:1016900020E0822B9FB19095991F9927991F9295D1
+:1016A000990F907E892B10C080910001811174C028
+:1016B00080E40E94250A80930001882309F459C020
+:1016C000912C0E94470A892DF8019081981739F1D1
+:1016D000808380910101882301F18091D90180FFED
+:1016E00004C087E994E00E941C088091D90180FF22
+:1016F0000CC0809101011F928F93FF92EF920E9484
+:10170000B5080F900F900F900F908091D90180FF36
+:1017100004C080E994E00E941C08A09201010E948C
+:101720006A0A21960F5F1F4FCE30D10509F051CFC5
+:10173000809101018823B1F08150809301018823B9
+:1017400039F08FE99FE00197F1F700C000000AC06F
+:10175000AEE4B1E0E0E4F1E0CF01825F91919D93CE
+:101760008E13FCCF82E599E0892BC1F00E945209CB
+:1017700015C083E10E944F0A809300018111A0CF20
+:1017800081E40E94250A80930001811199CF0E9473
+:10179000600A982E909495CF80E096CF81E0DF91FB
+:1017A000CF911F910F91FF90EF90DF90CF90BF905E
+:1017B000AF909F900895E82FF0E0E25BFE4F8081AC
+:1017C0000895CF92DF92EF92FF920F931F93CF93E2
+:1017D000DF9389E794E00E941C088EE4E82E81E004
+:1017E000F82EC0E0D0E094E7C92E94E0D92E0BE6A5
+:1017F00014E0DF93CF93DF92CF920E94B50881E788
+:1018000094E00E941C08F70181917F0190E00E9402
+:1018100093229F938F931F930F930E94B50889E69D
+:1018200094E00E941C0821968DB79EB708960FB6CB
+:10183000F8949EBF0FBE8DBFCE30D105D1F6DF919B
+:10184000CF911F910F91FF90EF90DF90CF9008956F
+:101850008B3B910578F4883A910540F5853A9105DE
+:10186000D0F48430910508F0B1C08130910509F4BD
+:10187000ADC06BC0803E910508F467C0883E9105FD
+:1018800008F4A4C09C01205F31092031310508F023
+:101890005CC090650895853A910509F459C0863A6F
+:1018A000910509F058C082E890E40895883A9105BE
+:1018B00009F454C0893A910509F453C08A3A910554
+:1018C00009F452C08B3A910509F451C08C3A910544
+:1018D00009F450C08D3A910509F44FC0803B910541
+:1018E00009F44EC08E3A910509F44DC08F3A910526
+:1018F00009F44CC0813B910509F44BC0823B910532
+:1019000009F44AC0833B910509F449C0843B910521
+:1019100009F448C0853B910509F447C0863B910511
+:1019200009F446C0873B910509F445C0883B910501
+:1019300009F444C0893B910509F443C08A3B9105F1
+:1019400009F442C080E094E4089580E090E00895B6
+:1019500081E890E4089583E890E4089582EE94E4A9
+:10196000089589EE94E408958AEE94E4089585EB51
+:1019700094E4089586EB94E4089587EB94E4089545
+:101980008CEC94E408958DEC94E4089583E895E458
+:1019900008958AE895E4089582E995E4089584E934
+:1019A00095E4089581E296E4089583E296E408952B
+:1019B00084E296E4089585E296E4089586E296E44A
+:1019C000089587E296E408958AE296E408950895DA
+:1019D00096E0799FF001112494E5899FE00DF11DB7
+:1019E0001124E60FF11DEE0FFF1FEF5DFE4F8591F5
+:1019F00094910895880F991FFC01E556F040859158
+:101A000094910895880F991FFC01E55EFE4F859122
+:101A10009491089526E0729FF001112444E5849F7B
+:101A2000E00DF11D1124E60FF11DEE0FFF1FEF5D1C
+:101A3000FE4F859194919C013A9521154FE1340711
+:101A400008F41EC13F512115304120F49F700E94BF
+:101A5000020D08959C0130532115304118F4992747
+:101A6000906C0895811520E5920769F40E94ED1BA2
+:101A70004FEF84E39CE0415080409040E1F700C08C
+:101A800000000C944F23813020E5920751F489EE39
+:101A900094E00E941C088091D90181608093D90153
+:101AA00008959C0130552115304108F051C0292F6F
+:101AB00033272F70332721303105D9F4AC0143701F
+:101AC000552702C0220F331F4A95E2F73C68AC014C
+:101AD00064E0440F551F6A95E1F744275370242BA7
+:101AE000352B73E0880F991F7A95E1F78076992757
+:101AF0001DC02230310529F4982F8827816F906A04
+:101B0000089523303105A9F4AC014370552721E035
+:101B100030E002C0220F331F4A95E2F73C6843E0F1
+:101B2000880F991F4A95E1F7807E9770822B932B3F
+:101B3000089524303105E1F4AC014370552721E0CC
+:101B400030E002C0220F331F4A95E2F73A68E7CF30
+:101B50009C0130572115304118F49F709062089510
+:101B60009C0130582115304118F49F70906A0895F7
+:101B7000803E9105E0F4803C910558F58133910554
+:101B800009F46FC048F48932910509F463C08A32C0
+:101B9000910509F46DC072C089339105E9F082386E
+:101BA0009105D1F08533910509F44DC067C0833E9E
+:101BB000910581F138F4803E9105B9F0823E91059E
+:101BC000D9F05CC0863E910561F1873E9105A1F197
+:101BD00055C00E94FA0C08952091EC0120FD02C02E
+:101BE00021FF4CC080EE90E049C08091EC0180FF65
+:101BF000F9CF89E390E042C08091EC0182FF0EC0F2
+:101C00008091EC0184FF03C080E090E037C083EE58
+:101C100090E034C08091EC0182FFF2CF82EE90E040
+:101C20002DC08091EC0183FF0BC08091EC0184FDFD
+:101C3000EBCF87EE90E022C08091EC0183FFF5CFDF
+:101C400086EE90E01BC08091EC0185FF07C089E221
+:101C500090E014C08091EC0185FFF9CF85E390E01E
+:101C60000DC08091EC0186FF07C08AE290E006C0BB
+:101C70008091EC0186FFF9CF81E390E00E94280C6F
+:101C80000895089580916F0108959FB7F894109278
+:101C90005E019FBF9091F201943009F057C090917E
+:101CA000E9009F703091EC00232F217030FD20E877
+:101CB000922B24E02093E9002091EB0020FF43C009
+:101CC0002091EE0027FF3FC020915C01222321F0EC
+:101CD0002091E80025FF37C010925C0126E030918A
+:101CE000E80035FD15C03091F201343061F53091D6
+:101CF000EB0035FD28C0215021F481E080935C0188
+:101D000022C0EFE9FFE03197F1F700C00000E7CF14
+:101D10008093F1008091E80085FD0AC08091E80081
+:101D200080FFFCCF8091E8008E778093E80006C0AA
+:101D30008FB7F89421E020935E018FBF9F7090933E
+:101D4000E90080E008959F709093E9008FEF089577
+:101D5000CF93DF9300D01F92CDB7DEB79C01809167
+:101D6000F201843019F593E099833B832A839093A1
+:101D7000E9008FEF9091E800815095FD06C095ED48
+:101D80009A95F1F700008111F5CF8091E80085FF69
+:101D90000DC040E050E063E070E0CE0101960E948B
+:101DA00078118091E8008E778093E8000F900F9073
+:101DB0000F90DF91CF910895CF93DF9300D01F92C2
+:101DC000CDB7DEB72091F201243021F522E029833E
+:101DD0009B838A8383E08093E9008FEF9091E800F2
+:101DE000815095FD06C095ED9A95F1F7000081119F
+:101DF000F5CF8091E80085FF0DC040E050E063E042
+:101E000070E0CE0101960E9478118091E8008E77F3
+:101E10008093E8000F900F900F90DF91CF9108957D
+:101E20002091F2012430F1F422E02093E9002FEF19
+:101E30003091E800215035FD06C035ED3A95F1F7B7
+:101E400000002111F5CF2091E80025FF0BC040E0F4
+:101E500050E065E070E00E9478118091E8008E7794
+:101E60008093E8000895CF93DF932091F20124300E
+:101E700009F048C0EC0180910C018823E1F08091C9
+:101E80000D018823C1F085E08093E9008FEF9091E8
+:101E9000E800815095FD06C095E19A95F1F70000A4
+:101EA0008111F5CF8091E80085FF2CC040E050E023
+:101EB00060E170E017C081E08093E9008FEF9091BE
+:101EC000E800815095FD06C095ED9A95F1F7000068
+:101ED0008111F5CF8091E80085FF14C040E050E00B
+:101EE00068E070E0CE010E9478118091E8008E7762
+:101EF0008093E80080E1FE01AFE5B1E001900D9232
+:101F00008A95E1F7DF91CF91089580E295E00E94F4
+:101F10001C088091F101811109C00E940D130E94DB
+:101F20006A138091E20084608093E20008958CE15E
+:101F300095E00E941C081092F101089588E195E057
+:101F40000C941C0884E195E00E941C080C941F2D41
+:101F500080E195E00E941C080E94E9220E94252D44
+:101F60000E940F160C94410E20915D012F5F822F6D
+:101F700062E30E94932E992319F020935D01089546
+:101F800010925D0180915E01882371F18091F201D0
+:101F9000843041F58091E9008F702091EC00922F00
+:101FA000917020FD90E8892B94E09093E900909146
+:101FB000EB0090FF14C09091EE0097FF10C090913D
+:101FC000E80095FF03C01092F100F9CF9091E8006E
+:101FD00090FF05C09091E8009E779093E8008F7085
+:101FE0008093E90010925E01089542E061EC81E087
+:101FF0000E94871242E061EC82E00E94871242E078
+:1020000061EC83E00E94871242E261EC84E00E946E
+:10201000871242E161EC85E00C9487128091F40113
+:10202000833009F455C030F4813071F0823009F406
+:102030008EC008958A3009F47AC08B3009F460C0EC
+:10204000893009F09CC020C08091F301813A09F0E9
+:1020500096C08091E800877F8093E8008091F70127
+:102060009091F801892B21F460E18FE591E003C0A4
+:1020700060E080E090E070E00E94C3118091E80091
+:102080008B778093E80008958091F301813209F005
+:1020900076C08091F7019091F801009719F00497AC
+:1020A00009F06DC08091E800877F8093E8008091FF
+:1020B000E80082FD05C08091F2018111F8CF5FC078
+:1020C0008091F10080936F018091E8008B7753C07D
+:1020D0008091F301813A09F052C08091F70190910B
+:1020E000F801892B09F04BC08091E800877F80932D
+:1020F000E8008091E80080FFFCCF80910C0136C0A1
+:102100008091F3018132D9F58091F7019091F80126
+:10211000892BA9F58091E800877F8093E8000E94D1
+:10212000BC128091F50180930C010C94ED1B809101
+:10213000F301813221F58091E800877F8093E800E8
+:102140000E94BC128091F6018093700108958091E5
+:10215000F301813AA1F48091E800877F8093E80041
+:102160008091E80080FFFCCF809170018093F100A6
+:102170008091E8008E778093E8000C94BC1208955B
+:1021800084B7877F84BF88E10FB6F894809360009E
+:10219000109260000FBE90E080E80FB6F894809334
+:1021A0006100909361000FBE0E949C160E940D1367
+:1021B0000E946A138091E20084608093E20085E4CB
+:1021C0009EE00E94282278940E94EF150E949E169D
+:1021D00082E091E00E940A160E940D2D8FEF94E09C
+:1021E0000E941C088091F201853089F48BEF94E005
+:1021F0000E941C080E94AD228091F001882391F377
+:102200000E94D522882371F30E946211EBCF0E94B5
+:10221000CC16E8CF292F332723303105C9F064F4D9
+:102220002130310581F02230310509F043C08DE8BD
+:1022300090E028E535E042C021323105F1F022324C
+:10224000310541F137C082E190E025EE35E036C03E
+:1022500099278130910541F08230910541F0892B19
+:1022600049F5E4E5F5E005C0ECE3F5E002C0E4E2A1
+:10227000F5E0849190E09F0121C06530D8F4E62F0D
+:10228000F0E0EE0FFF1FEB5DFE4F2081318189E012
+:1022900090E014C0653070F470E0FB01EE0FFF1F9A
+:1022A000E55EFE4F20813181FB01EA5EFE4F8081B9
+:1022B00090E004C080E090E020E030E0FA0131835B
+:1022C0002083089580E189BD82E189BD09B400FEC3
+:1022D000FDCF8091D8008F7D8093D8008091E00061
+:1022E00082608093E0008091E00081FDFCCF089542
+:1022F000CF92DF92EF92FF920F931F93CF93DF93D2
+:10230000EC018B016A010E94DB12811133C0C11400
+:10231000D10439F0F60180819181081B190BC80F97
+:10232000D91FE12CF12C0115110519F18091E8005C
+:1023300085FD16C08091E8008E778093E800C11477
+:10234000D10449F0F60180819181E80EF91EF182F5
+:10235000E08285E00FC00E94DB12882321F30AC0CF
+:1023600089918093F10001501109FFEFEF1AFF0AE4
+:10237000DACF80E0DF91CF911F910F91FF90EF9026
+:10238000DF90CF9008952091F9013091FA0126173E
+:10239000370748F06115710539F42091E8002E7770
+:1023A0002093E80001C0B90140E061157105A9F171
+:1023B0002091F201222309F443C0253009F442C0E0
+:1023C0002091E80023FD40C02091E80022FD32C0AA
+:1023D0002091E80020FFE9CF4091F3002091F20026
+:1023E00030E0342BFC01CF016115710559F0283024
+:1023F000310540F481918093F100615071092F5FA4
+:102400003F4FF1CF41E02830310509F040E0209105
+:10241000E8002E772093E800C8CF4111C9CF0AC049
+:102420008091F201882361F0853061F08091E800AD
+:1024300083FD0AC08091E80082FFF2CF80E008951A
+:1024400082E0089583E0089581E008952091F901E4
+:102450003091FA012617370748F06115710539F4F4
+:102460002091E8002E772093E80001C0B901FC011B
+:1024700020E06115710591F18091F201882309F442
+:1024800040C0853009F43FC08091E80083FD3DC025
+:102490008091E80082FD2FC08091E80080FFE9CFA5
+:1024A0002091F3008091F20090E0922B611571056C
+:1024B00059F08830910540F424912093F100319631
+:1024C000615071090196F2CF21E0089709F020E0F0
+:1024D0008091E8008E778093E800CBCF2111CCCF9C
+:1024E0000AC08091F201882361F0853061F080910B
+:1024F000E80083FD0AC08091E80082FFF2CF80E00F
+:10250000089582E0089583E0089581E00895982F6A
+:10251000973058F59093E900981739F07091EC00D6
+:102520002091ED005091F00003C0242F762F50E051
+:1025300021FF19C03091EB003E7F3093EB003091CA
+:10254000ED003D7F3093ED003091EB003160309332
+:10255000EB007093EC002093ED005093F00020917D
+:10256000EE0027FF07C09F5FD3CF8F708093E900F5
+:1025700081E0089580E008958091F30187FF11C004
+:102580008091E80082FD05C08091F2018111F8CFB1
+:1025900011C08091E8008B770BC08091F2018823F5
+:1025A00049F08091E80080FFF8CF8091E8008E77B5
+:1025B0008093E80008952091E4003091E50095E6CD
+:1025C0004091EC00842F817040FF22C08091E80090
+:1025D00080FD1CC08091F201882391F0853091F03C
+:1025E0008091EB0085FD10C04091E4005091E50022
+:1025F0004217530729F39A01915011F784E0089587
+:1026000082E0089583E0089581E0089580E00895D0
+:102610004091E80042FFDECF08950E947B130E94A4
+:102620008313E0EEF0E0808181608083E8EDF0E0EC
+:1026300080818F77808319BCA7EDB0E08C918E7F6D
+:102640008C9380818F7E80831092F10108950F9387
+:102650001F93CF93DF930E947B130E948313C8EDD7
+:10266000D0E088818F77888388818068888388819B
+:102670008F7D888319BC1092F2011092EE011092A6
+:10268000F0011092EF0100EE10E0F80180818B7FE5
+:10269000808388818160888342E060E080E00E94DE
+:1026A0008712E1EEF0E080818E7F8083E2EEF0E041
+:1026B000808181608083808188608083F80180814F
+:1026C0008E7F8083888180618883DF91CF911F9185
+:1026D0000F910895E8EDF0E080818F7E8083E7ED33
+:1026E000F0E080818160808384E082BF81E080931C
+:1026F000F1010C942713E8EDF0E080818E7F808358
+:102700001092E20008951092DA001092E10008950C
+:102710001F920F920FB60F9211242F933F934F9356
+:102720005F936F937F938F939F93AF93BF93EF9339
+:10273000FF938091E10082FF0BC08091E20082FF55
+:1027400007C08091E1008B7F8093E1000E94B40F6D
+:102750008091DA0080FF1FC08091D80080FF1BC0ED
+:102760008091DA008E7F8093DA008091D90080FF1B
+:102770000DC080E189BD82E189BD09B400FEFDCFB5
+:1027800081E08093F2010E94850F05C019BC109270
+:10279000F2010E94970F8091E10080FF19C08091A3
+:1027A000E20080FF15C08091E2008E7F8093E200FE
+:1027B0008091E20080618093E2008091D800806285
+:1027C0008093D80019BC85E08093F2010E94A20F8B
+:1027D0008091E10084FF30C08091E20084FF2CC032
+:1027E00080E189BD82E189BD09B400FEFDCF809101
+:1027F000D8008F7D8093D8008091E1008F7E8093F8
+:10280000E1008091E2008F7E8093E2008091E200FF
+:1028100081608093E2008091EE01882311F084E0D2
+:1028200007C08091E30087FD02C081E001C083E022
+:102830008093F2010E94A80F8091E10083FF29C0DC
+:102840008091E20083FF25C08091E100877F809323
+:10285000E10082E08093F2011092EE018091E100AC
+:102860008E7F8093E1008091E2008E7F8093E20072
+:102870008091E20080618093E20042E060E080E0CD
+:102880000E9487128091F00088608093F0000E947F
+:102890009E0FFF91EF91BF91AF919F918F917F918B
+:1028A0006F915F914F913F912F910F900FBE0F90BD
+:1028B0001F9018951F920F920FB60F9211242F930D
+:1028C0003F934F935F936F937F938F939F93AF93B8
+:1028D000BF93CF93DF93EF93FF93C091E900CF7045
+:1028E0008091EC00D82FD17080FDD0E81092E900E3
+:1028F0008091F000877F8093F00078940E949E146E
+:102900001092E9008091F00088608093F000CD2B58
+:10291000CF70C093E900FF91EF91DF91CF91BF910C
+:10292000AF919F918F917F916F915F914F913F9167
+:102930002F910F900FBE0F901F9018951F93CF935C
+:10294000DF93CDB7DEB7AA970FB6F894DEBF0FBE00
+:10295000CDBFE3EFF1E088E08E0F9091F10091930D
+:102960008E13FBCF0E940E108091E80083FF1FC1E1
+:102970008091F3019091F401492F50E04A305105C4
+:1029800008F015C1FA01EA5AFF4F0C94B32E8038B3
+:1029900081F0823809F00BC18091F7018F7080932C
+:1029A000E9008091EB0085FB882780F91092E9000F
+:1029B00006C08091EF019091F00191118260909199
+:1029C000E800977F9093E8008093F1001092F10067
+:1029D000C8C0282F2D7F09F0EAC0882319F0823063
+:1029E00061F0E5C08091F501813009F0E0C09330DD
+:1029F00009F080E08093F0012BC08091F5018111F6
+:102A000027C08091F7018F7009F4D1C08093E9004D
+:102A10002091EB0020FF1CC0933021F48091EB004B
+:102A2000806214C09091EB0090619093EB0021E0E4
+:102A300030E0A90102C0440F551F8A95E2F7409388
+:102A4000EA001092EA008091EB0088608093EB002E
+:102A50001092E9008091E800877F86C08111A7C0AD
+:102A60001091F5011F778091E3008078812B80938E
+:102A7000E3008091E800877F8093E8000E94BC1209
+:102A80008091E80080FFFCCF8091E3008068809314
+:102A9000E300111102C082E001C083E08093F201E3
+:102AA00086C08058823008F082C08091F5019091F4
+:102AB000F6018C3D53E0950779F583E08A838AE23D
+:102AC00089834FB7F894DE01139620E03EE051E28F
+:102AD000E32FF0E050935700E49120FF03C0E2950C
+:102AE000EF703F5FEF708E2F90E0EA3010F0C796E6
+:102AF00001C0C0968D939D932F5F243149F74FBF3E
+:102B00008091E800877F8093E8006AE270E0CE0160
+:102B100001960E94C31114C0AE014F5F5F4F6091D8
+:102B2000F7010E940A11BC01892B09F440C0909161
+:102B3000E800977F9093E80089819A810E9426128D
+:102B40008091E8008B778093E80031C0803879F578
+:102B50008091E800877F8093E8008091EE01809368
+:102B6000F1008091E8008E778093E8000E94BC120B
+:102B70001EC081111CC09091F5019230C0F480916B
+:102B8000E800877F8093E8009093EE010E94BC12DA
+:102B90008091EE01811106C08091E30087FD02C0A3
+:102BA00081E001C084E08093F2010E94F50F8091E2
+:102BB000E80083FF0AC08091E800877F8093E800E7
+:102BC0008091EB0080628093EB00AA960FB6F89498
+:102BD000DEBF0FBECDBFDF91CF911F910895CF9380
+:102BE0008091F2018823A1F0C091E900CF7090910B
+:102BF000EC00892F817090FD80E8C82B1092E900CD
+:102C00008091E80083FD0E949E14CF70C093E9007C
+:102C1000CF91089590937601809375010895E09186
+:102C20007501F0917601309721F00190F081E02D4F
+:102C3000099480E00895EF92FF920F931F93CF9332
+:102C4000DF93E0917501F09176013097B1F18C013D
+:102C50000280F381E02D09958091D90182FF2DC07A
+:102C600080FF04C08AE197E00E941C08E80110E19F
+:102C700084E1E82E87E0F82E8091D90180FF0BC017
+:102C800088811F928F93FF92EF920E94B5080F9058
+:102C90000F900F900F90115021961111EDCF809150
+:102CA000D90180FF0AC082E197E0DF91CF911F91A7
+:102CB0000F91FF90EF900C941C08DF91CF911F9122
+:102CC0000F91FF90EF900895E0917501F0917601DA
+:102CD000309721F00480F581E02D0994089520912A
+:102CE0007301309174018217930771F0909374010E
+:102CF00080937301E0917501F0917601309721F096
+:102D00000680F781E02D099408952091710130919A
+:102D100072018217930771F0909372018093710191
+:102D2000E0917501F0917601309721F00084F185F2
+:102D3000E02D0994089508950C949B160E94EB22AF
+:102D40000E94920A0C94B123CF93C82F8091D9018D
+:102D500082FF1EC080FF04C083E397E00E941C082E
+:102D60008091D90180FF0CC01F92CF938EE297E033
+:102D70009F938F930E94B5080F900F900F900F9024
+:102D80008091D90180FF04C08CE297E00E941C086A
+:102D90008C2FCF910C94410ECF92DF92EF92FF9245
+:102DA0000F931F93CF93DF93CDB7DEB72B970FB65B
+:102DB000F894DEBF0FBECDBF0E94AF0A88E7C82ED1
+:102DC00081E0D82E00E010E0E02E802F0E94DB0B87
+:102DD000F60141916F01F42EF826B1F40F5F1F4FF9
+:102DE0000E30110589F78FEF89838A831B820E9439
+:102DF000F4228160782F9D838C8349815A816B8175
+:102E00008D810E946F1740C09091D90191FF04C03D
+:102E10008B870E94E10B8B8520E030E04F2D50E046
+:102E2000922FBA01022E02C0759567950A94E2F7B7
+:102E300060FF24C02E83EF8221E030E0690102C0F0
+:102E4000CC0CDD1C9A95E2F790E08C219D21892B1A
+:102E500009F420E028870E94F4228160782F9A8765
+:102E600089874E815F8168858A850E946F17F80186
+:102E7000E858FE4F8081C826C08206C02F5F3F4FB2
+:102E80002630310569F6AACF0E94222710917701DA
+:102E90000E940F161817A1F00E940F168093770159
+:102EA0002B960FB6F894DEBF0FBECDBFDF91CF914A
+:102EB0001F910F91FF90EF90DF90CF900C94A4168C
+:102EC0002B960FB6F894DEBF0FBECDBFDF91CF912A
+:102ED0001F910F91FF90EF90DF90CF900895CF93C7
+:102EE000DF93CDB7DEB72B970FB6F894DEBF0FBEDA
+:102EF000CDBF4F83588769877A878B87DE0111960C
+:102F000086E0FD0111928A95E9F785E0FE0137968A
+:102F100001900D928A95E1F749815A816B817C81FC
+:102F20008D819E810E94871E2B960FB6F894DEBF7E
+:102F30000FBECDBFDF91CF910895CF93882309F4C1
+:102F4000C2C0C82F823859F40E940F1681FDBBC041
+:102F500089E30E9423210E94022289E30CC0833866
+:102F600079F40E940F1680FDAEC083E50E942321F4
+:102F70000E94022283E50E947621CF910C940222C6
+:102F8000843859F40E940F1682FD9DC087E40E9488
+:102F900023210E94022287E4EECF8CEF8C0F813A2E
+:102FA00048F48C2F0E94B52B81118DC08C2F0E946C
+:102FB0002321E3CF80E28C0F883048F4C77081E092
+:102FC00001C0880FCA95EAF70E94CB21D6CF8BE5C6
+:102FD0008C0F833078F4C53A29F0C63A31F083E893
+:102FE00090E005C081E890E002C082E890E0CF91D7
+:102FF0000C946F1688E58C0F833108F064C0C83AD2
+:1030000039F1C93A41F1CA3A49F1CB3A51F1CC3AD6
+:1030100059F1CD3A61F1C03B69F1CE3A71F1CF3A45
+:1030200079F1C13B81F1C23B89F1C33B91F1C43BD2
+:1030300099F1C53BA1F1C63BA9F1C73BB1F1C83B32
+:10304000B9F1C93BC1F1CA3BC9F180E090E038C099
+:1030500082EE90E035C089EE90E032C08AEE90E0DA
+:103060002FC085EB90E02CC086EB90E029C087EB69
+:1030700090E026C08CEC90E023C08DEC90E020C066
+:1030800083E891E01DC08AE891E01AC082E991E0EE
+:1030900017C084E991E014C081E292E011C083E29C
+:1030A00092E00EC084E292E00BC085E292E008C09C
+:1030B00086E292E005C087E292E002C08AE292E0F6
+:1030C000CF910C948516CF910895882309F44BC0B5
+:1030D000823859F40E940F1681FF45C089E30E948F
+:1030E00023210E94022289E30CC0833871F40E94DC
+:1030F0000F1680FF38C083E50E9423210E94022220
+:1031000083E50E9476210C940222843859F40E94AF
+:103110000F1682FF28C087E40E9423210E9402220A
+:1031200087E4EFCF9CEF980F913A58F390E2980F15
+:10313000983050F4877091E001C0990F8A95EAF7B2
+:10314000892F0E94D121DFCF9BE5980F933020F487
+:1031500080E090E00C946F16885A833120F480E070
+:1031600090E00C9485160895882321F00E94CB21CD
+:103170000C9402220895882321F00E94D1210C94FE
+:1031800002220895BF92CF92DF92EF92FF920F93A7
+:103190001F93CF93DF9300D000D000D0CDB7DEB720
+:1031A00025E0FC01DE01119601900D922A95E1F7D0
+:1031B000FC01408131810281258122952F7063813C
+:1031C0007481672B09F4E7C23F3F19F44F3F09F4BC
+:1031D000E2C27C0149833A8389819A812E830E94CD
+:1031E000E220182FB92E0E94E1200E94A81FEB2D8B
+:1031F000E295EF70F0E0E05AFF4F2E810C94B32E71
+:103200008B2D807F9B2D9F70F92E882319F0F294CF
+:1032100080EFF822002349F0FF2009F469C28F2DC6
+:103220000E94DB210E94022263C2812F0E94651846
+:10323000FF2009F4B0C28F2D0E94E12126960FB61F
+:10324000F894DEBF0FBECDBFDF91CF911F910F91DC
+:10325000FF90EF90DF90CF90BF900C9402223B2D17
+:10326000307F8B2D8F70303211F08295807F11234B
+:1032700019F0113021F12DC00023B9F0222309F4F7
+:10328000A1C1213009F09EC126960FB6F894DEBF89
+:103290000FBECDBFDF91CF911F910F91FF90EF90A7
+:1032A000DF90CF90BF900C94EB21222319F02130B6
+:1032B00009F471C28E830E94EE218E8197C1002392
+:1032C00021F0263008F067C27DC1253008F063C2C6
+:1032D0008DC1002321F0222309F474C109C22223E5
+:1032E00009F484C11AC22B2D26952695237030E04F
+:1032F0002115310521F021303105D1F04CC20023D8
+:1033000021F0812F9B2D937002C080E090E02696E3
+:103310000FB6F894DEBF0FBECDBFDF91CF911F91E6
+:103320000F91FF90EF90DF90CF90BF900C946F16AD
+:10333000002321F0812F9B2D937002C080E090E04C
+:1033400026960FB6F894DEBF0FBECDBFDF91CF91AA
+:103350001F910F91FF90EF90DF90CF90BF900C9452
+:103360008516812F002319F00E94A82502C00E9413
+:10337000102626960FB6F894DEBF0FBECDBFDF91A4
+:10338000CF911F910F91FF90EF90DF90CF90BF9062
+:103390000C9495268B2D837009F07BC00111FBC125
+:1033A000812F829586958770880F880F912F9F7047
+:1033B000C92ED12CE12CF12C082E04C0CC0CDD1C24
+:1033C000EE1CFF1C0A94D2F714FF12C04FE050E02D
+:1033D00060E070E004C0440F551F661F771F8A9598
+:1033E000D2F7CB01BA01609570958095909503C096
+:1033F00060E070E0CB012B2D269526952370422F9F
+:1034000050E042305105D9F04330510569F16C2943
+:103410007D298E299F294130510551F126960FB6FD
+:10342000F894DEBF0FBECDBFDF91CF911F910F91FA
+:10343000FF90EF90DF90CF90BF900C94CF1F6C293E
+:103440007D298E299F2926960FB6F894DEBF0FBEE0
+:10345000CDBFDF91CF911F910F91FF90EF90DF9043
+:10346000CF90BF900C94EB1F0E94CF1FC701B601F5
+:1034700026960FB6F894DEBF0FBECDBFDF91CF9179
+:103480001F910F91FF90EF90DF90CF90BF900C9421
+:10349000B31F002319F08B2D817001C086958823FE
+:1034A00009F479C1812F829586958770880F880FDE
+:1034B000912F9F70C92ED12CE12CF12C082E04C025
+:1034C000CC0CDD1CEE1CFF1C0A94D2F714FF12C0BA
+:1034D0004FE050E060E070E004C0440F551F661FED
+:1034E000771F8A95D2F7CB01BA01609570958095C8
+:1034F000909503C060E070E0CB012B2D26952695BA
+:103500002370422F50E042305105D9F0433051052D
+:1035100069F16C297D298E299F294130510551F18E
+:1035200026960FB6F894DEBF0FBECDBFDF91CF91C8
+:103530001F910F91FF90EF90DF90CF90BF900C9470
+:10354000A9206C297D298E299F2926960FB6F894EB
+:10355000DEBF0FBECDBFDF91CF911F910F91FF90C6
+:10356000EF90DF90CF90BF900C94C5200E94A920CF
+:10357000C701B60126960FB6F894DEBF0FBECDBFC9
+:10358000DF91CF911F910F91FF90EF90DF90CF903F
+:10359000BF900C948D20103FD1F118F4103E50F4E0
+:1035A000A2C0123F09F464C008F44DC0133F09F4EF
+:1035B00074C099C01F708B2D8F710023A1F00E94E1
+:1035C0002620812F26960FB6F894DEBF0FBECDBF02
+:1035D000DF91CF911F910F91FF90EF90DF90CF90EF
+:1035E000BF900C94B4180E944720812F26960FB6E6
+:1035F000F894DEBF0FBECDBFDF91CF911F910F9129
+:10360000FF90EF90DF90CF90BF900C94BB180023F9
+:10361000B1F0253008F0BFC08B2D8F7126960FB604
+:10362000F894DEBF0FBECDBFDF91CF911F910F91F8
+:10363000FF90EF90DF90CF90BF900C946C202630DD
+:1036400008F0A9C0E9CF0023A9F08B2D8F71269631
+:103650000FB6F894DEBF0FBECDBFDF91CF911F91A3
+:103660000F91FF90EF90DF90CF90BF900C942620A9
+:10367000002359F38B2D8F7126960FB6F894DEBF79
+:103680000FBECDBFDF91CF911F910F91FF90EF90B3
+:10369000DF90CF90BF900C944720002399F08B2DA2
+:1036A0008F7126960FB6F894DEBF0FBECDBFDF91A7
+:1036B000CF911F910F91FF90EF90DF90CF90BF902F
+:1036C0000C94112026960FB6F894DEBF0FBECDBF26
+:1036D000DF91CF911F910F91FF90EF90DF90CF90EE
+:1036E000BF900C9407200023A9F0222309F4ADCF4A
+:1036F000812F26960FB6F894DEBF0FBECDBFDF91A7
+:10370000CF911F910F91FF90EF90DF90CF90BF90DE
+:103710000C949D17222309F4ADCF812F26960FB666
+:10372000F894DEBF0FBECDBFDF91CF911F910F91F7
+:10373000FF90EF90DF90CF90BF900C9465184B2DC9
+:103740004F70612FC7010E94BE0826960FB6F894ED
+:10375000DEBF0FBECDBFDF91CF911F910F91FF90C4
+:10376000EF90DF90CF90BF900C942B1F4B2D4F709C
+:10377000612FC70126960FB6F894DEBF0FBECDBFEE
+:10378000DF91CF911F910F91FF90EF90DF90CF903D
+:10379000BF900C94E70C26960FB6F894DEBF0FBED0
+:1037A000CDBFDF91CF911F910F91FF90EF90DF90F0
+:1037B000CF90BF9008950E94E8210E94BD210E94F1
+:1037C00002220E94C8270E94952680E090E00E9475
+:1037D0006F1680E090E00C9485160E94D8210C941E
+:1037E000DB1B0E94E220292F22952F7030E02C3025
+:1037F00031054CF42A3031056CF422503109223065
+:10380000310588F407C02C30310549F02F303105DF
+:1038100031F009C0803E48F0803F29F406C093FB98
+:10382000882780F9089580E0089581E00895CF9376
+:10383000DF9300D000D01F92CDB7DEB70F900F906E
+:103840000F900F900F90DF91CF910895CF93DF935A
+:1038500000D000D000D0CDB7DEB726960FB6F894D2
+:10386000DEBF0FBECDBFDF91CF9108951F93CF93E1
+:10387000DF93C091860116E080918701C81799F007
+:10388000D0E01C9FF0011D9FF00D1124E857FE4F62
+:103890004081518162817381848195810E94261CBF
+:1038A0002196C770E9CFDF91CF911F910895409184
+:1038B000B8015091B9016091BA017091BB0180913A
+:1038C000BC019091BD010C94261C8091BD01829594
+:1038D0008F7009F054C08091BA01882309F44FC059
+:1038E00080918601A09187016091B8017091B90122
+:1038F0004091BB015091BC01B6E08A1709F43FC06A
+:1039000090E041155105C1F17F3F11F46F3FA1F1E6
+:10391000B89FF001B99FF00D1124E857FE4F2181A7
+:1039200072132AC02081621327C02281211124C072
+:10393000238134812417350710F421503109241BC9
+:10394000350B283C3105C0F42091BD012F7020615A
+:103950002093BD0126E0289FF001299FF00D11243E
+:10396000E357FE4F80818F708061808388EB91E008
+:103970000E94C2180C94361C01968770BECF089521
+:10398000CF92DF92EF92FF920F931F93CF93DF932B
+:10399000CDB7DEB762970FB6F894DEBF0FBECDBFCE
+:1039A0008C0185E0F801DE011D9601900D928A954B
+:1039B000E1F7D8014C9111965C91119712966C9198
+:1039C00012971396CD90DC9014973091B8017091B6
+:1039D000B9018091BB019091BC01009709F46BC1C2
+:1039E0007F3F19F43F3F09F466C1E090BA01EE2031
+:1039F00009F4C0C02091BD01C816D90628F0F6010F
+:103A0000E81BF90BCF0104C0809590958C0D9D1D8E
+:103A1000FF24F394883C910578F0F12C207F09F085
+:103A2000C6C07C2DD98AC88A89890E94171C88EB58
+:103A300091E00E94C218B1C0822F807F09F046C079
+:103A4000751314C0341312C0611110C02F7020619F
+:103A50002093BD010E94571C88EB91E00E94C21880
+:103A60008091BD01D80115968C932EC0CD2819F1F7
+:103A70005F3F11F44F3FF9F0F62E61111CC08091A9
+:103A800086012091870136E0821709F45AC090E040
+:103A9000389FF001399FF00D1124E857FE4F7181D6
+:103AA000571306C07081471303C07281711103C0A0
+:103AB00001968770E9CFF62E662309F418C180912C
+:103AC000BD0181608093BD01F12C11C1751308C047
+:103AD000341306C0611104C08091BD01D801C3C078
+:103AE0004D875E878D859E856A8B0E94F11B6A8952
+:103AF0008823E1F16623D1F12091BD01822F8295C7
+:103B00008F7090E0029774F08091B8019091B901A4
+:103B100098878F831986DB86CA862C87CE01079605
+:103B20000E94C21886E0F801A8EBB1E001900D9266
+:103B30008A95E1F70E94651C0E94571CFF24F394AC
+:103B4000D6C04D875E878D859E850E94E220292FF5
+:103B500022952F7030E0223031050CF0BCC09F70F0
+:103B600009F0B6C0805E883008F4C1C0C8010E9468
+:103B7000C218E4CFC816D90608F453C0F601E81BF2
+:103B8000F90BCF01883C910508F450C0F12C7C2D35
+:103B9000D98AC88A89890E94171CE8EBF1E086E07F
+:103BA000DF011D928A95E9F70E94571CA0C075138A
+:103BB00014C0341312C0611110C08091BD01F8010E
+:103BC0008583C8010E94C21886E0E8EBF1E0DF01BE
+:103BD0001D928A95E9F7FE2C8AC04D875E878D85F8
+:103BE0009E856A8B0E94F11B6A89882309F4BECFE7
+:103BF000662309F4BBCF2091BD01822F82958F707F
+:103C000090E002970CF48ECF8091B8019091B901A9
+:103C10009A8389831B82DD82CC822E83CE0101961A
+:103C20007FCF809590958C0D9D1DACCFF62E662391
+:103C300009F49CCF75132EC034132CC02091BD0104
+:103C400020FD1FC0822F82958F70D9F0D801159664
+:103C50002C9315978F3049F08F5F982F9295907F16
+:103C6000822F8F70892B15968C93C8010E94C218E1
+:103C700086E0F801A8EBB1E001900D928A95E1F79A
+:103C800093CF86E0F801A8EBB1E001900D928A9500
+:103C9000E1F72DC04D875E878D859E850E94F11BC3
+:103CA000811140CF8091BD0181608093BD01C80129
+:103CB0000E94C2181CC0662309F458CF4D875E8746
+:103CC0008D859E850E94F11B882309F44FCF2ACF52
+:103CD000811148CF0CC0243031050CF047CF9F70C4
+:103CE00009F440CFF8019581907F09F03BCF8F2DEB
+:103CF00062960FB6F894DEBF0FBECDBFDF91CF91B5
+:103D00001F910F91FF90EF90DF90CF9008951F9338
+:103D1000CF93DF93CDB7DEB72C970FB6F894DEBF05
+:103D20000FBECDBF4F83588769877A878B879C8763
+:103D3000CE0107960E94C01C882369F08F81988568
+:103D40002A853B85232BF1F19F3F09F063C08F3F0C
+:103D500009F060C037C086E0FE013796DE0111969B
+:103D600001900D928A95E1F76F817885EA85FB8550
+:103D7000309741F17F3F11F46F3F21F1209187018E
+:103D800030E0C9010196877099274091860150E083
+:103D90008417950709F447C069837A83FD83EC8310
+:103DA00096E0929FD001939FB00D1124A857BE4F6B
+:103DB000FE01319601900D929A95E1F7809387016B
+:103DC0000E94361C16E08091860190918701891728
+:103DD000C1F1189FC001112488579E4F0E94C01C3A
+:103DE000882379F1E09186011E9FF0011124E857A4
+:103DF000FE4F4081518162817381848195810E944F
+:103E0000261C8091860190E0019687709927809307
+:103E10008601D9CF4F81588569857A858B859C85A8
+:103E20000E94261CCFCF0E94ED1B1092870110929A
+:103E30008601E8EBF1E086E0DF011D928A95E9F763
+:103E4000C1CF2C960FB6F894DEBF0FBECDBFDF9169
+:103E5000CF911F910895EF92FF920F931F93CF93ED
+:103E6000DF938C01892B09F46CC0F12CEE24E394D0
+:103E7000E8012196F8018491843740F4843008F0F9
+:103E800051C0813081F0823019F15BC0853709F46F
+:103E900044C0A8F19CE7980F903708F052C08F7784
+:103EA0000E94651841C00E5F1F4FFE01C49180E261
+:103EB0008C0F883048F4C7708E2D01C0880FCA95CA
+:103EC000EAF70E94DB2114C08C2F0E949D172DC0A1
+:103ED0000E5F1F4FFE01C49180E28C0F883058F4B2
+:103EE000C7708E2D01C0880FCA95EAF70E94E121A4
+:103EF0000E9402221AC08C2F0E94651816C00E5F05
+:103F00001F4FFE01C491CC2381F08FE99FE0019700
+:103F1000F1F700C00000C150F6CF0E5F1F4FFE0149
+:103F2000F49003C00E949D178E018F2D882309F401
+:103F30009FCFEFE9FFE03197F1F700C0000081501B
+:103F4000F5CFDF91CF911F910F91FF90EF900895E2
+:103F500008956093C2017093C3018093C40190934C
+:103F6000C5010C94DB1B0F931F930091C2011091AC
+:103F7000C3012091C4013091C501DC01CB01802B2C
+:103F8000912BA22BB32B8093C2019093C301A093DA
+:103F9000C401B093C5011F910F910C94DB1B0F93CB
+:103FA0001F930091C2011091C3012091C40130916F
+:103FB000C501DC01CB0180239123A223B32380938D
+:103FC000C2019093C301A093C401B093C5011F9196
+:103FD0000F910C94DB1B0F931F930091C201109162
+:103FE000C3012091C4013091C501DC01CB018027C0
+:103FF0009127A227B3278093C2019093C301A09376
+:10400000C401B093C5011F910F910C94DB1B10925A
+:10401000BE011092BF011092C0011092C1010C9418
+:10402000DB1B41E050E060E070E004C0440F551F2E
+:10403000661F771F8A95D2F74093BE015093BF0148
+:104040006093C0017093C1010C94DB1B41E050E010
+:1040500060E070E004C0440F551F661F771F8A950B
+:10406000D2F78091BE019091BF01A091C001B091A3
+:10407000C101482B592B6A2B7B2B4093BE015093D7
+:10408000BF016093C0017093C1010C94DB1B41E040
+:1040900050E060E070E004C0440F551F661F771FBA
+:1040A0008A95D2F740955095609570958091BE01A4
+:1040B0009091BF01A091C001B091C1014823592343
+:1040C0006A237B234093BE015093BF016093C001DC
+:1040D0007093C1010C94DB1B41E050E060E070E0A4
+:1040E00004C0440F551F661F771F8A95D2F7809131
+:1040F000BE019091BF01A091C001B091C1014827BC
+:1041000059276A277B274093BE015093BF016093D4
+:10411000C0017093C1010C94DB1B0F931F9300919E
+:10412000BE011091BF012091C0013091C101DC019D
+:10413000CB01802B912BA22BB32B8093BE019093AC
+:10414000BF01A093C001B093C1011F910F910C94C6
+:10415000DB1B0F931F930091BE011091BF012091B3
+:10416000C0013091C101DC01CB0180239123A22346
+:10417000B3238093BE019093BF01A093C001B0937D
+:10418000C1011F910F910C94DB1B0F931F930091A2
+:10419000BE011091BF012091C0013091C101DC012D
+:1041A000CB0180279127A227B3278093BE0190934C
+:1041B000BF01A093C001B093C1011F910F910C9456
+:1041C000DB1B0895CF92DF92EF92FF920F931F9324
+:1041D000CF93DF938C01C090C201D090C301E090D7
+:1041E000C401F090C5014091BE015091BF016091A2
+:1041F000C0017091C101C42AD52AE62AF72ACFE16D
+:10420000D0E0D701C6010C2E04C0B695A7959795AE
+:1042100087950A94D2F780FF07C0B8018C2F0E94BF
+:104220000A0D8130910531F4219758F7B80180E0EB
+:104230000E940A0DDF91CF911F910F91FF90EF9097
+:10424000DF90CF90089590910C01992321F09091E7
+:104250000D01911109C020910E0130910F01F9015A
+:1042600032969FEF40E030C0982F969596959695A0
+:104270009F30A0F4E0910E01F0910F01E90FF11DC4
+:10428000877021E030E0A90102C0440F551F8A95D4
+:10429000E2F7CA019181892B818308959091D90118
+:1042A00090FF23C01F928F9384E697E09F938F9394
+:1042B0000E94B5080F900F900F900F9008959F3FA8
+:1042C00039F04F5F4E3041F051915813F8CF0DC087
+:1042D0005111F7CF942FF5CF9F3F39F0F901E90F36
+:1042E000F11D97FDFA9582830895089590910C0130
+:1042F000992321F090910D01911109C020910E0197
+:1043000030910F01F9013296205F3F4F30C0982F56
+:104310009695969596959F30A8F4E0910E01F091B0
+:104320000F01E90FF11D877021E030E0A90102C003
+:10433000440F551F8A95E2F7CA0180959181892320
+:10434000818308959091D90190FF16C01F928F9399
+:1043500086E497E09F938F930E94B5080F900F908B
+:104360000F900F9008953196E217F30729F090818E
+:104370009813F9CF1082F7CF089581E090E0E09193
+:104380000E01F0910F01E80FF91F108201968031A4
+:104390009105A9F708959091D801892B8093D801B0
+:1043A000089580959091D80189238093D80108952C
+:1043B0001092D80108959091D701892B8093D7014D
+:1043C000089580959091D70189238093D70108950E
+:1043D0001092D70108958093C60108951092C601E6
+:1043E000089580910E0190910F01FC0131969C017E
+:1043F000205F3F4F80E0919191118F5FE217F307AB
+:10440000D1F70895E0910E01F0910F018091D8014C
+:104410008083E0910E01F0910F0190818091D7018E
+:10442000892B80838091C601882361F0E0910E0181
+:10443000F0910F019081892B80830E94F1218111DD
+:104440001092C60180910E0190910F010C941B16E1
+:1044500090933B0180933A010895CF92DF92EF92BF
+:10446000FF926C01EE24FF24C114D104E104F10495
+:1044700021F0C701B60120E101C020E0C72ED82EEF
+:10448000E92EFF24C114D104E104F10419F0285FDE
+:10449000C701B6016B017C0154E0F694E794D79410
+:1044A000C7945A95D1F7C114D104E104F10419F06D
+:1044B0002C5FC701B6016B017C0142E0F694E794E2
+:1044C000D794C7944A95D1F7C114D104E104F104FB
+:1044D00019F02E5FC701B601DC01CB01B695A79597
+:1044E00097958795892B8A2B8B2B09F02F5F822F2D
+:1044F000FF90EF90DF90CF9008958295982F9C7C4D
+:10450000392F36953695282F237344E0249FC00118
+:104510001124932F982B292F2A7A2695892F857578
+:10452000880F822B08951F93CF93DF931F92CDB7EF
+:10453000DEB799830E947D22182F9981892F0E94CE
+:104540007D22212F30E0322F2227A901482BCA01DA
+:104550000F90DF91CF911F9108958091F2018430E7
+:1045600009F11092DA0120E488E190E00FB6F894A6
+:10457000A895809360000FBE2093600083B7817F71
+:10458000846083BF83B7816083BF7894889583B745
+:104590008E7F83BF88E10FB6F894809360001092FD
+:1045A00060000FBE089508950895CF930E94D3220E
+:1045B0000E94AF0A0E94D422C0E08C2F0E94DB0B25
+:1045C000811104C0CF5FCE30C1F701C081E0CF912F
+:1045D00008950C94ED1B82E084BD93E095BD9AEFA5
+:1045E00097BD80936E0008952FB7F8948091DB01FA
+:1045F0009091DC01A091DD01B091DE012FBF089503
+:10460000CF92DF92EF92FF920F931F932FB7F89400
+:104610004091DB015091DC016091DD017091DE0180
+:104620002FBF6A017B01EE24FF248C0120E030E0E3
+:10463000C016D106E206F30610F4415051099A0162
+:10464000281B390BC9011F910F91FF90EF90DF904C
+:10465000CF9008951F920F920FB60F9211248F934F
+:104660009F93AF93BF938091DB019091DC01A09168
+:10467000DD01B091DE010196A11DB11D8093DB012A
+:104680009093DC01A093DD01B093DE01BF91AF9167
+:104690009F918F910F900FBE0F901F9018950E94C1
+:1046A0000D13F8942FEF87EA91E621508040904057
+:1046B000E1F700C0000087E090EBDC018093FB0194
+:1046C0009093FC01A093FD01B093FE019CE088E172
+:1046D0000FB6F894A895809360000FBE9093600089
+:1046E000FFCFEF92FF920F931F93CF93DF93D82FBB
+:1046F000C0E08C2F0E94DB0B00E010E0E82EF12CD4
+:10470000C701002E02C0959587950A94E2F780FDB7
+:1047100006C00F5F1F4F0630110591F709C0602FCB
+:104720007C2F80E00E94E80CD813F3CF81E004C016
+:10473000CF5FCE30F1F680E0DF91CF911F910F91E6
+:10474000FF90EF900895CF93C82F8CE20E947123C1
+:10475000882321F08C2FCF910C94712380E0CF918E
+:104760000895CF930E940025811102C00E94E62483
+:1047700089E897E00E941C08C5E6C15049F00E94F4
+:10478000AF0A8FE39CE90197F1F700C00000F5CF75
+:1047900082E897E00E941C0889E20E94A32381110D
+:1047A00013C18AE20E94A32381110E94E62485E0BE
+:1047B0000E94A32381110E944F230E940B25809306
+:1047C000D90187E00E94A3238823A9F18BE10E94ED
+:1047D000A323882351F08091D90181FB222720F95E
+:1047E00091E0922790FB81F90EC08EE00E94A323F6
+:1047F000882361F08091D90182FB222720F991E082
+:10480000922790FB82F98093D90115C080E10E9424
+:10481000A3239091D901882341F093FB222720F90B
+:1048200081E0822780FB93F904C0892F809580FB6B
+:1048300090F99093D9018091D9010E940F250E948F
+:104840001D258093EC0180EE0E94A323882341F074
+:104850008091EC01982F909590FB80F98093EC016A
+:1048600089E30E94A323882359F08091EC0181FB06
+:10487000222720F991E0922790FB81F98093EC01A7
+:1048800082EE0E94A323882359F08091EC0182FBE1
+:10489000222720F991E0922790FB82F98093EC0186
+:1048A00086EE0E94A323882359F08091EC0183FBBC
+:1048B000222720F991E0922790FB83F98093EC0165
+:1048C00083EE0E94A323882359F08091EC0184FB9E
+:1048D000222720F991E0922790FB84F98093EC0144
+:1048E00085E30E94A323882359F08091EC0185FB86
+:1048F000222720F991E0922790FB85F98093EC0123
+:1049000081E30E94A323882359F08091EC0186FB68
+:10491000222720F991E0922790FB86F98093EC0101
+:1049200081E10E94A323882359F08091EC0187FB49
+:10493000222720F991E0922790FB87F98093EC01E0
+:104940008091EC010E9421258091EC0187FB882752
+:1049500080F980930D0187E20E94A323C82F8EE186
+:104960000E94A3238111C2608FE10E94A3238111C1
+:10497000C46080E20E94A3238111C86081E20E948A
+:10498000A3238111C06182E20E94A3238111C0622E
+:1049900083E20E94A3238111C06484E20E94A323C6
+:1049A000882311F0C06802C0CC2329F08C2F0E940C
+:1049B00018256C2F03C00E941425682F70E080E03A
+:1049C00090E0CF910C94A91FCF9108956DEE7EEFEA
+:1049D00080E090E00E94E92E60E082E090E00E949A
+:1049E000DB2E60E083E090E00E94DB2E60E084E05C
+:1049F00090E00E94DB2E60E085E090E00C94DB2EDE
+:104A000080E090E00E94D52E21E08D3E9E4F09F07F
+:104A100020E0822F089582E090E00C94CD2E682F44
+:104A200082E090E00C94DB2E83E090E00C94CD2E9D
+:104A3000682F83E090E00C94DB2E84E090E00C94EF
+:104A4000CD2E682F84E090E00C94DB2E8091E10164
+:104A500080FF0BC06091130185E0689FB0011124B5
+:104A600075956795759567952BC081FF09C0609115
+:104A7000130185E0689FB00111247595679520C0EA
+:104A800082FF07C06091130185E0689FB001112487
+:104A900017C09091E2019923D1F06091120196170D
+:104AA00088F72091130185E0289F90011124929F9F
+:104AB000A001939F500D112470E0CA010E949F2E07
+:104AC0006038710540F46115710539F002C065E088
+:104AD00070E0862F08958FE7089581E00895809112
+:104AE000E10180FF08C06091110170E07595679544
+:104AF0007595679521C081FF06C06091110170E036
+:104B00007595679519C082FF04C06091110170E02E
+:104B100010C09091E2019923C1F0609110019617A5
+:104B2000A0F780911101899FC001112470E00E94BB
+:104B30009F2E6038710528F46115710521F0862FCC
+:104B400008958FE7089581E0089561E070E0F4CF63
+:104B5000803F21F40E942625819504C0813F29F4DD
+:104B60000E9426258093E5010895823F21F40E944A
+:104B70002625819504C0833F29F40E942625809331
+:104B8000E4010895893F19F40E946F2505C08A3F0A
+:104B900031F40E946F2581958093E60108958B3F43
+:104BA00021F40E946F25819504C08C3F29F40E9456
+:104BB0006F258093E7010895843F21F48091E301FC
+:104BC000816017C0853F21F48091E301826011C0AC
+:104BD000863F21F48091E30184600BC0873F21F47C
+:104BE0008091E301886005C0883F31F48091E30142
+:104BF00080618093E30108958D3F21F48091E1016C
+:104C000081600BC08E3F21F48091E101826005C07C
+:104C10008F3F29F48091E10184608093E101089540
+:104C2000803F39F48091E50187FF6CC01092E50167
+:104C300069C0813F29F48091E5011816BCF362C078
+:104C40009091E401823F29F497FF5CC01092E40147
+:104C500059C0833F19F41916CCF354C0893F41F46D
+:104C60008091E60118160CF04DC01092E6014AC082
+:104C70008A3F29F48091E60187FF44C0F6CF8B3F3D
+:104C800039F48091E70187FF3DC01092E7013AC0F7
+:104C90008C3F29F48091E7011816BCF333C0843FA0
+:104CA00021F48091E3018E7F17C0853F21F480912C
+:104CB000E3018D7F11C0863F21F48091E3018B7F5A
+:104CC0000BC0873F21F48091E301877F05C0883FB7
+:104CD00031F48091E3018F7E8093E30113C08D3F17
+:104CE00021F48091E1018E7F0BC08E3F21F48091F1
+:104CF000E1018D7F05C08F3F29F48091E1018B7F19
+:104D00008093E1018091E40181110EC08091E50161
+:104D100081110AC08091E601811106C08091E701EE
+:104D2000811102C01092E20108958091D90183FFA0
+:104D30007EC085EC97E00E941C088091E3011F92E1
+:104D40008F9380EC97E09F938F930E94B5088EEB32
+:104D500097E00E941C088091E401282F332727FD4B
+:104D600030953F938F938BEB97E09F938F930E94A7
+:104D7000B50889EB97E00E941C088091E501282F77
+:104D8000332727FD30953F938F9386EB97E09F93D2
+:104D90008F930E94B50884EB97E00E941C088091D5
+:104DA000E601282F332727FD30953F938F9381EB22
+:104DB00097E09F938F930E94B5088FEA97E00E9437
+:104DC0001C088091E701282F332727FD30953F935A
+:104DD0008F938CEA97E09F938F930E94B50889EA9E
+:104DE00097E00E941C088091E2011F928F9386EA4F
+:104DF00097E09F938F930E94B50884EA97E00E9402
+:104E00001C088091E1011F928F9381EA97E09F93A4
+:104E10008F930E94B5088EE997E00E941C088DB719
+:104E20009EB74C960FB6F8949EBF0FBE8DBF83EE13
+:104E300091E00E9464160E94F4229093E001809316
+:104E4000DF0108951F93CF93DF938091DF0190914D
+:104E5000E0010E940023AC019091E201992321F02E
+:104E60002091140130E006C0209115018AE0289FAE
+:104E7000900111244217530708F486C08091E40181
+:104E8000C091E501D091E6011091E701811107C0C1
+:104E9000C11176C0D11174C0111172C075C09F3F8D
+:104EA00019F09F5F9093E201181624F40E942625C2
+:104EB0008093E4018091E40187FF05C00E942625CC
+:104EC00081958093E4011C1624F40E94262580938A
+:104ED000E5018091E50187FF05C00E9426258195A7
+:104EE0008093E5016091E401662339F1C091E50109
+:104EF000CC2319F1772767FD7095872F972F0E9494
+:104F0000A42D23E333E343E35FE30E94082E0E94D2
+:104F1000712D6093E4016C2F772767FD7095872FC3
+:104F2000972F0E94A42D23E333E343E35FE30E9422
+:104F3000082E0E94712D6093E5011D1624F40E9435
+:104F40006F258093E6018091E60187FF05C00E94EE
+:104F50006F2581958093E601111624F40E946F2538
+:104F60008093E7018091E70187FF05C00E946F25CC
+:104F700081958093E701DF91CF911F910C94952645
+:104F80009F3F09F08ECF96CFDF91CF911F9108956B
+:104F9000E3EEF1E085E0DF011D928A95E9F71092DA
+:104FA000E2011092E101089588EE99E00E941C0848
+:104FB0001F9281E08F931F9285E08F938AE999E099
+:104FC0009F938F930E94B5080F900F900F900F90B2
+:104FD0000F900F9008958330E9F128F4813061F04B
+:104FE000823009F10895853009F462C008F449C09F
+:104FF000863009F474C0089580911501262F30E0A1
+:10500000280F311D2F3F310524F4680F60931501DF
+:1050100003C08FEF80931501809115011F928F932C
+:1050200083ED98E072C080911401262F30E0280FA4
+:10503000311D2F3F310524F4680F6093140103C024
+:105040008FEF80931401809114011F928F9381EC54
+:1050500098E05BC080911301262F30E0280F311DAE
+:105060002F3F310524F4680F6093130103C08FEFC5
+:1050700080931301809113011F928F938EEA98E021
+:1050800044C080911201262F30E0280F311D2F3FA0
+:10509000310524F4680F6093120103C08FEF8093F1
+:1050A0001201809112011F928F9389E998E02DC01F
+:1050B00080911101262F30E0280F311D2F3F31053F
+:1050C00024F4680F6093110103C08FEF80931101E6
+:1050D000809111011F928F9380E898E016C0809113
+:1050E0001001262F30E0280F311D2F3F310524F409
+:1050F000680F6093100103C08FEF809310018091BF
+:1051000010011F928F9385E698E09F938F930E94E2
+:10511000B5080F900F900F900F900895833081F194
+:1051200028F4813059F08230D1F00895853009F4A7
+:1051300049C0B8F1863009F456C008958091150130
+:10514000681720F4861B8093150102C01092150188
+:10515000809115011F928F9386E598E054C080914D
+:105160001401681720F4861B8093140102C010926A
+:105170001401809114011F928F9384E498E043C03E
+:1051800080911301681720F4861B8093130102C0DD
+:1051900010921301809113011F928F9381E398E085
+:1051A00032C080911201681720F4861B809312018F
+:1051B00002C010921201809112011F928F938CE114
+:1051C00098E021C080911101681720F4861B80931C
+:1051D000110102C010921101809111011F928F9351
+:1051E00083E098E010C080911001681720F4861BBE
+:1051F0008093100102C010921001809110011F9243
+:105200008F9388EE97E09F938F930E94B5080F903D
+:105210000F900F900F900895CF93C82F1F928F93E8
+:105220008DEE9AE09F938F930E94B50881E090E005
+:10523000A0E0B0E0BC01CD0104C0660F771F881F5D
+:10524000991FCA95D2F70E94A91F0F900F900F9037
+:105250000F90CF910C94ED1BCF938D3109F465C065
+:10526000B0F58E3009F4CCC100F5873009F49BC14C
+:10527000A8F4863009F06DC28091D901817F8E7FBC
+:105280008093D90182EF9AE00E941C0884E39FE09A
+:105290000E941C0881E08093E90180C1883009F4F4
+:1052A0004FC08B3009F47CC154C2863109F4F0C17F
+:1052B00038F4803109F4B8C1813109F430C249C2EF
+:1052C000893109F4CEC18B3109F486C142C28533DC
+:1052D00009F437C248F4873209F433C208F433C200
+:1052E000893209F42EC235C2833438F48A3308F087
+:1052F0002CC2883309F454C12CC2833409F421C26E
+:10530000883409F026C20E94ED1B83E29FE00E94D0
+:105310001C089FEF23ED80E3915020408040E1F78F
+:1053200000C000000E944F2339C183E49FE00E9427
+:105330001C080E942B2D0E940F160E94410E2EC1A8
+:1053400088E39FE00E941C0883E09DE00E941C0807
+:105350000E9414251F928F9380E09DE09F938F936E
+:105360000E94B5088EEF9CE00E941C080E940B254D
+:10537000C82F8BEE9CE00E941C081F92CF9386EEF4
+:105380009CE09F938F930E94B50884EE9CE00E945E
+:105390001C088AED9CE00E941C088C2F81701F92D3
+:1053A0008F9387ED9CE09F938F930E94B50885EDC6
+:1053B0009CE00E941C088BEC9CE00E941C08C1FB36
+:1053C000882780F91F928F9388EC9CE09F938F939E
+:1053D0000E94B50886EC9CE00E941C088AEB9CE0C9
+:1053E0000E941C08C2FB882780F91F928F9387EBCD
+:1053F0009CE09F938F930E94B50885EB9CE00E94F0
+:105400001C088CEA9CE00E941C08C3FBCC27C0F956
+:105410001F92CF9389EA9CE09F938F930E94B508D7
+:1054200087EA9CE00E941C080E941D25C82F83E982
+:105430009CE00E941C081F92CF938EE89CE09F93F3
+:105440008F930E94B5088CE89CE00E941C0883E7BB
+:105450009CE00E941C088C2F81701F928F9380E724
+:105460009CE09F938F930E94B5088DB79EB780965E
+:105470000FB6F8949EBF0FBE8DBF8EE69CE00E94D3
+:105480001C0887E59CE00E941C08C1FB882780F966
+:105490001F928F9384E59CE09F938F930E94B508A1
+:1054A00082E59CE00E941C0880E49CE00E941C08AD
+:1054B000C2FB882780F91F928F938DE39CE09F9316
+:1054C0008F930E94B5088BE39CE00E941C0889E240
+:1054D0009CE00E941C08C3FB882780F91F928F93D1
+:1054E00086E29CE09F938F930E94B50884E29CE043
+:1054F0000E941C088AE19CE00E941C08C4FB8827CB
+:1055000080F91F928F9387E19CE09F938F930E9475
+:10551000B50885E19CE00E941C0883E09CE00E94A5
+:105520001C08C5FB882780F91F928F9380E09CE0C0
+:105530009F938F930E94B5088EEF9BE00E941C08FA
+:1055400082EE9BE00E941C08C6FB882780F91F9210
+:105550008F938FED9BE09F938F930E94B5088DED05
+:105560009BE00E941C0885ED9BE00E941C08C7FB85
+:10557000CC27C0F91F92CF9382ED9BE09F938F932E
+:105580000E94B50880ED9BE00E941C088DB79EB775
+:105590004C960FB6F8949EBF0FBE8DBFC1E0DEC023
+:1055A00089E19BE05BC08091D901C82FC17080FF69
+:1055B00009C086E19FE00E941C088091D901817F8B
+:1055C0008E7F47C08AE09FE00E941C088091D9012D
+:1055D00081608093D901E2CF9091D90191FBCC27D2
+:1055E000C0F981E0C827892FC0FB81F98093D901D8
+:1055F000CC2319F08DEF9EE027C08FEE9EE02EC0E9
+:105600009091D90192FBCC27C0F981E0C827892F5E
+:10561000C0FB82F98093D901CC2319F080EE9EE083
+:1056200013C080ED9EE01AC09091D90193FBCC2766
+:10563000C0F981E0C827892FC0FB83F98093D90185
+:10564000CC2351F084EC9EE00E941C088091D9018B
+:1056500081608093D90182C087EB9EE00E941C0884
+:105660009DCF88EA9EE00E941C088CE79EE00E9485
+:105670001C088FE39EE00E941C0882E19EE00E94CD
+:105680001C088EEC9DE00E941C0883EA9DE0E6CF9A
+:1056900085E99DE00E941C080E940F161F928F93BF
+:1056A0008BE79DE09F938F930E94B50880910C013A
+:1056B0001F928F9384E69DE09F938F930E94B5087D
+:1056C000809170011F928F9381E59DE09F938F934E
+:1056D0000E94B50880910D011F928F938EE39DE08B
+:1056E0009F938F930E94B5088091DB019091DC011C
+:1056F000A091DD01B091DE01BF93AF939F938F9393
+:105700008AE29DE09F938F930E94B5088DB79EB764
+:1057100046960FB6F8949EBF0FBE8DBF3FCF0E9436
+:10572000ED1BC0910D0181E0C827C0930D01CC2372
+:1057300029F080E29DE00E941C0810C085E19DE0F8
+:105740008DCF80E003C08D5101C089530E940C2988
+:1057500025CF83E19DE00E941C08C0E08C2FCF91F3
+:10576000089580E0089580E00895CF93C82F809138
+:10577000E901813081F020F0823009F44FC045C149
+:10578000E0910E01F0910F018081813169F0823248
+:1057900009F03DC109C0E0910E01F0910F01808137
+:1057A000813111F0823261F48C2F0E94B12B811172
+:1057B00004C08C2F0E942C292FC081E090E02CC0C7
+:1057C0008C2F0E94B32B811126C0C431E1F070F4FC
+:1057D000CB3081F0C031D1F40E94D42785EE9AE01D
+:1057E0000E941C0882E08093E90115C0C93259F07B
+:1057F000C83361F482EF9AE00E941C0889EE9AE0B7
+:105800000E941C0808C01092E90103C183EE9AE0CF
+:105810000E941C08FEC081E08170FDC0C43220F5EA
+:10582000CE3108F0C0C0CB3099F1C8F4C73009F0D0
+:10583000D2C08AE08093150194E19093140193E023
+:10584000909313018093120188E08093110188E204
+:105850008093100189E899E00E941C08BFC0C33101
+:1058600049F1C431C1F0B7C0CB3409F4A9C028F460
+:10587000C93289F0C83361F0AEC0C13509F49EC0A9
+:10588000C23509F499C0CE3409F0A5C06AE09EC0C3
+:105890000E94D427A3C08091E801882319F01092B8
+:1058A000E8019CC086E999E00E941C0881E0809391
+:1058B000E901B1C080E799E00E941C088EE599E0FB
+:1058C0000E941C08809115011F928F938BE599E02F
+:1058D0009F938F930E94B50889E599E00E941C0868
+:1058E00087E499E00E941C08809114011F928F9315
+:1058F00084E499E09F938F930E94B50882E499E035
+:105900000E941C0883E399E00E941C088091130107
+:105910001F928F9380E399E09F938F930E94B50825
+:105920008EE299E00E941C088DE199E00E941C081B
+:10593000809112011F928F938AE199E09F938F9338
+:105940000E94B50888E199E00E941C0883E099E074
+:105950000E941C08809111011F928F9380E099E0B2
+:105960009F938F930E94B5088EEF98E00E941C08C9
+:1059700087EE98E00E941C08809110011F928F937F
+:1059800084EE98E09F938F930E94B50882EE98E092
+:105990000E941C088DB79EB748960FB6F8949EBF1C
+:1059A0000FBE8DBF1BC0CE51EC2FF0E0E15DFE4F6E
+:1059B00080818093E80112C061E003C061E006C00D
+:1059C0006AE08091E8010E94EB2708C08091E8011D
+:1059D0000E948E2803C087E899E013C08091E801F7
+:1059E000882369F01F928F9381E899E09F938F93AA
+:1059F0000E94B5080F900F900F900F9004C08EE793
+:105A000099E00E941C0881E006C01092E90180E044
+:105A100002C080E001CFCF910895E1E8F0E08081FD
+:105A2000886080838081816080838FB7F89493E061
+:105A30009093890090ED909388008FBF0895EFE6D2
+:105A4000F0E08081826080830895EFE6F0E080815D
+:105A50008D7F80830895EFE6F0E0908182E08927D2
+:105A6000808308951F920F920FB60F9211242F93E7
+:105A70003F934F935F936F937F938F939F93AF93D6
+:105A8000BF93EF93FF938091EA019091EB01019610
+:105A90009093EB018093EA01811103C082E00E94A0
+:105AA000410EE091EB01E695E695F0E0ED5AF04FFE
+:105AB000E4918091EA018E1303C080E00E94410EC0
+:105AC000FF91EF91BF91AF919F918F917F916F91D6
+:105AD0005F914F913F912F910F900FBE0F901F90AC
+:105AE000189504D06894B1118DC0089570D088F0D5
+:105AF0009F5790F0B92F9927B751A0F0D1F0660FBA
+:105B0000771F881F991F1AF0BA95C9F712C0B130D4
+:105B100081F077D0B1E0089574C0672F782F88277F
+:105B2000B85F39F0B93FCCF3869577956795B39513
+:105B3000D9F73EF490958095709561957F4F8F4F82
+:105B40009F4F0895E89409C097FB3EF49095809587
+:105B5000709561957F4F8F4F9F4F9923A9F0F92F33
+:105B600096E9BB279395F695879577956795B795B1
+:105B7000F111F8CFFAF4BB0F11F460FF1BC06F5F97
+:105B80007F4F8F4F9F4F16C0882311F096E911C0A9
+:105B9000772321F09EE8872F762F05C0662371F0CA
+:105BA00096E8862F70E060E02AF09A95660F771FDE
+:105BB000881FDAF7880F9695879597F9089557FD0E
+:105BC0009058440F551F59F05F3F71F04795880F6B
+:105BD00097FB991F61F09F3F79F087950895121602
+:105BE00013061406551FF2CF4695F1DF08C01616AE
+:105BF00017061806991FF1CF86957105610508945F
+:105C00000895E894BB2766277727CB0197F9089575
+:105C10000BD078C069D028F06ED018F0952309F029
+:105C20005AC05FC01124EECFCADFA0F3959FD1F315
+:105C3000950F50E0551F629FF001729FBB27F00D3A
+:105C4000B11D639FAA27F00DB11DAA1F649F66278F
+:105C5000B00DA11D661F829F2227B00DA11D621FDE
+:105C6000739FB00DA11D621F839FA00D611D221F98
+:105C7000749F3327A00D611D231F849F600D211D7C
+:105C8000822F762F6A2F11249F5750408AF0E1F01F
+:105C900088234AF0EE0FFF1FBB1F661F771F881F68
+:105CA00091505040A9F79E3F510570F014C0AACF03
+:105CB0005F3FECF3983EDCF3869577956795B79553
+:105CC000F795E7959F5FC1F7FE2B880F911D96957D
+:105CD000879597F9089597F99F6780E870E060E0ED
+:105CE00008959FEF80EC089500240A941616170675
+:105CF00018060906089500240A94121613061406BD
+:105D000005060895092E0394000C11F4882352F01F
+:105D1000BB0F40F4BF2B11F460FF04C06F5F7F4FD7
+:105D20008F4F9F4F0895991B79E004C0991F9617D4
+:105D300008F0961B881F7A95C9F78095089597FB00
+:105D4000072E16F4009407D077FD09D00E94B92ED3
+:105D500007FC05D03EF4909581959F4F089570956E
+:105D600061957F4F0895EE0FFF1F0590F491E02D90
+:105D70000994AA1BBB1B51E107C0AA1FBB1FA61792
+:105D8000B70710F0A61BB70B881F991F5A95A9F7E4
+:105D900080959095BC01CD010895F999FECF92BDF3
+:105DA00081BDF89A992780B50895A8E1B0E042E056
+:105DB00050E00C94F02E262FF999FECF1FBA92BD19
+:105DC00081BD20BD0FB6F894FA9AF99A0FBE0196DC
+:105DD00008950E94DB2E272F0C94DC2EDC01CB01D2
+:105DE000FC01F999FECF06C0F2BDE1BDF89A3196EB
+:105DF00000B40D9241505040B8F70895F894FFCF89
+:105E00002002420E330F100FDC0EA80E0101C70155
+:105E100028080A03140A3F4D362039D30686065057
+:105E2000063006F7056A0583059C05B505D505010D
+:0A5E3000020304050607080900003C
:00000001FF
diff --git a/keyboard/ergodox_ez/keymaps/keymap_osx_de_adnw_koy.c b/keyboard/ergodox_ez/keymaps/keymap_osx_de_adnw_koy.c
new file mode 100644
index 000000000..7e9defafa
--- /dev/null
+++ b/keyboard/ergodox_ez/keymaps/keymap_osx_de_adnw_koy.c
@@ -0,0 +1,262 @@
+// Netable differences vs. the default firmware for the ErgoDox EZ:
+// 1. The Cmd key is now on the right side, making Cmd+Space easier.
+// 2. The media keys work on OSX (But not on Windows).
+#include "ergodox_ez.h"
+#include "debug.h"
+#include "action_layer.h"
+#include "keymap_extras/keymap_german.h"
+
+#define BASE 0 // default layer
+#define SYMB 1 // symbols
+#define MDIA 2 // media keys
+#define ADNW 3 // media keys
+#define NUMB 4 // number keys
+
+
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* Keymap 0: Basic layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | ESC | 1 | 2 | 3 | 4 | 5 |CMD-V | |CMD-C | 6 | 7 | 8 | 9 | 0 | ß |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | TAB | Q | W | E | R | T | CMD | | CMD | Z | U | I | O | P | ü |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | ADNW | A | S | D | F | G |------| |------| H | J | K | L | ö | ä/L2 |
+ * |--------+------+------+------+------+------| LALT | | RALT |------+------+------+------+------+--------|
+ * | LShift |Y/Ctrl| X | C | V | B | | | | N | M | , | . |-/Ctrl| RShift |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * |</L1| ^° |AltShf| Left | Right| | Up | Down | CMD-SHIFT | + | #/L1 |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,---------------.
+ * | MDIA | Meh | | Hyper| NUM |
+ * ,------|------|------| |------+--------+------.
+ * | | | Home | | PgUp | | |
+ * | Back-| Del |------| |------| Enter | Space|
+ * | Space| | End | | PgDn | | |
+ * `--------------------' `----------------------'
+ */
+// If it accepts an argument (i.e, is a function), it doesn't need KC_.
+// Otherwise, it needs KC_*
+[BASE] = KEYMAP( // layer 0 : default
+ // left hand
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, LGUI(KC_V),
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LGUI,
+ TG(3), KC_A, KC_S, KC_D, KC_F, KC_G,
+ KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_LALT,
+ LT(SYMB,KC_GRV), DE_LESS, LALT(KC_LSFT), KC_LEFT,KC_RGHT,
+ TG(2), MEH_T(LSFT(DE_ACUT)),
+ KC_HOME,
+ KC_BSPC,KC_DEL,KC_END,
+ // right hand
+ LGUI(KC_C), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
+ KC_RGUI, KC_Y, KC_U, KC_I, KC_O, KC_P, DE_UE,
+ KC_H, KC_J, KC_K, KC_L, KC_SCLN,LT(MDIA,DE_AE),
+ KC_RALT,KC_N, KC_M, KC_COMM,KC_DOT, CTL_T(KC_SLSH), KC_RSFT,
+ KC_UP, KC_DOWN,LGUI(KC_LSFT),KC_RBRC, LT(SYMB,KC_BSLS),
+ ALL_T(DE_ACUT), TG(4),
+ KC_PGUP,
+ KC_PGDN,KC_ENT, KC_SPC
+ ),
+/* Keymap 1: Symbol Layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | | | ! | ? | | | | | \ | [ | ] | | | # | F12 |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | # | $ | \ | / | . |------| |------| / | ( | ) | { | } | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | | ^ | % | | | ~ | | | | & | < | > | " | ' | ? |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | | | | | | . | ! | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | | |
+ * | | |------| |------| | |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+// SYMBOLS
+[SYMB] = KEYMAP(
+ // left hand
+ KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS,
+ KC_TRNS,KC_GRV,LSFT(KC_GRV),DE_EXLM,DE_QST,KC_TRNS,KC_TRNS,
+ KC_TRNS,DE_HASH,DE_DLR, LALT(LSFT(KC_7)),DE_SLSH,KC_DOT,
+ KC_TRNS,KC_TRNS,DE_LESS,DE_PERC,LALT(KC_7),LALT(KC_N),KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ KC_TRNS,KC_TRNS,
+ KC_TRNS,
+ KC_TRNS,KC_DEL,KC_TRNS,
+ // right hand
+ KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
+ KC_TRNS, LALT(LSFT(KC_7)), LALT(KC_5), LALT(KC_6), LALT(KC_7), DE_HASH, KC_F12,
+ DE_SLSH, DE_LPRN, DE_RPRN, LALT(KC_8), LALT(KC_9), KC_TRNS,
+ KC_TRNS, DE_AMPR, KC_GRV, LSFT(KC_GRV), DE_DQOT, DE_QUOT, DE_QST,
+ KC_TRNS,KC_DOT, KC_EXLM, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS
+),
+/* Keymap 2: Media and mouse keys
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | | | | | | | | | | | | | | | Play |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | | | MsUp | | | | | | | | | | | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | | | | | | | | | | | Prev | Next | | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | |Brwser|
+ * | | |------| |------| |Back |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+// MEDIA AND MOUSE
+KEYMAP(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS,
+ KC_TRNS, KC_WH_L, KC_WH_U, KC_WH_D, KC_WH_R, KC_BTN3, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ // right hand
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY,
+ 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_MUTE, KC_MPRV, KC_MNXT, KC_UP, KC_TRNS,
+ KC_VOLU, KC_VOLD, KC_LEFT, KC_DOWN, KC_RIGHT,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_WBAK
+),
+/* Keymap 3: ADNW-Koy layer
+ * ADNW-Koy is a special layout designed to be ergonomic. Was created using software to determine the most ergonomic way to type German and English texts.
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | ESC | 1 | 2 | 3 | 4 | 5 |Lctrl | |Rctrl | 6 | 7 | 8 | 9 | 0 | - |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | TAB | K | . | O | , | Y | CMD | | CMD | V | G | C | L | ß | Z |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | ADNW | H | A | E | I | U |------| |------| D | T | R | N | S | F/L2 |
+ * |--------+------+------+------+------+------| LALT | | RALT |------+------+------+------+------+--------|
+ * | LShift |X/Ctrl| Q | Ä | Ü | Ö | | | | B | P | W | M |J/Ctrl| RShift |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * |</L1| ^ |AltShf| Left | Right| | Up | Down | CMD-SHIFT | ´ | //L1 |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | L1 | LGui | | Alt |Ctrl/Esc|
+ * ,------|------|------| |------+--------+------.
+ * | | | Home | | PgUp | | |
+ * | Space|Backsp|------| |------| Enter | Space|
+ * | |ace | End | | PgDn | | |
+ * `--------------------' `----------------------'
+ */
+KEYMAP(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_K, KC_DOT, KC_O, KC_COMM, KC_Z, KC_TRNS,
+ KC_TRNS, KC_H, KC_A, KC_E, KC_I, KC_U,
+ KC_TRNS, CTL_T(KC_X),KC_Q, DE_AE, DE_UE, DE_OE, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ // right hand
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SLSH,
+ KC_TRNS, KC_V, KC_G, KC_C, KC_L, KC_MINS, KC_Y,
+ KC_D, KC_T, KC_R, KC_N, KC_S, LT(MDIA,KC_F),
+ KC_TRNS, KC_B, KC_P, KC_W, KC_M, CTL_T(KC_J), KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS
+),
+
+KEYMAP(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, 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_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
+ KC_TRNS, KC_UP, KC_7, KC_8, KC_9, LSFT(KC_RBRC), KC_F12,
+ KC_DOWN, KC_4, KC_5, KC_6, KC_RBRC, KC_TRNS,
+ KC_TRNS, LSFT(KC_6), KC_1, KC_2, KC_3, LSFT(KC_7), KC_TRNS,
+ KC_0,KC_DOT, KC_0, KC_EQL, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS
+),
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+ [1] = ACTION_LAYER_TAP_TOGGLE(SYMB), // FN1 - Momentary Layer 1 (Symbols)
+ [2] = ACTION_LAYER_TAP_TOGGLE(ADNW) // FN2 - Momentary Layer 2 (ADNW)
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ // MACRODOWN only works in this function
+ switch(id) {
+ case 0:
+ if (record->event.pressed) {
+ register_code(KC_RSFT);
+ } else {
+ unregister_code(KC_RSFT);
+ }
+ break;
+ }
+ return MACRO_NONE;
+};
+
+// Runs just one time when the keyboard initializes.
+void * matrix_init_user(void) {
+
+};
+
+// Runs constantly in the background, in a loop.
+void * matrix_scan_user(void) {
+
+ uint8_t layer = biton32(layer_state);
+
+ ergodox_board_led_off();
+ ergodox_right_led_1_off();
+ ergodox_right_led_2_off();
+ ergodox_right_led_3_off();
+ switch (layer) {
+ // TODO: Make this relevant to the ErgoDox EZ.
+ case 1:
+ ergodox_right_led_1_on();
+ break;
+ case 2:
+ ergodox_right_led_2_on();
+ break;
+ case 3:
+ ergodox_right_led_3_on();
+ break;
+ case 4:
+ ergodox_right_led_1_on();
+ ergodox_right_led_3_on();
+ //ergodox_board_led_on();
+ break;
+ default:
+ // none
+ break;
+ }
+
+};
diff --git a/keyboard/ergodox_ez/keymaps/keymap_osx_de_highres.png b/keyboard/ergodox_ez/keymaps/keymap_osx_de_highres.png
index c16436f2c..1d5226974 100644
--- a/keyboard/ergodox_ez/keymaps/keymap_osx_de_highres.png
+++ b/keyboard/ergodox_ez/keymaps/keymap_osx_de_highres.png
Binary files differ
diff --git a/keyboard/ergodox_ez/keymaps/keymap_osx_fr.c b/keyboard/ergodox_ez/keymaps/keymap_osx_fr.c
new file mode 100644
index 000000000..4b59d2eb2
--- /dev/null
+++ b/keyboard/ergodox_ez/keymaps/keymap_osx_fr.c
@@ -0,0 +1,187 @@
+// French AZERTY version of the default_osx file
+#include "ergodox_ez.h"
+#include "debug.h"
+#include "action_layer.h"
+#include "keymap_extras/keymap_french_osx.h"
+
+#define BASE 0 // default layer
+#define SYMB 1 // symbols
+#define MDIA 2 // media keys
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* Keymap 0: Basic layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | - | & | é | " | ' | ( | LEFT | | RIGHT| § | è | ! | ç | à | ) |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | Del | A | Z | E | R | T | L1 | | L1 | Y | U | I | O | P | ` |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | BkSp | Q | S | D | F | G |------| |------| H | J | K | L | M | LGui |
+ * |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------|
+ * | LShift |W/Ctrl| X | C | V | B | | | | N | , |; / L2| : |=/Ctrl| RShift |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | ù /L1| < |AltShf| Left | Right| | Up | Down | ^ | $ | ~L1 |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,---------------.
+ * | App | LGui | | Alt |Ctrl/Esc|
+ * ,------|------|------| |------+--------+------.
+ * | | | Home | | PgUp | | |
+ * | Space|Backsp|------| |------| Tab |Enter |
+ * | |ace | End | | PgDn | | |
+ * `--------------------' `----------------------'
+ */
+// If it accepts an argument (i.e, is a function), it doesn't need KC_.
+// Otherwise, it needs KC_*
+[BASE] = KEYMAP( // layer 0 : default
+ // left hand
+ FR_MINS, FR_AMP, FR_EACU, FR_QUOT, FR_APOS, FR_LPRN, KC_LEFT,
+ KC_DELT, FR_A, FR_Z, KC_E, KC_R, KC_T, TG(1),
+ KC_BSPC, FR_Q, KC_S, KC_D, KC_F, KC_G,
+ KC_LSFT, CTL_T(FR_W), KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO),
+ LT(SYMB,FR_UGRV), FR_LESS, LALT(KC_LSFT), KC_LEFT, KC_RGHT,
+ ALT_T(KC_APP), KC_LGUI,
+ KC_HOME,
+ KC_SPC, KC_BSPC, KC_END,
+
+ // right hand
+ KC_RGHT, FR_SECT, FR_EGRV, FR_EXLM, FR_CCED, FR_AGRV, FR_RPRN,
+ TG(1), KC_Y, KC_U, KC_I, KC_O, KC_P, FR_GRV,
+ KC_H, KC_J, KC_K, KC_L, FR_M, KC_LGUI,
+ MEH_T(KC_NO), KC_N, FR_COMM, LT(MDIA, FR_SCLN), FR_COLN, CTL_T(FR_EQL), KC_RSFT,
+ KC_UP, KC_DOWN, KC_LBRC, KC_RBRC, KC_FN1,
+ KC_LALT, CTL_T(KC_ESC),
+ KC_PGUP,
+ KC_PGDN, KC_TAB, KC_ENT
+ ),
+/* Keymap 1: Symbol Layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | | | | | , | 0 | = | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | | |
+ * | | |------| |------| | |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+// SYMBOLS
+[SYMB] = KEYMAP(
+ // left hand
+ KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS,
+ KC_TRNS,FR_EXLM,FR_AT, FR_LCBR,FR_RCBR,FR_PIPE,KC_TRNS,
+ KC_TRNS,FR_HASH,FR_DLR, FR_LPRN,FR_RPRN,FR_GRV,
+ KC_TRNS,FR_PERC,FR_CIRC,FR_LBRC,FR_RBRC,FR_TILD,KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ KC_TRNS,KC_TRNS,
+ KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,
+ // right hand
+ KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
+ KC_TRNS, KC_UP, FR_7, FR_8, FR_9, FR_ASTR, KC_F12,
+ KC_DOWN, FR_4, FR_5, FR_6, FR_PLUS, KC_TRNS,
+ KC_TRNS, FR_AMP, FR_1, FR_2, FR_3, FR_BSLS, KC_TRNS,
+ KC_TRNS,FR_COMM, FR_0, FR_EQL, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS
+),
+/* Keymap 2: Media and mouse keys
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | | | | | | | | | | | | | | | |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | | | MsUp | | | | | | | | | | | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | | | | | | | | | | | Prev | Next | | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | |Brwser|
+ * | | |------| |------| |Back |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+// MEDIA AND MOUSE
+KEYMAP(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ // right hand
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS,
+ KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_WBAK
+),
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+ [1] = ACTION_LAYER_TAP_TOGGLE(SYMB) // FN1 - Momentary Layer 1 (Symbols)
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ // MACRODOWN only works in this function
+ switch(id) {
+ case 0:
+ if (record->event.pressed) {
+ register_code(KC_RSFT);
+ } else {
+ unregister_code(KC_RSFT);
+ }
+ break;
+ }
+ return MACRO_NONE;
+};
+
+// Runs just one time when the keyboard initializes.
+void * matrix_init_user(void) {
+
+};
+
+// Runs constantly in the background, in a loop.
+void * matrix_scan_user(void) {
+
+ uint8_t layer = biton32(layer_state);
+
+ ergodox_board_led_off();
+ ergodox_right_led_1_off();
+ ergodox_right_led_2_off();
+ ergodox_right_led_3_off();
+ switch (layer) {
+ // TODO: Make this relevant to the ErgoDox EZ.
+ case 1:
+ ergodox_right_led_1_on();
+ break;
+ case 2:
+ ergodox_right_led_2_on();
+ break;
+ default:
+ // none
+ break;
+ }
+
+}; \ No newline at end of file
diff --git a/keyboard/ergodox_ez/keymaps/keymap_osx_fr.hex b/keyboard/ergodox_ez/keymaps/keymap_osx_fr.hex
new file mode 100644
index 000000000..8915d9caa
--- /dev/null
+++ b/keyboard/ergodox_ez/keymaps/keymap_osx_fr.hex
@@ -0,0 +1,1471 @@
+:100000000C9400070C9444070C9444070C94440788
+:100010000C9444070C9444070C9444070C94440734
+:100020000C9444070C9444070C9458120C942A1313
+:100030000C9444070C9444070C9444070C94440714
+:100040000C9444070C94022C0C9444070C94440721
+:100050000C9444070C94FA210C9444070C94440724
+:100060000C9444070C9444070C9444070C944407E4
+:100070000C9444070C9444070C9444070C944407D4
+:100080000C9444070C9444070C9444070C944407C4
+:100090000C9444070C9444070C9444070C944407B4
+:1000A0000C9444070C9444070C9444079713B91319
+:1000B000A714B913A714FE132114A71476148914D6
+:1000C000D017D017FF17FF17431881189B1A9B1AD8
+:1000D0009A189B1A9B199B196F1A9B1A9B1A861ABE
+:1000E0000000F0A12E004C002A00E1003481000045
+:1000F0001E00140004001D7164004D001F001A0052
+:1001000016001B00E1042A0020000800070006007A
+:1001100050002C0021001500090019004F004A0072
+:10012000220017000A000500000065745000015409
+:100130000000007F0000E3004F0001540000007742
+:100140000000E20023001C000B00110000002971D8
+:10015000240018000D00100052004B0025000C0078
+:100160000E00368251002800260012000F003700D2
+:100170002F002B00270013003300387130004E0091
+:100180002D003200E300E500C10000000100010085
+:1001900001000100010000003A0025003502340290
+:1001A000010001003B00350030002F00010001007C
+:1001B0003C00220422002206010001003D002D0423
+:1001C0002D002D06010001003E000F063200110433
+:1001D000000001000100010000000100000001001A
+:1001E0000100010000000100000001003F0052007A
+:1001F00051001E00000001004000240221021E02E6
+:10020000010001004100250222021F02100001002E
+:10021000420026022302200227020100430030028E
+:100220003802370638000100440045000100010093
+:1002300001000000010001000100010001000000B8
+:1002400001000100010001000100010001000100A6
+:10025000F2000100010001000100F000F1000100C6
+:10026000F400010001000100F3000100F5000100AD
+:100270000100010001000100000001000100010077
+:100280000000010000000100010001000000010069
+:100290000000010001000100010001000000010058
+:1002A0000100010001000100A9000100010001009E
+:1002B0000100AC00AA00B600010001000100AB0083
+:1002C000A80001000100010001000100010001007F
+:1002D00001000100AE000100010000000A0025300D
+:1002E000313662003A200025303258000A722F63FE
+:1002F0002030313233343536373839414243444582
+:10030000460A000A002530325800626F756E636538
+:10031000213A20006C6566742073696465206174FD
+:100320007461636865640A006C656674207369644F
+:1003300065206E6F7420726573706F6E64696E678E
+:100340000A00747279696E6720746F207265736534
+:1003500074206D637032333031380A000A444542EC
+:1003600055473A20656E61626C65642E0A005B73C6
+:100370005D004B6579626F617264207374617274A1
+:100380002E0A005B575D005B535D005B525D005BB6
+:10039000445D005B435D0016034500720067006F1B
+:1003A0000044006F007800200045005A000000164D
+:1003B000034500720067006F0044006F0078002062
+:1003C0000045005A0000000403090409028D0005DD
+:1003D0000100A0FA09040000010301010009211134
+:1003E000010001223F000705810308000A090401FA
+:1003F000000103010200092111010001224D000743
+:1004000005820308000A0904020001030000000934
+:1004100021110100012236000705830308000A09A3
+:100420000403000203000000092111010001222041
+:1004300000070584032000010705040320000109CB
+:100440000404000103000000092111010001223908
+:1004500000070585031000011201100100000008CB
+:10046000EDFE071301000102000105010906A101CB
+:10047000050719E029E71500250195087501810296
+:100480000508190129059505750191029501750366
+:100490009101050719002977150025019578750147
+:1004A0008102C00631FF0974A1010975150025FFFD
+:1004B0009520750881020976150025FF952075089D
+:1004C0009102C005010980A101850216010026B72D
+:1004D000001A01002AB700751095018100C0050CB3
+:1004E0000901A1018503160100269C021A01002AB8
+:1004F0009C02751095018100C005010902A1010946
+:1005000001A10005091901290515002501950575A9
+:100510000181029501750381010501093009311539
+:1005200081257F95027508810609381581257F95FB
+:100530000175088106050C0A38021581257F950191
+:1005400075088106C0C005010906A101050719E06B
+:1005500029E71500250195087501810295017508A7
+:10056000810105081901290595057501910295017B
+:10057000750391010507190029FF150025FF950650
+:1005800075088100C00A002530325820006B65795B
+:10059000626F6172645F7265706F72743A20000AF4
+:1005A0000025303258006B6579626F6172645F7349
+:1005B00065745F6C65643A200064656C5F6B657997
+:1005C0005F6269743A2063616E27742064656C3AD7
+:1005D00020253032580A006164645F6B65795F6280
+:1005E00069743A2063616E2774206164643A20253F
+:1005F0003032580A00646F6E652E0A00626F6F67B2
+:100600006D61676963207363616E3A202E2E2E2020
+:1006100000290A002575002F002575005D2800259A
+:10062000640020002564002000256400200025646B
+:10063000007C0025303258006D6F7573656B6579ED
+:10064000205B62746E7C782079207620685D287249
+:1006500065702F61636C293A205B006D6B5F776872
+:1006600065656C5F74696D655F746F5F6D6178203F
+:100670003D2025640A006D6B5F776865656C5F6D72
+:1006800061785F7370656564203D2025640A006DA4
+:100690006B5F74696D655F746F5F6D6178203D207D
+:1006A00025640A006D6B5F6D61785F7370656564CA
+:1006B000203D2025640A006D6B5F696E746572765B
+:1006C000616C203D2025640A006D6B5F64656C6180
+:1006D00079203D2025640A006D6B5F776865656C45
+:1006E0005F74696D655F746F5F6D6178203D202573
+:1006F000640A006D6B5F776865656C5F6D61785F3C
+:100700007370656564203D2025640A006D6B5F741D
+:10071000696D655F746F5F6D6178203D2025640AA7
+:10072000006D6B5F6D61785F7370656564203D205F
+:1007300025640A006D6B5F696E74657276616C206A
+:100740003D2025640A006D6B5F64656C6179203D16
+:100750002025640A000A00257500363A207768656E
+:10076000656C5F74696D655F746F5F6D61783A2069
+:10077000000A00257500353A20776865656C5F6D65
+:1007800061785F73706565643A20000A0025750022
+:10079000343A2074696D655F746F5F6D61783A20DB
+:1007A000000A00257500333A206D61785F7370652B
+:1007B00065643A20000A00257500323A20696E749B
+:1007C000657276616C286D73293A20000A002575E0
+:1007D00000313A2064656C6179282A31306D7329C3
+:1007E0003A20000A092D2056616C756573202D0A88
+:1007F000004D3E004D25643E20003F00736574208F
+:1008000064656661756C740A00433E200077686514
+:1008100072652064656C74613A20637572736F72DF
+:100820003D25642C20776865656C3D25640A536519
+:100830006520687474703A2F2F656E2E77696B6926
+:1008400070656469612E6F72672F77696B692F4DD0
+:100850006F7573655F6B6579730A000A092D204D0A
+:100860006F7573656B6579202D0A4553432F713A77
+:1008700009717569740A313A0964656C6179282ACD
+:1008800031306D73290A323A09696E746572766186
+:100890006C286D73290A333A096D61785F7370654E
+:1008A00065640A343A0974696D655F746F5F6D61E0
+:1008B000780A353A09776865656C5F6D61785F73B2
+:1008C000706565640A363A09776865656C5F7469B6
+:1008D0006D655F746F5F6D61780A0A703A097072B6
+:1008E000696E742076616C7565730A643A09736584
+:1008F000742064656661756C74730A75703A092BAF
+:10090000310A646F776E3A092D310A706775703A53
+:10091000092B31300A7067646F776E3A092D3130D8
+:100920000A0A7370656564203D2064656C746120FB
+:100930002A206D61785F7370656564202A202872B3
+:100940006570656174202F2074696D655F746F5FD9
+:100950006D6178290A003F004D3E2000433E200093
+:100960004C25640A000A092D20436F6E736F6C6575
+:10097000202D0A4553432F713A09717569740A6D28
+:100980003A096D6F7573656B65790A000A092D2048
+:100990004D61676963202D0A643A09646562756771
+:1009A0000A783A096465627567206D6174726978C6
+:1009B0000A6B3A096465627567206B6579626F61DD
+:1009C00072640A6D3A096465627567206D6F7573AC
+:1009D000650A763A0976657273696F6E0A733A0929
+:1009E0007374617475730A633A09636F6E736F6C25
+:1009F00065206D6F64650A302D343A096C61796544
+:100A000072302D34284631302D4634290A50617514
+:100A1000733A09626F6F746C6F616465720A653A4C
+:100A200009656570726F6D0A6E3A094E4B524F0A36
+:100A30007A3A09736C656570204C4544207465737F
+:100A4000740A000A002575002E6E6B726F3A200042
+:100A50000A002575002E737761705F6261636B73A6
+:100A60006C6173685F6261636B73706163653A2088
+:100A7000000A002575002E737761705F67726176DA
+:100A8000655F6573633A20000A002575002E6E6F5E
+:100A90005F6775693A20000A002575002E7377613B
+:100AA000705F72616C745F726775693A20000A004A
+:100AB0002575002E737761705F6C616C745F6C6775
+:100AC00075693A20000A002575002E636170736C09
+:100AD0006F636B5F746F5F636F6E74726F6C3A20DD
+:100AE000000A002575002E737761705F636F6E7466
+:100AF000726F6C5F636170736C6F636B3A20000A96
+:100B00000025303258006B65796D61705F636F6EE0
+:100B10006669672E7261773A20000A002575002EFB
+:100B20006D6F7573653A20000A002575002E6B65A0
+:100B300079626F6172643A20000A002575002E6D9B
+:100B400061747269783A20000A002575002E656E7E
+:100B500061626C653A20000A0025303258006465F5
+:100B60006275675F636F6E6669672E7261773A20A0
+:100B7000000A0025750064656661756C745F6C61C0
+:100B80007965723A20003F004E4B524F3A206F6613
+:100B9000660A004E4B524F3A206F6E0A0074696D20
+:100BA00065725F636F756E743A202530346C580A35
+:100BB000006B6579626F6172645F6E6B726F3A2071
+:100BC00025580A006B6579626F6172645F69646CB5
+:100BD000653A2025580A006B6579626F6172645F1F
+:100BE00070726F746F636F6C3A2025580A00686FDB
+:100BF00073745F6B6579626F6172645F6C65647357
+:100C000028293A2025580A000A092D2053746174B6
+:100C10007573202D0A004743433A20342E392E3372
+:100C2000204156522D4C4942433A20312E382E3124
+:100C3000204156525F415243483A20617672350A4C
+:100C4000004F5054494F4E533A204C554641204294
+:100C50004F4F544D41474943204D4F5553454B4508
+:100C6000592045585452414B455920434F4E534FFC
+:100C70004C4520434F4D4D414E44204E4B524F204A
+:100C80003531320A004255494C443A2030663263CD
+:100C9000373733202831303A34373A3334204A61F9
+:100CA0006E2020352032303136290A005649443A28
+:100CB00020307846454544284572676F446F782058
+:100CC000455A29205049443A20307831333037286A
+:100CD0004572676F446F7820455A29205645523A2D
+:100CE000203078303030310A00444553433A207484
+:100CF0002E6D2E6B2E206B6579626F61726420669B
+:100D000069726D7761726520666F72204572676FD8
+:100D1000646F780A000A092D2056657273696F6E38
+:100D2000202D0A000A6D6F7573653A206F66660A9A
+:100D3000000A6D6F7573653A206F6E0A000A6B6565
+:100D400079626F6172643A206F66660A000A6B65A9
+:100D500079626F6172643A206F6E0A000A6D617485
+:100D60007269783A206F66660A000A6D617472696A
+:100D7000783A206F6E0A000A64656275673A206FE0
+:100D80006E0A000A64656275673A206F66660A003B
+:100D90000A0A626F6F746C6F616465722E2E2E206A
+:100DA00000433E20006565636F6E6669673A0A001E
+:100DB000536C656570204C454420746573740A005B
+:100DC0000000000000000000000000010204060A0C
+:100DD0000F17202C3A4A5D71879DB3C7DAE9F5FCFD
+:100DE000FFFCF5E9DAC7B39D87715D4A3A2C2017FD
+:100DF0000F0A0604020100000000000000000000CD
+:100E000011241FBECFEFDAE0DEBFCDBF04B603FE74
+:100E100024C08091F9019091FA01A091FB01B09159
+:100E2000FC018730904BA740B04BB9F41092F90108
+:100E30001092FA011092FB011092FC0114BE84B7CB
+:100E4000877F84BF88E10FB6F8948093600010928A
+:100E500060000FBEE0E0FFE3099511E0A0E0B1E023
+:100E6000E0EAFBE502C005900D92AA33B107D9F77D
+:100E700011E0AAE3B1E001C01D92A93FB107E1F77B
+:100E80000E94900F0C94CE2D0C940000FF93EF93D2
+:100E9000E0913A01F0913B01309709F00995EF910B
+:100EA000FF910895FC018591803011F0EFDFFBCFB9
+:100EB0000895FF27E0E230E247FF0CC0419597FF1D
+:100EC00009C0EDE26095709580959095611D711D4A
+:100ED000811D911D27FF02C0219530E350E2AA2712
+:100EE000660F771F881F991FAA1FA41710F0A41B55
+:100EF00063955A95A9F7AA3008F0A95FA05DAF9352
+:100F0000F395611571058105910541F7ED3211F4F5
+:100F1000EF93F395F21718F43F93F395FBCF8F916E
+:100F2000B5DFFA95E1F70895E991F991859180305F
+:100F300021F0853219F0AADFF9CF089520E0E89476
+:100F400055915532C1F3503311F4689455915A3389
+:100F500048F4505390F3220F022E220F220F200D3F
+:100F6000250FF4CF0EF4219589919991533619F3F9
+:100F7000533729F1533559F1BC0188279927E89453
+:100F80005C3621F48991999168945591543639F4DD
+:100F900046EF7EF077FF0DC08FEF9FEF0AC0553709
+:100FA0004AE039F0583540E121F0523642E009F08C
+:100FB0000895FF93EF937DDFEF91FF91B7CFFF93FC
+:100FC000EF93FC0181918030B9F360DFFBCFFF9399
+:100FD000EF9368DFF1CFDF93CF93CDB7DEB72596E0
+:100FE000A3DFCF91DF91089561110BC0FC018281D5
+:100FF000882321F085EE0E946D1603C085EE0E94C5
+:10100000351780E090E0089508956091BC017091DB
+:10101000BD018091BE019091BF010E94FD205698B4
+:101020005E9825982D9826982E9827982F9881308D
+:1010300019F0823021F00895259A2D9A0895269A64
+:101040002E9A089585E098E0892B11F00E940508FA
+:1010500080E090E0089556985E9825982D982698FF
+:101060002E9827982F988FEF90E090938900809387
+:10107000880090938B0080938A0090938D008093DA
+:101080008C00259A2D9A2FEF80E792E02150804026
+:101090009040E1F700C00000269A2E9A2FEF80E7DB
+:1010A00092E0215080409040E1F700C00000279A74
+:1010B0002F9A2FEF80E792E0215080409040E1F797
+:1010C00000C0000025982D982FEF80E792E0215076
+:1010D00080409040E1F700C0000026982E982FEF46
+:1010E00080E792E0215080409040E1F700C000008E
+:1010F00027982F9856985E9825982D9826982E9880
+:1011000027982F98089589EA8093800089E080933A
+:10111000810024982C983F988AB18F748AB96E9870
+:10112000479A8BB1806B8BB9769A0E942B0884E02A
+:1011300098E0892B11F00E94040880E090E0089567
+:1011400080E28093000180913C0181110EC00E94D9
+:10115000EF0881E080933C012FEF83ED90E3215075
+:1011600080409040E1F700C0000080E40E94F50854
+:101170008093000181112EC00E941F0980930001FD
+:10118000811128C00E941F0980930001811122C093
+:101190008FE30E941F098093000181111BC00E94F0
+:1011A000170980E40E94F50880930001811112C0A4
+:1011B0008CE00E941F098093000181110BC00E94E6
+:1011C0001F0980930001811105C08FE30E941F0950
+:1011D000809300010E9417098091000108951092E8
+:1011E000B9008AE08093B800089594EA9093BC0017
+:1011F0009091BC0097FFFCCF9091B900987F9830F8
+:1012000021F0903111F081E008958093BB0084E8D3
+:101210008093BC008091BC0087FFFCCF8091B90017
+:10122000887F883111F0803471F780E0089584E977
+:101230008093BC008091BC0084FDFCCF0895809316
+:10124000BB0084E88093BC008091BC0087FFFCCF8A
+:101250009091B900987F81E0983209F480E0089578
+:1012600084E88093BC008091BC0087FFFCCF809114
+:10127000BB00089580910001811115C080E40E9497
+:10128000F5088093000181110CC082E10E941F09C2
+:1012900080930001811105C08FEF0E941F09809388
+:1012A00000010E94170984B1807F84B985B1807FD5
+:1012B00085B98AB1837F8AB98BB1837F8BB93E9818
+:1012C000469808950E94A008809300010E943A0960
+:1012D00080B38C7080BB81B3836F81BBAEE3B1E020
+:1012E000ECE4F1E08EE08E0F11921D928E13FCCF94
+:1012F00083E898E0892B11F00C94830808959F925D
+:10130000AF92BF92CF92DF92EF92FF920F931F9313
+:10131000CF93DF93809100018823E1F080913D011C
+:101320008F5F80933D01811115C082E493E00E949C
+:1013300052070E94A00880930001882329F088E2C8
+:1013400093E00E94520706C084E193E00E94520796
+:101350000E942B080EE311E0C0E0D0E0BB24B39460
+:1013600082E0A82ECC24C394D12C25E0E22E23E0E9
+:10137000F22EC730D10500F580910001811164C0C3
+:1013800080E40E94F50880930001811112C082E17F
+:101390000E941F098093000181110BC0C6010C2E11
+:1013A00001C0880F0A94EAF780950E941F09809374
+:1013B00000010E94170948C0CA30A1F028F4C830C3
+:1013C00059F0C93061F005C0CC3089F070F0CD30F3
+:1013D00089F0209A289810C0219A29980DC0229A45
+:1013E0002A980AC0239A2B9807C0529A01C0539A90
+:1013F0005B9802C03E9A469890EA9A95F1F79FB1A1
+:10140000799902C082E001C080E091709B25982B01
+:101410007C9902C084E001C080E0892B7D9902C0E4
+:1014200038E001C030E0832B7E9902C020E101C08A
+:1014300020E0822B9FB19095991F9927991F929533
+:10144000990F907E892B10C080910001811174C08A
+:1014500080E40E94F50880930001882309F459C0B4
+:10146000912C0E941709892DF8019081981739F164
+:10147000808380910101882301F18091D70180FF51
+:1014800004C08AE093E00E9452078091D70180FF58
+:101490000CC0809101011F928F93FF92EF920E94E6
+:1014A000EB070F900F900F900F908091D70180FF66
+:1014B00004C083E093E00E945207A09201010E94C1
+:1014C0003A0921960F5F1F4FCE30D10509F051CF59
+:1014D000809101018823B1F081508093010188231C
+:1014E00039F08FE99FE00197F1F700C000000AC0D2
+:1014F000ACE4B1E0EEE3F1E0CF01825F91919D9326
+:101500008E13FCCF82E298E0892BC1F00E94220862
+:1015100015C083E10E941F09809300018111A0CFB3
+:1015200081E40E94F50880930001811199CF0E9407
+:101530003009982E909495CF80E096CF81E0DF918E
+:10154000CF911F910F91FF90EF90DF90CF90BF90C0
+:10155000AF909F900895E82FF0E0E45BFE4F80810C
+:101560000895CF92DF92EF92FF920F931F93CF9344
+:10157000DF938CEE92E00E9452078CE4E82E81E02B
+:10158000F82EC0E0D0E097EEC92E92E0D92E0EEDF5
+:1015900012E0DF93CF93DF92CF920E94EB0784EEAD
+:1015A00092E00E945207F70181917F0190E00E9432
+:1015B00063219F938F931F930F930E94EB078CEDF2
+:1015C00092E00E94520721968DB79EB708960FB6FB
+:1015D000F8949EBF0FBE8DBFCE30D105D1F6DF91FE
+:1015E000CF911F910F91FF90EF90DF90CF900895D2
+:1015F0008B3B910578F4883A910540F5853A910541
+:10160000D0F48430910508F0B1C08130910509F41F
+:10161000ADC06BC0803E910508F467C0883E91055F
+:1016200008F4A4C09C01205F31092031310508F085
+:101630005CC090650895853A910509F459C0863AD1
+:10164000910509F058C082E890E40895883A910520
+:1016500009F454C0893A910509F453C08A3A9105B6
+:1016600009F452C08B3A910509F451C08C3A9105A6
+:1016700009F450C08D3A910509F44FC0803B9105A3
+:1016800009F44EC08E3A910509F44DC08F3A910588
+:1016900009F44CC0813B910509F44BC0823B910594
+:1016A00009F44AC0833B910509F449C0843B910584
+:1016B00009F448C0853B910509F447C0863B910574
+:1016C00009F446C0873B910509F445C0883B910564
+:1016D00009F444C0893B910509F443C08A3B910554
+:1016E00009F442C080E094E4089580E090E0089519
+:1016F00081E890E4089583E890E4089582EE94E40C
+:10170000089589EE94E408958AEE94E4089585EBB3
+:1017100094E4089586EB94E4089587EB94E40895A7
+:101720008CEC94E408958DEC94E4089583E895E4BA
+:1017300008958AE895E4089582E995E4089584E996
+:1017400095E4089581E296E4089583E296E408958D
+:1017500084E296E4089585E296E4089586E296E4AC
+:10176000089587E296E408958AE296E4089508953C
+:1017700096E0799FF001112494E5899FE00DF11D19
+:101780001124E60FF11DEE0FFF1FEC51FF4F859165
+:1017900094910895880F991FFC01E05AF0408591BB
+:1017A00094910895880F991FFC01E052FF4F859195
+:1017B0009491089526E0729FF001112444E5849FDE
+:1017C000E00DF11D1124E60FF11DEE0FFF1FEC518E
+:1017D000FF4F859194919C013A9521154FE1340773
+:1017E00008F41EC13F512115304120F49F700E9422
+:1017F000D20B08959C0130532115304118F49927DC
+:10180000906C0895811520E5920769F40E94BD1A35
+:101810004FEF84E39CE0415080409040E1F700C0EE
+:1018200000000C941F22813020E5920751F48CE5D2
+:1018300093E00E9452078091D70181608093D70185
+:1018400008959C0130552115304108F051C0292FD1
+:1018500033272F70332721303105D9F4AC01437081
+:10186000552702C0220F331F4A95E2F73C68AC01AE
+:1018700064E0440F551F6A95E1F744275370242B09
+:10188000352B73E0880F991F7A95E1F780769927B9
+:101890001DC02230310529F4982F8827816F906A66
+:1018A000089523303105A9F4AC014370552721E098
+:1018B00030E002C0220F331F4A95E2F73C6843E054
+:1018C000880F991F4A95E1F7807E9770822B932BA2
+:1018D000089524303105E1F4AC014370552721E02F
+:1018E00030E002C0220F331F4A95E2F73A68E7CF93
+:1018F0009C0130572115304118F49F709062089573
+:101900009C0130582115304118F49F70906A089559
+:10191000803E9105E0F4803C910558F581339105B6
+:1019200009F46FC048F48932910509F463C08A3222
+:10193000910509F46DC072C089339105E9F08238D0
+:101940009105D1F08533910509F44DC067C0833E00
+:10195000910581F138F4803E9105B9F0823E910500
+:10196000D9F05CC0863E910561F1873E9105A1F1F9
+:1019700055C00E94CA0B08952091EA0120FD02C0C3
+:1019800021FF4CC080EE90E049C08091EA0180FFC9
+:10199000F9CF89E390E042C08091EA0182FF0EC056
+:1019A0008091EA0184FF03C080E090E037C083EEBD
+:1019B00090E034C08091EA0182FFF2CF82EE90E0A5
+:1019C0002DC08091EA0183FF0BC08091EA0184FD64
+:1019D000EBCF87EE90E022C08091EA0183FFF5CF44
+:1019E00086EE90E01BC08091EA0185FF07C089E286
+:1019F00090E014C08091EA0185FFF9CF85E390E083
+:101A00000DC08091EA0186FF07C08AE290E006C01F
+:101A10008091EA0186FFF9CF81E390E00E94F80A05
+:101A20000895089580916D0108959FB7F8941092DC
+:101A30005C019FBF9091F001943009F057C09091E4
+:101A4000E9009F703091EC00232F217030FD20E8D9
+:101A5000922B24E02093E9002091EB0020FF43C06B
+:101A60002091EE0027FF3FC020915A01222321F050
+:101A70002091E80025FF37C010925A0126E03091EE
+:101A8000E80035FD15C03091F001343061F530913A
+:101A9000EB0035FD28C0215021F481E080935A01EC
+:101AA00022C0EFE9FFE03197F1F700C00000E7CF77
+:101AB0008093F1008091E80085FD0AC08091E800E4
+:101AC00080FFFCCF8091E8008E778093E80006C00D
+:101AD0008FB7F89421E020935C018FBF9F709093A3
+:101AE000E90080E008959F709093E9008FEF0895DA
+:101AF000CF93DF9300D01F92CDB7DEB79C018091CA
+:101B0000F001843019F593E099833B832A83909305
+:101B1000E9008FEF9091E800815095FD06C095EDAA
+:101B20009A95F1F700008111F5CF8091E80085FFCB
+:101B30000DC040E050E063E070E0CE0101960E94ED
+:101B400048108091E8008E778093E8000F900F9006
+:101B50000F90DF91CF910895CF93DF9300D01F9224
+:101B6000CDB7DEB72091F001243021F522E02983A2
+:101B70009B838A8383E08093E9008FEF9091E80054
+:101B8000815095FD06C095ED9A95F1F70000811101
+:101B9000F5CF8091E80085FF0DC040E050E063E0A4
+:101BA00070E0CE0101960E9448108091E8008E7787
+:101BB0008093E8000F900F900F90DF91CF910895E0
+:101BC0002091F0012430F1F422E02093E9002FEF7E
+:101BD0003091E800215035FD06C035ED3A95F1F71A
+:101BE00000002111F5CF2091E80025FF0BC040E057
+:101BF00050E065E070E00E9448108091E8008E7728
+:101C00008093E8000895CF93DF932091F001243072
+:101C100009F048C0EC0180910C018823E1F080912B
+:101C20000D018823C1F085E08093E9008FEF90914A
+:101C3000E800815095FD06C095E19A95F1F7000006
+:101C40008111F5CF8091E80085FF2CC040E050E085
+:101C500060E170E017C081E08093E9008FEF909120
+:101C6000E800815095FD06C095ED9A95F1F70000CA
+:101C70008111F5CF8091E80085FF14C040E050E06D
+:101C800068E070E0CE010E9448108091E8008E77F5
+:101C90008093E80080E1FE01ADE5B1E001900D9296
+:101CA0008A95E1F7DF91CF91089583E993E00E944F
+:101CB00052078091EF01811109C00E94DD110E943D
+:101CC0003A128091E20084608093E20008958FE8E8
+:101CD00093E00E9452071092EF0108958BE893E081
+:101CE0000C94520787E893E00E9452070C94EF2B64
+:101CF00083E893E00E9452070E94B9210E94F52BCD
+:101D00000E94DF140C94110D20915B012F5F822F34
+:101D100062E30E94632D992319F020935B010895DB
+:101D200010925B0180915C01882371F18091F00138
+:101D3000843041F58091E9008F702091EC00922F62
+:101D4000917020FD90E8892B94E09093E9009091A8
+:101D5000EB0090FF14C09091EE0097FF10C090919F
+:101D6000E80095FF03C01092F100F9CF9091E800D0
+:101D700090FF05C09091E8009E779093E8008F70E7
+:101D80008093E90010925C01089542E061EC81E0EB
+:101D90000E94571142E061EC82E00E94571142E03C
+:101DA00061EC83E00E94571142E261EC84E00E9402
+:101DB000571142E161EC85E00C9457118091F201DA
+:101DC000833009F455C030F4813071F0823009F469
+:101DD0008EC008958A3009F47AC08B3009F460C04F
+:101DE000893009F09CC020C08091F101813A09F04E
+:101DF00096C08091E800877F8093E8008091F5018C
+:101E00009091F601892B21F460E18DE591E003C00A
+:101E100060E080E090E070E00E9493108091E80024
+:101E20008B778093E80008958091F101813209F069
+:101E300076C08091F5019091F601009719F0049712
+:101E400009F06DC08091E800877F8093E800809161
+:101E5000E80082FD05C08091F0018111F8CF5FC0DC
+:101E60008091F10080936D018091E8008B7753C0E1
+:101E70008091F101813A09F052C08091F501909171
+:101E8000F601892B09F04BC08091E800877F809391
+:101E9000E8008091E80080FFFCCF80910C0136C003
+:101EA0008091F1018132D9F58091F5019091F6018F
+:101EB000892BA9F58091E800877F8093E8000E9434
+:101EC0008C118091F30180930C010C94BD1A8091C8
+:101ED000F101813221F58091E800877F8093E8004D
+:101EE0000E948C118091F40180936E01089580917D
+:101EF000F101813AA1F48091E800877F8093E800A6
+:101F00008091E80080FFFCCF80916E018093F1000A
+:101F10008091E8008E778093E8000C948C110895EE
+:101F200084B7877F84BF88E10FB6F8948093600000
+:101F3000109260000FBE90E080E80FB6F894809396
+:101F40006100909361000FBE0E946C150E94DD112C
+:101F50000E943A128091E20084608093E20085E161
+:101F60009DE00E94F82078940E94BF140E946E1594
+:101F700082E091E00E94DA140E94DD2B82E793E078
+:101F80000E9452078091F001853089F48EE693E03B
+:101F90000E9452070E947D218091EE01882391F3D7
+:101FA0000E94A521882371F30E943210EBCF0E947A
+:101FB0009C15E8CF292F332723303105C9F064F46D
+:101FC0002130310581F02230310509F043C08DE820
+:101FD00090E02BEC33E042C021323105F1F02232A7
+:101FE000310541F137C082E190E028E534E036C0A8
+:101FF00099278130910541F08230910541F0892B7C
+:1020000049F5E7ECF3E005C0EFEAF3E002C0E7E9E9
+:10201000F3E0849190E09F0121C06530D8F4E62F71
+:10202000F0E0EE0FFF1FEB5DFE4F2081318189E074
+:1020300090E014C0653070F470E0FB01EE0FFF1FFC
+:10204000E55EFE4F20813181FB01EA5EFE4F80811B
+:1020500090E004C080E090E020E030E0FA013183BD
+:102060002083089580E189BD82E189BD09B400FE25
+:10207000FDCF8091D8008F7D8093D8008091E000C3
+:1020800082608093E0008091E00081FDFCCF0895A4
+:10209000CF92DF92EF92FF920F931F93CF93DF9334
+:1020A000EC018B016A010E94AB11811133C0C11494
+:1020B000D10439F0F60180819181081B190BC80FFA
+:1020C000D91FE12CF12C0115110519F18091E800BF
+:1020D00085FD16C08091E8008E778093E800C114DA
+:1020E000D10449F0F60180819181E80EF91EF18258
+:1020F000E08285E00FC00E94AB11882321F30AC063
+:1021000089918093F10001501109FFEFEF1AFF0A46
+:10211000DACF80E0DF91CF911F910F91FF90EF9088
+:10212000DF90CF9008952091F7013091F8012617A4
+:10213000370748F06115710539F42091E8002E77D2
+:102140002093E80001C0B90140E061157105A9F1D3
+:102150002091F001222309F443C0253009F442C044
+:102160002091E80023FD40C02091E80022FD32C00C
+:102170002091E80020FFE9CF4091F3002091F20088
+:1021800030E0342BFC01CF016115710559F0283086
+:10219000310540F481918093F100615071092F5F06
+:1021A0003F4FF1CF41E02830310509F040E0209168
+:1021B000E8002E772093E800C8CF4111C9CF0AC0AC
+:1021C0008091F001882361F0853061F08091E80012
+:1021D00083FD0AC08091E80082FFF2CF80E008957D
+:1021E00082E0089583E0089581E008952091F70149
+:1021F0003091F8012617370748F06115710539F459
+:102200002091E8002E772093E80001C0B901FC017D
+:1022100020E06115710591F18091F001882309F4A6
+:1022200040C0853009F43FC08091E80083FD3DC087
+:102230008091E80082FD2FC08091E80080FFE9CF07
+:102240002091F3008091F20090E0922B61157105CE
+:1022500059F08830910540F424912093F100319693
+:10226000615071090196F2CF21E0089709F020E052
+:102270008091E8008E778093E800CBCF2111CCCFFE
+:102280000AC08091F001882361F0853061F080916F
+:10229000E80083FD0AC08091E80082FFF2CF80E071
+:1022A000089582E0089583E0089581E00895982FCD
+:1022B000973058F59093E900981739F07091EC0039
+:1022C0002091ED005091F00003C0242F762F50E0B4
+:1022D00021FF19C03091EB003E7F3093EB0030912D
+:1022E000ED003D7F3093ED003091EB003160309395
+:1022F000EB007093EC002093ED005093F0002091E0
+:10230000EE0027FF07C09F5FD3CF8F708093E90057
+:1023100081E0089580E008958091F10187FF11C068
+:102320008091E80082FD05C08091F0018111F8CF15
+:1023300011C08091E8008B770BC08091F001882359
+:1023400049F08091E80080FFF8CF8091E8008E7717
+:102350008093E80008952091E4003091E50095E62F
+:102360004091EC00842F817040FF22C08091E800F2
+:1023700080FD1CC08091F001882391F0853091F0A0
+:102380008091EB0085FD10C04091E4005091E50084
+:102390004217530729F39A01915011F784E00895E9
+:1023A00082E0089583E0089581E0089580E0089533
+:1023B0004091E80042FFDECF08950E944B120E9438
+:1023C0005312E0EEF0E0808181608083E8EDF0E080
+:1023D00080818F77808319BCA7EDB0E08C918E7FD0
+:1023E0008C9380818F7E80831092EF0108950F93EC
+:1023F0001F93CF93DF930E944B120E945312C8ED9C
+:10240000D0E088818F7788838881806888838881FD
+:102410008F7D888319BC1092F0011092EC0110920C
+:10242000EE011092ED0100EE10E0F80180818B7F4B
+:10243000808388818160888342E060E080E00E9440
+:102440005711E1EEF0E080818E7F8083E2EEF0E0D4
+:10245000808181608083808188608083F8018081B1
+:102460008E7F8083888180618883DF91CF911F91E7
+:102470000F910895E8EDF0E080818F7E8083E7ED95
+:10248000F0E080818160808384E082BF81E080937E
+:10249000EF010C94F711E8EDF0E080818E7F8083EE
+:1024A0001092E20008951092DA001092E10008956F
+:1024B0001F920F920FB60F9211242F933F934F93B9
+:1024C0005F936F937F938F939F93AF93BF93EF939C
+:1024D000FF938091E10082FF0BC08091E20082FFB8
+:1024E00007C08091E1008B7F8093E1000E94840E01
+:1024F0008091DA0080FF1FC08091D80080FF1BC050
+:102500008091DA008E7F8093DA008091D90080FF7D
+:102510000DC080E189BD82E189BD09B400FEFDCF17
+:1025200081E08093F0010E94550E05C019BC109205
+:10253000F0010E94670E8091E10080FF19C0809138
+:10254000E20080FF15C08091E2008E7F8093E20060
+:102550008091E20080618093E2008091D8008062E7
+:102560008093D80019BC85E08093F0010E94720E20
+:102570008091E10084FF30C08091E20084FF2CC094
+:1025800080E189BD82E189BD09B400FEFDCF809163
+:10259000D8008F7D8093D8008091E1008F7E80935A
+:1025A000E1008091E2008F7E8093E2008091E20062
+:1025B00081608093E2008091EC01882311F084E037
+:1025C00007C08091E30087FD02C081E001C083E085
+:1025D0008093F0010E94780E8091E10083FF29C072
+:1025E0008091E20083FF25C08091E100877F809386
+:1025F000E10082E08093F0011092EC018091E10013
+:102600008E7F8093E1008091E2008E7F8093E200D4
+:102610008091E20080618093E20042E060E080E02F
+:102620000E9457118091F00088608093F0000E9412
+:102630006E0EFF91EF91BF91AF919F918F917F911E
+:102640006F915F914F913F912F910F900FBE0F901F
+:102650001F9018951F920F920FB60F9211242F936F
+:102660003F934F935F936F937F938F939F93AF931A
+:10267000BF93CF93DF93EF93FF93C091E900CF70A7
+:102680008091EC00D82FD17080FDD0E81092E90045
+:102690008091F000877F8093F00078940E946E1301
+:1026A0001092E9008091F00088608093F000CD2BBB
+:1026B000CF70C093E900FF91EF91DF91CF91BF916F
+:1026C000AF919F918F917F916F915F914F913F91CA
+:1026D0002F910F900FBE0F901F9018951F93CF93BF
+:1026E000DF93CDB7DEB7AA970FB6F894DEBF0FBE63
+:1026F000CDBFE1EFF1E088E08E0F9091F100919372
+:102700008E13FBCF0E94DE0E8091E80083FF1FC175
+:102710008091F1019091F201492F50E04A3051052A
+:1027200008F015C1FA01EA5AFF4F0C94832D803846
+:1027300081F0823809F00BC18091F5018F70809390
+:10274000E9008091EB0085FB882780F91092E90071
+:1027500006C08091ED019091EE01911182609091FF
+:10276000E800977F9093E8008093F1001092F100C9
+:10277000C8C0282F2D7F09F0EAC0882319F08230C5
+:1027800061F0E5C08091F301813009F0E0C0933041
+:1027900009F080E08093EE012BC08091F30181115C
+:1027A00027C08091F5018F7009F4D1C08093E900B2
+:1027B0002091EB0020FF1CC0933021F48091EB00AE
+:1027C000806214C09091EB0090619093EB0021E047
+:1027D00030E0A90102C0440F551F8A95E2F74093EB
+:1027E000EA001092EA008091EB0088608093EB0091
+:1027F0001092E9008091E800877F86C08111A7C010
+:102800001091F3011F778091E3008078812B8093F2
+:10281000E3008091E800877F8093E8000E948C119C
+:102820008091E80080FFFCCF8091E3008068809376
+:10283000E300111102C082E001C083E08093F00147
+:1028400086C08058823008F082C08091F301909158
+:10285000F4018C3D53E0950779F583E08A838AE2A1
+:1028600089834FB7F894DE01139620E03EE051E2F1
+:10287000E32FF0E050935700E49120FF03C0E2956E
+:10288000EF703F5FEF708E2F90E0EA3010F0C79648
+:1028900001C0C0968D939D932F5F243149F74FBFA0
+:1028A0008091E800877F8093E8006AE270E0CE01C3
+:1028B00001960E94931014C0AE014F5F5F4F60916C
+:1028C000F5010E94DA0FBC01892B09F440C09091F8
+:1028D000E800977F9093E80089819A810E94F61022
+:1028E0008091E8008B778093E80031C0803879F5DB
+:1028F0008091E800877F8093E8008091EC018093CD
+:10290000F1008091E8008E778093E8000E948C119E
+:102910001EC081111CC09091F3019230C0F48091CF
+:10292000E800877F8093E8009093EC010E948C116F
+:102930008091EC01811106C08091E30087FD02C007
+:1029400081E001C084E08093F0010E94C50E809177
+:10295000E80083FF0AC08091E800877F8093E80049
+:102960008091EB0080628093EB00AA960FB6F894FA
+:10297000DEBF0FBECDBFDF91CF911F910895CF93E2
+:102980008091F0018823A1F0C091E900CF7090916F
+:10299000EC00892F817090FD80E8C82B1092E9002F
+:1029A0008091E80083FD0E946E13CF70C093E90010
+:1029B000CF91089590937401809373010895E091ED
+:1029C0007301F0917401309721F00190F081E02DB6
+:1029D000099480E00895EF92FF920F931F93CF9395
+:1029E000DF93E0917301F09174013097B1F18C01A4
+:1029F0000280F381E02D09958091D70182FF2DC0DF
+:102A000080FF04C08DE895E00E945207E80110E1C4
+:102A100087E8E82E85E0F82E8091D70180FF0BC073
+:102A200088811F928F93FF92EF920E94EB070F9085
+:102A30000F900F900F90115021961111EDCF8091B2
+:102A4000D70180FF0AC085E895E0DF91CF911F9103
+:102A50000F91FF90EF900C945207DF91CF911F914F
+:102A60000F91FF90EF900895E0917301F091740140
+:102A7000309721F00480F581E02D0994089520918C
+:102A80007101309172018217930771F09093720176
+:102A900080937101E0917301F0917401309721F0FE
+:102AA0000680F781E02D0994089520916F013091FF
+:102AB00070018217930771F09093700180936F01FA
+:102AC000E0917301F0917401309721F00084F18559
+:102AD000E02D0994089508950C946B150E94BB2174
+:102AE0000E9462090C948122CF93C82F8091D70154
+:102AF00082FF1EC080FF04C086EA95E00E94520754
+:102B00008091D70180FF0CC01F92CF9381EA95E09E
+:102B10009F938F930E94EB070F900F900F900F9051
+:102B20008091D70180FF04C08FE995E00E94520791
+:102B30008C2FCF910C94110DCF92DF92EF92FF92D8
+:102B40000F931F93CF93DF93CDB7DEB72B970FB6BD
+:102B5000F894DEBF0FBECDBF0E947F0986E7C82E66
+:102B600081E0D82E00E010E0E02E802F0E94AB0A1A
+:102B7000F60141916F01F42EF826B1F40F5F1F4F5B
+:102B80000E30110589F78FEF89838A831B820E949B
+:102B9000C4218160782F9D838C8349815A816B8108
+:102BA0008D810E943F1640C09091D70191FF04C0D3
+:102BB0008B870E94B10A8B8520E030E04F2D50E0DA
+:102BC000922FBA01022E02C0759567950A94E2F71A
+:102BD00060FF24C02E83EF8221E030E0690102C053
+:102BE000CC0CDD1C9A95E2F790E08C219D21892B7D
+:102BF00009F420E028870E94C4218160782F9A87F9
+:102C000089874E815F8168858A850E943F16F80119
+:102C1000EA58FE4F8081C826C08206C02F5F3F4F12
+:102C20002630310569F6AACF0E94F2251091750170
+:102C30000E94DF141817A1F00E94DF148093750121
+:102C40002B960FB6F894DEBF0FBECDBFDF91CF91AC
+:102C50001F910F91FF90EF90DF90CF900C9474151F
+:102C60002B960FB6F894DEBF0FBECDBFDF91CF918C
+:102C70001F910F91FF90EF90DF90CF900895CF9329
+:102C8000DF93CDB7DEB72B970FB6F894DEBF0FBE3C
+:102C9000CDBF4F83588769877A878B87DE0111966E
+:102CA00086E0FD0111928A95E9F785E0FE013796ED
+:102CB00001900D928A95E1F749815A816B817C815F
+:102CC0008D819E810E94571D2B960FB6F894DEBF12
+:102CD0000FBECDBFDF91CF910895CF93882309F424
+:102CE000C2C0C82F823859F40E94DF1481FDBBC0D6
+:102CF00089E30E94F31F0E94D22089E30CC083382D
+:102D000079F40E94DF1480FDAEC083E50E94F31FBA
+:102D10000E94D22083E50E944620CF910C94D220BD
+:102D2000843859F40E94DF1482FD9DC087E40E941C
+:102D3000F31F0E94D22087E4EECF8CEF8C0F813AF4
+:102D400048F48C2F0E94852A81118DC08C2F0E94FF
+:102D5000F31FE3CF80E28C0F883048F4C77081E026
+:102D600001C0880FCA95EAF70E949B20D6CF8BE559
+:102D70008C0F833078F4C53A29F0C63A31F083E8F5
+:102D800090E005C081E890E002C082E890E0CF9139
+:102D90000C943F1588E58C0F833108F064C0C83A65
+:102DA00039F1C93A41F1CA3A49F1CB3A51F1CC3A39
+:102DB00059F1CD3A61F1C03B69F1CE3A71F1CF3AA8
+:102DC00079F1C13B81F1C23B89F1C33B91F1C43B35
+:102DD00099F1C53BA1F1C63BA9F1C73BB1F1C83B95
+:102DE000B9F1C93BC1F1CA3BC9F180E090E038C0FC
+:102DF00082EE90E035C089EE90E032C08AEE90E03D
+:102E00002FC085EB90E02CC086EB90E029C087EBCB
+:102E100090E026C08CEC90E023C08DEC90E020C0C8
+:102E200083E891E01DC08AE891E01AC082E991E050
+:102E300017C084E991E014C081E292E011C083E2FE
+:102E400092E00EC084E292E00BC085E292E008C0FE
+:102E500086E292E005C087E292E002C08AE292E058
+:102E6000CF910C945515CF910895882309F44BC048
+:102E7000823859F40E94DF1481FF45C089E30E9423
+:102E8000F31F0E94D22089E30CC0833871F40E94A2
+:102E9000DF1480FF38C083E50E94F31F0E94D22018
+:102EA00083E50E9446200C94D220843859F40E9475
+:102EB000DF1482FF28C087E40E94F31F0E94D22003
+:102EC00087E4EFCF9CEF980F913A58F390E2980F78
+:102ED000983050F4877091E001C0990F8A95EAF715
+:102EE000892F0E94A120DFCF9BE5980F933020F41B
+:102EF00080E090E00C943F15885A833120F480E004
+:102F000090E00C9455150895882321F00E949B2091
+:102F10000C94D2200895882321F00E94A1200C94C3
+:102F2000D2200895BF92CF92DF92EF92FF920F933B
+:102F30001F93CF93DF9300D000D000D0CDB7DEB782
+:102F400025E0FC01DE01119601900D922A95E1F732
+:102F5000FC01408131810281258122952F7063819E
+:102F60007481672B09F4E7C23F3F19F44F3F09F41E
+:102F7000E2C27C0149833A8389819A812E830E942F
+:102F8000B21F182FB92E0E94B11F0E94781EEB2D80
+:102F9000E295EF70F0E0E05AFF4F2E810C94832D04
+:102FA0008B2D807F9B2D9F70F92E882319F0F29432
+:102FB00080EFF822002349F0FF2009F469C28F2D29
+:102FC0000E94AB200E94D22063C2812F0E9435173D
+:102FD000FF2009F4B0C28F2D0E94B12026960FB6B3
+:102FE000F894DEBF0FBECDBFDF91CF911F910F913F
+:102FF000FF90EF90DF90CF90BF900C94D2203B2DAC
+:10300000307F8B2D8F70303211F08295807F1123AD
+:1030100019F0113021F12DC00023B9F0222309F459
+:10302000A1C1213009F09EC126960FB6F894DEBFEB
+:103030000FBECDBFDF91CF911F910F91FF90EF9009
+:10304000DF90CF90BF900C94BB20222319F0213049
+:1030500009F471C28E830E94BE208E8197C1002325
+:1030600021F0263008F067C27DC1253008F063C228
+:103070008DC1002321F0222309F474C109C2222347
+:1030800009F484C11AC22B2D26952695237030E0B1
+:103090002115310521F021303105D1F04CC200233A
+:1030A00021F0812F9B2D937002C080E090E0269646
+:1030B0000FB6F894DEBF0FBECDBFDF91CF911F9149
+:1030C0000F91FF90EF90DF90CF90BF900C943F1541
+:1030D000002321F0812F9B2D937002C080E090E0AF
+:1030E00026960FB6F894DEBF0FBECDBFDF91CF910D
+:1030F0001F910F91FF90EF90DF90CF90BF900C94B5
+:103100005515812F002319F00E94782402C00E94D7
+:10311000E02426960FB6F894DEBF0FBECDBFDF9138
+:10312000CF911F910F91FF90EF90DF90CF90BF90C4
+:103130000C9465258B2D837009F07BC00111FBC1B8
+:10314000812F829586958770880F880F912F9F70A9
+:10315000C92ED12CE12CF12C082E04C0CC0CDD1C86
+:10316000EE1CFF1C0A94D2F714FF12C04FE050E08F
+:1031700060E070E004C0440F551F661F771F8A95FA
+:10318000D2F7CB01BA01609570958095909503C0F8
+:1031900060E070E0CB012B2D269526952370422F01
+:1031A00050E042305105D9F04330510569F16C29A6
+:1031B0007D298E299F294130510551F126960FB660
+:1031C000F894DEBF0FBECDBFDF91CF911F910F915D
+:1031D000FF90EF90DF90CF90BF900C949F1E6C29D2
+:1031E0007D298E299F2926960FB6F894DEBF0FBE43
+:1031F000CDBFDF91CF911F910F91FF90EF90DF90A6
+:10320000CF90BF900C94BB1E0E949F1EC701B601B9
+:1032100026960FB6F894DEBF0FBECDBFDF91CF91DB
+:103220001F910F91FF90EF90DF90CF90BF900C9483
+:10323000831E002319F08B2D817001C08695882391
+:1032400009F479C1812F829586958770880F880F40
+:10325000912F9F70C92ED12CE12CF12C082E04C087
+:10326000CC0CDD1CEE1CFF1C0A94D2F714FF12C01C
+:103270004FE050E060E070E004C0440F551F661F4F
+:10328000771F8A95D2F7CB01BA016095709580952A
+:10329000909503C060E070E0CB012B2D269526951C
+:1032A0002370422F50E042305105D9F04330510590
+:1032B00069F16C297D298E299F294130510551F1F1
+:1032C00026960FB6F894DEBF0FBECDBFDF91CF912B
+:1032D0001F910F91FF90EF90DF90CF90BF900C94D3
+:1032E000791F6C297D298E299F2926960FB6F8947F
+:1032F000DEBF0FBECDBFDF91CF911F910F91FF9029
+:10330000EF90DF90CF90BF900C94951F0E94791F93
+:10331000C701B60126960FB6F894DEBF0FBECDBF2B
+:10332000DF91CF911F910F91FF90EF90DF90CF90A1
+:10333000BF900C945D1F103FD1F118F4103E50F473
+:10334000A2C0123F09F464C008F44DC0133F09F451
+:1033500074C099C01F708B2D8F710023A1F00E9443
+:10336000F61E812F26960FB6F894DEBF0FBECDBF96
+:10337000DF91CF911F910F91FF90EF90DF90CF9051
+:10338000BF900C9484170E94171F812F26960FB6AA
+:10339000F894DEBF0FBECDBFDF91CF911F910F918B
+:1033A000FF90EF90DF90CF90BF900C948B1700238D
+:1033B000B1F0253008F0BFC08B2D8F7126960FB667
+:1033C000F894DEBF0FBECDBFDF91CF911F910F915B
+:1033D000FF90EF90DF90CF90BF900C943C1F263071
+:1033E00008F0A9C0E9CF0023A9F08B2D8F71269694
+:1033F0000FB6F894DEBF0FBECDBFDF91CF911F9106
+:103400000F91FF90EF90DF90CF90BF900C94F61E3D
+:10341000002359F38B2D8F7126960FB6F894DEBFDB
+:103420000FBECDBFDF91CF911F910F91FF90EF9015
+:10343000DF90CF90BF900C94171F002399F08B2D35
+:103440008F7126960FB6F894DEBF0FBECDBFDF9109
+:10345000CF911F910F91FF90EF90DF90CF90BF9091
+:103460000C94E11E26960FB6F894DEBF0FBECDBFBA
+:10347000DF91CF911F910F91FF90EF90DF90CF9050
+:10348000BF900C94D71E0023A9F0222309F4ADCFDE
+:10349000812F26960FB6F894DEBF0FBECDBFDF9109
+:1034A000CF911F910F91FF90EF90DF90CF90BF9041
+:1034B0000C946D16222309F4ADCF812F26960FB6FA
+:1034C000F894DEBF0FBECDBFDF91CF911F910F915A
+:1034D000FF90EF90DF90CF90BF900C9435174B2D5D
+:1034E0004F70612FC7010E94F40726960FB6F8941B
+:1034F000DEBF0FBECDBFDF91CF911F910F91FF9027
+:10350000EF90DF90CF90BF900C94FB1D4B2D4F7030
+:10351000612FC70126960FB6F894DEBF0FBECDBF50
+:10352000DF91CF911F910F91FF90EF90DF90CF909F
+:10353000BF900C94B70B26960FB6F894DEBF0FBE63
+:10354000CDBFDF91CF911F910F91FF90EF90DF9052
+:10355000CF90BF9008950E94B8200E948D200E94B5
+:10356000D2200E9498260E94652580E090E00E946B
+:103570003F1580E090E00C9455150E94A8200C9413
+:10358000AB1A0E94B21F292F22952F7030E02C30E9
+:1035900031054CF42A3031056CF4225031092230C7
+:1035A000310588F407C02C30310549F02F30310542
+:1035B00031F009C0803E48F0803F29F406C093FBFB
+:1035C000882780F9089580E0089581E00895CF93D9
+:1035D000DF9300D000D01F92CDB7DEB70F900F90D1
+:1035E0000F900F900F90DF91CF910895CF93DF93BD
+:1035F00000D000D000D0CDB7DEB726960FB6F89435
+:10360000DEBF0FBECDBFDF91CF9108951F93CF9343
+:10361000DF93C091840116E080918501C81799F06D
+:10362000D0E01C9FF0011D9FF00D1124EA57FE4FC2
+:103630004081518162817381848195810E94F61A53
+:103640002196C770E9CFDF91CF911F9108954091E6
+:10365000B6015091B7016091B8017091B9018091A4
+:10366000BA019091BB010C94F61A8091BB0182952E
+:103670008F7009F054C08091B801882309F44FC0BD
+:1036800080918401A09185016091B6017091B7018C
+:103690004091B9015091BA01B6E08A1709F43FC0D0
+:1036A00090E041155105C1F17F3F11F46F3FA1F149
+:1036B000B89FF001B99FF00D1124EA57FE4F218108
+:1036C00072132AC02081621327C02281211124C0D5
+:1036D000238134812417350710F421503109241B2C
+:1036E000350B283C3105C0F42091BB012F702061BF
+:1036F0002093BB0126E0289FF001299FF00D1124A3
+:10370000E557FE4F80818F708061808386EB91E06A
+:103710000E9492170C94061B01968770BECF0895E5
+:10372000CF92DF92EF92FF920F931F93CF93DF938D
+:10373000CDB7DEB762970FB6F894DEBF0FBECDBF30
+:103740008C0185E0F801DE011D9601900D928A95AD
+:10375000E1F7D8014C9111965C91119712966C91FA
+:1037600012971396CD90DC9014973091B60170911A
+:10377000B7018091B9019091BA01009709F46BC12A
+:103780007F3F19F43F3F09F466C1E090B801EE2095
+:1037900009F4C0C02091BB01C816D90628F0F60173
+:1037A000E81BF90BCF0104C0809590958C0D9D1DF1
+:1037B000FF24F394883C910578F0F12C207F09F0E8
+:1037C000C6C07C2DD98AC88A89890E94E71A86EBEF
+:1037D00091E00E949217B1C0822F807F09F046C00D
+:1037E000751314C0341312C0611110C02F70206102
+:1037F0002093BB010E94271B86EB91E00E94921749
+:103800008091BB01D80115968C932EC0CD2819F15B
+:103810005F3F11F44F3FF9F0F62E61111CC080910B
+:1038200084012091850136E0821709F45AC090E0A6
+:10383000389FF001399FF00D1124EA57FE4F718136
+:10384000571306C07081471303C07281711103C002
+:1038500001968770E9CFF62E662309F418C180918E
+:10386000BB0181608093BB01F12C11C1751308C0AD
+:10387000341306C0611104C08091BB01D801C3C0DC
+:103880004D875E878D859E856A8B0E94C11A6A89E5
+:103890008823E1F16623D1F12091BB01822F82952B
+:1038A0008F7090E0029774F08091B6019091B7010B
+:1038B00098878F831986DB86CA862C87CE01079668
+:1038C0000E94921786E0F801A6EBB1E001900D92FC
+:1038D0008A95E1F70E94351B0E94271BFF24F39471
+:1038E000D6C04D875E878D859E850E94B21F292F89
+:1038F00022952F7030E0223031050CF0BCC09F7053
+:1039000009F0B6C0805E883008F4C1C0C8010E94CA
+:103910009217E4CFC816D90608F453C0F601E81B85
+:10392000F90BCF01883C910508F450C0F12C7C2D97
+:10393000D98AC88A89890E94E71AE6EBF1E086E015
+:10394000DF011D928A95E9F70E94271BA0C075131D
+:1039500014C0341312C0611110C08091BB01F80172
+:103960008583C8010E94921786E0E6EBF1E0DF0153
+:103970001D928A95E9F7FE2C8AC04D875E878D855A
+:103980009E856A8B0E94C11A6A89882309F4BECF7A
+:10399000662309F4BBCF2091BB01822F82958F70E3
+:1039A00090E002970CF48ECF8091B6019091B70110
+:1039B0009A8389831B82DD82CC822E83CE0101967D
+:1039C0007FCF809590958C0D9D1DACCFF62E6623F4
+:1039D00009F49CCF75132EC034132CC02091BB0169
+:1039E00020FD1FC0822F82958F70D9F0D8011596C7
+:1039F0002C9315978F3049F08F5F982F9295907F79
+:103A0000822F8F70892B15968C93C8010E94921774
+:103A100086E0F801A6EBB1E001900D928A95E1F7FE
+:103A200093CF86E0F801A6EBB1E001900D928A9564
+:103A3000E1F72DC04D875E878D859E850E94C11A56
+:103A4000811140CF8091BB0181608093BB01C8018F
+:103A50000E9492171CC0662309F458CF4D875E87D9
+:103A60008D859E850E94C11A882309F44FCF2ACFE5
+:103A7000811148CF0CC0243031050CF047CF9F7026
+:103A800009F440CFF8019581907F09F03BCF8F2D4D
+:103A900062960FB6F894DEBF0FBECDBFDF91CF9117
+:103AA0001F910F91FF90EF90DF90CF9008951F939B
+:103AB000CF93DF93CDB7DEB72C970FB6F894DEBF68
+:103AC0000FBECDBF4F83588769877A878B879C87C6
+:103AD000CE0107960E94901B882369F08F819885FC
+:103AE0002A853B85232BF1F19F3F09F063C08F3F6F
+:103AF00009F060C037C086E0FE013796DE011196FE
+:103B000001900D928A95E1F76F817885EA85FB85B2
+:103B1000309741F17F3F11F46F3F21F120918501F2
+:103B200030E0C9010196877099274091840150E0E7
+:103B30008417950709F447C069837A83FD83EC8372
+:103B400096E0929FD001939FB00D1124AA57BE4FCB
+:103B5000FE01319601900D929A95E1F780938501CF
+:103B60000E94061B16E080918401909185018917BF
+:103B7000C1F1189FC00111248A579E4F0E94901BCB
+:103B8000882379F1E09184011E9FF0011124EA5706
+:103B9000FE4F4081518162817381848195810E94B1
+:103BA000F61A8091840190E001968770992780939E
+:103BB0008401D9CF4F81588569857A858B859C850D
+:103BC0000E94F61ACFCF0E94BD1A10928501109262
+:103BD0008401E6EBF1E086E0DF011D928A95E9F7CA
+:103BE000C1CF2C960FB6F894DEBF0FBECDBFDF91CC
+:103BF000CF911F910895EF92FF920F931F93CF9350
+:103C0000DF938C01892B09F46CC0F12CEE24E39432
+:103C1000E8012196F8018491843740F4843008F05B
+:103C200051C0813081F0823019F15BC0853709F4D1
+:103C300044C0A8F19CE7980F903708F052C08F77E6
+:103C40000E94351741C00E5F1F4FFE01C49180E2F4
+:103C50008C0F883048F4C7708E2D01C0880FCA952C
+:103C6000EAF70E94AB2014C08C2F0E946D162DC065
+:103C70000E5F1F4FFE01C49180E28C0F883058F414
+:103C8000C7708E2D01C0880FCA95EAF70E94B12037
+:103C90000E94D2201AC08C2F0E94351716C00E5FCA
+:103CA0001F4FFE01C491CC2381F08FE99FE0019763
+:103CB000F1F700C00000C150F6CF0E5F1F4FFE01AC
+:103CC000F49003C00E946D168E018F2D882309F495
+:103CD0009FCFEFE9FFE03197F1F700C0000081507E
+:103CE000F5CFDF91CF911F910F91FF90EF90089545
+:103CF00008956093C0017093C1018093C2019093B5
+:103D0000C3010C94AB1A0F931F930091C001109143
+:103D1000C1012091C2013091C301DC01CB01802B94
+:103D2000912BA22BB32B8093C0019093C101A09340
+:103D3000C201B093C3011F910F910C94AB1A0F9362
+:103D40001F930091C0011091C1012091C2013091D7
+:103D5000C301DC01CB0180239123A223B3238093F1
+:103D6000C0019093C101A093C201B093C3011F9100
+:103D70000F910C94AB1A0F931F930091C0011091F7
+:103D8000C1012091C2013091C301DC01CB01802728
+:103D90009127A227B3278093C0019093C101A093DC
+:103DA000C201B093C3011F910F910C94AB1A1092F2
+:103DB000BC011092BD011092BE011092BF010C9483
+:103DC000AB1A41E050E060E070E004C0440F551FC2
+:103DD000661F771F8A95D2F74093BC015093BD01AF
+:103DE0006093BE017093BF010C94AB1A41E050E0A8
+:103DF00060E070E004C0440F551F661F771F8A956E
+:103E0000D2F78091BC019091BD01A091BE01B0910B
+:103E1000BF01482B592B6A2B7B2B4093BC0150933D
+:103E2000BD016093BE017093BF010C94AB1A41E0D9
+:103E300050E060E070E004C0440F551F661F771F1C
+:103E40008A95D2F740955095609570958091BC0108
+:103E50009091BD01A091BE01B091BF0148235923AB
+:103E60006A237B234093BC015093BD016093BE0144
+:103E70007093BF010C94AB1A41E050E060E070E039
+:103E800004C0440F551F661F771F8A95D2F7809193
+:103E9000BC019091BD01A091BE01B091BF01482726
+:103EA00059276A277B274093BC015093BD0160933B
+:103EB000BE017093BF010C94AB1A0F931F93009136
+:103EC000BC011091BD012091BE013091BF01DC0108
+:103ED000CB01802B912BA22BB32B8093BC01909311
+:103EE000BD01A093BE01B093BF011F910F910C942F
+:103EF000AB1A0F931F930091BC011091BD0120914B
+:103F0000BE013091BF01DC01CB0180239123A223AC
+:103F1000B3238093BC019093BD01A093BE01B093E5
+:103F2000BF011F910F910C94AB1A0F931F93009137
+:103F3000BC011091BD012091BE013091BF01DC0197
+:103F4000CB0180279127A227B3278093BC019093B0
+:103F5000BD01A093BE01B093BF011F910F910C94BE
+:103F6000AB1A0895CF92DF92EF92FF920F931F93B7
+:103F7000CF93DF938C01C090C001D090C101E0903D
+:103F8000C201F090C3014091BC015091BD0160910C
+:103F9000BE017091BF01C42AD52AE62AF72ACFE1D3
+:103FA000D0E0D701C6010C2E04C0B695A795979511
+:103FB00087950A94D2F780FF07C0B8018C2F0E9422
+:103FC000DA0B8130910531F4219758F7B80180E080
+:103FD0000E94DA0BDF91CF911F910F91FF90EF902C
+:103FE000DF90CF90089590910C01992321F090914A
+:103FF0000D01911109C020910E0130910F01F901BD
+:1040000032969FEF40E030C0982F96959695969502
+:104010009F30A0F4E0910E01F0910F01E90FF11D26
+:10402000877021E030E0A90102C0440F551F8A9536
+:10403000E2F7CA019181892B818308959091D7017C
+:1040400090FF23C01F928F9387ED95E09F938F93EE
+:104050000E94EB070F900F900F900F9008959F3FD5
+:1040600039F04F5F4E3041F051915813F8CF0DC0E9
+:104070005111F7CF942FF5CF9F3F39F0F901E90F98
+:10408000F11D97FDFA9582830895089590910C0192
+:10409000992321F090910D01911109C020910E01F9
+:1040A00030910F01F9013296205F3F4F30C0982FB9
+:1040B0009695969596959F30A8F4E0910E01F09113
+:1040C0000F01E90FF11D877021E030E0A90102C066
+:1040D000440F551F8A95E2F7CA0180959181892383
+:1040E000818308959091D70190FF16C01F928F93FE
+:1040F00089EB95E09F938F930E94EB070F900F90B1
+:104100000F900F9008953196E217F30729F09081F0
+:104110009813F9CF1082F7CF089581E090E0E091F5
+:104120000E01F0910F01E80FF91F10820196803106
+:104130009105A9F708959091D601892B8093D60116
+:10414000089580959091D60189238093D601089592
+:104150001092D60108959091D501892B8093D501B5
+:10416000089580959091D50189238093D501089574
+:104170001092D50108958093C40108951092C4014E
+:10418000089580910E0190910F01FC0131969C01E0
+:10419000205F3F4F80E0919191118F5FE217F3070D
+:1041A000D1F70895E0910E01F0910F018091D601B1
+:1041B0008083E0910E01F0910F0190818091D501F3
+:1041C000892B80838091C401882361F0E0910E01E6
+:1041D000F0910F019081892B80830E94C120811171
+:1041E0001092C40180910E0190910F010C94EB1478
+:1041F00090933B0180933A010895CF92DF92EF9222
+:10420000FF926C01EE24FF24C114D104E104F104F7
+:1042100021F0C701B60120E101C020E0C72ED82E51
+:10422000E92EFF24C114D104E104F10419F0285F40
+:10423000C701B6016B017C0154E0F694E794D79472
+:10424000C7945A95D1F7C114D104E104F10419F0CF
+:104250002C5FC701B6016B017C0142E0F694E79444
+:10426000D794C7944A95D1F7C114D104E104F1045D
+:1042700019F02E5FC701B601DC01CB01B695A795F9
+:1042800097958795892B8A2B8B2B09F02F5F822F8F
+:10429000FF90EF90DF90CF9008958295982F9C7CAF
+:1042A000392F36953695282F237344E0249FC0017B
+:1042B0001124932F982B292F2A7A2695892F8575DB
+:1042C000880F822B08951F93CF93DF931F92CDB752
+:1042D000DEB799830E944D21182F9981892F0E9462
+:1042E0004D21212F30E0322F2227A901482BCA016E
+:1042F0000F90DF91CF911F9108958091F00184304C
+:1043000009F11092D80120E488E190E00FB6F8940A
+:10431000A895809360000FBE2093600083B7817FD3
+:10432000846083BF83B7816083BF7894889583B7A7
+:104330008E7F83BF88E10FB6F8948093600010925F
+:1043400060000FBE089508950895CF930E94A321A1
+:104350000E947F090E94A421C0E08C2F0E94AB0A1A
+:10436000811104C0CF5FCE30C1F701C081E0CF9191
+:1043700008950C94BD1A82E084BD93E095BD9AEF38
+:1043800097BD80936E0008952FB7F8948091D9015E
+:104390009091DA01A091DB01B091DC012FBF08956B
+:1043A000CF92DF92EF92FF920F931F932FB7F89463
+:1043B0004091D9015091DA016091DB017091DC01EB
+:1043C0002FBF6A017B01EE24FF248C0120E030E046
+:1043D000C016D106E206F30610F4415051099A01C5
+:1043E000281B390BC9011F910F91FF90EF90DF90AF
+:1043F000CF9008951F920F920FB60F9211248F93B2
+:104400009F93AF93BF938091D9019091DA01A091CE
+:10441000DB01B091DC010196A11DB11D8093D90192
+:104420009093DA01A093DB01B093DC01BF91AF91CF
+:104430009F918F910F900FBE0F901F9018950E9423
+:10444000DD11F8942FEF87EA91E6215080409040EB
+:10445000E1F700C0000087E090EBDC018093F901F8
+:104460009093FA01A093FB01B093FC019CE088E1DA
+:104470000FB6F894A895809360000FBE90936000EB
+:10448000FFCFEF92FF920F931F93CF93DF93D82F1D
+:10449000C0E08C2F0E94AB0A00E010E0E82EF12C67
+:1044A000C701002E02C0959587950A94E2F780FD1A
+:1044B00006C00F5F1F4F0630110591F709C0602F2E
+:1044C0007C2F80E00E94B80BD813F3CF81E004C0AA
+:1044D000CF5FCE30F1F680E0DF91CF911F910F9149
+:1044E000FF90EF900895CF93C82F8CE20E94412255
+:1044F000882321F08C2FCF910C94412280E0CF9122
+:104500000895CF930E94D023811102C00E94B62348
+:104510008CEF95E00E945207C5E6C15049F00E9419
+:104520007F098FE39CE90197F1F700C00000F5CF08
+:1045300085EF95E00E94520789E20E947322811163
+:1045400013C18AE20E94732281110E94B62385E082
+:104550000E94732281110E941F220E94DB238093FC
+:10456000D70187E00E9473228823A9F18BE10E9482
+:104570007322882351F08091D70181FB222720F9F3
+:1045800091E0922790FB81F90EC08EE00E94732289
+:10459000882361F08091D70182FB222720F991E0E6
+:1045A000922790FB82F98093D70115C080E10E9489
+:1045B00073229091D701882341F093FB222720F9A1
+:1045C00081E0822780FB93F904C0892F809580FBCE
+:1045D00090F99093D7018091D7010E94DF230E9428
+:1045E000ED238093EA0180EE0E947322882341F03C
+:1045F0008091EA01982F909590FB80F98093EA01D1
+:1046000089E30E947322882359F08091EA0181FB9B
+:10461000222720F991E0922790FB81F98093EA010B
+:1046200082EE0E947322882359F08091EA0182FB76
+:10463000222720F991E0922790FB82F98093EA01EA
+:1046400086EE0E947322882359F08091EA0183FB51
+:10465000222720F991E0922790FB83F98093EA01C9
+:1046600083EE0E947322882359F08091EA0184FB33
+:10467000222720F991E0922790FB84F98093EA01A8
+:1046800085E30E947322882359F08091EA0185FB1B
+:10469000222720F991E0922790FB85F98093EA0187
+:1046A00081E30E947322882359F08091EA0186FBFE
+:1046B000222720F991E0922790FB86F98093EA0166
+:1046C00081E10E947322882359F08091EA0187FBDF
+:1046D000222720F991E0922790FB87F98093EA0145
+:1046E0008091EA010E94F1238091EA0187FB8827EB
+:1046F00080F980930D0187E20E947322C82F8EE11A
+:104700000E9473228111C2608FE10E947322811185
+:10471000C46080E20E9473228111C86081E20E941D
+:1047200073228111C06182E20E9473228111C062F2
+:1047300083E20E9473228111C06484E20E9473228A
+:10474000882311F0C06802C0CC2329F08C2F0E946E
+:10475000E8236C2F03C00E94E423682F70E080E000
+:1047600090E0CF910C94791ECF9108956DEE7EEF7D
+:1047700080E090E00E94B92D60E082E090E00E942D
+:10478000AB2D60E083E090E00E94AB2D60E084E020
+:1047900090E00E94AB2D60E085E090E00C94AB2DA2
+:1047A00080E090E00E94A52D21E08D3E9E4F09F013
+:1047B00020E0822F089582E090E00C949D2D682FD8
+:1047C00082E090E00C94AB2D83E090E00C949D2D62
+:1047D000682F83E090E00C94AB2D84E090E00C9483
+:1047E0009D2D682F84E090E00C94AB2D8091DF012B
+:1047F00080FF0BC06091130185E0689FB001112418
+:1048000075956795759567952BC081FF09C0609177
+:10481000130185E0689FB00111247595679520C04C
+:1048200082FF07C06091130185E0689FB0011124E9
+:1048300017C09091E0019923D1F060911201961771
+:1048400088F72091130185E0289F90011124929F01
+:10485000A001939F500D112470E0CA010E946F2D9A
+:104860006038710540F46115710539F002C065E0EA
+:1048700070E0862F08958FE7089581E00895809174
+:10488000DF0180FF08C06091110170E075956795A8
+:104890007595679521C081FF06C06091110170E098
+:1048A0007595679519C082FF04C06091110170E091
+:1048B00010C09091E0019923C1F06091100196170A
+:1048C000A0F780911101899FC001112470E00E941E
+:1048D0006F2D6038710528F46115710521F0862F60
+:1048E00008958FE7089581E0089561E070E0F4CFC6
+:1048F000803F21F40E94F623819504C0813F29F472
+:104900000E94F6238093E3010895823F21F40E94E0
+:10491000F623819504C0833F29F40E94F6238093F7
+:10492000E2010895893F19F40E943F2405C08A3F9F
+:1049300031F40E943F2481958093E40108958B3FD8
+:1049400021F40E943F24819504C08C3F29F40E94E9
+:104950003F248093E5010895843F21F48091E10193
+:10496000816017C0853F21F48091E101826011C010
+:10497000863F21F48091E10184600BC0873F21F4E0
+:104980008091E101886005C0883F31F48091E101A8
+:1049900080618093E10108958D3F21F48091DF01D2
+:1049A00081600BC08E3F21F48091DF01826005C0E1
+:1049B0008F3F29F48091DF0184608093DF010895A7
+:1049C000803F39F48091E30187FF6CC01092E301CE
+:1049D00069C0813F29F48091E3011816BCF362C0DD
+:1049E0009091E201823F29F497FF5CC01092E201AE
+:1049F00059C0833F19F41916CCF354C0893F41F4D0
+:104A00008091E40118160CF04DC01092E4014AC0E8
+:104A10008A3F29F48091E40187FF44C0F6CF8B3FA1
+:104A200039F48091E50187FF3DC01092E5013AC05D
+:104A30008C3F29F48091E5011816BCF333C0843F04
+:104A400021F48091E1018E7F17C0853F21F4809190
+:104A5000E1018D7F11C0863F21F48091E1018B7FC0
+:104A60000BC0873F21F48091E101877F05C0883F1B
+:104A700031F48091E1018F7E8093E10113C08D3F7D
+:104A800021F48091DF018E7F0BC08E3F21F4809155
+:104A9000DF018D7F05C08F3F29F48091DF018B7F7F
+:104AA0008093DF018091E20181110EC08091E301CA
+:104AB00081110AC08091E401811106C08091E50155
+:104AC000811102C01092E00108958091D70183FF07
+:104AD0007EC088E396E00E9452078091E1011F9218
+:104AE0008F9383E396E09F938F930E94EB0781E37C
+:104AF00096E00E9452078091E201282F332727FD7C
+:104B000030953F938F938EE296E09F938F930E9410
+:104B1000EB078CE296E00E9452078091E301282F78
+:104B2000332727FD30953F938F9389E296E09F933B
+:104B30008F930E94EB0787E296E00E9452078091D4
+:104B4000E401282F332727FD30953F938F9384E28C
+:104B500096E09F938F930E94EB0782E296E00E947B
+:104B600052078091E501282F332727FD30953F9389
+:104B70008F938FE196E09F938F930E94EB078CE1D8
+:104B800096E00E9452078091E0011F928F9389E185
+:104B900096E09F938F930E94EB0787E196E00E9437
+:104BA00052078091DF011F928F9384E196E09F93DB
+:104BB0008F930E94EB0781E196E00E9452078DB728
+:104BC0009EB74C960FB6F8949EBF0FBE8DBF81EE78
+:104BD00091E00E9434150E94C4219093DE018093DD
+:104BE000DD0108951F93CF93DF938091DD019091B4
+:104BF000DE010E94D021AC019091E001992321F0C7
+:104C00002091140130E006C0209115018AE0289F10
+:104C1000900111244217530708F486C08091E201E5
+:104C2000C091E301D091E4011091E501811107C029
+:104C3000C11176C0D11174C0111172C075C09F3FEF
+:104C400019F09F5F9093E001181624F40E94F62358
+:104C50008093E2018091E20187FF05C00E94F62364
+:104C600081958093E2011C1624F40E94F623809320
+:104C7000E3018091E30187FF05C00E94F62381953F
+:104C80008093E3016091E201662339F1C091E30171
+:104C9000CC2319F1772767FD7095872F972F0E94F6
+:104CA000742C23E333E343E35FE30E94D82C0E9498
+:104CB000412C6093E2016C2F772767FD7095872F59
+:104CC000972F0E94742C23E333E343E35FE30E94B6
+:104CD000D82C0E94412C6093E3011D1624F40E94FD
+:104CE0003F248093E4018091E40187FF05C00E9486
+:104CF0003F2481958093E401111624F40E943F24FF
+:104D00008093E5018091E50187FF05C00E943F2463
+:104D100081958093E501DF91CF911F910C946525DA
+:104D20009F3F09F08ECF96CFDF91CF911F910895CD
+:104D3000E1EEF1E085E0DF011D928A95E9F710923E
+:104D4000E0011092DF0108958BE598E00E94520780
+:104D50001F9281E08F931F9285E08F938DE098E002
+:104D60009F938F930E94EB070F900F900F900F90DF
+:104D70000F900F9008958330E9F128F4813061F0AD
+:104D8000823009F10895853009F462C008F449C001
+:104D9000863009F474C0089580911501262F30E003
+:104DA000280F311D2F3F310524F4680F6093150142
+:104DB00003C08FEF80931501809115011F928F938F
+:104DC00086E497E072C080911401262F30E0280F0E
+:104DD000311D2F3F310524F4680F6093140103C087
+:104DE0008FEF80931401809114011F928F9384E3BD
+:104DF00097E05BC080911301262F30E0280F311D12
+:104E00002F3F310524F4680F6093130103C08FEF27
+:104E100080931301809113011F928F9381E297E099
+:104E200044C080911201262F30E0280F311D2F3F02
+:104E3000310524F4680F6093120103C08FEF809353
+:104E40001201809112011F928F938CE097E02DC088
+:104E500080911101262F30E0280F311D2F3F3105A1
+:104E600024F4680F6093110103C08FEF8093110148
+:104E7000809111011F928F9383EF96E016C080916D
+:104E80001001262F30E0280F311D2F3F310524F46B
+:104E9000680F6093100103C08FEF80931001809121
+:104EA00010011F928F9388ED96E09F938F930E943D
+:104EB000EB070F900F900F900F900895833081F1C2
+:104EC00028F4813059F08230D1F00895853009F40A
+:104ED00049C0B8F1863009F456C008958091150193
+:104EE000681720F4861B8093150102C010921501EB
+:104EF000809115011F928F9389EC96E054C08091A8
+:104F00001401681720F4861B8093140102C01092CC
+:104F10001401809114011F928F9387EB96E043C098
+:104F200080911301681720F4861B8093130102C03F
+:104F300010921301809113011F928F9384EA96E0DF
+:104F400032C080911201681720F4861B80931201F1
+:104F500002C010921201809112011F928F938FE86C
+:104F600096E021C080911101681720F4861B809380
+:104F7000110102C010921101809111011F928F93B3
+:104F800086E796E010C080911001681720F4861B18
+:104F90008093100102C010921001809110011F92A5
+:104FA0008F938BE596E09F938F930E94EB070F9072
+:104FB0000F900F900F900895CF93C82F1F928F934B
+:104FC00080E699E09F938F930E94EB0781E090E049
+:104FD000A0E0B0E0BC01CD0104C0660F771F881FC0
+:104FE000991FCA95D2F70E94791E0F900F900F90CB
+:104FF0000F90CF910C94BD1ACF938D3109F465C0F9
+:10500000B0F58E3009F4CCC100F5873009F49BC1AE
+:10501000A8F4863009F06DC28091D701817F8E7F20
+:105020008093D70185E699E00E94520781EA9DE0CE
+:105030000E94520781E08093E70180C1883009F423
+:105040004FC08B3009F47CC154C2863109F4F0C1E1
+:1050500038F4803109F4B8C1813109F430C249C251
+:10506000893109F4CEC18B3109F486C142C285333E
+:1050700009F437C248F4873209F433C208F433C262
+:10508000893209F42EC235C2833438F48A3308F0E9
+:105090002CC2883309F454C12CC2833409F421C2D0
+:1050A000883409F026C20E94BD1A80E99DE00E9462
+:1050B00052079FEF23ED80E3915020408040E1F7BD
+:1050C00000C000000E941F2239C180EB9DE00E94B9
+:1050D00052070E94FB2B0E94DF140E94110D2EC16B
+:1050E00085EA9DE00E94520786E79BE00E945207F6
+:1050F0000E94E4231F928F9383E79BE09F938F93FB
+:105100000E94EB0781E79BE00E9452070E94DB238D
+:10511000C82F8EE59BE00E9452071F92CF9389E52E
+:105120009BE09F938F930E94EB0787E59BE00E9493
+:1051300052078DE49BE00E9452078C2F81701F92D2
+:105140008F938AE49BE09F938F930E94EB0788E400
+:105150009BE00E9452078EE39BE00E945207C1FB36
+:10516000882780F91F928F938BE39BE09F938F9307
+:105170000E94EB0789E39BE00E9452078DE29BE0CF
+:105180000E945207C2FB882780F91F928F938AE200
+:105190009BE09F938F930E94EB0788E29BE00E9425
+:1051A00052078FE19BE00E945207C3FBCC27C0F956
+:1051B0001F92CF938CE19BE09F938F930E94EB070C
+:1051C0008AE19BE00E9452070E94ED23C82F86E0EF
+:1051D0009BE00E9452071F92CF9381E09BE09F9338
+:1051E0008F930E94EB078FEF9AE00E94520786EEA2
+:1051F0009AE00E9452078C2F81701F928F9383EE4A
+:105200009AE09F938F930E94EB078DB79EB780968D
+:105210000FB6F8949EBF0FBE8DBF81EE9AE00E943C
+:1052200052078AEC9AE00E945207C1FB882780F956
+:105230001F928F9387EC9AE09F938F930E94EB07C6
+:1052400085EC9AE00E94520783EB9AE00E94520795
+:10525000C2FB882780F91F928F9380EB9AE09F937F
+:105260008F930E94EB078EEA9AE00E9452078CE926
+:105270009AE00E945207C3FB882780F91F928F9300
+:1052800089E99AE09F938F930E94EB0787E99AE060
+:105290000E9452078DE89AE00E945207C4FB8827BB
+:1052A00080F91F928F938AE89AE09F938F930E94D0
+:1052B000EB0788E89AE00E94520786E79AE00E948E
+:1052C0005207C5FB882780F91F928F9383E79AE0E6
+:1052D0009F938F930E94EB0781E79AE00E94520709
+:1052E00085E59AE00E945207C6FB882780F91F9245
+:1052F0008F9382E59AE09F938F930E94EB0780E55E
+:105300009AE00E94520788E49AE00E945207C7FB85
+:10531000CC27C0F91F92CF9385E49AE09F938F9397
+:105320000E94EB0783E49AE00E9452078DB79EB774
+:105330004C960FB6F8949EBF0FBE8DBFC1E0DEC085
+:105340008CE899E05BC08091D701C82FC17080FFC5
+:1053500009C083E89DE00E9452078091D701817FB8
+:105360008E7F47C087E79DE00E9452078091D7015A
+:1053700081608093D701E2CF9091D70191FBCC2738
+:10538000C0F981E0C827892FC0FB81F98093D7013C
+:10539000CC2319F08AE69DE027C08CE59DE02EC065
+:1053A0009091D70192FBCC27C0F981E0C827892FC3
+:1053B000C0FB82F98093D701CC2319F08DE49DE0E6
+:1053C00013C08DE39DE01AC09091D70193FBCC27C9
+:1053D000C0F981E0C827892FC0FB83F98093D701EA
+:1053E000CC2351F081E39DE00E9452078091D701C8
+:1053F00081608093D70182C084E29DE00E945207C1
+:105400009DCF85E19DE00E94520789EE9CE00E94BD
+:1054100052078CEA9CE00E94520785E89CE00E94BB
+:10542000520781E49CE00E94520786E19CE0E6CFAF
+:1054300088E09CE00E9452070E94DF141F928F9325
+:105440008EEE9BE09F938F930E94EB0780910C015F
+:105450001F928F9387ED9BE09F938F930E94EB07A2
+:1054600080916E011F928F9384EC9BE09F938F93AA
+:105470000E94EB0780910D011F928F9381EB9BE0BF
+:105480009F938F930E94EB078091D9019091DA014D
+:10549000A091DB01B091DC01BF93AF939F938F93F9
+:1054A0008DE99BE09F938F930E94EB078DB79EB78A
+:1054B00046960FB6F8949EBF0FBE8DBF3FCF0E9499
+:1054C000BD1AC0910D0181E0C827C0930D01CC2306
+:1054D00029F083E99BE00E94520710C088E89BE016
+:1054E0008DCF80E003C08D5101C089530E94DC271D
+:1054F00025CF86E89BE00E945207C0E08C2FCF9119
+:10550000089580E0089580E00895CF93C82F80919A
+:10551000E701813081F020F0823009F44FC045C1AD
+:10552000E0910E01F0910F018081813169F08232AA
+:1055300009F03DC109C0E0910E01F0910F01808199
+:10554000813111F0823261F48C2F0E94812A811105
+:1055500004C08C2F0E94FC272FC081E090E02CC05B
+:105560008C2F0E94832A811126C0C431E1F070F48F
+:10557000CB3081F0C031D1F40E94A42688E599E0B7
+:105580000E94520782E08093E70115C0C93259F0AA
+:10559000C83361F485E699E00E9452078CE599E0F2
+:1055A0000E94520708C01092E70103C186E599E006
+:1055B0000E945207FEC081E08170FDC0C43220F518
+:1055C000CE3108F0C0C0CB3099F1C8F4C73009F033
+:1055D000D2C08AE08093150194E19093140193E086
+:1055E000909313018093120188E08093110188E267
+:1055F000809310018CEF97E00E945207BFC0C33127
+:1056000049F1C431C1F0B7C0CB3409F4A9C028F4C2
+:10561000C93289F0C83361F0AEC0C13509F49EC00B
+:10562000C23509F499C0CE3409F0A5C06AE09EC025
+:105630000E94A426A3C08091E601882319F010924D
+:10564000E6019CC089E098E00E94520781E08093C7
+:10565000E701B1C083EE97E00E94520781ED97E029
+:105660000E945207809115011F928F938EEC97E054
+:105670009F938F930E94EB078CEC97E00E94520758
+:105680008AEB97E00E945207809114011F928F933A
+:1056900087EB97E09F938F930E94EB0785EB97E052
+:1056A0000E94520786EA97E00E94520780911301F8
+:1056B0001F928F9383EA97E09F938F930E94EB074B
+:1056C00081EA97E00E94520780E997E00E94520722
+:1056D000809112011F928F938DE897E09F938F9393
+:1056E0000E94EB078BE897E00E94520786E797E05D
+:1056F0000E945207809111011F928F9383E797E0D8
+:105700009F938F930E94EB0781E797E00E945207D7
+:105710008AE597E00E945207809110011F928F93B3
+:1057200087E597E09F938F930E94EB0785E597E0CD
+:105730000E9452078DB79EB748960FB6F8949EBF49
+:105740000FBE8DBF1BC0CE51EC2FF0E0E15DFE4FD0
+:1057500080818093E60112C061E003C061E006C071
+:105760006AE08091E6010E94BB2608C08091E601B4
+:105770000E945E2703C08AEF97E013C08091E60184
+:10578000882369F01F928F9384EF97E09F938F9304
+:105790000E94EB070F900F900F900F9004C081EFC5
+:1057A00097E00E94520781E006C01092E70180E076
+:1057B00002C080E001CFCF910895E1E8F0E0808160
+:1057C000886080838081816080838FB7F89493E0C4
+:1057D0009093890090ED909388008FBF0895EFE635
+:1057E000F0E08081826080830895EFE6F0E08081C0
+:1057F0008D7F80830895EFE6F0E0908182E0892735
+:10580000808308951F920F920FB60F9211242F9349
+:105810003F934F935F936F937F938F939F93AF9338
+:10582000BF93EF93FF938091E8019091E901019676
+:105830009093E9018093E801811103C082E00E9406
+:10584000110DE091E901E695E695F0E0E054F24FA4
+:10585000E4918091E8018E1303C080E00E94110D55
+:10586000FF91EF91BF91AF919F918F917F916F9138
+:105870005F914F913F912F910F900FBE0F901F900E
+:10588000189504D06894B1118DC0089570D088F037
+:105890009F5790F0B92F9927B751A0F0D1F0660F1C
+:1058A000771F881F991F1AF0BA95C9F712C0B13037
+:1058B00081F077D0B1E0089574C0672F782F8827E2
+:1058C000B85F39F0B93FCCF3869577956795B39576
+:1058D000D9F73EF490958095709561957F4F8F4FE5
+:1058E0009F4F0895E89409C097FB3EF490958095EA
+:1058F000709561957F4F8F4F9F4F9923A9F0F92F96
+:1059000096E9BB279395F695879577956795B79513
+:10591000F111F8CFFAF4BB0F11F460FF1BC06F5FF9
+:105920007F4F8F4F9F4F16C0882311F096E911C00B
+:10593000772321F09EE8872F762F05C0662371F02C
+:1059400096E8862F70E060E02AF09A95660F771F40
+:10595000881FDAF7880F9695879597F9089557FD70
+:105960009058440F551F59F05F3F71F04795880FCD
+:1059700097FB991F61F09F3F79F087950895121664
+:1059800013061406551FF2CF4695F1DF08C0161610
+:1059900017061806991FF1CF8695710561050894C1
+:1059A0000895E894BB2766277727CB0197F90895D8
+:1059B0000BD078C069D028F06ED018F0952309F08C
+:1059C0005AC05FC01124EECFCADFA0F3959FD1F378
+:1059D000950F50E0551F629FF001729FBB27F00D9D
+:1059E000B11D639FAA27F00DB11DAA1F649F6627F2
+:1059F000B00DA11D661F829F2227B00DA11D621F41
+:105A0000739FB00DA11D621F839FA00D611D221FFA
+:105A1000749F3327A00D611D231F849F600D211DDE
+:105A2000822F762F6A2F11249F5750408AF0E1F081
+:105A300088234AF0EE0FFF1FBB1F661F771F881FCA
+:105A400091505040A9F79E3F510570F014C0AACF65
+:105A50005F3FECF3983EDCF3869577956795B795B5
+:105A6000F795E7959F5FC1F7FE2B880F911D9695DF
+:105A7000879597F9089597F99F6780E870E060E04F
+:105A800008959FEF80EC089500240A9416161706D7
+:105A900018060906089500240A941216130614061F
+:105AA00005060895092E0394000C11F4882352F082
+:105AB000BB0F40F4BF2B11F460FF04C06F5F7F4F3A
+:105AC0008F4F9F4F0895991B79E004C0991F961737
+:105AD00008F0961B881F7A95C9F78095089597FB63
+:105AE000072E16F4009407D077FD09D00E94892D67
+:105AF00007FC05D03EF4909581959F4F08957095D1
+:105B000061957F4F0895EE0FFF1F0590F491E02DF2
+:105B10000994AA1BBB1B51E107C0AA1FBB1FA617F4
+:105B2000B70710F0A61BB70B881F991F5A95A9F746
+:105B300080959095BC01CD010895F999FECF92BD55
+:105B400081BDF89A992780B50895A8E1B0E042E0B8
+:105B500050E00C94C02D262FF999FECF1FBA92BDAC
+:105B600081BD20BD0FB6F894FA9AF99A0FBE01963E
+:105B700008950E94AB2D272F0C94AC2DDC01CB0196
+:105B8000FC01F999FECF06C0F2BDE1BDF89A31964D
+:105B900000B40D9241505040B8F70895F894FFCFEB
+:105BA0002002120D030EE00DAC0D780D0101C501B0
+:105BB00028080A03140A3F4D3620394605F904C364
+:105BC00004A3046A04DD03F6030F04280448040157
+:0A5BD000020304050607080900009F
+:00000001FF
diff --git a/keyboard/hhkb_qmk/Makefile b/keyboard/hhkb_qmk/Makefile
new file mode 100644
index 000000000..8bd44100b
--- /dev/null
+++ b/keyboard/hhkb_qmk/Makefile
@@ -0,0 +1,149 @@
+#----------------------------------------------------------------------------
+# On command line:
+#
+# make all = Make software.
+#
+# make clean = Clean out built project files.
+#
+# make coff = Convert ELF to AVR COFF.
+#
+# make extcoff = Convert ELF to AVR Extended COFF.
+#
+# make program = Download the hex file to the device.
+# Please customize your programmer settings(PROGRAM_CMD)
+#
+# make teensy = Download the hex file to the device, using teensy_loader_cli.
+# (must have teensy_loader_cli installed).
+#
+# make dfu = Download the hex file to the device, using dfu-programmer (must
+# have dfu-programmer installed).
+#
+# make flip = Download the hex file to the device, using Atmel FLIP (must
+# have Atmel FLIP installed).
+#
+# make dfu-ee = Download the eeprom file to the device, using dfu-programmer
+# (must have dfu-programmer installed).
+#
+# make flip-ee = Download the eeprom file to the device, using Atmel FLIP
+# (must have Atmel FLIP installed).
+#
+# make debug = Start either simulavr or avarice as specified for debugging,
+# with avr-gdb or avr-insight as the front end for debugging.
+#
+# make filename.s = Just compile filename.c into the assembler code only.
+#
+# make filename.i = Create a preprocessed source file for use in submitting
+# bug reports to the GCC project.
+#
+# To rebuild project do "make clean" then "make all".
+#----------------------------------------------------------------------------
+
+# Target file name (without extension).
+TARGET = hhkb_qmk
+
+
+# Directory common source filess exist
+TOP_DIR = ../..
+TMK_DIR = ../../tmk_core
+
+# Directory keyboard dependent files exist
+TARGET_DIR = .
+
+# # project specific files
+SRC = hhkb_qmk.c \
+ matrix.c
+
+ifdef KEYMAP
+ SRC := keymaps/keymap_$(KEYMAP).c $(SRC)
+else
+ SRC := keymaps/keymap_default.c $(SRC)
+endif
+
+CONFIG_H = config.h
+
+# MCU name
+#MCU = at90usb1287
+MCU = atmega32u4
+
+# Processor frequency.
+# This will define a symbol, F_CPU, in all source code files equal to the
+# processor frequency in Hz. You can then use this symbol in your source code to
+# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
+# automatically to create a 32-bit value in your source code.
+#
+# This will be an integer division of F_USB below, as it is sourced by
+# F_USB after it has run through any CPU prescalers. Note that this value
+# does not *change* the processor frequency - it should merely be updated to
+# reflect the processor speed set externally so that the code can use accurate
+# software delays.
+F_CPU = 16000000
+
+
+#
+# LUFA specific
+#
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+# Input clock frequency.
+# This will define a symbol, F_USB, in all source code files equal to the
+# input clock frequency (before any prescaling is performed) in Hz. This value may
+# differ from F_CPU if prescaling is used on the latter, and is required as the
+# raw input clock is fed directly to the PLL sections of the AVR for high speed
+# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
+# at the end, this will be done automatically to create a 32-bit value in your
+# source code.
+#
+# If no clock division is performed on the input clock inside the AVR (via the
+# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
+F_USB = $(F_CPU)
+
+# Interrupt driven control endpoint task(+60)
+OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
+
+
+# Boot Section Size in *bytes*
+# Teensy halfKay 512
+# Teensy++ halfKay 1024
+# Atmel DFU loader 4096
+# LUFA bootloader 4096
+# USBaspLoader 2048
+#OPT_DEFS += -DBOOTLOADER_SIZE=4096
+
+# as per original hasu settings
+OPT_DEFS += -DBOOTLOADER_SIZE=512
+
+# Build Options
+# comment out to disable the options.
+#
+BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
+EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
+CONSOLE_ENABLE = yes # Console for debug(+400)
+COMMAND_ENABLE = yes # Commands for debug and configuration
+CUSTOM_MATRIX = yes # Custom matrix file for the HHKB
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+# SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
+# NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+# BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
+# MIDI_ENABLE = YES # MIDI controls
+# UNICODE_ENABLE = YES # Unicode
+# BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID
+
+
+# Optimize size but this may cause error "relocation truncated to fit"
+#EXTRALDFLAGS = -Wl,--relax
+
+# Search Path
+VPATH += $(TARGET_DIR)
+VPATH += $(TOP_DIR)
+VPATH += $(TMK_DIR)
+
+debug-on: EXTRAFLAGS += -DDEBUG -DDEBUG_ACTION
+debug-on: all
+
+debug-off: EXTRAFLAGS += -DNO_DEBUG -DNO_PRINT
+debug-off: OPT_DEFS := $(filter-out -DCONSOLE_ENABLE,$(OPT_DEFS))
+debug-off: all
+
+include $(TOP_DIR)/quantum/quantum.mk
diff --git a/keyboard/hhkb_qmk/README.md b/keyboard/hhkb_qmk/README.md
new file mode 100644
index 000000000..606025c41
--- /dev/null
+++ b/keyboard/hhkb_qmk/README.md
@@ -0,0 +1,180 @@
+hhkb_qmk keyboard firmware
+======================
+
+## Quantum MK Firmware
+
+You have access to a bunch of goodies! Check out the Makefile to enable/disable some of the features. Uncomment the `#` to enable them. Setting them to `no` does nothing and will only confuse future you.
+
+ BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
+ MIDI_ENABLE = yes # MIDI controls
+ # UNICODE_ENABLE = yes # Unicode support - this is commented out, just as an example. You have to use #, not //
+ BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID
+
+## Quick aliases to common actions
+
+Your keymap can include shortcuts to common operations (called "function actions" in tmk).
+
+### Switching and toggling layers
+
+`MO(layer)` - momentary switch to *layer*. As soon as you let go of the key, the layer is deactivated and you pop back out to the previous layer. When you apply this to a key, that same key must be set as `KC_TRNS` on the destination layer. Otherwise, you won't make it back to the original layer when you release the key (and you'll get a keycode sent). You can only switch to layers *above* your current layer. If you're on layer 0 and you use `MO(1)`, that will switch to layer 1 just fine. But if you include `MO(3)` on layer 5, that won't do anything for you -- because layer 3 is lower than layer 5 on the stack.
+
+`LT(layer, kc)` - momentary switch to *layer* when held, and *kc* when tapped. Like `MO()`, this only works upwards in the layer stack (`layer` must be higher than the current layer).
+
+`TG(layer)` - toggles a layer on or off. As with `MO()`, you should set this key as `KC_TRNS` in the destination layer so that tapping it again actually toggles back to the original layer. Only works upwards in the layer stack.
+
+### Fun with modifier keys
+
+* `LSFT(kc)` - applies left Shift to *kc* (keycode) - `S(kc)` is an alias
+* `RSFT(kc)` - applies right Shift to *kc*
+* `LCTL(kc)` - applies left Control to *kc*
+* `RCTL(kc)` - applies right Control to *kc*
+* `LALT(kc)` - applies left Alt to *kc*
+* `RALT(kc)` - applies right Alt to *kc*
+* `LGUI(kc)` - applies left GUI (command/win) to *kc*
+* `RGUI(kc)` - applies right GUI (command/win) to *kc*
+
+You can also chain these, like this:
+
+ LALT(LCTL(KC_DEL)) -- this makes a key that sends Alt, Control, and Delete in a single keypress.
+
+The following shortcuts automatically add `LSFT()` to keycodes to get commonly used symbols. Their long names are also available and documented in `/quantum/keymap_common.h`.
+
+ KC_TILD ~
+ KC_EXLM !
+ KC_AT @
+ KC_HASH #
+ KC_DLR $
+ KC_PERC %
+ KC_CIRC ^
+ KC_AMPR &
+ KC_ASTR *
+ KC_LPRN (
+ KC_RPRN )
+ KC_UNDS _
+ KC_PLUS +
+ KC_LCBR {
+ KC_RCBR }
+ KC_PIPE |
+ KC_COLN :
+
+`MT(mod, kc)` - is *mod* (modifier key - MOD_LCTL, MOD_LSFT) when held, and *kc* when tapped. In other words, you can have a key that sends Esc (or the letter O or whatever) when you tap it, but works as a Control key or a Shift key when you hold it down.
+
+These are the values you can use for the `mod` in `MT()` (right-hand modifiers are not available):
+
+ * MOD_LCTL
+ * MOD_LSFT
+ * MOD_LALT
+ * MOD_LGUI
+
+These can also be combined like `MOD_LCTL | MOD_LSFT` e.g. `MT(MOD_LCTL | MOD_LSFT, KC_ESC)` which would activate Control and Shift when held, and send Escape when tapped.
+
+We've added shortcuts to make common modifier/tap (mod-tap) mappings more compact:
+
+ * `CTL_T(kc)` - is LCTL when held and *kc* when tapped
+ * `SFT_T(kc)` - is LSFT when held and *kc* when tapped
+ * `ALT_T(kc)` - is LALT when held and *kc* when tapped
+ * `GUI_T(kc)` - is LGUI when held and *kc* when tapped
+ * `ALL_T(kc)` - is Hyper (all mods) when held and *kc* when tapped. To read more about what you can do with a Hyper key, see [this blog post by Brett Terpstra](http://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/)
+
+### Temporarily setting the default layer
+
+`DF(layer)` - sets default layer to *layer*. The default layer is the one at the "bottom" of the layer stack - the ultimate fallback layer. This currently does not persist over power loss. When you plug the keyboard back in, layer 0 will always be the default. It is theoretically possible to work around that, but that's not what `DF` does.
+
+### Remember: These are just aliases
+
+These functions work the same way that their `ACTION_*` functions do - they're just quick aliases. To dig into all of the tmk ACTION_* functions, please see the [TMK documentation](https://github.com/jackhumbert/qmk_firmware/blob/master/tmk_core/doc/keymap.md#2-action).
+
+Instead of using `FNx` when defining `ACTION_*` functions, you can use `F(x)` - the benefit here is being able to use more than 32 function actions (up to 4096), if you happen to need them.
+
+## Macro shortcuts: Send a whole string when pressing just one key
+
+Instead of using the `ACTION_MACRO` function, you can simply use `M(n)` to access macro *n* - *n* will get passed into the `action_get_macro` as the `id`, and you can use a switch statement to trigger it. This gets called on the keydown and keyup, so you'll need to use an if statement testing `record->event.pressed` (see keymap_default.c).
+
+```c
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) // this is the function signature -- just copy/paste it into your keymap file as it is.
+{
+ switch(id) {
+ case 0: // this would trigger when you hit a key mapped as M(0)
+ if (record->event.pressed) {
+ return MACRO( I(255), T(H), T(E), T(L), T(L), W(255), T(O), END ); // this sends the string 'hello' when the macro executes
+ }
+ break;
+ }
+ return MACRO_NONE;
+};
+```
+A macro can include the following commands:
+
+* I() change interval of stroke in milliseconds.
+* D() press key.
+* U() release key.
+* T() type key(press and release).
+* W() wait (milliseconds).
+* END end mark.
+
+So above you can see the stroke interval changed to 255ms between each keystroke, then a bunch of keys being typed, waits a while, then the macro ends.
+
+Note: Using macros to have your keyboard send passwords for you is a bad idea.
+
+### Additional keycode aliases for software-implemented layouts (Colemak, Dvorak, etc)
+
+Everything is assuming you're in Qwerty (in software) by default, but there is built-in support for using a Colemak or Dvorak layout by including this at the top of your keymap:
+
+ #include "keymap_<layout>.h"
+
+Where <layout> is "colemak" or "dvorak". After including this line, you will get access to:
+
+ * `CM_*` for all of the Colemak-equivalent characters
+ * `DV_*` for all of the Dvorak-equivalent characters
+
+These implementations assume you're using Colemak or Dvorak on your OS, not on your keyboard - this is referred to as a software-implemented layout. If your computer is in Qwerty and your keymap is in Colemak or Dvorak, this is referred to as a firmware-implemented layout, and you won't need these features.
+
+To give an example, if you're using software-implemented Colemak, and want to get an `F`, you would use `CM_F` - `KC_F` under these same circumstances would result in `T`.
+
+## Additional language support
+
+In `quantum/keymap_extras/`, you'll see various language files - these work the same way as the alternative layout ones do. Most are defined by their two letter country/language code followed by an underscore and a 4-letter abbreviation of its name. `FR_UGRV` which will result in a `ù` when using a software-implemented AZERTY layout. It's currently difficult to send such characters in just the firmware (but it's being worked on - see Unicode support).
+
+## Unicode support
+
+You can currently send 4 hex digits with your OS-specific modifier key (RALT for OSX with the "Unicode Hex Input" layout) - this is currently limited to supporting one OS at a time, and requires a recompile for switching. 8 digit hex codes are being worked on. The keycode function is `UC(n)`, where *n* is a 4 digit hexidecimal. Enable from the Makefile.
+
+## Other firmware shortcut keycodes
+
+* `RESET` - puts the MCU in DFU mode for flashing new firmware (with `make dfu`)
+* `DEBUG` - the firmware into debug mode - you'll need hid_listen to see things
+* `BL_ON` - turns the backlight on
+* `BL_OFF` - turns the backlight off
+* `BL_<n>` - sets the backlight to level *n*
+* `BL_INC` - increments the backlight level by one
+* `BL_DEC` - decrements the backlight level by one
+* `BL_TOGG` - toggles the backlight
+* `BL_STEP` - steps through the backlight levels
+
+Enable the backlight from the Makefile.
+
+## MIDI functionalty
+
+This is still a WIP, but check out `quantum/keymap_midi.c` to see what's happening. Enable from the Makefile.
+
+## Bluetooth functionality
+
+This requires [some hardware changes](https://www.reddit.com/r/MechanicalKeyboards/comments/3psx0q/the_planck_keyboard_with_bluetooth_guide_and/?ref=search_posts), but can be enabled via the Makefile. The firmware will still output characters via USB, so be aware of this when charging via a computer. It would make sense to have a switch on the Bluefruit to turn it off at will.
+
+## Building
+
+Download or clone the whole firmware and navigate to the keyboard/planck folder. Once your dev env is setup, you'll be able to type `make` to generate your .hex - you can then use `make dfu` to program your PCB once you hit the reset button.
+
+Depending on which keymap you would like to use, you will have to compile slightly differently.
+
+### Default
+To build with the default keymap, simply run `make`.
+
+### Other Keymaps
+Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create file named `keymap_<name>.c` and see keymap document (you can find in top README.md) and existent keymap files.
+
+To build the firmware binary hex file with a keymap just do `make` with `KEYMAP` option like:
+```
+$ make KEYMAP=[default|jack|<name>]
+```
+Keymaps follow the format **__keymap\_\<name\>.c__** and are stored in the `keymaps` folder.
diff --git a/keyboard/hhkb_qmk/config.h b/keyboard/hhkb_qmk/config.h
new file mode 100644
index 000000000..ee66e4457
--- /dev/null
+++ b/keyboard/hhkb_qmk/config.h
@@ -0,0 +1,71 @@
+/*
+Copyright 2012 Jun Wako <wakojun@gmail.com>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef CONFIG_H
+#define CONFIG_H
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0xFEED
+#define PRODUCT_ID 0xCAFE
+#define DEVICE_VER 0x0104
+#define MANUFACTURER q.m.k
+#define PRODUCT HHKB mod
+#define DESCRIPTION q.m.k keyboard firmware for HHKB
+
+/* key matrix size */
+#define MATRIX_ROWS 8
+#define MATRIX_COLS 8
+
+#define TAPPING_TERM 200
+
+/* number of backlight levels */
+#define BACKLIGHT_LEVELS 3
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCE 5
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+//#define LOCKING_SUPPORT_ENABLE
+/* Locking resynchronize hack */
+//#define LOCKING_RESYNC_ENABLE
+
+/* key combination for command */
+#define IS_COMMAND() ( \
+ keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
+)
+
+/*
+ * Feature disable options
+ * These options are also useful to firmware size reduction.
+*/
+
+/* disable debug print */
+//#define NO_DEBUG
+
+/* disable print */
+//#define NO_PRINT
+
+/* disable action features */
+//#define NO_ACTION_LAYER
+//#define NO_ACTION_TAPPING
+//#define NO_ACTION_ONESHOT
+//#define NO_ACTION_MACRO
+//#define NO_ACTION_FUNCTION
+
+#endif
diff --git a/keyboard/hhkb_qmk/hhkb_avr.h b/keyboard/hhkb_qmk/hhkb_avr.h
new file mode 100644
index 000000000..7ea6322c7
--- /dev/null
+++ b/keyboard/hhkb_qmk/hhkb_avr.h
@@ -0,0 +1,167 @@
+#ifndef HHKB_AVR_H
+#define HHKB_AVR_H
+
+#include <stdint.h>
+#include <stdbool.h>
+#include <avr/io.h>
+#include <avr/interrupt.h>
+#include <util/delay.h>
+
+
+// Timer resolution check
+#if (1000000/TIMER_RAW_FREQ > 20)
+# error "Timer resolution(>20us) is not enough for HHKB matrix scan tweak on V-USB."
+#endif
+
+
+/*
+ * HHKB Matrix I/O
+ *
+ * row: HC4051[A,B,C] selects scan row0-7
+ * row-ext: [En0,En1] row extention for JP
+ * col: LS145[A,B,C,D] selects scan col0-7 and enable(D)
+ * key: on: 0/off: 1
+ * prev: hysteresis control: assert(1) when previous key state is on
+ */
+
+
+#if defined(__AVR_ATmega32U4__)
+/*
+ * For TMK HHKB alt controller(ATMega32U4)
+ *
+ * row: PB0-2
+ * col: PB3-5,6
+ * key: PD7(pull-uped)
+ * prev: PB7
+ * power: PD4(L:off/H:on)
+ * row-ext: PC6,7 for HHKB JP(active low)
+ */
+static inline void KEY_ENABLE(void) { (PORTB &= ~(1<<6)); }
+static inline void KEY_UNABLE(void) { (PORTB |= (1<<6)); }
+static inline bool KEY_STATE(void) { return (PIND & (1<<7)); }
+static inline void KEY_PREV_ON(void) { (PORTB |= (1<<7)); }
+static inline void KEY_PREV_OFF(void) { (PORTB &= ~(1<<7)); }
+#ifdef HHKB_POWER_SAVING
+static inline void KEY_POWER_ON(void) {
+ DDRB = 0xFF; PORTB = 0x40; // change pins output
+ DDRD |= (1<<4); PORTD |= (1<<4); // MOS FET switch on
+ /* Without this wait you will miss or get false key events. */
+ _delay_ms(5); // wait for powering up
+}
+static inline void KEY_POWER_OFF(void) {
+ /* input with pull-up consumes less than without it when pin is open. */
+ DDRB = 0x00; PORTB = 0xFF; // change pins input with pull-up
+ DDRD |= (1<<4); PORTD &= ~(1<<4); // MOS FET switch off
+}
+static inline bool KEY_POWER_STATE(void) { return PORTD & (1<<4); }
+#else
+static inline void KEY_POWER_ON(void) {}
+static inline void KEY_POWER_OFF(void) {}
+static inline bool KEY_POWER_STATE(void) { return true; }
+#endif
+static inline void KEY_INIT(void)
+{
+ /* row,col,prev: output */
+ DDRB = 0xFF;
+ PORTB = 0x40; // unable
+ /* key: input with pull-up */
+ DDRD &= ~0x80;
+ PORTD |= 0x80;
+#ifdef HHKB_JP
+ /* row extention for HHKB JP */
+ DDRC |= (1<<6|1<<7);
+ PORTC |= (1<<6|1<<7);
+#endif
+ KEY_UNABLE();
+ KEY_PREV_OFF();
+
+ KEY_POWER_OFF();
+}
+static inline void KEY_SELECT(uint8_t ROW, uint8_t COL)
+{
+ PORTB = (PORTB & 0xC0) | (((COL) & 0x07)<<3) | ((ROW) & 0x07);
+#ifdef HHKB_JP
+ if ((ROW) & 0x08) PORTC = (PORTC & ~(1<<6|1<<7)) | (1<<6);
+ else PORTC = (PORTC & ~(1<<6|1<<7)) | (1<<7);
+#endif
+}
+
+
+#elif defined(__AVR_AT90USB1286__)
+/*
+ * For Teensy++(AT90USB1286)
+ *
+ * HHKB pro HHKB pro2
+ * row: PB0-2 (6-8) (5-7)
+ * col: PB3-5,6 (9-12) (8-11)
+ * key: PE6(pull-uped) (4) (3)
+ * prev: PE7 (5) (4)
+ *
+ * TODO: convert into 'staitc inline' function
+ */
+#define KEY_INIT() do { \
+ DDRB |= 0x7F; \
+ DDRE |= (1<<7); \
+ DDRE &= ~(1<<6); \
+ PORTE |= (1<<6); \
+} while (0)
+#define KEY_SELECT(ROW, COL) (PORTB = (PORTB & 0xC0) | \
+ (((COL) & 0x07)<<3) | \
+ ((ROW) & 0x07))
+#define KEY_ENABLE() (PORTB &= ~(1<<6))
+#define KEY_UNABLE() (PORTB |= (1<<6))
+#define KEY_STATE() (PINE & (1<<6))
+#define KEY_PREV_ON() (PORTE |= (1<<7))
+#define KEY_PREV_OFF() (PORTE &= ~(1<<7))
+#define KEY_POWER_ON()
+#define KEY_POWER_OFF()
+#define KEY_POWER_STATE() true
+
+
+#else
+# error "define code for matrix scan"
+#endif
+
+
+#if 0
+// For ATMega328P with V-USB
+//
+// #elif defined(__AVR_ATmega328P__)
+// Ports for V-USB
+// key: PB0(pull-uped)
+// prev: PB1
+// row: PB2-4
+// col: PC0-2,3
+// power: PB5(Low:on/Hi-z:off)
+#define KEY_INIT() do { \
+ DDRB |= 0x3E; \
+ DDRB &= ~(1<<0); \
+ PORTB |= 1<<0; \
+ DDRC |= 0x0F; \
+ KEY_UNABLE(); \
+ KEY_PREV_OFF(); \
+} while (0)
+#define KEY_SELECT(ROW, COL) do { \
+ PORTB = (PORTB & 0xE3) | ((ROW) & 0x07)<<2; \
+ PORTC = (PORTC & 0xF8) | ((COL) & 0x07); \
+} while (0)
+#define KEY_ENABLE() (PORTC &= ~(1<<3))
+#define KEY_UNABLE() (PORTC |= (1<<3))
+#define KEY_STATE() (PINB & (1<<0))
+#define KEY_PREV_ON() (PORTB |= (1<<1))
+#define KEY_PREV_OFF() (PORTB &= ~(1<<1))
+// Power supply switching
+#define KEY_POWER_ON() do { \
+ KEY_INIT(); \
+ PORTB &= ~(1<<5); \
+ _delay_ms(1); \
+} while (0)
+#define KEY_POWER_OFF() do { \
+ DDRB &= ~0x3F; \
+ PORTB &= ~0x3F; \
+ DDRC &= ~0x0F; \
+ PORTC &= ~0x0F; \
+} while (0)
+#endif
+
+#endif
diff --git a/keyboard/hhkb_qmk/hhkb_qmk.c b/keyboard/hhkb_qmk/hhkb_qmk.c
new file mode 100644
index 000000000..9c90e6eb4
--- /dev/null
+++ b/keyboard/hhkb_qmk/hhkb_qmk.c
@@ -0,0 +1,29 @@
+#include "hhkb_qmk.h"
+
+__attribute__ ((weak))
+void * matrix_init_user(void) {
+ // leave these blank
+};
+
+__attribute__ ((weak))
+void * matrix_scan_user(void) {
+ // leave these blank
+};
+
+void * matrix_init_kb(void) {
+ // put your keyboard start-up code here
+ // runs once when the firmware starts up
+
+ if (matrix_init_user) {
+ (*matrix_init_user)();
+ }
+};
+
+void * matrix_scan_kb(void) {
+ // put your looping keyboard code here
+ // runs every cycle (a lot)
+
+ if (matrix_scan_user) {
+ (*matrix_scan_user)();
+ }
+};
diff --git a/keyboard/hhkb_qmk/hhkb_qmk.h b/keyboard/hhkb_qmk/hhkb_qmk.h
new file mode 100644
index 000000000..f6bf20f43
--- /dev/null
+++ b/keyboard/hhkb_qmk/hhkb_qmk.h
@@ -0,0 +1,30 @@
+#ifndef HHKB_QMK_H
+#define HHKB_QMK_H
+
+#include "matrix.h"
+#include "keymap_common.h"
+//#include "backlight.h"
+#include <stddef.h>
+
+#define KEYMAP( \
+ K31, K30, K00, K10, K11, K20, K21, K40, K41, K60, K61, K70, K71, K50, K51, \
+ K32, K01, K02, K13, K12, K23, K22, K42, K43, K62, K63, K73, K72, K52, \
+ K33, K04, K03, K14, K15, K24, K25, K45, K44, K65, K64, K74, K53, \
+ K34, K05, K06, K07, K16, K17, K26, K46, K66, K76, K75, K55, K54, \
+ K35, K36, K37, K57, K56) \
+ \
+{ \
+ { K00, K01, K02, K03, K04, K05, K06, K07 }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17 }, \
+ { K20, K21, K22, K23, K24, K25, K26, KC_NO }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37 }, \
+ { K40, K41, K42, K43, K44, K45, K46, KC_NO }, \
+ { K50, K51, K52, K53, K54, K55, K56, K57 }, \
+ { K60, K61, K62, K63, K64, K65, K66, KC_NO }, \
+ { K70, K71, K72, K73, K74, K75, K76, KC_NO } \
+}
+
+void * matrix_init_user(void);
+void * matrix_scan_user(void);
+
+#endif
diff --git a/keyboard/hhkb_qmk/keymaps/keymap_default.c b/keyboard/hhkb_qmk/keymaps/keymap_default.c
new file mode 100644
index 000000000..bcd8ead37
--- /dev/null
+++ b/keyboard/hhkb_qmk/keymaps/keymap_default.c
@@ -0,0 +1,78 @@
+/* -*- eval: (turn-on-orgtbl); -*-
+ * default HHKB Layout
+ */
+#include "hhkb_qmk.h"
+
+#define BASE 0
+#define HHKB 1
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ /* BASE Level: Default Layer
+ |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---|
+ | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` |
+ |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---|
+ | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Backs | |
+ |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---|
+ | Cont | A | S | D | F | G | H | J | K | L | ; | ' | Ent | | |
+ |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---|
+ | Shift | Z | X | C | V | B | N | M | , | . | / | Shift | Fn0 | | |
+ |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---|
+
+ |------+------+-----------------------+------+------|
+ | LAlt | LGUI | ******* Space ******* | RGUI | RAlt |
+ |------+------+-----------------------+------+------|
+ */
+
+ [BASE] = KEYMAP( // default layer
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, \
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, \
+ KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(HHKB), \
+ KC_LALT, KC_LGUI, /* */ KC_SPC, KC_RGUI, KC_RALT),
+
+
+
+ /* Layer HHKB: HHKB mode (HHKB Fn)
+ |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----|
+ | Pwr | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Ins | Del |
+ |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----|
+ | Caps | | | | | | | | Psc | Slk | Pus | Up | | Backs | |
+ |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----|
+ | | VoD | VoU | Mut | | | * | / | Hom | PgU | Lef | Rig | Enter | | |
+ |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----|
+ | | | | | | | + | - | End | PgD | Dow | | | | |
+ |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----|
+
+ |------+------+----------------------+------+------+
+ | **** | **** | ******************** | **** | **** |
+ |------+------+----------------------+------+------+
+
+ */
+
+ [HHKB] = KEYMAP(
+ KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, \
+ KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, KC_TRNS, KC_BSPC, \
+ KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_PENT, \
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS, \
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)};
+
+
+const uint16_t PROGMEM fn_actions[] = {
+
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ // MACRODOWN only works in this function
+ switch(id) {
+ case 0:
+ if (record->event.pressed) {
+ register_code(KC_RSFT);
+ } else {
+ unregister_code(KC_RSFT);
+ }
+ break;
+ }
+ return MACRO_NONE;
+};
diff --git a/keyboard/hhkb_qmk/keymaps/keymap_lxol.c b/keyboard/hhkb_qmk/keymaps/keymap_lxol.c
new file mode 100644
index 000000000..3256fda51
--- /dev/null
+++ b/keyboard/hhkb_qmk/keymaps/keymap_lxol.c
@@ -0,0 +1,208 @@
+/* -*- eval: (turn-on-orgtbl); -*-
+ * lxol HHKB Layout
+ */
+#include "hhkb_qmk.h"
+
+#define BASE 0
+#define WIN 1
+#define HHKB 2
+#define RGUILEV 3
+#define LGUILEV 4
+#define RALTLEV 5
+#define LALTLEV 6
+
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ /* Layer 0: Default Layer
+ |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---|
+ | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` |
+ |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---|
+ | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Backs | |
+ |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---|
+ | Contro | A | S | D | F | G | H | J | K | L | ; | ' | RCtl/Ent | | |
+ |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---|
+ | Shift | Z | X | C | V | B | N | M | , | . | Fn2 | Shift | Fn0 | | |
+ |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---|
+
+ |------+------+-------+------+------|
+ | LAlt | LGUI | Space | RGUI | RAlt |
+ |------+------+-------+------+------|
+ */
+
+ [BASE] = KEYMAP( // layer 0 : default
+
+
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, \
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, \
+ KC_LCTL, LT(LALTLEV,KC_A), LT(LGUILEV,KC_S), KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, LT(RGUILEV,KC_L), LT(RALTLEV,KC_SCLN), KC_QUOT, KC_FN0, \
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(HHKB), \
+ KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT),
+
+
+
+ /* Layer 1: HHKB mode (HHKB Fn)
+ |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----|
+ | Pwr | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Ins | Del |
+ |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----|
+ | Caps | | | | | | | | Psc | Slk | Pus | Up | | Backs | |
+ |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----|
+ | | VoD | VoU | Mut | | | * | / | Hom | PgU | Lef | Rig | Enter | | |
+ |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----|
+ | | | | | | | + | - | End | PgD | Dow | | | | |
+ |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----|
+
+ |---+---+---+---+---|
+ | | | | | |
+ |---+---+---+---+---|
+ */
+
+ [HHKB] = KEYMAP(
+ KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, \
+ KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, KC_TRNS, KC_BSPC, \
+ KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_PENT, \
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS, \
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+
+ /* Layer LGUI: All keys with RGUI modifier
+ |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---|
+ | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` |
+ |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---|
+ | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Backs | |
+ |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---|
+ | Contro | A | S | D | F | G | H | J | K | | ; | ' | RCtl/Ent | | |
+ |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---|
+ | Shift | Z | X | C | V | B | N | M | , | . | Fn2 | Shift | Fn0 | | |
+ |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---|
+
+ |------+------+-------+------+------|
+ | LAlt | LGUI | Space | RGUI | RAlt |
+ |------+------+-------+------+------|
+ */
+
+ [RGUILEV] = KEYMAP( // Right GUI layer by KC_L
+
+ RGUI(KC_ESC), RGUI(KC_1), RGUI(KC_2), RGUI(KC_3), RGUI(KC_4), RGUI(KC_5), RGUI(KC_6), RGUI(KC_7), RGUI(KC_8), RGUI(KC_9), RGUI(KC_0), RGUI(KC_MINS), RGUI(KC_EQL), RGUI(KC_BSLS), RGUI(KC_GRV), \
+ RGUI(KC_TAB), RGUI(KC_Q), RGUI(KC_W), RGUI(KC_E), RGUI(KC_R), RGUI(KC_T), RGUI(KC_Y), RGUI(KC_U), RGUI(KC_I), RGUI(KC_O), RGUI(KC_P), RGUI(KC_LBRC), RGUI(KC_RBRC), RGUI(KC_BSPC), \
+ RGUI(KC_LCTL), RGUI(KC_A), RGUI(KC_S), RGUI(KC_D), RGUI(KC_F), RGUI(KC_G), RGUI(KC_H), RGUI(KC_J), RGUI(KC_K), KC_TRNS, KC_TRNS, RGUI(KC_QUOT), KC_FN0, \
+ RGUI(KC_LSFT), RGUI(KC_Z), RGUI(KC_X), RGUI(KC_C), RGUI(KC_V), RGUI(KC_B), RGUI(KC_N), RGUI(KC_M), RGUI(KC_COMM), RGUI(KC_DOT), RGUI(KC_SLSH), RGUI(KC_RSFT), KC_TRNS, \
+ KC_LALT, KC_LGUI, RGUI(KC_SPC), KC_RGUI, KC_RALT),
+
+ /* Layer LGUI: All keys with LGUI modifier
+ |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---|
+ | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` |
+ |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---|
+ | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Backs | |
+ |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---|
+ | Contro | A | S | D | F | G | H | J | K | | ; | ' | RCtl/Ent | | |
+ |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---|
+ | Shift | Z | X | C | V | B | N | M | , | . | Fn2 | Shift | Fn0 | | |
+ |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---|
+
+ |------+------+-------+------+------|
+ | LAlt | LGUI | Space | LGUI | RAlt |
+ |------+------+-------+------+------|
+ */
+
+ [LGUILEV] = KEYMAP( // Right GUI layer by KC_L
+
+ LGUI(KC_ESC), LGUI(KC_1), LGUI(KC_2), LGUI(KC_3), LGUI(KC_4), LGUI(KC_5), LGUI(KC_6), LGUI(KC_7), LGUI(KC_8), LGUI(KC_9), LGUI(KC_0), LGUI(KC_MINS), LGUI(KC_EQL), LGUI(KC_BSLS), LGUI(KC_GRV), \
+ LGUI(KC_TAB), LGUI(KC_Q), LGUI(KC_W), LGUI(KC_E), LGUI(KC_R), LGUI(KC_T), LGUI(KC_Y), LGUI(KC_U), LGUI(KC_I), LGUI(KC_O), LGUI(KC_P), LGUI(KC_LBRC), LGUI(KC_RBRC), LGUI(KC_BSPC), \
+ LGUI(KC_LCTL), KC_TRNS, KC_TRNS, LGUI(KC_D), LGUI(KC_F), LGUI(KC_G), LGUI(KC_H), LGUI(KC_J), LGUI(KC_K), LGUI(KC_L), LGUI(KC_SCLN), LGUI(KC_QUOT), KC_FN0, \
+ KC_LSFT, LGUI(KC_Z), LGUI(KC_X), LGUI(KC_C), LGUI(KC_V), LGUI(KC_B), LGUI(KC_N), LGUI(KC_M), LGUI(KC_COMM), LGUI(KC_DOT), LGUI(KC_SLSH), KC_RSFT, KC_TRNS, \
+ KC_LALT, KC_LGUI, LGUI(KC_SPC), KC_LGUI, KC_RALT),
+
+ /* Layer LALT: All keys with RALT modifier
+ |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---|
+ | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` |
+ |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---|
+ | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Backs | |
+ |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---|
+ | Contro | A | S | D | F | G | H | J | K | | ; | ' | RCtl/Ent | | |
+ |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---|
+ | Shift | Z | X | C | V | B | N | M | , | . | Fn2 | Shift | Fn0 | | |
+ |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---|
+
+ |------+------+-------+------+------|
+ | LAlt | LGUI | Space | RGUI | RAlt |
+ |------+------+-------+------+------|
+ */
+
+ [RALTLEV] = KEYMAP( // Right ALT layer by KC_L
+
+ RALT(KC_ESC), RALT(KC_1), RALT(KC_2), RALT(KC_3), RALT(KC_4), RALT(KC_5), RALT(KC_6), RALT(KC_7), RALT(KC_8), RALT(KC_9), RALT(KC_0), RALT(KC_MINS), RALT(KC_EQL), RALT(KC_BSLS), RALT(KC_GRV), \
+ RALT(KC_TAB), RALT(KC_Q), RALT(KC_W), RALT(KC_E), RALT(KC_R), RALT(KC_T), RALT(KC_Y), RALT(KC_U), RALT(KC_I), RALT(KC_O), RALT(KC_P), RALT(KC_LBRC), RALT(KC_RBRC), RALT(KC_BSPC), \
+ RALT(KC_LCTL), RALT(KC_A), RALT(KC_S), RALT(KC_D), RALT(KC_F), RALT(KC_G), RALT(KC_H), RALT(KC_J), RALT(KC_K), KC_TRNS, KC_TRNS, RALT(KC_QUOT), KC_FN0, \
+ RALT(KC_LSFT), RALT(KC_Z), RALT(KC_X), RALT(KC_C), RALT(KC_V), RALT(KC_B), RALT(KC_N), RALT(KC_M), RALT(KC_COMM), RALT(KC_DOT), RALT(KC_SLSH), RALT(KC_RSFT), KC_TRNS, \
+ KC_LALT, KC_LGUI, RALT(KC_SPC), KC_RGUI, KC_RALT),
+
+ /* Layer LALT: All keys with LALT modifier
+ |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---|
+ | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` |
+ |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---|
+ | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Backs | |
+ |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---|
+ | Contro | A | S | D | F | G | H | J | K | | ; | ' | RCtl/Ent | | |
+ |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---|
+ | Shift | Z | X | C | V | B | N | M | , | . | Fn2 | Shift | Fn0 | | |
+ |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---|
+
+ |------+------+-------+------+------|
+ | LAlt | LGUI | Space | LGUI | RAlt |
+ |------+------+-------+------+------|
+ */
+
+ [LALTLEV] = KEYMAP( // Right ALT layer by KC_L
+
+ LALT(KC_ESC), LALT(KC_1), LALT(KC_2), LALT(KC_3), LALT(KC_4), LALT(KC_5), LALT(KC_6), LALT(KC_7), LALT(KC_8), LALT(KC_9), LALT(KC_0), LALT(KC_MINS), LALT(KC_EQL), LALT(KC_BSLS), LALT(KC_GRV), \
+ LALT(KC_TAB), LALT(KC_Q), LALT(KC_W), LALT(KC_E), LALT(KC_R), LALT(KC_T), LALT(KC_Y), LALT(KC_U), LALT(KC_I), LALT(KC_O), LALT(KC_P), LALT(KC_LBRC), LALT(KC_RBRC), LALT(KC_BSPC), \
+ LALT(KC_LCTL), KC_TRNS, KC_TRNS, LALT(KC_D), LALT(KC_F), LALT(KC_G), LALT(KC_H), LALT(KC_J), LALT(KC_K), LALT(KC_L), LALT(KC_SCLN), LALT(KC_QUOT), KC_FN0, \
+ KC_LSFT, LALT(KC_Z), LALT(KC_X), LALT(KC_C), LALT(KC_V), LALT(KC_B), LALT(KC_N), LALT(KC_M), LALT(KC_COMM), LALT(KC_DOT), LALT(KC_SLSH), KC_RSFT, KC_TRNS, \
+ KC_LALT, KC_LGUI, LALT(KC_SPC), KC_LGUI, KC_RALT),
+
+
+ /* Layer WIN: Win layer
+ |--------+---+---+---+---+---+---+---+---+---+---+-------+----------+-------+---|
+ | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` |
+ |--------+---+---+---+---+---+---+---+---+---+---+-------+----------+-------+---|
+ | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Backs | |
+ |--------+---+---+---+---+---+---+---+---+---+---+-------+----------+-------+---|
+ | Contro | A | S | D | F | G | H | J | K | L | ; | ' | RCtl/Ent | | |
+ |--------+---+---+---+---+---+---+---+---+---+---+-------+----------+-------+---|
+ | Shift | Z | X | C | V | B | N | M | , | . | / | Shift | Fn0 | | |
+ |--------+---+---+---+---+---+---+---+---+---+---+-------+----------+-------+---|
+
+ |------+------+-------+------+------|
+ | LGui | LAlt | Space | RGui | Ralt |
+ |------+------+-------+------+------|
+ */
+
+ [WIN] = KEYMAP( // BASE level with swapped GUI/ALT
+
+
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, \
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, \
+ KC_LCTL, LT(LGUILEV,KC_A), LT(LALTLEV,KC_S), KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, LT(RALTLEV,KC_L), LT(RGUILEV,KC_SCLN), KC_QUOT, KC_FN0, \
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(HHKB), \
+ KC_RGUI, KC_RALT, KC_SPC, KC_RALT, KC_RGUI)};
+
+
+const uint16_t PROGMEM fn_actions[] = {
+ [0] = ACTION_MODS_TAP_KEY(MOD_RCTL, KC_ENT) // RControl with tap Enter*
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ // MACRODOWN only works in this function
+ switch(id) {
+ case 0:
+ if (record->event.pressed) {
+ register_code(KC_RSFT);
+ } else {
+ unregister_code(KC_RSFT);
+ }
+ break;
+ }
+ return MACRO_NONE;
+};
diff --git a/keyboard/hhkb_qmk/matrix.c b/keyboard/hhkb_qmk/matrix.c
new file mode 100644
index 000000000..14fae0b82
--- /dev/null
+++ b/keyboard/hhkb_qmk/matrix.c
@@ -0,0 +1,196 @@
+/*
+Copyright 2011 Jun Wako <wakojun@gmail.com>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+/*
+ * scan matrix
+ */
+#include <stdint.h>
+#include <stdbool.h>
+#include <util/delay.h>
+#include "print.h"
+#include "debug.h"
+#include "util.h"
+#include "timer.h"
+#include "matrix.h"
+#include "hhkb_avr.h"
+#include <avr/wdt.h>
+#include "suspend.h"
+#include "lufa.h"
+
+
+// matrix power saving
+#define MATRIX_POWER_SAVE 10000
+static uint32_t matrix_last_modified = 0;
+
+// matrix state buffer(1:on, 0:off)
+static matrix_row_t *matrix;
+static matrix_row_t *matrix_prev;
+static matrix_row_t _matrix0[MATRIX_ROWS];
+static matrix_row_t _matrix1[MATRIX_ROWS];
+
+
+inline
+uint8_t matrix_rows(void)
+{
+ return MATRIX_ROWS;
+}
+
+inline
+uint8_t matrix_cols(void)
+{
+ return MATRIX_COLS;
+}
+
+void matrix_init(void)
+{
+#ifdef DEBUG
+ debug_enable = true;
+ debug_keyboard = true;
+#endif
+
+ KEY_INIT();
+
+ // initialize matrix state: all keys off
+ for (uint8_t i=0; i < MATRIX_ROWS; i++) _matrix0[i] = 0x00;
+ for (uint8_t i=0; i < MATRIX_ROWS; i++) _matrix1[i] = 0x00;
+ matrix = _matrix0;
+ matrix_prev = _matrix1;
+}
+
+uint8_t matrix_scan(void)
+{
+ uint8_t *tmp;
+
+ tmp = matrix_prev;
+ matrix_prev = matrix;
+ matrix = tmp;
+
+ // power on
+ if (!KEY_POWER_STATE()) KEY_POWER_ON();
+ for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
+ for (uint8_t col = 0; col < MATRIX_COLS; col++) {
+ KEY_SELECT(row, col);
+ _delay_us(5);
+
+ // Not sure this is needed. This just emulates HHKB controller's behaviour.
+ if (matrix_prev[row] & (1<<col)) {
+ KEY_PREV_ON();
+ }
+ _delay_us(10);
+
+ // NOTE: KEY_STATE is valid only in 20us after KEY_ENABLE.
+ // If V-USB interrupts in this section we could lose 40us or so
+ // and would read invalid value from KEY_STATE.
+ uint8_t last = TIMER_RAW;
+
+ KEY_ENABLE();
+
+ // Wait for KEY_STATE outputs its value.
+ // 1us was ok on one HHKB, but not worked on another.
+ // no wait doesn't work on Teensy++ with pro(1us works)
+ // no wait does work on tmk PCB(8MHz) with pro2
+ // 1us wait does work on both of above
+ // 1us wait doesn't work on tmk(16MHz)
+ // 5us wait does work on tmk(16MHz)
+ // 5us wait does work on tmk(16MHz/2)
+ // 5us wait does work on tmk(8MHz)
+ // 10us wait does work on Teensy++ with pro
+ // 10us wait does work on 328p+iwrap with pro
+ // 10us wait doesn't work on tmk PCB(8MHz) with pro2(very lagged scan)
+ _delay_us(5);
+
+ if (KEY_STATE()) {
+ matrix[row] &= ~(1<<col);
+ } else {
+ matrix[row] |= (1<<col);
+ }
+
+ // Ignore if this code region execution time elapses more than 20us.
+ // MEMO: 20[us] * (TIMER_RAW_FREQ / 1000000)[count per us]
+ // MEMO: then change above using this rule: a/(b/c) = a*1/(b/c) = a*(c/b)
+ if (TIMER_DIFF_RAW(TIMER_RAW, last) > 20/(1000000/TIMER_RAW_FREQ)) {
+ matrix[row] = matrix_prev[row];
+ }
+
+ _delay_us(5);
+ KEY_PREV_OFF();
+ KEY_UNABLE();
+
+ // NOTE: KEY_STATE keep its state in 20us after KEY_ENABLE.
+ // This takes 25us or more to make sure KEY_STATE returns to idle state.
+#ifdef HHKB_JP
+ // Looks like JP needs faster scan due to its twice larger matrix
+ // or it can drop keys in fast key typing
+ _delay_us(30);
+#else
+ _delay_us(75);
+#endif
+ }
+ if (matrix[row] ^ matrix_prev[row]) matrix_last_modified = timer_read32();
+ }
+ // power off
+ if (KEY_POWER_STATE() &&
+ (USB_DeviceState == DEVICE_STATE_Suspended ||
+ USB_DeviceState == DEVICE_STATE_Unattached ) &&
+ timer_elapsed32(matrix_last_modified) > MATRIX_POWER_SAVE) {
+ KEY_POWER_OFF();
+ suspend_power_down();
+ }
+ return 1;
+}
+
+bool matrix_is_modified(void)
+{
+ for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
+ if (matrix[i] != matrix_prev[i])
+ return true;
+ }
+ return false;
+}
+
+inline
+bool matrix_has_ghost(void)
+{
+ return false;
+}
+
+inline
+bool matrix_is_on(uint8_t row, uint8_t col)
+{
+ return (matrix[row] & (1<<col));
+}
+
+inline
+matrix_row_t matrix_get_row(uint8_t row)
+{
+ return matrix[row];
+}
+
+void matrix_print(void)
+{
+ print("\nr/c 01234567\n");
+ for (uint8_t row = 0; row < matrix_rows(); row++) {
+ xprintf("%02X: %08b\n", row, bitrev(matrix_get_row(row)));
+ }
+}
+
+void matrix_power_up(void) {
+ KEY_POWER_ON();
+}
+void matrix_power_down(void) {
+ KEY_POWER_OFF();
+}
diff --git a/keyboard/planck/keymaps/keymap_gabriel.c b/keyboard/planck/keymaps/keymap_gabriel.c
index 3620c75a7..805484488 100644
--- a/keyboard/planck/keymaps/keymap_gabriel.c
+++ b/keyboard/planck/keymaps/keymap_gabriel.c
@@ -9,9 +9,9 @@
#define _RS 2
#define _FN 3
-// This a slightly adapted 'default' keymap. I like the position of 'esc' and 'tab' better this way.
-// I also git rid of the backlighting control key and the dvorak and colemak layers. I added a 'fn'
-// layer that makes the 'bspc' a forward delete (like on OSX).
+// This a slightly modified 'default' keymap that's closer to the Mac keyboard layout. I like the position
+// of 'esc' and 'tab' better this way. I also got rid of the backlighting control key and the dvorak and
+// colemak layers. I added an 'fn' layer that makes the 'bspc' a forward delete (like on OSX).
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* MIT Layout (QWERTY layer)
*
@@ -22,21 +22,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |-----------------------------------------------------------------------|
* |shift| z | x | c | v | b | n | m | , | . | / |enter|
* |-----------------------------------------------------------------------|
- * | fn | ctl | alt | cmd |lower| spc |raise| left| down| up |right|
+ * | fn | ctl | alt | cmd |lower| spc |raise|left |down | up |right|
* `-----------------------------------------------------------------------'
*/
[_QW] = { /* QWERTY */
{KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC},
{KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT},
- {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT },
- {MO(_FN), KC_LCTL, KC_LALT, KC_LGUI, MO(_LW), KC_SPC, KC_SPC, MO(_RS), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
+ {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT },
+ {MO(_FN), KC_LCTL, KC_LALT, KC_LGUI, MO(_LW), KC_SPC, KC_SPC, MO(_RS), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
},
/* MIT Layout (Raised layer)
*
* ,-----------------------------------------------------------------------.
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | |
* |-----------------------------------------------------------------------|
- * | | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
+ * | | F1 | F2 | F3 | F4 | F5 | F6 | - | + | [ | ] | | |
* |-----------------------------------------------------------------------|
* | | F7 | F8 | F9 | F10 | F11 | F12 | | | | | |
* |-----------------------------------------------------------------------|
@@ -45,7 +45,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_RS] = { /* RAISE */
{KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC},
- {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS},
+ {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_PLUS, KC_LBRC, KC_RBRC, KC_PIPE},
{KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, 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}
},
@@ -54,7 +54,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* ,-----------------------------------------------------------------------.
* | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | |
* |-----------------------------------------------------------------------|
- * | | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
+ * | | F1 | F2 | F3 | F4 | F5 | F6 | _ | = | { | } | \ |
* |-----------------------------------------------------------------------|
* | | F7 | F8 | F9 | F10 | F11 | F12 | | | | | |
* |-----------------------------------------------------------------------|
@@ -63,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_LW] = { /* LOWER */
{KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC},
- {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE},
+ {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_EQL, KC_LCBR, KC_RCBR, KC_BSLS},
{KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, 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}
},
@@ -76,15 +76,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |-----------------------------------------------------------------------|
* | | | | | | | | | | | | |
* |-----------------------------------------------------------------------|
- * | | | | | | | | | | | |
+ * | | | | | | | |home |pgdn |pgup | end |
* `-----------------------------------------------------------------------'
*/
[_FN] = { /* FUNCTION */
{KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DELT},
{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, 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_HOME, KC_PGDN, KC_PGUP, KC_END}
}
};