~ruther/qmk_firmware

efffbe35c88fbc2360ba643b3163a75c3393d601 — Nicholas Keene 9 years ago 2a9eb3d
The Ordinary Layout is the layout you are looking for. Come and see.
M keyboard/ergodox_ez/keymaps/ordinary/keymap.c => keyboard/ergodox_ez/keymaps/ordinary/keymap.c +368 -131
@@ 1,149 1,375 @@
#include "ergodox_ez.h"
#include "led.h"
#include "debug.h"
#include "action_layer.h"

#define BASE 0 // default layer
#define SYMB 1 // symbols
#define MDIA 2 // media keys
#define LOCK 1 // layer lock keys
#define SYMB_MO 2 // symbols momentary layer
#define SYMB_TG 3 // symbols lock layer
#define SYMB_XX 4 // symbols lock layer
#define MDIA_MO 5 // media momentary layer
#define MDIA_TG 6 // media lock layer
#define MDIA_XX 7 // topmost escape

/*
 * Ordinary Ergodox EZ keyboard layout, v2
 * Ordinary Ergodox EZ keyboard layout, v3
 * modifications from default by Nicholas Keene ergodoxez@nicholaskeene.com
 * Details: http://nicholas.rinard.us/2016/03/ergodox-ez-layout.html
 */

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

/* Keymap 0: Basic layer
 *
 * ,--------------------------------------------------.           ,--------------------------------------------------.
 * |  Grv   |   1  |   2  |   3  |   4  |   5  | ESC  |           |  -   |   6  |   7  |   8  |   9  |   0  |   =    |
 * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
 * | Tab    |   Q  |   W  |   E  |   R  |   T  |   [  |           |  ]   |   Y  |   U  |   I  |   O  |   P  | MDIA \ |
 * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
 * | SYMB   |   A  |   S  |   D  |   F  |   G  |------|           |------|   H  |   J  |   K  |   L  |  ;   | SYMB ' |
 * |--------+------+------+------+------+------|Shift |           | Tab  |------+------+------+------+------+--------|
 * | LShift |   Z  |   X  |   C  |   V  |   B  | -Tab |           |      |   N  |   M  |   ,  |   .  |  /   | RShift |
 * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
 *   |LCtrl | Meh  |Hyper | LAlt | LGui |                                       | RGui | RAlt | Hyper|  Meh |RCtrl |
 *   `----------------------------------'                                       `----------------------------------'
 *                                      ,---------------.       ,---------------.
 *                                      | Home   | End  |       | Left | Right  |
 *                               ,------|--------|------|       |------+--------+------.
 *                               |      |        | PgUp |       |  Up  |        |      |
 *                               |Backsp|   Del  |------|       |------| Enter  | Space|
 *                               |      |        | PgDn |       | Down |        |      |;
 *                               `----------------------'       `----------------------'
 * ,-----------------------------------------------------.           ,-----------------------------------------------------.
 * | LOCK  Grv |   1  |   2  |   3  |   4  |   5  | ESC  |           |  -   |   6  |   7  |   8  |   9  |   0  | =    LOCK |
 * |-----------+------+------+------+------+-------------|           |------+------+------+------+------+------+-----------|
 * | Media Tab |   Q  |   W  |   E  |   R  |   T  |   [  |           |  ]   |   Y  |   U  |   I  |   O  |   P  | \   Media |
 * |-----------+------+------+------+------+------|      |           |      |------+------+------+------+------+-----------|
 * | Symbol    |   A  |   S  |   D  |   F  |   G  |------|           |------|   H  |   J  |   K  |   L  |  ;   | '  Symbol |
 * |-----------+------+------+------+------+------|Shift |           | Tab  |------+------+------+------+------+-----------|
 * | LShift    |   Z  |   X  |   C  |   V  |   B  | -Tab |           |      |   N  |   M  |   ,  |   .  |  /   |    RShift |
 * `-----------+------+------+------+------+-------------'           `-------------+------+------+------+------+-----------'
 *      |LCtrl | Meh  |Hyper | LAlt | LGui |                                       | RGui | RAlt | Hyper|  Meh |RCtrl |
 *      `----------------------------------'                                       `----------------------------------'
 *                                         ,-------------.           ,-------------.
 *                                         | Home | End  |           | Left | Right|
 *                                  ,------|------|------|           |------+------+------.
 *                                  |      |      | PgUp |           |  Up  |      |      |
 *                                  |Backsp| Del  |------|           |------| Enter| Space|
 *                                  |      |      | PgDn |           | Down |      |      |
 *                                  `--------------------'           `--------------------'
 */
// If it accepts an argument (i.e, is a function), it doesn't need KC_.
// Otherwise, it needs KC_*
[BASE] = KEYMAP(  // layer 0 : default
   // left hand
   KC_GRV,   KC_1,        KC_2,  KC_3, KC_4,   KC_5, KC_ESC,
   KC_TAB,   KC_Q,        KC_W,  KC_E, KC_R,   KC_T, KC_LBRC,
   MO(SYMB), KC_A,        KC_S,  KC_D, KC_F,   KC_G,
   KC_LSFT,  CTL_T(KC_Z), KC_X,  KC_C, KC_V,   KC_B, LSFT(KC_TAB),
   KC_LCTL,  MEH_T(KC_NO),ALL_T(KC_NO),KC_LALT,KC_LGUI,
                                          KC_HOME, KC_END,
                                                   KC_PGUP,
                                 KC_BSPC, KC_DEL,  KC_PGDN,
[BASE] = KEYMAP(
// left hand
 LT(LOCK, KC_GRV),KC_1        ,KC_2        ,KC_3   ,KC_4   ,KC_5   ,KC_ESC
,LT(MDIA_MO, KC_TAB),KC_Q     ,KC_W        ,KC_E   ,KC_R   ,KC_T   ,KC_LBRC
,MO(SYMB_MO)     ,KC_A        ,KC_S        ,KC_D   ,KC_F   ,KC_G
,KC_LSFT         ,KC_Z        ,KC_X        ,KC_C   ,KC_V   ,KC_B   ,LSFT(KC_TAB)
,KC_LCTL         ,MEH_T(KC_NO),ALL_T(KC_NO),KC_LALT,KC_LGUI

                                                           ,KC_HOME,KC_END
                                                                   ,KC_PGUP
                                                   ,KC_BSPC,KC_DEL ,KC_PGDN

                                                                // right hand
                                                                KC_MINS, KC_6, KC_7,    KC_8,    KC_9,        KC_0,          KC_EQL,
                                                                KC_RBRC, KC_Y, KC_U,    KC_I,    KC_O,        KC_P,          LT(MDIA, KC_BSLS),
                                                                         KC_H, KC_J,    KC_K,    KC_L,        KC_SCLN,       LT(SYMB, KC_QUOT),
                                                                KC_TAB,  KC_N, KC_M,    KC_COMM, KC_DOT,      CTL_T(KC_SLSH),KC_RSFT,
                                                                               KC_RGUI, KC_RALT, ALL_T(KC_NO),MEH_T(KC_NO),  KC_RCTL,
                                                                KC_LEFT, KC_RGHT,
                                                                KC_UP,
                                                                KC_DOWN, KC_ENT, KC_SPC
                                                               ,KC_MINS ,KC_6   ,KC_7   ,KC_8   ,KC_9        ,KC_0        ,LT(LOCK, KC_EQL)
                                                               ,KC_RBRC ,KC_Y   ,KC_U   ,KC_I   ,KC_O        ,KC_P        ,LT(MDIA_MO, KC_BSLS)
                                                                        ,KC_H   ,KC_J   ,KC_K   ,KC_L        ,KC_SCLN     ,LT(SYMB_MO, KC_QUOT)
                                                               ,KC_TAB  ,KC_N   ,KC_M   ,KC_COMM,KC_DOT      ,KC_SLSH     ,KC_RSFT
                                                                                ,KC_RGUI,KC_RALT,ALL_T(KC_NO),MEH_T(KC_NO),KC_RCTL

                                                               ,KC_LEFT ,KC_RGHT
                                                               ,KC_UP
                                                               ,KC_DOWN ,KC_ENT ,KC_SPC
    ),
/* Keymap 1: Symbol Layer

/* Keymap 1: Layer Lock Keys
 *
 * ,--------------------------------------------------.           ,--------------------------------------------------.
 * |  Esc   |  F1  |  F2  |  F3  |  F4  |  F5  |      |           |      |  F6  |  F7  |  F8  |  F9  |  F10 |   F11  |
 * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
 * |  MDIA  |   !  |   @  |   {  |   }  |   &  |  <   |           |  >   |   |  |   7  |   8  |   9  |   /  |   F12  |
 * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
 * |        |   #  |   $  |   (  |   )  |   `  |------|           |------|   /  |   4  |   5  |   6  |   *  |        |
 * |--------+------+------+------+------+------| Tab  |           | Shift|------+------+------+------+------+--------|
 * |        |   %  |   ^  |   [  |   ]  |   ~  |      |           |  -Tab|   \  |   1  |   2  |   3  |   -  |  CAPS  |
 * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
 *   |      |      |      |      |      |                                       |   0  |    . |   =  |   +  |      |
 *   `----------------------------------'                                       `----------------------------------'
 *                                        ,-------------.       ,-------------.
 *                                        | Left | Right|       | Home | End  |
 *                                 ,------|------|------|       |------+------+------.
 *                                 |      |      |  Up  |       | PgUp |      |      |
 *                                 |Space |Enter |------|       |------|BackSp| Del  |
 *                                 |      |      | Down |       | PgDn |      |      |
 *                                 `--------------------'       `--------------------'
 * ,-----------------------------------------------------.           ,-----------------------------------------------------.
 * |           |  Esc |      |      |      |      |      |           |      |      |      |      |      |      |           |
 * |-----------+------+------+------+------+-------------|           |------+------+------+------+------+------+-----------|
 * | Media LOCK|      |      |      |      |      |      |           |      |      |      |      |      |      | Media LOCK|
 * |-----------+------+------+------+------+------|      |           |      |------+------+------+------+------+-----------|
 * |Symbol LOCK|      |      |      |      |      |------|           |------|      |      |      |      |      |Symbol LOCK|
 * |-----------+------+------+------+------+------|      |           |      |------+------+------+------+------+-----------|
 * |  Caps LOCK|      |      |      |      |      |      |           |      |      |      |      |      |      |  Caps LOCK|
 * `-----------+------+------+------+------+-------------'           `-------------+------+------+------+------+-----------'
 *      |      |      |      |      |      |                                       |      |      |      |      |      |
 *      `----------------------------------'                                       `----------------------------------'
 *                                         ,-------------.           ,-------------.
 *                                         |      |      |           |      |      |
 *                                  ,------|------|------|           |------+------+------.
 *                                  |      |      |      |           |      |      |      |
 *                                  |      |      |------|           |------|      |      |
 *                                  |      |      |      |           |      |      |      |
 *                                  `--------------------'           `--------------------'
 */
// SYMBOLS
[SYMB] = KEYMAP(
       // left hand
       KC_ESC,           KC_F1,  KC_F2,  KC_F3,  KC_F4,  KC_F5,  KC_TRNS,
       MO(MDIA),         KC_EXLM,KC_AT,  KC_LCBR,KC_RCBR,KC_AMPR,LSFT(KC_COMM),
       KC_TRNS,          KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV,
       KC_TRNS,          KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,KC_TAB,
       KC_TRNS,          KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
                                                         KC_LEFT,KC_RGHT,
                                                                 KC_UP,
                                                   KC_SPC,KC_ENT,KC_DOWN,
                                                                     // right hand
                                                                     KC_TRNS,      KC_F6,   KC_F7,  KC_F8,   KC_F9,   KC_F10,  KC_F11,
                                                                     LSFT(KC_DOT), KC_PIPE, KC_P7,  KC_P8,   KC_P9,   KC_PSLS, KC_F12,
                                                                                   KC_SLSH, KC_P4,  KC_P5,   KC_P6,   KC_PAST, KC_TRNS,
                                                                     LSFT(KC_TAB), KC_BSLS, KC_P1,  KC_P2,   KC_P3,   KC_PMNS, KC_CAPS,
                                                                                            KC_P0,  KC_DOT,  KC_PEQL, KC_PPLS, KC_PENT,
                                                                     KC_HOME,      KC_END,
                                                                     KC_PGUP,
                                                                     KC_PGDN,      KC_BSPC, KC_DEL
[LOCK] = KEYMAP(
// left hand
 KC_TRNS      ,KC_ESC    ,KC_TRNS   ,KC_TRNS   ,KC_TRNS ,KC_TRNS  ,KC_TRNS
,KC_FN3       ,KC_TRNS   ,KC_TRNS   ,KC_TRNS   ,KC_TRNS ,KC_TRNS  ,KC_TRNS
,KC_FN2       ,KC_TRNS   ,KC_TRNS   ,KC_TRNS   ,KC_TRNS ,KC_TRNS
,KC_CAPS      ,KC_TRNS   ,KC_TRNS   ,KC_TRNS   ,KC_TRNS ,KC_TRNS  ,KC_TRNS
,KC_TRNS      ,KC_TRNS   ,KC_TRNS   ,KC_TRNS   ,KC_TRNS

                                                        ,KC_TRNS  ,KC_TRNS
                                                                  ,KC_TRNS
                                                ,KC_TRNS,KC_TRNS  ,KC_TRNS

                                                                // right hand
                                                               ,KC_TRNS ,KC_TRNS  ,KC_TRNS   ,KC_TRNS   ,KC_TRNS   ,KC_TRNS  ,KC_TRNS
                                                               ,KC_TRNS ,KC_TRNS  ,KC_TRNS   ,KC_TRNS   ,KC_TRNS   ,KC_TRNS  ,KC_FN3
                                                                        ,KC_TRNS  ,KC_TRNS   ,KC_TRNS   ,KC_TRNS   ,KC_TRNS  ,KC_FN2
                                                               ,KC_TRNS ,KC_TRNS  ,KC_TRNS   ,KC_TRNS   ,KC_TRNS   ,KC_TRNS  ,KC_CAPS
                                                                                  ,KC_TRNS   ,KC_TRNS   ,KC_TRNS   ,KC_TRNS  ,KC_TRNS

                                                               ,KC_TRNS ,KC_TRNS
                                                               ,KC_TRNS
                                                               ,KC_TRNS ,KC_TRNS  ,KC_TRNS
    ),

/* Keymap 10: Symbol Momentary Layer
 *
 * ,-----------------------------------------------------.           ,-----------------------------------------------------.
 * |           |  F1  |  F2  |  F3  |  F4  |  F5  |      |           |      |  F6  |  F7  |  F8  |  F9  |  F10 |           |
 * |-----------+------+------+------+------+-------------|           |------+------+------+------+------+------+-----------|
 * | Media     |   !  |   @  |   {  |   }  |   &  |  <   |           |  >   |   |  |   7  |   8  |   9  |   /  | Media     |
 * |-----------+------+------+------+------+------|      |           |      |------+------+------+------+------+-----------|
 * | Symbol    |   #  |   $  |   (  |   )  |   `  |------|           |------|   /  |   4  |   5  |   6  |   *  | Symbol    |
 * |-----------+------+------+------+------+------| Tab  |           | Shift|------+------+------+------+------+-----------|
 * | Shift     |   %  |   ^  |   [  |   ]  |   ~  |      |           |  -Tab|   \  |   1  |   2  |   3  |   -  | Shift     |
 * `-----------+------+------+------+------+-------------'           `------------+------+------+------+------+------------'
 *      |      |      |      |      |      |                                       |   0  |    . |   =  |   +  | Entr |
 *      `----------------------------------'                                       `----------------------------------'
 *                                         ,-------------.           ,-------------.
 *                                         | Left | Right|           | Home | End  |
 *                                  ,------|------|------|           |------+------+------.
 *                                  |      |      |  Up  |           | PgUp |      |      |
 *                                  |Space |Enter |------|           |------|BackSp| Del  |
 *                                  |      |      | Down |           | PgDn |      |      |
 *                                  `--------------------'           `--------------------'
 */
[SYMB_MO] = KEYMAP(
// left hand
 KC_TRNS       ,KC_F1   ,KC_F2   ,KC_F3   ,KC_F4   ,KC_F5   ,KC_TRNS
,MO(MDIA_MO)   ,KC_EXLM ,KC_AT   ,KC_LCBR ,KC_RCBR ,KC_AMPR ,LSFT(KC_COMM)
,MO(SYMB_MO)   ,KC_HASH ,KC_DLR  ,KC_LPRN ,KC_RPRN ,KC_GRV 
,KC_LSFT       ,KC_PERC ,KC_CIRC ,KC_LBRC ,KC_RBRC ,KC_TILD ,KC_TAB
,KC_TRNS       ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
                                                   ,KC_LEFT ,KC_RGHT
                                                            ,KC_UP
                                          ,KC_SPC  ,KC_ENT  ,KC_DOWN
                                                                    // right hand
                                                                    ,KC_TRNS     ,KC_F6   ,KC_F7 ,KC_F8  ,KC_F9 ,KC_F10  ,KC_TRNS
                                                                    ,LSFT(KC_DOT),KC_PIPE ,KC_7  ,KC_8   ,KC_9  ,KC_SLSH ,MO(MDIA_MO)
                                                                                 ,KC_SLSH ,KC_4  ,KC_5   ,KC_6  ,KC_ASTR ,MO(SYMB_MO)
                                                                    ,LSFT(KC_TAB),KC_BSLS ,KC_1  ,KC_2   ,KC_3  ,KC_MINS ,KC_RSFT
                                                                                          ,KC_0  ,KC_DOT ,KC_EQL,KC_PLUS ,KC_ENT
                                                                    ,KC_HOME     ,KC_END
                                                                    ,KC_PGUP
                                                                    ,KC_PGDN     ,KC_BSPC ,KC_DEL
),
/* Keymap 2: Media and mouse keys

/* Keymap 11: Symbol Lock Layer
 *
 * ,-----------------------------------------------------.           ,-----------------------------------------------------.
 * | Lock      |  F1  |  F2  |  F3  |  F4  |  F5  |      |           |      |  F6  |  F7  |  F8  |  F9  |  F10 | Lock      |
 * |-----------+------+------+------+------+-------------|           |------+------+------+------+------+------+-----------|
 * | Media     |   !  |   @  |   {  |   }  |   &  |  <   |           |  >   |   |  |   7  |   8  |   9  |   /  | Media     |
 * |-----------+------+------+------+------+------|      |           |      |------+------+------+------+------+-----------|
 * |           |   #  |   $  |   (  |   )  |   `  |------|           |------|   /  |   4  |   5  |   6  |   *  |           |
 * |-----------+------+------+------+------+------| Tab  |           | Shift|------+------+------+------+------+-----------|
 * | Shift     |   %  |   ^  |   [  |   ]  |   ~  |      |           |  -Tab|   \  |   1  |   2  |   3  |   -  | Shift     |
 * `-----------+------+------+------+------+-------------'           `------------+------+------+------+------+------------'
 *      |      |      |      |      |      |                                       |   0  |    . |   =  |   +  | Entr |
 *      `----------------------------------'                                       `----------------------------------'
 *                                         ,-------------.           ,-------------.
 *                                         | Left | Right|           | Home | End  |
 *                                  ,------|------|------|           |------+------+------.
 *                                  |      |      |  Up  |           | PgUp |      |      |
 *                                  |Space |Enter |------|           |------|BackSp| Del  |
 *                                  |      |      | Down |           | PgDn |      |      |
 *                                  `--------------------'           `--------------------'
 */
[SYMB_TG] = KEYMAP(  // layer 3 : return key for symbol lock layer
// left hand
 MO(SYMB_XX)  ,KC_F1   ,KC_F2   ,KC_F3   ,KC_F4   ,KC_F5   ,KC_TRNS
,MO(MDIA_MO)  ,KC_EXLM ,KC_AT   ,KC_LCBR ,KC_RCBR ,KC_AMPR ,LSFT(KC_COMM)
,KC_NO        ,KC_HASH ,KC_DLR  ,KC_LPRN ,KC_RPRN ,KC_GRV
,KC_LSFT      ,KC_PERC ,KC_CIRC ,KC_LBRC ,KC_RBRC ,KC_TILD ,KC_TAB
,KC_TRNS      ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
                                                  ,KC_LEFT ,KC_RGHT
                                                           ,KC_UP
                                         ,KC_SPC  ,KC_ENT  ,KC_DOWN
                                                                    // right hand
                                                                    ,KC_TRNS     ,KC_F6   ,KC_F7 ,KC_F8  ,KC_F9 ,KC_F10  ,MO(SYMB_XX)
                                                                    ,LSFT(KC_DOT),KC_PIPE ,KC_7  ,KC_8   ,KC_9  ,KC_SLSH ,MO(MDIA_MO)
                                                                                 ,KC_SLSH ,KC_4  ,KC_5   ,KC_6  ,KC_ASTR ,KC_NO
                                                                    ,LSFT(KC_TAB),KC_BSLS ,KC_1  ,KC_2   ,KC_3  ,KC_MINS ,KC_RSFT
                                                                                          ,KC_0  ,KC_DOT ,KC_EQL,KC_PLUS ,KC_ENT
                                                                    ,KC_HOME     ,KC_END
                                                                    ,KC_PGUP
                                                                    ,KC_PGDN     ,KC_BSPC ,KC_DEL
    ),

/* Keymap 12: Symbol Unlock Layer
 *
 * ,-----------------------------------------------------.           ,-----------------------------------------------------.
 * |           | Esc  |      |      |      |      |      |           |      |      |      |      |      |      |           |
 * |-----------+------+------+------+------+-------------|           |------+------+------+------+------+------+-----------|
 * | Unlock    |      |      |      |      |      |      |           |      |      |      |      |      |      |  Unlock   |
 * |-----------+------+------+------+------+------|      |           |      |------+------+------+------+------+-----------|
 * |           |      |      |      |      |      |------|           |------|      |      |      |      |      |           |
 * |-----------+------+------+------+------+------|      |           |      |------+------+------+------+------+-----------|
 * | Caps LOCK |      |      |      |      |      |      |           |      |      |      |      |      |      | Caps LOCK |
 * `-----------+------+------+------+------+-------------'           `-------------+------+------+------+------+-----------'
 *      |      |      |      |      |      |                                       |      |      |      |      |      |
 *      `----------------------------------'                                       `----------------------------------'
 *                                         ,-------------.           ,-------------.
 *                                         |      |      |           |      |      |
 *                                  ,------|------|------|           |------+------+------.
 *                                  |      |      |      |           |      |      |      |
 *                                  |      |      |------|           |------|      |      |
 *                                  |      |      |      |           |      |      |      |
 *                                  `--------------------'           `--------------------'
 */
[SYMB_XX] = KEYMAP(
// left hand
 KC_TRNS      ,KC_ESC    ,KC_TRNS   ,KC_TRNS   ,KC_TRNS ,KC_TRNS  ,KC_TRNS
,TG(MDIA_TG)  ,KC_TRNS   ,KC_TRNS   ,KC_TRNS   ,KC_TRNS ,KC_TRNS  ,KC_TRNS
,KC_FN1       ,KC_TRNS   ,KC_TRNS   ,KC_TRNS   ,KC_TRNS ,KC_TRNS
,KC_CAPS      ,KC_TRNS   ,KC_TRNS   ,KC_TRNS   ,KC_TRNS ,KC_TRNS  ,KC_TRNS
,KC_TRNS      ,KC_TRNS   ,KC_TRNS   ,KC_TRNS   ,KC_TRNS
							,KC_TRNS  ,KC_TRNS
								  ,KC_TRNS
						,KC_TRNS,KC_TRNS  ,KC_TRNS
											// right hand
									   ,KC_TRNS ,KC_TRNS  ,KC_TRNS   ,KC_TRNS   ,KC_TRNS   ,KC_TRNS  ,KC_TRNS
									   ,KC_TRNS ,KC_TRNS  ,KC_TRNS   ,KC_TRNS   ,KC_TRNS   ,KC_TRNS  ,TG(MDIA_TG)
										    ,KC_TRNS  ,KC_TRNS   ,KC_TRNS   ,KC_TRNS   ,KC_TRNS  ,KC_FN1
									   ,KC_TRNS ,KC_TRNS  ,KC_TRNS   ,KC_TRNS   ,KC_TRNS   ,KC_TRNS  ,KC_CAPS
									   ,KC_TRNS ,KC_TRNS  ,KC_TRNS   ,KC_TRNS   ,KC_TRNS
									   ,KC_TRNS ,KC_TRNS
									   ,KC_TRNS
									   ,KC_TRNS ,KC_TRNS  ,KC_TRNS
	),

/* Keymap 20: Media and mouse keys
 *
 * ,--------------------------------------------------.           ,--------------------------------------------------.
 * |  Esc   |ShutDn| Sleep| Mute |Vol Dn|Vol Up|      |           |      |      |PrtSc | PgUp |MyComp| Mail |        |
 * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
 * |        |      |      | MsUp |ScrlUp|      |ScrlUp|           |ScrlUp|      |ScrlUp|  Up  |      |      |        |
 * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
 * |        |      |MsLeft|MsDown|MsRght|      |------|           |------| Home | Left | Down | Right| End  |        |
 * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
 * |        |      |      |MsDown|ScrlDn|      |ScrlDn|           |ScrlDn|      |ScrlDn| Down |      |      |        |
 * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
 *   |      |      |      | Lclk | Rclk |                                       |      | PgDn |      |      |      |
 *   `----------------------------------'                                       `----------------------------------'
 *                                        ,-------------.       ,-------------.
 *                                        | Stop |Refrsh|       | Prev | Next |
 *                                 ,------|------|------|       |------+------+------.
 *                                 |Brwser|Brwser|Search|       |VolUp |      |      |
 *                                 |Back  | Fwd  |------|       |------| Stop | Play-|
 *                                 |      |      | Home |       |VolDn |      | Pause|
 *                                 `--------------------'       `--------------------'
 * ,-----------------------------------------------------.           ,-----------------------------------------------------.
 * |           | F11  | F12  | F13  | F14  | F15  |      |           |      | F16  | F17  | F18  | F19  | F20  |           |
 * |-----------+------+------+------+------+-------------|           |------+------+------+------+------+------+-----------|
 * |           |ShutDn|      | MsUp |      |      |ScrlUp|           |ScrlUp|PrtScr| Home |  Up  | PgUp | Mail |           |
 * |-----------+------+------+------+------+------|      |           |      |------+------+------+------+------+-----------|
 * |           | Sleep|MsLeft|MsDown|MsRght|      |------|           |------|NumLok| Left | Down | Right|MyComp|           |
 * |-----------+------+------+------+------+------|      |           |      |------+------+------+------+------+-----------|
 * |           |      |      |MsDown|      |      |ScrlDn|           |ScrlDn|      | End  | Down | PgDn |      |           |
 * `-----------+------+------+------+------+-------------'           `-------------+------+------+------+------+-----------'
 *      | Mute |Vol Dn|Vol Up| Lclk | Rclk |                                       |Insert|Delete|      |      |      |
 *      `----------------------------------'                                       `----------------------------------'
 *                                         ,-------------.           ,-------------.
 *                                         | Stop |Refrsh|           | Prev | Next |
 *                                  ,------|------|------|           |------+------+------.
 *                                  |Brwser|Brwser|Search|           |VolUp |      |      |
 *                                  |Back  | Fwd  |------|           |------| Stop | Play-|
 *                                  |      |      | Home |           |VolDn |      | Pause|
 *                                  `--------------------'           `--------------------'
 */
// MEDIA AND MOUSE
[MDIA] = KEYMAP(
       KC_ESC,  KC_PWR,  KC_SLEP, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS,
       MO(MDIA), KC_TRNS, KC_TRNS, KC_MS_U, KC_WH_U, KC_TRNS, KC_WH_U,
       KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS,
       KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_D, KC_TRNS, KC_TRNS, KC_WH_D,
       KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_WH_D,
                                                    KC_WSTP, KC_WREF,
                                                             KC_WSCH,
                                           KC_WBAK, KC_TRNS, KC_WHOM,
[MDIA_MO] = KEYMAP(
// left hand
 KC_TRNS       ,KC_F11  ,KC_F12  ,KC_F13  ,KC_F14  ,KC_F15  ,KC_TRNS
,MO(MDIA_MO)   ,KC_POWER,KC_TRNS ,KC_MS_U ,KC_TRNS ,KC_TRNS ,KC_WH_U
,KC_NO         ,KC_SLEP ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_TRNS
,KC_LSFT       ,KC_TRNS ,KC_TRNS ,KC_MS_D ,KC_TRNS ,KC_TRNS ,KC_WH_D
,KC_MUTE       ,KC_VOLD ,KC_VOLU ,KC_BTN1 ,KC_BTN2
                                                   ,KC_WSTP ,KC_WREF
                                                            ,KC_WSCH
                                          ,KC_WBAK ,KC_TRNS ,KC_WHOM
                                                                     // right hand
                                                                     KC_TRNS,  KC_TRNS, KC_PSCR, KC_PGUP, KC_MYCM, KC_MAIL, KC_TRNS,
                                                                     KC_WH_U,  KC_TRNS, KC_WH_U, KC_UP,   KC_TRNS, KC_TRNS, KC_TRNS,
                                                                               KC_HOME, KC_LEFT, KC_DOWN, KC_RIGHT,KC_END, KC_TRNS,
                                                                     KC_WH_D,  KC_TRNS, KC_WH_D, KC_DOWN, KC_TRNS, KC_TRNS, KC_TRNS,
                                                                                        KC_TRNS, KC_PGDN, KC_TRNS,KC_TRNS, KC_TRNS,
                                                                     KC_MPRV, KC_MNXT,
                                                                     KC_VOLU,
                                                                     KC_VOLD, KC_MSTP, KC_MPLY
                                                                     ,KC_TRNS  ,KC_F16  ,KC_F17 ,KC_F18  ,KC_F19  ,KC_F20  ,KC_TRNS
                                                                     ,KC_WH_U  ,KC_PSCR ,KC_HOME,KC_UP   ,KC_PGUP ,KC_MAIL ,MO(MDIA_MO)
                                                                               ,KC_NLCK ,KC_LEFT,KC_DOWN ,KC_RIGHT,KC_MYCM ,KC_NO
                                                                     ,KC_WH_D  ,KC_TRNS ,KC_END ,KC_DOWN ,KC_PGDN ,KC_TRNS ,KC_RSFT
                                                                                        ,KC_INS ,KC_DEL  ,KC_TRNS ,KC_TRNS ,KC_TRNS
                                                                     ,KC_MPRV  ,KC_MNXT
                                                                     ,KC_VOLU
                                                                     ,KC_VOLD  ,KC_MSTP ,KC_MPLY
),

/* Keymap 21: Media Lock Layer
 *
 * ,-----------------------------------------------------.           ,-----------------------------------------------------.
 * |           | F11  | F12  | F13  | F14  | F15  |      |           |      | F16  | F17  | F18  | F19  | F20  |           |
 * |-----------+------+------+------+------+-------------|           |------+------+------+------+------+------+-----------|
 * |           |ShutDn|      | MsUp |      |      |ScrlUp|           |ScrlUp|PrtScr| Home |  Up  | PgUp | Mail |           |
 * |-----------+------+------+------+------+------|      |           |      |------+------+------+------+------+-----------|
 * |           | Sleep|MsLeft|MsDown|MsRght|      |------|           |------|NumLok| Left | Down | Right|MyComp|           |
 * |-----------+------+------+------+------+------|      |           |      |------+------+------+------+------+-----------|
 * |           |      |      |MsDown|      |      |ScrlDn|           |ScrlDn|      | End  | Down | PgDn |      |           |
 * `-----------+------+------+------+------+-------------'           `-------------+------+------+------+------+-----------'
 *      | Mute |Vol Dn|Vol Up| Lclk | Rclk |                                       |Insert|Delete|      |      |      |
 *      `----------------------------------'                                       `----------------------------------'
 *                                         ,-------------.           ,-------------.
 *                                         | Stop |Refrsh|           | Prev | Next |
 *                                  ,------|------|------|           |------+------+------.
 *                                  |Brwser|Brwser|Search|           |VolUp |      |      |
 *                                  |Back  | Fwd  |------|           |------| Stop | Play-|
 *                                  |      |      | Home |           |VolDn |      | Pause|
 *                                  `--------------------'           `--------------------'
 */
[MDIA_TG] = KEYMAP(
// left hand
 MO(MDIA_XX)  ,KC_F11  ,KC_F12  ,KC_F13  ,KC_F14  ,KC_F15  ,KC_TRNS
,KC_NO        ,KC_POWER,KC_TRNS ,KC_MS_U ,KC_TRNS ,KC_TRNS ,KC_WH_U
,KC_NO        ,KC_SLEP ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_TRNS
,KC_LSFT      ,KC_TRNS ,KC_TRNS ,KC_MS_D ,KC_TRNS ,KC_TRNS ,KC_WH_D
,KC_MUTE      ,KC_VOLD ,KC_VOLU ,KC_BTN1 ,KC_BTN2
                                                    ,KC_WSTP ,KC_WREF
                                                             ,KC_WSCH
                                           ,KC_WBAK ,KC_TRNS ,KC_WHOM
                                                                     // right hand
                                                                     ,KC_TRNS  ,KC_F16  ,KC_F17 ,KC_F18  ,KC_F19  ,KC_F20  ,MO(MDIA_XX)
                                                                     ,KC_WH_U  ,KC_PSCR ,KC_HOME,KC_UP   ,KC_PGUP ,KC_MAIL ,KC_NO
                                                                               ,KC_NLCK ,KC_LEFT,KC_DOWN ,KC_RIGHT,KC_MYCM ,KC_NO
                                                                     ,KC_WH_D  ,KC_TRNS ,KC_END ,KC_DOWN ,KC_PGDN ,KC_TRNS ,KC_RSFT
                                                                                        ,KC_INS ,KC_DEL  ,KC_TRNS ,KC_TRNS ,KC_TRNS
                                                                     ,KC_MPRV  ,KC_MNXT
                                                                     ,KC_VOLU
                                                                     ,KC_VOLD  ,KC_MSTP ,KC_MPLY
    ),

/* Keymap 22: Media Unlock Layer
 *
 * ,-----------------------------------------------------.           ,-----------------------------------------------------.
 * |           | Esc  |      |      |      |      |      |           |      |      |      |      |      |      |           |
 * |-----------+------+------+------+------+-------------|           |------+------+------+------+------+------+-----------|
 * | Unlock    |      |      |      |      |      |      |           |      |      |      |      |      |      | Unlock    |
 * |-----------+------+------+------+------+------|      |           |      |------+------+------+------+------+-----------|
 * |           |      |      |      |      |      |------|           |------|      |      |      |      |      |           |
 * |-----------+------+------+------+------+------|      |           |      |------+------+------+------+------+-----------|
 * | Caps LOCK |      |      |      |      |      |      |           |      |      |      |      |      |      | Caps LOCK |
 * `-----------+------+------+------+------+-------------'           `-------------+------+------+------+------+-----------'
 *      |      |      |      |      |      |                                       |      |      |      |      |      |
 *      `----------------------------------'                                       `----------------------------------'
 *                                         ,-------------.           ,-------------.
 *                                         |      |      |           |      |      |
 *                                  ,------|------|------|           |------+------+------.
 *                                  |      |      |      |           |      |      |      |
 *                                  |      |      |------|           |------|      |      |
 *                                  |      |      |      |           |      |      |      |
 *                                  `--------------------'           `--------------------'
 */
[MDIA_XX] = KEYMAP(
// left hand
 KC_TRNS      ,KC_ESC    ,KC_TRNS   ,KC_TRNS   ,KC_TRNS ,KC_TRNS  ,KC_TRNS
,KC_FN1       ,KC_TRNS   ,KC_TRNS   ,KC_TRNS   ,KC_TRNS ,KC_TRNS  ,KC_TRNS
,KC_TRNS      ,KC_TRNS   ,KC_TRNS   ,KC_TRNS   ,KC_TRNS ,KC_TRNS
,KC_CAPS      ,KC_TRNS   ,KC_TRNS   ,KC_TRNS   ,KC_TRNS ,KC_TRNS  ,KC_TRNS
,KC_TRNS      ,KC_TRNS   ,KC_TRNS   ,KC_TRNS   ,KC_TRNS

                                                        ,KC_TRNS  ,KC_TRNS
                                                                  ,KC_TRNS
                                                ,KC_TRNS,KC_TRNS  ,KC_TRNS

                                                                // right hand
                                                               ,KC_TRNS ,KC_TRNS  ,KC_TRNS   ,KC_TRNS   ,KC_TRNS   ,KC_TRNS  ,KC_TRNS
                                                               ,KC_TRNS ,KC_TRNS  ,KC_TRNS   ,KC_TRNS   ,KC_TRNS   ,KC_TRNS  ,KC_FN1
                                                                        ,KC_TRNS  ,KC_TRNS   ,KC_TRNS   ,KC_TRNS   ,KC_TRNS  ,KC_TRNS
                                                               ,KC_TRNS ,KC_TRNS  ,KC_TRNS   ,KC_TRNS   ,KC_TRNS   ,KC_TRNS  ,KC_CAPS
                                                                                  ,KC_TRNS   ,KC_TRNS   ,KC_TRNS   ,KC_TRNS  ,KC_TRNS

                                                               ,KC_TRNS ,KC_TRNS
                                                               ,KC_TRNS
                                                               ,KC_TRNS ,KC_TRNS  ,KC_TRNS
    )
};

const uint16_t PROGMEM fn_actions[] = {
    [1] = ACTION_LAYER_TAP_TOGGLE(SYMB)                // FN1 - Momentary Layer 1 (Symbols)
     [1] = ACTION_LAYER_CLEAR(ON_PRESS)                // FN1 - clear to base layer
	,[2] = ACTION_LAYER_INVERT(SYMB_TG, ON_PRESS)      // FN2 - toggle to Symbols on press
	,[3] = ACTION_LAYER_INVERT(MDIA_TG, ON_PRESS)      // FN3 - toggle to Media on press
};

const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)


@@ 168,25 394,36 @@ void matrix_init_user(void) {

// Runs constantly in the background, in a loop.
void matrix_scan_user(void) {

    uint8_t layer = biton32(layer_state);
	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;

    // lock layer turns on all lights
    if(layer == LOCK || layer == SYMB_XX) {
        ergodox_right_led_1_on();
        ergodox_right_led_2_on();
        ergodox_right_led_3_on();
    } else if(layer == MDIA_XX) {
        ergodox_right_led_1_on();
        ergodox_right_led_3_on();
    }

    // caps lock turns on red light
    if(host_keyboard_leds() & (1<<USB_LED_CAPS_LOCK)) {
        ergodox_right_led_1_on();
    }

    // symbol lock turns on green light
    if(layer == SYMB_MO || layer == SYMB_TG) {
        ergodox_right_led_2_on();
    }

    // media lock turns on blue light
    if(layer == MDIA_MO || layer == MDIA_TG) {
        ergodox_right_led_3_on();
    }
};


M keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.png => keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.png +0 -0
M keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.txt => keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.txt +7 -7
@@ 1,24 1,24 @@
[{x:3.5},"#\n3",{x:10.5},"*\n8"],
[{y:-0.875,x:2.5},"@\n2",{x:1},"$\n4",{x:8.5},"&\n7",{x:1},"(\n9"],
[{y:-0.875,x:5.5},"%\n5",{c:"#ff4444"},"Esc",{x:4.5,c:"#cccccc"},"_\n\n\n\n\n\n-","^\n6"],
[{y:-0.875,c:"#73ab6a",w:1.5},"~\n\n\n\n\n\n`",{c:"#cccccc"},"!\n1",{x:14.5},")\n0",{w:1.5},"+\n\n\n\n\n\n="],
[{y:-0.375,x:3.5},"E",{x:10.5},"I"],
[{y:-0.875,c:"#2277ff",w:1.5},"Shift\n\n~\n\n\n\nLock\n`",{c:"#cccccc"},"!\n1",{x:14.5},")\n0",{c:"#2277ff",w:1.5},"+\n\nShift\n\n\n\n=\nLock"],
[{y:-0.375,x:3.5,c:"#cccccc"},"E",{x:10.5},"I"],
[{y:-0.875,x:2.5},"W",{x:1},"R",{x:8.5},"U",{x:1},"O"],
[{y:-0.875,x:5.5},"T",{h:1.5},"{\n\n\n\n\n\n[",{x:4.5,h:1.5},"}\n\n\n\n\n\n]","Y"],
[{y:-0.875,c:"#73ab6a",w:1.5},"Tab",{c:"#cccccc"},"Q",{x:14.5},"P",{c:"#2277ff",fa:[0,0,0,1],w:1.5},"|\n\\\nMedia\nL2"],
[{y:-0.875,c:"#2277ff",w:1.5},"Media\n\nTab\n\n\n\nShift",{c:"#cccccc"},"Q",{x:14.5},"P",{c:"#2277ff",w:1.5},"|\n\\\nMedia\n\n\n\n\nShift"],
[{y:-0.375,x:3.5,c:"#cccccc"},"D",{x:10.5},"K"],
[{y:-0.875,x:2.5},"S",{x:1},"F",{x:8.5},"J",{x:1},"L"],
[{y:-0.875,x:5.5},"G",{x:6.5},"H"],
[{y:-0.875,c:"#2277ff",w:1.5},"Symbols\n\n\nL1",{c:"#cccccc"},"A",{x:14.5},":\n;",{c:"#2277ff",w:1.5},"\"\n'\nSymbols\nL1"],
[{y:-0.625,x:6.5,c:"#bfbf67",h:1.5},"< Tab\n\n\nShift Tab",{x:4.5,h:1.5},"Tab >\n\n\nTab"],
[{y:-0.875,c:"#2277ff",w:1.5},"Symbols\n\n\n\n\n\nShift",{c:"#cccccc"},"A",{x:14.5},":\n;",{c:"#2277ff",w:1.5},"\"\n'\nSymbols\n\n\n\n\nShift"],
[{y:-0.625,x:6.5,c:"#54d6de",fa:[0,0,0,1],h:1.5},"< Tab\n\n\nShift Tab",{x:4.5,h:1.5},"Tab >\n\n\nTab"],
[{y:-0.75,x:3.5,c:"#cccccc"},"C",{x:10.5},"<\n,"],
[{y:-0.875,x:2.5},"X",{x:1},"V",{x:8.5},"M",{x:1},">\n."],
[{y:-0.875,x:5.5},"B",{x:6.5},"N"],
[{y:-0.875,c:"#2277ff",w:1.5},"Capitals\n\n\nShift",{c:"#cccccc"},"Z",{x:14.5},"?\n/",{c:"#2277ff",w:1.5},"\n\nCapitals\nShift"],
[{y:-0.875,c:"#2277ff",fa:[0,1,0,1,0,0,0],w:1.5},"Capitals\nShift\n\n\n\n\nShift",{c:"#cccccc"},"Z",{x:14.5,f:3},"?\n/",{c:"#2277ff",w:1.5},"\n\nCapitals\nShift\n\n\n\nShift"],
[{y:-0.375,x:3.5,c:"#77aaff"},"Option\n\n\nLAlt",{x:10.5},"Option\n\n\nRAlt"],
[{y:-0.875,x:2.5},"Hyper",{x:1},"Cmd\n\n\nSuper",{x:8.5},"Cmd\n\n\nSuper",{x:1},"Hyper"],
[{y:-0.75,x:0.5},"Ctrl\n\n\nLCtrl","Meh",{x:14.5},"Meh","Ctrl\n\n\nRCtrl"],
[{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#bfbf67"},"Home","End"],
[{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#54d6de"},"Home","End"],
[{h:2},"< Del\n\n\nBackspace",{h:2},"Del >\n\n\nDelete","Page\n\n\n\n\n\nUp"],
[{x:2},"Page\n\n\n\n\n\nDown"],
[{r:-30,rx:13,y:-1,x:-3},"Left","Right"],

M keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.png => keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.png +0 -0
M keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.txt => keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.txt +22 -22
@@ 1,27 1,27 @@
[{x:3.5,c:"#9988bb"},"Vol\n\n\n\n\n\nMute",{x:10.5,c:"#ccffff"},"Page\n\n\n\n\n\nUp"],
[{y:-0.875,x:2.5,c:"#9988bb"},"Sleep",{x:1},"Vol\n\n\n\n\n\nDown",{x:8.5},"Print\n\n\n\n\n\nScreen",{x:1},"Home\n\n\n\n\n\nDir"],
[{y:-0.875,x:5.5},"Vol\n\n\n\n\n\nUp",{c:"#ff4444"},"Esc",{x:4.5,c:"#cccccc",a:7},"",""],
[{y:-0.875,c:"#ff4444",a:4,w:1.5},"Esc",{c:"#9988bb"},"Shut\n\n\n\n\n\nDown",{x:14.5},"Email",{c:"#cccccc",a:7,w:1.5},""],
[{y:-0.375,x:3.5,c:"#ccffff",a:4},"Mouse\n\n\n\n\n\nUp",{x:10.5},"Cursor\n\n\n\n\n\nUp"],
[{y:-0.875,x:2.5,c:"#cccccc",a:7},"",{x:1,c:"#99ffff",a:4},"Scroll\n\n\n\n\n\nUp",{x:8.5},"Scroll\n\n\n\n\n\nUp",{x:1,c:"#cccccc",a:7},""],
[{y:-0.875,x:5.5},"",{c:"#99ffff",a:4,h:1.5},"Scroll\n\n\n\n\n\nUp",{x:4.5,h:1.5},"Scroll\n\n\n\n\n\nUp",{c:"#cccccc",a:7},""],
[{y:-0.875,c:"#000000",t:"#ff0000",a:4,fa:[0,0,0,1],w:1.5},"Media\n\n\nL2",{c:"#cccccc",t:"#000000",a:7},"",{x:14.5},"",{c:"#000000",t:"#ff0000",a:4,w:1.5},"\n\nMedia\nL2"],
[{y:-0.375,x:3.5,c:"#ccffff",t:"#000000"},"Mouse\n\n\n\n\n\nDown",{x:10.5},"Cursor\n\n\n\n\n\nDown"],
[{x:3.5,c:"#99de2a"},"F13",{x:10.5},"F18"],
[{y:-0.875,x:2.5},"F12",{x:1},"F14",{x:8.5},"F17",{x:1},"F19"],
[{y:-0.875,x:5.5},"F15",{c:"#ff4444"},"Esc",{x:4.5,c:"#cccccc",a:7},"",{c:"#99de2a",a:4},"F16"],
[{y:-0.875,c:"#2277ff",w:1.5},"Shift\n\n\n\n\n\nLock",{c:"#99de2a"},"F11",{x:14.5},"F20",{c:"#2277ff",w:1.5},"\n\nShift\n\n\n\n\nLock"],
[{y:-0.375,x:3.5,c:"#ff8500"},"Mouse\n\n\n\n\n\nUp",{x:10.5},"Cursor\n\n\n\n\n\nUp"],
[{y:-0.875,x:2.5,c:"#cccccc",a:7},"",{x:1,c:"#ffb063",a:4},"Scroll\n\n\n\n\n\nUp",{x:8.5},"Home",{x:1},"Page\n\n\n\n\n\nUp"],
[{y:-0.875,x:5.5,c:"#cccccc",a:7},"",{c:"#ffb063",a:4,h:1.5},"Scroll\n\n\n\n\n\nUp",{x:4.5,h:1.5},"Scroll\n\n\n\n\n\nUp",{c:"#e6e067"},"Print\n\n\n\n\n\nScreen"],
[{y:-0.875,c:"#000000",t:"#ff0000",w:1.5},"Media\n\n\n\n\n\nShift",{c:"#e6e067",t:"#000000"},"Shut\n\n\n\n\n\nDown",{x:14.5},"Mail",{c:"#000000",t:"#ff0000",w:1.5},"\n\nMedia\n\n\n\n\nShift"],
[{y:-0.375,x:3.5,c:"#ff8500",t:"#000000"},"Mouse\n\n\n\n\n\nDown",{x:10.5},"Cursor\n\n\n\n\n\nDown"],
[{y:-0.875,x:2.5},"Mouse\n\n\n\n\n\nLeft",{x:1},"Mouse\n\n\n\n\n\nRight",{x:8.5},"Cursor\n\n\n\n\n\nLeft",{x:1},"Cursor\n\n\n\n\n\nRight"],
[{y:-0.875,x:5.5,c:"#cccccc",a:7},"",{x:6.5,c:"#ccffff",a:4},"Home"],
[{y:-0.875,c:"#000000",t:"#ff0000",w:1.5},"Symbols\n\n\nL1",{c:"#cccccc",t:"#000000",a:7},"",{x:14.5,c:"#ccffff",a:4},"End",{c:"#cccccc",a:7,w:1.5},""],
[{y:-0.625,x:6.5,c:"#99ffff",a:4,h:1.5},"Scroll\n\n\n\n\n\nDown",{x:4.5,h:1.5},"Scroll\n\n\n\n\n\nDown"],
[{y:-0.75,x:3.5,c:"#ccffff"},"Mouse\n\n\n\n\n\nDown",{x:10.5},"Cursor\n\n\n\n\n\nDown"],
[{y:-0.875,x:2.5,c:"#cccccc",a:7},"",{x:1,c:"#99ffff",a:4},"Scroll\n\n\n\n\n\nDown",{x:8.5},"Scroll\n\n\n\n\n\nDown",{x:1,c:"#cccccc",a:7},""],
[{y:-0.875,x:5.5},"",{x:6.5},""],
[{y:-0.875,w:1.5},"","",{x:14.5},"",{w:1.5},""],
[{y:-0.375,x:3.5,c:"#ccffff",a:4},"Left\n\n\n\n\n\nClick",{x:10.5},"Page\n\n\n\n\n\nDown"],
[{y:-0.875,x:2.5,c:"#cccccc",a:7},"",{x:1,c:"#ccffff",a:4},"Right\n\n\n\n\n\nClick",{x:8.5,c:"#cccccc",a:7},"",{x:1},""],
[{y:-0.75,x:0.5},"","",{x:14.5},"",""],
[{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#bbaacc",a:4},"Stop\n\n\nBrowser","Reload\n\n\nBrowser"],
[{y:-0.875,x:5.5,c:"#cccccc",a:7},"",{x:6.5,c:"#e6e067",a:4},"Num\n\n\n\n\n\nLock"],
[{y:-0.875,c:"#cccccc",a:7,w:1.5},"",{c:"#e6e067",a:4},"Sleep",{x:14.5},"My\n\n\n\n\n\nComp",{c:"#cccccc",a:7,w:1.5},""],
[{y:-0.625,x:6.5,c:"#ffb063",a:4,h:1.5},"Scroll\n\n\n\n\n\nDown",{x:4.5,h:1.5},"Scroll\n\n\n\n\n\nDown"],
[{y:-0.75,x:3.5,c:"#ff8500"},"Mouse\n\n\n\n\n\nDown",{x:10.5},"Cursor\n\n\n\n\n\nDown"],
[{y:-0.875,x:2.5,c:"#cccccc",a:7},"",{x:1,c:"#ffb063",a:4},"Scroll\n\n\n\n\n\nDown",{x:8.5},"End",{x:1},"Page\n\n\n\n\n\nDown"],
[{y:-0.875,x:5.5,c:"#cccccc",a:7},"",{x:6.5},""],
[{y:-0.875,c:"#2277ff",a:4,fa:[0,1,0,0,0,0,0],w:1.5},"Capitals\nShift\n\n\n\n\nShift",{c:"#cccccc",a:7},"",{x:14.5},"",{c:"#2277ff",a:4,fa:[0,1,0,1],w:1.5},"\n\nCapitals\nShift\n\n\n\nShift"],
[{y:-0.375,x:3.5,c:"#ff8500"},"Left\n\n\n\n\n\nClick",{x:10.5,c:"#ffb063"},"Delete"],
[{y:-0.875,x:2.5,c:"#e6e067"},"Vol\n\n\n\n\n\nUp",{x:1,c:"#ff8500"},"Right\n\n\n\n\n\nClick",{x:8.5,c:"#ffb063"},"Insert",{x:1,c:"#cccccc",a:7},""],
[{y:-0.75,x:0.5,c:"#e6e067",a:4},"Mute","Vol\n\n\n\n\n\nDown",{x:14.5,c:"#cccccc",a:7},"",""],
[{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#cfc82b",a:4},"Stop\n\n\nBrowser","Reload\n\n\nBrowser"],
[{h:2},"< Web\n\n\nBrowser",{h:2},"Web >\n\n\nBrowser","Search\n\n\nBrowser"],
[{x:2},"Home\n\n\nBrowser"],
[{r:-30,rx:13,y:-1,x:-3},"Prev\n\n\nAudio\n\n\nTrack","Next\n\n\nAudio\n\n\nTrack"],
[{x:-3,c:"#9988bb"},"Vol\n\n\n\n\n\nUp",{c:"#bbaacc",h:2},"Stop\n\n\nAudio",{h:2},"Play\n\n\nAudio\n\n\nPause"],
[{x:-3,c:"#9988bb"},"Vol\n\n\n\n\n\nDown"]
[{x:-3,c:"#e6e067"},"Vol\n\n\n\n\n\nUp",{c:"#cfc82b",h:2},"Stop\n\n\nAudio",{h:2},"Play\n\n\nAudio\n\n\nPause"],
[{x:-3,c:"#e6e067"},"Vol\n\n\n\n\n\nDown"]


M keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.png => keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.png +0 -0
M keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.txt => keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.txt +20 -20
@@ 1,24 1,24 @@
[{x:3.5,c:"#a3a3a3"},"F3",{x:10.5},"F8"],
[{x:3.5,c:"#99de2a"},"F3",{x:10.5},"F8"],
[{y:-0.875,x:2.5},"F2",{x:1},"F4",{x:8.5},"F7",{x:1},"F9"],
[{y:-0.875,x:5.5},"F5",{c:"#ff4444"},"Esc",{x:4.5,c:"#cccccc",a:7},"",{c:"#a3a3a3",a:4},"F6"],
[{y:-0.875,c:"#ff4444",w:1.5},"Esc",{c:"#a3a3a3"},"F1",{x:14.5},"F10",{w:1.5},"F11"],
[{y:-0.375,x:3.5,c:"#bbc6ed"},"{",{x:10.5,c:"#bed4ba"},"8"],
[{y:-0.875,x:2.5,c:"#bbc6ed"},"@",{x:1},"}",{x:8.5,c:"#bed4ba"},"7",{x:1},"9"],
[{y:-0.875,x:5.5,c:"#bbc6ed"},"&",{h:1.5},"<",{x:4.5,h:1.5},">","|"],
[{y:-0.875,c:"#2277ff",fa:[0,0,0,1],w:1.5},"Media\n\n\nL2",{c:"#bbc6ed"},"!",{x:14.5,c:"#bed4ba"},"/",{c:"#a3a3a3",w:1.5},"F12"],
[{y:-0.375,x:3.5,c:"#bbc6ed"},"(",{x:10.5,c:"#bed4ba"},"5"],
[{y:-0.875,x:2.5,c:"#bbc6ed"},"$",{x:1},")",{x:8.5,c:"#bed4ba"},"4",{x:1},"6"],
[{y:-0.875,x:5.5,c:"#bbc6ed"},"`",{x:6.5},"/"],
[{y:-0.875,c:"#000000",t:"#ff0000",w:1.5},"Symbols\n\n\nL1",{c:"#bbc6ed",t:"#000000"},"#",{x:14.5,c:"#bed4ba"},"*",{c:"#000000",t:"#ff0000",w:1.5},"\n\nSymbols\nL1"],
[{y:-0.625,x:6.5,c:"#bfbf67",t:"#000000",h:1.5},"Tab >\n\n\nTab",{x:4.5,h:1.5},"< Tab\n\n\nShift Tab"],
[{y:-0.75,x:3.5,c:"#bbc6ed"},"[",{x:10.5,c:"#bed4ba"},"2"],
[{y:-0.875,x:2.5,c:"#bbc6ed"},"^",{x:1},"]",{x:8.5,c:"#bed4ba"},"1",{x:1},"3"],
[{y:-0.875,x:5.5,c:"#bbc6ed"},"~",{x:6.5},"\\"],
[{y:-0.875,c:"#cccccc",a:7,w:1.5},"",{c:"#bbc6ed",a:4},"%",{x:14.5,c:"#bed4ba"},"-",{c:"#2277ff",w:1.5},"\n\nCaps Lock"],
[{y:-0.375,x:3.5,c:"#cccccc",a:7},"",{x:10.5,c:"#bed4ba",a:4},"."],
[{y:-0.875,x:2.5,c:"#cccccc",a:7},"",{x:1},"",{x:8.5,c:"#bed4ba",a:4},"0",{x:1},"="],
[{y:-0.75,x:0.5,c:"#cccccc",a:7},"","",{x:14.5,c:"#bed4ba",a:4},"+","Enter"],
[{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#bfbf67"},"Left","Right"],
[{y:-0.875,x:5.5},"F5",{c:"#ff4444"},"Esc",{x:4.5,c:"#cccccc",a:7},"",{c:"#99de2a",a:4},"F6"],
[{y:-0.875,c:"#2277ff",w:1.5},"Shift\n\n\n\n\n\nLock",{c:"#99de2a"},"F1",{x:14.5},"F10",{c:"#2277ff",w:1.5},"\n\nShift\n\n\n\n\nLock"],
[{y:-0.375,x:3.5,c:"#c4e0bf"},"{",{x:10.5,c:"#89b087"},"8"],
[{y:-0.875,x:2.5,c:"#c4e0bf"},"@",{x:1},"}",{x:8.5,c:"#89b087"},"7",{x:1},"9"],
[{y:-0.875,x:5.5,c:"#c4e0bf"},"&",{h:1.5},"<",{x:4.5,h:1.5},">","|"],
[{y:-0.875,c:"#2277ff",w:1.5},"Media\n\n\n\n\n\nShift",{c:"#c4e0bf"},"!",{x:14.5,c:"#89b087"},"/",{c:"#2277ff",w:1.5},"\n\nMedia\n\n\n\n\nShift"],
[{y:-0.375,x:3.5,c:"#c4e0bf"},"(",{x:10.5,c:"#89b087"},"5"],
[{y:-0.875,x:2.5,c:"#c4e0bf"},"$",{x:1},")",{x:8.5,c:"#89b087"},"4",{x:1},"6"],
[{y:-0.875,x:5.5,c:"#c4e0bf"},"`",{x:6.5},"/"],
[{y:-0.875,c:"#000000",t:"#ff0000",w:1.5},"Symbols\n\n\n\n\n\nShift",{c:"#c4e0bf",t:"#000000"},"#",{x:14.5,c:"#89b087"},"*",{c:"#000000",t:"#ff0000",w:1.5},"\n\nSymbols\n\n\n\n\nShift"],
[{y:-0.625,x:6.5,c:"#54d6de",t:"#000000",fa:[0,0,0,1],h:1.5},"Tab >\n\n\nTab",{x:4.5,h:1.5},"< Tab\n\n\nShift Tab"],
[{y:-0.75,x:3.5,c:"#c4e0bf"},"[",{x:10.5,c:"#89b087"},"2"],
[{y:-0.875,x:2.5,c:"#c4e0bf"},"^",{x:1},"]",{x:8.5,c:"#89b087"},"1",{x:1},"3"],
[{y:-0.875,x:5.5,c:"#c4e0bf"},"~",{x:6.5},"\\"],
[{y:-0.875,c:"#2277ff",f2:1,w:1.5},"Capitals\nShift\n\n\n\n\nShift",{c:"#c4e0bf"},"%",{x:14.5,c:"#89b087"},"-",{c:"#2277ff",fa:[0,1,0,1],w:1.5},"\n\nCapitals\nShift\n\n\n\nShift"],
[{y:-0.375,x:3.5,c:"#cccccc",a:7},"",{x:10.5,c:"#89b087",a:4},"."],
[{y:-0.875,x:2.5,c:"#cccccc",a:7},"",{x:1},"",{x:8.5,c:"#89b087",a:4},"0",{x:1},"="],
[{y:-0.75,x:0.5,c:"#cccccc",a:7},"","",{x:14.5,c:"#89b087",a:4},"+","Enter"],
[{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#54d6de"},"Left","Right"],
[{h:2},"Space",{h:2},"Enter","Up"],
[{x:2},"Down"],
[{r:-30,rx:13,y:-1,x:-3},"Home","End"],

M keyboard/ergodox_ez/keymaps/ordinary/ordinary.hex => keyboard/ergodox_ez/keymaps/ordinary/ordinary.hex +1177 -1117
@@ 1,1119 1,1179 @@
:100000000C9465020C94A9020C94A9020C94A90208
:100010000C94A9020C94A9020C94A9020C94A902B4
:100020000C94A9020C94A9020C94B00B0C94820CB1
:100030000C94A9020C94A9020C94A9020C94A90294
:100040000C94A9020C940B210C94A9020C94A90203
:100050000C94A9020C94AD1A0C94A9020C94A90258
:100060000C94A9020C94A9020C94A9020C94A90264
:100070000C94A9020C94A9020C94A9020C94A90254
:100080000C94A9020C94A9020C94A9020C94A90244
:100090000C94A9020C94A9020C94A9020C94A90234
:1000A0000C94A9020C94A9020C94A902E70C090D66
:1000B000F40D090DF40D4B0D6E0DF40DC30DD60DA1
:1000C000C310C310F110F11033116F116F136F13C0
:1000D00087116F137E127E1249136F136F135D1316
:1000E0000000F0A135002B000152E100E00000000B
:1000F0001E00140004001D7100774E001F001A003E
:1001000016001B00007F4C002000080007000600BE
:10011000E2002A002100150009001900E3004B004D
:10012000220017000A00050000004A0029002F00E5
:1001300000002B0200004D002D00300000002B00BD
:100140000000500023001C000B00110000004F00B5
:10015000240018000D001000E700520025000C00DC
:100160000E003600E6002C00260012000F003700BB
:10017000007F2800270013003300387100775100FA
:100180002E0031823481E500E40000002900025293
:1001900001000100010000003A001E0220022202BC
:1001A000010051003B001F02210223020100280030
:1001B0003C002F0226022F0001002C003D003002DF
:1001C00027023000010052003E00240235003502B3
:1001D000000050000100360200002B0000004F001C
:1001E0000100370200002B0200004A003F003102EC
:1001F0003800310000004D0040005F005C005900F5
:1002000062004B00410060005D005A0037004C0066
:10021000420061005E005B0067002A00430054005A
:100220005500560057004E004400450001003900BB
:1002300058000000290002520100010001000000E6
:10024000A5000100010001000100B500A6000100A9
:10025000F200010001000100A800F000F100F1002F
:10026000F400B600AA00F900F3000100FA00B4009F
:10027000A9000100010001000000B8000100F90020
:100280000000FA000000B9000100F9000000FA00C7
:100290000000AC00010001004A0001000000AB00BA
:1002A0004600F9005000FA000100A9004B0052007E
:1002B000510051004E00AE00B30001004F0001009C
:1002C0000100AD00B10001004D0001000100AA00D5
:1002D00001000100010001000100000016034500BB
:1002E000720067006F0044006F0078002000450036
:1002F0005A00000016034500720067006F004400BA
:100300006F007800200045005A0000000403090433
:1003100009026D00040100A0FA09040000010301B4
:100320000100092111010001223F00070581030896
:10033000000A090401000103010200092111010062
:1003400001224D000705820308000A09040200018A
:100350000300000009211101000122360007058376
:100360000308000A09040300010300000009211129
:100370000100012239000705840310000112011059
:100380000100000008EDFE07130100010200010555
:10039000010906A101050719E029E71500250195C6
:1003A0000875018102050819012905950575019156
:1003B000029501750391010507190029771500259C
:1003C00001957875018102C005010980A1018502AE
:1003D00016010026B7001A01002AB7007510950112
:1003E0008100C0050C0901A1018503160100269CAE
:1003F000021A01002A9C02751095018100C00501B6
:100400000902A1010901A100050919012905150029
:10041000250195057501810295017503810105018D
:10042000093009311581257F950275088106093843
:100430001581257F950175088106050C0A3802157E
:1004400081257F950175088106C0C005010906A1B7
:1004500001050719E029E7150025019508750181B7
:100460000295017508810105081901290595057591
:100470000191029501750391010507190029FF15E6
:100480000025FF950675088100C0000000000000EF
:100490000000000000010204060A0F17202C3A4A4F
:1004A0005D71879DB3C7DAE9F5FCFFFCF5E9DAC7B2
:1004B000B39D87715D4A3A2C20170F0A060402018A
:1004C0000000000000000000000011241FBECFEF5C
:1004D000DAE0DEBFCDBF04B603FE24C08091EE019A
:1004E0009091EF01A091F001B091F1018730904B14
:1004F000A740B04BB9F41092EE011092EF011092A8
:10050000F0011092F10114BE84B7877F84BF88E1A7
:100510000FB6F89480936000109260000FBEE0E088
:10052000FFE3099511E0A0E0B1E0EAE9F5E402C0DB
:1005300005900D92A433B107D9F721E0A4E3B1E00F
:1005400001C01D92AE3EB207E1F70E94F6080C947E
:10055000CB220C94000061110BC0FC018281882326
:1005600021F085EE0E94570F03C085EE0E941F10F8
:1005700080E090E0089508956091B1017091B2011A
:100580008091B3019091B4010E94D91956985E9858
:1005900025982D9826982E9827982F98813019F015
:1005A000823021F00895259A2D9A0895269A2E9A40
:1005B00008950C94BC0256985E9825982D9826981C
:1005C0002E9827982F988FEF90E090938900809332
:1005D000880090938B0080938A0090938D00809385
:1005E0008C00259A2D9A2FEF80E792E021508040D1
:1005F0009040E1F700C00000269A2E9A2FEF80E786
:1006000092E0215080409040E1F700C00000279A1E
:100610002F9A2FEF80E792E0215080409040E1F741
:1006200000C0000025982D982FEF80E792E0215020
:1006300080409040E1F700C0000026982E982FEFF0
:1006400080E792E0215080409040E1F700C0000038
:1006500027982F9856985E9825982D9826982E982A
:1006600027982F98089589EA8093800089E08093E5
:10067000810024982C983F988AB18F748AB96E981B
:10068000479A8BB1806B8BB9769A0E94DB020C94EF
:10069000BB0280E2809300018091340181110EC081
:1006A0000E94980381E0809334012FEF83ED90E363
:1006B000215080409040E1F700C0000080E40E949B
:1006C0009E038093000181112EC00E94C803809375
:1006D0000001811128C00E94C8038093000181118C
:1006E00022C08FE30E94C8038093000181111BC0C8
:1006F0000E94C00380E40E949E0380930001811148
:1007000012C08CE00E94C8038093000181110BC0CD
:100710000E94C80380930001811105C08FE30E94ED
:10072000C803809300010E94C003809100010895D6
:100730001092B9008AE08093B800089594EA9093EB
:10074000BC009091BC0097FFFCCF9091B900987FBE
:10075000983021F0903111F081E008958093BB0032
:1007600084E88093BC008091BC0087FFFCCF80911F
:10077000B900887F883111F0803471F780E00895E6
:1007800084E98093BC008091BC0084FDFCCF089577
:100790008093BB0084E88093BC008091BC0087FFFD
:1007A000FCCF9091B900987F81E0983209F480E005
:1007B000089584E88093BC008091BC0087FFFCCF43
:1007C0008091BB00089580910001811115C080E4E3
:1007D0000E949E038093000181110CC082E10E945F
:1007E000C80380930001811105C08FEF0E94C803E8
:1007F000809300010E94C00384B1807F84B985B1D9
:10080000807F85B98AB1837F8AB98BB1837F8BB9A9
:100810003E98469808950E944903809300010E94E3
:10082000E30380B38C7080BB81B3836F81BBE4E44E
:10083000F1E0A6E3B1E011921D9281E0E235F80704
:10084000D1F70C943303BF92CF92DF92EF92FF92D5
:100850000F931F93CF93DF9380910001882379F04A
:10086000809135018F5F80933501811108C00E940E
:10087000490380930001811102C00E94DB0206E35C
:1008800011E0C0E0D0E0DD24D39482E0C82EEE2455
:10089000E394F12CC73000F580910001811162C012
:1008A00080E40E949E0380930001811112C082E1C6
:1008B0000E94C8038093000181110BC0C7010C2E58
:1008C00001C0880F0A94EAF780950E94C8038093BC
:1008D00000010E94C00346C0CA30A1F028F4C8300D
:1008E00059F0C93061F005C0CC3089F070F0CD30DE
:1008F00089F0209A289810C0219A29980DC0229A30
:100900002A980AC0239A2B9807C0529A01C0539A7A
:100910005B9802C03E9A4698E0EAEA95F1F78FB1FB
:1009200079995AC092E081708D25892B7C9B02C0F9
:1009300090E001C094E0892B7D9B02C090E001C053
:1009400098E0892B7E9B02C090E001C090E1892B4A
:100950009FB19095991F9927991F9295990F907E15
:10096000892B0FC08091000181114BC080E40E944F
:100970009E0380930001882389F1B12C0E94C0035B
:100980008B2DF8019081981719F08083C092010196
:100990000E94E30321960F5F1F4FCE30D10509F06F
:1009A00079CF80910101882371F1815080930101F9
:1009B000882339F08FE99FE00197F1F700C000002C
:1009C00022C0A4E4B1E0E6E3F1E081918D9391E0EF
:1009D000E434F907D1F717C090E0A5CF83E10E9476
:1009E000C803809300018111C8CF81E40E949E0357
:1009F000809300018111C1CF0E94D903B82EB09419
:100A0000BDCF80E0BECF0E94D90281E0DF91CF91BF
:100A10001F910F91FF90EF90DF90CF90BF900895BE
:100A2000E82FF0E0EC5BFE4F8081089508958B3B4A
:100A3000910578F4883A910540F5853A9105D0F40E
:100A40008430910508F0B1C08130910509F4ADC042
:100A50006BC0803E910508F467C0883E910508F49C
:100A6000A4C09C01205F31092031310508F05CC031
:100A700090650895853A910509F459C0863A910523
:100A800009F458C083E890E40895883A910509F480
:100A900054C0893A910509F453C08A3A910509F482
:100AA00052C08B3A910509F451C08C3A910509F472
:100AB00050C08D3A910509F44FC0803B910509F46F
:100AC0004EC08E3A910509F44DC08F3A910509F454
:100AD0004CC0813B910509F44BC0823B910509F460
:100AE0004AC0833B910509F449C0843B910509F450
:100AF00048C0853B910509F447C0863B910509F440
:100B000046C0873B910509F445C0883B910509F42F
:100B100044C0893B910509F443C08A3B910509F023
:100B200042C08AE296E4089580E090E0089581E86A
:100B300090E4089582E890E4089582EE94E40895A4
:100B400089EE94E408958AEE94E4089585EB94E4A4
:100B5000089586EB94E4089587EB94E408958CEC73
:100B600094E408958DEC94E4089583E895E4089561
:100B70008AE895E4089582E995E4089584E995E486
:100B8000089581E296E4089583E296E4089584E26C
:100B900096E4089585E296E4089586E296E4089541
:100BA00087E296E4089580E094E40895089596E03D
:100BB000799FF001112494E5899FE00DF11D112426
:100BC000E60FF11DEE0FFF1FEC51FF4F8591949141
:100BD0000895880F991F805A9040FC018591949147
:100BE0000895880F991F80529F4FFC018591949121
:100BF000089526E0729FF001112444E5849FE00DE2
:100C0000F11D1124E60FF11DEE0FFF1FEC51FF4FF8
:100C100025913491C9019A9581159F4110F4C9011C
:100C20000895C90190528115904128F4C9019F701F
:100C30000E94F1050895C90190538115904120F457
:100C4000C9019927906C0895211580E5380769F44A
:100C50000E9490139FEF24E34CE0915020404040CD
:100C6000E1F700C000000C94D21A213080E538076B
:100C700031F48091CC0181608093CC010895C90149
:100C800090558115904108F050C0832F99278F709F
:100C9000992781309105D9F4A9014370552702C0E5
:100CA000880F991F4A95E2F79C68A90164E0440FF8
:100CB000551F6A95E1F744275370842B952B73E0F9
:100CC000220F331F7A95E1F7207633271DC082303B
:100CD000910529F4922F8827816F906A08958330B7
:100CE0009105A9F4A9014370552781E090E002C065
:100CF000880F991F4A95E2F79C6843E0220F331F43
:100D00004A95E1F7207E3770822B932B0895049744
:100D1000F1F4A9014370552781E090E002C0880FEB
:100D2000991F4A95E2F79A68E8CFC9019057811553
:100D3000904120F4C9019F7090620895C9019058B4
:100D40008115904120F4C9019F70906A0895203E5A
:100D50003105E0F4203C310558F52133310509F423
:100D600070C048F42932310509F464C02A323105D3
:100D700009F46EC074C029333105F1F02238310511
:100D8000D9F02533310509F44EC069C0233E310541
:100D900089F138F4203E3105C1F0223E3105E1F001
:100DA0005EC0263E310569F1273E3105A9F157C0E5
:100DB000C9010E94E90508958091DF0180FD02C00C
:100DC00081FF4DC080EE90E04BC08091DF0180FF3D
:100DD000F9CF89E390E044C08091DF0182FF0EC02B
:100DE0008091DF0184FF03C080E090E039C083EE92
:100DF00090E036C08091DF0182FFF2CF82EE90E07A
:100E00002FC08091DF0183FF0BC08091DF0184FD43
:100E1000EBCF87EE90E024C08091DF0183FFF5CF18
:100E200086EE90E01DC08091DF0185FF07C089E25A
:100E300090E016C08091DF0185FFF9CF85E390E057
:100E40000FC08091DF0186FF07C08AE290E008C0F2
:100E50008091DF0186FFF9CF81E390E001C0C901F5
:100E60000E941705089508950C943307809162013C
:100E70000895CF93DF9300D01F92CDB7DEB72091B6
:100E8000E501243019F523E029839B838A8320938D
:100E9000E9008FEF9091E800815095FD06C095ED37
:100EA0009A95F1F700008111F5CF8091E80085FF58
:100EB0000DC040E050E063E070E0CE0101960E947A
:100EC000A3098091E8008E778093E8000F900F903F
:100ED0000F90DF91CF910895CF93DF9300D01F92B1
:100EE000CDB7DEB72091E501243021F522E029833A
:100EF0009B838A8383E08093E9008FEF9091E800E1
:100F0000815095FD06C095ED9A95F1F7000081118D
:100F1000F5CF8091E80085FF0DC040E050E063E030
:100F200070E0CE0101960E94A3098091E8008E77BF
:100F30008093E8000F900F900F90DF91CF9108956C
:100F40002091E5012430F1F422E02093E9002FEF15
:100F50003091E800215035FD06C035ED3A95F1F7A6
:100F600000002111F5CF2091E80025FF0BC040E0E3
:100F700050E065E070E00E94A3098091E8008E7760
:100F80008093E8000895CF93DF93EC018091E50111
:100F9000843009F046C090910C019923D9F09091CA
:100FA0000D019923B9F08093E9008FEF9091E8004B
:100FB000815095FD06C095E19A95F1F700008111E9
:100FC000F5CF8091E80085FF2CC040E050E060E163
:100FD00070E017C081E08093E9008FEF9091E80006
:100FE000815095FD06C095ED9A95F1F700008111AD
:100FF000F5CF8091E80085FF14C040E050E068E044
:1010000070E0CE010E94A3098091E8008E77809362
:10101000E80080E1FE01A2E5B1E001900D928A9521
:10102000E1F7DF91CF9108958091E401811109C02A
:101030000E94350B0E94920B8091E20084608093A5
:10104000E20008951092E401089508950C94F820A8
:101050000E94691A0E94FE200E942F0E0C943407F1
:1010600042E061EC81E00E94AF0A42E061EC82E084
:101070000E94AF0A42E061EC83E00E94AF0A42E1C5
:1010800061EC84E00C94AF0A8091E701833009F4AD
:1010900055C030F4813071F0823009F48EC008956B
:1010A0008A3009F47AC08B3009F460C0893009F0C5
:1010B0009CC020C08091E601813A09F096C08091E1
:1010C000E800877F8093E8008091EA019091EB012E
:1010D000892B21F060E080E090E003C060E182E5D0
:1010E00091E070E00E94EC098091E8008B7780939A
:1010F000E80008958091E601813209F076C0809180
:10110000EA019091EB01009719F0039709F06DC087
:101110008091E800877F8093E8008091E80082FD5D
:1011200005C08091E5018111F8CF5FC08091F10089
:10113000809362018091E8008B7753C08091E60133
:10114000813A09F052C08091EA019091EB01892B1C
:1011500009F04BC08091E800877F8093E800809180
:10116000E80080FFFCCF80910C0136C08091E60141
:101170008132D9F58091EA019091EB01892BA9F593
:101180008091E800877F8093E8000E94E40A8091C4
:10119000E80180930C010C9490138091E601813258
:1011A00021F58091E800877F8093E8000E94E40A9F
:1011B0008091E9018093630108958091E601813A6D
:1011C000A1F48091E800877F8093E8008091E80097
:1011D00080FFFCCF809163018093F1008091E80053
:1011E0008E778093E8000C94E40A089584B7877F93
:1011F00084BF88E10FB6F89480936000109260007D
:101200000FBE90E080E80FB6F89480936100909351
:1012100061000FBE0E947E0E0E94350B0E94920B51
:101220008091E20084608093E20078940E940D0E29
:101230000E94800E82E091E00E942A0E0E94E62029
:101240008091E501853069F40E942C1A8091E301B8
:101250008823B1F30E94541A882391F30E948D09C8
:10126000EFCF0E94860EECCF292F33272330310594
:10127000A9F06CF42130310509F442C02230310567
:1012800009F043C08DE690E020E133E042C0213216
:101290003105C9F02232310519F137C09927813063
:1012A000910541F08230910541F0892B71F5ECE018
:1012B000F3E005C0E4EFF2E002C0ECEDF2E084916F
:1012C00090E09F0126C0643000F5E62FF0E0EE0FBD
:1012D000FF1FEE5DFE4F2081318189E090E019C053
:1012E000643098F4E62FF0E0DF01AA0FBB1FA65E82
:1012F000BE4F2D913C91EA5EFE4F808190E009C087
:1013000082E190E02DE733E004C080E090E020E04F
:1013100030E0FA0131832083089580E189BD82E1C4
:1013200089BD09B400FEFDCF8091D8008F7D8093E8
:10133000D8008091E00082608093E0008091E0001E
:1013400081FDFCCF0895CF92DF92EF92FF920F9331
:101350001F93CF93DF937C018B01EA010E94050B61
:10136000811131C0209731F088819981081B190BB8
:10137000E80EF91EC12CD12C0115110519F180912F
:10138000E80085FD14C08091E8008E778093E80026
:10139000209741F0888199818C0D9D1D99838883C8
:1013A00085E011C00E94050B882331F30CC0F701C2
:1013B00081917F018093F10001501109FFEFCF1A55
:1013C000DF0ADACF80E0DF91CF911F910F91FF907C
:1013D000EF90DF90CF9008952091EC013091ED01D6
:1013E0002617370748F06115710539F42091E80098
:1013F0002E772093E80001C0B901FC0120E06115BF
:101400007105B9F18091E501882309F440C0853068
:1014100009F43FC08091E80083FD3DC08091E80061
:1014200082FF06C08091E80082FF26C080E0089518
:101430008091E80080FFE3CF2091F3008091F200DB
:1014400090E0922B6115710551F08830910538F4C8
:1014500021912093F100615071090196F3CF21E0B1
:10146000089709F020E08091E8008E778093E800EB
:10147000C6CF2111C7CFD6CF8091E501882339F09F
:10148000853039F08091E80083FFCCCF04C082E042
:10149000089583E0089581E008952091EC01309152
:1014A000ED012617370748F06115710539F42091D1
:1014B000E8002E772093E80001C0B901FC0120E08C
:1014C00061157105C1F18091E501882309F441C0DE
:1014D000853009F440C08091E80083FD3EC08091D2
:1014E000E80082FF06C08091E80082FF27C080E00C
:1014F00008958091E80080FFE3CF2091F300809170
:10150000F20090E0922B6115710559F08830910539
:1015100040F424912093F1003196615071090196B5
:10152000F2CF21E0089709F020E08091E8008E7763
:101530008093E800C5CF2111C6CFD5CF8091E501BA
:10154000882339F0853039F08091E80083FFCBCFD4
:1015500004C082E0089583E0089581E00895982F03
:10156000973058F59093E900981739F07091EC0096
:101570002091ED005091F00003C0242F762F50E011
:1015800021FF19C03091EB003E7F3093EB0030918A
:10159000ED003D7F3093ED003091EB0031603093F2
:1015A000EB007093EC002093ED005093F00020913D
:1015B000EE0027FF07C09F5FD3CF8F708093E900B5
:1015C00081E0089580E008958091E60187FD05C0DF
:1015D0008091E80080FF0EC012C08091E80082FD7B
:1015E00005C08091E5018111F8CF08958091E80050
:1015F0008B7708C08091E5018111EACF0895809131
:10160000E8008E778093E80008958091E40090913F
:10161000E50045E62091EC0020FF21C02091E80084
:1016200020FD21C02091E501222389F0253089F099
:101630002091EB0025FD0FC02091E4003091E500E2
:101640002817390739F3415041F0C901E3CF82E04F
:10165000089583E0089581E0089584E0089520913D
:10166000E80022FFDFCF80E008950E94A30B0E94D4
:10167000AB0BE0EEF0E0808181608083E8EDF0E08C
:1016800080818F77808319BCA7EDB0E08C918E7F2D
:101690008C9380818F7E80831092E40108950F9354
:1016A0001F93CF93DF930E94A30B0E94AB0BC8ED57
:1016B000D0E088818F77888388818068888388815B
:1016C0008F7D888319BC1092E5011092E101109280
:1016D000E3011092E20100EE10E0F80180818B7FBF
:1016E000808388818160888342E060E080E00E949E
:1016F000AF0AE1EEF0E080818E7F8083E2EEF0E0E1
:10170000808181608083808188608083F80180810E
:101710008E7F8083888180618883DF91CF911F9144
:101720000F910895E8EDF0E080818F7E8083E7EDF2
:10173000F0E080818160808384E082BF81E08093DB
:10174000E4010C944F0BE8EDF0E080818E7F808304
:101750001092E20008951092DA001092E1000895CC
:101760001F920F920FB60F9211242F933F934F9316
:101770005F936F937F938F939F93AF93BF93EF93F9
:10178000FF938091E10082FF0BC08091E20082FF15
:1017900007C08091E1008B7F8093E1000E940C0ED6
:1017A0008091DA0080FF1FC08091D80080FF1BC0AD
:1017B0008091DA008E7F8093DA008091D90080FFDB
:1017C0000DC080E189BD82E189BD09B400FEFDCF75
:1017D00081E08093E5010E94140805C019BC1092B5
:1017E000E5010E9422088091E10080FF19C08091EC
:1017F000E20080FF15C08091E2008E7F8093E200BE
:101800008091E20080618093E2008091D800806244
:101810008093D80019BC85E08093E5010E942608DA
:101820008091E10084FF30C08091E20084FF2CC0F1
:1018300080E189BD82E189BD09B400FEFDCF8091C0
:10184000D8008F7D8093D8008091E1008F7E8093B7
:10185000E1008091E2008F7E8093E2008091E200BF
:1018600081608093E2008091E101882311F084E09F
:1018700007C08091E30087FF02C083E001C081E0E0
:101880008093E5010E9428088091E10083FF29C030
:101890008091E20083FF25C08091E100877F8093E3
:1018A000E10082E08093E5011092E1018091E10086
:1018B0008E7F8093E1008091E2008E7F8093E20032
:1018C0008091E20080618093E20042E060E080E08D
:1018D0000E94AF0A8091F00088608093F0000E941F
:1018E0002508FF91EF91BF91AF919F918F917F91CB
:1018F0006F915F914F913F912F910F900FBE0F907D
:101900001F9018951F920F920FB60F9211242F93CC
:101910003F934F935F936F937F938F939F93AF9377
:10192000BF93CF93EF93FF93C091E900CF70809165
:10193000EC001092E9008091F000877F8093F00026
:1019400078940E94BE0C1092E9008091F0008860AB
:101950008093F000C093E900FF91EF91CF91BF9188
:10196000AF919F918F917F916F915F914F913F9137
:101970002F910F900FBE0F901F9018951F93CF932C
:10198000DF93CDB7DEB7AA970FB6F894DEBF0FBED0
:10199000CDBFE6EEF1E08091F100819321E0EE3ED3
:1019A000F207C9F70E9444088091E80083FF1CC138
:1019B0002091E6013091E701832F90E08A30910574
:1019C00008F012C1FC01EA5AFF4F0C948022203823
:1019D00081F0223809F008C18091EA018F7080936C
:1019E000E9008091EB0085FB882780F91092E900DF
:1019F00006C08091E2019091E30191118260909183
:101A0000E800977F9093E8008093F1001092F10036
:101A1000C5C0822F8D7F09F0E7C0222319F0223044
:101A200061F0E2C08091E801813009F0DDC033301F
:101A300009F080E08093E30128C08091E8018111E2
:101A400024C02091EA012F7009F4CEC02093E90050
:101A50008091EB0080FF19C08091EB00333011F4CE
:101A6000806211C080618093EB0081E090E0022EE3
:101A700001C0880F0A94EAF78093EA001092EA0006
:101A80008091EB0088608093EB001092E9008091D8
:101A9000E800877F86C02111A7C01091E8011F7759
:101AA0008091E3008078812B8093E3008091E800AF
:101AB000877F8093E8000E94E40A8091E80080FF1D
:101AC000FCCF8091E30080688093E300112311F044
:101AD00083E001C082E08093E50186C02058223077
:101AE00008F082C08091E8019091E9018C3D23E0EB
:101AF000920779F583E08A838AE289834FB7F89465
:101B0000DE01139620E03EE051E2E32FF0E0509337
:101B10005700E49120FF03C0E295EF703F5FEF7044
:101B20008E2F90E0EA3010F0C79601C0C0968D93DA
:101B30009D932F5F243149F74FBF8091E800877F45
:101B40008093E8006AE270E0CE0101960E94EC0901
:101B500014C0AE014F5F5F4F6091EA010E943409EB
:101B6000009709F441C02091E800277F2093E80006
:101B7000BC0189819A810E944D0A8091E8008B778F
:101B80008093E80031C0203879F58091E800877FA4
:101B90008093E8008091E1018093F1008091E8005A
:101BA0008E778093E8000E94E40A1EC021111CC0B9
:101BB0009091E8019230C0F48091E800877F809393
:101BC000E8009093E1010E94E40A8091E101811113
:101BD00004C08091E30087FF02C084E001C081E07F
:101BE0008093E5010E9430088091E80083FF0AC0DD
:101BF0008091E800877F8093E8008091EB0080620D
:101C00008093EB00AA960FB6F894DEBF0FBECDBF4F
:101C1000DF91CF911F9108950895CF938091E501B1
:101C20008823B1F08091E9008F709091EC0090FFD3
:101C300002C090E801C090E0C92FC82B1092E900C3
:101C40008091E80083FD0E94BE0CCF70C093E90034
:101C5000CF91089590936901809368010895E09170
:101C60006801F0916901309721F00190F081E02D39
:101C7000099480E00895E0916801F091690130973E
:101C800021F00280F381E02D09940895E09168012C
:101C9000F0916901309721F00480F581E02D0994DD
:101CA000089520916601309167018217930771F0C2
:101CB0009093670180936601E0916801F09169015A
:101CC000309721F00680F781E02D09940895209146
:101CD0006401309165018217930771F0909365015B
:101CE00080936401E0916801F0916901309721F0DF
:101CF0000084F185E02D0994089508950C947D0EDB
:101D00000E946F1A0E940B040C94351BCF92DF9235
:101D1000EF92FF920F931F93CF93DF93CDB7DEB770
:101D20002B970FB6F894DEBF0FBECDBF0E942304E1
:101D30003BE6E32E31E0F32E00E010E0C02E802FD2
:101D40000E941005F701D1907F01D826B1F40F5FF2
:101D50001F4F0E30110591F78FEF89838A831B8205
:101D60000E94781A8160782F9D838C8349815A81E3
:101D70006B818D810E94290F41C09091CC0191FF10
:101D800004C08B870E9416058B8520E030E04D2D26
:101D900050E0922FBA01022E02C0759567950A9401
:101DA000E2F760FF25C02E83CF82EE24E394F12C6E
:101DB00002C0EE0CFF1C9A95E2F790E08E219F2165
:101DC00021E0892B09F420E028870E94781A81609D
:101DD000782F9A8789874E815F8168858A850E94DE
:101DE000290FF801E559FE4F80818E25808306C0BA
:101DF0002F5F3F4F2630310561F6A9CF0E94191E93
:101E000010916A010E942F0E1817A1F00E942F0E48
:101E100080936A012B960FB6F894DEBF0FBECDBF3C
:101E2000DF91CF911F910F91FF90EF90DF90CF90B6
:101E30000C9434072B960FB6F894DEBF0FBECDBFBF
:101E4000DF91CF911F910F91FF90EF90DF90CF9096
:101E50000895CF93DF93CDB7DEB72B970FB6F894E5
:101E6000DEBF0FBECDBF4F83588769877A878B87C8
:101E7000DE01119686E0FD0111928A95E9F785E071
:101E8000FE01379601900D928A95E1F749815A81BA
:101E90006B817C818D819E810E945C162B960FB692
:101EA000F894DEBF0FBECDBFDF91CF910895CF93E1
:101EB000C82F882309F4C1C0823859F40E942F0E1C
:101EC00081FDBBC089E30E94F9180E94B31989E320
:101ED0000CC0833879F40E942F0E80FDAEC083E5DC
:101EE0000E94F9180E94B31983E50E943919CF9115
:101EF0000C94B319843859F40E942F0E82FD9DC0B2
:101F000087E40E94F9180E94B31987E4EECF8CEFA2
:101F10008C0F813A48F48C2F0E944E2081118DC085
:101F20008C2F0E94F918E3CF80E28C0F883048F4A0
:101F3000C77081E001C0880FCA95EAF70E947A193C
:101F4000D6CF8BE58C0F833078F4C53A29F0C63AAA
:101F500031F482E890E005C081E890E002C083E8B7
:101F600090E0CF910C94510E88E58C0F833108F0EE
:101F700064C0C83A39F1C93A41F1CA3A49F1CB3A99
:101F800051F1CC3A59F1CD3A61F1C03B69F1CE3A09
:101F900071F1CF3A79F1C13B81F1C23B89F1C33B89
:101FA00091F1C43B99F1C53BA1F1C63BA9F1C73BF7
:101FB000B1F1C83BB9F1C93BC1F1CA3BC9F58AE2ED
:101FC00092E038C082EE90E035C089EE90E032C0F9
:101FD0008AEE90E02FC085EB90E02CC086EB90E07D
:101FE00029C087EB90E026C08CEC90E023C08DECFC
:101FF00090E020C083E891E01DC08AE891E01AC01B
:1020000082E991E017C084E991E014C081E292E096
:1020100011C083E292E00EC084E292E00BC085E240
:1020200092E008C086E292E005C087E292E002C03A
:1020300080E090E0CF910C94670ECF9108958823B3
:1020400009F44BC0823859F40E942F0E81FF45C01D
:1020500089E30E94F9180E94B31989E30CC0833800
:1020600071F40E942F0E80FF38C083E50E94F9189A
:102070000E94B31983E50E9439190C94B31984386E
:1020800059F40E942F0E82FF28C087E40E94F9189D
:102090000E94B31987E4EFCF9CEF980F913A58F361
:1020A00090E2980F983050F4877091E001C0990F3A
:1020B0008A95EAF7892F0E948019DFCF9BE5980F58
:1020C000933020F480E090E00C94510E885A8331D4
:1020D00020F480E090E00C94670E0895882321F0AE
:1020E0000E947A190C94B3190895882321F00E9454
:1020F00080190C94B3190895CF92DF92EF92FF925A
:102100000F931F93CF93DF93CDB7DEB728970FB60A
:10211000F894DEBF0FBECDBF8C0185E0F801DE0173
:10212000119601900D928A95E1F7F8014081318175
:10213000F280258122952F7083819481892B31F043
:102140003F3F31F481E04F3F19F403C081E001C00B
:1021500080E080FDC4C249833A8389819A812F83BC
:102160000E94B7189E8388870E94B6180E9489171C
:102170004E81E42FE295EF70F0E0E05AFF4F2F819F
:1021800068850C948022842F807F142F1F708823F1
:1021900011F01295107FFF2059F0112309F454C259
:1021A000812F68870E948A190E94B31968854CC2E2
:1021B000862F0E941F10112309F491C2812F0E94C3
:1021C000901928960FB6F894DEBF0FBECDBFDF91F1
:1021D000CF911F910F91FF90EF90DF90CF900C94D3
:1021E000B319342F307F842F8F70303211F08295E5
:1021F000807F662319F0613019F12BC0FF20B1F008
:10220000222309F493C1213009F090C128960FB61A
:10221000F894DEBF0FBECDBFDF91CF911F910F911C
:10222000FF90EF90DF90CF900C949A19222319F031
:10223000213009F454C28E830E949D198E8189C178
:10224000FF2021F0223008F04AC270C1211147C29C
:1022500080C1FF2021F0222309F468C1F5C12223A7
:1022600009F477C105C2242F26952695237030E006
:102270002115310521F021303105C9F030C2FF2090
:1022800021F0862F942F937002C080E090E0289672
:102290000FB6F894DEBF0FBECDBFDF91CF911F9177
:1022A0000F91FF90EF90DF90CF900C94510EFF2094
:1022B00021F0862F942F937002C080E090E0289642
:1022C0000FB6F894DEBF0FBECDBFDF91CF911F9147
:1022D0000F91FF90EF90DF90CF900C94670E862FB8
:1022E000FF2019F00E94211D02C00E94891D28961E
:1022F0000FB6F894DEBF0FBECDBFDF91CF911F9117
:102300000F91FF90EF90DF90CF900C940E1E842FD2
:10231000837009F076C0F110E2C1262F2295269530
:102320002770220F220F862F8F70C82ED12CE12C00
:10233000F12C022E04C0CC0CDD1CEE1CFF1C0A94F8
:10234000D2F764FF10C06FE070E080E090E004C05E
:10235000660F771F881F991F2A95D2F76095709591
:102360008095909503C060E070E0CB01242F269506
:1023700026952370422F50E042305105D1F0433072
:10238000510559F16C297D298E299F29413051052C
:1023900041F128960FB6F894DEBF0FBECDBFDF9196
:1023A000CF911F910F91FF90EF90DF90CF900C9401
:1023B000AE176C297D298E299F2928960FB6F8948F
:1023C000DEBF0FBECDBFDF91CF911F910F91FF9068
:1023D000EF90DF90CF900C94C8170E94AE17C70102
:1023E000B60128960FB6F894DEBF0FBECDBFDF91C1
:1023F000CF911F910F91FF90EF90DF90CF900C94B1
:102400009417FF2019F0842F817001C086958823CE
:1024100009F465C1262F229526952770220F220FD9
:10242000862F8F70C82ED12CE12CF12C022E04C0E7
:10243000CC0CDD1CEE1CFF1C0A94D2F764FF10C00C
:102440006FE070E080E090E004C0660F771F881FA7
:10245000991F2A95D2F7609570958095909503C045
:1024600060E070E0CB01242F269526952370422F43
:1024700050E042305105D1F04330510559F16C29FB
:102480007D298E299F294130510541F128960FB6AB
:10249000F894DEBF0FBECDBFDF91CF911F910F919A
:1024A000FF90EF90DF90CF900C9482186C297D29DB
:1024B0008E299F2928960FB6F894DEBF0FBECDBF98
:1024C000DF91CF911F910F91FF90EF90DF90CF9010
:1024D0000C949C180E948218C701B60128960FB66A
:1024E000F894DEBF0FBECDBFDF91CF911F910F914A
:1024F000FF90EF90DF90CF900C946818603FC9F187
:1025000018F4603E50F49BC0623F09F460C008F4C8
:102510004AC0633F09F46FC092C0162F1F70842F0A
:102520008F71FF2099F00E940118812F28960FB615
:10253000F894DEBF0FBECDBFDF91CF911F910F91F9
:10254000FF90EF90DF90CF900C946E100E942218B5
:10255000812F28960FB6F894DEBF0FBECDBFDF9156
:10256000CF911F910F91FF90EF90DF90CF900C943F
:102570007510FF20A1F02111B2C0842F8F71289611
:102580000FB6F894DEBF0FBECDBFDF91CF911F9184
:102590000F91FF90EF90DF90CF900C94471822306E
:1025A00008F09DC0EACFFF20A1F0842F8F712896FC
:1025B0000FB6F894DEBF0FBECDBFDF91CF911F9154
:1025C0000F91FF90EF90DF90CF900C940118FF20B7
:1025D00061F3842F8F7128960FB6F894DEBF0FBE7B
:1025E000CDBFDF91CF911F910F91FF90EF90DF90C2
:1025F000CF900C942218FF2091F0842F8F71289691
:102600000FB6F894DEBF0FBECDBFDF91CF911F9103
:102610000F91FF90EF90DF90CF900C94EC172896DD
:102620000FB6F894DEBF0FBECDBFDF91CF911F91E3
:102630000F91FF90EF90DF90CF900C94E217FF2066
:10264000A1F0222309F4B1CF862F28960FB6F89473
:100000000C940B040C944F040C944F040C944F0468
:100010000C944F040C944F040C944F040C944F0414
:100020000C944F040C944F040C946F0D0C94410EDF
:100030000C944F040C944F040C944F040C944F04F4
:100040000C944F040C94EC220C944F040C944F0429
:100050000C944F040C948E1C0C944F040C944F047D
:100060000C944F040C944F040C944F040C944F04C4
:100070000C944F040C944F040C944F040C944F04B4
:100080000C944F040C944F040C944F040C944F04A4
:100090000C944F040C944F040C944F040C944F0494
:1000A0000C944F040C944F040C944F04A60EC80EED
:1000B000B30FC80EB30F0A0F2D0FB30F820F950F9A
:1000C00089128912B712B712F91235133515351581
:1000D0004D133515441444140F15351535152315D6
:1000E000000000810889248935812B850252E100B6
:1000F000E00000001E00140004001D0000774E0008
:100100001F001A0016001B00007F4C002000080092
:1001100007000600E2002A0021001500090019006E
:10012000E3004B00220017000A00050000004A000F
:1001300029002F0000002B0200004D002D00300090
:1001400000002B000000500023001C000B001100D9
:1001500000004F00240018000D001000E7005200BE
:1001600025000C000E003600E6002C0026001200D0
:100170000F003700007F28002700130033003800ED
:10018000007751002E8131853482E500E4000000C3
:100190000100C300C2003900010000002900010075
:1001A0000100010001000100010001000100010047
:1001B0000100010001000100010001000100010037
:1001C0000100010001000100010001000100010027
:1001D0000100010000000100010001000000010019
:1001E000000001000100010000000100000001000A
:1001F00001000100010001000000010001000100F8
:1002000001000100010001000100010001000100E6
:1002100001000100010001000100010001000100D6
:100220000100010001000100010001000100C30004
:10023000C200390001000000010005520252E10035
:10024000010000003A001E022002220201005100BB
:100250003B001F0221022302010028003C002F0264
:1002600026022F0001002C003D0030022702300042
:10027000010052003E00240235003502000050000B
:100280000100360200002B0000004F000100370281
:1002900000002B0200004A003F003102380031000C
:1002A00000004D004000240021001E0027004B00EC
:1002B0004100250022001F0037004C0042002600AC
:1002C000230020002E002A004300380025022D00C4
:1002D0002E024E00010005520252E50028000000E7
:1002E000045205520000E100010000003A001E0225
:1002F00020022202010051003B001F0221022302C2
:10030000010028003C002F0226022F0001002C00D3
:100310003D00300227023000010052003E0024025E
:1003200035003502000050000100360200002B00AD
:1003300000004F000100370200002B0200004A00BD
:100340003F0031023800310000004D004000240021
:1003500021001E0027004B004100250022001F0045
:1003600037004C0042002600230020002E002A0007
:100370004300380025022D002E024E000452055283
:100380000000E5002800000001000654C10039000B
:10039000010000002900010001000100010001002E
:1003A0000100010001000100010001000100010045
:1003B0000100010001000100010001000100010035
:1003C0000100010001000100010001000000010026
:1003D0000100010000000100000001000100010017
:1003E0000000010000000100010001000100010007
:1003F00000000100010001000100010001000100F6
:1004000001000100010001000100010001000100E4
:1004100001000100010001000100010001000100D4
:100420000100010001000654C10039000100000074
:10043000010005520000E100A80000004400660031
:10044000A6000100AA00B50045000100F20001006D
:10045000A90001006800F000F100F100F400B6000E
:1004600069000100F3000100F500B4006A0001001A
:10047000010001000000B8000100F9000000FA00CE
:100480000000B9000100F9000000FA000000AC0013
:100490006B004600530001000000AB006C004A00F6
:1004A00050004D004900A9006D005200510051005C
:1004B0004C00AE006E004B004F004E000100AD003E
:1004C0006F00B100B30001000100AA000100055255
:1004D0000000E50001000000075200000000E100FC
:1004E000A800000044006600A6000100AA00B500B4
:1004F00045000100F2000100A90001006800F000C1
:10050000F100F100F400B60069000100F300010001
:10051000F500B4006A000100010001000000B8000D
:100520000100F9000000FA000000B9000100F90024
:100530000000FA000000AC006B0046005300010010
:100540000000AB006C004A0050004D004900A900BB
:100550006D005200510051004C00AE006E004B0087
:100560004F004E000100AD006F00B100B30001006C
:100570000100AA00075200000000E5000100000091
:100580000100C10001003900010000002900010044
:100590000100010001000100010001000100010053
:1005A0000100010001000100010001000100010043
:1005B0000100010001000100010001000100010033
:1005C0000100010000000100010001000000010025
:1005D0000000010001000100000001000000010016
:1005E0000100010001000100000001000100010004
:1005F00001000100010001000100010001000100F3
:1006000001000100010001000100010001000100E2
:100610000100010001000100010001000100C10012
:100620000100390001000000160345007200670058
:100630006F0044006F007800200045005A00000061
:1006400016034500720067006F0044006F007800D9
:10065000200045005A0000000403090409026D004F
:10066000040100A0FA0904000001030101000921AE
:1006700011010001223F000705810308000A090457
:1006800001000103010200092111010001224D00B6
:100690000705820308000A090402000103000000A4
:1006A0000921110100012236000705830308000A11
:1006B00009040300010300000009211101000122C7
:1006C0003900070584031000011201100100000029
:1006D00008EDFE071301000102000105010906A152
:1006E00001050719E029E715002501950875018125
:1006F00002050819012905950575019102950175F5
:1007000003910105071900297715002501957875D2
:10071000018102C005010980A101850216010026A0
:10072000B7001A01002AB700751095018100C005B5
:100730000C0901A1018503160100269C021A010083
:100740002A9C02751095018100C005010902A101D2
:100750000901A100050919012905150025019505C3
:100760007501810295017503810105010930093187
:100770001581257F95027508810609381581257F29
:10078000950175088106050C0A38021581257F95AB
:100790000175088106C0C005010906A101050719F8
:1007A000E029E7150025019508750181029501757D
:1007B0000881010508190129059505750191029522
:1007C00001750391010507190029FF150025FF9503
:1007D0000675088100C00000000000000000000055
:1007E00000010204060A0F17202C3A4A5D71879D0A
:1007F000B3C7DAE9F5FCFFFCF5E9DAC7B39D877109
:100800005D4A3A2C20170F0A06040201000000007E
:1008100000000000000011241FBECFEFDAE0DEBFB1
:10082000CDBF04B603FE24C08091EF019091F0018A
:10083000A091F101B091F2018730904BA740B04BED
:10084000B9F41092EF011092F0011092F1011092A0
:10085000F20114BE84B7877F84BF88E10FB6F89495
:1008600080936000109260000FBEE0E0FFE3099506
:1008700011E0A0E0B1E0ECE5F9E402C005900D92D2
:10088000A433B107D9F721E0A4E3B1E001C01D9280
:10089000AF3EB207E1F70E94B50A0C94AC240C9469
:1008A000000061110BC0FC018281882321F085EEDC
:1008B0000E94161103C085EE0E94DE1180E090E0D8
:1008C00008950895CF936091B1017091B201809124
:1008D000B3019091B4010E94BA1BC82F56985E983C
:1008E00025982D9826982E9827982F98813011F0CA
:1008F000843029F4259A2D9A269A2E9A04C087309E
:1009000021F4259A2D9A279A2F9A0E94EE0F81FFA3
:1009100002C0259A2D9A8EEF8C0F823010F4269A01
:100920002E9AC550C23010F4279A2F9ACF9108956D
:100930000C94620456985E9825982D9826982E98C7
:1009400027982F988FEF90E09093890080938800EC
:1009500090938B0080938A0090938D0080938C00FD
:10096000259A2D9A2FEF80E792E021508040904009
:10097000E1F700C00000269A2E9A2FEF80E792E060
:10098000215080409040E1F700C00000279A2F9A44
:100990002FEF80E792E0215080409040E1F700C0C7
:1009A000000025982D982FEF80E792E0215080409D
:1009B0009040E1F700C0000026982E982FEF80E7C6
:1009C00092E0215080409040E1F700C0000027985D
:1009D0002F9856985E9825982D9826982E982798A7
:1009E0002F98089589EA8093800089E080938100A0
:1009F00024982C983F988AB18F748AB96E98479A38
:100A00008BB1806B8BB9769A0E949A040C94610426
:100A100080E2809300018091340181110EC00E9418
:100A2000570581E0809334012FEF83ED90E321504F
:100A300080409040E1F700C0000080E40E945D0526
:100A40008093000181112EC00E94870580930001D0
:100A5000811128C00E94870580930001811122C066
:100A60008FE30E9487058093000181111BC00E94C3
:100A70007F0580E40E945D0580930001811112C012
:100A80008CE00E9487058093000181110BC00E94B9
:100A9000870580930001811105C08FE30E948705BF
:100AA000809300010E947F058091000108951092BB
:100AB000B9008AE08093B800089594EA9093BC004E
:100AC0009091BC0097FFFCCF9091B900987F98302F
:100AD00021F0903111F081E008958093BB0084E80B
:100AE0008093BC008091BC0087FFFCCF8091B9004F
:100AF000887F883111F0803471F780E0089584E9AF
:100B00008093BC008091BC0084FDFCCF089580934D
:100B1000BB0084E88093BC008091BC0087FFFCCFC1
:100B20009091B900987F81E0983209F480E00895AF
:100B300084E88093BC008091BC0087FFFCCF80914B
:100B4000BB00089580910001811115C080E40E94CE
:100B50005D058093000181110CC082E10E94870530
:100B600080930001811105C08FEF0E94870580935B
:100B700000010E947F0584B1807F84B985B1807FA8
:100B800085B98AB1837F8AB98BB1837F8BB93E984F
:100B9000469808950E940805809300010E94A205CE
:100BA00080B38C7080BB81B3836F81BBE4E4F1E0E0
:100BB000A6E3B1E011921D9281E0E235F807D1F78A
:100BC0000C94F204BF92CF92DF92EF92FF920F93B8
:100BD0001F93CF93DF9380910001882379F0809158
:100BE00035018F5F80933501811108C00E9408058F
:100BF00080930001811102C00E949A0406E311E073
:100C0000C0E0D0E0DD24D39482E0C82EEE24E3944B
:100C1000F12CC73000F580910001811162C080E4A1
:100C20000E945D0580930001811112C082E10E9443
:100C300087058093000181110BC0C7010C2E01C0F4
:100C4000880F0A94EAF780950E9487058093000137
:100C50000E947F0546C0CA30A1F028F4C83059F080
:100C6000C93061F005C0CC3089F070F0CD3089F02A
:100C7000209A289810C0219A29980DC0229A2A9863
:100C80000AC0239A2B9807C0529A01C0539A5B98C6
:100C900002C03E9A4698E0EAEA95F1F78FB1799959
:100CA0005AC092E081708D25892B7C9B02C090E018
:100CB00001C094E0892B7D9B02C090E001C098E0C8
:100CC000892B7E9B02C090E001C090E1892B9FB1EF
:100CD0009095991F9927991F9295990F907E892B2E
:100CE0000FC08091000181114BC080E40E945D051E
:100CF00080930001882389F1B12C0E947F058B2D00
:100D0000F8019081981719F08083C09201010E9428
:100D1000A20521960F5F1F4FCE30D10509F079CF84
:100D200080910101882371F1815080930101882312
:100D300039F08FE99FE00197F1F700C0000022C071
:100D4000A4E4B1E0E6E3F1E081918D9391E0E43435
:100D5000F907D1F717C090E0A5CF83E10E9487057E
:100D6000809300018111C8CF81E40E945D058093CA
:100D700000018111C1CF0E949805B82EB094BDCF5B
:100D800080E0BECF0E94980481E0DF91CF911F9157
:100D90000F91FF90EF90DF90CF90BF900895E82FD4
:100DA000F0E0EC5BFE4F8081089508958B3B910548
:100DB00078F4883A910540F5853A9105D0F484306D
:100DC000910508F0B1C08130910509F4ADC06BC048
:100DD000803E910508F467C0883E910508F4A4C0E0
:100DE0009C01205F31092031310508F05CC090651D
:100DF0000895853A910509F459C0863A910509F498
:100E000058C083E890E40895883A910509F454C0E5
:100E1000893A910509F453C08A3A910509F452C000
:100E20008B3A910509F451C08C3A910509F450C0F0
:100E30008D3A910509F44FC0803B910509F44EC0ED
:100E40008E3A910509F44DC08F3A910509F44CC0D2
:100E5000813B910509F44BC0823B910509F44AC0DE
:100E6000833B910509F449C0843B910509F448C0CE
:100E7000853B910509F447C0863B910509F446C0BE
:100E8000873B910509F445C0883B910509F444C0AE
:100E9000893B910509F443C08A3B910509F042C0A2
:100EA0008AE296E4089580E090E0089581E890E475
:100EB000089582E890E4089582EE94E4089589EE1E
:100EC00094E408958AEE94E4089585EB94E40895FB
:100ED00086EB94E4089587EB94E408958CEC94E415
:100EE00008958DEC94E4089583E895E408958AE8E4
:100EF00095E4089582E995E4089584E995E40895D8
:100F000081E296E4089583E296E4089584E296E40B
:100F1000089585E296E4089586E296E4089587E2CE
:100F200096E4089580E094E40895089596E0799F0A
:100F3000F001112494E5899FE00DF11D1124E60FC5
:100F4000F11DEE0FFF1FE851FF4F85919491089519
:100F5000880F991F805A9040FC01859194910895C3
:100F6000880F991F80529F4FFC018591949108959D
:100F700026E0729FF001112444E5849FE00DF11DED
:100F80001124E60FF11DEE0FFF1FE851FF4F2591D1
:100F90003491C9019A9581159F4110F4C9010895B2
:100FA000C90190528115904128F4C9019F700E9497
:100FB000B0070895C90190538115904120F4C901EB
:100FC0009927906C0895211580E5380769F40E94EF
:100FD00058159FEF24E34CE0915020404040E1F74A
:100FE00000C000000C94B31C213080E5380731F4B8
:100FF0008091CD0181608093CD010895C901905504
:101000008115904108F050C0832F99278F70992740
:1010100081309105D9F4A9014370552702C0880F8A
:10102000991F4A95E2F79C68A90164E0440F551F97
:101030006A95E1F744275370842B952B73E0220FB8
:10104000331F7A95E1F7207633271DC08230910552
:1010500029F4922F8827816F906A08958330910533
:10106000A9F4A9014370552781E090E002C0880FE0
:10107000991F4A95E2F79C6843E0220F331F4A9577
:10108000E1F7207E3770822B932B08950497F1F4BB
:10109000A9014370552781E090E002C0880F991F95
:1010A0004A95E2F79A68E8CFC901905781159041B7
:1010B00020F4C9019F7090620895C901905881156C
:1010C000904120F4C9019F70906A0895203E310537
:1010D000E0F4203C310558F52133310509F470C0A6
:1010E00048F42932310509F464C02A32310509F483
:1010F0006EC074C029333105F1F022383105D9F0C2
:101100002533310509F44EC069C0233E310589F10C
:1011100038F4203E3105C1F0223E3105E1F05EC0D9
:10112000263E310569F1273E3105A9F157C0C901B5
:101130000E94A80708958091E00180FD02C081FF10
:101140004DC080EE90E04BC08091E00180FFF9CF70
:1011500089E390E044C08091E00182FF0EC080915D
:10116000E00184FF03C080E090E039C083EE90E0AE
:1011700036C08091E00182FFF2CF82EE90E02FC076
:101180008091E00183FF0BC08091E00184FDEBCFF3
:1011900087EE90E024C08091E00183FFF5CF86EEDA
:1011A00090E01DC08091E00185FF07C089E290E0DA
:1011B00016C08091E00185FFF9CF85E390E00FC074
:1011C0008091E00186FF07C08AE290E008C080912C
:1011D000E00186FFF9CF81E390E001C0C9010E94E0
:1011E000D606089508950C94F2088091620108953E
:1011F000CF93DF9300D01F92CDB7DEB72091E601E9
:10120000243019F523E029839B838A832093E90006
:101210008FEF9091E800815095FD06C095ED9A956D
:10122000F1F700008111F5CF8091E80085FF0DC036
:1012300040E050E063E070E0CE0101960E94620B56
:101240008091E8008E778093E8000F900F900F90C8
:10125000DF91CF910895CF93DF9300D01F92CDB748
:10126000DEB72091E601243021F522E029839B831B
:101270008A8383E08093E9008FEF9091E8008150AA
:1012800095FD06C095ED9A95F1F700008111F5CF17
:101290008091E80085FF0DC040E050E063E070E021
:1012A000CE0101960E94620B8091E8008E778093B8
:1012B000E8000F900F900F90DF91CF91089520914B
:1012C000E6012430F1F422E02093E9002FEF309181
:1012D000E800215035FD06C035ED3A95F1F70000E4
:1012E0002111F5CF2091E80025FF0BC040E050E030
:1012F00065E070E00E94620B8091E8008E77809339
:10130000E8000895CF93DF93EC018091E6018430EB
:1013100009F046C090910C019923D9F090910D01EC
:101320009923B9F08093E9008FEF9091E800815004
:1013300095FD06C095E19A95F1F700008111F5CF72
:101340008091E80085FF2CC040E050E060E170E053
:1013500017C081E08093E9008FEF9091E800815001
:1013600095FD06C095ED9A95F1F700008111F5CF36
:101370008091E80085FF14C040E050E068E070E034
:10138000CE010E94620B8091E8008E778093E80086
:1013900080E1FE01A2E5B1E001900D928A95E1F7AE
:1013A000DF91CF9108958091E501811109C00E94DC
:1013B000F40C0E94510D8091E20084608093E20061
:1013C00008951092E501089508950C94D9220E9481
:1013D0004A1C0E94DF220E94EE0F0C94F30842E0A8
:1013E00061EC81E00E946E0C42E061EC82E00E94C0
:1013F0006E0C42E061EC83E00E946E0C42E161EC15
:1014000084E00C946E0C8091E801833009F455C09F
:1014100030F4813071F0823009F48EC008958A3042
:1014200009F47AC08B3009F460C0893009F09CC09F
:1014300020C08091E701813A09F096C08091E800D0
:10144000877F8093E8008091EB019091EC01892BDC
:1014500021F060E080E090E003C060E182E591E08F
:1014600070E00E94AB0B8091E8008B778093E800DE
:1014700008958091E701813209F076C08091EB01F7
:101480009091EC01009719F0039709F06DC08091DD
:10149000E800877F8093E8008091E80082FD05C026
:1014A0008091E6018111F8CF5FC08091F1008093B7
:1014B00062018091E8008B7753C08091E701813A07
:1014C00009F052C08091EB019091EC01892B09F059
:1014D0004BC08091E800877F8093E8008091E8000E
:1014E00080FFFCCF80910C0136C08091E7018132F2
:1014F000D9F58091EB019091EC01892BA9F58091B0
:10150000E800877F8093E8000E94A30C8091E901A6
:1015100080930C010C9458158091E701813221F5DC
:101520008091E800877F8093E8000E94A30C80915F
:10153000EA018093630108958091E701813AA1F463
:101540008091E800877F8093E8008091E80080FF29
:10155000FCCF809163018093F1008091E8008E7749
:101560008093E8000C94A30C089584B7877F84BF10
:1015700088E10FB6F89480936000109260000FBE6F
:1015800090E080E80FB6F89480936100909361003A
:101590000FBE0E943D100E94F40C0E94510D8091DC
:1015A000E20084608093E20078940E94CC0F0E9455
:1015B0003F1082E091E00E94E90F0E94C7228091D3
:1015C000E601853069F40E940D1C8091E4018823B6
:1015D000B1F30E94351C882391F30E944C0BEFCF8E
:1015E0000E944510ECCF292F332723303105A9F075
:1015F0006CF42130310509F442C02230310509F084
:1016000043C08DE690E02CE536E042C02132310542
:10161000C9F02232310519F137C09927813091057F
:1016200041F08230910541F0892B71F5E8E5F6E053
:1016300005C0E0E4F6E002C0E8E2F6E0849190E064
:101640009F0126C0643000F5E62FF0E0EE0FFF1F8B
:10165000EE5DFE4F2081318189E090E019C0643059
:1016600098F4E62FF0E0DF01AA0FBB1FA65EBE4F85
:101670002D913C91EA5EFE4F808190E009C082E1AD
:1016800090E029EC36E004C080E090E020E030E01B
:10169000FA0131832083089580E189BD82E189BD0B
:1016A00009B400FEFDCF8091D8008F7D8093D800D3
:1016B0008091E00082608093E0008091E00081FDF5
:1016C000FCCF0895CF92DF92EF92FF920F931F937A
:1016D000CF93DF937C018B01EA010E94C40C81113E
:1016E00031C0209731F088819981081B190BE80ED1
:1016F000F91EC12CD12C0115110519F18091E800BA
:1017000085FD14C08091E8008E778093E8002097D3
:1017100041F0888199818C0D9D1D9983888385E096
:1017200011C00E94C40C882331F30CC0F7018191D1
:101730007F018093F10001501109FFEFCF1ADF0AFA
:10174000DACF80E0DF91CF911F910F91FF90EF9062
:10175000DF90CF9008952091ED013091EE01261792
:10176000370748F06115710539F42091E8002E77AC
:101770002093E80001C0B901FC0120E0611571056A
:10178000B9F18091E601882309F440C0853009F45D
:101790003FC08091E80083FD3DC08091E80082FF5A
:1017A00006C08091E80082FF26C080E00895809105
:1017B000E80080FFE3CF2091F3008091F20090E0F9
:1017C000922B6115710551F08830910538F4219103
:1017D0002093F100615071090196F3CF21E0089741
:1017E00009F020E08091E8008E778093E800C6CF72
:1017F0002111C7CFD6CF8091E601882339F08530FB
:1018000039F08091E80083FFCCCF04C082E00895D6
:1018100083E0089581E008952091ED013091EE017B
:101820002617370748F06115710539F42091E80053
:101830002E772093E80001C0B901FC0120E061157A
:101840007105C1F18091E601882309F441C085301A
:1018500009F440C08091E80083FD3EC08091E8001B
:1018600082FF06C08091E80082FF27C080E00895D3
:101870008091E80080FFE3CF2091F3008091F20097
:1018800090E0922B6115710559F08830910540F474
:1018900024912093F1003196615071090196F2CFA5
:1018A00021E0089709F020E08091E8008E7780938E
:1018B000E800C5CF2111C6CFD5CF8091E60188239E
:1018C00039F0853039F08091E80083FFCBCF04C038
:1018D00082E0089583E0089581E00895982F97307D
:1018E00058F59093E900981739F07091EC00209129
:1018F000ED005091F00003C0242F762F50E021FF1F
:1019000019C03091EB003E7F3093EB003091ED0039
:101910003D7F3093ED003091EB0031603093EB0070
:101920007093EC002093ED005093F0002091EE00B6
:1019300027FF07C09F5FD3CF8F708093E90081E0BE
:10194000089580E008958091E70187FD05C08091AA
:10195000E80080FF0EC012C08091E80082FD05C043
:101960008091E6018111F8CF08958091E8008B778E
:1019700008C08091E6018111EACF08958091E800C6
:101980008E778093E80008958091E4009091E500BF
:1019900045E62091EC0020FF21C02091E80020FDC9
:1019A00021C02091E601222389F0253089F0209181
:1019B000EB0025FD0FC02091E4003091E5002817D1
:1019C000390739F3415041F0C901E3CF82E008956E
:1019D00083E0089581E0089584E008952091E8006F
:1019E00022FFDFCF80E008950E94620D0E946A0D01
:1019F000E0EEF0E0808181608083E8EDF0E08081BE
:101A00008F77808319BCA7EDB0E08C918E7F8C938B
:101A100080818F7E80831092E50108950F931F933C
:101A2000CF93DF930E94620D0E946A0DC8EDD0E053
:101A300088818F77888388818068888388818F7D7B
:101A4000888319BC1092E6011092E2011092E40121
:101A50001092E30100EE10E0F80180818B7F80831B
:101A600088818160888342E060E080E00E946E0CA3
:101A7000E1EEF0E080818E7F8083E2EEF0E0808115
:101A800081608083808188608083F80180818E7F7F
:101A90008083888180618883DF91CF911F910F912E
:101AA0000895E8EDF0E080818F7E8083E7EDF0E03F
:101AB00080818160808384E082BF81E08093E50142
:101AC0000C940E0DE8EDF0E080818E7F8083109203
:101AD000E20008951092DA001092E10008951F923A
:101AE0000F920FB60F9211242F933F934F935F9352
:101AF0006F937F938F939F93AF93BF93EF93FF93D6
:101B00008091E10082FF0BC08091E20082FF07C05C
:101B10008091E1008B7F8093E1000E94CB0F809148
:101B2000DA0080FF1FC08091D80080FF1BC0809129
:101B3000DA008E7F8093DA008091D90080FF0DC09B
:101B400080E189BD82E189BD09B400FEFDCF81E05D
:101B50008093E6010E94D30905C019BC1092E601EA
:101B60000E94E1098091E10080FF19C08091E200AC
:101B700080FF15C08091E2008E7F8093E20080910B
:101B8000E20080618093E2008091D80080628093BF
:101B9000D80019BC85E08093E6010E94E509809198
:101BA000E10084FF30C08091E20084FF2CC080E11E
:101BB00089BD82E189BD09B400FEFDCF8091D800C6
:101BC0008F7D8093D8008091E1008F7E8093E1002B
:101BD0008091E2008F7E8093E2008091E20081603C
:101BE0008093E2008091E201882311F084E007C035
:101BF0008091E30087FF02C083E001C081E0809311
:101C0000E6010E94E7098091E10083FF29C08091ED
:101C1000E20083FF25C08091E100877F8093E1008F
:101C200082E08093E6011092E2018091E1008E7FD4
:101C30008093E1008091E2008E7F8093E2008091AA
:101C4000E20080618093E20042E060E080E00E9478
:101C50006E0C8091F00088608093F0000E94E4098F
:101C6000FF91EF91BF91AF919F918F917F916F9174
:101C70005F914F913F912F910F900FBE0F901F904A
:101C800018951F920F920FB60F9211242F933F9326
:101C90004F935F936F937F938F939F93AF93BF9374
:101CA000CF93EF93FF93C091E900CF708091EC0048
:101CB0001092E9008091F000877F8093F000789483
:101CC0000E947D0E1092E9008091F0008860809360
:101CD000F000C093E900FF91EF91CF91BF91AF91D8
:101CE0009F918F917F916F915F914F913F912F9134
:101CF0000F900FBE0F901F9018951F93CF93DF93F7
:101D0000CDB7DEB7AA970FB6F894DEBF0FBECDBF32
:101D1000E7EEF1E08091F100819321E0EF3EF207E0
:101D2000C9F70E94030A8091E80083FF1CC120913B
:101D3000E7013091E801832F90E08A30910508F0A7
:101D400012C1FC01EA5AFF4F0C946124203881F043
:101D5000223809F008C18091EB018F708093E9006F
:101D60008091EB0085FB882780F91092E90006C07E
:101D70008091E3019091E401911182609091E800DB
:101D8000977F9093E8008093F1001092F100C5C016
:101D9000822F8D7F09F0E7C0222319F0223061F0F5
:101DA000E2C08091E901813009F0DDC0333009F0F3
:101DB00080E08093E40128C08091E901811124C072
:101DC0002091EB012F7009F4CEC02093E90080919F
:101DD000EB0080FF19C08091EB00333011F480627A
:101DE00011C080618093EB0081E090E0022E01C081
:101DF000880F0A94EAF78093EA001092EA00809133
:101E0000EB0088608093EB001092E9008091E8007D
:101E1000877F86C02111A7C01091E9011F778091AB
:101E2000E3008078812B8093E3008091E800877F36
:101E30008093E8000E94A30C8091E80080FFFCCF13
:101E40008091E30080688093E300112311F083E028
:101E500001C082E08093E60186C02058223008F05D
:101E600082C08091E9019091EA018C3D23E09207C4
:101E700079F583E08A838AE289834FB7F894DE019B
:101E8000139620E03EE051E2E32FF0E0509357003C
:101E9000E49120FF03C0E295EF703F5FEF708E2F5B
:101EA00090E0EA3010F0C79601C0C0968D939D93E4
:101EB0002F5F243149F74FBF8091E800877F8093DF
:101EC000E8006AE270E0CE0101960E94AB0B14C0FC
:101ED000AE014F5F5F4F6091EB010E94F30A0097E4
:101EE00009F441C02091E800277F2093E800BC015D
:101EF00089819A810E940C0C8091E8008B778093F5
:101F0000E80031C0203879F58091E800877F809320
:101F1000E8008091E2018093F1008091E8008E77E3
:101F20008093E8000E94A30C1EC021111CC0909158
:101F3000E9019230C0F48091E800877F8093E80047
:101F40009093E2010E94A30C8091E201811104C0F0
:101F50008091E30087FF02C084E001C081E08093AC
:101F6000E6010E94EF098091E80083FF0AC080919A
:101F7000E800877F8093E8008091EB008062809387
:101F8000EB00AA960FB6F894DEBF0FBECDBFDF916F
:101F9000CF911F9108950895CF938091E6018823F2
:101FA000B1F08091E9008F709091EC0090FF02C039
:101FB00090E801C090E0C92FC82B1092E9008091F1
:101FC000E80083FD0E947D0ECF70C093E900CF91A1
:101FD000089590936901809368010895E0916801E4
:101FE000F0916901309721F00190F081E02D099482
:101FF00080E00895E0916801F0916901309721F047
:102000000280F381E02D09940895E0916801F09138
:102010006901309721F00480F581E02D099408953D
:1020200020916601309167018217930771F09093B8
:10203000670180936601E0916801F0916901309732
:1020400021F00680F781E02D099408952091640124
:10205000309165018217930771F090936501809329
:102060006401E0916801F0916901309721F00084EA
:10207000F185E02D0994089508950C943C100E9478
:10208000501C0E94CA050C94161DCF92DF92EF924D
:10209000FF920F931F93CF93DF93CDB7DEB72B97AC
:1020A0000FB6F894DEBF0FBECDBF0E94E2053BE63F
:1020B000E32E31E0F32E00E010E0C02E802F0E94CE
:1020C000CF06F701D1907F01D826B1F40F5F1F4FE3
:1020D0000E30110591F78FEF89838A831B820E944E
:1020E000591C8160782F9D838C8349815A816B8133
:1020F0008D810E94E81041C09091CD0191FF04C0F4
:102100008B870E94D5068B8520E030E04D2D50E076
:10211000922FBA01022E02C0759567950A94E2F7D4
:1021200060FF25C02E83CF82EE24E394F12C02C001
:10213000EE0CFF1C9A95E2F790E08E219F2121E0A2
:10214000892B09F420E028870E94591C8160782F90
:102150009A8789874E815F8168858A850E94E81009
:10216000F801E559FE4F80818E25808306C02F5FE0
:102170003F4F2630310561F6A9CF0E94FA1F10911A
:102180006A010E94EE0F1817A1F00E94EE0F8093D3
:102190006A012B960FB6F894DEBF0FBECDBFDF915C
:1021A000CF911F910F91FF90EF90DF90CF900C9403
:1021B000F3082B960FB6F894DEBF0FBECDBFDF91AC
:1021C000CF911F910F91FF90EF90DF90CF900895E6
:1021D000CF93DF93CDB7DEB72B970FB6F894DEBF62
:1021E0000FBECDBF4F83588769877A878B87DE0103
:1021F000119686E0FD0111928A95E9F785E0FE01CE
:10220000379601900D928A95E1F749815A816B8149
:102210007C818D819E810E9424182B960FB6F894A4
:10222000DEBF0FBECDBFDF91CF910895CF93C82FF2
:10223000882309F4C1C0823859F40E94EE0F81FD51
:10224000BBC089E30E94C11A0E948B1B89E30CC0AA
:10225000833879F40E94EE0F80FDAEC083E50E94C2
:10226000C11A0E948B1B83E50E94011BCF910C9425
:102270008B1B843859F40E94EE0F82FD9DC087E4C9
:102280000E94C11A0E948B1B87E4EECF8CEF8C0F4B
:10229000813A48F48C2F0E942F2281118DC08C2FFF
:1022A0000E94C11AE3CF80E28C0F883048F4C770D7
:1022B00081E001C0880FCA95EAF70E94421BD6CF81
:1022C0008BE58C0F833078F4C53A29F0C63A31F4A7
:1022D00082E890E005C081E890E002C083E890E0E9
:1022E000CF910C94101088E58C0F833108F064C0F6
:1022F000C83A39F1C93A41F1CA3A49F1CB3A51F1F8
:10230000CC3A59F1CD3A61F1C03B69F1CE3A71F165
:10231000CF3A79F1C13B81F1C23B89F1C33B91F1E5
:10232000C43B99F1C53BA1F1C63BA9F1C73BB1F153
:10233000C83BB9F1C93BC1F1CA3BC9F58AE292E099
:1023400038C082EE90E035C089EE90E032C08AEE6F
:1023500090E02FC085EB90E02CC086EB90E029C088
:1023600087EB90E026C08CEC90E023C08DEC90E0F1
:1023700020C083E891E01DC08AE891E01AC082E99C
:1023800091E017C084E991E014C081E292E011C0AD
:1023900083E292E00EC084E292E00BC085E292E01C
:1023A00008C086E292E005C087E292E002C080E0C9
:1023B00090E0CF910C942610CF910895882309F4D2
:1023C0004BC0823859F40E94EE0F81FF45C089E36B
:1023D0000E94C11A0E948B1B89E30CC0833871F4E0
:1023E0000E94EE0F80FF38C083E50E94C11A0E9450
:1023F0008B1B83E50E94011B0C948B1B843859F4C2
:102400000E94EE0F82FF28C087E40E94C11A0E943A
:102410008B1B87E4EFCF9CEF980F913A58F390E233
:10242000980F983050F4877091E001C0990F8A9509
:10243000EAF7892F0E94481BDFCF9BE5980F933066
:1024400020F480E090E00C941010885A833120F43E
:1024500080E090E00C9426100895882321F00E94DB
:10246000421B0C948B1B0895882321F00E94481B6B
:102470000C948B1B0895CF92DF92EF92FF920F93F3
:102480001F93CF93DF93CDB7DEB728970FB6F8949D
:10249000DEBF0FBECDBF8C0185E0F801DE011196D5
:1024A00001900D928A95E1F7F80140813181F28027
:1024B000258122952F7083819481892B31F03F3FB4
:1024C00031F481E04F3F19F403C081E001C080E0A6
:1024D00080FDCBC249833A8389819A812F830E94F0
:1024E0007F1A9E8388870E947E1A0E9451192F812D
:1024F0004E816885FF2029F00E945F1B68854E8110
:102500002F81E42FE295EF70F0E0E05AFF4F0C943A
:102510006124842F807F142F1F70882311F012955F
:10252000107FFF2059F0112309F454C2812F6887CE
:102530000E94521B0E948B1B68854CC2862F0E94F2
:10254000DE11112309F491C2812F0E94581B289695
:102550000FB6F894DEBF0FBECDBFDF91CF911F91B4
:102560000F91FF90EF90DF90CF900C948B1B342F46
:10257000307F842F8F70303211F08295807F6623F8
:1025800019F0613019F12BC0FF20B1F0222309F4BA
:1025900093C1213009F090C128960FB6F894DEBFA0
:1025A0000FBECDBFDF91CF911F910F91FF90EF90A4
:1025B000DF90CF900C94721B222319F0213009F484
:1025C00054C28E830E94751B8E8189C1FF2021F029
:1025D000223008F04AC270C1211147C280C1FF20D9
:1025E00021F0222309F468C1F5C1222309F477C13F
:1025F00005C2242F26952695237030E0211531053C
:1026000021F021303105C9F030C2FF2021F0862FA2
:10261000942F937002C080E090E028960FB6F89453
:10262000DEBF0FBECDBFDF91CF911F910F91FF9005
:10263000EF90DF90CF900C941010FF2021F0862FA8
:10264000942F937002C080E090E028960FB6F89423
:10265000DEBF0FBECDBFDF91CF911F910F91FF90D5
:10266000EF90DF90CF900C94570F222309F4B1CF55
:10267000862F28960FB6F894DEBF0FBECDBFDF9130
:10268000CF911F910F91FF90EF90DF90CF900C941E
:102690001F104F70C8010E94AB0228960FB6F89425
:1026A000DEBF0FBECDBFDF91CF911F910F91FF9085
:1026B000EF90DF90CF900C9409174F70C8012896C7
:1026C0000FB6F894DEBF0FBECDBFDF91CF911F9143
:1026D0000F91FF90EF90DF90CF900C94D605289645
:1026E0000FB6F894DEBF0FBECDBFDF91CF911F9123
:1026F0000F91FF90EF90DF90CF9008950E9497196F
:102700000E946C190E94B3190E94BA1E0E940E1EEC
:1027100080E090E00E94510E80E090E00C94670E03
:102720000E9487190C947E130E94B718292F2295B6
:102730002F7030E02C3031054CF42A3031056CF428
:10274000225031092230310590F407C02C30310578
:1027500051F02F30310539F00AC0803E10F0803F33
:1027600031F481E0089593FB882780F9089580E093
:102770000895CF93DF9300D000D01F92CDB7DEB77E
:102780000F900F900F900F900F90DF91CF910895C1
:10279000CF93DF9300D000D000D0CDB7DEB7269620
:1027A0000FB6F894DEBF0FBECDBFDF91CF91089575
:1027B0001F93CF93DF93C091790116E080917A0146
:1027C000C81799F0D0E01C9FF0011D9FF00D112457
:1027D000E558FE4F408151816281738184819581EA
:1027E0000E94C8132196C770E9CFDF91CF911F9146
:1027F00008954091AB015091AC016091AD01709191
:10280000AE018091AF019091B0010C94C813CF93A9
:102810008091B00182958F7009F05FC08091AD0109
:10282000882309F45AC020917901A0917A0160911E
:10283000AB017091AC018091AE019091AF0131E09C
:102840006F3F09F030E0B32FC6E02A1709F445C006
:10285000009721F07F3F21F44B2F03C041E001C0DE
:1028600040E030E040FD35C0C29FF001C39FF00D55
:102870001124E558FE4F418174132BC0408164132D
:1028800028C04281411125C043815481481759070E
:1028900010F441505109481B590B483C5105C8F4EC
:1028A0008091B0018F7080618093B00186E0829F3B
:1028B000F001839FF00D1124E058FE4F80818F704E
:1028C000806180838BEA91E00E947C10CF910C9410
:1028D000D8132F5F3F4F2770B8CFCF910895CF9275
:1028E000DF92EF92FF920F931F93CF93DF93CDB7B9
:1028F000DEB762970FB6F894DEBF0FBECDBF8C0176
:1029000085E0F801DE011D9601900D928A95E1F7B0
:10291000D8014C9111965C91119712966C91129777
:102920001396ED90FC9014977091AB01E091AC017F
:102930002091AE013091AF012115310531F0EF3F0B
:1029400031F481E07F3F19F403C081E001C080E0F1
:10295000B82FB170CB2E80FD6CC1D090AD01DD20C1
:1029600009F4F5C0F091B001E216F30638F0C701A2
:10297000821B930B883C910548F09BC020953095B5
:102980002E0D3F1D283C310508F093C08F2F807F0E
:1029900009F052C0E51314C0741312C0D62E611191
:1029A0000FC0FF70F061F093B0010E94F9138BEA41
:1029B00091E00E947C108091B001F80185836CC188
:1029C000EF2831F05F3F31F481E04F3F19F403C04D
:1029D00081E001C080E080FD03C081E0862701C066
:1029E00080E0F82FF170FF2E80FF1CC080917901EC
:1029F00020917A0136E0821709F428C190E0389FCF
:102A0000F001399FF00D1124E558FE4F71815713E5
:102A100006C07081471303C07281671303C001961B
:102A20008770E9CFD62E662309F436C18091B001B4
:102A300081608093B00153C0E51308C0741306C0D1
:102A4000611104C0D8011596FC93AEC04D875E8716
:102A50008D859E856A8B0E9494136A89882329F14B
:102A6000D62E662311F12091B001822F82958F70AE
:102A700090E002970CF460C08091AB019091AC01A2
:102A800098878F831986FB86EA862C87CE01079666
:102A900051C0E51731F14D875E878D859E856A8B24
:102AA0000E9494136A8981112EC0C8010E947C1073
:102AB000A4C08F2F807F69F77E2DF98AE88A8989E3
:102AC0000E94B9138BEA91E00E947C10EBEAF1E0DE
:102AD00086E0DF011D928A95E9F70E94F913D12C57
:102AE000DBC07413D8CF6111D6CFD8011596FC93F3
:102AF000C8010E947C10EBEAF1E086E0DF011D9244
:102B00008A95E9F7C9C0D62E662379F22091B001E3
:102B1000822F82958F7090E0029774F08091AB01C4
:102B20009091AC019A8389831B82FD82EC822E8373
:102B3000CE0101960E947C1086E0F801ABEAB1E07C
:102B400001900D928A95E1F70E9407146FC0E2167A
:102B5000F30628F0C701821B930B9C0104C020954B
:102B600030952E0D3F1D283C310508F052C0D62E61
:102B7000662309F49ACFE5132CC074132AC0809100
:102B8000B00180FD1DC0982F92959F70C9F0D801AB
:102B900015968C9315979F3039F09F5F9295907F93
:102BA0008F70892B15968C93C8010E947C1086E04B
:102BB000F801ABEAB1E001900D928A95E1F736C0D9
:102BC00086E0F801ABEAB1E001900D928A95E1F759
:102BD00063C04D875E878D859E850E9494138823F0
:102BE00079F086E0F801ABEAB1E001900D928A95A8
:102BF000E1F70E9407140E94F913DD24D3944CC01E
:102C00008091B00181608093B001C8010E947C1066
:102C100043C07E2DF98AE88A89890E94B913EBEABC
:102C2000F1E086E0DF011D928A95E9F70E94F91331
:102C300033C0662309F439CF4D875E878D859E8525
:102C40000E949413882309F430CFCBCF4D875E8741
:102C50008D859E850E94B718292F22952F7030E010
:102C6000223031052CF49F7041F0811106C00CC058
:102C7000243031052CF49F7049F4805E883020F0B8
:102C8000C8010E947C10CF2CDC2C06C0D801159600
:102C90009C91907F91F7F8CF8D2D62960FB6F894A6
:102CA000DEBF0FBECDBFDF91CF911F910F91FF907F
:102CB000EF90DF90CF9008951F93CF93DF93CDB720
:102CC000DEB72C970FB6F894DEBF0FBECDBF4F8393
:102CD000588769877A878B879C87CE0107960E94E1
:102CE0006F148823C1F02F8138858A859B85892BB5
:102CF00031F03F3F11F080E003C02F3FE1F781E06A
:102D0000811147C04F81588569857A858B859C855F
:102D10000E94C8133EC086E0FE013796DE01119680
:102D200001900D928A95E1F7FF81E8854A855B85E0
:102D30004115510531F0EF3F31F481E0FF3F19F4C7
:102D400003C081E001C080E080FD23C020917A01B2
:102D500030E0C9010196877099276091790170E090
:102D600086179707F1F1F983EA835D834C8396E038
:102D7000929FD001939FB00D1124A558BE4FFE0124
:102D8000319601900D929A95E1F780937A010E9415
:102D9000D81316E08091790190917A01891779F121
:102DA000189FC001112485589E4F0E946F148823DC
:102DB00031F1E09179011E9FF0011124E558FE4F99
:102DC0004081518162817381848195810E94C81301
:102DD0008091790190E0019687709927809379011D
:102DE000D9CF0E94901310927A0110927901EBEAE8
:102DF000F1E086E0DF011D928A95E9F7CACF2C96B3
:102E00000FB6F894DEBF0FBECDBFDF91CF911F91FB
:102E10000895EF92FF920F931F93CF93DF93FC01DE
:102E2000009709F46FC0F12CEE24E394EF01219692
:102E30008491843740F4843008F055C0813081F0AB
:102E4000823021F15FC0853709F447C0C0F19CE7AB
:102E5000980F903708F056C08F770E941F1045C01A
:102E60008F010E5F1F4FFE01849190E2980F983002
:102E700050F48770FE2D01C0FF0F8A95EAF78F2F5F
:102E80000E948A1915C00E94570F14C08F010E5F4F
:102E90001F4FFE01849190E2980F983068F487707C
:102EA000FE2D01C0FF0F8A95EAF78F2F0E9490191F
:102EB0000E94B319E80119C00E941F10FBCFCF0177
:102EC0000296FE01C491CC2361F0EFE9FFE0319757
:102ED000F1F700C00000C150F6CFCF010296FE010D
:102EE000F490EC0102C00E94570F8F2D882341F00F
:102EF000EFE9FFE03197F1F700C000008150F6CF15
:102F0000FE0194CFDF91CF911F910F91FF90EF9031
:102F1000089508956093B5017093B6018093B70149
:102F20009093B8010C947E130F931F930091B501F9
:102F30001091B6012091B7013091B801062B172BE3
:102F4000282B392B0093B5011093B6012093B701BC
:102F50003093B8011F910F910C947E130F931F9320
:102F60000091B5011091B6012091B7013091B801DF
:102F700006231723282339230093B5011093B601A4
:102F80002093B7013093B8011F910F910C947E13D9
:102F90000F931F930091B5011091B6012091B701D5
:102FA0003091B80106271727282739270093B50144
:102FB0001093B6012093B7013093B8011F910F9180
:102FC0000C947E131092B1011092B2011092B301D1
:102FD0001092B4010C947E1341E050E060E070E088
:102FE00004C0440F551F661F771F8A95D2F7409380
:102FF000B1015093B2016093B3017093B4010C948A
:103000007E1341E050E060E070E004C0440F551FC3
:10301000661F771F8A95D2F78091B1019091B20116
:10302000A091B301B091B401842B952BA62BB72BA3
:103030008093B1019093B201A093B301B093B40116
:103040000C947E1341E050E060E070E004C0440F57
:10305000551F661F771F8A95D2F74095509560954A
:1030600070958091B1019091B201A091B301B0919E
:10307000B40184239523A623B7238093B1019093B1
:10308000B201A093B301B093B4010C947E1341E05C
:1030900050E060E070E004C0440F551F661F771FCA
:1030A0008A95D2F78091B1019091B201A091B301BC
:1030B000B091B40184279527A627B7278093B10143
:1030C0009093B201A093B301B093B4010C947E131A
:1030D0000F931F930091B1011091B2012091B301A0
:1030E0003091B401062B172B282B392B0093B101FB
:1030F0001093B2012093B3013093B4011F910F914B
:103100000C947E130F931F930091B1011091B201A3
:103110002091B3013091B4010623172328233923CA
:103120000093B1011093B2012093B3013093B40125
:103130001F910F910C947E130F931F930091B10177
:103140001091B2012091B3013091B40106271727E5
:10315000282739270093B1011093B2012093B301BE
:103160003093B4011F910F910C947E130895CF9268
:10317000DF92EF92FF920F931F93CF93DF93EC01B7
:10318000C090B501D090B601E090B701F090B801C1
:103190008091B1019091B201A091B301B091B401BD
:1031A000C82AD92AEA2AFB2A0FE110E0B701A601B2
:1031B000002E04C076956795579547950A94D2F7E7
:1031C00040FF07C0BE01802F0E94F90581309105A4
:1031D00039F40150110950F7BE0180E00E94F90551
:1031E000DF91CF911F910F91FF90EF90DF90CF90E3
:1031F000089590910C019923D9F090910D01992394
:10320000B9F0982F9695969596959F3088F5E09110
:103210000E01F0910F01E90FF11D877021E030E000
:1032200001C0220F8A95EAF78181822B818308955C
:1032300040910E0150910F0120E030E09FEFFA0124
:10324000E20FF31F6281681799F09F3F19F4611133
:1032500001C0922F2F5F3F4F2E30310581F79F3FE6
:1032600039F0FA01E90FF11D97FDFA95828308956F
:10327000089590910C019923E1F090910D0199230B
:10328000C1F0982F9695969596959F3020F5E091F0
:103290000E01F0910F01E90FF11D877021E030E080
:1032A00001C0220F8A95EAF7209581812823218386
:1032B000089540910E0150910F0120E030E0FA0195
:1032C000E20FF31F9281981301C012822F5F3F4FCC
:1032D0002E303105A1F7089581E090E0E0910E01D4
:1032E000F0910F01E80FF91F1082019680319105CE
:1032F000A9F708959091CB01982B9093CB01089555
:1033000080959091CB0198239093CB0108951092D2
:10331000CB0108959091CA01982B9093CA0108950A
:1033200080959091CA0198239093CA0108951092B4
:10333000CA0108958093B90108951092B9010895C2
:1033400040910E0150910F0120E030E080E0FA0141
:10335000E20FF31F918191118F5F2F5F3F4F2F304D
:103360003105A9F70895E0910E01F0910F018091C8
:10337000CB018083E0910E01F0910F01808190914B
:10338000CA01892B80839091B901992361F0E09162
:103390000E01F0910F018081892B80830E94A0197A
:1033A00081111092B90180910E0190910F010C943E
:1033B0003B0ECF92DF92EF92FF920F931F936C011F
:1033C000EE24FF24C114D104E104F10421F46B01C3
:1033D0007C0180E001C080E133272F2D1E2D0D2DB3
:1033E000011511052105310519F0885F6801790182
:1033F00097018601A4E03695279517950795AA951C
:10340000D1F7011511052105310519F08C5F68010F
:10341000790197018601F2E0369527951795079572
:10342000FA95D1F7011511052105310519F08E5FC7
:1034300068017901B701A60176956795579547957B
:10344000452B462B472B09F08F5F1F910F91FF9063
:10345000EF90DF90CF9008958091E501843009F1DD
:103460001092CD0120E488E190E00FB6F894A89581
:10347000809360000FBE2093600083B7817F8460DB
:1034800083BF83B7816083BF7894889583B78E7F2D
:1034900083BF88E10FB6F8948093600010926000BB
:1034A0000FBE089508950895CF930E94521A0E9466
:1034B00023040E94531AC0E08C2F0E941005811132
:1034C00005C0CF5FCE30C1F780E001C081E0CF9171
:1034D00008950E9490130E942F0E0C94340782E0EE
:1034E00084BD93E095BD9AEF97BD80936E000895DB
:1034F0002FB7F8948091CE019091CF01A091D00187
:10350000B091D1012FBF0895CF92DF92EF92FF9239
:103510000F931F932FB7F8944091CE015091CF0194
:103520006091D0017091D1012FBF6A017B01EE241F
:10353000FF248C0120E030E0C016D106E206F3063D
:1035400010F441505109481B590BCA011F910F91AA
:10355000FF90EF90DF90CF9008951F920F920FB6DB
:103560000F9211248F939F93AF93BF938091CE01BD
:103570009091CF01A091D001B091D1010196A11DF0
:10358000B11D8093CE019093CF01A093D001B09351
:10359000D101BF91AF919F918F910F900FBE0F906E
:1035A0001F9018950E94350BF8942FEF87EA91E64B
:1035B000215080409040E1F700C0000087E090EB90
:1035C000DC018093EE019093EF01A093F001B093A2
:1035D000F1012CE088E190E00FB6F894A895809373
:1035E00060000FBE20936000FFCFEF92FF920F9319
:1035F0001F93CF93DF93E82EF12C8F2D0E9410059F
:10360000C0E0D0E0082F10E098010C2E02C03595E4
:1036100027950A94E2F720FD05C02196C630D10512
:1036200099F709C06C2F7F2D80E00E94D705E81222
:10363000F4CF81E005C0F3948EE0F812DECF80E095
:10364000DF91CF911F910F91FF90EF900895CF934D
:10365000C82F8CE20E94F51A882321F08C2FCF917D
:103660000C94F51A80E0CF910895CF930E947A1CB4
:10367000811102C00E94601CC5E6C15049F00E9441
:1036800023048FE39CE90197F1F700C00000F5CF18
:1036900089E20E94271B811111C18AE20E94271B27
:1036A00081110E94601C85E00E94271B81110E94ED
:1036B000D21A0E94851C8093CC0187E00E94271BB0
:1036C000882399F18BE10E94271B882351F0909168
:1036D000CC0191FB882780F921E0822780FB91F9BA
:1036E00022C08EE00E94271B882351F09091CC01CC
:1036F00092FB882780F921E0822780FB92F913C092
:1037000080E10E94271B9091CC01882341F093FB1C
:10371000882780F921E0822780FB93F904C0892F54
:10372000809580FB90F99093CC018091CC010E9410
:10373000891C0E94971C8093DF0180EE0E94271B4A
:10374000882341F08091DF01982F909590FB80F9BC
:103750008093DF0189E30E94271B882359F0909111
:10376000DF0191FB882780F921E0822780FB91F916
:103770009093DF0182EE0E94271B882359F09091DD
:10378000DF0192FB882780F921E0822780FB92F9F4
:103790009093DF0186EE0E94271B882359F09091B9
:1037A000DF0193FB882780F921E0822780FB93F9D2
:1037B0009093DF0183EE0E94271B882359F090919C
:1037C000DF0194FB882780F921E0822780FB94F9B0
:1037D0009093DF0185E30E94271B882359F0909185
:1037E000DF0195FB882780F921E0822780FB95F98E
:1037F0009093DF0181E30E94271B882359F0909169
:10380000DF0196FB882780F921E0822780FB96F96B
:103810009093DF0181E10E94271B882359F090914A
:10382000DF0197FB882780F921E0822780FB97F949
:103830009093DF018091DF010E949B1C8091DF014A
:1038400087FB882780F980930D0187E20E94271B60
:10385000C82F8EE10E94271B8111C2608FE10E9458
:10386000271B8111C46080E20E94271B8111C86060
:1038700081E20E94271B8111C06182E20E94271B06
:103880008111C06283E20E94271B8111C06484E21F
:103890000E94271B882311F0C06802C0CC2329F0A6
:1038A0008C2F0E94921C6C2F03C00E948E1C682FCC
:1038B00070E080E090E0CF910C948A17CF9108954A
:1038C0006DEE7EEF80E090E00E94B62260E082E044
:1038D00090E00E94A82260E083E090E00E94A8228D
:1038E00060E084E090E00E94A82260E085E090E043
:1038F0000C94A82280E090E00E94A22221E08D3E5C
:103900009E4F09F020E0822F089582E090E00C9411
:103910009A22682F82E090E00C94A82283E090E045
:103920000C949A22682F83E090E00C94A82284E003
:1039300090E00C949A22682F84E090E00C94A822E6
:103940008091D40180FF0BC06091130185E0689FD6
:10395000B001112475956795759567952AC081FF0B
:1039600009C06091130185E0689FB001112475952D
:1039700067951FC082FF07C06091130185E0689FB3
:10398000B001112416C04091D5014423C9F06091C3
:103990001201461788F72091130185E0289F9001B6
:1039A0001124429FC001439F900D112470E00E949A
:1039B0006C226038710540F46115710539F002C060
:1039C00065E070E0862F08958FE7089581E00895FF
:1039D0008091D40180FF08C06091110170E075955D
:1039E00067957595679521C081FF06C060911101AB
:1039F00070E07595679519C082FF04C06091110150
:103A000070E010C08091D5018823C1F06091100151
:103A10008617A0F790911101989FC001112470E0C2
:103A20000E946C226038710528F46115710521F03F
:103A3000862F08958FE7089581E0089561E070E092
:103A4000F4CF803F21F40E94A01C819504C0813FE7
:103A500029F40E94A01C8093D8010895823F21F48C
:103A60000E94A01C819504C0833F29F40E94A01CE1
:103A70008093D7010895893F19F40E94E81C05C07E
:103A80008A3F31F40E94E81C81958093D901089502
:103A90008B3F21F40E94E81C819504C08C3F29F4DF
:103AA0000E94E81C8093DA010895843F21F48091FC
:103AB000D601816017C0853F21F48091D6018260D4
:103AC00011C0863F21F48091D60184600BC0873FEE
:103AD00021F48091D601886005C0883F31F480913F
:103AE000D60180618093D60108958D3F21F48091A5
:103AF000D40181600BC08E3F21F48091D40182609B
:103B000005C08F3F29F48091D40184608093D40153
:103B10000895803F39F48091D80187FF6CC01092DE
:103B2000D80169C0813F29F48091D8011816BCF3EF
:103B300062C09091D701823F29F497FF5CC0109238
:103B4000D70159C0833F19F41916CCF354C0893FEB
:103B500041F48091D90118160CF04DC01092D90192
:103B60004AC08A3F29F48091D90187FF44C0F6CF2B
:103B70008B3F39F48091DA0187FF3DC01092DA0162
:103B80003AC08C3F29F48091DA011816BCF333C097
:103B9000843F21F48091D6018E7F17C0853F21F4A8
:103BA0008091D6018D7F11C0863F21F48091D6018E
:103BB0008B7F0BC0873F21F48091D601877F05C0A2
:103BC000883F31F48091D6018F7E8093D60113C057
:103BD0008D3F21F48091D4018E7F0BC08E3F21F464
:103BE0008091D4018D7F05C08F3F29F48091D4014D
:103BF0008B7F8093D4018091D70181110EC0809179
:103C0000D80181110AC08091D901811106C080912B
:103C1000DA01811102C01092D501089586ED91E07C
:103C20000E94460E0E94781A9093D3018093D2018D
:103C300008951F93CF93DF938091D2019091D30188
:103C40000E94841A4091D501442321F0209114014F
:103C500030E006C0209115015AE0259F9001112403
:103C60008217930708F482C08091D7011091D80180
:103C7000D091D901C091DA01811107C0111105C09D
:103C8000D11103C0CC2309F471C04F3F19F04F5F2D
:103C90004093D501181624F40E94A01C8093D701EC
:103CA0008091D70187FF05C00E94A01C8195809359
:103CB000D701111624F40E94A01C8093D801809192
:103CC000D80187FF05C00E94A01C81958093D80170
:103CD0006091D701662339F11091D801112319F1B0
:103CE000772767FD7095872F972F0E947D2123E30B
:103CF00033E343E35FE30E94E1210E944A216093A2
:103D0000D701612F772767FD7095872F972F0E9426
:103D10007D2123E333E343E35FE30E94E1210E943B
:103D20004A216093D8011D1624F40E94E81C809358
:103D3000D9018091D90187FF05C00E94E81C8195B7
:103D40008093D9011C1624F40E94E81C8093DA01A8
:103D50008091DA0187FF05C00E94E81C819580935D
:103D6000DA01DF91CF911F910C940E1EDF91CF915C
:103D70001F910895E6EDF1E085E0DF011D928A953F
:103D8000E9F71092D5011092D4010895833081F1A2
:103D900028F4813059F08230D1F00895853009F44B
:103DA00049C0B8F1863009F456C008952091150134
:103DB000862F90E0820F911D8F3F910520F4620FB6
:103DC0006093150108958FEF809315010895209158
:103DD0001401862F90E0820F911D8F3F910520F4F2
:103DE000620F6093140108958FEF8093140108957A
:103DF00020911301862F90E0820F911D8F3F910536
:103E000020F4620F6093130108958FEF80931301E4
:103E1000089520911201862F90E0820F911D8F3F0F
:103E2000910520F4620F6093120108958FEF809343
:103E30001201089520911101862F90E0820F911DAB
:103E40008F3F910520F4620F6093110108958FEF69
:103E500080931101089520911001862F90E0820F28
:103E6000911D8F3F910520F4620F6093100108951A
:103E70008FEF809310010895833011F128F4813081
:103E800049F0823091F00895853081F120F186303B
:103E9000C1F1089580911501681720F4861B809365
:103EA0001501089510921501089580911401681765
:103EB00020F4861B80931401089510921401089534
:103EC00080911301681720F4861B809313010895D5
:103ED00010921301089580911201681720F4861B37
:103EE000809312010895109212010895809111019A
:103EF000681720F4861B8093110108951092110118
:103F0000089580911001681720F4861B809310019A
:103F100008951092100108958D3109F442C020F5E2
:103F20008E3009F479C070F4873009F45EC020F453
:103F3000863009F442C033C08830D1F18B3009F4A7
:103F4000A7C02DC0863109F4A3C038F4803109F42C
:103F50006DC0813109F47BC022C0893109F498C059
:103F60008B3109F44FC01BC0853309F479C048F484
:103F7000873209F475C008F478C0893209F470C03A
:103F80000EC0833438F48A3308F071C0883309F4E2
:103F90007FC005C0833409F463C08834C1F080E079
:103FA00008950E9404210E942F0E0E94340770C0C1
:103FB0000E94851C0E94971C6BC08091CC01817F60
:103FC0008E7F8093CC0181E08093DC0108950E9474
:103FD00090132FEF83ED90E3215080409040E1F764
:103FE00000C000000E94D21A53C09091CC01892FCA
:103FF000817090FF03C0917F9E7F26C09160909357
:10400000CC0146C09091CC0191FB882780F921E03A
:10401000822780FB91F913C09091CC0192FB8827F5
:1040200080F921E0822780FB92F909C09091CC01B0
:1040300093FB882780F921E0822780FB93F99093F6
:10404000CC01882329F191609093CC0108950E94BE
:10405000901380910D0191E0892780930D0118C084
:1040600061E070E080E090E00FC023EE01C027EC3B
:10407000280F61E070E080E090E004C0660F771FD9
:10408000881F991F2A95D2F70E948A170E949013C1
:1040900081E0089580E0089580E00895CF93C82FCF
:1040A0008091DC01813079F018F08230D1F184C048
:1040B000A0910E01B0910F018C91813169F0823293
:1040C00009F07CC009C0A0910E01B0910F018C9144
:1040D000813111F0823249F48C2F0E944A208111E3
:1040E0001DC08C2F0E948C1F1AC08C2F0E944C2048
:1040F000811114C0C43179F048F4CB3079F0C0316B
:1041000009F060C082E08093DC0108C0C93219F078
:10411000C83321F057C01092DC0154C081E0817097
:1041200053C0C93289F118F5C43171F1A8F4C73010
:1041300009F046C08AE08093150194E19093140140
:1041400093E0909313018093120188E08093110112
:1041500088E28093100134C0CE51C63088F5EC2F30
:10416000F0E0E65DFE4F80818093DB0129C0CE3414
:10417000E9F020F4CB3421F56AE013C0C13579F0C1
:10418000C235F1F461E00DC08091DB01882319F0A4
:104190001092DB0115C081E08093DC0115C061E065
:1041A00006C08091DB010E94C61E0AC06AE08091B1
:1041B000DB010E943C1F04C01092DC0180E004C0BF
:1041C00081E002C080E0ABCFCF910895E1E8F0E05C
:1041D0008081886080838081816080838FB7F8943C
:1041E00093E09093890090ED909388008FBF08959D
:1041F000EFE6F0E08081826080830895EFE6F0E0F2
:1042000080818D7F80830895EFE6F0E0808192E0E9
:104210008927808308951F920F920FB60F92112461
:104220002F933F934F935F936F937F938F939F93BE
:10423000AF93BF93EF93FF938091DD019091DE01E7
:1042400001969093DE018093DD01811103C082E02D
:104250000E943407E091DE01E695E695F0E0E6572E
:10426000FB4FE4918091DD018E1303C080E00E943A
:104270003407FF91EF91BF91AF919F918F917F9103
:104280006F915F914F913F912F910F900FBE0F90C3
:104290001F90189504D06894B1118DC0089570D006
:1042A00088F09F5790F0B92F9927B751A0F0D1F01F
:1042B000660F771F881F991F1AF0BA95C9F712C0A9
:1042C000B13081F077D0B1E0089574C0672F782FB6
:1042D0008827B85F39F0B93FCCF386957795679515
:1042E000B395D9F73EF490958095709561957F4F81
:1042F0008F4F9F4F0895E89409C097FB3EF4909527
:104300008095709561957F4F8F4F9F4F9923A9F0AE
:10431000F92F96E9BB279395F6958795779567953D
:10432000B795F111F8CFFAF4BB0F11F460FF1BC081
:104330006F5F7F4F8F4F9F4F16C0882311F096E914
:1043400011C0772321F09EE8872F762F05C06623C2
:1043500071F096E8862F70E060E02AF09A95660F7B
:10436000771F881FDAF7880F9695879597F9089534
:1043700057FD9058440F551F59F05F3F71F0479516
:10438000880F97FB991F61F09F3F79F087950895FB
:10439000121613061406551FF2CF4695F1DF08C01A
:1043A000161617061806991FF1CF86957105610537
:1043B00008940895E894BB2766277727CB0197F9DF
:1043C00008950BD078C069D028F06ED018F09523EE
:1043D00009F05AC05FC01124EECFCADFA0F3959F49
:1043E000D1F3950F50E0551F629FF001729FBB27DC
:1043F000F00DB11D639FAA27F00DB11DAA1F649F88
:104400006627B00DA11D661F829F2227B00DA11D3A
:10441000621F739FB00DA11D621F839FA00D611DC0
:10442000221F749F3327A00D611D231F849F600DE1
:10443000211D822F762F6A2F11249F5750408AF01A
:10444000E1F088234AF0EE0FFF1FBB1F661F771FA6
:10445000881F91505040A9F79E3F510570F014C03D
:10446000AACF5F3FECF3983EDCF38695779567958E
:10447000B795F795E7959F5FC1F7FE2B880F911DC4
:104480009695879597F9089597F99F6780E870E06A
:1044900060E008959FEF80EC089500240A941616BA
:1044A000170618060906089500240A941216130622
:1044B000140605060895092E0394000C11F48823B0
:1044C00052F0BB0F40F4BF2B11F460FF04C06F5FCC
:1044D0007F4F8F4F9F4F089597FB072E16F4009440
:1044E00007D077FD09D00E94862207FC05D03EF454
:1044F000909581959F4F0895709561957F4F089590
:10450000EE0FFF1F0590F491E02D0994AA1BBB1B31
:1045100051E107C0AA1FBB1FA617B70710F0A61BC3
:10452000B70B881F991F5A95A9F780959095BC01E4
:10453000CD010895F999FECF92BD81BDF89A9927D2
:1045400080B50895A8E1B0E042E050E00C94BD22AF
:10455000262FF999FECF1FBA92BD81BD20BD0FB69F
:10456000F894FA9AF99A0FBE019608950E94A8222B
:10457000272F0C94A922DC01CB01FC01F999FECF75
:1045800006C0F2BDE1BDF89A319600B40D924150DB
:0A4590005040B8F70895F894FFCFEB
:10459A0020023607C307A0076C0739070101BA01D1
:1045AA0028080A03140A3F4D36394B04FE03C80390
:1045BA008F0322033B0354036D0301020304050620
:0445CA0007080900D5
:10266000EF90DF90CF900C942610862FFF2019F06A
:102670000E94021F02C00E946A1F28960FB6F8949B
:10268000DEBF0FBECDBFDF91CF911F910F91FF90A5
:10269000EF90DF90CF900C94EF1F842F837009F0A0
:1026A00076C0F110E2C1262F229526952770220FC1
:1026B000220F862F8F70C82ED12CE12CF12C022EE8
:1026C00004C0CC0CDD1CEE1CFF1C0A94D2F764FF86
:1026D00010C06FE070E080E090E004C0660F771FEC
:1026E000881F991F2A95D2F76095709580959095CF
:1026F00003C060E070E0CB01242F2695269523705F
:10270000422F50E042305105D1F04330510559F18C
:102710006C297D298E299F294130510541F1289648
:102720000FB6F894DEBF0FBECDBFDF91CF911F91E2
:102730000F91FF90EF90DF90CF900C9476196C2959
:102740007D298E299F2928960FB6F894DEBF0FBEEB
:10275000CDBFDF91CF911F910F91FF90EF90DF9050
:10276000CF900C9490190E947619C701B601289653
:102770000FB6F894DEBF0FBECDBFDF91CF911F9192
:102780000F91FF90EF90DF90CF900C945C19FF2099
:1027900019F0842F817001C08695882309F465C1E2
:1027A000262F229526952770220F220F862F8F70B5
:1027B000C82ED12CE12CF12C022E04C0CC0CDD1C37
:1027C000EE1CFF1C0A94D2F764FF10C06FE070E0AB
:1027D00080E090E004C0660F771F881F991F2A953C
:1027E000D2F7609570958095909503C060E070E099
:1027F000CB01242F269526952370422F50E042309E
:102800005105D1F04330510559F16C297D298E29AC
:102810009F294130510541F128960FB6F894DEBF4B
:102820000FBECDBFDF91CF911F910F91FF90EF9021
:10283000DF90CF900C944A1A6C297D298E299F290C
:1028400028960FB6F894DEBF0FBECDBFDF91CF91B3
:102850001F910F91FF90EF90DF90CF900C94641A2E
:102860000E944A1AC701B60128960FB6F894DEBF37
:102870000FBECDBFDF91CF911F910F91FF90EF90D1
:10288000DF90CF900C94301A603FC9F118F4603E8D
:1028900050F49BC0623F09F460C008F44AC0633F33
:1028A00009F46FC092C0162F1F70842F8F71FF2004
:1028B00099F00E94C919812F28960FB6F894DEBFAF
:1028C0000FBECDBFDF91CF911F910F91FF90EF9081
:1028D000DF90CF900C942D120E94EA19812F289638
:1028E0000FB6F894DEBF0FBECDBFDF91CF911F9121
:1028F0000F91FF90EF90DF90CF900C943412FF2057
:10290000A1F02111B2C0842F8F7128960FB6F894D0
:10291000DEBF0FBECDBFDF91CF911F910F91FF9012
:10292000EF90DF90CF900C940F1A223008F09DC0EA
:10293000EACFFF20A1F0842F8F7128960FB6F8946C
:10294000DEBF0FBECDBFDF91CF911F910F91FF90E2
:10295000EF90DF90CF900C94C919FF2061F3842F82
:102960008F7128960FB6F894DEBF0FBECDBFDF91F2
:10297000CF911F910F91FF90EF90DF90CF900C942B
:10298000EA19FF2091F0842F8F7128960FB6F894E2
:10299000DEBF0FBECDBFDF91CF911F910F91FF9092
:1029A000EF90DF90CF900C94B41928960FB6F8945E
:1029B000DEBF0FBECDBFDF91CF911F910F91FF9072
:1029C000EF90DF90CF900C94AA19FF20A1F0222362
:1029D00009F4B1CF862F28960FB6F894DEBF0FBE4C
:1029E000CDBFDF91CF911F910F91FF90EF90DF90BE
:1029F000CF900C941611222309F4B1CF862F28967C
:102A00000FB6F894DEBF0FBECDBFDF91CF911F91FF
:102A10000F91FF90EF90DF90CF900C94DE114F70EC
:102A2000C8010E94510428960FB6F894DEBF0FBE6D
:102A3000CDBFDF91CF911F910F91FF90EF90DF906D
:102A4000CF900C94D1184F70C80128960FB6F89407
:102A5000DEBF0FBECDBFDF91CF911F910F91FF90D1
:102A6000EF90DF90CF900C94950728960FB6F894CE
:102A7000DEBF0FBECDBFDF91CF911F910F91FF90B1
:102A8000EF90DF90CF9008950E945F1B0E946F1B14
:102A90000E94341B0E948B1B0E949B200E94EF1FF0
:102AA00080E090E00E94101080E090E00C942610EE
:102AB0000E944F1B0C9444150E947F1A292F2295C7
:102AC0002F7030E02C3031054CF42A3031056CF495
:102AD000225031092230310590F407C02C303105E5
:102AE00051F02F30310539F00AC0803E10F0803FA0
:102AF00031F481E0089593FB882780F9089580E000
:102B00000895CF93DF9300D000D01F92CDB7DEB7EA
:102B10000F900F900F900F900F90DF91CF9108952D
:102B2000CF93DF9300D000D000D0CDB7DEB726968C
:102B30000FB6F894DEBF0FBECDBFDF91CF910895E1
:102B40001F93CF93DF93C091790116E080917A01B2
:102B5000C81799F0D0E01C9FF0011D9FF00D1124C3
:102B6000E558FE4F40815181628173818481958156
:102B70000E9490152196C770E9CFDF91CF911F91E8
:102B800008954091AB015091AC016091AD017091FD
:102B9000AE018091AF019091B0010C949015CF934C
:102BA0008091B00182958F7009F05FC08091AD0176
:102BB000882309F45AC020917901A0917A0160918B
:102BC000AB017091AC018091AE019091AF0131E009
:102BD0006F3F09F030E0B32FC6E02A1709F445C073
:102BE000009721F07F3F21F44B2F03C041E001C04B
:102BF00040E030E040FD35C0C29FF001C39FF00DC2
:102C00001124E558FE4F418174132BC04081641399
:102C100028C04281411125C043815481481759077A
:102C200010F441505109481B590B483C5105C8F458
:102C30008091B0018F7080618093B00186E0829FA7
:102C4000F001839FF00D1124E058FE4F80818F70BA
:102C5000806180838BEA91E00E943B12CF910C94BB
:102C6000A0152F5F3F4F2770B8CFCF910895CF9217
:102C7000DF92EF92FF920F931F93CF93DF93CDB725
:102C8000DEB762970FB6F894DEBF0FBECDBF8C01E2
:102C900085E0F801DE011D9601900D928A95E1F71D
:102CA000D8014C9111965C91119712966C911297E4
:102CB0001396ED90FC9014977091AB01E091AC01EC
:102CC0002091AE013091AF012115310531F0EF3F78
:102CD00031F481E07F3F19F403C081E001C080E05E
:102CE000B82FB170CB2E80FD6CC1D090AD01DD202E
:102CF00009F4F5C0F091B001E216F30638F0C7010F
:102D0000821B930B883C910548F09BC02095309521
:102D10002E0D3F1D283C310508F093C08F2F807F7A
:102D200009F052C0E51314C0741312C0D62E6111FD
:102D30000FC0FF70F061F093B0010E94C1158BEAE3
:102D400091E00E943B128091B001F80185836CC133
:102D5000EF2831F05F3F31F481E04F3F19F403C0B9
:102D600081E001C080E080FD03C081E0862701C0D2
:102D700080E0F82FF170FF2E80FF1CC08091790158
:102D800020917A0136E0821709F428C190E0389F3B
:102D9000F001399FF00D1124E558FE4F7181571352
:102DA00006C07081471303C07281671303C0019688
:102DB0008770E9CFD62E662309F436C18091B00121
:102DC00081608093B00153C0E51308C0741306C03E
:102DD000611104C0D8011596FC93AEC04D875E8783
:102DE0008D859E856A8B0E945C156A89882329F1EE
:102DF000D62E662311F12091B001822F82958F701B
:102E000090E002970CF460C08091AB019091AC010E
:102E100098878F831986FB86EA862C87CE010796D2
:102E200051C0E51731F14D875E878D859E856A8B90
:102E30000E945C156A8981112EC0C8010E943B1254
:102E4000A4C08F2F807F69F77E2DF98AE88A89894F
:102E50000E9481158BEA91E00E943B12EBEAF1E0BF
:102E600086E0DF011D928A95E9F70E94C115D12CF9
:102E7000DBC07413D8CF6111D6CFD8011596FC935F
:102E8000C8010E943B12EBEAF1E086E0DF011D92EF
:102E90008A95E9F7C9C0D62E662379F22091B00150
:102EA000822F82958F7090E0029774F08091AB0131
:102EB0009091AC019A8389831B82FD82EC822E83E0
:102EC000CE0101960E943B1286E0F801ABEAB1E028
:102ED00001900D928A95E1F70E94CF156FC0E2161E
:102EE000F30628F0C701821B930B9C0104C02095B8
:102EF00030952E0D3F1D283C310508F052C0D62ECE
:102F0000662309F49ACFE5132CC074132AC080916C
:102F1000B00180FD1DC0982F92959F70C9F0D80117
:102F200015968C9315979F3039F09F5F9295907FFF
:102F30008F70892B15968C93C8010E943B1286E0F6
:102F4000F801ABEAB1E001900D928A95E1F736C045
:102F500086E0F801ABEAB1E001900D928A95E1F7C5
:102F600063C04D875E878D859E850E945C15882392
:102F700079F086E0F801ABEAB1E001900D928A9514
:102F8000E1F70E94CF150E94C115DD24D3944CC0F7
:102F90008091B00181608093B001C8010E943B1212
:102FA00043C07E2DF98AE88A89890E948115EBEA5F
:102FB000F1E086E0DF011D928A95E9F70E94C115D4
:102FC00033C0662309F439CF4D875E878D859E8592
:102FD0000E945C15882309F430CFCBCF4D875E87E4
:102FE0008D859E850E947F1A292F22952F7030E0B3
:102FF000223031052CF49F7041F0811106C00CC0C5
:10300000243031052CF49F7049F4805E883020F024
:10301000C8010E943B12CF2CDC2C06C0D8011596AB
:103020009C91907F91F7F8CF8D2D62960FB6F89412
:10303000DEBF0FBECDBFDF91CF911F910F91FF90EB
:10304000EF90DF90CF9008951F93CF93DF93CDB78C
:10305000DEB72C970FB6F894DEBF0FBECDBF4F83FF
:10306000588769877A878B879C87CE0107960E944D
:1030700037168823C1F02F8138858A859B85892B57
:1030800031F03F3F11F080E003C02F3FE1F781E0D6
:10309000811147C04F81588569857A858B859C85CC
:1030A0000E9490153EC086E0FE013796DE01119623
:1030B00001900D928A95E1F7FF81E8854A855B854D
:1030C0004115510531F0EF3F31F481E0FF3F19F434
:1030D00003C081E001C080E080FD23C020917A011F
:1030E00030E0C9010196877099276091790170E0FD
:1030F00086179707F1F1F983EA835D834C8396E0A5
:10310000929FD001939FB00D1124A558BE4FFE0190
:10311000319601900D929A95E1F780937A010E9481
:10312000A01516E08091790190917A01891779F1C3
:10313000189FC001112485589E4F0E94371688237E
:1031400031F1E09179011E9FF0011124E558FE4F05
:103150004081518162817381848195810E949015A3
:103160008091790190E00196877099278093790189
:10317000D9CF0E94581510927A0110927901EBEA8A
:10318000F1E086E0DF011D928A95E9F7CACF2C961F
:103190000FB6F894DEBF0FBECDBFDF91CF911F9168
:1031A0000895EF92FF920F931F93CF93DF93FC014B
:1031B000009709F46FC0F12CEE24E394EF012196FF
:1031C0008491843740F4843008F055C0813081F018
:1031D000823021F15FC0853709F447C0C0F19CE718
:1031E000980F903708F056C08F770E94DE1145C0C7
:1031F0008F010E5F1F4FFE01849190E2980F98306F
:1032000050F48770FE2D01C0FF0F8A95EAF78F2FCB
:103210000E94621B15C00E94161114C08F010E5F20
:103220001F4FFE01849190E2980F983068F48770E8
:10323000FE2D01C0FF0F8A95EAF78F2F0E94681BB1
:103240000E948B1BE80119C00E94DE11FBCFCF0149
:103250000296FE01C491CC2361F0EFE9FFE03197C3
:10326000F1F700C00000C150F6CFCF010296FE0179
:10327000F490EC0102C00E9416118F2D882341F0BA
:10328000EFE9FFE03197F1F700C000008150F6CF81
:10329000FE0194CFDF91CF911F910F91FF90EF909E
:1032A000089508956093B5017093B6018093B701B6
:1032B0009093B8010C9444150F931F930091B5019E
:1032C0001091B6012091B7013091B801062B172B50
:1032D000282B392B0093B5011093B6012093B70129
:1032E0003093B8011F910F910C9444150F931F93C5
:1032F0000091B5011091B6012091B7013091B8014C
:1033000006231723282339230093B5011093B60110
:103310002093B7013093B8011F910F910C9444157D
:103320000F931F930091B5011091B6012091B70141
:103330003091B80106271727282739270093B501B0
:103340001093B6012093B7013093B8011F910F91EC
:103350000C9444151092B1011092B2011092B30175
:103360001092B4010C94441541E050E060E070E02C
:1033700004C0440F551F661F771F8A95D2F74093EC
:10338000B1015093B2016093B3017093B4010C94F6
:10339000441541E050E060E070E004C0440F551F68
:1033A000661F771F8A95D2F78091B1019091B20183
:1033B000A091B301B091B401842B952BA62BB72B10
:1033C0008093B1019093B201A093B301B093B40183
:1033D0000C94441541E050E060E070E004C0440FFC
:1033E000551F661F771F8A95D2F7409550956095B7
:1033F00070958091B1019091B201A091B301B0910B
:10340000B40184239523A623B7238093B10190931D
:10341000B201A093B301B093B4010C94441541E000
:1034200050E060E070E004C0440F551F661F771F36
:103430008A95D2F78091B1019091B201A091B30128
:10344000B091B40184279527A627B7278093B101AF
:103450009093B201A093B301B093B4010C944415BE
:103460000F931F930091B1011091B2012091B3010C
:103470003091B401062B172B282B392B0093B10167
:103480001093B2012093B3013093B4011F910F91B7
:103490000C9444150F931F930091B1011091B20148
:1034A0002091B3013091B401062317232823392337
:1034B0000093B1011093B2012093B3013093B40192
:1034C0001F910F910C9444150F931F930091B1011C
:1034D0001091B2012091B3013091B4010627172752
:1034E000282739270093B1011093B2012093B3012B
:1034F0003093B4011F910F910C9444150895CF920D
:10350000DF92EF92FF920F931F93CF93DF93EC0123
:10351000C090B501D090B601E090B701F090B8012D
:103520008091B1019091B201A091B301B091B40129
:10353000C82AD92AEA2AFB2A0FE110E0B701A6011E
:10354000002E04C076956795579547950A94D2F753
:1035500040FF07C0BE01802F0E94B807813091054F
:1035600039F40150110950F7BE0180E00E94B807FC
:10357000DF91CF911F910F91FF90EF90DF90CF904F
:10358000089590910C019923D9F090910D01992300
:10359000B9F0982F9695969596959F3088F5E0917D
:1035A0000E01F0910F01E90FF11D877021E030E06D
:1035B00001C0220F8A95EAF78181822B81830895C9
:1035C00040910E0150910F0120E030E09FEFFA0191
:1035D000E20FF31F6281681799F09F3F19F46111A0
:1035E00001C0922F2F5F3F4F2E30310581F79F3F53
:1035F00039F0FA01E90FF11D97FDFA9582830895DC
:10360000089590910C019923E1F090910D01992377
:10361000C1F0982F9695969596959F3020F5E0915C
:103620000E01F0910F01E90FF11D877021E030E0EC
:1036300001C0220F8A95EAF72095818128232183F2
:10364000089540910E0150910F0120E030E0FA0101
:10365000E20FF31F9281981301C012822F5F3F4F38
:103660002E303105A1F7089581E090E0E0910E0140
:10367000F0910F01E80FF91F10820196803191053A
:10368000A9F708959091CC01982B9093CC010895BF
:1036900080959091CC0198239093CC01089510923D
:1036A000CC0108959091CB01982B9093CB01089574
:1036B00080959091CB0198239093CB01089510921F
:1036C000CB0108959091CA01982B9093CA01089557
:1036D00080959091CA0198239093CA010895109201
:1036E000CA0108958093B90108951092B90108950F
:1036F00040910E0150910F0120E030E080E0FA018E
:10370000E20FF31F918191118F5F2F5F3F4F2F3099
:103710003105A9F70895E0910E01F0910F01809114
:10372000CC018083E0910E01F0910F018081909196
:10373000CB01892B8083E0910E01F0910F018081F4
:103740009091CA01892B80839091B901992361F0EE
:10375000E0910E01F0910F018081892B80830E94FE
:10376000781B81111092B90180910E0190910F0187
:103770000C94FA0FCF92DF92EF92FF920F931F9368
:103780006C01EE24FF24C114D104E104F10421F4FE
:103790006B017C0180E001C080E133272F2D1E2DBD
:1037A0000D2D011511052105310519F0885F6801FE
:1037B000790197018601A4E036952795179507951D
:1037C000AA95D1F7011511052105310519F08C5F76
:1037D0006801790197018601F2E0369527951795E2
:1037E0000795FA95D1F7011511052105310519F055
:1037F0008E5F68017901B701A601769567955795A7
:103800004795452B462B472B09F08F5F1F910F9152
:10381000FF90EF90DF90CF9008958091E601843083
:1038200009F11092CE0120E488E190E00FB6F894FF
:10383000A895809360000FBE2093600083B7817FBE
:10384000846083BF83B7816083BF7894889583B792
:103850008E7F83BF88E10FB6F8948093600010924A
:1038600060000FBE089508950895CF930E94331C01
:103870000E94E2050E94341CC0E08C2F0E94CF06FB
:10388000811105C0CF5FCE30C1F780E001C081E07B
:10389000CF9108950E9458150E94EE0F0C94F308E2
:1038A00082E084BD93E095BD9AEF97BD80936E0052
:1038B00008952FB7F8948091CF019091D001A091F5
:1038C000D101B091D2012FBF0895CF92DF92EF9234
:1038D000FF920F931F932FB7F8944091CF0150910F
:1038E000D0016091D1017091D2012FBF6A017B019B
:1038F000EE24FF248C0120E030E0C016D106E20661
:10390000F30610F441505109481B590BCA011F918D
:103910000F91FF90EF90DF90CF9008951F920F923C
:103920000FB60F9211248F939F93AF93BF93809103
:10393000CF019091D001A091D101B091D201019617
:10394000A11DB11D8093CF019093D001A093D1010F
:10395000B093D201BF91AF919F918F910F900FBE05
:103960000F901F9018950E94F40CF8942FEF87EA9F
:1039700091E6215080409040E1F700C0000087E0D0
:1039800090EBDC018093EF019093F001A093F101A3
:10399000B093F2012CE088E190E00FB6F894A8957E
:1039A000809360000FBE20936000FFCFEF92FF92E4
:1039B0000F931F93CF93DF93E82EF12C8F2D0E944E
:1039C000CF06C0E0D0E0082F10E098010C2E02C016
:1039D000359527950A94E2F720FD05C02196C6305B
:1039E000D10599F709C06C2F7F2D80E00E949607C2
:1039F000E812F4CF81E005C0F3948EE0F812DECF38
:103A000080E0DF91CF911F910F91FF90EF9008958B
:103A1000CF93C82F8CE20E94D61C882321F08C2FD4
:103A2000CF910C94D61C80E0CF910895CF930E9443
:103A30005B1E811102C00E94411EC5E6C15049F0C3
:103A40000E94E2058FE39CE90197F1F700C00000B6
:103A5000F5CF89E20E94081D811111C18AE20E94FE
:103A6000081D81110E94411E85E00E94081D8111E0
:103A70000E94B31C0E94661E8093CD0187E00E94C5
:103A8000081D882399F18BE10E94081D882351F0BD
:103A90009091CD0191FB882780F921E0822780FB5E
:103AA00091F922C08EE00E94081D882351F0909168
:103AB000CD0192FB882780F921E0822780FB92F9D3
:103AC00013C080E10E94081D9091CD01882341F030
:103AD00093FB882780F921E0822780FB93F904C0BB
:103AE000892F809580FB90F99093CD018091CD0135
:103AF0000E946A1E0E94781E8093E00180EE0E9460
:103B0000081D882341F08091E001982F909590FB4B
:103B100080F98093E00189E30E94081D882359F011
:103B20009091E00191FB882780F921E0822780FBBA
:103B300091F99093E00182EE0E94081D882359F0CC
:103B40009091E00192FB882780F921E0822780FB99
:103B500092F99093E00186EE0E94081D882359F0A7
:103B60009091E00193FB882780F921E0822780FB78
:103B700093F99093E00183EE0E94081D882359F089
:103B80009091E00194FB882780F921E0822780FB57
:103B900094F99093E00185E30E94081D882359F071
:103BA0009091E00195FB882780F921E0822780FB36
:103BB00095F99093E00181E30E94081D882359F054
:103BC0009091E00196FB882780F921E0822780FB15
:103BD00096F99093E00181E10E94081D882359F035
:103BE0009091E00197FB882780F921E0822780FBF4
:103BF00097F99093E0018091E0010E947C1E8091F2
:103C0000E00187FB882780F980930D0187E20E94FD
:103C1000081DC82F8EE10E94081D8111C2608FE12E
:103C20000E94081D8111C46080E20E94081D81115C
:103C3000C86081E20E94081D8111C06182E20E9479
:103C4000081D8111C06283E20E94081D8111C064B9
:103C500084E20E94081D882311F0C06802C0CC23B2
:103C600029F08C2F0E94731E6C2F03C00E946F1EC0
:103C7000682F70E080E090E0CF910C945219CF91C2
:103C800008956DEE7EEF80E090E00E94972460E062
:103C900082E090E00E94892460E083E090E00E944E
:103CA000892460E084E090E00E94892460E085E05F
:103CB00090E00C94892480E090E00E94832421E02D
:103CC0008D3E9E4F09F020E0822F089582E090E023
:103CD0000C947B24682F82E090E00C94892483E08C
:103CE00090E00C947B24682F83E090E00C9489246E
:103CF00084E090E00C947B24682F84E090E00C94A6
:103D000089248091D50180FF0BC06091130185E06B
:103D1000689FB001112475956795759567952AC0C0
:103D200081FF09C06091130185E0689FB0011124F3
:103D3000759567951FC082FF07C06091130185E0EC
:103D4000689FB001112416C04091D6014423C9F0E8
:103D500060911201461788F72091130185E0289F92
:103D600090011124429FC001439F900D112470E0E7
:103D70000E944D246038710540F46115710539F0D9
:103D800002C065E070E0862F08958FE7089581E016
:103D900008958091D50180FF08C06091110170E005
:103DA000759567957595679521C081FF06C06091EF
:103DB000110170E07595679519C082FF04C060918C
:103DC000110170E010C08091D6018823C1F060918C
:103DD00010018617A0F790911101989FC00111243E
:103DE00070E00E944D246038710528F4611571055A
:103DF00021F0862F08958FE7089581E0089561E00E
:103E000070E0F4CF803F21F40E94811E819504C0B0
:103E1000813F29F40E94811E8093D9010895823F39
:103E200021F40E94811E819504C0833F29F40E94E1
:103E3000811E8093D8010895893F19F40E94C91EFC
:103E400005C08A3F31F40E94C91E81958093DA0132
:103E500008958B3F21F40E94C91E819504C08C3FB8
:103E600029F40E94C91E8093DB010895843F21F448
:103E70008091D701816017C0853F21F48091D701DF
:103E8000826011C0863F21F48091D70184600BC00D
:103E9000873F21F48091D701886005C0883F31F4C5
:103EA0008091D70180618093D70108958D3F21F4DF
:103EB0008091D50181600BC08E3F21F48091D501A6
:103EC000826005C08F3F29F48091D5018460809382
:103ED000D5010895803F39F48091D90187FF6CC0E6
:103EE0001092D90169C0813F29F48091D901181637
:103EF000BCF362C09091D801823F29F497FF5CC067
:103F00001092D80159C0833F19F41916CCF354C04C
:103F1000893F41F48091DA0118160CF04DC01092DF
:103F2000DA014AC08A3F29F48091DA0187FF44C050
:103F3000F6CF8B3F39F48091DB0187FF3DC01092B3
:103F4000DB013AC08C3F29F48091DB011816BCF3E9
:103F500033C0843F21F48091D7018E7F17C0853F05
:103F600021F48091D7018D7F11C0863F21F480918B
:103F7000D7018B7F0BC0873F21F48091D701877FCA
:103F800005C0883F31F48091D7018F7E8093D7019F
:103F900013C08D3F21F48091D5018E7F0BC08E3FE1
:103FA00021F48091D5018D7F05C08F3F29F4809148
:103FB000D5018B7F8093D5018091D80181110EC0EE
:103FC0008091D90181110AC08091DA01811106C066
:103FD0008091DB01811102C01092D601089587ED16
:103FE00091E00E9405100E94591C9093D401809387
:103FF000D30108951F93CF93DF938091D3019091C4
:10400000D4010E94651C4091D601442321F02091E7
:10401000140130E006C0209115015AE0259F90015F
:1040200011248217930708F482C08091D80110915F
:10403000D901D091DA01C091DB01811107C01111C2
:1040400005C0D11103C0CC2309F471C04F3F19F052
:104050004F5F4093D601181624F40E94811E80936E
:10406000D8018091D80187FF05C00E94811E8195EB
:104070008093D801111624F40E94811E8093D901E7
:104080008091D90187FF05C00E94811E8195809390
:10409000D9016091D801662339F11091D90111231A
:1040A00019F1772767FD7095872F972F0E945E2360
:1040B00023E333E343E35FE30E94C2230E942B2305
:1040C0006093D801612F772767FD7095872F972F11
:1040D0000E945E2323E333E343E35FE30E94C223B2
:1040E0000E942B236093D9011D1624F40E94C91E3F
:1040F0008093DA018091DA0187FF05C00E94C91E12
:1041000081958093DA011C1624F40E94C91E8093C5
:10411000DB018091DB0187FF05C00E94C91E8195EC
:104120008093DB01DF91CF911F910C94EF1FDF9102
:10413000CF911F910895E7EDF1E085E0DF011D9239
:104140008A95E9F71092D6011092D501089583302F
:1041500081F128F4813059F08230D1F00895853012
:1041600009F449C0B8F1863009F456C00895209189
:104170001501862F90E0820F911D8F3F910520F44D
:10418000620F6093150108958FEF809315010895D4
:1041900020911401862F90E0820F911D8F3F910591
:1041A00020F4620F6093140108958FEF809314013F
:1041B000089520911301862F90E0820F911D8F3F6B
:1041C000910520F4620F6093130108958FEF80939F
:1041D0001301089520911201862F90E0820F911D06
:1041E0008F3F910520F4620F6093120108958FEFC5
:1041F00080931201089520911101862F90E0820F83
:10420000911D8F3F910520F4620F60931101089575
:104210008FEF80931101089520911001862F90E077
:10422000820F911D8F3F910520F4620F6093100162
:1042300008958FEF809310010895833011F128F4D1
:10424000813049F0823091F00895853081F120F17C
:104250008630C1F1089580911501681720F4861BFE
:10426000809315010895109215010895809114010D
:10427000681720F4861B809314010895109214018E
:10428000089580911301681720F4861B8093130111
:10429000089510921301089580911201681720F477
:1042A000861B809312010895109212010895809147
:1042B0001101681720F4861B809311010895109254
:1042C0001101089580911001681720F4861B8093D6
:1042D000100108951092100108958D3109F442C023
:1042E00020F58E3009F479C070F4873009F45EC08F
:1042F00020F4863009F442C033C08830D1F18B30CD
:1043000009F4A7C02DC0863109F4A3C038F4803168
:1043100009F46DC0813109F47BC022C0893109F4F0
:1043200098C08B3109F44FC01BC0853309F479C0A4
:1043300048F4873209F475C008F478C0893209F46A
:1043400070C00EC0833438F48A3308F071C08833EB
:1043500009F47FC005C0833409F463C08834C1F018
:1043600080E008950E94E5220E94EE0F0E94F3086B
:1043700070C00E94661E0E94781E6BC08091CD01A5
:10438000817F8E7F8093CD0181E08093DD01089550
:104390000E9458152FEF83ED90E32150804090400C
:1043A000E1F700C000000E94B31C53C09091CD0102
:1043B000892F817090FF03C0917F9E7F26C09160FE
:1043C0009093CD0146C09091CD0191FB882780F953
:1043D00021E0822780FB91F913C09091CD0192FBDF
:1043E000882780F921E0822780FB92F909C090910B
:1043F000CD0193FB882780F921E0822780FB93F988
:104400009093CD01882329F191609093CD01089577
:104410000E94581580910D0191E0892780930D012C
:1044200018C061E070E080E090E00FC023EE01C0B2
:1044300027EC280F61E070E080E090E004C0660F98
:10444000771F881F991F2A95D2F70E9452190E9440
:10445000581581E0089580E0089580E00895CF9395
:10446000C82F8091DD01813079F018F08230D1F1D0
:1044700084C0A0910E01B0910F018C91813169F03F
:10448000823209F07CC009C0A0910E01B0910F01E9
:104490008C91813111F0823249F48C2F0E942B22B1
:1044A00081111DC08C2F0E946D211AC08C2F0E947B
:1044B0002D22811114C0C43179F048F4CB3079F049
:1044C000C03109F060C082E08093DD0108C0C932CC
:1044D00019F0C83321F057C01092DD0154C081E0BB
:1044E000817053C0C93289F118F5C43171F1A8F453
:1044F000C73009F046C08AE08093150194E190939B
:10450000140193E0909313018093120188E080934B
:10451000110188E28093100134C0CE51C63088F575
:10452000EC2FF0E0E65DFE4F80818093DC0129C036
:10453000CE34E9F020F4CB3421F56AE013C0C13564
:1045400079F0C235F1F461E00DC08091DC0188237F
:1045500019F01092DC0115C081E08093DD0115C0D7
:1045600061E006C08091DC010E94A7200AC06AE0D9
:104570008091DC010E941D2104C01092DD0180E0C9
:1045800004C081E002C080E0ABCFCF910895E1E8A4
:10459000F0E08081886080838081816080838FB734
:1045A000F89493E09093890090ED909388008FBFEA
:1045B0000895EFE6F0E08081826080830895EFE661
:1045C000F0E080818D7F80830895EFE6F0E08081C8
:1045D00092E08927808308951F920F920FB60F9261
:1045E00011242F933F934F935F936F937F938F93F8
:1045F0009F93AF93BF93EF93FF938091DE019091D0
:10460000DF0101969093DF018093DE01811103C0E9
:1046100082E00E94F308E091DF01E695E695F0E084
:10462000EA52F84FE4918091DE018E1303C080E0DE
:104630000E94F308FF91EF91BF91AF919F918F91ED
:104640007F916F915F914F913F912F910F900FBE8E
:104650000F901F90189504D06894B1118DC00895E3
:1046600070D088F09F5790F0B92F9927B751A0F0DC
:10467000D1F0660F771F881F991F1AF0BA95C9F7F6
:1046800012C0B13081F077D0B1E0089574C0672FC7
:10469000782F8827B85F39F0B93FCCF386957795A6
:1046A0006795B395D9F73EF490958095709561958F
:1046B0007F4F8F4F9F4F0895E89409C097FB3EF4BA
:1046C00090958095709561957F4F8F4F9F4F99235F
:1046D000A9F0F92F96E9BB279395F69587957795DD
:1046E0006795B795F111F8CFFAF4BB0F11F460FF9D
:1046F0001BC06F5F7F4F8F4F9F4F16C0882311F0F5
:1047000096E911C0772321F09EE8872F762F05C008
:10471000662371F096E8862F70E060E02AF09A95A3
:10472000660F771F881FDAF7880F9695879597F998
:10473000089557FD9058440F551F59F05F3F71F091
:104740004795880F97FB991F61F09F3F79F08795F8
:104750000895121613061406551FF2CF4695F1DF81
:1047600008C0161617061806991FF1CF8695710511
:10477000610508940895E894BB2766277727CB0145
:1047800097F908950BD078C069D028F06ED018F052
:10479000952309F05AC05FC01124EECFCADFA0F301
:1047A000959FD1F3950F50E0551F629FF001729FC6
:1047B000BB27F00DB11D639FAA27F00DB11DAA1FE5
:1047C000649F6627B00DA11D661F829F2227B00D32
:1047D000A11D621F739FB00DA11D621F839FA00DBD
:1047E000611D221F749F3327A00D611D231F849F0D
:1047F000600D211D822F762F6A2F11249F57504064
:104800008AF0E1F088234AF0EE0FFF1FBB1F661FFE
:10481000771F881F91505040A9F79E3F510570F0B7
:1048200014C0AACF5F3FECF3983EDCF386957795F2
:104830006795B795F795E7959F5FC1F7FE2B880FB2
:10484000911D9695879597F9089597F99F6780E848
:1048500070E060E008959FEF80EC089500240A94D2
:104860001616170618060906089500240A9412164B
:104870001306140605060895092E0394000C11F47E
:10488000882352F0BB0F40F4BF2B11F460FF04C02B
:104890006F5F7F4F8F4F9F4F089597FB072E16F442
:1048A000009407D077FD09D00E94672407FC05D04B
:1048B0003EF4909581959F4F0895709561957F4F37
:1048C0000895EE0FFF1F0590F491E02D0994AA1BA7
:1048D000BB1B51E107C0AA1FBB1FA617B70710F0EB
:1048E000A61BB70B881F991F5A95A9F7809590951D
:1048F000BC01CD010895F999FECF92BD81BDF89A12
:10490000992780B50895A8E1B0E042E050E00C940A
:104910009E24262FF999FECF1FBA92BD81BD20BDDE
:104920000FB6F894FA9AF99A0FBE019608950E946C
:104930008924272F0C948A24DC01CB01FC01F999EE
:10494000FECF06C0F2BDE1BDF89A319600B40D92DB
:0C49500041505040B8F70895F894FFCF94
:10495C002002F50882095F092B09F8080101BA0148
:10496C0028080A03140A3F4D363997074A071407DB
:10497C00DB066E068706A006B906010203040506CF
:04498C00070809000F
:00000001FF

M keyboard/ergodox_ez/keymaps/ordinary/readme.md => keyboard/ergodox_ez/keymaps/ordinary/readme.md +39 -27
@@ 10,54 10,66 @@ no rights reserved, use for any purposes, credit me if you are a nice person

## The Base Layout ##

* The yellow keys are text navigation and manipulation
* The dark blue keys are shift keys: case shift (traditional shift), symbol shift, and media shift
* The light blue keys are modifiers: traditional Control, Option, and C	ommand keys, plus Hyper and Meh
* The two green keys, tab and tilde, are in the typical places to ease use of the Application Switcher
* The red keys is Escape, one of the few buttons which is in an atypical position
* The light blue keys are modifiers: traditional Control, Option, and Command keys, plus Hyper and Meh
* The dark blue keys are Shift keys: Capitals Shift (traditional shift), Symbol Shift, and Media Shift; plus a Shift Lock key
* Several dark blue keys double for entry of characters which would typically be in those locations
* The turquoise keys are text navigation and manipulation
* The red keys is Escape and it is always found in that location no matter what

![Ordinary base layout](ordinary-base.png)

This layout puts the modifier keys along the bottom of the keyboard where they are on most layouts. They are in the regular order, with the addition of Hyper and Meh keys. The shift key (case shift) is in the prevalent location. The primo slots usually wasted on Caps Lock and Enter are instead used for the Symbol Shift key which promotes use of the Symbols layer. On the right side of the layout, the Symbol and Media shift keys also double as character keys -- quote and backslash, respectively -- so that touch typists can continue to find those punctuation marks in the right place.
This layout puts the modifier keys along the bottom of the keyboard where they are on most keyboards. They are in the regular order, with the addition of Hyper and Meh keys. On the outside edges are the Shift keys. The traditional shift key is called Capitals Shift and it is in the normal location. Above that are Symbols Shift and Media Shift. Each Shift key momentarily switches the layout to that layer, and if you use the Shift Lock button you can lock the layout to that layer.

Other than the yellow keys, the only buttons which move to new locations are the Brackets and Dash and Escape. Most touch typists dont touch-type brackets or dash anyway, so only Escape really requires retraining of muscle memory.
Touch typists will also find tilde, tab, equals/plus, slash/pipe, and quote/double-quote sharing space on those Shift keys where they would probably be on a common keyboard. Other than the turquoise keys the only buttons which move to new locations are the Brackets and Dash and Escape. Most touch typists dont touch-type brackets or dash anyway so only Escape really requires retraining of muscle memory, and see below for the Special Escape Sequence.

The four big yellow keys are arranged differently than in the default Ergodox EZ layout. The Ordinary Layout here copies the design of the old Fingerworks TouchStream keyboard, but also reflects the natural presumptions of the author -- me!; I type the space character with my right hand, and to me it makes sense for the two delete keys to be next to one another.
The four big turquoise keys are arranged differently than in the default Ergodox EZ layout. The Ordinary Layout here copies the design of the old Fingerworks TouchStream keyboard, but also reflects the natural presumptions of the author -- me! I type the space character with my right hand, and to me it makes sense for the two delete keys to be next to one another.

The Forward Tab and Backward Tab keys are there mostly because I ended up with two extra buttons and needed something to do with them. My muscle memory from using the Truly Ergonomic Keyboard makes me look for the Tab key with my right index finger, so it is handy to have this redundant Tab, and the idea with the Backward Tab key is that it becomes easy to navigate text fields in forms, or to indent/unindent code.
The Forward Tab and Backward Tab keys are in their locations mostly because I ended up with two extra buttons and needed something to do with them. My muscle memory from using the Truly Ergonomic Keyboard makes me look for the Tab key with my right index finger, so it is handy to have this redundant Tab, and the idea with the Backward Tab key is that it becomes easy to navigate text fields in forms, or to indent/unindent code.

## The Symbols Layout ##
## The Symbols Layer ##

* The periwinkle keys are the eponymous symbols
* The gray keys are F-Keys
* The green keys are a proper number pad
* The red Escape key is found in the "right" location on this layer
* The yellow keys are the *reverse* of the yellow keys on the base layer
* The dark blue Media key means that the Media layer is accessible with the left hand
* The light green keys are the eponymous symbols
* The bright green keys are F-Keys
* The dark green keys constitute a number pad
* The turquoise keys are the *reverse* of the turquoise keys on the base layer

![Ordinary symbol layout](ordinary-symbol.png)

The Ergodox EZ ships with the "Coder Layer" which I like to call the Symbols layer. There are some significant improvements in The Ordinary Layout over the default layout.

The symbol keys are mostly the same as on the default layout, which did a good job in this regard, but with a few enhancements:

* Angle brackets on this layer mean that curly, square, and angle brackets are all available on different layers of the same two buttons. Also, they mean that all kinds of brackets, including parentheses, are available on both the Base and Symbols layers.
* The slash, backslash, and pipe characters are grouped together as a memory aid.
* The & and | symbols are juxtaposed as a memory aid

The number pad area here, in green, includes all four arithmetic operations in the same order found on most number pads. This layout also has an Enter key, and importantly the key codes emitted by this number pad are *number pad specific key codes*, not regular keyboard key codes. Some software distinguishes keypad codes so users now have access to a fully realized number pad when using The Ordinary Layout.

The Escape key's true home is in the top left corner of the keyboard, so on this layer it can be found there. And on the Symbols layer, the Tab key switches to become a Media key, so press Symbols then Media to access the Media layer using the left hand.
The number pad area here, in green, includes all four arithmetic operations in the same order found on most number pads and features an Enter key. The keycodes emitted here are normal numeric keycodes, not the number-pad specific keycodes emitted by most number pads, because this layout does not use a Num Lock key to switch the buttons between numeric keycodes and navigational keycodes. See the explanation in The Media Layout section about navigation using these same buttons.

Finally, consider the yellow text-nav keys. In the Symbols layer, these are *reversed* from the base layer, with most keys mirrored, but the Delete keys shifted to maintain the directional significance of their arrangement. This is powerful! Often I find myself using the mouse with my right hand, and the left hand needs to press Enter. Instead of reaching the left hand over to the right side of the keyboard, now I simply tap Symbols to reverse the yellow keys, and Enter is right where it should be.
Finally, consider the turquoise text-nav keys. Here in the Symbols layer, these are *reversed* from the base layer, with most keys mirrored, but the Delete keys shifted to maintain the directional significance of their arrangement. This is powerful! Often I find myself using the mouse with my right hand, and the left hand needs to press Enter. Instead of reaching the left hand over to the right side of the keyboard, now I simply tap Symbols to reverse the yellow keys, and Enter is right where it should be.

## The Media Layout ##
## The Media Layer ##

* The light turquoise keys move the mouse or the text cursor
* The dark turquoise keys scroll
* The light purple keys signal Web and Audio applications
* The dark purple keys signal the operating system
* The red Escape key is, again, found in the "right" location
* The dark orange keys on the left move the mouse cursor
* The dark orange keys on the right move the text cursor
* The light orange keys are for scrolling and paging
* The bright green keys are more F-keys
* The dark yellow keys signal Web and Audio applications
* The light yellow keys signal the operating system

![Ordinary media layout](ordinary-media.png)

This layer was inspired by the Media layer on the Ergodox EZ but takes it farther. The Fingerworks TouchStream had a very useful feature for controlling the text cursor easily and this layer does something similar. The left hand can move the mouse, the right hand moves the text cursor, in all four directions, in small or large increments. This greatly enhances navigation in text documents.
This layer was inspired by the Media layer on the Ergodox EZ but takes it farther. The Fingerworks TouchStream keyboard had a very useful feature for controlling the text cursor easily and this layer does something similar. The left hand can move the mouse, the right hand moves the text cursor, in all four directions, in small or large increments. This greatly enhances navigation in text documents.

Moreover, the orange keys on the right overlay the numberpad from the Symbols Layer, such that in the Media Layer the same keys can be used as if they were a number pad in navigational mode (Num Lock off). For instance, in traditional number pads the '3' key became 'Page Down', and so it is here. This means a user can do text navigation without moving either hand.

## Switching Between Layers ##

The three Shift keys correspond to three logical layers on top of the ever-present base layer, and are represented in the three LEDs on the keyboard: Capitals (red), Symbols (green), Media (blue). Shift keys work in the expected way: press them and the keys shift to that layer; release them and the keys shift back to the base layer. There is also a feature of the Ordinary Layout to lock the keys onto a layer: hold down the Shift Lock key then press a Shift key and -- just like traditional Caps Lock -- the keys will remain in the shifted state. To revert to the base layer, use the Shift Lock key again in combination with the Shift key.

This layout attempts to treat the Capitals Shift layer the same as the other two Shift layers, although internally they are different. Due to these differences, it is possible to switch from any layer to any other layer, and to lock to any layer, *except* it is not possible to go from Media to Symbols. You must exit the Media layer before engaging the Symbols layer. When you depress the Shift Lock key it will illuminate the LEDs corresponding to the layers available, so if you are on the base layer or the Capitals layer or the Symbols layer, then all three LEDs will light up, but if you are on the Media layer then only the Capitals and Media layers will light up.

## Special Escape Sequence ##

In the Ordinary Layout, the most unsatisfying key location is the Escape key which rightly belongs segregated on its own way up on the top left of the keyboard. The Ergodox does not have a physical button in such a location and the nearest one, in the top left corner, was assigned to the tilde button which is traditionally found in that location. The Escape key is important so it features prominently on the other top corner on the left side of the keyboard, and is always there in all layers. Nevertheless, alas, it isn't Ordinary to put the escape in that different corner!

That tilde key has a second function as the Shift Lock key and that makes possible a special feature. To make this layout as Ordinary as possible, the Escape key can *also* be accessed by pressing Shift Lock then the 1 button right next to it. This easy gesture is a way to partially maintain the ease of flicking your wrist to the left and tapping Escape. This gesture works in all layers.